@nodetool-ai/node-sdk 0.7.0-rc.23 → 0.8.2

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 (158) hide show
  1. package/README.md +34 -0
  2. package/dist/.nodetool-build-stamp +1 -0
  3. package/dist/base-node.d.ts +285 -14
  4. package/dist/base-node.d.ts.map +1 -1
  5. package/dist/base-node.js +359 -49
  6. package/dist/base-node.js.map +1 -1
  7. package/dist/class-name-to-title.d.ts +26 -0
  8. package/dist/class-name-to-title.d.ts.map +1 -0
  9. package/dist/class-name-to-title.js +59 -0
  10. package/dist/class-name-to-title.js.map +1 -0
  11. package/dist/code-analysis.d.ts +234 -0
  12. package/dist/code-analysis.d.ts.map +1 -0
  13. package/dist/code-analysis.js +919 -0
  14. package/dist/code-analysis.js.map +1 -0
  15. package/dist/code-body.d.ts +61 -0
  16. package/dist/code-body.d.ts.map +1 -0
  17. package/dist/code-body.js +288 -0
  18. package/dist/code-body.js.map +1 -0
  19. package/dist/code-node-validation.d.ts +67 -0
  20. package/dist/code-node-validation.d.ts.map +1 -0
  21. package/dist/code-node-validation.js +540 -0
  22. package/dist/code-node-validation.js.map +1 -0
  23. package/dist/content-card.d.ts +30 -0
  24. package/dist/content-card.d.ts.map +1 -0
  25. package/dist/content-card.js +68 -0
  26. package/dist/content-card.js.map +1 -0
  27. package/dist/correlation-validation.d.ts +19 -0
  28. package/dist/correlation-validation.d.ts.map +1 -0
  29. package/dist/correlation-validation.js +101 -0
  30. package/dist/correlation-validation.js.map +1 -0
  31. package/dist/cost-estimate.d.ts +244 -0
  32. package/dist/cost-estimate.d.ts.map +1 -0
  33. package/dist/cost-estimate.js +637 -0
  34. package/dist/cost-estimate.js.map +1 -0
  35. package/dist/decorators.d.ts.map +1 -1
  36. package/dist/decorators.js +4 -1
  37. package/dist/decorators.js.map +1 -1
  38. package/dist/docs/nodes.d.ts.map +1 -1
  39. package/dist/docs/nodes.js +3 -2
  40. package/dist/docs/nodes.js.map +1 -1
  41. package/dist/docs/overview.d.ts.map +1 -1
  42. package/dist/docs/overview.js +4 -3
  43. package/dist/docs/overview.js.map +1 -1
  44. package/dist/docs/workflows.d.ts.map +1 -1
  45. package/dist/docs/workflows.js +10 -9
  46. package/dist/docs/workflows.js.map +1 -1
  47. package/dist/field-classification.d.ts +31 -0
  48. package/dist/field-classification.d.ts.map +1 -0
  49. package/dist/field-classification.js +58 -0
  50. package/dist/field-classification.js.map +1 -0
  51. package/dist/graph-validation.d.ts +239 -0
  52. package/dist/graph-validation.d.ts.map +1 -0
  53. package/dist/graph-validation.js +1174 -0
  54. package/dist/graph-validation.js.map +1 -0
  55. package/dist/index.d.ts +27 -2
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +29 -1
  58. package/dist/index.js.map +1 -1
  59. package/dist/js-script-link.d.ts +53 -0
  60. package/dist/js-script-link.d.ts.map +1 -0
  61. package/dist/js-script-link.js +58 -0
  62. package/dist/js-script-link.js.map +1 -0
  63. package/dist/js-script-materialize.d.ts +52 -0
  64. package/dist/js-script-materialize.d.ts.map +1 -0
  65. package/dist/js-script-materialize.js +24 -0
  66. package/dist/js-script-materialize.js.map +1 -0
  67. package/dist/manifest-node-values.d.ts +106 -0
  68. package/dist/manifest-node-values.d.ts.map +1 -0
  69. package/dist/manifest-node-values.js +195 -0
  70. package/dist/manifest-node-values.js.map +1 -0
  71. package/dist/metadata.d.ts +75 -3
  72. package/dist/metadata.d.ts.map +1 -1
  73. package/dist/metadata.js +132 -49
  74. package/dist/metadata.js.map +1 -1
  75. package/dist/node-metadata.d.ts.map +1 -1
  76. package/dist/node-metadata.js +61 -56
  77. package/dist/node-metadata.js.map +1 -1
  78. package/dist/node-type-inventory.d.ts +51 -0
  79. package/dist/node-type-inventory.d.ts.map +1 -0
  80. package/dist/node-type-inventory.js +121 -0
  81. package/dist/node-type-inventory.js.map +1 -0
  82. package/dist/nodes/test-nodes.d.ts +77 -30
  83. package/dist/nodes/test-nodes.d.ts.map +1 -1
  84. package/dist/nodes/test-nodes.js +2 -34
  85. package/dist/nodes/test-nodes.js.map +1 -1
  86. package/dist/pack-loader.d.ts +202 -0
  87. package/dist/pack-loader.d.ts.map +1 -0
  88. package/dist/pack-loader.js +529 -0
  89. package/dist/pack-loader.js.map +1 -0
  90. package/dist/port-types.d.ts +15 -0
  91. package/dist/port-types.d.ts.map +1 -0
  92. package/dist/port-types.js +72 -0
  93. package/dist/port-types.js.map +1 -0
  94. package/dist/pricing-bundle.d.ts +83 -0
  95. package/dist/pricing-bundle.d.ts.map +1 -0
  96. package/dist/pricing-bundle.js +82 -0
  97. package/dist/pricing-bundle.js.map +1 -0
  98. package/dist/pricing-params.d.ts +59 -0
  99. package/dist/pricing-params.d.ts.map +1 -0
  100. package/dist/pricing-params.js +282 -0
  101. package/dist/pricing-params.js.map +1 -0
  102. package/dist/python-package-scan.d.ts +8 -0
  103. package/dist/python-package-scan.d.ts.map +1 -1
  104. package/dist/python-package-scan.js +21 -8
  105. package/dist/python-package-scan.js.map +1 -1
  106. package/dist/registry.d.ts +105 -2
  107. package/dist/registry.d.ts.map +1 -1
  108. package/dist/registry.js +403 -30
  109. package/dist/registry.js.map +1 -1
  110. package/dist/sandbox-bridge-packs.d.ts +39 -0
  111. package/dist/sandbox-bridge-packs.d.ts.map +1 -0
  112. package/dist/sandbox-bridge-packs.js +249 -0
  113. package/dist/sandbox-bridge-packs.js.map +1 -0
  114. package/dist/sandbox-catalog-host.d.ts +31 -0
  115. package/dist/sandbox-catalog-host.d.ts.map +1 -0
  116. package/dist/sandbox-catalog-host.js +78 -0
  117. package/dist/sandbox-catalog-host.js.map +1 -0
  118. package/dist/sandbox-module-catalog.d.ts +14 -0
  119. package/dist/sandbox-module-catalog.d.ts.map +1 -0
  120. package/dist/sandbox-module-catalog.js +402 -0
  121. package/dist/sandbox-module-catalog.js.map +1 -0
  122. package/dist/sandbox-npm-artifacts.d.ts +56 -0
  123. package/dist/sandbox-npm-artifacts.d.ts.map +1 -0
  124. package/dist/sandbox-npm-artifacts.js +17 -0
  125. package/dist/sandbox-npm-artifacts.js.map +1 -0
  126. package/dist/sandbox-pack-discovery.d.ts +93 -0
  127. package/dist/sandbox-pack-discovery.d.ts.map +1 -0
  128. package/dist/sandbox-pack-discovery.js +807 -0
  129. package/dist/sandbox-pack-discovery.js.map +1 -0
  130. package/dist/search.d.ts +29 -1
  131. package/dist/search.d.ts.map +1 -1
  132. package/dist/search.js +136 -9
  133. package/dist/search.js.map +1 -1
  134. package/dist/type-compat.d.ts +36 -0
  135. package/dist/type-compat.d.ts.map +1 -0
  136. package/dist/type-compat.js +98 -0
  137. package/dist/type-compat.js.map +1 -0
  138. package/dist/type-predicates.d.ts +25 -0
  139. package/dist/type-predicates.d.ts.map +1 -0
  140. package/dist/type-predicates.js +31 -0
  141. package/dist/type-predicates.js.map +1 -0
  142. package/dist/validation.d.ts +18 -0
  143. package/dist/validation.d.ts.map +1 -1
  144. package/dist/validation.js +70 -11
  145. package/dist/validation.js.map +1 -1
  146. package/dist/workflow-document-tools.d.ts +35 -0
  147. package/dist/workflow-document-tools.d.ts.map +1 -0
  148. package/dist/workflow-document-tools.js +402 -0
  149. package/dist/workflow-document-tools.js.map +1 -0
  150. package/dist/workflow-interface.d.ts +62 -0
  151. package/dist/workflow-interface.d.ts.map +1 -0
  152. package/dist/workflow-interface.js +351 -0
  153. package/dist/workflow-interface.js.map +1 -0
  154. package/package.json +67 -10
  155. package/dist/package-registry-client.d.ts +0 -12
  156. package/dist/package-registry-client.d.ts.map +0 -1
  157. package/dist/package-registry-client.js +0 -40
  158. package/dist/package-registry-client.js.map +0 -1
