@stonecrop/stonecrop 0.10.15 → 0.11.0

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 (117) hide show
  1. package/README.md +72 -29
  2. package/dist/composable.js +1 -0
  3. package/dist/composables/lazy-link.js +125 -0
  4. package/dist/composables/stonecrop.js +123 -68
  5. package/dist/composables/use-lazy-link-state.js +125 -0
  6. package/dist/composables/use-stonecrop.js +476 -0
  7. package/dist/doctype.js +10 -2
  8. package/dist/field-triggers.js +15 -3
  9. package/dist/index.js +4 -3
  10. package/dist/operation-log-DB-dGNT9.js +593 -0
  11. package/dist/operation-log-DB-dGNT9.js.map +1 -0
  12. package/dist/registry.js +261 -101
  13. package/dist/schema-validator.js +105 -1
  14. package/dist/src/composable.d.ts +11 -0
  15. package/dist/src/composable.d.ts.map +1 -0
  16. package/dist/src/composable.js +477 -0
  17. package/dist/src/composables/lazy-link.d.ts +25 -0
  18. package/dist/src/composables/lazy-link.d.ts.map +1 -0
  19. package/dist/src/composables/operation-log.d.ts +5 -5
  20. package/dist/src/composables/operation-log.d.ts.map +1 -1
  21. package/dist/src/composables/operation-log.js +224 -0
  22. package/dist/src/composables/stonecrop.d.ts +11 -1
  23. package/dist/src/composables/stonecrop.d.ts.map +1 -1
  24. package/dist/src/composables/stonecrop.js +574 -0
  25. package/dist/src/composables/use-lazy-link-state.d.ts +25 -0
  26. package/dist/src/composables/use-lazy-link-state.d.ts.map +1 -0
  27. package/dist/src/composables/use-stonecrop.d.ts +93 -0
  28. package/dist/src/composables/use-stonecrop.d.ts.map +1 -0
  29. package/dist/src/composables/useNestedSchema.d.ts +110 -0
  30. package/dist/src/composables/useNestedSchema.d.ts.map +1 -0
  31. package/dist/src/composables/useNestedSchema.js +155 -0
  32. package/dist/src/doctype.d.ts +9 -1
  33. package/dist/src/doctype.d.ts.map +1 -1
  34. package/dist/src/doctype.js +234 -0
  35. package/dist/src/exceptions.js +16 -0
  36. package/dist/src/field-triggers.d.ts +6 -0
  37. package/dist/src/field-triggers.d.ts.map +1 -1
  38. package/dist/src/field-triggers.js +567 -0
  39. package/dist/src/index.d.ts +3 -2
  40. package/dist/src/index.d.ts.map +1 -1
  41. package/dist/src/index.js +23 -0
  42. package/dist/src/plugins/index.js +96 -0
  43. package/dist/src/registry.d.ts +102 -23
  44. package/dist/src/registry.d.ts.map +1 -1
  45. package/dist/src/registry.js +246 -0
  46. package/dist/src/schema-validator.d.ts +8 -1
  47. package/dist/src/schema-validator.d.ts.map +1 -1
  48. package/dist/src/schema-validator.js +315 -0
  49. package/dist/src/stonecrop.d.ts +73 -28
  50. package/dist/src/stonecrop.d.ts.map +1 -1
  51. package/dist/src/stonecrop.js +339 -0
  52. package/dist/src/stores/data.d.ts +11 -0
  53. package/dist/src/stores/data.d.ts.map +1 -0
  54. package/dist/src/stores/hst.d.ts +5 -75
  55. package/dist/src/stores/hst.d.ts.map +1 -1
  56. package/dist/src/stores/hst.js +495 -0
  57. package/dist/src/stores/index.js +12 -0
  58. package/dist/src/stores/operation-log.d.ts +14 -14
  59. package/dist/src/stores/operation-log.d.ts.map +1 -1
  60. package/dist/src/stores/operation-log.js +568 -0
  61. package/dist/src/stores/xstate.d.ts +31 -0
  62. package/dist/src/stores/xstate.d.ts.map +1 -0
  63. package/dist/src/tsdoc-metadata.json +11 -0
  64. package/dist/src/types/composable.d.ts +50 -12
  65. package/dist/src/types/composable.d.ts.map +1 -1
  66. package/dist/src/types/doctype.d.ts +6 -7
  67. package/dist/src/types/doctype.d.ts.map +1 -1
  68. package/dist/src/types/field-triggers.d.ts +1 -1
  69. package/dist/src/types/field-triggers.d.ts.map +1 -1
  70. package/dist/src/types/field-triggers.js +4 -0
  71. package/dist/src/types/hst.d.ts +70 -0
  72. package/dist/src/types/hst.d.ts.map +1 -0
  73. package/dist/src/types/index.d.ts +1 -0
  74. package/dist/src/types/index.d.ts.map +1 -1
  75. package/dist/src/types/index.js +4 -0
  76. package/dist/src/types/operation-log.d.ts +4 -4
  77. package/dist/src/types/operation-log.d.ts.map +1 -1
  78. package/dist/src/types/operation-log.js +0 -0
  79. package/dist/src/types/registry.js +0 -0
  80. package/dist/src/types/schema-validator.d.ts +2 -0
  81. package/dist/src/types/schema-validator.d.ts.map +1 -1
  82. package/dist/src/utils.d.ts +24 -0
  83. package/dist/src/utils.d.ts.map +1 -0
  84. package/dist/stonecrop.d.ts +317 -99
  85. package/dist/stonecrop.js +2191 -1897
  86. package/dist/stonecrop.js.map +1 -1
  87. package/dist/stonecrop.umd.cjs +6 -0
  88. package/dist/stonecrop.umd.cjs.map +1 -0
  89. package/dist/stores/data.js +7 -0
  90. package/dist/stores/hst.js +27 -25
  91. package/dist/stores/operation-log.js +59 -47
  92. package/dist/stores/xstate.js +29 -0
  93. package/dist/tests/setup.d.ts +5 -0
  94. package/dist/tests/setup.d.ts.map +1 -0
  95. package/dist/tests/setup.js +15 -0
  96. package/dist/types/hst.js +0 -0
  97. package/dist/types/index.js +1 -0
  98. package/dist/utils.js +46 -0
  99. package/package.json +4 -4
  100. package/src/composables/lazy-link.ts +146 -0
  101. package/src/composables/operation-log.ts +1 -1
  102. package/src/composables/stonecrop.ts +142 -73
  103. package/src/doctype.ts +13 -4
  104. package/src/field-triggers.ts +18 -4
  105. package/src/index.ts +4 -2
  106. package/src/registry.ts +289 -111
  107. package/src/schema-validator.ts +120 -1
  108. package/src/stonecrop.ts +230 -106
  109. package/src/stores/hst.ts +29 -104
  110. package/src/stores/operation-log.ts +64 -50
  111. package/src/types/composable.ts +55 -12
  112. package/src/types/doctype.ts +6 -7
  113. package/src/types/field-triggers.ts +1 -1
  114. package/src/types/hst.ts +77 -0
  115. package/src/types/index.ts +1 -0
  116. package/src/types/operation-log.ts +4 -4
  117. package/src/types/schema-validator.ts +2 -0
