@aria-cli/cli 1.0.14

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 (283) hide show
  1. package/bin/aria-dev.js +15 -0
  2. package/bin/aria.js +366 -0
  3. package/bin/install-owner-lease.d.ts +8 -0
  4. package/bin/install-owner-lease.js +53 -0
  5. package/dist/.aria-build-stamp.json +4 -0
  6. package/dist/attached-local-control-client.d.ts +90 -0
  7. package/dist/bootstrap-local-control-client.d.ts +1 -0
  8. package/dist/capability-aware-method-proxy.d.ts +1 -0
  9. package/dist/cli-context.d.ts +31 -0
  10. package/dist/commands/arions.d.ts +14 -0
  11. package/dist/commands/auth.d.ts +27 -0
  12. package/dist/commands/daemon.d.ts +31 -0
  13. package/dist/commands/definitions.d.ts +19 -0
  14. package/dist/commands/index.d.ts +13 -0
  15. package/dist/commands/login-handler.d.ts +108 -0
  16. package/dist/commands/logout-handler.d.ts +24 -0
  17. package/dist/commands/memory-handlers.d.ts +15 -0
  18. package/dist/commands/pairing.d.ts +2 -0
  19. package/dist/commands/peer-message-handler.d.ts +7 -0
  20. package/dist/commands/runtime-cutover-reset-command.d.ts +2 -0
  21. package/dist/commands/runtime-cutover-reset.d.ts +26 -0
  22. package/dist/commands/terminal-setup.d.ts +3 -0
  23. package/dist/config/aria-config.d.ts +50 -0
  24. package/dist/config/index.d.ts +4 -0
  25. package/dist/config/loader.d.ts +17 -0
  26. package/dist/config.d.ts +53 -0
  27. package/dist/daemon-info.d.ts +17 -0
  28. package/dist/ensure-daemon.d.ts +21 -0
  29. package/dist/event-loop-watchdog.d.ts +31 -0
  30. package/dist/headless/auth-orchestrator.d.ts +19 -0
  31. package/dist/headless/auth-service.d.ts +15 -0
  32. package/dist/headless/bootstrap-fast-path.d.ts +12 -0
  33. package/dist/headless/call-command.d.ts +8 -0
  34. package/dist/headless/daemon-service.d.ts +14 -0
  35. package/dist/headless/hook-actions.d.ts +40 -0
  36. package/dist/headless/hook-service.d.ts +8 -0
  37. package/dist/headless/kernel-services.d.ts +8 -0
  38. package/dist/headless/kernel.d.ts +118 -0
  39. package/dist/headless/operations/arion.d.ts +3 -0
  40. package/dist/headless/operations/auth.d.ts +4 -0
  41. package/dist/headless/operations/client.d.ts +2 -0
  42. package/dist/headless/operations/config.d.ts +3 -0
  43. package/dist/headless/operations/daemon.d.ts +3 -0
  44. package/dist/headless/operations/hook.d.ts +3 -0
  45. package/dist/headless/operations/index.d.ts +10 -0
  46. package/dist/headless/operations/memory.d.ts +3 -0
  47. package/dist/headless/operations/message.d.ts +2 -0
  48. package/dist/headless/operations/model.d.ts +3 -0
  49. package/dist/headless/operations/peer.d.ts +2 -0
  50. package/dist/headless/operations/run.d.ts +3 -0
  51. package/dist/headless/operations/session.d.ts +74 -0
  52. package/dist/headless/operations/subscription.d.ts +2 -0
  53. package/dist/headless/operations/system.d.ts +3 -0
  54. package/dist/headless/operations/utils.d.ts +5 -0
  55. package/dist/headless/run-orchestrator.d.ts +38 -0
  56. package/dist/headless/stdio-server.d.ts +4 -0
  57. package/dist/history/SessionHistory.d.ts +200 -0
  58. package/dist/history/conversation-message.d.ts +181 -0
  59. package/dist/history/index.d.ts +8 -0
  60. package/dist/history/jsonl-replay.d.ts +38 -0
  61. package/dist/history/repair-tool-pairing.d.ts +14 -0
  62. package/dist/history/turn-accumulator.d.ts +85 -0
  63. package/dist/index.d.ts +6 -0
  64. package/dist/index.js +505 -0
  65. package/dist/ink-repl.d.ts +32 -0
  66. package/dist/local-control-bootstrap.d.ts +5 -0
  67. package/dist/local-control-client.d.ts +1 -0
  68. package/dist/local-control-error-reporting.d.ts +6 -0
  69. package/dist/local-control-http-client.d.ts +9 -0
  70. package/dist/network-security.d.ts +7 -0
  71. package/dist/networking-server.d.ts +28 -0
  72. package/dist/peer-identity.d.ts +3 -0
  73. package/dist/polling-subscription.d.ts +7 -0
  74. package/dist/relaunch.d.ts +55 -0
  75. package/dist/release-notes.d.ts +11 -0
  76. package/dist/repl-cleanup.d.ts +20 -0
  77. package/dist/selectable-client.d.ts +7 -0
  78. package/dist/selectable-peer.d.ts +12 -0
  79. package/dist/session.d.ts +103 -0
  80. package/dist/slash-commands.d.ts +34 -0
  81. package/dist/sounds.d.ts +31 -0
  82. package/dist/ui/App.d.ts +288 -0
  83. package/dist/ui/components/AnthropicMethodPicker.d.ts +9 -0
  84. package/dist/ui/components/ArionPrompt.d.ts +8 -0
  85. package/dist/ui/components/AutocompleteDropdown.d.ts +9 -0
  86. package/dist/ui/components/AutonomySelector.d.ts +12 -0
  87. package/dist/ui/components/Banner.d.ts +9 -0
  88. package/dist/ui/components/ConversationHistory.d.ts +59 -0
  89. package/dist/ui/components/CopilotDeviceLoginFlow.d.ts +15 -0
  90. package/dist/ui/components/CopilotSourcePicker.d.ts +13 -0
  91. package/dist/ui/components/Cost.d.ts +8 -0
  92. package/dist/ui/components/CustomSelect/option-map.d.ts +15 -0
  93. package/dist/ui/components/CustomSelect/select-option.d.ts +20 -0
  94. package/dist/ui/components/CustomSelect/select.d.ts +55 -0
  95. package/dist/ui/components/CustomSelect/use-select-state.d.ts +99 -0
  96. package/dist/ui/components/CustomSelect/use-select.d.ts +14 -0
  97. package/dist/ui/components/ErrorDisplay.d.ts +26 -0
  98. package/dist/ui/components/FallbackToolUseRejectedMessage.d.ts +2 -0
  99. package/dist/ui/components/FileEditToolUpdatedMessage.d.ts +9 -0
  100. package/dist/ui/components/HandoffMarker.d.ts +17 -0
  101. package/dist/ui/components/HighlightedCode.d.ts +7 -0
  102. package/dist/ui/components/InputArea.d.ts +17 -0
  103. package/dist/ui/components/Message.d.ts +16 -0
  104. package/dist/ui/components/OAuthLoginFlow.d.ts +25 -0
  105. package/dist/ui/components/OutputTruncation.d.ts +16 -0
  106. package/dist/ui/components/PermissionPrompt.d.ts +22 -0
  107. package/dist/ui/components/PipelineTimingPanel.d.ts +13 -0
  108. package/dist/ui/components/ProviderMethodPicker.d.ts +16 -0
  109. package/dist/ui/components/ProviderPicker.d.ts +15 -0
  110. package/dist/ui/components/RenderItemView.d.ts +18 -0
  111. package/dist/ui/components/Spinner.d.ts +3 -0
  112. package/dist/ui/components/StatusBar.d.ts +78 -0
  113. package/dist/ui/components/StreamingIndicator.d.ts +11 -0
  114. package/dist/ui/components/StructuredDiff.d.ts +20 -0
  115. package/dist/ui/components/TextInputOverlay.d.ts +9 -0
  116. package/dist/ui/components/ThinkingBlock.d.ts +53 -0
  117. package/dist/ui/components/ToolCost.d.ts +8 -0
  118. package/dist/ui/components/ToolExecution.d.ts +13 -0
  119. package/dist/ui/components/ToolHeader.d.ts +10 -0
  120. package/dist/ui/components/ToolRenderLayoutContext.d.ts +10 -0
  121. package/dist/ui/components/ToolResultWrapper.d.ts +6 -0
  122. package/dist/ui/components/ToolUseLoader.d.ts +10 -0
  123. package/dist/ui/components/TraceWaterfall.d.ts +56 -0
  124. package/dist/ui/components/index.d.ts +29 -0
  125. package/dist/ui/components/messages/AssistantTextMessage.d.ts +13 -0
  126. package/dist/ui/components/messages/UserImageMessage.d.ts +8 -0
  127. package/dist/ui/components/messages/UserTextMessage.d.ts +13 -0
  128. package/dist/ui/components/overlays/ArionSelector.d.ts +18 -0
  129. package/dist/ui/components/overlays/ClientSelector.d.ts +7 -0
  130. package/dist/ui/components/overlays/CommandPalette.d.ts +14 -0
  131. package/dist/ui/components/overlays/InviteShareOverlay.d.ts +7 -0
  132. package/dist/ui/components/overlays/JoinInviteOverlay.d.ts +6 -0
  133. package/dist/ui/components/overlays/MemoryBrowser.d.ts +17 -0
  134. package/dist/ui/components/overlays/MessageSelector.d.ts +20 -0
  135. package/dist/ui/components/overlays/ModelSelector.d.ts +17 -0
  136. package/dist/ui/components/overlays/PairRequestOverlay.d.ts +19 -0
  137. package/dist/ui/components/overlays/PeerSelector.d.ts +14 -0
  138. package/dist/ui/components/overlays/SessionSelector.d.ts +11 -0
  139. package/dist/ui/components/overlays/ThemeSelector.d.ts +22 -0
  140. package/dist/ui/components/overlays/index.d.ts +13 -0
  141. package/dist/ui/components/permissions/BashPermissionRequest/BashPermissionRequest.d.ts +9 -0
  142. package/dist/ui/components/permissions/FallbackPermissionRequest.d.ts +9 -0
  143. package/dist/ui/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.d.ts +9 -0
  144. package/dist/ui/components/permissions/FileEditPermissionRequest/FileEditToolDiff.d.ts +11 -0
  145. package/dist/ui/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.d.ts +9 -0
  146. package/dist/ui/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.d.ts +9 -0
  147. package/dist/ui/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.d.ts +5 -0
  148. package/dist/ui/components/permissions/PermissionRequest.d.ts +52 -0
  149. package/dist/ui/components/permissions/PermissionRequestTitle.d.ts +13 -0
  150. package/dist/ui/components/permissions/hooks.d.ts +10 -0
  151. package/dist/ui/components/permissions/toolUseOptions.d.ts +10 -0
  152. package/dist/ui/components/permissions/utils.d.ts +6 -0
  153. package/dist/ui/components/text-input/Cursor.d.ts +58 -0
  154. package/dist/ui/components/text-input/TextInput.d.ts +98 -0
  155. package/dist/ui/components/text-input/imagePaste.d.ts +2 -0
  156. package/dist/ui/components/text-input/index.d.ts +6 -0
  157. package/dist/ui/components/text-input/useDoublePress.d.ts +2 -0
  158. package/dist/ui/components/text-input/useTextInput.d.ts +34 -0
  159. package/dist/ui/components/tool-types.d.ts +28 -0
  160. package/dist/ui/constants/figures.d.ts +1 -0
  161. package/dist/ui/constants/index.d.ts +1 -0
  162. package/dist/ui/display-mode.d.ts +62 -0
  163. package/dist/ui/display-policy.d.ts +3 -0
  164. package/dist/ui/hooks/index.d.ts +4 -0
  165. package/dist/ui/hooks/useCommandAutocomplete.d.ts +28 -0
  166. package/dist/ui/hooks/useDoublePress.d.ts +13 -0
  167. package/dist/ui/hooks/useIndicatorState.d.ts +3 -0
  168. package/dist/ui/hooks/useInterval.d.ts +6 -0
  169. package/dist/ui/hooks/useKeyboardShortcuts.d.ts +17 -0
  170. package/dist/ui/hooks/usePeerMessages.d.ts +26 -0
  171. package/dist/ui/hooks/useTerminalSize.d.ts +6 -0
  172. package/dist/ui/hooks/useUnifiedMessages.d.ts +83 -0
  173. package/dist/ui/indicator-state.d.ts +46 -0
  174. package/dist/ui/markdown/highlight.d.ts +8 -0
  175. package/dist/ui/markdown/index.d.ts +16 -0
  176. package/dist/ui/markdown/tokenizer.d.ts +17 -0
  177. package/dist/ui/render-item.d.ts +70 -0
  178. package/dist/ui/screens/REPL.d.ts +288 -0
  179. package/dist/ui/status-line.d.ts +32 -0
  180. package/dist/ui/theme/index.d.ts +8 -0
  181. package/dist/ui/theme/themes/claude-dark-daltonized.d.ts +2 -0
  182. package/dist/ui/theme/themes/claude-dark.d.ts +2 -0
  183. package/dist/ui/theme/themes/claude-light-daltonized.d.ts +2 -0
  184. package/dist/ui/theme/themes/claude-light.d.ts +2 -0
  185. package/dist/ui/theme/themes/dark-accessible.d.ts +2 -0
  186. package/dist/ui/theme/themes/dark.d.ts +2 -0
  187. package/dist/ui/theme/themes/light-accessible.d.ts +2 -0
  188. package/dist/ui/theme/themes/light.d.ts +2 -0
  189. package/dist/ui/theme/types.d.ts +51 -0
  190. package/dist/ui/theme.d.ts +51 -0
  191. package/dist/ui/to-render-items.d.ts +7 -0
  192. package/dist/ui/tools/AgentTool/index.d.ts +8 -0
  193. package/dist/ui/tools/ArchitectTool/index.d.ts +10 -0
  194. package/dist/ui/tools/AskUserTool/index.d.ts +19 -0
  195. package/dist/ui/tools/BashTool/BashToolResultMessage.d.ts +13 -0
  196. package/dist/ui/tools/BashTool/OutputLine.d.ts +6 -0
  197. package/dist/ui/tools/BashTool/index.d.ts +8 -0
  198. package/dist/ui/tools/BrowseTool/index.d.ts +20 -0
  199. package/dist/ui/tools/BrowserTool/index.d.ts +25 -0
  200. package/dist/ui/tools/CbmTool/index.d.ts +81 -0
  201. package/dist/ui/tools/CheckDelegationTool/index.d.ts +23 -0
  202. package/dist/ui/tools/CheckMessagesTool/index.d.ts +8 -0
  203. package/dist/ui/tools/CreateQuipTool/index.d.ts +10 -0
  204. package/dist/ui/tools/CreateSkillTool/index.d.ts +13 -0
  205. package/dist/ui/tools/CreateToolTool/index.d.ts +10 -0
  206. package/dist/ui/tools/DelegateRemoteTool/index.d.ts +22 -0
  207. package/dist/ui/tools/DeployTool/index.d.ts +24 -0
  208. package/dist/ui/tools/FffTool/index.d.ts +17 -0
  209. package/dist/ui/tools/FileEditTool/index.d.ts +10 -0
  210. package/dist/ui/tools/FileReadTool/index.d.ts +10 -0
  211. package/dist/ui/tools/FileWriteTool/index.d.ts +10 -0
  212. package/dist/ui/tools/FrgTool/index.d.ts +17 -0
  213. package/dist/ui/tools/GetThreadTool/index.d.ts +10 -0
  214. package/dist/ui/tools/GlobTool/index.d.ts +11 -0
  215. package/dist/ui/tools/GrepTool/index.d.ts +12 -0
  216. package/dist/ui/tools/HatchArionTool/index.d.ts +20 -0
  217. package/dist/ui/tools/LearnSkillTool/index.d.ts +13 -0
  218. package/dist/ui/tools/LearnTool/index.d.ts +15 -0
  219. package/dist/ui/tools/LearnToolTool/index.d.ts +14 -0
  220. package/dist/ui/tools/ListClientsTool/index.d.ts +10 -0
  221. package/dist/ui/tools/LspTool/index.d.ts +11 -0
  222. package/dist/ui/tools/MCPTool/index.d.ts +11 -0
  223. package/dist/ui/tools/ManageNetworkTool/index.d.ts +28 -0
  224. package/dist/ui/tools/MemoryReadTool/index.d.ts +8 -0
  225. package/dist/ui/tools/MemoryWriteTool/index.d.ts +6 -0
  226. package/dist/ui/tools/NotebookEditTool/index.d.ts +19 -0
  227. package/dist/ui/tools/NotebookReadTool/index.d.ts +12 -0
  228. package/dist/ui/tools/OutlookReadTool/index.d.ts +10 -0
  229. package/dist/ui/tools/OutlookReplyTool/index.d.ts +10 -0
  230. package/dist/ui/tools/OutlookSendTool/index.d.ts +10 -0
  231. package/dist/ui/tools/PauseDelegationTool/index.d.ts +20 -0
  232. package/dist/ui/tools/ProbeTool/index.d.ts +26 -0
  233. package/dist/ui/tools/ProcessTool/index.d.ts +29 -0
  234. package/dist/ui/tools/QuestListTool/index.d.ts +24 -0
  235. package/dist/ui/tools/QuestReportTool/index.d.ts +27 -0
  236. package/dist/ui/tools/QuestUpdateTool/index.d.ts +24 -0
  237. package/dist/ui/tools/QuipCommentTool/index.d.ts +23 -0
  238. package/dist/ui/tools/QuipReadTool/index.d.ts +26 -0
  239. package/dist/ui/tools/RestArionTool/index.d.ts +19 -0
  240. package/dist/ui/tools/RestartTool/index.d.ts +20 -0
  241. package/dist/ui/tools/ResumeDelegationTool/index.d.ts +21 -0
  242. package/dist/ui/tools/RetireArionTool/index.d.ts +19 -0
  243. package/dist/ui/tools/RgTool/index.d.ts +44 -0
  244. package/dist/ui/tools/SearchKnowledgeTool/index.d.ts +31 -0
  245. package/dist/ui/tools/SearchMessagesTool/index.d.ts +10 -0
  246. package/dist/ui/tools/SelfDiagnoseTool/index.d.ts +11 -0
  247. package/dist/ui/tools/SendMessageTool/index.d.ts +8 -0
  248. package/dist/ui/tools/SerenaTool/index.d.ts +18 -0
  249. package/dist/ui/tools/SessionHistoryTool/index.d.ts +32 -0
  250. package/dist/ui/tools/SgTool/index.d.ts +8 -0
  251. package/dist/ui/tools/SlackReactTool/index.d.ts +10 -0
  252. package/dist/ui/tools/SlackReadTool/index.d.ts +10 -0
  253. package/dist/ui/tools/SlackSendTool/index.d.ts +10 -0
  254. package/dist/ui/tools/SpawnWorkerTool/index.d.ts +18 -0
  255. package/dist/ui/tools/StickerRequestTool/index.d.ts +6 -0
  256. package/dist/ui/tools/ThinkTool/index.d.ts +8 -0
  257. package/dist/ui/tools/UgTool/index.d.ts +47 -0
  258. package/dist/ui/tools/UseSkillTool/index.d.ts +17 -0
  259. package/dist/ui/tools/WakeArionTool/index.d.ts +19 -0
  260. package/dist/ui/tools/WebFetchTool/index.d.ts +20 -0
  261. package/dist/ui/tools/WebSearchTool/index.d.ts +21 -0
  262. package/dist/ui/tools/lsTool/index.d.ts +12 -0
  263. package/dist/ui/tools/registry.d.ts +15 -0
  264. package/dist/ui/tools/tool-renderer.d.ts +24 -0
  265. package/dist/ui/tools/truncation.d.ts +6 -0
  266. package/dist/ui/types/anthropic.d.ts +19 -0
  267. package/dist/ui/types/index.d.ts +3 -0
  268. package/dist/ui/types/message.d.ts +19 -0
  269. package/dist/ui/types/tool.d.ts +17 -0
  270. package/dist/ui/utils/array.d.ts +1 -0
  271. package/dist/ui/utils/cursor.d.ts +28 -0
  272. package/dist/ui/utils/diff.d.ts +24 -0
  273. package/dist/ui/utils/format.d.ts +3 -0
  274. package/dist/ui/utils/fuzzy.d.ts +11 -0
  275. package/dist/ui/utils/index.d.ts +9 -0
  276. package/dist/ui/utils/keys.d.ts +6 -0
  277. package/dist/ui/utils/patch.d.ts +8 -0
  278. package/dist/ui/utils/risk.d.ts +14 -0
  279. package/dist/ui/utils/terminal-image.d.ts +18 -0
  280. package/dist/ui/utils/validation.d.ts +8 -0
  281. package/dist/ui/verb-pairs.d.ts +20 -0
  282. package/dist/ui.d.ts +70 -0
  283. package/package.json +76 -0