@@ -1,14 +1,22 @@
1
- import type { NodeDescriptor } from "@nodetool-ai/protocol";
1
+ import type { GraphData, HydratedGraphData, NodeDescriptor, Platform } from "@nodetool-ai/protocol";
2
2
  import type { NodeExecutor, ResolvedNodeType } from "@nodetool-ai/kernel";
3
3
  import type { NodeClass } from "./base-node.js";
4
4
  import type { NodeMetadata, PythonMetadataLoadOptions, PythonMetadataLoadResult } from "./metadata.js";
5
5
  import type { NodePropertyValidationIssue } from "./validation.js";
6
+ import type { ScoredNode, ScoreOptions } from "./search.js";
6
7
  export interface NodeRegistryOptions {
7
8
  metadataByType?: Map<string, NodeMetadata>;
8
9
  strictMetadata?: boolean;
9
10
  }
11
+ export type NodeMetadataSource = "typescript" | "python-package" | "python-bridge" | "loaded-metadata";
10
12
  export interface RegisterNodeOptions {
11
13
  metadata?: NodeMetadata;
14
+ source?: NodeMetadataSource;
15
+ packageId?: string;
16
+ }
17
+ export interface LoadMetadataOptions {
18
+ source?: NodeMetadataSource;
19
+ packageId?: string;
12
20
  }