@@ -1,7 +1,7 @@
1
- import { SchemaTypes } from '@stonecrop/aform';
1
+ import type { SchemaTypes } from '@stonecrop/aform';
2
2
  import type { Ref, ComputedRef } from 'vue';
3
3
  import type Doctype from '../doctype';
4
- import type { HSTNode } from '../stores/hst';
4
+ import type { HSTNode } from './hst';
5
5
  import type { HSTOperation, OperationLogConfig, OperationLogSnapshot } from './operation-log';
6
6
  /**
7
7
  * Operation Log API - nested object containing all operation log functionality
@@ -169,14 +169,24 @@ export type HSTStonecropReturn = BaseStonecropReturn & {
169
169
  */
170
170
  resolvedSchema: Ref<SchemaTypes[]>;
171
171
  /**
172
- * Loads or initializes nested doctype data.
173
- * Use this when rendering a nested form component. Checks HST first, then initializes defaults.
174
- * @param parentPath - The HST path to check for existing data
175
- * @param childDoctype - The nested doctype metadata
176
- * @param recordId - Optional record ID (reserved for future API fetch)
177
- * @returns The loaded or initialized data object
172
+ * Scaffold empty descendant records from defaults for all descendant links.
173
+ * @param path - The HST path where initialized data should be stored
174
+ * @param doctype - The doctype to initialize
178
175
  */
