clinkx 0.2.3 → 1.0.0
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/CHANGELOG.md +33 -0
- package/LICENSE +10 -0
- package/README.md +113 -18
- package/clinkx-workflows/dist/allowed-roots.d.ts +1 -0
- package/clinkx-workflows/dist/allowed-roots.js +5 -0
- package/clinkx-workflows/dist/allowed-roots.js.map +1 -0
- package/clinkx-workflows/dist/artifacts.d.ts +20 -1
- package/clinkx-workflows/dist/artifacts.js +38 -9
- package/clinkx-workflows/dist/artifacts.js.map +1 -1
- package/clinkx-workflows/dist/backend.d.ts +4 -0
- package/clinkx-workflows/dist/citation-check.d.ts +40 -0
- package/clinkx-workflows/dist/citation-check.js +348 -0
- package/clinkx-workflows/dist/citation-check.js.map +1 -0
- package/clinkx-workflows/dist/clink-client.d.ts +2 -1
- package/clinkx-workflows/dist/clink-client.js +17 -4
- package/clinkx-workflows/dist/clink-client.js.map +1 -1
- package/clinkx-workflows/dist/config.d.ts +145 -16
- package/clinkx-workflows/dist/config.js +384 -26
- package/clinkx-workflows/dist/config.js.map +1 -1
- package/clinkx-workflows/dist/contained-file.d.ts +172 -0
- package/clinkx-workflows/dist/contained-file.js +483 -0
- package/clinkx-workflows/dist/contained-file.js.map +1 -0
- package/clinkx-workflows/dist/context-builder-lifecycle-contract.d.ts +416 -0
- package/clinkx-workflows/dist/context-builder-lifecycle-contract.js +328 -0
- package/clinkx-workflows/dist/context-builder-lifecycle-contract.js.map +1 -0
- package/clinkx-workflows/dist/context-builder-lifecycle-router.d.ts +24 -0
- package/clinkx-workflows/dist/context-builder-lifecycle-router.js +39 -0
- package/clinkx-workflows/dist/context-builder-lifecycle-router.js.map +1 -0
- package/clinkx-workflows/dist/context-cache-key.d.ts +53 -0
- package/clinkx-workflows/dist/context-cache-key.js +91 -0
- package/clinkx-workflows/dist/context-cache-key.js.map +1 -0
- package/clinkx-workflows/dist/context-mode-resolver.d.ts +27 -0
- package/clinkx-workflows/dist/context-mode-resolver.js +126 -0
- package/clinkx-workflows/dist/context-mode-resolver.js.map +1 -0
- package/clinkx-workflows/dist/context-preflight.d.ts +184 -0
- package/clinkx-workflows/dist/context-preflight.js +91 -0
- package/clinkx-workflows/dist/context-preflight.js.map +1 -0
- package/clinkx-workflows/dist/council-expander.d.ts +1 -1
- package/clinkx-workflows/dist/council-expander.js +2 -1
- package/clinkx-workflows/dist/council-expander.js.map +1 -1
- package/clinkx-workflows/dist/dashboard/activity-contract.d.ts +165 -0
- package/clinkx-workflows/dist/dashboard/activity-contract.js +105 -0
- package/clinkx-workflows/dist/dashboard/activity-contract.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/activity-lease.d.ts +25 -0
- package/clinkx-workflows/dist/dashboard/activity-lease.js +34 -0
- package/clinkx-workflows/dist/dashboard/activity-lease.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/activity-reader.d.ts +86 -0
- package/clinkx-workflows/dist/dashboard/activity-reader.js +480 -0
- package/clinkx-workflows/dist/dashboard/activity-reader.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/api-routes.d.ts +36 -0
- package/clinkx-workflows/dist/dashboard/api-routes.js +1047 -0
- package/clinkx-workflows/dist/dashboard/api-routes.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/artifact-index.d.ts +37 -0
- package/clinkx-workflows/dist/dashboard/artifact-index.js +145 -0
- package/clinkx-workflows/dist/dashboard/artifact-index.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/auth/challenge-store.d.ts +31 -0
- package/clinkx-workflows/dist/dashboard/auth/challenge-store.js +65 -0
- package/clinkx-workflows/dist/dashboard/auth/challenge-store.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/auth/controller.d.ts +26 -0
- package/clinkx-workflows/dist/dashboard/auth/controller.js +596 -0
- package/clinkx-workflows/dist/dashboard/auth/controller.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/auth/credential-store.d.ts +60 -0
- package/clinkx-workflows/dist/dashboard/auth/credential-store.js +776 -0
- package/clinkx-workflows/dist/dashboard/auth/credential-store.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/auth/enrollment-gate.d.ts +9 -0
- package/clinkx-workflows/dist/dashboard/auth/enrollment-gate.js +44 -0
- package/clinkx-workflows/dist/dashboard/auth/enrollment-gate.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/auth/session-store.d.ts +17 -0
- package/clinkx-workflows/dist/dashboard/auth/session-store.js +77 -0
- package/clinkx-workflows/dist/dashboard/auth/session-store.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/auth/webauthn-service.d.ts +25 -0
- package/clinkx-workflows/dist/dashboard/auth/webauthn-service.js +71 -0
- package/clinkx-workflows/dist/dashboard/auth/webauthn-service.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/context-run-liveness.d.ts +37 -0
- package/clinkx-workflows/dist/dashboard/context-run-liveness.js +49 -0
- package/clinkx-workflows/dist/dashboard/context-run-liveness.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/context-run-reader.d.ts +222 -0
- package/clinkx-workflows/dist/dashboard/context-run-reader.js +1178 -0
- package/clinkx-workflows/dist/dashboard/context-run-reader.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/contracts.d.ts +8936 -0
- package/clinkx-workflows/dist/dashboard/contracts.js +1157 -0
- package/clinkx-workflows/dist/dashboard/contracts.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/generation.d.ts +14 -0
- package/clinkx-workflows/dist/dashboard/generation.js +41 -0
- package/clinkx-workflows/dist/dashboard/generation.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/index.d.ts +28 -0
- package/clinkx-workflows/dist/dashboard/index.js +16 -0
- package/clinkx-workflows/dist/dashboard/index.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/lazy-content.d.ts +101 -0
- package/clinkx-workflows/dist/dashboard/lazy-content.js +748 -0
- package/clinkx-workflows/dist/dashboard/lazy-content.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/progress-report-contract.d.ts +303 -0
- package/clinkx-workflows/dist/dashboard/progress-report-contract.js +221 -0
- package/clinkx-workflows/dist/dashboard/progress-report-contract.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/progress-report-reader.d.ts +50 -0
- package/clinkx-workflows/dist/dashboard/progress-report-reader.js +581 -0
- package/clinkx-workflows/dist/dashboard/progress-report-reader.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.d.ts +89 -0
- package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.js +71 -0
- package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/progress-report-status-store.d.ts +28 -0
- package/clinkx-workflows/dist/dashboard/progress-report-status-store.js +110 -0
- package/clinkx-workflows/dist/dashboard/progress-report-status-store.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/read-model.d.ts +86 -0
- package/clinkx-workflows/dist/dashboard/read-model.js +440 -0
- package/clinkx-workflows/dist/dashboard/read-model.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/request-admission.d.ts +31 -0
- package/clinkx-workflows/dist/dashboard/request-admission.js +126 -0
- package/clinkx-workflows/dist/dashboard/request-admission.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/scanner.d.ts +75 -0
- package/clinkx-workflows/dist/dashboard/scanner.js +1110 -0
- package/clinkx-workflows/dist/dashboard/scanner.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/server-factory.d.ts +50 -0
- package/clinkx-workflows/dist/dashboard/server-factory.js +431 -0
- package/clinkx-workflows/dist/dashboard/server-factory.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/session-log-contract.d.ts +2611 -0
- package/clinkx-workflows/dist/dashboard/session-log-contract.js +480 -0
- package/clinkx-workflows/dist/dashboard/session-log-contract.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/session-log-identity.d.ts +21 -0
- package/clinkx-workflows/dist/dashboard/session-log-identity.js +101 -0
- package/clinkx-workflows/dist/dashboard/session-log-identity.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/session-log-journal.d.ts +43 -0
- package/clinkx-workflows/dist/dashboard/session-log-journal.js +522 -0
- package/clinkx-workflows/dist/dashboard/session-log-journal.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/session-log-reader.d.ts +61 -0
- package/clinkx-workflows/dist/dashboard/session-log-reader.js +378 -0
- package/clinkx-workflows/dist/dashboard/session-log-reader.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/session-log-redaction.d.ts +6 -0
- package/clinkx-workflows/dist/dashboard/session-log-redaction.js +367 -0
- package/clinkx-workflows/dist/dashboard/session-log-redaction.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/session-log-retention.d.ts +23 -0
- package/clinkx-workflows/dist/dashboard/session-log-retention.js +212 -0
- package/clinkx-workflows/dist/dashboard/session-log-retention.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/static-responses.d.ts +10 -0
- package/clinkx-workflows/dist/dashboard/static-responses.js +94 -0
- package/clinkx-workflows/dist/dashboard/static-responses.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/worker-lock-observer.d.ts +28 -0
- package/clinkx-workflows/dist/dashboard/worker-lock-observer.js +241 -0
- package/clinkx-workflows/dist/dashboard/worker-lock-observer.js.map +1 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2 +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2 +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2 +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2 +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2 +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/index-DOkMXTfB.js +25 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2 +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff +0 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/style-ChJsn0KD.css +1 -0
- package/clinkx-workflows/dist/dashboard-ui/contracts/council-plan-review-input-v1.json +158 -0
- package/clinkx-workflows/dist/dashboard-ui/index.html +15 -0
- package/clinkx-workflows/dist/dashboard-ui/licenses/IBM-Plex-Mono-OFL.txt +93 -0
- package/clinkx-workflows/dist/dashboard-ui/licenses/IBM-Plex-Sans-OFL.txt +93 -0
- package/clinkx-workflows/dist/dashboard-ui/licenses/JetBrains-Mono-OFL.txt +93 -0
- package/clinkx-workflows/dist/dashboard-ui/licenses/NOTICE.md +32 -0
- package/clinkx-workflows/dist/dashboard-ui/theme-init.js +8 -0
- package/clinkx-workflows/dist/definition-normalizer.d.ts +19 -0
- package/clinkx-workflows/dist/definition-normalizer.js.map +1 -1
- package/clinkx-workflows/dist/delegate-validate.d.ts +78 -0
- package/clinkx-workflows/dist/delegate-validate.js +97 -0
- package/clinkx-workflows/dist/delegate-validate.js.map +1 -0
- package/clinkx-workflows/dist/engine.d.ts +141 -0
- package/clinkx-workflows/dist/engine.js +882 -28
- package/clinkx-workflows/dist/engine.js.map +1 -1
- package/clinkx-workflows/dist/errors.d.ts +2 -0
- package/clinkx-workflows/dist/errors.js.map +1 -1
- package/clinkx-workflows/dist/fingerprint.d.ts +1 -1
- package/clinkx-workflows/dist/fingerprint.js +1 -1
- package/clinkx-workflows/dist/index.d.ts +19 -0
- package/clinkx-workflows/dist/index.js +15 -0
- package/clinkx-workflows/dist/index.js.map +1 -1
- package/clinkx-workflows/dist/loader.d.ts +9 -3
- package/clinkx-workflows/dist/loader.js +92 -21
- package/clinkx-workflows/dist/loader.js.map +1 -1
- package/clinkx-workflows/dist/plan-review/admission.d.ts +160 -0
- package/clinkx-workflows/dist/plan-review/admission.js +290 -0
- package/clinkx-workflows/dist/plan-review/admission.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/context-policy.d.ts +55 -0
- package/clinkx-workflows/dist/plan-review/context-policy.js +146 -0
- package/clinkx-workflows/dist/plan-review/context-policy.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/contract.d.ts +763 -0
- package/clinkx-workflows/dist/plan-review/contract.js +289 -0
- package/clinkx-workflows/dist/plan-review/contract.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/digest.d.ts +68 -0
- package/clinkx-workflows/dist/plan-review/digest.js +241 -0
- package/clinkx-workflows/dist/plan-review/digest.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/discovery.d.ts +45 -0
- package/clinkx-workflows/dist/plan-review/discovery.js +36 -0
- package/clinkx-workflows/dist/plan-review/discovery.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/execution-contract.d.ts +298 -0
- package/clinkx-workflows/dist/plan-review/execution-contract.js +194 -0
- package/clinkx-workflows/dist/plan-review/execution-contract.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/expander.d.ts +48 -0
- package/clinkx-workflows/dist/plan-review/expander.js +243 -0
- package/clinkx-workflows/dist/plan-review/expander.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/projector.d.ts +126 -0
- package/clinkx-workflows/dist/plan-review/projector.js +437 -0
- package/clinkx-workflows/dist/plan-review/projector.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/publication.d.ts +95 -0
- package/clinkx-workflows/dist/plan-review/publication.js +182 -0
- package/clinkx-workflows/dist/plan-review/publication.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/ranking-reducer.d.ts +34 -0
- package/clinkx-workflows/dist/plan-review/ranking-reducer.js +139 -0
- package/clinkx-workflows/dist/plan-review/ranking-reducer.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/resume.d.ts +38 -0
- package/clinkx-workflows/dist/plan-review/resume.js +122 -0
- package/clinkx-workflows/dist/plan-review/resume.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/rubric.d.ts +7 -0
- package/clinkx-workflows/dist/plan-review/rubric.js +24 -0
- package/clinkx-workflows/dist/plan-review/rubric.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/run-state.d.ts +398 -0
- package/clinkx-workflows/dist/plan-review/run-state.js +183 -0
- package/clinkx-workflows/dist/plan-review/run-state.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/runtime-policy.d.ts +74 -0
- package/clinkx-workflows/dist/plan-review/runtime-policy.js +186 -0
- package/clinkx-workflows/dist/plan-review/runtime-policy.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/snapshot.d.ts +81 -0
- package/clinkx-workflows/dist/plan-review/snapshot.js +170 -0
- package/clinkx-workflows/dist/plan-review/snapshot.js.map +1 -0
- package/clinkx-workflows/dist/plan-review/stage-error.d.ts +19 -0
- package/clinkx-workflows/dist/plan-review/stage-error.js +20 -0
- package/clinkx-workflows/dist/plan-review/stage-error.js.map +1 -0
- package/clinkx-workflows/dist/post-processors/index.d.ts +20 -0
- package/clinkx-workflows/dist/post-processors/index.js +21 -0
- package/clinkx-workflows/dist/post-processors/index.js.map +1 -0
- package/clinkx-workflows/dist/prompt-budget.d.ts +7 -0
- package/clinkx-workflows/dist/prompt-budget.js +7 -1
- package/clinkx-workflows/dist/prompt-budget.js.map +1 -1
- package/clinkx-workflows/dist/reducers/index.js +2 -0
- package/clinkx-workflows/dist/reducers/index.js.map +1 -1
- package/clinkx-workflows/dist/run-lock-heartbeat.d.ts +2 -0
- package/clinkx-workflows/dist/run-lock-heartbeat.js +3 -0
- package/clinkx-workflows/dist/run-lock-heartbeat.js.map +1 -0
- package/clinkx-workflows/dist/run-summary/cards/council-plan-review.d.ts +34 -0
- package/clinkx-workflows/dist/run-summary/cards/council-plan-review.js +74 -0
- package/clinkx-workflows/dist/run-summary/cards/council-plan-review.js.map +1 -0
- package/clinkx-workflows/dist/run-summary/cards/index.js +5 -0
- package/clinkx-workflows/dist/run-summary/cards/index.js.map +1 -1
- package/clinkx-workflows/dist/run-summary.d.ts +13 -0
- package/clinkx-workflows/dist/run-summary.js +29 -1
- package/clinkx-workflows/dist/run-summary.js.map +1 -1
- package/clinkx-workflows/dist/schema.d.ts +76 -21
- package/clinkx-workflows/dist/schema.js +10 -1
- package/clinkx-workflows/dist/schema.js.map +1 -1
- package/clinkx-workflows/dist/seed-terms.d.ts +30 -0
- package/clinkx-workflows/dist/seed-terms.js +176 -0
- package/clinkx-workflows/dist/seed-terms.js.map +1 -0
- package/clinkx-workflows/dist/server.d.ts +5 -2
- package/clinkx-workflows/dist/server.js +82 -52
- package/clinkx-workflows/dist/server.js.map +1 -1
- package/clinkx-workflows/dist/shutdown.d.ts +18 -20
- package/clinkx-workflows/dist/shutdown.js +43 -61
- package/clinkx-workflows/dist/shutdown.js.map +1 -1
- package/clinkx-workflows/dist/state-schema.d.ts +38 -0
- package/clinkx-workflows/dist/state.d.ts +170 -3
- package/clinkx-workflows/dist/state.js +1275 -28
- package/clinkx-workflows/dist/state.js.map +1 -1
- package/clinkx-workflows/dist/transport.d.ts +15 -0
- package/clinkx-workflows/dist/transport.js +19 -10
- package/clinkx-workflows/dist/transport.js.map +1 -1
- package/clinkx-workflows/dist/types.d.ts +14 -2
- package/clinkx-workflows/dist/validators/council.d.ts +318 -85
- package/clinkx-workflows/dist/validators/council.js +52 -13
- package/clinkx-workflows/dist/validators/council.js.map +1 -1
- package/clinkx-workflows/dist/validators/index.d.ts +1 -0
- package/clinkx-workflows/dist/validators/index.js +3 -0
- package/clinkx-workflows/dist/validators/index.js.map +1 -1
- package/clinkx-workflows/dist/validators/plan-review.d.ts +398 -0
- package/clinkx-workflows/dist/validators/plan-review.js +316 -0
- package/clinkx-workflows/dist/validators/plan-review.js.map +1 -0
- package/clinkx-workflows/dist/workflow-receipt.js +188 -4
- package/clinkx-workflows/dist/workflow-receipt.js.map +1 -1
- package/clinkx-workflows/dist/workflow-tools.d.ts +48 -3
- package/clinkx-workflows/dist/workflow-tools.js +1402 -59
- package/clinkx-workflows/dist/workflow-tools.js.map +1 -1
- package/clinkx-workflows/dist/workspace-signature.d.ts +16 -0
- package/clinkx-workflows/dist/workspace-signature.js +388 -0
- package/clinkx-workflows/dist/workspace-signature.js.map +1 -0
- package/clinkx-workflows/templates/council/answer-specialist.txt +2 -1
- package/clinkx-workflows/templates/council/code-review-chairman.txt +13 -0
- package/clinkx-workflows/templates/council/code-review-cross-reviewer.txt +4 -1
- package/clinkx-workflows/templates/council/code-review-reviewer.txt +19 -3
- package/clinkx-workflows/templates/council/debug-debugger.txt +2 -1
- package/clinkx-workflows/templates/council/discover-analyst.txt +2 -1
- package/clinkx-workflows/templates/council/member.txt +2 -1
- package/clinkx-workflows/templates/council/plan-review-chairman.txt +68 -0
- package/clinkx-workflows/templates/council/plan-review-cross-reviewer.txt +51 -0
- package/clinkx-workflows/templates/council/plan-review-reviewer.txt +60 -0
- package/clinkx-workflows/templates/plan-review/chairman.txt +48 -0
- package/clinkx-workflows/templates/plan-review/cross-review.txt +52 -0
- package/clinkx-workflows/templates/plan-review/ranking.txt +16 -0
- package/clinkx-workflows/templates/plan-review/reviewer.txt +57 -0
- package/clinkx-workflows/workflows/council-answer.yaml +97 -8
- package/clinkx-workflows/workflows/council-code-review.yaml +103 -8
- package/clinkx-workflows/workflows/council-debug.yaml +97 -8
- package/clinkx-workflows/workflows/council-default.yaml +97 -8
- package/clinkx-workflows/workflows/council-discover.yaml +97 -8
- package/clinkx-workflows/workflows/council-plan-review.yaml +250 -0
- package/clinkx-workflows/workflows/plan-review-receipts.yaml +230 -0
- package/conf/adapters/agy.json +49 -0
- package/conf/adapters/claude.json +5 -0
- package/conf/adapters/codex-app-server.json +44 -0
- package/conf/adapters/codex.json +7 -2
- package/conf/adapters/glm.json +5 -0
- package/conf/adapters/grok.json +60 -0
- package/conf/adapters/hapi/agy.json +52 -0
- package/conf/adapters/hapi/claude.json +5 -0
- package/conf/adapters/hapi/codex.json +7 -2
- package/conf/adapters/hapi/glm.json +5 -0
- package/conf/prompts/json-codereviewer.txt +1 -0
- package/conf/prompts/json.txt +1 -0
- package/dist/activity-journal.d.ts +42 -0
- package/dist/activity-journal.js +381 -0
- package/dist/activity-journal.js.map +1 -0
- package/dist/allowed-roots.d.ts +53 -0
- package/dist/allowed-roots.js +216 -0
- package/dist/allowed-roots.js.map +1 -0
- package/dist/codex/activity-session-log.d.ts +14 -0
- package/dist/codex/activity-session-log.js +206 -0
- package/dist/codex/activity-session-log.js.map +1 -0
- package/dist/codex/agent-tools.d.ts +23 -0
- package/dist/codex/agent-tools.js +1270 -0
- package/dist/codex/agent-tools.js.map +1 -0
- package/dist/codex/app-server-client.d.ts +76 -0
- package/dist/codex/app-server-client.js +582 -0
- package/dist/codex/app-server-client.js.map +1 -0
- package/dist/codex/app-server-registry.d.ts +389 -0
- package/dist/codex/app-server-registry.js +1407 -0
- package/dist/codex/app-server-registry.js.map +1 -0
- package/dist/codex/client-types.d.ts +109 -0
- package/dist/codex/client-types.js +2 -0
- package/dist/codex/client-types.js.map +1 -0
- package/dist/codex/protocol.d.ts +5375 -0
- package/dist/codex/protocol.js +614 -0
- package/dist/codex/protocol.js.map +1 -0
- package/dist/codex/session.d.ts +263 -0
- package/dist/codex/session.js +466 -0
- package/dist/codex/session.js.map +1 -0
- package/dist/config.d.ts +185 -19
- package/dist/config.js +82 -16
- package/dist/config.js.map +1 -1
- package/dist/context-builder/anchors.d.ts +12 -0
- package/dist/context-builder/anchors.js +22 -0
- package/dist/context-builder/anchors.js.map +1 -0
- package/dist/context-builder/bundle.d.ts +109 -0
- package/dist/context-builder/bundle.js +1498 -0
- package/dist/context-builder/bundle.js.map +1 -0
- package/dist/context-builder/codemap.d.ts +22 -0
- package/dist/context-builder/codemap.js +675 -0
- package/dist/context-builder/codemap.js.map +1 -0
- package/dist/context-builder/config.d.ts +61 -0
- package/dist/context-builder/config.js +216 -0
- package/dist/context-builder/config.js.map +1 -0
- package/dist/context-builder/context-run-catalog.d.ts +17 -0
- package/dist/context-builder/context-run-catalog.js +99 -0
- package/dist/context-builder/context-run-catalog.js.map +1 -0
- package/dist/context-builder/delegate-packet.d.ts +219 -0
- package/dist/context-builder/delegate-packet.js +1190 -0
- package/dist/context-builder/delegate-packet.js.map +1 -0
- package/dist/context-builder/delegate-reconstruction.d.ts +13 -0
- package/dist/context-builder/delegate-reconstruction.js +220 -0
- package/dist/context-builder/delegate-reconstruction.js.map +1 -0
- package/dist/context-builder/delegate-validation.d.ts +27 -0
- package/dist/context-builder/delegate-validation.js +479 -0
- package/dist/context-builder/delegate-validation.js.map +1 -0
- package/dist/context-builder/delegate.d.ts +26 -0
- package/dist/context-builder/delegate.js +134 -0
- package/dist/context-builder/delegate.js.map +1 -0
- package/dist/context-builder/diagnostics.d.ts +36 -0
- package/dist/context-builder/diagnostics.js +107 -0
- package/dist/context-builder/diagnostics.js.map +1 -0
- package/dist/context-builder/discovery.d.ts +146 -0
- package/dist/context-builder/discovery.js +2129 -0
- package/dist/context-builder/discovery.js.map +1 -0
- package/dist/context-builder/globs.d.ts +14 -0
- package/dist/context-builder/globs.js +175 -0
- package/dist/context-builder/globs.js.map +1 -0
- package/dist/context-builder/handler.d.ts +41 -0
- package/dist/context-builder/handler.js +2590 -0
- package/dist/context-builder/handler.js.map +1 -0
- package/dist/context-builder/lifecycle-contract.d.ts +424 -0
- package/dist/context-builder/lifecycle-contract.js +523 -0
- package/dist/context-builder/lifecycle-contract.js.map +1 -0
- package/dist/context-builder/lifecycle-journal.d.ts +62 -0
- package/dist/context-builder/lifecycle-journal.js +88 -0
- package/dist/context-builder/lifecycle-journal.js.map +1 -0
- package/dist/context-builder/lifecycle-observer.d.ts +102 -0
- package/dist/context-builder/lifecycle-observer.js +258 -0
- package/dist/context-builder/lifecycle-observer.js.map +1 -0
- package/dist/context-builder/lifecycle-reconcile.d.ts +32 -0
- package/dist/context-builder/lifecycle-reconcile.js +191 -0
- package/dist/context-builder/lifecycle-reconcile.js.map +1 -0
- package/dist/context-builder/lifecycle-recovery.d.ts +2 -0
- package/dist/context-builder/lifecycle-recovery.js +14 -0
- package/dist/context-builder/lifecycle-recovery.js.map +1 -0
- package/dist/context-builder/path-signals.d.ts +7 -0
- package/dist/context-builder/path-signals.js +70 -0
- package/dist/context-builder/path-signals.js.map +1 -0
- package/dist/context-builder/paths.d.ts +30 -0
- package/dist/context-builder/paths.js +153 -0
- package/dist/context-builder/paths.js.map +1 -0
- package/dist/context-builder/progress.d.ts +17 -0
- package/dist/context-builder/progress.js +93 -0
- package/dist/context-builder/progress.js.map +1 -0
- package/dist/context-builder/receipt.d.ts +91 -0
- package/dist/context-builder/receipt.js +180 -0
- package/dist/context-builder/receipt.js.map +1 -0
- package/dist/context-builder/refine-handler.d.ts +14 -0
- package/dist/context-builder/refine-handler.js +790 -0
- package/dist/context-builder/refine-handler.js.map +1 -0
- package/dist/context-builder/review-coverage.d.ts +84 -0
- package/dist/context-builder/review-coverage.js +437 -0
- package/dist/context-builder/review-coverage.js.map +1 -0
- package/dist/context-builder/run-id.d.ts +7 -0
- package/dist/context-builder/run-id.js +31 -0
- package/dist/context-builder/run-id.js.map +1 -0
- package/dist/context-builder/schema.d.ts +669 -0
- package/dist/context-builder/schema.js +399 -0
- package/dist/context-builder/schema.js.map +1 -0
- package/dist/context-builder/secrets.d.ts +41 -0
- package/dist/context-builder/secrets.js +1651 -0
- package/dist/context-builder/secrets.js.map +1 -0
- package/dist/context-builder/selection.d.ts +56 -0
- package/dist/context-builder/selection.js +1111 -0
- package/dist/context-builder/selection.js.map +1 -0
- package/dist/context-builder/session-log-identity.d.ts +1 -0
- package/dist/context-builder/session-log-identity.js +66 -0
- package/dist/context-builder/session-log-identity.js.map +1 -0
- package/dist/context-builder/slice-range-math.d.ts +16 -0
- package/dist/context-builder/slice-range-math.js +137 -0
- package/dist/context-builder/slice-range-math.js.map +1 -0
- package/dist/context-builder/status.d.ts +66 -0
- package/dist/context-builder/status.js +160 -0
- package/dist/context-builder/status.js.map +1 -0
- package/dist/context-builder/storage.d.ts +118 -0
- package/dist/context-builder/storage.js +1003 -0
- package/dist/context-builder/storage.js.map +1 -0
- package/dist/context-builder/token-estimate.d.ts +19 -0
- package/dist/context-builder/token-estimate.js +90 -0
- package/dist/context-builder/token-estimate.js.map +1 -0
- package/dist/context-builder/versions.d.ts +29 -0
- package/dist/context-builder/versions.js +30 -0
- package/dist/context-builder/versions.js.map +1 -0
- package/dist/context-builder/workflow-runner.d.ts +69 -0
- package/dist/context-builder/workflow-runner.js +1051 -0
- package/dist/context-builder/workflow-runner.js.map +1 -0
- package/dist/context-builder/write-watchdog.d.ts +14 -0
- package/dist/context-builder/write-watchdog.js +38 -0
- package/dist/context-builder/write-watchdog.js.map +1 -0
- package/dist/dashboard-adapter-catalog.d.ts +9 -0
- package/dist/dashboard-adapter-catalog.js +46 -0
- package/dist/dashboard-adapter-catalog.js.map +1 -0
- package/dist/dashboard-cli.d.ts +79 -0
- package/dist/dashboard-cli.js +585 -0
- package/dist/dashboard-cli.js.map +1 -0
- package/dist/dashboard-companion/client.d.ts +36 -0
- package/dist/dashboard-companion/client.js +210 -0
- package/dist/dashboard-companion/client.js.map +1 -0
- package/dist/dashboard-companion/config.d.ts +8 -0
- package/dist/dashboard-companion/config.js +52 -0
- package/dist/dashboard-companion/config.js.map +1 -0
- package/dist/dashboard-companion/http-proxy.d.ts +10 -0
- package/dist/dashboard-companion/http-proxy.js +234 -0
- package/dist/dashboard-companion/http-proxy.js.map +1 -0
- package/dist/dashboard-companion/protocol.d.ts +80 -0
- package/dist/dashboard-companion/protocol.js +455 -0
- package/dist/dashboard-companion/protocol.js.map +1 -0
- package/dist/dashboard-companion/standalone-assets.d.ts +12 -0
- package/dist/dashboard-companion/standalone-assets.js +72 -0
- package/dist/dashboard-companion/standalone-assets.js.map +1 -0
- package/dist/dashboard-companion/standalone-entry.d.ts +1 -0
- package/dist/dashboard-companion/standalone-entry.js +17 -0
- package/dist/dashboard-companion/standalone-entry.js.map +1 -0
- package/dist/dashboard-gateway/config.d.ts +9 -0
- package/dist/dashboard-gateway/config.js +44 -0
- package/dist/dashboard-gateway/config.js.map +1 -0
- package/dist/dashboard-gateway/index.d.ts +11 -0
- package/dist/dashboard-gateway/index.js +755 -0
- package/dist/dashboard-gateway/index.js.map +1 -0
- package/dist/dashboard-gateway/main.d.ts +1 -0
- package/dist/dashboard-gateway/main.js +25 -0
- package/dist/dashboard-gateway/main.js.map +1 -0
- package/dist/dashboard-pairing-token.d.ts +1 -0
- package/dist/dashboard-pairing-token.js +5 -0
- package/dist/dashboard-pairing-token.js.map +1 -0
- package/dist/elaris/client.d.ts +73 -0
- package/dist/elaris/client.js +825 -0
- package/dist/elaris/client.js.map +1 -0
- package/dist/elaris/config.d.ts +18 -0
- package/dist/elaris/config.js +75 -0
- package/dist/elaris/config.js.map +1 -0
- package/dist/elaris/errors.d.ts +41 -0
- package/dist/elaris/errors.js +205 -0
- package/dist/elaris/errors.js.map +1 -0
- package/dist/elaris/github-repo.d.ts +18 -0
- package/dist/elaris/github-repo.js +89 -0
- package/dist/elaris/github-repo.js.map +1 -0
- package/dist/elaris/index.d.ts +10 -0
- package/dist/elaris/index.js +11 -0
- package/dist/elaris/index.js.map +1 -0
- package/dist/elaris/redact.d.ts +89 -0
- package/dist/elaris/redact.js +423 -0
- package/dist/elaris/redact.js.map +1 -0
- package/dist/elaris/run-id.d.ts +5 -0
- package/dist/elaris/run-id.js +20 -0
- package/dist/elaris/run-id.js.map +1 -0
- package/dist/elaris/status.d.ts +45 -0
- package/dist/elaris/status.js +122 -0
- package/dist/elaris/status.js.map +1 -0
- package/dist/elaris/tool-schemas.d.ts +314 -0
- package/dist/elaris/tool-schemas.js +208 -0
- package/dist/elaris/tool-schemas.js.map +1 -0
- package/dist/elaris/tools.d.ts +73 -0
- package/dist/elaris/tools.js +1065 -0
- package/dist/elaris/tools.js.map +1 -0
- package/dist/elaris/types.d.ts +1541 -0
- package/dist/elaris/types.js +252 -0
- package/dist/elaris/types.js.map +1 -0
- package/dist/errors.d.ts +16 -0
- package/dist/errors.js +19 -0
- package/dist/errors.js.map +1 -1
- package/dist/handler.d.ts +4 -0
- package/dist/handler.js +10 -1
- package/dist/handler.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +13 -3
- package/dist/index.js.map +1 -1
- package/dist/local-clink-backend.d.ts +3 -0
- package/dist/local-clink-backend.js +4 -0
- package/dist/local-clink-backend.js.map +1 -1
- package/dist/package-info.d.ts +2 -0
- package/dist/package-info.js +18 -0
- package/dist/package-info.js.map +1 -0
- package/dist/parsers/codex-jsonl.js +48 -3
- package/dist/parsers/codex-jsonl.js.map +1 -1
- package/dist/parsers/extract.d.ts +10 -1
- package/dist/parsers/extract.js +11 -3
- package/dist/parsers/extract.js.map +1 -1
- package/dist/paths.d.ts +8 -0
- package/dist/paths.js +31 -43
- package/dist/paths.js.map +1 -1
- package/dist/pipeline.d.ts +51 -3
- package/dist/pipeline.js +264 -47
- package/dist/pipeline.js.map +1 -1
- package/dist/run-dir.d.ts +24 -0
- package/dist/run-dir.js +201 -2
- package/dist/run-dir.js.map +1 -1
- package/dist/runner.d.ts +13 -0
- package/dist/runner.js +184 -15
- package/dist/runner.js.map +1 -1
- package/dist/safety.d.ts +4 -4
- package/dist/safety.js +4 -4
- package/dist/schema.d.ts +7 -7
- package/dist/server.d.ts +2 -0
- package/dist/server.js +396 -24
- package/dist/server.js.map +1 -1
- package/dist/session-log-stream.d.ts +18 -0
- package/dist/session-log-stream.js +319 -0
- package/dist/session-log-stream.js.map +1 -0
- package/package.json +47 -5
- package/conf/adapters/gemini.json +0 -44
- package/conf/adapters/hapi/gemini.json +0 -47
- package/dist/artifacts.d.ts +0 -9
- package/dist/artifacts.js +0 -24
- package/dist/artifacts.js.map +0 -1
- package/dist/parsers/gemini-json.d.ts +0 -2
- package/dist/parsers/gemini-json.js +0 -72
- package/dist/parsers/gemini-json.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shutdown.js","sourceRoot":"","sources":["../src/shutdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"shutdown.js","sourceRoot":"","sources":["../src/shutdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAcrC;;;;;GAKG;AACH,MAAM,OAAO,mBAAmB;IACb,OAAO,GAAG,IAAI,GAAG,EAAiC,CAAC;IAC5D,UAAU,GAAG,CAAC,CAAC;IACf,YAAY,GAAG,KAAK,CAAC;IAE7B;;;;OAIG;IACH,QAAQ,CACN,OAAqB,EACrB,UAA2B,EAC3B,YAA4B;QAE5B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QAC/B,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;QAChE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,MAAsB;QAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAc;QAC3B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,mCAAmC,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,0BAA0B,CAAC,CAAC;QAEpD,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC;QAEvD,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,2BAA2B,CAAC,CAAC;IACvD,CAAC;IAED,0EAA0E;IAClE,KAAK,CAAC,SAAS,CAAC,WAAkB;QACxC,0EAA0E;QAC1E,0DAA0D;QAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACpD,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;YACvC,2BAA2B;YAC3B,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAEpC,mCAAmC;YACnC,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC;YAC7B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CACV,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACzD,yCAAyC,CAC1C,CAAC;YACJ,CAAC;YAED,6BAA6B;YAC7B,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAClC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CACV,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACzD,mDAAmD,CACpD,CAAC;YACJ,CAAC;YAED,uCAAuC;YACvC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;CACF;AAED,sCAAsC;AACtC,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAC"}
|
|
@@ -19,18 +19,32 @@
|
|
|
19
19
|
*/
|
|
20
20
|
import type { ChildFailureMetadata } from "./errors.js";
|
|
21
21
|
import type { FidelityMetadata } from "./fidelity.js";
|
|
22
|
+
import type { WorkflowContext } from "./context-preflight.js";
|
|
23
|
+
import type { ContextBuilderLifecycleStateV1 } from "./context-builder-lifecycle-contract.js";
|
|
24
|
+
import type { WorkflowContextPolicy } from "./context-mode-resolver.js";
|
|
25
|
+
import type { PlanReviewRunState } from "./plan-review/run-state.js";
|
|
26
|
+
import type { CouncilPlanReviewError } from "./plan-review/publication.js";
|
|
22
27
|
/** Call-level state progression. */
|
|
23
28
|
export type CallState = "pending" | "running" | "succeeded" | "failed" | "cancelled";
|
|
24
29
|
/** Run-level state progression. */
|
|
25
30
|
export type RunStatus = "pending" | "running" | "succeeded" | "failed" | "cancelled";
|
|
26
31
|
/** Failure classification for diagnostics and retry decisions. */
|
|
27
32
|
export type FailureClass = "transient" | "permanent";
|
|
33
|
+
/** The canonical run-level terminal fields overwritten by a generic resume. */
|
|
34
|
+
export interface PreviousTerminalEnvelope {
|
|
35
|
+
readonly status: "succeeded" | "failed" | "cancelled";
|
|
36
|
+
readonly completedAt?: string | undefined;
|
|
37
|
+
readonly error?: string | undefined;
|
|
38
|
+
readonly failureClass?: FailureClass | undefined;
|
|
39
|
+
}
|
|
28
40
|
/** Per-call state entry in the run state. */
|
|
29
41
|
export interface CallStateEntry {
|
|
30
42
|
readonly callId: string;
|
|
31
43
|
readonly stageId: string;
|
|
32
44
|
readonly state: CallState;
|
|
33
45
|
readonly retryCount: number;
|
|
46
|
+
/** Durable count of provider attempts already dispatched for this call. */
|
|
47
|
+
readonly attemptsConsumed?: number | undefined;
|
|
34
48
|
readonly startedAt?: string | undefined;
|
|
35
49
|
readonly completedAt?: string | undefined;
|
|
36
50
|
readonly durationMs?: number | undefined;
|
|
@@ -112,6 +126,10 @@ export interface RunState {
|
|
|
112
126
|
readonly workflowVersion: string;
|
|
113
127
|
/** Overall run status. */
|
|
114
128
|
readonly status: RunStatus;
|
|
129
|
+
/** Most recently overwritten generic terminal envelope; never recursive. */
|
|
130
|
+
readonly previousTerminal?: PreviousTerminalEnvelope | undefined;
|
|
131
|
+
/** Effective context policy fixed at initial admission for deterministic resume. */
|
|
132
|
+
readonly initialContextPolicy?: WorkflowContextPolicy | undefined;
|
|
115
133
|
/** Whether this run is resumable (requires explicit child config). */
|
|
116
134
|
readonly resumable: boolean;
|
|
117
135
|
/** Child config fingerprint for fast mismatch rejection. */
|
|
@@ -130,6 +148,24 @@ export interface RunState {
|
|
|
130
148
|
readonly stages: readonly StageStateEntry[];
|
|
131
149
|
/** Resolved variables snapshot (non-secret only per 0-11a). */
|
|
132
150
|
readonly variables: Readonly<Record<string, unknown>>;
|
|
151
|
+
/** Optional context-builder provenance metadata for preflight-enabled runs. */
|
|
152
|
+
readonly workflow_context?: WorkflowContext | undefined;
|
|
153
|
+
/**
|
|
154
|
+
* Latest live workflow-preflight lifecycle snapshot. This is observability
|
|
155
|
+
* only: workflow_context remains the sole durable completion/reuse fence.
|
|
156
|
+
*/
|
|
157
|
+
readonly context_builder_lifecycle?: ContextBuilderLifecycleStateV1 | undefined;
|
|
158
|
+
/**
|
|
159
|
+
* Optional plan-review aux subtree (A-5). Present only for typed
|
|
160
|
+
* plan-review runs (`plan-review-receipts`, or the pre-rename name
|
|
161
|
+
* `council-plan-review`). Strictly Zod-validated on create and on read —
|
|
162
|
+
* unlike the rest of this state, a corrupt subtree here is a hard failure, not
|
|
163
|
+
* a degraded read, because it is the SOLE resume input for the execution
|
|
164
|
+
* contract, the immutable snapshot, and the per-call bindings.
|
|
165
|
+
*/
|
|
166
|
+
readonly plan_review_state?: PlanReviewRunState | undefined;
|
|
167
|
+
/** Structured plan-review failure details; generic `error` remains canonical for older clients. */
|
|
168
|
+
readonly plan_review_error?: CouncilPlanReviewError | undefined;
|
|
133
169
|
/** Run-level timing. */
|
|
134
170
|
readonly startedAt?: string | undefined;
|
|
135
171
|
readonly completedAt?: string | undefined;
|
|
@@ -138,4 +174,6 @@ export interface RunState {
|
|
|
138
174
|
readonly failureClass?: FailureClass | undefined;
|
|
139
175
|
/** Retain run directory on success for debugging when true. */
|
|
140
176
|
readonly debugKeepArtifacts?: boolean | undefined;
|
|
177
|
+
/** Whether the run was admitted for detached async execution. */
|
|
178
|
+
readonly async?: boolean | undefined;
|
|
141
179
|
}
|
|
@@ -1,23 +1,64 @@
|
|
|
1
1
|
import type { EngineHooks, EngineResumeState } from "./engine.js";
|
|
2
2
|
import type { NormalizedWorkflowDefinition } from "./definition-normalizer.js";
|
|
3
|
-
import type { RunState } from "./state-schema.js";
|
|
4
|
-
|
|
3
|
+
import type { FailureClass, RunState } from "./state-schema.js";
|
|
4
|
+
import { type WorkflowContext } from "./context-preflight.js";
|
|
5
|
+
import type { WorkflowContextBuilderLifecycleTransition } from "./context-builder-lifecycle-router.js";
|
|
6
|
+
import type { WorkflowContextPolicy } from "./context-mode-resolver.js";
|
|
7
|
+
import { type PlanReviewContextProvenance, type PlanReviewRunState } from "./plan-review/run-state.js";
|
|
8
|
+
import { type CouncilPlanReviewError } from "./plan-review/publication.js";
|
|
9
|
+
/**
|
|
10
|
+
* Reader-side staleness floor the shipped cadence is designed against; the
|
|
11
|
+
* dashboard observer derives its own threshold from the declared interval.
|
|
12
|
+
* Re-exported for tests and cross-module documentation only — nothing in this
|
|
13
|
+
* module consults it, because run-lock CONTROL decisions
|
|
14
|
+
* (`classifyRunLockSync`, `reapRunCancelled`, pruning) must never depend on
|
|
15
|
+
* mtime freshness.
|
|
16
|
+
*/
|
|
17
|
+
export { RUN_LOCK_HEARTBEAT_STALE_FLOOR_MS } from "./run-lock-heartbeat.js";
|
|
18
|
+
/**
|
|
19
|
+
* Run-level error written by reconcileStaleRunDirectories. Deliberately
|
|
20
|
+
* distinct from STALE_RUNNING_RECOVERY_ERROR (the resume-path recovery string)
|
|
21
|
+
* so the two reconcile paths remain distinguishable in persisted state.
|
|
22
|
+
*/
|
|
23
|
+
export declare const STALE_RUN_RECONCILE_ERROR = "Reconciled stale running run: no live worker process";
|
|
24
|
+
export type RunDirectoryClassification = "failed" | "cancelled" | "debug_kept" | "succeeded_async" | "succeeded_sync" | "active_locked" | "running_or_pending" | "unknown";
|
|
5
25
|
export interface PruneRunDirectoriesOptions {
|
|
6
26
|
readonly retainFailedDays?: number | undefined;
|
|
7
27
|
readonly retainCancelledDays?: number | undefined;
|
|
8
28
|
readonly retainDebugDays?: number | undefined;
|
|
29
|
+
readonly retainAsyncDays?: number | undefined;
|
|
30
|
+
readonly retainSucceededDays?: number | undefined;
|
|
9
31
|
}
|
|
10
32
|
export interface PruneRunDirectoriesResult {
|
|
11
33
|
readonly pruned: number;
|
|
12
34
|
readonly skipped: number;
|
|
13
35
|
readonly errors: number;
|
|
14
36
|
}
|
|
37
|
+
export interface ReconcileStaleRunDirectoriesResult {
|
|
38
|
+
readonly scanned: number;
|
|
39
|
+
readonly reconciled: number;
|
|
40
|
+
readonly skipped_held: number;
|
|
41
|
+
readonly skipped_terminal: number;
|
|
42
|
+
readonly errors: number;
|
|
43
|
+
}
|
|
44
|
+
export type RunLockStatus = "held" | "stale_or_absent" | "unknown";
|
|
15
45
|
export interface CreateWorkflowStateOptions {
|
|
16
46
|
readonly runId: string;
|
|
17
47
|
readonly definition: NormalizedWorkflowDefinition;
|
|
18
48
|
readonly variables: Readonly<Record<string, unknown>>;
|
|
19
49
|
readonly runDir?: string | undefined;
|
|
20
50
|
readonly debugKeepArtifacts?: boolean | undefined;
|
|
51
|
+
readonly async?: boolean | undefined;
|
|
52
|
+
readonly initialContextPolicy?: WorkflowContextPolicy | undefined;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Warn-only signal recorded at create() when a sibling run with byte-identical
|
|
56
|
+
* workflow + inputs snapshot hashes previously failed with
|
|
57
|
+
* `failureClass:"permanent"`. Advisory only — see detectDuplicateReplay.
|
|
58
|
+
*/
|
|
59
|
+
export interface DuplicateReplaySignal {
|
|
60
|
+
readonly runId: string;
|
|
61
|
+
readonly completedAt?: string | undefined;
|
|
21
62
|
}
|
|
22
63
|
export interface ResumeWorkflowStateOptions {
|
|
23
64
|
readonly runId: string;
|
|
@@ -28,8 +69,15 @@ export declare function classifyRunDirectory(runDirPath: string): RunDirectoryCl
|
|
|
28
69
|
export declare function pruneRunDirectories(runsRootDir: string, options?: PruneRunDirectoriesOptions): Promise<PruneRunDirectoriesResult>;
|
|
29
70
|
export declare class WorkflowStateStore {
|
|
30
71
|
readonly runDir: string;
|
|
72
|
+
/** Portable journal identity; absent only for a legacy or failed-open run. */
|
|
73
|
+
readonly sessionLogGeneration: string | undefined;
|
|
74
|
+
/**
|
|
75
|
+
* Warn-only duplicate-replay signal detected at create(); undefined on
|
|
76
|
+
* resume and when no permanently-failed identical sibling was found.
|
|
77
|
+
*/
|
|
78
|
+
readonly duplicateOfFailedRun: DuplicateReplaySignal | undefined;
|
|
31
79
|
readonly definition: NormalizedWorkflowDefinition;
|
|
32
|
-
|
|
80
|
+
variables: Readonly<Record<string, unknown>>;
|
|
33
81
|
readonly hooks: EngineHooks;
|
|
34
82
|
readonly resume: EngineResumeState;
|
|
35
83
|
private state;
|
|
@@ -37,14 +85,133 @@ export declare class WorkflowStateStore {
|
|
|
37
85
|
private readonly debugKeepArtifacts;
|
|
38
86
|
private writeChain;
|
|
39
87
|
private lockHeld;
|
|
88
|
+
private planReviewTerminalResult;
|
|
89
|
+
private readonly lockToken;
|
|
90
|
+
private heartbeat;
|
|
91
|
+
private heartbeatInFlight;
|
|
92
|
+
private heartbeatError;
|
|
40
93
|
private constructor();
|
|
41
94
|
static create(options: CreateWorkflowStateOptions): Promise<WorkflowStateStore>;
|
|
42
95
|
static resume(options: ResumeWorkflowStateOptions): Promise<WorkflowStateStore>;
|
|
43
96
|
get runState(): RunState;
|
|
97
|
+
/**
|
|
98
|
+
* Open a new generic resume attempt before any context preflight or provider
|
|
99
|
+
* setup. Provider-call attempt counters remain untouched; only the run-level
|
|
100
|
+
* terminal envelope is cleared so a pre-dispatch failure/cancellation can be
|
|
101
|
+
* persisted as the outcome of this resume attempt.
|
|
102
|
+
*
|
|
103
|
+
* Plan-review stale-run recovery has its own terminal-intent protocol and is
|
|
104
|
+
* deliberately left unchanged here.
|
|
105
|
+
*/
|
|
106
|
+
beginResumeAttempt(): Promise<void>;
|
|
44
107
|
markCancelled(reason?: string): Promise<void>;
|
|
108
|
+
/**
|
|
109
|
+
* Idempotently mark the run failed. Only applies when the current status is
|
|
110
|
+
* non-terminal (pending/running) so it never clobbers a richer engine-emitted
|
|
111
|
+
* terminal status (succeeded/failed/cancelled).
|
|
112
|
+
*/
|
|
113
|
+
markFailed(error: string, failureClass?: FailureClass, planReviewError?: CouncilPlanReviewError): Promise<void>;
|
|
45
114
|
flush(): Promise<void>;
|
|
115
|
+
commitPreflightContext({ variables, workflow_context, }: {
|
|
116
|
+
readonly variables: Readonly<Record<string, unknown>>;
|
|
117
|
+
readonly workflow_context: WorkflowContext;
|
|
118
|
+
}): Promise<void>;
|
|
119
|
+
observeContextBuilderLifecycleTransition(transition: WorkflowContextBuilderLifecycleTransition): Promise<void>;
|
|
120
|
+
/**
|
|
121
|
+
* Persist the plan-review aux subtree (A-5).
|
|
122
|
+
*
|
|
123
|
+
* Called immediately after `create()` and BEFORE any seat can be dispatched.
|
|
124
|
+
* It cannot be a `create()` argument in the runtime path: the subtree binds
|
|
125
|
+
* the canonical snapshot's hash, and the snapshot can only be materialized
|
|
126
|
+
* into a run directory that `create()` itself makes — and the plan requires a
|
|
127
|
+
* snapshot/digest failure to be a POST-state `failed` run, not a pre-state
|
|
128
|
+
* reject. `create()` still validates+persists the subtree when a caller
|
|
129
|
+
* already has one (e.g. a rebuild), so both entry points are strict.
|
|
130
|
+
*/
|
|
131
|
+
commitPlanReviewState(state: PlanReviewRunState): Promise<void>;
|
|
132
|
+
/**
|
|
133
|
+
* Record that the plan-review context policy was actually enforced at the
|
|
134
|
+
* preflight seam, together with the post-filtered copied paths (A-7).
|
|
135
|
+
*
|
|
136
|
+
* Committed before stage dispatch so a resumed run replays the same enforced
|
|
137
|
+
* exclusion instead of re-deriving it from caller variables.
|
|
138
|
+
*/
|
|
139
|
+
commitPlanReviewContextProvenance(provenance: PlanReviewContextProvenance): Promise<void>;
|
|
140
|
+
/** Persisted-state terminal projection used only by the engine's opt-in policy. */
|
|
141
|
+
projectPlanReviewTerminalResult(): Promise<string>;
|
|
142
|
+
/**
|
|
143
|
+
* Refresh this store's own `run.lock` mtime so a reader that cannot verify our
|
|
144
|
+
* PID namespace (a containerized or bind-mounted dashboard) has portable
|
|
145
|
+
* liveness evidence. Observation only — nothing in this module reads the
|
|
146
|
+
* mtime, and no control path consults it.
|
|
147
|
+
*/
|
|
148
|
+
private startHeartbeat;
|
|
149
|
+
/**
|
|
150
|
+
* One descriptor-bound heartbeat beat: open the lock O_NOFOLLOW read-only,
|
|
151
|
+
* fstat + bounded positional read through the SAME handle, verify it is still
|
|
152
|
+
* our token, then utimes that still-open handle. Throws
|
|
153
|
+
* `RunLockOwnershipLostError` only on a complete valid record whose token
|
|
154
|
+
* differs; every other failure is an ordinary Error.
|
|
155
|
+
*/
|
|
156
|
+
private beatRunLock;
|
|
157
|
+
private stopHeartbeat;
|
|
46
158
|
close(): Promise<void>;
|
|
47
159
|
private applyRetryUpdate;
|
|
160
|
+
/** Runs inside the caller's existing queue task; never enqueue from here. */
|
|
161
|
+
private finalizePlanReviewTerminalIntent;
|
|
48
162
|
private enqueueWrite;
|
|
49
163
|
private writeState;
|
|
50
164
|
}
|
|
165
|
+
export declare function readRunStateForStatus(runId: string): Promise<{
|
|
166
|
+
state: RunState;
|
|
167
|
+
lock: RunLockStatus;
|
|
168
|
+
} | null>;
|
|
169
|
+
/**
|
|
170
|
+
* Reap a run that has no live worker (orphaned/stale/prior-process) by writing a
|
|
171
|
+
* terminal "cancelled" state and unlinking its lock. Used by cancel_workflow when
|
|
172
|
+
* the run is not in this process's in-memory cancel registry.
|
|
173
|
+
*
|
|
174
|
+
* The run.lock is the single source of truth for ownership: this acquires the
|
|
175
|
+
* lock itself (reusing acquireRunLock, which atomically creates the lock and
|
|
176
|
+
* reclaims a stale same-host/dead-PID lock) BEFORE mutating, closing the TOCTOU
|
|
177
|
+
* where a concurrent resume_workflow could grab the lock between a caller's
|
|
178
|
+
* status read and the reap write.
|
|
179
|
+
*
|
|
180
|
+
* Returns:
|
|
181
|
+
* - "locked" — a LIVE lock blocks acquisition (held by a running worker, or a
|
|
182
|
+
* same-process blocking run); nothing is mutated.
|
|
183
|
+
* - "ownership_unknown" — the lock is malformed/unreadable; nothing is mutated
|
|
184
|
+
* or reclaimed.
|
|
185
|
+
* - "skipped" — lock acquired but the run is already terminal (not
|
|
186
|
+
* pending/running); the lock is released and nothing is mutated.
|
|
187
|
+
* The caller re-reads to report already_terminal.
|
|
188
|
+
* - "cancelled" — lock acquired and run was pending/running; terminal
|
|
189
|
+
* "cancelled" state is written and the lock removed.
|
|
190
|
+
*
|
|
191
|
+
* NOTE: This intentionally does NOT use WorkflowStateStore.resume() (which
|
|
192
|
+
* recovers + re-locks the run — the wrong intent here).
|
|
193
|
+
*/
|
|
194
|
+
export declare function reapRunCancelled(runId: string): Promise<"cancelled" | "skipped" | "locked" | "ownership_unknown">;
|
|
195
|
+
/**
|
|
196
|
+
* Terminalize run directories frozen as running/pending with no live worker.
|
|
197
|
+
*
|
|
198
|
+
* A worker that dies between state writes (e.g. during a retry backoff delay,
|
|
199
|
+
* where applyRetryUpdate has already persisted errorMessage/failureClass while
|
|
200
|
+
* the call state stays "running") leaves the run persisted as `running`
|
|
201
|
+
* forever: the only other reconcile lives in WorkflowStateStore.resume(),
|
|
202
|
+
* which non-resumable runs never reach, and pruning skips running_or_pending
|
|
203
|
+
* directories. This scan converts such runs to terminal `failed` so status
|
|
204
|
+
* projection and retention can move on. No new persisted status is introduced;
|
|
205
|
+
* STALE_RUN_RECONCILE_ERROR is the distinct terminal representation.
|
|
206
|
+
*
|
|
207
|
+
* Liveness authority is classifyRunLockSync's same-host PID probe only:
|
|
208
|
+
* a run is touched solely when its lock is "stale_or_absent" (missing lock or
|
|
209
|
+
* same-host dead PID). "held" (live PID, or ANY foreign-host lock) and
|
|
210
|
+
* "unknown" (malformed lock) are skipped entirely, and no decision here
|
|
211
|
+
* consults heartbeat mtime freshness. TOCTOU-safety mirrors reapRunCancelled:
|
|
212
|
+
* acquire the run.lock (no heartbeat declaration, like other reap
|
|
213
|
+
* acquisitions), re-read state under the lock, re-verify non-terminal, write
|
|
214
|
+
* once, then release. Idempotent: reconciled runs are terminal `failed` and
|
|
215
|
+
* count as skipped_terminal on re-scan.
|
|
216
|
+
*/
|
|
217
|
+
export declare function reconcileStaleRunDirectories(runsRootDir: string): Promise<ReconcileStaleRunDirectoriesResult>;
|