@defai.digital/ax-cli 4.4.6 → 4.4.10

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 (802) hide show
  1. package/bin/ax-cli +1 -5
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +158 -9
  4. package/dist/index.js.map +1 -1
  5. package/dist/setup.d.ts +27 -0
  6. package/dist/setup.d.ts.map +1 -0
  7. package/dist/setup.js +591 -0
  8. package/dist/setup.js.map +1 -0
  9. package/package.json +43 -135
  10. package/LICENSE +0 -22
  11. package/README.md +0 -387
  12. package/config-defaults/messages.yaml +0 -75
  13. package/config-defaults/models.yaml +0 -57
  14. package/config-defaults/prompts.yaml +0 -948
  15. package/config-defaults/settings.yaml +0 -157
  16. package/dist/agent/agent-executor.d.ts +0 -61
  17. package/dist/agent/agent-executor.js +0 -194
  18. package/dist/agent/agent-executor.js.map +0 -1
  19. package/dist/agent/agent-router.d.ts +0 -68
  20. package/dist/agent/agent-router.js +0 -242
  21. package/dist/agent/agent-router.js.map +0 -1
  22. package/dist/agent/context-manager.d.ts +0 -122
  23. package/dist/agent/context-manager.js +0 -406
  24. package/dist/agent/context-manager.js.map +0 -1
  25. package/dist/agent/core/index.d.ts +0 -8
  26. package/dist/agent/core/index.js +0 -9
  27. package/dist/agent/core/index.js.map +0 -1
  28. package/dist/agent/core/types.d.ts +0 -92
  29. package/dist/agent/core/types.js +0 -11
  30. package/dist/agent/core/types.js.map +0 -1
  31. package/dist/agent/dependency-resolver.d.ts +0 -90
  32. package/dist/agent/dependency-resolver.js +0 -366
  33. package/dist/agent/dependency-resolver.js.map +0 -1
  34. package/dist/agent/execution/index.d.ts +0 -9
  35. package/dist/agent/execution/index.js +0 -9
  36. package/dist/agent/execution/index.js.map +0 -1
  37. package/dist/agent/execution/tool-executor.d.ts +0 -93
  38. package/dist/agent/execution/tool-executor.js +0 -552
  39. package/dist/agent/execution/tool-executor.js.map +0 -1
  40. package/dist/agent/index.d.ts +0 -14
  41. package/dist/agent/index.js +0 -145
  42. package/dist/agent/index.js.map +0 -1
  43. package/dist/agent/llm-agent.d.ts +0 -368
  44. package/dist/agent/llm-agent.js +0 -1931
  45. package/dist/agent/llm-agent.js.map +0 -1
  46. package/dist/agent/loop-detector.d.ts +0 -72
  47. package/dist/agent/loop-detector.js +0 -335
  48. package/dist/agent/loop-detector.js.map +0 -1
  49. package/dist/agent/parallel-tools.d.ts +0 -69
  50. package/dist/agent/parallel-tools.js +0 -188
  51. package/dist/agent/parallel-tools.js.map +0 -1
  52. package/dist/agent/planning/index.d.ts +0 -9
  53. package/dist/agent/planning/index.js +0 -9
  54. package/dist/agent/planning/index.js.map +0 -1
  55. package/dist/agent/planning/plan-executor.d.ts +0 -79
  56. package/dist/agent/planning/plan-executor.js +0 -240
  57. package/dist/agent/planning/plan-executor.js.map +0 -1
  58. package/dist/agent/progress-tracker.d.ts +0 -94
  59. package/dist/agent/progress-tracker.js +0 -225
  60. package/dist/agent/progress-tracker.js.map +0 -1
  61. package/dist/agent/specialized/analysis-agent.d.ts +0 -11
  62. package/dist/agent/specialized/analysis-agent.js +0 -24
  63. package/dist/agent/specialized/analysis-agent.js.map +0 -1
  64. package/dist/agent/specialized/debug-agent.d.ts +0 -11
  65. package/dist/agent/specialized/debug-agent.js +0 -46
  66. package/dist/agent/specialized/debug-agent.js.map +0 -1
  67. package/dist/agent/specialized/documentation-agent.d.ts +0 -11
  68. package/dist/agent/specialized/documentation-agent.js +0 -24
  69. package/dist/agent/specialized/documentation-agent.js.map +0 -1
  70. package/dist/agent/specialized/index.d.ts +0 -11
  71. package/dist/agent/specialized/index.js +0 -12
  72. package/dist/agent/specialized/index.js.map +0 -1
  73. package/dist/agent/specialized/performance-agent.d.ts +0 -11
  74. package/dist/agent/specialized/performance-agent.js +0 -24
  75. package/dist/agent/specialized/performance-agent.js.map +0 -1
  76. package/dist/agent/specialized/refactoring-agent.d.ts +0 -11
  77. package/dist/agent/specialized/refactoring-agent.js +0 -24
  78. package/dist/agent/specialized/refactoring-agent.js.map +0 -1
  79. package/dist/agent/specialized/testing-agent.d.ts +0 -11
  80. package/dist/agent/specialized/testing-agent.js +0 -24
  81. package/dist/agent/specialized/testing-agent.js.map +0 -1
  82. package/dist/agent/status-reporter.d.ts +0 -114
  83. package/dist/agent/status-reporter.js +0 -335
  84. package/dist/agent/status-reporter.js.map +0 -1
  85. package/dist/agent/streaming/index.d.ts +0 -9
  86. package/dist/agent/streaming/index.js +0 -9
  87. package/dist/agent/streaming/index.js.map +0 -1
  88. package/dist/agent/streaming/stream-handler.d.ts +0 -62
  89. package/dist/agent/streaming/stream-handler.js +0 -217
  90. package/dist/agent/streaming/stream-handler.js.map +0 -1
  91. package/dist/agent/subagent-orchestrator.d.ts +0 -166
  92. package/dist/agent/subagent-orchestrator.js +0 -487
  93. package/dist/agent/subagent-orchestrator.js.map +0 -1
  94. package/dist/agent/subagent-types.d.ts +0 -261
  95. package/dist/agent/subagent-types.js +0 -257
  96. package/dist/agent/subagent-types.js.map +0 -1
  97. package/dist/agent/subagent.d.ts +0 -116
  98. package/dist/agent/subagent.js +0 -507
  99. package/dist/agent/subagent.js.map +0 -1
  100. package/dist/checkpoint/index.d.ts +0 -9
  101. package/dist/checkpoint/index.js +0 -11
  102. package/dist/checkpoint/index.js.map +0 -1
  103. package/dist/checkpoint/manager.d.ts +0 -101
  104. package/dist/checkpoint/manager.js +0 -407
  105. package/dist/checkpoint/manager.js.map +0 -1
  106. package/dist/checkpoint/storage.d.ts +0 -39
  107. package/dist/checkpoint/storage.js +0 -350
  108. package/dist/checkpoint/storage.js.map +0 -1
  109. package/dist/checkpoint/types.d.ts +0 -111
  110. package/dist/checkpoint/types.js +0 -17
  111. package/dist/checkpoint/types.js.map +0 -1
  112. package/dist/commands/cache.d.ts +0 -7
  113. package/dist/commands/cache.js +0 -284
  114. package/dist/commands/cache.js.map +0 -1
  115. package/dist/commands/custom-commands.d.ts +0 -77
  116. package/dist/commands/custom-commands.js +0 -251
  117. package/dist/commands/custom-commands.js.map +0 -1
  118. package/dist/commands/design.d.ts +0 -18
  119. package/dist/commands/design.js +0 -511
  120. package/dist/commands/design.js.map +0 -1
  121. package/dist/commands/doctor.d.ts +0 -6
  122. package/dist/commands/doctor.js +0 -773
  123. package/dist/commands/doctor.js.map +0 -1
  124. package/dist/commands/frontend.d.ts +0 -9
  125. package/dist/commands/frontend.js +0 -645
  126. package/dist/commands/frontend.js.map +0 -1
  127. package/dist/commands/init/wizard.d.ts +0 -55
  128. package/dist/commands/init/wizard.js +0 -189
  129. package/dist/commands/init/wizard.js.map +0 -1
  130. package/dist/commands/init.d.ts +0 -8
  131. package/dist/commands/init.js +0 -195
  132. package/dist/commands/init.js.map +0 -1
  133. package/dist/commands/mcp-migrate.d.ts +0 -9
  134. package/dist/commands/mcp-migrate.js +0 -175
  135. package/dist/commands/mcp-migrate.js.map +0 -1
  136. package/dist/commands/mcp.d.ts +0 -2
  137. package/dist/commands/mcp.js +0 -1292
  138. package/dist/commands/mcp.js.map +0 -1
  139. package/dist/commands/memory.d.ts +0 -6
  140. package/dist/commands/memory.js +0 -555
  141. package/dist/commands/memory.js.map +0 -1
  142. package/dist/commands/models.d.ts +0 -5
  143. package/dist/commands/models.js +0 -213
  144. package/dist/commands/models.js.map +0 -1
  145. package/dist/commands/plan.d.ts +0 -43
  146. package/dist/commands/plan.js +0 -362
  147. package/dist/commands/plan.js.map +0 -1
  148. package/dist/commands/rewind.d.ts +0 -19
  149. package/dist/commands/rewind.js +0 -221
  150. package/dist/commands/rewind.js.map +0 -1
  151. package/dist/commands/setup.d.ts +0 -14
  152. package/dist/commands/setup.js +0 -733
  153. package/dist/commands/setup.js.map +0 -1
  154. package/dist/commands/status.d.ts +0 -7
  155. package/dist/commands/status.js +0 -437
  156. package/dist/commands/status.js.map +0 -1
  157. package/dist/commands/templates.d.ts +0 -5
  158. package/dist/commands/templates.js +0 -245
  159. package/dist/commands/templates.js.map +0 -1
  160. package/dist/commands/update.d.ts +0 -49
  161. package/dist/commands/update.js +0 -366
  162. package/dist/commands/update.js.map +0 -1
  163. package/dist/commands/usage.d.ts +0 -8
  164. package/dist/commands/usage.js +0 -264
  165. package/dist/commands/usage.js.map +0 -1
  166. package/dist/commands/vscode.d.ts +0 -7
  167. package/dist/commands/vscode.js +0 -419
  168. package/dist/commands/vscode.js.map +0 -1
  169. package/dist/constants.d.ts +0 -236
  170. package/dist/constants.js +0 -288
  171. package/dist/constants.js.map +0 -1
  172. package/dist/design/figma-alias.d.ts +0 -170
  173. package/dist/design/figma-alias.js +0 -577
  174. package/dist/design/figma-alias.js.map +0 -1
  175. package/dist/design/figma-audit.d.ts +0 -40
  176. package/dist/design/figma-audit.js +0 -383
  177. package/dist/design/figma-audit.js.map +0 -1
  178. package/dist/design/figma-client.d.ts +0 -131
  179. package/dist/design/figma-client.js +0 -369
  180. package/dist/design/figma-client.js.map +0 -1
  181. package/dist/design/figma-map.d.ts +0 -29
  182. package/dist/design/figma-map.js +0 -346
  183. package/dist/design/figma-map.js.map +0 -1
  184. package/dist/design/figma-tokens.d.ts +0 -73
  185. package/dist/design/figma-tokens.js +0 -448
  186. package/dist/design/figma-tokens.js.map +0 -1
  187. package/dist/design/index.d.ts +0 -13
  188. package/dist/design/index.js +0 -20
  189. package/dist/design/index.js.map +0 -1
  190. package/dist/design/types.d.ts +0 -98
  191. package/dist/design/types.js +0 -9
  192. package/dist/design/types.js.map +0 -1
  193. package/dist/hooks/hook-runner.d.ts +0 -142
  194. package/dist/hooks/hook-runner.js +0 -436
  195. package/dist/hooks/hook-runner.js.map +0 -1
  196. package/dist/hooks/index.d.ts +0 -9
  197. package/dist/hooks/index.js +0 -10
  198. package/dist/hooks/index.js.map +0 -1
  199. package/dist/hooks/manager.d.ts +0 -84
  200. package/dist/hooks/manager.js +0 -348
  201. package/dist/hooks/manager.js.map +0 -1
  202. package/dist/hooks/types.d.ts +0 -134
  203. package/dist/hooks/types.js +0 -9
  204. package/dist/hooks/types.js.map +0 -1
  205. package/dist/index.d.ts +0 -2
  206. package/dist/ipc/index.d.ts +0 -9
  207. package/dist/ipc/index.js +0 -10
  208. package/dist/ipc/index.js.map +0 -1
  209. package/dist/ipc/vscode-client.d.ts +0 -200
  210. package/dist/ipc/vscode-client.js +0 -495
  211. package/dist/ipc/vscode-client.js.map +0 -1
  212. package/dist/llm/client.d.ts +0 -205
  213. package/dist/llm/client.js +0 -735
  214. package/dist/llm/client.js.map +0 -1
  215. package/dist/llm/tools.d.ts +0 -102
  216. package/dist/llm/tools.js +0 -275
  217. package/dist/llm/tools.js.map +0 -1
  218. package/dist/llm/types.d.ts +0 -428
  219. package/dist/llm/types.js +0 -194
  220. package/dist/llm/types.js.map +0 -1
  221. package/dist/mcp/automatosx-auto-discovery.d.ts +0 -66
  222. package/dist/mcp/automatosx-auto-discovery.js +0 -169
  223. package/dist/mcp/automatosx-auto-discovery.js.map +0 -1
  224. package/dist/mcp/automatosx-loader.d.ts +0 -99
  225. package/dist/mcp/automatosx-loader.js +0 -250
  226. package/dist/mcp/automatosx-loader.js.map +0 -1
  227. package/dist/mcp/cancellation.d.ts +0 -182
  228. package/dist/mcp/cancellation.js +0 -275
  229. package/dist/mcp/cancellation.js.map +0 -1
  230. package/dist/mcp/client-v2.d.ts +0 -500
  231. package/dist/mcp/client-v2.js +0 -1433
  232. package/dist/mcp/client-v2.js.map +0 -1
  233. package/dist/mcp/client.d.ts +0 -170
  234. package/dist/mcp/client.js +0 -232
  235. package/dist/mcp/client.js.map +0 -1
  236. package/dist/mcp/config-detector.d.ts +0 -90
  237. package/dist/mcp/config-detector.js +0 -250
  238. package/dist/mcp/config-detector.js.map +0 -1
  239. package/dist/mcp/config-migrator.d.ts +0 -68
  240. package/dist/mcp/config-migrator.js +0 -291
  241. package/dist/mcp/config-migrator.js.map +0 -1
  242. package/dist/mcp/config.d.ts +0 -24
  243. package/dist/mcp/config.js +0 -273
  244. package/dist/mcp/config.js.map +0 -1
  245. package/dist/mcp/constants.d.ts +0 -66
  246. package/dist/mcp/constants.js +0 -85
  247. package/dist/mcp/constants.js.map +0 -1
  248. package/dist/mcp/content-length-transport.d.ts +0 -106
  249. package/dist/mcp/content-length-transport.js +0 -413
  250. package/dist/mcp/content-length-transport.js.map +0 -1
  251. package/dist/mcp/debug.d.ts +0 -211
  252. package/dist/mcp/debug.js +0 -404
  253. package/dist/mcp/debug.js.map +0 -1
  254. package/dist/mcp/error-formatter.d.ts +0 -40
  255. package/dist/mcp/error-formatter.js +0 -207
  256. package/dist/mcp/error-formatter.js.map +0 -1
  257. package/dist/mcp/error-remediation.d.ts +0 -45
  258. package/dist/mcp/error-remediation.js +0 -291
  259. package/dist/mcp/error-remediation.js.map +0 -1
  260. package/dist/mcp/health.d.ts +0 -120
  261. package/dist/mcp/health.js +0 -267
  262. package/dist/mcp/health.js.map +0 -1
  263. package/dist/mcp/index.d.ts +0 -56
  264. package/dist/mcp/index.js +0 -89
  265. package/dist/mcp/index.js.map +0 -1
  266. package/dist/mcp/invariants.d.ts +0 -141
  267. package/dist/mcp/invariants.js +0 -243
  268. package/dist/mcp/invariants.js.map +0 -1
  269. package/dist/mcp/mutex-safe.d.ts +0 -151
  270. package/dist/mcp/mutex-safe.js +0 -260
  271. package/dist/mcp/mutex-safe.js.map +0 -1
  272. package/dist/mcp/progress.d.ts +0 -155
  273. package/dist/mcp/progress.js +0 -252
  274. package/dist/mcp/progress.js.map +0 -1
  275. package/dist/mcp/prompts.d.ts +0 -68
  276. package/dist/mcp/prompts.js +0 -129
  277. package/dist/mcp/prompts.js.map +0 -1
  278. package/dist/mcp/provider-mcp-loader.d.ts +0 -130
  279. package/dist/mcp/provider-mcp-loader.js +0 -292
  280. package/dist/mcp/provider-mcp-loader.js.map +0 -1
  281. package/dist/mcp/reconnection.d.ts +0 -101
  282. package/dist/mcp/reconnection.js +0 -253
  283. package/dist/mcp/reconnection.js.map +0 -1
  284. package/dist/mcp/registry.d.ts +0 -75
  285. package/dist/mcp/registry.js +0 -276
  286. package/dist/mcp/registry.js.map +0 -1
  287. package/dist/mcp/resources.d.ts +0 -58
  288. package/dist/mcp/resources.js +0 -144
  289. package/dist/mcp/resources.js.map +0 -1
  290. package/dist/mcp/schema-validator.d.ts +0 -82
  291. package/dist/mcp/schema-validator.js +0 -161
  292. package/dist/mcp/schema-validator.js.map +0 -1
  293. package/dist/mcp/ssrf-protection.d.ts +0 -86
  294. package/dist/mcp/ssrf-protection.js +0 -311
  295. package/dist/mcp/ssrf-protection.js.map +0 -1
  296. package/dist/mcp/subscriptions.d.ts +0 -168
  297. package/dist/mcp/subscriptions.js +0 -248
  298. package/dist/mcp/subscriptions.js.map +0 -1
  299. package/dist/mcp/templates.d.ts +0 -52
  300. package/dist/mcp/templates.js +0 -627
  301. package/dist/mcp/templates.js.map +0 -1
  302. package/dist/mcp/transports.d.ts +0 -80
  303. package/dist/mcp/transports.js +0 -237
  304. package/dist/mcp/transports.js.map +0 -1
  305. package/dist/mcp/type-safety.d.ts +0 -225
  306. package/dist/mcp/type-safety.js +0 -237
  307. package/dist/mcp/type-safety.js.map +0 -1
  308. package/dist/mcp/validation.d.ts +0 -29
  309. package/dist/mcp/validation.js +0 -339
  310. package/dist/mcp/validation.js.map +0 -1
  311. package/dist/mcp/zai-detector.d.ts +0 -63
  312. package/dist/mcp/zai-detector.js +0 -193
  313. package/dist/mcp/zai-detector.js.map +0 -1
  314. package/dist/mcp/zai-templates.d.ts +0 -90
  315. package/dist/mcp/zai-templates.js +0 -157
  316. package/dist/mcp/zai-templates.js.map +0 -1
  317. package/dist/memory/context-generator.d.ts +0 -84
  318. package/dist/memory/context-generator.js +0 -546
  319. package/dist/memory/context-generator.js.map +0 -1
  320. package/dist/memory/context-injector.d.ts +0 -97
  321. package/dist/memory/context-injector.js +0 -159
  322. package/dist/memory/context-injector.js.map +0 -1
  323. package/dist/memory/context-store.d.ts +0 -103
  324. package/dist/memory/context-store.js +0 -264
  325. package/dist/memory/context-store.js.map +0 -1
  326. package/dist/memory/index.d.ts +0 -43
  327. package/dist/memory/index.js +0 -49
  328. package/dist/memory/index.js.map +0 -1
  329. package/dist/memory/provider-context-store.d.ts +0 -127
  330. package/dist/memory/provider-context-store.js +0 -385
  331. package/dist/memory/provider-context-store.js.map +0 -1
  332. package/dist/memory/schemas.d.ts +0 -118
  333. package/dist/memory/schemas.js +0 -106
  334. package/dist/memory/schemas.js.map +0 -1
  335. package/dist/memory/stats-collector.d.ts +0 -73
  336. package/dist/memory/stats-collector.js +0 -170
  337. package/dist/memory/stats-collector.js.map +0 -1
  338. package/dist/memory/types.d.ts +0 -177
  339. package/dist/memory/types.js +0 -73
  340. package/dist/memory/types.js.map +0 -1
  341. package/dist/permissions/index.d.ts +0 -6
  342. package/dist/permissions/index.js +0 -7
  343. package/dist/permissions/index.js.map +0 -1
  344. package/dist/permissions/permission-manager.d.ts +0 -149
  345. package/dist/permissions/permission-manager.js +0 -410
  346. package/dist/permissions/permission-manager.js.map +0 -1
  347. package/dist/planner/dependency-resolver.d.ts +0 -72
  348. package/dist/planner/dependency-resolver.js +0 -272
  349. package/dist/planner/dependency-resolver.js.map +0 -1
  350. package/dist/planner/index.d.ts +0 -12
  351. package/dist/planner/index.js +0 -28
  352. package/dist/planner/index.js.map +0 -1
  353. package/dist/planner/plan-generator.d.ts +0 -74
  354. package/dist/planner/plan-generator.js +0 -244
  355. package/dist/planner/plan-generator.js.map +0 -1
  356. package/dist/planner/plan-storage.d.ts +0 -113
  357. package/dist/planner/plan-storage.js +0 -398
  358. package/dist/planner/plan-storage.js.map +0 -1
  359. package/dist/planner/prompts/planning-prompt.d.ts +0 -62
  360. package/dist/planner/prompts/planning-prompt.js +0 -414
  361. package/dist/planner/prompts/planning-prompt.js.map +0 -1
  362. package/dist/planner/task-planner.d.ts +0 -139
  363. package/dist/planner/task-planner.js +0 -532
  364. package/dist/planner/task-planner.js.map +0 -1
  365. package/dist/planner/token-estimator.d.ts +0 -63
  366. package/dist/planner/token-estimator.js +0 -295
  367. package/dist/planner/token-estimator.js.map +0 -1
  368. package/dist/planner/types.d.ts +0 -425
  369. package/dist/planner/types.js +0 -213
  370. package/dist/planner/types.js.map +0 -1
  371. package/dist/provider/config.d.ts +0 -227
  372. package/dist/provider/config.js +0 -430
  373. package/dist/provider/config.js.map +0 -1
  374. package/dist/schemas/api-schemas.d.ts +0 -45
  375. package/dist/schemas/api-schemas.js +0 -129
  376. package/dist/schemas/api-schemas.js.map +0 -1
  377. package/dist/schemas/confirmation-schemas.d.ts +0 -39
  378. package/dist/schemas/confirmation-schemas.js +0 -48
  379. package/dist/schemas/confirmation-schemas.js.map +0 -1
  380. package/dist/schemas/index-unified.d.ts +0 -12
  381. package/dist/schemas/index-unified.js +0 -17
  382. package/dist/schemas/index-unified.js.map +0 -1
  383. package/dist/schemas/index.d.ts +0 -83
  384. package/dist/schemas/index.js +0 -139
  385. package/dist/schemas/index.js.map +0 -1
  386. package/dist/schemas/settings-schemas.d.ts +0 -186
  387. package/dist/schemas/settings-schemas.js +0 -324
  388. package/dist/schemas/settings-schemas.js.map +0 -1
  389. package/dist/schemas/tool-schemas.d.ts +0 -127
  390. package/dist/schemas/tool-schemas.js +0 -84
  391. package/dist/schemas/tool-schemas.js.map +0 -1
  392. package/dist/schemas/yaml-schemas.d.ts +0 -231
  393. package/dist/schemas/yaml-schemas.js +0 -199
  394. package/dist/schemas/yaml-schemas.js.map +0 -1
  395. package/dist/sdk/errors.d.ts +0 -100
  396. package/dist/sdk/errors.js +0 -138
  397. package/dist/sdk/errors.js.map +0 -1
  398. package/dist/sdk/index.d.ts +0 -901
  399. package/dist/sdk/index.js +0 -1272
  400. package/dist/sdk/index.js.map +0 -1
  401. package/dist/sdk/progress-reporter.d.ts +0 -123
  402. package/dist/sdk/progress-reporter.js +0 -220
  403. package/dist/sdk/progress-reporter.js.map +0 -1
  404. package/dist/sdk/testing.d.ts +0 -427
  405. package/dist/sdk/testing.js +0 -725
  406. package/dist/sdk/testing.js.map +0 -1
  407. package/dist/sdk/tool-registry.d.ts +0 -194
  408. package/dist/sdk/tool-registry.js +0 -326
  409. package/dist/sdk/tool-registry.js.map +0 -1
  410. package/dist/sdk/types.d.ts +0 -53
  411. package/dist/sdk/types.js +0 -8
  412. package/dist/sdk/types.js.map +0 -1
  413. package/dist/sdk/unified-logger.d.ts +0 -173
  414. package/dist/sdk/unified-logger.js +0 -327
  415. package/dist/sdk/unified-logger.js.map +0 -1
  416. package/dist/sdk/version.d.ts +0 -163
  417. package/dist/sdk/version.js +0 -205
  418. package/dist/sdk/version.js.map +0 -1
  419. package/dist/tools/ask-user.d.ts +0 -126
  420. package/dist/tools/ask-user.js +0 -290
  421. package/dist/tools/ask-user.js.map +0 -1
  422. package/dist/tools/ax-agent.d.ts +0 -71
  423. package/dist/tools/ax-agent.js +0 -283
  424. package/dist/tools/ax-agent.js.map +0 -1
  425. package/dist/tools/bash-output.d.ts +0 -25
  426. package/dist/tools/bash-output.js +0 -146
  427. package/dist/tools/bash-output.js.map +0 -1
  428. package/dist/tools/bash.d.ts +0 -67
  429. package/dist/tools/bash.js +0 -522
  430. package/dist/tools/bash.js.map +0 -1
  431. package/dist/tools/confirmation-tool.d.ts +0 -16
  432. package/dist/tools/confirmation-tool.js +0 -76
  433. package/dist/tools/confirmation-tool.js.map +0 -1
  434. package/dist/tools/definitions/ask-user.d.ts +0 -8
  435. package/dist/tools/definitions/ask-user.js +0 -168
  436. package/dist/tools/definitions/ask-user.js.map +0 -1
  437. package/dist/tools/definitions/ax-agent.d.ts +0 -8
  438. package/dist/tools/definitions/ax-agent.js +0 -276
  439. package/dist/tools/definitions/ax-agent.js.map +0 -1
  440. package/dist/tools/definitions/bash-output.d.ts +0 -7
  441. package/dist/tools/definitions/bash-output.js +0 -78
  442. package/dist/tools/definitions/bash-output.js.map +0 -1
  443. package/dist/tools/definitions/bash.d.ts +0 -8
  444. package/dist/tools/definitions/bash.js +0 -152
  445. package/dist/tools/definitions/bash.js.map +0 -1
  446. package/dist/tools/definitions/create-file.d.ts +0 -7
  447. package/dist/tools/definitions/create-file.js +0 -129
  448. package/dist/tools/definitions/create-file.js.map +0 -1
  449. package/dist/tools/definitions/design.d.ts +0 -12
  450. package/dist/tools/definitions/design.js +0 -368
  451. package/dist/tools/definitions/design.js.map +0 -1
  452. package/dist/tools/definitions/index.d.ts +0 -49
  453. package/dist/tools/definitions/index.js +0 -87
  454. package/dist/tools/definitions/index.js.map +0 -1
  455. package/dist/tools/definitions/multi-edit.d.ts +0 -7
  456. package/dist/tools/definitions/multi-edit.js +0 -123
  457. package/dist/tools/definitions/multi-edit.js.map +0 -1
  458. package/dist/tools/definitions/search.d.ts +0 -7
  459. package/dist/tools/definitions/search.js +0 -159
  460. package/dist/tools/definitions/search.js.map +0 -1
  461. package/dist/tools/definitions/str-replace-editor.d.ts +0 -7
  462. package/dist/tools/definitions/str-replace-editor.js +0 -145
  463. package/dist/tools/definitions/str-replace-editor.js.map +0 -1
  464. package/dist/tools/definitions/todo.d.ts +0 -8
  465. package/dist/tools/definitions/todo.js +0 -261
  466. package/dist/tools/definitions/todo.js.map +0 -1
  467. package/dist/tools/definitions/view-file.d.ts +0 -7
  468. package/dist/tools/definitions/view-file.js +0 -111
  469. package/dist/tools/definitions/view-file.js.map +0 -1
  470. package/dist/tools/design-tool.d.ts +0 -68
  471. package/dist/tools/design-tool.js +0 -299
  472. package/dist/tools/design-tool.js.map +0 -1
  473. package/dist/tools/format-generators.d.ts +0 -62
  474. package/dist/tools/format-generators.js +0 -291
  475. package/dist/tools/format-generators.js.map +0 -1
  476. package/dist/tools/index.d.ts +0 -8
  477. package/dist/tools/index.js +0 -11
  478. package/dist/tools/index.js.map +0 -1
  479. package/dist/tools/priority-registry.d.ts +0 -124
  480. package/dist/tools/priority-registry.js +0 -401
  481. package/dist/tools/priority-registry.js.map +0 -1
  482. package/dist/tools/priority.d.ts +0 -158
  483. package/dist/tools/priority.js +0 -350
  484. package/dist/tools/priority.js.map +0 -1
  485. package/dist/tools/registry.d.ts +0 -146
  486. package/dist/tools/registry.js +0 -171
  487. package/dist/tools/registry.js.map +0 -1
  488. package/dist/tools/search.d.ts +0 -85
  489. package/dist/tools/search.js +0 -430
  490. package/dist/tools/search.js.map +0 -1
  491. package/dist/tools/text-editor.d.ts +0 -87
  492. package/dist/tools/text-editor.js +0 -1369
  493. package/dist/tools/text-editor.js.map +0 -1
  494. package/dist/tools/todo-tool.d.ts +0 -20
  495. package/dist/tools/todo-tool.js +0 -186
  496. package/dist/tools/todo-tool.js.map +0 -1
  497. package/dist/tools/types.d.ts +0 -175
  498. package/dist/tools/types.js +0 -11
  499. package/dist/tools/types.js.map +0 -1
  500. package/dist/types/index.d.ts +0 -30
  501. package/dist/types/index.js +0 -2
  502. package/dist/types/index.js.map +0 -1
  503. package/dist/types/project-analysis.d.ts +0 -84
  504. package/dist/types/project-analysis.js +0 -5
  505. package/dist/types/project-analysis.js.map +0 -1
  506. package/dist/types/template.d.ts +0 -53
  507. package/dist/types/template.js +0 -5
  508. package/dist/types/template.js.map +0 -1
  509. package/dist/ui/app.d.ts +0 -7
  510. package/dist/ui/app.js +0 -102
  511. package/dist/ui/app.js.map +0 -1
  512. package/dist/ui/components/api-key-input.d.ts +0 -7
  513. package/dist/ui/components/api-key-input.js +0 -92
  514. package/dist/ui/components/api-key-input.js.map +0 -1
  515. package/dist/ui/components/chat-history.d.ts +0 -12
  516. package/dist/ui/components/chat-history.js +0 -391
  517. package/dist/ui/components/chat-history.js.map +0 -1
  518. package/dist/ui/components/chat-input.d.ts +0 -13
  519. package/dist/ui/components/chat-input.js +0 -179
  520. package/dist/ui/components/chat-input.js.map +0 -1
  521. package/dist/ui/components/chat-interface.d.ts +0 -11
  522. package/dist/ui/components/chat-interface.js +0 -830
  523. package/dist/ui/components/chat-interface.js.map +0 -1
  524. package/dist/ui/components/collapsible-tool-result.d.ts +0 -42
  525. package/dist/ui/components/collapsible-tool-result.js +0 -216
  526. package/dist/ui/components/collapsible-tool-result.js.map +0 -1
  527. package/dist/ui/components/command-suggestions.d.ts +0 -29
  528. package/dist/ui/components/command-suggestions.js +0 -88
  529. package/dist/ui/components/command-suggestions.js.map +0 -1
  530. package/dist/ui/components/confirmation-dialog.d.ts +0 -11
  531. package/dist/ui/components/confirmation-dialog.js +0 -100
  532. package/dist/ui/components/confirmation-dialog.js.map +0 -1
  533. package/dist/ui/components/context-breakdown.d.ts +0 -23
  534. package/dist/ui/components/context-breakdown.js +0 -124
  535. package/dist/ui/components/context-breakdown.js.map +0 -1
  536. package/dist/ui/components/diff-renderer.d.ts +0 -13
  537. package/dist/ui/components/diff-renderer.js +0 -192
  538. package/dist/ui/components/diff-renderer.js.map +0 -1
  539. package/dist/ui/components/index.d.ts +0 -18
  540. package/dist/ui/components/index.js +0 -20
  541. package/dist/ui/components/index.js.map +0 -1
  542. package/dist/ui/components/keyboard-help.d.ts +0 -17
  543. package/dist/ui/components/keyboard-help.js +0 -122
  544. package/dist/ui/components/keyboard-help.js.map +0 -1
  545. package/dist/ui/components/keyboard-hints.d.ts +0 -35
  546. package/dist/ui/components/keyboard-hints.js +0 -142
  547. package/dist/ui/components/keyboard-hints.js.map +0 -1
  548. package/dist/ui/components/loading-spinner.d.ts +0 -9
  549. package/dist/ui/components/loading-spinner.js +0 -120
  550. package/dist/ui/components/loading-spinner.js.map +0 -1
  551. package/dist/ui/components/mcp-dashboard.d.ts +0 -15
  552. package/dist/ui/components/mcp-dashboard.js +0 -520
  553. package/dist/ui/components/mcp-dashboard.js.map +0 -1
  554. package/dist/ui/components/mcp-status.d.ts +0 -5
  555. package/dist/ui/components/mcp-status.js +0 -58
  556. package/dist/ui/components/mcp-status.js.map +0 -1
  557. package/dist/ui/components/model-selection.d.ts +0 -12
  558. package/dist/ui/components/model-selection.js +0 -17
  559. package/dist/ui/components/model-selection.js.map +0 -1
  560. package/dist/ui/components/phase-progress.d.ts +0 -21
  561. package/dist/ui/components/phase-progress.js +0 -185
  562. package/dist/ui/components/phase-progress.js.map +0 -1
  563. package/dist/ui/components/question-dialog.d.ts +0 -17
  564. package/dist/ui/components/question-dialog.js +0 -181
  565. package/dist/ui/components/question-dialog.js.map +0 -1
  566. package/dist/ui/components/quick-actions.d.ts +0 -12
  567. package/dist/ui/components/quick-actions.js +0 -171
  568. package/dist/ui/components/quick-actions.js.map +0 -1
  569. package/dist/ui/components/reasoning-display.d.ts +0 -36
  570. package/dist/ui/components/reasoning-display.js +0 -46
  571. package/dist/ui/components/reasoning-display.js.map +0 -1
  572. package/dist/ui/components/status-bar.d.ts +0 -47
  573. package/dist/ui/components/status-bar.js +0 -310
  574. package/dist/ui/components/status-bar.js.map +0 -1
  575. package/dist/ui/components/subagent-monitor.d.ts +0 -41
  576. package/dist/ui/components/subagent-monitor.js +0 -122
  577. package/dist/ui/components/subagent-monitor.js.map +0 -1
  578. package/dist/ui/components/toast-notification.d.ts +0 -197
  579. package/dist/ui/components/toast-notification.js +0 -190
  580. package/dist/ui/components/toast-notification.js.map +0 -1
  581. package/dist/ui/components/tool-group-display.d.ts +0 -19
  582. package/dist/ui/components/tool-group-display.js +0 -222
  583. package/dist/ui/components/tool-group-display.js.map +0 -1
  584. package/dist/ui/components/virtualized-chat-history.d.ts +0 -33
  585. package/dist/ui/components/virtualized-chat-history.js +0 -182
  586. package/dist/ui/components/virtualized-chat-history.js.map +0 -1
  587. package/dist/ui/components/welcome-panel.d.ts +0 -11
  588. package/dist/ui/components/welcome-panel.js +0 -225
  589. package/dist/ui/components/welcome-panel.js.map +0 -1
  590. package/dist/ui/hooks/use-chat-reducer.d.ts +0 -69
  591. package/dist/ui/hooks/use-chat-reducer.js +0 -118
  592. package/dist/ui/hooks/use-chat-reducer.js.map +0 -1
  593. package/dist/ui/hooks/use-enhanced-input.d.ts +0 -53
  594. package/dist/ui/hooks/use-enhanced-input.js +0 -1275
  595. package/dist/ui/hooks/use-enhanced-input.js.map +0 -1
  596. package/dist/ui/hooks/use-input-handler.d.ts +0 -79
  597. package/dist/ui/hooks/use-input-handler.js +0 -2251
  598. package/dist/ui/hooks/use-input-handler.js.map +0 -1
  599. package/dist/ui/hooks/use-input-history.d.ts +0 -9
  600. package/dist/ui/hooks/use-input-history.js +0 -168
  601. package/dist/ui/hooks/use-input-history.js.map +0 -1
  602. package/dist/ui/shared/max-sized-box.d.ts +0 -17
  603. package/dist/ui/shared/max-sized-box.js +0 -14
  604. package/dist/ui/shared/max-sized-box.js.map +0 -1
  605. package/dist/ui/themes/index.d.ts +0 -5
  606. package/dist/ui/themes/index.js +0 -5
  607. package/dist/ui/themes/index.js.map +0 -1
  608. package/dist/ui/themes/theme-registry.d.ts +0 -55
  609. package/dist/ui/themes/theme-registry.js +0 -202
  610. package/dist/ui/themes/theme-registry.js.map +0 -1
  611. package/dist/ui/utils/bracketed-paste-handler.d.ts +0 -97
  612. package/dist/ui/utils/bracketed-paste-handler.js +0 -322
  613. package/dist/ui/utils/bracketed-paste-handler.js.map +0 -1
  614. package/dist/ui/utils/change-summarizer.d.ts +0 -20
  615. package/dist/ui/utils/change-summarizer.js +0 -282
  616. package/dist/ui/utils/change-summarizer.js.map +0 -1
  617. package/dist/ui/utils/code-colorizer.d.ts +0 -9
  618. package/dist/ui/utils/code-colorizer.js +0 -13
  619. package/dist/ui/utils/code-colorizer.js.map +0 -1
  620. package/dist/ui/utils/colors.d.ts +0 -41
  621. package/dist/ui/utils/colors.js +0 -80
  622. package/dist/ui/utils/colors.js.map +0 -1
  623. package/dist/ui/utils/image-handler.d.ts +0 -29
  624. package/dist/ui/utils/image-handler.js +0 -129
  625. package/dist/ui/utils/image-handler.js.map +0 -1
  626. package/dist/ui/utils/markdown-renderer.d.ts +0 -4
  627. package/dist/ui/utils/markdown-renderer.js +0 -40
  628. package/dist/ui/utils/markdown-renderer.js.map +0 -1
  629. package/dist/ui/utils/semantic-action-detector.d.ts +0 -49
  630. package/dist/ui/utils/semantic-action-detector.js +0 -339
  631. package/dist/ui/utils/semantic-action-detector.js.map +0 -1
  632. package/dist/ui/utils/tool-grouper.d.ts +0 -94
  633. package/dist/ui/utils/tool-grouper.js +0 -618
  634. package/dist/ui/utils/tool-grouper.js.map +0 -1
  635. package/dist/utils/api-error.d.ts +0 -61
  636. package/dist/utils/api-error.js +0 -176
  637. package/dist/utils/api-error.js.map +0 -1
  638. package/dist/utils/audit-logger.d.ts +0 -206
  639. package/dist/utils/audit-logger.js +0 -286
  640. package/dist/utils/audit-logger.js.map +0 -1
  641. package/dist/utils/auto-accept-logger.d.ts +0 -175
  642. package/dist/utils/auto-accept-logger.js +0 -423
  643. package/dist/utils/auto-accept-logger.js.map +0 -1
  644. package/dist/utils/automatosx-detector.d.ts +0 -19
  645. package/dist/utils/automatosx-detector.js +0 -52
  646. package/dist/utils/automatosx-detector.js.map +0 -1
  647. package/dist/utils/background-task-manager.d.ts +0 -114
  648. package/dist/utils/background-task-manager.js +0 -470
  649. package/dist/utils/background-task-manager.js.map +0 -1
  650. package/dist/utils/cache.d.ts +0 -77
  651. package/dist/utils/cache.js +0 -180
  652. package/dist/utils/cache.js.map +0 -1
  653. package/dist/utils/command-security.d.ts +0 -85
  654. package/dist/utils/command-security.js +0 -210
  655. package/dist/utils/command-security.js.map +0 -1
  656. package/dist/utils/config-loader.d.ts +0 -190
  657. package/dist/utils/config-loader.js +0 -108
  658. package/dist/utils/config-loader.js.map +0 -1
  659. package/dist/utils/confirmation-service.d.ts +0 -51
  660. package/dist/utils/confirmation-service.js +0 -220
  661. package/dist/utils/confirmation-service.js.map +0 -1
  662. package/dist/utils/console-messenger.d.ts +0 -80
  663. package/dist/utils/console-messenger.js +0 -142
  664. package/dist/utils/console-messenger.js.map +0 -1
  665. package/dist/utils/custom-instructions.d.ts +0 -1
  666. package/dist/utils/custom-instructions.js +0 -24
  667. package/dist/utils/custom-instructions.js.map +0 -1
  668. package/dist/utils/encryption.d.ts +0 -86
  669. package/dist/utils/encryption.js +0 -236
  670. package/dist/utils/encryption.js.map +0 -1
  671. package/dist/utils/enhanced-error-messages.d.ts +0 -33
  672. package/dist/utils/enhanced-error-messages.js +0 -440
  673. package/dist/utils/enhanced-error-messages.js.map +0 -1
  674. package/dist/utils/error-handler.d.ts +0 -65
  675. package/dist/utils/error-handler.js +0 -148
  676. package/dist/utils/error-handler.js.map +0 -1
  677. package/dist/utils/error-translator.d.ts +0 -25
  678. package/dist/utils/error-translator.js +0 -203
  679. package/dist/utils/error-translator.js.map +0 -1
  680. package/dist/utils/external-editor.d.ts +0 -47
  681. package/dist/utils/external-editor.js +0 -179
  682. package/dist/utils/external-editor.js.map +0 -1
  683. package/dist/utils/file-cache.d.ts +0 -148
  684. package/dist/utils/file-cache.js +0 -413
  685. package/dist/utils/file-cache.js.map +0 -1
  686. package/dist/utils/file-lock.d.ts +0 -141
  687. package/dist/utils/file-lock.js +0 -554
  688. package/dist/utils/file-lock.js.map +0 -1
  689. package/dist/utils/file-mentions.d.ts +0 -68
  690. package/dist/utils/file-mentions.js +0 -225
  691. package/dist/utils/file-mentions.js.map +0 -1
  692. package/dist/utils/history-manager.d.ts +0 -52
  693. package/dist/utils/history-manager.js +0 -211
  694. package/dist/utils/history-manager.js.map +0 -1
  695. package/dist/utils/history-migration.d.ts +0 -9
  696. package/dist/utils/history-migration.js +0 -37
  697. package/dist/utils/history-migration.js.map +0 -1
  698. package/dist/utils/image-processor.d.ts +0 -33
  699. package/dist/utils/image-processor.js +0 -124
  700. package/dist/utils/image-processor.js.map +0 -1
  701. package/dist/utils/index.d.ts +0 -92
  702. package/dist/utils/index.js +0 -111
  703. package/dist/utils/index.js.map +0 -1
  704. package/dist/utils/init-previewer.d.ts +0 -56
  705. package/dist/utils/init-previewer.js +0 -239
  706. package/dist/utils/init-previewer.js.map +0 -1
  707. package/dist/utils/init-validator.d.ts +0 -65
  708. package/dist/utils/init-validator.js +0 -252
  709. package/dist/utils/init-validator.js.map +0 -1
  710. package/dist/utils/input-sanitizer.d.ts +0 -210
  711. package/dist/utils/input-sanitizer.js +0 -362
  712. package/dist/utils/input-sanitizer.js.map +0 -1
  713. package/dist/utils/instruction-generator.d.ts +0 -21
  714. package/dist/utils/instruction-generator.js +0 -233
  715. package/dist/utils/instruction-generator.js.map +0 -1
  716. package/dist/utils/json-utils.d.ts +0 -72
  717. package/dist/utils/json-utils.js +0 -226
  718. package/dist/utils/json-utils.js.map +0 -1
  719. package/dist/utils/llm-optimized-instruction-generator.d.ts +0 -36
  720. package/dist/utils/llm-optimized-instruction-generator.js +0 -365
  721. package/dist/utils/llm-optimized-instruction-generator.js.map +0 -1
  722. package/dist/utils/message-optimizer.d.ts +0 -100
  723. package/dist/utils/message-optimizer.js +0 -297
  724. package/dist/utils/message-optimizer.js.map +0 -1
  725. package/dist/utils/onboarding-manager.d.ts +0 -45
  726. package/dist/utils/onboarding-manager.js +0 -131
  727. package/dist/utils/onboarding-manager.js.map +0 -1
  728. package/dist/utils/parallel-analyzer.d.ts +0 -123
  729. package/dist/utils/parallel-analyzer.js +0 -241
  730. package/dist/utils/parallel-analyzer.js.map +0 -1
  731. package/dist/utils/paste-utils.d.ts +0 -99
  732. package/dist/utils/paste-utils.js +0 -295
  733. package/dist/utils/paste-utils.js.map +0 -1
  734. package/dist/utils/path-helpers.d.ts +0 -8
  735. package/dist/utils/path-helpers.js +0 -35
  736. package/dist/utils/path-helpers.js.map +0 -1
  737. package/dist/utils/path-security.d.ts +0 -92
  738. package/dist/utils/path-security.js +0 -300
  739. package/dist/utils/path-security.js.map +0 -1
  740. package/dist/utils/path-utils.d.ts +0 -83
  741. package/dist/utils/path-utils.js +0 -122
  742. package/dist/utils/path-utils.js.map +0 -1
  743. package/dist/utils/path-validator.d.ts +0 -66
  744. package/dist/utils/path-validator.js +0 -141
  745. package/dist/utils/path-validator.js.map +0 -1
  746. package/dist/utils/performance.d.ts +0 -74
  747. package/dist/utils/performance.js +0 -133
  748. package/dist/utils/performance.js.map +0 -1
  749. package/dist/utils/process-pool.d.ts +0 -109
  750. package/dist/utils/process-pool.js +0 -332
  751. package/dist/utils/process-pool.js.map +0 -1
  752. package/dist/utils/progress-tracker.d.ts +0 -51
  753. package/dist/utils/progress-tracker.js +0 -152
  754. package/dist/utils/progress-tracker.js.map +0 -1
  755. package/dist/utils/project-analyzer.d.ts +0 -49
  756. package/dist/utils/project-analyzer.js +0 -396
  757. package/dist/utils/project-analyzer.js.map +0 -1
  758. package/dist/utils/prompt-builder.d.ts +0 -14
  759. package/dist/utils/prompt-builder.js +0 -100
  760. package/dist/utils/prompt-builder.js.map +0 -1
  761. package/dist/utils/provider-context.d.ts +0 -243
  762. package/dist/utils/provider-context.js +0 -421
  763. package/dist/utils/provider-context.js.map +0 -1
  764. package/dist/utils/provider-file-cache.d.ts +0 -91
  765. package/dist/utils/provider-file-cache.js +0 -165
  766. package/dist/utils/provider-file-cache.js.map +0 -1
  767. package/dist/utils/provider-settings.d.ts +0 -181
  768. package/dist/utils/provider-settings.js +0 -450
  769. package/dist/utils/provider-settings.js.map +0 -1
  770. package/dist/utils/rate-limiter.d.ts +0 -222
  771. package/dist/utils/rate-limiter.js +0 -338
  772. package/dist/utils/rate-limiter.js.map +0 -1
  773. package/dist/utils/retry-helper.d.ts +0 -81
  774. package/dist/utils/retry-helper.js +0 -244
  775. package/dist/utils/retry-helper.js.map +0 -1
  776. package/dist/utils/safety-rules.d.ts +0 -64
  777. package/dist/utils/safety-rules.js +0 -225
  778. package/dist/utils/safety-rules.js.map +0 -1
  779. package/dist/utils/settings-manager.d.ts +0 -256
  780. package/dist/utils/settings-manager.js +0 -967
  781. package/dist/utils/settings-manager.js.map +0 -1
  782. package/dist/utils/setup-validator.d.ts +0 -47
  783. package/dist/utils/setup-validator.js +0 -304
  784. package/dist/utils/setup-validator.js.map +0 -1
  785. package/dist/utils/string-utils.d.ts +0 -19
  786. package/dist/utils/string-utils.js +0 -28
  787. package/dist/utils/string-utils.js.map +0 -1
  788. package/dist/utils/template-manager.d.ts +0 -62
  789. package/dist/utils/template-manager.js +0 -366
  790. package/dist/utils/template-manager.js.map +0 -1
  791. package/dist/utils/text-utils.d.ts +0 -82
  792. package/dist/utils/text-utils.js +0 -203
  793. package/dist/utils/text-utils.js.map +0 -1
  794. package/dist/utils/token-counter.d.ts +0 -76
  795. package/dist/utils/token-counter.js +0 -231
  796. package/dist/utils/token-counter.js.map +0 -1
  797. package/dist/utils/usage-tracker.d.ts +0 -78
  798. package/dist/utils/usage-tracker.js +0 -126
  799. package/dist/utils/usage-tracker.js.map +0 -1
  800. package/dist/utils/version.d.ts +0 -14
  801. package/dist/utils/version.js +0 -70
  802. package/dist/utils/version.js.map +0 -1
