mythik 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/README.md +47 -23
  2. package/dist/actions/dispatcher.d.ts.map +1 -1
  3. package/dist/actions/dispatcher.js +10 -0
  4. package/dist/actions/dispatcher.js.map +1 -1
  5. package/dist/expressions/handlers/let.d.ts +6 -0
  6. package/dist/expressions/handlers/let.d.ts.map +1 -1
  7. package/dist/expressions/handlers/let.js +29 -4
  8. package/dist/expressions/handlers/let.js.map +1 -1
  9. package/dist/expressions/handlers/template.d.ts.map +1 -1
  10. package/dist/expressions/handlers/template.js +2 -1
  11. package/dist/expressions/handlers/template.js.map +1 -1
  12. package/dist/security/api-spec-validator.d.ts.map +1 -1
  13. package/dist/security/api-spec-validator.js +4 -0
  14. package/dist/security/api-spec-validator.js.map +1 -1
  15. package/dist/security/spec-validator.d.ts.map +1 -1
  16. package/dist/security/spec-validator.js +43 -31
  17. package/dist/security/spec-validator.js.map +1 -1
  18. package/dist/server.d.ts +7 -0
  19. package/dist/server.d.ts.map +1 -1
  20. package/dist/server.js +3 -0
  21. package/dist/server.js.map +1 -1
  22. package/dist/spec-stores/sql-versioned.d.ts +38 -0
  23. package/dist/spec-stores/sql-versioned.d.ts.map +1 -0
  24. package/dist/spec-stores/sql-versioned.js +186 -0
  25. package/dist/spec-stores/sql-versioned.js.map +1 -0
  26. package/dist/spec-stores/sql.d.ts +21 -0
  27. package/dist/spec-stores/sql.d.ts.map +1 -0
  28. package/dist/spec-stores/sql.js +65 -0
  29. package/dist/spec-stores/sql.js.map +1 -0
  30. package/dist/spec-stores/sqlserver-versioned.d.ts +5 -30
  31. package/dist/spec-stores/sqlserver-versioned.d.ts.map +1 -1
  32. package/dist/spec-stores/sqlserver-versioned.js +16 -245
  33. package/dist/spec-stores/sqlserver-versioned.js.map +1 -1
  34. package/dist/spec-stores/sqlserver.d.ts +4 -11
  35. package/dist/spec-stores/sqlserver.d.ts.map +1 -1
  36. package/dist/spec-stores/sqlserver.js +16 -66
  37. package/dist/spec-stores/sqlserver.js.map +1 -1
  38. package/dist/sql/ddl.d.ts +7 -0
  39. package/dist/sql/ddl.d.ts.map +1 -0
  40. package/dist/sql/ddl.js +134 -0
  41. package/dist/sql/ddl.js.map +1 -0
  42. package/dist/sql/drivers/mysql.d.ts +25 -0
  43. package/dist/sql/drivers/mysql.d.ts.map +1 -0
  44. package/dist/sql/drivers/mysql.js +327 -0
  45. package/dist/sql/drivers/mysql.js.map +1 -0
  46. package/dist/sql/drivers/postgres.d.ts +30 -0
  47. package/dist/sql/drivers/postgres.d.ts.map +1 -0
  48. package/dist/sql/drivers/postgres.js +319 -0
  49. package/dist/sql/drivers/postgres.js.map +1 -0
  50. package/dist/sql/drivers/sqlite.d.ts +28 -0
  51. package/dist/sql/drivers/sqlite.d.ts.map +1 -0
  52. package/dist/sql/drivers/sqlite.js +367 -0
  53. package/dist/sql/drivers/sqlite.js.map +1 -0
  54. package/dist/sql/drivers/sqlserver.d.ts +46 -0
  55. package/dist/sql/drivers/sqlserver.d.ts.map +1 -0
  56. package/dist/sql/drivers/sqlserver.js +403 -0
  57. package/dist/sql/drivers/sqlserver.js.map +1 -0
  58. package/dist/sql/errors.d.ts +12 -0
  59. package/dist/sql/errors.d.ts.map +1 -0
  60. package/dist/sql/errors.js +13 -0
  61. package/dist/sql/errors.js.map +1 -0
  62. package/dist/sql/factory.d.ts +3 -0
  63. package/dist/sql/factory.d.ts.map +1 -0
  64. package/dist/sql/factory.js +24 -0
  65. package/dist/sql/factory.js.map +1 -0
  66. package/dist/sql/index.d.ts +17 -0
  67. package/dist/sql/index.d.ts.map +1 -0
  68. package/dist/sql/index.js +9 -0
  69. package/dist/sql/index.js.map +1 -0
  70. package/dist/sql/named-params.d.ts +8 -0
  71. package/dist/sql/named-params.d.ts.map +1 -0
  72. package/dist/sql/named-params.js +182 -0
  73. package/dist/sql/named-params.js.map +1 -0
  74. package/dist/sql/types.d.ts +49 -0
  75. package/dist/sql/types.d.ts.map +1 -0
  76. package/dist/sql/types.js +2 -0
  77. package/dist/sql/types.js.map +1 -0
  78. package/dist/types.d.ts +1 -1
  79. package/dist/types.d.ts.map +1 -1
  80. package/docs/consumer/README.md +1 -1
  81. package/docs/consumer/WHERE-TO-LOOK.md +4 -4
  82. package/docs/consumer/ai-context-api.md +44 -0
  83. package/docs/consumer/ai-context-runtime-semantics.md +12 -9
  84. package/docs/consumer/ai-context.md +124 -50
  85. package/docs/consumer/reference-doc.md +41 -24
  86. package/docs/wiki/compiled/README.md +1 -1
  87. package/docs/wiki/compiled/_lint.md +13 -8
  88. package/docs/wiki/compiled/concept-action-chains.md +62 -24
  89. package/docs/wiki/compiled/concept-package-layout.md +5 -3
  90. package/docs/wiki/compiled/concept-public-package-names.md +4 -2
  91. package/docs/wiki/compiled/concept-shape-animations.md +1 -1
  92. package/docs/wiki/compiled/concept-spec-stores-catalog.md +28 -16
  93. package/docs/wiki/compiled/concept-transactions.md +20 -12
  94. package/docs/wiki/compiled/expression-let-ref.md +36 -18
  95. package/docs/wiki/compiled/expression-template.md +28 -17
  96. package/package.json +7 -2
