@aria-cli/cli 1.0.19 → 1.0.37

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.
Files changed (294) hide show
  1. package/README.md +32 -46
  2. package/bin/aria.mjs +5718 -0
  3. package/package.json +33 -51
  4. package/bin/aria-dev.js +0 -2
  5. package/bin/aria.js +0 -14
  6. package/bin/install-owner-lease.d.ts +0 -8
  7. package/bin/install-owner-lease.js +0 -1
  8. package/dist/.aria-build-stamp.json +0 -4
  9. package/dist/attached-local-control-client.d.ts +0 -90
  10. package/dist/bootstrap-local-control-client.d.ts +0 -1
  11. package/dist/capability-aware-method-proxy.d.ts +0 -1
  12. package/dist/cli-context.d.ts +0 -31
  13. package/dist/cli-context.js +0 -1
  14. package/dist/commands/arions.d.ts +0 -14
  15. package/dist/commands/auth.d.ts +0 -27
  16. package/dist/commands/daemon.d.ts +0 -31
  17. package/dist/commands/definitions.d.ts +0 -19
  18. package/dist/commands/index.d.ts +0 -13
  19. package/dist/commands/index.js +0 -356
  20. package/dist/commands/login-handler.d.ts +0 -108
  21. package/dist/commands/logout-handler.d.ts +0 -24
  22. package/dist/commands/memory-handlers.d.ts +0 -15
  23. package/dist/commands/pairing.d.ts +0 -2
  24. package/dist/commands/peer-message-handler.d.ts +0 -7
  25. package/dist/commands/runtime-cutover-reset-command.d.ts +0 -2
  26. package/dist/commands/runtime-cutover-reset.d.ts +0 -26
  27. package/dist/commands/terminal-setup.d.ts +0 -3
  28. package/dist/config/aria-config.d.ts +0 -50
  29. package/dist/config/index.d.ts +0 -4
  30. package/dist/config/loader.d.ts +0 -17
  31. package/dist/config.d.ts +0 -53
  32. package/dist/config.js +0 -1
  33. package/dist/daemon-info.d.ts +0 -17
  34. package/dist/ensure-daemon.d.ts +0 -21
  35. package/dist/ensure-daemon.js +0 -4
  36. package/dist/event-loop-watchdog.d.ts +0 -31
  37. package/dist/headless/auth-orchestrator.d.ts +0 -19
  38. package/dist/headless/auth-service.d.ts +0 -15
  39. package/dist/headless/bootstrap-fast-path.d.ts +0 -12
  40. package/dist/headless/call-command.d.ts +0 -8
  41. package/dist/headless/daemon-service.d.ts +0 -14
  42. package/dist/headless/hook-actions.d.ts +0 -40
  43. package/dist/headless/hook-service.d.ts +0 -8
  44. package/dist/headless/kernel-services.d.ts +0 -8
  45. package/dist/headless/kernel.d.ts +0 -118
  46. package/dist/headless/operations/arion.d.ts +0 -3
  47. package/dist/headless/operations/auth.d.ts +0 -4
  48. package/dist/headless/operations/client.d.ts +0 -2
  49. package/dist/headless/operations/config.d.ts +0 -3
  50. package/dist/headless/operations/daemon.d.ts +0 -3
  51. package/dist/headless/operations/hook.d.ts +0 -3
  52. package/dist/headless/operations/index.d.ts +0 -10
  53. package/dist/headless/operations/memory.d.ts +0 -3
  54. package/dist/headless/operations/message.d.ts +0 -2
  55. package/dist/headless/operations/model.d.ts +0 -3
  56. package/dist/headless/operations/peer.d.ts +0 -2
  57. package/dist/headless/operations/run.d.ts +0 -3
  58. package/dist/headless/operations/session.d.ts +0 -74
  59. package/dist/headless/operations/subscription.d.ts +0 -2
  60. package/dist/headless/operations/system.d.ts +0 -3
  61. package/dist/headless/operations/utils.d.ts +0 -5
  62. package/dist/headless/run-orchestrator.d.ts +0 -38
  63. package/dist/headless/stdio-server.d.ts +0 -4
  64. package/dist/history/SessionHistory.d.ts +0 -200
  65. package/dist/history/conversation-message.d.ts +0 -181
  66. package/dist/history/index.d.ts +0 -8
  67. package/dist/history/index.js +0 -321
  68. package/dist/history/jsonl-replay.d.ts +0 -38
  69. package/dist/history/repair-tool-pairing.d.ts +0 -14
  70. package/dist/history/turn-accumulator.d.ts +0 -85
  71. package/dist/index.d.ts +0 -6
  72. package/dist/index.js +0 -503
  73. package/dist/ink-repl.d.ts +0 -32
  74. package/dist/ink-repl.js +0 -491
  75. package/dist/local-control-bootstrap.d.ts +0 -5
  76. package/dist/local-control-client.d.ts +0 -1
  77. package/dist/local-control-client.js +0 -4
  78. package/dist/local-control-error-reporting.d.ts +0 -6
  79. package/dist/local-control-http-client.d.ts +0 -9
  80. package/dist/network-security.d.ts +0 -7
  81. package/dist/networking-server.d.ts +0 -28
  82. package/dist/peer-identity.d.ts +0 -3
  83. package/dist/polling-subscription.d.ts +0 -7
  84. package/dist/relaunch.d.ts +0 -55
  85. package/dist/release-notes.d.ts +0 -11
  86. package/dist/repl-cleanup.d.ts +0 -20
  87. package/dist/repl-cleanup.js +0 -1
  88. package/dist/selectable-client.d.ts +0 -7
  89. package/dist/selectable-peer.d.ts +0 -12
  90. package/dist/session.d.ts +0 -103
  91. package/dist/session.js +0 -1
  92. package/dist/slash-commands.d.ts +0 -34
  93. package/dist/sounds.d.ts +0 -31
  94. package/dist/ui/App.d.ts +0 -288
  95. package/dist/ui/components/AnthropicMethodPicker.d.ts +0 -9
  96. package/dist/ui/components/ArionPrompt.d.ts +0 -8
  97. package/dist/ui/components/AutocompleteDropdown.d.ts +0 -9
  98. package/dist/ui/components/AutonomySelector.d.ts +0 -12
  99. package/dist/ui/components/Banner.d.ts +0 -9
  100. package/dist/ui/components/ConversationHistory.d.ts +0 -59
  101. package/dist/ui/components/CopilotDeviceLoginFlow.d.ts +0 -15
  102. package/dist/ui/components/CopilotSourcePicker.d.ts +0 -13
  103. package/dist/ui/components/Cost.d.ts +0 -8
  104. package/dist/ui/components/CustomSelect/option-map.d.ts +0 -15
  105. package/dist/ui/components/CustomSelect/select-option.d.ts +0 -20
  106. package/dist/ui/components/CustomSelect/select.d.ts +0 -55
  107. package/dist/ui/components/CustomSelect/use-select-state.d.ts +0 -99
  108. package/dist/ui/components/CustomSelect/use-select.d.ts +0 -14
  109. package/dist/ui/components/ErrorDisplay.d.ts +0 -26
  110. package/dist/ui/components/FallbackToolUseRejectedMessage.d.ts +0 -2
  111. package/dist/ui/components/FileEditToolUpdatedMessage.d.ts +0 -9
  112. package/dist/ui/components/HandoffMarker.d.ts +0 -17
  113. package/dist/ui/components/HighlightedCode.d.ts +0 -7
  114. package/dist/ui/components/InputArea.d.ts +0 -17
  115. package/dist/ui/components/Message.d.ts +0 -16
  116. package/dist/ui/components/OAuthLoginFlow.d.ts +0 -25
  117. package/dist/ui/components/OutputTruncation.d.ts +0 -16
  118. package/dist/ui/components/PermissionPrompt.d.ts +0 -22
  119. package/dist/ui/components/PipelineTimingPanel.d.ts +0 -13
  120. package/dist/ui/components/ProviderMethodPicker.d.ts +0 -16
  121. package/dist/ui/components/ProviderPicker.d.ts +0 -15
  122. package/dist/ui/components/RenderItemView.d.ts +0 -18
  123. package/dist/ui/components/Spinner.d.ts +0 -3
  124. package/dist/ui/components/StatusBar.d.ts +0 -78
  125. package/dist/ui/components/StreamingIndicator.d.ts +0 -11
  126. package/dist/ui/components/StructuredDiff.d.ts +0 -20
  127. package/dist/ui/components/TextInputOverlay.d.ts +0 -9
  128. package/dist/ui/components/ThinkingBlock.d.ts +0 -53
  129. package/dist/ui/components/ToolCost.d.ts +0 -8
  130. package/dist/ui/components/ToolExecution.d.ts +0 -13
  131. package/dist/ui/components/ToolHeader.d.ts +0 -10
  132. package/dist/ui/components/ToolRenderLayoutContext.d.ts +0 -10
  133. package/dist/ui/components/ToolResultWrapper.d.ts +0 -6
  134. package/dist/ui/components/ToolUseLoader.d.ts +0 -10
  135. package/dist/ui/components/TraceWaterfall.d.ts +0 -56
  136. package/dist/ui/components/index.d.ts +0 -29
  137. package/dist/ui/components/messages/AssistantTextMessage.d.ts +0 -13
  138. package/dist/ui/components/messages/UserImageMessage.d.ts +0 -8
  139. package/dist/ui/components/messages/UserTextMessage.d.ts +0 -13
  140. package/dist/ui/components/overlays/ArionSelector.d.ts +0 -18
  141. package/dist/ui/components/overlays/ClientSelector.d.ts +0 -7
  142. package/dist/ui/components/overlays/CommandPalette.d.ts +0 -14
  143. package/dist/ui/components/overlays/InviteShareOverlay.d.ts +0 -7
  144. package/dist/ui/components/overlays/JoinInviteOverlay.d.ts +0 -6
  145. package/dist/ui/components/overlays/MemoryBrowser.d.ts +0 -17
  146. package/dist/ui/components/overlays/MessageSelector.d.ts +0 -20
  147. package/dist/ui/components/overlays/ModelSelector.d.ts +0 -17
  148. package/dist/ui/components/overlays/PairRequestOverlay.d.ts +0 -19
  149. package/dist/ui/components/overlays/PeerSelector.d.ts +0 -14
  150. package/dist/ui/components/overlays/SessionSelector.d.ts +0 -11
  151. package/dist/ui/components/overlays/ThemeSelector.d.ts +0 -22
  152. package/dist/ui/components/overlays/index.d.ts +0 -13
  153. package/dist/ui/components/permissions/BashPermissionRequest/BashPermissionRequest.d.ts +0 -9
  154. package/dist/ui/components/permissions/FallbackPermissionRequest.d.ts +0 -9
  155. package/dist/ui/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.d.ts +0 -9
  156. package/dist/ui/components/permissions/FileEditPermissionRequest/FileEditToolDiff.d.ts +0 -11
  157. package/dist/ui/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.d.ts +0 -9
  158. package/dist/ui/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.d.ts +0 -9
  159. package/dist/ui/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.d.ts +0 -5
  160. package/dist/ui/components/permissions/PermissionRequest.d.ts +0 -52
  161. package/dist/ui/components/permissions/PermissionRequestTitle.d.ts +0 -13
  162. package/dist/ui/components/permissions/hooks.d.ts +0 -10
  163. package/dist/ui/components/permissions/toolUseOptions.d.ts +0 -10
  164. package/dist/ui/components/permissions/utils.d.ts +0 -6
  165. package/dist/ui/components/text-input/Cursor.d.ts +0 -58
  166. package/dist/ui/components/text-input/TextInput.d.ts +0 -98
  167. package/dist/ui/components/text-input/imagePaste.d.ts +0 -2
  168. package/dist/ui/components/text-input/index.d.ts +0 -6
  169. package/dist/ui/components/text-input/useDoublePress.d.ts +0 -2
  170. package/dist/ui/components/text-input/useTextInput.d.ts +0 -34
  171. package/dist/ui/components/tool-types.d.ts +0 -28
  172. package/dist/ui/constants/figures.d.ts +0 -1
  173. package/dist/ui/constants/index.d.ts +0 -1
  174. package/dist/ui/display-mode.d.ts +0 -62
  175. package/dist/ui/display-policy.d.ts +0 -3
  176. package/dist/ui/hooks/index.d.ts +0 -4
  177. package/dist/ui/hooks/useCommandAutocomplete.d.ts +0 -28
  178. package/dist/ui/hooks/useDoublePress.d.ts +0 -13
  179. package/dist/ui/hooks/useIndicatorState.d.ts +0 -3
  180. package/dist/ui/hooks/useInterval.d.ts +0 -6
  181. package/dist/ui/hooks/useKeyboardShortcuts.d.ts +0 -17
  182. package/dist/ui/hooks/usePeerMessages.d.ts +0 -26
  183. package/dist/ui/hooks/useTerminalSize.d.ts +0 -6
  184. package/dist/ui/hooks/useUnifiedMessages.d.ts +0 -83
  185. package/dist/ui/indicator-state.d.ts +0 -46
  186. package/dist/ui/markdown/highlight.d.ts +0 -8
  187. package/dist/ui/markdown/index.d.ts +0 -16
  188. package/dist/ui/markdown/tokenizer.d.ts +0 -17
  189. package/dist/ui/render-item.d.ts +0 -70
  190. package/dist/ui/screens/REPL.d.ts +0 -288
  191. package/dist/ui/status-line.d.ts +0 -32
  192. package/dist/ui/theme/index.d.ts +0 -8
  193. package/dist/ui/theme/themes/claude-dark-daltonized.d.ts +0 -2
  194. package/dist/ui/theme/themes/claude-dark.d.ts +0 -2
  195. package/dist/ui/theme/themes/claude-light-daltonized.d.ts +0 -2
  196. package/dist/ui/theme/themes/claude-light.d.ts +0 -2
  197. package/dist/ui/theme/themes/dark-accessible.d.ts +0 -2
  198. package/dist/ui/theme/themes/dark.d.ts +0 -2
  199. package/dist/ui/theme/themes/light-accessible.d.ts +0 -2
  200. package/dist/ui/theme/themes/light.d.ts +0 -2
  201. package/dist/ui/theme/types.d.ts +0 -51
  202. package/dist/ui/theme.d.ts +0 -51
  203. package/dist/ui/to-render-items.d.ts +0 -7
  204. package/dist/ui/tools/AgentTool/index.d.ts +0 -8
  205. package/dist/ui/tools/ArchitectTool/index.d.ts +0 -10
  206. package/dist/ui/tools/AskUserTool/index.d.ts +0 -19
  207. package/dist/ui/tools/BashTool/BashToolResultMessage.d.ts +0 -13
  208. package/dist/ui/tools/BashTool/OutputLine.d.ts +0 -6
  209. package/dist/ui/tools/BashTool/index.d.ts +0 -8
  210. package/dist/ui/tools/BrowseTool/index.d.ts +0 -20
  211. package/dist/ui/tools/BrowserTool/index.d.ts +0 -25
  212. package/dist/ui/tools/CbmTool/index.d.ts +0 -81
  213. package/dist/ui/tools/CheckDelegationTool/index.d.ts +0 -23
  214. package/dist/ui/tools/CheckMessagesTool/index.d.ts +0 -8
  215. package/dist/ui/tools/CreateQuipTool/index.d.ts +0 -10
  216. package/dist/ui/tools/CreateSkillTool/index.d.ts +0 -13
  217. package/dist/ui/tools/CreateToolTool/index.d.ts +0 -10
  218. package/dist/ui/tools/DelegateRemoteTool/index.d.ts +0 -22
  219. package/dist/ui/tools/DeployTool/index.d.ts +0 -24
  220. package/dist/ui/tools/FffTool/index.d.ts +0 -17
  221. package/dist/ui/tools/FileEditTool/index.d.ts +0 -10
  222. package/dist/ui/tools/FileReadTool/index.d.ts +0 -10
  223. package/dist/ui/tools/FileWriteTool/index.d.ts +0 -10
  224. package/dist/ui/tools/FrgTool/index.d.ts +0 -17
  225. package/dist/ui/tools/GetThreadTool/index.d.ts +0 -10
  226. package/dist/ui/tools/GlobTool/index.d.ts +0 -11
  227. package/dist/ui/tools/GrepTool/index.d.ts +0 -12
  228. package/dist/ui/tools/HatchArionTool/index.d.ts +0 -20
  229. package/dist/ui/tools/LearnSkillTool/index.d.ts +0 -13
  230. package/dist/ui/tools/LearnTool/index.d.ts +0 -15
  231. package/dist/ui/tools/LearnToolTool/index.d.ts +0 -14
  232. package/dist/ui/tools/ListClientsTool/index.d.ts +0 -10
  233. package/dist/ui/tools/LspTool/index.d.ts +0 -11
  234. package/dist/ui/tools/MCPTool/index.d.ts +0 -11
  235. package/dist/ui/tools/ManageNetworkTool/index.d.ts +0 -28
  236. package/dist/ui/tools/MemoryReadTool/index.d.ts +0 -8
  237. package/dist/ui/tools/MemoryWriteTool/index.d.ts +0 -6
  238. package/dist/ui/tools/NotebookEditTool/index.d.ts +0 -19
  239. package/dist/ui/tools/NotebookReadTool/index.d.ts +0 -12
  240. package/dist/ui/tools/OutlookReadTool/index.d.ts +0 -10
  241. package/dist/ui/tools/OutlookReplyTool/index.d.ts +0 -10
  242. package/dist/ui/tools/OutlookSendTool/index.d.ts +0 -10
  243. package/dist/ui/tools/PauseDelegationTool/index.d.ts +0 -20
  244. package/dist/ui/tools/ProbeTool/index.d.ts +0 -26
  245. package/dist/ui/tools/ProcessTool/index.d.ts +0 -29
  246. package/dist/ui/tools/QuestListTool/index.d.ts +0 -24
  247. package/dist/ui/tools/QuestReportTool/index.d.ts +0 -27
  248. package/dist/ui/tools/QuestUpdateTool/index.d.ts +0 -24
  249. package/dist/ui/tools/QuipCommentTool/index.d.ts +0 -23
  250. package/dist/ui/tools/QuipReadTool/index.d.ts +0 -26
  251. package/dist/ui/tools/RestArionTool/index.d.ts +0 -19
  252. package/dist/ui/tools/RestartTool/index.d.ts +0 -20
  253. package/dist/ui/tools/ResumeDelegationTool/index.d.ts +0 -21
  254. package/dist/ui/tools/RetireArionTool/index.d.ts +0 -19
  255. package/dist/ui/tools/RgTool/index.d.ts +0 -44
  256. package/dist/ui/tools/SearchKnowledgeTool/index.d.ts +0 -31
  257. package/dist/ui/tools/SearchMessagesTool/index.d.ts +0 -10
  258. package/dist/ui/tools/SelfDiagnoseTool/index.d.ts +0 -11
  259. package/dist/ui/tools/SendMessageTool/index.d.ts +0 -8
  260. package/dist/ui/tools/SerenaTool/index.d.ts +0 -18
  261. package/dist/ui/tools/SessionHistoryTool/index.d.ts +0 -32
  262. package/dist/ui/tools/SgTool/index.d.ts +0 -8
  263. package/dist/ui/tools/SlackReactTool/index.d.ts +0 -10
  264. package/dist/ui/tools/SlackReadTool/index.d.ts +0 -10
  265. package/dist/ui/tools/SlackSendTool/index.d.ts +0 -10
  266. package/dist/ui/tools/SpawnWorkerTool/index.d.ts +0 -18
  267. package/dist/ui/tools/StickerRequestTool/index.d.ts +0 -6
  268. package/dist/ui/tools/ThinkTool/index.d.ts +0 -8
  269. package/dist/ui/tools/UgTool/index.d.ts +0 -47
  270. package/dist/ui/tools/UseSkillTool/index.d.ts +0 -17
  271. package/dist/ui/tools/WakeArionTool/index.d.ts +0 -19
  272. package/dist/ui/tools/WebFetchTool/index.d.ts +0 -20
  273. package/dist/ui/tools/WebSearchTool/index.d.ts +0 -21
  274. package/dist/ui/tools/lsTool/index.d.ts +0 -12
  275. package/dist/ui/tools/registry.d.ts +0 -15
  276. package/dist/ui/tools/tool-renderer.d.ts +0 -24
  277. package/dist/ui/tools/truncation.d.ts +0 -6
  278. package/dist/ui/types/anthropic.d.ts +0 -19
  279. package/dist/ui/types/index.d.ts +0 -3
  280. package/dist/ui/types/message.d.ts +0 -19
  281. package/dist/ui/types/tool.d.ts +0 -17
  282. package/dist/ui/utils/array.d.ts +0 -1
  283. package/dist/ui/utils/cursor.d.ts +0 -28
  284. package/dist/ui/utils/diff.d.ts +0 -24
  285. package/dist/ui/utils/format.d.ts +0 -3
  286. package/dist/ui/utils/fuzzy.d.ts +0 -11
  287. package/dist/ui/utils/index.d.ts +0 -9
  288. package/dist/ui/utils/keys.d.ts +0 -6
  289. package/dist/ui/utils/patch.d.ts +0 -8
  290. package/dist/ui/utils/risk.d.ts +0 -14
  291. package/dist/ui/utils/terminal-image.d.ts +0 -18
  292. package/dist/ui/utils/validation.d.ts +0 -8
  293. package/dist/ui/verb-pairs.d.ts +0 -20
  294. package/dist/ui.d.ts +0 -70
package/dist/ink-repl.js DELETED
@@ -1,491 +0,0 @@
1
- import{createRequire as kq}from"node:module";var Iq=Object.defineProperty;var Sq=($)=>$;function bq($,H){this[$]=Sq.bind(null,H)}var I3=($,H)=>{for(var K in H)Iq($,K,{get:H[K],enumerable:!0,configurable:!0,set:bq.bind(H,K)})};var t=($,H)=>()=>($&&(H=$($=0)),H);var M6=kq(import.meta.url);var Tq={};I3(Tq,{saveConfig:()=>E0,loadConfig:()=>O0,loadAndMigrateConfig:()=>jX,getConfigPath:()=>zK,getAriaDir:()=>w6});import*as e6 from"fs";import*as EX from"os";import{getModelById as gq,getModelByShortName as vq,isValidTier as cX}from"@aria-cli/models";import{log as V5}from"@aria-cli/types";function w6(){if(process.env.ARIA_HOME)return process.env.ARIA_HOME;return`${process.env.HOME||EX.homedir()}/.aria`}function zK(){return`${w6()}/config.json`}function jX(){try{let $=zK();if(e6.existsSync($)){let H=JSON.parse(e6.readFileSync($,"utf-8"));try{if(H.defaultModel&&!H.preferredTier){let J=gq(H.defaultModel)||vq(H.defaultModel);if(!J)V5.warn(`Unknown model "${H.defaultModel}" migrated to balanced tier (Sonnet 4.5)`);let Z=J?.tier||"balanced";H.preferredTier=cX(Z)?Z:"balanced",delete H.defaultModel,E0(H)}if(H.preferredTier!==void 0&&!cX(H.preferredTier))V5.warn(`Invalid tier "${H.preferredTier}" corrected to balanced tier`),H.preferredTier="balanced",E0(H);let K=!1;if(!H.awsRegion&&process.env.AWS_REGION)H.awsRegion=process.env.AWS_REGION,K=!0;if(!H.awsProfile&&process.env.AWS_PROFILE)H.awsProfile=process.env.AWS_PROFILE,K=!0;if(K)E0(H)}catch(K){V5.warn("Config migration failed, using config as-is:",K instanceof Error?K.message:K)}return H}}catch($){V5.warn("[Config] Failed to load config file:",$)}return{}}function E0($){let H=w6();if(!e6.existsSync(H))e6.mkdirSync(H,{recursive:!0});e6.writeFileSync(zK(),JSON.stringify($,null,2),"utf-8")}var O0;var h$=t(()=>{O0=jX});function F1($){d8.__aria_stall_phase=$,d8.__aria_stall_phase_ts=performance.now()}function i9(){d8.__aria_stall_phase=void 0,d8.__aria_stall_phase_ts=void 0}function mX(){let{__aria_stall_phase:$,__aria_stall_phase_ts:H}=d8;if(!$||typeof H!=="number")return;return{label:$,ageMs:performance.now()-H}}function dX($){let H=$.thresholdMs??2000,K=performance.now(),J=process.cpuUsage(),Z=setInterval(()=>{let X=performance.now(),Q=X-K,G=process.cpuUsage(J);if(K=X,J=process.cpuUsage(),Q>H)if((G.user+G.system)/1000/Q<0.05)$.onSleep?.(Q);else $.onStall(Q)},500);if(typeof Z==="object"&&Z!==null&&"unref"in Z)Z.unref();return()=>clearInterval(Z)}var WK=2000,d8;var c5=t(()=>{d8=globalThis});import{z as n}from"zod";import{log as pX}from"@aria-cli/types";function p8($){return{id:crypto.randomUUID(),role:"user",content:[{type:"text",text:$}],createdAt:new Date().toISOString()}}function r($){return{id:crypto.randomUUID(),role:"system",content:[{type:"text",text:$}],createdAt:new Date().toISOString()}}function j5($,H,K,J){let Z=`synthetic_inbox_${crypto.randomUUID().slice(0,8)}`,X=new Date().toISOString(),Q={id:crypto.randomUUID(),role:"assistant",content:[{type:"tool_use",id:Z,name:"check_messages",arguments:{unreadOnly:!0}}],createdAt:X},G={id:crypto.randomUUID(),role:"tool",content:[{type:"tool_result",toolUseId:Z,content:JSON.stringify({messages:[{id:J||crypto.randomUUID(),from:$,address:H,content:K,type:"incoming"}]}),status:"success"}],createdAt:X};return[Q,G]}function e($,H){return{id:crypto.randomUUID(),role:"system",content:[{type:"error",content:$,...H?{suggestion:H}:{}}],createdAt:new Date().toISOString()}}function m5($){let H=[];for(let K of $)switch(K.role){case"assistant":{let J=[],Z=[];for(let Q of K.content)if(Q.type==="text")J.push(Q.text);else if(Q.type==="tool_use")Z.push({id:Q.id,name:Q.name,arguments:Q.arguments,...Q.thoughtSignature?{thoughtSignature:Q.thoughtSignature}:{}});let X={role:"assistant",content:J.join("")};if(Z.length>0)X.toolCalls=Z;H.push(X);break}case"tool":{for(let J of K.content)if(J.type==="tool_result")H.push({role:"tool",content:J.content,toolCallId:J.toolUseId});break}case"user":case"system":{let J=[];for(let Z of K.content)if(Z.type==="text")J.push(Z.text);H.push({role:K.role,content:J.join("")});break}}return H}function l8($,H){let K=[];for(let J of $){let Z=[],X=J;if(X.thinking)for(let Q of X.thinking){let G=Q.thinking?Q.thinking.split(/\s+/).filter(Boolean).length:0;Z.push({type:"thinking",content:Q.thinking,wordCount:G})}if(J.role==="assistant"&&J.toolCalls){if(J.content)Z.push({type:"text",text:J.content});for(let Q of J.toolCalls)Z.push({type:"tool_use",id:Q.id,name:Q.name,arguments:Q.arguments,...Q.thoughtSignature?{thoughtSignature:Q.thoughtSignature}:{}})}else if(J.role==="tool")Z.push({type:"tool_result",toolUseId:J.toolCallId??"",content:J.content,status:"success"});else if(J.content)Z.push({type:"text",text:J.content});if(Z.length===0)Z.push({type:"text",text:""});K.push({id:crypto.randomUUID(),role:J.role,content:Z,arion:H?.arion,createdAt:new Date().toISOString()})}return K}function x8($){let H=[];if($.thinking)try{let K=JSON.parse($.thinking);for(let J of K)H.push({type:"thinking",content:J.content??"",wordCount:J.wordCount??0})}catch{pX.warn(`[fromV1Columns] Corrupted thinking JSON in message row ${$.id} (session ${$.session_id}), skipping`)}if($.tool_calls)try{let K=JSON.parse($.tool_calls);for(let J of K)H.push({type:"tool_use",id:J.id,name:J.name,arguments:J.arguments??{},...J.thoughtSignature?{thoughtSignature:J.thoughtSignature}:{}})}catch{pX.warn(`[fromV1Columns] Corrupted tool_calls JSON in message row ${$.id} (session ${$.session_id}), skipping`)}if($.role==="tool"&&$.tool_call_id)H.push({type:"tool_result",toolUseId:$.tool_call_id,content:$.content,status:"success"});if($.role!=="tool"&&$.content)H.push({type:"text",text:$.content});return{id:crypto.randomUUID(),role:$.role,content:H.length>0?H:[{type:"text",text:$.content??""}],arion:$.arion?{name:$.arion,emoji:"",color:void 0}:void 0,createdAt:$.created_at}}function lX($){let H=[];for(let K of $)for(let J of K.content)switch(J.type){case"thinking":H.push({id:`thinking-${crypto.randomUUID()}`,role:"thinking_history",content:J.content,wordCount:J.wordCount,durationSeconds:J.durationMs?J.durationMs/1000:void 0,verb:J.verb,arionName:K.arion?.name,arionEmoji:K.arion?.emoji,arionColor:K.arion?.color});break;case"tool_use":H.push({id:`tool-${crypto.randomUUID()}`,role:"tool_history",tool:{id:J.id,name:J.name,status:"complete",args:J.arguments,result:void 0,startTime:void 0,endTime:void 0}});break;case"tool_result":{let Z;for(let X=H.length-1;X>=0;X--){let Q=H[X];if(Q.role==="tool_history"&&Q.tool.id===J.toolUseId){Z=Q;break}}if(Z){if(Z.tool.status=J.status==="error"?"error":"complete",J.status==="error")Z.tool.error=J.content;else Z.tool.result=J.content;if(J.resultData!==void 0)Z.tool.resultData=J.resultData;if(J.durationMs!==void 0)Z.tool.durationMs=J.durationMs;if(J.usage!==void 0)Z.tool.usage=J.usage}break}case"handoff":H.push({id:`handoff-${crypto.randomUUID()}`,role:"handoff_history",target:J.target,direction:J.direction});break;case"error":H.push({id:`error-${crypto.randomUUID()}`,role:"error",content:J.content,suggestion:J.suggestion});break;case"text":H.push({id:`msg-${crypto.randomUUID()}`,role:K.role,content:J.text,arion:K.arion?{name:K.arion.name,emoji:K.arion.emoji,color:K.arion.color}:void 0});break}return H}function u8($){return $.content.filter((H)=>H.type==="text").map((H)=>H.text).join("")}function r8($){let H=$.content.filter((K)=>K.type==="tool_use");if(H.length===0)return null;return JSON.stringify(H.map((K)=>({id:K.id,name:K.name,arguments:K.arguments,...K.thoughtSignature?{thoughtSignature:K.thoughtSignature}:{}})))}function a8($){let H=$.content.filter((K)=>K.type==="thinking");if(H.length===0)return null;return JSON.stringify(H.map((K)=>({id:crypto.randomUUID(),content:K.content,wordCount:K.wordCount})))}function n8($){for(let H of $.content)if(H.type==="tool_result")return H.toolUseId;return null}var hq,Dq,Vq,cq,Eq,jq,_K,mq,qK,E5;var H7=t(()=>{hq=n.object({type:n.literal("text"),text:n.string()}),Dq=n.object({type:n.literal("thinking"),content:n.string(),wordCount:n.number(),durationMs:n.number().optional(),verb:n.string().optional()}),Vq=n.object({type:n.literal("tool_use"),id:n.string(),name:n.string(),arguments:n.record(n.string(),n.unknown()),thoughtSignature:n.string().optional()}),cq=n.object({type:n.literal("tool_result"),toolUseId:n.string(),content:n.string(),status:n.enum(["success","error"]),durationMs:n.number().optional(),resultData:n.unknown().optional(),usage:n.object({inputTokens:n.number(),outputTokens:n.number(),totalTokens:n.number(),estimatedCost:n.number()}).optional()}),Eq=n.object({type:n.literal("handoff"),target:n.string(),direction:n.enum(["to","from"])}),jq=n.object({type:n.literal("error"),content:n.string(),suggestion:n.string().optional()}),_K=n.discriminatedUnion("type",[hq,Dq,Vq,cq,Eq,jq]),mq=["cyan","magenta","yellow","green","blue","red","white"],qK=n.object({name:n.string(),emoji:n.string(),color:n.enum(mq).optional()}),E5=n.object({id:n.string(),role:n.enum(["user","assistant","system","tool"]),content:n.array(_K),arion:qK.optional(),costUSD:n.number().optional(),durationMs:n.number().optional(),tokenUsage:n.object({input:n.number(),output:n.number()}).optional(),createdAt:n.string()})});import dq from"better-sqlite3";import xX from"node:crypto";import{existsSync as K7,copyFileSync as pq,mkdirSync as NK,readdirSync as lq}from"node:fs";import i8 from"node:path";import{log as o9}from"@aria-cli/types";class S3{db;sessionFtsEnabled=!1;incrementalSessions=new Set;static resolvePerArionPath($,H){let K=i8.join($,"arions",H),J=i8.join(K,"history.db");if(!K7(J))NK(K,{recursive:!0});return J}static migrateJsonlLogs($,H){let K=i8.join($,"arions",H,"logs"),J=i8.join($,"logs");if(!K7(K)&&K7(J)){NK(K,{recursive:!0});try{let Z=lq(J).filter((X)=>X.endsWith(".jsonl"));for(let X of Z){let Q=i8.join(J,X),G=i8.join(K,X);if(!K7(G))pq(Q,G)}}catch{}}if(!K7(K))NK(K,{recursive:!0});return K}constructor($){this.db=new dq($),this.db.pragma("journal_mode = WAL"),this.db.pragma("busy_timeout = 5000"),this.db.pragma("foreign_keys = ON"),this.initialize()}initialize(){this.db.exec(`
2
- CREATE TABLE IF NOT EXISTS sessions (
3
- id TEXT PRIMARY KEY,
4
- created_at TEXT NOT NULL,
5
- updated_at TEXT NOT NULL,
6
- completed_at TEXT,
7
- title TEXT,
8
- arion TEXT NOT NULL,
9
- model TEXT NOT NULL,
10
- message_count INTEGER DEFAULT 0
11
- );
12
-
13
- CREATE TABLE IF NOT EXISTS messages (
14
- id INTEGER PRIMARY KEY AUTOINCREMENT,
15
- session_id TEXT NOT NULL,
16
- role TEXT NOT NULL,
17
- content TEXT NOT NULL,
18
- arion TEXT,
19
- created_at TEXT NOT NULL,
20
- FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE CASCADE
21
- );
22
-
23
- CREATE TABLE IF NOT EXISTS input_history (
24
- id INTEGER PRIMARY KEY AUTOINCREMENT,
25
- content TEXT NOT NULL UNIQUE,
26
- used_at TEXT NOT NULL
27
- );
28
-
29
- CREATE INDEX IF NOT EXISTS idx_messages_session ON messages(session_id);
30
- CREATE INDEX IF NOT EXISTS idx_sessions_updated ON sessions(updated_at DESC);
31
- CREATE INDEX IF NOT EXISTS idx_input_history_used ON input_history(used_at DESC);
32
- `);try{this.db.exec("ALTER TABLE sessions ADD COLUMN completed_at TEXT")}catch($){if(!($?.message??"").includes("duplicate column name"))throw $}try{this.db.exec("ALTER TABLE messages ADD COLUMN tool_call_id TEXT")}catch($){if(!($?.message??"").includes("duplicate column name"))throw $}try{this.db.exec("ALTER TABLE messages ADD COLUMN tool_calls TEXT")}catch($){if(!($?.message??"").includes("duplicate column name"))throw $}try{this.db.exec("ALTER TABLE messages ADD COLUMN thinking TEXT")}catch($){if(!($?.message??"").includes("duplicate column name"))throw $}try{this.db.exec("ALTER TABLE messages ADD COLUMN data TEXT")}catch($){if(!($?.message??"").includes("duplicate column name"))throw $}this.db.exec(`
33
- CREATE TABLE IF NOT EXISTS run_metrics (
34
- id TEXT PRIMARY KEY,
35
- session_id TEXT NOT NULL,
36
- turn_count INTEGER,
37
- input_tokens INTEGER,
38
- output_tokens INTEGER,
39
- total_tokens INTEGER,
40
- estimated_cost REAL,
41
- wall_time_ms INTEGER,
42
- tool_count INTEGER,
43
- guardrail_fires INTEGER,
44
- handoff_count INTEGER,
45
- created_at TEXT DEFAULT (datetime('now')),
46
- FOREIGN KEY (session_id) REFERENCES sessions(id)
47
- );
48
-
49
- CREATE INDEX IF NOT EXISTS idx_run_metrics_session ON run_metrics(session_id);
50
- `),this.db.exec(`
51
- CREATE TABLE IF NOT EXISTS session_runtime_state (
52
- session_id TEXT PRIMARY KEY,
53
- state_status TEXT NOT NULL DEFAULT 'idle',
54
- active_run_id TEXT,
55
- paused_state_json TEXT,
56
- policy_snapshot_json TEXT,
57
- last_event_seq INTEGER NOT NULL DEFAULT 0,
58
- revision INTEGER NOT NULL DEFAULT 0,
59
- lease_owner TEXT,
60
- lease_expires_at TEXT,
61
- updated_at TEXT NOT NULL DEFAULT (datetime('now')),
62
- FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE CASCADE
63
- );
64
-
65
- CREATE TABLE IF NOT EXISTS session_interactions (
66
- interaction_id TEXT PRIMARY KEY,
67
- session_id TEXT NOT NULL,
68
- request_id TEXT NOT NULL,
69
- source TEXT NOT NULL,
70
- kind TEXT NOT NULL,
71
- status TEXT NOT NULL,
72
- prompt_json TEXT NOT NULL,
73
- response_json TEXT,
74
- created_at TEXT NOT NULL,
75
- answered_at TEXT,
76
- applied_at TEXT,
77
- FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE CASCADE
78
- );
79
-
80
- CREATE INDEX IF NOT EXISTS idx_session_runtime_state_status
81
- ON session_runtime_state(state_status, updated_at DESC);
82
- CREATE INDEX IF NOT EXISTS idx_session_interactions_session
83
- ON session_interactions(session_id, created_at DESC);
84
- CREATE INDEX IF NOT EXISTS idx_session_interactions_status
85
- ON session_interactions(status, created_at DESC);
86
- `),this.initializeSessionFts();try{this.db.pragma("wal_checkpoint(PASSIVE)")}catch{}}initializeSessionFts(){try{this.db.exec(`
87
- CREATE VIRTUAL TABLE IF NOT EXISTS fts_session_messages USING fts5(
88
- message_id UNINDEXED,
89
- session_id UNINDEXED,
90
- content
91
- );
92
-
93
- CREATE TRIGGER IF NOT EXISTS trg_messages_ai_fts
94
- AFTER INSERT ON messages BEGIN
95
- INSERT INTO fts_session_messages (message_id, session_id, content)
96
- VALUES (new.id, new.session_id, new.content);
97
- END;
98
-
99
- CREATE TRIGGER IF NOT EXISTS trg_messages_au_fts
100
- AFTER UPDATE OF content, session_id ON messages BEGIN
101
- DELETE FROM fts_session_messages WHERE message_id = old.id;
102
- INSERT INTO fts_session_messages (message_id, session_id, content)
103
- VALUES (new.id, new.session_id, new.content);
104
- END;
105
-
106
- CREATE TRIGGER IF NOT EXISTS trg_messages_ad_fts
107
- AFTER DELETE ON messages BEGIN
108
- DELETE FROM fts_session_messages WHERE message_id = old.id;
109
- END;
110
- `);let $=this.db.prepare("SELECT COUNT(*) as c FROM messages").get().c;if(this.db.prepare("SELECT COUNT(*) as c FROM fts_session_messages").get().c<$)this.db.exec(`
111
- INSERT INTO fts_session_messages (message_id, session_id, content)
112
- SELECT m.id, m.session_id, m.content
113
- FROM messages m
114
- LEFT JOIN fts_session_messages f ON f.message_id = m.id
115
- WHERE f.message_id IS NULL;
116
- `);this.sessionFtsEnabled=!0}catch($){this.sessionFtsEnabled=!1,o9.warn("[SessionHistory] Session FTS disabled:",$?.message??String($))}}toFtsPrefixQuery($){return $.trim().split(/\s+/).filter(Boolean).map((H)=>`"${H.replace(/"/g,'""')}"*`).join(" AND ")}withImmediateTransaction($){this.db.exec("BEGIN IMMEDIATE");try{let H=$();return this.db.exec("COMMIT"),H}catch(H){try{this.db.exec("ROLLBACK")}catch{}throw H}}ensureSessionRuntimeRow($){let H=new Date().toISOString();this.db.prepare(`INSERT INTO session_runtime_state (
117
- session_id,
118
- state_status,
119
- last_event_seq,
120
- revision,
121
- updated_at
122
- ) VALUES (?, 'idle', 0, 0, ?)
123
- ON CONFLICT(session_id) DO NOTHING`).run($,H)}readSessionRuntimeStateRow($){return this.ensureSessionRuntimeRow($),this.db.prepare("SELECT * FROM session_runtime_state WHERE session_id = ?").get($)??null}parseJsonColumn($,H,K){if(!H)return K;try{return JSON.parse(H)}catch{return o9.warn(`[SessionHistory] Corrupted ${$} JSON, using fallback value`),K}}toSessionRuntimeState($){if(!$)return null;return{sessionId:$.session_id,stateStatus:$.state_status,activeRunId:$.active_run_id,pausedState:this.parseJsonColumn("paused_state_json",$.paused_state_json,null),policySnapshot:this.parseJsonColumn("policy_snapshot_json",$.policy_snapshot_json,null),lastEventSeq:$.last_event_seq,revision:$.revision,leaseOwner:$.lease_owner,leaseExpiresAt:$.lease_expires_at,updatedAt:$.updated_at}}toSessionInteractionRecord($){if(!$)return null;return{interactionId:$.interaction_id,sessionId:$.session_id,requestId:$.request_id,source:$.source,kind:$.kind,status:$.status,prompt:this.parseJsonColumn("prompt_json",$.prompt_json,{}),response:this.parseJsonColumn("response_json",$.response_json,null),createdAt:$.created_at,answeredAt:$.answered_at,appliedAt:$.applied_at}}assertSessionMutationGuard($,H,K){let J=Date.now(),Z=$.lease_expires_at?Date.parse($.lease_expires_at):null;if(H&&$.lease_owner&&$.lease_owner!==H&&Z!==null&&Number.isFinite(Z)&&Z>J)throw Error(`Session ${$.session_id} is leased by ${$.lease_owner} until ${$.lease_expires_at}`);if(K!==void 0&&$.revision!==K)throw Error(`Session ${$.session_id} revision mismatch: expected ${K}, got ${$.revision}`)}createSession($,H,K){K??=xX.randomUUID();let J=new Date().toISOString();return this.withImmediateTransaction(()=>{this.db.prepare(`
124
- INSERT INTO sessions (id, created_at, updated_at, arion, model, message_count)
125
- VALUES (?, ?, ?, ?, ?, 0)
126
- `).run(K,J,J,$,H),this.db.prepare(`INSERT INTO session_runtime_state (
127
- session_id,
128
- state_status,
129
- last_event_seq,
130
- revision,
131
- updated_at
132
- ) VALUES (?, 'idle', 0, 0, ?)`).run(K,J)}),K}forkSession($,H){let K=this.db.prepare("SELECT * FROM sessions WHERE id = ?").get($);if(!K)throw Error(`Source session not found: ${$}`);let J=xX.randomUUID(),Z=new Date().toISOString(),X=H?.title??(K.title?`\uD83C\uDF74 ${K.title}`:"\uD83C\uDF74 Forked session"),Q=H?.messageLimit!==void 0&&H.messageLimit>=0?this.db.prepare("SELECT * FROM messages WHERE session_id = ? ORDER BY id ASC LIMIT ?"):this.db.prepare("SELECT * FROM messages WHERE session_id = ? ORDER BY id ASC"),G=H?.messageLimit!==void 0&&H.messageLimit>=0?Q.all($,H.messageLimit):Q.all($);return this.withImmediateTransaction(()=>{if(this.db.prepare(`INSERT INTO sessions (id, created_at, updated_at, arion, model, message_count, title)
133
- VALUES (?, ?, ?, ?, ?, ?, ?)`).run(J,Z,Z,K.arion,K.model,G.length,X),this.db.prepare(`INSERT INTO session_runtime_state (
134
- session_id, state_status, last_event_seq, revision, updated_at
135
- ) VALUES (?, 'idle', 0, 0, ?)`).run(J,Z),G.length>0){let Y=this.db.prepare(`INSERT INTO messages (session_id, role, content, arion, tool_call_id, tool_calls, thinking, data, created_at)
136
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`);for(let z of G)Y.run(J,z.role,z.content,z.arion,z.tool_call_id,z.tool_calls,z.thinking,z.data,z.created_at)}}),{newSessionId:J,sourceSessionId:$,messagesCopied:G.length,title:X}}addMessage($,H,K,J){try{let Z=new Date().toISOString(),X=J?.arion??null,Q=J?.toolCallId??null,G=J?.toolCalls?JSON.stringify(J.toolCalls):null,Y=J?.thinking?JSON.stringify(J.thinking):null;this.db.transaction(()=>{this.db.prepare(`INSERT INTO messages (session_id, role, content, arion, tool_call_id, tool_calls, thinking, created_at)
137
- VALUES (?, ?, ?, ?, ?, ?, ?, ?)`).run($,H,K,X,Q,G,Y,Z),this.db.prepare(`UPDATE sessions
138
- SET updated_at = ?,
139
- message_count = message_count + 1,
140
- title = COALESCE(title, CASE WHEN ? = 'user' THEN substr(?, 1, 60) END)
141
- WHERE id = ?`).run(Z,H,K,$)})()}catch(Z){o9.warn("[SessionHistory] Failed to persist message:",Z?.message??Z)}}addConversationMessage($,H){try{let K=new Date().toISOString(),J=u8(H);if(H.role==="tool"&&!J){let W=H.content.find((F)=>F.type==="tool_result");if(W&&W.type==="tool_result")J=W.content}let Z=H.arion?.name??null,X=n8(H),Q=r8(H),G=a8(H),Y=JSON.stringify(H);this.db.transaction(()=>{this.db.prepare(`INSERT INTO messages (session_id, role, content, arion, tool_call_id, tool_calls, thinking, data, created_at)
142
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`).run($,H.role,J,Z,X,Q,G,Y,K),this.db.prepare(`UPDATE sessions
143
- SET updated_at = ?,
144
- message_count = message_count + 1,
145
- title = COALESCE(title, CASE WHEN ? = 'user' THEN substr(?, 1, 60) END)
146
- WHERE id = ?`).run(K,H.role,J,$)})(),this.incrementalSessions.add($)}catch(K){o9.warn("[SessionHistory] Failed to persist conversation message:",K?.message??K)}}addConversationMessages($,H){if(H.length===0)return;if(H.length===1){this.addConversationMessage($,H[0]);return}try{let K=new Date().toISOString(),J=this.db.prepare(`INSERT INTO messages (session_id, role, content, arion, tool_call_id, tool_calls, thinking, data, created_at)
147
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`),Z=this.db.prepare(`UPDATE sessions
148
- SET updated_at = ?,
149
- message_count = message_count + ?,
150
- title = COALESCE(title, CASE WHEN ? = 'user' THEN substr(?, 1, 60) END)
151
- WHERE id = ?`);this.db.transaction(()=>{let Q=null;for(let G of H){let Y=u8(G);if(G.role==="tool"&&!Y){let U=G.content.find((R)=>R.type==="tool_result");if(U&&U.type==="tool_result")Y=U.content}if(G.role==="user"&&!Q)Q=Y;let z=G.arion?.name??null,W=n8(G),F=r8(G),q=a8(G),A=JSON.stringify(G);J.run($,G.role,Y,z,W,F,q,A,K)}Z.run(K,H.length,Q?"user":"assistant",Q??"",$)})()}catch(K){o9.warn("[SessionHistory] Failed to persist conversation messages batch:",K?.message??K)}}replaceConversationMessages($,H){if(this.incrementalSessions.has($))return;try{let K=performance.now(),J=this.db.prepare("SELECT COUNT(*) as cnt FROM messages WHERE session_id = ?").get($)?.cnt??0,Z=performance.now();F1(`SessionHistory:replaceConversationMessages(del=${J},ins=${H.length})`);let X=new Date().toISOString(),Q=this.db.prepare(`INSERT INTO messages (session_id, role, content, arion, tool_call_id, tool_calls, thinking, data, created_at)
152
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`);this.db.transaction(()=>{this.db.prepare("DELETE FROM messages WHERE session_id = ?").run($);let z=null;for(let W of H){let F=u8(W);if(W.role==="tool"&&!F){let q=W.content.find((A)=>A.type==="tool_result");if(q&&q.type==="tool_result")F=q.content}if(W.role==="user"&&!z)z=F;Q.run($,W.role,F,W.arion?.name??null,n8(W),r8(W),a8(W),JSON.stringify(W),X)}this.db.prepare(`UPDATE sessions
153
- SET updated_at = ?,
154
- message_count = ?,
155
- title = CASE
156
- WHEN ? IS NOT NULL AND length(?) > 0 THEN substr(?, 1, 60)
157
- ELSE title
158
- END
159
- WHERE id = ?`).run(X,H.length,z,z,z,$)})();let Y=performance.now()-K;if(i9(),process.env.DEBUG&&(Y>200||J>500))try{process.stderr.write(`[SessionHistory][DIAG] replaceConversationMessages: total=${Y.toFixed(0)}ms (count=${(Z-K).toFixed(0)}ms txn=${(Y-(Z-K)).toFixed(0)}ms) existingRows=${J} newRows=${H.length} session=${$}
160
- `)}catch{}}catch(K){i9(),o9.warn("[SessionHistory] Failed to replace conversation messages batch:",K?.message??K)}}loadSessionMessages($){let H=this.db.prepare("SELECT * FROM sessions WHERE id = ?").get($);if(!H)return null;let J=this.db.prepare("SELECT * FROM messages WHERE session_id = ? ORDER BY id ASC").all($).map((Z)=>{if(Z.data)try{let X=JSON.parse(Z.data),Q=E5.safeParse(X);if(Q.success)return Q.data;return o9.warn(`[loadSessionMessages] Schema validation failed for message row ${Z.id} (session ${$}), falling back to v1 columns`),x8(Z)}catch{return o9.warn(`[loadSessionMessages] Corrupted data column in message row ${Z.id} (session ${$}), falling back to v1 columns`),x8(Z)}return x8(Z)});return{id:H.id,arion:H.arion,model:H.model,messages:J}}loadSession($){let H=this.loadSessionMessages($);if(!H)return null;let K=this.toSessionRuntimeState(this.readSessionRuntimeStateRow($)),J=this.db.prepare(`SELECT * FROM session_interactions
161
- WHERE session_id = ?
162
- AND status = 'pending'
163
- ORDER BY created_at DESC
164
- LIMIT 1`).get($)??null;return{session:H,runtimeState:K,pendingInteraction:this.toSessionInteractionRecord(J)}}getSessionRuntimeState($){return this.toSessionRuntimeState(this.readSessionRuntimeStateRow($))}getInteraction($){let H=this.db.prepare("SELECT * FROM session_interactions WHERE interaction_id = ?").get($)??null;return this.toSessionInteractionRecord(H)}claimSessionForMutation($,H,K){if(!H.trim())throw Error("claimSessionForMutation requires a non-empty ownerId");if(!Number.isFinite(K)||K<=0)throw Error("claimSessionForMutation requires a positive staleAfterMs");return this.withImmediateTransaction(()=>{let J=this.readSessionRuntimeStateRow($);if(!J)throw Error(`Session ${$} not found`);this.assertSessionMutationGuard(J,H);let Z=new Date().toISOString(),X=new Date(Date.now()+K).toISOString();return this.db.prepare(`UPDATE session_runtime_state
165
- SET lease_owner = ?,
166
- lease_expires_at = ?,
167
- updated_at = ?
168
- WHERE session_id = ?`).run(H,X,Z,$),this.toSessionRuntimeState(this.readSessionRuntimeStateRow($))})}recordPausedRun($,H,K,J,Z,X){return this.withImmediateTransaction(()=>{let Q=this.readSessionRuntimeStateRow($);if(!Q)throw Error(`Session ${$} not found`);this.assertSessionMutationGuard(Q,X?.ownerId,X?.expectedRevision);let G=new Date().toISOString(),Y=Q.revision+1;if(this.db.prepare(`UPDATE session_runtime_state
169
- SET state_status = 'paused',
170
- active_run_id = ?,
171
- paused_state_json = ?,
172
- policy_snapshot_json = ?,
173
- last_event_seq = ?,
174
- revision = ?,
175
- updated_at = ?
176
- WHERE session_id = ?`).run(H,JSON.stringify(K),JSON.stringify(J),X?.lastEventSeq??Q.last_event_seq,Y,G,$),Z)this.db.prepare(`INSERT INTO session_interactions (
177
- interaction_id,
178
- session_id,
179
- request_id,
180
- source,
181
- kind,
182
- status,
183
- prompt_json,
184
- created_at
185
- ) VALUES (?, ?, ?, ?, ?, 'pending', ?, ?)`).run(Z.interactionId,$,Z.requestId,Z.source,Z.kind,JSON.stringify(Z.prompt),G);return this.toSessionRuntimeState(this.readSessionRuntimeStateRow($))})}recordInteractionResponse($,H,K,J){return this.withImmediateTransaction(()=>{let Z=this.readSessionRuntimeStateRow($);if(!Z)throw Error(`Session ${$} not found`);this.assertSessionMutationGuard(Z,J?.ownerId,J?.expectedRevision);let X=this.db.prepare(`SELECT * FROM session_interactions
186
- WHERE session_id = ?
187
- AND interaction_id = ?`).get($,H)??null;if(!X)throw Error(`Interaction ${H} not found for session ${$}`);if(X.status!=="pending")throw Error(`Interaction ${H} is not pending (current status: ${X.status})`);let Q=new Date().toISOString();this.db.prepare(`UPDATE session_interactions
188
- SET status = 'answered',
189
- response_json = ?,
190
- answered_at = ?
191
- WHERE interaction_id = ?`).run(JSON.stringify(K),Q,H),this.db.prepare(`UPDATE session_runtime_state
192
- SET revision = revision + 1,
193
- updated_at = ?
194
- WHERE session_id = ?`).run(Q,$);let G=this.db.prepare("SELECT * FROM session_interactions WHERE interaction_id = ?").get(H)??null;return this.toSessionInteractionRecord(G)})}cancelInteraction($,H,K){return this.withImmediateTransaction(()=>{let J=this.readSessionRuntimeStateRow($);if(!J)throw Error(`Session ${$} not found`);this.assertSessionMutationGuard(J,K?.ownerId,K?.expectedRevision);let Z=this.db.prepare(`SELECT * FROM session_interactions
195
- WHERE session_id = ?
196
- AND interaction_id = ?`).get($,H)??null;if(!Z)throw Error(`Interaction ${H} not found for session ${$}`);if(Z.status!=="pending")throw Error(`Interaction ${H} is not pending (current status: ${Z.status})`);let X=new Date().toISOString();this.db.prepare(`UPDATE session_interactions
197
- SET status = 'canceled',
198
- answered_at = ?
199
- WHERE interaction_id = ?`).run(X,H),this.db.prepare(`UPDATE session_runtime_state
200
- SET state_status = 'completed',
201
- active_run_id = NULL,
202
- paused_state_json = NULL,
203
- policy_snapshot_json = NULL,
204
- revision = revision + 1,
205
- updated_at = ?
206
- WHERE session_id = ?`).run(X,$),this.db.prepare(`UPDATE sessions
207
- SET completed_at = COALESCE(completed_at, ?),
208
- updated_at = ?
209
- WHERE id = ?`).run(X,X,$);let Q=this.db.prepare("SELECT * FROM session_interactions WHERE interaction_id = ?").get(H)??null;return this.toSessionInteractionRecord(Q)})}completeRun($,H,K){return this.withImmediateTransaction(()=>{let J=this.readSessionRuntimeStateRow($);if(!J)throw Error(`Session ${$} not found`);this.assertSessionMutationGuard(J,K?.ownerId,K?.expectedRevision);let Z=new Date().toISOString();return this.db.prepare(`UPDATE session_runtime_state
210
- SET state_status = 'completed',
211
- active_run_id = NULL,
212
- paused_state_json = NULL,
213
- policy_snapshot_json = NULL,
214
- revision = revision + 1,
215
- updated_at = ?
216
- WHERE session_id = ?`).run(Z,$),this.db.prepare(`UPDATE session_interactions
217
- SET status = CASE WHEN response_json IS NULL THEN 'expired' ELSE 'applied' END,
218
- answered_at = COALESCE(answered_at, ?),
219
- applied_at = CASE WHEN response_json IS NULL THEN applied_at ELSE ? END
220
- WHERE session_id = ?
221
- AND status IN ('pending', 'answered')`).run(Z,Z,$),this.db.prepare(`UPDATE sessions
222
- SET completed_at = COALESCE(completed_at, ?),
223
- updated_at = ?
224
- WHERE id = ?`).run(Z,Z,$),this.toSessionRuntimeState(this.readSessionRuntimeStateRow($))})}releaseSessionClaim($,H){this.withImmediateTransaction(()=>{let K=this.readSessionRuntimeStateRow($);if(!K)throw Error(`Session ${$} not found`);if(K.lease_owner&&K.lease_owner!==H)throw Error(`Cannot release session ${$} lease owned by ${K.lease_owner} with ${H}`);let J=new Date().toISOString();this.db.prepare(`UPDATE session_runtime_state
225
- SET lease_owner = NULL,
226
- lease_expires_at = NULL,
227
- updated_at = ?
228
- WHERE session_id = ?`).run(J,$)})}listSessions($=20,H=0){return this.db.prepare(`
229
- SELECT
230
- s.*,
231
- COALESCE(s.title, '') as preview
232
- FROM sessions s
233
- WHERE s.message_count > 0
234
- ORDER BY s.updated_at DESC, s.rowid DESC
235
- LIMIT ? OFFSET ?
236
- `).all($,H).map((J)=>({id:J.id,createdAt:new Date(J.created_at),updatedAt:new Date(J.updated_at),completedAt:J.completed_at?new Date(J.completed_at):void 0,title:J.title,arion:J.arion,model:J.model,messageCount:J.message_count,preview:this.truncatePreview(J.preview??"",60)}))}searchSessions($,H=20,K=0){let Z=`%${$.replace(/[%_\\]/g,"\\$&")}%`;return this.db.prepare(`
237
- SELECT DISTINCT
238
- s.*,
239
- (SELECT content FROM messages WHERE session_id = s.id AND role = 'user' ORDER BY id LIMIT 1) as preview
240
- FROM sessions s
241
- LEFT JOIN messages m ON m.session_id = s.id
242
- WHERE s.message_count > 0
243
- AND (s.title LIKE ? ESCAPE '\\' OR m.content LIKE ? ESCAPE '\\')
244
- ORDER BY s.updated_at DESC, s.rowid DESC
245
- LIMIT ? OFFSET ?
246
- `).all(Z,Z,H,K).map((Q)=>({id:Q.id,createdAt:new Date(Q.created_at),updatedAt:new Date(Q.updated_at),completedAt:Q.completed_at?new Date(Q.completed_at):void 0,title:Q.title,arion:Q.arion,model:Q.model,messageCount:Q.message_count,preview:this.truncatePreview(Q.preview??"",60)}))}searchSessionsFts($,H=100,K=0){let J=$.trim();if(!J)return[];if(!this.sessionFtsEnabled)return this.searchSessions(J,H,K);let Z=this.toFtsPrefixQuery(J);if(!Z)return[];try{return this.db.prepare(`
247
- WITH matched AS (
248
- SELECT session_id, MIN(bm25(fts_session_messages)) as rank
249
- FROM fts_session_messages
250
- WHERE fts_session_messages MATCH ?
251
- GROUP BY session_id
252
- )
253
- SELECT
254
- s.*,
255
- COALESCE(s.title, '') as preview
256
- FROM matched m
257
- JOIN sessions s ON s.id = m.session_id
258
- WHERE s.message_count > 0
259
- ORDER BY m.rank ASC, s.updated_at DESC, s.rowid DESC
260
- LIMIT ? OFFSET ?
261
- `).all(Z,H,K).map((Q)=>({id:Q.id,createdAt:new Date(Q.created_at),updatedAt:new Date(Q.updated_at),completedAt:Q.completed_at?new Date(Q.completed_at):void 0,title:Q.title,arion:Q.arion,model:Q.model,messageCount:Q.message_count,preview:this.truncatePreview(Q.preview??"",60)}))}catch(X){return this.searchSessions(J,H,K)}}searchSessionSummaries($,H=100,K=0){let Z=`%${$.replace(/[%_\\]/g,"\\$&")}%`;return this.db.prepare(`
262
- SELECT
263
- s.*,
264
- COALESCE(s.title, '') as preview
265
- FROM sessions s
266
- WHERE s.message_count > 0
267
- AND (
268
- s.title LIKE ? ESCAPE '\\'
269
- OR s.arion LIKE ? ESCAPE '\\'
270
- OR s.model LIKE ? ESCAPE '\\'
271
- OR s.id LIKE ? ESCAPE '\\'
272
- )
273
- ORDER BY s.updated_at DESC, s.rowid DESC
274
- LIMIT ? OFFSET ?
275
- `).all(Z,Z,Z,Z,H,K).map((Q)=>({id:Q.id,createdAt:new Date(Q.created_at),updatedAt:new Date(Q.updated_at),completedAt:Q.completed_at?new Date(Q.completed_at):void 0,title:Q.title,arion:Q.arion,model:Q.model,messageCount:Q.message_count,preview:this.truncatePreview(Q.preview??"",60)}))}getSession($){let H=this.db.prepare(`
276
- SELECT * FROM sessions WHERE id = ?
277
- `).get($);if(!H)return null;let K=this.db.prepare(`
278
- SELECT * FROM messages WHERE session_id = ? ORDER BY id ASC
279
- `).all($);return{id:H.id,arion:H.arion,model:H.model,messages:K.map((J)=>({id:J.id,role:J.role,content:J.content,arion:J.arion??void 0,toolCallId:J.tool_call_id??void 0,toolCalls:J.tool_calls?(()=>{try{return JSON.parse(J.tool_calls)}catch{o9.warn(`[getSession] Corrupted tool_calls JSON in message row ${J.id} (session ${$})`);return}})():void 0,thinking:J.thinking?(()=>{try{return JSON.parse(J.thinking)}catch{o9.warn(`[getSession] Corrupted thinking JSON in message row ${J.id} (session ${$})`);return}})():void 0,createdAt:new Date(J.created_at)}))}}deleteSession($){this.db.prepare("DELETE FROM sessions WHERE id = ?").run($)}setSessionTitle($,H){try{this.db.prepare("UPDATE sessions SET title = ? WHERE id = ?").run(H,$)}catch(K){o9.warn("[SessionHistory] Failed to set session title:",K?.message??K)}}markCompleted($){try{let H=new Date().toISOString();this.withImmediateTransaction(()=>{this.db.prepare(`UPDATE sessions
280
- SET completed_at = COALESCE(completed_at, ?),
281
- updated_at = ?
282
- WHERE id = ?`).run(H,H,$),this.ensureSessionRuntimeRow($),this.db.prepare(`UPDATE session_runtime_state
283
- SET state_status = 'completed',
284
- active_run_id = NULL,
285
- paused_state_json = NULL,
286
- policy_snapshot_json = NULL,
287
- lease_owner = NULL,
288
- lease_expires_at = NULL,
289
- revision = revision + 1,
290
- updated_at = ?
291
- WHERE session_id = ?`).run(H,$)})}catch(H){o9.warn("[SessionHistory] Failed to mark session completed:",H?.message??H)}}markStaleSessionsCompleted($){try{let H=new Date(Date.now()-$*86400000).toISOString(),K=new Date().toISOString();return this.db.prepare(`UPDATE sessions
292
- SET completed_at = COALESCE(completed_at, ?),
293
- updated_at = ?
294
- WHERE completed_at IS NULL
295
- AND message_count > 0
296
- AND updated_at < ?`).run(K,K,H).changes}catch(H){return o9.warn("[SessionHistory] Failed to mark stale sessions completed:",H?.message??H),0}}getIncompleteSessions($=10){return this.db.prepare(`
297
- SELECT
298
- s.*,
299
- (SELECT content FROM messages WHERE session_id = s.id AND role = 'user' ORDER BY id LIMIT 1) as preview
300
- FROM sessions s
301
- WHERE s.message_count > 0
302
- AND s.completed_at IS NULL
303
- ORDER BY s.updated_at DESC, s.rowid DESC
304
- LIMIT ?
305
- `).all($).map((K)=>({id:K.id,createdAt:new Date(K.created_at),updatedAt:new Date(K.updated_at),completedAt:K.completed_at?new Date(K.completed_at):void 0,title:K.title,arion:K.arion,model:K.model,messageCount:K.message_count,preview:this.truncatePreview(K.preview??"",60)}))}findSessionByPrefix($){if($.length===36)return this.db.prepare("SELECT id FROM sessions WHERE id = ? AND message_count > 0").get($)?.id??null;if($.length<8)return null;let H=this.db.prepare("SELECT id FROM sessions WHERE id LIKE ? AND message_count > 0 LIMIT 2").all(`${$}%`);return H.length===1?H[0].id:null}getSessionCount(){return this.db.prepare("SELECT COUNT(*) as count FROM sessions WHERE message_count > 0").get()?.count??0}truncatePreview($,H){if($.length<=H)return $;return $.slice(0,H-3)+"..."}addInputHistory($){try{let H=new Date().toISOString();this.db.prepare(`
306
- INSERT INTO input_history (content, used_at)
307
- VALUES (?, ?)
308
- ON CONFLICT(content) DO UPDATE SET used_at = excluded.used_at
309
- `).run($,H),this.db.prepare(`
310
- DELETE FROM input_history
311
- WHERE id NOT IN (
312
- SELECT id FROM input_history ORDER BY used_at DESC LIMIT 500
313
- )
314
- `).run()}catch(H){o9.warn("[SessionHistory] Failed to save input history:",H?.message??H)}}getInputHistory($=100){return this.db.prepare(`
315
- SELECT content FROM input_history
316
- ORDER BY used_at DESC
317
- LIMIT ?
318
- `).all($).map((K)=>K.content)}saveRunMetrics($,H){try{this.db.prepare(`INSERT INTO run_metrics (id, session_id, turn_count, input_tokens, output_tokens, total_tokens, estimated_cost, wall_time_ms, tool_count, guardrail_fires, handoff_count)
319
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(H.id,$,H.turnCount??null,H.inputTokens??null,H.outputTokens??null,H.totalTokens??null,H.estimatedCost??null,H.wallTimeMs??null,H.toolCount??null,H.guardrailFires??null,H.handoffCount??null)}catch(K){o9.warn("[SessionHistory] Failed to save run metrics:",K?.message??K)}}getRunMetrics($){return this.db.prepare("SELECT * FROM run_metrics WHERE session_id = ? ORDER BY created_at ASC").all($).map((K)=>({id:K.id,sessionId:K.session_id,turnCount:K.turn_count??void 0,inputTokens:K.input_tokens??void 0,outputTokens:K.output_tokens??void 0,totalTokens:K.total_tokens??void 0,estimatedCost:K.estimated_cost??void 0,wallTimeMs:K.wall_time_ms??void 0,toolCount:K.tool_count??void 0,guardrailFires:K.guardrail_fires??void 0,handoffCount:K.handoff_count??void 0,createdAt:K.created_at}))}close(){try{this.db.pragma("wal_checkpoint(TRUNCATE)")}catch{}this.db.close()}}var uX=t(()=>{c5();H7()});function xq($){return typeof $!=="string"||$.trim().length>0}function uq($){let{toolCalls:H,...K}=$;return K}function rq($,H,K){for(let J=H;J<$.length;J++){let Z=$[J];if(Z.role==="tool"&&Z.toolCallId===K)return!0}return!1}function k3($){let H=[];for(let K=0;K<$.length;K++){let J=$[K];if(J.role==="assistant"&&J.toolCalls?.length){let Z=new Set(J.toolCalls.map((W)=>W.id)),X=new Set,Q=[],G=K+1;while(G<$.length&&$[G].role==="tool"){let W=$[G];if(W.toolCallId&&Z.has(W.toolCallId)&&!X.has(W.toolCallId))X.add(W.toolCallId),Q.push(W);G++}let Y=J.toolCalls.filter((W)=>{if(X.has(W.id))return!0;return!rq($,G,W.id)}),z=Y.filter((W)=>!X.has(W.id));if(Y.length===J.toolCalls.length)H.push(J);else if(Y.length>0)H.push({...J,toolCalls:Y});else if(xq(J.content))H.push(uq(J));H.push(...Q);for(let W of z)H.push({role:"tool",content:`[Tool execution interrupted — no result for ${W.name}]`,toolCallId:W.id});K=G-1;continue}if(J.role==="tool")continue;H.push(J)}return H}class D${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 H=Array.isArray($.blocks)&&$.blocks.length>0?$.blocks[0]:void 0,K=typeof H?.thinking==="string"?H.thinking:this.pendingThinkingContent,J=K.split(/\s+/).filter(Boolean).length,Z={type:"thinking",content:K,wordCount:J,durationMs:$.durationMs,verb:this.verb};return this.thinkingBlocks.push(Z),this.pendingThinkingContent="","continue"}case"tool_start":{if(this.seenToolIds.has($.id))return"continue";this.seenToolIds.add($.id);let H={type:"tool_use",id:$.id,name:$.name,arguments:$.input??{}};return this.toolUseBlocks.push(H),"continue"}case"tool_args_delta":{let K=(this.toolArgsAccumulator.get($.id)??"")+$.args;this.toolArgsAccumulator.set($.id,K);try{let J=JSON.parse(K),Z=this.toolUseBlocks.find((X)=>X.type==="tool_use"&&X.id===$.id);if(Z)Z.arguments=J}catch{}return"continue"}case"tool_result":{if($.input){let X=this.toolUseBlocks.find((Q)=>Q.type==="tool_use"&&Q.id===$.id);if(X){let Q=typeof $.input==="object"&&!Array.isArray($.input)?$.input:{};if(Object.keys(X.arguments).length===0)X.arguments=Q}}let H=$.result,K="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,J={type:"tool_result",toolUseId:$.id,content:typeof H.message==="string"?H.message:"",status:H.success===!0?"success":"error",durationMs:$.durationMs,resultData:H.data,usage:K},Z={id:crypto.randomUUID(),role:"tool",content:[J],arion:this.arion,createdAt:new Date().toISOString()};return this.toolResultMessages.push(Z),"continue"}case"handoff_start":{let H={type:"handoff",target:$.target,direction:"to"};return this.handoffBlocks.push(H),"continue"}case"handoff_result":{let H={type:"handoff",target:$.target,direction:"from"};return this.handoffBlocks.push(H),"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 J=this.pendingThinkingContent.trim(),Z=J.length===0?0:J.split(/\s+/).length,X={type:"thinking",content:this.pendingThinkingContent,wordCount:Z,verb:this.verb};this.thinkingBlocks.push(X)}let H=[];H.push(...this.thinkingBlocks);let K=this.textParts.join("");if(K)H.push({type:"text",text:K});if(H.push(...this.toolUseBlocks),H.push(...this.handoffBlocks),H.length>0){let J={id:crypto.randomUUID(),role:"assistant",content:H,arion:this.arion,tokenUsage:this.tokenUsage,createdAt:new Date().toISOString()};$.push(J)}if($.push(...this.toolResultMessages),this.toolResultMessages.length>0&&this.toolUseBlocks.length>0){let J=new Set(this.toolResultMessages.flatMap((Z)=>Z.content.filter((X)=>X.type==="tool_result").map((X)=>X.toolUseId)));for(let Z of this.toolUseBlocks){let X=Z.id;if(X&&!J.has(X)){let Q={id:crypto.randomUUID(),role:"tool",content:[{type:"tool_result",toolUseId:X,content:"Tool execution cancelled by user.",status:"error"}],arion:this.arion,createdAt:new Date().toISOString()};$.push(Q)}}}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((J)=>({...J}))),this.thinkingInProgress&&this.pendingThinkingContent){let J=this.pendingThinkingContent,Z={type:"thinking",content:J,wordCount:J.split(/\s+/).filter(Boolean).length,verb:this.verb};$.push(Z)}let H=this.textParts.join("");if(H){let J=H.lastIndexOf(`
320
- `);if(J>=0)$.push({type:"text",text:H.slice(0,J+1)})}for(let J of this.toolUseBlocks){let Z={...J};if(Z.type==="tool_use"&&Object.keys(Z.arguments).length===0){let X=this.toolArgsAccumulator.get(Z.id);if(X){let Q=D$.tryParsePartialArgs(X);if(Q)Z.arguments=Q}}$.push(Z)}$.push(...this.handoffBlocks.map((J)=>({...J})));let K=[];if($.length>0)K.push({id:this.previewAssistantId,role:"assistant",content:$,arion:this.arion,createdAt:new Date().toISOString()});return K.push(...this.toolResultMessages.map((J)=>({...J,content:[...J.content]}))),K}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 H=$.trim();if(!H.startsWith("{")||H.length<4)return;try{return JSON.parse(H)}catch{}try{let K=JSON.parse(H+"}");if(Object.keys(K).length>0)return K}catch{}try{let K=JSON.parse(H+'"}');if(Object.keys(K).length>0)return K}catch{}for(let K=H.length-1;K>0;K--)if(H[K]===",")try{let J=JSON.parse(H.slice(0,K)+"}");if(Object.keys(J).length>0)return J}catch{}return}}import{readFileSync as aq,existsSync as FK}from"node:fs";function PK($){if(!FK($))return[];let K=aq($,"utf-8").split(`
321
- `).filter((X)=>X.trim().length>0),J=new D$,Z=[];for(let X of K){let Q;try{Q=JSON.parse(X)}catch{continue}if(!Q.event||typeof Q.event.type!=="string")continue;if(Q.event.type==="user_message"){if(J.hasPendingContent())Z.push(...J.flush());let Y=Q.event.content??"",z=Q.event.id,W=p8(Y);if(z)W.id=z;Z.push(W);continue}if(J.ingest(Q.event)==="flush"){let Y=J.flush();Z.push(...Y)}}if(J.hasPendingContent()){let X=J.flush();Z.push(...X)}return Z}function rX($){for(let K of $.content){if(K.type==="tool_use"&&K.id)return`tool_use:${K.id}`;if(K.type==="tool_result"&&K.toolUseId)return`tool_result:${K.toolUseId}`}let H=$.content.filter((K)=>K.type==="text").map((K)=>K.text).join("");return`${$.role}:${H}`}function d5($,H){if(!H)return{messages:$,backfillMessages:[]};let K;try{K=PK(H)}catch{return{messages:$,backfillMessages:[]}}if(K.length===0)return{messages:$,backfillMessages:[]};if($.length>=K.length)return{messages:$,backfillMessages:[]};let J=new Set($.map(rX)),Z=[];for(let Q of K){let G=rX(Q);if(!J.has(G))Z.push(Q)}return{messages:[...$,...Z],backfillMessages:Z}}function p5($,H,K){let J=`${$}/arions/${H}/logs/${K}.jsonl`;if(FK(J))return J;let Z=`${$}/logs/${K}.jsonl`;if(FK(Z))return Z;return null}var aX=t(()=>{H7()});var nq={};I3(nq,{toModelMessages:()=>m5,replaySessionFromJsonl:()=>PK,repairToolCallPairing:()=>k3,mergeWithJsonlRecovery:()=>d5,fromV1Columns:()=>x8,fromModelMessages:()=>l8,findJsonlForSession:()=>p5,extractToolCalls:()=>r8,extractToolCallId:()=>n8,extractThinking:()=>a8,extractTextContent:()=>u8,createUserMessage:()=>p8,createSystemMessage:()=>r,createIncomingMessagePair:()=>j5,createErrorMessage:()=>e,conversationMessageToHistoryMessages:()=>lX,TurnAccumulator:()=>D$,SessionHistory:()=>S3,ConversationMessageSchema:()=>E5,ContentBlockSchema:()=>_K,ArionRefSchema:()=>qK});var l5=t(()=>{uX();H7();aX()});import{readFile as iq}from"fs/promises";import{join as nX}from"path";import{homedir as oq}from"os";async function iX($){try{let H=await iq($,"utf-8"),K=JSON.parse(H);if(K.mcp?.servers){for(let J of K.mcp.servers)if(J.env){for(let[Z,X]of Object.entries(J.env))if(typeof X==="string"&&X.startsWith("${")&&X.endsWith("}")){let Q=X.slice(2,-1);J.env[Z]=process.env[Q]||""}}}if(K.mcp?.servers)for(let J of K.mcp.servers){if(!J.name||typeof J.name!=="string")throw Error('Invalid MCP server config: missing "name" field');if(!J.transport)throw Error(`MCP server "${J.name}": missing "transport" field`);if(J.transport&&!["stdio","sse"].includes(J.transport))throw Error(`MCP server "${J.name}": unknown transport "${J.transport}"`);if(J.transport==="stdio"&&!J.command)throw Error(`MCP server "${J.name}": stdio transport requires "command" field`);if(J.transport==="sse"&&!J.url)throw Error(`MCP server "${J.name}": sse transport requires "url" field`)}return K}catch(H){if(H.code==="ENOENT")return null;throw H}}function oX($,H){let K=$.mcp?.servers||[],J=H.mcp?.servers||[],Z=new Set(J.map((X)=>X.name));return{mcp:{servers:[...K.filter((X)=>!Z.has(X.name)),...J]}}}async function x5($){let H={...sq},K=nX(oq(),".aria","config.json"),J=await iX(K);if(J)H=oX(H,J);if($){let Z=nX($,"aria.config.json"),X=await iX(Z);if(X)H=oX(H,X)}return H}var sq;var sX=t(()=>{sq={mcp:{servers:[]}}});function tX($){let H=AK.indexOf($);return AK[(H+1)%AK.length]}function eX($,H){let K=J7[$],J={};if(H.showThinking!==K.showThinking)J.showThinking=H.showThinking;if(H.showCosts!==K.showCosts)J.showCosts=H.showCosts;if(H.showToolArgs!==K.showToolArgs)J.showToolArgs=H.showToolArgs;if(H.toolOutput!==K.toolOutput)J.toolOutput=H.toolOutput;if(H.showTraces!==K.showTraces)J.showTraces=H.showTraces;if(H.showPipelineTiming!==K.showPipelineTiming)J.showPipelineTiming=H.showPipelineTiming;if(H.showStatusBar!==K.showStatusBar)J.showStatusBar=H.showStatusBar;return J}function $Q($,H){return{...J7[$],...H??{}}}var J7,AK;var OK=t(()=>{J7={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}},AK=["minimal","standard","debug"]});import{readFileSync as tq}from"fs";import{join as eq}from"path";import{homedir as $N}from"os";import{parse as HN}from"yaml";import{log as KN}from"@aria-cli/types";function XN(){return{display:{...J7.standard,...ZN},persistence:{...JN}}}function zN($){return typeof $==="string"&&QN.has($)}function WN($){return typeof $==="string"&&GN.has($)}function _N($){return typeof $==="string"&&YN.has($)}function V$($){return typeof $==="boolean"}function UK($){return typeof $==="number"&&Number.isInteger($)&&$>0}function qN($){return typeof $==="number"&&Number.isInteger($)&&$>=0}function NN($){try{let H=tq($,"utf-8"),K=HN(H);if(K===null||K===void 0||typeof K!=="object")return null;return K}catch(H){if(H.code==="ENOENT")return null;throw H}}function FN($){let H={};if(zN($.mode))H.mode=$.mode;if(_N($.theme))H.theme=$.theme;if(V$($.thinking))H.showThinking=$.thinking;if(V$($.costs))H.showCosts=$.costs;if(V$($.toolArgs))H.showToolArgs=$.toolArgs;if(WN($.toolOutput))H.toolOutput=$.toolOutput;if(V$($.traces))H.showTraces=$.traces;if(V$($.pipelineTiming))H.showPipelineTiming=$.pipelineTiming;if(V$($.statusBar))H.showStatusBar=$.statusBar;if(V$($.syntaxHighlighting))H.syntaxHighlighting=$.syntaxHighlighting;if(UK($.maxToolOutputLines))H.maxToolOutputLines=$.maxToolOutputLines;if(qN($.maxThinkingPreview))H.maxThinkingPreview=$.maxThinkingPreview;return H}function PN($){let H={};if(V$($.jsonlEnabled))H.jsonlEnabled=$.jsonlEnabled;if(UK($.jsonlRetentionDays)||$.jsonlRetentionDays===1/0)H.jsonlRetentionDays=$.jsonlRetentionDays;if(UK($.jsonlMaxSizeMb)||$.jsonlMaxSizeMb===1/0)H.jsonlMaxSizeMb=$.jsonlMaxSizeMb;if($.otelEndpoint===null)H.otelEndpoint=null;else if(typeof $.otelEndpoint==="string"&&$.otelEndpoint.length>0)H.otelEndpoint=$.otelEndpoint;return H}function HQ($,H,K){return{...$,...H?LK(H):{},...K?LK(K):{}}}function fK($){let H=XN(),K=$??eq($N(),".aria","config.yaml"),J;try{J=NN(K)}catch(F){return KN.warn(`[AriaConfig] Failed to parse ${K}: ${F.message}. Using defaults.`),H}if(J===null)return H;let Z=typeof J.display==="object"&&J.display!==null?J.display:{},X=FN(Z),Q=X.mode??H.display.mode,G=J7[Q],Y=HQ(G,X),z=typeof J.persistence==="object"&&J.persistence!==null?J.persistence:{},W=PN(z);return{display:{...Y,mode:Q,theme:X.theme,syntaxHighlighting:X.syntaxHighlighting??H.display.syntaxHighlighting,maxToolOutputLines:X.maxToolOutputLines??H.display.maxToolOutputLines,maxThinkingPreview:X.maxThinkingPreview??H.display.maxThinkingPreview},persistence:{...H.persistence,...LK(W)}}}function LK($){let H={};for(let[K,J]of Object.entries($))if(J!==void 0)H[K]=J;return H}var JN,ZN,QN,GN,YN;var KQ=t(()=>{OK();JN={jsonlEnabled:!0,jsonlRetentionDays:1/0,jsonlMaxSizeMb:1/0,otelEndpoint:null},ZN={mode:"standard",syntaxHighlighting:!0,maxToolOutputLines:5,maxThinkingPreview:80};QN=new Set(["minimal","standard","debug"]),GN=new Set(["hidden","collapsed","standard","expanded"]),YN=new Set(["dark","light","dark-accessible","light-accessible","claude-dark","claude-light","claude-dark-daltonized","claude-light-daltonized"])});var RK=t(()=>{sX();KQ()});import{createRuntimeDefaultRouter as AN,getCliModels as u5,ModelDiscovery as ON}from"@aria-cli/models";import{createRuntimeAuthContext as UN}from"@aria-cli/auth";import{MemoriaPool as LN}from"@aria-cli/aria";async function JQ($){let H=O0(),K=await x5($?.cwd??process.cwd()),J=$?.startupMode??"interactive",Z=H.awsRegion||process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION,X=H.awsProfile||process.env.AWS_PROFILE,Q=!1;if(!H.awsRegion&&process.env.AWS_REGION)H.awsRegion=process.env.AWS_REGION,Q=!0;if(!H.awsProfile&&process.env.AWS_PROFILE)H.awsProfile=process.env.AWS_PROFILE,Q=!0;if(Q)E0(H);if(Z&&!process.env.AWS_REGION)process.env.AWS_REGION=Z;if(X&&!process.env.AWS_PROFILE)process.env.AWS_PROFILE=X;let Y=UN({ariaHome:w6(),...Z||X?{bedrock:{awsRegion:Z,awsProfile:X}}:{}}).authResolver,z=await AN({ariaHome:w6(),authResolver:Y,...Z||X?{bedrock:{awsRegion:Z,awsProfile:X}}:{}}),W=w6(),F=new LN(W,z),q=J!=="daemon"?await Y.resolve("anthropic"):null,A=J!=="daemon"?await Y.resolve("openai"):null,U=J!=="daemon"?await Y.resolve("google"):null,R=J!=="daemon"?await Y.resolve("github-copilot"):null,I=new ON({authResolver:Y,googleApiKey:U?.apiKey||H.googleApiKey,anthropicApiKey:q?.apiKey||H.anthropicApiKey,openaiApiKey:A?.apiKey,awsRegion:Z,awsProfile:X,cacheDir:W}),S=J==="daemon"?u5():u5(I.getCachedModels()),C=async(B)=>{if(J==="daemon")return u5();let y=B?await I.refresh(!0):await I.getCachedOrRefresh();return u5(y)},w={availableProviders:[...Z?["bedrock","bedrock-converse"]:[],...q?.apiKey?["anthropic"]:[],...A?.apiKey?["openai"]:[],...R?.apiKey?["github-copilot"]:[],...U?.apiKey?["google"]:[]]};return{config:H,router:z,pool:F,memoriaFactory:F.toFactory(),ariaDir:W,projectConfig:K,discovery:I,availableModels:S,refreshAvailableModels:C,credentialHints:w,authResolver:Y}}var ZQ=t(()=>{h$();RK()});import{RuntimeBootstrapRecordSchema as aB}from"@aria-cli/tools";function fN($){return $==="control_ready"||$==="network_ready"||$==="mesh_ready"}function XQ($,H){if(H.nodeId!==$)throw Error(`[local-control-client] Runtime bootstrap node mismatch for ${$}: received ${H.nodeId}`);if(!fN(H.phase))throw Error(`[local-control-client] Runtime bootstrap for ${$} is not attachable (phase=${H.phase})`);return H}var QQ=()=>{};async function RN(){let $=w6();if(yK?.ariaDir===$)return yK.handler;let{CentralErrorHandler:H}=await import("@aria-cli/aria/error-handler"),K=new H({ariaDir:$});return yK={ariaDir:$,handler:K},K}async function GQ($,H){await(await RN()).report($,{workingDir:process.cwd(),providerState:{lastProvider:"trusted-local-control",lastModel:H.endpoint,...typeof H.responseStatus==="number"?{lastStatusCode:H.responseStatus}:{}},configSnapshot:{transport:H.transport,endpoint:H.endpoint,...typeof H.responseStatus==="number"?{responseStatus:H.responseStatus}:{},payload:H.payload}})}var yK;var YQ=t(()=>{h$()});var CK={};I3(CK,{resolveLocalControlClientSync:()=>wK,resolveLocalControlClient:()=>Q7,requestRuntimeSocketLease:()=>a5,createResilientAttachedClient:()=>n5,attachLocalControlClient:()=>X7,attachExistingLocalControlClient:()=>MK});import*as NQ from"node:net";import{appendFileSync as yN,mkdirSync as BN}from"node:fs";import{join as FQ}from"node:path";import{randomUUID as MN}from"node:crypto";import{createRuntimeSocketAttachedLocalControlClient as PQ,createRuntimeSocketLocalControlClient as wN,createTrustedRuntimeError as CN,AttachedClientLeaseGrantSchema as IN,LocalControlSocketAttachClientRequestSchema as SN,LocalControlSocketAttachClientResponseSchema as bN,LocalControlSocketRequestSchema as kN,LocalControlSocketResponseSchema as gN}from"@aria-cli/tools";async function AQ($){await new Promise((H)=>setTimeout(H,Math.max($,0)))}function hN(){return zQ??=import("@aria-cli/server/runtime/host-supervisor"),zQ}function DN(){return WQ??=import("@aria-cli/server/runtime/node-metadata"),WQ}function VN(){return _Q??=import("@aria-cli/server/runtime/node-store"),_Q}async function OQ($){let{resolveOrCreateNode:H}=await DN();return H({ariaHome:$})}async function r5($,H){let{NodeStore:K}=await VN(),J=new K({ariaHome:$});try{return J.readRuntimeOwnerRecord(H)}finally{J.close()}}function BK($){if(!($ instanceof Error))return!1;let H=$.message;return H.includes("connect ENOENT")||H.includes("ECONNREFUSED")||H.includes("Missing runtime owner record")||H.includes("not attachable")||H.includes("not control-ready")}async function Z7($){let H=await r5($.ariaHome,$.nodeId);if(!H)throw Error(`[local-control-client] Missing runtime owner record for node ${$.nodeId}`);let K=cN({runtimeSocket:H.runtimeSocket,pollIntervalMs:$.pollIntervalMs}),J=XQ($.nodeId,await K.getRuntimeBootstrap()),Z,X,Q;if($.clientKind)Q=await n5({runtimeSocket:H.runtimeSocket,clientKind:$.clientKind,logDir:FQ($.ariaHome,"logs")}),Z=Q.getClientId(),X=Q.getClientAuthToken();let G=null;return{nodeId:$.nodeId,runtimeId:J.runtimeId,port:J.controlEndpoint.port,ownership:$.ownership,...Z?{attachedClientId:Z}:{},...X?{attachedClientAuthToken:X}:{},control:Q?Q.api:K,release:async(Y)=>{if(G)return G;return G=(async()=>{let z=Q;Q=void 0,Z=void 0,X=void 0,await z?.release().catch(()=>{}),await $.release(Y)})(),G}}}async function a5($,H){let K=kN.parse({id:MN(),method:"attachClient",payload:H});return new Promise((J,Z)=>{let X=NQ.createConnection($),Q="",G=!1,Y=!1,z,W=new Promise((q)=>{z=q}),F=()=>{if(Y)return;if(Y=!0,z?.(),!G)G=!0,Z(Error("Local control socket closed before establishing an attached-client lease"))};X.setEncoding("utf8"),X.once("connect",()=>{X.write(`${JSON.stringify(K)}
322
- `)}),X.once("error",(q)=>{if(!G){G=!0,Z(q);return}F()}),X.once("end",F),X.once("close",F),X.on("data",async(q)=>{Q+=q;let A=Q.indexOf(`
323
- `);if(A===-1||G)return;try{let U=gN.parse(JSON.parse(Q.slice(0,A)));if(U.id!==K.id){G=!0,X.destroy(),Z(Error("Local control socket response ID mismatch"));return}if(!U.ok){let I=CN(U.error,U.diagnostic);await GQ(I,{endpoint:"attachClient",responseStatus:null,payload:U,transport:"runtime_socket_attach"}),G=!0,X.destroy(),Z(I);return}let R=IN.parse(bN.parse(U.payload));G=!0,J({clientId:R.clientId,clientAuthToken:R.clientAuthToken,release:async()=>{if(!Y)X.destroy();await W}})}catch(U){G=!0,X.destroy(),Z(U)}})})}async function MK($){let H=await OQ($.ariaHome);if(!await r5($.ariaHome,H.nodeId))return null;let K=Date.now()+vN;while(Date.now()<K)try{return await Z7({ariaHome:$.ariaHome,nodeId:H.nodeId,ownership:"reattached",release:async()=>{},pollIntervalMs:$.pollIntervalMs,clientKind:$.clientKind})}catch(J){if(!BK(J))throw J;if(!await r5($.ariaHome,H.nodeId))return null;await AQ(TN)}return null}function cN($){if($.auth)return PQ({runtimeSocket:$.runtimeSocket,pollIntervalMs:$.pollIntervalMs,auth:$.auth});return wN($)}async function X7($){let H=async(Q,G)=>{let Y=$.pollIntervalMs??100,z=Date.now()+Math.max(Y*20,2000),W=null;while(Date.now()<z){if($.signal?.aborted)throw Error(`[local-control-client] Attach-only client ${G} aborted while waiting for a live runtime owner on node ${Q}`);try{if(!await r5($.ariaHome,Q))W=Error(`[local-control-client] No live runtime owner available for attach-only client ${G} on node ${Q}`);else return await Z7({ariaHome:$.ariaHome,nodeId:Q,ownership:"reattached",release:async()=>{},pollIntervalMs:$.pollIntervalMs,clientKind:G})}catch(F){if(!BK(F))throw F;W=F}await AQ(Y)}throw W??Error(`[local-control-client] No live runtime owner available for attach-only client ${G} on node ${Q}`)},{getHostSupervisor:K,HostSupervisorSplitBrainError:J}=await hN(),Z=K(),X;try{X=await Z.attach({ariaHome:$.ariaHome,arionName:$.arionName,clientKind:$.clientKind,memoriaFactory:$.memoriaFactory,router:$.router,authResolver:$.authResolver,runSessionConfig:$.runSessionConfig,mcpServers:$.mcpServers,daemonSafetyPolicy:$.daemonSafetyPolicy,autonomousIntervalMs:$.autonomousIntervalMs,signal:$.signal,silent:$.silent,runtimeLifecycle:$.runtimeLifecycle,port:$.port})}catch(Q){if(Q instanceof J)return Z7({ariaHome:$.ariaHome,nodeId:Q.nodeId,ownership:"reattached",release:async()=>{},pollIntervalMs:$.pollIntervalMs,clientKind:$.clientKind});throw Q}try{return await X.runtime.waitForInitialDiscovery(),await Z7({ariaHome:$.ariaHome,nodeId:X.nodeId,ownership:X.ownership,pollIntervalMs:$.pollIntervalMs,clientKind:$.clientKind,release:(Q)=>X.release(Q)})}catch(Q){throw await X.release(),Q}}async function Q7($){let H=await OQ($.ariaHome);try{return(await Z7({ariaHome:$.ariaHome,nodeId:H.nodeId,ownership:"reattached",release:async()=>{},pollIntervalMs:$.pollIntervalMs})).control}catch(K){if(BK(K))return null;throw K}}function wK($){return null}function o8($){if(!($ instanceof Error))return!1;let H=$.message;if(H.includes("attached-local-client-only"))return!0;if(H.includes("ECONNRESET"))return!0;if(H.includes("ECONNREFUSED"))return!0;if(H.includes("EPIPE"))return!0;if(H.includes("connect ENOENT"))return!0;if(H.includes("socket hang up"))return!0;if(H.includes("closed before"))return!0;return!1}function qQ($){if($<=0)return Promise.resolve();return new Promise((H)=>{setTimeout(H,$).unref?.()})}async function n5($){let{runtimeSocket:H,clientKind:K="local-api"}=$,J=!1,Z,X,Q=null,G=null,Y=(U)=>{if(!$.logDir)return;try{BN($.logDir,{recursive:!0}),yN(FQ($.logDir,"reattach.jsonl"),JSON.stringify({ts:new Date().toISOString(),pid:process.pid,...U})+`
324
- `)}catch{}};async function z(){if(G)await G().catch(()=>{}),G=null;let U=await a5(H,SN.parse({clientKind:K,lease:!0,pid:process.pid,displayName:$.displayName}));Z=U.clientId,X=U.clientAuthToken,G=()=>U.release(),Q=PQ({runtimeSocket:H,auth:{clientId:U.clientId,clientAuthToken:U.clientAuthToken}}),Y({event:"lease_acquired",clientId:U.clientId})}await z();async function W(U,R){if(J)throw Error("ResilientAttachedClient has been released");try{return await R(Q)}catch(I){if(!o8(I))throw I;Y({event:"reattach_start",method:U,error:I.message});for(let S=0;S<c$.length;S++){if(J)throw Error("ResilientAttachedClient has been released");await qQ(c$[S]??0);try{await z();let C=await R(Q);return Y({event:"reattach_success",method:U,attempt:S}),C}catch(C){if(Y({event:"reattach_retry_failed",method:U,attempt:S,error:C.message,willRetry:o8(C)&&S<c$.length-1}),!o8(C)||S===c$.length-1)throw C}}throw I}}async function*F(U,R){if(J)throw Error("ResilientAttachedClient has been released");try{yield*R(Q);return}catch(I){if(!o8(I))throw I;Y({event:"reattach_stream_start",method:U,error:I.message});for(let S=0;S<c$.length;S++){if(J)throw Error("ResilientAttachedClient has been released");await qQ(c$[S]??0);try{await z(),yield*R(Q),Y({event:"reattach_stream_success",method:U,attempt:S});return}catch(C){if(Y({event:"reattach_stream_retry_failed",method:U,attempt:S,error:C.message,willRetry:o8(C)&&S<c$.length-1}),!o8(C)||S===c$.length-1)throw C}}}}let q=new Set(["streamRun","subscribeRuntimeEvents","subscribeInbox","subscribePeers","subscribeDirectClientInbox"]);return{api:new Proxy({},{get(U,R){if(R==="then"||R==="catch"||R==="finally")return;if(q.has(R))return(...I)=>F(R,(S)=>S[R](...I));return(...I)=>W(R,(S)=>S[R](...I))}}),getClientId:()=>Z,getClientAuthToken:()=>X,release:async()=>{J=!0;let U=Error("release() caller").stack;if(G)await G().catch(()=>{}),G=null;Y({event:"released",clientId:Z,releaseStack:U})}}}var vN=1e4,TN=250,zQ,WQ,_Q,c$;var i5=t(()=>{QQ();YQ();c$=[0,250,500,1000]});var UQ={};I3(UQ,{resolveLocalControlClientSync:()=>wK,resolveLocalControlClient:()=>Q7,requestRuntimeSocketLease:()=>a5,createResilientAttachedClient:()=>n5,attachLocalControlClient:()=>X7,attachExistingLocalControlClient:()=>MK});var o5=t(()=>{i5()});var t8;var hK=t(()=>{t8={name:"dark",displayName:"Dark",colors:{primary:"#5f97cd",secondary:"#888888",text:"#ffffff",textMuted:"#999999",textInverse:"#000000",success:"#4eba65",error:"#ff6b80",warning:"#ffc107",info:"#00d9ff",diffAdded:"#4eba65",diffAddedDimmed:"#2d5a35",diffRemoved:"#ff6b80",diffRemovedDimmed:"#8a3a45",arion:{cyan:"#00d9ff",magenta:"#bd00ff",yellow:"#ffc107",green:"#4eba65",blue:"#5f97cd",red:"#ff6b80",white:"#ffffff"}},symbols:{prompt:"❯",divider:"─",success:"✓",error:"✗",warning:"⚠",info:"ℹ",pending:"○",bullet:"•",arrow:"→"},banner:{gradient:{start:"#00D9FF",middle:"#BD00FF",end:"#6366F1"},animationDuration:1600}}});var z7;var DK=t(()=>{z7={name:"light",displayName:"Light",colors:{primary:"#5f97cd",secondary:"#999999",text:"#000000",textMuted:"#666666",textInverse:"#ffffff",success:"#2c7a39",error:"#ab2b3f",warning:"#b8860b",info:"#0077aa",diffAdded:"#2c7a39",diffAddedDimmed:"#a8d5b1",diffRemoved:"#ab2b3f",diffRemovedDimmed:"#e8b4bc",arion:{cyan:"#0077aa",magenta:"#aa0077",yellow:"#b8860b",green:"#2c7a39",blue:"#5f97cd",red:"#ab2b3f",white:"#333333"}},symbols:{prompt:"❯",divider:"─",success:"✓",error:"✗",warning:"⚠",info:"ℹ",pending:"○",bullet:"•",arrow:"→"},banner:{gradient:{start:"#0077aa",middle:"#aa0077",end:"#5f5fd7"},animationDuration:1600}}});var MQ;var wQ=t(()=>{hK();MQ={...t8,name:"dark-accessible",displayName:"Dark (Accessible)",colors:{...t8.colors,success:"#006699",error:"#cc0000",warning:"#ffaa00",diffAdded:"#006699",diffAddedDimmed:"#003d5c",diffRemoved:"#cc0000",diffRemovedDimmed:"#660000"}}});var CQ;var IQ=t(()=>{DK();CQ={...z7,name:"light-accessible",displayName:"Light (Accessible)",colors:{...z7.colors,success:"#005588",error:"#aa0000",warning:"#996600",diffAdded:"#005588",diffAddedDimmed:"#b3d4e8",diffRemoved:"#aa0000",diffRemovedDimmed:"#e8b3b3"}}});var SQ;var bQ=t(()=>{SQ={name:"claude-dark",displayName:"Claude Dark",colors:{primary:"#5f97cd",secondary:"#888888",text:"#ffffff",textMuted:"#999999",textInverse:"#000000",success:"#4eba65",error:"#ff6b80",warning:"#ffc107",info:"#b1b9f9",diffAdded:"#225c2b",diffAddedDimmed:"#47584a",diffRemoved:"#7a2936",diffRemovedDimmed:"#69484d",arion:{cyan:"#b1b9f9",magenta:"#fd5db1",yellow:"#ffc107",green:"#4eba65",blue:"#5f97cd",red:"#ff6b80",white:"#ffffff"}},symbols:{prompt:"❯",divider:"─",success:"✓",error:"✗",warning:"⚠",info:"ℹ",pending:"○",bullet:"•",arrow:"→"},banner:{gradient:{start:"#fd5db1",middle:"#5f97cd",end:"#b1b9f9"},animationDuration:1600}}});var kQ;var gQ=t(()=>{kQ={name:"claude-light",displayName:"Claude Light",colors:{primary:"#5f97cd",secondary:"#999999",text:"#000000",textMuted:"#666666",textInverse:"#ffffff",success:"#2c7a39",error:"#ab2b3f",warning:"#966c1e",info:"#5769f7",diffAdded:"#69db7c",diffAddedDimmed:"#c7e1cb",diffRemoved:"#ffa8b4",diffRemovedDimmed:"#fdd2d8",arion:{cyan:"#5769f7",magenta:"#ff0087",yellow:"#966c1e",green:"#2c7a39",blue:"#5f97cd",red:"#ab2b3f",white:"#333333"}},symbols:{prompt:"❯",divider:"─",success:"✓",error:"✗",warning:"⚠",info:"ℹ",pending:"○",bullet:"•",arrow:"→"},banner:{gradient:{start:"#ff0087",middle:"#5f97cd",end:"#5769f7"},animationDuration:1600}}});var vQ;var TQ=t(()=>{vQ={name:"claude-dark-daltonized",displayName:"Claude Dark (Daltonized)",colors:{primary:"#5f97cd",secondary:"#888888",text:"#ffffff",textMuted:"#999999",textInverse:"#000000",success:"#3399ff",error:"#ff6666",warning:"#ffcc00",info:"#99ccff",diffAdded:"#004466",diffAddedDimmed:"#3e515b",diffRemoved:"#660000",diffRemovedDimmed:"#3e2c2c",arion:{cyan:"#99ccff",magenta:"#3399ff",yellow:"#ffcc00",green:"#3399ff",blue:"#5f97cd",red:"#ff6666",white:"#ffffff"}},symbols:{prompt:"❯",divider:"─",success:"✓",error:"✗",warning:"⚠",info:"ℹ",pending:"○",bullet:"•",arrow:"→"},banner:{gradient:{start:"#3399ff",middle:"#5f97cd",end:"#99ccff"},animationDuration:1600}}});var hQ;var DQ=t(()=>{hQ={name:"claude-light-daltonized",displayName:"Claude Light (Daltonized)",colors:{primary:"#5f97cd",secondary:"#999999",text:"#000000",textMuted:"#666666",textInverse:"#ffffff",success:"#006699",error:"#cc0000",warning:"#ff9900",info:"#3366ff",diffAdded:"#99ccff",diffAddedDimmed:"#d1e7fd",diffRemoved:"#ffcccc",diffRemovedDimmed:"#ffe9e9",arion:{cyan:"#3366ff",magenta:"#0066cc",yellow:"#ff9900",green:"#006699",blue:"#5f97cd",red:"#cc0000",white:"#333333"}},symbols:{prompt:"❯",divider:"─",success:"✓",error:"✗",warning:"⚠",info:"ℹ",pending:"○",bullet:"•",arrow:"→"},banner:{gradient:{start:"#0066cc",middle:"#5f97cd",end:"#3366cc"},animationDuration:1600}}});function C6($){if($2[$])VQ=$2[$]}function L(){return VQ}function I6(){return Object.keys($2)}function H2($){return $2[$]}var $2,VQ;var g=t(()=>{hK();DK();wQ();IQ();bQ();gQ();TQ();DQ();$2={dark:t8,light:z7,"dark-accessible":MQ,"light-accessible":CQ,"claude-dark":SQ,"claude-light":kQ,"claude-dark-daltonized":vQ,"claude-light-daltonized":hQ},VQ=t8});import{EOL as JH,homedir as ZP,platform as iK}from"os";import{readFileSync as XP,writeFileSync as QP}from"fs";import{join as z2}from"path";import{spawnSync as GP}from"node:child_process";function OG(){return O0().shiftEnterKeyBindingInstalled===!0}function g3(){let $=(process.env.TERM_PROGRAM??"").toLowerCase();return iK()==="darwin"&&$==="iterm.app"||$==="vscode"}function YP(){if(GP("defaults",["write","com.googlecode.iterm2","GlobalKeyMap","-dict-add","0xd-0x20000-0x24",`<dict>
325
- <key>Text</key>
326
- <string>\\n</string>
327
- <key>Action</key>
328
- <integer>12</integer>
329
- <key>Version</key>
330
- <integer>1</integer>
331
- <key>Keycode</key>
332
- <integer>13</integer>
333
- <key>Modifiers</key>
334
- <integer>131072</integer>
335
- </dict>`]).status!==0)throw Error("Failed to install iTerm2 Shift+Enter key binding");return`Installed iTerm2 Shift+Enter key binding${JH}See iTerm2 → Preferences → Keys${JH}`}function zP(){let $=z2(ZP(),iK()==="win32"?z2("AppData","Roaming","Code","User"):iK()==="darwin"?z2("Library","Application Support","Code","User"):z2(".config","Code","User"),"keybindings.json"),H=[];try{let J=XP($,"utf-8").trim();if(H=J?JSON.parse(J):[],!Array.isArray(H))H=[]}catch{H=[]}if(H.find((J)=>J.key==="shift+enter"&&J.command==="workbench.action.terminal.sendSequence"&&J.when==="terminalFocus"))return`Found existing VSCode terminal Shift+Enter key binding. Remove it to continue.${JH}See ${$}${JH}`;return H.push({key:"shift+enter",command:"workbench.action.terminal.sendSequence",args:{text:`\\\r
336
- `},when:"terminalFocus"}),QP($,JSON.stringify(H,null,2),"utf-8"),`Installed VSCode terminal Shift+Enter key binding${JH}See ${$}${JH}`}function W2(){if(!g3())throw Error("terminal-setup is supported only in iTerm2 (macOS) and VSCode terminal");let H=(process.env.TERM_PROGRAM??"").toLowerCase()==="vscode"?zP():YP(),K=O0();return K.shiftEnterKeyBindingInstalled=!0,E0(K),H}var _2=t(()=>{h$()});import{HEADLESS_OPERATION_SCHEMAS as Df}from"@aria-cli/tools";function d($,H,K){let J=Df[H].result.safeParse(K);if(!J.success)throw Error(`Invalid headless result for ${H}: ${J.error.issues.map((Z)=>`${Z.path.join(".")||"<root>"} ${Z.message}`).join("; ")}`);return{kind:"result",requestId:$,op:H,ok:!0,result:J.data}}function J0($,H,K,J,Z){return{kind:"result",requestId:$,op:H,ok:!1,error:{code:K,message:J,...Z?{details:Z}:{}}}}function F0($,H){return async function*(K){yield J0(K,H,"MISSING_SERVICE",`Kernel service ${$} is not configured for ${H}.`)}}var k1=()=>{};function Vf($){return{name:$.name??"ARIA",...$.emoji?{emoji:$.emoji}:{},personality:{traits:["helpful","curious"],style:"friendly"},...$.description?{profile:{background:$.description}}:{},createdBy:"headless"}}function cf($,H){let K=H?.trim();return K?`I want to create a new arion named "${$}". ${K}`:`I want to create a new arion named "${$}". Help me design their personality.`}function lZ($){let H=$.arionManager;if(!H?.list||!H.hatch||!H.get||!H.wake||!H.rest)return{"arion.list":F0("arionManager","arion.list"),"arion.hatch":F0("arionManager","arion.hatch"),"arion.become":F0("arionManager","arion.become"),"arion.rest":F0("arionManager","arion.rest"),"arion.wake":F0("arionManager","arion.wake"),"arion.create":F0("arionManager","arion.create")};return{"arion.list":async function*(K){let J=H.list;yield d(K,"arion.list",{arions:await J()})},"arion.hatch":async function*(K,J){let Z=H.get,X=J.name?.trim(),Q=J.description?.trim();if(!X){yield J0(K,"arion.hatch","ARION_HATCH_FAILED","arion.hatch requires a name");return}if(await Z(X)){yield J0(K,"arion.hatch","ARION_ALREADY_EXISTS",`An arion named "${X}" already exists.`);return}yield d(K,"arion.hatch",{mode:"guided",prompt:cf(X,Q),name:X,...Q?{description:Q}:{}})},"arion.create":async function*(K,J){let Z=H.hatch,X=await Z(Vf(J));yield d(K,"arion.create",{arion:X})},"arion.become":async function*(K,J){let{get:Z,wake:X}=H,Q=J.name?.trim();if(!Q){yield J0(K,"arion.become","ARION_BECOME_FAILED","arion.become requires a name");return}let G=await Z(Q);if(!G){yield J0(K,"arion.become","ARION_NOT_FOUND",`Arion ${Q} not found`);return}if(G.status==="resting")await X(Q);await $.config?.setActiveArion?.(Q);let Y=await $.config?.getActiveArion?.()??Q;yield d(K,"arion.become",{arion:G,activeArion:Y})},"arion.rest":async function*(K,J){let Z=H.rest,X=J.name?.trim();if(!X){yield J0(K,"arion.rest","ARION_REST_FAILED","arion.rest requires a name");return}await Z(X),yield d(K,"arion.rest",{success:!0,name:X})},"arion.wake":async function*(K,J){let Z=H.wake,X=J.name?.trim();if(!X){yield J0(K,"arion.wake","ARION_WAKE_FAILED","arion.wake requires a name");return}await Z(X),yield d(K,"arion.wake",{success:!0,name:X})}}}var xZ=t(()=>{k1()});function uZ($,H){let K=$.auth;if(!K?.status||!K.login||!K.logout)return{"auth.status":F0("auth","auth.status"),"auth.login":F0("auth","auth.login"),"auth.logout":F0("auth","auth.logout")};return{"auth.status":async function*(J){let Z=await K.status();yield d(J,"auth.status",{...Z&&typeof Z==="object"?Z:{}})},"auth.login":async function*(J,Z,X){yield*H.login(J,Z,X)},"auth.logout":async function*(J,Z){yield*H.logout(J,Z)}}}var rZ=t(()=>{k1()});import{ensureAuthProfileStore as gH,syncExternalCliCredentials as i7,isProfileInCooldown as Ef,upsertAuthProfile as y$,updateAuthProfileStoreWithLockSync as jf,refreshBedrockSsoToken as mf,loginBedrockSso as df,listProfilesForProvider as vH,loginWithGitHubCopilotToken as aZ,readClaudeCodeCredentialsCached as uW,readCodexCredentialsCached as rW,readGeminiCredentialsCached as aW,normalizeProviderId as pf,OPENAI_CODEX_OAUTH_PROFILE_ID as lf}from"@aria-cli/auth";import{spawnSync as S4}from"node:child_process";function xf(){try{let $=S4("gh",["auth","token","-h","github.com"],{encoding:"utf8",timeout:5000});if($.error)return{error:$.error.message};if($.status!==0){let K=($.stderr||"").trim(),J=($.stdout||"").trim();return{error:K||J||`gh auth token exited with status ${$.status}`}}let H=($.stdout||"").trim();if(H.length<8)return{error:"gh auth token returned an empty/short token"};return{token:H}}catch($){return{error:$ instanceof Error?$.message:String($)}}}function uf($="github.com"){try{let H=S4("gh",["auth","status","-h",$],{encoding:"utf8",timeout:5000}),K=`${H.stdout||""}
337
- ${H.stderr||""}`,J=new Set;for(let Z of K.split(/\r?\n/)){let X=Z.match(/Logged in to .* account\s+([^\s]+)/i);if(X?.[1])J.add(X[1])}return[...J]}catch{return[]}}function rf($,H="github.com"){try{let K=S4("gh",["auth","token","-h",H,"-u",$],{encoding:"utf8",timeout:5000});if(K.error)return{error:K.error.message};if(K.status!==0)return{error:(K.stderr||K.stdout||"").trim()||"gh token failed"};let J=(K.stdout||"").trim();if(J.length<8)return{error:"empty/short token"};return{token:J}}catch(K){return{error:K instanceof Error?K.message:String(K)}}}function af(){try{let $=`${process.env.HOME||""}/.copilot/config.json`,K=(S4("node",["-e",`const fs=require('fs');const p=${JSON.stringify($)};if(!fs.existsSync(p)){process.exit(0);}const j=JSON.parse(fs.readFileSync(p,'utf8'));const login=j?.last_logged_in_user?.login||j?.logged_in_users?.[0]?.login||'';if(login)process.stdout.write(login);`],{encoding:"utf8",timeout:5000}).stdout||"").trim();return K?{login:K}:{}}catch($){return{error:$ instanceof Error?$.message:String($)}}}function nf($){let H=$?.trim()??"";if(!H)return{useGhToken:!0,autoSelectSource:!0};let K=H.split(/\s+/).filter(Boolean),J,Z,X=!0,Q=!1,G=(Y)=>{let z=K[Y+1];return z&&!z.startsWith("--")?z:void 0};for(let Y=0;Y<K.length;Y+=1){let z=K[Y];if(z==="--profile"||z==="--label"){let W=G(Y);if(W)Z=W,Y+=1;continue}if(z.startsWith("--profile=")||z.startsWith("--label=")){Z=z.split("=",2)[1]?.trim()||Z;continue}if(z==="--source"){let W=G(Y)?.toLowerCase();if(W==="device")X=!1;else if(W==="auto")Q=!0;Y+=W?1:0;continue}if(z.startsWith("--source=")){let W=z.split("=",2)[1]?.toLowerCase();if(W==="device")X=!1;else if(W==="auto")Q=!0;continue}if(!z.startsWith("--")&&!J)J=z,X=!1}if(J&&J.length>0)X=!1;return{token:J,profileLabel:Z,useGhToken:X,autoSelectSource:Q}}function I4($){let H=($||"").trim();if(!H)return;return H.toLowerCase().replace(/[^a-z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||void 0}function nW(){let $=[],H=new Set,K=["GH_TOKEN","GITHUB_TOKEN","COPILOT_GITHUB_TOKEN"];for(let G of K){let Y=process.env[G]?.trim();if(Y&&Y.length>=8){let z=`env:${G}`;if(!H.has(z))$.push({id:z,label:`Using ${G} from environment`,source:"env",token:Y,status:"connected"}),H.add(z);break}}let J=uf("github.com");for(let G of J){let Y=rf(G,"github.com").token,z=`GitHub CLI account: ${G}`,W=`gh:${G}`;if(!H.has(W))$.push({id:W,label:z,source:"gh",login:G,token:Y,profileLabel:I4(G),status:Y?"connected":"none"}),H.add(W)}let Z=gH();i7(Z);let X=vH(Z,"github-copilot");for(let G of X){let Y=Z.profiles[G];if(!Y)continue;let z=G.split(":").slice(1).join(":")||G,W=`profile:${z}`;if(H.has(W))continue;let F=Y.type==="oauth"&&Y.refresh?Y.refresh:void 0,q=Y.type==="oauth"&&Date.now()<Y.expires;$.push({id:W,label:`Copilot profile: ${z}`,source:"copilot",login:z,token:F,profileLabel:I4(z),status:q||F?"connected":"none"}),H.add(W)}let Q=af();if(Q.login){let G=`copilot:${Q.login}`;if(!H.has(G)&&!H.has(`profile:${Q.login}`))$.push({id:G,label:`Copilot CLI last login: ${Q.login}`,source:"copilot",login:Q.login,profileLabel:I4(Q.login),status:"connected"}),H.add(G)}return $.push({id:"device:new",label:"Sign in with a new GitHub account (device flow)",source:"device",status:"none"}),$}function of(){let $=[],H=process.env.ANTHROPIC_API_KEY?.trim();if(H&&H.length>8){let X=H.startsWith("sk-ant-api");$.push({id:"env-key",label:"Using ANTHROPIC_API_KEY from environment",description:X?"API key detected":"Key format unrecognized",method:"env-key",status:X?"connected":"none"})}let K=gH();i7(K);let J=vH(K,"anthropic");for(let X of J){let Q=K.profiles[X];if(!Q)continue;let G=(Q.type==="oauth"||Q.type==="token")&&"expires"in Q&&typeof Q.expires==="number"&&Q.expires>Date.now();$.push({id:`profile:${X}`,label:`Saved profile: ${X}`,description:G?"Credentials active":"Credentials expired — will refresh on use",method:"api-key",status:G?"connected":"available"})}let Z=uW();if(Z){let X=Z.expires>Date.now();$.push({id:"claude-cli",label:"Import from Claude Code CLI",description:X?"Use existing Claude Code credentials from keychain":"Credentials expired, will refresh",method:"claude-cli",status:X?"connected":"available"})}$.push({id:"subscription",label:"Claude account with subscription",description:"Pro, Max, Team, or Enterprise",method:"subscription",status:nZ("anthropic")==="connected"?"connected":"none"}),$.push({id:"console",label:"Anthropic Console account",description:"API usage billing",method:"console",status:"none"}),$.push({id:"setup-token",label:"Paste setup-token",description:"From `claude setup-token` or admin provisioning",method:"setup-token",status:"none"});{let X=nZ("bedrock"),Q=!!process.env.AWS_PROFILE?.trim();$.push({id:"bedrock",label:"3rd-party platform",description:Q?`Amazon Bedrock (AWS_PROFILE=${process.env.AWS_PROFILE})`:"Amazon Bedrock — set AWS_PROFILE to configure",method:"bedrock",status:X==="connected"?"connected":Q?"available":"none"})}return $}async function sf($){switch($){case"subscription":return{mode:"oauth",provider:"anthropic"};case"console":case"api-key":return{mode:"anthropic_key_input",provider:"anthropic"};case"setup-token":return{mode:"anthropic_setup_token",provider:"anthropic"};case"env-key":{let H=process.env.ANTHROPIC_API_KEY?.trim();if(!H)return{mode:"direct",result:{success:!1,message:"ANTHROPIC_API_KEY not set in environment"}};return y$({profileId:"anthropic:env",credential:{type:"api_key",provider:"anthropic",key:H}}),{mode:"direct",result:{success:!0,message:"Saved ANTHROPIC_API_KEY from environment"}}}case"claude-cli":{let H=uW();if(!H)return{mode:"direct",result:{success:!1,message:"No Claude Code credentials found. Run `claude login` first."}};if(H.type==="oauth")return y$({profileId:"anthropic:claude-cli",credential:{type:"oauth",provider:"anthropic",access:H.access,refresh:H.refresh,expires:H.expires}}),{mode:"direct",result:{success:!0,message:"Imported Claude Code OAuth credentials"}};if(H.type==="token")return y$({profileId:"anthropic:claude-cli",credential:{type:"token",provider:"anthropic",token:H.token,expires:H.expires}}),{mode:"direct",result:{success:!0,message:"Imported Claude Code token"}};return{mode:"direct",result:{success:!1,message:"Unknown Claude Code credential type"}}}case"bedrock":return iW();default:{if($.startsWith("profile:"))return{mode:"direct",result:{success:!0,message:`Selected profile: ${$.replace("profile:","")}`}};return{mode:"direct",result:{success:!1,message:`Unknown method: ${$}`}}}}}function tf(){let $=[],H=process.env.OPENAI_API_KEY?.trim();if(H&&H.length>8){let X=H.startsWith("sk-");$.push({id:"env-key",label:"Using OPENAI_API_KEY from environment",description:X?"API key detected":"Key format unrecognized",method:"env-key",status:X?"connected":"none"})}let K=gH();i7(K);let J=new Set;for(let X of["openai","openai-codex"]){let Q=vH(K,X);for(let G of Q){if(J.has(G))continue;J.add(G);let Y=K.profiles[G];if(!Y)continue;let z=(Y.type==="oauth"||Y.type==="token")&&"expires"in Y&&typeof Y.expires==="number"&&Y.expires>Date.now();$.push({id:`profile:${G}`,label:`Saved profile: ${G}`,description:z?"Credentials active":"Credentials expired — will refresh on use",method:"profile",status:z?"connected":"available"})}}let Z=rW();if(Z){let X=Z.expires>Date.now();$.push({id:"codex-import",label:"Import from Codex CLI",description:X?"Use existing Codex credentials":"Credentials expired, will refresh",method:"codex-import",status:X?"connected":"available"})}return $.push({id:"api-key",label:"Paste API key",description:"Enter your OpenAI sk-* API key",method:"api-key",status:"none"}),$}async function ef($){switch($){case"api-key":return{mode:"openai_key_input",provider:"openai"};case"env-key":{let H=process.env.OPENAI_API_KEY?.trim();if(!H)return{mode:"direct",result:{success:!1,message:"OPENAI_API_KEY not set in environment"}};return y$({profileId:"openai:env",credential:{type:"api_key",provider:"openai",key:H}}),{mode:"direct",result:{success:!0,message:"Saved OPENAI_API_KEY from environment"}}}case"codex-import":{let H=rW();if(!H)return{mode:"direct",result:{success:!1,message:"No Codex CLI credentials found. Run `codex auth` first."}};return y$({profileId:lf,credential:{type:"oauth",provider:"openai",access:H.access,refresh:H.refresh,expires:H.expires}}),{mode:"direct",result:{success:!0,message:"Imported Codex CLI OAuth credentials"}}}default:{if($.startsWith("profile:"))return{mode:"direct",result:{success:!0,message:`Selected profile: ${$.replace("profile:","")}`}};return{mode:"direct",result:{success:!1,message:`Unknown method: ${$}`}}}}}function $R(){let $=[],H=(process.env.GOOGLE_API_KEY??process.env.GEMINI_API_KEY)?.trim();if(H&&H.length>8){let X=H.startsWith("AIza");$.push({id:"env-key",label:`Using ${process.env.GOOGLE_API_KEY?"GOOGLE_API_KEY":"GEMINI_API_KEY"} from environment`,description:X?"API key detected":"Key format unrecognized",method:"env-key",status:X?"connected":"none"})}let K=gH();i7(K);let J=vH(K,"google");for(let X of J){let Q=K.profiles[X];if(!Q)continue;let G=(Q.type==="oauth"||Q.type==="token")&&"expires"in Q&&typeof Q.expires==="number"&&Q.expires>Date.now();$.push({id:`profile:${X}`,label:`Saved profile: ${X}`,description:G?"Credentials active":"Credentials expired — will refresh on use",method:"profile",status:G?"connected":"available"})}let Z=aW();if(Z){let X=Z.expires>Date.now();$.push({id:"gemini-import",label:"Import from Gemini CLI",description:X?"Use existing Gemini CLI credentials":"Credentials expired, will refresh",method:"gemini-import",status:X?"connected":"available"})}return $.push({id:"api-key",label:"Paste API key",description:"Enter your Google AIza* API key",method:"api-key",status:"none"}),$.push({id:"oauth",label:"Gemini CLI OAuth",description:"Sign in via browser-based OAuth flow",method:"oauth",status:"none"}),$}async function HR($){switch($){case"api-key":return{mode:"google_key_input",provider:"google"};case"oauth":return{mode:"oauth",provider:"google"};case"env-key":{let H=(process.env.GOOGLE_API_KEY??process.env.GEMINI_API_KEY)?.trim();if(!H)return{mode:"direct",result:{success:!1,message:"GOOGLE_API_KEY / GEMINI_API_KEY not set in environment"}};return y$({profileId:"google:env",credential:{type:"api_key",provider:"google",key:H}}),{mode:"direct",result:{success:!0,message:"Saved Google API key from environment"}}}case"gemini-import":{let H=aW();if(!H)return{mode:"direct",result:{success:!1,message:"No Gemini CLI credentials found. Run `gemini auth` first."}};return y$({profileId:"google:gemini-cli",credential:{type:"oauth",provider:"google",access:H.access,refresh:H.refresh,expires:H.expires}}),{mode:"direct",result:{success:!0,message:"Imported Gemini CLI OAuth credentials"}}}default:{if($.startsWith("profile:"))return{mode:"direct",result:{success:!0,message:`Selected profile: ${$.replace("profile:","")}`}};return{mode:"direct",result:{success:!1,message:`Unknown method: ${$}`}}}}}function JR($){return iZ.includes($)}function nZ($){let H=jf({updater:(X)=>i7(X)})??gH(),K=pf($),J=vH(H,K);for(let X of J){let Q=H.profiles[X];if(!Q)continue;if(Ef(H,X))continue;if(Q.type==="api_key"&&Q.key?.trim())return"connected";if(Q.type==="oauth"&&"expires"in Q){let G=Q.expires;if(G&&G<Date.now())continue;return"connected"}if(Q.type==="token"){let G=Q.expires;if(!G||Date.now()<G)return"connected";continue}return"connected"}let Z=ZR[K]??[];for(let X of Z)if(process.env[X]?.trim())return"connected";return J.length>0?"expired":"none"}function _8(){return iZ.map(($)=>{let H=nZ($),K=gH(),J=vH(K,$),Z;for(let X of J){let Q=K.profiles[X];if(Q?.email){Z=Q.email;break}}return{id:$,label:KR[$],status:H,...Z?{email:Z}:{}}})}async function iW($){if(await mf($))return{mode:"direct",result:{success:!0,message:"Bedrock SSO token refreshed (silent)"}};if(await df($))return{mode:"direct",result:{success:!0,message:"Bedrock SSO login succeeded — credentials refreshed"}};return{mode:"direct",result:{success:!1,message:["Bedrock SSO login failed.","Try running manually: aws sso login --profile "+($||process.env.AWS_PROFILE||"default")].join(`
338
- `)}}}function C4($,H){if(H.length<8)return{mode:"direct",result:{success:!1,message:"API key too short (minimum 8 characters)"}};let K=`${$}:manual`;return y$({profileId:K,credential:{type:"api_key",provider:$,key:H}}),{mode:"direct",result:{success:!0,message:`Saved ${$} API key (profile: ${K})`}}}function XR($){if($.length<8)return{mode:"direct",result:{success:!1,message:"Setup token too short (minimum 8 characters)"}};let H="anthropic:setup-token";return y$({profileId:H,credential:{type:"api_key",provider:"anthropic",key:$}}),{mode:"direct",result:{success:!0,message:`Saved Anthropic setup token (profile: ${H})`}}}async function QR($,H){if(!JR($))return{mode:"direct",result:{success:!1,message:`Unknown provider "${$}". Supported: ${iZ.join(", ")}`}};if($==="bedrock"){let J=H?.trim()||void 0;return iW(J)}if($==="github-copilot"){let J=nf(H);if(!J.token&&!J.profileLabel&&J.autoSelectSource)return{mode:"copilot_source_picker",provider:"github-copilot",options:nW()};if(J.token){let Z=await aZ({githubToken:J.token,profileLabel:J.profileLabel});return{mode:"direct",result:{success:Z.success,message:Z.message}}}if(J.useGhToken){let Z=xf();if(Z.token){let X=await aZ({githubToken:Z.token,profileLabel:J.profileLabel});if(X.success)return{mode:"direct",result:{success:!0,message:`${X.message} (imported from gh auth token)`}};return{mode:"copilot_device",provider:"github-copilot",profileLabel:J.profileLabel,message:`gh auth token import failed: ${X.message}
339
- Falling back to interactive device login...`}}return{mode:"copilot_device",provider:"github-copilot",profileLabel:J.profileLabel,...Z.error?{message:`Could not read gh auth token: ${Z.error}`}:{}}}return{mode:"copilot_device",provider:"github-copilot",profileLabel:J.profileLabel}}if($==="anthropic"){let J=H?.trim();if(J?.startsWith("--setup-token")){let X=J.replace(/^--setup-token\s*/,"").trim();return XR(X)}if(J?.startsWith("--method")){let X=J.replace(/^--method\s*/,"").trim();return sf(X)}if(J)return C4($,J);return{mode:"anthropic_method_picker",provider:"anthropic",options:of()}}if($==="openai"){let J=H?.trim();if(J?.startsWith("--method")){let X=J.replace(/^--method\s*/,"").trim();return ef(X)}if(J)return C4($,J);return{mode:"openai_method_picker",provider:"openai",options:tf()}}if($==="google"){let J=H?.trim();if(J?.startsWith("--method")){let X=J.replace(/^--method\s*/,"").trim();return HR(X)}if(J)return C4($,J);return{mode:"google_method_picker",provider:"google",options:$R()}}let K=H?.trim();if(K)return C4($,K);return{mode:"oauth",provider:$}}async function b4($){let H=$.trim().split(/\s+/),K=H[0]?.toLowerCase()||"",J=H.slice(1).join(" ").trim();if(!K)return{mode:"picker",providers:_8()};if(K==="github-copilot"&&J.startsWith("--from ")){let Z=J.slice(7).trim(),Q=nW().find((G)=>G.id===Z);if(!Q)return{mode:"direct",result:{success:!1,message:`Unknown Copilot source: ${Z}`}};if(Q.source==="device")return{mode:"copilot_device",provider:"github-copilot",profileLabel:Q.profileLabel};if(Q.token){let G=await aZ({githubToken:Q.token,profileLabel:Q.profileLabel});return{mode:"direct",result:{success:G.success,message:G.message}}}if(Q.login)return{mode:"copilot_device",provider:"github-copilot",profileLabel:I4(Q.login)}}return QR(K,J||void 0)}var iZ,KR,ZR;var k4=t(()=>{iZ=["bedrock","anthropic","google","openai","github-copilot"],KR={bedrock:"Bedrock (AWS SSO)",anthropic:"Anthropic",google:"Google (Gemini)",openai:"OpenAI","github-copilot":"GitHub Copilot"};ZR={anthropic:["ANTHROPIC_API_KEY"],openai:["OPENAI_API_KEY"],google:["GOOGLE_API_KEY","GEMINI_API_KEY"],"github-copilot":["GH_TOKEN","GITHUB_TOKEN","COPILOT_GITHUB_TOKEN"],bedrock:["AWS_PROFILE"]}});import{ensureAuthProfileStore as oW,listProfilesForProvider as GR,updateAuthProfileStoreWithLockSync as sW}from"@aria-cli/auth";function YR($){let H=oW(),K=GR(H,$);if(K.length===0)return{success:!1,message:`No credentials found for "${$}"`};sW({updater:(Z)=>{for(let X of K){let Q=Z.profiles[X]?.provider;if(delete Z.profiles[X],Q&&Z.lastGood)delete Z.lastGood[Q]}if(Z.usageStats)for(let X of K)delete Z.usageStats[X];return!0}});let J=K.length===1?"profile":"profiles";return{success:!0,message:`Disconnected ${$} (removed ${K.length} ${J})`}}function zR(){let $=oW(),H=Object.keys($.profiles).length;if(H===0)return{success:!1,message:"No providers connected"};return sW({updater:(J)=>{return J.profiles={},J.lastGood=void 0,J.usageStats=void 0,!0}}),{success:!0,message:`Cleared all credentials (${H} ${H===1?"profile":"profiles"} removed)`}}function g4($){let H=$.trim().toLowerCase();if(H==="all")return{mode:"direct",result:zR()};if(H)return{mode:"direct",result:YR(H)};let J=_8().filter((Z)=>Z.status!=="none");if(J.length===0)return{mode:"direct",result:{success:!0,message:"No providers connected"}};return{mode:"picker",providers:J}}var oZ=t(()=>{k4()});function tW(){return _8()}async function eW($){return b4($)}function $_($){return g4($)}function H_($){if(typeof $.args==="string"&&$.args.trim().length>0)return $.args.trim();let H=[];if(typeof $.provider==="string"&&$.provider.trim().length>0)H.push($.provider.trim());if(typeof $.method==="string"&&$.method.trim().length>0)H.push($.method.trim());if(typeof $.source==="string"&&$.source.trim().length>0)H.push("--source",$.source.trim());if(typeof $.profileLabel==="string"&&$.profileLabel.trim().length>0)H.push("--profile",$.profileLabel.trim());if(typeof $.credential==="string"&&$.credential.trim().length>0)H.push($.credential.trim());return H.join(" ")}function K_($){if(typeof $.args==="string"&&$.args.trim().length>0)return $.args.trim();if(typeof $.provider==="string"&&$.provider.trim().length>0)return $.provider.trim();return""}var J_=t(()=>{k4();oZ()});function Z_($){return"listAttachedClients"in $&&typeof $.listAttachedClients==="function"&&"listDirectClientInbox"in $&&typeof $.listDirectClientInbox==="function"}function sZ($){return{"client.list":async function*(H){if(!Z_($.localControl)){yield J0(H,"client.list","MISSING_SERVICE","Attached local-control client directory is unavailable.");return}yield d(H,"client.list",{clients:await $.localControl.listAttachedClients()})},"client.inbox.list":async function*(H,K){if(!Z_($.localControl)){yield J0(H,"client.inbox.list","MISSING_SERVICE","Attached local-control client inbox is unavailable.");return}yield d(H,"client.inbox.list",{events:await $.localControl.listDirectClientInbox(K)})}}}var tZ=t(()=>{k1()});function eZ($){let H=$.config;if(!H?.getTheme||!H.setTheme||!H.getAutonomy||!H.setAutonomy)return{"config.theme.get":F0("config","config.theme.get"),"config.theme.set":F0("config","config.theme.set"),"config.autonomy.get":F0("config","config.autonomy.get"),"config.autonomy.set":F0("config","config.autonomy.set")};return{"config.theme.get":async function*(K){try{yield d(K,"config.theme.get",{theme:await H.getTheme()})}catch(J){yield J0(K,"config.theme.get","CONFIG_THEME_GET_FAILED",J instanceof Error?J.message:String(J))}},"config.theme.set":async function*(K,J){let Z=J.theme?.trim();if(!Z){yield J0(K,"config.theme.set","CONFIG_THEME_SET_FAILED","config.theme.set requires a theme");return}try{let X=await H.setTheme(Z);yield d(K,"config.theme.set",{theme:Z,...X&&typeof X==="object"?X:{}})}catch(X){yield J0(K,"config.theme.set","CONFIG_THEME_SET_FAILED",X instanceof Error?X.message:String(X))}},"config.autonomy.get":async function*(K){try{yield d(K,"config.autonomy.get",{autonomy:await H.getAutonomy()})}catch(J){yield J0(K,"config.autonomy.get","CONFIG_AUTONOMY_GET_FAILED",J instanceof Error?J.message:String(J))}},"config.autonomy.set":async function*(K,J){let Z=J.autonomy?.trim();if(!Z){yield J0(K,"config.autonomy.set","CONFIG_AUTONOMY_SET_FAILED","config.autonomy.set requires an autonomy level");return}try{let X=await H.setAutonomy(Z);yield d(K,"config.autonomy.set",{autonomy:Z,...X&&typeof X==="object"?X:{}})}catch(X){yield J0(K,"config.autonomy.set","CONFIG_AUTONOMY_SET_FAILED",X instanceof Error?X.message:String(X))}}}}var $X=t(()=>{k1()});function X_($){let H=$.daemon;if(!H?.start||!H.status||!H.stop)return{"daemon.start":F0("daemon","daemon.start"),"daemon.status":F0("daemon","daemon.status"),"daemon.stop":F0("daemon","daemon.stop")};return{"daemon.start":async function*(K,J){try{yield d(K,"daemon.start",await H.start(J))}catch(Z){yield J0(K,"daemon.start","DAEMON_START_FAILED",Z instanceof Error?Z.message:String(Z))}},"daemon.status":async function*(K,J){try{yield d(K,"daemon.status",await H.status(J))}catch(Z){yield J0(K,"daemon.status","DAEMON_STATUS_FAILED",Z instanceof Error?Z.message:String(Z))}},"daemon.stop":async function*(K,J){try{yield d(K,"daemon.stop",await H.stop(J))}catch(Z){yield J0(K,"daemon.stop","DAEMON_STOP_FAILED",Z instanceof Error?Z.message:String(Z))}}}}var Q_=t(()=>{k1()});function HX($){let H=$.memoria;if(!H)return{"memory.remember":F0("memoria","memory.remember"),"memory.recall":F0("memoria","memory.recall"),"memory.list":F0("memoria","memory.list"),"memory.forget":F0("memoria","memory.forget"),"memory.recall_knowledge":F0("memoria","memory.recall_knowledge")};return{"memory.remember":async function*(K,J){let Z=J.text?.trim();if(!Z){yield J0(K,"memory.remember","MEMORY_REMEMBER_FAILED","memory.remember requires text");return}let X=await H.remember(Z);if(!X?.id){yield J0(K,"memory.remember","MEMORY_REMEMBER_FAILED","Failed to store memory");return}let Q=await H.count(),G=Z.length>50?`${Z.slice(0,50)}...`:Z;yield d(K,"memory.remember",{success:!0,message:`Remembered: "${G}"`,data:{id:X.id,count:Q}})},"memory.recall":async function*(K,J){let Z=J.query?.trim();if(!Z){yield J0(K,"memory.recall","MEMORY_RECALL_FAILED","memory.recall requires a query");return}let X=await H.recall(Z),Q=Array.isArray(X.memories)?X.memories:[];if(Q.length===0){yield d(K,"memory.recall",{success:!0,message:"No memories found matching your query.",count:0,memories:[]});return}yield d(K,"memory.recall",{success:!0,message:`Found ${Q.length} memories:`,count:Q.length,memories:Q})},"memory.list":async function*(K,J){let Z=J,X=await H.list({...typeof Z.limit==="number"?{limit:Z.limit}:{},...typeof Z.offset==="number"?{offset:Z.offset}:{}}),Q=typeof Z.query==="string"&&Z.query.trim().length>0?X.filter((G)=>G.content.toLowerCase().includes(Z.query.trim().toLowerCase())):X;yield d(K,"memory.list",{memories:Q,count:Q.length})},"memory.forget":async function*(K,J){let Z=J.id?.trim();if(!Z){yield J0(K,"memory.forget","MEMORY_FORGET_FAILED","memory.forget requires an id");return}let X=await H.deleteMemory(Z);yield d(K,"memory.forget",{success:!0,message:X?`Deleted memory ${Z}.`:`Memory ${Z} not found or already deleted.`,deleted:X})},"memory.recall_knowledge":async function*(K,J){let Z=J,X=Z.topic?.trim();if(!X){yield J0(K,"memory.recall_knowledge","MEMORY_RECALL_KNOWLEDGE_FAILED","memory.recall_knowledge requires a topic");return}let Q=await H.recallTools({query:X,...typeof Z.limit==="number"?{limit:Z.limit}:{}});yield d(K,"memory.recall_knowledge",{tools:Q,count:Q.length})}}}var KX=t(()=>{k1()});import{randomUUID as Y_}from"node:crypto";import{OutboundMessageSchema as WR}from"@aria-cli/tools";function _R($){let H=$.trim();if(!H)return null;let K=H.indexOf(" ");if(K<=0)return null;let J=H.slice(0,K).trim(),Z=H.slice(K+1).trim();if(!J||!Z)return null;return{recipient:J,content:Z}}function TH($){return $.displayNameSnapshot?.trim()||$.nodeId}function JX($){return $.displayLabel.trim()||$.clientId}function G_($){let H=JX($);return H===$.clientId?$.clientId:`${H} (${$.clientId})`}function z_($){let H=$.trim().replace(/^@/,""),K=H.indexOf("#");if(K>0)return{peer:H.slice(0,K),client:H.slice(K+1)||void 0};let J=H.indexOf("/");if(J>0)return{peer:H.slice(0,J),arion:H.slice(J+1)||void 0};return{peer:H}}function qR($,H){let{peer:K}=z_(H),J=$.find((X)=>X.nodeId.toLowerCase()===K);if(J)return J;let Z=$.filter((X)=>TH(X).toLowerCase()===K);if(Z.length===1)return Z[0];return null}function NR($,H){let K=H.trim().toLowerCase().replace(/^@/,"");return $.filter((J)=>TH(J).toLowerCase()===K).length>1}function FR($,H){let K=H.trim().toLowerCase().replace(/^@/,"");return $.find((J)=>J.clientId.toLowerCase()===K)??null}function PR($,H){let K=H.trim().toLowerCase();return $.find((J)=>JX(J).toLowerCase()===K)??null}function AR($){let H={};if($.targetArion)H.targetArion=$.targetArion;if($.targetClient)H.targetClient=$.targetClient;let K=Object.keys(H).length>0;return{rawMessage:{version:1,id:`headless-send-${Y_()}`,sender:{id:$.senderNodeId,name:$.senderName,type:"arion"},recipient:{id:$.recipient.nodeId,name:TH($.recipient),type:"peer"},type:"message",content:$.content,timestamp:Date.now(),priority:2,...K?{metadata:H}:{}},to:$.recipient.nodeId,type:"message",content:$.content,priority:2,...K?{metadata:H}:{}}}function OR($){return{rawMessage:{version:1,id:`headless-send-${Y_()}`,sender:{id:$.senderNodeId,name:$.senderName,type:"arion"},recipient:{id:$.recipient.clientId,name:JX($.recipient),type:"client"},type:"message",content:$.content,timestamp:Date.now(),priority:2},recipientInbox:{kind:"client",clientId:$.recipient.clientId},type:"message",content:$.content,priority:2}}async function UR($,H){let K=typeof H.args==="string"&&H.args.trim().length>0?_R(H.args):H.recipient&&H.content?{recipient:H.recipient,content:H.content}:null;if(!K)return{ok:!1,code:"MESSAGE_SEND_FAILED",message:"Usage: /send <peer-name|node-id|client-id> <message>"};let[J,Z,X]=await Promise.all([$.localControl.listPeers(),$.localControl.listAttachedClients(),$.localControl.getRuntimeStatus()]),Q=H.senderName?.trim()||"ARIA",G=FR(Z,K.recipient);if(G){if(G.self)return{ok:!1,code:"MESSAGE_SEND_FAILED",message:"Cannot send a same-home message to yourself."};return{ok:!0,outbound:OR({senderNodeId:X.nodeId,senderName:Q,recipient:G,content:K.content}),message:`Sent message to ${G_(G)}.`}}if(NR(J,K.recipient))return{ok:!1,code:"MESSAGE_SEND_FAILED",message:`Multiple peers match "${K.recipient}". Use the nodeId instead.`};let Y=qR(J,K.recipient);if(!Y){let F=PR(Z,K.recipient);if(F)return{ok:!1,code:"MESSAGE_SEND_FAILED",message:`Same-home clients require the exact clientId. Use /clients to choose ${G_(F)}.`};return{ok:!1,code:"MESSAGE_SEND_FAILED",message:`Recipient "${K.recipient}" not found.`}}let z=z_(K.recipient),W=z.arion?`${TH(Y)}/${z.arion}`:z.client?`${TH(Y)}#${z.client}`:TH(Y);return{ok:!0,outbound:AR({senderNodeId:X.nodeId,senderName:Q,recipient:Y,content:K.content,targetArion:z.arion,targetClient:z.client}),message:`Sent message to ${W}.`}}function LR($,H){if($.deliveryState==="queued_for_route")return H.replace(/^Sent/,"Queued");if($.deliveryState==="dispatching")return`${H.slice(0,-1)}; awaiting acknowledgement.`;if($.delivered)return H.replace(/^Sent/,"Delivered");return H}function ZX($){return{"message.send":async function*(H,K){let J=WR.safeParse(K);if(J.success){yield d(H,"message.send",{receipt:await $.localControl.sendDurable(J.data)});return}if(!(K&&typeof K==="object"&&(typeof K.args==="string"||typeof K.recipient==="string"||typeof K.content==="string"))){yield J0(H,"message.send","INVALID_INPUT","Invalid input for message.send");return}let X=await UR($,K);if(!X.ok){yield J0(H,"message.send",X.code,X.message);return}let Q=await $.localControl.sendDurable(X.outbound);yield d(H,"message.send",{receipt:Q,message:LR(Q,X.message)})},"message.inbox.list":async function*(H,K){yield d(H,"message.inbox.list",{events:await $.localControl.listInbox(K)})}}}var XX=t(()=>{k1()});function QX($){let H=$.modelDiscovery;if(!H?.listAvailable||!H.refresh||!H.setCurrentModel)return{"model.list":F0("modelDiscovery","model.list"),"model.set":F0("modelDiscovery","model.set"),"model.refresh":F0("modelDiscovery","model.refresh")};return{"model.list":async function*(K){let J=H.listAvailable;yield d(K,"model.list",{models:await J(),currentModel:await H.getCurrentModel?.()})},"model.set":async function*(K,J){let Z=H.setCurrentModel,X=J.model?.trim();if(!X){yield J0(K,"model.set","MODEL_SET_FAILED","model.set requires a model");return}let Q=await Z(X);yield d(K,"model.set",{currentModel:X,...Q&&typeof Q==="object"?Q:{}})},"model.refresh":async function*(K){let J=H.refresh;yield d(K,"model.refresh",{models:await J(!0)})}}}var GX=t(()=>{k1()});function YX($){return{"peer.list":async function*(H){yield d(H,"peer.list",{peers:await $.localControl.listPeers()})},"peer.list_nearby":async function*(H){yield d(H,"peer.list_nearby",{peers:await $.localControl.listNearbyPeers()})},"peer.pending.list":async function*(H){yield d(H,"peer.pending.list",{requests:await $.localControl.listPendingPairRequests()})},"peer.pending.respond":async function*(H,K){yield d(H,"peer.pending.respond",{response:await $.localControl.respondToPairRequest(K)})},"peer.invite":async function*(H,K){yield d(H,"peer.invite",{invite:await $.localControl.createInvite(K)})},"peer.connect":async function*(H,K){yield d(H,"peer.connect",{invite:await $.localControl.invitePeer(K)})},"peer.accept_invite":async function*(H,K){yield d(H,"peer.accept_invite",{accepted:await $.localControl.acceptInviteToken(K)})},"peer.direct_pair":async function*(H,K){yield d(H,"peer.direct_pair",{pair:await $.localControl.directPair(K)})},"peer.repair":async function*(H,K){yield d(H,"peer.repair",{repair:await $.localControl.repairPeer(K)})},"peer.revoke":async function*(H,K){yield d(H,"peer.revoke",{revoke:await $.localControl.revokePeer(K)})}}}var zX=t(()=>{k1()});function WX($){return{"run.start":async function*(H,K,J){yield*$.start(H,K,J?.signal)},"run.resume":async function*(H,K,J){yield*$.resume(H,K,J?.signal)},"run.abort":async function*(H,K,J){yield*$.abort(H,K,J?.activeRunController)},"interaction.respond":async function*(H,K,J){let Z=K&&typeof K==="object"&&"kind"in K?K:{kind:"interaction.respond",requestId:H,...K};yield*$.respond(Z,J?.signal)}}}var RR={};I3(RR,{createSessionOperationHandlers:()=>v4,buildSessionReadResult:()=>qX,buildSessionLoadResult:()=>NX,buildSessionListResult:()=>_X,buildSessionForkResult:()=>__});function fR($){return{...$,createdAt:$.createdAt.toISOString(),updatedAt:$.updatedAt.toISOString(),...$.completedAt?{completedAt:$.completedAt.toISOString()}:{}}}function W_($){let H=$.sessionId;return typeof H==="string"?H.trim():""}function _X($,H,K){let J=K,Z=typeof J.query==="string"&&J.query.trim().length>0?H.searchSessionSummaries(J.query,J.limit??20,J.offset??0):H.listSessions(J.limit??20,J.offset??0);return d($,"session.list",{sessions:Z.map(fR)})}function qX($,H,K){let J=W_(K);if(!J)return J0($,"session.read","SESSION_READ_FAILED","session.read requires a sessionId");let Z=H.findSessionByPrefix(J)??J,X=H.loadSessionMessages(Z);if(!X)return J0($,"session.read","SESSION_NOT_FOUND",`Session ${J} not found`);return d($,"session.read",{session:X})}function NX($,H,K){let J=W_(K);if(!J)return J0($,"session.load","SESSION_LOAD_FAILED","session.load requires a sessionId");let Z=H.findSessionByPrefix(J)??J,X=H.loadSession(Z);if(!X)return J0($,"session.load","SESSION_NOT_FOUND",`Session ${J} not found`);return d($,"session.load",{session:X.session,loaded:!0,...X.runtimeState?{runtimeState:X.runtimeState}:{},...X.pendingInteraction?{pendingInteraction:X.pendingInteraction}:{}})}function __($,H,K){let J=K,Z=typeof J.sessionId==="string"?J.sessionId.trim():"";if(!Z)return J0($,"session.fork","SESSION_FORK_FAILED","session.fork requires a sessionId");let X=H.findSessionByPrefix(Z)??Z;try{let Q=H.forkSession(X,{messageLimit:J.messageLimit});return d($,"session.fork",{newSessionId:Q.newSessionId,sourceSessionId:Q.sourceSessionId,messagesCopied:Q.messagesCopied,title:Q.title})}catch(Q){return J0($,"session.fork","SESSION_NOT_FOUND",Q.message)}}function v4($){return{"session.list":async function*(H,K){yield _X(H,$.sessionLedger,K)},"session.read":async function*(H,K){yield qX(H,$.sessionLedger,K)},"session.load":async function*(H,K){yield NX(H,$.sessionLedger,K)},"session.fork":async function*(H,K){yield __(H,$.sessionLedger,K)}}}var T4=t(()=>{k1()});var q_=t(()=>{xZ();rZ();tZ();$X();KX();XX();GX();zX();T4()});function N_($){let H=$.hook;if(!H?.extract||!H.reflect||!H.consolidate||!H.ingest||!H.harvest)return{"hook.extract":F0("hook","hook.extract"),"hook.reflect":F0("hook","hook.reflect"),"hook.consolidate":F0("hook","hook.consolidate"),"hook.ingest":F0("hook","hook.ingest"),"hook.harvest":F0("hook","hook.harvest")};return{"hook.extract":async function*(K,J,Z){try{yield d(K,"hook.extract",await H.extract(J,{signal:Z?.signal}))}catch(X){yield J0(K,"hook.extract","HOOK_EXTRACT_FAILED",X instanceof Error?X.message:String(X))}},"hook.reflect":async function*(K,J,Z){try{yield d(K,"hook.reflect",await H.reflect(J,{signal:Z?.signal}))}catch(X){yield J0(K,"hook.reflect","HOOK_REFLECT_FAILED",X instanceof Error?X.message:String(X))}},"hook.consolidate":async function*(K,J,Z){try{yield d(K,"hook.consolidate",await H.consolidate(J,{signal:Z?.signal}))}catch(X){yield J0(K,"hook.consolidate","HOOK_CONSOLIDATE_FAILED",X instanceof Error?X.message:String(X))}},"hook.ingest":async function*(K,J,Z){try{yield d(K,"hook.ingest",await H.ingest(J,{signal:Z?.signal}))}catch(X){yield J0(K,"hook.ingest","HOOK_INGEST_FAILED",X instanceof Error?X.message:String(X))}},"hook.harvest":async function*(K,J,Z){try{yield d(K,"hook.harvest",await H.harvest(J,{signal:Z?.signal}))}catch(X){yield J0(K,"hook.harvest","HOOK_HARVEST_FAILED",X instanceof Error?X.message:String(X))}}}}var F_=t(()=>{k1()});function P_($){let H=$.system;if(!H?.restart||!H.terminalSetup)return{"system.restart":F0("system","system.restart"),"system.terminal_setup":F0("system","system.terminal_setup")};return{"system.restart":async function*(K,J){yield d(K,"system.restart",await H.restart(J))},"system.terminal_setup":async function*(K){yield d(K,"system.terminal_setup",await H.terminalSetup())}}}var A_=t(()=>{k1()});var hR={};I3(hR,{createDaemonService:()=>PX});import{spawn as yR}from"node:child_process";import{existsSync as O_,mkdirSync as BR,openSync as MR,closeSync as wR}from"node:fs";import U_ from"node:path";import{fileURLToPath as FX}from"node:url";function SR($){return new Promise((H)=>setTimeout(H,Math.max($,0)))}function bR(){let $=FX(new URL("../../../server/dist/daemon-launcher.js",import.meta.url));if(O_($))return{command:process.execPath,args:[$]};try{let K=FX(import.meta.resolve("@aria-cli/server/daemon-launcher"));if(O_(K))return{command:process.execPath,args:[K]}}catch{}let H=FX(new URL("../../../server/src/daemon-launcher.ts",import.meta.url));return{command:process.execPath,args:["--import","tsx",H]}}function kR($,H,K){return(typeof K.arion==="string"?K.arion.trim():"")||H||$.config.activeArion?.trim()||"ARIA"}function gR($){return{...typeof $.intervalMs==="number"?{intervalMs:$.intervalMs}:{},...$.allowedToolCategories||$.allowedShellCommands||typeof $.maxWriteOpsPerMinute==="number"||typeof $.maxGitPushesPerHour==="number"?{safetyPolicy:{...Array.isArray($.allowedToolCategories)?{allowedToolCategories:$.allowedToolCategories}:{},...Array.isArray($.allowedShellCommands)?{allowedShellCommands:$.allowedShellCommands}:{},...typeof $.maxWriteOpsPerMinute==="number"?{maxWriteOpsPerMinute:$.maxWriteOpsPerMinute}:{},...typeof $.maxGitPushesPerHour==="number"?{maxGitPushesPerHour:$.maxGitPushesPerHour}:{}}}:{}}}async function vR($){let H=Date.now()+CR,K=null;while(Date.now()<H){try{let J=await Q7({ariaHome:$.ariaHome});if(J){let Z=await J.getRuntimeStatus();if(!$.requireRunning||Z.autonomousLoop.status==="running")return Z}}catch(J){K=J instanceof Error?J:Error(String(J))}await SR(IR)}throw Error(K?.message??"Timed out waiting for the daemon runtime to become reachable")}function TR($){let H=bR(),K=[...H.args,"--arion",$.arionName];if(typeof $.input.port==="number")K.push("--port",String($.input.port));if(typeof $.input.intervalMs==="number")K.push("--interval-ms",String($.input.intervalMs));if(Array.isArray($.input.allowedToolCategories)&&$.input.allowedToolCategories.length>0)K.push("--allowed-tool-categories",$.input.allowedToolCategories.join(","));if(Array.isArray($.input.allowedShellCommands)&&$.input.allowedShellCommands.length>0)K.push("--allowed-shell-commands",$.input.allowedShellCommands.join(","));if(typeof $.input.maxWriteOpsPerMinute==="number")K.push("--max-write-ops-per-minute",String($.input.maxWriteOpsPerMinute));if(typeof $.input.maxGitPushesPerHour==="number")K.push("--max-git-pushes-per-hour",String($.input.maxGitPushesPerHour));let J=U_.join($.ariaHome,"logs");BR(J,{recursive:!0});let Z=MR(U_.join(J,"daemon-stderr.log"),"a");yR(H.command,K,{cwd:$.cwd,env:{...process.env,ARIA_HOME:$.ariaHome},detached:!0,stdio:["ignore","ignore",Z]}).unref(),wR(Z)}function PX($){let H=$.cli.ariaDir,K=!1,J=()=>$.getArionName?.()??$.arionName??"ARIA",Z=(Q)=>{let G=typeof Q.arion==="string"?Q.arion.trim():"",Y=J();if(G&&G!==Y)throw Error(`daemon operations are scoped to ${Y}; switch scope with arion.become before targeting ${G}`);return G||Y},X=async()=>{if(!$.localControl)return null;try{return await $.localControl.getRuntimeStatus(),$.localControl}catch{return null}};return{async start(Q){let G=kR($.cli,Z(Q),Q),Y=await X();if(!Y)return K=!0,TR({ariaHome:H,cwd:$.cwd,arionName:G,input:Q}),vR({ariaHome:H,requireRunning:!0});let z=await Y.getRuntimeStatus();if(z.autonomousLoop.status==="running")return K=!1,z;if(!Y.startAutonomousLoop)throw Error("Live runtime does not expose autonomous-loop start control");return K=!0,Y.startAutonomousLoop(gR(Q))},async status(Q={}){Z(Q);let G=await X();if(!G)throw Error("No live runtime is available for daemon.status");return G.getRuntimeStatus()},async stop(Q={}){Z(Q);let G=await X();if(!G)throw Error("No live runtime is available for daemon.stop");if(!G.stopAutonomousLoop)throw Error("Live runtime does not expose autonomous-loop stop control");return K=!1,G.stopAutonomousLoop()},shouldStopOnShutdown(){return K},async releaseAll(){}}}var CR=15000,IR=250;var L_=t(()=>{o5()});import{lightReflection as DR}from"@aria-cli/aria";import{ingestClaudeCodeHistory as VR}from"@aria-cli/memoria-bridge";function T9($){if(!$?.aborted)return;let H=$.reason instanceof Error&&$.reason.message?$.reason.message:"The operation was aborted",K=Error(H);throw K.name="AbortError",K}function ER($={}){let H={preHarvest:$.preHarvest===!0,feedback:$.feedback===!0,extract:$.extract===!0,stats:$.stats===!0,cleanup:$.cleanup===!0,cost:$.cost===!0,all:$.all===!0,limit:typeof $.limit==="number"&&Number.isInteger($.limit)&&$.limit>0?$.limit:50};if(H.all)H.preHarvest=!0,H.extract=!0,H.stats=!0;return H}async function R_($,H,K={}){if(T9(K.signal),!H)return{output:{error:"no input on stdin"},exitCode:1};let J;try{if(J=JSON.parse(H),!Array.isArray(J))throw Error("expected array")}catch{return{output:{error:"stdin must be JSON array of {user, assistant} pairs"},exitCode:1}}if(J.length>f_)return{output:{error:`hook.extract accepts at most ${f_} pairs per request`},exitCode:1};let Z=[],X=0,Q=Array.from({length:Math.min(cR,J.length)},async()=>{while(!0){T9(K.signal);let G=X;if(X+=1,G>=J.length)return;let Y=J[G];if(!Y.user||!Y.assistant){Z[G]={user:Y.user??"",extracted:0,error:"missing user or assistant"};continue}try{let z=await $.extractFromConversation(Y.user,Y.assistant);T9(K.signal);let W=z?.learned;Z[G]={user:Y.user.slice(0,80),extracted:Array.isArray(W)?W.length:0}}catch(z){T9(K.signal),Z[G]={user:Y.user.slice(0,80),extracted:0,error:z instanceof Error?z.message:String(z)}}}});return await Promise.all(Q),{output:{extracted:Z}}}async function AX($,H,K,J={}){T9(J.signal);let Z=[];if(K)try{let X=JSON.parse(K);if(Array.isArray(X)){for(let Q of X)if(Q.role&&Q.content)Z.push({role:Q.role,content:typeof Q.content==="string"?Q.content:JSON.stringify(Q.content)})}}catch{Z.push({role:"user",content:"Session review"}),Z.push({role:"assistant",content:K})}if(Z.length<2)return{output:{findings:null,reason:"insufficient conversation"}};try{let X=await DR(H,$,Z);return T9(J.signal),{output:{findings:X}}}catch(X){return T9(J.signal),{output:{findings:null,error:X instanceof Error?X.message:String(X)}}}}async function y_($,H={}){T9(H.signal);try{let K=await $.reflect({full:!1});return T9(H.signal),{output:K}}catch(K){return T9(H.signal),{output:{error:K instanceof Error?K.message:String(K)}}}}async function B_($,H={}){T9(H.signal);try{let K=await VR($);return T9(H.signal),{output:K}}catch(K){return T9(H.signal),{output:{error:K instanceof Error?K.message:String(K)}}}}async function M_($,H,K={},J={}){T9(J.signal);let Z=ER(K);if(!Z.feedback&&!Z.extract&&!Z.stats&&!Z.cleanup)return{output:{help:"Use hook.harvest via `aria call` or the persistent headless server.",actions:["--extract: session extraction WITH LLM","--stats: health dashboard (includes learning velocity + dupe rate)","--cleanup: garbage removal","--all: extract + stats","--feedback: (deprecated, no-op)"]}};let X={};if(Z.extract)process.stderr.write(`[harvest] Running extraction...
340
- `),T9(J.signal),X.extract=jR(await AX($,H,"",J));if(Z.stats)try{T9(J.signal),X.stats=await $.reflect({full:!1}),T9(J.signal)}catch(Q){T9(J.signal),X.stats={error:Q instanceof Error?Q.message:String(Q)}}if(Z.cleanup)X.cleanup={skipped:!0,message:"cleanup remains a no-op in headless cutover"};if(Z.cost&&Z.preHarvest)X.cost=X.preHarvest?.cost??null;if(Z.feedback)process.stderr.write(`[harvest] --feedback is deprecated and has no effect. Use --pre-harvest instead.
341
- `),X.feedback={deprecated:!0};return{output:X}}function jR($){return $.output}var f_=50,cR=5;var w_=()=>{};import mR from"node:path";function dR($){return mR.join("arions",$,"memory.db")}function o7($){if($.output&&typeof $.output==="object")return $.output;return{value:$.output}}function C_($){let H=()=>process.env.ARIA_MEMORY_PATH||dR($.getArionName?.()??$.arionName),K=async(J)=>{let Z=await $.cli.pool.get($.resolveMemoriaPath?await $.resolveMemoriaPath():H());return J(Z)};return{async extract(J,Z){return K(async(X)=>o7(await R_(X,JSON.stringify(J.pairs??[]),{signal:Z?.signal})))},async reflect(J,Z){let X=typeof J.conversation==="string"?J.conversation:JSON.stringify(J.messages??[]);return K(async(Q)=>o7(await AX(Q,$.cli.router,X,Z)))},async consolidate(J,Z){return K(async(X)=>o7(await y_(X,Z)))},async ingest(J,Z){return K(async(X)=>o7(await B_(X,Z)))},async harvest(J,Z){return K(async(X)=>o7(await M_(X,$.cli.router,J,Z)))}}}var I_=t(()=>{w_()});import{randomUUID as S_}from"node:crypto";import{buildAuthorizeUrl as pR,completeGitHubCopilotDeviceFlow as lR,exchangeCodeForTokens as xR,generatePkce as uR,generateState as rR,getOAuthConfig as aR,requestGitHubCopilotDeviceCode as nR,upsertAuthProfile as iR}from"@aria-cli/auth";function J9($,H,K,J,Z){return{kind:"result",requestId:$,op:H,ok:!1,error:{code:K,message:J,...Z?{details:Z}:{}}}}function hH($,H,K){return{kind:"result",requestId:$,op:H,ok:!0,result:K}}function b_($){return $.map((H)=>({id:H.id,label:H.label,...H.email||H.status?{description:[H.status,H.email].filter(Boolean).join(" · ")}:{}}))}function k_($){return $.map((H)=>({id:H.id,label:H.label,...H.description||H.status?{description:[H.description,H.status].filter(Boolean).join(" · ")}:{}}))}function OX($){return{interactionId:$.interactionId,source:$.source,interaction:$.interaction}}function oR($,H){return{...$,__authPending:H}}function sR($){let H=$.__authPending;if(!H||typeof H!=="object")return null;return H}class UX{auth;sessionLedger;getActiveArionName;constructor($,H,K){this.auth=$;this.sessionLedger=H;this.getActiveArionName=K}async*login($,H,K){if(!this.auth?.login||!this.auth.status){yield J9($,"auth.login","MISSING_SERVICE","Kernel service auth is not configured for auth.login.");return}let J=await this.auth.login(H);yield*this.framesForInitialLoginResult($,"auth.login",J,K)}async*logout($,H){if(!this.auth?.logout){yield J9($,"auth.logout","MISSING_SERVICE","Kernel service auth is not configured for auth.logout.");return}let K=await this.auth.logout(H);if(K.mode==="direct"){if(K.result.success){yield hH($,"auth.logout",K.result);return}yield J9($,"auth.logout","AUTH_LOGOUT_FAILED",K.result.message);return}let J=await this.persistNewInteraction($,{pending:{type:"logout-provider"},interaction:{kind:"selection",prompt:"Choose a provider to disconnect.",options:b_(K.providers)}});yield J,yield J9($,"auth.logout","INTERACTION_REQUIRED","auth.logout requires additional interaction before it can continue.",OX(J))}async*respond($,H){let K=this.sessionLedger.getInteraction($.interactionId);if(!K||K.source!=="auth"){yield J9($.requestId,"interaction.respond","INTERACTION_NOT_FOUND",`Unknown interaction ${$.interactionId}`);return}let J=sR(K.prompt);if(!J){yield J9($.requestId,"interaction.respond","INVALID_INTERACTION_STATE",`Interaction ${$.interactionId} is missing auth resume state.`);return}let Z=`auth:${$.requestId}`,X=this.sessionLedger.claimSessionForMutation(K.sessionId,Z,30000),Q=!1,G=()=>{if(Q)return;Q=!0,this.sessionLedger.releaseSessionClaim(K.sessionId,Z)};try{if($.response.kind==="cancel"){this.sessionLedger.cancelInteraction(K.sessionId,K.interactionId,{ownerId:Z,expectedRevision:X.revision}),G(),yield J9($.requestId,"interaction.respond","INTERACTION_CANCELED","Interaction canceled.");return}switch(J.type){case"login-provider":{if($.response.kind!=="selection"){G(),yield J9($.requestId,"interaction.respond","INVALID_INTERACTION_RESPONSE","Provider selection requires a selection response.");return}let Y=await this.auth?.login?.({args:$.response.selected});this.sessionLedger.recordInteractionResponse(K.sessionId,K.interactionId,$.response,{ownerId:Z,expectedRevision:X.revision}),yield*this.framesForContinuedLoginResult($.requestId,Y,K.sessionId,Z,X.revision+1,H);return}case"logout-provider":{if($.response.kind!=="selection"){G(),yield J9($.requestId,"interaction.respond","INVALID_INTERACTION_RESPONSE","Provider selection requires a selection response.");return}let Y=await this.auth?.logout?.({args:$.response.selected});if(this.sessionLedger.recordInteractionResponse(K.sessionId,K.interactionId,$.response,{ownerId:Z,expectedRevision:X.revision}),this.sessionLedger.completeRun(K.sessionId,{success:Y.mode==="direct"?Y.result.success:!1,message:Y.mode==="direct"?Y.result.message:"auth.logout requires additional interaction."},{ownerId:Z,expectedRevision:X.revision+1}),G(),Y.mode==="direct"&&Y.result.success){yield hH($.requestId,"interaction.respond",Y.result);return}yield J9($.requestId,"interaction.respond","AUTH_LOGOUT_FAILED",Y.mode==="direct"?Y.result.message:"auth.logout requires interaction.");return}case"login-method":{if($.response.kind!=="selection"){G(),yield J9($.requestId,"interaction.respond","INVALID_INTERACTION_RESPONSE","Method selection requires a selection response.");return}let Y=await this.auth?.login?.({args:`${J.provider} --method ${$.response.selected}`});this.sessionLedger.recordInteractionResponse(K.sessionId,K.interactionId,$.response,{ownerId:Z,expectedRevision:X.revision}),yield*this.framesForContinuedLoginResult($.requestId,Y,K.sessionId,Z,X.revision+1,H);return}case"copilot-source":{if($.response.kind!=="selection"){G(),yield J9($.requestId,"interaction.respond","INVALID_INTERACTION_RESPONSE","GitHub Copilot source selection requires a selection response.");return}let Y=await this.auth?.login?.({args:`github-copilot --from ${$.response.selected}`});this.sessionLedger.recordInteractionResponse(K.sessionId,K.interactionId,$.response,{ownerId:Z,expectedRevision:X.revision}),yield*this.framesForContinuedLoginResult($.requestId,Y,K.sessionId,Z,X.revision+1,H);return}case"credential-input":{if($.response.kind!=="credential_input"){G(),yield J9($.requestId,"interaction.respond","INVALID_INTERACTION_RESPONSE","Credential input requires a credential_input response.");return}let Y=$.response.values[J.fieldKey];if(typeof Y!=="string"||Y.trim().length===0){G(),yield J9($.requestId,"interaction.respond","INVALID_INTERACTION_RESPONSE",`Missing credential field ${J.fieldKey}.`);return}let z=await this.auth?.login?.({args:`${J.commandPrefix} ${Y.trim()}`.trim()});this.sessionLedger.recordInteractionResponse(K.sessionId,K.interactionId,$.response,{ownerId:Z,expectedRevision:X.revision}),yield*this.framesForContinuedLoginResult($.requestId,z,K.sessionId,Z,X.revision+1,H);return}case"oauth-code":{if($.response.kind!=="credential_input"){G(),yield J9($.requestId,"interaction.respond","INVALID_INTERACTION_RESPONSE","OAuth code entry requires a credential_input response.");return}let Y=$.response.values[J.fieldKey];if(typeof Y!=="string"||Y.trim().length===0){G(),yield J9($.requestId,"interaction.respond","INVALID_INTERACTION_RESPONSE",`Missing credential field ${J.fieldKey}.`);return}this.sessionLedger.recordInteractionResponse(K.sessionId,K.interactionId,$.response,{ownerId:Z,expectedRevision:X.revision});let z=await xR(J.provider,Y.trim(),J.codeVerifier);iR({profileId:`${J.provider}:oauth`,credential:{type:"oauth",provider:J.provider,access:z.access,refresh:z.refresh,expires:z.expires}}),this.sessionLedger.completeRun(K.sessionId,{success:!0,message:`Logged in to ${J.provider} successfully`},{ownerId:Z,expectedRevision:X.revision+1}),G(),yield hH($.requestId,"interaction.respond",{success:!0,message:`Logged in to ${J.provider} successfully`});return}case"copilot-device":{if($.response.kind!=="oauth_device"){G(),yield J9($.requestId,"interaction.respond","INVALID_INTERACTION_RESPONSE","GitHub Copilot device flow requires an oauth_device response.");return}this.sessionLedger.recordInteractionResponse(K.sessionId,K.interactionId,$.response,{ownerId:Z,expectedRevision:X.revision});let Y=await lR({deviceCode:J.deviceCode,profileLabel:J.profileLabel,signal:H?.signal});if(this.sessionLedger.completeRun(K.sessionId,Y,{ownerId:Z,expectedRevision:X.revision+1}),G(),Y.success){yield hH($.requestId,"interaction.respond",Y);return}yield J9($.requestId,"interaction.respond","AUTH_LOGIN_FAILED",Y.message);return}}}catch(Y){G(),yield J9($.requestId,"interaction.respond","AUTH_INTERACTION_FAILED",Y instanceof Error?Y.message:String(Y))}}async*framesForInitialLoginResult($,H,K,J){if(K.mode==="direct"){if(K.result.success){yield hH($,H,K.result);return}yield J9($,H,"AUTH_LOGIN_FAILED",K.result.message);return}let Z=await this.buildLoginInteractionSpec(K,J),X=await this.persistNewInteraction($,Z);yield X,yield J9($,H,"INTERACTION_REQUIRED","auth.login requires additional interaction before it can continue.",OX(X))}async*framesForContinuedLoginResult($,H,K,J,Z,X){if(H.mode==="direct"){if(this.sessionLedger.completeRun(K,H.result,{ownerId:J,expectedRevision:Z}),this.sessionLedger.releaseSessionClaim(K,J),H.result.success){yield hH($,"interaction.respond",H.result);return}yield J9($,"interaction.respond","AUTH_LOGIN_FAILED",H.result.message);return}let Q=await this.buildLoginInteractionSpec(H,X),G=this.persistContinuedInteraction($,Q,K,J,Z);yield G,yield J9($,"interaction.respond","INTERACTION_REQUIRED","auth.login requires additional interaction before it can continue.",OX(G))}async buildLoginInteractionSpec($,H){switch($.mode){case"picker":return{pending:{type:"login-provider"},interaction:{kind:"selection",prompt:"Choose a provider to sign in with.",options:b_($.providers)}};case"anthropic_method_picker":case"openai_method_picker":case"google_method_picker":return{pending:{type:"login-method",provider:$.provider},interaction:{kind:"selection",prompt:`Choose how to sign in to ${$.provider}.`,options:k_($.options)}};case"copilot_source_picker":return{pending:{type:"copilot-source"},interaction:{kind:"selection",prompt:"Choose a GitHub Copilot credential source.",options:k_($.options)}};case"anthropic_key_input":case"openai_key_input":case"google_key_input":return{pending:{type:"credential-input",commandPrefix:$.provider,fieldKey:"apiKey"},interaction:{kind:"credential_input",prompt:`Enter the API key for ${$.provider}.`,provider:$.provider,fields:[this.secretField("apiKey",`${$.provider} API key`)]}};case"anthropic_setup_token":return{pending:{type:"credential-input",commandPrefix:"anthropic --setup-token",fieldKey:"setupToken"},interaction:{kind:"credential_input",prompt:"Enter the Anthropic setup token.",provider:"anthropic",fields:[this.secretField("setupToken","Anthropic setup token")]}};case"oauth":{let{codeVerifier:K,codeChallenge:J}=uR(),Z=aR($.provider),X=Z.redirectUri.startsWith("http://127.0.0.1")?rR():K,Q=pR($.provider,J,X);return{pending:{type:"oauth-code",provider:$.provider,fieldKey:"authorizationCode",codeVerifier:K},interaction:{kind:"credential_input",prompt:`Sign in to ${$.provider} to continue.`,provider:$.provider,mode:"oauth_authorization_code",authorizeUrl:Q,callbackMode:Z.redirectUri.startsWith("http://127.0.0.1")?"local_callback":"manual_code",...Z.redirectUri.startsWith("http://127.0.0.1")?{expectedState:X}:{},fields:[{key:"authorizationCode",label:"Authorization code"}]}}}case"copilot_device":{let K=await nR({signal:H?.signal});return{pending:{type:"copilot-device",profileLabel:$.profileLabel,deviceCode:K},interaction:{kind:"oauth_device",prompt:$.message??"Open the verification URL, enter the device code, then confirm to continue.",provider:"github-copilot",...$.profileLabel?{profileLabel:$.profileLabel}:{},verificationUri:K.verificationUri,userCode:K.userCode,expiresAt:new Date(K.expiresAt).toISOString(),intervalSeconds:Math.ceil(K.intervalMs/1000)}}}}}async persistNewInteraction($,H){let K=`auth:${S_()}`;if(!this.sessionLedger.loadSession(K))this.sessionLedger.createSession(await this.getActiveArionName(),"auth",K);let J=`auth:${$}`,Z=this.sessionLedger.claimSessionForMutation(K,J,30000);try{return this.persistInteractionRecord($,K,J,Z.revision,H.pending,H.interaction)}finally{this.sessionLedger.releaseSessionClaim(K,J)}}persistContinuedInteraction($,H,K,J,Z){let X=this.persistInteractionRecord($,K,J,Z,H.pending,H.interaction);return this.sessionLedger.releaseSessionClaim(K,J),X}persistInteractionRecord($,H,K,J,Z,X){let Q=`auth:${S_()}`;return this.sessionLedger.recordPausedRun(H,`auth:${H}`,{kind:"auth"},{kind:"auth"},{interactionId:Q,requestId:$,source:"auth",kind:X.kind,prompt:oR(X,Z)},{ownerId:K,expectedRevision:J}),{kind:"interaction.required",requestId:$,interactionId:Q,source:"auth",interaction:X}}secretField($,H){return{key:$,label:H,secret:!0}}}var g_=()=>{};import{randomUUID as v_}from"node:crypto";import{isDeepStrictEqual as tR}from"node:util";import{resolveTrustedRuntimeErrorMessage as eR}from"@aria-cli/tools";function Hy(){return{output:"",messages:[],toolCalls:[],usage:void 0,turnCount:0,thinking:[],nativeToolResults:[],pipelineTiming:void 0,guardrailEvents:[],handoffs:[],pausedState:null}}function Ky($){return{success:!$.pausedState,...$.output?{output:$.output}:{},...$.messages.length>0?{messages:$.messages}:{},...$.toolCalls.length>0?{toolCalls:$.toolCalls}:{},...$.usage!==void 0?{usage:$.usage}:{},...$.turnCount>0?{turnCount:$.turnCount}:{},...$.thinking.length>0?{thinking:$.thinking}:{},...$.nativeToolResults.length>0?{nativeToolResults:$.nativeToolResults}:{},...$.pipelineTiming!==void 0?{pipelineTiming:$.pipelineTiming}:{},...$.guardrailEvents.length>0?{guardrailEvents:$.guardrailEvents}:{},...$.handoffs.length>0?{handoffs:$.handoffs}:{},...$.pausedState?{state:$.pausedState}:{}}}function Jy($,H,K){return{code:$,message:H,...K?{details:K}:{}}}function z1($,H,K,J,Z){return{kind:"result",requestId:$,op:H,ok:!1,error:Jy(K,J,Z)}}function LX($,H,K){return{kind:"result",requestId:$,op:H,ok:!0,result:K}}function h_($){return{...$.arion?{arion:$.arion}:{},...$.cwd?{cwd:$.cwd}:{},...$.requestedModel?{requestedModel:$.requestedModel}:{},...$.preferredTier?{preferredTier:$.preferredTier}:{},...typeof $.budget==="number"?{budget:$.budget}:{},...typeof $.maxTurns==="number"?{maxTurns:$.maxTurns}:{},...$.autonomy?{autonomy:$.autonomy}:{},...$.allowedTools?{allowedTools:$.allowedTools}:{},...$.deniedTools?{deniedTools:$.deniedTools}:{},...typeof $.noMemory==="boolean"?{noMemory:$.noMemory}:{},...$.systemPrompt?{systemPrompt:$.systemPrompt}:{}}}function D_($,H){if($.arion||!H)return $;return{...$,arion:H}}function Zy($){let{sessionId:H,...K}=$;return K}function Xy($){let{sessionId:H,...K}=$;return K}function V_($,H){if($.requestedModel||!H)return $;return{...$,requestedModel:H}}function _3($,H,K){if(!Array.isArray(K)||K.length===0)return;$.replaceConversationMessages(H,l8(K))}function fX($,H,K){if((K.pendingUserQuestions?.length??0)>0){let J=`${H}:questionnaire:${v_()}`,Z={kind:"questionnaire",questions:K.pendingUserQuestions??[]};return{record:{interactionId:J,requestId:$,source:"run",kind:Z.kind,prompt:Z},frame:{kind:"interaction.required",requestId:$,interactionId:J,source:"run",interaction:Z}}}if((K.pendingToolCalls?.length??0)>0){let J=K.pendingToolCalls[0],Z=`${H}:tool-approval:${v_()}`,X={kind:"tool_approval",toolName:J.name,toolInput:J.arguments,prompt:`Approval required for ${J.name}`};return{record:{interactionId:Z,requestId:$,source:"run",kind:X.kind,prompt:X},frame:{kind:"interaction.required",requestId:$,interactionId:Z,source:"run",interaction:X}}}return null}function Qy($,H,K,J,Z){let X={state:$,...Z??{}};if(H.kind==="tool_approval"){if(K.response.kind!=="confirm")throw Error(`Interaction ${H.interactionId} requires a confirm response`);return{...X,approvalMode:K.response.approved?"approve":"deny",...J>=0?{}:{}}}if(H.kind==="questionnaire"){if(K.response.kind!=="questionnaire")throw Error(`Interaction ${H.interactionId} requires a questionnaire response`);return{...X,askUserAnswers:K.response.answers}}throw Error(`Unsupported run interaction kind ${H.kind}`)}class O1{ctx;constructor($){this.ctx=$}renewSessionLease($,H){let K=this.ctx.sessionLedger;if(typeof K.renewSessionClaim==="function")return K.renewSessionClaim($,H,T_);return K.claimSessionForMutation($,H,T_)}clearRunningSession($,H,K){let J=this.ctx.sessionLedger;if(typeof J.clearActiveRun==="function")return J.clearActiveRun($,{ownerId:H,expectedRevision:K});return J.completeRun($,{},{ownerId:H,expectedRevision:K})}releaseClaimOnce($,H){let K=!1;return()=>{if(K)return;K=!0,this.ctx.sessionLedger.releaseSessionClaim($,H)}}static isAbortError($){return $ instanceof Error&&($.name==="AbortError"||$.message==="The operation was aborted"||$.message==="This operation was aborted")}static createAbortReason($,H){let K=Error(H);return K.name="AbortError",K.code=$,K}static getAbortCode($,H){let K=$?.aborted?$.reason:H;if(K&&typeof K==="object"&&"code"in K&&typeof K.code==="string")return K.code;return $?.aborted||O1.isAbortError(H)?"RUN_ABORTED":null}static getAbortMessage($,H){let K=$?.aborted?$.reason:H;if(K instanceof Error&&K.message)return K.message;return"Run aborted before completion."}async*start($,H,K){let J=H.sessionId?.trim()||$,Z=`headless:${$}`,X=this.ctx.getSessionModel?.(),Q=this.ctx.getSessionArion?.(),G=V_(D_(H,Q),X),Y=G.arion??this.ctx.getSessionArion?.()??"ARIA",z=G.requestedModel??G.preferredTier??"balanced",W=h_(G);if(!this.ctx.sessionLedger.loadSession(J))this.ctx.sessionLedger.createSession(Y,z,J);let F=this.ctx.sessionLedger.claimSessionForMutation(J,Z,30000),q=this.releaseClaimOnce(J,Z),A=Hy(),U=new AbortController,R=null,I=null,S=null;if(K){let C=()=>{U.abort(O1.createAbortReason("CONNECTION_CLOSED","Connection closed before request completed"))};if(K.aborted)C();else K.addEventListener("abort",C,{once:!0}),R=()=>K.removeEventListener("abort",C)}I=setInterval(()=>{try{F=this.renewSessionLease(J,Z)}catch(C){U.abort(O1.createAbortReason("SESSION_LEASE_LOST",C instanceof Error?C.message:String(C)))}},$y);try{for await(let w of this.ctx.localControl.streamRun(Zy(G),U.signal)){if(U.signal.aborted){q();return}this.consumeRunEvent(A,w),yield{kind:"event",requestId:$,seq:A.turnCount+A.toolCalls.length+A.thinking.length,op:"run.start",event:w}}if(U.signal.aborted){_3(this.ctx.sessionLedger,J,A.messages),this.clearRunningSession(J,Z,F.revision),q();let w=O1.getAbortCode(U.signal);if(w!=="CONNECTION_CLOSED")yield z1($,"run.start",w??"RUN_ABORTED",O1.getAbortMessage(U.signal),{sessionId:J,runId:`run:${J}`});return}if(A.pausedState){_3(this.ctx.sessionLedger,J,A.pausedState.messages);let w=fX($,J,A.pausedState);if(this.ctx.sessionLedger.recordPausedRun(J,`run:${J}`,A.pausedState,W,w?.record,{ownerId:Z,expectedRevision:F.revision}),q(),w)yield w.frame;yield z1($,"run.start","INTERACTION_REQUIRED","Run paused and requires interaction before it can continue.",{sessionId:J,...w?{interactionId:w.frame.interactionId,source:w.frame.source,interaction:w.frame.interaction}:{}});return}let C=Ky(A);S=()=>{let w=Array.isArray(C.messages)?C.messages.length:0;F1(`orchestrator:persistTranscript(${w} msgs)`);let B=performance.now();_3(this.ctx.sessionLedger,J,C.messages);let y=performance.now();F1("orchestrator:completeRun"),this.ctx.sessionLedger.completeRun(J,C,{ownerId:Z,expectedRevision:F.revision});let M=performance.now();i9(),q();let m=M-B;if(m>100)try{process.stderr.write(`[Orchestrator][DIAG] deferredPersistence: total=${m.toFixed(0)}ms transcript=${(y-B).toFixed(0)}ms completeRun=${(M-y).toFixed(0)}ms msgs=${w}
342
- `)}catch{}},yield LX($,"run.start",C)}catch(C){try{if(U.signal.aborted||O1.isAbortError(C))_3(this.ctx.sessionLedger,J,A.messages),this.clearRunningSession(J,Z,F.revision);q()}catch{}if(U.signal.aborted||O1.isAbortError(C)){let w=O1.getAbortCode(U.signal,C);if(w!=="CONNECTION_CLOSED")yield z1($,"run.start",w??"RUN_ABORTED",O1.getAbortMessage(U.signal,C),{sessionId:J,runId:`run:${J}`});return}yield z1($,"run.start","RUN_START_FAILED",C instanceof Error?C.message:String(C))}finally{if(I)clearInterval(I);if(R?.(),S){let C=S;S=null,setTimeout(()=>{try{F1("orchestrator:deferredPersistence");let w=performance.now();C();let B=performance.now()-w;if(i9(),B>200)try{process.stderr.write(`[Orchestrator][DIAG] deferredPersistence blocked ${B.toFixed(0)}ms
343
- `)}catch{}}catch{i9(),q()}},0)}}}async*resume($,H,K){let J=H.sessionId?.trim(),Z=`headless:${$}`,X=this.ctx.getSessionModel?.(),Q=this.ctx.getSessionArion?.(),G=V_(D_(H,Q),X),Y=Xy(G),z=h_(Y),W=!1,F=null;try{if(K?.aborted)return;if(J){if(!this.ctx.sessionLedger.loadSession(J))this.ctx.sessionLedger.createSession(G.arion??this.ctx.getSessionArion?.()??"ARIA",G.requestedModel??G.preferredTier??"balanced",J),W=!0;F=this.ctx.sessionLedger.claimSessionForMutation(J,Z,30000)}let q=await this.ctx.localControl.resumeRun(Y);if(K?.aborted){if(J&&F){if(this.ctx.sessionLedger.releaseSessionClaim(J,Z),W)this.ctx.sessionLedger.deleteSession(J)}return}if(J&&F){if(q.state){let A=q.state;_3(this.ctx.sessionLedger,J,A.messages);let U=fX($,J,A);if(this.ctx.sessionLedger.recordPausedRun(J,`run:${J}`,A,z,U?.record,{ownerId:Z,expectedRevision:F.revision}),this.ctx.sessionLedger.releaseSessionClaim(J,Z),U)yield U.frame;yield z1($,"run.resume","INTERACTION_REQUIRED","Run paused and requires interaction before it can continue.",{sessionId:J,...U?{interactionId:U.frame.interactionId,source:U.frame.source,interaction:U.frame.interaction}:{}});return}_3(this.ctx.sessionLedger,J,q.messages),this.ctx.sessionLedger.completeRun(J,q,{ownerId:Z,expectedRevision:F.revision}),this.ctx.sessionLedger.releaseSessionClaim(J,Z)}yield LX($,"run.resume",q)}catch(q){if(J&&F)try{if(this.ctx.sessionLedger.releaseSessionClaim(J,Z),W)this.ctx.sessionLedger.deleteSession(J)}catch{}if(K?.aborted||O1.isAbortError(q))return;yield z1($,"run.resume","RUN_RESUME_FAILED",q instanceof Error?q.message:String(q))}}async*abort($,H,K){if(await(K??this.ctx.activeRunController)?.abort(H)){yield{kind:"result",requestId:$,op:"run.abort",ok:!0,result:{aborted:!0,...H.runId?{runId:H.runId}:{},...H.sessionId?{sessionId:H.sessionId}:{}}};return}yield z1($,"run.abort","RUN_NOT_FOUND","No active run matched the requested runId or sessionId.",{...H.runId?{runId:H.runId}:{},...H.sessionId?{sessionId:H.sessionId}:{}})}async*respond($,H){let K=this.ctx.sessionLedger.getInteraction($.interactionId);if(!K){yield z1($.requestId,"interaction.respond","INTERACTION_NOT_FOUND",`Unknown interaction ${$.interactionId}`);return}if(K.source!=="run"){yield z1($.requestId,"interaction.respond","UNSUPPORTED_INTERACTION_SOURCE",`Interaction source ${K.source} is not handled by the run orchestrator`);return}let J=this.ctx.sessionLedger.getSessionRuntimeState(K.sessionId);if(!J?.pausedState){yield z1($.requestId,"interaction.respond","SESSION_NOT_PAUSED",`Session ${K.sessionId} is not paused`);return}let Z=`headless:${$.requestId}`;try{if(H?.aborted)return;let X=this.ctx.sessionLedger.claimSessionForMutation(K.sessionId,Z,30000),Q=$.response,G=X.revision;if(K.status==="pending")this.ctx.sessionLedger.recordInteractionResponse(K.sessionId,K.interactionId,Q,{ownerId:Z,expectedRevision:X.revision}),G+=1;else if(K.status==="answered"){if(!K.response){this.ctx.sessionLedger.releaseSessionClaim(K.sessionId,Z),yield z1($.requestId,"interaction.respond","INVALID_INTERACTION_STATE",`Interaction ${K.interactionId} is missing its recorded response`);return}if(!tR(K.response,Q)){this.ctx.sessionLedger.releaseSessionClaim(K.sessionId,Z),yield z1($.requestId,"interaction.respond","INTERACTION_ALREADY_ANSWERED",`Interaction ${K.interactionId} was already answered with a different response`);return}Q=K.response}else{this.ctx.sessionLedger.releaseSessionClaim(K.sessionId,Z),yield z1($.requestId,"interaction.respond","INTERACTION_NOT_PENDING",`Interaction ${K.interactionId} is not resumable in state ${K.status}`);return}let Y=Qy(J.pausedState,K,{...$,response:Q},J.revision,J.policySnapshot),z=await this.ctx.localControl.resumeRun(Y);if(H?.aborted){this.ctx.sessionLedger.releaseSessionClaim(K.sessionId,Z);return}if(z.state){let W=z.state;_3(this.ctx.sessionLedger,K.sessionId,W.messages);let F=fX($.requestId,K.sessionId,W);if(this.ctx.sessionLedger.recordPausedRun(K.sessionId,J.activeRunId??`run:${K.sessionId}`,W,J.policySnapshot??{},F?.record,{ownerId:Z,expectedRevision:G}),this.ctx.sessionLedger.releaseSessionClaim(K.sessionId,Z),F)yield F.frame;yield z1($.requestId,"interaction.respond","INTERACTION_REQUIRED","Run paused again and requires another interaction.",{sessionId:K.sessionId,...F?{interactionId:F.frame.interactionId,source:F.frame.source,interaction:F.frame.interaction}:{}});return}_3(this.ctx.sessionLedger,K.sessionId,z.messages),this.ctx.sessionLedger.completeRun(K.sessionId,z,{ownerId:Z,expectedRevision:G}),this.ctx.sessionLedger.releaseSessionClaim(K.sessionId,Z),yield LX($.requestId,"interaction.respond",z)}catch(X){try{this.ctx.sessionLedger.releaseSessionClaim(K.sessionId,Z)}catch{}if(H?.aborted||O1.isAbortError(X))return;yield z1($.requestId,"interaction.respond","INTERACTION_RESPONSE_FAILED",X instanceof Error?X.message:String(X))}}consumeRunEvent($,H){switch(H.type){case"text_delta":$.output+=H.content;break;case"tool_result":$.toolCalls.push({id:H.id,name:H.name,input:H.input,result:H.result,durationMs:H.durationMs});break;case"usage_update":$.usage=H.usage;break;case"turn_complete":$.turnCount=H.turnNumber;break;case"guardrail_rejected":$.guardrailEvents.push({stage:H.stage,message:H.message});break;case"pipeline_timing":$.pipelineTiming=H.report;break;case"messages_snapshot":$.messages=Array.isArray(H.messages)?H.messages:[];break;case"thinking_end":if(H.blocks)$.thinking.push(...H.blocks);break;case"native_tool_result":$.nativeToolResults.push(H.metadata);break;case"handoff_start":$.handoffs.push({type:"start",target:H.target,id:H.id});break;case"handoff_result":$.handoffs.push({type:"result",target:H.target,id:H.id,result:H.result});break;case"paused":$.pausedState=H.state;break;case"error":throw Error(eR(H.error.message,"diagnostic"in H.error?H.error.diagnostic:void 0)??H.error.message);default:break}}}var T_=30000,$y=1e4;var c_=t(()=>{c5();H7()});var Oy={};I3(Oy,{createHeadlessKernelRuntime:()=>Ay,createHeadlessKernelHandlers:()=>l_,HeadlessKernel:()=>s7});import E_,{join as D4}from"node:path";import{appendFileSync as Gy,mkdirSync as Yy}from"node:fs";import{ArionManager as zy,ArionStorage as Wy,MemoriaPool as _y}from"@aria-cli/aria";import{selectRunnableModelVariant as N8}from"@aria-cli/models";import{HEADLESS_OPERATION_SCHEMAS as j_}from"@aria-cli/tools";async function qy($){let H=[];for(let K of $.sessionLedgers??[])try{K?.close()}catch(J){H.push(J)}for(let K of $.attachedClients??[])try{await K?.release()}catch(J){H.push(J)}try{await $.daemon?.releaseAll?.()}catch(K){H.push(K)}try{await $.managerPool?.closeAll()}catch(K){H.push(K)}try{await $.cli?.pool.closeAll()}catch(K){H.push(K)}if(H.length===1)throw H[0];if(H.length>1)throw AggregateError(H,"Failed to release headless kernel bootstrap resources")}function q8($){if(!($ instanceof Error))return!1;let H=$.message;if(H.includes("attached-local-client-only"))return!0;if(H.includes("ECONNRESET"))return!0;if(H.includes("ECONNREFUSED"))return!0;if(H.includes("EPIPE"))return!0;if(H.includes("connect ENOENT"))return!0;if(H.includes("socket hang up"))return!0;if(H.includes("closed before"))return!0;if(H.includes("has been released"))return!0;if(H.includes("no daemon found"))return!0;return!1}function RX($){if(!q8($))return $ instanceof Error?$:Error(String($));let H=$,K=H.message,J=H.reason??"",Z=K.includes("ECONNRESET")||K.includes("ECONNREFUSED")||K.includes("EPIPE")||K.includes("connect ENOENT")||K.includes("socket hang up")||K.includes("closed before"),X=Z?"Lost connection to the ARIA daemon. It may have restarted. Run `aria` again to reconnect.":J==="invalid_or_expired_lease"||J===""?"The ARIA daemon restarted and your session could not be restored. Run `aria` again to start a new session.":J==="missing_client_id"||J==="missing_proof"?"Client credentials were not sent. This is likely a bug — please report it.":J==="no_authority"?"The daemon has no attached-client authority configured. It may still be starting up.":`Session authentication failed (${J}). Run \`aria\` again to start a new session.`;return Object.assign(Error(`Session expired: ${X} (${H.message})`),{code:"ARIA_SESSION_EXPIRED",reason:Z?"connection_lost":J,cause:H},H.diagnostic!==void 0?{diagnostic:H.diagnostic}:{})}function O6($,H){try{if(!h4)h4=D4($,"logs"),Yy(h4,{recursive:!0});let K=JSON.stringify({ts:new Date().toISOString(),pid:process.pid,...H});Gy(D4(h4,"reattach.jsonl"),K+`
344
- `)}catch{}}function m_($){if($<=0)return Promise.resolve();return new Promise((H)=>{setTimeout(H,$).unref?.()})}function p_($,H,K){let J=null,Z=()=>{if(!J)J=$();return J},X=()=>{J=null,H?.()};async function Q(Y){try{let z=await Z();return await Y(z)}catch(z){if(!q8(z))throw z;let W=z instanceof Error?z.message:String(z),F=z.reason;if(K)O6(K,{event:"reattach_start",trigger:W,reason:F,maxAttempts:l6.length});for(let q=0;q<l6.length;q++){await m_(l6[q]??0),X();try{let A=await Z();if(K)O6(K,{event:"reattach_success",attempt:q,trigger:W});return await Y(A)}catch(A){let U=A instanceof Error?A.message:String(A);if(K)O6(K,{event:"reattach_retry_failed",attempt:q,error:U,willRetry:q8(A)&&q<l6.length-1});if(!q8(A)||q===l6.length-1){if(K)O6(K,{event:"reattach_exhausted",attempts:q+1,finalError:U});throw RX(A)}}}throw RX(z)}}async function*G(Y){let z;try{let q=await Z();yield*Y(q);return}catch(q){if(!q8(q))throw q;z=q instanceof Error?q:Error(String(q))}let W=z?.message??"unknown",F=z?.reason;if(K)O6(K,{event:"reattach_stream_start",trigger:W,reason:F,maxAttempts:l6.length});for(let q=0;q<l6.length;q++){await m_(l6[q]??0),X();try{let A=await Z();if(K)O6(K,{event:"reattach_stream_success",attempt:q,trigger:W});yield*Y(A);return}catch(A){let U=A instanceof Error?A.message:String(A);if(K)O6(K,{event:"reattach_stream_retry_failed",attempt:q,error:U,willRetry:q8(A)&&q<l6.length-1});if(!q8(A)||q===l6.length-1){if(K)O6(K,{event:"reattach_stream_exhausted",attempts:q+1,finalError:U});throw RX(A)}}}}return{submitRun(Y){return Q((z)=>z.submitRun(Y))},resumeRun(Y){return Q((z)=>z.resumeRun(Y))},async*streamRun(Y,z){yield*G((W)=>W.streamRun(Y,z))},async*subscribeRuntimeEvents(Y){yield*G((z)=>z.subscribeRuntimeEvents(Y))},sendBestEffort(Y){return Q((z)=>z.sendBestEffort(Y))},sendDurable(Y){return Q((z)=>z.sendDurable(Y))},listInbox(Y){return Q((z)=>z.listInbox(Y))},async*subscribeInbox(Y){yield*G((z)=>z.subscribeInbox(Y))},listPeers(){return Q((Y)=>Y.listPeers())},listNearbyPeers(){return Q((Y)=>Y.listNearbyPeers())},async*subscribePeers(){yield*G((Y)=>Y.subscribePeers())},getRuntimeStatus(){return Q((Y)=>Y.getRuntimeStatus())},getRuntimeBootstrap(){return Q((Y)=>Y.getRuntimeBootstrap())},listPendingPairRequests(){return Q((Y)=>Y.listPendingPairRequests())},respondToPairRequest(Y){return Q((z)=>z.respondToPairRequest(Y))},createInvite(Y){return Q((z)=>z.createInvite(Y))},listPendingInvites(){return Q((Y)=>Y.listPendingInvites())},acceptInviteToken(Y){return Q((z)=>z.acceptInviteToken(Y))},cancelInvite(Y){return Q((z)=>z.cancelInvite(Y))},invitePeer(Y){return Q((z)=>z.invitePeer(Y))},acceptInvite(Y){return Q((z)=>z.acceptInvite(Y))},directPair(Y){return Q((z)=>z.directPair(Y))},revokePeer(Y){return Q((z)=>z.revokePeer(Y))},repairPeer(Y){return Q((z)=>z.repairPeer(Y))},listAttachedClients(){return Q((Y)=>Y.listAttachedClients())},listDirectClientInbox(Y){return Q((z)=>z.listDirectClientInbox(Y))},async*subscribeDirectClientInbox(Y){yield*G((z)=>z.subscribeDirectClientInbox(Y))}}}function Fy($,H,K){return new Promise((J,Z)=>{let X=setTimeout(()=>{Z(Error(K))},H);X.unref?.(),$.then((Q)=>{clearTimeout(X),J(Q)},(Q)=>{clearTimeout(X),Z(Q)})})}function d_($,H,K,J,Z){return{kind:"result",requestId:$,op:H,ok:!1,error:{code:K,message:J,...Z?{details:Z}:{}}}}function Py($,H,K){let J=$.trim().toLowerCase();if(!J)return;let Z=[...H].sort((q,A)=>q.shortName.localeCompare(A.shortName)),X=Z.find((q)=>{return`${q.provider}/${q.shortName}`.toLowerCase()===J});if(X)return X;let Q=Z.find((q)=>q.shortName.toLowerCase()===J);if(Q)return N8(Q,K);let G=Z.find((q)=>q.shortName.toLowerCase().startsWith(J));if(G)return N8(G,K);let Y=Z.find((q)=>{return`${q.provider}/${q.shortName}`.toLowerCase().startsWith(J)});if(Y)return Y;let z=Z.find((q)=>q.tier.toLowerCase()===J);if(z)return N8(z,K);let W=Z.find((q)=>q.displayName.toLowerCase().includes(J));if(W)return N8(W,K);let F=Z.find((q)=>q.provider.toLowerCase().includes(J));return F?N8(F,K):void 0}function l_($){let H=new O1({localControl:$.localControl,sessionLedger:$.sessionLedger,activeRunController:$.activeRunController,getSessionModel:$.getSessionModel,getSessionArion:$.getSessionArion}),K=new UX($.auth,$.sessionLedger,async()=>await $.config?.getActiveArion?.()??$.cli?.config?.activeArion??"ARIA"),J=WX(H),Z=HX($),X=lZ($),Q=QX($),G=uZ($,K),Y=eZ($),z=X_($),W=N_($),F=P_($),q=YX($),A=sZ($),U=ZX($),R=v4($);return{"run.start":J["run.start"],"run.resume":J["run.resume"],"run.abort":J["run.abort"],"interaction.respond":async function*(I,S,C){let w=S&&typeof S==="object"&&"kind"in S?S:{kind:"interaction.respond",requestId:I,...S};if($.sessionLedger.getInteraction(w.interactionId)?.source==="auth"){yield*K.respond(w,C);return}yield*J["interaction.respond"](I,w,C)},"session.list":R["session.list"],"session.read":R["session.read"],"session.load":R["session.load"],"session.fork":R["session.fork"],"memory.remember":Z["memory.remember"],"memory.recall":Z["memory.recall"],"memory.list":Z["memory.list"],"memory.forget":Z["memory.forget"],"memory.recall_knowledge":Z["memory.recall_knowledge"],"arion.list":X["arion.list"],"arion.hatch":X["arion.hatch"],"arion.become":X["arion.become"],"arion.rest":X["arion.rest"],"arion.wake":X["arion.wake"],"arion.create":X["arion.create"],"model.list":Q["model.list"],"model.set":Q["model.set"],"model.refresh":Q["model.refresh"],"auth.status":G["auth.status"],"auth.login":G["auth.login"],"auth.logout":G["auth.logout"],"peer.list":q["peer.list"],"peer.list_nearby":q["peer.list_nearby"],"peer.pending.list":q["peer.pending.list"],"peer.pending.respond":q["peer.pending.respond"],"peer.invite":q["peer.invite"],"peer.connect":q["peer.connect"],"peer.accept_invite":q["peer.accept_invite"],"peer.direct_pair":q["peer.direct_pair"],"peer.repair":q["peer.repair"],"peer.revoke":q["peer.revoke"],"client.list":A["client.list"],"client.inbox.list":A["client.inbox.list"],"message.send":U["message.send"],"message.inbox.list":U["message.inbox.list"],"config.theme.get":Y["config.theme.get"],"config.theme.set":Y["config.theme.set"],"config.autonomy.get":Y["config.autonomy.get"],"config.autonomy.set":Y["config.autonomy.set"],"system.restart":F["system.restart"],"system.terminal_setup":F["system.terminal_setup"],"daemon.start":z["daemon.start"],"daemon.status":z["daemon.status"],"daemon.stop":z["daemon.stop"],"hook.extract":W["hook.extract"],"hook.reflect":W["hook.reflect"],"hook.consolidate":W["hook.consolidate"],"hook.ingest":W["hook.ingest"],"hook.harvest":W["hook.harvest"]}}class s7{ctx;handlers;constructor($,H){this.ctx=$;if(!H){let K=!1,J=$.localControl;$.localControl=p_(async()=>{if(!K)return J;let{createResilientAttachedClient:Z}=await Promise.resolve().then(() => (i5(),CK)),X=await import("@aria-cli/server"),Q=X.resolveRuntimeRootDirectory(),G=X.findRuntimeOwnerRecordByAriaHome(Q,$.cli.ariaDir);if(!G?.runtimeSocket)throw Error("Cannot reconnect: no daemon found after restart");return(await Z({runtimeSocket:G.runtimeSocket,clientKind:"local-api",logDir:D4($.cli.ariaDir,"logs")})).api},()=>{K=!0},$.cli.ariaDir)}this.handlers=H??l_($)}async*dispatch($,H={}){if($.kind==="interaction.respond"){let Z=j_["interaction.respond"].input.safeParse({interactionId:$.interactionId,response:$.response});if(!Z.success){yield d_($.requestId,"interaction.respond","INVALID_INPUT",Z.error.issues.map((X)=>`${X.path.join(".")||"<root>"} ${X.message}`).join("; "));return}yield*this.handlers["interaction.respond"]($.requestId,$,H);return}let K=$,J=j_[K.op].input.safeParse(K.input);if(!J.success){yield d_(K.requestId,K.op,"INVALID_INPUT",J.error.issues.map((Z)=>`${Z.path.join(".")||"<root>"} ${Z.message}`).join("; "));return}yield*this.handlers[K.op](K.requestId,J.data,H)}getContext(){return this.ctx}}async function Ay($){let H=null,K=null,J=null,Z=new Map,X=new Map,Q=new Set,G=!1,Y=async()=>{if(G)return;G=!0;let z=await Promise.allSettled([...X.values(),...Q.values()]);await qy({sessionLedgers:[...Z.values()],attachedClients:z.flatMap((W)=>W.status==="fulfilled"?[W.value]:[]),daemon:J,managerPool:K,cli:H})};try{H=await JQ({cwd:$?.cwd,skipDiscoveryRefresh:!0});let z=H,W=$?.arionName??z.config.activeArion??"ARIA",F,q=()=>W,A=()=>F,U=(h)=>{W=h;let j=O0();j.activeArion=h,E0(j)},R=(h)=>{let j=Z.get(h);if(!j)j=new S3(S3.resolvePerArionPath(z.ariaDir,h)),Z.set(h,j);return j},I=async()=>{try{let{resolveRuntimeRootDirectory:h,findRuntimeOwnerRecordByAriaHome:j}=await import("@aria-cli/server"),{createResilientAttachedClient:U0}=await Promise.resolve().then(() => (o5(),UQ)),v0=h(),C0=j(v0,z.ariaDir);if(!C0?.runtimeSocket)return null;let B0=await U0({runtimeSocket:C0.runtimeSocket,clientKind:"local-api",logDir:D4(z.ariaDir,"logs")});return{nodeId:C0.nodeId,runtimeId:C0.runtimeId??"daemon",port:0,ownership:"reattached",control:B0.api,attachedClientId:B0.getClientId(),attachedClientAuthToken:B0.getClientAuthToken(),release:()=>B0.release()}}catch(h){return O6(z.ariaDir,{event:"daemon_socket_connect_failed",error:h instanceof Error?h.message:String(h)}),null}},S=async(h)=>{let j=X.get(h);if(!j)j=(async()=>{let U0=await I();if(U0){if(O6(z.ariaDir,{event:"ensureAttachedClient_resolved",path:"daemon_socket",arionName:h}),G)await U0.release().catch(()=>{});return U0}O6(z.ariaDir,{event:"ensureAttachedClient_fallback",path:"attachLocalControlClient",arionName:h});let v0;try{v0=await X7({ariaHome:z.ariaDir,arionName:h,clientKind:"local-api",runtimeLifecycle:"scoped",memoriaFactory:z.memoriaFactory,router:z.router,authResolver:z.authResolver,runSessionConfig:z.config,mcpServers:z.projectConfig.mcp?.servers,silent:!0})}catch(C0){if(C0 instanceof Error&&C0.message.includes("already in use"))throw Error("A daemon is running but could not be reached. Ensure ARIA_HOME matches the daemon's home directory, or stop the daemon with: aria-stop");throw C0}if(G)await v0.release().catch(()=>{});return v0})(),X.set(h,j);return Fy(j,Ny,`Timed out attaching local control for ${h}`).catch((U0)=>{throw Q.add(j),j.finally(()=>{Q.delete(j)}),X.delete(h),U0})},C=p_(async()=>{return(await S(q())).control},()=>{let h=q(),j=X.get(h);if(j)Q.add(j),j.then((U0)=>U0.release().catch(()=>{})).finally(()=>Q.delete(j)),X.delete(h)},z.ariaDir),w=new Proxy({},{get(h,j){let U0=R(q()),v0=U0[j];return typeof v0==="function"?v0.bind(U0):v0}});R(W),K=new _y(z.ariaDir);let B=new zy(new Wy(z.ariaDir),K.toFactory());B.setRouter(z.router),await B.initialize();let y=z.availableModels,M=async()=>{let h=q();return(await B.get(h))?.memoriaPath??E_.join("arions",h,"memory.db")},m=async()=>{return await z.pool.get(await M())},G0=new Proxy({},{get(h,j){return async(...U0)=>{let v0=await m(),C0=v0[j];if(typeof C0!=="function")return C0;return C0.apply(v0,U0)}}});J=PX({cli:z,cwd:$?.cwd??process.cwd(),arionName:q(),getArionName:q,localControl:C});let y9=C_({cli:z,arionName:q(),getArionName:q,resolveMemoriaPath:M}),_9={cli:z,localControl:C,sessionLedger:w,arionManager:{list:()=>B.list(),hatch:(h)=>B.hatch(h),get:(h)=>B.get(h),wake:(h)=>B.wake(h),rest:(h,j)=>B.rest(h,j)},memoria:G0,config:{async getTheme(){return O0().theme??L().name},async setTheme(h){if(!I6().includes(h))throw Error(`Unknown theme: ${h}`);C6(h);let U0=O0();return U0.theme=h,E0(U0),{theme:h}},async getAutonomy(){return O0().autonomy??"balanced"},async setAutonomy(h){if(!["minimal","balanced","high","full"].includes(h))throw Error(`Invalid autonomy level: ${h}`);let j=O0();return j.autonomy=h,E0(j),{autonomy:h}},async getActiveArion(){return q()},async setActiveArion(h){U(h)}},auth:{async status(){return{providers:tW()}},async login(h){return eW(H_(h))},async logout(h){return $_(K_(h))}},modelDiscovery:{async listAvailable(){return y},async refresh(h){return y=await z.refreshAvailableModels(h),y},async getCurrentModel(){if(F)return F;let h=await B.get(q());if(h?.preferredModel)return F=h.preferredModel,F;let j=O0().preferredTier??z.config.preferredTier;if(!j)return y[0]?.shortName;return F=N8(y.find((U0)=>U0.tier===j)??y[0],z.credentialHints)?.shortName??y[0]?.shortName,F},async setCurrentModel(h){let j=Py(h,y,z.credentialHints);if(!j)throw Error(`Unknown model: ${h}`);F=j.shortName;let U0=q();if(await B.get(U0))await B.setPreferredModel(U0,j.shortName);let C0=O0();return C0.preferredTier=j.tier,E0(C0),{currentModel:j.shortName,tier:j.tier}},async getSessionModel(){return F}},daemon:J,hook:y9,system:{async restart(h){return{accepted:!0,reason:typeof h.reason==="string"&&h.reason.trim().length>0?h.reason.trim():"Restart requested"}},async terminalSetup(){if(!g3())return{supported:!1,message:"terminal-setup is supported only in iTerm2 (macOS) and VSCode terminal."};return{supported:!0,output:W2().trim()}}},getSessionModel:A,getSessionArion:q},P0=await B.get(q());if(P0?.preferredModel)F=P0.preferredModel;else{let h=O0().preferredTier??z.config.preferredTier;F=N8(y.find((j)=>j.tier===h)??y[0],z.credentialHints)?.shortName??y[0]?.shortName}return{kernel:new s7(_9),ctx:_9,async release(){await Y()}}}catch(z){try{await Y()}catch(W){throw AggregateError([z,W],"Headless kernel bootstrap failed and resource cleanup also failed")}throw z}}var l6,h4,Ny=1e4;var x_=t(()=>{ZQ();h$();l5();o5();xZ();rZ();J_();tZ();$X();Q_();q_();F_();KX();XX();GX();zX();T4();A_();L_();I_();g_();c_();_2();g();l6=[0,250,500,1000,2000,3000]});import{useState as p,useCallback as o,useEffect as U9,useRef as I0,useMemo as t7}from"react";import{render as by,useApp as ky}from"ink";import{useMemo as _f,useState as qf}from"react";import{Box as Nf,useStdout as Ff}from"ink";import{useState as z3,useCallback as O$,useMemo as W3,useEffect as A6}from"react";import{Box as p6,Static as Qf,Text as U$,useApp as Gf,useInput as Yf}from"ink";import{Box as IK,Text as k0}from"ink";import{toShortName as EN}from"@aria-cli/models";var $$={colors:{cyan:"cyan",magenta:"magenta",yellow:"yellow",green:"green",blue:"blue",red:"red",white:"white",gray:"gray",dim:"gray"},prompt:{symbol:"❯"},divider:{char:"─"}};function G7($){if(!$||!($ in $$.colors))return $$.colors.white;return $$.colors[$]}function LQ($){return EN($)}var s8={"opus-4.6":"#B4A0FF","opus-4.5":"#A08AFF","sonnet-4.6":"#5FA8FF","sonnet-4.5":"#4A96FF","haiku-4.5":"#5CE0D0","gemini-3.1-pro":"#FFB84D","gemini-3-pro":"#FFA833","gemini-2.5-pro":"#FF9E22","gemini-3-flash":"#8AE065","gemini-2.5-flash":"#7BD055","gpt-5.4":"#5CD17A","gpt-5.2":"#50C878","gpt-5.1":"#45B86A","gpt-5.3-codex":"#20B2AA","gpt-5.2-codex":"#1CA8A0","gpt-5.1-codex":"#189090"};function s5($){if(s8[$])return s8[$];let H=$.replace(/^bedrock-/,"").replace(/^claude-/,"").replace(/-copilot$/,"");if(s8[H])return s8[H];let K=H.split("-");for(let J=K.length-1;J>=2;J--){let Z=K.slice(0,J).join("-");if(s8[Z])return s8[Z]}return}var fQ={anthropic:{icon:"◆",color:"#B4A0FF"},google:{icon:"▲",color:"#4285F4"},bedrock:{icon:"⬢",color:"#FF9900"},"bedrock-converse":{icon:"⬢",color:"#FF9900"},openai:{icon:"◎",color:"#50C878"},"openai-codex":{icon:"◈",color:"#20B2AA"},"github-copilot":{icon:"⊡",color:"#6E40C9"},local:{icon:"○",color:"gray"}};function RQ($){return fQ[$]??{icon:"○",color:"gray"}}function jN($){if($.startsWith("bedrock-"))return"bedrock";if($.endsWith("-copilot")){if($.includes("gpt-")&&$.includes("-codex"))return"openai-codex";if($.includes("gemini-"))return"google";return"github-copilot"}if($.startsWith("gemini-"))return"google";if($.includes("-codex"))return"openai-codex";if($.startsWith("gpt-")||$.startsWith("o1")||$.startsWith("o3"))return"openai";if(/^(opus|sonnet|haiku)-/.test($))return"anthropic";return}function yQ($){let H=jN($);if(!H)return;return fQ[H]}import{jsxDEV as z0,Fragment as E$}from"react/jsx-dev-runtime";var mN="balanced";function e5($){if($<1000)return String($);if($<1e6){let K=$/1000;return K>=100?`${Math.round(K)}k`:`${K.toFixed(1)}k`}let H=$/1e6;return H>=100?`${Math.round(H)}M`:`${H.toFixed(1)}M`}function kK($){return`$${$.toFixed(2)}`}function dN($){if($<60)return`${$.toFixed(1)}s`;let H=Math.floor($/60),K=Math.round($%60);return`${H}m ${K}s`}function pN($,H){if(H<=0)return 0;return Math.min(100,Math.round($/H*100))}var SK="#B4A0FF",t5={low:{bars:"▌",color:"blue"},medium:{bars:"▌▌",color:"cyan"},high:{bars:"▌▌▌",color:"yellow"},max:{bars:"▌▌▌▌",color:"magenta"}},lN={minimal:{symbol:"▸",label:"confirm all",color:"green"},balanced:{symbol:"▸▸",label:"confirm risky",color:"yellow"},high:{symbol:"▸▸▸",label:"auto-approve",color:"magenta"},full:{symbol:"⏵⏵",label:"full bypass",color:"red"}},bK=8,H$=" · ";function gK({arion:$,model:H,maxContextTokens:K=0,responseTime:J,metrics:Z,showCosts:X=!0,displayMode:Q,activeArion:G,effortLevel:Y,autonomyLevel:z=mN,meshMessageCount:W=0}){let F=G7($.color),q=LQ(H),A=s5(q),U=yQ(q),R=Q==="debug",I=Z&&Z.turnCount>0,S=I?Z.contextTokens:0,C=K>0?pN(S,K):0,w=Math.min(bK,Math.round(C/100*bK)),B=bK-w,y=I?`${C}%`:"–",M=lN[z];return z0(IK,{justifyContent:"space-between",children:[z0(IK,{children:[z0(k0,{children:[$.emoji," "]},void 0,!0,void 0,this),z0(k0,{color:F,bold:!0,children:$.name},void 0,!1,void 0,this),z0(k0,{dimColor:!0,children:H$},void 0,!1,void 0,this),I?z0(E$,{children:[U&&z0(k0,{color:U.color,children:[U.icon," "]},void 0,!0,void 0,this),z0(k0,{color:A,dimColor:!A,children:q},void 0,!1,void 0,this),Y&&z0(E$,{children:[z0(k0,{dimColor:!0,children:H$},void 0,!1,void 0,this),z0(k0,{color:t5[Y].color,children:t5[Y].bars},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z0(k0,{dimColor:!0,children:H$},void 0,!1,void 0,this),z0(k0,{dimColor:!0,children:["Turn ",Z.turnCount]},void 0,!0,void 0,this),z0(k0,{dimColor:!0,children:H$},void 0,!1,void 0,this),z0(k0,{color:Z.contextStale?void 0:SK,dimColor:Z.contextStale,children:[Z.contextStale?"~":"",e5(Z.contextTokens)]},void 0,!0,void 0,this),K>0&&z0(k0,{dimColor:!0,children:["/",e5(K)]},void 0,!0,void 0,this),R&&X&&z0(E$,{children:[z0(k0,{dimColor:!0,children:H$},void 0,!1,void 0,this),z0(k0,{dimColor:!0,children:kK(Z.estimatedCost)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),R&&z0(E$,{children:[z0(k0,{dimColor:!0,children:H$},void 0,!1,void 0,this),z0(k0,{dimColor:!0,children:dN(Z.wallTimeSeconds)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),G&&G!==$.name&&z0(E$,{children:[z0(k0,{dimColor:!0,children:H$},void 0,!1,void 0,this),z0(k0,{dimColor:!0,children:G},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this):z0(E$,{children:[U&&z0(k0,{color:U.color,children:[U.icon," "]},void 0,!0,void 0,this),z0(k0,{color:A,dimColor:!A,children:q},void 0,!1,void 0,this),Y&&z0(E$,{children:[z0(k0,{dimColor:!0,children:H$},void 0,!1,void 0,this),z0(k0,{color:t5[Y].color,children:t5[Y].bars},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J!==void 0&&z0(E$,{children:[z0(k0,{dimColor:!0,children:H$},void 0,!1,void 0,this),z0(k0,{dimColor:!0,children:[J.toFixed(1),"s"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z0(IK,{gap:1,children:[W>0&&z0(k0,{color:"yellow",bold:!0,children:["msg ",W]},void 0,!0,void 0,this),z0(k0,{color:M.color,children:[M.symbol," ",M.label]},void 0,!0,void 0,this),z0(k0,{dimColor:!0,children:"ctx"},void 0,!1,void 0,this),z0(k0,{color:SK,children:"█".repeat(w)},void 0,!1,void 0,this),z0(k0,{dimColor:!0,children:"░".repeat(B)},void 0,!1,void 0,this),z0(k0,{color:SK,children:y},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}import{Box as BQ,Text as vK}from"ink";import{jsxDEV as Y7}from"react/jsx-dev-runtime";function TK({userName:$}){if($)return Y7(BQ,{children:[Y7(vK,{color:$$.colors.cyan,children:$},void 0,!1,void 0,this),Y7(vK,{children:[" ",$$.prompt.symbol," "]},void 0,!0,void 0,this)]},void 0,!0,void 0,this);return Y7(BQ,{children:Y7(vK,{color:$$.colors.cyan,children:[$$.prompt.symbol," "]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}import{Box as tM,Text as eM}from"ink";g();import S6,{Chalk as aQ}from"chalk";import nQ from"color-name";import uN from"katex";import{Marked as rN}from"marked";import{markedTerminal as aN}from"marked-terminal";import{highlight as cQ,supportsLanguage as EQ}from"cli-highlight";function VK($,H){let K=xN(H);if(!EQ(K)){if(EQ("markdown"))return cQ($,{language:"markdown"});return $}return cQ($,{language:K})}function xN($){let H={js:"javascript",jsx:"javascript",ts:"typescript",tsx:"typescript",sh:"bash",shell:"bash",zsh:"bash",yml:"yaml",py:"python",rb:"ruby",rs:"rust",go:"go",md:"markdown",dockerfile:"docker"},K=$.toLowerCase().trim();return H[K]??K}g();import{marked as cM}from"marked";var jQ=["•","◦","▪","▫"];function C9($,H={}){let K=gF($),J=H.mode==="streaming"?TF(K):K,{content:Z,placeholders:X}=iN(J),Q=sN(H.colorWordMode),G=new rN;G.use(aN({showSectionPrefix:!1,reflowText:!1,emoji:!1,unescape:!0,width:H.width??(process.stdout.columns||80),tab:2,hr:()=>S6.dim("─".repeat(H.width??40))})),G.use({renderer:{text(W){if("tokens"in W&&W.tokens)return this.parser.parseInline(W.tokens);return JG(W.text,Q)},paragraph(W){return this.parser.parseInline(W.tokens)+`
345
-
346
- `},code(W){let F=L(),q=W.lang||"text";try{return`
347
- `+VK(W.text,q)+`
348
-
349
- `}catch{return`
350
- `+S6.hex(F.colors.info)(W.text)+`
351
-
352
- `}},codespan(W){let F=L();return S6.hex(F.colors.info)(W.text)},link(W){let F=L(),q=this.parser.parseInline(W.tokens),A=W.href;if(nN())return`\x1B]8;;${A}\x07${S6.hex(F.colors.info).underline(q)}\x1B]8;;\x07`;if(q===A)return S6.hex(F.colors.info).underline(q);return`${S6.hex(F.colors.info).underline(q)} (${S6.dim(A)})`},list(W){let{items:F,ordered:q}=W,A=typeof W.start==="number"?W.start:1,U=this._listDepth??0;return`
353
- `+F.map((I,S)=>{let C=q?`${A+S}.`:jQ[U%jQ.length],w=" ".repeat(U),B=this._listDepth;this._listDepth=U+1;let y=this.parser.parse(I.tokens).trim();return this._listDepth=B,`${w}${C} ${y}`}).join(`
354
- `)+`
355
-
356
- `},blockquote(W){return this.parser.parse(W.tokens).split(`
357
- `).filter((A)=>A.trim()).map((A)=>S6.dim.italic(`│ ${A}`)).join(`
358
- `)+`
359
-
360
- `},table(W){let F=H.width??(process.stdout.columns||80),q=W.header.length;if(q===0)return`
361
- `;let A=W.header.map((B)=>this.parser.parseInline(B.tokens)),U=W.rows.map((B)=>B.map((y)=>this.parser.parseInline(y.tokens))),R=Array(q).fill(0),I=Array(q).fill(0);for(let B=0;B<q;B++){let y=[A[B]??"",...U.map((M)=>M[B]??"")];R[B]=P7(A[B]??"");for(let M of y)R[B]=Math.max(R[B],P7(M));I[B]=mF(y)}let S=q+1+q*2;if(R.reduce((B,y)=>B+y,0)+S>F)EF(R,F-S,I);let C=(B,y,M)=>B+R.map((m)=>"─".repeat(m+2)).join(y)+M,w=[C("┌","┬","┐")];w.push(...rQ(A,R,W.align)),w.push(C("├","┼","┤"));for(let B=0;B<U.length;B++)if(w.push(...rQ(U[B],R,W.align)),B<U.length-1)w.push(C("├","┼","┤"));return w.push(C("└","┴","┘")),w.join(`
362
- `)+`
363
-
364
- `}}});let Y=G.parse(Z);return tN(Y,X,oN(H.mathRenderer),Q).replace(/\n{3,}/g,`
365
-
366
- `).trimEnd()}function nN(){let $=process.env.TERM_PROGRAM??"";return["iTerm.app","WezTerm","Hyper","vscode"].some((K)=>$.includes(K))}function iN($){let H=[],K="",J=0;while(J<$.length){let Z=JF($,J);if(Z){K+=Z.segment,J=Z.end;continue}let X=ZF($,J);if(X){K+=X.segment,J=X.end;continue}let Q=eN($,J);if(Q){let z=`ARIAMATHTOKEN${H.length}X`;H.push({marker:z,original:Q.segment,kind:Q.kind}),K+=z,J=Q.end;continue}let G=XF($,J);if(G){let z=`ARIAMATHTOKEN${H.length}X`;H.push({marker:z,original:G.segment,kind:"bare_math"}),K+=z,J=G.end;continue}let Y=K2($,J);if(Y){let z=`ARIAMATHTOKEN${H.length}X`;H.push({marker:z,original:Y.segment,kind:"latex_command"}),K+=z,J=Y.end;continue}K+=$[J],J+=1}return{content:K,placeholders:H}}function oN($){if($)return $;let H=(process.env.ARIA_MARKDOWN_MATH_RENDERER??"").trim().toLowerCase();if(H==="katex"||H==="fast")return H;return"fast"}function sN($){if($)return $;let H=(process.env.ARIA_MARKDOWN_COLOR_WORD_MODE??"").trim().toLowerCase();if(H==="always"||H==="never"||H==="auto")return H;return"auto"}function tN($,H,K,J){let Z=L(),X=$;for(let Q of H){let G=GF(Q,K),Y=G.style?S6.hex(Z.colors.info)(G.text):G.text;Y=JG(Y,J),X=X.split(Q.marker).join(Y)}return X}function eN($,H){if($[H]!=="$"||e8($,H))return null;if($[H+1]==="$"&&!e8($,H+1)){let Z=HF($,"$$",H+2);if(Z===-1)return null;if(!$.slice(H+2,Z).trim())return null;return{segment:$.slice(H,Z+2),end:Z+2,kind:"display_math"}}let K=$F($,H+1);if(K===-1)return null;let J=$.slice(H+1,K);if(!KF(J))return null;return{segment:$.slice(H,K+1),end:K+1,kind:"inline_math"}}function $F($,H){for(let K=H;K<$.length;K+=1){let J=$[K];if(J===`
367
- `)return-1;if(J==="$"&&!e8($,K))return K}return-1}function HF($,H,K){let J=$.indexOf(H,K);while(J!==-1){if(!e8($,J))return J;J=$.indexOf(H,J+H.length)}return-1}function e8($,H){let K=0;for(let J=H-1;J>=0&&$[J]==="\\";J-=1)K+=1;return K%2===1}function KF($){let H=$.trim();if(!H)return!1;if(/\\/.test(H))return!0;if(/[{}^_=<>+\-*/]/.test(H))return!0;return!/\s/.test(H)}function JF($,H){if(!vF($,H))return null;let J=$.slice(H).match(/^(```+|~~~+)[^\n]*\n/);if(!J)return null;let Z=J[1],X=H+J[0].length;while(X<$.length){let Q=$.indexOf(`
368
- `,X),G=Q===-1?$.length:Q;if($.slice(X,G).trim().startsWith(Z)){let z=Q===-1?$.length:Q+1;return{segment:$.slice(H,z),end:z}}if(Q===-1)break;X=Q+1}return{segment:$.slice(H),end:$.length}}function ZF($,H){if($[H]!=="`")return null;let K=1;while($[H+K]==="`")K+=1;let J="`".repeat(K),Z=$.indexOf(J,H+K);if(Z===-1)return null;return{segment:$.slice(H,Z+K),end:Z+K}}function K2($,H){if($[H]!=="\\")return null;let K=$[H+1];if(!K)return null;if(/[A-Za-z]/.test(K)){let J=H+2;while(J<$.length&&/[A-Za-z]/.test($[J]))J+=1;return{segment:$.slice(H,J),end:J}}if(/[,:;!{}%$#&_ ]/.test(K))return{segment:$.slice(H,H+2),end:H+2};return null}function XF($,H){if($[H]!=="\\")return null;let K=K2($,H);if(!K)return null;let J=K.segment.slice(1);if(!QF(J))return null;let Z=K.end;while(Z<$.length){let Q=$[Z];if(Q===`
369
- `||Q==="$")break;if(Q==="\\"){let G=K2($,Z);if(!G)break;Z=G.end;continue}if(/[A-Za-z0-9^_{}()[\]+\-*/=.,:; ]/.test(Q)){Z+=1;continue}break}let X=$.slice(H,Z).trimEnd();if(X.length<=K.segment.length)return null;return{segment:X,end:H+X.length}}function QF($){if(!$)return!1;if(N7[$])return!0;if(mK.has($))return!0;return["frac","binom","sqrt","left","right","text"].includes($)}var N7={alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",varepsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",vartheta:"ϑ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",pi:"π",varpi:"ϖ",rho:"ρ",varrho:"ϱ",sigma:"σ",varsigma:"ς",tau:"τ",upsilon:"υ",phi:"ϕ",varphi:"φ",chi:"χ",psi:"ψ",omega:"ω",Gamma:"Γ",Delta:"Δ",Theta:"Θ",Lambda:"Λ",Xi:"Ξ",Pi:"Π",Sigma:"Σ",Upsilon:"Υ",Phi:"Φ",Psi:"Ψ",Omega:"Ω",int:"∫",sum:"∑",prod:"∏",infty:"∞",partial:"∂",nabla:"∇",times:"×",cdot:"·",pm:"±",mp:"∓",leq:"≤",geq:"≥",neq:"≠",approx:"≈",sim:"∼",to:"→",leftarrow:"←",rightarrow:"→",leftrightarrow:"↔",mapsto:"↦",in:"∈",notin:"∉",subset:"⊂",subseteq:"⊆",supset:"⊃",supseteq:"⊇",cup:"∪",cap:"∩",forall:"∀",exists:"∃",neg:"¬",lnot:"¬",land:"∧",lor:"∨"},mK=new Set(["sin","cos","tan","cot","sec","csc","log","ln","exp","max","min","lim"]),iQ={"0":"⁰","1":"¹","2":"²","3":"³","4":"⁴","5":"⁵","6":"⁶","7":"⁷","8":"⁸","9":"⁹","+":"⁺","-":"⁻","=":"⁼","(":"⁽",")":"⁾",n:"ⁿ",i:"ⁱ",a:"ᵃ",b:"ᵇ",c:"ᶜ",d:"ᵈ",e:"ᵉ",f:"ᶠ",g:"ᵍ",h:"ʰ",j:"ʲ",k:"ᵏ",l:"ˡ",m:"ᵐ",o:"ᵒ",p:"ᵖ",r:"ʳ",s:"ˢ",t:"ᵗ",u:"ᵘ",v:"ᵛ",w:"ʷ",x:"ˣ",y:"ʸ",z:"ᶻ"},oQ={"0":"₀","1":"₁","2":"₂","3":"₃","4":"₄","5":"₅","6":"₆","7":"₇","8":"₈","9":"₉","+":"₊","-":"₋","=":"₌","(":"₍",")":"₎",a:"ₐ",e:"ₑ",h:"ₕ",i:"ᵢ",j:"ⱼ",k:"ₖ",l:"ₗ",m:"ₘ",n:"ₙ",o:"ₒ",p:"ₚ",r:"ᵣ",s:"ₛ",t:"ₜ",u:"ᵤ",v:"ᵥ",x:"ₓ"};function GF($,H){if(H==="katex"){let Z=$.kind==="display_math",X=$.kind==="inline_math"?$.original.slice(1,-1):$.kind==="display_math"?$.original.slice(2,-2):$.original,Q=WF(X,Z);if(Q)return{text:Q,style:!0}}if($.kind==="inline_math"){let Z=$.original.slice(1,-1);return{text:c9(Z),style:!0}}if($.kind==="display_math"){let Z=$.original.slice(2,-2);return{text:OF(Z),style:!0}}if($.kind==="bare_math")return{text:c9($.original),style:!0};let K=UF($.original),J=K!==$.original;return{text:K,style:J}}var mQ=new Map,YF=new Set(["math","semantics","mrow","mstyle"]),zF={amp:"&",lt:"<",gt:">",quot:'"',apos:"'",nbsp:" ",ThinSpace:" ",NegativeThinSpace:"",MediumSpace:" ",ApplyFunction:"",InvisibleTimes:"·",InvisibleComma:","};function WF($,H){let K=$.trim();if(!K)return"";let J=`${H?"display":"inline"}:${K}`,Z=mQ.get(J);if(Z!==void 0)return Z;try{let X=uN.renderToString(K,{displayMode:H,throwOnError:!1,strict:"ignore",output:"mathml"}),Q=_F(X,H);if(Q!=null&&Q.trim().length>0){let G=Q.trimEnd();return mQ.set(J,G),G}}catch{}return null}function _F($,H){let K=$.match(/<math[\s\S]*<\/math>/i);if(!K)return null;let J=K[0].replace(/<annotation[\s\S]*?<\/annotation>/gi,""),Z=qF(J);if(!Z)return null;if(H){let X=FF(Z);if(X?.name==="mfrac"){let Q=b6(X),G=Q[0]?V9(Q[0],!1).trim():"",Y=Q[1]?V9(Q[1],!1).trim():"";return eQ(G,Y)}}return V9(Z,H)}function qF($){let H={name:"__root__",attrs:{},children:[]},K=[H],J=/<!--[\s\S]*?-->|<[^>]+>|[^<]+/g,Z;while((Z=J.exec($))!==null){let Q=Z[0];if(!Q)continue;if(Q.startsWith("<!--")||Q.startsWith("<?"))continue;if(Q.startsWith("</")){if(K.length>1)K.pop();continue}if(Q.startsWith("<")){let W=Q.endsWith("/>"),F=Q.slice(1,Q.length-(W?2:1)).trim();if(!F)continue;let q=F.match(/^([^\s/>]+)/);if(!q)continue;let A=q[1];if(!A)continue;let U=A.replace(/^.*:/,"").toLowerCase(),R=NF(F.slice(A.length)),I={name:U,attrs:R,children:[]},S=K[K.length-1];if(S)S.children.push(I);if(!W)K.push(I);continue}let G=sQ(Q),Y=tQ(G);if(!Y)continue;let z=K[K.length-1];if(z)z.children.push(Y)}return b6(H).find((Q)=>Q.name==="math")??null}function NF($){let H={},K=/([A-Za-z_:][A-Za-z0-9:._-]*)\s*=\s*("([^"]*)"|'([^']*)')/g,J;while((J=K.exec($))!==null){let Z=J[1];if(!Z)continue;let X=J[3]??J[4]??"",Q=Z.replace(/^.*:/,"").toLowerCase();H[Q]=sQ(X)}return H}function sQ($){return $.replace(/&#x([0-9a-fA-F]+);/g,(H,K)=>{let J=Number.parseInt(K,16);return Number.isFinite(J)?String.fromCodePoint(J):""}).replace(/&#([0-9]+);/g,(H,K)=>{let J=Number.parseInt(K,10);return Number.isFinite(J)?String.fromCodePoint(J):""}).replace(/&([A-Za-z][A-Za-z0-9]+);/g,(H,K)=>zF[K]??K)}function tQ($){return $.replace(/[\u200b\u2061\u2062\u2063\u2064]/g,"").replace(/\s+/g," ").trim()}function FF($){let H=$;while(YF.has(H.name)){let K=b6(H);if(K.length!==1)break;H=K[0]}return H}function b6($){return $.children.filter((H)=>typeof H!=="string")}function cK($){let H="";for(let K of $.children)if(typeof K==="string")H+=K;else H+=cK(K);return tQ(H)}function V9($,H){switch($.name){case"math":case"semantics":case"mrow":case"mstyle":case"mpadded":case"mphantom":case"none":return W7($,H);case"mi":case"mn":case"mtext":return cK($);case"mo":{let K=cK($);return PF(K)}case"mspace":return" ";case"mfrac":{let K=b6($),J=K[0]?V9(K[0],!1).trim():"",Z=K[1]?V9(K[1],!1).trim():"";return`${J}⁄${Z}`.trim()}case"msup":{let K=b6($),J=K[0]?V9(K[0],!1):"",Z=K[1]?V9(K[1],!1):"";return`${J}${dQ(Z)}`}case"msub":{let K=b6($),J=K[0]?V9(K[0],!1):"",Z=K[1]?V9(K[1],!1):"";return`${J}${pQ(Z)}`}case"msubsup":{let K=b6($),J=K[0]?V9(K[0],!1):"",Z=K[1]?V9(K[1],!1):"",X=K[2]?V9(K[2],!1):"";return`${J}${pQ(Z)}${dQ(X)}`}case"msqrt":{let K=W7($,!1);return K?`√(${K})`:"√"}case"mroot":{let K=b6($),J=K[0]?V9(K[0],!1):"",Z=K[1]?V9(K[1],!1):"";return Z?`${Z}√(${J})`:`√(${J})`}case"mfenced":{let K=$.attrs.open??"(",J=$.attrs.close??")",Z=W7($,!1);return`${K}${Z}${J}`}case"mtable":{let J=b6($).filter((Z)=>Z.name==="mtr").map((Z)=>V9(Z,H).trim()).filter((Z)=>Z.length>0);if(J.length===0)return"";if(H)return J.join(`
370
- `);return`[${J.join("; ")}]`}case"mtr":return b6($).filter((J)=>J.name==="mtd").map((J)=>V9(J,H).trim()).filter((J)=>J.length>0).join(" ");case"mtd":return W7($,H);case"annotation":return"";default:return W7($,H)}}function W7($,H){let K=$.children.map((J)=>{if(typeof J==="string")return J;return V9(J,H)});return AF(K.join(""))}function PF($){if(!$)return"";if($==="−")return"-";return $}function AF($){return $.replace(/[\u200b\u2061\u2062\u2063\u2064]/g,"").replace(/([∫∑∏])([A-Za-z0-9α-ωΑ-Ω])/g,"$1 $2").replace(/([\u00B2\u00B3\u00B9\u2070-\u209F])([A-Za-zα-ωΑ-Ω])/g,"$1 $2").replace(/([)\]])([A-Za-zα-ωΑ-Ω])/g,"$1 $2").replace(/\s*([+\-−=≈≠≤≥<>×÷·∪∩])\s*/g," $1 ").replace(/\s*,\s*/g,", ").replace(/\s*;\s*/g,"; ").replace(/\s*:\s*/g,": ").replace(/\(\s+/g,"(").replace(/\s+\)/g,")").replace(/\s+/g," ").trim()}function dQ($){let H=$.replace(/\s+/g,"");if(!H)return"";return J2(`{${H}}`,iQ,"^")}function pQ($){let H=$.replace(/\s+/g,"");if(!H)return"";return J2(`{${H}}`,oQ,"_")}function OF($){let H=$.trim();if(!H)return"";let K=wF(H,"frac");if(K){let J=c9(K.arg1).trim(),Z=c9(K.arg2).trim();return eQ(J,Z)}return H.split(`
371
- `).map((J)=>c9(J)).join(`
372
- `)}function c9($){let H=$.trim();return H=LF(H),H=H.replace(/\\left\s*/g,"").replace(/\\right\s*/g,""),H=_7(H,"text",(K)=>c9(K)),H=_7(H,"sqrt",(K)=>`√(${c9(K)})`),H=_7(H,"mathrm",(K)=>c9(K)),H=_7(H,"mathbf",(K)=>c9(K)),H=_7(H,"mathit",(K)=>c9(K)),H=q7(H,"textcolor",(K,J)=>{return uQ(K,c9(J))}),H=q7(H,"color",(K,J)=>{return uQ(K,c9(J))}),H=q7(H,"colorbox",(K,J)=>{return kF(K,c9(J))}),H=q7(H,"frac",(K,J)=>{return`${c9(K)}⁄${c9(J)}`}),H=q7(H,"binom",(K,J)=>{return`C(${c9(K)}, ${c9(J)})`}),H=fF(H),H=RF(H),H=yF(H),H=BF(H),H=H.replace(/\s{2,}/g," ").trim(),H}function UF($){if(!$.startsWith("\\"))return $;let H=$.slice(1);if($==="\\,")return" ";if($==="\\;")return" ";if($==="\\:")return" ";if($==="\\!")return"";if($==="\\ ")return" ";if($==="\\{")return"{";if($==="\\}")return"}";if($==="\\%")return"%";if($==="\\$")return"$";if($==="\\#")return"#";if($==="\\_")return"_";if($==="\\&")return"&";if(N7[H])return N7[H];if(mK.has(H))return H;return $}function LF($){return $.replace(/\\,/g," ").replace(/\\;/g," ").replace(/\\:/g," ").replace(/\\!/g,"").replace(/\\qquad/g," ").replace(/\\quad/g," ").replace(/~+/g," ").replace(/\\ /g," ")}function fF($){let H=$,K=Object.keys(N7).sort((J,Z)=>Z.length-J.length);for(let J of K){let Z=N7[J],X=new RegExp(`\\\\${xQ(J)}\\b`,"g");H=H.replace(X,Z)}for(let J of mK){let Z=new RegExp(`\\\\${xQ(J)}\\b`,"g");H=H.replace(Z,J)}return H}function RF($){return $.replace(/\\([{}%$#&_])/g,"$1")}function yF($){return $.replace(/\\\{/g,"__ARIA_ESCAPED_LBRACE__").replace(/\\\}/g,"__ARIA_ESCAPED_RBRACE__").replace(/[{}]/g,"").replaceAll("__ARIA_ESCAPED_LBRACE__","{").replaceAll("__ARIA_ESCAPED_RBRACE__","}")}function BF($){let H=$;return H=H.replace(/([A-Za-z0-9α-ωΑ-Ω)\]])\^(\{[^{}]*\}|.)/g,(K,J,Z)=>{return`${J}${J2(Z,iQ,"^")}`}),H=H.replace(/([A-Za-z0-9α-ωΑ-Ω)\]])_(\{[^{}]*\}|.)/g,(K,J,Z)=>{return`${J}${J2(Z,oQ,"_")}`}),H}function J2($,H,K){let J=MF($);if(!J)return"";let Z="";for(let X of J){let Q=H[X];if(!Q)return`${K}(${J})`;Z+=Q}return Z}function MF($){if($.startsWith("{")&&$.endsWith("}"))return $.slice(1,-1);return $}function _7($,H,K){let J="",Z=0,X=`\\${H}`;while(Z<$.length){if(dK($,X,Z)){let Q=F7($,Z+X.length);if(Q){J+=K(Q.value),Z=Q.end;continue}}J+=$[Z],Z+=1}return J}function q7($,H,K){let J="",Z=0,X=`\\${H}`;while(Z<$.length){if(dK($,X,Z)){let Q=F7($,Z+X.length);if(Q){let G=F7($,Q.end);if(G){J+=K(Q.value,G.value),Z=G.end;continue}}}J+=$[Z],Z+=1}return J}function wF($,H){let K=`\\${H}`,J=EK($,0);if(!dK($,K,J))return null;let Z=F7($,J+K.length);if(!Z)return null;let X=F7($,Z.end);if(!X)return null;if(EK($,X.end)!==$.length)return null;return{arg1:Z.value,arg2:X.value}}function F7($,H){let K=EK($,H);if(K>=$.length)return null;if($[K]==="{"){let J=CF($,K);if(J===-1)return null;return{value:$.slice(K+1,J),end:J+1}}if($[K]==="\\"){let J=K2($,K);if(J)return{value:J.segment,end:J.end}}return{value:$[K],end:K+1}}function dK($,H,K){if(!$.startsWith(H,K))return!1;let J=$[K+H.length];return!J||!/[A-Za-z]/.test(J)}function EK($,H){let K=H;while(K<$.length&&/\s/.test($[K]))K+=1;return K}function CF($,H){let K=0;for(let J=H;J<$.length;J+=1){let Z=$[J];if(Z==="{"&&!e8($,J))K+=1;if(Z==="}"&&!e8($,J)){if(K-=1,K===0)return J}}return-1}function eQ($,H){let K=Math.max(jK($),jK(H),1),J="─".repeat(K),Z=lQ($,K),X=lQ(H,K);return`${Z}
373
- ${J}
374
- ${X}`}function jK($){return Array.from($).length}function lQ($,H){let K=jK($);if(K>=H)return $;let J=Math.floor((H-K)/2),Z=H-K-J;return`${" ".repeat(J)}${$}${" ".repeat(Z)}`}function xQ($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function $G($){let H={},K=nQ;for(let[J,Z]of Object.entries(K)){let X=J.toLowerCase(),[Q,G,Y]=Z;if(Q===0&&G===0&&Y===0){H[X]=(z)=>$.blackBright(z);continue}H[X]=(z)=>$.rgb(Q,G,Y)(z)}if(H.gray&&!H.grey)H.grey=H.gray;if(H.grey&&!H.gray)H.gray=H.grey;return H}var HG=$G(S6),KG=$G(new aQ({level:3})),IF=Object.keys(HG).sort(($,H)=>H.length-$.length),SF=new RegExp(`\\b(${IF.join("|")})\\b`,"gi"),bF=new aQ({level:3});function uQ($,H){let K=$.trim().toLowerCase(),J=KG[K];if(J)return J(H);return H}function kF($,H){let K=$.trim().toLowerCase(),Z=nQ[K];if(Z){let[X,Q,G]=Z;return bF.bgRgb(X,Q,G)(H)}return H}function JG($,H="auto"){if(H==="never")return $;let K=H==="always"?KG:HG;return $.replace(SF,(J)=>{let Z=K[J.toLowerCase()];return Z?Z(J):J})}function gF($){let H=$.split(`
375
- `);return H.map((K,J)=>{let Z=K.match(/^(\d+)\.\s+(.+)$/);if(!Z)return K;let X=J===0||!H[J-1].trim(),Q=J===H.length-1||!H[J+1].trim();if(!X||!Q)return K;return`${Z[1]}\\. ${Z[2]}`}).join(`
376
- `)}function vF($,H){return H===0||$[H-1]===`
377
- `}function TF($){let H=$.split(`
378
- `),K=[];for(let J=0;J<H.length;J+=1){let Z=H[J]??"",X=H[J+1]??"";if(hF(Z)&&DF(X)){let Q=J;while(Q<H.length&&VF(H[Q]??""))K.push(cF(H[Q])),Q+=1;J=Q-1;continue}K.push(Z)}return K.join(`
379
- `)}function hF($){let H=$.trim();if(!H.includes("|"))return!1;if(/^[-:|\s]+$/.test(H))return!1;let K=ZG(H);return K.length>=2&&K.some((J)=>J.length>0)}function DF($){let H=ZG($.trim());return H.length>=2&&H.every((K)=>/^:?-{3,}:?$/.test(K))}function VF($){let H=$.trim();return H.length>0&&H.includes("|")}function ZG($){let H=$.trim();if(H.startsWith("|"))H=H.slice(1);if(H.endsWith("|"))H=H.slice(0,-1);return H.split("|").map((K)=>K.trim())}function cF($){return $.replace(/\|/g,"\\|")}var XG=/\x1b\[[0-9;]*m|\x1b\]8;;[^\x07]*\x07/g;function QG($){return $.replace(XG,"")}function P7($){return QG($).length}function EF($,H,K){let Z=$.reduce((z,W)=>z+W,0);if(Z<=H)return;let X=jF(K,H,3),Q=H,G=Q/Z;for(let z=0;z<$.length;z++)$[z]=Math.max(X[z]??3,Math.floor($[z]*G));let Y=$.reduce((z,W)=>z+W,0);while(Y>Q){let z=0;for(let W=1;W<$.length;W++)if($[W]>$[z])z=W;if($[z]<=(X[z]??3))break;$[z]--,Y--}while(Y>Q){let z=0;for(let W=1;W<$.length;W++)if($[W]>$[z])z=W;if($[z]<=3)break;$[z]--,Y--}}function jF($,H,K){let J=$.map((X)=>Math.max(X,K)),Z=J.reduce((X,Q)=>X+Q,0);while(Z>H){let X=-1;for(let Q=0;Q<J.length;Q++){if(J[Q]<=K)continue;if(X===-1||J[Q]>J[X])X=Q}if(X===-1)break;J[X]--,Z--}return J}function mF($){let J=3,Z=3;for(let X of $){let Q=YG(X);J=Math.max(J,P7(Q)),Z=Math.max(Z,dF(Q))}return Math.min(Math.max(3,Z),24)}function dF($){return QG($).split(/\s+/).reduce((H,K)=>Math.max(H,K.length),0)}function GG($,H){let K=YG($);if(H<=0||!K)return[K||""];if(K.includes(`
380
- `)){let F=[];for(let q of K.split(`
381
- `))F.push(...GG(q,H));return F}if(P7(K)<=H)return[K];let J=[],Z=0,X=new RegExp(XG.source,"g"),Q;while((Q=X.exec(K))!==null){if(Q.index>Z)J.push({ansi:!1,value:K.slice(Z,Q.index)});J.push({ansi:!0,value:Q[0]}),Z=X.lastIndex}if(Z<K.length)J.push({ansi:!1,value:K.slice(Z)});let G=[],Y="",z=0,W=(F)=>{for(let q=0;q<F.length;q+=H){if(Y&&z>0)G.push(Y);Y=F.slice(q,q+H),z=Y.length}};for(let F of J){if(F.ansi){Y+=F.value;continue}let q=F.value.split(/(\s+)/);for(let A of q){if(!A)continue;let U=A.length,R=!A.trim();if(R&&z===0)continue;if(z+U<=H)Y+=A,z+=U;else if(z===0)W(A);else if(R)G.push(Y),Y="",z=0;else if(G.push(Y),Y="",z=0,U>H)W(A);else Y=A,z=U}}if(Y||G.length===0)G.push(Y);return G}function YG($){return $.replace(/\s*\n+\s*/g," ").replace(/\(\s+/g,"(").replace(/\s+\)/g,")").replace(/\[\s+/g,"[").replace(/\s+\]/g,"]").replace(/[ \t]{2,}/g," ").trim()}function pF($,H,K){let J=P7($);if(J>=H)return $;let Z=H-J;if(K==="right")return" ".repeat(Z)+$;if(K==="center"){let X=Math.floor(Z/2);return" ".repeat(X)+$+" ".repeat(Z-X)}return $+" ".repeat(Z)}function rQ($,H,K){let J=$.map((Q,G)=>GG(Q,H[G])),Z=Math.max(...J.map((Q)=>Q.length),1),X=[];for(let Q=0;Q<Z;Q++){let G=J.map((Y,z)=>pF(Y[Q]??"",H[z],K[z]??null));X.push("│ "+G.join(" │ ")+" │")}return X}import{jsxDEV as Zw}from"react/jsx-dev-runtime";import{useCallback as q2,useEffect as UG,useRef as N2,useState as j$}from"react";import{Box as O7,Text as F2}from"ink";import{useEffect as aF,useRef as aK,useState as nF}from"react";import{Text as iF,useInput as oF}from"ink";import HH from"chalk";import{useState as uF}from"react";import{useRef as zG}from"react";var WG=2000;function A7($,H,K){let J=zG(0),Z=zG(void 0);return()=>{let X=Date.now();if(X-J.current<=WG&&Z.current){if(Z.current)clearTimeout(Z.current),Z.current=void 0;H(),$(!1)}else K?.(),$(!0),Z.current=setTimeout(()=>$(!1),WG);J.current=X}}import lF from"string-width";class j9{measuredText;selection;offset;constructor($,H=0,K=0){this.measuredText=$;this.selection=K;this.offset=Math.max(0,Math.min(this.measuredText.text.length,H))}static fromText($,H,K=0,J=0){return new j9(new pK($,H-1),K,J)}render($,H,K){let{line:J,column:Z}=this.getPosition();return this.measuredText.getWrappedText().map((X,Q,G)=>{let Y=X;if(H&&Q===G.length-1){let z=Math.max(0,X.length-6);Y=H.repeat(z)+X.slice(z)}if(J!=Q)return Y.trimEnd();return Y.slice(0,Z)+K(Y[Z]||$)+Y.trimEnd().slice(Z+1)}).join(`
382
- `)}left(){return new j9(this.measuredText,this.offset-1)}right(){return new j9(this.measuredText,this.offset+1)}up(){let{line:$,column:H}=this.getPosition();if($==0)return new j9(this.measuredText,0,0);let K=this.getOffset({line:$-1,column:H});return new j9(this.measuredText,K,0)}down(){let{line:$,column:H}=this.getPosition();if($>=this.measuredText.lineCount-1)return new j9(this.measuredText,this.text.length,0);let K=this.getOffset({line:$+1,column:H});return new j9(this.measuredText,K,0)}startOfLine(){let{line:$}=this.getPosition();return new j9(this.measuredText,this.getOffset({line:$,column:0}),0)}endOfLine(){let{line:$}=this.getPosition(),H=this.measuredText.getLineLength($),K=this.getOffset({line:$,column:H});return new j9(this.measuredText,K,0)}nextWord(){let $=this;while($.isOverWordChar()&&!$.isAtEnd())$=$.right();while(!$.isOverWordChar()&&!$.isAtEnd())$=$.right();return $}prevWord(){let $=this;if(!$.left().isOverWordChar())$=$.left();while(!$.isOverWordChar()&&!$.isAtStart())$=$.left();if($.isOverWordChar())while($.left().isOverWordChar()&&!$.isAtStart())$=$.left();return $}modifyText($,H=""){let K=this.offset,J=$.offset,Z=this.text.slice(0,K)+H+this.text.slice(J);return j9.fromText(Z,this.columns,K+H.length)}insert($){return this.modifyText(this,$)}del(){if(this.isAtEnd())return this;return this.modifyText(this.right())}backspace(){if(this.isAtStart())return this;let $=this.offset,K=this.left().offset,J=this.text.slice(0,K)+this.text.slice($);return j9.fromText(J,this.columns,K)}deleteToLineStart(){return this.startOfLine().modifyText(this)}deleteToLineEnd(){if(this.text[this.offset]===`
383
- `)return this.modifyText(this.right());return this.modifyText(this.endOfLine())}deleteWordBefore(){if(this.isAtStart())return this;return this.prevWord().modifyText(this)}deleteWordAfter(){if(this.isAtEnd())return this;return this.modifyText(this.nextWord())}isOverWordChar(){let $=this.text[this.offset]??"";return/\w/.test($)}equals($){return this.offset===$.offset&&this.measuredText==$.measuredText}isAtStart(){return this.offset==0}isAtEnd(){return this.offset==this.text.length}get text(){return this.measuredText.text}get columns(){return this.measuredText.columns+1}getPosition(){return this.measuredText.getPositionFromOffset(this.offset)}getOffset($){return this.measuredText.getOffsetFromPosition($)}}class $H{text;startOffset;isPrecededByNewline;endsWithNewline;constructor($,H,K,J=!1){this.text=$;this.startOffset=H;this.isPrecededByNewline=K;this.endsWithNewline=J}equals($){return this.text===$.text&&this.startOffset===$.startOffset}get length(){return this.text.length+(this.endsWithNewline?1:0)}}class pK{text;columns;wrappedLines;constructor($,H){this.text=$;this.columns=H;this.wrappedLines=this.measureWrappedText()}measureWrappedText(){if(this.text.length===0)return[new $H("",0,!0,!1)];let $=[],H=0;while(H<this.text.length){let K=H,J=H===0||this.text[H-1]===`
384
- `,Z=0,X=H,Q=-1;while(X<this.text.length){let G=this.text[X];if(G===`
385
- `){$.push(new $H(this.text.slice(K,X),K,J,!0)),H=X+1;break}let Y=this.text.codePointAt(X),z=String.fromCodePoint(Y),W=lF(z);if(Z+W>this.columns){let F;if(Q>=K&&Q+1<X)F=Q+1;else if(X>K)F=X;else F=X+z.length;$.push(new $H(this.text.slice(K,F),K,J,!1)),H=F;break}if(G===" "||G==="\t")Q=X;Z+=W,X+=z.length}if(X>=this.text.length&&H===K)$.push(new $H(this.text.slice(K),K,J,!1)),H=this.text.length}if(this.text.length>0&&this.text[this.text.length-1]===`
386
- `)$.push(new $H("",this.text.length,!0,!1));return $}getWrappedText(){return this.wrappedLines.map(($)=>$.isPrecededByNewline?$.text:$.text.trimStart())}getLine($){return this.wrappedLines[Math.max(0,Math.min($,this.wrappedLines.length-1))]}getOffsetFromPosition($){let H=this.getLine($.line),K=H.startOffset+$.column;if(H.text.length===0&&H.endsWithNewline)return H.startOffset;let J=H.startOffset+H.text.length,Z=H.endsWithNewline?J+1:J;return Math.min(K,Z)}getLineLength($){let H=this.getLine($),K=this.getLine($+1);if(K.equals(H))return this.text.length-H.startOffset;return K.startOffset-H.startOffset-1}getPositionFromOffset($){let H=this.wrappedLines;for(let J=0;J<H.length;J++){let Z=H[J],X=H[J+1];if($>=Z.startOffset&&(!X||$<X.startOffset)){let Q=Z.isPrecededByNewline?0:Z.text.length-Z.text.trimStart().length,G=Math.max(0,Math.min($-Z.startOffset-Q,Z.text.length));return{line:J,column:G}}}let K=H.length-1;return{line:K,column:this.wrappedLines[K].text.length}}get lineCount(){return this.wrappedLines.length}equals($){return this.text===$.text&&this.columns===$.columns}}import{execSync as lK}from"child_process";import{readFileSync as xF}from"fs";var xK="/tmp/claude_cli_latest_screenshot.png",_G="No image found in clipboard. Use Cmd + Ctrl + Shift + 4 to copy a screenshot to clipboard.";function uK(){if(process.platform!=="darwin")return null;try{lK("osascript -e 'the clipboard as «class PNGf»'",{stdio:"ignore"}),lK(`osascript -e 'set png_data to (the clipboard as «class PNGf»)' -e 'set fp to open for access POSIX file "${xK}" with write permission' -e 'write png_data to fp' -e 'close access fp'`,{stdio:"ignore"});let H=xF(xK).toString("base64");return lK(`rm -f "${xK}"`,{stdio:"ignore"}),H}catch{return null}}function Q0($,H){return H.escape||$==="\x1B"}var rF="[Image pasted]";function qG($){return function(H){return(new Map($).get(H)??(()=>{}))(H)}}function rK({value:$,onChange:H,onSubmit:K,onExit:J,onExitMessage:Z,onMessage:X,onHistoryUp:Q,onHistoryDown:G,onHistoryReset:Y,onDoubleEscape:z,mask:W="",multiline:F=!1,cursorChar:q,invert:A,columns:U,onImagePaste:R,disableCursorMovementForUpDownKeys:I=!1,externalOffset:S,onOffsetChange:C}){let w=S,B=C,y=j9.fromText($,U,w),[M,m]=uF(null);function G0(){if(!M)return;clearTimeout(M),m(null),X?.(!1)}let y9=A7((K0)=>{G0(),Z?.(K0,"Ctrl-C")},()=>J?.(),()=>{if($)H(""),Y?.()}),_9=A7((K0)=>{G0(),X?.(!!$&&K0,"Press Escape again to clear")},()=>{if(z?.())return;if($)H("")});function P0(){return j9.fromText("",U,0)}let h=A7((K0)=>Z?.(K0,"Ctrl-D"),()=>J?.());function j(){if(G0(),y.text==="")return h(),y;return y.del()}function U0(){let K0=uK();if(K0===null){if(process.platform!=="darwin")return y;return X?.(!0,_G),G0(),m(setTimeout(()=>{X?.(!1)},4000)),y}return R?.(K0),y.insert(rF)}let v0=qG([["a",()=>y.startOfLine()],["b",()=>y.left()],["c",y9],["d",j],["e",()=>y.endOfLine()],["f",()=>y.right()],["h",()=>{return G0(),y.backspace()}],["k",()=>y.deleteToLineEnd()],["l",()=>P0()],["n",()=>W1()],["p",()=>B9()],["u",()=>y.deleteToLineStart()],["v",U0],["w",()=>y.deleteWordBefore()]]),C0=qG([["b",()=>y.prevWord()],["f",()=>y.nextWord()],["d",()=>y.deleteWordAfter()]]);function B0(K0){if(F&&y.offset>0&&y.text[y.offset-1]==="\\")return y.backspace().insert(`
387
- `);if(K0.meta||K0.shift)return y.insert(`
388
- `);K?.($)}function B9(){if(I)return Q?.(),y;let K0=y.up();if(K0.equals(y))Q?.();return K0}function W1(){if(I)return G?.(),y;let K0=y.down();if(K0.equals(y))G?.();return K0}function _1(K0,Z0){if(Z0.shift&&Z0.delete||K0==="\x1B[3;2~"){let i=y.deleteWordBefore();if(!y.equals(i)){if(B(i.offset),y.text!==i.text)H(i.text)}return}if(Z0.meta&&(Z0.backspace||Z0.delete||K0==="")){let i=y.deleteWordBefore();if(!y.equals(i)){if(B(i.offset),y.text!==i.text)H(i.text)}return}if(Z0.backspace||Z0.delete||K0==="\b"||K0===""||K0==="\b"){let i=y.backspace();if(!y.equals(i)){if(B(i.offset),y.text!==i.text)H(i.text)}return}let c0=u1(K0,Z0)(K0);if(c0){if(!y.equals(c0)){if(B(c0.offset),y.text!==c0.text)H(c0.text)}}}function u1(K0,Z0){if(Q0(K0,Z0))return _9;if(Z0.backspace||Z0.delete)return G0(),()=>y.backspace();switch(!0){case(Z0.leftArrow&&(Z0.ctrl||Z0.meta||Z0.fn)):return()=>y.prevWord();case(Z0.rightArrow&&(Z0.ctrl||Z0.meta||Z0.fn)):return()=>y.nextWord();case Z0.ctrl:return v0;case Z0.home:return()=>y.startOfLine();case Z0.end:return()=>y.endOfLine();case Z0.pageDown:return()=>y.endOfLine();case Z0.pageUp:return()=>y.startOfLine();case Z0.return:return()=>B0(Z0);case Z0.meta:return C0;case Z0.tab:return()=>{};case Z0.upArrow:return B9;case Z0.downArrow:return W1;case Z0.leftArrow:return()=>y.left();case Z0.rightArrow:return()=>y.right()}return function(c0){switch(!0){case(c0=="\x1B[H"||c0=="\x1B[1~"):return y.startOfLine();case(c0=="\x1B[F"||c0=="\x1B[4~"):return y.endOfLine();case(c0==="\b"||c0===""||c0==="\b"):return G0(),y.backspace();default:return y.insert(c0.replace(/\r/g,`
389
- `))}}}return{onInput:_1,renderedValue:y.render(q,W,A),offset:w,setOffset:B}}g();import{jsxDEV as tF}from"react/jsx-dev-runtime";var NG="[200~",Z2="\x1B[201~",X2="[201~";function sF($){let H=$,K=!1,J=!1;if(H.startsWith(NG))H=H.slice(NG.length),K=!0;if(H.endsWith(Z2))H=H.slice(0,-Z2.length),J=!0;else if(H.endsWith(X2))H=H.slice(0,-X2.length),J=!0;else{let Z=H.indexOf(Z2);if(Z!==-1)H=H.slice(0,Z)+H.slice(Z+Z2.length),J=!0;else{let X=H.indexOf(X2);if(X!==-1)H=H.slice(0,X)+H.slice(X+X2.length),J=!0}}return{text:H,hasBracketStart:K,hasBracketEnd:J}}function KH({value:$,placeholder:H="",focus:K=!0,mask:J,multiline:Z=!1,highlightPastedText:X=!1,showCursor:Q=!0,onChange:G,onSubmit:Y,onExit:z,onHistoryUp:W,onHistoryDown:F,onExitMessage:q,onMessage:A,onHistoryReset:U,onDoubleEscape:R,columns:I,onImagePaste:S,onPaste:C,isDimmed:w=!1,disableCursorMovementForUpDownKeys:B=!1,cursorOffset:y,onChangeCursorOffset:M}){let[y9,_9]=nF(0),P0=I??process.stdout.columns??80,h=y??y9,j=M??_9,{onInput:U0,renderedValue:v0}=rK({value:$,onChange:G,onSubmit:Y,onExit:z,onExitMessage:q,onMessage:A,onHistoryReset:U,onHistoryUp:W,onHistoryDown:F,onDoubleEscape:R,focus:K,mask:J,multiline:Z,cursorChar:Q?" ":"",highlightPastedText:X,invert:HH.inverse,themeText:(_0)=>HH.hex(L().colors.text)(_0),columns:P0,onImagePaste:S,disableCursorMovementForUpDownKeys:B,externalOffset:h,onOffsetChange:j}),C0=aK([]),B0=aK(null),B9=aK(!1),W1=()=>{if(B0.current)clearTimeout(B0.current),B0.current=null},_1=()=>{let _0=C0.current.join("");if(C0.current=[],W1(),B9.current=!1,!_0||!C)return;Promise.resolve().then(()=>C(_0))},u1=()=>{W1(),B0.current=setTimeout(()=>{_1()},100)},K0=(_0)=>{C0.current.push(_0),u1()},Z0=()=>B0.current!==null||B9.current;aF(()=>()=>{W1(),C0.current=[],B9.current=!1},[]);let c0=(_0)=>{return Boolean(_0.return||_0.escape||_0.tab||_0.ctrl||_0.meta||_0.upArrow||_0.downArrow||_0.leftArrow||_0.rightArrow||_0.pageUp||_0.pageDown||_0.backspace||_0.delete)};oF((_0,d0)=>{let{text:H9,hasBracketStart:a9,hasBracketEnd:t0}=sF(_0);if(a9&&C)B9.current=!0;if(B9.current&&C){if(c0(d0)){_1();return}if(H9)K0(H9);if(t0)_1();return}if(t0&&Z0()){if(H9)K0(H9);_1();return}if(d0.backspace||d0.delete||H9==="\b"||H9===""||H9==="\b"){U0(H9,{...d0,backspace:!0});return}if(!H9&&!c0(d0))return;if(C&&Z0()&&c0(d0)){_1();return}if(C&&(H9.length>800||Z0())){K0(H9);return}U0(H9,d0)},{isActive:K});let T0=H?HH.hex(L().colors.textMuted)(H):void 0;if(Q&&K)T0=H.length>0?HH.inverse(H[0])+HH.hex(L().colors.textMuted)(H.slice(1)):HH.inverse(" ");let Z9=$.length==0&&H;return tF(iF,{wrap:"truncate-end",dimColor:w,children:Z9?T0:v0},void 0,!1,void 0,this)}import{useSyncExternalStore as eF}from"react";function PG(){return{columns:process.stdout.columns||80,rows:process.stdout.rows||24}}var Q2=PG(),G2=!1,Y2=new Set;function nK(){let $=PG();if($.columns===Q2.columns&&$.rows===Q2.rows)return!1;return Q2=$,!0}function $P(){for(let $ of Y2)$()}function AG(){if(!nK())return;$P()}function HP(){if(G2)return;process.stdout.on("resize",AG),G2=!0}function KP(){if(!G2||Y2.size!==0)return;process.stdout.off("resize",AG),G2=!1}function JP($){return Y2.add($),nK(),HP(),()=>{Y2.delete($),KP()}}function FG(){return nK(),Q2}function f9(){return eF(JP,FG,FG)}_2();import{jsxDEV as g1,Fragment as qP}from"react/jsx-dev-runtime";var WP="image/png",LG="[Image pasted]";function _P($){return`data:${WP};base64,${$}`}function oK({userName:$,value:H,onChange:K,onSubmit:J,onTrigger:Z,onExit:X,isStreaming:Q=!1,isDisabled:G=!1,focus:Y,history:z=[],onSaveInput:W,onDoubleEscape:F}){let{columns:q}=f9(),A=q-6,U=g3()&&OG(),[R,I]=j$(-1),[S,C]=j$(""),[w,B]=j$(z),[y,M]=j$(H.length),[m,G0]=j$(null),[y9,_9]=j$(null),[P0,h]=j$({show:!1}),[j,U0]=j$({show:!1}),v0=N2(H),C0=N2(y),B0=N2(m),B9=N2(y9);v0.current=H,C0.current=y,B0.current=m,B9.current=y9,UG(()=>{if(z.length>0)B((i)=>{let T0=[...i];for(let Z9 of z)if(!T0.includes(Z9))T0.push(Z9);return T0.slice(0,100)})},[z]),UG(()=>{if(w.length===0&&R>=0)I(-1)},[w.length]);let W1=q2(()=>{if(w.length===0)return;if(R===-1)C(H);let i=Math.min(R+1,w.length-1);if(I(i),i>=0&&i<w.length){let T0=w[i];K(T0),M(T0.length)}},[w,R,H,K]),_1=q2(()=>{if(R<0)return;let i=R-1;if(I(i),i===-1)K(S),M(S.length);else if(i>=0&&i<w.length){let T0=w[i];K(T0),M(T0.length)}else if(i>=w.length)I(-1),K(S),M(S.length)},[R,S,w,K]),u1=q2((i)=>{I(-1);let T0=i==="/"||i.startsWith("/")&&!H.startsWith("/"),Z9=i.match(/@([\p{L}\p{N}_-]*)$/u),_0=H.match(/@[\p{L}\p{N}_-]*$/u),d0=Z9&&!_0;if(K(i),T0)Z("command",i.slice(1));else if(d0)Z("mention",Z9[1])},[H,K,Z]),K0=q2((i)=>{let T0=v0.current,Z9=B0.current,_0=B9.current,d0=i!==T0&&(Z9!==null||_0!==null)?T0:i;if(Z9){let U6=`[Pasted text +${(Z9.match(/\r\n|\r|\n/g)||[]).length} lines] `;if(d0.includes(U6))d0=d0.replaceAll(U6,Z9)}if(_0&&d0.includes(LG))d0=d0.replaceAll(LG,"");let H9=_0!==null,a9=d0.trim();if(!a9&&!H9)return;if(H9){let t0=_P(_0);d0=a9?`${d0}
390
-
391
- ${t0}`:t0}if(a9)W?.(a9),B((t0)=>[a9,...t0.filter((U6)=>U6!==a9)].slice(0,100));v0.current="",C0.current=0,B0.current=null,B9.current=null,K(""),G0(null),_9(null),U0({show:!1}),J(d0)},[J,W,K]);function Z0(i){B9.current=i,_9(i),U0({show:!0,text:"Image attached. Press Enter to send."})}function c0(i){let T0=v0.current,Z9=C0.current,_0=i.replace(/\r/g,`
392
- `),H9=`[Pasted text +${(_0.match(/\r\n|\r|\n/g)||[]).length} lines] `,a9=T0.slice(0,Z9)+H9+T0.slice(Z9);v0.current=a9,K(a9);let t0=Z9+H9.length;C0.current=t0,M(Z9+H9.length),B0.current=_0,G0(_0)}return g1(O7,{flexDirection:"column",children:[g1(O7,{borderStyle:"single",borderLeft:!1,borderRight:!1,borderDimColor:!0,width:"100%",children:g1(O7,{children:[g1(TK,{userName:$},void 0,!1,void 0,this),g1(KH,{multiline:!0,value:H,onChange:u1,onSubmit:K0,onHistoryUp:W1,onHistoryDown:_1,onHistoryReset:()=>I(-1),onDoubleEscape:F,onExit:X,onExitMessage:(i,T0)=>h({show:i,key:T0}),onMessage:(i,T0)=>U0({show:i,text:T0}),onImagePaste:Z0,onPaste:c0,columns:A,isDimmed:G,focus:Y!==!1,showCursor:!0,cursorOffset:y,onChangeCursorOffset:M},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),g1(O7,{flexDirection:"row",justifyContent:"space-between",paddingX:2,children:g1(O7,{justifyContent:"flex-start",gap:1,children:P0.show?g1(F2,{dimColor:!0,children:["Press ",P0.key," again to exit"]},void 0,!0,void 0,this):j.show?g1(F2,{dimColor:!0,children:j.text},void 0,!1,void 0,this):g1(qP,{children:[g1(F2,{dimColor:!0,children:"/ for commands · @ to mention · esc to undo"},void 0,!1,void 0,this),g1(F2,{dimColor:!0,children:U?"shift + ⏎ for newline":"\\⏎ for newline"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{Static as eD,Box as $V}from"ink";import*as Cz from"react";import{Box as K3,Text as E6}from"ink";import WO from"wrap-ansi";g();import{Box as U7,Text as sK}from"ink";import{jsxDEV as m$}from"react/jsx-dev-runtime";var NP=process.platform==="darwin"?"⏺":"●";function P2({param:{text:$},userName:H,columns:K,addMargin:J=!1,showPrefix:Z=!0}){let X=L(),Q=H||"User",G=Math.max(K-4,20);return m$(U7,{flexDirection:"column",marginTop:J?1:0,width:"100%",children:[Z&&m$(U7,{flexDirection:"row",children:m$(sK,{bold:!0,color:X.colors.primary,children:["\uD83E\uDD84 ",Q]},void 0,!0,void 0,this)},void 0,!1,void 0,this),m$(U7,{flexDirection:"row",width:"100%",marginTop:Z?1:0,children:[m$(U7,{minWidth:2,children:m$(sK,{color:X.colors.primary,children:NP},void 0,!1,void 0,this)},void 0,!1,void 0,this),m$(U7,{flexShrink:1,width:G,children:m$(sK,{wrap:"wrap",children:$?C9($,{width:G}):""},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}g();import{Box as UP,Text as eK}from"ink";var FP=/data:image\/[a-zA-Z0-9.+-]+;base64,[a-zA-Z0-9+/=\n\r]+/g;function PP(){return(process.env.TERM_PROGRAM??"").toLowerCase()==="iterm.app"}function AP(){return PP()&&Boolean(process.stdout?.isTTY)}function A2($){let K=$.trim().match(/^data:(image\/[a-zA-Z0-9.+-]+);base64,([a-zA-Z0-9+/=\n\r]+)$/);if(!K)return null;let[,J,Z]=K;if(!J||!Z)return null;try{let X=Z.replace(/\s+/g,""),Q=Buffer.from(X,"base64");if(Q.length===0)return null;return{buffer:Q,mimeType:J}}catch{return null}}function fG($){let H=A2($);if(!H)return null;return OP(H.buffer,H.mimeType)}function OP($,H="image/png"){if(!AP())return null;let K=$.toString("base64");return`\x1B]1337;File=inline=1;preserveAspectRatio=1;size=${$.length};type=${H}:${K}\x07`}function tK($){let H=[],K=0;for(let J of $.matchAll(FP)){let Z=J.index??0,X=J[0]??"";if(!X)continue;if(Z>K)H.push({type:"text",text:$.slice(K,Z)});H.push({type:"image",dataUri:X}),K=Z+X.length}if(K<$.length)H.push({type:"text",text:$.slice(K)});return H.length>0?H:[{type:"text",text:$}]}import{jsxDEV as O2}from"react/jsx-dev-runtime";function RG({dataUri:$,userName:H,showPrefix:K=!0}){let J=L(),X=`\uD83E\uDD84 ${H||"User"}`,Q=fG($);return O2(UP,{flexDirection:"column",width:"100%",children:[K&&O2(eK,{bold:!0,color:J.colors.primary,children:X},void 0,!1,void 0,this),Q?O2(eK,{children:Q},void 0,!1,void 0,this):O2(eK,{dimColor:!0,children:"[Image attachment]"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}g();import{useRef as MP}from"react";import{Box as U2,Text as R7}from"ink";var L7=[{present:"Accomplishing",past:"Accomplished"},{present:"Actioning",past:"Actioned"},{present:"Actualizing",past:"Actualized"},{present:"Absquatulating",past:"Absquatulated"},{present:"Bamboozling",past:"Bamboozled"},{present:"Brewing",past:"Brewed"},{present:"Calculating",past:"Calculated"},{present:"Cerebrating",past:"Cerebrated"},{present:"Churning",past:"Churned"},{present:"Coalescing",past:"Coalesced"},{present:"Cogitating",past:"Cogitated"},{present:"Confabulating",past:"Confabulated"},{present:"Conjuring",past:"Conjured"},{present:"Considering",past:"Considered"},{present:"Contemplating",past:"Contemplated"},{present:"Cooking",past:"Cooked"},{present:"Crafting",past:"Crafted"},{present:"Crunching",past:"Crunched"},{present:"Deliberating",past:"Deliberated"},{present:"Determining",past:"Determined"},{present:"Dillydallying",past:"Dillydallied"},{present:"Discombobulating",past:"Discombobulated"},{present:"Doing",past:"Done"},{present:"Effecting",past:"Effected"},{present:"Finagling",past:"Finagled"},{present:"Fizzwizzling",past:"Fizzwizzled"},{present:"Flummoxing",past:"Flummoxed"},{present:"Forging",past:"Forged"},{present:"Frobnicating",past:"Frobnicated"},{present:"Gallivanting",past:"Gallivanted"},{present:"Generating",past:"Generated"},{present:"Hatching",past:"Hatched"},{present:"Herding",past:"Herded"},{present:"Honking",past:"Honked"},{present:"Hornswoggling",past:"Hornswoggled"},{present:"Hustling",past:"Hustled"},{present:"Ideating",past:"Ideated"},{present:"Inferring",past:"Inferred"},{present:"Lollygagging",past:"Lollygagged"},{present:"Manifesting",past:"Manifested"},{present:"Marinating",past:"Marinated"},{present:"Moseying",past:"Moseyed"},{present:"Mulling",past:"Mulled"},{present:"Mustering",past:"Mustered"},{present:"Musing",past:"Mused"},{present:"Noodling",past:"Noodled"},{present:"Perambulating",past:"Perambulated"},{present:"Percolating",past:"Percolated"},{present:"Pondering",past:"Pondered"},{present:"Prestidigitating",past:"Prestidigitated"},{present:"Processing",past:"Processed"},{present:"Puttering",past:"Puttered"},{present:"Reflecting",past:"Reflected"},{present:"Reticulating",past:"Reticulated"},{present:"Ruminating",past:"Ruminated"},{present:"Schlepping",past:"Schlepped"},{present:"Shenaniganing",past:"Shenaniganed"},{present:"Shucking",past:"Shucked"},{present:"Skedaddling",past:"Skedaddled"},{present:"Snozzwangling",past:"Snozzwangled"},{present:"Simmering",past:"Simmered"},{present:"Smooshing",past:"Smooshed"},{present:"Spinning",past:"Spun"},{present:"Stewing",past:"Stewed"},{present:"Synthesizing",past:"Synthesized"},{present:"Thaumaturging",past:"Thaumaturged"},{present:"Thinking",past:"Thought"},{present:"Transmogrifying",past:"Transmogrified"},{present:"Transmuting",past:"Transmuted"},{present:"Vibing",past:"Vibed"},{present:"Weaving",past:"Woven"},{present:"Working",past:"Worked"},{present:"Chrysalizing",past:"Chrysalized"},{present:"Fluttering",past:"Fluttered"},{present:"Harmonizing",past:"Harmonized"},{present:"Metamorphosing",past:"Metamorphosed"},{present:"Orchestrating",past:"Orchestrated"},{present:"Catching",past:"Caught"},{present:"Evolving",past:"Evolved"},{present:"Mega Evolving",past:"Mega Evolved"},{present:"Summoning",past:"Summoned"},{present:"Charging",past:"Charged"},{present:"Fusing",past:"Fused"},{present:"Kamehameha-ing",past:"Kamehameha'd"},{present:"Powering Up",past:"Powered Up"},{present:"Spirit Bombing",past:"Spirit Bombed"},{present:"Transcending",past:"Transcended"},{present:"Gear Shifting",past:"Gear Shifted"},{present:"Gum-Gum-ing",past:"Gum-Gum'd"},{present:"Navigating",past:"Navigated"},{present:"Plundering",past:"Plundered"},{present:"Sailing",past:"Sailed"},{present:"Setting Sail",past:"Set Sail"},{present:"Catapulting",past:"Catapulted"},{present:"Mobilizing",past:"Mobilized"},{present:"Newtypeing",past:"Newtyped"},{present:"Trans-Am-ing",past:"Trans-Am'd"},{present:"Assembling",past:"Assembled"},{present:"Hulking",past:"Hulked"},{present:"Snapping",past:"Snapped"},{present:"Vibranium-ing",past:"Vibranium'd"},{present:"Alchemizing",past:"Alchemized"},{present:"Assimilating",past:"Assimilated"},{present:"Astral Projecting",past:"Astral Projected"},{present:"Beaming",past:"Beamed"},{present:"Cloaking",past:"Cloaked"},{present:"Dematerializing",past:"Dematerialized"},{present:"Enchanting",past:"Enchanted"},{present:"Engaging",past:"Engaged"},{present:"Ensorcelling",past:"Ensorcelled"},{present:"Holographing",past:"Holographed"},{present:"Hyperjumping",past:"Hyperjumped"},{present:"Morphing",past:"Morphed"},{present:"Nebulizing",past:"Nebulized"},{present:"Phasing",past:"Phased"},{present:"Quantum Leaping",past:"Quantum Leapt"},{present:"Shapeshifting",past:"Shapeshifted"},{present:"Spellcasting",past:"Spellcast"},{present:"Teleporting",past:"Teleported"},{present:"Terraforming",past:"Terraformed"},{present:"Time Traveling",past:"Time Traveled"},{present:"Time Warping",past:"Time Warped"},{present:"Transforming",past:"Transformed"},{present:"Warping",past:"Warped"},{present:"Wormholing",past:"Wormholed"},{present:"Bepuzzling",past:"Bepuzzled"},{present:"Blorbulating",past:"Blorbulated"},{present:"Cattywampusing",past:"Cattywampused"},{present:"Cromulating",past:"Cromulated"},{present:"Discorbuflating",past:"Discorbuflated"},{present:"Embiggenating",past:"Embiggenated"},{present:"Flibbertigibbeting",past:"Flibbertigibbeted"},{present:"Flonkifying",past:"Flonkified"},{present:"Frobscottling",past:"Frobscottled"},{present:"Glorpifying",past:"Glorpified"},{present:"Gobsmacking",past:"Gobsmacked"},{present:"Higgledy-piggling",past:"Higgledy-piggled"},{present:"Jiggery-pokerying",past:"Jiggery-pokeried"},{present:"Kerfuffling",past:"Kerfuffled"},{present:"Malarkeying",past:"Malarkeyed"},{present:"Mumblewumbling",past:"Mumblewumbled"},{present:"Phantasmagoring",past:"Phantasmagored"},{present:"Quibberflasting",past:"Quibberflasted"},{present:"Quorfluxing",past:"Quorfluxed"},{present:"Rigmaroling",past:"Rigmaroled"},{present:"Skullduggering",past:"Skullduggered"},{present:"Snizzleworfing",past:"Snizzleworfed"},{present:"Snorfulating",past:"Snorfulated"},{present:"Spatchcocking",past:"Spatchcocked"},{present:"Tomfoolering",past:"Tomfoolered"},{present:"Wibbling",past:"Wibbled"},{present:"Wumboozling",past:"Wumboozled"},{present:"Yoinking",past:"Yoinked"},{present:"Zippledorping",past:"Zippledorped"},{present:"Zorbinating",past:"Zorbinated"},{present:"Awakening",past:"Awakened"},{present:"Bankai-ing",past:"Bankai'd"},{present:"Rasengan-ing",past:"Rasengan'd"},{present:"Unleashing",past:"Unleashed"}];function n1(){return L7[Math.floor(Math.random()*L7.length)]??L7[0]}var LP=new Set(["file","web"]),fP={ls:"list",rm:"remove",cp:"copy",mv:"move",cd:"change_dir",mkdir:"make_dir"},RP=new Set(["arion","delegation","knowledge","patch","processes","process","quest","skill","stdin","tool","user","worker"]);function BG($,H=!1){let K=fP[$]??$,J=K.split("_").filter((X)=>!LP.has(X.toLowerCase()));if(J.length===0)return H?yG(K.toLowerCase()):f7(K);let Z=H?yP(J):-1;return J.map((X,Q)=>Q===Z?yG(X.toLowerCase()):f7(X.toLowerCase())).join(" ")}function yP($){let H=$.findIndex((K)=>!RP.has(K.toLowerCase()));return H>=0?H:0}var BP=new Set(["glob","grep","run","get","set","put","stop","spin","forget"]);function yG($){if($.endsWith("e")&&$.length>2)return f7($.slice(0,-1))+"ing";if(BP.has($))return f7($)+$[$.length-1]+"ing";return f7($)+"ing"}function f7($){return $.charAt(0).toUpperCase()+$.slice(1)}import{jsxDEV as i1}from"react/jsx-dev-runtime";var wP=1/0;function CP($){if($===void 0||$===null)return"";if($<=0)return"< 1s";if($<60)return`${$}s`;let H=Math.floor($/60),K=$%60;return`${H}m ${K}s`}function $J({content:$,expanded:H=!1,durationSeconds:K,verb:J,arionName:Z,arionEmoji:X,arionColor:Q,isLive:G=!1,maxLines:Y=wP}){let z=L(),W=MP(n1()),F=J||W.current.present,q=J||W.current.past,A=CP(K);return i1(U2,{flexDirection:"column",children:[!!(X&&Z)&&i1(U2,{marginBottom:1,children:i1(R7,{color:Q||z.colors.textMuted,bold:!0,children:[X," ",Z]},void 0,!0,void 0,this)},void 0,!1,void 0,this),i1(R7,{color:z.colors.textMuted,children:["✻"," ",G?F:q,G?"…":A?` for ${A}`:""]},void 0,!0,void 0,this),G&&$&&i1(MG,{content:$,maxLines:Y,isLive:!0},void 0,!1,void 0,this),!G&&H&&$&&i1(MG,{content:$,maxLines:Y,isLive:!1},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function MG({content:$,maxLines:H,isLive:K}){let J=L(),{columns:Z}=f9(),X=Math.max(Z-4,20),G=C9($,{width:X,mode:K?"streaming":"final"}).split(`
393
- `),Y=G.slice(0,H),z=G.length-Y.length;return i1(U2,{children:[i1(R7,{color:J.colors.textMuted,children:" ⎿ "},void 0,!1,void 0,this),i1(U2,{flexDirection:"column",width:X,children:[Y.map((W,F)=>i1(R7,{color:J.colors.textMuted,wrap:"wrap",children:W},F,!1,void 0,this)),z>0&&i1(R7,{color:J.colors.textMuted,children:["…"," (+",z," line",z!==1?"s":"",")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}import{Box as Bz,Text as vJ}from"ink";g();import{Box as SG,Text as L2}from"ink";import{Box as SP,Text as bP}from"ink";import kP from"react";import{useEffect as wG,useRef as IP}from"react";function CG($,H){let K=IP($);wG(()=>{K.current=$},[$]),wG(()=>{function J(){K.current()}let Z=setInterval(J,H);return()=>clearInterval(Z)},[H])}g();import{jsxDEV as IG}from"react/jsx-dev-runtime";var gP=process.platform==="darwin"?"⏺":"●";function HJ({isError:$=!1,isUnresolved:H=!1,shouldAnimate:K=!0,...J}){let Z=H||J.isQueued||!1,[X,Q]=kP.useState(!0);CG(()=>{if(!K)return;Q((Y)=>!Y)},600);let G=Z?L().colors.textMuted:$?L().colors.error:L().colors.success;return IG(SP,{minWidth:2,children:IG(bP,{color:G,children:X?gP:" "},void 0,!1,void 0,this)},void 0,!1,void 0,this)}import{jsxDEV as v3}from"react/jsx-dev-runtime";function vP($){return $.split(/,\s*(?=\w+:\s)/).map((K)=>K.replace(/^\w+:\s*/,"")).join(" ")}function TP($,H){let K=$.replace(/\s+/g," ").trim();if(K.length<=H)return K;return K.slice(0,H-1)+"…"}function bG({displayName:$,args:H,status:K,durationMs:J,verbose:Z}){let X=L(),Q=K==="pending"||K==="running",G=K==="error",Y;if(H)if(typeof H==="string")if(Z)Y=H;else{let z=vP(H),W=process.stdout.columns||80,F=2+$.length+1,q=Math.max(20,W-F);Y=TP(z,q)}else Y=H;return v3(SG,{flexDirection:"row",children:[v3(HJ,{shouldAnimate:Q,isError:G,isUnresolved:Q},void 0,!1,void 0,this),v3(L2,{bold:!0,children:$},void 0,!1,void 0,this),Y!=null&&(typeof Y==="string"?v3(L2,{children:[" ",Y]},void 0,!0,void 0,this):v3(SG,{children:[v3(L2,{children:" "},void 0,!1,void 0,this),Y]},void 0,!0,void 0,this)),Z&&J!=null?v3(L2,{color:X.colors.textMuted,children:[" · ",(J/1000).toFixed(1),"s"]},void 0,!0,void 0,this):null]},void 0,!0,void 0,this)}import{Box as KJ,Text as hP}from"ink";import{jsxDEV as f2}from"react/jsx-dev-runtime";function JJ({children:$}){return f2(KJ,{flexDirection:"column",children:f2(KJ,{flexDirection:"row",children:[f2(hP,{children:[" ","⎿"," "]},void 0,!0,void 0,this),f2(KJ,{flexDirection:"column",flexGrow:1,children:$},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}import{Box as DP,Text as VP}from"ink";import{jsxDEV as ZJ,Fragment as cP}from"react/jsx-dev-runtime";function kG({durationMs:$,usage:H}){let K=[];if(H&&H.totalTokens>0)K.push(`+${e5(H.totalTokens)} tokens`),K.push(kK(H.estimatedCost));if($)K.push(`${($/1000).toFixed(1)}s`);if(K.length===0)return ZJ(cP,{},void 0,!1,void 0,this);return ZJ(DP,{children:ZJ(VP,{dimColor:!0,children:K.join(" · ")},void 0,!1,void 0,this)},void 0,!1,void 0,this)}import vG from"react";import{jsxDEV as EP}from"react/jsx-dev-runtime";var gG=process.stdout.columns||80,TG=vG.createContext({terminalWidth:gG,contentWidth:Math.max(gG-5,1)});function R2({value:$,children:H}){return EP(TG.Provider,{value:$,children:H},void 0,!1,void 0,this)}function d$(){return vG.useContext(TG)}import{Text as XH}from"ink";g();import{Text as hG}from"ink";import{jsxDEV as DG}from"react/jsx-dev-runtime";function b(){return DG(hG,{children:["  ","⎿","  ",DG(hG,{color:L().colors.error,children:"No (tell ARIA what to do differently)"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{Box as pP,Text as lP}from"ink";g();import{Box as XJ,Text as jP}from"ink";import mP from"chalk";function m9($){return $.length>80?$.slice(0,80)+"…":$}function K$($){return $.split(`
394
- `).map(m9).join(`
395
- `)}import{jsxDEV as y2}from"react/jsx-dev-runtime";var QJ=3;function dP($,H){let K=$.split(`
396
- `);if(K.length<=QJ)return K.map(m9).join(`
397
- `);return[...K.slice(0,QJ).map(m9),mP.grey(`… +${H-QJ} lines`)].join(`
398
- `)}function ZH({content:$,lines:H,verbose:K,isError:J}){return y2(XJ,{justifyContent:"space-between",width:"100%",children:y2(XJ,{flexDirection:"row",children:y2(XJ,{flexDirection:"column",children:y2(jP,{color:J?L().colors.error:void 0,children:K?$.trim():dP($.trim(),H)},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}g();import{jsxDEV as B2}from"react/jsx-dev-runtime";function xP({content:$,verbose:H}){let{stdout:K,stdoutLines:J,stderr:Z,stderrLines:X}=$;return B2(pP,{flexDirection:"column",children:[K!==""?B2(ZH,{content:K,lines:J,verbose:H},void 0,!1,void 0,this):null,Z!==""?B2(ZH,{content:Z,lines:X,verbose:H,isError:!0},void 0,!1,void 0,this):null,K===""&&Z===""?B2(lP,{color:L().colors.textMuted,children:"(No content)"},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}var VG=xP;import{jsxDEV as p$}from"react/jsx-dev-runtime";var l$={displayName(){return"Bash"},renderInput($){if(typeof $.command==="string"){let H=$.command;if(H.includes(`"$(cat <<'EOF'`)){let K=H.match(/^(.*?)"?\$\(cat <<'EOF'\n([\s\S]*?)\n\s*EOF\n\s*\)"(.*)$/);if(K&&K[1]&&K[2])return`${K[1].trim()} "${K[2].trim()}"${(K[3]||"").trim()}`}return H}if(typeof $.program==="string"){let H=Array.isArray($.args)?" "+$.args.join(" "):"";return`${$.program}${H}`}if(typeof $.input==="string"){let H=$.input.length>40?$.input.slice(0,40)+"…":$.input;return`stdin → ${$.pid??""} "${H}"`}if($.signal!=null)return`kill ${$.signal} ${$.pid}`;if(typeof $.timeoutMs==="number"||typeof $.timeout==="number")return`wait ${$.pid}`;if($.pid!=null&&Object.keys($).length<=2)return`pid ${$.pid}`;return""},renderRejection(){return p$(b,{},void 0,!1,void 0,this)},renderOutput($,{verbose:H}){if($==null)return p$(XH,{children:"(No content)"},void 0,!1,void 0,this);if(typeof $==="string")return p$(XH,{children:$||"(No content)"},void 0,!1,void 0,this);let K=$;if(typeof K.stdout==="string"||typeof K.stderr==="string"){let J={stdout:K.stdout??"",stdoutLines:typeof K.stdoutLines==="number"?K.stdoutLines:(K.stdout??"").split(`
399
- `).length,stderr:K.stderr??"",stderrLines:typeof K.stderrLines==="number"?K.stderrLines:(K.stderr??"").split(`
400
- `).length};return p$(VG,{content:J,verbose:H},void 0,!1,void 0,this)}if(K.pid!=null)return p$(XH,{children:["pid: ",String(K.pid)]},void 0,!0,void 0,this);if(K.signal!=null||K.killed!=null)return p$(XH,{children:[K.killed?"Killed":"Signal sent",K.signal?` (${String(K.signal)})`:""]},void 0,!0,void 0,this);if(K.exitCode!=null)return p$(XH,{children:["Exit code: ",String(K.exitCode)]},void 0,!0,void 0,this);return p$(XH,{children:JSON.stringify($)},void 0,!1,void 0,this)}};import{Box as jG,Text as M7}from"ink";import{relative as zJ}from"path";import{Box as YJ,Text as B7}from"ink";g();import{Box as y7,Text as L1}from"ink";import*as cG from"react";import{useMemo as uP}from"react";import{jsxDEV as K9}from"react/jsx-dev-runtime";function rP($,H){let K=[],J="";for(let Z of $)if([...J].length<H)J+=Z;else K.push(J),J=Z;if(J)K.push(J);return K}function aP({patch:$,dim:H,width:K,overrideTheme:J}){return uP(()=>nP($.lines,$.oldStart,K,H,J),[$.lines,$.oldStart,K,H,J]).map((X,Q)=>K9(y7,{children:X},Q,!1,void 0,this))}function nP($,H,K,J,Z){let X=L(),Q=iP($.map((z)=>{if(z.startsWith("+"))return{code:"+"+z.slice(1),i:0,type:"add"};if(z.startsWith("-"))return{code:"-"+z.slice(1),i:0,type:"remove"};return{code:z,i:0,type:"nochange"}}),H),Y=Math.max(...Q.map(({i:z})=>z)).toString().length;return Q.flatMap(({type:z,code:W,i:F})=>{return rP(W,K-Y).map((A,U)=>{let R=`${z}-${F}-${U}`;switch(z){case"add":return K9(L1,{children:[K9(GJ,{i:U===0?F:void 0,width:Y},void 0,!1,void 0,this),K9(L1,{color:Z?X.colors.text:void 0,backgroundColor:J?X.colors.diffAddedDimmed:X.colors.diffAdded,dimColor:J,children:A},void 0,!1,void 0,this)]},R,!0,void 0,this);case"remove":return K9(L1,{children:[K9(GJ,{i:U===0?F:void 0,width:Y},void 0,!1,void 0,this),K9(L1,{color:Z?X.colors.text:void 0,backgroundColor:J?X.colors.diffRemovedDimmed:X.colors.diffRemoved,dimColor:J,children:A},void 0,!1,void 0,this)]},R,!0,void 0,this);case"nochange":return K9(L1,{children:[K9(GJ,{i:U===0?F:void 0,width:Y},void 0,!1,void 0,this),K9(L1,{color:Z?X.colors.text:void 0,dimColor:J,children:A},void 0,!1,void 0,this)]},R,!0,void 0,this)}})})}function GJ({i:$,width:H}){return K9(L1,{color:L().colors.textMuted,children:[$!==void 0?$.toString().padStart(H):" ".repeat(H)," "]},void 0,!0,void 0,this)}function iP($,H){let K=H,J=[],Z=[...$];while(Z.length>0){let{code:X,type:Q}=Z.shift(),G={code:X,type:Q,i:K};switch(Q){case"nochange":K++,J.push(G);break;case"add":K++,J.push(G);break;case"remove":{J.push(G);let Y=0;while(Z[0]?.type==="remove"){K++;let{code:z,type:W}=Z.shift(),F={code:z,type:W,i:K};J.push(F),Y++}K-=Y;break}}}return J}function oP($){let H=[];for(let K of $.lines)switch(K.type){case"added":H.push("+"+K.content);break;case"removed":H.push("-"+K.content);break;default:H.push(" "+K.content);break}return{lines:H,oldStart:$.oldStart}}function T3({diff:$,width:H=60,showHeader:K=!0,maxLines:J=50,dim:Z=!1}){let X=L(),Q=$.hunks.reduce((W,F)=>W+F.lines.length,0),G=Q>J,Y=G?Math.floor(J/$.hunks.length):void 0,z=G?$.hunks.reduce((W,F)=>W+Math.min(F.lines.length,Y),0):Q;return K9(y7,{flexDirection:"column",width:H,children:[K&&K9(y7,{marginBottom:1,children:[K9(L1,{bold:!0,children:$.filePath},void 0,!1,void 0,this),K9(L1,{color:X.colors.textMuted,children:[" ","(",K9(L1,{color:X.colors.success,children:["+",$.additions]},void 0,!0,void 0,this)," / ",K9(L1,{color:X.colors.error,children:["-",$.deletions]},void 0,!0,void 0,this),")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),$.hunks.map((W,F)=>{let q=Y&&W.lines.length>Y?{...W,lines:W.lines.slice(0,Y)}:W,A=oP(q);return K9(cG.Fragment,{children:[F>0&&K9(y7,{paddingY:0,children:K9(L1,{color:X.colors.textMuted,children:"..."},void 0,!1,void 0,this)},void 0,!1,void 0,this),K9(aP,{patch:A,dim:Z,width:H},void 0,!1,void 0,this)]},F,!0,void 0,this)}),G&&K9(y7,{marginTop:1,children:K9(L1,{color:X.colors.textMuted,children:["... ",Q-z," more lines"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}g();import{jsxDEV as o1,Fragment as EG}from"react/jsx-dev-runtime";function sP($,H){return $.flatMap((K,J)=>J?[H(J),K]:[K])}function tP($,H){let K=[],J=$.oldStart,Z=$.newStart,X=0,Q=0;for(let G of $.lines){let Y=G.slice(1);if(G.startsWith("+"))K.push({type:"added",content:Y,newLineNo:Z++}),X++;else if(G.startsWith("-"))K.push({type:"removed",content:Y,oldLineNo:J++}),Q++;else K.push({type:"unchanged",content:Y,oldLineNo:J++,newLineNo:Z++})}return{filePath:H,hunks:[{oldStart:$.oldStart,oldLines:$.oldLines,newStart:$.newStart,newLines:$.newLines,lines:K}],additions:X,deletions:Q}}function M2({filePath:$,structuredPatch:H,verbose:K}){let{columns:J}=f9(),Z=H.reduce((z,W)=>z+W.lines.filter((F)=>F.startsWith("+")).length,0),X=H.reduce((z,W)=>z+W.lines.filter((F)=>F.startsWith("-")).length,0),Q=H.flatMap((z)=>z.lines.filter((W)=>W.startsWith("+")||W.startsWith("-"))),G=2,Y=K||Q.length<=2;return o1(YJ,{flexDirection:"column",children:[o1(B7,{children:[Z>0?o1(EG,{children:["Added ",o1(B7,{bold:!0,children:Z},void 0,!1,void 0,this)," ",Z>1?"lines":"line"]},void 0,!0,void 0,this):null,Z>0&&X>0?", ":null,X>0?o1(EG,{children:["removed ",o1(B7,{bold:!0,children:X},void 0,!1,void 0,this)," ",X>1?"lines":"line"]},void 0,!0,void 0,this):null,!Y?o1(B7,{color:L().colors.textMuted,children:[" (",Q.length," diff lines)"]},void 0,!0,void 0,this):null]},void 0,!0,void 0,this),Y&&sP(H.map((z)=>o1(YJ,{flexDirection:"column",paddingLeft:5,children:o1(T3,{diff:tP(z,$),showHeader:!1,dim:!1,width:J-12},void 0,!1,void 0,this)},z.newStart,!1,void 0,this)),(z)=>o1(YJ,{paddingLeft:5,children:o1(B7,{color:L().colors.textMuted,children:"..."},void 0,!1,void 0,this)},`ellipsis-${z}`,!1,void 0,this))]},void 0,!0,void 0,this)}import{jsxDEV as J$}from"react/jsx-dev-runtime";var w2={displayName($){let H=$?.old_string??$?.oldText??"",K=$?.new_string??$?.newText??"";if(H==="")return"Create";if(K==="")return"Delete";return"Edit"},renderInput($,{verbose:H}){let K=String($?.file_path??$?.path??"");if(K)return H?K:zJ(process.cwd(),K);if(typeof $?.patch==="string"){let Z=[...$.patch.matchAll(/^\*\*\*\s+(?:Update|Add|Delete|Rename)\s+(.+)$/gm)].map((X)=>X[1]??"").filter(Boolean).slice(0,3);if(Z.length>0)return Z.map((X)=>H?X:zJ(process.cwd(),X)).join(", ");return"patch"}return""},renderOutput($,{verbose:H}){if($==null)return J$(M7,{children:"(No content)"},void 0,!1,void 0,this);if(typeof $==="string")return J$(M7,{children:$},void 0,!1,void 0,this);let K=$;if(K.structuredPatch)return J$(M2,{filePath:K.filePath??K.path,structuredPatch:K.structuredPatch,verbose:H},void 0,!1,void 0,this);if(K.path!=null){let J=H?String(K.path):zJ(process.cwd(),String(K.path)),Z=K.replacements!=null?Number(K.replacements):void 0,X=Z!=null?` (${Z} replacement${Z!==1?"s":""})`:"";return J$(jG,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:J$(jG,{flexDirection:"row",children:J$(M7,{children:["Edited ",J$(M7,{bold:!0,children:J},void 0,!1,void 0,this),X]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}return J$(M7,{children:JSON.stringify($)},void 0,!1,void 0,this)},renderRejection(){return J$(b,{},void 0,!1,void 0,this)}};import{Box as v1,Text as w7}from"ink";import{extname as dG,relative as JA}from"path";import{highlight as mG,supportsLanguage as eP}from"cli-highlight";import{Text as $A}from"ink";import{useMemo as HA}from"react";import{jsxDEV as KA}from"react/jsx-dev-runtime";function s1({code:$,language:H}){let K=HA(()=>{try{if(H&&eP(H))return mG($,{language:H});return mG($,{language:"markdown"})}catch{return $}},[$,H]);return KA($A,{children:K},void 0,!1,void 0,this)}g();import{jsxDEV as R9}from"react/jsx-dev-runtime";var QH=3,WJ={displayName(){return"Read"},renderInput($,{verbose:H}){let K=String($?.file_path??$?.path??""),{file_path:J,path:Z,...X}=$;return[["path",H?K:JA(process.cwd(),K)],...Object.entries(X).filter(([G])=>G!=="file_path"&&G!=="path")].map(([G,Y])=>`${G}: ${JSON.stringify(Y)}`).join(", ")},renderOutput($,{verbose:H},K){let J=K??{},Z=String(J.file_path??J.path??""),X=Z?dG(Z).slice(1):"";if($==null)return R9(v1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:R9(v1,{flexDirection:"row",children:R9(w7,{children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string"){let G=$||"(No content)",Y=G.split(`
401
- `);return R9(v1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:R9(v1,{flexDirection:"row",children:R9(v1,{flexDirection:"column",children:[R9(s1,{code:H?G:K$(Y.slice(0,QH).filter((z)=>z.trim()!=="").join(`
402
- `)),language:X},void 0,!1,void 0,this),!H&&Y.length>QH&&R9(w7,{color:L().colors.textMuted,children:["... (+",Y.length-QH," lines)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}let Q=$;if(Q.type==="media"||Q.type==="image")return R9(v1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:R9(v1,{flexDirection:"row",children:R9(w7,{children:"Read image"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(Q.type==="text"&&Q.file){let G=Q.file,Y=G.content||"(No content)";return R9(v1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:R9(v1,{flexDirection:"row",children:R9(v1,{flexDirection:"column",children:[R9(s1,{code:H?Y:K$(Y.split(`
403
- `).slice(0,QH).filter((z)=>z.trim()!=="").join(`
404
- `)),language:dG(G.filePath).slice(1)},void 0,!1,void 0,this),!H&&G.numLines>QH&&R9(w7,{color:L().colors.textMuted,children:["... (+",G.numLines-QH," lines)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}return R9(v1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:R9(v1,{flexDirection:"row",children:R9(w7,{children:JSON.stringify($)},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)},renderRejection(){return R9(b,{},void 0,!1,void 0,this)}};import{Box as C2,Text as x$}from"ink";import{EOL as ZA}from"os";import{extname as XA,relative as _J}from"path";g();import{jsxDEV as s9}from"react/jsx-dev-runtime";var qJ=3,NJ={displayName:()=>"Write",renderInput($,{verbose:H}){let K=String($?.file_path??$?.path??"");if(!K)return"";let J=H?K:_J(process.cwd(),K),Z=typeof $?.content==="string"?` (${$.content.length} bytes)`:"";return J+Z},renderRejection(){return s9(b,{},void 0,!1,void 0,this)},renderOutput($,{verbose:H}){if($==null)return s9(x$,{children:"(No content)"},void 0,!1,void 0,this);if(typeof $==="string")return s9(x$,{children:$},void 0,!1,void 0,this);let K=$;if(K.structuredPatch)return s9(M2,{filePath:K.filePath??K.path,structuredPatch:K.structuredPatch,verbose:H},void 0,!1,void 0,this);if(K.path!=null&&K.action!=null){let J=H?String(K.path):_J(process.cwd(),String(K.path)),Z=K.bytesWritten!=null?Number(K.bytesWritten):void 0,X=String(K.action),Q=Z!=null?`${Z} bytes to `:"";return s9(C2,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:s9(C2,{flexDirection:"row",children:s9(x$,{children:["Wrote ",Q,s9(x$,{bold:!0,children:J},void 0,!1,void 0,this)," (",X,")"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}if(K.type==="create"&&K.filePath!=null){let J=K.content||"",Z=J||"(No content)",X=J.split(ZA).length;return s9(C2,{flexDirection:"column",children:[s9(x$,{children:["Wrote ",X," lines to"," ",s9(x$,{bold:!0,children:H?K.filePath:_J(process.cwd(),K.filePath)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),s9(C2,{flexDirection:"column",paddingLeft:5,children:[s9(s1,{code:H?Z:K$(Z.split(`
405
- `).slice(0,qJ).filter((Q)=>Q.trim()!=="").join(`
406
- `)),language:XA(K.filePath).slice(1)},void 0,!1,void 0,this),!H&&X>qJ&&s9(x$,{color:L().colors.textMuted,children:["... (+",X-qJ," lines)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}return s9(x$,{children:JSON.stringify($)},void 0,!1,void 0,this)}};import{Box as S2,Text as h3}from"ink";import{isAbsolute as YA,relative as FJ,resolve as zA}from"path";import{Box as QA,Text as GA}from"ink";import{jsxDEV as pG}from"react/jsx-dev-runtime";function I2({costUSD:$,durationMs:H,debug:K}){if(!K)return null;let J=(H/1000).toFixed(1);return pG(QA,{flexDirection:"column",minWidth:23,width:23,children:pG(GA,{dimColor:!0,children:["Cost: $",$.toFixed(4)," (",J,"s)"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}import{jsxDEV as f1}from"react/jsx-dev-runtime";var lG={displayName(){return"Grep"},renderInput({pattern:$,path:H,include:K},{verbose:J}){let Z=H?YA(H)?H:zA(process.cwd(),H):void 0,X=Z?FJ(process.cwd(),Z):void 0;return`pattern: "${$}"${X||J?`, path: "${J?Z:X}"`:""}${K?`, include: "${K}"`:""}`},renderRejection(){return f1(b,{},void 0,!1,void 0,this)},renderOutput($){let H=0,K=0,J=0,Z=!1,X=[];if($!=null&&typeof $==="object"&&!Array.isArray($)){let G=$;if(Array.isArray(G.matches)){let Y=new Set;for(let z of G.matches){let W=z,F=typeof W.filePath==="string"?W.filePath:typeof W.file==="string"?W.file:typeof W.path==="string"?W.path:void 0;if(F)Y.add(F)}H=G.matches.length,K=Y.size,Z=!!G.truncated;for(let z of Y)X.push(FJ(process.cwd(),z))}else if(typeof G.numFiles==="number")K=G.numFiles,J=typeof G.durationMs==="number"?G.durationMs:0}else if(Array.isArray($)){let G=new Set;for(let Y of $)if(Y!=null&&typeof Y==="object"){let z=Y,W=typeof z.filePath==="string"?z.filePath:typeof z.file==="string"?z.file:typeof z.path==="string"?z.path:void 0;if(W)G.add(W)}H=$.length,K=G.size||$.length;for(let Y of G)X.push(FJ(process.cwd(),Y))}let Q=4;return f1(S2,{flexDirection:"column",children:[f1(S2,{flexDirection:"row",children:[f1(h3,{bold:!0,children:[H," "]},void 0,!0,void 0,this),f1(h3,{children:[H===1?"match":"matches"," in "]},void 0,!0,void 0,this),f1(h3,{bold:!0,children:[K," "]},void 0,!0,void 0,this),f1(h3,{children:K===1?"file":"files"},void 0,!1,void 0,this),Z&&f1(h3,{color:"yellow",children:" (truncated)"},void 0,!1,void 0,this),J>0&&f1(I2,{costUSD:0,durationMs:J,debug:!1},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X.slice(0,Q).map((G,Y)=>f1(S2,{paddingLeft:2,children:f1(h3,{dimColor:!0,children:G},void 0,!1,void 0,this)},Y,!1,void 0,this)),X.length>Q&&f1(S2,{paddingLeft:2,children:f1(h3,{dimColor:!0,children:["+",X.length-Q," more files"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as xG,Text as PJ}from"ink";import{isAbsolute as WA,relative as _A,resolve as qA}from"path";import{jsxDEV as D3}from"react/jsx-dev-runtime";var uG={displayName(){return"Search"},renderInput({pattern:$,path:H},{verbose:K}){let J=H?WA(H)?H:qA(process.cwd(),H):void 0,Z=J?_A(process.cwd(),J):void 0;return`pattern: "${$}"${Z||K?`, path: "${K?J:Z}"`:""}`},renderRejection(){return D3(b,{},void 0,!1,void 0,this)},renderOutput($){let H=0,K=0;if(Array.isArray($))H=$.length;else if(typeof $==="string")try{let J=JSON.parse($);H=J.numFiles??0,K=J.durationMs??0}catch{H=0}else if($!=null&&typeof $==="object"){let J=$;H=typeof J.numFiles==="number"?J.numFiles:0,K=typeof J.durationMs==="number"?J.durationMs:0}return D3(xG,{justifyContent:"space-between",width:"100%",children:[D3(xG,{flexDirection:"row",children:[D3(PJ,{children:"Found "},void 0,!1,void 0,this),D3(PJ,{bold:!0,children:[H," "]},void 0,!0,void 0,this),D3(PJ,{children:H===0||H>1?"files":"file"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),K>0&&D3(I2,{costUSD:0,durationMs:K,debug:!1},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as Z$,Text as V3}from"ink";import{isAbsolute as NA,relative as FA,resolve as PA}from"path";g();import{jsxDEV as E9}from"react/jsx-dev-runtime";var X$=3,rG=1000,AA=`There are more than ${rG} files in the repository. Use the LS tool (passing a specific path), Bash tool, and other tools to explore nested directories. The first ${rG} files and directories are included below:
407
-
408
- `,b2={displayName(){return"List"},renderInput({path:$},{verbose:H}){let K=$?NA($)?$:PA(process.cwd(),$):void 0,J=K?FA(process.cwd(),K):".";return`path: "${H?$:J}"`},renderRejection(){return E9(b,{},void 0,!1,void 0,this)},renderOutput($,{verbose:H}){if(typeof $==="string"){let K=$.replace(AA,"");if(!K)return null;let J=K.split(`
409
- `).filter((Z)=>Z.trim()!=="");return E9(Z$,{justifyContent:"space-between",width:"100%",children:E9(Z$,{children:E9(Z$,{flexDirection:"column",paddingLeft:0,children:[J.slice(0,H?void 0:X$).map((Z,X)=>E9(V3,{children:H?Z:m9(Z)},X,!1,void 0,this)),!H&&J.length>X$&&E9(V3,{color:L().colors.textMuted,children:["... (+",J.length-X$," items)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}if($!=null&&typeof $==="object"&&!Array.isArray($)){let K=$,J=Array.isArray(K.entries)?K.entries:[],Z=typeof K.total==="number"?K.total:J.length;if(J.length===0)return E9(V3,{children:"(empty directory)"},void 0,!1,void 0,this);let X=J.map((Q)=>{let G=Q.type==="dir"||Q.type==="directory"?"/":"";return`${Q.name}${G}`});return E9(Z$,{justifyContent:"space-between",width:"100%",children:E9(Z$,{children:E9(Z$,{flexDirection:"column",paddingLeft:0,children:[X.slice(0,H?void 0:X$).map((Q,G)=>E9(V3,{children:H?Q:m9(Q)},G,!1,void 0,this)),!H&&Z>X$&&E9(V3,{color:L().colors.textMuted,children:["... (+",Z-X$," items)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}if(Array.isArray($)){let K=$.map(String);return E9(Z$,{justifyContent:"space-between",width:"100%",children:E9(Z$,{children:E9(Z$,{flexDirection:"column",paddingLeft:0,children:[K.slice(0,H?void 0:X$).map((J,Z)=>E9(V3,{children:H?J:m9(J)},Z,!1,void 0,this)),!H&&K.length>X$&&E9(V3,{color:L().colors.textMuted,children:["... (+",K.length-X$," items)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}return null}};import{Box as OA,Text as aG}from"ink";g();import{jsxDEV as GH}from"react/jsx-dev-runtime";var nG={displayName:()=>"mcp",renderInput($){return Object.entries($).map(([H,K])=>`${H}: ${JSON.stringify(K)}`).join(", ")},renderRejection(){return GH(b,{},void 0,!1,void 0,this)},renderOutput($,{verbose:H}){if(Array.isArray($))return GH(OA,{flexDirection:"column",children:$.map((J,Z)=>{if(J.type==="image")return GH(aG,{children:"[Image]"},Z,!1,void 0,this);let X=(J.text||"").split(`
410
- `).length;return GH(ZH,{content:J.text||"",lines:X,verbose:H},Z,!1,void 0,this)})},void 0,!1,void 0,this);if(!$)return GH(aG,{color:L().colors.textMuted,children:"(No content)"},void 0,!1,void 0,this);let K=$.split(`
411
- `).length;return GH(ZH,{content:$,lines:K,verbose:H},void 0,!1,void 0,this)}};g();import{Box as UA,Text as iG}from"ink";import{jsxDEV as AJ}from"react/jsx-dev-runtime";var oG={displayName:()=>"Think",renderInput($){return $.thought},renderRejection(){return AJ(UA,{flexDirection:"row",height:1,overflow:"hidden",children:[AJ(iG,{children:[" ","⎿  "]},void 0,!0,void 0,this),AJ(iG,{color:L().colors.error,children:"Thought cancelled"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},renderOutput(){return null}};import{Box as LA,Text as fA}from"ink";g();import{jsxDEV as k2}from"react/jsx-dev-runtime";function RA($){if($==null)return"(No content)";if(typeof $==="string")return $||"(No content)";if(typeof $==="object"){let H=$;if(typeof H.formattedContext==="string"&&H.formattedContext)return H.formattedContext;if(typeof H.content==="string")return H.content||"(No content)";if(Array.isArray(H.memories)){let K=H.memories;if(K.length===0)return"(No memories found)";let J=typeof H.count==="number"?H.count:K.length,Z=K.map((X)=>{let Q=typeof X.content==="string"?X.content:JSON.stringify(X.content),G=typeof X.network==="string"?` [${X.network}]`:"";return`• ${Q}${G}`});return`${J} memories:
412
- ${Z.join(`
413
- `)}`}return JSON.stringify($)}return String($)}function yA({content:$,isEmpty:H}){let{contentWidth:K}=d$();return k2(LA,{flexDirection:"column",width:"100%",children:k2(fA,{color:H?L().colors.textMuted:void 0,children:H?$:C9($,{width:K})},void 0,!1,void 0,this)},void 0,!1,void 0,this)}var g2={displayName(){return"Read Memory"},renderInput($){return Object.entries($).map(([H,K])=>`${H}: ${JSON.stringify(K)}`).join(", ")},renderRejection(){return k2(b,{},void 0,!1,void 0,this)},renderOutput($,{verbose:H}={verbose:!1}){let K=RA($),J=3,Z=K.split(`
414
- `),X=!H&&Z.length>3,Q=K$(X?[...Z.slice(0,3),`… +${Z.length-3} lines`].join(`
415
- `):K);return k2(yA,{content:Q,isEmpty:K==="(No content)"},void 0,!1,void 0,this)}};import{Box as sG,Text as BA}from"ink";import{jsxDEV as v2}from"react/jsx-dev-runtime";var C7={displayName(){return"Write Memory"},renderInput($){return Object.entries($).map(([H,K])=>`${H}: ${JSON.stringify(K)}`).join(", ")},renderRejection(){return v2(b,{},void 0,!1,void 0,this)},renderOutput(){return v2(sG,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:v2(sG,{flexDirection:"row",children:v2(BA,{children:"Updated memory"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{EOL as MA}from"os";import{jsxDEV as wA}from"react/jsx-dev-runtime";var OJ={displayName(){return"Task"},renderInput($,{verbose:H}){let K=typeof $.prompt==="string"?$.prompt:typeof $.task==="string"?$.task:"";if(!K)return"";let J=typeof $.arion==="string"?`@${$.arion} `:"",Z=K.split(MA);return J+C9(!H&&Z.length>1?Z[0]+"…":K)},renderRejection(){return wA(b,{},void 0,!1,void 0,this)},renderOutput(){return null}};import{Text as UJ}from"ink";import{relative as CA}from"path";import{jsxDEV as T2}from"react/jsx-dev-runtime";var tG={displayName(){return"Read Notebook"},renderInput($,{verbose:H}){return`notebook_path: ${H?$.notebook_path:CA(process.cwd(),$.notebook_path)}`},renderRejection(){return T2(b,{},void 0,!1,void 0,this)},renderOutput($){if(!$)return T2(UJ,{children:"No cells found in notebook"},void 0,!1,void 0,this);if($.length<1||!$[0])return T2(UJ,{children:"No cells found in notebook"},void 0,!1,void 0,this);return T2(UJ,{children:["Read ",$.length," cells"]},void 0,!0,void 0,this)}};import{Box as LJ,Text as h2}from"ink";import{relative as IA}from"path";import{jsxDEV as Q$}from"react/jsx-dev-runtime";var eG={displayName(){return"Edit Notebook"},renderInput($,{verbose:H}){let K=H?$.notebook_path:IA(process.cwd(),$.notebook_path??""),J=$.new_source?$.new_source.slice(0,30)+"…":"";return`${K} cell:${$.cell_number??"?"}${J?` "${J}"`:""}`},renderRejection(){return Q$(b,{},void 0,!1,void 0,this)},renderOutput($){if(!$||typeof $!=="object")return Q$(h2,{children:"(No content)"},void 0,!1,void 0,this);let{cell_number:H,new_source:K,language:J,error:Z}=$;if(Z)return Q$(LJ,{flexDirection:"column",children:Q$(h2,{color:"red",children:Z},void 0,!1,void 0,this)},void 0,!1,void 0,this);let X=2,Q=K.split(`
416
- `),G=Q.length>X,Y=G?Q.slice(0,X).join(`
417
- `):K;return Q$(LJ,{flexDirection:"column",children:[Q$(h2,{children:["Updated cell ",H,":"]},void 0,!0,void 0,this),Q$(LJ,{marginLeft:2,children:Q$(s1,{code:Y,language:J},void 0,!1,void 0,this)},void 0,!1,void 0,this),G&&Q$(h2,{color:"gray",children:["... (+",Q.length-X," lines)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}};import{Box as SA,Text as $Y}from"ink";g();import{jsxDEV as I7}from"react/jsx-dev-runtime";var fJ=3,HY={displayName(){return"Architect"},renderInput($){return Object.entries($).map(([H,K])=>`${H}: ${JSON.stringify(K)}`).join(", ")},renderOutput($,{verbose:H}={verbose:!1}){if(!$||!Array.isArray($))return I7($Y,{children:"(No content)"},void 0,!1,void 0,this);let K=$.map((Q)=>Q.text).join(`
418
- `),J=K.split(`
419
- `),Z=!H&&J.length>fJ,X=K$(Z?J.slice(0,fJ).join(`
420
- `):K);return I7(SA,{flexDirection:"column",gap:1,children:[I7(s1,{code:X,language:"markdown"},void 0,!1,void 0,this),Z&&I7($Y,{color:L().colors.textMuted,children:["... (+",J.length-fJ," lines)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},renderRejection(){return I7(b,{},void 0,!1,void 0,this)}};g();import{Text as KY}from"ink";import{jsxDEV as JY}from"react/jsx-dev-runtime";var ZY={displayName:()=>"Stickers",renderInput($){if(typeof $.prompt==="string")return $.prompt.length>50?$.prompt.slice(0,50)+"…":$.prompt;return""},renderRejection(){return JY(KY,{children:["  ⎿  ",JY(KY,{color:L().colors.error,children:"No (Sticker request cancelled)"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},renderOutput(){return null}};import{Box as S7,Text as YH}from"ink";g();import{jsxDEV as R1}from"react/jsx-dev-runtime";function XY($,H=80){return $.length>H?$.slice(0,H-1)+"…":$}function bA($){if($<1024)return`${$}B`;if($<1048576)return`${($/1024).toFixed(1)}KB`;return`${($/1048576).toFixed(1)}MB`}function kA({preview:$}){let{contentWidth:H}=d$(),K=Math.max(H-4,1);return R1(YH,{color:L().colors.textMuted,dimColor:!0,children:C9($,{width:K})},void 0,!1,void 0,this)}var QY={displayName(){return"Fetch"},renderInput($){if($.url)return XY(String($.url));return Object.entries($).map(([H,K])=>`${H}: ${JSON.stringify(K)}`).join(", ")},renderRejection(){return R1(b,{},void 0,!1,void 0,this)},renderOutput($){if(!$||typeof $==="string"){let Y=typeof $==="string"?$:"(No content)";return R1(S7,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:R1(S7,{flexDirection:"row",children:R1(YH,{color:L().colors.textMuted,children:Y},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}let H=L(),K=$.finalUrl||"",J=$.status,Z=J&&J>=200&&J<300?H.colors.success:J&&J>=400?H.colors.error:H.colors.warning,X=$.content?$.content.slice(0,200).split(`
421
- `)[0]:"",Q=$.contentBytes?bA($.contentBytes):"",G=$.fromCache?" (cached)":"";return R1(S7,{flexDirection:"column",children:[R1(S7,{flexDirection:"row",children:[J!=null&&R1(YH,{color:Z,bold:!0,children:[J," "]},void 0,!0,void 0,this),K&&R1(YH,{color:H.colors.textMuted,children:XY(K,60)},void 0,!1,void 0,this),Q&&R1(YH,{color:H.colors.textMuted,children:[" ","(",Q,G,")"]},void 0,!0,void 0,this),$.truncated&&R1(YH,{color:H.colors.warning,children:" [truncated]"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X&&R1(S7,{flexDirection:"row",paddingLeft:4,children:R1(kA,{preview:X},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as zH,Text as c3}from"ink";g();import{jsxDEV as t9}from"react/jsx-dev-runtime";function RJ($,H=80){return $.length>H?$.slice(0,H-1)+"…":$}function gA({preview:$}){let{contentWidth:H}=d$(),K=Math.max(H-4,1);return t9(c3,{color:L().colors.textMuted,dimColor:!0,children:C9($,{width:K})},void 0,!1,void 0,this)}var GY={displayName(){return"Browse"},renderInput($){if($.url)return RJ(String($.url));return Object.entries($).map(([H,K])=>`${H}: ${JSON.stringify(K)}`).join(", ")},renderRejection(){return t9(b,{},void 0,!1,void 0,this)},renderOutput($){if(!$||typeof $==="string"){let Q=typeof $==="string"?$:"(No content)";return t9(zH,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:t9(zH,{flexDirection:"row",children:t9(c3,{color:L().colors.textMuted,children:Q},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}let H=L(),K=$.finalUrl||$.url||"",J=$.title||"",Z=$.content?$.content.slice(0,200).split(`
422
- `)[0]:"",X=$.fromCache?" (cached)":"";return t9(zH,{flexDirection:"column",children:[t9(zH,{flexDirection:"row",children:[J?t9(c3,{bold:!0,children:J},void 0,!1,void 0,this):t9(c3,{color:H.colors.textMuted,children:RJ(K,60)},void 0,!1,void 0,this),X&&t9(c3,{color:H.colors.textMuted,children:X},void 0,!1,void 0,this),$.truncated&&t9(c3,{color:H.colors.warning,children:" [truncated]"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J&&K&&t9(zH,{flexDirection:"row",paddingLeft:4,children:t9(c3,{color:H.colors.textMuted,children:RJ(K,60)},void 0,!1,void 0,this)},void 0,!1,void 0,this),Z&&t9(zH,{flexDirection:"row",paddingLeft:4,children:t9(gA,{preview:Z},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as WH,Text as u$}from"ink";g();import{jsxDEV as e9}from"react/jsx-dev-runtime";function vA($){try{return new URL($).hostname.replace(/^www\./,"")}catch{return $.length>50?$.slice(0,47)+"…":$}}var YY={displayName(){return"Search"},renderInput($){if($.query)return`"${$.query}"`;return Object.entries($).map(([H,K])=>`${H}: ${JSON.stringify(K)}`).join(", ")},renderRejection(){return e9(b,{},void 0,!1,void 0,this)},renderOutput($){if(!$||typeof $==="string"){let Q=typeof $==="string"?$:"(No results)";return e9(WH,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:e9(WH,{flexDirection:"row",children:e9(u$,{color:L().colors.textMuted,children:Q},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}let H=L(),K=$.results||[],J=$.query||"",Z=2,X=K.slice(0,Z);return e9(WH,{flexDirection:"column",children:[e9(WH,{flexDirection:"row",children:[e9(u$,{children:"Found "},void 0,!1,void 0,this),e9(u$,{bold:!0,children:[K.length," "]},void 0,!0,void 0,this),e9(u$,{children:K.length===1?"result":"results"},void 0,!1,void 0,this),J&&e9(u$,{color:H.colors.textMuted,children:[" for '",J,"'"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),X.map((Q,G)=>e9(WH,{flexDirection:"row",paddingLeft:4,children:[e9(u$,{bold:!0,children:Q.title.length>60?Q.title.slice(0,57)+"…":Q.title},void 0,!1,void 0,this),e9(u$,{color:H.colors.textMuted,children:[" (",vA(Q.url),")"]},void 0,!0,void 0,this)]},G,!0,void 0,this)),K.length>Z&&e9(WH,{flexDirection:"row",paddingLeft:4,children:e9(u$,{color:H.colors.textMuted,children:["+",K.length-Z," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as _H,Text as yJ}from"ink";import{jsxDEV as k6}from"react/jsx-dev-runtime";var zY={displayName(){return"Learn"},renderInput($,H){let K;if(typeof $.source==="string")K=$.source;else if($.source&&typeof $.source==="object")K=$.source.type||$.source.command||$.source.path||"unknown";else K="unknown";let J=$.name??"";return J?`${K}: ${J}`:K},renderRejection(){return k6(b,{},void 0,!1,void 0,this)},renderOutput($){if($==null)return k6(_H,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:k6(_H,{flexDirection:"row",children:k6(yJ,{children:"Learned"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return k6(_H,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:k6(_H,{flexDirection:"row",children:k6(yJ,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let H=$,K=H.name??"unknown",J=H.type??"",Z=J?` ${J}`:"";return k6(_H,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:k6(_H,{flexDirection:"row",children:k6(yJ,{children:["Learned",Z," ",K]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as D2,Text as WY}from"ink";import{jsxDEV as E3}from"react/jsx-dev-runtime";var _Y={displayName(){return"Learn Tool"},renderInput($,H){return $.name??"tool"},renderRejection(){return E3(b,{},void 0,!1,void 0,this)},renderOutput($){if(!$||typeof $!=="object")return E3(D2,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:E3(D2,{flexDirection:"row",children:E3(WY,{children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let H=$.name??"unknown";return E3(D2,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:E3(D2,{flexDirection:"row",children:E3(WY,{children:["Learned tool ",H]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as V2,Text as qY}from"ink";import{jsxDEV as j3}from"react/jsx-dev-runtime";var NY={displayName(){return"Learn Skill"},renderInput($,H){return $.name??"skill"},renderRejection(){return j3(b,{},void 0,!1,void 0,this)},renderOutput($){if(!$||typeof $!=="object")return j3(V2,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:j3(V2,{flexDirection:"row",children:j3(qY,{children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let H=$.name??"unknown";return j3(V2,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:j3(V2,{flexDirection:"row",children:j3(qY,{children:["Learned skill ",H]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as qH,Text as BJ}from"ink";import{basename as TA}from"path";import{jsxDEV as g6}from"react/jsx-dev-runtime";var FY={displayName(){return"Create Tool"},renderInput($,H){return $.name??"tool"},renderRejection(){return g6(b,{},void 0,!1,void 0,this)},renderOutput($){if($==null)return g6(qH,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:g6(qH,{flexDirection:"row",children:g6(BJ,{children:"Created tool"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return g6(qH,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:g6(qH,{flexDirection:"row",children:g6(BJ,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let H=$,K=H.name??(typeof H.scriptPath==="string"?TA(H.scriptPath):"unknown");return g6(qH,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:g6(qH,{flexDirection:"row",children:g6(BJ,{children:["Created tool ",K]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as c2,Text as PY}from"ink";import{jsxDEV as m3}from"react/jsx-dev-runtime";var AY={displayName(){return"Create Skill"},renderInput($,H){return $.name??"skill"},renderRejection(){return m3(b,{},void 0,!1,void 0,this)},renderOutput($){if(!$||typeof $!=="object")return m3(c2,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:m3(c2,{flexDirection:"row",children:m3(PY,{children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let H=$.name??"unknown";return m3(c2,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:m3(c2,{flexDirection:"row",children:m3(PY,{children:["Created skill ",H]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as E2,Text as OY}from"ink";import{jsxDEV as d3}from"react/jsx-dev-runtime";var UY={displayName(){return"Use Skill"},renderInput($,H){return $.name??"skill"},renderRejection(){return d3(b,{},void 0,!1,void 0,this)},renderOutput($){if(!$||typeof $!=="object")return d3(E2,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:d3(E2,{flexDirection:"row",children:d3(OY,{children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let H=$.skill?.name??"unknown";return d3(E2,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:d3(E2,{flexDirection:"row",children:d3(OY,{children:["Loaded skill ",H]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as p3,Text as j2}from"ink";g();import{jsxDEV as T1}from"react/jsx-dev-runtime";function hA($){let H=L();switch($){case"active":case"in_progress":return H.colors.success;case"blocked":return H.colors.warning;case"done":case"closed":return H.colors.textMuted;default:return H.colors.text}}var LY={displayName(){return"Quest List"},renderInput($){if($.status)return`status: ${$.status}`;return"all quests"},renderRejection(){return T1(b,{},void 0,!1,void 0,this)},renderOutput($,{verbose:H}){let K=$?.quests??[],J=$?.count??K.length;if(!H)return T1(p3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:T1(p3,{flexDirection:"row",children:T1(j2,{children:[J," quest",J!==1?"s":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(K.length===0)return T1(p3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:T1(p3,{flexDirection:"row",children:T1(j2,{children:"0 quests"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return T1(p3,{flexDirection:"column",children:[T1(p3,{children:T1(j2,{children:[J," quest",J!==1?"s":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this),K.map((Z)=>T1(p3,{flexDirection:"row",paddingLeft:4,children:T1(j2,{color:hA(Z.status),children:["P",Z.priority," [",Z.status,"] ",Z.id," ",Z.title]},void 0,!0,void 0,this)},Z.id,!1,void 0,this))]},void 0,!0,void 0,this)}};import{Box as b7,Text as k7}from"ink";g();import{jsxDEV as t1}from"react/jsx-dev-runtime";function DA($){let H=L();switch($){case"created":return H.colors.success;case"updated":return H.colors.info;case"failed":return H.colors.error;default:return H.colors.text}}var fY={displayName(){return"Quest Update"},renderInput($){if($.quests&&Array.isArray($.quests)){let K=$.quests.length;return`${K} quest${K!==1?"s":""}`}let H=[];if($.action)H.push($.action);if($.title)H.push($.title);if($.id)H.push($.id);return H.join(" ")||"quest update"},renderRejection(){return t1(b,{},void 0,!1,void 0,this)},renderOutput($,{verbose:H}){let K=[];if($!=null&&typeof $==="object"){let Y=$;if(Array.isArray(Y.quests))K=Y.quests}let J=K.filter((Y)=>Y.action==="created").length,Z=K.filter((Y)=>Y.action==="updated").length,X=K.filter((Y)=>Y.action==="failed").length,Q=L(),G=[];if(J>0)G.push(`${J} created`);if(Z>0)G.push(`${Z} updated`);if(X>0)G.push(`${X} failed`);if(G.length===0)G.push("0 changes");if(!H)return t1(b7,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:t1(b7,{flexDirection:"row",children:G.map((Y,z)=>{let W=Y.includes("created")?Q.colors.success:Y.includes("updated")?Q.colors.info:Y.includes("failed")?Q.colors.error:Q.colors.text;return t1(k7,{children:[z>0?", ":"",t1(k7,{color:W,children:Y},void 0,!1,void 0,this)]},z,!0,void 0,this)})},void 0,!1,void 0,this)},void 0,!1,void 0,this);return t1(b7,{flexDirection:"column",children:[t1(b7,{children:G.map((Y,z)=>{let W=Y.includes("created")?Q.colors.success:Y.includes("updated")?Q.colors.info:Y.includes("failed")?Q.colors.error:Q.colors.text;return t1(k7,{children:[z>0?", ":"",t1(k7,{color:W,children:Y},void 0,!1,void 0,this)]},z,!0,void 0,this)})},void 0,!1,void 0,this),K.map((Y)=>t1(b7,{flexDirection:"row",paddingLeft:4,children:t1(k7,{color:DA(Y.action),children:["[",Y.action,"] ",Y.id," ",Y.title,Y.error?` -- ${Y.error}`:""]},void 0,!0,void 0,this)},Y.id,!1,void 0,this))]},void 0,!0,void 0,this)}};import{Box as l3,Text as m2}from"ink";import{jsxDEV as h1}from"react/jsx-dev-runtime";var RY=120,yY={displayName(){return"Ask User"},renderInput($){let H;if(typeof $.question==="string")H=$.question;else{let K=$.questions?.[0];H=typeof K==="string"?K:typeof K?.question==="string"?K.question:"asking user..."}if(H.length>RY)return H.slice(0,RY)+"…";return H},renderRejection(){return h1(b,{},void 0,!1,void 0,this)},renderOutput($,{verbose:H}){if(typeof $==="string")return h1(l3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:h1(l3,{flexDirection:"row",children:h1(m2,{children:"Received answer"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let K=$?.answers??[],J=K.length;if(!H)return h1(l3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:h1(l3,{flexDirection:"row",children:h1(m2,{children:["Received ",J," answer",J!==1?"s":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return h1(l3,{flexDirection:"column",children:[h1(l3,{children:h1(m2,{children:["Received ",J," answer",J!==1?"s":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this),K.map((Z,X)=>h1(l3,{flexDirection:"row",paddingLeft:4,children:h1(m2,{children:typeof Z==="string"?Z:Z?.answer??JSON.stringify(Z)},void 0,!1,void 0,this)},X,!1,void 0,this))]},void 0,!0,void 0,this)}};import{Box as NH,Text as MJ}from"ink";g();import{jsxDEV as v6}from"react/jsx-dev-runtime";var BY={displayName(){return"Hatch Arion"},renderInput($,H){if($.name)return`${$.name}`;return Object.entries($).map(([K,J])=>`${K}: ${JSON.stringify(J)}`).join(", ")},renderRejection(){return v6(b,{},void 0,!1,void 0,this)},renderOutput($,H){let K=L();if(!$)return v6(NH,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:v6(NH,{flexDirection:"row",children:v6(MJ,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return v6(NH,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:v6(NH,{flexDirection:"row",children:v6(MJ,{color:K.colors.success,children:$.includes("hatched")?$:`${$} has hatched!`},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let J=$.emoji||"",Z=$.name||"Arion";return v6(NH,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:v6(NH,{flexDirection:"row",children:v6(MJ,{color:K.colors.success,children:[J,J?" ":"",Z," has hatched!"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as d2,Text as MY}from"ink";g();import{jsxDEV as x3}from"react/jsx-dev-runtime";var wY={displayName(){return"Rest Arion"},renderInput($,H){if($.name)return`${$.name}`;return Object.entries($).map(([K,J])=>`${K}: ${JSON.stringify(J)}`).join(", ")},renderRejection(){return x3(b,{},void 0,!1,void 0,this)},renderOutput($,H){let K=L();if($==null)return x3(d2,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:x3(d2,{flexDirection:"row",children:x3(MY,{color:K.colors.textMuted,children:"Arion is now resting"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let J=typeof $==="string"?$:$.message||`${$.name||"Arion"} is now resting`;return x3(d2,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:x3(d2,{flexDirection:"row",children:x3(MY,{color:K.colors.textMuted,children:J},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as p2,Text as CY}from"ink";g();import{jsxDEV as u3}from"react/jsx-dev-runtime";var IY={displayName(){return"Wake Arion"},renderInput($,H){if($.name)return`${$.name}`;return Object.entries($).map(([K,J])=>`${K}: ${JSON.stringify(J)}`).join(", ")},renderRejection(){return u3(b,{},void 0,!1,void 0,this)},renderOutput($,H){let K=L();if($==null)return u3(p2,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:u3(p2,{flexDirection:"row",children:u3(CY,{color:K.colors.success,children:"Arion is now awake"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let J=typeof $==="string"?$:$.message||`${$.name||"Arion"} is now awake`;return u3(p2,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:u3(p2,{flexDirection:"row",children:u3(CY,{color:K.colors.success,children:J},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as l2,Text as SY}from"ink";g();import{jsxDEV as r3}from"react/jsx-dev-runtime";var bY={displayName(){return"Retire Arion"},renderInput($,H){if($.name)return`${$.name}`;return Object.entries($).map(([K,J])=>`${K}: ${JSON.stringify(J)}`).join(", ")},renderRejection(){return r3(b,{},void 0,!1,void 0,this)},renderOutput($,H){let K=L();if($==null)return r3(l2,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:r3(l2,{flexDirection:"row",children:r3(SY,{color:K.colors.warning,children:"Arion has been retired"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let J=typeof $==="string"?$:$.message||`${$.name||"Arion"} has been retired`;return r3(l2,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:r3(l2,{flexDirection:"row",children:r3(SY,{color:K.colors.warning,children:J},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as FH,Text as x2}from"ink";g();import{jsxDEV as e1}from"react/jsx-dev-runtime";var kY={displayName(){return"Spawn Worker"},renderInput($,H){if($.task)return`${$.task}`;return Object.entries($).map(([K,J])=>`${K}: ${JSON.stringify(J)}`).join(", ")},renderRejection(){return e1(b,{},void 0,!1,void 0,this)},renderOutput($,H){let K=L();if(!$)return e1(FH,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:e1(FH,{flexDirection:"row",children:e1(x2,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return e1(FH,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:e1(FH,{flexDirection:"row",children:e1(x2,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let J=$.id||"unknown";return e1(FH,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:e1(FH,{flexDirection:"row",children:[e1(x2,{children:"Spawned worker "},void 0,!1,void 0,this),e1(x2,{bold:!0,children:J},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}};import{Box as r$,Text as PH}from"ink";g();import{jsxDEV as $1}from"react/jsx-dev-runtime";function VA($,H){switch($){case"completed":return H.colors.success;case"running":return H.colors.info;case"failed":return H.colors.error;default:return H.colors.textMuted}}var gY={displayName(){return"Check Delegation"},renderInput($,H){if($.id)return`${$.id}`;return Object.entries($).map(([K,J])=>`${K}: ${JSON.stringify(J)}`).join(", ")},renderRejection(){return $1(b,{},void 0,!1,void 0,this)},renderOutput($,H){let K=L();if(!$)return $1(r$,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:$1(r$,{flexDirection:"row",children:$1(PH,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return $1(r$,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:$1(r$,{flexDirection:"row",children:$1(PH,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let{id:J,status:Z,result:X,error:Q}=$,G=VA(Z,K);return $1(r$,{flexDirection:"column",children:[$1(r$,{flexDirection:"row",children:[J&&$1(PH,{bold:!0,children:[J," "]},void 0,!0,void 0,this),$1(PH,{color:G,children:Z||"unknown"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Z==="completed"&&X&&$1(r$,{flexDirection:"row",paddingLeft:4,children:$1(PH,{color:K.colors.textMuted,children:m9(X)},void 0,!1,void 0,this)},void 0,!1,void 0,this),Z==="failed"&&Q&&$1(r$,{flexDirection:"row",paddingLeft:4,children:$1(PH,{color:K.colors.error,children:m9(Q)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as a$,Text as a3}from"ink";g();import{jsxDEV as d9}from"react/jsx-dev-runtime";function u2($,H=60){return $.length>H?$.slice(0,H-1)+"…":$}function cA($){let H=$.action||"unknown";switch(H){case"launch":return $.url?`launch and navigate to ${u2(String($.url))}`:"launch";case"navigate":return $.url?`navigate to ${u2(String($.url))}`:"navigate";case"click":return $.selector?`click ${$.selector}`:"click";case"type":return $.selector?`type into ${$.selector}`:"type";default:return H}}var vY={displayName(){return"Browser"},renderInput($,H){return cA($)},renderRejection(){return d9(b,{},void 0,!1,void 0,this)},renderOutput($,H){let K=L();if(!$)return d9(a$,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:d9(a$,{flexDirection:"row",children:d9(a3,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return d9(a$,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:d9(a$,{flexDirection:"row",children:d9(a3,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let J=$.title||"",Z=$.url||"";return d9(a$,{flexDirection:"column",children:[d9(a$,{flexDirection:"row",children:J?d9(a3,{bold:!0,children:J},void 0,!1,void 0,this):Z?d9(a3,{color:K.colors.textMuted,children:u2(Z)},void 0,!1,void 0,this):d9(a3,{color:K.colors.success,children:"Done"},void 0,!1,void 0,this)},void 0,!1,void 0,this),J&&Z&&d9(a$,{flexDirection:"row",paddingLeft:4,children:d9(a3,{color:K.colors.textMuted,children:u2(Z)},void 0,!1,void 0,this)},void 0,!1,void 0,this),$.error&&d9(a$,{flexDirection:"row",paddingLeft:4,children:d9(a3,{color:K.colors.error,children:$.error},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as H1,Text as y1}from"ink";g();import{jsxDEV as D0}from"react/jsx-dev-runtime";function EA($){let H=$.action||"unknown";switch(H){case"spawn":return $.command?`spawn: ${$.command}`:"spawn";case"read":return $.pid!=null?`read pid ${$.pid}`:"read";case"write":return $.pid!=null?`write to pid ${$.pid}`:"write";case"kill":return $.pid!=null?`kill pid ${$.pid}`:"kill";case"list":return"list processes";default:return H}}var TY={displayName(){return"Process"},renderInput($,H){return EA($)},renderRejection(){return D0(b,{},void 0,!1,void 0,this)},renderOutput($,H){let K=L();if(!$)return D0(H1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:D0(H1,{flexDirection:"row",children:D0(y1,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return D0(H1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:D0(H1,{flexDirection:"row",children:D0(y1,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.action==="spawn"||$.pid!=null&&!$.output&&!$.sessions)return D0(H1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:D0(H1,{flexDirection:"row",children:[D0(y1,{children:"Spawned process "},void 0,!1,void 0,this),D0(y1,{bold:!0,children:$.pid},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this);if($.action==="read"||$.output!=null){let J=($.output||"").split(`
423
- `),Z=J.length>3?J.slice(0,3).map(m9).join(`
424
- `)+`
425
- ... +${J.length-3} more lines`:($.output||"").split(`
426
- `).map(m9).join(`
427
- `);return D0(H1,{flexDirection:"column",children:D0(H1,{flexDirection:"row",children:D0(y1,{children:Z},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}if($.action==="list"||$.sessions){let J=$.sessions||[];if(J.length===0)return D0(H1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:D0(H1,{flexDirection:"row",children:D0(y1,{color:K.colors.textMuted,children:"No active processes"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Z=2;return D0(H1,{flexDirection:"column",children:[D0(H1,{flexDirection:"row",children:[D0(y1,{bold:!0,children:[J.length," "]},void 0,!0,void 0,this),D0(y1,{children:J.length===1?"process":"processes"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J.slice(0,Z).map((X,Q)=>D0(H1,{flexDirection:"row",paddingLeft:4,children:[D0(y1,{bold:!0,children:[X.pid," "]},void 0,!0,void 0,this),D0(y1,{children:[X.command||""," "]},void 0,!0,void 0,this),D0(y1,{color:X.status==="running"?K.colors.success:K.colors.textMuted,children:X.status||""},void 0,!1,void 0,this)]},Q,!0,void 0,this)),J.length>Z&&D0(y1,{color:K.colors.textMuted,children:["... (+",J.length-Z," more)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}return D0(H1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:D0(H1,{flexDirection:"row",children:D0(y1,{children:JSON.stringify($)},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as wJ,Text as AH}from"ink";g();import{jsxDEV as T6}from"react/jsx-dev-runtime";var hY={displayName(){return"Search"},renderInput($,{verbose:H}){let K=$.query;if(!K)return Object.entries($).filter(([,Z])=>Z!==void 0).map(([Z,X])=>`${Z}: ${JSON.stringify(X)}`).join(", ");let J=[`"${K}"`];if(H&&$.sources?.length)J.push(`sources: [${$.sources.join(", ")}]`);return J.join(" ")},renderRejection(){return T6(b,{},void 0,!1,void 0,this)},renderOutput($){let H=L();if(!$||typeof $==="string"){let G=typeof $==="string"?$:"(No results)";return T6(wJ,{flexDirection:"row",width:"100%",children:T6(AH,{color:H.colors.textMuted,children:G},void 0,!1,void 0,this)},void 0,!1,void 0,this)}let K=$.results??[],J=$.platform,Z=K.length===0?null:null,X=new Map;for(let G of K)X.set(G.source,(X.get(G.source)??0)+1);let Q=[...X.entries()].map(([G,Y])=>`${Y} ${G}`).join(", ");return T6(wJ,{flexDirection:"column",children:T6(wJ,{flexDirection:"row",children:[T6(AH,{children:"Found "},void 0,!1,void 0,this),T6(AH,{bold:!0,children:[K.length," "]},void 0,!0,void 0,this),T6(AH,{children:K.length===1?"result":"results"},void 0,!1,void 0,this),J&&T6(AH,{color:H.colors.textMuted,children:[" ","on ",J.os,"/",J.arch]},void 0,!0,void 0,this),Q&&K.length>0&&T6(AH,{color:H.colors.textMuted,children:[" (",Q,")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}};import{Box as p9,Text as X9}from"ink";g();import{jsxDEV as q0}from"react/jsx-dev-runtime";function jA($){if($<60)return`${$}s`;if($<3600)return`${Math.floor($/60)}m`;if($<86400)return`${Math.floor($/3600)}h ${Math.floor($%3600/60)}m`;return`${Math.floor($/86400)}d`}var DY={displayName(){return"Self Diagnose"},renderInput($){let H=[];if($.focus)H.push(`focus: ${$.focus}`);if($.sections?.length)H.push(`${$.sections.length} sections`);else H.push("all sections");return H.join(", ")},renderRejection(){return q0(b,{},void 0,!1,void 0,this)},renderOutput($,{verbose:H}){if(!$||typeof $!=="object")return null;let K=$,J=K._meta,Z=L();if(!H){let X=[];if(J)X.push(`${J.sections_returned.length}/6 sections · ${J.elapsed_ms}ms`);if(J?.errors.length)X.push(`${J.errors.length} errors`);let Q=K.errors&&K.errors.length>0||K.crashes&&K.crashes.length>0||K.runtime&&(K.runtime.socket_dirs>100||K.runtime.relaunch_pending);return q0(X9,{color:Q?Z.colors.warning:Z.colors.success,children:X.join(" · ")||"done"},void 0,!1,void 0,this)}return q0(p9,{flexDirection:"column",children:[K.runtime&&q0(p9,{paddingLeft:2,flexDirection:"column",children:[q0(X9,{bold:!0,children:"runtime"},void 0,!1,void 0,this),q0(p9,{paddingLeft:2,children:q0(X9,{children:["PID ",K.runtime.pid," · up ",jA(K.runtime.uptime_s)," · heap"," ",K.runtime.heap_mb,"MB · RSS ",K.runtime.rss_mb,"MB"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),(K.runtime.socket_dirs>100||K.runtime.relaunch_pending)&&q0(p9,{paddingLeft:2,children:[K.runtime.socket_dirs>100&&q0(X9,{color:Z.colors.error,children:["⚠ socket leak: ",K.runtime.socket_dirs," dirs in sock/"]},void 0,!0,void 0,this),K.runtime.relaunch_pending&&q0(X9,{color:Z.colors.error,children:"⚠ stuck restart pending"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),K.errors!==void 0&&q0(p9,{paddingLeft:2,flexDirection:"column",children:[q0(X9,{bold:!0,color:K.errors&&K.errors.length>0?Z.colors.error:Z.colors.success,children:"errors"},void 0,!1,void 0,this),q0(p9,{paddingLeft:2,flexDirection:"column",children:K.errors&&K.errors.length>0?K.errors.map((X,Q)=>q0(X9,{color:Z.colors.error,children:["[",X.source,"] ",X.timestamp?X.timestamp.slice(11,19):"?"," ",X.severity," ",X.category,": ",X.message.slice(0,80)]},Q,!0,void 0,this)):q0(X9,{color:Z.colors.success,children:"none"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),K.crashes!==void 0&&q0(p9,{paddingLeft:2,flexDirection:"column",children:[q0(X9,{bold:!0,color:K.crashes&&K.crashes.length>0?Z.colors.error:Z.colors.success,children:"crashes"},void 0,!1,void 0,this),q0(p9,{paddingLeft:2,flexDirection:"column",children:K.crashes&&K.crashes.length>0?K.crashes.map((X,Q)=>q0(X9,{color:Z.colors.error,children:[X.file," ",X.timestamp?X.timestamp.slice(0,19):""," ",X.error_message??""]},Q,!0,void 0,this)):q0(X9,{color:Z.colors.success,children:"none"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),K.databases&&q0(p9,{paddingLeft:2,flexDirection:"column",children:[q0(X9,{bold:!0,children:"databases"},void 0,!1,void 0,this),q0(p9,{paddingLeft:2,flexDirection:"column",children:K.databases.map((X,Q)=>{let G=X.wal_mb&&parseFloat(X.wal_mb)>1;return q0(X9,{color:G?Z.colors.warning:void 0,children:[X.name,": ",X.size_mb,"MB",X.wal_mb?` (WAL ${X.wal_mb}MB${G?" ⚠":""})`:"",X.schema_version!==void 0?` schema:v${X.schema_version}`:""]},Q,!0,void 0,this)})},void 0,!1,void 0,this)]},void 0,!0,void 0,this),K.daemon&&K.daemon.length>0&&q0(p9,{paddingLeft:2,flexDirection:"column",children:[q0(X9,{bold:!0,children:"daemon"},void 0,!1,void 0,this),q0(p9,{paddingLeft:2,flexDirection:"column",children:K.daemon.map((X,Q)=>q0(X9,{children:[X.source,": ",X.entries.length," entries"]},Q,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this),K.network&&q0(p9,{paddingLeft:2,flexDirection:"column",children:[q0(X9,{bold:!0,children:"network"},void 0,!1,void 0,this),q0(p9,{paddingLeft:2,flexDirection:"column",children:[q0(X9,{children:["node: ",K.network.display_name??"unknown"," · port"," ",K.network.listen_port??"?"," · endpoint"," ",K.network.external_endpoint??"none"]},void 0,!0,void 0,this),q0(X9,{children:["peers: ",K.network.peer_count," · TLS:"," ",K.network.tls_certs_present?"✓":"✗"," · trusted CAs:"," ",K.network.trusted_cas]},void 0,!0,void 0,this),K.network.peers.length>0&&K.network.peers.map((X,Q)=>q0(X9,{color:X.status==="connected"?Z.colors.success:Z.colors.warning,children:[X.name||X.node_id.slice(0,8),": ",X.status]},Q,!0,void 0,this)),K.network.recent_diagnostics.length>0&&q0(X9,{dimColor:!0,children:[K.network.recent_diagnostics.length," recent diagnostic events"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),J?.errors&&J.errors.length>0&&q0(p9,{paddingLeft:2,flexDirection:"column",children:[q0(X9,{bold:!0,color:Z.colors.error,children:"collection errors"},void 0,!1,void 0,this),J.errors.map((X,Q)=>q0(p9,{paddingLeft:2,children:q0(X9,{color:Z.colors.error,children:X},void 0,!1,void 0,this)},Q,!1,void 0,this))]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}};import{Box as G$,Text as K1}from"ink";import{relative as VY}from"path";g();import{jsxDEV as u0}from"react/jsx-dev-runtime";function mA($){return"counts"in $&&Array.isArray($.counts)}function dA($){let H=[];if(H.push(`"${$.pattern}"`),$.file_type)H.push(`-t ${$.file_type}`);if($.path)H.push($.path);return H.join(" ")}var cY={displayName(){return"Ripgrep"},renderInput($,{verbose:H}={}){let K=dA($),J=H&&$.extra_args&&$.extra_args.length>0?` [${$.extra_args.join(" ")}]`:"";return`${K}${J}`},renderRejection(){return u0(b,{},void 0,!1,void 0,this)},renderOutput($){let H=L();if(!$||typeof $!=="object")return u0(K1,{color:H.colors.textMuted,children:String($??"No result")},void 0,!1,void 0,this);if(!("counts"in $)&&!("matches"in $)){let G=$.message;return u0(K1,{color:H.colors.textMuted,children:typeof G==="string"?G:"Search complete"},void 0,!1,void 0,this)}if(mA($)){let{counts:G,total:Y}=$,z=Math.min(5,G.length),W=G.length-z;return u0(G$,{flexDirection:"column",children:[u0(G$,{flexDirection:"row",children:[u0(K1,{bold:!0,children:Y},void 0,!1,void 0,this),u0(K1,{children:" matches across "},void 0,!1,void 0,this),u0(K1,{bold:!0,children:G.length},void 0,!1,void 0,this),u0(K1,{children:" files"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),G.slice(0,z).map((F,q)=>u0(G$,{paddingLeft:2,children:u0(K1,{color:H.colors.textMuted,children:[VY(process.cwd(),F.file),": ",F.count]},void 0,!0,void 0,this)},q,!1,void 0,this)),W>0&&u0(G$,{paddingLeft:2,children:u0(K1,{color:H.colors.textMuted,children:["+",W," more files"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}let{matches:K}=$;if(K.length===0)return u0(G$,{children:u0(K1,{color:H.colors.textMuted,children:"No matches found"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let J=new Map;for(let G of K){if(!J.has(G.file))J.set(G.file,[]);J.get(G.file).push(G)}let Z=Array.from(J.entries()),X=Math.min(3,Z.length),Q=Z.length-X;return u0(G$,{flexDirection:"column",children:[u0(G$,{flexDirection:"row",children:[u0(K1,{bold:!0,children:K.length},void 0,!1,void 0,this),u0(K1,{children:" matches in "},void 0,!1,void 0,this),u0(K1,{bold:!0,children:Z.length},void 0,!1,void 0,this),u0(K1,{children:" files"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Z.slice(0,X).map(([G,Y],z)=>u0(G$,{paddingLeft:2,children:u0(K1,{color:H.colors.textMuted,children:[VY(process.cwd(),G),": ",Y.length]},void 0,!0,void 0,this)},z,!1,void 0,this)),Q>0&&u0(G$,{paddingLeft:2,children:u0(K1,{color:H.colors.textMuted,children:["+",Q," more files"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as Y$,Text as J1}from"ink";import{relative as EY}from"path";g();import{jsxDEV as r0}from"react/jsx-dev-runtime";function pA($){return"counts"in $&&Array.isArray($.counts)}function lA($){let H=[];if(H.push(`"${$.pattern}"`),$.fuzzy!==void 0&&$.fuzzy!==!1)if(typeof $.fuzzy==="number")H.push(`fuzzy:${$.fuzzy}`);else H.push("fuzzy");if($.bool)H.push("bool");if($.file_type)H.push(`-t ${$.file_type}`);if($.path&&$.path!==".")H.push($.path);return H.join(" ")}var jY={displayName(){return"Ugrep"},renderInput($,{verbose:H}={}){let K=lA($),J=[];if(H){if($.ignore_case)J.push("-i");if($.smart_case)J.push("-j");if($.fixed_strings)J.push("-F");if($.word_regexp)J.push("-w");if($.files_only)J.push("-l");if($.count)J.push("-c");if($.context!==void 0)J.push(`-C ${$.context}`);if($.neg_pattern)J.push(`-N "${$.neg_pattern}"`);if($.decompress)J.push("-z");if($.glob)J.push(`-g "${$.glob}"`);if($.extra_args&&$.extra_args.length>0)J.push(`[${$.extra_args.join(" ")}]`)}return J.length>0?`${K} ${J.join(" ")}`:K},renderRejection(){return r0(b,{},void 0,!1,void 0,this)},renderOutput($){let H=L();if(!$||typeof $!=="object")return r0(J1,{color:H.colors.textMuted,children:String($??"No result")},void 0,!1,void 0,this);if(!("counts"in $)&&!("matches"in $)){let G=$.message;return r0(J1,{color:H.colors.textMuted,children:typeof G==="string"?G:"Search complete"},void 0,!1,void 0,this)}if(pA($)){let{counts:G,total:Y}=$,z=Math.min(5,G.length),W=G.length-z;return r0(Y$,{flexDirection:"column",children:[r0(Y$,{flexDirection:"row",children:[r0(J1,{bold:!0,children:Y},void 0,!1,void 0,this),r0(J1,{children:" matches across "},void 0,!1,void 0,this),r0(J1,{bold:!0,children:G.length},void 0,!1,void 0,this),r0(J1,{children:" files"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),G.slice(0,z).map((F,q)=>r0(Y$,{paddingLeft:2,children:r0(J1,{color:H.colors.textMuted,children:[EY(process.cwd(),F.file),": ",F.count]},void 0,!0,void 0,this)},q,!1,void 0,this)),W>0&&r0(Y$,{paddingLeft:2,children:r0(J1,{color:H.colors.textMuted,children:["+",W," more files"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}let{matches:K}=$;if(K.length===0)return r0(Y$,{children:r0(J1,{color:H.colors.textMuted,children:"No matches found"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let J=new Map;for(let G of K){if(!J.has(G.file))J.set(G.file,[]);J.get(G.file).push(G)}let Z=Array.from(J.entries()),X=Math.min(3,Z.length),Q=Z.length-X;return r0(Y$,{flexDirection:"column",children:[r0(Y$,{flexDirection:"row",children:[r0(J1,{bold:!0,children:K.length},void 0,!1,void 0,this),r0(J1,{children:" matches in "},void 0,!1,void 0,this),r0(J1,{bold:!0,children:Z.length},void 0,!1,void 0,this),r0(J1,{children:" files"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Z.slice(0,X).map(([G,Y],z)=>r0(Y$,{paddingLeft:2,children:r0(J1,{color:H.colors.textMuted,children:[EY(process.cwd(),G),": ",Y.length]},void 0,!0,void 0,this)},z,!1,void 0,this)),Q>0&&r0(Y$,{paddingLeft:2,children:r0(J1,{color:H.colors.textMuted,children:["+",Q," more files"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as g0,Text as M0}from"ink";import{relative as mY}from"path";g();import{jsxDEV as E}from"react/jsx-dev-runtime";function dY($){if(!$)return"•";let H=$.toLowerCase();if(H.includes("function")||H==="fn")return"\uD835\uDC53";if(H.includes("class"))return"\uD835\uDC36";if(H.includes("method"))return"\uD835\uDC5A";if(H.includes("type")||H==="interface"||H==="enum")return"\uD835\uDC47";if(H.includes("const")||H==="variable"||H==="var")return"\uD835\uDC50";return"•"}function xA($){let{command:H,query:K,files:J,language:Z,max_results:X,exact:Q,reranker:G,path:Y,...z}=$,W=[];if(H)W.push(`${H}`);if(K)W.push(`"${K}"`);if(J){let F=Array.isArray(J)?J.join(", "):J;W.push(F)}if(Z)W.push(`lang: ${Z}`);if(X)W.push(`max: ${X}`);if(Q)W.push("exact");return W.join(" ")}var pY={displayName(){return"Probe"},renderInput($,{verbose:H}){return xA($)},renderRejection(){return E(b,{},void 0,!1,void 0,this)},renderOutput($,{verbose:H}={},K){let J=L();if(!$)return E(g0,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:E(g0,{flexDirection:"row",children:E(M0,{color:J.colors.textMuted,children:"No results"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string"){let X=$.split(`
428
- `).slice(0,3);return E(g0,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:E(g0,{flexDirection:"column",children:[X.map((Q,G)=>E(M0,{color:J.colors.textMuted,children:Q.length>80?Q.slice(0,77)+"…":Q},G,!1,void 0,this)),$.split(`
429
- `).length>3&&E(M0,{color:J.colors.textMuted,children:["... (+",$.split(`
430
- `).length-3," lines)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}if(typeof $!=="object"||$===null)return E(g0,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:E(g0,{flexDirection:"row",children:E(M0,{color:J.colors.textMuted,children:"No results"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Z=$;if(typeof Z.raw==="string"){let X=Z.raw.split(`
431
- `).slice(0,3);return E(g0,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:E(g0,{flexDirection:"column",children:[X.map((Q,G)=>E(M0,{color:J.colors.textMuted,children:Q.length>80?Q.slice(0,77)+"…":Q},G,!1,void 0,this)),Z.raw.split(`
432
- `).length>3&&E(M0,{color:J.colors.textMuted,children:["... (+",Z.raw.split(`
433
- `).length-3," lines)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}if(Array.isArray(Z.symbols)&&Z.symbols.length>0){let X=Z.symbols.filter((Y)=>Y!=null&&typeof Y==="object"),Q=5,G=X.slice(0,5);return E(g0,{flexDirection:"column",children:[E(g0,{flexDirection:"row",children:[E(M0,{children:"Found "},void 0,!1,void 0,this),E(M0,{bold:!0,children:[X.length," "]},void 0,!0,void 0,this),E(M0,{children:X.length===1?"symbol":"symbols"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),G.map((Y,z)=>E(g0,{flexDirection:"row",paddingLeft:2,children:[E(M0,{children:[dY(Y.kind)," "]},void 0,!0,void 0,this),E(M0,{bold:!0,children:Y.name||"(unnamed)"},void 0,!1,void 0,this),Y.line!==void 0&&E(M0,{color:J.colors.textMuted,children:[" :",Y.line]},void 0,!0,void 0,this)]},z,!0,void 0,this)),X.length>5&&E(g0,{flexDirection:"row",paddingLeft:2,children:E(M0,{color:J.colors.textMuted,children:["+",X.length-5," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}if(Array.isArray(Z.results)&&Z.results.length>0){let X=Z.results.filter((Y)=>Y!=null&&typeof Y==="object"),Q=3,G=X.slice(0,3);return E(g0,{flexDirection:"column",children:[E(g0,{flexDirection:"row",children:[E(M0,{children:"Found "},void 0,!1,void 0,this),E(M0,{bold:!0,children:[X.length," "]},void 0,!0,void 0,this),E(M0,{children:X.length===1?"result":"results"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),G.map((Y,z)=>E(g0,{flexDirection:"column",paddingLeft:2,children:[E(g0,{flexDirection:"row",children:E(M0,{bold:!0,children:[mY(process.cwd(),Y.file||""),Y.line!==void 0?`:${Y.line}`:""]},void 0,!0,void 0,this)},void 0,!1,void 0,this),Y.code&&E(M0,{color:J.colors.textMuted,children:Y.code.length>60?Y.code.slice(0,60)+"…":Y.code},void 0,!1,void 0,this)]},z,!0,void 0,this)),X.length>3&&E(g0,{flexDirection:"row",paddingLeft:2,children:E(M0,{color:J.colors.textMuted,children:["+",X.length-3," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}if(Array.isArray($)){let X=$.filter((z)=>z!=null&&typeof z==="object");if(X.length===0)return E(g0,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:E(g0,{flexDirection:"row",children:E(M0,{color:J.colors.textMuted,children:"No results"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Q=X[0];if(Q.kind!==void 0||Q.name&&!Q.file){let W=X.slice(0,5);return E(g0,{flexDirection:"column",children:[E(g0,{flexDirection:"row",children:[E(M0,{children:"Found "},void 0,!1,void 0,this),E(M0,{bold:!0,children:[X.length," "]},void 0,!0,void 0,this),E(M0,{children:X.length===1?"symbol":"symbols"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),W.map((F,q)=>E(g0,{flexDirection:"row",paddingLeft:2,children:[E(M0,{children:[dY(F.kind)," "]},void 0,!0,void 0,this),E(M0,{bold:!0,children:F.name||"(unnamed)"},void 0,!1,void 0,this),F.line!==void 0&&E(M0,{color:J.colors.textMuted,children:[":",F.line]},void 0,!0,void 0,this)]},q,!0,void 0,this)),X.length>5&&E(g0,{flexDirection:"row",paddingLeft:2,children:E(M0,{color:J.colors.textMuted,children:["+",X.length-5," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}let G=3,Y=X.slice(0,G);return E(g0,{flexDirection:"column",children:[E(g0,{flexDirection:"row",children:[E(M0,{children:"Found "},void 0,!1,void 0,this),E(M0,{bold:!0,children:[X.length," "]},void 0,!0,void 0,this),E(M0,{children:X.length===1?"result":"results"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Y.map((z,W)=>E(g0,{flexDirection:"column",paddingLeft:2,children:[E(g0,{flexDirection:"row",children:E(M0,{bold:!0,children:[mY(process.cwd(),z.file||z.path||""),z.line!==void 0?`:${z.line}`:""]},void 0,!0,void 0,this)},void 0,!1,void 0,this),typeof z.code==="string"&&E(M0,{color:J.colors.textMuted,children:z.code.length>60?z.code.slice(0,60)+"…":z.code},void 0,!1,void 0,this)]},W,!0,void 0,this)),X.length>G&&E(g0,{flexDirection:"row",paddingLeft:2,children:E(M0,{color:J.colors.textMuted,children:["+",X.length-G," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}return E(g0,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:E(g0,{flexDirection:"row",children:E(M0,{color:J.colors.textMuted,children:"No results"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as CJ,Text as h6}from"ink";g();import{jsxDEV as P1}from"react/jsx-dev-runtime";var lY=3,xY={displayName(){return"AST Grep"},renderInput($,{verbose:H}={verbose:!1}){let{pattern:K,language:J,rewrite:Z,path:X}=$;if(!K)return"(No pattern)";let Q="";if(Z)Q=`"${K}" → "${Z}"`;else Q=`"${K}"`;if(J)Q+=` ${J}`;if(H&&X)Q+=` @ ${X}`;return Q},renderRejection(){return P1(b,{},void 0,!1,void 0,this)},renderOutput($){let H=L();if($==null)return P1(h6,{color:H.colors.textMuted,children:"(No output)"},void 0,!1,void 0,this);let K=$;if(typeof K.raw==="string"){let J=K.raw.split(`
434
- `),Z=J.slice(0,2).join(`
435
- `),X=J.length-2;return P1(CJ,{flexDirection:"column",gap:0,children:[P1(h6,{color:H.colors.success,children:"Rewrites applied"},void 0,!1,void 0,this),P1(h6,{color:H.colors.textMuted,children:Z},void 0,!1,void 0,this),X>0&&P1(h6,{color:H.colors.textMuted,children:["... (+",X," lines)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}if(Array.isArray(K.matches)){let J=K.matches;if(J.length===0)return P1(h6,{color:H.colors.textMuted,children:"No matches found"},void 0,!1,void 0,this);let Z=J.slice(0,lY),X=J.length-lY;return P1(CJ,{flexDirection:"column",gap:0,children:[P1(h6,{color:H.colors.success,children:[J.length," AST ",J.length===1?"match":"matches"]},void 0,!0,void 0,this),Z.map((Q,G)=>{let{file:Y,line:z,text:W}=Q,F=Y||"unknown";if(z!=null)F+=`:${z}`;let q=W?String(W):"(no text)";if(q.length>60)q=q.slice(0,57)+"...";return P1(CJ,{flexDirection:"row",gap:1,children:[P1(h6,{bold:!0,children:F},void 0,!1,void 0,this),P1(h6,{color:H.colors.textMuted,children:q},void 0,!1,void 0,this)]},G,!0,void 0,this)}),X>0&&P1(h6,{color:H.colors.textMuted,children:["+",X," more"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}return P1(h6,{children:JSON.stringify($)},void 0,!1,void 0,this)}};import{Box as w0,Text as H0}from"ink";g();import{jsxDEV as T,Fragment as r2}from"react/jsx-dev-runtime";function uA($){if(!$||typeof $!=="object")return!1;let H=$;return"definition"in H||"callers"in H||"callees"in H}function rA($){switch($?.toLowerCase()){case"function":return"\uD835\uDC53 ";case"class":return"\uD835\uDC36 ";case"method":return"\uD835\uDC5A ";case"interface":return"\uD835\uDC3C ";case"enum":return"\uD835\uDC38 ";case"type":return"\uD835\uDC47 ";case"module":return"\uD83D\uDCE6 ";case"file":return"\uD83D\uDCC4 ";default:return"• "}}function aA($,H,K){let J=rA($.label),Z=$.file_path?$.file_path.length>40?"…"+$.file_path.slice(-37):$.file_path:"";return T(w0,{flexDirection:"row",paddingLeft:4,children:[T(H0,{children:J},void 0,!1,void 0,this),T(H0,{bold:!0,children:$.name},void 0,!1,void 0,this),Z&&T(H0,{color:K.colors.textMuted,children:[" (",Z,")"]},void 0,!0,void 0,this)]},H,!0,void 0,this)}function uY($,H,K,J){return T(w0,{flexDirection:"row",paddingLeft:4,children:[T(H0,{color:J.colors.textMuted,children:[H," "]},void 0,!0,void 0,this),T(H0,{children:$.name},void 0,!1,void 0,this),$.file&&T(H0,{color:J.colors.textMuted,children:[" (",$.file,")"]},void 0,!0,void 0,this)]},K,!0,void 0,this)}function nA($){if(!$||typeof $!=="object")return!1;return Array.isArray($.results)}function iA($){if(!$||typeof $!=="object")return!1;let H=$;return Array.isArray(H.inbound)||Array.isArray(H.outbound)||!!H.node}function oA($){if(!$||typeof $!=="object")return!1;return Array.isArray($.affected)}function sA($){if(!$||typeof $!=="object")return!1;return Array.isArray($.components)}function tA($){if(!$||typeof $!=="object")return!1;return typeof $.status==="string"}var rY={displayName(){return"Code Graph"},renderInput($){let H=$.action||"unknown",K=[];if($.name)K.push(`"${$.name}"`);if($.file)K.push(`file: ${$.file}`);if($.path)K.push(`path: ${$.path}`);if($.project)K.push(`project: ${$.project}`);if($.query)K.push(`query: "${$.query}"`);if($.depth)K.push(`depth: ${$.depth}`);if($.direction)K.push(`dir: ${$.direction}`);let J=K.length>0?` ${K.join(" ")}`:"";return`${H}${J}`},renderRejection(){return T(b,{},void 0,!1,void 0,this)},renderOutput($,H,K){let J=L(),Z=K?.action||"query";if(!$)return T(w0,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:T(w0,{flexDirection:"row",children:T(H0,{color:J.colors.textMuted,children:"(No results)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string"){let G=$.length>100?$.slice(0,97)+"…":$;return T(w0,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:T(w0,{flexDirection:"row",children:T(H0,{color:J.colors.textMuted,children:[Z,": ",G]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}if("raw"in $&&typeof $.raw==="string"){let G=$.raw.length>100?$.raw.slice(0,97)+"…":$.raw;return T(w0,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:T(w0,{flexDirection:"row",children:T(H0,{color:J.colors.textMuted,children:[Z,": ",G]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}if(nA($)){let G=$.results||[],Y=$.total??G.length,z=3,W=G.slice(0,3);return T(w0,{flexDirection:"column",children:[T(w0,{flexDirection:"row",children:[T(H0,{bold:!0,children:Y},void 0,!1,void 0,this),T(H0,{children:[" ",Y===1?"symbol":"symbols"," found"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),W.map((F,q)=>aA(F,q,J)),G.length>3&&T(w0,{flexDirection:"row",paddingLeft:4,children:T(H0,{color:J.colors.textMuted,children:["+",G.length-3," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}if(iA($)){let G=$.inbound||[],Y=$.outbound||[],z=3,W=G.slice(0,3),F=Y.slice(0,3);return T(w0,{flexDirection:"column",children:[T(w0,{flexDirection:"row",children:[T(H0,{children:"Call chain: "},void 0,!1,void 0,this),T(H0,{bold:!0,children:G.length},void 0,!1,void 0,this),T(H0,{children:" inbound, "},void 0,!1,void 0,this),T(H0,{bold:!0,children:Y.length},void 0,!1,void 0,this),T(H0,{children:" outbound"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),W.length>0&&T(r2,{children:[T(w0,{flexDirection:"row",paddingLeft:2,children:T(H0,{color:J.colors.textMuted,children:"Callers:"},void 0,!1,void 0,this)},void 0,!1,void 0,this),W.map((q,A)=>uY(q,"←",A,J)),G.length>3&&T(w0,{flexDirection:"row",paddingLeft:4,children:T(H0,{color:J.colors.textMuted,children:["+",G.length-3," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),F.length>0&&T(r2,{children:[T(w0,{flexDirection:"row",paddingLeft:2,children:T(H0,{color:J.colors.textMuted,children:"Callees:"},void 0,!1,void 0,this)},void 0,!1,void 0,this),F.map((q,A)=>uY(q,"→",A,J)),Y.length>3&&T(w0,{flexDirection:"row",paddingLeft:4,children:T(H0,{color:J.colors.textMuted,children:["+",Y.length-3," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}if(oA($)){let G=$.affected||[],Y=3,z=G.slice(0,3);return T(w0,{flexDirection:"column",children:[T(w0,{flexDirection:"row",children:[T(H0,{bold:!0,children:G.length},void 0,!1,void 0,this),T(H0,{children:[" ",G.length===1?"symbol":"symbols"," affected"]},void 0,!0,void 0,this),$.depth&&T(r2,{children:[T(H0,{color:J.colors.textMuted,children:" (depth: "},void 0,!1,void 0,this),T(H0,{color:J.colors.textMuted,children:$.depth},void 0,!1,void 0,this),T(H0,{color:J.colors.textMuted,children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z.map((W,F)=>T(w0,{flexDirection:"row",paddingLeft:4,children:[T(H0,{children:["• ",W.name]},void 0,!0,void 0,this),W.file&&T(H0,{color:J.colors.textMuted,children:[" (",W.file,")"]},void 0,!0,void 0,this)]},F,!0,void 0,this)),G.length>3&&T(w0,{flexDirection:"row",paddingLeft:4,children:T(H0,{color:J.colors.textMuted,children:["+",G.length-3," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}if(sA($)){let G=$.components||[];return T(w0,{flexDirection:"column",children:T(w0,{flexDirection:"row",children:[T(H0,{children:"Architecture overview"},void 0,!1,void 0,this),G.length>0&&T(r2,{children:[T(H0,{color:J.colors.textMuted,children:" ("},void 0,!1,void 0,this),T(H0,{color:J.colors.textMuted,children:G.length},void 0,!1,void 0,this),T(H0,{color:J.colors.textMuted,children:" components)"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}if(tA($))if($.status?.toLowerCase().includes("index")&&typeof $.node_count==="number"&&typeof $.edge_count==="number")return T(w0,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:T(w0,{flexDirection:"row",children:[T(H0,{color:J.colors.success,children:"Indexed: "},void 0,!1,void 0,this),T(H0,{bold:!0,children:$.node_count},void 0,!1,void 0,this),T(H0,{children:" nodes, "},void 0,!1,void 0,this),T(H0,{bold:!0,children:$.edge_count},void 0,!1,void 0,this),T(H0,{children:" edges"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this);else return T(w0,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:T(w0,{flexDirection:"row",children:T(H0,{color:J.colors.warning,children:"Not indexed"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(uA($)){let G=!!$.definition,Y=Array.isArray($.callers)&&$.callers.length>0,z=Array.isArray($.callees)&&$.callees.length>0;return T(w0,{flexDirection:"column",children:[T(w0,{flexDirection:"row",children:T(H0,{children:"Context 360°"},void 0,!1,void 0,this)},void 0,!1,void 0,this),G&&$.definition&&T(w0,{flexDirection:"row",paddingLeft:4,children:[T(H0,{color:J.colors.info,children:"\uD83D\uDCCD "},void 0,!1,void 0,this),T(H0,{children:$.definition.name||"definition"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Y&&$.callers&&T(w0,{flexDirection:"row",paddingLeft:4,children:[T(H0,{color:J.colors.textMuted,children:"← "},void 0,!1,void 0,this),T(H0,{children:[$.callers.length," callers"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z&&$.callees&&T(w0,{flexDirection:"row",paddingLeft:4,children:[T(H0,{color:J.colors.textMuted,children:"→ "},void 0,!1,void 0,this),T(H0,{children:[$.callees.length," callees"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}let X=JSON.stringify($),Q=X.length>100?X.slice(0,97)+"…":X;return T(w0,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:T(w0,{flexDirection:"row",children:T(H0,{color:J.colors.textMuted,children:[Z,": ",Q]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as k9,Text as Q9}from"ink";import{relative as nY}from"path";g();import{jsxDEV as W0}from"react/jsx-dev-runtime";var j0={File:"\uD83D\uDCC4",Module:"\uD83D\uDCE6",Namespace:"\uD83D\uDCE6",Package:"\uD83D\uDCE6",Class:"\uD835\uDC36",Method:"\uD835\uDC5A",Property:"\uD83D\uDD39",Field:"\uD83D\uDD39",Constructor:"⚙",Enum:"\uD83D\uDCCB",Interface:"\uD835\uDC3C",Function:"\uD835\uDC53",Variable:"\uD835\uDC63",Constant:"\uD83D\uDD12",String:'"',Number:"#",Boolean:"✓",Array:"[]",Object:"{}",Key:"\uD83D\uDD11",Null:"∅",EnumMember:"\uD83D\uDCCB",Struct:"\uD83D\uDCE6",Event:"⚡",Operator:"⊕",TypeParameter:"T"};function eA($){if($.startsWith("file://"))return $.slice(7);return $}function aY($,H,K){let J=nY(process.cwd(),eA($));if(H!==void 0&&K!==void 0)return`${J}:${H+1}:${K+1}`;else if(H!==void 0)return`${J}:${H+1}`;return J}function $O($){let H="";if(typeof $==="string")H=$;else if($&&typeof $==="object"){let J=$;if(typeof J.value==="string")H=J.value}let K=H.split(`
436
- `);return K.length>0?K[0].trim():""}function HO($,H=80){return $.length>H?$.slice(0,H-1)+"…":$}var iY={displayName(){return"LSP"},renderInput($,{verbose:H}){let K=String($?.action??""),J=String($?.file??""),Z=typeof $?.line==="number"?$.line:void 0,X=typeof $?.character==="number"?$.character:void 0,Q=$?.new_name?String($.new_name):"",G=J?H?J:nY(process.cwd(),J):"";if(K==="rename"&&Z!==void 0&&X!==void 0&&Q)return`${K} ${G}:${Z+1}:${X+1} → ${Q}`;else if(Z!==void 0&&X!==void 0&&G)return`${K} ${G}:${Z+1}:${X+1}`;else if(G)return`${K} ${G}`;return K},renderOutput($,{verbose:H}={},K){let Z=String((K??{})?.action??"");if($==null)return W0(k9,{children:W0(Q9,{color:L().colors.textMuted,children:"(No result)"},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(Z==="definition"||Z==="references"){let X=[];if($!=null&&typeof $==="object"&&!Array.isArray($)){let W=$;if(typeof W.uri==="string")X=[W]}else if(Array.isArray($))X=$.map((W)=>W!=null&&typeof W==="object"?W:{});if(X.length===0)return W0(k9,{children:W0(Q9,{color:L().colors.textMuted,children:"(No result)"},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(Z==="definition"){let W=X[0];if(!W)return W0(k9,{children:W0(Q9,{color:L().colors.textMuted,children:"(No result)"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let F=typeof W.uri==="string"?W.uri:"",q=typeof W.range?.start?.line==="number"?W.range.start.line:void 0,A=typeof W.range?.start?.character==="number"?W.range.start.character:void 0;return W0(k9,{children:W0(Q9,{children:["→ ",W0(Q9,{bold:!0,children:aY(F,q,A)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}let Q=X.length,G=H?X.length:Math.min(5,X.length),Y=X.slice(0,G),z=Q>G;return W0(k9,{flexDirection:"column",children:[W0(k9,{children:W0(Q9,{children:[W0(Q9,{bold:!0,children:Q},void 0,!1,void 0,this)," reference",Q!==1?"s":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this),Y.length>0&&W0(k9,{flexDirection:"column",marginLeft:2,children:Y.map((W,F)=>{if(!W)return null;let q=typeof W.uri==="string"?W.uri:"",A=typeof W.range?.start?.line==="number"?W.range.start.line:void 0,U=typeof W.range?.start?.character==="number"?W.range.start.character:void 0;return W0(Q9,{color:L().colors.textMuted,children:aY(q,A,U)},F,!1,void 0,this)})},void 0,!1,void 0,this),z&&W0(k9,{marginLeft:2,children:W0(Q9,{color:L().colors.textMuted,children:["+",Q-G," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}if(Z==="hover"){if($!=null&&typeof $==="object"){let Q=$.contents;if(Q){let G=$O(Q),Y=HO(G);return W0(k9,{children:W0(Q9,{children:W0(Q9,{bold:!0,children:Y},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}}return W0(k9,{children:W0(Q9,{color:L().colors.textMuted,children:"(No hover info)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)}if(Z==="symbols"){let X=[];if(Array.isArray($))X=$.map((F)=>F!=null&&typeof F==="object"?F:{});if(X.length===0)return W0(k9,{children:W0(Q9,{color:L().colors.textMuted,children:"(No symbols)"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Q=X.length,G=H?X.length:Math.min(5,X.length),Y=X.slice(0,G),z=Q>G,W=(F)=>{if(typeof F==="string")return j0[F]||"•";else if(typeof F==="number")return{"1":j0.File||"•","2":j0.Module||"•","3":j0.Namespace||"•","4":j0.Package||"•","5":j0.Class||"•","6":j0.Method||"•","7":j0.Property||"•","8":j0.Field||"•","9":j0.Constructor||"•","10":j0.Enum||"•","11":j0.Interface||"•","12":j0.Function||"•","13":j0.Variable||"•","14":j0.Constant||"•","15":j0.String||"•","16":j0.Number||"•","17":j0.Boolean||"•","18":j0.Array||"•","19":j0.Object||"•","20":j0.Key||"•","21":j0.Null||"•","22":j0.EnumMember||"•","23":j0.Struct||"•","24":j0.Event||"•","25":j0.Operator||"•","26":j0.TypeParameter||"•"}[String(F)]||"•";return"•"};return W0(k9,{flexDirection:"column",children:[W0(k9,{children:W0(Q9,{children:[W0(Q9,{bold:!0,children:Q},void 0,!1,void 0,this)," symbol",Q!==1?"s":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this),Y.length>0&&W0(k9,{flexDirection:"column",marginLeft:2,children:Y.map((F,q)=>{let A=W(F.kind),U=String(F.name??"");return W0(Q9,{children:[A," ",U]},q,!0,void 0,this)})},void 0,!1,void 0,this),z&&W0(k9,{marginLeft:2,children:W0(Q9,{color:L().colors.textMuted,children:["+",Q-G," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}if(Z==="rename"){if($!=null&&typeof $==="object"){let Q=$.changes;if(Q!=null&&typeof Q==="object"){let G=Object.keys(Q).length,Y=0;for(let z of Object.values(Q))if(Array.isArray(z))Y+=z.length;return W0(k9,{children:W0(Q9,{children:["Renamed in ",W0(Q9,{bold:!0,children:G},void 0,!1,void 0,this)," file",G!==1?"s":""," (",W0(Q9,{bold:!0,children:Y},void 0,!1,void 0,this)," edit",Y!==1?"s":"",")"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}}return W0(k9,{children:W0(Q9,{color:L().colors.textMuted,children:"(Rename failed)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)}return W0(k9,{children:W0(Q9,{children:JSON.stringify($)},void 0,!1,void 0,this)},void 0,!1,void 0,this)},renderRejection(){return W0(b,{},void 0,!1,void 0,this)}};import{Box as IJ,Text as N9}from"ink";import{relative as a2}from"path";g();import{jsxDEV as a0}from"react/jsx-dev-runtime";var oY={displayName(){return"FastRipgrep"},renderInput($,{verbose:H}){let{command:K,pattern:J,path:Z}=$;if(K==="search"&&J){let X=Z?a2(process.cwd(),Z):void 0;return`search "${J}"${X||H?` in ${H&&Z?Z:X||"."}`:""}`}if(K==="status"){let X=Z?a2(process.cwd(),Z):void 0;return`status${X||H?` for ${H&&Z?Z:X||"."}`:""}`}if(K==="index"||K==="init"){let X=Z?a2(process.cwd(),Z):void 0;return`${K}${X||H?` at ${H&&Z?Z:X||"."}`:""}`}if(K==="update")return`update index${Z?` at ${H?Z:a2(process.cwd(),Z)}`:""}`;return K},renderRejection(){return a0(b,{},void 0,!1,void 0,this)},renderOutput($){let H=L();if($==null)return a0(N9,{color:H.colors.textMuted,children:"No output"},void 0,!1,void 0,this);if(typeof $==="string"){let K=$.trim().split(`
437
- `);return a0(N9,{color:H.colors.textMuted,children:K[0]},void 0,!1,void 0,this)}if(typeof $==="object"&&!Array.isArray($)){let K=$;if(Array.isArray(K.matches)){let J=K.matches,Z=new Set,X=0;for(let G of J){if(typeof G.file==="string")Z.add(G.file);else if(typeof G.path==="string")Z.add(G.path);X++}let Q=Z.size;if(Q===0)return a0(N9,{color:H.colors.textMuted,children:"No matches"},void 0,!1,void 0,this);return a0(IJ,{flexDirection:"row",children:[a0(N9,{children:"Found "},void 0,!1,void 0,this),a0(N9,{bold:!0,children:X},void 0,!1,void 0,this),a0(N9,{children:[" ",X===1?"match":"matches"," in "]},void 0,!0,void 0,this),a0(N9,{bold:!0,children:Q},void 0,!1,void 0,this),a0(N9,{children:[" ",Q===1?"file":"files"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}if(Array.isArray(K.counts)&&typeof K.total==="number"){let{counts:J,total:Z}=K,X=J.length;if(X===0)return a0(N9,{color:H.colors.textMuted,children:"No matches"},void 0,!1,void 0,this);return a0(IJ,{flexDirection:"row",children:[a0(N9,{children:"Found "},void 0,!1,void 0,this),a0(N9,{bold:!0,children:Z},void 0,!1,void 0,this),a0(N9,{children:[" ",Z===1?"match":"matches"," in "]},void 0,!0,void 0,this),a0(N9,{bold:!0,children:X},void 0,!1,void 0,this),a0(N9,{children:[" ",X===1?"file":"files"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}if(typeof K.indexed==="boolean"||typeof K.files==="number"){let J=K.indexed===!0,Z=typeof K.files==="number"?K.files:0;if(J)return a0(IJ,{flexDirection:"row",children:[a0(N9,{children:"Index: "},void 0,!1,void 0,this),a0(N9,{bold:!0,children:Z},void 0,!1,void 0,this),a0(N9,{children:" files indexed"},void 0,!1,void 0,this)]},void 0,!0,void 0,this);else return a0(N9,{color:H.colors.textMuted,children:"Not indexed"},void 0,!1,void 0,this)}if(typeof K.message==="string")return a0(N9,{color:H.colors.textMuted,children:K.message},void 0,!1,void 0,this);return a0(N9,{color:H.colors.textMuted,children:"Command completed"},void 0,!1,void 0,this)}return a0(N9,{color:H.colors.textMuted,children:"Done"},void 0,!1,void 0,this)}};import{Box as $6,Text as m0}from"ink";import{relative as SJ}from"path";g();import{jsxDEV as N0}from"react/jsx-dev-runtime";var sY={displayName(){return"Fuzzy Find"},renderInput($,{verbose:H}){let{action:K,query:J,patterns:Z,constraints:X,path:Q}=$;if(K==="grep"&&J){let G=`grep "${J}"`;if(X)G+=` [${X}]`;if(Q&&H)G+=` in ${Q}`;return G}if(K==="find_files"){let G=`find_files${J?` "${J}"`:""}`;if(X)G+=` [${X}]`;if(Q&&H)G+=` in ${Q}`;return G}if(K==="multi_grep"&&Z){let Y=`multi_grep ${Z.map((z)=>`"${z}"`).join(" ")}`;if(X)Y+=` [${X}]`;if(Q&&H)Y+=` in ${Q}`;return Y}return K},renderRejection(){return N0(b,{},void 0,!1,void 0,this)},renderOutput($){let H=L();if($==null)return N0(m0,{color:H.colors.textMuted,children:"No results"},void 0,!1,void 0,this);if(typeof $==="string"){let K=$.trim().split(`
438
- `);return N0(m0,{color:H.colors.textMuted,children:K[0]},void 0,!1,void 0,this)}if(typeof $==="object"&&!Array.isArray($)){let K=$;if(Array.isArray(K.results)){let J=K.results;if(J.length===0)return N0(m0,{color:H.colors.textMuted,children:"No matches"},void 0,!1,void 0,this);let Z=new Map;for(let z of J){let W=typeof z.file==="string"?z.file:"unknown";Z.set(W,(Z.get(W)||0)+1)}let X=Z.size,Q=J.length,G=Array.from(Z.entries()).slice(0,3),Y=G.map(([z])=>SJ(process.cwd(),z));return N0($6,{flexDirection:"column",children:[N0($6,{flexDirection:"row",children:[N0(m0,{children:"Found "},void 0,!1,void 0,this),N0(m0,{bold:!0,children:Q},void 0,!1,void 0,this),N0(m0,{children:[" ",Q===1?"match":"matches"," in "]},void 0,!0,void 0,this),N0(m0,{bold:!0,children:X},void 0,!1,void 0,this),N0(m0,{children:[" ",X===1?"file":"files"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),G.length>0&&N0($6,{flexDirection:"column",marginLeft:2,children:[G.map(([z,W],F)=>N0($6,{flexDirection:"row",children:[N0(m0,{color:H.colors.textMuted,children:[Y[F],": "]},void 0,!0,void 0,this),N0(m0,{color:H.colors.textMuted,bold:!0,children:W},void 0,!1,void 0,this)]},F,!0,void 0,this)),X>3&&N0(m0,{color:H.colors.textMuted,children:["... and ",X-3," more"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}if(Array.isArray(K.files)){let J=K.files;if(J.length===0)return N0(m0,{color:H.colors.textMuted,children:"No files found"},void 0,!1,void 0,this);let Z=J.slice(0,5).map((X)=>SJ(process.cwd(),X));return N0($6,{flexDirection:"column",children:[N0($6,{flexDirection:"row",children:[N0(m0,{children:"Found "},void 0,!1,void 0,this),N0(m0,{bold:!0,children:J.length},void 0,!1,void 0,this),N0(m0,{children:[" ",J.length===1?"file":"files"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),N0($6,{flexDirection:"column",marginLeft:2,children:[Z.map((X,Q)=>N0(m0,{color:H.colors.textMuted,children:X},Q,!1,void 0,this)),J.length>5&&N0(m0,{color:H.colors.textMuted,children:["... and ",J.length-5," more"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}}if(Array.isArray($)){if($.length===0)return N0(m0,{color:H.colors.textMuted,children:"No results"},void 0,!1,void 0,this);if(typeof $[0]==="string"){let K=$,J=K.slice(0,5).map((Z)=>SJ(process.cwd(),Z));return N0($6,{flexDirection:"column",children:[N0($6,{flexDirection:"row",children:[N0(m0,{children:"Found "},void 0,!1,void 0,this),N0(m0,{bold:!0,children:K.length},void 0,!1,void 0,this),N0(m0,{children:[" ",K.length===1?"file":"files"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),N0($6,{flexDirection:"column",marginLeft:2,children:[J.map((Z,X)=>N0(m0,{color:H.colors.textMuted,children:Z},X,!1,void 0,this)),K.length>5&&N0(m0,{color:H.colors.textMuted,children:["... and ",K.length-5," more"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}return N0($6,{flexDirection:"row",children:[N0(m0,{children:"Found "},void 0,!1,void 0,this),N0(m0,{bold:!0,children:$.length},void 0,!1,void 0,this),N0(m0,{children:[" ",$.length===1?"result":"results"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}return N0(m0,{color:H.colors.textMuted,children:"Done"},void 0,!1,void 0,this)}};import{Box as g7,Text as G9}from"ink";g();import{jsxDEV as V0}from"react/jsx-dev-runtime";var tY={displayName(){return"Serena"},renderInput($,{verbose:H}){let{action:K,name_path:J,pattern:Z,new_name:X,relative_path:Q}=$;if(K==="find_symbol"&&J){let G=`find_symbol "${J}"`;if(Q&&H)G+=` in ${Q}`;return G}if(K==="find_references"&&J)return`find_references "${J}"`;if(K==="search"&&Z){let G=`search "${Z}"`;if(Q&&H)G+=` in ${Q}`;return G}if(K==="rename"&&J&&X)return`rename "${J}" → "${X}"`;if(K==="overview")return`overview${Q?` of ${Q}`:""}`;if(K==="replace_body"&&J)return`replace_body "${J}"`;if(K==="insert_after"&&J)return`insert_after "${J}"`;if(K==="insert_before"&&J)return`insert_before "${J}"`;return K},renderRejection(){return V0(b,{},void 0,!1,void 0,this)},renderOutput($){let H=L();if($==null)return V0(G9,{color:H.colors.textMuted,children:"No output"},void 0,!1,void 0,this);if(typeof $==="string"){let J=$.trim().split(`
439
- `).slice(0,2).join(`
440
- `);return V0(G9,{color:H.colors.textMuted,children:J},void 0,!1,void 0,this)}if(typeof $==="object"&&!Array.isArray($)){let K=$;if(Array.isArray(K.results)){let J=K.results;if(J.length===0)return V0(G9,{color:H.colors.textMuted,children:"No results"},void 0,!1,void 0,this);let Z=J.slice(0,3);return V0(g7,{flexDirection:"column",children:[V0(g7,{flexDirection:"row",children:[V0(G9,{children:"Found "},void 0,!1,void 0,this),V0(G9,{bold:!0,children:J.length},void 0,!1,void 0,this),V0(G9,{children:[" ",J.length===1?"result":"results"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),V0(g7,{flexDirection:"column",marginLeft:2,children:[Z.map((X,Q)=>{if(X!=null&&typeof X==="object"){let G=X,Y=G.name||G.symbol_name||G.qualified_name,z=G.file||G.path;if(Y&&z)return V0(G9,{color:H.colors.textMuted,children:[typeof Y==="string"?Y:"",typeof z==="string"?` (${z})`:""]},Q,!0,void 0,this);if(Y)return V0(G9,{color:H.colors.textMuted,children:typeof Y==="string"?Y:""},Q,!1,void 0,this)}return V0(G9,{color:H.colors.textMuted,children:["Result ",Q+1]},Q,!0,void 0,this)}),J.length>3&&V0(G9,{color:H.colors.textMuted,children:["... and ",J.length-3," more"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}if(typeof K.raw==="string"){let Z=K.raw.trim().split(`
441
- `).slice(0,2).join(`
442
- `);return V0(G9,{color:H.colors.textMuted,children:Z},void 0,!1,void 0,this)}if(typeof K.success==="boolean")if(K.success){let J=typeof K.message==="string"?K.message:"Success";return V0(G9,{color:H.colors.success,children:J},void 0,!1,void 0,this)}else{let J=typeof K.error==="string"?K.error:"Failed";return V0(G9,{color:H.colors.error,children:J},void 0,!1,void 0,this)}if(typeof K.message==="string")return V0(G9,{color:H.colors.textMuted,children:K.message},void 0,!1,void 0,this);if(K.name&&K.kind)return V0(g7,{flexDirection:"row",children:[V0(G9,{color:H.colors.textMuted,children:[typeof K.kind==="string"?K.kind:"Symbol",":"]},void 0,!0,void 0,this),V0(G9,{children:[" ",typeof K.name==="string"?K.name:""]},void 0,!0,void 0,this)]},void 0,!0,void 0,this);return V0(G9,{color:H.colors.textMuted,children:"Completed"},void 0,!1,void 0,this)}if(Array.isArray($)){if($.length===0)return V0(G9,{color:H.colors.textMuted,children:"No results"},void 0,!1,void 0,this);return V0(g7,{flexDirection:"row",children:[V0(G9,{children:"Found "},void 0,!1,void 0,this),V0(G9,{bold:!0,children:$.length},void 0,!1,void 0,this),V0(G9,{children:[" ",$.length===1?"result":"results"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}return V0(G9,{color:H.colors.textMuted,children:"Done"},void 0,!1,void 0,this)}};import{Box as H6,Text as D6}from"ink";g();import{jsxDEV as Y9}from"react/jsx-dev-runtime";function bJ($,H=60){return $.length>H?$.slice(0,H-1)+"…":$}var eY={displayName(){return"Quip"},renderInput($,{verbose:H}={}){let K=String($.action??"read"),J=$.query?bJ(String($.query)):"",Z=$.threadId?bJ(String($.threadId)):"",X=[K];if(J)X.push(`query: ${J}`);else if(Z)X.push(`threadId: ${Z}`);return Y9(H6,{flexDirection:"row",children:Y9(D6,{children:X.join(", ")},void 0,!1,void 0,this)},void 0,!1,void 0,this)},renderRejection(){return Y9(b,{},void 0,!1,void 0,this)},renderOutput($,{verbose:H}={}){let K=L();if($==null)return Y9(H6,{flexDirection:"column",children:Y9(D6,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return Y9(H6,{flexDirection:"column",children:Y9(D6,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this);let J=$;if(J.success===!1)return Y9(H6,{flexDirection:"column",children:Y9(D6,{color:K.colors.error,children:String(J.message??"Error reading Quip document")},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(J.success===!0){let Z=J.data;if(Z?.output&&typeof Z.output==="string"){let X=Z.output.split(`
443
- `),G=X.slice(0,2).join(`
444
- `);return Y9(H6,{flexDirection:"column",children:[Y9(H6,{flexDirection:"row",children:Y9(D6,{color:K.colors.textMuted,dimColor:!0,children:bJ(G,80)},void 0,!1,void 0,this)},void 0,!1,void 0,this),X.length>2&&Y9(H6,{flexDirection:"row",paddingLeft:0,children:Y9(D6,{color:K.colors.textMuted,children:["... (",X.length-2," more lines)"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}if(J.message)return Y9(H6,{flexDirection:"column",children:Y9(D6,{children:String(J.message)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}if(typeof J.message==="string"&&J.message.toLowerCase().includes("created"))return Y9(H6,{flexDirection:"column",children:Y9(D6,{color:K.colors.success,children:J.message},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(J.message)return Y9(H6,{flexDirection:"column",children:Y9(D6,{children:String(J.message)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return Y9(H6,{flexDirection:"column",children:Y9(D6,{color:K.colors.textMuted,children:"(No response)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as V6,Text as c6}from"ink";g();import{jsxDEV as F9}from"react/jsx-dev-runtime";function $z($,H=40){return $.length>H?$.slice(0,H-1)+"…":$}var Hz={displayName(){return"Quip Comment"},renderInput($,{verbose:H}={}){let K=$.threadId?$z(String($.threadId),30):"",J=$.content?$z(String($.content),40):"",Z=[];if(K)Z.push(`thread: ${K}`);if(J)Z.push(`"${J}"`);return F9(V6,{flexDirection:"row",children:F9(c6,{children:Z.length>0?Z.join(" "):"Posting comment..."},void 0,!1,void 0,this)},void 0,!1,void 0,this)},renderRejection(){return F9(b,{},void 0,!1,void 0,this)},renderOutput($,{verbose:H}={}){let K=L();if($==null)return F9(V6,{flexDirection:"column",children:F9(c6,{color:K.colors.textMuted,children:"(No response)"},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string"){if($.toLowerCase().includes("posted")||$.toLowerCase().includes("success"))return F9(V6,{flexDirection:"column",children:F9(c6,{color:K.colors.success,children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this);return F9(V6,{flexDirection:"column",children:F9(c6,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)}let J=$;if(J.success===!1)return F9(V6,{flexDirection:"column",children:F9(c6,{color:K.colors.error,children:String(J.message??"Error posting comment")},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(J.success===!0){let Z=J.message??"Comment posted";return F9(V6,{flexDirection:"column",children:F9(c6,{color:K.colors.success,children:Z},void 0,!1,void 0,this)},void 0,!1,void 0,this)}if(J.message){if(String(J.message).toLowerCase().includes("posted"))return F9(V6,{flexDirection:"column",children:F9(c6,{color:K.colors.success,children:String(J.message)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(String(J.message).toLowerCase().includes("error")||String(J.message).toLowerCase().includes("failed"))return F9(V6,{flexDirection:"column",children:F9(c6,{color:K.colors.error,children:String(J.message)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return F9(V6,{flexDirection:"column",children:F9(c6,{children:String(J.message)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}return F9(V6,{flexDirection:"column",children:F9(c6,{color:K.colors.textMuted,children:"(Comment posted)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as Kz,Text as OH}from"ink";g();import{jsxDEV as z$}from"react/jsx-dev-runtime";var Jz={displayName(){return"Quip Create"},renderInput($,{verbose:H}={}){let K=typeof $.title==="string"?$.title:"";return z$(Kz,{flexDirection:"row",children:[z$(OH,{children:K?`"${K.slice(0,50)}"`:"new document"},void 0,!1,void 0,this),H&&typeof $.folderId==="string"&&z$(OH,{color:L().colors.textMuted,children:[" in ",$.folderId]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},renderRejection(){return z$(b,{},void 0,!1,void 0,this)},renderOutput($,{verbose:H}={}){let K=L();if(!$||typeof $!=="object")return z$(OH,{color:K.colors.textMuted,children:typeof $==="string"?$:"No result"},void 0,!1,void 0,this);let J=$,Z=J.success!==!1,X=typeof J.message==="string"?J.message:"";if(!Z)return z$(OH,{color:K.colors.error,children:X||"Failed to create document"},void 0,!1,void 0,this);return z$(Kz,{flexDirection:"row",children:[z$(OH,{color:K.colors.success,children:"✓ Document created"},void 0,!1,void 0,this),X&&z$(OH,{color:K.colors.textMuted,children:[" — ",X.slice(0,60)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}};import{Box as n3,Text as i3}from"ink";g();import{jsxDEV as Z1}from"react/jsx-dev-runtime";var Zz={displayName(){return"Slack Read"},renderInput($,{verbose:H}={}){let K=$?.channel??"",J=$?.limit??$?.max_messages??"",Z=[];if(K)Z.push(`#${String(K).replace(/^#/,"")}`);if(J)Z.push(`limit:${J}`);return Z.join(", ")||"Slack messages"},renderRejection(){return Z1(b,{},void 0,!1,void 0,this)},renderOutput($,{verbose:H}={}){let K=L();if($==null)return Z1(n3,{flexDirection:"column",children:Z1(i3,{color:K.colors.textMuted,children:"No messages"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let J=$??{},Z=J.data??J,X=Array.isArray(Z.messages)?Z.messages:[],Q=String(Z.channelId??Z.channel_id??Z.channel??"");if(!X.length)return Z1(n3,{flexDirection:"column",children:Z1(i3,{color:K.colors.textMuted,children:"No messages"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let G=Q?`#${Q.replace(/^#/,"")}`:"channel",Y=X.length;return Z1(n3,{flexDirection:"column",children:[Z1(n3,{marginBottom:1,children:[Z1(i3,{bold:!0,children:[Y," "]},void 0,!0,void 0,this),Z1(i3,{children:["message",Y===1?"":"s"," from ",G]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),X.slice(0,3).map((z,W)=>{let F=z??{},q=String(F.user??F.username??"unknown"),A=String(F.text??F.message??""),U=A.length>60?A.substring(0,60)+"…":A;return Z1(n3,{flexDirection:"column",paddingLeft:2,marginBottom:W<2?1:0,children:Z1(n3,{children:[Z1(i3,{bold:!0,children:[q,": "]},void 0,!0,void 0,this),Z1(i3,{dimColor:!0,children:U},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},W,!1,void 0,this)}),X.length>3&&Z1(n3,{paddingLeft:2,marginTop:1,children:Z1(i3,{color:K.colors.textMuted,children:["+",X.length-3," more message",X.length-3===1?"":"s"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as v7,Text as T7}from"ink";g();import{jsxDEV as K6}from"react/jsx-dev-runtime";var Xz={displayName(){return"Slack Send"},renderInput($,{verbose:H}={}){let K=$?.channel??"",J=String($?.text??""),Z=J.length>40?J.substring(0,40)+"…":J,X=[];if(K)X.push(`#${String(K).replace(/^#/,"")}`);if(Z)X.push(`"${Z}"`);return X.join(" → ")||"Send message"},renderRejection(){return K6(b,{},void 0,!1,void 0,this)},renderOutput($,{verbose:H}={}){let K=L();if($==null)return K6(v7,{flexDirection:"column",children:K6(T7,{color:K.colors.error,children:"Failed to send message"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let J=$??{},Z=J.success!==!1&&J.success!==null,X=String(J.message??J.error??""),Q=J.data??J,G=String(Q.channelId??Q.channel_id??Q.channel??""),Y=String(Q.ts??Q.timestamp??"");if(!Z)return K6(v7,{flexDirection:"column",children:K6(T7,{color:K.colors.error,children:["Failed to send message",X?`: ${X}`:""]},void 0,!0,void 0,this)},void 0,!1,void 0,this);let z=G?`#${G.replace(/^#/,"")}`:"channel";return K6(v7,{flexDirection:"column",children:[K6(v7,{children:[K6(T7,{color:K.colors.success,children:"✓ Sent to "},void 0,!1,void 0,this),K6(T7,{bold:!0,color:K.colors.success,children:z},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Y&&H&&K6(v7,{marginTop:1,paddingLeft:2,children:K6(T7,{color:K.colors.textMuted,children:["timestamp: ",Y]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as kJ,Text as gJ}from"ink";g();import{jsxDEV as o3}from"react/jsx-dev-runtime";var Qz={displayName(){return"Slack React"},renderInput($,{verbose:H}={}){let K=String($?.name??$?.emoji??""),J=String($?.channel??""),X=[K.startsWith(":")?K:`:${K}:`];if(J)X.push(`#${J.replace(/^#/,"")}`);return X.join(" in ")||"Add reaction"},renderRejection(){return o3(b,{},void 0,!1,void 0,this)},renderOutput($,{verbose:H}={}){let K=L();if($==null)return o3(kJ,{flexDirection:"column",children:o3(gJ,{color:K.colors.error,children:"Failed to add reaction"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let J=$??{},Z=J.success!==!1&&J.success!==null,X=String(J.message??J.error??""),Q=J.data??J,G=String(Q.emoji??Q.name??Q.reaction??"");if(!Z)return o3(kJ,{flexDirection:"column",children:o3(gJ,{color:K.colors.error,children:["Failed to add reaction",X?`: ${X}`:""]},void 0,!0,void 0,this)},void 0,!1,void 0,this);let Y=G.startsWith(":")?G:`:${G}:`;return o3(kJ,{flexDirection:"column",children:o3(gJ,{color:K.colors.success,children:["✓ Added ",Y]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}};import{Box as D1,Text as V1}from"ink";g();import{jsxDEV as n0}from"react/jsx-dev-runtime";var Gz={displayName(){return"Outlook Read"},renderInput($,{verbose:H}={}){let K=L(),J=String($?.folder??""),Z=$?.search??$?.search_query,X=$?.filter,Q=[];if(J)Q.push(`folder: ${J}`);if(Z)Q.push(`search: ${String(Z)}`);if(X)Q.push(`filter: ${String(X)}`);return n0(D1,{flexDirection:"row",children:n0(V1,{children:Q.length>0?Q.join(", "):"Reading emails..."},void 0,!1,void 0,this)},void 0,!1,void 0,this)},renderRejection(){return n0(b,{},void 0,!1,void 0,this)},renderOutput($,{verbose:H}={}){let K=L();if($==null)return n0(D1,{flexDirection:"column",children:n0(V1,{children:"(No emails found)"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let J=$;if(J.success===!1)return n0(D1,{flexDirection:"column",children:n0(V1,{color:K.colors.error,children:String(J.message??"Error reading emails")},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(J.success===!0){let Z=J.data??{};if(Array.isArray(Z?.messages)){let Q=Z.messages;if(Q.length===0)return n0(D1,{flexDirection:"column",children:n0(V1,{children:"(No emails)"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let G=Q.length,Y=Q.slice(0,3);return n0(D1,{flexDirection:"column",children:[n0(V1,{children:[G," email",G!==1?"s":""]},void 0,!0,void 0,this),Y.map((z,W)=>n0(D1,{flexDirection:"row",marginTop:W===0?0:0,children:n0(D1,{children:[n0(V1,{bold:!0,children:z.subject||"(No subject)"},void 0,!1,void 0,this),z.from&&n0(V1,{color:K.colors.textMuted,children:[" from ",z.from]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},W,!1,void 0,this)),G>3&&n0(V1,{color:K.colors.textMuted,children:["... and ",G-3," more"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}if(Z?.subject){let Q=Z.subject,G=Z?.from;return n0(D1,{flexDirection:"column",children:[n0(D1,{flexDirection:"row",children:n0(V1,{bold:!0,children:String(Q)},void 0,!1,void 0,this)},void 0,!1,void 0,this),G&&n0(D1,{flexDirection:"row",children:n0(V1,{color:K.colors.textMuted,children:["from ",String(G)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}let X=typeof J.data==="string"?J.data:JSON.stringify(J.data,null,2);return n0(D1,{flexDirection:"column",children:n0(V1,{children:X},void 0,!1,void 0,this)},void 0,!1,void 0,this)}return n0(D1,{flexDirection:"column",children:n0(V1,{children:JSON.stringify($)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as s3,Text as t3}from"ink";g();import{jsxDEV as X1}from"react/jsx-dev-runtime";var Yz={displayName(){return"Outlook Send"},renderInput($,{verbose:H}={}){let K=L(),J=String($?.to??""),Z=String($?.subject??"");if(Z.length>40)Z=Z.substring(0,40)+"...";return X1(s3,{flexDirection:"row",children:X1(t3,{children:["to: ",J,Z&&` — "${Z}"`]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},renderRejection(){return X1(b,{},void 0,!1,void 0,this)},renderOutput($,{verbose:H}={}){let K=L();if($==null)return X1(s3,{flexDirection:"column",children:X1(t3,{color:K.colors.error,children:"Failed to send email"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let J=$;if(J.success===!1)return X1(s3,{flexDirection:"column",children:X1(t3,{color:K.colors.error,children:String(J.message??"Failed to send email")},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(J.success===!0){let Z=String(J.message??"Email sent");return X1(s3,{flexDirection:"column",children:X1(t3,{color:K.colors.success,children:Z},void 0,!1,void 0,this)},void 0,!1,void 0,this)}if(typeof $==="string"){if($.toLowerCase().includes("sent")||$.toLowerCase().includes("success"))return X1(s3,{flexDirection:"column",children:X1(t3,{color:K.colors.success,children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this);return X1(s3,{flexDirection:"column",children:X1(t3,{color:K.colors.error,children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)}return X1(s3,{flexDirection:"column",children:X1(t3,{children:JSON.stringify($)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as e3,Text as n$}from"ink";g();import{jsxDEV as l9}from"react/jsx-dev-runtime";var zz={displayName(){return"Outlook Reply"},renderInput($,{verbose:H}={}){let K=L(),J=String($?.messageId??$?.message_id??""),Z=Boolean($?.replyAll??$?.reply_all??!1),X=J.length>20?J.substring(0,20)+"...":J;return l9(e3,{flexDirection:"row",children:l9(n$,{children:[X,Z&&l9(n$,{color:K.colors.textMuted,children:" [reply-all]"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},renderRejection(){return l9(b,{},void 0,!1,void 0,this)},renderOutput($,{verbose:H}={}){let K=L();if($==null)return l9(e3,{flexDirection:"column",children:l9(n$,{color:K.colors.error,children:"Failed to send reply"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let J=$;if(J.success===!1)return l9(e3,{flexDirection:"column",children:l9(n$,{color:K.colors.error,children:String(J.message??"Failed to send reply")},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(J.success===!0){let Z=String(J.message??"Reply sent");return l9(e3,{flexDirection:"column",children:l9(n$,{color:K.colors.success,children:Z},void 0,!1,void 0,this)},void 0,!1,void 0,this)}if(typeof $==="string"){if($.toLowerCase().includes("sent")||$.toLowerCase().includes("success")||$.toLowerCase().includes("reply"))return l9(e3,{flexDirection:"column",children:l9(n$,{color:K.colors.success,children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this);return l9(e3,{flexDirection:"column",children:l9(n$,{color:K.colors.error,children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)}return l9(e3,{flexDirection:"column",children:l9(n$,{children:JSON.stringify($)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as n2,Text as i$}from"ink";g();import{jsxDEV as A1,Fragment as JO}from"react/jsx-dev-runtime";function KO($){if(!$.startsWith("client-"))return $.replace(/^@/,"");return $.slice(0,15)+"…"}var Wz={displayName(){return"Message"},renderInput($){let H=String($?.to??""),K=$?.type??"quest",J=[];if(H)J.push(`@${KO(H)}`);if(K&&K!=="quest")J.push(String(K));return J.join(" ")||"Send message"},renderRejection(){return A1(b,{},void 0,!1,void 0,this)},renderOutput($,{verbose:H}={},K){let J=L(),Z=String(K?.content??"");if($==null)return A1(n2,{flexDirection:"column",children:[A1(i$,{color:J.colors.error,children:"Failed to send message"},void 0,!1,void 0,this),Z&&A1(i$,{dimColor:!0,children:Z},void 0,!1,void 0,this)]},void 0,!0,void 0,this);let X=$??{},Q=X.success!==!1&&X.success!==null,G=String(X.message??X.error??""),Y=X.data??X,z=String(Y.messageId??Y.message_id??Y.id??"");if(!Q)return A1(n2,{flexDirection:"column",children:[A1(i$,{color:J.colors.error,children:["✗ ",G||"Failed to deliver"]},void 0,!0,void 0,this),Z&&A1(i$,{dimColor:!0,children:Z},void 0,!1,void 0,this)]},void 0,!0,void 0,this);return A1(n2,{flexDirection:"column",children:[A1(n2,{children:[A1(i$,{color:J.colors.success,children:"✓ Sent"},void 0,!1,void 0,this),z&&A1(JO,{children:[A1(i$,{children:" "},void 0,!1,void 0,this),A1(i$,{color:J.colors.textMuted,dimColor:!0,children:z},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Z&&A1(i$,{children:Z},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as o$,Text as J6}from"ink";g();import{jsxDEV as z9}from"react/jsx-dev-runtime";function ZO({msg:$}){let{contentWidth:H}=d$(),K=String($.from??$.sender??"Unknown"),J=String($.content??$.text??""),Z=C9(J,{width:H,mode:"final"}),X=process.platform==="darwin"?"⏺":"●";return z9(o$,{flexDirection:"column",children:[z9(o$,{flexDirection:"row",marginBottom:1,children:[z9(J6,{children:"\uD83D\uDCEC "},void 0,!1,void 0,this),z9(J6,{bold:!0,color:"cyan",children:K},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z9(o$,{flexDirection:"row",children:[z9(o$,{minWidth:2,children:z9(J6,{color:"cyan",children:X},void 0,!1,void 0,this)},void 0,!1,void 0,this),z9(o$,{flexShrink:1,width:H,children:z9(J6,{children:Z},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function XO({msg:$,verbose:H}){let K=L(),J=String($.from??$.sender??"Unknown"),Z=String($.type??"quest"),X=String($.content??$.text??""),Q=H||X.length<=80?X:X.substring(0,80)+"…";return z9(o$,{flexDirection:"row",children:[z9(J6,{bold:!0,children:J},void 0,!1,void 0,this),z9(J6,{children:" "},void 0,!1,void 0,this),z9(J6,{color:K.colors.textMuted,children:["[",Z,"]"]},void 0,!0,void 0,this),z9(J6,{children:" "},void 0,!1,void 0,this),z9(J6,{children:Q},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function QO($){if($==null)return[];let H=$;if(typeof $==="string")try{H=JSON.parse($)}catch{return[]}let K=H.data??H;return Array.isArray(K.messages)?K.messages:[]}var _z={displayName(){return"Inbox"},renderInput($){let H=$?.from,K=$?.type,J=$?.unreadOnly,Z=[];if(H)Z.push(`from: ${String(H)}`);if(K)Z.push(`type: [${String(K)}]`);if(J===!0)Z.push("unread only");return Z.length>0?Z.join(" "):"Check messages"},renderRejection(){return z9(b,{},void 0,!1,void 0,this)},renderOutput($,{verbose:H}={}){let K=L(),J=QO($);if(J.length===0)return z9(J6,{color:K.colors.textMuted,children:"No messages"},void 0,!1,void 0,this);let Z=J[0];if(J.length===1&&Z&&Z.type==="incoming")return z9(ZO,{msg:Z},void 0,!1,void 0,this);let X=J.length;return z9(o$,{flexDirection:"column",children:[z9(J6,{children:[X," message",X!==1?"s":""]},void 0,!0,void 0,this),z9(o$,{flexDirection:"column",marginTop:1,paddingLeft:2,children:J.map((Q,G)=>z9(XO,{msg:Q,verbose:H??!1},G,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as i2,Text as $8}from"ink";g();import{jsxDEV as c1}from"react/jsx-dev-runtime";var qz={displayName(){return"Search Messages"},renderInput($,{verbose:H}={}){let K=String($?.query??"");return K?`"${K}"`:"Search messages"},renderRejection(){return c1(b,{},void 0,!1,void 0,this)},renderOutput($,{verbose:H}={}){let K=L();if($==null)return c1($8,{color:K.colors.textMuted,children:"No results"},void 0,!1,void 0,this);let J=$??{},Z=J.data??J,X=Array.isArray(Z.messages)?Z.messages:Array.isArray(Z.results)?Z.results:[];if(!X||X.length===0)return c1($8,{color:K.colors.textMuted,children:"No results"},void 0,!1,void 0,this);let Q=X.length,G=Math.min(3,X.length),Y=X.slice(0,G);return c1(i2,{flexDirection:"column",children:[c1($8,{children:[Q," result",Q!==1?"s":""]},void 0,!0,void 0,this),Y.length>0&&c1(i2,{flexDirection:"column",marginTop:1,paddingLeft:2,children:Y.map((z,W)=>{let F=String(z.from??z.sender??"Unknown"),q=String(z.content??z.text??""),A=q.length>40?q.substring(0,40)+"…":q;return c1(i2,{flexDirection:"row",children:[c1($8,{bold:!0,children:F},void 0,!1,void 0,this),c1($8,{children:" "},void 0,!1,void 0,this),c1($8,{color:K.colors.textMuted,children:A},void 0,!1,void 0,this)]},W,!0,void 0,this)})},void 0,!1,void 0,this),X.length>G&&c1(i2,{marginTop:1,paddingLeft:2,children:c1($8,{color:K.colors.textMuted,children:["... and ",X.length-G," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as o2,Text as H8}from"ink";g();import{jsxDEV as E1}from"react/jsx-dev-runtime";var Nz={displayName(){return"Thread"},renderInput($,{verbose:H}={}){let K=String($?.messageId??$?.message_id??"");return K?`messageId: ${K}`:"Get thread"},renderRejection(){return E1(b,{},void 0,!1,void 0,this)},renderOutput($,{verbose:H}={}){let K=L();if($==null)return E1(H8,{color:K.colors.textMuted,children:"No messages in thread"},void 0,!1,void 0,this);let J=$??{},Z=J.data??J,X=Array.isArray(Z.messages)?Z.messages:[];if(!X||X.length===0)return E1(H8,{color:K.colors.textMuted,children:"No messages in thread"},void 0,!1,void 0,this);let Q=X.length,G=Math.min(3,X.length),Y=X.slice(0,G);return E1(o2,{flexDirection:"column",children:[E1(H8,{children:[Q," message",Q!==1?"s":""," in thread"]},void 0,!0,void 0,this),Y.length>0&&E1(o2,{flexDirection:"column",marginTop:1,paddingLeft:2,children:Y.map((z,W)=>{let F=String(z.from??z.sender??"Unknown"),q=String(z.content??z.text??""),A=q.length>40?q.substring(0,40)+"…":q;return E1(o2,{flexDirection:"row",children:[E1(H8,{bold:!0,children:F},void 0,!1,void 0,this),E1(H8,{children:" "},void 0,!1,void 0,this),E1(H8,{color:K.colors.textMuted,children:A},void 0,!1,void 0,this)]},W,!0,void 0,this)})},void 0,!1,void 0,this),X.length>G&&E1(o2,{marginTop:1,paddingLeft:2,children:E1(H8,{color:K.colors.textMuted,children:["... and ",X.length-G," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as h7,Text as D7}from"ink";g();import{jsxDEV as Z6}from"react/jsx-dev-runtime";var Fz={displayName(){return"Clients"},renderInput($,{verbose:H}={}){return"List clients"},renderRejection(){return Z6(b,{},void 0,!1,void 0,this)},renderOutput($,{verbose:H}={}){let K=L();if($==null)return Z6(h7,{flexDirection:"column",children:Z6(D7,{children:"No clients connected"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let J=$??{},Z=J.data??J,X=Array.isArray(Z.clients)?Z.clients:[];if(!X||X.length===0)return Z6(h7,{flexDirection:"column",children:Z6(D7,{children:"No clients connected"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Q=X.length,G=X.map((Y)=>String(Y.name??Y.displayName??Y.id??"Unknown")).slice(0,10);return Z6(h7,{flexDirection:"column",children:[Z6(D7,{children:[Q," client",Q!==1?"s":""," connected"]},void 0,!0,void 0,this),G.length>0&&Z6(h7,{flexDirection:"column",marginTop:1,paddingLeft:2,children:G.map((Y,z)=>Z6(D7,{color:K.colors.textMuted,children:["• ",Y]},z,!0,void 0,this))},void 0,!1,void 0,this),X.length>10&&Z6(h7,{marginTop:1,paddingLeft:2,children:Z6(D7,{color:K.colors.textMuted,children:["... and ",X.length-10," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as s$,Text as UH}from"ink";g();import{jsxDEV as x9,Fragment as GO}from"react/jsx-dev-runtime";var Pz={displayName(){return"Remote Delegate"},renderInput($,H={}){let K=[];if($.node_id)K.push($.node_id);if($.task){let J=$.task.length>40?`${$.task.slice(0,40)}...`:$.task;K.push(J)}return K.length>0?K.join(": "):Object.entries($).map(([J,Z])=>`${J}: ${JSON.stringify(Z)}`).join(", ")},renderRejection(){return x9(b,{},void 0,!1,void 0,this)},renderOutput($,H={}){let K=L();if(!$)return x9(s$,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:x9(s$,{flexDirection:"row",children:x9(UH,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return x9(s$,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:x9(s$,{flexDirection:"row",children:x9(UH,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.error)return x9(s$,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:x9(s$,{flexDirection:"row",children:x9(UH,{color:K.colors.error,children:$.error},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return x9(s$,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:x9(s$,{flexDirection:"row",children:[x9(UH,{color:K.colors.success,children:"Delegated to node"},void 0,!1,void 0,this),$.quest_id&&x9(GO,{children:[x9(UH,{children:" "},void 0,!1,void 0,this),x9(UH,{color:K.colors.textMuted,children:$.quest_id},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}};import{Box as t$,Text as s2}from"ink";g();import{jsxDEV as B1}from"react/jsx-dev-runtime";var Az={displayName(){return"Pause"},renderInput($,H={}){if($.id)return $.id;return Object.entries($).map(([K,J])=>`${K}: ${JSON.stringify(J)}`).join(", ")},renderRejection(){return B1(b,{},void 0,!1,void 0,this)},renderOutput($,H={}){let K=L();if(!$)return B1(t$,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:B1(t$,{flexDirection:"row",children:B1(s2,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return B1(t$,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:B1(t$,{flexDirection:"row",children:B1(s2,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.error)return B1(t$,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:B1(t$,{flexDirection:"row",children:B1(s2,{color:K.colors.error,children:$.error},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return B1(t$,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:B1(t$,{flexDirection:"row",children:B1(s2,{color:K.colors.success,children:"Paused"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as e$,Text as LH}from"ink";g();import{jsxDEV as u9,Fragment as YO}from"react/jsx-dev-runtime";var Oz={displayName(){return"Resume"},renderInput($,H={}){if($.id)return $.id;return Object.entries($).map(([K,J])=>`${K}: ${JSON.stringify(J)}`).join(", ")},renderRejection(){return u9(b,{},void 0,!1,void 0,this)},renderOutput($,H={}){let K=L();if(!$)return u9(e$,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:u9(e$,{flexDirection:"row",children:u9(LH,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return u9(e$,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:u9(e$,{flexDirection:"row",children:u9(LH,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.error)return u9(e$,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:u9(e$,{flexDirection:"row",children:u9(LH,{color:K.colors.error,children:$.error},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return u9(e$,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:u9(e$,{flexDirection:"row",children:[u9(LH,{color:K.colors.success,children:"Resumed"},void 0,!1,void 0,this),$.quest_id&&u9(YO,{children:[u9(LH,{children:" "},void 0,!1,void 0,this),u9(LH,{color:K.colors.textMuted,children:$.quest_id},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}};import{Box as M1,Text as K8}from"ink";g();import{jsxDEV as P9}from"react/jsx-dev-runtime";var Uz={displayName(){return"Quest Report"},renderInput($,H={}){if($.quest_id)return $.quest_id;return Object.entries($).map(([K,J])=>`${K}: ${JSON.stringify(J)}`).join(", ")},renderRejection(){return P9(b,{},void 0,!1,void 0,this)},renderOutput($,H={}){let K=L();if(!$)return P9(M1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:P9(M1,{flexDirection:"row",children:P9(K8,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return P9(M1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:P9(M1,{flexDirection:"row",children:P9(K8,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.error)return P9(M1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:P9(M1,{flexDirection:"row",children:P9(K8,{color:K.colors.error,children:$.error},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.data){let{commits:J,filesChanged:Z,cost:X}=$.data,Q=[];if(J!==void 0)Q.push(`${J} commit${J!==1?"s":""}`);if(Z!==void 0)Q.push(`${Z} file${Z!==1?"s":""} changed`);return P9(M1,{flexDirection:"column",children:[Q.length>0&&P9(M1,{flexDirection:"row",children:P9(K8,{children:Q.join(", ")},void 0,!1,void 0,this)},void 0,!1,void 0,this),X!==void 0&&P9(M1,{flexDirection:"row",children:P9(K8,{color:K.colors.textMuted,children:["Cost: ",X]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}if($.message)return P9(M1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:P9(M1,{flexDirection:"row",children:P9(K8,{children:$.message},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return P9(M1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:P9(M1,{flexDirection:"row",children:P9(K8,{color:K.colors.textMuted,children:"(No data)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as Q1,Text as $3}from"ink";g();import{jsxDEV as e0}from"react/jsx-dev-runtime";var Lz={displayName(){return"Network"},renderInput($,H={}){if($.action)return $.action;return Object.entries($).map(([K,J])=>`${K}: ${JSON.stringify(J)}`).join(", ")},renderRejection(){return e0(b,{},void 0,!1,void 0,this)},renderOutput($,H={}){let K=L();if(!$)return e0(Q1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:e0(Q1,{flexDirection:"row",children:e0($3,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return e0(Q1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:e0(Q1,{flexDirection:"row",children:e0($3,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.error)return e0(Q1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:e0(Q1,{flexDirection:"row",children:e0($3,{color:K.colors.error,children:$.error},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.inviteToken){let J=$.inviteToken.length>20?`${$.inviteToken.slice(0,20)}...`:$.inviteToken;return e0(Q1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:e0(Q1,{flexDirection:"row",children:e0($3,{color:K.colors.success,children:J},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}if($.peers&&Array.isArray($.peers)){let J=$.peers.map((Z)=>Z.displayName||Z.nodeId||"unknown").slice(0,3);return e0(Q1,{flexDirection:"column",children:[e0(Q1,{flexDirection:"row",children:e0($3,{children:[$.peers.length," peer",$.peers.length!==1?"s":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this),J.length>0&&e0(Q1,{flexDirection:"row",children:e0($3,{color:K.colors.textMuted,children:J.join(", ")},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}if($.message)return e0(Q1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:e0(Q1,{flexDirection:"row",children:e0($3,{children:$.message},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return e0(Q1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:e0(Q1,{flexDirection:"row",children:e0($3,{color:K.colors.success,children:"Success"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as w1,Text as J8}from"ink";g();import{jsxDEV as A9}from"react/jsx-dev-runtime";var fz={displayName(){return"Deploy"},renderInput($,H={}){let K=[];if($.target)K.push($.target);if($.branch)K.push(`(${$.branch})`);return K.length>0?K.join(" "):Object.entries($).map(([J,Z])=>`${J}: ${JSON.stringify(Z)}`).join(", ")},renderRejection(){return A9(b,{},void 0,!1,void 0,this)},renderOutput($,H={}){let K=L();if(!$)return A9(w1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:A9(w1,{flexDirection:"row",children:A9(J8,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return A9(w1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:A9(w1,{flexDirection:"row",children:A9(J8,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.error)return A9(w1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:A9(w1,{flexDirection:"row",children:A9(J8,{color:K.colors.error,children:$.error},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.host&&$.port)return A9(w1,{flexDirection:"column",children:[A9(w1,{flexDirection:"row",children:A9(J8,{color:K.colors.success,children:["Deployed to ",$.host,":",$.port]},void 0,!0,void 0,this)},void 0,!1,void 0,this),$.fingerprint&&A9(w1,{flexDirection:"row",children:A9(J8,{color:K.colors.textMuted,children:$.fingerprint},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if($.message)return A9(w1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:A9(w1,{flexDirection:"row",children:A9(J8,{children:$.message},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return A9(w1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:A9(w1,{flexDirection:"row",children:A9(J8,{color:K.colors.success,children:"Deployed"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as C1,Text as Z8}from"ink";g();import{jsxDEV as O9}from"react/jsx-dev-runtime";var Rz={displayName(){return"History"},renderInput($,H={}){let K=[];if($.action)K.push($.action);if($.query)K.push(`"${$.query}"`);return K.length>0?K.join(" "):Object.entries($).map(([J,Z])=>`${J}: ${JSON.stringify(Z)}`).join(", ")},renderRejection(){return O9(b,{},void 0,!1,void 0,this)},renderOutput($,H={}){let K=L();if(!$)return O9(C1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:O9(C1,{flexDirection:"row",children:O9(Z8,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return O9(C1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:O9(C1,{flexDirection:"row",children:O9(Z8,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.error)return O9(C1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:O9(C1,{flexDirection:"row",children:O9(Z8,{color:K.colors.error,children:$.error},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.data?.sessions&&Array.isArray($.data.sessions)){let J=$.data.sessions,Z=J.slice(0,3).map((X)=>{let Q=X.title||X.id||"untitled";return m9(Q.slice(0,50))});return O9(C1,{flexDirection:"column",children:[O9(C1,{flexDirection:"row",children:O9(Z8,{children:[J.length," session",J.length!==1?"s":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this),Z.length>0&&O9(C1,{flexDirection:"row",children:O9(Z8,{color:K.colors.textMuted,children:Z.join(", ")},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}if($.message)return O9(C1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:O9(C1,{flexDirection:"row",children:O9(Z8,{children:$.message},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return O9(C1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:O9(C1,{flexDirection:"row",children:O9(Z8,{color:K.colors.success,children:"Success"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as H3,Text as t2}from"ink";g();import{jsxDEV as I1}from"react/jsx-dev-runtime";var yz={displayName(){return"Restart"},renderInput($,H={}){if($.reason)return $.reason;return Object.entries($).map(([K,J])=>`${K}: ${JSON.stringify(J)}`).join(", ")},renderRejection(){return I1(b,{},void 0,!1,void 0,this)},renderOutput($,H={}){let K=L();if(!$)return I1(H3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:I1(H3,{flexDirection:"row",children:I1(t2,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return I1(H3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:I1(H3,{flexDirection:"row",children:I1(t2,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.error)return I1(H3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:I1(H3,{flexDirection:"row",children:I1(t2,{color:K.colors.error,children:$.error},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return I1(H3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:I1(H3,{flexDirection:"row",children:I1(t2,{color:K.colors.warning,children:"Restarting..."},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};var V7={bash:l$,exec:l$,spawn:l$,execute_command:l$,file_edit:w2,edit_file:w2,file_read:WJ,read_file:WJ,file_write:NJ,write_file:NJ,grep:lG,search:hY,glob:uG,web_search:YY,rg:cY,ug:jY,frg:oY,fff:sY,probe:pY,sg:xY,lsp:iY,cbm:rY,serena:tY,list_dir:b2,ls:b2,web_fetch:QY,browse:GY,recall:g2,recall_knowledge:g2,remember:C7,forget:C7,reflect:C7,memory_read:g2,memory_write:C7,learn:zY,learn_tool:_Y,learn_skill:NY,create_tool:FY,create_skill:AY,use_skill:UY,ask_user:yY,quest_list:LY,quest_update:fY,kill:l$,write_stdin:l$,list_processes:b2,wait_process:l$,spawn_worker:kY,apply_patch:w2,delegate_arion:OJ,check_delegation:gY,hatch_arion:BY,rest_arion:wY,wake_arion:IY,retire_arion:bY,mcp:nG,think:oG,agent:OJ,notebook_read:tG,notebook_edit:eG,architect:HY,sticker_request:ZY,browser:vY,process:TY,self_diagnose:DY,check_quip_documents:eY,send_quip_comment:Hz,create_quip_document:Jz,check_slack_messages:Zz,send_slack_message:Xz,react_slack_message:Qz,check_outlook_messages:Gz,send_outlook_message:Yz,reply_outlook_message:zz,send_message:Wz,check_messages:_z,search_messages:qz,get_thread:Nz,list_clients:Fz,delegate_remote:Pz,pause_delegation:Az,resume_delegation:Oz,quest_report:Uz,manage_network:Lz,deploy:fz,session_history:Rz,restart:yz};import{jsxDEV as j1}from"react/jsx-dev-runtime";var zO=5;function wz({item:$,verbose:H}){let K=V7[$.toolName.toLowerCase()],J=process.stdout.columns||80,Z=Math.max(J-zO,1),X={terminalWidth:J,contentWidth:Z};if($.id.includes("synthetic_inbox_")&&$.output!=null)return j1(R2,{value:X,children:TJ(K,$.output,H,$.input)??j1(vJ,{children:typeof $.output==="string"?$.output:JSON.stringify($.output)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Q=Mz(()=>K?.displayName($.input))??$.toolName,G=Mz(()=>K?.renderInput($.input,{verbose:H}));return j1(Bz,{flexDirection:"column",children:[j1(bG,{displayName:Q,args:G,status:$.status,durationMs:$.durationMs,verbose:H},void 0,!1,void 0,this),$.output!=null&&$.status!=="error"&&j1(JJ,{children:j1(R2,{value:X,children:TJ(K,$.output,H,$.input)??j1(vJ,{children:typeof $.output==="string"?$.output:JSON.stringify($.output)},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),$.status==="error"&&j1(JJ,{children:j1(R2,{value:X,children:$.output!=null&&TJ(K,$.output,H,$.input)||j1(vJ,{color:"red",children:$.error??"Tool error"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),H&&$.usage&&j1(Bz,{marginLeft:2,children:j1(kG,{durationMs:$.durationMs,usage:{inputTokens:$.usage.inputTokens??0,outputTokens:$.usage.outputTokens??0,totalTokens:($.usage.inputTokens??0)+($.usage.outputTokens??0),estimatedCost:0}},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Mz($){try{return $()}catch{return}}function TJ($,H,K,J){if(!$?.renderOutput)return null;try{return $.renderOutput(H,{verbose:K},J)??null}catch{return null}}g();import{jsxDEV as W9}from"react/jsx-dev-runtime";var e2=Cz.memo(function({item:H,displayMode:K,showPrefix:J,previewTailLines:Z}){let X=K==="debug",{columns:Q}=f9();switch(H.kind){case"user-message":return W9(P2,{param:{type:"text",text:H.text},userName:H.userName,columns:Q,addMargin:J,showPrefix:J},void 0,!1,void 0,this);case"user-image":return W9(RG,{dataUri:H.dataUri,userName:H.userName,showPrefix:J},void 0,!1,void 0,this);case"assistant-text":{let G=process.platform==="darwin"?"⏺":"●",Y=H.arion?.color??"cyan",z=Math.max(Q-4,20),W=C9(H.text,{width:z,mode:H.committed?"final":"streaming"}),F=!H.committed&&Z?Math.max(Z-(J&&H.arion?1:0),1):void 0,q=F!=null?_O(W,z,F):W;return W9(K3,{flexDirection:"column",children:[J&&H.arion&&W9(K3,{flexDirection:"row",marginBottom:1,children:[W9(E6,{children:[H.arion.emoji," "]},void 0,!0,void 0,this),W9(E6,{bold:!0,color:Y,children:H.arion.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this),W9(K3,{flexDirection:"row",children:[W9(K3,{minWidth:2,children:W9(E6,{color:Y,children:G},void 0,!1,void 0,this)},void 0,!1,void 0,this),W9(K3,{flexShrink:1,width:z,children:W9(E6,{children:q},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}case"thinking":{if(!H.content&&H.durationSec!=null)return W9(K3,{flexDirection:"column",children:[J&&H.arion&&W9(K3,{flexDirection:"row",marginBottom:1,children:[W9(E6,{children:[H.arion.emoji," "]},void 0,!0,void 0,this),W9(E6,{bold:!0,color:H.arion.color,children:H.arion.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this),W9(E6,{dimColor:!0,children:["✻"," Thought for ",H.durationSec.toFixed(1),"s"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this);if(!H.content)return null;return W9($J,{content:H.content,expanded:X,durationSeconds:H.durationSec,arionName:J?H.arion?.name:void 0,arionEmoji:J?H.arion?.emoji:void 0,arionColor:J?H.arion?.color:void 0,isLive:!H.committed},void 0,!1,void 0,this)}case"tool-execution":return W9(wz,{item:H,verbose:X},void 0,!1,void 0,this);case"error":{let G=L();return W9(K3,{flexDirection:"column",children:[W9(E6,{color:G.colors.error,children:H.message},void 0,!1,void 0,this),H.suggestion&&W9(E6,{dimColor:!0,children:[" Suggestion: ",H.suggestion]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}case"handoff":return W9(E6,{dimColor:!0,children:[H.direction==="outgoing"?"→":"←"," Handoff to ",H.target]},void 0,!0,void 0,this)}});function _O($,H,K){return $.split(`
445
- `).flatMap((Z)=>WO(Z,H,{hard:!1,trim:!1,wordWrap:!0}).split(`
446
- `)).slice(-K).join(`
447
- `)}function hJ($,H){if(H==="debug")return $;return $.flatMap((K)=>{if(K.kind==="thinking"){if(H==="minimal")return[];if(K.durationSec==null)return[];return[{...K,content:""}]}return[K]})}import{jsxDEV as XV}from"react/jsx-dev-runtime";g();import{Box as qO,Text as NO}from"ink";import{useEffect as FO,useRef as zV,useState as PO}from"react";import{jsxDEV as Sz}from"react/jsx-dev-runtime";var Iz=process.platform==="darwin"?["·","✢","✳","∗","✻","✽"]:["·","✢","*","∗","✻","✽"],qV=L7.map(($)=>$.present);function fH(){let $=[...Iz,...[...Iz].reverse()],[H,K]=PO(0);return FO(()=>{let J=setInterval(()=>{K((Z)=>(Z+1)%$.length)},120);return()=>clearInterval(J)},[$.length]),Sz(qO,{flexWrap:"nowrap",height:1,width:2,children:Sz(NO,{color:L().colors.primary,children:$[H]},void 0,!1,void 0,this)},void 0,!1,void 0,this)}g();import{useEffect as AO,useRef as DJ,useState as VJ}from"react";import{Box as X6,Text as m1,useInput as bz}from"ink";import{loginWithGitHubCopilotDeviceFlow as OO}from"@aria-cli/auth";import{jsxDEV as i0}from"react/jsx-dev-runtime";function cJ({provider:$,profileLabel:H,onCancel:K,isActive:J=!0,onComplete:Z,verificationUri:X,userCode:Q,onApprove:G}){let Y=L(),[z,W]=VJ("starting"),[F,q]=VJ(""),[A,U]=VJ(null),R=DJ(!1),I=DJ(!1),S=DJ(null),C=process.stdin.isTTY??!1;return bz((w,B)=>{if(!Q0(w,B))return;S.current?.abort(),K()},{isActive:J&&C}),bz((w,B)=>{if(!(B.return||w==="\r"))return;if(!X||!Q||!G)return;W("starting"),Promise.resolve(G()).catch((y)=>{let M=y instanceof Error?y.message:String(y);q(M),W("error")})},{isActive:J&&C}),AO(()=>{if(R.current)return;if(R.current=!0,X&&Q&&G){U({verificationUri:X,userCode:Q,expiresAt:Date.now()+300000,intervalMs:5000}),W("waiting");return}let w=new AbortController;return S.current=w,W("starting"),OO({profileLabel:H,signal:w.signal,onDeviceCode:(B)=>{U(B),W("waiting")}}).then((B)=>{if(I.current||w.signal.aborted)return;if(B.success)W("success"),I.current=!0,setTimeout(()=>{Z?.({success:!0,message:B.message})},1000);else q(B.message),W("error")},(B)=>{if(I.current||w.signal.aborted)return;let y=B instanceof Error?B.message:String(B);q(y),W("error")}),()=>{w.abort()}},[G,Z,H,Q,X]),i0(X6,{flexDirection:"column",borderStyle:"round",borderColor:Y.colors.secondary,paddingX:1,paddingY:1,width:64,children:[i0(X6,{marginBottom:1,children:i0(m1,{bold:!0,children:["Sign in to ",$]},void 0,!0,void 0,this)},void 0,!1,void 0,this),H&&i0(X6,{marginBottom:1,children:i0(m1,{color:Y.colors.textMuted,children:["Profile: github-copilot:",H]},void 0,!0,void 0,this)},void 0,!1,void 0,this),z==="starting"&&i0(X6,{gap:1,children:[i0(fH,{},void 0,!1,void 0,this),i0(m1,{children:"Requesting GitHub device code..."},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z==="waiting"&&A&&i0(X6,{flexDirection:"column",children:[i0(m1,{children:"Authorize this device in your browser:"},void 0,!1,void 0,this),i0(X6,{marginTop:1,children:i0(m1,{color:Y.colors.primary,children:A.verificationUri},void 0,!1,void 0,this)},void 0,!1,void 0,this),i0(X6,{marginTop:1,children:i0(m1,{children:["Code: ",i0(m1,{bold:!0,children:A.userCode},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),i0(X6,{marginTop:1,gap:1,children:[i0(fH,{},void 0,!1,void 0,this),i0(m1,{children:X&&Q&&G?"Press Enter after approving in GitHub, or Esc to cancel.":"Waiting for GitHub authorization..."},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z==="success"&&i0(m1,{color:Y.colors.success,children:["✓"," Logged in to ",$]},void 0,!0,void 0,this),z==="error"&&i0(X6,{flexDirection:"column",children:[i0(m1,{color:Y.colors.error,children:["✗"," ",F]},void 0,!0,void 0,this),i0(X6,{marginTop:1,children:i0(m1,{color:Y.colors.textMuted,children:"Press Esc to dismiss"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z!=="success"&&z!=="error"&&i0(X6,{marginTop:1,children:i0(m1,{color:Y.colors.textMuted,children:"Esc Cancel"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}g();import{useRef as kz,useState as UO}from"react";import{Box as $4,Text as RH,useInput as LO}from"ink";import{jsxDEV as Q6}from"react/jsx-dev-runtime";function fO({status:$}){let H=L();if($==="connected")return Q6(RH,{color:H.colors.success,children:["✓"," available"]},void 0,!0,void 0,this);return Q6(RH,{color:H.colors.textMuted,children:["·"," requires login"]},void 0,!0,void 0,this)}function EJ({options:$,onSelect:H,onCancel:K,isActive:J=!0}){let Z=L(),[X,Q]=UO(0),G=kz(0),Y=kz(!1),z=process.stdin.isTTY??!1,W=(F)=>{Q((q)=>{let A=F(q);return G.current=A,A})};return LO((F,q)=>{if(Y.current)return;if(q.upArrow)W((A)=>Math.max(0,A-1));else if(q.downArrow)W((A)=>Math.min($.length-1,A+1));else if(q.return)Y.current=!0,H($[G.current]);else if(Q0(F,q))Y.current=!0,K()},{isActive:J&&z}),Q6($4,{flexDirection:"column",borderStyle:"round",borderColor:Z.colors.secondary,paddingX:1,paddingY:1,width:72,children:[Q6($4,{marginBottom:1,children:Q6(RH,{bold:!0,children:"Select GitHub Copilot login source:"},void 0,!1,void 0,this)},void 0,!1,void 0,this),$.map((F,q)=>{let A=q===X,U=A?"▸":" ";return Q6($4,{gap:1,children:[Q6(RH,{color:A?Z.colors.primary:void 0,children:U},void 0,!1,void 0,this),Q6(RH,{color:A?Z.colors.primary:void 0,bold:A,children:F.label.padEnd(44)},void 0,!1,void 0,this),Q6(fO,{status:F.status},void 0,!1,void 0,this)]},F.id,!0,void 0,this)}),Q6($4,{marginTop:1,children:Q6(RH,{color:Z.colors.textMuted,children:["↑↓"," Navigate Enter Select Esc Cancel"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}g();import{useState as H4,useEffect as RO,useRef as gz,useCallback as yO}from"react";import{Box as K4,Text as W$,useInput as BO,useStdout as MO}from"ink";import wO from"gradient-string";import{jsxDEV as S1}from"react/jsx-dev-runtime";var CO=` · ·
448
- · ·
449
- ( \uD83E\uDD8B )
450
- · ·
451
- · ·`,vz=` █████╗ ██████╗ ██╗ █████╗
452
- ██╔══██╗██╔══██╗██║██╔══██╗
453
- ███████║██████╔╝██║███████║
454
- ██╔══██║██╔══██╗██║██╔══██║
455
- ██║ ██║██║ ██║██║██║ ██║
456
- ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═╝`,IO="─────────────────",SO="A R I A",bO="─────────────────",kO="✦ Adaptive Reasoning Intelligence Agent ✦";function jJ({onComplete:$,skipAnimation:H=!1,version:K="dev",whatsNew:J=[]}){let Z=L(),{stdout:X}=MO(),Q=X?.columns||80,[G,Y]=H4(H?"complete":"butterfly"),[z,W]=H4(H),[F,q]=H4(H),[A,U]=H4(H),R=gz(!1),I=gz([]),S=yO(()=>{if(!R.current)R.current=!0,$()},[$]);BO(()=>{if(G!=="complete")I.current.forEach(clearTimeout),I.current=[],Y("complete"),W(!0),q(!0),U(!0),S()}),RO(()=>{if(H){S();return}let B=[];return B.push(setTimeout(()=>{Y("logo"),W(!0)},400)),B.push(setTimeout(()=>{Y("gradient"),U(!0)},800)),B.push(setTimeout(()=>{Y("tagline"),q(!0)},1200)),B.push(setTimeout(()=>{Y("complete"),S()},1600)),I.current=B,()=>{B.forEach(clearTimeout)}},[H,S]);let C=wO([Z.banner.gradient.start,Z.banner.gradient.middle,Z.banner.gradient.end]),w=()=>{if(!z)return null;if(A)return C(vz);return vz};return S1(K4,{flexDirection:"column",alignItems:"center",width:Q,paddingY:1,children:[S1(W$,{color:Z.colors.primary,children:CO},void 0,!1,void 0,this),z&&S1(W$,{children:w()},void 0,!1,void 0,this),F&&S1(K4,{flexDirection:"column",alignItems:"center",children:[S1(W$,{dimColor:!0,children:IO},void 0,!1,void 0,this),S1(W$,{bold:!0,children:SO},void 0,!1,void 0,this),S1(W$,{dimColor:!0,children:bO},void 0,!1,void 0,this),S1(W$,{color:Z.colors.primary,children:kO},void 0,!1,void 0,this)]},void 0,!0,void 0,this),F&&S1(K4,{marginTop:1,children:S1(W$,{dimColor:!0,children:["v",K]},void 0,!0,void 0,this)},void 0,!1,void 0,this),F&&J.length>0&&S1(K4,{flexDirection:"column",alignItems:"center",marginTop:1,children:[S1(W$,{bold:!0,color:Z.colors.secondary,children:"What's New"},void 0,!1,void 0,this),J.map((B,y)=>S1(W$,{dimColor:!0,children:["• ",B]},y,!0,void 0,this))]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}g();import{Box as jV,Text as mV,useStdout as dV}from"ink";import{jsxDEV as xV}from"react/jsx-dev-runtime";g();import{Box as aV,Text as nV}from"ink";import{jsxDEV as sV}from"react/jsx-dev-runtime";g();import{useState as Hc,useRef as Kc}from"react";import{Box as Zc,Text as Xc,useInput as Qc}from"ink";import{jsxDEV as _c}from"react/jsx-dev-runtime";g();import{useState as vO,useRef as Tz}from"react";import{Box as c7,Text as X8,useInput as TO}from"ink";import{AUTONOMY_LEVELS as J4}from"@aria-cli/aria";import{jsxDEV as d1}from"react/jsx-dev-runtime";var hO={minimal:"Confirm all tool calls",balanced:"Confirm dangerous only",high:"Auto-approve everything",full:"Auto-approve everything"};function mJ({currentLevel:$,onSelect:H,onCancel:K,isActive:J=!0}){let Z=L(),X=J4.indexOf($),Q=X>=0?X:0,[G,Y]=vO(Q),z=Tz(Q),W=Tz(!1),F=(A)=>{Y((U)=>{let R=A(U);return z.current=R,R})},q=process.stdin.isTTY??!1;return TO((A,U)=>{if(W.current)return;if(U.upArrow)F((R)=>Math.max(0,R-1));else if(U.downArrow)F((R)=>Math.min(J4.length-1,R+1));else if(U.return)W.current=!0,H(J4[z.current]);else if(Q0(A,U))W.current=!0,K()},{isActive:J&&q}),d1(c7,{flexDirection:"column",borderStyle:"round",borderColor:Z.colors.secondary,paddingX:1,paddingY:1,width:48,children:[d1(c7,{marginBottom:1,children:d1(X8,{bold:!0,children:"Autonomy Level"},void 0,!1,void 0,this)},void 0,!1,void 0,this),d1(c7,{marginBottom:1,children:d1(X8,{children:["Current: ",d1(X8,{bold:!0,children:$},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),J4.map((A,U)=>{let R=U===G,I=R?"●":"○",S=A==="high"||A==="full";return d1(c7,{gap:1,children:[d1(X8,{color:R?Z.colors.primary:void 0,children:I},void 0,!1,void 0,this),d1(X8,{color:R?Z.colors.primary:S?Z.colors.warning:void 0,bold:R,children:A.padEnd(10)},void 0,!1,void 0,this),d1(X8,{color:Z.colors.textMuted,children:hO[A]},void 0,!1,void 0,this)]},A,!0,void 0,this)}),d1(c7,{marginTop:1,children:d1(X8,{color:Z.colors.textMuted,children:["↑↓"," Navigate Enter Select Esc Cancel"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}g();import{Box as yc,Text as Bc}from"ink";import{jsxDEV as Cc}from"react/jsx-dev-runtime";g();import{Box as Z4,Text as Q8}from"ink";import{jsxDEV as G6}from"react/jsx-dev-runtime";var DO=1,VO=20,dJ={model_call:"model_call",tool_execution:"tool_exec",handoff:"handoff",approval:"approval",session_phase:"session",runner_phase:"runner"};function cO($){if($<1000)return`${Math.round($)}ms`;if($<60000)return`${($/1000).toFixed(1)}s`;let H=Math.floor($/60000),K=Math.round($%60000/1000);return`${H}m ${K}s`}function hz($,H,K){let J=Math.round(H*$),Z=Math.max(DO,Math.round(K*$)),X=Math.max(0,$-J-Z);return"░".repeat(J)+"█".repeat(Z)+"░".repeat(X)}function pJ({spans:$,width:H}){let K=L(),J=H??VO,Z=$.filter((W)=>W.endTime!==void 0||W.durationMs!==void 0);if(Z.length===0)return G6(Z4,{children:G6(Q8,{dimColor:!0,children:"(no completed spans)"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let X=Z.map((W)=>{let F=W.durationMs??W.endTime-W.startTime,q=W.endTime??W.startTime+F;return{...W,durationMs:F,endTime:q}}),Q=Math.min(...X.map((W)=>W.startTime)),Y=Math.max(...X.map((W)=>W.endTime))-Q;if(Y<=0)return G6(Z4,{flexDirection:"column",children:X.map((W)=>G6(Q8,{dimColor:!0,children:[dJ[W.spanType]??W.spanType," ","█"," 0ms (",W.name,")"]},W.spanId,!0,void 0,this))},void 0,!1,void 0,this);let z=Math.max(...X.map((W)=>{let F=dJ[W.spanType]??W.spanType;return(W.parentSpanId!==void 0?2:0)+F.length}));return G6(Z4,{flexDirection:"column",children:X.map((W)=>{let F=W.parentSpanId!==void 0,q=F?" ":"",A=dJ[W.spanType]??W.spanType,U=(q+A).padEnd(z),R=(W.startTime-Q)/Y,I=W.durationMs/Y,S=hz(J,R,I),C=cO(W.durationMs),w=W.spanType==="tool_execution"&&W.name?` (${W.name})`:"";return G6(Z4,{children:[G6(Q8,{color:K.colors.textMuted,children:[" ",U]},void 0,!0,void 0,this),G6(Q8,{children:" "},void 0,!1,void 0,this),G6(Q8,{color:F?K.colors.info:K.colors.success,children:S},void 0,!1,void 0,this),G6(Q8,{children:" "},void 0,!1,void 0,this),G6(Q8,{dimColor:!0,children:[C,w]},void 0,!0,void 0,this)]},W.spanId,!0,void 0,this)})},void 0,!1,void 0,this)}g();import{Box as Dz,Text as X4}from"ink";import{jsxDEV as yH}from"react/jsx-dev-runtime";function Vz($){if($<1000)return`${Math.round($)}ms`;return`${($/1000).toFixed(2)}s`}function lJ({report:$}){let H=L();if(!$||$.phases.length===0)return null;return yH(Dz,{flexDirection:"column",marginTop:1,children:[yH(X4,{color:H.colors.textMuted,children:[" Pipeline timing (",Vz($.totalMs),")"]},void 0,!0,void 0,this),$.phases.map((K)=>yH(Dz,{children:[yH(X4,{color:H.colors.info,children:[" ",K.phase.padEnd(24)]},void 0,!0,void 0,this),yH(X4,{color:H.colors.text,children:[" ",Vz(K.durationMs)]},void 0,!0,void 0,this),yH(X4,{color:H.colors.textMuted,children:[" (",K.pct,"%)"]},void 0,!0,void 0,this)]},`${K.phase}:${K.durationMs}`,!0,void 0,this))]},void 0,!0,void 0,this)}g();import{useRef as EO}from"react";import{Box as jO,Text as cz}from"ink";import mO from"gradient-string";import{jsxDEV as uJ}from"react/jsx-dev-runtime";var xJ=["#5f97cd","#7baed4","#97c4db","#7baed4"],Ez=process.platform==="darwin"?["·","✢","✳","∗","✻","✽"]:["·","✢","*","∗","✻","✽"];function jz($){if($<60)return`${$}s`;let H=Math.floor($/60),K=$%60;return`${H}m ${K}s`}function dO($){if($>=1000)return`${($/1000).toFixed(1)}k tokens`;return`${$} tokens`}function rJ({state:$,elapsedSeconds:H,totalTokens:K,thoughtForSeconds:J,currentVerb:Z}){let X=[...Ez,...[...Ez].reverse()],Q=Math.floor(Date.now()/120)%X.length,G=EO(n1().present),Y=Z||G.current,z=L(),W=Q%xJ.length,F=[...xJ.slice(W),...xJ.slice(0,W)],q=mO(F),A=`${X[Q]} ${Y}…`,U=q(A),R=jz(H),I=dO(K),S;if($==="thinking")S="(thinking)";else if(J&&J>0)S=`(${R} · ↓ ${I} · thought for ${jz(J)})`;else S=`(${R} · ↓ ${I} · esc to cancel)`;return uJ(jO,{flexDirection:"row",marginTop:1,children:[uJ(cz,{children:[U," "]},void 0,!0,void 0,this),uJ(cz,{color:z.colors.textMuted,children:S},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{useInput as uU}from"ink";g();import{Box as az,Text as nz}from"ink";import{useMemo as zU}from"react";import{basename as WU,extname as _U,isAbsolute as qU,resolve as $Z}from"path";g();import{Box as pO,Text as mz}from"ink";import{jsxDEV as Q4}from"react/jsx-dev-runtime";function aJ($){return $>=70?"high":$>=30?"moderate":"low"}function lO($){let H=L();switch($){case"low":return{highlightColor:H.colors.success,textColor:H.colors.primary};case"moderate":return{highlightColor:H.colors.warning,textColor:H.colors.warning};case"high":return{highlightColor:H.colors.error,textColor:H.colors.error}}}function j6($){if($===null)return L().colors.primary;let H=aJ($);return lO(H).textColor}function xO({riskScore:$}){let H=aJ($);return Q4(mz,{color:j6($),children:["Risk: ",H]},void 0,!0,void 0,this)}function Y6({title:$,riskScore:H}){return Q4(pO,{flexDirection:"column",children:[Q4(mz,{bold:!0,color:L().colors.primary,children:$},void 0,!1,void 0,this),H!==null&&Q4(xO,{riskScore:H},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function m6($,H){}import{existsSync as rO,readFileSync as aO}from"fs";import{useMemo as dz}from"react";g();import{Box as nJ,Text as nO}from"ink";import{relative as iO}from"path";import{structuredPatch as uO}from"diff";function G4($,H,K,J=3){let Z=uO($,$,H,K,"","",{context:J}),X=0,Q=0,G=Z.hunks.map((Y)=>{let z=[],W=Y.oldStart,F=Y.newStart;for(let q of Y.lines){let A=q.slice(1);if(q.startsWith("+"))z.push({type:"added",content:A,newLineNo:F++}),X++;else if(q.startsWith("-"))z.push({type:"removed",content:A,oldLineNo:W++}),Q++;else z.push({type:"unchanged",content:A,oldLineNo:W++,newLineNo:F++})}return{oldStart:Y.oldStart,oldLines:Y.oldLines,newStart:Y.newStart,newLines:Y.newLines,lines:z}});return{filePath:$,hunks:G,additions:X,deletions:Q}}import{jsxDEV as E7}from"react/jsx-dev-runtime";function pz({file_path:$,new_string:H,old_string:K,verbose:J,useBorder:Z=!0,width:X}){let Q=dz(()=>rO($)?aO($,"utf8"):"",[$]),G=dz(()=>{let Y=Q.replace(K,H);return G4($,Q,Y)},[$,Q,K,H]);return E7(nJ,{flexDirection:"column",children:E7(nJ,{borderColor:L().colors.secondary,borderStyle:Z?"round":void 0,flexDirection:"column",paddingX:1,children:[E7(nJ,{paddingBottom:1,children:E7(nO,{bold:!0,children:J?$:iO(process.cwd(),$)},void 0,!1,void 0,this)},void 0,!1,void 0,this),E7(T3,{diff:G,dim:!1,width:X,showHeader:!1},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}import NU from"chalk";import{Box as QU,Text as GU}from"ink";g();import{Box as oO,Text as iJ}from"ink";import{jsxDEV as Y4}from"react/jsx-dev-runtime";var sO="❯",tO="▾",eO="✔";function lz({isFocused:$,isSelected:H,smallPointer:K,children:J}){let Z=L();return Y4(oO,{gap:1,children:[$&&Y4(iJ,{color:Z.colors.primary,children:K?tO:sO},void 0,!1,void 0,this),Y4(iJ,{color:$?Z.colors.primary:void 0,bold:H,children:J},void 0,!1,void 0,this),H&&Y4(iJ,{color:Z.colors.success,children:eO},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{isDeepStrictEqual as $U}from"node:util";import{useReducer as HU,useCallback as sJ,useMemo as KU,useState as JU,useEffect as tJ}from"react";class z4 extends Map{first;constructor($){let H=[],K,J,Z=0;for(let X of $){let Q={...X,previous:J,next:void 0,index:Z};if(J)J.next=Q;K||=Q;let G="value"in X?X.value:oJ(X);H.push([G,Q]),Z++,J=Q}super(H);this.first=K}}var ZU=($,H)=>{switch(H.type){case"focus-next-option":{if(!$.focusedValue)return $;let K=$.optionMap.get($.focusedValue);if(!K)return $;let J=K.next;while(J&&!("value"in J))J=J.next;if(!J)return $;if(!(J.index>=$.visibleToIndex))return{...$,focusedValue:J.value};let X=Math.min($.optionMap.size,$.visibleToIndex+1),Q=X-$.visibleOptionCount;return{...$,focusedValue:J.value,visibleFromIndex:Q,visibleToIndex:X}}case"focus-previous-option":{if(!$.focusedValue)return $;let K=$.optionMap.get($.focusedValue);if(!K)return $;let J=K.previous;while(J&&!("value"in J))J=J.previous;if(!J)return $;if(!(J.index<=$.visibleFromIndex))return{...$,focusedValue:J.value};let X=Math.max(0,$.visibleFromIndex-1),Q=X+$.visibleOptionCount;return{...$,focusedValue:J.value,visibleFromIndex:X,visibleToIndex:Q}}case"select-focused-option":return{...$,previousValue:$.value,value:$.focusedValue};case"reset":return H.state;case"set-focus":return{...$,focusedValue:H.value}}},eJ=($)=>$.flatMap((H)=>{if("options"in H){let K=eJ(H.options),J=K.flatMap((X)=>("value"in X)?X.value:[]);return[...H.header!==void 0?[{header:H.header,optionValues:J}]:[],...K]}return H}),xz=({visibleOptionCount:$,defaultValue:H,options:K})=>{let J=eJ(K),Z=typeof $==="number"?Math.min($,J.length):J.length,X=new z4(J),Q=X.first,G=Q&&"value"in Q?Q.value:void 0;return{optionMap:X,visibleOptionCount:Z,focusedValue:G,visibleFromIndex:0,visibleToIndex:Z,previousValue:H,value:H}},uz=({visibleOptionCount:$=5,options:H,defaultValue:K,onChange:J,onFocus:Z,focusValue:X})=>{let Q=eJ(H),[G,Y]=HU(ZU,{visibleOptionCount:$,defaultValue:K,options:H},xz),[z,W]=JU(Q);if(Q!==z&&!$U(Q,z))Y({type:"reset",state:xz({visibleOptionCount:$,defaultValue:K,options:H})}),W(Q);let F=sJ(()=>{Y({type:"focus-next-option"})},[]),q=sJ(()=>{Y({type:"focus-previous-option"})},[]),A=sJ(()=>{Y({type:"select-focused-option"})},[]),U=KU(()=>{return Q.map((R,I)=>({...R,index:I})).slice(G.visibleFromIndex,G.visibleToIndex)},[Q,G.visibleFromIndex,G.visibleToIndex]);return tJ(()=>{if(G.value&&G.previousValue!==G.value)J?.(G.value)},[G.previousValue,G.value,H,J]),tJ(()=>{if(G.focusedValue)Z?.(G.focusedValue)},[G.focusedValue,Z]),tJ(()=>{if(X)Y({type:"set-focus",value:X})},[X]),{focusedValue:G.focusedValue,visibleFromIndex:G.visibleFromIndex,visibleToIndex:G.visibleToIndex,value:G.value,visibleOptions:U,focusNextOption:F,focusPreviousOption:q,selectFocusedOption:A}};import{useInput as XU}from"ink";var rz=({isDisabled:$=!1,state:H})=>{XU((K,J)=>{if(J.downArrow)H.focusNextOption();if(J.upArrow)H.focusPreviousOption();if(J.return)H.selectFocusedOption()},{isActive:!$})};g();import{jsxDEV as W4,Fragment as YU}from"react/jsx-dev-runtime";var oJ=($)=>`HEADER-${$.optionValues.join(",")}`;function z6({isDisabled:$=!1,visibleOptionCount:H=5,highlightText:K,options:J,defaultValue:Z,onChange:X,onFocus:Q,focusValue:G}){let Y=uz({visibleOptionCount:H,options:J,defaultValue:Z,onChange:X,onFocus:Q,focusValue:G});rz({isDisabled:$,state:Y});let z=L();return W4(QU,{flexDirection:"column",children:Y.visibleOptions.map((W)=>{let F="value"in W?W.value:oJ(W),q=!$&&Y.focusedValue!==void 0&&("value"in W?Y.focusedValue===W.value:W.optionValues.includes(Y.focusedValue)),A=!!Y.value&&("value"in W?Y.value===W.value:W.optionValues.includes(Y.value)),U="header"in W,R="label"in W?W.label:W.header,I=R;if(K&&R.includes(K)){let S=R.indexOf(K);I=W4(YU,{children:[R.slice(0,S),W4(GU,{color:z.colors.primary,bold:!0,children:K},void 0,!1,void 0,this),R.slice(S+K.length)]},void 0,!0,void 0,this)}return W4(lz,{isFocused:q,isSelected:A,smallPointer:U,children:I},F,!1,void 0,this)})},void 0,!1,void 0,this)}import{jsxDEV as G8}from"react/jsx-dev-runtime";function FU($){return(qU($)?$Z($):$Z(process.cwd(),$)).startsWith($Z(process.cwd()))}function PU($){let H=FU($)?[{label:"Yes, and don't ask again this session",value:"yes-dont-ask-again"}]:[];return[{label:"Yes",value:"yes"},...H,{label:`No, and provide instructions (${NU.bold.hex(L().colors.warning)("esc")})`,value:"no"}]}function iz({toolUseConfirm:$,onDone:H,verbose:K}){let{columns:J}=f9(),{file_path:Z,new_string:X,old_string:Q}=$.input,G=zU(()=>({completion_type:"str_replace_single",language_name:AU(Z)}),[Z]);return m6($,G),G8(az,{flexDirection:"column",borderStyle:"round",borderColor:j6($.riskScore),marginTop:1,paddingLeft:1,paddingRight:1,paddingBottom:1,children:[G8(Y6,{title:"Edit file",riskScore:$.riskScore},void 0,!1,void 0,this),G8(pz,{file_path:Z,new_string:X,old_string:Q,verbose:K,width:J-12},void 0,!1,void 0,this),G8(az,{flexDirection:"column",children:[G8(nz,{children:["Do you want to make this edit to ",G8(nz,{bold:!0,children:WU(Z)},void 0,!1,void 0,this),"?"]},void 0,!0,void 0,this),G8(z6,{options:PU(Z),onChange:(Y)=>{switch(Y){case"yes":H(),$.onAllow("temporary");break;case"yes-dont-ask-again":H(),$.onAllow("permanent");break;case"no":H(),$.onReject();break}}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function AU($){let H=_U($);return H?H.slice(1):"unknown"}import{Box as HZ,Text as KZ}from"ink";import{useMemo as UU}from"react";g();import j7 from"chalk";g();function OU($){let K=$.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,"");if(/&&|\|\||[;|]/.test(K))return!0;if(/`/.test(K))return!0;if(/\$\(/.test(K))return!0;return!1}function oz({toolUseConfirm:$,command:H}){let K=!OU(H)&&$.commandPrefix&&!$.commandPrefix.commandInjectionDetected,J=m7($),Z=K&&J!==null,X=[];if(Z)X=[{label:`Yes, and don't ask again for ${j7.bold(J)} commands in ${j7.bold(process.cwd())}`,value:"yes-dont-ask-again-prefix"}];else if(K)X=[{label:`Yes, and don't ask again for ${j7.bold(H)} commands in ${j7.bold(process.cwd())}`,value:"yes-dont-ask-again-full"}];return[{label:"Yes",value:"yes"},...X,{label:`No, and provide instructions (${j7.bold.hex(L().colors.warning)("esc")})`,value:"no"}]}import{jsxDEV as J3}from"react/jsx-dev-runtime";function sz({toolUseConfirm:$,onDone:H}){let K=L(),{command:J}=$.tool.inputSchema.parse($.input),Z=UU(()=>({completion_type:"tool_use_single",language_name:"none"}),[]);return m6($,Z),J3(HZ,{flexDirection:"column",borderStyle:"round",borderColor:K.colors.primary,marginTop:1,paddingLeft:1,paddingRight:1,paddingBottom:1,children:[J3(Y6,{title:"Bash command",riskScore:$.riskScore},void 0,!1,void 0,this),J3(HZ,{flexDirection:"column",paddingX:2,paddingY:1,children:[J3(KZ,{children:$.tool.renderToolUseMessage({command:J},{verbose:!1})},void 0,!1,void 0,this),J3(KZ,{color:K.colors.textMuted,children:$.description},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J3(HZ,{flexDirection:"column",children:[J3(KZ,{children:"Do you want to proceed?"},void 0,!1,void 0,this),J3(z6,{options:oz({toolUseConfirm:$,command:J}),onChange:(X)=>{switch(X){case"yes":$.onAllow("temporary"),H();break;case"yes-dont-ask-again-prefix":{if(m7($)!==null)$.onAllow("permanent"),H();break}case"yes-dont-ask-again-full":$.onAllow("permanent"),H();break;case"no":$.onReject(),H();break}}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}g();import{Box as JZ,Text as _4}from"ink";import{useMemo as LU}from"react";import ZZ from"chalk";import{jsxDEV as _$}from"react/jsx-dev-runtime";function q4({toolUseConfirm:$,onDone:H,verbose:K}){let J=L(),Z=$.tool.userFacingName($.input),X=Z.endsWith(" (MCP)")?Z.slice(0,-6):Z,Q=LU(()=>({completion_type:"tool_use_single",language_name:"none"}),[]);return m6($,Q),_$(JZ,{flexDirection:"column",borderStyle:"round",borderColor:j6($.riskScore),marginTop:1,paddingLeft:1,paddingRight:1,paddingBottom:1,children:[_$(Y6,{title:"Tool use",riskScore:$.riskScore},void 0,!1,void 0,this),_$(JZ,{flexDirection:"column",paddingX:2,paddingY:1,children:[_$(_4,{children:[X,"(",$.tool.renderToolUseMessage($.input,{verbose:K}),")",Z.endsWith(" (MCP)")?_$(_4,{color:J.colors.textMuted,children:" (MCP)"},void 0,!1,void 0,this):""]},void 0,!0,void 0,this),_$(_4,{color:J.colors.textMuted,children:$.description},void 0,!1,void 0,this)]},void 0,!0,void 0,this),_$(JZ,{flexDirection:"column",children:[_$(_4,{children:"Do you want to proceed?"},void 0,!1,void 0,this),_$(z6,{options:[{label:"Yes",value:"yes"},{label:`Yes, and don't ask again for ${ZZ.bold(X)} commands in ${ZZ.bold(process.cwd())}`,value:"yes-dont-ask-again"},{label:`No, and provide instructions (${ZZ.bold.hex(L().colors.warning)("esc")})`,value:"no"}],onChange:(G)=>{switch(G){case"yes":$.onAllow("temporary"),H();break;case"yes-dont-ask-again":$.onAllow("permanent"),H();break;case"no":$.onReject(),H();break}}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}g();import{Box as QZ,Text as $W}from"ink";import{useMemo as HW}from"react";import{basename as wU,extname as CU}from"path";import{existsSync as IU}from"fs";import SU from"chalk";import{existsSync as fU,readFileSync as RU}from"fs";import{useMemo as XZ}from"react";g();import{Box as tz,Text as yU}from"ink";import{extname as BU,relative as MU}from"path";import{jsxDEV as d7}from"react/jsx-dev-runtime";function ez({file_path:$,content:H,verbose:K,width:J}){let Z=XZ(()=>fU($),[$]),X=XZ(()=>{if(!Z)return"";return RU($,"utf8")},[$,Z]),Q=XZ(()=>{if(!Z)return null;return G4($,X,H)},[Z,$,X,H]);return d7(tz,{borderColor:L().colors.secondary,borderStyle:"round",flexDirection:"column",paddingX:1,children:[d7(tz,{paddingBottom:1,children:d7(yU,{bold:!0,children:K?$:MU(process.cwd(),$)},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q?d7(T3,{diff:Q,dim:!1,width:J,showHeader:!1},void 0,!1,void 0,this):d7(s1,{code:H||"(No content)",language:BU($).slice(1)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{jsxDEV as Z3}from"react/jsx-dev-runtime";function KW({toolUseConfirm:$,onDone:H,verbose:K}){let{file_path:J,content:Z}=$.input,X=HW(()=>IU(J),[J]),Q=HW(()=>({completion_type:"write_file_single",language_name:bU(J)}),[J]),{columns:G}=f9();return m6($,Q),Z3(QZ,{flexDirection:"column",borderStyle:"round",borderColor:j6($.riskScore),marginTop:1,paddingLeft:1,paddingRight:1,paddingBottom:1,children:[Z3(Y6,{title:`${X?"Edit":"Create"} file`,riskScore:$.riskScore},void 0,!1,void 0,this),Z3(QZ,{flexDirection:"column",children:Z3(ez,{file_path:J,content:Z,verbose:K,width:G-12},void 0,!1,void 0,this)},void 0,!1,void 0,this),Z3(QZ,{flexDirection:"column",children:[Z3($W,{children:["Do you want to ",X?"make this edit to":"create"," ",Z3($W,{bold:!0,children:wU(J)},void 0,!1,void 0,this),"?"]},void 0,!0,void 0,this),Z3(z6,{options:[{label:"Yes",value:"yes"},{label:"Yes, and don't ask again this session",value:"yes-dont-ask-again"},{label:`No, and provide instructions (${SU.bold.hex(L().colors.warning)("esc")})`,value:"no"}],onChange:(Y)=>{switch(Y){case"yes":$.onAllow("temporary"),H();break;case"yes-dont-ask-again":$.onAllow("permanent"),H();break;case"no":$.onReject(),H();break}}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function bU($){let H=CU($);return H?H.slice(1):"unknown"}g();import{Box as GZ,Text as JW}from"ink";import{useMemo as kU}from"react";import gU from"chalk";import{isAbsolute as vU,resolve as ZW}from"path";import{jsxDEV as q$}from"react/jsx-dev-runtime";function N4($){return vU($)?ZW($):ZW(process.cwd(),$)}function TU($){return N4($).startsWith(N4(process.cwd()))}var hU=!1;function DU(){hU=!0}var VU=new Set(["Edit","file_edit","str_replace_editor","Write","file_write","create_file","Read","file_read","read_file"]),cU=new Set(["Glob","glob","Grep","grep","LS","ls"]),EU=new Set(["NotebookEdit","notebook_edit","NotebookRead","notebook_read"]),jU=new Set(["Glob","glob","Grep","grep","LS","ls"]);function mU($){let H=$.tool.name;if(VU.has(H))return"file_path";if(cU.has(H))return"path";if(EU.has(H))return"notebook_path";return null}function dU($){return jU.has($.tool.name)}function pU($){let H=mU($),K=$.input;if(H&&H in K)if(typeof K[H]==="string")return N4(K[H]);else return N4(process.cwd());return null}function XW({toolUseConfirm:$,onDone:H,verbose:K}){let J=pU($);if(!J)return q$(q4,{toolUseConfirm:$,onDone:H,verbose:K},void 0,!1,void 0,this);return q$(xU,{toolUseConfirm:$,path:J,onDone:H,verbose:K},void 0,!1,void 0,this)}function lU($,H){if($.tool.isReadOnly())return[];return TU(H)?[{label:"Yes, and don't ask again for file edits this session",value:"yes-dont-ask-again"}]:[]}function xU({toolUseConfirm:$,path:H,onDone:K,verbose:J}){let Z=$.tool.userFacingName($.input),Q=`${$.tool.isReadOnly()?"Read":"Edit"} ${dU($)?"files":"file"}`,G=kU(()=>({completion_type:"tool_use_single",language_name:"none"}),[]);return m6($,G),q$(GZ,{flexDirection:"column",borderStyle:"round",borderColor:j6($.riskScore),marginTop:1,paddingLeft:1,paddingRight:1,paddingBottom:1,children:[q$(Y6,{title:Q,riskScore:$.riskScore},void 0,!1,void 0,this),q$(GZ,{flexDirection:"column",paddingX:2,paddingY:1,children:q$(JW,{children:[Z,"(",$.tool.renderToolUseMessage($.input,{verbose:J}),")"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q$(GZ,{flexDirection:"column",children:[q$(JW,{children:"Do you want to proceed?"},void 0,!1,void 0,this),q$(z6,{options:[{label:"Yes",value:"yes"},...lU($,H),{label:`No, and provide instructions (${gU.bold.hex(L().colors.warning)("esc")})`,value:"no"}],onChange:(Y)=>{switch(Y){case"yes":$.onAllow("temporary"),K();break;case"yes-dont-ask-again":DU(),$.onAllow("permanent"),K();break;case"no":$.onReject(),K();break}}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}import{jsxDEV as sU}from"react/jsx-dev-runtime";var rU=new Set(["Edit","file_edit","str_replace_editor"]),aU=new Set(["Write","file_write","create_file"]),nU=new Set(["Bash","bash","execute_command"]),iU=new Set(["Glob","glob","Grep","grep","LS","ls","Read","file_read","read_file","NotebookRead","notebook_read","NotebookEdit","notebook_edit"]);function oU($){if(rU.has($))return iz;if(aU.has($))return KW;if(nU.has($))return sz;if(iU.has($))return XW;return q4}function m7($){return $.commandPrefix&&!$.commandPrefix.commandInjectionDetected&&$.commandPrefix.commandPrefix||null}function YZ({toolUseConfirm:$,onDone:H,verbose:K}){uU((Z,X)=>{if(X.ctrl&&Z==="c")H(),$.onReject()});let J=oU($.tool.name);return sU(J,{toolUseConfirm:$,onDone:H,verbose:K},void 0,!1,void 0,this)}import{useState as QW,useEffect as GW}from"react";import{Box as F4,Text as BH,useInput as tU}from"ink";import{jsxDEV as d6}from"react/jsx-dev-runtime";function zZ($){return/\s/.test($.trimStart())}function eU($){return $.trimStart().split(/\s+/,1)[0]??""}function WZ({commands:$,initialFilter:H="",onSelect:K,onHandOffInput:J,onCancel:Z}){let[X,Q]=QW(0),[G,Y]=QW(H),z=eU(G).toLowerCase(),W=$.filter((A)=>A.name.toLowerCase().includes(z));GW(()=>{Q((A)=>Math.min(A,Math.max(0,W.length-1)))},[W.length]),GW(()=>{if(!J||!zZ(G))return;J(`/${G}`)},[G,J]);let F=W.length>0?Math.min(X,W.length-1):0,q=process.stdin.isTTY??!1;return tU((A,U)=>{if(Q0(A,U)){Z();return}if(U.return&&zZ(G)&&J){J(`/${G}`);return}if(U.return&&W.length>0){K(W[F]);return}if(U.upArrow){Q((R)=>Math.max(0,R-1));return}if(U.downArrow){Q((R)=>Math.min(W.length-1,R+1));return}if(U.backspace||U.delete){Y((R)=>R.slice(0,-1));return}if(A&&!U.ctrl&&!U.meta){let R=G+A;if(J&&zZ(R)){J(`/${R}`);return}Y(R)}},{isActive:q}),d6(F4,{flexDirection:"column",borderStyle:"round",borderColor:"gray",paddingX:1,children:[d6(F4,{marginBottom:1,children:[d6(BH,{bold:!0,children:"Commands"},void 0,!1,void 0,this),G&&d6(BH,{dimColor:!0,children:[" /",G]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),W.map((A,U)=>d6(F4,{children:[d6(BH,{inverse:U===F,children:["/",A.name]},void 0,!0,void 0,this),d6(BH,{dimColor:!0,children:[" ",A.description]},void 0,!0,void 0,this)]},A.name,!0,void 0,this)),W.length===0&&d6(BH,{dimColor:!0,children:"No matching commands"},void 0,!1,void 0,this),d6(F4,{marginTop:1,children:d6(BH,{dimColor:!0,children:"↑↓ navigate ⏎ select esc cancel"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{useState as YW,useEffect as $L}from"react";import{Box as P4,Text as Y8,useInput as HL}from"ink";import{jsxDEV as W6}from"react/jsx-dev-runtime";function _Z({arions:$,initialFilter:H="",statusFilter:K="all",onSelect:J,onCancel:Z}){let[X,Q]=YW(0),[G,Y]=YW(H),z=$.filter((q)=>{if(K==="active"&&q.isResting)return!1;if(K==="resting"&&!q.isResting)return!1;return q.name.toLowerCase().includes(G.toLowerCase())});$L(()=>{Q((q)=>Math.min(q,Math.max(0,z.length-1)))},[z.length]);let W=z.length>0?Math.min(X,z.length-1):0,F=process.stdin.isTTY??!1;return HL((q,A)=>{if(Q0(q,A)){Z();return}if(A.return&&z.length>0){J(z[W]);return}if(A.upArrow){Q((U)=>Math.max(0,U-1));return}if(A.downArrow){Q((U)=>Math.min(z.length-1,U+1));return}if(A.backspace||A.delete){Y((U)=>U.slice(0,-1));return}if(q&&!A.ctrl&&!A.meta)Y((U)=>U+q)},{isActive:F}),W6(P4,{flexDirection:"column",borderStyle:"round",borderColor:"gray",paddingX:1,children:[W6(P4,{marginBottom:1,children:[W6(Y8,{bold:!0,children:K==="active"?"Active Arions":K==="resting"?"Resting Arions":"Arions"},void 0,!1,void 0,this),G&&W6(Y8,{dimColor:!0,children:[" @",G]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z.length===0&&W6(Y8,{dimColor:!0,children:$.length===0?"No arions available. Create one with /hatch":K==="active"?"No active arions":K==="resting"?"No resting arions":"No matching arions"},void 0,!1,void 0,this),z.map((q,A)=>{let U=G7(q.color),R=q.isActive?" (active)":q.isResting?" (resting)":"";return W6(P4,{children:[W6(Y8,{inverse:A===W,children:[q.emoji," ",W6(Y8,{color:U,children:q.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this),W6(Y8,{dimColor:!0,children:[" ",q.description,R]},void 0,!0,void 0,this)]},q.name,!0,void 0,this)}),W6(P4,{marginTop:1,children:W6(Y8,{dimColor:!0,children:"↑↓ navigate ⏎ select esc cancel"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{useState as qZ,useEffect as KL,useMemo as JL}from"react";import{Box as X3,Text as r9,useInput as ZL}from"ink";import{jsxDEV as $9}from"react/jsx-dev-runtime";var XL={anthropic:"Anthropic","openai-codex":"OpenAI Codex",google:"Google",bedrock:"AWS Bedrock","bedrock-converse":"AWS Bedrock (Converse)","github-copilot":"GitHub Copilot",openai:"OpenAI",local:"Local"},zW=["anthropic","openai-codex","google","bedrock","bedrock-converse","github-copilot","openai","local"];function QL($){return XL[$]||$}function WW($){let H=zW.indexOf($);return H>=0?H:zW.length}function GL($,H,K){let J=new Map;for(let Q of $){let G=Q.provider||"other",Y=J.get(G)??[];Y.push(Q),J.set(G,Y)}let Z={powerful:0,balanced:1,fast:2,ensemble:3},X=[...J.entries()].sort(([Q],[G])=>WW(Q)-WW(G));for(let[Q,G]of X){H.push({type:"header",label:QL(Q),provider:Q});let Y=(q)=>{if(!q)return"balanced";let A=q.toLowerCase();if(A.includes("deep"))return"powerful";if(A.includes("quick"))return"fast";return"balanced"},z=[/^claude-opus-|^opus-|^bedrock-opus-/,/^claude-sonnet-|^sonnet-|^bedrock-sonnet-/,/^claude-haiku-|^haiku-|^bedrock-haiku-/,/^claude-/,/^gpt-/,/^o[0-9]/,/^gemini-/],W=(q)=>{let A=q.toLowerCase();for(let U=0;U<z.length;U++)if(z[U].test(A))return U;return z.length},F=[...G].sort((q,A)=>{let U=W(q.name),R=W(A.name);if(U!==R)return U-R;return A.name.localeCompare(q.name)});for(let q of F)K.push(H.length),H.push({type:"model",model:q})}}var p7=["low","medium","high","max"],YL={low:"▌",medium:"▌▌",high:"▌▌▌",max:"▌▌▌▌"},zL={low:"Low",medium:"Medium",high:"High",max:"Max"},_W={low:"blue",medium:"cyan",high:"yellow",max:"magenta"};function NZ({models:$,initialFilter:H="",effortLevel:K,onSelect:J,onCancel:Z}){let[X,Q]=qZ(H),[G,Y]=qZ(K??"high"),W=$.filter((w)=>w.name.toLowerCase().includes(X.toLowerCase())),{items:F,selectableIndices:q}=JL(()=>{if(!W.some((M)=>M.provider))return{items:W.map((M)=>({type:"model",model:M})),selectableIndices:W.map((M,m)=>m)};let B=[],y=[];return GL(W,B,y),{items:B,selectableIndices:y}},[W]),A=q.findIndex((w)=>{let B=F[w];return B?.type==="model"&&B.model.isCurrent}),[U,R]=qZ(A>=0?A:0);KL(()=>{R((w)=>Math.min(w,Math.max(0,q.length-1)))},[q.length]);let I=q.length>0?Math.min(U,q.length-1):0,S=process.stdin.isTTY??!1;ZL((w,B)=>{if(Q0(w,B)){Z();return}if(B.return&&q.length>0){let y=q[I],M=F[y];if(M.type==="model")J(M.model,G);return}if(B.leftArrow){Y((y)=>{let M=p7.indexOf(y);return p7[Math.max(0,M-1)]});return}if(B.rightArrow){Y((y)=>{let M=p7.indexOf(y);return p7[Math.min(p7.length-1,M+1)]});return}if(B.upArrow){R((y)=>Math.max(0,y-1));return}if(B.downArrow){R((y)=>Math.min(q.length-1,y+1));return}if(B.backspace||B.delete){Q((y)=>y.slice(0,-1));return}if(w&&!B.ctrl&&!B.meta)Q((y)=>y+w)},{isActive:S});let C=q.length>0?` [${I+1}/${q.length}]`:"";return $9(X3,{flexDirection:"column",borderStyle:"round",borderColor:"gray",paddingX:1,children:[$9(X3,{marginBottom:1,children:[$9(r9,{bold:!0,children:"Model"},void 0,!1,void 0,this),$9(r9,{dimColor:!0,children:C},void 0,!1,void 0,this),$9(r9,{children:" "},void 0,!1,void 0,this),X?$9(r9,{color:"cyan",children:X},void 0,!1,void 0,this):$9(r9,{dimColor:!0,children:"Type to search..."},void 0,!1,void 0,this)]},void 0,!0,void 0,this),W.length===0&&$9(r9,{dimColor:!0,children:"No matching models"},void 0,!1,void 0,this),(()=>{let w=F.reduce((B,y)=>{if(y.type!=="model")return B;return Math.max(B,y.model.name.length)},0);return F.map((B,y)=>{if(B.type==="header"){let _9=RQ(B.provider);return $9(X3,{marginTop:y>0?1:0,children:[$9(r9,{color:_9.color,children:[_9.icon," "]},void 0,!0,void 0,this),$9(r9,{bold:!0,color:_9.color,children:B.label},void 0,!1,void 0,this)]},`header-${B.label}-${y}`,!0,void 0,this)}if(B.type==="hint")return $9(X3,{marginTop:1,children:$9(r9,{dimColor:!0,italic:!0,children:B.label},void 0,!1,void 0,this)},"hint",!1,void 0,this);let M=q[I]===y,m=B.model.description,G0=B.model.name.padEnd(w),y9=s5(B.model.name);return $9(X3,{children:[$9(r9,{inverse:M,color:M?void 0:y9,dimColor:M?!1:!y9,children:[B.model.isCurrent?"●":"○"," ",G0]},void 0,!0,void 0,this),m&&$9(r9,{dimColor:!0,children:[" ",B.model.description]},void 0,!0,void 0,this)]},B.model.value??`${B.model.provider}-${B.model.name}`,!0,void 0,this)})})(),$9(X3,{marginTop:1,flexDirection:"column",children:[$9(X3,{children:[$9(r9,{color:_W[G],children:[YL[G]," "]},void 0,!0,void 0,this),$9(r9,{color:_W[G],bold:!0,children:[zL[G]," effort"]},void 0,!0,void 0,this),G==="high"&&$9(r9,{dimColor:!0,children:" (default)"},void 0,!1,void 0,this),$9(r9,{dimColor:!0,children:" ← → to adjust"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),$9(X3,{marginTop:0,children:$9(r9,{dimColor:!0,children:"↑↓ navigate ← → effort ⏎ select esc cancel"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}import{useState as FZ,useEffect as WL}from"react";import{Box as MH,Text as _6,useInput as _L}from"ink";import qL from"ink-spinner";import{jsxDEV as g9}from"react/jsx-dev-runtime";function PZ({memories:$,mode:H="browse",isLoading:K=!1,onSelect:J,onCancel:Z}){let[X,Q]=FZ(0),[G,Y]=FZ(""),[z,W]=FZ(0),F=8,q=$.filter((B)=>B.content.toLowerCase().includes(G.toLowerCase())),A=Math.max(1,Math.ceil(q.length/8)),U=q.slice(z*8,(z+1)*8);WL(()=>{Q((B)=>Math.min(B,Math.max(0,U.length-1)))},[U.length]);let R=U.length>0?Math.min(X,U.length-1):0,I=process.stdin.isTTY??!1;_L((B,y)=>{if(Q0(B,y)){Z();return}if(y.return&&U.length>0&&H==="forget"){J?.(U[R]);return}if(y.upArrow){Q((M)=>Math.max(0,M-1));return}if(y.downArrow){Q((M)=>Math.min(U.length-1,M+1));return}if(y.leftArrow&&z>0){W((M)=>M-1),Q(0);return}if(y.rightArrow&&z<A-1){W((M)=>M+1),Q(0);return}if(y.backspace||y.delete){Y((M)=>M.slice(0,-1)),W(0),Q(0);return}if(B&&!y.ctrl&&!y.meta)Y((M)=>M+B),W(0),Q(0)},{isActive:I});function S(B){let y=B instanceof Date?B:new Date(B);if(isNaN(y.getTime()))return"unknown";let m=new Date().getTime()-y.getTime(),G0=Math.floor(m/86400000);if(G0===0)return"today";if(G0===1)return"yesterday";if(G0<7)return`${G0}d ago`;if(G0<30)return`${Math.floor(G0/7)}w ago`;return`${Math.floor(G0/30)}mo ago`}function C(B,y){if(B.length<=y)return B;return B.slice(0,y-3)+"..."}return g9(MH,{flexDirection:"column",borderStyle:"round",borderColor:H==="forget"?"red":"cyan",paddingX:1,children:[g9(MH,{marginBottom:1,children:[g9(_6,{bold:!0,color:H==="forget"?"red":"cyan",children:H==="forget"?"Select Memory to Delete":"Memories"},void 0,!1,void 0,this),G&&g9(_6,{dimColor:!0,children:[' (filter: "',G,'")']},void 0,!0,void 0,this),g9(_6,{dimColor:!0,children:[" - ",q.length," memories"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),K&&g9(MH,{children:[g9(_6,{color:"cyan",children:g9(qL,{type:"dots"},void 0,!1,void 0,this)},void 0,!1,void 0,this),g9(_6,{dimColor:!0,children:" Loading memories..."},void 0,!1,void 0,this)]},void 0,!0,void 0,this),!K&&q.length===0&&g9(_6,{dimColor:!0,children:$.length===0?"No memories stored yet. Use /remember to add some.":"No memories match your filter."},void 0,!1,void 0,this),!K&&U.map((B,y)=>{let M=y===R,m=S(B.createdAt),G0=C(B.content,60);return g9(MH,{flexDirection:"row",children:[g9(_6,{inverse:M,children:[M?">":" "," ",G0]},void 0,!0,void 0,this),g9(_6,{dimColor:!0,children:[" [",m,"]"]},void 0,!0,void 0,this),B.network&&g9(_6,{dimColor:!0,children:[" (",B.network,")"]},void 0,!0,void 0,this)]},B.id,!0,void 0,this)}),!K&&A>1&&g9(MH,{marginTop:1,children:g9(_6,{dimColor:!0,children:["Page ",z+1,"/",A]},void 0,!0,void 0,this)},void 0,!1,void 0,this),g9(MH,{marginTop:1,children:g9(_6,{dimColor:!0,children:H==="forget"?"type to filter arrows navigate enter delete esc cancel":"type to filter arrows navigate esc close"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{useState as AZ,useEffect as qW}from"react";import{Box as wH,Text as N$,useInput as NL}from"ink";import{jsxDEV as G1}from"react/jsx-dev-runtime";function FL($){let K=Date.now()-$.getTime(),J=Math.floor(K/60000),Z=Math.floor(K/3600000),X=Math.floor(K/86400000);if(J<1)return"just now";if(J<60)return`${J}m ago`;if(Z<24)return`${Z}h ago`;if(X<7)return`${X}d ago`;return $.toLocaleDateString()}function OZ({sessions:$,onSelect:H,onCancel:K,onSearch:J,onPageChange:Z}){let{columns:X}=f9(),[Q,G]=AZ(0),[Y,z]=AZ(""),[W,F]=AZ(0),q=8,A=Math.max(1,Math.ceil($.length/8)),U=$.slice(W*8,(W+1)*8);qW(()=>{G((w)=>Math.min(w,Math.max(0,U.length-1)))},[U.length]),qW(()=>{F((w)=>Math.min(w,Math.max(0,A-1)))},[A]);let R=U.length>0?Math.min(Q,U.length-1):0,I=process.stdin.isTTY??!1;NL((w,B)=>{if(Q0(w,B))K();else if(B.return&&U.length>0)H(U[R].id);else if(B.upArrow)G((y)=>Math.max(0,y-1));else if(B.downArrow)G((y)=>Math.min(U.length-1,y+1));else if(B.leftArrow&&W>0)F((y)=>y-1),G(0);else if(B.leftArrow&&W===0)Z?.("prev"),G(0);else if(B.rightArrow&&W<A-1)F((y)=>y+1),G(0);else if(B.rightArrow&&W===A-1)Z?.("next"),G(0);else if(B.backspace||B.delete){let y=Y.slice(0,-1);z(y),F(0),G(0),J(y)}else if(w&&!B.ctrl&&!B.meta){let y=Y+w;z(y),F(0),G(0),J(y)}},{isActive:I});function S(w,B){if(w.length<=B)return w;return w.slice(0,B-3)+"..."}let C=Math.max(30,Math.min(120,X-28));return G1(wH,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,children:[G1(wH,{marginBottom:1,children:[G1(N$,{bold:!0,color:"cyan",children:"Sessions"},void 0,!1,void 0,this),Y&&G1(N$,{dimColor:!0,children:[' (filter: "',Y,'")']},void 0,!0,void 0,this),G1(N$,{dimColor:!0,children:[" - ",$.length," sessions"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),$.length===0?G1(N$,{dimColor:!0,children:Y?"No sessions match your filter.":"No sessions yet."},void 0,!1,void 0,this):U.map((w,B)=>{let y=B===R,M=FL(w.updatedAt),m=w.title??w.preview??"Untitled session",G0=W*8+B;return G1(wH,{flexDirection:"column",marginBottom:B<U.length-1?1:0,children:[G1(wH,{flexDirection:"row",children:[G1(N$,{inverse:y,children:[y?">":" "," ",G0+1,". ",S(m,C)]},void 0,!0,void 0,this),G1(N$,{dimColor:!0,children:[" [",M,"]"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),G1(N$,{dimColor:!0,children:[" ",w.arion," | ",w.model," | ",w.messageCount," messages"]},void 0,!0,void 0,this)]},w.id,!0,void 0,this)}),$.length>0&&A>1&&G1(wH,{marginTop:1,children:G1(N$,{dimColor:!0,children:["Page ",W+1,"/",A]},void 0,!0,void 0,this)},void 0,!1,void 0,this),G1(wH,{marginTop:1,children:G1(N$,{dimColor:!0,children:"type to search arrows navigate enter resume esc cancel"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{useState as UZ,useEffect as A4,useMemo as PL}from"react";import{Box as O4,Text as Q3,useInput as AL}from"ink";import{jsxDEV as p1}from"react/jsx-dev-runtime";function OL($,H){if($.length<=H)return $;return $.slice(0,H-3)+"…"}function UL($){switch($){case"user":return"\uD83D\uDC64";case"assistant":return"\uD83E\uDD16";case"system":return"⚙️";case"tool":return"\uD83D\uDD27";default:return" "}}function LL($){switch($){case"user":return"cyan";case"assistant":return"green";case"system":return"yellow";case"tool":return"gray";default:return"white"}}function LZ({messages:$,onSelect:H,onCancel:K}){let{columns:J,rows:Z}=f9(),[X,Q]=UZ(0),[G,Y]=UZ(""),z=PL(()=>{if(!G)return $;let S=G.toLowerCase();return $.filter((C)=>C.text.toLowerCase().includes(S)||C.role.toLowerCase().includes(S)||C.arion&&C.arion.toLowerCase().includes(S))},[$,G]);A4(()=>{Q((S)=>Math.min(S,Math.max(0,z.length-1)))},[z.length]),A4(()=>{if(!G){let S=z.reduce((C,w,B)=>w.role==="user"?B:C,0);Q(S)}},[]);let W=Math.max(4,Z-10),[F,q]=UZ(0);A4(()=>{if(X<F)q(X);else if(X>=F+W)q(X-W+1)},[X,W,F]),A4(()=>{let S=z.reduce((C,w,B)=>w.role==="user"?B:C,0);q(Math.max(0,S-W+2))},[G]);let A=z.slice(F,F+W),U=z.length>0?Math.min(X,z.length-1):0,R=process.stdin.isTTY??!1;AL((S,C)=>{if(Q0(S,C))K();else if(C.return&&z.length>0){let w=z[U];if(w&&w.role==="user")H(w.index,w.text)}else if(C.upArrow)Q((w)=>Math.max(0,w-1));else if(C.downArrow)Q((w)=>Math.min(z.length-1,w+1));else if(C.backspace||C.delete){let w=G.slice(0,-1);Y(w),Q(0)}else if(S&&!C.ctrl&&!C.meta){let w=G+S;Y(w),Q(0)}},{isActive:R});let I=Math.max(30,Math.min(120,J-16));return p1(O4,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,children:[p1(O4,{marginBottom:1,children:[p1(Q3,{bold:!0,color:"cyan",children:"Edit Message"},void 0,!1,void 0,this),G?p1(Q3,{dimColor:!0,children:[" ",'(search: "',G,'") — ',z.length,"/",$.length," messages"]},void 0,!0,void 0,this):p1(Q3,{dimColor:!0,children:[" — ",$.length," messages · select a user message to edit"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),F>0&&p1(Q3,{dimColor:!0,children:[" ↑ ",F," more above"]},void 0,!0,void 0,this),z.length===0?p1(Q3,{dimColor:!0,children:G?`No messages match "${G}".`:"No messages."},void 0,!1,void 0,this):A.map((S,C)=>{let B=F+C===U,y=S.role==="user",M=UL(S.role),m=LL(S.role),G0=B?"❯":" ",y9=OL(S.text.replace(/\n/g," ").trim()||"(empty)",I);return p1(O4,{flexDirection:"row",children:p1(Q3,{inverse:B,color:B?void 0:m,dimColor:!y&&!B,bold:y,children:[G0," ",M," ",y9]},void 0,!0,void 0,this)},`${S.index}-${C}`,!1,void 0,this)}),F+W<z.length&&p1(Q3,{dimColor:!0,children:[" ↓ ",z.length-F-W," more below"]},void 0,!0,void 0,this),p1(O4,{marginTop:1,children:p1(Q3,{dimColor:!0,children:"type to search · ↑↓ navigate · enter select user message · esc cancel"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import fL,{useState as RL,useMemo as fZ}from"react";import{Box as v9,Text as $0,useInput as yL}from"ink";g();import{jsxDEV as c}from"react/jsx-dev-runtime";var BL={standard:"Standard",claude:"Claude",accessible:"Accessible"},ML=["standard","claude","accessible"];function NW($){if($.includes("daltonized")||$.includes("accessible"))return"accessible";if($.startsWith("claude-"))return"claude";return"standard"}function wL($){let H=$.colors.text.replace("#",""),K=parseInt(H.slice(0,2),16),J=parseInt(H.slice(2,4),16),Z=parseInt(H.slice(4,6),16);return(K*299+J*587+Z*114)/1000<128}function CL($){return I6().map((H)=>{let K=H2(H);return{name:H,displayName:K.displayName,isCurrent:H===$,isLight:wL(K),category:NW(H)}})}function IL({theme:$}){let H=$.colors,K=H.primary,J=H.info,Z=H.success,X=H.textMuted,Q=H.text;return c(v9,{flexDirection:"column",children:[c($0,{color:X,children:"// fetch a user by ID"},void 0,!1,void 0,this),c(v9,{children:[c($0,{color:K,children:"async function "},void 0,!1,void 0,this),c($0,{color:Q,children:"fetchUser"},void 0,!1,void 0,this),c($0,{color:Q,children:"("},void 0,!1,void 0,this),c($0,{color:Q,children:"id"},void 0,!1,void 0,this),c($0,{color:Q,children:": "},void 0,!1,void 0,this),c($0,{color:Z,children:"string"},void 0,!1,void 0,this),c($0,{color:Q,children:") {"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),c(v9,{children:[c($0,{color:Q,children:" "},void 0,!1,void 0,this),c($0,{color:K,children:"const "},void 0,!1,void 0,this),c($0,{color:Q,children:"res = "},void 0,!1,void 0,this),c($0,{color:K,children:"await "},void 0,!1,void 0,this),c($0,{color:Q,children:"fetch("},void 0,!1,void 0,this),c($0,{color:J,children:"`/api/users/${"},void 0,!1,void 0,this),c($0,{color:Q,children:"id"},void 0,!1,void 0,this),c($0,{color:J,children:"}`"},void 0,!1,void 0,this),c($0,{color:Q,children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),c(v9,{children:[c($0,{color:Q,children:" "},void 0,!1,void 0,this),c($0,{color:K,children:"if "},void 0,!1,void 0,this),c($0,{color:Q,children:"(!res.ok) "},void 0,!1,void 0,this),c($0,{color:K,children:"throw new "},void 0,!1,void 0,this),c($0,{color:Z,children:"Error"},void 0,!1,void 0,this),c($0,{color:Q,children:"("},void 0,!1,void 0,this),c($0,{color:J,children:"`HTTP ${"},void 0,!1,void 0,this),c($0,{color:Q,children:"res.status"},void 0,!1,void 0,this),c($0,{color:J,children:"}`"},void 0,!1,void 0,this),c($0,{color:Q,children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),c(v9,{children:[c($0,{color:Q,children:" "},void 0,!1,void 0,this),c($0,{color:K,children:"return "},void 0,!1,void 0,this),c($0,{color:Q,children:"res.json() "},void 0,!1,void 0,this),c($0,{color:K,children:"as "},void 0,!1,void 0,this),c($0,{color:Z,children:"Promise"},void 0,!1,void 0,this),c($0,{color:Q,children:"<"},void 0,!1,void 0,this),c($0,{color:Z,children:"User"},void 0,!1,void 0,this),c($0,{color:Q,children:">"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),c($0,{color:Q,children:"}"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function SL({theme:$}){let{colors:H,symbols:K}=$;return c(v9,{flexDirection:"column",borderStyle:"single",borderColor:H.secondary,paddingX:1,children:[c($0,{bold:!0,color:H.primary,children:[K.prompt," ",$.displayName]},void 0,!0,void 0,this),c(v9,{marginTop:1,flexDirection:"column",children:c(IL,{theme:$},void 0,!1,void 0,this)},void 0,!1,void 0,this),c(v9,{marginTop:1,flexDirection:"column",children:[c($0,{color:H.success,children:[K.success," Tests passed (3/3)"]},void 0,!0,void 0,this),c($0,{color:H.error,children:[K.error," Error: connection refused"]},void 0,!0,void 0,this),c($0,{color:H.warning,children:[K.warning," Deprecated API call"]},void 0,!0,void 0,this),c(v9,{children:c($0,{color:H.diffAdded,children:"+ const data = await fetch(url);"},void 0,!1,void 0,this)},void 0,!1,void 0,this),c(v9,{children:c($0,{color:H.diffRemoved,children:"- const data = http.get(url);"},void 0,!1,void 0,this)},void 0,!1,void 0,this),c($0,{color:H.textMuted,children:[K.info," 1.2k tokens ",K.bullet," $0.01 ",K.bullet," 0.8s"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function RZ({onSelect:$,onCancel:H}){let K=fZ(()=>L().name,[]),J=fZ(()=>CL(K),[K]),{items:Z,selectableIndices:X}=fZ(()=>{let R=[],I=[],S=new Map;for(let C of J){let w=S.get(C.category)??[];w.push(C),S.set(C.category,w)}for(let C of ML){let w=S.get(C);if(!w?.length)continue;R.push({type:"header",label:BL[C]??C});for(let B of w)I.push(R.length),R.push({type:"theme",option:B})}return{items:R,selectableIndices:I}},[J]),Q=X.findIndex((R)=>{let I=Z[R];return I?.type==="theme"&&I.option.isCurrent}),[G,Y]=RL(Q>=0?Q:0),z=X.length>0?Math.min(G,X.length-1):0,W=Z[X[z]],F=W?.type==="theme"?W.option.name:null;if(F)C6(F);let q=fL.useCallback(()=>{C6(K),H()},[K,H]),A=process.stdin.isTTY??!1;yL((R,I)=>{if(Q0(R,I)){q();return}if(I.return&&X.length>0){let S=X[z],C=Z[S];if(C.type==="theme")$({name:C.option.name,displayName:C.option.displayName});return}if(I.upArrow){Y((S)=>Math.max(0,S-1));return}if(I.downArrow){Y((S)=>Math.min(X.length-1,S+1));return}},{isActive:A});let U=L();return c(v9,{flexDirection:"column",borderStyle:"round",borderColor:U.colors.primary,paddingX:1,children:[c(v9,{marginBottom:1,children:[c($0,{bold:!0,color:U.colors.primary,children:"Theme"},void 0,!1,void 0,this),c($0,{color:U.colors.textMuted,children:[" ",U.symbols.arrow," select a color theme"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),c(v9,{children:[c(v9,{flexDirection:"column",width:38,children:Z.map((R,I)=>{if(R.type==="header")return c(v9,{marginTop:I>0?1:0,children:c($0,{bold:!0,color:U.colors.textMuted,children:R.label},void 0,!1,void 0,this)},`header-${R.label}`,!1,void 0,this);let S=X[z]===I,{option:C}=R;return c(v9,{children:c($0,{inverse:S,color:S?U.colors.primary:U.colors.text,children:[C.isCurrent?"●":"○"," ",C.displayName]},void 0,!0,void 0,this)},C.name,!1,void 0,this)})},void 0,!1,void 0,this),c(v9,{flexDirection:"column",flexGrow:1,marginLeft:2,children:c(SL,{theme:U},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),c(v9,{marginTop:1,children:c($0,{color:U.colors.textMuted,children:["↑↓"," navigate ","⏎"," select esc cancel"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}g();import{useState as FW,useEffect as bL,useMemo as kL}from"react";import{Box as yZ,Text as G3,useInput as gL}from"ink";import{jsxDEV as q6}from"react/jsx-dev-runtime";function vL($,H){let K=H.trim().toLowerCase();if(!K)return!0;return[$.displayNameSnapshot,$.nodeId,$.host,$.port?.toString(),$.principalFingerprint,$.transport,$.status].filter((Z)=>typeof Z==="string"&&Z.length>0).map((Z)=>Z.toLowerCase()).some((Z)=>Z.includes(K))}function BZ($,H){if(H<=0)return 0;return Math.min($,H-1)}function MZ({peers:$,sameHomeClientsAvailable:H=!1,onSelect:K,onCancel:J}){let[Z,X]=FW(0),[Q,G]=FW(""),Y=L(),z=kL(()=>$.filter((A)=>vL(A,Q)),[$,Q]);bL(()=>{X((A)=>BZ(A,z.length))},[z.length]);let W=BZ(Z,z.length),F=process.stdin.isTTY??!1;gL((A,U)=>{if(Q0(A,U)){J();return}if(U.return){if(z.length>0)K(z[W]);return}if(U.upArrow){X((R)=>Math.max(0,R-1));return}if(U.downArrow){X((R)=>BZ(R+1,z.length));return}if(U.backspace||U.delete){G((R)=>R.slice(0,-1)),X(0);return}if(A&&!U.ctrl&&!U.meta){G((R)=>R+A),X(0);return}},{isActive:F});let q=(A)=>`${A.slice(0,4)} ${A.slice(4,8)} ${A.slice(8,12)} ${A.slice(12,16)}`;return q6(yZ,{flexDirection:"column",borderStyle:"round",borderColor:Y.colors.secondary,paddingX:1,children:[q6(G3,{bold:!0,color:Y.colors.primary,children:[" ","Nearby Peers"," "]},void 0,!0,void 0,this),Q?q6(G3,{dimColor:!0,children:[' (filter: "',Q,'")']},void 0,!0,void 0,this):null,z.length===0&&q6(G3,{dimColor:!0,children:Q?"No peers match your filter.":H?"No peer nodes. Use /clients for same-home terminals.":"Scanning... no peers found yet"},void 0,!1,void 0,this),z.map((A,U)=>q6(yZ,{children:[q6(G3,{inverse:U===W,color:U===W?Y.colors.primary:void 0,children:[U===W?" ▸ ":" ",A.displayNameSnapshot]},void 0,!0,void 0,this),A.status==="connected"?q6(G3,{color:"green",children:" ✓ connected"},void 0,!1,void 0,this):q6(G3,{dimColor:!0,children:[" ",A.host,":",A.port]},void 0,!0,void 0,this),A.principalFingerprint?q6(G3,{color:Y.colors.secondary,children:[" ",q(A.principalFingerprint)]},void 0,!0,void 0,this):null]},`${A.displayNameSnapshot}-${A.nodeId}-${U}`,!0,void 0,this)),q6(yZ,{marginTop:z.length>0?1:0,children:q6(G3,{dimColor:!0,children:"type to search ↑↓ navigate ⏎ connect esc cancel"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}g();import{useEffect as TL,useMemo as hL,useState as PW}from"react";import{Box as wZ,Text as CH,useInput as DL}from"ink";import{jsxDEV as F$}from"react/jsx-dev-runtime";function VL($,H){let K=H.trim().toLowerCase();if(!K)return!0;return $.displayLabel.toLowerCase().includes(K)||$.clientId.toLowerCase().includes(K)||$.clientKind.toLowerCase().includes(K)}function CZ($,H){if(H<=0)return 0;return Math.min($,H-1)}function IZ({clients:$,onSelect:H,onCancel:K}){let[J,Z]=PW(0),[X,Q]=PW(""),G=L(),Y=hL(()=>$.filter((F)=>VL(F,X)),[$,X]);TL(()=>{Z((F)=>CZ(F,Y.length))},[Y.length]);let z=CZ(J,Y.length),W=process.stdin.isTTY??!1;return DL((F,q)=>{if(Q0(F,q)){K();return}if(q.return){if(Y.length>0&&!Y[z]?.self)H(Y[z]);return}if(q.upArrow){Z((A)=>Math.max(0,A-1));return}if(q.downArrow){Z((A)=>CZ(A+1,Y.length));return}if(q.backspace||q.delete){Q((A)=>A.slice(0,-1)),Z(0);return}if(F&&!q.ctrl&&!q.meta)Q((A)=>A+F),Z(0)},{isActive:W}),F$(wZ,{flexDirection:"column",borderStyle:"round",borderColor:G.colors.secondary,paddingX:1,children:[F$(CH,{bold:!0,color:G.colors.primary,children:[" ","Same-Home Clients"," "]},void 0,!0,void 0,this),X?F$(CH,{dimColor:!0,children:[' (filter: "',X,'")']},void 0,!0,void 0,this):null,Y.length===0&&F$(CH,{dimColor:!0,children:"No same-home clients found."},void 0,!1,void 0,this),Y.map((F,q)=>F$(wZ,{flexDirection:"column",children:[F$(CH,{inverse:q===z,color:q===z?G.colors.primary:void 0,children:[q===z?" ▸ ":" ",F.displayLabel]},void 0,!0,void 0,this),F$(CH,{dimColor:!0,children:[" ",F.clientId,F.self?" self · not sendable":""]},void 0,!0,void 0,this)]},`${F.clientId}-${q}`,!0,void 0,this)),F$(wZ,{marginTop:Y.length>0?1:0,children:F$(CH,{dimColor:!0,children:"type to search ↑↓ navigate ⏎ select esc cancel"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}g();import{Box as U4,Text as P$,useInput as cL}from"ink";import{jsxDEV as b1}from"react/jsx-dev-runtime";function SZ({inviteToken:$,inviteLabel:H,expiresAt:K,onClose:J}){let Z=L(),X=process.stdin.isTTY??!1;return cL((Q,G)=>{if(G.return||Q0(Q,G))J()},{isActive:X}),b1(U4,{flexDirection:"column",borderStyle:"round",borderColor:Z.colors.secondary,paddingX:1,paddingY:1,children:[b1(P$,{bold:!0,color:Z.colors.primary,children:"Internet Invite"},void 0,!1,void 0,this),H?b1(P$,{children:["Label: ",b1(P$,{bold:!0,children:H},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,K?b1(P$,{dimColor:!0,children:["Expires: ",K]},void 0,!0,void 0,this):null,b1(U4,{marginTop:1,flexDirection:"column",children:[b1(P$,{children:"Share this token:"},void 0,!1,void 0,this),b1(P$,{children:$},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b1(U4,{marginTop:1,flexDirection:"column",children:[b1(P$,{children:"Join with:"},void 0,!1,void 0,this),b1(P$,{children:`aria pairing join ${$}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b1(U4,{marginTop:1,children:b1(P$,{dimColor:!0,children:"Press Enter or Esc to close."},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}g();import{useState as EL}from"react";import{Box as L4,Text as l7,useInput as jL}from"ink";import{jsxDEV as A$}from"react/jsx-dev-runtime";function bZ({onSubmit:$,onCancel:H,error:K}){let[J,Z]=EL(""),X=L(),Q=process.stdin.isTTY??!1;return jL((G,Y)=>{if(Q0(G,Y)){H();return}if(Y.return){let z=J.trim();if(z.length>0)$(z);return}if(Y.backspace||Y.delete){Z((z)=>z.slice(0,-1));return}if(G&&!Y.ctrl&&!Y.meta)Z((z)=>z+G)},{isActive:Q}),A$(L4,{flexDirection:"column",borderStyle:"round",borderColor:X.colors.secondary,paddingX:1,paddingY:1,children:[A$(l7,{bold:!0,color:X.colors.primary,children:"Join Invite"},void 0,!1,void 0,this),A$(l7,{children:"Paste the invite token and press Enter."},void 0,!1,void 0,this),A$(L4,{marginTop:1,children:A$(l7,{children:J||" "},void 0,!1,void 0,this)},void 0,!1,void 0,this),K?A$(L4,{marginTop:1,children:A$(l7,{color:X.colors.error,children:K},void 0,!1,void 0,this)},void 0,!1,void 0,this):null,A$(L4,{marginTop:1,children:A$(l7,{dimColor:!0,children:"Type token, Enter to join, Esc to cancel."},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}g();import{useState as mL,useRef as dL}from"react";import{Box as x7,Text as z8,useInput as pL}from"ink";import{jsxDEV as l1}from"react/jsx-dev-runtime";function kZ({request:$,onAccept:H,onReject:K}){let[J,Z]=mL("accept"),X=dL(!1),Q=L(),G=process.stdin.isTTY??!1,Y=(z)=>`${z.slice(0,4)} ${z.slice(4,8)} ${z.slice(8,12)} ${z.slice(12,16)}`;return pL((z,W)=>{if(X.current)return;if(W.return){if(X.current=!0,J==="accept")H();else K();return}if(Q0(z,W)){X.current=!0,K();return}if(W.leftArrow||W.rightArrow||W.tab)Z((F)=>F==="accept"?"reject":"accept")},{isActive:G}),l1(x7,{flexDirection:"column",borderStyle:"round",borderColor:Q.colors.warning,paddingX:2,paddingY:1,children:[l1(z8,{bold:!0,color:Q.colors.warning,children:[" ","Connection Request"," "]},void 0,!0,void 0,this),l1(x7,{marginTop:1,children:l1(z8,{children:[l1(z8,{bold:!0,children:$.displayNameSnapshot??$.nodeId},void 0,!1,void 0,this)," wants to connect"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),l1(x7,{children:l1(z8,{dimColor:!0,children:["Fingerprint: ",Y($.principalFingerprint)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),l1(x7,{marginTop:1,gap:2,children:[l1(z8,{inverse:J==="accept",color:J==="accept"?Q.colors.success:void 0,children:[" ","Accept"," "]},void 0,!0,void 0,this),l1(z8,{inverse:J==="reject",color:J==="reject"?Q.colors.error:void 0,children:[" ","Reject"," "]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),l1(x7,{marginTop:1,children:l1(z8,{dimColor:!0,children:"←→ select ⏎ confirm esc reject"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}g();import{useEffect as lL,useState as xL,useRef as AW}from"react";import{Box as f4,Text as W8,useInput as uL}from"ink";import{jsxDEV as x1}from"react/jsx-dev-runtime";function rL({status:$}){let H=L();switch($){case"connected":return x1(W8,{color:H.colors.success,children:["✓"," connected"]},void 0,!0,void 0,this);case"expired":return x1(W8,{color:H.colors.error,children:["✗"," expired"]},void 0,!0,void 0,this);case"none":return x1(W8,{color:H.colors.textMuted,children:["·"," not connected"]},void 0,!0,void 0,this)}}function OW({providers:$,onSelect:H,onCancel:K,isActive:J=!0}){let Z=L(),[X,Q]=xL(0),G=AW(0),Y=AW(!1);lL(()=>{Y.current=!1,G.current=0,Q(0)},[$]);let z=(F)=>{Q((q)=>{let A=F(q);return G.current=A,A})},W=process.stdin.isTTY??!1;return uL((F,q)=>{if(Y.current)return;if(q.upArrow)z((A)=>Math.max(0,A-1));else if(q.downArrow)z((A)=>Math.min($.length-1,A+1));else if(q.return)Y.current=!0,H($[G.current]);else if(Q0(F,q))Y.current=!0,K()},{isActive:J&&W}),x1(f4,{flexDirection:"column",borderStyle:"round",borderColor:Z.colors.secondary,paddingX:1,paddingY:1,width:56,children:[x1(f4,{marginBottom:1,children:x1(W8,{bold:!0,children:"Select a provider:"},void 0,!1,void 0,this)},void 0,!1,void 0,this),$.map((F,q)=>{let A=q===X,U=A?"▸":" ";return x1(f4,{gap:1,children:[x1(W8,{color:A?Z.colors.primary:void 0,children:U},void 0,!1,void 0,this),x1(W8,{color:A?Z.colors.primary:void 0,bold:A,children:F.label.padEnd(28)},void 0,!1,void 0,this),x1(rL,{status:F.status},void 0,!1,void 0,this)]},F.id,!0,void 0,this)}),x1(f4,{marginTop:1,children:x1(W8,{color:Z.colors.textMuted,children:["↑↓"," Navigate Enter Select Esc Cancel"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}g();import{useEffect as aL,useRef as gZ,useState as R4}from"react";import{Box as N6,Text as F6,useInput as nL}from"ink";import{collectOAuthAuthorizationCode as iL,loginWithOAuth as oL}from"@aria-cli/auth";import{jsxDEV as o0}from"react/jsx-dev-runtime";function UW({provider:$,onCancel:H,isActive:K=!0,onComplete:J,authorizeUrl:Z,expectedState:X,onCodeSubmit:Q}){let G=L(),[Y,z]=R4("starting"),[W,F]=R4(""),[q,A]=R4(""),[U,R]=R4(""),I=gZ(null),S=gZ(!1),C=gZ(!1),w=process.stdin.isTTY??!1;nL((y,M)=>{if(Q0(y,M))H()},{isActive:K&&w}),aL(()=>{if(S.current)return;S.current=!0,z("waiting");let y=new Promise((m)=>{I.current=m}),M=(m)=>{F(m),z("manual")};if(Z&&Q){F(Z),iL($,{authorizeUrl:Z,expectedState:X,onManualFallback:M,manualCodePromise:y}).then(async(m)=>{if(C.current)return;z("exchanging"),await Q(m),C.current=!0,z("success")},(m)=>{if(C.current)return;let G0=m instanceof Error?m.message:String(m);A(G0),z("error")});return}oL($,{onManualFallback:M,manualCodePromise:y}).then((m)=>{if(C.current)return;if(m.success)z("success"),C.current=!0,setTimeout(()=>{J?.({success:!0,message:m.message})},1000);else A(m.message),z("error")},(m)=>{if(C.current)return;let G0=m instanceof Error?m.message:String(m);A(G0),z("error")})},[X,Z,Q,J,$]);let B=(y)=>{let M=y.trim();if(!M)return;if(z("exchanging"),I.current)I.current(M),I.current=null};return o0(N6,{flexDirection:"column",borderStyle:"round",borderColor:G.colors.secondary,paddingX:1,paddingY:1,width:64,children:[o0(N6,{marginBottom:1,children:o0(F6,{bold:!0,children:["Sign in to ",$]},void 0,!0,void 0,this)},void 0,!1,void 0,this),(Y==="starting"||Y==="waiting")&&o0(N6,{gap:1,children:[o0(fH,{},void 0,!1,void 0,this),o0(F6,{children:"Opening browser to sign in..."},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Y==="manual"&&o0(N6,{flexDirection:"column",children:[o0(F6,{children:"Open this URL in your browser:"},void 0,!1,void 0,this),o0(N6,{marginTop:1,children:o0(F6,{color:G.colors.primary,wrap:"wrap",children:W},void 0,!1,void 0,this)},void 0,!1,void 0,this),o0(N6,{marginTop:1,children:o0(F6,{children:"Paste the authorization code below:"},void 0,!1,void 0,this)},void 0,!1,void 0,this),o0(N6,{marginTop:1,children:[o0(F6,{color:G.colors.textMuted,children:"> "},void 0,!1,void 0,this),o0(KH,{value:U,onChange:R,onSubmit:B,placeholder:"paste code here",focus:K,showCursor:!0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Y==="exchanging"&&o0(N6,{gap:1,children:[o0(fH,{},void 0,!1,void 0,this),o0(F6,{children:"Exchanging code for tokens..."},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Y==="success"&&o0(F6,{color:G.colors.success,children:["✓"," Logged in to ",$]},void 0,!0,void 0,this),Y==="error"&&o0(N6,{flexDirection:"column",children:[o0(F6,{color:G.colors.error,children:["✗"," ",q]},void 0,!0,void 0,this),o0(N6,{marginTop:1,children:o0(F6,{color:G.colors.textMuted,children:"Press Esc to dismiss"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Y!=="success"&&Y!=="error"&&o0(N6,{marginTop:1,children:o0(F6,{color:G.colors.textMuted,children:"Esc Cancel"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}g();import{useEffect as sL,useRef as LW,useState as tL}from"react";import{Box as IH,Text as Y3,useInput as eL}from"ink";import{jsxDEV as Y1}from"react/jsx-dev-runtime";function $f({status:$}){let H=L();if($==="connected")return Y1(Y3,{color:H.colors.success,children:["✓"," connected"]},void 0,!0,void 0,this);if($==="available")return Y1(Y3,{color:H.colors.success,children:["✓"," available"]},void 0,!0,void 0,this);return Y1(Y3,{color:H.colors.textMuted,children:"·"},void 0,!1,void 0,this)}function SH({options:$,onSelect:H,onCancel:K,title:J="Select login method:",isActive:Z=!0}){let X=L(),[Q,G]=tL(0),Y=LW(0),z=LW(!1),W=process.stdin.isTTY??!1;sL(()=>{z.current=!1,Y.current=0,G(0)},[$]);let F=(q)=>{G((A)=>{let U=q(A);return Y.current=U,U})};return eL((q,A)=>{if(z.current)return;if(A.upArrow)F((U)=>Math.max(0,U-1));else if(A.downArrow)F((U)=>Math.min($.length-1,U+1));else if(A.return)z.current=!0,H($[Y.current]);else if(Q0(q,A))z.current=!0,K()},{isActive:Z&&W}),Y1(IH,{flexDirection:"column",borderStyle:"round",borderColor:X.colors.secondary,paddingX:1,paddingY:1,width:64,children:[Y1(IH,{marginBottom:1,children:Y1(Y3,{bold:!0,children:J},void 0,!1,void 0,this)},void 0,!1,void 0,this),$.map((q,A)=>{let U=A===Q,R=U?"▸":" ";return Y1(IH,{flexDirection:"column",children:[Y1(IH,{gap:1,children:[Y1(Y3,{color:U?X.colors.primary:void 0,children:R},void 0,!1,void 0,this),Y1(Y3,{color:U?X.colors.primary:void 0,bold:U,children:q.label},void 0,!1,void 0,this),Y1($f,{status:q.status},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q.description&&Y1(IH,{marginLeft:3,children:Y1(Y3,{color:X.colors.textMuted,dimColor:!0,children:q.description},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},q.id,!0,void 0,this)}),Y1(IH,{marginTop:1,children:Y1(Y3,{color:X.colors.textMuted,children:["↑↓"," Navigate Enter Select Esc Cancel"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{jsxDEV as Hf}from"react/jsx-dev-runtime";function fW({options:$,onSelect:H,onCancel:K,isActive:J=!0}){return Hf(SH,{options:$,onSelect:H,onCancel:K,title:"Select Anthropic login method:",isActive:J},void 0,!1,void 0,this)}g();import{useRef as Kf,useState as Jf}from"react";import{Box as u7,Text as bH,useInput as Zf}from"ink";import{jsxDEV as P6}from"react/jsx-dev-runtime";function kH({title:$,hint:H,onSubmit:K,onCancel:J,isActive:Z=!0}){let X=L(),[Q,G]=Jf(""),Y=Kf(!1),z=process.stdin.isTTY??!1;Zf((F,q)=>{if(Y.current)return;if(Q0(F,q)){Y.current=!0,J();return}if(q.return){if(Q.trim().length>0)Y.current=!0,K(Q.trim());return}if(q.backspace||q.delete){G((A)=>A.slice(0,-1));return}if(q.upArrow||q.downArrow||q.leftArrow||q.rightArrow||q.tab)return;if(F&&!q.ctrl&&!q.meta)G((A)=>A+F)},{isActive:Z&&z});let W=Q.length>0?Q.slice(0,4)+"•".repeat(Math.max(0,Q.length-4)):"";return P6(u7,{flexDirection:"column",borderStyle:"round",borderColor:X.colors.secondary,paddingX:1,paddingY:1,width:64,children:[P6(u7,{marginBottom:1,children:P6(bH,{bold:!0,children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this),H&&P6(u7,{marginBottom:1,children:P6(bH,{color:X.colors.textMuted,dimColor:!0,children:H},void 0,!1,void 0,this)},void 0,!1,void 0,this),P6(u7,{children:[P6(bH,{color:X.colors.primary,children:["▸"," "]},void 0,!0,void 0,this),P6(bH,{children:W||" "},void 0,!1,void 0,this),P6(bH,{color:X.colors.textMuted,children:"_"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),P6(u7,{marginTop:1,children:P6(bH,{color:X.colors.textMuted,children:"Enter Submit Esc Cancel"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function RW($,H,K={}){let J=K.userName||"User",Z=[],X=new Map;function Q(G,Y){for(let z of G.content)switch(z.type){case"text":{if(G.role==="user"){let W=tK(z.text);for(let F of W)if(F.type==="image"&&A2(F.dataUri))Z.push({kind:"user-image",id:`${G.id}-image-${Z.length}`,dataUri:F.dataUri,userName:J,committed:Y});else if(F.type==="text"&&F.text.length>0)Z.push({kind:"user-message",id:`${G.id}-text-${Z.length}`,text:F.text,userName:J,committed:Y})}else if(G.role==="system"&&z.text.length>0)Z.push({kind:"user-message",id:`${G.id}-text-${Z.length}`,text:z.text,userName:"System",committed:Y});else if(G.role==="assistant"&&z.text.trim())Z.push({kind:"assistant-text",id:`${G.id}-text-${Z.length}`,text:z.text,arion:G.arion?{name:G.arion.name,emoji:G.arion.emoji||"\uD83E\uDD8B",color:G.arion.color||"cyan"}:void 0,committed:Y});break}case"thinking":{if(z.content?.trim())Z.push({kind:"thinking",id:`${G.id}-thinking-${Z.length}`,content:z.content,durationSec:z.durationMs!=null?z.durationMs/1000:void 0,arion:G.arion?{name:G.arion.name,emoji:G.arion.emoji||"\uD83E\uDD8B",color:G.arion.color||"cyan"}:void 0,committed:Y});break}case"tool_use":{let W={kind:"tool-execution",id:`${G.id}-tool-${z.id}`,toolName:z.name,input:z.arguments,output:void 0,status:"pending",durationMs:void 0,usage:void 0,committed:Y};X.set(z.id,W),Z.push(W);break}case"tool_result":{let W=X.get(z.toolUseId);if(W){if(W.output=z.resultData??z.content,W.status=z.status==="error"?"error":"complete",z.status==="error")W.error=typeof z.content==="string"?z.content:"Tool error";if(z.durationMs!=null)W.durationMs=z.durationMs;if(z.usage)W.usage={inputTokens:z.usage.inputTokens??0,outputTokens:z.usage.outputTokens??0};if(!Y)W.committed=!1}break}case"handoff":{Z.push({kind:"handoff",id:`${G.id}-handoff-${Z.length}`,target:z.target,direction:z.direction==="from"?"incoming":"outgoing",committed:Y});break}case"error":{Z.push({kind:"error",id:`${G.id}-error-${Z.length}`,message:z.content,suggestion:z.suggestion,committed:Y});break}}}for(let G of $)Q(G,!0);for(let G of H)Q(G,!1);return Z}import{DEFAULT_SAFETY_CONFIG as zf}from"@aria-cli/aria";import{useReducer as Xf,useEffect as vZ,useRef as MW}from"react";var yW={kind:"idle"};function BW($,H){switch(H.type){case"STREAM_START":return{kind:"composing",verb:H.verb};case"THINKING_START":if($.kind!=="composing"&&$.kind!=="idle")return $;return{kind:"thinking",verb:H.verb,startedAt:H.startedAt};case"THINKING_END":if($.kind!=="thinking")return $;return{kind:"composing",verb:H.verb,thoughtForSeconds:H.durationSeconds};case"TOOL_START":{let K=new Map($.kind==="tool_running"?$.tools:[]);return K.set(H.callId,H.displayName),{kind:"tool_running",tools:K}}case"TOOL_END":{if($.kind!=="tool_running")return $;let K=new Map($.tools);if(K.delete(H.callId),K.size===0)return{kind:"composing",verb:H.verb};return{kind:"tool_running",tools:K}}case"STREAM_END":return{kind:"idle"};default:return $}}function wW($,H){let[K,J]=Xf(BW,yW),Z=MW(!1);vZ(()=>{if(H&&!Z.current)J({type:"STREAM_START",verb:n1()});else if(!H&&Z.current)J({type:"STREAM_END"});Z.current=H},[H]);let X=MW(null);return vZ(()=>{if($!==X.current){if(X.current!==null)J({type:"STREAM_END"});X.current=$}},[$]),vZ(()=>{if(!$)return;let Q=()=>J({type:"THINKING_START",verb:n1(),startedAt:Date.now()}),G=(W)=>J({type:"THINKING_END",verb:n1(),durationSeconds:Math.round(W.durationMs/1000)}),Y=(W)=>J({type:"TOOL_START",callId:W.id,displayName:BG(W.name,!0)}),z=(W)=>J({type:"TOOL_END",callId:W.id,verb:n1()});return $.on("thinking_start",Q),$.on("thinking_end",G),$.on("tool_start",Y),$.on("tool_result",z),()=>{$.off("thinking_start",Q),$.off("thinking_end",G),$.off("tool_start",Y),$.off("tool_result",z)}},[$]),K}function y4($){let H=typeof $.nodeId==="string"?$.nodeId.trim():"",K=typeof $.transport==="string"?$.transport:"unknown";if(H)return`node:${H}`;let J=typeof $.principalFingerprint==="string"?$.principalFingerprint.trim():"";if(J)return`principal:${J}`;return`endpoint:${K}:${$.host}:${$.port}:${$.displayNameSnapshot}`}function CW($,H){let K=new Map;for(let J of[...$,...H]){let Z=y4(J);if(!K.has(Z))K.set(Z,J)}return[...K.values()]}import{jsxDEV as a,Fragment as Wf}from"react/jsx-dev-runtime";function TZ({session:$,model:H,maxContextTokens:K,banner:J,messages:Z=[],previewMessages:X=[],isStreaming:Q=!1,queuedMessage:G,onCancelQueuedMessage:Y,responseTime:z,commands:W=[],arions:F=[],models:q=[],memories:A=[],memoryBrowserMode:U="browse",isLoadingMemories:R=!1,userName:I,metrics:S,displayMode:C="standard",displayConfig:w,showThinking:B=!0,showCosts:y=!0,showTraces:M=!1,spans:m=[],pipelineTiming:G0,activeArion:y9,onSubmit:_9,onCommand:P0,onSelectArion:h,onSelectModel:j,onSelectTheme:U0,onSelectMemory:v0,onOpenMemoryBrowser:C0,onToggleThinking:B0,onToggleCosts:B9,onToggleTraces:W1,onCycleDisplayMode:_1,sessions:u1=[],onSelectSession:K0,onLoadSessions:Z0,onSearchSessions:c0,onLoadMoreSessions:i,staticRenderEpoch:T0,openSessionOverlaySignal:Z9,openThemeOverlaySignal:_0,inputHistory:d0=[],onSaveInput:H9,obsCtx:a9,onCancel:t0,approvalRequest:U6,onApprovalChoice:c4,effortLevel:F8,showAutonomySelector:E4,autonomyLevel:e7,onAutonomySelect:cH,onAutonomyCancel:$5,onCycleAutonomy:P8,onCycleEffort:r1,loginPickerProviders:A8,onLoginProviderSelect:H5,onLoginPickerCancel:K5,copilotSourceOptions:EH,onCopilotSourceSelect:J5,onCopilotSourceCancel:B$,oauthProvider:q3,oauthAuthorizeUrl:jH,oauthExpectedState:x6,onOAuthComplete:j4,onOAuthCodeSubmit:mH,onOAuthCancel:M$,copilotDeviceProvider:dH,copilotDeviceProfileLabel:m4,copilotDeviceVerificationUri:N3,copilotDeviceUserCode:Z5,onCopilotDeviceComplete:O8,onCopilotDeviceApprove:X5,onCopilotDeviceCancel:U8,anthropicMethodOptions:pH,onAnthropicMethodSelect:L8,onAnthropicMethodCancel:Q5,anthropicKeyInputVisible:f8,onAnthropicKeySubmit:G5,onAnthropicKeyCancel:R8,anthropicSetupTokenVisible:Y5,onAnthropicSetupTokenSubmit:y8,onAnthropicSetupTokenCancel:lH,openaiMethodOptions:F3,onOpenAIMethodSelect:z5,onOpenAIMethodCancel:B8,openaiKeyInputVisible:W5,onOpenAIKeySubmit:M8,onOpenAIKeyCancel:_5,googleMethodOptions:P3,onGoogleMethodSelect:q5,onGoogleMethodCancel:w8,googleKeyInputVisible:N5,onGoogleKeySubmit:C8,onGoogleKeyCancel:F5,authInteractionOptions:A3,authInteractionTitle:d4,onAuthInteractionSelect:I8,onAuthInteractionCancel:P5,authInteractionInput:w$,onAuthInteractionInputSubmit:A5,onAuthInteractionInputCancel:S8,nearbyPeers:b8=[],localClients:k8=[],onSelectPeer:p4,onSelectClient:xH,onPeerCancel:O5,onClientsCancel:O3,openPeersOverlaySignal:U5,openClientsOverlaySignal:uH,inviteShare:C$,onInviteShareClose:L5,openJoinInviteOverlaySignal:u6,onJoinInviteSubmit:f5,onJoinInviteCancel:l4,joinInviteError:x4,incomingPairRequest:U3,onAcceptPairRequest:u4,onRejectPairRequest:r4,onCancelPairing:R5,openMessageEditOverlaySignal:y5,editableMessages:I$,onEditMessage:g8,prefillInput:v8,onPrefillConsumed:a4,meshMessageCount:n4=0,runtimeSocket:bX=null,clientId:rH=null,clientAuthToken:L6=null,resolveCredentials:B5}){let{exit:r6}=Gf(),{columns:aH,rows:nH}=f9(),[T8,q9]=z3(""),[l,X0]=z3("none"),[S$,h8]=z3(""),[D8,L3]=z3(""),[f3,a6]=z3("become"),[i4,R3]=z3("all"),[iH,o4]=z3(!1),f6=Boolean(A3||pH||F3||P3),s4=Boolean(w$||f8||Y5||W5||N5),M5=Boolean(q3||dH||A8||EH);A6(()=>{if(f6)X0("login-method");else if(s4)X0("login-input");else if(M5)X0("login");else if(l==="login"||l==="login-method"||l==="login-input")X0("none")},[f6,s4,M5]);let oH=O$(()=>{X0("session"),setTimeout(()=>Z0?.(),0)},[Z0]);A6(()=>{if(Z9===void 0)return;oH()},[Z9,oH]),A6(()=>{if(_0===void 0)return;X0("theme")},[_0]);let[y3,B3]=z3([]);A6(()=>{if(U5===void 0)return;B3([...b8]),X0("peers")},[U5]),A6(()=>{if(uH===void 0)return;X0("clients")},[uH]),A6(()=>{if(C$)X0("invite-share");else if(l==="invite-share")X0("none")},[C$,l]),A6(()=>{if(u6===void 0)return;X0("join-invite")},[u6]),A6(()=>{if(y5===void 0)return;if(I$&&I$.length>0)X0("message-edit")},[y5]),A6(()=>{if(v8!==void 0)q9(v8),a4?.()},[v8]),A6(()=>{if(l!=="peers")return;B3((v)=>{let L0=new Set(v.map(y4)),l0=b8.filter((k$)=>!L0.has(y4(k$)));return l0.length>0?[...v,...l0]:v})},[l,b8]),A6(()=>{if(U3&&l==="none"&&!Q)X0("pair-request");else if(!U3&&l==="pair-request")X0("none")},[U3,l,Q]);let t4=process.stdin.isTTY??!1;Yf((v,L0)=>{if(v==="\x03"||L0.ctrl&&v==="c"){if(Q&&t0){t0();return}r6()}if(Q0(v,L0)){if(U6)return;if(l!=="none"){w9();return}if(R5){R5();return}if(Q&&G&&Y)Y();else if(Q&&t0)t0();else q9("");return}if(L0.upArrow&&Q&&G&&Y){Y();return}if(L0.ctrl&&v==="\x1C"&&l==="none"){_1?.();return}if(L0.ctrl&&v==="t"&&l==="none"){B0?.();return}if(L0.ctrl&&v==="g"&&l==="none"){B9?.();return}if(L0.ctrl&&v==="s"&&l==="none"){W1?.();return}if(L0.tab&&v!=="\t"&&l==="none"){P8?.();return}if(L0.ctrl&&v==="\x05"&&l==="none"){r1?.();return}if(L0.ctrl&&v==="\x1F"&&l==="none"){o4((l0)=>!l0);return}},{isActive:t4});let n6=$.getPrimary(),e4=n6?.name||"ARIA",U1=n6?.color||"cyan",$K=n6?.emoji||"\uD83E\uDD8B",i6=wW(a9??null,Q??!1),HK=(l==="none"&&!U6?4:0)+(!w||w.showStatusBar?1:0),sH=Math.max(nH-HK,1),b$=O$((v,L0)=>{if(v==="command")X0("command"),h8(L0);else if(v==="mention")X0("arion"),L3(L0),a6("mention")},[]),KK=O$((v)=>{X0("none"),q9("");let L0=v.requiresArgs===!0||(v.args?.length??0)>0;if(v.name==="become")X0("arion"),a6("become"),R3("all");else if(v.name==="rest")X0("arion"),a6("rest"),R3("active");else if(v.name==="wake")X0("arion"),a6("wake"),R3("resting");else if(v.name==="model")X0("model");else if(v.name==="theme")X0("theme");else if(v.name==="memories")C0?.("browse"),X0("memory");else if(v.name==="forget")C0?.("forget"),X0("memory");else if(v.name==="resume")oH();else if(v.name==="exit")r6();else if(L0){q9(`/${v.name} `);return}else P0(v.name)},[P0,C0,r6]),w5=O$((v)=>{if(X0("none"),f3==="mention"){let L0=T8.replace(/@\w*$/,"");q9(L0+"@"+v.name+" ")}else h?.(v.name,f3)},[f3,T8,h]),tH=O$((v,L0)=>{X0("none"),j?.(v.value??v.name,L0)},[j]),eH=O$((v)=>{X0("none"),U0?.(v)},[U0]),M9=O$((v)=>{X0("none"),v0?.(v)},[v0]),w9=O$(()=>{if(X0("none"),f3!=="mention")q9("");h8(""),L3("")},[f3]),R6=O$((v)=>{X0("none"),q9(v),h8("")},[]),A0=W3(()=>RW(Z,X,{userName:I}),[Z,X,I]),h9=W3(()=>hJ(A0,C),[A0,C]),M3=W3(()=>h9.filter((v)=>v.committed),[h9]),w3=W3(()=>h9.filter((v)=>!v.committed),[h9]),q1=Q&&G?G:null,V8=q1!==null,o6=i6.kind!=="idle",JK=Math.max(aH-4,20),kX=W3(()=>{if(!q1)return 0;return Math.max(C9(q1,{width:JK}).split(`
457
- `).length,1)},[JK,q1]),C5=(V8?4+kX:0)+(o6?2:0),S9=Math.max(sH-C5,1),x=W3(()=>{let v=new Map,L0="";for(let l0 of h9){let k$=l0.kind==="user-message"||l0.kind==="user-image"?`user:${l0.userName}`:l0.kind==="assistant-text"?`assistant:${l0.arion?.name??"ARIA"}`:l0.kind==="thinking"?`assistant:${l0.arion?.name??"ARIA"}`:l0.kind==="tool-execution"?"tool":l0.kind,b9=l0.kind==="user-message"||l0.kind==="user-image"||l0.kind==="assistant-text"||l0.kind==="thinking";if(v.set(l0.id,b9&&k$!==L0),b9)L0=k$}return v},[h9]),c8=W3(()=>{let v=new Map;for(let L0=0;L0<h9.length;L0++){let l0=h9[L0],k$=L0>0?h9[L0-1]:void 0,b9=l0.kind==="tool-execution"&&k$?.kind==="tool-execution";v.set(l0.id,L0>0&&!b9)}return v},[h9]),I5=W3(()=>{let v=[];if(J)v.push({id:"header",_kind:"banner"});for(let L0 of M3)v.push({...L0,_kind:"item"});return v},[J,M3]);return a(Wf,{children:[a(Qf,{items:I5,children:(v)=>{if(v._kind==="banner")return a(p6,{width:"100%",justifyContent:"center",children:J},v.id,!1,void 0,this);return a(p6,{flexDirection:"column",marginTop:c8.get(v.id)?1:0,children:a(e2,{item:v,displayMode:C,showPrefix:x.get(v.id)??!1},void 0,!1,void 0,this)},v.id,!1,void 0,this)}},`static-${T0}`,!1,void 0,this),a(p6,{flexDirection:"column",width:"100%",children:[a(p6,{flexDirection:"column",maxHeight:sH,justifyContent:"flex-end",overflowY:"hidden",children:[w3.length>0&&a(p6,{flexDirection:"column",maxHeight:S9,overflowY:"hidden",children:w3.map((v)=>a(p6,{flexDirection:"column",marginTop:c8.get(v.id)?1:0,children:a(e2,{item:v,displayMode:C,showPrefix:x.get(v.id)??!1,previewTailLines:S9},void 0,!1,void 0,this)},v.id,!1,void 0,this))},void 0,!1,void 0,this),V8&&a(p6,{marginTop:1,flexDirection:"column",children:[a(P2,{param:{type:"text",text:q1??""},userName:I??"User",columns:aH,showPrefix:!0,addMargin:!1},void 0,!1,void 0,this),a(U$,{dimColor:!0,children:" ↑ queued — press esc or ↑ to cancel and edit"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),M&&m.length>0&&a(pJ,{spans:m},void 0,!1,void 0,this),w?.showPipelineTiming&&G0&&G0.phases.length>0&&a(lJ,{report:G0},void 0,!1,void 0,this),iH&&a(p6,{flexDirection:"column",borderStyle:"round",borderColor:"gray",paddingX:1,marginY:1,children:[a(U$,{bold:!0,dimColor:!0,children:"Hotkeys"},void 0,!1,void 0,this),a(U$,{dimColor:!0,children:" Ctrl+\\ — cycle display mode"},void 0,!1,void 0,this),a(U$,{dimColor:!0,children:" Ctrl+t — toggle thinking blocks"},void 0,!1,void 0,this),a(U$,{dimColor:!0,children:" Ctrl+g — toggle cost display"},void 0,!1,void 0,this),a(U$,{dimColor:!0,children:" Ctrl+e — cycle effort level"},void 0,!1,void 0,this),a(U$,{dimColor:!0,children:" Ctrl+s — toggle trace waterfall"},void 0,!1,void 0,this),a(U$,{dimColor:!0,children:" Escape — cancel streaming / close overlay / clear input"},void 0,!1,void 0,this),a(U$,{dimColor:!0,children:" Ctrl+/ — toggle this help"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),o6&&a(rJ,{state:i6.kind==="thinking"?"thinking":"composing",elapsedSeconds:Math.floor(S?.wallTimeSeconds??0),totalTokens:S?.totalTokens??0,thoughtForSeconds:i6.kind==="composing"?i6.thoughtForSeconds:void 0,currentVerb:i6.kind==="tool_running"?[...new Set(i6.tools.values())].join(" · "):i6.verb.present},void 0,!1,void 0,this)]},void 0,!0,void 0,this),a(p6,{flexDirection:"column",flexShrink:0,children:[E4&&cH&&$5&&a(mJ,{currentLevel:e7??zf.autonomy,onSelect:cH,onCancel:$5},void 0,!1,void 0,this),A8&&H5&&K5&&a(OW,{providers:A8,onSelect:H5,onCancel:K5},void 0,!1,void 0,this),EH&&J5&&B$&&a(EJ,{options:EH,onSelect:J5,onCancel:B$},void 0,!1,void 0,this),l==="login-method"&&A3&&I8&&P5&&a(SH,{options:A3,onSelect:(v)=>I8(v.id),onCancel:P5,title:d4??"Choose an option:",isActive:l==="login-method"},void 0,!1,void 0,this),l==="login-method"&&pH&&L8&&Q5&&a(fW,{options:pH,onSelect:L8,onCancel:Q5,isActive:l==="login-method"},void 0,!1,void 0,this),l==="login-input"&&w$&&A5&&S8&&a(kH,{title:w$.title,hint:w$.hint,onSubmit:A5,onCancel:S8,isActive:l==="login-input"},void 0,!1,void 0,this),l==="login-input"&&f8&&G5&&R8&&a(kH,{title:"Enter Anthropic API key",hint:"Paste your sk-ant-api03-* key",onSubmit:G5,onCancel:R8,isActive:l==="login-input"},void 0,!1,void 0,this),l==="login-input"&&Y5&&y8&&lH&&a(kH,{title:"Enter setup token",hint:"From `claude setup-token` or admin provisioning",onSubmit:y8,onCancel:lH,isActive:l==="login-input"},void 0,!1,void 0,this),l==="login-method"&&F3&&z5&&B8&&a(SH,{options:F3,onSelect:z5,onCancel:B8,title:"Select OpenAI login method:",isActive:l==="login-method"},void 0,!1,void 0,this),l==="login-input"&&W5&&M8&&_5&&a(kH,{title:"Enter OpenAI API key",hint:"Paste your sk-* key",onSubmit:M8,onCancel:_5,isActive:l==="login-input"},void 0,!1,void 0,this),l==="login-method"&&P3&&q5&&w8&&a(SH,{options:P3,onSelect:q5,onCancel:w8,title:"Select Google login method:",isActive:l==="login-method"},void 0,!1,void 0,this),l==="login-input"&&N5&&C8&&F5&&a(kH,{title:"Enter Google API key",hint:"Paste your AIza* key",onSubmit:C8,onCancel:F5,isActive:l==="login-input"},void 0,!1,void 0,this),l==="login"&&q3&&j4&&M$&&a(UW,{provider:q3,onCancel:M$,...jH&&mH?{authorizeUrl:jH,expectedState:x6??void 0,onCodeSubmit:mH}:{onComplete:j4},isActive:l==="login"},void 0,!1,void 0,this),l==="login"&&dH&&O8&&U8&&a(cJ,{provider:dH,profileLabel:m4??void 0,...N3&&Z5&&X5?{verificationUri:N3,userCode:Z5,onApprove:X5}:{onComplete:O8},onCancel:U8},void 0,!1,void 0,this),a(p6,{flexDirection:"column",children:[l==="command"&&a(WZ,{commands:W,initialFilter:S$,onSelect:KK,onHandOffInput:R6,onCancel:w9},void 0,!1,void 0,this),l==="arion"&&a(_Z,{arions:F,initialFilter:D8,statusFilter:i4,onSelect:w5,onCancel:w9},void 0,!1,void 0,this),l==="model"&&a(NZ,{models:q,effortLevel:F8,onSelect:tH,onCancel:w9},void 0,!1,void 0,this),l==="theme"&&a(RZ,{onSelect:eH,onCancel:w9},void 0,!1,void 0,this),l==="invite-share"&&C$&&a(SZ,{inviteToken:C$.inviteToken,inviteLabel:C$.inviteLabel,expiresAt:C$.expiresAt,onClose:()=>{X0("none"),L5?.()}},void 0,!1,void 0,this),l==="join-invite"&&a(bZ,{error:x4,onSubmit:(v)=>{X0("none"),f5?.(v)},onCancel:()=>{X0("none"),l4?.()}},void 0,!1,void 0,this),l==="memory"&&a(PZ,{memories:A,mode:U,isLoading:R,onSelect:M9,onCancel:w9},void 0,!1,void 0,this),l==="peers"&&a(MZ,{peers:y3.length>0?y3:b8,sameHomeClientsAvailable:k8.length>0,onSelect:(v)=>{X0("none"),p4?.(v)},onCancel:w9},void 0,!1,void 0,this),l==="clients"&&a(IZ,{clients:k8,onSelect:(v)=>{X0("none"),q9(`/send ${v.clientId} `),xH?.(v)},onCancel:()=>{X0("none"),O3?.()}},void 0,!1,void 0,this),l==="pair-request"&&U3&&a(kZ,{request:U3,onAccept:()=>{X0("none"),u4?.()},onReject:()=>{X0("none"),r4?.()}},void 0,!1,void 0,this),l==="session"&&a(OZ,{sessions:u1,onSelect:(v)=>{X0("none"),K0?.(v)},onCancel:w9,onSearch:(v)=>c0?.(v),onPageChange:(v)=>i?.(v)},void 0,!1,void 0,this),l==="message-edit"&&I$&&a(LZ,{messages:I$,onSelect:(v,L0)=>{X0("none"),g8?.(v,L0)},onCancel:w9},void 0,!1,void 0,this),l==="none"&&!U6&&a(oK,{userName:I,value:T8,onChange:q9,onSubmit:_9,onTrigger:b$,onExit:()=>r6(),history:d0,onSaveInput:H9,focus:l==="none",isStreaming:Q,onDoubleEscape:()=>{if(I$&&I$.length>0)return X0("message-edit"),!0;return!1}},void 0,!1,void 0,this)]},void 0,!0,void 0,this),(!w||w.showStatusBar)&&a(gK,{arion:{name:e4,emoji:$K,color:U1,traits:n6?.personality?.traits?.slice(0,2)},model:H,maxContextTokens:K,responseTime:z,metrics:S,displayMode:C,showCosts:y,activeArion:y9,effortLevel:F8,autonomyLevel:e7,meshMessageCount:n4},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}import{jsxDEV as B4}from"react/jsx-dev-runtime";function Pf($){let H=V7[$.toLowerCase()];return{name:$,userFacingName(K){if(H)return H.displayName(K);return $},renderToolUseMessage(K,J){if(H)return H.renderInput(K,J);return JSON.stringify(K)},isReadOnly(){return!1},inputSchema:{parse(K){return K??{}}}}}var Af={message:{id:"aria-approval"}};function Of($){switch($){case"low":return 0.2;case"moderate":return 0.5;case"high":return 0.9}}function IW($){let{stdout:H}=Ff(),K=H?.columns??80,[J]=qf(!1),Z=_f(()=>{if(!$.approvalRequest)return null;let{toolName:X,input:Q,riskLevel:G,resolve:Y}=$.approvalRequest;return{assistantMessage:Af,tool:Pf(X),description:`${X} requires approval`,input:Q??{},commandPrefix:null,riskScore:Of(G),onAbort(){Y(!1)},onAllow(z){Y(!0)},onReject(){Y(!1)}}},[$.approvalRequest]);if(Z)return B4(Nf,{flexDirection:"column",width:"100%",children:[B4(TZ,{...$},void 0,!1,void 0,this),B4(YZ,{toolUseConfirm:Z,onDone:()=>{},verbose:J},void 0,!1,void 0,this)]},void 0,!0,void 0,this);return B4(TZ,{...$},void 0,!1,void 0,this)}import{execFile as Uf}from"node:child_process";import{existsSync as kW,readdirSync as gW}from"node:fs";import{dirname as Lf,join as M4,resolve as ff}from"node:path";import{fileURLToPath as Rf}from"node:url";var yf=Lf(Rf(import.meta.url));function Bf(){let $=yf;for(let H=0;H<10;H++){let K=M4($,".comms","sounds","wav");if(kW(K))return K;let J=ff($,"..");if(J===$)break;$=J}return null}var a7=Bf();function s0($){if(!a7)return[];try{return gW(a7).filter((H)=>new RegExp($).test(H)).map((H)=>M4(a7,H))}catch{return[]}}function SW($){if(!a7)return[];let H=M4(a7,"cloned");try{return gW(H).filter((K)=>new RegExp($).test(K)).map((K)=>M4(H,K))}catch{return[]}}function L$($){if($.length===0)return null;return $[Math.floor(Math.random()*$.length)]}var hZ=!0;function DZ($){hZ=$}function vW(){return hZ}function f$($){if(!hZ||!$||!kW($))return;Uf("afplay",[$],()=>{})}var R$={acknowledge:()=>s0("^(peasant|orc|human|dwarf|elf|troll)_acknowledge"),annoyed:()=>s0("^(peasant|orc|goblin_sapper|human|troll|ogre)_selected"),grumpy:()=>s0("^(goblin_sapper|ogre|ogre_mage)_selected"),dark:()=>[...s0("^ogre_mage_selected"),...s0("^ogre_selected"),...s0("^troll_selected")],defeat:()=>SW("^defeat_"),error:()=>SW("^error_"),readyToWork:()=>[...s0("^peasant_selected"),...s0("^orc_selected"),...s0("^human_selected"),...s0("^dwarf_selected")],fleetUp:()=>[...s0("^orc_acknowledge"),...s0("^troll_acknowledge"),...s0("^ogre_acknowledge"),...s0("^human_acknowledge"),...s0("^knight_acknowledge")],fleetDown:()=>[...s0("^ogre_mage_acknowledge"),...s0("^ship_acknowledge"),...s0("^horde_ship_acknowledge")],questDone:()=>[...s0("^jobs_done"),...s0("^orc_work_completed"),...s0("^peasant_selected"),...s0("^orc_selected"),...s0("^human_selected"),...s0("^peasant_acknowledge"),...s0("^orc_acknowledge")]},bW=0,r7=0,Mf=15000;function wf(){let $=Date.now();if($-bW>Mf)r7=1;else r7++;if(bW=$,r7<=1)f$(L$(R$.acknowledge()));else if(r7===2)f$(L$(R$.annoyed()));else if(r7===3)f$(L$(R$.grumpy()));else f$(L$(R$.dark()))}function TW(){f$(L$(R$.readyToWork()))}function hW(){f$(L$(R$.fleetDown()))}function DW(){wf()}function VW(){f$(L$(R$.questDone()))}function cW($){switch($.type){case"error":f$(L$(R$.error()));break;case"guardrail_rejected":f$(L$(R$.defeat()));break}}var VZ=[{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",args:["[name]"]},{name:"autonomy",description:"Change permission approval policy",usage:"/autonomy [level]",args:["[level]"]},{name:"sound",description:"Toggle Warcraft sound notifications on/off",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:"help",description:"Show available commands",args:[]},{name:"restart",description:"Restart ARIA",usage:"/restart [reason]",args:["[reason]"]},{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:[]}];var EW="1.0.19",jW=["⚡ Search millions of lines instantly with native Rust-powered code search","\uD83E\uDDE0 Jump to definitions & find references with real LSP intelligence","✏️ Press Esc×2 to edit and fork any previous message in-place","\uD83D\uDD0A Get audio cues when tasks finish — try /sound to configure","\uD83C\uDFA8 All 87 tools now render rich, beautiful output in the terminal"];import{autonomyToConfirmation as gy,AUTONOMY_LEVELS as V4,DEFAULT_SAFETY_CONFIG as vy,isPrivateLanIP as Ty}from"@aria-cli/aria";OK();g();l5();h$();c5();import{parseMessage as hy,recoverCrashedSessions as Dy,NoopOTELAdapter as Vy,HttpOTELAdapter as cy,JsonlEventLogger as Ey}from"@aria-cli/aria";import{resolveTrustedRuntimeErrorMessage as BX}from"@aria-cli/tools";import{getCliModels as jy,getCliSelectableModels as MX,getDefaultModelByTier as wX,getModelByShortName as t_,MODEL_REGISTRY as my,selectRunnableModelVariant as VH,toShortName as dy}from"@aria-cli/models";import{MemoriaPool as py}from"@aria-cli/aria";import{getErrorMessage as CX,log as y0}from"@aria-cli/types";h$();import{NO_RELAUNCH_ENV as If,RELAUNCH_EXIT_CODE as Sf,RESUME_ARION_ENV as mW,RESUME_SESSION_ENV as EZ,RESTART_KIND_ENV as ol,clearRelaunchMarker as sl,readRelaunchMarker as tl,writeRelaunchMarker as bf}from"@aria-cli/types";import{NO_RELAUNCH_ENV as Kx,RELAUNCH_EXIT_CODE as Jx,RESUME_ARION_ENV as Zx,RESUME_SESSION_ENV as Xx,RESTART_KIND_ENV as Qx}from"@aria-cli/types";function mZ($){bf($)}function kf($){if(!$||typeof $!=="object")return!1;let H=$;return H.code==="EPIPE"||H.code==="EIO"||H.code==="ERR_STREAM_DESTROYED"}function cZ($){try{process.stderr.write($)}catch(H){if(kf(H))return;throw H}}var dW=process.env[EZ]??null,jZ=process.env[mW]||"ARIA";function n7($){let H=$?.trim()||null;if(dW=H,H)process.env[EZ]=H;else delete process.env[EZ]}function w4(){return dW}function dZ($){jZ=$||"ARIA",process.env[mW]=jZ}function gf(){return jZ}function vf(){return process.env[If]==="true"}async function pW($,H){if(!vf())throw Error("Restart requires RelaunchSupervisor; detached self-spawn has been removed.");let K=$||"Restart requested";if(H!==void 0)n7(H);let J=w4(),Z=gf();cZ(`[aria] Relaunch requested: ${K} (session=${J?.slice(0,8)??"none"}, arion=${Z})
458
- `);let X=process.ppid||process.pid;mZ({sessionId:J,arionName:Z,pid:X,timestamp:new Date().toISOString()});try{let Q=process.send;if(typeof Q==="function"){let G=`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;if(await new Promise((z)=>{let W=!1,F=setTimeout(()=>{if(W)return;W=!0,process.off("message",q),z(!1)},120),q=(A)=>{if(!A||typeof A!=="object")return;let U=A;if(U.type!=="aria-relaunch-ack")return;if(U.nonce!==G)return;if(W)return;W=!0,clearTimeout(F),process.off("message",q),z(!0)};process.on("message",q),Q({type:"aria-relaunch",nonce:G,resumeSessionId:J,arionName:Z},(A)=>{if(A&&!W)W=!0,clearTimeout(F),process.off("message",q),z(!1)})}))cZ(`[aria] IPC handoff acknowledged by supervisor
459
- `);else cZ(`[aria] IPC ack timeout — disk marker will be used as fallback
460
- `)}}catch{}throw process.exit(Sf),Error("Unreachable")}RK();import{randomUUID as DH}from"crypto";function pZ($){return $.trim().toLowerCase()}function xW($){let H=$.trim();if(!H.startsWith("/"))return null;let K=H.indexOf(" ");if(K===-1){let X=H.slice(1);return{command:lW(X)??pZ(X),args:""}}let J=H.slice(1,K);return{command:lW(J)??pZ(J),args:H.slice(K+1).trim()}}var Tf=["help","arions","exit","hatch","remember","recall","recall_knowledge","send","model","become","rest","wake","memories","forget","clear","autonomy","resume","fork","restart","login","logout","terminal-setup","theme","invite","join"],hf=new Map(Tf.map(($)=>[$.toLowerCase(),$]));function lW($){return hf.get(pZ($))??null}x_();k4();oZ();h$();g();import{ArionManager as Ry,ArionStorage as yy,DEFAULT_SAFETY_CONFIG as By}from"@aria-cli/aria";import{getDefaultModelByTier as My}from"@aria-cli/models";import{existsSync as Uy,readFileSync as tu,readdirSync as Ly}from"node:fs";T4();l5();import fy from"node:path";function yX($,H){let K=H.trim();if(!K)return"ARIA";let J=fy.join($,"arions");if(!Uy(J))return K;try{let Z=K.toLowerCase();for(let X of Ly(J,{withFileTypes:!0}))if(X.isDirectory()&&X.name.toLowerCase()===Z)return X.name}catch{}return K}async function wy($){let H=new yy($.ariaDir),K=new Ry(H,$.memoriaFactory);return K.setRouter($.router),await K.initialize(),K}function u_($,H){let K=H.trim().toLowerCase();return $.find((J)=>J.shortName.toLowerCase()===K||typeof J.id==="string"&&J.id.toLowerCase()===K)}function r_($){return My($??"balanced")}function a_($){let H=$.cli,K=yX(H.ariaDir,$.activeArionName??H.config.activeArion??"ARIA"),J,Z=[...H.availableModels],X=null,Q=new Map,G=async()=>{return X??=wy(H),X},Y=async()=>{let I=await(await G()).get(K);if(!I)throw Error(`Unable to resolve active Arion ${K}`);return I},z=async()=>{let R=await Y(),I=Q.get(R.name);if(I)return I;let C=await(await G()).getMemoria(R);if(!C)throw Error(`Memoria is unavailable for Arion ${R.name}`);return Q.set(R.name,C),C},W={list:async()=>(await G()).list(),hatch:async(R)=>(await G()).hatch(R),get:async(R)=>(await G()).get(R),wake:async(R)=>{await(await G()).wake(R)},rest:async(R,I)=>{await(await G()).rest(R,I)}},F={async getTheme(){return O0().theme??L().name},async setTheme(R){let I=R.trim();if(!I6().includes(I))throw Error(`Unknown theme: ${R}`);let S=O0();return S.theme=I,E0(S),C6(I),{theme:I}},async getAutonomy(){return O0().autonomy??By.autonomy},async setAutonomy(R){if(!["minimal","balanced","high","full"].includes(R))throw Error(`Invalid autonomy level: ${R}`);let I=O0();return I.autonomy=R,E0(I),{autonomy:R}},async getActiveArion(){return K},async setActiveArion(R){let I=R.trim()||"ARIA",S=yX(H.ariaDir,I);try{let B=await(await G()).get(I);if(B?.name)S=B.name}catch{}let C=O0();C.activeArion=S,E0(C),K=S}},q={async listAvailable(){return Z},async refresh(R){return Z=[...await H.refreshAvailableModels(R)],Z},async getCurrentModel(){if(J)return J;let R=O0();try{let I=await Y();if(typeof I.preferredModel==="string"&&I.preferredModel.trim().length>0)return J=I.preferredModel.trim(),J}catch{}return J=r_(R.preferredTier??H.config.preferredTier)?.shortName,J},async setCurrentModel(R){let I=u_(Z,R)??u_(await H.refreshAvailableModels(!0),R);if(!I)throw Error(`Unknown model: ${R}`);J=I.shortName;let S=O0();S.preferredTier=I.tier,E0(S),Z=[...await H.refreshAvailableModels(!1)];try{let C=await G(),w=await Y();await C.setPreferredModel(w.name,I.shortName)}catch{}return{currentModel:I.shortName,tier:I.tier}},async getSessionModel(){return J}};(async()=>{try{let R=await Y();if(typeof R.preferredModel==="string"&&R.preferredModel.trim().length>0){J=R.preferredModel.trim();return}}catch{}J=r_(O0().preferredTier??H.config.preferredTier)?.shortName})();let A={async status(){return{providers:_8()}},async login(R){let I=typeof R.args==="string"?R.args:"";return b4(I)},async logout(R){let I=typeof R.args==="string"?R.args:"";return g4(I)}},U=new Proxy({},{get(R,I){return async(...S)=>{let C=await z(),w=C[I];if(typeof w!=="function")throw Error(`Memoria method ${String(I)} is unavailable`);return w.apply(C,S)}}});return{arionManager:$.overrides?.arionManager??W,auth:$.overrides?.auth??A,config:$.overrides?.config??F,memoria:$.overrides?.memoria??U,modelDiscovery:$.overrides?.modelDiscovery??q}}_2();function n_($){let H=$();if(!H)throw Error("Late-bound service target is unavailable");return H}function i_($){return new Proxy({},{get(H,K){if(K==="then")return;let Z=n_($)[K];if(typeof Z!=="function")throw Error(`Late-bound service method ${String(K)} is unavailable`);return(...X)=>Z.apply(n_($),X)},has(H,K){return typeof $()?.[K]==="function"},ownKeys(){let H=$();return Reflect.ownKeys(H??{}).filter((K)=>typeof H?.[K]==="function")},getOwnPropertyDescriptor(H,K){let J=$();if(typeof J?.[K]!=="function")return;return{configurable:!0,enumerable:!0,writable:!1,value:J[K]}}})}import{useReducer as Cy,useMemo as o_,useCallback as Iy}from"react";function Sy($,H){switch(H.type){case"START_TURN":return{items:$.items,streamCursor:$.items.length};case"UPDATE_STREAM":{if($.streamCursor===null)return $;return{items:[...$.items.slice(0,$.streamCursor),...H.snapshot],streamCursor:$.streamCursor}}case"COMMIT_TURN":{let K=$.streamCursor??$.items.length,J=[...$.items.slice(0,K),...H.flushed];return{items:J,streamCursor:J.length}}case"END_TURN":return{items:$.items,streamCursor:null};case"APPEND_COMMITTED":{if($.streamCursor!==null){let K=$.items.slice(0,$.streamCursor),J=$.items.slice($.streamCursor);return{items:[...K,...H.items,...J],streamCursor:$.streamCursor+H.items.length}}return{items:[...$.items,...H.items],streamCursor:null}}case"RESET":return{items:H.items??[],streamCursor:null};case"DISCARD_STREAMING":{if($.streamCursor===null)return $;return{items:$.items.slice(0,$.streamCursor),streamCursor:null}}case"FUNCTIONAL_UPDATE":{if($.streamCursor!==null){let K=$.items.slice(0,$.streamCursor),J=$.items.slice($.streamCursor),Z=H.updater(K);return{items:[...Z,...J],streamCursor:Z.length}}return{items:H.updater($.items),streamCursor:null}}case"COMMIT_AND_END":{let K=$.streamCursor??$.items.length;return{items:[...$.items.slice(0,K),...H.flushed],streamCursor:null}}default:return $}}function s_($){let H=$?{items:$,streamCursor:null}:{items:[],streamCursor:null},K=Sy,[J,Z]=Cy(K,H),X=o_(()=>J.streamCursor!==null?J.items.slice(0,J.streamCursor):J.items,[J.items,J.streamCursor]),Q=o_(()=>J.streamCursor!==null?J.items.slice(J.streamCursor):[],[J.items,J.streamCursor]),G=J.streamCursor!==null,Y=Iy((z)=>{if(typeof z==="function")Z({type:"FUNCTIONAL_UPDATE",updater:z});else Z({type:"RESET",items:z})},[Z]);return{items:J.items,committedItems:X,streamingItems:Q,isStreaming:G,dispatch:Z,setItems:Y}}import{jsxDEV as SX}from"react/jsx-dev-runtime";function IX($){return $!=null&&typeof $==="object"&&"code"in $&&$.code==="ARIA_SESSION_EXPIRED"}function e_($){try{let H=typeof $==="string"?$:JSON.stringify($);if(!H)return"";return H.length>160?`${H.slice(0,160)}...`:H}catch{return""}}function ly($){let H=mX(),K=H?`phase="${H.label}" (active for ${H.ageMs.toFixed(0)}ms)`:"phase=unknown (no phase set)",J=`[InkREPL][WARN] Event loop stall detected: ${$.toFixed(0)}ms (threshold ${WK}ms) ${K}
461
- `,Z=Error("[InkREPL] Event loop watchdog detection stack").stack??"[stack unavailable]";try{process.stderr.write(J),process.stderr.write(`${Z}
462
- `)}catch{}}function xy($){if(!process.env.DEBUG)return;try{let H=($/1000).toFixed(1);process.stderr.write(`[InkREPL][DEBUG] System sleep/suspend detected: ${H}s
463
- `)}catch{}}function uy($){if($==="high"||$==="dangerous")return"high";if($==="moderate")return"moderate";return"low"}function ry($){for(let H=$.length-1;H>=0;H--)if($[H]?.role==="assistant")return $[H].content;return""}function ay($){return`${$.provider}/${$.shortName}`}function ny($,H,K){let J=$.trim().toLowerCase();if(!J)return;let Z=[...H].sort((q,A)=>q.shortName.localeCompare(A.shortName)),X=Z.find((q)=>{return`${q.provider}/${q.shortName}`.toLowerCase()===J});if(X)return X;let Q=Z.find((q)=>q.shortName.toLowerCase()===J);if(Q)return VH(Q,K);let G=Z.find((q)=>q.shortName.toLowerCase().startsWith(J));if(G)return VH(G,K);let Y=Z.find((q)=>{return`${q.provider}/${q.shortName}`.toLowerCase().startsWith(J)});if(Y)return Y;let z=Z.find((q)=>q.tier.toLowerCase()===J);if(z)return VH(z,K);let W=Z.find((q)=>q.displayName.toLowerCase().includes(J));if(W)return VH(W,K);let F=Z.find((q)=>q.provider.toLowerCase().includes(J));return F?VH(F,K):void 0}async function ur($,H,K){let J=Array($.length),Z=[],X=async()=>{if(Z.length===0)return;let G=(await Promise.allSettled(Z.map((Y)=>K(Y.call)))).map((Y,z)=>Y.status==="fulfilled"?Y.value:{id:Z[z].call.id,result:`Tool error: ${Y.reason?.message||"Unknown error"}`,isError:!0});for(let Y=0;Y<Z.length;Y++)J[Z[Y].index]=G[Y];Z=[]};for(let Q=0;Q<$.length;Q++){let G=$[Q];if(H.get(G.name)?.isReadOnly)Z.push({index:Q,call:G});else await X(),J[Q]=await K(G)}return await X(),J}var I9={sessionId:null,sessionHistory:null,memoriaSession:null,memoriaFactory:null,jsonlLogger:null};function $q($,H,K){let J=K>1?`Run paused: answer question ${H+1} of ${K} to continue.`:"Run paused: answer the question below to continue.",Z=Array.isArray($.options)&&$.options.length>0?`
464
- Options: ${$.options.join(" | ")}`:"";return`${J}
465
- ${$.question}${Z}`}function iy({session:$,manager:H,router:K,aria:J,attachedLocalControl:Z,cliContext:X,sessionHistory:Q,initialModel:G="sonnet-4.5",inputHistory:Y=[],onSaveInput:z,initialMessage:W,resumeSessionId:F,cachedUserName:q,initialAvailableModels:A=jy(),refreshAvailableModels:U,credentialHints:R,authResolver:I}){let{exit:S}=ky(),{committedItems:C,streamingItems:w,isStreaming:B,dispatch:y,setItems:M}=s_(),m=O0(),G0=m.preferredTier||"balanced",_9=wX(G0,R)?.shortName||G,[P0,h]=p(_9),j=I0(_9),[U0,v0]=p(m.effortLevel??"high"),C0=B,B0=I0(!1),B9=I0(!1),W1=I0(!1),_1=I0(!1),u1=I0(Promise.resolve()),K0=I0(null),[Z0,c0]=p(null),[i,T0]=p(),[Z9,_0]=p([]),[d0,H9]=p(q??null),[a9,t0]=p(0),[U6,c4]=p([]),[F8,E4]=p("browse"),[e7,cH]=p(!1),[$5,P8]=p([]),[r1,A8]=p(A),[H5,K5]=p(void 0),[EH,J5]=p(void 0),B$=I0(0),q3=I0(""),jH=I0(0),x6=I0(null),j4=100,mH=m.autonomy??vy.autonomy,M$=I0(mH),[dH,m4]=p(mH),N3=o((_)=>{M$.current=_,m4(_),E0({...O0(),autonomy:_})},[]),[Z5,O8]=p(!1),[X5,U8]=p(null),[pH,L8]=p(null),[Q5,f8]=p(null),[G5,R8]=p(null),[Y5,y8]=p(null),[lH,F3]=p(null),[z5,B8]=p(null),[W5,M8]=p(null),[_5,P3]=p(null),[q5,w8]=p(null),[N5,C8]=p(null),[F5,A3]=p(!1),[d4,I8]=p(!1),[P5,w$]=p(null),[A5,S8]=p(!1),[b8,k8]=p(null),[p4,xH]=p(!1),[O5,O3]=p(null),[U5,uH]=p(null),[C$,L5]=p(null),[u6,f5]=p(null),[l4,x4]=p([]),[U3,u4]=p([]),[r4,R5]=p(void 0),[y5,I$]=p(void 0),[g8,v8]=p(null),[a4,n4]=p(void 0),[bX,rH]=p(null),[L6,B5]=p(null),r6=I0(null),aH=I0(0),[nH,T8]=p(null);U9(()=>{j.current=P0},[P0]),U9(()=>{b$.current=$.getPrimary()?.name||m.activeArion||"ARIA"},[$,m.activeArion]);let[q9,l]=p(null),X0=o((_)=>new Promise((O)=>{aH.current+=1,T8({id:aH.current,toolName:_.toolName,input:_.input,riskLevel:_.riskLevel,..._.issues?{issues:_.issues}:{},resolve:O})}),[]),S$=o((_)=>{$.addToHistory(_)},[$]),h8=o((_)=>{let O=p8(_);if(Q&&A0.current)Q.addConversationMessage(A0.current,O);if(I9.jsonlLogger?.log({type:"user_message",content:_,id:O.id}),B9.current)B9.current=!1;else M((N)=>[...N,O]);S$({role:"user",content:_})},[S$,Q]),D8=o((_)=>{let O=_&&typeof _==="object"&&"diagnostic"in _?_.diagnostic:void 0;I9.jsonlLogger?.log({type:"error",error:{message:BX(CX(_),O)??CX(_),...O===void 0?{}:{diagnostic:O}}})},[]),L3=o((_,O)=>{let N=ry(_).trim();if(!N)return;S$({role:"assistant",content:N,...O?{arion:O}:{}})},[S$]),[f3,a6]=p({turnCount:0,totalTokens:0,estimatedCost:0,wallTimeSeconds:0,contextTokens:0,contextStale:!1}),[i4,R3]=p(0),[iH,o4]=p(null);U9(()=>{let _=!1;return(async()=>{try{let O=process.env.ARIA_HOME??`${process.env.HOME}/.aria`,{resolveRuntimeRootDirectory:N,findRuntimeOwnerRecordByAriaHome:P}=await import("@aria-cli/server"),f=N(),k=P(f,O)?.runtimeSocket??null;if(!_)o4(k)}catch{}})(),()=>{_=!0}},[]);let[f6]=p(()=>{let _=fK(),O=O0(),N=O.theme;if(!N&&_.display.theme){N=_.display.theme;try{E0({...O,theme:N})}catch(P){y0.warn("[Theme] YAML→JSON migration failed (non-fatal):",P.message)}}if(N)if(I6().includes(N))C6(N);else y0.warn(`[Theme] Invalid theme "${N}" in config, using default`);return _}),s4=I0(f6.persistence.otelEndpoint?new cy(f6.persistence.otelEndpoint):new Vy),[M5,oH]=p(f6.display.mode),[y3,B3]=p(()=>{let{mode:_,syntaxHighlighting:O,maxToolOutputLines:N,maxThinkingPreview:P,...f}=f6.display;return f}),[t4,n6]=p(void 0),[e4,U1]=p([]),[$K,i6]=p(0),[HK,sH]=p(),b$=I0($.getPrimary()?.name||m.activeArion||"ARIA"),[KK,w5]=p(null),tH=I0(0),eH=I0(0),M9=I0(null),w9=I0(null);U9(()=>{let _=O0().soundEnabled;return DZ(_!==!1),TW(),()=>{hW()}},[]),U9(()=>{return dX({thresholdMs:WK,onStall:ly,onSleep:xy})},[]);let R6=I0([]),A0=I0(null),h9=I0(null),M3=I0(null);if(!M3.current){let _=process.env.ARIA_HOME??`${process.env.HOME}/.aria`,O=new py(_,K,()=>A0.current);M3.current=O.toFactory()}U9(()=>{return()=>{let _=A0.current;(async()=>{if(_&&Q)try{Q.markCompleted(_)}catch(N){y0.warn("[InkREPL] SessionHistory completion mark failed:",N)}if(_&&h9.current)try{await h9.current.endSession(_)}catch(N){y0.warn("[InkREPL] Memoria session end failed (non-critical):",N)}await M3.current?.closeAll()})().catch((N)=>{y0.warn("[InkREPL] MemoriaPool cleanup failed:",N?.message)})}},[]);let w3=I0(null),q1=I0(null),V8=I0(null),o6=o(async(_)=>{let O=Date.now()+20000;while(Date.now()<O){if(_?.aborted)return null;let P=(w3.current??await(V8.current??Promise.resolve(null)))?.control??q1.current??null;if(P)return P;await new Promise((f)=>setTimeout(f,250))}return q1.current??null},[]),JK=o(async()=>{if(q1.current)return q1.current;let _=await o6();if(_)return _;return null},[o6]),kX=o(()=>{return q1.current},[]),C5=o((_)=>{w3.current=_,q1.current=_.control,V8.current=Promise.resolve(_),y0.debug(`[InkREPL] Attached TUI local client to runtime ${_.runtimeId} on port ${_.port} (${_.ownership}, node ${_.nodeId})`);try{let O=`${process.env.ARIA_HOME??`${process.env.HOME}/.aria`}/run`,N=`${O}/agent-bridge.json`,P=`${N}.${process.pid}.tmp`,f=M6("fs"),k=iH??(()=>{try{let D=(()=>{throw new Error("Cannot require module "+"@anthropic-ai/claude-code");})(),V=process.cwd(),u=`${process.env.ARIA_HOME??`${process.env.HOME}/.aria`}`;return D.findRuntimeOwnerRecordByAriaHome?.(V,u)?.runtimeSocket??null}catch{return null}})();f.mkdirSync(O,{recursive:!0}),f.writeFileSync(P,JSON.stringify({socketPath:k,clientId:_.attachedClientId??null,nodeId:_.nodeId,pid:process.pid,updatedAt:new Date().toISOString()},null,2)),f.renameSync(P,N),y0.debug(`[InkREPL] Wrote agent-bridge.json (clientId=${_.attachedClientId}, socket=${k})`)}catch(O){y0.debug(`[InkREPL] Failed to write agent-bridge.json: ${O instanceof Error?O.message:String(O)}`)}},[iH]);U9(()=>{return C5(Z),()=>{V8.current=Promise.resolve(null),w3.current?.release(),w3.current=null,q1.current=null}},[Z,C5]);let S9=t7(()=>{if(!Q||!X)return null;let _=new Proxy({},{get(N,P){return async(...f)=>{let k=$.getPrimary(),V=(k&&typeof $.getArionMemoria==="function"?await $.getArionMemoria(k):null)??J.components.memoria,Y0=V[P];if(typeof Y0!=="function")throw Error(`Memoria method ${String(P)} is unavailable`);return Y0.apply(V,f)}}}),O=i_(()=>q1.current);return new s7({cli:X,localControl:O,sessionLedger:Q,...a_({cli:X,activeArionName:$.getPrimary()?.name??X.config.activeArion??"ARIA",overrides:{memoria:_,arionManager:{list:()=>H.list(),hatch:(N)=>H.hatch(N),get:async(N)=>{return(await H.list()).find((f)=>f.name.toLowerCase()===N.toLowerCase())??null},wake:(N)=>H.wake(N),rest:(N)=>$.dismiss(N)},config:{async getTheme(){return L()},async setTheme(N){if(!I6().includes(N))throw Error(`Unknown theme: ${N}`);C6(N);let f=O0();return f.theme=N,E0(f),{theme:N}},async getAutonomy(){return M$.current},async setAutonomy(N){if(!V4.includes(N))throw Error(`Invalid autonomy level: ${N}`);return N3(N),{autonomy:N}},async getActiveArion(){return b$.current??$.getPrimary()?.name??X.config.activeArion},async setActiveArion(N){b$.current=N;let P=O0();P.activeArion=N,E0(P)}},modelDiscovery:{async listAvailable(){return r1},async refresh(N){if(!U)return r1;let P=await U(N);return A8(P),P},async getCurrentModel(){return P0},async setCurrentModel(N){let P=ny(N,r1,R);if(!P)throw Error(`Unknown model: ${N}`);h(P.shortName),j.current=P.shortName;let f=$.getPrimary();if(f)await H.setPreferredModel(f.name,P.shortName);let k=O0();return k.preferredTier=P.tier,E0(k),{currentModel:P.shortName,tier:P.tier}}}}}),system:{async restart(N){return{accepted:!0,reason:typeof N.reason==="string"&&N.reason.trim().length>0?N.reason.trim():"Restart requested"}},async terminalSetup(){if(!g3())return{supported:!1,message:"terminal-setup is supported only in iTerm2 (macOS) and VSCode terminal."};return{supported:!0,output:W2().trim()}}}})},[J,r1,X,H,P0,U,$,Q,N3]),x=o(async(_,O)=>{if(!S9)throw Error(`Headless kernel unavailable for ${_}`);let N=null,P=null;for await(let f of S9.dispatch({kind:"request",requestId:`${_}:${DH()}`,op:_,input:O}))if(f.kind==="interaction.required")N=f;else if(f.kind==="result")P=f;return{interactionFrame:N,resultFrame:P}},[S9]);U9(()=>{let _=!1,O=async()=>{try{let P=await x("client.inbox.list",{limit:100,unreadOnly:!0}).catch(()=>null),f=P?null:await x("message.inbox.list",{limit:100,unreadOnly:!0}),k=P??f,V=(k?.resultFrame?.ok&&Array.isArray(k.resultFrame.result.events)?k.resultFrame.result.events:[]).length;if(!_)R3(V)}catch(P){if(IX(P)){_=!0,clearInterval(N);return}if(!_)R3(0)}};O();let N=setInterval(()=>{if(!_)O()},3000);return()=>{_=!0,clearInterval(N)}},[x]),U9(()=>{let _=!1,O=Z?.control;if(!O?.subscribeDirectClientInbox)return;let N=Z?.nodeId,P=Z?.attachedClientId,f=new Map,k=30000;return(async()=>{while(!_){try{let V=O.subscribeDirectClientInbox({afterCreatedAt:Date.now()});for await(let u of V){if(_)break;if(u.senderNodeId===N)continue;if(u.senderClientId&&P&&u.senderClientId===P)continue;if(u.recipientClientId&&P&&u.recipientClientId!==P)continue;let Y0=`${u.senderNodeId}\x00${u.content}`,h0=Date.now(),L9=f.get(Y0);if(L9&&h0-L9.ts<k){L9.count++,L9.ts=h0;continue}if(f.set(Y0,{ts:h0,count:1}),f.size>200){for(let[C3,T$]of f)if(h0-T$.ts>=k)f.delete(C3)}let y6=u.senderDisplayNameSnapshot?.trim()||u.senderNodeId||"Unknown",f0=u.senderClientId?.match(/^client-pid-(\d+)$/)?.[1],t6=f0?`${y6} (pid ${f0})`:y6,S0=typeof u.content==="string"?u.content:JSON.stringify(u.content),b0=t6!=="Unknown"?t6:u.senderNodeId||"unknown",[x0,B6]=j5(t6,b0,S0,u.id);if(Q&&A0.current)Q.addConversationMessage(A0.current,x0),Q.addConversationMessage(A0.current,B6);if(M((C3)=>[...C3,x0,B6]),!B0.current)B9.current=!0,TX.current(`[Incoming message from "${t6}" (${b0})]
466
-
467
- ${S0}
468
-
469
- [Reply using send_message with to="${b0}"]`)}}catch{}if(!_)await new Promise((V)=>setTimeout(V,2000))}})(),()=>{_=!0}},[Z]),U9(()=>{return()=>{if(M9.current)clearInterval(M9.current)}},[]),U9(()=>{I9.sessionHistory=Q??null,I9.memoriaFactory=M3.current},[Q]);let c8=I0(void 0),I5=I0(null),v=I0(void 0);U9(()=>{let _=!1;return(async()=>{try{let O=await J.recallUserName();if(_)return;H9(O);let N=$.getPrimary(),P;if(N){if(P=await $.getArionMemoria(N)??J.components.memoria,N.preferredModel)h(N.preferredModel)}else P=J.components.memoria;let f=await P.count();if(_)return;t0(f)}catch{}})(),()=>{_=!0}},[J,$]),U9(()=>{let _=!1;return(async()=>{try{let{resultFrame:O}=await x("arion.list",{});if(!O)throw Error("arion.list produced no result frame");if(!O.ok)throw Error(O.error.message);let N=O.result.arions??[];if(_)return;_0(N.map((P)=>({name:P.name,emoji:P.emoji,color:P.color,description:P.personality?.traits?.slice(0,2).join(", ")||"",isActive:$.isActive(P.name),isResting:P.status==="resting"})))}catch(O){if(_)return;M((N)=>[...N,e(`Failed to load arions: ${O.message}`)])}})(),()=>{_=!0}},[x,$]),U9(()=>{let _=!0,O=null,N=async(f,k)=>{if(!S9)return null;let D=null;for await(let V of S9.dispatch({kind:"request",requestId:`${f}:${DH()}`,op:f,input:k}))if(V.kind==="result")D=V;return D};return(async()=>{let f=async()=>{try{let[k,D,V]=await Promise.all([N("peer.list",{}),N("peer.list_nearby",{}),N("client.list",{})]);if(!_||!k?.ok||!D?.ok||!V?.ok)return;let u=k.result.peers??[],Y0=D.result.peers??[],h0=V.result.clients??[],L9=Y0.map((f0)=>({displayNameSnapshot:f0.displayNameSnapshot,nodeId:f0.nodeId,host:f0.host,port:f0.port,principalFingerprint:f0.principalFingerprint,version:f0.version,tlsCaFingerprint:f0.tlsCaFingerprint,transport:f0.transport,status:f0.status})),y6=u.filter((f0)=>f0.transportState==="connected").map((f0)=>({displayNameSnapshot:f0.displayNameSnapshot??f0.nodeId,nodeId:f0.nodeId,version:"runtime",transport:"wan",status:"connected"}));x4(CW(L9,y6)),u4(h0.map((f0)=>({clientId:f0.clientId,clientKind:f0.clientKind,displayLabel:f0.displayLabel,self:f0.self})))}catch(k){if(IX(k)){if(_=!1,O)clearInterval(O);O=null;return}}};if(await f(),O=setInterval(f,30000),!_&&O)clearInterval(O),O=null})(),()=>{if(_=!1,O)clearInterval(O)}},[S9]),U9(()=>{let _=!0;if(!U)return;return U(!0).then((O)=>{if(_)A8(O)}).catch((O)=>{y0.debug("[InkREPL] Background model refresh failed:",O.message)}),()=>{_=!1}},[U]);let L0=t7(()=>new Set(my.map((_)=>`${_.provider}:${_.id}`)),[]),l0=t7(()=>MX(r1),[r1]),k$=l0.map((_)=>({name:_.shortName,value:ay(_),description:_.description||"",provider:_.provider,isCurrent:_.shortName===P0,knownModel:L0.has(`${_.provider}:${_.id}`)})),b9=o(async()=>{try{let{resultFrame:_}=await x("arion.list",{});if(!_)throw Error("arion.list produced no result frame");if(!_.ok)throw Error(_.error.message);let O=_.result.arions??[];_0(O.map((N)=>({name:N.name,emoji:N.emoji,color:N.color,description:N.personality?.traits?.slice(0,2).join(", ")||"",isActive:$.isActive(N.name),isResting:N.status==="resting"})))}catch(_){y0.warn("Failed to refresh arions list:",_.message)}},[x,$]),N1=o(async()=>{let _=$.getPrimary();if(_){let O=await $.getArionMemoria(_);if(O)return O}return J.components.memoria},[$,J]),S5=o(async()=>{cH(!0);try{let _=await N1(),O=await _.list({limit:100});c4(O.map((P)=>({id:P.id,content:P.content,network:P.network,createdAt:P.createdAt??new Date,importance:P.importance})));let N=await _.count();t0(N)}catch(_){c4([]),M((O)=>[...O,e(`Failed to load memories: ${_.message}`)])}finally{cH(!1)}},[N1]),Hq=o(()=>{if(!Q)return;try{let O=B$.current*100,N=Q.listSessions(100,O);P8(N)}catch(_){y0.warn("Failed to load sessions:",_)}},[Q]),Kq=o((_)=>{if(!Q)return;try{let O=_.trim();if(q3.current=O,B$.current=0,x6.current)clearTimeout(x6.current),x6.current=null;if(!O){P8(Q.listSessions(100,0));return}let N=++jH.current;x6.current=setTimeout(()=>{try{let P=Q.searchSessionsFts(O,100,0);if(N!==jH.current)return;if(q3.current!==O)return;P8(P)}catch(P){y0.warn("Failed to execute scheduled session search:",P)}},120)}catch(O){y0.warn("Failed to search sessions:",O)}},[Q]);U9(()=>{return()=>{if(x6.current)clearTimeout(x6.current),x6.current=null}},[]);let Jq=o((_)=>{if(!Q)return;try{let O=_==="next"?B$.current+1:Math.max(0,B$.current-1),N=O*100,P=q3.current,f=P?Q.searchSessionsFts(P,100,N):Q.listSessions(100,N);if(_==="next"&&f.length===0)return;B$.current=O,P8(f)}catch(O){y0.warn("Failed to paginate sessions:",O)}},[Q]);U9(()=>{let _=new AbortController;return(async()=>{if(!Q)return;try{let N=await N1();if(_.signal.aborted)return;let P=await Dy({sessionHistory:Q,memoria:N,router:K,signal:_.signal});if(!_.signal.aborted&&P.recovered>0)y0.debug(`[InkREPL] Recovered learning from ${P.recovered} incomplete session${P.recovered===1?"":"s"}.`)}catch(N){y0.warn("[InkREPL] Crash recovery failed:",N)}})(),()=>{_.abort()}},[Q,N1,K]);let ZK=o(async(_)=>{try{let O=await N1();if("session"in O&&typeof O.session==="function")O.session(_);if("endSession"in O&&typeof O.endSession==="function")h9.current=O,I9.memoriaSession=h9.current}catch(O){y0.warn("[InkREPL] Memoria session start failed (non-critical):",O)}},[N1]),XK=o(async(_)=>{if(!_||!h9.current)return;try{await h9.current.endSession(_)}catch(O){y0.warn("[InkREPL] Memoria session end failed (non-critical):",O)}},[]),b5=o((_)=>{R6.current=k3(m5(_).filter((O)=>O.role!=="system"))},[]),E8=o((_)=>{if(!Q)return;let O=Q.loadSessionMessages(_);if(!O)return;b5(O.messages)},[Q,b5]),j8=o(()=>{i6((_)=>_+1)},[]),{columns:Zq,rows:Xq}=f9(),gX=I0(!0);U9(()=>{if(gX.current){gX.current=!1;return}let _=setTimeout(()=>{process.stdout.write("\x1B[2J\x1B[H"),j8()},100);return()=>clearTimeout(_)},[Zq,Xq,j8]);let k5=o((_,O)=>{try{mZ({sessionId:_,arionName:O,pid:process.ppid||process.pid,timestamp:new Date().toISOString()})}catch(N){y0.debug(`[InkREPL] Failed to publish relaunch marker: ${N instanceof Error?N.message:String(N)}`)}},[]),g$=o(async(_)=>{if(!Q)return;if(B0.current)return;try{F1("ink-repl:resume:session.load");let{resultFrame:O}=await x("session.load",{sessionId:_});if(i9(),!O)throw Error("session.load produced no result frame");if(!O.ok){M((V)=>[...V,e(O.error.message||`Session not found: ${_}`)]);return}let N=O.result,P=N.session;if(!P){M((V)=>[...V,e(`Session not found: ${_}`)]);return}let f=P.messages,k=Q.getSessionRuntimeState(_);if(!k||k.stateStatus!=="completed"){F1("ink-repl:resume:jsonlCrashRecovery");let V=process.env.ARIA_HOME??`${process.env.HOME}/.aria`,u=P.arion||$.getPrimary()?.name||"ARIA",Y0=p5(V,u,_),{messages:h0,backfillMessages:L9}=d5(P.messages,Y0);if(f=h0,L9.length>0){for(let y6 of L9)Q.addConversationMessage(_,y6);y0.debug(`[InkREPL] JSONL→SQLite backfill: ${L9.length} messages recovered`)}i9()}$.clearHistory(),A0.current=_,n7(_),dZ(P.arion||$.getPrimary()?.name||"ARIA"),k5(_,P.arion||$.getPrimary()?.name||"ARIA"),I9.sessionId=_,await new Promise((V)=>setTimeout(V,0)),F1("ink-repl:resume:setSessionMessages"),b5(f),i9(),j8(),M([r(`Resumed session (${f.length} messages from ${P.arion})`),...f]),U1([]),n6(void 0),F1("ink-repl:resume:appendSessionHistory");for(let V of f){if(V.role==="tool")continue;let u=V.content.filter((Y0)=>Y0.type==="text").map((Y0)=>Y0.text).join("");if(V.role==="assistant"&&!u)continue;S$({role:V.role,content:u,arion:V.arion?.name})}if(i9(),N.pendingInteraction)await I5.current?.({pendingInteraction:{interactionId:N.pendingInteraction.interactionId,source:N.pendingInteraction.source,interaction:N.pendingInteraction.prompt},startedAt:Date.now(),abortSignal:new AbortController().signal})}catch(O){i9(),M((N)=>[...N,e(`Error resuming session: ${CX(O)}`)])}},[Q,$,XK,ZK,x,k5,S$,b5,j8]),vX=o(async(_)=>{let O=Array.isArray(_.result.messages)?k3(structuredClone(_.result.messages.filter((k)=>k.role!=="system"))):R6.current,N=R6.current.length,P=O.slice(N);if(P.length>0){let k=l8(P,{arion:_.respondingArionName?{name:_.respondingArionName,emoji:"\uD83E\uDD8B"}:void 0}),D=A0.current;if(Q&&D)Q.addConversationMessages(D,k);M((V)=>[...V,...k])}R6.current=O;let f=_.result.usage;if(a6((k)=>({...k,...typeof _.result.turnCount==="number"?{turnCount:_.result.turnCount}:{},...typeof f?.totalTokens==="number"?{totalTokens:f.totalTokens}:{},...typeof f?.estimatedCost==="number"?{estimatedCost:f.estimatedCost}:{}})),_.result.state)return _.result.state;if(!_.result.success)throw Object.assign(Error(BX(_.result.error??"Run resume failed",_.result.diagnostic)??_.result.error??"Run resume failed"),{..._.result.diagnostic===void 0?{}:{diagnostic:_.result.diagnostic}});L3(O,_.respondingArionName),T0((Date.now()-_.startedAt)/1000);try{let D=await(await N1()).count();t0(D)}catch(k){y0.warn("Memory finalization failed:",k)}return await b9(),null},[L3,N1,b9,Q]),g5=o(async(_)=>{if(!S9)throw Error("Headless run kernel unavailable for REPL resume");if(!await o6(_.abortSignal))throw Error("Local runtime control unavailable for REPL resume");let N=null,P=null;for await(let f of S9.dispatch({kind:"interaction.respond",requestId:`${A0.current??"session"}:interaction:${DH()}`,interactionId:_.interactionId,response:_.response},{signal:_.abortSignal})){if(_.abortSignal?.aborted)break;if(f.kind==="interaction.required")N={interactionId:f.interactionId,source:f.source,interaction:f.interaction};else if(f.kind==="result")P=f}if(_.abortSignal?.aborted)return N;if(!P)throw Error("Headless run interaction produced no result frame");if(P.ok)return await vX({result:P.result,respondingArionName:_.respondingArionName,startedAt:_.startedAt}),null;if(P.error.code==="INTERACTION_REQUIRED")return N;throw Object.assign(Error(P.error.message),{...P.error.details===void 0?{}:{diagnostic:P.error.details}})},[S9,vX,o6]),v5=o(async(_)=>{let O=_.pendingInteraction;while(O?.interaction.kind==="tool_approval"&&!_.abortSignal.aborted){let N=await X0({toolName:O.interaction.toolName,input:O.interaction.toolInput,riskLevel:uy(O.interaction.riskLevel),...O.interaction.issues?.length?{issues:O.interaction.issues}:{}});O=await g5({interactionId:O.interactionId,response:{kind:"confirm",approved:N},respondingArionName:_.respondingArionName,startedAt:_.startedAt,abortSignal:_.abortSignal})}if(_.abortSignal.aborted)return;if(O?.interaction.kind==="questionnaire"){let N=O.interaction.questions;l({interactionId:O.interactionId,questions:N,answers:[],..._.respondingArionName?{respondingArionName:_.respondingArionName}:{},startedAt:_.startedAt}),M((P)=>[...P,r($q(N[0],0,N.length))]),U1([]),await b9();return}if(O){let N=O.interaction.kind==="tool_approval"?`Run paused: approval required for ${O.interaction.toolName}${e_(O.interaction.toolInput)?` (${e_(O.interaction.toolInput)})`:""}.`:"Run paused and requires interaction to continue.";M((P)=>[...P,r(N)]),U1([]),await b9()}},[b9,X0,g5]);I5.current=v5;let s6=o((_)=>{if(B0.current){K0.current=K0.current?K0.current+`
470
-
471
- `+_:_,c0(K0.current);return}(async()=>{if(q9){h8(_);let S0=[...q9.answers,_];if(S0.length<q9.questions.length){l({...q9,answers:S0}),M((x0)=>[...x0,r($q(q9.questions[S0.length],S0.length,q9.questions.length))]);return}w9.current=new AbortController;let b0=w9.current.signal;B0.current=!0,y({type:"START_TURN"}),l(null);try{let x0=await g5({interactionId:q9.interactionId,response:{kind:"questionnaire",answers:S0},respondingArionName:q9.respondingArionName,startedAt:q9.startedAt,abortSignal:b0});await v5({pendingInteraction:x0,respondingArionName:q9.respondingArionName,startedAt:q9.startedAt,abortSignal:b0})}catch(x0){D8(x0),M((B6)=>[...B6,e(`Error: ${x0.message}`)])}finally{w9.current=null,B0.current=!1,y({type:"DISCARD_STREAMING"}),U1([])}return}let O=xW(_);if(O&&c8.current){await c8.current(O.command,O.args);return}DW(),w9.current=new AbortController;let N=w9.current.signal;B0.current=!0,y({type:"START_TURN"});let P=hy(_);if(Q&&!A0.current)try{let b0=$.getPrimary()?.name||"ARIA";A0.current=Q.createSession(b0,P0),n7(A0.current),dZ(b0),k5(A0.current,b0),I9.sessionId=A0.current;try{let x0=process.send;if(typeof x0==="function")x0({type:"aria-relaunch",resumeSessionId:A0.current,arionName:b0})}catch{}await ZK(A0.current)}catch(S0){y0.warn("[InkREPL] SQLite session creation failed (non-fatal):",S0)}if(!I9.jsonlLogger&&f6.persistence.jsonlEnabled){let S0=$.getPrimary()?.name||"ARIA",x0=`${process.env.ARIA_HOME??`${process.env.HOME}/.aria`}/arions/${S0}/logs`;I9.jsonlLogger=new Ey({logDir:x0,sessionId:A0.current||DH(),retentionDays:f6.persistence.jsonlRetentionDays,maxSizeMb:f6.persistence.jsonlMaxSizeMb}),I9.jsonlLogger.rotate().catch((B6)=>{y0.warn("[InkREPL] JSONL log rotation failed:",B6)})}for(let S0 of P.mentions)if(!$.isActive(S0))try{await $.activate(S0)}catch(b0){let x0=b0.message?.toLowerCase()||"";if(!x0.includes("not found")&&!x0.includes("unknown"))y0.warn(`Failed to activate @${S0}:`,b0.message)}let f=[];for(let S0 of P.mentions){let b0=$.getActiveArions().find((x0)=>x0.name.toLowerCase()===S0.toLowerCase());if(b0)f.push(b0)}if(f.length===0){let S0=$.getPrimary();if(S0)f.push(S0)}h8(_),U1([]),n6(void 0);let k=Date.now();if(R3(0),tH.current=k,a6({turnCount:0,totalTokens:0,estimatedCost:0,wallTimeSeconds:0,contextTokens:0,contextStale:!1}),M9.current)clearInterval(M9.current);eH.current=0,M9.current=null;let D=new D$,V=100,u=!1,Y0=setInterval(()=>{let S0=Math.floor((Date.now()-tH.current)/1000);if(S0!==eH.current)eH.current=S0,f0={...f0??{},wallTimeSeconds:S0};if(f0)a6((b0)=>({...b0,...f0})),f0=null;if(u&&D.hasPendingContent())y({type:"UPDATE_STREAM",snapshot:[...D.snapshot()]}),u=!1},V),h0,L9=[],y6=n1(),f0=null;try{if(h0=(await $.getRespondingArions(_,f,[]))[0]?.arion||$.getPrimary(),sH(h0?.name),b$.current=h0?.name,h0)D.setArion({name:h0.name,emoji:h0.emoji??"\uD83E\uDD8B",color:h0.color??void 0});D.setVerb(y6.present);let b0=O0();if(!S9)throw Error("Headless run kernel unavailable for REPL submit");let x0=await o6(N);if(N.aborted)return;if(!x0)throw Error("Local runtime control unavailable for REPL submit");L9=k3([...R6.current]);let B6=A0.current,C3=null,T$=null,wq=gy(M$.current).length>0?"pause":"approve",Cq={task:_,arion:b$.current||h0?.name||b0.activeArion||"ARIA",cwd:process.cwd(),...L9.length>0?{history:L9}:{},...j.current?{requestedModel:j.current}:{},...b0.preferredTier?{preferredTier:b0.preferredTier}:{},autonomy:M$.current,approvalMode:wq};for await(let R0 of S9.dispatch({kind:"request",requestId:B6??DH(),op:"run.start",input:Cq},{signal:N})){if(N.aborted)break;if(R0.kind==="interaction.required"){C3={interactionId:R0.interactionId,source:R0.source,interaction:R0.interaction};continue}if(R0.kind==="result"){T$=R0;continue}let s=R0.event;if(I9.jsonlLogger?.log(s),cW(s),s.type==="handoff_start"||s.type==="handoff_result"){if(s.type==="handoff_result"){let p0=$.getActiveArions().find((D9)=>D9.name.toLowerCase()===s.target.toLowerCase());if(p0)h0=p0,D.setArion({name:p0.name,emoji:p0.emoji??"\uD83E\uDD8B",color:p0.color??void 0})}}if(s.type==="span_start"){let p0="parentSpanId"in s&&typeof s.parentSpanId==="string"?s.parentSpanId:void 0;U1((D9)=>[...D9,{spanId:s.spanId,spanType:s.spanType,name:s.name,startTime:Date.now(),...p0?{parentSpanId:p0}:{}}])}if(s.type==="span_end")U1((p0)=>p0.map((D9)=>D9.spanId===s.spanId?{...D9,endTime:Date.now(),durationMs:s.durationMs}:D9));if(s.type==="pipeline_timing")n6(s.report);if(s.type==="error")throw Error(BX(s.error.message,"diagnostic"in s.error?s.error.diagnostic:void 0)??s.error.message);if(s.type==="usage_update"){let p0=s.usage;if(typeof p0.inputTokens==="number"&&typeof p0.outputTokens==="number")D.setTokenUsage({input:p0.inputTokens,output:p0.outputTokens});if(f0={...f0??{},...typeof p0.totalTokens==="number"?{totalTokens:p0.totalTokens}:{},...typeof p0.estimatedCost==="number"?{estimatedCost:p0.estimatedCost}:{},...typeof p0.inputTokens==="number"?{contextTokens:p0.inputTokens}:{},contextStale:!1},"model"in s&&typeof s.model==="string"){let D9=dy(s.model);if(D9!==P0)h(D9),j.current=D9}}if(s.type==="turn_complete")f0={...f0??{},turnCount:s.turnNumber};if(s.type==="tool_result")f0={...f0??{},contextStale:!0};if(D.ingest(s)==="flush"){let p0=D.flush(),D9=A0.current;if(Q&&D9)for(let D5 of p0)Q.addConversationMessage(D9,D5);y({type:"COMMIT_TURN",flushed:p0}),u=!1}else u=!0}if(w5(null),VW(),clearInterval(Y0),u&&D.hasPendingContent())y({type:"UPDATE_STREAM",snapshot:[...D.snapshot()]}),u=!1;if(M9.current)clearInterval(M9.current),M9.current=null;if(a6((R0)=>({...R0,wallTimeSeconds:(Date.now()-tH.current)/1000})),D.hasPendingContent()){let R0=D.flush(),s=A0.current;if(Q&&s)for(let n9 of R0)Q.addConversationMessage(s,n9);y({type:"COMMIT_AND_END",flushed:R0})}else y({type:"COMMIT_AND_END",flushed:[]});U1([]),T0((Date.now()-k)/1000),await new Promise((R0)=>setTimeout(R0,0));let h5=D.getSnapshotMessages()?.filter((R0)=>R0.role!=="system"),YK=!!(h5&&h5.length>0);if(YK){let R0=performance.now();F1("ink-repl:structuredClone");let s=structuredClone(h5),n9=performance.now();F1("ink-repl:repairToolCallPairing"),R6.current=k3(s);let p0=performance.now();i9();let D9=n9-R0,D5=p0-n9;if(process.env.DEBUG&&D9+D5>100)try{process.stderr.write(`[InkREPL][DIAG] post-processing: structuredClone=${D9.toFixed(0)}ms repairToolCallPairing=${D5.toFixed(0)}ms (${h5.length} msgs)
472
- `)}catch{}}else if(Q&&A0.current)F1("ink-repl:refreshSessionMessagesFromStorage"),E8(A0.current),i9();if(N.aborted){if(D.hasPendingContent()){let R0=D.flush(),s=A0.current;if(Q&&s)for(let n9 of R0)Q.addConversationMessage(s,n9);y({type:"COMMIT_AND_END",flushed:R0})}else y({type:"DISCARD_STREAMING"});if(Q&&A0.current)E8(A0.current);if(U1([]),B0.current=!1,w9.current=null,M9.current)clearInterval(M9.current),M9.current=null}if(!N.aborted){if(B0.current=!1,!T$)throw Error("Headless run produced no result frame");if(C3){if(D.hasPendingContent()){let R0=D.flush(),s=A0.current;if(Q&&s)for(let n9 of R0)Q.addConversationMessage(s,n9);if(M((n9)=>[...n9,...R0]),!YK&&s)E8(s)}await v5({pendingInteraction:C3,...h0?.name?{respondingArionName:h0.name}:{},startedAt:k,abortSignal:N})}else{if(!T$.ok)throw Object.assign(Error(T$.error.message),{...T$.error.details===void 0?{}:{diagnostic:T$.error.details}});if(D.hasPendingContent()){let R0=D.flush(),s=A0.current;if(Q&&s)for(let n9 of R0)Q.addConversationMessage(s,n9);if(M((n9)=>[...n9,...R0]),!YK&&s)E8(s)}L3(R6.current,h0?.name),N1().then((R0)=>R0.count()).then((R0)=>t0(R0)).catch((R0)=>y0.warn("Memory finalization failed:",R0)),b9().catch((R0)=>y0.warn("Arion list refresh failed:",R0))}}}catch(S0){D8(S0),clearInterval(Y0);try{if(D.hasPendingContent()){let b0=D.flush(),x0=A0.current;if(Q&&x0){for(let B6 of b0)Q.addConversationMessage(x0,B6);E8(x0)}y({type:"COMMIT_AND_END",flushed:b0})}else y({type:"DISCARD_STREAMING"})}catch(b0){y0.warn("[InkREPL] Failed to persist messages on error path:",b0?.message)}if(w5(null),M9.current)clearInterval(M9.current),M9.current=null;B0.current=!1,U1([]),M((b0)=>[...b0,e(`Error: ${S0.message}`)])}let t6=K0.current;if(t6)K0.current=null,c0(null),setTimeout(()=>s6(t6),0)})().catch((O)=>{D8(O),B0.current=!1,y({type:"DISCARD_STREAMING"}),M((P)=>[...P,e(`Error: ${O.message}`)]);let N=K0.current;if(N)K0.current=null,c0(null),setTimeout(()=>s6(N),0)})},[K,$,H,d0,b9,J,N1,L3,ZK,v5,S9,k5,D8,P0,g5,Q,E8,I,o6]),TX=I0(s6);TX.current=s6,U9(()=>{let _=F||w4();if(!_){u1.current=Promise.resolve();return}if(_&&!_1.current)_1.current=!0,u1.current=g$(_)},[F,g$]),U9(()=>{if(!W||W1.current)return;let _=!1;return(async()=>{if(F||w4())await u1.current;if(_||W1.current)return;W1.current=!0,await s6(W)})(),()=>{_=!0}},[W,s6,F]);let Qq=o(()=>{if(w9.current){if(w9.current.abort(),w9.current=null,B0.current=!1,y({type:"DISCARD_STREAMING"}),M9.current)clearInterval(M9.current),M9.current=null}},[]),Gq=o(()=>{let _=K0.current;if(!_)return;K0.current=null,c0(null),GK(_)},[]),Yq=o(()=>{oH((_)=>{let O=tX(_);return B3((N)=>{let P=eX(_,N);return $Q(O,P)}),O})},[]),zq=o(()=>{B3((_)=>({..._,showThinking:!_.showThinking}))},[]),Wq=o(()=>{B3((_)=>({..._,showCosts:!_.showCosts}))},[]),_q=o(()=>{B3((_)=>({..._,showTraces:!_.showTraces}))},[]),hX=o(async(_,O)=>{switch(_){case"help":{let N=VZ.map((P)=>`/${P.name} - ${P.description}`).join(`
473
- `);M((P)=>[...P,r(N)]);break}case"arions":{try{let{resultFrame:N}=await x("arion.list",{});if(!N)throw Error("arion.list produced no result frame");if(!N.ok)throw Error(N.error.message);let f=(N.result.arions??[]).map((k)=>`${k.emoji} ${k.name} (${k.status})`).join(`
474
- `);M((k)=>[...k,r(f||"No arions found")])}catch(N){M((P)=>[...P,e(`Failed to list arions: ${N.message}`)])}break}case"sound":{let N=O?.trim().toLowerCase();if(N==="on"||N==="off"){let P=N==="on";DZ(P);let f=O0();f.soundEnabled=P,E0(f),M((k)=>[...k,r(`Sound notifications ${P?"enabled":"disabled"}.`)])}else{let P=vW()?"on":"off";M((f)=>[...f,r(`Sound notifications: ${P}
475
- Usage: /sound on | /sound off`)])}break}case"exit":{S();break}case"hatch":{let N=O?.trim();if(!N){M((P)=>[...P,r(`Usage: /hatch <name> [description]
476
- Example: /hatch Luna a dreamy, creative assistant
477
-
478
- Describe the arion you want to create and ARIA will help design and hatch them.`)]);break}try{let P=N.split(/\s+/),f=P[0],k=P.slice(1).join(" "),{resultFrame:D}=await x("arion.hatch",{name:f,...k?{description:k}:{}});if(!D)throw Error("arion.hatch produced no result frame");if(!D.ok)throw Error(D.error.message);let V=D.result.prompt;if(!V)throw Error("arion.hatch did not return a prompt");await s6(V)}catch(P){M((f)=>[...f,e(`Error: ${P.message}`)])}break}case"remember":{try{let{resultFrame:N}=await x("memory.remember",{text:O??""});if(!N)throw Error("memory.remember produced no result frame");if(!N.ok)throw Error(N.error.message);let P=N.result;M((k)=>[...k,r(String(P.message??"Memory saved."))]);let f=P.data?.count;if(typeof f==="number")t0(f)}catch(N){M((P)=>[...P,e(`Error remembering: ${N.message}`)])}break}case"recall":{try{let{resultFrame:N}=await x("memory.recall",{query:O??""});if(!N)throw Error("memory.recall produced no result frame");if(!N.ok)throw Error(N.error.message);let P=N.result,f=P.memories,k=String(P.message??"No memories found.");if(Array.isArray(f)&&f.length>0){let D=f.map((V,u)=>{let Y0=V,h0=typeof Y0.content==="string"?Y0.content:String(V),L9=h0.length>80?h0.slice(0,80)+"...":h0,y6=typeof Y0.confidence==="number"?`(${Math.round(Y0.confidence*100)}%) `:"",f0=Y0.createdAt instanceof Date?Y0.createdAt.toISOString().slice(0,10):String(Y0.createdAt??"").slice(0,10),t6=typeof Y0.id==="string"?Y0.id.slice(0,8):"unknown",S0=typeof Y0.network==="string"&&Y0.network.trim().length>0?Y0.network:"default";return`[${u+1}] ${y6}${L9} [${S0}] ${f0} (${t6})`}).join(`
479
- `);k=`Found ${f.length} memories:
480
- ${D}`}M((D)=>[...D,r(k)])}catch(N){M((P)=>[...P,e(`Error recalling: ${N.message}`)])}break}case"recall_knowledge":{if(O?.trim())try{let{resultFrame:N}=await x("memory.recall_knowledge",{topic:O.trim(),limit:5});if(!N)throw Error("memory.recall_knowledge produced no result frame");if(!N.ok)throw Error(N.error.message);let P=N.result,f=Array.isArray(P.tools)?P.tools:[];if(f.length===0)M((k)=>[...k,r(`No tools found for: "${O.trim()}"`)]);else{let k=f.map((D,V)=>{let u=D.description.length>80?D.description.slice(0,80)+"...":D.description;return`[${V+1}] ${D.name} - ${u}`}).join(`
481
- `);M((D)=>[...D,r(`Found ${f.length} tool items:
482
- ${k}`)])}}catch(N){M((P)=>[...P,e(`Error recalling tools: ${N.message}`)])}else M((N)=>[...N,r(`Usage: /recall_knowledge <topic>
483
- Searches stored tools (skills, procedures, techniques) by topic.`)]);break}case"send":{try{let N=$.getPrimary()?.name??"ARIA",{resultFrame:P}=await x("message.send",{args:O??"",senderName:N});if(!P)throw Error("message.send produced no result frame");let f=P.ok?P.result:{message:P.error.message};M((k)=>[...k,P.ok?r(f.message??"Message sent."):e(f.message??"Failed to send message.")])}catch(N){M((P)=>[...P,e(`Failed to send peer message: ${N.message}`)])}break}case"clear":{if(B0.current)break;let N=A0.current;if(N)await XK(N);if($.clearHistory(),R6.current=[],A0.current=null,n7(null),I9.sessionId=null,I9.jsonlLogger)I9.jsonlLogger.close().catch((P)=>{y0.warn("[InkREPL] JSONL logger close failed:",P?.message??P)}),I9.jsonlLogger=null;U1([]),n6(void 0),process.stdout.write("\x1B[2J\x1B[H"),j8(),M([r("Conversation cleared.")]);break}case"resume":{if(O?.trim())await g$(O.trim());else K5((N)=>(N??0)+1);break}case"fork":{if(B0.current)break;let N=O?.trim().split(/\s+/).filter(Boolean)??[],P=N.includes("--stay"),f=N.filter((V)=>V!=="--stay"),k=A0.current,D;if(f.length===1&&/^\d+$/.test(f[0]))D=parseInt(f[0],10);else if(f.length>=1&&f[0]){if(k=f[0],f[1]&&/^\d+$/.test(f[1]))D=parseInt(f[1],10)}if(!k){M((V)=>[...V,r("No active session to fork. Start a conversation first or specify a session ID: /fork <session-id>")]);break}try{let{resultFrame:V}=await x("session.fork",{sessionId:k,...D!==void 0?{messageLimit:D}:{}});if(!V)throw Error("session.fork produced no result frame");if(!V.ok)throw Error(V.error.message);let u=V.result;if(P)M((Y0)=>[...Y0,r(`\uD83C\uDF74 Forked → ${u.newSessionId.slice(0,8)} (${u.messagesCopied} msgs). Resume it later with /resume ${u.newSessionId.slice(0,8)}`)]);else M((Y0)=>[...Y0,r(`\uD83C\uDF74 Forked ${u.sourceSessionId.slice(0,8)}→${u.newSessionId.slice(0,8)} (${u.messagesCopied} msgs)`)]),await g$(u.newSessionId)}catch(V){M((u)=>[...u,e(`Fork failed: ${V.message}`)])}break}case"rest":{let N=O?.trim();if(!N){M((P)=>[...P,r("Usage: /rest <arion-name>")]);break}try{let{resultFrame:P}=await x("arion.rest",{name:N});if(!P)throw Error("arion.rest produced no result frame");if(!P.ok)throw Error(P.error.message);M((f)=>[...f,r(`${N} is now resting.`)]),await b9()}catch(P){M((f)=>[...f,e(`Cannot rest ${N}: ${P.message}`)])}break}case"wake":{let N=O?.trim();if(!N){M((P)=>[...P,r("Usage: /wake <arion-name>")]);break}try{let{resultFrame:P}=await x("arion.wake",{name:N});if(!P)throw Error("arion.wake produced no result frame");if(!P.ok)throw Error(P.error.message);M((f)=>[...f,r(`${N} is now awake.`)]),await b9()}catch(P){M((f)=>[...f,e(`Cannot wake ${N}: ${P.message}`)])}break}case"become":{let N=O?.trim();if(!N){M((P)=>[...P,r("Usage: /become <arion-name>")]);break}try{let{resultFrame:P}=await x("arion.become",{name:N});if(!P)throw Error("arion.become produced no result frame");if(!P.ok)throw Error(P.error.message);let f=P.result.arion;if(!f)throw Error(`Arion ${N} not found`);let D=O0().preferredTier||"balanced",V=wX(D,R),u=f.preferredModel||V?.shortName||G;b$.current=f.name,sH(f.name),h(u),j.current=u,M((L9)=>[...L9,r(`Switched to ${f.name} (model: ${u})`)]);let h0=await(await N1()).count();t0(h0),await b9()}catch(P){M((f)=>[...f,e(`Cannot become ${N}: ${P.message}`)])}break}case"model":{let N=O?.trim()||"",P=N.toLowerCase();if(P==="refresh"){M((f)=>[...f,r("Discovering models from all providers...")]);try{let{resultFrame:f}=await x("model.refresh",{});if(!f)throw Error("model.refresh produced no result frame");if(!f.ok)throw Error(f.error.message);let k=f.result.models??r1,D=MX(k);M((V)=>[...V,r(`Updated model catalog (${D.length} selectable models)`)])}catch(f){M((k)=>[...k,e(`Discovery failed: ${f.message}`)])}break}if(!P||P==="list")try{let{resultFrame:f}=await x("model.list",{});if(!f)throw Error("model.list produced no result frame");if(!f.ok)throw Error(f.error.message);let k=f.result.models??r1,D=f.result.currentModel??P0,u=MX(k).map((Y0)=>` ${Y0.shortName.toLowerCase()===D.toLowerCase()?"→ ":" "}${Y0.provider}/${Y0.shortName} (${Y0.tier})`).join(`
484
- `);M((Y0)=>[...Y0,r(`Current model: ${D}
485
-
486
- Available models:
487
- ${u}
488
-
489
- Use /model <name> or /model <provider>/<name> to switch.`)])}catch(f){M((k)=>[...k,e(`Model listing failed: ${f.message}`)])}else try{let{resultFrame:f}=await x("model.set",{model:N});if(!f)throw Error("model.set produced no result frame");if(!f.ok)throw Error(f.error.message);let k=f.result.currentModel??N;M((D)=>[...D,r(`Switched model to ${k}`)])}catch(f){M((k)=>[...k,e(`Unknown model: ${N}. Use /model list to see available models. ${f.message}`)])}break}case"autonomy":{if(O&&O.trim())try{let N=O.trim().toLowerCase(),{resultFrame:P}=await x("config.autonomy.set",{autonomy:N});if(!P)throw Error("config.autonomy.set produced no result frame");if(!P.ok)throw Error(P.error.message);M((f)=>[...f,r(`Autonomy level set to: ${N}`)])}catch(N){M((P)=>[...P,e(`Invalid autonomy level: ${O.trim().toLowerCase()}. ${N.message}`)])}else O8(!0);break}case"memories":{try{let{resultFrame:N}=await x("memory.list",{limit:20});if(!N)throw Error("memory.list produced no result frame");if(!N.ok)throw Error(N.error.message);let P=N.result,f=typeof P.count==="number"?P.count:0;if(f===0)M((k)=>[...k,r("No memories stored. Use /remember to store memories.")]);else{let D=(Array.isArray(P.memories)?P.memories:[]).map((V)=>` [${V.id.slice(0,8)}] ${V.content.slice(0,80)}${V.content.length>80?"...":""}`).join(`
490
- `);M((V)=>[...V,r(`Memories (${f} total):
491
- ${D}`)])}}catch(N){M((P)=>[...P,e(`Failed to list memories: ${N.message}`)])}break}case"forget":{try{let{resultFrame:N}=await x("memory.forget",{id:O??""});if(!N)throw Error("memory.forget produced no result frame");if(!N.ok)throw Error(N.error.message);let P=N.result;if(M((f)=>[...f,r(String(P.message??"Memory deleted."))]),typeof P.count==="number")t0(P.count)}catch(N){M((P)=>[...P,e(`Failed to delete memory: ${N.message}`)])}break}case"restart":{let N=O?.trim()||"User requested /restart";M((P)=>[...P,r("Restarting ARIA...")]),setTimeout(()=>{(async()=>{try{let{resultFrame:P}=await x("system.restart",{reason:N});if(!P)throw Error("system.restart produced no result frame");if(!P.ok)throw Error(P.error.message)}catch(P){M((f)=>[...f,e(`Restart preparation failed: ${P.message}`)])}try{await pW(N,A0.current)}catch(P){M((f)=>[...f,e(`Restart failed: ${P.message}`)])}})()},100);break}case"terminal-setup":{try{let{resultFrame:N}=await x("system.terminal_setup",{});if(!N)throw Error("system.terminal_setup produced no result frame");if(!N.ok)throw Error(N.error.message);let P=N.result;M((f)=>[...f,r(P.supported===!1?P.message??"terminal-setup is unavailable.":P.output??"")])}catch(N){M((P)=>[...P,e(`terminal-setup failed: ${N.message}`)])}break}case"login":{try{await a1("auth.login",O??"")}catch(N){M((P)=>[...P,e(`Login failed: ${N.message}`)])}break}case"logout":{try{await a1("auth.logout",O??"")}catch(N){M((P)=>[...P,e(`Logout failed: ${N.message}`)])}break}case"theme":{let N=(O??"").trim().toLowerCase();if(!N){J5((P)=>(P??0)+1);break}try{let{resultFrame:P}=await x("config.theme.set",{theme:N});if(!P)throw Error("config.theme.set produced no result frame");if(!P.ok)throw Error(P.error.message);M((f)=>[...f,r(`Theme changed to ${H2(N)?.displayName??N} (${N})`)])}catch(P){let f=I6();M((k)=>[...k,e(`Unknown theme "${N}". Available: ${f.join(", ")}. ${P.message}`)])}break}case"invite":{await Oq(O?.trim());break}case"join":{let N=O?.trim();if(N)await VX(N);else rH(null),n4((P)=>(P??0)+1);break}case"peers":{R5((N)=>(N??0)+1);break}case"clients":{I$((N)=>(N??0)+1);break}default:{M((N)=>[...N,r(`Unknown command: /${_}. Type /help for available commands.`)]);break}}},[H,K,J,P0,r1,l0,R,x,S,N1,s6,g$,XK,G,U,b9,$,j8]);c8.current=hX;let qq=o(async(_,O)=>{if(O==="mention")return;try{if(O==="become"){let{resultFrame:N}=await x("arion.become",{name:_});if(!N)throw Error("arion.become produced no result frame");if(!N.ok)throw Error(N.error.message);let P=N.result.arion;if(!P)throw Error(`Arion ${_} not found`);let k=O0().preferredTier||"balanced",D=wX(k,R),V=P.preferredModel?t_(P.preferredModel):void 0,u=(V?VH(V,R).shortName:void 0)||D?.shortName||G;h(u),j.current=u,M((L9)=>[...L9,r(`Switched to ${P.name} (model: ${u})`)]);let h0=await(await N1()).count();t0(h0)}else if(O==="rest"){let{resultFrame:N}=await x("arion.rest",{name:_});if(!N)throw Error("arion.rest produced no result frame");if(!N.ok)throw Error(N.error.message);M((P)=>[...P,r(`${_} is now resting`)])}else if(O==="wake"){let{resultFrame:N}=await x("arion.wake",{name:_});if(!N)throw Error("arion.wake produced no result frame");if(!N.ok)throw Error(N.error.message);M((P)=>[...P,r(`${_} is now awake`)])}await b9()}catch(N){M((P)=>[...P,e(`Error: ${N.message}`)])}},[R,x,N1,G,b9]),DX=o(async(_,O)=>{let{resultFrame:N}=await x("model.set",{model:_});if(!N)throw Error("model.set produced no result frame");if(!N.ok)throw Error(N.error.message);let P=N.result.currentModel??_;if(O){v0(O);let f=O0();f.effortLevel=O,E0(f)}M((f)=>[...f,r(`Switched to ${P}`)])},[x]);v.current=DX;let QK=o(async(_)=>{try{let{resultFrame:O}=await x("config.theme.set",{theme:_.name});if(!O)throw Error("config.theme.set produced no result frame");if(!O.ok)throw Error(O.error.message);M((N)=>[...N,r(`Theme changed to ${_.displayName} (${_.name})`)])}catch(O){M((N)=>[...N,e(`Theme change failed: ${O.message}`)])}},[x]),Nq=I0(QK);Nq.current=QK;let Fq=o(async(_)=>{if(_.status==="connected"){try{}catch{}M((P)=>[...P,r(`✓ Already connected to ${_.displayNameSnapshot} (same identity, shared server on port ${_.port}).`)]);return}let O=_.host&&Ty(_.host);if(_.transport!=="wan"&&_.host&&!O){M((P)=>[...P,e(`Rejected: ${_.host} is not a private LAN address.`)]);return}try{if(!_.principalFingerprint)throw Error(`${_.displayNameSnapshot} did not advertise a principal fingerprint`);if(!_.tlsCaFingerprint)throw Error(`${_.displayNameSnapshot} did not advertise a TLS fingerprint`);if(!_.host||!_.port)throw Error(`${_.displayNameSnapshot} did not advertise a control endpoint`);let{resultFrame:P}=await x("peer.connect",{nodeId:_.nodeId,displayName:_.displayNameSnapshot,principalFingerprint:_.principalFingerprint,controlEndpoint:{host:_.host,port:_.port,tlsCaFingerprint:_.tlsCaFingerprint,tlsServerIdentity:_.principalFingerprint,protocolVersion:1},transport:_.transport});if(!P)throw Error("peer.connect produced no result frame");if(!P.ok)throw Error(P.error.message);let f=P.result.invite;if(!f)throw Error("peer.connect returned no invite payload");M((k)=>[...k,r(f.mode==="wan_pair"?`Paired with ${f.displayNameSnapshot??f.nodeId}. Awaiting verified ingress before the runtime marks the peer active.`:`Paired with ${f.displayNameSnapshot??f.nodeId}. WG tunnel will connect when accepted.`)])}catch(P){M((f)=>[...f,e(`Failed to connect to ${_.displayNameSnapshot}: ${P.message}`)])}},[x]),Pq=o(async()=>{if(!L6)return;let{id:_,nodeId:O,displayNameSnapshot:N}=L6,P=N??O;B5(null),M((f)=>[...f,r(`Accepting connection from ${P}...`)]);try{let{resultFrame:f}=await x("peer.pending.respond",{requestId:_,accepted:!0});if(!f)throw Error("peer.pending.respond produced no result frame");if(!f.ok)throw Error(f.error.message);let k=f.result.response??{};if(k.error)throw Error(k.error);if(k.accepted)M((D)=>[...D,r(`Connected to ${P}. Tunnel established.`)])}catch(f){M((k)=>[...k,e(`Failed to accept connection: ${f.message}`)])}},[x,L6]),Aq=o(()=>{if(!L6)return;let{id:_,nodeId:O,displayNameSnapshot:N}=L6,P=N??O;B5(null),M((f)=>[...f,r(`Rejected connection from ${P}.`)]),x("peer.pending.respond",{requestId:_,accepted:!1}).catch(()=>{})},[x,L6]),Oq=o(async(_)=>{try{let{resultFrame:O}=await x("peer.invite",{..._?.trim()?{inviteLabel:_.trim()}:{}});if(!O)throw Error("peer.invite produced no result frame");if(!O.ok)throw Error(O.error.message);let N=O.result.invite;if(!N)throw Error("peer.invite returned no invite payload");v8(N)}catch(O){M((N)=>[...N,e(`Failed to create invite: ${O.message}`)])}},[x]),VX=o(async(_)=>{try{let{resultFrame:O}=await x("peer.accept_invite",{inviteToken:_});if(!O)throw Error("peer.accept_invite produced no result frame");if(!O.ok)throw Error(O.error.message);let N=O.result.accepted;if(!N)throw Error("peer.accept_invite returned no accepted payload");rH(null),M((P)=>[...P,r(`Paired with ${N.displayNameSnapshot??N.nodeId}.`)])}catch(O){let N=`Failed to accept invite: ${O.message}`;rH(N),M((P)=>[...P,e(N)])}},[x]);U9(()=>{let _=!0,O=null;return(async()=>{if(O=setInterval(async()=>{try{let{resultFrame:f}=await x("peer.pending.list",{});if(!_||!f?.ok)return;let k=f.result.requests??[];if(k.length&&!L6)B5(k[0])}catch(f){if(IX(f)){if(O)clearInterval(O);r6.current=null;return}}},5000),r6.current=O,!_)clearInterval(O),O=null,r6.current=null})(),()=>{if(_=!1,O)clearInterval(O);r6.current=null}},[x,L6]);let Uq=o(async(_)=>{E4(_),await S5()},[S5]),Lq=o(async(_)=>{if(F8==="forget")try{let{resultFrame:O}=await x("memory.forget",{id:_.id});if(!O)throw Error("memory.forget produced no result frame");if(!O.ok)throw Error(O.error.message);let N=_.content.length>50?_.content.slice(0,50)+"...":_.content;M((P)=>[...P,r(`Forgot: "${N}"`)]),await S5()}catch(O){M((N)=>[...N,e(`Error forgetting: ${O.message}`)])}},[x,F8,S5]),m8=o(()=>{U8(null),L8(null),f8(null),R8(null),y8(null),F3(null),B8(null),M8(null),P3(null),w8(null),C8(null),A3(!1),I8(!1),w$(null),S8(!1),k8(null),xH(!1),O3(null),uH(null),L5(null),f5(null)},[]),$7=o((_)=>{let O=_,N=O.success!==!1,P=O.message??(N?"Authentication updated.":"Auth failed.");M((f)=>[...f,N?r(P):e(P)])},[]),T5=o(async(_)=>{if(m8(),_.interaction.kind==="selection"){O3({interactionId:_.interactionId,interaction:_.interaction}),L5(_.interaction.prompt),uH(_.interaction.options.map((O)=>({id:O.id,label:O.label,description:O.description,method:O.id,status:O.description?.includes("connected")?"connected":O.description?.includes("available")?"available":"none"})));return}if(_.interaction.kind==="credential_input"){let O=_.interaction.fields[0];if(!O)throw Error("Auth interaction requires at least one credential field");if(_.interaction.mode==="oauth_authorization_code"&&_.interaction.authorizeUrl&&_.interaction.provider){O3({interactionId:_.interactionId,interaction:_.interaction}),f8(_.interaction.provider),R8(_.interaction.authorizeUrl),y8(_.interaction.expectedState??null),F3(O.key);return}O3({interactionId:_.interactionId,interaction:_.interaction}),f5({title:O.label,hint:_.interaction.prompt,fieldKey:O.key});return}if(_.interaction.kind==="oauth_device"){O3({interactionId:_.interactionId,interaction:_.interaction}),B8(_.interaction.provider??"github-copilot"),M8(_.interaction.profileLabel??null),P3(_.interaction.verificationUri),w8(_.interaction.userCode);return}},[$7,m8,S9]),a1=o(async(_,O)=>{m8();let{interactionFrame:N,resultFrame:P}=await x(_,{args:O});if(N&&N.source==="auth"){await T5(N);return}if(!P)throw Error(`${_} produced no result frame`);if(P.ok){$7(P.result);return}throw Error(P.error.message)},[$7,m8,x,T5]),v$=o(async(_)=>{if(!O5)throw Error("No pending auth interaction to respond to");let{interactionId:O}=O5,N=null,P=null;for await(let f of S9.dispatch({kind:"interaction.respond",requestId:`auth:${DH()}`,interactionId:O,response:_}))if(f.kind==="interaction.required"&&f.source==="auth")N=f;else if(f.kind==="result")P=f;if(N){await T5(N);return}if(m8(),!P)throw Error("auth interaction produced no result frame");if(P.ok){$7(P.result);return}if(P.error.code==="INTERACTION_REQUIRED")return;M((f)=>[...f,e(`Login failed: ${P.error.message}`)])},[$7,m8,S9,O5,T5]),fq=t7(()=>t_(P0)?.maxContextTokens,[P0]),Rq=t7(()=>{return C.map((_,O)=>{let P=(Array.isArray(_.content)?_.content:[_.content]).filter((f)=>typeof f==="object"&&f!==null&&("type"in f)&&f.type==="text").map((f)=>f.text).join("").trim();if(!P||_.role==="system")return null;return{index:O,role:_.role,text:P,arion:_.arion?.name,createdAt:_.createdAt}}).filter((_)=>_!==null)},[C]),[yq,oy]=p(void 0),[Bq,GK]=p(void 0),Mq=o(async(_,O)=>{if(!A0.current||B0.current)return;let N=0;for(let f=0;f<_;f++){let k=C[f];if(k&&k.role!=="system")N++}let P=N;try{let{resultFrame:f}=await x("session.fork",{sessionId:A0.current,messageLimit:P});if(!f?.ok){let D=f?.error?.message??"Fork failed";M((V)=>[...V,e(`Edit failed: ${D}`)]);return}let k=f.result;await g$(k.newSessionId),GK(O)}catch(f){M((k)=>[...k,e(`Edit failed: ${f.message}`)])}},[C,x,g$]);return SX(IW,{staticRenderEpoch:$K,session:$,model:P0,maxContextTokens:fq,banner:SX(jJ,{onComplete:()=>{},skipAnimation:!0,version:EW,whatsNew:jW},void 0,!1,void 0,this),messages:C,previewMessages:w,isStreaming:C0,queuedMessage:Z0,onCancelQueuedMessage:Gq,responseTime:i,commands:VZ,arions:Z9,models:k$,memories:U6,memoryBrowserMode:F8,isLoadingMemories:e7,userName:d0,memoryCount:a9,metrics:f3,displayMode:M5,displayConfig:y3,showThinking:y3.showThinking,showCosts:y3.showCosts,showTraces:y3.showTraces,pipelineTiming:t4,spans:e4,activeArion:HK,onSubmit:s6,onCommand:hX,onSelectArion:qq,onSelectModel:DX,onSelectMemory:Lq,onOpenMemoryBrowser:Uq,onToggleThinking:zq,onToggleCosts:Wq,onToggleTraces:_q,onCycleDisplayMode:Yq,sessions:$5,onSelectSession:g$,onLoadSessions:Hq,onSearchSessions:Kq,onLoadMoreSessions:Jq,openSessionOverlaySignal:H5,openThemeOverlaySignal:EH,inviteShare:g8?{inviteToken:g8.inviteToken,inviteLabel:g8.pendingInvite.inviteLabel,expiresAt:g8.pendingInvite.expiresAt??null}:null,onInviteShareClose:()=>{v8(null)},openJoinInviteOverlaySignal:a4,onJoinInviteSubmit:VX,onJoinInviteCancel:()=>{rH(null)},joinInviteError:bX,onSelectTheme:QK,inputHistory:Y,onSaveInput:z,openMessageEditOverlaySignal:yq,editableMessages:Rq,onEditMessage:Mq,prefillInput:Bq,onPrefillConsumed:()=>GK(void 0),obsCtx:KK,onCancel:Qq,approvalRequest:nH,onApprovalChoice:(_)=>{if(nH)nH.resolve(_),T8(null)},effortLevel:U0,showAutonomySelector:Z5,autonomyLevel:dH,onAutonomySelect:(_)=>{N3(_),O8(!1),M((O)=>[...O,r(`Autonomy level set to: ${_}`)])},onCycleAutonomy:()=>{let _=V4.indexOf(M$.current),O=V4[(_+1)%V4.length];N3(O)},onCycleEffort:()=>{let _=["low","medium","high","max"],O=_.indexOf(U0),N=_[(O+1)%_.length];v0(N);let P=O0();P.effortLevel=N,E0(P)},onAutonomyCancel:()=>{O8(!1)},authInteractionOptions:U5,authInteractionTitle:C$,onAuthInteractionSelect:async(_)=>{await v$({kind:"selection",selected:_})},onAuthInteractionCancel:async()=>{await v$({kind:"cancel"})},authInteractionInput:u6?{title:u6.title,...u6.hint?{hint:u6.hint}:{}}:null,onAuthInteractionInputSubmit:async(_)=>{if(!u6)return;await v$({kind:"credential_input",values:{[u6.fieldKey]:_}})},onAuthInteractionInputCancel:async()=>{await v$({kind:"cancel"})},loginPickerProviders:X5,onLoginProviderSelect:async(_)=>{U8(null),await a1("auth.login",_.id)},onLoginPickerCancel:()=>{U8(null)},anthropicMethodOptions:N5,onAnthropicMethodSelect:async(_)=>{C8(null),await a1("auth.login",`anthropic --method ${_.id}`)},onAnthropicMethodCancel:()=>C8(null),anthropicKeyInputVisible:F5,onAnthropicKeySubmit:async(_)=>{A3(!1),await a1("auth.login",`anthropic ${_}`)},onAnthropicKeyCancel:()=>A3(!1),anthropicSetupTokenVisible:d4,onAnthropicSetupTokenSubmit:async(_)=>{I8(!1),await a1("auth.login",`anthropic --setup-token ${_}`)},onAnthropicSetupTokenCancel:()=>I8(!1),openaiMethodOptions:P5,onOpenAIMethodSelect:async(_)=>{w$(null),await a1("auth.login",`openai --method ${_.id}`)},onOpenAIMethodCancel:()=>w$(null),openaiKeyInputVisible:A5,onOpenAIKeySubmit:async(_)=>{S8(!1),await a1("auth.login",`openai ${_}`)},onOpenAIKeyCancel:()=>S8(!1),googleMethodOptions:b8,onGoogleMethodSelect:async(_)=>{k8(null),await a1("auth.login",`google --method ${_.id}`)},onGoogleMethodCancel:()=>k8(null),googleKeyInputVisible:p4,onGoogleKeySubmit:async(_)=>{xH(!1),await a1("auth.login",`google ${_}`)},onGoogleKeyCancel:()=>xH(!1),copilotSourceOptions:pH,onCopilotSourceSelect:async(_)=>{L8(null),await a1("auth.login",`github-copilot --from ${_.id}`)},onCopilotSourceCancel:()=>L8(null),oauthProvider:Q5,oauthAuthorizeUrl:G5,oauthExpectedState:Y5,onOAuthComplete:(_)=>{f8(null),R8(null),y8(null),F3(null),M((O)=>[...O,_.success?r(_.message):e(_.message)])},onOAuthCodeSubmit:async(_)=>{if(!lH)throw Error("No pending OAuth field key");await v$({kind:"credential_input",values:{[lH]:_}})},onOAuthCancel:async()=>{await v$({kind:"cancel"})},copilotDeviceProvider:z5,copilotDeviceProfileLabel:W5,copilotDeviceVerificationUri:_5,copilotDeviceUserCode:q5,onCopilotDeviceComplete:(_)=>{B8(null),M8(null),P3(null),w8(null),M((O)=>[...O,_.success?r(_.message):e(_.message)])},onCopilotDeviceApprove:async()=>{await v$({kind:"oauth_device",acknowledged:!0})},onCopilotDeviceCancel:async()=>{await v$({kind:"cancel"})},nearbyPeers:l4,localClients:U3,onSelectPeer:Fq,onSelectClient:()=>{},onPeerCancel:()=>{},onClientsCancel:()=>{},openPeersOverlaySignal:r4,openClientsOverlaySignal:y5,incomingPairRequest:L6,onAcceptPairRequest:Pq,onRejectPairRequest:Aq,onCancelPairing:void 0,meshMessageCount:i4,runtimeSocket:iH,clientId:Z.attachedClientId??null,clientAuthToken:Z.attachedClientAuthToken??null,resolveCredentials:async()=>{try{let{createResilientAttachedClient:_}=await Promise.resolve().then(() => (i5(),CK)),{resolveRuntimeRootDirectory:O,findRuntimeOwnerRecordByAriaHome:N}=await import("@aria-cli/server"),P=O(),f=process.env.ARIA_HOME??`${process.env.HOME}/.aria`,k=N(P,f);if(!k?.runtimeSocket)return null;let D=await _({runtimeSocket:k.runtimeSocket,clientKind:"local-api"});return{clientId:D.getClientId(),clientAuthToken:D.getClientAuthToken()}}catch{return null}}},void 0,!1,void 0,this)}async function rr($,H,K,J,Z,X,Q=[],G,Y,z,W,F,q,A,U,R){let{waitUntilExit:I,unmount:S}=by(SX(iy,{session:$,manager:H,router:K,aria:J,attachedLocalControl:Z,cliContext:X,sessionHistory:Y,inputHistory:Q,onSaveInput:G,initialMessage:z,resumeSessionId:F,cachedUserName:W,initialAvailableModels:q,refreshAvailableModels:A,credentialHints:U,authResolver:R},void 0,!1,void 0,this),{exitOnCtrlC:!1,patchConsole:!0}),C,w,B=!1,y=()=>{if(!C)C=()=>{process.exit(0)},process.on("SIGINT",C);if(!w)w=setTimeout(()=>{y0.debug("[InkREPL] Graceful shutdown timed out after 5s — forcing exit"),process.exit(0)},5000),w.unref?.()},M=()=>{if(B)return;B=!0,process.removeListener("SIGINT",M),y(),Z?.release().catch((m)=>{y0.warn("[InkREPL] Local-control release during SIGINT failed:",m?.message??m)}),S()};process.on("SIGINT",M);try{await I(),y();try{let{sessionId:m,sessionHistory:G0,memoriaSession:y9,memoriaFactory:_9}=I9;if(G0&&m)try{G0.markCompleted(m)}catch(P0){y0.warn("[InkREPL] Failed to mark session completed:",P0?.message??P0)}if(y9&&m)try{await y9.endSession(m)}catch(P0){y0.warn("[InkREPL] Failed to end Memoria session:",P0?.message??P0)}if(_9)try{await _9.closeAll()}catch(P0){y0.warn("[InkREPL] Failed to close Memoria factory:",P0?.message??P0)}if(I9.jsonlLogger){try{await I9.jsonlLogger.close()}catch(P0){y0.warn("[InkREPL] Failed to close JSONL logger:",P0?.message??P0)}I9.jsonlLogger=null}}finally{if(w)clearTimeout(w),w=void 0}}finally{if(process.removeListener("SIGINT",M),C)process.removeListener("SIGINT",C)}try{await J.shutdown()}catch(m){y0.warn("[InkREPL] Shutdown failed:",m?.message)}}export{rr as startInkRepl,ur as executeToolCallsInOrder};