@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,65 +1,19 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Modules a sandboxed body may import.
|
|
3
|
-
*
|
|
4
|
-
* Nothing declares packages — not a JS script, not a Code node, not an
|
|
5
|
-
* authoring run. Every installed sandbox pack and every platform module
|
|
6
|
-
* (`@nodetool-ai/sandbox-nodetool/<namespace>`) resolves from a static import,
|
|
7
|
-
* and the body's imports are therefore the declaration.
|
|
8
|
-
*/
|
|
9
|
-
import { parseCodeBody, staticImportSpecifiers } from "@nodetool-ai/node-sdk";
|
|
10
|
-
import { SANDBOX_CAPABILITY_PACK } from "@nodetool-ai/protocol";
|
|
11
1
|
import { mountCapabilityModules } from "./codeact/capability-modules.js";
|
|
12
2
|
import { gateFromContext } from "./capabilities/gate-from-context.js";
|
|
13
3
|
import { contextSecretAvailability, createCapabilityRun } from "./capabilities/invoke.js";
|
|
14
|
-
|
|
15
|
-
* Resolve the packs a body imports against the installed catalog, ignoring
|
|
16
|
-
* platform modules (which are mounted by the capability layer, not the
|
|
17
|
-
* catalog). A body that imports no pack needs no loader at all.
|
|
18
|
-
*/
|
|
19
|
-
export function resolveImportedPacks(code, context, options = {}) {
|
|
20
|
-
const subject = options.subject ?? "The script";
|
|
21
|
-
const parsed = parseCodeBody(code);
|
|
22
|
-
if ("error" in parsed)
|
|
23
|
-
return { ok: true };
|
|
24
|
-
const mounted = options.mounted ?? new Set();
|
|
25
|
-
const packs = [
|
|
26
|
-
...new Set(staticImportSpecifiers(parsed.statements))
|
|
27
|
-
].filter((specifier) => !mounted.has(specifier) &&
|
|
28
|
-
specifier !== SANDBOX_CAPABILITY_PACK &&
|
|
29
|
-
!specifier.startsWith(`${SANDBOX_CAPABILITY_PACK}/`));
|
|
30
|
-
if (packs.length === 0)
|
|
31
|
-
return { ok: true };
|
|
32
|
-
const catalog = context.sandboxModuleCatalog;
|
|
33
|
-
if (!catalog) {
|
|
34
|
-
return {
|
|
35
|
-
ok: false,
|
|
36
|
-
error: `${subject} imports ${packs.map((s) => `"${s}"`).join(", ")}, but ` +
|
|
37
|
-
"sandbox packages cannot be resolved in this process."
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
const modules = catalog.resolveForExecution(packs.map((specifier) => ({ specifier })));
|
|
41
|
-
const errors = modules.statuses.filter((status) => status.status === "error");
|
|
42
|
-
if (errors.length > 0) {
|
|
43
|
-
return {
|
|
44
|
-
ok: false,
|
|
45
|
-
error: errors
|
|
46
|
-
.map((status) => `${status.message} (pack "${status.packName}")`)
|
|
47
|
-
.join(" ")
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
return { ok: true, modules };
|
|
51
|
-
}
|
|
4
|
+
import { resolveImportedPacks } from "./sandbox-pack-resolution.js";
|
|
52
5
|
/**
|
|
53
6
|
* Resolve the modules one script body imports. Missing packs and unknown
|
|
54
7
|
* platform namespaces fail before the guest starts.
|
|
55
8
|
*/
|
|
56
|
-
export async function mountJsScriptSandbox(code, context) {
|
|
9
|
+
export async function mountJsScriptSandbox(code, context, options = {}) {
|
|
57
10
|
// A script's capability calls go through the gate its host set (invariant
|
|
58
11
|
// I-1): a script a chat turn ran is bound by that turn's mode, and one with
|
|
59
12
|
// no host gate on its context runs headless rather than ungated. The budget
|
|
60
13
|
// comes off the same context inside `createCapabilityRun`.
|
|
61
14
|
const platform = await mountCapabilityModules(code, createCapabilityRun({
|
|
62
15
|
context,
|
|
16
|
+
signal: options.signal,
|
|
63
17
|
gate: gateFromContext(context, "JS script"),
|
|
64
18
|
availableSecrets: contextSecretAvailability(context)
|
|
65
19
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js-script-sandbox.js","sourceRoot":"","sources":["../src/js-script-sandbox.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"js-script-sandbox.js","sourceRoot":"","sources":["../src/js-script-sandbox.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAWpE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAAY,EACZ,OAA0B,EAC1B,OAAO,GAA6B,EAAE;IAEtC,0EAA0E;IAC1E,4EAA4E;IAC5E,4EAA4E;IAC5E,2DAA2D;IAC3D,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAC3C,IAAI,EACJ,mBAAmB,CAAC;QAClB,OAAO;QACP,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC;QAC3C,gBAAgB,EAAE,yBAAyB,CAAC,OAAO,CAAC;KACrD,CAAC,CACH,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;SAC1E,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE;QAChD,OAAO,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;KACvD,CAAC,CAAC;IACH,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAE5B,MAAM,KAAK,GACT,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IACpF,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS;QAAE,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC;IACtE,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/** Product concepts shared by chat and execution prompts, independent of tool availability. */
|
|
2
|
-
export declare const NODETOOL_PRODUCT_KNOWLEDGE = "# NodeTool product knowledge\n\nNodeTool is a visual AI workspace where an agent and editable documents share\nthe work. It supports text, images, audio, video, data, and
|
|
2
|
+
export declare const NODETOOL_PRODUCT_KNOWLEDGE = "# NodeTool product knowledge\n\nNodeTool is a visual AI workspace where an agent and editable documents share\nthe work. It supports text, images, audio, video, data, 3D, and games, using\nlocal models or connected providers. Explain the relevant concepts directly\nwhen asked, without requiring a skill lookup for these basics.\n\n## Projects, conversations, and files\nA project groups related work toward an outcome, such as a film, campaign,\ngame, or report. It brings together documents, assets, entities, and a\nproject conversation. Its overview derives progress and generation spend from\nthe work saved in it. A project does not require a workflow. Respect the\nactive project when creating or finding resources, and keep project ids\ndistinct from document and thread ids.\n\nA thread is a conversation with message history. Memory records facts,\ndecisions, preferences, and resource references across conversations; the\ncurrent thread's memory is shown at the start of each turn. Retrieve relevant\nhistory, memory, and documents before claiming to know a project's current\ncontents. An asset is a stored image, video, audio file, document, or other\nfile in the user's library, addressed as `asset://<id>`. Reuse its id instead\nof generating the same output again. A filesystem workspace holds the files of\none run and is distinct from both the asset library and a project.\n\n## Generation\nDirect generation makes one image, video, speech, music, transcript, or\nembedding with a model picked for the capability, and saves the result as an\nasset. Every media generation leaves a record with its status, cost, and the\nassets it produced; a generation can also run in the background and be\nawaited. Model discovery ranks the configured models for a capability, and a\nresult can name a prompting guide skill for its model line. A vision model can\ncritique, compare, or score an image against a brief.\n\n## Workflows and execution\nA workflow is a saved, repeatable graph of nodes connected through typed input\nand output ports. Nodes generate or transform media, call models, process data,\nrun code, or integrate services. Properties configure each node and connections\npass results between nodes. Workflow inputs and outputs expose the graph for\nreuse. Workflows run from the canvas, CLI, API, or a mini app, and a single\nnode can also run on its own without a graph. Creating or saving a workflow\ndoes not execute it. Validate the graph and inspect run results when execution\nis requested. A job tracks an execution's progress, outputs, and errors, and a\ntimeline render is a job too. Use direct generation for a one-off result and a\nworkflow when the user wants a reusable pipeline. Shipped example workflows\nshow worked graphs. Automation can trigger work through schedules, webhooks,\nand event nodes, subject to deployment setup.\n\n## Entities and creative continuity\nEntities are reusable characters, locations, styles, and props. A product can\nbe a prop entity. Each entity has a name, a descriptive prompt, and a reference\nimage, stored as an image asset with entity metadata. They preserve identity,\nappearance, setting, and art direction across shots and generations.\nFind and reuse existing entities before inventing replacements. Applying an\nentity adds its description to a prompt and supplies reference-image ids for\ngeneration. Pass those references to a compatible model as well as the text.\nStoryboards, scripts, and timeline clips can cast entities by id. Reusing\nreferences helps continuity but does not guarantee identical model output.\n\n## Documents\nEach document kind is edited server-side by id, whether or not the user has it\nopen; an open editor picks the change up live. Most keep versions that can be\nsnapshotted and restored.\n\n- A storyboard turns a brief or screenplay into shots: an action, camera,\n motion, and duration each, with cast entities and a board style. The board\n names its image and video models. Keyframe stills are the cheap step and\n clips the expensive one; a shot renders from its still, from the prompt, or\n from entity references. One clip can cover several shots. A board assembles\n into a timeline, and a linked voice script times its shots.\n- A voice script is a cast of speakers, each with a voice, and the lines they\n speak, with directions and pauses. Voicing a line makes an audio take; an\n edited line becomes stale until it is voiced again. A script assembles into\n a voiceover timeline whose clips carry word timings for captions. A\n JavaScript script is a different document: saved code that runs in the\n sandbox.\n- A timeline is a sequence of tracks, where the top track draws over the ones\n below. Clips are video, images, audio, text, shapes, groups, 3D models, and\n MIDI parts. Clips carry animations (presets or custom keyframe curves),\n transitions, masks, mattes, effect chains, and time remaps; markers and a\n beat grid time the cut to music. Compositions are reusable templates such as\n title cards and lower thirds. A motion-graphics piece can be authored as\n code. Validation checks structure and, at the showcase tier, density against\n shipped example timelines; composited preview frames show the actual\n picture; rendering exports a video as a job. Editing and rendering are\n separate operations.\n- A sketch is a layered image document: a canvas, layers with blend modes and\n opacity, placed images, and generation bindings for composing and editing\n images.\n- A 3D model document holds glTF objects, transforms, materials, lights, and\n cameras, and renders headlessly. A 3D model can also sit on a timeline.\n- A built-in game runs in NodeTool's own 2D engine. It has a mutable draft and\n immutable published revisions, asset slots for generated or imported art,\n audio, and fonts, a deterministic playtest that can prove a level is\n winnable, and a build step that exports a standalone web player. Shipped\n example games are benchmarks to read and install.\n- A mini app presents widgets bound to workflow operations and variables, so\n someone can run a task through a UI without editing its graph.\n- A collection indexes documents and embeddings for semantic or hybrid search\n and retrieval-augmented answers. It is distinct from an asset folder.\n\n## Discovering what this installation can do\nSkills hold reusable task instructions: shipped skills for every surface, craft\nskills for motion, sound, and direction, prompting guides for model lines, and\nthe user's own. Tools perform actions. Nodes are the building blocks of\nworkflows. Sandbox packages add importable libraries to code actions. Discover\ntheir current descriptions and schemas before using an unfamiliar feature.\nModel and provider discovery determines which text, image, video, speech,\nmusic, transcription, and embedding routes are available. Local models may\nrequire downloads and suitable hardware. Connected providers may require\ncredentials and incur usage charges. Never guess model ids, prices, configured\ncredentials, or a feature's availability here.\n\nOnly call tools exposed in this session and obey its permission mode. Product\nknowledge does not grant access. Some resource operations work headlessly,\nwhile editor tools require an open document and its id. Check available tools\nbefore asking the user to open or create a document. Read actual resources for\ncurrent state, and report completion only after the relevant tool results.\n";
|
|
3
3
|
//# sourceMappingURL=product-knowledge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product-knowledge.d.ts","sourceRoot":"","sources":["../../src/prompts/product-knowledge.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,eAAO,MAAM,0BAA0B,
|
|
1
|
+
{"version":3,"file":"product-knowledge.d.ts","sourceRoot":"","sources":["../../src/prompts/product-knowledge.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,eAAO,MAAM,0BAA0B,s2OAqHtC,CAAC"}
|
|
@@ -2,36 +2,49 @@
|
|
|
2
2
|
export const NODETOOL_PRODUCT_KNOWLEDGE = `# NodeTool product knowledge
|
|
3
3
|
|
|
4
4
|
NodeTool is a visual AI workspace where an agent and editable documents share
|
|
5
|
-
the work. It supports text, images, audio, video, data, and
|
|
6
|
-
models or connected providers. Explain the relevant concepts directly
|
|
7
|
-
asked, without requiring a skill lookup for these basics.
|
|
5
|
+
the work. It supports text, images, audio, video, data, 3D, and games, using
|
|
6
|
+
local models or connected providers. Explain the relevant concepts directly
|
|
7
|
+
when asked, without requiring a skill lookup for these basics.
|
|
8
8
|
|
|
9
9
|
## Projects, conversations, and files
|
|
10
10
|
A project groups related work toward an outcome, such as a film, campaign,
|
|
11
|
-
or report. It brings together
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
game, or report. It brings together documents, assets, entities, and a
|
|
12
|
+
project conversation. Its overview derives progress and generation spend from
|
|
13
|
+
the work saved in it. A project does not require a workflow. Respect the
|
|
14
|
+
active project when creating or finding resources, and keep project ids
|
|
15
|
+
distinct from document and thread ids.
|
|
16
16
|
|
|
17
|
-
A thread is a conversation with message history.
|
|
18
|
-
decisions, and resource references
|
|
19
|
-
memory
|
|
20
|
-
|
|
21
|
-
An asset is a stored image, video, audio file, document, or other
|
|
22
|
-
|
|
17
|
+
A thread is a conversation with message history. Memory records facts,
|
|
18
|
+
decisions, preferences, and resource references across conversations; the
|
|
19
|
+
current thread's memory is shown at the start of each turn. Retrieve relevant
|
|
20
|
+
history, memory, and documents before claiming to know a project's current
|
|
21
|
+
contents. An asset is a stored image, video, audio file, document, or other
|
|
22
|
+
file in the user's library, addressed as \`asset://<id>\`. Reuse its id instead
|
|
23
|
+
of generating the same output again. A filesystem workspace holds the files of
|
|
24
|
+
one run and is distinct from both the asset library and a project.
|
|
25
|
+
|
|
26
|
+
## Generation
|
|
27
|
+
Direct generation makes one image, video, speech, music, transcript, or
|
|
28
|
+
embedding with a model picked for the capability, and saves the result as an
|
|
29
|
+
asset. Every media generation leaves a record with its status, cost, and the
|
|
30
|
+
assets it produced; a generation can also run in the background and be
|
|
31
|
+
awaited. Model discovery ranks the configured models for a capability, and a
|
|
32
|
+
result can name a prompting guide skill for its model line. A vision model can
|
|
33
|
+
critique, compare, or score an image against a brief.
|
|
23
34
|
|
|
24
35
|
## Workflows and execution
|
|
25
36
|
A workflow is a saved, repeatable graph of nodes connected through typed input
|
|
26
37
|
and output ports. Nodes generate or transform media, call models, process data,
|
|
27
38
|
run code, or integrate services. Properties configure each node and connections
|
|
28
39
|
pass results between nodes. Workflow inputs and outputs expose the graph for
|
|
29
|
-
reuse. Workflows
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
40
|
+
reuse. Workflows run from the canvas, CLI, API, or a mini app, and a single
|
|
41
|
+
node can also run on its own without a graph. Creating or saving a workflow
|
|
42
|
+
does not execute it. Validate the graph and inspect run results when execution
|
|
43
|
+
is requested. A job tracks an execution's progress, outputs, and errors, and a
|
|
44
|
+
timeline render is a job too. Use direct generation for a one-off result and a
|
|
45
|
+
workflow when the user wants a reusable pipeline. Shipped example workflows
|
|
46
|
+
show worked graphs. Automation can trigger work through schedules, webhooks,
|
|
47
|
+
and event nodes, subject to deployment setup.
|
|
35
48
|
|
|
36
49
|
## Entities and creative continuity
|
|
37
50
|
Entities are reusable characters, locations, styles, and props. A product can
|
|
@@ -41,34 +54,62 @@ appearance, setting, and art direction across shots and generations.
|
|
|
41
54
|
Find and reuse existing entities before inventing replacements. Applying an
|
|
42
55
|
entity adds its description to a prompt and supplies reference-image ids for
|
|
43
56
|
generation. Pass those references to a compatible model as well as the text.
|
|
44
|
-
Storyboards and
|
|
45
|
-
continuity but does not guarantee identical model output.
|
|
57
|
+
Storyboards, scripts, and timeline clips can cast entities by id. Reusing
|
|
58
|
+
references helps continuity but does not guarantee identical model output.
|
|
59
|
+
|
|
60
|
+
## Documents
|
|
61
|
+
Each document kind is edited server-side by id, whether or not the user has it
|
|
62
|
+
open; an open editor picks the change up live. Most keep versions that can be
|
|
63
|
+
snapshotted and restored.
|
|
46
64
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
- A
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
65
|
+
- A storyboard turns a brief or screenplay into shots: an action, camera,
|
|
66
|
+
motion, and duration each, with cast entities and a board style. The board
|
|
67
|
+
names its image and video models. Keyframe stills are the cheap step and
|
|
68
|
+
clips the expensive one; a shot renders from its still, from the prompt, or
|
|
69
|
+
from entity references. One clip can cover several shots. A board assembles
|
|
70
|
+
into a timeline, and a linked voice script times its shots.
|
|
71
|
+
- A voice script is a cast of speakers, each with a voice, and the lines they
|
|
72
|
+
speak, with directions and pauses. Voicing a line makes an audio take; an
|
|
73
|
+
edited line becomes stale until it is voiced again. A script assembles into
|
|
74
|
+
a voiceover timeline whose clips carry word timings for captions. A
|
|
75
|
+
JavaScript script is a different document: saved code that runs in the
|
|
76
|
+
sandbox.
|
|
77
|
+
- A timeline is a sequence of tracks, where the top track draws over the ones
|
|
78
|
+
below. Clips are video, images, audio, text, shapes, groups, 3D models, and
|
|
79
|
+
MIDI parts. Clips carry animations (presets or custom keyframe curves),
|
|
80
|
+
transitions, masks, mattes, effect chains, and time remaps; markers and a
|
|
81
|
+
beat grid time the cut to music. Compositions are reusable templates such as
|
|
82
|
+
title cards and lower thirds. A motion-graphics piece can be authored as
|
|
83
|
+
code. Validation checks structure and, at the showcase tier, density against
|
|
84
|
+
shipped example timelines; composited preview frames show the actual
|
|
85
|
+
picture; rendering exports a video as a job. Editing and rendering are
|
|
86
|
+
separate operations.
|
|
87
|
+
- A sketch is a layered image document: a canvas, layers with blend modes and
|
|
88
|
+
opacity, placed images, and generation bindings for composing and editing
|
|
89
|
+
images.
|
|
90
|
+
- A 3D model document holds glTF objects, transforms, materials, lights, and
|
|
91
|
+
cameras, and renders headlessly. A 3D model can also sit on a timeline.
|
|
92
|
+
- A built-in game runs in NodeTool's own 2D engine. It has a mutable draft and
|
|
93
|
+
immutable published revisions, asset slots for generated or imported art,
|
|
94
|
+
audio, and fonts, a deterministic playtest that can prove a level is
|
|
95
|
+
winnable, and a build step that exports a standalone web player. Shipped
|
|
96
|
+
example games are benchmarks to read and install.
|
|
59
97
|
- A mini app presents widgets bound to workflow operations and variables, so
|
|
60
98
|
someone can run a task through a UI without editing its graph.
|
|
61
99
|
- A collection indexes documents and embeddings for semantic or hybrid search
|
|
62
100
|
and retrieval-augmented answers. It is distinct from an asset folder.
|
|
63
101
|
|
|
64
102
|
## Discovering what this installation can do
|
|
65
|
-
Skills hold reusable task instructions
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
103
|
+
Skills hold reusable task instructions: shipped skills for every surface, craft
|
|
104
|
+
skills for motion, sound, and direction, prompting guides for model lines, and
|
|
105
|
+
the user's own. Tools perform actions. Nodes are the building blocks of
|
|
106
|
+
workflows. Sandbox packages add importable libraries to code actions. Discover
|
|
107
|
+
their current descriptions and schemas before using an unfamiliar feature.
|
|
108
|
+
Model and provider discovery determines which text, image, video, speech,
|
|
109
|
+
music, transcription, and embedding routes are available. Local models may
|
|
110
|
+
require downloads and suitable hardware. Connected providers may require
|
|
111
|
+
credentials and incur usage charges. Never guess model ids, prices, configured
|
|
112
|
+
credentials, or a feature's availability here.
|
|
72
113
|
|
|
73
114
|
Only call tools exposed in this session and obey its permission mode. Product
|
|
74
115
|
knowledge does not grant access. Some resource operations work headlessly,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product-knowledge.js","sourceRoot":"","sources":["../../src/prompts/product-knowledge.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,MAAM,CAAC,MAAM,0BAA0B,GAAG
|
|
1
|
+
{"version":3,"file":"product-knowledge.js","sourceRoot":"","sources":["../../src/prompts/product-knowledge.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqHzC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ProcessingContext, SandboxModuleCatalog } from "@nodetool-ai/runtime";
|
|
2
|
+
import { type SandboxModuleResolution } from "@nodetool-ai/protocol";
|
|
3
|
+
export type PackResolution = {
|
|
4
|
+
ok: true;
|
|
5
|
+
modules?: SandboxModuleResolution;
|
|
6
|
+
} | {
|
|
7
|
+
ok: false;
|
|
8
|
+
error: string;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Resolve the packs a body imports against the installed catalog, ignoring
|
|
12
|
+
* platform modules (which are mounted by the capability layer, not the
|
|
13
|
+
* catalog). A body that imports no pack needs no loader at all.
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveImportedPacks(code: string, context: ProcessingContext, options?: {
|
|
16
|
+
mounted?: ReadonlySet<string>;
|
|
17
|
+
subject?: string;
|
|
18
|
+
/** Resolve against this catalog instead of the context's. */
|
|
19
|
+
catalog?: SandboxModuleCatalog | null;
|
|
20
|
+
}): PackResolution;
|
|
21
|
+
//# sourceMappingURL=sandbox-pack-resolution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-pack-resolution.d.ts","sourceRoot":"","sources":["../src/sandbox-pack-resolution.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,cAAc,GACtB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,uBAAuB,CAAA;CAAE,GAC/C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAClC,GACL,cAAc,CAuChB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/** Pack resolution only; keep it free of capability-layer imports. */
|
|
2
|
+
import { parseCodeBody, staticImportSpecifiers } from "@nodetool-ai/node-sdk";
|
|
3
|
+
import { SANDBOX_CAPABILITY_PACK } from "@nodetool-ai/protocol";
|
|
4
|
+
/**
|
|
5
|
+
* Resolve the packs a body imports against the installed catalog, ignoring
|
|
6
|
+
* platform modules (which are mounted by the capability layer, not the
|
|
7
|
+
* catalog). A body that imports no pack needs no loader at all.
|
|
8
|
+
*/
|
|
9
|
+
export function resolveImportedPacks(code, context, options = {}) {
|
|
10
|
+
const subject = options.subject ?? "The script";
|
|
11
|
+
const parsed = parseCodeBody(code);
|
|
12
|
+
if ("error" in parsed)
|
|
13
|
+
return { ok: true };
|
|
14
|
+
const mounted = options.mounted ?? new Set();
|
|
15
|
+
const packs = [
|
|
16
|
+
...new Set(staticImportSpecifiers(parsed.statements))
|
|
17
|
+
].filter((specifier) => !mounted.has(specifier) &&
|
|
18
|
+
specifier !== SANDBOX_CAPABILITY_PACK &&
|
|
19
|
+
!specifier.startsWith(`${SANDBOX_CAPABILITY_PACK}/`));
|
|
20
|
+
if (packs.length === 0)
|
|
21
|
+
return { ok: true };
|
|
22
|
+
const catalog = options.catalog ?? context.sandboxModuleCatalog;
|
|
23
|
+
if (!catalog) {
|
|
24
|
+
return {
|
|
25
|
+
ok: false,
|
|
26
|
+
error: `${subject} imports ${packs.map((s) => `"${s}"`).join(", ")}, but ` +
|
|
27
|
+
"sandbox packages cannot be resolved in this process."
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
const modules = catalog.resolveForExecution(packs.map((specifier) => ({ specifier })));
|
|
31
|
+
const errors = modules.statuses.filter((status) => status.status === "error");
|
|
32
|
+
if (errors.length > 0) {
|
|
33
|
+
return {
|
|
34
|
+
ok: false,
|
|
35
|
+
error: errors
|
|
36
|
+
.map((status) => `${status.message} (pack "${status.packName}")`)
|
|
37
|
+
.join(" ")
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
return { ok: true, modules };
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=sandbox-pack-resolution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-pack-resolution.js","sourceRoot":"","sources":["../src/sandbox-pack-resolution.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE9E,OAAO,EACL,uBAAuB,EAExB,MAAM,uBAAuB,CAAC;AAM/B;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAY,EACZ,OAA0B,EAC1B,OAAO,GAKH,EAAE;IAEN,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,YAAY,CAAC;IAChD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,OAAO,IAAI,MAAM;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAE3C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,GAAG,EAAU,CAAC;IACrD,MAAM,KAAK,GAAG;QACZ,GAAG,IAAI,GAAG,CAAC,sBAAsB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;KACtD,CAAC,MAAM,CACN,CAAC,SAAS,EAAE,EAAE,CACZ,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QACvB,SAAS,KAAK,uBAAuB;QACrC,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,uBAAuB,GAAG,CAAC,CACvD,CAAC;IACF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAE5C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAChE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EACH,GAAG,OAAO,YAAY,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;gBACnE,sDAAsD;SACzD,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,mBAAmB,CACzC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAC1C,CAAC;IACF,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;IAC9E,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,MAAM;iBACV,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC,QAAQ,IAAI,CAAC;iBAChE,IAAI,CAAC,GAAG,CAAC;SACb,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC"}
|
|
@@ -9,5 +9,7 @@ export declare function assembleSandboxToolbelt(options?: Parameters<typeof getA
|
|
|
9
9
|
* custom endpoints, tracing, and cancellation follow the script run.
|
|
10
10
|
*/
|
|
11
11
|
export declare function assembleJsScriptToolbelt(context: ProcessingContext): Promise<Tool[]>;
|
|
12
|
-
export declare function sandboxToolBridgeGlobals(context: ProcessingContext, tools?: Tool[]
|
|
12
|
+
export declare function sandboxToolBridgeGlobals(context: ProcessingContext, tools?: Tool[], options?: {
|
|
13
|
+
signal?: AbortSignal;
|
|
14
|
+
}): Record<string, unknown>;
|
|
13
15
|
//# sourceMappingURL=sandbox-toolbelt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox-toolbelt.d.ts","sourceRoot":"","sources":["../src/sandbox-toolbelt.ts"],"names":[],"mappings":"AAsBA,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAMjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"sandbox-toolbelt.d.ts","sourceRoot":"","sources":["../src/sandbox-toolbelt.ts"],"names":[],"mappings":"AAsBA,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAMjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAMtD,eAAO,MAAM,gBAAgB,QAAmD,CAAC;AAEjF,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAM,GACjD,IAAI,EAAE,CAWR;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,EAAE,CAAC,CAcjB;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,iBAAiB,EAC1B,KAAK,GAAE,IAAI,EAA8B,EACzC,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,GACrC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMzB"}
|
package/dist/sandbox-toolbelt.js
CHANGED
|
@@ -25,6 +25,8 @@ import { getBuiltinTools } from "./tools/builtin-tools.js";
|
|
|
25
25
|
import { getApifyTools, getSerpApiTools } from "./tools/external-capability-tools.js";
|
|
26
26
|
import { getAllMcpTools } from "./tools/mcp-tools.js";
|
|
27
27
|
import { buildToolBridge, TOOLS_PRELUDE } from "./codeact/tool-api.js";
|
|
28
|
+
import { UNGATED } from "./capabilities/invoke.js";
|
|
29
|
+
import { capabilityRunForTools } from "./capabilities/legacy-tools.js";
|
|
28
30
|
import { NODETOOL_API_PRELUDE_FULL } from "./codeact/nodetool-api.js";
|
|
29
31
|
export const NODETOOL_PRELUDE = `${TOOLS_PRELUDE}\n${NODETOOL_API_PRELUDE_FULL}`;
|
|
30
32
|
export function assembleSandboxToolbelt(options = {}) {
|
|
@@ -58,7 +60,11 @@ export async function assembleJsScriptToolbelt(context) {
|
|
|
58
60
|
}));
|
|
59
61
|
return assembleSandboxToolbelt({ providers });
|
|
60
62
|
}
|
|
61
|
-
export function sandboxToolBridgeGlobals(context, tools = assembleSandboxToolbelt()) {
|
|
62
|
-
|
|
63
|
+
export function sandboxToolBridgeGlobals(context, tools = assembleSandboxToolbelt(), options = {}) {
|
|
64
|
+
const run = capabilityRunForTools(tools, context, {
|
|
65
|
+
gate: UNGATED,
|
|
66
|
+
...options
|
|
67
|
+
});
|
|
68
|
+
return buildToolBridge({ tools, invoke: run.invoke }).globals;
|
|
63
69
|
}
|
|
64
70
|
//# sourceMappingURL=sandbox-toolbelt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox-toolbelt.js","sourceRoot":"","sources":["../src/sandbox-toolbelt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,yBAAyB,EAG1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EACL,aAAa,EACb,eAAe,EAChB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,aAAa,KAAK,yBAAyB,EAAE,CAAC;AAEjF,MAAM,UAAU,uBAAuB,CACrC,OAAO,GAAyC,EAAE;IAElD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAgB,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI;QACjB,GAAG,eAAe,EAAE;QACpB,GAAG,aAAa,EAAE;QAClB,GAAG,eAAe,EAAE;QACpB,GAAG,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;KACjE,EAAE,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAA0B;IAE1B,MAAM,SAAS,GAAiC,EAAE,CAAC;IACnD,MAAM,OAAO,CAAC,GAAG,CACf,yBAAyB,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QACnD,IAAI,CAAC;YACH,IAAI,MAAM,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnD,SAAS,CAAC,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qEAAqE;QACvE,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IACF,OAAO,uBAAuB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAA0B,EAC1B,KAAK,GAAW,uBAAuB,EAAE;
|
|
1
|
+
{"version":3,"file":"sandbox-toolbelt.js","sourceRoot":"","sources":["../src/sandbox-toolbelt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,yBAAyB,EAG1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EACL,aAAa,EACb,eAAe,EAChB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,aAAa,KAAK,yBAAyB,EAAE,CAAC;AAEjF,MAAM,UAAU,uBAAuB,CACrC,OAAO,GAAyC,EAAE;IAElD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAgB,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI;QACjB,GAAG,eAAe,EAAE;QACpB,GAAG,aAAa,EAAE;QAClB,GAAG,eAAe,EAAE;QACpB,GAAG,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;KACjE,EAAE,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAA0B;IAE1B,MAAM,SAAS,GAAiC,EAAE,CAAC;IACnD,MAAM,OAAO,CAAC,GAAG,CACf,yBAAyB,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QACnD,IAAI,CAAC;YACH,IAAI,MAAM,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnD,SAAS,CAAC,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qEAAqE;QACvE,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IACF,OAAO,uBAAuB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAA0B,EAC1B,KAAK,GAAW,uBAAuB,EAAE,EACzC,OAAO,GAA6B,EAAE;IAEtC,MAAM,GAAG,GAAG,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE;QAChD,IAAI,EAAE,OAAO;QACb,GAAG,OAAO;KACX,CAAC,CAAC;IACH,OAAO,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC;AAChE,CAAC"}
|
package/dist/skill-prompt.d.ts
CHANGED
|
@@ -13,6 +13,10 @@
|
|
|
13
13
|
export interface SkillCatalogEntry {
|
|
14
14
|
name: string;
|
|
15
15
|
description: string;
|
|
16
|
+
/** A skill that ships with NodeTool, as opposed to one the user wrote. */
|
|
17
|
+
system?: boolean;
|
|
18
|
+
/** A shipped skill the always-on catalog lists. */
|
|
19
|
+
featured?: boolean;
|
|
16
20
|
}
|
|
17
21
|
/** One skill in full. */
|
|
18
22
|
export interface SkillInstructions extends SkillCatalogEntry {
|
|
@@ -20,7 +24,13 @@ export interface SkillInstructions extends SkillCatalogEntry {
|
|
|
20
24
|
}
|
|
21
25
|
/** Skill names the text invokes with a leading slash, in order, deduped. */
|
|
22
26
|
export declare function findInvokedSkillNames(text: string, available: readonly string[]): string[];
|
|
23
|
-
/**
|
|
27
|
+
/**
|
|
28
|
+
* The always-on catalog block: what exists, and how to read one in full.
|
|
29
|
+
*
|
|
30
|
+
* It lists the user's own skills and the featured shipped ones. Every shipped
|
|
31
|
+
* description in every request cost more than the rest of the prompt, so the
|
|
32
|
+
* others are named by count and found with `list_skills`.
|
|
33
|
+
*/
|
|
24
34
|
export declare function formatSkillCatalogForPrompt(skills: readonly SkillCatalogEntry[]): string;
|
|
25
35
|
/** The bodies of the skills this turn named, already loaded. */
|
|
26
36
|
export declare function formatInvokedSkillsForPrompt(skills: readonly SkillInstructions[]): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-prompt.d.ts","sourceRoot":"","sources":["../src/skill-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,yCAAyC;AACzC,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"skill-prompt.d.ts","sourceRoot":"","sources":["../src/skill-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,yCAAyC;AACzC,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,yBAAyB;AACzB,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,OAAO,EAAE,MAAM,CAAC;CACjB;AAQD,4EAA4E;AAC5E,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,MAAM,EAAE,CAQV;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,SAAS,iBAAiB,EAAE,GACnC,MAAM,CA2BR;AAED,gEAAgE;AAChE,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,SAAS,iBAAiB,EAAE,GACnC,MAAM,CAYR"}
|
package/dist/skill-prompt.js
CHANGED
|
@@ -25,22 +25,33 @@ export function findInvokedSkillNames(text, available) {
|
|
|
25
25
|
}
|
|
26
26
|
return found;
|
|
27
27
|
}
|
|
28
|
-
/**
|
|
28
|
+
/**
|
|
29
|
+
* The always-on catalog block: what exists, and how to read one in full.
|
|
30
|
+
*
|
|
31
|
+
* It lists the user's own skills and the featured shipped ones. Every shipped
|
|
32
|
+
* description in every request cost more than the rest of the prompt, so the
|
|
33
|
+
* others are named by count and found with `list_skills`.
|
|
34
|
+
*/
|
|
29
35
|
export function formatSkillCatalogForPrompt(skills) {
|
|
30
36
|
if (skills.length === 0)
|
|
31
37
|
return "";
|
|
38
|
+
const listed = skills.filter((skill) => !skill.system || skill.featured);
|
|
39
|
+
const unlisted = skills.length - listed.length;
|
|
32
40
|
const lines = [
|
|
33
41
|
"## Skills",
|
|
34
42
|
"",
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
43
|
+
"Skills are saved instructions for a kind of work. The description says",
|
|
44
|
+
"when a skill applies; call `load_skill` with its name to read the",
|
|
45
|
+
"instructions before you act on it. A message that names one with a",
|
|
46
|
+
"leading slash (`/name`) is asking for that skill.",
|
|
39
47
|
""
|
|
40
48
|
];
|
|
41
|
-
for (const skill of
|
|
49
|
+
for (const skill of listed) {
|
|
42
50
|
lines.push(`- \`/${skill.name}\` — ${skill.description}`);
|
|
43
51
|
}
|
|
52
|
+
if (unlisted > 0) {
|
|
53
|
+
lines.push("", `${unlisted} more shipped skill${unlisted === 1 ? " is" : "s are"} not listed: brief shapes`, "for commercials, trailers, explainers and films, a guide for each image,", "video and audio model line, and one reference for each `nodetool.*`", "namespace. Find one with `list_skills({query})` before work of that", "kind, then `load_skill`.");
|
|
54
|
+
}
|
|
44
55
|
return lines.join("\n");
|
|
45
56
|
}
|
|
46
57
|
/** The bodies of the skills this turn named, already loaded. */
|
package/dist/skill-prompt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-prompt.js","sourceRoot":"","sources":["../src/skill-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"skill-prompt.js","sourceRoot":"","sources":["../src/skill-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAiBH;;;GAGG;AACH,MAAM,gBAAgB,GAAG,wCAAwC,CAAC;AAElE,4EAA4E;AAC5E,MAAM,UAAU,qBAAqB,CACnC,IAAY,EACZ,SAA4B;IAE5B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACnE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAoC;IAEpC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/C,MAAM,KAAK,GAAG;QACZ,WAAW;QACX,EAAE;QACF,wEAAwE;QACxE,mEAAmE;QACnE,oEAAoE;QACpE,mDAAmD;QACnD,EAAE;KACH,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CACR,EAAE,EACF,GAAG,QAAQ,sBAAsB,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,2BAA2B,EAC5F,0EAA0E,EAC1E,qEAAqE,EACrE,qEAAqE,EACrE,0BAA0B,CAC3B,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,4BAA4B,CAC1C,MAAoC;IAEpC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG;QACZ,uBAAuB;QACvB,EAAE;QACF,mEAAmE;QACnE,EAAE;KACH,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
package/dist/system-skills.d.ts
CHANGED
|
@@ -22,13 +22,18 @@ export interface SystemSkill {
|
|
|
22
22
|
readonly content: string;
|
|
23
23
|
/** Always true — the field exists so a merged list stays self-describing. */
|
|
24
24
|
readonly system: true;
|
|
25
|
+
/**
|
|
26
|
+
* Whether the always-on catalog lists this skill. The rest are found with
|
|
27
|
+
* `list_skills`, so the prompt does not pay for every shipped description.
|
|
28
|
+
*/
|
|
29
|
+
readonly featured: boolean;
|
|
25
30
|
}
|
|
26
31
|
/** The directory holding the shipped skills, or null when this build has none. */
|
|
27
32
|
export declare function systemSkillsDir(): string | null;
|
|
28
33
|
/**
|
|
29
34
|
* Split a `SKILL.md` into its frontmatter fields and body.
|
|
30
35
|
*
|
|
31
|
-
* Deliberately not a YAML parse: the frontmatter is
|
|
36
|
+
* Deliberately not a YAML parse: the frontmatter is a few scalar fields, and
|
|
32
37
|
* pulling js-yaml into the host to read them would buy nothing. A file whose
|
|
33
38
|
* frontmatter is missing or malformed yields null and is skipped rather than
|
|
34
39
|
* failing the whole catalog — one bad shipped file must not cost a user every
|
|
@@ -38,6 +43,7 @@ export declare function parseSkillMarkdown(text: string): {
|
|
|
38
43
|
name: string;
|
|
39
44
|
description: string;
|
|
40
45
|
content: string;
|
|
46
|
+
featured: boolean;
|
|
41
47
|
} | null;
|
|
42
48
|
/**
|
|
43
49
|
* Every shipped skill, read once per process.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-skills.d.ts","sourceRoot":"","sources":["../src/system-skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAWH,sEAAsE;AACtE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"system-skills.d.ts","sourceRoot":"","sources":["../src/system-skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAWH,sEAAsE;AACtE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,kFAAkF;AAClF,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAiB/C;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB,GAAG,IAAI,CAgCP;AAID;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,SAAS,WAAW,EAAE,CAIzD;AAED,kCAAkC;AAClC,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAkCD,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED,0CAA0C;AAC1C,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAGhE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EAC/E,UAAU,EAAE,SAAS,CAAC,EAAE,GACvB,CAAC,CAAC,GAAG,WAAW,CAAC,EAAE,CAIrB"}
|
package/dist/system-skills.js
CHANGED
|
@@ -44,7 +44,7 @@ export function systemSkillsDir() {
|
|
|
44
44
|
/**
|
|
45
45
|
* Split a `SKILL.md` into its frontmatter fields and body.
|
|
46
46
|
*
|
|
47
|
-
* Deliberately not a YAML parse: the frontmatter is
|
|
47
|
+
* Deliberately not a YAML parse: the frontmatter is a few scalar fields, and
|
|
48
48
|
* pulling js-yaml into the host to read them would buy nothing. A file whose
|
|
49
49
|
* frontmatter is missing or malformed yields null and is skipped rather than
|
|
50
50
|
* failing the whole catalog — one bad shipped file must not cost a user every
|
|
@@ -83,7 +83,7 @@ export function parseSkillMarkdown(text) {
|
|
|
83
83
|
if (!isValidSkillName(name) || !isValidSkillDescription(description)) {
|
|
84
84
|
return null;
|
|
85
85
|
}
|
|
86
|
-
return { name, description, content };
|
|
86
|
+
return { name, description, content, featured: field("featured") === "true" };
|
|
87
87
|
}
|
|
88
88
|
let cache = null;
|
|
89
89
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-skills.js","sourceRoot":"","sources":["../src/system-skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,gCAAgC,EAChC,gCAAgC,EACjC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"system-skills.js","sourceRoot":"","sources":["../src/system-skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,gCAAgC,EAChC,gCAAgC,EACjC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAgBlF,kFAAkF;AAClF,MAAM,UAAU,eAAe;IAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC3D,IAAI,QAAQ;QAAE,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAE5D,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;IAC7D,IAAI,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAExC,MAAM,QAAQ,GAAG,gCAAgC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7D,IAAI,GAAG,GAAG,IAAI,CAAC;IACf,SAAS,CAAC;QACR,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;QACzC,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAChC,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAM7C,4EAA4E;IAC5E,4EAA4E;IAC5E,4CAA4C;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,CAAC,GAAW,EAAU,EAAE;QACpC,0EAA0E;QAC1E,qBAAqB;QACrB,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACvC,2EAA2E;QAC3E,yEAAyE;QACzE,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,MAAM,GACV,CAAC,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC;YAChC,KAAK,CAAC,MAAM,IAAI,CAAC;YACjB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7C,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IACnD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,MAAM,EAAE,CAAC;AAChF,CAAC;AAED,IAAI,KAAK,GAAkC,IAAI,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB;IAC9B,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,KAAK,GAAG,gBAAgB,EAAE,CAAC;IAC3B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,qBAAqB;IACnC,KAAK,GAAG,IAAI,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB;IACvB,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE;gBAAE,SAAS;YACzD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,SAAS;YAChC,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,wEAAwE;YACxE,0EAA0E;YAC1E,yBAAyB;YACzB,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,WAAW,EAAE;gBAAE,SAAS;YAClD,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,SAAS;YACpC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,uDAAuD;QACzD,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5D,OAAO,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;AACnE,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5D,OAAO,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC;AAC3E,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAAwB;IAExB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,UAAU,EAAE,GAAG,OAAO,CAAC,CAAC;AACrC,CAAC"}
|