179
- loadNestedData: (parentPath: string, childDoctype: Doctype, recordId?: string) => Record<string, any>;
176
+ initializeNestedData: (path: string, doctype: Doctype) => void;
177
+ /**
178
+ * Fetch a record and its nested data from the server.
179
+ * Stores each field at its own HST path per the field-level convention.
180
+ * @param path - The HST path (e.g., "recipe.r1")
181
+ * @param doctype - The doctype to fetch
182
+ * @param recordId - Record ID to fetch
183
+ * @param options - Query options (includeNested to control which links are fetched)
184
+ * @throws Error with code "CLIENT_REQUIRED" if no data client is configured
185
+ * @throws Error with code "RECORD_NOT_FOUND" if the server returns null
186
+ */
187
+ fetchNestedData: (path: string, doctype: Doctype, recordId: string, options?: {
188
+ includeNested?: boolean | string[];
189
+ }) => Promise<void>;
180
190
  /**
181
191
  * Collects a complete record payload with all nested data from HST.
182
192
  * Use this before submitting to an API. Recursively includes 1:1 and 1:many nested records.
@@ -186,13 +196,13 @@ export type HSTStonecropReturn = BaseStonecropReturn & {
186
196
  */
187
197
  collectRecordPayload: (doctype: Doctype, recordId: string) => Record<string, any>;
188
198
  /**
189
- * Creates a nested context for a child doctype component.
199
+ * Creates a nested context for a descendant doctype component.
190
200
  * Use this in parent components to pass scoped handlers to child components.
191
201
  * @param basePath - The parent HST path prefix
192
- * @param childDoctype - The child doctype metadata
202
+ * @param descendantDoctype - The descendant doctype metadata
193
203
  * @returns Scoped provideHSTPath and handleHSTChange functions
194
204
  */
195
- createNestedContext: (basePath: string, childDoctype: Doctype) => {
205
+ createNestedContext: (basePath: string, descendantDoctype: Doctype) => {
196
206
  provideHSTPath: (fieldname: string) => string;
197
207
  handleHSTChange: (changeData: HSTChangeData) => void;
198
208
  };
@@ -211,6 +221,17 @@ export type HSTStonecropReturn = BaseStonecropReturn & {
211
221
  * Available immediately if Doctype instance passed, after async resolution if slug string passed.
212
222
  */
213
223
  resolvedDoctype: Ref<Doctype | undefined>;
224
+ /**
225
+ * Computed ref indicating whether workflow actions are ready to run.
226
+ * True when all links with blockWorkflows are loaded in HST.
227
+ * Use with v-bind:disabled="!isWorkflowReady" on action buttons.
228
+ */
229
+ isWorkflowReady: ComputedRef<boolean>;
230
+ /**
231
+ * List of link fieldnames that are blocking workflow execution.
232
+ * Empty array when isWorkflowReady is true.
233
+ */
234
+ blockedLinks: ComputedRef<string[]>;
214
235
  };
215
236
  import type { Stonecrop } from '../stonecrop';
216
237
  /**
@@ -227,4 +248,21 @@ export type HSTChangeData = {
227
248
  /** Optional record ID */
228
249
  recordId?: string;
229
250
  };
251
+ /**
252
+ * Lazy link state for a single link field.
253
+ * Provides reactive state and reload capability for lazy-loaded links.
254
+ * @public
255
+ */
256
+ export type LazyLink = {
257
+ /** True while fetching data */
258
+ loading: Ref<boolean>;
259
+ /** True after successful fetch (permanent until reload) */
260
+ loaded: Ref<boolean>;
261
+ /** Error state, if any */
262
+ error: Ref<Error | null>;
263
+ /** Explicitly trigger a fetch for this link */
264
+ reload: () => Promise<void>;
265
+ /** The loaded data from HST, or undefined if not loaded */
266
+ data: ComputedRef<any>;
267
+ };
230
268
  //# sourceMappingURL=composable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"composable.d.ts","sourceRoot":"","sources":["../../../src/types/composable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composable.d.ts","sourceRoot":"","sources":["../../../src/types/composable.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { SchemaTypes } from '@stonecrop/aform';
