@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,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.
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: workboard-howto
|
|
3
|
+
description: How to use the workboard plugin — drop tasks on the kanban, watch the worker pool process them, and patch / move / delete rows. The board is per-user inside a tenant.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Using the workboard
|
|
7
|
+
|
|
8
|
+
The workboard plugin gives you a per-user kanban with five visible
|
|
9
|
+
columns and a worker pool that automatically picks up `todo` tasks.
|
|
10
|
+
This skill is the contract between you (the agent) and the user's
|
|
11
|
+
view of the board.
|
|
12
|
+
|
|
13
|
+
## When to use
|
|
14
|
+
|
|
15
|
+
- The user asks you to "remember to do X later" → drop a task.
|
|
16
|
+
- A multi-step request can be split into independent units of work
|
|
17
|
+
→ file each unit as a task so the user can track progress.
|
|
18
|
+
- You want to hand off a long-running step to a worker → pin
|
|
19
|
+
the task with `worker_agent_id` (the slug of the worker; see
|
|
20
|
+
`tenant_config_list({path:"workers"})` for what's registered).
|
|
21
|
+
Pinning by slug is the recommended path — dispatch by kind is
|
|
22
|
+
not exposed.
|
|
23
|
+
|
|
24
|
+
If the user is asking a one-shot question, do NOT create a task.
|
|
25
|
+
Tasks are for work that survives across turns.
|
|
26
|
+
|
|
27
|
+
## Tools at a glance
|
|
28
|
+
|
|
29
|
+
| Tool | Use when … |
|
|
30
|
+
| ------------- | ------------------------------------------------------------- |
|
|
31
|
+
| `task_list` | Reading the board (always do this first to avoid duplicates). |
|
|
32
|
+
| `task_create` | Adding a new ready task. Default project is `inbox`. |
|
|
33
|
+
| `task_update` | Changing title / description / priority / project. |
|
|
34
|
+
| `task_move` | Walking a task between columns (`todo`→`in_progress`→`done`). |
|
|
35
|
+
| `task_delete` | Removing a task you created by mistake. |
|
|
36
|
+
|
|
37
|
+
## Status lifecycle
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
ready → in_progress → done
|
|
41
|
+
↘ ↗
|
|
42
|
+
awaiting-intervention (label, not status)
|
|
43
|
+
↘
|
|
44
|
+
main agent picks task_continue /
|
|
45
|
+
task_retry_fresh / task_extend_timeout /
|
|
46
|
+
task_abort
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
- `ready` tasks are claimable by workers. Don't sit on them.
|
|
50
|
+
- `in_progress` is set automatically when a worker claims.
|
|
51
|
+
- `done` is the happy path: worker called `task_complete`, OR
|
|
52
|
+
you called `task_abort` on a stuck task (with a reason).
|
|
53
|
+
- A failure / watchdog timeout adds the `awaiting-intervention`
|
|
54
|
+
label to a `ready` row and drops a `task_intervention_required`
|
|
55
|
+
notification on you. Pick one of the four intervention tools —
|
|
56
|
+
do NOT just `task_move(status="ready")`, that would skip the
|
|
57
|
+
reason-tracking and re-queue without context.
|
|
58
|
+
- The legacy `stalled` label is treated identically by the pool's
|
|
59
|
+
skip filter; old rows still work.
|
|
60
|
+
|
|
61
|
+
## Project slugs
|
|
62
|
+
|
|
63
|
+
Tasks group under a free-form `project` slug (default `inbox`).
|
|
64
|
+
Use this when the user has multiple parallel threads — e.g.
|
|
65
|
+
`website-redesign`, `q3-research`. Re-use existing slugs; don't
|
|
66
|
+
fragment with typos. Call `task_list` with no filter first to see
|
|
67
|
+
what already exists.
|
|
68
|
+
|
|
69
|
+
## Worker roles
|
|
70
|
+
|
|
71
|
+
Every worker pool runs at least one `echo` worker — a 30-second
|
|
72
|
+
sleep that writes a short result_summary. This exists so the loop
|
|
73
|
+
is visible end-to-end.
|
|
74
|
+
|
|
75
|
+
Real worker roles ship with later PRs (per ADR-0002 §1):
|
|
76
|
+
|
|
77
|
+
Worker registry is per-tenant and lives at
|
|
78
|
+
`_tenant/config/workers/<slug>/`. The two seeded entries on a
|
|
79
|
+
fresh tenant are `echo-demo` (a no-op demo) and `llm-default`
|
|
80
|
+
(a generic LLM worker). The user typically authors more workers
|
|
81
|
+
via the chat agent + `tenant_config_write` (see the
|
|
82
|
+
`worker-creator` skill for the contract).
|
|
83
|
+
|
|
84
|
+
Set `worker_agent_id` on a task to pin it to one specific
|
|
85
|
+
worker. Leave it empty to let any enabled worker pick it up
|
|
86
|
+
(rarely what you want — prefer pinning so behaviour is
|
|
87
|
+
predictable). Use `tenant_config_list({path:"workers"})` to
|
|
88
|
+
discover available slugs.
|
|
89
|
+
|
|
90
|
+
## Common patterns
|
|
91
|
+
|
|
92
|
+
> **task_create / task_delete are batch tools.** Always wrap items in
|
|
93
|
+
> the `tasks` / `ids` array — even for a single row. Per-row
|
|
94
|
+
> failures don't abort the rest of the batch; check the
|
|
95
|
+
> `results[]` field in the response.
|
|
96
|
+
|
|
97
|
+
**Drop a task and forget it (delegated work):**
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
task_create({
|
|
101
|
+
tasks: [
|
|
102
|
+
{
|
|
103
|
+
title: "Convert the Q2 sales CSV to a one-page chart",
|
|
104
|
+
description: "Source: /uploads/q2-sales.csv. Output: /reports/q2.png",
|
|
105
|
+
worker_agent_id: "coder"
|
|
106
|
+
}
|
|
107
|
+
]
|
|
108
|
+
})
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**Track your own progress (delegate to the demo worker):**
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
task_create({
|
|
115
|
+
tasks: [
|
|
116
|
+
{
|
|
117
|
+
title: "Reach out to 5 candidate contributors",
|
|
118
|
+
worker_agent_id: "echo-demo" // demo: marks done after a delay
|
|
119
|
+
}
|
|
120
|
+
]
|
|
121
|
+
})
|
|
122
|
+
// later, after you do the work:
|
|
123
|
+
task_move({ id: "<id>", status: "done", result_summary: "Sent 5 DMs" })
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
**Bulk-create a roadmap, then drop them all:**
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
task_create({
|
|
130
|
+
tasks: [
|
|
131
|
+
{ title: "Stage 1: write spec", worker_agent_id: "llm-default" },
|
|
132
|
+
{ title: "Stage 2: implement", worker_agent_id: "coder" },
|
|
133
|
+
{ title: "Stage 3: test", worker_agent_id: "coder" },
|
|
134
|
+
]
|
|
135
|
+
})
|
|
136
|
+
// later:
|
|
137
|
+
task_delete({ ids: ["<id1>", "<id2>", "<id3>"] })
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**Revive an awaiting-intervention task:**
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
// resume the same session, optional hint:
|
|
144
|
+
task_continue({ task_id: "<id>", hint: "use skeleton-then-fill" })
|
|
145
|
+
|
|
146
|
+
// or start a brand new session, optional revised brief:
|
|
147
|
+
task_retry_fresh({ task_id: "<id>", description: "..." })
|
|
148
|
+
|
|
149
|
+
// or just give it more time (especially when failure_reason
|
|
150
|
+
// starts with "watchdog timeout"):
|
|
151
|
+
task_extend_timeout({ task_id: "<id>", additional_ms: 600_000 })
|
|
152
|
+
|
|
153
|
+
// or give up:
|
|
154
|
+
task_abort({ task_id: "<id>", reason: "data missing" })
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Don'ts
|
|
158
|
+
|
|
159
|
+
- Don't poll `task_list` in a tight loop. The worker pool drains
|
|
160
|
+
immediately on writes; the user sees updates within a few
|
|
161
|
+
seconds via the kanban panel.
|
|
162
|
+
- Don't create tasks for one-turn questions. The user will see
|
|
163
|
+
them pile up.
|
|
164
|
+
- Don't hand-edit `result_summary` on a worker-completed task —
|
|
165
|
+
it's the worker's report. Use `task_update.description` for
|
|
166
|
+
your own notes.
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: worker-creator
|
|
3
|
+
description: How to create or edit a workboard worker agent — agent.json fields, the kind/slug/SOUL trio, allow-list semantics (omit = unrestricted), and which tools to use. Read this when the user asks you to add, configure, or tighten a worker's permissions.
|
|
4
|
+
scope: main
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Authoring workboard worker agents
|
|
8
|
+
|
|
9
|
+
Worker agents live as directory bundles under
|
|
10
|
+
`tenant-config:///workers/<slug>/`. Each bundle has up to three
|
|
11
|
+
files; only `agent.json` is required.
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
tenant-config:///workers/<slug>/
|
|
15
|
+
├── agent.json (required)
|
|
16
|
+
├── SOUL.md (optional — system prompt)
|
|
17
|
+
└── skills/ (optional — per-worker skill bundle)
|
|
18
|
+
└── <name>/SKILL.md
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
The pool scans this directory on activation; new workers show up
|
|
22
|
+
on the next worker pool refresh, edits take effect on the next
|
|
23
|
+
worker run.
|
|
24
|
+
|
|
25
|
+
## When to use this skill
|
|
26
|
+
|
|
27
|
+
- User says "create a worker that uses Sonnet" / "add an LLM
|
|
28
|
+
researcher" / etc. → read this, then write `agent.json`.
|
|
29
|
+
- User says "lock down what worker X can call" → read this and
|
|
30
|
+
patch `agent.json`'s allow-lists.
|
|
31
|
+
- User says "make a custom prompt for the LLM worker" → write
|
|
32
|
+
`SOUL.md` next to `agent.json`.
|
|
33
|
+
|
|
34
|
+
If the user is **just running tasks** on existing workers, this
|
|
35
|
+
skill is not relevant — use `workboard-howto` instead.
|
|
36
|
+
|
|
37
|
+
## Reuse first, create second
|
|
38
|
+
|
|
39
|
+
Before writing a new `workers/<slug>/agent.json`, *always*:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
tenant_config_list({ path: "workers" })
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
If an existing worker fits the role (match by responsibility,
|
|
46
|
+
not by name), reuse it. If it almost fits, edit its SOUL.md
|
|
47
|
+
instead of forking. Only build a new bundle when:
|
|
48
|
+
|
|
49
|
+
- nothing existing fits and the user's request genuinely needs
|
|
50
|
+
a new role, **or**
|
|
51
|
+
- the user explicitly asked for a new worker ("make a separate
|
|
52
|
+
worker for X").
|
|
53
|
+
|
|
54
|
+
This is the single most-violated rule. The cost of a stray
|
|
55
|
+
worker isn't the disk space — it's the maintenance burden
|
|
56
|
+
and the row clutter the user sees in Worker agents. See the
|
|
57
|
+
`worker-fleet` skill's "Reuse over create" section for the
|
|
58
|
+
full checklist; this skill assumes you've already decided a
|
|
59
|
+
new worker is the right move.
|
|
60
|
+
|
|
61
|
+
## Tool you'll use
|
|
62
|
+
|
|
63
|
+
`tenant_config_write` does all writes. Don't reach for any
|
|
64
|
+
worker_agent_* tool — that set was retired (use the filesystem).
|
|
65
|
+
Path inside the workspace is `workers/<slug>/<file>`. Examples:
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
tenant_config_write({
|
|
69
|
+
path: "workers/sonnet-researcher/agent.json",
|
|
70
|
+
content: '{...}'
|
|
71
|
+
})
|
|
72
|
+
|
|
73
|
+
tenant_config_write({
|
|
74
|
+
path: "workers/sonnet-researcher/SOUL.md",
|
|
75
|
+
content: "You are..."
|
|
76
|
+
})
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
`tenant_config_list` / `tenant_config_read` to inspect existing
|
|
80
|
+
workers (see `tenant-config:///workers/`).
|
|
81
|
+
|
|
82
|
+
## Critical rules — read before writing anything
|
|
83
|
+
|
|
84
|
+
1. **`kind` must be one of the registered kinds.** As of today
|
|
85
|
+
that's `"llm"` and `"echo"`. Calling it `"coder"` or
|
|
86
|
+
`"researcher"` does NOT create a new runtime; the loader
|
|
87
|
+
skips unknown kinds with a warning and the worker never
|
|
88
|
+
shows up in the pool. If you want a Sonnet-driven coding
|
|
89
|
+
worker, the kind is still `"llm"` — the *role* lives in
|
|
90
|
+
`displayName` / `description` / `SOUL.md`.
|
|
91
|
+
|
|
92
|
+
2. **The system prompt goes in `SOUL.md`, not `agent.json`.**
|
|
93
|
+
Two reasons: long markdown with quotes / backticks doesn't
|
|
94
|
+
round-trip through JSON cleanly (you'll bork the file with
|
|
95
|
+
a parse error), and the loader doesn't read prompt fields
|
|
96
|
+
from agent.json. Always write SOUL.md as a separate
|
|
97
|
+
`tenant_config_write` call.
|
|
98
|
+
|
|
99
|
+
3. **`agent.json` knows nothing about slug.** The slug is the
|
|
100
|
+
directory name (`workers/<slug>/`). Do not add a `slug:`
|
|
101
|
+
field; it's silently ignored, which is worse than rejected.
|
|
102
|
+
|
|
103
|
+
4. **Allowed top-level keys in `agent.json`:** `kind`,
|
|
104
|
+
`displayName`, `description`, `modelId`, `toolsAllow`,
|
|
105
|
+
`skillsAllow`, `enabled`, `source`. Anything else is
|
|
106
|
+
ignored. If your worker isn't doing what you expect, check
|
|
107
|
+
the server log for `fs worker agent has errors` — that's
|
|
108
|
+
where the loader complains.
|
|
109
|
+
|
|
110
|
+
## `agent.json` schema
|
|
111
|
+
|
|
112
|
+
```jsonc
|
|
113
|
+
{
|
|
114
|
+
// Required: which runtime drives this worker.
|
|
115
|
+
"kind": "llm" | "echo",
|
|
116
|
+
|
|
117
|
+
// Optional: human-readable name shown in the admin UI.
|
|
118
|
+
// Defaults to the slug if omitted.
|
|
119
|
+
"displayName": "Sonnet Researcher",
|
|
120
|
+
|
|
121
|
+
// Optional: free-form description for humans.
|
|
122
|
+
"description": "Long-form research worker, slow but careful.",
|
|
123
|
+
|
|
124
|
+
// Optional: model id (kind=llm only). Don't guess — call
|
|
125
|
+
// `model_list` first to see which providers/models the host
|
|
126
|
+
// has registered AND which one is the default. Examples
|
|
127
|
+
// depend on host config but typically look like
|
|
128
|
+
// "sap-proxy/claude-sonnet-4-6", "sap-openai/gpt-5",
|
|
129
|
+
// "sap-perplexity/sonar-pro". Omit (or set null) to use the
|
|
130
|
+
// host default.
|
|
131
|
+
"modelId": "sap-proxy/claude-sonnet-4-6",
|
|
132
|
+
|
|
133
|
+
// Optional: tool / skill allow-lists. SEE BELOW for semantics.
|
|
134
|
+
"toolsAllow": null | string[],
|
|
135
|
+
"skillsAllow": null | string[],
|
|
136
|
+
|
|
137
|
+
// Optional. Defaults to true. Set false to mute the worker
|
|
138
|
+
// without removing its config (e.g. "disable but keep
|
|
139
|
+
// around").
|
|
140
|
+
"enabled": true,
|
|
141
|
+
|
|
142
|
+
// Optional provenance hint.
|
|
143
|
+
// "builtin" → seed shipped by a plugin
|
|
144
|
+
// "user" → human authored
|
|
145
|
+
// Default "user" for files you write yourself.
|
|
146
|
+
"source": "user"
|
|
147
|
+
}
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## Allow-list semantics — read carefully
|
|
151
|
+
|
|
152
|
+
Both `toolsAllow` and `skillsAllow` follow the same rule:
|
|
153
|
+
|
|
154
|
+
| Field shape | Meaning |
|
|
155
|
+
|---|---|
|
|
156
|
+
| **omitted / `null`** | **No restriction** — worker sees every host + plugin + tenant tool/skill currently exposed. New plugins added later become automatically available. |
|
|
157
|
+
| **`[]`** (empty array) | **Total deny** — worker can't call any tool / read any skill. Almost never what you want. |
|
|
158
|
+
| **`["a","b"]`** | **Allow-list** — exactly those names, nothing else. Static; new plugins do **not** flow in. |
|
|
159
|
+
|
|
160
|
+
Two extra invariants the runtime layers on top:
|
|
161
|
+
|
|
162
|
+
1. `task_complete` is **always** available to LLM workers (forced
|
|
163
|
+
by the worker pool) — you don't need to list it.
|
|
164
|
+
2. Orchestration tools (`task_create`, `task_list`, `task_update`,
|
|
165
|
+
`task_move`, `task_delete`, `task_get_history`) are **always
|
|
166
|
+
denied** to workers regardless of `toolsAllow`. Workers are
|
|
167
|
+
for *doing* tasks, not *managing* the board. Don't include
|
|
168
|
+
them; the runtime strips them anyway.
|
|
169
|
+
|
|
170
|
+
Tenant skills (anything under `_tenant/config/skills/` or
|
|
171
|
+
`_tenant/config/workers/<slug>/skills/`) **bypass** the
|
|
172
|
+
`skillsAllow` filter — they always show through. Only host /
|
|
173
|
+
plugin skills are gated by the allow-list.
|
|
174
|
+
|
|
175
|
+
## Picking a slug
|
|
176
|
+
|
|
177
|
+
The directory name is the slug — it's also the worker's runtime
|
|
178
|
+
identity (used in logs, task assignment, etc). Rules:
|
|
179
|
+
|
|
180
|
+
- kebab-case: `[a-z0-9][a-z0-9-]*`
|
|
181
|
+
- short and meaningful: `sonnet-researcher`, `local-dev`,
|
|
182
|
+
`customer-support`. Not `worker1`, not `default`, not `tmp`.
|
|
183
|
+
- unique within the tenant.
|
|
184
|
+
- once you pick a slug, **don't rename** — tasks already
|
|
185
|
+
assigned to that worker reference it by slug. Rename = lose
|
|
186
|
+
history. If you need a new identity, create a fresh bundle and
|
|
187
|
+
delete the old one with `tenant_config_delete`.
|
|
188
|
+
|
|
189
|
+
## SOUL.md
|
|
190
|
+
|
|
191
|
+
Per-worker system prompt. Whatever you put in here replaces the
|
|
192
|
+
default kind prompt. Keep it focused on:
|
|
193
|
+
|
|
194
|
+
- the worker's identity ("you are a long-form research worker")
|
|
195
|
+
- exit contract (call `task_complete` with a summary)
|
|
196
|
+
- any house rules ("write deliverables under ./projects/<slug>/")
|
|
197
|
+
|
|
198
|
+
If you don't write a `SOUL.md`, the worker uses its kind's
|
|
199
|
+
default. For `kind: "llm"` that's the prompt shipped by the
|
|
200
|
+
`llm-default` seed.
|
|
201
|
+
|
|
202
|
+
## Per-worker skills
|
|
203
|
+
|
|
204
|
+
Drop a `<name>/SKILL.md` under `workers/<slug>/skills/` and that
|
|
205
|
+
skill becomes visible to **only** this worker (not main, not
|
|
206
|
+
other workers). Useful for narrow operating instructions ("when
|
|
207
|
+
you build sandboxes, always pin Node 20"). Frontmatter follows
|
|
208
|
+
the standard skill format — see `skill-creator` for details.
|
|
209
|
+
|
|
210
|
+
## Workflow
|
|
211
|
+
|
|
212
|
+
1. Check the existing slugs:
|
|
213
|
+
```
|
|
214
|
+
tenant_config_list({ path: "workers" })
|
|
215
|
+
```
|
|
216
|
+
2. Pick a slug; confirm with the user if you're unsure.
|
|
217
|
+
3. Write `agent.json` with **only** the keys listed in the
|
|
218
|
+
schema above. Pick `kind: "llm"` for any LLM-driven worker
|
|
219
|
+
(the worker's role lives in displayName + SOUL.md, not in
|
|
220
|
+
the kind id). If in doubt about
|
|
221
|
+
`toolsAllow` / `skillsAllow`, omit them — unrestricted is
|
|
222
|
+
the right default for most cases.
|
|
223
|
+
4. **Separately** call `tenant_config_write` again to write
|
|
224
|
+
`SOUL.md` if the worker needs a custom prompt. Do NOT try
|
|
225
|
+
to embed the prompt as a string inside `agent.json`.
|
|
226
|
+
5. Optionally seed any private skills under `skills/<name>/SKILL.md`.
|
|
227
|
+
6. Tell the user: pool picks the new worker up on the next
|
|
228
|
+
worker-pool refresh (currently: server restart). Mention this
|
|
229
|
+
cost — they may want to pick a moment to restart.
|
|
230
|
+
7. After a refresh, point them at the Worker agents admin page
|
|
231
|
+
so they can verify the row + expand it to see the effective
|
|
232
|
+
tools/skills the worker will actually have. If the row
|
|
233
|
+
doesn't appear there, look at `tenant_config_read({ path:
|
|
234
|
+
"workers/<slug>/agent.json" })` and the server log for
|
|
235
|
+
loader errors.
|
|
236
|
+
|
|
237
|
+
## Common mistakes
|
|
238
|
+
|
|
239
|
+
- **Inventing a new `kind` for the role**. `kind` is the
|
|
240
|
+
runtime, not a label — only `"llm"` and `"echo"` exist
|
|
241
|
+
today. "Coder" / "researcher" / "reviewer" are all
|
|
242
|
+
`kind: "llm"` with different SOUL.md.
|
|
243
|
+
- **Embedding the system prompt in `agent.json`** (e.g. as
|
|
244
|
+
`"soul": "..."`). Won't be read, will break the JSON parser
|
|
245
|
+
the moment the prompt contains a quote.
|
|
246
|
+
- **Adding `slug` / `id` / unknown keys to `agent.json`**.
|
|
247
|
+
Slug is the directory name; the loader uses fixed key names
|
|
248
|
+
(see schema). Anything else is silently ignored.
|
|
249
|
+
- **Empty array thinking it means "default"**. `[]` means
|
|
250
|
+
"deny everything". Use `null` (or omit the field entirely)
|
|
251
|
+
for "no restriction".
|
|
252
|
+
- **Listing `task_create` / `task_list` in `toolsAllow`**.
|
|
253
|
+
They're denied by the runtime regardless. Wastes a slot; just
|
|
254
|
+
omit them.
|
|
255
|
+
- **Reusing a slug**. The new bundle inherits old task history
|
|
256
|
+
pointed at that slug. Delete first.
|
|
257
|
+
- **Writing `SOUL.md` for `kind: "echo"`**. Echo workers don't
|
|
258
|
+
run an LLM; the prompt does nothing. Stick to `agent.json`.
|
|
259
|
+
- **Forgetting to include `kind`**. The loader skips bundles
|
|
260
|
+
with no kind, with a warning in the server log. Always include
|
|
261
|
+
it.
|
|
262
|
+
|
|
263
|
+
## See also
|
|
264
|
+
|
|
265
|
+
- `workboard-howto` — using the kanban + tasks day-to-day.
|
|
266
|
+
- `skill-creator` — how to author the markdown skills you might
|
|
267
|
+
drop into `workers/<slug>/skills/`.
|