13
21
  export interface RegistryGraphResolverOptions {
14
22
  loadNamespace?: (namespace: string, registry: NodeRegistry) => Promise<void> | void;
@@ -17,9 +25,35 @@ export declare class NodeRegistry {
17
25
  private _classes;
18
26
  private _loadedMetadataByType;
19
27
  private _registeredMetadataByType;
28
+ private _loadedMetadataSourceByType;
29
+ private _registeredMetadataSourceByType;
30
+ private _loadedPackageIdByType;
31
+ private _registeredPackageIdByType;
32
+ private _activePackageId;
20
33
  private _strictMetadata;
34
+ private _revision;
35
+ private _mergedMetadataCache;
36
+ private _searchIndexCache;
21
37
  constructor(options?: NodeRegistryOptions);
22
38
  register(nodeClass: NodeClass, options?: RegisterNodeOptions): void;
39
+ /**
40
+ * Drop the memoized metadata array and search index. Called by every
41
+ * mutation so the next read rebuilds from the current maps.
42
+ */
43
+ private invalidateMetadataCaches;
44
+ /**
45
+ * Attribute synchronous registrar calls to an explicit package identity.
46
+ * Package registration functions are synchronous by contract.
47
+ */
48
+ registerPackage(packageId: string, registrar: (registry: NodeRegistry) => void): void;
49
+ /** Monotonic metadata revision used to invalidate derived contract caches. */
50
+ get revision(): number;
51
+ /**
52
+ * Merged metadata for every node (loaded Python metadata first, registered TS
53
+ * metadata last so a TS class wins on a node_type collision). Built once and
54
+ * memoized; callers that mutate the result must copy it first.
55
+ */
56
+ private mergedMetadata;
23
57
  /**
24
58
  * Validate a node descriptor against its registered class's @prop schema.
25
59
  *
@@ -34,21 +68,90 @@ export declare class NodeRegistry {
34
68
  * reference to the registry itself.
35
69
  */
36
70
  createNodeValidator(): (descriptor: NodeDescriptor, connectedHandles: ReadonlySet<string>) => NodePropertyValidationIssue[];
71
+ /**
72
+ * Return a new NodeRegistry containing only the node classes that declare
73
+ * support for `target`. Loaded (Python) metadata is copied across when the
74
+ * matching class is included.
75
+ *
76
+ * Used at bundle / deployment time to construct a registry tailored to the
77
+ * active platform — the workflow runner then naturally fails on any graph
78
+ * referencing an unsupported node type.
79
+ */
80
+ forPlatform(target: Platform): NodeRegistry;
81
+ /**
82
+ * Validator that rejects nodes not supporting `target`. Compose with
83
+ * {@link createNodeValidator} when enforcing platform constraints in a
84
+ * registry that contains nodes for multiple platforms.
85
+ */
86
+ createPlatformValidator(target: Platform): (descriptor: NodeDescriptor, connectedHandles: ReadonlySet<string>) => NodePropertyValidationIssue[];
37
87
  resolve(descriptor: NodeDescriptor): NodeExecutor;
38
88
  getClass(nodeType: string): NodeClass | undefined;
39
89
  has(nodeType: string): boolean;
40
90
  list(): string[];
41
91
  getMetadata(nodeType: string): NodeMetadata | undefined;
92
+ getMetadataSource(nodeType: string): NodeMetadataSource | undefined;
93
+ /**
94
+ * Exact package identity recorded by the loader or registrar for this node.
95
+ * Undefined means package provenance is not authoritative.
96
+ */
97
+ getNodePackageId(nodeType: string): string | undefined;
98
+ /** Exact package identities represented by the current registry. */
99
+ listNodePackageIds(): string[];
42
100
  resolveMetadata(nodeType: string): NodeMetadata | undefined;
43
101
  listMetadata(): NodeMetadata[];
102
+ /**
103
+ * Rank registered nodes against `terms` using a memoized search index.
104
+ *
105
+ * Equivalent to `rankNodeMetadata(this.listMetadata(), terms, options)` but
106
+ * reuses a precomputed index across calls — the planner's inner loop. The
107
+ * index is invalidated whenever the registry changes.
108
+ */
109
+ searchMetadata(terms: readonly string[], options?: ScoreOptions): ScoredNode[];
44
110
  listRegisteredNodeTypesWithoutMetadata(): string[];
45
111
  /** Add or replace metadata for a node type (e.g. from Python bridge). */
46
- loadMetadata(nodeType: string, metadata: NodeMetadata): void;
112
+ loadMetadata(nodeType: string, metadata: NodeMetadata, options?: LoadMetadataOptions): void;
47
113
  loadPythonMetadata(options?: PythonMetadataLoadOptions): PythonMetadataLoadResult;
114
+ /**
115
+ * Remove a node type from the registry.
116
+ * Returns true if the node type was present and removed.
117
+ */
118
+ unregister(nodeType: string): boolean;
48
119
  clear(): void;
49
120
  static readonly global: NodeRegistry;
50
121
  }
51
122
  export declare function register(nodeClass: NodeClass): void;
123
+ /**
124
+ * Stamp streaming/control flags from the registry onto graph descriptors.
125
+ * Graphs arriving from a client carry only `type` and `properties`, and the
126
+ * kernel actor trusts `node.is_streaming_input` to pick run() over a one-shot
127
+ * process() — without this every streaming node "completes" instantly with
128
+ * empty outputs. The full-fat equivalent (which also resolves property/output
129
+ * types and drops unknown node types) is `Graph.loadFromDict` with
130
+ * `createGraphNodeTypeResolver`; this is the lightweight synchronous version
131
+ * for runners that only need correct execution semantics.
132
+ *
133
+ * Flags are resolved from the node's registered TS class when present, else
134
+ * from its loaded metadata (Python nodes have no TS class — they live only as
135
+ * metadata loaded from the worker's `package_metadata`, so `getClass` returns
136
+ * undefined and we must consult `resolveMetadata` or a streaming Python node
137
+ * read from a saved graph silently runs one-shot). This mirrors
138
+ * `Graph.loadFromDict`, which already reads the Python flag from metadata.
139
+ * `is_streaming_output` is derived from a TS class via `hasStreamingOutput`
140
+ * (purely structural: a `genProcess` override or iteration/forward/chunk
141
+ * correlation — ForEach, Collection, RepeatCount), and from the metadata's
142
+ * already-resolved boolean otherwise. Node types the registry doesn't know at
143
+ * all keep their own flags, defaulted to false (resolveExecutor reports
144
+ * unknown types loudly).
145
+ */
146
+ export declare function hydrateGraphNodeFlags(graph: GraphData, registry: Pick<NodeRegistry, "getClass" | "resolveMetadata">): HydratedGraphData;
147
+ /**
148
+ * The declared input types of one node type, as a `propertyTypes`-shaped map
149
+ * (`{[property]: "list[image]" | "str" | …}`). This is the kernel's authority
150
+ * on list-ness — correlation analysis and multi-edge fan-in read it — so
151
+ * hydration paths that do not go through `Graph.loadFromDict` stamp it from
152
+ * here rather than re-deriving the rendering.
153
+ */
154
+ export declare function propertyTypesForMetadata(metadata: NodeMetadata): Record<string, string>;
52
155
  export declare function createGraphNodeTypeResolver(registry: NodeRegistry, options?: RegistryGraphResolverOptions): {
53
156
  resolveNodeType: (nodeType: string) => Promise<ResolvedNodeType | null>;
54
157
  };
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EACV,YAAY,EACZ,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAEnE,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC3C,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED,MAAM,WAAW,4BAA4B;IAC3C,aAAa,CAAC,EAAE,CACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,YAAY,KACnB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC3B;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,qBAAqB,CAAmC;IAChE,OAAO,CAAC,yBAAyB,CAAmC;IACpE,OAAO,CAAC,eAAe,CAAU;gBAErB,OAAO,GAAE,mBAAwB;IAS7C,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,GAAE,mBAAwB,GAAG,IAAI;IAqBvE;;;;;;OAMG;IACH,YAAY,CACV,UAAU,EAAE,cAAc,EAC1B,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,GAC7D,2BAA2B,EAAE;IAWhC;;;;OAIG;IACH,mBAAmB,IAAI,CACrB,UAAU,EAAE,cAAc,EAC1B,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,KAClC,2BAA2B,EAAE;IAKlC,OAAO,CAAC,UAAU,EAAE,cAAc,GAAG,YAAY;IAgBjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIjD,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI9B,IAAI,IAAI,MAAM,EAAE;IAIhB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAOvD,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAS3D,YAAY,IAAI,YAAY,EAAE;IAc9B,sCAAsC,IAAI,MAAM,EAAE;IAMlD,yEAAyE;IACzE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI;IAI5D,kBAAkB,CAChB,OAAO,GAAE,yBAA8B,GACtC,wBAAwB;IAQ3B,KAAK,IAAI,IAAI;IAMb,MAAM,CAAC,QAAQ,CAAC,MAAM,eAAsB;CAC7C;AAED,wBAAgB,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAEnD;AAoBD,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,YAAY,EACtB,OAAO,GAAE,4BAAiC,GACzC;IAAE,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;CAAE,CA2D7E"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}