@nodetool-ai/agents 0.8.4-a24.3 → 0.8.4

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 (135) hide show
  1. package/dist/.nodetool-build-stamp +1 -1
  2. package/dist/_skills/LICENSE-iart-motion-design-skills +21 -0
  3. package/dist/_skills/README.md +211 -0
  4. package/dist/_skills/api-agents/SKILL.md +58 -0
  5. package/dist/_skills/api-apps/SKILL.md +54 -0
  6. package/dist/_skills/api-assets/SKILL.md +66 -0
  7. package/dist/_skills/api-collections/SKILL.md +33 -0
  8. package/dist/_skills/api-games/SKILL.md +81 -0
  9. package/dist/_skills/api-media/SKILL.md +131 -0
  10. package/dist/_skills/api-memory/SKILL.md +72 -0
  11. package/dist/_skills/api-models/SKILL.md +78 -0
  12. package/dist/_skills/api-scripts/SKILL.md +79 -0
  13. package/dist/_skills/api-settings/SKILL.md +49 -0
  14. package/dist/_skills/api-sketches/SKILL.md +61 -0
  15. package/dist/_skills/api-storyboards/SKILL.md +94 -0
  16. package/dist/_skills/api-timelines/SKILL.md +151 -0
  17. package/dist/_skills/api-web/SKILL.md +57 -0
  18. package/dist/_skills/api-workflows/SKILL.md +123 -0
  19. package/dist/_skills/beat-sync-editing/SKILL.md +208 -0
  20. package/dist/_skills/caption-titles/SKILL.md +94 -0
  21. package/dist/_skills/color-motion/SKILL.md +185 -0
  22. package/dist/_skills/commercial-beat-sheet/SKILL.md +338 -0
  23. package/dist/_skills/elevenlabs-audio-prompting/SKILL.md +163 -0
  24. package/dist/_skills/explainer-storyboard/SKILL.md +63 -0
  25. package/dist/_skills/flux-2-klein-prompting/SKILL.md +107 -0
  26. package/dist/_skills/frame-composition/SKILL.md +291 -0
  27. package/dist/_skills/game-direction/SKILL.md +99 -0
  28. package/dist/_skills/gpt-image-2-prompting/SKILL.md +161 -0
  29. package/dist/_skills/hailuo-prompting/SKILL.md +107 -0
  30. package/dist/_skills/kling-video-prompting/SKILL.md +188 -0
  31. package/dist/_skills/launch-commercial/SKILL.md +267 -0
  32. package/dist/_skills/launch-kit/SKILL.md +120 -0
  33. package/dist/_skills/logo-reveal/SKILL.md +225 -0
  34. package/dist/_skills/manimgx/SKILL.md +123 -0
  35. package/dist/_skills/minimax-h3-prompting/SKILL.md +134 -0
  36. package/dist/_skills/motion-ad/SKILL.md +281 -0
  37. package/dist/_skills/motion-background/SKILL.md +145 -0
  38. package/dist/_skills/motion-curves/SKILL.md +302 -0
  39. package/dist/_skills/motion-direction/SKILL.md +259 -0
  40. package/dist/_skills/motion-graphics/SKILL.md +217 -0
  41. package/dist/_skills/motion-principles/SKILL.md +255 -0
  42. package/dist/_skills/music-video-treatment/SKILL.md +40 -0
  43. package/dist/_skills/nano-banana-pro-prompting/SKILL.md +133 -0
  44. package/dist/_skills/native-game/SKILL.md +310 -0
  45. package/dist/_skills/native-game-reference/SKILL.md +879 -0
  46. package/dist/_skills/nodetool-3d-scene/SKILL.md +110 -0
  47. package/dist/_skills/nodetool-api-reference/SKILL.md +338 -0
  48. package/dist/_skills/nodetool-app-builder/SKILL.md +291 -0
  49. package/dist/_skills/nodetool-browser-agent/SKILL.md +119 -0
  50. package/dist/_skills/nodetool-chat-cli/SKILL.md +184 -0
  51. package/dist/_skills/nodetool-custom-node-developer/SKILL.md +294 -0
  52. package/dist/_skills/nodetool-deployment/SKILL.md +195 -0
  53. package/dist/_skills/nodetool-js-scripting/SKILL.md +223 -0
  54. package/dist/_skills/nodetool-model-provider-config/SKILL.md +348 -0
  55. package/dist/_skills/nodetool-rag-indexing/SKILL.md +153 -0
  56. package/dist/_skills/nodetool-sketch/SKILL.md +138 -0
  57. package/dist/_skills/nodetool-skill-author/SKILL.md +125 -0
  58. package/dist/_skills/nodetool-troubleshooter/SKILL.md +370 -0
  59. package/dist/_skills/nodetool-video-post/SKILL.md +149 -0
  60. package/dist/_skills/nodetool-workflow-builder/SKILL.md +295 -0
  61. package/dist/_skills/product-commercial/SKILL.md +132 -0
  62. package/dist/_skills/qwen-image-prompting/SKILL.md +122 -0
  63. package/dist/_skills/script-video/SKILL.md +106 -0
  64. package/dist/_skills/seedance-2-prompting/SKILL.md +194 -0
  65. package/dist/_skills/seedream-prompting/SKILL.md +117 -0
  66. package/dist/_skills/short-film/SKILL.md +123 -0
  67. package/dist/_skills/stable-audio-prompting/SKILL.md +130 -0
  68. package/dist/_skills/storyboard-core/SKILL.md +716 -0
  69. package/dist/_skills/timeline-edit-ops/SKILL.md +736 -0
  70. package/dist/_skills/trailer-template/SKILL.md +291 -0
  71. package/dist/_skills/ugc-video/SKILL.md +186 -0
  72. package/dist/_skills/veo-3-prompting/SKILL.md +140 -0
  73. package/dist/_skills/video-audio-continuity/SKILL.md +90 -0
  74. package/dist/_skills/video-clone/SKILL.md +96 -0
  75. package/dist/_skills/video-workflow/SKILL.md +119 -0
  76. package/dist/_skills/wan-2-6-prompting/SKILL.md +107 -0
  77. package/dist/app-build/bridge.d.ts.map +1 -1
  78. package/dist/app-build/bridge.js +44 -17
  79. package/dist/app-build/bridge.js.map +1 -1
  80. package/dist/capabilities/apps.d.ts.map +1 -1
  81. package/dist/capabilities/apps.js +55 -13
  82. package/dist/capabilities/apps.js.map +1 -1
  83. package/dist/capabilities/apps.specs.d.ts.map +1 -1
  84. package/dist/capabilities/apps.specs.js +5 -3
  85. package/dist/capabilities/apps.specs.js.map +1 -1
  86. package/dist/capabilities/game-asset-browser.d.ts.map +1 -1
  87. package/dist/capabilities/game-asset-browser.js +6 -1
  88. package/dist/capabilities/game-asset-browser.js.map +1 -1
  89. package/dist/capabilities/game.d.ts +1 -1
  90. package/dist/capabilities/game.d.ts.map +1 -1
  91. package/dist/capabilities/game.js +71 -56
  92. package/dist/capabilities/game.js.map +1 -1
  93. package/dist/capabilities/game.specs.js +1 -1
  94. package/dist/capabilities/game.specs.js.map +1 -1
  95. package/dist/capabilities/game3d.d.ts.map +1 -1
  96. package/dist/capabilities/game3d.js +14 -19
  97. package/dist/capabilities/game3d.js.map +1 -1
  98. package/dist/capabilities/gameAssertions.d.ts +52 -0
  99. package/dist/capabilities/gameAssertions.d.ts.map +1 -0
  100. package/dist/capabilities/gameAssertions.js +32 -0
  101. package/dist/capabilities/gameAssertions.js.map +1 -0
  102. package/dist/capabilities/models.d.ts.map +1 -1
  103. package/dist/capabilities/models.js +9 -0
  104. package/dist/capabilities/models.js.map +1 -1
  105. package/dist/capabilities/storyboards.d.ts.map +1 -1
  106. package/dist/capabilities/storyboards.js +36 -11
  107. package/dist/capabilities/storyboards.js.map +1 -1
  108. package/dist/capabilities/storyboards.specs.d.ts.map +1 -1
  109. package/dist/capabilities/storyboards.specs.js +11 -1
  110. package/dist/capabilities/storyboards.specs.js.map +1 -1
  111. package/dist/capabilities/workflows.d.ts.map +1 -1
  112. package/dist/capabilities/workflows.js +1 -0
  113. package/dist/capabilities/workflows.js.map +1 -1
  114. package/dist/capabilities/workflows.specs.d.ts.map +1 -1
  115. package/dist/capabilities/workflows.specs.js +4 -3
  116. package/dist/capabilities/workflows.specs.js.map +1 -1
  117. package/dist/evals/surfaces/game.d.ts.map +1 -1
  118. package/dist/evals/surfaces/game.js +29 -1
  119. package/dist/evals/surfaces/game.js.map +1 -1
  120. package/dist/game-authoring.d.ts +120 -0
  121. package/dist/game-authoring.d.ts.map +1 -1
  122. package/dist/game-build-integrity.d.ts +12 -0
  123. package/dist/game-build-integrity.d.ts.map +1 -0
  124. package/dist/game-build-integrity.js +78 -0
  125. package/dist/game-build-integrity.js.map +1 -0
  126. package/dist/game-examples.d.ts +44 -3
  127. package/dist/game-examples.d.ts.map +1 -1
  128. package/dist/game-examples.js +60 -10
  129. package/dist/game-examples.js.map +1 -1
  130. package/dist/system-skills.d.ts +1 -1
  131. package/dist/system-skills.js +1 -1
  132. package/dist/tools/builtin-tools.d.ts.map +1 -1
  133. package/dist/tools/builtin-tools.js +2 -0
  134. package/dist/tools/builtin-tools.js.map +1 -1
  135. package/package.json +19 -19
