@ketvietlab/ketjs 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 (299) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +8 -2
  3. package/dist/agent/capabilities.d.ts +1 -3
  4. package/dist/agent/capabilities.d.ts.map +1 -1
  5. package/dist/agent/capabilities.js +10 -1
  6. package/dist/agent/capabilities.js.map +1 -1
  7. package/dist/agent/permissions.d.ts +43 -1
  8. package/dist/agent/permissions.d.ts.map +1 -1
  9. package/dist/agent/permissions.js +50 -2
  10. package/dist/agent/permissions.js.map +1 -1
  11. package/dist/cli.js +246 -97
  12. package/dist/cli.js.map +1 -1
  13. package/dist/codegen/dts.d.ts.map +1 -1
  14. package/dist/codegen/dts.js +1 -0
  15. package/dist/codegen/dts.js.map +1 -1
  16. package/dist/data/changeset.d.ts +12 -0
  17. package/dist/data/changeset.d.ts.map +1 -1
  18. package/dist/data/changeset.js +73 -17
  19. package/dist/data/changeset.js.map +1 -1
  20. package/dist/data/expr.d.ts +16 -0
  21. package/dist/data/expr.d.ts.map +1 -1
  22. package/dist/data/expr.js +33 -5
  23. package/dist/data/expr.js.map +1 -1
  24. package/dist/data/fleet.d.ts +41 -1
  25. package/dist/data/fleet.d.ts.map +1 -1
  26. package/dist/data/fleet.js +100 -11
  27. package/dist/data/fleet.js.map +1 -1
  28. package/dist/data/migrate.d.ts +20 -0
  29. package/dist/data/migrate.d.ts.map +1 -1
  30. package/dist/data/migrate.js +86 -3
  31. package/dist/data/migrate.js.map +1 -1
  32. package/dist/data/physical.d.ts +5 -0
  33. package/dist/data/physical.d.ts.map +1 -0
  34. package/dist/data/physical.js +196 -0
  35. package/dist/data/physical.js.map +1 -0
  36. package/dist/data/pool.d.ts +2 -1
  37. package/dist/data/pool.d.ts.map +1 -1
  38. package/dist/data/pool.js +159 -31
  39. package/dist/data/pool.js.map +1 -1
  40. package/dist/data/query.d.ts +10 -1
  41. package/dist/data/query.d.ts.map +1 -1
  42. package/dist/data/query.js +136 -27
  43. package/dist/data/query.js.map +1 -1
  44. package/dist/data/sqlite.d.ts.map +1 -1
  45. package/dist/data/sqlite.js +350 -52
  46. package/dist/data/sqlite.js.map +1 -1
  47. package/dist/data/time.d.ts +13 -0
  48. package/dist/data/time.d.ts.map +1 -1
  49. package/dist/data/time.js +61 -17
  50. package/dist/data/time.js.map +1 -1
  51. package/dist/index.d.ts +43 -22
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +32 -16
  54. package/dist/index.js.map +1 -1
  55. package/dist/kernel/audit.d.ts +27 -0
  56. package/dist/kernel/audit.d.ts.map +1 -0
  57. package/dist/kernel/audit.js +67 -0
  58. package/dist/kernel/audit.js.map +1 -0
  59. package/dist/kernel/classification.d.ts +26 -0
  60. package/dist/kernel/classification.d.ts.map +1 -0
  61. package/dist/kernel/classification.js +73 -0
  62. package/dist/kernel/classification.js.map +1 -0
  63. package/dist/kernel/compose.d.ts +6 -2
  64. package/dist/kernel/compose.d.ts.map +1 -1
  65. package/dist/kernel/compose.js +269 -15
  66. package/dist/kernel/compose.js.map +1 -1
  67. package/dist/kernel/define.d.ts +2 -3
  68. package/dist/kernel/define.d.ts.map +1 -1
  69. package/dist/kernel/define.js +22 -12
  70. package/dist/kernel/define.js.map +1 -1
  71. package/dist/kernel/diff.d.ts.map +1 -1
  72. package/dist/kernel/diff.js +28 -4
  73. package/dist/kernel/diff.js.map +1 -1
  74. package/dist/kernel/graph.js +1 -1
  75. package/dist/kernel/graph.js.map +1 -1
  76. package/dist/kernel/i18n.d.ts +10 -1
  77. package/dist/kernel/i18n.d.ts.map +1 -1
  78. package/dist/kernel/i18n.js +34 -1
  79. package/dist/kernel/i18n.js.map +1 -1
  80. package/dist/kernel/layout.d.ts +97 -0
  81. package/dist/kernel/layout.d.ts.map +1 -1
  82. package/dist/kernel/layout.js +294 -12
  83. package/dist/kernel/layout.js.map +1 -1
  84. package/dist/kernel/menu.d.ts +33 -2
  85. package/dist/kernel/menu.d.ts.map +1 -1
  86. package/dist/kernel/menu.js +99 -7
  87. package/dist/kernel/menu.js.map +1 -1
  88. package/dist/kernel/modules.d.ts +3 -3
  89. package/dist/kernel/modules.d.ts.map +1 -1
  90. package/dist/kernel/modules.js +21 -21
  91. package/dist/kernel/modules.js.map +1 -1
  92. package/dist/kernel/permissions.d.ts +10 -0
  93. package/dist/kernel/permissions.d.ts.map +1 -0
  94. package/dist/kernel/permissions.js +365 -0
  95. package/dist/kernel/permissions.js.map +1 -0
  96. package/dist/kernel/schedule.d.ts +23 -0
  97. package/dist/kernel/schedule.d.ts.map +1 -0
  98. package/dist/kernel/schedule.js +83 -0
  99. package/dist/kernel/schedule.js.map +1 -0
  100. package/dist/kernel/types.d.ts.map +1 -1
  101. package/dist/kernel/types.js +5 -4
  102. package/dist/kernel/types.js.map +1 -1
  103. package/dist/kernel/workspace.d.ts +92 -14
  104. package/dist/kernel/workspace.d.ts.map +1 -1
  105. package/dist/kernel/workspace.js +128 -49
  106. package/dist/kernel/workspace.js.map +1 -1
  107. package/dist/pdf/assets/Inter-Bold.ttf +0 -0
  108. package/dist/pdf/assets/Inter-Regular.ttf +0 -0
  109. package/dist/pdf/assets/Inter-SemiBold.ttf +0 -0
  110. package/dist/pdf/assets/LICENSE.txt +92 -0
  111. package/dist/pdf/font.d.ts +10 -0
  112. package/dist/pdf/font.d.ts.map +1 -0
  113. package/dist/pdf/font.js +83 -0
  114. package/dist/pdf/font.js.map +1 -0
  115. package/dist/pdf/image.d.ts +8 -0
  116. package/dist/pdf/image.d.ts.map +1 -0
  117. package/dist/pdf/image.js +94 -0
  118. package/dist/pdf/image.js.map +1 -0
  119. package/dist/pdf/index.d.ts +15 -0
  120. package/dist/pdf/index.d.ts.map +1 -0
  121. package/dist/pdf/index.js +17 -0
  122. package/dist/pdf/index.js.map +1 -0
  123. package/dist/pdf/markup.d.ts +19 -0
  124. package/dist/pdf/markup.d.ts.map +1 -0
  125. package/dist/pdf/markup.js +146 -0
  126. package/dist/pdf/markup.js.map +1 -0
  127. package/dist/pdf/render.d.ts +14 -0
  128. package/dist/pdf/render.d.ts.map +1 -0
  129. package/dist/pdf/render.js +387 -0
  130. package/dist/pdf/render.js.map +1 -0
  131. package/dist/scaffold/index.js +6 -6
  132. package/dist/scaffold/index.js.map +1 -1
  133. package/dist/scaffold/templates/{app.test.ts.tmpl → deployment.test.ts.tmpl} +3 -3
  134. package/dist/scaffold/templates/ket.workspace.ts.tmpl +4 -6
  135. package/dist/scaffold/templates/module.ts.tmpl +1 -4
  136. package/dist/server/assets.d.ts +23 -0
  137. package/dist/server/assets.d.ts.map +1 -0
  138. package/dist/server/assets.js +97 -0
  139. package/dist/server/assets.js.map +1 -0
  140. package/dist/server/boot.d.ts +157 -38
  141. package/dist/server/boot.d.ts.map +1 -1
  142. package/dist/server/boot.js +360 -138
  143. package/dist/server/boot.js.map +1 -1
  144. package/dist/server/config.d.ts +30 -10
  145. package/dist/server/config.d.ts.map +1 -1
  146. package/dist/server/config.js +73 -17
  147. package/dist/server/config.js.map +1 -1
  148. package/dist/server/ctx.d.ts +10 -0
  149. package/dist/server/ctx.d.ts.map +1 -1
  150. package/dist/server/ctx.js +266 -48
  151. package/dist/server/ctx.js.map +1 -1
  152. package/dist/server/development.d.ts +10 -0
  153. package/dist/server/development.d.ts.map +1 -0
  154. package/dist/server/development.js +15 -0
  155. package/dist/server/development.js.map +1 -0
  156. package/dist/server/fn.d.ts +22 -3
  157. package/dist/server/fn.d.ts.map +1 -1
  158. package/dist/server/fn.js +116 -32
  159. package/dist/server/fn.js.map +1 -1
  160. package/dist/server/form.d.ts +33 -0
  161. package/dist/server/form.d.ts.map +1 -0
  162. package/dist/server/form.js +47 -0
  163. package/dist/server/form.js.map +1 -0
  164. package/dist/server/http.d.ts +55 -3
  165. package/dist/server/http.d.ts.map +1 -1
  166. package/dist/server/http.js +306 -22
  167. package/dist/server/http.js.map +1 -1
  168. package/dist/server/idem.d.ts +3 -2
  169. package/dist/server/idem.d.ts.map +1 -1
  170. package/dist/server/idem.js +12 -4
  171. package/dist/server/idem.js.map +1 -1
  172. package/dist/server/jobs.js +1 -1
  173. package/dist/server/jobs.js.map +1 -1
  174. package/dist/server/log/combinators.d.ts +42 -0
  175. package/dist/server/log/combinators.d.ts.map +1 -0
  176. package/dist/server/log/combinators.js +270 -0
  177. package/dist/server/log/combinators.js.map +1 -0
  178. package/dist/server/log/console.d.ts +12 -0
  179. package/dist/server/log/console.d.ts.map +1 -0
  180. package/dist/server/log/console.js +96 -0
  181. package/dist/server/log/console.js.map +1 -0
  182. package/dist/server/log/file.d.ts +11 -0
  183. package/dist/server/log/file.d.ts.map +1 -0
  184. package/dist/server/log/file.js +61 -0
  185. package/dist/server/log/file.js.map +1 -0
  186. package/dist/server/log/index.d.ts +23 -0
  187. package/dist/server/log/index.d.ts.map +1 -0
  188. package/dist/server/log/index.js +45 -0
  189. package/dist/server/log/index.js.map +1 -0
  190. package/dist/server/log/logger.d.ts +53 -0
  191. package/dist/server/log/logger.d.ts.map +1 -0
  192. package/dist/server/log/logger.js +94 -0
  193. package/dist/server/log/logger.js.map +1 -0
  194. package/dist/server/log/memory.d.ts +11 -0
  195. package/dist/server/log/memory.d.ts.map +1 -0
  196. package/dist/server/log/memory.js +25 -0
  197. package/dist/server/log/memory.js.map +1 -0
  198. package/dist/server/log/types.d.ts +112 -0
  199. package/dist/server/log/types.d.ts.map +1 -0
  200. package/dist/server/log/types.js +58 -0
  201. package/dist/server/log/types.js.map +1 -0
  202. package/dist/server/policy.d.ts +29 -0
  203. package/dist/server/policy.d.ts.map +1 -0
  204. package/dist/server/policy.js +29 -0
  205. package/dist/server/policy.js.map +1 -0
  206. package/dist/server/queue.d.ts +1 -1
  207. package/dist/server/queue.d.ts.map +1 -1
  208. package/dist/server/queue.js.map +1 -1
  209. package/dist/server/ratelimit.d.ts +48 -0
  210. package/dist/server/ratelimit.d.ts.map +1 -0
  211. package/dist/server/ratelimit.js +102 -0
  212. package/dist/server/ratelimit.js.map +1 -0
  213. package/dist/server/respond.d.ts.map +1 -1
  214. package/dist/server/respond.js +16 -1
  215. package/dist/server/respond.js.map +1 -1
  216. package/dist/server/runtime.d.ts +18 -3
  217. package/dist/server/runtime.d.ts.map +1 -1
  218. package/dist/server/runtime.js +32 -2
  219. package/dist/server/runtime.js.map +1 -1
  220. package/dist/server/schedule.d.ts +18 -0
  221. package/dist/server/schedule.d.ts.map +1 -0
  222. package/dist/server/schedule.js +70 -0
  223. package/dist/server/schedule.js.map +1 -0
  224. package/dist/server/sequence.d.ts +42 -0
  225. package/dist/server/sequence.d.ts.map +1 -0
  226. package/dist/server/sequence.js +97 -0
  227. package/dist/server/sequence.js.map +1 -0
  228. package/dist/server/session.d.ts +21 -0
  229. package/dist/server/session.d.ts.map +1 -1
  230. package/dist/server/session.js +84 -10
  231. package/dist/server/session.js.map +1 -1
  232. package/dist/server/sessionstore.d.ts +3 -1
  233. package/dist/server/sessionstore.d.ts.map +1 -1
  234. package/dist/server/sessionstore.js +7 -3
  235. package/dist/server/sessionstore.js.map +1 -1
  236. package/dist/server/storage/index.d.ts +1 -1
  237. package/dist/server/storage/index.d.ts.map +1 -1
  238. package/dist/server/storage/index.js +61 -1
  239. package/dist/server/storage/index.js.map +1 -1
  240. package/dist/server/storage/types.d.ts +8 -0
  241. package/dist/server/storage/types.d.ts.map +1 -1
  242. package/dist/server/storage/types.js +58 -0
  243. package/dist/server/storage/types.js.map +1 -1
  244. package/dist/server/tenants.d.ts +20 -18
  245. package/dist/server/tenants.d.ts.map +1 -1
  246. package/dist/server/tenants.js +133 -84
  247. package/dist/server/tenants.js.map +1 -1
  248. package/dist/server/transport/types.js +2 -2
  249. package/dist/server/transport/types.js.map +1 -1
  250. package/dist/server/worker.d.ts +19 -3
  251. package/dist/server/worker.d.ts.map +1 -1
  252. package/dist/server/worker.js +168 -21
  253. package/dist/server/worker.js.map +1 -1
  254. package/dist/testing.d.ts +26 -10
  255. package/dist/testing.d.ts.map +1 -1
  256. package/dist/testing.js +41 -14
  257. package/dist/testing.js.map +1 -1
  258. package/dist/theme/contracts.d.ts +14 -1
  259. package/dist/theme/contracts.d.ts.map +1 -1
  260. package/dist/theme/contracts.js +35 -6
  261. package/dist/theme/contracts.js.map +1 -1
  262. package/dist/theme/index.d.ts +1 -1
  263. package/dist/theme/index.d.ts.map +1 -1
  264. package/dist/theme/index.js +1 -1
  265. package/dist/theme/index.js.map +1 -1
  266. package/dist/theme/joint-runtime.d.ts +33 -0
  267. package/dist/theme/joint-runtime.d.ts.map +1 -0
  268. package/dist/theme/joint-runtime.js +121 -0
  269. package/dist/theme/joint-runtime.js.map +1 -0
  270. package/dist/theme/joints.d.ts.map +1 -1
  271. package/dist/theme/joints.js +15 -97
  272. package/dist/theme/joints.js.map +1 -1
  273. package/dist/theme/ktl/compile.d.ts +4 -0
  274. package/dist/theme/ktl/compile.d.ts.map +1 -1
  275. package/dist/theme/ktl/compile.js +54 -1
  276. package/dist/theme/ktl/compile.js.map +1 -1
  277. package/dist/theme/ktl/parser.d.ts +4 -0
  278. package/dist/theme/ktl/parser.d.ts.map +1 -1
  279. package/dist/theme/ktl/parser.js +8 -0
  280. package/dist/theme/ktl/parser.js.map +1 -1
  281. package/dist/theme/render.d.ts +8 -0
  282. package/dist/theme/render.d.ts.map +1 -1
  283. package/dist/theme/render.js +88 -118
  284. package/dist/theme/render.js.map +1 -1
  285. package/dist/theme/tokens.d.ts +6 -0
  286. package/dist/theme/tokens.d.ts.map +1 -1
  287. package/dist/theme/tokens.js +6 -0
  288. package/dist/theme/tokens.js.map +1 -1
  289. package/dist/theme/viewmodel.d.ts +24 -0
  290. package/dist/theme/viewmodel.d.ts.map +1 -1
  291. package/dist/theme/viewmodel.js +75 -6
  292. package/dist/theme/viewmodel.js.map +1 -1
  293. package/dist/types.d.ts +304 -56
  294. package/dist/types.d.ts.map +1 -1
  295. package/package.json +6 -2
  296. package/dist/kernel/apps.d.ts +0 -43
  297. package/dist/kernel/apps.d.ts.map +0 -1
  298. package/dist/kernel/apps.js +0 -234
  299. package/dist/kernel/apps.js.map +0 -1
