evOo-local/packages/core/package.json
Claude fa0986bd2d
feat(media): add the ComfyUI provider, default workflows and emulator
Image and video generation run on the user's own GPU server. ComfyUI is the
common self-hosted backend, so this adds a provider for its HTTP API that the
generation operations can call.

- Core: API-format workflow templates with a small placeholder format
  ({{prompt}}, {{width}}, {{seed}}, ...) that is validated and filled without
  evaluating anything. Defaults: text-to-image and image-to-image on core nodes
  for any SD-family checkpoint, and text/image-to-video on ComfyUI's core
  LTX-Video nodes; a README lists the placeholders and model files.
- Adapters: createComfyUiProvider submits a workflow, polls its history,
  uploads input images and downloads outputs through the address-checked fetch
  used for other self-hosted model servers, with timeouts, capped reads and
  readable errors. A custom workflow from settings replaces the default it
  matches. Cancelling dequeues or interrupts only its own prompt. GPU status
  counts memory ComfyUI can free for itself as available.
- Contracts: input schemas for generate_image, generate_video and edit_image.
- Tests: an in-process ComfyUI emulator, a provider-neutral generation
  conformance suite and provider tests, all offline.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MRtGG9ARfqqhma3t85Ro2u
2026-10-03 13:26:59 +00:00

76 lines
2.3 KiB
JSON

{
"name": "@rakazo/core",
"version": "0.1.0",
"license": "Apache-2.0",
"type": "module",
"exports": {
".": {
"types": "./src/index.ts",
"development": "./src/index.ts",
"default": "./src/index.ts"
},
"./node/load-root-env": {
"types": "./src/node/load-root-env.ts",
"development": "./src/node/load-root-env.ts",
"default": "./src/node/load-root-env.ts"
},
"./node/approval-effect-key": {
"types": "./src/approval-effect-key.ts",
"development": "./src/approval-effect-key.ts",
"default": "./src/approval-effect-key.ts"
},
"./node/screen-proxy-response": {
"types": "./src/node/screen-proxy-response.ts",
"development": "./src/node/screen-proxy-response.ts",
"default": "./src/node/screen-proxy-response.ts"
},
"./node/git-checkout": {
"types": "./src/git-checkout.ts",
"development": "./src/git-checkout.ts",
"default": "./src/git-checkout.ts"
},
"./plot": {
"types": "./src/plot/plot-spec.ts",
"development": "./src/plot/plot-spec.ts",
"default": "./src/plot/plot-spec.ts"
},
"./media/workflows": {
"types": "./src/media/workflow-template.ts",
"development": "./src/media/workflow-template.ts",
"default": "./src/media/workflow-template.ts"
},
"./node/desktop-runtime": {
"types": "./src/node/desktop-runtime.ts",
"development": "./src/node/desktop-runtime.ts",
"default": "./src/node/desktop-runtime.ts"
},
"./node/screen-capability": {
"types": "./src/node/screen-capability.ts",
"development": "./src/node/screen-capability.ts",
"default": "./src/node/screen-capability.ts"
},
"./git-checkout": {
"types": "./src/git-checkout.ts",
"development": "./src/git-checkout.ts",
"default": "./src/git-checkout.ts"
}
},
"scripts": {
"check": "tsc --noEmit -p tsconfig.json",
"test": "vitest run --root ../.. packages/core/src"
},
"dependencies": {
"@rakazo/contracts": "workspace:*",
"dotenv": "17.4.2",
"@observablehq/plot": "0.6.17",
"d3-dsv": "3.0.1",
"croner": "10.0.1"
},
"devDependencies": {
"fast-check": "4.10.0",
"typescript": "7.0.2",
"vitest": "4.1.11",
"@types/d3-dsv": "3.0.7"
}
}