package/README.md CHANGED
@@ -51,14 +51,16 @@ You install `mythik` whenever you're building anything Mythik-related:
51
51
  are the atomic checks that run on every push and promote. Call them
52
52
  directly to validate offline, in CI, or in a test.
53
53
 
54
- - **Spec stores** — load and save specs through a swappable backend
55
- interface:
56
- - Browser-safe entry: `MemorySpecStore`, `SupabaseSpecStore`
57
- - Node-only entry (`mythik/server`): `FileSpecStore`,
58
- `SqlServerSpecStore`
59
- - Versioned variants (`SupabaseVersionedSpecStore`,
60
- `SupabaseEnvironmentStore`) add snapshot+patch-chain history,
61
- structural diffs, and atomic promote gates
54
+ - **Spec stores** — load and save specs through a swappable backend
55
+ interface:
56
+ - Browser-safe entry: `MemorySpecStore`, `SupabaseSpecStore`
57
+ - Node-only entry (`mythik/server`): `FileSpecStore`,
58
+ `SqlSpecStore`, `SqlVersionedSpecStore`, `SqlEnvironmentStore`,
59
+ and SQL Server compatibility stores
60
+ - Versioned variants (`SupabaseVersionedSpecStore`,
61
+ `SupabaseEnvironmentStore`, `SqlVersionedSpecStore`,
62
+ `SqlEnvironmentStore`) add snapshot+patch-chain history,
63
+ structural diffs, and atomic promote gates
62
64
 
63
65
  - **Expression and action engines** — the runtime that resolves
64
66
  `$token`, `$state`, `$template`, and dispatches action chains,
@@ -74,17 +76,39 @@ You install `mythik` whenever you're building anything Mythik-related:
74
76
  ## Browser-safe vs Node-only entries
75
77
 