@@ -1 +1 @@
1
- {"version":3,"file":"apps.d.ts","sourceRoot":"","sources":["../../src/capabilities/apps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAiBrE,QAAA,MAAM,QAAQ,EAAE,gBA4Bf,CAAC;AAgBF,QAAA,MAAM,QAAQ,EAAE,gBAmBf,CAAC;AAEF,QAAA,MAAM,MAAM,EAAE,gBAcb,CAAC;AAEF,QAAA,MAAM,SAAS,EAAE,gBAShB,CAAC;AAEF,QAAA,MAAM,SAAS,EAAE,gBAqEhB,CAAC;AA2BF,QAAA,MAAM,OAAO,EAAE,gBAsJd,CAAC;AAuEF,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,EAAE,SAAS,gBAAgB,EAOvD,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,gBAGpB,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"apps.d.ts","sourceRoot":"","sources":["../../src/capabilities/apps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAiBrE,QAAA,MAAM,QAAQ,EAAE,gBA4Bf,CAAC;AAgBF,QAAA,MAAM,QAAQ,EAAE,gBAmBf,CAAC;AAEF,QAAA,MAAM,MAAM,EAAE,gBAcb,CAAC;AAEF,QAAA,MAAM,SAAS,EAAE,gBAShB,CAAC;AAEF,QAAA,MAAM,SAAS,EAAE,gBAqEhB,CAAC;AAmCF,QAAA,MAAM,OAAO,EAAE,gBAoLd,CAAC;AAgFF,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,EAAE,SAAS,gBAAgB,EAOvD,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,gBAGpB,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -156,7 +156,7 @@ const createApp = {
156
156
  {
157
157
  id: "main",
158
158
  name: "Run",
159
- workflowId: fromWorkflowId,
159
+ workflowId: workflow.id,
160
160
  inputs: {},
161
161
  outputs: {},
162
162
  policy: "replace"
@@ -195,11 +195,17 @@ function parseSteps(raw) {
195
195
  if (!isRecord(entry) || !isString(entry.tool) || !entry.tool) {
196
196
  return { error: `steps[${index}] needs a \`tool\` name.` };
197
197
  }
198
+ const unknown = Object.keys(entry).filter((key) => key !== "tool" && key !== "input");
199
+ if (unknown.length > 0) {
200
+ return {
201
+ error: `steps[${index}] has unknown fields: ${unknown.join(", ")}. Put tool arguments in input.`
202
+ };
203
+ }
198
204
  const input = entry.input;
199
- if (input !== undefined && !isRecord(input)) {
205
+ if (!isRecord(input)) {
200
206
  return { error: `steps[${index}].input must be an object.` };
201
207
  }
202
- steps.push({ tool: entry.tool, input: isRecord(input) ? input : {} });
208
+ steps.push({ tool: entry.tool, input });
203
209
  }
204
210
  return steps;
205
211
  }
@@ -212,8 +218,9 @@ const editApp = {
212
218
  if (!app)
213
219
  return { error: `App ${id} was not found, or it is not yours.` };
214
220
  const steps = parseSteps(params["steps"]);
215
- if (!Array.isArray(steps))
216
- return steps;
221
+ if (!Array.isArray(steps)) {
222
+ return { ok: false, saved: false, ...steps };
223
+ }
217
224
  const expected = params["base_updated_at"];
218
225
  if (isString(expected) && expected && expected !== app.updated_at) {
219
226
  return {
@@ -224,7 +231,7 @@ const editApp = {
224
231
  }
225
232
  const document = app.toDocument();
226
233
  const { createAppToolBridge } = await import("../app-build/bridge.js");
227
- const { zodToJsonSchema } = await import("@nodetool-ai/runtime");
234
+ const { zodToJsonSchema, parseWithTypeCoercion } = await import("@nodetool-ai/runtime");
228
235
  const workflows = await bindableWorkflows(userId, document, params);
229
236
  // The bridge needs one workflow to answer binding targets against; the
230
237
  // rest are reachable through `workflows`. The first operation's is the
@@ -238,6 +245,30 @@ const editApp = {
238
245
  });
239
246
  bridge.loadDocument(bridgeDocumentOf(document));
240
247
  const byName = new Map(bridge.tools.map((tool) => [tool.name, tool]));
248
+ // Reject malformed arguments before any step mutates the in-memory document.
249
+ // Runtime tool failures retain the existing partial-success behavior below.
250
+ for (const [index, step] of steps.entries()) {
251
+ const name = step.tool.startsWith("ui_app_")
252
+ ? step.tool
253
+ : `ui_app_${step.tool}`;
254
+ const tool = byName.get(name);
255
+ if (!tool) {
256
+ continue;
257
+ }
258
+ try {
259
+ parseWithTypeCoercion(tool.parameters, {
260
+ ...step.input,
261
+ application_id: app.id
262
+ });
263
+ }
264
+ catch (error) {
265
+ return {
266
+ ok: false,
267
+ saved: false,
268
+ error: `steps[${index}] (${name}): ${error instanceof Error ? error.message : String(error)}`
269
+ };
270
+ }
271
+ }
241
272
  const results = [];
242
273
  let failed = false;
243
274
  for (const [index, step] of steps.entries()) {
@@ -257,10 +288,14 @@ const editApp = {
257
288
  }
258
289
  try {
259
290
  const result = await tool.execute({
260
- application_id: app.id,
261
- ...step.input
291
+ ...step.input,
292
+ application_id: app.id
262
293
  });
263
- results.push({ step: index, tool: name, ok: true, result });
294
+ const ok = !isRecord(result) || result.ok !== false;
295
+ results.push({ step: index, tool: name, ok, result });
296
+ if (!ok) {
297
+ failed = true;
298
+ }
264
299
  }
265
300
  catch (error) {
266
301
  results.push({
@@ -376,13 +411,19 @@ async function bindableWorkflows(userId, document, params) {
376
411
  const idArray = Array.from(ids);
377
412
  if (idArray.length === 0)
378
413
  return bindable;
379
- const workflows = await Workflow.findMany(userId, idArray);
380
- for (const workflow of workflows) {
381
- const graph = debugGraphOf(workflow?.graph);
414
+ const workflows = await Promise.all(idArray.map(async (id) => ({
415
+ id,
416
+ workflow: await Workflow.find(userId, id)
417
+ })));
418
+ for (const { id, workflow } of workflows) {
419
+ if (!workflow) {
420
+ continue;
421
+ }
422
+ const graph = debugGraphOf(workflow.graph);
382
423
  if (!graph)
383
424
  continue;
384
425
  const io = extractAppIO(graph);
385
- bindable[workflow.id] = {
426
+ bindable[id] = {
386
427
  inputs: io.inputs.map((input) => ({
387
428
  nodeId: input.nodeId,
388
429
  name: input.name,
@@ -395,6 +436,7 @@ async function bindableWorkflows(userId, document, params) {
395
436
  })),
396
437
  variables: io.variables
397
438
  };
439
+ bindable[workflow.id] = bindable[id];
398
440
  }
399
441
  return bindable;
400
442
  }
@@ -1 +1 @@
1
- {"version":3,"file":"apps.js","sourceRoot":"","sources":["../../src/capabilities/apps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,aAAa,EACb,WAAW,EACX,aAAa,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAM7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,QAAQ,GAAqB;IACjC,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC;QAClC,IAAI,CAAC,QAAQ;YAAE,OAAO,eAAe,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,EAAE,mBAAmB,EAAE,GAC3B,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;QACjD,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAC9C,4BAA4B,CAC7B,CAAC;QACF,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC;YACH,OAAO,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;gBACzD,oEAAoE;gBACpE,mEAAmE;gBACnE,kEAAkE;gBAClE,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,YAAY,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE;oBAChE,OAAO;oBACP,cAAc,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC;iBACxD,CAAC,CAAC,KAAK,CAAC;aACV,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAEF;;;;;;GAMG;AACH,KAAK,UAAU,YAAY,CAAC,MAAc,EAAE,EAAU;IACpD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3C,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAChD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,QAAQ,GAAqB;IACjC,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC1B,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;QACxE,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACrB,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;gBAClC,OAAO;oBACL,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;oBAClC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChE,UAAU,EAAE,GAAG,CAAC,UAAU;iBAC3B,CAAC;YACJ,CAAC,CAAC;SACH,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,GAAqB;IAC/B,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC1B,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC;QAC3E,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;YAClC,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,QAAQ,EAAE,GAAG,CAAC,UAAU,EAAE;SAC3B,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,SAAS,GAAqB;IAClC,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC1B,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC;QAC3E,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC;CACF,CAAC;AAEF,MAAM,SAAS,GAAqB;IAClC,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACpC,OAAO,EAAE,KAAK,EAAE,kDAAkD,EAAE,CAAC;QACvE,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACtE,MAAM,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CACpE,0BAA0B,CAC3B,CAAC;QAEF,IAAI,QAA6B,CAAC;QAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,EAAE,KAAK,EAAE,+CAA+C,EAAE,CAAC;YACpE,CAAC;YACD,QAAQ,GAAG,MAAM,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,kEAAkE;YAClE,oEAAoE;YACpE,qEAAqE;YACrE,2DAA2D;YAC3D,QAAQ,GAAG,mBAAmB,EAAE,CAAC;YACjC,MAAM,cAAc,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAClD,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,cAAc,EAAE,CAAC;gBAC/C,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;gBAC7D,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,EAAE,KAAK,EAAE,YAAY,cAAc,iBAAiB,EAAE,CAAC;gBAChE,CAAC;gBACD,kEAAkE;gBAClE,mEAAmE;gBACnE,QAAQ,CAAC,UAAU,GAAG;oBACpB;wBACE,EAAE,EAAE,MAAM;wBACV,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,cAAc;wBAC1B,MAAM,EAAE,EAAE;wBACV,OAAO,EAAE,EAAE;wBACX,MAAM,EAAE,SAAS;qBAClB;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC;YACzC,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,SAAS;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YACjB,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;YACrD,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;SACnC,CAAC,CAAC;QAEH,OAAO;YACL,EAAE,EAAE,IAAI;YACR,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,cAAc,EAAE,GAAG,CAAC,EAAE;YACtB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;SACjE,CAAC;IACJ,CAAC;CACF,CAAC;AAQF,SAAS,UAAU,CAAC,GAAY;IAC9B,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,kDAAkD,EAAE,CAAC;IACvE,CAAC;IACD,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7D,OAAO,EAAE,KAAK,EAAE,SAAS,KAAK,0BAA0B,EAAE,CAAC;QAC7D,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,OAAO,EAAE,KAAK,EAAE,SAAS,KAAK,4BAA4B,EAAE,CAAC;QAC/D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,OAAO,GAAqB;IAChC,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC;QAE3E,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAExC,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC3C,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,QAAQ,KAAK,GAAG,CAAC,UAAU,EAAE,CAAC;YAClE,OAAO;gBACL,KAAK,EACH,OAAO,GAAG,CAAC,EAAE,8CAA8C;oBAC3D,4DAA4D;oBAC5D,oBAAoB;aACvB,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QACvE,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAEjE,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACpE,uEAAuE;QACvE,uEAAuE;QACvE,0DAA0D;QAC1D,MAAM,cAAc,GAClB,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC;YAC3D,EAAE,UAAU,IAAI,QAAQ,CAAC;QAE7B,MAAM,MAAM,GAAG,mBAAmB,CAAC;YACjC,UAAU,EAAE,cAAc;YAC1B,QAAQ,EAAE,SAAS,CAAC,cAAc,CAAC;YACnC,SAAS;SACV,CAAC,CAAC;QACH,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEhD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,OAAO,GAA8B,EAAE,CAAC;QAC9C,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC1C,CAAC,CAAC,IAAI,CAAC,IAAI;gBACX,CAAC,CAAC,UAAU,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,6BAA6B,IAAI,CAAC,IAAI,GAAG;iBACjD,CAAC,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC;gBACd,SAAS;YACX,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;oBAChC,cAAc,EAAE,GAAG,CAAC,EAAE;oBACtB,GAAG,IAAI,CAAC,KAAK;iBACd,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,IAAI;oBACV,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChD,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1B,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACjC,CAAC;QACD,MAAM,IAAI,GAAwB;YAChC,GAAG,QAAQ;YACX,EAAE,EAAE;gBACF,GAAG,QAAQ,CAAC,EAAE;gBACd,IAAI,EAAE;oBACJ,GAAG,QAAQ,CAAC,EAAE,CAAC,IAAI;oBACnB,KAAK,EAAE,SAAS;iBACjB;gBACD,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB;YACD,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;YAClC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS;YAChC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS;SACjC,CAAC;QAEF,MAAM,OAAO,GAIT,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9D,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QAC1C,IAAI,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;QAE7D,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,uBAAuB,CACvD,GAAG,CAAC,EAAE,EACN,GAAG,CAAC,UAAU,EACd,OAAO;QACP,uEAAuE;QACvE,+DAA+D;QAC/D;YACE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;SACnE,CACF,CAAC;QACF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,KAAK,EACH,OAAO,GAAG,CAAC,EAAE,gDAAgD;oBAC7D,4DAA4D;oBAC5D,oBAAoB;gBACtB,KAAK,EAAE,OAAO;aACf,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAClC,OAAO;YACL,EAAE,EAAE,CAAC,MAAM;YACX,cAAc,EAAE,OAAO,CAAC,EAAE;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,OAAO;YACd,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,uEAAuE;YACvE,gEAAgE;YAChE,KAAK,EACH,KAAK,CAAC,MAAM,KAAK,CAAC;gBAChB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,UAAU,EAAE,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;iBAC7C,CAAC,CAAC;gBACL,CAAC,CAAC,SAAS;SAChB,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,kFAAkF;AAClF,SAAS,gBAAgB,CAAC,QAA6B;IACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC;IAC5C,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QACrC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAuC;QAC5D,IAAI,EAAE;YACJ,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC9B;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,iBAAiB,CAC9B,MAAc,EACd,QAA6B,EAC7B,MAA+B;IAE/B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACzD,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CACjD,kCAAkC,CACnC,CAAC;IAEF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC5C,IAAI,SAAS,CAAC,UAAU;YAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;YAC1B,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAqC,EAAE,CAAC;IACtD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAE1C,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE3D,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG;YACtB,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAChC,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,IAAI;aAClB,CAAC,CAAC;YACH,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACnC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,IAAI;aACnB,CAAC,CAAC;YACH,SAAS,EAAE,EAAE,CAAC,SAAS;SACxB,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,wEAAwE;AACxE,MAAM,CAAC,MAAM,gBAAgB,GAAgC;IAC3D,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,SAAS;IACT,OAAO;IACP,SAAS;CACV,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAqB;IACtC,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,gBAAgB;CAC1B,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"apps.js","sourceRoot":"","sources":["../../src/capabilities/apps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,aAAa,EACb,WAAW,EACX,aAAa,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAM7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,QAAQ,GAAqB;IACjC,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC;QAClC,IAAI,CAAC,QAAQ;YAAE,OAAO,eAAe,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,EAAE,mBAAmB,EAAE,GAC3B,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;QACjD,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAC9C,4BAA4B,CAC7B,CAAC;QACF,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC;YACH,OAAO,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;gBACzD,oEAAoE;gBACpE,mEAAmE;gBACnE,kEAAkE;gBAClE,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,YAAY,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE;oBAChE,OAAO;oBACP,cAAc,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC;iBACxD,CAAC,CAAC,KAAK,CAAC;aACV,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAEF;;;;;;GAMG;AACH,KAAK,UAAU,YAAY,CAAC,MAAc,EAAE,EAAU;IACpD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3C,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAChD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,QAAQ,GAAqB;IACjC,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC1B,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;QACxE,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACrB,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;gBAClC,OAAO;oBACL,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;oBAClC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChE,UAAU,EAAE,GAAG,CAAC,UAAU;iBAC3B,CAAC;YACJ,CAAC,CAAC;SACH,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,GAAqB;IAC/B,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC1B,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC;QAC3E,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;YAClC,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,QAAQ,EAAE,GAAG,CAAC,UAAU,EAAE;SAC3B,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,SAAS,GAAqB;IAClC,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC1B,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC;QAC3E,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC;CACF,CAAC;AAEF,MAAM,SAAS,GAAqB;IAClC,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACpC,OAAO,EAAE,KAAK,EAAE,kDAAkD,EAAE,CAAC;QACvE,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACtE,MAAM,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CACpE,0BAA0B,CAC3B,CAAC;QAEF,IAAI,QAA6B,CAAC;QAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,EAAE,KAAK,EAAE,+CAA+C,EAAE,CAAC;YACpE,CAAC;YACD,QAAQ,GAAG,MAAM,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,kEAAkE;YAClE,oEAAoE;YACpE,qEAAqE;YACrE,2DAA2D;YAC3D,QAAQ,GAAG,mBAAmB,EAAE,CAAC;YACjC,MAAM,cAAc,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAClD,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,cAAc,EAAE,CAAC;gBAC/C,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;gBAC7D,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,EAAE,KAAK,EAAE,YAAY,cAAc,iBAAiB,EAAE,CAAC;gBAChE,CAAC;gBACD,kEAAkE;gBAClE,mEAAmE;gBACnE,QAAQ,CAAC,UAAU,GAAG;oBACpB;wBACE,EAAE,EAAE,MAAM;wBACV,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,QAAQ,CAAC,EAAE;wBACvB,MAAM,EAAE,EAAE;wBACV,OAAO,EAAE,EAAE;wBACX,MAAM,EAAE,SAAS;qBAClB;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC;YACzC,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,SAAS;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YACjB,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;YACrD,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;SACnC,CAAC,CAAC;QAEH,OAAO;YACL,EAAE,EAAE,IAAI;YACR,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,cAAc,EAAE,GAAG,CAAC,EAAE;YACtB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;SACjE,CAAC;IACJ,CAAC;CACF,CAAC;AAQF,SAAS,UAAU,CAAC,GAAY;IAC9B,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,kDAAkD,EAAE,CAAC;IACvE,CAAC;IACD,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7D,OAAO,EAAE,KAAK,EAAE,SAAS,KAAK,0BAA0B,EAAE,CAAC;QAC7D,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CACvC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,CAC3C,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO;gBACL,KAAK,EAAE,SAAS,KAAK,yBAAyB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC;aACjG,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,KAAK,EAAE,SAAS,KAAK,4BAA4B,EAAE,CAAC;QAC/D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,OAAO,GAAqB;IAChC,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC;QAE3E,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC;QAC/C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC3C,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,QAAQ,KAAK,GAAG,CAAC,UAAU,EAAE,CAAC;YAClE,OAAO;gBACL,KAAK,EACH,OAAO,GAAG,CAAC,EAAE,8CAA8C;oBAC3D,4DAA4D;oBAC5D,oBAAoB;aACvB,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QACvE,MAAM,EAAE,eAAe,EAAE,qBAAqB,EAAE,GAC9C,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAEvC,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACpE,uEAAuE;QACvE,uEAAuE;QACvE,0DAA0D;QAC1D,MAAM,cAAc,GAClB,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC;YAC3D,EAAE,UAAU,IAAI,QAAQ,CAAC;QAE7B,MAAM,MAAM,GAAG,mBAAmB,CAAC;YACjC,UAAU,EAAE,cAAc;YAC1B,QAAQ,EAAE,SAAS,CAAC,cAAc,CAAC;YACnC,SAAS;SACV,CAAC,CAAC;QACH,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEhD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACtE,6EAA6E;QAC7E,4EAA4E;QAC5E,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC1C,CAAC,CAAC,IAAI,CAAC,IAAI;gBACX,CAAC,CAAC,UAAU,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,SAAS;YACX,CAAC;YACD,IAAI,CAAC;gBACH,qBAAqB,CAAC,IAAI,CAAC,UAAU,EAAE;oBACrC,GAAG,IAAI,CAAC,KAAK;oBACb,cAAc,EAAE,GAAG,CAAC,EAAE;iBACvB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,SAAS,KAAK,MAAM,IAAI,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBAC9F,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAA8B,EAAE,CAAC;QAC9C,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC1C,CAAC,CAAC,IAAI,CAAC,IAAI;gBACX,CAAC,CAAC,UAAU,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,6BAA6B,IAAI,CAAC,IAAI,GAAG;iBACjD,CAAC,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC;gBACd,SAAS;YACX,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;oBAChC,GAAG,IAAI,CAAC,KAAK;oBACb,cAAc,EAAE,GAAG,CAAC,EAAE;iBACvB,CAAC,CAAC;gBACH,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC;gBACpD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;gBACtD,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,MAAM,GAAG,IAAI,CAAC;gBAChB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,IAAI;oBACV,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChD,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1B,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACjC,CAAC;QACD,MAAM,IAAI,GAAwB;YAChC,GAAG,QAAQ;YACX,EAAE,EAAE;gBACF,GAAG,QAAQ,CAAC,EAAE;gBACd,IAAI,EAAE;oBACJ,GAAG,QAAQ,CAAC,EAAE,CAAC,IAAI;oBACnB,KAAK,EAAE,SAAS;iBACjB;gBACD,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB;YACD,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;YAClC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS;YAChC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS;SACjC,CAAC;QAEF,MAAM,OAAO,GAIT,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9D,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QAC1C,IAAI,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;QAE7D,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,uBAAuB,CACvD,GAAG,CAAC,EAAE,EACN,GAAG,CAAC,UAAU,EACd,OAAO;QACP,uEAAuE;QACvE,+DAA+D;QAC/D;YACE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;SACnE,CACF,CAAC;QACF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,KAAK,EACH,OAAO,GAAG,CAAC,EAAE,gDAAgD;oBAC7D,4DAA4D;oBAC5D,oBAAoB;gBACtB,KAAK,EAAE,OAAO;aACf,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAClC,OAAO;YACL,EAAE,EAAE,CAAC,MAAM;YACX,cAAc,EAAE,OAAO,CAAC,EAAE;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,OAAO;YACd,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,uEAAuE;YACvE,gEAAgE;YAChE,KAAK,EACH,KAAK,CAAC,MAAM,KAAK,CAAC;gBAChB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,UAAU,EAAE,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;iBAC7C,CAAC,CAAC;gBACL,CAAC,CAAC,SAAS;SAChB,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,kFAAkF;AAClF,SAAS,gBAAgB,CAAC,QAA6B;IACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC;IAC5C,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QACrC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAuC;QAC5D,IAAI,EAAE;YACJ,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC9B;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,iBAAiB,CAC9B,MAAc,EACd,QAA6B,EAC7B,MAA+B;IAE/B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACzD,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CACjD,kCAAkC,CACnC,CAAC;IAEF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC5C,IAAI,SAAS,CAAC,UAAU;YAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;YAC1B,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAqC,EAAE,CAAC;IACtD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAE1C,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACzB,EAAE;QACF,QAAQ,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;KAC1C,CAAC,CAAC,CACJ,CAAC;IAEF,KAAK,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,SAAS,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/B,QAAQ,CAAC,EAAE,CAAC,GAAG;YACb,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAChC,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,IAAI;aAClB,CAAC,CAAC;YACH,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACnC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,IAAI;aACnB,CAAC,CAAC;YACH,SAAS,EAAE,EAAE,CAAC,SAAS;SACxB,CAAC;QACF,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,wEAAwE;AACxE,MAAM,CAAC,MAAM,gBAAgB,GAAgC;IAC3D,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,SAAS;IACT,OAAO;IACP,SAAS;CACV,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAqB;IACtC,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,gBAAgB;CAC1B,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"apps.specs.d.ts","sourceRoot":"","sources":["../../src/capabilities/apps.specs.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGvD,eAAO,MAAM,gBAAgB,EAAE,UAgD9B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,cA0B1B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,cAkB1B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,cAcxB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,cAe3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,UA0B/B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,cAe3B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,UA6C7B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,cAmBzB,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,SAAS,EAAE,SAAS,cAAc,EAO9C,CAAC"}
1
+ {"version":3,"file":"apps.specs.d.ts","sourceRoot":"","sources":["../../src/capabilities/apps.specs.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGvD,eAAO,MAAM,gBAAgB,EAAE,UAgD9B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,cA0B1B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,cAkB1B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,cAcxB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,cAe3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,UA0B/B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,cAe3B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,UA+C7B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,cAoBzB,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,SAAS,EAAE,SAAS,cAAc,EAO9C,CAAC"}
@@ -181,10 +181,11 @@ export const EDIT_APP_SCHEMA = {
181
181
  },
182
182
  input: {
183
183
  type: "object",
184
- description: "That tool's arguments"
184
+ description: "That tool's arguments. Example: {tool: 'ui_app_set_title', input: {title: 'My app'}}."
185
185
  }
186
186
  },
187
- required: ["tool"]
187
+ required: ["tool", "input"],
188
+ additionalProperties: false
188
189
  },
189
190
  description: "The edits to apply, in order. They run against the saved " +
190
191
  "document and the result is saved once, at the end."
@@ -210,7 +211,8 @@ export const editAppSpec = {
210
211
  name: "edit_app",
211
212
  description: "Edit a mini APP by driving the App Builder tools headlessly: place " +
212
213
  "and wire widgets, declare operations, variables and resources. Each " +
213
- "step names one `ui_app_*` tool and its arguments; they apply in order " +
214
+ "step is {tool: 'ui_app_set_title', input: {title: 'My app'}}. " +
215
+ "Use input for each tool's arguments. Malformed arguments reject the batch before edits. Valid steps apply in order " +
214
216
  "to the saved document, which is written back once at the end. Call it " +
215
217
  "with no steps to read the tool catalog and the app's current state. " +
216
218
  "Check the result with debug_app({run: false}) — free and instant — " +
@@ -1 +1 @@
1
- {"version":3,"file":"apps.specs.js","sourceRoot":"","sources":["../../src/capabilities/apps.specs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apps.specs.js","sourceRoot":"","sources":["../../src/capabilities/apps.specs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"game-asset-browser.d.ts","sourceRoot":"","sources":["../../src/capabilities/game-asset-browser.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA8DhD,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAmD1G"}
1
+ {"version":3,"file":"game-asset-browser.d.ts","sourceRoot":"","sources":["../../src/capabilities/game-asset-browser.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAmEhD,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAmD1G"}
@@ -77,7 +77,12 @@ async function candidateBinding(run, draft, digest, slot) {
77
77
  return { error: "A collider candidate needs the record staging wrote; restage it with generate_game_asset" };
78
78
  }
79
79
  if (is3D && candidate.mediaKind === "image") {
80
- return { error: "3D games use model assets with embedded textures" };
80
+ const { prepareGameImage3D } = await importPack("game", "@nodetool-ai/game-renderer/preparation3d");
81
+ const prepared = await prepareGameImage3D(bytes, { assetId: `staged:${digest}`, expectedDigest: digest, signal: run.context.signal });
82
+ if (!prepared.ok) {
83
+ return { error: prepared.diagnostics.map((issue) => issue.message).join("; ") };
84
+ }
85
+ return { candidate: summary, binding: prepared.image.binding };
81
86
  }
82
87
  const previous = slot ? draft.document.assets[slot] : undefined;
83
88
  const legacy = await derivedStagedBinding2D(bytes, candidate, previous && "pivot" in previous ? previous : undefined);
@@ -1 +1 @@
1
- {"version":3,"file":"game-asset-browser.js","sourceRoot":"","sources":["../../src/capabilities/game-asset-browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"game-asset-browser.js","sourceRoot":"","sources":["../../src/capabilities/game-asset-browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD;;;;;;;GAOG;AAEH,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,eAAe,EACzC,MAAM,uBAAuB,CAAC;AACtG,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGlE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,MAAM,KAAK,GAAG,uBAAuB,CAAC;AAUtC,KAAK,UAAU,QAAQ,CAAC,GAAkB,EAAE,EAAW;IACrD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;IAChC,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IACrD,IAAI,IAAiB,CAAC;IACtB,IAAI,CAAC;QAAC,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAAC,CAAC;IAC9C,OAAO,KAAK,EAAE,CAAC;QAAC,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QAAC,MAAM,KAAK,CAAC;IAAC,CAAC;IAC1F,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAChF,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1D,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAChE,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC,SAAS,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAChC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC7D,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACzH,CAAC;AAED,gGAAgG;AAChG,KAAK,UAAU,gBAAgB,CAAC,GAAkB,EAAE,KAAgB,EAAE,MAAc,EAAE,IAAwB;IAE5G,MAAM,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,GAAG,MAAM,UAAU,CAA2C,MAAM,EAAE,yBAAyB,CAAC,CAAC;IAC3J,MAAM,SAAS,GAAG,CAAC,MAAM,wBAAwB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IACrI,IAAI,CAAC,SAAS,EAAE,CAAC;QAAC,OAAO,EAAE,KAAK,EAAE,qCAAqC,EAAE,CAAC;IAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI;QAC/H,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IACnE,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,aAAa,KAAK,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3C,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,MAAM,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC1H,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAAC,CAAC;IAC9E,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,KAAK,EAAE,CAAC;QAAC,OAAO,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAC;IAAC,CAAC;IAC3E,IAAI,SAAS,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,EAAE,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC;QAAC,CAAC;QACtE,MAAM,EAAE,yBAAyB,EAAE,GAAG,MAAM,UAAU,CAA4D,MAAM,EAAE,0CAA0C,CAAC,CAAC;QACtK,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7I,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAAC,CAAC;QACtG,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC3D,CAAC;IACD,IAAI,SAAS,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QAAC,OAAO,EAAE,KAAK,EAAE,0FAA0F,EAAE,CAAC;IAAC,CAAC;IACzJ,IAAI,IAAI,IAAI,SAAS,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QAC5C,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,UAAU,CAA4D,MAAM,EAAE,0CAA0C,CAAC,CAAC;QAC/J,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACtI,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAAC,CAAC;QACtG,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IACjE,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChE,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,SAAS,EAC1D,QAAQ,IAAI,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAwD,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC1G,IAAI,CAAC,IAAI,EAAE,CAAC;QAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,CAAC;IAC9D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAC;IACnG,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7E,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,2CAA2C,EAAE,CAAC;AAChI,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAkB,EAAE,IAA6B;IACtF,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK,EAAE,CAAC;QAAC,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAAC,CAAC;IACzD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,0CAA0C,EAAE,CAAC;QAAC,CAAC;QACnI,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAChE,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YAAC,OAAO,MAAM,CAAC;QAAC,CAAC;QACzC,OAAO,EAAE,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,cAAc,EAAE,GAAG,MAAM;YACjG,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,sDAAsD,IAAI,sCAAsC,CAAC,CAAC,CAAC,oCAAoC,EAAE,CAAC;IAC3J,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAA+B,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACxF,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,MAAM,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,GAAG,MAAM,UAAU,CAA2C,MAAM,EAAE,yBAAyB,CAAC,CAAC;IACrJ,MAAM,UAAU,GAAG,MAAM,wBAAwB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3F,MAAM,aAAa,GAAG,IAAI,GAAG,EAAoB,CAAC;IAClD,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACzE,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/F,CAAC;IACD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1I,MAAM,YAAY,GAA4C,EAAE,CAAC;IACjE,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YACxB,MAAM,WAAW,GAA4B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;gBAC7H,MAAM,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;YACpF,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;gBAAC,WAAW,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;YAAC,CAAC;YAC/E,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;QACzC,CAAC;IACH,CAAC;IACD,OAAO;QACL,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;QAC3D,gBAAgB,EAAE,KAAK,CAAC,cAAc;QACtC,sBAAsB,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY;QAC/C,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1F,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI;YACjH,WAAW,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;YACzG,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;SACtH,CAAC,CAAC;QACH,aAAa,EAAE,YAAY;KAC5B,CAAC;AACJ,CAAC"}
@@ -46,7 +46,7 @@ export type NativeGameBuildResult = {
46
46
  };
47
47
  /**
48
48
  * Builds an owned, published game revision into its project workspace: a static web player under
49
- * `game-builds/<game-id>/<revision>`, or a Tauri desktop project under `game-builds/<game-id>/<revision>-tauri-<settings>`.
49
+ * `game-builds/<game-id>/<revision>-<target>-<runtime-fingerprint>`.
50
50
  * The capability and the editor's export download share this path.
51
51
  */
52
52
  export declare function buildOwnedNativeGame(request: NativeGameBuildRequest): Promise<NativeGameBuildResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"game.d.ts","sourceRoot":"","sources":["../../src/capabilities/game.ts"],"names":[],"mappings":"AAMA,OAAO,EAA4D,IAAI,EAAkC,MAAM,qBAAqB,CAAC;AACrI,OAAO,EAAmM,KAAK,eAAe,IAAI,YAAY,EAAE,KAAK,YAAY,IAAI,kBAAkB,EAAE,KAAK,cAAc,EAA6C,MAAM,uBAAuB,CAAC;AAIvX,OAAO,EAAc,KAAK,SAAS,IAAI,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACvG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,KAAK,EAAoB,gBAAgB,EAAiB,MAAM,YAAY,CAAC;AA+XpF,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,kBAAkB,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AACxL,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,SAAS,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAC5M,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,SAAS,EAAE,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAkmB/M,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,OAAO,CAAC;AAEpD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1B;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC3H,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACxF,yFAAyF;IACzF,QAAQ,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAAA;CAAE,CAAC;AAS5C;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAuH1G;AAmID,eAAO,MAAM,MAAM,EAAE,gBAMpB,CAAC"}
1
+ {"version":3,"file":"game.d.ts","sourceRoot":"","sources":["../../src/capabilities/game.ts"],"names":[],"mappings":"AAMA,OAAO,EAA4D,IAAI,EAAkC,MAAM,qBAAqB,CAAC;AACrI,OAAO,EAAmM,KAAK,eAAe,IAAI,YAAY,EAAE,KAAK,YAAY,IAAI,kBAAkB,EAAE,KAAK,cAAc,EAA6C,MAAM,uBAAuB,CAAC;AAIvX,OAAO,EAAc,KAAK,SAAS,IAAI,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACvG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,KAAK,EAAoB,gBAAgB,EAAiB,MAAM,YAAY,CAAC;AAiYpF,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,kBAAkB,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AACxL,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,SAAS,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAC5M,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,SAAS,EAAE,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAimB/M,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,OAAO,CAAC;AAEpD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1B;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC3H,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACxF,yFAAyF;IACzF,QAAQ,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAAA;CAAE,CAAC;AAS5C;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA2I1G;AAoID,eAAO,MAAM,MAAM,EAAE,gBAMpB,CAAC"}
@@ -12,12 +12,14 @@ import { assetKeyCandidates, assetObjectKey } from "@nodetool-ai/storage";
12
12
  import { loadCanvas } from "@nodetool-ai/runtime";
13
13
  import { gameOutline3D, inputFrames3D, playtestGame3D, captureFrames3D, colliderBinding3D, stageModelGameAsset3D } from "./game3d.js";
14
14
  import { gameSpecs } from "./game.specs.js";
15
+ import { gameAssertions2D } from "./gameAssertions.js";
15
16
  import { persistOutput } from "../tools/asset-persist.js";
16
17
  import { getExampleGameBundle, installExampleGameAssets, listExampleGames } from "../game-examples.js";
17
18
  import { previewGameAuthoring, applyGameAuthoring } from "../game-authoring.js";
18
19
  import { gameDocumentDigest } from "../game-code-bake.js";
19
20
  import { previewGameAuthoringSpec, applyGameAuthoringSpec, browseGameAssetsSpec } from "./game.specs.js";
20
21
  import { browseGameAssets } from "./game-asset-browser.js";
22
+ import { GAME_BUILD_INTEGRITY_FILE, gameBuildIntegrityManifest, verifiedGameBuildCache } from "../game-build-integrity.js";
21
23
  const log = createLogger("capabilities.game");
22
24
  const MAX_PLAYTEST_TICKS = MAX_GAME_ROUTE_TICKS;
23
25
  const MAX_CAPTURE_FRAMES = 8;
@@ -741,13 +743,14 @@ const playtest = {
741
743
  const captures = captureTicks(args["capture_ticks"], []);
742
744
  if ("error" in captures)
743
745
  return captures;
744
- const assertions = Array.isArray(args["assertions"]) ? args["assertions"] : [];
745
- const assertionHorizon = assertions.reduce((maximum, item) => {
746
- if (!item || typeof item !== "object")
747
- return maximum;
748
- const assertion = item;
749
- const tick = assertion.at_tick ?? assertion.before_tick;
750
- return typeof tick === "number" && Number.isSafeInteger(tick) && tick >= 0 ? Math.max(maximum, tick) : maximum;
746
+ const parsedAssertions = gameAssertions2D.safeParse(args["assertions"] === undefined ? [] : args["assertions"]);
747
+ if (!parsedAssertions.success) {
748
+ return { error: "Invalid 2D assertions", diagnostics: parsedAssertions.error.issues };
749
+ }
750
+ const assertions = parsedAssertions.data;
751
+ const assertionHorizon = assertions.reduce((maximum, assertion) => {
752
+ const tick = "at_tick" in assertion ? assertion.at_tick : "before_tick" in assertion ? assertion.before_tick : undefined;
753
+ return Math.max(maximum, tick ?? 0);
751
754
  }, 0);
752
755
  const inputs = inputFrames(args["inputs"], Math.max(0, ...captures, assertionHorizon));
753
756
  if ("error" in inputs)
@@ -758,11 +761,7 @@ const playtest = {
758
761
  const session = await createScriptedGameSession(document, seed);
759
762
  const events = [];
760
763
  const contacts = new Map();
761
- const inspectionTicks = new Set(assertions.flatMap((item) => {
762
- if (!item || typeof item !== "object" || !("at_tick" in item))
763
- return [];
764
- return typeof item.at_tick === "number" ? [item.at_tick] : [];
765
- }));
764
+ const inspectionTicks = new Set(assertions.flatMap((assertion) => "at_tick" in assertion && assertion.at_tick !== undefined ? [assertion.at_tick] : []));
766
765
  let state = session.inspect();
767
766
  const inspections = new Map([[0, state]]);
768
767
  const started = Date.now();
@@ -809,32 +808,27 @@ const playtest = {
809
808
  }
810
809
  }
811
810
  }
812
- const assertion_results = assertions.map((item) => {
813
- if (!item || typeof item !== "object")
814
- return { passed: false, error: "Invalid assertion" };
815
- const assertion = item;
816
- if (assertion.no_script_errors === true)
811
+ const assertion_results = assertions.map((assertion) => {
812
+ if ("no_script_errors" in assertion) {
817
813
  return { passed: scriptError === null, assertion, observed: scriptError };
818
- if (typeof assertion.event === "string") {
814
+ }
815
+ if ("event" in assertion) {
819
816
  const observed = events.find((event) => {
820
- if (typeof event !== "object" || event === null || !("kind" in event))
817
+ if (typeof event !== "object" || event === null || !("kind" in event)) {
821
818
  return false;
822
- if (event.kind === assertion.event)
819
+ }
820
+ if (event.kind === assertion.event) {
823
821
  return true;
822
+ }
824
823
  return event.kind === "trigger" && "event" in event && (event.event === assertion.event || assertion.event === "win" && event.event === "victory");
825
824
  });
826
825
  const tick = typeof observed === "object" && observed !== null && "tick" in observed && typeof observed.tick === "number" ? observed.tick : Infinity;
827
- return { passed: observed !== undefined && (typeof assertion.before_tick !== "number" || tick <= assertion.before_tick), assertion, observed: observed ?? null };
828
- }
829
- if (typeof assertion.entity_id === "string" && assertion.near && typeof assertion.near === "object") {
830
- const near = assertion.near;
831
- const observed = typeof assertion.at_tick === "number" ? inspections.get(assertion.at_tick) : state;
832
- const entity = observed?.entities.find((candidate) => candidate.id === assertion.entity_id);
833
- const tolerance = typeof near.tolerance === "number" ? near.tolerance : 0;
834
- const passed = !!entity && typeof near.x === "number" && typeof near.y === "number" && Math.hypot(entity.x - near.x, entity.y - near.y) <= tolerance;
835
- return { passed, assertion, observed: entity ?? null };
826
+ return { passed: observed !== undefined && (assertion.before_tick === undefined || tick <= assertion.before_tick), assertion, observed: observed ?? null };
836
827
  }
837
- return { passed: false, assertion, error: "Unsupported assertion" };
828
+ const observed = assertion.at_tick === undefined ? state : inspections.get(assertion.at_tick);
829
+ const entity = observed?.entities.find((candidate) => candidate.id === assertion.entity_id);
830
+ const passed = !!entity && Math.hypot(entity.x - assertion.near.x, entity.y - assertion.near.y) <= (assertion.near.tolerance ?? 0);
831
+ return { passed, assertion, observed: entity ?? null };
838
832
  });
839
833
  const images = captures.length && scriptError === null && !cancelled && !wallTimeLimited && state.tick === inputs.length
840
834
  ? await captureFrames(run, user, document, captures, inputs, seed, { sheet: true, deadlineAt: started + 15_000 })
@@ -1240,7 +1234,7 @@ const BUILD_CONTENT_TYPES = {
1240
1234
  };
1241
1235
  /**
1242
1236
  * Builds an owned, published game revision into its project workspace: a static web player under
1243
- * `game-builds/<game-id>/<revision>`, or a Tauri desktop project under `game-builds/<game-id>/<revision>-tauri-<settings>`.
1237
+ * `game-builds/<game-id>/<revision>-<target>-<runtime-fingerprint>`.
1244
1238
  * The capability and the editor's export download share this path.
1245
1239
  */
1246
1240
  export async function buildOwnedNativeGame(request) {
@@ -1270,27 +1264,43 @@ export async function buildOwnedNativeGame(request) {
1270
1264
  if ([...expectedDigests.values()].some((digests) => digests.size !== 1)) {
1271
1265
  return { error: "One source asset has conflicting digests in this revision" };
1272
1266
  }
1273
- let buildPath = `game-builds/${game.id}/${revision}`;
1274
- let entryPath = `${buildPath}/index.html`;
1275
1267
  let tauriApp;
1276
1268
  let metadata;
1277
- if (target === "tauri") {
1278
- tauriApp = { name: game.name };
1279
- const { tauriAppMetadata } = await importPack("game", "@nodetool-ai/game-renderer/build-tauri");
1280
- try {
1281
- metadata = tauriAppMetadata(document, tauriApp);
1269
+ let fingerprint;
1270
+ try {
1271
+ request.signal?.throwIfAborted();
1272
+ if (target === "tauri") {
1273
+ tauriApp = { name: game.name };
1274
+ const renderer = await importPack("game", "@nodetool-ai/game-renderer/build-tauri");
1275
+ metadata = renderer.tauriAppMetadata(document, tauriApp);
1276
+ fingerprint = await renderer.tauriGameRuntimeFingerprint(document, tauriApp);
1282
1277
  }
1283
- catch (error) {
1284
- return { error: error instanceof Error ? error.message : String(error) };
1278
+ else if (document.schemaVersion === 3) {
1279
+ const renderer = await importPack("game", "@nodetool-ai/game-renderer/build3d");
1280
+ fingerprint = await renderer.standaloneGame3DRuntimeFingerprint();
1285
1281
  }
1286
- // The app name comes from the game row, which can change without a new revision.
1287
- const settings = createHash("sha256").update(JSON.stringify(metadata)).digest("hex").slice(0, 12);
1288
- buildPath = `game-builds/${game.id}/${revision}-tauri-${settings}`;
1289
- entryPath = `${buildPath}/src-tauri/tauri.conf.json`;
1282
+ else {
1283
+ const renderer = await importPack("game", "@nodetool-ai/game-renderer/build");
1284
+ fingerprint = await renderer.standaloneGameRuntimeFingerprint();
1285
+ }
1286
+ request.signal?.throwIfAborted();
1287
+ }
1288
+ catch (error) {
1289
+ return { error: error instanceof Error ? error.message : String(error) };
1290
1290
  }
1291
+ const buildPath = `game-builds/${game.id}/${revision}-${target}-${fingerprint}`;
1292
+ const entryFile = target === "web" ? "index.html" : "src-tauri/tauri.conf.json";
1293
+ const entryPath = `${buildPath}/${entryFile}`;
1291
1294
  const done = { game_id: game.id, revision, target, build_path: buildPath, entry_path: entryPath, workspace, app: metadata ?? null };
1292
- if (await workspace.exists(entryPath)) {
1293
- return { ...done, cached: true };
1295
+ try {
1296
+ const cached = await verifiedGameBuildCache(workspace, buildPath, fingerprint, entryFile, { files: MAX_BUILD_FILES, bytes: MAX_BUILD_BYTES }, request.signal);
1297
+ request.signal?.throwIfAborted();
1298
+ if (cached) {
1299
+ return { ...done, cached: true };
1300
+ }
1301
+ }
1302
+ catch (error) {
1303
+ return { error: error instanceof Error ? error.message : String(error) };
1294
1304
  }
1295
1305
  const storage = request.storage;
1296
1306
  const cache = new Map();
@@ -1342,7 +1352,7 @@ export async function buildOwnedNativeGame(request) {
1342
1352
  }
1343
1353
  else {
1344
1354
  const { buildStandaloneGame } = await importPack("game", "@nodetool-ai/game-renderer/build");
1345
- await buildStandaloneGame({ document, outputDir: output, resolveAsset });
1355
+ await buildStandaloneGame({ document, outputDir: output, resolveAsset, signal: request.signal });
1346
1356
  }
1347
1357
  const files = [];
1348
1358
  const pending = [""];
@@ -1364,16 +1374,20 @@ export async function buildOwnedNativeGame(request) {
1364
1374
  }
1365
1375
  }
1366
1376
  }
1367
- const entryFile = entryPath.slice(buildPath.length + 1);
1368
1377
  const entry = files.find((file) => file.path === entryFile);
1369
1378
  if (!entry)
1370
1379
  throw new Error("Standalone build entry is missing");
1380
+ const integrity = gameBuildIntegrityManifest(buildPath, fingerprint, entryFile, files);
1381
+ if (files.length + 1 > MAX_BUILD_FILES || totalBytes + Buffer.byteLength(integrity) > MAX_BUILD_BYTES) {
1382
+ throw new Error("Standalone build exceeds file or byte limits");
1383
+ }
1371
1384
  const contentType = (path) => BUILD_CONTENT_TYPES[path.slice(path.lastIndexOf(".") + 1)] ?? "application/octet-stream";
1372
- // The entry file is written last, so its presence marks a complete build for the cache check above.
1385
+ // Publish the integrity manifest only after all of its files have been written successfully.
1373
1386
  for (const file of files.filter((item) => item !== entry)) {
1374
1387
  await workspace.write(`${buildPath}/${file.path}`, file.bytes, contentType(file.path));
1375
1388
  }
1376
1389
  await workspace.write(entryPath, entry.bytes, contentType(entry.path));
1390
+ await workspace.write(`${buildPath}/${GAME_BUILD_INTEGRITY_FILE}`, integrity, "application/json");
1377
1391
  return { ...done, cached: false };
1378
1392
  }
1379
1393
  catch (error) {
@@ -1460,18 +1474,19 @@ const installExample = {
1460
1474
  if (!getExampleGameBundle({}, slug))
1461
1475
  return { error: "Example game not found" };
1462
1476
  const installed = await installExampleGameAssets(user, projectId, {}, slug, storage);
1477
+ let created;
1463
1478
  try {
1464
- const created = await createNativeGame(user, projectId, typeof name === "string" ? name.trim() : installed.bundle.name, installed.document, installed.document.schemaVersion === 3 ? "3d" : "2d");
1465
- if ("error" in created) {
1466
- await installed.rollback();
1467
- return created;
1468
- }
1469
- return { game: summary(created.game), document: created.document };
1479
+ created = await createNativeGame(user, projectId, typeof name === "string" ? name.trim() : installed.bundle.name, installed.document, installed.document.schemaVersion === 3 ? "3d" : "2d");
1470
1480
  }
1471
1481
  catch (error) {
1472
- await installed.rollback();
1482
+ await installed.rollback(error);
1473
1483
  throw error;
1474
1484
  }
1485
+ if ("error" in created) {
1486
+ await installed.rollback(new Error(created.error));
1487
+ return created;
1488
+ }
1489
+ return { game: summary(created.game), document: created.document };
1475
1490
  }
1476
1491
  };
1477
1492
  const autoplay = {