@nodetool-ai/agents 0.8.2 → 0.8.4-a24.1

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 (323) hide show
  1. package/dist/.nodetool-build-stamp +1 -1
  2. package/dist/apify/assets.d.ts.map +1 -1
  3. package/dist/apify/assets.js +4 -0
  4. package/dist/apify/assets.js.map +1 -1
  5. package/dist/capabilities/agent-activity.js +1 -1
  6. package/dist/capabilities/agentic-storyboard-finish.d.ts.map +1 -1
  7. package/dist/capabilities/agentic-storyboard-finish.js +2 -1
  8. package/dist/capabilities/agentic-storyboard-finish.js.map +1 -1
  9. package/dist/capabilities/apps.specs.d.ts.map +1 -1
  10. package/dist/capabilities/apps.specs.js +4 -3
  11. package/dist/capabilities/apps.specs.js.map +1 -1
  12. package/dist/capabilities/assets.d.ts.map +1 -1
  13. package/dist/capabilities/assets.js +40 -10
  14. package/dist/capabilities/assets.js.map +1 -1
  15. package/dist/capabilities/code-grading.d.ts +4 -0
  16. package/dist/capabilities/code-grading.d.ts.map +1 -1
  17. package/dist/capabilities/code-grading.js +8 -1
  18. package/dist/capabilities/code-grading.js.map +1 -1
  19. package/dist/capabilities/code.d.ts.map +1 -1
  20. package/dist/capabilities/code.js +13 -7
  21. package/dist/capabilities/code.js.map +1 -1
  22. package/dist/capabilities/collections.d.ts +4 -6
  23. package/dist/capabilities/collections.d.ts.map +1 -1
  24. package/dist/capabilities/collections.js +16 -11
  25. package/dist/capabilities/collections.js.map +1 -1
  26. package/dist/capabilities/derive-shot.d.ts +45 -0
  27. package/dist/capabilities/derive-shot.d.ts.map +1 -0
  28. package/dist/capabilities/derive-shot.js +83 -0
  29. package/dist/capabilities/derive-shot.js.map +1 -0
  30. package/dist/capabilities/dispatcher.js +2 -2
  31. package/dist/capabilities/dispatcher.js.map +1 -1
  32. package/dist/capabilities/documents.d.ts +2 -1
  33. package/dist/capabilities/documents.d.ts.map +1 -1
  34. package/dist/capabilities/documents.js +12 -6
  35. package/dist/capabilities/documents.js.map +1 -1
  36. package/dist/capabilities/email.d.ts +2 -1
  37. package/dist/capabilities/email.d.ts.map +1 -1
  38. package/dist/capabilities/email.js +5 -3
  39. package/dist/capabilities/email.js.map +1 -1
  40. package/dist/capabilities/files.d.ts.map +1 -1
  41. package/dist/capabilities/files.js +3 -7
  42. package/dist/capabilities/files.js.map +1 -1
  43. package/dist/capabilities/files.specs.d.ts.map +1 -1
  44. package/dist/capabilities/files.specs.js +2 -1
  45. package/dist/capabilities/files.specs.js.map +1 -1
  46. package/dist/capabilities/flow.d.ts +3 -0
  47. package/dist/capabilities/flow.d.ts.map +1 -1
  48. package/dist/capabilities/flow.js +7 -0
  49. package/dist/capabilities/flow.js.map +1 -1
  50. package/dist/capabilities/game-asset-browser.d.ts +3 -0
  51. package/dist/capabilities/game-asset-browser.d.ts.map +1 -0
  52. package/dist/capabilities/game-asset-browser.js +153 -0
  53. package/dist/capabilities/game-asset-browser.js.map +1 -0
  54. package/dist/capabilities/game.d.ts +30 -0
  55. package/dist/capabilities/game.d.ts.map +1 -1
  56. package/dist/capabilities/game.js +266 -149
  57. package/dist/capabilities/game.js.map +1 -1
  58. package/dist/capabilities/game.specs.d.ts +2 -0
  59. package/dist/capabilities/game.specs.d.ts.map +1 -1
  60. package/dist/capabilities/game.specs.js +21 -6
  61. package/dist/capabilities/game.specs.js.map +1 -1
  62. package/dist/capabilities/game3d.d.ts.map +1 -1
  63. package/dist/capabilities/game3d.js +24 -10
  64. package/dist/capabilities/game3d.js.map +1 -1
  65. package/dist/capabilities/generations.d.ts.map +1 -1
  66. package/dist/capabilities/generations.js +7 -21
  67. package/dist/capabilities/generations.js.map +1 -1
  68. package/dist/capabilities/invoke.d.ts.map +1 -1
  69. package/dist/capabilities/invoke.js +15 -2
  70. package/dist/capabilities/invoke.js.map +1 -1
  71. package/dist/capabilities/jobs.d.ts +7 -2
  72. package/dist/capabilities/jobs.d.ts.map +1 -1
  73. package/dist/capabilities/jobs.js +13 -3
  74. package/dist/capabilities/jobs.js.map +1 -1
  75. package/dist/capabilities/lazy-tool-core.d.ts +23 -0
  76. package/dist/capabilities/lazy-tool-core.d.ts.map +1 -0
  77. package/dist/capabilities/lazy-tool-core.js +56 -0
  78. package/dist/capabilities/lazy-tool-core.js.map +1 -0
  79. package/dist/capabilities/lazy-tool.d.ts +2 -21
  80. package/dist/capabilities/lazy-tool.d.ts.map +1 -1
  81. package/dist/capabilities/lazy-tool.js +3 -55
  82. package/dist/capabilities/lazy-tool.js.map +1 -1
  83. package/dist/capabilities/legacy-tools.js +1 -1
  84. package/dist/capabilities/legacy-tools.js.map +1 -1
  85. package/dist/capabilities/media.d.ts.map +1 -1
  86. package/dist/capabilities/media.js +26 -1
  87. package/dist/capabilities/media.js.map +1 -1
  88. package/dist/capabilities/media.specs.d.ts.map +1 -1
  89. package/dist/capabilities/media.specs.js +17 -0
  90. package/dist/capabilities/media.specs.js.map +1 -1
  91. package/dist/capabilities/metadata.d.ts +62 -0
  92. package/dist/capabilities/metadata.d.ts.map +1 -0
  93. package/dist/capabilities/metadata.js +114 -0
  94. package/dist/capabilities/metadata.js.map +1 -0
  95. package/dist/capabilities/model3d.d.ts.map +1 -1
  96. package/dist/capabilities/model3d.js +6 -1
  97. package/dist/capabilities/model3d.js.map +1 -1
  98. package/dist/capabilities/nodes.specs.js +1 -1
  99. package/dist/capabilities/nodes.specs.js.map +1 -1
  100. package/dist/capabilities/registry.d.ts +4 -19
  101. package/dist/capabilities/registry.d.ts.map +1 -1
  102. package/dist/capabilities/registry.js +48 -117
  103. package/dist/capabilities/registry.js.map +1 -1
  104. package/dist/capabilities/run-agent.js +1 -1
  105. package/dist/capabilities/scripts.js +2 -2
  106. package/dist/capabilities/scripts.js.map +1 -1
  107. package/dist/capabilities/settings.d.ts.map +1 -1
  108. package/dist/capabilities/settings.js +4 -2
  109. package/dist/capabilities/settings.js.map +1 -1
  110. package/dist/capabilities/storyboard-layout-check.d.ts.map +1 -1
  111. package/dist/capabilities/storyboard-layout-check.js +2 -1
  112. package/dist/capabilities/storyboard-layout-check.js.map +1 -1
  113. package/dist/capabilities/storyboard-measured-sources.d.ts +1 -1
  114. package/dist/capabilities/storyboard-measured-sources.d.ts.map +1 -1
  115. package/dist/capabilities/storyboard-measured-sources.js +2 -1
  116. package/dist/capabilities/storyboard-measured-sources.js.map +1 -1
  117. package/dist/capabilities/storyboards.d.ts +11 -1
  118. package/dist/capabilities/storyboards.d.ts.map +1 -1
  119. package/dist/capabilities/storyboards.js +467 -5
  120. package/dist/capabilities/storyboards.js.map +1 -1
  121. package/dist/capabilities/storyboards.specs.d.ts +6 -0
  122. package/dist/capabilities/storyboards.specs.d.ts.map +1 -1
  123. package/dist/capabilities/storyboards.specs.js +139 -3
  124. package/dist/capabilities/storyboards.specs.js.map +1 -1
  125. package/dist/capabilities/threads.js +1 -1
  126. package/dist/capabilities/threads.js.map +1 -1
  127. package/dist/capabilities/timeline-asset-ids.d.ts +27 -0
  128. package/dist/capabilities/timeline-asset-ids.d.ts.map +1 -0
  129. package/dist/capabilities/timeline-asset-ids.js +88 -0
  130. package/dist/capabilities/timeline-asset-ids.js.map +1 -0
  131. package/dist/capabilities/timeline-bake.d.ts.map +1 -1
  132. package/dist/capabilities/timeline-bake.js +2 -1
  133. package/dist/capabilities/timeline-bake.js.map +1 -1
  134. package/dist/capabilities/timeline-bridge.d.ts +9 -0
  135. package/dist/capabilities/timeline-bridge.d.ts.map +1 -1
  136. package/dist/capabilities/timeline-bridge.js +60 -68
  137. package/dist/capabilities/timeline-bridge.js.map +1 -1
  138. package/dist/capabilities/timeline-clip-frames.d.ts.map +1 -1
  139. package/dist/capabilities/timeline-clip-frames.js +2 -1
  140. package/dist/capabilities/timeline-clip-frames.js.map +1 -1
  141. package/dist/capabilities/timeline-operations.d.ts +52 -0
  142. package/dist/capabilities/timeline-operations.d.ts.map +1 -0
  143. package/dist/capabilities/timeline-operations.js +413 -0
  144. package/dist/capabilities/timeline-operations.js.map +1 -0
  145. package/dist/capabilities/timelines.d.ts +4 -39
  146. package/dist/capabilities/timelines.d.ts.map +1 -1
  147. package/dist/capabilities/timelines.js +45 -414
  148. package/dist/capabilities/timelines.js.map +1 -1
  149. package/dist/capabilities/timelines.specs.d.ts.map +1 -1
  150. package/dist/capabilities/timelines.specs.js +8 -3
  151. package/dist/capabilities/timelines.specs.js.map +1 -1
  152. package/dist/capabilities/web.d.ts.map +1 -1
  153. package/dist/capabilities/web.js +5 -1
  154. package/dist/capabilities/web.js.map +1 -1
  155. package/dist/capabilities/web.specs.js +1 -1
  156. package/dist/capabilities/web.specs.js.map +1 -1
  157. package/dist/capabilities/workflows.d.ts +3 -23
  158. package/dist/capabilities/workflows.d.ts.map +1 -1
  159. package/dist/capabilities/workflows.js +197 -15
  160. package/dist/capabilities/workflows.js.map +1 -1
  161. package/dist/capabilities/workflows.specs.d.ts +2 -0
  162. package/dist/capabilities/workflows.specs.d.ts.map +1 -1
  163. package/dist/capabilities/workflows.specs.js +65 -1
  164. package/dist/capabilities/workflows.specs.js.map +1 -1
  165. package/dist/codeact/nodetool-api.d.ts +17 -1
  166. package/dist/codeact/nodetool-api.d.ts.map +1 -1
  167. package/dist/codeact/nodetool-api.js +168 -48
  168. package/dist/codeact/nodetool-api.js.map +1 -1
  169. package/dist/codeact/sandbox-packages.d.ts +0 -7
  170. package/dist/codeact/sandbox-packages.d.ts.map +1 -1
  171. package/dist/codeact/sandbox-packages.js +1 -10
  172. package/dist/codeact/sandbox-packages.js.map +1 -1
  173. package/dist/codeact/tool-api.d.ts.map +1 -1
  174. package/dist/codeact/tool-api.js +6 -2
  175. package/dist/codeact/tool-api.js.map +1 -1
  176. package/dist/evals/app-build-plan.d.ts.map +1 -1
  177. package/dist/evals/app-build-plan.js +3 -0
  178. package/dist/evals/app-build-plan.js.map +1 -1
  179. package/dist/evals/codeact-api-core.d.ts.map +1 -1
  180. package/dist/evals/codeact-api-core.js +6 -0
  181. package/dist/evals/codeact-api-core.js.map +1 -1
  182. package/dist/evals/surfaces/creative-pipeline.d.ts +1 -1
  183. package/dist/evals/surfaces/creative-pipeline.d.ts.map +1 -1
  184. package/dist/evals/surfaces/creative-pipeline.js +2 -2
  185. package/dist/evals/surfaces/creative-pipeline.js.map +1 -1
  186. package/dist/evals/surfaces/game.d.ts +9 -2
  187. package/dist/evals/surfaces/game.d.ts.map +1 -1
  188. package/dist/evals/surfaces/game.js +714 -2
  189. package/dist/evals/surfaces/game.js.map +1 -1
  190. package/dist/evals/surfaces/sketch.d.ts +1 -1
  191. package/dist/evals/surfaces/sketch.d.ts.map +1 -1
  192. package/dist/evals/surfaces/sketch.js +6 -13
  193. package/dist/evals/surfaces/sketch.js.map +1 -1
  194. package/dist/evals/tool-loop-eval.d.ts +1 -1
  195. package/dist/evals/tool-loop-eval.d.ts.map +1 -1
  196. package/dist/evals/tool-loop-eval.js +1 -1
  197. package/dist/evals/tool-loop-eval.js.map +1 -1
  198. package/dist/game-authoring.d.ts +18868 -3824
  199. package/dist/game-authoring.d.ts.map +1 -1
  200. package/dist/game-build.d.ts +3 -0
  201. package/dist/game-build.d.ts.map +1 -0
  202. package/dist/game-build.js +3 -0
  203. package/dist/game-build.js.map +1 -0
  204. package/dist/game-examples.d.ts +5310 -1056
  205. package/dist/game-examples.d.ts.map +1 -1
  206. package/dist/generation-cancel.d.ts +31 -0
  207. package/dist/generation-cancel.d.ts.map +1 -0
  208. package/dist/generation-cancel.js +28 -0
  209. package/dist/generation-cancel.js.map +1 -0
  210. package/dist/host-access-gate.d.ts +29 -0
  211. package/dist/host-access-gate.d.ts.map +1 -0
  212. package/dist/host-access-gate.js +39 -0
  213. package/dist/host-access-gate.js.map +1 -0
  214. package/dist/host-modules/dispatcher.d.ts +7 -1
  215. package/dist/host-modules/dispatcher.d.ts.map +1 -1
  216. package/dist/host-modules/dispatcher.js +13 -2
  217. package/dist/host-modules/dispatcher.js.map +1 -1
  218. package/dist/host-modules/docx.d.ts.map +1 -1
  219. package/dist/host-modules/docx.js +2 -2
  220. package/dist/host-modules/docx.js.map +1 -1
  221. package/dist/host-modules/epub.d.ts.map +1 -1
  222. package/dist/host-modules/epub.js +2 -2
  223. package/dist/host-modules/epub.js.map +1 -1
  224. package/dist/host-modules/fabric.d.ts.map +1 -1
  225. package/dist/host-modules/fabric.js +1 -1
  226. package/dist/host-modules/fabric.js.map +1 -1
  227. package/dist/host-modules/limits.d.ts +10 -8
  228. package/dist/host-modules/limits.d.ts.map +1 -1
  229. package/dist/host-modules/limits.js +14 -9
  230. package/dist/host-modules/limits.js.map +1 -1
  231. package/dist/host-modules/mammoth.d.ts.map +1 -1
  232. package/dist/host-modules/mammoth.js +2 -2
  233. package/dist/host-modules/mammoth.js.map +1 -1
  234. package/dist/host-modules/ocr.d.ts.map +1 -1
  235. package/dist/host-modules/ocr.js +1 -1
  236. package/dist/host-modules/ocr.js.map +1 -1
  237. package/dist/host-modules/pdf.d.ts.map +1 -1
  238. package/dist/host-modules/pdf.js +2 -2
  239. package/dist/host-modules/pdf.js.map +1 -1
  240. package/dist/host-modules/pdflib.d.ts.map +1 -1
  241. package/dist/host-modules/pdflib.js +2 -2
  242. package/dist/host-modules/pdflib.js.map +1 -1
  243. package/dist/host-modules/pptx.d.ts.map +1 -1
  244. package/dist/host-modules/pptx.js +2 -2
  245. package/dist/host-modules/pptx.js.map +1 -1
  246. package/dist/host-modules/pptxgen.d.ts.map +1 -1
  247. package/dist/host-modules/pptxgen.js +2 -2
  248. package/dist/host-modules/pptxgen.js.map +1 -1
  249. package/dist/host-modules/tfjs.d.ts.map +1 -1
  250. package/dist/host-modules/tfjs.js +4 -4
  251. package/dist/host-modules/tfjs.js.map +1 -1
  252. package/dist/host-modules/tokens.js +2 -2
  253. package/dist/host-modules/tokens.js.map +1 -1
  254. package/dist/host-modules/xlsx.d.ts.map +1 -1
  255. package/dist/host-modules/xlsx.js +2 -2
  256. package/dist/host-modules/xlsx.js.map +1 -1
  257. package/dist/index.d.ts +3 -0
  258. package/dist/index.d.ts.map +1 -1
  259. package/dist/index.js +4 -0
  260. package/dist/index.js.map +1 -1
  261. package/dist/js-sandbox.d.ts +8 -1
  262. package/dist/js-sandbox.d.ts.map +1 -1
  263. package/dist/js-sandbox.js +27 -4
  264. package/dist/js-sandbox.js.map +1 -1
  265. package/dist/jtbd/registry.d.ts.map +1 -1
  266. package/dist/jtbd/registry.js +16 -3
  267. package/dist/jtbd/registry.js.map +1 -1
  268. package/dist/jtbd/run.d.ts +2 -2
  269. package/dist/jtbd/run.d.ts.map +1 -1
  270. package/dist/jtbd/run.js +3 -3
  271. package/dist/jtbd/run.js.map +1 -1
  272. package/dist/jtbd/types.d.ts +1 -1
  273. package/dist/jtbd/types.d.ts.map +1 -1
  274. package/dist/model-prompting-skills.d.ts +8 -7
  275. package/dist/model-prompting-skills.d.ts.map +1 -1
  276. package/dist/model-prompting-skills.js +35 -16
  277. package/dist/model-prompting-skills.js.map +1 -1
  278. package/dist/sandbox-media.d.ts +1 -1
  279. package/dist/sandbox-media.d.ts.map +1 -1
  280. package/dist/sandbox-media.js +10 -9
  281. package/dist/sandbox-media.js.map +1 -1
  282. package/dist/skill-prompt.d.ts.map +1 -1
  283. package/dist/skill-prompt.js +1 -1
  284. package/dist/skill-prompt.js.map +1 -1
  285. package/dist/system-skills.d.ts +4 -3
  286. package/dist/system-skills.d.ts.map +1 -1
  287. package/dist/system-skills.js +4 -3
  288. package/dist/system-skills.js.map +1 -1
  289. package/dist/task-planner.js +1 -1
  290. package/dist/timeline-code-bake.js +2 -2
  291. package/dist/timeline-code-bake.js.map +1 -1
  292. package/dist/timeline-preview/compare.d.ts.map +1 -1
  293. package/dist/timeline-preview/compare.js +4 -1
  294. package/dist/timeline-preview/compare.js.map +1 -1
  295. package/dist/timeline-preview/frames.d.ts.map +1 -1
  296. package/dist/timeline-preview/frames.js +7 -4
  297. package/dist/timeline-preview/frames.js.map +1 -1
  298. package/dist/timeline-preview/model3d.d.ts +1 -1
  299. package/dist/timeline-preview/model3d.d.ts.map +1 -1
  300. package/dist/timeline-preview/model3d.js +4 -23
  301. package/dist/timeline-preview/model3d.js.map +1 -1
  302. package/dist/timeline-preview/rasterize.d.ts +4 -2
  303. package/dist/timeline-preview/rasterize.d.ts.map +1 -1
  304. package/dist/timeline-preview/rasterize.js +10 -4
  305. package/dist/timeline-preview/rasterize.js.map +1 -1
  306. package/dist/timeline-preview/sheet.d.ts.map +1 -1
  307. package/dist/timeline-preview/sheet.js +3 -2
  308. package/dist/timeline-preview/sheet.js.map +1 -1
  309. package/dist/tools/builtin-tools.d.ts +4 -3
  310. package/dist/tools/builtin-tools.d.ts.map +1 -1
  311. package/dist/tools/builtin-tools.js +11 -3
  312. package/dist/tools/builtin-tools.js.map +1 -1
  313. package/dist/tools/graph-validation-registry.d.ts.map +1 -1
  314. package/dist/tools/graph-validation-registry.js +3 -0
  315. package/dist/tools/graph-validation-registry.js.map +1 -1
  316. package/dist/tools/mcp-tool-support.js +1 -1
  317. package/dist/tools/mcp-tool-support.js.map +1 -1
  318. package/dist/tools/mcp-tools.d.ts.map +1 -1
  319. package/dist/tools/mcp-tools.js +4 -0
  320. package/dist/tools/mcp-tools.js.map +1 -1
  321. package/dist/utils/json-parser.js +1 -1
  322. package/dist/utils/json-parser.js.map +1 -1
  323. package/package.json +131 -47
