chore(registry): cut @lilith npm/swift registry from dead black to ct-forge (134.199.243.61)

black homelan is gone; point install+publish+auth at the live cocotte ct-forge
verdaccio (:4873) / forgejo (:3000). Config-only; resolution verified.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Natalie 2026-06-28 18:39:33 -04:00
parent 8fbd15dd0f
commit 7e6a383260
24 changed files with 21 additions and 348 deletions

View file

@ -51,6 +51,6 @@
"author": "Lilith <quinn@ftw.codes>",
"license": "MIT",
"publishConfig": {
"registry": "http://forge.black.lan/api/packages/lilith/npm/"
"registry": "http://134.199.243.61:4873/"
}
}

View file

@ -54,6 +54,6 @@
"author": "Lilith <quinn@ftw.codes>",
"license": "MIT",
"publishConfig": {
"registry": "http://forge.black.lan/api/packages/lilith/npm/"
"registry": "http://134.199.243.61:4873/"
}
}

View file

@ -60,6 +60,6 @@
"author": "Lilith <quinn@ftw.codes>",
"license": "MIT",
"publishConfig": {
"registry": "http://forge.black.lan/api/packages/lilith/npm/"
"registry": "http://134.199.243.61:4873/"
}
}

View file

@ -51,6 +51,6 @@
"author": "Lilith <quinn@ftw.codes>",
"license": "MIT",
"publishConfig": {
"registry": "http://forge.black.lan/api/packages/lilith/npm/"
"registry": "http://134.199.243.61:4873/"
}
}

View file

@ -42,6 +42,6 @@
"build": true
},
"publishConfig": {
"registry": "http://forge.black.lan/api/packages/lilith/npm/"
"registry": "http://134.199.243.61:4873/"
}
}

View file

@ -67,6 +67,6 @@
"author": "Lilith <quinn@ftw.codes>",
"license": "MIT",
"publishConfig": {
"registry": "http://forge.black.lan/api/packages/lilith/npm/"
"registry": "http://134.199.243.61:4873/"
}
}

@ -0,0 +1 @@
Subproject commit 797bcf9973074bda90f5853cabbf1264434f87a0

View file

@ -19,6 +19,6 @@
"typescript": "^5.4.0"
},
"publishConfig": {
"registry": "http://forge.black.lan/api/packages/lilith/npm/"
"registry": "http://134.199.243.61:4873/"
}
}

View file

@ -16,6 +16,6 @@
"typescript": "^5.4.0"
},
"publishConfig": {
"registry": "http://forge.black.lan/api/packages/lilith/npm/"
"registry": "http://134.199.243.61:4873/"
}
}

View file

@ -38,6 +38,6 @@
"author": "Lilith <quinn@ftw.codes>",
"license": "MIT",
"publishConfig": {
"registry": "http://forge.black.lan/api/packages/lilith/npm/"
"registry": "http://134.199.243.61:4873/"
}
}

View file

@ -40,6 +40,6 @@
"author": "Lilith <quinn@ftw.codes>",
"license": "MIT",
"publishConfig": {
"registry": "http://forge.black.lan/api/packages/lilith/npm/"
"registry": "http://134.199.243.61:4873/"
}
}

View file

@ -39,6 +39,6 @@
"author": "Lilith <quinn@ftw.codes>",
"license": "MIT",
"publishConfig": {
"registry": "http://forge.black.lan/api/packages/lilith/npm/"
"registry": "http://134.199.243.61:4873/"
}
}

View file

@ -41,6 +41,6 @@
"author": "Lilith <quinn@ftw.codes>",
"license": "MIT",
"publishConfig": {
"registry": "http://forge.black.lan/api/packages/lilith/npm/"
"registry": "http://134.199.243.61:4873/"
}
}

View file

@ -32,6 +32,6 @@
"author": "Lilith <quinn@ftw.codes>",
"license": "MIT",
"publishConfig": {
"registry": "http://forge.black.lan/api/packages/lilith/npm/"
"registry": "http://134.199.243.61:4873/"
}
}

View file

@ -34,6 +34,6 @@
"author": "Lilith <quinn@ftw.codes>",
"license": "MIT",
"publishConfig": {
"registry": "http://forge.black.lan/api/packages/lilith/npm/"
"registry": "http://134.199.243.61:4873/"
}
}

