@kubuild/core 0.1.0 → 0.3.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 (76) hide show
  1. package/README.md +122 -0
  2. package/dist/document/artboards.d.ts +113 -0
  3. package/dist/document/artboards.d.ts.map +1 -0
  4. package/dist/document/command-tree-utils.d.ts.map +1 -0
  5. package/dist/{commands.d.ts → document/commands.d.ts} +75 -2
  6. package/dist/document/commands.d.ts.map +1 -0
  7. package/dist/{document-utils.d.ts → document/document-utils.d.ts} +1 -3
  8. package/dist/document/document-utils.d.ts.map +1 -0
  9. package/dist/{history.d.ts → document/history.d.ts} +46 -0
  10. package/dist/document/history.d.ts.map +1 -0
  11. package/dist/document/index.d.ts +6 -0
  12. package/dist/document/index.d.ts.map +1 -0
  13. package/dist/index.cjs +3755 -1660
  14. package/dist/index.cjs.map +1 -1
  15. package/dist/index.d.ts +6 -14
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +3666 -1605
  18. package/dist/index.js.map +1 -1
  19. package/dist/{exporter.d.ts → io/exporter.d.ts} +3 -3
  20. package/dist/io/exporter.d.ts.map +1 -0
  21. package/dist/{importer.d.ts → io/importer.d.ts} +2 -2
  22. package/dist/io/importer.d.ts.map +1 -0
  23. package/dist/io/index.d.ts +7 -0
  24. package/dist/io/index.d.ts.map +1 -0
  25. package/dist/io/load-project.d.ts +42 -0
  26. package/dist/io/load-project.d.ts.map +1 -0
  27. package/dist/io/migration.d.ts.map +1 -0
  28. package/dist/io/round-trip-comparator.d.ts.map +1 -0
  29. package/dist/io/template-utils.d.ts.map +1 -0
  30. package/dist/{binding-resolver.d.ts → runtime/binding-resolver.d.ts} +1 -1
  31. package/dist/runtime/binding-resolver.d.ts.map +1 -0
  32. package/dist/runtime/conditional-resolver.d.ts +45 -0
  33. package/dist/runtime/conditional-resolver.d.ts.map +1 -0
  34. package/dist/runtime/index.d.ts +7 -0
  35. package/dist/runtime/index.d.ts.map +1 -0
  36. package/dist/runtime/interpolator.d.ts +50 -0
  37. package/dist/runtime/interpolator.d.ts.map +1 -0
  38. package/dist/runtime/pipeline-executor.d.ts +136 -0
  39. package/dist/runtime/pipeline-executor.d.ts.map +1 -0
  40. package/dist/runtime/state-store.d.ts +128 -0
  41. package/dist/runtime/state-store.d.ts.map +1 -0
  42. package/dist/{variable-catalog.d.ts → runtime/variable-catalog.d.ts} +1 -1
  43. package/dist/runtime/variable-catalog.d.ts.map +1 -0
  44. package/dist/types/index.d.ts +2 -0
  45. package/dist/types/index.d.ts.map +1 -0
  46. package/dist/{interfaces.d.ts → types/interfaces.d.ts} +29 -2
  47. package/dist/types/interfaces.d.ts.map +1 -0
  48. package/dist/validation/index.d.ts +5 -0
  49. package/dist/validation/index.d.ts.map +1 -0
  50. package/dist/validation/project-validator.d.ts +38 -0
  51. package/dist/validation/project-validator.d.ts.map +1 -0
  52. package/dist/validation/security.d.ts.map +1 -0
  53. package/dist/validation/validation-engine.d.ts +39 -0
  54. package/dist/validation/validation-engine.d.ts.map +1 -0
  55. package/dist/validation/validator.d.ts.map +1 -0
  56. package/package.json +4 -3
  57. package/dist/binding-resolver.d.ts.map +0 -1
  58. package/dist/command-tree-utils.d.ts.map +0 -1
  59. package/dist/commands.d.ts.map +0 -1
  60. package/dist/document-utils.d.ts.map +0 -1
  61. package/dist/exporter.d.ts.map +0 -1
  62. package/dist/history.d.ts.map +0 -1
  63. package/dist/importer.d.ts.map +0 -1
  64. package/dist/interfaces.d.ts.map +0 -1
  65. package/dist/migration.d.ts.map +0 -1
  66. package/dist/round-trip-comparator.d.ts.map +0 -1
  67. package/dist/security.d.ts.map +0 -1
  68. package/dist/template-utils.d.ts.map +0 -1
  69. package/dist/validator.d.ts.map +0 -1
  70. package/dist/variable-catalog.d.ts.map +0 -1
  71. /package/dist/{command-tree-utils.d.ts → document/command-tree-utils.d.ts} +0 -0
  72. /package/dist/{migration.d.ts → io/migration.d.ts} +0 -0
  73. /package/dist/{round-trip-comparator.d.ts → io/round-trip-comparator.d.ts} +0 -0
  74. /package/dist/{template-utils.d.ts → io/template-utils.d.ts} +0 -0
  75. /package/dist/{security.d.ts → validation/security.d.ts} +0 -0
  76. /package/dist/{validator.d.ts → validation/validator.d.ts} +0 -0
