@orion-agents/orion-code 0.1.1 → 0.1.3

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 (643) hide show
  1. package/README.md +165 -68
  2. package/README.zh-CN.md +252 -212
  3. package/dist/cli.js +13 -17
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/index.d.ts.map +1 -1
  6. package/dist/commands/index.js +381 -168
  7. package/dist/commands/index.js.map +1 -1
  8. package/dist/commands/target-command.d.ts.map +1 -1
  9. package/dist/commands/target-command.js +42 -8
  10. package/dist/commands/target-command.js.map +1 -1
  11. package/dist/commands/types.d.ts +3 -1
  12. package/dist/commands/types.d.ts.map +1 -1
  13. package/dist/commands/types.js.map +1 -1
  14. package/dist/core/agent.d.ts.map +1 -1
  15. package/dist/core/agent.js +2 -2
  16. package/dist/core/agent.js.map +1 -1
  17. package/dist/framework/external-assertion.d.ts +65 -0
  18. package/dist/framework/external-assertion.d.ts.map +1 -0
  19. package/dist/framework/external-assertion.js +571 -0
  20. package/dist/framework/external-assertion.js.map +1 -0
  21. package/dist/framework/index.d.ts +6 -4
  22. package/dist/framework/index.d.ts.map +1 -1
  23. package/dist/framework/index.js +4 -1
  24. package/dist/framework/index.js.map +1 -1
  25. package/dist/framework/query.d.ts +18 -1
  26. package/dist/framework/query.d.ts.map +1 -1
  27. package/dist/framework/query.js +43 -23
  28. package/dist/framework/query.js.map +1 -1
  29. package/dist/framework/tool-scheduler.d.ts +63 -1
  30. package/dist/framework/tool-scheduler.d.ts.map +1 -1
  31. package/dist/framework/tool-scheduler.js +183 -51
  32. package/dist/framework/tool-scheduler.js.map +1 -1
  33. package/dist/framework/tool-serializer.d.ts.map +1 -1
  34. package/dist/framework/tool-serializer.js +20 -4
  35. package/dist/framework/tool-serializer.js.map +1 -1
  36. package/dist/framework/tool.d.ts +17 -5
  37. package/dist/framework/tool.d.ts.map +1 -1
  38. package/dist/framework/tool.js +2 -0
  39. package/dist/framework/tool.js.map +1 -1
  40. package/dist/harness/safety.d.ts.map +1 -1
  41. package/dist/harness/safety.js +19 -3
  42. package/dist/harness/safety.js.map +1 -1
  43. package/dist/init.d.ts +1 -1
  44. package/dist/init.d.ts.map +1 -1
  45. package/dist/init.js +115 -34
  46. package/dist/init.js.map +1 -1
  47. package/dist/ink-ui/screens/ReplScreen.d.ts +2 -1
  48. package/dist/ink-ui/screens/ReplScreen.d.ts.map +1 -1
  49. package/dist/ink-ui/screens/ReplScreen.js +65 -0
  50. package/dist/ink-ui/screens/ReplScreen.js.map +1 -1
  51. package/dist/memory/storage.d.ts.map +1 -1
  52. package/dist/memory/storage.js +1 -0
  53. package/dist/memory/storage.js.map +1 -1
  54. package/dist/memory/store.d.ts.map +1 -1
  55. package/dist/memory/store.js +11 -5
  56. package/dist/memory/store.js.map +1 -1
  57. package/dist/print-ui/launch.d.ts +6 -1
  58. package/dist/print-ui/launch.d.ts.map +1 -1
  59. package/dist/print-ui/launch.js +109 -9
  60. package/dist/print-ui/launch.js.map +1 -1
  61. package/dist/product/identity.d.ts +2 -2
  62. package/dist/product/identity.d.ts.map +1 -1
  63. package/dist/product/identity.js +2 -2
  64. package/dist/product/identity.js.map +1 -1
  65. package/dist/product/index.d.ts +2 -1
  66. package/dist/product/index.d.ts.map +1 -1
  67. package/dist/product/index.js +5 -1
  68. package/dist/product/index.js.map +1 -1
  69. package/dist/product/version.d.ts +12 -0
  70. package/dist/product/version.d.ts.map +1 -0
  71. package/dist/product/version.js +31 -0
  72. package/dist/product/version.js.map +1 -0
  73. package/dist/runtime/agent-runtime-controller.d.ts +35 -0
  74. package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
  75. package/dist/runtime/agent-runtime-controller.js +975 -149
  76. package/dist/runtime/agent-runtime-controller.js.map +1 -1
  77. package/dist/runtime/agent-runtime-protocol.d.ts +20 -3
  78. package/dist/runtime/agent-runtime-protocol.d.ts.map +1 -1
  79. package/dist/runtime/agent-runtime-protocol.js +12 -0
  80. package/dist/runtime/agent-runtime-protocol.js.map +1 -1
  81. package/dist/runtime/chat-controller.d.ts +12 -0
  82. package/dist/runtime/chat-controller.d.ts.map +1 -1
  83. package/dist/runtime/chat-controller.js +213 -19
  84. package/dist/runtime/chat-controller.js.map +1 -1
  85. package/dist/runtime/goals/accounting.d.ts +28 -0
  86. package/dist/runtime/goals/accounting.d.ts.map +1 -1
  87. package/dist/runtime/goals/accounting.js +69 -0
  88. package/dist/runtime/goals/accounting.js.map +1 -1
  89. package/dist/runtime/goals/completion-audit.d.ts +13 -8
  90. package/dist/runtime/goals/completion-audit.d.ts.map +1 -1
  91. package/dist/runtime/goals/completion-audit.js +598 -16
  92. package/dist/runtime/goals/completion-audit.js.map +1 -1
  93. package/dist/runtime/goals/coordinator.d.ts +44 -5
  94. package/dist/runtime/goals/coordinator.d.ts.map +1 -1
  95. package/dist/runtime/goals/coordinator.js +1124 -58
  96. package/dist/runtime/goals/coordinator.js.map +1 -1
  97. package/dist/runtime/goals/evidence.d.ts +37 -0
  98. package/dist/runtime/goals/evidence.d.ts.map +1 -0
  99. package/dist/runtime/goals/evidence.js +300 -0
  100. package/dist/runtime/goals/evidence.js.map +1 -0
  101. package/dist/runtime/goals/presentation.d.ts +4 -0
  102. package/dist/runtime/goals/presentation.d.ts.map +1 -0
  103. package/dist/runtime/goals/presentation.js +50 -0
  104. package/dist/runtime/goals/presentation.js.map +1 -0
  105. package/dist/runtime/goals/prompt.d.ts.map +1 -1
  106. package/dist/runtime/goals/prompt.js +38 -8
  107. package/dist/runtime/goals/prompt.js.map +1 -1
  108. package/dist/runtime/goals/tools.d.ts +18 -1
  109. package/dist/runtime/goals/tools.d.ts.map +1 -1
  110. package/dist/runtime/goals/tools.js +310 -30
  111. package/dist/runtime/goals/tools.js.map +1 -1
  112. package/dist/runtime/goals/types.d.ts +247 -7
  113. package/dist/runtime/goals/types.d.ts.map +1 -1
  114. package/dist/runtime/goals/types.js +8 -2
  115. package/dist/runtime/goals/types.js.map +1 -1
  116. package/dist/runtime/subagents/child-executor-guard.d.ts +12 -4
  117. package/dist/runtime/subagents/child-executor-guard.d.ts.map +1 -1
  118. package/dist/runtime/subagents/child-executor-guard.js +397 -61
  119. package/dist/runtime/subagents/child-executor-guard.js.map +1 -1
  120. package/dist/runtime/subagents/presets.d.ts +4 -5
  121. package/dist/runtime/subagents/presets.d.ts.map +1 -1
  122. package/dist/runtime/subagents/presets.js +18 -33
  123. package/dist/runtime/subagents/presets.js.map +1 -1
  124. package/dist/runtime/subagents/production.d.ts +3 -1
  125. package/dist/runtime/subagents/production.d.ts.map +1 -1
  126. package/dist/runtime/subagents/production.js +37 -7
  127. package/dist/runtime/subagents/production.js.map +1 -1
  128. package/dist/runtime/subagents/runner.d.ts.map +1 -1
  129. package/dist/runtime/subagents/runner.js +24 -3
  130. package/dist/runtime/subagents/runner.js.map +1 -1
  131. package/dist/runtime/subagents/runtime-integration.d.ts +3 -0
  132. package/dist/runtime/subagents/runtime-integration.d.ts.map +1 -1
  133. package/dist/runtime/subagents/runtime-integration.js +18 -7
  134. package/dist/runtime/subagents/runtime-integration.js.map +1 -1
  135. package/dist/runtime/subagents/supervisor.d.ts +4 -4
  136. package/dist/runtime/subagents/supervisor.d.ts.map +1 -1
  137. package/dist/runtime/subagents/supervisor.js +39 -19
  138. package/dist/runtime/subagents/supervisor.js.map +1 -1
  139. package/dist/runtime/subagents/types.d.ts +7 -0
  140. package/dist/runtime/subagents/types.d.ts.map +1 -1
  141. package/dist/runtime/subagents/types.js +12 -1
  142. package/dist/runtime/subagents/types.js.map +1 -1
  143. package/dist/runtime/turn-controller.d.ts.map +1 -1
  144. package/dist/runtime/turn-controller.js +3 -1
  145. package/dist/runtime/turn-controller.js.map +1 -1
  146. package/dist/runtime/ui-events.d.ts +23 -0
  147. package/dist/runtime/ui-events.d.ts.map +1 -1
  148. package/dist/runtime/ui-events.js +5 -5
  149. package/dist/runtime/ui-events.js.map +1 -1
  150. package/dist/services/config.d.ts +1 -1
  151. package/dist/services/config.d.ts.map +1 -1
  152. package/dist/services/config.js +55 -49
  153. package/dist/services/config.js.map +1 -1
  154. package/dist/services/doctor.d.ts.map +1 -1
  155. package/dist/services/doctor.js +163 -17
  156. package/dist/services/doctor.js.map +1 -1
  157. package/dist/services/global-config.d.ts +31 -0
  158. package/dist/services/global-config.d.ts.map +1 -1
  159. package/dist/services/global-config.js.map +1 -1
  160. package/dist/services/goal-storage.d.ts +9 -4
  161. package/dist/services/goal-storage.d.ts.map +1 -1
  162. package/dist/services/goal-storage.js +1113 -75
  163. package/dist/services/goal-storage.js.map +1 -1
  164. package/dist/services/llm.d.ts +19 -0
  165. package/dist/services/llm.d.ts.map +1 -1
  166. package/dist/services/llm.js +153 -20
  167. package/dist/services/llm.js.map +1 -1
  168. package/dist/services/model-catalog.d.ts +2 -0
  169. package/dist/services/model-catalog.d.ts.map +1 -1
  170. package/dist/services/model-catalog.js +25 -15
  171. package/dist/services/model-catalog.js.map +1 -1
  172. package/dist/services/model-context.d.ts.map +1 -1
  173. package/dist/services/model-context.js +36 -0
  174. package/dist/services/model-context.js.map +1 -1
  175. package/dist/services/model-registry.d.ts +1 -1
  176. package/dist/services/model-registry.d.ts.map +1 -1
  177. package/dist/services/model-registry.js +101 -19
  178. package/dist/services/model-registry.js.map +1 -1
  179. package/dist/services/provider-resilience/coordinator.d.ts +2 -1
  180. package/dist/services/provider-resilience/coordinator.d.ts.map +1 -1
  181. package/dist/services/provider-resilience/coordinator.js +7 -6
  182. package/dist/services/provider-resilience/coordinator.js.map +1 -1
  183. package/dist/services/provider-resilience/error-classifier.d.ts.map +1 -1
  184. package/dist/services/provider-resilience/error-classifier.js +67 -17
  185. package/dist/services/provider-resilience/error-classifier.js.map +1 -1
  186. package/dist/services/provider-resilience/types.d.ts +1 -1
  187. package/dist/services/provider-resilience/types.d.ts.map +1 -1
  188. package/dist/services/provider-resilience/types.js.map +1 -1
  189. package/dist/services/redaction.d.ts.map +1 -1
  190. package/dist/services/redaction.js +9 -1
  191. package/dist/services/redaction.js.map +1 -1
  192. package/dist/services/session-storage.d.ts +12 -1
  193. package/dist/services/session-storage.d.ts.map +1 -1
  194. package/dist/services/session-storage.js +23 -7
  195. package/dist/services/session-storage.js.map +1 -1
  196. package/dist/services/storage-maintenance.d.ts +73 -3
  197. package/dist/services/storage-maintenance.d.ts.map +1 -1
  198. package/dist/services/storage-maintenance.js +771 -104
  199. package/dist/services/storage-maintenance.js.map +1 -1
  200. package/dist/services/task-manager.d.ts.map +1 -1
  201. package/dist/services/task-manager.js +2 -2
  202. package/dist/services/task-manager.js.map +1 -1
  203. package/dist/services/tool-allowlist.d.ts +100 -0
  204. package/dist/services/tool-allowlist.d.ts.map +1 -0
  205. package/dist/services/tool-allowlist.js +250 -0
  206. package/dist/services/tool-allowlist.js.map +1 -0
  207. package/dist/services/web-search-adapters.d.ts.map +1 -1
  208. package/dist/services/web-search-adapters.js +89 -49
  209. package/dist/services/web-search-adapters.js.map +1 -1
  210. package/dist/services/web-search-mcp.d.ts.map +1 -1
  211. package/dist/services/web-search-mcp.js +34 -37
  212. package/dist/services/web-search-mcp.js.map +1 -1
  213. package/dist/services/workspace-state.d.ts +4 -0
  214. package/dist/services/workspace-state.d.ts.map +1 -1
  215. package/dist/services/workspace-state.js +30 -9
  216. package/dist/services/workspace-state.js.map +1 -1
  217. package/dist/terminal-ui/launch.d.ts +24 -2
  218. package/dist/terminal-ui/launch.d.ts.map +1 -1
  219. package/dist/terminal-ui/launch.js +166 -8
  220. package/dist/terminal-ui/launch.js.map +1 -1
  221. package/dist/tools/git.d.ts +4 -0
  222. package/dist/tools/git.d.ts.map +1 -1
  223. package/dist/tools/git.js +585 -30
  224. package/dist/tools/git.js.map +1 -1
  225. package/dist/tools/index.d.ts.map +1 -1
  226. package/dist/tools/index.js +79 -11
  227. package/dist/tools/index.js.map +1 -1
  228. package/dist/tools/mcp.d.ts.map +1 -1
  229. package/dist/tools/mcp.js +20 -12
  230. package/dist/tools/mcp.js.map +1 -1
  231. package/dist/tools/sandbox.d.ts +139 -0
  232. package/dist/tools/sandbox.d.ts.map +1 -0
  233. package/dist/tools/sandbox.js +485 -0
  234. package/dist/tools/sandbox.js.map +1 -0
  235. package/dist/tools/web.d.ts.map +1 -1
  236. package/dist/tools/web.js +149 -54
  237. package/dist/tools/web.js.map +1 -1
  238. package/dist/tui-ui/launch.d.ts.map +1 -1
  239. package/dist/tui-ui/launch.js +46 -8
  240. package/dist/tui-ui/launch.js.map +1 -1
  241. package/dist/tui-ui/layout.d.ts.map +1 -1
  242. package/dist/tui-ui/layout.js +98 -23
  243. package/dist/tui-ui/layout.js.map +1 -1
  244. package/dist/tui-ui/pickers.d.ts.map +1 -1
  245. package/dist/tui-ui/pickers.js +4 -3
  246. package/dist/tui-ui/pickers.js.map +1 -1
  247. package/dist/tui-ui/runner.d.ts +7 -0
  248. package/dist/tui-ui/runner.d.ts.map +1 -1
  249. package/dist/tui-ui/runner.js +95 -1
  250. package/dist/tui-ui/runner.js.map +1 -1
  251. package/dist/tui-ui/state.d.ts +25 -1
  252. package/dist/tui-ui/state.d.ts.map +1 -1
  253. package/dist/tui-ui/state.js +95 -37
  254. package/dist/tui-ui/state.js.map +1 -1
  255. package/dist/tui-ui/terminal-image.d.ts +3 -13
  256. package/dist/tui-ui/terminal-image.d.ts.map +1 -1
  257. package/dist/tui-ui/terminal-image.js +5 -160
  258. package/dist/tui-ui/terminal-image.js.map +1 -1
  259. package/dist/utils/mask.d.ts +28 -0
  260. package/dist/utils/mask.d.ts.map +1 -0
  261. package/dist/utils/mask.js +54 -0
  262. package/dist/utils/mask.js.map +1 -0
  263. package/package.json +14 -9
  264. package/dist/core/state.d.ts +0 -94
  265. package/dist/core/state.d.ts.map +0 -1
  266. package/dist/core/state.js +0 -178
  267. package/dist/core/state.js.map +0 -1
  268. package/dist/ink/bidi.d.ts +0 -16
  269. package/dist/ink/bidi.d.ts.map +0 -1
  270. package/dist/ink/bidi.js +0 -124
  271. package/dist/ink/bidi.js.map +0 -1
  272. package/dist/ink/clearTerminal.d.ts +0 -14
  273. package/dist/ink/clearTerminal.d.ts.map +0 -1
  274. package/dist/ink/clearTerminal.js +0 -63
  275. package/dist/ink/clearTerminal.js.map +0 -1
  276. package/dist/ink/colorize.d.ts +0 -17
  277. package/dist/ink/colorize.d.ts.map +0 -1
  278. package/dist/ink/colorize.js +0 -208
  279. package/dist/ink/colorize.js.map +0 -1
  280. package/dist/ink/components/App.d.ts +0 -73
  281. package/dist/ink/components/App.d.ts.map +0 -1
  282. package/dist/ink/components/App.js +0 -646
  283. package/dist/ink/components/App.js.map +0 -1
  284. package/dist/ink/components/AppContext.d.ts +0 -12
  285. package/dist/ink/components/AppContext.d.ts.map +0 -1
  286. package/dist/ink/components/AppContext.js +0 -14
  287. package/dist/ink/components/AppContext.js.map +0 -1
  288. package/dist/ink/components/Box.d.ts +0 -44
  289. package/dist/ink/components/Box.d.ts.map +0 -1
  290. package/dist/ink/components/Box.js +0 -191
  291. package/dist/ink/components/Box.js.map +0 -1
  292. package/dist/ink/components/ClockContext.d.ts +0 -9
  293. package/dist/ink/components/ClockContext.d.ts.map +0 -1
  294. package/dist/ink/components/ClockContext.js +0 -146
  295. package/dist/ink/components/ClockContext.js.map +0 -1
  296. package/dist/ink/components/CursorDeclarationContext.d.ts +0 -23
  297. package/dist/ink/components/CursorDeclarationContext.d.ts.map +0 -1
  298. package/dist/ink/components/CursorDeclarationContext.js +0 -6
  299. package/dist/ink/components/CursorDeclarationContext.js.map +0 -1
  300. package/dist/ink/components/ErrorOverview.d.ts +0 -6
  301. package/dist/ink/components/ErrorOverview.d.ts.map +0 -1
  302. package/dist/ink/components/ErrorOverview.js +0 -27
  303. package/dist/ink/components/ErrorOverview.js.map +0 -1
  304. package/dist/ink/components/Newline.d.ts +0 -13
  305. package/dist/ink/components/Newline.d.ts.map +0 -1
  306. package/dist/ink/components/Newline.js +0 -36
  307. package/dist/ink/components/Newline.js.map +0 -1
  308. package/dist/ink/components/NoSelect.d.ts +0 -20
  309. package/dist/ink/components/NoSelect.d.ts.map +0 -1
  310. package/dist/ink/components/NoSelect.js +0 -63
  311. package/dist/ink/components/NoSelect.js.map +0 -1
  312. package/dist/ink/components/RawAnsi.d.ts +0 -17
  313. package/dist/ink/components/RawAnsi.d.ts.map +0 -1
  314. package/dist/ink/components/RawAnsi.js +0 -52
  315. package/dist/ink/components/RawAnsi.js.map +0 -1
  316. package/dist/ink/components/Spacer.d.ts +0 -6
  317. package/dist/ink/components/Spacer.d.ts.map +0 -1
  318. package/dist/ink/components/Spacer.js +0 -26
  319. package/dist/ink/components/Spacer.js.map +0 -1
  320. package/dist/ink/components/StdinContext.d.ts +0 -28
  321. package/dist/ink/components/StdinContext.d.ts.map +0 -1
  322. package/dist/ink/components/StdinContext.js +0 -19
  323. package/dist/ink/components/StdinContext.js.map +0 -1
  324. package/dist/ink/components/TerminalFocusContext.d.ts +0 -10
  325. package/dist/ink/components/TerminalFocusContext.d.ts.map +0 -1
  326. package/dist/ink/components/TerminalFocusContext.js +0 -81
  327. package/dist/ink/components/TerminalFocusContext.js.map +0 -1
  328. package/dist/ink/components/TerminalSizeContext.d.ts +0 -6
  329. package/dist/ink/components/TerminalSizeContext.d.ts.map +0 -1
  330. package/dist/ink/components/TerminalSizeContext.js +0 -6
  331. package/dist/ink/components/TerminalSizeContext.js.map +0 -1
  332. package/dist/ink/components/Text.d.ts +0 -56
  333. package/dist/ink/components/Text.d.ts.map +0 -1
  334. package/dist/ink/components/Text.js +0 -201
  335. package/dist/ink/components/Text.js.map +0 -1
  336. package/dist/ink/constants.d.ts +0 -2
  337. package/dist/ink/constants.d.ts.map +0 -1
  338. package/dist/ink/constants.js +0 -6
  339. package/dist/ink/constants.js.map +0 -1
  340. package/dist/ink/devtools.d.ts +0 -3
  341. package/dist/ink/devtools.d.ts.map +0 -1
  342. package/dist/ink/devtools.js +0 -5
  343. package/dist/ink/devtools.js.map +0 -1
  344. package/dist/ink/dom.d.ts +0 -77
  345. package/dist/ink/dom.d.ts.map +0 -1
  346. package/dist/ink/dom.js +0 -322
  347. package/dist/ink/dom.js.map +0 -1
  348. package/dist/ink/events/click-event.d.ts +0 -32
  349. package/dist/ink/events/click-event.d.ts.map +0 -1
  350. package/dist/ink/events/click-event.js +0 -30
  351. package/dist/ink/events/click-event.js.map +0 -1
  352. package/dist/ink/events/dispatcher.d.ts +0 -41
  353. package/dist/ink/events/dispatcher.d.ts.map +0 -1
  354. package/dist/ink/events/dispatcher.js +0 -181
  355. package/dist/ink/events/dispatcher.js.map +0 -1
  356. package/dist/ink/events/emitter.d.ts +0 -6
  357. package/dist/ink/events/emitter.d.ts.map +0 -1
  358. package/dist/ink/events/emitter.js +0 -36
  359. package/dist/ink/events/emitter.js.map +0 -1
  360. package/dist/ink/events/event-handlers.d.ts +0 -47
  361. package/dist/ink/events/event-handlers.d.ts.map +0 -1
  362. package/dist/ink/events/event-handlers.js +0 -34
  363. package/dist/ink/events/event-handlers.js.map +0 -1
  364. package/dist/ink/events/event.d.ts +0 -6
  365. package/dist/ink/events/event.d.ts.map +0 -1
  366. package/dist/ink/events/event.js +0 -16
  367. package/dist/ink/events/event.js.map +0 -1
  368. package/dist/ink/events/focus-event.d.ts +0 -14
  369. package/dist/ink/events/focus-event.d.ts.map +0 -1
  370. package/dist/ink/events/focus-event.js +0 -20
  371. package/dist/ink/events/focus-event.js.map +0 -1
  372. package/dist/ink/events/input-event.d.ts +0 -31
  373. package/dist/ink/events/input-event.d.ts.map +0 -1
  374. package/dist/ink/events/input-event.js +0 -163
  375. package/dist/ink/events/input-event.js.map +0 -1
  376. package/dist/ink/events/keyboard-event.d.ts +0 -20
  377. package/dist/ink/events/keyboard-event.d.ts.map +0 -1
  378. package/dist/ink/events/keyboard-event.js +0 -44
  379. package/dist/ink/events/keyboard-event.js.map +0 -1
  380. package/dist/ink/events/terminal-event.d.ts +0 -55
  381. package/dist/ink/events/terminal-event.d.ts.map +0 -1
  382. package/dist/ink/events/terminal-event.js +0 -79
  383. package/dist/ink/events/terminal-event.js.map +0 -1
  384. package/dist/ink/events/terminal-focus-event.d.ts +0 -14
  385. package/dist/ink/events/terminal-focus-event.d.ts.map +0 -1
  386. package/dist/ink/events/terminal-focus-event.js +0 -19
  387. package/dist/ink/events/terminal-focus-event.js.map +0 -1
  388. package/dist/ink/focus.d.ts +0 -44
  389. package/dist/ink/focus.d.ts.map +0 -1
  390. package/dist/ink/focus.js +0 -164
  391. package/dist/ink/focus.js.map +0 -1
  392. package/dist/ink/frame.d.ts +0 -95
  393. package/dist/ink/frame.d.ts.map +0 -1
  394. package/dist/ink/frame.js +0 -35
  395. package/dist/ink/frame.js.map +0 -1
  396. package/dist/ink/get-max-width.d.ts +0 -18
  397. package/dist/ink/get-max-width.d.ts.map +0 -1
  398. package/dist/ink/get-max-width.js +0 -26
  399. package/dist/ink/get-max-width.js.map +0 -1
  400. package/dist/ink/hit-test.d.ts +0 -34
  401. package/dist/ink/hit-test.d.ts.map +0 -1
  402. package/dist/ink/hit-test.js +0 -119
  403. package/dist/ink/hit-test.js.map +0 -1
  404. package/dist/ink/hooks/use-animation-frame.d.ts +0 -27
  405. package/dist/ink/hooks/use-animation-frame.d.ts.map +0 -1
  406. package/dist/ink/hooks/use-animation-frame.js +0 -52
  407. package/dist/ink/hooks/use-animation-frame.js.map +0 -1
  408. package/dist/ink/hooks/use-app.d.ts +0 -6
  409. package/dist/ink/hooks/use-app.d.ts.map +0 -1
  410. package/dist/ink/hooks/use-app.js +0 -13
  411. package/dist/ink/hooks/use-app.js.map +0 -1
  412. package/dist/ink/hooks/use-declared-cursor.d.ts +0 -27
  413. package/dist/ink/hooks/use-declared-cursor.d.ts.map +0 -1
  414. package/dist/ink/hooks/use-declared-cursor.js +0 -67
  415. package/dist/ink/hooks/use-declared-cursor.js.map +0 -1
  416. package/dist/ink/hooks/use-input.d.ts +0 -38
  417. package/dist/ink/hooks/use-input.d.ts.map +0 -1
  418. package/dist/ink/hooks/use-input.js +0 -86
  419. package/dist/ink/hooks/use-input.js.map +0 -1
  420. package/dist/ink/hooks/use-interval.d.ts +0 -19
  421. package/dist/ink/hooks/use-interval.d.ts.map +0 -1
  422. package/dist/ink/hooks/use-interval.js +0 -59
  423. package/dist/ink/hooks/use-interval.js.map +0 -1
  424. package/dist/ink/hooks/use-search-highlight.d.ts +0 -31
  425. package/dist/ink/hooks/use-search-highlight.d.ts.map +0 -1
  426. package/dist/ink/hooks/use-search-highlight.js +0 -39
  427. package/dist/ink/hooks/use-search-highlight.js.map +0 -1
  428. package/dist/ink/hooks/use-selection.d.ts +0 -40
  429. package/dist/ink/hooks/use-selection.d.ts.map +0 -1
  430. package/dist/ink/hooks/use-selection.js +0 -68
  431. package/dist/ink/hooks/use-selection.js.map +0 -1
  432. package/dist/ink/hooks/use-stdin.d.ts +0 -6
  433. package/dist/ink/hooks/use-stdin.d.ts.map +0 -1
  434. package/dist/ink/hooks/use-stdin.js +0 -13
  435. package/dist/ink/hooks/use-stdin.js.map +0 -1
  436. package/dist/ink/hooks/use-tab-status.d.ts +0 -14
  437. package/dist/ink/hooks/use-tab-status.d.ts.map +0 -1
  438. package/dist/ink/hooks/use-tab-status.js +0 -61
  439. package/dist/ink/hooks/use-tab-status.js.map +0 -1
  440. package/dist/ink/hooks/use-terminal-focus.d.ts +0 -11
  441. package/dist/ink/hooks/use-terminal-focus.d.ts.map +0 -1
  442. package/dist/ink/hooks/use-terminal-focus.js +0 -22
  443. package/dist/ink/hooks/use-terminal-focus.js.map +0 -1
  444. package/dist/ink/hooks/use-terminal-title.d.ts +0 -13
  445. package/dist/ink/hooks/use-terminal-title.d.ts.map +0 -1
  446. package/dist/ink/hooks/use-terminal-title.js +0 -36
  447. package/dist/ink/hooks/use-terminal-title.js.map +0 -1
  448. package/dist/ink/hooks/use-terminal-viewport.d.ts +0 -30
  449. package/dist/ink/hooks/use-terminal-viewport.d.ts.map +0 -1
  450. package/dist/ink/hooks/use-terminal-viewport.js +0 -81
  451. package/dist/ink/hooks/use-terminal-viewport.js.map +0 -1
  452. package/dist/ink/ink.d.ts +0 -371
  453. package/dist/ink/ink.d.ts.map +0 -1
  454. package/dist/ink/ink.js +0 -1686
  455. package/dist/ink/ink.js.map +0 -1
  456. package/dist/ink/instances.d.ts +0 -4
  457. package/dist/ink/instances.d.ts.map +0 -1
  458. package/dist/ink/instances.js +0 -10
  459. package/dist/ink/instances.js.map +0 -1
  460. package/dist/ink/line-width-cache.d.ts +0 -2
  461. package/dist/ink/line-width-cache.d.ts.map +0 -1
  462. package/dist/ink/line-width-cache.js +0 -23
  463. package/dist/ink/line-width-cache.js.map +0 -1
  464. package/dist/ink/log-update.d.ts +0 -18
  465. package/dist/ink/log-update.d.ts.map +0 -1
  466. package/dist/ink/log-update.js +0 -637
  467. package/dist/ink/log-update.js.map +0 -1
  468. package/dist/ink/measure-element.d.ts +0 -17
  469. package/dist/ink/measure-element.d.ts.map +0 -1
  470. package/dist/ink/measure-element.js +0 -11
  471. package/dist/ink/measure-element.js.map +0 -1
  472. package/dist/ink/measure-text.d.ts +0 -7
  473. package/dist/ink/measure-text.d.ts.map +0 -1
  474. package/dist/ink/measure-text.js +0 -38
  475. package/dist/ink/measure-text.js.map +0 -1
  476. package/dist/ink/node-cache.d.ts +0 -21
  477. package/dist/ink/node-cache.d.ts.map +0 -1
  478. package/dist/ink/node-cache.js +0 -36
  479. package/dist/ink/node-cache.js.map +0 -1
  480. package/dist/ink/optimizer.d.ts +0 -16
  481. package/dist/ink/optimizer.d.ts.map +0 -1
  482. package/dist/ink/optimizer.js +0 -85
  483. package/dist/ink/optimizer.js.map +0 -1
  484. package/dist/ink/output.d.ts +0 -120
  485. package/dist/ink/output.d.ts.map +0 -1
  486. package/dist/ink/output.js +0 -559
  487. package/dist/ink/output.js.map +0 -1
  488. package/dist/ink/parse-keypress.d.ts +0 -112
  489. package/dist/ink/parse-keypress.d.ts.map +0 -1
  490. package/dist/ink/parse-keypress.js +0 -719
  491. package/dist/ink/parse-keypress.js.map +0 -1
  492. package/dist/ink/parse-keypress.test.d.ts +0 -2
  493. package/dist/ink/parse-keypress.test.d.ts.map +0 -1
  494. package/dist/ink/parse-keypress.test.js +0 -37
  495. package/dist/ink/parse-keypress.test.js.map +0 -1
  496. package/dist/ink/reconciler.d.ts +0 -12
  497. package/dist/ink/reconciler.d.ts.map +0 -1
  498. package/dist/ink/reconciler.js +0 -456
  499. package/dist/ink/reconciler.js.map +0 -1
  500. package/dist/ink/render-border.d.ts +0 -25
  501. package/dist/ink/render-border.d.ts.map +0 -1
  502. package/dist/ink/render-border.js +0 -141
  503. package/dist/ink/render-border.js.map +0 -1
  504. package/dist/ink/render-node-to-output.d.ts +0 -46
  505. package/dist/ink/render-node-to-output.d.ts.map +0 -1
  506. package/dist/ink/render-node-to-output.js +0 -1257
  507. package/dist/ink/render-node-to-output.js.map +0 -1
  508. package/dist/ink/render-to-screen.d.ts +0 -47
  509. package/dist/ink/render-to-screen.d.ts.map +0 -1
  510. package/dist/ink/render-to-screen.js +0 -213
  511. package/dist/ink/render-to-screen.js.map +0 -1
  512. package/dist/ink/renderer.d.ts +0 -15
  513. package/dist/ink/renderer.d.ts.map +0 -1
  514. package/dist/ink/renderer.js +0 -169
  515. package/dist/ink/renderer.js.map +0 -1
  516. package/dist/ink/root.d.ts +0 -75
  517. package/dist/ink/root.d.ts.map +0 -1
  518. package/dist/ink/root.js +0 -89
  519. package/dist/ink/root.js.map +0 -1
  520. package/dist/ink/screen.d.ts +0 -270
  521. package/dist/ink/screen.d.ts.map +0 -1
  522. package/dist/ink/screen.js +0 -1194
  523. package/dist/ink/screen.js.map +0 -1
  524. package/dist/ink/searchHighlight.d.ts +0 -21
  525. package/dist/ink/searchHighlight.d.ts.map +0 -1
  526. package/dist/ink/searchHighlight.js +0 -82
  527. package/dist/ink/searchHighlight.js.map +0 -1
  528. package/dist/ink/selection.d.ts +0 -230
  529. package/dist/ink/selection.d.ts.map +0 -1
  530. package/dist/ink/selection.js +0 -814
  531. package/dist/ink/selection.js.map +0 -1
  532. package/dist/ink/squash-text-nodes.d.ts +0 -23
  533. package/dist/ink/squash-text-nodes.d.ts.map +0 -1
  534. package/dist/ink/squash-text-nodes.js +0 -60
  535. package/dist/ink/squash-text-nodes.js.map +0 -1
  536. package/dist/ink/stringWidth.d.ts +0 -2
  537. package/dist/ink/stringWidth.d.ts.map +0 -1
  538. package/dist/ink/stringWidth.js +0 -207
  539. package/dist/ink/stringWidth.js.map +0 -1
  540. package/dist/ink/styles.d.ts +0 -307
  541. package/dist/ink/styles.d.ts.map +0 -1
  542. package/dist/ink/styles.js +0 -302
  543. package/dist/ink/styles.js.map +0 -1
  544. package/dist/ink/supports-hyperlinks.d.ts +0 -14
  545. package/dist/ink/supports-hyperlinks.d.ts.map +0 -1
  546. package/dist/ink/supports-hyperlinks.js +0 -48
  547. package/dist/ink/supports-hyperlinks.js.map +0 -1
  548. package/dist/ink/tabstops.d.ts +0 -2
  549. package/dist/ink/tabstops.d.ts.map +0 -1
  550. package/dist/ink/tabstops.js +0 -43
  551. package/dist/ink/tabstops.js.map +0 -1
  552. package/dist/ink/terminal-focus-state.d.ts +0 -7
  553. package/dist/ink/terminal-focus-state.d.ts.map +0 -1
  554. package/dist/ink/terminal-focus-state.js +0 -43
  555. package/dist/ink/terminal-focus-state.js.map +0 -1
  556. package/dist/ink/terminal-querier.d.ts +0 -130
  557. package/dist/ink/terminal-querier.d.ts.map +0 -1
  558. package/dist/ink/terminal-querier.js +0 -184
  559. package/dist/ink/terminal-querier.js.map +0 -1
  560. package/dist/ink/terminal.d.ts +0 -56
  561. package/dist/ink/terminal.d.ts.map +0 -1
  562. package/dist/ink/terminal.js +0 -249
  563. package/dist/ink/terminal.js.map +0 -1
  564. package/dist/ink/termio/csi.d.ts +0 -166
  565. package/dist/ink/termio/csi.d.ts.map +0 -1
  566. package/dist/ink/termio/csi.js +0 -285
  567. package/dist/ink/termio/csi.js.map +0 -1
  568. package/dist/ink/termio/dec.d.ts +0 -38
  569. package/dist/ink/termio/dec.d.ts.map +0 -1
  570. package/dist/ink/termio/dec.js +0 -59
  571. package/dist/ink/termio/dec.js.map +0 -1
  572. package/dist/ink/termio.d.ts +0 -25
  573. package/dist/ink/termio.d.ts.map +0 -1
  574. package/dist/ink/termio.js +0 -32
  575. package/dist/ink/termio.js.map +0 -1
  576. package/dist/ink/useTerminalNotification.d.ts +0 -27
  577. package/dist/ink/useTerminalNotification.d.ts.map +0 -1
  578. package/dist/ink/useTerminalNotification.js +0 -62
  579. package/dist/ink/useTerminalNotification.js.map +0 -1
  580. package/dist/ink/warn.d.ts +0 -2
  581. package/dist/ink/warn.d.ts.map +0 -1
  582. package/dist/ink/warn.js +0 -14
  583. package/dist/ink/warn.js.map +0 -1
  584. package/dist/ink/widest-line.d.ts +0 -2
  585. package/dist/ink/widest-line.d.ts.map +0 -1
  586. package/dist/ink/widest-line.js +0 -18
  587. package/dist/ink/widest-line.js.map +0 -1
  588. package/dist/ink/wrap-text.d.ts +0 -3
  589. package/dist/ink/wrap-text.d.ts.map +0 -1
  590. package/dist/ink/wrap-text.js +0 -61
  591. package/dist/ink/wrap-text.js.map +0 -1
  592. package/dist/ink/wrapAnsi.d.ts +0 -8
  593. package/dist/ink/wrapAnsi.d.ts.map +0 -1
  594. package/dist/ink/wrapAnsi.js +0 -13
  595. package/dist/ink/wrapAnsi.js.map +0 -1
  596. package/dist/ink-ui/components/TerminalCursor.d.ts +0 -15
  597. package/dist/ink-ui/components/TerminalCursor.d.ts.map +0 -1
  598. package/dist/ink-ui/components/TerminalCursor.js +0 -49
  599. package/dist/ink-ui/components/TerminalCursor.js.map +0 -1
  600. package/dist/ink-ui/runtime/stdout.d.ts +0 -11
  601. package/dist/ink-ui/runtime/stdout.d.ts.map +0 -1
  602. package/dist/ink-ui/runtime/stdout.js +0 -82
  603. package/dist/ink-ui/runtime/stdout.js.map +0 -1
  604. package/dist/runtime/goal-coordinator.d.ts +0 -66
  605. package/dist/runtime/goal-coordinator.d.ts.map +0 -1
  606. package/dist/runtime/goal-coordinator.js +0 -200
  607. package/dist/runtime/goal-coordinator.js.map +0 -1
  608. package/dist/screens/REPL.d.ts +0 -21
  609. package/dist/screens/REPL.d.ts.map +0 -1
  610. package/dist/screens/REPL.js +0 -139
  611. package/dist/screens/REPL.js.map +0 -1
  612. package/dist/services/goal-sidecar.d.ts +0 -96
  613. package/dist/services/goal-sidecar.d.ts.map +0 -1
  614. package/dist/services/goal-sidecar.js +0 -145
  615. package/dist/services/goal-sidecar.js.map +0 -1
  616. package/dist/tools/goal.d.ts +0 -17
  617. package/dist/tools/goal.d.ts.map +0 -1
  618. package/dist/tools/goal.js +0 -191
  619. package/dist/tools/goal.js.map +0 -1
  620. package/dist/ui/ink/components/App.d.ts +0 -6
  621. package/dist/ui/ink/components/App.d.ts.map +0 -1
  622. package/dist/ui/ink/components/App.js +0 -38
  623. package/dist/ui/ink/components/App.js.map +0 -1
  624. package/dist/ui/ink/components/CommandPanel.d.ts +0 -13
  625. package/dist/ui/ink/components/CommandPanel.d.ts.map +0 -1
  626. package/dist/ui/ink/components/CommandPanel.js +0 -41
  627. package/dist/ui/ink/components/CommandPanel.js.map +0 -1
  628. package/dist/ui/ink/components/InputLine.d.ts +0 -8
  629. package/dist/ui/ink/components/InputLine.d.ts.map +0 -1
  630. package/dist/ui/ink/components/InputLine.js +0 -15
  631. package/dist/ui/ink/components/InputLine.js.map +0 -1
  632. package/dist/ui/ink/components/StatusBar.d.ts +0 -9
  633. package/dist/ui/ink/components/StatusBar.d.ts.map +0 -1
  634. package/dist/ui/ink/components/StatusBar.js +0 -18
  635. package/dist/ui/ink/components/StatusBar.js.map +0 -1
  636. package/dist/ui/ink/components/index.d.ts +0 -5
  637. package/dist/ui/ink/components/index.d.ts.map +0 -1
  638. package/dist/ui/ink/components/index.js +0 -5
  639. package/dist/ui/ink/components/index.js.map +0 -1
  640. package/dist/utils/chalk.d.ts +0 -9
  641. package/dist/utils/chalk.d.ts.map +0 -1
  642. package/dist/utils/chalk.js +0 -16
  643. package/dist/utils/chalk.js.map +0 -1