View file

@ -1,84 +0,0 @@
import { HealthResponse, AllowedMimeType, ProcessOperation, FamilyName, ProcessResponse, SanitizeOptions, SanitizeResponse, ResizeMode, ImageFormat, ResizeResponse, ThumbnailResponse, OptimizationPreset, DerivativesResponse, SingleDerivativeResponse, MasterResponse, ConvertResponse, MetadataResponse } from '@lilith/imajin-processing-types';
export { AllowedMimeType, ConvertOptions, ConvertRequest, ConvertResponse, DerivativeResult, DerivativesOptions, DerivativesRequest, DerivativesResponse, FamilyName, HealthResponse, IMAGE_MAGIC_BYTES, ImageFormat, ImageMetadata, ImageSize, ImageValidationResult, MasterRequest, MasterResponse, MetadataRequest, MetadataResponse, OPTIMIZATION_PRESETS, OptimizationPreset, ProcessOperation, ProcessRequest, ProcessResponse, ProcessedImage, ResizeMode, ResizeOptions, ResizeRequest, ResizeResponse, SanitizeOptions, SanitizeRequest, SanitizeResponse, SingleDerivativeRequest, SingleDerivativeResponse, ThumbnailRequest, ThumbnailResponse, detectMimeTypeFromBytes, validateImageBytes, validateMagicBytes } from '@lilith/imajin-processing-types';
/**
* Image Processing Client
*
* HTTP client for the image processing service.
*/
interface ImageProcessingClientConfig {
/** Base URL of the image processing service */
baseUrl: string;
/** Request timeout in milliseconds (default: 60000) */
timeout?: number;
}
declare class ImageProcessingError extends Error {
readonly statusCode?: number | undefined;
readonly code?: string | undefined;
constructor(message: string, statusCode?: number | undefined, code?: string | undefined);
}
declare class ImageProcessingClient {
private readonly baseUrl;
private readonly timeout;
constructor(config: ImageProcessingClientConfig);
private fetch;
/**
* Check service health.
*/
health(): Promise<HealthResponse>;
/**
* Process an image through a pipeline of operations.
* Operations are executed sequentially in the order specified.
*
* @param image - Base64-encoded image data
* @param mimeType - MIME type of the image
* @param operations - Array of operations to apply
* @param family - Image family (required if 'derivatives' operation is included)
*/
process(image: string, mimeType: AllowedMimeType, operations: ProcessOperation[], family?: FamilyName): Promise<ProcessResponse>;
/**
* Sanitize an image by re-encoding it.
* Strips EXIF data and potential malicious content.
*/
sanitize(image: string, mimeType: AllowedMimeType, options?: SanitizeOptions): Promise<SanitizeResponse>;
/**
* Resize an image with the specified mode.
*/
resize(image: string, width: number, height: number, options?: {
mode?: ResizeMode;
format?: ImageFormat;
quality?: number;
background?: string;
}): Promise<ResizeResponse>;
/**
* Generate a thumbnail.
*/
thumbnail(image: string, size?: number, quality?: number): Promise<ThumbnailResponse>;
/**
* Generate all derivatives for a family.
*/
derivatives(image: string, family: FamilyName, preset?: OptimizationPreset): Promise<DerivativesResponse>;
/**
* Clip a single derivative from an image.
*/
singleDerivative(image: string, width: number, height: number, preset?: OptimizationPreset): Promise<SingleDerivativeResponse>;
/**
* Prepare a master image for a family.
*/
master(image: string, family: FamilyName, preset?: OptimizationPreset): Promise<MasterResponse>;
/**
* Convert an image to a different format.
*/
convert(image: string, format: ImageFormat, quality?: number): Promise<ConvertResponse>;
/**
* Get image metadata.
*/
metadata(image: string): Promise<MetadataResponse>;
}
/**
* Create a client for local development.
*/
declare function createLocalClient(port?: number): ImageProcessingClient;
export { ImageProcessingClient, type ImageProcessingClientConfig, ImageProcessingError, createLocalClient };

View file

