@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.
Files changed (110) hide show
  1. package/dist/api/camera.d.ts +254 -0
  2. package/dist/api/camera.d.ts.map +1 -0
  3. package/dist/api/camera.js +6 -0
  4. package/dist/api/camera.js.map +1 -0
  5. package/dist/api/engine.d.ts +89 -10
  6. package/dist/api/engine.d.ts.map +1 -1
  7. package/dist/api/index.d.ts +0 -4
  8. package/dist/api/index.d.ts.map +1 -1
  9. package/dist/api/workflow.d.ts +61 -4
  10. package/dist/api/workflow.d.ts.map +1 -1
  11. package/dist/channel/Channel.d.ts +1 -1
  12. package/dist/channel/Channel.d.ts.map +1 -1
  13. package/dist/channel/Channel.js +1 -1
  14. package/dist/channel/Channel.js.map +1 -1
  15. package/dist/channel/ChannelDefinition.d.ts.map +1 -1
  16. package/dist/channel/ChannelDefinition.js +16 -0
  17. package/dist/channel/ChannelDefinition.js.map +1 -1
  18. package/dist/channel/serialization.d.ts.map +1 -1
  19. package/dist/channel/serialization.js +6 -0
  20. package/dist/channel/serialization.js.map +1 -1
  21. package/dist/deploy/bindingRequirements.d.ts +4 -0
  22. package/dist/deploy/bindingRequirements.d.ts.map +1 -0
  23. package/dist/deploy/bindingRequirements.js +59 -0
  24. package/dist/deploy/bindingRequirements.js.map +1 -0
  25. package/dist/deploy/constants.d.ts +8 -0
  26. package/dist/deploy/constants.d.ts.map +1 -0
  27. package/dist/deploy/constants.js +26 -0
  28. package/dist/deploy/constants.js.map +1 -0
  29. package/dist/deploy/index.d.ts +3 -5
  30. package/dist/deploy/index.d.ts.map +1 -1
  31. package/dist/deploy/index.js +10 -2
  32. package/dist/deploy/index.js.map +1 -1
  33. package/dist/deploy/inputs.d.ts +30 -3
  34. package/dist/deploy/inputs.d.ts.map +1 -1
  35. package/dist/deploy/requirements.d.ts +4 -36
  36. package/dist/deploy/requirements.d.ts.map +1 -1
  37. package/dist/deploy/requirements.js +48 -76
  38. package/dist/deploy/requirements.js.map +1 -1
  39. package/dist/deploy/spec.d.ts +10 -4
  40. package/dist/deploy/spec.d.ts.map +1 -1
  41. package/dist/deploy/spec.js +233 -63
  42. package/dist/deploy/spec.js.map +1 -1
  43. package/dist/expression/parser.js +10 -1
  44. package/dist/expression/parser.js.map +1 -1
  45. package/dist/model/MLModelDefinition.d.ts +8 -0
  46. package/dist/model/MLModelDefinition.d.ts.map +1 -0
  47. package/dist/model/MLModelDefinition.js +14 -0
  48. package/dist/model/MLModelDefinition.js.map +1 -0
  49. package/dist/model/Model.d.ts +2 -1
  50. package/dist/model/Model.d.ts.map +1 -1
  51. package/dist/model/Model.js +1 -1
  52. package/dist/model/Model.js.map +1 -1
  53. package/dist/model/ModelRegistry.d.ts.map +1 -1
  54. package/dist/model/ModelRegistry.js +2 -0
  55. package/dist/model/ModelRegistry.js.map +1 -1
  56. package/dist/model/index.d.ts +1 -0
  57. package/dist/model/index.d.ts.map +1 -1
  58. package/dist/model/index.js +1 -0
  59. package/dist/model/index.js.map +1 -1
  60. package/dist/model/serialization.d.ts.map +1 -1
  61. package/dist/model/serialization.js +5 -0
  62. package/dist/model/serialization.js.map +1 -1
  63. package/dist/node/InputNode.d.ts +10 -2
  64. package/dist/node/InputNode.d.ts.map +1 -1
  65. package/dist/node/InputNode.js +16 -0
  66. package/dist/node/InputNode.js.map +1 -1
  67. package/dist/node/MLInferenceNode.d.ts +15 -0
  68. package/dist/node/MLInferenceNode.d.ts.map +1 -0
  69. package/dist/node/MLInferenceNode.js +26 -0
  70. package/dist/node/MLInferenceNode.js.map +1 -0
  71. package/dist/node/Node.d.ts +3 -2
  72. package/dist/node/Node.d.ts.map +1 -1
  73. package/dist/node/NodeRegistry.d.ts.map +1 -1
  74. package/dist/node/NodeRegistry.js +4 -1
  75. package/dist/node/NodeRegistry.js.map +1 -1
  76. package/dist/node/methods.d.ts.map +1 -1
  77. package/dist/node/methods.js +6 -0
  78. package/dist/node/methods.js.map +1 -1
  79. package/dist/node/serialization.d.ts.map +1 -1
  80. package/dist/node/serialization.js +42 -0
  81. package/dist/node/serialization.js.map +1 -1
  82. package/package.json +2 -2
  83. package/src/api/index.ts +0 -15
  84. package/src/api/workflow.ts +61 -4
  85. package/src/channel/Channel.ts +2 -2
  86. package/src/channel/ChannelDefinition.ts +16 -0
  87. package/src/channel/serialization.ts +6 -0
  88. package/src/deploy/constants.ts +30 -0
  89. package/src/deploy/index.ts +14 -17
  90. package/src/deploy/requirements.test.ts +164 -64
  91. package/src/deploy/requirements.ts +104 -159
  92. package/src/diagnostics/diagnostics.test.ts +40 -22
  93. package/src/expression/parser.ts +9 -1
  94. package/src/model/MLModelDefinition.ts +16 -0
  95. package/src/model/Model.ts +6 -2
  96. package/src/model/ModelRegistry.ts +2 -0
  97. package/src/model/index.ts +1 -0
  98. package/src/model/serialization.ts +5 -0
  99. package/src/node/InputNode.ts +28 -2
  100. package/src/node/MLInferenceNode.ts +46 -0
  101. package/src/node/Node.ts +3 -1
  102. package/src/node/NodeRegistry.ts +4 -1
  103. package/src/node/methods.ts +6 -0
  104. package/src/node/serialization.ts +44 -2
  105. package/src/workflow/serialization.test.ts +53 -0
  106. package/src/api/deployment.ts +0 -74
  107. package/src/api/engine.ts +0 -744
  108. package/src/deploy/inputs.ts +0 -44
  109. package/src/deploy/spec.test.ts +0 -227
  110. package/src/deploy/spec.ts +0 -397
