cloving 0.3.20 → 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 (416) 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/dist/abstract_gpt/index.js +0 -55
  343. package/dist/cloving_gpt/adapters/Adapter.js +0 -2
  344. package/dist/cloving_gpt/adapters/azureopenai.js +0 -69
  345. package/dist/cloving_gpt/adapters/claude.js +0 -128
  346. package/dist/cloving_gpt/adapters/gemini.js +0 -135
  347. package/dist/cloving_gpt/adapters/gpt4all.js +0 -29
  348. package/dist/cloving_gpt/adapters/index.js +0 -2
  349. package/dist/cloving_gpt/adapters/mistral.js +0 -128
  350. package/dist/cloving_gpt/adapters/ollama.js +0 -128
  351. package/dist/cloving_gpt/adapters/openai.js +0 -100
  352. package/dist/cloving_gpt/index.js +0 -192
  353. package/dist/commands/analyze.js +0 -47
  354. package/dist/commands/chat.js +0 -14
  355. package/dist/commands/check.js +0 -7
  356. package/dist/commands/commit.js +0 -44
  357. package/dist/commands/config.js +0 -167
  358. package/dist/commands/describe.js +0 -235
  359. package/dist/commands/generate/code.js +0 -21
  360. package/dist/commands/generate/commit.js +0 -11
  361. package/dist/commands/generate/context.js +0 -82
  362. package/dist/commands/generate/docs.js +0 -11
  363. package/dist/commands/generate/documentation.js +0 -11
  364. package/dist/commands/generate/fizzbuzz.js +0 -35
  365. package/dist/commands/generate/init.js +0 -15
  366. package/dist/commands/generate/review.js +0 -11
  367. package/dist/commands/generate/sh.js +0 -95
  368. package/dist/commands/generate/shell.js +0 -11
  369. package/dist/commands/generate/unit_tests.js +0 -11
  370. package/dist/commands/init.js +0 -13
  371. package/dist/commands/models.js +0 -22
  372. package/dist/commands/project/build.js +0 -88
  373. package/dist/commands/project/complete.js +0 -12
  374. package/dist/commands/project/init.js +0 -82
  375. package/dist/commands/project/plan.js +0 -108
  376. package/dist/commands/proxy.js +0 -11
  377. package/dist/commands/review.js +0 -50
  378. package/dist/commands/tokens.js +0 -75
  379. package/dist/commands/unit_tests.js +0 -150
  380. package/dist/commands/update.js +0 -7
  381. package/dist/file2.js +0 -4
  382. package/dist/index.js +0 -136
  383. package/dist/managers/BlockManager.js +0 -120
  384. package/dist/managers/ChatManager.js +0 -653
  385. package/dist/managers/ChunkManager.js +0 -32
  386. package/dist/managers/CodeManager.js +0 -185
  387. package/dist/managers/CommitManager.js +0 -78
  388. package/dist/managers/DocsManager.js +0 -88
  389. package/dist/managers/DocumentationManager.js +0 -114
  390. package/dist/managers/InitManager.js +0 -230
  391. package/dist/managers/ProxyManager.js +0 -210
  392. package/dist/managers/ReviewManager.js +0 -131
  393. package/dist/managers/ShellManager.js +0 -163
  394. package/dist/managers/StreamManager.js +0 -308
  395. package/dist/managers/UnitTestManager.js +0 -243
  396. package/dist/managers/src/managers/ProxyManager.js +0 -1
  397. package/dist/newfile.js +0 -2
  398. package/dist/package.json +0 -86
  399. package/dist/utils/command_utils.js +0 -384
  400. package/dist/utils/config_utils.js +0 -249
  401. package/dist/utils/gitUtils.js +0 -42
  402. package/dist/utils/git_utils.js +0 -217
  403. package/dist/utils/modelUtils.js +0 -7
  404. package/dist/utils/model_utils.js +0 -7
  405. package/dist/utils/prompt_utils.js +0 -333
  406. package/dist/utils/prompts/CODEGEN_COULDNT_APPLY.md +0 -5
  407. package/dist/utils/prompts/CODEGEN_EXAMPLES.md +0 -82
  408. package/dist/utils/prompts/CODEGEN_INSTRUCTIONS.md +0 -43
  409. package/dist/utils/prompts/DOCS_INSTRUCTIONS.md +0 -9
  410. package/dist/utils/prompts/INIT_INSTRUCTIONS.md +0 -132
  411. package/dist/utils/prompts/REVIEW_INSTRUCTIONS.md +0 -49
  412. package/dist/utils/prompts/SHELL_INSTRUCTIONS.md +0 -15
  413. package/dist/utils/prompts/SPECIAL_FILES.md +0 -66
  414. package/dist/utils/prompts/index.js +0 -27
  415. package/dist/utils/string_utils.js +0 -505
  416. package/dist/utils/types.js +0 -2