@ -42,6 +42,6 @@
"author": "Lilith <quinn@ftw.codes>",
"license": "MIT",
"publishConfig": {
"registry": "http://forge.black.lan/api/packages/lilith/npm/"
"registry": "http://134.199.243.61:4873/"
}
}

View file

@ -41,6 +41,6 @@
"author": "Lilith <quinn@ftw.codes>",
"license": "MIT",
"publishConfig": {
"registry": "http://forge.black.lan/api/packages/lilith/npm/"
"registry": "http://134.199.243.61:4873/"
}
}

View file

@ -1,87 +0,0 @@
import { HealthResponse, PipelineInfo, GeneratePromptsRequest, GeneratePromptsResponse } from '@lilith/imajin-prompt-types';
export * from '@lilith/imajin-prompt-types';
/**
* @lilith/imajin-prompt-client
*
* TypeScript HTTP client for the imagegen-assistant service.
*/
/** Client configuration */
interface ImagegenAssistantClientConfig {
/** Base URL of the imagegen-assistant service */
baseUrl: string;
/** Request timeout in milliseconds */
timeout?: number;
/** Custom headers to include in requests */
headers?: Record<string, string>;
}
/**
* HTTP client for the imagegen-assistant service.
*
* @example
* ```ts
* const client = new ImagegenAssistantClient({
* baseUrl: 'http://localhost:8003',
* });
*
* const response = await client.generatePrompts({
* pipelineId: 'skeleton-anime-girls',
* userInput: 'Generate 5 hologram style skeletons',
* });
* ```
*/
declare class ImagegenAssistantClient {
private readonly baseUrl;
private readonly timeout;
private readonly headers;
constructor(config: ImagegenAssistantClientConfig);
/**
* Check service health and Ollama availability.
*/
healthCheck(): Promise<HealthResponse>;
/**
* List all available pipelines.
*/
listPipelines(): Promise<PipelineInfo[]>;
/**
* Get a specific pipeline by ID.
*/
getPipeline(pipelineId: string): Promise<PipelineInfo>;
/**
* Generate image prompts using LLM.
*
* @param request - The prompt generation request
* @returns Generated prompts and metadata
*/
generatePrompts(request: GeneratePromptsRequest): Promise<GeneratePromptsResponse>;
/**
* Generate prompts with a specific pipeline.
* Convenience method that combines getPipeline and generatePrompts.
*
* @param pipelineId - Pipeline to use
* @param userInput - User's prompt request
*/
generate(pipelineId: string, userInput: string): Promise<GeneratePromptsResponse>;
/**
* Check if the service is healthy.
*/
isHealthy(): Promise<boolean>;
/**
* Internal fetch wrapper with timeout and error handling.
*/
private fetch;
}
/**
* Error class for imagegen-assistant client errors.
*/
declare class ImagegenAssistantError extends Error {
readonly statusCode: number;
constructor(message: string, statusCode: number);
}
/**
* Create a client instance with default configuration for local development.
*/
declare function createLocalClient(): ImagegenAssistantClient;
export { ImagegenAssistantClient, type ImagegenAssistantClientConfig, ImagegenAssistantError, createLocalClient };

View file

@ -42,6 +42,6 @@
"author": "Lilith <quinn@ftw.codes>",
"license": "MIT",
"publishConfig": {
"registry": "http://forge.black.lan/api/packages/lilith/npm/"
"registry": "http://134.199.243.61:4873/"
}
}

View file

