@cerebriline/core 4.100.240

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 (479) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +16 -0
  3. package/assets/office-oxide/LICENSE-APACHE +176 -0
  4. package/assets/office-oxide/LICENSE-MIT +25 -0
  5. package/assets/office-oxide/office_oxide_bg.wasm +0 -0
  6. package/assets/prompt-templates/claude.md +516 -0
  7. package/assets/prompt-templates/deepseek.md +331 -0
  8. package/assets/prompt-templates/default.md +386 -0
  9. package/assets/prompt-templates/gemma.md +352 -0
  10. package/assets/prompt-templates/glm.md +334 -0
  11. package/assets/prompt-templates/kimi-k3.md +408 -0
  12. package/assets/prompt-templates/kimi.md +402 -0
  13. package/assets/prompt-templates/minimax.md +473 -0
  14. package/assets/prompt-templates/nemotron.md +358 -0
  15. package/assets/prompt-templates/qwen.md +612 -0
  16. package/dist/ClineCore.d.ts +365 -0
  17. package/dist/account/cline-account-service.d.ts +41 -0
  18. package/dist/account/index.d.ts +3 -0
  19. package/dist/account/rpc.d.ts +40 -0
  20. package/dist/account/types.d.ts +122 -0
  21. package/dist/auth/bounded-ttl-cache.d.ts +13 -0
  22. package/dist/auth/client.d.ts +30 -0
  23. package/dist/auth/cline.d.ts +71 -0
  24. package/dist/auth/codex.d.ts +40 -0
  25. package/dist/auth/oca.d.ts +21 -0
  26. package/dist/auth/provider-auth-registry.d.ts +52 -0
  27. package/dist/auth/server.d.ts +54 -0
  28. package/dist/auth/types.d.ts +103 -0
  29. package/dist/auth/utils.d.ts +31 -0
  30. package/dist/cline-core/automation.d.ts +34 -0
  31. package/dist/cline-core/runtime-services.d.ts +5 -0
  32. package/dist/cline-core/start-input.d.ts +10 -0
  33. package/dist/cline-core/telemetry.d.ts +10 -0
  34. package/dist/cline-core/types.d.ts +236 -0
  35. package/dist/cron/events/cron-event-ingress.d.ts +37 -0
  36. package/dist/cron/reports/cron-report-writer.d.ts +42 -0
  37. package/dist/cron/runner/cron-materializer.d.ts +35 -0
  38. package/dist/cron/runner/cron-runner.d.ts +60 -0
  39. package/dist/cron/runner/resource-limiter.d.ts +8 -0
  40. package/dist/cron/schedule/scheduler.d.ts +12 -0
  41. package/dist/cron/service/cron-service.d.ts +56 -0
  42. package/dist/cron/service/schedule-command-service.d.ts +14 -0
  43. package/dist/cron/service/schedule-service.d.ts +116 -0
  44. package/dist/cron/service/schedule-tool.d.ts +81 -0
  45. package/dist/cron/specs/cron-reconciler.d.ts +61 -0
  46. package/dist/cron/specs/cron-spec-parser.d.ts +26 -0
  47. package/dist/cron/specs/cron-watcher.d.ts +22 -0
  48. package/dist/cron/store/cron-schema.d.ts +2 -0
  49. package/dist/cron/store/sqlite-cron-store.d.ts +261 -0
  50. package/dist/extensions/agent-plugin/agent-skill.d.ts +21 -0
  51. package/dist/extensions/agent-plugin/index.d.ts +4 -0
  52. package/dist/extensions/agent-plugin/loader.d.ts +10 -0
  53. package/dist/extensions/agent-plugin/types.d.ts +67 -0
  54. package/dist/extensions/complexity/grammars.d.ts +92 -0
  55. package/dist/extensions/complexity/walker.d.ts +115 -0
  56. package/dist/extensions/config/builtin-templates.d.ts +10 -0
  57. package/dist/extensions/config/builtin-templates.generated.d.ts +5 -0
  58. package/dist/extensions/config/index.d.ts +15 -0
  59. package/dist/extensions/config/prompt-template-compaction.d.ts +92 -0
  60. package/dist/extensions/config/prompt-template-delta.d.ts +107 -0
  61. package/dist/extensions/config/prompt-template-hooks.d.ts +47 -0
  62. package/dist/extensions/config/prompt-template-loader.d.ts +79 -0
  63. package/dist/extensions/config/prompt-template-parser.d.ts +56 -0
  64. package/dist/extensions/config/prompt-template-review.d.ts +327 -0
  65. package/dist/extensions/config/prompt-template-session.d.ts +46 -0
  66. package/dist/extensions/config/runtime-commands.d.ts +23 -0
  67. package/dist/extensions/config/shipped-tool-signatures.d.ts +36 -0
  68. package/dist/extensions/config/skill-frontmatter-toggle.d.ts +11 -0
  69. package/dist/extensions/config/unified-config-file-watcher.d.ts +77 -0
  70. package/dist/extensions/config/user-instruction-config-loader.d.ts +77 -0
  71. package/dist/extensions/config/user-instruction-plugin.d.ts +26 -0
  72. package/dist/extensions/config/user-instruction-service.d.ts +31 -0
  73. package/dist/extensions/context/agentic-compaction.d.ts +129 -0
  74. package/dist/extensions/context/basic-compaction.d.ts +19 -0
  75. package/dist/extensions/context/budget-projection/index.d.ts +2 -0
  76. package/dist/extensions/context/budget-projection/project.d.ts +4 -0
  77. package/dist/extensions/context/budget-projection/types.d.ts +58 -0
  78. package/dist/extensions/context/capped-thinking.d.ts +195 -0
  79. package/dist/extensions/context/compaction-cause.d.ts +27 -0
  80. package/dist/extensions/context/compaction-journal.d.ts +65 -0
  81. package/dist/extensions/context/compaction-revisions.d.ts +72 -0
  82. package/dist/extensions/context/compaction-shared.d.ts +608 -0
  83. package/dist/extensions/context/compaction.d.ts +161 -0
  84. package/dist/extensions/context/context-minimum-warning.d.ts +27 -0
  85. package/dist/extensions/context/continuation-compaction.d.ts +260 -0
  86. package/dist/extensions/context/council-compaction.d.ts +262 -0
  87. package/dist/extensions/context/full-compaction.d.ts +44 -0
  88. package/dist/extensions/context/kv-pressure.d.ts +258 -0
  89. package/dist/extensions/context/polykv-session.d.ts +372 -0
  90. package/dist/extensions/context/replay-compaction.d.ts +90 -0
  91. package/dist/extensions/context/tool-ledger.d.ts +198 -0
  92. package/dist/extensions/context/work-digest.d.ts +92 -0
  93. package/dist/extensions/index.d.ts +7 -0
  94. package/dist/extensions/mcp/client.d.ts +28 -0
  95. package/dist/extensions/mcp/config-loader.d.ts +102 -0
  96. package/dist/extensions/mcp/index.d.ts +15 -0
  97. package/dist/extensions/mcp/manager.d.ts +23 -0
  98. package/dist/extensions/mcp/name-transform.d.ts +2 -0
  99. package/dist/extensions/mcp/oauth.d.ts +68 -0
  100. package/dist/extensions/mcp/plugin-server-registration.d.ts +18 -0
  101. package/dist/extensions/mcp/policies.d.ts +14 -0
  102. package/dist/extensions/mcp/remote-proxy.d.ts +9 -0
  103. package/dist/extensions/mcp/timeout.d.ts +2 -0
  104. package/dist/extensions/mcp/tools.d.ts +3 -0
  105. package/dist/extensions/mcp/types.d.ts +133 -0
  106. package/dist/extensions/plugin/plugin-config-loader.d.ts +44 -0
  107. package/dist/extensions/plugin/plugin-load-report.d.ts +18 -0
  108. package/dist/extensions/plugin/plugin-loader.d.ts +23 -0
  109. package/dist/extensions/plugin/plugin-module-import.d.ts +4 -0
  110. package/dist/extensions/plugin/plugin-sandbox.d.ts +82 -0
  111. package/dist/extensions/plugin/plugin-targeting.d.ts +6 -0
  112. package/dist/extensions/plugin-sandbox-bootstrap.js +1 -0
  113. package/dist/extensions/tools/ask-lsp.d.ts +150 -0
  114. package/dist/extensions/tools/audio-tools.d.ts +156 -0
  115. package/dist/extensions/tools/browser.d.ts +137 -0
  116. package/dist/extensions/tools/check-file.d.ts +218 -0
  117. package/dist/extensions/tools/check-on-failure.d.ts +49 -0
  118. package/dist/extensions/tools/code-intel.d.ts +131 -0
  119. package/dist/extensions/tools/command-guard-extension.d.ts +22 -0
  120. package/dist/extensions/tools/command-guard.d.ts +29 -0
  121. package/dist/extensions/tools/constants.d.ts +28 -0
  122. package/dist/extensions/tools/definitions.d.ts +178 -0
  123. package/dist/extensions/tools/delimiter-balance.d.ts +121 -0
  124. package/dist/extensions/tools/edit-verification.d.ts +86 -0
  125. package/dist/extensions/tools/error-locations.d.ts +53 -0
  126. package/dist/extensions/tools/executors/apply-patch-parser.d.ts +68 -0
  127. package/dist/extensions/tools/executors/apply-patch.d.ts +48 -0
  128. package/dist/extensions/tools/executors/awk-parser.d.ts +163 -0
  129. package/dist/extensions/tools/executors/awk.d.ts +41 -0
  130. package/dist/extensions/tools/executors/bash.d.ts +119 -0
  131. package/dist/extensions/tools/executors/document/assets.d.ts +22 -0
  132. package/dist/extensions/tools/executors/document/ebook.d.ts +11 -0
  133. package/dist/extensions/tools/executors/document/formats.d.ts +83 -0
  134. package/dist/extensions/tools/executors/document/images.d.ts +73 -0
  135. package/dist/extensions/tools/executors/document/legacy.d.ts +20 -0
  136. package/dist/extensions/tools/executors/document/ocr.d.ts +67 -0
  137. package/dist/extensions/tools/executors/document/office-oxide.d.ts +19 -0
  138. package/dist/extensions/tools/executors/document/office-oxide.generated.d.ts +82 -0
  139. package/dist/extensions/tools/executors/document/office.d.ts +10 -0
  140. package/dist/extensions/tools/executors/document/pdf.d.ts +6 -0
  141. package/dist/extensions/tools/executors/document/pdfjs.d.ts +30 -0
  142. package/dist/extensions/tools/executors/document/range.d.ts +18 -0
  143. package/dist/extensions/tools/executors/document/recognition.d.ts +67 -0
  144. package/dist/extensions/tools/executors/document-extract.d.ts +55 -0
  145. package/dist/extensions/tools/executors/editor.d.ts +68 -0
  146. package/dist/extensions/tools/executors/file-locks.d.ts +41 -0
  147. package/dist/extensions/tools/executors/file-read.d.ts +136 -0
  148. package/dist/extensions/tools/executors/grep.d.ts +35 -0
  149. package/dist/extensions/tools/executors/index.d.ts +97 -0
  150. package/dist/extensions/tools/executors/line-endings.d.ts +23 -0
  151. package/dist/extensions/tools/executors/output-limits.d.ts +58 -0
  152. package/dist/extensions/tools/executors/overlay-receipts.d.ts +25 -0
  153. package/dist/extensions/tools/executors/posix-regex.d.ts +52 -0
  154. package/dist/extensions/tools/executors/read-receipts.d.ts +93 -0
  155. package/dist/extensions/tools/executors/run-command-execution-controller.d.ts +16 -0
  156. package/dist/extensions/tools/executors/search.d.ts +50 -0
  157. package/dist/extensions/tools/executors/sed.d.ts +92 -0
  158. package/dist/extensions/tools/executors/unchanged-reads.d.ts +55 -0
  159. package/dist/extensions/tools/executors/web-fetch.d.ts +58 -0
  160. package/dist/extensions/tools/helpers.d.ts +59 -0
  161. package/dist/extensions/tools/image-edit.d.ts +76 -0
  162. package/dist/extensions/tools/image-generation.d.ts +183 -0
  163. package/dist/extensions/tools/index.d.ts +68 -0
  164. package/dist/extensions/tools/jev.d.ts +336 -0
  165. package/dist/extensions/tools/list-files.d.ts +128 -0
  166. package/dist/extensions/tools/media-endpoint.d.ts +160 -0
  167. package/dist/extensions/tools/media-tools.d.ts +140 -0
  168. package/dist/extensions/tools/model-tool-routing.d.ts +33 -0
  169. package/dist/extensions/tools/presets.d.ts +154 -0
  170. package/dist/extensions/tools/qa-credentials.d.ts +133 -0
  171. package/dist/extensions/tools/runtime.d.ts +39 -0
  172. package/dist/extensions/tools/schemas.d.ts +845 -0
  173. package/dist/extensions/tools/task-progress.d.ts +217 -0
  174. package/dist/extensions/tools/team/agent-admission.d.ts +127 -0
  175. package/dist/extensions/tools/team/agent-check.d.ts +152 -0
  176. package/dist/extensions/tools/team/agent-controls.d.ts +55 -0
  177. package/dist/extensions/tools/team/agent-file.d.ts +28 -0
  178. package/dist/extensions/tools/team/agent-iteration-cap.d.ts +328 -0
  179. package/dist/extensions/tools/team/agent-names.d.ts +29 -0
  180. package/dist/extensions/tools/team/agent-node-placement.d.ts +160 -0
  181. package/dist/extensions/tools/team/agent-placement-queue.d.ts +199 -0
  182. package/dist/extensions/tools/team/agent-placement.d.ts +118 -0
  183. package/dist/extensions/tools/team/agent-reports.d.ts +53 -0
  184. package/dist/extensions/tools/team/agent-rounds.d.ts +666 -0
  185. package/dist/extensions/tools/team/agent-sandbox-executors.d.ts +79 -0
  186. package/dist/extensions/tools/team/agent-slot-gate.d.ts +186 -0
  187. package/dist/extensions/tools/team/agent-status.d.ts +84 -0
  188. package/dist/extensions/tools/team/agent-trouble.d.ts +91 -0
  189. package/dist/extensions/tools/team/background-delegations.d.ts +106 -0
  190. package/dist/extensions/tools/team/batch-report.d.ts +151 -0
  191. package/dist/extensions/tools/team/configured-agent-config.d.ts +37 -0
  192. package/dist/extensions/tools/team/configured-agent-tool.d.ts +135 -0
  193. package/dist/extensions/tools/team/create-agent-tool.d.ts +45 -0
  194. package/dist/extensions/tools/team/delegate-to-agent.d.ts +105 -0
  195. package/dist/extensions/tools/team/delegated-agent.d.ts +272 -0
  196. package/dist/extensions/tools/team/delegated-sandboxes.d.ts +125 -0
  197. package/dist/extensions/tools/team/delegated-tools.d.ts +40 -0
  198. package/dist/extensions/tools/team/delegation-call-hooks.d.ts +30 -0
  199. package/dist/extensions/tools/team/engine-evictions.d.ts +38 -0
  200. package/dist/extensions/tools/team/index.d.ts +20 -0
  201. package/dist/extensions/tools/team/lead-agent-tools.d.ts +92 -0
  202. package/dist/extensions/tools/team/multi-agent.d.ts +364 -0
  203. package/dist/extensions/tools/team/node-reachability.d.ts +53 -0
  204. package/dist/extensions/tools/team/node-throughput.d.ts +40 -0
  205. package/dist/extensions/tools/team/placed-run.d.ts +114 -0
  206. package/dist/extensions/tools/team/projections.d.ts +8 -0
  207. package/dist/extensions/tools/team/runtime.d.ts +6 -0
  208. package/dist/extensions/tools/team/session-window-retry.d.ts +28 -0
  209. package/dist/extensions/tools/team/spawn-agent-tool.d.ts +450 -0
  210. package/dist/extensions/tools/team/spawn-sampling.d.ts +188 -0
  211. package/dist/extensions/tools/team/spawn-swarm-tool.d.ts +330 -0
  212. package/dist/extensions/tools/team/subagent-cancellation.d.ts +188 -0
  213. package/dist/extensions/tools/team/subagent-layout.d.ts +90 -0
  214. package/dist/extensions/tools/team/subagent-output.d.ts +73 -0
  215. package/dist/extensions/tools/team/subagent-progress.d.ts +211 -0
  216. package/dist/extensions/tools/team/subagent-prompts.d.ts +3 -0
  217. package/dist/extensions/tools/team/team-state-dates.d.ts +10 -0
  218. package/dist/extensions/tools/team/team-tools.d.ts +56 -0
  219. package/dist/extensions/tools/team/teammates-off.d.ts +14 -0
  220. package/dist/extensions/tools/team/token-split.d.ts +28 -0
  221. package/dist/extensions/tools/team/turn-fault-recovery.d.ts +71 -0
  222. package/dist/extensions/tools/types.d.ts +410 -0
  223. package/dist/extensions/tools/video-generation.d.ts +94 -0
  224. package/dist/hooks/checkpoint-hooks.d.ts +39 -0
  225. package/dist/hooks/hook-extension.d.ts +2 -0
  226. package/dist/hooks/hook-file-config.d.ts +24 -0
  227. package/dist/hooks/hook-file-hooks.d.ts +22 -0
  228. package/dist/hooks/index.d.ts +5 -0
  229. package/dist/hooks/subprocess-runner.d.ts +21 -0
  230. package/dist/hooks/subprocess.d.ts +74 -0
  231. package/dist/hub/client/connect.d.ts +14 -0
  232. package/dist/hub/client/index.d.ts +146 -0
  233. package/dist/hub/client/managed-hub-build-watcher.d.ts +62 -0
  234. package/dist/hub/client/session-client.d.ts +138 -0
  235. package/dist/hub/client/ui-client.d.ts +52 -0
  236. package/dist/hub/daemon/entry.d.ts +15 -0
  237. package/dist/hub/daemon/entry.js +2033 -0
  238. package/dist/hub/daemon/index.d.ts +125 -0
  239. package/dist/hub/daemon/runtime-handlers.d.ts +12 -0
  240. package/dist/hub/daemon/shutdown-coordinator.d.ts +31 -0
  241. package/dist/hub/daemon/start-shared-server.d.ts +18 -0
  242. package/dist/hub/daemon/telemetry.d.ts +19 -0
  243. package/dist/hub/discovery/defaults.d.ts +16 -0
  244. package/dist/hub/discovery/index.d.ts +139 -0
  245. package/dist/hub/discovery/instance-lock.d.ts +51 -0
  246. package/dist/hub/discovery/workspace.d.ts +13 -0
  247. package/dist/hub/index.d.ts +38 -0
  248. package/dist/hub/index.js +2023 -0
  249. package/dist/hub/runtime-host/hub-runtime-host.d.ts +83 -0
  250. package/dist/hub/runtime-host/remote-runtime-host.d.ts +9 -0
  251. package/dist/hub/server/browser-websocket.d.ts +22 -0
  252. package/dist/hub/server/command-transport.d.ts +29 -0
  253. package/dist/hub/server/handlers/approval-handlers.d.ts +24 -0
  254. package/dist/hub/server/handlers/capability-handlers.d.ts +12 -0
  255. package/dist/hub/server/handlers/client-handlers.d.ts +6 -0
  256. package/dist/hub/server/handlers/connector-handlers.d.ts +20 -0
  257. package/dist/hub/server/handlers/context.d.ts +98 -0
  258. package/dist/hub/server/handlers/run-handlers.d.ts +6 -0
  259. package/dist/hub/server/handlers/run-queue-handlers.d.ts +33 -0
  260. package/dist/hub/server/handlers/session-event-projector.d.ts +7 -0
  261. package/dist/hub/server/handlers/session-handlers.d.ts +30 -0
  262. package/dist/hub/server/hub-client-contributions.d.ts +19 -0
  263. package/dist/hub/server/hub-event-log.d.ts +57 -0
  264. package/dist/hub/server/hub-notifications.d.ts +7 -0
  265. package/dist/hub/server/hub-run-queue.d.ts +82 -0
  266. package/dist/hub/server/hub-schedule-events.d.ts +2 -0
  267. package/dist/hub/server/hub-server-logging.d.ts +2 -0
  268. package/dist/hub/server/hub-server-options.d.ts +94 -0
  269. package/dist/hub/server/hub-server-transport.d.ts +71 -0
  270. package/dist/hub/server/hub-session-records.d.ts +9 -0
  271. package/dist/hub/server/hub-websocket-server.d.ts +12 -0
  272. package/dist/hub/server/index.d.ts +4 -0
  273. package/dist/hub/server/native-transport.d.ts +25 -0
  274. package/dist/hub/server/task-command-service.d.ts +11 -0
  275. package/dist/index.d.ts +172 -0
  276. package/dist/index.js +5435 -0
  277. package/dist/logging/early-logger.d.ts +37 -0
  278. package/dist/remote-config/integration.d.ts +17 -0
  279. package/dist/runtime/atomic/base-revision-reads.d.ts +106 -0
  280. package/dist/runtime/atomic/base-revision.d.ts +77 -0
  281. package/dist/runtime/atomic/check-first-edits.d.ts +79 -0
  282. package/dist/runtime/atomic/file-revisions.d.ts +268 -0
  283. package/dist/runtime/atomic/oracle.d.ts +178 -0
  284. package/dist/runtime/atomic/page-check.d.ts +39 -0
  285. package/dist/runtime/atomic/plan-capture.d.ts +40 -0
  286. package/dist/runtime/atomic/plan-text.d.ts +33 -0
  287. package/dist/runtime/atomic/plan-tool.d.ts +159 -0
  288. package/dist/runtime/atomic/proposal.d.ts +112 -0
  289. package/dist/runtime/atomic/propose-check-tool.d.ts +76 -0
  290. package/dist/runtime/atomic/protocol.d.ts +233 -0
  291. package/dist/runtime/atomic/restore-file-tool.d.ts +196 -0
  292. package/dist/runtime/atomic/revision-capture.d.ts +75 -0
  293. package/dist/runtime/atomic/run-check-tool.d.ts +64 -0
  294. package/dist/runtime/atomic/session-protocol.d.ts +304 -0
  295. package/dist/runtime/atomic/session-revisions.d.ts +77 -0
  296. package/dist/runtime/atomic/snapshot.d.ts +77 -0
  297. package/dist/runtime/atomic/stalled-checks.d.ts +106 -0
  298. package/dist/runtime/atomic/submit-transaction-tool.d.ts +50 -0
  299. package/dist/runtime/atomic/tool-activity.d.ts +15 -0
  300. package/dist/runtime/atomic/transaction-controller.d.ts +364 -0
  301. package/dist/runtime/atomic/unparseable-change.d.ts +35 -0
  302. package/dist/runtime/capabilities/index.d.ts +2 -0
  303. package/dist/runtime/capabilities/normalize-runtime-capabilities.d.ts +2 -0
  304. package/dist/runtime/capabilities/runtime-capabilities.d.ts +18 -0
  305. package/dist/runtime/config/agent-message-codec.d.ts +6 -0
  306. package/dist/runtime/config/agent-runtime-config-builder.d.ts +93 -0
  307. package/dist/runtime/config/connection-update.d.ts +40 -0
  308. package/dist/runtime/escalation/a2a.d.ts +109 -0
  309. package/dist/runtime/escalation/assessment.d.ts +54 -0
  310. package/dist/runtime/escalation/brief.d.ts +70 -0
  311. package/dist/runtime/escalation/escalate-tool.d.ts +93 -0
  312. package/dist/runtime/escalation/escalation-controller.d.ts +62 -0
  313. package/dist/runtime/escalation/escalation-session.d.ts +241 -0
  314. package/dist/runtime/escalation/expert-failure.d.ts +20 -0
  315. package/dist/runtime/escalation/expert-guards.d.ts +46 -0
  316. package/dist/runtime/escalation/expert-mailbox.d.ts +34 -0
  317. package/dist/runtime/escalation/expert-notes.d.ts +115 -0
  318. package/dist/runtime/escalation/expert-prompt.d.ts +29 -0
  319. package/dist/runtime/escalation/expert-revisions.d.ts +62 -0
  320. package/dist/runtime/escalation/expert-session.d.ts +164 -0
  321. package/dist/runtime/escalation/expert-transcript.d.ts +32 -0
  322. package/dist/runtime/escalation/forced-escalation.d.ts +58 -0
  323. package/dist/runtime/escalation/stand-down.d.ts +66 -0
  324. package/dist/runtime/escalation/struggle-offer.d.ts +100 -0
  325. package/dist/runtime/escalation/watch-tool.d.ts +34 -0
  326. package/dist/runtime/host/history.d.ts +19 -0
  327. package/dist/runtime/host/host.d.ts +7 -0
  328. package/dist/runtime/host/local/agent-event-bridge.d.ts +50 -0
  329. package/dist/runtime/host/local/session-record.d.ts +6 -0
  330. package/dist/runtime/host/local/session-service-invoker.d.ts +4 -0
  331. package/dist/runtime/host/local/spawn-tool.d.ts +57 -0
  332. package/dist/runtime/host/local/user-files.d.ts +1 -0
  333. package/dist/runtime/host/local-runtime-host.d.ts +298 -0
  334. package/dist/runtime/host/runtime-host-support.d.ts +39 -0
  335. package/dist/runtime/host/runtime-host.d.ts +280 -0
  336. package/dist/runtime/host/steer-side-turn.d.ts +119 -0
  337. package/dist/runtime/orchestration/runtime-builder.d.ts +14 -0
  338. package/dist/runtime/orchestration/runtime-event-adapter.d.ts +104 -0
  339. package/dist/runtime/orchestration/runtime-oauth-token-manager.d.ts +28 -0
  340. package/dist/runtime/orchestration/session-runtime-orchestrator.d.ts +339 -0
  341. package/dist/runtime/orchestration/session-runtime.d.ts +118 -0
  342. package/dist/runtime/orchestration/user-input-builder.d.ts +15 -0
  343. package/dist/runtime/process-start-token.d.ts +23 -0
  344. package/dist/runtime/safety/loop-detection.d.ts +160 -0
  345. package/dist/runtime/safety/mistake-tracker.d.ts +84 -0
  346. package/dist/runtime/safety/rules.d.ts +6 -0
  347. package/dist/runtime/safety/struggle-detector.d.ts +414 -0
  348. package/dist/runtime/safety/worker-struggle-stop.d.ts +20 -0
  349. package/dist/runtime/safety/worker-struggle.d.ts +166 -0
  350. package/dist/runtime/sandbox/agent-sandbox.d.ts +111 -0
  351. package/dist/runtime/sandbox/overlay-fs.d.ts +71 -0
  352. package/dist/runtime/sandbox/sandbox-binaries.d.ts +10 -0
  353. package/dist/runtime/tools/subprocess-sandbox-lifecycle.d.ts +9 -0
  354. package/dist/runtime/tools/subprocess-sandbox.d.ts +62 -0
  355. package/dist/runtime/tools/tool-approval.d.ts +9 -0
  356. package/dist/runtime/turn-queue/harness-notes.d.ts +18 -0
  357. package/dist/runtime/turn-queue/pending-prompt-service.d.ts +117 -0
  358. package/dist/services/agent-events.d.ts +59 -0
  359. package/dist/services/config.d.ts +2 -0
  360. package/dist/services/connectors/active-connectors.d.ts +2 -0
  361. package/dist/services/connectors/connector-autostart.d.ts +33 -0
  362. package/dist/services/connectors/connector-child-env.d.ts +14 -0
  363. package/dist/services/connectors/connector-cleanup.d.ts +20 -0
  364. package/dist/services/connectors/connector-supervisor.d.ts +134 -0
  365. package/dist/services/connectors/daemon-connector-reconnect.d.ts +15 -0
  366. package/dist/services/feature-flags/FeatureFlagsService.d.ts +49 -0
  367. package/dist/services/feature-flags/index.d.ts +2 -0
  368. package/dist/services/feature-flags/posthog.d.ts +24 -0
  369. package/dist/services/feature-flags/posthog.js +1 -0
  370. package/dist/services/feature-flags/providers.d.ts +7 -0
  371. package/dist/services/global-settings.d.ts +113 -0
  372. package/dist/services/llms/apihandler-agent-model-adapter.d.ts +26 -0
  373. package/dist/services/llms/cline-recommended-models.d.ts +62 -0
  374. package/dist/services/llms/configured-provider-registry.d.ts +27 -0
  375. package/dist/services/llms/handler-factory.d.ts +23 -0
  376. package/dist/services/llms/provider-defaults.d.ts +36 -0
  377. package/dist/services/llms/provider-settings.d.ts +420 -0
  378. package/dist/services/llms/runtime-config.d.ts +3 -0
  379. package/dist/services/llms/runtime-registry.d.ts +19 -0
  380. package/dist/services/llms/runtime-types.d.ts +84 -0
  381. package/dist/services/llms/session-budget.d.ts +88 -0
  382. package/dist/services/local-runtime-bootstrap.d.ts +62 -0
  383. package/dist/services/marketplace.d.ts +41 -0
  384. package/dist/services/mcp-install.d.ts +35 -0
  385. package/dist/services/plugin-install.d.ts +52 -0
  386. package/dist/services/plugin-mcp-settings.d.ts +31 -0
  387. package/dist/services/plugin-tools.d.ts +40 -0
  388. package/dist/services/plugin-uninstall.d.ts +13 -0
  389. package/dist/services/providers/local-provider-registry.d.ts +354 -0
  390. package/dist/services/providers/local-provider-service.d.ts +101 -0
  391. package/dist/services/providers/model-source.d.ts +3 -0
  392. package/dist/services/providers/provider-config-fields.d.ts +37 -0
  393. package/dist/services/providers/provider-readiness.d.ts +10 -0
  394. package/dist/services/session-artifacts.d.ts +18 -0
  395. package/dist/services/session-data.d.ts +61 -0
  396. package/dist/services/session-import/claude-code.d.ts +16 -0
  397. package/dist/services/session-import/codex.d.ts +34 -0
  398. package/dist/services/session-import/index.d.ts +6 -0
  399. package/dist/services/session-import/opencode.d.ts +25 -0
  400. package/dist/services/session-import/sanitize.d.ts +16 -0
  401. package/dist/services/session-import/service.d.ts +31 -0
  402. package/dist/services/session-import/types.d.ts +87 -0
  403. package/dist/services/session-telemetry.d.ts +15 -0
  404. package/dist/services/storage/file-team-store.d.ts +32 -0
  405. package/dist/services/storage/provider-settings-legacy-migration.d.ts +38 -0
  406. package/dist/services/storage/provider-settings-manager.d.ts +31 -0
  407. package/dist/services/storage/sqlite-session-store.d.ts +35 -0
  408. package/dist/services/storage/sqlite-team-store.d.ts +42 -0
  409. package/dist/services/storage/team-events-retention.d.ts +25 -0
  410. package/dist/services/storage/team-store.d.ts +16 -0
  411. package/dist/services/telemetry/ITelemetryAdapter.d.ts +54 -0
  412. package/dist/services/telemetry/OpenTelemetryAdapter.d.ts +43 -0
  413. package/dist/services/telemetry/OpenTelemetryProvider.d.ts +99 -0
  414. package/dist/services/telemetry/TelemetryLoggerSink.d.ts +27 -0
  415. package/dist/services/telemetry/TelemetryService.d.ts +40 -0
  416. package/dist/services/telemetry/core-events.d.ts +396 -0
  417. package/dist/services/telemetry/distinct-id.d.ts +2 -0
  418. package/dist/services/telemetry/index.d.ts +4 -0
  419. package/dist/services/telemetry/index.js +1 -0
  420. package/dist/services/usage.d.ts +19 -0
  421. package/dist/services/workspace/agent-schedules-workspace.d.ts +8 -0
  422. package/dist/services/workspace/chat-workspace.d.ts +9 -0
  423. package/dist/services/workspace/file-indexer.d.ts +5 -0
  424. package/dist/services/workspace/index.d.ts +6 -0
  425. package/dist/services/workspace/mention-enricher.d.ts +13 -0
  426. package/dist/services/workspace/workspace-manager.d.ts +27 -0
  427. package/dist/services/workspace/workspace-manifest.d.ts +42 -0
  428. package/dist/services/workspace/workspace-telemetry.d.ts +18 -0
  429. package/dist/session/checkpoint-diff.d.ts +25 -0
  430. package/dist/session/checkpoint-restore.d.ts +34 -0
  431. package/dist/session/display-messages.d.ts +28 -0
  432. package/dist/session/history-origin.d.ts +19 -0
  433. package/dist/session/models/session-compaction.d.ts +22 -0
  434. package/dist/session/models/session-graph.d.ts +15 -0
  435. package/dist/session/models/session-manifest.d.ts +32 -0
  436. package/dist/session/models/session-row.d.ts +107 -0
  437. package/dist/session/persisted-tool-result-content.d.ts +8 -0
  438. package/dist/session/search/index.d.ts +1 -0
  439. package/dist/session/search/session-history-search.d.ts +51 -0
  440. package/dist/session/services/file-session-service.d.ts +10 -0
  441. package/dist/session/services/message-builder.d.ts +208 -0
  442. package/dist/session/services/persistence-service.d.ts +92 -0
  443. package/dist/session/services/read-overlap.d.ts +40 -0
  444. package/dist/session/services/session-service.d.ts +15 -0
  445. package/dist/session/session-snapshot.d.ts +59 -0
  446. package/dist/session/session-versioning-service.d.ts +50 -0
  447. package/dist/session/stores/atomic-file.d.ts +1 -0
  448. package/dist/session/stores/conversation-store.d.ts +29 -0
  449. package/dist/session/stores/session-manifest-store.d.ts +49 -0
  450. package/dist/session/stores/team-persistence-store.d.ts +23 -0
  451. package/dist/session/team/index.d.ts +2 -0
  452. package/dist/session/team/team-child-session-manager.d.ts +35 -0
  453. package/dist/session/team/team-session-coordinator.d.ts +13 -0
  454. package/dist/session/user-run-messages.d.ts +20 -0
  455. package/dist/settings/index.d.ts +2 -0
  456. package/dist/settings/settings-service.d.ts +8 -0
  457. package/dist/settings/types.d.ts +83 -0
  458. package/dist/tasks/agenda-task-api.d.ts +20 -0
  459. package/dist/tasks/agenda-task-manager.d.ts +109 -0
  460. package/dist/tasks/agenda-task-tool.d.ts +94 -0
  461. package/dist/tasks/index.d.ts +9 -0
  462. package/dist/tasks/specs/task-spec-file-store.d.ts +38 -0
  463. package/dist/tasks/specs/task-spec-parser.d.ts +65 -0
  464. package/dist/tasks/store/sqlite-task-store.d.ts +73 -0
  465. package/dist/tasks/store/task-schema.d.ts +2 -0
  466. package/dist/tasks/task-location.d.ts +14 -0
  467. package/dist/tasks/task-tool.d.ts +143 -0
  468. package/dist/types/chat-schema.d.ts +194 -0
  469. package/dist/types/common.d.ts +35 -0
  470. package/dist/types/config.d.ts +994 -0
  471. package/dist/types/events.d.ts +102 -0
  472. package/dist/types/provider-settings.d.ts +29 -0
  473. package/dist/types/session.d.ts +187 -0
  474. package/dist/types/sessions.d.ts +42 -0
  475. package/dist/types/storage.d.ts +36 -0
  476. package/dist/types.d.ts +34 -0
  477. package/dist/version.d.ts +1 -0
  478. package/package.json +98 -0
  479. package/scripts/document-reader-assets.mjs +161 -0
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Document Extract Executor
3
+ *
4
+ * Turns a document (PDF, Office old and new, OpenDocument, RTF, ebooks) into
5
+ * markdown or plain text, and writes the pictures inside it out as files.
6
+ * Pure JavaScript and WebAssembly only: it runs in the extension and the CLI
7
+ * alike, with no converter installed on the machine.
8
+ */
9
+ import type { AgentOverlay } from "../../../runtime/sandbox/overlay-fs";
10
+ import type { ExtractDocumentExecutor } from "../types";
11
+ import type { DocumentReaderSettings } from "./document/ocr";
12
+ import { type DescribeImages } from "./document/recognition";
13
+ /** Where extractions go when the call names no `output_dir`. */
14
+ export declare const DEFAULT_EXTRACTION_DIR: string;
15
+ export interface DocumentExtractExecutorOptions {
16
+ /** The workspace; relative paths resolve against it and output stays in it. */
17
+ cwd?: string;
18
+ /** A delegated agent's overlay: reads fall through, writes stay private. */
19
+ overlay?: AgentOverlay;
20
+ /** @default 200 MB */
21
+ maxFileSizeBytes?: number;
22
+ /** The user's Document Reader settings: how scanned pages are read, and descriptions. */
23
+ reader?: DocumentReaderSettings;
24
+ /**
25
+ * The session's vision model (the Vision tab, or the CLI's
26
+ * `--vision-model`), when there is one: it reads scanned pages for
27
+ * `ocr: "vision"` and describes pictures.
28
+ */
29
+ describeImages?: DescribeImages;
30
+ }
31
+ /**
32
+ * The executor options a session's configuration gives the tool: the user's
33
+ * settings and the session's vision model. The same for the lead and every
34
+ * agent it delegates to, so a delegated agent reads a scan the way the lead
35
+ * would.
36
+ */
37
+ export declare function documentReaderExecutorOptions(config: {
38
+ enableExtractDocument?: boolean;
39
+ documentReader?: DocumentReaderSettings;
40
+ describeImages?: DescribeImages;
41
+ }): DocumentExtractExecutorOptions | undefined;
42
+ /**
43
+ * Markdown as plain text: the words, without the markup.
44
+ *
45
+ * Pictures stay as a bracketed file name, because the file is where the
46
+ * picture went and the text around it may refer to it.
47
+ */
48
+ export declare function markdownToText(markdown: string): string;
49
+ /**
50
+ * The same tidy for every reader's markdown: heading ids (`{#intro}`), lines
51
+ * holding only indentation, and runs of blank lines. None of it is content,
52
+ * and all of it is tokens.
53
+ */
54
+ export declare function tidyMarkdown(markdown: string): string;
55
+ export declare function createDocumentExtractExecutor(options?: DocumentExtractExecutorOptions): ExtractDocumentExecutor;
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Editor Executor
3
+ *
4
+ * Built-in implementation for filesystem editing operations.
5
+ */
6
+ import type { AgentOverlay } from "../../../runtime/sandbox/overlay-fs";
7
+ import type { EditorExecutor } from "../types";
8
+ import { type ReadReceipts } from "./read-receipts";
9
+ /**
10
+ * Options for the editor executor
11
+ */
12
+ export interface EditorExecutorOptions {
13
+ /**
14
+ * File encoding used for read/write operations
15
+ * @default "utf-8"
16
+ */
17
+ encoding?: BufferEncoding;
18
+ /**
19
+ * Restrict relative-path file operations to paths inside cwd.
20
+ * Absolute paths are always accepted as-is.
21
+ * @default true
22
+ */
23
+ restrictToCwd?: boolean;
24
+ /**
25
+ * Maximum number of diff lines in str_replace output
26
+ * @default 200
27
+ */
28
+ maxDiffLines?: number;
29
+ /**
30
+ * Shared record of what has been read, used to refuse an edit aimed at
31
+ * lines the model has never seen.
32
+ *
33
+ * Optional, and the guard is off when it is absent: an executor built on
34
+ * its own has no reader to pair with, and failing every edit would be the
35
+ * wrong default for an embedder wiring the tools up one at a time.
36
+ */
37
+ receipts?: ReadReceipts;
38
+ /**
39
+ * A delegated agent's private overlay. When present every path is resolved
40
+ * through it: edits copy the workspace file up and write the agent's copy,
41
+ * so the lead's tree is never touched. Absent for the lead itself.
42
+ */
43
+ overlay?: AgentOverlay;
44
+ }
45
+ /**
46
+ * Marker that opens every "this edit asks for nothing" refusal.
47
+ *
48
+ * Imported rather than copied wherever the outcome has to be recognised, so the
49
+ * detector cannot drift from the message. The loop tracker uses it: a call the
50
+ * tool has compared against the file and found identical is the one kind of
51
+ * failure that provably cannot succeed on a retry.
52
+ */
53
+ export declare const NO_CHANGE_ERROR_PREFIX = "No change: ";
54
+ /**
55
+ * Marker that opens every "this replacement would duplicate" refusal.
56
+ *
57
+ * The same kind of outcome as `NO_CHANGE_ERROR_PREFIX` and recognised the same
58
+ * way: both are reached by comparing the payload against the file, so both are
59
+ * answerable in advance for an identical retry. Only the no-op one was marked,
60
+ * which is why a duplicating edit took the ordinary six-strike ladder --
61
+ * measured live, the same 4,991-character replacement at line 84 seven times
62
+ * before the run was stopped.
63
+ */
64
+ export declare const DUPLICATED_RANGE_ERROR_PREFIX = "Duplicated instead of replaced: ";
65
+ /**
66
+ * Create an editor executor using Node.js fs module
67
+ */
68
+ export declare function createEditorExecutor(options?: EditorExecutorOptions): EditorExecutor;
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Serialise this process's own access to a file.
3
+ *
4
+ * There was no locking of any kind before this: `editor`, `sed -i` and the
5
+ * snapshot engine all called `fs.writeFile` directly, and `read_files` read
6
+ * directly. Two agents running in parallel could interleave anywhere, and the
7
+ * shape of the damage is not a torn byte — it is a lost update:
8
+ *
9
+ * A reads the file (100 lines)
10
+ * B reads the file (100 lines)
11
+ * A writes its edit (101 lines)
12
+ * B writes its edit (101 lines, built from what it read before A wrote)
13
+ *
14
+ * B's write is complete and well-formed and silently contains none of A's work.
15
+ * Nothing reports it, because nothing failed. An edit is a read-modify-write
16
+ * and its three steps have to be one step with respect to other writers, which
17
+ * is what this does.
18
+ *
19
+ * **In-process only, and that bound is the honest part.** A lock held in a Map
20
+ * says nothing to a second VS Code window, a `git` process, or the user's own
21
+ * editor. Those are caught after the fact by the file stamps in
22
+ * `read-receipts.ts` — the model is told its view is stale and made to look
23
+ * again — which is detection rather than exclusion. The two are complementary
24
+ * and neither replaces the other: this one prevents the race it can see, the
25
+ * stamps notice the one it cannot.
26
+ *
27
+ * **Why not an OS lock.** An advisory lock file would cover the cross-process
28
+ * case, and it brings the problem it is famous for: a crashed holder leaves a
29
+ * lock nobody will ever release, so it needs staleness detection, which needs a
30
+ * timeout, which is a guess that either deadlocks a slow write or breaks a
31
+ * correct one. The parallel agents this repository actually runs are in one
32
+ * process. The cross-process case is rarer, already detected, and not worth
33
+ * buying a class of hang for.
34
+ *
35
+ * Fair and FIFO: waiters are served in arrival order, because the chain is a
36
+ * promise chain. A lock is released even when the work throws — the failure
37
+ * path is the one where holding a lock forever would be worst.
38
+ */
39
+ export declare function withFileLock<T>(filePath: string, run: () => Promise<T>): Promise<T>;
40
+ /** Whether anything is queued for this path. For tests and diagnostics. */
41
+ export declare function isFileLocked(filePath: string): boolean;
@@ -0,0 +1,136 @@
1
+ /**
2
+ * File Read Executor
3
+ *
4
+ * Built-in implementation for reading files using Node.js fs module.
5
+ */
6
+ import type { AgentOverlay } from "../../../runtime/sandbox/overlay-fs";
7
+ import type { FileReadExecutor } from "../types";
8
+ import { type ReadReceipts } from "./read-receipts";
9
+ import type { ReadLedger } from "./unchanged-reads";
10
+ /**
11
+ * Options for the file read executor
12
+ */
13
+ export interface FileReadExecutorOptions {
14
+ /**
15
+ * Characters past which a read window is refused instead of returned.
16
+ * Defaults to {@link MAX_READ_REFUSAL_CHARS}. Raised by tests that need to
17
+ * exercise the windowing and line-counting paths, which still run for every
18
+ * read that fits.
19
+ */
20
+ maxReadChars?: number;
21
+ /**
22
+ * Ledger of what has already been returned, so an unchanged re-read can be
23
+ * answered with a pointer instead of a second copy. Omit and every read
24
+ * returns the content, which is the behaviour this had before.
25
+ */
26
+ readLedger?: ReadLedger;
27
+ /**
28
+ * Maximum file size to read in bytes
29
+ * @default 10_000_000 (10MB)
30
+ */
31
+ maxFileSizeBytes?: number;
32
+ /**
33
+ * File encoding
34
+ * @default "utf-8"
35
+ */
36
+ encoding?: BufferEncoding;
37
+ /**
38
+ * Whether to include line numbers in output
39
+ * @default false
40
+ */
41
+ includeLineNumbers?: boolean;
42
+ /**
43
+ * The directory a relative path is resolved against.
44
+ *
45
+ * The workspace, not the process. These are the same thing only when the
46
+ * agent was launched from the directory it is working in, and in the two
47
+ * hosts that matter they are not: the extension host's `process.cwd()` is
48
+ * wherever VS Code was started, and the CLI takes its workspace as `--cwd`
49
+ * while running from wherever the shell was.
50
+ *
51
+ * Measured on a harness run started one directory above its workspace: a
52
+ * model that sends bare filenames -- `manic_miner.html` rather than the
53
+ * full path -- had 56 reads land in the parent and fail with ENOENT, then
54
+ * 19 edits refused because the file it was editing had never been read,
55
+ * then the loop guard stopped the run six times over. Three hours, four
56
+ * applied edits. Five earlier runs on a different model never saw it, for
57
+ * the single reason that that model always sent absolute paths.
58
+ *
59
+ * Falls back to `process.cwd()`, which is what this did unconditionally
60
+ * before, so an embedder that wires the executor up alone is unaffected.
61
+ */
62
+ cwd?: string;
63
+ /**
64
+ * Shared record of what has been read. Paired with the same object on the
65
+ * editor executor, this is what lets an edit require a prior read.
66
+ */
67
+ receipts?: ReadReceipts;
68
+ /**
69
+ * A delegated agent's private overlay. When present, a read resolves through
70
+ * it: the agent's own version if it wrote one, otherwise the lead's, and a
71
+ * file the agent deleted reads as absent.
72
+ */
73
+ overlay?: AgentOverlay;
74
+ /**
75
+ * Whether `extract_document` is offered beside this reader. A binary
76
+ * document (PDF, Office, OpenDocument, ebook) is never returned as text;
77
+ * this decides whether the explanation points at the tool or at the
78
+ * setting that turns it on.
79
+ */
80
+ documentReader?: boolean;
81
+ }
82
+ /** A read's text together with the line span it actually returned. */
83
+ /**
84
+ * Where a read's lines come from.
85
+ *
86
+ * A path, for every read but one: the change protocol serves `revision:
87
+ * "base"` out of the transaction's snapshot, which is held in memory and has
88
+ * no path to stream from. Both go through the same windowing, so a base read
89
+ * is capped, numbered and reported exactly like the working read it exists to
90
+ * be compared against — a base revision that paginated differently would be
91
+ * unreadable next to the file it is a revision of.
92
+ */
93
+ export type ReadTextSource = {
94
+ readonly kind: "file";
95
+ readonly path: string;
96
+ } | {
97
+ readonly kind: "text";
98
+ readonly text: string;
99
+ };
100
+ export interface ReadWindow {
101
+ text: string;
102
+ firstLine: number;
103
+ lastLine: number;
104
+ }
105
+ /**
106
+ * Create a file read executor using Node.js fs module
107
+ *
108
+ * @example
109
+ * ```typescript
110
+ * const readFile = createFileReadExecutor({
111
+ * maxFileSizeBytes: 5_000_000, // 5MB limit
112
+ * includeLineNumbers: true,
113
+ * })
114
+ *
115
+ * const content = await readFile({ path: "/path/to/file.ts" }, context)
116
+ * ```
117
+ */
118
+ export declare function createFileReadExecutor(options?: FileReadExecutorOptions): FileReadExecutor;
119
+ /**
120
+ * Window a string exactly as a read of the same file on disk would.
121
+ *
122
+ * For content that has no path to stream from — the change protocol's
123
+ * transaction snapshot, which holds what each file said when the transaction
124
+ * opened. Sharing the windowing with the disk path is the whole point: a base
125
+ * revision that numbered or truncated its lines differently could not be laid
126
+ * next to the working file, which is the only reason to read one.
127
+ */
128
+ export declare function readTextWindowFromText(options: {
129
+ text: string;
130
+ includeLineNumbers?: boolean;
131
+ startLine?: number | null;
132
+ endLine?: number | null;
133
+ signal?: AbortSignal;
134
+ /** Defaults to {@link MAX_READ_REFUSAL_CHARS}, as the file executor does. */
135
+ maxReadChars?: number;
136
+ }): Promise<ReadWindow>;
@@ -0,0 +1,35 @@
1
+ import type { AgentOverlay } from "../../../runtime/sandbox/overlay-fs";
2
+ import { type ReadReceipts } from "./read-receipts";
3
+ export interface GrepInput {
4
+ pattern: string;
5
+ /** Files or directories. Defaults to the working directory. */
6
+ paths?: string[];
7
+ /** `-i` */
8
+ ignore_case?: boolean;
9
+ /** `-v` */
10
+ invert?: boolean;
11
+ /** `-F`: the pattern is literal text. */
12
+ fixed?: boolean;
13
+ /** `-w`: match whole words only. */
14
+ word?: boolean;
15
+ /** `-E`: extended regular expressions. grep defaults to basic, and so does this. */
16
+ extended?: boolean;
17
+ /** `-c`: print a count per file instead of the matching lines. */
18
+ count?: boolean;
19
+ /** `-l`: print only the names of files with a match. */
20
+ files_with_matches?: boolean;
21
+ /** `-n`: prefix each line with its number. On by default, unlike grep. */
22
+ line_numbers?: boolean;
23
+ /** `-C`: lines of context either side. */
24
+ context?: number;
25
+ /** `-m`: stop after this many matches per file. */
26
+ max_count?: number;
27
+ }
28
+ export interface GrepExecutorOptions {
29
+ cwd?: string;
30
+ receipts?: ReadReceipts;
31
+ maxOutputChars?: number;
32
+ /** A delegated agent's overlay; grep walks and reads the merged view. */
33
+ overlay?: AgentOverlay;
34
+ }
35
+ export declare function createGrepExecutor(options?: GrepExecutorOptions): (input: GrepInput, callCwd?: string) => Promise<string>;
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Built-in Executor Implementations
3
+ *
4
+ * This module provides ready-to-use implementations of the tool executors
5
+ * using Node.js built-in modules. These can be used directly or as references
6
+ * for custom implementations.
7
+ */
8
+ import type { AgentOverlay } from "../../../runtime/sandbox/overlay-fs";
9
+ import type { ToolExecutors } from "../types";
10
+ import { type ApplyPatchExecutorOptions } from "./apply-patch";
11
+ import { type AwkExecutorOptions } from "./awk";
12
+ import { type ShellExecutorOptions } from "./bash";
13
+ import { type DocumentExtractExecutorOptions } from "./document-extract";
14
+ import { type EditorExecutorOptions } from "./editor";
15
+ import { type FileReadExecutorOptions } from "./file-read";
16
+ import { type GrepExecutorOptions } from "./grep";
17
+ import { type ReadReceipts } from "./read-receipts";
18
+ import { type SearchExecutorOptions } from "./search";
19
+ import { type SedExecutorOptions } from "./sed";
20
+ import { type WebFetchExecutorOptions } from "./web-fetch";
21
+ export { type ApplyPatchExecutorOptions, computePatchChanges, createApplyPatchExecutor, type PatchFileChange, } from "./apply-patch";
22
+ export { PATCH_MARKERS, PatchActionType } from "./apply-patch-parser";
23
+ export { type AwkExecutorOptions, createAwkExecutor } from "./awk";
24
+ export { CommandExitError, createShellExecutor, type ShellExecutorOptions, } from "./bash";
25
+ export { DOCUMENT_EXTENSIONS } from "./document/formats";
26
+ export { createDocumentExtractExecutor, DEFAULT_EXTRACTION_DIR, type DocumentExtractExecutorOptions, } from "./document-extract";
27
+ export { createEditorExecutor, type EditorExecutorOptions } from "./editor";
28
+ export { createFileReadExecutor, type FileReadExecutorOptions, } from "./file-read";
29
+ export { createGrepExecutor, type GrepExecutorOptions } from "./grep";
30
+ export { createReadReceipts, type ReadReceipts } from "./read-receipts";
31
+ export { RunCommandExecutionController, type RunningCommandRegistration, } from "./run-command-execution-controller";
32
+ export { createSearchExecutor, type SearchExecutorOptions } from "./search";
33
+ export { createSedExecutor, type SedExecutorOptions } from "./sed";
34
+ export { createReadLedger, REFRESH_EVERY, type ReadLedger, } from "./unchanged-reads";
35
+ export { createWebFetchExecutor, type WebFetchExecutorOptions, } from "./web-fetch";
36
+ /**
37
+ * Options for creating default executors
38
+ */
39
+ export interface DefaultExecutorsOptions {
40
+ fileRead?: FileReadExecutorOptions;
41
+ search?: SearchExecutorOptions;
42
+ bash?: ShellExecutorOptions;
43
+ webFetch?: WebFetchExecutorOptions;
44
+ applyPatch?: ApplyPatchExecutorOptions;
45
+ editor?: EditorExecutorOptions;
46
+ grep?: GrepExecutorOptions;
47
+ sed?: SedExecutorOptions;
48
+ awk?: AwkExecutorOptions;
49
+ extractDocument?: DocumentExtractExecutorOptions;
50
+ /**
51
+ * Record of what has been read, shared by the reader and the editor.
52
+ * Supply one to observe it or to span several executor sets; omit it and
53
+ * each set gets its own, which is the right scope for a session.
54
+ */
55
+ receipts?: ReadReceipts;
56
+ /**
57
+ * A delegated agent's private overlay of the workspace. When present, every
58
+ * file executor — read, editor, apply_patch, grep, sed, awk — resolves its
59
+ * paths through it, so the agent's reads fall through to the lead's tree but
60
+ * its writes, deletes and renames stay in the overlay. Threaded here in one
61
+ * place on purpose: an executor left pointing at the real workspace is a
62
+ * silent escape, so the wiring is not left to each call site.
63
+ *
64
+ * The agent's shell commands are a separate concern: they are rooted at the
65
+ * native sandbox launcher via `bash.wrapSpawn`, and a caller that has no
66
+ * launcher for the platform withholds the shell rather than letting a command
67
+ * run against the workspace.
68
+ */
69
+ overlay?: AgentOverlay;
70
+ }
71
+ /**
72
+ * Create the default shell executor for the current platform.
73
+ *
74
+ * This is factored out from {@link createDefaultExecutors} so host integrations
75
+ * can reuse the SDK's cross-platform shell selection while supplying their own
76
+ * tool wrapper.
77
+ */
78
+ export declare function createDefaultShellExecutor(options?: ShellExecutorOptions): import("..").ShellExecutor;
79
+ /**
80
+ * Create all default executors with optional configuration
81
+ *
82
+ * @example
83
+ * ```typescript
84
+ * import { createDefaultTools, createDefaultExecutors } from "@cerebriline/core"
85
+ *
86
+ * const executors = createDefaultExecutors({
87
+ * bash: { timeoutMs: 60000 },
88
+ * search: { maxResults: 50 },
89
+ * })
90
+ *
91
+ * const tools = createDefaultTools({
92
+ * executors,
93
+ * cwd: "/path/to/project",
94
+ * })
95
+ * ```
96
+ */
97
+ export declare function createDefaultExecutors(options?: DefaultExecutorsOptions): ToolExecutors;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Line-ending helpers shared by the file-writing executors (editor,
3
+ * apply_patch). Internal to the executors.
4
+ *
5
+ * Models emit LF-only text (reads strip "\r", so they never see a file's
6
+ * CRLF endings). Existing files keep their own detected EOL, but a new file
7
+ * has no EOL to preserve: use CRLF on Windows unless the content already
8
+ * contains a "\r" and thereby chose its own endings
9
+ * (github.com/cline/cline/issues/13504). No-op on LF platforms.
10
+ */
11
+ export declare function normalizeNewFileLineEndings(content: string): string;
12
+ export type LineEnding = "\r\n" | "\n";
13
+ /**
14
+ * Returns "\r\n" if "\r\n" appears anywhere in the content, otherwise "\n" —
15
+ * including for content with no line breaks at all. Files are uniformly CRLF
16
+ * or uniformly LF in practice; the mixed case that matters is a CRLF file
17
+ * with LF-only lines inserted by earlier releases of these tools, and any
18
+ * surviving "\r\n" — wherever it sits — should pull such a file back to
19
+ * CRLF, which is why this checks for "\r\n" anywhere rather than looking at
20
+ * the first line break.
21
+ */
22
+ export declare function detectLineEnding(content: string): LineEnding;
23
+ export declare function normalizeLineEndings(text: string, eol: LineEnding): string;
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Shared caps for how much tool output may enter the conversation. Every
3
+ * character returned by an executor is re-sent to the model on each
4
+ * subsequent request, so oversized outputs cost quadratically over the
5
+ * remaining run. Limits are measured in characters (UTF-16 code units),
6
+ * which tracks token cost more closely than bytes and is what JS strings
7
+ * measure exactly. Executors enforce these caps; tool descriptions
8
+ * reference them so the model pages or narrows instead of retrying.
9
+ *
10
+ * Truncation notices always live in the preserved head/tail of an entry,
11
+ * never in the elided middle. Provider-request building may re-truncate
12
+ * long strings with its own (possibly tighter) middle-cut backstop
13
+ * (session/services/message-builder.ts); keeping the notices at the edges
14
+ * means the recovery guidance survives that cut too.
15
+ */
16
+ /** Max characters of command output kept; beyond this the middle is elided. */
17
+ export declare const MAX_COMMAND_OUTPUT_CHARS = 48000;
18
+ export declare function truncateCommandOutput(text: string, options?: {
19
+ maxChars?: number;
20
+ totalChars?: number;
21
+ }): string;
22
+ /** Max lines returned per file read when the range is larger or absent. */
23
+ export declare const MAX_READ_LINES = 2000;
24
+ /** Max characters kept per line in file reads (defangs minified files). */
25
+ export declare const MAX_LINE_CHARS = 2000;
26
+ /** Max characters returned per file read window. */
27
+ export declare const MAX_READ_OUTPUT_CHARS = 48000;
28
+ /**
29
+ * The size past which a file read is refused rather than truncated.
30
+ *
31
+ * Truncation is the wrong answer for a read. A capped read hands back part of
32
+ * a file with a notice the model routinely ignores, and it then reasons about
33
+ * the file it was given as though it were the file that exists -- editing
34
+ * against line numbers it never saw. The cost is also permanent: a tool result
35
+ * is re-sent on every subsequent request, so one oversized read is paid for by
36
+ * the whole rest of the run, which is how a transcript reaches the compaction
37
+ * trigger in twenty turns.
38
+ *
39
+ * Refusing costs one turn and produces the read the model should have made.
40
+ * The message names `start_line`/`end_line`, points at grep, and says how many
41
+ * lines *would* fit, because a refusal that does not say what to do instead is
42
+ * just a failed call — and one that does not say how much is too much makes the
43
+ * model guess, invariably downwards.
44
+ *
45
+ * 24,000 chars is roughly 6,000 tokens: about 9% of a 65,536-token window, or
46
+ * an eighth of what is left of one after the fixed price. One read that size is
47
+ * affordable; a habit of them is what compaction is for.
48
+ *
49
+ * It was 2,048 in 4.100.138, which is around fifty lines of ordinary source —
50
+ * so a whole small file was refused, and the model answered the way the message
51
+ * invited it to: by crawling the file in tiny windows. Reported the same day as
52
+ * "a huge amount of small reads". The size to refuse is the one that costs a
53
+ * meaningful share of the window for the rest of the run, not the one that is
54
+ * larger than a screenful.
55
+ */
56
+ export declare const MAX_READ_REFUSAL_CHARS = 24000;
57
+ /** Max characters returned per search query; beyond this the middle is elided. */
58
+ export declare const MAX_SEARCH_OUTPUT_CHARS = 48000;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Read receipts -- and what the agent is shown -- for a delegated agent
3
+ * working over an overlay.
4
+ *
5
+ * The agent reads a file where it currently lives -- the lead's workspace until
6
+ * the agent first writes it, its own overlay copy after -- and the editor
7
+ * checks the path it is about to write, which is always the overlay copy. Keyed
8
+ * by the raw path, the read and the edit are two different files: every first
9
+ * edit of an existing file was refused as "not read", and the refusal sent the
10
+ * agent to read the overlay path itself, a directory it was never meant to see.
11
+ *
12
+ * So every path is keyed by the workspace file it stands for, and the copy-up
13
+ * carries the read's stamp across: the copy is a new file on disk, and without
14
+ * this the stale-read guard reads its fresh mtime as someone else's write. The
15
+ * stamp moves only when the workspace file is still what the agent read -- if
16
+ * the lead changed it in between, the edit is refused as it should be.
17
+ */
18
+ import type { AgentOverlay } from "../../../runtime/sandbox/overlay-fs";
19
+ import { type ReadReceipts } from "./read-receipts";
20
+ export declare function overlayReadReceipts(receipts: ReadReceipts, overlay: AgentOverlay): ReadReceipts;
21
+ /**
22
+ * `executor`, with every path into the overlay in what it returns or throws
23
+ * rewritten to the workspace path it stands for. See {@link AgentOverlay.redact}.
24
+ */
25
+ export declare function withoutOverlayPaths<F extends (...args: never[]) => Promise<unknown>>(executor: F, overlay: AgentOverlay): F;
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Translate POSIX regular expressions into JavaScript ones.
3
+ *
4
+ * `grep`, `sed` and `awk` are being offered because a coding model already
5
+ * knows them — that is the whole reason they exist here rather than a bespoke
6
+ * search tool. Which means the *dialect* has to be the one it knows. A model
7
+ * that writes `sed 's/\(foo\)bar/\1/'` and gets a JavaScript regex error has
8
+ * learned that the tool is unreliable, and will go back to guessing with
9
+ * `editor`.
10
+ *
11
+ * Three dialects are in play and they disagree in ways that silently change
12
+ * what a pattern means, rather than failing loudly:
13
+ *
14
+ * BRE (grep, sed by default) `\(group\)` `\{2,3\}` `\|` and a literal
15
+ * `(`, `)`, `{`, `}`, `+`, `?`, `|`
16
+ * ERE (grep -E, sed -E, awk) `(group)` `{2,3}` `|` and a literal
17
+ * `\(`, `\)`
18
+ * JavaScript ERE-like, but with no POSIX classes and
19
+ * different rules for an unescaped `{`
20
+ *
21
+ * So BRE's `a+` matches "a+" literally while ERE's matches one or more "a" —
22
+ * the same three characters, two different answers, no error either way. That
23
+ * is the class of bug this module exists to prevent.
24
+ */
25
+ export interface PosixRegexOptions {
26
+ /** ERE (grep -E, sed -E, awk) rather than BRE (grep, sed). */
27
+ extended?: boolean;
28
+ /** Case-insensitive matching (`-i`, or an `I` flag on a sed `s///`). */
29
+ ignoreCase?: boolean;
30
+ /** Match whole words only (`grep -w`). */
31
+ wordBoundary?: boolean;
32
+ /** Treat the pattern as literal text (`grep -F`). */
33
+ fixed?: boolean;
34
+ /** Replace every occurrence rather than the first. */
35
+ global?: boolean;
36
+ }
37
+ /**
38
+ * Convert a POSIX pattern to JavaScript regex source.
39
+ *
40
+ * The two dialects are handled in one pass because they differ only in which
41
+ * characters carry the special meaning and which carry the literal one — in BRE
42
+ * a backslash *adds* meaning to `(){}|`, in ERE it *removes* it. Writing it
43
+ * twice would be two places for that inversion to drift.
44
+ */
45
+ export declare function posixToJsSource(pattern: string, options?: PosixRegexOptions): string;
46
+ /**
47
+ * Compile a POSIX pattern, reporting failures in the tool's own terms.
48
+ *
49
+ * A JavaScript `SyntaxError` quoting a translated pattern is unreadable to a
50
+ * model that wrote a POSIX one — it would be shown source it never typed.
51
+ */
52
+ export declare function compilePosixRegex(pattern: string, options?: PosixRegexOptions): RegExp;