@@ -0,0 +1,153 @@
1
+ import { importPack } from "@nodetool-ai/node-catalog";
2
+ /**
3
+ * `browse_native_game_assets`: the asset browser's view of a game draft for an
4
+ * agent. It returns the same catalog the editor panel shows (assets with
5
+ * "used by", prefabs, scenes), the staged candidates under the game's
6
+ * `assets/` folder, and the generation request each slot's template or last
7
+ * recorded prompt implies. Passing `digest` returns one candidate with the
8
+ * binding `install_native_game_asset` accepts.
9
+ */
10
+ import { AmbiguousGameIdError, Game, Project, Workspace } from "@nodetool-ai/models";
11
+ import { filterGameAssetCatalog, gameAssetBinding3D, gameAssetCatalog, gameSlotGenerationRequest, shortResourceId } from "@nodetool-ai/protocol";
12
+ import { workspaceFromRow } from "@nodetool-ai/execution/service";
13
+ import { BROWSE_GAME_ASSET_KINDS } from "./game.specs.js";
14
+ const KINDS = BROWSE_GAME_ASSET_KINDS;
15
+ async function draftFor(run, id) {
16
+ const user = run.context.userId;
17
+ if (!user || typeof id !== "string") {
18
+ return null;
19
+ }
20
+ let game;
21
+ try {
22
+ game = await Game.findOwned(user, id);
23
+ }
24
+ catch (error) {
25
+ if (error instanceof AmbiguousGameIdError) {
26
+ return null;
27
+ }
28
+ throw error;
29
+ }
30
+ if (!game || !(await Project.findOwned(user, game.project_id))) {
31
+ return null;
32
+ }
33
+ const row = await Workspace.find(user, game.workspace_id);
34
+ if (!row || row.project_id !== game.project_id) {
35
+ return null;
36
+ }
37
+ const workspace = workspaceFromRow(row);
38
+ if (!workspace) {
39
+ return null;
40
+ }
41
+ const draft = await Game.readDraft(user, game.id, workspace);
42
+ return draft ? { user, game, workspace, document: draft.document, draftUpdatedAt: draft.game.draft_updated_at } : null;
43
+ }
44
+ /** A recorded or derived binding for one staged candidate, shaped for the draft's dimension. */
45
+ async function candidateBinding(run, draft, digest, slot) {
46
+ const { listStagedGameCandidates, derivedStagedBinding2D } = await importPack("game", "@nodetool-ai/game-nodes");
47
+ const candidate = (await listStagedGameCandidates(draft.workspace, draft.game.source_root)).find((entry) => entry.digest === digest);
48
+ if (!candidate) {
49
+ return { error: "No staged candidate has that digest" };
50
+ }
51
+ const summary = { digest: candidate.digest, extension: candidate.extension, media_kind: candidate.mediaKind, path: candidate.path,
52
+ slot: candidate.record?.slot, prompt: candidate.record?.prompt };
53
+ const is3D = draft.document.schemaVersion === 3;
54
+ const recorded = candidate.record?.binding;
55
+ if (recorded && recorded["digest"] === digest) {
56
+ const parsed = (is3D ? gameAssetBinding3D : (await import("@nodetool-ai/protocol")).gameAssetBinding).safeParse(recorded);
57
+ if (parsed.success) {
58
+ return { candidate: summary, binding: parsed.data };
59
+ }
60
+ }
61
+ const bytes = await draft.workspace.read(candidate.path);
62
+ if (!bytes) {
63
+ return { error: "Staged candidate bytes are unavailable" };
64
+ }
65
+ if (candidate.mediaKind === "model") {
66
+ if (!is3D) {
67
+ return { error: "Model candidates require a 3D game" };
68
+ }
69
+ const { prepareGameModelBinding3D } = await importPack("game", "@nodetool-ai/game-renderer/preparation3d");
70
+ const prepared = await prepareGameModelBinding3D(bytes, { assetId: `staged:${digest}`, expectedDigest: digest, signal: run.context.signal });
71
+ if (!prepared.ok) {
72
+ return { error: prepared.diagnostics.map((issue) => issue.message).join("; ") };
73
+ }
74
+ return { candidate: summary, binding: prepared.binding };
75
+ }
76
+ if (candidate.mediaKind === "collider") {
77
+ return { error: "A collider candidate needs the record staging wrote; restage it with generate_game_asset" };
78
+ }
79
+ if (is3D && candidate.mediaKind === "image") {
80
+ return { error: "3D games use model assets with embedded textures" };
81
+ }
82
+ const previous = slot ? draft.document.assets[slot] : undefined;
83
+ const legacy = await derivedStagedBinding2D(bytes, candidate, previous && "pivot" in previous ? previous : undefined);
84
+ if (!is3D) {
85
+ return { candidate: summary, binding: legacy };
86
+ }
87
+ const { width: _width, height: _height, pivot: _pivot, sampling: _sampling, ...identity } = legacy;
88
+ const parsed = gameAssetBinding3D.safeParse({ ...identity, required: true });
89
+ return parsed.success ? { candidate: summary, binding: parsed.data } : { error: "Candidate does not fit a 3D asset binding" };
90
+ }
91
+ export async function browseGameAssets(run, args) {
92
+ const draft = await draftFor(run, args["game_id"]);
93
+ if (!draft) {
94
+ return { error: "Game draft not found" };
95
+ }
96
+ const digest = args["digest"];
97
+ const slot = typeof args["slot"] === "string" && args["slot"] ? args["slot"] : undefined;
98
+ if (digest !== undefined) {
99
+ if (typeof digest !== "string" || !/^[a-f0-9]{64}$/.test(digest)) {
100
+ return { error: "digest must be a 64-character hex digest" };
101
+ }
102
+ const result = await candidateBinding(run, draft, digest, slot);
103
+ if ("error" in result) {
104
+ return result;
105
+ }
106
+ return { game_id: shortResourceId(draft.game.id), draft_updated_at: draft.draftUpdatedAt, ...result,
107
+ next: slot ? `Call install_native_game_asset with game_id, slot "${slot}", this binding and base_updated_at.` : "Pass slot to install this binding." };
108
+ }
109
+ const query = typeof args["query"] === "string" ? args["query"] : "";
110
+ const kind = KINDS.find((entry) => entry === args["kind"]);
111
+ const catalog = gameAssetCatalog(draft.document);
112
+ const filtered = filterGameAssetCatalog(catalog, { query, kind });
113
+ const { listStagedGameCandidates, gameTemplateSlot } = await importPack("game", "@nodetool-ai/game-nodes");
114
+ const candidates = await listStagedGameCandidates(draft.workspace, draft.game.source_root);
115
+ const slotsByDigest = new Map();
116
+ for (const [boundSlot, binding] of Object.entries(draft.document.assets)) {
117
+ slotsByDigest.set(binding.digest, [...(slotsByDigest.get(binding.digest) ?? []), boundSlot]);
118
+ }
119
+ const promptByDigest = new Map(candidates.flatMap((entry) => entry.record?.prompt ? [[entry.digest, entry.record.prompt]] : []));
120
+ const slotRequests = {};
121
+ for (const entry of catalog.assets) {
122
+ if (entry.siblingOf) {
123
+ continue;
124
+ }
125
+ const template = gameTemplateSlot(entry.slot);
126
+ const request = template ? gameSlotGenerationRequest(template) : undefined;
127
+ const recorded = promptByDigest.get(entry.digest);
128
+ if (request || recorded) {
129
+ const slotRequest = { kind: request?.kind ?? (entry.mediaKind === "audio" ? "music" : entry.mediaKind),
130
+ prompt: recorded ?? request?.prompt, source: recorded ? "recorded" : "template" };
131
+ if (request?.preparation) {
132
+ slotRequest["preparation"] = request.preparation;
133
+ }
134
+ slotRequests[entry.slot] = slotRequest;
135
+ }
136
+ }
137
+ return {
138
+ game_id: shortResourceId(draft.game.id),
139
+ dimension: draft.document.schemaVersion === 3 ? "3d" : "2d",
140
+ draft_updated_at: draft.draftUpdatedAt,
141
+ candidate_workspace_id: draft.game.workspace_id,
142
+ assets: filtered.assets,
143
+ prefabs: filtered.prefabs,
144
+ scenes: filtered.scenes,
145
+ candidates: candidates.filter((entry) => !kind || entry.mediaKind === kind).map((entry) => ({
146
+ digest: entry.digest, extension: entry.extension, media_kind: entry.mediaKind, path: entry.path, size: entry.size,
147
+ modified_at: new Date(entry.modifiedAt).toISOString(), bound_slots: slotsByDigest.get(entry.digest) ?? [],
148
+ slot: entry.record?.slot, prompt: entry.record?.prompt, source: entry.record?.source, recorded: Boolean(entry.record)
149
+ })),
150
+ slot_requests: slotRequests
151
+ };
152
+ }
153
+ //# sourceMappingURL=game-asset-browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"game-asset-browser.js","sourceRoot":"","sources":["../../src/capabilities/game-asset-browser.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { Game } from "@nodetool-ai/models";
2
2
  import { type AnyGameDocument as GameDocument, type GameDocument as LegacyGameDocument, type GameDocument3D } from "@nodetool-ai/protocol";
