@cjhyy/code-shell 0.3.0 → 0.5.0-rc.1

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 (464) hide show
  1. package/CHANGELOG.md +75 -0
  2. package/dist/cli.js +2 -0
  3. package/dist/index.d.ts +1 -68
  4. package/dist/index.js +1 -1
  5. package/package.json +25 -73
  6. package/dist/agent/coordinator.d.ts +0 -49
  7. package/dist/anthropic-DJXVKFMJ.js +0 -1
  8. package/dist/arena/arena.d.ts +0 -43
  9. package/dist/arena/context/context-tools.d.ts +0 -16
  10. package/dist/arena/detect-mode.d.ts +0 -20
  11. package/dist/arena/digest-builder.d.ts +0 -25
  12. package/dist/arena/index.d.ts +0 -29
  13. package/dist/arena/index.js +0 -1
  14. package/dist/arena/iterate/convergence.d.ts +0 -25
  15. package/dist/arena/iterate/formats/index.d.ts +0 -22
  16. package/dist/arena/iterate/index.d.ts +0 -11
  17. package/dist/arena/iterate/iterative-arena.d.ts +0 -23
  18. package/dist/arena/iterate/parse.d.ts +0 -42
  19. package/dist/arena/iterate/phases/argue.d.ts +0 -22
  20. package/dist/arena/iterate/phases/revise.d.ts +0 -16
  21. package/dist/arena/iterate/phases/tournament.d.ts +0 -34
  22. package/dist/arena/iterate/tools/web-tools.d.ts +0 -13
  23. package/dist/arena/iterate/types.d.ts +0 -152
  24. package/dist/arena/ledger.d.ts +0 -47
  25. package/dist/arena/lenses/architecture.d.ts +0 -5
  26. package/dist/arena/lenses/engineering.d.ts +0 -5
  27. package/dist/arena/lenses/general.d.ts +0 -5
  28. package/dist/arena/lenses/index.d.ts +0 -16
  29. package/dist/arena/lenses/product.d.ts +0 -5
  30. package/dist/arena/model-presets.d.ts +0 -23
  31. package/dist/arena/phases/adjudication.d.ts +0 -24
  32. package/dist/arena/phases/build-consensus.d.ts +0 -29
  33. package/dist/arena/phases/claim-registry.d.ts +0 -26
  34. package/dist/arena/phases/cross-review.d.ts +0 -45
  35. package/dist/arena/phases/debate-rounds.d.ts +0 -27
  36. package/dist/arena/phases/participant-research.d.ts +0 -38
  37. package/dist/arena/phases/planning-detail-expansion.d.ts +0 -38
  38. package/dist/arena/planner.d.ts +0 -27
  39. package/dist/arena/providers/docs.d.ts +0 -6
  40. package/dist/arena/providers/git.d.ts +0 -8
  41. package/dist/arena/providers/index.d.ts +0 -32
  42. package/dist/arena/providers/none.d.ts +0 -7
  43. package/dist/arena/providers/repo.d.ts +0 -6
  44. package/dist/arena/render/session.d.ts +0 -17
  45. package/dist/arena/render/terminal.d.ts +0 -33
  46. package/dist/arena/strategies/discussion.d.ts +0 -25
  47. package/dist/arena/strategies/index.d.ts +0 -15
  48. package/dist/arena/strategies/language-wrapper.d.ts +0 -17
  49. package/dist/arena/strategies/lens-wrapper.d.ts +0 -16
  50. package/dist/arena/strategies/planning.d.ts +0 -30
  51. package/dist/arena/strategies/review.d.ts +0 -26
  52. package/dist/arena/strategies/utils.d.ts +0 -39
  53. package/dist/arena/tools/selector.d.ts +0 -17
  54. package/dist/arena/transitions.d.ts +0 -48
  55. package/dist/arena/types.d.ts +0 -508
  56. package/dist/arena-MRBATZFD.js +0 -3
  57. package/dist/bootstrap/setup.d.ts +0 -14
  58. package/dist/bootstrap/state.d.ts +0 -160
  59. package/dist/bwrap-PVZMLHZR.js +0 -2
  60. package/dist/chunk-2OD6VR4N.js +0 -2
  61. package/dist/chunk-3QP5BQ3L.js +0 -1
  62. package/dist/chunk-5QIVXFCT.js +0 -1
  63. package/dist/chunk-AFMP73YP.js +0 -2
  64. package/dist/chunk-D3TVASD2.js +0 -4
  65. package/dist/chunk-DI26OUIU.js +0 -2
  66. package/dist/chunk-FU7AHZNN.js +0 -1
  67. package/dist/chunk-FZXY554D.js +0 -2
  68. package/dist/chunk-GGVAOPI7.js +0 -1
  69. package/dist/chunk-GKAQH2DG.js +0 -2
  70. package/dist/chunk-GYNO4R7R.js +0 -2
  71. package/dist/chunk-K4HILJ6G.js +0 -251
  72. package/dist/chunk-M7VU4YVY.js +0 -49
  73. package/dist/chunk-MLCTC53I.js +0 -1
  74. package/dist/chunk-O5HFCH2U.js +0 -1
  75. package/dist/chunk-OWBYLMDD.js +0 -1
  76. package/dist/chunk-P6JSTIFM.js +0 -1
  77. package/dist/chunk-QTWU7UNA.js +0 -5
  78. package/dist/chunk-SKIX2M5Z.js +0 -4
  79. package/dist/chunk-SNFAPSLA.js +0 -1
  80. package/dist/chunk-SV7H4FKT.js +0 -3
  81. package/dist/chunk-T222K6IV.js +0 -18
  82. package/dist/chunk-TKJA6W36.js +0 -3
  83. package/dist/chunk-WI6FSWGU.js +0 -1
  84. package/dist/chunk-WONQHE4P.js +0 -641
  85. package/dist/chunk-X2S7ASQ2.js +0 -1
  86. package/dist/chunk-Z5HKHAO7.js +0 -336
  87. package/dist/cli/commands/arena.d.ts +0 -29
  88. package/dist/cli/commands/builtin/advanced-commands.d.ts +0 -5
  89. package/dist/cli/commands/builtin/core-commands.d.ts +0 -5
  90. package/dist/cli/commands/builtin/export-md.d.ts +0 -19
  91. package/dist/cli/commands/builtin/extra-commands.d.ts +0 -6
  92. package/dist/cli/commands/builtin/git-commands.d.ts +0 -5
  93. package/dist/cli/commands/builtin/init/detect.d.ts +0 -25
  94. package/dist/cli/commands/builtin/init/index.d.ts +0 -19
  95. package/dist/cli/commands/builtin/more-commands.d.ts +0 -5
  96. package/dist/cli/commands/builtin/permissions-command.d.ts +0 -5
  97. package/dist/cli/commands/builtin/plugin-commands-registration.d.ts +0 -12
  98. package/dist/cli/commands/builtin/plugin-handler.d.ts +0 -6
  99. package/dist/cli/commands/builtin/utility-commands.d.ts +0 -5
  100. package/dist/cli/commands/registry.d.ts +0 -79
  101. package/dist/cli/commands/repl.d.ts +0 -21
  102. package/dist/cli/commands/run.d.ts +0 -21
  103. package/dist/cli/commands/runs.d.ts +0 -14
  104. package/dist/cli/cost-tracker.d.ts +0 -63
  105. package/dist/cli/exit.d.ts +0 -12
  106. package/dist/cli/input/ndjson-reader.d.ts +0 -31
  107. package/dist/cli/input-compiler.d.ts +0 -5
  108. package/dist/cli/main.d.ts +0 -5
  109. package/dist/cli/main.js +0 -415
  110. package/dist/cli/migrate-models.d.ts +0 -45
  111. package/dist/cli/onboarding.d.ts +0 -189
  112. package/dist/cli/output/renderer.d.ts +0 -28
  113. package/dist/cli/output/terminal-ui.d.ts +0 -50
  114. package/dist/cli/updater.d.ts +0 -65
  115. package/dist/client-base-GSFXPP2Y.js +0 -1
  116. package/dist/compaction-L3Y6NG4N.js +0 -1
  117. package/dist/context/compaction.d.ts +0 -116
  118. package/dist/context/manager.d.ts +0 -145
  119. package/dist/context/token-counter.d.ts +0 -27
  120. package/dist/context/tool-result-storage.d.ts +0 -96
  121. package/dist/cron/scheduler.d.ts +0 -34
  122. package/dist/data/openrouter-models.d.ts +0 -35
  123. package/dist/data/openrouter-sync.d.ts +0 -16
  124. package/dist/data/static-catalogs.d.ts +0 -25
  125. package/dist/devtools-FBX4HVVY.js +0 -1
  126. package/dist/engine/cost-store.d.ts +0 -22
  127. package/dist/engine/engine.d.ts +0 -236
  128. package/dist/engine/model-facade.d.ts +0 -24
  129. package/dist/engine/query.d.ts +0 -50
  130. package/dist/engine/streaming-tool-queue.d.ts +0 -34
  131. package/dist/engine/token-budget.d.ts +0 -22
  132. package/dist/engine/tool-summary.d.ts +0 -13
  133. package/dist/engine/turn-loop.d.ts +0 -122
  134. package/dist/engine/turn-state.d.ts +0 -20
  135. package/dist/exceptions.d.ts +0 -44
  136. package/dist/export-md-U72T7NW7.js +0 -22
  137. package/dist/file-history-7FQFEQOL.js +0 -1
  138. package/dist/git/utils.d.ts +0 -35
  139. package/dist/git/worktree.d.ts +0 -36
  140. package/dist/hooks/events.d.ts +0 -114
  141. package/dist/hooks/inject.d.ts +0 -19
  142. package/dist/hooks/registry.d.ts +0 -15
  143. package/dist/hooks/shell-runner.d.ts +0 -45
  144. package/dist/llm/api-key-sanitize.d.ts +0 -22
  145. package/dist/llm/capabilities/index.d.ts +0 -20
  146. package/dist/llm/capabilities/rules.d.ts +0 -26
  147. package/dist/llm/capabilities/types.d.ts +0 -108
  148. package/dist/llm/client-base.d.ts +0 -29
  149. package/dist/llm/client-factory.d.ts +0 -10
  150. package/dist/llm/model-cache.d.ts +0 -21
  151. package/dist/llm/model-fetcher.d.ts +0 -29
  152. package/dist/llm/model-pool.d.ts +0 -84
  153. package/dist/llm/provider-catalog.d.ts +0 -32
  154. package/dist/llm/provider-kinds.d.ts +0 -21
  155. package/dist/llm/providers/anthropic.d.ts +0 -19
  156. package/dist/llm/providers/openai.d.ts +0 -64
  157. package/dist/llm/retry.d.ts +0 -12
  158. package/dist/llm/stream-watchdog.d.ts +0 -42
  159. package/dist/llm/token-counter.d.ts +0 -17
  160. package/dist/llm/types.d.ts +0 -37
  161. package/dist/logging/logger.d.ts +0 -102
  162. package/dist/logging/session-recorder.d.ts +0 -90
  163. package/dist/lsp/client.d.ts +0 -41
  164. package/dist/lsp/manager.d.ts +0 -40
  165. package/dist/lsp/servers.d.ts +0 -16
  166. package/dist/manager-4XKLZHKE.js +0 -1
  167. package/dist/mcp-manager-3JGHEJO3.js +0 -1
  168. package/dist/memory-BNI4WEWL.js +0 -1
  169. package/dist/model-cache-HEDXI7UJ.js +0 -1
  170. package/dist/model-fetcher-X5W5EASG.js +0 -1
  171. package/dist/native-ts/yoga-layout/enums.d.ts +0 -117
  172. package/dist/native-ts/yoga-layout/index.d.ts +0 -270
  173. package/dist/off-7SDVMMXW.js +0 -1
  174. package/dist/openai-OQ6LLN5J.js +0 -1
  175. package/dist/openrouter-models-ZT4R2AE3.js +0 -1
  176. package/dist/openrouter-sync-ARMVWY7S.js +0 -1
  177. package/dist/plugin-handler-GJISMH5Q.js +0 -11
  178. package/dist/plugins/gitOps.d.ts +0 -23
  179. package/dist/plugins/installedPlugins.d.ts +0 -15
  180. package/dist/plugins/knownMarketplaces.d.ts +0 -10
  181. package/dist/plugins/loadPluginHooks.d.ts +0 -52
  182. package/dist/plugins/marketplaceManager.d.ts +0 -49
  183. package/dist/plugins/parseMarketplaceInput.d.ts +0 -16
  184. package/dist/plugins/pluginCommandHook.d.ts +0 -54
  185. package/dist/plugins/pluginCommandsLoader.d.ts +0 -25
  186. package/dist/plugins/pluginInstaller.d.ts +0 -36
  187. package/dist/plugins/schemas.d.ts +0 -9
  188. package/dist/plugins/types.d.ts +0 -75
  189. package/dist/plugins/varRewrite.d.ts +0 -42
  190. package/dist/preset/index.d.ts +0 -60
  191. package/dist/product/define.d.ts +0 -60
  192. package/dist/product/index.d.ts +0 -5
  193. package/dist/product/index.js +0 -1
  194. package/dist/product/types.d.ts +0 -111
  195. package/dist/prompt/composer.d.ts +0 -42
  196. package/dist/prompt/instruction-scanner.d.ts +0 -54
  197. package/dist/prompt/section-cache.d.ts +0 -15
  198. package/dist/prompt/section-loader.d.ts +0 -26
  199. package/dist/protocol/client.d.ts +0 -64
  200. package/dist/protocol/helpers.d.ts +0 -42
  201. package/dist/protocol/index.d.ts +0 -4
  202. package/dist/protocol/server.d.ts +0 -51
  203. package/dist/protocol/transport.d.ts +0 -36
  204. package/dist/protocol/types.d.ts +0 -192
  205. package/dist/react-compiler-runtime-shim.d.ts +0 -1
  206. package/dist/remote/bridge.d.ts +0 -37
  207. package/dist/render/Ansi.d.ts +0 -10
  208. package/dist/render/bidi.d.ts +0 -15
  209. package/dist/render/clearTerminal.d.ts +0 -19
  210. package/dist/render/colorize.d.ts +0 -16
  211. package/dist/render/components/AlternateScreen.d.ts +0 -21
  212. package/dist/render/components/App.d.ts +0 -71
  213. package/dist/render/components/AppContext.d.ts +0 -11
  214. package/dist/render/components/Box.d.ts +0 -49
  215. package/dist/render/components/Button.d.ts +0 -36
  216. package/dist/render/components/ClockContext.d.ts +0 -9
  217. package/dist/render/components/CursorDeclarationContext.d.ts +0 -22
  218. package/dist/render/components/ErrorOverview.d.ts +0 -5
  219. package/dist/render/components/Link.d.ts +0 -7
  220. package/dist/render/components/Newline.d.ts +0 -12
  221. package/dist/render/components/NoSelect.d.ts +0 -19
  222. package/dist/render/components/RawAnsi.d.ts +0 -16
  223. package/dist/render/components/ScrollBox.d.ts +0 -78
  224. package/dist/render/components/Spacer.d.ts +0 -5
  225. package/dist/render/components/Static.d.ts +0 -23
  226. package/dist/render/components/StdinContext.d.ts +0 -27
  227. package/dist/render/components/TerminalFocusContext.d.ts +0 -10
  228. package/dist/render/components/TerminalSizeContext.d.ts +0 -5
  229. package/dist/render/components/Text.d.ts +0 -55
  230. package/dist/render/constants.d.ts +0 -1
  231. package/dist/render/cursor.d.ts +0 -8
  232. package/dist/render/devtools.d.ts +0 -9
  233. package/dist/render/dom.d.ts +0 -77
  234. package/dist/render/events/click-event.d.ts +0 -31
  235. package/dist/render/events/dispatcher.d.ts +0 -40
  236. package/dist/render/events/emitter.d.ts +0 -5
  237. package/dist/render/events/event-handlers.d.ts +0 -46
  238. package/dist/render/events/event.d.ts +0 -5
  239. package/dist/render/events/focus-event.d.ts +0 -13
  240. package/dist/render/events/input-event.d.ts +0 -30
  241. package/dist/render/events/keyboard-event.d.ts +0 -19
  242. package/dist/render/events/paste-event.d.ts +0 -8
  243. package/dist/render/events/resize-event.d.ts +0 -9
  244. package/dist/render/events/terminal-event.d.ts +0 -54
  245. package/dist/render/events/terminal-focus-event.d.ts +0 -13
  246. package/dist/render/focus.d.ts +0 -43
  247. package/dist/render/frame.d.ts +0 -95
  248. package/dist/render/get-max-width.d.ts +0 -17
  249. package/dist/render/hit-test.d.ts +0 -33
  250. package/dist/render/hooks/use-animation-frame.d.ts +0 -26
  251. package/dist/render/hooks/use-app.d.ts +0 -5
  252. package/dist/render/hooks/use-declared-cursor.d.ts +0 -26
  253. package/dist/render/hooks/use-input.d.ts +0 -37
  254. package/dist/render/hooks/use-interval.d.ts +0 -18
  255. package/dist/render/hooks/use-search-highlight.d.ts +0 -30
  256. package/dist/render/hooks/use-selection.d.ts +0 -39
  257. package/dist/render/hooks/use-stdin.d.ts +0 -5
  258. package/dist/render/hooks/use-tab-status.d.ts +0 -13
  259. package/dist/render/hooks/use-terminal-focus.d.ts +0 -10
  260. package/dist/render/hooks/use-terminal-title.d.ts +0 -12
  261. package/dist/render/hooks/use-terminal-viewport.d.ts +0 -29
  262. package/dist/render/index.d.ts +0 -30
  263. package/dist/render/ink.d.ts +0 -391
  264. package/dist/render/instances.d.ts +0 -3
  265. package/dist/render/layout/engine.d.ts +0 -2
  266. package/dist/render/layout/geometry.d.ts +0 -30
  267. package/dist/render/layout/node.d.ts +0 -125
  268. package/dist/render/layout/yoga.d.ts +0 -56
  269. package/dist/render/line-width-cache.d.ts +0 -1
  270. package/dist/render/log-update.d.ts +0 -28
  271. package/dist/render/measure-element.d.ts +0 -16
  272. package/dist/render/measure-text.d.ts +0 -6
  273. package/dist/render/node-cache.d.ts +0 -20
  274. package/dist/render/optimizer.d.ts +0 -15
  275. package/dist/render/output.d.ts +0 -119
  276. package/dist/render/parse-keypress.d.ts +0 -111
  277. package/dist/render/reconciler.d.ts +0 -11
  278. package/dist/render/render-border.d.ts +0 -24
  279. package/dist/render/render-node-to-output.d.ts +0 -45
  280. package/dist/render/render-to-screen.d.ts +0 -46
  281. package/dist/render/renderer.d.ts +0 -14
  282. package/dist/render/root.d.ts +0 -74
  283. package/dist/render/screen.d.ts +0 -269
  284. package/dist/render/searchHighlight.d.ts +0 -20
  285. package/dist/render/selection.d.ts +0 -229
  286. package/dist/render/squash-text-nodes.d.ts +0 -22
  287. package/dist/render/stringWidth.d.ts +0 -1
  288. package/dist/render/styles.d.ts +0 -306
  289. package/dist/render/supports-hyperlinks.d.ts +0 -13
  290. package/dist/render/tabstops.d.ts +0 -1
  291. package/dist/render/terminal-focus-state.d.ts +0 -6
  292. package/dist/render/terminal-querier.d.ts +0 -129
  293. package/dist/render/terminal.d.ts +0 -46
  294. package/dist/render/termio/ansi.d.ts +0 -65
  295. package/dist/render/termio/csi.d.ts +0 -165
  296. package/dist/render/termio/dec.d.ts +0 -37
  297. package/dist/render/termio/esc.d.ts +0 -12
  298. package/dist/render/termio/osc.d.ts +0 -173
  299. package/dist/render/termio/parser.d.ts +0 -35
  300. package/dist/render/termio/sgr.d.ts +0 -8
  301. package/dist/render/termio/tokenize.d.ts +0 -45
  302. package/dist/render/termio/types.d.ts +0 -190
  303. package/dist/render/termio.d.ts +0 -24
  304. package/dist/render/useTerminalNotification.d.ts +0 -28
  305. package/dist/render/warn.d.ts +0 -1
  306. package/dist/render/widest-line.d.ts +0 -1
  307. package/dist/render/wrap-text.d.ts +0 -2
  308. package/dist/render/wrapAnsi.d.ts +0 -7
  309. package/dist/run/ArtifactTracker.d.ts +0 -38
  310. package/dist/run/CheckpointWriter.d.ts +0 -53
  311. package/dist/run/EngineRunner.d.ts +0 -72
  312. package/dist/run/Evaluator.d.ts +0 -56
  313. package/dist/run/FileRunStore.d.ts +0 -39
  314. package/dist/run/Heartbeat.d.ts +0 -54
  315. package/dist/run/RunApprovalBackend.d.ts +0 -53
  316. package/dist/run/RunLock.d.ts +0 -40
  317. package/dist/run/RunManager.d.ts +0 -82
  318. package/dist/run/RunQueue.d.ts +0 -27
  319. package/dist/run/RunStore.d.ts +0 -25
  320. package/dist/run/factory.d.ts +0 -63
  321. package/dist/run/index.d.ts +0 -17
  322. package/dist/run/index.js +0 -1
  323. package/dist/run/types.d.ts +0 -136
  324. package/dist/seatbelt-L54CNI2Y.js +0 -37
  325. package/dist/services/analytics.d.ts +0 -29
  326. package/dist/services/auto-dream.d.ts +0 -35
  327. package/dist/services/diagnostics.d.ts +0 -41
  328. package/dist/services/extract-memories.d.ts +0 -27
  329. package/dist/services/index.d.ts +0 -11
  330. package/dist/services/memory-orchestrator.d.ts +0 -39
  331. package/dist/services/notifier.d.ts +0 -25
  332. package/dist/services/oauth.d.ts +0 -27
  333. package/dist/services/session-memory.d.ts +0 -37
  334. package/dist/session/file-history.d.ts +0 -41
  335. package/dist/session/memory.d.ts +0 -65
  336. package/dist/session/session-manager.d.ts +0 -28
  337. package/dist/session/transcript.d.ts +0 -39
  338. package/dist/session-manager-AGWS5SMJ.js +0 -1
  339. package/dist/settings/manager.d.ts +0 -36
  340. package/dist/settings/schema.d.ts +0 -1123
  341. package/dist/skills/frontmatter.d.ts +0 -13
  342. package/dist/skills/index.d.ts +0 -7
  343. package/dist/skills/scanner.d.ts +0 -20
  344. package/dist/tool-summary-HJX6RHG4.js +0 -2
  345. package/dist/tool-system/builtin/agent-notifications.d.ts +0 -55
  346. package/dist/tool-system/builtin/agent-registry.d.ts +0 -67
  347. package/dist/tool-system/builtin/agent-transcript-translator.d.ts +0 -22
  348. package/dist/tool-system/builtin/agent.d.ts +0 -16
  349. package/dist/tool-system/builtin/apply-patch/applier.d.ts +0 -26
  350. package/dist/tool-system/builtin/apply-patch/index.d.ts +0 -19
  351. package/dist/tool-system/builtin/apply-patch/parser.d.ts +0 -17
  352. package/dist/tool-system/builtin/apply-patch/seek-sequence.d.ts +0 -18
  353. package/dist/tool-system/builtin/apply-patch/types.d.ts +0 -49
  354. package/dist/tool-system/builtin/arena.d.ts +0 -31
  355. package/dist/tool-system/builtin/ask-user.d.ts +0 -20
  356. package/dist/tool-system/builtin/bash.d.ts +0 -12
  357. package/dist/tool-system/builtin/brief.d.ts +0 -6
  358. package/dist/tool-system/builtin/config.d.ts +0 -6
  359. package/dist/tool-system/builtin/cron.d.ts +0 -10
  360. package/dist/tool-system/builtin/edit.d.ts +0 -6
  361. package/dist/tool-system/builtin/file-cache.d.ts +0 -11
  362. package/dist/tool-system/builtin/glob.d.ts +0 -6
  363. package/dist/tool-system/builtin/grep.d.ts +0 -6
  364. package/dist/tool-system/builtin/index.d.ts +0 -20
  365. package/dist/tool-system/builtin/lsp.d.ts +0 -6
  366. package/dist/tool-system/builtin/mcp-tools.d.ts +0 -10
  367. package/dist/tool-system/builtin/notebook-edit.d.ts +0 -6
  368. package/dist/tool-system/builtin/plan.d.ts +0 -18
  369. package/dist/tool-system/builtin/powershell.d.ts +0 -6
  370. package/dist/tool-system/builtin/read.d.ts +0 -6
  371. package/dist/tool-system/builtin/remote-trigger.d.ts +0 -6
  372. package/dist/tool-system/builtin/repl.d.ts +0 -6
  373. package/dist/tool-system/builtin/send-message.d.ts +0 -6
  374. package/dist/tool-system/builtin/skill-prompt.d.ts +0 -7
  375. package/dist/tool-system/builtin/skill.d.ts +0 -8
  376. package/dist/tool-system/builtin/sleep.d.ts +0 -6
  377. package/dist/tool-system/builtin/task.d.ts +0 -51
  378. package/dist/tool-system/builtin/tool-search.d.ts +0 -11
  379. package/dist/tool-system/builtin/web-fetch.d.ts +0 -6
  380. package/dist/tool-system/builtin/web-search.d.ts +0 -6
  381. package/dist/tool-system/builtin/worktree.d.ts +0 -10
  382. package/dist/tool-system/builtin/write.d.ts +0 -6
  383. package/dist/tool-system/context.d.ts +0 -133
  384. package/dist/tool-system/executor.d.ts +0 -49
  385. package/dist/tool-system/investigation-guard.d.ts +0 -46
  386. package/dist/tool-system/mcp-manager.d.ts +0 -50
  387. package/dist/tool-system/permission.d.ts +0 -104
  388. package/dist/tool-system/registry.d.ts +0 -32
  389. package/dist/tool-system/sandbox/bwrap.d.ts +0 -13
  390. package/dist/tool-system/sandbox/index.d.ts +0 -78
  391. package/dist/tool-system/sandbox/off.d.ts +0 -2
  392. package/dist/tool-system/sandbox/seatbelt.d.ts +0 -18
  393. package/dist/tool-system/task-guard.d.ts +0 -30
  394. package/dist/tool-system/validation.d.ts +0 -5
  395. package/dist/types.d.ts +0 -356
  396. package/dist/ui/App.d.ts +0 -14
  397. package/dist/ui/components/AgentBlock.d.ts +0 -35
  398. package/dist/ui/components/AgentDock.d.ts +0 -36
  399. package/dist/ui/components/AskUserPrompt.d.ts +0 -14
  400. package/dist/ui/components/BabyHand.d.ts +0 -1
  401. package/dist/ui/components/Banner.d.ts +0 -8
  402. package/dist/ui/components/CodeBlock.d.ts +0 -7
  403. package/dist/ui/components/CommandInput.d.ts +0 -24
  404. package/dist/ui/components/ContextUsageBar.d.ts +0 -7
  405. package/dist/ui/components/DiffLine.d.ts +0 -33
  406. package/dist/ui/components/DiffView.d.ts +0 -6
  407. package/dist/ui/components/DogLogo.d.ts +0 -1
  408. package/dist/ui/components/FullscreenLayout.d.ts +0 -51
  409. package/dist/ui/components/KunHead.d.ts +0 -1
  410. package/dist/ui/components/KunLogo.d.ts +0 -1
  411. package/dist/ui/components/MessageContent.d.ts +0 -26
  412. package/dist/ui/components/MessageRow.d.ts +0 -54
  413. package/dist/ui/components/ModelManager.d.ts +0 -68
  414. package/dist/ui/components/ModelSelector.d.ts +0 -10
  415. package/dist/ui/components/OnboardingPrompt.d.ts +0 -16
  416. package/dist/ui/components/PermissionDialog.d.ts +0 -8
  417. package/dist/ui/components/PermissionPrompt.d.ts +0 -11
  418. package/dist/ui/components/ProviderModelFlow.d.ts +0 -58
  419. package/dist/ui/components/ScrollView.d.ts +0 -34
  420. package/dist/ui/components/SessionPicker.d.ts +0 -16
  421. package/dist/ui/components/Spinner.d.ts +0 -8
  422. package/dist/ui/components/SpinnerWithVerb.d.ts +0 -19
  423. package/dist/ui/components/StatusLine.d.ts +0 -28
  424. package/dist/ui/components/StructuredDiff.d.ts +0 -8
  425. package/dist/ui/components/TaskList.d.ts +0 -6
  426. package/dist/ui/components/TextInput.d.ts +0 -17
  427. package/dist/ui/components/ThemedBox.d.ts +0 -19
  428. package/dist/ui/components/ThemedText.d.ts +0 -26
  429. package/dist/ui/components/ToolCall.d.ts +0 -28
  430. package/dist/ui/components/UpdateBanner.d.ts +0 -1
  431. package/dist/ui/components/VirtualMessageList.d.ts +0 -43
  432. package/dist/ui/components/WelcomeTips.d.ts +0 -5
  433. package/dist/ui/dev-seed.d.ts +0 -1
  434. package/dist/ui/fullscreen-mode.d.ts +0 -9
  435. package/dist/ui/hooks/useCostSummary.d.ts +0 -1
  436. package/dist/ui/hooks/useVirtualScroll.d.ts +0 -101
  437. package/dist/ui/index.d.ts +0 -12
  438. package/dist/ui/input-history.d.ts +0 -61
  439. package/dist/ui/onboarding-runner.d.ts +0 -2
  440. package/dist/ui/perf-probes.d.ts +0 -22
  441. package/dist/ui/query-guard.d.ts +0 -35
  442. package/dist/ui/slice-anchor.d.ts +0 -44
  443. package/dist/ui/store.d.ts +0 -108
  444. package/dist/ui/terminal-renderer.d.ts +0 -45
  445. package/dist/ui/theme.d.ts +0 -36
  446. package/dist/ui/vim-mode.d.ts +0 -25
  447. package/dist/updater-OCNU2K2Z.js +0 -1
  448. package/dist/utils/debug.d.ts +0 -41
  449. package/dist/utils/earlyInput.d.ts +0 -43
  450. package/dist/utils/env.d.ts +0 -24
  451. package/dist/utils/envUtils.d.ts +0 -51
  452. package/dist/utils/execFileNoThrow.d.ts +0 -39
  453. package/dist/utils/format.d.ts +0 -44
  454. package/dist/utils/fullscreen.d.ts +0 -47
  455. package/dist/utils/intl.d.ts +0 -22
  456. package/dist/utils/lockfile.d.ts +0 -15
  457. package/dist/utils/semver.d.ts +0 -6
  458. package/dist/utils/sliceAnsi.d.ts +0 -12
  459. package/dist/utils/systemTheme.d.ts +0 -40
  460. package/dist/utils/task-sanitizer.d.ts +0 -6
  461. package/dist/utils/theme.d.ts +0 -91
  462. package/dist/utils/toolDisplay.d.ts +0 -31
  463. package/dist/utils/truncate.d.ts +0 -40
  464. package/dist/voice/index.d.ts +0 -35
