@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,265 +0,0 @@
1
- export interface OAuthCallbackPayload {
2
- url: URL;
3
- code?: string;
4
- state?: string;
5
- provider?: string;
6
- error?: string;
7
- }
8
-
9
- type Deferred<T> = {
10
- promise: Promise<T>;
11
- resolve: (value: T) => void;
12
- };
13
-
14
- function createDeferred<T>(): Deferred<T> {
15
- let resolve!: (value: T) => void;
16
- const promise = new Promise<T>((res) => {
17
- resolve = res;
18
- });
19
- return { promise, resolve };
20
- }
21
-
22
- export interface OAuthServerListeningInfo {
23
- host: string;
24
- port: number;
25
- callbackUrl: string;
26
- }
27
-
28
- export interface OAuthServerCloseInfo {
29
- host: string;
30
- port: number;
31
- }
32
-
33
- export interface LocalOAuthServerOptions {
34
- host?: string;
35
- ports: number[];
36
- callbackPath: string;
37
- timeoutMs?: number;
38
- expectedState?: string;
39
- successHtml?: string;
40
- /**
41
- * Called when the local redirect server successfully binds to a port and is
42
- * ready to receive the OAuth callback. Hosts can use this to display a
43
- * "waiting for callback" status indicator or — in remote-development
44
- * environments like JetBrains Gateway — to forward the port from the remote
45
- * machine to the local machine where the user's browser is running.
46
- *
47
- * May be async; `startLocalOAuthServer` will **await** this callback before
48
- * returning so that any setup it performs (e.g. port-forwarding) is
49
- * guaranteed to complete before the caller opens the auth URL. Errors
50
- * thrown by this callback are swallowed — they do not prevent the OAuth
51
- * flow from proceeding.
52
- */
53
- onListening?: (info: OAuthServerListeningInfo) => void | Promise<void>;
54
- /**
55
- * Called when the local redirect server closes, either because the OAuth
56
- * callback was received, the flow was cancelled, or the timeout elapsed.
57
- * Hosts should use this to tear down any port-forward set up in
58
- * `onListening` and clear any "waiting for callback" status UI.
59
- *
60
- * May be async; fired after the underlying server socket is closed.
61
- */
62
- onClose?: (info: OAuthServerCloseInfo) => void | Promise<void>;
63
- }
64
-
65
- export interface LocalOAuthServer {
66
- callbackUrl: string;
67
- waitForCallback: () => Promise<OAuthCallbackPayload | null>;
68
- cancelWait: () => void;
69
- close: () => void;
70
- }
71
-
72
- export async function startLocalOAuthServer(
73
- options: LocalOAuthServerOptions,
74
- ): Promise<LocalOAuthServer> {
75
- const http = await import("node:http");
76
-
77
- const host = options.host ?? "127.0.0.1";
78
- const timeoutMs = options.timeoutMs ?? 5 * 60 * 1000;
79
- const successHtml = options.successHtml ?? HTML_CONTENT;
80
-
81
- const deferred = createDeferred<OAuthCallbackPayload | null>();
82
- let settled = false;
83
- let timeout: ReturnType<typeof setTimeout> | null = null;
84
- let activeServer: import("node:http").Server | null = null;
85
- let boundPort: number | null = null;
86
-
87
- const settle = (value: OAuthCallbackPayload | null) => {
88
- if (settled) return;
89
- settled = true;
90
- deferred.resolve(value);
91
- };
92
-
93
- const close = () => {
94
- if (timeout) {
95
- clearTimeout(timeout);
96
- timeout = null;
97
- }
98
- const closingPort = boundPort;
99
- boundPort = null;
100
- if (activeServer) {
101
- activeServer.close();
102
- activeServer = null;
103
- }
104
- if (closingPort !== null && options.onClose) {
105
- void Promise.resolve(options.onClose({ host, port: closingPort })).catch(
106
- () => {},
107
- );
108
- }
109
- };
110
-
111
- const waitForCallback = async () => {
112
- timeout = setTimeout(() => {
113
- close();
114
- settle(null);
115
- }, timeoutMs);
116
- return deferred.promise;
117
- };
118
-
119
- for (const port of options.ports) {
120
- const server = http.createServer((req, res) => {
121
- try {
122
- const requestUrl = new URL(req.url || "", `http://${host}:${port}`);
123
- if (requestUrl.pathname !== options.callbackPath) {
124
- res.statusCode = 404;
125
- res.end("Not found");
126
- return;
127
- }
128
-
129
- const payload: OAuthCallbackPayload = {
130
- url: requestUrl,
131
- code: requestUrl.searchParams.get("code") ?? undefined,
132
- state: requestUrl.searchParams.get("state") ?? undefined,
133
- provider: requestUrl.searchParams.get("provider") ?? undefined,
134
- error: requestUrl.searchParams.get("error") ?? undefined,
135
- };
136
-
137
- if (payload.error) {
138
- res.statusCode = 400;
139
- res.end(`Authentication failed: ${payload.error}`);
140
- close();
141
- settle(payload);
142
- return;
143
- }
144
-
145
- if (!payload.code) {
146
- res.statusCode = 400;
147
- res.end("Missing authorization code");
148
- return;
149
- }
150
-
151
- if (options.expectedState && payload.state !== options.expectedState) {
152
- res.statusCode = 400;
153
- res.end("State mismatch");
154
- return;
155
- }
156
-
157
- res.statusCode = 200;
158
- res.setHeader("Content-Type", "text/html; charset=utf-8");
159
- res.end(successHtml);
160
- close();
161
- settle(payload);
162
- } catch {
163
- res.statusCode = 500;
164
- res.end("Internal error");
165
- }
166
- });
167
-
168
- const bindResult = await new Promise<{
169
- bound: boolean;
170
- error?: NodeJS.ErrnoException;
171
- }>((resolve) => {
172
- const onError = (error: NodeJS.ErrnoException) => {
173
- server.off("error", onError);
174
- resolve({ bound: false, error });
175
- };
176
-
177
- server.once("error", onError);
178
- server.listen(port, host, () => {
179
- server.off("error", onError);
180
- activeServer = server;
181
- resolve({ bound: true });
182
- });
183
- });
184
-
185
- if (bindResult.error) {
186
- if (bindResult.error.code === "EADDRINUSE") {
187
- continue;
188
- }
189
- close();
190
- throw bindResult.error;
191
- }
192
-
193
- if (bindResult.bound) {
194
- boundPort = port;
195
- const callbackUrl = `http://${host}:${port}${options.callbackPath}`;
196
- if (options.onListening) {
197
- await Promise.resolve(
198
- options.onListening({ host, port, callbackUrl }),
199
- ).catch(() => {});
200
- }
201
- return {
202
- callbackUrl,
203
- waitForCallback,
204
- cancelWait: () => {
205
- close();
206
- settle(null);
207
- },
208
- close: () => {
209
- close();
210
- settle(null);
211
- },
212
- };
213
- }
214
- }
215
-
216
- return {
217
- callbackUrl: "",
218
- waitForCallback: async () => null,
219
- cancelWait: () => {},
220
- close: () => {},
221
- };
222
- }
223
-
224
- const HTML_CONTENT = `<!DOCTYPE html>
225
- <html lang="en">
226
- <head>
227
- <meta charset="utf-8">
228
- <meta name="viewport" content="width=device-width, initial-scale=1">
229
- <title>Authentication Successful</title>
230
- <style>
231
- * { margin: 0; padding: 0; box-sizing: border-box; }
232
- body {
233
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
234
- min-height: 100vh;
235
- display: flex;
236
- align-items: center;
237
- justify-content: center;
238
- background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
239
- color: #fff;
240
- }
241
- .container { text-align: center; padding: 48px; max-width: 420px; }
242
- .icon {
243
- width: 72px; height: 72px; margin: 0 auto 24px;
244
- background: linear-gradient(135deg, #10a37f 0%, #1a7f64 100%);
245
- border-radius: 50%;
246
- display: flex; align-items: center; justify-content: center;
247
- }
248
- .icon svg { width: 36px; height: 36px; stroke: #fff; stroke-width: 3; fill: none; }
249
- h1 { font-size: 24px; font-weight: 600; margin-bottom: 12px; }
250
- p { font-size: 15px; color: rgba(255,255,255,0.7); line-height: 1.5; }
251
- .closing { margin-top: 32px; font-size: 13px; color: rgba(255,255,255,0.5); }
252
- </style>
253
- </head>
254
- <body>
255
- <div class="container">
256
- <div class="icon">
257
- <svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"></polyline></svg>
258
- </div>
259
- <h1>Authentication Successful</h1>
260
- <p>You're now signed in. You can close this window.</p>
261
- <p class="closing">This window will close automatically...</p>
262
- </div>
263
- <script>setTimeout(() => window.close(), 3000);</script>
264
- </body>
265
- </html>`;
package/src/auth/types.ts DELETED
@@ -1,110 +0,0 @@
1
- import type { ITelemetryService } from "@clinebot/shared";
2
- import type { OAuthServerCloseInfo, OAuthServerListeningInfo } from "./server";
3
-
4
- export interface OAuthPrompt {
5
- message: string;
6
- defaultValue?: string;
7
- }
8
-
9
- export interface OAuthCredentials {
10
- access: string;
11
- refresh: string;
12
- /**
13
- * Expiration timestamp in milliseconds since epoch.
14
- */
15
- expires: number;
16
- /**
17
- * Optional provider-specific account identifier.
18
- */
19
- accountId?: string;
20
- /**
21
- * Optional email for display/telemetry.
22
- */
23
- email?: string;
24
- /**
25
- * Provider-specific metadata (user info, provider hint, etc).
26
- */
27
- metadata?: Record<string, unknown>;
28
- }
29
-
30
- export interface OAuthLoginCallbacks {
31
- onAuth: (info: { url: string; instructions?: string }) => void;
32
- onPrompt: (prompt: OAuthPrompt) => Promise<string>;
33
- onProgress?: (message: string) => void;
34
- onManualCodeInput?: () => Promise<string>;
35
- /**
36
- * Called when the local OAuth redirect server successfully binds to a port
37
- * and is ready to receive the browser callback. The `info` object contains
38
- * the host, the bound port number, and the full `callbackUrl`.
39
- *
40
- * Use this to:
41
- * - Show a "waiting for OAuth callback on port N" status indicator in your UI.
42
- * - Forward the port in remote-development environments (e.g. JetBrains
43
- * Gateway) from the remote machine to the machine running the browser.
44
- *
45
- * Paired with `onServerClose` for teardown.
46
- *
47
- * Only fired when the provider uses a local callback server
48
- * (`OAuthProviderInterface.usesCallbackServer === true`).
49
- */
50
- onServerListening?: (info: OAuthServerListeningInfo) => void | Promise<void>;
51
- /**
52
- * Called when the local OAuth redirect server closes — either because the
53
- * callback was received, the flow was cancelled, or the timeout elapsed.
54
- *
55
- * Use this to:
56
- * - Clear any "waiting for callback" status UI shown in `onServerListening`.
57
- * - Tear down port-forwards set up in `onServerListening`.
58
- *
59
- * Only fired when the provider uses a local callback server
60
- * (`OAuthProviderInterface.usesCallbackServer === true`).
61
- */
62
- onServerClose?: (info: OAuthServerCloseInfo) => void | Promise<void>;
63
- }
64
-
65
- export interface OAuthProviderInterface {
66
- id: string;
67
- name: string;
68
- usesCallbackServer: boolean;
69
- login(callbacks: OAuthLoginCallbacks): Promise<OAuthCredentials>;
70
- refreshToken(credentials: OAuthCredentials): Promise<OAuthCredentials>;
71
- getApiKey(credentials: OAuthCredentials): string;
72
- }
73
-
74
- export type OcaMode = "internal" | "external";
75
-
76
- export interface OcaOAuthEnvironmentConfig {
77
- clientId: string;
78
- idcsUrl: string;
79
- scopes: string;
80
- baseUrl: string;
81
- }
82
-
83
- export interface OcaOAuthConfig {
84
- internal: OcaOAuthEnvironmentConfig;
85
- external: OcaOAuthEnvironmentConfig;
86
- }
87
-
88
- export interface OcaClientMetadata {
89
- client?: string;
90
- clientVersion?: string;
91
- clientIde?: string;
92
- clientIdeVersion?: string;
93
- }
94
-
95
- export interface OcaOAuthProviderOptions {
96
- config?: Partial<OcaOAuthConfig>;
97
- mode?: OcaMode | (() => OcaMode);
98
- callbackPath?: string;
99
- callbackPorts?: number[];
100
- requestTimeoutMs?: number;
101
- refreshBufferMs?: number;
102
- retryableTokenGraceMs?: number;
103
- telemetry?: ITelemetryService;
104
- }
105
-
106
- export interface OcaTokenResolution {
107
- forceRefresh?: boolean;
108
- refreshBufferMs?: number;
109
- retryableTokenGraceMs?: number;
110
- }
package/src/auth/utils.ts DELETED
@@ -1,247 +0,0 @@
1
- import type { OAuthCallbackPayload } from "./server";
2
- import type { OAuthCredentials } from "./types";
3
-
4
- function base64UrlEncode(input: Uint8Array): string {
5
- let binary = "";
6
- for (let i = 0; i < input.length; i += 1) {
7
- binary += String.fromCharCode(input[i] ?? 0);
8
- }
9
- return btoa(binary)
10
- .replace(/\+/g, "-")
11
- .replace(/\//g, "_")
12
- .replace(/=+$/g, "");
13
- }
14
-
15
- async function sha256(value: string): Promise<Uint8Array> {
16
- const encoder = new TextEncoder();
17
- const data = encoder.encode(value);
18
- const digest = await crypto.subtle.digest("SHA-256", data);
19
- return new Uint8Array(digest);
20
- }
21
-
22
- function createVerifier(byteLength = 32): string {
23
- const randomBytes = new Uint8Array(byteLength);
24
- crypto.getRandomValues(randomBytes);
25
- return base64UrlEncode(randomBytes);
26
- }
27
-
28
- export async function getProofKey(): Promise<{
29
- verifier: string;
30
- challenge: string;
31
- }> {
32
- const verifier = createVerifier();
33
- const challenge = base64UrlEncode(await sha256(verifier));
34
- return { verifier, challenge };
35
- }
36
-
37
- export function normalizeBaseUrl(value: string): string {
38
- return value.endsWith("/") ? value.slice(0, -1) : value;
39
- }
40
-
41
- export function resolveUrl(baseUrl: string, path: string): string {
42
- return new URL(path, `${normalizeBaseUrl(baseUrl)}/`).toString();
43
- }
44
-
45
- export type ParsedAuthorizationInput = {
46
- code?: string;
47
- state?: string;
48
- provider?: string;
49
- };
50
-
51
- export type ParseAuthorizationInputOptions = {
52
- includeProvider?: boolean;
53
- allowHashCodeState?: boolean;
54
- };
55
-
56
- export function parseAuthorizationInput(
57
- input: string,
58
- options: ParseAuthorizationInputOptions = {},
59
- ): ParsedAuthorizationInput {
60
- const value = input.trim();
61
- if (!value) {
62
- return {};
63
- }
64
-
65
- try {
66
- const url = new URL(value);
67
- return {
68
- code: url.searchParams.get("code") ?? undefined,
69
- state: url.searchParams.get("state") ?? undefined,
70
- provider: options.includeProvider
71
- ? (url.searchParams.get("provider") ?? undefined)
72
- : undefined,
73
- };
74
- } catch {
75
- // not a URL
76
- }
77
-
78
- if (options.allowHashCodeState && value.includes("#")) {
79
- const [code, state] = value.split("#", 2);
80
- return {
81
- code: code || undefined,
82
- state: state || undefined,
83
- };
84
- }
85
-
86
- if (value.includes("code=")) {
87
- const params = new URLSearchParams(value);
88
- return {
89
- code: params.get("code") ?? undefined,
90
- state: params.get("state") ?? undefined,
91
- provider: options.includeProvider
92
- ? (params.get("provider") ?? undefined)
93
- : undefined,
94
- };
95
- }
96
-
97
- return { code: value };
98
- }
99
-
100
- function decodeBase64(value: string): string | null {
101
- if (typeof atob === "function") {
102
- try {
103
- return atob(value);
104
- } catch {
105
- return null;
106
- }
107
- }
108
-
109
- if (typeof Buffer !== "undefined") {
110
- try {
111
- return Buffer.from(value, "base64").toString("utf8");
112
- } catch {
113
- return null;
114
- }
115
- }
116
-
117
- return null;
118
- }
119
-
120
- export function decodeJwtPayload(
121
- token?: string,
122
- ): Record<string, unknown> | null {
123
- if (!token) {
124
- return null;
125
- }
126
-
127
- try {
128
- const parts = token.split(".");
129
- if (parts.length !== 3) {
130
- return null;
131
- }
132
-
133
- const payload = parts[1];
134
- if (!payload) {
135
- return null;
136
- }
137
-
138
- const normalized = payload.replace(/-/g, "+").replace(/_/g, "/");
139
- const padded = normalized.padEnd(
140
- normalized.length + ((4 - (normalized.length % 4)) % 4),
141
- "=",
142
- );
143
- const decoded = decodeBase64(padded);
144
- if (!decoded) {
145
- return null;
146
- }
147
- return JSON.parse(decoded) as Record<string, unknown>;
148
- } catch {
149
- return null;
150
- }
151
- }
152
-
153
- export function parseOAuthError(text: string): {
154
- code?: string;
155
- message?: string;
156
- } {
157
- try {
158
- const json = JSON.parse(text) as Record<string, unknown>;
159
- const error = json.error;
160
- const code =
161
- typeof error === "string"
162
- ? error
163
- : error &&
164
- typeof error === "object" &&
165
- typeof (error as Record<string, unknown>).type === "string"
166
- ? ((error as Record<string, unknown>).type as string)
167
- : undefined;
168
- const message =
169
- typeof json.error_description === "string"
170
- ? json.error_description
171
- : typeof json.message === "string"
172
- ? json.message
173
- : error &&
174
- typeof error === "object" &&
175
- typeof (error as Record<string, unknown>).message === "string"
176
- ? ((error as Record<string, unknown>).message as string)
177
- : undefined;
178
- return { code, message };
179
- } catch {
180
- return {};
181
- }
182
- }
183
-
184
- export function isCredentialLikelyExpired(
185
- credentials: Pick<OAuthCredentials, "expires">,
186
- refreshBufferMs: number,
187
- ): boolean {
188
- return Date.now() >= credentials.expires - refreshBufferMs;
189
- }
190
-
191
- export async function resolveAuthorizationCodeInput(input: {
192
- waitForCallback: () => Promise<OAuthCallbackPayload | null>;
193
- cancelWait: () => void;
194
- onManualCodeInput?: () => Promise<string>;
195
- parseOptions?: ParseAuthorizationInputOptions;
196
- }): Promise<ParsedAuthorizationInput & { error?: string }> {
197
- if (!input.onManualCodeInput) {
198
- const callbackResult = await input.waitForCallback();
199
- return {
200
- code: callbackResult?.code,
201
- state: callbackResult?.state,
202
- provider: callbackResult?.provider,
203
- error: callbackResult?.error,
204
- };
205
- }
206
-
207
- let manualInput: string | undefined;
208
- let manualError: Error | undefined;
209
- const manualPromise = input
210
- .onManualCodeInput()
211
- .then((value) => {
212
- manualInput = value;
213
- input.cancelWait();
214
- })
215
- .catch((error: unknown) => {
216
- manualError = error instanceof Error ? error : new Error(String(error));
217
- input.cancelWait();
218
- });
219
-
220
- const callbackResult = await input.waitForCallback();
221
- if (manualError) {
222
- throw manualError;
223
- }
224
-
225
- if (callbackResult?.code || callbackResult?.error) {
226
- return {
227
- code: callbackResult.code,
228
- state: callbackResult.state,
229
- provider: callbackResult.provider,
230
- error: callbackResult.error,
231
- };
232
- }
233
-
234
- if (manualInput) {
235
- return parseAuthorizationInput(manualInput, input.parseOptions);
236
- }
237
-
238
- await manualPromise;
239
- if (manualError) {
240
- throw manualError;
241
- }
242
- if (manualInput) {
243
- return parseAuthorizationInput(manualInput, input.parseOptions);
244
- }
245
-
246
- return {};
247
- }