@aria-cli/cli 1.0.57 → 1.0.59
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/bin/aria.mjs +799 -668
- package/package.json +17 -76
- package/dist/.tsbuildinfo +0 -1
- package/dist/attached-local-control-client.js +0 -826
- package/dist/bootstrap-local-control-client.js +0 -2
- package/dist/capability-aware-method-proxy.js +0 -42
- package/dist/cli-context.js +0 -160
- package/dist/commands/arions.js +0 -174
- package/dist/commands/auth.js +0 -123
- package/dist/commands/daemon.js +0 -367
- package/dist/commands/definitions.js +0 -176
- package/dist/commands/index.js +0 -80
- package/dist/commands/login-handler.js +0 -1108
- package/dist/commands/logout-handler.js +0 -92
- package/dist/commands/memory-handlers.js +0 -89
- package/dist/commands/pairing.js +0 -60
- package/dist/commands/runtime-cutover-reset-command.js +0 -12
- package/dist/commands/runtime-cutover-reset.js +0 -265
- package/dist/commands/terminal-setup.js +0 -84
- package/dist/config/aria-config.js +0 -238
- package/dist/config/index.js +0 -3
- package/dist/config/loader.js +0 -97
- package/dist/config.js +0 -142
- package/dist/daemon-info.js +0 -10
- package/dist/ensure-daemon.js +0 -128
- package/dist/entrypoints/command-mode.js +0 -5
- package/dist/entrypoints/daemon.js +0 -50
- package/dist/entrypoints/headless-stdio.js +0 -25
- package/dist/entrypoints/interactive.js +0 -80
- package/dist/event-loop-watchdog.js +0 -73
- package/dist/headless/auth-orchestrator.js +0 -508
- package/dist/headless/auth-service.js +0 -43
- package/dist/headless/bootstrap-fast-path.js +0 -112
- package/dist/headless/call-command.js +0 -143
- package/dist/headless/daemon-service.js +0 -318
- package/dist/headless/hook-actions.js +0 -235
- package/dist/headless/hook-service.js +0 -42
- package/dist/headless/kernel-services.js +0 -216
- package/dist/headless/kernel.js +0 -785
- package/dist/headless/operations/arion.js +0 -119
- package/dist/headless/operations/auth.js +0 -45
- package/dist/headless/operations/client.js +0 -31
- package/dist/headless/operations/config.js +0 -69
- package/dist/headless/operations/daemon.js +0 -47
- package/dist/headless/operations/hook.js +0 -56
- package/dist/headless/operations/index.js +0 -11
- package/dist/headless/operations/memory.js +0 -102
- package/dist/headless/operations/message.js +0 -279
- package/dist/headless/operations/model.js +0 -100
- package/dist/headless/operations/peer.js +0 -56
- package/dist/headless/operations/run.js +0 -24
- package/dist/headless/operations/session.js +0 -90
- package/dist/headless/operations/system.js +0 -19
- package/dist/headless/operations/utils.js +0 -35
- package/dist/headless/run-orchestrator.js +0 -703
- package/dist/headless/stdio-server.js +0 -439
- package/dist/history/SessionHistory.js +0 -8
- package/dist/history/SessionHistoryClient.js +0 -186
- package/dist/history/conversation-message.js +0 -112
- package/dist/history/index.js +0 -8
- package/dist/history/jsonl-replay.js +0 -154
- package/dist/history/repair-tool-pairing.js +0 -84
- package/dist/history/stall-phase-bridge.js +0 -11
- package/dist/history/turn-accumulator.js +0 -427
- package/dist/index.js +0 -7
- package/dist/ink-repl.js +0 -4183
- package/dist/local-control-bootstrap.js +0 -26
- package/dist/local-control-client.js +0 -2
- package/dist/local-control-error-reporting.js +0 -34
- package/dist/local-control-http-client.js +0 -362
- package/dist/local-control-lazy-wrapper.js +0 -363
- package/dist/local-control-manager.js +0 -146
- package/dist/main.js +0 -62
- package/dist/network-security.js +0 -62
- package/dist/networking-server.js +0 -38
- package/dist/peer-identity.js +0 -23
- package/dist/polling-subscription.js +0 -34
- package/dist/relaunch.js +0 -617
- package/dist/release-notes.js +0 -35
- package/dist/repl-cleanup.js +0 -47
- package/dist/runtime/configure-bun-sqlite.js +0 -3
- package/dist/runtime/crash-handlers.js +0 -111
- package/dist/runtime/interactive-invocation.js +0 -39
- package/dist/runtime/internal-mode.js +0 -14
- package/dist/runtime/launch-spec.js +0 -64
- package/dist/runtime/owner-lease.js +0 -44
- package/dist/runtime/public-mode.js +0 -20
- package/dist/runtime/run-internal-mode.js +0 -18
- package/dist/runtime/runtime-kind.js +0 -32
- package/dist/runtime/spawn-aria.js +0 -38
- package/dist/selectable-client.js +0 -2
- package/dist/selectable-peer.js +0 -2
- package/dist/session.js +0 -203
- package/dist/slash-commands.js +0 -80
- package/dist/sounds.js +0 -210
- package/dist/ui/App.js +0 -526
- package/dist/ui/components/AnthropicMethodPicker.js +0 -6
- package/dist/ui/components/ArionPrompt.js +0 -15
- package/dist/ui/components/AutocompleteDropdown.js +0 -23
- package/dist/ui/components/AutonomySelector.js +0 -55
- package/dist/ui/components/Banner.js +0 -98
- package/dist/ui/components/ConversationHistory.js +0 -175
- package/dist/ui/components/CopilotDeviceLoginFlow.js +0 -88
- package/dist/ui/components/CopilotSourcePicker.js +0 -50
- package/dist/ui/components/Cost.js +0 -10
- package/dist/ui/components/CustomSelect/option-map.js +0 -30
- package/dist/ui/components/CustomSelect/select-option.js +0 -13
- package/dist/ui/components/CustomSelect/select.js +0 -42
- package/dist/ui/components/CustomSelect/use-select-state.js +0 -179
- package/dist/ui/components/CustomSelect/use-select.js +0 -15
- package/dist/ui/components/ErrorDisplay.js +0 -35
- package/dist/ui/components/FallbackToolUseRejectedMessage.js +0 -7
- package/dist/ui/components/FileEditToolUpdatedMessage.js +0 -57
- package/dist/ui/components/HandoffMarker.js +0 -18
- package/dist/ui/components/HighlightedCode.js +0 -21
- package/dist/ui/components/InputArea.js +0 -187
- package/dist/ui/components/Message.js +0 -25
- package/dist/ui/components/OAuthLoginFlow.js +0 -113
- package/dist/ui/components/OutputTruncation.js +0 -35
- package/dist/ui/components/PermissionPrompt.js +0 -79
- package/dist/ui/components/PipelineTimingPanel.js +0 -15
- package/dist/ui/components/ProviderMethodPicker.js +0 -61
- package/dist/ui/components/ProviderPicker.js +0 -63
- package/dist/ui/components/RenderItemView.js +0 -71
- package/dist/ui/components/Spinner.js +0 -46
- package/dist/ui/components/StatusBar.js +0 -95
- package/dist/ui/components/StreamingIndicator.js +0 -55
- package/dist/ui/components/StructuredDiff.js +0 -168
- package/dist/ui/components/TextInputOverlay.js +0 -43
- package/dist/ui/components/ThinkingBlock.js +0 -82
- package/dist/ui/components/ToolCost.js +0 -17
- package/dist/ui/components/ToolExecution.js +0 -61
- package/dist/ui/components/ToolHeader.js +0 -51
- package/dist/ui/components/ToolRenderLayoutContext.js +0 -14
- package/dist/ui/components/ToolResultWrapper.js +0 -6
- package/dist/ui/components/ToolUseLoader.js +0 -35
- package/dist/ui/components/TraceWaterfall.js +0 -91
- package/dist/ui/components/index.js +0 -33
- package/dist/ui/components/messages/AssistantTextMessage.js +0 -25
- package/dist/ui/components/messages/UserImageMessage.js +0 -12
- package/dist/ui/components/messages/UserTextMessage.js +0 -12
- package/dist/ui/components/overlays/ArionSelector.js +0 -68
- package/dist/ui/components/overlays/ClientSelector.js +0 -62
- package/dist/ui/components/overlays/CommandPalette.js +0 -67
- package/dist/ui/components/overlays/DaemonControl.js +0 -87
- package/dist/ui/components/overlays/InviteShareOverlay.js +0 -15
- package/dist/ui/components/overlays/JoinInviteOverlay.js +0 -32
- package/dist/ui/components/overlays/MemoryBrowser.js +0 -100
- package/dist/ui/components/overlays/MessageSelector.js +0 -123
- package/dist/ui/components/overlays/ModelSelector.js +0 -211
- package/dist/ui/components/overlays/PairRequestOverlay.js +0 -42
- package/dist/ui/components/overlays/PeerSelector.js +0 -84
- package/dist/ui/components/overlays/SessionSelector.js +0 -102
- package/dist/ui/components/overlays/SoundSelector.js +0 -86
- package/dist/ui/components/overlays/ThemeSelector.js +0 -139
- package/dist/ui/components/overlays/index.js +0 -15
- package/dist/ui/components/permissions/BashPermissionRequest/BashPermissionRequest.js +0 -53
- package/dist/ui/components/permissions/FallbackPermissionRequest.js +0 -56
- package/dist/ui/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.js +0 -76
- package/dist/ui/components/permissions/FileEditPermissionRequest/FileEditToolDiff.js +0 -18
- package/dist/ui/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.js +0 -64
- package/dist/ui/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.js +0 -26
- package/dist/ui/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.js +0 -141
- package/dist/ui/components/permissions/PermissionRequest.js +0 -70
- package/dist/ui/components/permissions/PermissionRequestTitle.js +0 -41
- package/dist/ui/components/permissions/hooks.js +0 -10
- package/dist/ui/components/permissions/toolUseOptions.js +0 -68
- package/dist/ui/components/permissions/utils.js +0 -10
- package/dist/ui/components/text-input/Cursor.js +0 -326
- package/dist/ui/components/text-input/TextInput.js +0 -231
- package/dist/ui/components/text-input/imagePaste.js +0 -28
- package/dist/ui/components/text-input/index.js +0 -6
- package/dist/ui/components/text-input/useDoublePress.js +0 -30
- package/dist/ui/components/text-input/useTextInput.js +0 -245
- package/dist/ui/components/tool-types.js +0 -9
- package/dist/ui/constants/figures.js +0 -4
- package/dist/ui/constants/index.js +0 -3
- package/dist/ui/display-mode.js +0 -93
- package/dist/ui/display-policy.js +0 -19
- package/dist/ui/hooks/index.js +0 -6
- package/dist/ui/hooks/useCommandAutocomplete.js +0 -93
- package/dist/ui/hooks/useDoublePress.js +0 -37
- package/dist/ui/hooks/useIndicatorState.js +0 -55
- package/dist/ui/hooks/useInterval.js +0 -23
- package/dist/ui/hooks/useKeyboardShortcuts.js +0 -127
- package/dist/ui/hooks/useTerminalSize.js +0 -55
- package/dist/ui/hooks/useUnifiedMessages.js +0 -117
- package/dist/ui/indicator-state.js +0 -44
- package/dist/ui/markdown/highlight.js +0 -44
- package/dist/ui/markdown/index.js +0 -1460
- package/dist/ui/markdown/tokenizer.js +0 -24
- package/dist/ui/render-item.js +0 -5
- package/dist/ui/screens/REPL.js +0 -119
- package/dist/ui/screens/approval-lifecycle.js +0 -38
- package/dist/ui/status-line.js +0 -72
- package/dist/ui/theme/index.js +0 -51
- package/dist/ui/theme/themes/claude-dark-daltonized.js +0 -51
- package/dist/ui/theme/themes/claude-dark.js +0 -50
- package/dist/ui/theme/themes/claude-light-daltonized.js +0 -51
- package/dist/ui/theme/themes/claude-light.js +0 -50
- package/dist/ui/theme/themes/dark-accessible.js +0 -18
- package/dist/ui/theme/themes/dark.js +0 -49
- package/dist/ui/theme/themes/light-accessible.js +0 -18
- package/dist/ui/theme/themes/light.js +0 -49
- package/dist/ui/theme/types.js +0 -3
- package/dist/ui/theme.js +0 -142
- package/dist/ui/to-render-items.js +0 -145
- package/dist/ui/tools/AgentTool/index.js +0 -30
- package/dist/ui/tools/ArchitectTool/index.js +0 -31
- package/dist/ui/tools/AskUserTool/index.js +0 -46
- package/dist/ui/tools/BashTool/BashToolResultMessage.js +0 -11
- package/dist/ui/tools/BashTool/OutputLine.js +0 -21
- package/dist/ui/tools/BashTool/index.js +0 -91
- package/dist/ui/tools/BrowseTool/index.js +0 -43
- package/dist/ui/tools/BrowserTool/index.js +0 -47
- package/dist/ui/tools/CbmTool/index.js +0 -188
- package/dist/ui/tools/CheckDelegationTool/index.js +0 -46
- package/dist/ui/tools/CheckMessagesTool/index.js +0 -85
- package/dist/ui/tools/CreateQuipTool/index.js +0 -30
- package/dist/ui/tools/CreateSkillTool/index.js +0 -22
- package/dist/ui/tools/CreateToolTool/index.js +0 -31
- package/dist/ui/tools/DelegateRemoteTool/index.js +0 -42
- package/dist/ui/tools/DeployTool/index.js +0 -47
- package/dist/ui/tools/FffTool/index.js +0 -103
- package/dist/ui/tools/FileEditTool/index.js +0 -67
- package/dist/ui/tools/FileReadTool/index.js +0 -68
- package/dist/ui/tools/FileWriteTool/index.js +0 -61
- package/dist/ui/tools/ForkTool/index.js +0 -47
- package/dist/ui/tools/FrgTool/index.js +0 -96
- package/dist/ui/tools/GetThreadTool/index.js +0 -39
- package/dist/ui/tools/GlobTool/index.js +0 -50
- package/dist/ui/tools/GrepTool/index.js +0 -84
- package/dist/ui/tools/HatchArionTool/index.js +0 -36
- package/dist/ui/tools/LearnSkillTool/index.js +0 -22
- package/dist/ui/tools/LearnTool/index.js +0 -43
- package/dist/ui/tools/LearnToolTool/index.js +0 -22
- package/dist/ui/tools/ListClientsTool/index.js +0 -39
- package/dist/ui/tools/LspTool/index.js +0 -261
- package/dist/ui/tools/MCPTool/index.js +0 -33
- package/dist/ui/tools/ManageNetworkTool/index.js +0 -53
- package/dist/ui/tools/MemoryReadTool/index.js +0 -64
- package/dist/ui/tools/MemoryWriteTool/index.js +0 -20
- package/dist/ui/tools/NotebookEditTool/index.js +0 -33
- package/dist/ui/tools/NotebookReadTool/index.js +0 -25
- package/dist/ui/tools/OutlookReadTool/index.js +0 -66
- package/dist/ui/tools/OutlookReplyTool/index.js +0 -49
- package/dist/ui/tools/OutlookSendTool/index.js +0 -49
- package/dist/ui/tools/PauseDelegationTool/index.js +0 -35
- package/dist/ui/tools/ProbeTool/index.js +0 -121
- package/dist/ui/tools/ProcessTool/index.js +0 -66
- package/dist/ui/tools/QuestListTool/index.js +0 -46
- package/dist/ui/tools/QuestReportTool/index.js +0 -49
- package/dist/ui/tools/QuestUpdateTool/index.js +0 -87
- package/dist/ui/tools/QuipCommentTool/index.js +0 -69
- package/dist/ui/tools/QuipReadTool/index.js +0 -71
- package/dist/ui/tools/RestArionTool/index.js +0 -32
- package/dist/ui/tools/RestartTool/index.js +0 -35
- package/dist/ui/tools/ResumeDelegationTool/index.js +0 -35
- package/dist/ui/tools/RetireArionTool/index.js +0 -32
- package/dist/ui/tools/RgTool/index.js +0 -73
- package/dist/ui/tools/SearchKnowledgeTool/index.js +0 -43
- package/dist/ui/tools/SearchMessagesTool/index.js +0 -43
- package/dist/ui/tools/SelfDiagnoseTool/index.js +0 -61
- package/dist/ui/tools/SendMessageTool/index.js +0 -45
- package/dist/ui/tools/SerenaTool/index.js +0 -124
- package/dist/ui/tools/SessionHistoryTool/index.js +0 -52
- package/dist/ui/tools/SgTool/index.js +0 -80
- package/dist/ui/tools/SlackReactTool/index.js +0 -41
- package/dist/ui/tools/SlackReadTool/index.js +0 -48
- package/dist/ui/tools/SlackSendTool/index.js +0 -45
- package/dist/ui/tools/SpawnWorkerTool/index.js +0 -33
- package/dist/ui/tools/StickerRequestTool/index.js +0 -19
- package/dist/ui/tools/ThinkTool/index.js +0 -17
- package/dist/ui/tools/UgTool/index.js +0 -108
- package/dist/ui/tools/UseSkillTool/index.js +0 -22
- package/dist/ui/tools/WakeArionTool/index.js +0 -32
- package/dist/ui/tools/WebFetchTool/index.js +0 -56
- package/dist/ui/tools/WebSearchTool/index.js +0 -44
- package/dist/ui/tools/lsTool/index.js +0 -58
- package/dist/ui/tools/registry.js +0 -197
- package/dist/ui/tools/tool-renderer.js +0 -11
- package/dist/ui/tools/truncation.js +0 -35
- package/dist/ui/types/anthropic.js +0 -4
- package/dist/ui/types/index.js +0 -2
- package/dist/ui/types/message.js +0 -3
- package/dist/ui/types/tool.js +0 -4
- package/dist/ui/utils/array.js +0 -4
- package/dist/ui/utils/cursor.js +0 -131
- package/dist/ui/utils/diff.js +0 -120
- package/dist/ui/utils/format.js +0 -42
- package/dist/ui/utils/fuzzy.js +0 -59
- package/dist/ui/utils/index.js +0 -11
- package/dist/ui/utils/keys.js +0 -8
- package/dist/ui/utils/patch.js +0 -17
- package/dist/ui/utils/risk.js +0 -114
- package/dist/ui/utils/terminal-image.js +0 -70
- package/dist/ui/utils/validation.js +0 -48
- package/dist/ui/verb-pairs.js +0 -248
- package/dist/ui.js +0 -131
- package/src/entrypoints/command-mode.ts +0 -5
- package/src/entrypoints/daemon.ts +0 -54
- package/src/entrypoints/headless-stdio.ts +0 -27
- package/src/entrypoints/interactive.ts +0 -112
- package/src/main.ts +0 -72
- package/src/runtime/configure-bun-sqlite.ts +0 -3
- package/src/runtime/crash-handlers.ts +0 -128
- package/src/runtime/interactive-invocation.test.ts +0 -42
- package/src/runtime/interactive-invocation.ts +0 -51
- package/src/runtime/internal-mode.test.ts +0 -19
- package/src/runtime/internal-mode.ts +0 -24
- package/src/runtime/launch-spec.test.ts +0 -26
- package/src/runtime/launch-spec.ts +0 -84
- package/src/runtime/owner-lease.ts +0 -52
- package/src/runtime/public-mode.test.ts +0 -18
- package/src/runtime/public-mode.ts +0 -19
- package/src/runtime/run-internal-mode.ts +0 -19
- package/src/runtime/runtime-kind.test.ts +0 -23
- package/src/runtime/runtime-kind.ts +0 -41
- package/src/runtime/spawn-aria.ts +0 -62
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TOOL_RENDERERS — canonical map from tool name → ToolRenderer.
|
|
3
|
-
*
|
|
4
|
-
* Single source of truth. Consumed by ToolExecution.tsx and REPL.tsx.
|
|
5
|
-
* Each renderer implements the ToolRenderer interface (see tool-renderer.ts).
|
|
6
|
-
*/
|
|
7
|
-
import { BashToolRenderers } from "./BashTool/index.js";
|
|
8
|
-
import { FileEditToolRenderers } from "./FileEditTool/index.js";
|
|
9
|
-
import { FileReadToolRenderers } from "./FileReadTool/index.js";
|
|
10
|
-
import { FileWriteToolRenderers } from "./FileWriteTool/index.js";
|
|
11
|
-
import { GrepToolRenderers } from "./GrepTool/index.js";
|
|
12
|
-
import { GlobToolRenderers } from "./GlobTool/index.js";
|
|
13
|
-
import { LsToolRenderers } from "./lsTool/index.js";
|
|
14
|
-
import { MCPToolRenderers } from "./MCPTool/index.js";
|
|
15
|
-
import { ThinkToolRenderers } from "./ThinkTool/index.js";
|
|
16
|
-
import { MemoryReadToolRenderers } from "./MemoryReadTool/index.js";
|
|
17
|
-
import { MemoryWriteToolRenderers } from "./MemoryWriteTool/index.js";
|
|
18
|
-
import { AgentToolRenderers } from "./AgentTool/index.js";
|
|
19
|
-
import { NotebookReadToolRenderers } from "./NotebookReadTool/index.js";
|
|
20
|
-
import { NotebookEditToolRenderers } from "./NotebookEditTool/index.js";
|
|
21
|
-
import { ArchitectToolRenderers } from "./ArchitectTool/index.js";
|
|
22
|
-
import { StickerRequestToolRenderers } from "./StickerRequestTool/index.js";
|
|
23
|
-
import { WebFetchToolRenderers } from "./WebFetchTool/index.js";
|
|
24
|
-
import { BrowseToolRenderers } from "./BrowseTool/index.js";
|
|
25
|
-
import { WebSearchToolRenderers } from "./WebSearchTool/index.js";
|
|
26
|
-
import { LearnToolRenderers } from "./LearnTool/index.js";
|
|
27
|
-
import { LearnToolToolRenderers } from "./LearnToolTool/index.js";
|
|
28
|
-
import { LearnSkillToolRenderers } from "./LearnSkillTool/index.js";
|
|
29
|
-
import { CreateToolToolRenderers } from "./CreateToolTool/index.js";
|
|
30
|
-
import { CreateSkillToolRenderers } from "./CreateSkillTool/index.js";
|
|
31
|
-
import { UseSkillToolRenderers } from "./UseSkillTool/index.js";
|
|
32
|
-
import { QuestListToolRenderers } from "./QuestListTool/index.js";
|
|
33
|
-
import { QuestUpdateToolRenderers } from "./QuestUpdateTool/index.js";
|
|
34
|
-
import { AskUserToolRenderers } from "./AskUserTool/index.js";
|
|
35
|
-
import { HatchArionToolRenderers } from "./HatchArionTool/index.js";
|
|
36
|
-
import { RestArionToolRenderers } from "./RestArionTool/index.js";
|
|
37
|
-
import { WakeArionToolRenderers } from "./WakeArionTool/index.js";
|
|
38
|
-
import { RetireArionToolRenderers } from "./RetireArionTool/index.js";
|
|
39
|
-
import { SpawnWorkerToolRenderers } from "./SpawnWorkerTool/index.js";
|
|
40
|
-
import { ForkToolRenderers } from "./ForkTool/index.js";
|
|
41
|
-
import { CheckDelegationToolRenderers } from "./CheckDelegationTool/index.js";
|
|
42
|
-
import { BrowserToolRenderers } from "./BrowserTool/index.js";
|
|
43
|
-
import { ProcessToolRenderers } from "./ProcessTool/index.js";
|
|
44
|
-
import { SearchKnowledgeToolRenderers } from "./SearchKnowledgeTool/index.js";
|
|
45
|
-
import { SelfDiagnoseToolRenderers } from "./SelfDiagnoseTool/index.js";
|
|
46
|
-
// Code search & intelligence tools
|
|
47
|
-
import { RgToolRenderers } from "./RgTool/index.js";
|
|
48
|
-
import { UgToolRenderers } from "./UgTool/index.js";
|
|
49
|
-
import { ProbeToolRenderers } from "./ProbeTool/index.js";
|
|
50
|
-
import { SgToolRenderers } from "./SgTool/index.js";
|
|
51
|
-
import { CbmToolRenderers } from "./CbmTool/index.js";
|
|
52
|
-
import { LspToolRenderers } from "./LspTool/index.js";
|
|
53
|
-
import { FrgToolRenderers } from "./FrgTool/index.js";
|
|
54
|
-
import { FffToolRenderers } from "./FffTool/index.js";
|
|
55
|
-
import { SerenaToolRenderers } from "./SerenaTool/index.js";
|
|
56
|
-
import { QuipReadToolRenderers } from "./QuipReadTool/index.js";
|
|
57
|
-
import { QuipCommentToolRenderers } from "./QuipCommentTool/index.js";
|
|
58
|
-
import { CreateQuipToolRenderers } from "./CreateQuipTool/index.js";
|
|
59
|
-
// Slack tools
|
|
60
|
-
import { SlackReadToolRenderers } from "./SlackReadTool/index.js";
|
|
61
|
-
import { SlackSendToolRenderers } from "./SlackSendTool/index.js";
|
|
62
|
-
import { SlackReactToolRenderers } from "./SlackReactTool/index.js";
|
|
63
|
-
// Outlook tools
|
|
64
|
-
import { OutlookReadToolRenderers } from "./OutlookReadTool/index.js";
|
|
65
|
-
import { OutlookSendToolRenderers } from "./OutlookSendTool/index.js";
|
|
66
|
-
import { OutlookReplyToolRenderers } from "./OutlookReplyTool/index.js";
|
|
67
|
-
// Messaging tools
|
|
68
|
-
import { SendMessageToolRenderers } from "./SendMessageTool/index.js";
|
|
69
|
-
import { CheckMessagesToolRenderers } from "./CheckMessagesTool/index.js";
|
|
70
|
-
import { SearchMessagesToolRenderers } from "./SearchMessagesTool/index.js";
|
|
71
|
-
import { GetThreadToolRenderers } from "./GetThreadTool/index.js";
|
|
72
|
-
import { ListClientsToolRenderers } from "./ListClientsTool/index.js";
|
|
73
|
-
// Delegation/network/deploy/misc tools
|
|
74
|
-
import { DelegateRemoteToolRenderers } from "./DelegateRemoteTool/index.js";
|
|
75
|
-
import { PauseDelegationToolRenderers } from "./PauseDelegationTool/index.js";
|
|
76
|
-
import { ResumeDelegationToolRenderers } from "./ResumeDelegationTool/index.js";
|
|
77
|
-
import { QuestReportToolRenderers } from "./QuestReportTool/index.js";
|
|
78
|
-
import { ManageNetworkToolRenderers } from "./ManageNetworkTool/index.js";
|
|
79
|
-
import { DeployToolRenderers } from "./DeployTool/index.js";
|
|
80
|
-
import { SessionHistoryToolRenderers } from "./SessionHistoryTool/index.js";
|
|
81
|
-
import { RestartToolRenderers } from "./RestartTool/index.js";
|
|
82
|
-
/**
|
|
83
|
-
* Maps tool names (lowercase) to ToolRenderer instances.
|
|
84
|
-
*
|
|
85
|
-
* Each renderer implements: displayName, renderInput, renderOutput, renderRejection?
|
|
86
|
-
* See tool-renderer.ts for the interface definition.
|
|
87
|
-
*/
|
|
88
|
-
export const TOOL_RENDERERS = {
|
|
89
|
-
// Shell tools
|
|
90
|
-
bash: BashToolRenderers,
|
|
91
|
-
exec: BashToolRenderers,
|
|
92
|
-
spawn: BashToolRenderers,
|
|
93
|
-
execute_command: BashToolRenderers,
|
|
94
|
-
// File tools
|
|
95
|
-
file_edit: FileEditToolRenderers,
|
|
96
|
-
edit_file: FileEditToolRenderers,
|
|
97
|
-
file_read: FileReadToolRenderers,
|
|
98
|
-
read_file: FileReadToolRenderers,
|
|
99
|
-
file_write: FileWriteToolRenderers,
|
|
100
|
-
write_file: FileWriteToolRenderers,
|
|
101
|
-
// Search tools
|
|
102
|
-
grep: GrepToolRenderers,
|
|
103
|
-
search: SearchKnowledgeToolRenderers,
|
|
104
|
-
glob: GlobToolRenderers,
|
|
105
|
-
web_search: WebSearchToolRenderers,
|
|
106
|
-
rg: RgToolRenderers,
|
|
107
|
-
ug: UgToolRenderers,
|
|
108
|
-
frg: FrgToolRenderers,
|
|
109
|
-
fff: FffToolRenderers,
|
|
110
|
-
probe: ProbeToolRenderers,
|
|
111
|
-
sg: SgToolRenderers,
|
|
112
|
-
// Code intelligence tools
|
|
113
|
-
lsp: LspToolRenderers,
|
|
114
|
-
cbm: CbmToolRenderers,
|
|
115
|
-
serena: SerenaToolRenderers,
|
|
116
|
-
// Filesystem tools
|
|
117
|
-
list_dir: LsToolRenderers,
|
|
118
|
-
ls: LsToolRenderers,
|
|
119
|
-
// Web tools
|
|
120
|
-
web_fetch: WebFetchToolRenderers,
|
|
121
|
-
browse: BrowseToolRenderers,
|
|
122
|
-
// Memory tools (ARIA-specific)
|
|
123
|
-
recall: MemoryReadToolRenderers,
|
|
124
|
-
recall_knowledge: MemoryReadToolRenderers,
|
|
125
|
-
remember: MemoryWriteToolRenderers,
|
|
126
|
-
forget: MemoryWriteToolRenderers,
|
|
127
|
-
reflect: MemoryWriteToolRenderers,
|
|
128
|
-
memory_read: MemoryReadToolRenderers,
|
|
129
|
-
memory_write: MemoryWriteToolRenderers,
|
|
130
|
-
// Meta/learning tools (ARIA-specific)
|
|
131
|
-
learn: LearnToolRenderers,
|
|
132
|
-
learn_tool: LearnToolToolRenderers,
|
|
133
|
-
learn_skill: LearnSkillToolRenderers,
|
|
134
|
-
create_tool: CreateToolToolRenderers,
|
|
135
|
-
create_skill: CreateSkillToolRenderers,
|
|
136
|
-
use_skill: UseSkillToolRenderers,
|
|
137
|
-
ask_user: AskUserToolRenderers,
|
|
138
|
-
// Quest tools (ARIA-specific)
|
|
139
|
-
quest_list: QuestListToolRenderers,
|
|
140
|
-
quest_update: QuestUpdateToolRenderers,
|
|
141
|
-
// Process tools
|
|
142
|
-
kill: BashToolRenderers,
|
|
143
|
-
write_stdin: BashToolRenderers,
|
|
144
|
-
list_processes: LsToolRenderers,
|
|
145
|
-
wait_process: BashToolRenderers,
|
|
146
|
-
spawn_worker: SpawnWorkerToolRenderers,
|
|
147
|
-
fork: ForkToolRenderers,
|
|
148
|
-
// Patch tools
|
|
149
|
-
apply_patch: FileEditToolRenderers,
|
|
150
|
-
// Agent/delegation tools (ARIA-specific)
|
|
151
|
-
delegate_arion: AgentToolRenderers,
|
|
152
|
-
check_delegation: CheckDelegationToolRenderers,
|
|
153
|
-
hatch_arion: HatchArionToolRenderers,
|
|
154
|
-
rest_arion: RestArionToolRenderers,
|
|
155
|
-
wake_arion: WakeArionToolRenderers,
|
|
156
|
-
retire_arion: RetireArionToolRenderers,
|
|
157
|
-
// Other
|
|
158
|
-
mcp: MCPToolRenderers,
|
|
159
|
-
think: ThinkToolRenderers,
|
|
160
|
-
agent: AgentToolRenderers,
|
|
161
|
-
notebook_read: NotebookReadToolRenderers,
|
|
162
|
-
notebook_edit: NotebookEditToolRenderers,
|
|
163
|
-
architect: ArchitectToolRenderers,
|
|
164
|
-
sticker_request: StickerRequestToolRenderers,
|
|
165
|
-
browser: BrowserToolRenderers,
|
|
166
|
-
process: ProcessToolRenderers,
|
|
167
|
-
// Diagnostic tools (ARIA-specific)
|
|
168
|
-
self_diagnose: SelfDiagnoseToolRenderers,
|
|
169
|
-
// Quip tools
|
|
170
|
-
check_quip_documents: QuipReadToolRenderers,
|
|
171
|
-
send_quip_comment: QuipCommentToolRenderers,
|
|
172
|
-
create_quip_document: CreateQuipToolRenderers,
|
|
173
|
-
// Slack tools
|
|
174
|
-
check_slack_messages: SlackReadToolRenderers,
|
|
175
|
-
send_slack_message: SlackSendToolRenderers,
|
|
176
|
-
react_slack_message: SlackReactToolRenderers,
|
|
177
|
-
// Outlook tools
|
|
178
|
-
check_outlook_messages: OutlookReadToolRenderers,
|
|
179
|
-
send_outlook_message: OutlookSendToolRenderers,
|
|
180
|
-
reply_outlook_message: OutlookReplyToolRenderers,
|
|
181
|
-
// Messaging tools
|
|
182
|
-
send_message: SendMessageToolRenderers,
|
|
183
|
-
check_messages: CheckMessagesToolRenderers,
|
|
184
|
-
search_messages: SearchMessagesToolRenderers,
|
|
185
|
-
get_thread: GetThreadToolRenderers,
|
|
186
|
-
list_clients: ListClientsToolRenderers,
|
|
187
|
-
// Delegation/network/deploy tools
|
|
188
|
-
delegate_remote: DelegateRemoteToolRenderers,
|
|
189
|
-
pause_delegation: PauseDelegationToolRenderers,
|
|
190
|
-
resume_delegation: ResumeDelegationToolRenderers,
|
|
191
|
-
quest_report: QuestReportToolRenderers,
|
|
192
|
-
manage_network: ManageNetworkToolRenderers,
|
|
193
|
-
deploy: DeployToolRenderers,
|
|
194
|
-
session_history: SessionHistoryToolRenderers,
|
|
195
|
-
restart: RestartToolRenderers,
|
|
196
|
-
};
|
|
197
|
-
//# sourceMappingURL=registry.js.map
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ToolRenderer — the single canonical interface for tool UI rendering.
|
|
3
|
-
*
|
|
4
|
-
* Every tool gets one renderer. No adapters, no legacy shims.
|
|
5
|
-
*
|
|
6
|
-
* Generic type params enable compile-time shape checking between
|
|
7
|
-
* executor output → renderer input. When TInput/TOutput are specified,
|
|
8
|
-
* TypeScript will catch field-name drift (e.g. `filePath` vs `file`).
|
|
9
|
-
*/
|
|
10
|
-
export {};
|
|
11
|
-
//# sourceMappingURL=tool-renderer.js.map
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/** Shared truncation constants for all tool renderers. */
|
|
2
|
-
export const MAX_LINE_CHARS = 80;
|
|
3
|
-
export const MAX_OUTPUT_LINES = 6;
|
|
4
|
-
export const MAX_VERBOSE_LINES = 50;
|
|
5
|
-
/** Cap a single line to MAX_LINE_CHARS, appending "…" if truncated. */
|
|
6
|
-
export function capLine(line) {
|
|
7
|
-
return line.length > MAX_LINE_CHARS ? line.slice(0, MAX_LINE_CHARS) + "…" : line;
|
|
8
|
-
}
|
|
9
|
-
/** Cap every line in a multi-line string. */
|
|
10
|
-
export function capLines(text) {
|
|
11
|
-
return text.split("\n").map(capLine).join("\n");
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Truncate multi-line output to a safe number of lines.
|
|
15
|
-
* In verbose mode, allows more lines but still caps to prevent flooding.
|
|
16
|
-
* Returns [truncatedText, wasOverLimit].
|
|
17
|
-
*/
|
|
18
|
-
export function truncateOutput(text, verbose = false) {
|
|
19
|
-
const maxLines = verbose ? MAX_VERBOSE_LINES : MAX_OUTPUT_LINES;
|
|
20
|
-
const lines = text.split("\n");
|
|
21
|
-
if (lines.length <= maxLines) {
|
|
22
|
-
return [text, false];
|
|
23
|
-
}
|
|
24
|
-
return [lines.slice(0, maxLines).join("\n") + `\n… (+${lines.length - maxLines} lines)`, true];
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Truncate a raw string or JSON.stringify fallback to safe terminal limits.
|
|
28
|
-
* Used as a safety net for renderers that dump unknown output shapes.
|
|
29
|
-
*/
|
|
30
|
-
export function safeFallbackText(output, verbose = false) {
|
|
31
|
-
const str = typeof output === "string" ? output : JSON.stringify(output);
|
|
32
|
-
const [truncated] = truncateOutput(str, verbose);
|
|
33
|
-
return capLines(truncated);
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=truncation.js.map
|
package/dist/ui/types/index.js
DELETED
package/dist/ui/types/message.js
DELETED
package/dist/ui/types/tool.js
DELETED
package/dist/ui/utils/array.js
DELETED
package/dist/ui/utils/cursor.js
DELETED
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
// packages/cli/src/ui/utils/cursor.ts
|
|
2
|
-
/**
|
|
3
|
-
* Immutable cursor for text manipulation
|
|
4
|
-
* All operations return new Cursor instances
|
|
5
|
-
*/
|
|
6
|
-
export class Cursor {
|
|
7
|
-
text;
|
|
8
|
-
position;
|
|
9
|
-
constructor(text, position) {
|
|
10
|
-
this.text = text;
|
|
11
|
-
// Clamp position to valid range
|
|
12
|
-
this.position = Math.max(0, Math.min(position, text.length));
|
|
13
|
-
}
|
|
14
|
-
// ─────────────────────────────────────────────────
|
|
15
|
-
// Navigation
|
|
16
|
-
// ─────────────────────────────────────────────────
|
|
17
|
-
moveToStart() {
|
|
18
|
-
return new Cursor(this.text, 0);
|
|
19
|
-
}
|
|
20
|
-
moveToEnd() {
|
|
21
|
-
return new Cursor(this.text, this.text.length);
|
|
22
|
-
}
|
|
23
|
-
moveLeft(count = 1) {
|
|
24
|
-
return new Cursor(this.text, this.position - count);
|
|
25
|
-
}
|
|
26
|
-
moveRight(count = 1) {
|
|
27
|
-
return new Cursor(this.text, this.position + count);
|
|
28
|
-
}
|
|
29
|
-
moveToPrevWord() {
|
|
30
|
-
if (this.position === 0)
|
|
31
|
-
return this;
|
|
32
|
-
const before = this.text.slice(0, this.position);
|
|
33
|
-
// Skip trailing whitespace
|
|
34
|
-
const trimmed = before.trimEnd();
|
|
35
|
-
if (trimmed.length === 0)
|
|
36
|
-
return new Cursor(this.text, 0);
|
|
37
|
-
// Find start of previous word (search for last whitespace in trimmed text)
|
|
38
|
-
const lastWsMatch = trimmed.match(/[\s\S]*\s(\S+)$/);
|
|
39
|
-
const newPos = lastWsMatch ? trimmed.length - lastWsMatch[1].length : 0;
|
|
40
|
-
return new Cursor(this.text, newPos);
|
|
41
|
-
}
|
|
42
|
-
moveToNextWord() {
|
|
43
|
-
if (this.position >= this.text.length)
|
|
44
|
-
return this;
|
|
45
|
-
const after = this.text.slice(this.position);
|
|
46
|
-
// Skip current word
|
|
47
|
-
const match = after.match(/^\S*\s*/);
|
|
48
|
-
if (!match)
|
|
49
|
-
return new Cursor(this.text, this.text.length);
|
|
50
|
-
return new Cursor(this.text, this.position + match[0].length);
|
|
51
|
-
}
|
|
52
|
-
// ─────────────────────────────────────────────────
|
|
53
|
-
// Deletion
|
|
54
|
-
// ─────────────────────────────────────────────────
|
|
55
|
-
deleteToEnd() {
|
|
56
|
-
const newText = this.text.slice(0, this.position);
|
|
57
|
-
return new Cursor(newText, this.position);
|
|
58
|
-
}
|
|
59
|
-
deleteToStart() {
|
|
60
|
-
const newText = this.text.slice(this.position);
|
|
61
|
-
return new Cursor(newText, 0);
|
|
62
|
-
}
|
|
63
|
-
deleteLeft(count = 1) {
|
|
64
|
-
if (this.position === 0)
|
|
65
|
-
return this;
|
|
66
|
-
const deleteCount = Math.min(count, this.position);
|
|
67
|
-
const newText = this.text.slice(0, this.position - deleteCount) + this.text.slice(this.position);
|
|
68
|
-
return new Cursor(newText, this.position - deleteCount);
|
|
69
|
-
}
|
|
70
|
-
deleteRight(count = 1) {
|
|
71
|
-
if (this.position >= this.text.length)
|
|
72
|
-
return this;
|
|
73
|
-
const deleteCount = Math.min(count, this.text.length - this.position);
|
|
74
|
-
const newText = this.text.slice(0, this.position) + this.text.slice(this.position + deleteCount);
|
|
75
|
-
return new Cursor(newText, this.position);
|
|
76
|
-
}
|
|
77
|
-
deletePrevWord() {
|
|
78
|
-
if (this.position === 0)
|
|
79
|
-
return this;
|
|
80
|
-
const before = this.text.slice(0, this.position);
|
|
81
|
-
const after = this.text.slice(this.position);
|
|
82
|
-
// Find word boundary
|
|
83
|
-
const match = before.match(/\S*\s*$/);
|
|
84
|
-
if (!match)
|
|
85
|
-
return this;
|
|
86
|
-
const deleteLength = match[0].length;
|
|
87
|
-
const newText = before.slice(0, -deleteLength) + after;
|
|
88
|
-
return new Cursor(newText, this.position - deleteLength);
|
|
89
|
-
}
|
|
90
|
-
deleteNextWord() {
|
|
91
|
-
if (this.position >= this.text.length)
|
|
92
|
-
return this;
|
|
93
|
-
const before = this.text.slice(0, this.position);
|
|
94
|
-
const after = this.text.slice(this.position);
|
|
95
|
-
// Find word boundary
|
|
96
|
-
const match = after.match(/^\s*\S*/);
|
|
97
|
-
if (!match)
|
|
98
|
-
return this;
|
|
99
|
-
const newText = before + after.slice(match[0].length);
|
|
100
|
-
return new Cursor(newText, this.position);
|
|
101
|
-
}
|
|
102
|
-
// ─────────────────────────────────────────────────
|
|
103
|
-
// Insertion
|
|
104
|
-
// ─────────────────────────────────────────────────
|
|
105
|
-
insert(chars) {
|
|
106
|
-
const newText = this.text.slice(0, this.position) + chars + this.text.slice(this.position);
|
|
107
|
-
return new Cursor(newText, this.position + chars.length);
|
|
108
|
-
}
|
|
109
|
-
clear() {
|
|
110
|
-
return new Cursor("", 0);
|
|
111
|
-
}
|
|
112
|
-
// ─────────────────────────────────────────────────
|
|
113
|
-
// State
|
|
114
|
-
// ─────────────────────────────────────────────────
|
|
115
|
-
get beforeCursor() {
|
|
116
|
-
return this.text.slice(0, this.position);
|
|
117
|
-
}
|
|
118
|
-
get afterCursor() {
|
|
119
|
-
return this.text.slice(this.position);
|
|
120
|
-
}
|
|
121
|
-
get isEmpty() {
|
|
122
|
-
return this.text.length === 0;
|
|
123
|
-
}
|
|
124
|
-
get isAtStart() {
|
|
125
|
-
return this.position === 0;
|
|
126
|
-
}
|
|
127
|
-
get isAtEnd() {
|
|
128
|
-
return this.position >= this.text.length;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
//# sourceMappingURL=cursor.js.map
|
package/dist/ui/utils/diff.js
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
// packages/cli/src/ui/utils/diff.ts
|
|
2
|
-
import { structuredPatch } from "diff";
|
|
3
|
-
export function generateDiff(filePath, oldContent, newContent, contextLines = 3) {
|
|
4
|
-
const patch = structuredPatch(filePath, filePath, oldContent, newContent, "", "", {
|
|
5
|
-
context: contextLines,
|
|
6
|
-
});
|
|
7
|
-
let additions = 0;
|
|
8
|
-
let deletions = 0;
|
|
9
|
-
const hunks = patch.hunks.map((hunk) => {
|
|
10
|
-
const lines = [];
|
|
11
|
-
let oldLineNo = hunk.oldStart;
|
|
12
|
-
let newLineNo = hunk.newStart;
|
|
13
|
-
for (const line of hunk.lines) {
|
|
14
|
-
const content = line.slice(1); // Remove +/- prefix
|
|
15
|
-
if (line.startsWith("+")) {
|
|
16
|
-
lines.push({
|
|
17
|
-
type: "added",
|
|
18
|
-
content,
|
|
19
|
-
newLineNo: newLineNo++,
|
|
20
|
-
});
|
|
21
|
-
additions++;
|
|
22
|
-
}
|
|
23
|
-
else if (line.startsWith("-")) {
|
|
24
|
-
lines.push({
|
|
25
|
-
type: "removed",
|
|
26
|
-
content,
|
|
27
|
-
oldLineNo: oldLineNo++,
|
|
28
|
-
});
|
|
29
|
-
deletions++;
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
lines.push({
|
|
33
|
-
type: "unchanged",
|
|
34
|
-
content,
|
|
35
|
-
oldLineNo: oldLineNo++,
|
|
36
|
-
newLineNo: newLineNo++,
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return {
|
|
41
|
-
oldStart: hunk.oldStart,
|
|
42
|
-
oldLines: hunk.oldLines,
|
|
43
|
-
newStart: hunk.newStart,
|
|
44
|
-
newLines: hunk.newLines,
|
|
45
|
-
lines,
|
|
46
|
-
};
|
|
47
|
-
});
|
|
48
|
-
return {
|
|
49
|
-
filePath,
|
|
50
|
-
hunks,
|
|
51
|
-
additions,
|
|
52
|
-
deletions,
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
function splitContentLines(content) {
|
|
56
|
-
if (content === "")
|
|
57
|
-
return [];
|
|
58
|
-
const lines = content.split("\n");
|
|
59
|
-
if (lines[lines.length - 1] === "") {
|
|
60
|
-
lines.pop();
|
|
61
|
-
}
|
|
62
|
-
return lines;
|
|
63
|
-
}
|
|
64
|
-
export function generateNewFileDiff(filePath, content) {
|
|
65
|
-
const lines = splitContentLines(content);
|
|
66
|
-
return {
|
|
67
|
-
filePath,
|
|
68
|
-
hunks: [
|
|
69
|
-
{
|
|
70
|
-
oldStart: 0,
|
|
71
|
-
oldLines: 0,
|
|
72
|
-
newStart: 1,
|
|
73
|
-
newLines: lines.length,
|
|
74
|
-
lines: lines.map((line, index) => ({
|
|
75
|
-
type: "added",
|
|
76
|
-
content: line,
|
|
77
|
-
newLineNo: index + 1,
|
|
78
|
-
})),
|
|
79
|
-
},
|
|
80
|
-
],
|
|
81
|
-
additions: lines.length,
|
|
82
|
-
deletions: 0,
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
export function generateDeletedFileDiff(filePath, content) {
|
|
86
|
-
const lines = splitContentLines(content);
|
|
87
|
-
return {
|
|
88
|
-
filePath,
|
|
89
|
-
hunks: [
|
|
90
|
-
{
|
|
91
|
-
oldStart: 1,
|
|
92
|
-
oldLines: lines.length,
|
|
93
|
-
newStart: 0,
|
|
94
|
-
newLines: 0,
|
|
95
|
-
lines: lines.map((line, index) => ({
|
|
96
|
-
type: "removed",
|
|
97
|
-
content: line,
|
|
98
|
-
oldLineNo: index + 1,
|
|
99
|
-
})),
|
|
100
|
-
},
|
|
101
|
-
],
|
|
102
|
-
additions: 0,
|
|
103
|
-
deletions: lines.length,
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
export function formatLineNumber(lineNo, width) {
|
|
107
|
-
if (lineNo === undefined)
|
|
108
|
-
return " ".repeat(width);
|
|
109
|
-
return String(lineNo).padStart(width, " ");
|
|
110
|
-
}
|
|
111
|
-
export function calculateLineNumberWidth(diff) {
|
|
112
|
-
let maxLine = 0;
|
|
113
|
-
for (const hunk of diff.hunks) {
|
|
114
|
-
const lastOldLine = hunk.oldStart + hunk.oldLines;
|
|
115
|
-
const lastNewLine = hunk.newStart + hunk.newLines;
|
|
116
|
-
maxLine = Math.max(maxLine, lastOldLine, lastNewLine);
|
|
117
|
-
}
|
|
118
|
-
return Math.max(3, String(maxLine).length);
|
|
119
|
-
}
|
|
120
|
-
//# sourceMappingURL=diff.js.map
|
package/dist/ui/utils/format.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
// Change: renamed .tsx to .ts (no JSX in this file)
|
|
2
|
-
export function wrapText(text, width) {
|
|
3
|
-
const lines = [];
|
|
4
|
-
let currentLine = "";
|
|
5
|
-
for (const char of text) {
|
|
6
|
-
// Important: we need the spread to properly count multi-plane UTF-8 characters (eg. \u{11696})
|
|
7
|
-
if ([...currentLine].length < width) {
|
|
8
|
-
currentLine += char;
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
lines.push(currentLine);
|
|
12
|
-
currentLine = char;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
if (currentLine)
|
|
16
|
-
lines.push(currentLine);
|
|
17
|
-
return lines;
|
|
18
|
-
}
|
|
19
|
-
export function formatDuration(ms) {
|
|
20
|
-
if (ms < 60000) {
|
|
21
|
-
return `${(ms / 1000).toFixed(1)}s`;
|
|
22
|
-
}
|
|
23
|
-
const hours = Math.floor(ms / 3600000);
|
|
24
|
-
const minutes = Math.floor((ms % 3600000) / 60000);
|
|
25
|
-
const seconds = ((ms % 60000) / 1000).toFixed(1);
|
|
26
|
-
if (hours > 0) {
|
|
27
|
-
return `${hours}h ${minutes}m ${seconds}s`;
|
|
28
|
-
}
|
|
29
|
-
if (minutes > 0) {
|
|
30
|
-
return `${minutes}m ${seconds}s`;
|
|
31
|
-
}
|
|
32
|
-
return `${seconds}s`;
|
|
33
|
-
}
|
|
34
|
-
export function formatNumber(number) {
|
|
35
|
-
return new Intl.NumberFormat("en", {
|
|
36
|
-
notation: "compact",
|
|
37
|
-
maximumFractionDigits: 1,
|
|
38
|
-
})
|
|
39
|
-
.format(number) // eg. "1321" => "1.3K"
|
|
40
|
-
.toLowerCase(); // eg. "1.3K" => "1.3k"
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=format.js.map
|
package/dist/ui/utils/fuzzy.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
// packages/cli/src/ui/utils/fuzzy.ts
|
|
2
|
-
/**
|
|
3
|
-
* Calculate fuzzy match score between query and target
|
|
4
|
-
* Returns 0-1 where 1 is exact match, 0 is no match
|
|
5
|
-
*/
|
|
6
|
-
export function fuzzyScore(target, query) {
|
|
7
|
-
if (!query)
|
|
8
|
-
return 1;
|
|
9
|
-
if (!target)
|
|
10
|
-
return 0;
|
|
11
|
-
const targetLower = target.toLowerCase();
|
|
12
|
-
const queryLower = query.toLowerCase();
|
|
13
|
-
// Exact match
|
|
14
|
-
if (targetLower === queryLower)
|
|
15
|
-
return 1;
|
|
16
|
-
// Prefix match (high score)
|
|
17
|
-
if (targetLower.startsWith(queryLower)) {
|
|
18
|
-
return 0.9 + (0.1 * queryLower.length) / targetLower.length;
|
|
19
|
-
}
|
|
20
|
-
// Contains match
|
|
21
|
-
if (targetLower.includes(queryLower)) {
|
|
22
|
-
const index = targetLower.indexOf(queryLower);
|
|
23
|
-
// Earlier matches score higher
|
|
24
|
-
return 0.7 - (0.1 * index) / targetLower.length;
|
|
25
|
-
}
|
|
26
|
-
// Character sequence match (fuzzy)
|
|
27
|
-
let queryIndex = 0;
|
|
28
|
-
let score = 0;
|
|
29
|
-
let consecutiveBonus = 0;
|
|
30
|
-
for (let i = 0; i < targetLower.length && queryIndex < queryLower.length; i++) {
|
|
31
|
-
if (targetLower[i] === queryLower[queryIndex]) {
|
|
32
|
-
score += 1 + consecutiveBonus;
|
|
33
|
-
consecutiveBonus += 0.5; // Bonus for consecutive matches
|
|
34
|
-
queryIndex++;
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
consecutiveBonus = 0;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
// All query characters must be found
|
|
41
|
-
if (queryIndex < queryLower.length)
|
|
42
|
-
return 0;
|
|
43
|
-
// Normalize score
|
|
44
|
-
const maxScore = queryLower.length * 2;
|
|
45
|
-
return Math.min(0.6, (score / maxScore) * 0.6);
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Sort items by fuzzy match score
|
|
49
|
-
*/
|
|
50
|
-
export function fuzzySort(items, query, getKey) {
|
|
51
|
-
return items
|
|
52
|
-
.map((item) => ({
|
|
53
|
-
...item,
|
|
54
|
-
score: fuzzyScore(getKey(item), query),
|
|
55
|
-
}))
|
|
56
|
-
.filter((item) => item.score > 0)
|
|
57
|
-
.sort((a, b) => b.score - a.score);
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=fuzzy.js.map
|
package/dist/ui/utils/index.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
// packages/cli/src/ui/utils/index.ts
|
|
2
|
-
export { Cursor } from "./cursor.js";
|
|
3
|
-
export { fuzzyScore, fuzzySort } from "./fuzzy.js";
|
|
4
|
-
export { findSimilar, success, failure } from "./validation.js";
|
|
5
|
-
export { generateDiff, generateNewFileDiff, generateDeletedFileDiff, formatLineNumber, calculateLineNumberWidth, } from "./diff.js";
|
|
6
|
-
export { assessToolRisk, getRiskColor } from "./risk.js";
|
|
7
|
-
export { intersperse } from "./array.js";
|
|
8
|
-
export { wrapText, formatDuration, formatNumber } from "./format.js";
|
|
9
|
-
export { getPatch } from "./patch.js";
|
|
10
|
-
export { isITerm2Terminal, supportsInlineImages, parseImageDataUri, terminalInlineImage, terminalInlineImageFromDataUri, terminalInlineImageFromPath, splitTextByInlineImages, } from "./terminal-image.js";
|
|
11
|
-
//# sourceMappingURL=index.js.map
|
package/dist/ui/utils/keys.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Ink can surface Escape as either key.escape or the raw ESC byte.
|
|
3
|
-
* Normalizing this keeps key handling deterministic across environments.
|
|
4
|
-
*/
|
|
5
|
-
export function isEscapeInput(input, key) {
|
|
6
|
-
return key.escape || input === "\x1B";
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=keys.js.map
|
package/dist/ui/utils/patch.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
// Change: renamed to patch.ts to avoid conflict with ARIA's existing diff.ts
|
|
2
|
-
import { structuredPatch } from "diff";
|
|
3
|
-
const CONTEXT_LINES = 3;
|
|
4
|
-
// For some reason, & confuses the diff library, so we replace it with a token,
|
|
5
|
-
// then substitute it back in after the diff is computed.
|
|
6
|
-
const AMPERSAND_TOKEN = "<<:AMPERSAND_TOKEN:>>";
|
|
7
|
-
const DOLLAR_TOKEN = "<<:DOLLAR_TOKEN:>>";
|
|
8
|
-
export function getPatch({ filePath, fileContents, oldStr, newStr, }) {
|
|
9
|
-
return structuredPatch(filePath, filePath, fileContents.replaceAll("&", AMPERSAND_TOKEN).replaceAll("$", DOLLAR_TOKEN), fileContents
|
|
10
|
-
.replaceAll("&", AMPERSAND_TOKEN)
|
|
11
|
-
.replaceAll("$", DOLLAR_TOKEN)
|
|
12
|
-
.replace(oldStr.replaceAll("&", AMPERSAND_TOKEN).replaceAll("$", DOLLAR_TOKEN), newStr.replaceAll("&", AMPERSAND_TOKEN).replaceAll("$", DOLLAR_TOKEN)), undefined, undefined, { context: CONTEXT_LINES }).hunks.map((_) => ({
|
|
13
|
-
..._,
|
|
14
|
-
lines: _.lines.map((_) => _.replaceAll(AMPERSAND_TOKEN, "&").replaceAll(DOLLAR_TOKEN, "$")),
|
|
15
|
-
}));
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=patch.js.map
|