2
- import type { WorkflowMeta } from '@stonecrop/schema';
2
+ import type { LinkDeclaration, WorkflowMeta } from '@stonecrop/schema';
3
3
  import { List, Map } from 'immutable';
4
4
  import type { AnyStateNodeConfig, UnknownMachineConfig } from 'xstate';
5
5
  /**
@@ -10,6 +10,7 @@ export type ImmutableDoctype = {
10
10
  readonly schema?: List<SchemaTypes>;
11
11
  readonly workflow?: UnknownMachineConfig | AnyStateNodeConfig | WorkflowMeta;
12
12
  readonly actions?: Map<string, string[]>;
13
+ readonly links?: Record<string, LinkDeclaration>;
13
14
  };
14
15
  /**
15
16
  * Mutable Doctype type for Stonecrop instances
@@ -41,17 +42,15 @@ export type DoctypeConfig = {
41
42
  slug?: string;
42
43
  /** Database table name */
43
44
  tableName?: string;
44
- /** Field definitions */
45
+ /** Field definitions (including link fields with fieldtype: 'Link') */
45
46
  fields?: SchemaTypes[];
47
+ /** Relationship links to other doctypes */
48
+ links?: Record<string, LinkDeclaration>;
46
49
  /** Workflow configuration (XState format or simple WorkflowMeta) */
47
50
  workflow?: UnknownMachineConfig | WorkflowMeta;
48
51
  /** Actions and their field triggers */
49
52
  actions?: Record<string, string[]>;
50
- /** Parent doctype for inheritance */
53
+ /** Ancestor doctype for inheritance */
51
54
  inherits?: string;
52
- /** Doctype to use for list views */
53
- listDoctype?: string;
54
- /** Parent doctype for child tables */
55
- parentDoctype?: string;
56
55
  };
57
56
  //# sourceMappingURL=doctype.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctype.d.ts","sourceRoot":"","sources":["../../../src/types/doctype.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAA;AAEtE;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,oBAAoB,GAAG,kBAAkB,GAAG,YAAY,CAAA;IAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CACxC,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;IACtB,QAAQ,CAAC,EAAE,oBAAoB,GAAG,kBAAkB,GAAG,YAAY,CAAA;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAClC,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;CACzB,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG;IAC3B,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,wBAAwB;IACxB,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;IACtB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,oBAAoB,GAAG,YAAY,CAAA;IAC9C,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAClC,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,sCAAsC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA"}
