@aria-cli/cli 1.0.57 → 1.0.59

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