@nodetool-ai/agents 0.8.1 → 0.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.nodetool-build-stamp +1 -1
- package/dist/analysis/audio-dsp.d.ts +3 -2
- package/dist/analysis/audio-dsp.d.ts.map +1 -1
- package/dist/analysis/audio-dsp.js +11 -8
- package/dist/analysis/audio-dsp.js.map +1 -1
- package/dist/analysis/media-decode.d.ts +13 -0
- package/dist/analysis/media-decode.d.ts.map +1 -1
- package/dist/analysis/media-decode.js +33 -6
- package/dist/analysis/media-decode.js.map +1 -1
- package/dist/apify/assets.d.ts.map +1 -1
- package/dist/apify/assets.js +4 -0
- package/dist/apify/assets.js.map +1 -1
- package/dist/author-graph.d.ts +2 -3
- package/dist/author-graph.d.ts.map +1 -1
- package/dist/author-graph.js +3 -5
- package/dist/author-graph.js.map +1 -1
- package/dist/browser-gate.d.ts +2 -2
- package/dist/browser-gate.js +2 -2
- package/dist/capabilities/GamePublishRequest.d.ts +14 -0
- package/dist/capabilities/GamePublishRequest.d.ts.map +1 -0
- package/dist/capabilities/GamePublishRequest.js +2 -0
- package/dist/capabilities/GamePublishRequest.js.map +1 -0
- package/dist/capabilities/adapters.d.ts +4 -13
- package/dist/capabilities/adapters.d.ts.map +1 -1
- package/dist/capabilities/adapters.js +9 -14
- package/dist/capabilities/adapters.js.map +1 -1
- package/dist/capabilities/agent-activity.d.ts +27 -0
- package/dist/capabilities/agent-activity.d.ts.map +1 -0
- package/dist/capabilities/agent-activity.js +103 -0
- package/dist/capabilities/agent-activity.js.map +1 -0
- package/dist/capabilities/agentic-storyboard-finish.d.ts +67 -0
- package/dist/capabilities/agentic-storyboard-finish.d.ts.map +1 -0
- package/dist/capabilities/agentic-storyboard-finish.js +1321 -0
- package/dist/capabilities/agentic-storyboard-finish.js.map +1 -0
- package/dist/capabilities/agents.d.ts +5 -2
- package/dist/capabilities/agents.d.ts.map +1 -1
- package/dist/capabilities/agents.js +14 -4
- package/dist/capabilities/agents.js.map +1 -1
- package/dist/capabilities/agents.specs.d.ts +3 -0
- package/dist/capabilities/agents.specs.d.ts.map +1 -1
- package/dist/capabilities/agents.specs.js +71 -1
- package/dist/capabilities/agents.specs.js.map +1 -1
- package/dist/capabilities/analysis.d.ts.map +1 -1
- package/dist/capabilities/analysis.js +33 -22
- package/dist/capabilities/analysis.js.map +1 -1
- package/dist/capabilities/analysis.specs.js +2 -2
- package/dist/capabilities/analysis.specs.js.map +1 -1
- package/dist/capabilities/apps.d.ts.map +1 -1
- package/dist/capabilities/apps.js +5 -3
- package/dist/capabilities/apps.js.map +1 -1
- package/dist/capabilities/args.d.ts +2 -5
- package/dist/capabilities/args.d.ts.map +1 -1
- package/dist/capabilities/args.js +2 -5
- package/dist/capabilities/args.js.map +1 -1
- package/dist/capabilities/assets.d.ts.map +1 -1
- package/dist/capabilities/assets.js +40 -10
- package/dist/capabilities/assets.js.map +1 -1
- package/dist/capabilities/browser.d.ts +1 -1
- package/dist/capabilities/browser.js +1 -1
- package/dist/capabilities/browser.specs.d.ts +1 -1
- package/dist/capabilities/browser.specs.js +1 -1
- package/dist/capabilities/code.d.ts +5 -0
- package/dist/capabilities/code.d.ts.map +1 -1
- package/dist/capabilities/code.js +128 -89
- package/dist/capabilities/code.js.map +1 -1
- package/dist/capabilities/collections.d.ts +4 -6
- package/dist/capabilities/collections.d.ts.map +1 -1
- package/dist/capabilities/collections.js +16 -11
- package/dist/capabilities/collections.js.map +1 -1
- package/dist/capabilities/derive-shot.d.ts +45 -0
- package/dist/capabilities/derive-shot.d.ts.map +1 -0
- package/dist/capabilities/derive-shot.js +82 -0
- package/dist/capabilities/derive-shot.js.map +1 -0
- package/dist/capabilities/documents.d.ts +2 -1
- package/dist/capabilities/documents.d.ts.map +1 -1
- package/dist/capabilities/documents.js +12 -6
- package/dist/capabilities/documents.js.map +1 -1
- package/dist/capabilities/email.d.ts +2 -1
- package/dist/capabilities/email.d.ts.map +1 -1
- package/dist/capabilities/email.js +5 -3
- package/dist/capabilities/email.js.map +1 -1
- package/dist/capabilities/errors.d.ts +19 -0
- package/dist/capabilities/errors.d.ts.map +1 -0
- package/dist/capabilities/errors.js +109 -0
- package/dist/capabilities/errors.js.map +1 -0
- package/dist/capabilities/errors.specs.d.ts +11 -0
- package/dist/capabilities/errors.specs.d.ts.map +1 -0
- package/dist/capabilities/errors.specs.js +100 -0
- package/dist/capabilities/errors.specs.js.map +1 -0
- package/dist/capabilities/example-timelines.d.ts.map +1 -1
- package/dist/capabilities/example-timelines.js +52 -10
- package/dist/capabilities/example-timelines.js.map +1 -1
- package/dist/capabilities/example-timelines.specs.d.ts +1 -0
- package/dist/capabilities/example-timelines.specs.d.ts.map +1 -1
- package/dist/capabilities/example-timelines.specs.js +21 -3
- package/dist/capabilities/example-timelines.specs.js.map +1 -1
- package/dist/capabilities/finish-storyboard.d.ts +5 -0
- package/dist/capabilities/finish-storyboard.d.ts.map +1 -0
- package/dist/capabilities/finish-storyboard.js +278 -0
- package/dist/capabilities/finish-storyboard.js.map +1 -0
- package/dist/capabilities/game-asset-browser.d.ts +11 -0
- package/dist/capabilities/game-asset-browser.d.ts.map +1 -0
- package/dist/capabilities/game-asset-browser.js +152 -0
- package/dist/capabilities/game-asset-browser.js.map +1 -0
- package/dist/capabilities/game-asset-source.js +1 -1
- package/dist/capabilities/game-asset-source.js.map +1 -1
- package/dist/capabilities/game.d.ts +44 -2
- package/dist/capabilities/game.d.ts.map +1 -1
- package/dist/capabilities/game.js +408 -160
- package/dist/capabilities/game.js.map +1 -1
- package/dist/capabilities/game.specs.d.ts +4 -0
- package/dist/capabilities/game.specs.d.ts.map +1 -1
- package/dist/capabilities/game.specs.js +42 -13
- package/dist/capabilities/game.specs.js.map +1 -1
- package/dist/capabilities/game3d.d.ts +17 -0
- package/dist/capabilities/game3d.d.ts.map +1 -0
- package/dist/capabilities/game3d.js +434 -0
- package/dist/capabilities/game3d.js.map +1 -0
- package/dist/capabilities/gate-from-context.d.ts +1 -1
- package/dist/capabilities/gate-from-context.js +1 -1
- package/dist/capabilities/generations.d.ts +2 -0
- package/dist/capabilities/generations.d.ts.map +1 -1
- package/dist/capabilities/generations.js +14 -23
- package/dist/capabilities/generations.js.map +1 -1
- package/dist/capabilities/index.d.ts +2 -2
- package/dist/capabilities/index.d.ts.map +1 -1
- package/dist/capabilities/index.js +2 -2
- package/dist/capabilities/index.js.map +1 -1
- package/dist/capabilities/invoke.d.ts +14 -25
- package/dist/capabilities/invoke.d.ts.map +1 -1
- package/dist/capabilities/invoke.js +72 -35
- package/dist/capabilities/invoke.js.map +1 -1
- package/dist/capabilities/jobs.d.ts.map +1 -1
- package/dist/capabilities/jobs.js +47 -3
- package/dist/capabilities/jobs.js.map +1 -1
- package/dist/capabilities/jobs.specs.d.ts.map +1 -1
- package/dist/capabilities/jobs.specs.js +3 -1
- package/dist/capabilities/jobs.specs.js.map +1 -1
- package/dist/capabilities/js-scripts.d.ts +19 -1
- package/dist/capabilities/js-scripts.d.ts.map +1 -1
- package/dist/capabilities/js-scripts.js +109 -2
- package/dist/capabilities/js-scripts.js.map +1 -1
- package/dist/capabilities/js-scripts.specs.d.ts +2 -0
- package/dist/capabilities/js-scripts.specs.d.ts.map +1 -1
- package/dist/capabilities/js-scripts.specs.js +50 -0
- package/dist/capabilities/js-scripts.specs.js.map +1 -1
- package/dist/capabilities/lazy-tool-core.d.ts +23 -0
- package/dist/capabilities/lazy-tool-core.d.ts.map +1 -0
- package/dist/capabilities/lazy-tool-core.js +56 -0
- package/dist/capabilities/lazy-tool-core.js.map +1 -0
- package/dist/capabilities/lazy-tool.d.ts +3 -23
- package/dist/capabilities/lazy-tool.d.ts.map +1 -1
- package/dist/capabilities/lazy-tool.js +6 -64
- package/dist/capabilities/lazy-tool.js.map +1 -1
- package/dist/capabilities/legacy-tools.d.ts +15 -0
- package/dist/capabilities/legacy-tools.d.ts.map +1 -0
- package/dist/capabilities/legacy-tools.js +98 -0
- package/dist/capabilities/legacy-tools.js.map +1 -0
- package/dist/capabilities/media.d.ts +0 -9
- package/dist/capabilities/media.d.ts.map +1 -1
- package/dist/capabilities/media.js +314 -261
- package/dist/capabilities/media.js.map +1 -1
- package/dist/capabilities/media.specs.d.ts.map +1 -1
- package/dist/capabilities/media.specs.js +17 -0
- package/dist/capabilities/media.specs.js.map +1 -1
- package/dist/capabilities/metadata.d.ts +62 -0
- package/dist/capabilities/metadata.d.ts.map +1 -0
- package/dist/capabilities/metadata.js +114 -0
- package/dist/capabilities/metadata.js.map +1 -0
- package/dist/capabilities/model3d.d.ts.map +1 -1
- package/dist/capabilities/model3d.js +4 -0
- package/dist/capabilities/model3d.js.map +1 -1
- package/dist/capabilities/models.d.ts +2 -2
- package/dist/capabilities/models.d.ts.map +1 -1
- package/dist/capabilities/models.js +5 -3
- package/dist/capabilities/models.js.map +1 -1
- package/dist/capabilities/registry.d.ts +6 -19
- package/dist/capabilities/registry.d.ts.map +1 -1
- package/dist/capabilities/registry.js +72 -113
- package/dist/capabilities/registry.js.map +1 -1
- package/dist/capabilities/run-agent.d.ts +19 -0
- package/dist/capabilities/run-agent.d.ts.map +1 -0
- package/dist/capabilities/run-agent.js +183 -0
- package/dist/capabilities/run-agent.js.map +1 -0
- package/dist/capabilities/runs.d.ts +9 -0
- package/dist/capabilities/runs.d.ts.map +1 -0
- package/dist/capabilities/runs.js +46 -0
- package/dist/capabilities/runs.js.map +1 -0
- package/dist/capabilities/runs.specs.d.ts +39 -0
- package/dist/capabilities/runs.specs.d.ts.map +1 -0
- package/dist/capabilities/runs.specs.js +52 -0
- package/dist/capabilities/runs.specs.js.map +1 -0
- package/dist/capabilities/scripts.d.ts.map +1 -1
- package/dist/capabilities/scripts.js +11 -5
- package/dist/capabilities/scripts.js.map +1 -1
- package/dist/capabilities/settings.d.ts.map +1 -1
- package/dist/capabilities/settings.js +4 -2
- package/dist/capabilities/settings.js.map +1 -1
- package/dist/capabilities/sketches.d.ts.map +1 -1
- package/dist/capabilities/sketches.js +4 -2
- package/dist/capabilities/sketches.js.map +1 -1
- package/dist/capabilities/skills.d.ts.map +1 -1
- package/dist/capabilities/skills.js +22 -2
- package/dist/capabilities/skills.js.map +1 -1
- package/dist/capabilities/storyboard-layout-check.d.ts +33 -0
- package/dist/capabilities/storyboard-layout-check.d.ts.map +1 -0
- package/dist/capabilities/storyboard-layout-check.js +229 -0
- package/dist/capabilities/storyboard-layout-check.js.map +1 -0
- package/dist/capabilities/storyboard-measured-sources.d.ts +10 -0
- package/dist/capabilities/storyboard-measured-sources.d.ts.map +1 -0
- package/dist/capabilities/storyboard-measured-sources.js +67 -0
- package/dist/capabilities/storyboard-measured-sources.js.map +1 -0
- package/dist/capabilities/storyboard-review-times.d.ts +4 -0
- package/dist/capabilities/storyboard-review-times.d.ts.map +1 -0
- package/dist/capabilities/storyboard-review-times.js +39 -0
- package/dist/capabilities/storyboard-review-times.js.map +1 -0
- package/dist/capabilities/storyboards.d.ts +12 -18
- package/dist/capabilities/storyboards.d.ts.map +1 -1
- package/dist/capabilities/storyboards.js +779 -96
- package/dist/capabilities/storyboards.js.map +1 -1
- package/dist/capabilities/storyboards.specs.d.ts +9 -0
- package/dist/capabilities/storyboards.specs.d.ts.map +1 -1
- package/dist/capabilities/storyboards.specs.js +173 -5
- package/dist/capabilities/storyboards.specs.js.map +1 -1
- package/dist/capabilities/threads.js +1 -1
- package/dist/capabilities/threads.js.map +1 -1
- package/dist/capabilities/timeline-bridge.d.ts +368 -0
- package/dist/capabilities/timeline-bridge.d.ts.map +1 -0
- package/dist/capabilities/timeline-bridge.js +1008 -0
- package/dist/capabilities/timeline-bridge.js.map +1 -0
- package/dist/capabilities/timeline-clip-frames.d.ts +17 -0
- package/dist/capabilities/timeline-clip-frames.d.ts.map +1 -0
- package/dist/capabilities/timeline-clip-frames.js +84 -0
- package/dist/capabilities/timeline-clip-frames.js.map +1 -0
- package/dist/capabilities/timeline-media-edit.d.ts +8 -0
- package/dist/capabilities/timeline-media-edit.d.ts.map +1 -0
- package/dist/capabilities/timeline-media-edit.js +94 -0
- package/dist/capabilities/timeline-media-edit.js.map +1 -0
- package/dist/capabilities/timeline-native-media.d.ts.map +1 -1
- package/dist/capabilities/timeline-native-media.js +40 -0
- package/dist/capabilities/timeline-native-media.js.map +1 -1
- package/dist/capabilities/timeline-operations.d.ts +52 -0
- package/dist/capabilities/timeline-operations.d.ts.map +1 -0
- package/dist/capabilities/timeline-operations.js +413 -0
- package/dist/capabilities/timeline-operations.js.map +1 -0
- package/dist/capabilities/timelines.d.ts +28 -3
- package/dist/capabilities/timelines.d.ts.map +1 -1
- package/dist/capabilities/timelines.js +410 -294
- package/dist/capabilities/timelines.js.map +1 -1
- package/dist/capabilities/timelines.specs.d.ts +8 -0
- package/dist/capabilities/timelines.specs.d.ts.map +1 -1
- package/dist/capabilities/timelines.specs.js +178 -9
- package/dist/capabilities/timelines.specs.js.map +1 -1
- package/dist/capabilities/types.d.ts +3 -1
- package/dist/capabilities/types.d.ts.map +1 -1
- package/dist/capabilities/types.js.map +1 -1
- package/dist/capabilities/ui.d.ts.map +1 -1
- package/dist/capabilities/ui.js +24 -2
- package/dist/capabilities/ui.js.map +1 -1
- package/dist/capabilities/web.d.ts.map +1 -1
- package/dist/capabilities/web.js +4 -0
- package/dist/capabilities/web.js.map +1 -1
- package/dist/capabilities/workflows.d.ts +3 -1
- package/dist/capabilities/workflows.d.ts.map +1 -1
- package/dist/capabilities/workflows.js +244 -39
- package/dist/capabilities/workflows.js.map +1 -1
- package/dist/capabilities/workflows.specs.d.ts +2 -0
- package/dist/capabilities/workflows.specs.d.ts.map +1 -1
- package/dist/capabilities/workflows.specs.js +72 -2
- package/dist/capabilities/workflows.specs.js.map +1 -1
- package/dist/codeact/action-diagnostics.d.ts.map +1 -1
- package/dist/codeact/action-diagnostics.js +51 -1
- package/dist/codeact/action-diagnostics.js.map +1 -1
- package/dist/codeact/codeact-executor.d.ts.map +1 -1
- package/dist/codeact/codeact-executor.js +16 -8
- package/dist/codeact/codeact-executor.js.map +1 -1
- package/dist/codeact/compact-ids.d.ts.map +1 -1
- package/dist/codeact/compact-ids.js +5 -1
- package/dist/codeact/compact-ids.js.map +1 -1
- package/dist/codeact/graph-model.d.ts +1 -1
- package/dist/codeact/graph-model.d.ts.map +1 -1
- package/dist/codeact/graph-model.js +2 -3
- package/dist/codeact/graph-model.js.map +1 -1
- package/dist/codeact/nodetool-api.d.ts +1 -1
- package/dist/codeact/nodetool-api.d.ts.map +1 -1
- package/dist/codeact/nodetool-api.js +202 -284
- package/dist/codeact/nodetool-api.js.map +1 -1
- package/dist/codeact/sandbox-packages.d.ts +0 -7
- package/dist/codeact/sandbox-packages.d.ts.map +1 -1
- package/dist/codeact/sandbox-packages.js +1 -10
- package/dist/codeact/sandbox-packages.js.map +1 -1
- package/dist/codeact/tool-api.d.ts +6 -3
- package/dist/codeact/tool-api.d.ts.map +1 -1
- package/dist/codeact/tool-api.js +22 -15
- package/dist/codeact/tool-api.js.map +1 -1
- package/dist/evals/codeact-api-cases.d.ts.map +1 -1
- package/dist/evals/codeact-api-cases.js +2 -0
- package/dist/evals/codeact-api-cases.js.map +1 -1
- package/dist/evals/codeact-api-runs.d.ts +3 -0
- package/dist/evals/codeact-api-runs.d.ts.map +1 -0
- package/dist/evals/codeact-api-runs.js +33 -0
- package/dist/evals/codeact-api-runs.js.map +1 -0
- package/dist/evals/surfaces/game.d.ts +8 -2
- package/dist/evals/surfaces/game.d.ts.map +1 -1
- package/dist/evals/surfaces/game.js +460 -2
- package/dist/evals/surfaces/game.js.map +1 -1
- package/dist/evals/surfaces/sketch.d.ts +2 -0
- package/dist/evals/surfaces/sketch.d.ts.map +1 -1
- package/dist/evals/surfaces/sketch.js +11 -3
- package/dist/evals/surfaces/sketch.js.map +1 -1
- package/dist/evals/surfaces/timeline.d.ts +4 -357
- package/dist/evals/surfaces/timeline.d.ts.map +1 -1
- package/dist/evals/surfaces/timeline.js +9 -2621
- package/dist/evals/surfaces/timeline.js.map +1 -1
- package/dist/evals/tool-loop-bridge.d.ts +4 -0
- package/dist/evals/tool-loop-bridge.d.ts.map +1 -1
- package/dist/evals/tool-loop-bridge.js.map +1 -1
- package/dist/evals/tool-loop-eval.d.ts +2 -0
- package/dist/evals/tool-loop-eval.d.ts.map +1 -1
- package/dist/evals/tool-loop-eval.js +6 -1
- package/dist/evals/tool-loop-eval.js.map +1 -1
- package/dist/evals/tool-loop-permission.d.ts +1 -15
- package/dist/evals/tool-loop-permission.d.ts.map +1 -1
- package/dist/evals/tool-loop-permission.js +23 -41
- package/dist/evals/tool-loop-permission.js.map +1 -1
- package/dist/game-authoring.d.ts +9573 -0
- package/dist/game-authoring.d.ts.map +1 -0
- package/dist/game-authoring.js +146 -0
- package/dist/game-authoring.js.map +1 -0
- package/dist/game-build.d.ts +3 -0
- package/dist/game-build.d.ts.map +1 -0
- package/dist/game-build.js +3 -0
- package/dist/game-build.js.map +1 -0
- package/dist/game-code-bake.d.ts +26 -0
- package/dist/game-code-bake.d.ts.map +1 -0
- package/dist/game-code-bake.js +98 -0
- package/dist/game-code-bake.js.map +1 -0
- package/dist/game-examples.d.ts +2227 -18
- package/dist/game-examples.d.ts.map +1 -1
- package/dist/game-examples.js +5 -4
- package/dist/game-examples.js.map +1 -1
- package/dist/generation-cancel.d.ts +31 -0
- package/dist/generation-cancel.d.ts.map +1 -0
- package/dist/generation-cancel.js +28 -0
- package/dist/generation-cancel.js.map +1 -0
- package/dist/host-access-gate.d.ts +29 -0
- package/dist/host-access-gate.d.ts.map +1 -0
- package/dist/host-access-gate.js +39 -0
- package/dist/host-access-gate.js.map +1 -0
- package/dist/host-modules/dispatcher.d.ts +7 -1
- package/dist/host-modules/dispatcher.d.ts.map +1 -1
- package/dist/host-modules/dispatcher.js +13 -2
- package/dist/host-modules/dispatcher.js.map +1 -1
- package/dist/host-modules/docx.d.ts.map +1 -1
- package/dist/host-modules/docx.js +2 -2
- package/dist/host-modules/docx.js.map +1 -1
- package/dist/host-modules/epub.d.ts.map +1 -1
- package/dist/host-modules/epub.js +2 -2
- package/dist/host-modules/epub.js.map +1 -1
- package/dist/host-modules/fabric.d.ts.map +1 -1
- package/dist/host-modules/fabric.js +1 -1
- package/dist/host-modules/fabric.js.map +1 -1
- package/dist/host-modules/limits.d.ts +10 -8
- package/dist/host-modules/limits.d.ts.map +1 -1
- package/dist/host-modules/limits.js +14 -9
- package/dist/host-modules/limits.js.map +1 -1
- package/dist/host-modules/mammoth.d.ts.map +1 -1
- package/dist/host-modules/mammoth.js +2 -2
- package/dist/host-modules/mammoth.js.map +1 -1
- package/dist/host-modules/ocr.d.ts.map +1 -1
- package/dist/host-modules/ocr.js +1 -1
- package/dist/host-modules/ocr.js.map +1 -1
- package/dist/host-modules/pdf.d.ts.map +1 -1
- package/dist/host-modules/pdf.js +2 -2
- package/dist/host-modules/pdf.js.map +1 -1
- package/dist/host-modules/pdflib.d.ts.map +1 -1
- package/dist/host-modules/pdflib.js +2 -2
- package/dist/host-modules/pdflib.js.map +1 -1
- package/dist/host-modules/pptx.d.ts.map +1 -1
- package/dist/host-modules/pptx.js +2 -2
- package/dist/host-modules/pptx.js.map +1 -1
- package/dist/host-modules/pptxgen.d.ts.map +1 -1
- package/dist/host-modules/pptxgen.js +2 -2
- package/dist/host-modules/pptxgen.js.map +1 -1
- package/dist/host-modules/tfjs.d.ts.map +1 -1
- package/dist/host-modules/tfjs.js +4 -4
- package/dist/host-modules/tfjs.js.map +1 -1
- package/dist/host-modules/xlsx.d.ts.map +1 -1
- package/dist/host-modules/xlsx.js +2 -2
- package/dist/host-modules/xlsx.js.map +1 -1
- package/dist/index.d.ts +18 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -3
- package/dist/index.js.map +1 -1
- package/dist/js-sandbox-worker/engine.d.ts +4 -0
- package/dist/js-sandbox-worker/engine.d.ts.map +1 -0
- package/dist/js-sandbox-worker/engine.js +45 -0
- package/dist/js-sandbox-worker/engine.js.map +1 -0
- package/dist/js-sandbox-worker/host.js +1 -1
- package/dist/js-sandbox-worker/host.js.map +1 -1
- package/dist/js-sandbox-worker/interpreter.d.ts +1 -1
- package/dist/js-sandbox-worker/interpreter.d.ts.map +1 -1
- package/dist/js-sandbox-worker/interpreter.js +94 -2
- package/dist/js-sandbox-worker/interpreter.js.map +1 -1
- package/dist/js-sandbox-worker/worker-entry.d.ts.map +1 -1
- package/dist/js-sandbox-worker/worker-entry.js +3 -2
- package/dist/js-sandbox-worker/worker-entry.js.map +1 -1
- package/dist/js-sandbox.d.ts +9 -1
- package/dist/js-sandbox.d.ts.map +1 -1
- package/dist/js-sandbox.js +76 -15
- package/dist/js-sandbox.js.map +1 -1
- package/dist/js-script-app-runner.d.ts +2 -0
- package/dist/js-script-app-runner.d.ts.map +1 -1
- package/dist/js-script-app-runner.js +8 -3
- package/dist/js-script-app-runner.js.map +1 -1
- package/dist/js-script-sandbox.d.ts +12 -18
- package/dist/js-script-sandbox.d.ts.map +1 -1
- package/dist/js-script-sandbox.js +3 -49
- package/dist/js-script-sandbox.js.map +1 -1
- package/dist/prompts/product-knowledge.d.ts +1 -1
- package/dist/prompts/product-knowledge.d.ts.map +1 -1
- package/dist/prompts/product-knowledge.js +82 -41
- package/dist/prompts/product-knowledge.js.map +1 -1
- package/dist/sandbox-pack-resolution.d.ts +21 -0
- package/dist/sandbox-pack-resolution.d.ts.map +1 -0
- package/dist/sandbox-pack-resolution.js +42 -0
- package/dist/sandbox-pack-resolution.js.map +1 -0
- package/dist/sandbox-toolbelt.d.ts +3 -1
- package/dist/sandbox-toolbelt.d.ts.map +1 -1
- package/dist/sandbox-toolbelt.js +8 -2
- package/dist/sandbox-toolbelt.js.map +1 -1
- package/dist/skill-prompt.d.ts +11 -1
- package/dist/skill-prompt.d.ts.map +1 -1
- package/dist/skill-prompt.js +17 -6
- package/dist/skill-prompt.js.map +1 -1
- package/dist/system-skills.d.ts +7 -1
- package/dist/system-skills.d.ts.map +1 -1
- package/dist/system-skills.js +2 -2
- package/dist/system-skills.js.map +1 -1
- package/dist/timeline-capture.d.ts +21 -0
- package/dist/timeline-capture.d.ts.map +1 -0
- package/dist/timeline-capture.js +564 -0
- package/dist/timeline-capture.js.map +1 -0
- package/dist/timeline-code-bake.d.ts +75 -0
- package/dist/timeline-code-bake.d.ts.map +1 -0
- package/dist/timeline-code-bake.js +327 -0
- package/dist/timeline-code-bake.js.map +1 -0
- package/dist/timeline-preview/frames.d.ts +26 -0
- package/dist/timeline-preview/frames.d.ts.map +1 -1
- package/dist/timeline-preview/frames.js +155 -70
- package/dist/timeline-preview/frames.js.map +1 -1
- package/dist/tools/base-tool.d.ts +1 -0
- package/dist/tools/base-tool.d.ts.map +1 -1
- package/dist/tools/base-tool.js +1 -1
- package/dist/tools/base-tool.js.map +1 -1
- package/dist/tools/builtin-tools.d.ts +4 -3
- package/dist/tools/builtin-tools.d.ts.map +1 -1
- package/dist/tools/builtin-tools.js +24 -3
- package/dist/tools/builtin-tools.js.map +1 -1
- package/dist/tools/external-capability-tools.d.ts +1 -1
- package/dist/tools/external-capability-tools.js +1 -1
- package/dist/tools/mcp-tool-support.d.ts +10 -9
- package/dist/tools/mcp-tool-support.d.ts.map +1 -1
- package/dist/tools/mcp-tool-support.js +14 -13
- package/dist/tools/mcp-tool-support.js.map +1 -1
- package/dist/tools/mcp-tools.d.ts +6 -4
- package/dist/tools/mcp-tools.d.ts.map +1 -1
- package/dist/tools/mcp-tools.js +65 -62
- package/dist/tools/mcp-tools.js.map +1 -1
- package/dist/tools/tool-permissions.d.ts +1 -1
- package/dist/tools/tool-permissions.js +1 -1
- package/package.json +124 -41
- package/dist/capabilities/gate-tools.d.ts +0 -18
- package/dist/capabilities/gate-tools.d.ts.map +0 -1
- package/dist/capabilities/gate-tools.js +0 -66
- package/dist/capabilities/gate-tools.js.map +0 -1
- package/dist/tsconfig.tests.tmp.tsbuildinfo +0 -1
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import * as acorn from "acorn";
|
|
1
2
|
import { z } from "zod";
|
|
2
|
-
import { gameDocument } from "@nodetool-ai/protocol";
|
|
3
|
-
import { applyGameOps, gameDocumentOp, GameOpError } from "@nodetool-ai/game-runtime";
|
|
3
|
+
import { gameDocument, gameDocument3D } from "@nodetool-ai/protocol";
|
|
4
|
+
import { applyGameOps, applyGameOps3D, collisionLayerBits3D, createNative3DGame, createTopDownRoomGame, gameDocumentOp, gameDocumentOp3D, GameOpError } from "@nodetool-ai/game-runtime";
|
|
5
|
+
const SCRIPT_PARAMS_EVAL_SOURCE = "(input) => ({ state: input.params, commands: [] })";
|
|
4
6
|
/** Headless game editor bridge that exercises the production op reducer. */
|
|
5
7
|
export function createGameToolBridge(initial) {
|
|
6
8
|
let document = gameDocument.parse(initial);
|
|
@@ -39,4 +41,460 @@ export function createGameToolBridge(initial) {
|
|
|
39
41
|
finalState: () => document
|
|
40
42
|
};
|
|
41
43
|
}
|
|
44
|
+
/** Headless 3D game editor bridge over the production 3D op reducer. */
|
|
45
|
+
export function createGameToolBridge3D(initial) {
|
|
46
|
+
let document = gameDocument3D.parse(initial);
|
|
47
|
+
return {
|
|
48
|
+
tools: [
|
|
49
|
+
{
|
|
50
|
+
name: "get_native_game",
|
|
51
|
+
description: "Read the current native 3D game draft.",
|
|
52
|
+
parameters: z.object({ view: z.enum(["outline", "full"]).default("outline") }),
|
|
53
|
+
execute: async (args) => args.view === "full" ? { document } : {
|
|
54
|
+
outline: {
|
|
55
|
+
entrySceneId: document.entrySceneId,
|
|
56
|
+
scenes: document.scenes.map((scene) => ({ id: scene.id, name: scene.name, environment: scene.environment,
|
|
57
|
+
entities: scene.entities.map((entity) => ({ id: entity.id, name: entity.name, light: entity.light3d?.kind })) }))
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
name: "edit_native_game",
|
|
63
|
+
description: "Apply ordered native 3D game draft ops atomically.",
|
|
64
|
+
parameters: z.object({ ops: z.array(gameDocumentOp3D).min(1) }),
|
|
65
|
+
execute: async (args) => {
|
|
66
|
+
const parsed = z.array(gameDocumentOp3D).parse(args.ops);
|
|
67
|
+
try {
|
|
68
|
+
document = applyGameOps3D(document, parsed);
|
|
69
|
+
return { document };
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
if (error instanceof GameOpError)
|
|
73
|
+
return { error: error.message, issues: error.issues };
|
|
74
|
+
throw error;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
finalState: () => document
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/** Parses a lifecycle-object script source, or undefined when it is not one. */
|
|
83
|
+
function lifecycleObject(source) {
|
|
84
|
+
try {
|
|
85
|
+
const program = acorn.parse(`(${source})`, { ecmaVersion: "latest" });
|
|
86
|
+
const expression = program.body.length === 1 ? program.body[0].expression : undefined;
|
|
87
|
+
return expression?.type === "ObjectExpression" ? expression : undefined;
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
// Source that does not parse is not a lifecycle object.
|
|
91
|
+
return undefined;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/** Every AST node under `node`, including itself. */
|
|
95
|
+
function scriptNodes(node) {
|
|
96
|
+
const nodes = [];
|
|
97
|
+
const pending = [node];
|
|
98
|
+
while (pending.length > 0) {
|
|
99
|
+
const value = pending.pop();
|
|
100
|
+
if (Array.isArray(value)) {
|
|
101
|
+
pending.push(...value);
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
if (typeof value !== "object" || value === null || typeof value.type !== "string") {
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
nodes.push(value);
|
|
108
|
+
for (const [key, child] of Object.entries(value)) {
|
|
109
|
+
if (key !== "type" && typeof child === "object") {
|
|
110
|
+
pending.push(child);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return nodes;
|
|
115
|
+
}
|
|
116
|
+
/** A property's key as written, quoted or not. */
|
|
117
|
+
function propertyName(property) {
|
|
118
|
+
const key = property.key;
|
|
119
|
+
if (property.computed === true || !key) {
|
|
120
|
+
return undefined;
|
|
121
|
+
}
|
|
122
|
+
return key.type === "Identifier" ? key.name : key.type === "Literal" ? String(key.value) : undefined;
|
|
123
|
+
}
|
|
124
|
+
/** A constant string or number literal, including a template literal without expressions. */
|
|
125
|
+
function constantValue(node) {
|
|
126
|
+
const value = node;
|
|
127
|
+
if (value?.type === "Literal") {
|
|
128
|
+
return value.value;
|
|
129
|
+
}
|
|
130
|
+
if (value?.type === "TemplateLiteral" && value.expressions.length === 0) {
|
|
131
|
+
return (value.quasis[0]).value.cooked;
|
|
132
|
+
}
|
|
133
|
+
return undefined;
|
|
134
|
+
}
|
|
135
|
+
/** The object's own properties by name. Spreads and computed keys are left out. */
|
|
136
|
+
function objectProperties(node) {
|
|
137
|
+
const value = node;
|
|
138
|
+
if (value?.type !== "ObjectExpression") {
|
|
139
|
+
return undefined;
|
|
140
|
+
}
|
|
141
|
+
const properties = new Map();
|
|
142
|
+
for (const property of value.properties) {
|
|
143
|
+
const name = property.type === "Property" ? propertyName(property) : undefined;
|
|
144
|
+
if (name !== undefined) {
|
|
145
|
+
properties.set(name, property.value);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return properties;
|
|
149
|
+
}
|
|
150
|
+
/** The hook's function with its parameters and body, whether written as a method or as a function-valued property. */
|
|
151
|
+
function hookFunction(object, hook) {
|
|
152
|
+
const value = objectProperties(object)?.get(hook);
|
|
153
|
+
return value?.type === "FunctionExpression" || value?.type === "ArrowFunctionExpression" ? value : undefined;
|
|
154
|
+
}
|
|
155
|
+
/** onStart builds {kind: "emit", event: "bonus", payload: {points: 5}, target: {entityId: "gem"}}. Target fields are strict, as in the command schema. */
|
|
156
|
+
function emitsTargetedBonus(source) {
|
|
157
|
+
const object = lifecycleObject(source);
|
|
158
|
+
return object !== undefined && scriptNodes(hookFunction(object, "onStart")).some((node) => {
|
|
159
|
+
const command = objectProperties(node);
|
|
160
|
+
const payload = objectProperties(command?.get("payload"));
|
|
161
|
+
const target = objectProperties(command?.get("target"));
|
|
162
|
+
return constantValue(command?.get("kind")) === "emit" && constantValue(command?.get("event")) === "bonus"
|
|
163
|
+
&& constantValue(payload?.get("points")) === 5 && target?.size === 1 && constantValue(target.get("entityId")) === "gem";
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
/** onEvent reads `points` from the event payload, by member access or destructuring. */
|
|
167
|
+
function readsEventPoints(source) {
|
|
168
|
+
const object = lifecycleObject(source);
|
|
169
|
+
const names = scriptNodes(object && hookFunction(object, "onEvent")).flatMap((node) => node.type === "MemberExpression" && node.computed !== true ? [node.property.name]
|
|
170
|
+
: node.type === "MemberExpression" ? [String(constantValue(node.property))]
|
|
171
|
+
: node.type === "Property" ? [propertyName(node) ?? ""] : []);
|
|
172
|
+
return names.includes("payload") && names.includes("points");
|
|
173
|
+
}
|
|
174
|
+
export const GAME_TOOL_LOOP_CASES = [{
|
|
175
|
+
id: "entity-tags-properties",
|
|
176
|
+
description: "Author native entity tags and nested JSON properties through public edit ops.",
|
|
177
|
+
objective: "Give player the hero tag and properties health 10 and nested nullable null, replacing prior properties.",
|
|
178
|
+
createBridge: () => createGameToolBridge({ ...createTopDownRoomGame("metadata-eval"), schemaVersion: 4, engineVersion: "3" }),
|
|
179
|
+
systemPrompt: "Use get_native_game and edit_native_game. update_entity replaces tags and the whole props map. Nested null is data.",
|
|
180
|
+
expect: {
|
|
181
|
+
requiredTools: ["edit_native_game"], noErrorResults: true, minToolCalls: 1, maxToolCalls: 5,
|
|
182
|
+
finalState: [{ name: "playerMetadata", detail: "Player tags or nested properties differ from the requested values.",
|
|
183
|
+
test: document => {
|
|
184
|
+
const player = document.scenes[0].entities.find(entity => entity.id === "player");
|
|
185
|
+
return z.object({ tags: z.tuple([z.literal("hero")]), props: z.strictObject({ health: z.literal(10), nested: z.strictObject({ nullable: z.null() }) }) }).safeParse(player).success;
|
|
186
|
+
} }]
|
|
187
|
+
}
|
|
188
|
+
}, {
|
|
189
|
+
id: "audio-mixer-buses",
|
|
190
|
+
description: "Author the document audio mixer: a user bus, an asset route and an event-driven mixer snapshot.",
|
|
191
|
+
objective: "Add an ambience bus under sfx at volume 0.6, play the sfx.collect slot on the ui bus, and when the player wins fade music to volume 0.2 over 30 ticks with a victory mixer snapshot.",
|
|
192
|
+
createBridge: () => createGameToolBridge(createTopDownRoomGame("mixer-eval")),
|
|
193
|
+
systemPrompt: "Use get_native_game and edit_native_game. set_audio {mixer} replaces document audio.mixer with buses, assetBuses, ducking, snapshots and transitions. Transitions use on {kind: win}.",
|
|
194
|
+
expect: {
|
|
195
|
+
requiredTools: ["edit_native_game"], noErrorResults: true, minToolCalls: 1, maxToolCalls: 5,
|
|
196
|
+
finalState: [{ name: "mixer", detail: "The mixer lacks the ambience bus, the ui route or the victory transition.",
|
|
197
|
+
test: document => {
|
|
198
|
+
const mixer = document.audio?.mixer;
|
|
199
|
+
if (!mixer) {
|
|
200
|
+
return false;
|
|
201
|
+
}
|
|
202
|
+
const transition = mixer.transitions.find((rule) => rule.on.kind === "win");
|
|
203
|
+
return mixer.buses.ambience?.parent === "sfx" && mixer.buses.ambience.volume === 0.6 && mixer.assetBuses["sfx.collect"] === "ui" &&
|
|
204
|
+
transition?.fadeTicks === 30 && mixer.snapshots[transition.snapshot]?.buses.music?.volume === 0.2;
|
|
205
|
+
} }]
|
|
206
|
+
}
|
|
207
|
+
}, {
|
|
208
|
+
id: "procedural-sky",
|
|
209
|
+
description: "Author a procedural sky linked to the scene's directional light through public 3D edit ops.",
|
|
210
|
+
objective: "Give the 3D scene a procedural sky whose sun follows the sun light, with turbidity 4, while keeping its background, ambient and shadow settings.",
|
|
211
|
+
createBridge: () => createGameToolBridge3D(createNative3DGame("sky-eval")),
|
|
212
|
+
systemPrompt: "Use get_native_game and edit_native_game. update_scene replaces the whole environment object, so send its existing fields with the new sky.",
|
|
213
|
+
expect: {
|
|
214
|
+
requiredTools: ["edit_native_game"], noErrorResults: true, minToolCalls: 1, maxToolCalls: 5,
|
|
215
|
+
finalState: [{ name: "proceduralSky", detail: "The scene sky is not procedural, is not linked to the sun light, or lost its other environment settings.",
|
|
216
|
+
test: document => {
|
|
217
|
+
const initial = createNative3DGame("sky-eval").scenes[0].environment;
|
|
218
|
+
const scene = document.scenes[0];
|
|
219
|
+
if (document.schemaVersion !== 3 || !scene || !("environment" in scene)) {
|
|
220
|
+
return false;
|
|
221
|
+
}
|
|
222
|
+
const { sky, ...rest } = scene.environment;
|
|
223
|
+
const { sky: _initialSky, ...initialRest } = initial;
|
|
224
|
+
return sky?.kind === "procedural" && sky.sunEntityId === "sun" && sky.turbidity === 4 && JSON.stringify(rest) === JSON.stringify(initialRest);
|
|
225
|
+
} }]
|
|
226
|
+
}
|
|
227
|
+
}, {
|
|
228
|
+
id: "script-parameters",
|
|
229
|
+
description: "Tune a script's declared inspector parameters through set_script_params without editing its source.",
|
|
230
|
+
objective: "The player's script declares speed and target params. Set speed to 6 and target to the gem entity. Do not change the script source.",
|
|
231
|
+
createBridge: () => {
|
|
232
|
+
const base = createTopDownRoomGame("script-params-eval");
|
|
233
|
+
return createGameToolBridge(gameDocument.parse({ ...base, schemaVersion: 4, engineVersion: "3", scenes: base.scenes.map((scene) => ({ ...scene,
|
|
234
|
+
entities: scene.entities.map((entity) => entity.id === "player" ? { ...entity, behaviors: [...entity.behaviors, { kind: "script",
|
|
235
|
+
source: SCRIPT_PARAMS_EVAL_SOURCE, params: { speed: { type: "number", default: 2, minimum: 0, maximum: 10 }, target: { type: "entity" } } }] } : entity) })) }));
|
|
236
|
+
},
|
|
237
|
+
systemPrompt: "Use get_native_game and edit_native_game. set_script_params {entity_id, index, values} sets declared script params by behavior index.",
|
|
238
|
+
expect: {
|
|
239
|
+
requiredTools: ["edit_native_game"], noErrorResults: true, minToolCalls: 1, maxToolCalls: 5,
|
|
240
|
+
finalState: [{ name: "playerScriptParams", detail: "The player's script values or source differ from the request.",
|
|
241
|
+
test: document => {
|
|
242
|
+
const script = document.scenes[0].entities.find(entity => entity.id === "player")?.behaviors.find(behavior => behavior.kind === "script");
|
|
243
|
+
return z.object({ source: z.literal(SCRIPT_PARAMS_EVAL_SOURCE), values: z.strictObject({ speed: z.literal(6), target: z.literal("gem") }) }).safeParse(script).success;
|
|
244
|
+
} }]
|
|
245
|
+
}
|
|
246
|
+
}, {
|
|
247
|
+
id: "particle-emitter",
|
|
248
|
+
description: "Author a particles component with a death sub-emitter through public edit ops.",
|
|
249
|
+
objective: "Give player a particles component: a looping emitter trail at rate 20 whose particles fire 3 particles from a second emitter sparks on death. sparks does not play on start.",
|
|
250
|
+
createBridge: () => createGameToolBridge({ ...createTopDownRoomGame("particles-eval"), schemaVersion: 2 }),
|
|
251
|
+
systemPrompt: "Use get_native_game and edit_native_game. update_entity sets the whole particles component as { emitters: [...] }. onDeath lists { emitter, count } for emitters of the same component.",
|
|
252
|
+
expect: {
|
|
253
|
+
requiredTools: ["edit_native_game"], noErrorResults: true, minToolCalls: 1, maxToolCalls: 5,
|
|
254
|
+
finalState: [{ name: "playerParticles", detail: "Player has no trail emitter that fires sparks on death.",
|
|
255
|
+
test: document => {
|
|
256
|
+
const emitters = document.scenes[0].entities.find(entity => entity.id === "player")?.particles?.emitters ?? [];
|
|
257
|
+
const trail = emitters.find(emitter => emitter.id === "trail");
|
|
258
|
+
const sparks = emitters.find(emitter => emitter.id === "sparks");
|
|
259
|
+
return trail?.rate === 20 && trail.loop && trail.onDeath.some(sub => sub.emitter === "sparks" && sub.count === 3) && sparks?.playOnStart === false;
|
|
260
|
+
} }]
|
|
261
|
+
}
|
|
262
|
+
}, {
|
|
263
|
+
id: "render-culling",
|
|
264
|
+
description: "Author a 3D cull layer, a frame budget and per-entity distance culling through public edit ops.",
|
|
265
|
+
objective: "Declare a cull layer named props that hides entities beyond 40 units, put the crate and the pickup on it, hide the ramp beyond 25 units, and set a draw call budget of 300.",
|
|
266
|
+
createBridge: () => createGameToolBridge3D(createNative3DGame("culling-eval")),
|
|
267
|
+
systemPrompt: "Use get_native_game and edit_native_game. set_performance {performance} replaces document performance with cullLayers {name: {maxDistance}} and budgets {drawCalls?, triangles?, particles?, voices?}. update_entity sets renderCulling {layer?, maxDistance?} on an entity.",
|
|
268
|
+
expect: {
|
|
269
|
+
requiredTools: ["edit_native_game"], noErrorResults: true, minToolCalls: 1, maxToolCalls: 5,
|
|
270
|
+
finalState: [{ name: "renderCulling", detail: "The props layer, the entity culling settings or the draw call budget differ from the request.",
|
|
271
|
+
test: document => {
|
|
272
|
+
if (document.schemaVersion !== 3) {
|
|
273
|
+
return false;
|
|
274
|
+
}
|
|
275
|
+
const culling = (id) => document.scenes[0].entities.find(entity => entity.id === id)?.renderCulling;
|
|
276
|
+
return document.performance?.cullLayers?.props?.maxDistance === 40 && document.performance.budgets?.drawCalls === 300 &&
|
|
277
|
+
culling("crate")?.layer === "props" && culling("pickup")?.layer === "props" && culling("ramp")?.maxDistance === 25;
|
|
278
|
+
} }]
|
|
279
|
+
}
|
|
280
|
+
}, {
|
|
281
|
+
id: "input-bindings",
|
|
282
|
+
description: "Author a document input map through set_game input_bindings while other actions keep their generated defaults.",
|
|
283
|
+
objective: "Bind the left action to the J key and gamepad button 14 only. Leave every other action on its default bindings.",
|
|
284
|
+
createBridge: () => createGameToolBridge(createTopDownRoomGame("bindings-eval")),
|
|
285
|
+
systemPrompt: "Use get_native_game and edit_native_game. set_game input_bindings replaces the whole input map: {actions: {action: [binding]}, axes: {}}. A key binding is {kind:\"key\", code} with a KeyboardEvent.code, a gamepad button is {kind:\"gamepadButton\", button}. Actions not listed keep their defaults.",
|
|
286
|
+
expect: {
|
|
287
|
+
requiredTools: ["edit_native_game"], noErrorResults: true, minToolCalls: 1, maxToolCalls: 5,
|
|
288
|
+
finalState: [{ name: "leftBinding", detail: "The input map does not bind left to exactly KeyJ and gamepad button 14, or it binds other actions.",
|
|
289
|
+
test: document => z.object({ actions: z.strictObject({ left: z.tuple([z.object({ kind: z.literal("key"), code: z.literal("KeyJ") }), z.object({ kind: z.literal("gamepadButton"), button: z.literal(14) })]) }) })
|
|
290
|
+
.safeParse(document.inputBindings).success
|
|
291
|
+
|| z.object({ actions: z.strictObject({ left: z.tuple([z.object({ kind: z.literal("gamepadButton"), button: z.literal(14) }), z.object({ kind: z.literal("key"), code: z.literal("KeyJ") })]) }) })
|
|
292
|
+
.safeParse(document.inputBindings).success }]
|
|
293
|
+
}
|
|
294
|
+
}, {
|
|
295
|
+
id: "spatial-audio-source",
|
|
296
|
+
description: "Position an entity's sound effect in the world with spatial audio settings on its audio source.",
|
|
297
|
+
objective: "Make the gem's collect sound spatial: full volume within 2 units of the camera, fading linearly to silence at 20 units.",
|
|
298
|
+
createBridge: () => createGameToolBridge(createTopDownRoomGame("spatial-eval")),
|
|
299
|
+
systemPrompt: "Use get_native_game and edit_native_game. update_entity set audioSource {spatial, minDistance, maxDistance, rolloff, distanceModel: linear|inverse|exponential, cone, doppler} merges into the entity's audio source.",
|
|
300
|
+
expect: {
|
|
301
|
+
requiredTools: ["edit_native_game"], noErrorResults: true, minToolCalls: 1, maxToolCalls: 5,
|
|
302
|
+
finalState: [{ name: "spatialGem", detail: "The gem's audio source is not spatial with a linear 2 to 20 unit falloff.",
|
|
303
|
+
test: document => {
|
|
304
|
+
const audio = document.scenes.map((scene) => scene.entities.find((entity) => entity.id === "gem")).find(Boolean)?.audioSource;
|
|
305
|
+
return audio?.spatial === true && audio.minDistance === 2 && audio.maxDistance === 20 && audio.distanceModel === "linear" && (audio.rolloff ?? 1) === 1;
|
|
306
|
+
} }]
|
|
307
|
+
}
|
|
308
|
+
}, {
|
|
309
|
+
id: "particle-rendering",
|
|
310
|
+
description: "Author particle render settings: additive blend, a sprite sheet, a lighting opt-out and a draw layer.",
|
|
311
|
+
objective: "Give player a particles component with one emitter named embers that blends additively, ignores scene lighting, draws on layer 5 and uses the gem image as a sheet of 4 columns and 2 rows.",
|
|
312
|
+
createBridge: () => createGameToolBridge({ ...createTopDownRoomGame("particle-render-eval"), schemaVersion: 2 }),
|
|
313
|
+
systemPrompt: "Use get_native_game and edit_native_game. update_entity sets the whole particles component as { emitters: [...] }. An emitter takes blend (normal or additive), unlit, layer and sprite { assetId, columns, rows, frameCount?, cycles?, sampling? }.",
|
|
314
|
+
expect: {
|
|
315
|
+
requiredTools: ["edit_native_game"], noErrorResults: true, minToolCalls: 1, maxToolCalls: 5,
|
|
316
|
+
finalState: [{ name: "playerEmbers", detail: "Player has no embers emitter with additive blend, unlit, layer 5 and a 4 by 2 gem sheet.",
|
|
317
|
+
test: document => {
|
|
318
|
+
const embers = document.scenes[0].entities.find(entity => entity.id === "player")?.particles?.emitters.find(emitter => emitter.id === "embers");
|
|
319
|
+
return embers?.blend === "additive" && embers.unlit === true && embers.layer === 5 &&
|
|
320
|
+
embers.sprite?.assetId === "gem" && embers.sprite.columns === 4 && embers.sprite.rows === 2;
|
|
321
|
+
} }]
|
|
322
|
+
}
|
|
323
|
+
}, {
|
|
324
|
+
id: "lifecycle-timer-script",
|
|
325
|
+
description: "Author a lifecycle-object script whose onStart hook schedules a repeating timer through public edit ops.",
|
|
326
|
+
objective: "Add a script behavior to the player written as a lifecycle object. Its onStart hook calls every(60, \"beat\") and its beat method emits the event heartbeat. Keep the player's other behaviors.",
|
|
327
|
+
createBridge: () => createGameToolBridge(createTopDownRoomGame("lifecycle-eval")),
|
|
328
|
+
systemPrompt: "Use get_native_game and edit_native_game. update_entity sets the whole behaviors array. A script behavior is {kind: \"script\", source}. The source may be an object of hooks such as onStart and onUpdate. every(ticks, name) calls the object's method name every ticks ticks, and a method returns {state?, commands?}.",
|
|
329
|
+
expect: {
|
|
330
|
+
requiredTools: ["edit_native_game"], noErrorResults: true, minToolCalls: 1, maxToolCalls: 5,
|
|
331
|
+
finalState: [{ name: "playerHeartbeat", detail: "The player has no lifecycle script that schedules every(60, \"beat\") and emits heartbeat, or lost a behavior.",
|
|
332
|
+
test: document => {
|
|
333
|
+
const behaviors = document.scenes[0].entities.find(entity => entity.id === "player")?.behaviors ?? [];
|
|
334
|
+
const source = behaviors.find(behavior => behavior.kind === "script")?.source ?? "";
|
|
335
|
+
return behaviors.some(behavior => behavior.kind === "movement") && behaviors.some(behavior => behavior.kind === "winWhenCollected")
|
|
336
|
+
&& /^\s*\(?\s*\{/.test(source) && /onStart/.test(source) && /every\(\s*60\s*,\s*["'`]beat["'`]\s*\)/.test(source)
|
|
337
|
+
&& /\bbeat\s*(\(|:)/.test(source) && /heartbeat/.test(source);
|
|
338
|
+
} }]
|
|
339
|
+
}
|
|
340
|
+
}, {
|
|
341
|
+
id: "post-processing",
|
|
342
|
+
description: "Author a 3D post-processing stack with AgX tone mapping, bloom and SMAA through public 3D edit ops.",
|
|
343
|
+
objective: "Give the 3D scene post-processing with AgX tone mapping, exposure 1.2, bloom at intensity 1.5 and SMAA antialiasing, while keeping its background, ambient and shadow settings.",
|
|
344
|
+
createBridge: () => createGameToolBridge3D(createNative3DGame("post-eval")),
|
|
345
|
+
systemPrompt: "Use get_native_game and edit_native_game. update_scene replaces the whole environment object, so send its existing fields with the new postProcessing {exposure, toneMapping, bloom?, vignette?, antialias}.",
|
|
346
|
+
expect: {
|
|
347
|
+
requiredTools: ["edit_native_game"], noErrorResults: true, minToolCalls: 1, maxToolCalls: 5,
|
|
348
|
+
finalState: [{ name: "postProcessing", detail: "The scene post-processing differs from the request, or the scene lost its other environment settings.",
|
|
349
|
+
test: document => {
|
|
350
|
+
const initial = createNative3DGame("post-eval").scenes[0].environment;
|
|
351
|
+
const scene = document.scenes[0];
|
|
352
|
+
if (document.schemaVersion !== 3 || !scene || !("environment" in scene)) {
|
|
353
|
+
return false;
|
|
354
|
+
}
|
|
355
|
+
const { postProcessing, ...rest } = scene.environment;
|
|
356
|
+
const { postProcessing: _initialPost, ...initialRest } = initial;
|
|
357
|
+
return postProcessing?.enabled === true && postProcessing.toneMapping === "agx" && postProcessing.exposure === 1.2 &&
|
|
358
|
+
postProcessing.bloom?.intensity === 1.5 && postProcessing.antialias === "smaa" && JSON.stringify(rest) === JSON.stringify(initialRest);
|
|
359
|
+
} }]
|
|
360
|
+
}
|
|
361
|
+
}, {
|
|
362
|
+
id: "cascaded-shadows",
|
|
363
|
+
description: "Author cascaded sun shadows and a per-light normal bias through public 3D edit ops.",
|
|
364
|
+
objective: "Give the 3D scene cascaded sun shadows with 4 cascades that reach 150 meters, keep its other environment settings, and set the sun light's shadow normal bias to 0.03.",
|
|
365
|
+
createBridge: () => createGameToolBridge3D(createNative3DGame("shadow-eval")),
|
|
366
|
+
systemPrompt: "Use get_native_game and edit_native_game. update_scene replaces the whole environment object, so send its existing fields. environment.shadows takes cascades {count 2-4, split 0-1, maxDistance}. update_entity sets light3d fields such as shadowBias and shadowNormalBias.",
|
|
367
|
+
expect: {
|
|
368
|
+
requiredTools: ["edit_native_game"], noErrorResults: true, minToolCalls: 1, maxToolCalls: 5,
|
|
369
|
+
finalState: [{ name: "cascadedShadows", detail: "The scene does not cascade 4 shadow maps over 150 m, lost other environment settings, or the sun has no 0.03 normal bias.",
|
|
370
|
+
test: document => {
|
|
371
|
+
const initial = createNative3DGame("shadow-eval").scenes[0].environment;
|
|
372
|
+
const scene = document.scenes[0];
|
|
373
|
+
if (document.schemaVersion !== 3 || !scene || !("environment" in scene)) {
|
|
374
|
+
return false;
|
|
375
|
+
}
|
|
376
|
+
const { cascades, ...shadows } = scene.environment.shadows;
|
|
377
|
+
const sun = scene.entities.find(entity => entity.id === "sun")?.light3d;
|
|
378
|
+
return cascades?.count === 4 && cascades.maxDistance === 150 && JSON.stringify(shadows) === JSON.stringify(initial.shadows) &&
|
|
379
|
+
JSON.stringify({ ...scene.environment, shadows: initial.shadows }) === JSON.stringify(initial) &&
|
|
380
|
+
sun?.kind === "directional" && sun.castShadow && sun.shadowNormalBias === 0.03;
|
|
381
|
+
} }]
|
|
382
|
+
}
|
|
383
|
+
}, {
|
|
384
|
+
id: "hud-widget-tree",
|
|
385
|
+
description: "Author a document HUD tree with a score panel and a pause button that presses an input action, through set_game and set_ui.",
|
|
386
|
+
objective: "Add a pause input action. Then give the game a HUD with a panel anchored to the top-right corner holding a text node with id score, and a button with id pause anchored to the bottom centre that presses the pause action.",
|
|
387
|
+
createBridge: () => createGameToolBridge(createTopDownRoomGame("hud-eval")),
|
|
388
|
+
systemPrompt: "Use get_native_game and edit_native_game. set_game input_actions replaces the action list. set_ui {ui: {nodes}} replaces the document HUD tree. Nodes are {kind: panel|image|text|bar|button|stack|grid, id, parent?, anchor?: {x, y} in 0..1, pivot?, offset?: {x, y} pixels, width?, height?}. A child names an earlier container (panel, stack or grid) as parent. A button is {kind: \"button\", id, action, text?, width, height} and presses its input action. A panel needs width and height.",
|
|
389
|
+
expect: {
|
|
390
|
+
requiredTools: ["edit_native_game"], noErrorResults: true, minToolCalls: 1, maxToolCalls: 6,
|
|
391
|
+
finalState: [{ name: "hudTree", detail: "The HUD lacks a top-right panel holding text score, or a bottom-centre button pause that presses the pause action.",
|
|
392
|
+
test: document => {
|
|
393
|
+
const nodes = "dimension" in document ? [] : document.ui?.nodes ?? [];
|
|
394
|
+
const panel = nodes.find(node => node.kind === "panel" && node.anchor?.x === 1 && node.anchor.y === 0);
|
|
395
|
+
const score = nodes.find(node => node.id === "score");
|
|
396
|
+
const pause = nodes.find(node => node.id === "pause");
|
|
397
|
+
return document.inputActions.includes("pause") && panel !== undefined && score?.kind === "text" && score.parent === panel.id
|
|
398
|
+
&& pause?.kind === "button" && pause.action === "pause" && pause.anchor?.x === 0.5 && pause.anchor.y === 1;
|
|
399
|
+
} }]
|
|
400
|
+
}
|
|
401
|
+
}, {
|
|
402
|
+
id: "collision-layer-matrix",
|
|
403
|
+
description: "Author named 3D collision layers, a layer matrix and per-collider layers so derived bits filter contacts.",
|
|
404
|
+
objective: "Declare collision layers world, player and debris. Put the player on player and the crate on debris. The player must pass through debris, while debris still collides with the world.",
|
|
405
|
+
createBridge: () => createGameToolBridge3D(createNative3DGame("collision-layers-eval")),
|
|
406
|
+
systemPrompt: "Use get_native_game and edit_native_game. set_game {collision_layers: [name], collision_matrix: [[a, b]]} names the 3D collision layers and lists the layer pairs that do not collide. update_entity sets collider3d.layer to a declared name.",
|
|
407
|
+
expect: {
|
|
408
|
+
requiredTools: ["edit_native_game"], noErrorResults: true, minToolCalls: 1, maxToolCalls: 5,
|
|
409
|
+
finalState: [{ name: "collisionLayers", detail: "The layers, collider layers or matrix do not let the player pass through debris while debris meets the world.",
|
|
410
|
+
test: document => {
|
|
411
|
+
if (document.schemaVersion !== 3) {
|
|
412
|
+
return false;
|
|
413
|
+
}
|
|
414
|
+
const layer = (id) => document.scenes[0].entities.find(entity => entity.id === id)?.collider3d?.layer;
|
|
415
|
+
const collide = (a, b) => {
|
|
416
|
+
const left = collisionLayerBits3D(document, a);
|
|
417
|
+
const right = collisionLayerBits3D(document, b);
|
|
418
|
+
return (left.category & right.mask) !== 0 && (right.category & left.mask) !== 0;
|
|
419
|
+
};
|
|
420
|
+
return ["world", "player", "debris"].every(name => document.collisionLayers?.includes(name)) &&
|
|
421
|
+
layer("player") === "player" && layer("crate") === "debris" && !collide("player", "debris") && collide("debris", "world");
|
|
422
|
+
} }]
|
|
423
|
+
}
|
|
424
|
+
}, {
|
|
425
|
+
id: "typed-event-script",
|
|
426
|
+
description: "Author a targeted emit with a JSON payload and a receiving onEvent hook through public edit ops.",
|
|
427
|
+
objective: "Add a script behavior to the player written as a lifecycle object whose onStart hook emits the event bonus with the payload {points: 5} targeted at the entity gem. Add a lifecycle script to the gem whose onEvent hook stores the received payload's points in its state. Keep both entities' other behaviors.",
|
|
428
|
+
createBridge: () => createGameToolBridge(createTopDownRoomGame("typed-event-eval")),
|
|
429
|
+
systemPrompt: "Use get_native_game and edit_native_game. update_entity sets the whole behaviors array. A script behavior is {kind: \"script\", source}. The source may be an object of hooks such as onStart, onEvent and onUpdate, each returning {state?, commands?}. The emit command is {kind: \"emit\", event, payload?, target?} where target is {entityId} or {tag}. onEvent(input, event) receives events that reach its entity, with the JSON payload on event.payload.",
|
|
430
|
+
expect: {
|
|
431
|
+
requiredTools: ["edit_native_game"], noErrorResults: true, minToolCalls: 1, maxToolCalls: 6,
|
|
432
|
+
finalState: [{ name: "targetedBonus", detail: "The player does not emit bonus with payload points 5 targeted at gem, the gem has no onEvent hook reading the payload, or a behavior was lost.",
|
|
433
|
+
test: document => {
|
|
434
|
+
const entities = document.scenes[0].entities;
|
|
435
|
+
const behaviors = (id) => entities.find(entity => entity.id === id)?.behaviors ?? [];
|
|
436
|
+
const source = (id) => behaviors(id).find(behavior => behavior.kind === "script")?.source ?? "";
|
|
437
|
+
return behaviors("player").some(behavior => behavior.kind === "movement") && behaviors("gem").some(behavior => behavior.kind === "collectible")
|
|
438
|
+
&& emitsTargetedBonus(source("player")) && readsEventPoints(source("gem"));
|
|
439
|
+
} }]
|
|
440
|
+
}
|
|
441
|
+
}];
|
|
442
|
+
/** Headless 3D game editor bridge that exercises the production 3D op reducer. */
|
|
443
|
+
export function createGame3DToolBridge(initial) {
|
|
444
|
+
let document = gameDocument3D.parse(initial);
|
|
445
|
+
return {
|
|
446
|
+
tools: [
|
|
447
|
+
{ name: "get_native_game", description: "Read the current native 3D game draft.", parameters: z.object({}), execute: async () => ({ document }) },
|
|
448
|
+
{
|
|
449
|
+
name: "edit_native_game",
|
|
450
|
+
description: "Apply ordered native 3D game draft ops atomically.",
|
|
451
|
+
parameters: z.object({ ops: z.array(gameDocumentOp3D).min(1) }),
|
|
452
|
+
execute: async (args) => {
|
|
453
|
+
try {
|
|
454
|
+
document = applyGameOps3D(document, z.array(gameDocumentOp3D).parse(args.ops));
|
|
455
|
+
return { document };
|
|
456
|
+
}
|
|
457
|
+
catch (error) {
|
|
458
|
+
if (error instanceof GameOpError)
|
|
459
|
+
return { error: error.message, issues: error.issues };
|
|
460
|
+
throw error;
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
],
|
|
465
|
+
finalState: () => document
|
|
466
|
+
};
|
|
467
|
+
}
|
|
468
|
+
function riggedNative3DGame() {
|
|
469
|
+
const document = createNative3DGame("animation-graph-eval");
|
|
470
|
+
document.assets.hero = { mediaKind: "model", assetId: "hero", digest: "hero-digest", required: true, format: "glb", preparationVersion: "1",
|
|
471
|
+
bounds: { min: { x: -0.5, y: 0, z: -0.5 }, max: { x: 0.5, y: 2, z: 0.5 } }, nodeIds: ["node:0", "node:1"], clipIds: ["clip:0", "clip:1", "clip:2"],
|
|
472
|
+
geometryBytes: 1, textureBytes: 0, triangles: 1, supportedExtensions: [] };
|
|
473
|
+
const visual = document.scenes[0].entities.find((entity) => entity.id === "player-visual");
|
|
474
|
+
if (visual) {
|
|
475
|
+
delete visual.primitive;
|
|
476
|
+
visual.model = { assetId: "hero", castShadow: true, receiveShadow: true };
|
|
477
|
+
visual.animator3d = { clips: { idle: "clip:0", walk: "clip:1", run: "clip:2" }, playbackRate: 1, loop: true, transitionTicks: 6 };
|
|
478
|
+
}
|
|
479
|
+
return document;
|
|
480
|
+
}
|
|
481
|
+
export const GAME_3D_TOOL_LOOP_CASES = [{
|
|
482
|
+
id: "animation-graph-locomotion",
|
|
483
|
+
description: "Author a speed-driven locomotion animation graph and attach it to a rigged model through public edit ops.",
|
|
484
|
+
objective: "Give player-visual an animation graph named locomotion whose base layer blends idle, walk and run by a float parameter speed (0, 2 and 6).",
|
|
485
|
+
createBridge: () => createGame3DToolBridge(riggedNative3DGame()),
|
|
486
|
+
systemPrompt: "Use get_native_game and edit_native_game. set_animation_graph {graph_id, graph} stores a document-level graph, and update_entity sets animator3d.graph to its ID. Blend points name animator3d.clips aliases.",
|
|
487
|
+
expect: {
|
|
488
|
+
requiredTools: ["edit_native_game"], noErrorResults: true, minToolCalls: 1, maxToolCalls: 6,
|
|
489
|
+
finalState: [{ name: "locomotionGraph", detail: "player-visual does not play a speed blend of idle, walk and run.",
|
|
490
|
+
test: (document) => {
|
|
491
|
+
const animator = document.scenes[0].entities.find((entity) => entity.id === "player-visual")?.animator3d;
|
|
492
|
+
const graph = animator?.graph === undefined ? undefined : document.animationGraphs?.[animator.graph];
|
|
493
|
+
const base = graph?.layers[0];
|
|
494
|
+
const motion = base ? base.states[base.initialState]?.motion : undefined;
|
|
495
|
+
return graph?.parameters.speed?.kind === "float" && motion?.kind === "blend1d" && motion.parameter === "speed" &&
|
|
496
|
+
JSON.stringify(motion.points.map((point) => [point.value, point.clip])) === JSON.stringify([[0, "idle"], [2, "walk"], [6, "run"]]);
|
|
497
|
+
} }]
|
|
498
|
+
}
|
|
499
|
+
}];
|
|
42
500
|
//# sourceMappingURL=game.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"game.js","sourceRoot":"","sources":["../../../src/evals/surfaces/game.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAqB,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGtF,4EAA4E;AAC5E,MAAM,UAAU,oBAAoB,CAAC,OAAqB;IACxD,IAAI,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3C,OAAO;QACL,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,qCAAqC;gBAClD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9E,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAC7D,OAAO,EAAE;wBACP,YAAY,EAAE,QAAQ,CAAC,YAAY;wBACnC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI;4BACtE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;qBACrJ;iBACF;aACF;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,iDAAiD;gBAC9D,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;oBACtB,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACvD,IAAI,CAAC;wBACH,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;wBAC1C,OAAO,EAAE,QAAQ,EAAE,CAAC;oBACtB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,KAAK,YAAY,WAAW;4BAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;wBACxF,MAAM,KAAK,CAAC;oBACd,CAAC;gBACH,CAAC;aACF;SACF;QACD,UAAU,EAAE,GAAG,EAAE,CAAC,QAAQ;KAC3B,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"game.js","sourceRoot":"","sources":["../../../src/evals/surfaces/game.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,8 @@ export interface SketchBridgeInitialState {
|
|
|
43
43
|
}[];
|
|
44
44
|
}
|
|
45
45
|
export interface SketchBridgeFinalState {
|
|
46
|
+
/** Recorded generation and asset references have not produced or loaded pixels. */
|
|
47
|
+
visual_output_verified: false;
|
|
46
48
|
name: string;
|
|
47
49
|
width: number;
|
|
48
50
|
height: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sketch.d.ts","sourceRoot":"","sources":["../../../src/evals/surfaces/sketch.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sketch.d.ts","sourceRoot":"","sources":["../../../src/evals/surfaces/sketch.ts"],"names":[],"mappings":"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"}
|
|
@@ -552,10 +552,12 @@ export function createSketchToolBridge(initial = {}) {
|
|
|
552
552
|
const result = {
|
|
553
553
|
ok: true,
|
|
554
554
|
layer: serialize(layer),
|
|
555
|
-
generationStarted
|
|
555
|
+
generationStarted,
|
|
556
|
+
visual_output_verified: false,
|
|
557
|
+
note: "Headless replay records the generation request only. No provider ran and no generated pixels were verified."
|
|
556
558
|
};
|
|
557
559
|
if (!generationStarted) {
|
|
558
|
-
result.note = "Generation not started (autoGenerate=false).";
|
|
560
|
+
result.note = "Generation not started (autoGenerate=false). No generated pixels were verified.";
|
|
559
561
|
}
|
|
560
562
|
return result;
|
|
561
563
|
}),
|
|
@@ -634,7 +636,12 @@ export function createSketchToolBridge(initial = {}) {
|
|
|
634
636
|
height: num(args["height"], height)
|
|
635
637
|
};
|
|
636
638
|
activeLayerId = layer.id;
|
|
637
|
-
return {
|
|
639
|
+
return {
|
|
640
|
+
ok: true,
|
|
641
|
+
layer: serialize(layer),
|
|
642
|
+
visual_output_verified: false,
|
|
643
|
+
note: "Headless replay records the image locator only. Asset bytes were not loaded or verified."
|
|
644
|
+
};
|
|
638
645
|
}),
|
|
639
646
|
tool("ui_sketch_set_color", "Set the specified image document's foreground and/or background color (hex). The foreground color is used by the brush, fill, and shape tools.", z.object({
|
|
640
647
|
foreground: z.string().optional(),
|
|
@@ -1048,6 +1055,7 @@ export function createSketchToolBridge(initial = {}) {
|
|
|
1048
1055
|
const paintedPixels = countPaintedPixels(composite());
|
|
1049
1056
|
const strokedPixels = countPaintedPixels(compositeOf(layers.filter((l) => l.strokeCount > 0)));
|
|
1050
1057
|
return {
|
|
1058
|
+
visual_output_verified: false,
|
|
1051
1059
|
name,
|
|
1052
1060
|
width,
|
|
1053
1061
|
height,
|