@@ -1,178 +0,0 @@
1
- "use strict";
2
- /**
3
- * openhorse - Bootstrap State 管理
4
- *
5
- * v0.1.11: 全局状态字段规范化
6
- *
7
- * 提供项目标识、成本追踪、会话状态、缓存等状态管理
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.STATE_MANAGER = void 0;
11
- exports.initGlobalState = initGlobalState;
12
- exports.getGlobalState = getGlobalState;
13
- exports.ensureGlobalState = ensureGlobalState;
14
- exports.resetGlobalState = resetGlobalState;
15
- exports.updateActivity = updateActivity;
16
- exports.recordToolCall = recordToolCall;
17
- exports.recordError = recordError;
18
- exports.addCost = addCost;
19
- exports.setCachedMemory = setCachedMemory;
20
- exports.clearCachedMemory = clearCachedMemory;
21
- exports.setBypassPermissionsMode = setBypassPermissionsMode;
22
- exports.markExitedPlanMode = markExitedPlanMode;
23
- exports.getStateSummary = getStateSummary;
24
- // ============================================================================
25
- // Global State Singleton
26
- // ============================================================================
27
- let globalState = null;
28
- /**
29
- * 初始化全局状态
30
- * @param projectRoot - 项目根目录
31
- * @param sessionId - 会话 ID
32
- */
33
- function initGlobalState(projectRoot, sessionId) {
34
- globalState = {
35
- projectRoot,
36
- sessionId: sessionId || generateSessionId(),
37
- totalCostUSD: 0,
38
- modelUsage: new Map(),
39
- sessionBypassPermissionsMode: false,
40
- hasExitedPlanMode: false,
41
- cachedMemoryContent: null,
42
- initializedAt: Date.now(),
43
- lastActivityAt: Date.now(),
44
- toolCallCount: 0,
45
- errorCount: 0,
46
- };
47
- return globalState;
48
- }
49
- /**
50
- * 获取全局状态
51
- */
52
- function getGlobalState() {
53
- return globalState;
54
- }
55
- /**
56
- * 确保全局状态已初始化
57
- */
58
- function ensureGlobalState() {
59
- if (!globalState) {
60
- return initGlobalState(process.cwd());
61
- }
62
- return globalState;
63
- }
64
- /**
65
- * 重置全局状态
66
- */
67
- function resetGlobalState() {
68
- globalState = null;
69
- }
70
- // ============================================================================
71
- // State Updates
72
- // ============================================================================
73
- /**
74
- * 更新最后活动时间
75
- */
76
- function updateActivity() {
77
- const state = ensureGlobalState();
78
- state.lastActivityAt = Date.now();
79
- }
80
- /**
81
- * 记录工具调用
82
- */
83
- function recordToolCall() {
84
- const state = ensureGlobalState();
85
- state.toolCallCount++;
86
- updateActivity();
87
- }
88
- /**
89
- * 记录错误
90
- */
91
- function recordError() {
92
- const state = ensureGlobalState();
93
- state.errorCount++;
94
- }
95
- /**
96
- * 添加成本
97
- */
98
- function addCost(model, tokens, costUSD) {
99
- const state = ensureGlobalState();
100
- state.totalCostUSD += costUSD;
101
- const existing = state.modelUsage.get(model) || { tokens: 0, cost: 0 };
102
- state.modelUsage.set(model, {
103
- tokens: existing.tokens + tokens,
104
- cost: existing.cost + costUSD,
105
- });
106
- }
107
- /**
108
- * 设置内存缓存
109
- */
110
- function setCachedMemory(content) {
111
- const state = ensureGlobalState();
112
- state.cachedMemoryContent = content;
113
- }
114
- /**
115
- * 清除内存缓存
116
- */
117
- function clearCachedMemory() {
118
- const state = ensureGlobalState();
119
- state.cachedMemoryContent = null;
120
- }
121
- /**
122
- * 设置绕过权限模式
123
- */
124
- function setBypassPermissionsMode(enabled) {
125
- const state = ensureGlobalState();
126
- state.sessionBypassPermissionsMode = enabled;
127
- }
128
- /**
129
- * 标记已退出计划模式
130
- */
131
- function markExitedPlanMode() {
132
- const state = ensureGlobalState();
133
- state.hasExitedPlanMode = true;
134
- }
135
- // ============================================================================
136
- // Helpers
137
- // ============================================================================
138
- function generateSessionId() {
139
- const timestamp = Date.now().toString(36);
140
- const random = Math.random().toString(36).slice(2, 8);
141
- return `${timestamp}-${random}`;
142
- }
143
- /**
144
- * 获取状态摘要
145
- */
146
- function getStateSummary() {
147
- const state = getGlobalState();
148
- if (!state)
149
- return 'State not initialized';
150
- const lines = [
151
- `Project: ${state.projectRoot}`,
152
- `Session: ${state.sessionId}`,
153
- `Cost: $${state.totalCostUSD.toFixed(4)}`,
154
- `Tool calls: ${state.toolCallCount}`,
155
- `Errors: ${state.errorCount}`,
156
- `Uptime: ${Math.round((Date.now() - state.initializedAt) / 1000)}s`,
157
- ];
158
- return lines.join('\n');
159
- }
160
- // ============================================================================
161
- // Export
162
- // ============================================================================
163
- exports.STATE_MANAGER = {
164
- initGlobalState,
165
- getGlobalState,
166
- ensureGlobalState,
167
- resetGlobalState,
168
- updateActivity,
169
- recordToolCall,
170
- recordError,
171
- addCost,
172
- setCachedMemory,
173
- clearCachedMemory,
174
- setBypassPermissionsMode,
175
- markExitedPlanMode,
176
- getStateSummary,
177
- };
178
- //# sourceMappingURL=state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- type ClusteredChar = {
2
- value: string;
3
- width: number;
4
- styleId: number;
5
- hyperlink: string | undefined;
6
- };
7
- /**
8
- * Reorder an array of ClusteredChars from logical order to visual order
9
- * using the Unicode Bidi Algorithm. Active on terminals that lack native
10
- * bidi support (Windows Terminal, conhost, WSL).
11
- *
12
- * Returns the same array on bidi-capable terminals (no-op).
13
- */
14
- export declare function reorderBidi(characters: ClusteredChar[]): ClusteredChar[];
15
- export {};
16
- //# sourceMappingURL=bidi.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bidi.d.ts","sourceRoot":"","sources":["../../src/ink/bidi.ts"],"names":[],"mappings":"AAkBA,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B,CAAA;AAsBD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAoDxE"}
package/dist/ink/bidi.js DELETED
@@ -1,124 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.reorderBidi = reorderBidi;
7
- /**
8
- * Bidirectional text reordering for terminal rendering.
9
- *
10
- * Terminals on Windows do not implement the Unicode Bidi Algorithm,
11
- * so RTL text (Hebrew, Arabic, etc.) appears reversed. This module
12
- * applies the bidi algorithm to reorder ClusteredChar arrays from
13
- * logical order to visual order before Ink's LTR cell placement loop.
14
- *
15
- * On macOS terminals (Terminal.app, iTerm2) bidi works natively.
16
- * Windows Terminal (including WSL) does not implement bidi
17
- * (https://github.com/microsoft/terminal/issues/538).
18
- *
19
- * Detection: Windows Terminal sets WT_SESSION; native Windows cmd/conhost
20
- * also lacks bidi. We enable bidi reordering when running on Windows or
21
- * inside Windows Terminal (covers WSL).
22
- */
23
- const bidi_js_1 = __importDefault(require("bidi-js"));
24
- let bidiInstance;
25
- let needsSoftwareBidi;
26
- function needsBidi() {
27
- if (needsSoftwareBidi === undefined) {
28
- needsSoftwareBidi =
29
- process.platform === 'win32' ||
30
- typeof process.env['WT_SESSION'] === 'string' || // WSL in Windows Terminal
31
- process.env['TERM_PROGRAM'] === 'vscode'; // VS Code integrated terminal (xterm.js)
32
- }
33
- return needsSoftwareBidi;
34
- }
35
- function getBidi() {
36
- if (!bidiInstance) {
37
- bidiInstance = (0, bidi_js_1.default)();
38
- }
39
- return bidiInstance;
40
- }
41
- /**
42
- * Reorder an array of ClusteredChars from logical order to visual order
43
- * using the Unicode Bidi Algorithm. Active on terminals that lack native
44
- * bidi support (Windows Terminal, conhost, WSL).
45
- *
46
- * Returns the same array on bidi-capable terminals (no-op).
47
- */
48
- function reorderBidi(characters) {
49
- if (!needsBidi() || characters.length === 0) {
50
- return characters;
51
- }
52
- // Build a plain string from the clustered chars to run through bidi
53
- const plainText = characters.map(c => c.value).join('');
54
- // Check if there are any RTL characters — skip bidi if pure LTR
55
- if (!hasRTLCharacters(plainText)) {
56
- return characters;
57
- }
58
- const bidi = getBidi();
59
- const { levels } = bidi.getEmbeddingLevels(plainText, 'auto');
60
- // Map bidi levels back to ClusteredChar indices.
61
- // Each ClusteredChar may be multiple code units in the joined string.
62
- const charLevels = [];
63
- let offset = 0;
64
- for (let i = 0; i < characters.length; i++) {
65
- charLevels.push(levels[offset]);
66
- offset += characters[i].value.length;
67
- }
68
- // Get reorder segments from bidi-js, but we need to work at the
69
- // ClusteredChar level, not the string level. We'll implement the
70
- // standard bidi reordering: find the max level, then for each level
71
- // from max down to 1, reverse all contiguous runs >= that level.
72
- const reordered = [...characters];
73
- const maxLevel = Math.max(...charLevels);
74
- for (let level = maxLevel; level >= 1; level--) {
75
- let i = 0;
76
- while (i < reordered.length) {
77
- if (charLevels[i] >= level) {
78
- // Find the end of this run
79
- let j = i + 1;
80
- while (j < reordered.length && charLevels[j] >= level) {
81
- j++;
82
- }
83
- // Reverse the run in both arrays
84
- reverseRange(reordered, i, j - 1);
85
- reverseRangeNumbers(charLevels, i, j - 1);
86
- i = j;
87
- }
88
- else {
89
- i++;
90
- }
91
- }
92
- }
93
- return reordered;
94
- }
95
- function reverseRange(arr, start, end) {
96
- while (start < end) {
97
- const temp = arr[start];
98
- arr[start] = arr[end];
99
- arr[end] = temp;
100
- start++;
101
- end--;
102
- }
103
- }
104
- function reverseRangeNumbers(arr, start, end) {
105
- while (start < end) {
106
- const temp = arr[start];
107
- arr[start] = arr[end];
108
- arr[end] = temp;
109
- start++;
110
- end--;
111
- }
112
- }
113
- /**
114
- * Quick check for RTL characters (Hebrew, Arabic, and related scripts).
115
- * Avoids running the full bidi algorithm on pure-LTR text.
116
- */
117
- function hasRTLCharacters(text) {
118
- // Hebrew: U+0590-U+05FF, U+FB1D-U+FB4F
119
- // Arabic: U+0600-U+06FF, U+0750-U+077F, U+08A0-U+08FF, U+FB50-U+FDFF, U+FE70-U+FEFF
120
- // Thaana: U+0780-U+07BF
121
- // Syriac: U+0700-U+074F
122
- return /[\u0590-\u05FF\uFB1D-\uFB4F\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF\uFB50-\uFDFF\uFE70-\uFEFF\u0780-\u07BF\u0700-\u074F]/u.test(text);
123
- }
124
- //# sourceMappingURL=bidi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bidi.js","sourceRoot":"","sources":["../../src/ink/bidi.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Cross-platform terminal clearing with scrollback support.
3
- * Detects modern terminals that support ESC[3J for clearing scrollback.
4
- */
5
- /**
6
- * Returns the ANSI escape sequence to clear the terminal including scrollback.
7
- * Automatically detects terminal capabilities.
8
- */
9
- export declare function getClearTerminalSequence(): string;
10
- /**
11
- * Clears the terminal screen. On supported terminals, also clears scrollback.
12
- */
13
- export declare const clearTerminal: string;
14
- //# sourceMappingURL=clearTerminal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clearTerminal.d.ts","sourceRoot":"","sources":["../../src/ink/clearTerminal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAmDH;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAUjD;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,QAA6B,CAAA"}
@@ -1,63 +0,0 @@
1
- "use strict";
2
- /**
3
- * Cross-platform terminal clearing with scrollback support.
4
- * Detects modern terminals that support ESC[3J for clearing scrollback.
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.clearTerminal = void 0;
8
- exports.getClearTerminalSequence = getClearTerminalSequence;
9
- const csi_js_1 = require("./termio/csi.js");
10
- // HVP (Horizontal Vertical Position) - legacy Windows cursor home
11
- const CURSOR_HOME_WINDOWS = (0, csi_js_1.csi)(0, 'f');
12
- function isWindowsTerminal() {
13
- return process.platform === 'win32' && !!process.env.WT_SESSION;
14
- }
15
- function isMintty() {
16
- // mintty 3.1.5+ sets TERM_PROGRAM to 'mintty'
17
- if (process.env.TERM_PROGRAM === 'mintty') {
18
- return true;
19
- }
20
- // GitBash/MSYS2/MINGW use mintty and set MSYSTEM
21
- if (process.platform === 'win32' && process.env.MSYSTEM) {
22
- return true;
23
- }
24
- return false;
25
- }
26
- function isModernWindowsTerminal() {
27
- // Windows Terminal sets WT_SESSION environment variable
28
- if (isWindowsTerminal()) {
29
- return true;
30
- }
31
- // VS Code integrated terminal on Windows with ConPTY support
32
- if (process.platform === 'win32' &&
33
- process.env.TERM_PROGRAM === 'vscode' &&
34
- process.env.TERM_PROGRAM_VERSION) {
35
- return true;
36
- }
37
- // mintty (GitBash/MSYS2/Cygwin) supports modern escape sequences
38
- if (isMintty()) {
39
- return true;
40
- }
41
- return false;
42
- }
43
- /**
44
- * Returns the ANSI escape sequence to clear the terminal including scrollback.
45
- * Automatically detects terminal capabilities.
46
- */
47
- function getClearTerminalSequence() {
48
- if (process.platform === 'win32') {
49
- if (isModernWindowsTerminal()) {
50
- return csi_js_1.ERASE_SCREEN + csi_js_1.ERASE_SCROLLBACK + csi_js_1.CURSOR_HOME;
51
- }
52
- else {
53
- // Legacy Windows console - can't clear scrollback
54
- return csi_js_1.ERASE_SCREEN + CURSOR_HOME_WINDOWS;
55
- }
56
- }
57
- return csi_js_1.ERASE_SCREEN + csi_js_1.ERASE_SCROLLBACK + csi_js_1.CURSOR_HOME;
58
- }
59
- /**
60
- * Clears the terminal screen. On supported terminals, also clears scrollback.
61
- */
62
- exports.clearTerminal = getClearTerminalSequence();
63
- //# sourceMappingURL=clearTerminal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clearTerminal.js","sourceRoot":"","sources":["../../src/ink/clearTerminal.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAuDH,4DAUC;AA/DD,4CAKwB;AAExB,kEAAkE;AAClE,MAAM,mBAAmB,GAAG,IAAA,YAAG,EAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AAEvC,SAAS,iBAAiB;IACxB,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAA;AACjE,CAAC;AAED,SAAS,QAAQ;IACf,8CAA8C;IAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAA;IACb,CAAC;IACD,iDAAiD;IACjD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACxD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,uBAAuB;IAC9B,wDAAwD;IACxD,IAAI,iBAAiB,EAAE,EAAE,CAAC;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,6DAA6D;IAC7D,IACE,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC5B,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,QAAQ;QACrC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAChC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,iEAAiE;IACjE,IAAI,QAAQ,EAAE,EAAE,CAAC;QACf,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;GAGG;AACH,SAAgB,wBAAwB;IACtC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,IAAI,uBAAuB,EAAE,EAAE,CAAC;YAC9B,OAAO,qBAAY,GAAG,yBAAgB,GAAG,oBAAW,CAAA;QACtD,CAAC;aAAM,CAAC;YACN,kDAAkD;YAClD,OAAO,qBAAY,GAAG,mBAAmB,CAAA;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,qBAAY,GAAG,yBAAgB,GAAG,oBAAW,CAAA;AACtD,CAAC;AAED;;GAEG;AACU,QAAA,aAAa,GAAG,wBAAwB,EAAE,CAAA"}
@@ -1,17 +0,0 @@
1
- import type { Color, TextStyles } from './styles.js';
2
- export declare const CHALK_BOOSTED_FOR_XTERMJS: boolean;
3
- export declare const CHALK_CLAMPED_FOR_TMUX: boolean;
4
- export type ColorType = 'foreground' | 'background';
5
- export declare const colorize: (str: string, color: string | undefined, type: ColorType) => string;
6
- /**
7
- * Apply TextStyles to a string using chalk.
8
- * This is the inverse of parsing ANSI codes - we generate them from structured styles.
9
- * Theme resolution happens at component layer, not here.
10
- */
11
- export declare function applyTextStyles(text: string, styles: TextStyles): string;
12
- /**
13
- * Apply a raw color value to text.
14
- * Theme resolution should happen at component layer, not here.
15
- */
16
- export declare function applyColor(text: string, color: Color | undefined): string;
17
- //# sourceMappingURL=colorize.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"colorize.d.ts","sourceRoot":"","sources":["../../src/ink/colorize.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AA2DpD,eAAO,MAAM,yBAAyB,SAA8B,CAAA;AACpE,eAAO,MAAM,sBAAsB,SAA2B,CAAA;AAE9D,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,YAAY,CAAA;AAKnD,eAAO,MAAM,QAAQ,GACnB,KAAK,MAAM,EACX,OAAO,MAAM,GAAG,SAAS,EACzB,MAAM,SAAS,KACd,MAgGF,CAAA;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,CA4CxE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,CAKzE"}
@@ -1,208 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.colorize = exports.CHALK_CLAMPED_FOR_TMUX = exports.CHALK_BOOSTED_FOR_XTERMJS = void 0;
7
- exports.applyTextStyles = applyTextStyles;
8
- exports.applyColor = applyColor;
9
- const chalk_1 = __importDefault(require("chalk"));
10
- /**
11
- * xterm.js (VS Code, Cursor, code-server, Coder) has supported truecolor
12
- * since 2017, but code-server/Coder containers often don't set
13
- * COLORTERM=truecolor. chalk's supports-color doesn't recognize
14
- * TERM_PROGRAM=vscode (it only knows iTerm.app/Apple_Terminal), so it falls
15
- * through to the -256color regex → level 2. At level 2, chalk.rgb()
16
- * downgrades to the nearest 6×6×6 cube color: rgb(215,119,87) (Claude
17
- * orange) → idx 174 rgb(215,135,135) — washed-out salmon.
18
- *
19
- * Gated on level === 2 (not < 3) to respect NO_COLOR / FORCE_COLOR=0 —
20
- * those yield level 0 and are an explicit "no colors" request. Desktop VS
21
- * Code sets COLORTERM=truecolor itself, so this is a no-op there (already 3).
22
- *
23
- * Must run BEFORE the tmux clamp — if tmux is running inside a VS Code
24
- * terminal, tmux's passthrough limitation wins and we want level 2.
25
- */
26
- function boostChalkLevelForXtermJs() {
27
- if (process.env.TERM_PROGRAM === 'vscode' && chalk_1.default.level === 2) {
28
- chalk_1.default.level = 3;
29
- return true;
30
- }
31
- return false;
32
- }
33
- /**
34
- * tmux parses truecolor SGR (\e[48;2;r;g;bm) into its cell buffer correctly,
35
- * but its client-side emitter only re-emits truecolor to the outer terminal if
36
- * the outer terminal advertises Tc/RGB capability (via terminal-overrides).
37
- * Default tmux config doesn't set this, so tmux emits the cell to iTerm2/etc
38
- * WITHOUT the bg sequence — outer terminal's buffer has bg=default → black on
39
- * dark profiles. Clamping to level 2 makes chalk emit 256-color (\e[48;5;Nm),
40
- * which tmux passes through cleanly. grey93 (255) is visually identical to
41
- * rgb(240,240,240).
42
- *
43
- * Users who HAVE set `terminal-overrides ,*:Tc` get a technically-unnecessary
44
- * downgrade, but the visual difference is imperceptible. Querying
45
- * `tmux show -gv terminal-overrides` to detect this would add a subprocess on
46
- * startup — not worth it.
47
- *
48
- * $TMUX is a pty-lifecycle env var set by tmux itself; it never comes from
49
- * globalSettings.env, so reading it here is correct. chalk is a singleton, so
50
- * this clamps ALL truecolor output (fg+bg+hex) across the entire app.
51
- */
52
- function clampChalkLevelForTmux() {
53
- // bg.ts sets terminal-overrides :Tc before attach, so truecolor passes
54
- // through — skip the clamp. General escape hatch for anyone who's
55
- // configured their tmux correctly.
56
- if (process.env.CLAUDE_CODE_TMUX_TRUECOLOR)
57
- return false;
58
- if (process.env.TMUX && chalk_1.default.level > 2) {
59
- chalk_1.default.level = 2;
60
- return true;
61
- }
62
- return false;
63
- }
64
- // Computed once at module load — terminal/tmux environment doesn't change mid-session.
65
- // Order matters: boost first so the tmux clamp can re-clamp if tmux is running
66
- // inside a VS Code terminal. Exported for debugging — tree-shaken if unused.
67
- exports.CHALK_BOOSTED_FOR_XTERMJS = boostChalkLevelForXtermJs();
68
- exports.CHALK_CLAMPED_FOR_TMUX = clampChalkLevelForTmux();
69
- const RGB_REGEX = /^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/;
70
- const ANSI_REGEX = /^ansi256\(\s?(\d+)\s?\)$/;
71
- const colorize = (str, color, type) => {
72
- if (!color) {
73
- return str;
74
- }
75
- if (color.startsWith('ansi:')) {
76
- const value = color.substring('ansi:'.length);
77
- switch (value) {
78
- case 'black':
79
- return type === 'foreground' ? chalk_1.default.black(str) : chalk_1.default.bgBlack(str);
80
- case 'red':
81
- return type === 'foreground' ? chalk_1.default.red(str) : chalk_1.default.bgRed(str);
82
- case 'green':
83
- return type === 'foreground' ? chalk_1.default.green(str) : chalk_1.default.bgGreen(str);
84
- case 'yellow':
85
- return type === 'foreground' ? chalk_1.default.yellow(str) : chalk_1.default.bgYellow(str);
86
- case 'blue':
87
- return type === 'foreground' ? chalk_1.default.blue(str) : chalk_1.default.bgBlue(str);
88
- case 'magenta':
89
- return type === 'foreground' ? chalk_1.default.magenta(str) : chalk_1.default.bgMagenta(str);
90
- case 'cyan':
91
- return type === 'foreground' ? chalk_1.default.cyan(str) : chalk_1.default.bgCyan(str);
92
- case 'white':
93
- return type === 'foreground' ? chalk_1.default.white(str) : chalk_1.default.bgWhite(str);
94
- case 'blackBright':
95
- return type === 'foreground'
96
- ? chalk_1.default.blackBright(str)
97
- : chalk_1.default.bgBlackBright(str);
98
- case 'redBright':
99
- return type === 'foreground'
100
- ? chalk_1.default.redBright(str)
101
- : chalk_1.default.bgRedBright(str);
102
- case 'greenBright':
103
- return type === 'foreground'
104
- ? chalk_1.default.greenBright(str)
105
- : chalk_1.default.bgGreenBright(str);
106
- case 'yellowBright':
107
- return type === 'foreground'
108
- ? chalk_1.default.yellowBright(str)
109
- : chalk_1.default.bgYellowBright(str);
110
- case 'blueBright':
111
- return type === 'foreground'
112
- ? chalk_1.default.blueBright(str)
113
- : chalk_1.default.bgBlueBright(str);
114
- case 'magentaBright':
115
- return type === 'foreground'
116
- ? chalk_1.default.magentaBright(str)
117
- : chalk_1.default.bgMagentaBright(str);
118
- case 'cyanBright':
119
- return type === 'foreground'
120
- ? chalk_1.default.cyanBright(str)
121
- : chalk_1.default.bgCyanBright(str);
122
- case 'whiteBright':
123
- return type === 'foreground'
124
- ? chalk_1.default.whiteBright(str)
125
- : chalk_1.default.bgWhiteBright(str);
126
- }
127
- }
128
- if (color.startsWith('#')) {
129
- return type === 'foreground'
130
- ? chalk_1.default.hex(color)(str)
131
- : chalk_1.default.bgHex(color)(str);
132
- }
133
- if (color.startsWith('ansi256')) {
134
- const matches = ANSI_REGEX.exec(color);
135
- if (!matches) {
136
- return str;
137
- }
138
- const value = Number(matches[1]);
139
- return type === 'foreground'
140
- ? chalk_1.default.ansi256(value)(str)
141
- : chalk_1.default.bgAnsi256(value)(str);
142
- }
143
- if (color.startsWith('rgb')) {
144
- const matches = RGB_REGEX.exec(color);
145
- if (!matches) {
146
- return str;
147
- }
148
- const firstValue = Number(matches[1]);
149
- const secondValue = Number(matches[2]);
150
- const thirdValue = Number(matches[3]);
151
- return type === 'foreground'
152
- ? chalk_1.default.rgb(firstValue, secondValue, thirdValue)(str)
153
- : chalk_1.default.bgRgb(firstValue, secondValue, thirdValue)(str);
154
- }
155
- return str;
156
- };
157
- exports.colorize = colorize;
158
- /**
159
- * Apply TextStyles to a string using chalk.
160
- * This is the inverse of parsing ANSI codes - we generate them from structured styles.
161
- * Theme resolution happens at component layer, not here.
162
- */
163
- function applyTextStyles(text, styles) {
164
- let result = text;
165
- // Apply styles in reverse order of desired nesting.
166
- // chalk wraps text so later calls become outer wrappers.
167
- // Desired order (outermost to innermost):
168
- // background > foreground > text modifiers
169
- // So we apply: text modifiers first, then foreground, then background last.
170
- if (styles.inverse) {
171
- result = chalk_1.default.inverse(result);
172
- }
173
- if (styles.strikethrough) {
174
- result = chalk_1.default.strikethrough(result);
175
- }
176
- if (styles.underline) {
177
- result = chalk_1.default.underline(result);
178
- }
179
- if (styles.italic) {
180
- result = chalk_1.default.italic(result);
181
- }
182
- if (styles.bold) {
183
- result = chalk_1.default.bold(result);
184
- }
185
- if (styles.dim) {
186
- result = chalk_1.default.dim(result);
187
- }
188
- if (styles.color) {
189
- // Color is now always a raw color value (theme resolution happens at component layer)
190
- result = (0, exports.colorize)(result, styles.color, 'foreground');
191
- }
192
- if (styles.backgroundColor) {
193
- // backgroundColor is now always a raw color value
194
- result = (0, exports.colorize)(result, styles.backgroundColor, 'background');
195
- }
196
- return result;
197
- }
198
- /**
199
- * Apply a raw color value to text.
200
- * Theme resolution should happen at component layer, not here.
201
- */
202
- function applyColor(text, color) {
203
- if (!color) {
204
- return text;
205
- }
206
- return (0, exports.colorize)(text, color, 'foreground');
207
- }
208
- //# sourceMappingURL=colorize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"colorize.js","sourceRoot":"","sources":["../../src/ink/colorize.ts"],"names":[],"mappings":"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"}