@cjhyy/code-shell 0.2.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 (432) hide show
  1. package/CHANGELOG.md +183 -0
  2. package/README.md +35 -2
  3. package/dist/cli.js +2 -0
  4. package/dist/index.d.ts +1 -67
  5. package/dist/index.js +1 -1
  6. package/package.json +25 -71
  7. package/dist/agent/coordinator.d.ts +0 -49
  8. package/dist/anthropic-OVRWAZRD.js +0 -1
  9. package/dist/arena/arena.d.ts +0 -43
  10. package/dist/arena/context/context-tools.d.ts +0 -16
  11. package/dist/arena/detect-mode.d.ts +0 -20
  12. package/dist/arena/digest-builder.d.ts +0 -25
  13. package/dist/arena/index.d.ts +0 -29
  14. package/dist/arena/index.js +0 -1
  15. package/dist/arena/iterate/convergence.d.ts +0 -25
  16. package/dist/arena/iterate/formats/index.d.ts +0 -22
  17. package/dist/arena/iterate/index.d.ts +0 -11
  18. package/dist/arena/iterate/iterative-arena.d.ts +0 -23
  19. package/dist/arena/iterate/parse.d.ts +0 -42
  20. package/dist/arena/iterate/phases/argue.d.ts +0 -22
  21. package/dist/arena/iterate/phases/revise.d.ts +0 -16
  22. package/dist/arena/iterate/phases/tournament.d.ts +0 -34
  23. package/dist/arena/iterate/tools/web-tools.d.ts +0 -13
  24. package/dist/arena/iterate/types.d.ts +0 -152
  25. package/dist/arena/ledger.d.ts +0 -47
  26. package/dist/arena/lenses/architecture.d.ts +0 -5
  27. package/dist/arena/lenses/engineering.d.ts +0 -5
  28. package/dist/arena/lenses/general.d.ts +0 -5
  29. package/dist/arena/lenses/index.d.ts +0 -16
  30. package/dist/arena/lenses/product.d.ts +0 -5
  31. package/dist/arena/model-presets.d.ts +0 -23
  32. package/dist/arena/phases/adjudication.d.ts +0 -24
  33. package/dist/arena/phases/build-consensus.d.ts +0 -29
  34. package/dist/arena/phases/claim-registry.d.ts +0 -26
  35. package/dist/arena/phases/cross-review.d.ts +0 -45
  36. package/dist/arena/phases/debate-rounds.d.ts +0 -27
  37. package/dist/arena/phases/participant-research.d.ts +0 -38
  38. package/dist/arena/phases/planning-detail-expansion.d.ts +0 -38
  39. package/dist/arena/planner.d.ts +0 -27
  40. package/dist/arena/providers/docs.d.ts +0 -6
  41. package/dist/arena/providers/git.d.ts +0 -8
  42. package/dist/arena/providers/index.d.ts +0 -32
  43. package/dist/arena/providers/none.d.ts +0 -7
  44. package/dist/arena/providers/repo.d.ts +0 -6
  45. package/dist/arena/render/session.d.ts +0 -17
  46. package/dist/arena/render/terminal.d.ts +0 -33
  47. package/dist/arena/strategies/discussion.d.ts +0 -25
  48. package/dist/arena/strategies/index.d.ts +0 -15
  49. package/dist/arena/strategies/language-wrapper.d.ts +0 -17
  50. package/dist/arena/strategies/lens-wrapper.d.ts +0 -16
  51. package/dist/arena/strategies/planning.d.ts +0 -30
  52. package/dist/arena/strategies/review.d.ts +0 -26
  53. package/dist/arena/strategies/utils.d.ts +0 -39
  54. package/dist/arena/tools/selector.d.ts +0 -17
  55. package/dist/arena/transitions.d.ts +0 -48
  56. package/dist/arena/types.d.ts +0 -508
  57. package/dist/arena-64T2EQD4.js +0 -3
  58. package/dist/bootstrap/setup.d.ts +0 -14
  59. package/dist/bootstrap/state.d.ts +0 -160
  60. package/dist/bwrap-PVZMLHZR.js +0 -2
  61. package/dist/chunk-2EUIMKJA.js +0 -1
  62. package/dist/chunk-2GJ7H5NC.js +0 -641
  63. package/dist/chunk-2OD6VR4N.js +0 -2
  64. package/dist/chunk-3QP5BQ3L.js +0 -1
  65. package/dist/chunk-A4M2Y42L.js +0 -2
  66. package/dist/chunk-DEYFK6FP.js +0 -1
  67. package/dist/chunk-DTPABBSV.js +0 -2
  68. package/dist/chunk-EU3J7TBP.js +0 -1
  69. package/dist/chunk-FU7AHZNN.js +0 -1
  70. package/dist/chunk-L7B2ORID.js +0 -4
  71. package/dist/chunk-M7VU4YVY.js +0 -49
  72. package/dist/chunk-MGP35GKD.js +0 -254
  73. package/dist/chunk-MLCTC53I.js +0 -1
  74. package/dist/chunk-O5HFCH2U.js +0 -1
  75. package/dist/chunk-P6JSTIFM.js +0 -1
  76. package/dist/chunk-Q3RSX66I.js +0 -1
  77. package/dist/chunk-QTWU7UNA.js +0 -5
  78. package/dist/chunk-RERBX75D.js +0 -251
  79. package/dist/chunk-SNFAPSLA.js +0 -1
  80. package/dist/chunk-T222K6IV.js +0 -18
  81. package/dist/chunk-TKJA6W36.js +0 -3
  82. package/dist/chunk-VKKU4LOM.js +0 -3
  83. package/dist/chunk-WI6FSWGU.js +0 -1
  84. package/dist/chunk-XXCZE2U2.js +0 -2
  85. package/dist/chunk-ZSAONDT6.js +0 -2
  86. package/dist/cli/commands/arena.d.ts +0 -29
  87. package/dist/cli/commands/builtin/advanced-commands.d.ts +0 -5
  88. package/dist/cli/commands/builtin/core-commands.d.ts +0 -5
  89. package/dist/cli/commands/builtin/export-md.d.ts +0 -19
  90. package/dist/cli/commands/builtin/extra-commands.d.ts +0 -6
  91. package/dist/cli/commands/builtin/git-commands.d.ts +0 -5
  92. package/dist/cli/commands/builtin/init/detect.d.ts +0 -25
  93. package/dist/cli/commands/builtin/init/index.d.ts +0 -19
  94. package/dist/cli/commands/builtin/more-commands.d.ts +0 -5
  95. package/dist/cli/commands/builtin/permissions-command.d.ts +0 -5
  96. package/dist/cli/commands/builtin/utility-commands.d.ts +0 -5
  97. package/dist/cli/commands/registry.d.ts +0 -72
  98. package/dist/cli/commands/repl.d.ts +0 -21
  99. package/dist/cli/commands/run.d.ts +0 -21
  100. package/dist/cli/commands/runs.d.ts +0 -14
  101. package/dist/cli/cost-tracker.d.ts +0 -63
  102. package/dist/cli/exit.d.ts +0 -12
  103. package/dist/cli/input/ndjson-reader.d.ts +0 -31
  104. package/dist/cli/input-compiler.d.ts +0 -5
  105. package/dist/cli/main.d.ts +0 -5
  106. package/dist/cli/main.js +0 -399
  107. package/dist/cli/migrate-models.d.ts +0 -45
  108. package/dist/cli/onboarding.d.ts +0 -189
  109. package/dist/cli/output/renderer.d.ts +0 -28
  110. package/dist/cli/output/terminal-ui.d.ts +0 -50
  111. package/dist/cli/updater.d.ts +0 -65
  112. package/dist/client-base-F5FCRSB3.js +0 -1
  113. package/dist/compaction-L3Y6NG4N.js +0 -1
  114. package/dist/context/compaction.d.ts +0 -116
  115. package/dist/context/manager.d.ts +0 -145
  116. package/dist/context/token-counter.d.ts +0 -27
  117. package/dist/context/tool-result-storage.d.ts +0 -96
  118. package/dist/cron/scheduler.d.ts +0 -34
  119. package/dist/data/openrouter-models.d.ts +0 -35
  120. package/dist/data/openrouter-sync.d.ts +0 -16
  121. package/dist/data/static-catalogs.d.ts +0 -25
  122. package/dist/devtools-SGDUOOM4.js +0 -1
  123. package/dist/engine/cost-store.d.ts +0 -22
  124. package/dist/engine/engine.d.ts +0 -207
  125. package/dist/engine/model-facade.d.ts +0 -24
  126. package/dist/engine/query.d.ts +0 -50
  127. package/dist/engine/streaming-tool-queue.d.ts +0 -34
  128. package/dist/engine/token-budget.d.ts +0 -22
  129. package/dist/engine/tool-summary.d.ts +0 -13
  130. package/dist/engine/turn-loop.d.ts +0 -97
  131. package/dist/engine/turn-state.d.ts +0 -20
  132. package/dist/exceptions.d.ts +0 -44
  133. package/dist/export-md-U72T7NW7.js +0 -22
  134. package/dist/file-history-7FQFEQOL.js +0 -1
  135. package/dist/git/utils.d.ts +0 -35
  136. package/dist/git/worktree.d.ts +0 -36
  137. package/dist/hooks/events.d.ts +0 -35
  138. package/dist/hooks/registry.d.ts +0 -15
  139. package/dist/llm/capabilities/index.d.ts +0 -20
  140. package/dist/llm/capabilities/rules.d.ts +0 -26
  141. package/dist/llm/capabilities/types.d.ts +0 -108
  142. package/dist/llm/client-base.d.ts +0 -29
  143. package/dist/llm/client-factory.d.ts +0 -10
  144. package/dist/llm/model-cache.d.ts +0 -21
  145. package/dist/llm/model-fetcher.d.ts +0 -29
  146. package/dist/llm/model-pool.d.ts +0 -84
  147. package/dist/llm/provider-catalog.d.ts +0 -32
  148. package/dist/llm/provider-kinds.d.ts +0 -21
  149. package/dist/llm/providers/anthropic.d.ts +0 -19
  150. package/dist/llm/providers/openai.d.ts +0 -41
  151. package/dist/llm/token-counter.d.ts +0 -17
  152. package/dist/llm/types.d.ts +0 -37
  153. package/dist/logging/logger.d.ts +0 -88
  154. package/dist/logging/session-recorder.d.ts +0 -90
  155. package/dist/lsp/client.d.ts +0 -41
  156. package/dist/lsp/manager.d.ts +0 -40
  157. package/dist/lsp/servers.d.ts +0 -16
  158. package/dist/manager-J6FXEUEK.js +0 -1
  159. package/dist/mcp-manager-27EVBKRT.js +0 -1
  160. package/dist/memory-BNI4WEWL.js +0 -1
  161. package/dist/model-cache-HEDXI7UJ.js +0 -1
  162. package/dist/model-fetcher-X5W5EASG.js +0 -1
  163. package/dist/native-ts/yoga-layout/enums.d.ts +0 -117
  164. package/dist/native-ts/yoga-layout/index.d.ts +0 -270
  165. package/dist/off-7SDVMMXW.js +0 -1
  166. package/dist/openai-3QEADSYL.js +0 -1
  167. package/dist/openrouter-models-GZVCRWD2.js +0 -1
  168. package/dist/openrouter-sync-WG4AG5NC.js +0 -1
  169. package/dist/plugins/loader.d.ts +0 -72
  170. package/dist/plugins/types.d.ts +0 -4
  171. package/dist/preset/index.d.ts +0 -60
  172. package/dist/product/define.d.ts +0 -60
  173. package/dist/product/index.d.ts +0 -5
  174. package/dist/product/index.js +0 -1
  175. package/dist/product/types.d.ts +0 -111
  176. package/dist/prompt/composer.d.ts +0 -42
  177. package/dist/prompt/instruction-scanner.d.ts +0 -54
  178. package/dist/prompt/section-cache.d.ts +0 -15
  179. package/dist/prompt/section-loader.d.ts +0 -26
  180. package/dist/protocol/client.d.ts +0 -64
  181. package/dist/protocol/index.d.ts +0 -4
  182. package/dist/protocol/server.d.ts +0 -51
  183. package/dist/protocol/transport.d.ts +0 -36
  184. package/dist/protocol/types.d.ts +0 -192
  185. package/dist/react-compiler-runtime-shim.d.ts +0 -1
  186. package/dist/remote/bridge.d.ts +0 -37
  187. package/dist/render/Ansi.d.ts +0 -10
  188. package/dist/render/bidi.d.ts +0 -15
  189. package/dist/render/clearTerminal.d.ts +0 -13
  190. package/dist/render/colorize.d.ts +0 -16
  191. package/dist/render/components/AlternateScreen.d.ts +0 -21
  192. package/dist/render/components/App.d.ts +0 -70
  193. package/dist/render/components/AppContext.d.ts +0 -11
  194. package/dist/render/components/Box.d.ts +0 -49
  195. package/dist/render/components/Button.d.ts +0 -36
  196. package/dist/render/components/ClockContext.d.ts +0 -9
  197. package/dist/render/components/CursorDeclarationContext.d.ts +0 -22
  198. package/dist/render/components/ErrorOverview.d.ts +0 -5
  199. package/dist/render/components/Link.d.ts +0 -7
  200. package/dist/render/components/Newline.d.ts +0 -12
  201. package/dist/render/components/NoSelect.d.ts +0 -19
  202. package/dist/render/components/RawAnsi.d.ts +0 -16
  203. package/dist/render/components/ScrollBox.d.ts +0 -78
  204. package/dist/render/components/Spacer.d.ts +0 -5
  205. package/dist/render/components/StdinContext.d.ts +0 -27
  206. package/dist/render/components/TerminalFocusContext.d.ts +0 -10
  207. package/dist/render/components/TerminalSizeContext.d.ts +0 -5
  208. package/dist/render/components/Text.d.ts +0 -55
  209. package/dist/render/constants.d.ts +0 -1
  210. package/dist/render/cursor.d.ts +0 -8
  211. package/dist/render/devtools.d.ts +0 -5
  212. package/dist/render/dom.d.ts +0 -76
  213. package/dist/render/events/click-event.d.ts +0 -31
  214. package/dist/render/events/dispatcher.d.ts +0 -40
  215. package/dist/render/events/emitter.d.ts +0 -5
  216. package/dist/render/events/event-handlers.d.ts +0 -46
  217. package/dist/render/events/event.d.ts +0 -5
  218. package/dist/render/events/focus-event.d.ts +0 -13
  219. package/dist/render/events/input-event.d.ts +0 -30
  220. package/dist/render/events/keyboard-event.d.ts +0 -19
  221. package/dist/render/events/paste-event.d.ts +0 -8
  222. package/dist/render/events/resize-event.d.ts +0 -9
  223. package/dist/render/events/terminal-event.d.ts +0 -54
  224. package/dist/render/events/terminal-focus-event.d.ts +0 -13
  225. package/dist/render/focus.d.ts +0 -43
  226. package/dist/render/frame.d.ts +0 -94
  227. package/dist/render/get-max-width.d.ts +0 -17
  228. package/dist/render/hit-test.d.ts +0 -33
  229. package/dist/render/hooks/use-animation-frame.d.ts +0 -26
  230. package/dist/render/hooks/use-app.d.ts +0 -5
  231. package/dist/render/hooks/use-declared-cursor.d.ts +0 -26
  232. package/dist/render/hooks/use-input.d.ts +0 -37
  233. package/dist/render/hooks/use-interval.d.ts +0 -18
  234. package/dist/render/hooks/use-search-highlight.d.ts +0 -30
  235. package/dist/render/hooks/use-selection.d.ts +0 -39
  236. package/dist/render/hooks/use-stdin.d.ts +0 -5
  237. package/dist/render/hooks/use-tab-status.d.ts +0 -13
  238. package/dist/render/hooks/use-terminal-focus.d.ts +0 -10
  239. package/dist/render/hooks/use-terminal-title.d.ts +0 -12
  240. package/dist/render/hooks/use-terminal-viewport.d.ts +0 -29
  241. package/dist/render/index.d.ts +0 -20
  242. package/dist/render/ink.d.ts +0 -369
  243. package/dist/render/instances.d.ts +0 -3
  244. package/dist/render/layout/engine.d.ts +0 -2
  245. package/dist/render/layout/geometry.d.ts +0 -30
  246. package/dist/render/layout/node.d.ts +0 -125
  247. package/dist/render/layout/yoga.d.ts +0 -56
  248. package/dist/render/line-width-cache.d.ts +0 -1
  249. package/dist/render/log-update.d.ts +0 -17
  250. package/dist/render/measure-element.d.ts +0 -16
  251. package/dist/render/measure-text.d.ts +0 -6
  252. package/dist/render/node-cache.d.ts +0 -20
  253. package/dist/render/optimizer.d.ts +0 -15
  254. package/dist/render/output.d.ts +0 -119
  255. package/dist/render/parse-keypress.d.ts +0 -111
  256. package/dist/render/reconciler.d.ts +0 -11
  257. package/dist/render/render-border.d.ts +0 -24
  258. package/dist/render/render-node-to-output.d.ts +0 -45
  259. package/dist/render/render-to-screen.d.ts +0 -46
  260. package/dist/render/renderer.d.ts +0 -14
  261. package/dist/render/root.d.ts +0 -74
  262. package/dist/render/screen.d.ts +0 -269
  263. package/dist/render/searchHighlight.d.ts +0 -20
  264. package/dist/render/selection.d.ts +0 -229
  265. package/dist/render/squash-text-nodes.d.ts +0 -22
  266. package/dist/render/stringWidth.d.ts +0 -1
  267. package/dist/render/styles.d.ts +0 -306
  268. package/dist/render/supports-hyperlinks.d.ts +0 -13
  269. package/dist/render/tabstops.d.ts +0 -1
  270. package/dist/render/terminal-focus-state.d.ts +0 -6
  271. package/dist/render/terminal-querier.d.ts +0 -129
  272. package/dist/render/terminal.d.ts +0 -46
  273. package/dist/render/termio/ansi.d.ts +0 -65
  274. package/dist/render/termio/csi.d.ts +0 -165
  275. package/dist/render/termio/dec.d.ts +0 -37
  276. package/dist/render/termio/esc.d.ts +0 -12
  277. package/dist/render/termio/osc.d.ts +0 -173
  278. package/dist/render/termio/parser.d.ts +0 -35
  279. package/dist/render/termio/sgr.d.ts +0 -8
  280. package/dist/render/termio/tokenize.d.ts +0 -45
  281. package/dist/render/termio/types.d.ts +0 -190
  282. package/dist/render/termio.d.ts +0 -24
  283. package/dist/render/useTerminalNotification.d.ts +0 -28
  284. package/dist/render/warn.d.ts +0 -1
  285. package/dist/render/widest-line.d.ts +0 -1
  286. package/dist/render/wrap-text.d.ts +0 -2
  287. package/dist/render/wrapAnsi.d.ts +0 -7
  288. package/dist/run/ArtifactTracker.d.ts +0 -38
  289. package/dist/run/CheckpointWriter.d.ts +0 -53
  290. package/dist/run/EngineRunner.d.ts +0 -72
  291. package/dist/run/Evaluator.d.ts +0 -56
  292. package/dist/run/FileRunStore.d.ts +0 -39
  293. package/dist/run/Heartbeat.d.ts +0 -54
  294. package/dist/run/RunApprovalBackend.d.ts +0 -53
  295. package/dist/run/RunLock.d.ts +0 -40
  296. package/dist/run/RunManager.d.ts +0 -82
  297. package/dist/run/RunQueue.d.ts +0 -27
  298. package/dist/run/RunStore.d.ts +0 -25
  299. package/dist/run/factory.d.ts +0 -63
  300. package/dist/run/index.d.ts +0 -17
  301. package/dist/run/index.js +0 -1
  302. package/dist/run/types.d.ts +0 -136
  303. package/dist/seatbelt-L54CNI2Y.js +0 -37
  304. package/dist/services/analytics.d.ts +0 -29
  305. package/dist/services/auto-dream.d.ts +0 -35
  306. package/dist/services/diagnostics.d.ts +0 -41
  307. package/dist/services/extract-memories.d.ts +0 -27
  308. package/dist/services/index.d.ts +0 -10
  309. package/dist/services/notifier.d.ts +0 -25
  310. package/dist/services/oauth.d.ts +0 -27
  311. package/dist/services/session-memory.d.ts +0 -37
  312. package/dist/session/file-history.d.ts +0 -41
  313. package/dist/session/memory.d.ts +0 -65
  314. package/dist/session/session-manager.d.ts +0 -28
  315. package/dist/session/transcript.d.ts +0 -39
  316. package/dist/session-manager-AGWS5SMJ.js +0 -1
  317. package/dist/settings/manager.d.ts +0 -36
  318. package/dist/settings/schema.d.ts +0 -1036
  319. package/dist/skills/index.d.ts +0 -7
  320. package/dist/skills/matcher.d.ts +0 -21
  321. package/dist/skills/scanner.d.ts +0 -30
  322. package/dist/tool-summary-V2B3MD5N.js +0 -2
  323. package/dist/tool-system/builtin/agent-registry.d.ts +0 -36
  324. package/dist/tool-system/builtin/agent.d.ts +0 -16
  325. package/dist/tool-system/builtin/apply-patch/applier.d.ts +0 -26
  326. package/dist/tool-system/builtin/apply-patch/index.d.ts +0 -19
  327. package/dist/tool-system/builtin/apply-patch/parser.d.ts +0 -17
  328. package/dist/tool-system/builtin/apply-patch/seek-sequence.d.ts +0 -18
  329. package/dist/tool-system/builtin/apply-patch/types.d.ts +0 -49
  330. package/dist/tool-system/builtin/arena.d.ts +0 -31
  331. package/dist/tool-system/builtin/ask-user.d.ts +0 -20
  332. package/dist/tool-system/builtin/bash.d.ts +0 -12
  333. package/dist/tool-system/builtin/brief.d.ts +0 -6
  334. package/dist/tool-system/builtin/config.d.ts +0 -6
  335. package/dist/tool-system/builtin/cron.d.ts +0 -10
  336. package/dist/tool-system/builtin/edit.d.ts +0 -6
  337. package/dist/tool-system/builtin/file-cache.d.ts +0 -11
  338. package/dist/tool-system/builtin/glob.d.ts +0 -6
  339. package/dist/tool-system/builtin/grep.d.ts +0 -6
  340. package/dist/tool-system/builtin/index.d.ts +0 -20
  341. package/dist/tool-system/builtin/lsp.d.ts +0 -6
  342. package/dist/tool-system/builtin/mcp-tools.d.ts +0 -10
  343. package/dist/tool-system/builtin/notebook-edit.d.ts +0 -6
  344. package/dist/tool-system/builtin/plan.d.ts +0 -18
  345. package/dist/tool-system/builtin/powershell.d.ts +0 -6
  346. package/dist/tool-system/builtin/read.d.ts +0 -6
  347. package/dist/tool-system/builtin/remote-trigger.d.ts +0 -6
  348. package/dist/tool-system/builtin/repl.d.ts +0 -6
  349. package/dist/tool-system/builtin/send-message.d.ts +0 -6
  350. package/dist/tool-system/builtin/skill.d.ts +0 -6
  351. package/dist/tool-system/builtin/sleep.d.ts +0 -6
  352. package/dist/tool-system/builtin/task.d.ts +0 -51
  353. package/dist/tool-system/builtin/tool-search.d.ts +0 -11
  354. package/dist/tool-system/builtin/web-fetch.d.ts +0 -6
  355. package/dist/tool-system/builtin/web-search.d.ts +0 -6
  356. package/dist/tool-system/builtin/worktree.d.ts +0 -10
  357. package/dist/tool-system/builtin/write.d.ts +0 -6
  358. package/dist/tool-system/context.d.ts +0 -110
  359. package/dist/tool-system/executor.d.ts +0 -49
  360. package/dist/tool-system/investigation-guard.d.ts +0 -46
  361. package/dist/tool-system/mcp-manager.d.ts +0 -50
  362. package/dist/tool-system/permission.d.ts +0 -104
  363. package/dist/tool-system/registry.d.ts +0 -32
  364. package/dist/tool-system/sandbox/bwrap.d.ts +0 -13
  365. package/dist/tool-system/sandbox/index.d.ts +0 -78
  366. package/dist/tool-system/sandbox/off.d.ts +0 -2
  367. package/dist/tool-system/sandbox/seatbelt.d.ts +0 -18
  368. package/dist/tool-system/task-guard.d.ts +0 -30
  369. package/dist/tool-system/validation.d.ts +0 -5
  370. package/dist/types.d.ts +0 -321
  371. package/dist/ui/App.d.ts +0 -14
  372. package/dist/ui/components/AgentBlock.d.ts +0 -32
  373. package/dist/ui/components/AskUserPrompt.d.ts +0 -14
  374. package/dist/ui/components/BabyHand.d.ts +0 -1
  375. package/dist/ui/components/Banner.d.ts +0 -8
  376. package/dist/ui/components/CodeBlock.d.ts +0 -7
  377. package/dist/ui/components/CommandInput.d.ts +0 -13
  378. package/dist/ui/components/ContextUsageBar.d.ts +0 -7
  379. package/dist/ui/components/DiffLine.d.ts +0 -33
  380. package/dist/ui/components/DiffView.d.ts +0 -6
  381. package/dist/ui/components/DogLogo.d.ts +0 -1
  382. package/dist/ui/components/FullscreenLayout.d.ts +0 -51
  383. package/dist/ui/components/KunHead.d.ts +0 -1
  384. package/dist/ui/components/KunLogo.d.ts +0 -1
  385. package/dist/ui/components/MessageContent.d.ts +0 -26
  386. package/dist/ui/components/ModelManager.d.ts +0 -68
  387. package/dist/ui/components/ModelSelector.d.ts +0 -10
  388. package/dist/ui/components/OnboardingPrompt.d.ts +0 -16
  389. package/dist/ui/components/PermissionDialog.d.ts +0 -8
  390. package/dist/ui/components/PermissionPrompt.d.ts +0 -11
  391. package/dist/ui/components/ProviderModelFlow.d.ts +0 -58
  392. package/dist/ui/components/ScrollView.d.ts +0 -34
  393. package/dist/ui/components/SessionPicker.d.ts +0 -16
  394. package/dist/ui/components/Spinner.d.ts +0 -8
  395. package/dist/ui/components/SpinnerWithVerb.d.ts +0 -18
  396. package/dist/ui/components/StatusLine.d.ts +0 -28
  397. package/dist/ui/components/StructuredDiff.d.ts +0 -8
  398. package/dist/ui/components/TaskList.d.ts +0 -6
  399. package/dist/ui/components/TextInput.d.ts +0 -9
  400. package/dist/ui/components/ThemedBox.d.ts +0 -19
  401. package/dist/ui/components/ThemedText.d.ts +0 -26
  402. package/dist/ui/components/ToolCall.d.ts +0 -28
  403. package/dist/ui/components/UpdateBanner.d.ts +0 -1
  404. package/dist/ui/components/VirtualMessageList.d.ts +0 -24
  405. package/dist/ui/components/WelcomeTips.d.ts +0 -5
  406. package/dist/ui/hooks/useCostSummary.d.ts +0 -1
  407. package/dist/ui/index.d.ts +0 -12
  408. package/dist/ui/input-history.d.ts +0 -61
  409. package/dist/ui/onboarding-runner.d.ts +0 -2
  410. package/dist/ui/store.d.ts +0 -83
  411. package/dist/ui/terminal-renderer.d.ts +0 -45
  412. package/dist/ui/theme.d.ts +0 -36
  413. package/dist/ui/vim-mode.d.ts +0 -25
  414. package/dist/updater-OCNU2K2Z.js +0 -1
  415. package/dist/utils/debug.d.ts +0 -41
  416. package/dist/utils/earlyInput.d.ts +0 -43
  417. package/dist/utils/env.d.ts +0 -24
  418. package/dist/utils/envUtils.d.ts +0 -51
  419. package/dist/utils/execFileNoThrow.d.ts +0 -39
  420. package/dist/utils/format.d.ts +0 -44
  421. package/dist/utils/fullscreen.d.ts +0 -47
  422. package/dist/utils/intl.d.ts +0 -22
  423. package/dist/utils/lockfile.d.ts +0 -15
  424. package/dist/utils/semver.d.ts +0 -6
  425. package/dist/utils/sliceAnsi.d.ts +0 -12
  426. package/dist/utils/systemTheme.d.ts +0 -40
  427. package/dist/utils/task-sanitizer.d.ts +0 -6
  428. package/dist/utils/theme.d.ts +0 -91
  429. package/dist/utils/toolDisplay.d.ts +0 -31
  430. package/dist/utils/truncate.d.ts +0 -40
  431. package/dist/voice/index.d.ts +0 -35
  432. package/skills-builtin/codeshell-help.md +0 -135