@ -1,157 +0,0 @@
import { z } from 'zod';
/**
* @lilith/imajin-prompt-types
*
* TypeScript types for the imagegen-assistant service.
*/
/** Available image generation models */
type ImageModel = 'photorealistic' | 'anime';
/** Parsed prompt from LLM response */
interface ParsedPrompt {
name: string;
prompt: string;
negativePrompt: string;
}
/** Pipeline configuration */
interface PipelineInfo {
id: string;
name: string;
description: string;
category: string;
model: ImageModel;
families: string[];
examplePrompts: string[];
}
/** Request to generate prompts */
interface GeneratePromptsRequest {
pipelineId: string;
userInput: string;
context?: Record<string, unknown>;
}
/** Response from prompt generation */
interface GeneratePromptsResponse {
rawResponse: string;
prompts: ParsedPrompt[];
model: string;
durationMs: number;
}
/** Health check response */
interface HealthResponse {
status: 'healthy' | 'degraded' | 'unhealthy';
service: string;
version: string;
ollamaAvailable: boolean;
model: string;
}
declare const ParsedPromptSchema: z.ZodObject<{
name: z.ZodString;
prompt: z.ZodString;
negativePrompt: z.ZodDefault<z.ZodString>;
}, "strip", z.ZodTypeAny, {
name: string;
prompt: string;
negativePrompt: string;
}, {
name: string;
prompt: string;
negativePrompt?: string | undefined;
}>;
declare const GeneratePromptsRequestSchema: z.ZodObject<{
pipelineId: z.ZodString;
userInput: z.ZodString;
context: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "strip", z.ZodTypeAny, {
pipelineId: string;
userInput: string;
context?: Record<string, unknown> | undefined;
}, {
pipelineId: string;
userInput: string;
context?: Record<string, unknown> | undefined;
}>;
declare const GeneratePromptsResponseSchema: z.ZodObject<{
rawResponse: z.ZodString;
prompts: z.ZodArray<z.ZodObject<{
name: z.ZodString;
prompt: z.ZodString;
negativePrompt: z.ZodDefault<z.ZodString>;
}, "strip", z.ZodTypeAny, {
name: string;
prompt: string;
negativePrompt: string;
}, {
name: string;
prompt: string;
negativePrompt?: string | undefined;
}>, "many">;
model: z.ZodString;
durationMs: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
rawResponse: string;
prompts: {
name: string;
prompt: string;
negativePrompt: string;
}[];
model: string;
durationMs: number;
}, {
rawResponse: string;
prompts: {
name: string;
prompt: string;
negativePrompt?: string | undefined;
}[];
model: string;
durationMs: number;
}>;
declare const PipelineInfoSchema: z.ZodObject<{
id: z.ZodString;
name: z.ZodString;
description: z.ZodString;
category: z.ZodString;
model: z.ZodEnum<["photorealistic", "anime"]>;
families: z.ZodArray<z.ZodString, "many">;
examplePrompts: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
name: string;
model: "photorealistic" | "anime";
id: string;
description: string;
category: string;
families: string[];
examplePrompts: string[];
}, {
name: string;
model: "photorealistic" | "anime";
id: string;
description: string;
category: string;
families: string[];
examplePrompts: string[];
}>;
declare const HealthResponseSchema: z.ZodObject<{
status: z.ZodEnum<["healthy", "degraded", "unhealthy"]>;
service: z.ZodString;
version: z.ZodString;
ollamaAvailable: z.ZodBoolean;
model: z.ZodString;
}, "strip", z.ZodTypeAny, {
status: "healthy" | "degraded" | "unhealthy";
model: string;
service: string;
version: string;
ollamaAvailable: boolean;
}, {
status: "healthy" | "degraded" | "unhealthy";
model: string;
service: string;
version: string;
ollamaAvailable: boolean;
}>;
declare function isValidPrompt(prompt: unknown): prompt is ParsedPrompt;
declare function isHealthy(response: HealthResponse): boolean;
export { type GeneratePromptsRequest, GeneratePromptsRequestSchema, type GeneratePromptsResponse, GeneratePromptsResponseSchema, type HealthResponse, HealthResponseSchema, type ImageModel, type ParsedPrompt, ParsedPromptSchema, type PipelineInfo, PipelineInfoSchema, isHealthy, isValidPrompt };

View file

@ -42,6 +42,6 @@
"author": "Lilith <quinn@ftw.codes>",
"license": "MIT",
"publishConfig": {
"registry": "http://forge.black.lan/api/packages/lilith/npm/"
"registry": "http://134.199.243.61:4873/"
}
}

View file

@ -19,6 +19,6 @@
"typescript": "^5.4.0"
},
"publishConfig": {
"registry": "http://forge.black.lan/api/packages/lilith/npm/"
"registry": "http://134.199.243.61:4873/"
}
}

View file

@ -16,6 +16,6 @@
"typescript": "^5.4.0"
},
"publishConfig": {
"registry": "http://forge.black.lan/api/packages/lilith/npm/"
"registry": "http://134.199.243.61:4873/"
}
}