@decaf-ts/ui-decorators 0.17.3 → 0.17.5

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 (87) hide show
  1. package/dist/ui-decorators.cjs +1 -1
  2. package/lib/cjs/graph/constants.cjs +1 -1
  3. package/lib/cjs/graph/constants.cjs.map +1 -1
  4. package/lib/cjs/graph/decorators.cjs +41 -3
  5. package/lib/cjs/graph/decorators.cjs.map +1 -1
  6. package/lib/cjs/graph/index.cjs +1 -1
  7. package/lib/cjs/graph/index.cjs.map +1 -1
  8. package/lib/cjs/graph/overrides/Rendering.cjs +1 -1
  9. package/lib/cjs/graph/overrides/Rendering.cjs.map +1 -1
  10. package/lib/cjs/graph/overrides/index.cjs +1 -1
  11. package/lib/cjs/graph/overrides/index.cjs.map +1 -1
  12. package/lib/cjs/graph/overrides/overrides.cjs +1 -1
  13. package/lib/cjs/graph/overrides/overrides.cjs.map +1 -1
  14. package/lib/cjs/graph/reader.cjs +89 -6
  15. package/lib/cjs/graph/reader.cjs.map +1 -1
  16. package/lib/cjs/graph/snapshot.cjs +1 -1
  17. package/lib/cjs/graph/snapshot.cjs.map +1 -1
  18. package/lib/cjs/graph/types.cjs +1 -1
  19. package/lib/cjs/graph/types.cjs.map +1 -1
  20. package/lib/cjs/index.cjs +4 -4
  21. package/lib/cjs/index.cjs.map +1 -1
  22. package/lib/cjs/model/Renderable.cjs +1 -1
  23. package/lib/cjs/model/Renderable.cjs.map +1 -1
  24. package/lib/cjs/model/decorators.cjs +1 -1
  25. package/lib/cjs/model/decorators.cjs.map +1 -1
  26. package/lib/cjs/model/index.cjs +1 -1
  27. package/lib/cjs/model/index.cjs.map +1 -1
  28. package/lib/cjs/model/model.cjs +1 -1
  29. package/lib/cjs/model/model.cjs.map +1 -1
  30. package/lib/cjs/model/overrides.cjs +1 -1
  31. package/lib/cjs/model/overrides.cjs.map +1 -1
  32. package/lib/cjs/overrides/ModelBuilderExtensions.cjs +1 -1
  33. package/lib/cjs/overrides/ModelBuilderExtensions.cjs.map +1 -1
  34. package/lib/cjs/overrides/index.cjs +1 -1
  35. package/lib/cjs/overrides/index.cjs.map +1 -1
  36. package/lib/cjs/ui/DecafComponent.cjs +1 -1
  37. package/lib/cjs/ui/DecafComponent.cjs.map +1 -1
  38. package/lib/cjs/ui/DecafEventHandler.cjs +1 -1
  39. package/lib/cjs/ui/DecafEventHandler.cjs.map +1 -1
  40. package/lib/cjs/ui/DecafTranslateService.cjs +1 -1
  41. package/lib/cjs/ui/DecafTranslateService.cjs.map +1 -1
  42. package/lib/cjs/ui/Rendering.cjs +1 -1
  43. package/lib/cjs/ui/Rendering.cjs.map +1 -1
  44. package/lib/cjs/ui/UIValidator.cjs +1 -1
  45. package/lib/cjs/ui/UIValidator.cjs.map +1 -1
  46. package/lib/cjs/ui/constants.cjs +1 -1
  47. package/lib/cjs/ui/constants.cjs.map +1 -1
  48. package/lib/cjs/ui/decorators.cjs +1 -1
  49. package/lib/cjs/ui/decorators.cjs.map +1 -1
  50. package/lib/cjs/ui/errors.cjs +1 -1
  51. package/lib/cjs/ui/errors.cjs.map +1 -1
  52. package/lib/cjs/ui/index.cjs +1 -1
  53. package/lib/cjs/ui/index.cjs.map +1 -1
  54. package/lib/cjs/ui/interfaces/IDecafModal.cjs +1 -1
  55. package/lib/cjs/ui/interfaces/IDecafModal.cjs.map +1 -1
  56. package/lib/cjs/ui/interfaces/IDecafRouter.cjs +1 -1
  57. package/lib/cjs/ui/interfaces/IDecafRouter.cjs.map +1 -1
  58. package/lib/cjs/ui/interfaces/IDecafSpinner.cjs +1 -1
  59. package/lib/cjs/ui/interfaces/IDecafSpinner.cjs.map +1 -1
  60. package/lib/cjs/ui/interfaces/IDecafToast.cjs +1 -1
  61. package/lib/cjs/ui/interfaces/IDecafToast.cjs.map +1 -1
  62. package/lib/cjs/ui/interfaces/index.cjs +1 -1
  63. package/lib/cjs/ui/interfaces/index.cjs.map +1 -1
  64. package/lib/cjs/ui/overrides.cjs +1 -1
  65. package/lib/cjs/ui/overrides.cjs.map +1 -1
  66. package/lib/cjs/ui/types.cjs +1 -1
  67. package/lib/cjs/ui/types.cjs.map +1 -1
  68. package/lib/cjs/ui/utils.cjs +1 -1
  69. package/lib/cjs/ui/utils.cjs.map +1 -1
  70. package/lib/cjs/ui/validator.cjs +1 -1
  71. package/lib/cjs/ui/validator.cjs.map +1 -1
  72. package/lib/esm/graph/decorators.js +39 -2
  73. package/lib/esm/graph/decorators.js.map +1 -1
  74. package/lib/esm/graph/reader.js +88 -5
  75. package/lib/esm/graph/reader.js.map +1 -1
  76. package/lib/esm/index.js +3 -3
  77. package/lib/types/graph/constants.d.cts +47 -0
  78. package/lib/types/graph/constants.d.mts +47 -0
  79. package/lib/types/graph/decorators.d.cts +34 -0
  80. package/lib/types/graph/decorators.d.mts +34 -0
  81. package/lib/types/index.d.cts +3 -3
  82. package/lib/types/index.d.mts +3 -3
  83. package/lib/types/model/decorators.d.cts +1 -1
  84. package/lib/types/model/decorators.d.mts +1 -1
  85. package/lib/types/ui/decorators.d.cts +5 -5
  86. package/lib/types/ui/decorators.d.mts +5 -5
  87. package/package.json +1 -1