76
78
  ```ts
77
- // Browser-safe (works in any runtime)
78
- import { MemorySpecStore, SupabaseSpecStore } from 'mythik';
79
-
80
- // Node-only (file system, SQL Server, anything that needs Node APIs)
81
- import { FileSpecStore, SqlServerSpecStore } from 'mythik/server';
82
- ```
83
-
84
- Bundlers like Vite or Webpack should always import from `mythik` (the
85
- main entry). The `mythik/server` subpath is for Node scripts and
86
- server processes only — it pulls in modules like `mssql` and
87
- `node:fs` that won't work in a browser.
79
+ // Browser-safe (works in any runtime)
80
+ import { MemorySpecStore, SupabaseSpecStore } from 'mythik';
81
+
82
+ // Node-only (file system and SQL drivers)
83
+ import { FileSpecStore, SqlSpecStore, createSqlDriver } from 'mythik/server';
84
+ ```
85
+
86
+ Bundlers like Vite or Webpack should always import from `mythik` (the
87
+ main entry). The `mythik/server` subpath is for Node scripts and
88
+ server processes only — it pulls in Node APIs and optional SQL driver
89
+ packages that won't work in a browser.
90
+
91
+ SQL-backed stores use one dialect-aware driver boundary:
92
+
93
+ ```ts
94
+ import { SqlSpecStore, createSqlDriver } from 'mythik/server';
95
+
96
+ const driver = createSqlDriver({
97
+ dialect: 'postgres', // 'sqlserver' | 'postgres' | 'mysql' | 'sqlite'
98
+ connection: process.env.DATABASE_URL!,
99
+ });
100
+
101
+ const store = new SqlSpecStore({ driver });
102
+ ```
103
+
104
+ Initialize the required tables with the CLI:
105
+
106
+ ```bash
107
+ npx mythik init-store --dialect sqlite --target ./mythik.db
108
+ npx mythik init-store --dialect postgres --dry-run
109
+ ```
110
+
111
+ MySQL generated upsert SQL targets MySQL 8.0.19+.
88
112
 
89
113
  ## Minimal example
90
114
 
@@ -170,13 +194,13 @@ modify specs.
170
194
  - [`mythik-cli`](https://github.com/mldixdev/mythik/tree/main/packages/cli#readme) — author and patch specs from the command line (the AI-first surface)
171
195
  - [`mythik-server`](https://github.com/mldixdev/mythik/tree/main/packages/server#readme) — declarative REST server from an `ApiSpec`
172
196
 
173
- React Native work is a repository preview track and is not part of
174
- the initial npm publish surface.
197
+ React Native work is a repository preview track and is not part of
198
+ the supported npm publish surface yet.
175
199
 
176
200
  ## Status
177
201
 
178
- `v0.1.2` public release. APIs are documented for real-world feedback
179
- as the framework evolves.
202
+ Public release line. APIs are documented for real-world feedback as
203
+ the framework evolves.
180
204
 
181
205
  ## License
182
206
 
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/actions/dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhF,OAAO,KAAK,EAAE,aAAa,EAAmC,MAAM,oBAAoB,CAAC;AAIzF,OAAO,EAAyB,KAAK,gBAAgB,EAAwB,MAAM,iBAAiB,CAAC;AACrG,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAE5E,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1C,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,UAAU,CAAC;IAClB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,uFAAuF;IACvF,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpE,wGAAwG;IACxG,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,qDAAqD;IACrD,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,2FAA2F;IAC3F,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC/C,0EAA0E;IAC1E,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,cAAc,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACpD;AAED;;;GAGG;AACH,+DAA+D;AAC/D,eAAO,MAAM,WAAW,mCAA6B,CAAC;AAEtD,uDAAuD;AACvD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,OAAO,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOtH;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,GAAG,wBAAwB,CAiY/F"}
1
+ {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/actions/dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhF,OAAO,KAAK,EAAE,aAAa,EAAmC,MAAM,oBAAoB,CAAC;AAIzF,OAAO,EAAyB,KAAK,gBAAgB,EAAwB,MAAM,iBAAiB,CAAC;AACrG,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAE5E,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1C,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,UAAU,CAAC;IAClB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,uFAAuF;IACvF,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpE,wGAAwG;IACxG,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,qDAAqD;IACrD,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,2FAA2F;IAC3F,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC/C,0EAA0E;IAC1E,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,cAAc,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACpD;AAED;;;GAGG;AACH,+DAA+D;AAC/D,eAAO,MAAM,WAAW,mCAA6B,CAAC;AAEtD,uDAAuD;AACvD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,OAAO,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOtH;AASD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,GAAG,wBAAwB,CAqY/F"}
@@ -20,6 +20,12 @@ export function resolveParams(params, resolve) {
20
20
  }
21
21
  return resolved;
22
22
  }
23
+ function shouldSkipAction(params, resolve) {
24
+ if (!params || !Object.prototype.hasOwnProperty.call(params, 'skipIf')) {
25
+ return false;
26
+ }
27
+ return Boolean(deepResolve(params.skipIf, resolve));
28
+ }
23
29
  export function createActionDispatcher(config) {
24
30
  const { store } = config;
25
31
  const customActions = config.customActions ?? new Map();
@@ -309,7 +315,11 @@ export function createActionDispatcher(config) {
309
315
  };
310
316
  async function dispatch(binding, resolve) {
311
317
  const { action, params } = binding;
318
+ if (shouldSkipAction(params, resolve)) {
319
+ return;
320
+ }
312
321
  const resolvedParams = resolveParams(params, resolve);
322
+ delete resolvedParams.skipIf;
313
323
  // Build middleware context
314
324
  const mwContext = {
315
325
  action,
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/actions/dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/actions/dispatcher.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,10 @@
1
1
  import type { ExpressionHandlerDefinition } from '../../types.js';
2
+ export interface LetBindingLookup {
3
+ found: boolean;
4
+ missingPath?: boolean;
5
+ value: unknown;
6
+ }
7
+ export declare function resolveLetBindingPath(bindings: Record<string, unknown> | undefined, ref: string): LetBindingLookup;
2
8
  export declare const letHandler: ExpressionHandlerDefinition;
3
9
  export declare const refHandler: ExpressionHandlerDefinition;
4
10
  //# sourceMappingURL=let.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"let.d.ts","sourceRoot":"","sources":["../../../src/expressions/handlers/let.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAA8B,MAAM,gBAAgB,CAAC;AAE9F,eAAO,MAAM,UAAU,EAAE,2BA+BxB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,2BAUxB,CAAC"}
1
+ {"version":3,"file":"let.d.ts","sourceRoot":"","sources":["../../../src/expressions/handlers/let.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAA8B,MAAM,gBAAgB,CAAC;AAG9F,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;CAChB;AAMD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAoBlH;AAED,eAAO,MAAM,UAAU,EAAE,2BA+BxB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,2BAUxB,CAAC"}
@@ -1,3 +1,28 @@
1
+ import { deepResolveExpressionValue } from '../deep-resolve.js';
2
+ function hasOwn(obj, key) {
3
+ return Object.prototype.hasOwnProperty.call(obj, key);
4
+ }
5
+ export function resolveLetBindingPath(bindings, ref) {
6
+ if (!bindings)
7
+ return { found: false, value: undefined };
8
+ if (hasOwn(bindings, ref))
9
+ return { found: true, value: bindings[ref] };
10
+ const [root, ...segments] = ref.split('.');
11
+ if (!root || segments.length === 0 || !hasOwn(bindings, root)) {
12
+ return { found: false, value: undefined };
13
+ }
14
+ let value = bindings[root];
15
+ for (const segment of segments) {
16
+ if (value === null || value === undefined || typeof value !== 'object') {
17
+ return { found: true, missingPath: true, value: undefined };
18
+ }
19
+ const record = value;
20
+ if (!hasOwn(record, segment))
21
+ return { found: true, missingPath: true, value: undefined };
22
+ value = record[segment];
23
+ }
24
+ return { found: true, value };
25
+ }
1
26
  export const letHandler = {
2
27
  key: '$let',
3
28
  resolve(expr, context, resolveFn) {
@@ -19,18 +44,18 @@ export const letHandler = {
19
44
  ...context,
20
45
  letBindings: resolvedBindings,
21
46
  };
22
- return resolve(body, innerContext);
47
+ return deepResolveExpressionValue(body, (value) => resolve(value, innerContext));
23
48
  },
24
49
  };
25
50
  export const refHandler = {
26
51
  key: '$ref',
27
52
  resolve(expr, context) {
28
53
  const name = expr.$ref;
29
- const bindings = context.letBindings;
30
- if (!bindings || !(name in bindings)) {
54
+ const binding = resolveLetBindingPath(context.letBindings, name);
55
+ if (!binding.found || binding.missingPath) {
31
56
  throw new Error(`$ref "${name}" is not defined in any $let scope`);
32
57
  }
33
- return bindings[name];
58
+ return binding.value;
34
59
  },
35
60
  };
36
61
  //# sourceMappingURL=let.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"let.js","sourceRoot":"","sources":["../../../src/expressions/handlers/let.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,UAAU,GAAgC;IACrD,GAAG,EAAE,MAAM;IACX,OAAO,CACL,IAA6B,EAC7B,OAAwB,EACxB,SAAqB;QAErB,MAAM,OAAO,GAAG,SAAS,IAAI,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;QAEtB,kEAAkE;QAClE,+DAA+D;QAC/D,MAAM,OAAO,GAAwB,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAC7D,CAAC,CAAE,WAAmC;YACtC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAsC,CAAC,CAAC;QAE3D,MAAM,gBAAgB,GAA4B,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAC7E,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,OAAO,EAAE,CAAC;YACxC,oEAAoE;YACpE,MAAM,cAAc,GAAoB,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,EAAE,GAAG,gBAAgB,EAAE,EAAE,CAAC;YAC7F,gBAAgB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,YAAY,GAAoB;YACpC,GAAG,OAAO;YACV,WAAW,EAAE,gBAAgB;SAC9B,CAAC;QAEF,OAAO,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACrC,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAgC;IACrD,GAAG,EAAE,MAAM;IACX,OAAO,CAAC,IAA6B,EAAE,OAAwB;QAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAc,CAAC;QACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,oCAAoC,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"let.js","sourceRoot":"","sources":["../../../src/expressions/handlers/let.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../src/expressions/handlers/template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAmB,MAAM,gBAAgB,CAAC;AAKnF,eAAO,MAAM,eAAe,EAAE,2BAoB7B,CAAC"}
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../src/expressions/handlers/template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAmB,MAAM,gBAAgB,CAAC;AAMnF,eAAO,MAAM,eAAe,EAAE,2BAoB7B,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { resolveLetBindingPath } from './let.js';
1
2
  // Matches both ${/state/path} and ${localBinding}
2
3
  const INTERPOLATION_REGEX = /\$\{([^}]+)\}/g;
3
4
  export const templateHandler = {
@@ -12,7 +13,7 @@ export const templateHandler = {
12
13
  }
13
14
  else {
14
15
  // $let binding: ${age}
15
- value = context.letBindings?.[ref];
16
+ value = resolveLetBindingPath(context.letBindings, ref).value;
16
17
  }
17
18
  if (value === null || value === undefined)
18
19
  return '';
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/expressions/handlers/template.ts"],"names":[],"mappings":"AAEA,kDAAkD;AAClD,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAE7C,MAAM,CAAC,MAAM,eAAe,GAAgC;IAC1D,GAAG,EAAE,WAAW;IAChB,OAAO,CAAC,IAA6B,EAAE,OAAwB;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAmB,CAAC;QAE1C,OAAO,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,MAAM,EAAE,GAAW,EAAE,EAAE;YACnE,IAAI,KAAc,CAAC;YAEnB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,4BAA4B;gBAC5B,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,uBAAuB;gBACvB,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC;YAED,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,EAAE,CAAC;YACrD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/expressions/handlers/template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEjD,kDAAkD;AAClD,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAE7C,MAAM,CAAC,MAAM,eAAe,GAAgC;IAC1D,GAAG,EAAE,WAAW;IAChB,OAAO,CAAC,IAA6B,EAAE,OAAwB;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAmB,CAAC;QAE1C,OAAO,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,MAAM,EAAE,GAAW,EAAE,EAAE;YACnE,IAAI,KAAc,CAAC;YAEnB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,4BAA4B;gBAC5B,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,uBAAuB;gBACvB,KAAK,GAAG,qBAAqB,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC;YAChE,CAAC;YAED,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,EAAE,CAAC;YACrD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"api-spec-validator.d.ts","sourceRoot":"","sources":["../../src/security/api-spec-validator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;CAClC;AAgGD,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,uBAAuB,CA4StE"}
1
+ {"version":3,"file":"api-spec-validator.d.ts","sourceRoot":"","sources":["../../src/security/api-spec-validator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;CAClC;AAiGD,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,uBAAuB,CAgTtE"}
@@ -2,6 +2,7 @@ import { isValidIdentifier } from './identifier-guard.js';
2
2
  const DANGEROUS_SQL_KEYWORDS = /\b(SELECT|INSERT|UPDATE|DELETE|DROP|ALTER|EXEC|EXECUTE|UNION|INTO)\b/i;
3
3
  const SQL_COMMENTS = /(--|\/\*)/;
4
4
  const SCOPE_COUNT_MACRO_PATTERN = /{{\s*scope(Where|And)(?::\s*([^}\s]+))?\s*}}/g;
5
+ const SUPPORTED_SQL_DIALECTS = new Set(['sqlserver', 'postgres', 'mysql', 'sqlite']);
5
6
  function getScopeCountMacroAliases(sql) {
6
7
  const aliases = [];
7
8
  SCOPE_COUNT_MACRO_PATTERN.lastIndex = 0;
@@ -96,6 +97,9 @@ export function validateApiSpec(spec) {
96
97
  }
97
98
  const s = spec;
98
99
  const errors = [];
100
+ if (s.dialect !== undefined && (typeof s.dialect !== 'string' || !SUPPORTED_SQL_DIALECTS.has(s.dialect))) {
101
+ errors.push('dialect must be one of: sqlserver, postgres, mysql, sqlite');
102
+ }
99
103
  // Catalogs
100
104
  const catalogs = s.catalogs;
101
105
  if (catalogs) {
@@ -1 +1 @@
1
- {"version":3,"file":"api-spec-validator.js","sourceRoot":"","sources":["../../src/security/api-spec-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-spec-validator.js","sourceRoot":"","sources":["../../src/security/api-spec-validator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"spec-validator.d.ts","sourceRoot":"","sources":["../../src/security/spec-validator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAGnE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,yKAAyK;IACzK,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,kKAAkK;IAClK,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,4EAA4E;IAC5E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,sHAAsH;IACtH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,2FAA2F;IAC3F,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC/C;AAwUD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,GAAG,oBAAoB,CAknBjG"}
1
+ {"version":3,"file":"spec-validator.d.ts","sourceRoot":"","sources":["../../src/security/spec-validator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAGnE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAqDD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,yKAAyK;IACzK,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,kKAAkK;IAClK,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,4EAA4E;IAC5E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,sHAAsH;IACtH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,2FAA2F;IAC3F,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC/C;AAwUD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,GAAG,oBAAoB,CAolBjG"}
@@ -2,6 +2,44 @@ import { SPEC_KEYS } from '../types.js';
2
2
  import { suggest } from '../utils/levenshtein.js';
3
3
  import { COMMON_PROPS, TABLE_COLUMN_PROPS } from '../renderer/prop-schemas.js';
4
4
  import { validateIdentityTokens } from './identity-token-validator.js';
5
+ function validateTransactionBinding(binding, elementId, eventPath, errors, spec) {
6
+ if (!binding || typeof binding !== 'object' || Array.isArray(binding))
7
+ return false;
8
+ if (!('transaction' in binding))
9
+ return false;
10
+ const tx = binding.transaction;
11
+ const transactionPath = `${eventPath}.transaction`;
12
+ const pathPrefix = `/elements/${elementId}/${eventPath.replace(/\./g, '/')}/transaction`;
13
+ if (!tx || typeof tx !== 'object' || Array.isArray(tx)) {
14
+ errors.push({ message: `Element "${elementId}": ${transactionPath} must be an object`, elementId, path: pathPrefix });
15
+ return true;
16
+ }
17
+ const txObj = tx;
18
+ if (!txObj.confirm || !Array.isArray(txObj.confirm) || txObj.confirm.length === 0) {
19
+ errors.push({ message: `Element "${elementId}": ${transactionPath}.confirm is required and must be a non-empty array`, elementId, path: `${pathPrefix}/confirm` });
20
+ }
21
+ for (const phase of ['before', 'optimistic', 'onSuccess', 'onError']) {
22
+ if (txObj[phase] !== undefined && !Array.isArray(txObj[phase])) {
23
+ errors.push({ message: `Element "${elementId}": ${transactionPath}.${phase} must be an array`, elementId, path: `${pathPrefix}/${phase}` });
24
+ }
25
+ }
26
+ if (txObj.timeout !== undefined) {
27
+ if (typeof txObj.timeout !== 'number' || txObj.timeout <= 0) {
28
+ errors.push({ message: `Element "${elementId}": ${transactionPath}.timeout must be a positive number`, elementId, path: `${pathPrefix}/timeout` });
29
+ }
30
+ }
31
+ for (const phase of ['before', 'optimistic', 'confirm', 'onSuccess', 'onError']) {
32
+ if (!Array.isArray(txObj[phase]))
33
+ continue;
34
+ for (const action of txObj[phase]) {
35
+ if (action && typeof action === 'object' && 'transaction' in action) {
36
+ errors.push({ message: `Element "${elementId}": ${transactionPath}.${phase} cannot contain nested transactions`, elementId, path: `${pathPrefix}/${phase}` });
37
+ }
38
+ validateActionBinding(action, elementId, `${transactionPath}.${phase}`, errors, spec);
39
+ }
40
+ }
41
+ return true;
42
+ }
5
43
  /** Expression handler rules: required properties and operation-specific requirements */
6
44
  const EXPRESSION_RULES = {
7
45
  $state: { required: ['$state'] },
@@ -508,40 +546,14 @@ export function validateSpec(spec, context = {}) {
508
546
  }
509
547
  if (el.on && typeof el.on === 'object' && !Array.isArray(el.on)) {
510
548
  for (const [eventName, binding] of Object.entries(el.on)) {
511
- if (binding && typeof binding === 'object' && !Array.isArray(binding) && 'transaction' in binding) {
512
- const tx = binding.transaction;
513
- if (!tx || typeof tx !== 'object' || Array.isArray(tx)) {
514
- errors.push({ message: `Element "${id}": on.${eventName}.transaction must be an object`, elementId: id, path: `/elements/${id}/on/${eventName}/transaction` });
515
- continue;
516
- }
517
- const txObj = tx;
518
- if (!txObj.confirm || !Array.isArray(txObj.confirm) || txObj.confirm.length === 0) {
519
- errors.push({ message: `Element "${id}": on.${eventName}.transaction.confirm is required and must be a non-empty array`, elementId: id, path: `/elements/${id}/on/${eventName}/transaction/confirm` });
520
- }
521
- for (const phase of ['before', 'optimistic', 'onSuccess', 'onError']) {
522
- if (txObj[phase] !== undefined && !Array.isArray(txObj[phase])) {
523
- errors.push({ message: `Element "${id}": on.${eventName}.transaction.${phase} must be an array`, elementId: id, path: `/elements/${id}/on/${eventName}/transaction/${phase}` });
524
- }
525
- }
526
- if (txObj.timeout !== undefined) {
527
- if (typeof txObj.timeout !== 'number' || txObj.timeout <= 0) {
528
- errors.push({ message: `Element "${id}": on.${eventName}.transaction.timeout must be a positive number`, elementId: id, path: `/elements/${id}/on/${eventName}/transaction/timeout` });
529
- }
530
- }
531
- for (const phase of ['before', 'optimistic', 'confirm', 'onSuccess', 'onError']) {
532
- if (Array.isArray(txObj[phase])) {
533
- for (const action of txObj[phase]) {
534
- if (action && typeof action === 'object' && 'transaction' in action) {
535
- errors.push({ message: `Element "${id}": on.${eventName}.transaction.${phase} cannot contain nested transactions`, elementId: id, path: `/elements/${id}/on/${eventName}/transaction/${phase}` });
536
- }
537
- validateActionBinding(action, id, `on.${eventName}.transaction.${phase}`, errors, s);
538
- }
539
- }
540
- }
549
+ if (validateTransactionBinding(binding, id, `on.${eventName}`, errors, s)) {
550
+ continue;
541
551
  }
542
552
  else if (Array.isArray(binding)) {
543
553
  for (const action of binding) {
544
- validateActionBinding(action, id, `on.${eventName}`, errors, s);
554
+ if (!validateTransactionBinding(action, id, `on.${eventName}`, errors, s)) {
555
+ validateActionBinding(action, id, `on.${eventName}`, errors, s);
556
+ }
545
557
  }
546
558
  }
547
559
  else if (binding && typeof binding === 'object') {