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
package/dist/server.js
CHANGED
|
@@ -2,38 +2,90 @@ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
|
2
2
|
import { CallToolRequestSchema, ListToolsRequestSchema, McpError, ErrorCode, } from "@modelcontextprotocol/sdk/types.js";
|
|
3
3
|
import { clinkJsonSchema } from "./schema.js";
|
|
4
4
|
import { handleClink } from "./handler.js";
|
|
5
|
-
import { handleToolError, CancellationError } from "./errors.js";
|
|
5
|
+
import { handleToolError, CancellationError, ConfigError, InvalidParamsError } from "./errors.js";
|
|
6
6
|
import { logger } from "./logger.js";
|
|
7
|
+
import { appendArtifactOnlyRootsToEnv } from "./allowed-roots.js";
|
|
7
8
|
import { extractProgressToken } from "./progress.js";
|
|
9
|
+
import { contextBuilderJsonSchema } from "./context-builder/schema.js";
|
|
10
|
+
import { handleContextBuilder } from "./context-builder/handler.js";
|
|
11
|
+
import { handleRefineContextRun, refineContextRunJsonSchema, } from "./context-builder/refine-handler.js";
|
|
12
|
+
import { contextBuilderRunsDirFromEnv, getContextBuilderMaxConcurrent, getSharedContextBuilderSemaphore, } from "./context-builder/config.js";
|
|
13
|
+
import { createWorkflowContextBuilderRunner } from "./context-builder/workflow-runner.js";
|
|
14
|
+
import { CONTEXT_DELEGATE_PROMPT_VERSION, CONTEXT_DISCOVERY_ALGORITHM_VERSION, } from "./context-builder/versions.js";
|
|
8
15
|
import { AdapterRegistry } from "./registry.js";
|
|
16
|
+
import { CLINKX_PACKAGE_VERSION } from "./package-info.js";
|
|
17
|
+
import { appServerEnabled, elarisEnabled } from "./config.js";
|
|
9
18
|
import { LocalClinkBackend } from "./local-clink-backend.js";
|
|
10
|
-
import {
|
|
19
|
+
import { AGENT_TOOL_NAMES, getAgentToolDefinitions, handleAgentToolCall, } from "./codex/agent-tools.js";
|
|
20
|
+
import { ELARIS_TOOL_NAMES, getElarisToolDefinitions, handleElarisToolCall, } from "./elaris/index.js";
|
|
21
|
+
import { getWorkflowToolDefinitions, handleWorkflowToolCall, resolveWorkflowAsyncAdmissionCap, WORKFLOW_TOOL_NAMES, } from "../clinkx-workflows/dist/workflow-tools.js";
|
|
11
22
|
import { WorkflowCancellationError } from "../clinkx-workflows/dist/errors.js";
|
|
12
|
-
import { getChildConfigPath, getChildMaxResponseChars, getStateDir, getArtifactsDir, } from "../clinkx-workflows/dist/config.js";
|
|
23
|
+
import { getChildMaxConcurrent, getChildConfigPath, getChildMaxResponseChars, getMaxParallel, getWorkflowsAllowUnsafeAsyncCap, getWorkflowsMaxConcurrentAsync, getWorkflowsContextDefault, getWorkflowsContextDefaultCurator, getStateDir, getArtifactsDir, getRunsDir, hasExplicitWorkspaceRoot, resolveWorkspaceRoot, } from "../clinkx-workflows/dist/config.js";
|
|
24
|
+
import { reconcileStaleRunDirectories } from "../clinkx-workflows/dist/state.js";
|
|
25
|
+
import { reconcileStaleContextBuilderJournals } from "./context-builder/lifecycle-reconcile.js";
|
|
26
|
+
import { defaultFullDelegateProviders } from "../clinkx-workflows/dist/context-mode-resolver.js";
|
|
27
|
+
import { createWorkflowContextBuilderLifecycleRouter, } from "../clinkx-workflows/dist/context-builder-lifecycle-router.js";
|
|
28
|
+
import { join } from "node:path";
|
|
29
|
+
import { ACTIVITY_RETAIN_RESULT_ENV, createActivityJournal, } from "./activity-journal.js";
|
|
13
30
|
/**
|
|
14
31
|
* Create and configure the ClinkX MCP server.
|
|
15
32
|
*
|
|
16
33
|
* Registers unified handlers that expose:
|
|
17
34
|
* - clink: CLI subagent bridge (existing)
|
|
35
|
+
* - context_builder: persisted context bundle creation
|
|
18
36
|
* - run_workflow, resume_workflow, list_workflows: multi-stage workflow orchestration
|
|
19
37
|
*
|
|
20
38
|
* Does NOT connect transport — caller is responsible for that.
|
|
21
39
|
*/
|
|
22
40
|
export function createServer() {
|
|
23
|
-
const server = new Server({ name: "clinkx", version:
|
|
41
|
+
const server = new Server({ name: "clinkx", version: CLINKX_PACKAGE_VERSION }, {
|
|
24
42
|
capabilities: { tools: {} },
|
|
25
|
-
instructions: "ClinkX bridges requests to external CLI subagents (e.g.
|
|
43
|
+
instructions: "ClinkX bridges requests to external CLI subagents (e.g. agy, Codex, Claude, Grok) " +
|
|
26
44
|
"as subprocesses and returns their output. Use the clink tool to delegate tasks " +
|
|
27
45
|
"to any configured CLI. Multiple clink calls can run in parallel for independent tasks. " +
|
|
46
|
+
"Use context_builder to create persisted context bundles before delegation. " +
|
|
28
47
|
"Use run_workflow/resume_workflow/list_workflows for multi-stage workflow orchestration.",
|
|
29
48
|
});
|
|
49
|
+
const sharedStateDir = getStateDir();
|
|
50
|
+
const activitySessionLogRootDir = join(sharedStateDir, "session-logs");
|
|
51
|
+
const directActivityJournal = createActivityJournal({
|
|
52
|
+
rootDir: join(sharedStateDir, "activities"),
|
|
53
|
+
sessionLogRootDir: activitySessionLogRootDir,
|
|
54
|
+
retainResult: process.env[ACTIVITY_RETAIN_RESULT_ENV] === "true",
|
|
55
|
+
});
|
|
30
56
|
// Eagerly load adapter names + role names for tool description & schema enum (once, not per-request)
|
|
31
57
|
let cliSuffix = "";
|
|
32
58
|
let cliNames = [];
|
|
59
|
+
let appServerCliNames = [];
|
|
33
60
|
let roleNames = [];
|
|
61
|
+
// Hold the standard registry beyond the try so the workflow context runner can
|
|
62
|
+
// reuse it without a second (unguarded) AdapterRegistry.load() that would crash
|
|
63
|
+
// createServer on a malformed config. Stays undefined if the load failed.
|
|
64
|
+
let standardRegistry;
|
|
34
65
|
try {
|
|
35
|
-
|
|
36
|
-
|
|
66
|
+
standardRegistry = AdapterRegistry.load();
|
|
67
|
+
const registry = standardRegistry;
|
|
68
|
+
const allNames = registry.getAdapterNames();
|
|
69
|
+
appServerCliNames = allNames.filter((n) => {
|
|
70
|
+
try {
|
|
71
|
+
return registry.resolveAdapter(n).backend === "app_server";
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
// app_server adapters are never reachable through clink (the synchronous
|
|
78
|
+
// pipeline rejects them with -32602); they are driven only by the async
|
|
79
|
+
// clink_agent_run / clink_agent_manage tools. Always exclude them from the
|
|
80
|
+
// clink cli_name enum regardless of CLINKX_APP_SERVER_ENABLED.
|
|
81
|
+
cliNames = allNames.filter((n) => {
|
|
82
|
+
try {
|
|
83
|
+
return registry.resolveAdapter(n).backend !== "app_server";
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
});
|
|
37
89
|
roleNames = registry.getAllRoleNames();
|
|
38
90
|
if (cliNames.length > 0) {
|
|
39
91
|
cliSuffix = ` Available CLIs: ${cliNames.join(", ")}.`;
|
|
@@ -46,32 +98,166 @@ export function createServer() {
|
|
|
46
98
|
// backend path. The subprocess path (ClinkSession) injects these via
|
|
47
99
|
// deriveAllowedRoots() + buildChildEnv(), but LocalClinkBackend shares the
|
|
48
100
|
// parent's process.env — so we augment it once at startup.
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
101
|
+
const allowedRoots = appendArtifactOnlyRootsToEnv([getStateDir(), getArtifactsDir()], { requireExisting: false });
|
|
102
|
+
logger.debug({ allowed_roots: allowedRoots }, "augmented allowed roots with workflow state/artifacts dirs");
|
|
103
|
+
// One-time startup reconcile of workflow runs frozen as running/pending with
|
|
104
|
+
// no live worker (fire-and-forget: bounded, idempotent, never blocks startup).
|
|
105
|
+
try {
|
|
106
|
+
void reconcileStaleRunDirectories(getRunsDir()).catch((err) => {
|
|
107
|
+
logger.warn({ err: err instanceof Error ? err.message : String(err) }, "startup stale workflow run reconcile failed");
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
catch (err) {
|
|
111
|
+
logger.warn({ err: err instanceof Error ? err.message : String(err) }, "startup stale workflow run reconcile could not be scheduled");
|
|
112
|
+
}
|
|
113
|
+
try {
|
|
114
|
+
void reconcileStaleContextBuilderJournals().catch((err) => {
|
|
115
|
+
logger.warn({ err: err instanceof Error ? err.message : String(err) }, "startup stale context run reconcile failed");
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
catch (err) {
|
|
119
|
+
logger.warn({ err: err instanceof Error ? err.message : String(err) }, "startup stale context run reconcile could not be scheduled");
|
|
120
|
+
}
|
|
57
121
|
// Workflow options — factory creates in-process backends using the registry metadata.
|
|
58
122
|
// When CLINKX_WORKFLOWS_CHILD_CONFIG_PATH is set, build a workflow-specific registry
|
|
59
123
|
// so the in-process path uses the same adapter config the workflow state fingerprints against.
|
|
60
124
|
const childConfigPath = getChildConfigPath();
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
125
|
+
let workflowRegistry;
|
|
126
|
+
if (childConfigPath != null) {
|
|
127
|
+
try {
|
|
128
|
+
workflowRegistry = AdapterRegistry.loadFromPath(childConfigPath);
|
|
129
|
+
}
|
|
130
|
+
catch (err) {
|
|
131
|
+
// Parity with the standard-config path: a malformed child config must FATAL
|
|
132
|
+
// with a friendly ConfigError naming the env var and path, not crash
|
|
133
|
+
// createServer with a raw SyntaxError. Preserve the original cause.
|
|
134
|
+
throw new ConfigError(`Failed to load CLINKX_WORKFLOWS_CHILD_CONFIG_PATH "${childConfigPath}": ` +
|
|
135
|
+
`${err instanceof Error ? err.message : String(err)}`);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
// Workflows run council seats through the synchronous pipeline, which rejects
|
|
139
|
+
// app_server adapters — exclude them from the chairman/members enums too.
|
|
140
|
+
const workflowCliNames = workflowRegistry != null
|
|
141
|
+
? workflowRegistry.getAdapterNames().filter((n) => {
|
|
142
|
+
try {
|
|
143
|
+
return workflowRegistry.resolveAdapter(n).backend !== "app_server";
|
|
144
|
+
}
|
|
145
|
+
catch {
|
|
146
|
+
return true;
|
|
147
|
+
}
|
|
148
|
+
})
|
|
149
|
+
: cliNames;
|
|
150
|
+
// Plan-review seats need roles.json (JSON contract). Filter the workflow CLI
|
|
151
|
+
// set without shrinking global availableCliNames used for members/chairman.
|
|
152
|
+
const planReviewSourceRegistry = workflowRegistry ?? standardRegistry;
|
|
153
|
+
const planReviewCliNames = workflowCliNames.filter((n) => {
|
|
154
|
+
if (planReviewSourceRegistry == null)
|
|
155
|
+
return false;
|
|
156
|
+
try {
|
|
157
|
+
return planReviewSourceRegistry.resolveAdapter(n).roles?.["json"] != null;
|
|
158
|
+
}
|
|
159
|
+
catch {
|
|
160
|
+
return false;
|
|
161
|
+
}
|
|
162
|
+
});
|
|
65
163
|
const workflowRoleNames = workflowRegistry?.getAllRoleNames() ?? roleNames;
|
|
66
164
|
const workflowMaxResponseChars = getChildMaxResponseChars();
|
|
165
|
+
const workflowContextPreflightEnabled = workflowsContextPreflightEnabledFromEnv();
|
|
166
|
+
const contextBuilderMaxConcurrent = getContextBuilderMaxConcurrent();
|
|
167
|
+
const rawAsyncCap = getWorkflowsMaxConcurrentAsync();
|
|
168
|
+
const allowUnsafeAsyncCap = getWorkflowsAllowUnsafeAsyncCap();
|
|
169
|
+
const effectiveAsyncCap = Math.min(rawAsyncCap, contextBuilderMaxConcurrent);
|
|
170
|
+
const injectedAsyncAdmissionCap = allowUnsafeAsyncCap ? rawAsyncCap : effectiveAsyncCap;
|
|
171
|
+
// Parse the context-default env vars ONLY when preflight is enabled. When
|
|
172
|
+
// disabled (the documented total-bypass / hard kill), a malformed
|
|
173
|
+
// CLINKX_WORKFLOWS_CONTEXT_DEFAULT or empty CLINKX_WORKFLOWS_CONTEXT_DEFAULT_CURATOR
|
|
174
|
+
// must NOT throw and block createServer — pass inert safe defaults instead.
|
|
175
|
+
const contextDefault = workflowContextPreflightEnabled ? getWorkflowsContextDefault() : "off";
|
|
176
|
+
const defaultCurator = workflowContextPreflightEnabled
|
|
177
|
+
? getWorkflowsContextDefaultCurator()
|
|
178
|
+
: "";
|
|
179
|
+
// The context runner needs an adapter registry to validate AND run the
|
|
180
|
+
// default-on context delegate (curator/finalizer) and to resolve
|
|
181
|
+
// cb_budget_adapter budget_defaults. Prefer the workflow-specific registry
|
|
182
|
+
// (child-config case), else fall back to the standard registry loaded above.
|
|
183
|
+
const contextRunnerRegistry = workflowRegistry ?? standardRegistry;
|
|
184
|
+
// Under preflight ENABLED the default-on delegate WILL run, so a usable
|
|
185
|
+
// registry is required to fatally validate it at startup. A null registry here
|
|
186
|
+
// means the load above failed; injecting an unvalidated runner would let a bad
|
|
187
|
+
// curator/finalizer surface only at runtime, so fail loud instead. Preflight
|
|
188
|
+
// DISABLED stays a total bypass: no registry requirement, no runner, no throw.
|
|
189
|
+
let workflowContextBuilderRunner;
|
|
190
|
+
let workflowContextBuilderLifecycleRouter;
|
|
191
|
+
if (workflowContextPreflightEnabled) {
|
|
192
|
+
if (contextRunnerRegistry == null) {
|
|
193
|
+
throw new ConfigError("Workflow context preflight is enabled but no adapter registry could be loaded; " +
|
|
194
|
+
"the default-on context delegate cannot be validated. Fix the adapter config or " +
|
|
195
|
+
"set CLINKX_WORKFLOWS_CONTEXT_PREFLIGHT_ENABLED=false to disable preflight.");
|
|
196
|
+
}
|
|
197
|
+
validateWorkflowDefaultDelegate(contextRunnerRegistry, defaultCurator);
|
|
198
|
+
workflowContextBuilderLifecycleRouter =
|
|
199
|
+
createWorkflowContextBuilderLifecycleRouter();
|
|
200
|
+
workflowContextBuilderRunner = createWorkflowContextBuilderRunner({
|
|
201
|
+
runsDir: contextBuilderRunsDirFromEnv(),
|
|
202
|
+
// Share the process-wide context_builder gate so workflow preflight,
|
|
203
|
+
// standalone context_builder, and refine_context_run honor a single
|
|
204
|
+
// CLINKX_CONTEXT_BUILDER_MAX_CONCURRENT permit pool.
|
|
205
|
+
semaphore: getSharedContextBuilderSemaphore(),
|
|
206
|
+
registry: contextRunnerRegistry,
|
|
207
|
+
lifecycleFactory: workflowContextBuilderLifecycleRouter.lifecycleFactory,
|
|
208
|
+
// Explicit cache-identity versions: discovery-algorithm/delegate-prompt
|
|
209
|
+
// behavior changes must produce distinct wfctx cache identities so old
|
|
210
|
+
// cached bundles never mask a fix (see src/context-builder/versions.ts).
|
|
211
|
+
discoveryAlgorithmVersion: CONTEXT_DISCOVERY_ALGORITHM_VERSION,
|
|
212
|
+
delegatePromptVersion: CONTEXT_DELEGATE_PROMPT_VERSION,
|
|
213
|
+
});
|
|
214
|
+
}
|
|
67
215
|
const workflowOptions = {
|
|
68
216
|
createBackend: () => new LocalClinkBackend(workflowCliNames, workflowRoleNames, {
|
|
69
217
|
registry: workflowRegistry,
|
|
70
218
|
defaultMaxResponseChars: workflowMaxResponseChars,
|
|
71
219
|
}),
|
|
72
|
-
...(workflowCliNames.length > 0
|
|
220
|
+
...(workflowCliNames.length > 0
|
|
221
|
+
? {
|
|
222
|
+
availableCliNames: workflowCliNames,
|
|
223
|
+
// Always pass when availableCliNames is set — even if empty — so an
|
|
224
|
+
// all-no-json inventory does not fall back to the unfiltered set.
|
|
225
|
+
planReviewAvailableCliNames: planReviewCliNames,
|
|
226
|
+
}
|
|
227
|
+
: {}),
|
|
228
|
+
asyncAdmissionCap: injectedAsyncAdmissionCap,
|
|
229
|
+
contextDefault,
|
|
230
|
+
defaultCurator,
|
|
231
|
+
...(workflowContextBuilderRunner == null
|
|
232
|
+
? {}
|
|
233
|
+
: {
|
|
234
|
+
contextBuilderRunner: workflowContextBuilderRunner,
|
|
235
|
+
contextBuilderLifecycleRouter: workflowContextBuilderLifecycleRouter,
|
|
236
|
+
}),
|
|
73
237
|
};
|
|
74
|
-
//
|
|
238
|
+
// The workflows workspace root governs plan_file containment and the workflow
|
|
239
|
+
// child cwd, but silently defaults to process.cwd() — which an MCP client
|
|
240
|
+
// chooses, not the operator. Warn here, in the ROOT server: this is the path
|
|
241
|
+
// the shipped binary actually takes (createWorkflowServer is the standalone
|
|
242
|
+
// factory and is never called from src/). config.ts cannot log this itself —
|
|
243
|
+
// logger.ts imports config.js, so the import would be circular.
|
|
244
|
+
if (!hasExplicitWorkspaceRoot()) {
|
|
245
|
+
logger.warn({
|
|
246
|
+
env_var: "CLINKX_WORKFLOWS_WORKSPACE_ROOT",
|
|
247
|
+
workspace_root: resolveWorkspaceRoot(),
|
|
248
|
+
cwd: process.cwd(),
|
|
249
|
+
}, "CLINKX_WORKFLOWS_WORKSPACE_ROOT is not set; defaulting the workflows workspace root to process.cwd(). This root governs plan_file containment and the workflow child process cwd, so workflow behavior depends on the cwd the MCP client spawned this server with. Set CLINKX_WORKFLOWS_WORKSPACE_ROOT explicitly.");
|
|
250
|
+
}
|
|
251
|
+
warnOnWorkflowAsyncConcurrencyConfig({
|
|
252
|
+
preflightEnabled: workflowContextPreflightEnabled,
|
|
253
|
+
rawAsyncCap,
|
|
254
|
+
effectiveAsyncCap,
|
|
255
|
+
allowUnsafeAsyncCap,
|
|
256
|
+
admittedAsyncCap: resolveWorkflowAsyncAdmissionCap(workflowOptions),
|
|
257
|
+
queueDepth: Math.min(getMaxParallel(), getChildMaxConcurrent()),
|
|
258
|
+
childMaxConcurrent: getChildMaxConcurrent(),
|
|
259
|
+
});
|
|
260
|
+
// tools/list — advertise clink + context_builder + workflow tools
|
|
75
261
|
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
76
262
|
const schema = clinkJsonSchema();
|
|
77
263
|
// Inject enum arrays into cli_name and role properties (Fix 1)
|
|
@@ -80,7 +266,8 @@ export function createServer() {
|
|
|
80
266
|
if (cliNames.length > 0 && props["cli_name"] != null) {
|
|
81
267
|
props["cli_name"]["enum"] = cliNames;
|
|
82
268
|
props["cli_name"]["description"] =
|
|
83
|
-
`Which CLI to use
|
|
269
|
+
`Which CLI to use — pick the one whose backend fits the task.` +
|
|
270
|
+
` Available: ${cliNames.join(", ")}.`;
|
|
84
271
|
}
|
|
85
272
|
if (roleNames.length > 0 && props["role"] != null) {
|
|
86
273
|
const roleEnum = [...new Set(["default", ...roleNames.filter(r => r !== "none")])].sort();
|
|
@@ -89,10 +276,11 @@ export function createServer() {
|
|
|
89
276
|
`Role for the subagent — use "default" unless a specific role is needed. Available: ${roleEnum.join(", ")}.`;
|
|
90
277
|
}
|
|
91
278
|
}
|
|
92
|
-
// Build unified tool list: clink + workflow tools
|
|
279
|
+
// Build unified tool list: clink + context_builder + async agent + Elaris + workflow tools
|
|
93
280
|
const clinkTool = {
|
|
94
281
|
name: "clink",
|
|
95
282
|
description: "Execute a configured local CLI as a subagent and return the model's final output." +
|
|
283
|
+
" clink is single-shot and stateless — best for self-contained, isolated tasks." +
|
|
96
284
|
" Multiple clink calls can run in parallel for independent tasks." +
|
|
97
285
|
" Pass file paths via absolute_file_paths rather than inlining content." +
|
|
98
286
|
cliSuffix,
|
|
@@ -105,14 +293,85 @@ export function createServer() {
|
|
|
105
293
|
},
|
|
106
294
|
};
|
|
107
295
|
const workflowTools = getWorkflowToolDefinitions(undefined, workflowCliNames);
|
|
296
|
+
const contextBuilderTool = {
|
|
297
|
+
name: "context_builder",
|
|
298
|
+
description: "Create a persisted, attachable context bundle from allowed local roots. " +
|
|
299
|
+
"Requires bounded anchors: focus_paths or nonblank search_terms. " +
|
|
300
|
+
"include_globs only narrows scanning with those anchors and does not select context by itself.",
|
|
301
|
+
inputSchema: contextBuilderJsonSchema(),
|
|
302
|
+
annotations: {
|
|
303
|
+
readOnlyHint: false,
|
|
304
|
+
destructiveHint: false,
|
|
305
|
+
idempotentHint: false,
|
|
306
|
+
openWorldHint: true,
|
|
307
|
+
},
|
|
308
|
+
};
|
|
309
|
+
const refineContextRunTool = {
|
|
310
|
+
name: "refine_context_run",
|
|
311
|
+
description: "Create a new immutable context_builder run by applying add/remove/slice/promote/demote ops to a prior run.",
|
|
312
|
+
inputSchema: refineContextRunJsonSchema(),
|
|
313
|
+
annotations: {
|
|
314
|
+
readOnlyHint: false,
|
|
315
|
+
destructiveHint: false,
|
|
316
|
+
idempotentHint: false,
|
|
317
|
+
openWorldHint: true,
|
|
318
|
+
},
|
|
319
|
+
};
|
|
320
|
+
const agentTools = appServerEnabled()
|
|
321
|
+
? getAgentToolDefinitions(appServerCliNames)
|
|
322
|
+
: [];
|
|
323
|
+
const elarisTools = elarisEnabled()
|
|
324
|
+
? getElarisToolDefinitions()
|
|
325
|
+
: [];
|
|
108
326
|
return {
|
|
109
|
-
tools: [
|
|
327
|
+
tools: [
|
|
328
|
+
clinkTool,
|
|
329
|
+
contextBuilderTool,
|
|
330
|
+
refineContextRunTool,
|
|
331
|
+
...agentTools,
|
|
332
|
+
...elarisTools,
|
|
333
|
+
...workflowTools,
|
|
334
|
+
],
|
|
110
335
|
};
|
|
111
336
|
});
|
|
112
337
|
// tools/call — unified dispatch for clink + workflow tools
|
|
113
338
|
server.setRequestHandler(CallToolRequestSchema, async (request, extra) => {
|
|
114
339
|
const { name, arguments: args } = request.params;
|
|
115
340
|
const progressToken = extractProgressToken(request.params);
|
|
341
|
+
// Dispatch async Codex app-server tools. The handler also enforces the
|
|
342
|
+
// CLINKX_APP_SERVER_ENABLED master switch so explicit disabled calls fail
|
|
343
|
+
// with -32602 even though the tools are absent from tools/list.
|
|
344
|
+
if (AGENT_TOOL_NAMES.has(name)) {
|
|
345
|
+
try {
|
|
346
|
+
return await handleAgentToolCall(name, args ?? {}, {
|
|
347
|
+
...(extra.signal != null ? { signal: extra.signal } : {}),
|
|
348
|
+
activityJournal: directActivityJournal,
|
|
349
|
+
sessionLogRootDir: activitySessionLogRootDir,
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
catch (err) {
|
|
353
|
+
if (err instanceof CancellationError) {
|
|
354
|
+
throw err;
|
|
355
|
+
}
|
|
356
|
+
return handleToolError(err);
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
// Dispatch Elaris remote agent-session tools. Keep explicit disabled calls
|
|
360
|
+
// as -32602 even though the tools are absent from tools/list.
|
|
361
|
+
if (ELARIS_TOOL_NAMES.has(name)) {
|
|
362
|
+
try {
|
|
363
|
+
if (!elarisEnabled()) {
|
|
364
|
+
throw new InvalidParamsError("Elaris remote agent-session tools are disabled. Set CLINKX_ELARIS_ENABLED=true to enable them.");
|
|
365
|
+
}
|
|
366
|
+
return await handleElarisToolCall(name, args ?? {}, extra.signal);
|
|
367
|
+
}
|
|
368
|
+
catch (err) {
|
|
369
|
+
if (err instanceof CancellationError) {
|
|
370
|
+
throw err;
|
|
371
|
+
}
|
|
372
|
+
return handleToolError(err);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
116
375
|
// Dispatch workflow tools
|
|
117
376
|
if (WORKFLOW_TOOL_NAMES.has(name)) {
|
|
118
377
|
try {
|
|
@@ -159,6 +418,7 @@ export function createServer() {
|
|
|
159
418
|
...(progressToken != null
|
|
160
419
|
? { progress: { server, token: progressToken } }
|
|
161
420
|
: {}),
|
|
421
|
+
activityJournal: directActivityJournal,
|
|
162
422
|
});
|
|
163
423
|
}
|
|
164
424
|
catch (err) {
|
|
@@ -172,6 +432,40 @@ export function createServer() {
|
|
|
172
432
|
return handleToolError(err);
|
|
173
433
|
}
|
|
174
434
|
}
|
|
435
|
+
// Dispatch context_builder tool
|
|
436
|
+
if (name === "context_builder") {
|
|
437
|
+
try {
|
|
438
|
+
// Standalone context_builder stays anchor-strict: never pass the
|
|
439
|
+
// workflow-only allowRootWideDiscovery handler option here.
|
|
440
|
+
return await handleContextBuilder(args ?? {}, {
|
|
441
|
+
...(extra.signal != null ? { signal: extra.signal } : {}),
|
|
442
|
+
...(progressToken != null
|
|
443
|
+
? { progress: { server, token: progressToken } }
|
|
444
|
+
: {}),
|
|
445
|
+
});
|
|
446
|
+
}
|
|
447
|
+
catch (err) {
|
|
448
|
+
if (err instanceof CancellationError) {
|
|
449
|
+
// MCP spec: do NOT send a response for cancelled requests.
|
|
450
|
+
throw err;
|
|
451
|
+
}
|
|
452
|
+
return handleToolError(err);
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
// Dispatch refine_context_run tool
|
|
456
|
+
if (name === "refine_context_run") {
|
|
457
|
+
try {
|
|
458
|
+
return await handleRefineContextRun(args ?? {}, {
|
|
459
|
+
...(extra.signal != null ? { signal: extra.signal } : {}),
|
|
460
|
+
});
|
|
461
|
+
}
|
|
462
|
+
catch (err) {
|
|
463
|
+
if (err instanceof CancellationError) {
|
|
464
|
+
throw err;
|
|
465
|
+
}
|
|
466
|
+
return handleToolError(err);
|
|
467
|
+
}
|
|
468
|
+
}
|
|
175
469
|
// Unknown tool
|
|
176
470
|
logger.warn({ tool: name }, "unknown tool requested");
|
|
177
471
|
return {
|
|
@@ -181,4 +475,82 @@ export function createServer() {
|
|
|
181
475
|
});
|
|
182
476
|
return server;
|
|
183
477
|
}
|
|
478
|
+
export function workflowsContextPreflightEnabledFromEnv() {
|
|
479
|
+
const raw = process.env["CLINKX_WORKFLOWS_CONTEXT_PREFLIGHT_ENABLED"];
|
|
480
|
+
if (raw == null || raw.trim() === "") {
|
|
481
|
+
return true;
|
|
482
|
+
}
|
|
483
|
+
return raw.trim().toLowerCase() !== "false";
|
|
484
|
+
}
|
|
485
|
+
function warnOnWorkflowAsyncConcurrencyConfig(input) {
|
|
486
|
+
const common = {
|
|
487
|
+
raw_async_cap: input.rawAsyncCap,
|
|
488
|
+
effective_async_cap: input.effectiveAsyncCap,
|
|
489
|
+
admitted_async_cap: input.admittedAsyncCap,
|
|
490
|
+
allow_unsafe_async_cap: input.allowUnsafeAsyncCap,
|
|
491
|
+
queue_depth: input.queueDepth,
|
|
492
|
+
child_max_concurrent: input.childMaxConcurrent,
|
|
493
|
+
};
|
|
494
|
+
if (input.preflightEnabled &&
|
|
495
|
+
input.rawAsyncCap > input.effectiveAsyncCap &&
|
|
496
|
+
!input.allowUnsafeAsyncCap) {
|
|
497
|
+
logger.warn({
|
|
498
|
+
risk: "CB-pool starvation",
|
|
499
|
+
raw_async_cap: input.rawAsyncCap,
|
|
500
|
+
effective_async_cap: input.effectiveAsyncCap,
|
|
501
|
+
admitted_async_cap: input.admittedAsyncCap,
|
|
502
|
+
allow_unsafe_async_cap: input.allowUnsafeAsyncCap,
|
|
503
|
+
}, "workflow_async_cap_auto_capped");
|
|
504
|
+
}
|
|
505
|
+
if (input.preflightEnabled &&
|
|
506
|
+
input.rawAsyncCap > input.effectiveAsyncCap &&
|
|
507
|
+
input.allowUnsafeAsyncCap) {
|
|
508
|
+
logger.warn({
|
|
509
|
+
risk: "CB-pool starvation",
|
|
510
|
+
raw_async_cap: input.rawAsyncCap,
|
|
511
|
+
effective_async_cap: input.effectiveAsyncCap,
|
|
512
|
+
admitted_async_cap: input.admittedAsyncCap,
|
|
513
|
+
allow_unsafe_async_cap: input.allowUnsafeAsyncCap,
|
|
514
|
+
}, "workflow_async_cap_unsafe_allowed");
|
|
515
|
+
}
|
|
516
|
+
const delegatePreflightSeats = (input.admittedAsyncCap - 1) * input.queueDepth + 1;
|
|
517
|
+
if (input.childMaxConcurrent < delegatePreflightSeats) {
|
|
518
|
+
logger.warn({
|
|
519
|
+
...common,
|
|
520
|
+
risk: "delegate-preflight contention",
|
|
521
|
+
required_child_max_concurrent: delegatePreflightSeats,
|
|
522
|
+
}, "workflow_async_delegate_preflight_contention");
|
|
523
|
+
}
|
|
524
|
+
const stageSeatFanoutSeats = input.admittedAsyncCap * input.queueDepth;
|
|
525
|
+
if (input.childMaxConcurrent < stageSeatFanoutSeats) {
|
|
526
|
+
logger.warn({
|
|
527
|
+
...common,
|
|
528
|
+
risk: "stage-seat fanout",
|
|
529
|
+
required_child_max_concurrent: stageSeatFanoutSeats,
|
|
530
|
+
}, "workflow_async_stage_seat_fanout");
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
function validateWorkflowDefaultDelegate(registry, defaultCurator) {
|
|
534
|
+
// Single source of truth: validate EVERY enabled provider the injected default
|
|
535
|
+
// full delegate actually uses (curator AND finalizer), so a config can't pass
|
|
536
|
+
// startup with a valid curator while the hardcoded finalizer ("codex"/json)
|
|
537
|
+
// is missing, lacks the role, or is app_server-backed — which would otherwise
|
|
538
|
+
// fail or silently fall back at runtime.
|
|
539
|
+
for (const provider of defaultFullDelegateProviders(defaultCurator)) {
|
|
540
|
+
let adapter;
|
|
541
|
+
try {
|
|
542
|
+
adapter = registry.resolveAdapter(provider.cli_name);
|
|
543
|
+
}
|
|
544
|
+
catch {
|
|
545
|
+
throw new ConfigError(`Workflow context default ${provider.label} "${provider.cli_name}" is not configured. ` +
|
|
546
|
+
`Available adapters: ${registry.getAdapterNames().join(", ") || "(none)"}`);
|
|
547
|
+
}
|
|
548
|
+
if (adapter.roles[provider.role] == null) {
|
|
549
|
+
throw new ConfigError(`Workflow context default ${provider.label} "${provider.cli_name}" must expose role "${provider.role}".`);
|
|
550
|
+
}
|
|
551
|
+
if (adapter.backend === "app_server") {
|
|
552
|
+
throw new ConfigError(`Workflow context default ${provider.label} "${provider.cli_name}" must use backend "subprocess"; app_server is not valid for workflow context delegation.`);
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
}
|
|
184
556
|
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,QAAQ,EACR,SAAS,GACV,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,WAAW,EACX,eAAe,GAChB,MAAM,oCAAoC,CAAC;AAE5C;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EACpC;QACE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QAC3B,YAAY,EACV,iFAAiF;YACjF,iFAAiF;YACjF,yFAAyF;YACzF,yFAAyF;KAC5F,CACF,CAAC;IAEF,qGAAqG;IACrG,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,QAAQ,GAAa,EAAE,CAAC;IAC5B,IAAI,SAAS,GAAa,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC;QACxC,QAAQ,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;QACtC,SAAS,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;QACvC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,SAAS,GAAG,oBAAoB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACzD,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,sDAAsD,CAAC,CAAC;IAC/E,CAAC;IAED,+EAA+E;IAC/E,qEAAqE;IACrE,2EAA2E;IAC3E,2DAA2D;IAC3D,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,aAAa,IAAI,IAAI,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;QACjE,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,GAAG,GAAG,SAAS,IAAI,QAAQ,IAAI,YAAY,EAAE,CAAC;IACjF,MAAM,CAAC,KAAK,CACV,EAAE,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,EACtD,4DAA4D,CAC7D,CAAC;IAEF,sFAAsF;IACtF,qFAAqF;IACrF,+FAA+F;IAC/F,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;IAC7C,MAAM,gBAAgB,GAAG,eAAe,IAAI,IAAI;QAC9C,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,eAAe,CAAC;QAC/C,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,gBAAgB,GAAG,gBAAgB,EAAE,eAAe,EAAE,IAAI,QAAQ,CAAC;IACzE,MAAM,iBAAiB,GAAG,gBAAgB,EAAE,eAAe,EAAE,IAAI,SAAS,CAAC;IAC3E,MAAM,wBAAwB,GAAG,wBAAwB,EAAE,CAAC;IAE5D,MAAM,eAAe,GAAyB;QAC5C,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,iBAAiB,CAAC,gBAAgB,EAAE,iBAAiB,EAAE;YAC9E,QAAQ,EAAE,gBAAgB;YAC1B,uBAAuB,EAAE,wBAAwB;SAClD,CAAC;QACF,GAAG,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChF,CAAC;IAEF,gDAAgD;IAChD,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QAEjC,+DAA+D;QAC/D,MAAM,KAAK,GAAI,MAAkC,CAAC,YAAY,CAEjD,CAAC;QACd,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrD,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;gBACrC,KAAK,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;oBAC9B,gCAAgC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1D,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBAClD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC1F,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;gBACjC,KAAK,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;oBAC1B,sFAAsF,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACjH,CAAC;QACH,CAAC;QAED,kDAAkD;QAClD,MAAM,SAAS,GAAG;YAChB,IAAI,EAAE,OAAO;YACb,WAAW,EACT,mFAAmF;gBACnF,kEAAkE;gBAClE,wEAAwE;gBACxE,SAAS;YACX,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE;gBACX,0EAA0E;gBAC1E,4EAA4E;gBAC5E,4EAA4E;gBAC5E,YAAY,EAAE,IAAI;aACnB;SACF,CAAC;QAEF,MAAM,aAAa,GAAG,0BAA0B,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAE9E,OAAO;YACL,KAAK,EAAE,CAAC,SAAS,EAAE,GAAG,aAAa,CAAC;SACrC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,2DAA2D;IAC3D,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACvE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAEjD,MAAM,aAAa,GAAG,oBAAoB,CACxC,OAAO,CAAC,MAA4C,CACrD,CAAC;QAEF,0BAA0B;QAC1B,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,wEAAwE;gBACxE,yEAAyE;gBACzE,2EAA2E;gBAC3E,MAAM,MAAM,GAAG,MAAM,sBAAsB,CACzC,MAAe,EACf,eAAe,EACf,IAAI,EACJ,IAAI,IAAI,EAAE,EACV,KAAK,CAAC,MAAM,EACZ,aAAa,CACd,CAAC;gBAEF,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;oBACnB,OAAO,MAAM,CAAC;gBAChB,CAAC;gBACD,mEAAmE;gBACnE,0EAA0E;gBAC1E,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kBAAkB,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAChG,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,IAAI,GAAG,YAAY,yBAAyB,EAAE,CAAC;oBAC7C,2DAA2D;oBAC3D,MAAM,GAAG,CAAC;gBACZ,CAAC;gBACD,sEAAsE;gBACtE,oEAAoE;gBACpE,8DAA8D;gBAC9D,8CAA8C;gBAC9C,IACE,GAAG,YAAY,KAAK;oBACpB,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,UAAU;oBACnC,OAAQ,GAA0C,CAAC,MAAM,CAAC,KAAK,QAAQ,EACvE,CAAC;oBACD,MAAM,IAAI,GAAI,GAA2B,CAAC,IAAI,IAAI,SAAS,CAAC,aAAa,CAAC;oBAC1E,uEAAuE;oBACvE,6CAA6C;oBAC7C,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;oBACjE,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBACvC,CAAC;gBACD,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,OAAO,MAAM,WAAW,CAAC,IAAI,EAAE;oBAC7B,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzD,GAAG,CAAC,aAAa,IAAI,IAAI;wBACvB,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;wBAChD,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;oBACrC,2DAA2D;oBAC3D,2CAA2C;oBAC3C,MAAM,GAAG,CAAC;gBACZ,CAAC;gBACD,sEAAsE;gBACtE,iDAAiD;gBACjD,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,eAAe;QACf,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,wBAAwB,CAAC,CAAC;QACtD,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,EAAE,CAAC;YACnE,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type SessionLogJournal, type SessionLogJournalOptions } from "../clinkx-workflows/dist/dashboard/session-log-journal.js";
|
|
2
|
+
import type { SessionLogOwnerV1 } from "../clinkx-workflows/dist/dashboard/session-log-contract.js";
|
|
3
|
+
export interface ProviderSessionLogProducer {
|
|
4
|
+
onStdout(chunk: Buffer): void;
|
|
5
|
+
finish(status: "completed" | "failed" | "cancelled" | "timeout"): void;
|
|
6
|
+
/** Observability-only drain used by shutdown/tests; authoritative execution never awaits it. */
|
|
7
|
+
drain(): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
export interface ProviderSessionLogProducerOptions {
|
|
10
|
+
readonly parser: "codex_jsonl" | "claude_stream_json";
|
|
11
|
+
readonly owner: SessionLogOwnerV1;
|
|
12
|
+
readonly rootDir: string;
|
|
13
|
+
/** Exact prompt delivered to this subprocess. Captured once as authoritative user input. */
|
|
14
|
+
readonly prompt?: string | undefined;
|
|
15
|
+
readonly maxPartialLineChars?: number | undefined;
|
|
16
|
+
readonly journalFactory?: ((options: SessionLogJournalOptions) => Promise<SessionLogJournal>) | undefined;
|
|
17
|
+
}
|
|
18
|
+
export declare function createProviderSessionLogProducer(options: ProviderSessionLogProducerOptions): ProviderSessionLogProducer;
|