@@ -1,110 +0,0 @@
1
- /**
2
- * ToolContext — runtime services injected into every tool execution.
3
- *
4
- * Replaces the legacy module-level singletons (`setAskUserFn`,
5
- * `setArenaLLMConfig`, `setSubAgentConfig`, `setToolSearchRegistry`).
6
- *
7
- * Each Engine instance builds its own ToolContext when run() starts and
8
- * passes it through ToolExecutor → ToolRegistry → executor function.
9
- * That makes concurrent Engine instances safe: tools never see another
10
- * Engine's askUser handler or LLM credentials.
11
- *
12
- * Tools that don't need any context (Read/Write/Bash/...) just ignore
13
- * the second argument; the type is purely additive.
14
- */
15
- import type { LLMConfig, StreamCallback } from "../types.js";
16
- import type { ModelPool } from "../llm/model-pool.js";
17
- import type { ToolRegistry } from "./registry.js";
18
- import type { AgentPresetName } from "../preset/index.js";
19
- import type { SandboxBackend } from "./sandbox/index.js";
20
- /** One choice in a multiple-choice AskUserQuestion. */
21
- export interface AskUserChoice {
22
- label: string;
23
- description: string;
24
- }
25
- /**
26
- * Optional rendering hints / multiple-choice options carried alongside the
27
- * question. Implementations may ignore unknown fields — they're additive.
28
- */
29
- export interface AskUserOptions {
30
- /** Short chip-style label (≤12 chars) shown above the question. */
31
- header?: string;
32
- /** Multiple-choice options. When omitted, the UI falls back to free-text. */
33
- options?: AskUserChoice[];
34
- /** Allow the user to pick more than one option. Defaults to false. */
35
- multiSelect?: boolean;
36
- }
37
- /**
38
- * Function the host UI / server uses to ask the user a question.
39
- *
40
- * Second argument is optional for backwards compatibility — callers that
41
- * only need free text can omit it; backends that don't support options
42
- * should ignore the field and prompt for free text.
43
- *
44
- * Return value:
45
- * - Free-text mode: the user's typed answer (or "(user declined to answer)").
46
- * - Multiple-choice mode: the selected label, or comma-separated labels for
47
- * multiSelect, or "Other: <typed>" when the user picks the implicit
48
- * Other... entry.
49
- */
50
- export type AskUserFn = (question: string, opts?: AskUserOptions) => Promise<string>;
51
- /** Spawn a sub-agent. Returns the produced text or throws. */
52
- export interface SubAgentSpawnRequest {
53
- agentId: string;
54
- description: string;
55
- prompt: string;
56
- maxTurns: number;
57
- signal: AbortSignal;
58
- }
59
- export interface SubAgentSpawner {
60
- /** Run a sub-agent synchronously and return its text output. */
61
- spawn(req: SubAgentSpawnRequest): Promise<string>;
62
- /** Stream callback to forward sub-agent events back to the parent UI. */
63
- parentStream?: StreamCallback;
64
- /** Static config used to describe what the spawned engine looks like. */
65
- describe(): {
66
- cwd: string;
67
- preset?: AgentPresetName;
68
- permissionMode: string;
69
- };
70
- }
71
- /**
72
- * The full context object handed to every tool invocation.
73
- *
74
- * Optional fields are filled in by Engine.run(); some headless paths may
75
- * leave them undefined (e.g. running without UI → no askUser).
76
- */
77
- export interface ToolContext {
78
- /** Active working directory for this Engine. */
79
- cwd: string;
80
- /** LLM credentials/endpoint for tools that need to make their own calls. */
81
- llmConfig: LLMConfig;
82
- /** Active model pool (Arena reads this to pick participants). */
83
- modelPool?: ModelPool;
84
- /** Tool registry (ToolSearch reads this to enumerate available tools). */
85
- toolRegistry: ToolRegistry;
86
- /** UI-backed AskUserQuestion handler. Undefined → headless mode. */
87
- askUser?: AskUserFn;
88
- /** Sub-agent spawner (Agent tool). Undefined → Agent tool unavailable. */
89
- subAgentSpawner?: SubAgentSpawner;
90
- /**
91
- * Active sandbox backend for the Bash tool. Undefined falls back to "off"
92
- * (plain spawn). Headless runs default to an OS-level sandbox; the REPL
93
- * defaults to off because a human is in the loop to approve commands.
94
- */
95
- sandbox?: SandboxBackend;
96
- /** Optional cancellation signal for the whole turn. */
97
- signal?: AbortSignal;
98
- }
99
- /**
100
- * Per-Engine container that produces a fresh ToolContext on demand.
101
- * Engine creates one of these in run() and passes it to ToolExecutor.
102
- */
103
- export declare class ServiceContainer {
104
- private readonly base;
105
- constructor(base: ToolContext);
106
- /** Snapshot of the context at this moment. */
107
- get(): ToolContext;
108
- /** Create a derived context with overridden fields (e.g. per-call signal). */
109
- withSignal(signal: AbortSignal): ToolContext;
110
- }
@@ -1,49 +0,0 @@
1
- /**
2
- * Tool executor — orchestrates permission checks, hooks, and execution.
3
- */
4
- import type { ToolCall, ToolResult, Message } from "../types.js";
5
- import type { HookRegistry } from "../hooks/registry.js";
6
- import { ToolRegistry } from "./registry.js";
7
- import { PermissionClassifier } from "./permission.js";
8
- import { logger as rootLogger } from "../logging/logger.js";
9
- import type { ToolContext } from "./context.js";
10
- import type { InvestigationGuard } from "./investigation-guard.js";
11
- import type { TaskGuard } from "./task-guard.js";
12
- type Logger = typeof rootLogger;
13
- export declare class ToolExecutor {
14
- private readonly registry;
15
- private readonly permission;
16
- private readonly hooks;
17
- private signal?;
18
- /** Per-Engine ToolContext injected for every tool call. */
19
- private toolCtx?;
20
- /**
21
- * Turn-scoped logger set by TurnLoop at the top of each iteration.
22
- * Falls back to the root logger so executor calls outside the turn loop
23
- * (tests, ad-hoc tool runs) still write log lines, just without turn tags.
24
- */
25
- private log;
26
- private guard?;
27
- private taskGuard?;
28
- constructor(registry: ToolRegistry, permission: PermissionClassifier, hooks: HookRegistry);
29
- setInvestigationGuard(guard: InvestigationGuard | undefined): void;
30
- getInvestigationGuard(): InvestigationGuard | undefined;
31
- setTaskGuard(guard: TaskGuard | undefined): void;
32
- getTaskGuard(): TaskGuard | undefined;
33
- /** Set the abort signal for cascading cancellation. */
34
- setSignal(signal?: AbortSignal): void;
35
- /** Set the per-Engine ToolContext (askUser, llmConfig, modelPool, etc.). */
36
- setContext(ctx: ToolContext | undefined): void;
37
- /** Inject a turn-scoped logger so tool-execution lines carry turn/turnId. */
38
- setLogger(log: Logger): void;
39
- /** Check if a tool is safe for concurrent execution (read-only). */
40
- isConcurrencySafe(toolName: string): boolean;
41
- executeSingle(call: ToolCall): Promise<ToolResult>;
42
- private isReadOnlyBashCommand;
43
- executeAll(calls: ToolCall[]): Promise<ToolResult[]>;
44
- /**
45
- * Convert tool results into Message entries for the transcript.
46
- */
47
- resultsToMessages(toolCalls: ToolCall[], results: ToolResult[]): Message[];
48
- }
49
- export {};
@@ -1,46 +0,0 @@
1
- /**
2
- * Investigation Guard — runtime enforcement of read budgets.
3
- *
4
- * Background: prompt rules in coding.md ("never re-read the same file",
5
- * "after ~3 read-only calls, change strategy") describe a behavior the model
6
- * frequently violates under context pressure. This module turns those soft
7
- * rules into in-loop reminders/blocks delivered through tool results.
8
- *
9
- * Three independent counters share one guard instance per Engine:
10
- * A) dedupe — same Read offset hit ≥2 times → reminder; ≥3 times → block
11
- * B) read-budget — N consecutive read-only tools with no side-effecting
12
- * tool in between → reminder on the next read
13
- * C) silent turns — N consecutive turns of only read-only tools with no
14
- * text output → injected into the *next* turn's user
15
- * message by turn-loop (the guard just tracks state).
16
- *
17
- * Everything decays naturally on any write/Bash/AskUser tool (state reset).
18
- */
19
- import type { ToolCall, ToolResult } from "../types.js";
20
- export interface GuardDecision {
21
- block?: string;
22
- prepend?: string;
23
- }
24
- export declare class InvestigationGuard {
25
- private readHistory;
26
- private consecutiveReads;
27
- private silentTurns;
28
- private turnHasText;
29
- private turnHasSideEffect;
30
- private lastReminderSilent;
31
- /**
32
- * Soft mode replaces hard blocks (3rd-read dedupe) with a stronger
33
- * reminder. Used in headless runs (`code-shell run …`) where there is
34
- * no human to retry the task, so an unattended automation should not
35
- * be killed by the guard — it should still get the signal to change
36
- * strategy, but the tool call goes through.
37
- */
38
- private softMode;
39
- setSoftMode(soft: boolean): void;
40
- preToolCheck(call: ToolCall): GuardDecision | undefined;
41
- noteText(text: string | undefined): void;
42
- noteToolResult(_call: ToolCall, _result: ToolResult): void;
43
- turnEnded(turnNumber: number): string | undefined;
44
- private isMutatingTool;
45
- private buildKey;
46
- }
@@ -1,50 +0,0 @@
1
- /**
2
- * MCP Server Manager — connects to external MCP servers and registers their tools.
3
- *
4
- * Supports stdio and streamable-http transports.
5
- */
6
- import type { MCPServerConfig } from "../types.js";
7
- import { ToolRegistry } from "./registry.js";
8
- export declare class MCPManager {
9
- private readonly toolRegistry;
10
- private static instance;
11
- private connections;
12
- constructor(toolRegistry: ToolRegistry);
13
- static getInstance(): MCPManager;
14
- /**
15
- * Connect to all configured MCP servers and register their tools.
16
- */
17
- connectAll(servers: Record<string, MCPServerConfig>): Promise<void>;
18
- /**
19
- * Connect to a single MCP server.
20
- */
21
- connect(name: string, config: MCPServerConfig): Promise<void>;
22
- /**
23
- * Discover tools from an MCP server and register them.
24
- */
25
- private discoverTools;
26
- /**
27
- * Disconnect all MCP servers.
28
- */
29
- disconnectAll(): Promise<void>;
30
- /**
31
- * List connected servers.
32
- */
33
- listServers(): string[];
34
- /**
35
- * Call a tool on a specific MCP server.
36
- */
37
- callTool(serverName: string, toolName: string, args: Record<string, unknown>): Promise<unknown>;
38
- /**
39
- * List resources from MCP servers.
40
- */
41
- listResources(serverName?: string): Promise<Array<{
42
- uri: string;
43
- name: string;
44
- description?: string;
45
- }>>;
46
- /**
47
- * Read a resource from an MCP server.
48
- */
49
- readResource(serverName: string, uri: string): Promise<string>;
50
- }
@@ -1,104 +0,0 @@
1
- /**
2
- * Permission system — classifier + approval backend.
3
- */
4
- import type { PermissionDecision, PermissionMode, PermissionRule, ApprovalRequest, ApprovalResult } from "../types.js";
5
- import { logger as rootPermLogger } from "../logging/logger.js";
6
- export interface ApprovalBackend {
7
- requestApproval(request: ApprovalRequest): Promise<ApprovalResult>;
8
- }
9
- export declare class HeadlessApprovalBackend implements ApprovalBackend {
10
- private readonly mode;
11
- constructor(mode: "approve-all" | "deny-all" | "approve-read-only");
12
- requestApproval(req: ApprovalRequest): Promise<ApprovalResult>;
13
- }
14
- /**
15
- * Auto approval backend — uses fast-path heuristics to auto-approve safe operations.
16
- * Falls back to a delegate backend for uncertain cases.
17
- */
18
- export declare class AutoApprovalBackend implements ApprovalBackend {
19
- private readonly delegate?;
20
- constructor(delegate?: ApprovalBackend | undefined);
21
- requestApproval(req: ApprovalRequest): Promise<ApprovalResult>;
22
- private isSafeOperation;
23
- }
24
- /**
25
- * Interactive approval backend — prompts the user via a callback.
26
- *
27
- * Stores "always allow" decisions at two scopes:
28
- * - session: in-memory map, lost when the process exits
29
- * - project: persisted to <cwd>/.code-shell/settings.local.json so the
30
- * same project remembers the rule across REPL restarts
31
- *
32
- * The classifier reads project rules from settings on session start (see
33
- * Engine.buildPermissionConfig), so persisted rules become "auto-allow"
34
- * the next time the user opens the project.
35
- */
36
- export declare class InteractiveApprovalBackend implements ApprovalBackend {
37
- private sessionRules;
38
- private promptFn;
39
- private cwd;
40
- private savedProjectRules;
41
- private onProjectRules;
42
- setPromptFn(fn: (request: ApprovalRequest) => Promise<ApprovalResult>): void;
43
- /** Inject the project root so persistence writes to the right settings file. */
44
- setCwd(cwd: string): void;
45
- /**
46
- * Inject a callback fired when the user approves "for this project". The
47
- * callback receives the *full* accumulated list of project rules saved in
48
- * this session, so the classifier can be reconfigured without losing
49
- * earlier approvals.
50
- */
51
- setOnProjectRules(fn: (rules: PermissionRule[]) => void): void;
52
- requestApproval(req: ApprovalRequest): Promise<ApprovalResult>;
53
- }
54
- export declare function getInteractiveApprovalBackend(): InteractiveApprovalBackend;
55
- export declare function setInteractiveApprovalFn(fn: (request: ApprovalRequest) => Promise<ApprovalResult>): void;
56
- type BashSafetyLevel = "safe-read" | "safe-write" | "unsafe" | "dangerous";
57
- export declare function classifyBashCommand(command: string): BashSafetyLevel;
58
- export declare class DenialTracker {
59
- private denials;
60
- private readonly periodMs;
61
- private readonly maxDenials;
62
- constructor(opts?: {
63
- periodMs?: number;
64
- maxDenials?: number;
65
- });
66
- record(toolName: string): void;
67
- recordSuccess(toolName: string): void;
68
- shouldWarn(toolName: string): boolean;
69
- getWarningMessage(toolName: string): string;
70
- clear(): void;
71
- }
72
- export declare function setRuntimeBypass(enabled: boolean): void;
73
- export declare function isRuntimeBypass(): boolean;
74
- export declare class PermissionClassifier {
75
- private rules;
76
- private defaultMode;
77
- private approvalBackend;
78
- private denialTracker;
79
- /**
80
- * Turn-scoped logger so permission events (ask/decision/auto-deny) are
81
- * tagged with the current turn/turnId. Falls back to the root logger so
82
- * tests and ad-hoc usages still write log lines.
83
- */
84
- private log;
85
- constructor(rules: PermissionRule[], defaultMode?: PermissionMode, approvalBackend?: ApprovalBackend);
86
- setLogger(log: typeof rootPermLogger): void;
87
- /** Replace mode + backend in place so live tool execution sees the change. */
88
- reconfigure(mode: PermissionMode, approvalBackend: ApprovalBackend, rules?: PermissionRule[]): void;
89
- getMode(): PermissionMode;
90
- classify(toolName: string, args: Record<string, unknown>): PermissionDecision;
91
- handleAsk(toolName: string, args: Record<string, unknown>): Promise<boolean>;
92
- /** Get denial warning message if the model keeps getting denied. */
93
- getDenialWarning(toolName: string): string | undefined;
94
- private matchesRule;
95
- private isDangerousCommand;
96
- private assessRisk;
97
- /**
98
- * Short, human-friendly subtitle. The UI shows this under the tool title;
99
- * full args (command bodies, diffs, etc.) come from the args field, so this
100
- * stays compact — no truncation here, just a label.
101
- */
102
- private describeToolCall;
103
- }
104
- export {};
@@ -1,32 +0,0 @@
1
- /**
2
- * Unified tool registry — built-in tools + MCP tools.
3
- */
4
- import type { RegisteredTool, ToolDefinition, ToolResult } from "../types.js";
5
- import { type BuiltinToolFn } from "./builtin/index.js";
6
- import type { ToolContext } from "./context.js";
7
- /**
8
- * Default execution timeout for any tool that does not declare its own
9
- * timeoutMs at registration time. Tools that need to run longer (Agent,
10
- * Arena, Bash, custom long-running tools) should set timeoutMs explicitly.
11
- */
12
- export declare const DEFAULT_TOOL_TIMEOUT_MS = 120000;
13
- export interface ToolRegistryOptions {
14
- builtinTools?: readonly string[];
15
- }
16
- export declare class ToolRegistry {
17
- private tools;
18
- private builtinExecutors;
19
- constructor(options?: ToolRegistryOptions);
20
- private registerBuiltins;
21
- registerTool(tool: RegisteredTool, executor?: BuiltinToolFn): void;
22
- getToolDefinitions(): ToolDefinition[];
23
- getTool(name: string): RegisteredTool | undefined;
24
- hasTool(name: string): boolean;
25
- executeTool(name: string, args: Record<string, unknown>, options?: {
26
- timeoutMs?: number;
27
- signal?: AbortSignal;
28
- ctx?: ToolContext;
29
- }): Promise<ToolResult>;
30
- listTools(): string[];
31
- listToolsDetailed(): RegisteredTool[];
32
- }
@@ -1,13 +0,0 @@
1
- /**
2
- * Linux bubblewrap backend.
3
- *
4
- * bwrap creates a fresh mount namespace, then bind-mounts only what we tell
5
- * it. We bind / read-only and overlay writableRoots as read-write. PID,
6
- * IPC, UTS, cgroup namespaces are unshared. Network is shared unless
7
- * config.network === "deny".
8
- *
9
- * Sensitive directories listed in deniedReads are shadowed with a tmpfs so
10
- * the inner process literally cannot see them even though `/` is mounted.
11
- */
12
- import type { SandboxBackend, SandboxConfig } from "./index.js";
13
- export declare function createBwrapBackend(config: SandboxConfig): SandboxBackend;
@@ -1,78 +0,0 @@
1
- /**
2
- * Sandbox backends for shell command execution.
3
- *
4
- * We wrap Bash-tool commands in an OS-level sandbox so a misbehaving (or
5
- * prompt-injected) model can't reach beyond the workspace. The sandbox runs
6
- * the user's command inside an isolated process tree with restricted file
7
- * and (optionally) network access. The Engine itself is NOT sandboxed; only
8
- * the spawned shell is. File-editing tools (Edit/Write) keep going through
9
- * the application-layer permission gate.
10
- *
11
- * Backends are platform-specific:
12
- * - "seatbelt" macOS sandbox-exec, built into macOS, zero install
13
- * - "bwrap" Linux bubblewrap, requires `apt install bubblewrap`
14
- * - "off" passthrough, no sandboxing (current behavior)
15
- *
16
- * "auto" picks per platform at startup; falls back to "off" with a warning
17
- * when no sandbox is available.
18
- */
19
- export type SandboxMode = "off" | "auto" | "seatbelt" | "bwrap";
20
- export type SandboxNetworkPolicy = "allow" | "deny";
21
- export interface SandboxConfig {
22
- mode: SandboxMode;
23
- writableRoots: string[];
24
- deniedReads: string[];
25
- network: SandboxNetworkPolicy;
26
- }
27
- export interface SandboxBackend {
28
- /** Resolved backend name — "off" means no sandboxing. */
29
- name: "off" | "seatbelt" | "bwrap";
30
- /**
31
- * Decide the binary + argv that should actually be spawned to run `command`
32
- * under this sandbox. The shell still interprets `command`; we only swap
33
- * the outer process.
34
- */
35
- wrap(command: string, opts: {
36
- cwd: string;
37
- shell: string;
38
- }): {
39
- file: string;
40
- args: string[];
41
- /**
42
- * Optional callback the Bash tool calls after the child process exits.
43
- * Backends that allocate per-command resources (e.g. seatbelt writes a
44
- * profile file to a fresh temp dir) hang their cleanup here so a long
45
- * session doesn't leak hundreds of temp dirs in /tmp.
46
- */
47
- cleanup?: () => void;
48
- };
49
- /**
50
- * If `stderr` looks like a sandbox denial, return a short hint string that
51
- * the Bash tool will append to its result so the model understands why.
52
- */
53
- hintForBlockedOutput?(stderr: string): string | undefined;
54
- }
55
- /**
56
- * Detect which sandbox mechanisms are available on the current host. Used by
57
- * "auto" mode and surfaced to the user via /sandbox status if desired.
58
- */
59
- export declare function detectSandboxCapabilities(): {
60
- seatbelt: boolean;
61
- bwrap: boolean;
62
- };
63
- /**
64
- * Expand `~` and `${workspace}` placeholders against the live cwd and home.
65
- */
66
- export declare function expandPath(p: string, cwd: string): string;
67
- export declare function expandConfig(config: SandboxConfig, cwd: string): SandboxConfig;
68
- export declare function defaultSandboxConfig(mode?: SandboxMode): SandboxConfig;
69
- /**
70
- * Resolve the active backend given user config + the current host.
71
- *
72
- * "off" → off backend
73
- * "seatbelt" → seatbelt if available, else throws (explicit choice)
74
- * "bwrap" → bwrap if available, else throws
75
- * "auto" → seatbelt on macOS, bwrap on Linux with bwrap installed,
76
- * else off + console warning
77
- */
78
- export declare function resolveSandboxBackend(config: SandboxConfig, cwd: string): Promise<SandboxBackend>;
@@ -1,2 +0,0 @@
1
- import type { SandboxBackend } from "./index.js";
2
- export declare function createOffBackend(): SandboxBackend;
@@ -1,18 +0,0 @@
1
- /**
2
- * macOS Seatbelt backend.
3
- *
4
- * Builds a sandbox-exec profile that:
5
- * - Allows reading most of the filesystem (denying everything breaks tooling)
6
- * - Denies reads of sensitive credential directories
7
- * - Restricts writes to the workspace + writableRoots
8
- * - Optionally denies outbound network
9
- *
10
- * The profile is written to a fresh temp file per command (cheap; users can
11
- * have arbitrary writableRoots so we can't cache). The spawned process and
12
- * its entire subprocess tree inherit the profile via XNU's sandbox framework.
13
- *
14
- * sandbox-exec is technically deprecated by Apple but remains the only
15
- * working OS-level sandbox on macOS and is what Codex CLI / Cursor use today.
16
- */
17
- import type { SandboxBackend, SandboxConfig } from "./index.js";
18
- export declare function createSeatbeltBackend(config: SandboxConfig): SandboxBackend;
@@ -1,30 +0,0 @@
1
- /**
2
- * TaskGuard — nudges the model to update stale in_progress tasks.
3
- *
4
- * Background: TaskCreate is sticky in the model's working memory only for the
5
- * first few turns. After enough intervening tool_results (Read/Edit/Bash) the
6
- * "I have an open task" signal gets diluted and the model finishes its work
7
- * without ever calling TaskUpdate(status="completed") — so the UI spinner runs
8
- * forever on a task that the model considers done.
9
- *
10
- * Same shape as InvestigationGuard.turnEnded: turn-loop polls at the end of
11
- * each turn; if anything is in_progress and hasn't been touched in N turns,
12
- * we emit a <system-reminder> that lands at the top of the next turn.
13
- *
14
- * Re-nag policy: don't fire more than once per (task, threshold) pair. A task
15
- * stale at turn 5 fires once; if the model still ignores it, we wait for it
16
- * to cross the next threshold (8, 11, …) before firing again. This keeps the
17
- * reminder from drowning out everything else when the model is genuinely
18
- * stuck on something unrelated.
19
- */
20
- import type { Task } from "./builtin/task.js";
21
- export declare class TaskGuard {
22
- private taskListSource;
23
- /** Last turn we nagged about a given task id. */
24
- private lastNagTurn;
25
- /** Turn the task was first observed in_progress (model-time, not wall-clock). */
26
- private inProgressSince;
27
- constructor(taskListSource: () => Task[]);
28
- turnEnded(turnNumber: number): string | undefined;
29
- reset(): void;
30
- }
@@ -1,5 +0,0 @@
1
- /**
2
- * Validate tool args against the tool's inputSchema.
3
- * Returns null if valid, error string if invalid.
4
- */
5
- export declare function validateToolArgs(toolName: string, args: Record<string, unknown>, schema: Record<string, unknown>): string | null;