cloving 0.3.19 → 1.0.1

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 (507) hide show
  1. package/{LICENSE.md → LICENSE} +1 -1
  2. package/README.md +475 -182
  3. package/dist/src/authority/budgets.d.ts +12 -0
  4. package/dist/src/authority/budgets.js +42 -0
  5. package/dist/src/authority/commands.d.ts +7 -0
  6. package/dist/src/authority/commands.js +263 -0
  7. package/dist/src/authority/details.d.ts +28 -0
  8. package/dist/src/authority/details.js +33 -0
  9. package/dist/src/authority/dispatch-decision.d.ts +40 -0
  10. package/dist/src/authority/dispatch-decision.js +47 -0
  11. package/dist/src/authority/effect-requests.d.ts +2 -0
  12. package/dist/src/authority/effect-requests.js +139 -0
  13. package/dist/src/authority/effect-results.d.ts +4 -0
  14. package/dist/src/authority/effect-results.js +236 -0
  15. package/dist/src/authority/events.d.ts +2 -0
  16. package/dist/src/authority/events.js +45 -0
  17. package/dist/src/authority/gate-reduction.d.ts +8 -0
  18. package/dist/src/authority/gate-reduction.js +109 -0
  19. package/dist/src/authority/gates.d.ts +48 -0
  20. package/dist/src/authority/gates.js +77 -0
  21. package/dist/src/authority/history-state.d.ts +15 -0
  22. package/dist/src/authority/history-state.js +61 -0
  23. package/dist/src/authority/history.d.ts +13 -0
  24. package/dist/src/authority/history.js +37 -0
  25. package/dist/src/authority/instants.d.ts +3 -0
  26. package/dist/src/authority/instants.js +38 -0
  27. package/dist/src/authority/leases.d.ts +15 -0
  28. package/dist/src/authority/leases.js +113 -0
  29. package/dist/src/authority/operations.d.ts +101 -0
  30. package/dist/src/authority/operations.js +75 -0
  31. package/dist/src/authority/reconciliation.d.ts +27 -0
  32. package/dist/src/authority/reconciliation.js +147 -0
  33. package/dist/src/authority/reducer.d.ts +41 -0
  34. package/dist/src/authority/reducer.js +139 -0
  35. package/dist/src/authority/reduction-state.d.ts +36 -0
  36. package/dist/src/authority/reduction-state.js +68 -0
  37. package/dist/src/authority/reduction.d.ts +6 -0
  38. package/dist/src/authority/reduction.js +160 -0
  39. package/dist/src/authority/status-closure.d.ts +4 -0
  40. package/dist/src/authority/status-closure.js +57 -0
  41. package/dist/src/authority/status-effects.d.ts +17 -0
  42. package/dist/src/authority/status-effects.js +43 -0
  43. package/dist/src/authority/status-input.d.ts +45 -0
  44. package/dist/src/authority/status-input.js +9 -0
  45. package/dist/src/authority/status.d.ts +32 -0
  46. package/dist/src/authority/status.js +256 -0
  47. package/dist/src/authority/stop-sequence.d.ts +37 -0
  48. package/dist/src/authority/stop-sequence.js +91 -0
  49. package/dist/src/authority/transitions.d.ts +63 -0
  50. package/dist/src/authority/transitions.js +122 -0
  51. package/dist/src/broker/actor/adapter-calls.d.ts +13 -0
  52. package/dist/src/broker/actor/adapter-calls.js +34 -0
  53. package/dist/src/broker/actor/adapter-outcomes.d.ts +28 -0
  54. package/dist/src/broker/actor/adapter-outcomes.js +80 -0
  55. package/dist/src/broker/actor/authority-actor.d.ts +25 -0
  56. package/dist/src/broker/actor/authority-actor.js +169 -0
  57. package/dist/src/broker/actor/authority-changes.d.ts +31 -0
  58. package/dist/src/broker/actor/authority-changes.js +46 -0
  59. package/dist/src/broker/actor/authority-connection.d.ts +15 -0
  60. package/dist/src/broker/actor/authority-connection.js +44 -0
  61. package/dist/src/broker/actor/authority-conversion.d.ts +10 -0
  62. package/dist/src/broker/actor/authority-conversion.js +72 -0
  63. package/dist/src/broker/actor/authority-delivery.d.ts +13 -0
  64. package/dist/src/broker/actor/authority-delivery.js +162 -0
  65. package/dist/src/broker/actor/authority-logger.d.ts +2 -0
  66. package/dist/src/broker/actor/authority-logger.js +19 -0
  67. package/dist/src/broker/actor/authority-policy.d.ts +9 -0
  68. package/dist/src/broker/actor/authority-policy.js +11 -0
  69. package/dist/src/broker/actor/authority-queries.d.ts +45 -0
  70. package/dist/src/broker/actor/authority-queries.js +85 -0
  71. package/dist/src/broker/actor/authority-receipts.d.ts +28 -0
  72. package/dist/src/broker/actor/authority-receipts.js +84 -0
  73. package/dist/src/broker/actor/authority-release.d.ts +13 -0
  74. package/dist/src/broker/actor/authority-release.js +69 -0
  75. package/dist/src/broker/actor/authority-runtime.d.ts +60 -0
  76. package/dist/src/broker/actor/authority-runtime.js +204 -0
  77. package/dist/src/broker/actor/authority-session.d.ts +65 -0
  78. package/dist/src/broker/actor/authority-session.js +252 -0
  79. package/dist/src/broker/actor/authority-settings.d.ts +33 -0
  80. package/dist/src/broker/actor/authority-settings.js +63 -0
  81. package/dist/src/broker/actor/authority-upgrades.d.ts +16 -0
  82. package/dist/src/broker/actor/authority-upgrades.js +12 -0
  83. package/dist/src/broker/actor/authority-watchdog.d.ts +14 -0
  84. package/dist/src/broker/actor/authority-watchdog.js +41 -0
  85. package/dist/src/broker/actor/authority.d.ts +14 -0
  86. package/dist/src/broker/actor/authority.js +115 -0
  87. package/dist/src/broker/actor/delivery-intents.d.ts +68 -0
  88. package/dist/src/broker/actor/delivery-intents.js +77 -0
  89. package/dist/src/broker/actor/delivery-plan.d.ts +2 -0
  90. package/dist/src/broker/actor/delivery-plan.js +109 -0
  91. package/dist/src/broker/actor/delivery-results.d.ts +11 -0
  92. package/dist/src/broker/actor/delivery-results.js +63 -0
  93. package/dist/src/broker/actor/effect-delivery.d.ts +19 -0
  94. package/dist/src/broker/actor/effect-delivery.js +118 -0
  95. package/dist/src/broker/actor/effect-plan.d.ts +41 -0
  96. package/dist/src/broker/actor/effect-plan.js +173 -0
  97. package/dist/src/broker/actor/effect-queries.d.ts +27 -0
  98. package/dist/src/broker/actor/effect-queries.js +80 -0
  99. package/dist/src/broker/actor/effect-turn.d.ts +25 -0
  100. package/dist/src/broker/actor/effect-turn.js +84 -0
  101. package/dist/src/broker/actor/pin-check.d.ts +6 -0
  102. package/dist/src/broker/actor/pin-check.js +12 -0
  103. package/dist/src/broker/actor/runtime-parts.d.ts +23 -0
  104. package/dist/src/broker/actor/runtime-parts.js +34 -0
  105. package/dist/src/broker/actor/stop-plan.d.ts +20 -0
  106. package/dist/src/broker/actor/stop-plan.js +46 -0
  107. package/dist/src/broker/actor/stop-turn.d.ts +17 -0
  108. package/dist/src/broker/actor/stop-turn.js +42 -0
  109. package/dist/src/broker/actor/turn-draft.d.ts +31 -0
  110. package/dist/src/broker/actor/turn-draft.js +138 -0
  111. package/dist/src/broker/actor/turn-plan.d.ts +17 -0
  112. package/dist/src/broker/actor/turn-plan.js +136 -0
  113. package/dist/src/broker/actor/turn-refusals.d.ts +8 -0
  114. package/dist/src/broker/actor/turn-refusals.js +35 -0
  115. package/dist/src/broker/actor/turn-staging.d.ts +78 -0
  116. package/dist/src/broker/actor/turn-staging.js +34 -0
  117. package/dist/src/broker/actor/turn-state.d.ts +34 -0
  118. package/dist/src/broker/actor/turn-state.js +208 -0
  119. package/dist/src/broker/authority-admission.d.ts +21 -0
  120. package/dist/src/broker/authority-admission.js +70 -0
  121. package/dist/src/broker/authority-restore.d.ts +30 -0
  122. package/dist/src/broker/authority-restore.js +165 -0
  123. package/dist/src/broker/decision-restore.d.ts +16 -0
  124. package/dist/src/broker/decision-restore.js +158 -0
  125. package/dist/src/broker/decision-upgrade.d.ts +3 -0
  126. package/dist/src/broker/decision-upgrade.js +12 -0
  127. package/dist/src/broker/effect-restore.d.ts +20 -0
  128. package/dist/src/broker/effect-restore.js +111 -0
  129. package/dist/src/broker/effect-upgrade.d.ts +3 -0
  130. package/dist/src/broker/effect-upgrade.js +9 -0
  131. package/dist/src/broker/operation-digest.d.ts +1 -0
  132. package/dist/src/broker/operation-digest.js +4 -0
  133. package/dist/src/broker/socket-address.d.ts +9 -0
  134. package/dist/src/broker/socket-address.js +14 -0
  135. package/dist/src/broker/workflow-pin.d.ts +2 -0
  136. package/dist/src/broker/workflow-pin.js +5 -0
  137. package/dist/src/chats/destination.d.ts +4 -0
  138. package/dist/src/chats/destination.js +94 -0
  139. package/dist/src/chats/import.d.ts +13 -0
  140. package/dist/src/chats/import.js +71 -0
  141. package/dist/src/chats/normalize.d.ts +20 -0
  142. package/dist/src/chats/normalize.js +139 -0
  143. package/dist/src/chats/reader.d.ts +15 -0
  144. package/dist/src/chats/reader.js +87 -0
  145. package/dist/src/cli/arguments.d.ts +23 -0
  146. package/dist/src/cli/arguments.js +154 -0
  147. package/dist/src/cli/client.d.ts +15 -0
  148. package/dist/src/cli/client.js +122 -0
  149. package/dist/src/cli/commands.d.ts +14 -0
  150. package/dist/src/cli/commands.js +253 -0
  151. package/dist/src/cli/main.d.ts +1 -0
  152. package/dist/src/cli/main.js +80 -0
  153. package/dist/src/cli/render.d.ts +8 -0
  154. package/dist/src/cli/render.js +186 -0
  155. package/dist/src/cli/runtime-arguments.d.ts +73 -0
  156. package/dist/src/cli/runtime-arguments.js +248 -0
  157. package/dist/src/cli/runtime-directory.d.ts +4 -0
  158. package/dist/src/cli/runtime-directory.js +25 -0
  159. package/dist/src/cli/toolchain.d.ts +3 -0
  160. package/dist/src/cli/toolchain.js +74 -0
  161. package/dist/src/cli/usage.d.ts +4 -0
  162. package/dist/src/cli/usage.js +124 -0
  163. package/dist/src/cli/validate.d.ts +38 -0
  164. package/dist/src/cli/validate.js +116 -0
  165. package/dist/src/cli/watch-board-view.d.ts +22 -0
  166. package/dist/src/cli/watch-board-view.js +128 -0
  167. package/dist/src/cli/watch-board.d.ts +15 -0
  168. package/dist/src/cli/watch-board.js +174 -0
  169. package/dist/src/cli/watch-element.d.ts +11 -0
  170. package/dist/src/cli/watch-element.js +6 -0
  171. package/dist/src/cli/watch-model.d.ts +29 -0
  172. package/dist/src/cli/watch-model.js +261 -0
  173. package/dist/src/cli/watch-navigation.d.ts +9 -0
  174. package/dist/src/cli/watch-navigation.js +40 -0
  175. package/dist/src/cli/watch-page.d.ts +1 -0
  176. package/dist/src/cli/watch-page.js +272 -0
  177. package/dist/src/cli/watch-paths.d.ts +2 -0
  178. package/dist/src/cli/watch-paths.js +52 -0
  179. package/dist/src/cli/watch-phases.d.ts +7 -0
  180. package/dist/src/cli/watch-phases.js +148 -0
  181. package/dist/src/cli/watch-reads.d.ts +28 -0
  182. package/dist/src/cli/watch-reads.js +244 -0
  183. package/dist/src/cli/watch-render.d.ts +139 -0
  184. package/dist/src/cli/watch-render.js +95 -0
  185. package/dist/src/cli/watch-server.d.ts +10 -0
  186. package/dist/src/cli/watch-server.js +176 -0
  187. package/dist/src/cli/watch-stream.d.ts +11 -0
  188. package/dist/src/cli/watch-stream.js +128 -0
  189. package/dist/src/cli/watch-turn.d.ts +29 -0
  190. package/dist/src/cli/watch-turn.js +130 -0
  191. package/dist/src/cli/watch-view.d.ts +39 -0
  192. package/dist/src/cli/watch-view.js +223 -0
  193. package/dist/src/cli.d.ts +2 -0
  194. package/dist/src/cli.js +62 -0
  195. package/dist/src/daemon/claude-turn.d.ts +28 -0
  196. package/dist/src/daemon/claude-turn.js +135 -0
  197. package/dist/src/daemon/claude-worker.d.ts +26 -0
  198. package/dist/src/daemon/claude-worker.js +224 -0
  199. package/dist/src/daemon/codex-stream.d.ts +4 -0
  200. package/dist/src/daemon/codex-stream.js +113 -0
  201. package/dist/src/daemon/daemon.d.ts +46 -0
  202. package/dist/src/daemon/daemon.js +186 -0
  203. package/dist/src/daemon/delivery-router.d.ts +10 -0
  204. package/dist/src/daemon/delivery-router.js +34 -0
  205. package/dist/src/daemon/github-calls.d.ts +29 -0
  206. package/dist/src/daemon/github-calls.js +127 -0
  207. package/dist/src/daemon/github-issue-methods.d.ts +3 -0
  208. package/dist/src/daemon/github-issue-methods.js +99 -0
  209. package/dist/src/daemon/github-issue-privacy.d.ts +6 -0
  210. package/dist/src/daemon/github-issue-privacy.js +131 -0
  211. package/dist/src/daemon/github-merge.d.ts +18 -0
  212. package/dist/src/daemon/github-merge.js +259 -0
  213. package/dist/src/daemon/github-methods.d.ts +5 -0
  214. package/dist/src/daemon/github-methods.js +198 -0
  215. package/dist/src/daemon/github-operation.d.ts +38 -0
  216. package/dist/src/daemon/github-operation.js +57 -0
  217. package/dist/src/daemon/github-worker.d.ts +17 -0
  218. package/dist/src/daemon/github-worker.js +281 -0
  219. package/dist/src/daemon/host-environment.d.ts +8 -0
  220. package/dist/src/daemon/host-environment.js +14 -0
  221. package/dist/src/daemon/issue-queue.d.ts +9 -0
  222. package/dist/src/daemon/issue-queue.js +163 -0
  223. package/dist/src/daemon/notify-message.d.ts +14 -0
  224. package/dist/src/daemon/notify-message.js +48 -0
  225. package/dist/src/daemon/notify.d.ts +12 -0
  226. package/dist/src/daemon/notify.js +161 -0
  227. package/dist/src/daemon/operation-journal.d.ts +42 -0
  228. package/dist/src/daemon/operation-journal.js +53 -0
  229. package/dist/src/daemon/ticket-registration.d.ts +33 -0
  230. package/dist/src/daemon/ticket-registration.js +177 -0
  231. package/dist/src/daemon/ticket-source.d.ts +17 -0
  232. package/dist/src/daemon/ticket-source.js +36 -0
  233. package/dist/src/daemon/work-tree.d.ts +26 -0
  234. package/dist/src/daemon/work-tree.js +206 -0
  235. package/dist/src/effect-authorization.d.ts +21 -0
  236. package/dist/src/effect-authorization.js +14 -0
  237. package/dist/src/execution-pin.d.ts +4 -0
  238. package/dist/src/execution-pin.js +68 -0
  239. package/dist/src/host/start-delivery.d.ts +41 -0
  240. package/dist/src/host/start-delivery.js +68 -0
  241. package/dist/src/host/step-bridge-host.d.ts +79 -0
  242. package/dist/src/host/step-bridge-host.js +205 -0
  243. package/dist/src/host/step-claims.d.ts +31 -0
  244. package/dist/src/host/step-claims.js +85 -0
  245. package/dist/src/host/world-host.d.ts +21 -0
  246. package/dist/src/host/world-host.js +51 -0
  247. package/dist/src/host/world-reconciliation.d.ts +37 -0
  248. package/dist/src/host/world-reconciliation.js +75 -0
  249. package/dist/src/host/world-runs.d.ts +14 -0
  250. package/dist/src/host/world-runs.js +61 -0
  251. package/dist/src/operation-identity.d.ts +7 -0
  252. package/dist/src/operation-identity.js +59 -0
  253. package/dist/src/protocol.d.ts +35 -0
  254. package/dist/src/protocol.js +64 -0
  255. package/dist/src/resource-files.d.ts +1 -0
  256. package/dist/src/resource-files.js +29 -0
  257. package/dist/src/service/changes.d.ts +11 -0
  258. package/dist/src/service/changes.js +32 -0
  259. package/dist/src/service/decision-handler.d.ts +9 -0
  260. package/dist/src/service/decision-handler.js +233 -0
  261. package/dist/src/service/event-handler.d.ts +10 -0
  262. package/dist/src/service/event-handler.js +70 -0
  263. package/dist/src/service/expiry.d.ts +13 -0
  264. package/dist/src/service/expiry.js +53 -0
  265. package/dist/src/service/gateway.d.ts +21 -0
  266. package/dist/src/service/gateway.js +120 -0
  267. package/dist/src/service/registry.d.ts +40 -0
  268. package/dist/src/service/registry.js +13 -0
  269. package/dist/src/service/replies.d.ts +26 -0
  270. package/dist/src/service/replies.js +56 -0
  271. package/dist/src/service/run-handlers.d.ts +4 -0
  272. package/dist/src/service/run-handlers.js +271 -0
  273. package/dist/src/service/service.d.ts +58 -0
  274. package/dist/src/service/service.js +212 -0
  275. package/dist/src/service/submission-handler.d.ts +4 -0
  276. package/dist/src/service/submission-handler.js +206 -0
  277. package/dist/src/service/transport.d.ts +16 -0
  278. package/dist/src/service/transport.js +141 -0
  279. package/dist/src/service/worker-port.d.ts +85 -0
  280. package/dist/src/service/worker-port.js +126 -0
  281. package/dist/src/step-bridge.d.ts +57 -0
  282. package/dist/src/step-bridge.js +4 -0
  283. package/dist/src/steps/decision-gate.d.ts +2 -0
  284. package/dist/src/steps/decision-gate.js +8 -0
  285. package/dist/src/steps/load-cycle.d.ts +10 -0
  286. package/dist/src/steps/load-cycle.js +11 -0
  287. package/dist/src/steps/protected-effect.d.ts +2 -0
  288. package/dist/src/steps/protected-effect.js +8 -0
  289. package/dist/src/storage/decision-rows.d.ts +54 -0
  290. package/dist/src/storage/decision-rows.js +72 -0
  291. package/dist/src/storage/decision-snapshots.d.ts +17 -0
  292. package/dist/src/storage/decision-snapshots.js +25 -0
  293. package/dist/src/storage/domain-changes.d.ts +48 -0
  294. package/dist/src/storage/domain-changes.js +213 -0
  295. package/dist/src/storage/domain-rows.d.ts +85 -0
  296. package/dist/src/storage/domain-rows.js +129 -0
  297. package/dist/src/storage/domain-schema.d.ts +32 -0
  298. package/dist/src/storage/domain-schema.js +193 -0
  299. package/dist/src/storage/effect-changes.d.ts +5 -0
  300. package/dist/src/storage/effect-changes.js +105 -0
  301. package/dist/src/storage/effect-rows.d.ts +67 -0
  302. package/dist/src/storage/effect-rows.js +74 -0
  303. package/dist/src/storage/effect-schema.d.ts +1 -0
  304. package/dist/src/storage/effect-schema.js +59 -0
  305. package/dist/src/storage/statements.d.ts +9 -0
  306. package/dist/src/storage/statements.js +8 -0
  307. package/dist/src/submission.d.ts +42 -0
  308. package/dist/src/submission.js +71 -0
  309. package/dist/src/turn-profile.d.ts +13 -0
  310. package/dist/src/turn-profile.js +100 -0
  311. package/dist/src/workflow-admission.d.ts +45 -0
  312. package/dist/src/workflow-admission.js +151 -0
  313. package/dist/src/workflow-contracts.d.ts +27 -0
  314. package/dist/src/workflow-contracts.js +88 -0
  315. package/dist/src/workflow-declaration.d.ts +11 -0
  316. package/dist/src/workflow-declaration.js +57 -0
  317. package/dist/src/workflow-resources.d.ts +8 -0
  318. package/dist/src/workflow-resources.js +14 -0
  319. package/dist/src/workflows.d.ts +5 -0
  320. package/dist/src/workflows.js +3 -0
  321. package/dist/tools/compile-workflows.d.ts +1 -0
  322. package/dist/tools/compile-workflows.js +33 -0
  323. package/dist/tools/self-host-processes.d.ts +10 -0
  324. package/dist/tools/self-host-processes.js +151 -0
  325. package/dist/tools/self-host-workflows.d.ts +15 -0
  326. package/dist/tools/self-host-workflows.js +78 -0
  327. package/dist/tools/self-host.d.ts +1 -0
  328. package/dist/tools/self-host.js +261 -0
  329. package/dist/tools/self-update-host.d.ts +6 -0
  330. package/dist/tools/self-update-host.js +41 -0
  331. package/dist/tools/self-update.d.ts +10 -0
  332. package/dist/tools/self-update.js +105 -0
  333. package/dist/tools/workflow-manifest.d.ts +3 -0
  334. package/dist/tools/workflow-manifest.js +34 -0
  335. package/dist/workflows/develop-prd.d.ts +7 -0
  336. package/dist/workflows/develop-prd.js +97 -0
  337. package/dist/workflows/develop-ticket.d.ts +15 -0
  338. package/dist/workflows/develop-ticket.js +301 -0
  339. package/dist/workflows/issue-labels.d.ts +14 -0
  340. package/dist/workflows/issue-labels.js +36 -0
  341. package/package.json +82 -75
  342. package/.DS_Store +0 -0
  343. package/.aider.chat.history.md +0 -16978
  344. package/.aider.input.history +0 -15
  345. package/.aider.tags.cache.v3/cache.db +0 -0
  346. package/.aider.tags.cache.v3/cache.db-shm +0 -0
  347. package/.aider.tags.cache.v3/cache.db-wal +0 -0
  348. package/.cursorrules +0 -77
  349. package/.github/workflows/auto-release.yml +0 -83
  350. package/.github/workflows/ci.yml +0 -32
  351. package/.github/workflows/npm-publish.yml +0 -34
  352. package/.gitignore +0 -67
  353. package/.husky/_/.gitignore +0 -1
  354. package/.husky/_/applypatch-msg +0 -2
  355. package/.husky/_/commit-msg +0 -2
  356. package/.husky/_/h +0 -22
  357. package/.husky/_/husky.sh +0 -9
  358. package/.husky/_/post-applypatch +0 -2
  359. package/.husky/_/post-checkout +0 -2
  360. package/.husky/_/post-commit +0 -2
  361. package/.husky/_/post-merge +0 -2
  362. package/.husky/_/post-rewrite +0 -2
  363. package/.husky/_/pre-applypatch +0 -2
  364. package/.husky/_/pre-auto-gc +0 -2
  365. package/.husky/_/pre-commit +0 -2
  366. package/.husky/_/pre-merge-commit +0 -2
  367. package/.husky/_/pre-push +0 -2
  368. package/.husky/_/pre-rebase +0 -2
  369. package/.husky/_/prepare-commit-msg +0 -2
  370. package/.husky/pre-commit +0 -1
  371. package/.husky/pre-push +0 -1
  372. package/.prettierrc.json +0 -7
  373. package/.tool-versions +0 -2
  374. package/SECURITY.md +0 -15
  375. package/cloving.json +0 -67
  376. package/dist/abstract_gpt/index.js +0 -55
  377. package/dist/cloving_gpt/adapters/Adapter.js +0 -2
  378. package/dist/cloving_gpt/adapters/azureopenai.js +0 -69
  379. package/dist/cloving_gpt/adapters/claude.js +0 -128
  380. package/dist/cloving_gpt/adapters/gemini.js +0 -135
  381. package/dist/cloving_gpt/adapters/gpt4all.js +0 -29
  382. package/dist/cloving_gpt/adapters/index.js +0 -2
  383. package/dist/cloving_gpt/adapters/mistral.js +0 -128
  384. package/dist/cloving_gpt/adapters/ollama.js +0 -128
  385. package/dist/cloving_gpt/adapters/openai.js +0 -100
  386. package/dist/cloving_gpt/index.js +0 -192
  387. package/dist/commands/analyze.js +0 -47
  388. package/dist/commands/chat.js +0 -14
  389. package/dist/commands/check.js +0 -7
  390. package/dist/commands/commit.js +0 -44
  391. package/dist/commands/config.js +0 -167
  392. package/dist/commands/describe.js +0 -235
  393. package/dist/commands/generate/code.js +0 -21
  394. package/dist/commands/generate/commit.js +0 -11
  395. package/dist/commands/generate/context.js +0 -82
  396. package/dist/commands/generate/docs.js +0 -11
  397. package/dist/commands/generate/documentation.js +0 -11
  398. package/dist/commands/generate/fizzbuzz.js +0 -35
  399. package/dist/commands/generate/init.js +0 -15
  400. package/dist/commands/generate/review.js +0 -11
  401. package/dist/commands/generate/sh.js +0 -95
  402. package/dist/commands/generate/shell.js +0 -11
  403. package/dist/commands/generate/unit_tests.js +0 -11
  404. package/dist/commands/init.js +0 -13
  405. package/dist/commands/models.js +0 -22
  406. package/dist/commands/project/build.js +0 -88
  407. package/dist/commands/project/complete.js +0 -12
  408. package/dist/commands/project/init.js +0 -82
  409. package/dist/commands/project/plan.js +0 -108
  410. package/dist/commands/proxy.js +0 -11
  411. package/dist/commands/review.js +0 -50
  412. package/dist/commands/tokens.js +0 -75
  413. package/dist/commands/unit_tests.js +0 -150
  414. package/dist/commands/update.js +0 -7
  415. package/dist/file2.js +0 -4
  416. package/dist/index.js +0 -134
  417. package/dist/managers/BlockManager.js +0 -120
  418. package/dist/managers/ChatManager.js +0 -653
  419. package/dist/managers/ChunkManager.js +0 -32
  420. package/dist/managers/CodeManager.js +0 -185
  421. package/dist/managers/CommitManager.js +0 -64
  422. package/dist/managers/DocsManager.js +0 -88
  423. package/dist/managers/DocumentationManager.js +0 -114
  424. package/dist/managers/InitManager.js +0 -230
  425. package/dist/managers/ProxyManager.js +0 -210
  426. package/dist/managers/ReviewManager.js +0 -131
  427. package/dist/managers/ShellManager.js +0 -163
  428. package/dist/managers/StreamManager.js +0 -308
  429. package/dist/managers/UnitTestManager.js +0 -243
  430. package/dist/managers/src/managers/ProxyManager.js +0 -1
  431. package/dist/newfile.js +0 -2
  432. package/dist/package.json +0 -86
  433. package/dist/utils/command_utils.js +0 -384
  434. package/dist/utils/config_utils.js +0 -249
  435. package/dist/utils/gitUtils.js +0 -42
  436. package/dist/utils/git_utils.js +0 -217
  437. package/dist/utils/modelUtils.js +0 -7
  438. package/dist/utils/model_utils.js +0 -7
  439. package/dist/utils/prompt_utils.js +0 -333
  440. package/dist/utils/prompts/CODEGEN_COULDNT_APPLY.md +0 -5
  441. package/dist/utils/prompts/CODEGEN_EXAMPLES.md +0 -82
  442. package/dist/utils/prompts/CODEGEN_INSTRUCTIONS.md +0 -43
  443. package/dist/utils/prompts/DOCS_INSTRUCTIONS.md +0 -9
  444. package/dist/utils/prompts/INIT_INSTRUCTIONS.md +0 -132
  445. package/dist/utils/prompts/REVIEW_INSTRUCTIONS.md +0 -49
  446. package/dist/utils/prompts/SHELL_INSTRUCTIONS.md +0 -15
  447. package/dist/utils/prompts/SPECIAL_FILES.md +0 -66
  448. package/dist/utils/prompts/index.js +0 -27
  449. package/dist/utils/string_utils.js +0 -505
  450. package/dist/utils/types.js +0 -2
  451. package/jest.config.js +0 -11
  452. package/src/cloving_gpt/adapters/azureopenai.ts +0 -83
  453. package/src/cloving_gpt/adapters/claude.ts +0 -140
  454. package/src/cloving_gpt/adapters/gemini.ts +0 -146
  455. package/src/cloving_gpt/adapters/index.ts +0 -43
  456. package/src/cloving_gpt/adapters/mistral.ts +0 -142
  457. package/src/cloving_gpt/adapters/ollama.ts +0 -136
  458. package/src/cloving_gpt/adapters/openai.ts +0 -113
  459. package/src/cloving_gpt/index.ts +0 -229
  460. package/src/commands/chat.ts +0 -12
  461. package/src/commands/config.ts +0 -192
  462. package/src/commands/generate/code.ts +0 -18
  463. package/src/commands/generate/commit.ts +0 -9
  464. package/src/commands/generate/context.ts +0 -93
  465. package/src/commands/generate/docs.ts +0 -9
  466. package/src/commands/generate/review.ts +0 -9
  467. package/src/commands/generate/shell.ts +0 -9
  468. package/src/commands/generate/unit_tests.ts +0 -9
  469. package/src/commands/init.ts +0 -9
  470. package/src/commands/models.ts +0 -21
  471. package/src/commands/proxy.ts +0 -9
  472. package/src/commands/tokens.ts +0 -82
  473. package/src/index.ts +0 -197
  474. package/src/managers/BlockManager.ts +0 -126
  475. package/src/managers/ChatManager.ts +0 -755
  476. package/src/managers/ChunkManager.ts +0 -31
  477. package/src/managers/CodeManager.ts +0 -226
  478. package/src/managers/CommitManager.ts +0 -71
  479. package/src/managers/DocsManager.ts +0 -101
  480. package/src/managers/InitManager.ts +0 -263
  481. package/src/managers/ProxyManager.ts +0 -240
  482. package/src/managers/ReviewManager.ts +0 -154
  483. package/src/managers/ShellManager.ts +0 -172
  484. package/src/managers/StreamManager.ts +0 -353
  485. package/src/managers/UnitTestManager.ts +0 -293
  486. package/src/utils/config_utils.ts +0 -271
  487. package/src/utils/git_utils.ts +0 -230
  488. package/src/utils/model_utils.ts +0 -3
  489. package/src/utils/prompt_utils.ts +0 -375
  490. package/src/utils/prompts/CODEGEN_COULDNT_APPLY.md +0 -5
  491. package/src/utils/prompts/CODEGEN_EXAMPLES.md +0 -82
  492. package/src/utils/prompts/CODEGEN_INSTRUCTIONS.md +0 -43
  493. package/src/utils/prompts/DOCS_INSTRUCTIONS.md +0 -9
  494. package/src/utils/prompts/INIT_INSTRUCTIONS.md +0 -132
  495. package/src/utils/prompts/REVIEW_INSTRUCTIONS.md +0 -49
  496. package/src/utils/prompts/SHELL_INSTRUCTIONS.md +0 -15
  497. package/src/utils/prompts/SPECIAL_FILES.md +0 -66
  498. package/src/utils/prompts/index.ts +0 -37
  499. package/src/utils/string_utils.ts +0 -552
  500. package/src/utils/types.ts +0 -127
  501. package/tests/commands/generate/unit_tests.test.ts +0 -27
  502. package/tests/utils/git_utils.test.ts +0 -116
  503. package/tests/utils/model_utils.test.ts +0 -27
  504. package/tests/utils/prompt_utils.test.ts +0 -33
  505. package/tests/utils/string_utils.test.ts +0 -560
  506. package/tsconfig.json +0 -14
  507. package/yarn.lock +0 -5823