package/dist/testing.js CHANGED
@@ -1,15 +1,16 @@
1
1
  // Headless end-to-end testing.
2
2
  //
3
- // This deliberately goes through bootApp and HTTP. Calling callFn directly is a
3
+ // This deliberately goes through bootDeployment and HTTP. Calling callFn directly is a
4
4
  // useful integration test, but it skips request parsing, tenant resolution,
5
5
  // sessions, permissions and response serialization — the exact seams an end-to-
6
6
  // end test exists to exercise.
7
7
  import { chmod, mkdir, mkdtemp, readFile, rm, writeFile } from 'node:fs/promises';
8
8
  import { tmpdir } from 'node:os';
9
9
  import { dirname, isAbsolute, join, resolve } from 'node:path';
10
- import { bootApp } from './server/boot.js';
10
+ import { bootDeployment } from './server/boot.js';
11
11
  import { bootWorker } from './server/worker.js';
12
12
  import { callFn } from './server/fn.js';
13
+ import { memoryLog, traceOf } from './server/log/index.js';
13
14
  const setHeader = (headers, name, value) => {
14
15
  if (value === null || value === undefined)
15
16
  headers.delete(name);
@@ -308,13 +309,13 @@ export class TestClient {
308
309
  }
309
310
  }
310
311
  /**
311
- * Boot a real app on an ephemeral port with isolated database and storage.
312
+ * Boot a real deployment on an ephemeral port with isolated database and storage.
312
313
  *
313
314
  * No browser is involved, but every TestClient call crosses the real HTTP
314
315
  * boundary. The host environment is ignored by default so a developer cannot
315
316
  * accidentally point an end-to-end suite at their normal or production database.
316
317
  */