@@ -69,20 +69,52 @@ export function graphPortMetadataOf(model, property) {
69
69
  export function graphPortDefinitionOf(model, property) {
70
70
  return graphPortDefinitionOfInternal(resolveModel(model), String(property));
71
71
  }
72
+ /**
73
+ * Returns the flattened ports of a Schema-typed `@input` / `@output` property
74
+ * (a "Schema port group"). The Schema's own `@input` / `@output` properties
75
+ * whose direction matches `direction` are spliced into the result UNPREFIXED
76
+ * (no `<schemaProp>.` prefix). The carrier property itself is not a port.
77
+ *
78
+ * Returns `undefined` when the property is not a Schema group (not
79
+ * `graph.schema`, or not Schema-typed), so the caller falls back to the legacy
80
+ * single-port / composite expansion path.
81
+ */
82
+ function schemaGroupPorts(resolved, propertyKey, direction, visited = new Set()) {
83
+ const graph = graphPortMetadataOf(resolved, propertyKey);
84
+ if (!graph?.schema)
85
+ return undefined;
86
+ const validation = Metadata.validationFor(resolved, propertyKey);
87
+ const nestedModel = resolveNestedModelConstructor(resolved, propertyKey, validation);
88
+ if (!nestedModel)
89
+ return undefined;
90
+ if (visited.has(nestedModel))
91
+ return []; // cycle guard — stop recursing
92
+ const nextVisited = new Set(visited);
93
+ nextVisited.add(resolved);
94
+ nextVisited.add(nestedModel);
95
+ const childPorts = graphPortsOfInternal(nestedModel, nextVisited);
96
+ return childPorts.filter((child) => child.direction === direction);
97
+ }
72
98
  function graphPortDefinitionOfInternal(resolved, propertyKey, visited = new Set()) {
73
99
  const graph = graphPortMetadataOf(resolved, propertyKey);
74
100
  if (!graph)
75
101
  return undefined;
102
+ // Schema port group (@input / @output on a Schema-typed property): the
103
+ // carrier is not a port — its Schema's matching-direction ports are spliced
104
+ // into the parent by graphPortsOfInternal. The singular reader returns
105
+ // undefined for the carrier.
106
+ const validation = Metadata.validationFor(resolved, propertyKey);
107
+ const nestedModel = resolveNestedModelConstructor(resolved, propertyKey, validation);
108
+ if (graph.schema && nestedModel)
109
+ return undefined;
76
110
  const element = (Model.uiElementOf(resolved, propertyKey) ||
77
111
  undefined);
78
112
  const uiProp = Model.uiDecorationOf(resolved, propertyKey, UIKeys.PROP);
79
- const validation = Metadata.validationFor(resolved, propertyKey);
80
113
  const designType = Metadata.type(resolved, propertyKey);
81
114
  const typeName = asString(validation?.[ValidationKeys.TYPE]?.customTypes?.[0]?.name ??
82
115
  element?.props?.type ??
83
116
  uiProp?.type ??
84
117
  designType?.name);
85
- const nestedModel = resolveNestedModelConstructor(resolved, propertyKey, validation);
86
118
  const shouldExpand = !!graph.expand || (!!nestedModel && !visited.has(nestedModel));
87
119
  const children = shouldExpand && nestedModel
88
120
  ? (() => {
@@ -117,9 +149,24 @@ export function graphPortsOf(model) {
117
149
  }
118
150
  function graphPortsOfInternal(resolved, visited = new Set()) {
119
151
  const properties = Metadata.properties(resolved) || [];
120
- return properties
121
- .map((property) => graphPortDefinitionOfInternal(resolved, String(property), visited))
122
- .filter((property) => !!property);
152
+ const result = [];
153
+ for (const property of properties) {
154
+ const key = String(property);
155
+ const graph = graphPortMetadataOf(resolved, key);
156
+ // Schema port group: splice the Schema's matching-direction ports
157
+ // (unprefixed) instead of emitting the carrier.
158
+ if (graph?.schema) {
159
+ const groupPorts = schemaGroupPorts(resolved, key, graph.direction, visited);
160
+ if (groupPorts) {
161
+ result.push(...groupPorts);
162
+ continue;
163
+ }
164
+ }
165
+ const port = graphPortDefinitionOfInternal(resolved, key, visited);
166
+ if (port)
167
+ result.push(port);
168
+ }
169
+ return result;
123
170
  }
124
171
  export function graphLeafPortsOf(ports) {
125
172
  return ports.flatMap((port) => port.children && port.children.length ? graphLeafPortsOf(port.children) : [port]);
@@ -136,6 +183,7 @@ export function graphDefinitionOf(model) {
136
183
  const graph = graphNodeMetadataOf(resolved) || {};
137
184
  const tag = ui?.tag || resolved.name;
138
185
  const ports = graphPortsOf(resolved);
186
+ const portGroups = resolvePortGroups(resolved, graph);
139
187
  return {
140
188
  name: resolved.name,
141
189
  tag,
@@ -153,8 +201,43 @@ export function graphDefinitionOf(model) {
153
201
  ui,
154
202
  graph,
155
203
  ports,
204
+ portGroups,
156
205
  };
157
206
  }
207
+ /**
208
+ * Builds the effective `portGroups` list for a node: starts from the declared
209
+ * `GraphNodeMetadata.portGroups` and ensures every Schema-typed `@input` /
210
+ * `@output` property not explicitly listed gets a default
211
+ * `{ property, toggle: "all" }` entry. Non-Schema-typed `@input` / `@output`
212
+ * properties are not groups and are ignored.
213
+ */
214
+ function resolvePortGroups(resolved, graph) {
215
+ const declared = graph.portGroups || [];
216
+ const declaredByProperty = new Map(declared.map((g) => [g.property, g]));
217
+ const groups = [];
218
+ const properties = Metadata.properties(resolved) || [];
219
+ for (const property of properties) {
220
+ const key = String(property);
221
+ const portMeta = graphPortMetadataOf(resolved, key);
222
+ if (!portMeta?.schema)
223
+ continue;
224
+ const validation = Metadata.validationFor(resolved, key);
225
+ const nestedModel = resolveNestedModelConstructor(resolved, key, validation);
226
+ if (!nestedModel)
227
+ continue; // not Schema-typed — not a group
228
+ const declaredGroup = declaredByProperty.get(key);
229
+ groups.push(declaredGroup
230
+ ? { ...declaredGroup, toggle: declaredGroup.toggle ?? "all" }
231
+ : { property: key, toggle: "all" });
232
+ }
233
+ // also keep declared groups that don't correspond to a Schema property
234
+ // (defensive — lets callers carry labels for future groups)
235
+ for (const g of declared) {
236
+ if (!groups.some((x) => x.property === g.property))
237
+ groups.push(g);
238
+ }
239
+ return groups.length ? groups : undefined;
240
+ }
158
241
  export function graphWorkflowDefinitionOf(model) {
159
242
  const resolved = resolveModel(model);
160
243
  const workflow = graphWorkflowMetadataOf(resolved) || {};
@@ -1 +1 @@
1
- {"version":3,"file":"reader.js","sourceRoot":"","sources":["../../../src/graph/reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reader.js","sourceRoot":"","sources":["../../../src/graph/reader.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.17.3";
19
+ export const VERSION = "0.17.4";
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 = "04f33f3";
26
+ export const COMMIT = "b222476";
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.17.3-04f33f3";
33
+ export const FULL_VERSION = "0.17.4-b222476";
34
34
  export const PACKAGE_NAME = "@decaf-ts/ui-decorators";
35
35
  Metadata.registerLibrary(PACKAGE_NAME, VERSION);
36
36
  //# sourceMappingURL=index.js.map
@@ -31,6 +31,11 @@ export type GraphNodeMetadata = {
31
31
  width?: number;
32
32
  connectionRules?: GraphConnectionRule;
33
33
  metadata?: Record<string, unknown>;
34
+ /**
35
+ * Per-group rendering choice for Schema-typed `@input` / `@output` properties
36
+ * (the one-vs-all toggle). See {@link GraphPortGroupMetadata}.
37
+ */
38
+ portGroups?: GraphPortGroupMetadata[];
34
39
  };
35
40
  export type GraphWorkflowNodeMetadata = {
36
41
  id: string;
@@ -61,6 +66,41 @@ export type GraphPortMetadata = {
61
66
  handle?: string;
62
67
  expand?: boolean;
63
68
  metadata?: Record<string, unknown>;
69
+ /**
70
+ * Marks this port as a "Schema port" declared via `@input` / `@output`.
71
+ *
72
+ * When `true` AND the property type is a Decaf `Model` (a "Schema"), the
73
+ * reader flattens the Schema's own `@input` / `@output` properties into the
74
+ * parent node's port list (unprefixed — no `<schemaProp>.` prefix), instead
75
+ * of producing a composite port with prefixed children. A `@input` Schema
76
+ * contributes only the Schema's `@input` properties; a `@output` Schema
77
+ * contributes only the Schema's `@output` properties. The carrier property
78
+ * itself (e.g. `inputSchema`) is not emitted as a port — it is the group
79
+ * carrier.
80
+ *
81
+ * Set automatically by `@input` / `@output`; NOT set by `@port`, so
82
+ * `@port`-decorated Schema-typed properties keep the legacy composite
83
+ * expansion (prefixed children).
84
+ */
85
+ schema?: boolean;
86
+ };
87
+ /**
88
+ * Metadata for a Schema port group — the one-vs-all rendering choice for a
89
+ * `@input` / `@output` Schema-typed property.
90
+ *
91
+ * `toggle: "all"` (default) renders each Schema property as its own connectable
92
+ * port on the canvas. `toggle: "single"` renders one grouped port that receives
93
+ * the whole object and maps it to the right place. The per-instance
94
+ * manual-fill (hide a port because its value is supplied via the CRUD field)
95
+ * is NOT carried here — that is the editor's port-toggle state in `node.data`.
96
+ */
97
+ export type GraphPortGroupMetadata = {
98
+ /** The Schema-typed `@input` / `@output` property name that owns this group. */
99
+ property: string;
100
+ /** Render choice for this group. Defaults to `"all"`. */
101
+ toggle?: "single" | "all";
102
+ /** Optional label for the grouped port when `toggle === "single"`. */
103
+ label?: string;
64
104
  };
65
105
  export type GraphPortDefinition = {
66
106
  property: string;
@@ -98,6 +138,13 @@ export type GraphNodeDefinition = {
98
138
  ui?: Record<string, any>;
99
139
  graph?: GraphNodeMetadata;
100
140
  ports: GraphPortDefinition[];
141
+ /**
142
+ * Per-group rendering choice for Schema-typed `@input` / `@output` properties
143
+ * (the one-vs-all toggle). Derived from {@link GraphNodeMetadata.portGroups};
144
+ * every Schema-typed `@input` / `@output` property not listed defaults to
145
+ * `toggle: "all"`.
146
+ */
147
+ portGroups?: GraphPortGroupMetadata[];
101
148
  };
102
149
  export type GraphWorkflowDefinition = GraphNodeDefinition & {
103
150
  inputs: GraphPortDefinition[];
@@ -31,6 +31,11 @@ export type GraphNodeMetadata = {
31
31
  width?: number;
32
32
  connectionRules?: GraphConnectionRule;
33
33
  metadata?: Record<string, unknown>;
34
+ /**
35
+ * Per-group rendering choice for Schema-typed `@input` / `@output` properties
36
+ * (the one-vs-all toggle). See {@link GraphPortGroupMetadata}.
37
+ */
38
+ portGroups?: GraphPortGroupMetadata[];
34
39
  };
35
40
  export type GraphWorkflowNodeMetadata = {
36
41
  id: string;
@@ -61,6 +66,41 @@ export type GraphPortMetadata = {
61
66
  handle?: string;
62
67
  expand?: boolean;
63
68
  metadata?: Record<string, unknown>;
69
+ /**
70
+ * Marks this port as a "Schema port" declared via `@input` / `@output`.
71
+ *
72
+ * When `true` AND the property type is a Decaf `Model` (a "Schema"), the
73
+ * reader flattens the Schema's own `@input` / `@output` properties into the
74
+ * parent node's port list (unprefixed — no `<schemaProp>.` prefix), instead
75
+ * of producing a composite port with prefixed children. A `@input` Schema
76
+ * contributes only the Schema's `@input` properties; a `@output` Schema
77
+ * contributes only the Schema's `@output` properties. The carrier property
78
+ * itself (e.g. `inputSchema`) is not emitted as a port — it is the group
79
+ * carrier.
80
+ *
81
+ * Set automatically by `@input` / `@output`; NOT set by `@port`, so
82
+ * `@port`-decorated Schema-typed properties keep the legacy composite
83
+ * expansion (prefixed children).
84
+ */
85
+ schema?: boolean;
86
+ };
87
+ /**
88
+ * Metadata for a Schema port group — the one-vs-all rendering choice for a
89
+ * `@input` / `@output` Schema-typed property.
90
+ *
91
+ * `toggle: "all"` (default) renders each Schema property as its own connectable
92
+ * port on the canvas. `toggle: "single"` renders one grouped port that receives
93
+ * the whole object and maps it to the right place. The per-instance
94
+ * manual-fill (hide a port because its value is supplied via the CRUD field)
95
+ * is NOT carried here — that is the editor's port-toggle state in `node.data`.
96
+ */
97
+ export type GraphPortGroupMetadata = {
98
+ /** The Schema-typed `@input` / `@output` property name that owns this group. */
99
+ property: string;
100
+ /** Render choice for this group. Defaults to `"all"`. */
101
+ toggle?: "single" | "all";
102
+ /** Optional label for the grouped port when `toggle === "single"`. */
103
+ label?: string;
64
104
  };
65
105
  export type GraphPortDefinition = {
66
106
  property: string;
@@ -98,6 +138,13 @@ export type GraphNodeDefinition = {
98
138
  ui?: Record<string, any>;
99
139
  graph?: GraphNodeMetadata;
100
140
  ports: GraphPortDefinition[];
141
+ /**
142
+ * Per-group rendering choice for Schema-typed `@input` / `@output` properties
143
+ * (the one-vs-all toggle). Derived from {@link GraphNodeMetadata.portGroups};
144
+ * every Schema-typed `@input` / `@output` property not listed defaults to
145
+ * `toggle: "all"`.
146
+ */
147
+ portGroups?: GraphPortGroupMetadata[];
101
148
  };
102
149
  export type GraphWorkflowDefinition = GraphNodeDefinition & {
103
150
  inputs: GraphPortDefinition[];
@@ -5,3 +5,37 @@ export declare function graph(tag?: string, graph?: GraphWorkflowMetadata, props
5
5
  export declare function port(direction: PortDirection, graph?: Partial<Omit<GraphPortMetadata, "direction">>): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
6
6
  export declare function input(graph?: Partial<Omit<GraphPortMetadata, "direction">>): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
7
7
  export declare function output(graph?: Partial<Omit<GraphPortMetadata, "direction">>): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
8
+ /**
9
+ * Options for the `@pinnable()` decorator.
10
+ */
11
+ export interface GraphPinnableOptions {
12
+ enabled?: boolean;
13
+ ttlMs?: number;
14
+ strategy?: "manual" | "automatic" | "disabled";
15
+ includeDependencies?: boolean;
16
+ metadata?: Record<string, unknown>;
17
+ }
18
+ /**
19
+ * Pinning metadata stored on a node via `@pinnable()`.
20
+ */
21
+ export interface GraphPinningMetadata {
22
+ enabled: boolean;
23
+ ttlMs?: number;
24
+ strategy: "manual" | "automatic" | "disabled";
25
+ includeDependencies: boolean;
26
+ metadata?: Record<string, unknown>;
27
+ }
28
+ /**
29
+ * Class decorator that marks a graph node as pinnable.
30
+ *
31
+ * The metadata is stored in the node's `graph.metadata.pinnable` field so the
32
+ * Angular renderer and the core pinning policy can read it.
33
+ *
34
+ * Usage:
35
+ * ```ts
36
+ * @node("ai.expensiveCompletion", { kind: "ai.expensiveCompletion" })
37
+ * @pinnable({ strategy: "manual", includeDependencies: true })
38
+ * export class ExpensiveCompletionNode extends Model { ... }
39
+ * ```
40
+ */
41
+ export declare function pinnable(options?: GraphPinnableOptions): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
@@ -5,3 +5,37 @@ export declare function graph(tag?: string, graph?: GraphWorkflowMetadata, props
5
5
  export declare function port(direction: PortDirection, graph?: Partial<Omit<GraphPortMetadata, "direction">>): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
6
6
  export declare function input(graph?: Partial<Omit<GraphPortMetadata, "direction">>): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
7
7
  export declare function output(graph?: Partial<Omit<GraphPortMetadata, "direction">>): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
8
+ /**
9
+ * Options for the `@pinnable()` decorator.
10
+ */
11
+ export interface GraphPinnableOptions {
12
+ enabled?: boolean;
13
+ ttlMs?: number;
14
+ strategy?: "manual" | "automatic" | "disabled";
15
+ includeDependencies?: boolean;
16
+ metadata?: Record<string, unknown>;
17
+ }
18
+ /**
19
+ * Pinning metadata stored on a node via `@pinnable()`.
20
+ */
21
+ export interface GraphPinningMetadata {
22
+ enabled: boolean;
23
+ ttlMs?: number;
24
+ strategy: "manual" | "automatic" | "disabled";
25
+ includeDependencies: boolean;
26
+ metadata?: Record<string, unknown>;
27
+ }
28
+ /**
29
+ * Class decorator that marks a graph node as pinnable.
30
+ *
31
+ * The metadata is stored in the node's `graph.metadata.pinnable` field so the
32
+ * Angular renderer and the core pinning policy can read it.
33
+ *
34
+ * Usage:
35
+ * ```ts
36
+ * @node("ai.expensiveCompletion", { kind: "ai.expensiveCompletion" })
37
+ * @pinnable({ strategy: "manual", includeDependencies: true })
38
+ * export class ExpensiveCompletionNode extends Model { ... }
39
+ * ```
40
+ */
41
+ export declare function pinnable(options?: GraphPinnableOptions): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
@@ -15,19 +15,19 @@ export * from "./ui/index.d.cts";
15
15
  * @const VERSION
16
16
  * @memberOf module:ui-decorators
17
17
  */
18
- export declare const VERSION = "0.17.3";
18
+ export declare const VERSION = "0.17.4";
19
19
  /**
20
20
  * @description Represents the current commit hash of the module build.
21
21
  * @summary Stores the current git commit hash for the package. The build replaces
22
22
  * the placeholder with the actual commit hash at publish time.
23
23
  * @const COMMIT
24
24
  */
25
- export declare const COMMIT = "04f33f3";
25
+ export declare const COMMIT = "b222476";
26
26
  /**
27
27
  * @description Represents the full version string of the module.
28
28
  * @summary Stores the semver version and commit hash for the package.
29
29
  * The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
30
30
  * @const FULL_VERSION
31
31
  */
32
- export declare const FULL_VERSION = "0.17.3-04f33f3";
32
+ export declare const FULL_VERSION = "0.17.4-b222476";
33
33
  export declare const PACKAGE_NAME = "@decaf-ts/ui-decorators";
@@ -15,19 +15,19 @@ export * from "./ui/index.d.mts";
15
15
  * @const VERSION
16
16
  * @memberOf module:ui-decorators
17
17
  */
18
- export declare const VERSION = "0.17.3";
18
+ export declare const VERSION = "0.17.4";
19
19
  /**
20
20
  * @description Represents the current commit hash of the module build.
21
21
  * @summary Stores the current git commit hash for the package. The build replaces
22
22
  * the placeholder with the actual commit hash at publish time.
23
23
  * @const COMMIT
24
24
  */
25
- export declare const COMMIT = "04f33f3";
25
+ export declare const COMMIT = "b222476";
26
26
  /**
27
27
  * @description Represents the full version string of the module.
28
28
  * @summary Stores the semver version and commit hash for the package.
29
29
  * The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
30
30
  * @const FULL_VERSION
31
31
  */
32
- export declare const FULL_VERSION = "0.17.3-04f33f3";
32
+ export declare const FULL_VERSION = "0.17.4-b222476";
33
33
  export declare const PACKAGE_NAME = "@decaf-ts/ui-decorators";
@@ -75,7 +75,7 @@ export declare function uimodel(tag?: string, props?: Record<string, any>): (ori
75
75
  * Model->>RenderingEngine: uses specified engine
76
76
  * RenderingEngine->>System: renders with custom engine
77
77
  */
78
- export declare function renderedBy(engine: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor | number) => void;
78
+ export declare function renderedBy(engine: string): any;
79
79
  /**
80
80
  * @description Decorator that tags a model as a list item for UI rendering
81
81
  * @summary Specifies how a model should be rendered when displayed in a list context
@@ -75,7 +75,7 @@ export declare function uimodel(tag?: string, props?: Record<string, any>): (ori
75
75
  * Model->>RenderingEngine: uses specified engine
76
76
  * RenderingEngine->>System: renders with custom engine
77
77
  */
78
- export declare function renderedBy(engine: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor | number) => void;
78
+ export declare function renderedBy(engine: string): any;
79
79
  /**
80
80
  * @description Decorator that tags a model as a list item for UI rendering
81
81
  * @summary Specifies how a model should be rendered when displayed in a list context
@@ -35,7 +35,7 @@ import { CrudOperationKeys, UIEventHandler, UIEventName, UIFunctionLike, UILayou
35
35
  * Model->>RenderingEngine: Return hidden operations
36
36
  * RenderingEngine->>UI: Render or hide based on current operation
37
37
  */
38
- export declare function hideOn(...operations: CrudOperationKeys[]): (object: any, propertyKey?: any) => void;
38
+ export declare function hideOn(...operations: CrudOperationKeys[]): (object: any, propertyKey?: any) => any;
39
39
  /**
40
40
  * @description Decorator that sets the order of a UI element
41
41
  * @summary Specifies the rendering order for UI components
@@ -65,7 +65,7 @@ export declare function hideOn(...operations: CrudOperationKeys[]): (object: any
65
65
  * uiorder->>property: sets order metadata
66
66
  * uiorder->>System: returns decorated property
67
67
  */
68
- export declare function uiorder(order?: number | typeof UIKeys.FIRST | typeof UIKeys.LAST): (object: any, propertyKey?: any) => void;
68
+ export declare function uiorder(order?: number | typeof UIKeys.FIRST | typeof UIKeys.LAST): (object: any, propertyKey?: any) => any;
69
69
  /**
70
70
  * @description Decorator that completely hides a property in all UI operations
71
71
  * @summary Makes a property invisible in all CRUD operations
@@ -101,7 +101,7 @@ export declare function uiorder(order?: number | typeof UIKeys.FIRST | typeof UI
101
101
  * Model->>RenderingEngine: Return all operations
102
102
  * RenderingEngine->>UI: Always hide property
103
103
  */
104
- export declare function hidden(): (object: any, propertyKey?: any) => void;
104
+ export declare function hidden(): (object: any, propertyKey?: any) => any;
105
105
  /**
106
106
  * @description Decorator that specifies how a property should be rendered as a UI element
107
107
  * @summary Maps a model property to a specific UI element with custom properties
@@ -144,7 +144,7 @@ export declare function hidden(): (object: any, propertyKey?: any) => void;
144
144
  * Model->>RenderingEngine: Return tag and props
145
145
  * RenderingEngine->>UI: Render with specified element
146
146
  */
147
- export declare function uielement(tag: string | Record<string, any>, props?: Record<string, any>, serialize?: boolean): (original: any, propertyKey?: any) => void;
147
+ export declare function uielement(tag: string | Record<string, any>, props?: Record<string, any>, serialize?: boolean): (original: any, propertyKey?: any) => any;
148
148
  /**
149
149
  * @description Decorator that maps a model property to a UI component property
150
150
  * @summary Specifies how a property should be passed to a UI component
@@ -405,7 +405,7 @@ export declare function uilayoutprop(col?: UILayoutCol, row?: number): (target:
405
405
  * RenderingEngine->>PaginationController: Group properties by page
406
406
  * PaginationController->>UI: Render current page properties
407
407
  */
408
- export declare function uipageprop(page?: number): (original: any, propertyKey?: any) => void;
408
+ export declare function uipageprop(page?: number): (original: any, propertyKey?: any) => any;
409
409
  /**
410
410
  * A decorator factory that binds a UI event to a specified handler function.
411
411
  * This is used to attach event handlers to specific lifecycle events of a `DecafComponent`,
@@ -35,7 +35,7 @@ import { CrudOperationKeys, UIEventHandler, UIEventName, UIFunctionLike, UILayou
35
35
  * Model->>RenderingEngine: Return hidden operations
36
36
  * RenderingEngine->>UI: Render or hide based on current operation
37
37
  */
38
- export declare function hideOn(...operations: CrudOperationKeys[]): (object: any, propertyKey?: any) => void;
38
+ export declare function hideOn(...operations: CrudOperationKeys[]): (object: any, propertyKey?: any) => any;
39
39
  /**
40
40
  * @description Decorator that sets the order of a UI element
41
41
  * @summary Specifies the rendering order for UI components
@@ -65,7 +65,7 @@ export declare function hideOn(...operations: CrudOperationKeys[]): (object: any
65
65
  * uiorder->>property: sets order metadata
66
66
  * uiorder->>System: returns decorated property
67
67
  */
68
- export declare function uiorder(order?: number | typeof UIKeys.FIRST | typeof UIKeys.LAST): (object: any, propertyKey?: any) => void;
68
+ export declare function uiorder(order?: number | typeof UIKeys.FIRST | typeof UIKeys.LAST): (object: any, propertyKey?: any) => any;
69
69
  /**
70
70
  * @description Decorator that completely hides a property in all UI operations
71
71
  * @summary Makes a property invisible in all CRUD operations
@@ -101,7 +101,7 @@ export declare function uiorder(order?: number | typeof UIKeys.FIRST | typeof UI
101
101
  * Model->>RenderingEngine: Return all operations
102
102
  * RenderingEngine->>UI: Always hide property
103
103
  */
104
- export declare function hidden(): (object: any, propertyKey?: any) => void;
104
+ export declare function hidden(): (object: any, propertyKey?: any) => any;
105
105
  /**
106
106
  * @description Decorator that specifies how a property should be rendered as a UI element
107
107
  * @summary Maps a model property to a specific UI element with custom properties
@@ -144,7 +144,7 @@ export declare function hidden(): (object: any, propertyKey?: any) => void;
144
144
  * Model->>RenderingEngine: Return tag and props
145
145
  * RenderingEngine->>UI: Render with specified element
146
146
  */
147
- export declare function uielement(tag: string | Record<string, any>, props?: Record<string, any>, serialize?: boolean): (original: any, propertyKey?: any) => void;
147
+ export declare function uielement(tag: string | Record<string, any>, props?: Record<string, any>, serialize?: boolean): (original: any, propertyKey?: any) => any;
148
148
  /**
149
149
  * @description Decorator that maps a model property to a UI component property
150
150
  * @summary Specifies how a property should be passed to a UI component
@@ -405,7 +405,7 @@ export declare function uilayoutprop(col?: UILayoutCol, row?: number): (target:
405
405
  * RenderingEngine->>PaginationController: Group properties by page
406
406
  * PaginationController->>UI: Render current page properties
407
407
  */
408
- export declare function uipageprop(page?: number): (original: any, propertyKey?: any) => void;
408
+ export declare function uipageprop(page?: number): (original: any, propertyKey?: any) => any;
409
409
  /**
410
410
  * A decorator factory that binds a UI event to a specified handler function.
411
411
  * This is used to attach event handlers to specific lifecycle events of a `DecafComponent`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decaf-ts/ui-decorators",
3
- "version": "0.17.3",
3
+ "version": "0.17.5",
4
4
  "description": "Extension of decorator validation to ui elements to allow for web integration",
5
5
  "type": "module",
6
6
  "exports": {