whale-code 6.5.5 → 6.5.6
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/README.md +39 -31
- package/bin/{swagmanager-mcp.js → whale-code.js} +17 -2
- package/dist/cli/app.js +148 -72
- package/dist/cli/app.js.map +1 -0
- package/dist/cli/chat/AgentSelector.js +105 -10
- package/dist/cli/chat/AgentSelector.js.map +1 -0
- package/dist/cli/chat/ChatApp.d.ts +31 -0
- package/dist/cli/chat/ChatApp.js +539 -286
- package/dist/cli/chat/ChatApp.js.map +1 -0
- package/dist/cli/chat/ChatInput.js +1088 -770
- package/dist/cli/chat/ChatInput.js.map +1 -0
- package/dist/cli/chat/MarkdownText.js +39 -14
- package/dist/cli/chat/MarkdownText.js.map +1 -0
- package/dist/cli/chat/MemoryManager.js +181 -46
- package/dist/cli/chat/MemoryManager.js.map +1 -0
- package/dist/cli/chat/MessageList.d.ts +2 -3
- package/dist/cli/chat/MessageList.js +186 -45
- package/dist/cli/chat/MessageList.js.map +1 -0
- package/dist/cli/chat/ModelSelector.js +282 -63
- package/dist/cli/chat/ModelSelector.js.map +1 -0
- package/dist/cli/chat/NodeManager.js +165 -75
- package/dist/cli/chat/NodeManager.js.map +1 -0
- package/dist/cli/chat/NodeSelector.js +171 -30
- package/dist/cli/chat/NodeSelector.js.map +1 -0
- package/dist/cli/chat/PlanApproval.js +281 -57
- package/dist/cli/chat/PlanApproval.js.map +1 -0
- package/dist/cli/chat/RewindViewer.js +559 -144
- package/dist/cli/chat/RewindViewer.js.map +1 -0
- package/dist/cli/chat/SessionManager.js +137 -30
- package/dist/cli/chat/SessionManager.js.map +1 -0
- package/dist/cli/chat/SlashMenu.js +293 -164
- package/dist/cli/chat/SlashMenu.js.map +1 -0
- package/dist/cli/chat/StatusBar.js +172 -9
- package/dist/cli/chat/StatusBar.js.map +1 -0
- package/dist/cli/chat/StoreSelector.js +147 -18
- package/dist/cli/chat/StoreSelector.js.map +1 -0
- package/dist/cli/chat/StreamingText.d.ts +1 -5
- package/dist/cli/chat/StreamingText.js +22 -7
- package/dist/cli/chat/StreamingText.js.map +1 -0
- package/dist/cli/chat/SubagentPanel.d.ts +1 -2
- package/dist/cli/chat/SubagentPanel.js +612 -72
- package/dist/cli/chat/SubagentPanel.js.map +1 -0
- package/dist/cli/chat/TeamPanel.d.ts +1 -0
- package/dist/cli/chat/TeamPanel.js +230 -30
- package/dist/cli/chat/TeamPanel.js.map +1 -0
- package/dist/cli/chat/ThemeSelector.js +84 -24
- package/dist/cli/chat/ThemeSelector.js.map +1 -0
- package/dist/cli/chat/ToolIndicator.js +1476 -371
- package/dist/cli/chat/ToolIndicator.js.map +1 -0
- package/dist/cli/chat/hooks/useAgentLoop.d.ts +1 -0
- package/dist/cli/chat/hooks/useAgentLoop.js +481 -367
- package/dist/cli/chat/hooks/useAgentLoop.js.map +1 -0
- package/dist/cli/chat/hooks/useSlashCommands.d.ts +3 -14
- package/dist/cli/chat/hooks/useSlashCommands.js +744 -572
- package/dist/cli/chat/hooks/useSlashCommands.js.map +1 -0
- package/dist/cli/commands/config-cmd.js +56 -57
- package/dist/cli/commands/config-cmd.js.map +1 -0
- package/dist/cli/commands/db.js +184 -169
- package/dist/cli/commands/db.js.map +1 -0
- package/dist/cli/commands/doctor.js +212 -122
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/init.js +211 -244
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/mcp.js +127 -122
- package/dist/cli/commands/mcp.js.map +1 -0
- package/dist/cli/login/LoginApp.js +355 -141
- package/dist/cli/login/LoginApp.js.map +1 -0
- package/dist/cli/print-mode.js +196 -177
- package/dist/cli/print-mode.js.map +1 -0
- package/dist/cli/serve-mode.js +615 -530
- package/dist/cli/serve-mode.js.map +1 -0
- package/dist/cli/services/agent-config.d.ts +5 -1
- package/dist/cli/services/agent-config.js +66 -36
- package/dist/cli/services/agent-config.js.map +1 -0
- package/dist/cli/services/agent-definitions.d.ts +4 -1
- package/dist/cli/services/agent-definitions.js +97 -56
- package/dist/cli/services/agent-definitions.js.map +1 -0
- package/dist/cli/services/agent-events.js +225 -162
- package/dist/cli/services/agent-events.js.map +1 -0
- package/dist/cli/services/agent-loop.js +976 -688
- package/dist/cli/services/agent-loop.js.map +1 -0
- package/dist/cli/services/agent-worker-base.d.ts +35 -5
- package/dist/cli/services/agent-worker-base.js +337 -153
- package/dist/cli/services/agent-worker-base.js.map +1 -0
- package/dist/cli/services/api-retry.js +69 -64
- package/dist/cli/services/api-retry.js.map +1 -0
- package/dist/cli/services/auth-service.d.ts +3 -3
- package/dist/cli/services/auth-service.js +209 -132
- package/dist/cli/services/auth-service.js.map +1 -0
- package/dist/cli/services/background-processes.js +343 -267
- package/dist/cli/services/background-processes.js.map +1 -0
- package/dist/cli/services/browser-auth.d.ts +2 -2
- package/dist/cli/services/browser-auth.js +159 -118
- package/dist/cli/services/browser-auth.js.map +1 -0
- package/dist/cli/services/claude-md-loader.js +40 -36
- package/dist/cli/services/claude-md-loader.js.map +1 -0
- package/dist/cli/services/config-store.d.ts +9 -4
- package/dist/cli/services/config-store.js +164 -117
- package/dist/cli/services/config-store.js.map +1 -0
- package/dist/cli/services/debug-log.d.ts +1 -1
- package/dist/cli/services/debug-log.js +34 -35
- package/dist/cli/services/debug-log.js.map +1 -0
- package/dist/cli/services/env-detect.d.ts +7 -0
- package/dist/cli/services/env-detect.js +9 -0
- package/dist/cli/services/env-detect.js.map +1 -0
- package/dist/cli/services/error-logger.js +187 -169
- package/dist/cli/services/error-logger.js.map +1 -0
- package/dist/cli/services/file-history.d.ts +1 -1
- package/dist/cli/services/file-history.js +50 -54
- package/dist/cli/services/file-history.js.map +1 -0
- package/dist/cli/services/format-server-response.js +332 -372
- package/dist/cli/services/format-server-response.js.map +1 -0
- package/dist/cli/services/git-context.js +61 -45
- package/dist/cli/services/git-context.js.map +1 -0
- package/dist/cli/services/hooks.d.ts +2 -2
- package/dist/cli/services/hooks.js +195 -180
- package/dist/cli/services/hooks.js.map +1 -0
- package/dist/cli/services/ink-incremental.d.ts +19 -0
- package/dist/cli/services/ink-incremental.js +59 -0
- package/dist/cli/services/ink-incremental.js.map +1 -0
- package/dist/cli/services/ink-resize-fix.js +54 -44
- package/dist/cli/services/ink-resize-fix.js.map +1 -0
- package/dist/cli/services/ink-sync-output.d.ts +12 -0
- package/dist/cli/services/ink-sync-output.js +16 -0
- package/dist/cli/services/ink-sync-output.js.map +1 -0
- package/dist/cli/services/interactive-tools.js +268 -212
- package/dist/cli/services/interactive-tools.js.map +1 -0
- package/dist/cli/services/keybinding-manager.d.ts +11 -1
- package/dist/cli/services/keybinding-manager.js +126 -63
- package/dist/cli/services/keybinding-manager.js.map +1 -0
- package/dist/cli/services/local-tools.d.ts +1 -1
- package/dist/cli/services/local-tools.js +939 -656
- package/dist/cli/services/local-tools.js.map +1 -0
- package/dist/cli/services/lsp-manager.js +757 -594
- package/dist/cli/services/lsp-manager.js.map +1 -0
- package/dist/cli/services/mcp-client.d.ts +1 -1
- package/dist/cli/services/mcp-client.js +173 -134
- package/dist/cli/services/mcp-client.js.map +1 -0
- package/dist/cli/services/memory-manager.js +53 -40
- package/dist/cli/services/memory-manager.js.map +1 -0
- package/dist/cli/services/model-manager.js +55 -40
- package/dist/cli/services/model-manager.js.map +1 -0
- package/dist/cli/services/model-router.js +115 -85
- package/dist/cli/services/model-router.js.map +1 -0
- package/dist/cli/services/paths.d.ts +30 -0
- package/dist/cli/services/paths.js +81 -0
- package/dist/cli/services/paths.js.map +1 -0
- package/dist/cli/services/permission-modes.js +32 -25
- package/dist/cli/services/permission-modes.js.map +1 -0
- package/dist/cli/services/rewind.js +182 -168
- package/dist/cli/services/rewind.js.map +1 -0
- package/dist/cli/services/ripgrep.js +115 -115
- package/dist/cli/services/ripgrep.js.map +1 -0
- package/dist/cli/services/sandbox.d.ts +1 -1
- package/dist/cli/services/sandbox.js +58 -37
- package/dist/cli/services/sandbox.js.map +1 -0
- package/dist/cli/services/server-tools.js +738 -565
- package/dist/cli/services/server-tools.js.map +1 -0
- package/dist/cli/services/session-persistence.js +69 -74
- package/dist/cli/services/session-persistence.js.map +1 -0
- package/dist/cli/services/subagent-worker.js +42 -27
- package/dist/cli/services/subagent-worker.js.map +1 -0
- package/dist/cli/services/subagent.d.ts +2 -0
- package/dist/cli/services/subagent.js +605 -433
- package/dist/cli/services/subagent.js.map +1 -0
- package/dist/cli/services/system-prompt.js +86 -78
- package/dist/cli/services/system-prompt.js.map +1 -0
- package/dist/cli/services/task-decomposer.d.ts +1 -1
- package/dist/cli/services/task-decomposer.js +172 -139
- package/dist/cli/services/task-decomposer.js.map +1 -0
- package/dist/cli/services/team-lead.d.ts +2 -2
- package/dist/cli/services/team-lead.js +727 -529
- package/dist/cli/services/team-lead.js.map +1 -0
- package/dist/cli/services/team-state.js +319 -319
- package/dist/cli/services/team-state.js.map +1 -0
- package/dist/cli/services/teammate.d.ts +8 -2
- package/dist/cli/services/teammate.js +857 -569
- package/dist/cli/services/teammate.js.map +1 -0
- package/dist/cli/services/telemetry.d.ts +6 -1
- package/dist/cli/services/telemetry.js +180 -157
- package/dist/cli/services/telemetry.js.map +1 -0
- package/dist/cli/services/tools/agent-tools.d.ts +3 -3
- package/dist/cli/services/tools/agent-tools.js +480 -322
- package/dist/cli/services/tools/agent-tools.js.map +1 -0
- package/dist/cli/services/tools/file-ops.js +563 -450
- package/dist/cli/services/tools/file-ops.js.map +1 -0
- package/dist/cli/services/tools/search-tools.js +231 -162
- package/dist/cli/services/tools/search-tools.js.map +1 -0
- package/dist/cli/services/tools/shell-exec.js +197 -151
- package/dist/cli/services/tools/shell-exec.js.map +1 -0
- package/dist/cli/services/tools/task-manager.js +206 -173
- package/dist/cli/services/tools/task-manager.js.map +1 -0
- package/dist/cli/services/tools/web-tools.js +388 -341
- package/dist/cli/services/tools/web-tools.js.map +1 -0
- package/dist/cli/setup/SetupApp.d.ts +2 -2
- package/dist/cli/setup/SetupApp.js +608 -160
- package/dist/cli/setup/SetupApp.js.map +1 -0
- package/dist/cli/shared/ErrorBoundary.d.ts +22 -0
- package/dist/cli/shared/ErrorBoundary.js +73 -0
- package/dist/cli/shared/ErrorBoundary.js.map +1 -0
- package/dist/cli/shared/MatrixIntro.js +66 -69
- package/dist/cli/shared/MatrixIntro.js.map +1 -0
- package/dist/cli/shared/SpinnerSlot.d.ts +14 -0
- package/dist/cli/shared/SpinnerSlot.js +63 -0
- package/dist/cli/shared/SpinnerSlot.js.map +1 -0
- package/dist/cli/shared/Theme.d.ts +1 -1
- package/dist/cli/shared/Theme.js +136 -92
- package/dist/cli/shared/Theme.js.map +1 -0
- package/dist/cli/shared/WhaleBanner.js +99 -11
- package/dist/cli/shared/WhaleBanner.js.map +1 -0
- package/dist/cli/shared/markdown.d.ts +3 -1
- package/dist/cli/shared/markdown.js +736 -674
- package/dist/cli/shared/markdown.js.map +1 -0
- package/dist/cli/shared/marked-terminal.d.js +2 -0
- package/dist/cli/shared/marked-terminal.d.js.map +1 -0
- package/dist/cli/shared/theme-manager.js +99 -90
- package/dist/cli/shared/theme-manager.js.map +1 -0
- package/dist/cli/shared/theme-presets.js +256 -254
- package/dist/cli/shared/theme-presets.js.map +1 -0
- package/dist/cli/status/StatusApp.js +235 -86
- package/dist/cli/status/StatusApp.js.map +1 -0
- package/dist/cli/stores/StoreApp.js +275 -65
- package/dist/cli/stores/StoreApp.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +509 -396
- package/dist/index.js.map +1 -0
- package/dist/local-agent/connection.d.ts +2 -2
- package/dist/local-agent/connection.js +352 -293
- package/dist/local-agent/connection.js.map +1 -0
- package/dist/local-agent/discovery.js +259 -122
- package/dist/local-agent/discovery.js.map +1 -0
- package/dist/local-agent/executor.js +216 -193
- package/dist/local-agent/executor.js.map +1 -0
- package/dist/local-agent/index.d.ts +2 -2
- package/dist/local-agent/index.js +156 -156
- package/dist/local-agent/index.js.map +1 -0
- package/dist/node/adapters/base.js +18 -8
- package/dist/node/adapters/base.js.map +1 -0
- package/dist/node/adapters/discord.js +286 -275
- package/dist/node/adapters/discord.js.map +1 -0
- package/dist/node/adapters/email.js +189 -202
- package/dist/node/adapters/email.js.map +1 -0
- package/dist/node/adapters/imessage.js +145 -142
- package/dist/node/adapters/imessage.js.map +1 -0
- package/dist/node/adapters/slack.js +237 -236
- package/dist/node/adapters/slack.js.map +1 -0
- package/dist/node/adapters/sms.js +149 -151
- package/dist/node/adapters/sms.js.map +1 -0
- package/dist/node/adapters/telegram.js +88 -92
- package/dist/node/adapters/telegram.js.map +1 -0
- package/dist/node/adapters/webchat.js +160 -136
- package/dist/node/adapters/webchat.js.map +1 -0
- package/dist/node/adapters/whatsapp.js +212 -215
- package/dist/node/adapters/whatsapp.js.map +1 -0
- package/dist/node/cli.js +884 -653
- package/dist/node/cli.js.map +1 -0
- package/dist/node/config.js +20 -18
- package/dist/node/config.js.map +1 -0
- package/dist/node/gateway-client.js +191 -181
- package/dist/node/gateway-client.js.map +1 -0
- package/dist/node/portal/clipboard.js +161 -130
- package/dist/node/portal/clipboard.js.map +1 -0
- package/dist/node/portal/discovery.js +51 -45
- package/dist/node/portal/discovery.js.map +1 -0
- package/dist/node/portal/forward.js +64 -58
- package/dist/node/portal/forward.js.map +1 -0
- package/dist/node/portal/index.js +246 -221
- package/dist/node/portal/index.js.map +1 -0
- package/dist/node/portal/multiplexer.js +192 -182
- package/dist/node/portal/multiplexer.js.map +1 -0
- package/dist/node/portal/permissions.js +102 -70
- package/dist/node/portal/permissions.js.map +1 -0
- package/dist/node/portal/protocol.js +153 -116
- package/dist/node/portal/protocol.js.map +1 -0
- package/dist/node/portal/screen.js +80 -69
- package/dist/node/portal/screen.js.map +1 -0
- package/dist/node/portal/session.js +124 -117
- package/dist/node/portal/session.js.map +1 -0
- package/dist/node/portal/shell.js +140 -113
- package/dist/node/portal/shell.js.map +1 -0
- package/dist/node/portal/stream.js +77 -75
- package/dist/node/portal/stream.js.map +1 -0
- package/dist/node/portal/transfer.js +190 -167
- package/dist/node/portal/transfer.js.map +1 -0
- package/dist/node/portal/ui.js +124 -99
- package/dist/node/portal/ui.js.map +1 -0
- package/dist/node/remote-desktop/compile-helper.js +50 -45
- package/dist/node/remote-desktop/compile-helper.js.map +1 -0
- package/dist/node/remote-desktop/index.js +215 -187
- package/dist/node/remote-desktop/index.js.map +1 -0
- package/dist/node/remote-desktop/protocol.js +45 -29
- package/dist/node/remote-desktop/protocol.js.map +1 -0
- package/dist/node/runtime.js +493 -410
- package/dist/node/runtime.js.map +1 -0
- package/dist/server/handlers/__test-utils__/test-db.js +39 -89
- package/dist/server/handlers/__test-utils__/test-db.js.map +1 -0
- package/dist/server/handlers/analytics.js +467 -261
- package/dist/server/handlers/analytics.js.map +1 -0
- package/dist/server/handlers/api-docs.js +1030 -895
- package/dist/server/handlers/api-docs.js.map +1 -0
- package/dist/server/handlers/api-keys.js +291 -242
- package/dist/server/handlers/api-keys.js.map +1 -0
- package/dist/server/handlers/billing.js +330 -239
- package/dist/server/handlers/billing.js.map +1 -0
- package/dist/server/handlers/browser.js +468 -395
- package/dist/server/handlers/browser.js.map +1 -0
- package/dist/server/handlers/catalog.js +1377 -978
- package/dist/server/handlers/catalog.js.map +1 -0
- package/dist/server/handlers/clickhouse.js +157 -109
- package/dist/server/handlers/clickhouse.js.map +1 -0
- package/dist/server/handlers/comms.js +1439 -984
- package/dist/server/handlers/comms.js.map +1 -0
- package/dist/server/handlers/creations.js +461 -394
- package/dist/server/handlers/creations.js.map +1 -0
- package/dist/server/handlers/crm.js +1082 -791
- package/dist/server/handlers/crm.js.map +1 -0
- package/dist/server/handlers/discovery.js +251 -232
- package/dist/server/handlers/discovery.js.map +1 -0
- package/dist/server/handlers/embeddings.js +241 -164
- package/dist/server/handlers/embeddings.js.map +1 -0
- package/dist/server/handlers/enrichment.js +887 -718
- package/dist/server/handlers/enrichment.js.map +1 -0
- package/dist/server/handlers/image-gen.js +467 -376
- package/dist/server/handlers/image-gen.js.map +1 -0
- package/dist/server/handlers/inventory.js +797 -424
- package/dist/server/handlers/inventory.js.map +1 -0
- package/dist/server/handlers/kali.js +272 -230
- package/dist/server/handlers/kali.js.map +1 -0
- package/dist/server/handlers/llm-providers.js +803 -580
- package/dist/server/handlers/llm-providers.js.map +1 -0
- package/dist/server/handlers/local-agent.js +133 -105
- package/dist/server/handlers/local-agent.js.map +1 -0
- package/dist/server/handlers/media.js +1179 -857
- package/dist/server/handlers/media.js.map +1 -0
- package/dist/server/handlers/meta-ads.js +2669 -2093
- package/dist/server/handlers/meta-ads.js.map +1 -0
- package/dist/server/handlers/nodes.js +1321 -913
- package/dist/server/handlers/nodes.js.map +1 -0
- package/dist/server/handlers/operations.js +183 -157
- package/dist/server/handlers/operations.js.map +1 -0
- package/dist/server/handlers/platform.js +346 -210
- package/dist/server/handlers/platform.js.map +1 -0
- package/dist/server/handlers/remove-bg.js +118 -86
- package/dist/server/handlers/remove-bg.js.map +1 -0
- package/dist/server/handlers/storefront.js +586 -446
- package/dist/server/handlers/storefront.js.map +1 -0
- package/dist/server/handlers/supply-chain.js +546 -326
- package/dist/server/handlers/supply-chain.js.map +1 -0
- package/dist/server/handlers/transcription.js +106 -97
- package/dist/server/handlers/transcription.js.map +1 -0
- package/dist/server/handlers/video-gen.js +593 -424
- package/dist/server/handlers/video-gen.js.map +1 -0
- package/dist/server/handlers/voice.js +1458 -1039
- package/dist/server/handlers/voice.js.map +1 -0
- package/dist/server/handlers/workflow-steps.js +2837 -2116
- package/dist/server/handlers/workflow-steps.js.map +1 -0
- package/dist/server/handlers/workflows.js +1630 -933
- package/dist/server/handlers/workflows.js.map +1 -0
- package/dist/server/index.js +3167 -2422
- package/dist/server/index.js.map +1 -0
- package/dist/server/lib/batch-client.js +471 -409
- package/dist/server/lib/batch-client.js.map +1 -0
- package/dist/server/lib/clickhouse-buffer.js +118 -104
- package/dist/server/lib/clickhouse-buffer.js.map +1 -0
- package/dist/server/lib/clickhouse-client.js +107 -107
- package/dist/server/lib/clickhouse-client.js.map +1 -0
- package/dist/server/lib/coa-renderer.js +1786 -356
- package/dist/server/lib/coa-renderer.js.map +1 -0
- package/dist/server/lib/code-worker-pool.js +227 -177
- package/dist/server/lib/code-worker-pool.js.map +1 -0
- package/dist/server/lib/code-worker.js +174 -164
- package/dist/server/lib/code-worker.js.map +1 -0
- package/dist/server/lib/compaction-service.d.ts +2 -12
- package/dist/server/lib/compaction-service.js +74 -184
- package/dist/server/lib/compaction-service.js.map +1 -0
- package/dist/server/lib/logger.js +36 -24
- package/dist/server/lib/logger.js.map +1 -0
- package/dist/server/lib/otel.js +101 -80
- package/dist/server/lib/otel.js.map +1 -0
- package/dist/server/lib/pdf-renderer.js +952 -788
- package/dist/server/lib/pdf-renderer.js.map +1 -0
- package/dist/server/lib/prompt-sanitizer.js +188 -108
- package/dist/server/lib/prompt-sanitizer.js.map +1 -0
- package/dist/server/lib/provider-capabilities.js +136 -138
- package/dist/server/lib/provider-capabilities.js.map +1 -0
- package/dist/server/lib/provider-failover.js +190 -168
- package/dist/server/lib/provider-failover.js.map +1 -0
- package/dist/server/lib/rate-limiter.js +186 -117
- package/dist/server/lib/rate-limiter.js.map +1 -0
- package/dist/server/lib/react-pdf-layout.js +551 -382
- package/dist/server/lib/react-pdf-layout.js.map +1 -0
- package/dist/server/lib/server-agent-loop.d.ts +4 -1
- package/dist/server/lib/server-agent-loop.js +906 -634
- package/dist/server/lib/server-agent-loop.js.map +1 -0
- package/dist/server/lib/server-subagent.js +260 -164
- package/dist/server/lib/server-subagent.js.map +1 -0
- package/dist/server/lib/session-checkpoint.js +105 -96
- package/dist/server/lib/session-checkpoint.js.map +1 -0
- package/dist/server/lib/ssrf-guard.js +193 -184
- package/dist/server/lib/ssrf-guard.js.map +1 -0
- package/dist/server/lib/supabase-client.js +94 -82
- package/dist/server/lib/supabase-client.js.map +1 -0
- package/dist/server/lib/template-resolver.js +154 -176
- package/dist/server/lib/template-resolver.js.map +1 -0
- package/dist/server/lib/utils.js +242 -133
- package/dist/server/lib/utils.js.map +1 -0
- package/dist/server/local-agent-gateway.d.ts +2 -2
- package/dist/server/local-agent-gateway.js +785 -627
- package/dist/server/local-agent-gateway.js.map +1 -0
- package/dist/server/providers/anthropic.js +250 -172
- package/dist/server/providers/anthropic.js.map +1 -0
- package/dist/server/providers/bedrock.js +217 -158
- package/dist/server/providers/bedrock.js.map +1 -0
- package/dist/server/providers/gemini.js +548 -418
- package/dist/server/providers/gemini.js.map +1 -0
- package/dist/server/providers/openai.js +571 -437
- package/dist/server/providers/openai.js.map +1 -0
- package/dist/server/providers/registry.js +23 -18
- package/dist/server/providers/registry.js.map +1 -0
- package/dist/server/providers/shared.js +123 -95
- package/dist/server/providers/shared.js.map +1 -0
- package/dist/server/providers/types.js +1 -11
- package/dist/server/providers/types.js.map +1 -0
- package/dist/server/proxy-handlers.js +209 -165
- package/dist/server/proxy-handlers.js.map +1 -0
- package/dist/server/tool-router.js +959 -599
- package/dist/server/tool-router.js.map +1 -0
- package/dist/server/validation.js +248 -188
- package/dist/server/validation.js.map +1 -0
- package/dist/server/worker.js +202 -133
- package/dist/server/worker.js.map +1 -0
- package/dist/setup.d.ts +2 -2
- package/dist/setup.js +151 -147
- package/dist/setup.js.map +1 -0
- package/dist/shared/agent-core.d.ts +115 -26
- package/dist/shared/agent-core.js +956 -522
- package/dist/shared/agent-core.js.map +1 -0
- package/dist/shared/anthropic-types.js +1 -6
- package/dist/shared/anthropic-types.js.map +1 -0
- package/dist/shared/api-client.d.ts +16 -9
- package/dist/shared/api-client.js +419 -327
- package/dist/shared/api-client.js.map +1 -0
- package/dist/shared/compaction.d.ts +36 -0
- package/dist/shared/compaction.js +138 -0
- package/dist/shared/compaction.js.map +1 -0
- package/dist/shared/constants.js +67 -64
- package/dist/shared/constants.js.map +1 -0
- package/dist/shared/sse-parser.js +221 -219
- package/dist/shared/sse-parser.js.map +1 -0
- package/dist/shared/tool-dispatch.d.ts +4 -0
- package/dist/shared/tool-dispatch.js +226 -165
- package/dist/shared/tool-dispatch.js.map +1 -0
- package/dist/shared/types.js +1 -6
- package/dist/shared/types.js.map +1 -0
- package/dist/types/cli-highlight.d.js +2 -0
- package/dist/types/cli-highlight.d.js.map +1 -0
- package/dist/types/diff.d.js +2 -0
- package/dist/types/diff.d.js.map +1 -0
- package/dist/types/pdf-parse.d.js +2 -0
- package/dist/types/pdf-parse.d.js.map +1 -0
- package/dist/updater.d.ts +1 -1
- package/dist/updater.js +118 -92
- package/dist/updater.js.map +1 -0
- package/dist/webchat/widget.js +227 -380
- package/dist/webchat/widget.js.map +1 -0
- package/package.json +22 -10
- package/vendor/ink/build/ansi-tokenizer.d.ts +38 -0
- package/vendor/ink/build/ansi-tokenizer.js +316 -0
- package/vendor/ink/build/ansi-tokenizer.js.map +1 -0
- package/vendor/ink/build/apply-styles.js +175 -0
- package/vendor/ink/build/build-layout.js +77 -0
- package/vendor/ink/build/calculate-wrapped-text.js +53 -0
- package/vendor/ink/build/colorize.d.ts +3 -0
- package/vendor/ink/build/colorize.js +48 -0
- package/vendor/ink/build/colorize.js.map +1 -0
- package/vendor/ink/build/components/AccessibilityContext.d.ts +3 -0
- package/vendor/ink/build/components/AccessibilityContext.js +5 -0
- package/vendor/ink/build/components/AccessibilityContext.js.map +1 -0
- package/vendor/ink/build/components/App.d.ts +18 -0
- package/vendor/ink/build/components/App.js +351 -0
- package/vendor/ink/build/components/App.js.map +1 -0
- package/vendor/ink/build/components/AppContext.d.ts +15 -0
- package/vendor/ink/build/components/AppContext.js +11 -0
- package/vendor/ink/build/components/AppContext.js.map +1 -0
- package/vendor/ink/build/components/BackgroundContext.d.ts +4 -0
- package/vendor/ink/build/components/BackgroundContext.js +3 -0
- package/vendor/ink/build/components/BackgroundContext.js.map +1 -0
- package/vendor/ink/build/components/Box.d.ts +117 -0
- package/vendor/ink/build/components/Box.js +34 -0
- package/vendor/ink/build/components/Box.js.map +1 -0
- package/vendor/ink/build/components/Color.js +62 -0
- package/vendor/ink/build/components/Cursor.d.ts +83 -0
- package/vendor/ink/build/components/Cursor.js +53 -0
- package/vendor/ink/build/components/Cursor.js.map +1 -0
- package/vendor/ink/build/components/CursorContext.d.ts +11 -0
- package/vendor/ink/build/components/CursorContext.js +8 -0
- package/vendor/ink/build/components/CursorContext.js.map +1 -0
- package/vendor/ink/build/components/ErrorBoundary.d.ts +18 -0
- package/vendor/ink/build/components/ErrorBoundary.js +23 -0
- package/vendor/ink/build/components/ErrorBoundary.js.map +1 -0
- package/vendor/ink/build/components/ErrorOverview.d.ts +6 -0
- package/vendor/ink/build/components/ErrorOverview.js +84 -0
- package/vendor/ink/build/components/ErrorOverview.js.map +1 -0
- package/vendor/ink/build/components/FocusContext.d.ts +16 -0
- package/vendor/ink/build/components/FocusContext.js +17 -0
- package/vendor/ink/build/components/FocusContext.js.map +1 -0
- package/vendor/ink/build/components/Newline.d.ts +13 -0
- package/vendor/ink/build/components/Newline.js +8 -0
- package/vendor/ink/build/components/Newline.js.map +1 -0
- package/vendor/ink/build/components/Spacer.d.ts +7 -0
- package/vendor/ink/build/components/Spacer.js +11 -0
- package/vendor/ink/build/components/Spacer.js.map +1 -0
- package/vendor/ink/build/components/Static.d.ts +24 -0
- package/vendor/ink/build/components/Static.js +28 -0
- package/vendor/ink/build/components/Static.js.map +1 -0
- package/vendor/ink/build/components/StderrContext.d.ts +15 -0
- package/vendor/ink/build/components/StderrContext.js +13 -0
- package/vendor/ink/build/components/StderrContext.js.map +1 -0
- package/vendor/ink/build/components/StdinContext.d.ts +22 -0
- package/vendor/ink/build/components/StdinContext.js +19 -0
- package/vendor/ink/build/components/StdinContext.js.map +1 -0
- package/vendor/ink/build/components/StdoutContext.d.ts +15 -0
- package/vendor/ink/build/components/StdoutContext.js +13 -0
- package/vendor/ink/build/components/StdoutContext.js.map +1 -0
- package/vendor/ink/build/components/Text.d.ts +55 -0
- package/vendor/ink/build/components/Text.js +50 -0
- package/vendor/ink/build/components/Text.js.map +1 -0
- package/vendor/ink/build/components/Transform.d.ts +16 -0
- package/vendor/ink/build/components/Transform.js +15 -0
- package/vendor/ink/build/components/Transform.js.map +1 -0
- package/vendor/ink/build/cursor-helpers.d.ts +38 -0
- package/vendor/ink/build/cursor-helpers.js +56 -0
- package/vendor/ink/build/cursor-helpers.js.map +1 -0
- package/vendor/ink/build/devtools-window-polyfill.d.ts +1 -0
- package/vendor/ink/build/devtools-window-polyfill.js +65 -0
- package/vendor/ink/build/devtools-window-polyfill.js.map +1 -0
- package/vendor/ink/build/devtools.d.ts +1 -0
- package/vendor/ink/build/devtools.js +11 -0
- package/vendor/ink/build/devtools.js.map +1 -0
- package/vendor/ink/build/dom.d.ts +56 -0
- package/vendor/ink/build/dom.js +124 -0
- package/vendor/ink/build/dom.js.map +1 -0
- package/vendor/ink/build/experimental/apply-style.js +140 -0
- package/vendor/ink/build/experimental/dom.js +123 -0
- package/vendor/ink/build/experimental/output.js +91 -0
- package/vendor/ink/build/experimental/reconciler.js +141 -0
- package/vendor/ink/build/experimental/renderer.js +81 -0
- package/vendor/ink/build/get-max-width.d.ts +3 -0
- package/vendor/ink/build/get-max-width.js +10 -0
- package/vendor/ink/build/get-max-width.js.map +1 -0
- package/vendor/ink/build/hooks/use-app.d.ts +5 -0
- package/vendor/ink/build/hooks/use-app.js +8 -0
- package/vendor/ink/build/hooks/use-app.js.map +1 -0
- package/vendor/ink/build/hooks/use-cursor.d.ts +12 -0
- package/vendor/ink/build/hooks/use-cursor.js +29 -0
- package/vendor/ink/build/hooks/use-cursor.js.map +1 -0
- package/vendor/ink/build/hooks/use-focus-manager.d.ts +28 -0
- package/vendor/ink/build/hooks/use-focus-manager.js +17 -0
- package/vendor/ink/build/hooks/use-focus-manager.js.map +1 -0
- package/vendor/ink/build/hooks/use-focus.d.ts +29 -0
- package/vendor/ink/build/hooks/use-focus.js +42 -0
- package/vendor/ink/build/hooks/use-focus.js.map +1 -0
- package/vendor/ink/build/hooks/use-input.d.ts +131 -0
- package/vendor/ink/build/hooks/use-input.js +124 -0
- package/vendor/ink/build/hooks/use-input.js.map +1 -0
- package/vendor/ink/build/hooks/use-is-screen-reader-enabled.d.ts +5 -0
- package/vendor/ink/build/hooks/use-is-screen-reader-enabled.js +11 -0
- package/vendor/ink/build/hooks/use-is-screen-reader-enabled.js.map +1 -0
- package/vendor/ink/build/hooks/use-stderr.d.ts +5 -0
- package/vendor/ink/build/hooks/use-stderr.js +8 -0
- package/vendor/ink/build/hooks/use-stderr.js.map +1 -0
- package/vendor/ink/build/hooks/use-stdin.d.ts +5 -0
- package/vendor/ink/build/hooks/use-stdin.js +8 -0
- package/vendor/ink/build/hooks/use-stdin.js.map +1 -0
- package/vendor/ink/build/hooks/use-stdout.d.ts +5 -0
- package/vendor/ink/build/hooks/use-stdout.js +8 -0
- package/vendor/ink/build/hooks/use-stdout.js.map +1 -0
- package/vendor/ink/build/hooks/useInput.js +38 -0
- package/vendor/ink/build/index.d.ts +34 -0
- package/vendor/ink/build/index.js +20 -0
- package/vendor/ink/build/index.js.map +1 -0
- package/vendor/ink/build/ink.d.ts +90 -0
- package/vendor/ink/build/ink.js +654 -0
- package/vendor/ink/build/ink.js.map +1 -0
- package/vendor/ink/build/input-parser.d.ts +7 -0
- package/vendor/ink/build/input-parser.js +154 -0
- package/vendor/ink/build/input-parser.js.map +1 -0
- package/vendor/ink/build/instance.js +205 -0
- package/vendor/ink/build/instances.d.ts +3 -0
- package/vendor/ink/build/instances.js +8 -0
- package/vendor/ink/build/instances.js.map +1 -0
- package/vendor/ink/build/kitty-keyboard.d.ts +23 -0
- package/vendor/ink/build/kitty-keyboard.js +32 -0
- package/vendor/ink/build/kitty-keyboard.js.map +1 -0
- package/vendor/ink/build/layout.d.ts +7 -0
- package/vendor/ink/build/layout.js +33 -0
- package/vendor/ink/build/layout.js.map +1 -0
- package/vendor/ink/build/log-update.d.ts +19 -0
- package/vendor/ink/build/log-update.js +243 -0
- package/vendor/ink/build/log-update.js.map +1 -0
- package/vendor/ink/build/measure-element.d.ts +16 -0
- package/vendor/ink/build/measure-element.js +9 -0
- package/vendor/ink/build/measure-element.js.map +1 -0
- package/vendor/ink/build/measure-text.d.ts +6 -0
- package/vendor/ink/build/measure-text.js +21 -0
- package/vendor/ink/build/measure-text.js.map +1 -0
- package/vendor/ink/build/options.d.ts +52 -0
- package/vendor/ink/build/options.js +2 -0
- package/vendor/ink/build/options.js.map +1 -0
- package/vendor/ink/build/output.d.ts +35 -0
- package/vendor/ink/build/output.js +183 -0
- package/vendor/ink/build/output.js.map +1 -0
- package/vendor/ink/build/parse-keypress.d.ts +22 -0
- package/vendor/ink/build/parse-keypress.js +493 -0
- package/vendor/ink/build/parse-keypress.js.map +1 -0
- package/vendor/ink/build/reconciler.d.ts +4 -0
- package/vendor/ink/build/reconciler.js +274 -0
- package/vendor/ink/build/reconciler.js.map +1 -0
- package/vendor/ink/build/render-background.d.ts +4 -0
- package/vendor/ink/build/render-background.js +25 -0
- package/vendor/ink/build/render-background.js.map +1 -0
- package/vendor/ink/build/render-border.d.ts +4 -0
- package/vendor/ink/build/render-border.js +73 -0
- package/vendor/ink/build/render-border.js.map +1 -0
- package/vendor/ink/build/render-node-to-output.d.ts +14 -0
- package/vendor/ink/build/render-node-to-output.js +147 -0
- package/vendor/ink/build/render-node-to-output.js.map +1 -0
- package/vendor/ink/build/render-to-string.d.ts +38 -0
- package/vendor/ink/build/render-to-string.js +115 -0
- package/vendor/ink/build/render-to-string.js.map +1 -0
- package/vendor/ink/build/render.d.ts +121 -0
- package/vendor/ink/build/render.js +55 -0
- package/vendor/ink/build/render.js.map +1 -0
- package/vendor/ink/build/renderer.d.ts +8 -0
- package/vendor/ink/build/renderer.js +55 -0
- package/vendor/ink/build/renderer.js.map +1 -0
- package/vendor/ink/build/sanitize-ansi.d.ts +2 -0
- package/vendor/ink/build/sanitize-ansi.js +27 -0
- package/vendor/ink/build/sanitize-ansi.js.map +1 -0
- package/vendor/ink/build/screen-reader-update.d.ts +13 -0
- package/vendor/ink/build/screen-reader-update.js +38 -0
- package/vendor/ink/build/screen-reader-update.js.map +1 -0
- package/vendor/ink/build/squash-text-nodes.d.ts +3 -0
- package/vendor/ink/build/squash-text-nodes.js +36 -0
- package/vendor/ink/build/squash-text-nodes.js.map +1 -0
- package/vendor/ink/build/styles.d.ts +240 -0
- package/vendor/ink/build/styles.js +232 -0
- package/vendor/ink/build/styles.js.map +1 -0
- package/vendor/ink/build/utils.d.ts +2 -0
- package/vendor/ink/build/utils.js +4 -0
- package/vendor/ink/build/utils.js.map +1 -0
- package/vendor/ink/build/wrap-text.d.ts +3 -0
- package/vendor/ink/build/wrap-text.js +31 -0
- package/vendor/ink/build/wrap-text.js.map +1 -0
- package/vendor/ink/build/write-synchronized.d.ts +4 -0
- package/vendor/ink/build/write-synchronized.js +7 -0
- package/vendor/ink/build/write-synchronized.js.map +1 -0
- package/vendor/ink/license +10 -0
- package/vendor/ink/node_modules/@types/node/LICENSE +21 -0
- package/vendor/ink/node_modules/@types/node/README.md +15 -0
- package/vendor/ink/node_modules/@types/node/assert/strict.d.ts +105 -0
- package/vendor/ink/node_modules/@types/node/assert.d.ts +955 -0
- package/vendor/ink/node_modules/@types/node/async_hooks.d.ts +623 -0
- package/vendor/ink/node_modules/@types/node/buffer.buffer.d.ts +466 -0
- package/vendor/ink/node_modules/@types/node/buffer.d.ts +1810 -0
- package/vendor/ink/node_modules/@types/node/child_process.d.ts +1428 -0
- package/vendor/ink/node_modules/@types/node/cluster.d.ts +486 -0
- package/vendor/ink/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
- package/vendor/ink/node_modules/@types/node/console.d.ts +151 -0
- package/vendor/ink/node_modules/@types/node/constants.d.ts +20 -0
- package/vendor/ink/node_modules/@types/node/crypto.d.ts +4065 -0
- package/vendor/ink/node_modules/@types/node/dgram.d.ts +564 -0
- package/vendor/ink/node_modules/@types/node/diagnostics_channel.d.ts +576 -0
- package/vendor/ink/node_modules/@types/node/dns/promises.d.ts +503 -0
- package/vendor/ink/node_modules/@types/node/dns.d.ts +922 -0
- package/vendor/ink/node_modules/@types/node/domain.d.ts +166 -0
- package/vendor/ink/node_modules/@types/node/events.d.ts +1054 -0
- package/vendor/ink/node_modules/@types/node/fs/promises.d.ts +1329 -0
- package/vendor/ink/node_modules/@types/node/fs.d.ts +4676 -0
- package/vendor/ink/node_modules/@types/node/globals.d.ts +150 -0
- package/vendor/ink/node_modules/@types/node/globals.typedarray.d.ts +101 -0
- package/vendor/ink/node_modules/@types/node/http.d.ts +2167 -0
- package/vendor/ink/node_modules/@types/node/http2.d.ts +2480 -0
- package/vendor/ink/node_modules/@types/node/https.d.ts +405 -0
- package/vendor/ink/node_modules/@types/node/index.d.ts +115 -0
- package/vendor/ink/node_modules/@types/node/inspector/promises.d.ts +41 -0
- package/vendor/ink/node_modules/@types/node/inspector.d.ts +224 -0
- package/vendor/ink/node_modules/@types/node/inspector.generated.d.ts +4226 -0
- package/vendor/ink/node_modules/@types/node/module.d.ts +819 -0
- package/vendor/ink/node_modules/@types/node/net.d.ts +933 -0
- package/vendor/ink/node_modules/@types/node/os.d.ts +507 -0
- package/vendor/ink/node_modules/@types/node/package.json +155 -0
- package/vendor/ink/node_modules/@types/node/path/posix.d.ts +8 -0
- package/vendor/ink/node_modules/@types/node/path/win32.d.ts +8 -0
- package/vendor/ink/node_modules/@types/node/path.d.ts +187 -0
- package/vendor/ink/node_modules/@types/node/perf_hooks.d.ts +643 -0
- package/vendor/ink/node_modules/@types/node/process.d.ts +2156 -0
- package/vendor/ink/node_modules/@types/node/punycode.d.ts +117 -0
- package/vendor/ink/node_modules/@types/node/querystring.d.ts +152 -0
- package/vendor/ink/node_modules/@types/node/quic.d.ts +910 -0
- package/vendor/ink/node_modules/@types/node/readline/promises.d.ts +161 -0
- package/vendor/ink/node_modules/@types/node/readline.d.ts +541 -0
- package/vendor/ink/node_modules/@types/node/repl.d.ts +415 -0
- package/vendor/ink/node_modules/@types/node/sea.d.ts +162 -0
- package/vendor/ink/node_modules/@types/node/sqlite.d.ts +955 -0
- package/vendor/ink/node_modules/@types/node/stream/consumers.d.ts +38 -0
- package/vendor/ink/node_modules/@types/node/stream/promises.d.ts +211 -0
- package/vendor/ink/node_modules/@types/node/stream/web.d.ts +296 -0
- package/vendor/ink/node_modules/@types/node/stream.d.ts +1760 -0
- package/vendor/ink/node_modules/@types/node/string_decoder.d.ts +67 -0
- package/vendor/ink/node_modules/@types/node/test/reporters.d.ts +96 -0
- package/vendor/ink/node_modules/@types/node/test.d.ts +2240 -0
- package/vendor/ink/node_modules/@types/node/timers/promises.d.ts +108 -0
- package/vendor/ink/node_modules/@types/node/timers.d.ts +159 -0
- package/vendor/ink/node_modules/@types/node/tls.d.ts +1198 -0
- package/vendor/ink/node_modules/@types/node/trace_events.d.ts +197 -0
- package/vendor/ink/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +462 -0
- package/vendor/ink/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
- package/vendor/ink/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
- package/vendor/ink/node_modules/@types/node/ts5.6/index.d.ts +117 -0
- package/vendor/ink/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
- package/vendor/ink/node_modules/@types/node/ts5.7/index.d.ts +117 -0
- package/vendor/ink/node_modules/@types/node/tty.d.ts +250 -0
- package/vendor/ink/node_modules/@types/node/url.d.ts +519 -0
- package/vendor/ink/node_modules/@types/node/util/types.d.ts +558 -0
- package/vendor/ink/node_modules/@types/node/util.d.ts +1662 -0
- package/vendor/ink/node_modules/@types/node/v8.d.ts +983 -0
- package/vendor/ink/node_modules/@types/node/vm.d.ts +1208 -0
- package/vendor/ink/node_modules/@types/node/wasi.d.ts +202 -0
- package/vendor/ink/node_modules/@types/node/web-globals/abortcontroller.d.ts +59 -0
- package/vendor/ink/node_modules/@types/node/web-globals/blob.d.ts +23 -0
- package/vendor/ink/node_modules/@types/node/web-globals/console.d.ts +9 -0
- package/vendor/ink/node_modules/@types/node/web-globals/crypto.d.ts +39 -0
- package/vendor/ink/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
- package/vendor/ink/node_modules/@types/node/web-globals/encoding.d.ts +11 -0
- package/vendor/ink/node_modules/@types/node/web-globals/events.d.ts +106 -0
- package/vendor/ink/node_modules/@types/node/web-globals/fetch.d.ts +69 -0
- package/vendor/ink/node_modules/@types/node/web-globals/importmeta.d.ts +13 -0
- package/vendor/ink/node_modules/@types/node/web-globals/messaging.d.ts +23 -0
- package/vendor/ink/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
- package/vendor/ink/node_modules/@types/node/web-globals/performance.d.ts +45 -0
- package/vendor/ink/node_modules/@types/node/web-globals/storage.d.ts +24 -0
- package/vendor/ink/node_modules/@types/node/web-globals/streams.d.ts +115 -0
- package/vendor/ink/node_modules/@types/node/web-globals/timers.d.ts +44 -0
- package/vendor/ink/node_modules/@types/node/web-globals/url.d.ts +24 -0
- package/vendor/ink/node_modules/@types/node/worker_threads.d.ts +717 -0
- package/vendor/ink/node_modules/@types/node/zlib.d.ts +618 -0
- package/vendor/ink/node_modules/node-pty/LICENSE +69 -0
- package/vendor/ink/node_modules/node-pty/README.md +164 -0
- package/vendor/ink/node_modules/node-pty/binding.gyp +150 -0
- package/vendor/ink/node_modules/node-pty/lib/conpty_console_list_agent.js +25 -0
- package/vendor/ink/node_modules/node-pty/lib/eventEmitter2.js +47 -0
- package/vendor/ink/node_modules/node-pty/lib/index.js +52 -0
- package/vendor/ink/node_modules/node-pty/lib/interfaces.js +7 -0
- package/vendor/ink/node_modules/node-pty/lib/shared/conout.js +11 -0
- package/vendor/ink/node_modules/node-pty/lib/terminal.js +190 -0
- package/vendor/ink/node_modules/node-pty/lib/types.js +7 -0
- package/vendor/ink/node_modules/node-pty/lib/unixTerminal.js +349 -0
- package/vendor/ink/node_modules/node-pty/lib/utils.js +39 -0
- package/vendor/ink/node_modules/node-pty/lib/windowsConoutConnection.js +125 -0
- package/vendor/ink/node_modules/node-pty/lib/windowsPtyAgent.js +287 -0
- package/vendor/ink/node_modules/node-pty/lib/windowsTerminal.js +201 -0
- package/vendor/ink/node_modules/node-pty/lib/worker/conoutSocketWorker.js +22 -0
- package/vendor/ink/node_modules/node-pty/package.json +65 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/darwin-arm64/pty.node +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/darwin-arm64/spawn-helper +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/darwin-x64/pty.node +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/darwin-x64/spawn-helper +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/linux-arm64/pty.node +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/linux-x64/pty.node +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty/OpenConsole.exe +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty/conpty.dll +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty.node +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty.pdb +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.node +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.pdb +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty/OpenConsole.exe +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty/conpty.dll +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty.node +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty.pdb +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.node +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.pdb +0 -0
- package/vendor/ink/node_modules/node-pty/scripts/post-install.js +76 -0
- package/vendor/ink/node_modules/node-pty/scripts/prebuild.js +34 -0
- package/vendor/ink/node_modules/node-pty/src/unix/pty.cc +875 -0
- package/vendor/ink/node_modules/node-pty/src/unix/spawn-helper.cc +23 -0
- package/vendor/ink/node_modules/node-pty/src/win/conpty.cc +582 -0
- package/vendor/ink/node_modules/node-pty/src/win/conpty.h +41 -0
- package/vendor/ink/node_modules/node-pty/src/win/conpty_console_list.cc +44 -0
- package/vendor/ink/node_modules/node-pty/src/win/path_util.cc +95 -0
- package/vendor/ink/node_modules/node-pty/src/win/path_util.h +26 -0
- package/vendor/ink/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-arm64/OpenConsole.exe +0 -0
- package/vendor/ink/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-arm64/conpty.dll +0 -0
- package/vendor/ink/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-x64/OpenConsole.exe +0 -0
- package/vendor/ink/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-x64/conpty.dll +0 -0
- package/vendor/ink/node_modules/node-pty/typings/node-pty.d.ts +215 -0
- package/vendor/ink/node_modules/undici-types/LICENSE +21 -0
- package/vendor/ink/node_modules/undici-types/README.md +6 -0
- package/vendor/ink/node_modules/undici-types/agent.d.ts +32 -0
- package/vendor/ink/node_modules/undici-types/api.d.ts +43 -0
- package/vendor/ink/node_modules/undici-types/balanced-pool.d.ts +30 -0
- package/vendor/ink/node_modules/undici-types/cache-interceptor.d.ts +173 -0
- package/vendor/ink/node_modules/undici-types/cache.d.ts +36 -0
- package/vendor/ink/node_modules/undici-types/client-stats.d.ts +15 -0
- package/vendor/ink/node_modules/undici-types/client.d.ts +108 -0
- package/vendor/ink/node_modules/undici-types/connector.d.ts +34 -0
- package/vendor/ink/node_modules/undici-types/content-type.d.ts +21 -0
- package/vendor/ink/node_modules/undici-types/cookies.d.ts +30 -0
- package/vendor/ink/node_modules/undici-types/diagnostics-channel.d.ts +74 -0
- package/vendor/ink/node_modules/undici-types/dispatcher.d.ts +276 -0
- package/vendor/ink/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
- package/vendor/ink/node_modules/undici-types/errors.d.ts +161 -0
- package/vendor/ink/node_modules/undici-types/eventsource.d.ts +66 -0
- package/vendor/ink/node_modules/undici-types/fetch.d.ts +211 -0
- package/vendor/ink/node_modules/undici-types/formdata.d.ts +108 -0
- package/vendor/ink/node_modules/undici-types/global-dispatcher.d.ts +9 -0
- package/vendor/ink/node_modules/undici-types/global-origin.d.ts +7 -0
- package/vendor/ink/node_modules/undici-types/h2c-client.d.ts +73 -0
- package/vendor/ink/node_modules/undici-types/handlers.d.ts +15 -0
- package/vendor/ink/node_modules/undici-types/header.d.ts +160 -0
- package/vendor/ink/node_modules/undici-types/index.d.ts +88 -0
- package/vendor/ink/node_modules/undici-types/interceptors.d.ts +73 -0
- package/vendor/ink/node_modules/undici-types/mock-agent.d.ts +68 -0
- package/vendor/ink/node_modules/undici-types/mock-call-history.d.ts +111 -0
- package/vendor/ink/node_modules/undici-types/mock-client.d.ts +27 -0
- package/vendor/ink/node_modules/undici-types/mock-errors.d.ts +12 -0
- package/vendor/ink/node_modules/undici-types/mock-interceptor.d.ts +94 -0
- package/vendor/ink/node_modules/undici-types/mock-pool.d.ts +27 -0
- package/vendor/ink/node_modules/undici-types/package.json +55 -0
- package/vendor/ink/node_modules/undici-types/patch.d.ts +29 -0
- package/vendor/ink/node_modules/undici-types/pool-stats.d.ts +19 -0
- package/vendor/ink/node_modules/undici-types/pool.d.ts +41 -0
- package/vendor/ink/node_modules/undici-types/proxy-agent.d.ts +29 -0
- package/vendor/ink/node_modules/undici-types/readable.d.ts +68 -0
- package/vendor/ink/node_modules/undici-types/retry-agent.d.ts +8 -0
- package/vendor/ink/node_modules/undici-types/retry-handler.d.ts +125 -0
- package/vendor/ink/node_modules/undici-types/round-robin-pool.d.ts +41 -0
- package/vendor/ink/node_modules/undici-types/snapshot-agent.d.ts +109 -0
- package/vendor/ink/node_modules/undici-types/util.d.ts +18 -0
- package/vendor/ink/node_modules/undici-types/utility.d.ts +7 -0
- package/vendor/ink/node_modules/undici-types/webidl.d.ts +341 -0
- package/vendor/ink/node_modules/undici-types/websocket.d.ts +186 -0
- package/vendor/ink/package.json +201 -0
- package/vendor/ink/readme.md +2636 -0
- package/bin/swag-agent.js +0 -9
- package/dist/server/lib/pg-rate-limiter.d.ts +0 -21
- package/dist/server/lib/pg-rate-limiter.js +0 -86
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubagentPanel.js","names":["React","useState","useEffect","Box","Text","SpinnerSlot","shortenPath","getDisplayName","colors","jsx","_jsx","jsxs","_jsxs","useElapsed","startTime","$","_c","t0","Math","floor","Date","now","elapsed","setElapsed","t1","t2","id","setInterval","clearInterval","formatTokens","n","String","toFixed","round","toolContext","name","input","path","pattern","parts","filter","Boolean","join","query","cmd","command","length","slice","url","AGENT_TYPE_LABELS","explore","plan","research","MAX_VISIBLE_TOOLS","RunningAgentTree","agent","isLast","isOnly","label","type","desc","description","T0","childPrefix","isThinking","t3","t4","message","tools","turn","running","_temp","completed","_temp2","maxCompleted","hiddenCount","max","visibleCompleted","visibleTools","t5","every","_temp3","includes","t6","color","tertiary","children","t7","Symbol","for","brand","t8","text","bold","t9","t10","t11","map","tool","i","isLastTool","toolBranch","ctx","status","success","error","flexDirection","t_1","t","t_0","CompletedSubagentTree","agents","typeCounts","Map","a","set","get","Array","from","entries","_temp4","typeStr","branch","label_1","totalTokens","tokens","output","Fragment","toolCount","marginLeft","label_0","count","CompactAgentLine","prefix","done","_temp5","_temp6","_temp7","dim","SubagentPanel","hasRunning","size","hasCompleted","runningEntries","isOnlyOne","isParallel","i_0","id_0","agent_0"],"sources":["../../../src/cli/chat/SubagentPanel.tsx"],"sourcesContent":["/**\n * SubagentPanel — Claude Code-style tree rendering for subagents\n *\n * Running agents show spinner + nested tool tree.\n * Completed agents show green dot + stats summary.\n * Uses ├──, └──, │ tree characters matching Claude Code's style.\n * Text-first rendering — minimal Box usage for reliable terminal output.\n */\n\nimport React, { useState, useEffect } from \"react\";\nimport { Box, Text } from \"ink\";\nimport { SpinnerSlot } from \"../shared/SpinnerSlot.js\";\nimport { shortenPath, getDisplayName } from \"./ToolIndicator.js\";\nimport { colors } from \"../shared/Theme.js\";\n\nfunction useElapsed(startTime: number): number {\n const [elapsed, setElapsed] = useState(() => Math.floor((Date.now() - startTime) / 1000));\n useEffect(() => {\n const id = setInterval(() => setElapsed(Math.floor((Date.now() - startTime) / 1000)), 1000);\n return () => clearInterval(id);\n }, [startTime]);\n return elapsed;\n}\n\n// ============================================================================\n// TYPES\n// ============================================================================\n\nexport interface SubagentInnerTool {\n name: string;\n status: \"running\" | \"success\" | \"error\";\n input?: Record<string, unknown>;\n durationMs?: number;\n}\n\nexport interface SubagentActivityState {\n type: string;\n model: string;\n description: string;\n turn: number;\n message: string;\n tools: SubagentInnerTool[];\n startTime: number;\n}\n\nexport interface CompletedSubagentInfo {\n id: string;\n type: string;\n description: string;\n toolCount: number;\n tokens: { input: number; output: number };\n durationMs: number;\n success: boolean;\n}\n\ninterface SubagentPanelProps {\n running: Map<string, SubagentActivityState>;\n completed: CompletedSubagentInfo[];\n}\n\n// ============================================================================\n// HELPERS\n// ============================================================================\n\nfunction formatTokens(n: number): string {\n if (n < 1000) return String(n);\n if (n < 10000) return `${(n / 1000).toFixed(1)}k`;\n return `${Math.round(n / 1000)}k`;\n}\n\nfunction toolContext(name: string, input?: Record<string, unknown>): string {\n if (!input) return \"\";\n if (name === \"read_file\" || name === \"write_file\" || name === \"edit_file\" || name === \"list_directory\") {\n return input.path ? shortenPath(String(input.path)) : \"\";\n }\n if (name === \"glob\") return input.pattern ? String(input.pattern) : \"\";\n if (name === \"grep\") {\n const parts = [input.pattern, input.path ? shortenPath(String(input.path)) : null].filter(Boolean);\n return parts.join(\" in \");\n }\n if (name === \"search_files\" || name === \"search_content\") {\n return [input.pattern || input.query, input.path ? shortenPath(String(input.path)) : null].filter(Boolean).join(\" in \");\n }\n if (name === \"run_command\") {\n const cmd = String(input.command || \"\");\n return cmd.length > 40 ? cmd.slice(0, 37) + \"...\" : cmd;\n }\n if (name === \"web_fetch\") return input.url ? String(input.url).slice(0, 40) : \"\";\n return \"\";\n}\n\nconst AGENT_TYPE_LABELS: Record<string, string> = {\n explore: \"Explore\",\n plan: \"Plan\",\n \"general-purpose\": \"Agent\",\n research: \"Research\",\n};\n\nconst MAX_VISIBLE_TOOLS = 4;\n\n// ============================================================================\n// RUNNING AGENT TREE\n// ============================================================================\n\nfunction RunningAgentTree({ agent, isLast, isOnly }: {\n agent: SubagentActivityState;\n isLast: boolean;\n isOnly: boolean;\n}) {\n const label = AGENT_TYPE_LABELS[agent.type] || agent.type;\n const desc = agent.description || \"\";\n const elapsed = useElapsed(agent.startTime);\n\n const running = agent.tools.filter(t => t.status === \"running\");\n const completed = agent.tools.filter(t => t.status !== \"running\");\n const maxCompleted = MAX_VISIBLE_TOOLS - running.length;\n const hiddenCount = Math.max(0, completed.length - maxCompleted);\n const visibleCompleted = completed.slice(hiddenCount);\n const visibleTools = [...visibleCompleted, ...running];\n\n const isThinking = agent.tools.length === 0 || (agent.tools.every(t => t.status !== \"running\") && agent.message.includes(\"calling API\"));\n\n const childPrefix = isOnly ? \" \" : (isLast ? \" \" : \"│ \");\n\n return (\n <Box flexDirection=\"column\">\n {/* Agent header */}\n <Text>\n {!isOnly ? <Text color={colors.tertiary}>{isLast ? \"└── \" : \"├── \"}</Text> : null}\n <Text color={colors.brand}><SpinnerSlot /></Text>\n <Text color={colors.text} bold> {label}</Text>\n {desc ? <Text color={colors.tertiary}> {desc}</Text> : null}\n {agent.turn > 0 ? <Text color={colors.tertiary}> · Turn {agent.turn}</Text> : null}\n {elapsed > 0 ? <Text color={colors.tertiary}> · {elapsed}s</Text> : null}\n </Text>\n\n {hiddenCount > 0 && (\n <Text color={colors.tertiary}>{childPrefix}│ ... +{hiddenCount} earlier</Text>\n )}\n\n {visibleTools.map((tool, i) => {\n const isLastTool = i === visibleTools.length - 1 && !isThinking;\n const toolBranch = isLastTool ? \"└── \" : \"├── \";\n const ctx = toolContext(tool.name, tool.input);\n\n return (\n <Text key={`${tool.name}-${i}`}>\n <Text color={colors.tertiary}>{childPrefix}{toolBranch}</Text>\n {tool.status === \"running\" ? (\n <Text color={colors.brand}><SpinnerSlot /></Text>\n ) : tool.status === \"success\" ? (\n <Text color={colors.success}>✓</Text>\n ) : (\n <Text color={colors.error}>✕</Text>\n )}\n <Text bold> {getDisplayName(tool.name)}</Text>\n {ctx ? <Text color={colors.tertiary}> {ctx}</Text> : null}\n </Text>\n );\n })}\n\n {isThinking && (\n <Text>\n <Text color={colors.tertiary}>{childPrefix}└── </Text>\n <Text color={colors.brand}><SpinnerSlot /></Text>\n <Text color={colors.tertiary}> thinking...</Text>\n </Text>\n )}\n </Box>\n );\n}\n\n// ============================================================================\n// COMPLETED SUMMARY TREE\n// ============================================================================\n\nexport function CompletedSubagentTree({ agents }: { agents: CompletedSubagentInfo[] }) {\n if (agents.length === 0) return null;\n\n const typeCounts = new Map<string, number>();\n for (const a of agents) {\n const label = AGENT_TYPE_LABELS[a.type] || a.type;\n typeCounts.set(label, (typeCounts.get(label) || 0) + 1);\n }\n const typeStr = Array.from(typeCounts.entries())\n .map(([label, count]) => `${count} ${label} agent${count > 1 ? \"s\" : \"\"}`)\n .join(\", \");\n\n return (\n <Box flexDirection=\"column\" marginLeft={2}>\n <Text>\n <Text color={colors.success}>●</Text>\n <Text color={colors.text} bold> {typeStr} finished</Text>\n </Text>\n\n {agents.map((agent, i) => {\n const isLast = i === agents.length - 1;\n const branch = isLast ? \"└── \" : \"├── \";\n const childPrefix = isLast ? \" \" : \"│ \";\n const label = AGENT_TYPE_LABELS[agent.type] || agent.type;\n const totalTokens = agent.tokens.input + agent.tokens.output;\n\n return (\n <React.Fragment key={agent.id}>\n <Text>\n <Text color={colors.tertiary}>{branch}</Text>\n <Text color={colors.text}>{label} {agent.description}</Text>\n <Text color={colors.tertiary}> · {agent.toolCount} tool use{agent.toolCount !== 1 ? \"s\" : \"\"} · {formatTokens(totalTokens)} tokens</Text>\n </Text>\n <Text>\n <Text color={colors.tertiary}>{childPrefix}</Text>\n {agent.success ? (\n <Text color={colors.success}>Done</Text>\n ) : (\n <Text color={colors.error}>Failed</Text>\n )}\n </Text>\n </React.Fragment>\n );\n })}\n </Box>\n );\n}\n\n// ============================================================================\n// MAIN PANEL\n// ============================================================================\n\n/**\n * Compact single-line summary for parallel agents — keeps dynamic area height stable.\n * Only shown when 2+ agents run simultaneously.\n */\nfunction CompactAgentLine({ agent, prefix }: { agent: SubagentActivityState; prefix: string }) {\n const label = AGENT_TYPE_LABELS[agent.type] || agent.type;\n const elapsed = useElapsed(agent.startTime);\n const running = agent.tools.filter(t => t.status === \"running\");\n const done = agent.tools.filter(t => t.status !== \"running\").length;\n const status = running.length > 0\n ? running.map(t => getDisplayName(t.name)).join(\", \")\n : \"thinking…\";\n\n return (\n <Text>\n <Text color={colors.tertiary}>{prefix}</Text>\n <Text color={colors.brand}><SpinnerSlot /></Text>\n <Text color={colors.text} bold> {label}</Text>\n {agent.description ? <Text color={colors.tertiary}> {agent.description}</Text> : null}\n <Text color={colors.dim}> — {status}</Text>\n {done > 0 ? <Text color={colors.tertiary}> · {done} done</Text> : null}\n {elapsed > 0 ? <Text color={colors.tertiary}> · {elapsed}s</Text> : null}\n </Text>\n );\n}\n\nexport function SubagentPanel({ running, completed }: SubagentPanelProps) {\n const hasRunning = running.size > 0;\n const hasCompleted = completed.length > 0;\n\n if (!hasRunning && !hasCompleted) return null;\n\n const runningEntries = Array.from(running.entries());\n const isOnlyOne = runningEntries.length === 1 && !hasCompleted;\n\n // Parallel mode: compact single-line per agent to keep height stable\n const isParallel = runningEntries.length > 1;\n\n return (\n <Box flexDirection=\"column\">\n {hasRunning && isParallel && runningEntries.map(([id, agent], i) => (\n <CompactAgentLine\n key={id}\n agent={agent}\n prefix={i === runningEntries.length - 1 && !hasCompleted ? \"└── \" : \"├── \"}\n />\n ))}\n\n {hasRunning && !isParallel && runningEntries.map(([id, agent], i) => (\n <RunningAgentTree\n key={id}\n agent={agent}\n isLast={i === runningEntries.length - 1}\n isOnly={isOnlyOne}\n />\n ))}\n\n {hasCompleted && <CompletedSubagentTree agents={completed} />}\n </Box>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,42 +1,242 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { c as _c } from "react/compiler-runtime";
|
|
2
2
|
/**
|
|
3
3
|
* TeamPanel — Claude Code-style tree rendering for team execution
|
|
4
4
|
*
|
|
5
5
|
* Uses ├──, └──, │ tree chars. Text-first rendering.
|
|
6
6
|
* Shows green ● header with task progress and per-teammate status.
|
|
7
7
|
*/
|
|
8
|
-
|
|
8
|
+
|
|
9
|
+
import React, { useState, useEffect } from "react";
|
|
9
10
|
import { Box, Text } from "ink";
|
|
10
|
-
import
|
|
11
|
+
import { SpinnerSlot } from "../shared/SpinnerSlot.js";
|
|
11
12
|
import { colors } from "../shared/Theme.js";
|
|
13
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
+
function useElapsed(startTime) {
|
|
15
|
+
const $ = _c(5);
|
|
16
|
+
let t0;
|
|
17
|
+
if ($[0] !== startTime) {
|
|
18
|
+
t0 = () => Math.floor((Date.now() - startTime) / 1000);
|
|
19
|
+
$[0] = startTime;
|
|
20
|
+
$[1] = t0;
|
|
21
|
+
} else {
|
|
22
|
+
t0 = $[1];
|
|
23
|
+
}
|
|
24
|
+
const [elapsed, setElapsed] = useState(t0);
|
|
25
|
+
let t1;
|
|
26
|
+
let t2;
|
|
27
|
+
if ($[2] !== startTime) {
|
|
28
|
+
t1 = () => {
|
|
29
|
+
const id = setInterval(() => setElapsed(Math.floor((Date.now() - startTime) / 1000)), 1000);
|
|
30
|
+
return () => clearInterval(id);
|
|
31
|
+
};
|
|
32
|
+
t2 = [startTime];
|
|
33
|
+
$[2] = startTime;
|
|
34
|
+
$[3] = t1;
|
|
35
|
+
$[4] = t2;
|
|
36
|
+
} else {
|
|
37
|
+
t1 = $[3];
|
|
38
|
+
t2 = $[4];
|
|
39
|
+
}
|
|
40
|
+
useEffect(t1, t2);
|
|
41
|
+
return elapsed;
|
|
42
|
+
}
|
|
12
43
|
// Custom comparator — prevent re-render when Map contents haven't actually changed
|
|
13
44
|
function teamPropsEqual(prev, next) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
45
|
+
if (prev.team.name !== next.team.name) return false;
|
|
46
|
+
if (prev.team.tasksCompleted !== next.team.tasksCompleted) return false;
|
|
47
|
+
if (prev.team.tasksTotal !== next.team.tasksTotal) return false;
|
|
48
|
+
if (prev.team.teammates.size !== next.team.teammates.size) return false;
|
|
49
|
+
for (const [id, mate] of prev.team.teammates) {
|
|
50
|
+
const nextMate = next.team.teammates.get(id);
|
|
51
|
+
if (!nextMate) return false;
|
|
52
|
+
if (mate.name !== nextMate.name || mate.status !== nextMate.status) return false;
|
|
53
|
+
}
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
function TeammateRow(t0) {
|
|
57
|
+
const $ = _c(21);
|
|
58
|
+
const {
|
|
59
|
+
id,
|
|
60
|
+
mate,
|
|
61
|
+
isLast
|
|
62
|
+
} = t0;
|
|
63
|
+
const branch = isLast ? "\u2514\u2500\u2500 " : "\u251C\u2500\u2500 ";
|
|
64
|
+
const isDone = mate.status === "done";
|
|
65
|
+
const isFailed = mate.status === "failed";
|
|
66
|
+
const isWorking = !isDone && !isFailed;
|
|
67
|
+
const color = isDone ? colors.success : isFailed ? colors.error : undefined;
|
|
68
|
+
const elapsed = useElapsed(mate.startTime);
|
|
69
|
+
let t1;
|
|
70
|
+
if ($[0] !== branch) {
|
|
71
|
+
t1 = /*#__PURE__*/_jsx(Text, {
|
|
72
|
+
color: colors.tertiary,
|
|
73
|
+
children: branch
|
|
74
|
+
});
|
|
75
|
+
$[0] = branch;
|
|
76
|
+
$[1] = t1;
|
|
77
|
+
} else {
|
|
78
|
+
t1 = $[1];
|
|
79
|
+
}
|
|
80
|
+
let t2;
|
|
81
|
+
if ($[2] !== isDone || $[3] !== isWorking) {
|
|
82
|
+
t2 = isWorking ? /*#__PURE__*/_jsx(Text, {
|
|
83
|
+
color: colors.brand,
|
|
84
|
+
children: /*#__PURE__*/_jsx(SpinnerSlot, {})
|
|
85
|
+
}) : isDone ? /*#__PURE__*/_jsx(Text, {
|
|
86
|
+
color: colors.success,
|
|
87
|
+
children: "\u2713"
|
|
88
|
+
}) : /*#__PURE__*/_jsx(Text, {
|
|
89
|
+
color: colors.error,
|
|
90
|
+
children: "\u2715"
|
|
91
|
+
});
|
|
92
|
+
$[2] = isDone;
|
|
93
|
+
$[3] = isWorking;
|
|
94
|
+
$[4] = t2;
|
|
95
|
+
} else {
|
|
96
|
+
t2 = $[4];
|
|
97
|
+
}
|
|
98
|
+
const t3 = color || colors.dim;
|
|
99
|
+
const t4 = mate.name || mate.status;
|
|
100
|
+
let t5;
|
|
101
|
+
if ($[5] !== t3 || $[6] !== t4) {
|
|
102
|
+
t5 = /*#__PURE__*/_jsxs(Text, {
|
|
103
|
+
color: t3,
|
|
104
|
+
children: [" ", t4]
|
|
105
|
+
});
|
|
106
|
+
$[5] = t3;
|
|
107
|
+
$[6] = t4;
|
|
108
|
+
$[7] = t5;
|
|
109
|
+
} else {
|
|
110
|
+
t5 = $[7];
|
|
111
|
+
}
|
|
112
|
+
let t6;
|
|
113
|
+
if ($[8] !== mate.name || $[9] !== mate.status) {
|
|
114
|
+
t6 = mate.name && mate.status !== mate.name && mate.status !== "done" && mate.status !== "failed" ? /*#__PURE__*/_jsxs(Text, {
|
|
115
|
+
color: colors.tertiary,
|
|
116
|
+
children: [" \u2014 ", mate.status]
|
|
117
|
+
}) : null;
|
|
118
|
+
$[8] = mate.name;
|
|
119
|
+
$[9] = mate.status;
|
|
120
|
+
$[10] = t6;
|
|
121
|
+
} else {
|
|
122
|
+
t6 = $[10];
|
|
123
|
+
}
|
|
124
|
+
let t7;
|
|
125
|
+
if ($[11] !== elapsed || $[12] !== isWorking) {
|
|
126
|
+
t7 = isWorking && elapsed > 0 ? /*#__PURE__*/_jsxs(Text, {
|
|
127
|
+
color: colors.tertiary,
|
|
128
|
+
children: [" \xB7 ", elapsed, "s"]
|
|
129
|
+
}) : null;
|
|
130
|
+
$[11] = elapsed;
|
|
131
|
+
$[12] = isWorking;
|
|
132
|
+
$[13] = t7;
|
|
133
|
+
} else {
|
|
134
|
+
t7 = $[13];
|
|
135
|
+
}
|
|
136
|
+
let t8;
|
|
137
|
+
if ($[14] !== id || $[15] !== t1 || $[16] !== t2 || $[17] !== t5 || $[18] !== t6 || $[19] !== t7) {
|
|
138
|
+
t8 = /*#__PURE__*/_jsxs(Text, {
|
|
139
|
+
children: [t1, t2, t5, t6, t7]
|
|
140
|
+
}, id);
|
|
141
|
+
$[14] = id;
|
|
142
|
+
$[15] = t1;
|
|
143
|
+
$[16] = t2;
|
|
144
|
+
$[17] = t5;
|
|
145
|
+
$[18] = t6;
|
|
146
|
+
$[19] = t7;
|
|
147
|
+
$[20] = t8;
|
|
148
|
+
} else {
|
|
149
|
+
t8 = $[20];
|
|
150
|
+
}
|
|
151
|
+
return t8;
|
|
30
152
|
}
|
|
31
|
-
export const TeamPanel = React.memo(function TeamPanel(
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
153
|
+
export const TeamPanel = /*#__PURE__*/React.memo(function TeamPanel(t0) {
|
|
154
|
+
const $ = _c(16);
|
|
155
|
+
const {
|
|
156
|
+
team
|
|
157
|
+
} = t0;
|
|
158
|
+
let t1;
|
|
159
|
+
if ($[0] !== team.teammates) {
|
|
160
|
+
t1 = Array.from(team.teammates.entries());
|
|
161
|
+
$[0] = team.teammates;
|
|
162
|
+
$[1] = t1;
|
|
163
|
+
} else {
|
|
164
|
+
t1 = $[1];
|
|
165
|
+
}
|
|
166
|
+
const teammates = t1;
|
|
167
|
+
let t2;
|
|
168
|
+
if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
169
|
+
t2 = /*#__PURE__*/_jsx(Text, {
|
|
170
|
+
color: colors.success,
|
|
171
|
+
children: "\u25CF"
|
|
172
|
+
});
|
|
173
|
+
$[2] = t2;
|
|
174
|
+
} else {
|
|
175
|
+
t2 = $[2];
|
|
176
|
+
}
|
|
177
|
+
let t3;
|
|
178
|
+
if ($[3] !== team.name) {
|
|
179
|
+
t3 = /*#__PURE__*/_jsxs(Text, {
|
|
180
|
+
color: colors.text,
|
|
181
|
+
bold: true,
|
|
182
|
+
children: [" Team: ", team.name]
|
|
183
|
+
});
|
|
184
|
+
$[3] = team.name;
|
|
185
|
+
$[4] = t3;
|
|
186
|
+
} else {
|
|
187
|
+
t3 = $[4];
|
|
188
|
+
}
|
|
189
|
+
let t4;
|
|
190
|
+
if ($[5] !== team.tasksCompleted || $[6] !== team.tasksTotal) {
|
|
191
|
+
t4 = /*#__PURE__*/_jsxs(Text, {
|
|
192
|
+
color: colors.tertiary,
|
|
193
|
+
children: [" \xB7 ", team.tasksCompleted, "/", team.tasksTotal, " tasks"]
|
|
194
|
+
});
|
|
195
|
+
$[5] = team.tasksCompleted;
|
|
196
|
+
$[6] = team.tasksTotal;
|
|
197
|
+
$[7] = t4;
|
|
198
|
+
} else {
|
|
199
|
+
t4 = $[7];
|
|
200
|
+
}
|
|
201
|
+
let t5;
|
|
202
|
+
if ($[8] !== t3 || $[9] !== t4) {
|
|
203
|
+
t5 = /*#__PURE__*/_jsxs(Text, {
|
|
204
|
+
children: [t2, t3, t4]
|
|
205
|
+
});
|
|
206
|
+
$[8] = t3;
|
|
207
|
+
$[9] = t4;
|
|
208
|
+
$[10] = t5;
|
|
209
|
+
} else {
|
|
210
|
+
t5 = $[10];
|
|
211
|
+
}
|
|
212
|
+
let t6;
|
|
213
|
+
if ($[11] !== teammates) {
|
|
214
|
+
t6 = teammates.map((t7, i) => {
|
|
215
|
+
const [id, mate] = t7;
|
|
216
|
+
return /*#__PURE__*/_jsx(TeammateRow, {
|
|
217
|
+
id: id,
|
|
218
|
+
mate: mate,
|
|
219
|
+
isLast: i === teammates.length - 1
|
|
220
|
+
}, id);
|
|
221
|
+
});
|
|
222
|
+
$[11] = teammates;
|
|
223
|
+
$[12] = t6;
|
|
224
|
+
} else {
|
|
225
|
+
t6 = $[12];
|
|
226
|
+
}
|
|
227
|
+
let t7;
|
|
228
|
+
if ($[13] !== t5 || $[14] !== t6) {
|
|
229
|
+
t7 = /*#__PURE__*/_jsxs(Box, {
|
|
230
|
+
flexDirection: "column",
|
|
231
|
+
marginLeft: 2,
|
|
232
|
+
children: [t5, t6]
|
|
233
|
+
});
|
|
234
|
+
$[13] = t5;
|
|
235
|
+
$[14] = t6;
|
|
236
|
+
$[15] = t7;
|
|
237
|
+
} else {
|
|
238
|
+
t7 = $[15];
|
|
239
|
+
}
|
|
240
|
+
return t7;
|
|
42
241
|
}, teamPropsEqual);
|
|
242
|
+
//# sourceMappingURL=TeamPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TeamPanel.js","names":["React","useState","useEffect","Box","Text","SpinnerSlot","colors","jsx","_jsx","jsxs","_jsxs","useElapsed","startTime","$","_c","t0","Math","floor","Date","now","elapsed","setElapsed","t1","t2","id","setInterval","clearInterval","teamPropsEqual","prev","next","team","name","tasksCompleted","tasksTotal","teammates","size","mate","nextMate","get","status","TeammateRow","isLast","branch","isDone","isFailed","isWorking","color","success","error","undefined","tertiary","children","brand","t3","dim","t4","t5","t6","t7","t8","TeamPanel","memo","Array","from","entries","Symbol","for","text","bold","map","i","length","flexDirection","marginLeft"],"sources":["../../../src/cli/chat/TeamPanel.tsx"],"sourcesContent":["/**\n * TeamPanel — Claude Code-style tree rendering for team execution\n *\n * Uses ├──, └──, │ tree chars. Text-first rendering.\n * Shows green ● header with task progress and per-teammate status.\n */\n\nimport React, { useState, useEffect } from \"react\";\nimport { Box, Text } from \"ink\";\nimport { SpinnerSlot } from \"../shared/SpinnerSlot.js\";\nimport { colors } from \"../shared/Theme.js\";\n\nfunction useElapsed(startTime: number): number {\n const [elapsed, setElapsed] = useState(() => Math.floor((Date.now() - startTime) / 1000));\n useEffect(() => {\n const id = setInterval(() => setElapsed(Math.floor((Date.now() - startTime) / 1000)), 1000);\n return () => clearInterval(id);\n }, [startTime]);\n return elapsed;\n}\n\nexport interface TeamInfo {\n name: string;\n tasksCompleted: number;\n tasksTotal: number;\n teammates: Map<string, { name: string; status: string; startTime: number }>;\n}\n\ninterface TeamPanelProps {\n team: TeamInfo;\n}\n\n// Custom comparator — prevent re-render when Map contents haven't actually changed\nfunction teamPropsEqual(prev: TeamPanelProps, next: TeamPanelProps): boolean {\n if (prev.team.name !== next.team.name) return false;\n if (prev.team.tasksCompleted !== next.team.tasksCompleted) return false;\n if (prev.team.tasksTotal !== next.team.tasksTotal) return false;\n if (prev.team.teammates.size !== next.team.teammates.size) return false;\n\n for (const [id, mate] of prev.team.teammates) {\n const nextMate = next.team.teammates.get(id);\n if (!nextMate) return false;\n if (mate.name !== nextMate.name || mate.status !== nextMate.status) return false;\n }\n return true;\n}\n\nfunction TeammateRow({ id, mate, isLast }: {\n id: string;\n mate: { name: string; status: string; startTime: number };\n isLast: boolean;\n}) {\n const branch = isLast ? \"└── \" : \"├── \";\n const isDone = mate.status === \"done\";\n const isFailed = mate.status === \"failed\";\n const isWorking = !isDone && !isFailed;\n const color = isDone ? colors.success : isFailed ? colors.error : undefined;\n const elapsed = useElapsed(mate.startTime);\n\n return (\n <Text key={id}>\n <Text color={colors.tertiary}>{branch}</Text>\n {isWorking ? (\n <Text color={colors.brand}><SpinnerSlot /></Text>\n ) : isDone ? (\n <Text color={colors.success}>✓</Text>\n ) : (\n <Text color={colors.error}>✕</Text>\n )}\n <Text color={color || colors.dim}> {mate.name || mate.status}</Text>\n {mate.name && mate.status !== mate.name && mate.status !== \"done\" && mate.status !== \"failed\" ? (\n <Text color={colors.tertiary}> — {mate.status}</Text>\n ) : null}\n {isWorking && elapsed > 0 ? (\n <Text color={colors.tertiary}> · {elapsed}s</Text>\n ) : null}\n </Text>\n );\n}\n\nexport const TeamPanel = React.memo(function TeamPanel({ team }: TeamPanelProps) {\n const teammates = Array.from(team.teammates.entries());\n\n return (\n <Box flexDirection=\"column\" marginLeft={2}>\n <Text>\n <Text color={colors.success}>●</Text>\n <Text color={colors.text} bold> Team: {team.name}</Text>\n <Text color={colors.tertiary}> · {team.tasksCompleted}/{team.tasksTotal} tasks</Text>\n </Text>\n\n {teammates.map(([id, mate], i) => (\n <TeammateRow key={id} id={id} mate={mate} isLast={i === teammates.length - 1} />\n ))}\n </Box>\n );\n}, teamPropsEqual);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,29 +1,89 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* ThemeSelector — inline theme picker for chat
|
|
3
|
+
*
|
|
4
|
+
* Renders a SelectInput with available color themes.
|
|
5
|
+
* Shows colored preview dots (brand/success/error/purple) for each theme.
|
|
6
|
+
* Current theme marked with dot. Esc to cancel.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import React from "react"; // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
2
10
|
import { Box, Text, useInput } from "ink";
|
|
3
11
|
import SelectInput from "ink-select-input";
|
|
4
12
|
import { colors, symbols } from "../shared/Theme.js";
|
|
5
13
|
import { getThemePresets, getCurrentThemeId } from "../shared/theme-manager.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
14
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
|
+
export function ThemeSelector({
|
|
16
|
+
onSelect,
|
|
17
|
+
onCancel
|
|
18
|
+
}) {
|
|
19
|
+
useInput((_input, key) => {
|
|
20
|
+
if (key.escape) onCancel();
|
|
21
|
+
});
|
|
22
|
+
const presets = getThemePresets();
|
|
23
|
+
const currentId = getCurrentThemeId();
|
|
24
|
+
const items = presets.map(p => ({
|
|
25
|
+
label: p.label,
|
|
26
|
+
value: p.id
|
|
27
|
+
}));
|
|
28
|
+
const handleSelect = item => {
|
|
29
|
+
const preset = presets.find(p_0 => p_0.id === item.value);
|
|
30
|
+
if (preset) onSelect(preset);
|
|
31
|
+
};
|
|
32
|
+
const initialIdx = Math.max(0, items.findIndex(i => i.value === currentId));
|
|
33
|
+
return /*#__PURE__*/_jsxs(Box, {
|
|
34
|
+
flexDirection: "column",
|
|
35
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
36
|
+
color: colors.secondary,
|
|
37
|
+
children: " Select theme:"
|
|
38
|
+
}), /*#__PURE__*/_jsx(Box, {
|
|
39
|
+
height: 1
|
|
40
|
+
}), /*#__PURE__*/_jsx(SelectInput, {
|
|
41
|
+
items: items,
|
|
42
|
+
initialIndex: initialIdx,
|
|
43
|
+
onSelect: handleSelect,
|
|
44
|
+
indicatorComponent: ({
|
|
45
|
+
isSelected
|
|
46
|
+
}) => /*#__PURE__*/_jsxs(Text, {
|
|
47
|
+
color: isSelected ? colors.brand : colors.quaternary,
|
|
48
|
+
children: [isSelected ? symbols.arrowRight : " ", " "]
|
|
49
|
+
}),
|
|
50
|
+
itemComponent: ({
|
|
51
|
+
isSelected: isSelected_0,
|
|
52
|
+
label,
|
|
53
|
+
value
|
|
54
|
+
}) => {
|
|
55
|
+
const preset_0 = presets.find(p_1 => p_1.id === value);
|
|
56
|
+
const isCurrent = value === currentId;
|
|
57
|
+
const chrome = preset_0?.chrome;
|
|
58
|
+
return /*#__PURE__*/_jsxs(Box, {
|
|
59
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
60
|
+
color: isSelected_0 ? colors.brand : colors.text,
|
|
61
|
+
bold: isSelected_0,
|
|
62
|
+
children: label
|
|
63
|
+
}), chrome && /*#__PURE__*/_jsxs(Text, {
|
|
64
|
+
children: [" ", /*#__PURE__*/_jsx(Text, {
|
|
65
|
+
color: chrome.brand,
|
|
66
|
+
children: "\u25CF"
|
|
67
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
68
|
+
color: chrome.success,
|
|
69
|
+
children: "\u25CF"
|
|
70
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
71
|
+
color: chrome.error,
|
|
72
|
+
children: "\u25CF"
|
|
73
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
74
|
+
color: chrome.purple,
|
|
75
|
+
children: "\u25CF"
|
|
76
|
+
})]
|
|
77
|
+
}), isCurrent && /*#__PURE__*/_jsxs(Text, {
|
|
78
|
+
color: colors.success,
|
|
79
|
+
children: [" ", symbols.dot, " current"]
|
|
80
|
+
})]
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
84
|
+
color: colors.quaternary,
|
|
85
|
+
children: " esc to cancel"
|
|
86
|
+
})]
|
|
87
|
+
});
|
|
29
88
|
}
|
|
89
|
+
//# sourceMappingURL=ThemeSelector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeSelector.js","names":["React","Box","Text","useInput","SelectInput","colors","symbols","getThemePresets","getCurrentThemeId","jsx","_jsx","jsxs","_jsxs","ThemeSelector","onSelect","onCancel","_input","key","escape","presets","currentId","items","map","p","label","value","id","handleSelect","item","preset","find","initialIdx","Math","max","findIndex","i","flexDirection","children","color","secondary","height","initialIndex","indicatorComponent","isSelected","brand","quaternary","arrowRight","itemComponent","isCurrent","chrome","text","bold","success","error","purple","dot"],"sources":["../../../src/cli/chat/ThemeSelector.tsx"],"sourcesContent":["/**\n * ThemeSelector — inline theme picker for chat\n *\n * Renders a SelectInput with available color themes.\n * Shows colored preview dots (brand/success/error/purple) for each theme.\n * Current theme marked with dot. Esc to cancel.\n */\n\nimport React from \"react\"; // eslint-disable-line @typescript-eslint/no-unused-vars\nimport { Box, Text, useInput } from \"ink\";\nimport SelectInput from \"ink-select-input\";\nimport { colors, symbols } from \"../shared/Theme.js\";\nimport { getThemePresets, getCurrentThemeId, type ThemePreset } from \"../shared/theme-manager.js\";\n\ninterface ThemeSelectorProps {\n onSelect: (preset: ThemePreset) => void;\n onCancel: () => void;\n}\n\nexport function ThemeSelector({ onSelect, onCancel }: ThemeSelectorProps) {\n useInput((_input, key) => {\n if (key.escape) onCancel();\n });\n\n const presets = getThemePresets();\n const currentId = getCurrentThemeId();\n\n const items = presets.map((p) => ({\n label: p.label,\n value: p.id,\n }));\n\n const handleSelect = (item: { label: string; value: string }) => {\n const preset = presets.find((p) => p.id === item.value);\n if (preset) onSelect(preset);\n };\n\n const initialIdx = Math.max(0, items.findIndex((i) => i.value === currentId));\n\n return (\n <Box flexDirection=\"column\">\n <Text color={colors.secondary}> Select theme:</Text>\n <Box height={1} />\n <SelectInput\n items={items}\n initialIndex={initialIdx}\n onSelect={handleSelect}\n indicatorComponent={({ isSelected }: { isSelected?: boolean }) => (\n <Text color={isSelected ? colors.brand : colors.quaternary}>\n {isSelected ? symbols.arrowRight : \" \"}{\" \"}\n </Text>\n )}\n itemComponent={({ isSelected, label, value }: { isSelected?: boolean; label: string; value?: string }) => {\n const preset = presets.find((p) => p.id === value);\n const isCurrent = value === currentId;\n const chrome = preset?.chrome;\n return (\n <Box>\n <Text color={isSelected ? colors.brand : colors.text} bold={isSelected}>\n {label}\n </Text>\n {chrome && (\n <Text>\n {\" \"}\n <Text color={chrome.brand}>●</Text>\n <Text color={chrome.success}>●</Text>\n <Text color={chrome.error}>●</Text>\n <Text color={chrome.purple}>●</Text>\n </Text>\n )}\n {isCurrent && <Text color={colors.success}> {symbols.dot} current</Text>}\n </Box>\n );\n }}\n />\n <Text color={colors.quaternary}> esc to cancel</Text>\n </Box>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|