@qduc/term2 0.7.0 → 0.7.2
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/dist/agent.d.ts +0 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +28 -8
- package/dist/agent.js.map +1 -1
- package/dist/app.d.ts +3 -3
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +161 -75
- package/dist/app.js.map +1 -1
- package/dist/app.large-uncached-warning.test.js.map +1 -1
- package/dist/cli.integration.test.d.ts +2 -0
- package/dist/cli.integration.test.d.ts.map +1 -0
- package/dist/cli.integration.test.js +142 -0
- package/dist/cli.integration.test.js.map +1 -0
- package/dist/cli.js +47 -12
- package/dist/cli.js.map +1 -1
- package/dist/commands/auto-approve-command.d.ts +10 -0
- package/dist/commands/auto-approve-command.d.ts.map +1 -0
- package/dist/commands/auto-approve-command.js +40 -0
- package/dist/commands/auto-approve-command.js.map +1 -0
- package/dist/commands/clear-command.d.ts +3 -0
- package/dist/commands/clear-command.d.ts.map +1 -0
- package/dist/commands/clear-command.js +12 -0
- package/dist/commands/clear-command.js.map +1 -0
- package/dist/commands/copy-command.d.ts +10 -0
- package/dist/commands/copy-command.d.ts.map +1 -0
- package/dist/commands/copy-command.js +25 -0
- package/dist/commands/copy-command.js.map +1 -0
- package/dist/commands/effort-command.d.ts +11 -0
- package/dist/commands/effort-command.d.ts.map +1 -0
- package/dist/commands/effort-command.js +34 -0
- package/dist/commands/effort-command.js.map +1 -0
- package/dist/commands/guarded-settings-command.d.ts +14 -0
- package/dist/commands/guarded-settings-command.d.ts.map +1 -0
- package/dist/commands/guarded-settings-command.js +23 -0
- package/dist/commands/guarded-settings-command.js.map +1 -0
- package/dist/commands/handoff-command.d.ts +10 -0
- package/dist/commands/handoff-command.d.ts.map +1 -0
- package/dist/commands/handoff-command.js +17 -0
- package/dist/commands/handoff-command.js.map +1 -0
- package/dist/commands/mode-commands.d.ts +32 -0
- package/dist/commands/mode-commands.d.ts.map +1 -0
- package/dist/commands/mode-commands.js +64 -0
- package/dist/commands/mode-commands.js.map +1 -0
- package/dist/commands/model-command.d.ts +11 -0
- package/dist/commands/model-command.d.ts.map +1 -0
- package/dist/commands/model-command.js +35 -0
- package/dist/commands/model-command.js.map +1 -0
- package/dist/commands/quit-command.d.ts +3 -0
- package/dist/commands/quit-command.d.ts.map +1 -0
- package/dist/commands/quit-command.js +10 -0
- package/dist/commands/quit-command.js.map +1 -0
- package/dist/commands/retry-command.d.ts +19 -0
- package/dist/commands/retry-command.d.ts.map +1 -0
- package/dist/commands/retry-command.js +30 -0
- package/dist/commands/retry-command.js.map +1 -0
- package/dist/commands/undo-command.d.ts +15 -0
- package/dist/commands/undo-command.d.ts.map +1 -0
- package/dist/commands/undo-command.js +28 -0
- package/dist/commands/undo-command.js.map +1 -0
- package/dist/commands/usage-command.d.ts +3 -0
- package/dist/commands/usage-command.d.ts.map +1 -0
- package/dist/commands/usage-command.js +11 -0
- package/dist/commands/usage-command.js.map +1 -0
- package/dist/components/BottomArea.d.ts +7 -0
- package/dist/components/BottomArea.d.ts.map +1 -1
- package/dist/components/BottomArea.js +15 -6
- package/dist/components/BottomArea.js.map +1 -1
- package/dist/components/BottomArea.test.js +36 -4
- package/dist/components/BottomArea.test.js.map +1 -1
- package/dist/components/Common/MenuContainer.d.ts +1 -3
- package/dist/components/Common/MenuContainer.d.ts.map +1 -1
- package/dist/components/Common/MenuContainer.js +1 -13
- package/dist/components/Common/MenuContainer.js.map +1 -1
- package/dist/components/Input/input-width.d.ts +2 -1
- package/dist/components/Input/input-width.d.ts.map +1 -1
- package/dist/components/Input/input-width.js +6 -2
- package/dist/components/Input/input-width.js.map +1 -1
- package/dist/components/InputBox.d.ts +2 -0
- package/dist/components/InputBox.d.ts.map +1 -1
- package/dist/components/InputBox.js +21 -7
- package/dist/components/InputBox.js.map +1 -1
- package/dist/components/InputBox.test.js +44 -0
- package/dist/components/InputBox.test.js.map +1 -1
- package/dist/components/LargeUncachedConfirmationPrompt.d.ts +9 -0
- package/dist/components/LargeUncachedConfirmationPrompt.d.ts.map +1 -0
- package/dist/components/LargeUncachedConfirmationPrompt.js +44 -0
- package/dist/components/LargeUncachedConfirmationPrompt.js.map +1 -0
- package/dist/components/LargeUncachedConfirmationPrompt.test.d.ts +2 -0
- package/dist/components/LargeUncachedConfirmationPrompt.test.d.ts.map +1 -0
- package/dist/components/LargeUncachedConfirmationPrompt.test.js +47 -0
- package/dist/components/LargeUncachedConfirmationPrompt.test.js.map +1 -0
- package/dist/components/MessageList.d.ts +9 -0
- package/dist/components/MessageList.d.ts.map +1 -1
- package/dist/components/MessageList.js +29 -3
- package/dist/components/MessageList.js.map +1 -1
- package/dist/components/MessageList.test.js +28 -1
- package/dist/components/MessageList.test.js.map +1 -1
- package/dist/components/ModelSelectionMenu.d.ts.map +1 -1
- package/dist/components/ModelSelectionMenu.js +1 -4
- package/dist/components/ModelSelectionMenu.js.map +1 -1
- package/dist/components/PathSelectionMenu.d.ts.map +1 -1
- package/dist/components/PathSelectionMenu.js +1 -7
- package/dist/components/PathSelectionMenu.js.map +1 -1
- package/dist/components/SettingsSelectionMenu.d.ts.map +1 -1
- package/dist/components/SettingsSelectionMenu.js +1 -12
- package/dist/components/SettingsSelectionMenu.js.map +1 -1
- package/dist/components/SettingsValueSelectionMenu.d.ts.map +1 -1
- package/dist/components/SettingsValueSelectionMenu.js +1 -8
- package/dist/components/SettingsValueSelectionMenu.js.map +1 -1
- package/dist/components/StatusBar.d.ts +4 -0
- package/dist/components/StatusBar.d.ts.map +1 -1
- package/dist/components/StatusBar.js +25 -6
- package/dist/components/StatusBar.js.map +1 -1
- package/dist/components/StatusBar.test.js +23 -0
- package/dist/components/StatusBar.test.js.map +1 -1
- package/dist/components/UndoSelectionMenu.d.ts.map +1 -1
- package/dist/components/UndoSelectionMenu.js +1 -1
- package/dist/components/UndoSelectionMenu.js.map +1 -1
- package/dist/context/InputContext.d.ts +5 -0
- package/dist/context/InputContext.d.ts.map +1 -1
- package/dist/context/InputContext.images.test.d.ts +2 -0
- package/dist/context/InputContext.images.test.d.ts.map +1 -0
- package/dist/context/InputContext.images.test.js +56 -0
- package/dist/context/InputContext.images.test.js.map +1 -0
- package/dist/context/InputContext.js +3 -2
- package/dist/context/InputContext.js.map +1 -1
- package/dist/contracts/conversation.d.ts +3 -0
- package/dist/contracts/conversation.d.ts.map +1 -1
- package/dist/hooks/use-app-commands.d.ts +11 -32
- package/dist/hooks/use-app-commands.d.ts.map +1 -1
- package/dist/hooks/use-app-commands.js +64 -369
- package/dist/hooks/use-app-commands.js.map +1 -1
- package/dist/hooks/use-app-commands.test.js +24 -15
- package/dist/hooks/use-app-commands.test.js.map +1 -1
- package/dist/hooks/use-conversation.clear.test.js +49 -1
- package/dist/hooks/use-conversation.clear.test.js.map +1 -1
- package/dist/hooks/use-conversation.d.ts +12 -2
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +29 -25
- package/dist/hooks/use-conversation.js.map +1 -1
- package/dist/hooks/use-conversation.resume.test.js +26 -3
- package/dist/hooks/use-conversation.resume.test.js.map +1 -1
- package/dist/hooks/use-mode-handlers.d.ts +4 -1
- package/dist/hooks/use-mode-handlers.d.ts.map +1 -1
- package/dist/hooks/use-mode-handlers.js +6 -1
- package/dist/hooks/use-mode-handlers.js.map +1 -1
- package/dist/hooks/use-runtime-settings.d.ts.map +1 -1
- package/dist/hooks/use-runtime-settings.js +2 -2
- package/dist/hooks/use-runtime-settings.js.map +1 -1
- package/dist/hooks/use-runtime-settings.test.js +0 -1
- package/dist/hooks/use-runtime-settings.test.js.map +1 -1
- package/dist/hooks/use-settings-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-completion.js +8 -1
- package/dist/hooks/use-settings-completion.js.map +1 -1
- package/dist/hooks/use-settings-completion.test.js +4 -0
- package/dist/hooks/use-settings-completion.test.js.map +1 -1
- package/dist/hooks/use-slash-commands.d.ts.map +1 -1
- package/dist/hooks/use-slash-commands.js +10 -0
- package/dist/hooks/use-slash-commands.js.map +1 -1
- package/dist/hooks/use-slash-commands.test.js +35 -5
- package/dist/hooks/use-slash-commands.test.js.map +1 -1
- package/dist/hooks/use-terminal-width.d.ts +2 -1
- package/dist/hooks/use-terminal-width.d.ts.map +1 -1
- package/dist/hooks/use-terminal-width.js +2 -1
- package/dist/hooks/use-terminal-width.js.map +1 -1
- package/dist/hooks/use-undo-selection.d.ts.map +1 -1
- package/dist/hooks/use-undo-selection.js +3 -1
- package/dist/hooks/use-undo-selection.js.map +1 -1
- package/dist/lib/openai-agent-client.d.ts.map +1 -1
- package/dist/lib/openai-agent-client.flex-tier.test.js +8 -3
- package/dist/lib/openai-agent-client.flex-tier.test.js.map +1 -1
- package/dist/lib/openai-agent-client.js +50 -24
- package/dist/lib/openai-agent-client.js.map +1 -1
- package/dist/lib/tool-execution-limiter.d.ts +16 -0
- package/dist/lib/tool-execution-limiter.d.ts.map +1 -0
- package/dist/lib/tool-execution-limiter.js +112 -0
- package/dist/lib/tool-execution-limiter.js.map +1 -0
- package/dist/lib/tool-execution-limiter.test.d.ts +2 -0
- package/dist/lib/tool-execution-limiter.test.d.ts.map +1 -0
- package/dist/lib/tool-execution-limiter.test.js +70 -0
- package/dist/lib/tool-execution-limiter.test.js.map +1 -0
- package/dist/lib/tool-invoke.test.js +8 -8
- package/dist/lib/tool-invoke.test.js.map +1 -1
- package/dist/lib/tool-selection-policy.d.ts.map +1 -1
- package/dist/lib/tool-selection-policy.js +43 -2
- package/dist/lib/tool-selection-policy.js.map +1 -1
- package/dist/lib/tool-selection-policy.test.js +39 -0
- package/dist/lib/tool-selection-policy.test.js.map +1 -1
- package/dist/prompts/gpt-5-modern.md +105 -97
- package/dist/prompts/gpt-5.5.md +106 -0
- package/dist/prompts/orchestrator.md +2 -5
- package/dist/prompts/prompt-profiles.js +1 -1
- package/dist/prompts/prompt-profiles.js.map +1 -1
- package/dist/prompts/prompt-profiles.ts +1 -1
- package/dist/prompts/prompt-selector.test.js +1 -1
- package/dist/prompts/prompt-selector.test.js.map +1 -1
- package/dist/prompts/prompt-selector.test.ts +1 -1
- package/dist/prompts/search-via-shell.d.ts.map +1 -1
- package/dist/prompts/search-via-shell.js +0 -1
- package/dist/prompts/search-via-shell.js.map +1 -1
- package/dist/prompts/search-via-shell.ts +0 -1
- package/dist/prompts/shell-auto-approval.d.ts +2 -2
- package/dist/prompts/shell-auto-approval.d.ts.map +1 -1
- package/dist/prompts/shell-auto-approval.js +6 -6
- package/dist/prompts/shell-auto-approval.js.map +1 -1
- package/dist/prompts/shell-auto-approval.ts +6 -6
- package/dist/prompts/simple-prev.md +55 -0
- package/dist/prompts/simple.md +31 -53
- package/dist/prompts/subagent-delegation.js +2 -2
- package/dist/prompts/subagent-delegation.js.map +1 -1
- package/dist/prompts/subagent-delegation.ts +2 -2
- package/dist/providers/codex-responses-model.d.ts +5 -3
- package/dist/providers/codex-responses-model.d.ts.map +1 -1
- package/dist/providers/codex-responses-model.js +76 -20
- package/dist/providers/codex-responses-model.js.map +1 -1
- package/dist/providers/codex-responses-model.test.js +242 -1
- package/dist/providers/codex-responses-model.test.js.map +1 -1
- package/dist/providers/codex.provider.d.ts +0 -2
- package/dist/providers/codex.provider.d.ts.map +1 -1
- package/dist/providers/codex.provider.js +2 -6
- package/dist/providers/codex.provider.js.map +1 -1
- package/dist/providers/codex.provider.test.js +4 -31
- package/dist/providers/codex.provider.test.js.map +1 -1
- package/dist/providers/custom-provider-adapter.test.js +3 -3
- package/dist/providers/custom-provider-adapter.test.js.map +1 -1
- package/dist/providers/fallback-responses-model.d.ts.map +1 -1
- package/dist/providers/fallback-responses-model.js +160 -83
- package/dist/providers/fallback-responses-model.js.map +1 -1
- package/dist/providers/fallback-responses-model.test.js +318 -0
- package/dist/providers/fallback-responses-model.test.js.map +1 -1
- package/dist/providers/openai-compatible-lazy.d.ts +4 -0
- package/dist/providers/openai-compatible-lazy.d.ts.map +1 -0
- package/dist/providers/openai-compatible-lazy.js +54 -0
- package/dist/providers/openai-compatible-lazy.js.map +1 -0
- package/dist/providers/openai-compatible.provider.d.ts +2 -2
- package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
- package/dist/providers/openai-compatible.provider.js +3 -3
- package/dist/providers/openai-compatible.provider.js.map +1 -1
- package/dist/providers/openai-compatible.provider.test.js +31 -0
- package/dist/providers/openai-compatible.provider.test.js.map +1 -1
- package/dist/providers/openai.provider.js +5 -3
- package/dist/providers/openai.provider.js.map +1 -1
- package/dist/providers/timed-responses-ws-model.d.ts +20 -0
- package/dist/providers/timed-responses-ws-model.d.ts.map +1 -0
- package/dist/providers/timed-responses-ws-model.js +381 -0
- package/dist/providers/timed-responses-ws-model.js.map +1 -0
- package/dist/providers/timed-responses-ws-model.test.d.ts +2 -0
- package/dist/providers/timed-responses-ws-model.test.d.ts.map +1 -0
- package/dist/providers/timed-responses-ws-model.test.js +441 -0
- package/dist/providers/timed-responses-ws-model.test.js.map +1 -0
- package/dist/providers/timed-ws-connection.d.ts +26 -0
- package/dist/providers/timed-ws-connection.d.ts.map +1 -0
- package/dist/providers/timed-ws-connection.js +156 -0
- package/dist/providers/timed-ws-connection.js.map +1 -0
- package/dist/providers/timed-ws-connection.test.d.ts +2 -0
- package/dist/providers/timed-ws-connection.test.d.ts.map +1 -0
- package/dist/providers/timed-ws-connection.test.js +223 -0
- package/dist/providers/timed-ws-connection.test.js.map +1 -0
- package/dist/providers/timed-ws-timeouts.d.ts +6 -0
- package/dist/providers/timed-ws-timeouts.d.ts.map +1 -0
- package/dist/providers/timed-ws-timeouts.js +6 -0
- package/dist/providers/timed-ws-timeouts.js.map +1 -0
- package/dist/services/command-message-streaming.d.ts.map +1 -1
- package/dist/services/command-message-streaming.js +8 -3
- package/dist/services/command-message-streaming.js.map +1 -1
- package/dist/services/conversation-clear-save.test.js +4 -5
- package/dist/services/conversation-clear-save.test.js.map +1 -1
- package/dist/services/conversation-events.d.ts +4 -0
- package/dist/services/conversation-events.d.ts.map +1 -1
- package/dist/services/conversation-history-repair.d.ts.map +1 -1
- package/dist/services/conversation-history-repair.js +81 -26
- package/dist/services/conversation-history-repair.js.map +1 -1
- package/dist/services/conversation-integration.test.js +109 -0
- package/dist/services/conversation-integration.test.js.map +1 -1
- package/dist/services/conversation-log-events.d.ts +19 -10
- package/dist/services/conversation-log-events.d.ts.map +1 -1
- package/dist/services/conversation-log-events.js +1 -1
- package/dist/services/conversation-log-events.js.map +1 -1
- package/dist/services/conversation-log-writer.d.ts.map +1 -1
- package/dist/services/conversation-log-writer.js +2 -3
- package/dist/services/conversation-log-writer.js.map +1 -1
- package/dist/services/conversation-persistence-types.d.ts +32 -0
- package/dist/services/conversation-persistence-types.d.ts.map +1 -1
- package/dist/services/conversation-persistence.d.ts +7 -1
- package/dist/services/conversation-persistence.d.ts.map +1 -1
- package/dist/services/conversation-persistence.js +95 -44
- package/dist/services/conversation-persistence.js.map +1 -1
- package/dist/services/conversation-persistence.test.js +551 -107
- package/dist/services/conversation-persistence.test.js.map +1 -1
- package/dist/services/conversation-replay.d.ts.map +1 -1
- package/dist/services/conversation-replay.js +234 -11
- package/dist/services/conversation-replay.js.map +1 -1
- package/dist/services/conversation-replay.test.js +426 -31
- package/dist/services/conversation-replay.test.js.map +1 -1
- package/dist/services/conversation-result-builder.d.ts +2 -0
- package/dist/services/conversation-result-builder.d.ts.map +1 -1
- package/dist/services/conversation-result-builder.js +4 -0
- package/dist/services/conversation-result-builder.js.map +1 -1
- package/dist/services/conversation-result-builder.test.js +126 -0
- package/dist/services/conversation-result-builder.test.js.map +1 -1
- package/dist/services/conversation-retry-policy.d.ts.map +1 -1
- package/dist/services/conversation-retry-policy.js +3 -0
- package/dist/services/conversation-retry-policy.js.map +1 -1
- package/dist/services/conversation-retry-policy.test.js +4 -0
- package/dist/services/conversation-retry-policy.test.js.map +1 -1
- package/dist/services/conversation-service.d.ts +3 -3
- package/dist/services/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation-service.js +0 -3
- package/dist/services/conversation-service.js.map +1 -1
- package/dist/services/conversation-session.d.ts +10 -7
- package/dist/services/conversation-session.d.ts.map +1 -1
- package/dist/services/conversation-session.js +283 -86
- package/dist/services/conversation-session.js.map +1 -1
- package/dist/services/conversation-store.d.ts +16 -13
- package/dist/services/conversation-store.d.ts.map +1 -1
- package/dist/services/conversation-store.js +62 -191
- package/dist/services/conversation-store.js.map +1 -1
- package/dist/services/conversation-store.merge-modes.test.d.ts +2 -0
- package/dist/services/conversation-store.merge-modes.test.d.ts.map +1 -0
- package/dist/services/conversation-store.merge-modes.test.js +161 -0
- package/dist/services/conversation-store.merge-modes.test.js.map +1 -0
- package/dist/services/conversation-store.test.js +157 -294
- package/dist/services/conversation-store.test.js.map +1 -1
- package/dist/services/conversation-turn-items.d.ts +5 -0
- package/dist/services/conversation-turn-items.d.ts.map +1 -0
- package/dist/services/conversation-turn-items.js +351 -0
- package/dist/services/conversation-turn-items.js.map +1 -0
- package/dist/services/conversation-turn-items.test.d.ts +2 -0
- package/dist/services/conversation-turn-items.test.d.ts.map +1 -0
- package/dist/services/conversation-turn-items.test.js +68 -0
- package/dist/services/conversation-turn-items.test.js.map +1 -0
- package/dist/services/large-uncached-input-guard.d.ts.map +1 -1
- package/dist/services/large-uncached-input-guard.js +4 -3
- package/dist/services/large-uncached-input-guard.js.map +1 -1
- package/dist/services/large-uncached-input-guard.test.js +22 -0
- package/dist/services/large-uncached-input-guard.test.js.map +1 -1
- package/dist/services/notification-service.d.ts +22 -0
- package/dist/services/notification-service.d.ts.map +1 -0
- package/dist/services/notification-service.js +68 -0
- package/dist/services/notification-service.js.map +1 -0
- package/dist/services/notification-service.test.d.ts +2 -0
- package/dist/services/notification-service.test.d.ts.map +1 -0
- package/dist/services/notification-service.test.js +78 -0
- package/dist/services/notification-service.test.js.map +1 -0
- package/dist/services/provider-traffic.d.ts.map +1 -1
- package/dist/services/provider-traffic.js +1 -0
- package/dist/services/provider-traffic.js.map +1 -1
- package/dist/services/provider-traffic.test.js +51 -0
- package/dist/services/provider-traffic.test.js.map +1 -1
- package/dist/services/settings-schema.d.ts +16 -1
- package/dist/services/settings-schema.d.ts.map +1 -1
- package/dist/services/settings-schema.js +42 -22
- package/dist/services/settings-schema.js.map +1 -1
- package/dist/services/settings-schema.test.js +10 -0
- package/dist/services/settings-schema.test.js.map +1 -1
- package/dist/services/settings-service.js +2 -2
- package/dist/services/settings-service.js.map +1 -1
- package/dist/services/settings-sources.d.ts.map +1 -1
- package/dist/services/settings-sources.js +1 -0
- package/dist/services/settings-sources.js.map +1 -1
- package/dist/services/settings-sources.test.js +2 -0
- package/dist/services/settings-sources.test.js.map +1 -1
- package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
- package/dist/services/subagents/subagent-manager.js +32 -30
- package/dist/services/subagents/subagent-manager.js.map +1 -1
- package/dist/services/subagents/subagent-manager.test.js +8 -12
- package/dist/services/subagents/subagent-manager.test.js.map +1 -1
- package/dist/services/subagents/subagent-session.d.ts +1 -1
- package/dist/services/subagents/subagent-session.d.ts.map +1 -1
- package/dist/services/subagents/subagent-session.js +2 -2
- package/dist/services/subagents/subagent-session.js.map +1 -1
- package/dist/services/subagents/subagent-session.test.js +3 -3
- package/dist/services/subagents/subagent-session.test.js.map +1 -1
- package/dist/services/subagents/types.d.ts +2 -1
- package/dist/services/subagents/types.d.ts.map +1 -1
- package/dist/services/terminal-result-collector.d.ts.map +1 -1
- package/dist/services/terminal-result-collector.js +43 -0
- package/dist/services/terminal-result-collector.js.map +1 -1
- package/dist/services/terminal-result-collector.test.js +44 -0
- package/dist/services/terminal-result-collector.test.js.map +1 -1
- package/dist/services/tool-execution-ledger.d.ts +6 -0
- package/dist/services/tool-execution-ledger.d.ts.map +1 -1
- package/dist/services/tool-execution-ledger.js +90 -25
- package/dist/services/tool-execution-ledger.js.map +1 -1
- package/dist/services/tool-execution-ledger.test.js +177 -2
- package/dist/services/tool-execution-ledger.test.js.map +1 -1
- package/dist/tools/apply-patch.d.ts.map +1 -1
- package/dist/tools/apply-patch.js +41 -23
- package/dist/tools/apply-patch.js.map +1 -1
- package/dist/tools/apply-patch.test.js +6 -6
- package/dist/tools/apply-patch.test.js.map +1 -1
- package/dist/tools/code-context.js +1 -1
- package/dist/tools/code-context.js.map +1 -1
- package/dist/tools/code-context.test.js +278 -0
- package/dist/tools/code-context.test.js.map +1 -1
- package/dist/tools/edit-healing.d.ts.map +1 -1
- package/dist/tools/edit-healing.js +9 -3
- package/dist/tools/edit-healing.js.map +1 -1
- package/dist/tools/language-providers.d.ts.map +1 -1
- package/dist/tools/language-providers.js +379 -0
- package/dist/tools/language-providers.js.map +1 -1
- package/dist/tools/languages/cpp.d.ts +8 -0
- package/dist/tools/languages/cpp.d.ts.map +1 -0
- package/dist/tools/languages/cpp.js +306 -0
- package/dist/tools/languages/cpp.js.map +1 -0
- package/dist/tools/languages/csharp.d.ts +5 -0
- package/dist/tools/languages/csharp.d.ts.map +1 -0
- package/dist/tools/languages/csharp.js +225 -0
- package/dist/tools/languages/csharp.js.map +1 -0
- package/dist/tools/languages/go.d.ts +7 -0
- package/dist/tools/languages/go.d.ts.map +1 -0
- package/dist/tools/languages/go.js +223 -0
- package/dist/tools/languages/go.js.map +1 -0
- package/dist/tools/languages/index.d.ts +6 -0
- package/dist/tools/languages/index.d.ts.map +1 -0
- package/dist/tools/languages/index.js +32 -0
- package/dist/tools/languages/index.js.map +1 -0
- package/dist/tools/languages/java.d.ts +5 -0
- package/dist/tools/languages/java.d.ts.map +1 -0
- package/dist/tools/languages/java.js +183 -0
- package/dist/tools/languages/java.js.map +1 -0
- package/dist/tools/languages/json.d.ts +3 -0
- package/dist/tools/languages/json.d.ts.map +1 -0
- package/dist/tools/languages/json.js +40 -0
- package/dist/tools/languages/json.js.map +1 -0
- package/dist/tools/languages/php.d.ts +8 -0
- package/dist/tools/languages/php.d.ts.map +1 -0
- package/dist/tools/languages/php.js +139 -0
- package/dist/tools/languages/php.js.map +1 -0
- package/dist/tools/languages/python.d.ts +7 -0
- package/dist/tools/languages/python.d.ts.map +1 -0
- package/dist/tools/languages/python.js +189 -0
- package/dist/tools/languages/python.js.map +1 -0
- package/dist/tools/languages/ruby.d.ts +8 -0
- package/dist/tools/languages/ruby.d.ts.map +1 -0
- package/dist/tools/languages/ruby.js +94 -0
- package/dist/tools/languages/ruby.js.map +1 -0
- package/dist/tools/languages/rust.d.ts +7 -0
- package/dist/tools/languages/rust.d.ts.map +1 -0
- package/dist/tools/languages/rust.js +186 -0
- package/dist/tools/languages/rust.js.map +1 -0
- package/dist/tools/languages/types.d.ts +39 -0
- package/dist/tools/languages/types.d.ts.map +1 -0
- package/dist/tools/languages/types.js +2 -0
- package/dist/tools/languages/types.js.map +1 -0
- package/dist/tools/languages/typescript.d.ts +4 -0
- package/dist/tools/languages/typescript.d.ts.map +1 -0
- package/dist/tools/languages/typescript.js +94 -0
- package/dist/tools/languages/typescript.js.map +1 -0
- package/dist/tools/languages/utils.d.ts +14 -0
- package/dist/tools/languages/utils.d.ts.map +1 -0
- package/dist/tools/languages/utils.js +73 -0
- package/dist/tools/languages/utils.js.map +1 -0
- package/dist/tools/run-subagent.d.ts +0 -1
- package/dist/tools/run-subagent.d.ts.map +1 -1
- package/dist/tools/run-subagent.js +1 -8
- package/dist/tools/run-subagent.js.map +1 -1
- package/dist/tools/run-subagent.test.js +0 -18
- package/dist/tools/run-subagent.test.js.map +1 -1
- package/dist/tools/shell.d.ts.map +1 -1
- package/dist/tools/shell.js +13 -1
- package/dist/tools/shell.js.map +1 -1
- package/dist/tools/web-fetch.d.ts.map +1 -1
- package/dist/tools/web-fetch.js +1 -1
- package/dist/tools/web-fetch.js.map +1 -1
- package/dist/utils/clipboard.d.ts +8 -0
- package/dist/utils/clipboard.d.ts.map +1 -1
- package/dist/utils/clipboard.js +50 -4
- package/dist/utils/clipboard.js.map +1 -1
- package/dist/utils/clipboard.test.js +152 -2
- package/dist/utils/clipboard.test.js.map +1 -1
- package/dist/utils/conversation-event-handler.d.ts.map +1 -1
- package/dist/utils/conversation-event-handler.js +3 -0
- package/dist/utils/conversation-event-handler.js.map +1 -1
- package/dist/utils/conversation-event-handler.test.js +13 -0
- package/dist/utils/conversation-event-handler.test.js.map +1 -1
- package/dist/utils/extract-command-messages.d.ts.map +1 -1
- package/dist/utils/extract-command-messages.js +8 -4
- package/dist/utils/extract-command-messages.js.map +1 -1
- package/dist/utils/message-utils.d.ts +7 -0
- package/dist/utils/message-utils.d.ts.map +1 -0
- package/dist/utils/message-utils.js +31 -0
- package/dist/utils/message-utils.js.map +1 -0
- package/dist/utils/resume-list.d.ts +15 -0
- package/dist/utils/resume-list.d.ts.map +1 -0
- package/dist/utils/resume-list.js +68 -0
- package/dist/utils/resume-list.js.map +1 -0
- package/dist/utils/resume-list.test.d.ts +2 -0
- package/dist/utils/resume-list.test.d.ts.map +1 -0
- package/dist/utils/resume-list.test.js +89 -0
- package/dist/utils/resume-list.test.js.map +1 -0
- package/dist/utils/settings-command.d.ts.map +1 -1
- package/dist/utils/settings-command.js +11 -0
- package/dist/utils/settings-command.js.map +1 -1
- package/dist/utils/token-usage.d.ts +3 -1
- package/dist/utils/token-usage.d.ts.map +1 -1
- package/dist/utils/token-usage.js +4 -2
- package/dist/utils/token-usage.js.map +1 -1
- package/dist/utils/tty-osc.d.ts +27 -0
- package/dist/utils/tty-osc.d.ts.map +1 -0
- package/dist/utils/tty-osc.js +66 -0
- package/dist/utils/tty-osc.js.map +1 -0
- package/dist/utils/tty-osc.test.d.ts +2 -0
- package/dist/utils/tty-osc.test.d.ts.map +1 -0
- package/dist/utils/tty-osc.test.js +130 -0
- package/dist/utils/tty-osc.test.js.map +1 -0
- package/package.json +3 -3
- package/readme.md +24 -9
- package/dist/app.large-uncached-warning.test.js +0 -15
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { escapeRegExp, normalizeRelativePath, fileExists } from './utils.js';
|
|
3
|
+
function parseRustUse(statement, line) {
|
|
4
|
+
const clean = statement
|
|
5
|
+
.replace(/;$/, '')
|
|
6
|
+
.replace(/^(pub\s+)?use\s+/, '')
|
|
7
|
+
.trim();
|
|
8
|
+
if (!clean)
|
|
9
|
+
return null;
|
|
10
|
+
const braceMatch = clean.match(/^(.*?)::\{([\s\S]*?)\}$/);
|
|
11
|
+
if (braceMatch) {
|
|
12
|
+
const specifier = braceMatch[1].trim();
|
|
13
|
+
const names = braceMatch[2]
|
|
14
|
+
.split(',')
|
|
15
|
+
.map((n) => n.trim())
|
|
16
|
+
.filter(Boolean)
|
|
17
|
+
.map((n) => n
|
|
18
|
+
.split(/\s+as\s+/)
|
|
19
|
+
.pop()
|
|
20
|
+
.trim());
|
|
21
|
+
return { specifier, names, line };
|
|
22
|
+
}
|
|
23
|
+
const parts = clean.split(/\s+as\s+/);
|
|
24
|
+
const fullPath = parts[0].trim();
|
|
25
|
+
const alias = parts[1]?.trim();
|
|
26
|
+
const pathSegments = fullPath.split('::');
|
|
27
|
+
const lastName = pathSegments.pop();
|
|
28
|
+
const specifier = pathSegments.join('::') || lastName;
|
|
29
|
+
const names = [alias || lastName];
|
|
30
|
+
return { specifier, names, line };
|
|
31
|
+
}
|
|
32
|
+
function parseRustDeclaration(line, lineNumber) {
|
|
33
|
+
const trimmed = line.trim();
|
|
34
|
+
if (!trimmed)
|
|
35
|
+
return null;
|
|
36
|
+
// Skip lines that are clearly not top-level (inside impl blocks, mod blocks etc.)
|
|
37
|
+
// but allow indented const/type declarations inside const/type blocks
|
|
38
|
+
const match = trimmed.match(/^(pub(?:\([^)]+\))?\s+)?(fn|struct|enum|trait|type|const|static|mod|union|impl)\s+([A-Za-z_][\w_]*)\b/);
|
|
39
|
+
if (!match)
|
|
40
|
+
return null;
|
|
41
|
+
const isPublic = Boolean(match[1]);
|
|
42
|
+
const rawKind = match[2];
|
|
43
|
+
const name = match[3];
|
|
44
|
+
let kind = 'unknown';
|
|
45
|
+
if (rawKind === 'fn')
|
|
46
|
+
kind = 'function';
|
|
47
|
+
else if (rawKind === 'struct')
|
|
48
|
+
kind = 'type';
|
|
49
|
+
else if (rawKind === 'enum')
|
|
50
|
+
kind = 'enum';
|
|
51
|
+
else if (rawKind === 'trait')
|
|
52
|
+
kind = 'interface';
|
|
53
|
+
else if (rawKind === 'type')
|
|
54
|
+
kind = 'type';
|
|
55
|
+
else if (rawKind === 'const')
|
|
56
|
+
kind = 'const';
|
|
57
|
+
else if (rawKind === 'static')
|
|
58
|
+
kind = 'const';
|
|
59
|
+
else if (rawKind === 'mod')
|
|
60
|
+
kind = 'class';
|
|
61
|
+
else if (rawKind === 'union')
|
|
62
|
+
kind = 'type';
|
|
63
|
+
else if (rawKind === 'impl')
|
|
64
|
+
return null; // impl blocks declare no named item
|
|
65
|
+
return {
|
|
66
|
+
name,
|
|
67
|
+
kind,
|
|
68
|
+
line: lineNumber,
|
|
69
|
+
exported: isPublic,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
function extractRustOutline(source) {
|
|
73
|
+
const lines = source.split('\n');
|
|
74
|
+
const imports = [];
|
|
75
|
+
const decls = [];
|
|
76
|
+
const exports = [];
|
|
77
|
+
let useAccumulator = '';
|
|
78
|
+
let useLineNumber = 0;
|
|
79
|
+
for (const [index, line] of lines.entries()) {
|
|
80
|
+
const lineNumber = index + 1;
|
|
81
|
+
const cleanLine = line.replace(/\/\/.*$/, '');
|
|
82
|
+
const trimmed = cleanLine.trim();
|
|
83
|
+
if (useAccumulator) {
|
|
84
|
+
useAccumulator += ' ' + trimmed;
|
|
85
|
+
if (useAccumulator.endsWith(';')) {
|
|
86
|
+
const parsed = parseRustUse(useAccumulator, useLineNumber);
|
|
87
|
+
if (parsed)
|
|
88
|
+
imports.push(parsed);
|
|
89
|
+
useAccumulator = '';
|
|
90
|
+
}
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
if (/^(pub\s+)?use\s+/.test(trimmed)) {
|
|
94
|
+
useAccumulator = trimmed;
|
|
95
|
+
useLineNumber = lineNumber;
|
|
96
|
+
if (useAccumulator.endsWith(';')) {
|
|
97
|
+
const parsed = parseRustUse(useAccumulator, useLineNumber);
|
|
98
|
+
if (parsed)
|
|
99
|
+
imports.push(parsed);
|
|
100
|
+
useAccumulator = '';
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
for (const [index, line] of lines.entries()) {
|
|
105
|
+
const lineNumber = index + 1;
|
|
106
|
+
const cleanLine = line.replace(/\/\/.*$/, '');
|
|
107
|
+
const decl = parseRustDeclaration(cleanLine, lineNumber);
|
|
108
|
+
if (decl) {
|
|
109
|
+
decls.push(decl);
|
|
110
|
+
if (decl.exported) {
|
|
111
|
+
exports.push({ name: decl.name, kind: decl.kind, line: decl.line });
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return { imports, exports, decls };
|
|
116
|
+
}
|
|
117
|
+
export async function resolveRustImport(specifier, fromPath, root) {
|
|
118
|
+
// External crates and std lib — can't resolve to a single file
|
|
119
|
+
if (!specifier.startsWith('crate::') && !specifier.startsWith('self::') && !specifier.startsWith('super::')) {
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
const relativePath = specifier
|
|
123
|
+
.replace(/^(crate|self)::/, '')
|
|
124
|
+
.replace(/super::/g, '../')
|
|
125
|
+
.replace(/::/g, '/');
|
|
126
|
+
const fromDir = path.dirname(path.join(root, fromPath));
|
|
127
|
+
const candidate = path.resolve(fromDir, relativePath);
|
|
128
|
+
// Try as a module file
|
|
129
|
+
for (const name of [`${candidate}.rs`, path.join(candidate, 'mod.rs')]) {
|
|
130
|
+
if (await fileExists(name)) {
|
|
131
|
+
return normalizeRelativePath(path.relative(root, name));
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
export function buildRustTestPatterns(filePath) {
|
|
137
|
+
const dir = path.dirname(filePath);
|
|
138
|
+
const ext = path.extname(filePath);
|
|
139
|
+
const base = path.basename(filePath, ext);
|
|
140
|
+
const forSource = [
|
|
141
|
+
normalizeRelativePath(path.join(dir, `${base}_test.rs`)),
|
|
142
|
+
normalizeRelativePath(path.join(dir, `${base}_spec.rs`)),
|
|
143
|
+
normalizeRelativePath(path.join('tests', `${base}.rs`)),
|
|
144
|
+
];
|
|
145
|
+
return { forSource };
|
|
146
|
+
}
|
|
147
|
+
export const rustProvider = {
|
|
148
|
+
language: 'rust',
|
|
149
|
+
extensions: ['.rs'],
|
|
150
|
+
matches: (filePath) => path.extname(filePath) === '.rs',
|
|
151
|
+
declarationPatterns: (symbol) => [
|
|
152
|
+
`^\\s*(pub(?:\\([^)]+\\))?\\s+)?fn\\s+${escapeRegExp(symbol)}\\b`,
|
|
153
|
+
`^\\s*(pub(?:\\([^)]+\\))?\\s+)?struct\\s+${escapeRegExp(symbol)}\\b`,
|
|
154
|
+
`^\\s*(pub(?:\\([^)]+\\))?\\s+)?enum\\s+${escapeRegExp(symbol)}\\b`,
|
|
155
|
+
`^\\s*(pub(?:\\([^)]+\\))?\\s+)?trait\\s+${escapeRegExp(symbol)}\\b`,
|
|
156
|
+
`^\\s*(pub(?:\\([^)]+\\))?\\s+)?type\\s+${escapeRegExp(symbol)}\\b`,
|
|
157
|
+
`^\\s*(pub(?:\\([^)]+\\))?\\s+)?(const|static)\\s+${escapeRegExp(symbol)}\\b`,
|
|
158
|
+
`^\\s*(pub(?:\\([^)]+\\))?\\s+)?mod\\s+${escapeRegExp(symbol)}\\b`,
|
|
159
|
+
`^\\s*(pub(?:\\([^)]+\\))?\\s+)?union\\s+${escapeRegExp(symbol)}\\b`,
|
|
160
|
+
],
|
|
161
|
+
classifyMatch: (line) => {
|
|
162
|
+
const trimmed = line.trim();
|
|
163
|
+
const kind = /^pub(?:\s|\().*\bfn\b/.test(trimmed) || /^fn\b/.test(trimmed)
|
|
164
|
+
? 'function'
|
|
165
|
+
: /^pub(?:\s|\().*\benum\b/.test(trimmed) || /^enum\b/.test(trimmed)
|
|
166
|
+
? 'enum'
|
|
167
|
+
: /^pub(?:\s|\().*\btrait\b/.test(trimmed) || /^trait\b/.test(trimmed)
|
|
168
|
+
? 'interface'
|
|
169
|
+
: /^pub(?:\s|\().*\bstruct\b/.test(trimmed) || /^struct\b/.test(trimmed)
|
|
170
|
+
? 'type'
|
|
171
|
+
: /^pub(?:\s|\().*\btype\b/.test(trimmed) || /^type\b/.test(trimmed)
|
|
172
|
+
? 'type'
|
|
173
|
+
: /^pub(?:\s|\().*\b(const|static)\b/.test(trimmed) || /^(const|static)\b/.test(trimmed)
|
|
174
|
+
? 'const'
|
|
175
|
+
: /^pub(?:\s|\().*\bmod\b/.test(trimmed) || /^mod\b/.test(trimmed)
|
|
176
|
+
? 'class'
|
|
177
|
+
: /^pub(?:\s|\().*\bunion\b/.test(trimmed) || /^union\b/.test(trimmed)
|
|
178
|
+
? 'type'
|
|
179
|
+
: 'unknown';
|
|
180
|
+
return { kind, exported: /^pub(?:\s|\(|\b)/.test(trimmed) };
|
|
181
|
+
},
|
|
182
|
+
extractOutline: extractRustOutline,
|
|
183
|
+
resolveImport: resolveRustImport,
|
|
184
|
+
testPatterns: buildRustTestPatterns,
|
|
185
|
+
};
|
|
186
|
+
//# sourceMappingURL=rust.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rust.js","sourceRoot":"","sources":["../../../source/tools/languages/rust.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export type DeclarationKind = 'function' | 'async function' | 'class' | 'interface' | 'type' | 'enum' | 'const' | 'let' | 'var' | 'method' | 'unknown';
|
|
2
|
+
export interface ImportEntry {
|
|
3
|
+
specifier: string;
|
|
4
|
+
names: string[];
|
|
5
|
+
line: number;
|
|
6
|
+
}
|
|
7
|
+
export interface DeclEntry {
|
|
8
|
+
name: string;
|
|
9
|
+
kind: DeclarationKind;
|
|
10
|
+
line: number;
|
|
11
|
+
exported: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface ExportEntry {
|
|
14
|
+
name: string;
|
|
15
|
+
kind?: DeclarationKind;
|
|
16
|
+
source?: string;
|
|
17
|
+
line: number;
|
|
18
|
+
}
|
|
19
|
+
export interface Outline {
|
|
20
|
+
imports: ImportEntry[];
|
|
21
|
+
exports: ExportEntry[];
|
|
22
|
+
decls: DeclEntry[];
|
|
23
|
+
}
|
|
24
|
+
export interface LanguageProvider {
|
|
25
|
+
language: string;
|
|
26
|
+
extensions: string[];
|
|
27
|
+
matches: (filePath: string) => boolean;
|
|
28
|
+
declarationPatterns: (symbol: string) => string[];
|
|
29
|
+
classifyMatch: (line: string, symbol: string) => {
|
|
30
|
+
kind: DeclarationKind;
|
|
31
|
+
exported: boolean;
|
|
32
|
+
};
|
|
33
|
+
extractOutline?: (source: string) => Outline;
|
|
34
|
+
resolveImport?: (specifier: string, fromPath: string, root: string) => Promise<string | null>;
|
|
35
|
+
testPatterns?: (filePath: string) => {
|
|
36
|
+
forSource: string[];
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../source/tools/languages/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GACvB,UAAU,GACV,gBAAgB,GAChB,OAAO,GACP,WAAW,GACX,MAAM,GACN,MAAM,GACN,OAAO,GACP,KAAK,GACL,KAAK,GACL,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IAClD,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK;QAAE,IAAI,EAAE,eAAe,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAC9F,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC9F,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK;QAAE,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC9D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../source/tools/languages/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../source/tools/languages/typescript.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAiE,MAAM,YAAY,CAAC;AA6F7G,eAAO,MAAM,kBAAkB,EAAE,gBAgBhC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,gBAKhC,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { escapeRegExp, lineNumberAt, normalizeImportNames, resolveLocalImport, buildTestPatterns, TS_EXTENSIONS, JS_EXTENSIONS, } from './utils.js';
|
|
3
|
+
function* extractImportEntries(source) {
|
|
4
|
+
const sideEffect = /(?:^|[\n;])[ \t]*import\s+['"]([^'"]+)['"]/g;
|
|
5
|
+
for (let m; (m = sideEffect.exec(source));) {
|
|
6
|
+
yield { specifier: m[1], names: [], line: lineNumberAt(source, m.index) };
|
|
7
|
+
}
|
|
8
|
+
// The names region excludes quotes/semicolons/parens so a match cannot cross statements.
|
|
9
|
+
const fromImport = /\bimport\s+(?:type\s+)?([\w*${}\n\r\t ,]+?)\s+from\s*['"]([^'"]+)['"]/g;
|
|
10
|
+
for (let m; (m = fromImport.exec(source));) {
|
|
11
|
+
yield { specifier: m[2], names: normalizeImportNames(m[1]), line: lineNumberAt(source, m.index) };
|
|
12
|
+
}
|
|
13
|
+
const requireImport = /\b(?:const|let|var)\s+([\w*${}\n\r\t ,]+?)\s*=\s*require\(\s*['"]([^'"]+)['"]\s*\)/g;
|
|
14
|
+
for (let m; (m = requireImport.exec(source));) {
|
|
15
|
+
yield { specifier: m[2], names: normalizeImportNames(m[1]), line: lineNumberAt(source, m.index) };
|
|
16
|
+
}
|
|
17
|
+
const dynamicImport = /\bimport\(\s*['"]([^'"]+)['"]\s*\)/g;
|
|
18
|
+
for (let m; (m = dynamicImport.exec(source));) {
|
|
19
|
+
yield { specifier: m[1], names: ['dynamic'], line: lineNumberAt(source, m.index) };
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function* extractReExportEntries(source) {
|
|
23
|
+
const reExport = /\bexport\s+(?:type\s+)?(\*(?:\s+as\s+[\w$]+)?|\{[\s\S]*?\})\s*from\s*['"]([^'"]+)['"]/g;
|
|
24
|
+
for (let m; (m = reExport.exec(source));) {
|
|
25
|
+
const raw = m[1].trim();
|
|
26
|
+
const name = raw.startsWith('{') ? raw.replace(/[{}]/g, '').trim() || '*' : raw;
|
|
27
|
+
yield { source: m[2], name, line: lineNumberAt(source, m.index) };
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function parseTsJsDeclaration(line, lineNumber) {
|
|
31
|
+
if (/^\s/.test(line))
|
|
32
|
+
return null;
|
|
33
|
+
const match = line.match(/^(export\s+)?(?:default\s+)?(?:(async)\s+)?(function|class|interface|type|enum|const|let|var)\s+([A-Za-z_$][\w$]*)\b/);
|
|
34
|
+
if (!match)
|
|
35
|
+
return null;
|
|
36
|
+
const kind = match[2] && match[3] === 'function' ? 'async function' : match[3];
|
|
37
|
+
return {
|
|
38
|
+
kind: kind,
|
|
39
|
+
name: match[4],
|
|
40
|
+
line: lineNumber,
|
|
41
|
+
exported: Boolean(match[1]),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
function classifyTsJsMatch(line) {
|
|
45
|
+
const match = line.match(/^\s*(export\s+)?(?:default\s+)?(?:(async)\s+)?(?:abstract\s+)?(?:const\s+)?(function|class|interface|type|enum|const|let|var)\b/);
|
|
46
|
+
const rawKind = match?.[3] ?? 'unknown';
|
|
47
|
+
const isAsync = Boolean(match?.[2]);
|
|
48
|
+
const kind = isAsync && rawKind === 'function' ? 'async function' : rawKind;
|
|
49
|
+
return {
|
|
50
|
+
kind,
|
|
51
|
+
exported: Boolean(match?.[1]),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function extractTsJsOutline(source) {
|
|
55
|
+
const imports = [...extractImportEntries(source)].sort((a, b) => a.line - b.line);
|
|
56
|
+
const exports = [...extractReExportEntries(source)];
|
|
57
|
+
const decls = [];
|
|
58
|
+
const lines = source.split('\n');
|
|
59
|
+
for (const [index, line] of lines.entries()) {
|
|
60
|
+
const decl = parseTsJsDeclaration(line, index + 1);
|
|
61
|
+
if (decl) {
|
|
62
|
+
decls.push(decl);
|
|
63
|
+
if (decl.exported) {
|
|
64
|
+
exports.push({ name: decl.name, kind: decl.kind, line: decl.line });
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.sort((a, b) => a.line - b.line);
|
|
69
|
+
return { imports, exports, decls };
|
|
70
|
+
}
|
|
71
|
+
export const typescriptProvider = {
|
|
72
|
+
language: 'typescript',
|
|
73
|
+
extensions: TS_EXTENSIONS,
|
|
74
|
+
matches: (filePath) => TS_EXTENSIONS.includes(path.extname(filePath)),
|
|
75
|
+
declarationPatterns: (symbol) => [
|
|
76
|
+
`^\\s*(export\\s+)?(default\\s+)?(async\\s+)?function\\s+${escapeRegExp(symbol)}\\b`,
|
|
77
|
+
`^\\s*(export\\s+)?(default\\s+)?(abstract\\s+)?class\\s+${escapeRegExp(symbol)}\\b`,
|
|
78
|
+
`^\\s*(export\\s+)?interface\\s+${escapeRegExp(symbol)}\\b`,
|
|
79
|
+
`^\\s*(export\\s+)?type\\s+${escapeRegExp(symbol)}\\b`,
|
|
80
|
+
`^\\s*(export\\s+)?(const\\s+)?enum\\s+${escapeRegExp(symbol)}\\b`,
|
|
81
|
+
`^\\s*(export\\s+)?(const|let|var)\\s+${escapeRegExp(symbol)}\\b`,
|
|
82
|
+
],
|
|
83
|
+
classifyMatch: classifyTsJsMatch,
|
|
84
|
+
extractOutline: extractTsJsOutline,
|
|
85
|
+
resolveImport: resolveLocalImport,
|
|
86
|
+
testPatterns: buildTestPatterns,
|
|
87
|
+
};
|
|
88
|
+
export const javascriptProvider = {
|
|
89
|
+
...typescriptProvider,
|
|
90
|
+
language: 'javascript',
|
|
91
|
+
extensions: JS_EXTENSIONS,
|
|
92
|
+
matches: (filePath) => JS_EXTENSIONS.includes(path.extname(filePath)),
|
|
93
|
+
};
|
|
94
|
+
//# sourceMappingURL=typescript.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../source/tools/languages/typescript.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const TS_EXTENSIONS: string[];
|
|
2
|
+
export declare const JS_EXTENSIONS: string[];
|
|
3
|
+
export declare const CODE_EXTENSIONS: string[];
|
|
4
|
+
export declare function escapeRegExp(value: string): string;
|
|
5
|
+
export declare function normalizeRelativePath(filePath: string): string;
|
|
6
|
+
export declare function isLocalSpecifier(specifier: string): boolean;
|
|
7
|
+
export declare function fileExists(absolutePath: string): Promise<boolean>;
|
|
8
|
+
export declare function lineNumberAt(source: string, index: number): number;
|
|
9
|
+
export declare function normalizeImportNames(rawNames: string): string[];
|
|
10
|
+
export declare function resolveLocalImport(specifier: string, fromPath: string, root: string): Promise<string | null>;
|
|
11
|
+
export declare function buildTestPatterns(filePath: string): {
|
|
12
|
+
forSource: string[];
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../source/tools/languages/utils.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,UAAkC,CAAC;AAC7D,eAAO,MAAM,aAAa,UAAkC,CAAC;AAC7D,eAAO,MAAM,eAAe,UAAgD,CAAC;AAE7E,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,wBAAsB,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAKvE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAMlE;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAO/D;AAED,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAwBlH;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAY3E"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import * as fs from 'fs/promises';
|
|
3
|
+
export const TS_EXTENSIONS = ['.ts', '.tsx', '.mts', '.cts'];
|
|
4
|
+
export const JS_EXTENSIONS = ['.js', '.jsx', '.mjs', '.cjs'];
|
|
5
|
+
export const CODE_EXTENSIONS = [...TS_EXTENSIONS, ...JS_EXTENSIONS, '.json'];
|
|
6
|
+
export function escapeRegExp(value) {
|
|
7
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
8
|
+
}
|
|
9
|
+
export function normalizeRelativePath(filePath) {
|
|
10
|
+
return filePath.replace(/\\/g, '/').replace(/^\.\//, '');
|
|
11
|
+
}
|
|
12
|
+
export function isLocalSpecifier(specifier) {
|
|
13
|
+
return specifier.startsWith('./') || specifier.startsWith('../');
|
|
14
|
+
}
|
|
15
|
+
export async function fileExists(absolutePath) {
|
|
16
|
+
return fs
|
|
17
|
+
.stat(absolutePath)
|
|
18
|
+
.then((stat) => stat.isFile())
|
|
19
|
+
.catch(() => false);
|
|
20
|
+
}
|
|
21
|
+
export function lineNumberAt(source, index) {
|
|
22
|
+
let line = 1;
|
|
23
|
+
for (let i = 0; i < index; i++) {
|
|
24
|
+
if (source[i] === '\n')
|
|
25
|
+
line++;
|
|
26
|
+
}
|
|
27
|
+
return line;
|
|
28
|
+
}
|
|
29
|
+
export function normalizeImportNames(rawNames) {
|
|
30
|
+
return rawNames
|
|
31
|
+
.replace(/[{}]/g, '')
|
|
32
|
+
.split(',')
|
|
33
|
+
.map((part) => part.replace(/\s+/g, ' ').trim())
|
|
34
|
+
.map((part) => (part.startsWith('type ') ? part.slice(5).trim() : part))
|
|
35
|
+
.filter(Boolean);
|
|
36
|
+
}
|
|
37
|
+
export async function resolveLocalImport(specifier, fromPath, root) {
|
|
38
|
+
if (!isLocalSpecifier(specifier))
|
|
39
|
+
return null;
|
|
40
|
+
const fromDir = path.dirname(path.join(root, fromPath));
|
|
41
|
+
const base = path.resolve(fromDir, specifier);
|
|
42
|
+
// A `.js`/`.mjs`/`.jsx` specifier resolves to its `.ts`/`.mts`/`.tsx`
|
|
43
|
+
// source under the TS ESM convention, so also try the extension-stripped form.
|
|
44
|
+
const baseExtension = path.extname(base);
|
|
45
|
+
const strippedBase = CODE_EXTENSIONS.includes(baseExtension) ? base.slice(0, -baseExtension.length) : base;
|
|
46
|
+
const candidates = [
|
|
47
|
+
base,
|
|
48
|
+
...CODE_EXTENSIONS.map((extension) => `${base}${extension}`),
|
|
49
|
+
...(strippedBase !== base ? CODE_EXTENSIONS.map((extension) => `${strippedBase}${extension}`) : []),
|
|
50
|
+
...CODE_EXTENSIONS.map((extension) => path.join(base, `index${extension}`)),
|
|
51
|
+
];
|
|
52
|
+
for (const candidate of candidates) {
|
|
53
|
+
const resolved = normalizeRelativePath(path.relative(root, candidate));
|
|
54
|
+
if (!resolved.startsWith('..') && (await fileExists(candidate))) {
|
|
55
|
+
return resolved;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
export function buildTestPatterns(filePath) {
|
|
61
|
+
const dir = path.dirname(filePath);
|
|
62
|
+
const ext = path.extname(filePath);
|
|
63
|
+
const base = path.basename(filePath, ext).replace(/\.(test|spec)$/, '');
|
|
64
|
+
const extensions = ['.ts', '.tsx', '.js', '.jsx'];
|
|
65
|
+
const forSource = extensions.flatMap((extension) => [
|
|
66
|
+
normalizeRelativePath(path.join(dir, `${base}.test${extension}`)),
|
|
67
|
+
normalizeRelativePath(path.join(dir, `${base}.spec${extension}`)),
|
|
68
|
+
normalizeRelativePath(path.join(dir, '__tests__', `${base}.test${extension}`)),
|
|
69
|
+
normalizeRelativePath(path.join('tests', `${base}.test${extension}`)),
|
|
70
|
+
]);
|
|
71
|
+
return { forSource };
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../source/tools/languages/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,6 @@ import type { SubagentResult } from '../services/subagents/types.js';
|
|
|
4
4
|
declare const runSubagentSchema: z.ZodObject<{
|
|
5
5
|
role: z.ZodString;
|
|
6
6
|
task: z.ZodString;
|
|
7
|
-
writeBoundary: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
8
7
|
}, z.core.$strip>;
|
|
9
8
|
export type RunSubagentParams = z.infer<typeof runSubagentSchema>;
|
|
10
9
|
export declare const formatRunSubagentCommandMessage: FormatCommandMessage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-subagent.d.ts","sourceRoot":"","sources":["../../source/tools/run-subagent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAQvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE,QAAA,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"run-subagent.d.ts","sourceRoot":"","sources":["../../source/tools/run-subagent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAQvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE,QAAA,MAAM,iBAAiB;;;iBAQrB,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAmDlE,eAAO,MAAM,+BAA+B,EAAE,oBAqD7C,CAAC;AAEF,wBAAgB,wBAAwB,IAAI,MAAM,CAsEjD;AAED,eAAO,MAAM,+BAA+B,GAC1C,aAAa,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,cAAc,CAAC,KACxG,cAAc,CAAC,iBAAiB,CA8BjC,CAAC"}
|
|
@@ -8,11 +8,6 @@ const runSubagentSchema = z.object({
|
|
|
8
8
|
.string()
|
|
9
9
|
.describe('The full task description. Include all relevant context, constraints, and the expected output format. ' +
|
|
10
10
|
'The subagent has no access to your conversation history or reasoning.'),
|
|
11
|
-
writeBoundary: z
|
|
12
|
-
.array(z.string())
|
|
13
|
-
.optional()
|
|
14
|
-
.describe('For worker role: restrict writes to these relative paths within the workspace. ' +
|
|
15
|
-
'Defaults to the workspace root when omitted.'),
|
|
16
11
|
});
|
|
17
12
|
const MAX_PREVIEW_LENGTH = 300;
|
|
18
13
|
function truncatePreview(text) {
|
|
@@ -172,9 +167,7 @@ export const createRunSubagentToolDefinition = (runSubagent) => ({
|
|
|
172
167
|
getSubagentsRolesSection() +
|
|
173
168
|
'## Task Requirements\n' +
|
|
174
169
|
'The task must be fully self-contained. Include all context, constraints, and the expected output format. ' +
|
|
175
|
-
'The subagent has no access to your conversation history or reasoning
|
|
176
|
-
'## Write Boundary (worker only)\n' +
|
|
177
|
-
'Use `writeBoundary` to restrict which paths the worker may modify. Omit to allow writes anywhere in the workspace.',
|
|
170
|
+
'The subagent has no access to your conversation history or reasoning.',
|
|
178
171
|
parameters: runSubagentSchema,
|
|
179
172
|
needsApproval: () => false,
|
|
180
173
|
execute: async (params, context, details) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-subagent.js","sourceRoot":"","sources":["../../source/tools/run-subagent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,GACd,MAAM,qBAAqB,CAAC;AAG7B,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4EAA4E,CAAC;IACvG,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,CACP,wGAAwG;QACtG,uEAAuE,CAC1E;
|
|
1
|
+
{"version":3,"file":"run-subagent.js","sourceRoot":"","sources":["../../source/tools/run-subagent.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,15 +23,6 @@ test('schema requires role and task', (t) => {
|
|
|
23
23
|
t.false(tool.parameters.safeParse({ role: 'explorer' }).success);
|
|
24
24
|
t.false(tool.parameters.safeParse({ task: 'find files' }).success);
|
|
25
25
|
});
|
|
26
|
-
test('schema allows optional writeBoundary', (t) => {
|
|
27
|
-
const tool = createRunSubagentToolDefinition(async () => makeResult());
|
|
28
|
-
t.true(tool.parameters.safeParse({
|
|
29
|
-
role: 'worker',
|
|
30
|
-
task: 'edit files',
|
|
31
|
-
writeBoundary: ['src/', 'tests/'],
|
|
32
|
-
}).success);
|
|
33
|
-
t.true(tool.parameters.safeParse({ role: 'worker', task: 'edit files' }).success);
|
|
34
|
-
});
|
|
35
26
|
test('execute returns plain-text SubagentResult', async (t) => {
|
|
36
27
|
const expected = makeResult({ finalText: 'Answer here.' });
|
|
37
28
|
const tool = createRunSubagentToolDefinition(async () => expected);
|
|
@@ -49,15 +40,6 @@ test('execute returns failed result as plain text on error', async (t) => {
|
|
|
49
40
|
t.true(raw.includes('Error: Connection failed'));
|
|
50
41
|
t.false(raw.startsWith('{'));
|
|
51
42
|
});
|
|
52
|
-
test('execute passes writeBoundary to subagent runner', async (t) => {
|
|
53
|
-
let capturedParams = null;
|
|
54
|
-
const tool = createRunSubagentToolDefinition(async (params) => {
|
|
55
|
-
capturedParams = params;
|
|
56
|
-
return makeResult();
|
|
57
|
-
});
|
|
58
|
-
await tool.execute({ role: 'worker', task: 'update file', writeBoundary: ['src/'] });
|
|
59
|
-
t.deepEqual(capturedParams.writeBoundary, ['src/']);
|
|
60
|
-
});
|
|
61
43
|
test('execute passes tool invocation details to subagent runner', async (t) => {
|
|
62
44
|
let capturedDetails;
|
|
63
45
|
const tool = createRunSubagentToolDefinition(async (_params, _context, details) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-subagent.test.js","sourceRoot":"","sources":["../../source/tools/run-subagent.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-subagent.test.js","sourceRoot":"","sources":["../../source/tools/run-subagent.test.ts"],"names":[],"mappings":"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"}
|