@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,93 @@
1
+ /**
2
+ * What the filesystem said about a file the last time this session saw it.
3
+ *
4
+ * Size and modification time, not a content hash, and that is the deciding
5
+ * property rather than a shortcut: it costs one `stat` instead of a read, so
6
+ * the *write* path can check it before doing any work and a 4 MB file is as
7
+ * cheap as an empty one. A hash would mean reading every file before every
8
+ * edit to answer a question that is almost always "nothing happened".
9
+ *
10
+ * Nanosecond precision, because millisecond is not enough: a same-length
11
+ * rewrite inside one millisecond is an ordinary thing for a script to do, and
12
+ * the whole point here is catching writes this session did not make.
13
+ *
14
+ * `absent` is a real value, not a failure: a file appearing or disappearing
15
+ * under the session is exactly the kind of change worth reporting. Failure is
16
+ * `undefined`, which never compares unequal to anything — a stamp that cannot
17
+ * be taken must not be allowed to invent a change.
18
+ */
19
+ export type FileStamp = string;
20
+ export declare function readFileStamp(filePath: string): Promise<FileStamp | undefined>;
21
+ export interface ReadReceipts {
22
+ /** Record that `filePath` was read over the given inclusive line span. */
23
+ noteRead(filePath: string, first: number, last: number): void;
24
+ /** Whether a read has covered every line in the inclusive range. */
25
+ covers(filePath: string, first: number, last: number): boolean;
26
+ /** Whether the file has been read at all in this session. */
27
+ hasAny(filePath: string): boolean;
28
+ /**
29
+ * Whether the file was ever read, counting reads a write has since retired.
30
+ *
31
+ * For an edit anchored to text rather than to line numbers. Retirement is
32
+ * about line numbers having moved, and a text match does not use them: the
33
+ * file itself is checked for the text at the moment of the edit, so a read
34
+ * whose line numbers went stale is still a model that has seen this file.
35
+ *
36
+ * Measured: a model read the file, made two edits that changed its length,
37
+ * and its next text-anchored edit was refused with "has not been read in
38
+ * this session" -- of a file it had read and just successfully edited.
39
+ */
40
+ hasEverRead(filePath: string): boolean;
41
+ /**
42
+ * Whether reads of this file were retired by a later write.
43
+ *
44
+ * Told apart from "never read" because the two need different advice: one
45
+ * model has to go and look, the other looked and had the ground move.
46
+ */
47
+ wasRetired(filePath: string): boolean;
48
+ /**
49
+ * Record a write. When the line count changed, receipts for the file are
50
+ * dropped: every line number below the edit now points somewhere else.
51
+ */
52
+ noteWrite(filePath: string, linesBefore: number, linesAfter: number): void;
53
+ /**
54
+ * Record what the filesystem said about the file, as of now.
55
+ *
56
+ * Called by every tool that reads a file and by every tool that writes one,
57
+ * the latter *after* its write — otherwise the session's own edit is
58
+ * indistinguishable from someone else's and the next call bounces on it.
59
+ * `undefined` records nothing, so a stat that failed leaves the last known
60
+ * stamp standing rather than erasing it.
61
+ */
62
+ noteStamp(filePath: string, stamp: FileStamp | undefined): void;
63
+ /**
64
+ * Whether the file changed since this session last looked at it.
65
+ *
66
+ * False unless there is something to compare: an unknown file has not
67
+ * changed, it has merely never been seen, and reporting a change there
68
+ * would fire on the first read of everything.
69
+ */
70
+ changedSince(filePath: string, stamp: FileStamp | undefined): boolean;
71
+ /**
72
+ * Retire this file's line spans without forgetting that it was read.
73
+ *
74
+ * What {@link noteWrite} does when the line count moved, for the case where
75
+ * the mover was not this session: the spans are wrong either way, and the
76
+ * model still needs to be told apart from one that never looked — those two
77
+ * get different advice.
78
+ */
79
+ retire(filePath: string): void;
80
+ /** Drop everything known about a file. */
81
+ forget(filePath: string): void;
82
+ /**
83
+ * Every file read in this session, in the form it was resolved to.
84
+ *
85
+ * The receipts are the only record of which files the model has actually
86
+ * touched, and they are kept whatever the file's location -- which makes
87
+ * them the honest answer when a workspace-scoped search cannot find one.
88
+ * Retired reads are included: a file whose receipts a write invalidated was
89
+ * still read, and is still where it was.
90
+ */
91
+ paths(): string[];
92
+ }
93
+ export declare function createReadReceipts(): ReadReceipts;
@@ -0,0 +1,16 @@
1
+ export interface RunningCommandRegistration {
2
+ executionId: string;
3
+ sessionId: string;
4
+ toolCallId?: string;
5
+ detach: () => boolean;
6
+ }
7
+ /**
8
+ * Tracks shell processes that can release their owning tool call while the
9
+ * process keeps running. The controller is host-scoped so hub commands can
10
+ * target only commands owned by a particular session/tool call.
11
+ */
12
+ export declare class RunCommandExecutionController {
13
+ private readonly commands;
14
+ register(command: RunningCommandRegistration): () => void;
15
+ proceedWhileRunning(sessionId: string, toolCallId?: string): number;
16
+ }
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Search Executor
3
+ *
4
+ * Built-in implementation for searching the codebase using ripgrep (if available) or regex.
5
+ */
6
+ import type { SearchExecutor } from "../types";
7
+ /**
8
+ * Options for the search executor
9
+ */
10
+ export interface SearchExecutorOptions {
11
+ /**
12
+ * File extensions to include in search (without dot)
13
+ * @default common code extensions
14
+ */
15
+ includeExtensions?: string[];
16
+ /**
17
+ * Directories to exclude from search
18
+ * @default ["node_modules", ".git", "dist", "build", ".next", "coverage"]
19
+ */
20
+ excludeDirs?: string[];
21
+ /**
22
+ * Maximum number of results to return
23
+ * @default 100
24
+ */
25
+ maxResults?: number;
26
+ /**
27
+ * Number of context lines before and after match
28
+ * @default 2
29
+ */
30
+ contextLines?: number;
31
+ /**
32
+ * Maximum depth to traverse
33
+ * @default 20
34
+ */
35
+ maxDepth?: number;
36
+ }
37
+ /**
38
+ * Create a search executor using regex pattern matching
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * const search = createSearchExecutor({
43
+ * maxResults: 50,
44
+ * contextLines: 3,
45
+ * })
46
+ *
47
+ * const results = await search("function\\s+handleClick", "/path/to/project", context)
48
+ * ```
49
+ */
50
+ export declare function createSearchExecutor(options?: SearchExecutorOptions): SearchExecutor;
@@ -0,0 +1,92 @@
1
+ import type { AgentOverlay } from "../../../runtime/sandbox/overlay-fs";
2
+ import { type ReadReceipts } from "./read-receipts";
3
+ type Address = {
4
+ kind: "line";
5
+ line: number;
6
+ } | {
7
+ kind: "last";
8
+ } | {
9
+ kind: "regex";
10
+ regex: RegExp;
11
+ } | {
12
+ kind: "every";
13
+ };
14
+ interface Command {
15
+ start?: Address;
16
+ end?: Address;
17
+ negated: boolean;
18
+ name: string;
19
+ /** For `s`: the compiled match. For `y`: unused. */
20
+ regex?: RegExp;
21
+ replacement?: string;
22
+ /** For `s`: replace every occurrence. */
23
+ global?: boolean;
24
+ /** For `s`: print the line when a substitution happened. */
25
+ print?: boolean;
26
+ /** For `s`: replace only the Nth occurrence. */
27
+ occurrence?: number;
28
+ /** For `y`: the from/to character maps. */
29
+ from?: string;
30
+ to?: string;
31
+ /** For `a`, `i`, `c`: the text. */
32
+ text?: string;
33
+ /** Range state while executing. */
34
+ active?: boolean;
35
+ }
36
+ /**
37
+ * Parse a sed script into commands.
38
+ *
39
+ * Commands are separated by `;` or a newline, except inside a delimited
40
+ * section — `s/a;b/c/` is one command, and splitting on `;` first would break
41
+ * it. So the script is walked rather than split.
42
+ */
43
+ export declare function parseSedScript(script: string, extended?: boolean): Command[];
44
+ export interface RunSedResult {
45
+ output: string;
46
+ /** Whether any command changed the text. */
47
+ changed: boolean;
48
+ }
49
+ /** Run a parsed script over text. Pure: no filesystem, so it is easy to test. */
50
+ export declare function runSedScript(input: string, commands: Command[], quiet?: boolean): RunSedResult;
51
+ export interface SedExecutorOptions {
52
+ cwd?: string;
53
+ /**
54
+ * The same registry `editor` and `read_files` use.
55
+ *
56
+ * An in-place `sed` is an edit, and must answer to the read-before-change
57
+ * rule exactly as `editor` does. Without this the tool would be a way to
58
+ * modify a file the model has never looked at, which is the failure the
59
+ * receipts exist to stop.
60
+ */
61
+ receipts?: ReadReceipts;
62
+ /** A delegated agent's overlay; an in-place sed writes into it, not the workspace. */
63
+ overlay?: AgentOverlay;
64
+ }
65
+ export interface SedInput {
66
+ script: string;
67
+ files: string[];
68
+ in_place?: boolean;
69
+ quiet?: boolean;
70
+ extended?: boolean;
71
+ }
72
+ /**
73
+ * What happened to one file.
74
+ *
75
+ * One `sed` call names a list of files, and they do not share a fate: an
76
+ * in-place run can write the first and be refused on the second for never
77
+ * having been read. Joining that into one string made a refusal indexable only
78
+ * by reading the prose — and the tool layer above reported the whole call as a
79
+ * success, which is the one thing a blocked write must never look like.
80
+ */
81
+ export interface SedFileOutcome {
82
+ /** The file as the caller named it, not as it was resolved. */
83
+ file: string;
84
+ /** The script's output for this file, or a sentence describing the write. */
85
+ output: string;
86
+ /** False only when the file was NOT touched: a guard, or an unreadable file. */
87
+ ok: boolean;
88
+ /** Why, when `ok` is false. */
89
+ error?: string;
90
+ }
91
+ export declare function createSedExecutor(options?: SedExecutorOptions): (input: SedInput, callCwd?: string) => Promise<SedFileOutcome[]>;
92
+ export {};
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Answer a re-read of a file that has not changed with a pointer, not a copy.
3
+ *
4
+ * Measured on a live pandorum session (1789035782295_5ag8n, cline 4.100.87,
5
+ * ornith 27B): `read_files` was called 33 times, and 31 of those calls were
6
+ * byte-identical -- the whole of `manic_miner.html`, over and over, with edits
7
+ * in between. The results totalled 440,013 characters, roughly 110,000 tokens,
8
+ * against a file of about 14 KB. The run's entire reasoning came to 27,000
9
+ * tokens; four times that was spent re-reading one file.
10
+ *
11
+ * The existing loop guard cannot see this. It counts strikes per signature but
12
+ * only for calls that *fail*, deliberately: re-running a check after each edit
13
+ * is how work gets done, and a success clears the tally. These reads all
14
+ * succeed. It also cannot see it as adjacency -- the longest run of consecutive
15
+ * identical calls in that session was two, because an `editor` call always sat
16
+ * in between.
17
+ *
18
+ * So the test here is neither "it repeated" nor "it failed", but something
19
+ * provable: the bytes coming back are the bytes that already went back. When
20
+ * the content is identical, a second copy carries no information the
21
+ * conversation does not already hold.
22
+ *
23
+ * THE HAZARD, and why the valve exists. "Already in the conversation" stops
24
+ * being true after a compaction: the earlier read may have been summarised
25
+ * away, and a model told "unchanged since you last read it" would then be
26
+ * pointed at something it can no longer see. Rather than reach into the
27
+ * compaction machinery, every `REFRESH_EVERY` repeats serves the real content
28
+ * again. A compacted context recovers on its own within a few calls, while a
29
+ * loop still pays a fraction of what it used to.
30
+ */
31
+ /** How often a repeat is answered with the content anyway, compaction insurance. */
32
+ export declare const REFRESH_EVERY = 4;
33
+ /** What identifies "the same read": the file and the window asked for. */
34
+ export interface ReadKeyParts {
35
+ path: string;
36
+ firstLine: number;
37
+ lastLine: number;
38
+ withLineNumbers: boolean;
39
+ }
40
+ export interface ReadLedger {
41
+ /**
42
+ * What to return for this read, or `undefined` to return the content.
43
+ *
44
+ * Records the content either way, so the next identical read can be
45
+ * compared against it.
46
+ */
47
+ noticeFor(parts: ReadKeyParts, text: string): string | undefined;
48
+ }
49
+ /**
50
+ * A ledger of what this session has already returned for each read.
51
+ *
52
+ * Per session, not per transaction: the conversation is what holds the earlier
53
+ * copy, and it outlives any one transaction.
54
+ */
55
+ export declare function createReadLedger(): ReadLedger;
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Web Fetch Executor
3
+ *
4
+ * Built-in implementation for fetching web content using native fetch.
5
+ */
6
+ import type { WebFetchExecutor } from "../types";
7
+ /**
8
+ * Options for the web fetch executor
9
+ */
10
+ export interface WebFetchExecutorOptions {
11
+ /**
12
+ * Timeout for fetch requests in milliseconds
13
+ * @default 30000 (30 seconds)
14
+ */
15
+ timeoutMs?: number;
16
+ /**
17
+ * Maximum response size in bytes
18
+ * @default 5_000_000 (5MB)
19
+ */
20
+ maxResponseBytes?: number;
21
+ /**
22
+ * User agent string
23
+ * @default "Mozilla/5.0 (compatible; AgentBot/1.0)"
24
+ */
25
+ userAgent?: string;
26
+ /**
27
+ * Additional headers
28
+ */
29
+ headers?: Record<string, string>;
30
+ /**
31
+ * Whether to follow redirects
32
+ * @default true
33
+ */
34
+ followRedirects?: boolean;
35
+ /**
36
+ * Maximum number of redirects to follow
37
+ * @default 5
38
+ */
39
+ maxRedirects?: number;
40
+ }
41
+ /**
42
+ * Create a web fetch executor using native fetch
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * const webFetch = createWebFetchExecutor({
47
+ * timeoutMs: 15000,
48
+ * maxResponseBytes: 2_000_000,
49
+ * })
50
+ *
51
+ * const content = await webFetch(
52
+ * "https://docs.example.com/api",
53
+ * "Extract the authentication section",
54
+ * context
55
+ * )
56
+ * ```
57
+ */
58
+ export declare function createWebFetchExecutor(options?: WebFetchExecutorOptions): WebFetchExecutor;
@@ -0,0 +1,59 @@
1
+ import { type EditFileInput, type ReadFileRequest, type StructuredCommandInput } from "./schemas";
2
+ /**
3
+ * Format an error into a string message
4
+ */
5
+ export declare function formatError(error: unknown): string;
6
+ export declare function getEditorSizeError(input: EditFileInput): string | null;
7
+ /**
8
+ * Create a timeout-wrapped promise
9
+ */
10
+ export declare class TimeoutError extends Error {
11
+ readonly timeoutMs: number;
12
+ constructor(message: string, timeoutMs: number);
13
+ }
14
+ export declare function withTimeout<T>(promise: Promise<T>, ms: number, message: string): Promise<T>;
15
+ export declare function formatReadFileQuery(request: ReadFileRequest): string;
16
+ export declare function getReadFileRangeError(request: ReadFileRequest): string | null;
17
+ /**
18
+ * Some models emit a file's line range as a separate array element instead of
19
+ * placing start_line/end_line on the same object as its path. Fold such
20
+ * orphan range entries into the preceding file entry before validation.
21
+ */
22
+ export declare function coalesceOrphanReadRanges(input: unknown): unknown;
23
+ /**
24
+ * Read a path field whose value is a list rendered as a string.
25
+ *
26
+ * Returns the paths it contains, or null when the value is an ordinary path.
27
+ * Only a value that is bracketed end to end qualifies — a path that merely
28
+ * contains a bracket is left alone.
29
+ */
30
+ export declare function parseBracketedPathList(value: string): string[] | null;
31
+ /**
32
+ * Expand a path field holding a bracketed list into the real list.
33
+ *
34
+ * `read_files` is plural and its sibling `check_file` takes `paths: [...]`,
35
+ * so a model that has just used one reaches for an array here too — but
36
+ * `path` is a string, and a string is what a bracketed list validates as.
37
+ * Measured on a 156-message session: three consecutive calls sent
38
+ * `path: "[\"c:\\...\\game.js\"]"`, `"[c:\\...\\game.js]"` and
39
+ * `"[c:/.../game.js]"`, each of which passed validation and was then joined
40
+ * onto the cwd, so all three came back
41
+ * `ENOENT ... stat 'c:\...\test\["c:\...\game.js"]'`. The list was always
42
+ * there in the argument; nothing was reading it as one.
43
+ */
44
+ export declare function expandBracketedPathLists(input: unknown): unknown;
45
+ export declare function normalizeRunCommandsInput(input: unknown): Array<string | StructuredCommandInput>;
46
+ export declare function formatRunCommandQuery(command: string | StructuredCommandInput): string;
47
+ /**
48
+ * Max characters of the executed command echoed back in the tool result's
49
+ * `query` field. The full command already exists in the assistant tool-call
50
+ * input, so repeating it in the result only duplicates tokens in the
51
+ * provider request (expensive for large heredoc/file-generation commands).
52
+ */
53
+ export declare const RUN_COMMAND_QUERY_PREVIEW_LIMIT = 200;
54
+ /**
55
+ * Bound the command echo placed in a provider-facing tool result.
56
+ * Short commands pass through unchanged; long commands keep a short
57
+ * prefix plus a truncation note so the result is still identifiable.
58
+ */
59
+ export declare function formatRunCommandQueryPreview(command: string | StructuredCommandInput): string;
@@ -0,0 +1,76 @@
1
+ /**
2
+ * A tool that changes a picture.
3
+ *
4
+ * `generate_image` makes one from nothing, and the next thing anyone wants is
5
+ * to keep most of it: the same icon on a transparent ground, the same mockup
6
+ * with the sidebar on the other side, a logo placed on a photograph. Asking a
7
+ * generator again gets a different picture, not a corrected one.
8
+ *
9
+ * The wire format is the OpenAI images API's edit route
10
+ * (`POST {endpoint}/images/edits`, multipart), which opencoti and xOllama
11
+ * serve beside the generation route and which the hosted services serve too.
12
+ * The images go as `image[]`, one or several: an edit model takes the extra
13
+ * ones as references. What "edit" means is the model's: an instruction-edit
14
+ * model (FLUX.2 klein, Qwen-Image) follows the prompt, a plain diffusion model
15
+ * redraws over the source (img2img), and a `mask` limits either to a region.
16
+ */
17
+ import { type AgentTool } from "@cerebriline/shared";
18
+ import { type ImageGenerationEndpoint } from "./image-generation";
19
+ export declare const EDIT_IMAGE_TOOL_NAME = "edit_image";
20
+ export declare const EDIT_IMAGE_TOOL_DESCRIPTION = "Edit an existing image in the workspace according to a text instruction and save the result as a new file. Use it to change a picture you already have rather than generate a different one: recolour or restyle an icon, change one element of a mockup, combine a subject with a background.\n\nThe result is written to a file and, if you can see images, returned to you as well \u2014 so you can check the edit and try again with a changed instruction if it is wrong. The source images are never modified.\n\nArguments:\n- `prompt` \u2014 what to change, as an instruction: \"make the background transparent\", \"replace the red door with a blue one\". Say what must stay the same when it matters.\n- `images` \u2014 the image files to edit, as workspace paths. The first is the image being edited; any others are references the model may draw from (a style, a subject to place). Most backends take one to three.\n- `mask` \u2014 optional workspace path of a mask image the same size as the first image. Only the masked region is changed.\n- `path` \u2014 where to save the result, relative to the workspace. Optional; defaults to a file under `.cline/generated-images/`.\n- `size` \u2014 `WxH` in pixels, e.g. `1024x1024`. Optional, and the backend may round it or keep the source's size.\n\nHow far an edit goes depends on the backend: some follow the instruction, others redraw over the source and only make small changes. Look at the result before relying on it. This costs real time \u2014 seconds to a minute per image \u2014 and on a hosted backend it costs money.";
21
+ export declare const EDIT_IMAGE_TOOL_INPUT_SCHEMA: {
22
+ readonly type: "object";
23
+ readonly properties: {
24
+ readonly prompt: {
25
+ readonly type: "string";
26
+ readonly description: "What to change, as an instruction. Say what must stay the same when it matters.";
27
+ };
28
+ readonly images: {
29
+ readonly type: "array";
30
+ readonly items: {
31
+ readonly type: "string";
32
+ };
33
+ readonly description: "Workspace paths of the images. The first is the one being edited; the rest are references.";
34
+ };
35
+ readonly mask: {
36
+ readonly type: "string";
37
+ readonly description: "Workspace path of a mask the same size as the first image. Optional; only the masked region is changed.";
38
+ };
39
+ readonly path: {
40
+ readonly type: "string";
41
+ readonly description: "Where to save the result, relative to the workspace. Optional; defaults to a file under .cline/generated-images/.";
42
+ };
43
+ readonly size: {
44
+ readonly type: "string";
45
+ readonly description: "Pixel size as \"WIDTHxHEIGHT\", e.g. \"1024x1024\". Optional.";
46
+ };
47
+ };
48
+ readonly required: readonly ["prompt", "images"];
49
+ };
50
+ export interface EditImageToolInput {
51
+ prompt?: unknown;
52
+ images?: unknown;
53
+ mask?: unknown;
54
+ path?: unknown;
55
+ size?: unknown;
56
+ }
57
+ export interface EditImageToolOptions {
58
+ cwd: string;
59
+ /** Where edits go. The same shape as generation's: URL, model, key, size. */
60
+ getEndpoint: () => ImageGenerationEndpoint | undefined | Promise<ImageGenerationEndpoint | undefined>;
61
+ readFile: (absolutePath: string) => Promise<Buffer>;
62
+ writeFile: (absolutePath: string, data: Buffer) => Promise<void>;
63
+ fetchImpl?: typeof fetch;
64
+ /** Milliseconds one edit may take. Defaults to 3 minutes. */
65
+ timeoutMs?: number;
66
+ onError?: (message: string, error: unknown) => void;
67
+ }
68
+ /** The paths the model named, as a list, whichever way it wrote them. */
69
+ export declare function parseImagePaths(value: unknown): string[];
70
+ /**
71
+ * Create the `edit_image` tool.
72
+ *
73
+ * Like `generate_image`, the host leaves it out when nothing is configured,
74
+ * and `getEndpoint` returning nothing is handled anyway.
75
+ */
76
+ export declare function createEditImageTool(options: EditImageToolOptions): AgentTool;