@@ -0,0 +1,10 @@
1
+ export declare const SlackReadToolRenderers: {
2
+ displayName(): string;
3
+ renderInput(input: Record<string, unknown>, { verbose }?: {
4
+ verbose?: boolean;
5
+ }): string;
6
+ renderRejection(): import("react/jsx-runtime").JSX.Element;
7
+ renderOutput(output: unknown, { verbose }?: {
8
+ verbose?: boolean;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ };
@@ -0,0 +1,10 @@
1
+ export declare const SlackSendToolRenderers: {
2
+ displayName(): string;
3
+ renderInput(input: Record<string, unknown>, { verbose }?: {
4
+ verbose?: boolean;
5
+ }): string;
6
+ renderRejection(): import("react/jsx-runtime").JSX.Element;
7
+ renderOutput(output: unknown, { verbose }?: {
8
+ verbose?: boolean;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ };
@@ -0,0 +1,18 @@
1
+ interface SpawnWorkerInput {
2
+ task?: string;
3
+ [key: string]: unknown;
4
+ }
5
+ interface SpawnWorkerOutput {
6
+ id?: string;
7
+ }
8
+ export declare const SpawnWorkerToolRenderers: {
9
+ displayName(): string;
10
+ renderInput(input: SpawnWorkerInput, _opts: {
11
+ verbose: boolean;
12
+ }): string;
13
+ renderRejection(): import("react/jsx-runtime").JSX.Element;
14
+ renderOutput(output: SpawnWorkerOutput | string | null, _opts: {
15
+ verbose: boolean;
16
+ }): import("react/jsx-runtime").JSX.Element;
17
+ };
18
+ export {};
@@ -0,0 +1,6 @@
1
+ export declare const StickerRequestToolRenderers: {
2
+ displayName: () => string;
3
+ renderInput(input: Record<string, unknown>): string;
4
+ renderRejection(): import("react/jsx-runtime").JSX.Element;
5
+ renderOutput(): null;
6
+ };
@@ -0,0 +1,8 @@
1
+ export declare const ThinkToolRenderers: {
2
+ displayName: () => string;
3
+ renderInput(input: {
4
+ thought: string;
5
+ }): string;
6
+ renderRejection(): import("react/jsx-runtime").JSX.Element;
7
+ renderOutput(): null;
8
+ };
@@ -0,0 +1,47 @@
1
+ interface UgInput {
2
+ pattern: string;
3
+ path?: string;
4
+ file_type?: string;
5
+ ignore_case?: boolean;
6
+ smart_case?: boolean;
7
+ fixed_strings?: boolean;
8
+ word_regexp?: boolean;
9
+ files_only?: boolean;
10
+ count?: boolean;
11
+ max_count?: number;
12
+ context?: number;
13
+ neg_pattern?: string;
14
+ fuzzy?: boolean | number;
15
+ bool?: boolean;
16
+ decompress?: boolean;
17
+ glob?: string;
18
+ extra_args?: string[];
19
+ }
20
+ interface UgMatch {
21
+ file: string;
22
+ line: number;
23
+ column?: number;
24
+ text: string;
25
+ submatch?: string;
26
+ }
27
+ interface UgCountResult {
28
+ file: string;
29
+ count: number;
30
+ }
31
+ interface UgNormalOutput {
32
+ matches: UgMatch[];
33
+ }
34
+ interface UgCountOutput {
35
+ counts: UgCountResult[];
36
+ total: number;
37
+ }
38
+ type UgOutput = UgNormalOutput | UgCountOutput;
39
+ export declare const UgToolRenderers: {
40
+ displayName(): string;
41
+ renderInput(input: UgInput, { verbose }?: {
42
+ verbose?: boolean;
43
+ }): string;
44
+ renderRejection(): import("react/jsx-runtime").JSX.Element;
45
+ renderOutput(output: UgOutput): import("react/jsx-runtime").JSX.Element;
46
+ };
47
+ export {};
@@ -0,0 +1,17 @@
1
+ export declare const UseSkillToolRenderers: {
2
+ displayName(): string;
3
+ renderInput(input: {
4
+ name?: string;
5
+ }, _opts: {
6
+ verbose: boolean;
7
+ }): string;
8
+ renderRejection(): import("react/jsx-runtime").JSX.Element;
9
+ renderOutput(output: {
10
+ skill?: {
11
+ id?: string;
12
+ name?: string;
13
+ description?: string;
14
+ };
15
+ warning?: string;
16
+ }): import("react/jsx-runtime").JSX.Element;
17
+ };
@@ -0,0 +1,19 @@
1
+ interface WakeArionInput {
2
+ name?: string;
3
+ [key: string]: unknown;
4
+ }
5
+ interface WakeArionOutput {
6
+ name?: string;
7
+ message?: string;
8
+ }
9
+ export declare const WakeArionToolRenderers: {
10
+ displayName(): string;
11
+ renderInput(input: WakeArionInput, _opts: {
12
+ verbose: boolean;
13
+ }): string;
14
+ renderRejection(): import("react/jsx-runtime").JSX.Element;
15
+ renderOutput(output: WakeArionOutput | string | null, _opts: {
16
+ verbose: boolean;
17
+ }): import("react/jsx-runtime").JSX.Element;
18
+ };
19
+ export {};
@@ -0,0 +1,20 @@
1
+ interface WebFetchInput {
2
+ url?: string;
3
+ [key: string]: unknown;
4
+ }
5
+ interface WebFetchOutput {
6
+ content?: string;
7
+ status?: number;
8
+ contentType?: string;
9
+ fromCache?: boolean;
10
+ finalUrl?: string;
11
+ contentBytes?: number;
12
+ truncated?: boolean;
13
+ }
14
+ export declare const WebFetchToolRenderers: {
15
+ displayName(): string;
16
+ renderInput(input: WebFetchInput): string;
17
+ renderRejection(): import("react/jsx-runtime").JSX.Element;
18
+ renderOutput(output: WebFetchOutput | string | null): import("react/jsx-runtime").JSX.Element;
19
+ };
20
+ export {};
@@ -0,0 +1,21 @@
1
+ interface WebSearchInput {
2
+ query?: string;
3
+ [key: string]: unknown;
4
+ }
5
+ interface SearchResult {
6
+ title: string;
7
+ url: string;
8
+ content?: string;
9
+ score?: number;
10
+ }
11
+ interface WebSearchOutput {
12
+ query?: string;
13
+ results?: SearchResult[];
14
+ }
15
+ export declare const WebSearchToolRenderers: {
16
+ displayName(): string;
17
+ renderInput(input: WebSearchInput): string;
18
+ renderRejection(): import("react/jsx-runtime").JSX.Element;
19
+ renderOutput(output: WebSearchOutput | string | null): import("react/jsx-runtime").JSX.Element;
20
+ };
21
+ export {};
@@ -0,0 +1,12 @@
1
+ export declare const LsToolRenderers: {
2
+ displayName(): string;
3
+ renderInput({ path }: {
4
+ path: string;
5
+ }, { verbose }: {
6
+ verbose: boolean;
7
+ }): string;
8
+ renderRejection(): import("react/jsx-runtime").JSX.Element;
9
+ renderOutput(content: unknown, { verbose }: {
10
+ verbose: boolean;
11
+ }): import("react/jsx-runtime").JSX.Element | null;
12
+ };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * TOOL_RENDERERS — canonical map from tool name → ToolRenderer.
3
+ *
4
+ * Single source of truth. Consumed by ToolExecution.tsx and REPL.tsx.
5
+ * Each renderer implements the ToolRenderer interface (see tool-renderer.ts).
6
+ */
7
+ export type { ToolRenderer } from "./tool-renderer.js";
8
+ import type { ToolRenderer } from "./tool-renderer.js";
9
+ /**
10
+ * Maps tool names (lowercase) to ToolRenderer instances.
11
+ *
12
+ * Each renderer implements: displayName, renderInput, renderOutput, renderRejection?
13
+ * See tool-renderer.ts for the interface definition.
14
+ */
15
+ export declare const TOOL_RENDERERS: Record<string, ToolRenderer>;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * ToolRenderer — the single canonical interface for tool UI rendering.
3
+ *
4
+ * Every tool gets one renderer. No adapters, no legacy shims.
5
+ *
6
+ * Generic type params enable compile-time shape checking between
7
+ * executor output → renderer input. When TInput/TOutput are specified,
8
+ * TypeScript will catch field-name drift (e.g. `filePath` vs `file`).
9
+ */
10
+ import type { ReactNode } from "react";
11
+ export interface ToolRenderer<TInput = unknown, TOutput = unknown> {
12
+ /** Display name shown in tool header (e.g. "Bash", "Ripgrep", "Slack Read") */
13
+ displayName(input?: TInput): string;
14
+ /** Render the tool invocation args (shown after the display name) */
15
+ renderInput(input: TInput, opts: {
16
+ verbose: boolean;
17
+ }): ReactNode;
18
+ /** Render the tool result. Return null to fall back to JSON dump. */
19
+ renderOutput(output: TOutput, opts: {
20
+ verbose: boolean;
21
+ }, input?: TInput): ReactNode | null;
22
+ /** Render rejection message. Omit to use FallbackToolUseRejectedMessage. */
23
+ renderRejection?(): ReactNode;
24
+ }
@@ -0,0 +1,6 @@
1
+ /** Shared truncation constants for all tool renderers. */
2
+ export declare const MAX_LINE_CHARS = 80;
3
+ /** Cap a single line to MAX_LINE_CHARS, appending "…" if truncated. */
4
+ export declare function capLine(line: string): string;
5
+ /** Cap every line in a multi-line string. */
6
+ export declare function capLines(text: string): string;
@@ -0,0 +1,19 @@
1
+ export type ToolResultBlockParam = {
2
+ type: "tool_result";
3
+ tool_use_id: string;
4
+ content: string | Array<{
5
+ type: string;
6
+ [key: string]: unknown;
7
+ }>;
8
+ is_error?: boolean;
9
+ };
10
+ export type ToolUseBlockParam = {
11
+ type: "tool_use";
12
+ id: string;
13
+ name: string;
14
+ input: Record<string, unknown>;
15
+ };
16
+ export type TextBlockParam = {
17
+ type: "text";
18
+ text: string;
19
+ };
@@ -0,0 +1,3 @@
1
+ export type { ToolResultBlockParam, ToolUseBlockParam, TextBlockParam } from "./anthropic.js";
2
+ export type { Tool } from "./tool.js";
3
+ export type { Message, UserMessage, AssistantMessage } from "./message.js";
@@ -0,0 +1,19 @@
1
+ import type { ToolUseBlockParam } from "./anthropic.js";
2
+ export type AssistantMessage = {
3
+ type: "assistant";
4
+ message: {
5
+ content: (ToolUseBlockParam | {
6
+ type: "text";
7
+ text: string;
8
+ })[];
9
+ };
10
+ costUSD?: number;
11
+ durationMs?: number;
12
+ };
13
+ export type UserMessage = {
14
+ type: "user";
15
+ toolUseResult?: {
16
+ data: unknown;
17
+ };
18
+ };
19
+ export type Message = AssistantMessage | UserMessage;
@@ -0,0 +1,17 @@
1
+ import type { ReactNode } from "react";
2
+ import type { z } from "zod";
3
+ export interface Tool {
4
+ name: string;
5
+ inputSchema: z.ZodType<unknown>;
6
+ userFacingName(input?: unknown): string;
7
+ renderToolUseMessage(input: never, options: {
8
+ verbose: boolean;
9
+ }): string | ReactNode;
10
+ renderToolResultMessage?(output: never, options: {
11
+ verbose: boolean;
12
+ }): ReactNode;
13
+ renderToolUseRejectedMessage(input: never, options: {
14
+ columns: number;
15
+ verbose: boolean;
16
+ }): ReactNode;
17
+ }
@@ -0,0 +1 @@
1
+ export declare function intersperse<A>(as: A[], separator: (index: number) => A): A[];
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Immutable cursor for text manipulation
3
+ * All operations return new Cursor instances
4
+ */
5
+ export declare class Cursor {
6
+ readonly text: string;
7
+ readonly position: number;
8
+ constructor(text: string, position: number);
9
+ moveToStart(): Cursor;
10
+ moveToEnd(): Cursor;
11
+ moveLeft(count?: number): Cursor;
12
+ moveRight(count?: number): Cursor;
13
+ moveToPrevWord(): Cursor;
14
+ moveToNextWord(): Cursor;
15
+ deleteToEnd(): Cursor;
16
+ deleteToStart(): Cursor;
17
+ deleteLeft(count?: number): Cursor;
18
+ deleteRight(count?: number): Cursor;
19
+ deletePrevWord(): Cursor;
20
+ deleteNextWord(): Cursor;
21
+ insert(chars: string): Cursor;
22
+ clear(): Cursor;
23
+ get beforeCursor(): string;
24
+ get afterCursor(): string;
25
+ get isEmpty(): boolean;
26
+ get isAtStart(): boolean;
27
+ get isAtEnd(): boolean;
28
+ }
@@ -0,0 +1,24 @@
1
+ export interface DiffLine {
2
+ type: 'added' | 'removed' | 'unchanged';
3
+ content: string;
4
+ oldLineNo?: number;
5
+ newLineNo?: number;
6
+ }
7
+ export interface DiffHunk {
8
+ oldStart: number;
9
+ oldLines: number;
10
+ newStart: number;
11
+ newLines: number;
12
+ lines: DiffLine[];
13
+ }
14
+ export interface FileDiff {
15
+ filePath: string;
16
+ hunks: DiffHunk[];
17
+ additions: number;
18
+ deletions: number;
19
+ }
20
+ export declare function generateDiff(filePath: string, oldContent: string, newContent: string, contextLines?: number): FileDiff;
21
+ export declare function generateNewFileDiff(filePath: string, content: string): FileDiff;
22
+ export declare function generateDeletedFileDiff(filePath: string, content: string): FileDiff;
23
+ export declare function formatLineNumber(lineNo: number | undefined, width: number): string;
24
+ export declare function calculateLineNumberWidth(diff: FileDiff): number;
@@ -0,0 +1,3 @@
1
+ export declare function wrapText(text: string, width: number): string[];
2
+ export declare function formatDuration(ms: number): string;
3
+ export declare function formatNumber(number: number): string;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Calculate fuzzy match score between query and target
3
+ * Returns 0-1 where 1 is exact match, 0 is no match
4
+ */
5
+ export declare function fuzzyScore(target: string, query: string): number;
6
+ /**
7
+ * Sort items by fuzzy match score
8
+ */
9
+ export declare function fuzzySort<T>(items: T[], query: string, getKey: (item: T) => string): Array<T & {
10
+ score: number;
11
+ }>;
@@ -0,0 +1,9 @@
1
+ export { Cursor } from "./cursor.js";
2
+ export { fuzzyScore, fuzzySort } from "./fuzzy.js";
3
+ export { findSimilar, success, failure, type ValidationResult } from "./validation.js";
4
+ export { generateDiff, generateNewFileDiff, generateDeletedFileDiff, formatLineNumber, calculateLineNumberWidth, type FileDiff, type DiffHunk, type DiffLine, } from "./diff.js";
5
+ export { assessToolRisk, getRiskColor, type RiskLevel, type RiskAssessment } from "./risk.js";
6
+ export { intersperse } from "./array.js";
7
+ export { wrapText, formatDuration, formatNumber } from "./format.js";
8
+ export { getPatch } from "./patch.js";
9
+ export { isITerm2Terminal, supportsInlineImages, parseImageDataUri, terminalInlineImage, terminalInlineImageFromDataUri, terminalInlineImageFromPath, splitTextByInlineImages, } from "./terminal-image.js";
@@ -0,0 +1,6 @@
1
+ import type { Key } from "ink";
2
+ /**
3
+ * Ink can surface Escape as either key.escape or the raw ESC byte.
4
+ * Normalizing this keeps key handling deterministic across environments.
5
+ */
6
+ export declare function isEscapeInput(input: string, key: Pick<Key, "escape">): boolean;
@@ -0,0 +1,8 @@
1
+ import { type StructuredPatchHunk } from "diff";
2
+ export type { StructuredPatchHunk };
3
+ export declare function getPatch({ filePath, fileContents, oldStr, newStr, }: {
4
+ filePath: string;
5
+ fileContents: string;
6
+ oldStr: string;
7
+ newStr: string;
8
+ }): StructuredPatchHunk[];
@@ -0,0 +1,14 @@
1
+ export type RiskLevel = 'low' | 'moderate' | 'high';
2
+ export interface RiskAssessment {
3
+ level: RiskLevel;
4
+ score: number;
5
+ reasons: string[];
6
+ }
7
+ export declare function assessToolRisk(toolName: string, args: Record<string, unknown>): RiskAssessment;
8
+ export declare function getRiskColor(level: RiskLevel, theme: {
9
+ colors: {
10
+ success: string;
11
+ warning: string;
12
+ error: string;
13
+ };
14
+ }): string;
@@ -0,0 +1,18 @@
1
+ export interface TerminalImageData {
2
+ buffer: Buffer;
3
+ mimeType: string;
4
+ }
5
+ export type TextOrImageSegment = {
6
+ type: "text";
7
+ text: string;
8
+ } | {
9
+ type: "image";
10
+ dataUri: string;
11
+ };
12
+ export declare function isITerm2Terminal(): boolean;
13
+ export declare function supportsInlineImages(): boolean;
14
+ export declare function parseImageDataUri(text: string): TerminalImageData | null;
15
+ export declare function terminalInlineImageFromDataUri(text: string): string | null;
16
+ export declare function terminalInlineImage(buffer: Buffer, mimeType?: string): string | null;
17
+ export declare function terminalInlineImageFromPath(path: string, mimeType?: string): string | null;
18
+ export declare function splitTextByInlineImages(text: string): TextOrImageSegment[];
@@ -0,0 +1,8 @@
1
+ export interface ValidationResult {
2
+ valid: boolean;
3
+ message?: string;
4
+ suggestion?: string;
5
+ }
6
+ export declare function success(): ValidationResult;
7
+ export declare function failure(message: string, suggestion?: string): ValidationResult;
8
+ export declare function findSimilar(input: string, candidates: string[], threshold?: number): string | undefined;
@@ -0,0 +1,20 @@
1
+ export interface VerbPair {
2
+ present: string;
3
+ past: string;
4
+ }
5
+ export declare const VERB_PAIRS: VerbPair[];
6
+ export declare function pickRandomVerbPair(): VerbPair;
7
+ /**
8
+ * Convert a present-tense verb to past tense using the verb pairs table.
9
+ * Falls back to the input if not found.
10
+ */
11
+ export declare function presentToPast(present: string): string;
12
+ /**
13
+ * Format a snake_case tool name for display.
14
+ * Drops "file" and "web" for brevity, title-cases the rest.
15
+ * When active=true, adds "-ing" to the verb word (first non-noun).
16
+ *
17
+ * Base: "create_skill" → "Create Skill", "read_file" → "Read", "quest_list" → "Quest List"
18
+ * Active: "create_skill" → "Creating Skill", "read_file" → "Reading", "quest_list" → "Quest Listing"
19
+ */
20
+ export declare function toolDisplayName(toolName: string, active?: boolean): string;
package/dist/ui.d.ts ADDED
@@ -0,0 +1,70 @@
1
+ /**
2
+ * ARIA CLI UI Components
3
+ * Polished terminal UI with colors, spinners, and system messages
4
+ */
5
+ export declare const colors: {
6
+ reset: string;
7
+ bold: string;
8
+ dim: string;
9
+ cyan: string;
10
+ magenta: string;
11
+ green: string;
12
+ yellow: string;
13
+ red: string;
14
+ blue: string;
15
+ white: string;
16
+ gray: string;
17
+ };
18
+ export declare const cursor: {
19
+ hide: string;
20
+ show: string;
21
+ clearLine: string;
22
+ moveUp: (n: number) => string;
23
+ moveDown: (n: number) => string;
24
+ moveToColumn: (n: number) => string;
25
+ };
26
+ /**
27
+ * Animated spinner with label
28
+ */
29
+ export declare class Spinner {
30
+ private interval;
31
+ private frame;
32
+ private frames;
33
+ private label;
34
+ private labelColor;
35
+ private lineCount;
36
+ private minimal;
37
+ constructor(label?: string, labelColor?: string, minimal?: boolean);
38
+ start(): void;
39
+ stop(): void;
40
+ /** Get number of lines this spinner occupies */
41
+ getLineCount(): number;
42
+ }
43
+ /**
44
+ * System message box for displaying status and results
45
+ */
46
+ export declare class SystemMessage {
47
+ /**
48
+ * Display a boxed message with header and content lines
49
+ */
50
+ static show(options: {
51
+ header: string;
52
+ headerColor: string;
53
+ content?: string[];
54
+ contentColor?: string;
55
+ }): number;
56
+ /**
57
+ * Show "remembered" message with learned memories
58
+ */
59
+ static showRemembered(memories: Array<{
60
+ content: string;
61
+ }>): void;
62
+ /**
63
+ * Show error message
64
+ */
65
+ static showError(message: string): void;
66
+ }
67
+ /**
68
+ * Format the user prompt
69
+ */
70
+ export declare function formatPrompt(userName: string | null): string;
package/package.json ADDED
@@ -0,0 +1,76 @@
1
+ {
2
+ "name": "@aria-cli/cli",
3
+ "version": "1.0.14",
4
+ "type": "module",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "bin": {
8
+ "aria": "./bin/aria.js"
9
+ },
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/index.d.ts",
13
+ "import": "./dist/index.js"
14
+ }
15
+ },
16
+ "dependencies": {
17
+ "better-sqlite3": "^12.6.2",
18
+ "chalk": "^5.6.2",
19
+ "cli-highlight": "^2.1.11",
20
+ "color-name": "^2.1.0",
21
+ "commander": "^14.0.3",
22
+ "diff": "^8.0.3",
23
+ "figures": "^6.1.0",
24
+ "gradient-string": "^3.0.0",
25
+ "ink": "npm:@jrichman/ink@^6.4.11",
26
+ "ink-spinner": "^5.0.0",
27
+ "katex": "^0.16.33",
28
+ "marked": "^17.0.3",
29
+ "marked-terminal": "^7.3.0",
30
+ "react": "^19.2.4",
31
+ "string-width": "^8.2.0",
32
+ "wrap-ansi": "^10.0.0",
33
+ "yaml": "^2.8.2",
34
+ "zod": "^4.3.6",
35
+ "@aria-cli/aria": "1.0.14",
36
+ "@aria-cli/auth": "1.0.14",
37
+ "@aria-cli/memoria-bridge": "1.0.14",
38
+ "@aria-cli/memoria": "1.0.14",
39
+ "@aria-cli/models": "1.0.14",
40
+ "@aria-cli/tools": "1.0.14",
41
+ "@aria-cli/server": "1.0.14",
42
+ "@aria-cli/types": "1.0.14",
43
+ "@aria-cli/wireguard": "1.0.14"
44
+ },
45
+ "devDependencies": {
46
+ "@testing-library/react": "^16.3.2",
47
+ "@types/better-sqlite3": "^7.6.13",
48
+ "@types/color-name": "^2.0.0",
49
+ "@types/react": "^19.2.14",
50
+ "ink-testing-library": "^4.0.0",
51
+ "typescript": "^5.9.3",
52
+ "vitest": "^4.0.18"
53
+ },
54
+ "files": [
55
+ "dist/",
56
+ "bin/",
57
+ "!**/*.map",
58
+ "!**/*.tsbuildinfo"
59
+ ],
60
+ "scripts": {
61
+ "test": "vitest run --config vitest.config.ts",
62
+ "test:list": "tsx tests/print-default-test-lane.ts",
63
+ "test:watch": "vitest --config vitest.config.ts",
64
+ "test:integration": "vitest run --config vitest.integration.config.ts",
65
+ "test:native": "vitest run --config vitest.native.config.ts",
66
+ "test:e2e": "vitest run --config vitest.e2e.config.ts",
67
+ "test:e2e:watch": "vitest --config vitest.e2e.config.ts",
68
+ "test:e2e:mocked": "vitest run --config vitest.e2e.config.ts --testNamePattern='mocked|error|rejects|handles|prevents'",
69
+ "test:real": "vitest run --config vitest.real.config.ts",
70
+ "test:lanes": "tsx tests/print-test-lane-manifest.ts",
71
+ "test:parity": "node ../../scripts/run-cli-parity-tests.mjs",
72
+ "start": "node dist/index.js",
73
+ "dev": "node --import tsx bin/aria-dev.js",
74
+ "dev:repl": "node --import tsx bin/aria-dev.js"
75
+ }
76
+ }