@@ -1,391 +0,0 @@
1
- import React, { useMemo, useRef, useState, useEffect } from "react";
2
- import { Box, Text } from "ink";
3
- import { DiffRenderer } from "./diff-renderer.js";
4
- import { MarkdownRenderer } from "../utils/markdown-renderer.js";
5
- import { ReasoningDisplay } from "./reasoning-display.js";
6
- import { ToolGroupDisplay } from "./tool-group-display.js";
7
- import { groupConsecutiveTools, isToolGroup, formatDuration } from "../utils/tool-grouper.js";
8
- import { getBriefToolSummary } from "../utils/change-summarizer.js";
9
- import { VerbosityLevel, UI_CONFIG } from "../../constants.js";
10
- import { getToolActionName, getFilePath } from "./collapsible-tool-result.js";
11
- /** Maximum visible tool lines for rolling display (Claude Code-style) */
12
- const MAX_VISIBLE_TOOL_LINES = UI_CONFIG.MAX_VISIBLE_TOOL_LINES;
13
- /** Debounce delay for grouping consecutive tool operations (ms) */
14
- const GROUP_DEBOUNCE_DELAY = UI_CONFIG.GROUP_TIME_WINDOW || 300;
15
- // Memoized ChatEntry component to prevent unnecessary re-renders
16
- const MemoizedChatEntry = React.memo(({ entry, index, verboseMode = false }) => {
17
- const renderDiff = (diffContent, filename) => {
18
- return (React.createElement(DiffRenderer, { diffContent: diffContent, filename: filename, terminalWidth: 80 }));
19
- };
20
- const renderFileContent = (content) => {
21
- // BUG FIX: Handle empty/whitespace-only content early
22
- if (!content || !content.trim()) {
23
- return React.createElement(Text, { color: "gray", dimColor: true }, "(empty file)");
24
- }
25
- const lines = content.split("\n");
26
- // Calculate minimum indentation like DiffRenderer does
27
- let baseIndentation = Infinity;
28
- for (const line of lines) {
29
- if (line.trim() === "")
30
- continue;
31
- const firstCharIndex = line.search(/\S/);
32
- const currentIndent = firstCharIndex === -1 ? 0 : firstCharIndex;
33
- baseIndentation = Math.min(baseIndentation, currentIndent);
34
- }
35
- if (!isFinite(baseIndentation)) {
36
- baseIndentation = 0;
37
- }
38
- // BUG FIX: Wrap lines in Box with flexDirection="column" to ensure vertical layout
39
- return (React.createElement(Box, { flexDirection: "column" }, lines.map((line, lineIdx) => {
40
- const displayContent = line.substring(baseIndentation);
41
- return (React.createElement(Text, { key: `line-${lineIdx}`, color: "gray" }, displayContent));
42
- })));
43
- };
44
- switch (entry.type) {
45
- case "user":
46
- return (React.createElement(Box, { key: index, flexDirection: "column", marginTop: 1 },
47
- index > 0 && (React.createElement(Box, { borderStyle: "single", borderColor: "gray", borderTop: false, borderLeft: false, borderRight: false, marginBottom: 1 })),
48
- React.createElement(Box, null,
49
- React.createElement(Text, { color: "gray" },
50
- ">",
51
- " ",
52
- entry.content?.trim() ?? ""))));
53
- case "assistant":
54
- return (React.createElement(Box, { key: index, flexDirection: "column", marginTop: 1 },
55
- entry.reasoningContent?.trim() && (React.createElement(ReasoningDisplay, { content: entry.reasoningContent, visible: true, isStreaming: entry.isReasoningStreaming })),
56
- React.createElement(Box, { flexDirection: "row", alignItems: "flex-start" },
57
- React.createElement(Text, { color: "white" }, "\u23FA "),
58
- React.createElement(Box, { flexDirection: "column", flexGrow: 1 },
59
- entry.toolCalls ? (
60
- // If there are tool calls, just show plain text
61
- React.createElement(Text, { color: "white" }, entry.content?.trim() ?? "")) : (
62
- // If no tool calls, render as markdown
63
- React.createElement(MarkdownRenderer, { content: entry.content?.trim() ?? "" })),
64
- entry.isStreaming && React.createElement(Text, { color: "cyan" }, "\u2588"),
65
- !entry.isStreaming && entry.durationMs !== undefined && (React.createElement(Text, { color: "gray" },
66
- "\u23F1 ",
67
- entry.durationMs >= 1000
68
- ? `${(entry.durationMs / 1000).toFixed(1)}s`
69
- : `${Math.round(entry.durationMs)}ms`))))));
70
- case "tool_call":
71
- case "tool_result":
72
- const toolName = entry.toolCall?.function?.name || "unknown";
73
- const actionName = getToolActionName(toolName);
74
- // Get full tool arguments for verbose mode
75
- const getToolArguments = (toolCall) => {
76
- if (toolCall?.function?.arguments) {
77
- try {
78
- const args = JSON.parse(toolCall.function.arguments);
79
- return JSON.stringify(args, null, 2);
80
- }
81
- catch {
82
- return toolCall.function.arguments || "";
83
- }
84
- }
85
- return "";
86
- };
87
- // Use imported brief summary function
88
- const getBriefSummary = getBriefToolSummary;
89
- const filePath = getFilePath(entry.toolCall);
90
- const toolArgs = getToolArguments(entry.toolCall);
91
- const isExecuting = entry.type === "tool_call" || !entry.toolResult;
92
- const isSuccess = entry.toolResult?.success ?? true;
93
- const briefSummary = !isExecuting ? getBriefSummary(entry.content ?? "", toolName) : "";
94
- // Auto-verbose for errors: always show full details when a tool fails
95
- // This helps users debug without needing to toggle verbose mode
96
- const effectiveVerbose = verboseMode || (!isExecuting && !isSuccess);
97
- const shouldShowDiff = effectiveVerbose &&
98
- entry.toolCall?.function?.name === "str_replace_editor" &&
99
- entry.toolResult?.success &&
100
- entry.content?.includes("---") &&
101
- entry.content?.includes("+++");
102
- const shouldShowFileContent = effectiveVerbose &&
103
- (entry.toolCall?.function?.name === "view_file" ||
104
- entry.toolCall?.function?.name === "read_file" || // BUG FIX: Handle read_file
105
- entry.toolCall?.function?.name === "create_file") &&
106
- entry.toolResult?.success;
107
- const shouldShowFullOutput = effectiveVerbose &&
108
- !shouldShowDiff &&
109
- !shouldShowFileContent;
110
- // CONCISE MODE (default): Single line summary with visual hierarchy
111
- // Note: effectiveVerbose includes auto-verbose for errors
112
- if (!effectiveVerbose) {
113
- // Add visual hierarchy with subtle indentation for better scannability
114
- const isEven = index % 2 === 0;
115
- return (React.createElement(Box, { key: index, flexDirection: "row", marginTop: 0, paddingLeft: isEven ? 0 : 1 },
116
- React.createElement(Text, { color: "magenta" }, "\u23FA"),
117
- React.createElement(Text, { color: "yellow", bold: true },
118
- " ",
119
- actionName),
120
- React.createElement(Text, { color: "gray" }, filePath ? ` (${filePath})` : ""),
121
- isExecuting ? (React.createElement(Text, { color: "cyan" }, " ...")) : (React.createElement(React.Fragment, null,
122
- entry.executionDurationMs !== undefined && (React.createElement(Text, { color: "yellow" },
123
- " ",
124
- formatDuration(entry.executionDurationMs))),
125
- React.createElement(Text, { color: isSuccess ? "green" : "red" },
126
- " ",
127
- isSuccess ? "✓" : "✗"),
128
- briefSummary && (React.createElement(Text, { color: "gray", dimColor: true },
129
- " ",
130
- briefSummary))))));
131
- }
132
- // VERBOSE MODE: Full details
133
- return (React.createElement(Box, { key: index, flexDirection: "column", marginTop: 1 },
134
- React.createElement(Box, null,
135
- React.createElement(Text, { color: "magenta" }, "\u23FA"),
136
- React.createElement(Text, { color: "yellow", bold: true },
137
- " ",
138
- actionName),
139
- React.createElement(Text, { color: "gray" }, filePath ? ` (${filePath})` : ""),
140
- !isExecuting && entry.executionDurationMs !== undefined && (React.createElement(Text, { color: "yellow" },
141
- " ",
142
- formatDuration(entry.executionDurationMs))),
143
- entry.toolCall?.id && entry.toolCall.id.length > 0 && (React.createElement(Text, { color: "gray" },
144
- " [",
145
- entry.toolCall.id.slice(0, 8),
146
- "]")),
147
- !isExecuting && (React.createElement(Text, { color: isSuccess ? "green" : "red" },
148
- " ",
149
- isSuccess ? "✓" : "✗"))),
150
- toolArgs && (React.createElement(Box, { marginLeft: 2, flexDirection: "column" },
151
- React.createElement(Text, { color: "blue" },
152
- "Args: ",
153
- toolArgs.length > 100 ? toolArgs.replace(/\n/g, ' ').slice(0, 100) + "..." : toolArgs.replace(/\n/g, ' ')))),
154
- React.createElement(Box, { marginLeft: 2, flexDirection: "column" }, isExecuting ? (React.createElement(Text, { color: "cyan" }, "\u23BF Executing...")) : shouldShowFileContent ? (React.createElement(Box, { flexDirection: "column" },
155
- React.createElement(Text, { color: "gray" },
156
- "\u23BF File contents (",
157
- (entry.content ?? "").trim() ? (entry.content ?? "").split("\n").length : 0,
158
- " lines):"),
159
- React.createElement(Box, { marginLeft: 2, flexDirection: "column" }, renderFileContent(entry.content ?? "")))) : shouldShowDiff ? (React.createElement(Box, { flexDirection: "column" },
160
- React.createElement(Text, { color: "gray" },
161
- "\u23BF ",
162
- (entry.content ?? "").split("\n").find(line => line.trim()) || "diff"),
163
- React.createElement(Box, { marginLeft: 2, flexDirection: "column" }, renderDiff(entry.content ?? "", filePath)))) : shouldShowFullOutput ? (
164
- // BUG FIX: Trim content to avoid leading/trailing whitespace in display
165
- React.createElement(Text, { color: "gray" },
166
- "\u23BF ",
167
- (entry.content ?? "").trim())) : null)));
168
- default:
169
- return null;
170
- }
171
- });
172
- MemoizedChatEntry.displayName = "MemoizedChatEntry";
173
- export const ChatHistory = React.memo(function ChatHistory({ entries, isConfirmationActive = false, verboseMode = false, verbosityLevel, }) {
174
- // Backward compatibility: convert verboseMode boolean to verbosityLevel
175
- const effectiveVerbosityLevel = verbosityLevel !== undefined
176
- ? verbosityLevel
177
- : (verboseMode ? VerbosityLevel.VERBOSE : VerbosityLevel.QUIET);
178
- // Filter out tool_call entries with "Executing..." when confirmation is active
179
- const filteredEntries = isConfirmationActive
180
- ? entries.filter((entry) => !(entry.type === "tool_call" && entry.content === "Executing..."))
181
- : entries;
182
- // Debounced grouping state
183
- // This allows consecutive tool operations to be collected before grouping
184
- // BUG FIX: Initialize with empty array to avoid stale initial state
185
- // The useEffect will immediately populate with correct entries
186
- const [debouncedEntries, setDebouncedEntries] = useState([]);
187
- const debounceTimerRef = useRef(null);
188
- const lastEntriesLengthRef = useRef(0);
189
- const lastEntryRef = useRef(null);
190
- const isFirstRenderRef = useRef(true);
191
- // Debounce entry updates for better grouping
192
- // Note: We use specific primitive dependencies to avoid infinite loops
193
- // since filteredEntries is a new array reference on every render
194
- const filteredEntriesLength = filteredEntries.length;
195
- const lastFilteredEntry = filteredEntriesLength > 0 ? filteredEntries[filteredEntriesLength - 1] : null;
196
- // Use a ref to capture current filteredEntries without adding to dependencies
197
- const filteredEntriesRef = useRef(filteredEntries);
198
- filteredEntriesRef.current = filteredEntries;
199
- // Track previous verbosity level to detect changes
200
- const prevVerbosityRef = useRef(effectiveVerbosityLevel);
201
- useEffect(() => {
202
- // BUG FIX: On first render, immediately set entries without debouncing
203
- // This ensures we don't show empty state on initial load
204
- if (isFirstRenderRef.current) {
205
- isFirstRenderRef.current = false;
206
- lastEntriesLengthRef.current = filteredEntriesLength;
207
- lastEntryRef.current = lastFilteredEntry;
208
- prevVerbosityRef.current = effectiveVerbosityLevel;
209
- setDebouncedEntries(filteredEntriesRef.current);
210
- return;
211
- }
212
- // Check if entries have actually changed (not just array reference)
213
- const entriesGrew = filteredEntriesLength > lastEntriesLengthRef.current;
214
- const lastEntryChanged = lastFilteredEntry !== lastEntryRef.current;
215
- // BUG FIX: Detect verbosity level changes to flush immediately
216
- const verbosityChanged = effectiveVerbosityLevel !== prevVerbosityRef.current;
217
- // BUG FIX: Also detect when entries shrink (e.g., chat cleared)
218
- const entriesShrunk = filteredEntriesLength < lastEntriesLengthRef.current;
219
- // Update refs for next comparison
220
- lastEntriesLengthRef.current = filteredEntriesLength;
221
- lastEntryRef.current = lastFilteredEntry;
222
- prevVerbosityRef.current = effectiveVerbosityLevel;
223
- // BUG FIX: If verbosity changed or entries shrunk, immediately flush
224
- // This ensures users see current data when switching modes or clearing chat
225
- if (verbosityChanged || entriesShrunk) {
226
- if (debounceTimerRef.current) {
227
- clearTimeout(debounceTimerRef.current);
228
- debounceTimerRef.current = null;
229
- }
230
- setDebouncedEntries(filteredEntriesRef.current);
231
- return;
232
- }
233
- // Skip if nothing actually changed
234
- if (!entriesGrew && !lastEntryChanged) {
235
- return;
236
- }
237
- // Check if last entry is a tool operation (could be grouped)
238
- const isToolOperation = lastFilteredEntry && (lastFilteredEntry.type === 'tool_call' || lastFilteredEntry.type === 'tool_result');
239
- // If entries grew and last entry is tool operation, debounce to allow more to come in
240
- if (entriesGrew && isToolOperation && effectiveVerbosityLevel === VerbosityLevel.QUIET) {
241
- // Clear existing timer
242
- if (debounceTimerRef.current) {
243
- clearTimeout(debounceTimerRef.current);
244
- }
245
- // Set new debounced update
246
- debounceTimerRef.current = setTimeout(() => {
247
- setDebouncedEntries(filteredEntriesRef.current);
248
- debounceTimerRef.current = null;
249
- }, GROUP_DEBOUNCE_DELAY);
250
- }
251
- else {
252
- // No debouncing needed - update immediately
253
- if (debounceTimerRef.current) {
254
- clearTimeout(debounceTimerRef.current);
255
- debounceTimerRef.current = null;
256
- }
257
- setDebouncedEntries(filteredEntriesRef.current);
258
- }
259
- }, [filteredEntriesLength, lastFilteredEntry, effectiveVerbosityLevel]);
260
- // BUG FIX: Separate cleanup effect for unmount to avoid stale timer issues
261
- useEffect(() => {
262
- return () => {
263
- if (debounceTimerRef.current) {
264
- clearTimeout(debounceTimerRef.current);
265
- }
266
- };
267
- }, []);
268
- // Group entries based on verbosity level
269
- const groupedEntries = useMemo(() => {
270
- if (effectiveVerbosityLevel === VerbosityLevel.QUIET) {
271
- return groupConsecutiveTools(debouncedEntries);
272
- }
273
- return debouncedEntries;
274
- }, [debouncedEntries, effectiveVerbosityLevel]);
275
- // Process entries for rolling display (Claude Code-style)
276
- // - Group consecutive tool entries
277
- // - Show only last MAX_VISIBLE_TOOL_LINES for each consecutive run
278
- // - Show a collapsed summary for older tool entries
279
- const processedEntries = useMemo(() => {
280
- const result = [];
281
- let consecutiveToolCount = 0;
282
- let consecutiveToolStart = -1;
283
- for (let i = 0; i < groupedEntries.length; i++) {
284
- const entry = groupedEntries[i];
285
- // Check if entry is a tool operation (either a tool group or a ChatEntry with tool type)
286
- const isToolEntry = isToolGroup(entry) ||
287
- (!isToolGroup(entry) && (entry.type === 'tool_call' || entry.type === 'tool_result'));
288
- if (isToolEntry) {
289
- if (consecutiveToolStart === -1) {
290
- consecutiveToolStart = i;
291
- }
292
- consecutiveToolCount++;
293
- }
294
- else {
295
- // Non-tool entry - reset counter and mark older tool entries for hiding
296
- if (consecutiveToolCount > MAX_VISIBLE_TOOL_LINES) {
297
- const hiddenCount = consecutiveToolCount - MAX_VISIBLE_TOOL_LINES;
298
- // Mark entries before the visible window as hidden
299
- for (let j = consecutiveToolStart; j < consecutiveToolStart + hiddenCount; j++) {
300
- if (result[j]) {
301
- result[j].hidden = true;
302
- if (j === consecutiveToolStart) {
303
- result[j].hiddenCount = hiddenCount;
304
- }
305
- }
306
- }
307
- }
308
- consecutiveToolCount = 0;
309
- consecutiveToolStart = -1;
310
- }
311
- result.push({ entry, hidden: false });
312
- }
313
- // Handle trailing tool entries (at end of conversation)
314
- if (consecutiveToolCount > MAX_VISIBLE_TOOL_LINES) {
315
- const hiddenCount = consecutiveToolCount - MAX_VISIBLE_TOOL_LINES;
316
- const startIdx = result.length - consecutiveToolCount;
317
- // Mark entries before the visible window as hidden
318
- for (let j = startIdx; j < startIdx + hiddenCount; j++) {
319
- if (result[j]) {
320
- result[j].hidden = true;
321
- if (j === startIdx) {
322
- result[j].hiddenCount = hiddenCount;
323
- }
324
- }
325
- }
326
- }
327
- return result;
328
- }, [groupedEntries]);
329
- // Render grouped or individual entries with rolling display support
330
- return (React.createElement(Box, { flexDirection: "column" }, processedEntries.map(({ entry, hidden, hiddenCount }, index) => {
331
- // Show collapsed summary for hidden entries
332
- if (hidden && hiddenCount !== undefined) {
333
- return (React.createElement(Box, { key: `hidden-${index}`, marginTop: 0 },
334
- React.createElement(Text, { color: "gray", dimColor: true },
335
- " \u23BF ... ",
336
- hiddenCount,
337
- " more (ctrl+o to expand)")));
338
- }
339
- // Skip hidden entries (but not the summary)
340
- if (hidden) {
341
- return null;
342
- }
343
- // Handle grouped entries
344
- if (isToolGroup(entry)) {
345
- // Safely handle startTime - could be Invalid Date
346
- const groupTime = entry.startTime.getTime();
347
- const groupKey = Number.isNaN(groupTime)
348
- ? `group-fallback-${index}`
349
- : `group-${groupTime}-${index}`;
350
- return (React.createElement(ToolGroupDisplay, { key: groupKey, group: entry, index: index }));
351
- }
352
- // Handle individual entries
353
- // Safely get timestamp - handle both Date objects and serialized strings
354
- const rawTimestamp = entry.timestamp instanceof Date
355
- ? entry.timestamp.getTime()
356
- : new Date(entry.timestamp).getTime();
357
- const timestamp = Number.isNaN(rawTimestamp) ? `fallback-${index}` : rawTimestamp;
358
- // Determine effective verbose mode for this entry
359
- // QUIET: show minimal (like concise but even less)
360
- // CONCISE: show one line per tool
361
- // VERBOSE: show full details
362
- const entryVerboseMode = effectiveVerbosityLevel === VerbosityLevel.VERBOSE;
363
- return (React.createElement(MemoizedChatEntry, { key: `${timestamp}-${index}`, entry: entry, index: index, verboseMode: entryVerboseMode }));
364
- })));
365
- }, (prevProps, nextProps) => {
366
- // Only re-render if entries array reference changed AND last entry is different
367
- // This prevents re-renders when unrelated state updates happen
368
- if (prevProps.entries === nextProps.entries &&
369
- prevProps.isConfirmationActive === nextProps.isConfirmationActive &&
370
- prevProps.verboseMode === nextProps.verboseMode &&
371
- prevProps.verbosityLevel === nextProps.verbosityLevel) {
372
- return true; // Props are equal, skip re-render
373
- }
374
- // Always re-render if verbose mode or verbosity level changed
375
- if (prevProps.verboseMode !== nextProps.verboseMode || prevProps.verbosityLevel !== nextProps.verbosityLevel) {
376
- return false;
377
- }
378
- // If array length is same and last entry is identical, skip re-render
379
- // (handles case where array is recreated but content is same)
380
- // Add bounds check to prevent undefined access on empty arrays
381
- const prevLast = prevProps.entries.length > 0
382
- ? prevProps.entries[prevProps.entries.length - 1]
383
- : null;
384
- const nextLast = nextProps.entries.length > 0
385
- ? nextProps.entries[nextProps.entries.length - 1]
386
- : null;
387
- return (prevProps.entries.length === nextProps.entries.length &&
388
- prevLast === nextLast &&
389
- prevProps.isConfirmationActive === nextProps.isConfirmationActive);
390
- });
391
- //# sourceMappingURL=chat-history.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat-history.js","sourceRoot":"","sources":["../../../src/ui/components/chat-history.tsx"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import React from "react";
2
- import type { PastedBlock } from "../../utils/paste-utils.js";
3
- interface ChatInputProps {
4
- input: string;
5
- cursorPosition: number;
6
- isProcessing: boolean;
7
- isStreaming: boolean;
8
- pastedBlocks?: PastedBlock[];
9
- currentBlockAtCursor?: PastedBlock | null;
10
- isPasting?: boolean;
11
- }
12
- export declare function ChatInput({ input, cursorPosition, isProcessing, isStreaming, pastedBlocks: _pastedBlocks, currentBlockAtCursor, isPasting, }: ChatInputProps): React.JSX.Element;
13
- export {};
@@ -1,179 +0,0 @@
1
- import React from "react";
2
- import { Box, Text } from "ink";
3
- export function ChatInput({ input, cursorPosition, isProcessing, isStreaming, pastedBlocks: _pastedBlocks = [], currentBlockAtCursor = null, isPasting = false, // v3.8.0
4
- }) {
5
- const beforeCursor = input.slice(0, cursorPosition);
6
- // Handle multiline input display
7
- const lines = input.split("\n");
8
- const isMultiline = lines.length > 1;
9
- // Calculate cursor position across lines
10
- let currentLineIndex = 0;
11
- let currentCharIndex = 0;
12
- let totalChars = 0;
13
- for (let i = 0; i < lines.length; i++) {
14
- if (totalChars + lines[i].length >= cursorPosition) {
15
- currentLineIndex = i;
16
- currentCharIndex = cursorPosition - totalChars;
17
- break;
18
- }
19
- totalChars += lines[i].length + 1; // +1 for newline
20
- }
21
- const showCursor = !isProcessing && !isStreaming;
22
- const borderColor = isProcessing || isStreaming ? "yellow" : "blue";
23
- const promptColor = "cyan";
24
- // Display placeholder when input is empty
25
- const placeholderText = "Ask me anything...";
26
- const isPlaceholder = !input;
27
- // Always show character count with color coding for length warnings
28
- const maxChars = 20000;
29
- const charCount = input.length;
30
- const getCharCountColor = () => {
31
- if (charCount >= maxChars)
32
- return "red"; // At/over limit
33
- if (charCount >= maxChars * 0.8)
34
- return "yellow"; // 80% warning (16000+)
35
- if (charCount >= maxChars * 0.5)
36
- return "cyan"; // 50% (10000+)
37
- return "gray"; // Normal (0-9999)
38
- };
39
- // Detect if this line is part of an expanded paste block
40
- const getPasteBlockInfo = (lineIndex) => {
41
- if (!_pastedBlocks || _pastedBlocks.length === 0) {
42
- return { isInPaste: false, isStart: false, isEnd: false };
43
- }
44
- // Check if any expanded paste block exists in the input
45
- const expandedBlocks = _pastedBlocks.filter(block => !block.collapsed);
46
- if (expandedBlocks.length === 0) {
47
- return { isInPaste: false, isStart: false, isEnd: false };
48
- }
49
- // Check if this line is part of the pasted content
50
- for (const block of expandedBlocks) {
51
- const blockLines = block.content.split('\n');
52
- // Prefer the remembered insertion point to disambiguate duplicates, but fall back to a full search
53
- const searchStart = Math.min(Math.max(block.startPosition - 1, 0), input.length);
54
- let startIndex = input.indexOf(block.content, searchStart);
55
- if (startIndex === -1 && searchStart !== 0) {
56
- startIndex = input.indexOf(block.content);
57
- }
58
- // If the block content no longer exists (edited or removed), don't render markers for it
59
- if (startIndex === -1)
60
- continue;
61
- const blockStartLine = input.substring(0, startIndex).split('\n').length - 1;
62
- const blockEndLine = blockStartLine + blockLines.length - 1;
63
- if (lineIndex > blockStartLine && lineIndex <= blockEndLine) {
64
- return {
65
- isInPaste: true,
66
- isStart: lineIndex === blockStartLine + 1,
67
- isEnd: lineIndex === blockEndLine,
68
- block
69
- };
70
- }
71
- }
72
- return { isInPaste: false, isStart: false, isEnd: false };
73
- };
74
- if (isMultiline) {
75
- return (React.createElement(Box, { flexDirection: "column" },
76
- React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: borderColor, paddingY: 0, marginTop: 1 }, lines.map((line, index) => {
77
- const isCurrentLine = index === currentLineIndex;
78
- const pasteInfo = getPasteBlockInfo(index);
79
- const { isInPaste, isStart, isEnd, block } = pasteInfo;
80
- // Use different prompt for pasted content lines
81
- let promptChar = index === 0 ? "❯" : "│";
82
- if (isInPaste) {
83
- promptChar = "┊"; // Different character for pasted lines
84
- }
85
- // Render paste block start marker
86
- if (isStart && block) {
87
- return (React.createElement(React.Fragment, { key: `paste-${index}` },
88
- React.createElement(Box, null,
89
- React.createElement(Text, { color: "yellow", dimColor: true },
90
- "\u2502 \u2500\u2500\u2500 Pasted #",
91
- block.id + 1,
92
- " (",
93
- block.lineCount,
94
- " lines) \u2500\u2500\u2500")),
95
- React.createElement(Box, null,
96
- React.createElement(Text, { color: isInPaste ? "yellow" : promptColor },
97
- promptChar,
98
- " "),
99
- React.createElement(Text, { color: "gray" }, isCurrentLine ? (React.createElement(React.Fragment, null,
100
- line.slice(0, currentCharIndex),
101
- showCursor && (React.createElement(Text, { backgroundColor: "white", color: "black" }, line.slice(currentCharIndex, currentCharIndex + 1) || " ")),
102
- !showCursor && line.slice(currentCharIndex, currentCharIndex + 1) !== " " && line.slice(currentCharIndex, currentCharIndex + 1),
103
- line.slice(currentCharIndex + 1))) : (line)))));
104
- }
105
- // Render paste block end marker
106
- if (isEnd && block) {
107
- return (React.createElement(React.Fragment, { key: `paste-end-${index}` },
108
- React.createElement(Box, null,
109
- React.createElement(Text, { color: isInPaste ? "yellow" : promptColor },
110
- promptChar,
111
- " "),
112
- React.createElement(Text, { color: "gray" }, isCurrentLine ? (React.createElement(React.Fragment, null,
113
- line.slice(0, currentCharIndex),
114
- showCursor && (React.createElement(Text, { backgroundColor: "white", color: "black" }, line.slice(currentCharIndex, currentCharIndex + 1) || " ")),
115
- !showCursor && line.slice(currentCharIndex, currentCharIndex + 1) !== " " && line.slice(currentCharIndex, currentCharIndex + 1),
116
- line.slice(currentCharIndex + 1))) : (line))),
117
- React.createElement(Box, null,
118
- React.createElement(Text, { color: "yellow", dimColor: true }, "\u2502 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"))));
119
- }
120
- // Regular line rendering
121
- if (isCurrentLine) {
122
- const beforeCursorInLine = line.slice(0, currentCharIndex);
123
- const cursorChar = line.slice(currentCharIndex, currentCharIndex + 1) || " ";
124
- const afterCursorInLine = line.slice(currentCharIndex + 1);
125
- return (React.createElement(Box, { key: index },
126
- React.createElement(Text, { color: isInPaste ? "yellow" : promptColor },
127
- promptChar,
128
- " "),
129
- React.createElement(Text, { color: isInPaste ? "gray" : undefined },
130
- beforeCursorInLine,
131
- showCursor && (React.createElement(Text, { backgroundColor: "white", color: "black" }, cursorChar)),
132
- !showCursor && cursorChar !== " " && cursorChar,
133
- afterCursorInLine)));
134
- }
135
- else {
136
- return (React.createElement(Box, { key: index },
137
- React.createElement(Text, { color: isInPaste ? "yellow" : promptColor },
138
- promptChar,
139
- " "),
140
- React.createElement(Text, { color: isInPaste ? "gray" : undefined }, line)));
141
- }
142
- })),
143
- !isProcessing && !isStreaming && (React.createElement(Box, { marginLeft: 2, marginTop: 0 },
144
- React.createElement(Text, { color: getCharCountColor(), dimColor: charCount === 0 },
145
- "[",
146
- charCount,
147
- "/",
148
- maxChars,
149
- "]")))));
150
- }
151
- // Single line input box
152
- const cursorChar = input.slice(cursorPosition, cursorPosition + 1) || " ";
153
- const afterCursorText = input.slice(cursorPosition + 1);
154
- return (React.createElement(Box, { flexDirection: "column" },
155
- React.createElement(Box, { borderStyle: "round", borderColor: borderColor, paddingX: 1, paddingY: 0, marginTop: 1, justifyContent: "space-between" },
156
- React.createElement(Box, { flexGrow: 1 },
157
- React.createElement(Text, { color: promptColor }, "\u276F "),
158
- isPlaceholder ? (React.createElement(React.Fragment, null,
159
- React.createElement(Text, { color: "gray", dimColor: true }, placeholderText),
160
- showCursor && (React.createElement(Text, { backgroundColor: "white", color: "black" }, " ")))) : (React.createElement(Text, null,
161
- beforeCursor,
162
- showCursor && (React.createElement(Text, { backgroundColor: "white", color: "black" }, cursorChar)),
163
- !showCursor && cursorChar !== " " && cursorChar,
164
- afterCursorText))),
165
- !isProcessing && !isStreaming && (React.createElement(Box, { marginLeft: 1 },
166
- React.createElement(Text, { color: getCharCountColor(), dimColor: charCount === 0 },
167
- "[",
168
- charCount,
169
- "/",
170
- maxChars,
171
- "]")))),
172
- currentBlockAtCursor && !isProcessing && !isStreaming && (React.createElement(Box, { marginTop: 0, marginLeft: 2 },
173
- React.createElement(Text, { color: "yellow", dimColor: true }, currentBlockAtCursor.collapsed
174
- ? `💡 Press Ctrl+P to expand ${currentBlockAtCursor.lineCount} lines`
175
- : `💡 Press Ctrl+P to collapse`))),
176
- isPasting && (React.createElement(Box, { marginTop: 0, marginLeft: 2 },
177
- React.createElement(Text, { color: "cyan" }, "\uD83D\uDCCB Pasting text...")))));
178
- }
179
- //# sourceMappingURL=chat-input.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat-input.js","sourceRoot":"","sources":["../../../src/ui/components/chat-input.tsx"],"names":[],"mappings":"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"}