@@ -1 +1 @@
1
- {"version":3,"file":"requirements.js","sourceRoot":"","sources":["../../src/deploy/requirements.ts"],"names":[],"mappings":"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"}
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"}
@@ -1,7 +1,8 @@
1
- import type { Workflow } from "../workflow";
2
1
  import type { DeploymentSchemas } from "../api";
3
- import type { DeployRequirements, HardwareChannel, HardwareFamily } from "./requirements";
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 sidecarServiceName(modelId: string): string;
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,iBAAiB,EAAiB,MAAM,QAAQ,CAAC;AAE/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC1F,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAElE,KAAK,cAAc,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AAC1D,KAAK,eAAe,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;AA0B5D,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;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;AAwCD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAM1D;AAKD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAMrE;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,CAwBxF;AAkBD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,kBAAkB,EACxB,gBAAgB,GAAE,eAAe,EAAO,GACvC,oBAAoB,CAkKtB"}
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"}
@@ -2,12 +2,15 @@
2
2
  // Copyright (c) 2026 ForestHub.
3
3
  import { serialize } from "../workflow";
4
4
  import { deriveRequirements } from "./requirements";
5
- // In-container mount path for a component's durable workspace. MUST equal the Go
6
- // component.Workspace contract constant (go/component/paths.go) the component
7
- // reads/writes there, so we mount the host workspace dir there and wire no env var.
8
- // A cross-repo contract: changing it requires changing the Go constant in lockstep.
9
- const COMPONENT_WORKSPACE_PATH = "/var/lib/foresthub/workspace";
10
- // The OSS renderer's state root (docs/device-filesystem.md §2). Bind-mount sources
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 broker URL, for a readable ref. "mqtt" when unparseable.
44
- function brokerHost(url) {
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 || "mqtt";
50
+ return new URL(url).hostname || "host";
47
51
  }
48
52
  catch {
49
- return "mqtt";
53
+ return "host";
50
54
  }
51
55
  }
52
- // Compose/container service name for an on-device model's llama-server sidecar.
53
- // Single source of truth: the resolver derives the provider URL from it and the
54
- // renderer emits a service with the same name they must agree or the URL
55
- // points at a service that doesn't exist.
56
- export function sidecarServiceName(modelId) {
57
- const slug = modelId
58
- .toLowerCase()
59
- .replace(/[^a-z0-9._-]+/g, "-")
60
- .replace(/^-+|-+$/g, "");
61
- return `llama-${slug || "model"}`;
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 model's workspace dir (./workspaces/llama-…/)";
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.customModels) {
152
- const b = inputs.models[m.id];
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-${brokerHost(b.brokerUrl)}`);
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: one self-hosted provider per model id. A device model points
259
- // at the sidecar we run (over the container network, no key) and gets its own
260
- // llama-server component; a network model points at the operator's endpoint and
261
- // runs no component here. `model` is left off the endpoint serves under the
262
- // workflow id (no upstream-name aliasing yet).
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
- for (const m of req.customModels) {
265
- const b = inputs.models[m.id];
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 port = b.port ?? 8080;
272
- const service = sidecarServiceName(m.id);
273
- externalResources[ref] = { type: "selfhosted", url: `http://${service}:${port}` };
274
- // The whole config is CLI flags, so it rides in `command` (no config blob).
275
- // ctx-size is frozen here retuning it is a re-deploy, not an env edit.
276
- llamaComponents.push({
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
- externalResources[ref] = { type: "selfhosted", url: b.url };
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: "engine",
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/device-filesystem.md §10).
331
- volumes: [`${workspaceDir("engine")}:${COMPONENT_WORKSPACE_PATH}`],
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, §5), and also opens root-owned device nodes when hardware
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,
@@ -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"}