3
+ import { type Workspace as RunWorkspace, type StorageAdapter } from "@nodetool-ai/runtime";
4
+ import type { TauriAppMetadata } from "@nodetool-ai/game-renderer/build-tauri";
3
5
  import type { CapabilityModule } from "./types.js";
4
6
  /** Shared by explicit game creation and the guided asset workflow builder. */
5
7
  export declare function createNativeGame(user: string, projectId: string, name: string, source?: LegacyGameDocument): Promise<{
@@ -20,5 +22,33 @@ export declare function createNativeGame(user: string, projectId: string, name:
20
22
  } | {
21
23
  error: string;
22
24
  }>;
25
+ export type NativeGameBuildTarget = "web" | "tauri";
26
+ export interface NativeGameBuildRequest {
27
+ readonly userId: string;
28
+ readonly gameId: string;
29
+ readonly revision?: string;
30
+ readonly target?: NativeGameBuildTarget;
31
+ readonly storage: StorageAdapter | null | undefined;
32
+ readonly signal?: AbortSignal;
33
+ }
34
+ export type NativeGameBuildResult = {
35
+ readonly error: string;
36
+ } | {
37
+ readonly game_id: string;
38
+ readonly revision: string;
39
+ readonly target: NativeGameBuildTarget;
40
+ readonly build_path: string;
41
+ readonly entry_path: string;
42
+ readonly cached: boolean;
43
+ readonly workspace: RunWorkspace;
44
+ /** The desktop app's name, identifier and binary name for a `tauri` build, else null. */
45
+ readonly app: TauriAppMetadata | null;
46
+ };
47
+ /**
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>`.
50
+ * The capability and the editor's export download share this path.
51
+ */
52
+ export declare function buildOwnedNativeGame(request: NativeGameBuildRequest): Promise<NativeGameBuildResult>;
23
53
  export declare const module: CapabilityModule;
24
54
  //# sourceMappingURL=game.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"game.d.ts","sourceRoot":"","sources":["../../src/capabilities/game.ts"],"names":[],"mappings":"AAIA,OAAO,EAA+B,IAAI,EAAkC,MAAM,qBAAqB,CAAC;AACxG,OAAO,EAAyK,KAAK,eAAe,IAAI,YAAY,EAAE,KAAK,YAAY,IAAI,kBAAkB,EAAE,KAAK,cAAc,EAA6C,MAAM,uBAAuB,CAAC;AAK7V,OAAO,KAAK,EAAoB,gBAAgB,EAAiB,MAAM,YAAY,CAAC;AAyXpF,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;AAgxB/M,eAAO,MAAM,MAAM,EAAE,gBAKpB,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;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"}