clinkx 0.3.0 → 1.1.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 +119 -0
- package/LICENSE +10 -0
- package/README.md +154 -26
- 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/chairman-knobs.d.ts +24 -0
- package/clinkx-workflows/dist/chairman-knobs.js +27 -0
- package/clinkx-workflows/dist/chairman-knobs.js.map +1 -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 +12 -1
- package/clinkx-workflows/dist/clink-client.js +56 -5
- package/clinkx-workflows/dist/clink-client.js.map +1 -1
- package/clinkx-workflows/dist/config.d.ts +173 -16
- package/clinkx-workflows/dist/config.js +417 -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 +189 -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-execution-policy.d.ts +68 -0
- package/clinkx-workflows/dist/council-execution-policy.js +110 -0
- package/clinkx-workflows/dist/council-execution-policy.js.map +1 -0
- package/clinkx-workflows/dist/council-expander.d.ts +10 -9
- package/clinkx-workflows/dist/council-expander.js +20 -10
- package/clinkx-workflows/dist/council-expander.js.map +1 -1
- package/clinkx-workflows/dist/dashboard/activity-contract.d.ts +5718 -0
- package/clinkx-workflows/dist/dashboard/activity-contract.js +157 -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 +90 -0
- package/clinkx-workflows/dist/dashboard/activity-reader.js +493 -0
- package/clinkx-workflows/dist/dashboard/activity-reader.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/api-routes.d.ts +40 -0
- package/clinkx-workflows/dist/dashboard/api-routes.js +1155 -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-builder-invocation-contract.d.ts +3865 -0
- package/clinkx-workflows/dist/dashboard/context-builder-invocation-contract.js +69 -0
- package/clinkx-workflows/dist/dashboard/context-builder-invocation-contract.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 +256 -0
- package/clinkx-workflows/dist/dashboard/context-run-reader.js +1301 -0
- package/clinkx-workflows/dist/dashboard/context-run-reader.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/contracts.d.ts +28483 -0
- package/clinkx-workflows/dist/dashboard/contracts.js +1284 -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 +32 -0
- package/clinkx-workflows/dist/dashboard/index.js +20 -0
- package/clinkx-workflows/dist/dashboard/index.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/invocation-contract.d.ts +786 -0
- package/clinkx-workflows/dist/dashboard/invocation-contract.js +201 -0
- package/clinkx-workflows/dist/dashboard/invocation-contract.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/lazy-content.d.ts +114 -0
- package/clinkx-workflows/dist/dashboard/lazy-content.js +799 -0
- package/clinkx-workflows/dist/dashboard/lazy-content.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/native-transcript/contract.d.ts +90 -0
- package/clinkx-workflows/dist/dashboard/native-transcript/contract.js +31 -0
- package/clinkx-workflows/dist/dashboard/native-transcript/contract.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/native-transcript/projection.d.ts +12 -0
- package/clinkx-workflows/dist/dashboard/native-transcript/projection.js +286 -0
- package/clinkx-workflows/dist/dashboard/native-transcript/projection.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/progress-report-contract.d.ts +446 -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 +529 -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 +29 -0
- package/clinkx-workflows/dist/dashboard/progress-report-status-store.js +111 -0
- package/clinkx-workflows/dist/dashboard/progress-report-status-store.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/prompt-builder-library-contract.d.ts +194 -0
- package/clinkx-workflows/dist/dashboard/prompt-builder-library-contract.js +89 -0
- package/clinkx-workflows/dist/dashboard/prompt-builder-library-contract.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/prompt-builder-library-store.d.ts +26 -0
- package/clinkx-workflows/dist/dashboard/prompt-builder-library-store.js +102 -0
- package/clinkx-workflows/dist/dashboard/prompt-builder-library-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 +130 -0
- package/clinkx-workflows/dist/dashboard/request-admission.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/scanner.d.ts +78 -0
- package/clinkx-workflows/dist/dashboard/scanner.js +1154 -0
- package/clinkx-workflows/dist/dashboard/scanner.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/server-factory.d.ts +63 -0
- package/clinkx-workflows/dist/dashboard/server-factory.js +483 -0
- package/clinkx-workflows/dist/dashboard/server-factory.js.map +1 -0
- package/clinkx-workflows/dist/dashboard/session-log-contract.d.ts +2778 -0
- package/clinkx-workflows/dist/dashboard/session-log-contract.js +506 -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 +529 -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 +14 -0
- package/clinkx-workflows/dist/dashboard/session-log-redaction.js +1101 -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-JPHQVtn9.js +106 -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-DOMHk-j6.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-finalizer-policy.d.ts +26 -0
- package/clinkx-workflows/dist/delegate-finalizer-policy.js +72 -0
- package/clinkx-workflows/dist/delegate-finalizer-policy.js.map +1 -0
- package/clinkx-workflows/dist/delegate-signature.d.ts +14 -0
- package/clinkx-workflows/dist/delegate-signature.js +14 -0
- package/clinkx-workflows/dist/delegate-signature.js.map +1 -0
- package/clinkx-workflows/dist/delegate-validate.d.ts +108 -0
- package/clinkx-workflows/dist/delegate-validate.js +148 -0
- package/clinkx-workflows/dist/delegate-validate.js.map +1 -0
- package/clinkx-workflows/dist/engine.d.ts +251 -0
- package/clinkx-workflows/dist/engine.js +1342 -92
- package/clinkx-workflows/dist/engine.js.map +1 -1
- package/clinkx-workflows/dist/errors.d.ts +24 -2
- package/clinkx-workflows/dist/errors.js +30 -2
- package/clinkx-workflows/dist/errors.js.map +1 -1
- package/clinkx-workflows/dist/fidelity.d.ts +47 -1
- package/clinkx-workflows/dist/fidelity.js +54 -1
- package/clinkx-workflows/dist/fidelity.js.map +1 -1
- package/clinkx-workflows/dist/fingerprint.d.ts +25 -7
- package/clinkx-workflows/dist/fingerprint.js +33 -10
- package/clinkx-workflows/dist/fingerprint.js.map +1 -1
- package/clinkx-workflows/dist/index.d.ts +19 -0
- package/clinkx-workflows/dist/index.js +68 -1
- 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/logger.d.ts +1 -1
- package/clinkx-workflows/dist/logger.js +17 -3
- package/clinkx-workflows/dist/logger.js.map +1 -1
- package/clinkx-workflows/dist/monotonic-clock.d.ts +19 -0
- package/clinkx-workflows/dist/monotonic-clock.js +22 -0
- package/clinkx-workflows/dist/monotonic-clock.js.map +1 -0
- 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/roster-contract.d.ts +889 -0
- package/clinkx-workflows/dist/roster-contract.js +180 -0
- package/clinkx-workflows/dist/roster-contract.js.map +1 -0
- package/clinkx-workflows/dist/rosters.d.ts +14 -0
- package/clinkx-workflows/dist/rosters.js +169 -0
- package/clinkx-workflows/dist/rosters.js.map +1 -0
- package/clinkx-workflows/dist/run-health.d.ts +7 -0
- package/clinkx-workflows/dist/run-health.js +25 -0
- package/clinkx-workflows/dist/run-health.js.map +1 -0
- 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 +140 -21
- package/clinkx-workflows/dist/schema.js +34 -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 +84 -52
- package/clinkx-workflows/dist/server.js.map +1 -1
- package/clinkx-workflows/dist/shutdown.d.ts +29 -18
- package/clinkx-workflows/dist/shutdown.js +90 -64
- package/clinkx-workflows/dist/shutdown.js.map +1 -1
- package/clinkx-workflows/dist/state-schema.d.ts +61 -0
- package/clinkx-workflows/dist/state.d.ts +175 -3
- package/clinkx-workflows/dist/state.js +1398 -44
- package/clinkx-workflows/dist/state.js.map +1 -1
- package/clinkx-workflows/dist/stdio-watchdog.d.ts +52 -0
- package/clinkx-workflows/dist/stdio-watchdog.js +212 -0
- package/clinkx-workflows/dist/stdio-watchdog.js.map +1 -0
- 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 +20 -2
- package/clinkx-workflows/dist/validators/council.d.ts +334 -101
- 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 +118 -3
- package/clinkx-workflows/dist/workflow-tools.js +2110 -175
- 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-chairman.txt +3 -0
- package/clinkx-workflows/templates/council/answer-cross-reviewer.txt +3 -0
- package/clinkx-workflows/templates/council/answer-specialist.txt +5 -1
- package/clinkx-workflows/templates/council/chairman.txt +3 -0
- package/clinkx-workflows/templates/council/code-review-chairman.txt +16 -0
- package/clinkx-workflows/templates/council/code-review-cross-reviewer.txt +7 -1
- package/clinkx-workflows/templates/council/code-review-reviewer.txt +22 -3
- package/clinkx-workflows/templates/council/debug-chairman.txt +3 -0
- package/clinkx-workflows/templates/council/debug-cross-reviewer.txt +3 -0
- package/clinkx-workflows/templates/council/debug-debugger.txt +5 -1
- package/clinkx-workflows/templates/council/discover-analyst.txt +5 -1
- package/clinkx-workflows/templates/council/discover-chairman.txt +3 -0
- package/clinkx-workflows/templates/council/discover-cross-reviewer.txt +3 -0
- package/clinkx-workflows/templates/council/member.txt +5 -1
- package/clinkx-workflows/templates/council/plan-review-chairman.txt +71 -0
- package/clinkx-workflows/templates/council/plan-review-cross-reviewer.txt +54 -0
- package/clinkx-workflows/templates/council/plan-review-reviewer.txt +63 -0
- package/clinkx-workflows/templates/council/reviewer.txt +3 -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 +100 -8
- package/clinkx-workflows/workflows/council-code-review.yaml +106 -8
- package/clinkx-workflows/workflows/council-debug.yaml +100 -8
- package/clinkx-workflows/workflows/council-default.yaml +104 -8
- package/clinkx-workflows/workflows/council-discover.yaml +100 -8
- package/clinkx-workflows/workflows/council-plan-review.yaml +253 -0
- package/clinkx-workflows/workflows/plan-review-receipts.yaml +230 -0
- package/conf/adapters/agy.json +56 -0
- package/conf/adapters/claude.json +12 -0
- package/conf/adapters/codex-app-server.json +44 -0
- package/conf/adapters/codex.json +14 -2
- package/conf/adapters/glm.json +24 -3
- package/conf/adapters/grok.json +67 -0
- package/conf/adapters/hapi/agy.json +59 -0
- package/conf/adapters/hapi/claude.json +12 -0
- package/conf/adapters/hapi/codex.json +14 -2
- package/conf/adapters/hapi/glm.json +25 -4
- package/conf/rosters/default-council.json +21 -0
- package/dist/activity-journal.d.ts +56 -0
- package/dist/activity-journal.js +706 -0
- package/dist/activity-journal.js.map +1 -0
- package/dist/allowed-roots.d.ts +41 -0
- package/dist/allowed-roots.js +125 -3
- package/dist/allowed-roots.js.map +1 -1
- 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 +1306 -0
- package/dist/codex/agent-tools.js.map +1 -0
- package/dist/codex/app-server-client.d.ts +79 -0
- package/dist/codex/app-server-client.js +593 -0
- package/dist/codex/app-server-client.js.map +1 -0
- package/dist/codex/app-server-registry.d.ts +407 -0
- package/dist/codex/app-server-registry.js +1493 -0
- package/dist/codex/app-server-registry.js.map +1 -0
- package/dist/codex/client-types.d.ts +115 -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 +386 -23
- package/dist/config.js +184 -15
- package/dist/config.js.map +1 -1
- package/dist/context-builder/anchors.d.ts +1 -0
- package/dist/context-builder/anchors.js +3 -0
- package/dist/context-builder/anchors.js.map +1 -1
- package/dist/context-builder/bundle.d.ts +48 -2
- package/dist/context-builder/bundle.js +388 -2417
- package/dist/context-builder/bundle.js.map +1 -1
- package/dist/context-builder/codemap.d.ts +5 -0
- package/dist/context-builder/codemap.js +387 -13
- package/dist/context-builder/codemap.js.map +1 -1
- package/dist/context-builder/config.d.ts +1 -0
- package/dist/context-builder/config.js +12 -0
- package/dist/context-builder/config.js.map +1 -1
- 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-finalizer-effective.d.ts +33 -0
- package/dist/context-builder/delegate-finalizer-effective.js +82 -0
- package/dist/context-builder/delegate-finalizer-effective.js.map +1 -0
- package/dist/context-builder/delegate-packet.d.ts +55 -0
- package/dist/context-builder/delegate-packet.js +430 -74
- package/dist/context-builder/delegate-packet.js.map +1 -1
- package/dist/context-builder/delegate-reconstruction.d.ts +29 -0
- package/dist/context-builder/delegate-reconstruction.js +110 -41
- package/dist/context-builder/delegate-reconstruction.js.map +1 -1
- package/dist/context-builder/delegate-validation.d.ts +41 -1
- package/dist/context-builder/delegate-validation.js +237 -48
- package/dist/context-builder/delegate-validation.js.map +1 -1
- package/dist/context-builder/delegate.d.ts +11 -0
- package/dist/context-builder/delegate.js +210 -58
- package/dist/context-builder/delegate.js.map +1 -1
- package/dist/context-builder/diagnostics.d.ts +11 -2
- package/dist/context-builder/diagnostics.js +39 -6
- package/dist/context-builder/diagnostics.js.map +1 -1
- package/dist/context-builder/discovery-progress.d.ts +25 -0
- package/dist/context-builder/discovery-progress.js +64 -0
- package/dist/context-builder/discovery-progress.js.map +1 -0
- package/dist/context-builder/discovery-watchdog.d.ts +15 -0
- package/dist/context-builder/discovery-watchdog.js +39 -0
- package/dist/context-builder/discovery-watchdog.js.map +1 -0
- package/dist/context-builder/discovery.d.ts +36 -1
- package/dist/context-builder/discovery.js +584 -172
- package/dist/context-builder/discovery.js.map +1 -1
- package/dist/context-builder/external-gaps.d.ts +73 -0
- package/dist/context-builder/external-gaps.js +248 -0
- package/dist/context-builder/external-gaps.js.map +1 -0
- package/dist/context-builder/globs.d.ts +1 -0
- package/dist/context-builder/globs.js +25 -10
- package/dist/context-builder/globs.js.map +1 -1
- package/dist/context-builder/handler.d.ts +67 -2
- package/dist/context-builder/handler.js +1810 -2440
- package/dist/context-builder/handler.js.map +1 -1
- package/dist/context-builder/invocation-sidecar.d.ts +41 -0
- package/dist/context-builder/invocation-sidecar.js +189 -0
- package/dist/context-builder/invocation-sidecar.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/mutation-lock.d.ts +32 -0
- package/dist/context-builder/mutation-lock.js +321 -0
- package/dist/context-builder/mutation-lock.js.map +1 -0
- package/dist/context-builder/path-signals.js +9 -5
- package/dist/context-builder/path-signals.js.map +1 -1
- package/dist/context-builder/progress.d.ts +3 -1
- package/dist/context-builder/progress.js +23 -0
- package/dist/context-builder/progress.js.map +1 -1
- package/dist/context-builder/receipt.d.ts +6 -4
- package/dist/context-builder/receipt.js +12 -1
- package/dist/context-builder/receipt.js.map +1 -1
- 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 +116 -0
- package/dist/context-builder/review-coverage.js +544 -0
- package/dist/context-builder/review-coverage.js.map +1 -0
- package/dist/context-builder/schema.d.ts +315 -2
- package/dist/context-builder/schema.js +133 -7
- package/dist/context-builder/schema.js.map +1 -1
- package/dist/context-builder/secrets.d.ts +59 -0
- package/dist/context-builder/secrets.js +2255 -44
- package/dist/context-builder/secrets.js.map +1 -1
- package/dist/context-builder/selection.d.ts +7 -3
- package/dist/context-builder/selection.js +200 -738
- package/dist/context-builder/selection.js.map +1 -1
- 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 +23 -2
- package/dist/context-builder/status.js +60 -4
- package/dist/context-builder/status.js.map +1 -1
- package/dist/context-builder/storage.d.ts +59 -2
- package/dist/context-builder/storage.js +500 -168
- package/dist/context-builder/storage.js.map +1 -1
- package/dist/context-builder/token-estimate.d.ts +13 -2
- package/dist/context-builder/token-estimate.js +77 -4
- package/dist/context-builder/token-estimate.js.map +1 -1
- package/dist/context-builder/versions.d.ts +44 -0
- package/dist/context-builder/versions.js +45 -0
- package/dist/context-builder/versions.js.map +1 -0
- package/dist/context-builder/workflow-runner.d.ts +75 -0
- package/dist/context-builder/workflow-runner.js +1241 -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 +53 -0
- package/dist/dashboard-adapter-catalog.js.map +1 -0
- package/dist/dashboard-cli.d.ts +81 -0
- package/dist/dashboard-cli.js +623 -0
- package/dist/dashboard-cli.js.map +1 -0
- package/dist/dashboard-companion/client.d.ts +37 -0
- package/dist/dashboard-companion/client.js +229 -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 +458 -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 +12 -0
- package/dist/dashboard-gateway/index.js +786 -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 +15 -2
- package/dist/handler.js.map +1 -1
- package/dist/index.d.ts +20 -2
- package/dist/index.js +154 -6
- 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/logger.d.ts +1 -1
- package/dist/logger.js +18 -3
- package/dist/logger.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/agy-stream-json.d.ts +14 -0
- package/dist/parsers/agy-stream-json.js +172 -0
- package/dist/parsers/agy-stream-json.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 +16 -4
- package/dist/parsers/extract.js.map +1 -1
- package/dist/parsers/observed-invocation.d.ts +20 -0
- package/dist/parsers/observed-invocation.js +42 -0
- package/dist/parsers/observed-invocation.js.map +1 -0
- package/dist/pipeline.d.ts +17 -0
- package/dist/pipeline.js +181 -10
- package/dist/pipeline.js.map +1 -1
- package/dist/progress-report/lock.d.ts +74 -0
- package/dist/progress-report/lock.js +343 -0
- package/dist/progress-report/lock.js.map +1 -0
- package/dist/progress-report/schema.d.ts +808 -0
- package/dist/progress-report/schema.js +119 -0
- package/dist/progress-report/schema.js.map +1 -0
- package/dist/progress-report/store.d.ts +66 -0
- package/dist/progress-report/store.js +766 -0
- package/dist/progress-report/store.js.map +1 -0
- package/dist/progress-report/tools.d.ts +20 -0
- package/dist/progress-report/tools.js +141 -0
- package/dist/progress-report/tools.js.map +1 -0
- package/dist/prompt-mode.d.ts +1 -1
- package/dist/prompt-mode.js +7 -2
- package/dist/prompt-mode.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 +20 -0
- package/dist/runner.js +192 -16
- package/dist/runner.js.map +1 -1
- package/dist/safety.d.ts +54 -4
- package/dist/safety.js +186 -5
- package/dist/safety.js.map +1 -1
- package/dist/schema.d.ts +15 -7
- package/dist/schema.js +20 -0
- package/dist/schema.js.map +1 -1
- package/dist/server.d.ts +7 -1
- package/dist/server.js +451 -23
- package/dist/server.js.map +1 -1
- package/dist/session-log-stream.d.ts +18 -0
- package/dist/session-log-stream.js +566 -0
- package/dist/session-log-stream.js.map +1 -0
- package/dist/stdio-activity.d.ts +28 -0
- package/dist/stdio-activity.js +72 -0
- package/dist/stdio-activity.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/parsers/gemini-json.d.ts +0 -2
- package/dist/parsers/gemini-json.js +0 -72
- package/dist/parsers/gemini-json.js.map +0 -1
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import { lstatSync, realpathSync } from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { isSamePathOrDescendant } from "../allowed-roots.js";
|
|
4
|
+
import { SANITIZE_BUDGET_EXHAUSTED_PROVENANCE } from "./secrets.js";
|
|
5
|
+
import { compileContextBuilderGlobs, CONTEXT_BUILDER_DEFAULT_EXCLUDE_GLOBS, } from "./globs.js";
|
|
6
|
+
const EXCLUDED_OMISSION_REASONS = new Set([
|
|
7
|
+
"exclude_glob",
|
|
8
|
+
"caller_include_glob",
|
|
9
|
+
"default_exclude",
|
|
10
|
+
"default_noisy_exclude",
|
|
11
|
+
"excluded",
|
|
12
|
+
"noisy_file",
|
|
13
|
+
]);
|
|
14
|
+
const TOO_LARGE_OMISSION_REASONS = new Set(["file_too_large"]);
|
|
15
|
+
const SECRET_OMISSION_REASONS = new Set([
|
|
16
|
+
"secret_path",
|
|
17
|
+
"content_secret",
|
|
18
|
+
SANITIZE_BUDGET_EXHAUSTED_PROVENANCE,
|
|
19
|
+
]);
|
|
20
|
+
// `(` and `)` are legal in real filenames, so only the wildcard/class/brace
|
|
21
|
+
// metacharacters mark a path as a glob rather than a path.
|
|
22
|
+
const GLOB_CHARS_PATTERN = /[*?[\]{}]/;
|
|
23
|
+
/**
|
|
24
|
+
* Classifies the finalizer's self-reported `external_gaps` against what the
|
|
25
|
+
* server actually knows. A gap is only accepted as EXTERNAL when it names an
|
|
26
|
+
* existing, root-contained path that the packet genuinely did not carry;
|
|
27
|
+
* anything the packet had (or the caller explicitly focused) is a finalizer
|
|
28
|
+
* error, not missing evidence, and is rejected so it cannot launder a real
|
|
29
|
+
* in-packet insufficiency into a soft "conditional" verdict.
|
|
30
|
+
*
|
|
31
|
+
* Source roots are the resolved context_builder roots; artifact-only (`/.`)
|
|
32
|
+
* entries never reach them, and `excludedRealRoots` (artifact dirs nested
|
|
33
|
+
* under a source root) are treated as outside every root.
|
|
34
|
+
*
|
|
35
|
+
* Focus/packet rejection also covers ANCESTORS (a directory that contains a
|
|
36
|
+
* focus path or packet candidate is not absent evidence), and is re-run on the
|
|
37
|
+
* canonical on-disk path after the existence check so a case variant or an
|
|
38
|
+
* in-root symlink alias cannot smuggle an in-packet file past the lexical
|
|
39
|
+
* comparison. Accepted gaps carry the canonical path. Results are deduped:
|
|
40
|
+
* external by (root_index, canonical path), rejected by (path, why), first
|
|
41
|
+
* occurrence wins.
|
|
42
|
+
*/
|
|
43
|
+
export function classifyFinalizerExternalGaps(input) {
|
|
44
|
+
// realpathSync.native returns the on-disk case (APFS/NTFS), the same domain
|
|
45
|
+
// as the fs/promises realpath that resolved the source roots in paths.ts.
|
|
46
|
+
const fs = input.fs ?? {
|
|
47
|
+
lstat: (p) => lstatSync(p),
|
|
48
|
+
realpath: (p) => realpathSync.native(p),
|
|
49
|
+
};
|
|
50
|
+
const matcher = compileMatcher(input.includeGlobs ?? [], input.excludeGlobs ?? []);
|
|
51
|
+
const external = [];
|
|
52
|
+
const rejected = [];
|
|
53
|
+
const seenExternal = new Set();
|
|
54
|
+
const seenRejected = new Set();
|
|
55
|
+
const reject = (entry) => {
|
|
56
|
+
const key = JSON.stringify([entry.path, entry.why]);
|
|
57
|
+
if (!seenRejected.has(key)) {
|
|
58
|
+
seenRejected.add(key);
|
|
59
|
+
rejected.push(entry);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
const isInPacket = (rootIndex, relative) => input.packetCandidates.some((candidate) => candidate.root_index === rootIndex && isSameOrAncestor(relative, candidate.path));
|
|
63
|
+
for (const gap of input.gaps) {
|
|
64
|
+
const relative = normalizeGapPath(gap.path);
|
|
65
|
+
const roots = gap.root_index == null
|
|
66
|
+
? input.sourceRoots
|
|
67
|
+
: input.sourceRoots.filter((root) => root.root_index === gap.root_index);
|
|
68
|
+
if (relative == null || roots.length === 0) {
|
|
69
|
+
reject({ path: gap.path, why: "invalid_path" });
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
if (roots.some((root) => isUnderFocusPath(root.root_index, relative, input.focusPaths))) {
|
|
73
|
+
reject({ path: relative, why: "required_focus" });
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
if (roots.some((root) => isInPacket(root.root_index, relative))) {
|
|
77
|
+
reject({ path: relative, why: "in_packet" });
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
let root;
|
|
81
|
+
let resolved = null;
|
|
82
|
+
for (const candidateRoot of roots) {
|
|
83
|
+
resolved = existsContained(candidateRoot, relative, input.excludedRealRoots ?? [], fs);
|
|
84
|
+
if (resolved != null) {
|
|
85
|
+
root = candidateRoot;
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
if (root == null || resolved == null) {
|
|
90
|
+
reject({ path: relative, why: "nonexistent_or_outside_roots" });
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
const canonical = resolved.path;
|
|
94
|
+
// An in-root alias of the root itself canonicalizes to "": same as ".".
|
|
95
|
+
if (canonical === "") {
|
|
96
|
+
reject({ path: relative, why: "invalid_path" });
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
// Same checks against the canonical identity; the rejection still names
|
|
100
|
+
// the caller's path so the failure text matches what the finalizer wrote.
|
|
101
|
+
if (isUnderFocusPath(root.root_index, canonical, input.focusPaths)) {
|
|
102
|
+
reject({ path: relative, why: "required_focus" });
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
if (isInPacket(root.root_index, canonical)) {
|
|
106
|
+
reject({ path: relative, why: "in_packet" });
|
|
107
|
+
continue;
|
|
108
|
+
}
|
|
109
|
+
const externalKey = JSON.stringify([root.root_index, canonical]);
|
|
110
|
+
if (seenExternal.has(externalKey)) {
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
seenExternal.add(externalKey);
|
|
114
|
+
external.push({
|
|
115
|
+
path: canonical,
|
|
116
|
+
root_index: root.root_index,
|
|
117
|
+
reason: gap.reason,
|
|
118
|
+
provenance: gapProvenance(root.root_index, canonical, resolved.isDirectory, input.discovery, matcher),
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
return { external, rejected };
|
|
122
|
+
}
|
|
123
|
+
function normalizeGapPath(raw) {
|
|
124
|
+
const trimmed = raw.trim();
|
|
125
|
+
if (trimmed.length === 0 ||
|
|
126
|
+
trimmed.includes("\u0000") ||
|
|
127
|
+
trimmed.includes("\\") ||
|
|
128
|
+
trimmed.startsWith("/") ||
|
|
129
|
+
trimmed.startsWith("~") ||
|
|
130
|
+
/^[A-Za-z]:/.test(trimmed) ||
|
|
131
|
+
/^[A-Za-z][A-Za-z0-9+.-]*:\/\//.test(trimmed) ||
|
|
132
|
+
GLOB_CHARS_PATTERN.test(trimmed)) {
|
|
133
|
+
return null;
|
|
134
|
+
}
|
|
135
|
+
if (trimmed.split("/").includes("..")) {
|
|
136
|
+
return null;
|
|
137
|
+
}
|
|
138
|
+
const normalized = path.posix
|
|
139
|
+
.normalize(trimmed)
|
|
140
|
+
.replace(/^\.\//, "")
|
|
141
|
+
.replace(/\/+$/, "");
|
|
142
|
+
return normalized.length === 0 || normalized === "." ? null : normalized;
|
|
143
|
+
}
|
|
144
|
+
function isUnderFocusPath(rootIndex, relative, focusPaths) {
|
|
145
|
+
return focusPaths.some((focus) => {
|
|
146
|
+
if (focus.root_index !== rootIndex) {
|
|
147
|
+
return false;
|
|
148
|
+
}
|
|
149
|
+
// Exact match, or the gap is an ancestor directory of the focus path.
|
|
150
|
+
if (isSameOrAncestor(relative, focus.root_relative_path)) {
|
|
151
|
+
return true;
|
|
152
|
+
}
|
|
153
|
+
return (focus.kind === "directory" &&
|
|
154
|
+
(focus.root_relative_path === "" ||
|
|
155
|
+
relative.startsWith(`${focus.root_relative_path}/`)));
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
/** True when `candidate` equals `ancestor` or lies under it ("" is the root). */
|
|
159
|
+
function isSameOrAncestor(ancestor, candidate) {
|
|
160
|
+
return (ancestor === "" || candidate === ancestor || candidate.startsWith(`${ancestor}/`));
|
|
161
|
+
}
|
|
162
|
+
function existsContained(root, relative, excludedRealRoots, fs) {
|
|
163
|
+
const lexical = path.join(root.path, ...relative.split("/"));
|
|
164
|
+
try {
|
|
165
|
+
const stats = fs.lstat(lexical);
|
|
166
|
+
if (!stats.isFile() && !stats.isDirectory() && !stats.isSymbolicLink()) {
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
169
|
+
// lstat proves the entry itself exists without following it; realpath then
|
|
170
|
+
// resolves every symlink on the way (the leaf and any parent directory) so
|
|
171
|
+
// a link that escapes the root cannot pass as local evidence.
|
|
172
|
+
const real = fs.realpath(lexical);
|
|
173
|
+
if (!isSamePathOrDescendant(real, root.path) ||
|
|
174
|
+
excludedRealRoots.some((excluded) => isSamePathOrDescendant(real, excluded))) {
|
|
175
|
+
return null;
|
|
176
|
+
}
|
|
177
|
+
// Canonical root-relative POSIX identity (on-disk case, symlinks resolved).
|
|
178
|
+
return {
|
|
179
|
+
path: path.relative(root.path, real).split(path.sep).join("/"),
|
|
180
|
+
isDirectory: fs.lstat(real).isDirectory(),
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
catch {
|
|
184
|
+
return null;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
function gapProvenance(rootIndex, relative, isDirectory, discovery, matcher) {
|
|
188
|
+
const treeEntry = discovery.tree.find((file) => file.root_index === rootIndex && file.path === relative);
|
|
189
|
+
const omissionReason = treeEntry?.omission_reason;
|
|
190
|
+
if (omissionReason != null && TOO_LARGE_OMISSION_REASONS.has(omissionReason)) {
|
|
191
|
+
return "too_large";
|
|
192
|
+
}
|
|
193
|
+
if (omissionReason != null && SECRET_OMISSION_REASONS.has(omissionReason)) {
|
|
194
|
+
return "secret_filtered";
|
|
195
|
+
}
|
|
196
|
+
if ((omissionReason != null && EXCLUDED_OMISSION_REASONS.has(omissionReason)) ||
|
|
197
|
+
isUnderExcludedDirectoryOmission(rootIndex, relative, discovery.omissions) ||
|
|
198
|
+
isGlobExcluded(relative, isDirectory, matcher)) {
|
|
199
|
+
return "excluded_glob";
|
|
200
|
+
}
|
|
201
|
+
if (discovery.content_candidates.some((candidate) => candidate.root_index === rootIndex &&
|
|
202
|
+
(candidate.path === relative || candidate.path.startsWith(`${relative}/`)))) {
|
|
203
|
+
return "packet_cap";
|
|
204
|
+
}
|
|
205
|
+
// A directory whose descendants were walked was reached by the scan, so the
|
|
206
|
+
// scan cap did not keep it out.
|
|
207
|
+
if (treeEntry == null &&
|
|
208
|
+
discovery.metrics.scan_cap_hit &&
|
|
209
|
+
!discovery.tree.some((file) => file.root_index === rootIndex && file.path.startsWith(`${relative}/`))) {
|
|
210
|
+
return "scan_cap";
|
|
211
|
+
}
|
|
212
|
+
return "not_discovered";
|
|
213
|
+
}
|
|
214
|
+
function isUnderExcludedDirectoryOmission(rootIndex, relative, omissions) {
|
|
215
|
+
return omissions.some((omission) => EXCLUDED_OMISSION_REASONS.has(omission.reason) &&
|
|
216
|
+
(omission.root_index == null || omission.root_index === rootIndex) &&
|
|
217
|
+
(omission.paths ?? []).some((omitted) => omitted === relative || relative.startsWith(`${omitted}/`)));
|
|
218
|
+
}
|
|
219
|
+
function isGlobExcluded(relative, isDirectory, matcher) {
|
|
220
|
+
if (matcher == null) {
|
|
221
|
+
return false;
|
|
222
|
+
}
|
|
223
|
+
try {
|
|
224
|
+
// Directories use discovery's traversal predicate: `src/lib` never matches
|
|
225
|
+
// the file glob `src/**/*.ts`, but discovery still walks into it.
|
|
226
|
+
const included = isDirectory
|
|
227
|
+
? matcher.canContainIncludedPath(relative)
|
|
228
|
+
: matcher.includes(relative);
|
|
229
|
+
return matcher.excludes(relative) || !included;
|
|
230
|
+
}
|
|
231
|
+
catch {
|
|
232
|
+
return false;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
function compileMatcher(includeGlobs, excludeGlobs) {
|
|
236
|
+
// Mirrors discovery's matcher so provenance names the same rule that
|
|
237
|
+
// actually kept the path out of the candidate pool.
|
|
238
|
+
try {
|
|
239
|
+
return compileContextBuilderGlobs({
|
|
240
|
+
include: [...includeGlobs],
|
|
241
|
+
exclude: [...CONTEXT_BUILDER_DEFAULT_EXCLUDE_GLOBS, ...excludeGlobs],
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
catch {
|
|
245
|
+
return null;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
//# sourceMappingURL=external-gaps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-gaps.js","sourceRoot":"","sources":["../../src/context-builder/external-gaps.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ export type ContextBuilderGlobMatcher = {
|
|
|
7
7
|
canContainIncludedPath(path: string): boolean;
|
|
8
8
|
excludes(path: string): boolean;
|
|
9
9
|
};
|
|
10
|
+
export declare const CONTEXT_BUILDER_VENDOR_DEFAULT_EXCLUDE_GLOBS: readonly string[];
|
|
10
11
|
export declare const CONTEXT_BUILDER_DEFAULT_EXCLUDE_GLOBS: readonly string[];
|
|
11
12
|
export declare function validateContextBuilderGlobs(globs: ContextBuilderGlobSet): void;
|
|
12
13
|
export declare function compileContextBuilderGlobs(globs: ContextBuilderGlobSet): ContextBuilderGlobMatcher;
|
|
@@ -3,10 +3,24 @@ import path from "node:path";
|
|
|
3
3
|
import { InvalidParamsError } from "../errors.js";
|
|
4
4
|
const require = createRequire(import.meta.url);
|
|
5
5
|
const picomatch = require("picomatch");
|
|
6
|
+
// Mobile/native vendor and build-cache trees. Android build output is already
|
|
7
|
+
// covered by `**/build/**` in the default excludes below.
|
|
8
|
+
export const CONTEXT_BUILDER_VENDOR_DEFAULT_EXCLUDE_GLOBS = Object.freeze([
|
|
9
|
+
"Pods/**",
|
|
10
|
+
"**/Pods/**",
|
|
11
|
+
".cxx/**",
|
|
12
|
+
"**/.cxx/**",
|
|
13
|
+
".gradle/**",
|
|
14
|
+
"**/.gradle/**",
|
|
15
|
+
"DerivedData/**",
|
|
16
|
+
"**/DerivedData/**",
|
|
17
|
+
]);
|
|
6
18
|
export const CONTEXT_BUILDER_DEFAULT_EXCLUDE_GLOBS = Object.freeze([
|
|
7
19
|
".claude/**",
|
|
8
20
|
".git/**",
|
|
9
21
|
"**/.git/**",
|
|
22
|
+
".worktrees/**",
|
|
23
|
+
"**/.worktrees/**",
|
|
10
24
|
"node_modules/**",
|
|
11
25
|
"**/node_modules/**",
|
|
12
26
|
"dist/**",
|
|
@@ -33,6 +47,7 @@ export const CONTEXT_BUILDER_DEFAULT_EXCLUDE_GLOBS = Object.freeze([
|
|
|
33
47
|
"**/*.pyc",
|
|
34
48
|
".venv/**",
|
|
35
49
|
"**/.venv/**",
|
|
50
|
+
...CONTEXT_BUILDER_VENDOR_DEFAULT_EXCLUDE_GLOBS,
|
|
36
51
|
]);
|
|
37
52
|
const GLOB_META_PATTERN = /[*?\[\]{}()]/;
|
|
38
53
|
const FIRST_SEGMENT_META_PATTERN = /[*?\[\]{}()!+@]/;
|
|
@@ -75,16 +90,16 @@ export function compileContextBuilderGlobs(globs) {
|
|
|
75
90
|
}
|
|
76
91
|
export function normalizeRootRelativePathForGlob(input) {
|
|
77
92
|
if (isWindowsRootedOrDriveQualified(input)) {
|
|
78
|
-
throw new InvalidParamsError(
|
|
93
|
+
throw new InvalidParamsError(`context_builder glob paths must be root-relative (got: "${input}")`);
|
|
79
94
|
}
|
|
80
95
|
const slashNormalized = input.replaceAll("\\", "/");
|
|
81
96
|
if (path.posix.isAbsolute(slashNormalized)) {
|
|
82
|
-
throw new InvalidParamsError(
|
|
97
|
+
throw new InvalidParamsError(`context_builder glob paths must be root-relative (got: "${input}")`);
|
|
83
98
|
}
|
|
84
99
|
const normalized = path.posix.normalize(slashNormalized).replace(/^\.\//, "");
|
|
85
100
|
const segments = normalized.split("/");
|
|
86
101
|
if (normalized === ".." || segments.includes("..")) {
|
|
87
|
-
throw new InvalidParamsError(
|
|
102
|
+
throw new InvalidParamsError(`context_builder glob path must not contain .. (got: "${input}")`);
|
|
88
103
|
}
|
|
89
104
|
return normalized === "." ? "" : normalized;
|
|
90
105
|
}
|
|
@@ -96,27 +111,27 @@ export function isSelectiveIncludeGlob(pattern) {
|
|
|
96
111
|
}
|
|
97
112
|
function validateGlobPattern(pattern, fieldName) {
|
|
98
113
|
if (pattern.trim() === "") {
|
|
99
|
-
throw new InvalidParamsError(`context_builder ${fieldName} must not be empty`);
|
|
114
|
+
throw new InvalidParamsError(`context_builder ${fieldName} must not be empty (got: "${pattern}")`);
|
|
100
115
|
}
|
|
101
116
|
if (pattern.startsWith("!")) {
|
|
102
|
-
throw new InvalidParamsError(`context_builder ${fieldName} does not support negation`);
|
|
117
|
+
throw new InvalidParamsError(`context_builder ${fieldName} does not support negation (got: "${pattern}")`);
|
|
103
118
|
}
|
|
104
119
|
const slashNormalized = pattern.replaceAll("\\", "/");
|
|
105
120
|
if (path.posix.isAbsolute(slashNormalized) ||
|
|
106
121
|
isWindowsRootedOrDriveQualified(pattern)) {
|
|
107
|
-
throw new InvalidParamsError(`context_builder ${fieldName} must be root-relative`);
|
|
122
|
+
throw new InvalidParamsError(`context_builder ${fieldName} must be root-relative (got: "${pattern}")`);
|
|
108
123
|
}
|
|
109
124
|
const normalized = normalizeGlobPattern(pattern);
|
|
110
125
|
if (normalized === "." || normalized === "") {
|
|
111
|
-
throw new InvalidParamsError(`context_builder ${fieldName} must not be root shorthand`);
|
|
126
|
+
throw new InvalidParamsError(`context_builder ${fieldName} must not be root shorthand (got: "${pattern}")`);
|
|
112
127
|
}
|
|
113
128
|
if (isWholeRootGlobPattern(normalized)) {
|
|
114
|
-
throw new InvalidParamsError(`context_builder ${fieldName} must not match the whole root`);
|
|
129
|
+
throw new InvalidParamsError(`context_builder ${fieldName} must not match the whole root (got: "${pattern}")`);
|
|
115
130
|
}
|
|
116
131
|
if (normalized === ".." ||
|
|
117
132
|
normalized.split("/").includes("..") ||
|
|
118
133
|
slashNormalized.split("/").includes("..")) {
|
|
119
|
-
throw new InvalidParamsError(`context_builder ${fieldName} must not contain
|
|
134
|
+
throw new InvalidParamsError(`context_builder ${fieldName} must not contain .. (got: "${pattern}")`);
|
|
120
135
|
}
|
|
121
136
|
}
|
|
122
137
|
function validateIncludeFirstSegment(pattern) {
|
|
@@ -127,7 +142,7 @@ function validateIncludeFirstSegment(pattern) {
|
|
|
127
142
|
firstSegment === "*" ||
|
|
128
143
|
firstSegment === "**" ||
|
|
129
144
|
FIRST_SEGMENT_META_PATTERN.test(firstSegment)) {
|
|
130
|
-
throw new InvalidParamsError(
|
|
145
|
+
throw new InvalidParamsError(`context_builder include_globs first segment must be literal (got: "${pattern}"); use a literal first segment like "src/context-builder/**", not "**/src/context-builder/**" — use exclude_globs for "**/" carve-outs`);
|
|
131
146
|
}
|
|
132
147
|
}
|
|
133
148
|
function normalizeGlobForPicomatch(pattern) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globs.js","sourceRoot":"","sources":["../../src/context-builder/globs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAOlD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAc,CAAC;AAapD,MAAM,CAAC,MAAM,qCAAqC,GAAG,MAAM,CAAC,MAAM,CAAC;IACjE,YAAY;IACZ,SAAS;IACT,YAAY;IACZ,iBAAiB;IACjB,oBAAoB;IACpB,SAAS;IACT,YAAY;IACZ,UAAU;IACV,aAAa;IACb,aAAa;IACb,gBAAgB;IAChB,UAAU;IACV,aAAa;IACb,WAAW;IACX,cAAc;IACd,WAAW;IACX,cAAc;IACd,gBAAgB;IAChB,mBAAmB;IACnB,kBAAkB;IAClB,qBAAqB;IACrB,gBAAgB;IAChB,mBAAmB;IACnB,gBAAgB;IAChB,mBAAmB;IACnB,OAAO;IACP,UAAU;IACV,UAAU;IACV,aAAa;
|
|
1
|
+
{"version":3,"file":"globs.js","sourceRoot":"","sources":["../../src/context-builder/globs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import type { AdapterRegistry } from "../registry.js";
|
|
2
2
|
import { ContextBuilderSemaphore, type ContextBuilderInternalCaps } from "./config.js";
|
|
3
|
-
import { type ContextBuilderDelegatePacketCaps } from "./delegate-packet.js";
|
|
3
|
+
import { type ContextBuilderDelegatePacketCaps, type ContextBuilderDelegatePacketCandidate, type ContextBuilderDelegatePacketCoveragePolicy } from "./delegate-packet.js";
|
|
4
|
+
import { type ContextBuilderContentCandidate } from "./discovery.js";
|
|
5
|
+
import { type ContextBuilderWarning } from "./diagnostics.js";
|
|
6
|
+
import { type ContextBuilderResolvedFocusPath } from "./paths.js";
|
|
4
7
|
import { type ContextBuilderProgressTarget } from "./progress.js";
|
|
8
|
+
import { ContextBuilderLifecycleController, type ContextBuilderLifecycleInjection, type ContextBuilderSessionLogContext } from "./lifecycle-observer.js";
|
|
5
9
|
import { type ContextBuilderReceiptTextResponse } from "./receipt.js";
|
|
10
|
+
import { type ContextReviewObligationModel } from "./review-coverage.js";
|
|
11
|
+
import { type ContextBuilderSelectedFile } from "./selection.js";
|
|
12
|
+
import { type ContextBuilderStorageOps, type ContextBuilderStoragePaths } from "./storage.js";
|
|
6
13
|
export type ContextBuilderHandlerOptions = {
|
|
7
14
|
signal?: AbortSignal;
|
|
8
15
|
progress?: ContextBuilderProgressTarget;
|
|
@@ -12,6 +19,64 @@ export type ContextBuilderHandlerOptions = {
|
|
|
12
19
|
now?: () => Date;
|
|
13
20
|
internalCaps?: ContextBuilderInternalCaps;
|
|
14
21
|
delegatePacketCaps?: Partial<ContextBuilderDelegatePacketCaps>;
|
|
22
|
+
allowRootWideDiscovery?: boolean;
|
|
23
|
+
lifecycle?: ContextBuilderLifecycleInjection;
|
|
24
|
+
/** Internal composition seam: workflow preflight owns this controller. */
|
|
25
|
+
lifecycleController?: ContextBuilderLifecycleController;
|
|
26
|
+
/**
|
|
27
|
+
* Session-log identity for the workflow preflight's curator/finalizer calls,
|
|
28
|
+
* sourced from the lifecycle router's run-dir generation sidecar. Honored
|
|
29
|
+
* only on the injected-lifecycle path (journal === undefined); the standalone
|
|
30
|
+
* path derives its own identity from the journal dir.
|
|
31
|
+
*/
|
|
32
|
+
sessionLogContext?: ContextBuilderSessionLogContext;
|
|
33
|
+
/**
|
|
34
|
+
* Standalone MCP dispatch only: the raw tool args carried an explicit
|
|
35
|
+
* `delegate.finalizer.min_score` (see `finalizerMinScoreExplicit`). Never
|
|
36
|
+
* inferred here — the workflow runner also calls without a sessionLogContext
|
|
37
|
+
* (unbound lifecycle router or sidecar failure) while always forwarding a
|
|
38
|
+
* defaulted min_score, and workflow admission applies E5 at its own layer.
|
|
39
|
+
*/
|
|
40
|
+
standaloneMinScoreExplicit?: boolean;
|
|
41
|
+
/** Internal workflow seam: continue consuming the committed run under lease. */
|
|
42
|
+
retainCommittedRun?: (response: ContextBuilderReceiptTextResponse, storage: ContextBuilderStoragePaths, ops: ContextBuilderStorageOps) => Promise<void>;
|
|
15
43
|
};
|
|
16
44
|
export declare function handleContextBuilder(args: unknown, options?: ContextBuilderHandlerOptions): Promise<ContextBuilderReceiptTextResponse>;
|
|
17
|
-
|
|
45
|
+
declare function finalizerRequiredFocusEvictionFailure(input: {
|
|
46
|
+
focusPaths: readonly ContextBuilderResolvedFocusPath[];
|
|
47
|
+
candidates: readonly ContextBuilderDelegatePacketCandidate[];
|
|
48
|
+
contentCandidates: readonly Pick<ContextBuilderContentCandidate, "root_index" | "path" | "content">[];
|
|
49
|
+
selected: readonly ContextBuilderSelectedFile[];
|
|
50
|
+
}): string | undefined;
|
|
51
|
+
export declare const finalizerRequiredFocusEvictionFailureForTest: typeof finalizerRequiredFocusEvictionFailure;
|
|
52
|
+
declare function postRepairRequiredFocusEvictionFailure(input: {
|
|
53
|
+
focusPaths: readonly ContextBuilderResolvedFocusPath[];
|
|
54
|
+
candidates: readonly ContextBuilderDelegatePacketCandidate[];
|
|
55
|
+
preRepairSelected: readonly ContextBuilderSelectedFile[];
|
|
56
|
+
postRepairSelected: readonly ContextBuilderSelectedFile[];
|
|
57
|
+
}): string | undefined;
|
|
58
|
+
export declare const postRepairRequiredFocusEvictionFailureForTest: typeof postRepairRequiredFocusEvictionFailure;
|
|
59
|
+
export declare function isMaterialDelegateEvidenceWarningForTest(message: string): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Renders the caller-anchored required-focus contract.
|
|
62
|
+
*
|
|
63
|
+
* Rendered only when the packet carries a candidate with focus_requested:true
|
|
64
|
+
* and non-empty required_focus_ranges, i.e. exactly the candidates
|
|
65
|
+
* requiredFocusEvidenceSelections enforces. Without it the finalizer had no
|
|
66
|
+
* signal that anchored files are mandatory and deduplicated near-duplicate
|
|
67
|
+
* anchors as a quality judgment.
|
|
68
|
+
*
|
|
69
|
+
* Phrasing guard: the finalizer may echo these lines into `warnings`, which
|
|
70
|
+
* isMaterialDelegateEvidenceWarning scans with a negation-blind proximity
|
|
71
|
+
* match. Keep gap vocabulary (missing, omitted, unavailable, not selected, ...)
|
|
72
|
+
* out of these lines; tests/context-builder/delegate-prompt.test.ts runs every
|
|
73
|
+
* rendered line through that matcher.
|
|
74
|
+
*/
|
|
75
|
+
export declare function packetRequiredFocusRules(stage: "curator" | "finalizer", packet: unknown): string[];
|
|
76
|
+
export declare function renderDelegatePrompt(stage: "curator" | "finalizer", packet: unknown, options?: {
|
|
77
|
+
minScore?: number | undefined;
|
|
78
|
+
externalGapPolicy?: "fail" | "degrade" | undefined;
|
|
79
|
+
}): string;
|
|
80
|
+
declare function packetObligationTruncationWarning(fullObligations: ContextReviewObligationModel | undefined, packetPolicy: ContextBuilderDelegatePacketCoveragePolicy): ContextBuilderWarning | undefined;
|
|
81
|
+
export declare const packetObligationTruncationWarningForTest: typeof packetObligationTruncationWarning;
|
|
82
|
+
export {};
|