@decaf-ts/ui-decorators 0.20.1 → 0.20.3

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 (40) hide show
  1. package/dist/ui-decorators.cjs +1 -1
  2. package/lib/cjs/graph/catalog/GraphNodePolicyManifest.cjs +7 -0
  3. package/lib/cjs/graph/catalog/GraphNodePolicyManifest.cjs.map +1 -1
  4. package/lib/cjs/graph/constants.cjs +1 -15
  5. package/lib/cjs/graph/constants.cjs.map +1 -1
  6. package/lib/cjs/graph/document/GraphDecoratedWorkflowCompiler.cjs +67 -10
  7. package/lib/cjs/graph/document/GraphDecoratedWorkflowCompiler.cjs.map +1 -1
  8. package/lib/cjs/graph/document/GraphWorkflowDocumentBuilder.cjs +46 -4
  9. package/lib/cjs/graph/document/GraphWorkflowDocumentBuilder.cjs.map +1 -1
  10. package/lib/cjs/graph/snapshot.cjs +77 -8
  11. package/lib/cjs/graph/snapshot.cjs.map +1 -1
  12. package/lib/cjs/index.cjs +3 -3
  13. package/lib/cjs/user-requests/UserRequestHandler.cjs +1 -1
  14. package/lib/esm/graph/catalog/GraphNodePolicyManifest.js +7 -0
  15. package/lib/esm/graph/catalog/GraphNodePolicyManifest.js.map +1 -1
  16. package/lib/esm/graph/constants.js +0 -13
  17. package/lib/esm/graph/constants.js.map +1 -1
  18. package/lib/esm/graph/document/GraphDecoratedWorkflowCompiler.js +67 -10
  19. package/lib/esm/graph/document/GraphDecoratedWorkflowCompiler.js.map +1 -1
  20. package/lib/esm/graph/document/GraphWorkflowDocumentBuilder.js +46 -4
  21. package/lib/esm/graph/document/GraphWorkflowDocumentBuilder.js.map +1 -1
  22. package/lib/esm/graph/snapshot.js +77 -8
  23. package/lib/esm/graph/snapshot.js.map +1 -1
  24. package/lib/esm/index.js +3 -3
  25. package/lib/esm/user-requests/UserRequestHandler.js +1 -1
  26. package/lib/types/graph/catalog/GraphNodePolicyManifest.d.cts +35 -0
  27. package/lib/types/graph/catalog/GraphNodePolicyManifest.d.mts +35 -0
  28. package/lib/types/graph/constants.d.cts +0 -8
  29. package/lib/types/graph/constants.d.mts +0 -8
  30. package/lib/types/graph/document/GraphDecoratedWorkflowCompiler.d.cts +21 -0
  31. package/lib/types/graph/document/GraphDecoratedWorkflowCompiler.d.mts +21 -0
  32. package/lib/types/graph/document/GraphWorkflowDocumentBuilder.d.cts +44 -0
  33. package/lib/types/graph/document/GraphWorkflowDocumentBuilder.d.mts +44 -0
  34. package/lib/types/graph/snapshot.d.cts +11 -2
  35. package/lib/types/graph/snapshot.d.mts +11 -2
  36. package/lib/types/index.d.cts +3 -3
  37. package/lib/types/index.d.mts +3 -3
  38. package/lib/types/user-requests/UserRequestHandler.d.cts +1 -1
  39. package/lib/types/user-requests/UserRequestHandler.d.mts +1 -1
  40. package/package.json +1 -1