@@ -1,7 +1,7 @@
1
1
  import { PageDocument, DocumentMetadata, Manifest } from '@kubuild/schema';
2
- import { DocumentValidationError, ValidationOptions, ComponentRegistryLike } from './validator';
3
- import { CollectedAssetReference } from './document-utils';
4
- import type { AssetProvider } from './interfaces';
2
+ import { DocumentValidationError, ValidationOptions, ComponentRegistryLike } from '../validation/validator';
3
+ import { CollectedAssetReference } from '../document/document-utils';
4
+ import type { AssetProvider } from '../types/interfaces';
5
5
  export interface ExportAssetData {
6
6
  data: Uint8Array | ArrayBuffer | Blob | string;
7
7
  mimeType?: string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../../src/io/exporter.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { PageDocument, DocumentMetadata, Manifest, ManifestAssetItem } from '@kubuild/schema';
2
- import { ComponentRegistryLike } from './validator';
2
+ import { ComponentRegistryLike } from '../validation/validator';
3
3
  import { MigrationRegistry } from './migration';
4
- import type { AssetProvider, AssetInfo } from './interfaces';
4
+ import type { AssetProvider, AssetInfo } from '../types/interfaces';
5
5
  export interface SecurityLimits {
6
6
  /**
7
7
  * Maximum allowed size for the compressed archive in bytes (default: 50MB).
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../src/io/importer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export * from './exporter';
2
+ export * from './importer';
3
+ export * from './migration';
4
+ export * from './load-project';
5
+ export * from './round-trip-comparator';
6
+ export * from './template-utils';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/io/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { PageDocument, ProjectDocument } from '@kubuild/schema';
2
+ export type ProjectLoadErrorCode = 'INVALID_SOURCE' | 'PROJECT_SCHEMA_INVALID' | 'LEGACY_MIGRATION_FAILED';
3
+ export interface ProjectLoadError {
4
+ code: ProjectLoadErrorCode;
5
+ message: string;
6
+ details?: Record<string, unknown>;
7
+ }
8
+ export interface ProjectLoadResult {
9
+ success: boolean;
10
+ project?: ProjectDocument;
11
+ /** True when the payload arrived as a legacy single-page document and was wrapped. */
12
+ wrappedFromLegacyPage: boolean;
13
+ errors: ProjectLoadError[];
14
+ }
15
+ export interface WrapPageAsProjectOptions {
16
+ artboardId?: string;
17
+ name?: string;
18
+ slug?: string;
19
+ width?: number;
20
+ }
21
+ /**
22
+ * Wrap a single PageDocument into a one-artboard ProjectDocument.
23
+ * Used both by the legacy load path and by consumers that still hold a lone page.
24
+ */
25
+ export declare function wrapPageDocumentAsProject(document: PageDocument, options?: WrapPageAsProjectOptions): ProjectDocument;
26
+ /**
27
+ * Load a raw payload as a ProjectDocument.
28
+ *
29
+ * `PageDocument -> ProjectDocument` is a schema *kind* switch (`document` singular vs.
30
+ * `artboards[]`, different `schema` literal), not a version step, so it cannot be expressed
31
+ * as a MigrationRegistry step. This loader sniffs the shape and routes accordingly:
32
+ *
33
+ * - already a project (`schema === 'stora.project'` or has `artboards[]`) -> parse as a project
34
+ * - anything else -> run the existing page migration pipeline untouched, then wrap the
35
+ * fully-migrated page into a single-artboard project
36
+ *
37
+ * Legacy inline modal/drawer/collapsible nodes are deliberately NOT auto-extracted into
38
+ * component artboards here; that stays an explicit, author-triggered action so no existing
39
+ * document silently changes how it renders.
40
+ */
41
+ export declare function loadProjectDocument(raw: unknown): ProjectLoadResult;
42
+ //# sourceMappingURL=load-project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-project.d.ts","sourceRoot":"","sources":["../../src/io/load-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EACZ,eAAe,EAKhB,MAAM,iBAAiB,CAAC;AAGzB,MAAM,MAAM,oBAAoB,GAC5B,gBAAgB,GAChB,wBAAwB,GACxB,yBAAyB,CAAC;AAE9B,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,sFAAsF;IACtF,qBAAqB,EAAE,OAAO,CAAC;IAC/B,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,YAAY,EACtB,OAAO,GAAE,wBAA6B,GACrC,eAAe,CAkBjB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,CA4DnE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../src/io/migration.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAKb,MAAM,iBAAiB,CAAC;AAIzB,MAAM,MAAM,kBAAkB,GAC1B,mBAAmB,GACnB,4BAA4B,GAC5B,yBAAyB,GACzB,4BAA4B,CAAC;AAEjC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,UAAU,EAAE,mBAAmB,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE7F,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAAyC;IAEtD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAKnC,OAAO,CAAC,MAAM;IAId;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IA+BvE;;OAEG;IACH,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO;IAI9D;;OAEG;IACH,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;CAG3E;AA0BD,eAAO,MAAM,wBAAwB,mBAA0B,CAAC;AAqGhE;;GAEG;AACH,wBAAgB,UAAU,CACxB,aAAa,EAAE,MAAM,EACrB,aAAa,GAAE,MAA+B,EAC9C,QAAQ,GAAE,iBAA4C,GACrD,OAAO,CAIT;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,MAAM,EACrB,aAAa,GAAE,MAA+B,EAC9C,QAAQ,GAAE,iBAA4C,GACrD,MAAM,EAAE,GAAG,IAAI,CAGjB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,OAAO,EACpB,OAAO,GAAE,cAAmB,GAC3B,eAAe,CA0MjB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"round-trip-comparator.d.ts","sourceRoot":"","sources":["../../src/io/round-trip-comparator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAIZ,QAAQ,EAIT,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,sBAAsB,GAC9B,mBAAmB,GACnB,cAAc,GACd,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,eAAe,GACf,gBAAgB,GAChB,kBAAkB,GAClB,iBAAiB,GACjB,gBAAgB,GAChB,qBAAqB,CAAC;AAE1B,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,sBAAsB,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE1D;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,kBAAkB,EAAE,CAAC;CACnC;AAiYD;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE,sBAA2B,GACnC,wBAAwB,CA2D1B;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,QAAQ,EAChB,OAAO,GAAE,sBAA2B,GACnC,wBAAwB,CAuF1B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-utils.d.ts","sourceRoot":"","sources":["../../src/io/template-utils.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { VariableBinding } from '@kubuild/schema';
2
- import type { RuntimeContext } from './interfaces';
2
+ import type { RuntimeContext } from '../types/interfaces';
3
3
  export type ResolveOutcome = {
4
4
  status: 'resolved';
5
5
  value: unknown;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binding-resolver.d.ts","sourceRoot":"","sources":["../../src/runtime/binding-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAQ1D,MAAM,MAAM,cAAc,GACtB;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACtC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACtC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,EAAE,CAAA;CAAE,CAAC;AAInC,wBAAgB,cAAc,CAC5B,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,GAAG,UAAU,CAAC,EAClD,OAAO,EAAE,cAAc,GAAG,SAAS,GAClC,cAAc,CAsBhB;AASD,4EAA4E;AAC5E,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,GAAG,UAAU,CAAC,EAClD,OAAO,EAAE,cAAc,GAAG,SAAS,GAClC,OAAO,CAET"}
@@ -0,0 +1,45 @@
1
+ import type { ActionStepCondition, ConditionOperator } from '@kubuild/schema';
2
+ /**
3
+ * Extended condition operators supported by the evaluator.
4
+ */
5
+ export type ExtendedConditionOperator = ConditionOperator | 'starts_with' | 'ends_with' | 'is_empty' | 'is_not_empty' | 'in' | 'not_in';
6
+ /**
7
+ * Options for fine-tuning condition evaluation.
8
+ */
9
+ export interface ConditionEvaluationOptions {
10
+ caseInsensitive?: boolean;
11
+ trimStrings?: boolean;
12
+ }
13
+ /**
14
+ * Represents a group of conditions evaluated together using AND / OR combinators.
15
+ */
16
+ export interface ConditionGroup {
17
+ combinator: 'and' | 'or';
18
+ conditions: (ActionStepCondition | ConditionGroup)[];
19
+ }
20
+ /**
21
+ * Type guard to check if a condition item is a ConditionGroup.
22
+ */
23
+ export declare function isConditionGroup(item: ActionStepCondition | ConditionGroup): item is ConditionGroup;
24
+ /**
25
+ * Checks whether a given value is considered empty.
26
+ * Returns true for undefined, null, empty string, empty array, or empty object.
27
+ */
28
+ export declare function isValueEmpty(value: unknown): boolean;
29
+ /**
30
+ * Evaluates an operator against an actual value and an optional expected value.
31
+ */
32
+ export declare function evaluateOperator(operator: ExtendedConditionOperator | string, actual: unknown, expected?: unknown, options?: ConditionEvaluationOptions): boolean;
33
+ /**
34
+ * Resolves a field value from context and evaluates a single ActionStepCondition.
35
+ */
36
+ export declare function evaluateCondition(condition: ActionStepCondition | undefined, context: Record<string, unknown>, options?: ConditionEvaluationOptions): boolean;
37
+ /**
38
+ * Evaluates a ConditionGroup (AND / OR group with nested conditions).
39
+ */
40
+ export declare function evaluateConditionGroup(group: ConditionGroup, context: Record<string, unknown>, options?: ConditionEvaluationOptions): boolean;
41
+ /**
42
+ * Evaluates a list of conditions and/or condition groups using a given combinator ('and' | 'or').
43
+ */
44
+ export declare function evaluateConditions(conditions: (ActionStepCondition | ConditionGroup)[], context: Record<string, unknown>, combinator?: 'and' | 'or', options?: ConditionEvaluationOptions): boolean;
45
+ //# sourceMappingURL=conditional-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conditional-resolver.d.ts","sourceRoot":"","sources":["../../src/runtime/conditional-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAG9E;;GAEG;AACH,MAAM,MAAM,yBAAyB,GACjC,iBAAiB,GACjB,aAAa,GACb,WAAW,GACX,UAAU,GACV,cAAc,GACd,IAAI,GACJ,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,KAAK,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,CAAC,mBAAmB,GAAG,cAAc,CAAC,EAAE,CAAC;CACtD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,mBAAmB,GAAG,cAAc,GACzC,IAAI,IAAI,cAAc,CAExB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAcpD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,yBAAyB,GAAG,MAAM,EAC5C,MAAM,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CA+IT;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,mBAAmB,GAAG,SAAS,EAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAWT;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAsBT;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,CAAC,mBAAmB,GAAG,cAAc,CAAC,EAAE,EACpD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,UAAU,GAAE,KAAK,GAAG,IAAY,EAChC,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAET"}
@@ -0,0 +1,7 @@
1
+ export * from './binding-resolver';
2
+ export * from './variable-catalog';
3
+ export * from './interpolator';
4
+ export * from './conditional-resolver';
5
+ export * from './pipeline-executor';
6
+ export * from './state-store';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Template and Expression Variable Interpolator
3
+ *
4
+ * Provides safe, deterministic resolution and interpolation of template strings
5
+ * like `{{form.email}}`, `{{variables.token}}`, and `{{response.data.id}}` into
6
+ * targets without using eval() or Function().
7
+ */
8
+ /**
9
+ * Standard structured runtime context for interpolations.
10
+ */
11
+ export interface InterpolationContext {
12
+ form?: Record<string, unknown>;
13
+ variables?: Record<string, unknown>;
14
+ response?: Record<string, unknown>;
15
+ state?: Record<string, unknown>;
16
+ [key: string]: unknown;
17
+ }
18
+ /**
19
+ * Checks if a string contains one or more `{{ ... }}` template expressions.
20
+ */
21
+ export declare function hasTemplateExpressions(text: unknown): boolean;
22
+ /**
23
+ * Extracts all unique property keys / variable paths referenced inside `{{ ... }}`.
24
+ */
25
+ export declare function extractTemplateVariables(text: string): string[];
26
+ /**
27
+ * Safely traverses a nested data source to resolve a dot/bracket path
28
+ * (e.g. `form.user.profile.name`, `response.data[0].id`, `items.0.title`).
29
+ *
30
+ * Returns `fallback` if any segment is missing, undefined, null, or points to
31
+ * a function or forbidden prototype property.
32
+ */
33
+ export declare function resolvePropertyPath(source: unknown, path: string, fallback?: unknown): unknown;
34
+ /**
35
+ * Interpolates all `{{ path }}` placeholders in a template string using values
36
+ * from the provided context object.
37
+ *
38
+ * If a variable cannot be resolved, it replaces it with `fallback` (default: `""`).
39
+ */
40
+ export declare function interpolateTemplateString(template: string, context?: Record<string, unknown>, fallback?: string): string;
41
+ /**
42
+ * Recursively interpolates any value (string, object, array, primitive).
43
+ *
44
+ * - If string is exactly `{{ path }}`, returns the raw resolved value (retaining type: number, boolean, object, array).
45
+ * - If string contains embedded templates (e.g. `Bearer {{token}}`), returns the interpolated string.
46
+ * - If array, interpolates every element.
47
+ * - If object, interpolates every property value while stripping forbidden prototype keys.
48
+ */
49
+ export declare function interpolateValue(value: unknown, context?: Record<string, unknown>): unknown;
50
+ //# sourceMappingURL=interpolator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interpolator.d.ts","sourceRoot":"","sources":["../../src/runtime/interpolator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAkBH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAG7D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAgB/D;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CA6CT;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,QAAQ,GAAE,MAAW,GACpB,MAAM,CAqBR;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CA8B3F"}
@@ -0,0 +1,136 @@
1
+ import type { ActionPipeline, ActionStep, ActionStepCondition, ActionStepType } from '@kubuild/schema';
2
+ /**
3
+ * Execution context shared across action steps in a pipeline.
4
+ */
5
+ export interface PipelineExecutionContext {
6
+ form?: Record<string, unknown>;
7
+ variables?: Record<string, unknown>;
8
+ state?: Record<string, unknown>;
9
+ response?: unknown;
10
+ stepResults?: Record<string, StepExecutionResult>;
11
+ error?: unknown;
12
+ lastError?: unknown;
13
+ nodeId?: string;
14
+ document?: unknown;
15
+ [key: string]: unknown;
16
+ }
17
+ /**
18
+ * Status of an individual step execution.
19
+ */
20
+ export type StepExecutionStatus = 'success' | 'error' | 'skipped' | 'cancelled';
21
+ /**
22
+ * Result of executing an individual action step.
23
+ */
24
+ export interface StepExecutionResult {
25
+ stepId: string;
26
+ stepType: ActionStepType | string;
27
+ status: StepExecutionStatus;
28
+ data?: unknown;
29
+ error?: Error | unknown;
30
+ durationMs: number;
31
+ subResults?: StepExecutionResult[];
32
+ }
33
+ /**
34
+ * Overall result of executing an action pipeline.
35
+ */
36
+ export interface PipelineExecutionResult {
37
+ pipelineId: string;
38
+ success: boolean;
39
+ status: 'completed' | 'failed' | 'cancelled';
40
+ stepResults: StepExecutionResult[];
41
+ context: PipelineExecutionContext;
42
+ error?: Error | unknown;
43
+ durationMs: number;
44
+ }
45
+ /**
46
+ * Handler function signature for an individual step type.
47
+ */
48
+ export type PipelineStepHandler<TContext = PipelineExecutionContext> = (step: ActionStep, context: TContext, signal: AbortSignal) => Promise<unknown> | unknown;
49
+ /**
50
+ * Options for configuring the execution of an action pipeline.
51
+ */
52
+ export interface ExecutePipelineOptions {
53
+ context?: PipelineExecutionContext;
54
+ signal?: AbortSignal;
55
+ timeout?: number;
56
+ throwOnError?: boolean;
57
+ handlers?: Record<string, PipelineStepHandler>;
58
+ onStepStart?: (step: ActionStep, context: PipelineExecutionContext) => void;
59
+ onStepComplete?: (step: ActionStep, result: StepExecutionResult, context: PipelineExecutionContext) => void;
60
+ }
61
+ /**
62
+ * Configuration options for creating an ActionPipelineExecutor instance.
63
+ */
64
+ export interface ActionPipelineExecutorOptions {
65
+ handlers?: Record<string, PipelineStepHandler>;
66
+ defaultTimeout?: number;
67
+ throwOnError?: boolean;
68
+ }
69
+ /**
70
+ * Custom error thrown when a step or pipeline times out.
71
+ */
72
+ export declare class ActionTimeoutError extends Error {
73
+ readonly stepId?: string;
74
+ readonly timeoutMs: number;
75
+ constructor(message: string, timeoutMs: number, stepId?: string);
76
+ }
77
+ /**
78
+ * Custom error thrown when an action execution is aborted/cancelled.
79
+ */
80
+ export declare class ActionCancellationError extends Error {
81
+ readonly stepId?: string;
82
+ constructor(message?: string, stepId?: string);
83
+ }
84
+ /**
85
+ * Evaluates an ActionStepCondition against a pipeline execution context.
86
+ */
87
+ export declare function evaluateActionCondition(condition: ActionStepCondition | undefined, context: PipelineExecutionContext): boolean;
88
+ /**
89
+ * ActionPipelineExecutor manages step handlers, sequential execution of action pipelines,
90
+ * timeouts, cancellation, conditional evaluation, and onSuccess / onError branching.
91
+ */
92
+ export declare class ActionPipelineExecutor {
93
+ private handlers;
94
+ private defaultTimeout?;
95
+ private throwOnError;
96
+ constructor(options?: ActionPipelineExecutorOptions);
97
+ /**
98
+ * Registers default built-in handlers for core step types like `set_state` and `reset_form`.
99
+ */
100
+ private registerBuiltInHandlers;
101
+ /**
102
+ * Registers a handler for a step type.
103
+ */
104
+ registerHandler(type: ActionStepType | string, handler: PipelineStepHandler): this;
105
+ /**
106
+ * Unregisters a handler for a step type.
107
+ */
108
+ unregisterHandler(type: ActionStepType | string): this;
109
+ /**
110
+ * Checks if a handler exists for a step type.
111
+ */
112
+ hasHandler(type: ActionStepType | string): boolean;
113
+ /**
114
+ * Gets the registered handler for a step type.
115
+ */
116
+ getHandler(type: ActionStepType | string): PipelineStepHandler | undefined;
117
+ /**
118
+ * Executes a full ActionPipeline sequentially with support for timeouts, cancellation,
119
+ * condition evaluation, and branching.
120
+ */
121
+ execute(pipeline: ActionPipeline, options?: ExecutePipelineOptions): Promise<PipelineExecutionResult>;
122
+ /**
123
+ * Executes an ordered list of ActionSteps sequentially.
124
+ */
125
+ private executeSteps;
126
+ /**
127
+ * Executes a single ActionStep with condition checking, payload interpolation, timeout,
128
+ * handler execution, response context passing, and branch execution.
129
+ */
130
+ executeSingleStep(step: ActionStep, context: PipelineExecutionContext, parentSignal: AbortSignal, options?: ExecutePipelineOptions): Promise<StepExecutionResult>;
131
+ }
132
+ /**
133
+ * Convenience helper to execute an action pipeline using default or custom executor settings.
134
+ */
135
+ export declare function executeActionPipeline(pipeline: ActionPipeline, options?: ExecutePipelineOptions): Promise<PipelineExecutionResult>;
136
+ //# sourceMappingURL=pipeline-executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline-executor.d.ts","sourceRoot":"","sources":["../../src/runtime/pipeline-executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Standard form state structure managed inside the store.
3
+ */
4
+ export interface FormState {
5
+ values: Record<string, unknown>;
6
+ errors: Record<string, string>;
7
+ touched: Record<string, boolean>;
8
+ isSubmitting: boolean;
9
+ isValid: boolean;
10
+ dirty: boolean;
11
+ initialValues?: Record<string, unknown>;
12
+ }
13
+ /**
14
+ * Root state managed by the RuntimeStateStore.
15
+ */
16
+ export interface RuntimeStoreState {
17
+ variables: Record<string, unknown>;
18
+ forms: Record<string, FormState>;
19
+ state: Record<string, unknown>;
20
+ [key: string]: unknown;
21
+ }
22
+ export type Unsubscribe = () => void;
23
+ export type StoreListener = (state: Readonly<RuntimeStoreState>, prevState: Readonly<RuntimeStoreState>) => void;
24
+ export type KeyChangeListener<T = unknown> = (newValue: T, prevValue: T) => void;
25
+ export type PathChangeListener<T = unknown> = (newValue: T, prevValue: T) => void;
26
+ export type FormChangeListener = (newForm: FormState, prevForm?: FormState) => void;
27
+ /**
28
+ * Creates an initial clean FormState object.
29
+ */
30
+ export declare function createDefaultFormState(initialValues?: Record<string, unknown>): FormState;
31
+ /**
32
+ * Reactive State Store & Context Manager for form states and runtime variables.
33
+ */
34
+ export declare class RuntimeStateStore {
35
+ private state;
36
+ private listeners;
37
+ private pathListeners;
38
+ private formListeners;
39
+ private isBatching;
40
+ private batchOldState?;
41
+ private isNotifying;
42
+ constructor(initialState?: Partial<RuntimeStoreState>);
43
+ /**
44
+ * Retrieves a value at a specified path or the entire state snapshot.
45
+ */
46
+ get<T = unknown>(path?: string, fallback?: T): T;
47
+ /**
48
+ * Gets an immutable snapshot of the current state.
49
+ */
50
+ getSnapshot(): RuntimeStoreState;
51
+ /**
52
+ * Sets a value at a dotted path and notifies subscribers.
53
+ */
54
+ set(path: string, value: unknown): this;
55
+ /**
56
+ * Performs multiple updates atomically, triggering subscriber notifications once.
57
+ */
58
+ setBatch(updates: Record<string, unknown>): this;
59
+ /**
60
+ * Deletes a property at the specified path.
61
+ */
62
+ delete(path: string): boolean;
63
+ /**
64
+ * Resets the store state to an initial or clean state.
65
+ */
66
+ reset(initialState?: Partial<RuntimeStoreState>): this;
67
+ /**
68
+ * Subscribes a listener to any state changes.
69
+ */
70
+ subscribe(listener: StoreListener): Unsubscribe;
71
+ /**
72
+ * Subscribes a listener to changes on a top-level key.
73
+ */
74
+ subscribeKey<T = unknown>(key: string, listener: KeyChangeListener<T>): Unsubscribe;
75
+ /**
76
+ * Subscribes a listener to changes at a specific dotted path.
77
+ */
78
+ subscribePath<T = unknown>(path: string, listener: PathChangeListener<T>): Unsubscribe;
79
+ /**
80
+ * Subscribes a listener to changes of a specific form state.
81
+ */
82
+ subscribeForm(formId: string, listener: FormChangeListener): Unsubscribe;
83
+ /**
84
+ * Notifies all relevant listeners when state changes.
85
+ */
86
+ private notifyChanges;
87
+ /**
88
+ * Retrieves the FormState for a formId, initializing default form state if not present.
89
+ */
90
+ getForm(formId: string): FormState;
91
+ /**
92
+ * Updates a single field value in a form and marks dirty if changed from initial.
93
+ */
94
+ setFormFieldValue(formId: string, fieldName: string, value: unknown): this;
95
+ /**
96
+ * Sets or clears an error for a form field.
97
+ */
98
+ setFormFieldError(formId: string, fieldName: string, error: string | null): this;
99
+ /**
100
+ * Marks a form field as touched (or untouched).
101
+ */
102
+ setFormFieldTouched(formId: string, fieldName: string, touched?: boolean): this;
103
+ /**
104
+ * Updates multiple form errors simultaneously.
105
+ */
106
+ setFormErrors(formId: string, errors: Record<string, string>): this;
107
+ /**
108
+ * Sets multiple form field values simultaneously.
109
+ */
110
+ setFormValues(formId: string, values: Record<string, unknown>, replace?: boolean): this;
111
+ /**
112
+ * Sets the submitting status of a form.
113
+ */
114
+ setFormSubmitting(formId: string, isSubmitting: boolean): this;
115
+ /**
116
+ * Resets a form's values, errors, touched, and submitting state to defaults or specified values.
117
+ */
118
+ resetForm(formId: string, initialValues?: Record<string, unknown>): this;
119
+ /**
120
+ * Creates an isolated child scope store for a page or component container.
121
+ */
122
+ createScope(scopeId: string, initialValues?: Record<string, unknown>): RuntimeStateStore;
123
+ }
124
+ /**
125
+ * Factory function to create a new RuntimeStateStore instance.
126
+ */
127
+ export declare function createRuntimeStore(initialState?: Partial<RuntimeStoreState>): RuntimeStateStore;
128
+ //# sourceMappingURL=state-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-store.d.ts","sourceRoot":"","sources":["../../src/runtime/state-store.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { VariableCatalog } from './interfaces';
1
+ import type { VariableCatalog } from '../types/interfaces';
2
2
  /**
3
3
  * Expands a host `VariableCatalog`'s dotted `sampleValue` keys (e.g. `'site.name'`,
4
4
  * `'products'`) into a nested object shaped the same way `resolveBinding` expects
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-catalog.d.ts","sourceRoot":"","sources":["../../src/runtime/variable-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAQ3D;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyBlG"}
@@ -0,0 +1,2 @@
1
+ export * from './interfaces';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -1,4 +1,4 @@
1
- import { PageDocument } from '@kubuild/schema';
1
+ import { Artboard, ArtboardType, PageDocument } from '@kubuild/schema';
2
2
  export interface AssetInfo {
3
3
  id: string;
4
4
  url: string;
@@ -46,12 +46,39 @@ export interface CollectionDiagnostic {
46
46
  propName: string;
47
47
  message: string;
48
48
  }
49
- export type Diagnostic = ActionDiagnostic | PropBindingDiagnostic | CollectionDiagnostic;
49
+ /**
50
+ * Non-fatal diagnostic for AI-generated content that was rejected or that errored out
51
+ * before ever reaching the document (STORA-507/509). Reuses the same `onDiagnostic`
52
+ * reporting channel as render-time diagnostics — no separate AI-only reporting path.
53
+ */
54
+ export interface AiGenerationDiagnostic {
55
+ code: 'AI_SECTION_REJECTED' | 'AI_STREAM_ERROR';
56
+ /** The id of the rejected node, when one could be determined. */
57
+ nodeId?: string;
58
+ message: string;
59
+ error?: unknown;
60
+ }
61
+ export type Diagnostic = ActionDiagnostic | PropBindingDiagnostic | CollectionDiagnostic | AiGenerationDiagnostic;
50
62
  export type RenderContext = Readonly<{
51
63
  variables?: Readonly<Record<string, unknown>>;
52
64
  assetProvider?: AssetProvider;
53
65
  actionRegistry?: ActionRegistry;
54
66
  onDiagnostic?: (diagnostic: Diagnostic) => void;
67
+ /**
68
+ * Resolves the component artboard an `open_modal`/`close_modal` action targets, so a
69
+ * trigger living in one artboard can open content stored in another. Supplied by the
70
+ * host that owns the multi-artboard project; absent for single-document rendering.
71
+ */
72
+ resolveArtboard?: (triggerId: string) => Artboard | undefined;
73
+ /** Every component artboard available for portal rendering at runtime. */
74
+ componentArtboards?: readonly Artboard[];
75
+ /**
76
+ * What kind of surface this render represents. On a 'component' surface the node is being
77
+ * authored in isolation on its own artboard, so overlay chrome that only makes sense over
78
+ * a real page (a modal's full-bleed backdrop, a drawer pinned to the viewport edge) is
79
+ * suppressed and the node sits directly on the canvas instead.
80
+ */
81
+ artboardSurface?: ArtboardType;
55
82
  }>;
56
83
  export type RuntimeContext = RenderContext;
57
84
  export type VariableValueType = 'string' | 'number' | 'boolean' | 'array' | 'object';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/types/interfaces.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from './validator';
2
+ export * from './project-validator';
3
+ export * from './validation-engine';
4
+ export * from './security';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC"}