@clinebot/core 0.0.37 → 0.0.38

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 (617) hide show
  1. package/README.md +11 -1
  2. package/dist/ClineCore.d.ts +18 -214
  3. package/dist/account/cline-account-service.d.ts +0 -1
  4. package/dist/account/index.d.ts +0 -1
  5. package/dist/account/rpc.d.ts +0 -1
  6. package/dist/account/types.d.ts +0 -1
  7. package/dist/auth/bounded-ttl-cache.d.ts +0 -1
  8. package/dist/auth/client.d.ts +0 -1
  9. package/dist/auth/cline.d.ts +0 -5
  10. package/dist/auth/codex.d.ts +0 -1
  11. package/dist/auth/oca.d.ts +0 -1
  12. package/dist/auth/server.d.ts +0 -1
  13. package/dist/auth/types.d.ts +0 -1
  14. package/dist/auth/utils.d.ts +0 -1
  15. package/dist/cline-core/automation.d.ts +34 -0
  16. package/dist/cline-core/runtime-services.d.ts +5 -0
  17. package/dist/cline-core/start-input.d.ts +10 -0
  18. package/dist/cline-core/telemetry.d.ts +10 -0
  19. package/dist/cline-core/types.d.ts +221 -0
  20. package/dist/cron/{cron-event-ingress.d.ts → events/cron-event-ingress.d.ts} +1 -2
  21. package/dist/cron/{cron-report-writer.d.ts → reports/cron-report-writer.d.ts} +1 -2
  22. package/dist/cron/{cron-materializer.d.ts → runner/cron-materializer.d.ts} +1 -2
  23. package/dist/cron/{cron-runner.d.ts → runner/cron-runner.d.ts} +6 -4
  24. package/dist/cron/{resource-limiter.d.ts → runner/resource-limiter.d.ts} +0 -1
  25. package/dist/cron/schedule/scheduler.d.ts +12 -0
  26. package/dist/cron/{cron-service.d.ts → service/cron-service.d.ts} +4 -5
  27. package/dist/cron/{schedule-command-service.d.ts → service/schedule-command-service.d.ts} +0 -1
  28. package/dist/cron/{schedule-service.d.ts → service/schedule-service.d.ts} +20 -22
  29. package/dist/cron/{cron-reconciler.d.ts → specs/cron-reconciler.d.ts} +1 -2
  30. package/dist/cron/{cron-spec-parser.d.ts → specs/cron-spec-parser.d.ts} +0 -1
  31. package/dist/cron/{cron-watcher.d.ts → specs/cron-watcher.d.ts} +0 -1
  32. package/dist/cron/{cron-schema.d.ts → store/cron-schema.d.ts} +0 -1
  33. package/dist/cron/{sqlite-cron-store.d.ts → store/sqlite-cron-store.d.ts} +12 -2
  34. package/dist/extensions/config/index.d.ts +4 -7
  35. package/dist/extensions/config/runtime-commands.d.ts +0 -1
  36. package/dist/extensions/config/skill-frontmatter-toggle.d.ts +11 -0
  37. package/dist/extensions/config/unified-config-file-watcher.d.ts +0 -1
  38. package/dist/extensions/config/user-instruction-config-loader.d.ts +0 -1
  39. package/dist/extensions/config/user-instruction-plugin.d.ts +25 -0
  40. package/dist/extensions/config/user-instruction-service.d.ts +23 -0
  41. package/dist/extensions/context/agentic-compaction.d.ts +0 -1
  42. package/dist/extensions/context/basic-compaction.d.ts +0 -1
  43. package/dist/extensions/context/compaction-shared.d.ts +0 -1
  44. package/dist/extensions/context/compaction.d.ts +0 -1
  45. package/dist/extensions/index.d.ts +0 -1
  46. package/dist/extensions/mcp/client.d.ts +0 -1
  47. package/dist/extensions/mcp/config-loader.d.ts +0 -1
  48. package/dist/extensions/mcp/index.d.ts +0 -1
  49. package/dist/extensions/mcp/manager.d.ts +0 -1
  50. package/dist/extensions/mcp/name-transform.d.ts +0 -1
  51. package/dist/extensions/mcp/policies.d.ts +0 -1
  52. package/dist/extensions/mcp/tools.d.ts +2 -3
  53. package/dist/extensions/mcp/types.d.ts +3 -4
  54. package/dist/extensions/plugin/plugin-config-loader.d.ts +0 -1
  55. package/dist/extensions/plugin/plugin-load-report.d.ts +0 -1
  56. package/dist/extensions/plugin/plugin-loader.d.ts +0 -1
  57. package/dist/extensions/plugin/plugin-module-import.d.ts +0 -1
  58. package/dist/extensions/plugin/plugin-sandbox.d.ts +0 -1
  59. package/dist/extensions/plugin/plugin-targeting.d.ts +0 -1
  60. package/dist/extensions/plugin-sandbox-bootstrap.js +1 -446
  61. package/dist/extensions/tools/constants.d.ts +0 -1
  62. package/dist/extensions/tools/definitions.d.ts +13 -14
  63. package/dist/extensions/tools/executors/apply-patch-parser.d.ts +0 -1
  64. package/dist/extensions/tools/executors/apply-patch.d.ts +0 -1
  65. package/dist/extensions/tools/executors/bash.d.ts +0 -1
  66. package/dist/extensions/tools/executors/editor.d.ts +0 -1
  67. package/dist/extensions/tools/executors/file-read.d.ts +0 -1
  68. package/dist/extensions/tools/executors/index.d.ts +0 -1
  69. package/dist/extensions/tools/executors/search.d.ts +0 -1
  70. package/dist/extensions/tools/executors/web-fetch.d.ts +0 -1
  71. package/dist/extensions/tools/helpers.d.ts +0 -1
  72. package/dist/extensions/tools/index.d.ts +2 -3
  73. package/dist/extensions/tools/model-tool-routing.d.ts +0 -1
  74. package/dist/extensions/tools/presets.d.ts +4 -5
  75. package/dist/extensions/tools/runtime.d.ts +0 -1
  76. package/dist/extensions/tools/schemas.d.ts +0 -1
  77. package/dist/extensions/tools/team/delegated-agent.d.ts +3 -4
  78. package/dist/extensions/tools/team/index.d.ts +0 -1
  79. package/dist/extensions/tools/team/multi-agent.d.ts +1 -2
  80. package/dist/extensions/tools/team/projections.d.ts +0 -1
  81. package/dist/extensions/tools/team/runtime.d.ts +0 -1
  82. package/dist/extensions/tools/team/spawn-agent-tool.d.ts +4 -5
  83. package/dist/extensions/tools/team/subagent-prompts.d.ts +0 -1
  84. package/dist/extensions/tools/team/team-tools.d.ts +7 -8
  85. package/dist/extensions/tools/types.d.ts +11 -12
  86. package/dist/hooks/checkpoint-hooks.d.ts +9 -2
  87. package/dist/hooks/hook-extension.d.ts +2 -0
  88. package/dist/{extensions/config/hooks-config-loader.d.ts → hooks/hook-file-config.d.ts} +1 -2
  89. package/dist/hooks/hook-file-hooks.d.ts +2 -2
  90. package/dist/hooks/index.d.ts +3 -1
  91. package/dist/hooks/subprocess-runner.d.ts +0 -1
  92. package/dist/hooks/subprocess.d.ts +0 -1
  93. package/dist/hub/{connect.d.ts → client/connect.d.ts} +1 -2
  94. package/dist/hub/{client.d.ts → client/index.d.ts} +41 -4
  95. package/dist/hub/{session-client.d.ts → client/session-client.d.ts} +41 -13
  96. package/dist/hub/{ui-client.d.ts → client/ui-client.d.ts} +1 -1
  97. package/dist/hub/daemon/entry.d.ts +1 -0
  98. package/dist/hub/daemon/entry.js +720 -0
  99. package/dist/hub/{daemon.d.ts → daemon/index.d.ts} +6 -3
  100. package/dist/hub/{runtime-handlers.d.ts → daemon/runtime-handlers.d.ts} +3 -2
  101. package/dist/hub/{start-shared-server.d.ts → daemon/start-shared-server.d.ts} +1 -2
  102. package/dist/hub/{defaults.d.ts → discovery/defaults.d.ts} +0 -1
  103. package/dist/hub/{discovery.d.ts → discovery/index.d.ts} +2 -1
  104. package/dist/hub/{workspace.d.ts → discovery/workspace.d.ts} +1 -2
  105. package/dist/hub/index.d.ts +28 -11
  106. package/dist/hub/index.js +484 -1061
  107. package/dist/hub/runtime-host/hub-runtime-host.d.ts +73 -0
  108. package/dist/{transports/remote.d.ts → hub/runtime-host/remote-runtime-host.d.ts} +1 -2
  109. package/dist/hub/{browser-websocket.d.ts → server/browser-websocket.d.ts} +1 -2
  110. package/dist/hub/{transport.d.ts → server/command-transport.d.ts} +0 -1
  111. package/dist/hub/server/handlers/approval-handlers.d.ts +17 -0
  112. package/dist/hub/server/handlers/capability-handlers.d.ts +12 -0
  113. package/dist/hub/server/handlers/client-handlers.d.ts +6 -0
  114. package/dist/hub/server/handlers/context.d.ts +56 -0
  115. package/dist/hub/server/handlers/run-handlers.d.ts +5 -0
  116. package/dist/hub/server/handlers/session-event-projector.d.ts +7 -0
  117. package/dist/hub/server/handlers/session-handlers.d.ts +20 -0
  118. package/dist/hub/server/hub-client-contributions.d.ts +19 -0
  119. package/dist/hub/server/hub-notifications.d.ts +7 -0
  120. package/dist/hub/server/hub-schedule-events.d.ts +2 -0
  121. package/dist/hub/server/hub-server-logging.d.ts +2 -0
  122. package/dist/hub/server/hub-server-options.d.ts +55 -0
  123. package/dist/hub/server/hub-server-transport.d.ts +34 -0
  124. package/dist/hub/server/hub-session-records.d.ts +8 -0
  125. package/dist/hub/server/hub-websocket-server.d.ts +6 -0
  126. package/dist/hub/server/index.d.ts +4 -0
  127. package/dist/hub/{native-transport.d.ts → server/native-transport.d.ts} +1 -2
  128. package/dist/index.d.ts +51 -41
  129. package/dist/index.js +214 -872
  130. package/dist/runtime/capabilities/index.d.ts +2 -0
  131. package/dist/runtime/capabilities/normalize-runtime-capabilities.d.ts +2 -0
  132. package/dist/runtime/capabilities/runtime-capabilities.d.ts +6 -0
  133. package/dist/runtime/config/agent-message-codec.d.ts +6 -0
  134. package/dist/runtime/{agent-runtime-config-builder.d.ts → config/agent-runtime-config-builder.d.ts} +12 -21
  135. package/dist/runtime/host/history.d.ts +18 -0
  136. package/dist/runtime/{host.d.ts → host/host.d.ts} +3 -4
  137. package/dist/runtime/host/local/agent-event-bridge.d.ts +29 -0
  138. package/dist/runtime/host/local/session-record.d.ts +6 -0
  139. package/dist/runtime/host/local/session-service-invoker.d.ts +4 -0
  140. package/dist/runtime/host/local/spawn-tool.d.ts +15 -0
  141. package/dist/runtime/host/local/user-files.d.ts +1 -0
  142. package/dist/runtime/host/local-runtime-host.d.ts +118 -0
  143. package/dist/{transports → runtime/host}/runtime-host-support.d.ts +3 -5
  144. package/dist/runtime/{runtime-host.d.ts → host/runtime-host.d.ts} +66 -31
  145. package/dist/runtime/{runtime-builder.d.ts → orchestration/runtime-builder.d.ts} +0 -1
  146. package/dist/runtime/{runtime-event-adapter.d.ts → orchestration/runtime-event-adapter.d.ts} +0 -1
  147. package/dist/runtime/{runtime-oauth-token-manager.d.ts → orchestration/runtime-oauth-token-manager.d.ts} +1 -2
  148. package/dist/runtime/{session-runtime-orchestrator.d.ts → orchestration/session-runtime-orchestrator.d.ts} +20 -63
  149. package/dist/runtime/{session-runtime.d.ts → orchestration/session-runtime.d.ts} +14 -12
  150. package/dist/runtime/{user-input-builder.d.ts → orchestration/user-input-builder.d.ts} +2 -11
  151. package/dist/runtime/{loop-detection.d.ts → safety/loop-detection.d.ts} +0 -1
  152. package/dist/runtime/{mistake-tracker.d.ts → safety/mistake-tracker.d.ts} +0 -1
  153. package/dist/runtime/{rules.d.ts → safety/rules.d.ts} +1 -2
  154. package/dist/runtime/{subprocess-sandbox.d.ts → tools/subprocess-sandbox.d.ts} +15 -1
  155. package/dist/runtime/{tool-approval.d.ts → tools/tool-approval.d.ts} +0 -1
  156. package/dist/runtime/turn-queue/pending-prompt-service.d.ts +64 -0
  157. package/dist/services/agent-events.d.ts +1 -2
  158. package/dist/services/config.d.ts +0 -1
  159. package/dist/services/global-settings.d.ts +27 -5
  160. package/dist/{llms → services/llms}/cline-recommended-models.d.ts +1 -2
  161. package/dist/{llms → services/llms}/configured-provider-registry.d.ts +0 -1
  162. package/dist/services/llms/handler-factory.d.ts +3 -0
  163. package/dist/{llms → services/llms}/provider-defaults.d.ts +2 -1
  164. package/dist/{llms → services/llms}/provider-settings.d.ts +5 -3
  165. package/dist/{llms → services/llms}/runtime-config.d.ts +0 -1
  166. package/dist/{llms → services/llms}/runtime-registry.d.ts +0 -1
  167. package/dist/{llms → services/llms}/runtime-types.d.ts +0 -1
  168. package/dist/services/local-runtime-bootstrap.d.ts +7 -9
  169. package/dist/services/plugin-tools.d.ts +0 -1
  170. package/dist/services/providers/local-provider-registry.d.ts +9 -10
  171. package/dist/services/providers/local-provider-service.d.ts +36 -3
  172. package/dist/services/providers/model-source.d.ts +3 -0
  173. package/dist/services/session-artifacts.d.ts +0 -1
  174. package/dist/services/session-data.d.ts +2 -3
  175. package/dist/services/session-telemetry.d.ts +0 -1
  176. package/dist/services/storage/file-team-store.d.ts +0 -1
  177. package/dist/services/storage/provider-settings-legacy-migration.d.ts +0 -1
  178. package/dist/services/storage/provider-settings-manager.d.ts +3 -4
  179. package/dist/services/storage/sqlite-session-store.d.ts +0 -1
  180. package/dist/services/storage/sqlite-team-store.d.ts +0 -1
  181. package/dist/services/storage/team-store.d.ts +0 -1
  182. package/dist/services/telemetry/ITelemetryAdapter.d.ts +0 -1
  183. package/dist/services/telemetry/OpenTelemetryAdapter.d.ts +0 -1
  184. package/dist/services/telemetry/OpenTelemetryProvider.d.ts +32 -1
  185. package/dist/services/telemetry/TelemetryLoggerSink.d.ts +0 -1
  186. package/dist/services/telemetry/TelemetryService.d.ts +0 -1
  187. package/dist/services/telemetry/core-events.d.ts +46 -3
  188. package/dist/services/telemetry/distinct-id.d.ts +0 -1
  189. package/dist/services/telemetry/index.d.ts +1 -2
  190. package/dist/services/telemetry/index.js +1 -0
  191. package/dist/services/usage.d.ts +10 -2
  192. package/dist/services/workspace/file-indexer.d.ts +0 -1
  193. package/dist/services/workspace/index.d.ts +0 -1
  194. package/dist/services/workspace/mention-enricher.d.ts +0 -1
  195. package/dist/{session → services/workspace}/workspace-manager.d.ts +0 -1
  196. package/dist/services/{workspace-manifest.d.ts → workspace/workspace-manifest.d.ts} +20 -5
  197. package/dist/services/workspace/workspace-telemetry.d.ts +18 -0
  198. package/dist/session/checkpoint-restore.d.ts +20 -0
  199. package/dist/session/{session-graph.d.ts → models/session-graph.d.ts} +2 -3
  200. package/dist/session/{session-manifest.d.ts → models/session-manifest.d.ts} +0 -1
  201. package/dist/session/{session-row.d.ts → models/session-row.d.ts} +2 -3
  202. package/dist/session/{file-session-service.d.ts → services/file-session-service.d.ts} +1 -2
  203. package/dist/session/{message-builder.d.ts → services/message-builder.d.ts} +7 -16
  204. package/dist/session/{persistence-service.d.ts → services/persistence-service.d.ts} +10 -11
  205. package/dist/session/{session-service.d.ts → services/session-service.d.ts} +4 -5
  206. package/dist/session/session-snapshot.d.ts +57 -0
  207. package/dist/session/session-versioning-service.d.ts +48 -0
  208. package/dist/session/{conversation-store.d.ts → stores/conversation-store.d.ts} +0 -1
  209. package/dist/session/{session-manifest-store.d.ts → stores/session-manifest-store.d.ts} +3 -4
  210. package/dist/session/{team-persistence-store.d.ts → stores/team-persistence-store.d.ts} +2 -3
  211. package/dist/session/team/index.d.ts +2 -0
  212. package/dist/session/{subagent-session-manager.d.ts → team/team-child-session-manager.d.ts} +7 -8
  213. package/dist/session/{session-team-coordination.d.ts → team/team-session-coordinator.d.ts} +3 -4
  214. package/dist/settings/index.d.ts +2 -0
  215. package/dist/settings/settings-service.d.ts +6 -0
  216. package/dist/settings/types.d.ts +42 -0
  217. package/dist/types/chat-schema.d.ts +24 -7
  218. package/dist/types/common.d.ts +0 -1
  219. package/dist/types/config.d.ts +2 -3
  220. package/dist/types/events.d.ts +8 -1
  221. package/dist/types/provider-settings.d.ts +2 -3
  222. package/dist/types/session.d.ts +22 -6
  223. package/dist/types/sessions.d.ts +0 -1
  224. package/dist/types/storage.d.ts +0 -1
  225. package/dist/types.d.ts +17 -14
  226. package/dist/version.d.ts +0 -1
  227. package/package.json +16 -12
  228. package/dist/ClineCore.d.ts.map +0 -1
  229. package/dist/account/cline-account-service.d.ts.map +0 -1
  230. package/dist/account/index.d.ts.map +0 -1
  231. package/dist/account/rpc.d.ts.map +0 -1
  232. package/dist/account/types.d.ts.map +0 -1
  233. package/dist/auth/bounded-ttl-cache.d.ts.map +0 -1
  234. package/dist/auth/client.d.ts.map +0 -1
  235. package/dist/auth/cline.d.ts.map +0 -1
  236. package/dist/auth/codex.d.ts.map +0 -1
  237. package/dist/auth/oca.d.ts.map +0 -1
  238. package/dist/auth/server.d.ts.map +0 -1
  239. package/dist/auth/types.d.ts.map +0 -1
  240. package/dist/auth/utils.d.ts.map +0 -1
  241. package/dist/cron/cron-event-ingress.d.ts.map +0 -1
  242. package/dist/cron/cron-materializer.d.ts.map +0 -1
  243. package/dist/cron/cron-reconciler.d.ts.map +0 -1
  244. package/dist/cron/cron-report-writer.d.ts.map +0 -1
  245. package/dist/cron/cron-runner.d.ts.map +0 -1
  246. package/dist/cron/cron-schema.d.ts.map +0 -1
  247. package/dist/cron/cron-service.d.ts.map +0 -1
  248. package/dist/cron/cron-spec-parser.d.ts.map +0 -1
  249. package/dist/cron/cron-watcher.d.ts.map +0 -1
  250. package/dist/cron/resource-limiter.d.ts.map +0 -1
  251. package/dist/cron/schedule-command-service.d.ts.map +0 -1
  252. package/dist/cron/schedule-service.d.ts.map +0 -1
  253. package/dist/cron/scheduler.d.ts +0 -68
  254. package/dist/cron/scheduler.d.ts.map +0 -1
  255. package/dist/cron/sqlite-cron-store.d.ts.map +0 -1
  256. package/dist/cron/sqlite-schedule-store.d.ts +0 -52
  257. package/dist/cron/sqlite-schedule-store.d.ts.map +0 -1
  258. package/dist/extensions/config/agent-config-loader.d.ts +0 -20
  259. package/dist/extensions/config/agent-config-loader.d.ts.map +0 -1
  260. package/dist/extensions/config/agent-config-parser.d.ts +0 -29
  261. package/dist/extensions/config/agent-config-parser.d.ts.map +0 -1
  262. package/dist/extensions/config/hooks-config-loader.d.ts.map +0 -1
  263. package/dist/extensions/config/index.d.ts.map +0 -1
  264. package/dist/extensions/config/runtime-commands.d.ts.map +0 -1
  265. package/dist/extensions/config/unified-config-file-watcher.d.ts.map +0 -1
  266. package/dist/extensions/config/user-instruction-config-loader.d.ts.map +0 -1
  267. package/dist/extensions/context/agentic-compaction.d.ts.map +0 -1
  268. package/dist/extensions/context/basic-compaction.d.ts.map +0 -1
  269. package/dist/extensions/context/compaction-shared.d.ts.map +0 -1
  270. package/dist/extensions/context/compaction.d.ts.map +0 -1
  271. package/dist/extensions/index.d.ts.map +0 -1
  272. package/dist/extensions/mcp/client.d.ts.map +0 -1
  273. package/dist/extensions/mcp/config-loader.d.ts.map +0 -1
  274. package/dist/extensions/mcp/index.d.ts.map +0 -1
  275. package/dist/extensions/mcp/manager.d.ts.map +0 -1
  276. package/dist/extensions/mcp/name-transform.d.ts.map +0 -1
  277. package/dist/extensions/mcp/policies.d.ts.map +0 -1
  278. package/dist/extensions/mcp/tools.d.ts.map +0 -1
  279. package/dist/extensions/mcp/types.d.ts.map +0 -1
  280. package/dist/extensions/plugin/plugin-config-loader.d.ts.map +0 -1
  281. package/dist/extensions/plugin/plugin-load-report.d.ts.map +0 -1
  282. package/dist/extensions/plugin/plugin-loader.d.ts.map +0 -1
  283. package/dist/extensions/plugin/plugin-module-import.d.ts.map +0 -1
  284. package/dist/extensions/plugin/plugin-sandbox.d.ts.map +0 -1
  285. package/dist/extensions/plugin/plugin-targeting.d.ts.map +0 -1
  286. package/dist/extensions/tools/constants.d.ts.map +0 -1
  287. package/dist/extensions/tools/definitions.d.ts.map +0 -1
  288. package/dist/extensions/tools/executors/apply-patch-parser.d.ts.map +0 -1
  289. package/dist/extensions/tools/executors/apply-patch.d.ts.map +0 -1
  290. package/dist/extensions/tools/executors/bash.d.ts.map +0 -1
  291. package/dist/extensions/tools/executors/editor.d.ts.map +0 -1
  292. package/dist/extensions/tools/executors/file-read.d.ts.map +0 -1
  293. package/dist/extensions/tools/executors/index.d.ts.map +0 -1
  294. package/dist/extensions/tools/executors/search.d.ts.map +0 -1
  295. package/dist/extensions/tools/executors/web-fetch.d.ts.map +0 -1
  296. package/dist/extensions/tools/helpers.d.ts.map +0 -1
  297. package/dist/extensions/tools/index.d.ts.map +0 -1
  298. package/dist/extensions/tools/model-tool-routing.d.ts.map +0 -1
  299. package/dist/extensions/tools/presets.d.ts.map +0 -1
  300. package/dist/extensions/tools/runtime.d.ts.map +0 -1
  301. package/dist/extensions/tools/schemas.d.ts.map +0 -1
  302. package/dist/extensions/tools/team/delegated-agent.d.ts.map +0 -1
  303. package/dist/extensions/tools/team/index.d.ts.map +0 -1
  304. package/dist/extensions/tools/team/multi-agent.d.ts.map +0 -1
  305. package/dist/extensions/tools/team/projections.d.ts.map +0 -1
  306. package/dist/extensions/tools/team/runtime.d.ts.map +0 -1
  307. package/dist/extensions/tools/team/spawn-agent-tool.d.ts.map +0 -1
  308. package/dist/extensions/tools/team/subagent-prompts.d.ts.map +0 -1
  309. package/dist/extensions/tools/team/team-tools.d.ts.map +0 -1
  310. package/dist/extensions/tools/types.d.ts.map +0 -1
  311. package/dist/hooks/checkpoint-hooks.d.ts.map +0 -1
  312. package/dist/hooks/hook-bridge.d.ts +0 -118
  313. package/dist/hooks/hook-bridge.d.ts.map +0 -1
  314. package/dist/hooks/hook-file-hooks.d.ts.map +0 -1
  315. package/dist/hooks/hook-registry.d.ts +0 -16
  316. package/dist/hooks/hook-registry.d.ts.map +0 -1
  317. package/dist/hooks/index.d.ts.map +0 -1
  318. package/dist/hooks/subprocess-runner.d.ts.map +0 -1
  319. package/dist/hooks/subprocess.d.ts.map +0 -1
  320. package/dist/hub/browser-websocket.d.ts.map +0 -1
  321. package/dist/hub/client.d.ts.map +0 -1
  322. package/dist/hub/connect.d.ts.map +0 -1
  323. package/dist/hub/daemon-entry.d.ts +0 -2
  324. package/dist/hub/daemon-entry.d.ts.map +0 -1
  325. package/dist/hub/daemon-entry.js +0 -1305
  326. package/dist/hub/daemon.d.ts.map +0 -1
  327. package/dist/hub/defaults.d.ts.map +0 -1
  328. package/dist/hub/discovery.d.ts.map +0 -1
  329. package/dist/hub/index.d.ts.map +0 -1
  330. package/dist/hub/native-transport.d.ts.map +0 -1
  331. package/dist/hub/runtime-handlers.d.ts.map +0 -1
  332. package/dist/hub/server.d.ts +0 -104
  333. package/dist/hub/server.d.ts.map +0 -1
  334. package/dist/hub/session-client.d.ts.map +0 -1
  335. package/dist/hub/start-shared-server.d.ts.map +0 -1
  336. package/dist/hub/transport.d.ts.map +0 -1
  337. package/dist/hub/ui-client.d.ts.map +0 -1
  338. package/dist/hub/workspace.d.ts.map +0 -1
  339. package/dist/index.d.ts.map +0 -1
  340. package/dist/llms/cline-recommended-models.d.ts.map +0 -1
  341. package/dist/llms/configured-provider-registry.d.ts.map +0 -1
  342. package/dist/llms/handler-factory.d.ts +0 -16
  343. package/dist/llms/handler-factory.d.ts.map +0 -1
  344. package/dist/llms/provider-defaults.d.ts.map +0 -1
  345. package/dist/llms/provider-settings.d.ts.map +0 -1
  346. package/dist/llms/runtime-config.d.ts.map +0 -1
  347. package/dist/llms/runtime-registry.d.ts.map +0 -1
  348. package/dist/llms/runtime-types.d.ts.map +0 -1
  349. package/dist/runtime/agent-config-adapter.d.ts +0 -148
  350. package/dist/runtime/agent-config-adapter.d.ts.map +0 -1
  351. package/dist/runtime/agent-runtime-config-builder.d.ts.map +0 -1
  352. package/dist/runtime/history.d.ts +0 -10
  353. package/dist/runtime/history.d.ts.map +0 -1
  354. package/dist/runtime/host.d.ts.map +0 -1
  355. package/dist/runtime/loop-detection.d.ts.map +0 -1
  356. package/dist/runtime/mistake-tracker.d.ts.map +0 -1
  357. package/dist/runtime/rules.d.ts.map +0 -1
  358. package/dist/runtime/runtime-builder.d.ts.map +0 -1
  359. package/dist/runtime/runtime-event-adapter.d.ts.map +0 -1
  360. package/dist/runtime/runtime-host.d.ts.map +0 -1
  361. package/dist/runtime/runtime-oauth-token-manager.d.ts.map +0 -1
  362. package/dist/runtime/session-runtime-orchestrator.d.ts.map +0 -1
  363. package/dist/runtime/session-runtime.d.ts.map +0 -1
  364. package/dist/runtime/subprocess-sandbox.d.ts.map +0 -1
  365. package/dist/runtime/tool-approval.d.ts.map +0 -1
  366. package/dist/runtime/user-input-builder.d.ts.map +0 -1
  367. package/dist/services/agent-events.d.ts.map +0 -1
  368. package/dist/services/config.d.ts.map +0 -1
  369. package/dist/services/global-settings.d.ts.map +0 -1
  370. package/dist/services/index.js +0 -28
  371. package/dist/services/local-runtime-bootstrap.d.ts.map +0 -1
  372. package/dist/services/plugin-tools.d.ts.map +0 -1
  373. package/dist/services/providers/local-provider-registry.d.ts.map +0 -1
  374. package/dist/services/providers/local-provider-service.d.ts.map +0 -1
  375. package/dist/services/session-artifacts.d.ts.map +0 -1
  376. package/dist/services/session-data.d.ts.map +0 -1
  377. package/dist/services/session-telemetry.d.ts.map +0 -1
  378. package/dist/services/storage/file-team-store.d.ts.map +0 -1
  379. package/dist/services/storage/provider-settings-legacy-migration.d.ts.map +0 -1
  380. package/dist/services/storage/provider-settings-manager.d.ts.map +0 -1
  381. package/dist/services/storage/sqlite-session-store.d.ts.map +0 -1
  382. package/dist/services/storage/sqlite-team-store.d.ts.map +0 -1
  383. package/dist/services/storage/team-store.d.ts.map +0 -1
  384. package/dist/services/telemetry/ITelemetryAdapter.d.ts.map +0 -1
  385. package/dist/services/telemetry/OpenTelemetryAdapter.d.ts.map +0 -1
  386. package/dist/services/telemetry/OpenTelemetryProvider.d.ts.map +0 -1
  387. package/dist/services/telemetry/TelemetryLoggerSink.d.ts.map +0 -1
  388. package/dist/services/telemetry/TelemetryService.d.ts.map +0 -1
  389. package/dist/services/telemetry/core-events.d.ts.map +0 -1
  390. package/dist/services/telemetry/distinct-id.d.ts.map +0 -1
  391. package/dist/services/telemetry/index.d.ts.map +0 -1
  392. package/dist/services/usage.d.ts.map +0 -1
  393. package/dist/services/workspace/file-indexer.d.ts.map +0 -1
  394. package/dist/services/workspace/index.d.ts.map +0 -1
  395. package/dist/services/workspace/mention-enricher.d.ts.map +0 -1
  396. package/dist/services/workspace-manifest.d.ts.map +0 -1
  397. package/dist/session/conversation-store.d.ts.map +0 -1
  398. package/dist/session/file-session-service.d.ts.map +0 -1
  399. package/dist/session/message-builder.d.ts.map +0 -1
  400. package/dist/session/persistence-service.d.ts.map +0 -1
  401. package/dist/session/session-graph.d.ts.map +0 -1
  402. package/dist/session/session-manifest-store.d.ts.map +0 -1
  403. package/dist/session/session-manifest.d.ts.map +0 -1
  404. package/dist/session/session-row.d.ts.map +0 -1
  405. package/dist/session/session-service.d.ts.map +0 -1
  406. package/dist/session/session-team-coordination.d.ts.map +0 -1
  407. package/dist/session/subagent-session-manager.d.ts.map +0 -1
  408. package/dist/session/team-persistence-store.d.ts.map +0 -1
  409. package/dist/session/workspace-manager.d.ts.map +0 -1
  410. package/dist/transports/hub.d.ts +0 -58
  411. package/dist/transports/hub.d.ts.map +0 -1
  412. package/dist/transports/local.d.ts +0 -119
  413. package/dist/transports/local.d.ts.map +0 -1
  414. package/dist/transports/remote.d.ts.map +0 -1
  415. package/dist/transports/runtime-host-support.d.ts.map +0 -1
  416. package/dist/types/chat-schema.d.ts.map +0 -1
  417. package/dist/types/common.d.ts.map +0 -1
  418. package/dist/types/config.d.ts.map +0 -1
  419. package/dist/types/events.d.ts.map +0 -1
  420. package/dist/types/provider-settings.d.ts.map +0 -1
  421. package/dist/types/session.d.ts.map +0 -1
  422. package/dist/types/sessions.d.ts.map +0 -1
  423. package/dist/types/storage.d.ts.map +0 -1
  424. package/dist/types.d.ts.map +0 -1
  425. package/dist/version.d.ts.map +0 -1
  426. package/src/ClineCore.ts +0 -1026
  427. package/src/account/cline-account-service.ts +0 -338
  428. package/src/account/index.ts +0 -24
  429. package/src/account/rpc.ts +0 -185
  430. package/src/account/types.ts +0 -108
  431. package/src/auth/bounded-ttl-cache.ts +0 -53
  432. package/src/auth/client.ts +0 -46
  433. package/src/auth/cline.ts +0 -724
  434. package/src/auth/codex.ts +0 -491
  435. package/src/auth/oca.ts +0 -588
  436. package/src/auth/server.ts +0 -265
  437. package/src/auth/types.ts +0 -110
  438. package/src/auth/utils.ts +0 -247
  439. package/src/cron/cron-event-ingress.ts +0 -357
  440. package/src/cron/cron-materializer.ts +0 -97
  441. package/src/cron/cron-reconciler.ts +0 -241
  442. package/src/cron/cron-report-writer.ts +0 -153
  443. package/src/cron/cron-runner.ts +0 -495
  444. package/src/cron/cron-schema.ts +0 -127
  445. package/src/cron/cron-service.ts +0 -163
  446. package/src/cron/cron-spec-parser.ts +0 -489
  447. package/src/cron/cron-watcher.ts +0 -102
  448. package/src/cron/index.ts +0 -15
  449. package/src/cron/resource-limiter.ts +0 -46
  450. package/src/cron/schedule-command-service.ts +0 -193
  451. package/src/cron/schedule-service.ts +0 -703
  452. package/src/cron/scheduler.ts +0 -772
  453. package/src/cron/sqlite-cron-store.ts +0 -1286
  454. package/src/cron/sqlite-schedule-store.ts +0 -708
  455. package/src/extensions/config/agent-config-loader.ts +0 -114
  456. package/src/extensions/config/agent-config-parser.ts +0 -198
  457. package/src/extensions/config/hooks-config-loader.ts +0 -117
  458. package/src/extensions/config/index.ts +0 -77
  459. package/src/extensions/config/runtime-commands.ts +0 -82
  460. package/src/extensions/config/unified-config-file-watcher.ts +0 -496
  461. package/src/extensions/config/user-instruction-config-loader.ts +0 -549
  462. package/src/extensions/context/agentic-compaction.ts +0 -131
  463. package/src/extensions/context/basic-compaction.ts +0 -300
  464. package/src/extensions/context/compaction-shared.ts +0 -459
  465. package/src/extensions/context/compaction.ts +0 -226
  466. package/src/extensions/index.ts +0 -18
  467. package/src/extensions/mcp/client.ts +0 -420
  468. package/src/extensions/mcp/config-loader.ts +0 -219
  469. package/src/extensions/mcp/index.ts +0 -42
  470. package/src/extensions/mcp/manager.ts +0 -260
  471. package/src/extensions/mcp/name-transform.ts +0 -33
  472. package/src/extensions/mcp/policies.ts +0 -47
  473. package/src/extensions/mcp/tools.ts +0 -47
  474. package/src/extensions/mcp/types.ts +0 -116
  475. package/src/extensions/plugin/plugin-config-loader.ts +0 -140
  476. package/src/extensions/plugin/plugin-load-report.ts +0 -20
  477. package/src/extensions/plugin/plugin-loader.ts +0 -220
  478. package/src/extensions/plugin/plugin-module-import.ts +0 -276
  479. package/src/extensions/plugin/plugin-sandbox-bootstrap.ts +0 -662
  480. package/src/extensions/plugin/plugin-sandbox.ts +0 -586
  481. package/src/extensions/plugin/plugin-targeting.ts +0 -32
  482. package/src/extensions/tools/constants.ts +0 -37
  483. package/src/extensions/tools/definitions.ts +0 -738
  484. package/src/extensions/tools/executors/apply-patch-parser.ts +0 -520
  485. package/src/extensions/tools/executors/apply-patch.ts +0 -348
  486. package/src/extensions/tools/executors/bash.ts +0 -207
  487. package/src/extensions/tools/executors/editor.ts +0 -220
  488. package/src/extensions/tools/executors/file-read.ts +0 -135
  489. package/src/extensions/tools/executors/index.ts +0 -87
  490. package/src/extensions/tools/executors/search.ts +0 -470
  491. package/src/extensions/tools/executors/web-fetch.ts +0 -259
  492. package/src/extensions/tools/helpers.ts +0 -154
  493. package/src/extensions/tools/index.ts +0 -183
  494. package/src/extensions/tools/model-tool-routing.ts +0 -134
  495. package/src/extensions/tools/presets.ts +0 -190
  496. package/src/extensions/tools/runtime.ts +0 -261
  497. package/src/extensions/tools/schemas.ts +0 -343
  498. package/src/extensions/tools/team/delegated-agent.ts +0 -136
  499. package/src/extensions/tools/team/index.ts +0 -5
  500. package/src/extensions/tools/team/multi-agent.ts +0 -1845
  501. package/src/extensions/tools/team/projections.ts +0 -283
  502. package/src/extensions/tools/team/runtime.ts +0 -54
  503. package/src/extensions/tools/team/spawn-agent-tool.ts +0 -201
  504. package/src/extensions/tools/team/subagent-prompts.ts +0 -41
  505. package/src/extensions/tools/team/team-tools.ts +0 -902
  506. package/src/extensions/tools/types.ts +0 -354
  507. package/src/hooks/checkpoint-hooks.ts +0 -238
  508. package/src/hooks/hook-bridge.ts +0 -489
  509. package/src/hooks/hook-file-hooks.ts +0 -934
  510. package/src/hooks/hook-registry.ts +0 -257
  511. package/src/hooks/index.ts +0 -18
  512. package/src/hooks/subprocess-runner.ts +0 -196
  513. package/src/hooks/subprocess.ts +0 -469
  514. package/src/hub/browser-websocket.ts +0 -159
  515. package/src/hub/client.ts +0 -633
  516. package/src/hub/connect.ts +0 -156
  517. package/src/hub/daemon-entry.ts +0 -122
  518. package/src/hub/daemon.ts +0 -284
  519. package/src/hub/defaults.ts +0 -70
  520. package/src/hub/discovery.ts +0 -247
  521. package/src/hub/index.ts +0 -14
  522. package/src/hub/native-transport.ts +0 -31
  523. package/src/hub/runtime-handlers.ts +0 -141
  524. package/src/hub/server.ts +0 -2317
  525. package/src/hub/session-client.ts +0 -502
  526. package/src/hub/start-shared-server.ts +0 -61
  527. package/src/hub/transport.ts +0 -14
  528. package/src/hub/ui-client.ts +0 -126
  529. package/src/hub/workspace.ts +0 -19
  530. package/src/index.ts +0 -688
  531. package/src/llms/cline-recommended-models.ts +0 -167
  532. package/src/llms/configured-provider-registry.ts +0 -193
  533. package/src/llms/handler-factory.ts +0 -56
  534. package/src/llms/provider-defaults.ts +0 -653
  535. package/src/llms/provider-settings.ts +0 -310
  536. package/src/llms/runtime-config.ts +0 -43
  537. package/src/llms/runtime-registry.ts +0 -172
  538. package/src/llms/runtime-types.ts +0 -121
  539. package/src/runtime/agent-config-adapter.ts +0 -636
  540. package/src/runtime/agent-runtime-config-builder.ts +0 -205
  541. package/src/runtime/error-feedback.ts +0 -142
  542. package/src/runtime/history.ts +0 -374
  543. package/src/runtime/host.ts +0 -222
  544. package/src/runtime/index.ts +0 -23
  545. package/src/runtime/loop-detection.ts +0 -162
  546. package/src/runtime/mistake-tracker.ts +0 -221
  547. package/src/runtime/rules.ts +0 -49
  548. package/src/runtime/runtime-builder.ts +0 -814
  549. package/src/runtime/runtime-event-adapter.ts +0 -412
  550. package/src/runtime/runtime-host.ts +0 -250
  551. package/src/runtime/runtime-oauth-token-manager.ts +0 -268
  552. package/src/runtime/session-runtime-orchestrator.ts +0 -1253
  553. package/src/runtime/session-runtime.ts +0 -69
  554. package/src/runtime/subprocess-sandbox.ts +0 -255
  555. package/src/runtime/tool-approval.ts +0 -102
  556. package/src/runtime/user-input-builder.ts +0 -167
  557. package/src/services/agent-events.ts +0 -256
  558. package/src/services/config.ts +0 -5
  559. package/src/services/global-settings.ts +0 -122
  560. package/src/services/local-runtime-bootstrap.ts +0 -424
  561. package/src/services/plugin-tools.ts +0 -86
  562. package/src/services/providers/local-provider-registry.ts +0 -456
  563. package/src/services/providers/local-provider-service.ts +0 -772
  564. package/src/services/session-artifacts.ts +0 -138
  565. package/src/services/session-data.ts +0 -398
  566. package/src/services/session-telemetry.ts +0 -89
  567. package/src/services/storage/artifact-store.ts +0 -1
  568. package/src/services/storage/file-team-store.ts +0 -250
  569. package/src/services/storage/index.ts +0 -11
  570. package/src/services/storage/provider-settings-legacy-migration.ts +0 -789
  571. package/src/services/storage/provider-settings-manager.ts +0 -167
  572. package/src/services/storage/session-store.ts +0 -1
  573. package/src/services/storage/sqlite-session-store.ts +0 -270
  574. package/src/services/storage/sqlite-team-store.ts +0 -537
  575. package/src/services/storage/team-store.ts +0 -36
  576. package/src/services/telemetry/ITelemetryAdapter.ts +0 -94
  577. package/src/services/telemetry/OpenTelemetryAdapter.ts +0 -348
  578. package/src/services/telemetry/OpenTelemetryProvider.ts +0 -415
  579. package/src/services/telemetry/TelemetryLoggerSink.ts +0 -121
  580. package/src/services/telemetry/TelemetryService.ts +0 -139
  581. package/src/services/telemetry/core-events.ts +0 -400
  582. package/src/services/telemetry/distinct-id.ts +0 -58
  583. package/src/services/telemetry/index.ts +0 -20
  584. package/src/services/usage.ts +0 -32
  585. package/src/services/workspace/file-indexer.ts +0 -351
  586. package/src/services/workspace/index.ts +0 -7
  587. package/src/services/workspace/mention-enricher.ts +0 -122
  588. package/src/services/workspace-manifest.ts +0 -72
  589. package/src/session/conversation-store.ts +0 -77
  590. package/src/session/file-session-service.ts +0 -282
  591. package/src/session/index.ts +0 -32
  592. package/src/session/message-builder.ts +0 -941
  593. package/src/session/persistence-service.ts +0 -559
  594. package/src/session/session-graph.ts +0 -92
  595. package/src/session/session-manifest-store.ts +0 -158
  596. package/src/session/session-manifest.ts +0 -29
  597. package/src/session/session-row.ts +0 -199
  598. package/src/session/session-service.ts +0 -324
  599. package/src/session/session-team-coordination.ts +0 -240
  600. package/src/session/subagent-session-manager.ts +0 -397
  601. package/src/session/team-persistence-store.ts +0 -176
  602. package/src/session/workspace-manager.ts +0 -100
  603. package/src/transports/hub.ts +0 -1081
  604. package/src/transports/local.ts +0 -1826
  605. package/src/transports/remote.ts +0 -27
  606. package/src/transports/runtime-host-support.ts +0 -140
  607. package/src/types/chat-schema.ts +0 -81
  608. package/src/types/common.ts +0 -26
  609. package/src/types/config.ts +0 -220
  610. package/src/types/events.ts +0 -80
  611. package/src/types/index.ts +0 -26
  612. package/src/types/provider-settings.ts +0 -54
  613. package/src/types/session.ts +0 -111
  614. package/src/types/sessions.ts +0 -37
  615. package/src/types/storage.ts +0 -56
  616. package/src/types.ts +0 -167
  617. package/src/version.ts +0 -3
