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.
- package/{LICENSE.md → LICENSE} +1 -1
- package/README.md +475 -182
- package/dist/src/authority/budgets.d.ts +12 -0
- package/dist/src/authority/budgets.js +42 -0
- package/dist/src/authority/commands.d.ts +7 -0
- package/dist/src/authority/commands.js +263 -0
- package/dist/src/authority/details.d.ts +28 -0
- package/dist/src/authority/details.js +33 -0
- package/dist/src/authority/dispatch-decision.d.ts +40 -0
- package/dist/src/authority/dispatch-decision.js +47 -0
- package/dist/src/authority/effect-requests.d.ts +2 -0
- package/dist/src/authority/effect-requests.js +139 -0
- package/dist/src/authority/effect-results.d.ts +4 -0
- package/dist/src/authority/effect-results.js +236 -0
- package/dist/src/authority/events.d.ts +2 -0
- package/dist/src/authority/events.js +45 -0
- package/dist/src/authority/gate-reduction.d.ts +8 -0
- package/dist/src/authority/gate-reduction.js +109 -0
- package/dist/src/authority/gates.d.ts +48 -0
- package/dist/src/authority/gates.js +77 -0
- package/dist/src/authority/history-state.d.ts +15 -0
- package/dist/src/authority/history-state.js +61 -0
- package/dist/src/authority/history.d.ts +13 -0
- package/dist/src/authority/history.js +37 -0
- package/dist/src/authority/instants.d.ts +3 -0
- package/dist/src/authority/instants.js +38 -0
- package/dist/src/authority/leases.d.ts +15 -0
- package/dist/src/authority/leases.js +113 -0
- package/dist/src/authority/operations.d.ts +101 -0
- package/dist/src/authority/operations.js +75 -0
- package/dist/src/authority/reconciliation.d.ts +27 -0
- package/dist/src/authority/reconciliation.js +147 -0
- package/dist/src/authority/reducer.d.ts +41 -0
- package/dist/src/authority/reducer.js +139 -0
- package/dist/src/authority/reduction-state.d.ts +36 -0
- package/dist/src/authority/reduction-state.js +68 -0
- package/dist/src/authority/reduction.d.ts +6 -0
- package/dist/src/authority/reduction.js +160 -0
- package/dist/src/authority/status-closure.d.ts +4 -0
- package/dist/src/authority/status-closure.js +57 -0
- package/dist/src/authority/status-effects.d.ts +17 -0
- package/dist/src/authority/status-effects.js +43 -0
- package/dist/src/authority/status-input.d.ts +45 -0
- package/dist/src/authority/status-input.js +9 -0
- package/dist/src/authority/status.d.ts +32 -0
- package/dist/src/authority/status.js +256 -0
- package/dist/src/authority/stop-sequence.d.ts +37 -0
- package/dist/src/authority/stop-sequence.js +91 -0
- package/dist/src/authority/transitions.d.ts +63 -0
- package/dist/src/authority/transitions.js +122 -0
- package/dist/src/broker/actor/adapter-calls.d.ts +13 -0
- package/dist/src/broker/actor/adapter-calls.js +34 -0
- package/dist/src/broker/actor/adapter-outcomes.d.ts +28 -0
- package/dist/src/broker/actor/adapter-outcomes.js +80 -0
- package/dist/src/broker/actor/authority-actor.d.ts +25 -0
- package/dist/src/broker/actor/authority-actor.js +169 -0
- package/dist/src/broker/actor/authority-changes.d.ts +31 -0
- package/dist/src/broker/actor/authority-changes.js +46 -0
- package/dist/src/broker/actor/authority-connection.d.ts +15 -0
- package/dist/src/broker/actor/authority-connection.js +44 -0
- package/dist/src/broker/actor/authority-conversion.d.ts +10 -0
- package/dist/src/broker/actor/authority-conversion.js +72 -0
- package/dist/src/broker/actor/authority-delivery.d.ts +13 -0
- package/dist/src/broker/actor/authority-delivery.js +162 -0
- package/dist/src/broker/actor/authority-logger.d.ts +2 -0
- package/dist/src/broker/actor/authority-logger.js +19 -0
- package/dist/src/broker/actor/authority-policy.d.ts +9 -0
- package/dist/src/broker/actor/authority-policy.js +11 -0
- package/dist/src/broker/actor/authority-queries.d.ts +45 -0
- package/dist/src/broker/actor/authority-queries.js +85 -0
- package/dist/src/broker/actor/authority-receipts.d.ts +28 -0
- package/dist/src/broker/actor/authority-receipts.js +84 -0
- package/dist/src/broker/actor/authority-release.d.ts +13 -0
- package/dist/src/broker/actor/authority-release.js +69 -0
- package/dist/src/broker/actor/authority-runtime.d.ts +60 -0
- package/dist/src/broker/actor/authority-runtime.js +204 -0
- package/dist/src/broker/actor/authority-session.d.ts +65 -0
- package/dist/src/broker/actor/authority-session.js +252 -0
- package/dist/src/broker/actor/authority-settings.d.ts +33 -0
- package/dist/src/broker/actor/authority-settings.js +63 -0
- package/dist/src/broker/actor/authority-upgrades.d.ts +16 -0
- package/dist/src/broker/actor/authority-upgrades.js +12 -0
- package/dist/src/broker/actor/authority-watchdog.d.ts +14 -0
- package/dist/src/broker/actor/authority-watchdog.js +41 -0
- package/dist/src/broker/actor/authority.d.ts +14 -0
- package/dist/src/broker/actor/authority.js +115 -0
- package/dist/src/broker/actor/delivery-intents.d.ts +68 -0
- package/dist/src/broker/actor/delivery-intents.js +77 -0
- package/dist/src/broker/actor/delivery-plan.d.ts +2 -0
- package/dist/src/broker/actor/delivery-plan.js +109 -0
- package/dist/src/broker/actor/delivery-results.d.ts +11 -0
- package/dist/src/broker/actor/delivery-results.js +63 -0
- package/dist/src/broker/actor/effect-delivery.d.ts +19 -0
- package/dist/src/broker/actor/effect-delivery.js +118 -0
- package/dist/src/broker/actor/effect-plan.d.ts +41 -0
- package/dist/src/broker/actor/effect-plan.js +173 -0
- package/dist/src/broker/actor/effect-queries.d.ts +27 -0
- package/dist/src/broker/actor/effect-queries.js +80 -0
- package/dist/src/broker/actor/effect-turn.d.ts +25 -0
- package/dist/src/broker/actor/effect-turn.js +84 -0
- package/dist/src/broker/actor/pin-check.d.ts +6 -0
- package/dist/src/broker/actor/pin-check.js +12 -0
- package/dist/src/broker/actor/runtime-parts.d.ts +23 -0
- package/dist/src/broker/actor/runtime-parts.js +34 -0
- package/dist/src/broker/actor/stop-plan.d.ts +20 -0
- package/dist/src/broker/actor/stop-plan.js +46 -0
- package/dist/src/broker/actor/stop-turn.d.ts +17 -0
- package/dist/src/broker/actor/stop-turn.js +42 -0
- package/dist/src/broker/actor/turn-draft.d.ts +31 -0
- package/dist/src/broker/actor/turn-draft.js +138 -0
- package/dist/src/broker/actor/turn-plan.d.ts +17 -0
- package/dist/src/broker/actor/turn-plan.js +136 -0
- package/dist/src/broker/actor/turn-refusals.d.ts +8 -0
- package/dist/src/broker/actor/turn-refusals.js +35 -0
- package/dist/src/broker/actor/turn-staging.d.ts +78 -0
- package/dist/src/broker/actor/turn-staging.js +34 -0
- package/dist/src/broker/actor/turn-state.d.ts +34 -0
- package/dist/src/broker/actor/turn-state.js +208 -0
- package/dist/src/broker/authority-admission.d.ts +21 -0
- package/dist/src/broker/authority-admission.js +70 -0
- package/dist/src/broker/authority-restore.d.ts +30 -0
- package/dist/src/broker/authority-restore.js +165 -0
- package/dist/src/broker/decision-restore.d.ts +16 -0
- package/dist/src/broker/decision-restore.js +158 -0
- package/dist/src/broker/decision-upgrade.d.ts +3 -0
- package/dist/src/broker/decision-upgrade.js +12 -0
- package/dist/src/broker/effect-restore.d.ts +20 -0
- package/dist/src/broker/effect-restore.js +111 -0
- package/dist/src/broker/effect-upgrade.d.ts +3 -0
- package/dist/src/broker/effect-upgrade.js +9 -0
- package/dist/src/broker/operation-digest.d.ts +1 -0
- package/dist/src/broker/operation-digest.js +4 -0
- package/dist/src/broker/socket-address.d.ts +9 -0
- package/dist/src/broker/socket-address.js +14 -0
- package/dist/src/broker/workflow-pin.d.ts +2 -0
- package/dist/src/broker/workflow-pin.js +5 -0
- package/dist/src/chats/destination.d.ts +4 -0
- package/dist/src/chats/destination.js +94 -0
- package/dist/src/chats/import.d.ts +13 -0
- package/dist/src/chats/import.js +71 -0
- package/dist/src/chats/normalize.d.ts +20 -0
- package/dist/src/chats/normalize.js +139 -0
- package/dist/src/chats/reader.d.ts +15 -0
- package/dist/src/chats/reader.js +87 -0
- package/dist/src/cli/arguments.d.ts +23 -0
- package/dist/src/cli/arguments.js +154 -0
- package/dist/src/cli/client.d.ts +15 -0
- package/dist/src/cli/client.js +122 -0
- package/dist/src/cli/commands.d.ts +14 -0
- package/dist/src/cli/commands.js +253 -0
- package/dist/src/cli/main.d.ts +1 -0
- package/dist/src/cli/main.js +80 -0
- package/dist/src/cli/render.d.ts +8 -0
- package/dist/src/cli/render.js +186 -0
- package/dist/src/cli/runtime-arguments.d.ts +73 -0
- package/dist/src/cli/runtime-arguments.js +248 -0
- package/dist/src/cli/runtime-directory.d.ts +4 -0
- package/dist/src/cli/runtime-directory.js +25 -0
- package/dist/src/cli/toolchain.d.ts +3 -0
- package/dist/src/cli/toolchain.js +74 -0
- package/dist/src/cli/usage.d.ts +4 -0
- package/dist/src/cli/usage.js +124 -0
- package/dist/src/cli/validate.d.ts +38 -0
- package/dist/src/cli/validate.js +116 -0
- package/dist/src/cli/watch-board-view.d.ts +22 -0
- package/dist/src/cli/watch-board-view.js +128 -0
- package/dist/src/cli/watch-board.d.ts +15 -0
- package/dist/src/cli/watch-board.js +174 -0
- package/dist/src/cli/watch-element.d.ts +11 -0
- package/dist/src/cli/watch-element.js +6 -0
- package/dist/src/cli/watch-model.d.ts +29 -0
- package/dist/src/cli/watch-model.js +261 -0
- package/dist/src/cli/watch-navigation.d.ts +9 -0
- package/dist/src/cli/watch-navigation.js +40 -0
- package/dist/src/cli/watch-page.d.ts +1 -0
- package/dist/src/cli/watch-page.js +272 -0
- package/dist/src/cli/watch-paths.d.ts +2 -0
- package/dist/src/cli/watch-paths.js +52 -0
- package/dist/src/cli/watch-phases.d.ts +7 -0
- package/dist/src/cli/watch-phases.js +148 -0
- package/dist/src/cli/watch-reads.d.ts +28 -0
- package/dist/src/cli/watch-reads.js +244 -0
- package/dist/src/cli/watch-render.d.ts +139 -0
- package/dist/src/cli/watch-render.js +95 -0
- package/dist/src/cli/watch-server.d.ts +10 -0
- package/dist/src/cli/watch-server.js +176 -0
- package/dist/src/cli/watch-stream.d.ts +11 -0
- package/dist/src/cli/watch-stream.js +128 -0
- package/dist/src/cli/watch-turn.d.ts +29 -0
- package/dist/src/cli/watch-turn.js +130 -0
- package/dist/src/cli/watch-view.d.ts +39 -0
- package/dist/src/cli/watch-view.js +223 -0
- package/dist/src/cli.d.ts +2 -0
- package/dist/src/cli.js +62 -0
- package/dist/src/daemon/claude-turn.d.ts +28 -0
- package/dist/src/daemon/claude-turn.js +135 -0
- package/dist/src/daemon/claude-worker.d.ts +26 -0
- package/dist/src/daemon/claude-worker.js +224 -0
- package/dist/src/daemon/codex-stream.d.ts +4 -0
- package/dist/src/daemon/codex-stream.js +113 -0
- package/dist/src/daemon/daemon.d.ts +46 -0
- package/dist/src/daemon/daemon.js +186 -0
- package/dist/src/daemon/delivery-router.d.ts +10 -0
- package/dist/src/daemon/delivery-router.js +34 -0
- package/dist/src/daemon/github-calls.d.ts +29 -0
- package/dist/src/daemon/github-calls.js +127 -0
- package/dist/src/daemon/github-issue-methods.d.ts +3 -0
- package/dist/src/daemon/github-issue-methods.js +99 -0
- package/dist/src/daemon/github-issue-privacy.d.ts +6 -0
- package/dist/src/daemon/github-issue-privacy.js +131 -0
- package/dist/src/daemon/github-merge.d.ts +18 -0
- package/dist/src/daemon/github-merge.js +259 -0
- package/dist/src/daemon/github-methods.d.ts +5 -0
- package/dist/src/daemon/github-methods.js +198 -0
- package/dist/src/daemon/github-operation.d.ts +38 -0
- package/dist/src/daemon/github-operation.js +57 -0
- package/dist/src/daemon/github-worker.d.ts +17 -0
- package/dist/src/daemon/github-worker.js +281 -0
- package/dist/src/daemon/host-environment.d.ts +8 -0
- package/dist/src/daemon/host-environment.js +14 -0
- package/dist/src/daemon/issue-queue.d.ts +9 -0
- package/dist/src/daemon/issue-queue.js +163 -0
- package/dist/src/daemon/notify-message.d.ts +14 -0
- package/dist/src/daemon/notify-message.js +48 -0
- package/dist/src/daemon/notify.d.ts +12 -0
- package/dist/src/daemon/notify.js +161 -0
- package/dist/src/daemon/operation-journal.d.ts +42 -0
- package/dist/src/daemon/operation-journal.js +53 -0
- package/dist/src/daemon/ticket-registration.d.ts +33 -0
- package/dist/src/daemon/ticket-registration.js +177 -0
- package/dist/src/daemon/ticket-source.d.ts +17 -0
- package/dist/src/daemon/ticket-source.js +36 -0
- package/dist/src/daemon/work-tree.d.ts +26 -0
- package/dist/src/daemon/work-tree.js +206 -0
- package/dist/src/effect-authorization.d.ts +21 -0
- package/dist/src/effect-authorization.js +14 -0
- package/dist/src/execution-pin.d.ts +4 -0
- package/dist/src/execution-pin.js +68 -0
- package/dist/src/host/start-delivery.d.ts +41 -0
- package/dist/src/host/start-delivery.js +68 -0
- package/dist/src/host/step-bridge-host.d.ts +79 -0
- package/dist/src/host/step-bridge-host.js +205 -0
- package/dist/src/host/step-claims.d.ts +31 -0
- package/dist/src/host/step-claims.js +85 -0
- package/dist/src/host/world-host.d.ts +21 -0
- package/dist/src/host/world-host.js +51 -0
- package/dist/src/host/world-reconciliation.d.ts +37 -0
- package/dist/src/host/world-reconciliation.js +75 -0
- package/dist/src/host/world-runs.d.ts +14 -0
- package/dist/src/host/world-runs.js +61 -0
- package/dist/src/operation-identity.d.ts +7 -0
- package/dist/src/operation-identity.js +59 -0
- package/dist/src/protocol.d.ts +35 -0
- package/dist/src/protocol.js +64 -0
- package/dist/src/resource-files.d.ts +1 -0
- package/dist/src/resource-files.js +29 -0
- package/dist/src/service/changes.d.ts +11 -0
- package/dist/src/service/changes.js +32 -0
- package/dist/src/service/decision-handler.d.ts +9 -0
- package/dist/src/service/decision-handler.js +233 -0
- package/dist/src/service/event-handler.d.ts +10 -0
- package/dist/src/service/event-handler.js +70 -0
- package/dist/src/service/expiry.d.ts +13 -0
- package/dist/src/service/expiry.js +53 -0
- package/dist/src/service/gateway.d.ts +21 -0
- package/dist/src/service/gateway.js +120 -0
- package/dist/src/service/registry.d.ts +40 -0
- package/dist/src/service/registry.js +13 -0
- package/dist/src/service/replies.d.ts +26 -0
- package/dist/src/service/replies.js +56 -0
- package/dist/src/service/run-handlers.d.ts +4 -0
- package/dist/src/service/run-handlers.js +271 -0
- package/dist/src/service/service.d.ts +58 -0
- package/dist/src/service/service.js +212 -0
- package/dist/src/service/submission-handler.d.ts +4 -0
- package/dist/src/service/submission-handler.js +206 -0
- package/dist/src/service/transport.d.ts +16 -0
- package/dist/src/service/transport.js +141 -0
- package/dist/src/service/worker-port.d.ts +85 -0
- package/dist/src/service/worker-port.js +126 -0
- package/dist/src/step-bridge.d.ts +57 -0
- package/dist/src/step-bridge.js +4 -0
- package/dist/src/steps/decision-gate.d.ts +2 -0
- package/dist/src/steps/decision-gate.js +8 -0
- package/dist/src/steps/load-cycle.d.ts +10 -0
- package/dist/src/steps/load-cycle.js +11 -0
- package/dist/src/steps/protected-effect.d.ts +2 -0
- package/dist/src/steps/protected-effect.js +8 -0
- package/dist/src/storage/decision-rows.d.ts +54 -0
- package/dist/src/storage/decision-rows.js +72 -0
- package/dist/src/storage/decision-snapshots.d.ts +17 -0
- package/dist/src/storage/decision-snapshots.js +25 -0
- package/dist/src/storage/domain-changes.d.ts +48 -0
- package/dist/src/storage/domain-changes.js +213 -0
- package/dist/src/storage/domain-rows.d.ts +85 -0
- package/dist/src/storage/domain-rows.js +129 -0
- package/dist/src/storage/domain-schema.d.ts +32 -0
- package/dist/src/storage/domain-schema.js +193 -0
- package/dist/src/storage/effect-changes.d.ts +5 -0
- package/dist/src/storage/effect-changes.js +105 -0
- package/dist/src/storage/effect-rows.d.ts +67 -0
- package/dist/src/storage/effect-rows.js +74 -0
- package/dist/src/storage/effect-schema.d.ts +1 -0
- package/dist/src/storage/effect-schema.js +59 -0
- package/dist/src/storage/statements.d.ts +9 -0
- package/dist/src/storage/statements.js +8 -0
- package/dist/src/submission.d.ts +42 -0
- package/dist/src/submission.js +71 -0
- package/dist/src/turn-profile.d.ts +13 -0
- package/dist/src/turn-profile.js +100 -0
- package/dist/src/workflow-admission.d.ts +45 -0
- package/dist/src/workflow-admission.js +151 -0
- package/dist/src/workflow-contracts.d.ts +27 -0
- package/dist/src/workflow-contracts.js +88 -0
- package/dist/src/workflow-declaration.d.ts +11 -0
- package/dist/src/workflow-declaration.js +57 -0
- package/dist/src/workflow-resources.d.ts +8 -0
- package/dist/src/workflow-resources.js +14 -0
- package/dist/src/workflows.d.ts +5 -0
- package/dist/src/workflows.js +3 -0
- package/dist/tools/compile-workflows.d.ts +1 -0
- package/dist/tools/compile-workflows.js +33 -0
- package/dist/tools/self-host-processes.d.ts +10 -0
- package/dist/tools/self-host-processes.js +151 -0
- package/dist/tools/self-host-workflows.d.ts +15 -0
- package/dist/tools/self-host-workflows.js +78 -0
- package/dist/tools/self-host.d.ts +1 -0
- package/dist/tools/self-host.js +261 -0
- package/dist/tools/self-update-host.d.ts +6 -0
- package/dist/tools/self-update-host.js +41 -0
- package/dist/tools/self-update.d.ts +10 -0
- package/dist/tools/self-update.js +105 -0
- package/dist/tools/workflow-manifest.d.ts +3 -0
- package/dist/tools/workflow-manifest.js +34 -0
- package/dist/workflows/develop-prd.d.ts +7 -0
- package/dist/workflows/develop-prd.js +97 -0
- package/dist/workflows/develop-ticket.d.ts +15 -0
- package/dist/workflows/develop-ticket.js +301 -0
- package/dist/workflows/issue-labels.d.ts +14 -0
- package/dist/workflows/issue-labels.js +36 -0
- package/package.json +82 -75
- package/.DS_Store +0 -0
- package/.aider.chat.history.md +0 -16978
- package/.aider.input.history +0 -15
- package/.aider.tags.cache.v3/cache.db +0 -0
- package/.aider.tags.cache.v3/cache.db-shm +0 -0
- package/.aider.tags.cache.v3/cache.db-wal +0 -0
- package/.cursorrules +0 -77
- package/.github/workflows/auto-release.yml +0 -83
- package/.github/workflows/ci.yml +0 -32
- package/.github/workflows/npm-publish.yml +0 -34
- package/.gitignore +0 -67
- package/.husky/_/.gitignore +0 -1
- package/.husky/_/applypatch-msg +0 -2
- package/.husky/_/commit-msg +0 -2
- package/.husky/_/h +0 -22
- package/.husky/_/husky.sh +0 -9
- package/.husky/_/post-applypatch +0 -2
- package/.husky/_/post-checkout +0 -2
- package/.husky/_/post-commit +0 -2
- package/.husky/_/post-merge +0 -2
- package/.husky/_/post-rewrite +0 -2
- package/.husky/_/pre-applypatch +0 -2
- package/.husky/_/pre-auto-gc +0 -2
- package/.husky/_/pre-commit +0 -2
- package/.husky/_/pre-merge-commit +0 -2
- package/.husky/_/pre-push +0 -2
- package/.husky/_/pre-rebase +0 -2
- package/.husky/_/prepare-commit-msg +0 -2
- package/.husky/pre-commit +0 -1
- package/.husky/pre-push +0 -1
- package/.prettierrc.json +0 -7
- package/.tool-versions +0 -2
- package/SECURITY.md +0 -15
- package/cloving.json +0 -67
- package/dist/abstract_gpt/index.js +0 -55
- package/dist/cloving_gpt/adapters/Adapter.js +0 -2
- package/dist/cloving_gpt/adapters/azureopenai.js +0 -69
- package/dist/cloving_gpt/adapters/claude.js +0 -128
- package/dist/cloving_gpt/adapters/gemini.js +0 -135
- package/dist/cloving_gpt/adapters/gpt4all.js +0 -29
- package/dist/cloving_gpt/adapters/index.js +0 -2
- package/dist/cloving_gpt/adapters/mistral.js +0 -128
- package/dist/cloving_gpt/adapters/ollama.js +0 -128
- package/dist/cloving_gpt/adapters/openai.js +0 -100
- package/dist/cloving_gpt/index.js +0 -192
- package/dist/commands/analyze.js +0 -47
- package/dist/commands/chat.js +0 -14
- package/dist/commands/check.js +0 -7
- package/dist/commands/commit.js +0 -44
- package/dist/commands/config.js +0 -167
- package/dist/commands/describe.js +0 -235
- package/dist/commands/generate/code.js +0 -21
- package/dist/commands/generate/commit.js +0 -11
- package/dist/commands/generate/context.js +0 -82
- package/dist/commands/generate/docs.js +0 -11
- package/dist/commands/generate/documentation.js +0 -11
- package/dist/commands/generate/fizzbuzz.js +0 -35
- package/dist/commands/generate/init.js +0 -15
- package/dist/commands/generate/review.js +0 -11
- package/dist/commands/generate/sh.js +0 -95
- package/dist/commands/generate/shell.js +0 -11
- package/dist/commands/generate/unit_tests.js +0 -11
- package/dist/commands/init.js +0 -13
- package/dist/commands/models.js +0 -22
- package/dist/commands/project/build.js +0 -88
- package/dist/commands/project/complete.js +0 -12
- package/dist/commands/project/init.js +0 -82
- package/dist/commands/project/plan.js +0 -108
- package/dist/commands/proxy.js +0 -11
- package/dist/commands/review.js +0 -50
- package/dist/commands/tokens.js +0 -75
- package/dist/commands/unit_tests.js +0 -150
- package/dist/commands/update.js +0 -7
- package/dist/file2.js +0 -4
- package/dist/index.js +0 -134
- package/dist/managers/BlockManager.js +0 -120
- package/dist/managers/ChatManager.js +0 -653
- package/dist/managers/ChunkManager.js +0 -32
- package/dist/managers/CodeManager.js +0 -185
- package/dist/managers/CommitManager.js +0 -64
- package/dist/managers/DocsManager.js +0 -88
- package/dist/managers/DocumentationManager.js +0 -114
- package/dist/managers/InitManager.js +0 -230
- package/dist/managers/ProxyManager.js +0 -210
- package/dist/managers/ReviewManager.js +0 -131
- package/dist/managers/ShellManager.js +0 -163
- package/dist/managers/StreamManager.js +0 -308
- package/dist/managers/UnitTestManager.js +0 -243
- package/dist/managers/src/managers/ProxyManager.js +0 -1
- package/dist/newfile.js +0 -2
- package/dist/package.json +0 -86
- package/dist/utils/command_utils.js +0 -384
- package/dist/utils/config_utils.js +0 -249
- package/dist/utils/gitUtils.js +0 -42
- package/dist/utils/git_utils.js +0 -217
- package/dist/utils/modelUtils.js +0 -7
- package/dist/utils/model_utils.js +0 -7
- package/dist/utils/prompt_utils.js +0 -333
- package/dist/utils/prompts/CODEGEN_COULDNT_APPLY.md +0 -5
- package/dist/utils/prompts/CODEGEN_EXAMPLES.md +0 -82
- package/dist/utils/prompts/CODEGEN_INSTRUCTIONS.md +0 -43
- package/dist/utils/prompts/DOCS_INSTRUCTIONS.md +0 -9
- package/dist/utils/prompts/INIT_INSTRUCTIONS.md +0 -132
- package/dist/utils/prompts/REVIEW_INSTRUCTIONS.md +0 -49
- package/dist/utils/prompts/SHELL_INSTRUCTIONS.md +0 -15
- package/dist/utils/prompts/SPECIAL_FILES.md +0 -66
- package/dist/utils/prompts/index.js +0 -27
- package/dist/utils/string_utils.js +0 -505
- package/dist/utils/types.js +0 -2
- package/jest.config.js +0 -11
- package/src/cloving_gpt/adapters/azureopenai.ts +0 -83
- package/src/cloving_gpt/adapters/claude.ts +0 -140
- package/src/cloving_gpt/adapters/gemini.ts +0 -146
- package/src/cloving_gpt/adapters/index.ts +0 -43
- package/src/cloving_gpt/adapters/mistral.ts +0 -142
- package/src/cloving_gpt/adapters/ollama.ts +0 -136
- package/src/cloving_gpt/adapters/openai.ts +0 -113
- package/src/cloving_gpt/index.ts +0 -229
- package/src/commands/chat.ts +0 -12
- package/src/commands/config.ts +0 -192
- package/src/commands/generate/code.ts +0 -18
- package/src/commands/generate/commit.ts +0 -9
- package/src/commands/generate/context.ts +0 -93
- package/src/commands/generate/docs.ts +0 -9
- package/src/commands/generate/review.ts +0 -9
- package/src/commands/generate/shell.ts +0 -9
- package/src/commands/generate/unit_tests.ts +0 -9
- package/src/commands/init.ts +0 -9
- package/src/commands/models.ts +0 -21
- package/src/commands/proxy.ts +0 -9
- package/src/commands/tokens.ts +0 -82
- package/src/index.ts +0 -197
- package/src/managers/BlockManager.ts +0 -126
- package/src/managers/ChatManager.ts +0 -755
- package/src/managers/ChunkManager.ts +0 -31
- package/src/managers/CodeManager.ts +0 -226
- package/src/managers/CommitManager.ts +0 -71
- package/src/managers/DocsManager.ts +0 -101
- package/src/managers/InitManager.ts +0 -263
- package/src/managers/ProxyManager.ts +0 -240
- package/src/managers/ReviewManager.ts +0 -154
- package/src/managers/ShellManager.ts +0 -172
- package/src/managers/StreamManager.ts +0 -353
- package/src/managers/UnitTestManager.ts +0 -293
- package/src/utils/config_utils.ts +0 -271
- package/src/utils/git_utils.ts +0 -230
- package/src/utils/model_utils.ts +0 -3
- package/src/utils/prompt_utils.ts +0 -375
- package/src/utils/prompts/CODEGEN_COULDNT_APPLY.md +0 -5
- package/src/utils/prompts/CODEGEN_EXAMPLES.md +0 -82
- package/src/utils/prompts/CODEGEN_INSTRUCTIONS.md +0 -43
- package/src/utils/prompts/DOCS_INSTRUCTIONS.md +0 -9
- package/src/utils/prompts/INIT_INSTRUCTIONS.md +0 -132
- package/src/utils/prompts/REVIEW_INSTRUCTIONS.md +0 -49
- package/src/utils/prompts/SHELL_INSTRUCTIONS.md +0 -15
- package/src/utils/prompts/SPECIAL_FILES.md +0 -66
- package/src/utils/prompts/index.ts +0 -37
- package/src/utils/string_utils.ts +0 -552
- package/src/utils/types.ts +0 -127
- package/tests/commands/generate/unit_tests.test.ts +0 -27
- package/tests/utils/git_utils.test.ts +0 -116
- package/tests/utils/model_utils.test.ts +0 -27
- package/tests/utils/prompt_utils.test.ts +0 -33
- package/tests/utils/string_utils.test.ts +0 -560
- package/tsconfig.json +0 -14
- package/yarn.lock +0 -5823
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
import { decisionGate } from "cloving/workflows/steps/decision-gate";
|
|
2
|
+
import { protectedEffect } from "cloving/workflows/steps/protected-effect";
|
|
3
|
+
import { finishIssue, labelIssue } from "./issue-labels.js";
|
|
4
|
+
const lastRound = 3;
|
|
5
|
+
const lastFix = 3;
|
|
6
|
+
const publicRule = "The branch becomes a public pull request. Do not write local file paths, such as the path of your home folder, in files or in commit messages.";
|
|
7
|
+
function instructions(repository) {
|
|
8
|
+
return [
|
|
9
|
+
"You work on one ticket of this repository. Your current directory is a git work tree on its own branch.",
|
|
10
|
+
`The main repository is at ${repository}. Do not change files there.`,
|
|
11
|
+
`If this work tree has no node_modules folder and the main repository has one, make a copy-on-write clone: cp -c -R ${repository}/node_modules node_modules`,
|
|
12
|
+
"Follow the instructions of the repository (AGENTS.md and CLAUDE.md).",
|
|
13
|
+
"Use test-driven development: write a test that fails, see it fail, then write the code.",
|
|
14
|
+
"Run the checks of the repository before you finish.",
|
|
15
|
+
"Commit your work on the current branch. Do not push. Do not change a different branch.",
|
|
16
|
+
"End with a short report: what you changed, the checks that you ran with their results, and what is not done.",
|
|
17
|
+
].join("\n");
|
|
18
|
+
}
|
|
19
|
+
function named(input) {
|
|
20
|
+
return input.ticketId === undefined
|
|
21
|
+
? "this ticket"
|
|
22
|
+
: `the ticket ${input.ticketId}`;
|
|
23
|
+
}
|
|
24
|
+
function fields(text) {
|
|
25
|
+
const value = JSON.parse(text ?? "{}");
|
|
26
|
+
return typeof value === "object" && value !== null ? { ...value } : {};
|
|
27
|
+
}
|
|
28
|
+
function part(turn, name) {
|
|
29
|
+
const value = turn[name];
|
|
30
|
+
if (Array.isArray(value))
|
|
31
|
+
return value.join("\n");
|
|
32
|
+
if (typeof value === "number")
|
|
33
|
+
return value.toFixed(2);
|
|
34
|
+
return typeof value === "string" ? value : "";
|
|
35
|
+
}
|
|
36
|
+
function denial(round) {
|
|
37
|
+
return round < lastRound
|
|
38
|
+
? "Deny with a feedback text to send the work back to the worker for one more round. Deny with no text to reject the work."
|
|
39
|
+
: "Deny to reject the work. This is the last round.";
|
|
40
|
+
}
|
|
41
|
+
function review(input, turnResult) {
|
|
42
|
+
const turn = fields(turnResult.result);
|
|
43
|
+
return [
|
|
44
|
+
`Review the work of the Claude worker for ${named(input)}.`,
|
|
45
|
+
`Round: ${String(turnResult.round)} of ${String(lastRound)}`,
|
|
46
|
+
`Branch: ${part(turn, "branch")}`,
|
|
47
|
+
`Work tree: ${part(turn, "worktree")}`,
|
|
48
|
+
`Cost (USD): ${part(turn, "costUsd")}`,
|
|
49
|
+
"",
|
|
50
|
+
"Commits:",
|
|
51
|
+
part(turn, "commits"),
|
|
52
|
+
"",
|
|
53
|
+
"Changed files:",
|
|
54
|
+
part(turn, "files"),
|
|
55
|
+
"",
|
|
56
|
+
"Not committed:",
|
|
57
|
+
part(turn, "uncommitted"),
|
|
58
|
+
"",
|
|
59
|
+
"Report of the worker:",
|
|
60
|
+
part(turn, "summary"),
|
|
61
|
+
"",
|
|
62
|
+
"Approve to accept the branch, then merge the branch yourself.",
|
|
63
|
+
denial(turnResult.round),
|
|
64
|
+
].join("\n");
|
|
65
|
+
}
|
|
66
|
+
function blocked(cycleId, cause) {
|
|
67
|
+
return { kind: "blocked", cycleId, ...cause };
|
|
68
|
+
}
|
|
69
|
+
function prompt(input, round) {
|
|
70
|
+
const ticket = `${instructions(input.repository)}\n\nThe text of ${named(input)}:\n\n${input.ticket}`;
|
|
71
|
+
if (round.feedback === null)
|
|
72
|
+
return ticket;
|
|
73
|
+
return `${ticket}\n\nThis is round ${String(round.number)}. The branch has the commits of the earlier rounds. The operator denied the work of round ${String(round.number - 1)} with this feedback:\n\n${round.feedback}`;
|
|
74
|
+
}
|
|
75
|
+
function decided(cycleId, decision) {
|
|
76
|
+
const number = Number(decision.gateId.slice("review-".length));
|
|
77
|
+
if (decision.decision === "approved")
|
|
78
|
+
return {
|
|
79
|
+
kind: "handoff_requested",
|
|
80
|
+
cycleId,
|
|
81
|
+
promotionId: `cloving-${cycleId}`,
|
|
82
|
+
};
|
|
83
|
+
if (decision.answer === null)
|
|
84
|
+
return blocked(cycleId, {
|
|
85
|
+
reason: "The operator denied the work.",
|
|
86
|
+
evidenceId: decision.gateId,
|
|
87
|
+
});
|
|
88
|
+
if (number >= lastRound)
|
|
89
|
+
return blocked(cycleId, {
|
|
90
|
+
reason: `The operator denied the work of round ${String(number)}, and a run has at most ${String(lastRound)} rounds.`,
|
|
91
|
+
evidenceId: decision.gateId,
|
|
92
|
+
});
|
|
93
|
+
return { number: number + 1, feedback: decision.answer };
|
|
94
|
+
}
|
|
95
|
+
function pullPrompt(input) {
|
|
96
|
+
return `${instructions(input.repository)}\n${publicRule}\n\nThe text of ${named(input)}:\n\n${input.ticket}`;
|
|
97
|
+
}
|
|
98
|
+
function findingLines(findings) {
|
|
99
|
+
if (!Array.isArray(findings))
|
|
100
|
+
return "";
|
|
101
|
+
return findings
|
|
102
|
+
.map((item) => {
|
|
103
|
+
const finding = fields(JSON.stringify(item));
|
|
104
|
+
const line = finding["line"];
|
|
105
|
+
const place = typeof line === "number" ? `:${String(line)}` : "";
|
|
106
|
+
return `- ${part(finding, "path")}${place}: ${part(finding, "body")}`;
|
|
107
|
+
})
|
|
108
|
+
.join("\n");
|
|
109
|
+
}
|
|
110
|
+
function turnPrompt(input, fix) {
|
|
111
|
+
if (fix === null)
|
|
112
|
+
return pullPrompt(input);
|
|
113
|
+
const { round, pull, review } = fix;
|
|
114
|
+
if (typeof review["reason"] === "string")
|
|
115
|
+
return [
|
|
116
|
+
pullPrompt(input),
|
|
117
|
+
"",
|
|
118
|
+
`This is round ${String(round)}. The merge of the pull request ${pull.url} needs a fix: ${review["reason"]}.`,
|
|
119
|
+
review["reason"] === "merge-conflict"
|
|
120
|
+
? "Merge the default branch of origin into the branch, resolve each conflict, run the tests, and commit."
|
|
121
|
+
: "The check failed on the tree of the merge of the branch with the newest commit of the default branch. Fix the cause and commit the fix.",
|
|
122
|
+
"",
|
|
123
|
+
part(review, "output"),
|
|
124
|
+
].join("\n");
|
|
125
|
+
return [
|
|
126
|
+
pullPrompt(input),
|
|
127
|
+
"",
|
|
128
|
+
`This is round ${String(round)}. The branch has the commits of the earlier rounds. Greptile reviewed the pull request ${pull.url} at the commit ${pull.commit.slice(0, 7)} and gave the confidence score ${String(review["score"])}/5. Fix each problem of the review, then commit the fixes. Cloving merges the pull request when the score is 5/5.`,
|
|
129
|
+
"",
|
|
130
|
+
"Summary of the review:",
|
|
131
|
+
"",
|
|
132
|
+
part(review, "summary"),
|
|
133
|
+
"",
|
|
134
|
+
"Findings on lines:",
|
|
135
|
+
"",
|
|
136
|
+
findingLines(review["findings"]),
|
|
137
|
+
].join("\n");
|
|
138
|
+
}
|
|
139
|
+
function pullTitle(input) {
|
|
140
|
+
const [first = ""] = input.ticket.split("\n", 1);
|
|
141
|
+
return first.startsWith("# ")
|
|
142
|
+
? first.slice(2).trim().slice(0, 200)
|
|
143
|
+
: `Cloving task ${input.cycleId}`;
|
|
144
|
+
}
|
|
145
|
+
function pullBody(input) {
|
|
146
|
+
const issue = /^GitHub issue: ([\w.-]+[/][\w.-]+#\d+)/m.exec(input.ticket);
|
|
147
|
+
const about = `Cloving made this change for ${named(input)}. Greptile reviews the pull request, and Cloving merges it when the confidence score is 5/5.`;
|
|
148
|
+
return issue === null ? about : `Closes ${String(issue[1])}\n\n${about}`;
|
|
149
|
+
}
|
|
150
|
+
async function stepped(input, call) {
|
|
151
|
+
const { phase, operation, round, capability, method, payload } = call;
|
|
152
|
+
const done = await protectedEffect({
|
|
153
|
+
scope: { phase, operation, round },
|
|
154
|
+
capability,
|
|
155
|
+
method,
|
|
156
|
+
target: input.cycleId,
|
|
157
|
+
payload,
|
|
158
|
+
units: 1,
|
|
159
|
+
});
|
|
160
|
+
if (done.kind === "completed")
|
|
161
|
+
return { kind: "done", result: fields(done.result) };
|
|
162
|
+
const cause = "reason" in done && done.reason !== null ? ` (${done.reason})` : "";
|
|
163
|
+
return blocked(input.cycleId, {
|
|
164
|
+
reason: `The step ${operation} has the result ${done.kind}${cause}.`,
|
|
165
|
+
evidenceId: operation,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
function github(input, call) {
|
|
169
|
+
return stepped(input, {
|
|
170
|
+
phase: "pull-request",
|
|
171
|
+
operation: `github-${call.method}`,
|
|
172
|
+
capability: "github",
|
|
173
|
+
method: call.method,
|
|
174
|
+
round: call.round,
|
|
175
|
+
payload: JSON.stringify(call.payload),
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
function pullOf(result) {
|
|
179
|
+
return {
|
|
180
|
+
number: Number(result["number"]),
|
|
181
|
+
url: part(result, "url"),
|
|
182
|
+
commit: part(result, "commit"),
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
async function merged(input, done) {
|
|
186
|
+
const { number, commit } = done.pull;
|
|
187
|
+
const merge = await github(input, {
|
|
188
|
+
method: "merge",
|
|
189
|
+
round: done.round,
|
|
190
|
+
payload: { number, commit },
|
|
191
|
+
});
|
|
192
|
+
if (merge.kind !== "done")
|
|
193
|
+
return merge;
|
|
194
|
+
if (typeof merge.result["reason"] !== "string")
|
|
195
|
+
return {
|
|
196
|
+
kind: "handoff_requested",
|
|
197
|
+
cycleId: input.cycleId,
|
|
198
|
+
promotionId: `pull-request-${String(number)}`,
|
|
199
|
+
};
|
|
200
|
+
if (done.round > lastFix)
|
|
201
|
+
return blocked(input.cycleId, {
|
|
202
|
+
reason: `The merge has the result ${merge.result["reason"]} in round ${String(done.round)}, and a run has at most ${String(lastFix)} fix rounds. The pull request stays open: ${done.pull.url}`,
|
|
203
|
+
evidenceId: "github-merge",
|
|
204
|
+
});
|
|
205
|
+
return { round: done.round + 1, pull: done.pull, review: merge.result };
|
|
206
|
+
}
|
|
207
|
+
async function pullRequest(input) {
|
|
208
|
+
const prepared = await github(input, {
|
|
209
|
+
method: "prepare",
|
|
210
|
+
round: 1,
|
|
211
|
+
payload: {},
|
|
212
|
+
});
|
|
213
|
+
if (prepared.kind !== "done")
|
|
214
|
+
return prepared;
|
|
215
|
+
await labelIssue(input, { key: "start", round: 1 });
|
|
216
|
+
let fix = null;
|
|
217
|
+
for (let round = 1;; round += 1) {
|
|
218
|
+
const turn = await stepped(input, {
|
|
219
|
+
phase: "implement",
|
|
220
|
+
operation: "claude-turn",
|
|
221
|
+
capability: "claude",
|
|
222
|
+
method: "run-turn",
|
|
223
|
+
round,
|
|
224
|
+
payload: turnPrompt(input, fix),
|
|
225
|
+
});
|
|
226
|
+
if (turn.kind !== "done")
|
|
227
|
+
return finishIssue(input, { round, outcome: turn });
|
|
228
|
+
const opened = await github(input, {
|
|
229
|
+
method: "open-pr",
|
|
230
|
+
round,
|
|
231
|
+
payload: { title: pullTitle(input), body: pullBody(input) },
|
|
232
|
+
});
|
|
233
|
+
if (opened.kind !== "done")
|
|
234
|
+
return finishIssue(input, { round, outcome: opened });
|
|
235
|
+
const pull = pullOf(opened.result);
|
|
236
|
+
const reviewed = await github(input, {
|
|
237
|
+
method: "wait-review",
|
|
238
|
+
round,
|
|
239
|
+
payload: { number: pull.number, commit: pull.commit },
|
|
240
|
+
});
|
|
241
|
+
if (reviewed.kind !== "done")
|
|
242
|
+
return finishIssue(input, { round, outcome: reviewed });
|
|
243
|
+
const score = reviewed.result["score"];
|
|
244
|
+
if (score === 5) {
|
|
245
|
+
const result = await merged(input, { round, pull });
|
|
246
|
+
if ("kind" in result)
|
|
247
|
+
return finishIssue(input, { round, outcome: result });
|
|
248
|
+
fix = result;
|
|
249
|
+
continue;
|
|
250
|
+
}
|
|
251
|
+
if (round > lastFix)
|
|
252
|
+
return finishIssue(input, {
|
|
253
|
+
round,
|
|
254
|
+
outcome: blocked(input.cycleId, {
|
|
255
|
+
reason: `Greptile gave the confidence score ${String(score)}/5 in round ${String(round)}, and a run has at most ${String(lastFix)} fix rounds. The pull request stays open: ${pull.url}`,
|
|
256
|
+
evidenceId: "github-wait-review",
|
|
257
|
+
}),
|
|
258
|
+
});
|
|
259
|
+
fix = { round: round + 1, pull, review: reviewed.result };
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
export async function developTicket(input, decision) {
|
|
263
|
+
"use workflow";
|
|
264
|
+
if (input.delivery === "pull-request")
|
|
265
|
+
return pullRequest(input);
|
|
266
|
+
const { cycleId } = input;
|
|
267
|
+
const round = decision === undefined
|
|
268
|
+
? { number: 1, feedback: null }
|
|
269
|
+
: decided(cycleId, decision);
|
|
270
|
+
if ("kind" in round)
|
|
271
|
+
return round;
|
|
272
|
+
const gateId = `review-${String(round.number)}`;
|
|
273
|
+
const turn = await protectedEffect({
|
|
274
|
+
scope: {
|
|
275
|
+
phase: "implement",
|
|
276
|
+
operation: "claude-turn",
|
|
277
|
+
round: round.number,
|
|
278
|
+
},
|
|
279
|
+
capability: "claude",
|
|
280
|
+
method: "run-turn",
|
|
281
|
+
target: cycleId,
|
|
282
|
+
payload: prompt(input, round),
|
|
283
|
+
units: 1,
|
|
284
|
+
});
|
|
285
|
+
if (turn.kind !== "completed")
|
|
286
|
+
return blocked(cycleId, {
|
|
287
|
+
reason: `The Claude turn has the result ${turn.kind}.`,
|
|
288
|
+
evidenceId: "claude-turn",
|
|
289
|
+
});
|
|
290
|
+
const gate = await decisionGate({
|
|
291
|
+
gateId,
|
|
292
|
+
kind: "approval",
|
|
293
|
+
prompt: review(input, { round: round.number, result: turn.result }),
|
|
294
|
+
});
|
|
295
|
+
if (gate.kind !== "opened")
|
|
296
|
+
return blocked(cycleId, {
|
|
297
|
+
reason: `The review gate has the result ${gate.kind}.`,
|
|
298
|
+
evidenceId: gateId,
|
|
299
|
+
});
|
|
300
|
+
return { kind: "waiting_for_decision", cycleId, decisionId: gate.decisionId };
|
|
301
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { CycleOutcome } from "cloving/workflows";
|
|
2
|
+
interface IssueTicket {
|
|
3
|
+
readonly cycleId: string;
|
|
4
|
+
readonly ticket: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function labelIssue(input: IssueTicket, state: {
|
|
7
|
+
readonly key: "start" | "blocked" | "done";
|
|
8
|
+
readonly round: number;
|
|
9
|
+
}): Promise<void>;
|
|
10
|
+
export declare function finishIssue(input: IssueTicket, ending: {
|
|
11
|
+
readonly round: number;
|
|
12
|
+
readonly outcome: CycleOutcome;
|
|
13
|
+
}): Promise<CycleOutcome>;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { protectedEffect } from "cloving/workflows/steps/protected-effect";
|
|
2
|
+
export async function labelIssue(input, state) {
|
|
3
|
+
const issue = /^GitHub issue: ([\w.-]+)\/([\w.-]+)#(\d+)/m.exec(input.ticket);
|
|
4
|
+
if (issue === null)
|
|
5
|
+
return;
|
|
6
|
+
const additions = {
|
|
7
|
+
start: ["cloving: in progress"],
|
|
8
|
+
blocked: ["cloving: blocked"],
|
|
9
|
+
done: [],
|
|
10
|
+
};
|
|
11
|
+
const add = additions[state.key];
|
|
12
|
+
const remove = state.key === "start"
|
|
13
|
+
? ["cloving: ready", "cloving: blocked"]
|
|
14
|
+
: ["cloving: in progress"];
|
|
15
|
+
await protectedEffect({
|
|
16
|
+
scope: { phase: "pull-request", operation: "github-label", ...state },
|
|
17
|
+
capability: "github",
|
|
18
|
+
method: "label",
|
|
19
|
+
target: input.cycleId,
|
|
20
|
+
units: 1,
|
|
21
|
+
payload: JSON.stringify({
|
|
22
|
+
owner: issue[1],
|
|
23
|
+
repository: issue[2],
|
|
24
|
+
number: Number(issue[3]),
|
|
25
|
+
add,
|
|
26
|
+
remove,
|
|
27
|
+
}),
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
export async function finishIssue(input, ending) {
|
|
31
|
+
await labelIssue(input, {
|
|
32
|
+
round: ending.round,
|
|
33
|
+
key: ending.outcome.kind === "blocked" ? "blocked" : "done",
|
|
34
|
+
});
|
|
35
|
+
return ending.outcome;
|
|
36
|
+
}
|
package/package.json
CHANGED
|
@@ -1,86 +1,93 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cloving",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"types": "dist/index.d.ts",
|
|
7
|
-
"scripts": {
|
|
8
|
-
"build": "tsc && cp package.json dist/package.json && cp src/utils/prompts/*.md dist/utils/prompts/",
|
|
9
|
-
"start": "node dist/index.js",
|
|
10
|
-
"watch": "tsc -w",
|
|
11
|
-
"check": "bash -c 'npx tsc --noEmit --skipLibCheck'",
|
|
12
|
-
"test": "bash -c jest",
|
|
13
|
-
"prepare": "husky",
|
|
14
|
-
"format": "prettier --write \"src/**/*.ts\""
|
|
15
|
-
},
|
|
16
|
-
"bin": "./dist/index.js",
|
|
17
|
-
"files": [
|
|
18
|
-
"dist",
|
|
19
|
-
"!**/test/**"
|
|
20
|
-
],
|
|
21
|
-
"keywords": [],
|
|
22
|
-
"author": "Lucas Carlson",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "Local durable development workflow service",
|
|
23
5
|
"license": "MIT",
|
|
24
|
-
"
|
|
25
|
-
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/cloving-ai/cloving-ai.git"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://github.com/cloving-ai/cloving-ai#readme",
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/cloving-ai/cloving-ai/issues"
|
|
30
13
|
},
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
14
|
+
"type": "module",
|
|
15
|
+
"imports": {
|
|
16
|
+
"#package": "./package.json"
|
|
17
|
+
},
|
|
18
|
+
"bin": {
|
|
19
|
+
"cloving": "dist/src/cli.js"
|
|
20
|
+
},
|
|
21
|
+
"exports": {
|
|
22
|
+
"./workflows": {
|
|
23
|
+
"types": "./dist/src/workflows.d.ts",
|
|
24
|
+
"import": "./dist/src/workflows.js"
|
|
25
|
+
},
|
|
26
|
+
"./workflows/steps/load-cycle": {
|
|
27
|
+
"types": "./dist/src/steps/load-cycle.d.ts",
|
|
28
|
+
"import": "./dist/src/steps/load-cycle.js"
|
|
29
|
+
},
|
|
30
|
+
"./workflows/steps/protected-effect": {
|
|
31
|
+
"types": "./dist/src/steps/protected-effect.d.ts",
|
|
32
|
+
"import": "./dist/src/steps/protected-effect.js"
|
|
33
|
+
},
|
|
34
|
+
"./workflows/steps/decision-gate": {
|
|
35
|
+
"types": "./dist/src/steps/decision-gate.d.ts",
|
|
36
|
+
"import": "./dist/src/steps/decision-gate.js"
|
|
39
37
|
}
|
|
40
38
|
},
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
"
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
"
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
39
|
+
"files": [
|
|
40
|
+
"dist/src",
|
|
41
|
+
"dist/tools",
|
|
42
|
+
"dist/workflows"
|
|
43
|
+
],
|
|
44
|
+
"engines": {
|
|
45
|
+
"node": ">=26.9.0 <27",
|
|
46
|
+
"npm": ">=11.19.1 <12"
|
|
47
|
+
},
|
|
48
|
+
"os": [
|
|
49
|
+
"darwin"
|
|
50
|
+
],
|
|
51
|
+
"cpu": [
|
|
52
|
+
"arm64"
|
|
53
|
+
],
|
|
54
|
+
"scripts": {
|
|
55
|
+
"build": "tsc --project tsconfig.build.json && node tools/copy-workflow-declarations.ts workflows dist/workflows",
|
|
56
|
+
"build:workflows": "node tools/compile-workflows.ts",
|
|
57
|
+
"check:setup": "tsc --project tsconfig.json --noEmit",
|
|
58
|
+
"check:quality": "node tools/check-quality.ts",
|
|
59
|
+
"check:lint": "eslint src tools quality test eslint.config.mjs --max-warnings 0",
|
|
60
|
+
"check:format": "prettier --check src tools quality test eslint.config.mjs package.json tsconfig.json tsconfig.build.json",
|
|
61
|
+
"test:quality": "node --test test/quality/*.test.ts",
|
|
62
|
+
"test:scale": "node --test --test-concurrency=1 test/authority-opening-scale.benchmark.ts",
|
|
63
|
+
"check": "node tools/quality-pending.ts",
|
|
64
|
+
"test:concurrency": "node tools/quality-pending.ts"
|
|
63
65
|
},
|
|
64
66
|
"devDependencies": {
|
|
65
|
-
"@
|
|
66
|
-
"@types/
|
|
67
|
-
"@types/
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
|
|
78
|
-
|
|
67
|
+
"@eslint/js": "10.0.1",
|
|
68
|
+
"@types/istanbul-lib-coverage": "2.0.6",
|
|
69
|
+
"@types/node": "26.6.4",
|
|
70
|
+
"acorn": "8.16.0",
|
|
71
|
+
"ast-v8-to-istanbul": "1.0.5",
|
|
72
|
+
"eslint": "10.12.0",
|
|
73
|
+
"eslint-plugin-sonarjs": "4.2.2",
|
|
74
|
+
"istanbul-lib-coverage": "3.2.2",
|
|
75
|
+
"jscpd": "5.4.0",
|
|
76
|
+
"prettier": "3.9.9",
|
|
77
|
+
"typescript": "6.0.3",
|
|
78
|
+
"typescript-eslint": "8.71.1"
|
|
79
|
+
},
|
|
80
|
+
"overrides": {
|
|
81
|
+
"@workflow/core": {
|
|
82
|
+
"devalue": "5.9.4",
|
|
83
|
+
"nanoid": "5.1.16"
|
|
84
|
+
}
|
|
79
85
|
},
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
86
|
+
"dependencies": {
|
|
87
|
+
"@workflow/builders": "5.0.2",
|
|
88
|
+
"entities": "8.1.0",
|
|
89
|
+
"preact": "11.0.0",
|
|
90
|
+
"solid-objects": "0.17.8",
|
|
91
|
+
"workflow": "5.1.0"
|
|
85
92
|
}
|
|
86
93
|
}
|
package/.DS_Store
DELETED
|
Binary file
|