@@ -190,6 +190,10 @@ function normalizeEdges(edges, relations) {
190
190
  sourceRef: entry.sourceRef ?? current.sourceRef ?? entry.source ?? current.source,
191
191
  target: entry.target || current.target,
192
192
  targetRef: entry.targetRef ?? current.targetRef ?? entry.target ?? current.target,
193
+ // Labels are document-carried display semantics (§4.4.7): a row merged
194
+ // from a canvas clone that never carried its own label must not erase
195
+ // the relation row's label.
196
+ label: entry.label ?? current.label,
193
197
  metadata: {
194
198
  ...(current.metadata || {}),
195
199
  ...(entry.metadata || {}),
@@ -340,13 +344,61 @@ function boundaryAliasesFor(definition) {
340
344
  aliases.add(definition.name);
341
345
  return aliases;
342
346
  }
343
- function legacyEndpoint(refId, port, aliases) {
347
+ function legacyEndpoint(refId, port, aliases, boundaryPortIds) {
344
348
  const resolvedPort = port ?? "";
345
349
  if (!refId || aliases.has(refId)) {
346
350
  return { scope: "workflow", port: resolvedPort };
347
351
  }
352
+ // The legacy decorated-root canvas rendered workflow input ports as draggable
353
+ // boundary badges (`input-{port}`, port handle `value`). Those bindings stay
354
+ // lossless only when the badge id folds back onto the workflow port it was
355
+ // drawn for (DECAF-50 §4.11); otherwise a workflow port would collapse into
356
+ // one shared boundary endpoint and drop real edges (§4.4.6 canonical form).
357
+ if (refId.startsWith("input-")) {
358
+ const workflowPortId = boundaryPortIds?.get(refId.slice("input-".length) ?? "");
359
+ if (workflowPortId) {
360
+ return {
361
+ scope: "workflow",
362
+ port: workflowPortId,
363
+ };
364
+ }
365
+ }
348
366
  return { scope: "node", nodeId: refId, port: resolvedPort };
349
367
  }
368
+ /**
369
+ * Maps workflow input-property names to their legacy boundary-badge ids
370
+ * (`input-{property}`), so badges drawn on the canvas resolve back to the
371
+ * workflow port they represent (§4.11).
372
+ */
373
+ function boundaryPortIdsFor(snapshot) {
374
+ const map = new Map();
375
+ for (const port of snapshot.definition.inputs) {
376
+ map.set(`input-${port.property}`, port.property);
377
+ }
378
+ return map;
379
+ }
380
+ /**
381
+ * Resolves the decorated definition's own edge labels by canonical endpoint
382
+ * pair, so converted legacy edges that never carried a label on the edge row
383
+ * (canvas-drawn clones merged over the relation rows) still restore the
384
+ * document-carried {@link GraphEdgeInstance.label} (§4.4.7) instead of losing
385
+ * the display affordance on save/reload.
386
+ */
387
+ function legacyRelationLabelByEndpoint(snapshot, aliases, boundaryPortIds) {
388
+ const map = new Map();
389
+ for (const relation of snapshot.definition.relations) {
390
+ const label = typeof relation.label === "string" ? relation.label : undefined;
391
+ if (!label)
392
+ continue;
393
+ const sourceRef = typeof relation.source === "string" ? relation.source : undefined;
394
+ const targetRef = typeof relation.target === "string" ? relation.target : undefined;
395
+ map.set(edgePairKeyOf({
396
+ source: legacyEndpoint(sourceRef, relation.sourcePort, aliases, boundaryPortIds),
397
+ target: legacyEndpoint(targetRef, relation.targetPort, aliases, boundaryPortIds),
398
+ }), label);
399
+ }
400
+ return map;
401
+ }
350
402
  function endpointToLegacyRef(endpoint) {
351
403
  if (endpoint.scope === "workflow") {
352
404
  return { refId: "$workflow", port: endpoint.port };
@@ -409,25 +461,42 @@ function nodeInstanceFromLegacy(node) {
409
461
  }
410
462
  return instance;
411
463
  }
412
- function edgeInstanceFromLegacy(edge, aliases) {
413
- const source = legacyEndpoint(edge.sourceRef ?? edge.source, edge.sourcePort, aliases);
414
- const target = legacyEndpoint(edge.targetRef ?? edge.target, edge.targetPort, aliases);
464
+ function edgeInstanceFromLegacy(edge, aliases, boundaryPortIds, relationLabelByPair) {
465
+ const source = legacyEndpoint(edge.sourceRef ?? edge.source, edge.sourcePort, aliases, boundaryPortIds);
466
+ const target = legacyEndpoint(edge.targetRef ?? edge.target, edge.targetPort, aliases, boundaryPortIds);
415
467
  const instance = {
416
468
  id: edge.id,
417
469
  type: "data",
418
470
  source,
419
471
  target,
420
472
  };
421
- if (edge.label)
422
- instance.label = edge.label;
473
+ const label = edge.label ?? relationLabelByPair?.get(edgePairKeyOf({ source, target }));
474
+ if (label)
475
+ instance.label = label;
423
476
  const metadata = sanitizeToGraphJsonValue(edge.metadata ?? {});
424
477
  if (metadata && Object.keys(metadata).length)
425
478
  instance.metadata = metadata;
426
479
  return instance;
427
480
  }
428
- /** Maps a legacy snapshot to the canonical {@link GraphWorkflowDocument}. */
481
+ /** Endpoint-pair key for edge identity (canonical `GraphEndpoint` shape). */
482
+ function edgePairKeyOf(edge) {
483
+ const keyOf = (endpoint) => endpoint.scope === "node"
484
+ ? `node:${endpoint.nodeId}:${endpoint.port}`
485
+ : `workflow:${endpoint.port}`;
486
+ return `${keyOf(edge.source)}->${keyOf(edge.target)}`;
487
+ }
488
+ /**
489
+ * Maps a legacy (pre-P7) canvas snapshot to the canonical
490
+ * {@link GraphWorkflowDocument} (DECAF-50 §4.4.6): legacy `node.data` becomes
491
+ * instance `parameters`, legacy `node.metadata` becomes instance `metadata`,
492
+ * workflow boundary badges (`input-{port}`) fold back onto their workflow
493
+ * ports, and edge labels missing from cloned edge rows are restored from the
494
+ * decorated definition's relation labels (§4.4.7).
495
+ */
429
496
  export function graphWorkflowDocumentFromLegacySnapshot(snapshot) {
430
497
  const aliases = boundaryAliasesFor(snapshot.definition);
498
+ const boundaryPortIds = boundaryPortIdsFor(snapshot);
499
+ const relationLabelByPair = legacyRelationLabelByEndpoint(snapshot, aliases, boundaryPortIds);
431
500
  const inputs = Object.fromEntries(snapshot.state.inputs.map((entry) => [entry.path, sanitizeToGraphJsonValue(entry.value)]));
432
501
  const outputs = Object.fromEntries(snapshot.state.outputs.map((entry) => [entry.path, sanitizeToGraphJsonValue(entry.value)]));
433
502
  const document = {
@@ -436,7 +505,7 @@ export function graphWorkflowDocumentFromLegacySnapshot(snapshot) {
436
505
  inputs: snapshot.definition.inputs.map((port) => portInstanceFromDefinition(port, inputs[port.property])),
437
506
  outputs: snapshot.definition.outputs.map((port) => portInstanceFromDefinition(port, outputs[port.property])),
438
507
  nodes: snapshot.state.nodes.map(nodeInstanceFromLegacy),
439
- edges: snapshot.state.edges.map((edge) => edgeInstanceFromLegacy(edge, aliases)),
508
+ edges: snapshot.state.edges.map((edge) => edgeInstanceFromLegacy(edge, aliases, boundaryPortIds, relationLabelByPair)),
440
509
  };
441
510
  if (snapshot.definition.metadata) {
442
511
  const metadata = sanitizeToGraphJsonValue(snapshot.definition.metadata);
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/graph/snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/graph/snapshot.ts"],"names":[],"mappings":"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"}
package/lib/esm/index.js CHANGED
@@ -16,21 +16,21 @@ export * from "./ui/index.js";
16
16
  * @const VERSION
17
17
  * @memberOf module:ui-decorators
18
18
  */
19
- export const VERSION = "0.20.1";
19
+ export const VERSION = "0.20.3";
20
20
  /**
21
21
  * @description Represents the current commit hash of the module build.
22
22
  * @summary Stores the current git commit hash for the package. The build replaces
23
23
  * the placeholder with the actual commit hash at publish time.
24
24
  * @const COMMIT
25
25
  */
26
- export const COMMIT = "4873fcd";
26
+ export const COMMIT = "9f3f8bd";
27
27
  /**
28
28
  * @description Represents the full version string of the module.
29
29
  * @summary Stores the semver version and commit hash for the package.
30
30
  * The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
31
31
  * @const FULL_VERSION
32
32
  */
33
- export const FULL_VERSION = "0.20.1-4873fcd";
33
+ export const FULL_VERSION = "0.20.3-9f3f8bd";
34
34
  export const PACKAGE_NAME = "@decaf-ts/ui-decorators";
35
35
  Metadata.registerLibrary(PACKAGE_NAME, VERSION);
36
36
  //# sourceMappingURL=index.js.map
@@ -50,7 +50,7 @@ export class UserRequestHandler extends Service {
50
50
  * decorator under `USER_REQUEST_KEY`.
51
51
  * @param {string} reference The request id/type the handler is registered
52
52
  * for.
53
- * @return {.Constructor<UserRequestHandler> | undefined}
53
+ * @return {Constructor<UserRequestHandler> | undefined}
54
54
  * The registered handler constructor, or `undefined` when unknown.
55
55
  */
56
56
  static getHandler(reference) {
@@ -1,11 +1,46 @@
1
+ /**
2
+ * Execution-policy facet of a node manifest (DECAF-50 §4.9/§4.12): the
3
+ * declarative limits the run engine enforces for a node kind — manual
4
+ * triggering, retries, cancellation, timeouts, concurrency, and input
5
+ * binding mode. Carried inside {@link GraphNodeManifest} and mirrored by the
6
+ * backend catalogue; transition-leniency flags are stripped at cutover (P7).
7
+ */
1
8
  export interface GraphNodePolicyManifest {
9
+ /** Whether and when the node may be triggered manually (`"partial"` defers to port-level rules). */
2
10
  allowManualTrigger?: "always" | "never" | "partial";
11
+ /** Whether failed node executions may be retried. */
3
12
  allowRetry?: boolean;
13
+ /** Maximum number of retry attempts when {@link GraphNodePolicyManifest.allowRetry} is enabled. */
4
14
  maxRetries?: number;
15
+ /** Whether an in-flight node execution may be cancelled. */
5
16
  allowCancel?: boolean;
17
+ /** Execution timeout in milliseconds. */
6
18
  timeoutMs?: number;
19
+ /** Maximum number of concurrent executions allowed for the node. */
7
20
  concurrency?: number;
21
+ /** How many input bindings the node accepts per input port. */
8
22
  inputMode?: GraphNodePolicyInputMode;
23
+ /**
24
+ * Transition leniency (DECAF-50 §4.8/§4.18): when `true`, document
25
+ * validation accepts parameters that are not declared by the manifest.
26
+ * Set on placeholder manifests created for legacy executor-only
27
+ * registrations; removed at cutover (P7).
28
+ */
29
+ allowUndeclaredParameters?: boolean;
30
+ /**
31
+ * Transition leniency (DECAF-50 §4.9): when `true`, executor outputs that
32
+ * are not declared by the effective output manifest are accepted instead
33
+ * of being rejected. Set on placeholder manifests; removed at cutover (P7).
34
+ */
35
+ allowUnknownOutputs?: boolean;
9
36
  }
37
+ /** Input binding mode of a node policy: any number of bindings, exactly one, or multiple. */
10
38
  export type GraphNodePolicyInputMode = "any" | "single" | "multiple";
39
+ /**
40
+ * Type guard for {@link GraphNodePolicyManifest}: accepts objects whose
41
+ * `inputMode` (when present) is one of the declared
42
+ * {@link GraphNodePolicyInputMode} values.
43
+ *
44
+ * @returns {boolean} Whether the value is a {@link GraphNodePolicyManifest}.
45
+ */
11
46
  export declare function isGraphNodePolicyManifest(value: unknown): value is GraphNodePolicyManifest;
@@ -1,11 +1,46 @@
1
+ /**
2
+ * Execution-policy facet of a node manifest (DECAF-50 §4.9/§4.12): the
3
+ * declarative limits the run engine enforces for a node kind — manual
4
+ * triggering, retries, cancellation, timeouts, concurrency, and input
5
+ * binding mode. Carried inside {@link GraphNodeManifest} and mirrored by the
6
+ * backend catalogue; transition-leniency flags are stripped at cutover (P7).
7
+ */
1
8
  export interface GraphNodePolicyManifest {
9
+ /** Whether and when the node may be triggered manually (`"partial"` defers to port-level rules). */
2
10
  allowManualTrigger?: "always" | "never" | "partial";
11
+ /** Whether failed node executions may be retried. */
3
12
  allowRetry?: boolean;
13
+ /** Maximum number of retry attempts when {@link GraphNodePolicyManifest.allowRetry} is enabled. */
4
14
  maxRetries?: number;
15
+ /** Whether an in-flight node execution may be cancelled. */
5
16
  allowCancel?: boolean;
17
+ /** Execution timeout in milliseconds. */
6
18
  timeoutMs?: number;
19
+ /** Maximum number of concurrent executions allowed for the node. */
7
20
  concurrency?: number;
21
+ /** How many input bindings the node accepts per input port. */
8
22
  inputMode?: GraphNodePolicyInputMode;
23
+ /**
24
+ * Transition leniency (DECAF-50 §4.8/§4.18): when `true`, document
25
+ * validation accepts parameters that are not declared by the manifest.
26
+ * Set on placeholder manifests created for legacy executor-only
27
+ * registrations; removed at cutover (P7).
28
+ */
29
+ allowUndeclaredParameters?: boolean;
30
+ /**
31
+ * Transition leniency (DECAF-50 §4.9): when `true`, executor outputs that
32
+ * are not declared by the effective output manifest are accepted instead
33
+ * of being rejected. Set on placeholder manifests; removed at cutover (P7).
34
+ */
35
+ allowUnknownOutputs?: boolean;
9
36
  }
37
+ /** Input binding mode of a node policy: any number of bindings, exactly one, or multiple. */
10
38
  export type GraphNodePolicyInputMode = "any" | "single" | "multiple";
39
+ /**
40
+ * Type guard for {@link GraphNodePolicyManifest}: accepts objects whose
41
+ * `inputMode` (when present) is one of the declared
42
+ * {@link GraphNodePolicyInputMode} values.
43
+ *
44
+ * @returns {boolean} Whether the value is a {@link GraphNodePolicyManifest}.
45
+ */
11
46
  export declare function isGraphNodePolicyManifest(value: unknown): value is GraphNodePolicyManifest;
@@ -4,14 +4,6 @@ export declare enum GraphKeys {
4
4
  EDGE = "graph.edge",
5
5
  PORT = "graph.port"
6
6
  }
7
- /**
8
- * Rollout gate for the canonical document pipeline (DECAF-50/P1). Defaults to
9
- * off so existing legacy snapshot/definition flows keep working until the
10
- * save/history cutover. Overridable at runtime via the browser-safe global
11
- * `__DECAF_GRAPH_CANONICAL_DOCUMENT__` flag (no Node/`process` dependency).
12
- */
13
- export declare const GRAPH_CANONICAL_DOCUMENT_ENABLED_DEFAULT = false;
14
- export declare function graphCanonicalDocumentEnabled(): boolean;
15
7
  export declare enum PortDirection {
16
8
  INPUT = "input",
17
9
  OUTPUT = "output",
@@ -4,14 +4,6 @@ export declare enum GraphKeys {
4
4
  EDGE = "graph.edge",
5
5
  PORT = "graph.port"
6
6
  }
7
- /**
8
- * Rollout gate for the canonical document pipeline (DECAF-50/P1). Defaults to
9
- * off so existing legacy snapshot/definition flows keep working until the
10
- * save/history cutover. Overridable at runtime via the browser-safe global
11
- * `__DECAF_GRAPH_CANONICAL_DOCUMENT__` flag (no Node/`process` dependency).
12
- */
13
- export declare const GRAPH_CANONICAL_DOCUMENT_ENABLED_DEFAULT = false;
14
- export declare function graphCanonicalDocumentEnabled(): boolean;
15
7
  export declare enum PortDirection {
16
8
  INPUT = "input",
17
9
  OUTPUT = "output",
@@ -4,16 +4,37 @@ import type { GraphWorkflowDefinition } from "../constants.d.cts";
4
4
  import type { GraphWorkflowDocument } from "./GraphWorkflowDocument.d.cts";
5
5
  import type { GraphNodeEndpoint, GraphWorkflowEndpoint } from "./GraphEndpoint.d.cts";
6
6
  import type { GraphWorkflowViewport } from "./GraphWorkflowUiState.d.cts";
7
+ /**
8
+ * Options for compiling a decorated workflow into a canonical
9
+ * {@link GraphWorkflowDocument}.
10
+ */
7
11
  export interface GraphDecoratedWorkflowCompileOptions {
12
+ /** Document id; defaults to the workflow's tag or name. */
8
13
  id?: string;
14
+ /** Human-readable document name; defaults to the workflow's name. */
9
15
  name?: string;
16
+ /** Canvas positions per node id, carried into the document's UI state. */
10
17
  positions?: Record<string, {
11
18
  x: number;
12
19
  y: number;
13
20
  }>;
21
+ /** Initial canvas viewport carried into the document's UI state. */
14
22
  viewport?: GraphWorkflowViewport;
15
23
  }
24
+ /** Anything the compiler can resolve into a {@link GraphWorkflowDefinition}: a decorated workflow class (constructor), a model instance, or a definition. */
16
25
  export type GraphDecoratedWorkflowInput = Constructor | Model | GraphWorkflowDefinition;
26
+ /**
27
+ * Compiles a decorated workflow (or an already-resolved
28
+ * {@link GraphWorkflowDefinition}) into a canonical
29
+ * {@link GraphWorkflowDocument}: workflow boundary ports, one instance per
30
+ * node (input-port defaults and loop/switch metadata folded into
31
+ * `parameters`/`metadata`), one edge per relation, plus UI state. Browser-safe:
32
+ * node constructors are never invoked, so `@node` classes can seed demo
33
+ * graphs without engine imports (DECAF-50 §4.4.4).
34
+ *
35
+ * @throws ValidationError when the input cannot be resolved to a decorated
36
+ * graph workflow definition.
37
+ */
17
38
  export declare function graphDecoratedWorkflowCompiler(workflow: GraphDecoratedWorkflowInput, options?: GraphDecoratedWorkflowCompileOptions): GraphWorkflowDocument;
18
39
  /**
19
40
  * Spec-mandated (§4.4.9) compiler facade. Delegates to
@@ -4,16 +4,37 @@ import type { GraphWorkflowDefinition } from "../constants.d.mts";
4
4
  import type { GraphWorkflowDocument } from "./GraphWorkflowDocument.d.mts";
5
5
  import type { GraphNodeEndpoint, GraphWorkflowEndpoint } from "./GraphEndpoint.d.mts";
6
6
  import type { GraphWorkflowViewport } from "./GraphWorkflowUiState.d.mts";
7
+ /**
8
+ * Options for compiling a decorated workflow into a canonical
9
+ * {@link GraphWorkflowDocument}.
10
+ */
7
11
  export interface GraphDecoratedWorkflowCompileOptions {
12
+ /** Document id; defaults to the workflow's tag or name. */
8
13
  id?: string;
14
+ /** Human-readable document name; defaults to the workflow's name. */
9
15
  name?: string;
16
+ /** Canvas positions per node id, carried into the document's UI state. */
10
17
  positions?: Record<string, {
11
18
  x: number;
12
19
  y: number;
13
20
  }>;
21
+ /** Initial canvas viewport carried into the document's UI state. */
14
22
  viewport?: GraphWorkflowViewport;
15
23
  }
24
+ /** Anything the compiler can resolve into a {@link GraphWorkflowDefinition}: a decorated workflow class (constructor), a model instance, or a definition. */
16
25
  export type GraphDecoratedWorkflowInput = Constructor | Model | GraphWorkflowDefinition;
26
+ /**
27
+ * Compiles a decorated workflow (or an already-resolved
28
+ * {@link GraphWorkflowDefinition}) into a canonical
29
+ * {@link GraphWorkflowDocument}: workflow boundary ports, one instance per
30
+ * node (input-port defaults and loop/switch metadata folded into
31
+ * `parameters`/`metadata`), one edge per relation, plus UI state. Browser-safe:
32
+ * node constructors are never invoked, so `@node` classes can seed demo
33
+ * graphs without engine imports (DECAF-50 §4.4.4).
34
+ *
35
+ * @throws ValidationError when the input cannot be resolved to a decorated
36
+ * graph workflow definition.
37
+ */
17
38
  export declare function graphDecoratedWorkflowCompiler(workflow: GraphDecoratedWorkflowInput, options?: GraphDecoratedWorkflowCompileOptions): GraphWorkflowDocument;
18
39
  /**
19
40
  * Spec-mandated (§4.4.9) compiler facade. Delegates to
@@ -4,25 +4,69 @@ import type { GraphWorkflowUiState } from "./GraphWorkflowUiState.d.cts";
4
4
  import type { GraphEdgeInstance } from "./GraphEdgeInstance.d.cts";
5
5
  import type { GraphNodeInstance } from "./GraphNodeInstance.d.cts";
6
6
  import type { GraphWorkflowDocument, GraphWorkflowPortInstance, GraphWorkflowSettings } from "./GraphWorkflowDocument.d.cts";
7
+ /** A workflow boundary port accepted by {@link GraphWorkflowDocumentBuilder}. */
7
8
  export type GraphWorkflowPortInput = GraphWorkflowPortInstance;
9
+ /** Options for constructing a {@link GraphWorkflowDocumentBuilder}. */
8
10
  export interface GraphWorkflowDocumentBuilderOptions {
11
+ /** Document id; defaults to an empty string when omitted. */
9
12
  id?: string;
13
+ /** Human-readable document name; defaults to an empty string when omitted. */
10
14
  name?: string;
11
15
  }
16
+ /**
17
+ * Fluent builder for the canonical {@link GraphWorkflowDocument}
18
+ * (DECAF-50 §4.4.4). Collects boundary ports, node instances, edges, and
19
+ * optional settings/metadata/UI state, then validates and freezes a
20
+ * defensively-copied document on {@link GraphWorkflowDocumentBuilder.build}.
21
+ */
12
22
  export declare class GraphWorkflowDocumentBuilder {
13
23
  private readonly document;
24
+ /**
25
+ * @param id Document id.
26
+ * @param name Optional document name; defaults to an empty string.
27
+ */
14
28
  constructor(id: string, name?: string);
29
+ /** Appends a workflow input port. */
15
30
  addInput(port: GraphWorkflowPortInput): this;
31
+ /** Appends a workflow output port. */
16
32
  addOutput(port: GraphWorkflowPortInput): this;
33
+ /** Appends a node instance, defaulting `parameters` to an empty object. */
17
34
  addNode(node: GraphNodeInstance): this;
35
+ /** Appends an edge instance. */
18
36
  addEdge(edge: GraphEdgeInstance): this;
37
+ /** Sets (or clears) the document's free-form settings bag. */
19
38
  setSettings(settings?: GraphWorkflowSettings): this;
39
+ /** Sets (or clears) the document's metadata bag. */
20
40
  setMetadata(metadata?: Record<string, GraphJsonValue>): this;
41
+ /** Sets (or clears) the document's editor UI state. */
21
42
  setUi(ui?: GraphWorkflowUiState): this;
43
+ /**
44
+ * Validates the accumulated document with
45
+ * {@link assertGraphWorkflowDocumentValid} and returns a deep-ish copy:
46
+ * ports, nodes, and edges are cloned per entry, and the optional
47
+ * `settings`/`metadata`/`ui` bags are only present when explicitly set, so
48
+ * callers never observe builder-internal `undefined` fields.
49
+ *
50
+ * @throws ValidationError when the document fails validation.
51
+ */
22
52
  build(): GraphWorkflowDocument;
23
53
  }
54
+ /**
55
+ * Shared validation context for
56
+ * {@link assertGraphWorkflowDocumentValid}: tracks documents already visited
57
+ * on the current nesting path so cyclic loop bodies are detected.
58
+ */
24
59
  export interface GraphWorkflowDocumentValidationContext {
25
60
  seen: unknown[];
26
61
  }
62
+ /**
63
+ * Structural validation gate for a canonical {@link GraphWorkflowDocument}
64
+ * (shared by the frontend builder and the backend nine-stage validator,
65
+ * DECAF-50 §4.8 stage 1 shape rules). Checks unique port/node/edge ids,
66
+ * valid schemas, binding shapes, edge endpoints, and recursively validates
67
+ * nested loop-body documents.
68
+ *
69
+ * @throws ValidationError describing the first invalid aspect found.
70
+ */
27
71
  export declare function assertGraphWorkflowDocumentValid(document: GraphWorkflowDocument, context?: GraphWorkflowDocumentValidationContext): void;
28
72
  export type { GraphWorkflowEndpoint, GraphNodeEndpoint };
@@ -4,25 +4,69 @@ import type { GraphWorkflowUiState } from "./GraphWorkflowUiState.d.mts";
4
4
  import type { GraphEdgeInstance } from "./GraphEdgeInstance.d.mts";
5
5
  import type { GraphNodeInstance } from "./GraphNodeInstance.d.mts";
6
6
  import type { GraphWorkflowDocument, GraphWorkflowPortInstance, GraphWorkflowSettings } from "./GraphWorkflowDocument.d.mts";
7
+ /** A workflow boundary port accepted by {@link GraphWorkflowDocumentBuilder}. */
7
8
  export type GraphWorkflowPortInput = GraphWorkflowPortInstance;
9
+ /** Options for constructing a {@link GraphWorkflowDocumentBuilder}. */
8
10
  export interface GraphWorkflowDocumentBuilderOptions {
11
+ /** Document id; defaults to an empty string when omitted. */
9
12
  id?: string;
13
+ /** Human-readable document name; defaults to an empty string when omitted. */
10
14
  name?: string;
11
15
  }
16
+ /**
17
+ * Fluent builder for the canonical {@link GraphWorkflowDocument}
18
+ * (DECAF-50 §4.4.4). Collects boundary ports, node instances, edges, and
19
+ * optional settings/metadata/UI state, then validates and freezes a
20
+ * defensively-copied document on {@link GraphWorkflowDocumentBuilder.build}.
21
+ */
12
22
  export declare class GraphWorkflowDocumentBuilder {
13
23
  private readonly document;
24
+ /**
25
+ * @param id Document id.
26
+ * @param name Optional document name; defaults to an empty string.
27
+ */
14
28
  constructor(id: string, name?: string);
29
+ /** Appends a workflow input port. */
15
30
  addInput(port: GraphWorkflowPortInput): this;
31
+ /** Appends a workflow output port. */
16
32
  addOutput(port: GraphWorkflowPortInput): this;
33
+ /** Appends a node instance, defaulting `parameters` to an empty object. */
17
34
  addNode(node: GraphNodeInstance): this;
35
+ /** Appends an edge instance. */
18
36
  addEdge(edge: GraphEdgeInstance): this;
37
+ /** Sets (or clears) the document's free-form settings bag. */
19
38
  setSettings(settings?: GraphWorkflowSettings): this;
39
+ /** Sets (or clears) the document's metadata bag. */
20
40
  setMetadata(metadata?: Record<string, GraphJsonValue>): this;
41
+ /** Sets (or clears) the document's editor UI state. */
21
42
  setUi(ui?: GraphWorkflowUiState): this;
43
+ /**
44
+ * Validates the accumulated document with
45
+ * {@link assertGraphWorkflowDocumentValid} and returns a deep-ish copy:
46
+ * ports, nodes, and edges are cloned per entry, and the optional
47
+ * `settings`/`metadata`/`ui` bags are only present when explicitly set, so
48
+ * callers never observe builder-internal `undefined` fields.
49
+ *
50
+ * @throws ValidationError when the document fails validation.
51
+ */
22
52
  build(): GraphWorkflowDocument;
23
53
  }
54
+ /**
55
+ * Shared validation context for
56
+ * {@link assertGraphWorkflowDocumentValid}: tracks documents already visited
57
+ * on the current nesting path so cyclic loop bodies are detected.
58
+ */
24
59
  export interface GraphWorkflowDocumentValidationContext {
25
60
  seen: unknown[];
26
61
  }
62
+ /**
63
+ * Structural validation gate for a canonical {@link GraphWorkflowDocument}
64
+ * (shared by the frontend builder and the backend nine-stage validator,
65
+ * DECAF-50 §4.8 stage 1 shape rules). Checks unique port/node/edge ids,
66
+ * valid schemas, binding shapes, edge endpoints, and recursively validates
67
+ * nested loop-body documents.
68
+ *
69
+ * @throws ValidationError describing the first invalid aspect found.
70
+ */
27
71
  export declare function assertGraphWorkflowDocumentValid(document: GraphWorkflowDocument, context?: GraphWorkflowDocumentValidationContext): void;
28
72
  export type { GraphWorkflowEndpoint, GraphNodeEndpoint };