317
- export async function createTestApp(spec, options = {}) {
318
+ export async function createTestDeployment(spec, options = {}) {
318
319
  const ownedArtifacts = options.artifactsDir === undefined;
319
320
  const artifactsDir = options.artifactsDir
320
321
  ? isAbsolute(options.artifactsDir)
@@ -337,30 +338,45 @@ export async function createTestApp(spec, options = {}) {
337
338
  env.KET_STORAGE_DIR ??= join(artifactsDir, 'storage');
338
339
  env.KET_SECRET ??= `ket-e2e-${spec.name}`;
339
340
  env.KET_QUEUE_NOTIFY ??= '0';
340
- let app = null;
341
+ const records = memoryLog();
342
+ const openLog = () => records;
343
+ let deployment = null;
341
344
  let worker = null;
342
345
  try {
343
- app = await bootApp(spec, { env, port: options.port ?? 0, log: options.log ?? (() => { }) });
346
+ deployment = await bootDeployment(spec, {
347
+ env,
348
+ port: options.port ?? 0,
349
+ log: options.log ?? (() => { }),
350
+ openLog,
351
+ });
344
352
  const wantsWorker = options.worker ?? true;
345
353
  if (wantsWorker && spec.worker)
346
- worker = await bootWorker(spec, { env, log: options.workerLog ?? (() => { }) });
354
+ worker = await bootWorker(spec, {
355
+ env,
356
+ openLog,
357
+ ...(options.workerNow ? { now: options.workerNow } : {}),
358
+ // Only when the caller asked. This used to default to a no-op because the
359
+ // alternative was console output; now the default goes to the captured
360
+ // sink, and a no-op here would suppress exactly what a test came to assert.
361
+ ...(options.workerLog ? { log: options.workerLog } : {}),
362
+ });
347
363
  }
348
364
  catch (error) {
349
365
  await worker?.close().catch(() => { });
350
- await app?.close().catch(() => { });
366
+ await deployment?.close().catch(() => { });
351
367
  if (ownedArtifacts && !options.keepArtifacts)
352
368
  await rm(artifactsDir, { recursive: true, force: true });
353
369
  throw error;
354
370
  }
355
- const booted = app;
371
+ const booted = deployment;
356
372
  const baseUrl = `http://127.0.0.1:${booted.port}`;
357
373
  const client = new TestClient(baseUrl, options.client);
358
374
  let closed = false;
359
375
  const fixture = {
360
- withTenant: (tenant, fn) => booted.tenants.with(tenant, (selected) => fn({ key: selected.key, adapter: selected.adapter, manifest: selected.live, apps: selected.apps })),
376
+ withTenant: (tenant, fn) => booted.tenants.with(tenant, (selected) => fn({ key: selected.key, adapter: selected.adapter, manifest: selected.live })),
361
377
  call: async (name, input = {}, callOptions = {}) => {
362
378
  if (booted.adapter === null && callOptions.tenant === undefined)
363
- throw new Error(`fixture call on multi-tenant app "${spec.name}" requires options.tenant`);
379
+ throw new Error(`fixture call on multi-tenant deployment "${spec.name}" requires options.tenant`);
364
380
  return booted.tenants.with(callOptions.tenant ?? '', async (selected) => callFn(name, input, {
365
381
  adapter: selected.adapter,
366
382
  manifest: selected.live,
@@ -369,23 +385,34 @@ export async function createTestApp(spec, options = {}) {
369
385
  allow: callOptions.allow,
370
386
  dryRun: callOptions.dryRun,
371
387
  idempotencyKey: callOptions.idempotencyKey,
388
+ correlationId: callOptions.correlationId,
372
389
  queueNotify: false,
390
+ // A fixture call is not HTTP traffic and says so, but it is still a
391
+ // call: it goes through the same pipeline rather than around it.
392
+ log: booted.logger.child({
393
+ process: 'test',
394
+ tenant: callOptions.tenant ?? null,
395
+ trace: traceOf(callOptions.correlationId, booted.config.secret),
396
+ actor: traceOf(callOptions.actor, booted.config.secret),
397
+ company: callOptions.scope?.company ?? null,
398
+ }),
373
399
  }));
374
400
  },
375
401
  };
376
402
  return {
377
- app: booted,
403
+ deployment: booted,
378
404
  worker,
379
405
  client,
380
406
  baseUrl,
381
407
  adapter: booted.adapter,
382
408
  artifactsDir,
409
+ records,
383
410
  databasePath,
384
411
  env: Object.freeze({ ...env }),
385
412
  fixture,
386
413
  async drainJobs() {
387
414
  if (!worker)
388
- throw new Error(`app "${spec.name}" has no test worker`);
415
+ throw new Error(`deployment "${spec.name}" has no test worker`);
389
416
  return worker.drain();
390
417
  },
391
418
  async close() {
@@ -399,7 +426,7 @@ export async function createTestApp(spec, options = {}) {
399
426
  if (ownedArtifacts && !options.keepArtifacts)
400
427
  await rm(artifactsDir, { recursive: true, force: true }).catch((error) => errors.push(error));
401
428
  if (errors.length)
402
- throw new AggregateError(errors, `failed to close test app "${spec.name}"`);
429
+ throw new AggregateError(errors, `failed to close test deployment "${spec.name}"`);
403
430
  },
404
431
  };
405
432
  }
@@ -1 +1 @@
1
- {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../../../packages/ketjs/src/testing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../../../packages/ketjs/src/testing.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,17 @@
1
1
  import type { Manifest } from '../types.ts';
2
2
  /** Project a surrounding scope through a declared joint/island prop contract. */
3
- export declare function contractProps(manifest: Manifest, kind: 'joint' | 'island', key: string, schema: Record<string, string>, input: Record<string, unknown>): Record<string, unknown>;
3
+ export declare function contractProps(manifest: Manifest, kind: 'joint' | 'island', key: string, schema: Record<string, string>, input: Record<string, unknown>,
4
+ /** The module whose template is about to read these props. See `visibleFields`. */
5
+ reader?: string): Record<string, unknown>;
6
+ /**
7
+ * A section placement's settings, projected to what the section declared.
8
+ *
9
+ * The write path already validates a layout against this schema
10
+ * (`validateLayout`), so this is the boundary rather than a second gate: a stored
11
+ * layout that predates a schema change, or one an import wrote straight into the
12
+ * database, still reaches the theme carrying only declared keys. Missing values
13
+ * arrive as null, exactly as a drop's do, so a template branches on absence
14
+ * instead of on undefined.
15
+ */
16
+ export declare function sectionSettings(schema: Record<string, string>, settings: Record<string, unknown>): Record<string, unknown>;
4
17
  //# sourceMappingURL=contracts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../../../packages/ketjs/src/theme/contracts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AA+B3C,iFAAiF;AACjF,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,OAAO,GAAG,QAAQ,EACxB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA6CzB"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../../../packages/ketjs/src/theme/contracts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AA+B3C,iFAAiF;AACjF,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,OAAO,GAAG,QAAQ,EACxB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;AAC9B,mFAAmF;AACnF,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAwDzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIzB"}
@@ -1,5 +1,6 @@
1
1
  import { KetError } from '../kernel/errors.js';
2
2
  import { isDateText, parseType } from '../kernel/types.js';
3
+ import { findCallable, projectFields, visibleFields } from './viewmodel.js';
3
4
  const scalarMatches = (base, value) => {
4
5
  if (base === 'id' || base === 'text' || base === 'ref')
5
6
  return typeof value === 'string';
@@ -38,12 +39,15 @@ const dataOnly = (value, seen = new WeakSet()) => {
38
39
  return valid;
39
40
  };
40
41
  /** Project a surrounding scope through a declared joint/island prop contract. */
41
- export function contractProps(manifest, kind, key, schema, input) {
42
+ export function contractProps(manifest, kind, key, schema, input,
43
+ /** The module whose template is about to read these props. See `visibleFields`. */
44
+ reader) {
42
45
  for (const [name, value] of Object.entries(input)) {
43
- if (typeof value === 'function') {
46
+ const callable = findCallable(value, name);
47
+ if (callable !== null) {
44
48
  throw new KetError({
45
49
  code: 'E_SCOPE_CALLABLE',
46
- message: `${kind} "${key}" scope key "${name}" is a function`,
50
+ message: `${kind} "${key}" scope key "${callable}" is a function`,
47
51
  hint: 'extension scopes receive data only',
48
52
  });
49
53
  }
@@ -66,10 +70,19 @@ export function contractProps(manifest, kind, key, schema, input) {
66
70
  });
67
71
  }
68
72
  const view = spec.endsWith('?') ? spec.slice(0, -1) : spec;
73
+ const isView = !scalar.ok && !!manifest.views[view];
69
74
  const valid = scalar.ok
70
75
  ? scalarMatches(scalar.base, value)
71
- : !!manifest.views[view] && typeof value === 'object';
72
- if (!valid || !dataOnly(value)) {
76
+ : isView && typeof value === 'object' && !Array.isArray(value);
77
+ // A view-typed prop is projected, not merely type-checked. Declaring
78
+ // `product: 'catalog.product'` used to admit any object at all, so whatever
79
+ // row the caller happened to hold — vat number, cost price, internal notes —
80
+ // crossed into the theme intact. The declaration says which fields a theme may
81
+ // read; the only way for that to be true is for the other fields not to arrive.
82
+ const projected = isView && valid
83
+ ? projectFields(value, visibleFields(manifest, view, reader))
84
+ : value;
85
+ if (!valid || !dataOnly(projected)) {
73
86
  throw new KetError({
74
87
  code: kind === 'joint' ? 'E_JOINT_PROP' : 'E_ISLAND_PROP',
75
88
  message: valid
@@ -80,8 +93,24 @@ export function contractProps(manifest, kind, key, schema, input) {
80
93
  : `received ${Array.isArray(value) ? 'array' : typeof value}`,
81
94
  });
82
95
  }
83
- out[name] = value;
96
+ out[name] = projected;
84
97
  }
85
98
  return Object.freeze(out);
86
99
  }
100
+ /**
101
+ * A section placement's settings, projected to what the section declared.
102
+ *
103
+ * The write path already validates a layout against this schema
104
+ * (`validateLayout`), so this is the boundary rather than a second gate: a stored
105
+ * layout that predates a schema change, or one an import wrote straight into the
106
+ * database, still reaches the theme carrying only declared keys. Missing values
107
+ * arrive as null, exactly as a drop's do, so a template branches on absence
108
+ * instead of on undefined.
109
+ */
110
+ export function sectionSettings(schema, settings) {
111
+ const out = Object.create(null);
112
+ for (const name of Object.keys(schema))
113
+ out[name] = settings[name] ?? null;
114
+ return Object.freeze(out);
115
+ }
87
116
  //# sourceMappingURL=contracts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../../../../packages/ketjs/src/theme/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../../../../packages/ketjs/src/theme/contracts.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,5 @@ export { loadTemplates } from './templates.ts';
4
4
  export { createJoints } from './joints.ts';
5
5
  export type { Compiled, Filter, Scope } from './ktl/compile.ts';
6
6
  export { makeDrop, makeDrops, sealScope } from './viewmodel.ts';
7
- export { tokensToCss, scopedCss, LAYER_ORDER } from './tokens.ts';
7
+ export { tokensToCss, scopedCss, LAYER_ORDER, LAYER_ORDER_CSS } from './tokens.ts';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/ketjs/src/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/ketjs/src/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA"}
@@ -3,5 +3,5 @@ export { compileKtl } from './ktl/compile.js';
3
3
  export { loadTemplates } from './templates.js';
4
4
  export { createJoints } from './joints.js';
5
5
  export { makeDrop, makeDrops, sealScope } from './viewmodel.js';
6
- export { tokensToCss, scopedCss, LAYER_ORDER } from './tokens.js';
6
+ export { tokensToCss, scopedCss, LAYER_ORDER, LAYER_ORDER_CSS } from './tokens.js';
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/ketjs/src/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/ketjs/src/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA"}
@@ -0,0 +1,33 @@
1
+ import type { IslandRegistry } from '@ketvietlab/ketjs-view';
2
+ import type { Compiled, Scope } from './ktl/compile.ts';
3
+ import type { Manifest } from '../types.ts';
4
+ /** A fill may render another joint, but the chain has to end somewhere. */
5
+ export declare const MAX_JOINT_DEPTH = 16;
6
+ /** One compiled fill, and the module that wrote it — which decides what it may read. */
7
+ export type CompiledFill = {
8
+ by: string;
9
+ compiled: Compiled;
10
+ };
11
+ export type JointWiring = {
12
+ renderJoint(joint: string, scope: Scope): string;
13
+ renderIsland(name: string, scope: Scope): string;
14
+ /** False when a composed module asked for this joint to be gone. */
15
+ shows(joint: string): boolean;
16
+ };
17
+ export declare function createJointWiring(manifest: Manifest, o: {
18
+ /** Read late: the fills are compiled with this wiring, so they cannot exist yet. */
19
+ fillsFor: (joint: string) => readonly CompiledFill[];
20
+ islands: IslandRegistry;
21
+ }): JointWiring;
22
+ /**
23
+ * What a fill is allowed to reach for.
24
+ *
25
+ * A fill naming another module's joint or island without depending on it is a
26
+ * decision about somebody else's screen made by a module that may not be composed
27
+ * beside it — the same rule `omits` follows, checked at the same place for both.
28
+ */
29
+ export declare function assertFillReach(manifest: Manifest, fill: {
30
+ joint: string;
31
+ by: string;
32
+ }, compiled: Compiled): void;
33
+ //# sourceMappingURL=joint-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"joint-runtime.d.ts","sourceRoot":"","sources":["../../../../../packages/ketjs/src/theme/joint-runtime.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAEvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,2EAA2E;AAC3E,eAAO,MAAM,eAAe,KAAK,CAAA;AAEjC,wFAAwF;AACxF,MAAM,MAAM,YAAY,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAA;AAE7D,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAAA;IAChD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAAA;IAChD,oEAAoE;IACpE,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;CAC9B,CAAA;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,QAAQ,EAClB,CAAC,EAAE;IACD,oFAAoF;IACpF,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,YAAY,EAAE,CAAA;IACpD,OAAO,EAAE,cAAc,CAAA;CACxB,GACA,WAAW,CAoEb;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EACnC,QAAQ,EAAE,QAAQ,GACjB,IAAI,CAoCN"}
@@ -0,0 +1,121 @@
1
+ // Rendering a joint, and placing an island, wherever that happens.
2
+ //
3
+ // It happens in two places: a storefront theme (theme/render.ts) and a first-party
4
+ // screen (theme/joints.ts). They are different callers with different template
5
+ // sources, but "what a joint does when it is rendered" is one behaviour, and it was
6
+ // written out twice. The copies had already drifted — the same missing joint
7
+ // reported two different error codes depending on which side of the product you
8
+ // were standing on.
9
+ import { contractProps } from './contracts.js';
10
+ import { renderIsland } from '@ketvietlab/ketjs-view';
11
+ import { KetError } from '../kernel/errors.js';
12
+ /** A fill may render another joint, but the chain has to end somewhere. */
13
+ export const MAX_JOINT_DEPTH = 16;
14
+ export function createJointWiring(manifest, o) {
15
+ const stack = [];
16
+ const omitted = (joint) => (manifest.joints[joint]?.omittedBy.length ?? 0) > 0;
17
+ const known = (joint) => {
18
+ const definition = manifest.joints[joint];
19
+ if (definition)
20
+ return definition;
21
+ throw new KetError({
22
+ code: 'E_UNKNOWN_JOINT',
23
+ message: `no composed module publishes joint "${joint}"`,
24
+ hint: `published joints: ${Object.keys(manifest.joints).join(', ') || '(none)'}`,
25
+ });
26
+ };
27
+ return {
28
+ shows(joint) {
29
+ known(joint);
30
+ return !omitted(joint);
31
+ },
32
+ renderJoint(joint, scope) {
33
+ const definition = known(joint);
34
+ if (omitted(joint))
35
+ return '';
36
+ if (stack.includes(joint)) {
37
+ throw new KetError({
38
+ code: 'E_JOINT_CYCLE',
39
+ message: `joint recursion: ${[...stack, joint].join(' -> ')}`,
40
+ hint: 'a fill may render another joint, but never itself through any chain',
41
+ });
42
+ }
43
+ if (stack.length >= MAX_JOINT_DEPTH) {
44
+ throw new KetError({
45
+ code: 'E_JOINT_TOO_DEEP',
46
+ message: `joint rendering exceeds ${MAX_JOINT_DEPTH} levels`,
47
+ });
48
+ }
49
+ stack.push(joint);
50
+ try {
51
+ // Contracted per fill rather than once for the joint: what crosses depends
52
+ // on who is reading, because a module that extended the model declared its
53
+ // own view over it and is entitled to the fields in it.
54
+ return o
55
+ .fillsFor(joint)
56
+ .map((fill) => fill.compiled.render(contractProps(manifest, 'joint', joint, definition.props, scope, fill.by)))
57
+ .join('');
58
+ }
59
+ finally {
60
+ stack.pop();
61
+ }
62
+ },
63
+ renderIsland(name, scope) {
64
+ const factory = o.islands[name];
65
+ const definition = manifest.islands[name];
66
+ if (!factory || !definition) {
67
+ throw new KetError({
68
+ code: 'E_UNKNOWN_ISLAND',
69
+ message: `a template places island "${name}", which no composed module provides`,
70
+ hint: `available islands: ${Object.keys(o.islands).join(', ') || '(none)'}`,
71
+ });
72
+ }
73
+ return renderIsland(name, factory, contractProps(manifest, 'island', name, definition.props, scope, definition.by), { key: definition.key });
74
+ },
75
+ };
76
+ }
77
+ /**
78
+ * What a fill is allowed to reach for.
79
+ *
80
+ * A fill naming another module's joint or island without depending on it is a
81
+ * decision about somebody else's screen made by a module that may not be composed
82
+ * beside it — the same rule `omits` follows, checked at the same place for both.
83
+ */
84
+ export function assertFillReach(manifest, fill, compiled) {
85
+ const owner = manifest.modules[fill.by];
86
+ for (const used of compiled.jointsUsed) {
87
+ const target = manifest.joints[used];
88
+ if (!target) {
89
+ throw new KetError({
90
+ code: 'E_FILL_UNKNOWN_JOINT',
91
+ module: fill.by,
92
+ message: `fill for "${fill.joint}" renders unknown joint "${used}"`,
93
+ });
94
+ }
95
+ if (target.owner !== fill.by && !owner?.depends?.includes(target.owner)) {
96
+ throw new KetError({
97
+ code: 'E_FILL_NOT_DEPENDED',
98
+ module: fill.by,
99
+ message: `fill for "${fill.joint}" renders "${used}" without depending on "${target.owner}"`,
100
+ });
101
+ }
102
+ }
103
+ for (const used of compiled.islandsUsed) {
104
+ const target = manifest.islands[used];
105
+ if (!target) {
106
+ throw new KetError({
107
+ code: 'E_FILL_UNKNOWN_ISLAND',
108
+ module: fill.by,
109
+ message: `fill for "${fill.joint}" places unknown island "${used}"`,
110
+ });
111
+ }
112
+ if (target.by !== fill.by && !owner?.depends?.includes(target.by)) {
113
+ throw new KetError({
114
+ code: 'E_FILL_NOT_DEPENDED',
115
+ module: fill.by,
116
+ message: `fill for "${fill.joint}" places "${used}" without depending on "${target.by}"`,
117
+ });
118
+ }
119
+ }
120
+ }
121
+ //# sourceMappingURL=joint-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"joint-runtime.js","sourceRoot":"","sources":["../../../../../../packages/ketjs/src/theme/joint-runtime.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"joints.d.ts","sourceRoot":"","sources":["../../../../../packages/ketjs/src/theme/joints.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAG3C,MAAM,MAAM,MAAM,GAAG;IACnB;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAA;IAC5D,6EAA6E;IAC7E,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAC5B,CAAA;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,QAAQ,EAClB,CAAC,GAAE;IACD,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAA;IACrE,OAAO,CAAC,EAAE,cAAc,CAAA;CACpB,GACL,MAAM,CA6GR"}
1
+ {"version":3,"file":"joints.d.ts","sourceRoot":"","sources":["../../../../../packages/ketjs/src/theme/joints.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,MAAM,MAAM,MAAM,GAAG;IACnB;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAA;IAC5D,6EAA6E;IAC7E,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAC5B,CAAA;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,QAAQ,EAClB,CAAC,GAAE;IACD,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAA;IACrE,OAAO,CAAC,EAAE,cAAc,CAAA;CACpB,GACL,MAAM,CA0BR"}