@shuyhere/takotako 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +84 -0
- package/LICENSE +21 -0
- package/README.md +171 -0
- package/dist/agents/communication.d.ts +48 -0
- package/dist/agents/communication.d.ts.map +1 -0
- package/dist/agents/communication.js +123 -0
- package/dist/agents/communication.js.map +1 -0
- package/dist/agents/config.d.ts +52 -0
- package/dist/agents/config.d.ts.map +1 -0
- package/dist/agents/config.js +65 -0
- package/dist/agents/config.js.map +1 -0
- package/dist/agents/model-catalog.d.ts +49 -0
- package/dist/agents/model-catalog.d.ts.map +1 -0
- package/dist/agents/model-catalog.js +79 -0
- package/dist/agents/model-catalog.js.map +1 -0
- package/dist/agents/registry.d.ts +71 -0
- package/dist/agents/registry.d.ts.map +1 -0
- package/dist/agents/registry.js +297 -0
- package/dist/agents/registry.js.map +1 -0
- package/dist/agents/roles.d.ts +79 -0
- package/dist/agents/roles.d.ts.map +1 -0
- package/dist/agents/roles.js +174 -0
- package/dist/agents/roles.js.map +1 -0
- package/dist/agents/subagent.d.ts +124 -0
- package/dist/agents/subagent.d.ts.map +1 -0
- package/dist/agents/subagent.js +352 -0
- package/dist/agents/subagent.js.map +1 -0
- package/dist/agents/templates.d.ts +18 -0
- package/dist/agents/templates.d.ts.map +1 -0
- package/dist/agents/templates.js +341 -0
- package/dist/agents/templates.js.map +1 -0
- package/dist/agents/thread-binding.d.ts +77 -0
- package/dist/agents/thread-binding.d.ts.map +1 -0
- package/dist/agents/thread-binding.js +167 -0
- package/dist/agents/thread-binding.js.map +1 -0
- package/dist/auth/agent-profiles.d.ts +46 -0
- package/dist/auth/agent-profiles.d.ts.map +1 -0
- package/dist/auth/agent-profiles.js +97 -0
- package/dist/auth/agent-profiles.js.map +1 -0
- package/dist/auth/allow-from.d.ts +27 -0
- package/dist/auth/allow-from.d.ts.map +1 -0
- package/dist/auth/allow-from.js +118 -0
- package/dist/auth/allow-from.js.map +1 -0
- package/dist/auth/oauth.d.ts +66 -0
- package/dist/auth/oauth.d.ts.map +1 -0
- package/dist/auth/oauth.js +253 -0
- package/dist/auth/oauth.js.map +1 -0
- package/dist/auth/storage.d.ts +69 -0
- package/dist/auth/storage.d.ts.map +1 -0
- package/dist/auth/storage.js +157 -0
- package/dist/auth/storage.js.map +1 -0
- package/dist/cache/file-cache.d.ts +68 -0
- package/dist/cache/file-cache.d.ts.map +1 -0
- package/dist/cache/file-cache.js +176 -0
- package/dist/cache/file-cache.js.map +1 -0
- package/dist/cache/manager.d.ts +69 -0
- package/dist/cache/manager.d.ts.map +1 -0
- package/dist/cache/manager.js +117 -0
- package/dist/cache/manager.js.map +1 -0
- package/dist/cache/symbol-index.d.ts +75 -0
- package/dist/cache/symbol-index.d.ts.map +1 -0
- package/dist/cache/symbol-index.js +267 -0
- package/dist/cache/symbol-index.js.map +1 -0
- package/dist/cache/tool-cache.d.ts +75 -0
- package/dist/cache/tool-cache.d.ts.map +1 -0
- package/dist/cache/tool-cache.js +173 -0
- package/dist/cache/tool-cache.js.map +1 -0
- package/dist/channels/channel.d.ts +156 -0
- package/dist/channels/channel.d.ts.map +1 -0
- package/dist/channels/channel.js +25 -0
- package/dist/channels/channel.js.map +1 -0
- package/dist/channels/cli.d.ts +35 -0
- package/dist/channels/cli.d.ts.map +1 -0
- package/dist/channels/cli.js +94 -0
- package/dist/channels/cli.js.map +1 -0
- package/dist/channels/delivery-queue.d.ts +31 -0
- package/dist/channels/delivery-queue.d.ts.map +1 -0
- package/dist/channels/delivery-queue.js +127 -0
- package/dist/channels/delivery-queue.js.map +1 -0
- package/dist/channels/discord.d.ts +124 -0
- package/dist/channels/discord.d.ts.map +1 -0
- package/dist/channels/discord.js +664 -0
- package/dist/channels/discord.js.map +1 -0
- package/dist/channels/retry.d.ts +31 -0
- package/dist/channels/retry.d.ts.map +1 -0
- package/dist/channels/retry.js +94 -0
- package/dist/channels/retry.js.map +1 -0
- package/dist/channels/telegram.d.ts +69 -0
- package/dist/channels/telegram.d.ts.map +1 -0
- package/dist/channels/telegram.js +499 -0
- package/dist/channels/telegram.js.map +1 -0
- package/dist/channels/tui.d.ts +42 -0
- package/dist/channels/tui.d.ts.map +1 -0
- package/dist/channels/tui.js +126 -0
- package/dist/channels/tui.js.map +1 -0
- package/dist/cli/acp.d.ts +10 -0
- package/dist/cli/acp.d.ts.map +1 -0
- package/dist/cli/acp.js +69 -0
- package/dist/cli/acp.js.map +1 -0
- package/dist/cli/audit.d.ts +11 -0
- package/dist/cli/audit.d.ts.map +1 -0
- package/dist/cli/audit.js +55 -0
- package/dist/cli/audit.js.map +1 -0
- package/dist/cli/cache.d.ts +10 -0
- package/dist/cli/cache.d.ts.map +1 -0
- package/dist/cli/cache.js +77 -0
- package/dist/cli/cache.js.map +1 -0
- package/dist/cli/config.d.ts +5 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +168 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/cron.d.ts +5 -0
- package/dist/cli/cron.d.ts.map +1 -0
- package/dist/cli/cron.js +192 -0
- package/dist/cli/cron.js.map +1 -0
- package/dist/cli/extensions.d.ts +5 -0
- package/dist/cli/extensions.d.ts.map +1 -0
- package/dist/cli/extensions.js +53 -0
- package/dist/cli/extensions.js.map +1 -0
- package/dist/cli/logs.d.ts +5 -0
- package/dist/cli/logs.d.ts.map +1 -0
- package/dist/cli/logs.js +49 -0
- package/dist/cli/logs.js.map +1 -0
- package/dist/cli/memory.d.ts +5 -0
- package/dist/cli/memory.d.ts.map +1 -0
- package/dist/cli/memory.js +78 -0
- package/dist/cli/memory.js.map +1 -0
- package/dist/cli/message.d.ts +5 -0
- package/dist/cli/message.d.ts.map +1 -0
- package/dist/cli/message.js +69 -0
- package/dist/cli/message.js.map +1 -0
- package/dist/cli/service.d.ts +14 -0
- package/dist/cli/service.d.ts.map +1 -0
- package/dist/cli/service.js +181 -0
- package/dist/cli/service.js.map +1 -0
- package/dist/cli/symphony.d.ts +5 -0
- package/dist/cli/symphony.d.ts.map +1 -0
- package/dist/cli/symphony.js +114 -0
- package/dist/cli/symphony.js.map +1 -0
- package/dist/cli/update.d.ts +5 -0
- package/dist/cli/update.d.ts.map +1 -0
- package/dist/cli/update.js +48 -0
- package/dist/cli/update.js.map +1 -0
- package/dist/commands/channel-setup.d.ts +31 -0
- package/dist/commands/channel-setup.d.ts.map +1 -0
- package/dist/commands/channel-setup.js +138 -0
- package/dist/commands/channel-setup.js.map +1 -0
- package/dist/commands/dispatch.d.ts +48 -0
- package/dist/commands/dispatch.d.ts.map +1 -0
- package/dist/commands/dispatch.js +68 -0
- package/dist/commands/dispatch.js.map +1 -0
- package/dist/commands/model-picker.d.ts +16 -0
- package/dist/commands/model-picker.d.ts.map +1 -0
- package/dist/commands/model-picker.js +120 -0
- package/dist/commands/model-picker.js.map +1 -0
- package/dist/commands/parser.d.ts +32 -0
- package/dist/commands/parser.d.ts.map +1 -0
- package/dist/commands/parser.js +39 -0
- package/dist/commands/parser.js.map +1 -0
- package/dist/commands/registry.d.ts +76 -0
- package/dist/commands/registry.d.ts.map +1 -0
- package/dist/commands/registry.js +351 -0
- package/dist/commands/registry.js.map +1 -0
- package/dist/commands/skill-commands.d.ts +35 -0
- package/dist/commands/skill-commands.d.ts.map +1 -0
- package/dist/commands/skill-commands.js +61 -0
- package/dist/commands/skill-commands.js.map +1 -0
- package/dist/config/resolve.d.ts +25 -0
- package/dist/config/resolve.d.ts.map +1 -0
- package/dist/config/resolve.js +289 -0
- package/dist/config/resolve.js.map +1 -0
- package/dist/config/schema.d.ts +520 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +123 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/core/agent-loop.d.ts +137 -0
- package/dist/core/agent-loop.d.ts.map +1 -0
- package/dist/core/agent-loop.js +700 -0
- package/dist/core/agent-loop.js.map +1 -0
- package/dist/core/audit.d.ts +87 -0
- package/dist/core/audit.d.ts.map +1 -0
- package/dist/core/audit.js +224 -0
- package/dist/core/audit.js.map +1 -0
- package/dist/core/bootstrap.d.ts +23 -0
- package/dist/core/bootstrap.d.ts.map +1 -0
- package/dist/core/bootstrap.js +162 -0
- package/dist/core/bootstrap.js.map +1 -0
- package/dist/core/context.d.ts +44 -0
- package/dist/core/context.d.ts.map +1 -0
- package/dist/core/context.js +65 -0
- package/dist/core/context.js.map +1 -0
- package/dist/core/cron.d.ts +111 -0
- package/dist/core/cron.d.ts.map +1 -0
- package/dist/core/cron.js +284 -0
- package/dist/core/cron.js.map +1 -0
- package/dist/core/exec-approvals.d.ts +50 -0
- package/dist/core/exec-approvals.d.ts.map +1 -0
- package/dist/core/exec-approvals.js +187 -0
- package/dist/core/exec-approvals.js.map +1 -0
- package/dist/core/heartbeat.d.ts +71 -0
- package/dist/core/heartbeat.d.ts.map +1 -0
- package/dist/core/heartbeat.js +214 -0
- package/dist/core/heartbeat.js.map +1 -0
- package/dist/core/message-queue.d.ts +60 -0
- package/dist/core/message-queue.d.ts.map +1 -0
- package/dist/core/message-queue.js +182 -0
- package/dist/core/message-queue.js.map +1 -0
- package/dist/core/network-policy.d.ts +39 -0
- package/dist/core/network-policy.d.ts.map +1 -0
- package/dist/core/network-policy.js +121 -0
- package/dist/core/network-policy.js.map +1 -0
- package/dist/core/progress.d.ts +48 -0
- package/dist/core/progress.d.ts.map +1 -0
- package/dist/core/progress.js +81 -0
- package/dist/core/progress.js.map +1 -0
- package/dist/core/prompt.d.ts +105 -0
- package/dist/core/prompt.d.ts.map +1 -0
- package/dist/core/prompt.js +411 -0
- package/dist/core/prompt.js.map +1 -0
- package/dist/core/pruning.d.ts +40 -0
- package/dist/core/pruning.d.ts.map +1 -0
- package/dist/core/pruning.js +165 -0
- package/dist/core/pruning.js.map +1 -0
- package/dist/core/rate-limiter.d.ts +64 -0
- package/dist/core/rate-limiter.d.ts.map +1 -0
- package/dist/core/rate-limiter.js +142 -0
- package/dist/core/rate-limiter.js.map +1 -0
- package/dist/core/reactions.d.ts +31 -0
- package/dist/core/reactions.d.ts.map +1 -0
- package/dist/core/reactions.js +67 -0
- package/dist/core/reactions.js.map +1 -0
- package/dist/core/retry-queue.d.ts +56 -0
- package/dist/core/retry-queue.d.ts.map +1 -0
- package/dist/core/retry-queue.js +106 -0
- package/dist/core/retry-queue.js.map +1 -0
- package/dist/core/sanitizer.d.ts +38 -0
- package/dist/core/sanitizer.d.ts.map +1 -0
- package/dist/core/sanitizer.js +181 -0
- package/dist/core/sanitizer.js.map +1 -0
- package/dist/core/secret-scanner.d.ts +39 -0
- package/dist/core/secret-scanner.d.ts.map +1 -0
- package/dist/core/secret-scanner.js +96 -0
- package/dist/core/secret-scanner.js.map +1 -0
- package/dist/core/secrets.d.ts +38 -0
- package/dist/core/secrets.d.ts.map +1 -0
- package/dist/core/secrets.js +137 -0
- package/dist/core/secrets.js.map +1 -0
- package/dist/core/security.d.ts +58 -0
- package/dist/core/security.d.ts.map +1 -0
- package/dist/core/security.js +120 -0
- package/dist/core/security.js.map +1 -0
- package/dist/core/self-awareness.d.ts +19 -0
- package/dist/core/self-awareness.d.ts.map +1 -0
- package/dist/core/self-awareness.js +124 -0
- package/dist/core/self-awareness.js.map +1 -0
- package/dist/core/session-init.d.ts +34 -0
- package/dist/core/session-init.d.ts.map +1 -0
- package/dist/core/session-init.js +68 -0
- package/dist/core/session-init.js.map +1 -0
- package/dist/core/streaming.d.ts +82 -0
- package/dist/core/streaming.d.ts.map +1 -0
- package/dist/core/streaming.js +264 -0
- package/dist/core/streaming.js.map +1 -0
- package/dist/core/symphony/orchestrator.d.ts +61 -0
- package/dist/core/symphony/orchestrator.d.ts.map +1 -0
- package/dist/core/symphony/orchestrator.js +476 -0
- package/dist/core/symphony/orchestrator.js.map +1 -0
- package/dist/core/symphony/status.d.ts +11 -0
- package/dist/core/symphony/status.d.ts.map +1 -0
- package/dist/core/symphony/status.js +133 -0
- package/dist/core/symphony/status.js.map +1 -0
- package/dist/core/symphony/types.d.ts +84 -0
- package/dist/core/symphony/types.d.ts.map +1 -0
- package/dist/core/symphony/types.js +5 -0
- package/dist/core/symphony/types.js.map +1 -0
- package/dist/core/symphony/workflow.d.ts +18 -0
- package/dist/core/symphony/workflow.d.ts.map +1 -0
- package/dist/core/symphony/workflow.js +149 -0
- package/dist/core/symphony/workflow.js.map +1 -0
- package/dist/core/symphony/workspace.d.ts +24 -0
- package/dist/core/symphony/workspace.d.ts.map +1 -0
- package/dist/core/symphony/workspace.js +94 -0
- package/dist/core/symphony/workspace.js.map +1 -0
- package/dist/core/thinking.d.ts +27 -0
- package/dist/core/thinking.d.ts.map +1 -0
- package/dist/core/thinking.js +83 -0
- package/dist/core/thinking.js.map +1 -0
- package/dist/core/thread-bindings.d.ts +47 -0
- package/dist/core/thread-bindings.d.ts.map +1 -0
- package/dist/core/thread-bindings.js +94 -0
- package/dist/core/thread-bindings.js.map +1 -0
- package/dist/core/timezone.d.ts +28 -0
- package/dist/core/timezone.d.ts.map +1 -0
- package/dist/core/timezone.js +72 -0
- package/dist/core/timezone.js.map +1 -0
- package/dist/core/tool-loop-detector.d.ts +41 -0
- package/dist/core/tool-loop-detector.d.ts.map +1 -0
- package/dist/core/tool-loop-detector.js +83 -0
- package/dist/core/tool-loop-detector.js.map +1 -0
- package/dist/core/tool-validator.d.ts +44 -0
- package/dist/core/tool-validator.d.ts.map +1 -0
- package/dist/core/tool-validator.js +175 -0
- package/dist/core/tool-validator.js.map +1 -0
- package/dist/core/typing.d.ts +25 -0
- package/dist/core/typing.d.ts.map +1 -0
- package/dist/core/typing.js +48 -0
- package/dist/core/typing.js.map +1 -0
- package/dist/core/usage-tracker.d.ts +66 -0
- package/dist/core/usage-tracker.d.ts.map +1 -0
- package/dist/core/usage-tracker.js +163 -0
- package/dist/core/usage-tracker.js.map +1 -0
- package/dist/daemon/commands.d.ts +16 -0
- package/dist/daemon/commands.d.ts.map +1 -0
- package/dist/daemon/commands.js +445 -0
- package/dist/daemon/commands.js.map +1 -0
- package/dist/daemon/pid.d.ts +30 -0
- package/dist/daemon/pid.d.ts.map +1 -0
- package/dist/daemon/pid.js +62 -0
- package/dist/daemon/pid.js.map +1 -0
- package/dist/doctor/checks/browser.d.ts +9 -0
- package/dist/doctor/checks/browser.d.ts.map +1 -0
- package/dist/doctor/checks/browser.js +54 -0
- package/dist/doctor/checks/browser.js.map +1 -0
- package/dist/doctor/checks/channels.d.ts +9 -0
- package/dist/doctor/checks/channels.d.ts.map +1 -0
- package/dist/doctor/checks/channels.js +90 -0
- package/dist/doctor/checks/channels.js.map +1 -0
- package/dist/doctor/checks/config.d.ts +10 -0
- package/dist/doctor/checks/config.d.ts.map +1 -0
- package/dist/doctor/checks/config.js +89 -0
- package/dist/doctor/checks/config.js.map +1 -0
- package/dist/doctor/checks/memory.d.ts +10 -0
- package/dist/doctor/checks/memory.d.ts.map +1 -0
- package/dist/doctor/checks/memory.js +82 -0
- package/dist/doctor/checks/memory.js.map +1 -0
- package/dist/doctor/checks/permissions.d.ts +9 -0
- package/dist/doctor/checks/permissions.d.ts.map +1 -0
- package/dist/doctor/checks/permissions.js +53 -0
- package/dist/doctor/checks/permissions.js.map +1 -0
- package/dist/doctor/checks/providers.d.ts +10 -0
- package/dist/doctor/checks/providers.d.ts.map +1 -0
- package/dist/doctor/checks/providers.js +93 -0
- package/dist/doctor/checks/providers.js.map +1 -0
- package/dist/doctor/checks/sessions.d.ts +10 -0
- package/dist/doctor/checks/sessions.d.ts.map +1 -0
- package/dist/doctor/checks/sessions.js +86 -0
- package/dist/doctor/checks/sessions.js.map +1 -0
- package/dist/doctor/doctor.d.ts +35 -0
- package/dist/doctor/doctor.d.ts.map +1 -0
- package/dist/doctor/doctor.js +51 -0
- package/dist/doctor/doctor.js.map +1 -0
- package/dist/doctor/repairs.d.ts +14 -0
- package/dist/doctor/repairs.d.ts.map +1 -0
- package/dist/doctor/repairs.js +34 -0
- package/dist/doctor/repairs.js.map +1 -0
- package/dist/gateway/compaction.d.ts +63 -0
- package/dist/gateway/compaction.d.ts.map +1 -0
- package/dist/gateway/compaction.js +235 -0
- package/dist/gateway/compaction.js.map +1 -0
- package/dist/gateway/gateway.d.ts +94 -0
- package/dist/gateway/gateway.d.ts.map +1 -0
- package/dist/gateway/gateway.js +466 -0
- package/dist/gateway/gateway.js.map +1 -0
- package/dist/gateway/lock.d.ts +24 -0
- package/dist/gateway/lock.d.ts.map +1 -0
- package/dist/gateway/lock.js +88 -0
- package/dist/gateway/lock.js.map +1 -0
- package/dist/gateway/protocol.d.ts +117 -0
- package/dist/gateway/protocol.d.ts.map +1 -0
- package/dist/gateway/protocol.js +5 -0
- package/dist/gateway/protocol.js.map +1 -0
- package/dist/gateway/session.d.ts +123 -0
- package/dist/gateway/session.d.ts.map +1 -0
- package/dist/gateway/session.js +573 -0
- package/dist/gateway/session.js.map +1 -0
- package/dist/hooks/hooks.d.ts +18 -0
- package/dist/hooks/hooks.d.ts.map +1 -0
- package/dist/hooks/hooks.js +45 -0
- package/dist/hooks/hooks.js.map +1 -0
- package/dist/hooks/types.d.ts +112 -0
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/hooks/types.js +23 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2900 -0
- package/dist/index.js.map +1 -0
- package/dist/media/storage.d.ts +25 -0
- package/dist/media/storage.d.ts.map +1 -0
- package/dist/media/storage.js +97 -0
- package/dist/media/storage.js.map +1 -0
- package/dist/memory/embeddings.d.ts +46 -0
- package/dist/memory/embeddings.d.ts.map +1 -0
- package/dist/memory/embeddings.js +118 -0
- package/dist/memory/embeddings.js.map +1 -0
- package/dist/memory/hybrid.d.ts +35 -0
- package/dist/memory/hybrid.d.ts.map +1 -0
- package/dist/memory/hybrid.js +156 -0
- package/dist/memory/hybrid.js.map +1 -0
- package/dist/memory/markdown.d.ts +48 -0
- package/dist/memory/markdown.d.ts.map +1 -0
- package/dist/memory/markdown.js +228 -0
- package/dist/memory/markdown.js.map +1 -0
- package/dist/memory/store.d.ts +88 -0
- package/dist/memory/store.d.ts.map +1 -0
- package/dist/memory/store.js +21 -0
- package/dist/memory/store.js.map +1 -0
- package/dist/memory/vector.d.ts +24 -0
- package/dist/memory/vector.d.ts.map +1 -0
- package/dist/memory/vector.js +63 -0
- package/dist/memory/vector.js.map +1 -0
- package/dist/mods/mod.d.ts +100 -0
- package/dist/mods/mod.d.ts.map +1 -0
- package/dist/mods/mod.js +242 -0
- package/dist/mods/mod.js.map +1 -0
- package/dist/onboard/channels.d.ts +12 -0
- package/dist/onboard/channels.d.ts.map +1 -0
- package/dist/onboard/channels.js +283 -0
- package/dist/onboard/channels.js.map +1 -0
- package/dist/onboard/models.d.ts +13 -0
- package/dist/onboard/models.d.ts.map +1 -0
- package/dist/onboard/models.js +491 -0
- package/dist/onboard/models.js.map +1 -0
- package/dist/onboard/onboard.d.ts +12 -0
- package/dist/onboard/onboard.d.ts.map +1 -0
- package/dist/onboard/onboard.js +1137 -0
- package/dist/onboard/onboard.js.map +1 -0
- package/dist/providers/anthropic.d.ts +83 -0
- package/dist/providers/anthropic.d.ts.map +1 -0
- package/dist/providers/anthropic.js +583 -0
- package/dist/providers/anthropic.js.map +1 -0
- package/dist/providers/failover.d.ts +46 -0
- package/dist/providers/failover.d.ts.map +1 -0
- package/dist/providers/failover.js +149 -0
- package/dist/providers/failover.js.map +1 -0
- package/dist/providers/litellm.d.ts +38 -0
- package/dist/providers/litellm.d.ts.map +1 -0
- package/dist/providers/litellm.js +349 -0
- package/dist/providers/litellm.js.map +1 -0
- package/dist/providers/openai.d.ts +28 -0
- package/dist/providers/openai.d.ts.map +1 -0
- package/dist/providers/openai.js +321 -0
- package/dist/providers/openai.js.map +1 -0
- package/dist/providers/prompt-cache.d.ts +50 -0
- package/dist/providers/prompt-cache.d.ts.map +1 -0
- package/dist/providers/prompt-cache.js +96 -0
- package/dist/providers/prompt-cache.js.map +1 -0
- package/dist/providers/provider.d.ts +173 -0
- package/dist/providers/provider.d.ts.map +1 -0
- package/dist/providers/provider.js +22 -0
- package/dist/providers/provider.js.map +1 -0
- package/dist/sandbox/config.d.ts +42 -0
- package/dist/sandbox/config.d.ts.map +1 -0
- package/dist/sandbox/config.js +20 -0
- package/dist/sandbox/config.js.map +1 -0
- package/dist/sandbox/container.d.ts +71 -0
- package/dist/sandbox/container.d.ts.map +1 -0
- package/dist/sandbox/container.js +193 -0
- package/dist/sandbox/container.js.map +1 -0
- package/dist/sandbox/sandbox.d.ts +82 -0
- package/dist/sandbox/sandbox.d.ts.map +1 -0
- package/dist/sandbox/sandbox.js +176 -0
- package/dist/sandbox/sandbox.js.map +1 -0
- package/dist/skills/channel-loader.d.ts +18 -0
- package/dist/skills/channel-loader.d.ts.map +1 -0
- package/dist/skills/channel-loader.js +35 -0
- package/dist/skills/channel-loader.js.map +1 -0
- package/dist/skills/extension-loader.d.ts +15 -0
- package/dist/skills/extension-loader.d.ts.map +1 -0
- package/dist/skills/extension-loader.js +63 -0
- package/dist/skills/extension-loader.js.map +1 -0
- package/dist/skills/extension-registry.d.ts +32 -0
- package/dist/skills/extension-registry.d.ts.map +1 -0
- package/dist/skills/extension-registry.js +57 -0
- package/dist/skills/extension-registry.js.map +1 -0
- package/dist/skills/extensions.d.ts +91 -0
- package/dist/skills/extensions.d.ts.map +1 -0
- package/dist/skills/extensions.js +14 -0
- package/dist/skills/extensions.js.map +1 -0
- package/dist/skills/loader.d.ts +64 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +382 -0
- package/dist/skills/loader.js.map +1 -0
- package/dist/skills/marketplace.d.ts +56 -0
- package/dist/skills/marketplace.d.ts.map +1 -0
- package/dist/skills/marketplace.js +183 -0
- package/dist/skills/marketplace.js.map +1 -0
- package/dist/skills/types.d.ts +94 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/types.js +9 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/tools/acp-sessions.d.ts +89 -0
- package/dist/tools/acp-sessions.d.ts.map +1 -0
- package/dist/tools/acp-sessions.js +391 -0
- package/dist/tools/acp-sessions.js.map +1 -0
- package/dist/tools/acp.d.ts +18 -0
- package/dist/tools/acp.d.ts.map +1 -0
- package/dist/tools/acp.js +102 -0
- package/dist/tools/acp.js.map +1 -0
- package/dist/tools/agent-tools.d.ts +24 -0
- package/dist/tools/agent-tools.d.ts.map +1 -0
- package/dist/tools/agent-tools.js +611 -0
- package/dist/tools/agent-tools.js.map +1 -0
- package/dist/tools/browser.d.ts +26 -0
- package/dist/tools/browser.d.ts.map +1 -0
- package/dist/tools/browser.js +242 -0
- package/dist/tools/browser.js.map +1 -0
- package/dist/tools/comms.d.ts +8 -0
- package/dist/tools/comms.d.ts.map +1 -0
- package/dist/tools/comms.js +39 -0
- package/dist/tools/comms.js.map +1 -0
- package/dist/tools/cron-tools.d.ts +9 -0
- package/dist/tools/cron-tools.d.ts.map +1 -0
- package/dist/tools/cron-tools.js +117 -0
- package/dist/tools/cron-tools.js.map +1 -0
- package/dist/tools/exec-safety.d.ts +71 -0
- package/dist/tools/exec-safety.d.ts.map +1 -0
- package/dist/tools/exec-safety.js +141 -0
- package/dist/tools/exec-safety.js.map +1 -0
- package/dist/tools/exec.d.ts +24 -0
- package/dist/tools/exec.d.ts.map +1 -0
- package/dist/tools/exec.js +191 -0
- package/dist/tools/exec.js.map +1 -0
- package/dist/tools/fs.d.ts +15 -0
- package/dist/tools/fs.d.ts.map +1 -0
- package/dist/tools/fs.js +249 -0
- package/dist/tools/fs.js.map +1 -0
- package/dist/tools/git.d.ts +9 -0
- package/dist/tools/git.d.ts.map +1 -0
- package/dist/tools/git.js +56 -0
- package/dist/tools/git.js.map +1 -0
- package/dist/tools/image.d.ts +15 -0
- package/dist/tools/image.d.ts.map +1 -0
- package/dist/tools/image.js +106 -0
- package/dist/tools/image.js.map +1 -0
- package/dist/tools/introspect.d.ts +22 -0
- package/dist/tools/introspect.d.ts.map +1 -0
- package/dist/tools/introspect.js +223 -0
- package/dist/tools/introspect.js.map +1 -0
- package/dist/tools/memory.d.ts +11 -0
- package/dist/tools/memory.d.ts.map +1 -0
- package/dist/tools/memory.js +101 -0
- package/dist/tools/memory.js.map +1 -0
- package/dist/tools/message.d.ts +24 -0
- package/dist/tools/message.d.ts.map +1 -0
- package/dist/tools/message.js +205 -0
- package/dist/tools/message.js.map +1 -0
- package/dist/tools/model.d.ts +14 -0
- package/dist/tools/model.d.ts.map +1 -0
- package/dist/tools/model.js +62 -0
- package/dist/tools/model.js.map +1 -0
- package/dist/tools/policy.d.ts +101 -0
- package/dist/tools/policy.d.ts.map +1 -0
- package/dist/tools/policy.js +168 -0
- package/dist/tools/policy.js.map +1 -0
- package/dist/tools/registry.d.ts +52 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +154 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/search.d.ts +10 -0
- package/dist/tools/search.d.ts.map +1 -0
- package/dist/tools/search.js +78 -0
- package/dist/tools/search.js.map +1 -0
- package/dist/tools/session.d.ts +13 -0
- package/dist/tools/session.d.ts.map +1 -0
- package/dist/tools/session.js +142 -0
- package/dist/tools/session.js.map +1 -0
- package/dist/tools/spawn.d.ts +10 -0
- package/dist/tools/spawn.d.ts.map +1 -0
- package/dist/tools/spawn.js +72 -0
- package/dist/tools/spawn.js.map +1 -0
- package/dist/tools/symphony.d.ts +12 -0
- package/dist/tools/symphony.d.ts.map +1 -0
- package/dist/tools/symphony.js +142 -0
- package/dist/tools/symphony.js.map +1 -0
- package/dist/tools/system-tools.d.ts +11 -0
- package/dist/tools/system-tools.d.ts.map +1 -0
- package/dist/tools/system-tools.js +39 -0
- package/dist/tools/system-tools.js.map +1 -0
- package/dist/tools/tool.d.ts +119 -0
- package/dist/tools/tool.d.ts.map +1 -0
- package/dist/tools/tool.js +29 -0
- package/dist/tools/tool.js.map +1 -0
- package/dist/tools/web.d.ts +10 -0
- package/dist/tools/web.d.ts.map +1 -0
- package/dist/tools/web.js +105 -0
- package/dist/tools/web.js.map +1 -0
- package/dist/tui/App.d.ts +43 -0
- package/dist/tui/App.d.ts.map +1 -0
- package/dist/tui/App.js +265 -0
- package/dist/tui/App.js.map +1 -0
- package/dist/tui/bridge.d.ts +40 -0
- package/dist/tui/bridge.d.ts.map +1 -0
- package/dist/tui/bridge.js +29 -0
- package/dist/tui/bridge.js.map +1 -0
- package/dist/tui/components/Header.d.ts +14 -0
- package/dist/tui/components/Header.d.ts.map +1 -0
- package/dist/tui/components/Header.js +7 -0
- package/dist/tui/components/Header.js.map +1 -0
- package/dist/tui/components/InputBar.d.ts +10 -0
- package/dist/tui/components/InputBar.d.ts.map +1 -0
- package/dist/tui/components/InputBar.js +121 -0
- package/dist/tui/components/InputBar.js.map +1 -0
- package/dist/tui/components/MessageList.d.ts +18 -0
- package/dist/tui/components/MessageList.d.ts.map +1 -0
- package/dist/tui/components/MessageList.js +34 -0
- package/dist/tui/components/MessageList.js.map +1 -0
- package/dist/tui/components/Spinner.d.ts +9 -0
- package/dist/tui/components/Spinner.d.ts.map +1 -0
- package/dist/tui/components/Spinner.js +18 -0
- package/dist/tui/components/Spinner.js.map +1 -0
- package/dist/tui/components/StatusBar.d.ts +16 -0
- package/dist/tui/components/StatusBar.d.ts.map +1 -0
- package/dist/tui/components/StatusBar.js +15 -0
- package/dist/tui/components/StatusBar.js.map +1 -0
- package/dist/tui/components/ToolCallBox.d.ts +12 -0
- package/dist/tui/components/ToolCallBox.d.ts.map +1 -0
- package/dist/tui/components/ToolCallBox.js +12 -0
- package/dist/tui/components/ToolCallBox.js.map +1 -0
- package/dist/tui/theme.d.ts +58 -0
- package/dist/tui/theme.d.ts.map +1 -0
- package/dist/tui/theme.js +80 -0
- package/dist/tui/theme.js.map +1 -0
- package/dist/utils/logger.d.ts +16 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +70 -0
- package/dist/utils/logger.js.map +1 -0
- package/docs/DEVELOPMENT.md +74 -0
- package/docs/INSTALL.md +161 -0
- package/docs/USAGE.md +94 -0
- package/docs/architecture.md +128 -0
- package/docs/channels.md +140 -0
- package/docs/configuration.md +209 -0
- package/docs/io-system.md +430 -0
- package/docs/providers.md +99 -0
- package/docs/skill-channels.md +113 -0
- package/docs/skills.md +246 -0
- package/package.json +89 -0
- package/skills/acp-router/SKILL.md +41 -0
- package/skills/acp-router/tools/acp-router.mjs +239 -0
- package/skills/find-skills/SKILL.md +133 -0
- package/skills/security-audit/SKILL.md +181 -0
- package/skills/security-audit/audit.sh +67 -0
- package/skills/skill-creator/SKILL.md +479 -0
- package/skills/skill-security-audit/.clawhub/origin.json +7 -0
- package/skills/skill-security-audit/SKILL.md +196 -0
- package/skills/skill-security-audit/_meta.json +6 -0
- package/skills/skill-security-audit/references/prompt-injection-patterns.md +276 -0
- package/skills/skill-security-audit/references/vulnerability-patterns.md +348 -0
- package/skills/symphony/README.md +53 -0
- package/skills/symphony/SKILL.md +75 -0
- package/skills/symphony/tools/symphony-orchestrator.ts +8 -0
- package/tako.example.json +33 -0
|
@@ -0,0 +1,520 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Config schema — typed configuration for Tako.
|
|
3
|
+
*/
|
|
4
|
+
import type { ThinkingLevel } from '../core/thinking.js';
|
|
5
|
+
export interface TakoConfig {
|
|
6
|
+
providers: ProvidersConfig;
|
|
7
|
+
channels: ChannelsConfig;
|
|
8
|
+
tools: ToolsConfig;
|
|
9
|
+
memory: MemoryConfig;
|
|
10
|
+
gateway: GatewayConfig;
|
|
11
|
+
agent: AgentConfig;
|
|
12
|
+
sandbox: SandboxConfig;
|
|
13
|
+
agents: AgentsConfig;
|
|
14
|
+
skills: SkillsConfig;
|
|
15
|
+
heartbeat: HeartbeatConfig;
|
|
16
|
+
session: SessionConfig;
|
|
17
|
+
/** Failed message retry queue configuration. */
|
|
18
|
+
retryQueue: RetryQueueConfig;
|
|
19
|
+
/** Cache layer configuration. */
|
|
20
|
+
cache: CacheConfig;
|
|
21
|
+
/** Audit logging configuration. */
|
|
22
|
+
audit: AuditLogConfig;
|
|
23
|
+
/** Message queue configuration for batching rapid inbound messages. */
|
|
24
|
+
queue: QueueConfigSchema;
|
|
25
|
+
/** Security hardening configuration. */
|
|
26
|
+
security: SecurityConfig;
|
|
27
|
+
/** Typing indicator configuration. */
|
|
28
|
+
typing?: TypingIndicatorConfig;
|
|
29
|
+
/** Tool loop detection configuration. */
|
|
30
|
+
toolLoopDetection?: ToolLoopDetectionConfig;
|
|
31
|
+
/** Exec approval configuration. */
|
|
32
|
+
execApprovals?: {
|
|
33
|
+
mode?: 'off' | 'ask' | 'allowlist' | 'full';
|
|
34
|
+
alwaysAsk?: string[];
|
|
35
|
+
allowed?: string[];
|
|
36
|
+
blocked?: string[];
|
|
37
|
+
timeoutMs?: number;
|
|
38
|
+
autoApproveAfter?: number;
|
|
39
|
+
};
|
|
40
|
+
/** Session pruning configuration. */
|
|
41
|
+
pruning?: {
|
|
42
|
+
enabled?: boolean;
|
|
43
|
+
mode?: 'off' | 'cache-ttl' | 'progressive';
|
|
44
|
+
toolResultTtlMs?: number;
|
|
45
|
+
maxToolResultChars?: number;
|
|
46
|
+
startAt?: number;
|
|
47
|
+
aggressiveAt?: number;
|
|
48
|
+
};
|
|
49
|
+
/** Prompt caching configuration. */
|
|
50
|
+
promptCache?: PromptCacheConfigSchema;
|
|
51
|
+
/** Usage tracking configuration. */
|
|
52
|
+
usage?: UsageConfigSchema;
|
|
53
|
+
/** Thinking/reasoning control configuration. */
|
|
54
|
+
thinking?: {
|
|
55
|
+
default?: ThinkingLevel;
|
|
56
|
+
modelDefaults?: Record<string, ThinkingLevel>;
|
|
57
|
+
};
|
|
58
|
+
/** Reaction feedback configuration. */
|
|
59
|
+
reactions?: {
|
|
60
|
+
enabled?: boolean;
|
|
61
|
+
reactions?: Record<string, string>;
|
|
62
|
+
};
|
|
63
|
+
/** Gateway lock configuration. */
|
|
64
|
+
gatewayLock?: {
|
|
65
|
+
enabled?: boolean;
|
|
66
|
+
};
|
|
67
|
+
/** Secrets management configuration. */
|
|
68
|
+
secrets?: {
|
|
69
|
+
backend?: 'file' | 'env' | 'keychain';
|
|
70
|
+
path?: string;
|
|
71
|
+
};
|
|
72
|
+
/** Timezone configuration. */
|
|
73
|
+
timezone?: {
|
|
74
|
+
timezone?: string;
|
|
75
|
+
autoDetect?: boolean;
|
|
76
|
+
};
|
|
77
|
+
/** Per-skill channel configuration. Keyed by skill name. */
|
|
78
|
+
skillChannels?: Record<string, Record<string, unknown>>;
|
|
79
|
+
/** Per-skill extension configuration. Keyed by skill name, then extension type. */
|
|
80
|
+
skillExtensions?: Record<string, Record<string, Record<string, unknown>>>;
|
|
81
|
+
/** Runtime-only: absolute path of the config file that was loaded. */
|
|
82
|
+
_configPath?: string;
|
|
83
|
+
}
|
|
84
|
+
/** Configuration for skill discovery. */
|
|
85
|
+
export interface SkillsConfig {
|
|
86
|
+
/**
|
|
87
|
+
* Directories to scan for skills (each must contain subdirs with SKILL.md).
|
|
88
|
+
* Supports ~ expansion. Resolved in order — first match wins on name collision.
|
|
89
|
+
* Defaults to ['./skills', '~/.tako/skills'].
|
|
90
|
+
*/
|
|
91
|
+
dirs: string[];
|
|
92
|
+
}
|
|
93
|
+
/** Configuration for the multi-agent system. */
|
|
94
|
+
export interface AgentsConfig {
|
|
95
|
+
/** Default settings applied to all agents unless overridden. */
|
|
96
|
+
defaults: AgentDefaults;
|
|
97
|
+
/** List of configured agents. */
|
|
98
|
+
list: AgentEntry[];
|
|
99
|
+
}
|
|
100
|
+
/** Default agent settings. */
|
|
101
|
+
export interface AgentDefaults {
|
|
102
|
+
/** Default workspace path for agents. */
|
|
103
|
+
workspace: string;
|
|
104
|
+
/** Default model for agents. */
|
|
105
|
+
model?: {
|
|
106
|
+
primary: string;
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
/** A single agent entry in the config. */
|
|
110
|
+
export interface AgentEntry {
|
|
111
|
+
/** Unique agent ID (e.g. 'code-agent', 'research-agent'). */
|
|
112
|
+
id: string;
|
|
113
|
+
/** Agent workspace path (overrides default). */
|
|
114
|
+
workspace?: string;
|
|
115
|
+
/** Agent-specific model override. */
|
|
116
|
+
model?: {
|
|
117
|
+
primary: string;
|
|
118
|
+
};
|
|
119
|
+
/** Channel bindings — route inbound messages to this agent. */
|
|
120
|
+
bindings?: AgentBindings;
|
|
121
|
+
/** Sub-agent allowlist — which agent IDs this agent can spawn. */
|
|
122
|
+
canSpawn?: string[];
|
|
123
|
+
/** Agent description (shown in agents_list). */
|
|
124
|
+
description?: string;
|
|
125
|
+
/** Permission role (admin, operator, editor, standard, viewer, restricted, readonly). */
|
|
126
|
+
role?: string;
|
|
127
|
+
/** Role config with per-user overrides (takes precedence over `role`). */
|
|
128
|
+
roles?: {
|
|
129
|
+
default: string;
|
|
130
|
+
users?: Record<string, string>;
|
|
131
|
+
};
|
|
132
|
+
/** Channel connection preferences for this agent. */
|
|
133
|
+
channels?: AgentChannels;
|
|
134
|
+
/** Per-agent prompt cache retention override. */
|
|
135
|
+
cacheRetention?: 'none' | 'short' | 'long';
|
|
136
|
+
/** Per-agent skill directories (appended to global dirs). */
|
|
137
|
+
skills?: {
|
|
138
|
+
dirs: string[];
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
/** Channel connection preferences for an agent. */
|
|
142
|
+
export interface AgentChannels {
|
|
143
|
+
discord?: {
|
|
144
|
+
enabled: boolean;
|
|
145
|
+
guildId?: string;
|
|
146
|
+
};
|
|
147
|
+
telegram?: {
|
|
148
|
+
enabled: boolean;
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
/** Channel binding configuration for an agent. */
|
|
152
|
+
export interface AgentBindings {
|
|
153
|
+
discord?: {
|
|
154
|
+
channels: string[];
|
|
155
|
+
};
|
|
156
|
+
telegram?: {
|
|
157
|
+
users?: string[];
|
|
158
|
+
groups?: string[];
|
|
159
|
+
};
|
|
160
|
+
cli?: boolean;
|
|
161
|
+
}
|
|
162
|
+
export interface ProvidersConfig {
|
|
163
|
+
/** Primary model reference (e.g. 'anthropic/claude-sonnet-4-6') */
|
|
164
|
+
primary: string;
|
|
165
|
+
/** Ordered fallback model chain (up to 4 total including primary) */
|
|
166
|
+
fallback?: string[];
|
|
167
|
+
/** Per-provider overrides */
|
|
168
|
+
overrides?: Record<string, Record<string, unknown>>;
|
|
169
|
+
/** LiteLLM-specific config */
|
|
170
|
+
litellm?: LiteLLMConfig;
|
|
171
|
+
/** Cooldown duration in seconds after a provider fails (default: 60) */
|
|
172
|
+
cooldownSeconds?: number;
|
|
173
|
+
/**
|
|
174
|
+
* Anthropic prompt cache retention mode.
|
|
175
|
+
* - 'none': no caching (default)
|
|
176
|
+
* - 'short': ephemeral cache (~5min TTL, resets on hit)
|
|
177
|
+
* - 'long': ephemeral cache with conversation prefix caching
|
|
178
|
+
*
|
|
179
|
+
* When enabled, stable content (system prompt, tools) is marked with
|
|
180
|
+
* cache_control blocks to reduce token costs on repeated turns.
|
|
181
|
+
*/
|
|
182
|
+
cacheRetention?: 'none' | 'short' | 'long';
|
|
183
|
+
}
|
|
184
|
+
/** Configuration for the failed message retry queue. */
|
|
185
|
+
export interface RetryQueueConfig {
|
|
186
|
+
/** Enable the retry queue (default: true) */
|
|
187
|
+
enabled: boolean;
|
|
188
|
+
/** Delay in seconds before retrying a failed message (default: 30) */
|
|
189
|
+
delaySeconds: number;
|
|
190
|
+
/** Max retries per message (default: 1) */
|
|
191
|
+
maxRetries: number;
|
|
192
|
+
/** Emoji to react with on permanent failure (default: '😨') */
|
|
193
|
+
failureEmoji: string;
|
|
194
|
+
}
|
|
195
|
+
export interface LiteLLMConfig {
|
|
196
|
+
/** Endpoint display name (e.g. 'OhMyGPT', 'Local LiteLLM') */
|
|
197
|
+
name?: string;
|
|
198
|
+
/** LiteLLM proxy base URL (e.g. 'http://localhost:4000') */
|
|
199
|
+
baseUrl: string;
|
|
200
|
+
/** API key for authenticated proxies (optional) */
|
|
201
|
+
apiKey?: string;
|
|
202
|
+
/** Primary model name configured in the LiteLLM proxy */
|
|
203
|
+
model: string;
|
|
204
|
+
/** All selected models from the LiteLLM proxy (used in fallback chain and /models) */
|
|
205
|
+
models?: string[];
|
|
206
|
+
}
|
|
207
|
+
export interface ChannelsConfig {
|
|
208
|
+
discord?: DiscordChannelConfig;
|
|
209
|
+
telegram?: TelegramChannelConfig;
|
|
210
|
+
cli?: CLIChannelConfig;
|
|
211
|
+
}
|
|
212
|
+
export interface DiscordChannelConfig {
|
|
213
|
+
token: string;
|
|
214
|
+
guilds?: string[];
|
|
215
|
+
/** Thread binding config for ACP/sub-agent spawns. */
|
|
216
|
+
threadBindings?: {
|
|
217
|
+
enabled: boolean;
|
|
218
|
+
spawnAcpSessions: boolean;
|
|
219
|
+
spawnSubagents: boolean;
|
|
220
|
+
progressUpdates: boolean;
|
|
221
|
+
progressIntervalMs: number;
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
export interface TelegramChannelConfig {
|
|
225
|
+
token: string;
|
|
226
|
+
allowedUsers?: string[];
|
|
227
|
+
}
|
|
228
|
+
export interface CLIChannelConfig {
|
|
229
|
+
prompt?: string;
|
|
230
|
+
}
|
|
231
|
+
export interface ToolsConfig {
|
|
232
|
+
/** Tool profile: controls which tool groups are enabled */
|
|
233
|
+
profile: 'minimal' | 'coding' | 'full';
|
|
234
|
+
/** Explicitly denied tools */
|
|
235
|
+
deny: string[];
|
|
236
|
+
/** Explicitly allowed tools (overrides profile) */
|
|
237
|
+
allow?: string[];
|
|
238
|
+
/** Sandbox-specific tool overrides */
|
|
239
|
+
sandbox?: {
|
|
240
|
+
tools?: {
|
|
241
|
+
allow?: string[];
|
|
242
|
+
deny?: string[];
|
|
243
|
+
};
|
|
244
|
+
};
|
|
245
|
+
/** Exec-specific safety policy */
|
|
246
|
+
exec?: ExecConfig;
|
|
247
|
+
/** Browser automation tools (Playwright-backed). */
|
|
248
|
+
browser?: BrowserToolsConfig;
|
|
249
|
+
}
|
|
250
|
+
export interface BrowserToolsConfig {
|
|
251
|
+
/** Enable browser tools. */
|
|
252
|
+
enabled: boolean;
|
|
253
|
+
/** Launch Chromium in headless mode. */
|
|
254
|
+
headless: boolean;
|
|
255
|
+
/** Auto-close browser after this idle time in milliseconds. */
|
|
256
|
+
idleTimeoutMs: number;
|
|
257
|
+
}
|
|
258
|
+
export interface ExecConfig {
|
|
259
|
+
/** Security mode: 'deny' blocks all exec, 'allowlist' requires pattern match, 'full' allows everything */
|
|
260
|
+
security: 'deny' | 'allowlist' | 'full';
|
|
261
|
+
/** Patterns for pre-approved commands (regex strings) */
|
|
262
|
+
allowlist?: string[];
|
|
263
|
+
/** Max timeout in ms */
|
|
264
|
+
timeout?: number;
|
|
265
|
+
/** Max output size in bytes */
|
|
266
|
+
maxOutputSize?: number;
|
|
267
|
+
}
|
|
268
|
+
export interface SandboxConfig {
|
|
269
|
+
/** When to sandbox: 'off' disables, 'non-main' sandboxes spawned sessions, 'all' sandboxes everything */
|
|
270
|
+
mode: 'off' | 'non-main' | 'all';
|
|
271
|
+
/** Container lifecycle: 'session' (one per session), 'agent', or 'shared' (single container) */
|
|
272
|
+
scope: 'session' | 'agent' | 'shared';
|
|
273
|
+
/** How the workspace is mounted: 'none', 'ro' (read-only), 'rw' (read-write) */
|
|
274
|
+
workspaceAccess: 'none' | 'ro' | 'rw';
|
|
275
|
+
/** Docker container settings */
|
|
276
|
+
docker?: {
|
|
277
|
+
image?: string;
|
|
278
|
+
network?: string;
|
|
279
|
+
binds?: string[];
|
|
280
|
+
setupCommand?: string;
|
|
281
|
+
user?: string;
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
export interface MemoryConfig {
|
|
285
|
+
/** Path to workspace directory */
|
|
286
|
+
workspace: string;
|
|
287
|
+
/** Embedding provider config */
|
|
288
|
+
embeddings?: {
|
|
289
|
+
provider: string;
|
|
290
|
+
model?: string;
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
export interface GatewayConfig {
|
|
294
|
+
/** Bind address */
|
|
295
|
+
bind: string;
|
|
296
|
+
/** Port number */
|
|
297
|
+
port: number;
|
|
298
|
+
/** Auth token (auto-generated if missing) */
|
|
299
|
+
authToken?: string;
|
|
300
|
+
}
|
|
301
|
+
/** Heartbeat system configuration. */
|
|
302
|
+
export interface HeartbeatConfig {
|
|
303
|
+
/** Interval duration string: "30m", "1h", "0m" (disabled). */
|
|
304
|
+
every: string;
|
|
305
|
+
/** Model override for heartbeat runs. */
|
|
306
|
+
model?: string;
|
|
307
|
+
/** Delivery target: 'none' (silent), 'last' (last channel), or explicit channel ID. */
|
|
308
|
+
target: 'none' | 'last' | string;
|
|
309
|
+
/** Specific recipient for delivery. */
|
|
310
|
+
to?: string;
|
|
311
|
+
/** Heartbeat prompt sent to the agent loop. */
|
|
312
|
+
prompt: string;
|
|
313
|
+
/** Max chars after HEARTBEAT_OK before delivery is dropped (default 300). */
|
|
314
|
+
ackMaxChars: number;
|
|
315
|
+
/** Active hours window — heartbeats only run during this window. */
|
|
316
|
+
activeHours?: {
|
|
317
|
+
start: string;
|
|
318
|
+
end: string;
|
|
319
|
+
timezone?: string;
|
|
320
|
+
};
|
|
321
|
+
}
|
|
322
|
+
/** Session lifecycle configuration. */
|
|
323
|
+
export interface SessionConfig {
|
|
324
|
+
/** Auto-compaction settings. */
|
|
325
|
+
compaction: {
|
|
326
|
+
/** Enable auto-compaction when context gets large. */
|
|
327
|
+
auto: boolean;
|
|
328
|
+
/** Trigger compaction at this percentage of context window (0-100). */
|
|
329
|
+
thresholdPercent: number;
|
|
330
|
+
/** Use LLM for compaction summaries (default: true). */
|
|
331
|
+
smartSummary?: boolean;
|
|
332
|
+
};
|
|
333
|
+
/** Prune completed sub-agent sessions after N days. */
|
|
334
|
+
pruneAfterDays: number;
|
|
335
|
+
/** Max sessions to keep in memory. */
|
|
336
|
+
maxEntries: number;
|
|
337
|
+
/** Session init protocol configuration. */
|
|
338
|
+
sessionInit?: SessionInitConfig;
|
|
339
|
+
}
|
|
340
|
+
/** Session init protocol configuration. */
|
|
341
|
+
export interface SessionInitConfig {
|
|
342
|
+
/** Enable session init protocol (default: true). */
|
|
343
|
+
enabled?: boolean;
|
|
344
|
+
/** Include git log in init context (default: true). */
|
|
345
|
+
includeGitLog?: boolean;
|
|
346
|
+
/** Number of recent progress entries to show (default: 3). */
|
|
347
|
+
progressEntries?: number;
|
|
348
|
+
/** Custom instructions to append. */
|
|
349
|
+
customInstructions?: string;
|
|
350
|
+
}
|
|
351
|
+
export interface AgentConfig {
|
|
352
|
+
/** Max agent loop duration in seconds */
|
|
353
|
+
timeout: number;
|
|
354
|
+
/** Thinking mode */
|
|
355
|
+
thinking: 'none' | 'adaptive' | 'always';
|
|
356
|
+
/** Max tool calls per loop iteration */
|
|
357
|
+
maxToolCalls?: number;
|
|
358
|
+
/** Max output characters per response before truncation (default: 50000) */
|
|
359
|
+
maxOutputChars?: number;
|
|
360
|
+
/** Max tool-call turns per agent loop run (default: 20) */
|
|
361
|
+
maxTurns?: number;
|
|
362
|
+
/** Max output tokens per API call (default: 16384) */
|
|
363
|
+
maxTokens?: number;
|
|
364
|
+
/** When to show typing indicator: 'instant' starts immediately, 'never' disables */
|
|
365
|
+
typingMode?: 'never' | 'instant' | 'thinking' | 'message';
|
|
366
|
+
/** How often to refresh typing indicator in seconds (default: 6) */
|
|
367
|
+
typingIntervalSeconds?: number;
|
|
368
|
+
/** Response streaming configuration */
|
|
369
|
+
streaming?: StreamingConfig;
|
|
370
|
+
}
|
|
371
|
+
/** Response streaming configuration. */
|
|
372
|
+
export interface StreamingConfig {
|
|
373
|
+
/** Enable streaming (default: false; reference runtime-style) */
|
|
374
|
+
enabled?: boolean;
|
|
375
|
+
/** Min chars to buffer before sending a chunk (default: 50) */
|
|
376
|
+
minChunkSize?: number;
|
|
377
|
+
/** Max ms to wait before flushing buffer (default: 500) */
|
|
378
|
+
flushIntervalMs?: number;
|
|
379
|
+
}
|
|
380
|
+
/** Cache layer configuration. */
|
|
381
|
+
export interface CacheConfig {
|
|
382
|
+
/** Master switch for all cache layers (default: true). */
|
|
383
|
+
enabled: boolean;
|
|
384
|
+
/** Interval in ms between auto-clean sweeps (default: 60000). */
|
|
385
|
+
autoCleanIntervalMs: number;
|
|
386
|
+
/** File content cache settings. */
|
|
387
|
+
file: FileCacheConfig;
|
|
388
|
+
/** Tool execution result cache settings. */
|
|
389
|
+
tool: ToolCacheConfig;
|
|
390
|
+
/** AST/symbol index cache settings. */
|
|
391
|
+
symbols: SymbolCacheConfig;
|
|
392
|
+
}
|
|
393
|
+
/** File content cache configuration. */
|
|
394
|
+
export interface FileCacheConfig {
|
|
395
|
+
/** Enable file content caching (default: true). */
|
|
396
|
+
enabled: boolean;
|
|
397
|
+
/** Max total cached bytes (default: 50MB). */
|
|
398
|
+
maxSizeBytes: number;
|
|
399
|
+
/** Max single file size to cache in bytes (default: 1MB). */
|
|
400
|
+
maxFileSizeBytes: number;
|
|
401
|
+
}
|
|
402
|
+
/** Tool execution result cache configuration. */
|
|
403
|
+
export interface ToolCacheConfig {
|
|
404
|
+
/** Enable tool result caching (default: true). */
|
|
405
|
+
enabled: boolean;
|
|
406
|
+
/** Default TTL in seconds (default: 60). */
|
|
407
|
+
defaultTtlSeconds: number;
|
|
408
|
+
/** Per-command TTL overrides (e.g. { 'git status': 10, 'ls': 30 }). */
|
|
409
|
+
ttlOverrides?: Record<string, number>;
|
|
410
|
+
/** Commands that should never be cached (e.g. test, build). */
|
|
411
|
+
blocklist: string[];
|
|
412
|
+
}
|
|
413
|
+
/** AST/symbol index cache configuration. */
|
|
414
|
+
export interface SymbolCacheConfig {
|
|
415
|
+
/** Enable symbol index caching (default: true). */
|
|
416
|
+
enabled: boolean;
|
|
417
|
+
/** Disk persistence path (default: '~/.tako/cache/symbol-index.json'). */
|
|
418
|
+
persistPath: string;
|
|
419
|
+
/** Max files to index (default: 5000). */
|
|
420
|
+
maxFiles: number;
|
|
421
|
+
}
|
|
422
|
+
/** Audit logging configuration. */
|
|
423
|
+
export interface AuditLogConfig {
|
|
424
|
+
/** Enable audit logging (default: true). */
|
|
425
|
+
enabled: boolean;
|
|
426
|
+
/** Max file size in MB before rotation (default: 10). */
|
|
427
|
+
maxFileSizeMb: number;
|
|
428
|
+
/** Retention period string, e.g. '30d' (default: '30d'). */
|
|
429
|
+
retention: string;
|
|
430
|
+
}
|
|
431
|
+
/** Message queue configuration for batching rapid inbound messages. */
|
|
432
|
+
export interface QueueConfigSchema {
|
|
433
|
+
/** Queue mode: 'off' | 'collect' | 'debounce' (default: 'collect') */
|
|
434
|
+
mode: 'off' | 'collect' | 'debounce';
|
|
435
|
+
/** Debounce delay in ms (default: 2000) */
|
|
436
|
+
debounceMs: number;
|
|
437
|
+
/** Max queued messages before force-processing (default: 25) */
|
|
438
|
+
cap: number;
|
|
439
|
+
/** Drop strategy when cap is hit: 'oldest' | 'summarize' (default: 'oldest') */
|
|
440
|
+
dropStrategy: 'oldest' | 'summarize';
|
|
441
|
+
/** Max wait before force-processing in ms (default: 10000) */
|
|
442
|
+
maxWaitMs: number;
|
|
443
|
+
}
|
|
444
|
+
/** Security hardening configuration. */
|
|
445
|
+
export interface SecurityConfig {
|
|
446
|
+
/** Rate limiting settings. */
|
|
447
|
+
rateLimits: {
|
|
448
|
+
enabled: boolean;
|
|
449
|
+
perUser: {
|
|
450
|
+
maxRequests: number;
|
|
451
|
+
windowMs: number;
|
|
452
|
+
};
|
|
453
|
+
perChannel: {
|
|
454
|
+
maxRequests: number;
|
|
455
|
+
windowMs: number;
|
|
456
|
+
};
|
|
457
|
+
global: {
|
|
458
|
+
maxRequests: number;
|
|
459
|
+
windowMs: number;
|
|
460
|
+
};
|
|
461
|
+
};
|
|
462
|
+
/** Input sanitization settings. */
|
|
463
|
+
sanitizer: {
|
|
464
|
+
enabled: boolean;
|
|
465
|
+
mode: 'strip' | 'warn' | 'block';
|
|
466
|
+
};
|
|
467
|
+
/** Tool argument validation settings. */
|
|
468
|
+
toolValidation: {
|
|
469
|
+
level: 'strict' | 'warn' | 'off';
|
|
470
|
+
};
|
|
471
|
+
/** Secret scanning settings. */
|
|
472
|
+
secretScanning: {
|
|
473
|
+
enabled: boolean;
|
|
474
|
+
action: 'redact' | 'block' | 'warn';
|
|
475
|
+
};
|
|
476
|
+
/** Network policy settings. */
|
|
477
|
+
network: {
|
|
478
|
+
mode: 'allowlist' | 'blocklist';
|
|
479
|
+
allowlist?: string[];
|
|
480
|
+
blocklist?: string[];
|
|
481
|
+
};
|
|
482
|
+
}
|
|
483
|
+
/** Typing indicator configuration. */
|
|
484
|
+
export interface TypingIndicatorConfig {
|
|
485
|
+
/** Enable typing indicators (default: true). */
|
|
486
|
+
enabled?: boolean;
|
|
487
|
+
/** Interval to re-send typing indicator in ms (default: 5000). */
|
|
488
|
+
intervalMs?: number;
|
|
489
|
+
}
|
|
490
|
+
/** Tool loop detection configuration. */
|
|
491
|
+
export interface ToolLoopDetectionConfig {
|
|
492
|
+
/** Enable loop detection (default: true). */
|
|
493
|
+
enabled?: boolean;
|
|
494
|
+
/** Max identical tool calls before breaking (default: 3). */
|
|
495
|
+
maxRepetitions?: number;
|
|
496
|
+
/** Max similar tool calls (same tool, different args) before warning (default: 5). */
|
|
497
|
+
maxSimilarCalls?: number;
|
|
498
|
+
/** Window of recent tool calls to consider (default: 10). */
|
|
499
|
+
windowSize?: number;
|
|
500
|
+
}
|
|
501
|
+
/** Prompt caching configuration. */
|
|
502
|
+
export interface PromptCacheConfigSchema {
|
|
503
|
+
/** Enable prompt caching (default: true). */
|
|
504
|
+
enabled?: boolean;
|
|
505
|
+
/** Min tokens for content to be cache-worthy (default: 1024). */
|
|
506
|
+
minTokens?: number;
|
|
507
|
+
}
|
|
508
|
+
/** Usage tracking configuration. */
|
|
509
|
+
export interface UsageConfigSchema {
|
|
510
|
+
/** Enable usage tracking (default: true). */
|
|
511
|
+
enabled?: boolean;
|
|
512
|
+
/** Show usage footer on responses: 'off' | 'tokens' | 'full' | 'cost' (default: 'off'). */
|
|
513
|
+
footer?: 'off' | 'tokens' | 'full' | 'cost';
|
|
514
|
+
/** Max entries to keep in memory (default: 10000). */
|
|
515
|
+
maxEntries?: number;
|
|
516
|
+
/** Persist to disk (default: true). */
|
|
517
|
+
persist?: boolean;
|
|
518
|
+
}
|
|
519
|
+
export declare const DEFAULT_CONFIG: TakoConfig;
|
|
520
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Config schema — typed configuration for Tako.
|
|
3
|
+
*/
|
|
4
|
+
// ─── Defaults ───────────────────────────────────────────────────────
|
|
5
|
+
export const DEFAULT_CONFIG = {
|
|
6
|
+
providers: {
|
|
7
|
+
primary: 'anthropic/claude-sonnet-4-6',
|
|
8
|
+
},
|
|
9
|
+
channels: {},
|
|
10
|
+
tools: {
|
|
11
|
+
profile: 'full',
|
|
12
|
+
deny: [],
|
|
13
|
+
browser: {
|
|
14
|
+
enabled: true,
|
|
15
|
+
headless: true,
|
|
16
|
+
idleTimeoutMs: 300_000,
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
memory: {
|
|
20
|
+
workspace: '~/.tako/workspace',
|
|
21
|
+
},
|
|
22
|
+
gateway: {
|
|
23
|
+
bind: '127.0.0.1',
|
|
24
|
+
port: 18790,
|
|
25
|
+
},
|
|
26
|
+
agent: {
|
|
27
|
+
timeout: 600,
|
|
28
|
+
thinking: 'adaptive',
|
|
29
|
+
streaming: {
|
|
30
|
+
enabled: false,
|
|
31
|
+
minChunkSize: 200,
|
|
32
|
+
flushIntervalMs: 1000,
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
sandbox: {
|
|
36
|
+
mode: 'off',
|
|
37
|
+
scope: 'session',
|
|
38
|
+
workspaceAccess: 'ro',
|
|
39
|
+
},
|
|
40
|
+
agents: {
|
|
41
|
+
defaults: {
|
|
42
|
+
workspace: '~/.tako/workspace',
|
|
43
|
+
},
|
|
44
|
+
list: [],
|
|
45
|
+
},
|
|
46
|
+
skills: {
|
|
47
|
+
dirs: ['./skills', '~/.tako/skills'],
|
|
48
|
+
},
|
|
49
|
+
heartbeat: {
|
|
50
|
+
every: '30m',
|
|
51
|
+
target: 'none',
|
|
52
|
+
prompt: 'You are running a periodic heartbeat check. Read HEARTBEAT.md from the workspace. If there are pending tasks, proactive checks, or status updates to deliver, do so. If everything is quiet, respond with HEARTBEAT_OK.',
|
|
53
|
+
ackMaxChars: 300,
|
|
54
|
+
},
|
|
55
|
+
session: {
|
|
56
|
+
compaction: {
|
|
57
|
+
auto: true,
|
|
58
|
+
thresholdPercent: 80,
|
|
59
|
+
},
|
|
60
|
+
pruneAfterDays: 7,
|
|
61
|
+
maxEntries: 100,
|
|
62
|
+
},
|
|
63
|
+
retryQueue: {
|
|
64
|
+
enabled: true,
|
|
65
|
+
delaySeconds: 30,
|
|
66
|
+
maxRetries: 1,
|
|
67
|
+
failureEmoji: '😨',
|
|
68
|
+
},
|
|
69
|
+
cache: {
|
|
70
|
+
enabled: true,
|
|
71
|
+
autoCleanIntervalMs: 60_000,
|
|
72
|
+
file: {
|
|
73
|
+
enabled: true,
|
|
74
|
+
maxSizeBytes: 50 * 1024 * 1024, // 50 MB
|
|
75
|
+
maxFileSizeBytes: 1 * 1024 * 1024, // 1 MB
|
|
76
|
+
},
|
|
77
|
+
tool: {
|
|
78
|
+
enabled: true,
|
|
79
|
+
defaultTtlSeconds: 60,
|
|
80
|
+
blocklist: ['npm test', 'npm run build', 'bun test', 'make', 'cargo test', 'pytest'],
|
|
81
|
+
},
|
|
82
|
+
symbols: {
|
|
83
|
+
enabled: true,
|
|
84
|
+
persistPath: '~/.tako/cache/symbol-index.json',
|
|
85
|
+
maxFiles: 5000,
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
audit: {
|
|
89
|
+
enabled: true,
|
|
90
|
+
maxFileSizeMb: 10,
|
|
91
|
+
retention: '30d',
|
|
92
|
+
},
|
|
93
|
+
queue: {
|
|
94
|
+
mode: 'collect',
|
|
95
|
+
debounceMs: 2000,
|
|
96
|
+
cap: 25,
|
|
97
|
+
dropStrategy: 'oldest',
|
|
98
|
+
maxWaitMs: 10_000,
|
|
99
|
+
},
|
|
100
|
+
security: {
|
|
101
|
+
rateLimits: {
|
|
102
|
+
enabled: true,
|
|
103
|
+
perUser: { maxRequests: 30, windowMs: 60_000 },
|
|
104
|
+
perChannel: { maxRequests: 60, windowMs: 60_000 },
|
|
105
|
+
global: { maxRequests: 200, windowMs: 60_000 },
|
|
106
|
+
},
|
|
107
|
+
sanitizer: {
|
|
108
|
+
enabled: true,
|
|
109
|
+
mode: 'warn',
|
|
110
|
+
},
|
|
111
|
+
toolValidation: {
|
|
112
|
+
level: 'warn',
|
|
113
|
+
},
|
|
114
|
+
secretScanning: {
|
|
115
|
+
enabled: true,
|
|
116
|
+
action: 'redact',
|
|
117
|
+
},
|
|
118
|
+
network: {
|
|
119
|
+
mode: 'blocklist',
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
};
|
|
123
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
|