@foresthubai/workflow-core 0.4.6 → 0.4.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/camera.d.ts +254 -0
- package/dist/api/camera.d.ts.map +1 -0
- package/dist/api/camera.js +6 -0
- package/dist/api/camera.js.map +1 -0
- package/dist/api/engine.d.ts +89 -10
- package/dist/api/engine.d.ts.map +1 -1
- package/dist/api/index.d.ts +0 -4
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/workflow.d.ts +61 -4
- package/dist/api/workflow.d.ts.map +1 -1
- package/dist/channel/Channel.d.ts +1 -1
- package/dist/channel/Channel.d.ts.map +1 -1
- package/dist/channel/Channel.js +1 -1
- package/dist/channel/Channel.js.map +1 -1
- package/dist/channel/ChannelDefinition.d.ts.map +1 -1
- package/dist/channel/ChannelDefinition.js +16 -0
- package/dist/channel/ChannelDefinition.js.map +1 -1
- package/dist/channel/serialization.d.ts.map +1 -1
- package/dist/channel/serialization.js +6 -0
- package/dist/channel/serialization.js.map +1 -1
- package/dist/deploy/bindingRequirements.d.ts +4 -0
- package/dist/deploy/bindingRequirements.d.ts.map +1 -0
- package/dist/deploy/bindingRequirements.js +59 -0
- package/dist/deploy/bindingRequirements.js.map +1 -0
- package/dist/deploy/constants.d.ts +8 -0
- package/dist/deploy/constants.d.ts.map +1 -0
- package/dist/deploy/constants.js +26 -0
- package/dist/deploy/constants.js.map +1 -0
- package/dist/deploy/index.d.ts +3 -5
- package/dist/deploy/index.d.ts.map +1 -1
- package/dist/deploy/index.js +10 -2
- package/dist/deploy/index.js.map +1 -1
- package/dist/deploy/inputs.d.ts +30 -3
- package/dist/deploy/inputs.d.ts.map +1 -1
- package/dist/deploy/requirements.d.ts +4 -36
- package/dist/deploy/requirements.d.ts.map +1 -1
- package/dist/deploy/requirements.js +48 -76
- package/dist/deploy/requirements.js.map +1 -1
- package/dist/deploy/spec.d.ts +10 -4
- package/dist/deploy/spec.d.ts.map +1 -1
- package/dist/deploy/spec.js +233 -63
- package/dist/deploy/spec.js.map +1 -1
- package/dist/expression/parser.js +10 -1
- package/dist/expression/parser.js.map +1 -1
- package/dist/model/MLModelDefinition.d.ts +8 -0
- package/dist/model/MLModelDefinition.d.ts.map +1 -0
- package/dist/model/MLModelDefinition.js +14 -0
- package/dist/model/MLModelDefinition.js.map +1 -0
- package/dist/model/Model.d.ts +2 -1
- package/dist/model/Model.d.ts.map +1 -1
- package/dist/model/Model.js +1 -1
- package/dist/model/Model.js.map +1 -1
- package/dist/model/ModelRegistry.d.ts.map +1 -1
- package/dist/model/ModelRegistry.js +2 -0
- package/dist/model/ModelRegistry.js.map +1 -1
- package/dist/model/index.d.ts +1 -0
- package/dist/model/index.d.ts.map +1 -1
- package/dist/model/index.js +1 -0
- package/dist/model/index.js.map +1 -1
- package/dist/model/serialization.d.ts.map +1 -1
- package/dist/model/serialization.js +5 -0
- package/dist/model/serialization.js.map +1 -1
- package/dist/node/InputNode.d.ts +10 -2
- package/dist/node/InputNode.d.ts.map +1 -1
- package/dist/node/InputNode.js +16 -0
- package/dist/node/InputNode.js.map +1 -1
- package/dist/node/MLInferenceNode.d.ts +15 -0
- package/dist/node/MLInferenceNode.d.ts.map +1 -0
- package/dist/node/MLInferenceNode.js +26 -0
- package/dist/node/MLInferenceNode.js.map +1 -0
- package/dist/node/Node.d.ts +3 -2
- package/dist/node/Node.d.ts.map +1 -1
- package/dist/node/NodeRegistry.d.ts.map +1 -1
- package/dist/node/NodeRegistry.js +4 -1
- package/dist/node/NodeRegistry.js.map +1 -1
- package/dist/node/methods.d.ts.map +1 -1
- package/dist/node/methods.js +6 -0
- package/dist/node/methods.js.map +1 -1
- package/dist/node/serialization.d.ts.map +1 -1
- package/dist/node/serialization.js +42 -0
- package/dist/node/serialization.js.map +1 -1
- package/package.json +2 -2
- package/src/api/index.ts +0 -15
- package/src/api/workflow.ts +61 -4
- package/src/channel/Channel.ts +2 -2
- package/src/channel/ChannelDefinition.ts +16 -0
- package/src/channel/serialization.ts +6 -0
- package/src/deploy/constants.ts +30 -0
- package/src/deploy/index.ts +14 -17
- package/src/deploy/requirements.test.ts +164 -64
- package/src/deploy/requirements.ts +104 -159
- package/src/diagnostics/diagnostics.test.ts +40 -22
- package/src/expression/parser.ts +9 -1
- package/src/model/MLModelDefinition.ts +16 -0
- package/src/model/Model.ts +6 -2
- package/src/model/ModelRegistry.ts +2 -0
- package/src/model/index.ts +1 -0
- package/src/model/serialization.ts +5 -0
- package/src/node/InputNode.ts +28 -2
- package/src/node/MLInferenceNode.ts +46 -0
- package/src/node/Node.ts +3 -1
- package/src/node/NodeRegistry.ts +4 -1
- package/src/node/methods.ts +6 -0
- package/src/node/serialization.ts +44 -2
- package/src/workflow/serialization.test.ts +53 -0
- package/src/api/deployment.ts +0 -74
- package/src/api/engine.ts +0 -744
- package/src/deploy/inputs.ts +0 -44
- package/src/deploy/spec.test.ts +0 -227
- package/src/deploy/spec.ts +0 -397
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requirements.js","sourceRoot":"","sources":["../../src/deploy/requirements.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,gCAAgC;
|
|
1
|
+
{"version":3,"file":"requirements.js","sourceRoot":"","sources":["../../src/deploy/requirements.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,gCAAgC;AA0BhC,wEAAwE;AACxE,qDAAqD;AACrD,SAAS,kBAAkB,CAAC,CAAQ;IAClC,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,iFAAiF;AACjF,0EAA0E;AAC1E,kFAAkF;AAClF,+EAA+E;AAC/E,iBAAiB;AACjB,EAAE;AACF,8DAA8D;AAC9D,mEAAmE;AACnE,4EAA4E;AAC5E,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,MAAM,UAAU,2BAA2B,CAAC,QAAkB;IAC5D,MAAM,IAAI,GAAgC,EAAE,CAAC;IAE7C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS,CAAC;YACf,KAAK,KAAK,CAAC;YACX,KAAK,KAAK,CAAC;YACX,KAAK,KAAK,CAAC;YACX,KAAK,MAAM;gBACT,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;gBAC9B,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;gBAC1B,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;gBAC5B,MAAM;YACR,KAAK,KAAK;gBACR,wEAAwE;gBACxE,MAAM;YACR;gBACE,OAAO,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,8EAA8E;IAC9E,sEAAsE;IACtE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC;IAErF,+EAA+E;IAC/E,4EAA4E;IAC5E,4EAA4E;IAC5E,0CAA0C;IAC1C,KAAK,MAAM,EAAE,IAAI,4BAA4B,CAAC,QAAQ,CAAC;QAAE,IAAI,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC;IAEnF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAAC,QAAkB;IAC7D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;gBAAE,SAAS;YACpC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAChC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;AACzB,CAAC"}
|
package/dist/deploy/spec.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { Workflow } from "../workflow";
|
|
2
1
|
import type { DeploymentSchemas } from "../api";
|
|
3
|
-
import type {
|
|
2
|
+
import type { Workflow } from "../workflow";
|
|
3
|
+
import type { ModelInfo } from "../model";
|
|
4
4
|
import type { DeploymentInputs, HardwareBinding } from "./inputs";
|
|
5
|
+
import type { DeployRequirements, HardwareChannel, HardwareFamily } from "./requirements";
|
|
5
6
|
type DeploymentSpec = DeploymentSchemas["DeploymentSpec"];
|
|
6
7
|
type DeployComponent = DeploymentSchemas["DeployComponent"];
|
|
7
8
|
export interface DeploymentSpecMeta {
|
|
@@ -9,19 +10,24 @@ export interface DeploymentSpecMeta {
|
|
|
9
10
|
createdAt?: string;
|
|
10
11
|
engineImage: string;
|
|
11
12
|
llamaServerImage: string;
|
|
13
|
+
mlComponentImage: string;
|
|
14
|
+
cameraComponentImage: string;
|
|
12
15
|
}
|
|
13
16
|
export type EngineSecrets = Record<string, string>;
|
|
14
17
|
export interface DeploymentSpecResult {
|
|
15
18
|
spec: DeploymentSpec;
|
|
16
19
|
resourceSecrets: EngineSecrets;
|
|
17
20
|
}
|
|
18
|
-
export declare function
|
|
21
|
+
export declare function llamaComponentServiceName(): string;
|
|
22
|
+
export declare function mlComponentServiceName(): string;
|
|
23
|
+
export declare function cameraComponentServiceName(): string;
|
|
19
24
|
export declare function ggufNameError(name: string | undefined): string | null;
|
|
25
|
+
export declare function mlModelNameError(name: string | undefined): string | null;
|
|
20
26
|
export declare function hardwareAddressKey(family: HardwareFamily, chipOrDevice: string, index?: number): string;
|
|
21
27
|
export declare function hardwareAddressLabel(family: HardwareFamily, chipOrDevice: string, index?: number): string;
|
|
22
28
|
export declare function hardwareConflicts(channels: HardwareChannel[], bindings: Record<string, HardwareBinding>): string[];
|
|
23
29
|
export declare function familyMismatches(channels: HardwareChannel[], bindings: Record<string, HardwareBinding>): string[];
|
|
24
30
|
export declare function assertDeployable(req: DeployRequirements, inputs: DeploymentInputs): void;
|
|
25
|
-
export declare function buildDeploymentSpec(workflow: Workflow, inputs: DeploymentInputs, meta: DeploymentSpecMeta, customComponents?: DeployComponent[]): DeploymentSpecResult;
|
|
31
|
+
export declare function buildDeploymentSpec(workflow: Workflow, inputs: DeploymentInputs, meta: DeploymentSpecMeta, customComponents?: DeployComponent[], catalog?: ModelInfo[]): DeploymentSpecResult;
|
|
26
32
|
export {};
|
|
27
33
|
//# sourceMappingURL=spec.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../src/deploy/spec.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../src/deploy/spec.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,QAAQ,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAI1F,KAAK,cAAc,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AAC1D,KAAK,eAAe,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;AAwC5D,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AASD,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAGnD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,cAAc,CAAC;IACrB,eAAe,EAAE,aAAa,CAAC;CAChC;AAyCD,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAOD,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAMD,wBAAgB,0BAA0B,IAAI,MAAM,CAEnD;AAKD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAMrE;AAID,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAKxE;AAOD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAGvG;AAGD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAIzG;AAID,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,MAAM,EAAE,CAelH;AAKD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,MAAM,EAAE,CAajH;AAWD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,kBAAkB,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAiDxF;AAkBD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,kBAAkB,EACxB,gBAAgB,GAAE,eAAe,EAAO,EACxC,OAAO,GAAE,SAAS,EAAO,GACxB,oBAAoB,CA4QtB"}
|
package/dist/deploy/spec.js
CHANGED
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
// Copyright (c) 2026 ForestHub.
|
|
3
3
|
import { serialize } from "../workflow";
|
|
4
4
|
import { deriveRequirements } from "./requirements";
|
|
5
|
-
|
|
6
|
-
// component
|
|
7
|
-
|
|
8
|
-
//
|
|
9
|
-
const
|
|
10
|
-
// The
|
|
5
|
+
import { COMPONENT_CONFIG_PATH, COMPONENT_WORKSPACE_PATH, ENGINE_COMPONENT_NAME, CAMERA_COMPONENT_NAME, ML_COMPONENT_NAME, LLAMA_COMPONENT_NAME } from "./constants";
|
|
6
|
+
// The inference component's fixed listen port (baked into its image entrypoint).
|
|
7
|
+
const ML_COMPONENT_PORT = 8000;
|
|
8
|
+
// The capture component's fixed listen port (baked into its image entrypoint).
|
|
9
|
+
const CAMERA_COMPONENT_PORT = 8100;
|
|
10
|
+
// The llama-server component's fixed listen port (llama-swap's endpoint, baked into
|
|
11
|
+
// its image entrypoint).
|
|
12
|
+
const LLAMA_COMPONENT_PORT = 8080;
|
|
13
|
+
// The OSS renderer's state root (see docs/deployment-pipeline.md). Bind-mount sources
|
|
11
14
|
// hang off it as `<root>/workspaces/<container>/`. "." makes Docker resolve them
|
|
12
15
|
// relative to the compose file, so the bundle stays drop-anywhere; Ranger is a
|
|
13
16
|
// separate renderer that sets root to the absolute `/var/lib/foresthub`.
|
|
@@ -40,25 +43,37 @@ function basename(p) {
|
|
|
40
43
|
const tail = p.replace(/\/+$/, "").split("/").pop() ?? p;
|
|
41
44
|
return tail.replace(/[^A-Za-z0-9._:-]/g, "-") || "res";
|
|
42
45
|
}
|
|
43
|
-
// Host of a
|
|
44
|
-
|
|
46
|
+
// Host of a URL, for a readable ref (MQTT broker / self-hosted endpoint).
|
|
47
|
+
// Falls back to "host" when unparseable.
|
|
48
|
+
function urlHost(url) {
|
|
45
49
|
try {
|
|
46
|
-
return new URL(url).hostname || "
|
|
50
|
+
return new URL(url).hostname || "host";
|
|
47
51
|
}
|
|
48
52
|
catch {
|
|
49
|
-
return "
|
|
53
|
+
return "host";
|
|
50
54
|
}
|
|
51
55
|
}
|
|
52
|
-
// Compose/container service name for
|
|
53
|
-
//
|
|
54
|
-
//
|
|
55
|
-
//
|
|
56
|
-
export function
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
56
|
+
// Compose/container service name for the shared llama-server component. Like the
|
|
57
|
+
// inference component, one container fronts a set of on-device models (llama-swap) and
|
|
58
|
+
// selects one by id per request — so this is a fixed name, its canonical identity, not
|
|
59
|
+
// derived from any model id. Every on-device model's provider URL points at it.
|
|
60
|
+
export function llamaComponentServiceName() {
|
|
61
|
+
return LLAMA_COMPONENT_NAME;
|
|
62
|
+
}
|
|
63
|
+
// Compose/container service name for the shared inference component. Unlike the
|
|
64
|
+
// llama component (one per model), a single inference component hosts a repository
|
|
65
|
+
// of ML models and selects one by name per request — so this is a fixed name, its
|
|
66
|
+
// canonical identity, not derived from any model id. Every on-device ML model's
|
|
67
|
+
// provider URL points at it.
|
|
68
|
+
export function mlComponentServiceName() {
|
|
69
|
+
return ML_COMPONENT_NAME;
|
|
70
|
+
}
|
|
71
|
+
// Compose/container service name for the shared capture component. Like the
|
|
72
|
+
// inference component (one container owns a set of cameras and selects one by name
|
|
73
|
+
// per request), this is a fixed name, its canonical identity, not derived from any
|
|
74
|
+
// channel id. Every on-device camera's connection URL points at it.
|
|
75
|
+
export function cameraComponentServiceName() {
|
|
76
|
+
return CAMERA_COMPONENT_NAME;
|
|
62
77
|
}
|
|
63
78
|
// Why an on-device model filename is unacceptable, or null when fine. A name
|
|
64
79
|
// check only — the file doesn't exist yet at spec time. Shared with the prompts
|
|
@@ -70,7 +85,17 @@ export function ggufNameError(name) {
|
|
|
70
85
|
if (!t.toLowerCase().endsWith(".gguf"))
|
|
71
86
|
return "must be a .gguf file (llama-server only loads GGUF)";
|
|
72
87
|
if (t.includes("/"))
|
|
73
|
-
return "just the filename, not a path — the file goes in the
|
|
88
|
+
return "just the filename, not a path — the file goes in the llama-server workspace dir (./workspaces/llama-server/)";
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
// The name the inference component selects a model on. On device it also names the
|
|
92
|
+
// model's sub-folder in the component's repository, so it must be a plain name.
|
|
93
|
+
export function mlModelNameError(name) {
|
|
94
|
+
const t = (name ?? "").trim();
|
|
95
|
+
if (!t)
|
|
96
|
+
return "a model name is required";
|
|
97
|
+
if (t.includes("/"))
|
|
98
|
+
return "just a name, not a path — it names the model's sub-folder in the component repository";
|
|
74
99
|
return null;
|
|
75
100
|
}
|
|
76
101
|
// A physical address belongs to exactly one channel — the engine doesn't police
|
|
@@ -148,8 +173,8 @@ export function assertDeployable(req, inputs) {
|
|
|
148
173
|
if (!inputs.mqtt[ch.id]?.brokerUrl)
|
|
149
174
|
missing.push(`mqtt "${ch.id}": broker URL`);
|
|
150
175
|
}
|
|
151
|
-
for (const m of req.
|
|
152
|
-
const b = inputs.
|
|
176
|
+
for (const m of req.customLLMModels) {
|
|
177
|
+
const b = inputs.llmModels[m.id];
|
|
153
178
|
if (b?.location === "device") {
|
|
154
179
|
const err = ggufNameError(b.modelFile);
|
|
155
180
|
if (err)
|
|
@@ -159,6 +184,38 @@ export function assertDeployable(req, inputs) {
|
|
|
159
184
|
missing.push(`model "${m.id}": endpoint URL`);
|
|
160
185
|
}
|
|
161
186
|
}
|
|
187
|
+
for (const m of req.customMLModels) {
|
|
188
|
+
const b = inputs.mlModels[m.id];
|
|
189
|
+
// Both locations need a model name; network additionally needs its endpoint URL.
|
|
190
|
+
const nameErr = mlModelNameError(b?.model);
|
|
191
|
+
if (nameErr)
|
|
192
|
+
missing.push(`model "${m.id}": ${nameErr}`);
|
|
193
|
+
if (b?.location !== "device" && !b?.url)
|
|
194
|
+
missing.push(`model "${m.id}": on-device or endpoint URL`);
|
|
195
|
+
}
|
|
196
|
+
for (const ch of req.cameraChannels) {
|
|
197
|
+
const b = inputs.cameras[ch.id];
|
|
198
|
+
// device needs a capture source device (v4l2 path or gstreamer element);
|
|
199
|
+
// network needs its endpoint URL.
|
|
200
|
+
if (b?.location === "device") {
|
|
201
|
+
if (!b.device)
|
|
202
|
+
missing.push(`camera "${ch.id}": capture source device`);
|
|
203
|
+
}
|
|
204
|
+
else if (!b?.url) {
|
|
205
|
+
missing.push(`camera "${ch.id}": on-device source or endpoint URL`);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
for (const p of req.catalogProviders) {
|
|
209
|
+
const b = inputs.providers?.[p.id];
|
|
210
|
+
if (!b)
|
|
211
|
+
missing.push(`provider "${p.id}": routing (local or backend)`);
|
|
212
|
+
else if (b.routing === "local" && !b.apiKey)
|
|
213
|
+
missing.push(`provider "${p.id}": API key`);
|
|
214
|
+
}
|
|
215
|
+
// A referenced catalog model absent from the catalog can't be routed — the
|
|
216
|
+
// engine would have no provider for it. Refuse rather than emit a dead spec.
|
|
217
|
+
for (const id of req.unresolvedCatalogModels)
|
|
218
|
+
missing.push(`model "${id}": not in the model catalog`);
|
|
162
219
|
missing.push(...hardwareConflicts(req.hardwareChannels, inputs.hardware));
|
|
163
220
|
missing.push(...familyMismatches(req.hardwareChannels, inputs.hardware));
|
|
164
221
|
if (missing.length > 0) {
|
|
@@ -181,8 +238,8 @@ function assertNoNameCollisions(components) {
|
|
|
181
238
|
// resource is unbound. The embedded engine config carries the serialized (and
|
|
182
239
|
// thereby pruned) workflow; device grants and privileged are resolved here.
|
|
183
240
|
// customComponents are operator-authored containers, merged in verbatim.
|
|
184
|
-
export function buildDeploymentSpec(workflow, inputs, meta, customComponents = []) {
|
|
185
|
-
const req = deriveRequirements(workflow);
|
|
241
|
+
export function buildDeploymentSpec(workflow, inputs, meta, customComponents = [], catalog = []) {
|
|
242
|
+
const req = deriveRequirements(workflow, catalog);
|
|
186
243
|
assertDeployable(req, inputs);
|
|
187
244
|
const refs = new RefAllocator();
|
|
188
245
|
const resourceSecrets = {};
|
|
@@ -249,55 +306,168 @@ export function buildDeploymentSpec(workflow, inputs, meta, customComponents = [
|
|
|
249
306
|
// The password is a secret — kept out of conn (and thus the spec). It still
|
|
250
307
|
// participates in the dedup key, so two channels differing only by password
|
|
251
308
|
// don't collapse onto one ref (and one shared secret).
|
|
252
|
-
const ref = refs.alloc(`mqtt:${JSON.stringify(conn)}:${b.password ?? ""}`, `mqtt-${
|
|
309
|
+
const ref = refs.alloc(`mqtt:${JSON.stringify(conn)}:${b.password ?? ""}`, `mqtt-${urlHost(b.brokerUrl)}`);
|
|
253
310
|
externalResources[ref] = conn;
|
|
254
311
|
mapping[ch.id] = { ref };
|
|
255
312
|
if (b.password)
|
|
256
313
|
resourceSecrets[ref] = b.password;
|
|
257
314
|
}
|
|
258
|
-
// Custom models:
|
|
259
|
-
//
|
|
260
|
-
//
|
|
261
|
-
//
|
|
262
|
-
//
|
|
315
|
+
// Custom LLM models: each maps to a selfhosted provider. Every on-device model is
|
|
316
|
+
// served by ONE shared llama-server that fronts them with llama-swap and selects one
|
|
317
|
+
// by id per request — so they all point at the same service URL and only a single
|
|
318
|
+
// component is emitted (mirrors the inference component). A network model points at
|
|
319
|
+
// the operator's endpoint — deduped by url+key, so several models on one endpoint
|
|
320
|
+
// share ONE provider (many models -> one ref, like GPIO lines on one chip). The engine
|
|
321
|
+
// sends the model's workflow id, which llama-swap routes on (the config.json `id`).
|
|
263
322
|
const llamaComponents = [];
|
|
264
|
-
|
|
265
|
-
|
|
323
|
+
const llamaModels = [];
|
|
324
|
+
for (const m of req.customLLMModels) {
|
|
325
|
+
const b = inputs.llmModels[m.id];
|
|
266
326
|
if (!b)
|
|
267
327
|
throw new Error(`unbound model ${m.id}`); // unreachable after assertDeployable
|
|
268
|
-
const ref = refs.alloc(`model:${m.id}`, basename(m.id));
|
|
269
|
-
mapping[m.id] = { ref };
|
|
270
328
|
if (b.location === "device") {
|
|
271
|
-
const
|
|
272
|
-
|
|
273
|
-
externalResources[ref] = { type: "
|
|
274
|
-
//
|
|
275
|
-
//
|
|
276
|
-
|
|
277
|
-
name: service,
|
|
278
|
-
image: meta.llamaServerImage,
|
|
279
|
-
command: [
|
|
280
|
-
"--model",
|
|
281
|
-
`${COMPONENT_WORKSPACE_PATH}/${b.modelFile}`,
|
|
282
|
-
"--host",
|
|
283
|
-
"0.0.0.0",
|
|
284
|
-
"--port",
|
|
285
|
-
String(port),
|
|
286
|
-
"--ctx-size",
|
|
287
|
-
String(b.ctxSize ?? 4096),
|
|
288
|
-
],
|
|
289
|
-
// The model lives in this sidecar's own workspace; read-only, so no chown
|
|
290
|
-
// is needed (docs §5). The operator drops the GGUF in workspaceDir(service).
|
|
291
|
-
volumes: [`${workspaceDir(service)}:${COMPONENT_WORKSPACE_PATH}:ro`],
|
|
292
|
-
});
|
|
329
|
+
const ref = refs.alloc(`model:${m.id}`, basename(m.id));
|
|
330
|
+
mapping[m.id] = { ref };
|
|
331
|
+
externalResources[ref] = { type: "selfhostedLlm", url: `http://${llamaComponentServiceName()}:${LLAMA_COMPONENT_PORT}` };
|
|
332
|
+
// ctx-size is frozen here — retuning it is a re-deploy, not an env edit. The GGUF
|
|
333
|
+
// is a bare filename the entrypoint resolves under the shared component workspace.
|
|
334
|
+
llamaModels.push({ id: m.id, file: b.modelFile, args: ["--ctx-size", String(b.ctxSize ?? 4096)] });
|
|
293
335
|
}
|
|
294
336
|
else {
|
|
295
|
-
|
|
337
|
+
const ref = refs.alloc(`selfhosted:${b.url}:${b.apiKey ?? ""}`, `provider-${urlHost(b.url)}`);
|
|
338
|
+
mapping[m.id] = { ref };
|
|
339
|
+
externalResources[ref] = { type: "selfhostedLlm", url: b.url };
|
|
296
340
|
// The endpoint bearer is a secret — out of the spec, returned separately.
|
|
297
341
|
if (b.apiKey)
|
|
298
342
|
resourceSecrets[ref] = b.apiKey;
|
|
299
343
|
}
|
|
300
344
|
}
|
|
345
|
+
// One shared llama-server for all on-device models (not one per model). Its config.json
|
|
346
|
+
// (the models list) rides as the component config blob, mounted read-only at the
|
|
347
|
+
// standard config path the entrypoint reads; the GGUF weights sit in the component
|
|
348
|
+
// workspace the operator fills, mounted read-only. No pull override: llama-server is a
|
|
349
|
+
// published image, pulled from its registry (unlike the locally-built engine/ml/camera).
|
|
350
|
+
if (llamaModels.length > 0) {
|
|
351
|
+
const service = llamaComponentServiceName();
|
|
352
|
+
llamaComponents.push({
|
|
353
|
+
name: service,
|
|
354
|
+
image: meta.llamaServerImage,
|
|
355
|
+
config: { models: llamaModels },
|
|
356
|
+
volumes: [`${workspaceDir(service)}:${COMPONENT_WORKSPACE_PATH}:ro`],
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
// Catalog providers: one provider instance per referenced provider — NO mapping.
|
|
360
|
+
// The engine registers all of these into its single llmproxy, which routes each
|
|
361
|
+
// catalog model by id. Each provider is served by exactly one instance (local
|
|
362
|
+
// xor backend), so there's no overlap and no catch-all. `localLlm` carries the
|
|
363
|
+
// adapter id + a deploy-delivered key (secret by ref); `backendLlm` carries the
|
|
364
|
+
// adapter id and no key — its models are proxied to the backend. Unresolved refs
|
|
365
|
+
// are already rejected by assertDeployable.
|
|
366
|
+
for (const p of req.catalogProviders) {
|
|
367
|
+
const b = inputs.providers?.[p.id];
|
|
368
|
+
if (!b)
|
|
369
|
+
throw new Error(`unbound catalog provider ${p.id}`); // unreachable after assertDeployable
|
|
370
|
+
const ref = refs.alloc(`provider:${p.id}`, `provider-${p.id}`);
|
|
371
|
+
if (b.routing === "local") {
|
|
372
|
+
externalResources[ref] = { type: "localLlm", provider: p.id };
|
|
373
|
+
if (b.apiKey)
|
|
374
|
+
resourceSecrets[ref] = b.apiKey;
|
|
375
|
+
}
|
|
376
|
+
else {
|
|
377
|
+
externalResources[ref] = { type: "backendLlm", provider: p.id };
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
// ML models: every on-device model is served by ONE shared inference component
|
|
381
|
+
// that loads a repository of model bundles (a sub-folder per model id) and
|
|
382
|
+
// selects the model by name per request — so they all point at the same service
|
|
383
|
+
// URL and only a single component is emitted. A network model points at the
|
|
384
|
+
// operator's own component. Credential-free — a trusted in-deployment endpoint.
|
|
385
|
+
const mlComponents = [];
|
|
386
|
+
let mlDeviceModels = 0;
|
|
387
|
+
for (const m of req.customMLModels) {
|
|
388
|
+
const b = inputs.mlModels[m.id];
|
|
389
|
+
if (!b)
|
|
390
|
+
throw new Error(`unbound model ${m.id}`); // unreachable after assertDeployable
|
|
391
|
+
const ref = refs.alloc(`ml-model:${m.id}`, basename(m.id));
|
|
392
|
+
mapping[m.id] = { ref };
|
|
393
|
+
if (b.location === "device") {
|
|
394
|
+
externalResources[ref] = {
|
|
395
|
+
type: "ml-inference",
|
|
396
|
+
url: `http://${mlComponentServiceName()}:${ML_COMPONENT_PORT}`,
|
|
397
|
+
model: b.model,
|
|
398
|
+
};
|
|
399
|
+
mlDeviceModels++;
|
|
400
|
+
}
|
|
401
|
+
else {
|
|
402
|
+
externalResources[ref] = { type: "ml-inference", url: b.url, model: b.model };
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
// One shared component for all on-device ML models (not one per model). The model
|
|
406
|
+
// repository is a directory the operator fills, one sub-folder per model id, mounted
|
|
407
|
+
// read-only at the standard workspace path (so no chown, no env var is wired).
|
|
408
|
+
if (mlDeviceModels > 0) {
|
|
409
|
+
const service = mlComponentServiceName();
|
|
410
|
+
mlComponents.push({
|
|
411
|
+
name: service,
|
|
412
|
+
image: meta.mlComponentImage,
|
|
413
|
+
pull: "never", // built locally before deploy, in no registry
|
|
414
|
+
volumes: [`${workspaceDir(service)}:${COMPONENT_WORKSPACE_PATH}:ro`],
|
|
415
|
+
});
|
|
416
|
+
}
|
|
417
|
+
// Cameras: every on-device camera is read by ONE shared capture component that
|
|
418
|
+
// owns a set of cameras (one cameras.json entry per channel id) and selects one
|
|
419
|
+
// by name per request — so they all point at the same service URL and only a
|
|
420
|
+
// single component is emitted. A network camera points at the operator's own
|
|
421
|
+
// capture endpoint. Credential-free — a trusted in-deployment endpoint.
|
|
422
|
+
const cameraComponents = [];
|
|
423
|
+
let cameraDeviceCount = 0;
|
|
424
|
+
let hasGstreamerCamera = false;
|
|
425
|
+
const cameraDevices = new Set();
|
|
426
|
+
for (const ch of req.cameraChannels) {
|
|
427
|
+
const b = inputs.cameras[ch.id];
|
|
428
|
+
if (!b)
|
|
429
|
+
throw new Error(`unbound camera ${ch.id}`); // unreachable after assertDeployable
|
|
430
|
+
const ref = refs.alloc(`camera:${ch.id}`, basename(ch.id));
|
|
431
|
+
mapping[ch.id] = { ref };
|
|
432
|
+
if (b.location === "device") {
|
|
433
|
+
externalResources[ref] = { type: "camera", url: `http://${cameraComponentServiceName()}:${CAMERA_COMPONENT_PORT}` };
|
|
434
|
+
cameraDeviceCount++;
|
|
435
|
+
// v4l2 reads a /dev/video* node, passed through to the component container. A
|
|
436
|
+
// gstreamer source (e.g. libcamerasrc) drives the full media graph, which
|
|
437
|
+
// has no single node to grant here — the operator wires those devices in.
|
|
438
|
+
if (b.source === "v4l2")
|
|
439
|
+
cameraDevices.add(b.device);
|
|
440
|
+
else
|
|
441
|
+
hasGstreamerCamera = true;
|
|
442
|
+
// Nodes the binding's setup commands touch (media graph, subdevices).
|
|
443
|
+
for (const d of b.devices ?? [])
|
|
444
|
+
cameraDevices.add(d);
|
|
445
|
+
}
|
|
446
|
+
else {
|
|
447
|
+
externalResources[ref] = { type: "camera", url: b.url };
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
// One shared component for all on-device cameras (not one per camera). The camera
|
|
451
|
+
// set is described by cameras.json (one entry per channel id), bind-mounted
|
|
452
|
+
// read-only at the standard component config path — the same config.json every
|
|
453
|
+
// component boots from, so no env var is wired.
|
|
454
|
+
if (cameraDeviceCount > 0) {
|
|
455
|
+
const service = cameraComponentServiceName();
|
|
456
|
+
const volumes = [`${workspaceDir(service)}/cameras.json:${COMPONENT_CONFIG_PATH}:ro`];
|
|
457
|
+
// libcamera (gstreamer sources) discovers cameras through the host's udev
|
|
458
|
+
// device database; without this mount the component sees no camera at all.
|
|
459
|
+
if (hasGstreamerCamera)
|
|
460
|
+
volumes.push("/run/udev:/run/udev:ro");
|
|
461
|
+
const camera = {
|
|
462
|
+
name: service,
|
|
463
|
+
image: meta.cameraComponentImage,
|
|
464
|
+
pull: "never", // built locally before deploy, in no registry
|
|
465
|
+
volumes,
|
|
466
|
+
};
|
|
467
|
+
if (cameraDevices.size > 0)
|
|
468
|
+
camera.devices = [...cameraDevices];
|
|
469
|
+
cameraComponents.push(camera);
|
|
470
|
+
}
|
|
301
471
|
const manifest = {};
|
|
302
472
|
if (Object.keys(gpios).length)
|
|
303
473
|
manifest.gpios = gpios;
|
|
@@ -322,15 +492,15 @@ export function buildDeploymentSpec(workflow, inputs, meta, customComponents = [
|
|
|
322
492
|
// The engine component. The config blob is mounted at the fixed convention path
|
|
323
493
|
// (component.ConfigFile) the engine image reads.
|
|
324
494
|
const engine = {
|
|
325
|
-
name:
|
|
495
|
+
name: ENGINE_COMPONENT_NAME,
|
|
326
496
|
image: meta.engineImage,
|
|
327
497
|
pull: "never", // built locally before deploy, in no registry
|
|
328
498
|
config,
|
|
329
499
|
// Durable memory: a host bind mount under the state root, read-write, at the
|
|
330
|
-
// in-container workspace path (docs/
|
|
331
|
-
volumes: [`${workspaceDir(
|
|
500
|
+
// in-container workspace path (COMPONENT_WORKSPACE_PATH; docs/component-contract.md).
|
|
501
|
+
volumes: [`${workspaceDir(ENGINE_COMPONENT_NAME)}:${COMPONENT_WORKSPACE_PATH}`],
|
|
332
502
|
// Run as root: writes the rw workspace bind mount without a host chown step
|
|
333
|
-
// (the OSS default
|
|
503
|
+
// (the OSS default), and also opens root-owned device nodes when hardware
|
|
334
504
|
// (cdev passthrough / sysfs-privileged) is mapped in below.
|
|
335
505
|
user: "0:0",
|
|
336
506
|
};
|
|
@@ -338,7 +508,7 @@ export function buildDeploymentSpec(workflow, inputs, meta, customComponents = [
|
|
|
338
508
|
engine.devices = [...cdev];
|
|
339
509
|
if (privileged)
|
|
340
510
|
engine.privileged = true;
|
|
341
|
-
const components = [engine, ...llamaComponents, ...customComponents];
|
|
511
|
+
const components = [engine, ...llamaComponents, ...mlComponents, ...cameraComponents, ...customComponents];
|
|
342
512
|
assertNoNameCollisions(components);
|
|
343
513
|
const spec = {
|
|
344
514
|
schemaVersion: 1,
|
package/dist/deploy/spec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../../src/deploy/spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../../src/deploy/spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -151,8 +151,13 @@ function inferBinaryType(node, ctx, errors) {
|
|
|
151
151
|
// If either operand failed to type, propagate null
|
|
152
152
|
if (!leftType || !rightType)
|
|
153
153
|
return null;
|
|
154
|
-
// String concatenation: string + any → string
|
|
154
|
+
// String concatenation: string + any → string. An image has no text form,
|
|
155
|
+
// so it cannot be concatenated even though the other operand is a string.
|
|
155
156
|
if (op === "+" && (leftType === "string" || rightType === "string")) {
|
|
157
|
+
if (leftType === "image" || rightType === "image") {
|
|
158
|
+
errors.push("An image value cannot be used in a string expression");
|
|
159
|
+
return null;
|
|
160
|
+
}
|
|
156
161
|
return "string";
|
|
157
162
|
}
|
|
158
163
|
// Arithmetic operators: int/float → int/float (promote to float if either is float)
|
|
@@ -284,6 +289,10 @@ function isCompatible(from, to) {
|
|
|
284
289
|
return true;
|
|
285
290
|
if (isNumeric(from) && isNumeric(to))
|
|
286
291
|
return true;
|
|
292
|
+
// An image is opaque binary with no text form; it is only compatible with an
|
|
293
|
+
// image sink (handled by from === to above), never the string catch-all.
|
|
294
|
+
if (from === "image")
|
|
295
|
+
return false;
|
|
287
296
|
if (to === "string")
|
|
288
297
|
return true;
|
|
289
298
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/expression/parser.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/expression/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ModelDefinition } from "./ModelDefinition";
|
|
2
|
+
/**
|
|
3
|
+
* A declared machine-learning model, served by an inference component, that nodes
|
|
4
|
+
* can reference. The component selects the model by id and derives its behaviour
|
|
5
|
+
* from the mounted model bundle, so nothing needs to be configured here.
|
|
6
|
+
*/
|
|
7
|
+
export declare const MLModelDefinition: ModelDefinition;
|
|
8
|
+
//# sourceMappingURL=MLModelDefinition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MLModelDefinition.d.ts","sourceRoot":"","sources":["../../src/model/MLModelDefinition.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,eAK/B,CAAC"}
|