@aria-cli/cli 1.0.52 → 1.0.54
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 +2 -2
- package/package.json +14 -73
- package/dist/.tsbuildinfo +0 -1
- package/dist/attached-local-control-client.d.ts.map +0 -1
- package/dist/attached-local-control-client.js +0 -826
- package/dist/attached-local-control-client.js.map +0 -1
- package/dist/bootstrap-local-control-client.d.ts.map +0 -1
- package/dist/bootstrap-local-control-client.js +0 -2
- package/dist/bootstrap-local-control-client.js.map +0 -1
- package/dist/capability-aware-method-proxy.js +0 -42
- package/dist/capability-aware-method-proxy.js.map +0 -1
- package/dist/cli-context.d.ts.map +0 -1
- package/dist/cli-context.js +0 -160
- package/dist/cli-context.js.map +0 -1
- package/dist/commands/arions.d.ts.map +0 -1
- package/dist/commands/arions.js +0 -174
- package/dist/commands/arions.js.map +0 -1
- package/dist/commands/auth.js +0 -123
- package/dist/commands/auth.js.map +0 -1
- package/dist/commands/daemon.d.ts.map +0 -1
- package/dist/commands/daemon.js +0 -245
- package/dist/commands/daemon.js.map +0 -1
- package/dist/commands/definitions.js +0 -176
- package/dist/commands/definitions.js.map +0 -1
- package/dist/commands/index.d.ts.map +0 -1
- package/dist/commands/index.js +0 -74
- package/dist/commands/index.js.map +0 -1
- package/dist/commands/login-handler.js +0 -1108
- package/dist/commands/login-handler.js.map +0 -1
- package/dist/commands/logout-handler.js +0 -92
- package/dist/commands/logout-handler.js.map +0 -1
- package/dist/commands/memory-handlers.js +0 -89
- package/dist/commands/memory-handlers.js.map +0 -1
- package/dist/commands/pairing.d.ts.map +0 -1
- package/dist/commands/pairing.js +0 -60
- package/dist/commands/pairing.js.map +0 -1
- package/dist/commands/runtime-cutover-reset-command.d.ts.map +0 -1
- package/dist/commands/runtime-cutover-reset-command.js +0 -12
- package/dist/commands/runtime-cutover-reset-command.js.map +0 -1
- package/dist/commands/runtime-cutover-reset.d.ts.map +0 -1
- package/dist/commands/runtime-cutover-reset.js +0 -265
- package/dist/commands/runtime-cutover-reset.js.map +0 -1
- package/dist/commands/terminal-setup.js +0 -84
- package/dist/commands/terminal-setup.js.map +0 -1
- package/dist/config/aria-config.js +0 -238
- package/dist/config/aria-config.js.map +0 -1
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -3
- package/dist/config/index.js.map +0 -1
- package/dist/config/loader.d.ts.map +0 -1
- package/dist/config/loader.js +0 -97
- package/dist/config/loader.js.map +0 -1
- package/dist/config.js +0 -142
- package/dist/config.js.map +0 -1
- package/dist/daemon-info.d.ts.map +0 -1
- package/dist/daemon-info.js +0 -10
- package/dist/daemon-info.js.map +0 -1
- package/dist/ensure-daemon.d.ts.map +0 -1
- package/dist/ensure-daemon.js +0 -128
- package/dist/ensure-daemon.js.map +0 -1
- package/dist/entrypoints/command-mode.d.ts.map +0 -1
- package/dist/entrypoints/command-mode.js +0 -5
- package/dist/entrypoints/command-mode.js.map +0 -1
- package/dist/entrypoints/daemon.d.ts.map +0 -1
- package/dist/entrypoints/daemon.js +0 -50
- package/dist/entrypoints/daemon.js.map +0 -1
- package/dist/entrypoints/headless-stdio.d.ts.map +0 -1
- package/dist/entrypoints/headless-stdio.js +0 -25
- package/dist/entrypoints/headless-stdio.js.map +0 -1
- package/dist/entrypoints/interactive.d.ts.map +0 -1
- package/dist/entrypoints/interactive.js +0 -80
- package/dist/entrypoints/interactive.js.map +0 -1
- package/dist/event-loop-watchdog.js +0 -73
- package/dist/event-loop-watchdog.js.map +0 -1
- package/dist/headless/auth-orchestrator.d.ts.map +0 -1
- package/dist/headless/auth-orchestrator.js +0 -508
- package/dist/headless/auth-orchestrator.js.map +0 -1
- package/dist/headless/auth-service.js +0 -43
- package/dist/headless/auth-service.js.map +0 -1
- package/dist/headless/bootstrap-fast-path.d.ts.map +0 -1
- package/dist/headless/bootstrap-fast-path.js +0 -112
- package/dist/headless/bootstrap-fast-path.js.map +0 -1
- package/dist/headless/call-command.d.ts.map +0 -1
- package/dist/headless/call-command.js +0 -143
- package/dist/headless/call-command.js.map +0 -1
- package/dist/headless/daemon-service.d.ts.map +0 -1
- package/dist/headless/daemon-service.js +0 -318
- package/dist/headless/daemon-service.js.map +0 -1
- package/dist/headless/hook-actions.d.ts.map +0 -1
- package/dist/headless/hook-actions.js +0 -235
- package/dist/headless/hook-actions.js.map +0 -1
- package/dist/headless/hook-service.d.ts.map +0 -1
- package/dist/headless/hook-service.js +0 -42
- package/dist/headless/hook-service.js.map +0 -1
- package/dist/headless/kernel-services.d.ts.map +0 -1
- package/dist/headless/kernel-services.js +0 -216
- package/dist/headless/kernel-services.js.map +0 -1
- package/dist/headless/kernel.d.ts.map +0 -1
- package/dist/headless/kernel.js +0 -785
- package/dist/headless/kernel.js.map +0 -1
- package/dist/headless/operations/arion.d.ts.map +0 -1
- package/dist/headless/operations/arion.js +0 -119
- package/dist/headless/operations/arion.js.map +0 -1
- package/dist/headless/operations/auth.d.ts.map +0 -1
- package/dist/headless/operations/auth.js +0 -45
- package/dist/headless/operations/auth.js.map +0 -1
- package/dist/headless/operations/client.d.ts.map +0 -1
- package/dist/headless/operations/client.js +0 -31
- package/dist/headless/operations/client.js.map +0 -1
- package/dist/headless/operations/config.d.ts.map +0 -1
- package/dist/headless/operations/config.js +0 -69
- package/dist/headless/operations/config.js.map +0 -1
- package/dist/headless/operations/daemon.d.ts.map +0 -1
- package/dist/headless/operations/daemon.js +0 -47
- package/dist/headless/operations/daemon.js.map +0 -1
- package/dist/headless/operations/hook.d.ts.map +0 -1
- package/dist/headless/operations/hook.js +0 -56
- package/dist/headless/operations/hook.js.map +0 -1
- package/dist/headless/operations/index.d.ts.map +0 -1
- package/dist/headless/operations/index.js +0 -11
- package/dist/headless/operations/index.js.map +0 -1
- package/dist/headless/operations/memory.d.ts.map +0 -1
- package/dist/headless/operations/memory.js +0 -102
- package/dist/headless/operations/memory.js.map +0 -1
- package/dist/headless/operations/message.d.ts.map +0 -1
- package/dist/headless/operations/message.js +0 -279
- package/dist/headless/operations/message.js.map +0 -1
- package/dist/headless/operations/model.d.ts.map +0 -1
- package/dist/headless/operations/model.js +0 -100
- package/dist/headless/operations/model.js.map +0 -1
- package/dist/headless/operations/peer.d.ts.map +0 -1
- package/dist/headless/operations/peer.js +0 -56
- package/dist/headless/operations/peer.js.map +0 -1
- package/dist/headless/operations/run.d.ts.map +0 -1
- package/dist/headless/operations/run.js +0 -24
- package/dist/headless/operations/run.js.map +0 -1
- package/dist/headless/operations/session.d.ts.map +0 -1
- package/dist/headless/operations/session.js +0 -90
- package/dist/headless/operations/session.js.map +0 -1
- package/dist/headless/operations/system.d.ts.map +0 -1
- package/dist/headless/operations/system.js +0 -19
- package/dist/headless/operations/system.js.map +0 -1
- package/dist/headless/operations/utils.d.ts.map +0 -1
- package/dist/headless/operations/utils.js +0 -35
- package/dist/headless/operations/utils.js.map +0 -1
- package/dist/headless/run-orchestrator.d.ts.map +0 -1
- package/dist/headless/run-orchestrator.js +0 -703
- package/dist/headless/run-orchestrator.js.map +0 -1
- package/dist/headless/stdio-server.d.ts.map +0 -1
- package/dist/headless/stdio-server.js +0 -439
- package/dist/headless/stdio-server.js.map +0 -1
- package/dist/history/SessionHistory.js +0 -8
- package/dist/history/SessionHistory.js.map +0 -1
- package/dist/history/SessionHistoryClient.js +0 -186
- package/dist/history/SessionHistoryClient.js.map +0 -1
- package/dist/history/conversation-message.js +0 -112
- package/dist/history/conversation-message.js.map +0 -1
- package/dist/history/index.d.ts.map +0 -1
- package/dist/history/index.js +0 -8
- package/dist/history/index.js.map +0 -1
- package/dist/history/jsonl-replay.d.ts.map +0 -1
- package/dist/history/jsonl-replay.js +0 -154
- package/dist/history/jsonl-replay.js.map +0 -1
- package/dist/history/repair-tool-pairing.js +0 -84
- package/dist/history/repair-tool-pairing.js.map +0 -1
- package/dist/history/stall-phase-bridge.js +0 -11
- package/dist/history/stall-phase-bridge.js.map +0 -1
- package/dist/history/turn-accumulator.d.ts.map +0 -1
- package/dist/history/turn-accumulator.js +0 -427
- package/dist/history/turn-accumulator.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -7
- package/dist/index.js.map +0 -1
- package/dist/ink-repl.d.ts.map +0 -1
- package/dist/ink-repl.js +0 -4183
- package/dist/ink-repl.js.map +0 -1
- package/dist/local-control-bootstrap.d.ts.map +0 -1
- package/dist/local-control-bootstrap.js +0 -26
- package/dist/local-control-bootstrap.js.map +0 -1
- package/dist/local-control-client.d.ts.map +0 -1
- package/dist/local-control-client.js +0 -2
- package/dist/local-control-client.js.map +0 -1
- package/dist/local-control-error-reporting.js +0 -34
- package/dist/local-control-error-reporting.js.map +0 -1
- package/dist/local-control-http-client.d.ts.map +0 -1
- package/dist/local-control-http-client.js +0 -362
- package/dist/local-control-http-client.js.map +0 -1
- package/dist/local-control-lazy-wrapper.d.ts.map +0 -1
- package/dist/local-control-lazy-wrapper.js +0 -363
- package/dist/local-control-lazy-wrapper.js.map +0 -1
- package/dist/local-control-manager.d.ts.map +0 -1
- package/dist/local-control-manager.js +0 -146
- package/dist/local-control-manager.js.map +0 -1
- package/dist/main.d.ts.map +0 -1
- package/dist/main.js +0 -38
- package/dist/main.js.map +0 -1
- package/dist/network-security.js +0 -62
- package/dist/network-security.js.map +0 -1
- package/dist/networking-server.d.ts.map +0 -1
- package/dist/networking-server.js +0 -38
- package/dist/networking-server.js.map +0 -1
- package/dist/peer-identity.d.ts.map +0 -1
- package/dist/peer-identity.js +0 -23
- package/dist/peer-identity.js.map +0 -1
- package/dist/polling-subscription.js +0 -34
- package/dist/polling-subscription.js.map +0 -1
- package/dist/relaunch.d.ts.map +0 -1
- package/dist/relaunch.js +0 -588
- package/dist/relaunch.js.map +0 -1
- package/dist/release-notes.js +0 -35
- package/dist/release-notes.js.map +0 -1
- package/dist/repl-cleanup.js +0 -47
- package/dist/repl-cleanup.js.map +0 -1
- package/dist/runtime/configure-bun-sqlite.d.ts.map +0 -1
- package/dist/runtime/configure-bun-sqlite.js +0 -3
- package/dist/runtime/configure-bun-sqlite.js.map +0 -1
- package/dist/runtime/crash-handlers.js +0 -111
- package/dist/runtime/crash-handlers.js.map +0 -1
- package/dist/runtime/interactive-invocation.js +0 -39
- package/dist/runtime/interactive-invocation.js.map +0 -1
- package/dist/runtime/internal-mode.js +0 -14
- package/dist/runtime/internal-mode.js.map +0 -1
- package/dist/runtime/launch-spec.js +0 -64
- package/dist/runtime/launch-spec.js.map +0 -1
- package/dist/runtime/owner-lease.js +0 -44
- package/dist/runtime/owner-lease.js.map +0 -1
- package/dist/runtime/public-mode.js +0 -20
- package/dist/runtime/public-mode.js.map +0 -1
- package/dist/runtime/run-internal-mode.d.ts.map +0 -1
- package/dist/runtime/run-internal-mode.js +0 -18
- package/dist/runtime/run-internal-mode.js.map +0 -1
- package/dist/runtime/runtime-kind.js +0 -32
- package/dist/runtime/runtime-kind.js.map +0 -1
- package/dist/runtime/spawn-aria.js +0 -38
- package/dist/runtime/spawn-aria.js.map +0 -1
- package/dist/selectable-client.d.ts.map +0 -1
- package/dist/selectable-client.js +0 -2
- package/dist/selectable-client.js.map +0 -1
- package/dist/selectable-peer.d.ts.map +0 -1
- package/dist/selectable-peer.js +0 -2
- package/dist/selectable-peer.js.map +0 -1
- package/dist/session.d.ts.map +0 -1
- package/dist/session.js +0 -203
- package/dist/session.js.map +0 -1
- package/dist/slash-commands.js +0 -80
- package/dist/slash-commands.js.map +0 -1
- package/dist/sounds.js +0 -210
- package/dist/sounds.js.map +0 -1
- package/dist/ui/App.d.ts.map +0 -1
- package/dist/ui/App.js +0 -526
- package/dist/ui/App.js.map +0 -1
- package/dist/ui/components/AnthropicMethodPicker.js +0 -6
- package/dist/ui/components/AnthropicMethodPicker.js.map +0 -1
- package/dist/ui/components/ArionPrompt.js +0 -15
- package/dist/ui/components/ArionPrompt.js.map +0 -1
- package/dist/ui/components/AutocompleteDropdown.js +0 -23
- package/dist/ui/components/AutocompleteDropdown.js.map +0 -1
- package/dist/ui/components/AutonomySelector.d.ts.map +0 -1
- package/dist/ui/components/AutonomySelector.js +0 -55
- package/dist/ui/components/AutonomySelector.js.map +0 -1
- package/dist/ui/components/Banner.js +0 -98
- package/dist/ui/components/Banner.js.map +0 -1
- package/dist/ui/components/ConversationHistory.js +0 -175
- package/dist/ui/components/ConversationHistory.js.map +0 -1
- package/dist/ui/components/CopilotDeviceLoginFlow.js +0 -88
- package/dist/ui/components/CopilotDeviceLoginFlow.js.map +0 -1
- package/dist/ui/components/CopilotSourcePicker.js +0 -50
- package/dist/ui/components/CopilotSourcePicker.js.map +0 -1
- package/dist/ui/components/Cost.js +0 -10
- package/dist/ui/components/Cost.js.map +0 -1
- package/dist/ui/components/CustomSelect/option-map.js +0 -30
- package/dist/ui/components/CustomSelect/option-map.js.map +0 -1
- package/dist/ui/components/CustomSelect/select-option.js +0 -13
- package/dist/ui/components/CustomSelect/select-option.js.map +0 -1
- package/dist/ui/components/CustomSelect/select.js +0 -42
- package/dist/ui/components/CustomSelect/select.js.map +0 -1
- package/dist/ui/components/CustomSelect/use-select-state.js +0 -179
- package/dist/ui/components/CustomSelect/use-select-state.js.map +0 -1
- package/dist/ui/components/CustomSelect/use-select.js +0 -15
- package/dist/ui/components/CustomSelect/use-select.js.map +0 -1
- package/dist/ui/components/ErrorDisplay.js +0 -35
- package/dist/ui/components/ErrorDisplay.js.map +0 -1
- package/dist/ui/components/FallbackToolUseRejectedMessage.js +0 -7
- package/dist/ui/components/FallbackToolUseRejectedMessage.js.map +0 -1
- package/dist/ui/components/FileEditToolUpdatedMessage.js +0 -57
- package/dist/ui/components/FileEditToolUpdatedMessage.js.map +0 -1
- package/dist/ui/components/HandoffMarker.js +0 -18
- package/dist/ui/components/HandoffMarker.js.map +0 -1
- package/dist/ui/components/HighlightedCode.js +0 -21
- package/dist/ui/components/HighlightedCode.js.map +0 -1
- package/dist/ui/components/InputArea.js +0 -187
- package/dist/ui/components/InputArea.js.map +0 -1
- package/dist/ui/components/Message.js +0 -25
- package/dist/ui/components/Message.js.map +0 -1
- package/dist/ui/components/OAuthLoginFlow.js +0 -113
- package/dist/ui/components/OAuthLoginFlow.js.map +0 -1
- package/dist/ui/components/OutputTruncation.js +0 -35
- package/dist/ui/components/OutputTruncation.js.map +0 -1
- package/dist/ui/components/PermissionPrompt.js +0 -79
- package/dist/ui/components/PermissionPrompt.js.map +0 -1
- package/dist/ui/components/PipelineTimingPanel.js +0 -15
- package/dist/ui/components/PipelineTimingPanel.js.map +0 -1
- package/dist/ui/components/ProviderMethodPicker.js +0 -61
- package/dist/ui/components/ProviderMethodPicker.js.map +0 -1
- package/dist/ui/components/ProviderPicker.js +0 -63
- package/dist/ui/components/ProviderPicker.js.map +0 -1
- package/dist/ui/components/RenderItemView.js +0 -71
- package/dist/ui/components/RenderItemView.js.map +0 -1
- package/dist/ui/components/Spinner.js +0 -46
- package/dist/ui/components/Spinner.js.map +0 -1
- package/dist/ui/components/StatusBar.js +0 -95
- package/dist/ui/components/StatusBar.js.map +0 -1
- package/dist/ui/components/StreamingIndicator.js +0 -55
- package/dist/ui/components/StreamingIndicator.js.map +0 -1
- package/dist/ui/components/StructuredDiff.js +0 -168
- package/dist/ui/components/StructuredDiff.js.map +0 -1
- package/dist/ui/components/TextInputOverlay.js +0 -43
- package/dist/ui/components/TextInputOverlay.js.map +0 -1
- package/dist/ui/components/ThinkingBlock.js +0 -82
- package/dist/ui/components/ThinkingBlock.js.map +0 -1
- package/dist/ui/components/ToolCost.js +0 -17
- package/dist/ui/components/ToolCost.js.map +0 -1
- package/dist/ui/components/ToolExecution.js +0 -61
- package/dist/ui/components/ToolExecution.js.map +0 -1
- package/dist/ui/components/ToolHeader.js +0 -51
- package/dist/ui/components/ToolHeader.js.map +0 -1
- package/dist/ui/components/ToolRenderLayoutContext.js +0 -14
- package/dist/ui/components/ToolRenderLayoutContext.js.map +0 -1
- package/dist/ui/components/ToolResultWrapper.js +0 -6
- package/dist/ui/components/ToolResultWrapper.js.map +0 -1
- package/dist/ui/components/ToolUseLoader.js +0 -35
- package/dist/ui/components/ToolUseLoader.js.map +0 -1
- package/dist/ui/components/TraceWaterfall.js +0 -91
- package/dist/ui/components/TraceWaterfall.js.map +0 -1
- package/dist/ui/components/index.d.ts.map +0 -1
- package/dist/ui/components/index.js +0 -33
- package/dist/ui/components/index.js.map +0 -1
- package/dist/ui/components/messages/AssistantTextMessage.js +0 -25
- package/dist/ui/components/messages/AssistantTextMessage.js.map +0 -1
- package/dist/ui/components/messages/UserImageMessage.js +0 -12
- package/dist/ui/components/messages/UserImageMessage.js.map +0 -1
- package/dist/ui/components/messages/UserTextMessage.js +0 -12
- package/dist/ui/components/messages/UserTextMessage.js.map +0 -1
- package/dist/ui/components/overlays/ArionSelector.js +0 -68
- package/dist/ui/components/overlays/ArionSelector.js.map +0 -1
- package/dist/ui/components/overlays/ClientSelector.d.ts.map +0 -1
- package/dist/ui/components/overlays/ClientSelector.js +0 -62
- package/dist/ui/components/overlays/ClientSelector.js.map +0 -1
- package/dist/ui/components/overlays/CommandPalette.js +0 -67
- package/dist/ui/components/overlays/CommandPalette.js.map +0 -1
- package/dist/ui/components/overlays/DaemonControl.js +0 -87
- package/dist/ui/components/overlays/DaemonControl.js.map +0 -1
- package/dist/ui/components/overlays/InviteShareOverlay.js +0 -15
- package/dist/ui/components/overlays/InviteShareOverlay.js.map +0 -1
- package/dist/ui/components/overlays/JoinInviteOverlay.js +0 -32
- package/dist/ui/components/overlays/JoinInviteOverlay.js.map +0 -1
- package/dist/ui/components/overlays/MemoryBrowser.js +0 -100
- package/dist/ui/components/overlays/MemoryBrowser.js.map +0 -1
- package/dist/ui/components/overlays/MessageSelector.js +0 -123
- package/dist/ui/components/overlays/MessageSelector.js.map +0 -1
- package/dist/ui/components/overlays/ModelSelector.js +0 -211
- package/dist/ui/components/overlays/ModelSelector.js.map +0 -1
- package/dist/ui/components/overlays/PairRequestOverlay.d.ts.map +0 -1
- package/dist/ui/components/overlays/PairRequestOverlay.js +0 -42
- package/dist/ui/components/overlays/PairRequestOverlay.js.map +0 -1
- package/dist/ui/components/overlays/PeerSelector.d.ts.map +0 -1
- package/dist/ui/components/overlays/PeerSelector.js +0 -84
- package/dist/ui/components/overlays/PeerSelector.js.map +0 -1
- package/dist/ui/components/overlays/SessionSelector.d.ts.map +0 -1
- package/dist/ui/components/overlays/SessionSelector.js +0 -102
- package/dist/ui/components/overlays/SessionSelector.js.map +0 -1
- package/dist/ui/components/overlays/SoundSelector.js +0 -86
- package/dist/ui/components/overlays/SoundSelector.js.map +0 -1
- package/dist/ui/components/overlays/ThemeSelector.js +0 -139
- package/dist/ui/components/overlays/ThemeSelector.js.map +0 -1
- package/dist/ui/components/overlays/index.d.ts.map +0 -1
- package/dist/ui/components/overlays/index.js +0 -15
- package/dist/ui/components/overlays/index.js.map +0 -1
- package/dist/ui/components/permissions/BashPermissionRequest/BashPermissionRequest.js +0 -53
- package/dist/ui/components/permissions/BashPermissionRequest/BashPermissionRequest.js.map +0 -1
- package/dist/ui/components/permissions/FallbackPermissionRequest.js +0 -56
- package/dist/ui/components/permissions/FallbackPermissionRequest.js.map +0 -1
- package/dist/ui/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.js +0 -76
- package/dist/ui/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.js.map +0 -1
- package/dist/ui/components/permissions/FileEditPermissionRequest/FileEditToolDiff.js +0 -18
- package/dist/ui/components/permissions/FileEditPermissionRequest/FileEditToolDiff.js.map +0 -1
- package/dist/ui/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.js +0 -64
- package/dist/ui/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.js.map +0 -1
- package/dist/ui/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.js +0 -26
- package/dist/ui/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.js.map +0 -1
- package/dist/ui/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.js +0 -141
- package/dist/ui/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.js.map +0 -1
- package/dist/ui/components/permissions/PermissionRequest.js +0 -70
- package/dist/ui/components/permissions/PermissionRequest.js.map +0 -1
- package/dist/ui/components/permissions/PermissionRequestTitle.js +0 -41
- package/dist/ui/components/permissions/PermissionRequestTitle.js.map +0 -1
- package/dist/ui/components/permissions/hooks.js +0 -10
- package/dist/ui/components/permissions/hooks.js.map +0 -1
- package/dist/ui/components/permissions/toolUseOptions.js +0 -68
- package/dist/ui/components/permissions/toolUseOptions.js.map +0 -1
- package/dist/ui/components/permissions/utils.js +0 -10
- package/dist/ui/components/permissions/utils.js.map +0 -1
- package/dist/ui/components/text-input/Cursor.js +0 -326
- package/dist/ui/components/text-input/Cursor.js.map +0 -1
- package/dist/ui/components/text-input/TextInput.js +0 -231
- package/dist/ui/components/text-input/TextInput.js.map +0 -1
- package/dist/ui/components/text-input/imagePaste.js +0 -28
- package/dist/ui/components/text-input/imagePaste.js.map +0 -1
- package/dist/ui/components/text-input/index.js +0 -6
- package/dist/ui/components/text-input/index.js.map +0 -1
- package/dist/ui/components/text-input/useDoublePress.js +0 -30
- package/dist/ui/components/text-input/useDoublePress.js.map +0 -1
- package/dist/ui/components/text-input/useTextInput.js +0 -245
- package/dist/ui/components/text-input/useTextInput.js.map +0 -1
- package/dist/ui/components/tool-types.js +0 -9
- package/dist/ui/components/tool-types.js.map +0 -1
- package/dist/ui/constants/figures.js +0 -4
- package/dist/ui/constants/figures.js.map +0 -1
- package/dist/ui/constants/index.js +0 -3
- package/dist/ui/constants/index.js.map +0 -1
- package/dist/ui/display-mode.js +0 -93
- package/dist/ui/display-mode.js.map +0 -1
- package/dist/ui/display-policy.js +0 -19
- package/dist/ui/display-policy.js.map +0 -1
- package/dist/ui/hooks/index.js +0 -6
- package/dist/ui/hooks/index.js.map +0 -1
- package/dist/ui/hooks/useCommandAutocomplete.js +0 -93
- package/dist/ui/hooks/useCommandAutocomplete.js.map +0 -1
- package/dist/ui/hooks/useDoublePress.js +0 -37
- package/dist/ui/hooks/useDoublePress.js.map +0 -1
- package/dist/ui/hooks/useIndicatorState.d.ts.map +0 -1
- package/dist/ui/hooks/useIndicatorState.js +0 -55
- package/dist/ui/hooks/useIndicatorState.js.map +0 -1
- package/dist/ui/hooks/useInterval.js +0 -23
- package/dist/ui/hooks/useInterval.js.map +0 -1
- package/dist/ui/hooks/useKeyboardShortcuts.js +0 -127
- package/dist/ui/hooks/useKeyboardShortcuts.js.map +0 -1
- package/dist/ui/hooks/useTerminalSize.js +0 -55
- package/dist/ui/hooks/useTerminalSize.js.map +0 -1
- package/dist/ui/hooks/useUnifiedMessages.js +0 -117
- package/dist/ui/hooks/useUnifiedMessages.js.map +0 -1
- package/dist/ui/indicator-state.js +0 -44
- package/dist/ui/indicator-state.js.map +0 -1
- package/dist/ui/markdown/highlight.js +0 -44
- package/dist/ui/markdown/highlight.js.map +0 -1
- package/dist/ui/markdown/index.js +0 -1460
- package/dist/ui/markdown/index.js.map +0 -1
- package/dist/ui/markdown/tokenizer.js +0 -24
- package/dist/ui/markdown/tokenizer.js.map +0 -1
- package/dist/ui/render-item.js +0 -5
- package/dist/ui/render-item.js.map +0 -1
- package/dist/ui/screens/REPL.d.ts.map +0 -1
- package/dist/ui/screens/REPL.js +0 -119
- package/dist/ui/screens/REPL.js.map +0 -1
- package/dist/ui/screens/approval-lifecycle.js +0 -38
- package/dist/ui/screens/approval-lifecycle.js.map +0 -1
- package/dist/ui/status-line.d.ts.map +0 -1
- package/dist/ui/status-line.js +0 -72
- package/dist/ui/status-line.js.map +0 -1
- package/dist/ui/theme/index.js +0 -51
- package/dist/ui/theme/index.js.map +0 -1
- package/dist/ui/theme/themes/claude-dark-daltonized.js +0 -51
- package/dist/ui/theme/themes/claude-dark-daltonized.js.map +0 -1
- package/dist/ui/theme/themes/claude-dark.js +0 -50
- package/dist/ui/theme/themes/claude-dark.js.map +0 -1
- package/dist/ui/theme/themes/claude-light-daltonized.js +0 -51
- package/dist/ui/theme/themes/claude-light-daltonized.js.map +0 -1
- package/dist/ui/theme/themes/claude-light.js +0 -50
- package/dist/ui/theme/themes/claude-light.js.map +0 -1
- package/dist/ui/theme/themes/dark-accessible.js +0 -18
- package/dist/ui/theme/themes/dark-accessible.js.map +0 -1
- package/dist/ui/theme/themes/dark.js +0 -49
- package/dist/ui/theme/themes/dark.js.map +0 -1
- package/dist/ui/theme/themes/light-accessible.js +0 -18
- package/dist/ui/theme/themes/light-accessible.js.map +0 -1
- package/dist/ui/theme/themes/light.js +0 -49
- package/dist/ui/theme/themes/light.js.map +0 -1
- package/dist/ui/theme/types.js +0 -3
- package/dist/ui/theme/types.js.map +0 -1
- package/dist/ui/theme.js +0 -142
- package/dist/ui/theme.js.map +0 -1
- package/dist/ui/to-render-items.js +0 -145
- package/dist/ui/to-render-items.js.map +0 -1
- package/dist/ui/tools/AgentTool/index.js +0 -30
- package/dist/ui/tools/AgentTool/index.js.map +0 -1
- package/dist/ui/tools/ArchitectTool/index.js +0 -31
- package/dist/ui/tools/ArchitectTool/index.js.map +0 -1
- package/dist/ui/tools/AskUserTool/index.js +0 -46
- package/dist/ui/tools/AskUserTool/index.js.map +0 -1
- package/dist/ui/tools/BashTool/BashToolResultMessage.js +0 -11
- package/dist/ui/tools/BashTool/BashToolResultMessage.js.map +0 -1
- package/dist/ui/tools/BashTool/OutputLine.js +0 -21
- package/dist/ui/tools/BashTool/OutputLine.js.map +0 -1
- package/dist/ui/tools/BashTool/index.js +0 -91
- package/dist/ui/tools/BashTool/index.js.map +0 -1
- package/dist/ui/tools/BrowseTool/index.js +0 -43
- package/dist/ui/tools/BrowseTool/index.js.map +0 -1
- package/dist/ui/tools/BrowserTool/index.js +0 -47
- package/dist/ui/tools/BrowserTool/index.js.map +0 -1
- package/dist/ui/tools/CbmTool/index.js +0 -188
- package/dist/ui/tools/CbmTool/index.js.map +0 -1
- package/dist/ui/tools/CheckDelegationTool/index.js +0 -46
- package/dist/ui/tools/CheckDelegationTool/index.js.map +0 -1
- package/dist/ui/tools/CheckMessagesTool/index.js +0 -85
- package/dist/ui/tools/CheckMessagesTool/index.js.map +0 -1
- package/dist/ui/tools/CreateQuipTool/index.js +0 -30
- package/dist/ui/tools/CreateQuipTool/index.js.map +0 -1
- package/dist/ui/tools/CreateSkillTool/index.js +0 -22
- package/dist/ui/tools/CreateSkillTool/index.js.map +0 -1
- package/dist/ui/tools/CreateToolTool/index.js +0 -31
- package/dist/ui/tools/CreateToolTool/index.js.map +0 -1
- package/dist/ui/tools/DelegateRemoteTool/index.js +0 -42
- package/dist/ui/tools/DelegateRemoteTool/index.js.map +0 -1
- package/dist/ui/tools/DeployTool/index.js +0 -47
- package/dist/ui/tools/DeployTool/index.js.map +0 -1
- package/dist/ui/tools/FffTool/index.js +0 -103
- package/dist/ui/tools/FffTool/index.js.map +0 -1
- package/dist/ui/tools/FileEditTool/index.js +0 -67
- package/dist/ui/tools/FileEditTool/index.js.map +0 -1
- package/dist/ui/tools/FileReadTool/index.js +0 -68
- package/dist/ui/tools/FileReadTool/index.js.map +0 -1
- package/dist/ui/tools/FileWriteTool/index.js +0 -61
- package/dist/ui/tools/FileWriteTool/index.js.map +0 -1
- package/dist/ui/tools/ForkTool/index.js +0 -47
- package/dist/ui/tools/ForkTool/index.js.map +0 -1
- package/dist/ui/tools/FrgTool/index.js +0 -96
- package/dist/ui/tools/FrgTool/index.js.map +0 -1
- package/dist/ui/tools/GetThreadTool/index.js +0 -39
- package/dist/ui/tools/GetThreadTool/index.js.map +0 -1
- package/dist/ui/tools/GlobTool/index.js +0 -50
- package/dist/ui/tools/GlobTool/index.js.map +0 -1
- package/dist/ui/tools/GrepTool/index.js +0 -84
- package/dist/ui/tools/GrepTool/index.js.map +0 -1
- package/dist/ui/tools/HatchArionTool/index.js +0 -36
- package/dist/ui/tools/HatchArionTool/index.js.map +0 -1
- package/dist/ui/tools/LearnSkillTool/index.js +0 -22
- package/dist/ui/tools/LearnSkillTool/index.js.map +0 -1
- package/dist/ui/tools/LearnTool/index.js +0 -43
- package/dist/ui/tools/LearnTool/index.js.map +0 -1
- package/dist/ui/tools/LearnToolTool/index.js +0 -22
- package/dist/ui/tools/LearnToolTool/index.js.map +0 -1
- package/dist/ui/tools/ListClientsTool/index.js +0 -39
- package/dist/ui/tools/ListClientsTool/index.js.map +0 -1
- package/dist/ui/tools/LspTool/index.js +0 -261
- package/dist/ui/tools/LspTool/index.js.map +0 -1
- package/dist/ui/tools/MCPTool/index.js +0 -33
- package/dist/ui/tools/MCPTool/index.js.map +0 -1
- package/dist/ui/tools/ManageNetworkTool/index.js +0 -53
- package/dist/ui/tools/ManageNetworkTool/index.js.map +0 -1
- package/dist/ui/tools/MemoryReadTool/index.js +0 -64
- package/dist/ui/tools/MemoryReadTool/index.js.map +0 -1
- package/dist/ui/tools/MemoryWriteTool/index.js +0 -20
- package/dist/ui/tools/MemoryWriteTool/index.js.map +0 -1
- package/dist/ui/tools/NotebookEditTool/index.js +0 -33
- package/dist/ui/tools/NotebookEditTool/index.js.map +0 -1
- package/dist/ui/tools/NotebookReadTool/index.js +0 -25
- package/dist/ui/tools/NotebookReadTool/index.js.map +0 -1
- package/dist/ui/tools/OutlookReadTool/index.js +0 -66
- package/dist/ui/tools/OutlookReadTool/index.js.map +0 -1
- package/dist/ui/tools/OutlookReplyTool/index.js +0 -49
- package/dist/ui/tools/OutlookReplyTool/index.js.map +0 -1
- package/dist/ui/tools/OutlookSendTool/index.js +0 -49
- package/dist/ui/tools/OutlookSendTool/index.js.map +0 -1
- package/dist/ui/tools/PauseDelegationTool/index.js +0 -35
- package/dist/ui/tools/PauseDelegationTool/index.js.map +0 -1
- package/dist/ui/tools/ProbeTool/index.js +0 -121
- package/dist/ui/tools/ProbeTool/index.js.map +0 -1
- package/dist/ui/tools/ProcessTool/index.js +0 -66
- package/dist/ui/tools/ProcessTool/index.js.map +0 -1
- package/dist/ui/tools/QuestListTool/index.js +0 -46
- package/dist/ui/tools/QuestListTool/index.js.map +0 -1
- package/dist/ui/tools/QuestReportTool/index.js +0 -49
- package/dist/ui/tools/QuestReportTool/index.js.map +0 -1
- package/dist/ui/tools/QuestUpdateTool/index.js +0 -87
- package/dist/ui/tools/QuestUpdateTool/index.js.map +0 -1
- package/dist/ui/tools/QuipCommentTool/index.js +0 -69
- package/dist/ui/tools/QuipCommentTool/index.js.map +0 -1
- package/dist/ui/tools/QuipReadTool/index.js +0 -71
- package/dist/ui/tools/QuipReadTool/index.js.map +0 -1
- package/dist/ui/tools/RestArionTool/index.js +0 -32
- package/dist/ui/tools/RestArionTool/index.js.map +0 -1
- package/dist/ui/tools/RestartTool/index.js +0 -35
- package/dist/ui/tools/RestartTool/index.js.map +0 -1
- package/dist/ui/tools/ResumeDelegationTool/index.js +0 -35
- package/dist/ui/tools/ResumeDelegationTool/index.js.map +0 -1
- package/dist/ui/tools/RetireArionTool/index.js +0 -32
- package/dist/ui/tools/RetireArionTool/index.js.map +0 -1
- package/dist/ui/tools/RgTool/index.js +0 -73
- package/dist/ui/tools/RgTool/index.js.map +0 -1
- package/dist/ui/tools/SearchKnowledgeTool/index.js +0 -43
- package/dist/ui/tools/SearchKnowledgeTool/index.js.map +0 -1
- package/dist/ui/tools/SearchMessagesTool/index.js +0 -43
- package/dist/ui/tools/SearchMessagesTool/index.js.map +0 -1
- package/dist/ui/tools/SelfDiagnoseTool/index.js +0 -61
- package/dist/ui/tools/SelfDiagnoseTool/index.js.map +0 -1
- package/dist/ui/tools/SendMessageTool/index.js +0 -45
- package/dist/ui/tools/SendMessageTool/index.js.map +0 -1
- package/dist/ui/tools/SerenaTool/index.js +0 -124
- package/dist/ui/tools/SerenaTool/index.js.map +0 -1
- package/dist/ui/tools/SessionHistoryTool/index.js +0 -52
- package/dist/ui/tools/SessionHistoryTool/index.js.map +0 -1
- package/dist/ui/tools/SgTool/index.js +0 -80
- package/dist/ui/tools/SgTool/index.js.map +0 -1
- package/dist/ui/tools/SlackReactTool/index.js +0 -41
- package/dist/ui/tools/SlackReactTool/index.js.map +0 -1
- package/dist/ui/tools/SlackReadTool/index.js +0 -48
- package/dist/ui/tools/SlackReadTool/index.js.map +0 -1
- package/dist/ui/tools/SlackSendTool/index.js +0 -45
- package/dist/ui/tools/SlackSendTool/index.js.map +0 -1
- package/dist/ui/tools/SpawnWorkerTool/index.js +0 -33
- package/dist/ui/tools/SpawnWorkerTool/index.js.map +0 -1
- package/dist/ui/tools/StickerRequestTool/index.js +0 -19
- package/dist/ui/tools/StickerRequestTool/index.js.map +0 -1
- package/dist/ui/tools/ThinkTool/index.js +0 -17
- package/dist/ui/tools/ThinkTool/index.js.map +0 -1
- package/dist/ui/tools/UgTool/index.js +0 -108
- package/dist/ui/tools/UgTool/index.js.map +0 -1
- package/dist/ui/tools/UseSkillTool/index.js +0 -22
- package/dist/ui/tools/UseSkillTool/index.js.map +0 -1
- package/dist/ui/tools/WakeArionTool/index.js +0 -32
- package/dist/ui/tools/WakeArionTool/index.js.map +0 -1
- package/dist/ui/tools/WebFetchTool/index.js +0 -56
- package/dist/ui/tools/WebFetchTool/index.js.map +0 -1
- package/dist/ui/tools/WebSearchTool/index.js +0 -44
- package/dist/ui/tools/WebSearchTool/index.js.map +0 -1
- package/dist/ui/tools/lsTool/index.js +0 -58
- package/dist/ui/tools/lsTool/index.js.map +0 -1
- package/dist/ui/tools/registry.js +0 -197
- package/dist/ui/tools/registry.js.map +0 -1
- package/dist/ui/tools/tool-renderer.js +0 -11
- package/dist/ui/tools/tool-renderer.js.map +0 -1
- package/dist/ui/tools/truncation.js +0 -35
- package/dist/ui/tools/truncation.js.map +0 -1
- package/dist/ui/types/anthropic.js +0 -4
- package/dist/ui/types/anthropic.js.map +0 -1
- package/dist/ui/types/index.js +0 -2
- package/dist/ui/types/index.js.map +0 -1
- package/dist/ui/types/message.js +0 -3
- package/dist/ui/types/message.js.map +0 -1
- package/dist/ui/types/tool.js +0 -4
- package/dist/ui/types/tool.js.map +0 -1
- package/dist/ui/utils/array.js +0 -4
- package/dist/ui/utils/array.js.map +0 -1
- package/dist/ui/utils/cursor.js +0 -131
- package/dist/ui/utils/cursor.js.map +0 -1
- package/dist/ui/utils/diff.js +0 -120
- package/dist/ui/utils/diff.js.map +0 -1
- package/dist/ui/utils/format.js +0 -42
- package/dist/ui/utils/format.js.map +0 -1
- package/dist/ui/utils/fuzzy.js +0 -59
- package/dist/ui/utils/fuzzy.js.map +0 -1
- package/dist/ui/utils/index.js +0 -11
- package/dist/ui/utils/index.js.map +0 -1
- package/dist/ui/utils/keys.js +0 -8
- package/dist/ui/utils/keys.js.map +0 -1
- package/dist/ui/utils/patch.js +0 -17
- package/dist/ui/utils/patch.js.map +0 -1
- package/dist/ui/utils/risk.js +0 -114
- package/dist/ui/utils/risk.js.map +0 -1
- package/dist/ui/utils/terminal-image.js +0 -70
- package/dist/ui/utils/terminal-image.js.map +0 -1
- package/dist/ui/utils/validation.js +0 -48
- package/dist/ui/utils/validation.js.map +0 -1
- package/dist/ui/verb-pairs.js +0 -248
- package/dist/ui/verb-pairs.js.map +0 -1
- package/dist/ui.js +0 -131
- package/dist/ui.js.map +0 -1
- 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 -44
- 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
package/bin/aria.mjs
CHANGED
|
@@ -13,7 +13,7 @@ var mQ0=Object.create;var{getPrototypeOf:cQ0,defineProperty:MK,getOwnPropertyNam
|
|
|
13
13
|
`)});let F=()=>{H=!0,V.destroy(),B()};Y?.addEventListener("abort",F,{once:!0}),V.on("data",(D)=>{W+=D;while(!0){let O=W.indexOf(`
|
|
14
14
|
`);if(O===-1)break;let L=W.slice(0,O).trim();if(W=W.slice(O+1),L.length===0)continue;try{let q=w5.parse(JSON.parse(L));if(q.id!==G.id){K=Error("Local control socket response ID mismatch");break}if(!q.ok){let A=C5(q.error,q.diagnostic);if("reason"in q&&typeof q.reason==="string")A.reason=q.reason;K=A;break}z.push(X(q.payload))}catch(q){K=q;break}}B()}),V.once("error",(D)=>{K=D,B()}),V.once("end",()=>{H=!0,B()}),V.once("close",()=>{H=!0,B()});try{while(!0){if(z.length>0){yield z.shift();continue}if(K)throw K;if(H)return;await new Promise((D)=>{U=D})}}finally{Y?.removeEventListener("abort",F),V.destroy()}}}}function rK($){let Z=$.pollIntervalMs??1000,J=async(X)=>j$($.runtimeSocket,"listInbox",r9.optional().parse(X),(Y)=>c8.array().parse(Y));return{async submitRun(X){let Y=j8.parse(X);return tu(j$($.runtimeSocket,"submitRun",Y,(Q)=>k9.parse(Q)))},async resumeRun(X){return j$($.runtimeSocket,"resumeRun",l4.parse(X),(Y)=>k9.parse(Y))},streamRun(X,Y){return xN($.runtimeSocket,"streamRun",j8.parse(X),(Q)=>E6.parse(Q),Y)},subscribeRuntimeEvents(X){return xN($.runtimeSocket,"subscribeRuntimeEvents",A7.optional().parse(X),(Y)=>Q1.parse(Y))},async sendBestEffort(X){return j$($.runtimeSocket,"sendBestEffort",G8.parse(X),(Y)=>a4.parse(Y))},async sendDurable(X){return j$($.runtimeSocket,"sendDurable",G8.parse(X),(Y)=>n4.parse(Y))},listInbox:J,subscribeInbox(X){return su(()=>J({limit:100,unreadOnly:!1}),{pollIntervalMs:Z,initialAfterCreatedAt:X?.afterCreatedAt??0})},async listPeers(){return j$($.runtimeSocket,"listPeers",void 0,(X)=>A4.array().parse(X))},async listNearbyPeers(){return j$($.runtimeSocket,"listNearbyPeers",void 0,(X)=>_6.array().parse(X))},subscribePeers(){return su(()=>j$($.runtimeSocket,"listPeers",void 0,(X)=>A4.array().parse(X)),{pollIntervalMs:Z,getVersionKey:(X)=>[X.updatedAt,X.endpointRevision,X.identityState,X.transportState,X.lastSeenAt??"",X.transportPublicKey,X.displayNameSnapshot??""].join("|")})},async getRuntimeStatus(){return j$($.runtimeSocket,"getRuntimeStatus",void 0,(X)=>f8.parse(X))},async getModelSnapshot(){return j$($.runtimeSocket,"getModelSnapshot",void 0,(X)=>r2.parse(X))},async refreshModelSnapshot(X){return j$($.runtimeSocket,"refreshModelSnapshot",X,(Y)=>r2.parse(Y))},async setCurrentModel(X){return j$($.runtimeSocket,"setCurrentModel",{model:X},(Y)=>r2.parse(Y))},async getSessionCredentialOverlayState(){return j$($.runtimeSocket,"getSessionCredentialOverlayState",void 0,(X)=>s2.parse(X))},async setSessionCredentialOverlay(X){return j$($.runtimeSocket,"setSessionCredentialOverlay",FG.parse(X),(Y)=>s2.parse(Y))},async clearSessionCredentialOverlay(){return j$($.runtimeSocket,"clearSessionCredentialOverlay",void 0,(X)=>s2.parse(X))},async startAutonomousLoop(X){return j$($.runtimeSocket,"startAutonomousLoop",i2.optional().parse(X),(Y)=>f8.parse(Y))},async stopAutonomousLoop(){return j$($.runtimeSocket,"stopAutonomousLoop",void 0,(X)=>f8.parse(X))},async getRuntimeBootstrap(){return j$($.runtimeSocket,"getRuntimeBootstrap",void 0,(X)=>u8.parse(X))},async listPendingPairRequests(){return j$($.runtimeSocket,"listPendingPairRequests",void 0,(X)=>M6.array().parse(X))},async respondToPairRequest(X){return j$($.runtimeSocket,"respondToPairRequest",E4.parse(X),(Y)=>P6.parse(Y))},async createInvite(X){return j$($.runtimeSocket,"createInvite",i4.parse(X),(Y)=>o4.parse(Y))},async listPendingInvites(){return j$($.runtimeSocket,"listPendingInvites",void 0,(X)=>q4.array().parse(X))},async acceptInviteToken(X){return j$($.runtimeSocket,"acceptInviteToken",r4.parse(X),(Y)=>t4.parse(Y))},async cancelInvite(X){return j$($.runtimeSocket,"cancelInvite",i6.parse(X),(Y)=>o6.parse(Y))},async invitePeer(X){return j$($.runtimeSocket,"invitePeer",s4.parse(X),(Y)=>n6.parse(Y))},async acceptInvite(X){return j$($.runtimeSocket,"acceptInvite",L4.parse(X),(Y)=>V1.parse(Y))},async directPair(X){return j$($.runtimeSocket,"directPair",z9.parse(X),(Y)=>j6.parse(Y))},async revokePeer(X){return j$($.runtimeSocket,"revokePeer",_4.parse(X),(Y)=>T6.parse(Y))},async repairPeer(X){return j$($.runtimeSocket,"repairPeer",e4.parse(X),(Y)=>s6.parse(Y))},async appendSessionMessages(X,Y){await j$($.runtimeSocket,"sessionAppendMessages",{sessionId:X,messages:Y},()=>{return})},async markSessionCompleted(X){await j$($.runtimeSocket,"sessionMarkCompleted",{sessionId:X},()=>{return})},async replaceSessionMessages(X,Y){await j$($.runtimeSocket,"sessionReplaceMessages",{sessionId:X,messages:Y},()=>{return})}}}function tK($){let Z=r6.parse($.auth);return{...rK({runtimeSocket:$.runtimeSocket,pollIntervalMs:$.pollIntervalMs}),async sendBestEffort(Y){return j$($.runtimeSocket,"sendBestEffort",G8.parse(Y),(Q)=>a4.parse(Q),Z)},async sendDurable(Y){return j$($.runtimeSocket,"sendDurable",G8.parse(Y),(Q)=>n4.parse(Q),Z)},async submitRun(Y){let Q=j8.parse(Y);return tu(j$($.runtimeSocket,"submitRun",Q,(G)=>k9.parse(G),Z))},async resumeRun(Y){return j$($.runtimeSocket,"resumeRun",l4.parse(Y),(Q)=>k9.parse(Q),Z)},streamRun(Y,Q){return xN($.runtimeSocket,"streamRun",j8.parse(Y),(G)=>E6.parse(G),Q,Z)},async listAttachedClients(){return j$($.runtimeSocket,"listAttachedClients",void 0,(Y)=>kZ.array().parse(Y),Z)},listDirectClientInbox:async(Y)=>j$($.runtimeSocket,"listDirectClientInbox",r9.optional().parse(Y),(Q)=>c8.array().parse(Q),Z),subscribeDirectClientInbox(Y){return xN($.runtimeSocket,"subscribeDirectClientInbox",q7.optional().parse(Y),(Q)=>c8.parse(Q),void 0,Z)}}}var eu=_(()=>{W8()});var qG="x-aria-local-client-id",EG="x-aria-local-client-proof";import{existsSync as $p}from"fs";import{createRequire as RG0}from"module";import{join as wG0}from"path";function Jp(){return cC("bun:sqlite")}function Xp(){let $=process.env.ARIA_BUN_CUSTOM_SQLITE_PATH?.trim();if($)return $p($)?$:null;if(process.platform==="darwin"){let J=["/opt/homebrew/opt/sqlite/lib/libsqlite3.dylib","/usr/local/opt/sqlite/lib/libsqlite3.dylib"].find((X)=>$p(X));if(J)return J}return null}function uC(){let $=globalThis,Z=$[Zp];if(Z&&typeof Z==="object")return Z;let J={attempted:!1};return $[Zp]=J,J}function Yp(){let $=uC();if($.attempted)return;$.attempted=!0;let Z=Xp();if(!Z)return;Jp().Database.setCustomSQLite?.(Z),$.customPath=Z}function _G(){Yp()}function Qp($){if($&&typeof $==="object"){let Z=$;return{changes:typeof Z.changes==="number"?Z.changes:typeof Z.affectedRows==="number"?Z.affectedRows:0,lastInsertRowid:typeof Z.lastInsertRowid==="number"||typeof Z.lastInsertRowid==="bigint"?Z.lastInsertRowid:void 0}}return{changes:0}}function SG0($){return{run(...Z){return Qp($.run(...Z))},get(...Z){let J=$.get(...Z);return J===null?void 0:J},all(...Z){return $.all(...Z)}}}function IG0(){return cC("better-sqlite3")}function bG0($){return{run(...Z){let J=$.run(...Z);return{changes:J.changes,lastInsertRowid:J.lastInsertRowid}},get(...Z){return $.get(...Z)},all(...Z){return $.all(...Z)}}}function kG0($){let J=new(IG0())($.path,$.readonly?{readonly:!0}:void 0);return{kind:"better-sqlite3",nativeHandle:J,capabilities:{pragmas:!0,transactions:!0,preparedStatements:!0,loadableExtensions:!0,customSQLiteConfigured:!1},pragma(X,Y){let Q=X.trim();if(Q.includes("=")||/^wal_checkpoint/i.test(Q)){J.pragma(Q);return}if(Y?.simple)return J.pragma(Q,{simple:!0});return J.prepare(`PRAGMA ${Q}`).all()},exec(X){J.exec(X)},prepare(X){return bG0(J.prepare(X))},transaction(X){return J.transaction(X)},close(){J.close()},loadExtension:J.loadExtension?(X)=>{J.loadExtension(X)}:void 0}}function _7($){let Z;try{Z=Jp()}catch(Y){if(process.env.VITEST||process.argv.some((Q)=>Q.includes("vitest"))||process.argv.some((Q)=>Q.includes("vite")))return M7($);throw Error(`[sqlite-open] bun:sqlite failed to load under Bun runtime: ${Y instanceof Error?Y.message:String(Y)}`)}Yp();let J=uC(),X=new Z.Database($.path,{create:!$.readonly,readonly:$.readonly??!1});return{kind:"bun",nativeHandle:X,capabilities:{pragmas:!0,transactions:!0,preparedStatements:!0,loadableExtensions:J.customPath!==void 0||process.platform!=="darwin",customSQLiteConfigured:J.customPath!==void 0,...J.customPath?{customSQLitePath:J.customPath}:{}},pragma(Y,Q){let G=Y.trim();if(G.includes("=")||/^wal_checkpoint/i.test(G)){X.exec(`PRAGMA ${G}`);return}let V=typeof X.query==="function"?X.query.bind(X):X.prepare?.bind(X);if(!V){X.exec(`PRAGMA ${G}`);return}if(Q?.simple){let W=V(`PRAGMA ${G}`).get();if(!W)return;let H=Object.values(W);return H.length===1?H[0]:W}return V(`PRAGMA ${G}`).all()},exec(Y){X.exec(Y)},prepare(Y){let Q=typeof X.prepare==="function"?X.prepare(Y):X.query?.(Y);if(!Q)throw Error("[sqlite] No prepare/query API available on bun:sqlite Database");return SG0(Q)},transaction(Y){return X.transaction(Y)},close(){X.close()},loadExtension:X.loadExtension?(Y)=>{X.loadExtension(Y)}:void 0}}function fG0(){return cC("node:sqlite")}function yG0($){return{run(...Z){return Qp($.run(...Z))},get(...Z){return $.get(...Z)},all(...Z){return $.all(...Z)}}}function vG0($){let{DatabaseSync:Z}=fG0(),J=new Z($.path,{readOnly:$.readonly??!1,open:!0});return{kind:"node:sqlite",nativeHandle:J,capabilities:{pragmas:!0,transactions:!0,preparedStatements:!0,loadableExtensions:!1,customSQLiteConfigured:!1},pragma(X,Y){let Q=X.trim();if(Q.includes("=")||/^wal_checkpoint/i.test(Q)){J.exec(`PRAGMA ${Q}`);return}let G=J.prepare(`PRAGMA ${Q}`);if(Y?.simple){let V=G.get();if(!V)return;let W=Object.values(V);return W.length===1?W[0]:V}return G.all()},exec(X){J.exec(X)},prepare(X){return yG0(J.prepare(X))},transaction(X){return(...Y)=>{J.exec("BEGIN");try{let Q=X(...Y);return J.exec("COMMIT"),Q}catch(Q){throw J.exec("ROLLBACK"),Q}}},close(){J.close()}}}function M7($){try{return kG0($)}catch{return vG0($)}}function gN(){return Xp()}function mN(){return uC().customPath}var cC,Zp="__ARIA_BUN_SQLITE_CONFIG_STATE__";var pC=_(()=>{cC=RG0(wG0(process.cwd(),"__aria_module_loader__.js"))});import Gp from"fs";import hG0 from"os";import Vp from"path";function Wp($="test.db"){let Z=Gp.mkdtempSync(Vp.join(hG0.tmpdir(),"aria-sqlite-test-")),J=Vp.join(Z,$),X=M7({path:J});return{db:X,dbPath:J,tempDir:Z,cleanup(){try{X.close()}catch{}Gp.rmSync(Z,{recursive:!0,force:!0})}}}var Hp=_(()=>{pC()});var Kp={};M$(Kp,{openCompatSqliteDatabase:()=>M7,openBunRuntimeSqliteDatabase:()=>_7,getResolvedBunCustomSqlitePath:()=>gN,getConfiguredBunCustomSqlitePath:()=>mN,createTestDatabase:()=>Wp,configureBunCustomSqlite:()=>_G});var MG=_(()=>{pC();Hp()});import{createHash as xG0}from"crypto";function e$($,Z){let J=xG0("sha256");if(typeof $==="string")if(Z)J.update($,Z);else J.update($);else J.update($);return J.digest("hex")}var zp=()=>{};import{EventEmitter as gG0}from"events";import{randomUUID as mG0}from"crypto";var BX;var dC=_(()=>{BX=class BX extends gG0{stdin;stdout;pending=new Map;buffer="";requestTimeout;constructor($={}){super();this.requestTimeout=$.timeout??30000}connect($,Z){this.stdin=$,this.stdout=Z,Z.on("data",(J)=>{this.buffer+=J.toString(),this.processBuffer()}),Z.on("error",(J)=>{this.emit("error",J)}),Z.on("end",()=>{this.emit("close")})}processBuffer(){let $;while(($=this.buffer.indexOf(`
|
|
15
15
|
`))!==-1){let Z=this.buffer.slice(0,$).trim();if(this.buffer=this.buffer.slice($+1),Z)try{this.handleMessage(JSON.parse(Z))}catch(J){this.emit("error",Error(`Invalid JSON: ${Z}`))}}}handleMessage($){if(typeof $!=="object"||$===null||!("jsonrpc"in $)||$.jsonrpc!=="2.0")return;let Z=$;if("id"in Z&&Z.id!==void 0){let J=Z,X=this.pending.get(String(J.id));if(X)if(this.pending.delete(String(J.id)),clearTimeout(X.timeout),J.error)X.reject(Error(`${J.error.code}: ${J.error.message}`));else X.resolve(J.result);return}if("method"in Z){let J=Z;this.emit(J.method,J.params),this.emit("notification",{method:J.method,params:J.params})}}async request($,Z){if(!this.stdin)throw Error("Not connected");let J=mG0(),X={jsonrpc:"2.0",id:J,method:$,params:Z};return new Promise((Y,Q)=>{let G=setTimeout(()=>{if(this.pending.has(J))this.pending.delete(J),Q(Error(`Request timeout: ${$}`))},this.requestTimeout);this.pending.set(J,{resolve:Y,reject:Q,timeout:G}),this.send(X)})}notify($,Z){let J={jsonrpc:"2.0",method:$,params:Z};this.send(J)}send($){if(!this.stdin)throw Error("Not connected");this.stdin.write(JSON.stringify($)+`
|
|
16
|
-
`)}close(){for(let[,$]of this.pending)clearTimeout($.timeout),$.reject(Error("Connection closed"));this.pending.clear(),this.buffer="",this.stdin=void 0,this.stdout?.removeAllListeners(),this.stdout=void 0}}});import{spawn as cG0}from"child_process";import{EventEmitter as uG0}from"events";import{PassThrough as pG0,Writable as dG0}from"stream";function Up($=process.env){let Z={};for(let[J,X]of Object.entries($)){if(X===void 0)continue;if(J.toUpperCase().startsWith("GIT_"))continue;Z[J]=X}return Z}var lG0="1.0.
|
|
16
|
+
`)}close(){for(let[,$]of this.pending)clearTimeout($.timeout),$.reject(Error("Connection closed"));this.pending.clear(),this.buffer="",this.stdin=void 0,this.stdout?.removeAllListeners(),this.stdout=void 0}}});import{spawn as cG0}from"child_process";import{EventEmitter as uG0}from"events";import{PassThrough as pG0,Writable as dG0}from"stream";function Up($=process.env){let Z={};for(let[J,X]of Object.entries($)){if(X===void 0)continue;if(J.toUpperCase().startsWith("GIT_"))continue;Z[J]=X}return Z}var lG0="1.0.54",aG0,B1;var lC=_(()=>{dC();aG0={name:"aria-cli",version:lG0};B1=class B1 extends uG0{config;process;transport="stdio";rpc;capabilities={};_initialized=!1;sseAbortController;sseStreamPromise;ssePostUrl;sseSessionId;sseOutput;_disconnecting=!1;_reconnecting=!1;_reconnectAttempts=0;static RECONNECT_BASE_DELAY_MS=1000;static RECONNECT_MAX_DELAY_MS=30000;static RECONNECT_MAX_ATTEMPTS=5;constructor($){super();this.config=$,this.rpc=new BX}get name(){return this.config.name}get initialized(){return this._initialized}async initialize(){if(!this._reconnecting)this._disconnecting=!1,this._reconnectAttempts=0;this.transport=this.config.transport??"stdio";try{if(this.transport==="stdio")await this.initializeStdioTransport();else await this.initializeSSETransport();this.rpc.on("notifications/tools/list_changed",()=>this.emit("tools/list_changed")),this.rpc.on("notifications/resources/list_changed",()=>this.emit("resources/list_changed")),this.rpc.on("notifications/prompts/list_changed",()=>this.emit("prompts/list_changed"));let $=await this.rpc.request("initialize",{protocolVersion:"2024-11-05",capabilities:{roots:{listChanged:!0}},clientInfo:aG0});return this.capabilities=$.capabilities||{},this._initialized=!0,this.rpc.notify("notifications/initialized",{}),this.capabilities}catch($){throw await this.cleanupAfterInitializeFailure(),$}}async attemptReconnect(){if(this._disconnecting||this._reconnecting)return;this._reconnecting=!0;while(this._reconnectAttempts<B1.RECONNECT_MAX_ATTEMPTS&&!this._disconnecting){this._reconnectAttempts++;let $=Math.min(B1.RECONNECT_BASE_DELAY_MS*Math.pow(2,this._reconnectAttempts-1),B1.RECONNECT_MAX_DELAY_MS);if(this.emit("log",{level:"info",message:`Reconnect attempt ${this._reconnectAttempts}/${B1.RECONNECT_MAX_ATTEMPTS} in ${$}ms`}),await new Promise((Z)=>setTimeout(Z,$)),this._disconnecting)break;try{this.rpc.close(),this.rpc=new BX,await this.initialize(),this._reconnectAttempts=0,this._reconnecting=!1,this.emit("reconnected");return}catch(Z){this.emit("log",{level:"error",message:`Reconnect attempt ${this._reconnectAttempts} failed: ${Z.message}`})}}if(this._reconnecting=!1,!this._disconnecting)this._initialized=!1,this.emit("error",Error(`Failed to reconnect after ${B1.RECONNECT_MAX_ATTEMPTS} attempts`))}async initializeStdioTransport(){if(!this.config.command)throw Error("Command required for stdio transport");if(this.process=cG0(this.config.command,this.config.args||[],{env:{...Up(),...Up(this.config.env??{})},stdio:["pipe","pipe","pipe"]}),!this.process.stdin||!this.process.stdout)throw Error("Failed to create stdio streams");this.rpc.connect(this.process.stdin,this.process.stdout),this.process.stderr?.on("data",($)=>{this.emit("log",{level:"error",message:$.toString()})}),this.process.on("exit",($)=>{if(this._initialized=!1,this.rpc.close(),this.emit("exit",$),!this._disconnecting)this.attemptReconnect()})}async initializeSSETransport(){let $=this.config.url;if(!$)throw Error("URL required for sse transport");let Z=new dG0({write:(Y,Q,G)=>{let V=Y.toString();this.postSSEMessages(V).then(()=>G()).catch((W)=>G(W))}}),J=new pG0;this.sseOutput=J,this.rpc.connect(Z,J),this.sseAbortController=new AbortController;let X=await fetch($,{method:"GET",headers:{Accept:"text/event-stream"},signal:this.sseAbortController.signal});if(!X.ok||!X.body){let Y=await X.text();throw Error(`Failed to connect SSE transport: ${X.status} ${X.statusText} ${Y}`)}this.sseSessionId=X.headers.get("mcp-session-id")??void 0,this.ssePostUrl=$,this.sseStreamPromise=this.consumeSSE(X.body,$)}async postSSEMessages($){let Z=$.trim();if(!Z)return;let J=this.ssePostUrl||this.config.url;if(!J)throw Error("SSE transport endpoint is not configured");let X=Z.split(`
|
|
17
17
|
`).map((Y)=>Y.trim()).filter((Y)=>Y.length>0);for(let Y of X){let Q=await fetch(J,{method:"POST",headers:{"Content-Type":"application/json",...this.sseSessionId?{"mcp-session-id":this.sseSessionId}:{}},body:Y});if(!Q.ok){let V=await Q.text();throw Error(`SSE transport POST failed: ${Q.status} ${Q.statusText} ${V}`)}let G=(await Q.text()).trim();if(!G||!this.sseOutput)continue;for(let V of G.split(`
|
|
18
18
|
`)){let W=V.trim();if(!W)continue;if(W.startsWith("{")&&W.endsWith("}"))this.sseOutput.write(`${W}
|
|
19
19
|
`)}}}async consumeSSE($,Z){let J=$.getReader(),X=new TextDecoder,Y="",Q="",G=[],V=()=>{if(G.length===0){Q="";return}let W=G.join(`
|
|
@@ -4723,7 +4723,7 @@ ${$.toString("base64").match(/.{1,64}/g)?.join(`
|
|
|
4723
4723
|
CREATE INDEX IF NOT EXISTS idx_delegation_transitions_id
|
|
4724
4724
|
ON delegation_transitions(delegation_id);
|
|
4725
4725
|
`)}mapRow($){if(!$)return;let Z=G0.safeParse($.remote_node_id?.trim());return{id:$.id,type:$.type,task:$.task,state:$.state,...$.arion_name?{arionName:$.arion_name}:{},...Z.success?{remoteNodeId:Z.data}:{},...$.remote_display_name_snapshot?{remoteDisplayNameSnapshot:$.remote_display_name_snapshot}:{},...$.tier?{tier:$.tier}:{},...$.result?{result:$.result}:{},...$.error?{error:$.error}:{},createdAt:$.created_at,updatedAt:$.updated_at,...$.metadata?{metadata:$.metadata}:{}}}create($){let Z=Date.now(),J=$.metadata?JSON.stringify($.metadata):null;this.db.transaction(()=>{this.stmtInsert.run($.id,$.type,$.task,"created",$.arionName??null,$.remoteNodeId??null,$.remoteDisplayNameSnapshot??null,$.tier??null,J,Z,Z),this.stmtInsertTransition.run($.id,null,"created",Z,null)})()}transition($,Z,J){let X=Date.now(),Q=this.stmtGet.get($)?.state??null;this.db.transaction(()=>{this.stmtUpdateState.run(Z,X,$),this.stmtInsertTransition.run($,Q,Z,X,J??null)})()}complete($,Z){let J=Date.now(),Y=this.stmtGet.get($)?.state??null;this.db.transaction(()=>{this.stmtUpdateResult.run("completed",Z??null,null,J,$),this.stmtInsertTransition.run($,Y,"completed",J,null)})()}fail($,Z){let J=Date.now(),Y=this.stmtGet.get($)?.state??null;this.db.transaction(()=>{this.stmtUpdateResult.run("failed",null,Z,J,$),this.stmtInsertTransition.run($,Y,"failed",J,Z)})()}get($){return this.mapRow(this.stmtGet.get($))}findRecoverable(){return this.stmtFindNonTerminal.all().map(($)=>this.mapRow($))}cleanup($=86400000){let Z=Date.now()-$;this.db.transaction(()=>{this.stmtCleanup.run(Z),this.stmtCleanupStore.run(Z)})()}record($){switch($.event){case"created":if(!this.get($.id))this.create({id:$.id,type:$.type,task:$.task,arionName:$.arionName,remoteNodeId:$.remoteNodeId,remoteDisplayNameSnapshot:$.remoteDisplayNameSnapshot,tier:$.tier});this.transition($.id,"running");break;case"completed":this.complete($.id,$.result);break;case"failed":this.fail($.id,$.error??"Unknown error");break;case"aborted":this.transition($.id,"aborted");break}}}var j90=_(()=>{W8()});var V8=_(()=>{pB();rE();pB();pB();pB();T80();v80();JM();dy();ZM();ly();q90();ay();GM();ry();ty();ey();zM();Hy();Uy();Zv();Jv();M90();Uf();HM();Xv();j90();i_();G_();J_();b0();S80();by();$90()});import{jsx as QJ,jsxs as DM}from"react/jsx-runtime";import{useState as UT0,useRef as C90}from"react";import{Box as ZF,Text as IY,useInput as BT0}from"ink";function Yv({currentLevel:$,onSelect:Z,onCancel:J,isActive:X=!0}){let Y=e(),Q=iZ.indexOf($),G=Q>=0?Q:0,[V,W]=UT0(G),H=C90(G),K=C90(!1),z=(B)=>{W((F)=>{let D=B(F);return H.current=D,D})},U=process.stdin.isTTY??!1;return BT0((B,F)=>{if(K.current)return;if(F.upArrow)z((D)=>Math.max(0,D-1));else if(F.downArrow)z((D)=>Math.min(iZ.length-1,D+1));else if(F.return)K.current=!0,Z(iZ[H.current]);else if(W$(B,F))K.current=!0,J()},{isActive:X&&U}),DM(ZF,{flexDirection:"column",borderStyle:"round",borderColor:Y.colors.secondary,paddingX:1,paddingY:1,width:48,children:[QJ(ZF,{marginBottom:1,children:QJ(IY,{bold:!0,children:"Autonomy Level"})}),QJ(ZF,{marginBottom:1,children:DM(IY,{children:["Current: ",QJ(IY,{bold:!0,children:$})]})}),iZ.map((B,F)=>{let D=F===V,O=D?"\u25CF":"\u25CB",L=B==="high"||B==="full";return DM(ZF,{gap:1,children:[QJ(IY,{color:D?Y.colors.primary:void 0,children:O}),QJ(IY,{color:D?Y.colors.primary:L?Y.colors.warning:void 0,bold:D,children:B.padEnd(10)}),QJ(IY,{color:Y.colors.textMuted,children:FT0[B]})]},B)}),QJ(ZF,{marginTop:1,children:DM(IY,{color:Y.colors.textMuted,children:["\u2191\u2193"," Navigate Enter Select Esc Cancel"]})})]})}var FT0;var R90=_(()=>{E0();V8();FT0={minimal:"Confirm all tool calls",balanced:"Confirm dangerous only",high:"Auto-approve everything",full:"Auto-approve everything"}});import{jsxs as iL$,jsx as oL$}from"react/jsx-runtime";import{Box as rL$,Text as tL$}from"ink";var w90=_(()=>{E0()});import{jsx as bY,jsxs as OM}from"react/jsx-runtime";import{Box as NM,Text as kY}from"ink";function NT0($){if($<1000)return`${Math.round($)}ms`;if($<60000)return`${($/1000).toFixed(1)}s`;let Z=Math.floor($/60000),J=Math.round($%60000/1000);return`${Z}m ${J}s`}function S90($,Z,J){let X=Math.round(Z*$),Y=Math.max(DT0,Math.round(J*$)),Q=Math.max(0,$-X-Y);return"\u2591".repeat(X)+"\u2588".repeat(Y)+"\u2591".repeat(Q)}function Gv({spans:$,width:Z}){let J=e(),X=Z??OT0,Y=$.filter((K)=>K.endTime!==void 0||K.durationMs!==void 0);if(Y.length===0)return bY(NM,{children:bY(kY,{dimColor:!0,children:"(no completed spans)"})});let Q=Y.map((K)=>{let z=K.durationMs??K.endTime-K.startTime,U=K.endTime??K.startTime+z;return{...K,durationMs:z,endTime:U}}),G=Math.min(...Q.map((K)=>K.startTime)),W=Math.max(...Q.map((K)=>K.endTime))-G;if(W<=0)return bY(NM,{flexDirection:"column",children:Q.map((K)=>OM(kY,{dimColor:!0,children:[Qv[K.spanType]??K.spanType," ","\u2588"," 0ms (",K.name,")"]},K.spanId))});let H=Math.max(...Q.map((K)=>{let z=Qv[K.spanType]??K.spanType;return(K.parentSpanId!==void 0?2:0)+z.length}));return bY(NM,{flexDirection:"column",children:Q.map((K)=>{let z=K.parentSpanId!==void 0,U=z?" ":"",B=Qv[K.spanType]??K.spanType,F=(U+B).padEnd(H),D=(K.startTime-G)/W,O=K.durationMs/W,L=S90(X,D,O),q=NT0(K.durationMs),A=K.spanType==="tool_execution"&&K.name?` (${K.name})`:"";return OM(NM,{children:[OM(kY,{color:J.colors.textMuted,children:[" ",F]}),bY(kY,{children:" "}),bY(kY,{color:z?J.colors.info:J.colors.success,children:L}),bY(kY,{children:" "}),OM(kY,{dimColor:!0,children:[q,A]})]},K.spanId)})})}var DT0=1,OT0=20,Qv;var I90=_(()=>{E0();Qv={model_call:"model_call",tool_execution:"tool_exec",handoff:"handoff",approval:"approval",session_phase:"session",runner_phase:"runner"}});import{jsxs as tW}from"react/jsx-runtime";import{Box as b90,Text as LM}from"ink";function k90($){if($<1000)return`${Math.round($)}ms`;return`${($/1000).toFixed(2)}s`}function Vv({report:$}){let Z=e();if(!$||$.phases.length===0)return null;return tW(b90,{flexDirection:"column",marginTop:1,children:[tW(LM,{color:Z.colors.textMuted,children:[" Pipeline timing (",k90($.totalMs),")"]}),$.phases.map((J)=>tW(b90,{children:[tW(LM,{color:Z.colors.info,children:[" ",J.phase.padEnd(24)]}),tW(LM,{color:Z.colors.text,children:[" ",k90(J.durationMs)]}),tW(LM,{color:Z.colors.textMuted,children:[" (",J.pct,"%)"]})]},`${J.phase}:${J.durationMs}`))]})}var f90=_(()=>{E0()});import{jsxs as y90,jsx as LT0}from"react/jsx-runtime";import{useRef as AT0}from"react";import{Box as qT0,Text as v90}from"ink";import ET0 from"gradient-string";function x90($){if($<60)return`${$}s`;let Z=Math.floor($/60),J=$%60;return`${Z}m ${J}s`}function _T0($){if($>=1000)return`${($/1000).toFixed(1)}k tokens`;return`${$} tokens`}function Hv({state:$,elapsedSeconds:Z,totalTokens:J,thoughtForSeconds:X,currentVerb:Y}){let Q=[...h90,...[...h90].reverse()],G=Math.floor(Date.now()/120)%Q.length,V=AT0(j1().present),W=Y||V.current,H=e(),K=G%Wv.length,z=[...Wv.slice(K),...Wv.slice(0,K)],U=ET0(z),B=`${Q[G]} ${W}\u2026`,F=U(B),D=x90(Z),O=_T0(J),L;if($==="thinking")L="(thinking)";else if(X&&X>0)L=`(${D} \xB7 \u2193 ${O} \xB7 thought for ${x90(X)})`;else L=`(${D} \xB7 \u2193 ${O} \xB7 esc to cancel)`;return y90(qT0,{flexDirection:"row",marginTop:1,children:[y90(v90,{children:[F," "]}),LT0(v90,{color:H.colors.textMuted,children:L})]})}var Wv,h90;var g90=_(()=>{E0();EV();Wv=["#5f97cd","#7baed4","#97c4db","#7baed4"],h90=process.platform==="darwin"?["\xB7","\u2722","\u2733","\u2217","\u273B","\u273D"]:["\xB7","\u2722","*","\u2217","\u273B","\u273D"]});import{jsxs as c90,jsx as m90}from"react/jsx-runtime";import{Box as MT0,Text as u90}from"ink";function Kv($){return $>=70?"high":$>=30?"moderate":"low"}function PT0($){let Z=e();switch($){case"low":return{highlightColor:Z.colors.success,textColor:Z.colors.primary};case"moderate":return{highlightColor:Z.colors.warning,textColor:Z.colors.warning};case"high":return{highlightColor:Z.colors.error,textColor:Z.colors.error}}}function $5($){if($===null)return e().colors.primary;let Z=Kv($);return PT0(Z).textColor}function jT0({riskScore:$}){let Z=Kv($);return c90(u90,{color:$5($),children:["Risk: ",Z]})}function c1({title:$,riskScore:Z}){return c90(MT0,{flexDirection:"column",children:[m90(u90,{bold:!0,color:e().colors.primary,children:$}),Z!==null&&m90(jT0,{riskScore:Z})]})}var fY=_(()=>{E0()});function Z5($,Z){}import{structuredPatch as TT0}from"diff";function AM($,Z,J,X=3){let Y=TT0($,$,Z,J,"","",{context:X}),Q=0,G=0,V=Y.hunks.map((W)=>{let H=[],K=W.oldStart,z=W.newStart;for(let U of W.lines){let B=U.slice(1);if(U.startsWith("+"))H.push({type:"added",content:B,newLineNo:z++}),Q++;else if(U.startsWith("-"))H.push({type:"removed",content:B,oldLineNo:K++}),G++;else H.push({type:"unchanged",content:B,oldLineNo:K++,newLineNo:z++})}return{oldStart:W.oldStart,oldLines:W.oldLines,newStart:W.newStart,newLines:W.newLines,lines:H}});return{filePath:$,hunks:V,additions:Q,deletions:G}}var zv=()=>{};import{jsx as qM,jsxs as CT0}from"react/jsx-runtime";import{existsSync as RT0,readFileSync as wT0}from"fs";import{useMemo as p90}from"react";import{Box as Uv,Text as ST0}from"ink";import{relative as IT0}from"path";function d90({file_path:$,new_string:Z,old_string:J,verbose:X,useBorder:Y=!0,width:Q}){let G=p90(()=>RT0($)?wT0($,"utf8"):"",[$]),V=p90(()=>{let W=G.replace(J,Z);return AM($,G,W)},[$,G,J,Z]);return qM(Uv,{flexDirection:"column",children:CT0(Uv,{borderColor:e().colors.secondary,borderStyle:Y?"round":void 0,flexDirection:"column",paddingX:1,children:[qM(Uv,{paddingBottom:1,children:qM(ST0,{bold:!0,children:X?$:IT0(process.cwd(),$)})}),qM(yX,{diff:V,dim:!1,width:Q,showHeader:!1})]})})}var l90=_(()=>{TV();E0();zv()});import{jsx as Bv,jsxs as bT0}from"react/jsx-runtime";import{Box as kT0,Text as Fv}from"ink";function a90({isFocused:$,isSelected:Z,smallPointer:J,children:X}){let Y=e();return bT0(kT0,{gap:1,children:[$&&Bv(Fv,{color:Y.colors.primary,children:J?yT0:fT0}),Bv(Fv,{color:$?Y.colors.primary:void 0,bold:Z,children:X}),Z&&Bv(Fv,{color:Y.colors.success,children:vT0})]})}var fT0="\u276F",yT0="\u25BE",vT0="\u2714";var n90=_(()=>{E0()});var EM;var i90=_(()=>{GJ();EM=class EM extends Map{first;constructor($){let Z=[],J,X,Y=0;for(let Q of $){let G={...Q,previous:X,next:void 0,index:Y};if(X)X.next=G;J||=G;let V="value"in Q?Q.value:Dv(Q);Z.push([V,G]),Y++,X=G}super(Z);this.first=J}}});import{isDeepStrictEqual as hT0}from"util";import{useReducer as xT0,useCallback as Ov,useMemo as gT0,useState as mT0,useEffect as Nv}from"react";var cT0=($,Z)=>{switch(Z.type){case"focus-next-option":{if(!$.focusedValue)return $;let J=$.optionMap.get($.focusedValue);if(!J)return $;let X=J.next;while(X&&!("value"in X))X=X.next;if(!X)return $;if(!(X.index>=$.visibleToIndex))return{...$,focusedValue:X.value};let Q=Math.min($.optionMap.size,$.visibleToIndex+1),G=Q-$.visibleOptionCount;return{...$,focusedValue:X.value,visibleFromIndex:G,visibleToIndex:Q}}case"focus-previous-option":{if(!$.focusedValue)return $;let J=$.optionMap.get($.focusedValue);if(!J)return $;let X=J.previous;while(X&&!("value"in X))X=X.previous;if(!X)return $;if(!(X.index<=$.visibleFromIndex))return{...$,focusedValue:X.value};let Q=Math.max(0,$.visibleFromIndex-1),G=Q+$.visibleOptionCount;return{...$,focusedValue:X.value,visibleFromIndex:Q,visibleToIndex:G}}case"select-focused-option":return{...$,previousValue:$.value,value:$.focusedValue};case"reset":return Z.state;case"set-focus":return{...$,focusedValue:Z.value}}},Lv=($)=>$.flatMap((Z)=>{if("options"in Z){let J=Lv(Z.options),X=J.flatMap((Q)=>("value"in Q)?Q.value:[]);return[...Z.header!==void 0?[{header:Z.header,optionValues:X}]:[],...J]}return Z}),o90=({visibleOptionCount:$,defaultValue:Z,options:J})=>{let X=Lv(J),Y=typeof $==="number"?Math.min($,X.length):X.length,Q=new EM(X),G=Q.first,V=G&&"value"in G?G.value:void 0;return{optionMap:Q,visibleOptionCount:Y,focusedValue:V,visibleFromIndex:0,visibleToIndex:Y,previousValue:Z,value:Z}},s90=({visibleOptionCount:$=5,options:Z,defaultValue:J,onChange:X,onFocus:Y,focusValue:Q})=>{let G=Lv(Z),[V,W]=xT0(cT0,{visibleOptionCount:$,defaultValue:J,options:Z},o90),[H,K]=mT0(G);if(G!==H&&!hT0(G,H))W({type:"reset",state:o90({visibleOptionCount:$,defaultValue:J,options:Z})}),K(G);let z=Ov(()=>{W({type:"focus-next-option"})},[]),U=Ov(()=>{W({type:"focus-previous-option"})},[]),B=Ov(()=>{W({type:"select-focused-option"})},[]),F=gT0(()=>{return G.map((D,O)=>({...D,index:O})).slice(V.visibleFromIndex,V.visibleToIndex)},[G,V.visibleFromIndex,V.visibleToIndex]);return Nv(()=>{if(V.value&&V.previousValue!==V.value)X?.(V.value)},[V.previousValue,V.value,Z,X]),Nv(()=>{if(V.focusedValue)Y?.(V.focusedValue)},[V.focusedValue,Y]),Nv(()=>{if(Q)W({type:"set-focus",value:Q})},[Q]),{focusedValue:V.focusedValue,visibleFromIndex:V.visibleFromIndex,visibleToIndex:V.visibleToIndex,value:V.value,visibleOptions:F,focusNextOption:z,focusPreviousOption:U,selectFocusedOption:B}};var r90=_(()=>{i90()});import{useInput as uT0}from"ink";var t90=({isDisabled:$=!1,state:Z})=>{uT0((J,X)=>{if(X.downArrow)Z.focusNextOption();if(X.upArrow)Z.focusPreviousOption();if(X.return)Z.selectFocusedOption()},{isActive:!$})};var e90=()=>{};import{jsx as Av,Fragment as pT0,jsxs as dT0}from"react/jsx-runtime";import{Box as lT0,Text as aT0}from"ink";function u1({isDisabled:$=!1,visibleOptionCount:Z=5,highlightText:J,options:X,defaultValue:Y,onChange:Q,onFocus:G,focusValue:V}){let W=s90({visibleOptionCount:Z,options:X,defaultValue:Y,onChange:Q,onFocus:G,focusValue:V});t90({isDisabled:$,state:W});let H=e();return Av(lT0,{flexDirection:"column",children:W.visibleOptions.map((K)=>{let z="value"in K?K.value:Dv(K),U=!$&&W.focusedValue!==void 0&&("value"in K?W.focusedValue===K.value:K.optionValues.includes(W.focusedValue)),B=!!W.value&&("value"in K?W.value===K.value:K.optionValues.includes(W.value)),F="header"in K,D="label"in K?K.label:K.header,O=D;if(J&&D.includes(J)){let L=D.indexOf(J);O=dT0(pT0,{children:[D.slice(0,L),Av(aT0,{color:H.colors.primary,bold:!0,children:J}),D.slice(L+J.length)]})}return Av(a90,{isFocused:U,isSelected:B,smallPointer:F,children:O},z)})})}var Dv=($)=>`HEADER-${$.optionValues.join(",")}`;var GJ=_(()=>{n90();r90();e90();E0()});import{jsx as _M,jsxs as qv}from"react/jsx-runtime";import{Box as $40,Text as Z40}from"ink";import{useMemo as nT0}from"react";import{basename as iT0,extname as oT0,isAbsolute as sT0,resolve as Ev}from"path";import rT0 from"chalk";function tT0($){return(sT0($)?Ev($):Ev(process.cwd(),$)).startsWith(Ev(process.cwd()))}function eT0($){let Z=tT0($)?[{label:"Yes, and don't ask again this session",value:"yes-dont-ask-again"}]:[];return[{label:"Yes",value:"yes"},...Z,{label:`No, and provide instructions (${rT0.bold.hex(e().colors.warning)("esc")})`,value:"no"}]}function J40({toolUseConfirm:$,onDone:Z,verbose:J}){let{columns:X}=X9(),{file_path:Y,new_string:Q,old_string:G}=$.input,V=nT0(()=>({completion_type:"str_replace_single",language_name:$C0(Y)}),[Y]);return Z5($,V),qv($40,{flexDirection:"column",borderStyle:"round",borderColor:$5($.riskScore),marginTop:1,paddingLeft:1,paddingRight:1,paddingBottom:1,children:[_M(c1,{title:"Edit file",riskScore:$.riskScore}),_M(d90,{file_path:Y,new_string:Q,old_string:G,verbose:J,width:X-12}),qv($40,{flexDirection:"column",children:[qv(Z40,{children:["Do you want to make this edit to ",_M(Z40,{bold:!0,children:iT0(Y)}),"?"]}),_M(u1,{options:eT0(Y),onChange:(W)=>{switch(W){case"yes":$.onAllow("temporary"),Z();break;case"yes-dont-ask-again":$.onAllow("permanent"),Z();break;case"no":$.onReject(),Z();break}}})]})]})}function $C0($){let Z=oT0($);return Z?Z.slice(1):"unknown"}var X40=_(()=>{E0();fY();l90();P1();GJ()});import JF from"chalk";function ZC0($){let J=$.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,"");if(/&&|\|\||[;|]/.test(J))return!0;if(/`/.test(J))return!0;if(/\$\(/.test(J))return!0;return!1}function Y40({toolUseConfirm:$,command:Z}){let J=!ZC0(Z)&&$.commandPrefix&&!$.commandPrefix.commandInjectionDetected,X=XF($),Y=J&&X!==null,Q=[];if(Y)Q=[{label:`Yes, and don't ask again for ${JF.bold(X)} commands in ${JF.bold(process.cwd())}`,value:"yes-dont-ask-again-prefix"}];else if(J)Q=[{label:`Yes, and don't ask again for ${JF.bold(Z)} commands in ${JF.bold(process.cwd())}`,value:"yes-dont-ask-again-full"}];return[{label:"Yes",value:"yes"},...Q,{label:`No, and provide instructions (${JF.bold.hex(e().colors.warning)("esc")})`,value:"no"}]}var Q40=_(()=>{YF();E0()});import{jsx as QF,jsxs as _v}from"react/jsx-runtime";import{Box as Mv,Text as Pv}from"ink";import{useMemo as JC0}from"react";function G40({toolUseConfirm:$,onDone:Z}){let J=e(),{command:X}=$.tool.inputSchema.parse($.input),Y=JC0(()=>({completion_type:"tool_use_single",language_name:"none"}),[]);return Z5($,Y),_v(Mv,{flexDirection:"column",borderStyle:"round",borderColor:J.colors.primary,marginTop:1,paddingLeft:1,paddingRight:1,paddingBottom:1,children:[QF(c1,{title:"Bash command",riskScore:$.riskScore}),_v(Mv,{flexDirection:"column",paddingX:2,paddingY:1,children:[QF(Pv,{children:$.tool.renderToolUseMessage({command:X},{verbose:!1})}),QF(Pv,{color:J.colors.textMuted,children:$.description})]}),_v(Mv,{flexDirection:"column",children:[QF(Pv,{children:"Do you want to proceed?"}),QF(u1,{options:Y40({toolUseConfirm:$,command:X}),onChange:(Q)=>{switch(Q){case"yes":$.onAllow("temporary"),Z();break;case"yes-dont-ask-again-prefix":{if(XF($)!==null)$.onAllow("permanent");else $.onAllow("temporary");Z();break}case"yes-dont-ask-again-full":$.onAllow("permanent"),Z();break;case"no":$.onReject(),Z();break}}})]})]})}var V40=_(()=>{E0();YF();fY();GJ();Q40()});import{jsx as GF,jsxs as MM}from"react/jsx-runtime";import{Box as jv,Text as PM}from"ink";import{useMemo as XC0}from"react";import Tv from"chalk";function jM({toolUseConfirm:$,onDone:Z,verbose:J}){let X=e(),Y=$.tool.userFacingName($.input),Q=Y.endsWith(" (MCP)")?Y.slice(0,-6):Y,G=XC0(()=>({completion_type:"tool_use_single",language_name:"none"}),[]);return Z5($,G),MM(jv,{flexDirection:"column",borderStyle:"round",borderColor:$5($.riskScore),marginTop:1,paddingLeft:1,paddingRight:1,paddingBottom:1,children:[GF(c1,{title:"Tool use",riskScore:$.riskScore}),MM(jv,{flexDirection:"column",paddingX:2,paddingY:1,children:[MM(PM,{children:[Q,"(",$.tool.renderToolUseMessage($.input,{verbose:J}),")",Y.endsWith(" (MCP)")?GF(PM,{color:X.colors.textMuted,children:" (MCP)"}):""]}),GF(PM,{color:X.colors.textMuted,children:$.description})]}),MM(jv,{flexDirection:"column",children:[GF(PM,{children:"Do you want to proceed?"}),GF(u1,{options:[{label:"Yes",value:"yes"},{label:`Yes, and don't ask again for ${Tv.bold(Q)} commands in ${Tv.bold(process.cwd())}`,value:"yes-dont-ask-again"},{label:`No, and provide instructions (${Tv.bold.hex(e().colors.warning)("esc")})`,value:"no"}],onChange:(V)=>{switch(V){case"yes":$.onAllow("temporary"),Z();break;case"yes-dont-ask-again":$.onAllow("permanent"),Z();break;case"no":$.onReject(),Z();break}}})]})]})}var Cv=_(()=>{E0();fY();GJ()});import{jsx as TM,jsxs as YC0}from"react/jsx-runtime";import{existsSync as QC0,readFileSync as GC0}from"fs";import{useMemo as Rv}from"react";import{Box as W40,Text as VC0}from"ink";import{extname as WC0,relative as HC0}from"path";function H40({file_path:$,content:Z,verbose:J,width:X}){let Y=Rv(()=>QC0($),[$]),Q=Rv(()=>{if(!Y)return"";return GC0($,"utf8")},[$,Y]),G=Rv(()=>{if(!Y)return null;return AM($,Q,Z)},[Y,$,Q,Z]);return YC0(W40,{borderColor:e().colors.secondary,borderStyle:"round",flexDirection:"column",paddingX:1,children:[TM(W40,{paddingBottom:1,children:TM(VC0,{bold:!0,children:J?$:HC0(process.cwd(),$)})}),G?TM(yX,{diff:G,dim:!1,width:X,showHeader:!1}):TM(C1,{code:Z||"(No content)",language:WC0($).slice(1)})]})}var K40=_(()=>{TV();E0();RV();zv()});import{jsx as VF,jsxs as wv}from"react/jsx-runtime";import{Box as Sv,Text as z40}from"ink";import{useMemo as U40}from"react";import{basename as KC0,extname as zC0}from"path";import{existsSync as UC0}from"fs";import BC0 from"chalk";function B40({toolUseConfirm:$,onDone:Z,verbose:J}){let{file_path:X,content:Y}=$.input,Q=U40(()=>UC0(X),[X]),G=U40(()=>({completion_type:"write_file_single",language_name:FC0(X)}),[X]),{columns:V}=X9();return Z5($,G),wv(Sv,{flexDirection:"column",borderStyle:"round",borderColor:$5($.riskScore),marginTop:1,paddingLeft:1,paddingRight:1,paddingBottom:1,children:[VF(c1,{title:`${Q?"Edit":"Create"} file`,riskScore:$.riskScore}),VF(Sv,{flexDirection:"column",children:VF(H40,{file_path:X,content:Y,verbose:J,width:V-12})}),wv(Sv,{flexDirection:"column",children:[wv(z40,{children:["Do you want to ",Q?"make this edit to":"create"," ",VF(z40,{bold:!0,children:KC0(X)}),"?"]}),VF(u1,{options:[{label:"Yes",value:"yes"},{label:"Yes, and don't ask again this session",value:"yes-dont-ask-again"},{label:`No, and provide instructions (${BC0.bold.hex(e().colors.warning)("esc")})`,value:"no"}],onChange:(W)=>{switch(W){case"yes":$.onAllow("temporary"),Z();break;case"yes-dont-ask-again":$.onAllow("permanent"),Z();break;case"no":$.onReject(),Z();break}}})]})]})}function FC0($){let Z=zC0($);return Z?Z.slice(1):"unknown"}var F40=_(()=>{E0();fY();K40();P1();GJ()});import{jsx as eW,jsxs as Iv}from"react/jsx-runtime";import{Box as bv,Text as D40}from"ink";import{useMemo as DC0}from"react";import OC0 from"chalk";import{isAbsolute as NC0,resolve as O40}from"path";function CM($){return NC0($)?O40($):O40(process.cwd(),$)}function LC0($){return CM($).startsWith(CM(process.cwd()))}function qC0(){AC0=!0}function jC0($){let Z=$.tool.name;if(EC0.has(Z))return"file_path";if(_C0.has(Z))return"path";if(MC0.has(Z))return"notebook_path";return null}function TC0($){return PC0.has($.tool.name)}function CC0($){let Z=jC0($),J=$.input;if(Z&&Z in J)if(typeof J[Z]==="string")return CM(J[Z]);else return CM(process.cwd());return null}function N40({toolUseConfirm:$,onDone:Z,verbose:J}){let X=CC0($);if(!X)return eW(jM,{toolUseConfirm:$,onDone:Z,verbose:J});return eW(wC0,{toolUseConfirm:$,path:X,onDone:Z,verbose:J})}function RC0($,Z){if($.tool.isReadOnly())return[];return LC0(Z)?[{label:"Yes, and don't ask again for file edits this session",value:"yes-dont-ask-again"}]:[]}function wC0({toolUseConfirm:$,path:Z,onDone:J,verbose:X}){let Y=$.tool.userFacingName($.input),G=`${$.tool.isReadOnly()?"Read":"Edit"} ${TC0($)?"files":"file"}`,V=DC0(()=>({completion_type:"tool_use_single",language_name:"none"}),[]);return Z5($,V),Iv(bv,{flexDirection:"column",borderStyle:"round",borderColor:$5($.riskScore),marginTop:1,paddingLeft:1,paddingRight:1,paddingBottom:1,children:[eW(c1,{title:G,riskScore:$.riskScore}),eW(bv,{flexDirection:"column",paddingX:2,paddingY:1,children:Iv(D40,{children:[Y,"(",$.tool.renderToolUseMessage($.input,{verbose:X}),")"]})}),Iv(bv,{flexDirection:"column",children:[eW(D40,{children:"Do you want to proceed?"}),eW(u1,{options:[{label:"Yes",value:"yes"},...RC0($,Z),{label:`No, and provide instructions (${OC0.bold.hex(e().colors.warning)("esc")})`,value:"no"}],onChange:(W)=>{switch(W){case"yes":$.onAllow("temporary"),J();break;case"yes-dont-ask-again":qC0(),$.onAllow("permanent"),J();break;case"no":$.onReject(),J();break}}})]})]})}var AC0=!1,EC0,_C0,MC0,PC0;var L40=_(()=>{E0();fY();Cv();GJ();EC0=new Set(["Edit","file_edit","str_replace_editor","Write","file_write","create_file","Read","file_read","read_file"]),_C0=new Set(["Glob","glob","Grep","grep","LS","ls"]),MC0=new Set(["NotebookEdit","notebook_edit","NotebookRead","notebook_read"]),PC0=new Set(["Glob","glob","Grep","grep","LS","ls"])});import{jsx as SC0}from"react/jsx-runtime";import{useInput as IC0}from"ink";import*as A40 from"react";function vC0($){if(bC0.has($))return J40;if(kC0.has($))return B40;if(fC0.has($))return G40;if(yC0.has($))return N40;return jM}function XF($){return $.commandPrefix&&!$.commandPrefix.commandInjectionDetected&&$.commandPrefix.commandPrefix||null}function kv({toolUseConfirm:$,onDone:Z,verbose:J}){let X=A40.useRef(!1);IC0((Q,G)=>{if(X.current)return;if(G.ctrl&&Q==="c"||W$(Q,G))X.current=!0,$.onReject(),Z()});let Y=vC0($.tool.name);return SC0(Y,{toolUseConfirm:$,onDone:Z,verbose:J})}var bC0,kC0,fC0,yC0;var YF=_(()=>{X40();V40();Cv();F40();L40();bC0=new Set(["Edit","file_edit","str_replace_editor"]),kC0=new Set(["Write","file_write","create_file"]),fC0=new Set(["Bash","bash","execute_command"]),yC0=new Set(["Glob","glob","Grep","grep","LS","ls","Read","file_read","read_file","NotebookRead","notebook_read","NotebookEdit","notebook_edit"])});import{jsx as RM,jsxs as $H}from"react/jsx-runtime";import{useState as q40,useEffect as E40}from"react";import{Box as wM,Text as ZH,useInput as hC0}from"ink";function fv($){return/\s/.test($.trimStart())}function xC0($){return $.trimStart().split(/\s+/,1)[0]??""}function yv({commands:$,initialFilter:Z="",onSelect:J,onHandOffInput:X,onCancel:Y}){let[Q,G]=q40(0),[V,W]=q40(Z),H=xC0(V).toLowerCase(),K=$.filter((B)=>B.name.toLowerCase().includes(H));E40(()=>{G((B)=>Math.min(B,Math.max(0,K.length-1)))},[K.length]),E40(()=>{if(!X||!fv(V))return;X(`/${V}`)},[V,X]);let z=K.length>0?Math.min(Q,K.length-1):0,U=process.stdin.isTTY??!1;return hC0((B,F)=>{if(W$(B,F)){Y();return}if(F.return&&fv(V)&&X){X(`/${V}`);return}if(F.return&&K.length>0){J(K[z]);return}if(F.upArrow){G((D)=>Math.max(0,D-1));return}if(F.downArrow){G((D)=>Math.min(K.length-1,D+1));return}if(F.backspace||F.delete){W((D)=>D.slice(0,-1));return}if(B&&!F.ctrl&&!F.meta){let D=V+B;if(X&&fv(D)){X(`/${D}`);return}W(D)}},{isActive:U}),$H(wM,{flexDirection:"column",borderStyle:"round",borderColor:"gray",paddingX:1,children:[$H(wM,{marginBottom:1,children:[RM(ZH,{bold:!0,children:"Commands"}),V&&$H(ZH,{dimColor:!0,children:[" /",V]})]}),K.map((B,F)=>$H(wM,{children:[$H(ZH,{inverse:F===z,children:["/",B.name]}),$H(ZH,{dimColor:!0,children:[" ",B.description]})]},B.name)),K.length===0&&RM(ZH,{dimColor:!0,children:"No matching commands"}),RM(wM,{marginTop:1,children:RM(ZH,{dimColor:!0,children:"\u2191\u2193 navigate \u23CE select esc cancel"})})]})}var _40=()=>{};import{jsx as WF,jsxs as JH}from"react/jsx-runtime";import{useState as M40,useEffect as gC0}from"react";import{Box as SM,Text as yY,useInput as mC0}from"ink";function vv({arions:$,initialFilter:Z="",statusFilter:J="all",onSelect:X,onCancel:Y}){let[Q,G]=M40(0),[V,W]=M40(Z),H=$.filter((U)=>{if(J==="active"&&U.isResting)return!1;if(J==="resting"&&!U.isResting)return!1;return U.name.toLowerCase().includes(V.toLowerCase())});gC0(()=>{G((U)=>Math.min(U,Math.max(0,H.length-1)))},[H.length]);let K=H.length>0?Math.min(Q,H.length-1):0,z=process.stdin.isTTY??!1;return mC0((U,B)=>{if(W$(U,B)){Y();return}if(B.return&&H.length>0){X(H[K]);return}if(B.upArrow){G((F)=>Math.max(0,F-1));return}if(B.downArrow){G((F)=>Math.min(H.length-1,F+1));return}if(B.backspace||B.delete){W((F)=>F.slice(0,-1));return}if(U&&!B.ctrl&&!B.meta)W((F)=>F+U)},{isActive:z}),JH(SM,{flexDirection:"column",borderStyle:"round",borderColor:"gray",paddingX:1,children:[JH(SM,{marginBottom:1,children:[WF(yY,{bold:!0,children:J==="active"?"Active Arions":J==="resting"?"Resting Arions":"Arions"}),V&&JH(yY,{dimColor:!0,children:[" @",V]})]}),H.length===0&&WF(yY,{dimColor:!0,children:$.length===0?"No arions available. Create one with /hatch":J==="active"?"No active arions":J==="resting"?"No resting arions":"No matching arions"}),H.map((U,B)=>{let F=sz(U.color),D=U.isActive?" (active)":U.isResting?" (resting)":"";return JH(SM,{children:[JH(yY,{inverse:B===K,children:[U.emoji," ",WF(yY,{color:F,children:U.name})]}),JH(yY,{dimColor:!0,children:[" ",U.description,D]})]},U.name)}),WF(SM,{marginTop:1,children:WF(yY,{dimColor:!0,children:"\u2191\u2193 navigate \u23CE select esc cancel"})})]})}var P40=_(()=>{UV()});import{jsx as LZ,jsxs as p1}from"react/jsx-runtime";import{useState as hv,useEffect as cC0,useMemo as uC0}from"react";import{Box as VJ,Text as f4,useInput as pC0}from"ink";function lC0($){return dC0[$]||$}function T40($){let Z=j40.indexOf($);return Z>=0?Z:j40.length}function aC0($,Z,J){let X=new Map;for(let G of $){let V=G.provider||"other",W=X.get(V)??[];W.push(G),X.set(V,W)}let Y={powerful:0,balanced:1,fast:2,ensemble:3},Q=[...X.entries()].sort(([G],[V])=>T40(G)-T40(V));for(let[G,V]of Q){Z.push({type:"header",label:lC0(G),provider:G});let W=(U)=>{if(!U)return"balanced";let B=U.toLowerCase();if(B.includes("deep"))return"powerful";if(B.includes("quick"))return"fast";return"balanced"},H=[/^claude-opus-|^opus-|^bedrock-opus-/,/^claude-sonnet-|^sonnet-|^bedrock-sonnet-/,/^claude-haiku-|^haiku-|^bedrock-haiku-/,/^claude-/,/^gpt-/,/^o[0-9]/,/^gemini-/],K=(U)=>{let B=U.toLowerCase();for(let F=0;F<H.length;F++)if(H[F].test(B))return F;return H.length},z=[...V].sort((U,B)=>{let F=K(U.name),D=K(B.name);if(F!==D)return F-D;return B.name.localeCompare(U.name)});for(let U of z)J.push(Z.length),Z.push({type:"model",model:U})}}function xv({models:$,initialFilter:Z="",effortLevel:J,onSelect:X,onCancel:Y}){let[Q,G]=hv(Z),[V,W]=hv(J??"high"),K=$.filter((A)=>A.name.toLowerCase().includes(Q.toLowerCase())),{items:z,selectableIndices:U}=uC0(()=>{if(!K.some((M)=>M.provider))return{items:K.map((M)=>({type:"model",model:M})),selectableIndices:K.map((M,T)=>T)};let N=[],E=[];return aC0(K,N,E),{items:N,selectableIndices:E}},[K]),B=U.findIndex((A)=>{let N=z[A];return N?.type==="model"&&N.model.isCurrent}),[F,D]=hv(B>=0?B:0);cC0(()=>{D((A)=>Math.min(A,Math.max(0,U.length-1)))},[U.length]);let O=U.length>0?Math.min(F,U.length-1):0,L=process.stdin.isTTY??!1;pC0((A,N)=>{if(W$(A,N)){Y();return}if(N.return&&U.length>0){let E=U[O],M=z[E];if(M.type==="model")X(M.model,V);return}if(N.leftArrow){W((E)=>{let M=HF.indexOf(E);return HF[Math.max(0,M-1)]});return}if(N.rightArrow){W((E)=>{let M=HF.indexOf(E);return HF[Math.min(HF.length-1,M+1)]});return}if(N.upArrow){D((E)=>Math.max(0,E-1));return}if(N.downArrow){D((E)=>Math.min(U.length-1,E+1));return}if(N.backspace||N.delete){G((E)=>E.slice(0,-1));return}if(A&&!N.ctrl&&!N.meta)G((E)=>E+A)},{isActive:L});let q=U.length>0?` [${O+1}/${U.length}]`:"";return p1(VJ,{flexDirection:"column",borderStyle:"round",borderColor:"gray",paddingX:1,children:[p1(VJ,{marginBottom:1,children:[LZ(f4,{bold:!0,children:"Model"}),LZ(f4,{dimColor:!0,children:q}),LZ(f4,{children:" "}),Q?LZ(f4,{color:"cyan",children:Q}):LZ(f4,{dimColor:!0,children:"Type to search..."})]}),K.length===0&&LZ(f4,{dimColor:!0,children:"No matching models"}),(()=>{let A=z.reduce((N,E)=>{if(E.type!=="model")return N;return Math.max(N,E.model.name.length)},0);return z.map((N,E)=>{if(N.type==="header"){let a=La(N.provider);return p1(VJ,{marginTop:E>0?1:0,children:[p1(f4,{color:a.color,children:[a.icon," "]}),LZ(f4,{bold:!0,color:a.color,children:N.label})]},`header-${N.label}-${E}`)}if(N.type==="hint")return LZ(VJ,{marginTop:1,children:LZ(f4,{dimColor:!0,italic:!0,children:N.label})},"hint");let M=U[O]===E,T=N.model.description,k=N.model.name.padEnd(A),R=VA(N.model.name);return p1(VJ,{children:[p1(f4,{inverse:M,color:M?void 0:R,dimColor:M?!1:!R,children:[N.model.isCurrent?"\u25CF":"\u25CB"," ",k]}),T&&p1(f4,{dimColor:!0,children:[" ",N.model.description]})]},N.model.value??`${N.model.provider}-${N.model.name}`)})})(),p1(VJ,{marginTop:1,flexDirection:"column",children:[p1(VJ,{children:[p1(f4,{color:C40[V],children:[nC0[V]," "]}),p1(f4,{color:C40[V],bold:!0,children:[iC0[V]," effort"]}),V==="high"&&LZ(f4,{dimColor:!0,children:" (default)"}),LZ(f4,{dimColor:!0,children:" \u2190 \u2192 to adjust"})]}),LZ(VJ,{marginTop:0,children:LZ(f4,{dimColor:!0,children:"\u2191\u2193 navigate \u2190 \u2192 effort \u23CE select esc cancel"})})]})]})}var dC0,j40,HF,nC0,iC0,C40;var R40=_(()=>{UV();dC0={anthropic:"Anthropic","openai-codex":"OpenAI Codex",google:"Google",bedrock:"AWS Bedrock","bedrock-converse":"AWS Bedrock (Converse)","github-copilot":"GitHub Copilot",openai:"OpenAI",local:"Local"},j40=["anthropic","openai-codex","google","bedrock","bedrock-converse","github-copilot","openai","local"];HF=["low","medium","high","max"],nC0={low:"\u258C",medium:"\u258C\u258C",high:"\u258C\u258C\u258C",max:"\u258C\u258C\u258C\u258C"},iC0={low:"Low",medium:"Medium",high:"High",max:"Max"},C40={low:"blue",medium:"cyan",high:"yellow",max:"magenta"}});import{jsx as WJ,jsxs as J5}from"react/jsx-runtime";import{useState as gv,useEffect as oC0}from"react";import{Box as XH,Text as d1,useInput as sC0}from"ink";import rC0 from"ink-spinner";function mv({memories:$,mode:Z="browse",isLoading:J=!1,onSelect:X,onCancel:Y}){let[Q,G]=gv(0),[V,W]=gv(""),[H,K]=gv(0),z=8,U=$.filter((N)=>N.content.toLowerCase().includes(V.toLowerCase())),B=Math.max(1,Math.ceil(U.length/8)),F=U.slice(H*8,(H+1)*8);oC0(()=>{G((N)=>Math.min(N,Math.max(0,F.length-1)))},[F.length]);let D=F.length>0?Math.min(Q,F.length-1):0,O=process.stdin.isTTY??!1;sC0((N,E)=>{if(W$(N,E)){Y();return}if(E.return&&F.length>0&&Z==="forget"){X?.(F[D]);return}if(E.upArrow){G((M)=>Math.max(0,M-1));return}if(E.downArrow){G((M)=>Math.min(F.length-1,M+1));return}if(E.leftArrow&&H>0){K((M)=>M-1),G(0);return}if(E.rightArrow&&H<B-1){K((M)=>M+1),G(0);return}if(E.backspace||E.delete){W((M)=>M.slice(0,-1)),K(0),G(0);return}if(N&&!E.ctrl&&!E.meta)W((M)=>M+N),K(0),G(0)},{isActive:O});function L(N){let E=N instanceof Date?N:new Date(N);if(isNaN(E.getTime()))return"unknown";let T=new Date().getTime()-E.getTime(),k=Math.floor(T/86400000);if(k===0)return"today";if(k===1)return"yesterday";if(k<7)return`${k}d ago`;if(k<30)return`${Math.floor(k/7)}w ago`;return`${Math.floor(k/30)}mo ago`}function q(N,E){if(N.length<=E)return N;return N.slice(0,E-3)+"..."}return J5(XH,{flexDirection:"column",borderStyle:"round",borderColor:Z==="forget"?"red":"cyan",paddingX:1,children:[J5(XH,{marginBottom:1,children:[WJ(d1,{bold:!0,color:Z==="forget"?"red":"cyan",children:Z==="forget"?"Select Memory to Delete":"Memories"}),V&&J5(d1,{dimColor:!0,children:[' (filter: "',V,'")']}),J5(d1,{dimColor:!0,children:[" - ",U.length," memories"]})]}),J&&J5(XH,{children:[WJ(d1,{color:"cyan",children:WJ(rC0,{type:"dots"})}),WJ(d1,{dimColor:!0,children:" Loading memories..."})]}),!J&&U.length===0&&WJ(d1,{dimColor:!0,children:$.length===0?"No memories stored yet. Use /remember to add some.":"No memories match your filter."}),!J&&F.map((N,E)=>{let M=E===D,T=L(N.createdAt),k=q(N.content,60);return J5(XH,{flexDirection:"row",children:[J5(d1,{inverse:M,children:[M?">":" "," ",k]}),J5(d1,{dimColor:!0,children:[" [",T,"]"]}),N.network&&J5(d1,{dimColor:!0,children:[" (",N.network,")"]})]},N.id)}),!J&&B>1&&WJ(XH,{marginTop:1,children:J5(d1,{dimColor:!0,children:["Page ",H+1,"/",B]})}),WJ(XH,{marginTop:1,children:WJ(d1,{dimColor:!0,children:Z==="forget"?"type to filter arrows navigate enter delete esc cancel":"type to filter arrows navigate esc close"})})]})}var w40=()=>{};import{jsx as KF,jsxs as X5}from"react/jsx-runtime";import{useState as cv,useEffect as S40}from"react";import{Box as YH,Text as H2,useInput as tC0}from"ink";function eC0($){let J=Date.now()-$.getTime(),X=Math.floor(J/60000),Y=Math.floor(J/3600000),Q=Math.floor(J/86400000);if(X<1)return"just now";if(X<60)return`${X}m ago`;if(Y<24)return`${Y}h ago`;if(Q<7)return`${Q}d ago`;return $.toLocaleDateString()}function uv({sessions:$,onSelect:Z,onCancel:J,onSearch:X,onPageChange:Y}){let{columns:Q}=X9(),[G,V]=cv(0),[W,H]=cv(""),[K,z]=cv(0),U=8,B=Math.max(1,Math.ceil($.length/8)),F=$.slice(K*8,(K+1)*8);S40(()=>{V((A)=>Math.min(A,Math.max(0,F.length-1)))},[F.length]),S40(()=>{z((A)=>Math.min(A,Math.max(0,B-1)))},[B]);let D=F.length>0?Math.min(G,F.length-1):0,O=process.stdin.isTTY??!1;tC0((A,N)=>{if(W$(A,N))J();else if(N.return&&F.length>0)Z(F[D].id);else if(N.upArrow)V((E)=>Math.max(0,E-1));else if(N.downArrow)V((E)=>Math.min(F.length-1,E+1));else if(N.leftArrow&&K>0)z((E)=>E-1),V(0);else if(N.leftArrow&&K===0)Y?.("prev"),V(0);else if(N.rightArrow&&K<B-1)z((E)=>E+1),V(0);else if(N.rightArrow&&K===B-1)Y?.("next"),V(0);else if(N.backspace||N.delete){let E=W.slice(0,-1);H(E),z(0),V(0),X(E)}else if(A&&!N.ctrl&&!N.meta){let E=W+A;H(E),z(0),V(0),X(E)}},{isActive:O});function L(A,N){if(A.length<=N)return A;return A.slice(0,N-3)+"..."}let q=Math.max(30,Math.min(120,Q-28));return X5(YH,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,children:[X5(YH,{marginBottom:1,children:[KF(H2,{bold:!0,color:"cyan",children:"Sessions"}),W&&X5(H2,{dimColor:!0,children:[' (filter: "',W,'")']}),X5(H2,{dimColor:!0,children:[" - ",$.length," sessions"]})]}),$.length===0?KF(H2,{dimColor:!0,children:W?"No sessions match your filter.":"No sessions yet."}):F.map((A,N)=>{let E=N===D,M=eC0(A.updatedAt),T=A.title??A.preview??"Untitled session",k=K*8+N;return X5(YH,{flexDirection:"column",marginBottom:N<F.length-1?1:0,children:[X5(YH,{flexDirection:"row",children:[X5(H2,{inverse:E,children:[E?">":" "," ",k+1,". ",L(T,q)]}),X5(H2,{dimColor:!0,children:[" [",M,"]"]})]}),X5(H2,{dimColor:!0,children:[" ",A.arion," | ",A.model," | ",A.messageCount," messages"]})]},A.id)}),$.length>0&&B>1&&KF(YH,{marginTop:1,children:X5(H2,{dimColor:!0,children:["Page ",K+1,"/",B]})}),KF(YH,{marginTop:1,children:KF(H2,{dimColor:!0,children:"type to search arrows navigate enter resume esc cancel"})})]})}var I40=_(()=>{P1()});import{jsx as zF,jsxs as vY}from"react/jsx-runtime";import{useState as pv,useEffect as IM,useMemo as $R0}from"react";import{Box as bM,Text as HJ,useInput as ZR0}from"ink";function JR0($,Z){if($.length<=Z)return $;return $.slice(0,Z-3)+"\u2026"}function XR0($){switch($){case"user":return"\uD83D\uDC64";case"assistant":return"\uD83E\uDD16";case"system":return"\u2699\uFE0F";case"tool":return"\uD83D\uDD27";default:return" "}}function YR0($){switch($){case"user":return"cyan";case"assistant":return"green";case"system":return"yellow";case"tool":return"gray";default:return"white"}}function dv({messages:$,onSelect:Z,onCancel:J}){let{columns:X,rows:Y}=X9(),[Q,G]=pv(0),[V,W]=pv(""),H=$R0(()=>{if(!V)return $;let L=V.toLowerCase();return $.filter((q)=>q.text.toLowerCase().includes(L)||q.role.toLowerCase().includes(L)||q.arion&&q.arion.toLowerCase().includes(L))},[$,V]);IM(()=>{G((L)=>Math.min(L,Math.max(0,H.length-1)))},[H.length]),IM(()=>{if(!V){let L=H.reduce((q,A,N)=>A.role==="user"?N:q,0);G(L)}},[]);let K=Math.max(4,Y-10),[z,U]=pv(0);IM(()=>{if(Q<z)U(Q);else if(Q>=z+K)U(Q-K+1)},[Q,K,z]),IM(()=>{let L=H.reduce((q,A,N)=>A.role==="user"?N:q,0);U(Math.max(0,L-K+2))},[V]);let B=H.slice(z,z+K),F=H.length>0?Math.min(Q,H.length-1):0,D=process.stdin.isTTY??!1;ZR0((L,q)=>{if(W$(L,q))J();else if(q.return&&H.length>0){let A=H[F];if(A&&A.role==="user")Z(A.index,A.text)}else if(q.upArrow)G((A)=>Math.max(0,A-1));else if(q.downArrow)G((A)=>Math.min(H.length-1,A+1));else if(q.backspace||q.delete){let A=V.slice(0,-1);W(A),G(0)}else if(L&&!q.ctrl&&!q.meta){let A=V+L;W(A),G(0)}},{isActive:D});let O=Math.max(30,Math.min(120,X-16));return vY(bM,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,children:[vY(bM,{marginBottom:1,children:[zF(HJ,{bold:!0,color:"cyan",children:"Edit Message"}),V?vY(HJ,{dimColor:!0,children:[" ",'(search: "',V,'") \u2014 ',H.length,"/",$.length," messages"]}):vY(HJ,{dimColor:!0,children:[" \u2014 ",$.length," messages \xB7 select a user message to edit"]})]}),z>0&&vY(HJ,{dimColor:!0,children:[" \u2191 ",z," more above"]}),H.length===0?zF(HJ,{dimColor:!0,children:V?`No messages match "${V}".`:"No messages."}):B.map((L,q)=>{let N=z+q===F,E=L.role==="user",M=XR0(L.role),T=YR0(L.role),k=N?"\u276F":" ",R=JR0(L.text.replace(/\n/g," ").trim()||"(empty)",O);return zF(bM,{flexDirection:"row",children:vY(HJ,{inverse:N,color:N?void 0:T,dimColor:!E&&!N,bold:E,children:[k," ",M," ",R]})},`${L.index}-${q}`)}),z+K<H.length&&vY(HJ,{dimColor:!0,children:[" \u2193 ",H.length-z-K," more below"]}),zF(bM,{marginTop:1,children:zF(HJ,{dimColor:!0,children:"type to search \xB7 \u2191\u2193 navigate \xB7 enter select user message \xB7 esc cancel"})})]})}var b40=_(()=>{P1()});import{jsx as Q$,jsxs as l9}from"react/jsx-runtime";import QR0,{useState as GR0,useMemo as lv}from"react";import{Box as d9,Text as F$,useInput as VR0}from"ink";function k40($){if($.includes("daltonized")||$.includes("accessible"))return"accessible";if($.startsWith("claude-"))return"claude";return"standard"}function KR0($){let Z=$.colors.text.replace("#",""),J=parseInt(Z.slice(0,2),16),X=parseInt(Z.slice(2,4),16),Y=parseInt(Z.slice(4,6),16);return(J*299+X*587+Y*114)/1000<128}function zR0($){return I7().map((Z)=>{let J=zA(Z);return{name:Z,displayName:J.displayName,isCurrent:Z===$,isLight:KR0(J),category:k40(Z)}})}function UR0({theme:$}){let Z=$.colors,J=Z.primary,X=Z.info,Y=Z.success,Q=Z.textMuted,G=Z.text;return l9(d9,{flexDirection:"column",children:[Q$(F$,{color:Q,children:"// fetch a user by ID"}),l9(d9,{children:[Q$(F$,{color:J,children:"async function "}),Q$(F$,{color:G,children:"fetchUser"}),Q$(F$,{color:G,children:"("}),Q$(F$,{color:G,children:"id"}),Q$(F$,{color:G,children:": "}),Q$(F$,{color:Y,children:"string"}),Q$(F$,{color:G,children:") {"})]}),l9(d9,{children:[Q$(F$,{color:G,children:" "}),Q$(F$,{color:J,children:"const "}),Q$(F$,{color:G,children:"res = "}),Q$(F$,{color:J,children:"await "}),Q$(F$,{color:G,children:"fetch("}),Q$(F$,{color:X,children:"`/api/users/${"}),Q$(F$,{color:G,children:"id"}),Q$(F$,{color:X,children:"}`"}),Q$(F$,{color:G,children:")"})]}),l9(d9,{children:[Q$(F$,{color:G,children:" "}),Q$(F$,{color:J,children:"if "}),Q$(F$,{color:G,children:"(!res.ok) "}),Q$(F$,{color:J,children:"throw new "}),Q$(F$,{color:Y,children:"Error"}),Q$(F$,{color:G,children:"("}),Q$(F$,{color:X,children:"`HTTP ${"}),Q$(F$,{color:G,children:"res.status"}),Q$(F$,{color:X,children:"}`"}),Q$(F$,{color:G,children:")"})]}),l9(d9,{children:[Q$(F$,{color:G,children:" "}),Q$(F$,{color:J,children:"return "}),Q$(F$,{color:G,children:"res.json() "}),Q$(F$,{color:J,children:"as "}),Q$(F$,{color:Y,children:"Promise"}),Q$(F$,{color:G,children:"<"}),Q$(F$,{color:Y,children:"User"}),Q$(F$,{color:G,children:">"})]}),Q$(F$,{color:G,children:"}"})]})}function BR0({theme:$}){let{colors:Z,symbols:J}=$;return l9(d9,{flexDirection:"column",borderStyle:"single",borderColor:Z.secondary,paddingX:1,children:[l9(F$,{bold:!0,color:Z.primary,children:[J.prompt," ",$.displayName]}),Q$(d9,{marginTop:1,flexDirection:"column",children:Q$(UR0,{theme:$})}),l9(d9,{marginTop:1,flexDirection:"column",children:[l9(F$,{color:Z.success,children:[J.success," Tests passed (3/3)"]}),l9(F$,{color:Z.error,children:[J.error," Error: connection refused"]}),l9(F$,{color:Z.warning,children:[J.warning," Deprecated API call"]}),Q$(d9,{children:Q$(F$,{color:Z.diffAdded,children:"+ const data = await fetch(url);"})}),Q$(d9,{children:Q$(F$,{color:Z.diffRemoved,children:"- const data = http.get(url);"})}),l9(F$,{color:Z.textMuted,children:[J.info," 1.2k tokens ",J.bullet," $0.01 ",J.bullet," 0.8s"]})]})]})}function av({onSelect:$,onCancel:Z}){let J=lv(()=>e().name,[]),X=lv(()=>zR0(J),[J]),{items:Y,selectableIndices:Q}=lv(()=>{let D=[],O=[],L=new Map;for(let q of X){let A=L.get(q.category)??[];A.push(q),L.set(q.category,A)}for(let q of HR0){let A=L.get(q);if(!A?.length)continue;D.push({type:"header",label:WR0[q]??q});for(let N of A)O.push(D.length),D.push({type:"theme",option:N})}return{items:D,selectableIndices:O}},[X]),G=Q.findIndex((D)=>{let O=Y[D];return O?.type==="theme"&&O.option.isCurrent}),[V,W]=GR0(G>=0?G:0),H=Q.length>0?Math.min(V,Q.length-1):0,K=Y[Q[H]],z=K?.type==="theme"?K.option.name:null;if(z)S7(z);let U=QR0.useCallback(()=>{S7(J),Z()},[J,Z]),B=process.stdin.isTTY??!1;VR0((D,O)=>{if(W$(D,O)){U();return}if(O.return&&Q.length>0){let L=Q[H],q=Y[L];if(q.type==="theme")$({name:q.option.name,displayName:q.option.displayName});return}if(O.upArrow){W((L)=>Math.max(0,L-1));return}if(O.downArrow){W((L)=>Math.min(Q.length-1,L+1));return}},{isActive:B});let F=e();return l9(d9,{flexDirection:"column",borderStyle:"round",borderColor:F.colors.primary,paddingX:1,children:[l9(d9,{marginBottom:1,children:[Q$(F$,{bold:!0,color:F.colors.primary,children:"Theme"}),l9(F$,{color:F.colors.textMuted,children:[" ",F.symbols.arrow," select a color theme"]})]}),l9(d9,{children:[Q$(d9,{flexDirection:"column",width:38,children:Y.map((D,O)=>{if(D.type==="header")return Q$(d9,{marginTop:O>0?1:0,children:Q$(F$,{bold:!0,color:F.colors.textMuted,children:D.label})},`header-${D.label}`);let L=Q[H]===O,{option:q}=D;return Q$(d9,{children:l9(F$,{inverse:L,color:L?F.colors.primary:F.colors.text,children:[q.isCurrent?"\u25CF":"\u25CB"," ",q.displayName]})},q.name)})}),Q$(d9,{flexDirection:"column",flexGrow:1,marginLeft:2,children:Q$(BR0,{theme:F})})]}),Q$(d9,{marginTop:1,children:l9(F$,{color:F.colors.textMuted,children:["\u2191\u2193"," navigate ","\u23CE"," select esc cancel"]})})]})}var WR0,HR0;var f40=_(()=>{E0();WR0={standard:"Standard",claude:"Claude",accessible:"Accessible"},HR0=["standard","claude","accessible"]});import{jsxs as hY,jsx as kM}from"react/jsx-runtime";import{useState as y40,useEffect as FR0,useMemo as DR0}from"react";import{Box as nv,Text as KJ,useInput as OR0}from"ink";function NR0($,Z){let J=Z.trim().toLowerCase();if(!J)return!0;return[$.displayNameSnapshot,$.nodeId,$.host,$.port?.toString(),$.principalFingerprint,$.transport,$.status].filter((Y)=>typeof Y==="string"&&Y.length>0).map((Y)=>Y.toLowerCase()).some((Y)=>Y.includes(J))}function iv($,Z){if(Z<=0)return 0;return Math.min($,Z-1)}function ov({peers:$,sameHomeClientsAvailable:Z=!1,onSelect:J,onCancel:X}){let[Y,Q]=y40(0),[G,V]=y40(""),W=e(),H=DR0(()=>$.filter((B)=>NR0(B,G)),[$,G]);FR0(()=>{Q((B)=>iv(B,H.length))},[H.length]);let K=iv(Y,H.length),z=process.stdin.isTTY??!1;OR0((B,F)=>{if(W$(B,F)){X();return}if(F.return){if(H.length>0)J(H[K]);return}if(F.upArrow){Q((D)=>Math.max(0,D-1));return}if(F.downArrow){Q((D)=>iv(D+1,H.length));return}if(F.backspace||F.delete){V((D)=>D.slice(0,-1)),Q(0);return}if(B&&!F.ctrl&&!F.meta){V((D)=>D+B),Q(0);return}},{isActive:z});let U=(B)=>`${B.slice(0,4)} ${B.slice(4,8)} ${B.slice(8,12)} ${B.slice(12,16)}`;return hY(nv,{flexDirection:"column",borderStyle:"round",borderColor:W.colors.secondary,paddingX:1,children:[hY(KJ,{bold:!0,color:W.colors.primary,children:[" ","Nearby Peers"," "]}),G?hY(KJ,{dimColor:!0,children:[' (filter: "',G,'")']}):null,H.length===0&&kM(KJ,{dimColor:!0,children:G?"No peers match your filter.":Z?"No peer nodes. Use /clients for same-home terminals.":"Scanning... no peers found yet"}),H.map((B,F)=>hY(nv,{children:[hY(KJ,{inverse:F===K,color:F===K?W.colors.primary:void 0,children:[F===K?" \u25B8 ":" ",B.displayNameSnapshot]}),B.status==="connected"?kM(KJ,{color:"green",children:" \u2713 connected"}):hY(KJ,{dimColor:!0,children:[" ",B.host,":",B.port]}),B.principalFingerprint?hY(KJ,{color:W.colors.secondary,children:[" ",U(B.principalFingerprint)]}):null]},`${B.displayNameSnapshot}-${B.nodeId}-${F}`)),kM(nv,{marginTop:H.length>0?1:0,children:kM(KJ,{dimColor:!0,children:"type to search \u2191\u2193 navigate \u23CE connect esc cancel"})})]})}var v40=_(()=>{E0()});import{jsxs as QH,jsx as sv}from"react/jsx-runtime";import{useEffect as LR0,useMemo as AR0,useState as h40}from"react";import{Box as rv,Text as GH,useInput as qR0}from"ink";function ER0($,Z){let J=Z.trim().toLowerCase();if(!J)return!0;return $.displayLabel.toLowerCase().includes(J)||$.clientId.toLowerCase().includes(J)||$.clientKind.toLowerCase().includes(J)}function tv($,Z){if(Z<=0)return 0;return Math.min($,Z-1)}function ev({clients:$,onSelect:Z,onCancel:J}){let[X,Y]=h40(0),[Q,G]=h40(""),V=e(),W=AR0(()=>$.filter((z)=>ER0(z,Q)),[$,Q]);LR0(()=>{Y((z)=>tv(z,W.length))},[W.length]);let H=tv(X,W.length),K=process.stdin.isTTY??!1;return qR0((z,U)=>{if(W$(z,U)){J();return}if(U.return){if(W.length>0&&!W[H]?.self)Z(W[H]);return}if(U.upArrow){Y((B)=>Math.max(0,B-1));return}if(U.downArrow){Y((B)=>tv(B+1,W.length));return}if(U.backspace||U.delete){G((B)=>B.slice(0,-1)),Y(0);return}if(z&&!U.ctrl&&!U.meta)G((B)=>B+z),Y(0)},{isActive:K}),QH(rv,{flexDirection:"column",borderStyle:"round",borderColor:V.colors.secondary,paddingX:1,children:[QH(GH,{bold:!0,color:V.colors.primary,children:[" ","Same-Home Clients"," "]}),Q?QH(GH,{dimColor:!0,children:[' (filter: "',Q,'")']}):null,W.length===0&&sv(GH,{dimColor:!0,children:"No same-home clients found."}),W.map((z,U)=>QH(rv,{flexDirection:"column",children:[QH(GH,{inverse:U===H,color:U===H?V.colors.primary:void 0,children:[U===H?" \u25B8 ":" ",z.displayLabel]}),QH(GH,{dimColor:!0,children:[" ",z.clientId,z.self?" self \xB7 not sendable":""]})]},`${z.clientId}-${U}`)),sv(rv,{marginTop:W.length>0?1:0,children:sv(GH,{dimColor:!0,children:"type to search \u2191\u2193 navigate \u23CE select esc cancel"})})]})}var x40=_(()=>{E0()});import{jsx as zJ,jsxs as UF}from"react/jsx-runtime";import{Box as fM,Text as K2,useInput as _R0}from"ink";function $h({inviteToken:$,inviteLabel:Z,expiresAt:J,onClose:X}){let Y=e(),Q=process.stdin.isTTY??!1;return _R0((G,V)=>{if(V.return||W$(G,V))X()},{isActive:Q}),UF(fM,{flexDirection:"column",borderStyle:"round",borderColor:Y.colors.secondary,paddingX:1,paddingY:1,children:[zJ(K2,{bold:!0,color:Y.colors.primary,children:"Internet Invite"}),Z?UF(K2,{children:["Label: ",zJ(K2,{bold:!0,children:Z})]}):null,J?UF(K2,{dimColor:!0,children:["Expires: ",J]}):null,UF(fM,{marginTop:1,flexDirection:"column",children:[zJ(K2,{children:"Share this token:"}),zJ(K2,{children:$})]}),UF(fM,{marginTop:1,flexDirection:"column",children:[zJ(K2,{children:"Join with:"}),zJ(K2,{children:`aria pairing join ${$}`})]}),zJ(fM,{marginTop:1,children:zJ(K2,{dimColor:!0,children:"Press Enter or Esc to close."})})]})}var g40=_(()=>{E0()});import{jsx as UJ,jsxs as MR0}from"react/jsx-runtime";import{useState as PR0}from"react";import{Box as yM,Text as BF,useInput as jR0}from"ink";function Zh({onSubmit:$,onCancel:Z,error:J}){let[X,Y]=PR0(""),Q=e(),G=process.stdin.isTTY??!1;return jR0((V,W)=>{if(W$(V,W)){Z();return}if(W.return){let H=X.trim();if(H.length>0)$(H);return}if(W.backspace||W.delete){Y((H)=>H.slice(0,-1));return}if(V&&!W.ctrl&&!W.meta)Y((H)=>H+V)},{isActive:G}),MR0(yM,{flexDirection:"column",borderStyle:"round",borderColor:Q.colors.secondary,paddingX:1,paddingY:1,children:[UJ(BF,{bold:!0,color:Q.colors.primary,children:"Join Invite"}),UJ(BF,{children:"Paste the invite token and press Enter."}),UJ(yM,{marginTop:1,children:UJ(BF,{children:X||" "})}),J?UJ(yM,{marginTop:1,children:UJ(BF,{color:Q.colors.error,children:J})}):null,UJ(yM,{marginTop:1,children:UJ(BF,{dimColor:!0,children:"Type token, Enter to join, Esc to cancel."})})]})}var m40=_(()=>{E0()});import{jsxs as xY,jsx as FF}from"react/jsx-runtime";import{useState as TR0,useRef as CR0}from"react";import{Box as DF,Text as gY,useInput as RR0}from"ink";function Jh({request:$,onAccept:Z,onReject:J}){let[X,Y]=TR0("accept"),Q=CR0(!1),G=e(),V=process.stdin.isTTY??!1,W=(H)=>`${H.slice(0,4)} ${H.slice(4,8)} ${H.slice(8,12)} ${H.slice(12,16)}`;return RR0((H,K)=>{if(Q.current)return;if(K.return){if(Q.current=!0,X==="accept")Z();else J();return}if(W$(H,K)){Q.current=!0,J();return}if(K.leftArrow||K.rightArrow||K.tab)Y((z)=>z==="accept"?"reject":"accept")},{isActive:V}),xY(DF,{flexDirection:"column",borderStyle:"round",borderColor:G.colors.warning,paddingX:2,paddingY:1,children:[xY(gY,{bold:!0,color:G.colors.warning,children:[" ","Connection Request"," "]}),FF(DF,{marginTop:1,children:xY(gY,{children:[FF(gY,{bold:!0,children:$.displayNameSnapshot??$.nodeId})," wants to connect"]})}),FF(DF,{children:xY(gY,{dimColor:!0,children:["Fingerprint: ",W($.principalFingerprint)]})}),xY(DF,{marginTop:1,gap:2,children:[xY(gY,{inverse:X==="accept",color:X==="accept"?G.colors.success:void 0,children:[" ","Accept"," "]}),xY(gY,{inverse:X==="reject",color:X==="reject"?G.colors.error:void 0,children:[" ","Reject"," "]})]}),FF(DF,{marginTop:1,children:FF(gY,{dimColor:!0,children:"\u2190\u2192 select \u23CE confirm esc reject"})})]})}var c40=_(()=>{E0()});import{execFile as wR0}from"child_process";import{existsSync as Yh,readdirSync as l40}from"fs";import{dirname as SR0,join as vM,resolve as IR0}from"path";import{fileURLToPath as bR0}from"url";function fR0(){let $=kR0;for(let Z=0;Z<10;Z++){let J=vM($,".comms","sounds","wav");if(Yh(J))return J;let X=IR0($,"..");if(X===$)break;$=X}return null}function B8($){if(!mY)return[];try{return l40(mY).filter((Z)=>new RegExp($).test(Z)).map((Z)=>vM(mY,Z))}catch{return[]}}function u40($){if(!mY)return[];let Z=vM(mY,"cloned");try{return l40(Z).filter((J)=>new RegExp($).test(J)).map((J)=>vM(Z,J))}catch{return[]}}function Y5($){if($.length===0)return null;return $[Math.floor(Math.random()*$.length)]}function cY($){Qh=$}function a40(){return Qh}function n40(){if(process.platform!=="darwin")return"unsupported on this platform";return Gh()?"afplay (macOS)":"afplay unavailable"}function Gh(){if(p40)return Xh;return p40=!0,Xh=process.platform==="darwin"&&Yh("/usr/bin/afplay"),Xh}function Q5($){if(!Qh||!$||!Yh($)||!Gh())return!1;try{return wR0("afplay",[$],()=>{}),!0}catch{return!1}}function vR0(){let $=Date.now();if($-d40>yR0)OF=1;else OF++;if(d40=$,OF<=1)Q5(Y5(G5.acknowledge()));else if(OF===2)Q5(Y5(G5.annoyed()));else if(OF===3)Q5(Y5(G5.grumpy()));else Q5(Y5(G5.dark()))}function hM(){Q5(Y5(G5.readyToWork()))}function i40(){Q5(Y5(G5.fleetDown()))}function o40(){vR0()}function s40(){Q5(Y5(G5.questDone()))}function r40($){switch($.type){case"error":Q5(Y5(G5.error()));break;case"guardrail_rejected":Q5(Y5(G5.defeat()));break}}function t40(){return mY!==null&&Gh()}function e40(){return mY!==null}function $60(){return Q5(Y5(G5.readyToWork()))}var kR0,mY,Qh=!0,p40=!1,Xh=!1,G5,d40=0,OF=0,yR0=15000;var Vh=_(()=>{kR0=SR0(bR0(import.meta.url));mY=fR0();G5={acknowledge:()=>B8("^(peasant|orc|human|dwarf|elf|troll)_acknowledge"),annoyed:()=>B8("^(peasant|orc|goblin_sapper|human|troll|ogre)_selected"),grumpy:()=>B8("^(goblin_sapper|ogre|ogre_mage)_selected"),dark:()=>[...B8("^ogre_mage_selected"),...B8("^ogre_selected"),...B8("^troll_selected")],defeat:()=>u40("^defeat_"),error:()=>u40("^error_"),readyToWork:()=>[...B8("^peasant_selected"),...B8("^orc_selected"),...B8("^human_selected"),...B8("^dwarf_selected")],fleetUp:()=>[...B8("^orc_acknowledge"),...B8("^troll_acknowledge"),...B8("^ogre_acknowledge"),...B8("^human_acknowledge"),...B8("^knight_acknowledge")],fleetDown:()=>[...B8("^ogre_mage_acknowledge"),...B8("^ship_acknowledge"),...B8("^horde_ship_acknowledge")],questDone:()=>[...B8("^jobs_done"),...B8("^orc_work_completed"),...B8("^peasant_selected"),...B8("^orc_selected"),...B8("^human_selected"),...B8("^peasant_acknowledge"),...B8("^orc_acknowledge")]}});import{jsx as g6,jsxs as l1}from"react/jsx-runtime";import{useState as Wh,useCallback as J60}from"react";import{Box as V5,Text as D6,useInput as hR0}from"ink";function Kh({onClose:$}){let Z=e(),J=Z.colors,[X,Y]=Wh(0),[Q,G]=Wh(a40()),[V,W]=Wh("idle"),H=J60(()=>{let D=!Q;cY(D);let O=H$();if(O.soundEnabled=D,I$(O),G(D),D)hM()},[Q]),K=J60(()=>{let D=Q;if(!D)cY(!0);let O=$60();if(!D)cY(!1);W(O?"playing":"unavailable"),setTimeout(()=>W("idle"),1500)},[Q]),z=process.stdin.isTTY??!1;hR0((D,O)=>{if(W$(D,O)){$();return}if(O.upArrow){Y((L)=>Math.max(0,L-1));return}if(O.downArrow){Y((L)=>Math.min(Hh.length-1,L+1));return}if(O.return){let L=Hh[X];if(L?.id==="toggle")H();else if(L?.id==="preview")K();return}},{isActive:z});let U=t40(),B=e40(),F=n40();return l1(V5,{flexDirection:"column",borderStyle:"round",borderColor:J.primary,paddingX:1,children:[l1(V5,{marginBottom:1,children:[g6(D6,{bold:!0,color:J.primary,children:"\uD83D\uDD14 Sound"}),l1(D6,{color:J.textMuted,children:[" ",Z.symbols.arrow," notification preferences"]})]}),l1(V5,{flexDirection:"column",marginBottom:1,children:[l1(V5,{children:[g6(D6,{color:J.textMuted,children:"Status "}),B?g6(D6,{bold:!0,color:Q?J.success:J.textMuted,children:Q?"\u25CF ON":"\u25CB OFF"}):g6(D6,{color:J.warning,children:"\u26A0 Sound files not found"})]}),l1(V5,{children:[g6(D6,{color:J.textMuted,children:"Engine "}),g6(D6,{color:U?J.text:J.warning,children:F})]}),l1(V5,{children:[g6(D6,{color:J.textMuted,children:"Assets "}),g6(D6,{color:B?J.text:J.warning,children:B?"Warcraft II pack found":"missing"})]})]}),g6(V5,{marginBottom:1,children:g6(D6,{color:J.border,children:"\u2500".repeat(40)})}),g6(V5,{flexDirection:"column",children:Hh.map((D,O)=>{let L=O===X,q=D.id==="toggle";return l1(V5,{paddingX:1,children:[l1(D6,{inverse:L,color:L?J.primary:J.text,children:[D.icon," ",q?Q?"Turn off":"Turn on":D.label]}),q&&L&&l1(D6,{color:J.textMuted,children:[" ",Q?"\u2192 disable notifications":"\u2192 enable notifications"]}),D.id==="preview"&&V==="playing"&&g6(D6,{color:J.success,children:" \u266A playing..."}),D.id==="preview"&&V==="unavailable"&&g6(D6,{color:J.warning,children:" \u26A0 preview unavailable"})]},D.id)})}),g6(V5,{marginTop:1,children:l1(D6,{color:J.textMuted,children:["\u2191\u2193"," navigate ","\u23CE"," select ","esc"," close"]})})]})}var Hh;var X60=_(()=>{E0();Vh();T4();Hh=[{id:"toggle",label:"Toggle sounds",description:"Turn sound notifications on or off",icon:"\uD83D\uDD0A"},{id:"preview",label:"Preview sound",description:"Play a sample notification sound",icon:"\u25B6"}]});import{jsx as o8,jsxs as y4,Fragment as xR0}from"react/jsx-runtime";import{useState as gR0}from"react";import{Box as v4,Text as R9,useInput as mR0}from"ink";function uR0({loopStatus:$}){let J=e().colors;if(!$)return null;let Y={running:J.success,idle:J.info,starting:J.warning,stopping:J.warning,stopped:J.textMuted,error:J.error}[$]??J.text;return o8(R9,{color:Y,children:$})}function zh({onAction:$,onClose:Z,status:J,actionStatus:X}){let Y=e(),Q=Y.colors,G=cR0.filter((z)=>{if(z.showWhenRunning===void 0)return!0;return z.showWhenRunning===J.running}),[V,W]=gR0(0),H=Math.min(V,G.length-1),K=process.stdin.isTTY??!1;return mR0((z,U)=>{if(X)return;if(W$(z,U)){Z();return}if(U.upArrow){W((B)=>Math.max(0,B-1));return}if(U.downArrow){W((B)=>Math.min(G.length-1,B+1));return}if(U.return&&G.length>0){let B=G[H];if(B)$(B.id);return}},{isActive:K}),y4(v4,{flexDirection:"column",borderStyle:"round",borderColor:Q.primary,paddingX:1,children:[y4(v4,{marginBottom:1,children:[o8(R9,{bold:!0,color:Q.primary,children:"\u2699 Daemon"}),y4(R9,{color:Q.textMuted,children:[" ",Y.symbols.arrow," background service control"]})]}),y4(v4,{flexDirection:"column",marginBottom:1,children:[y4(v4,{children:[o8(R9,{color:Q.textMuted,children:"Status "}),o8(R9,{bold:!0,color:J.running?Q.success:Q.textMuted,children:J.running?"\u25CF Running":"\u25CB Stopped"})]}),J.running&&y4(xR0,{children:[J.loopStatus&&y4(v4,{children:[o8(R9,{color:Q.textMuted,children:"Loop "}),o8(uR0,{loopStatus:J.loopStatus})]}),J.port&&y4(v4,{children:[o8(R9,{color:Q.textMuted,children:"Port "}),o8(R9,{color:Q.text,children:J.port})]}),J.nodeId&&y4(v4,{children:[o8(R9,{color:Q.textMuted,children:"Node "}),o8(R9,{color:Q.text,children:J.nodeId.length>20?`${J.nodeId.slice(0,20)}\u2026`:J.nodeId})]}),J.runtimeId&&y4(v4,{children:[o8(R9,{color:Q.textMuted,children:"Runtime "}),o8(R9,{color:Q.text,children:J.runtimeId.length>20?`${J.runtimeId.slice(0,20)}\u2026`:J.runtimeId})]}),J.clients!==void 0&&y4(v4,{children:[o8(R9,{color:Q.textMuted,children:"Clients "}),y4(R9,{color:J.clients>0?Q.info:Q.textMuted,children:[J.clients," attached"]})]})]})]}),o8(v4,{marginBottom:1,children:o8(R9,{color:Q.border,children:"\u2500".repeat(44)})}),X&&o8(v4,{marginBottom:1,paddingX:1,children:y4(R9,{color:Q.warning,children:["\u27F3 ",X]})}),o8(v4,{flexDirection:"column",children:G.map((z,U)=>{let B=U===H;return y4(v4,{paddingX:1,flexDirection:"column",children:[o8(v4,{children:y4(R9,{inverse:B,color:B?z.id==="stop"?Q.error:Q.primary:Q.text,children:[z.icon," ",z.label]})}),B&&o8(v4,{paddingLeft:3,children:o8(R9,{color:Q.textMuted,children:z.description})})]},z.id)})}),o8(v4,{marginTop:1,children:y4(R9,{color:Q.textMuted,children:["\u2191\u2193"," navigate ","\u23CE"," select ","esc"," close"]})})]})}var cR0;var Y60=_(()=>{E0();cR0=[{id:"start",label:"Start daemon",description:"Launch the shared background daemon process",icon:"\u25B6",showWhenRunning:!1},{id:"stop",label:"Stop daemon",description:"Gracefully stop the shared daemon process",icon:"\u25A0",showWhenRunning:!0},{id:"restart",label:"Restart daemon",description:"Restart the shared daemon process cleanly",icon:"\u21BB",showWhenRunning:!0}]});var Q60=_(()=>{_40();P40();R40();w40();I40();b40();f40();v40();x40();g40();m40();c40();X60();Y60()});var Uh=_(()=>{zS();DS();Hn();jn();Nr();Eq();nI();oI();Pr();jr();Tr();TV();Cr();R90();oS();w90();I90();f90();rS();g90();YF();fY();GJ();Q60()});import{jsxs as WH,jsx as VH}from"react/jsx-runtime";import{useEffect as pR0,useState as dR0,useRef as G60}from"react";import{Box as xM,Text as uY,useInput as lR0}from"ink";function aR0({status:$}){let Z=e();switch($){case"connected":return WH(uY,{color:Z.colors.success,children:["\u2713"," connected"]});case"expired":return WH(uY,{color:Z.colors.error,children:["\u2717"," expired"]});case"none":return WH(uY,{color:Z.colors.textMuted,children:["\xB7"," not connected"]})}}function V60({providers:$,onSelect:Z,onCancel:J,isActive:X=!0}){let Y=e(),[Q,G]=dR0(0),V=G60(0),W=G60(!1);pR0(()=>{W.current=!1,V.current=0,G(0)},[$]);let H=(z)=>{G((U)=>{let B=z(U);return V.current=B,B})},K=process.stdin.isTTY??!1;return lR0((z,U)=>{if(W.current)return;if(U.upArrow)H((B)=>Math.max(0,B-1));else if(U.downArrow)H((B)=>Math.min($.length-1,B+1));else if(U.return)W.current=!0,Z($[V.current]);else if(W$(z,U))W.current=!0,J()},{isActive:X&&K}),WH(xM,{flexDirection:"column",borderStyle:"round",borderColor:Y.colors.secondary,paddingX:1,paddingY:1,width:56,children:[VH(xM,{marginBottom:1,children:VH(uY,{bold:!0,children:"Select a provider:"})}),$.map((z,U)=>{let B=U===Q,F=B?"\u25B8":" ";return WH(xM,{gap:1,children:[VH(uY,{color:B?Y.colors.primary:void 0,children:F}),VH(uY,{color:B?Y.colors.primary:void 0,bold:B,children:z.label.padEnd(28)}),VH(aR0,{status:z.status})]},z.id)}),VH(xM,{marginTop:1,children:WH(uY,{color:Y.colors.textMuted,children:["\u2191\u2193"," Navigate Enter Select Esc Cancel"]})})]})}var W60=_(()=>{E0()});import{jsxs as z2,jsx as h4}from"react/jsx-runtime";import{useEffect as nR0,useRef as Bh,useState as gM}from"react";import{Box as a1,Text as n1,useInput as iR0}from"ink";function H60({provider:$,onCancel:Z,isActive:J=!0,onComplete:X,authorizeUrl:Y,expectedState:Q,onCodeSubmit:G}){let V=e(),[W,H]=gM("starting"),[K,z]=gM(""),[U,B]=gM(""),[F,D]=gM(""),O=Bh(null),L=Bh(!1),q=Bh(!1),A=process.stdin.isTTY??!1;iR0((E,M)=>{if(W$(E,M))Z()},{isActive:J&&A}),nR0(()=>{if(L.current)return;L.current=!0,H("waiting");let E=new Promise((T)=>{O.current=T}),M=(T)=>{z(T),H("manual")};if(Y&&G){z(Y),iL($,{authorizeUrl:Y,expectedState:Q,onManualFallback:M,manualCodePromise:E}).then(async(T)=>{if(q.current)return;H("exchanging"),await G(T),q.current=!0,H("success")},(T)=>{if(q.current)return;let k=T instanceof Error?T.message:String(T);B(k),H("error")});return}Tw($,{onManualFallback:M,manualCodePromise:E}).then((T)=>{if(q.current)return;if(T.success)H("success"),q.current=!0,setTimeout(()=>{X?.({success:!0,message:T.message})},1000);else B(T.message),H("error")},(T)=>{if(q.current)return;let k=T instanceof Error?T.message:String(T);B(k),H("error")})},[Q,Y,G,X,$]);let N=(E)=>{let M=E.trim();if(!M)return;if(H("exchanging"),O.current)O.current(M),O.current=null};return z2(a1,{flexDirection:"column",borderStyle:"round",borderColor:V.colors.secondary,paddingX:1,paddingY:1,width:64,children:[h4(a1,{marginBottom:1,children:z2(n1,{bold:!0,children:["Sign in to ",$]})}),(W==="starting"||W==="waiting")&&z2(a1,{gap:1,children:[h4(ZW,{}),h4(n1,{children:"Opening browser to sign in..."})]}),W==="manual"&&z2(a1,{flexDirection:"column",children:[h4(n1,{children:"Open this URL in your browser:"}),h4(a1,{marginTop:1,children:h4(n1,{color:V.colors.primary,wrap:"wrap",children:K})}),h4(a1,{marginTop:1,children:h4(n1,{children:"Paste the authorization code below:"})}),z2(a1,{marginTop:1,children:[h4(n1,{color:V.colors.textMuted,children:"> "}),h4(NV,{value:F,onChange:D,onSubmit:N,placeholder:"paste code here",focus:J,showCursor:!0})]})]}),W==="exchanging"&&z2(a1,{gap:1,children:[h4(ZW,{}),h4(n1,{children:"Exchanging code for tokens..."})]}),W==="success"&&z2(n1,{color:V.colors.success,children:["\u2713"," Logged in to ",$]}),W==="error"&&z2(a1,{flexDirection:"column",children:[z2(n1,{color:V.colors.error,children:["\u2717"," ",U]}),h4(a1,{marginTop:1,children:h4(n1,{color:V.colors.textMuted,children:"Press Esc to dismiss"})})]}),W!=="success"&&W!=="error"&&h4(a1,{marginTop:1,children:h4(n1,{color:V.colors.textMuted,children:"Esc Cancel"})})]})}var K60=_(()=>{R6();E0();Eq();yS()});import{jsxs as KH,jsx as U2}from"react/jsx-runtime";import{useEffect as oR0,useRef as z60,useState as sR0}from"react";import{Box as HH,Text as BJ,useInput as rR0}from"ink";function tR0({status:$}){let Z=e();if($==="connected")return KH(BJ,{color:Z.colors.success,children:["\u2713"," connected"]});if($==="available")return KH(BJ,{color:Z.colors.success,children:["\u2713"," available"]});return U2(BJ,{color:Z.colors.textMuted,children:"\xB7"})}function zH({options:$,onSelect:Z,onCancel:J,title:X="Select login method:",isActive:Y=!0}){let Q=e(),[G,V]=sR0(0),W=z60(0),H=z60(!1),K=process.stdin.isTTY??!1;oR0(()=>{H.current=!1,W.current=0,V(0)},[$]);let z=(U)=>{V((B)=>{let F=U(B);return W.current=F,F})};return rR0((U,B)=>{if(H.current)return;if(B.upArrow)z((F)=>Math.max(0,F-1));else if(B.downArrow)z((F)=>Math.min($.length-1,F+1));else if(B.return)H.current=!0,Z($[W.current]);else if(W$(U,B))H.current=!0,J()},{isActive:Y&&K}),KH(HH,{flexDirection:"column",borderStyle:"round",borderColor:Q.colors.secondary,paddingX:1,paddingY:1,width:64,children:[U2(HH,{marginBottom:1,children:U2(BJ,{bold:!0,children:X})}),$.map((U,B)=>{let F=B===G,D=F?"\u25B8":" ";return KH(HH,{flexDirection:"column",children:[KH(HH,{gap:1,children:[U2(BJ,{color:F?Q.colors.primary:void 0,children:D}),U2(BJ,{color:F?Q.colors.primary:void 0,bold:F,children:U.label}),U2(tR0,{status:U.status})]}),U.description&&U2(HH,{marginLeft:3,children:U2(BJ,{color:Q.colors.textMuted,dimColor:!0,children:U.description})})]},U.id)}),U2(HH,{marginTop:1,children:KH(BJ,{color:Q.colors.textMuted,children:["\u2191\u2193"," Navigate Enter Select Esc Cancel"]})})]})}var Fh=_(()=>{E0()});import{jsx as eR0}from"react/jsx-runtime";function U60({options:$,onSelect:Z,onCancel:J,isActive:X=!0}){return eR0(zH,{options:$,onSelect:Z,onCancel:J,title:"Select Anthropic login method:",isActive:X})}var B60=_(()=>{Fh()});import{jsx as FJ,jsxs as Dh}from"react/jsx-runtime";import{useRef as $w0,useState as Zw0}from"react";import{Box as NF,Text as UH,useInput as Jw0}from"ink";function BH({title:$,hint:Z,onSubmit:J,onCancel:X,isActive:Y=!0}){let Q=e(),[G,V]=Zw0(""),W=$w0(!1),H=process.stdin.isTTY??!1;Jw0((z,U)=>{if(W.current)return;if(W$(z,U)){W.current=!0,X();return}if(U.return){if(G.trim().length>0)W.current=!0,J(G.trim());return}if(U.backspace||U.delete){V((B)=>B.slice(0,-1));return}if(U.upArrow||U.downArrow||U.leftArrow||U.rightArrow||U.tab)return;if(z&&!U.ctrl&&!U.meta)V((B)=>B+z)},{isActive:Y&&H});let K=G.length>0?G.slice(0,4)+"\u2022".repeat(Math.max(0,G.length-4)):"";return Dh(NF,{flexDirection:"column",borderStyle:"round",borderColor:Q.colors.secondary,paddingX:1,paddingY:1,width:64,children:[FJ(NF,{marginBottom:1,children:FJ(UH,{bold:!0,children:$})}),Z&&FJ(NF,{marginBottom:1,children:FJ(UH,{color:Q.colors.textMuted,dimColor:!0,children:Z})}),Dh(NF,{children:[Dh(UH,{color:Q.colors.primary,children:["\u25B8"," "]}),FJ(UH,{children:K||" "}),FJ(UH,{color:Q.colors.textMuted,children:"_"})]}),FJ(NF,{marginTop:1,children:FJ(UH,{color:Q.colors.textMuted,children:"Enter Submit Esc Cancel"})})]})}var F60=_(()=>{E0()});function D60($,Z,J={}){let X=J.userName||"User",Y=[],Q=new Map;function G(V,W){for(let H of V.content)switch(H.type){case"text":{if(V.role==="user"){let K=lS(H.text);for(let z of K)if(z.type==="image"&&RA(z.dataUri))Y.push({kind:"user-image",id:`${V.id}-image-${Y.length}`,dataUri:z.dataUri,userName:X,committed:W});else if(z.type==="text"&&z.text.length>0)Y.push({kind:"user-message",id:`${V.id}-text-${Y.length}`,text:z.text,userName:X,committed:W})}else if(V.role==="system"&&H.text.length>0)Y.push({kind:"user-message",id:`${V.id}-text-${Y.length}`,text:H.text,userName:"System",committed:W});else if(V.role==="assistant"&&H.text.trim())Y.push({kind:"assistant-text",id:`${V.id}-text-${Y.length}`,text:H.text,arion:V.arion?{name:V.arion.name,emoji:V.arion.emoji||"\uD83E\uDD8B",color:V.arion.color||"cyan"}:void 0,committed:W});break}case"thinking":{if(H.content?.trim())Y.push({kind:"thinking",id:`${V.id}-thinking-${Y.length}`,content:H.content,durationSec:H.durationMs!=null?H.durationMs/1000:void 0,arion:V.arion?{name:V.arion.name,emoji:V.arion.emoji||"\uD83E\uDD8B",color:V.arion.color||"cyan"}:void 0,committed:W});break}case"tool_use":{let K={kind:"tool-execution",id:`${V.id}-tool-${H.id}`,toolName:H.name,input:H.arguments,output:void 0,status:"pending",durationMs:void 0,usage:void 0,committed:W};Q.set(H.id,K),Y.push(K);break}case"tool_result":{let K=Q.get(H.toolUseId);if(K){if(K.output=H.resultData??H.content,K.status=H.status==="error"?"error":"complete",H.status==="error")K.error=typeof H.content==="string"?H.content:"Tool error";if(H.durationMs!=null)K.durationMs=H.durationMs;if(H.usage)K.usage={inputTokens:H.usage.inputTokens??0,outputTokens:H.usage.outputTokens??0};if(!W)K.committed=!1}break}case"handoff":{Y.push({kind:"handoff",id:`${V.id}-handoff-${Y.length}`,target:H.target,direction:H.direction==="from"?"incoming":"outgoing",committed:W});break}case"error":{Y.push({kind:"error",id:`${V.id}-error-${Y.length}`,message:H.content,suggestion:H.suggestion,committed:W});break}}}for(let V of $)G(V,!0);for(let V of Z)G(V,!1);return Y}var O60=_(()=>{wA()});function L60($,Z){switch(Z.type){case"STREAM_START":return{kind:"composing",verb:Z.verb};case"THINKING_START":if($.kind!=="composing"&&$.kind!=="idle")return $;return{kind:"thinking",verb:Z.verb,startedAt:Z.startedAt};case"THINKING_END":if($.kind!=="thinking")return $;return{kind:"composing",verb:Z.verb,thoughtForSeconds:Z.durationSeconds};case"TOOL_START":{let J=new Map($.kind==="tool_running"?$.tools:[]);return J.set(Z.callId,Z.displayName),{kind:"tool_running",tools:J}}case"TOOL_END":{if($.kind!=="tool_running")return $;let J=new Map($.tools);if(J.delete(Z.callId),J.size===0)return{kind:"composing",verb:Z.verb};return{kind:"tool_running",tools:J}}case"STREAM_END":return{kind:"idle"};default:return $}}var N60;var A60=_(()=>{N60={kind:"idle"}});import{useReducer as Xw0,useEffect as Oh,useRef as q60}from"react";function E60($,Z){let[J,X]=Xw0(L60,N60),Y=q60(!1);Oh(()=>{if(Z&&!Y.current)X({type:"STREAM_START",verb:j1()});else if(!Z&&Y.current)X({type:"STREAM_END"});Y.current=Z},[Z]);let Q=q60(null);return Oh(()=>{if($!==Q.current){if(Q.current!==null)X({type:"STREAM_END"});Q.current=$}},[$]),Oh(()=>{if(!$)return;let G=()=>X({type:"THINKING_START",verb:j1(),startedAt:Date.now()}),V=(K)=>X({type:"THINKING_END",verb:j1(),durationSeconds:Math.round(K.durationMs/1000)}),W=(K)=>X({type:"TOOL_START",callId:K.id,displayName:Sn(K.name,!0)}),H=(K)=>X({type:"TOOL_END",callId:K.id,verb:j1()});return $.on("thinking_start",G),$.on("thinking_end",V),$.on("tool_start",W),$.on("tool_result",H),()=>{$.off("thinking_start",G),$.off("thinking_end",V),$.off("tool_start",W),$.off("tool_result",H)}},[$]),J}var _60=_(()=>{A60();EV()});function mM($){let Z=typeof $.nodeId==="string"?$.nodeId.trim():"",J=typeof $.transport==="string"?$.transport:"unknown";if(Z)return`node:${Z}`;let X=typeof $.principalFingerprint==="string"?$.principalFingerprint.trim():"";if(X)return`principal:${X}`;return`endpoint:${J}:${$.host}:${$.port}:${$.displayNameSnapshot}`}function M60($,Z){let J=new Map;for(let X of[...$,...Z]){let Y=mM(X);if(!J.has(Y))J.set(Y,X)}return[...J.values()]}import{jsx as G$,jsxs as pY,Fragment as Yw0}from"react/jsx-runtime";import{useState as DJ,useCallback as B2,useMemo as OJ,useEffect as AZ}from"react";import{Box as W5,Static as Qw0,Text as F2,useApp as Gw0,useInput as Vw0}from"ink";function Nh({session:$,model:Z,maxContextTokens:J,banner:X,messages:Y=[],previewMessages:Q=[],isStreaming:G=!1,queuedMessage:V,onCancelQueuedMessage:W,responseTime:H,commands:K=[],arions:z=[],models:U=[],memories:B=[],memoryBrowserMode:F="browse",isLoadingMemories:D=!1,userName:O,metrics:L,displayMode:q="standard",displayConfig:A,showThinking:N=!0,showCosts:E=!0,showTraces:M=!1,spans:T=[],pipelineTiming:k,activeArion:R,onSubmit:a,onCommand:o,onSelectArion:u,onSelectModel:w,onSelectTheme:m,onSelectMemory:I,onOpenMemoryBrowser:S,onToggleThinking:j,onToggleCosts:b,onToggleTraces:v,onCycleDisplayMode:c,sessions:C=[],onSelectSession:f,onLoadSessions:g,onSearchSessions:l,onLoadMoreSessions:$0,staticRenderEpoch:Y0,openSessionOverlaySignal:x,openThemeOverlaySignal:r,openSoundOverlaySignal:J0,openDaemonOverlaySignal:X0,daemonStatus:n,daemonActionStatus:K0,onDaemonAction:z0,connectionState:O0="connected",inputHistory:R0=[],onSaveInput:I0,obsCtx:Z0,onCancel:H0,approvalRequest:B0,onApprovalChoice:F0,effortLevel:V0,showAutonomySelector:D0,autonomyLevel:C0,onAutonomySelect:_0,onAutonomyCancel:L0,onCycleAutonomy:P0,onCycleEffort:c0,loginPickerProviders:z$,onLoginProviderSelect:A0,onLoginPickerCancel:u0,copilotSourceOptions:U$,onCopilotSourceSelect:r0,onCopilotSourceCancel:V$,oauthProvider:E$,oauthAuthorizeUrl:r8,oauthExpectedState:p$,onOAuthComplete:c$,onOAuthCodeSubmit:K9,onOAuthCancel:p4,copilotDeviceProvider:L5,copilotDeviceProfileLabel:GK,copilotDeviceVerificationUri:VK,copilotDeviceUserCode:G7,onCopilotDeviceComplete:V7,onCopilotDeviceApprove:WK,onCopilotDeviceCancel:k2,anthropicMethodOptions:HK,onAnthropicMethodSelect:tD,onAnthropicMethodCancel:gJ,anthropicKeyInputVisible:eD,onAnthropicKeySubmit:PQ,onAnthropicKeyCancel:$O,anthropicSetupTokenVisible:jQ,onAnthropicSetupTokenSubmit:ZO,onAnthropicSetupTokenCancel:TQ,openaiMethodOptions:KK,onOpenAIMethodSelect:CQ,onOpenAIMethodCancel:JO,openaiKeyInputVisible:RQ,onOpenAIKeySubmit:XO,onOpenAIKeyCancel:wQ,googleMethodOptions:SQ,onGoogleMethodSelect:IQ,onGoogleMethodCancel:YO,googleKeyInputVisible:bQ,onGoogleKeySubmit:QO,onGoogleKeyCancel:kQ,authInteractionOptions:zK,authInteractionTitle:UK,onAuthInteractionSelect:GO,onAuthInteractionCancel:fQ,authInteractionInput:yQ,onAuthInteractionInputSubmit:vQ,onAuthInteractionInputCancel:VO,nearbyPeers:f2=[],localClients:WO=[],onSelectPeer:BK,onSelectClient:KT,onPeerCancel:HO,onClientsCancel:zT,openPeersOverlaySignal:hQ,openClientsOverlaySignal:KO,inviteShare:W7,onInviteShareClose:UT,openJoinInviteOverlaySignal:xQ,onJoinInviteSubmit:FK,onJoinInviteCancel:mJ,joinInviteError:BT,incomingPairRequest:y2,onAcceptPairRequest:FT,onRejectPairRequest:zO,onCancelPairing:A5,openMessageEditOverlaySignal:DK,editableMessages:v2,onEditMessage:DT,prefillInput:OK,onPrefillConsumed:OT,meshMessageCount:NT=0,runtimeSocket:oc=null,clientId:sc=null,clientAuthToken:rc=null,resolveCredentials:NK}){let{exit:cJ}=Gw0(),{columns:UO,rows:LT}=X9(),[LK,A6]=DJ(""),[m0,J$]=DJ("none"),[gQ,mQ]=DJ(""),[AK,qK]=DJ(""),[i9,h2]=DJ("become"),[BO,H7]=DJ("all"),[FO,cQ]=DJ(!1),uJ=Boolean(zK||HK||KK||SQ),DO=Boolean(yQ||eD||jQ||RQ||bQ),pJ=Boolean(E$||L5||z$||U$);AZ(()=>{if(uJ)J$("login-method");else if(DO)J$("login-input");else if(pJ)J$("login");else if(m0==="login"||m0==="login-method"||m0==="login-input")J$("none")},[uJ,DO,pJ]);let EK=B2(()=>{J$("session"),setTimeout(()=>g?.(),0)},[g]);AZ(()=>{if(x===void 0)return;EK()},[x,EK]),AZ(()=>{if(r===void 0)return;J$("theme")},[r]),AZ(()=>{if(J0===void 0)return;J$("sound")},[J0]),AZ(()=>{if(X0===void 0)return;J$("daemon")},[X0]);let[uQ,pQ]=DJ([]);AZ(()=>{if(hQ===void 0)return;pQ([...f2]),J$("peers")},[hQ]),AZ(()=>{if(KO===void 0)return;J$("clients")},[KO]),AZ(()=>{if(W7)J$("invite-share");else if(m0==="invite-share")J$("none")},[W7,m0]),AZ(()=>{if(xQ===void 0)return;J$("join-invite")},[xQ]),AZ(()=>{if(DK===void 0)return;if(v2&&v2.length>0)J$("message-edit")},[DK]),AZ(()=>{if(OK!==void 0)A6(OK),OT?.()},[OK]),AZ(()=>{if(m0!=="peers")return;pQ((N0)=>{let T0=new Set(N0.map(mM)),X8=f2.filter((E5)=>!T0.has(mM(E5)));return X8.length>0?[...N0,...X8]:N0})},[m0,f2]),AZ(()=>{if(y2&&m0==="none"&&!G)J$("pair-request");else if(!y2&&m0==="pair-request")J$("none")},[y2,m0,G]);let AT=process.stdin.isTTY??!1;Vw0((N0,T0)=>{if(N0==="\x03"||T0.ctrl&&N0==="c"){if(B0)return;if(G&&H0){H0();return}cJ()}if(W$(N0,T0)){if(B0)return;if(m0!=="none"){RZ();return}if(A5){A5();return}if(G&&V&&W)W();else if(G&&H0)H0();else A6("");return}if(T0.upArrow&&G&&V&&W){W();return}if(T0.ctrl&&N0==="\x1C"&&m0==="none"){c?.();return}if(T0.ctrl&&N0==="t"&&m0==="none"){j?.();return}if(T0.ctrl&&N0==="g"&&m0==="none"){b?.();return}if(T0.ctrl&&N0==="s"&&m0==="none"){v?.();return}if(T0.tab&&N0!=="\t"&&m0==="none"){P0?.();return}if(T0.ctrl&&N0==="\x05"&&m0==="none"){c0?.();return}if(T0.ctrl&&N0==="\x1F"&&m0==="none"){cQ((X8)=>!X8);return}},{isActive:AT});let TZ=$.getPrimary(),tc=TZ?.name||"ARIA",qT=TZ?.color||"cyan",ET=TZ?.emoji||"\uD83E\uDD8B",CZ=E60(Z0??null,G??!1),dQ=(m0==="none"&&!B0?4:0)+(!A||A.showStatusBar?1:0),OO=Math.max(LT-dQ,1),lQ=B2((N0,T0)=>{if(N0==="command")J$("command"),mQ(T0);else if(N0==="mention")J$("arion"),qK(T0),h2("mention")},[]),_T=B2((N0)=>{J$("none"),A6("");let T0=N0.requiresArgs===!0||(N0.args?.length??0)>0;if(N0.name==="become")J$("arion"),h2("become"),H7("all");else if(N0.name==="rest")J$("arion"),h2("rest"),H7("active");else if(N0.name==="wake")J$("arion"),h2("wake"),H7("resting");else if(N0.name==="model")J$("model");else if(N0.name==="theme")J$("theme");else if(N0.name==="sound")J$("sound");else if(N0.name==="daemon")o(N0.name);else if(N0.name==="memories")S?.("browse"),J$("memory");else if(N0.name==="forget")S?.("forget"),J$("memory");else if(N0.name==="resume")EK();else if(N0.name==="exit")cJ();else if(T0){A6(`/${N0.name} `);return}else o(N0.name)},[o,S,cJ]),p6=B2((N0)=>{if(J$("none"),i9==="mention"){let T0=LK.replace(/@\w*$/,"");A6(T0+"@"+N0.name+" ")}else u?.(N0.name,i9)},[i9,LK,u]),MT=B2((N0,T0)=>{J$("none"),w?.(N0.value??N0.name,T0)},[w]),PT=B2((N0)=>{J$("none"),m?.(N0)},[m]),jT=B2((N0)=>{J$("none"),I?.(N0)},[I]),RZ=B2(()=>{if(J$("none"),i9!=="mention")A6("");mQ(""),qK("")},[i9]),x2=B2((N0)=>{J$("none"),A6(N0),mQ("")},[]),NO=OJ(()=>D60(Y,Q,{userName:O}),[Y,Q,O]),d6=OJ(()=>pI(NO,q),[NO,q]),aQ=OJ(()=>d6.filter((N0)=>N0.committed),[d6]),nQ=OJ(()=>d6.filter((N0)=>!N0.committed),[d6]),_8=G&&V?V:null,wZ=_8!==null,X1=CZ.kind!=="idle",C$=Math.max(UO-4,20),g2=OJ(()=>{if(!_8)return 0;return Math.max(D9(_8,{width:C$}).split(`
|
|
4726
|
-
`).length,1)},[C$,_8]),iQ=(wZ?4+g2:0)+(X1?2:0),SZ=Math.max(OO-iQ,1),q5=OJ(()=>{let N0=new Map,T0="";for(let X8 of d6){let E5=X8.kind==="user-message"||X8.kind==="user-image"?`user:${X8.userName}`:X8.kind==="assistant-text"?`assistant:${X8.arion?.name??"ARIA"}`:X8.kind==="thinking"?`assistant:${X8.arion?.name??"ARIA"}`:X8.kind==="tool-execution"?"tool":X8.kind,oQ=X8.kind==="user-message"||X8.kind==="user-image"||X8.kind==="assistant-text"||X8.kind==="thinking";if(N0.set(X8.id,oQ&&E5!==T0),oQ)T0=E5}return N0},[d6]),TT=OJ(()=>{let N0=new Map;for(let T0=0;T0<d6.length;T0++){let X8=d6[T0],E5=T0>0?d6[T0-1]:void 0,oQ=X8.kind==="tool-execution"&&E5?.kind==="tool-execution";N0.set(X8.id,T0>0&&!oQ)}return N0},[d6]),ec=OJ(()=>{let N0=[];if(X)N0.push({id:"header",_kind:"banner"});for(let T0 of aQ)N0.push({...T0,_kind:"item"});return N0},[X,aQ]);return pY(Yw0,{children:[G$(Qw0,{items:ec,children:(N0)=>{if(N0._kind==="banner")return G$(W5,{width:"100%",justifyContent:"center",children:X},N0.id);return G$(W5,{flexDirection:"column",marginTop:TT.get(N0.id)?1:0,children:G$(qq,{item:N0,displayMode:q,showPrefix:q5.get(N0.id)??!1})},N0.id)}},`static-${Y0}`),pY(W5,{flexDirection:"column",width:"100%",children:[pY(W5,{flexDirection:"column",maxHeight:OO,justifyContent:"flex-end",overflowY:"hidden",children:[nQ.length>0&&G$(W5,{flexDirection:"column",maxHeight:SZ,overflowY:"hidden",children:nQ.map((N0)=>G$(W5,{flexDirection:"column",marginTop:TT.get(N0.id)?1:0,children:G$(qq,{item:N0,displayMode:q,showPrefix:q5.get(N0.id)??!1,previewTailLines:SZ})},N0.id))}),wZ&&pY(W5,{marginTop:1,flexDirection:"column",children:[G$(CA,{param:{type:"text",text:_8??""},userName:O??"User",columns:UO,showPrefix:!0,addMargin:!1}),G$(F2,{dimColor:!0,children:" \u2191 queued \u2014 press esc or \u2191 to cancel and edit"})]}),M&&T.length>0&&G$(Gv,{spans:T}),A?.showPipelineTiming&&k&&k.phases.length>0&&G$(Vv,{report:k}),FO&&pY(W5,{flexDirection:"column",borderStyle:"round",borderColor:"gray",paddingX:1,marginY:1,children:[G$(F2,{bold:!0,dimColor:!0,children:"Hotkeys"}),G$(F2,{dimColor:!0,children:" Ctrl+\\ \u2014 cycle display mode"}),G$(F2,{dimColor:!0,children:" Ctrl+t \u2014 toggle thinking blocks"}),G$(F2,{dimColor:!0,children:" Ctrl+g \u2014 toggle cost display"}),G$(F2,{dimColor:!0,children:" Ctrl+e \u2014 cycle effort level"}),G$(F2,{dimColor:!0,children:" Ctrl+s \u2014 toggle trace waterfall"}),G$(F2,{dimColor:!0,children:" Escape \u2014 cancel streaming / close overlay / clear input"}),G$(F2,{dimColor:!0,children:" Ctrl+/ \u2014 toggle this help"})]}),X1&&G$(Hv,{state:CZ.kind==="thinking"?"thinking":"composing",elapsedSeconds:Math.floor(L?.wallTimeSeconds??0),totalTokens:L?.totalTokens??0,thoughtForSeconds:CZ.kind==="composing"?CZ.thoughtForSeconds:void 0,currentVerb:CZ.kind==="tool_running"?[...new Set(CZ.tools.values())].join(" \xB7 "):CZ.verb.present})]}),pY(W5,{flexDirection:"column",flexShrink:0,children:[D0&&_0&&L0&&G$(Yv,{currentLevel:C0??$J.autonomy,onSelect:_0,onCancel:L0}),z$&&A0&&u0&&G$(V60,{providers:z$,onSelect:A0,onCancel:u0}),U$&&r0&&V$&&G$(iI,{options:U$,onSelect:r0,onCancel:V$}),m0==="login-method"&&zK&&GO&&fQ&&G$(zH,{options:zK,onSelect:(N0)=>GO(N0.id),onCancel:fQ,title:UK??"Choose an option:",isActive:m0==="login-method"}),m0==="login-method"&&HK&&tD&&gJ&&G$(U60,{options:HK,onSelect:tD,onCancel:gJ,isActive:m0==="login-method"}),m0==="login-input"&&yQ&&vQ&&VO&&G$(BH,{title:yQ.title,hint:yQ.hint,onSubmit:vQ,onCancel:VO,isActive:m0==="login-input"}),m0==="login-input"&&eD&&PQ&&$O&&G$(BH,{title:"Enter Anthropic API key",hint:"Paste your sk-ant-api03-* key",onSubmit:PQ,onCancel:$O,isActive:m0==="login-input"}),m0==="login-input"&&jQ&&ZO&&TQ&&G$(BH,{title:"Enter setup token",hint:"From `claude setup-token` or admin provisioning",onSubmit:ZO,onCancel:TQ,isActive:m0==="login-input"}),m0==="login-method"&&KK&&CQ&&JO&&G$(zH,{options:KK,onSelect:CQ,onCancel:JO,title:"Select OpenAI login method:",isActive:m0==="login-method"}),m0==="login-input"&&RQ&&XO&&wQ&&G$(BH,{title:"Enter OpenAI API key",hint:"Paste your sk-* key",onSubmit:XO,onCancel:wQ,isActive:m0==="login-input"}),m0==="login-method"&&SQ&&IQ&&YO&&G$(zH,{options:SQ,onSelect:IQ,onCancel:YO,title:"Select Google login method:",isActive:m0==="login-method"}),m0==="login-input"&&bQ&&QO&&kQ&&G$(BH,{title:"Enter Google API key",hint:"Paste your AIza* key",onSubmit:QO,onCancel:kQ,isActive:m0==="login-input"}),m0==="login"&&E$&&c$&&p4&&G$(H60,{provider:E$,onCancel:p4,...r8&&K9?{authorizeUrl:r8,expectedState:p$??void 0,onCodeSubmit:K9}:{onComplete:c$},isActive:m0==="login"}),m0==="login"&&L5&&V7&&k2&&G$(aI,{provider:L5,profileLabel:GK??void 0,...VK&&G7&&WK?{verificationUri:VK,userCode:G7,onApprove:WK}:{onComplete:V7},onCancel:k2}),pY(W5,{flexDirection:"column",children:[m0==="command"&&G$(yv,{commands:K,initialFilter:gQ,onSelect:_T,onHandOffInput:x2,onCancel:RZ}),m0==="arion"&&G$(vv,{arions:z,initialFilter:AK,statusFilter:BO,onSelect:p6,onCancel:RZ}),m0==="model"&&G$(xv,{models:U,effortLevel:V0,onSelect:MT,onCancel:RZ}),m0==="theme"&&G$(av,{onSelect:PT,onCancel:RZ}),m0==="sound"&&G$(Kh,{onClose:()=>J$("none")}),m0==="daemon"&&G$(zh,{status:n??{running:!1},actionStatus:K0,onAction:(N0)=>z0?.(N0),onClose:()=>J$("none")}),m0==="invite-share"&&W7&&G$($h,{inviteToken:W7.inviteToken,inviteLabel:W7.inviteLabel,expiresAt:W7.expiresAt,onClose:()=>{J$("none"),UT?.()}}),m0==="join-invite"&&G$(Zh,{error:BT,onSubmit:(N0)=>{J$("none"),FK?.(N0)},onCancel:()=>{J$("none"),mJ?.()}}),m0==="memory"&&G$(mv,{memories:B,mode:F,isLoading:D,onSelect:jT,onCancel:RZ}),m0==="peers"&&G$(ov,{peers:uQ.length>0?uQ:f2,sameHomeClientsAvailable:WO.length>0,onSelect:(N0)=>{J$("none"),BK?.(N0)},onCancel:RZ}),m0==="clients"&&G$(ev,{clients:WO,onSelect:(N0)=>{J$("none"),A6(`/send ${N0.clientId} `),KT?.(N0)},onCancel:()=>{J$("none"),zT?.()}}),m0==="pair-request"&&y2&&G$(Jh,{request:y2,onAccept:()=>{J$("none"),FT?.()},onReject:()=>{J$("none"),zO?.()}}),m0==="session"&&G$(uv,{sessions:C,onSelect:(N0)=>{J$("none"),f?.(N0)},onCancel:RZ,onSearch:(N0)=>l?.(N0),onPageChange:(N0)=>$0?.(N0)}),m0==="message-edit"&&v2&&G$(dv,{messages:v2,onSelect:(N0,T0)=>{J$("none"),DT?.(N0,T0)},onCancel:RZ}),m0==="none"&&!B0&&G$(cS,{userName:O,value:LK,onChange:A6,onSubmit:a,onTrigger:lQ,onExit:()=>cJ(),history:R0,onSaveInput:I0,focus:m0==="none",isStreaming:G,onDoubleEscape:()=>{if(v2&&v2.length>0)return J$("message-edit"),!0;return!1}})]}),(!A||A.showStatusBar)&&G$(KS,{arion:{name:tc,emoji:ET,color:qT,traits:TZ?.personality?.traits?.slice(0,2)},model:Z,maxContextTokens:J,responseTime:H,metrics:L,displayMode:q,showCosts:E,activeArion:R,effortLevel:V0,autonomyLevel:C0,meshMessageCount:NT,connectionState:O0})]})]})]})}var P60=_(()=>{Uh();W60();oI();K60();nI();B60();Fh();F60();uI();dS();P1();O60();M1();V8();_60()});function j60($){let Z=!1,J=(X)=>{if(Z)return;Z=!0,$(X)};return{onAbort(){J(!1)},onAllow(X){J(!0)},onReject(){J(!1)},onDone(){queueMicrotask(()=>{if(!Z)J(!1)})}}}import{jsx as Lh,jsxs as Ww0}from"react/jsx-runtime";import{useMemo as T60,useState as Hw0}from"react";import{Box as Kw0,useStdout as zw0}from"ink";function Uw0($){let Z=wU[$.toLowerCase()];return{name:$,userFacingName(J){if(Z)return Z.displayName(J);return $},renderToolUseMessage(J,X){if(Z)return Z.renderInput(J,X);return JSON.stringify(J)},isReadOnly(){return!1},inputSchema:{parse(J){return J??{}}}}}function Fw0($){switch($){case"low":return 0.2;case"moderate":return 0.5;case"high":return 0.9}}function C60($){let{stdout:Z}=zw0(),J=Z?.columns??80,[X]=Hw0(!1),Y=T60(()=>{if(!$.approvalRequest)return null;return j60($.onApprovalChoice)},[$.approvalRequest,$.onApprovalChoice]),Q=T60(()=>{if(!$.approvalRequest||!Y)return null;let{toolName:G,input:V,riskLevel:W}=$.approvalRequest;return{assistantMessage:Bw0,tool:Uw0(G),description:`${G} requires approval`,input:V??{},commandPrefix:null,riskScore:Fw0(W),onAbort:Y.onAbort,onAllow:Y.onAllow,onReject:Y.onReject}},[Y,$.approvalRequest]);if(Q&&Y)return Ww0(Kw0,{flexDirection:"column",width:"100%",children:[Lh(Nh,{...$}),Lh(kv,{toolUseConfirm:Q,onDone:Y.onDone,verbose:X})]});return Lh(Nh,{...$})}var Bw0;var R60=_(()=>{P60();YF();Aq();Aq();Bw0={message:{id:"aria-approval"}}});var Ah;var w60=_(()=>{Ah=[{name:"become",description:"Switch to another arion",usage:"/become <name>",args:["<name>"],requiresArgs:!0},{name:"arions",description:"List all arions",args:[]},{name:"hatch",description:"Create a new arion",usage:"/hatch <name> [description]",args:["<name>","[description]"],requiresArgs:!0},{name:"rest",description:"Put an arion to rest",usage:"/rest <name>",args:["<name>"],requiresArgs:!0},{name:"wake",description:"Wake a resting arion",usage:"/wake <name>",args:["<name>"],requiresArgs:!0},{name:"model",description:"Change or view current AI model",usage:"/model [name|list|refresh] [--provider <name>] [--use-env]",args:["[name|list|refresh]","[--provider <name>]","[--use-env]"]},{name:"autonomy",description:"Change permission approval policy",usage:"/autonomy [level]",args:["[level]"]},{name:"sound",description:"Open sound preferences or toggle notifications",usage:"/sound [on|off]",args:["[on|off]"]},{name:"remember",description:"Store a memory",usage:"/remember <text>",args:["<text>"],requiresArgs:!0},{name:"recall",description:"Search memories",usage:"/recall <query>",args:["<query>"],requiresArgs:!0},{name:"recall_knowledge",description:"Search learned tools (skills, procedures, techniques)",usage:"/recall_knowledge <topic>",args:["<topic>"],requiresArgs:!0},{name:"send",description:"Send a peer or same-home client message through the runtime transport",usage:"/send <peer-name|node-id|client-id> <message>",args:["<peer-name|node-id|client-id>","<message>"],requiresArgs:!0},{name:"forget",description:"Delete a memory",usage:"/forget <id>",args:["<id>"],requiresArgs:!0},{name:"memories",description:"Browse all memories",args:[]},{name:"resume",description:"Resume a previous session",args:["[session-id]"]},{name:"fork",description:"Fork the current session into a new branch",usage:"/fork [session-id] [message-count] [--stay]",args:["[session-id]","[message-count]","[--stay]"]},{name:"clear",description:"Clear the screen",args:[]},{name:"login",description:"Authenticate with provider (bedrock, anthropic, openai, google, copilot)",usage:"/login [provider] [api-key|--profile <label>|--source <gh|device>]",args:["[provider]","[api-key|flags]"]},{name:"logout",description:"Disconnect a provider or clear all credentials",usage:"/logout [provider|all]",args:["[provider|all]"]},{name:"auth",description:"Auth utilities such as importing env credentials into session scope",usage:"/auth import-env [provider ...] | /auth clear-session | /auth status-session",args:["import-env|clear-session|status-session","[provider ...]"]},{name:"help",description:"Show available commands",args:[]},{name:"daemon",description:"Open daemon control panel or run start/stop/restart",usage:"/daemon [start|stop|restart]",args:["[start|stop|restart]"]},{name:"terminal-setup",description:"Install Shift+Enter newline key binding for supported terminals",usage:"/terminal-setup",args:[]},{name:"theme",description:"View or change the color theme",usage:"/theme [name]",args:["[name]"]},{name:"invite",description:"Create an internet invite token",usage:"/invite [label]",args:["[label]"]},{name:"join",description:"Accept an internet invite token",usage:"/join [token]",args:["[token]"]},{name:"peers",description:"Show nearby peers and connect",args:[]},{name:"clients",description:"Show same-home attached clients",args:[]},{name:"exit",description:"Exit ARIA",args:[]}]});function Dw0(){return"1.0.52"}var __filename="/Users/hole/aria/.bundle-stage/cli/dist/release-notes.js",cM,S60;var qh=_(()=>{cM=Dw0(),S60=["\u26A1 Search millions of lines instantly with native Rust-powered code search","\uD83E\uDDE0 Jump to definitions & find references with real LSP intelligence","\u270F\uFE0F Press Esc\xD72 to edit and fork any previous message in-place","\uD83D\uDD0A Get audio cues when tasks finish \u2014 try /sound to configure","\uD83C\uDFA8 All 87 tools now render rich, beautiful output in the terminal"]});function I60($){let Z=Eh.indexOf($);return Eh[(Z+1)%Eh.length]}function b60($,Z){let J=LF[$],X={};if(Z.showThinking!==J.showThinking)X.showThinking=Z.showThinking;if(Z.showCosts!==J.showCosts)X.showCosts=Z.showCosts;if(Z.showToolArgs!==J.showToolArgs)X.showToolArgs=Z.showToolArgs;if(Z.toolOutput!==J.toolOutput)X.toolOutput=Z.toolOutput;if(Z.showTraces!==J.showTraces)X.showTraces=Z.showTraces;if(Z.showPipelineTiming!==J.showPipelineTiming)X.showPipelineTiming=Z.showPipelineTiming;if(Z.showStatusBar!==J.showStatusBar)X.showStatusBar=Z.showStatusBar;return X}function k60($,Z){return{...LF[$],...Z??{}}}var LF,Eh;var _h=_(()=>{LF={minimal:{showThinking:!1,showCosts:!1,showToolArgs:!1,toolOutput:"hidden",showTraces:!1,showPipelineTiming:!1,showStatusBar:!1},standard:{showThinking:!0,showCosts:!0,showToolArgs:!0,toolOutput:"standard",showTraces:!1,showPipelineTiming:!1,showStatusBar:!0},debug:{showThinking:!0,showCosts:!0,showToolArgs:!0,toolOutput:"expanded",showTraces:!0,showPipelineTiming:!0,showStatusBar:!0}},Eh=["minimal","standard","debug"]});function Ow0($){if(!($ instanceof Error))return!1;let Z=$.message;return Z.includes("has been released")||Z.includes("aborted")}function Mh($,Z,J){if(!Z){J?.();return}Z.catch((X)=>{if(!Ow0(X))P.warn(`[SessionHistoryClient] ${$} IPC failed:`,X?.message??X);if(J)try{J()}catch(Y){P.warn(`[SessionHistoryClient] ${$} local fallback also failed:`,Y?.message??Y)}})}class FH{readDb;ipc;constructor($,Z){this.readDb=$,this.ipc=Z,$.enableLowContentionMode()}withPhase($,Z){O9($);try{return Z()}finally{N9()}}listSessions(...$){return this.withPhase("session-history:listSessions",()=>this.readDb.listSessions(...$))}loadSessionMessages(...$){return this.withPhase("session-history:loadSessionMessages",()=>this.readDb.loadSessionMessages(...$))}loadSession(...$){return this.withPhase("session-history:loadSession",()=>this.readDb.loadSession(...$))}searchSessionsFts(...$){return this.withPhase("session-history:searchSessionsFts",()=>this.readDb.searchSessionsFts(...$))}searchSessionSummaries(...$){return this.withPhase("session-history:searchSessionSummaries",()=>this.readDb.searchSessionSummaries(...$))}findSessionByPrefix(...$){return this.readDb.findSessionByPrefix(...$)}getSessionRuntimeState(...$){return this.readDb.getSessionRuntimeState(...$)}getInteraction(...$){return this.readDb.getInteraction(...$)}getIncompleteSessions(...$){return this.readDb.getIncompleteSessions(...$)}getInputHistory(...$){return this.withPhase("session-history:getInputHistory",()=>this.readDb.getInputHistory(...$))}addInputHistory(...$){return this.withPhase("session-history:addInputHistory",()=>this.readDb.addInputHistory(...$))}getSessionCount(...$){return this.readDb.getSessionCount(...$)}markStaleSessionsCompleted(...$){return this.withPhase("session-history:markStaleSessionsCompleted",()=>this.readDb.markStaleSessionsCompleted(...$))}getSession(...$){return this.readDb.getSession(...$)}createSession(...$){return this.readDb.createSession(...$)}persistMessagesNonBlocking($,Z){if(Z.length===0)return;this.readDb.markSessionIncremental($),Mh("appendSessionMessages",this.ipc.appendSessionMessages?.($,Z),()=>this.readDb.addConversationMessages($,Z))}addConversationMessages($,Z){this.persistMessagesNonBlocking($,Z)}addConversationMessage($,Z){this.persistMessagesNonBlocking($,[Z])}markCompleted($){Mh("markSessionCompleted",this.ipc.markSessionCompleted?.($),()=>this.readDb.markCompleted($))}replaceConversationMessages($,Z){Mh("replaceSessionMessages",this.ipc.replaceSessionMessages?.($,Z),()=>this.readDb.replaceConversationMessages($,Z))}completeRun(...$){return this.readDb.completeRun(...$)}claimSessionForMutation(...$){return this.readDb.claimSessionForMutation(...$)}releaseSessionClaim(...$){return this.readDb.releaseSessionClaim(...$)}recordPausedRun(...$){return this.readDb.recordPausedRun(...$)}deleteSession(...$){return this.readDb.deleteSession(...$)}forkSession(...$){return this.readDb.forkSession(...$)}cancelInteraction(...$){return this.readDb.cancelInteraction(...$)}setSessionTitle(...$){return this.readDb.setSessionTitle(...$)}recordInteractionResponse(...$){return this.readDb.recordInteractionResponse(...$)}close(){this.readDb.close()}}var Ph=_(()=>{S0();AV()});function Nw0($){return typeof $!=="string"||$.trim().length>0}function Lw0($){let{toolCalls:Z,...J}=$;return J}function Aw0($,Z,J){for(let X=Z;X<$.length;X++){let Y=$[X];if(Y.role==="tool"&&Y.toolCallId===J)return!0}return!1}function dY($){let Z=[];for(let J=0;J<$.length;J++){let X=$[J];if(X.role==="assistant"&&X.toolCalls?.length){let Y=new Set(X.toolCalls.map((K)=>K.id)),Q=new Set,G=[],V=J+1;while(V<$.length&&$[V].role==="tool"){let K=$[V];if(K.toolCallId&&Y.has(K.toolCallId)&&!Q.has(K.toolCallId))Q.add(K.toolCallId),G.push(K);V++}let W=X.toolCalls.filter((K)=>{if(Q.has(K.id))return!0;return!Aw0($,V,K.id)}),H=W.filter((K)=>!Q.has(K.id));if(W.length===X.toolCalls.length)Z.push(X);else if(W.length>0)Z.push({...X,toolCalls:W});else if(Nw0(X.content))Z.push(Lw0(X));Z.push(...G);for(let K of H)Z.push({role:"tool",content:`[Tool execution interrupted \u2014 no result for ${K.name}]`,toolCallId:K.id});J=V-1;continue}if(X.role==="tool")continue;Z.push(X)}return Z}function f60($){let Z=[];for(let J of $)for(let X of J.content)switch(X.type){case"thinking":Z.push({id:`thinking-${crypto.randomUUID()}`,role:"thinking_history",content:X.content,wordCount:X.wordCount,durationSeconds:X.durationMs!=null?X.durationMs/1000:void 0,verb:X.verb,arionName:J.arion?.name,arionEmoji:J.arion?.emoji,arionColor:J.arion?.color});break;case"tool_use":Z.push({id:`tool-${crypto.randomUUID()}`,role:"tool_history",tool:{id:X.id,name:X.name,args:X.arguments,status:"pending",startTime:void 0,endTime:void 0}});break;case"tool_result":{let Y;for(let Q=Z.length-1;Q>=0;Q--){let G=Z[Q];if(G.role==="tool_history"&&G.tool.id===X.toolUseId){Y=G;break}}if(Y){if(Y.tool.status=X.status==="error"?"error":"complete",X.status==="error")Y.tool.error=X.content;else Y.tool.result=X.content;if(X.resultData!==void 0)Y.tool.resultData=X.resultData;if(X.durationMs!==void 0)Y.tool.durationMs=X.durationMs;if(X.usage!==void 0)Y.tool.usage=X.usage}break}case"handoff":Z.push({id:`handoff-${crypto.randomUUID()}`,role:"handoff_history",target:X.target,direction:X.direction});break;case"error":Z.push({id:`error-${crypto.randomUUID()}`,role:"error",content:X.content,suggestion:X.suggestion});break;case"text":Z.push({id:`msg-${crypto.randomUUID()}`,role:J.role,content:X.text,arion:J.arion?{name:J.arion.name,emoji:J.arion.emoji,color:J.arion.color}:void 0});break}return Z}var uM=_(()=>{ER()});class NJ{textParts=[];thinkingBlocks=[];toolUseBlocks=[];handoffBlocks=[];toolResultMessages=[];seenToolIds=new Set;toolArgsAccumulator=new Map;thinkingInProgress=!1;pendingThinkingContent="";arion;verb;tokenUsage;snapshotMessages;previewAssistantId=`preview-${Date.now()}`;ingest($){switch($.type){case"text_delta":return this.textParts.push($.content),"continue";case"thinking_start":return this.thinkingInProgress=!0,this.pendingThinkingContent="","continue";case"thinking_delta":return this.pendingThinkingContent+=$.content,"continue";case"thinking_end":{this.thinkingInProgress=!1;let Z=Array.isArray($.blocks)&&$.blocks.length>0?$.blocks[0]:void 0,J=typeof Z?.thinking==="string"?Z.thinking:this.pendingThinkingContent,X=J.split(/\s+/).filter(Boolean).length,Y={type:"thinking",content:J,wordCount:X,durationMs:$.durationMs,verb:this.verb};return this.thinkingBlocks.push(Y),this.pendingThinkingContent="","continue"}case"tool_start":{if(this.seenToolIds.has($.id))return"continue";this.seenToolIds.add($.id);let Z={type:"tool_use",id:$.id,name:$.name,arguments:$.input??{}};return this.toolUseBlocks.push(Z),"continue"}case"tool_args_delta":{let J=(this.toolArgsAccumulator.get($.id)??"")+$.args;this.toolArgsAccumulator.set($.id,J);try{let X=JSON.parse(J),Y=this.toolUseBlocks.find((Q)=>Q.type==="tool_use"&&Q.id===$.id);if(Y)Y.arguments=X}catch{}return"continue"}case"tool_result":{if($.input){let Q=this.toolUseBlocks.find((G)=>G.type==="tool_use"&&G.id===$.id);if(Q){let G=typeof $.input==="object"&&!Array.isArray($.input)?$.input:{};if(Object.keys(Q.arguments).length===0)Q.arguments=G}}let Z=$.result,J="usage"in $&&$.usage&&typeof $.usage==="object"&&typeof $.usage.inputTokens==="number"&&typeof $.usage.outputTokens==="number"&&typeof $.usage.totalTokens==="number"&&typeof $.usage.estimatedCost==="number"?$.usage:void 0,X={type:"tool_result",toolUseId:$.id,content:typeof Z.message==="string"?Z.message:"",status:Z.success===!0?"success":"error",durationMs:$.durationMs,resultData:Z.data,usage:J},Y={id:crypto.randomUUID(),role:"tool",content:[X],arion:this.arion,createdAt:new Date().toISOString()};return this.toolResultMessages.push(Y),"continue"}case"handoff_start":{let Z={type:"handoff",target:$.target,direction:"to"};return this.handoffBlocks.push(Z),"continue"}case"handoff_result":{let Z={type:"handoff",target:$.target,direction:"from"};return this.handoffBlocks.push(Z),"continue"}case"turn_complete":return"flush";case"messages_snapshot":return this.snapshotMessages=$.messages,"continue";default:return"continue"}}flush(){let $=[];if(this.thinkingInProgress&&this.pendingThinkingContent){let X=this.pendingThinkingContent.trim(),Y=X.length===0?0:X.split(/\s+/).length,Q={type:"thinking",content:this.pendingThinkingContent,wordCount:Y,verb:this.verb};this.thinkingBlocks.push(Q)}let Z=[];Z.push(...this.thinkingBlocks);let J=this.textParts.join("");if(J)Z.push({type:"text",text:J});if(Z.push(...this.toolUseBlocks),Z.push(...this.handoffBlocks),Z.length>0){let X={id:crypto.randomUUID(),role:"assistant",content:Z,arion:this.arion,tokenUsage:this.tokenUsage,createdAt:new Date().toISOString()};$.push(X)}if($.push(...this.toolResultMessages),this.toolResultMessages.length>0&&this.toolUseBlocks.length>0){let X=new Set(this.toolResultMessages.flatMap((Y)=>Y.content.filter((Q)=>Q.type==="tool_result").map((Q)=>Q.toolUseId)));for(let Y of this.toolUseBlocks){let Q=Y.id;if(Q&&!X.has(Q)){let G={id:crypto.randomUUID(),role:"tool",content:[{type:"tool_result",toolUseId:Q,content:"Tool execution cancelled by user.",status:"error"}],arion:this.arion,createdAt:new Date().toISOString()};$.push(G)}}}return this.textParts=[],this.thinkingBlocks=[],this.toolUseBlocks=[],this.handoffBlocks=[],this.toolResultMessages=[],this.seenToolIds=new Set,this.toolArgsAccumulator=new Map,this.thinkingInProgress=!1,this.pendingThinkingContent="",this.tokenUsage=void 0,this.verb=void 0,this.previewAssistantId=`preview-${Date.now()}`,$}snapshot(){let $=[];if($.push(...this.thinkingBlocks.map((X)=>({...X}))),this.thinkingInProgress&&this.pendingThinkingContent){let X=this.pendingThinkingContent,Y={type:"thinking",content:X,wordCount:X.split(/\s+/).filter(Boolean).length,verb:this.verb};$.push(Y)}let Z=this.textParts.join("");if(Z){let X=Z.lastIndexOf(`
|
|
4726
|
+
`).length,1)},[C$,_8]),iQ=(wZ?4+g2:0)+(X1?2:0),SZ=Math.max(OO-iQ,1),q5=OJ(()=>{let N0=new Map,T0="";for(let X8 of d6){let E5=X8.kind==="user-message"||X8.kind==="user-image"?`user:${X8.userName}`:X8.kind==="assistant-text"?`assistant:${X8.arion?.name??"ARIA"}`:X8.kind==="thinking"?`assistant:${X8.arion?.name??"ARIA"}`:X8.kind==="tool-execution"?"tool":X8.kind,oQ=X8.kind==="user-message"||X8.kind==="user-image"||X8.kind==="assistant-text"||X8.kind==="thinking";if(N0.set(X8.id,oQ&&E5!==T0),oQ)T0=E5}return N0},[d6]),TT=OJ(()=>{let N0=new Map;for(let T0=0;T0<d6.length;T0++){let X8=d6[T0],E5=T0>0?d6[T0-1]:void 0,oQ=X8.kind==="tool-execution"&&E5?.kind==="tool-execution";N0.set(X8.id,T0>0&&!oQ)}return N0},[d6]),ec=OJ(()=>{let N0=[];if(X)N0.push({id:"header",_kind:"banner"});for(let T0 of aQ)N0.push({...T0,_kind:"item"});return N0},[X,aQ]);return pY(Yw0,{children:[G$(Qw0,{items:ec,children:(N0)=>{if(N0._kind==="banner")return G$(W5,{width:"100%",justifyContent:"center",children:X},N0.id);return G$(W5,{flexDirection:"column",marginTop:TT.get(N0.id)?1:0,children:G$(qq,{item:N0,displayMode:q,showPrefix:q5.get(N0.id)??!1})},N0.id)}},`static-${Y0}`),pY(W5,{flexDirection:"column",width:"100%",children:[pY(W5,{flexDirection:"column",maxHeight:OO,justifyContent:"flex-end",overflowY:"hidden",children:[nQ.length>0&&G$(W5,{flexDirection:"column",maxHeight:SZ,overflowY:"hidden",children:nQ.map((N0)=>G$(W5,{flexDirection:"column",marginTop:TT.get(N0.id)?1:0,children:G$(qq,{item:N0,displayMode:q,showPrefix:q5.get(N0.id)??!1,previewTailLines:SZ})},N0.id))}),wZ&&pY(W5,{marginTop:1,flexDirection:"column",children:[G$(CA,{param:{type:"text",text:_8??""},userName:O??"User",columns:UO,showPrefix:!0,addMargin:!1}),G$(F2,{dimColor:!0,children:" \u2191 queued \u2014 press esc or \u2191 to cancel and edit"})]}),M&&T.length>0&&G$(Gv,{spans:T}),A?.showPipelineTiming&&k&&k.phases.length>0&&G$(Vv,{report:k}),FO&&pY(W5,{flexDirection:"column",borderStyle:"round",borderColor:"gray",paddingX:1,marginY:1,children:[G$(F2,{bold:!0,dimColor:!0,children:"Hotkeys"}),G$(F2,{dimColor:!0,children:" Ctrl+\\ \u2014 cycle display mode"}),G$(F2,{dimColor:!0,children:" Ctrl+t \u2014 toggle thinking blocks"}),G$(F2,{dimColor:!0,children:" Ctrl+g \u2014 toggle cost display"}),G$(F2,{dimColor:!0,children:" Ctrl+e \u2014 cycle effort level"}),G$(F2,{dimColor:!0,children:" Ctrl+s \u2014 toggle trace waterfall"}),G$(F2,{dimColor:!0,children:" Escape \u2014 cancel streaming / close overlay / clear input"}),G$(F2,{dimColor:!0,children:" Ctrl+/ \u2014 toggle this help"})]}),X1&&G$(Hv,{state:CZ.kind==="thinking"?"thinking":"composing",elapsedSeconds:Math.floor(L?.wallTimeSeconds??0),totalTokens:L?.totalTokens??0,thoughtForSeconds:CZ.kind==="composing"?CZ.thoughtForSeconds:void 0,currentVerb:CZ.kind==="tool_running"?[...new Set(CZ.tools.values())].join(" \xB7 "):CZ.verb.present})]}),pY(W5,{flexDirection:"column",flexShrink:0,children:[D0&&_0&&L0&&G$(Yv,{currentLevel:C0??$J.autonomy,onSelect:_0,onCancel:L0}),z$&&A0&&u0&&G$(V60,{providers:z$,onSelect:A0,onCancel:u0}),U$&&r0&&V$&&G$(iI,{options:U$,onSelect:r0,onCancel:V$}),m0==="login-method"&&zK&&GO&&fQ&&G$(zH,{options:zK,onSelect:(N0)=>GO(N0.id),onCancel:fQ,title:UK??"Choose an option:",isActive:m0==="login-method"}),m0==="login-method"&&HK&&tD&&gJ&&G$(U60,{options:HK,onSelect:tD,onCancel:gJ,isActive:m0==="login-method"}),m0==="login-input"&&yQ&&vQ&&VO&&G$(BH,{title:yQ.title,hint:yQ.hint,onSubmit:vQ,onCancel:VO,isActive:m0==="login-input"}),m0==="login-input"&&eD&&PQ&&$O&&G$(BH,{title:"Enter Anthropic API key",hint:"Paste your sk-ant-api03-* key",onSubmit:PQ,onCancel:$O,isActive:m0==="login-input"}),m0==="login-input"&&jQ&&ZO&&TQ&&G$(BH,{title:"Enter setup token",hint:"From `claude setup-token` or admin provisioning",onSubmit:ZO,onCancel:TQ,isActive:m0==="login-input"}),m0==="login-method"&&KK&&CQ&&JO&&G$(zH,{options:KK,onSelect:CQ,onCancel:JO,title:"Select OpenAI login method:",isActive:m0==="login-method"}),m0==="login-input"&&RQ&&XO&&wQ&&G$(BH,{title:"Enter OpenAI API key",hint:"Paste your sk-* key",onSubmit:XO,onCancel:wQ,isActive:m0==="login-input"}),m0==="login-method"&&SQ&&IQ&&YO&&G$(zH,{options:SQ,onSelect:IQ,onCancel:YO,title:"Select Google login method:",isActive:m0==="login-method"}),m0==="login-input"&&bQ&&QO&&kQ&&G$(BH,{title:"Enter Google API key",hint:"Paste your AIza* key",onSubmit:QO,onCancel:kQ,isActive:m0==="login-input"}),m0==="login"&&E$&&c$&&p4&&G$(H60,{provider:E$,onCancel:p4,...r8&&K9?{authorizeUrl:r8,expectedState:p$??void 0,onCodeSubmit:K9}:{onComplete:c$},isActive:m0==="login"}),m0==="login"&&L5&&V7&&k2&&G$(aI,{provider:L5,profileLabel:GK??void 0,...VK&&G7&&WK?{verificationUri:VK,userCode:G7,onApprove:WK}:{onComplete:V7},onCancel:k2}),pY(W5,{flexDirection:"column",children:[m0==="command"&&G$(yv,{commands:K,initialFilter:gQ,onSelect:_T,onHandOffInput:x2,onCancel:RZ}),m0==="arion"&&G$(vv,{arions:z,initialFilter:AK,statusFilter:BO,onSelect:p6,onCancel:RZ}),m0==="model"&&G$(xv,{models:U,effortLevel:V0,onSelect:MT,onCancel:RZ}),m0==="theme"&&G$(av,{onSelect:PT,onCancel:RZ}),m0==="sound"&&G$(Kh,{onClose:()=>J$("none")}),m0==="daemon"&&G$(zh,{status:n??{running:!1},actionStatus:K0,onAction:(N0)=>z0?.(N0),onClose:()=>J$("none")}),m0==="invite-share"&&W7&&G$($h,{inviteToken:W7.inviteToken,inviteLabel:W7.inviteLabel,expiresAt:W7.expiresAt,onClose:()=>{J$("none"),UT?.()}}),m0==="join-invite"&&G$(Zh,{error:BT,onSubmit:(N0)=>{J$("none"),FK?.(N0)},onCancel:()=>{J$("none"),mJ?.()}}),m0==="memory"&&G$(mv,{memories:B,mode:F,isLoading:D,onSelect:jT,onCancel:RZ}),m0==="peers"&&G$(ov,{peers:uQ.length>0?uQ:f2,sameHomeClientsAvailable:WO.length>0,onSelect:(N0)=>{J$("none"),BK?.(N0)},onCancel:RZ}),m0==="clients"&&G$(ev,{clients:WO,onSelect:(N0)=>{J$("none"),A6(`/send ${N0.clientId} `),KT?.(N0)},onCancel:()=>{J$("none"),zT?.()}}),m0==="pair-request"&&y2&&G$(Jh,{request:y2,onAccept:()=>{J$("none"),FT?.()},onReject:()=>{J$("none"),zO?.()}}),m0==="session"&&G$(uv,{sessions:C,onSelect:(N0)=>{J$("none"),f?.(N0)},onCancel:RZ,onSearch:(N0)=>l?.(N0),onPageChange:(N0)=>$0?.(N0)}),m0==="message-edit"&&v2&&G$(dv,{messages:v2,onSelect:(N0,T0)=>{J$("none"),DT?.(N0,T0)},onCancel:RZ}),m0==="none"&&!B0&&G$(cS,{userName:O,value:LK,onChange:A6,onSubmit:a,onTrigger:lQ,onExit:()=>cJ(),history:R0,onSaveInput:I0,focus:m0==="none",isStreaming:G,onDoubleEscape:()=>{if(v2&&v2.length>0)return J$("message-edit"),!0;return!1}})]}),(!A||A.showStatusBar)&&G$(KS,{arion:{name:tc,emoji:ET,color:qT,traits:TZ?.personality?.traits?.slice(0,2)},model:Z,maxContextTokens:J,responseTime:H,metrics:L,displayMode:q,showCosts:E,activeArion:R,effortLevel:V0,autonomyLevel:C0,meshMessageCount:NT,connectionState:O0})]})]})]})}var P60=_(()=>{Uh();W60();oI();K60();nI();B60();Fh();F60();uI();dS();P1();O60();M1();V8();_60()});function j60($){let Z=!1,J=(X)=>{if(Z)return;Z=!0,$(X)};return{onAbort(){J(!1)},onAllow(X){J(!0)},onReject(){J(!1)},onDone(){queueMicrotask(()=>{if(!Z)J(!1)})}}}import{jsx as Lh,jsxs as Ww0}from"react/jsx-runtime";import{useMemo as T60,useState as Hw0}from"react";import{Box as Kw0,useStdout as zw0}from"ink";function Uw0($){let Z=wU[$.toLowerCase()];return{name:$,userFacingName(J){if(Z)return Z.displayName(J);return $},renderToolUseMessage(J,X){if(Z)return Z.renderInput(J,X);return JSON.stringify(J)},isReadOnly(){return!1},inputSchema:{parse(J){return J??{}}}}}function Fw0($){switch($){case"low":return 0.2;case"moderate":return 0.5;case"high":return 0.9}}function C60($){let{stdout:Z}=zw0(),J=Z?.columns??80,[X]=Hw0(!1),Y=T60(()=>{if(!$.approvalRequest)return null;return j60($.onApprovalChoice)},[$.approvalRequest,$.onApprovalChoice]),Q=T60(()=>{if(!$.approvalRequest||!Y)return null;let{toolName:G,input:V,riskLevel:W}=$.approvalRequest;return{assistantMessage:Bw0,tool:Uw0(G),description:`${G} requires approval`,input:V??{},commandPrefix:null,riskScore:Fw0(W),onAbort:Y.onAbort,onAllow:Y.onAllow,onReject:Y.onReject}},[Y,$.approvalRequest]);if(Q&&Y)return Ww0(Kw0,{flexDirection:"column",width:"100%",children:[Lh(Nh,{...$}),Lh(kv,{toolUseConfirm:Q,onDone:Y.onDone,verbose:X})]});return Lh(Nh,{...$})}var Bw0;var R60=_(()=>{P60();YF();Aq();Aq();Bw0={message:{id:"aria-approval"}}});var Ah;var w60=_(()=>{Ah=[{name:"become",description:"Switch to another arion",usage:"/become <name>",args:["<name>"],requiresArgs:!0},{name:"arions",description:"List all arions",args:[]},{name:"hatch",description:"Create a new arion",usage:"/hatch <name> [description]",args:["<name>","[description]"],requiresArgs:!0},{name:"rest",description:"Put an arion to rest",usage:"/rest <name>",args:["<name>"],requiresArgs:!0},{name:"wake",description:"Wake a resting arion",usage:"/wake <name>",args:["<name>"],requiresArgs:!0},{name:"model",description:"Change or view current AI model",usage:"/model [name|list|refresh] [--provider <name>] [--use-env]",args:["[name|list|refresh]","[--provider <name>]","[--use-env]"]},{name:"autonomy",description:"Change permission approval policy",usage:"/autonomy [level]",args:["[level]"]},{name:"sound",description:"Open sound preferences or toggle notifications",usage:"/sound [on|off]",args:["[on|off]"]},{name:"remember",description:"Store a memory",usage:"/remember <text>",args:["<text>"],requiresArgs:!0},{name:"recall",description:"Search memories",usage:"/recall <query>",args:["<query>"],requiresArgs:!0},{name:"recall_knowledge",description:"Search learned tools (skills, procedures, techniques)",usage:"/recall_knowledge <topic>",args:["<topic>"],requiresArgs:!0},{name:"send",description:"Send a peer or same-home client message through the runtime transport",usage:"/send <peer-name|node-id|client-id> <message>",args:["<peer-name|node-id|client-id>","<message>"],requiresArgs:!0},{name:"forget",description:"Delete a memory",usage:"/forget <id>",args:["<id>"],requiresArgs:!0},{name:"memories",description:"Browse all memories",args:[]},{name:"resume",description:"Resume a previous session",args:["[session-id]"]},{name:"fork",description:"Fork the current session into a new branch",usage:"/fork [session-id] [message-count] [--stay]",args:["[session-id]","[message-count]","[--stay]"]},{name:"clear",description:"Clear the screen",args:[]},{name:"login",description:"Authenticate with provider (bedrock, anthropic, openai, google, copilot)",usage:"/login [provider] [api-key|--profile <label>|--source <gh|device>]",args:["[provider]","[api-key|flags]"]},{name:"logout",description:"Disconnect a provider or clear all credentials",usage:"/logout [provider|all]",args:["[provider|all]"]},{name:"auth",description:"Auth utilities such as importing env credentials into session scope",usage:"/auth import-env [provider ...] | /auth clear-session | /auth status-session",args:["import-env|clear-session|status-session","[provider ...]"]},{name:"help",description:"Show available commands",args:[]},{name:"daemon",description:"Open daemon control panel or run start/stop/restart",usage:"/daemon [start|stop|restart]",args:["[start|stop|restart]"]},{name:"terminal-setup",description:"Install Shift+Enter newline key binding for supported terminals",usage:"/terminal-setup",args:[]},{name:"theme",description:"View or change the color theme",usage:"/theme [name]",args:["[name]"]},{name:"invite",description:"Create an internet invite token",usage:"/invite [label]",args:["[label]"]},{name:"join",description:"Accept an internet invite token",usage:"/join [token]",args:["[token]"]},{name:"peers",description:"Show nearby peers and connect",args:[]},{name:"clients",description:"Show same-home attached clients",args:[]},{name:"exit",description:"Exit ARIA",args:[]}]});function Dw0(){return"1.0.54"}var __filename="/Users/hole/aria/.bundle-stage/cli/dist/release-notes.js",cM,S60;var qh=_(()=>{cM=Dw0(),S60=["\u26A1 Search millions of lines instantly with native Rust-powered code search","\uD83E\uDDE0 Jump to definitions & find references with real LSP intelligence","\u270F\uFE0F Press Esc\xD72 to edit and fork any previous message in-place","\uD83D\uDD0A Get audio cues when tasks finish \u2014 try /sound to configure","\uD83C\uDFA8 All 87 tools now render rich, beautiful output in the terminal"]});function I60($){let Z=Eh.indexOf($);return Eh[(Z+1)%Eh.length]}function b60($,Z){let J=LF[$],X={};if(Z.showThinking!==J.showThinking)X.showThinking=Z.showThinking;if(Z.showCosts!==J.showCosts)X.showCosts=Z.showCosts;if(Z.showToolArgs!==J.showToolArgs)X.showToolArgs=Z.showToolArgs;if(Z.toolOutput!==J.toolOutput)X.toolOutput=Z.toolOutput;if(Z.showTraces!==J.showTraces)X.showTraces=Z.showTraces;if(Z.showPipelineTiming!==J.showPipelineTiming)X.showPipelineTiming=Z.showPipelineTiming;if(Z.showStatusBar!==J.showStatusBar)X.showStatusBar=Z.showStatusBar;return X}function k60($,Z){return{...LF[$],...Z??{}}}var LF,Eh;var _h=_(()=>{LF={minimal:{showThinking:!1,showCosts:!1,showToolArgs:!1,toolOutput:"hidden",showTraces:!1,showPipelineTiming:!1,showStatusBar:!1},standard:{showThinking:!0,showCosts:!0,showToolArgs:!0,toolOutput:"standard",showTraces:!1,showPipelineTiming:!1,showStatusBar:!0},debug:{showThinking:!0,showCosts:!0,showToolArgs:!0,toolOutput:"expanded",showTraces:!0,showPipelineTiming:!0,showStatusBar:!0}},Eh=["minimal","standard","debug"]});function Ow0($){if(!($ instanceof Error))return!1;let Z=$.message;return Z.includes("has been released")||Z.includes("aborted")}function Mh($,Z,J){if(!Z){J?.();return}Z.catch((X)=>{if(!Ow0(X))P.warn(`[SessionHistoryClient] ${$} IPC failed:`,X?.message??X);if(J)try{J()}catch(Y){P.warn(`[SessionHistoryClient] ${$} local fallback also failed:`,Y?.message??Y)}})}class FH{readDb;ipc;constructor($,Z){this.readDb=$,this.ipc=Z,$.enableLowContentionMode()}withPhase($,Z){O9($);try{return Z()}finally{N9()}}listSessions(...$){return this.withPhase("session-history:listSessions",()=>this.readDb.listSessions(...$))}loadSessionMessages(...$){return this.withPhase("session-history:loadSessionMessages",()=>this.readDb.loadSessionMessages(...$))}loadSession(...$){return this.withPhase("session-history:loadSession",()=>this.readDb.loadSession(...$))}searchSessionsFts(...$){return this.withPhase("session-history:searchSessionsFts",()=>this.readDb.searchSessionsFts(...$))}searchSessionSummaries(...$){return this.withPhase("session-history:searchSessionSummaries",()=>this.readDb.searchSessionSummaries(...$))}findSessionByPrefix(...$){return this.readDb.findSessionByPrefix(...$)}getSessionRuntimeState(...$){return this.readDb.getSessionRuntimeState(...$)}getInteraction(...$){return this.readDb.getInteraction(...$)}getIncompleteSessions(...$){return this.readDb.getIncompleteSessions(...$)}getInputHistory(...$){return this.withPhase("session-history:getInputHistory",()=>this.readDb.getInputHistory(...$))}addInputHistory(...$){return this.withPhase("session-history:addInputHistory",()=>this.readDb.addInputHistory(...$))}getSessionCount(...$){return this.readDb.getSessionCount(...$)}markStaleSessionsCompleted(...$){return this.withPhase("session-history:markStaleSessionsCompleted",()=>this.readDb.markStaleSessionsCompleted(...$))}getSession(...$){return this.readDb.getSession(...$)}createSession(...$){return this.readDb.createSession(...$)}persistMessagesNonBlocking($,Z){if(Z.length===0)return;this.readDb.markSessionIncremental($),Mh("appendSessionMessages",this.ipc.appendSessionMessages?.($,Z),()=>this.readDb.addConversationMessages($,Z))}addConversationMessages($,Z){this.persistMessagesNonBlocking($,Z)}addConversationMessage($,Z){this.persistMessagesNonBlocking($,[Z])}markCompleted($){Mh("markSessionCompleted",this.ipc.markSessionCompleted?.($),()=>this.readDb.markCompleted($))}replaceConversationMessages($,Z){Mh("replaceSessionMessages",this.ipc.replaceSessionMessages?.($,Z),()=>this.readDb.replaceConversationMessages($,Z))}completeRun(...$){return this.readDb.completeRun(...$)}claimSessionForMutation(...$){return this.readDb.claimSessionForMutation(...$)}releaseSessionClaim(...$){return this.readDb.releaseSessionClaim(...$)}recordPausedRun(...$){return this.readDb.recordPausedRun(...$)}deleteSession(...$){return this.readDb.deleteSession(...$)}forkSession(...$){return this.readDb.forkSession(...$)}cancelInteraction(...$){return this.readDb.cancelInteraction(...$)}setSessionTitle(...$){return this.readDb.setSessionTitle(...$)}recordInteractionResponse(...$){return this.readDb.recordInteractionResponse(...$)}close(){this.readDb.close()}}var Ph=_(()=>{S0();AV()});function Nw0($){return typeof $!=="string"||$.trim().length>0}function Lw0($){let{toolCalls:Z,...J}=$;return J}function Aw0($,Z,J){for(let X=Z;X<$.length;X++){let Y=$[X];if(Y.role==="tool"&&Y.toolCallId===J)return!0}return!1}function dY($){let Z=[];for(let J=0;J<$.length;J++){let X=$[J];if(X.role==="assistant"&&X.toolCalls?.length){let Y=new Set(X.toolCalls.map((K)=>K.id)),Q=new Set,G=[],V=J+1;while(V<$.length&&$[V].role==="tool"){let K=$[V];if(K.toolCallId&&Y.has(K.toolCallId)&&!Q.has(K.toolCallId))Q.add(K.toolCallId),G.push(K);V++}let W=X.toolCalls.filter((K)=>{if(Q.has(K.id))return!0;return!Aw0($,V,K.id)}),H=W.filter((K)=>!Q.has(K.id));if(W.length===X.toolCalls.length)Z.push(X);else if(W.length>0)Z.push({...X,toolCalls:W});else if(Nw0(X.content))Z.push(Lw0(X));Z.push(...G);for(let K of H)Z.push({role:"tool",content:`[Tool execution interrupted \u2014 no result for ${K.name}]`,toolCallId:K.id});J=V-1;continue}if(X.role==="tool")continue;Z.push(X)}return Z}function f60($){let Z=[];for(let J of $)for(let X of J.content)switch(X.type){case"thinking":Z.push({id:`thinking-${crypto.randomUUID()}`,role:"thinking_history",content:X.content,wordCount:X.wordCount,durationSeconds:X.durationMs!=null?X.durationMs/1000:void 0,verb:X.verb,arionName:J.arion?.name,arionEmoji:J.arion?.emoji,arionColor:J.arion?.color});break;case"tool_use":Z.push({id:`tool-${crypto.randomUUID()}`,role:"tool_history",tool:{id:X.id,name:X.name,args:X.arguments,status:"pending",startTime:void 0,endTime:void 0}});break;case"tool_result":{let Y;for(let Q=Z.length-1;Q>=0;Q--){let G=Z[Q];if(G.role==="tool_history"&&G.tool.id===X.toolUseId){Y=G;break}}if(Y){if(Y.tool.status=X.status==="error"?"error":"complete",X.status==="error")Y.tool.error=X.content;else Y.tool.result=X.content;if(X.resultData!==void 0)Y.tool.resultData=X.resultData;if(X.durationMs!==void 0)Y.tool.durationMs=X.durationMs;if(X.usage!==void 0)Y.tool.usage=X.usage}break}case"handoff":Z.push({id:`handoff-${crypto.randomUUID()}`,role:"handoff_history",target:X.target,direction:X.direction});break;case"error":Z.push({id:`error-${crypto.randomUUID()}`,role:"error",content:X.content,suggestion:X.suggestion});break;case"text":Z.push({id:`msg-${crypto.randomUUID()}`,role:J.role,content:X.text,arion:J.arion?{name:J.arion.name,emoji:J.arion.emoji,color:J.arion.color}:void 0});break}return Z}var uM=_(()=>{ER()});class NJ{textParts=[];thinkingBlocks=[];toolUseBlocks=[];handoffBlocks=[];toolResultMessages=[];seenToolIds=new Set;toolArgsAccumulator=new Map;thinkingInProgress=!1;pendingThinkingContent="";arion;verb;tokenUsage;snapshotMessages;previewAssistantId=`preview-${Date.now()}`;ingest($){switch($.type){case"text_delta":return this.textParts.push($.content),"continue";case"thinking_start":return this.thinkingInProgress=!0,this.pendingThinkingContent="","continue";case"thinking_delta":return this.pendingThinkingContent+=$.content,"continue";case"thinking_end":{this.thinkingInProgress=!1;let Z=Array.isArray($.blocks)&&$.blocks.length>0?$.blocks[0]:void 0,J=typeof Z?.thinking==="string"?Z.thinking:this.pendingThinkingContent,X=J.split(/\s+/).filter(Boolean).length,Y={type:"thinking",content:J,wordCount:X,durationMs:$.durationMs,verb:this.verb};return this.thinkingBlocks.push(Y),this.pendingThinkingContent="","continue"}case"tool_start":{if(this.seenToolIds.has($.id))return"continue";this.seenToolIds.add($.id);let Z={type:"tool_use",id:$.id,name:$.name,arguments:$.input??{}};return this.toolUseBlocks.push(Z),"continue"}case"tool_args_delta":{let J=(this.toolArgsAccumulator.get($.id)??"")+$.args;this.toolArgsAccumulator.set($.id,J);try{let X=JSON.parse(J),Y=this.toolUseBlocks.find((Q)=>Q.type==="tool_use"&&Q.id===$.id);if(Y)Y.arguments=X}catch{}return"continue"}case"tool_result":{if($.input){let Q=this.toolUseBlocks.find((G)=>G.type==="tool_use"&&G.id===$.id);if(Q){let G=typeof $.input==="object"&&!Array.isArray($.input)?$.input:{};if(Object.keys(Q.arguments).length===0)Q.arguments=G}}let Z=$.result,J="usage"in $&&$.usage&&typeof $.usage==="object"&&typeof $.usage.inputTokens==="number"&&typeof $.usage.outputTokens==="number"&&typeof $.usage.totalTokens==="number"&&typeof $.usage.estimatedCost==="number"?$.usage:void 0,X={type:"tool_result",toolUseId:$.id,content:typeof Z.message==="string"?Z.message:"",status:Z.success===!0?"success":"error",durationMs:$.durationMs,resultData:Z.data,usage:J},Y={id:crypto.randomUUID(),role:"tool",content:[X],arion:this.arion,createdAt:new Date().toISOString()};return this.toolResultMessages.push(Y),"continue"}case"handoff_start":{let Z={type:"handoff",target:$.target,direction:"to"};return this.handoffBlocks.push(Z),"continue"}case"handoff_result":{let Z={type:"handoff",target:$.target,direction:"from"};return this.handoffBlocks.push(Z),"continue"}case"turn_complete":return"flush";case"messages_snapshot":return this.snapshotMessages=$.messages,"continue";default:return"continue"}}flush(){let $=[];if(this.thinkingInProgress&&this.pendingThinkingContent){let X=this.pendingThinkingContent.trim(),Y=X.length===0?0:X.split(/\s+/).length,Q={type:"thinking",content:this.pendingThinkingContent,wordCount:Y,verb:this.verb};this.thinkingBlocks.push(Q)}let Z=[];Z.push(...this.thinkingBlocks);let J=this.textParts.join("");if(J)Z.push({type:"text",text:J});if(Z.push(...this.toolUseBlocks),Z.push(...this.handoffBlocks),Z.length>0){let X={id:crypto.randomUUID(),role:"assistant",content:Z,arion:this.arion,tokenUsage:this.tokenUsage,createdAt:new Date().toISOString()};$.push(X)}if($.push(...this.toolResultMessages),this.toolResultMessages.length>0&&this.toolUseBlocks.length>0){let X=new Set(this.toolResultMessages.flatMap((Y)=>Y.content.filter((Q)=>Q.type==="tool_result").map((Q)=>Q.toolUseId)));for(let Y of this.toolUseBlocks){let Q=Y.id;if(Q&&!X.has(Q)){let G={id:crypto.randomUUID(),role:"tool",content:[{type:"tool_result",toolUseId:Q,content:"Tool execution cancelled by user.",status:"error"}],arion:this.arion,createdAt:new Date().toISOString()};$.push(G)}}}return this.textParts=[],this.thinkingBlocks=[],this.toolUseBlocks=[],this.handoffBlocks=[],this.toolResultMessages=[],this.seenToolIds=new Set,this.toolArgsAccumulator=new Map,this.thinkingInProgress=!1,this.pendingThinkingContent="",this.tokenUsage=void 0,this.verb=void 0,this.previewAssistantId=`preview-${Date.now()}`,$}snapshot(){let $=[];if($.push(...this.thinkingBlocks.map((X)=>({...X}))),this.thinkingInProgress&&this.pendingThinkingContent){let X=this.pendingThinkingContent,Y={type:"thinking",content:X,wordCount:X.split(/\s+/).filter(Boolean).length,verb:this.verb};$.push(Y)}let Z=this.textParts.join("");if(Z){let X=Z.lastIndexOf(`
|
|
4727
4727
|
`);if(X>=0)$.push({type:"text",text:Z.slice(0,X+1)})}for(let X of this.toolUseBlocks){let Y={...X};if(Y.type==="tool_use"&&Object.keys(Y.arguments).length===0){let Q=this.toolArgsAccumulator.get(Y.id);if(Q){let G=NJ.tryParsePartialArgs(Q);if(G)Y.arguments=G}}$.push(Y)}$.push(...this.handoffBlocks.map((X)=>({...X})));let J=[];if($.length>0)J.push({id:this.previewAssistantId,role:"assistant",content:$,arion:this.arion,createdAt:new Date().toISOString()});return J.push(...this.toolResultMessages.map((X)=>({...X,content:[...X.content]}))),J}getSnapshotMessages(){return this.snapshotMessages}hasPendingContent(){return this.textParts.length>0||this.thinkingBlocks.length>0||this.toolUseBlocks.length>0||this.handoffBlocks.length>0||this.toolResultMessages.length>0||this.thinkingInProgress}setArion($){this.arion=$}setVerb($){this.verb=$}setTokenUsage($){if(this.tokenUsage)this.tokenUsage={input:this.tokenUsage.input+$.input,output:this.tokenUsage.output+$.output};else this.tokenUsage={...$}}static tryParsePartialArgs($){let Z=$.trim();if(!Z.startsWith("{")||Z.length<4)return;try{return JSON.parse(Z)}catch{}try{let J=JSON.parse(Z+"}");if(Object.keys(J).length>0)return J}catch{}try{let J=JSON.parse(Z+'"}');if(Object.keys(J).length>0)return J}catch{}for(let J=Z.length-1;J>0;J--)if(Z[J]===",")try{let X=JSON.parse(Z.slice(0,J)+"}");if(Object.keys(X).length>0)return X}catch{}return}}import{readFileSync as qw0,existsSync as jh}from"fs";function Th($){if(!jh($))return[];let J=qw0($,"utf-8").split(`
|
|
4728
4728
|
`).filter((Q)=>Q.trim().length>0),X=new NJ,Y=[];for(let Q of J){let G;try{G=JSON.parse(Q)}catch{continue}if(!G.event||typeof G.event.type!=="string")continue;if(G.event.type==="user_message"){if(X.hasPendingContent())Y.push(...X.flush());let W=G.event.content??"",H=G.event.id,K=mG(W);if(H)K.id=H;Y.push(K);continue}if(X.ingest(G.event)==="flush"){let W=X.flush();Y.push(...W)}}if(X.hasPendingContent()){let Q=X.flush();Y.push(...Q)}return Y}function y60($){for(let J of $.content){if(J.type==="tool_use"&&J.id)return`tool_use:${J.id}`;if(J.type==="tool_result"&&J.toolUseId)return`tool_result:${J.toolUseId}`}let Z=$.content.filter((J)=>J.type==="text").map((J)=>J.text).join("");return`${$.role}:${Z}`}function pM($,Z){if(!Z)return{messages:$,backfillMessages:[]};let J;try{J=Th(Z)}catch{return{messages:$,backfillMessages:[]}}if(J.length===0)return{messages:$,backfillMessages:[]};if($.length>=J.length)return{messages:$,backfillMessages:[]};let X=new Set($.map(y60)),Y=[];for(let G of J){let V=y60(G);if(!X.has(V))Y.push(G)}return{messages:[...$,...Y],backfillMessages:Y}}function dM($,Z,J){let X=`${$}/arions/${Z}/logs/${J}.jsonl`;if(jh(X))return X;let Y=`${$}/logs/${J}.jsonl`;if(jh(Y))return Y;return null}var v60=_(()=>{uM()});var Ch={};M$(Ch,{toModelMessages:()=>BL,replaySessionFromJsonl:()=>Th,repairToolCallPairing:()=>dY,mergeWithJsonlRecovery:()=>pM,fromV1Columns:()=>uG,fromModelMessages:()=>cG,findJsonlForSession:()=>dM,extractToolCalls:()=>dG,extractToolCallId:()=>aG,extractThinking:()=>lG,extractTextContent:()=>pG,createUserMessage:()=>mG,createSystemMessage:()=>l0,createIncomingMessagePair:()=>UL,createErrorMessage:()=>Y$,conversationMessageToHistoryMessages:()=>f60,TurnAccumulator:()=>NJ,SessionHistoryClient:()=>FH,SessionHistory:()=>Z6,ConversationMessageSchema:()=>zL,ContentBlockSchema:()=>Kd,ArionRefSchema:()=>Ud});var lY=_(()=>{jR();Ph();uM();v60()});import{existsSync as Ew0}from"fs";import{fileURLToPath as h60}from"url";function _w0(){return[h60(new URL("../main.ts",import.meta.url)),h60(new URL("../main.js",import.meta.url))]}function x60(){let $=process.env.ARIA_RUNTIME_KIND?.trim();if($==="source-bun"||$==="compiled-bun"||$==="bundled-bun")return $;let Z=process.argv[1]??"";if(!Z.endsWith(".ts")&&!Z.endsWith(".js")&&!Z.endsWith(".mjs"))return"compiled-bun";if(_w0().some((J)=>Ew0(J)))return"source-bun";return"bundled-bun"}var g60=()=>{};import{existsSync as Rh}from"fs";import{fileURLToPath as lM}from"url";function m60(){return process.platform==="win32"?"bun.exe":"bun"}function Mw0(){let $=[lM(new URL("../main.ts",import.meta.url)),lM(new URL("../main.js",import.meta.url))];for(let Z of $)if(Rh(Z))return Z;throw Error("[aria] Could not resolve Bun source entrypoint for internal relaunch")}function Pw0(){let $=process.argv[1]??"";if(Rh($))return $;let Z=[lM(new URL("../../bin/aria.mjs",import.meta.url)),lM(new URL("../bin/aria.mjs",import.meta.url))];for(let J of Z)if(Rh(J))return J;throw Error("[aria] Could not resolve bundled entrypoint for internal relaunch")}function aM($){let Z=x60(),J=$.args??[],X={...process.env,...$.env??{}},Y=$.cwd??process.cwd();switch(Z){case"source-bun":return{command:m60(),args:[Mw0(),"__internal",$.mode,...J],env:X,cwd:Y};case"bundled-bun":return{command:m60(),args:[Pw0(),"__internal",$.mode,...J],env:X,cwd:Y};case"compiled-bun":return{command:process.execPath,args:["__internal",$.mode,...J],env:X,cwd:Y}}}var wh=_(()=>{g60()});function nM($,Z={}){let J={},X={cwd:$.cwd,env:$.env,stdio:Z.stdio??["inherit","inherit","inherit"]};if(Z.ipc)X.ipc=(Q)=>{for(let G of J.message??[])G(Q)};let Y=Bun.spawn([$.command,...$.args],X);return Y.exited.then((Q)=>{for(let G of J.close??[])G(Q)}).catch((Q)=>{let G=Q instanceof Error?Q:Error(String(Q));for(let V of J.error??[])V(G)}),{send(Q){Y.send(Q)},on(Q,G){(J[Q]??=[]).push(G)},unref(){Y.unref()}}}import{existsSync as qF,mkdirSync as jw0,readFileSync as p60,writeFileSync as Tw0,unlinkSync as Sh,readdirSync as Cw0}from"fs";import{dirname as lj$,join as bh,resolve as aj$}from"path";function d60($){pN($)}function Rw0($){return Op($)}function iM($){Np($)}function ww0($){if(!$||typeof $!=="object")return!1;let Z=$;return Z.code==="EPIPE"||Z.code==="EIO"||Z.code==="ERR_STREAM_DESTROYED"}function i1($){try{process.stderr.write($)}catch(Z){if(ww0(Z))return;throw Z}}function Sw0($){if(!$||typeof $!=="object")return $ instanceof Error&&/^exit:\d+$/.test($.message);if($.__ariaProcessExit===!0)return!0;return $ instanceof Error&&/^exit:\d+$/.test($.message)}function LJ($){let Z=$?.trim()||null;if(g8=Z,Z)process.env[$6]=Z;else delete process.env[$6]}function kh(){return g8}function DH($){o1=$||"ARIA",process.env[FX]=o1}function l60(){return process.env[uN]==="true"}function a60(...$){return bh(x9(),...$)}function n60(){return a60("crash-markers")}function fh($){return bh(n60(),`${$}.json`)}function bw0($){let Z=fh($);if(!qF(Z))return null;try{return JSON.parse(p60(Z,"utf-8"))}catch{return null}}function kw0($){try{let Z=n60();jw0(Z,{recursive:!0}),Tw0(fh($.sessionId),JSON.stringify($),"utf-8")}catch{}}function Ih($){try{let Z=fh($);if(qF(Z))Sh(Z)}catch{}}function fw0(){return a60("crash-reports","latest.json")}function c60($,Z){i1(`[aria] Session ${$} exceeded crash limit (${Z}/${AF}). Starting fresh instead of resuming.
|
|
4729
4729
|
`),Ih($),g8=null,LJ(null)}function yw0(){let $=fw0();if(!qF($))return null;try{let Z=JSON.parse(p60($,"utf-8"));try{Sh($)}catch{}return{message:Z?.error?.message??"unknown",stack:Z?.error?.stack??void 0,heapMb:Z?.process?.heapUsedMb,rssMb:Z?.process?.rssMb}}catch{try{Sh($)}catch{}return null}}async function u60($){let Z=Rw0(process.pid);if(Z){if(Date.now()-new Date(Z.timestamp).getTime()<Iw0)return iM(process.pid),{sessionId:Z.sessionId,arionName:Z.arionName||$,source:"marker"};iM(process.pid)}try{let{SessionHistory:J}=await Promise.resolve().then(() => (lY(),Ch)),{getAriaDir:X}=await Promise.resolve().then(() => (T4(),gS)),Y=X(),Q=new Set([$]),G=bh(Y,"arions");if(qF(G)){for(let W of Cw0(G,{withFileTypes:!0}))if(W.isDirectory()&&W.name.trim())Q.add(W.name.trim())}let V=null;for(let W of Q){let H=J.resolvePerArionPath(Y,W);if(!qF(H))continue;let K=new J(H);try{let z=K.getIncompleteSessions(1);if(z.length===0)continue;let U=z[0],B=U.updatedAt.getTime();if(!V||B>V.updatedAtMs||B===V.updatedAtMs&&W===$)V={sessionId:U.id,arionName:W,updatedAtMs:B}}finally{K.close()}}if(V)return{sessionId:V.sessionId,arionName:V.arionName,source:V.arionName===$?"history":"history-scan"}}catch(J){i1(`[aria] SessionHistory fallback failed: ${J instanceof Error?J.message:String(J)}
|
package/package.json
CHANGED
|
@@ -1,33 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aria-cli/cli",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.54",
|
|
4
|
+
"description": "ARIA - Adaptive Reasoning Intelligence Agent",
|
|
4
5
|
"type": "module",
|
|
5
|
-
"main": "dist/main.js",
|
|
6
|
-
"types": "dist/index.d.ts",
|
|
7
6
|
"bin": {
|
|
8
7
|
"aria": "bin/aria.mjs"
|
|
9
8
|
},
|
|
10
|
-
"
|
|
11
|
-
|
|
12
|
-
"
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
"
|
|
16
|
-
"test:e2e": "vitest run --config vitest.e2e.config.ts",
|
|
17
|
-
"test:e2e:watch": "vitest --config vitest.e2e.config.ts",
|
|
18
|
-
"test:e2e:mocked": "vitest run --config vitest.e2e.config.ts --testNamePattern='mocked|error|rejects|handles|prevents'",
|
|
19
|
-
"test:real": "vitest run --config vitest.real.config.ts",
|
|
20
|
-
"test:lanes": "bun tests/print-test-lane-manifest.ts",
|
|
21
|
-
"test:parity": "bun ../../scripts/run-cli-parity-tests.mjs",
|
|
22
|
-
"start": "bun dist/main.js",
|
|
23
|
-
"dev": "bun src/main.ts",
|
|
24
|
-
"dev:repl": "bun src/main.ts",
|
|
25
|
-
"smoke:binary": "bun ../../scripts/smoke-compiled-binary.mjs ../../dist-bin/aria"
|
|
9
|
+
"main": "bin/aria.mjs",
|
|
10
|
+
"files": [
|
|
11
|
+
"bin/aria.mjs"
|
|
12
|
+
],
|
|
13
|
+
"engines": {
|
|
14
|
+
"bun": ">=1.3.11"
|
|
26
15
|
},
|
|
27
16
|
"dependencies": {
|
|
28
17
|
"@anthropic-ai/bedrock-sdk": "^0.26.4",
|
|
29
18
|
"@anthropic-ai/sdk": "^0.78.0",
|
|
30
|
-
"@
|
|
19
|
+
"@aws-sdk/credential-providers": "^3.995.0",
|
|
31
20
|
"@fastify/cors": "^11.0.1",
|
|
32
21
|
"@fastify/websocket": "^11.2.0",
|
|
33
22
|
"@google/genai": "^1.42.0",
|
|
@@ -38,7 +27,6 @@
|
|
|
38
27
|
"color-name": "^2.1.0",
|
|
39
28
|
"commander": "^14.0.3",
|
|
40
29
|
"diff": "^8.0.3",
|
|
41
|
-
"dotenv": "^17.3.1",
|
|
42
30
|
"eventemitter3": "^5.0.4",
|
|
43
31
|
"fast-glob": "^3.3.3",
|
|
44
32
|
"fastify": "^5.3.2",
|
|
@@ -47,74 +35,27 @@
|
|
|
47
35
|
"highlight.js": "^11.11.1",
|
|
48
36
|
"ink": "npm:@jrichman/ink@^6.4.11",
|
|
49
37
|
"ink-spinner": "^5.0.0",
|
|
38
|
+
"jsdom": "^26.0.0",
|
|
50
39
|
"katex": "^0.16.33",
|
|
51
40
|
"marked": "^17.0.3",
|
|
52
41
|
"marked-terminal": "^7.3.0",
|
|
53
42
|
"nanoid": "^5.1.6",
|
|
54
43
|
"openai": "^6.25.0",
|
|
44
|
+
"playwright": "^1.52.0",
|
|
55
45
|
"proper-lockfile": "^4.1.2",
|
|
56
46
|
"react": "^19.2.4",
|
|
57
|
-
"sqlite-vec": "0.1.7-alpha.2",
|
|
58
47
|
"string-width": "^8.2.0",
|
|
59
48
|
"turndown": "^7.2.2",
|
|
60
49
|
"ulid": "^3.0.2",
|
|
61
|
-
"undici": "^7.22.0",
|
|
62
50
|
"uuid": "^13.0.0",
|
|
63
|
-
"vscode-jsonrpc": "^8.2.1",
|
|
64
51
|
"wrap-ansi": "^10.0.0",
|
|
65
|
-
"ws": "^8.19.0",
|
|
66
52
|
"yaml": "^2.8.2",
|
|
67
|
-
"zod": "^4.3.6"
|
|
68
|
-
"node-pty": "^1.0.0",
|
|
69
|
-
"playwright": "^1.52.0",
|
|
70
|
-
"jsdom": "^26.0.0",
|
|
71
|
-
"@aws-sdk/credential-providers": "^3.995.0"
|
|
72
|
-
},
|
|
73
|
-
"devDependencies": {
|
|
74
|
-
"@testing-library/react": "^16.3.2",
|
|
75
|
-
"@types/color-name": "^2.0.0",
|
|
76
|
-
"@types/react": "^19.2.14",
|
|
77
|
-
"ink-testing-library": "^4.0.0",
|
|
78
|
-
"typescript": "^5.9.3",
|
|
79
|
-
"vitest": "^4.0.18",
|
|
80
|
-
"@aria-cli/aria": "1.0.50",
|
|
81
|
-
"@aria-cli/auth": "1.0.50",
|
|
82
|
-
"@aria-cli/memoria": "1.0.50",
|
|
83
|
-
"@aria-cli/memoria-bridge": "1.0.50",
|
|
84
|
-
"@aria-cli/models": "1.0.50",
|
|
85
|
-
"@aria-cli/server": "1.0.50",
|
|
86
|
-
"@aria-cli/tools": "1.0.50",
|
|
87
|
-
"@aria-cli/types": "1.0.50"
|
|
53
|
+
"zod": "^4.3.6"
|
|
88
54
|
},
|
|
89
|
-
"files": [
|
|
90
|
-
"bin/aria.mjs",
|
|
91
|
-
"src/main.ts",
|
|
92
|
-
"src/entrypoints/**/*",
|
|
93
|
-
"src/runtime/**/*",
|
|
94
|
-
"dist/**/*"
|
|
95
|
-
],
|
|
96
|
-
"engines": {
|
|
97
|
-
"bun": ">=1.3.11"
|
|
98
|
-
},
|
|
99
|
-
"description": "ARIA — AI coding assistant with persistent memory, self-learning tools, and autonomous agent loop",
|
|
100
|
-
"homepage": "https://github.com/aria-cli/aria-releases",
|
|
101
|
-
"repository": {
|
|
102
|
-
"type": "git",
|
|
103
|
-
"url": "https://github.com/aria-cli/aria-releases.git"
|
|
104
|
-
},
|
|
105
|
-
"keywords": [
|
|
106
|
-
"ai",
|
|
107
|
-
"cli",
|
|
108
|
-
"coding-assistant",
|
|
109
|
-
"agent",
|
|
110
|
-
"llm",
|
|
111
|
-
"memory",
|
|
112
|
-
"tools"
|
|
113
|
-
],
|
|
114
|
-
"module": "dist/main.js",
|
|
115
55
|
"optionalDependencies": {
|
|
116
56
|
"@aws-sdk/client-bedrock": "^3.997.0",
|
|
117
57
|
"@aws-sdk/client-bedrock-runtime": "^3.997.0",
|
|
118
58
|
"@aws-sdk/token-providers": "^3.997.0"
|
|
119
|
-
}
|
|
59
|
+
},
|
|
60
|
+
"license": "MIT"
|
|
120
61
|
}
|