@@ -1,108 +0,0 @@
1
- /**
2
- * Per-(provider, model) capability descriptor.
3
- *
4
- * Captures the subset of request-shape divergence we've actually observed
5
- * cause HTTP 400s or behavior changes. Each rule in `rules.ts` produces
6
- * one of these; clients spread it into the outgoing request.
7
- *
8
- * Sources for every field are documented next to the matching rule in
9
- * `rules.ts` — vendor docs, not folklore.
10
- */
11
- import type { ProviderKindName } from "../provider-kinds.js";
12
- /** OpenAI-style reasoning effort levels — shared by several vendors. */
13
- export type ReasoningEffort = "minimal" | "low" | "medium" | "high";
14
- /** A binary thinking switch, like DeepSeek V4 and Z.AI GLM use. */
15
- export type ThinkingSwitch = "enabled" | "disabled";
16
- /**
17
- * How the vendor exposes a "think harder / think less" knob (or none).
18
- * Each kind has different field names and value shapes — we keep them
19
- * separate so the engine can't accidentally cross-pollinate.
20
- */
21
- export type ReasoningShape = {
22
- kind: "none";
23
- }
24
- /** DeepSeek V4, Z.AI GLM-4.5+ — `{thinking: {type: "enabled"|"disabled"}}` at top level. */
25
- | {
26
- kind: "deepseek-thinking";
27
- }
28
- /**
29
- * OpenAI o-series & gpt-5+ — `reasoning_effort: "minimal"|"low"|"medium"|"high"`.
30
- * `disabledEffort` is the value we send when the caller asks for thinking
31
- * "disabled" — defaults to `"minimal"` (OpenAI), but vendors with a
32
- * narrower vocabulary override it (e.g. xAI Grok 4.3 has no `"minimal"`;
33
- * Mistral Magistral only accepts `"high"` and `"none"`).
34
- */
35
- | {
36
- kind: "openai-effort";
37
- disabledEffort?: ReasoningEffort | "none";
38
- }
39
- /** Anthropic Claude 4.x ≤ 4.5 — `{thinking: {type: "enabled", budget_tokens: N}}`. */
40
- | {
41
- kind: "anthropic-budget";
42
- minBudgetTokens: number;
43
- }
44
- /** Anthropic Claude 4.6+ — no opt-in, thinking is adaptive. Sending `type: "enabled"` 400s. */
45
- | {
46
- kind: "anthropic-adaptive";
47
- }
48
- /** OpenRouter normalized — `{reasoning: {effort, max_tokens, exclude, enabled}}`. */
49
- | {
50
- kind: "openrouter-reasoning";
51
- };
52
- /**
53
- * How prior `reasoning_content` (or `thinking` blocks) must be threaded
54
- * back into the next request.
55
- */
56
- export type EchoReasoning =
57
- /** DeepSeek `deepseek-reasoner`: 400 if you echo it back at all. */
58
- "never"
59
- /** DeepSeek V4 + tools, Claude 4.x + tools: must echo or 400. */
60
- | "when-tools"
61
- /** Optional — echo if you have it, but absence is fine. */
62
- | "optional";
63
- /**
64
- * Parallel-tool-call shape. OpenAI exposes `parallel_tool_calls: bool`.
65
- * Anthropic exposes it inside `tool_choice.disable_parallel_tool_use`.
66
- * Some endpoints don't support it at all.
67
- */
68
- export type ParallelToolCallsShape = "openai-flag" | "anthropic-disable-flag" | "unsupported";
69
- /**
70
- * Streaming usage signal. OpenAI-compat needs `stream_options:
71
- * {include_usage: true}`; Anthropic always emits usage in
72
- * `message_delta`; some endpoints reject the field.
73
- */
74
- export type StreamUsageShape = "include-usage-flag" | "auto" | "none";
75
- export interface Capability {
76
- /** Token-limit request field. */
77
- tokenLimitField: "max_tokens" | "max_completion_tokens";
78
- /**
79
- * Request fields the model 400s on (or silently drops). We just don't
80
- * send them. Names are in OpenAI-compat spelling; clients translate
81
- * for native protocols.
82
- */
83
- rejectedParams: ReadonlySet<"temperature" | "top_p" | "presence_penalty" | "frequency_penalty" | "logit_bias" | "logprobs" | "top_logprobs">;
84
- /** How thinking is exposed (or not). */
85
- reasoning: ReasoningShape;
86
- /** Echo-back contract for prior reasoning. */
87
- echoReasoning: EchoReasoning;
88
- /** Parallel-tool-calls flag shape. */
89
- parallelToolCalls: ParallelToolCallsShape;
90
- /** Streaming usage reporting shape. */
91
- streamUsage: StreamUsageShape;
92
- }
93
- /**
94
- * Conservative default — used when no rule matches. Picks "send everything
95
- * the vanilla OpenAI Chat Completions spec accepts," because that's what
96
- * every OpenAI-compat endpoint at minimum understands.
97
- */
98
- export declare const DEFAULT_CAPABILITY: Capability;
99
- export interface CapabilityRule {
100
- /** Which provider kind this rule applies to. */
101
- kind: ProviderKindName;
102
- /** Model-id matcher. First matching rule wins (per kind). */
103
- match: RegExp;
104
- /** Patch applied on top of DEFAULT_CAPABILITY. */
105
- capability: Partial<Capability>;
106
- /** Free-text reason — shown in logs, helps future-you. */
107
- why: string;
108
- }
@@ -1,29 +0,0 @@
1
- /**
2
- * Abstract base class for all LLM provider clients.
3
- */
4
- import type { LLMConfig, LLMResponse, TokenUsage } from "../types.js";
5
- import type { CreateMessageOptions, LLMUsageTracker } from "./types.js";
6
- export declare abstract class LLMClientBase {
7
- protected readonly config: LLMConfig;
8
- readonly provider: string;
9
- readonly model: string;
10
- readonly temperature: number;
11
- readonly maxTokens: number;
12
- readonly timeout: number;
13
- readonly retryMaxAttempts: number;
14
- readonly enableStreaming: boolean;
15
- /**
16
- * Process-wide hook fired on every LLM response. The CLI installs this in
17
- * main.ts to feed the cost tracker; lives on the base class so every code
18
- * path (REPL, run, arena, sub-agents) reports through one funnel without
19
- * each call site needing to remember.
20
- */
21
- static onUsage?: (model: string, usage: TokenUsage) => void;
22
- protected usage: LLMUsageTracker;
23
- constructor(config: LLMConfig);
24
- protected abstract initClient(): void;
25
- abstract createMessage(options: CreateMessageOptions): Promise<LLMResponse>;
26
- protected recordUsage(usage: TokenUsage, options?: CreateMessageOptions): void;
27
- getUsage(): LLMUsageTracker;
28
- protected withRetry<T>(fn: () => Promise<T>, maxAttempts?: number): Promise<T>;
29
- }
@@ -1,10 +0,0 @@
1
- /**
2
- * LLM provider factory with registry pattern.
3
- */
4
- import type { LLMConfig } from "../types.js";
5
- import type { LLMClientBase } from "./client-base.js";
6
- type ProviderConstructor = new (config: LLMConfig) => LLMClientBase;
7
- declare const PROVIDER_REGISTRY: Map<string, ProviderConstructor>;
8
- export declare function registerProvider(name: string, cls: ProviderConstructor): void;
9
- export declare function createLLMClient(config: LLMConfig): Promise<LLMClientBase>;
10
- export { PROVIDER_REGISTRY };
@@ -1,21 +0,0 @@
1
- /**
2
- * Cache file IO for per-provider model lists.
3
- *
4
- * One file per provider key under <cacheDir>/<providerKey>.json. TTL is
5
- * 7 days. Callers decide whether to honor staleness — readCache just
6
- * reads, isStale just checks. Malformed/missing files yield undefined.
7
- */
8
- export interface CachedModel {
9
- id: string;
10
- contextLength: number;
11
- maxOutputTokens: number;
12
- }
13
- export interface ModelCacheFile {
14
- fetchedAt: string;
15
- providerKey: string;
16
- models: CachedModel[];
17
- }
18
- export declare function readCache(cacheDir: string, providerKey: string): ModelCacheFile | undefined;
19
- export declare function writeCache(cacheDir: string, providerKey: string, models: CachedModel[]): ModelCacheFile;
20
- export declare function isStale(file: ModelCacheFile, now?: number): boolean;
21
- export declare function defaultCacheDir(): string;
@@ -1,29 +0,0 @@
1
- /**
2
- * Fetch a provider's model list from its official /v1/models endpoint
3
- * (or the local OpenRouter snapshot). Normalizes wildly different
4
- * response shapes into a uniform `CachedModel[]`, applies the kind's
5
- * chat-only filter, and writes to disk cache.
6
- *
7
- * Network failures don't throw — they return `{ models: [], error }`
8
- * so the UI can prompt the user to refresh later or fall back to
9
- * manual entry.
10
- */
11
- import { type ProviderKindName } from "./provider-kinds.js";
12
- import { type ModelCacheFile } from "./model-cache.js";
13
- export interface FetcherProvider {
14
- key: string;
15
- kind: ProviderKindName;
16
- baseUrl: string;
17
- apiKey: string | undefined;
18
- modelsPath?: string;
19
- }
20
- export interface FetchOptions {
21
- cacheDir: string;
22
- refresh?: boolean;
23
- timeoutMs?: number;
24
- }
25
- export interface FetchResult extends ModelCacheFile {
26
- error?: string;
27
- fromCache?: boolean;
28
- }
29
- export declare function fetchModelList(provider: FetcherProvider, opts: FetchOptions): Promise<FetchResult>;
@@ -1,84 +0,0 @@
1
- /**
2
- * ModelPool — runtime model registry.
3
- *
4
- * Holds all available models loaded from settings. Provides:
5
- * - `get(key?)` — retrieve a model config by key, or the active one
6
- * - `switch(key)` — change the active model
7
- * - `list()` — list all available models
8
- * - `register(entry)` — add a model at runtime
9
- *
10
- * Consumers:
11
- * - Engine/TurnLoop: `pool.get()` for the active model
12
- * - Arena: `pool.get("sonnet")` to resolve participants by key
13
- * - /model command: `pool.switch("haiku")` for hot-swap
14
- */
15
- import type { LLMConfig } from "../types.js";
16
- export interface ModelEntry {
17
- /** Short alias: "claude", "sonnet", "haiku", "gpt", "deepseek" */
18
- key: string;
19
- /** Human-readable label. Auto-generated from model path if not provided. */
20
- label?: string;
21
- provider: string;
22
- /** Full model path: "anthropic/claude-opus-4-6" */
23
- model: string;
24
- baseUrl?: string;
25
- apiKey?: string;
26
- maxOutputTokens?: number;
27
- /** Per-model context window size. Falls back to config.maxContextTokens → 200_000. */
28
- maxContextTokens?: number;
29
- /** Optional reference into ProviderCatalog. When set, baseUrl/apiKey
30
- * come from the catalog unless the entry overrides them. */
31
- providerKey?: string;
32
- /**
33
- * Per-model thinking override. Wins over the provider-level setting
34
- * (ProviderCatalog entry's `thinking`). Useful when models in the same
35
- * provider need different defaults — e.g. DeepSeek V4 Pro off but
36
- * V4 Flash on.
37
- */
38
- thinking?: "enabled" | "disabled";
39
- }
40
- export declare class ModelPool {
41
- private models;
42
- private activeKey;
43
- private providerCatalog;
44
- private cacheDir;
45
- setProviderCatalog(cat: import("./provider-catalog.js").ProviderCatalog): void;
46
- setCacheDir(dir: string): void;
47
- /**
48
- * For each entry in the pool that lacks an explicit maxContextTokens
49
- * but has a providerKey, look up the contextLength from the cached
50
- * model list and patch it in.
51
- */
52
- reloadCachedContextWindows(): void;
53
- /**
54
- * Build a pool from an array of model entries.
55
- * The first entry (or the one matching `defaultKey`) becomes active.
56
- */
57
- constructor(entries?: ModelEntry[], defaultKey?: string);
58
- /** Register a model at runtime. */
59
- register(entry: ModelEntry): void;
60
- /** Fill in known defaults (e.g. context window for DeepSeek V4) when the entry doesn't specify them. */
61
- private withBuiltinDefaults;
62
- /** Switch the active model. Throws if key not found. */
63
- switch(key: string): ModelEntry;
64
- /** Get a model by key. No key = active model. Returns undefined if not found. */
65
- get(key?: string): ModelEntry | undefined;
66
- /** Get the active model key. */
67
- getActiveKey(): string | undefined;
68
- /** List all registered models. */
69
- list(): ModelEntry[];
70
- /** Number of registered models. */
71
- get size(): number;
72
- /** Check if a key exists. */
73
- has(key: string): boolean;
74
- /**
75
- * Build an LLMConfig for a given model entry, merging with a base config
76
- * (inherits apiKey, baseUrl, etc. from the base if not set on the entry).
77
- */
78
- toLLMConfig(entry: ModelEntry, base?: Partial<LLMConfig>): LLMConfig;
79
- /**
80
- * Build an LLMConfig for the active model (or a specific key),
81
- * merging with a base config.
82
- */
83
- resolveLLMConfig(key?: string, base?: Partial<LLMConfig>): LLMConfig | undefined;
84
- }
@@ -1,32 +0,0 @@
1
- /**
2
- * In-memory catalog of provider credentials. Mirrors settings.providers[]
3
- * but offers a small API for add/update/remove that validates uniqueness
4
- * and (for remove) refuses to delete a provider still referenced by a
5
- * model entry. The caller persists changes back to settings.
6
- */
7
- import type { ProviderKindName } from "./provider-kinds.js";
8
- export interface ProviderConfig {
9
- key: string;
10
- label?: string;
11
- kind: ProviderKindName;
12
- baseUrl: string;
13
- apiKey?: string;
14
- protocol?: "openai-compat" | "anthropic-style";
15
- modelsPath?: string;
16
- /** Default DeepSeek V4 thinking-mode for this provider. See LLMConfig. */
17
- thinking?: "enabled" | "disabled";
18
- }
19
- export declare class ProviderCatalog {
20
- private byKey;
21
- constructor(entries?: ProviderConfig[]);
22
- list(): ProviderConfig[];
23
- get(key: string): ProviderConfig | undefined;
24
- has(key: string): boolean;
25
- add(entry: ProviderConfig): void;
26
- update(key: string, patch: Partial<ProviderConfig>): void;
27
- remove(key: string, opts: {
28
- referencedBy: string[];
29
- }): void;
30
- /** Compute an unused key for a new provider, given a desired base. */
31
- deriveKey(base: string): string;
32
- }
@@ -1,21 +0,0 @@
1
- /**
2
- * Built-in provider kind metadata.
3
- *
4
- * Each kind defines how to talk to that provider family: where its
5
- * model list lives, what auth header to send, which model IDs to keep
6
- * (chat-completion only — embeddings / TTS / image generation are
7
- * filtered out so they don't show up in the model picker).
8
- */
9
- export type ProviderKindName = "openai" | "anthropic" | "deepseek" | "zai" | "xai" | "mistral" | "groq" | "google" | "openrouter" | "ollama" | "custom";
10
- export type ProviderProtocol = "openai-compat" | "anthropic-style" | "gemini" | "ollama";
11
- export interface ProviderKindMeta {
12
- label: string;
13
- defaultBaseUrl: string;
14
- modelsPath: string;
15
- protocol: ProviderProtocol;
16
- authHeader: (apiKey: string) => Record<string, string>;
17
- chatFilter: (id: string) => boolean;
18
- authQuery?: (apiKey: string) => Record<string, string>;
19
- }
20
- export declare const PROVIDER_KINDS: Record<ProviderKindName, ProviderKindMeta>;
21
- export declare function getKindMeta(kind: string): ProviderKindMeta;
@@ -1,19 +0,0 @@
1
- /**
2
- * Anthropic Claude provider using @anthropic-ai/sdk.
3
- */
4
- import type { LLMConfig, LLMResponse } from "../../types.js";
5
- import type { CreateMessageOptions } from "../types.js";
6
- import { LLMClientBase } from "../client-base.js";
7
- export declare class AnthropicClient extends LLMClientBase {
8
- private _client;
9
- constructor(config: LLMConfig);
10
- protected initClient(): void;
11
- private get client();
12
- createMessage(options: CreateMessageOptions): Promise<LLMResponse>;
13
- private nonStreamMessage;
14
- private streamMessage;
15
- private processResponse;
16
- private buildMessages;
17
- private convertTools;
18
- private handleApiError;
19
- }
@@ -1,64 +0,0 @@
1
- /**
2
- * OpenAI GPT provider using openai SDK.
3
- *
4
- * Serves every OpenAI-compatible endpoint we support (OpenAI, DeepSeek,
5
- * OpenRouter, Z.AI, xAI, Mistral, Groq, Gemini-OpenAI-compat, Ollama,
6
- * custom). Per-(provider, model) request-shape divergence — token-limit
7
- * field name, rejected sampling params, thinking knob, reasoning echo —
8
- * is resolved through `capabilitiesFor()`, not hardcoded.
9
- */
10
- import type { LLMConfig, LLMResponse } from "../../types.js";
11
- import type { CreateMessageOptions } from "../types.js";
12
- import { LLMClientBase } from "../client-base.js";
13
- interface RunStreamOpts {
14
- idleTimeoutMs?: number;
15
- requestId?: string;
16
- /**
17
- * Per-chunk handler — invoked synchronously with the raw chunk for the
18
- * provider to do its own parsing. Returns the text delta (or "") for
19
- * the watchdog-side text accumulator used in tests.
20
- */
21
- onChunk?: (chunk: any) => string;
22
- }
23
- /**
24
- * Consume an async iterable of stream chunks with an idle watchdog.
25
- * Returns the accumulated text — either from onChunk return values, or
26
- * by extracting choices[0].delta.content from raw chunks (useful in tests
27
- * that call runStreamWithWatchdog directly without an onChunk handler).
28
- *
29
- * The watchdog is active whenever opts.idleTimeoutMs is explicitly provided,
30
- * or when STREAM_WATCHDOG_CONFIG.enabled is true. When active, each call to
31
- * iterator.next() races against an idle deadline; if the deadline fires first
32
- * the function rejects with StreamIdleTimeoutError.
33
- */
34
- export declare function runStreamWithWatchdog<T = any>(stream: AsyncIterable<T>, opts?: RunStreamOpts): Promise<string>;
35
- export declare class OpenAIClient extends LLMClientBase {
36
- private _client;
37
- private _forceMaxCompletionTokens;
38
- constructor(config: LLMConfig);
39
- protected initClient(): void;
40
- private get client();
41
- /**
42
- * Resolve the capability descriptor for the current (provider kind, model)
43
- * pair. Cached for the lifetime of the client — model never changes
44
- * mid-client. `providerKind` defaults to "openai" because legacy LLMConfig
45
- * paths (arena, env-derived) don't always populate it; for those, the
46
- * built-in rules table treats them as plain OpenAI.
47
- */
48
- private _capability;
49
- private get capability();
50
- createMessage(options: CreateMessageOptions): Promise<LLMResponse>;
51
- /**
52
- * Build the request body honoring the model's capability descriptor.
53
- * Centralized so both streaming and non-streaming paths agree on the
54
- * exact shape.
55
- */
56
- private buildRequestBody;
57
- private nonStreamMessage;
58
- private streamMessage;
59
- private processChoice;
60
- private buildMessages;
61
- private convertTools;
62
- private handleApiError;
63
- }
64
- export {};
@@ -1,12 +0,0 @@
1
- /**
2
- * Retry classification — which errors trigger an automatic retry of the
3
- * streaming LLM call?
4
- *
5
- * Stream-idle timeouts are retried — the upstream may have just recovered.
6
- * User-initiated aborts (AbortError) are never retried — the user explicitly
7
- * asked for the work to stop.
8
- *
9
- * Other transient errors (5xx, 429, ECONNRESET) are out of scope for this
10
- * iteration; add them here as they become observed.
11
- */
12
- export declare function isRetryable(err: unknown): boolean;
@@ -1,42 +0,0 @@
1
- /**
2
- * Stream Idle Watchdog — guarantees an upper bound on the time a streaming
3
- * LLM call can spend with no bytes arriving. Without this, a wedged HTTP/2
4
- * connection can hang the session indefinitely; the SDK's request timeout
5
- * only covers the initial fetch, not the streaming body.
6
- *
7
- * Disabled by default. Enabled via env CODESHELL_ENABLE_STREAM_WATCHDOG=1.
8
- */
9
- export interface StreamWatchdogOptions {
10
- /** Abort the stream when no chunks arrive within this window. */
11
- idleTimeoutMs: number;
12
- /** Called when the watchdog decides to abort. */
13
- onTimeout: () => void;
14
- /**
15
- * Called at idleTimeoutMs/2 (or warningMs if provided). Logging only —
16
- * the watchdog does not abort on warning. The argument is the configured
17
- * warning threshold (NOT real-time elapsed) so callers can format the log
18
- * without re-deriving it.
19
- */
20
- onWarning?: (warnThresholdMs: number) => void;
21
- /** Override the warning trigger; defaults to idleTimeoutMs / 2. */
22
- warningMs?: number;
23
- }
24
- export interface StreamWatchdog {
25
- /** Re-arm both timers — call after every chunk. */
26
- reset(): void;
27
- /** Clear all timers permanently — call in finally. */
28
- dispose(): void;
29
- }
30
- export declare class StreamIdleTimeoutError extends Error {
31
- idleMs: number;
32
- requestId?: string | undefined;
33
- readonly kind = "stream-idle-timeout";
34
- constructor(idleMs: number, requestId?: string | undefined);
35
- }
36
- export declare function createStreamWatchdog(opts: StreamWatchdogOptions): StreamWatchdog;
37
- /** Environment-driven defaults. Read once at import time is fine — these never change inside a process. */
38
- export declare const STREAM_WATCHDOG_CONFIG: {
39
- enabled: boolean;
40
- idleTimeoutMs: number;
41
- retries: number;
42
- };
@@ -1,17 +0,0 @@
1
- /**
2
- * Token counter — best-effort live token count for streaming output.
3
- *
4
- * Uses gpt-tokenizer's cl100k_base encoding. It's exact for GPT-4 family and
5
- * close enough (within ~10%) for Claude/DeepSeek/Qwen for the purpose of a
6
- * live counter in the UI. The authoritative number is still the provider's
7
- * `usage` field, captured at end-of-stream.
8
- *
9
- * The encoder is lazy-initialized on first use so we don't pay the cost on
10
- * startup for sessions that never stream.
11
- */
12
- /**
13
- * Count tokens in `text`. Synchronous. If the encoder isn't loaded yet,
14
- * falls back to chars/4 — only happens for the very first stream chunk in a
15
- * cold process.
16
- */
17
- export declare function countTokens(text: string): number;
@@ -1,37 +0,0 @@
1
- /**
2
- * LLM-specific internal types.
3
- */
4
- import type { Message, ToolDefinition, LLMStreamChunk, TokenUsage } from "../types.js";
5
- export interface CreateMessageOptions {
6
- systemPrompt: string;
7
- messages: Message[];
8
- tools?: ToolDefinition[];
9
- temperature?: number;
10
- maxTokens?: number;
11
- stream?: boolean;
12
- onChunk?: (chunk: LLMStreamChunk) => void;
13
- signal?: AbortSignal;
14
- /**
15
- * If false, this call's usage is excluded from the client's usage tracker
16
- * and from the process-wide onUsage hook. Used for auxiliary sub-calls
17
- * (tool-summary, future helper prompts) that should not appear in
18
- * session_end.cost or skew turn/requestCount semantics.
19
- * @default true
20
- */
21
- recordUsage?: boolean;
22
- /**
23
- * DeepSeek V4 thinking-mode switch. "enabled" is the endpoint default;
24
- * "disabled" turns reasoning off (faster, cheaper, no `reasoning_content`
25
- * on the reply). Ignored by every provider except DeepSeek V4 — the OpenAI
26
- * SDK forwards unknown top-level fields verbatim, so it's harmless on
27
- * other compatible endpoints.
28
- */
29
- thinking?: "enabled" | "disabled";
30
- }
31
- export interface LLMUsageTracker {
32
- records: TokenUsage[];
33
- totalPromptTokens: number;
34
- totalCompletionTokens: number;
35
- totalTokens: number;
36
- requestCount: number;
37
- }
@@ -1,102 +0,0 @@
1
- /**
2
- * Unified file logger for code-shell.
3
- *
4
- * Sinks (JSON Lines), routed by `cat`:
5
- * ~/.code-shell/logs/ui-ink-YYYY-MM-DD.log
6
- * — UI/ink chatter: stream events, ctx render, ink screen diffs.
7
- * ~/.code-shell/logs/engine-YYYY-MM-DD.log
8
- * — everything else: engine, llm, tool, context, mcp, sandbox, ...
9
- *
10
- * Routing is by entry `cat`: cat ∈ {ui, ink, render, stream} → ui-ink bucket;
11
- * anything else → engine bucket. Run scripts/logs.sh to query both at once
12
- * (merge sorted by timestamp, filter by sid, etc).
13
- *
14
- * Level defaults:
15
- * - Local dev (CODE_SHELL_DEV=1, or running from src/, or --debug) → "debug"
16
- * - Otherwise → "info"
17
- * - CODE_SHELL_LOG_LEVEL overrides everything.
18
- *
19
- * Category filter (--debug=mcp,api or CODE_SHELL_DEBUG=mcp,api):
20
- * When set, only debug logs whose `cat` matches are written.
21
- *
22
- * Disable entirely: CODE_SHELL_LOG=0
23
- */
24
- export type LogLevel = "debug" | "info" | "warn" | "error";
25
- export declare function setCurrentSid(sid: string): void;
26
- export declare function getCurrentSid(): string;
27
- /**
28
- * Run `fn` inside an ALS scope tagged with `sid`. All log lines emitted
29
- * synchronously or via `await` inside `fn` resolve `getCurrentSid()` to
30
- * this `sid` — concurrent Engine.run invocations no longer race on a
31
- * module global.
32
- */
33
- export declare function runWithSid<T>(sid: string, fn: () => T | Promise<T>): T | Promise<T>;
34
- /**
35
- * Bind `sid` to the *current* async context without needing a callback.
36
- * The binding lasts until the current async stack unwinds; concurrent
37
- * sibling async chains keep their own bindings. Engine.run uses this so
38
- * we don't have to indent the entire (long) method body into a callback.
39
- */
40
- export declare function enterSid(sid: string): void;
41
- export declare function getInMemoryErrors(): ReadonlyArray<{
42
- msg: string;
43
- t: string;
44
- data?: unknown;
45
- }>;
46
- export type ErrorLogSink = {
47
- logError: (error: Error) => void;
48
- logMCPError: (serverName: string, error: unknown) => void;
49
- logMCPDebug: (serverName: string, message: string) => void;
50
- getErrorsPath: () => string;
51
- getMCPLogsPath: (serverName: string) => string;
52
- };
53
- export declare function attachErrorLogSink(sink: ErrorLogSink): void;
54
- export interface LogContext {
55
- cat?: string;
56
- sid?: string;
57
- [key: string]: unknown;
58
- }
59
- declare class Logger {
60
- private readonly context;
61
- private readonly enabled;
62
- private readonly minLevel;
63
- private readonly categoryFilter;
64
- private readonly stderrEcho;
65
- private dirReady;
66
- constructor(context?: LogContext);
67
- child(extra: LogContext): Logger;
68
- /**
69
- * Set the session id stamped on every subsequent log entry written by
70
- * any logger in the process. Called by Engine once a run's
71
- * authoritative session id is known.
72
- */
73
- setSid(sid: string): void;
74
- getSid(): string;
75
- debug(msg: string, data?: Record<string, unknown>): void;
76
- info(msg: string, data?: Record<string, unknown>): void;
77
- warn(msg: string, data?: Record<string, unknown>): void;
78
- error(msgOrErr: string | Error | unknown, data?: Record<string, unknown> | Error): void;
79
- private recordError;
80
- private write;
81
- getMinLevel(): LogLevel;
82
- isCategoryActive(cat: string): boolean;
83
- /**
84
- * Open a span: writes a `<name>.begin` debug entry now and returns a handle
85
- * whose `end()` writes `<name>.end` with `duration_ms` populated. Use for
86
- * any "I want begin → end + how long" pattern (tool exec, LLM request,
87
- * permission ask, etc.) so the begin/end pair is grouped under one cat
88
- * and the duration is computed once instead of by hand from timestamps.
89
- */
90
- span(name: string, data?: Record<string, unknown>): LogSpan;
91
- }
92
- export interface LogSpan {
93
- end(extra?: Record<string, unknown>): void;
94
- fail(err: unknown, extra?: Record<string, unknown>): void;
95
- }
96
- export declare const logger: Logger;
97
- export declare function getLogsDir(): string;
98
- export declare function getRecentLogs(n?: number): string[];
99
- export declare function rotateLogs(): void;
100
- /** @internal — for tests */
101
- export declare function _resetLoggerStateForTesting(): void;
102
- export {};