@@ -1,128 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ClaudeAdapter = void 0;
4
- /**
5
- * ClaudeAdapter class implements the Adapter interface for Claude AI models.
6
- */
7
- class ClaudeAdapter {
8
- /**
9
- * Initializes a new ClaudeAdapter instance.
10
- * @param model - The Claude model identifier.
11
- */
12
- constructor(model) {
13
- this.model = model;
14
- this.anthropicVersion = '2023-06-01';
15
- }
16
- /**
17
- * Logs all supported Claude models to the console.
18
- */
19
- static listSupportedModels() {
20
- ClaudeAdapter.supportedModels.forEach((model) => {
21
- console.log(model);
22
- });
23
- }
24
- /**
25
- * Returns the API endpoint for Claude.
26
- * @returns The API endpoint URL.
27
- */
28
- getEndpoint() {
29
- return `https://api.anthropic.com/v1/messages`;
30
- }
31
- /**
32
- * Generates headers for API requests.
33
- * @param apiKey - The API key for authentication.
34
- * @returns An object containing the required headers.
35
- */
36
- getHeaders(apiKey) {
37
- return {
38
- 'x-api-key': apiKey,
39
- 'Content-Type': 'application/json',
40
- 'anthropic-version': this.anthropicVersion,
41
- };
42
- }
43
- /**
44
- * Prepares the payload for API requests.
45
- * @param request - The GPTRequest object containing request details.
46
- * @param stream - Whether to enable streaming (default: false).
47
- * @returns An object containing the prepared payload.
48
- */
49
- getPayload(request, stream = false) {
50
- let system = 'You are a computer programmer giving advice on how to write better code.';
51
- if (request.messages && request.messages.length > 0 && request.messages[0].role === 'system') {
52
- system = request.messages[0].content;
53
- request = { ...request, messages: request.messages.slice(1) };
54
- }
55
- return {
56
- model: this.model.replace(':', '-'),
57
- system,
58
- messages: request.messages && request.messages.length > 0
59
- ? request.messages
60
- : [{ role: 'user', content: request.prompt }],
61
- max_tokens: request.maxTokens || 4096,
62
- temperature: request.temperature || 0.2,
63
- stream,
64
- };
65
- }
66
- /**
67
- * Extracts the response text from the API response data.
68
- * @param data - The API response data.
69
- * @returns The extracted response text.
70
- * @throws Error if the response structure is invalid.
71
- */
72
- extractResponse(data) {
73
- try {
74
- if (data && data.content && Array.isArray(data.content) && data.content.length > 0) {
75
- return data.content.map((item) => item.text).join('\n');
76
- }
77
- else {
78
- console.error('Unexpected response structure:', data);
79
- throw new Error('Invalid response structure');
80
- }
81
- }
82
- catch (error) {
83
- console.error('Error extracting response:', error);
84
- throw error;
85
- }
86
- }
87
- /**
88
- * Converts streaming data to OpenAIStreamChunk format.
89
- * @param data - The streaming data string.
90
- * @returns An OpenAIStreamChunk object or null if parsing fails.
91
- */
92
- convertStream(data) {
93
- let beginningChar = 0;
94
- let lastChar = 0;
95
- while (lastChar < data.length) {
96
- try {
97
- let remainingString = data.slice(beginningChar, lastChar);
98
- // Strip any leading characters until we encounter the first '{' in this block
99
- const firstBraceIndex = remainingString.indexOf('{');
100
- if (firstBraceIndex > -1) {
101
- remainingString = remainingString.slice(firstBraceIndex);
102
- }
103
- const parsedObject = JSON.parse(remainingString);
104
- const output = parsedObject?.delta?.text || '';
105
- return {
106
- output,
107
- lastChar,
108
- };
109
- }
110
- catch (error) {
111
- // Incrementally increase the size of the JSON string to parse
112
- lastChar += 1;
113
- }
114
- }
115
- return null;
116
- }
117
- }
118
- exports.ClaudeAdapter = ClaudeAdapter;
119
- /**
120
- * Array of supported Claude model identifiers.
121
- */
122
- ClaudeAdapter.supportedModels = [
123
- 'claude:claude-3-5:sonnet-20240620',
124
- 'claude:claude-3:opus-20240229',
125
- 'claude:claude-3:sonnet-20240229',
126
- 'claude:claude-3:haiku-20240307',
127
- // Add more supported models here as needed
128
- ];
@@ -1,135 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GeminiAdapter = void 0;
4
- /**
5
- * GeminiAdapter class implements the Adapter interface for Google's Gemini AI model.
6
- */
7
- class GeminiAdapter {
8
- /**
9
- * Creates a new GeminiAdapter instance.
10
- * @param model - The Gemini model to use.
11
- */
12
- constructor(model) {
13
- this.model = model;
14
- }
15
- /**
16
- * Lists all supported Gemini models to the console.
17
- */
18
- static async listSupportedModels() {
19
- GeminiAdapter.supportedModels.forEach((model) => {
20
- console.log(model);
21
- });
22
- }
23
- /**
24
- * Gets the appropriate API endpoint URL based on whether streaming is required.
25
- * @param stream - Whether to use streaming endpoint.
26
- * @returns The API endpoint URL.
27
- */
28
- getEndpoint(stream = false) {
29
- if (stream) {
30
- return `https://generativelanguage.googleapis.com/v1beta/models/${this.model.replace(':', '-')}:streamGenerateContent`;
31
- }
32
- else {
33
- return `https://generativelanguage.googleapis.com/v1beta/models/${this.model.replace(':', '-')}:generateContent`;
34
- }
35
- }
36
- /**
37
- * Generates headers for the API request.
38
- * @param apiKey - The API key for authentication.
39
- * @returns An object containing the necessary headers.
40
- */
41
- getHeaders(apiKey) {
42
- return {
43
- 'Content-Type': 'application/json',
44
- 'x-goog-api-key': apiKey,
45
- };
46
- }
47
- /**
48
- * Prepares the payload for the API request.
49
- * @param request - The GPTRequest object containing prompt and other parameters.
50
- * @param stream - Whether the request is for streaming.
51
- * @returns The formatted payload object.
52
- */
53
- getPayload(request, stream = false) {
54
- return {
55
- contents: [
56
- {
57
- role: 'user', // or 'model' if generated from the model
58
- parts: [
59
- {
60
- text: request.prompt,
61
- },
62
- ],
63
- },
64
- ],
65
- generationConfig: {
66
- temperature: request.temperature || 0.2,
67
- topK: 40,
68
- topP: 0.95,
69
- maxOutputTokens: 1024,
70
- },
71
- };
72
- }
73
- /**
74
- * Extracts the response text from the API response data.
75
- * @param data - The raw API response data.
76
- * @returns The extracted response text.
77
- * @throws Error if the response structure is invalid.
78
- */
79
- extractResponse(data) {
80
- try {
81
- if (data &&
82
- data.candidates &&
83
- data.candidates[0] &&
84
- data.candidates[0].content &&
85
- data.candidates[0].content.parts &&
86
- data.candidates[0].content.parts[0]) {
87
- return data.candidates[0].content.parts[0].text;
88
- }
89
- else {
90
- console.error('Unexpected response structure:', data);
91
- throw new Error('Invalid response structure');
92
- }
93
- }
94
- catch (error) {
95
- console.error('Error extracting response:', error);
96
- throw error;
97
- }
98
- }
99
- /**
100
- * Converts a stream chunk to an OpenAIStreamChunk format.
101
- * @param data - The raw stream chunk data.
102
- * @returns An OpenAIStreamChunk object or null if parsing fails.
103
- */
104
- convertStream(data) {
105
- let beginningChar = 0;
106
- let lastChar = 0;
107
- while (lastChar < data.length) {
108
- try {
109
- let remainingString = data.slice(beginningChar, lastChar);
110
- // Strip any leading characters until we encounter the first '{' in this block
111
- const firstBraceIndex = remainingString.indexOf('{');
112
- if (firstBraceIndex > -1) {
113
- remainingString = remainingString.slice(firstBraceIndex);
114
- }
115
- const parsedObject = JSON.parse(remainingString);
116
- const output = parsedObject?.candidates[0]?.content?.parts[0]?.text || '';
117
- return {
118
- output,
119
- lastChar,
120
- };
121
- }
122
- catch (error) {
123
- // Incrementally increase the size of the JSON string to parse
124
- lastChar += 1;
125
- }
126
- }
127
- return null;
128
- }
129
- }
130
- exports.GeminiAdapter = GeminiAdapter;
131
- GeminiAdapter.supportedModels = [
132
- 'gemini:gemini-1.5:pro-latest',
133
- 'gemini:gemini-1.5:flash-latest',
134
- 'gemini:gemini-1.0:pro-latest',
135
- ];
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GPT4AllAdapter = void 0;
4
- class GPT4AllAdapter {
5
- constructor(model) {
6
- this.model = model;
7
- }
8
- getEndpoint() {
9
- return `https://api.gpt4all.io/v1/models/${this.model}/completions`;
10
- }
11
- getHeaders(apiKey) {
12
- return {
13
- 'Authorization': `Bearer ${apiKey}`,
14
- 'Content-Type': 'application/json'
15
- };
16
- }
17
- getPayload(request) {
18
- return {
19
- model: this.model,
20
- prompt: request.prompt,
21
- max_tokens: request.maxTokens,
22
- temperature: request.temperature || 0.7
23
- };
24
- }
25
- extractResponse(data) {
26
- return data.text;
27
- }
28
- }
29
- exports.GPT4AllAdapter = GPT4AllAdapter;
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,128 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MistralAdapter = void 0;
4
- /**
5
- * MistralAdapter class
6
- * Implements the Adapter interface for Mistral AI models.
7
- */
8
- class MistralAdapter {
9
- /**
10
- * Prints all supported models to the console
11
- */
12
- static listSupportedModels() {
13
- MistralAdapter.supportedModels.forEach((model) => {
14
- console.log(model);
15
- });
16
- }
17
- /**
18
- * Constructor
19
- * @param model - The Mistral AI model to use
20
- */
21
- constructor(model) {
22
- this.model = model;
23
- }
24
- /**
25
- * @returns The Mistral AI API endpoint
26
- */
27
- getEndpoint() {
28
- return 'https://api.mistral.ai/v1/chat/completions';
29
- }
30
- /**
31
- * @param apiKey - The API key for authentication
32
- * @returns Headers for the API request
33
- */
34
- getHeaders(apiKey) {
35
- return {
36
- Authorization: `Bearer ${apiKey}`,
37
- 'Content-Type': 'application/json',
38
- };
39
- }
40
- /**
41
- * Prepares the payload for the API request
42
- * @param request - The GPT request object
43
- * @param stream - Whether to use streaming mode
44
- * @returns The formatted payload
45
- */
46
- getPayload(request, stream = false) {
47
- return {
48
- model: this.model.replace(':', '-'),
49
- messages: request.messages && request.messages.length > 0
50
- ? request.messages
51
- : [{ role: 'user', content: request.prompt }],
52
- max_tokens: request.maxTokens,
53
- temperature: request.temperature || 0.2,
54
- stream,
55
- };
56
- }
57
- /**
58
- * Extracts the response content from the API data
59
- * @param data - The API response data
60
- * @returns The extracted response content
61
- */
62
- extractResponse(data) {
63
- return data.choices[0].message.content;
64
- }
65
- // data example:
66
- // {
67
- // id: 'chatcmpl-9tL477A98d54qvVQqJT010bm8BLJl',
68
- // object: 'chat.completion.chunk',
69
- // created: 1722976043,
70
- // model: 'gpt-4o-2024-05-13',
71
- // system_fingerprint: 'fp_3aa7262c27',
72
- // choices: [
73
- // {
74
- // "index": 0,
75
- // "delta": {
76
- // "content": " basic"
77
- // },
78
- // "logprobs": null,
79
- // "finish_reason": null
80
- // }
81
- // ]
82
- // }
83
- /**
84
- * Converts streaming data to OpenAIStreamChunk format
85
- * @param data - The streaming data string
86
- * @returns Parsed OpenAIStreamChunk or null if parsing fails
87
- */
88
- convertStream(data) {
89
- let beginningChar = 0;
90
- let lastChar = 0;
91
- while (lastChar < data.length) {
92
- try {
93
- let remainingString = data.slice(beginningChar, lastChar);
94
- // Strip any leading characters until we encounter the first '{' in this block
95
- const firstBraceIndex = remainingString.indexOf('{');
96
- if (firstBraceIndex > -1) {
97
- remainingString = remainingString.slice(firstBraceIndex);
98
- }
99
- const parsedObject = JSON.parse(remainingString);
100
- const output = parsedObject?.choices[0]?.delta?.content || '';
101
- return {
102
- output,
103
- lastChar,
104
- };
105
- }
106
- catch (error) {
107
- // Incrementally increase the size of the JSON string to parse
108
- lastChar += 1;
109
- }
110
- }
111
- return null;
112
- }
113
- }
114
- exports.MistralAdapter = MistralAdapter;
115
- /**
116
- * List of supported Mistral AI models
117
- */
118
- MistralAdapter.supportedModels = [
119
- 'mistral:mistral:embed',
120
- 'mistral:mistral:tiny-latest',
121
- 'mistral:mistral:small-latest',
122
- 'mistral:mistral:medium-latest',
123
- 'mistral:mistral:large-latest',
124
- 'mistral:open-mistral:7b',
125
- 'mistral:open-mixtral:8x7b',
126
- 'mistral:open-mixtral:8x22b',
127
- 'mistral:codestral:latest',
128
- ];
@@ -1,128 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.OllamaAdapter = void 0;
7
- const axios_1 = __importDefault(require("axios"));
8
- /**
9
- * Adapter for interacting with the Ollama API.
10
- */
11
- class OllamaAdapter {
12
- /**
13
- * Constructor to initialize the OllamaAdapter with a specific model.
14
- * @param model - The model to be used by the adapter.
15
- */
16
- constructor(model) {
17
- this.model = model;
18
- }
19
- /**
20
- * Fetches and lists supported models from the Ollama API.
21
- */
22
- static async listSupportedModels() {
23
- try {
24
- const endpoint = 'http://localhost:11434/api/tags';
25
- const headers = {
26
- 'Content-Type': 'application/json',
27
- };
28
- const response = await axios_1.default.get(endpoint, { headers });
29
- const data = response.data;
30
- if (data && Array.isArray(data.models)) {
31
- OllamaAdapter.supportedModels = data.models.map((model) => `ollama:${model.name}`);
32
- OllamaAdapter.supportedModels.forEach((model) => {
33
- console.log(model);
34
- });
35
- }
36
- else {
37
- console.error('Unexpected response structure:', data);
38
- }
39
- }
40
- catch (error) {
41
- // do nothing, no ollama server running
42
- }
43
- }
44
- /**
45
- * Returns the endpoint URL for generating responses.
46
- * @returns The endpoint URL as a string.
47
- */
48
- getEndpoint() {
49
- return `http://localhost:11434/api/generate`;
50
- }
51
- /**
52
- * Returns the headers required for making API requests.
53
- * @param apiKey - The API key for authorization.
54
- * @returns An object containing the headers.
55
- */
56
- getHeaders(apiKey) {
57
- return {
58
- Authorization: `Bearer ${apiKey}`,
59
- 'Content-Type': 'application/json',
60
- };
61
- }
62
- /**
63
- * Constructs the payload for the API request.
64
- * @param request - The GPT request object containing the prompt.
65
- * @param stream - Boolean indicating if the response should be streamed.
66
- * @returns An object containing the payload.
67
- */
68
- getPayload(request, stream = false) {
69
- return {
70
- model: this.model,
71
- prompt: request.prompt,
72
- stream,
73
- };
74
- }
75
- /**
76
- * Extracts the response from the API response data.
77
- * @param data - The response data from the API.
78
- * @returns The extracted response as a string.
79
- * @throws Will throw an error if the response structure is invalid.
80
- */
81
- extractResponse(data) {
82
- try {
83
- if (data && typeof data === 'object' && 'response' in data) {
84
- return data.response;
85
- }
86
- else {
87
- console.error('Unexpected response structure:', data);
88
- throw new Error('Invalid response structure');
89
- }
90
- }
91
- catch (error) {
92
- console.error('Error extracting response:', error);
93
- throw error;
94
- }
95
- }
96
- /**
97
- * Converts a stream of data into an OpenAIStreamChunk.
98
- * @param data - The string data to be converted.
99
- * @returns An OpenAIStreamChunk object or null if conversion fails.
100
- */
101
- convertStream(data) {
102
- let beginningChar = 0;
103
- let lastChar = 0;
104
- while (lastChar < data.length) {
105
- try {
106
- let remainingString = data.slice(beginningChar, lastChar);
107
- // Strip any leading characters until we encounter the first '{' in this block
108
- const firstBraceIndex = remainingString.indexOf('{');
109
- if (firstBraceIndex > -1) {
110
- remainingString = remainingString.slice(firstBraceIndex);
111
- }
112
- const parsedObject = JSON.parse(remainingString);
113
- const output = parsedObject?.response || '';
114
- return {
115
- output,
116
- lastChar,
117
- };
118
- }
119
- catch (error) {
120
- // Incrementally increase the size of the JSON string to parse
121
- lastChar += 1;
122
- }
123
- }
124
- return null;
125
- }
126
- }
127
- exports.OllamaAdapter = OllamaAdapter;
128
- OllamaAdapter.supportedModels = [];
@@ -1,100 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpenAIAdapter = void 0;
4
- // OpenAIAdapter class implements the Adapter interface
5
- class OpenAIAdapter {
6
- // Method to list supported models
7
- static listSupportedModels() {
8
- OpenAIAdapter.supportedModels.forEach((model) => {
9
- console.log(model);
10
- });
11
- }
12
- // Constructor to initialize the model
13
- constructor(model) {
14
- this.model = model;
15
- }
16
- // Method to get the API endpoint
17
- getEndpoint() {
18
- return `https://api.openai.com/v1/chat/completions`;
19
- }
20
- // Method to get the headers for the API request
21
- getHeaders(apiKey) {
22
- return {
23
- Authorization: `Bearer ${apiKey}`,
24
- 'Content-Type': 'application/json',
25
- };
26
- }
27
- // Method to get the payload for the API request
28
- getPayload(request, stream = false) {
29
- return {
30
- model: this.model.replace(':', '-'),
31
- messages: request.messages && request.messages.length > 0
32
- ? request.messages
33
- : [{ role: 'user', content: request.prompt }],
34
- max_tokens: request.maxTokens,
35
- temperature: request.temperature || 0.2,
36
- stream,
37
- };
38
- }
39
- // Method to extract the response from the API response data
40
- extractResponse(data) {
41
- return data.choices[0].message.content;
42
- }
43
- // Method to convert the stream data into OpenAIStreamChunk format
44
- // data example:
45
- // {
46
- // id: 'chatcmpl-9tL477A98d54qvVQqJT010bm8BLJl',
47
- // object: 'chat.completion.chunk',
48
- // created: 1722976043,
49
- // model: 'gpt-4o-2024-05-13',
50
- // system_fingerprint: 'fp_3aa7262c27',
51
- // choices: [
52
- // {
53
- // "index": 0,
54
- // "delta": {
55
- // "content": " basic"
56
- // },
57
- // "logprobs": null,
58
- // "finish_reason": null
59
- // }
60
- // ]
61
- // }
62
- convertStream(data) {
63
- let beginningChar = 0;
64
- let lastChar = 0;
65
- while (lastChar < data.length) {
66
- try {
67
- let remainingString = data.slice(beginningChar, lastChar);
68
- // Strip any leading characters until we encounter the first '{' in this block
69
- const firstBraceIndex = remainingString.indexOf('{');
70
- if (firstBraceIndex > -1) {
71
- remainingString = remainingString.slice(firstBraceIndex);
72
- }
73
- const parsedObject = JSON.parse(remainingString);
74
- const output = parsedObject?.choices[0]?.delta?.content || '';
75
- return {
76
- output,
77
- lastChar,
78
- };
79
- }
80
- catch (error) {
81
- // Incrementally increase the size of the JSON string to parse
82
- lastChar += 1;
83
- }
84
- }
85
- return null;
86
- }
87
- }
88
- exports.OpenAIAdapter = OpenAIAdapter;
89
- // List of supported models
90
- OpenAIAdapter.supportedModels = [
91
- 'openai:gpt:o1-preview',
92
- 'openai:gpt:o1-mini',
93
- 'openai:gpt:4o-2024-08-06',
94
- 'openai:gpt:4o',
95
- 'openai:gpt:4o-mini',
96
- 'openai:gpt:4-turbo',
97
- 'openai:gpt:3.5-turbo',
98
- 'openai:text-embedding:3-large',
99
- // Add more supported models here as needed
100
- ];