@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,18 @@
|
|
|
1
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Spinner — octopus-themed loading animation.
|
|
4
|
+
*/
|
|
5
|
+
import { useState, useEffect } from 'react';
|
|
6
|
+
import { Text } from 'ink';
|
|
7
|
+
import { theme } from '../theme.js';
|
|
8
|
+
export const OctoSpinner = ({ label = 'thinking' }) => {
|
|
9
|
+
const [frame, setFrame] = useState(0);
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
const timer = setInterval(() => {
|
|
12
|
+
setFrame((prev) => (prev + 1) % theme.spinnerFrames.length);
|
|
13
|
+
}, 120);
|
|
14
|
+
return () => clearInterval(timer);
|
|
15
|
+
}, []);
|
|
16
|
+
return (_jsxs(Text, { color: theme.thinking, children: [theme.spinnerFrames[frame], " ", label] }));
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=Spinner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Spinner.js","sourceRoot":"","sources":["../../../src/tui/components/Spinner.tsx"],"names":[],"mappings":";AAAA;;GAEG;AAEH,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAMpC,MAAM,CAAC,MAAM,WAAW,GAA+B,CAAC,EAAE,KAAK,GAAG,UAAU,EAAE,EAAE,EAAE;IAChF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9D,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,aACxB,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,OAAG,KAAK,IAC9B,CACR,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* StatusBar — minimal bottom status indicator.
|
|
3
|
+
* Only shows token usage when available, otherwise hidden.
|
|
4
|
+
*/
|
|
5
|
+
import React from 'react';
|
|
6
|
+
export interface StatusBarProps {
|
|
7
|
+
channel: string;
|
|
8
|
+
toolProfile: string;
|
|
9
|
+
memoryStatus: string;
|
|
10
|
+
tokenUsage?: {
|
|
11
|
+
input: number;
|
|
12
|
+
output: number;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export declare const StatusBar: React.FC<StatusBarProps>;
|
|
16
|
+
//# sourceMappingURL=StatusBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../../src/tui/components/StatusBar.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAChD;AAOD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAY9C,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from 'ink';
|
|
3
|
+
import { theme } from '../theme.js';
|
|
4
|
+
const formatTokens = (n) => {
|
|
5
|
+
if (n >= 1000)
|
|
6
|
+
return `${(n / 1000).toFixed(1)}k`;
|
|
7
|
+
return `${n}`;
|
|
8
|
+
};
|
|
9
|
+
export const StatusBar = ({ tokenUsage }) => {
|
|
10
|
+
if (!tokenUsage || (tokenUsage.input === 0 && tokenUsage.output === 0)) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
return (_jsx(Box, { paddingX: 1, children: _jsxs(Text, { color: theme.textMuted, dimColor: true, children: [formatTokens(tokenUsage.input), "\u2191 ", formatTokens(tokenUsage.output), "\u2193"] }) }));
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=StatusBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusBar.js","sourceRoot":"","sources":["../../../src/tui/components/StatusBar.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AASpC,MAAM,YAAY,GAAG,CAAC,CAAS,EAAU,EAAE;IACzC,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAClD,OAAO,GAAG,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAA6B,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;IACpE,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,YACd,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,mBACnC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,aAAI,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,cAC7D,GACH,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ToolCallBox — boxed display for tool invocations and results.
|
|
3
|
+
*/
|
|
4
|
+
import React from 'react';
|
|
5
|
+
export interface ToolCallBoxProps {
|
|
6
|
+
toolName: string;
|
|
7
|
+
params?: Record<string, unknown>;
|
|
8
|
+
result?: string;
|
|
9
|
+
status?: 'running' | 'success' | 'error';
|
|
10
|
+
}
|
|
11
|
+
export declare const ToolCallBox: React.FC<ToolCallBoxProps>;
|
|
12
|
+
//# sourceMappingURL=ToolCallBox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolCallBox.d.ts","sourceRoot":"","sources":["../../../src/tui/components/ToolCallBox.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;CAC1C;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA4ClD,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from 'ink';
|
|
3
|
+
import { theme } from '../theme.js';
|
|
4
|
+
export const ToolCallBox = ({ toolName, params, result, status = 'success', }) => {
|
|
5
|
+
const statusIcon = status === 'running' ? theme.icons.toolRun : status === 'success' ? theme.icons.toolOk : theme.icons.toolErr;
|
|
6
|
+
const statusColor = status === 'running' ? theme.thinking : status === 'success' ? theme.success : theme.error;
|
|
7
|
+
const borderColor = status === 'error' ? theme.error : theme.ocean;
|
|
8
|
+
return (_jsxs(Box, { flexDirection: "column", paddingX: 1, marginX: 2, marginY: 0, children: [_jsxs(Box, { children: [_jsxs(Text, { color: statusColor, children: [statusIcon, " "] }), _jsxs(Text, { color: theme.toolCall, bold: true, children: [theme.icons.tool, " ", toolName] })] }), params && Object.keys(params).length > 0 && (_jsx(Box, { paddingLeft: 2, children: _jsx(Text, { color: theme.textMuted, dimColor: true, children: Object.entries(params)
|
|
9
|
+
.map(([k, v]) => `${k}: ${typeof v === 'string' ? v : JSON.stringify(v)}`)
|
|
10
|
+
.join(', ') }) })), result && (_jsx(Box, { paddingLeft: 2, marginTop: 0, children: _jsx(Text, { color: theme.toolResult, children: result.length > 200 ? result.slice(0, 200) + '…' : result }) }))] }));
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=ToolCallBox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolCallBox.js","sourceRoot":"","sources":["../../../src/tui/components/ToolCallBox.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AASpC,MAAM,CAAC,MAAM,WAAW,GAA+B,CAAC,EACtD,QAAQ,EACR,MAAM,EACN,MAAM,EACN,MAAM,GAAG,SAAS,GACnB,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;IAChI,MAAM,WAAW,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IAC/G,MAAM,WAAW,GAAG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IAEnE,OAAO,CACL,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,CAAC,EACV,OAAO,EAAE,CAAC,aAGV,MAAC,GAAG,eACF,MAAC,IAAI,IAAC,KAAK,EAAE,WAAW,aAAG,UAAU,SAAS,EAC9C,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,mBAAE,KAAK,CAAC,KAAK,CAAC,IAAI,OAAG,QAAQ,IAAQ,IAClE,EAGL,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAC3C,KAAC,GAAG,IAAC,WAAW,EAAE,CAAC,YACjB,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,kBACnC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;yBACpB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;yBACzE,IAAI,CAAC,IAAI,CAAC,GACR,GACH,CACP,EAGA,MAAM,IAAI,CACT,KAAC,GAAG,IAAC,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,YAC/B,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,UAAU,YAC1B,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,GACrD,GACH,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tako 🐙 Ocean Theme
|
|
3
|
+
*
|
|
4
|
+
* Color palette inspired by the deep ocean — where octopi thrive.
|
|
5
|
+
*/
|
|
6
|
+
export declare const theme: {
|
|
7
|
+
readonly deepBlue: "#0d1b2a";
|
|
8
|
+
readonly navy: "#1b2838";
|
|
9
|
+
readonly ocean: "#1e3a5f";
|
|
10
|
+
readonly teal: "#0f969c";
|
|
11
|
+
readonly cyan: "#00d4aa";
|
|
12
|
+
readonly aqua: "#72efdd";
|
|
13
|
+
readonly coral: "#ff6b6b";
|
|
14
|
+
readonly orange: "#ffa07a";
|
|
15
|
+
readonly purple: "#a855f7";
|
|
16
|
+
readonly lavender: "#c084fc";
|
|
17
|
+
readonly gold: "#fbbf24";
|
|
18
|
+
readonly textPrimary: "#e0f2fe";
|
|
19
|
+
readonly textSecondary: "#94a3b8";
|
|
20
|
+
readonly textMuted: "#64748b";
|
|
21
|
+
readonly textBright: "#f0f9ff";
|
|
22
|
+
readonly userMsg: "#38bdf8";
|
|
23
|
+
readonly agentMsg: "#00d4aa";
|
|
24
|
+
readonly toolCall: "#ffa07a";
|
|
25
|
+
readonly toolResult: "#94a3b8";
|
|
26
|
+
readonly thinking: "#a855f7";
|
|
27
|
+
readonly error: "#ff6b6b";
|
|
28
|
+
readonly success: "#00d4aa";
|
|
29
|
+
readonly warning: "#fbbf24";
|
|
30
|
+
readonly gradient: readonly ["#0f969c", "#00d4aa", "#72efdd", "#38bdf8", "#a855f7"];
|
|
31
|
+
readonly border: {
|
|
32
|
+
readonly topLeft: "◼";
|
|
33
|
+
readonly topRight: "◼";
|
|
34
|
+
readonly bottomLeft: "◼";
|
|
35
|
+
readonly bottomRight: "◼";
|
|
36
|
+
readonly horizontal: "░";
|
|
37
|
+
readonly vertical: "▌";
|
|
38
|
+
readonly teeRight: "▐";
|
|
39
|
+
readonly teeLeft: "▌";
|
|
40
|
+
};
|
|
41
|
+
readonly icons: {
|
|
42
|
+
readonly agent: "◉‿◉";
|
|
43
|
+
readonly user: "◕‿◕";
|
|
44
|
+
readonly tool: "[:::]";
|
|
45
|
+
readonly toolRun: "[⊛]";
|
|
46
|
+
readonly toolOk: "[✓]";
|
|
47
|
+
readonly toolErr: "[✗]";
|
|
48
|
+
readonly thinking: "◉_◉";
|
|
49
|
+
readonly system: "[!]";
|
|
50
|
+
readonly channel: "(~)";
|
|
51
|
+
readonly memory: "{m}";
|
|
52
|
+
readonly wrench: "{t}";
|
|
53
|
+
};
|
|
54
|
+
readonly promptFrames: readonly ["◉‿◉ >", "◉◡◉ >", "◉‿◉ >", "◉◡◉ >"];
|
|
55
|
+
readonly spinnerFrames: readonly ["◉_◉ ~", "◉‿◉ ~", "◉_◉ ~", "◉‿◉ ~", "◉_◉ ~", "◉◡◉~", "◉_◉ ~", "◉‿◉ ~"];
|
|
56
|
+
};
|
|
57
|
+
export type Theme = typeof theme;
|
|
58
|
+
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/tui/theme.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiFR,CAAC;AAEX,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tako 🐙 Ocean Theme
|
|
3
|
+
*
|
|
4
|
+
* Color palette inspired by the deep ocean — where octopi thrive.
|
|
5
|
+
*/
|
|
6
|
+
export const theme = {
|
|
7
|
+
// ── Primary colors ──────────────────────────────────────────
|
|
8
|
+
deepBlue: '#0d1b2a', // Background / darkest
|
|
9
|
+
navy: '#1b2838', // Panel backgrounds
|
|
10
|
+
ocean: '#1e3a5f', // Borders, separators
|
|
11
|
+
teal: '#0f969c', // Primary accent
|
|
12
|
+
cyan: '#00d4aa', // Success, active states
|
|
13
|
+
aqua: '#72efdd', // Highlights
|
|
14
|
+
// ── Accent colors ──────────────────────────────────────────
|
|
15
|
+
coral: '#ff6b6b', // Errors, warnings
|
|
16
|
+
orange: '#ffa07a', // Caution, tool calls
|
|
17
|
+
purple: '#a855f7', // Emphasis, thinking
|
|
18
|
+
lavender: '#c084fc', // Secondary emphasis
|
|
19
|
+
gold: '#fbbf24', // Important, stars
|
|
20
|
+
// ── Text colors ─────────────────────────────────────────────
|
|
21
|
+
textPrimary: '#e0f2fe', // Main text (light blue-white)
|
|
22
|
+
textSecondary: '#94a3b8', // Dimmed text
|
|
23
|
+
textMuted: '#64748b', // Very dimmed
|
|
24
|
+
textBright: '#f0f9ff', // Bright white-blue
|
|
25
|
+
// ── Semantic ────────────────────────────────────────────────
|
|
26
|
+
userMsg: '#38bdf8', // User message color (sky blue)
|
|
27
|
+
agentMsg: '#00d4aa', // Agent message color (cyan-green)
|
|
28
|
+
toolCall: '#ffa07a', // Tool call color (orange)
|
|
29
|
+
toolResult: '#94a3b8', // Tool result color (muted)
|
|
30
|
+
thinking: '#a855f7', // Thinking indicator (purple)
|
|
31
|
+
error: '#ff6b6b', // Error color (coral)
|
|
32
|
+
success: '#00d4aa', // Success color (cyan)
|
|
33
|
+
warning: '#fbbf24', // Warning color (gold)
|
|
34
|
+
// ── Gradient stops for header ───────────────────────────────
|
|
35
|
+
gradient: ['#0f969c', '#00d4aa', '#72efdd', '#38bdf8', '#a855f7'],
|
|
36
|
+
// ── Pixel block separators ──────────────────────────────────
|
|
37
|
+
border: {
|
|
38
|
+
topLeft: '◼',
|
|
39
|
+
topRight: '◼',
|
|
40
|
+
bottomLeft: '◼',
|
|
41
|
+
bottomRight: '◼',
|
|
42
|
+
horizontal: '░',
|
|
43
|
+
vertical: '▌',
|
|
44
|
+
teeRight: '▐',
|
|
45
|
+
teeLeft: '▌',
|
|
46
|
+
},
|
|
47
|
+
// ── Cute pixel art icons ─────────────────────────────────
|
|
48
|
+
icons: {
|
|
49
|
+
agent: '◉‿◉', // Cute tako face — agent messages
|
|
50
|
+
user: '◕‿◕', // Small human face — user messages
|
|
51
|
+
tool: '[:::]', // Gear/cog — tool calls
|
|
52
|
+
toolRun: '[⊛]', // Running tool
|
|
53
|
+
toolOk: '[✓]', // Done tool
|
|
54
|
+
toolErr: '[✗]', // Error tool
|
|
55
|
+
thinking: '◉_◉', // Tako thinking face
|
|
56
|
+
system: '[!]', // System messages
|
|
57
|
+
channel: '(~)', // Channel/radio
|
|
58
|
+
memory: '{m}', // Memory
|
|
59
|
+
wrench: '{t}', // Tool profile
|
|
60
|
+
},
|
|
61
|
+
// ── Animated tako prompt frames (blinking/wiggling) ────────
|
|
62
|
+
promptFrames: [
|
|
63
|
+
'◉‿◉ >', // Idle smile
|
|
64
|
+
'◉◡◉ >', // Blink
|
|
65
|
+
'◉‿◉ >', // Idle smile
|
|
66
|
+
'◉◡◉ >', // Blink
|
|
67
|
+
],
|
|
68
|
+
// ── Thinking spinner frames (faster wiggle) ────────────────
|
|
69
|
+
spinnerFrames: [
|
|
70
|
+
'◉_◉ ~',
|
|
71
|
+
'◉‿◉ ~',
|
|
72
|
+
'◉_◉ ~',
|
|
73
|
+
'◉‿◉ ~',
|
|
74
|
+
'◉_◉ ~',
|
|
75
|
+
'◉◡◉~',
|
|
76
|
+
'◉_◉ ~',
|
|
77
|
+
'◉‿◉ ~',
|
|
78
|
+
],
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/tui/theme.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,+DAA+D;IAC/D,QAAQ,EAAE,SAAS,EAAO,uBAAuB;IACjD,IAAI,EAAE,SAAS,EAAY,oBAAoB;IAC/C,KAAK,EAAE,SAAS,EAAW,sBAAsB;IACjD,IAAI,EAAE,SAAS,EAAY,iBAAiB;IAC5C,IAAI,EAAE,SAAS,EAAY,yBAAyB;IACpD,IAAI,EAAE,SAAS,EAAY,aAAa;IAExC,8DAA8D;IAC9D,KAAK,EAAE,SAAS,EAAW,mBAAmB;IAC9C,MAAM,EAAE,SAAS,EAAU,sBAAsB;IACjD,MAAM,EAAE,SAAS,EAAU,qBAAqB;IAChD,QAAQ,EAAE,SAAS,EAAQ,qBAAqB;IAChD,IAAI,EAAE,SAAS,EAAY,mBAAmB;IAE9C,+DAA+D;IAC/D,WAAW,EAAE,SAAS,EAAK,+BAA+B;IAC1D,aAAa,EAAE,SAAS,EAAG,cAAc;IACzC,SAAS,EAAE,SAAS,EAAO,cAAc;IACzC,UAAU,EAAE,SAAS,EAAM,oBAAoB;IAE/C,+DAA+D;IAC/D,OAAO,EAAE,SAAS,EAAS,gCAAgC;IAC3D,QAAQ,EAAE,SAAS,EAAQ,mCAAmC;IAC9D,QAAQ,EAAE,SAAS,EAAQ,2BAA2B;IACtD,UAAU,EAAE,SAAS,EAAM,4BAA4B;IACvD,QAAQ,EAAE,SAAS,EAAQ,8BAA8B;IACzD,KAAK,EAAE,SAAS,EAAW,sBAAsB;IACjD,OAAO,EAAE,SAAS,EAAS,uBAAuB;IAClD,OAAO,EAAE,SAAS,EAAS,uBAAuB;IAElD,+DAA+D;IAC/D,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IAEjE,+DAA+D;IAC/D,MAAM,EAAE;QACN,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,GAAG;QACb,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,GAAG;QAChB,UAAU,EAAE,GAAG;QACf,QAAQ,EAAE,GAAG;QACb,QAAQ,EAAE,GAAG;QACb,OAAO,EAAE,GAAG;KACb;IAED,4DAA4D;IAC5D,KAAK,EAAE;QACL,KAAK,EAAE,KAAK,EAAY,kCAAkC;QAC1D,IAAI,EAAE,KAAK,EAAa,mCAAmC;QAC3D,IAAI,EAAE,OAAO,EAAW,wBAAwB;QAChD,OAAO,EAAE,KAAK,EAAU,eAAe;QACvC,MAAM,EAAE,KAAK,EAAW,YAAY;QACpC,OAAO,EAAE,KAAK,EAAU,aAAa;QACrC,QAAQ,EAAE,KAAK,EAAS,qBAAqB;QAC7C,MAAM,EAAE,KAAK,EAAW,kBAAkB;QAC1C,OAAO,EAAE,KAAK,EAAU,gBAAgB;QACxC,MAAM,EAAE,KAAK,EAAW,SAAS;QACjC,MAAM,EAAE,KAAK,EAAW,eAAe;KACxC;IAED,8DAA8D;IAC9D,YAAY,EAAE;QACZ,OAAO,EAAgB,aAAa;QACpC,OAAO,EAAgB,QAAQ;QAC/B,OAAO,EAAgB,aAAa;QACpC,OAAO,EAAgB,QAAQ;KAChC;IAED,8DAA8D;IAC9D,aAAa,EAAE;QACb,OAAO;QACP,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,OAAO;QACP,MAAM;QACN,OAAO;QACP,QAAQ;KACT;CACO,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File logger — wraps console.log/error/warn and appends to a daily log file.
|
|
3
|
+
*
|
|
4
|
+
* Log files are written to: ~/.tako/logs/tako-YYYY-MM-DD.log
|
|
5
|
+
* Each line is prefixed with an ISO timestamp and level.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Install the file logger — patches console.log/error/warn to also
|
|
9
|
+
* write to the daily log file. Call once at startup.
|
|
10
|
+
*/
|
|
11
|
+
export declare function installFileLogger(): void;
|
|
12
|
+
/** Return the absolute directory where logs are stored. */
|
|
13
|
+
export declare function getLogDir(): string;
|
|
14
|
+
/** Return the log file path for a specific date. */
|
|
15
|
+
export declare function getLogPath(date?: Date): string;
|
|
16
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA8CH;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAexC;AAED,2DAA2D;AAC3D,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,oDAAoD;AACpD,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,CAE9C"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File logger — wraps console.log/error/warn and appends to a daily log file.
|
|
3
|
+
*
|
|
4
|
+
* Log files are written to: ~/.tako/logs/tako-YYYY-MM-DD.log
|
|
5
|
+
* Each line is prefixed with an ISO timestamp and level.
|
|
6
|
+
*/
|
|
7
|
+
import { appendFile, mkdir } from 'node:fs/promises';
|
|
8
|
+
import { join } from 'node:path';
|
|
9
|
+
import { homedir } from 'node:os';
|
|
10
|
+
const LOG_DIR = join(homedir(), '.tako', 'logs');
|
|
11
|
+
/** Format a Date as YYYY-MM-DD. */
|
|
12
|
+
function dateStamp(d = new Date()) {
|
|
13
|
+
return d.toISOString().slice(0, 10);
|
|
14
|
+
}
|
|
15
|
+
/** Get the log file path for a given date. */
|
|
16
|
+
function logPath(date) {
|
|
17
|
+
return join(LOG_DIR, `tako-${dateStamp(date)}.log`);
|
|
18
|
+
}
|
|
19
|
+
let dirReady = false;
|
|
20
|
+
async function ensureDir() {
|
|
21
|
+
if (dirReady)
|
|
22
|
+
return;
|
|
23
|
+
await mkdir(LOG_DIR, { recursive: true });
|
|
24
|
+
dirReady = true;
|
|
25
|
+
}
|
|
26
|
+
/** Append a single line to the daily log file. */
|
|
27
|
+
async function writeLine(level, args) {
|
|
28
|
+
try {
|
|
29
|
+
await ensureDir();
|
|
30
|
+
const ts = new Date().toISOString();
|
|
31
|
+
const text = args
|
|
32
|
+
.map((a) => (typeof a === 'string' ? a : JSON.stringify(a)))
|
|
33
|
+
.join(' ');
|
|
34
|
+
await appendFile(logPath(), `${ts} [${level}] ${text}\n`, 'utf-8');
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
// Silently swallow file errors — never break the app due to logging
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// ─── Original console methods (saved before patching) ──────────────
|
|
41
|
+
const origLog = console.log.bind(console);
|
|
42
|
+
const origError = console.error.bind(console);
|
|
43
|
+
const origWarn = console.warn.bind(console);
|
|
44
|
+
/**
|
|
45
|
+
* Install the file logger — patches console.log/error/warn to also
|
|
46
|
+
* write to the daily log file. Call once at startup.
|
|
47
|
+
*/
|
|
48
|
+
export function installFileLogger() {
|
|
49
|
+
console.log = (...args) => {
|
|
50
|
+
origLog(...args);
|
|
51
|
+
writeLine('INFO', args);
|
|
52
|
+
};
|
|
53
|
+
console.error = (...args) => {
|
|
54
|
+
origError(...args);
|
|
55
|
+
writeLine('ERROR', args);
|
|
56
|
+
};
|
|
57
|
+
console.warn = (...args) => {
|
|
58
|
+
origWarn(...args);
|
|
59
|
+
writeLine('WARN', args);
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/** Return the absolute directory where logs are stored. */
|
|
63
|
+
export function getLogDir() {
|
|
64
|
+
return LOG_DIR;
|
|
65
|
+
}
|
|
66
|
+
/** Return the log file path for a specific date. */
|
|
67
|
+
export function getLogPath(date) {
|
|
68
|
+
return logPath(date);
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAEjD,mCAAmC;AACnC,SAAS,SAAS,CAAC,IAAU,IAAI,IAAI,EAAE;IACrC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,8CAA8C;AAC9C,SAAS,OAAO,CAAC,IAAW;IAC1B,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,IAAI,QAAQ,GAAG,KAAK,CAAC;AAErB,KAAK,UAAU,SAAS;IACtB,IAAI,QAAQ;QAAE,OAAO;IACrB,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,QAAQ,GAAG,IAAI,CAAC;AAClB,CAAC;AAED,kDAAkD;AAClD,KAAK,UAAU,SAAS,CAAC,KAAa,EAAE,IAAe;IACrD,IAAI,CAAC;QACH,MAAM,SAAS,EAAE,CAAC;QAClB,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI;aACd,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,MAAM,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,oEAAoE;IACtE,CAAC;AACH,CAAC;AAED,sEAAsE;AAEtE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAE5C;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE;QACnC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QACjB,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE;QACrC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;QACnB,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE;QACpC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;QAClB,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC;AACJ,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,UAAU,CAAC,IAAW;IACpC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Development Guide
|
|
2
|
+
|
|
3
|
+
## Prerequisites
|
|
4
|
+
|
|
5
|
+
- Node.js >= 20
|
|
6
|
+
- npm
|
|
7
|
+
- Bun (recommended for local dev speed)
|
|
8
|
+
|
|
9
|
+
## Setup
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
git clone https://github.com/shuyhere/tako.git
|
|
13
|
+
cd tako
|
|
14
|
+
npm install
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Development commands
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm run build # compile TypeScript
|
|
21
|
+
npm run dev # TypeScript watch build
|
|
22
|
+
npm run typecheck # static type check
|
|
23
|
+
npm test # run tests (bun)
|
|
24
|
+
npm run test:node # run tests on node test runner
|
|
25
|
+
npm run check # build + typecheck + tests
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Running locally
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
npm run start
|
|
32
|
+
# or
|
|
33
|
+
bun run src/index.ts start
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Daemon mode:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
bun run src/index.ts start -d
|
|
40
|
+
bun run src/index.ts status
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Packaging sanity check
|
|
44
|
+
|
|
45
|
+
Before release:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
npm run build
|
|
49
|
+
npm pack --dry-run
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Confirm tarball contains expected files:
|
|
53
|
+
|
|
54
|
+
- `dist/`
|
|
55
|
+
- `skills/`
|
|
56
|
+
- `docs/`
|
|
57
|
+
- `README.md`
|
|
58
|
+
- `LICENSE`
|
|
59
|
+
- `tako.example.json`
|
|
60
|
+
|
|
61
|
+
## Recommended release checklist
|
|
62
|
+
|
|
63
|
+
1. update version
|
|
64
|
+
2. run `npm run check`
|
|
65
|
+
3. run `npm pack --dry-run`
|
|
66
|
+
4. test install tarball in clean dir
|
|
67
|
+
5. publish
|
|
68
|
+
|
|
69
|
+
## Architecture references
|
|
70
|
+
|
|
71
|
+
- `ARCHITECTURE.md`
|
|
72
|
+
- `src/index.ts` (runtime composition)
|
|
73
|
+
- `src/gateway/` (daemon/gateway/session control)
|
|
74
|
+
- `src/channels/`, `src/providers/`, `src/tools/`, `src/skills/`
|
package/docs/INSTALL.md
ADDED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# Install Guide
|
|
2
|
+
|
|
3
|
+
This guide covers production and local installation for Tako.
|
|
4
|
+
|
|
5
|
+
## Requirements
|
|
6
|
+
|
|
7
|
+
- Node.js >= 20
|
|
8
|
+
- npm >= 9
|
|
9
|
+
- (Optional) Bun >= 1.0
|
|
10
|
+
- Git
|
|
11
|
+
|
|
12
|
+
## 0) Environment setup (for users)
|
|
13
|
+
|
|
14
|
+
### Ubuntu / Debian
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
sudo apt update
|
|
18
|
+
sudo apt install -y curl git build-essential
|
|
19
|
+
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
|
|
20
|
+
sudo apt install -y nodejs
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Optional Bun:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
curl -fsSL https://bun.sh/install | bash
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### macOS
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
brew install node git
|
|
33
|
+
# optional
|
|
34
|
+
brew install oven-sh/bun/bun
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Check versions:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
node -v
|
|
41
|
+
npm -v
|
|
42
|
+
git --version
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## 1) Install package
|
|
46
|
+
|
|
47
|
+
### npm
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
npm install -g @shuyhere/takotako
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Bun
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
bun add -g @shuyhere/takotako
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### GitHub source fallback
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
npm install -g github:shuyhere/tako
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Verify:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
tako --help
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## 2) First-time setup
|
|
72
|
+
|
|
73
|
+
Run onboarding wizard:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
tako onboard
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
What it configures:
|
|
80
|
+
|
|
81
|
+
- provider auth (Anthropic/OpenAI/LiteLLM)
|
|
82
|
+
- primary model
|
|
83
|
+
- optional channels (Discord/Telegram)
|
|
84
|
+
- writes config to `~/.tako/tako.json`
|
|
85
|
+
|
|
86
|
+
### Optional environment variables
|
|
87
|
+
|
|
88
|
+
You can configure through `tako onboard`, or set env vars directly:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
export ANTHROPIC_API_KEY="..."
|
|
92
|
+
export OPENAI_API_KEY="..."
|
|
93
|
+
export DISCORD_TOKEN="..."
|
|
94
|
+
export TELEGRAM_TOKEN="..."
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Persist these in your shell profile (`~/.bashrc`, `~/.zshrc`) if needed.
|
|
98
|
+
|
|
99
|
+
## 3) Start runtime
|
|
100
|
+
|
|
101
|
+
Foreground:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
tako start
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Daemon:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
tako start -d
|
|
111
|
+
tako status
|
|
112
|
+
tako tui
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## 4) Optional channel setup
|
|
116
|
+
|
|
117
|
+
### Discord
|
|
118
|
+
|
|
119
|
+
- Create bot in Discord Developer Portal
|
|
120
|
+
- Enable required intents (message content, guilds, DMs)
|
|
121
|
+
- Put bot token into `~/.tako/tako.json` under `channels.discord.token`
|
|
122
|
+
- Restart Tako
|
|
123
|
+
|
|
124
|
+
### Telegram
|
|
125
|
+
|
|
126
|
+
- Create bot via BotFather
|
|
127
|
+
- Put token into `~/.tako/tako.json` under `channels.telegram.token`
|
|
128
|
+
- Restart Tako
|
|
129
|
+
|
|
130
|
+
## 5) Health check
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
tako doctor
|
|
134
|
+
tako status
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Upgrade
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
npm install -g @shuyhere/takotako
|
|
141
|
+
# or pre-publish fallback:
|
|
142
|
+
# npm install -g github:shuyhere/tako
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Then restart:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
tako restart
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Uninstall
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
npm uninstall -g @shuyhere/takotako
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
Optional cleanup (local state/config):
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
rm -rf ~/.tako
|
|
161
|
+
```
|
package/docs/USAGE.md
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# Usage Guide
|
|
2
|
+
|
|
3
|
+
## Core lifecycle commands
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
tako start # run in foreground
|
|
7
|
+
tako start -d # run as daemon
|
|
8
|
+
tako status # runtime status
|
|
9
|
+
tako tui # attach TUI to daemon
|
|
10
|
+
tako stop # stop daemon
|
|
11
|
+
tako restart # restart daemon
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Setup and diagnostics
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
tako onboard # setup wizard
|
|
18
|
+
tako doctor # system diagnostics
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Model management
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
tako models list
|
|
25
|
+
tako models auth login --provider anthropic
|
|
26
|
+
tako models auth login --provider openai
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## In-chat slash commands
|
|
30
|
+
|
|
31
|
+
Built-ins usually include:
|
|
32
|
+
|
|
33
|
+
- `/help`
|
|
34
|
+
- `/status`
|
|
35
|
+
- `/new`
|
|
36
|
+
- `/compact`
|
|
37
|
+
- `/model`
|
|
38
|
+
- `/agents`
|
|
39
|
+
- `/whoami`
|
|
40
|
+
- `/queue`
|
|
41
|
+
- `/usage`
|
|
42
|
+
|
|
43
|
+
Additional slash commands can come from installed skills.
|
|
44
|
+
|
|
45
|
+
## Tool profiles
|
|
46
|
+
|
|
47
|
+
Configure in `~/.tako/tako.json`:
|
|
48
|
+
|
|
49
|
+
- `minimal` — essential local tools
|
|
50
|
+
- `coding` — adds search/git/memory workflows
|
|
51
|
+
- `full` — all enabled tool groups
|
|
52
|
+
|
|
53
|
+
## Sessions and memory
|
|
54
|
+
|
|
55
|
+
- sessions are persisted under `~/.tako/agents/<agent>/sessions`
|
|
56
|
+
- memory workspace defaults to `~/.tako/workspace`
|
|
57
|
+
- auto-compaction can be configured in `session.compaction`
|
|
58
|
+
|
|
59
|
+
## Common workflows
|
|
60
|
+
|
|
61
|
+
### Quick local assistant
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
tako start
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Use in CLI and stop with `Ctrl+C`.
|
|
68
|
+
|
|
69
|
+
### Always-on daemon + channels
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
tako start -d
|
|
73
|
+
tako status
|
|
74
|
+
tako tui
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Configure Discord/Telegram in `tako.json`, then restart.
|
|
78
|
+
|
|
79
|
+
### Skill development iteration
|
|
80
|
+
|
|
81
|
+
- add/update `skills/<name>/SKILL.md`
|
|
82
|
+
- optional tool files in `skills/<name>/tools/`
|
|
83
|
+
- save files; skills can be reloaded without full rebuild in most flows
|
|
84
|
+
|
|
85
|
+
## Troubleshooting
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
tako doctor
|
|
89
|
+
tako status
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Check logs in:
|
|
93
|
+
|
|
94
|
+
- `~/.tako/logs/`
|