@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
package/src/auth/oca.ts DELETED
@@ -1,588 +0,0 @@
1
- import type { ITelemetryService } from "@clinebot/shared";
2
- import { nanoid } from "nanoid";
3
- import {
4
- captureAuthFailed,
5
- captureAuthLoggedOut,
6
- captureAuthStarted,
7
- captureAuthSucceeded,
8
- identifyAccount,
9
- } from "../services/telemetry/core-events";
10
- import { BoundedTtlCache } from "./bounded-ttl-cache";
11
- import { startLocalOAuthServer } from "./server";
12
- import type {
13
- OAuthCredentials,
14
- OAuthLoginCallbacks,
15
- OAuthProviderInterface,
16
- OcaClientMetadata,
17
- OcaMode,
18
- OcaOAuthConfig,
19
- OcaOAuthProviderOptions,
20
- OcaTokenResolution,
21
- } from "./types";
22
- import {
23
- decodeJwtPayload,
24
- getProofKey,
25
- isCredentialLikelyExpired,
26
- normalizeBaseUrl,
27
- resolveAuthorizationCodeInput,
28
- } from "./utils";
29
-
30
- export const DEFAULT_INTERNAL_IDCS_CLIENT_ID =
31
- "a8331954c0cf48ba99b5dd223a14c6ea";
32
- export const DEFAULT_INTERNAL_IDCS_URL =
33
- "https://idcs-9dc693e80d9b469480d7afe00e743931.identity.oraclecloud.com";
34
- export const DEFAULT_INTERNAL_IDCS_SCOPES = "openid offline_access";
35
- export const DEFAULT_INTERNAL_OCA_BASE_URL =
36
- "https://code-internal.aiservice.us-chicago-1.oci.oraclecloud.com/20250206/app/litellm";
37
-
38
- export const DEFAULT_EXTERNAL_IDCS_CLIENT_ID =
39
- "c1aba3deed5740659981a752714eba33";
40
- export const DEFAULT_EXTERNAL_IDCS_URL =
41
- "https://login-ext.identity.oraclecloud.com";
42
- export const DEFAULT_EXTERNAL_IDCS_SCOPES = "openid offline_access";
43
- export const DEFAULT_EXTERNAL_OCA_BASE_URL =
44
- "https://code.aiservice.us-chicago-1.oci.oraclecloud.com/20250206/app/litellm";
45
-
46
- export const OCI_HEADER_OPC_REQUEST_ID = "opc-request-id";
47
-
48
- const DEFAULT_CALLBACK_PATH = "/auth/oca";
49
- const DEFAULT_CALLBACK_PORTS = Array.from(
50
- { length: 11 },
51
- (_, index) => 48801 + index,
52
- );
53
- const DEFAULT_REFRESH_BUFFER_MS = 5 * 60 * 1000;
54
- const DEFAULT_RETRYABLE_TOKEN_GRACE_MS = 30 * 1000;
55
- const DEFAULT_HTTP_TIMEOUT_MS = 30 * 1000;
56
- const PKCE_STATE_TTL_MS = 10 * 60 * 1000;
57
-
58
- type OcaTokenResponse = {
59
- access_token?: string;
60
- refresh_token?: string;
61
- expires_in?: number;
62
- id_token?: string;
63
- error?: string;
64
- error_description?: string;
65
- };
66
-
67
- type OcaDiscoveryDocument = {
68
- token_endpoint?: string;
69
- };
70
-
71
- type OcaAuthFlowState = {
72
- verifier: string;
73
- nonce: string;
74
- mode: OcaMode;
75
- redirectUri: string;
76
- createdAt: number;
77
- };
78
-
79
- class OcaOAuthTokenError extends Error {
80
- public readonly status?: number;
81
- public readonly errorCode?: string;
82
-
83
- constructor(message: string, opts?: { status?: number; errorCode?: string }) {
84
- super(message);
85
- this.name = "OcaOAuthTokenError";
86
- this.status = opts?.status;
87
- this.errorCode = opts?.errorCode;
88
- }
89
-
90
- public isLikelyInvalidGrant(): boolean {
91
- if (
92
- this.errorCode &&
93
- /invalid_grant|invalid_token|unauthorized/i.test(this.errorCode)
94
- ) {
95
- return true;
96
- }
97
- return this.status === 400 || this.status === 401 || this.status === 403;
98
- }
99
- }
100
-
101
- const OCA_CONFIG_DEFAULTS: OcaOAuthConfig = {
102
- internal: {
103
- clientId: DEFAULT_INTERNAL_IDCS_CLIENT_ID,
104
- idcsUrl: DEFAULT_INTERNAL_IDCS_URL,
105
- scopes: DEFAULT_INTERNAL_IDCS_SCOPES,
106
- baseUrl: DEFAULT_INTERNAL_OCA_BASE_URL,
107
- },
108
- external: {
109
- clientId: DEFAULT_EXTERNAL_IDCS_CLIENT_ID,
110
- idcsUrl: DEFAULT_EXTERNAL_IDCS_URL,
111
- scopes: DEFAULT_EXTERNAL_IDCS_SCOPES,
112
- baseUrl: DEFAULT_EXTERNAL_OCA_BASE_URL,
113
- },
114
- };
115
-
116
- const OCA_FLOW_STATE = new Map<string, OcaAuthFlowState>();
117
- /** OpenID discovery documents change rarely; bound memory in long-lived processes. */
118
- const DISCOVERY_CACHE_TTL_MS = 24 * 60 * 60 * 1000;
119
- const DISCOVERY_ERROR_FALLBACK_TTL_MS = 5 * 60 * 1000;
120
- const DISCOVERY_CACHE_MAX_ENTRIES = 32;
121
- const discoveryEndpointCache = new BoundedTtlCache(
122
- DISCOVERY_CACHE_TTL_MS,
123
- DISCOVERY_CACHE_MAX_ENTRIES,
124
- );
125
-
126
- function resolveMode(mode?: OcaMode | (() => OcaMode)): OcaMode {
127
- if (typeof mode === "function") {
128
- return mode();
129
- }
130
- return mode ?? "internal";
131
- }
132
-
133
- function resolveConfig(config?: Partial<OcaOAuthConfig>): OcaOAuthConfig {
134
- return {
135
- internal: {
136
- clientId:
137
- config?.internal?.clientId ?? OCA_CONFIG_DEFAULTS.internal.clientId,
138
- idcsUrl:
139
- config?.internal?.idcsUrl ?? OCA_CONFIG_DEFAULTS.internal.idcsUrl,
140
- scopes: config?.internal?.scopes ?? OCA_CONFIG_DEFAULTS.internal.scopes,
141
- baseUrl:
142
- config?.internal?.baseUrl ?? OCA_CONFIG_DEFAULTS.internal.baseUrl,
143
- },
144
- external: {
145
- clientId:
146
- config?.external?.clientId ?? OCA_CONFIG_DEFAULTS.external.clientId,
147
- idcsUrl:
148
- config?.external?.idcsUrl ?? OCA_CONFIG_DEFAULTS.external.idcsUrl,
149
- scopes: config?.external?.scopes ?? OCA_CONFIG_DEFAULTS.external.scopes,
150
- baseUrl:
151
- config?.external?.baseUrl ?? OCA_CONFIG_DEFAULTS.external.baseUrl,
152
- },
153
- };
154
- }
155
-
156
- function cleanupFlowState(now = Date.now()): void {
157
- const cutoff = now - PKCE_STATE_TTL_MS;
158
- for (const [state, value] of OCA_FLOW_STATE.entries()) {
159
- if (value.createdAt < cutoff) {
160
- OCA_FLOW_STATE.delete(state);
161
- }
162
- }
163
- }
164
-
165
- function resolveExpiryEpochMs(
166
- response: OcaTokenResponse,
167
- accessToken?: string,
168
- idToken?: string,
169
- ): number {
170
- if (typeof response.expires_in === "number" && response.expires_in > 0) {
171
- return Date.now() + response.expires_in * 1000;
172
- }
173
- const accessPayload = decodeJwtPayload(accessToken);
174
- const accessExp = accessPayload?.exp;
175
- if (typeof accessExp === "number" && accessExp > 0) {
176
- return accessExp * 1000;
177
- }
178
- const idPayload = decodeJwtPayload(idToken);
179
- const idExp = idPayload?.exp;
180
- if (typeof idExp === "number" && idExp > 0) {
181
- return idExp * 1000;
182
- }
183
- return Date.now() + 60 * 60 * 1000;
184
- }
185
-
186
- function toOcaCredentials(
187
- response: OcaTokenResponse,
188
- mode: OcaMode,
189
- fallback?: OAuthCredentials,
190
- ): OAuthCredentials {
191
- const accessToken = response.access_token;
192
- if (!accessToken) {
193
- throw new Error("Token response did not include an access token");
194
- }
195
- const refreshToken = response.refresh_token ?? fallback?.refresh;
196
- if (!refreshToken) {
197
- throw new Error("Token response did not include a refresh token");
198
- }
199
-
200
- const idPayload = decodeJwtPayload(response.id_token);
201
- const accessPayload = decodeJwtPayload(accessToken);
202
- const sub =
203
- (idPayload?.sub as string | undefined) ??
204
- (accessPayload?.sub as string | undefined);
205
- const email =
206
- (idPayload?.email as string | undefined) ??
207
- (accessPayload?.email as string | undefined);
208
-
209
- return {
210
- access: accessToken,
211
- refresh: refreshToken,
212
- expires: resolveExpiryEpochMs(response, accessToken, response.id_token),
213
- accountId: sub ?? fallback?.accountId,
214
- email: email ?? fallback?.email,
215
- metadata: {
216
- ...(fallback?.metadata ?? {}),
217
- provider: "oca",
218
- mode,
219
- subject: sub,
220
- idToken: response.id_token,
221
- },
222
- };
223
- }
224
-
225
- async function discoverTokenEndpoint(
226
- idcsUrl: string,
227
- requestTimeoutMs: number,
228
- ): Promise<string> {
229
- const normalizedIdcsUrl = normalizeBaseUrl(idcsUrl);
230
- const cached = discoveryEndpointCache.get(normalizedIdcsUrl);
231
- if (cached) {
232
- return cached;
233
- }
234
-
235
- const discoveryUrl = `${normalizedIdcsUrl}/.well-known/openid-configuration`;
236
- const response = await fetch(discoveryUrl, {
237
- method: "GET",
238
- signal: AbortSignal.timeout(requestTimeoutMs),
239
- });
240
-
241
- if (!response.ok) {
242
- const fallback = `${normalizedIdcsUrl}/oauth2/v1/token`;
243
- discoveryEndpointCache.set(
244
- normalizedIdcsUrl,
245
- fallback,
246
- Date.now(),
247
- DISCOVERY_ERROR_FALLBACK_TTL_MS,
248
- );
249
- return fallback;
250
- }
251
-
252
- const discovery = (await response.json()) as OcaDiscoveryDocument;
253
- const endpoint =
254
- discovery.token_endpoint || `${normalizedIdcsUrl}/oauth2/v1/token`;
255
- discoveryEndpointCache.set(normalizedIdcsUrl, endpoint);
256
- return endpoint;
257
- }
258
-
259
- function parseOAuthErrorPayload(payload: OcaTokenResponse): {
260
- code?: string;
261
- message?: string;
262
- } {
263
- return {
264
- code: payload.error,
265
- message: payload.error_description,
266
- };
267
- }
268
-
269
- async function exchangeAuthorizationCode(input: {
270
- code: string;
271
- state: string;
272
- mode: OcaMode;
273
- config: OcaOAuthConfig;
274
- requestTimeoutMs: number;
275
- }): Promise<OAuthCredentials> {
276
- const flowState = OCA_FLOW_STATE.get(input.state);
277
- if (!flowState) {
278
- throw new Error("No PKCE verifier found for this state");
279
- }
280
- OCA_FLOW_STATE.delete(input.state);
281
-
282
- const envConfig =
283
- input.mode === "external" ? input.config.external : input.config.internal;
284
- const tokenEndpoint = await discoverTokenEndpoint(
285
- envConfig.idcsUrl,
286
- input.requestTimeoutMs,
287
- );
288
-
289
- const body = new URLSearchParams({
290
- grant_type: "authorization_code",
291
- code: input.code,
292
- redirect_uri: flowState.redirectUri,
293
- client_id: envConfig.clientId,
294
- code_verifier: flowState.verifier,
295
- });
296
-
297
- const response = await fetch(tokenEndpoint, {
298
- method: "POST",
299
- headers: { "Content-Type": "application/x-www-form-urlencoded" },
300
- body,
301
- signal: AbortSignal.timeout(input.requestTimeoutMs),
302
- });
303
-
304
- const tokenPayload = (await response.json()) as OcaTokenResponse;
305
- if (!response.ok) {
306
- const details = parseOAuthErrorPayload(tokenPayload);
307
- throw new OcaOAuthTokenError(
308
- `Token exchange failed: ${response.status}${details.message ? ` - ${details.message}` : ""}`,
309
- { status: response.status, errorCode: details.code },
310
- );
311
- }
312
-
313
- const idPayload = decodeJwtPayload(tokenPayload.id_token);
314
- if (!tokenPayload.id_token || !idPayload) {
315
- throw new Error("No ID token received from OCA");
316
- }
317
- if (idPayload.nonce !== flowState.nonce) {
318
- throw new Error("OIDC nonce verification failed");
319
- }
320
-
321
- return toOcaCredentials(tokenPayload, input.mode);
322
- }
323
-
324
- function buildAuthorizationUrl(input: {
325
- callbackUrl: string;
326
- mode: OcaMode;
327
- state: string;
328
- nonce: string;
329
- challenge: string;
330
- config: OcaOAuthConfig;
331
- }): string {
332
- const envConfig =
333
- input.mode === "external" ? input.config.external : input.config.internal;
334
- const authorizeUrl = new URL(
335
- `${normalizeBaseUrl(envConfig.idcsUrl)}/oauth2/v1/authorize`,
336
- );
337
- authorizeUrl.searchParams.set("client_id", envConfig.clientId);
338
- authorizeUrl.searchParams.set("response_type", "code");
339
- authorizeUrl.searchParams.set("scope", envConfig.scopes);
340
- authorizeUrl.searchParams.set("code_challenge", input.challenge);
341
- authorizeUrl.searchParams.set("code_challenge_method", "S256");
342
- authorizeUrl.searchParams.set("redirect_uri", input.callbackUrl);
343
- authorizeUrl.searchParams.set("state", input.state);
344
- authorizeUrl.searchParams.set("nonce", input.nonce);
345
- return authorizeUrl.toString();
346
- }
347
-
348
- export async function loginOcaOAuth(
349
- options: OcaOAuthProviderOptions & {
350
- callbacks: OAuthLoginCallbacks;
351
- telemetry?: ITelemetryService;
352
- },
353
- ): Promise<OAuthCredentials> {
354
- captureAuthStarted(options.telemetry, "oca");
355
- const config = resolveConfig(options.config);
356
- const mode = resolveMode(options.mode);
357
- const callbackPorts = options.callbackPorts?.length
358
- ? options.callbackPorts
359
- : DEFAULT_CALLBACK_PORTS;
360
- const callbackPath = options.callbackPath ?? DEFAULT_CALLBACK_PATH;
361
- const requestTimeoutMs = options.requestTimeoutMs ?? DEFAULT_HTTP_TIMEOUT_MS;
362
-
363
- const localServer = await startLocalOAuthServer({
364
- ports: callbackPorts,
365
- callbackPath,
366
- onListening: options.callbacks.onServerListening,
367
- onClose: options.callbacks.onServerClose,
368
- });
369
- const callbackUrl = localServer.callbackUrl;
370
- if (!callbackUrl) {
371
- throw new Error("Unable to bind local OAuth callback server");
372
- }
373
-
374
- const state = nanoid(16);
375
- const nonce = nanoid(16);
376
- const { verifier, challenge } = await getProofKey();
377
- cleanupFlowState();
378
- OCA_FLOW_STATE.set(state, {
379
- verifier,
380
- nonce,
381
- mode,
382
- redirectUri: callbackUrl,
383
- createdAt: Date.now(),
384
- });
385
-
386
- const authUrl = buildAuthorizationUrl({
387
- callbackUrl,
388
- mode,
389
- state,
390
- nonce,
391
- challenge,
392
- config,
393
- });
394
- options.callbacks.onAuth({
395
- url: authUrl,
396
- instructions: "Continue the authentication process in your browser.",
397
- });
398
-
399
- try {
400
- const authResult = await resolveAuthorizationCodeInput({
401
- waitForCallback: localServer.waitForCallback,
402
- cancelWait: localServer.cancelWait,
403
- onManualCodeInput: options.callbacks.onManualCodeInput,
404
- });
405
- const code = authResult.code;
406
- const returnedState = authResult.state;
407
- if (authResult.error) {
408
- throw new Error(`OAuth error: ${authResult.error}`);
409
- }
410
-
411
- if (!code) {
412
- if (!options.callbacks.onManualCodeInput) {
413
- throw new Error("Timed out waiting for OCA callback");
414
- }
415
- throw new Error("Missing authorization code");
416
- }
417
- if (!returnedState || returnedState !== state) {
418
- throw new Error("State mismatch");
419
- }
420
-
421
- const credentials = await exchangeAuthorizationCode({
422
- code,
423
- state: returnedState,
424
- mode,
425
- config,
426
- requestTimeoutMs,
427
- });
428
- captureAuthSucceeded(options.telemetry, "oca");
429
- identifyAccount(options.telemetry, {
430
- id: credentials.accountId,
431
- email: credentials.email,
432
- provider: "oca",
433
- });
434
- return credentials;
435
- } catch (error) {
436
- captureAuthFailed(
437
- options.telemetry,
438
- "oca",
439
- error instanceof Error ? error.message : String(error),
440
- );
441
- throw error;
442
- } finally {
443
- localServer.close();
444
- }
445
- }
446
-
447
- export async function refreshOcaToken(
448
- credentials: OAuthCredentials,
449
- options: OcaOAuthProviderOptions = {},
450
- ): Promise<OAuthCredentials> {
451
- const config = resolveConfig(options.config);
452
- const requestTimeoutMs = options.requestTimeoutMs ?? DEFAULT_HTTP_TIMEOUT_MS;
453
- const metadataMode = credentials.metadata?.mode;
454
- const mode: OcaMode =
455
- metadataMode === "internal" || metadataMode === "external"
456
- ? metadataMode
457
- : resolveMode(options.mode);
458
- const envConfig = mode === "external" ? config.external : config.internal;
459
- const tokenEndpoint = await discoverTokenEndpoint(
460
- envConfig.idcsUrl,
461
- requestTimeoutMs,
462
- );
463
-
464
- const body = new URLSearchParams({
465
- grant_type: "refresh_token",
466
- refresh_token: credentials.refresh,
467
- client_id: envConfig.clientId,
468
- });
469
-
470
- const response = await fetch(tokenEndpoint, {
471
- method: "POST",
472
- headers: { "Content-Type": "application/x-www-form-urlencoded" },
473
- body,
474
- signal: AbortSignal.timeout(requestTimeoutMs),
475
- });
476
-
477
- const tokenPayload = (await response.json()) as OcaTokenResponse;
478
- if (!response.ok) {
479
- const details = parseOAuthErrorPayload(tokenPayload);
480
- throw new OcaOAuthTokenError(
481
- `Token refresh failed: ${response.status}${details.message ? ` - ${details.message}` : ""}`,
482
- { status: response.status, errorCode: details.code },
483
- );
484
- }
485
-
486
- return toOcaCredentials(tokenPayload, mode, credentials);
487
- }
488
-
489
- export async function getValidOcaCredentials(
490
- currentCredentials: OAuthCredentials | null,
491
- options?: OcaTokenResolution & { telemetry?: ITelemetryService },
492
- providerOptions?: OcaOAuthProviderOptions & { telemetry?: ITelemetryService },
493
- ): Promise<OAuthCredentials | null> {
494
- if (!currentCredentials) {
495
- return null;
496
- }
497
-
498
- const refreshBufferMs =
499
- options?.refreshBufferMs ??
500
- providerOptions?.refreshBufferMs ??
501
- DEFAULT_REFRESH_BUFFER_MS;
502
- const retryableTokenGraceMs =
503
- options?.retryableTokenGraceMs ??
504
- providerOptions?.retryableTokenGraceMs ??
505
- DEFAULT_RETRYABLE_TOKEN_GRACE_MS;
506
- const forceRefresh = options?.forceRefresh === true;
507
-
508
- if (
509
- !forceRefresh &&
510
- !isCredentialLikelyExpired(currentCredentials, refreshBufferMs)
511
- ) {
512
- return currentCredentials;
513
- }
514
-
515
- try {
516
- return await refreshOcaToken(currentCredentials, providerOptions);
517
- } catch (error) {
518
- if (error instanceof OcaOAuthTokenError && error.isLikelyInvalidGrant()) {
519
- captureAuthLoggedOut(providerOptions?.telemetry, "oca", "invalid_grant");
520
- return null;
521
- }
522
- if (currentCredentials.expires - Date.now() > retryableTokenGraceMs) {
523
- return currentCredentials;
524
- }
525
- return null;
526
- }
527
- }
528
-
529
- export function createOcaOAuthProvider(
530
- options: OcaOAuthProviderOptions = {},
531
- ): OAuthProviderInterface {
532
- return {
533
- id: "oca",
534
- name: "Oracle Code Assist",
535
- usesCallbackServer: true,
536
- async login(callbacks) {
537
- return loginOcaOAuth({ ...options, callbacks });
538
- },
539
- async refreshToken(credentials) {
540
- return refreshOcaToken(credentials, options);
541
- },
542
- getApiKey(credentials) {
543
- return credentials.access;
544
- },
545
- };
546
- }
547
-
548
- export async function generateOcaOpcRequestId(
549
- taskId: string,
550
- token: string,
551
- ): Promise<string> {
552
- const encoder = new TextEncoder();
553
- const hash8 = async (value: string): Promise<string> => {
554
- const digest = await crypto.subtle.digest("SHA-256", encoder.encode(value));
555
- return Array.from(new Uint8Array(digest).slice(0, 4), (byte) =>
556
- byte.toString(16).padStart(2, "0"),
557
- ).join("");
558
- };
559
-
560
- const [tokenHex, taskHex] = await Promise.all([hash8(token), hash8(taskId)]);
561
- const timestampHex = Math.floor(Date.now() / 1000)
562
- .toString(16)
563
- .padStart(8, "0");
564
- const randomPart = new Uint32Array(1);
565
- crypto.getRandomValues(randomPart);
566
- const randomHex = (randomPart[0] ?? 0).toString(16).padStart(8, "0");
567
- return tokenHex + taskHex + timestampHex + randomHex;
568
- }
569
-
570
- export async function createOcaRequestHeaders(input: {
571
- accessToken: string;
572
- taskId: string;
573
- metadata?: OcaClientMetadata;
574
- }): Promise<Record<string, string>> {
575
- const opcRequestId = await generateOcaOpcRequestId(
576
- input.taskId,
577
- input.accessToken,
578
- );
579
- return {
580
- Authorization: `Bearer ${input.accessToken}`,
581
- "Content-Type": "application/json",
582
- client: input.metadata?.client ?? "Cline",
583
- "client-version": input.metadata?.clientVersion ?? "unknown",
584
- "client-ide": input.metadata?.clientIde ?? "unknown",
585
- "client-ide-version": input.metadata?.clientIdeVersion ?? "unknown",
586
- [OCI_HEADER_OPC_REQUEST_ID]: opcRequestId,
587
- };
588
- }