1
+ {"version":3,"file":"doctype.d.ts","sourceRoot":"","sources":["../../../src/types/doctype.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACtE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAA;AAEtE;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,oBAAoB,GAAG,kBAAkB,GAAG,YAAY,CAAA;IAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CAChD,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;IACtB,QAAQ,CAAC,EAAE,oBAAoB,GAAG,kBAAkB,GAAG,YAAY,CAAA;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAClC,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;CACzB,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG;IAC3B,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uEAAuE;IACvE,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;IACtB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACvC,oEAAoE;IACpE,QAAQ,CAAC,EAAE,oBAAoB,GAAG,YAAY,CAAA;IAC9C,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAClC,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA"}
@@ -2,7 +2,7 @@
2
2
  * Field-level action trigger system types
3
3
  * @public
4
4
  */
5
- import { HSTNode } from '../stores/hst';
5
+ import type { HSTNode } from './hst';
6
6
  /**
7
7
  * Context provided to action functions when field changes occur
8
8
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"field-triggers.d.ts","sourceRoot":"","sources":["../../../src/types/field-triggers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field-triggers.d.ts","sourceRoot":"","sources":["../../../src/types/field-triggers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Field-level action trigger system types
3
+ * @public
4
+ */
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Core HST Interface - enhanced with tree navigation
3
+ * Provides a hierarchical state tree interface for navigating and manipulating nested data structures.
4
+ *
5
+ * @public
6
+ */
7
+ export interface HSTNode {
8
+ /**
9
+ * Gets a value at the specified path
10
+ * @param path - The dot-separated path to the value
11
+ * @returns The value at the specified path
12
+ */
13
+ get(path: string): any;
14
+ /**
15
+ * Sets a value at the specified path
16
+ * @param path - The dot-separated path where to set the value
17
+ * @param value - The value to set
18
+ * @param source - Optional source of the operation (user, system, sync, undo, redo)
19
+ */
20
+ set(path: string, value: any, source?: 'user' | 'system' | 'sync' | 'undo' | 'redo'): void;
21
+ /**
22
+ * Checks if a value exists at the specified path
23
+ * @param path - The dot-separated path to check
24
+ * @returns True if the path exists, false otherwise
25
+ */
26
+ has(path: string): boolean;
27
+ /**
28
+ * Gets the ancestor node in the tree hierarchy (immediate predecessor)
29
+ * @returns The ancestor HSTNode or null if this is the root
30
+ */
31
+ getAncestor(): HSTNode | null;
32
+ /**
33
+ * Gets the root node of the tree
34
+ * @returns The root HSTNode
35
+ */
36
+ getRoot(): HSTNode;
37
+ /**
38
+ * Gets the full path from root to this node
39
+ * @returns The dot-separated path string
40
+ */
41
+ getPath(): string;
42
+ /**
43
+ * Gets the depth level of this node in the tree
44
+ * @returns The depth as a number (0 for root)
45
+ */
46
+ getDepth(): number;
47
+ /**
48
+ * Gets an array of path segments from root to this node
49
+ * @returns Array of path segments representing breadcrumbs
50
+ */
51
+ getBreadcrumbs(): string[];
52
+ /**
53
+ * Gets a child node at the specified relative path
54
+ * @param path - The relative path to the child node
55
+ * @returns The child HSTNode
56
+ */
57
+ getNode(path: string): HSTNode;
58
+ /**
59
+ * Trigger an XState transition with optional context data
60
+ * @param transition - The transition name (should be uppercase per convention)
61
+ * @param context - Optional additional FSM context data
62
+ * @returns Promise resolving to the transition execution results
63
+ */
64
+ triggerTransition(transition: string, context?: {
65
+ currentState?: string;
66
+ targetState?: string;
67
+ fsmContext?: Record<string, any>;
68
+ }): Promise<any>;
69
+ }
70
+ //# sourceMappingURL=hst.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hst.d.ts","sourceRoot":"","sources":["../../../src/types/hst.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACvB;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;IAEtB;;;;;OAKG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IAE1F;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAE1B;;;OAGG;IACH,WAAW,IAAI,OAAO,GAAG,IAAI,CAAA;IAE7B;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAA;IAElB;;;OAGG;IACH,OAAO,IAAI,MAAM,CAAA;IAEjB;;;OAGG;IACH,QAAQ,IAAI,MAAM,CAAA;IAElB;;;OAGG;IACH,cAAc,IAAI,MAAM,EAAE,CAAA;IAE1B;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAE9B;;;;;OAKG;IACH,iBAAiB,CAChB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,GACzF,OAAO,CAAC,GAAG,CAAC,CAAA;CACf"}
@@ -1,6 +1,7 @@
1
1
  export * from './composable';
2
2
  export * from './doctype';
3
3
  export * from './field-triggers';
4
+ export * from './hst';
4
5
  export * from './operation-log';
5
6
  export * from './plugin';
6
7
  export * from './registry';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,OAAO,CAAA;AACrB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA"}
@@ -0,0 +1,4 @@
1
+ // Re-export types
2
+ export * from './field-triggers';
3
+ export * from './registry';
4
+ export * from './operation-log';
@@ -56,10 +56,10 @@ export interface HSTOperation {
56
56
  userId?: string;
57
57
  /** Additional metadata for custom use cases */
58
58
  metadata?: Record<string, any>;
59
- /** Parent operation ID for batch operations */
60
- parentOperationId?: string;
61
- /** Child operation IDs for batch operations */
62
- childOperationIds?: string[];
59
+ /** Ancestor operation ID for batch operations */
60
+ ancestorOperationId?: string;
61
+ /** Descendant operation IDs for batch operations */
62
+ descendantOperationIds?: string[];
63
63
  }
64
64
  /**
65
65
  * Input type for adding operations
@@ -1 +1 @@
1
- {"version":3,"file":"operation-log.d.ts","sourceRoot":"","sources":["../../../src/types/operation-log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operation-log.d.ts","sourceRoot":"","sources":["../../../src/types/operation-log.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
@@ -54,6 +54,8 @@ export interface ValidatorOptions {
54
54
  registry?: Registry;
55
55
  /** Whether to validate Link field targets */
56
56
  validateLinkTargets?: boolean;
57
+ /** Whether to validate links object (target resolution, backlink consistency, Link field correspondence) */
58
+ validateLinks?: boolean;
57
59
  /** Whether to validate workflow reachability */
58
60
  validateWorkflows?: boolean;
59
61
  /** Whether to validate action registration */
@@ -1 +1 @@
1
- {"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../../src/types/schema-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAA;AAEvC;;;GAGG;AACH,oBAAY,kBAAkB;IAC7B,wCAAwC;IACxC,KAAK,UAAU;IACf,wCAAwC;IACxC,OAAO,YAAY;IACnB,4BAA4B;IAC5B,IAAI,SAAS;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC/B,qBAAqB;IACrB,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,mBAAmB;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAChC,qDAAqD;IACrD,KAAK,EAAE,OAAO,CAAA;IACd,gCAAgC;IAChC,MAAM,EAAE,eAAe,EAAE,CAAA;IACzB,sBAAsB;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,wBAAwB;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAChC,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,6CAA6C;IAC7C,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,8CAA8C;IAC9C,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,qDAAqD;IACrD,0BAA0B,CAAC,EAAE,OAAO,CAAA;CACpC"}
1
+ {"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../../src/types/schema-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAA;AAEvC;;;GAGG;AACH,oBAAY,kBAAkB;IAC7B,wCAAwC;IACxC,KAAK,UAAU;IACf,wCAAwC;IACxC,OAAO,YAAY;IACnB,4BAA4B;IAC5B,IAAI,SAAS;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC/B,qBAAqB;IACrB,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,mBAAmB;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAChC,qDAAqD;IACrD,KAAK,EAAE,OAAO,CAAA;IACd,gCAAgC;IAChC,MAAM,EAAE,eAAe,EAAE,CAAA;IACzB,sBAAsB;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,wBAAwB;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAChC,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,6CAA6C;IAC7C,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,4GAA4G;IAC5G,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,8CAA8C;IAC9C,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,qDAAqD;IACrD,0BAA0B,CAAC,EAAE,OAAO,CAAA;CACpC"}
@@ -0,0 +1,24 @@
1
+ import { type SchemaTypes } from '@stonecrop/aform';
2
+ import type { HSTNode } from './stores/hst';
3
+ /**
4
+ * Recursively collect nested data from HST using pre-resolved schemas.
5
+ *
6
+ * Walks through a resolved schema and collects all values from the HST store,
7
+ * including nested 1:1 Doctype fields and 1:many child arrays.
8
+ *
9
+ * @param resolvedSchema - The already-resolved schema (with nested schemas embedded)
10
+ * @param basePath - The base path in HST (e.g., "customer.123.address")
11
+ * @param hstStore - The HST store instance
12
+ * @returns The collected data object with all nested fields
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * const addressSchema = registry.resolveSchema(addressDoctype.schema)
17
+ * const addressData = collectNestedData(addressSchema, 'customer.123.address', hstStore)
18
+ * // Returns: { street: '123 Main St', city: 'Portland', ... }
19
+ * ```
20
+ *
21
+ * @public
22
+ */
23
+ export declare function collectNestedData(resolvedSchema: SchemaTypes[], basePath: string, hstStore: HSTNode): Record<string, unknown>;
24
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,WAAW,EAEhB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE3C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAChC,cAAc,EAAE,WAAW,EAAE,EAC7B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,OAAO,GACf,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkCzB"}