@@ -1,185 +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
- const prompts_1 = require("@inquirer/prompts");
7
- const cli_highlight_1 = __importDefault(require("cli-highlight"));
8
- const colors_1 = __importDefault(require("colors"));
9
- const cloving_gpt_1 = __importDefault(require("../cloving_gpt"));
10
- const config_utils_1 = require("../utils/config_utils");
11
- const prompt_utils_1 = require("../utils/prompt_utils");
12
- const string_utils_1 = require("../utils/string_utils");
13
- const prompts_2 = require("../utils/prompts");
14
- const StreamManager_1 = __importDefault(require("./StreamManager"));
15
- class CodeManager extends StreamManager_1.default {
16
- constructor(options) {
17
- super(options);
18
- options.silent = (0, config_utils_1.getConfig)(options).globalSilent || false;
19
- options.stream = true;
20
- this.gpt = new cloving_gpt_1.default(options);
21
- }
22
- async initialize() {
23
- try {
24
- if (this.options.files) {
25
- for (const file of this.options.files) {
26
- this.contextFiles = await (0, prompt_utils_1.addFileOrDirectoryToContext)(file, this.contextFiles, this.options);
27
- }
28
- }
29
- else {
30
- let includeMoreFiles = true;
31
- while (includeMoreFiles) {
32
- const contextFile = await (0, prompts_1.input)({
33
- message: `Enter the relative path of a file or directory you would like to include as context (or press enter to continue): `,
34
- });
35
- if (contextFile) {
36
- this.contextFiles = await (0, prompt_utils_1.addFileOrDirectoryToContext)(contextFile, this.contextFiles, this.options);
37
- }
38
- else {
39
- includeMoreFiles = false;
40
- }
41
- }
42
- }
43
- if (!this.options.prompt) {
44
- const userPrompt = await (0, prompts_1.input)({
45
- message: 'What would you like the code to do:',
46
- });
47
- this.options.prompt = userPrompt;
48
- }
49
- await this.generateCode(this.options.prompt);
50
- }
51
- catch (err) {
52
- const error = err;
53
- console.error('Could not generate code', error.message);
54
- }
55
- }
56
- async generateCode(userPrompt) {
57
- await this.checkForLatestVersion();
58
- await this.loadContextFiles();
59
- if (this.chatHistory.length === 0) {
60
- this.addUserPrompt((0, prompt_utils_1.generateCodegenPrompt)(this.contextFiles));
61
- this.addAssistantResponse('What would you like to do?');
62
- }
63
- this.addUserPrompt(userPrompt);
64
- try {
65
- const responseStream = await this.gpt.streamText({
66
- prompt: userPrompt,
67
- messages: this.chatHistory,
68
- });
69
- this.handleResponseStream(responseStream);
70
- }
71
- catch (err) {
72
- const error = err;
73
- console.error('Error streaming response:', error.message);
74
- }
75
- }
76
- async handleUserAction(response) {
77
- const currentNewBlocks = (0, string_utils_1.extractCurrentNewBlocks)(response);
78
- const files = Array.from(new Set(currentNewBlocks.map((block) => block.filePath)));
79
- if (this.options.save) {
80
- await (0, string_utils_1.applyAndSaveCurrentNewBlocks)(currentNewBlocks);
81
- return;
82
- }
83
- const action = await (0, prompts_1.select)({
84
- message: 'What would you like to do?',
85
- choices: [
86
- { name: 'Revise', value: 'revise' },
87
- { name: 'Explain', value: 'explain' },
88
- { name: 'Save a Source Code File', value: 'save' },
89
- { name: 'Save All Source Code Files', value: 'saveAll' },
90
- { name: 'Copy Source Code to Clipboard', value: 'copySource' },
91
- { name: 'Copy Entire Response to Clipboard', value: 'copyAll' },
92
- { name: 'Done', value: 'done' },
93
- ],
94
- });
95
- switch (action) {
96
- case 'revise':
97
- const newPrompt = await (0, prompts_1.input)({
98
- message: 'How would you like to modify the output:',
99
- });
100
- let includeMoreFiles = true;
101
- while (includeMoreFiles) {
102
- const contextFile = await (0, prompts_1.input)({
103
- message: 'Enter the relative path of a file or directory you would like to include as context (or press enter to continue):',
104
- });
105
- if (contextFile) {
106
- this.contextFiles = await (0, prompt_utils_1.addFileOrDirectoryToContext)(contextFile, this.contextFiles, this.options);
107
- }
108
- else {
109
- includeMoreFiles = false;
110
- }
111
- }
112
- await this.generateCode(newPrompt);
113
- break;
114
- case 'explain':
115
- const explainPrompt = this.generateExplainCodePrompt(response);
116
- this.chatHistory.push({ role: 'user', content: explainPrompt });
117
- const explainCodeCommand = await this.gpt.generateText({
118
- prompt: explainPrompt,
119
- messages: this.chatHistory,
120
- });
121
- console.log((0, cli_highlight_1.default)(explainCodeCommand, { language: 'markdown' }));
122
- break;
123
- case 'save':
124
- let saveAnother = true;
125
- while (saveAnother) {
126
- const fileToSave = await (0, prompts_1.select)({
127
- message: 'Which file do you want to save?',
128
- choices: files.map((file) => ({ name: file, value: file })),
129
- });
130
- await (0, string_utils_1.applyAndSaveCurrentNewBlocks)(currentNewBlocks.filter((block) => block.filePath === fileToSave));
131
- const saveMore = await (0, prompts_1.confirm)({
132
- message: 'Do you want to save another file?',
133
- default: true,
134
- });
135
- saveAnother = saveMore;
136
- }
137
- break;
138
- case 'saveAll':
139
- await (0, string_utils_1.applyAndSaveCurrentNewBlocks)(currentNewBlocks);
140
- console.log(colors_1.default.green('\nAll files have been saved.'));
141
- break;
142
- case 'done':
143
- break;
144
- }
145
- }
146
- generateExplainCodePrompt(prompt) {
147
- return `${prompt}
148
-
149
- # Task
150
-
151
- Please briefly explain how the code works in this.`;
152
- }
153
- /**
154
- * Finalizes the response processing.
155
- * This method should be overridden to provide specific finalization behavior.
156
- * @protected
157
- */
158
- async finalizeResponse() {
159
- this.addAssistantResponse(this.responseString);
160
- this.isProcessing = false;
161
- if (this.responseString !== '') {
162
- const currentNewBlocks = (0, string_utils_1.extractCurrentNewBlocks)(this.responseString);
163
- const [canApply, summary] = await (0, string_utils_1.checkBlocksApplicability)(currentNewBlocks);
164
- if (!canApply) {
165
- await this.handleUnapplicableBlocks(summary);
166
- }
167
- else {
168
- this.retryCount = 0; // Reset the retry count on successful application
169
- }
170
- }
171
- await this.handleUserAction(this.responseString);
172
- }
173
- async handleUnapplicableBlocks(summary) {
174
- if (this.retryCount < this.maxRetries) {
175
- console.log(`\n\n${summary}\n\n${colors_1.default.yellow.bold('WARNING')} Some of the provided code blocks could not be automatically applied. Retrying (Attempt ${this.retryCount + 1}/${this.maxRetries})...\n`);
176
- this.retryCount++;
177
- await this.generateCode(`${prompts_2.CODEGEN_COULDNT_APPLY}\n\n${summary}`);
178
- }
179
- else {
180
- console.log(`\n\n${colors_1.default.red.bold('ERROR')} Failed to generate a diff that could be cleanly applied after ${this.maxRetries} attempts. Please review the changes manually and try again.\n`);
181
- this.retryCount = 0; // Reset the retry count for future attempts
182
- }
183
- }
184
- }
185
- exports.default = CodeManager;
@@ -1,78 +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
- const fs_1 = __importDefault(require("fs"));
7
- const path_1 = __importDefault(require("path"));
8
- const child_process_1 = require("child_process");
9
- const string_utils_1 = require("../utils/string_utils");
10
- const git_utils_1 = require("../utils/git_utils");
11
- const config_utils_1 = require("../utils/config_utils");
12
- const cloving_gpt_1 = __importDefault(require("../cloving_gpt"));
13
- class CommitManager {
14
- constructor(options) {
15
- options.silent = (0, config_utils_1.getConfig)(options).globalSilent || false;
16
- this.autoAccept = options.autoAccept || false;
17
- this.gpt = new cloving_gpt_1.default(options);
18
- }
19
- cleanCommitMessage(message) {
20
- // Remove markdown code block formatting if present, including any text before and after
21
- const codeBlockRegex = /.*?```.*\n(.*?)\n```.*/m;
22
- const match = message.match(codeBlockRegex);
23
- return match ? match[1].trim() : message.trim();
24
- }
25
- async generateCommit() {
26
- try {
27
- // Get the git diff
28
- const diff = (0, child_process_1.execSync)('git diff HEAD').toString().trim();
29
- // Check if the diff is blank
30
- if (!diff) {
31
- console.error('No changes to commit.');
32
- return;
33
- }
34
- // Generate the prompt for commit message
35
- const prompt = (0, git_utils_1.generateCommitMessagePrompt)(diff);
36
- // Instantiate ClovingGPT and get the commit message
37
- const rawCommitMessage = await this.gpt.generateText({ prompt });
38
- // Clean the commit message using extractMarkdown and remove code blocks
39
- const commitMessage = this.cleanCommitMessage((0, string_utils_1.extractMarkdown)(rawCommitMessage));
40
- if (this.autoAccept) {
41
- // Directly commit with the generated message without opening an editor
42
- try {
43
- (0, child_process_1.execFileSync)('git', ['commit', '-a', '-m', commitMessage], {
44
- stdio: 'inherit',
45
- });
46
- }
47
- catch (commitError) {
48
- console.log('Commit failed:', commitError.message);
49
- }
50
- }
51
- else {
52
- // Write the commit message to a temporary file
53
- const tempCommitFilePath = path_1.default.join('.git', 'SUGGESTED_COMMIT_EDITMSG');
54
- fs_1.default.writeFileSync(tempCommitFilePath, commitMessage);
55
- // Commit the changes using the generated commit message
56
- try {
57
- (0, child_process_1.execFileSync)('git', ['commit', '-a', '--edit', '--file', tempCommitFilePath], {
58
- stdio: 'inherit',
59
- });
60
- }
61
- catch (commitError) {
62
- // If commit is canceled (non-zero exit), handle it here
63
- console.log('Commit was canceled or failed.');
64
- }
65
- // Remove the temporary file using fs
66
- fs_1.default.unlink(tempCommitFilePath, (err) => {
67
- if (err)
68
- throw err;
69
- });
70
- }
71
- }
72
- catch (err) {
73
- const error = err;
74
- console.error('Could not generate commit message:', error.message);
75
- }
76
- }
77
- }
78
- exports.default = CommitManager;
@@ -1,88 +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
- const prompts_1 = require("@inquirer/prompts");
7
- const colors_1 = __importDefault(require("colors"));
8
- const cloving_gpt_1 = __importDefault(require("../cloving_gpt"));
9
- const config_utils_1 = require("../utils/config_utils");
10
- const prompts_2 = require("../utils/prompts");
11
- const prompt_utils_1 = require("../utils/prompt_utils");
12
- const string_utils_1 = require("../utils/string_utils");
13
- const StreamManager_1 = __importDefault(require("./StreamManager"));
14
- /**
15
- * Manages the generation of documentation for specified files.
16
- */
17
- class DocsManager extends StreamManager_1.default {
18
- /**
19
- * Creates a new DocumentationManager instance.
20
- * @param {ClovingGPTOptions} options - Configuration options for the DocumentationManager.
21
- */
22
- constructor(options) {
23
- super(options);
24
- options.silent = (0, config_utils_1.getConfig)(options).globalSilent || false;
25
- options.stream = true;
26
- this.gpt = new cloving_gpt_1.default(options);
27
- }
28
- /**
29
- * Generates documentation for the specified files.
30
- * @returns {Promise<void>}
31
- */
32
- async generateDocs(extraPrompt) {
33
- try {
34
- this.isProcessing = true;
35
- if (this.retryCount === 0) {
36
- await this.checkForLatestVersion();
37
- }
38
- await this.loadContextFiles();
39
- this.addUserPrompt(`${(0, prompt_utils_1.generateDocsPrompt)(this.contextFiles)}\n\n${extraPrompt || ''}`);
40
- const responseStream = await this.gpt.streamText({
41
- prompt: this.prompt,
42
- messages: this.chatHistory,
43
- });
44
- this.handleResponseStream(responseStream);
45
- }
46
- catch (error) {
47
- console.error(colors_1.default.red('Error generating documentation:'), error);
48
- }
49
- }
50
- /**
51
- * Finalizes the response processing.
52
- * This method should be overridden to provide specific finalization behavior.
53
- * @protected
54
- */
55
- async finalizeResponse() {
56
- this.addAssistantResponse(this.responseString);
57
- this.isProcessing = false;
58
- if (this.responseString !== '') {
59
- const currentNewBlocks = (0, string_utils_1.extractCurrentNewBlocks)(this.responseString);
60
- const [canApply, summary] = await (0, string_utils_1.checkBlocksApplicability)(currentNewBlocks);
61
- if (canApply && currentNewBlocks.length > 0) {
62
- const shouldSave = await (0, prompts_1.confirm)({
63
- message: '\n\nDo you want to save the generated documentation?',
64
- default: true,
65
- });
66
- if (shouldSave) {
67
- await (0, string_utils_1.applyAndSaveCurrentNewBlocks)(currentNewBlocks);
68
- console.log(colors_1.default.green('\nDocumentation has been saved to the respective files.'));
69
- }
70
- }
71
- else {
72
- if (this.retryCount < this.maxRetries) {
73
- console.log(`\n\n${summary}\n\n${colors_1.default.yellow.bold('WARNING')} Some of the provided code blocks could not be automatically applied. Retrying (Attempt ${this.retryCount + 1}/${this.maxRetries})...\n`);
74
- this.retryCount++;
75
- this.generateDocs(`\n\n${prompts_2.CODEGEN_COULDNT_APPLY}\n\n${summary}`);
76
- return;
77
- }
78
- else {
79
- console.log(`\n\n${colors_1.default.red.bold('ERROR')} Failed to generate a diff that could be cleanly applied after ${this.maxRetries} attempts. Please review the changes manually and try again.\n`);
80
- this.retryCount = 0; // Reset the retry count for future attempts
81
- }
82
- }
83
- }
84
- // Reset responseString after processing
85
- this.responseString = '';
86
- }
87
- }
88
- exports.default = DocsManager;
@@ -1,114 +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
- const prompts_1 = require("@inquirer/prompts");
7
- const colors_1 = __importDefault(require("colors"));
8
- const cli_highlight_1 = __importDefault(require("cli-highlight"));
9
- const cloving_gpt_1 = __importDefault(require("../cloving_gpt"));
10
- const config_utils_1 = require("../utils/config_utils");
11
- const prompt_utils_1 = require("../utils/prompt_utils");
12
- const prompts_2 = require("../utils/prompts");
13
- const string_utils_1 = require("../utils/string_utils");
14
- /**
15
- * Manages the generation of documentation for specified files.
16
- */
17
- class DocumentationManager {
18
- /**
19
- * Creates a new DocumentationManager instance.
20
- * @param {ClovingGPTOptions} options - Configuration options for the DocumentationManager.
21
- */
22
- constructor(options) {
23
- this.options = options;
24
- this.contextFiles = {};
25
- this.chatHistory = [];
26
- this.options.silent = (0, config_utils_1.getConfig)(options).globalSilent || false;
27
- this.gpt = new cloving_gpt_1.default(options);
28
- }
29
- /**
30
- * Generates documentation for the specified files.
31
- * @returns {Promise<void>}
32
- */
33
- async generateDocumentation() {
34
- try {
35
- await this.loadContextFiles();
36
- if (this.chatHistory.length === 0) {
37
- this.chatHistory.push({ role: 'user', content: prompts_2.CODEGEN_INSTRUCTIONS });
38
- this.chatHistory.push({ role: 'assistant', content: 'What would you like to do?' });
39
- }
40
- const prompt = this.generateDocumentationPrompt();
41
- this.chatHistory.push({ role: 'user', content: prompt });
42
- const response = await this.gpt.generateText({ prompt, messages: this.chatHistory });
43
- this.displayGeneratedDocumentation(response);
44
- const currentNewBlocks = (0, string_utils_1.extractCurrentNewBlocks)(response);
45
- if (currentNewBlocks.length > 0) {
46
- const shouldSave = await (0, prompts_1.confirm)({
47
- message: 'Do you want to save the generated documentation?',
48
- default: true,
49
- });
50
- if (shouldSave) {
51
- await (0, string_utils_1.applyAndSaveCurrentNewBlocks)(currentNewBlocks);
52
- console.log(colors_1.default.green('\nDocumentation has been saved to the respective files.'));
53
- }
54
- }
55
- }
56
- catch (error) {
57
- console.error(colors_1.default.red('Error generating documentation:'), error);
58
- }
59
- }
60
- /**
61
- * Displays the generated documentation in the console with syntax highlighting.
62
- * @param {string} rawDocumentationResponse - The raw documentation response from the GPT model.
63
- */
64
- displayGeneratedDocumentation(rawDocumentationResponse) {
65
- (0, string_utils_1.parseMarkdownInstructions)(rawDocumentationResponse).map((code) => {
66
- if (code.trim().startsWith('```')) {
67
- const lines = code.split('\n');
68
- const language = code.match(/```(\w+)/)?.[1] || 'plaintext';
69
- console.log(lines[0]);
70
- try {
71
- console.log((0, cli_highlight_1.default)(lines.slice(1, -1).join('\n'), { language }));
72
- }
73
- catch (error) {
74
- // don't highlight if it fails
75
- console.log(lines.slice(1, -1).join('\n'));
76
- }
77
- console.log(lines.slice(-1)[0]);
78
- }
79
- else {
80
- console.log((0, cli_highlight_1.default)(code, { language: 'markdown' }));
81
- }
82
- });
83
- }
84
- /**
85
- * Loads the context files specified in the options.
86
- * @returns {Promise<void>}
87
- */
88
- async loadContextFiles() {
89
- if (this.options.files) {
90
- for (const file of this.options.files) {
91
- this.contextFiles = await (0, prompt_utils_1.addFileOrDirectoryToContext)(file, this.contextFiles, this.options);
92
- }
93
- }
94
- else {
95
- console.log(colors_1.default.yellow('No files specified. Please provide files using the -f option.'));
96
- process.exit(1);
97
- }
98
- }
99
- /**
100
- * Generates the documentation prompt to be sent to the GPT model.
101
- * @returns {string} The generated documentation prompt.
102
- */
103
- generateDocumentationPrompt() {
104
- const contextFileContents = Object.entries(this.contextFiles)
105
- .map(([file, content]) => `### File: ${file}\n\n\`\`\`\n${content}\n\`\`\`\n`)
106
- .join('\n\n');
107
- return `Please generate documentation for the following files. Add or update documentation comments for functions, classes, and modules as appropriate. Use the standard documentation format for the respective language (e.g., JSDoc for JavaScript/TypeScript, docstrings for Python, etc.).
108
-
109
- ${contextFileContents}
110
-
111
- Please provide the updated files with added documentation using the CURRENT/NEW block format. Only include the parts of the files that have changed.`;
112
- }
113
- }
114
- exports.default = DocumentationManager;