@tianshu-ai/tianshu 0.3.0
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/LICENSE +200 -0
- package/README.md +284 -0
- package/README.zh-CN.md +136 -0
- package/bin/tianshu.mjs +32 -0
- package/package.json +60 -0
- package/packages/plugin-sdk/dist/agent-loop.d.ts +96 -0
- package/packages/plugin-sdk/dist/agent-loop.d.ts.map +1 -0
- package/packages/plugin-sdk/dist/agent-loop.js +11 -0
- package/packages/plugin-sdk/dist/agent-loop.js.map +1 -0
- package/packages/plugin-sdk/dist/capabilities.d.ts +48 -0
- package/packages/plugin-sdk/dist/capabilities.d.ts.map +1 -0
- package/packages/plugin-sdk/dist/capabilities.js +61 -0
- package/packages/plugin-sdk/dist/capabilities.js.map +1 -0
- package/packages/plugin-sdk/dist/catalog.d.ts +60 -0
- package/packages/plugin-sdk/dist/catalog.d.ts.map +1 -0
- package/packages/plugin-sdk/dist/catalog.js +11 -0
- package/packages/plugin-sdk/dist/catalog.js.map +1 -0
- package/packages/plugin-sdk/dist/client.d.ts +171 -0
- package/packages/plugin-sdk/dist/client.d.ts.map +1 -0
- package/packages/plugin-sdk/dist/client.js +96 -0
- package/packages/plugin-sdk/dist/client.js.map +1 -0
- package/packages/plugin-sdk/dist/index.d.ts +9 -0
- package/packages/plugin-sdk/dist/index.d.ts.map +1 -0
- package/packages/plugin-sdk/dist/index.js +19 -0
- package/packages/plugin-sdk/dist/index.js.map +1 -0
- package/packages/plugin-sdk/dist/lsp.d.ts +32 -0
- package/packages/plugin-sdk/dist/lsp.d.ts.map +1 -0
- package/packages/plugin-sdk/dist/lsp.js +19 -0
- package/packages/plugin-sdk/dist/lsp.js.map +1 -0
- package/packages/plugin-sdk/dist/manifest.d.ts +423 -0
- package/packages/plugin-sdk/dist/manifest.d.ts.map +1 -0
- package/packages/plugin-sdk/dist/manifest.js +7 -0
- package/packages/plugin-sdk/dist/manifest.js.map +1 -0
- package/packages/plugin-sdk/dist/mcp-client.d.ts +74 -0
- package/packages/plugin-sdk/dist/mcp-client.d.ts.map +1 -0
- package/packages/plugin-sdk/dist/mcp-client.js +226 -0
- package/packages/plugin-sdk/dist/mcp-client.js.map +1 -0
- package/packages/plugin-sdk/dist/mcp-fetch.d.ts +10 -0
- package/packages/plugin-sdk/dist/mcp-fetch.d.ts.map +1 -0
- package/packages/plugin-sdk/dist/mcp-fetch.js +130 -0
- package/packages/plugin-sdk/dist/mcp-fetch.js.map +1 -0
- package/packages/plugin-sdk/dist/mcp-toolset.d.ts +128 -0
- package/packages/plugin-sdk/dist/mcp-toolset.d.ts.map +1 -0
- package/packages/plugin-sdk/dist/mcp-toolset.js +246 -0
- package/packages/plugin-sdk/dist/mcp-toolset.js.map +1 -0
- package/packages/plugin-sdk/dist/server.d.ts +486 -0
- package/packages/plugin-sdk/dist/server.d.ts.map +1 -0
- package/packages/plugin-sdk/dist/server.js +10 -0
- package/packages/plugin-sdk/dist/server.js.map +1 -0
- package/packages/plugin-sdk/dist/session-inbox.d.ts +56 -0
- package/packages/plugin-sdk/dist/session-inbox.d.ts.map +1 -0
- package/packages/plugin-sdk/dist/session-inbox.js +12 -0
- package/packages/plugin-sdk/dist/session-inbox.js.map +1 -0
- package/packages/plugin-sdk/package.json +36 -0
- package/packages/server/builtinConfig/plugins/README.md +1 -0
- package/packages/server/builtinConfig/plugins/files/manifest.json +100 -0
- package/packages/server/builtinConfig/plugins/files/skills/files-workspace-layout.md +29 -0
- package/packages/server/builtinConfig/plugins/microsandbox/manifest.json +177 -0
- package/packages/server/builtinConfig/plugins/microsandbox/skills/microsandbox-browser-howto.md +155 -0
- package/packages/server/builtinConfig/plugins/microsandbox/skills/microsandbox-build-use.md +201 -0
- package/packages/server/builtinConfig/plugins/microsandbox/skills/microsandbox-config.md +38 -0
- package/packages/server/builtinConfig/plugins/microsandbox/skills/microsandbox-exec-howto.md +144 -0
- package/packages/server/builtinConfig/plugins/microsandbox/skills/microsandbox-libreoffice.md +159 -0
- package/packages/server/builtinConfig/plugins/microsandbox/skills/microsandbox-main-orchestration.md +75 -0
- package/packages/server/builtinConfig/plugins/microsandbox/templates/README.md +26 -0
- package/packages/server/builtinConfig/plugins/microsandbox/templates/browser.yaml +105 -0
- package/packages/server/builtinConfig/plugins/microsandbox/templates/task-runner-with-browser.yaml +80 -0
- package/packages/server/builtinConfig/plugins/microsandbox/templates/task-runner.yaml +80 -0
- package/packages/server/builtinConfig/plugins/web-search/manifest.json +65 -0
- package/packages/server/builtinConfig/plugins/web-search/skills/web-search-howto.md +69 -0
- package/packages/server/builtinConfig/plugins/workboard/agent-seeds/echo-demo/agent.json +7 -0
- package/packages/server/builtinConfig/plugins/workboard/agent-seeds/llm-default/SOUL.md +53 -0
- package/packages/server/builtinConfig/plugins/workboard/agent-seeds/llm-default/agent.json +7 -0
- package/packages/server/builtinConfig/plugins/workboard/manifest.json +180 -0
- package/packages/server/builtinConfig/plugins/workboard/skills/large-input-large-output.md +185 -0
- package/packages/server/builtinConfig/plugins/workboard/skills/workboard-howto.md +166 -0
- package/packages/server/builtinConfig/plugins/workboard/skills/worker-creator.md +267 -0
- package/packages/server/builtinConfig/plugins/workboard/skills/worker-fleet.md +431 -0
- package/packages/server/dist/catalog.d.ts +52 -0
- package/packages/server/dist/catalog.d.ts.map +1 -0
- package/packages/server/dist/catalog.js +189 -0
- package/packages/server/dist/catalog.js.map +1 -0
- package/packages/server/dist/chat/active-harnesses.d.ts +34 -0
- package/packages/server/dist/chat/active-harnesses.d.ts.map +1 -0
- package/packages/server/dist/chat/active-harnesses.js +118 -0
- package/packages/server/dist/chat/active-harnesses.js.map +1 -0
- package/packages/server/dist/chat/agent-loop.d.ts +64 -0
- package/packages/server/dist/chat/agent-loop.d.ts.map +1 -0
- package/packages/server/dist/chat/agent-loop.js +597 -0
- package/packages/server/dist/chat/agent-loop.js.map +1 -0
- package/packages/server/dist/chat/agent-tool-adapter.d.ts +33 -0
- package/packages/server/dist/chat/agent-tool-adapter.d.ts.map +1 -0
- package/packages/server/dist/chat/agent-tool-adapter.js +260 -0
- package/packages/server/dist/chat/agent-tool-adapter.js.map +1 -0
- package/packages/server/dist/chat/compact.d.ts +52 -0
- package/packages/server/dist/chat/compact.d.ts.map +1 -0
- package/packages/server/dist/chat/compact.js +248 -0
- package/packages/server/dist/chat/compact.js.map +1 -0
- package/packages/server/dist/chat/dump-system-prompt.d.ts +17 -0
- package/packages/server/dist/chat/dump-system-prompt.d.ts.map +1 -0
- package/packages/server/dist/chat/dump-system-prompt.js +58 -0
- package/packages/server/dist/chat/dump-system-prompt.js.map +1 -0
- package/packages/server/dist/chat/handler.d.ts +186 -0
- package/packages/server/dist/chat/handler.d.ts.map +1 -0
- package/packages/server/dist/chat/handler.js +1248 -0
- package/packages/server/dist/chat/handler.js.map +1 -0
- package/packages/server/dist/chat/image-fit.d.ts +34 -0
- package/packages/server/dist/chat/image-fit.d.ts.map +1 -0
- package/packages/server/dist/chat/image-fit.js +157 -0
- package/packages/server/dist/chat/image-fit.js.map +1 -0
- package/packages/server/dist/chat/messages.d.ts +118 -0
- package/packages/server/dist/chat/messages.d.ts.map +1 -0
- package/packages/server/dist/chat/messages.js +341 -0
- package/packages/server/dist/chat/messages.js.map +1 -0
- package/packages/server/dist/chat/session-inbox.d.ts +114 -0
- package/packages/server/dist/chat/session-inbox.d.ts.map +1 -0
- package/packages/server/dist/chat/session-inbox.js +418 -0
- package/packages/server/dist/chat/session-inbox.js.map +1 -0
- package/packages/server/dist/chat/sqlite-session-repo.d.ts +26 -0
- package/packages/server/dist/chat/sqlite-session-repo.d.ts.map +1 -0
- package/packages/server/dist/chat/sqlite-session-repo.js +132 -0
- package/packages/server/dist/chat/sqlite-session-repo.js.map +1 -0
- package/packages/server/dist/chat/sqlite-session-storage.d.ts +83 -0
- package/packages/server/dist/chat/sqlite-session-storage.d.ts.map +1 -0
- package/packages/server/dist/chat/sqlite-session-storage.js +418 -0
- package/packages/server/dist/chat/sqlite-session-storage.js.map +1 -0
- package/packages/server/dist/chat/stub-execution-env.d.ts +3 -0
- package/packages/server/dist/chat/stub-execution-env.d.ts.map +1 -0
- package/packages/server/dist/chat/stub-execution-env.js +87 -0
- package/packages/server/dist/chat/stub-execution-env.js.map +1 -0
- package/packages/server/dist/chat/token-estimate.d.ts +11 -0
- package/packages/server/dist/chat/token-estimate.d.ts.map +1 -0
- package/packages/server/dist/chat/token-estimate.js +67 -0
- package/packages/server/dist/chat/token-estimate.js.map +1 -0
- package/packages/server/dist/chat/ws-protocol.d.ts +244 -0
- package/packages/server/dist/chat/ws-protocol.d.ts.map +1 -0
- package/packages/server/dist/chat/ws-protocol.js +193 -0
- package/packages/server/dist/chat/ws-protocol.js.map +1 -0
- package/packages/server/dist/cli.d.ts +9 -0
- package/packages/server/dist/cli.d.ts.map +1 -0
- package/packages/server/dist/cli.js +329 -0
- package/packages/server/dist/cli.js.map +1 -0
- package/packages/server/dist/core/agent-seeds.d.ts +25 -0
- package/packages/server/dist/core/agent-seeds.d.ts.map +1 -0
- package/packages/server/dist/core/agent-seeds.js +69 -0
- package/packages/server/dist/core/agent-seeds.js.map +1 -0
- package/packages/server/dist/core/config.d.ts +172 -0
- package/packages/server/dist/core/config.d.ts.map +1 -0
- package/packages/server/dist/core/config.js +155 -0
- package/packages/server/dist/core/config.js.map +1 -0
- package/packages/server/dist/core/db-pool.d.ts +32 -0
- package/packages/server/dist/core/db-pool.d.ts.map +1 -0
- package/packages/server/dist/core/db-pool.js +108 -0
- package/packages/server/dist/core/db-pool.js.map +1 -0
- package/packages/server/dist/core/dev-mode.d.ts +13 -0
- package/packages/server/dist/core/dev-mode.d.ts.map +1 -0
- package/packages/server/dist/core/dev-mode.js +51 -0
- package/packages/server/dist/core/dev-mode.js.map +1 -0
- package/packages/server/dist/core/global-ops.d.ts +54 -0
- package/packages/server/dist/core/global-ops.d.ts.map +1 -0
- package/packages/server/dist/core/global-ops.js +143 -0
- package/packages/server/dist/core/global-ops.js.map +1 -0
- package/packages/server/dist/core/identity-resolvers.d.ts +102 -0
- package/packages/server/dist/core/identity-resolvers.d.ts.map +1 -0
- package/packages/server/dist/core/identity-resolvers.js +176 -0
- package/packages/server/dist/core/identity-resolvers.js.map +1 -0
- package/packages/server/dist/core/index.d.ts +13 -0
- package/packages/server/dist/core/index.d.ts.map +1 -0
- package/packages/server/dist/core/index.js +18 -0
- package/packages/server/dist/core/index.js.map +1 -0
- package/packages/server/dist/core/llm.d.ts +45 -0
- package/packages/server/dist/core/llm.d.ts.map +1 -0
- package/packages/server/dist/core/llm.js +140 -0
- package/packages/server/dist/core/llm.js.map +1 -0
- package/packages/server/dist/core/mcp-manager.d.ts +47 -0
- package/packages/server/dist/core/mcp-manager.d.ts.map +1 -0
- package/packages/server/dist/core/mcp-manager.js +129 -0
- package/packages/server/dist/core/mcp-manager.js.map +1 -0
- package/packages/server/dist/core/middleware.d.ts +31 -0
- package/packages/server/dist/core/middleware.d.ts.map +1 -0
- package/packages/server/dist/core/middleware.js +102 -0
- package/packages/server/dist/core/middleware.js.map +1 -0
- package/packages/server/dist/core/migrations/001-initial.d.ts +4 -0
- package/packages/server/dist/core/migrations/001-initial.d.ts.map +1 -0
- package/packages/server/dist/core/migrations/001-initial.js +66 -0
- package/packages/server/dist/core/migrations/001-initial.js.map +1 -0
- package/packages/server/dist/core/migrations/002-task-dependencies.d.ts +4 -0
- package/packages/server/dist/core/migrations/002-task-dependencies.d.ts.map +1 -0
- package/packages/server/dist/core/migrations/002-task-dependencies.js +20 -0
- package/packages/server/dist/core/migrations/002-task-dependencies.js.map +1 -0
- package/packages/server/dist/core/migrations/003-session-tree.d.ts +4 -0
- package/packages/server/dist/core/migrations/003-session-tree.d.ts.map +1 -0
- package/packages/server/dist/core/migrations/003-session-tree.js +96 -0
- package/packages/server/dist/core/migrations/003-session-tree.js.map +1 -0
- package/packages/server/dist/core/migrations/003-worker-agents.d.ts +4 -0
- package/packages/server/dist/core/migrations/003-worker-agents.d.ts.map +1 -0
- package/packages/server/dist/core/migrations/003-worker-agents.js +65 -0
- package/packages/server/dist/core/migrations/003-worker-agents.js.map +1 -0
- package/packages/server/dist/core/migrations/004-rebuild-message-chain.d.ts +4 -0
- package/packages/server/dist/core/migrations/004-rebuild-message-chain.d.ts.map +1 -0
- package/packages/server/dist/core/migrations/004-rebuild-message-chain.js +52 -0
- package/packages/server/dist/core/migrations/004-rebuild-message-chain.js.map +1 -0
- package/packages/server/dist/core/migrations/005-task-status-rename.d.ts +4 -0
- package/packages/server/dist/core/migrations/005-task-status-rename.d.ts.map +1 -0
- package/packages/server/dist/core/migrations/005-task-status-rename.js +64 -0
- package/packages/server/dist/core/migrations/005-task-status-rename.js.map +1 -0
- package/packages/server/dist/core/migrations/006-task-labels.d.ts +4 -0
- package/packages/server/dist/core/migrations/006-task-labels.d.ts.map +1 -0
- package/packages/server/dist/core/migrations/006-task-labels.js +43 -0
- package/packages/server/dist/core/migrations/006-task-labels.js.map +1 -0
- package/packages/server/dist/core/migrations/007-session-inbox.d.ts +4 -0
- package/packages/server/dist/core/migrations/007-session-inbox.d.ts.map +1 -0
- package/packages/server/dist/core/migrations/007-session-inbox.js +67 -0
- package/packages/server/dist/core/migrations/007-session-inbox.js.map +1 -0
- package/packages/server/dist/core/migrations/008-task-intervention.d.ts +4 -0
- package/packages/server/dist/core/migrations/008-task-intervention.d.ts.map +1 -0
- package/packages/server/dist/core/migrations/008-task-intervention.js +60 -0
- package/packages/server/dist/core/migrations/008-task-intervention.js.map +1 -0
- package/packages/server/dist/core/migrations/index.d.ts +12 -0
- package/packages/server/dist/core/migrations/index.d.ts.map +1 -0
- package/packages/server/dist/core/migrations/index.js +58 -0
- package/packages/server/dist/core/migrations/index.js.map +1 -0
- package/packages/server/dist/core/paths.d.ts +53 -0
- package/packages/server/dist/core/paths.d.ts.map +1 -0
- package/packages/server/dist/core/paths.js +125 -0
- package/packages/server/dist/core/paths.js.map +1 -0
- package/packages/server/dist/core/plugins/builtin-loader.d.ts +56 -0
- package/packages/server/dist/core/plugins/builtin-loader.d.ts.map +1 -0
- package/packages/server/dist/core/plugins/builtin-loader.js +153 -0
- package/packages/server/dist/core/plugins/builtin-loader.js.map +1 -0
- package/packages/server/dist/core/plugins/discovery.d.ts +28 -0
- package/packages/server/dist/core/plugins/discovery.d.ts.map +1 -0
- package/packages/server/dist/core/plugins/discovery.js +97 -0
- package/packages/server/dist/core/plugins/discovery.js.map +1 -0
- package/packages/server/dist/core/plugins/index.d.ts +6 -0
- package/packages/server/dist/core/plugins/index.d.ts.map +1 -0
- package/packages/server/dist/core/plugins/index.js +6 -0
- package/packages/server/dist/core/plugins/index.js.map +1 -0
- package/packages/server/dist/core/plugins/manifest.d.ts +9 -0
- package/packages/server/dist/core/plugins/manifest.d.ts.map +1 -0
- package/packages/server/dist/core/plugins/manifest.js +584 -0
- package/packages/server/dist/core/plugins/manifest.js.map +1 -0
- package/packages/server/dist/core/plugins/registry.d.ts +269 -0
- package/packages/server/dist/core/plugins/registry.d.ts.map +1 -0
- package/packages/server/dist/core/plugins/registry.js +1003 -0
- package/packages/server/dist/core/plugins/registry.js.map +1 -0
- package/packages/server/dist/core/plugins/secrets.d.ts +46 -0
- package/packages/server/dist/core/plugins/secrets.d.ts.map +1 -0
- package/packages/server/dist/core/plugins/secrets.js +174 -0
- package/packages/server/dist/core/plugins/secrets.js.map +1 -0
- package/packages/server/dist/core/plugins/skills.d.ts +131 -0
- package/packages/server/dist/core/plugins/skills.d.ts.map +1 -0
- package/packages/server/dist/core/plugins/skills.js +389 -0
- package/packages/server/dist/core/plugins/skills.js.map +1 -0
- package/packages/server/dist/core/templates.d.ts +28 -0
- package/packages/server/dist/core/templates.d.ts.map +1 -0
- package/packages/server/dist/core/templates.js +103 -0
- package/packages/server/dist/core/templates.js.map +1 -0
- package/packages/server/dist/core/tenant-context.d.ts +18 -0
- package/packages/server/dist/core/tenant-context.d.ts.map +1 -0
- package/packages/server/dist/core/tenant-context.js +42 -0
- package/packages/server/dist/core/tenant-context.js.map +1 -0
- package/packages/server/dist/core/tenant-id.d.ts +8 -0
- package/packages/server/dist/core/tenant-id.d.ts.map +1 -0
- package/packages/server/dist/core/tenant-id.js +53 -0
- package/packages/server/dist/core/tenant-id.js.map +1 -0
- package/packages/server/dist/core/tenant-skills.d.ts +29 -0
- package/packages/server/dist/core/tenant-skills.d.ts.map +1 -0
- package/packages/server/dist/core/tenant-skills.js +77 -0
- package/packages/server/dist/core/tenant-skills.js.map +1 -0
- package/packages/server/dist/core/worker-agents-fs.d.ts +44 -0
- package/packages/server/dist/core/worker-agents-fs.d.ts.map +1 -0
- package/packages/server/dist/core/worker-agents-fs.js +86 -0
- package/packages/server/dist/core/worker-agents-fs.js.map +1 -0
- package/packages/server/dist/core/worker-agents.d.ts +77 -0
- package/packages/server/dist/core/worker-agents.d.ts.map +1 -0
- package/packages/server/dist/core/worker-agents.js +191 -0
- package/packages/server/dist/core/worker-agents.js.map +1 -0
- package/packages/server/dist/index.d.ts +2 -0
- package/packages/server/dist/index.d.ts.map +1 -0
- package/packages/server/dist/index.js +623 -0
- package/packages/server/dist/index.js.map +1 -0
- package/packages/server/dist/lsp/client.d.ts +53 -0
- package/packages/server/dist/lsp/client.d.ts.map +1 -0
- package/packages/server/dist/lsp/client.js +258 -0
- package/packages/server/dist/lsp/client.js.map +1 -0
- package/packages/server/dist/lsp/format.d.ts +13 -0
- package/packages/server/dist/lsp/format.d.ts.map +1 -0
- package/packages/server/dist/lsp/format.js +55 -0
- package/packages/server/dist/lsp/format.js.map +1 -0
- package/packages/server/dist/lsp/index.d.ts +20 -0
- package/packages/server/dist/lsp/index.d.ts.map +1 -0
- package/packages/server/dist/lsp/index.js +32 -0
- package/packages/server/dist/lsp/index.js.map +1 -0
- package/packages/server/dist/lsp/language-registry.d.ts +29 -0
- package/packages/server/dist/lsp/language-registry.d.ts.map +1 -0
- package/packages/server/dist/lsp/language-registry.js +62 -0
- package/packages/server/dist/lsp/language-registry.js.map +1 -0
- package/packages/server/dist/lsp/manager.d.ts +77 -0
- package/packages/server/dist/lsp/manager.d.ts.map +1 -0
- package/packages/server/dist/lsp/manager.js +300 -0
- package/packages/server/dist/lsp/manager.js.map +1 -0
- package/packages/server/dist/plugins-routes.d.ts +96 -0
- package/packages/server/dist/plugins-routes.d.ts.map +1 -0
- package/packages/server/dist/plugins-routes.js +627 -0
- package/packages/server/dist/plugins-routes.js.map +1 -0
- package/packages/server/dist/setup/checks/config.d.ts +9 -0
- package/packages/server/dist/setup/checks/config.d.ts.map +1 -0
- package/packages/server/dist/setup/checks/config.js +66 -0
- package/packages/server/dist/setup/checks/config.js.map +1 -0
- package/packages/server/dist/setup/checks/db.d.ts +6 -0
- package/packages/server/dist/setup/checks/db.d.ts.map +1 -0
- package/packages/server/dist/setup/checks/db.js +79 -0
- package/packages/server/dist/setup/checks/db.js.map +1 -0
- package/packages/server/dist/setup/checks/known-models.d.ts +18 -0
- package/packages/server/dist/setup/checks/known-models.d.ts.map +1 -0
- package/packages/server/dist/setup/checks/known-models.js +119 -0
- package/packages/server/dist/setup/checks/known-models.js.map +1 -0
- package/packages/server/dist/setup/checks/network.d.ts +11 -0
- package/packages/server/dist/setup/checks/network.d.ts.map +1 -0
- package/packages/server/dist/setup/checks/network.js +176 -0
- package/packages/server/dist/setup/checks/network.js.map +1 -0
- package/packages/server/dist/setup/checks/plugins.d.ts +9 -0
- package/packages/server/dist/setup/checks/plugins.d.ts.map +1 -0
- package/packages/server/dist/setup/checks/plugins.js +194 -0
- package/packages/server/dist/setup/checks/plugins.js.map +1 -0
- package/packages/server/dist/setup/checks/providers.d.ts +12 -0
- package/packages/server/dist/setup/checks/providers.d.ts.map +1 -0
- package/packages/server/dist/setup/checks/providers.js +368 -0
- package/packages/server/dist/setup/checks/providers.js.map +1 -0
- package/packages/server/dist/setup/checks/runtime.d.ts +3 -0
- package/packages/server/dist/setup/checks/runtime.d.ts.map +1 -0
- package/packages/server/dist/setup/checks/runtime.js +44 -0
- package/packages/server/dist/setup/checks/runtime.js.map +1 -0
- package/packages/server/dist/setup/checks/sandbox.d.ts +9 -0
- package/packages/server/dist/setup/checks/sandbox.d.ts.map +1 -0
- package/packages/server/dist/setup/checks/sandbox.js +110 -0
- package/packages/server/dist/setup/checks/sandbox.js.map +1 -0
- package/packages/server/dist/setup/checks/tenants.d.ts +9 -0
- package/packages/server/dist/setup/checks/tenants.d.ts.map +1 -0
- package/packages/server/dist/setup/checks/tenants.js +509 -0
- package/packages/server/dist/setup/checks/tenants.js.map +1 -0
- package/packages/server/dist/setup/cli-agent.d.ts +39 -0
- package/packages/server/dist/setup/cli-agent.d.ts.map +1 -0
- package/packages/server/dist/setup/cli-agent.js +1353 -0
- package/packages/server/dist/setup/cli-agent.js.map +1 -0
- package/packages/server/dist/setup/doctor.d.ts +32 -0
- package/packages/server/dist/setup/doctor.d.ts.map +1 -0
- package/packages/server/dist/setup/doctor.js +80 -0
- package/packages/server/dist/setup/doctor.js.map +1 -0
- package/packages/server/dist/setup/launchd.d.ts +107 -0
- package/packages/server/dist/setup/launchd.d.ts.map +1 -0
- package/packages/server/dist/setup/launchd.js +309 -0
- package/packages/server/dist/setup/launchd.js.map +1 -0
- package/packages/server/dist/setup/load-env.d.ts +21 -0
- package/packages/server/dist/setup/load-env.d.ts.map +1 -0
- package/packages/server/dist/setup/load-env.js +88 -0
- package/packages/server/dist/setup/load-env.js.map +1 -0
- package/packages/server/dist/setup/probe-default-model.d.ts +28 -0
- package/packages/server/dist/setup/probe-default-model.d.ts.map +1 -0
- package/packages/server/dist/setup/probe-default-model.js +133 -0
- package/packages/server/dist/setup/probe-default-model.js.map +1 -0
- package/packages/server/dist/setup/render.d.ts +28 -0
- package/packages/server/dist/setup/render.d.ts.map +1 -0
- package/packages/server/dist/setup/render.js +60 -0
- package/packages/server/dist/setup/render.js.map +1 -0
- package/packages/server/dist/setup/repo-root.d.ts +3 -0
- package/packages/server/dist/setup/repo-root.d.ts.map +1 -0
- package/packages/server/dist/setup/repo-root.js +43 -0
- package/packages/server/dist/setup/repo-root.js.map +1 -0
- package/packages/server/dist/setup/service.d.ts +60 -0
- package/packages/server/dist/setup/service.d.ts.map +1 -0
- package/packages/server/dist/setup/service.js +345 -0
- package/packages/server/dist/setup/service.js.map +1 -0
- package/packages/server/dist/setup/start-server.d.ts +23 -0
- package/packages/server/dist/setup/start-server.d.ts.map +1 -0
- package/packages/server/dist/setup/start-server.js +465 -0
- package/packages/server/dist/setup/start-server.js.map +1 -0
- package/packages/server/dist/setup/wizard.d.ts +59 -0
- package/packages/server/dist/setup/wizard.d.ts.map +1 -0
- package/packages/server/dist/setup/wizard.js +556 -0
- package/packages/server/dist/setup/wizard.js.map +1 -0
- package/packages/server/dist/tools/edit-file.d.ts +13 -0
- package/packages/server/dist/tools/edit-file.d.ts.map +1 -0
- package/packages/server/dist/tools/edit-file.js +90 -0
- package/packages/server/dist/tools/edit-file.js.map +1 -0
- package/packages/server/dist/tools/glob.d.ts +12 -0
- package/packages/server/dist/tools/glob.d.ts.map +1 -0
- package/packages/server/dist/tools/glob.js +82 -0
- package/packages/server/dist/tools/glob.js.map +1 -0
- package/packages/server/dist/tools/index.d.ts +82 -0
- package/packages/server/dist/tools/index.d.ts.map +1 -0
- package/packages/server/dist/tools/index.js +72 -0
- package/packages/server/dist/tools/index.js.map +1 -0
- package/packages/server/dist/tools/list-dir.d.ts +24 -0
- package/packages/server/dist/tools/list-dir.d.ts.map +1 -0
- package/packages/server/dist/tools/list-dir.js +99 -0
- package/packages/server/dist/tools/list-dir.js.map +1 -0
- package/packages/server/dist/tools/path-helper.d.ts +15 -0
- package/packages/server/dist/tools/path-helper.d.ts.map +1 -0
- package/packages/server/dist/tools/path-helper.js +72 -0
- package/packages/server/dist/tools/path-helper.js.map +1 -0
- package/packages/server/dist/tools/read-file.d.ts +17 -0
- package/packages/server/dist/tools/read-file.d.ts.map +1 -0
- package/packages/server/dist/tools/read-file.js +94 -0
- package/packages/server/dist/tools/read-file.js.map +1 -0
- package/packages/server/dist/tools/sandbox.d.ts +57 -0
- package/packages/server/dist/tools/sandbox.d.ts.map +1 -0
- package/packages/server/dist/tools/sandbox.js +291 -0
- package/packages/server/dist/tools/sandbox.js.map +1 -0
- package/packages/server/dist/tools/write-file.d.ts +12 -0
- package/packages/server/dist/tools/write-file.d.ts.map +1 -0
- package/packages/server/dist/tools/write-file.js +67 -0
- package/packages/server/dist/tools/write-file.js.map +1 -0
- package/packages/server/dist/worker-agents-routes.d.ts +11 -0
- package/packages/server/dist/worker-agents-routes.d.ts.map +1 -0
- package/packages/server/dist/worker-agents-routes.js +253 -0
- package/packages/server/dist/worker-agents-routes.js.map +1 -0
- package/packages/server/package.json +41 -0
- package/packages/web/dist/assets/index-DH-gJ09_.js +60 -0
- package/packages/web/dist/assets/index-xU4lYYqY.css +2 -0
- package/packages/web/dist/index.html +14 -0
- package/packages/web/package.json +36 -0
- package/plugins/README.md +64 -0
- package/plugins/files/dist/client.d.ts +5 -0
- package/plugins/files/dist/client.d.ts.map +1 -0
- package/plugins/files/dist/client.js +354 -0
- package/plugins/files/dist/client.js.map +1 -0
- package/plugins/files/dist/server.d.ts +32 -0
- package/plugins/files/dist/server.d.ts.map +1 -0
- package/plugins/files/dist/server.js +514 -0
- package/plugins/files/dist/server.js.map +1 -0
- package/plugins/files/dist/tools/edit-file.d.ts +29 -0
- package/plugins/files/dist/tools/edit-file.d.ts.map +1 -0
- package/plugins/files/dist/tools/edit-file.js +230 -0
- package/plugins/files/dist/tools/edit-file.js.map +1 -0
- package/plugins/files/dist/tools/edit-file.prompt.md +36 -0
- package/plugins/files/dist/tools/glob.d.ts +12 -0
- package/plugins/files/dist/tools/glob.d.ts.map +1 -0
- package/plugins/files/dist/tools/glob.js +84 -0
- package/plugins/files/dist/tools/glob.js.map +1 -0
- package/plugins/files/dist/tools/index.d.ts +13 -0
- package/plugins/files/dist/tools/index.d.ts.map +1 -0
- package/plugins/files/dist/tools/index.js +158 -0
- package/plugins/files/dist/tools/index.js.map +1 -0
- package/plugins/files/dist/tools/list-dir.d.ts +24 -0
- package/plugins/files/dist/tools/list-dir.d.ts.map +1 -0
- package/plugins/files/dist/tools/list-dir.js +104 -0
- package/plugins/files/dist/tools/list-dir.js.map +1 -0
- package/plugins/files/dist/tools/load-prompt.d.ts +5 -0
- package/plugins/files/dist/tools/load-prompt.d.ts.map +1 -0
- package/plugins/files/dist/tools/load-prompt.js +39 -0
- package/plugins/files/dist/tools/load-prompt.js.map +1 -0
- package/plugins/files/dist/tools/path-helper.d.ts +32 -0
- package/plugins/files/dist/tools/path-helper.d.ts.map +1 -0
- package/plugins/files/dist/tools/path-helper.js +113 -0
- package/plugins/files/dist/tools/path-helper.js.map +1 -0
- package/plugins/files/dist/tools/read-file.d.ts +17 -0
- package/plugins/files/dist/tools/read-file.d.ts.map +1 -0
- package/plugins/files/dist/tools/read-file.js +109 -0
- package/plugins/files/dist/tools/read-file.js.map +1 -0
- package/plugins/files/dist/tools/read-tracker.d.ts +28 -0
- package/plugins/files/dist/tools/read-tracker.d.ts.map +1 -0
- package/plugins/files/dist/tools/read-tracker.js +135 -0
- package/plugins/files/dist/tools/read-tracker.js.map +1 -0
- package/plugins/files/dist/tools/replacers.d.ts +27 -0
- package/plugins/files/dist/tools/replacers.d.ts.map +1 -0
- package/plugins/files/dist/tools/replacers.js +221 -0
- package/plugins/files/dist/tools/replacers.js.map +1 -0
- package/plugins/files/dist/tools/tenant-config-delete.d.ts +12 -0
- package/plugins/files/dist/tools/tenant-config-delete.d.ts.map +1 -0
- package/plugins/files/dist/tools/tenant-config-delete.js +70 -0
- package/plugins/files/dist/tools/tenant-config-delete.js.map +1 -0
- package/plugins/files/dist/tools/tenant-config-edit.d.ts +25 -0
- package/plugins/files/dist/tools/tenant-config-edit.d.ts.map +1 -0
- package/plugins/files/dist/tools/tenant-config-edit.js +142 -0
- package/plugins/files/dist/tools/tenant-config-edit.js.map +1 -0
- package/plugins/files/dist/tools/tenant-config-glob.d.ts +12 -0
- package/plugins/files/dist/tools/tenant-config-glob.d.ts.map +1 -0
- package/plugins/files/dist/tools/tenant-config-glob.js +64 -0
- package/plugins/files/dist/tools/tenant-config-glob.js.map +1 -0
- package/plugins/files/dist/tools/tenant-config-helper.d.ts +64 -0
- package/plugins/files/dist/tools/tenant-config-helper.d.ts.map +1 -0
- package/plugins/files/dist/tools/tenant-config-helper.js +162 -0
- package/plugins/files/dist/tools/tenant-config-helper.js.map +1 -0
- package/plugins/files/dist/tools/tenant-config-list.d.ts +20 -0
- package/plugins/files/dist/tools/tenant-config-list.d.ts.map +1 -0
- package/plugins/files/dist/tools/tenant-config-list.js +95 -0
- package/plugins/files/dist/tools/tenant-config-list.js.map +1 -0
- package/plugins/files/dist/tools/tenant-config-read.d.ts +17 -0
- package/plugins/files/dist/tools/tenant-config-read.d.ts.map +1 -0
- package/plugins/files/dist/tools/tenant-config-read.js +87 -0
- package/plugins/files/dist/tools/tenant-config-read.js.map +1 -0
- package/plugins/files/dist/tools/tenant-config-write.d.ts +14 -0
- package/plugins/files/dist/tools/tenant-config-write.d.ts.map +1 -0
- package/plugins/files/dist/tools/tenant-config-write.js +78 -0
- package/plugins/files/dist/tools/tenant-config-write.js.map +1 -0
- package/plugins/files/dist/tools/text-shape.d.ts +20 -0
- package/plugins/files/dist/tools/text-shape.d.ts.map +1 -0
- package/plugins/files/dist/tools/text-shape.js +57 -0
- package/plugins/files/dist/tools/text-shape.js.map +1 -0
- package/plugins/files/dist/tools/write-file.d.ts +12 -0
- package/plugins/files/dist/tools/write-file.d.ts.map +1 -0
- package/plugins/files/dist/tools/write-file.js +89 -0
- package/plugins/files/dist/tools/write-file.js.map +1 -0
- package/plugins/files/dist/tools/write-file.prompt.md +14 -0
- package/plugins/files/manifest.json +100 -0
- package/plugins/files/package.json +39 -0
- package/plugins/files/skills/files-workspace-layout.md +29 -0
- package/plugins/microsandbox/dist/admin/browser-routes.d.ts +41 -0
- package/plugins/microsandbox/dist/admin/browser-routes.d.ts.map +1 -0
- package/plugins/microsandbox/dist/admin/browser-routes.js +208 -0
- package/plugins/microsandbox/dist/admin/browser-routes.js.map +1 -0
- package/plugins/microsandbox/dist/admin/preview-exec.d.ts +38 -0
- package/plugins/microsandbox/dist/admin/preview-exec.d.ts.map +1 -0
- package/plugins/microsandbox/dist/admin/preview-exec.js +185 -0
- package/plugins/microsandbox/dist/admin/preview-exec.js.map +1 -0
- package/plugins/microsandbox/dist/admin/routes.d.ts +35 -0
- package/plugins/microsandbox/dist/admin/routes.d.ts.map +1 -0
- package/plugins/microsandbox/dist/admin/routes.js +728 -0
- package/plugins/microsandbox/dist/admin/routes.js.map +1 -0
- package/plugins/microsandbox/dist/admin/sandboxfile-io.d.ts +11 -0
- package/plugins/microsandbox/dist/admin/sandboxfile-io.d.ts.map +1 -0
- package/plugins/microsandbox/dist/admin/sandboxfile-io.js +72 -0
- package/plugins/microsandbox/dist/admin/sandboxfile-io.js.map +1 -0
- package/plugins/microsandbox/dist/admin/templates.d.ts +16 -0
- package/plugins/microsandbox/dist/admin/templates.d.ts.map +1 -0
- package/plugins/microsandbox/dist/admin/templates.js +66 -0
- package/plugins/microsandbox/dist/admin/templates.js.map +1 -0
- package/plugins/microsandbox/dist/admin.d.ts +5 -0
- package/plugins/microsandbox/dist/admin.d.ts.map +1 -0
- package/plugins/microsandbox/dist/admin.js +256 -0
- package/plugins/microsandbox/dist/admin.js.map +1 -0
- package/plugins/microsandbox/dist/build/builder.d.ts +69 -0
- package/plugins/microsandbox/dist/build/builder.d.ts.map +1 -0
- package/plugins/microsandbox/dist/build/builder.js +257 -0
- package/plugins/microsandbox/dist/build/builder.js.map +1 -0
- package/plugins/microsandbox/dist/build/metadata.d.ts +27 -0
- package/plugins/microsandbox/dist/build/metadata.d.ts.map +1 -0
- package/plugins/microsandbox/dist/build/metadata.js +55 -0
- package/plugins/microsandbox/dist/build/metadata.js.map +1 -0
- package/plugins/microsandbox/dist/build/pointer.d.ts +51 -0
- package/plugins/microsandbox/dist/build/pointer.d.ts.map +1 -0
- package/plugins/microsandbox/dist/build/pointer.js +130 -0
- package/plugins/microsandbox/dist/build/pointer.js.map +1 -0
- package/plugins/microsandbox/dist/build/sandboxfile.d.ts +15 -0
- package/plugins/microsandbox/dist/build/sandboxfile.d.ts.map +1 -0
- package/plugins/microsandbox/dist/build/sandboxfile.js +176 -0
- package/plugins/microsandbox/dist/build/sandboxfile.js.map +1 -0
- package/plugins/microsandbox/dist/client.d.ts +5 -0
- package/plugins/microsandbox/dist/client.d.ts.map +1 -0
- package/plugins/microsandbox/dist/client.js +941 -0
- package/plugins/microsandbox/dist/client.js.map +1 -0
- package/plugins/microsandbox/dist/runner/browser.d.ts +50 -0
- package/plugins/microsandbox/dist/runner/browser.d.ts.map +1 -0
- package/plugins/microsandbox/dist/runner/browser.js +142 -0
- package/plugins/microsandbox/dist/runner/browser.js.map +1 -0
- package/plugins/microsandbox/dist/runner/free-port.d.ts +6 -0
- package/plugins/microsandbox/dist/runner/free-port.d.ts.map +1 -0
- package/plugins/microsandbox/dist/runner/free-port.js +53 -0
- package/plugins/microsandbox/dist/runner/free-port.js.map +1 -0
- package/plugins/microsandbox/dist/runner/index.d.ts +28 -0
- package/plugins/microsandbox/dist/runner/index.d.ts.map +1 -0
- package/plugins/microsandbox/dist/runner/index.js +72 -0
- package/plugins/microsandbox/dist/runner/index.js.map +1 -0
- package/plugins/microsandbox/dist/runner/microsandbox.d.ts +64 -0
- package/plugins/microsandbox/dist/runner/microsandbox.d.ts.map +1 -0
- package/plugins/microsandbox/dist/runner/microsandbox.js +668 -0
- package/plugins/microsandbox/dist/runner/microsandbox.js.map +1 -0
- package/plugins/microsandbox/dist/runner/nullable.d.ts +36 -0
- package/plugins/microsandbox/dist/runner/nullable.d.ts.map +1 -0
- package/plugins/microsandbox/dist/runner/nullable.js +82 -0
- package/plugins/microsandbox/dist/runner/nullable.js.map +1 -0
- package/plugins/microsandbox/dist/runner/pool.d.ts +97 -0
- package/plugins/microsandbox/dist/runner/pool.d.ts.map +1 -0
- package/plugins/microsandbox/dist/runner/pool.js +494 -0
- package/plugins/microsandbox/dist/runner/pool.js.map +1 -0
- package/plugins/microsandbox/dist/runner/types.d.ts +33 -0
- package/plugins/microsandbox/dist/runner/types.d.ts.map +1 -0
- package/plugins/microsandbox/dist/runner/types.js +79 -0
- package/plugins/microsandbox/dist/runner/types.js.map +1 -0
- package/plugins/microsandbox/dist/server.d.ts +7 -0
- package/plugins/microsandbox/dist/server.d.ts.map +1 -0
- package/plugins/microsandbox/dist/server.js +276 -0
- package/plugins/microsandbox/dist/server.js.map +1 -0
- package/plugins/microsandbox/dist/tools/browser.d.ts +25 -0
- package/plugins/microsandbox/dist/tools/browser.d.ts.map +1 -0
- package/plugins/microsandbox/dist/tools/browser.js +78 -0
- package/plugins/microsandbox/dist/tools/browser.js.map +1 -0
- package/plugins/microsandbox/dist/tools/build.d.ts +5 -0
- package/plugins/microsandbox/dist/tools/build.d.ts.map +1 -0
- package/plugins/microsandbox/dist/tools/build.js +243 -0
- package/plugins/microsandbox/dist/tools/build.js.map +1 -0
- package/plugins/microsandbox/dist/tools/index.d.ts +9 -0
- package/plugins/microsandbox/dist/tools/index.d.ts.map +1 -0
- package/plugins/microsandbox/dist/tools/index.js +430 -0
- package/plugins/microsandbox/dist/tools/index.js.map +1 -0
- package/plugins/microsandbox/dist/tools/mcp-client.d.ts +63 -0
- package/plugins/microsandbox/dist/tools/mcp-client.d.ts.map +1 -0
- package/plugins/microsandbox/dist/tools/mcp-client.js +226 -0
- package/plugins/microsandbox/dist/tools/mcp-client.js.map +1 -0
- package/plugins/microsandbox/manifest.json +177 -0
- package/plugins/microsandbox/package.json +38 -0
- package/plugins/microsandbox/skills/microsandbox-browser-howto.md +155 -0
- package/plugins/microsandbox/skills/microsandbox-build-use.md +201 -0
- package/plugins/microsandbox/skills/microsandbox-config.md +38 -0
- package/plugins/microsandbox/skills/microsandbox-exec-howto.md +144 -0
- package/plugins/microsandbox/skills/microsandbox-libreoffice.md +159 -0
- package/plugins/microsandbox/templates/README.md +26 -0
- package/plugins/web-search/dist/server.d.ts +4 -0
- package/plugins/web-search/dist/server.d.ts.map +1 -0
- package/plugins/web-search/dist/server.js +73 -0
- package/plugins/web-search/dist/server.js.map +1 -0
- package/plugins/web-search/dist/tools/health.d.ts +31 -0
- package/plugins/web-search/dist/tools/health.d.ts.map +1 -0
- package/plugins/web-search/dist/tools/health.js +59 -0
- package/plugins/web-search/dist/tools/health.js.map +1 -0
- package/plugins/web-search/dist/tools/index.d.ts +3 -0
- package/plugins/web-search/dist/tools/index.d.ts.map +1 -0
- package/plugins/web-search/dist/tools/index.js +2 -0
- package/plugins/web-search/dist/tools/index.js.map +1 -0
- package/plugins/web-search/dist/tools/providers.d.ts +43 -0
- package/plugins/web-search/dist/tools/providers.d.ts.map +1 -0
- package/plugins/web-search/dist/tools/providers.js +140 -0
- package/plugins/web-search/dist/tools/providers.js.map +1 -0
- package/plugins/web-search/dist/tools/web-search.d.ts +15 -0
- package/plugins/web-search/dist/tools/web-search.d.ts.map +1 -0
- package/plugins/web-search/dist/tools/web-search.js +244 -0
- package/plugins/web-search/dist/tools/web-search.js.map +1 -0
- package/plugins/web-search/manifest.json +65 -0
- package/plugins/web-search/node_modules/@esbuild/darwin-arm64/README.md +3 -0
- package/plugins/web-search/node_modules/@esbuild/darwin-arm64/package.json +20 -0
- package/plugins/web-search/node_modules/@vitest/expect/LICENSE +21 -0
- package/plugins/web-search/node_modules/@vitest/expect/README.md +21 -0
- package/plugins/web-search/node_modules/@vitest/expect/dist/index.d.ts +808 -0
- package/plugins/web-search/node_modules/@vitest/expect/dist/index.js +1799 -0
- package/plugins/web-search/node_modules/@vitest/expect/package.json +46 -0
- package/plugins/web-search/node_modules/@vitest/mocker/LICENSE +21 -0
- package/plugins/web-search/node_modules/@vitest/mocker/README.md +5 -0
- package/plugins/web-search/node_modules/@vitest/mocker/dist/auto-register.d.ts +2 -0
- package/plugins/web-search/node_modules/@vitest/mocker/dist/auto-register.js +9 -0
- package/plugins/web-search/node_modules/@vitest/mocker/dist/browser.d.ts +53 -0
- package/plugins/web-search/node_modules/@vitest/mocker/dist/browser.js +91 -0
- package/plugins/web-search/node_modules/@vitest/mocker/dist/chunk-interceptor-native.js +15 -0
- package/plugins/web-search/node_modules/@vitest/mocker/dist/chunk-mocker.js +1602 -0
- package/plugins/web-search/node_modules/@vitest/mocker/dist/chunk-pathe.M-eThtNZ.js +174 -0
- package/plugins/web-search/node_modules/@vitest/mocker/dist/chunk-registry.js +182 -0
- package/plugins/web-search/node_modules/@vitest/mocker/dist/chunk-utils.js +16 -0
- package/plugins/web-search/node_modules/@vitest/mocker/dist/index.d.ts +21 -0
- package/plugins/web-search/node_modules/@vitest/mocker/dist/index.js +174 -0
- package/plugins/web-search/node_modules/@vitest/mocker/dist/mocker.d-Ce9_ySj5.d.ts +83 -0
- package/plugins/web-search/node_modules/@vitest/mocker/dist/node.d.ts +821 -0
- package/plugins/web-search/node_modules/@vitest/mocker/dist/node.js +1306 -0
- package/plugins/web-search/node_modules/@vitest/mocker/dist/redirect.d.ts +3 -0
- package/plugins/web-search/node_modules/@vitest/mocker/dist/redirect.js +75 -0
- package/plugins/web-search/node_modules/@vitest/mocker/dist/register.d.ts +9 -0
- package/plugins/web-search/node_modules/@vitest/mocker/dist/register.js +41 -0
- package/plugins/web-search/node_modules/@vitest/mocker/dist/registry.d-D765pazg.d.ts +87 -0
- package/plugins/web-search/node_modules/@vitest/mocker/dist/types.d-D_aRZRdy.d.ts +8 -0
- package/plugins/web-search/node_modules/@vitest/mocker/package.json +82 -0
- package/plugins/web-search/node_modules/@vitest/pretty-format/LICENSE +21 -0
- package/plugins/web-search/node_modules/@vitest/pretty-format/dist/index.d.ts +119 -0
- package/plugins/web-search/node_modules/@vitest/pretty-format/dist/index.js +1387 -0
- package/plugins/web-search/node_modules/@vitest/pretty-format/package.json +44 -0
- package/plugins/web-search/node_modules/@vitest/runner/LICENSE +21 -0
- package/plugins/web-search/node_modules/@vitest/runner/README.md +5 -0
- package/plugins/web-search/node_modules/@vitest/runner/dist/chunk-hooks.js +2254 -0
- package/plugins/web-search/node_modules/@vitest/runner/dist/index.d.ts +261 -0
- package/plugins/web-search/node_modules/@vitest/runner/dist/index.js +6 -0
- package/plugins/web-search/node_modules/@vitest/runner/dist/tasks.d-CkscK4of.d.ts +558 -0
- package/plugins/web-search/node_modules/@vitest/runner/dist/types.d.ts +163 -0
- package/plugins/web-search/node_modules/@vitest/runner/dist/types.js +1 -0
- package/plugins/web-search/node_modules/@vitest/runner/dist/utils.d.ts +47 -0
- package/plugins/web-search/node_modules/@vitest/runner/dist/utils.js +6 -0
- package/plugins/web-search/node_modules/@vitest/runner/package.json +49 -0
- package/plugins/web-search/node_modules/@vitest/snapshot/LICENSE +21 -0
- package/plugins/web-search/node_modules/@vitest/snapshot/README.md +84 -0
- package/plugins/web-search/node_modules/@vitest/snapshot/dist/environment.d-DHdQ1Csl.d.ts +22 -0
- package/plugins/web-search/node_modules/@vitest/snapshot/dist/environment.d.ts +16 -0
- package/plugins/web-search/node_modules/@vitest/snapshot/dist/environment.js +40 -0
- package/plugins/web-search/node_modules/@vitest/snapshot/dist/index.d.ts +137 -0
- package/plugins/web-search/node_modules/@vitest/snapshot/dist/index.js +2305 -0
- package/plugins/web-search/node_modules/@vitest/snapshot/dist/manager.d.ts +18 -0
- package/plugins/web-search/node_modules/@vitest/snapshot/dist/manager.js +73 -0
- package/plugins/web-search/node_modules/@vitest/snapshot/dist/rawSnapshot.d-lFsMJFUd.d.ts +61 -0
- package/plugins/web-search/node_modules/@vitest/snapshot/package.json +54 -0
- package/plugins/web-search/node_modules/@vitest/spy/LICENSE +21 -0
- package/plugins/web-search/node_modules/@vitest/spy/README.md +3 -0
- package/plugins/web-search/node_modules/@vitest/spy/dist/index.d.ts +356 -0
- package/plugins/web-search/node_modules/@vitest/spy/dist/index.js +191 -0
- package/plugins/web-search/node_modules/@vitest/spy/package.json +38 -0
- package/plugins/web-search/node_modules/@vitest/utils/LICENSE +21 -0
- package/plugins/web-search/node_modules/@vitest/utils/dist/chunk-_commonjsHelpers.js +158 -0
- package/plugins/web-search/node_modules/@vitest/utils/dist/diff.d.ts +104 -0
- package/plugins/web-search/node_modules/@vitest/utils/dist/diff.js +2185 -0
- package/plugins/web-search/node_modules/@vitest/utils/dist/error.d.ts +9 -0
- package/plugins/web-search/node_modules/@vitest/utils/dist/error.js +162 -0
- package/plugins/web-search/node_modules/@vitest/utils/dist/helpers.d.ts +56 -0
- package/plugins/web-search/node_modules/@vitest/utils/dist/helpers.js +251 -0
- package/plugins/web-search/node_modules/@vitest/utils/dist/index.d.ts +57 -0
- package/plugins/web-search/node_modules/@vitest/utils/dist/index.js +633 -0
- package/plugins/web-search/node_modules/@vitest/utils/dist/source-map.d.ts +139 -0
- package/plugins/web-search/node_modules/@vitest/utils/dist/source-map.js +996 -0
- package/plugins/web-search/node_modules/@vitest/utils/dist/types.d-BCElaP-c.d.ts +53 -0
- package/plugins/web-search/node_modules/@vitest/utils/dist/types.d.ts +53 -0
- package/plugins/web-search/node_modules/@vitest/utils/dist/types.js +1 -0
- package/plugins/web-search/node_modules/@vitest/utils/package.json +77 -0
- package/plugins/web-search/node_modules/chai/LICENSE +21 -0
- package/plugins/web-search/node_modules/chai/README.md +162 -0
- package/plugins/web-search/node_modules/chai/package.json +74 -0
- package/plugins/web-search/node_modules/esbuild/README.md +3 -0
- package/plugins/web-search/node_modules/esbuild/package.json +49 -0
- package/plugins/web-search/node_modules/std-env/README.md +118 -0
- package/plugins/web-search/node_modules/std-env/dist/index.cjs +1 -0
- package/plugins/web-search/node_modules/std-env/dist/index.d.cts +92 -0
- package/plugins/web-search/node_modules/std-env/dist/index.d.mts +92 -0
- package/plugins/web-search/node_modules/std-env/dist/index.d.ts +92 -0
- package/plugins/web-search/node_modules/std-env/dist/index.mjs +1 -0
- package/plugins/web-search/node_modules/std-env/package.json +46 -0
- package/plugins/web-search/node_modules/tinyexec/LICENSE +21 -0
- package/plugins/web-search/node_modules/tinyexec/README.md +256 -0
- package/plugins/web-search/node_modules/tinyexec/dist/main.cjs +575 -0
- package/plugins/web-search/node_modules/tinyexec/dist/main.d.cts +70 -0
- package/plugins/web-search/node_modules/tinyexec/dist/main.d.ts +70 -0
- package/plugins/web-search/node_modules/tinyexec/dist/main.js +578 -0
- package/plugins/web-search/node_modules/tinyexec/package.json +66 -0
- package/plugins/web-search/node_modules/tinyrainbow/README.md +28 -0
- package/plugins/web-search/node_modules/tinyrainbow/dist/browser.d.ts +8 -0
- package/plugins/web-search/node_modules/tinyrainbow/dist/browser.js +20 -0
- package/plugins/web-search/node_modules/tinyrainbow/dist/chunk-BVHSVHOK.js +90 -0
- package/plugins/web-search/node_modules/tinyrainbow/dist/index-8b61d5bc.d.ts +59 -0
- package/plugins/web-search/node_modules/tinyrainbow/dist/node.d.ts +8 -0
- package/plugins/web-search/node_modules/tinyrainbow/dist/node.js +22 -0
- package/plugins/web-search/node_modules/tinyrainbow/package.json +37 -0
- package/plugins/web-search/node_modules/typescript/README.md +50 -0
- package/plugins/web-search/node_modules/typescript/package.json +120 -0
- package/plugins/web-search/node_modules/vite/README.md +20 -0
- package/plugins/web-search/node_modules/vite/dist/client/client.mjs +1106 -0
- package/plugins/web-search/node_modules/vite/dist/client/env.mjs +19 -0
- package/plugins/web-search/node_modules/vite/dist/node/chunks/build.js +4 -0
- package/plugins/web-search/node_modules/vite/dist/node/chunks/build2.js +5538 -0
- package/plugins/web-search/node_modules/vite/dist/node/chunks/chunk.js +48 -0
- package/plugins/web-search/node_modules/vite/dist/node/chunks/config.js +36065 -0
- package/plugins/web-search/node_modules/vite/dist/node/chunks/config2.js +4 -0
- package/plugins/web-search/node_modules/vite/dist/node/chunks/dist.js +6758 -0
- package/plugins/web-search/node_modules/vite/dist/node/chunks/lib.js +377 -0
- package/plugins/web-search/node_modules/vite/dist/node/chunks/logger.js +329 -0
- package/plugins/web-search/node_modules/vite/dist/node/chunks/moduleRunnerTransport.d.ts +96 -0
- package/plugins/web-search/node_modules/vite/dist/node/chunks/optimizer.js +4 -0
- package/plugins/web-search/node_modules/vite/dist/node/chunks/postcss-import.js +479 -0
- package/plugins/web-search/node_modules/vite/dist/node/chunks/preview.js +4 -0
- package/plugins/web-search/node_modules/vite/dist/node/chunks/server.js +4 -0
- package/plugins/web-search/node_modules/vite/dist/node/cli.js +698 -0
- package/plugins/web-search/node_modules/vite/dist/node/index.d.ts +3717 -0
- package/plugins/web-search/node_modules/vite/dist/node/index.js +30 -0
- package/plugins/web-search/node_modules/vite/dist/node/module-runner.d.ts +311 -0
- package/plugins/web-search/node_modules/vite/dist/node/module-runner.js +1160 -0
- package/plugins/web-search/node_modules/vite/package.json +199 -0
- package/plugins/web-search/node_modules/vite/types/package.json +4 -0
- package/plugins/web-search/node_modules/vitest/README.md +7 -0
- package/plugins/web-search/node_modules/vitest/dist/browser.d.ts +34 -0
- package/plugins/web-search/node_modules/vitest/dist/browser.js +8 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/_commonjsHelpers.BFTU3MAI.js +7 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/base.DfmxU-tU.js +38 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/benchmark.CYdenmiT.js +37 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/benchmark.d.BwvBVTda.d.ts +24 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/cac.0BJqEUeA.js +1469 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/cli-api.DWGBtMmz.js +10660 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/config.d.BKdhh7Zx.d.ts +224 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/console.CtFJOzRO.js +153 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/constants.DnKduX2e.js +44 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/coverage.DVF1vEu8.js +25 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/coverage.DfSpMS-b.js +4350 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/coverage.d.S9RMNXIe.d.ts +35 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/creator.GK6I-cL4.js +640 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/date.Bq6ZW5rf.js +73 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/defaults.B7q_naMc.js +115 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/env.D4Lgay0q.js +8 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/environment.d.cL3nLXbE.d.ts +119 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js +708 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/git.BVQ8w_Sw.js +72 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/global.d.MAmajcmJ.d.ts +136 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/globals.DEHgCU4V.js +26 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/index.B521nVV-.js +157 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/index.BCWujgDG.js +231 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/index.CdQS2e2Q.js +37 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/index.CmSc2RE5.js +587 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/index.CwejwG0H.js +105 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/index.D3XRDfWc.js +213 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/index.VByaPkjc.js +2183 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/index.X0nbfr6-.js +6584 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/inspector.C914Efll.js +57 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/mocker.d.BE_2ls6u.d.ts +17 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/node.fjCdwEIl.js +15 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/reporters.d.BuRON0I0.d.ts +3168 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/rpc.-pEldfrD.js +83 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js +129 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/setup-common.Dd054P77.js +60 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/suite.d.FvehnV49.d.ts +10 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/typechecker.DRKU1-1g.js +874 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/utils.CAioKnHs.js +61 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/utils.XdZDrNZV.js +65 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js +4015 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/vite.d.BnOPPc46.d.ts +25 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/vm.BThCzidc.js +756 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/worker.d.CUgIPz9V.d.ts +176 -0
- package/plugins/web-search/node_modules/vitest/dist/chunks/worker.d.uzWsCv9X.d.ts +8 -0
- package/plugins/web-search/node_modules/vitest/dist/cli.js +27 -0
- package/plugins/web-search/node_modules/vitest/dist/config.cjs +148 -0
- package/plugins/web-search/node_modules/vitest/dist/config.d.ts +100 -0
- package/plugins/web-search/node_modules/vitest/dist/config.js +21 -0
- package/plugins/web-search/node_modules/vitest/dist/coverage.d.ts +108 -0
- package/plugins/web-search/node_modules/vitest/dist/coverage.js +34 -0
- package/plugins/web-search/node_modules/vitest/dist/environments.d.ts +26 -0
- package/plugins/web-search/node_modules/vitest/dist/environments.js +2 -0
- package/plugins/web-search/node_modules/vitest/dist/execute.d.ts +150 -0
- package/plugins/web-search/node_modules/vitest/dist/execute.js +13 -0
- package/plugins/web-search/node_modules/vitest/dist/index.d.ts +651 -0
- package/plugins/web-search/node_modules/vitest/dist/index.js +18 -0
- package/plugins/web-search/node_modules/vitest/dist/mocker.d.ts +1 -0
- package/plugins/web-search/node_modules/vitest/dist/mocker.js +1 -0
- package/plugins/web-search/node_modules/vitest/dist/node.d.ts +158 -0
- package/plugins/web-search/node_modules/vitest/dist/node.js +105 -0
- package/plugins/web-search/node_modules/vitest/dist/path.js +7 -0
- package/plugins/web-search/node_modules/vitest/dist/reporters.d.ts +25 -0
- package/plugins/web-search/node_modules/vitest/dist/reporters.js +23 -0
- package/plugins/web-search/node_modules/vitest/dist/runners.d.ts +46 -0
- package/plugins/web-search/node_modules/vitest/dist/runners.js +235 -0
- package/plugins/web-search/node_modules/vitest/dist/snapshot.d.ts +9 -0
- package/plugins/web-search/node_modules/vitest/dist/snapshot.js +4 -0
- package/plugins/web-search/node_modules/vitest/dist/spy.js +1 -0
- package/plugins/web-search/node_modules/vitest/dist/suite.d.ts +5 -0
- package/plugins/web-search/node_modules/vitest/dist/suite.js +5 -0
- package/plugins/web-search/node_modules/vitest/dist/worker.js +124 -0
- package/plugins/web-search/node_modules/vitest/dist/workers/forks.js +43 -0
- package/plugins/web-search/node_modules/vitest/dist/workers/runVmTests.js +90 -0
- package/plugins/web-search/node_modules/vitest/dist/workers/threads.js +31 -0
- package/plugins/web-search/node_modules/vitest/dist/workers/vmForks.js +47 -0
- package/plugins/web-search/node_modules/vitest/dist/workers/vmThreads.js +37 -0
- package/plugins/web-search/node_modules/vitest/dist/workers.d.ts +40 -0
- package/plugins/web-search/node_modules/vitest/dist/workers.js +30 -0
- package/plugins/web-search/node_modules/vitest/package.json +207 -0
- package/plugins/web-search/package.json +30 -0
- package/plugins/web-search/skills/web-search-howto.md +69 -0
- package/plugins/workboard/agent-seeds/echo-demo/agent.json +7 -0
- package/plugins/workboard/agent-seeds/llm-default/SOUL.md +53 -0
- package/plugins/workboard/agent-seeds/llm-default/agent.json +7 -0
- package/plugins/workboard/dist/client.d.ts +5 -0
- package/plugins/workboard/dist/client.d.ts.map +1 -0
- package/plugins/workboard/dist/client.js +895 -0
- package/plugins/workboard/dist/client.js.map +1 -0
- package/plugins/workboard/dist/db/agents.d.ts +100 -0
- package/plugins/workboard/dist/db/agents.d.ts.map +1 -0
- package/plugins/workboard/dist/db/agents.js +280 -0
- package/plugins/workboard/dist/db/agents.js.map +1 -0
- package/plugins/workboard/dist/db/schema.d.ts +3 -0
- package/plugins/workboard/dist/db/schema.d.ts.map +1 -0
- package/plugins/workboard/dist/db/schema.js +31 -0
- package/plugins/workboard/dist/db/schema.js.map +1 -0
- package/plugins/workboard/dist/db/session-history.d.ts +28 -0
- package/plugins/workboard/dist/db/session-history.d.ts.map +1 -0
- package/plugins/workboard/dist/db/session-history.js +224 -0
- package/plugins/workboard/dist/db/session-history.js.map +1 -0
- package/plugins/workboard/dist/db/tasks.d.ts +260 -0
- package/plugins/workboard/dist/db/tasks.d.ts.map +1 -0
- package/plugins/workboard/dist/db/tasks.js +451 -0
- package/plugins/workboard/dist/db/tasks.js.map +1 -0
- package/plugins/workboard/dist/db/worker-agents.d.ts +16 -0
- package/plugins/workboard/dist/db/worker-agents.d.ts.map +1 -0
- package/plugins/workboard/dist/db/worker-agents.js +62 -0
- package/plugins/workboard/dist/db/worker-agents.js.map +1 -0
- package/plugins/workboard/dist/effective-skills.d.ts +13 -0
- package/plugins/workboard/dist/effective-skills.d.ts.map +1 -0
- package/plugins/workboard/dist/effective-skills.js +126 -0
- package/plugins/workboard/dist/effective-skills.js.map +1 -0
- package/plugins/workboard/dist/fs-worker-agents.d.ts +35 -0
- package/plugins/workboard/dist/fs-worker-agents.d.ts.map +1 -0
- package/plugins/workboard/dist/fs-worker-agents.js +199 -0
- package/plugins/workboard/dist/fs-worker-agents.js.map +1 -0
- package/plugins/workboard/dist/migrate-worker-agents.d.ts +11 -0
- package/plugins/workboard/dist/migrate-worker-agents.d.ts.map +1 -0
- package/plugins/workboard/dist/migrate-worker-agents.js +89 -0
- package/plugins/workboard/dist/migrate-worker-agents.js.map +1 -0
- package/plugins/workboard/dist/routes/handlers.d.ts +106 -0
- package/plugins/workboard/dist/routes/handlers.d.ts.map +1 -0
- package/plugins/workboard/dist/routes/handlers.js +668 -0
- package/plugins/workboard/dist/routes/handlers.js.map +1 -0
- package/plugins/workboard/dist/server.d.ts +6 -0
- package/plugins/workboard/dist/server.d.ts.map +1 -0
- package/plugins/workboard/dist/server.js +368 -0
- package/plugins/workboard/dist/server.js.map +1 -0
- package/plugins/workboard/dist/tools/index.d.ts +70 -0
- package/plugins/workboard/dist/tools/index.d.ts.map +1 -0
- package/plugins/workboard/dist/tools/index.js +963 -0
- package/plugins/workboard/dist/tools/index.js.map +1 -0
- package/plugins/workboard/dist/types.d.ts +27 -0
- package/plugins/workboard/dist/types.d.ts.map +1 -0
- package/plugins/workboard/dist/types.js +16 -0
- package/plugins/workboard/dist/types.js.map +1 -0
- package/plugins/workboard/dist/worker/pool.d.ts +220 -0
- package/plugins/workboard/dist/worker/pool.d.ts.map +1 -0
- package/plugins/workboard/dist/worker/pool.js +866 -0
- package/plugins/workboard/dist/worker/pool.js.map +1 -0
- package/plugins/workboard/dist/worker/tool-policy.d.ts +27 -0
- package/plugins/workboard/dist/worker/tool-policy.d.ts.map +1 -0
- package/plugins/workboard/dist/worker/tool-policy.js +76 -0
- package/plugins/workboard/dist/worker/tool-policy.js.map +1 -0
- package/plugins/workboard/dist/worker-agents-page.d.ts +4 -0
- package/plugins/workboard/dist/worker-agents-page.d.ts.map +1 -0
- package/plugins/workboard/dist/worker-agents-page.js +193 -0
- package/plugins/workboard/dist/worker-agents-page.js.map +1 -0
- package/plugins/workboard/manifest.json +180 -0
- package/plugins/workboard/package.json +37 -0
- package/plugins/workboard/skills/large-input-large-output.md +185 -0
- package/plugins/workboard/skills/workboard-howto.md +166 -0
- package/plugins/workboard/skills/worker-creator.md +267 -0
- package/plugins/workboard/skills/worker-fleet.md +431 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Task runner Sandboxfile.
|
|
2
|
+
#
|
|
3
|
+
# Recommended snapshot for the per-task sandbox pool (PR #141): a
|
|
4
|
+
# Node 22 + Python 3.12 environment with the tools agent tasks
|
|
5
|
+
# typically reach for, but WITHOUT the GUI / browser stack from
|
|
6
|
+
# `browser.yaml`. Faster to boot, smaller RAM footprint, plenty
|
|
7
|
+
# fast for code generation / data analysis / shell scripting
|
|
8
|
+
# tasks that don't need a chromium of their own.
|
|
9
|
+
#
|
|
10
|
+
# Use this as the default Task snapshot in the admin UI; pick
|
|
11
|
+
# `browser.yaml` instead when the workload needs to pilot a
|
|
12
|
+
# chromium (visual scraping, JS-heavy SPAs, screenshots, etc).
|
|
13
|
+
# Anything beyond those two cases — a custom base image, an
|
|
14
|
+
# air-gapped install, etc — means writing your own Sandboxfile
|
|
15
|
+
# and uploading it through the admin UI.
|
|
16
|
+
#
|
|
17
|
+
# Includes vs `browser.yaml`:
|
|
18
|
+
# shared: sudo, curl, ca-certs, fontconfig + CJK + emoji fonts,
|
|
19
|
+
# libreoffice (so docx/xlsx/pptx round-trips work),
|
|
20
|
+
# Node 22 (base image), Python 3.12 + pip + venv
|
|
21
|
+
# added : git, jq, build-essential, less, vim-tiny, zip/unzip
|
|
22
|
+
# added : pip pre-installs so common one-shot tasks don't pay
|
|
23
|
+
# the install latency on every cold start:
|
|
24
|
+
# - data: pandas, numpy, matplotlib, openpyxl
|
|
25
|
+
# - web: requests, beautifulsoup4, lxml, pyyaml
|
|
26
|
+
# - office: python-docx, python-pptx, pypdf, reportlab,
|
|
27
|
+
# markitdown (universal-converter)
|
|
28
|
+
# omitted: chromium, xvfb, x11vnc, fluxbox, supervisor, noVNC,
|
|
29
|
+
# wmctrl, x11-xserver-utils, all the X11/GUI client libs
|
|
30
|
+
# (libnss3, libatk*, libcups2, libgbm1, libxss1,
|
|
31
|
+
# libasound2, libxshmfence1, libxkbcommon0, libpango,
|
|
32
|
+
# libxcomposite1, libxdamage1, libxrandr2)
|
|
33
|
+
#
|
|
34
|
+
# Total image is ~600 MB compressed vs `browser.yaml`'s ~3.2 GB.
|
|
35
|
+
# Use `browser.yaml` instead when the workload genuinely needs to
|
|
36
|
+
# pilot a browser (visual scraping, JS-heavy SPA rendering, etc).
|
|
37
|
+
|
|
38
|
+
image: node:22-slim
|
|
39
|
+
cpus: 4
|
|
40
|
+
memory_mib: 4096
|
|
41
|
+
|
|
42
|
+
exec:
|
|
43
|
+
# APT mirror (China-mainland speed-up; harmless elsewhere — the
|
|
44
|
+
# debian.sources file replacement is a no-op when the original
|
|
45
|
+
# entries are already mirrored at the alibaba endpoint).
|
|
46
|
+
- sed -i 's|deb.debian.org|mirrors.aliyun.com|g; s|security.debian.org|mirrors.aliyun.com|g' /etc/apt/sources.list.d/debian.sources
|
|
47
|
+
- apt-get update -qq
|
|
48
|
+
|
|
49
|
+
# One apt install. node:22-slim already ships ca-certificates +
|
|
50
|
+
# xz-utils, so we don't repeat them here. Order roughly: shell
|
|
51
|
+
# essentials, dev tools, fonts, libreoffice, python.
|
|
52
|
+
- DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends curl sudo git jq build-essential less vim-tiny zip unzip fontconfig fonts-noto-cjk fonts-noto-color-emoji libreoffice-writer libreoffice-calc libreoffice-impress python3 python3-pip python3-venv
|
|
53
|
+
- rm -rf /var/lib/apt/lists/*
|
|
54
|
+
|
|
55
|
+
# Mirror npm + pip to local CDNs. Same rationale as the apt
|
|
56
|
+
# mirror — no-op outside CN, big speed-up inside.
|
|
57
|
+
- npm config set registry https://registry.npmmirror.com
|
|
58
|
+
- pip3 config --global set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
|
|
59
|
+
|
|
60
|
+
# Pre-install common pip libs so one-shot data tasks don't pay
|
|
61
|
+
# cold-start install latency. Three groups:
|
|
62
|
+
# data: pandas, numpy, matplotlib, openpyxl (xlsx via pandas)
|
|
63
|
+
# web: requests, beautifulsoup4, lxml, pyyaml
|
|
64
|
+
# office: python-docx (docx), python-pptx (pptx), pypdf
|
|
65
|
+
# (PDF read), reportlab (PDF write), markitdown
|
|
66
|
+
# (universal converter — docx/xlsx/pptx/pdf/html/csv
|
|
67
|
+
# → markdown)
|
|
68
|
+
# ~250 MB combined; reasonable for the value vs always installing
|
|
69
|
+
# on demand.
|
|
70
|
+
- pip3 install --no-cache-dir --break-system-packages pandas numpy matplotlib requests pyyaml lxml beautifulsoup4 openpyxl python-docx python-pptx pypdf reportlab markitdown
|
|
71
|
+
|
|
72
|
+
# Refresh font cache so matplotlib/PIL render CJK on first call.
|
|
73
|
+
- fc-cache -fv
|
|
74
|
+
|
|
75
|
+
# === Verify ============================================================
|
|
76
|
+
- bash -c "node --version && npm --version && python3 --version && pip3 --version"
|
|
77
|
+
- bash -c "git --version && jq --version | head -1"
|
|
78
|
+
- bash -c "python3 -c 'import pandas, numpy, matplotlib, requests, openpyxl, docx, pptx, pypdf, reportlab; import markitdown; print(\"py-libs ok\")'"
|
|
79
|
+
- bash -c "soffice --version | head -1"
|
|
80
|
+
- echo OK
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "web-search",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"displayName": "Web Search",
|
|
5
|
+
"description": "Web search via Tavily and Brave Search APIs. One tool, two providers, automatic fallback. Set API keys in Settings → Plugins.",
|
|
6
|
+
"author": "tianshu-ai",
|
|
7
|
+
"license": "Apache-2.0",
|
|
8
|
+
"permissions": ["network.external"],
|
|
9
|
+
"server": { "entry": "@tianshu-builtin/plugin-web-search/server" },
|
|
10
|
+
"contributes": {
|
|
11
|
+
"tools": [
|
|
12
|
+
{ "id": "web_search", "module": "WebSearchTool" }
|
|
13
|
+
],
|
|
14
|
+
"skills": [
|
|
15
|
+
{
|
|
16
|
+
"id": "web-search-howto",
|
|
17
|
+
"path": "skills/web-search-howto.md"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"apiRoutes": [
|
|
21
|
+
{ "method": "GET", "path": "/health", "handler": "getHealth" },
|
|
22
|
+
{ "method": "POST", "path": "/health/reset", "handler": "resetHealth" }
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
"configSchema": {
|
|
26
|
+
"fields": [
|
|
27
|
+
{
|
|
28
|
+
"key": "tavilyApiKey",
|
|
29
|
+
"label": "Tavily API key",
|
|
30
|
+
"kind": "secret",
|
|
31
|
+
"placeholder": "tvly-...",
|
|
32
|
+
"description": "Sign up at tavily.com (free tier 1000 searches/month). Stored under <tenant>/secrets/, never returned to the browser."
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"key": "braveApiKey",
|
|
36
|
+
"label": "Brave Search API key",
|
|
37
|
+
"kind": "secret",
|
|
38
|
+
"placeholder": "BSA...",
|
|
39
|
+
"description": "Optional. Get a free key at api-dashboard.search.brave.com (2000/month). Used as fallback when Tavily fails or returns nothing."
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"key": "preferredProvider",
|
|
43
|
+
"label": "Preferred provider",
|
|
44
|
+
"kind": "select",
|
|
45
|
+
"default": "tavily",
|
|
46
|
+
"options": [
|
|
47
|
+
{ "label": "Tavily", "value": "tavily" },
|
|
48
|
+
{ "label": "Brave", "value": "brave" }
|
|
49
|
+
],
|
|
50
|
+
"description": "Tried first when both keys are set. The other provider is used as automatic fallback only on transient errors (network / 5xx / 429). Auth failures (401 / 403) park the bad key in the health cache; clear it from Settings after fixing the key."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"key": "timeoutMs",
|
|
54
|
+
"label": "Per-request timeout",
|
|
55
|
+
"kind": "number",
|
|
56
|
+
"unit": "ms",
|
|
57
|
+
"min": 1000,
|
|
58
|
+
"max": 60000,
|
|
59
|
+
"step": 500,
|
|
60
|
+
"default": 8000,
|
|
61
|
+
"description": "Network timeout for each provider call. Increase if you hit timeouts on slow networks."
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: web-search-howto
|
|
3
|
+
description: How to use the `web_search` tool for tasks that need fresh information from the open web — current events, recent docs, prices, release notes, anything not in your training set or in the user's local files.
|
|
4
|
+
scope: worker
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Web search
|
|
8
|
+
|
|
9
|
+
`web_search` returns a JSON array of `{title, url, content,
|
|
10
|
+
publishedDate}` objects from Tavily or Brave Search (whichever
|
|
11
|
+
the host has an API key for; you don't have to pick).
|
|
12
|
+
|
|
13
|
+
## Basic call
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
web_search({ query: "anthropic claude 4.7 release notes" })
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Returns up to 5 results. Read titles + snippets first, only
|
|
20
|
+
fetch the URL with `read_file`-style web fetchers when the
|
|
21
|
+
snippet is insufficient.
|
|
22
|
+
|
|
23
|
+
## Tuning
|
|
24
|
+
|
|
25
|
+
- `count` (1-20, default 5): more results when you're sweeping
|
|
26
|
+
("recent papers on retrieval-augmented generation"); fewer
|
|
27
|
+
when you know there's a canonical source ("python 3.13
|
|
28
|
+
release date").
|
|
29
|
+
- `freshness`: `"day" | "week" | "month" | "year"`. Use this
|
|
30
|
+
for "what happened this week / this month" — without it,
|
|
31
|
+
search ranks by relevance over the whole web, which buries
|
|
32
|
+
recent news under older authoritative pages.
|
|
33
|
+
- `language`: ISO 639-1 or locale, e.g. `"zh-CN"`, `"en"`.
|
|
34
|
+
Biases engines toward language-specific sources. Skip this
|
|
35
|
+
for technical English-language queries; technical content is
|
|
36
|
+
usually English regardless of locale.
|
|
37
|
+
- `provider`: force `"tavily"` or `"brave"` if you want a
|
|
38
|
+
specific source. Default is "host's preferred provider with
|
|
39
|
+
fallback".
|
|
40
|
+
|
|
41
|
+
## Anti-patterns
|
|
42
|
+
|
|
43
|
+
- **Don't loop tiny searches.** Five searches with one keyword
|
|
44
|
+
each is worse than one search with the keywords combined.
|
|
45
|
+
`web_search({query: "claude 4.7 anthropic 2026 benchmark"})`
|
|
46
|
+
beats five separate searches.
|
|
47
|
+
- **Don't ask `web_search` to summarise.** It doesn't. Read the
|
|
48
|
+
snippets, fetch the page if you need the full text, then
|
|
49
|
+
summarise yourself.
|
|
50
|
+
- **Don't dump all results into the final answer.** Pick the
|
|
51
|
+
one or two most authoritative URLs, quote the relevant line,
|
|
52
|
+
cite. Agents who paste 10 result blocks turn answers into
|
|
53
|
+
noise.
|
|
54
|
+
|
|
55
|
+
## When the snippet isn't enough
|
|
56
|
+
|
|
57
|
+
`content` is 1-3 sentences. For the actual page body, fetch
|
|
58
|
+
the URL through whatever HTTP fetcher you have available
|
|
59
|
+
(`read_file` on a previously-saved page, the browser tools,
|
|
60
|
+
etc.). `web_search` itself does not return page bodies; that's
|
|
61
|
+
intentional — fetching only the URLs you actually need keeps
|
|
62
|
+
the tool fast and cheap.
|
|
63
|
+
|
|
64
|
+
## Citing sources
|
|
65
|
+
|
|
66
|
+
When you use a result in a final answer, cite it with the
|
|
67
|
+
title and URL. The agent who reads your output (the user, or
|
|
68
|
+
the next worker in the chain) shouldn't have to retrieve it
|
|
69
|
+
themselves to verify your claim.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
You are a workboard worker agent.
|
|
2
|
+
|
|
3
|
+
You were started because the orchestrator dropped a task on the
|
|
4
|
+
kanban for you. Each invocation handles ONE task end-to-end and
|
|
5
|
+
then exits.
|
|
6
|
+
|
|
7
|
+
## Your job
|
|
8
|
+
|
|
9
|
+
- Read the task title and description carefully. The user (the
|
|
10
|
+
asking agent) wrote them; treat them as the spec.
|
|
11
|
+
- Use whatever tools you need to do the work. The host's standard
|
|
12
|
+
tool set is available unless the orchestrator restricted you.
|
|
13
|
+
- Write deliverables under the user's workspace (./projects/<slug>/
|
|
14
|
+
for finished output, ./tmp/ for scratch).
|
|
15
|
+
|
|
16
|
+
## Exit contract (important)
|
|
17
|
+
|
|
18
|
+
When you're done — or if the task is impossible and you've
|
|
19
|
+
decided to give up — call the `task_complete` tool with a
|
|
20
|
+
one-line `summary` of what you produced (or, on failure, why
|
|
21
|
+
you couldn't). Optionally include `files` for paths you wrote.
|
|
22
|
+
|
|
23
|
+
The orchestrator only sees the summary you pass to task_complete
|
|
24
|
+
— prose alone won't reach it. If you finish without calling this
|
|
25
|
+
tool, the pool counts the run as stalled and will retry.
|
|
26
|
+
|
|
27
|
+
Do NOT ask the user clarifying questions: there's no human in
|
|
28
|
+
your loop. If the spec is ambiguous, make a reasonable choice,
|
|
29
|
+
proceed, and explain the choice in the task_complete summary.
|
|
30
|
+
|
|
31
|
+
Reply concisely. Don't narrate every tool call — just do the
|
|
32
|
+
work.
|
|
33
|
+
|
|
34
|
+
## Reading skills before you act
|
|
35
|
+
|
|
36
|
+
You have an `<available_skills>` block in your system prompt.
|
|
37
|
+
Before starting any task, scan it. If a skill clearly applies,
|
|
38
|
+
read its SKILL.md (use `tenant_config_read` for tenant skills
|
|
39
|
+
or `read_file` for host/plugin skills) before doing anything
|
|
40
|
+
else. Common triggers:
|
|
41
|
+
|
|
42
|
+
- The task asks you to read ≥ 2 non-trivial files OR produce a
|
|
43
|
+
large output (long HTML / md / generated code) → you almost
|
|
44
|
+
certainly want to read **large-input-large-output** first.
|
|
45
|
+
The default failure mode is to batch-read all sources in one
|
|
46
|
+
turn and then try to emit the whole output in one
|
|
47
|
+
`write_file`; that runs you out of context or output budget
|
|
48
|
+
and the run aborts mid-call. The skill spells out the
|
|
49
|
+
read-then-summarise / skeleton-then-fill / batch-edit
|
|
50
|
+
patterns that avoid this.
|
|
51
|
+
- The task involves running code → see `microsandbox-exec-howto`.
|
|
52
|
+
|
|
53
|
+
One skill up front max. If none clearly applies, read none.
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "workboard",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"displayName": "Workboard",
|
|
5
|
+
"description": "Kanban task board with a worker pool. The orchestrator drops tasks onto the board; workers pick them up, run them, and report back. v0.2 ships an echo worker so the full ready→in-progress→done loop is visible end-to-end; real worker runtimes (qianliyan / luban / xihe / nvwa) land in follow-up PRs as separate plugins.",
|
|
6
|
+
"author": "tianshu-ai",
|
|
7
|
+
"license": "Apache-2.0",
|
|
8
|
+
"permissions": ["workspace.read", "tenant.db"],
|
|
9
|
+
"requires": ["host.agentLoop", "host.sessionInbox", "host.toolCatalog", "host.skillCatalog", "host.modelCatalog"],
|
|
10
|
+
"client": { "entry": "@tianshu-builtin/plugin-workboard/client" },
|
|
11
|
+
"server": { "entry": "@tianshu-builtin/plugin-workboard/server" },
|
|
12
|
+
"contributes": {
|
|
13
|
+
"topBarButtons": [
|
|
14
|
+
{
|
|
15
|
+
"id": "toggle",
|
|
16
|
+
"icon": "Kanban",
|
|
17
|
+
"tooltip": "Task board",
|
|
18
|
+
"opensPanel": "workboard.main",
|
|
19
|
+
"order": 200
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"rightPanels": [
|
|
23
|
+
{
|
|
24
|
+
"id": "main",
|
|
25
|
+
"displayName": "Tasks",
|
|
26
|
+
"component": "WorkboardPanel"
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"sidebarSections": [
|
|
30
|
+
{
|
|
31
|
+
"id": "workers",
|
|
32
|
+
"displayName": "Workers",
|
|
33
|
+
"component": "WorkersSidebarSection",
|
|
34
|
+
"after": "workers",
|
|
35
|
+
"order": 100
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
"adminPages": [
|
|
39
|
+
{
|
|
40
|
+
"id": "agents",
|
|
41
|
+
"displayName": "Worker agents",
|
|
42
|
+
"icon": "Bot",
|
|
43
|
+
"component": "WorkerAgentsPage",
|
|
44
|
+
"order": 10
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"tools": [
|
|
48
|
+
{ "id": "task_list", "module": "TaskListTool" },
|
|
49
|
+
{ "id": "task_create", "module": "TaskCreateTool" },
|
|
50
|
+
{ "id": "task_update", "module": "TaskUpdateTool" },
|
|
51
|
+
{ "id": "task_move", "module": "TaskMoveTool" },
|
|
52
|
+
{ "id": "task_delete", "module": "TaskDeleteTool" },
|
|
53
|
+
{ "id": "task_get_history", "module": "TaskGetHistoryTool" },
|
|
54
|
+
{ "id": "task_complete", "module": "TaskCompleteTool" },
|
|
55
|
+
{ "id": "task_continue", "module": "TaskContinueTool" },
|
|
56
|
+
{ "id": "task_retry_fresh", "module": "TaskRetryFreshTool" },
|
|
57
|
+
{ "id": "task_extend_timeout", "module": "TaskExtendTimeoutTool" },
|
|
58
|
+
{ "id": "task_abort", "module": "TaskAbortTool" },
|
|
59
|
+
{ "id": "model_list", "module": "ModelListTool" }
|
|
60
|
+
],
|
|
61
|
+
"skills": [
|
|
62
|
+
{ "id": "workboard-howto", "path": "skills/workboard-howto.md" },
|
|
63
|
+
{ "id": "worker-creator", "path": "skills/worker-creator.md" },
|
|
64
|
+
{ "id": "worker-fleet", "path": "skills/worker-fleet.md" },
|
|
65
|
+
{ "id": "large-input-large-output", "path": "skills/large-input-large-output.md" }
|
|
66
|
+
],
|
|
67
|
+
"agentSeeds": [
|
|
68
|
+
{ "id": "echo-demo", "path": "agent-seeds/echo-demo" },
|
|
69
|
+
{ "id": "llm-default", "path": "agent-seeds/llm-default" }
|
|
70
|
+
],
|
|
71
|
+
"systemPromptFragments": [
|
|
72
|
+
{
|
|
73
|
+
"id": "prefer-delegation",
|
|
74
|
+
"text": "The workboard is active in this tenant. For any non-trivial user request — anything that takes more than a few minutes, fans out into multiple steps, or has clearly separable roles (design / build / test, research / write, etc.) — your default is to DELEGATE to worker agents via `task_create` rather than execute it yourself. The `worker-fleet` skill covers task decomposition (plan / design / build / verify phases), task sizing (avoiding max_tokens stalls on monolithic tasks), worker selection (matching by capability), and brief authoring (each task description is the worker's only view of the work) — read it before designing the task graph. Reuse existing workers (run `tenant_config_list({path:\"workers\"})` first); the `worker-creator` skill covers authoring agent.json + SOUL.md when no existing worker fits. Do the work yourself directly only when (a) the user explicitly says so, (b) the request is trivial (single tool call, one-line answer, quick lookup), or (c) the user wants a synchronous reply. When in doubt, ack the plan and give the user a chance to override."
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"id": "summarize-on-completion",
|
|
78
|
+
"text": "When the workboard tasks you delegated for the user's current request have all finished, your job isn't done — you owe the user a synthesised reply. Steps: (1) Call `task_list({status:\"done\"})` (or filter by labels/ids you tracked) to confirm every task you created in this turn has actually completed; if any are still running, wait or fetch their status before composing. (2) For each completed task, call `task_get_history({id})` and READ the worker's actual output — don't trust `resultSummary` alone; workers sometimes write a one-liner that hides nuance, errors, or important findings. Skim the final assistant message + any tool results that produced files. (3) Compose ONE coherent reply to the user that: covers the original goal, integrates the per-task findings into a narrative (not a bulleted dump of resultSummaries), explicitly cites every output file the workers produced (use the file's path, and where the tenant has the `files` plugin enabled use the standard file-reference markup the user's chat client understands so they can click through), and surfaces any failures / partial results honestly. (4) If a task ended in awaiting-intervention, do NOT just report the failure — either resolve it yourself (task_continue / task_retry_fresh / task_extend_timeout / task_abort) before replying, or include in the reply a concrete suggestion for what the user should choose. Keep the synthesis honest: if outputs contradict each other or a worker punted, say so; don't paper over with cheerful language."
|
|
79
|
+
}
|
|
80
|
+
],
|
|
81
|
+
"apiRoutes": [
|
|
82
|
+
{ "method": "GET", "path": "/tasks", "handler": "listTasks" },
|
|
83
|
+
{ "method": "POST", "path": "/tasks", "handler": "createTask" },
|
|
84
|
+
{ "method": "POST", "path": "/tasks/delete", "handler": "deleteTask" },
|
|
85
|
+
{ "method": "PATCH", "path": "/tasks/:id", "handler": "patchTask" },
|
|
86
|
+
{ "method": "GET", "path": "/tasks/:id/history", "handler": "taskHistory" },
|
|
87
|
+
{ "method": "GET", "path": "/projects", "handler": "listProjects" },
|
|
88
|
+
{ "method": "GET", "path": "/workers/status", "handler": "workerStatus" },
|
|
89
|
+
{ "method": "POST", "path": "/workers/restart", "handler": "workerRestart" },
|
|
90
|
+
{ "method": "GET", "path": "/agents", "handler": "listAgents" },
|
|
91
|
+
{ "method": "PATCH", "path": "/agents/:slug/enabled", "handler": "setAgentEnabled" }
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
"configSchema": {
|
|
95
|
+
"fields": [
|
|
96
|
+
{
|
|
97
|
+
"key": "echo.enabled",
|
|
98
|
+
"label": "Enabled",
|
|
99
|
+
"kind": "boolean",
|
|
100
|
+
"default": true,
|
|
101
|
+
"group": {
|
|
102
|
+
"id": "worker-type-echo",
|
|
103
|
+
"label": "echo",
|
|
104
|
+
"badge": "worker type"
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"key": "echo.delayMs",
|
|
109
|
+
"label": "Simulated execution delay",
|
|
110
|
+
"description": "How long an echo worker pretends to be busy on each task before marking it done. 0 makes tasks complete instantly.",
|
|
111
|
+
"kind": "number",
|
|
112
|
+
"default": 30000,
|
|
113
|
+
"min": 0,
|
|
114
|
+
"step": 1000,
|
|
115
|
+
"unit": "ms",
|
|
116
|
+
"group": {
|
|
117
|
+
"id": "worker-type-echo",
|
|
118
|
+
"label": "echo",
|
|
119
|
+
"badge": "worker type"
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"key": "llm.enabled",
|
|
124
|
+
"label": "Enabled",
|
|
125
|
+
"kind": "boolean",
|
|
126
|
+
"default": true,
|
|
127
|
+
"group": {
|
|
128
|
+
"id": "worker-type-llm",
|
|
129
|
+
"label": "llm",
|
|
130
|
+
"badge": "worker type"
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"key": "llm.firstResponseSec",
|
|
135
|
+
"label": "First-response timeout",
|
|
136
|
+
"description": "Hard cap on how long the LLM has to start streaming the very first event of the run. Catches connection-hung scenarios. Set to 0 to disable.",
|
|
137
|
+
"kind": "number",
|
|
138
|
+
"default": 300,
|
|
139
|
+
"min": 0,
|
|
140
|
+
"step": 30,
|
|
141
|
+
"unit": "s",
|
|
142
|
+
"group": {
|
|
143
|
+
"id": "worker-type-llm",
|
|
144
|
+
"label": "llm",
|
|
145
|
+
"badge": "worker type"
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"key": "llm.idleSec",
|
|
150
|
+
"label": "Idle timeout",
|
|
151
|
+
"description": "Mid-stream silence cap: if the LLM goes this long without emitting any event, abort the run as stuck. Long enough to allow large `write_file` arguments to stream through.",
|
|
152
|
+
"kind": "number",
|
|
153
|
+
"default": 600,
|
|
154
|
+
"min": 0,
|
|
155
|
+
"step": 60,
|
|
156
|
+
"unit": "s",
|
|
157
|
+
"group": {
|
|
158
|
+
"id": "worker-type-llm",
|
|
159
|
+
"label": "llm",
|
|
160
|
+
"badge": "worker type"
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"key": "llm.maxRunSec",
|
|
165
|
+
"label": "Max run time",
|
|
166
|
+
"description": "Total wall-clock cap for one task run, across all turns. Protects against runaway loops.",
|
|
167
|
+
"kind": "number",
|
|
168
|
+
"default": 1800,
|
|
169
|
+
"min": 0,
|
|
170
|
+
"step": 60,
|
|
171
|
+
"unit": "s",
|
|
172
|
+
"group": {
|
|
173
|
+
"id": "worker-type-llm",
|
|
174
|
+
"label": "llm",
|
|
175
|
+
"badge": "worker type"
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
]
|
|
179
|
+
}
|
|
180
|
+
}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: large-input-large-output
|
|
3
|
+
description: How to handle tasks that read many large files OR produce a large structured output (long HTML, long markdown report, long codegen). Read this when a task description asks you to ingest more than two non-trivial files at once, or to write more than ~500 lines in one shot, or both. Covers the read-then-summarise pattern, skeleton-then-fill pattern, and the spill-to-file escape hatch.
|
|
4
|
+
scope: worker
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Reading lots, writing lots
|
|
8
|
+
|
|
9
|
+
The default failure mode for a task like *"read these 5 markdown
|
|
10
|
+
notes and produce one HTML report"* is:
|
|
11
|
+
|
|
12
|
+
1. You issue 5 parallel `read_file` calls in one assistant turn.
|
|
13
|
+
2. Five tool results, each tens of KB, all land in the next
|
|
14
|
+
prompt as raw text.
|
|
15
|
+
3. You try to emit the whole HTML in one tool call.
|
|
16
|
+
4. The LLM call truncates / returns empty / the run aborts as
|
|
17
|
+
`no_completion`.
|
|
18
|
+
|
|
19
|
+
The orchestrator can't see this from outside — to it the task
|
|
20
|
+
just stalled. From the inside the cause is obvious: you carried
|
|
21
|
+
too much state in the prompt and asked for too much output in
|
|
22
|
+
one shot.
|
|
23
|
+
|
|
24
|
+
This skill is the recipe for not doing that.
|
|
25
|
+
|
|
26
|
+
## When this applies
|
|
27
|
+
|
|
28
|
+
Read this skill at the top of any task description that:
|
|
29
|
+
|
|
30
|
+
- names ≥ 2 source files you have to read in detail, OR
|
|
31
|
+
- asks for an output > ~500 lines (long HTML / long md / long
|
|
32
|
+
code), OR
|
|
33
|
+
- bundles "read material A, B, C, ... and synthesise into D"
|
|
34
|
+
(the canonical multi-input synthesis shape).
|
|
35
|
+
|
|
36
|
+
If the task is a small one-off ("read README.md, summarise",
|
|
37
|
+
"write a 50-line script"), this skill is overkill. Skip it.
|
|
38
|
+
|
|
39
|
+
## Pattern 1 — Read-then-summarise per file
|
|
40
|
+
|
|
41
|
+
Cardinal rule: **what you keep in the prompt should be what you
|
|
42
|
+
need for the next step, not what you originally read.**
|
|
43
|
+
|
|
44
|
+
Sequence:
|
|
45
|
+
|
|
46
|
+
1. Read file 1.
|
|
47
|
+
2. **Immediately** write a structured summary to disk:
|
|
48
|
+
```
|
|
49
|
+
write_file({
|
|
50
|
+
path: "/tmp/<task-slug>/summary-01.md",
|
|
51
|
+
content: "<2-3 paragraphs covering the bits that matter
|
|
52
|
+
for the final output: claims, citations, headings,
|
|
53
|
+
any quote you'll want verbatim>"
|
|
54
|
+
})
|
|
55
|
+
```
|
|
56
|
+
3. Repeat for file 2, file 3, ... — **one file per turn**, not
|
|
57
|
+
five files in one batched read.
|
|
58
|
+
4. When you start composing the output, read the **summary**
|
|
59
|
+
files, not the originals. The summaries fit comfortably; the
|
|
60
|
+
originals don't.
|
|
61
|
+
5. If you discover the summary is missing a fact mid-composition,
|
|
62
|
+
targeted re-read the original (`read_file` with `offset` and
|
|
63
|
+
`limit`) — don't load the whole thing again.
|
|
64
|
+
|
|
65
|
+
Why per-turn matters: tool results from a single turn all stay
|
|
66
|
+
in the next prompt. Five 30 KB files in one turn = 150 KB you
|
|
67
|
+
never wanted to keep. One file per turn lets auto-compact (which
|
|
68
|
+
fires after each turn_end) trim earlier turns away once you've
|
|
69
|
+
written the summary file.
|
|
70
|
+
|
|
71
|
+
## Pattern 2 — Long output: write iteratively, not in one shot
|
|
72
|
+
|
|
73
|
+
When the deliverable is big (long HTML, multi-section markdown,
|
|
74
|
+
a 1500-line generated file), the failure mode you want to avoid
|
|
75
|
+
is **emitting the whole thing in one tool call.** Two reasons:
|
|
76
|
+
|
|
77
|
+
- The provider's tool_use input stream truncates large strings,
|
|
78
|
+
so a `write_file` carrying thousands of lines of `content`
|
|
79
|
+
often fails with `content` missing entirely.
|
|
80
|
+
- Even if the call lands, the next agent / human reading the
|
|
81
|
+
task has nothing to follow until the giant blob arrives. A
|
|
82
|
+
partial run leaves nothing on disk.
|
|
83
|
+
|
|
84
|
+
Do this instead:
|
|
85
|
+
|
|
86
|
+
1. Decide the structure of the output up front (TOC, section
|
|
87
|
+
list, what each section contains). Write that as a short
|
|
88
|
+
plan in the task description — you'll reference it as you go.
|
|
89
|
+
2. Write the file in pieces. The shape that works depends on
|
|
90
|
+
the deliverable:
|
|
91
|
+
- **Markdown / prose / HTML report:** use `write_file` for
|
|
92
|
+
the first chunk (front matter / TOC / first section), then
|
|
93
|
+
`read_file` and `edit_file` to append each subsequent
|
|
94
|
+
section. Each `edit_file` call can target the end-of-file
|
|
95
|
+
marker (e.g. "</body>") and replace it with `new_section +
|
|
96
|
+
marker`.
|
|
97
|
+
- **Generated code:** `write_file` the file once with the
|
|
98
|
+
real content; if the result is so big the call is
|
|
99
|
+
truncating, the file is too big for one LLM run regardless
|
|
100
|
+
of tool shape — split the deliverable into separate files
|
|
101
|
+
(one module per file is the right shape anyway).
|
|
102
|
+
3. After each chunk: keep the chunk size small enough that the
|
|
103
|
+
tool_use args don't get truncated. There's no fixed line
|
|
104
|
+
count — watch for the truncation hint in the tool result.
|
|
105
|
+
|
|
106
|
+
This pattern's side benefits:
|
|
107
|
+
|
|
108
|
+
- The output file exists after the first call, so a partial
|
|
109
|
+
run still leaves something on disk.
|
|
110
|
+
- The agent can `read_file` what it just wrote when composing
|
|
111
|
+
later sections, keeping coherence without re-loading sources.
|
|
112
|
+
|
|
113
|
+
What *not* to do:
|
|
114
|
+
|
|
115
|
+
- Do not write a "skeleton" full of `<!-- TODO: section X -->`
|
|
116
|
+
placeholders and then try to fill them all in one
|
|
117
|
+
`edit_file({edits: [...]})` batch. The combined batch JSON
|
|
118
|
+
ends up larger than the original write would have been and
|
|
119
|
+
trips the same truncation it was meant to avoid. (This
|
|
120
|
+
recipe used to be in this skill; it didn't work.)
|
|
121
|
+
|
|
122
|
+
## Pattern 3 — Spill to file (escape hatch)
|
|
123
|
+
|
|
124
|
+
If you absolutely must work with the raw text of a large source
|
|
125
|
+
mid-composition (e.g. exact quote attribution), **don't paste
|
|
126
|
+
the whole file into your reasoning**. Instead:
|
|
127
|
+
|
|
128
|
+
1. Read the file once, write its content to
|
|
129
|
+
`/tmp/<task-slug>/source-<n>.md` (you can also just leave it
|
|
130
|
+
at its original path).
|
|
131
|
+
2. Use `read_file` with `offset` + `limit` to pull the exact
|
|
132
|
+
slice you need.
|
|
133
|
+
3. Throw the slice into your output and move on. Don't keep the
|
|
134
|
+
full file's content in your reasoning across turns.
|
|
135
|
+
|
|
136
|
+
`tenant_config_read` (for skills / config) and `read_file` (for
|
|
137
|
+
workspace) both support `offset` + `limit`. Use them.
|
|
138
|
+
|
|
139
|
+
## Anti-patterns — don't do these
|
|
140
|
+
|
|
141
|
+
- **Five `read_file` calls in one assistant turn.** This is
|
|
142
|
+
the most common offender. Even if every file is "small", the
|
|
143
|
+
combined tool result will dominate the next prompt.
|
|
144
|
+
- **Asking the LLM to "now generate the whole HTML"** after
|
|
145
|
+
loading five sources. Either you trim sources first (pattern
|
|
146
|
+
1) or you write iteratively (pattern 2) or both.
|
|
147
|
+
- **Re-reading a file you've already summarised.** If you wrote
|
|
148
|
+
a summary, trust it. If you don't, write a better summary next
|
|
149
|
+
time.
|
|
150
|
+
- **Treating `task_complete` as the moment the deliverable is
|
|
151
|
+
produced.** It's the moment you announce the deliverable is
|
|
152
|
+
done. The file should already exist on disk before you call
|
|
153
|
+
task_complete.
|
|
154
|
+
- **One giant `write_file` for a 2000-line HTML report.** Even
|
|
155
|
+
if the model can produce it without truncating, the next
|
|
156
|
+
agent / human reading the work has nothing to follow until
|
|
157
|
+
the whole thing lands. Write the file in chunks (Pattern 2).
|
|
158
|
+
- **One `edit_file` call per tiny edit** when you're making
|
|
159
|
+
several adjacent changes — the `edits[]` batch is atomic
|
|
160
|
+
and saves round-trips. (This is the right reason to use
|
|
161
|
+
`edits[]`; it's not a workaround for tool-arg truncation.)
|
|
162
|
+
|
|
163
|
+
## When you're stuck mid-task
|
|
164
|
+
|
|
165
|
+
If you find yourself in the failure mode this skill describes —
|
|
166
|
+
you've loaded too much, the next call is failing, you're not
|
|
167
|
+
sure how to proceed:
|
|
168
|
+
|
|
169
|
+
1. Stop trying to emit the deliverable.
|
|
170
|
+
2. Write `/tmp/<task-slug>/state.md` capturing what you've done
|
|
171
|
+
so far and what's left.
|
|
172
|
+
3. **Then** call `task_complete` with summary
|
|
173
|
+
`"partial: section 1/4 written. See state.md for remaining
|
|
174
|
+
work."` — including the fact that it's partial in the
|
|
175
|
+
summary.
|
|
176
|
+
4. The orchestrator can read state.md and either continue this
|
|
177
|
+
task or split the rest into a follow-up task. That's
|
|
178
|
+
recoverable; a `no_completion` stall is not.
|
|
179
|
+
|
|
180
|
+
## See also
|
|
181
|
+
|
|
182
|
+
- `workboard-howto` — task lifecycle, task_complete contract,
|
|
183
|
+
how the orchestrator reads your output.
|
|
184
|
+
- `microsandbox-exec-howto` — for tasks that compile / run code
|
|
185
|
+
rather than read / write large text.
|