@@ -1,470 +0,0 @@
1
- /**
2
- * Search Executor
3
- *
4
- * Built-in implementation for searching the codebase using ripgrep (if available) or regex.
5
- */
6
-
7
- import { spawn } from "node:child_process";
8
- import * as fs from "node:fs/promises";
9
- import * as path from "node:path";
10
- import type { ToolContext } from "@clinebot/shared";
11
- import { getFileIndex } from "../../../services/workspace";
12
- import type { SearchExecutor } from "../types";
13
-
14
- /**
15
- * Options for the search executor
16
- */
17
- export interface SearchExecutorOptions {
18
- /**
19
- * File extensions to include in search (without dot)
20
- * @default common code extensions
21
- */
22
- includeExtensions?: string[];
23
-
24
- /**
25
- * Directories to exclude from search
26
- * @default ["node_modules", ".git", "dist", "build", ".next", "coverage"]
27
- */
28
- excludeDirs?: string[];
29
-
30
- /**
31
- * Maximum number of results to return
32
- * @default 100
33
- */
34
- maxResults?: number;
35
-
36
- /**
37
- * Number of context lines before and after match
38
- * @default 2
39
- */
40
- contextLines?: number;
41
-
42
- /**
43
- * Maximum depth to traverse
44
- * @default 20
45
- */
46
- maxDepth?: number;
47
- }
48
-
49
- const DEFAULT_INCLUDE_EXTENSIONS = [
50
- "ts",
51
- "tsx",
52
- "js",
53
- "jsx",
54
- "mjs",
55
- "cjs",
56
- "json",
57
- "md",
58
- "mdx",
59
- "txt",
60
- "yaml",
61
- "yml",
62
- "toml",
63
- "py",
64
- "rb",
65
- "go",
66
- "rs",
67
- "java",
68
- "kt",
69
- "swift",
70
- "c",
71
- "cpp",
72
- "h",
73
- "hpp",
74
- "css",
75
- "scss",
76
- "less",
77
- "html",
78
- "vue",
79
- "svelte",
80
- "sql",
81
- "sh",
82
- "bash",
83
- "zsh",
84
- "fish",
85
- "ps1",
86
- "env",
87
- "gitignore",
88
- "dockerignore",
89
- "editorconfig",
90
- ];
91
-
92
- const DEFAULT_EXCLUDE_DIRS = [
93
- "node_modules",
94
- ".git",
95
- "dist",
96
- "build",
97
- ".next",
98
- "coverage",
99
- "__pycache__",
100
- ".venv",
101
- "venv",
102
- ".cache",
103
- ".turbo",
104
- ".output",
105
- "out",
106
- "target",
107
- "bin",
108
- "obj",
109
- ];
110
-
111
- /**
112
- * Search result for a single file match
113
- */
114
- interface SearchMatch {
115
- file: string;
116
- line: number;
117
- column: number;
118
- match: string;
119
- context: string[];
120
- }
121
-
122
- let rgAvailable: boolean | null = null;
123
-
124
- function checkRipgrepAvailable(): Promise<boolean> {
125
- if (rgAvailable !== null) {
126
- return Promise.resolve(rgAvailable);
127
- }
128
-
129
- return new Promise((resolve) => {
130
- const child = spawn("rg", ["--version"], {
131
- stdio: ["ignore", "pipe", "pipe"],
132
- });
133
-
134
- child.on("close", (code) => {
135
- rgAvailable = code === 0;
136
- resolve(rgAvailable);
137
- });
138
-
139
- child.on("error", () => {
140
- rgAvailable = false;
141
- resolve(false);
142
- });
143
-
144
- setTimeout(() => {
145
- if (!child.killed) {
146
- child.kill("SIGTERM");
147
- }
148
- if (rgAvailable === null) {
149
- rgAvailable = false;
150
- resolve(false);
151
- }
152
- }, 1000);
153
- });
154
- }
155
-
156
- function searchWithRipgrep(
157
- query: string,
158
- cwd: string,
159
- maxResults: number,
160
- contextLines: number,
161
- timeoutMs: number = 5000,
162
- abortSignal?: AbortSignal,
163
- ): Promise<SearchMatch[] | null> {
164
- return new Promise((resolve) => {
165
- const child = spawn(
166
- "rg",
167
- ["--json", `--context=${contextLines}`, "--max-count=1", "-i", query],
168
- {
169
- cwd,
170
- stdio: ["ignore", "pipe", "pipe"],
171
- },
172
- );
173
-
174
- let stdout = "";
175
- let resolved = false;
176
-
177
- const cleanup = () => {
178
- if (!child.killed) {
179
- child.kill("SIGTERM");
180
- }
181
- };
182
-
183
- const timeout = setTimeout(() => {
184
- if (!resolved) {
185
- resolved = true;
186
- cleanup();
187
- resolve(null);
188
- }
189
- }, timeoutMs);
190
-
191
- const finalize = (result: SearchMatch[] | null) => {
192
- if (!resolved) {
193
- resolved = true;
194
- clearTimeout(timeout);
195
- cleanup();
196
- resolve(result);
197
- }
198
- };
199
-
200
- if (abortSignal?.aborted) {
201
- cleanup();
202
- resolve(null);
203
- return;
204
- }
205
-
206
- abortSignal?.addEventListener("abort", () => {
207
- finalize(null);
208
- });
209
-
210
- child.stdout.on("data", (chunk: Buffer | string) => {
211
- stdout += chunk.toString();
212
- });
213
-
214
- child.stderr.on("data", () => {
215
- // Ignore stderr
216
- });
217
-
218
- child.on("close", (code: number | null) => {
219
- if (code === 0 || code === 1) {
220
- try {
221
- const matches: SearchMatch[] = [];
222
- const lines = stdout.split("\n").filter((line) => line.trim());
223
-
224
- for (const line of lines) {
225
- if (matches.length >= maxResults) break;
226
-
227
- const json = JSON.parse(line);
228
- if (json.type === "match") {
229
- const matchData = json.data;
230
- const contextLines: string[] = [];
231
-
232
- if (json.data.submatches && json.data.submatches.length > 0) {
233
- const submatch = json.data.submatches[0];
234
- matches.push({
235
- file: matchData.path.text,
236
- line: matchData.line_number,
237
- column: (submatch?.start ?? 0) + 1,
238
- match: submatch?.match?.text ?? "",
239
- context: contextLines,
240
- });
241
- }
242
- } else if (json.type === "context" && matches.length > 0) {
243
- const lastMatch = matches[matches.length - 1];
244
- const prefix =
245
- json.data.line_number === lastMatch.line ? ">" : " ";
246
- lastMatch.context.push(
247
- `${prefix} ${json.data.line_number}: ${json.data.lines?.text ?? json.data.line?.text ?? ""}`,
248
- );
249
- }
250
- }
251
-
252
- finalize(matches.length > 0 ? matches : null);
253
- } catch {
254
- finalize(null);
255
- }
256
- return;
257
- }
258
-
259
- finalize(null);
260
- });
261
-
262
- child.on("error", () => {
263
- finalize(null);
264
- });
265
- });
266
- }
267
-
268
- function shouldIncludeFile(
269
- relativePath: string,
270
- excludeDirs: Set<string>,
271
- includeExtensions: Set<string>,
272
- maxDepth: number,
273
- ): boolean {
274
- const segments = relativePath.split("/");
275
- const fileName = segments[segments.length - 1] ?? "";
276
- const directoryDepth = segments.length - 1;
277
-
278
- if (directoryDepth > maxDepth) {
279
- return false;
280
- }
281
-
282
- for (let i = 0; i < segments.length - 1; i++) {
283
- if (excludeDirs.has(segments[i] ?? "")) {
284
- return false;
285
- }
286
- }
287
-
288
- const ext = path.posix.extname(fileName).slice(1).toLowerCase();
289
- return includeExtensions.has(ext) || (!ext && !fileName.startsWith("."));
290
- }
291
-
292
- /**
293
- * Create a search executor using regex pattern matching
294
- *
295
- * @example
296
- * ```typescript
297
- * const search = createSearchExecutor({
298
- * maxResults: 50,
299
- * contextLines: 3,
300
- * })
301
- *
302
- * const results = await search("function\\s+handleClick", "/path/to/project", context)
303
- * ```
304
- */
305
- export function createSearchExecutor(
306
- options: SearchExecutorOptions = {},
307
- ): SearchExecutor {
308
- const {
309
- includeExtensions = DEFAULT_INCLUDE_EXTENSIONS,
310
- excludeDirs = DEFAULT_EXCLUDE_DIRS,
311
- maxResults = 100,
312
- contextLines = 2,
313
- maxDepth = 20,
314
- } = options;
315
- const excludeDirsSet = new Set(excludeDirs);
316
- const includeExtensionsSet = new Set(
317
- includeExtensions.map((extension) => extension.toLowerCase()),
318
- );
319
-
320
- return async (
321
- query: string,
322
- cwd: string,
323
- context: ToolContext,
324
- ): Promise<string> => {
325
- // Check for abort before starting
326
- if (context.abortSignal?.aborted) {
327
- throw new Error("Search operation aborted");
328
- }
329
-
330
- // Try ripgrep first if available
331
- const isRgAvailable = await checkRipgrepAvailable();
332
- let rgMatches: SearchMatch[] | null = null;
333
- if (isRgAvailable) {
334
- rgMatches = await searchWithRipgrep(
335
- query,
336
- cwd,
337
- maxResults,
338
- contextLines,
339
- 5000,
340
- context.abortSignal,
341
- );
342
- }
343
-
344
- if (rgMatches) {
345
- const resultLines: string[] = [
346
- `Found ${rgMatches.length} result${rgMatches.length === 1 ? "" : "s"} for pattern: ${query}`,
347
- "",
348
- ];
349
-
350
- for (const match of rgMatches) {
351
- resultLines.push(`${match.file}:${match.line}:${match.column}`);
352
- resultLines.push(...match.context);
353
- resultLines.push("");
354
- }
355
-
356
- if (rgMatches.length >= maxResults) {
357
- resultLines.push(
358
- `(Showing first ${maxResults} results. Refine your search for more specific results.)`,
359
- );
360
- }
361
-
362
- return resultLines.join("\n");
363
- }
364
-
365
- // Fallback to manual regex search
366
- let regex: RegExp;
367
- try {
368
- regex = new RegExp(query, "gim");
369
- } catch (error) {
370
- throw new Error(
371
- `Invalid regex pattern: ${query}. ${error instanceof Error ? error.message : ""}`,
372
- );
373
- }
374
-
375
- const matches: SearchMatch[] = [];
376
- let totalFilesSearched = 0;
377
-
378
- const fileList = await getFileIndex(cwd);
379
-
380
- // Search files from the fast index.
381
- for (const relativePath of fileList) {
382
- // Check for abort signal
383
- if (context.abortSignal?.aborted) {
384
- throw new Error("Search operation aborted");
385
- }
386
-
387
- if (
388
- !shouldIncludeFile(
389
- relativePath,
390
- excludeDirsSet,
391
- includeExtensionsSet,
392
- maxDepth,
393
- )
394
- ) {
395
- continue;
396
- }
397
-
398
- if (matches.length >= maxResults) break;
399
-
400
- totalFilesSearched++;
401
- const filePath = path.join(cwd, relativePath);
402
-
403
- try {
404
- const content = await fs.readFile(filePath, "utf-8");
405
- const lines = content.split("\n");
406
-
407
- for (let lineIdx = 0; lineIdx < lines.length; lineIdx++) {
408
- const line = lines[lineIdx];
409
- regex.lastIndex = 0; // Reset regex state
410
-
411
- let match: RegExpExecArray | null;
412
- while ((match = regex.exec(line)) !== null) {
413
- if (matches.length >= maxResults) break;
414
-
415
- // Get context lines
416
- const contextStart = Math.max(0, lineIdx - contextLines);
417
- const contextEnd = Math.min(
418
- lines.length - 1,
419
- lineIdx + contextLines,
420
- );
421
- const contextLinesArr: string[] = [];
422
-
423
- for (let i = contextStart; i <= contextEnd; i++) {
424
- const prefix = i === lineIdx ? ">" : " ";
425
- contextLinesArr.push(`${prefix} ${i + 1}: ${lines[i]}`);
426
- }
427
-
428
- matches.push({
429
- file: relativePath,
430
- line: lineIdx + 1,
431
- column: match.index + 1,
432
- match: match[0],
433
- context: contextLinesArr,
434
- });
435
-
436
- // Prevent infinite loop on zero-length matches
437
- if (match.index === regex.lastIndex) {
438
- regex.lastIndex++;
439
- }
440
- }
441
- }
442
- } catch {}
443
- }
444
-
445
- // Format results
446
- if (matches.length === 0) {
447
- return `No results found for pattern: ${query}\nSearched ${totalFilesSearched} files.`;
448
- }
449
-
450
- const resultLines: string[] = [
451
- `Found ${matches.length} result${matches.length === 1 ? "" : "s"} for pattern: ${query}`,
452
- `Searched ${totalFilesSearched} files.`,
453
- "",
454
- ];
455
-
456
- for (const match of matches) {
457
- resultLines.push(`${match.file}:${match.line}:${match.column}`);
458
- resultLines.push(...match.context);
459
- resultLines.push("");
460
- }
461
-
462
- if (matches.length >= maxResults) {
463
- resultLines.push(
464
- `(Showing first ${maxResults} results. Refine your search for more specific results.)`,
465
- );
466
- }
467
-
468
- return resultLines.join("\n");
469
- };
470
- }
@@ -1,259 +0,0 @@
1
- /**
2
- * Web Fetch Executor
3
- *
4
- * Built-in implementation for fetching web content using native fetch.
5
- */
6
-
7
- import type { ToolContext } from "@clinebot/shared";
8
- import type { WebFetchExecutor } from "../types";
9
-
10
- /**
11
- * Options for the web fetch executor
12
- */
13
- export interface WebFetchExecutorOptions {
14
- /**
15
- * Timeout for fetch requests in milliseconds
16
- * @default 30000 (30 seconds)
17
- */
18
- timeoutMs?: number;
19
-
20
- /**
21
- * Maximum response size in bytes
22
- * @default 5_000_000 (5MB)
23
- */
24
- maxResponseBytes?: number;
25
-
26
- /**
27
- * User agent string
28
- * @default "Mozilla/5.0 (compatible; AgentBot/1.0)"
29
- */
30
- userAgent?: string;
31
-
32
- /**
33
- * Additional headers
34
- */
35
- headers?: Record<string, string>;
36
-
37
- /**
38
- * Whether to follow redirects
39
- * @default true
40
- */
41
- followRedirects?: boolean;
42
-
43
- /**
44
- * Maximum number of redirects to follow
45
- * @default 5
46
- */
47
- maxRedirects?: number;
48
- }
49
-
50
- /**
51
- * Extract text content from HTML
52
- * Simple implementation - strips tags and normalizes whitespace
53
- */
54
- function htmlToText(html: string): string {
55
- return (
56
- html
57
- // Remove script and style elements
58
- .replace(/<script[^>]*>[\s\S]*?<\/script>/gi, "")
59
- .replace(/<style[^>]*>[\s\S]*?<\/style>/gi, "")
60
- // Remove HTML comments
61
- .replace(/<!--[\s\S]*?-->/g, "")
62
- // Replace block elements with newlines
63
- .replace(/<(p|div|br|hr|h[1-6]|li|tr)[^>]*>/gi, "\n")
64
- // Remove all remaining tags
65
- .replace(/<[^>]+>/g, " ")
66
- // Decode HTML entities
67
- .replace(/&nbsp;/g, " ")
68
- .replace(/&amp;/g, "&")
69
- .replace(/&lt;/g, "<")
70
- .replace(/&gt;/g, ">")
71
- .replace(/&quot;/g, '"')
72
- .replace(/&#(\d+);/g, (_, n) => String.fromCharCode(parseInt(n, 10)))
73
- // Normalize whitespace
74
- .replace(/\s+/g, " ")
75
- .replace(/\n\s+/g, "\n")
76
- .replace(/\n{3,}/g, "\n\n")
77
- .trim()
78
- );
79
- }
80
-
81
- /**
82
- * Create a web fetch executor using native fetch
83
- *
84
- * @example
85
- * ```typescript
86
- * const webFetch = createWebFetchExecutor({
87
- * timeoutMs: 15000,
88
- * maxResponseBytes: 2_000_000,
89
- * })
90
- *
91
- * const content = await webFetch(
92
- * "https://docs.example.com/api",
93
- * "Extract the authentication section",
94
- * context
95
- * )
96
- * ```
97
- */
98
- export function createWebFetchExecutor(
99
- options: WebFetchExecutorOptions = {},
100
- ): WebFetchExecutor {
101
- const {
102
- timeoutMs = 30000,
103
- maxResponseBytes = 5_000_000,
104
- userAgent = "Mozilla/5.0 (compatible; AgentBot/1.0)",
105
- headers = {},
106
- followRedirects = true,
107
- // maxRedirects is available in options but native fetch handles it automatically
108
- } = options;
109
-
110
- return async (
111
- url: string,
112
- prompt: string,
113
- context: ToolContext,
114
- ): Promise<string> => {
115
- // Validate URL
116
- let parsedUrl: URL;
117
- try {
118
- parsedUrl = new URL(url);
119
- } catch {
120
- throw new Error(`Invalid URL: ${url}`);
121
- }
122
-
123
- // Only allow http and https
124
- if (!["http:", "https:"].includes(parsedUrl.protocol)) {
125
- throw new Error(
126
- `Invalid protocol: ${parsedUrl.protocol}. Only http and https are supported.`,
127
- );
128
- }
129
-
130
- // Create abort controller for timeout
131
- const controller = new AbortController();
132
- const timeout = setTimeout(() => controller.abort(), timeoutMs);
133
- let contextAbortHandler: (() => void) | undefined;
134
-
135
- // Combine with context abort signal
136
- if (context.abortSignal) {
137
- contextAbortHandler = () => controller.abort();
138
- context.abortSignal.addEventListener("abort", contextAbortHandler);
139
- }
140
-
141
- try {
142
- const response = await fetch(url, {
143
- method: "GET",
144
- headers: {
145
- "User-Agent": userAgent,
146
- Accept:
147
- "text/html,application/xhtml+xml,application/xml;q=0.9,text/plain;q=0.8,*/*;q=0.7",
148
- "Accept-Language": "en-US,en;q=0.9",
149
- ...headers,
150
- },
151
- redirect: followRedirects ? "follow" : "manual",
152
- signal: controller.signal,
153
- });
154
-
155
- clearTimeout(timeout);
156
-
157
- // Check for redirect limit (if we're checking manually)
158
- if (!followRedirects && response.status >= 300 && response.status < 400) {
159
- const location = response.headers.get("location");
160
- return `Redirect to: ${location}`;
161
- }
162
-
163
- // Check response status
164
- if (!response.ok) {
165
- throw new Error(`HTTP ${response.status}: ${response.statusText}`);
166
- }
167
-
168
- // Get content type
169
- const contentType = response.headers.get("content-type") || "";
170
-
171
- // Read response body with size limit
172
- const reader = response.body?.getReader();
173
- if (!reader) {
174
- throw new Error("Failed to read response body");
175
- }
176
-
177
- const chunks: Uint8Array[] = [];
178
- let totalSize = 0;
179
-
180
- while (true) {
181
- const { done, value } = await reader.read();
182
- if (done) break;
183
-
184
- totalSize += value.length;
185
- if (totalSize > maxResponseBytes) {
186
- reader.cancel();
187
- throw new Error(
188
- `Response too large: exceeded ${maxResponseBytes} bytes`,
189
- );
190
- }
191
-
192
- chunks.push(value);
193
- }
194
-
195
- // Combine chunks
196
- const buffer = new Uint8Array(totalSize);
197
- let offset = 0;
198
- for (const chunk of chunks) {
199
- buffer.set(chunk, offset);
200
- offset += chunk.length;
201
- }
202
-
203
- // Decode as text
204
- const text = new TextDecoder("utf-8").decode(buffer);
205
-
206
- // Process content based on type
207
- let content: string;
208
- if (
209
- contentType.includes("text/html") ||
210
- contentType.includes("application/xhtml")
211
- ) {
212
- content = htmlToText(text);
213
- } else if (contentType.includes("application/json")) {
214
- try {
215
- const json = JSON.parse(text);
216
- content = JSON.stringify(json, null, 2);
217
- } catch {
218
- content = text;
219
- }
220
- } else {
221
- content = text;
222
- }
223
-
224
- // Format output with metadata
225
- const outputLines = [
226
- `URL: ${url}`,
227
- `Content-Type: ${contentType}`,
228
- `Size: ${totalSize} bytes`,
229
- ``,
230
- `--- Content ---`,
231
- content.slice(0, 50000), // Limit content size for output
232
- ];
233
-
234
- if (content.length > 50000) {
235
- outputLines.push(
236
- `\n[Content truncated: showing first 50000 of ${content.length} characters]`,
237
- );
238
- }
239
-
240
- outputLines.push(``, `--- Analysis Request ---`, `Prompt: ${prompt}`);
241
-
242
- return outputLines.join("\n");
243
- } catch (error) {
244
- clearTimeout(timeout);
245
-
246
- if (error instanceof Error) {
247
- if (error.name === "AbortError") {
248
- throw new Error(`Request timed out after ${timeoutMs}ms`);
249
- }
250
- throw error;
251
- }
252
- throw new Error(`Fetch failed: ${String(error)}`);
253
- } finally {
254
- if (context.abortSignal && contextAbortHandler) {
255
- context.abortSignal.removeEventListener("abort", contextAbortHandler);
256
- }
257
- }
258
- };
259
- }