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
package/dist/server.js
CHANGED
|
@@ -2,17 +2,67 @@ 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 {
|
|
5
|
+
import { PROGRESS_REPORT_TOOL_NAMES, getProgressReportToolDefinitions, handleProgressReportToolCall, } from "./progress-report/tools.js";
|
|
6
|
+
import { handleToolError, CancellationError, ConfigError, InvalidParamsError } from "./errors.js";
|
|
6
7
|
import { logger } from "./logger.js";
|
|
7
|
-
import {
|
|
8
|
+
import { appendArtifactOnlyRootsToEnv } from "./allowed-roots.js";
|
|
8
9
|
import { extractProgressToken } from "./progress.js";
|
|
9
10
|
import { contextBuilderJsonSchema } from "./context-builder/schema.js";
|
|
10
11
|
import { handleContextBuilder } from "./context-builder/handler.js";
|
|
12
|
+
import { finalizerMinScoreExplicit } from "./context-builder/delegate-finalizer-effective.js";
|
|
13
|
+
import { handleRefineContextRun, refineContextRunJsonSchema, } from "./context-builder/refine-handler.js";
|
|
14
|
+
import { contextBuilderRunsDirFromEnv, getContextBuilderMaxConcurrent, getSharedContextBuilderSemaphore, } from "./context-builder/config.js";
|
|
15
|
+
import { createWorkflowContextBuilderRunner } from "./context-builder/workflow-runner.js";
|
|
16
|
+
import { CONTEXT_DELEGATE_PROMPT_VERSION, CONTEXT_DISCOVERY_ALGORITHM_VERSION, } from "./context-builder/versions.js";
|
|
11
17
|
import { AdapterRegistry } from "./registry.js";
|
|
18
|
+
import { deriveInvocationAudit, resolveInvocationOverrides } from "./safety.js";
|
|
19
|
+
import { CLINKX_PACKAGE_VERSION } from "./package-info.js";
|
|
20
|
+
import { appServerEnabled, elarisEnabled } from "./config.js";
|
|
12
21
|
import { LocalClinkBackend } from "./local-clink-backend.js";
|
|
13
|
-
import {
|
|
22
|
+
import { AGENT_TOOL_NAMES, getAgentToolDefinitions, handleAgentToolCall, } from "./codex/agent-tools.js";
|
|
23
|
+
import { ELARIS_TOOL_NAMES, getElarisToolDefinitions, handleElarisToolCall, } from "./elaris/index.js";
|
|
24
|
+
import { getWorkflowToolDefinitions, handleWorkflowToolCall, resolveWorkflowAsyncAdmissionCap, WORKFLOW_TOOL_NAMES, } from "../clinkx-workflows/dist/workflow-tools.js";
|
|
14
25
|
import { WorkflowCancellationError } from "../clinkx-workflows/dist/errors.js";
|
|
15
|
-
import { getChildConfigPath, getChildMaxResponseChars, getStateDir, getArtifactsDir, } from "../clinkx-workflows/dist/config.js";
|
|
26
|
+
import { getChildMaxConcurrent, getChildConfigPath, getChildMaxResponseChars, getMaxParallel, getWorkflowsAllowUnsafeAsyncCap, getWorkflowsMaxConcurrentAsync, getWorkflowsContextDefault, getWorkflowsContextDefaultCurator, getStateDir, getArtifactsDir, getRunsDir, hasExplicitWorkspaceRoot, invocationAuditV2PersistenceEnabled, resolveWorkspaceRoot, } from "../clinkx-workflows/dist/config.js";
|
|
27
|
+
import { reconcileStaleRunDirectories } from "../clinkx-workflows/dist/state.js";
|
|
28
|
+
import { reconcileStaleContextBuilderJournals } from "./context-builder/lifecycle-reconcile.js";
|
|
29
|
+
import { defaultFullDelegateProviders } from "../clinkx-workflows/dist/context-mode-resolver.js";
|
|
30
|
+
import { createWorkflowContextBuilderLifecycleRouter, } from "../clinkx-workflows/dist/context-builder-lifecycle-router.js";
|
|
31
|
+
import { createRosterLoader, resolveRosterLoaderOptionsFromEnv, } from "../clinkx-workflows/dist/rosters.js";
|
|
32
|
+
import { dirname, join } from "node:path";
|
|
33
|
+
import { fileURLToPath } from "node:url";
|
|
34
|
+
import { ACTIVITY_RETAIN_RESULT_ENV, createActivityJournal, } from "./activity-journal.js";
|
|
35
|
+
async function withTrackedHandler(activity, handler) {
|
|
36
|
+
const release = activity?.beginHandler();
|
|
37
|
+
try {
|
|
38
|
+
return await handler();
|
|
39
|
+
}
|
|
40
|
+
finally {
|
|
41
|
+
release?.();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function workflowAvailableCliCapabilities(registry, names) {
|
|
45
|
+
return names.map((name) => {
|
|
46
|
+
try {
|
|
47
|
+
const adapter = registry.resolveAdapter(name);
|
|
48
|
+
const effortTemplate = adapter.invocation_overrides?.effort;
|
|
49
|
+
return {
|
|
50
|
+
name,
|
|
51
|
+
supports_model: adapter.invocation_overrides?.model != null,
|
|
52
|
+
supports_effort: effortTemplate != null,
|
|
53
|
+
effort_allowed_values: effortTemplate != null ? [...effortTemplate.allowed_values] : [],
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
return {
|
|
58
|
+
name,
|
|
59
|
+
supports_model: false,
|
|
60
|
+
supports_effort: false,
|
|
61
|
+
effort_allowed_values: [],
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
16
66
|
/**
|
|
17
67
|
* Create and configure the ClinkX MCP server.
|
|
18
68
|
*
|
|
@@ -23,22 +73,56 @@ import { getChildConfigPath, getChildMaxResponseChars, getStateDir, getArtifacts
|
|
|
23
73
|
*
|
|
24
74
|
* Does NOT connect transport — caller is responsible for that.
|
|
25
75
|
*/
|
|
26
|
-
export function createServer() {
|
|
27
|
-
const server = new Server({ name: "clinkx", version:
|
|
76
|
+
export function createServer(options = {}) {
|
|
77
|
+
const server = new Server({ name: "clinkx", version: CLINKX_PACKAGE_VERSION }, {
|
|
28
78
|
capabilities: { tools: {} },
|
|
29
|
-
instructions: "ClinkX bridges requests to external CLI subagents (e.g.
|
|
79
|
+
instructions: "ClinkX bridges requests to external CLI subagents (e.g. agy, Codex, Claude, Grok) " +
|
|
30
80
|
"as subprocesses and returns their output. Use the clink tool to delegate tasks " +
|
|
31
81
|
"to any configured CLI. Multiple clink calls can run in parallel for independent tasks. " +
|
|
32
82
|
"Use context_builder to create persisted context bundles before delegation. " +
|
|
33
83
|
"Use run_workflow/resume_workflow/list_workflows for multi-stage workflow orchestration.",
|
|
34
84
|
});
|
|
85
|
+
const activity = options.activity;
|
|
86
|
+
const sharedStateDir = getStateDir();
|
|
87
|
+
const activitySessionLogRootDir = join(sharedStateDir, "session-logs");
|
|
88
|
+
const directActivityJournal = createActivityJournal({
|
|
89
|
+
rootDir: join(sharedStateDir, "activities"),
|
|
90
|
+
sessionLogRootDir: activitySessionLogRootDir,
|
|
91
|
+
retainResult: process.env[ACTIVITY_RETAIN_RESULT_ENV] === "true",
|
|
92
|
+
});
|
|
35
93
|
// Eagerly load adapter names + role names for tool description & schema enum (once, not per-request)
|
|
36
94
|
let cliSuffix = "";
|
|
37
95
|
let cliNames = [];
|
|
96
|
+
let appServerCliNames = [];
|
|
38
97
|
let roleNames = [];
|
|
98
|
+
// Hold the standard registry beyond the try so the workflow context runner can
|
|
99
|
+
// reuse it without a second (unguarded) AdapterRegistry.load() that would crash
|
|
100
|
+
// createServer on a malformed config. Stays undefined if the load failed.
|
|
101
|
+
let standardRegistry;
|
|
39
102
|
try {
|
|
40
|
-
|
|
41
|
-
|
|
103
|
+
standardRegistry = AdapterRegistry.load();
|
|
104
|
+
const registry = standardRegistry;
|
|
105
|
+
const allNames = registry.getAdapterNames();
|
|
106
|
+
appServerCliNames = allNames.filter((n) => {
|
|
107
|
+
try {
|
|
108
|
+
return registry.resolveAdapter(n).backend === "app_server";
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
// app_server adapters are never reachable through clink (the synchronous
|
|
115
|
+
// pipeline rejects them with -32602); they are driven only by the async
|
|
116
|
+
// clink_agent_run / clink_agent_manage tools. Always exclude them from the
|
|
117
|
+
// clink cli_name enum regardless of CLINKX_APP_SERVER_ENABLED.
|
|
118
|
+
cliNames = allNames.filter((n) => {
|
|
119
|
+
try {
|
|
120
|
+
return registry.resolveAdapter(n).backend !== "app_server";
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
return true;
|
|
124
|
+
}
|
|
125
|
+
});
|
|
42
126
|
roleNames = registry.getAllRoleNames();
|
|
43
127
|
if (cliNames.length > 0) {
|
|
44
128
|
cliSuffix = ` Available CLIs: ${cliNames.join(", ")}.`;
|
|
@@ -51,27 +135,199 @@ export function createServer() {
|
|
|
51
135
|
// backend path. The subprocess path (ClinkSession) injects these via
|
|
52
136
|
// deriveAllowedRoots() + buildChildEnv(), but LocalClinkBackend shares the
|
|
53
137
|
// parent's process.env — so we augment it once at startup.
|
|
54
|
-
const allowedRoots =
|
|
138
|
+
const allowedRoots = appendArtifactOnlyRootsToEnv([getStateDir(), getArtifactsDir()], { requireExisting: false });
|
|
55
139
|
logger.debug({ allowed_roots: allowedRoots }, "augmented allowed roots with workflow state/artifacts dirs");
|
|
140
|
+
// One-time startup reconcile of workflow runs frozen as running/pending with
|
|
141
|
+
// no live worker (fire-and-forget: bounded, idempotent, never blocks startup).
|
|
142
|
+
try {
|
|
143
|
+
void reconcileStaleRunDirectories(getRunsDir()).catch((err) => {
|
|
144
|
+
logger.warn({ err: err instanceof Error ? err.message : String(err) }, "startup stale workflow run reconcile failed");
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
catch (err) {
|
|
148
|
+
logger.warn({ err: err instanceof Error ? err.message : String(err) }, "startup stale workflow run reconcile could not be scheduled");
|
|
149
|
+
}
|
|
150
|
+
try {
|
|
151
|
+
void reconcileStaleContextBuilderJournals().catch((err) => {
|
|
152
|
+
logger.warn({ err: err instanceof Error ? err.message : String(err) }, "startup stale context run reconcile failed");
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
catch (err) {
|
|
156
|
+
logger.warn({ err: err instanceof Error ? err.message : String(err) }, "startup stale context run reconcile could not be scheduled");
|
|
157
|
+
}
|
|
56
158
|
// Workflow options — factory creates in-process backends using the registry metadata.
|
|
57
159
|
// When CLINKX_WORKFLOWS_CHILD_CONFIG_PATH is set, build a workflow-specific registry
|
|
58
160
|
// so the in-process path uses the same adapter config the workflow state fingerprints against.
|
|
59
161
|
const childConfigPath = getChildConfigPath();
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
162
|
+
let workflowRegistry;
|
|
163
|
+
if (childConfigPath != null) {
|
|
164
|
+
try {
|
|
165
|
+
workflowRegistry = AdapterRegistry.loadFromPath(childConfigPath);
|
|
166
|
+
}
|
|
167
|
+
catch (err) {
|
|
168
|
+
// Parity with the standard-config path: a malformed child config must FATAL
|
|
169
|
+
// with a friendly ConfigError naming the env var and path, not crash
|
|
170
|
+
// createServer with a raw SyntaxError. Preserve the original cause.
|
|
171
|
+
throw new ConfigError(`Failed to load CLINKX_WORKFLOWS_CHILD_CONFIG_PATH "${childConfigPath}": ` +
|
|
172
|
+
`${err instanceof Error ? err.message : String(err)}`);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
// Workflows run council seats through the synchronous pipeline, which rejects
|
|
176
|
+
// app_server adapters — exclude them from the chairman/members enums too.
|
|
177
|
+
const workflowCliNames = workflowRegistry != null
|
|
178
|
+
? workflowRegistry.getAdapterNames().filter((n) => {
|
|
179
|
+
try {
|
|
180
|
+
return workflowRegistry.resolveAdapter(n).backend !== "app_server";
|
|
181
|
+
}
|
|
182
|
+
catch {
|
|
183
|
+
return true;
|
|
184
|
+
}
|
|
185
|
+
})
|
|
186
|
+
: cliNames;
|
|
187
|
+
// Plan-review seats need roles.json (JSON contract). Filter the workflow CLI
|
|
188
|
+
// set without shrinking global availableCliNames used for members/chairman.
|
|
189
|
+
const planReviewSourceRegistry = workflowRegistry ?? standardRegistry;
|
|
190
|
+
const planReviewCliNames = workflowCliNames.filter((n) => {
|
|
191
|
+
if (planReviewSourceRegistry == null)
|
|
192
|
+
return false;
|
|
193
|
+
try {
|
|
194
|
+
return planReviewSourceRegistry.resolveAdapter(n).roles?.["json"] != null;
|
|
195
|
+
}
|
|
196
|
+
catch {
|
|
197
|
+
return false;
|
|
198
|
+
}
|
|
199
|
+
});
|
|
64
200
|
const workflowRoleNames = workflowRegistry?.getAllRoleNames() ?? roleNames;
|
|
65
201
|
const workflowMaxResponseChars = getChildMaxResponseChars();
|
|
202
|
+
const workflowContextPreflightEnabled = workflowsContextPreflightEnabledFromEnv();
|
|
203
|
+
const contextBuilderMaxConcurrent = getContextBuilderMaxConcurrent();
|
|
204
|
+
const rawAsyncCap = getWorkflowsMaxConcurrentAsync();
|
|
205
|
+
const allowUnsafeAsyncCap = getWorkflowsAllowUnsafeAsyncCap();
|
|
206
|
+
const effectiveAsyncCap = Math.min(rawAsyncCap, contextBuilderMaxConcurrent);
|
|
207
|
+
const injectedAsyncAdmissionCap = allowUnsafeAsyncCap ? rawAsyncCap : effectiveAsyncCap;
|
|
208
|
+
// Parse the context-default env vars ONLY when preflight is enabled. When
|
|
209
|
+
// disabled (the documented total-bypass / hard kill), a malformed
|
|
210
|
+
// CLINKX_WORKFLOWS_CONTEXT_DEFAULT or empty CLINKX_WORKFLOWS_CONTEXT_DEFAULT_CURATOR
|
|
211
|
+
// must NOT throw and block createServer — pass inert safe defaults instead.
|
|
212
|
+
const contextDefault = workflowContextPreflightEnabled ? getWorkflowsContextDefault() : "off";
|
|
213
|
+
const defaultCurator = workflowContextPreflightEnabled
|
|
214
|
+
? getWorkflowsContextDefaultCurator()
|
|
215
|
+
: "";
|
|
216
|
+
// The context runner needs an adapter registry to validate AND run the
|
|
217
|
+
// default-on context delegate (curator/finalizer) and to resolve
|
|
218
|
+
// cb_budget_adapter budget_defaults. Prefer the workflow-specific registry
|
|
219
|
+
// (child-config case), else fall back to the standard registry loaded above.
|
|
220
|
+
const contextRunnerRegistry = workflowRegistry ?? standardRegistry;
|
|
221
|
+
// Under preflight ENABLED the default-on delegate WILL run, so a usable
|
|
222
|
+
// registry is required to fatally validate it at startup. A null registry here
|
|
223
|
+
// means the load above failed; injecting an unvalidated runner would let a bad
|
|
224
|
+
// curator/finalizer surface only at runtime, so fail loud instead. Preflight
|
|
225
|
+
// DISABLED stays a total bypass: no registry requirement, no runner, no throw.
|
|
226
|
+
let workflowContextBuilderRunner;
|
|
227
|
+
let workflowContextBuilderLifecycleRouter;
|
|
228
|
+
if (workflowContextPreflightEnabled) {
|
|
229
|
+
if (contextRunnerRegistry == null) {
|
|
230
|
+
throw new ConfigError("Workflow context preflight is enabled but no adapter registry could be loaded; " +
|
|
231
|
+
"the default-on context delegate cannot be validated. Fix the adapter config or " +
|
|
232
|
+
"set CLINKX_WORKFLOWS_CONTEXT_PREFLIGHT_ENABLED=false to disable preflight.");
|
|
233
|
+
}
|
|
234
|
+
validateWorkflowDefaultDelegate(contextRunnerRegistry, defaultCurator);
|
|
235
|
+
workflowContextBuilderLifecycleRouter =
|
|
236
|
+
createWorkflowContextBuilderLifecycleRouter();
|
|
237
|
+
workflowContextBuilderRunner = createWorkflowContextBuilderRunner({
|
|
238
|
+
runsDir: contextBuilderRunsDirFromEnv(),
|
|
239
|
+
// Share the process-wide context_builder gate so workflow preflight,
|
|
240
|
+
// standalone context_builder, and refine_context_run honor a single
|
|
241
|
+
// CLINKX_CONTEXT_BUILDER_MAX_CONCURRENT permit pool.
|
|
242
|
+
semaphore: getSharedContextBuilderSemaphore(),
|
|
243
|
+
registry: contextRunnerRegistry,
|
|
244
|
+
lifecycleFactory: workflowContextBuilderLifecycleRouter.lifecycleFactory,
|
|
245
|
+
// Explicit cache-identity versions: discovery-algorithm/delegate-prompt
|
|
246
|
+
// behavior changes must produce distinct wfctx cache identities so old
|
|
247
|
+
// cached bundles never mask a fix (see src/context-builder/versions.ts).
|
|
248
|
+
discoveryAlgorithmVersion: CONTEXT_DISCOVERY_ALGORITHM_VERSION,
|
|
249
|
+
delegatePromptVersion: CONTEXT_DELEGATE_PROMPT_VERSION,
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
const overrideRegistry = workflowRegistry ?? standardRegistry;
|
|
253
|
+
const builtinRostersDir = join(dirname(fileURLToPath(import.meta.url)), "..", "conf", "rosters");
|
|
66
254
|
const workflowOptions = {
|
|
255
|
+
...(overrideRegistry == null
|
|
256
|
+
? {}
|
|
257
|
+
: {
|
|
258
|
+
validateInvocationOverrides: (cliName, knobs) => {
|
|
259
|
+
const adapter = overrideRegistry.resolveAdapter(cliName);
|
|
260
|
+
resolveInvocationOverrides(adapter, adapter.args, knobs);
|
|
261
|
+
},
|
|
262
|
+
...(invocationAuditV2PersistenceEnabled()
|
|
263
|
+
? {
|
|
264
|
+
deriveInvocationAudit: (cliName, role, knobs) => {
|
|
265
|
+
const adapter = overrideRegistry.resolveAdapter(cliName);
|
|
266
|
+
const roleConfig = adapter.roles[role];
|
|
267
|
+
const mergedArgs = roleConfig?.extra_args
|
|
268
|
+
? [...adapter.args, ...roleConfig.extra_args]
|
|
269
|
+
: adapter.args;
|
|
270
|
+
return deriveInvocationAudit(adapter, mergedArgs, knobs);
|
|
271
|
+
},
|
|
272
|
+
}
|
|
273
|
+
: {}),
|
|
274
|
+
}),
|
|
275
|
+
...(overrideRegistry == null
|
|
276
|
+
? {}
|
|
277
|
+
: {
|
|
278
|
+
adapterCapabilities: () => workflowAvailableCliCapabilities(overrideRegistry, workflowCliNames),
|
|
279
|
+
}),
|
|
280
|
+
// Built-in presets ship next to the built-in adapters (conf/rosters).
|
|
281
|
+
rosterLoader: createRosterLoader({
|
|
282
|
+
...resolveRosterLoaderOptionsFromEnv(),
|
|
283
|
+
builtinDir: builtinRostersDir,
|
|
284
|
+
}),
|
|
67
285
|
createBackend: () => new LocalClinkBackend(workflowCliNames, workflowRoleNames, {
|
|
68
|
-
registry:
|
|
286
|
+
registry: overrideRegistry,
|
|
69
287
|
defaultMaxResponseChars: workflowMaxResponseChars,
|
|
70
288
|
}),
|
|
71
|
-
...(workflowCliNames.length > 0
|
|
289
|
+
...(workflowCliNames.length > 0
|
|
290
|
+
? {
|
|
291
|
+
availableCliNames: workflowCliNames,
|
|
292
|
+
// Always pass when availableCliNames is set — even if empty — so an
|
|
293
|
+
// all-no-json inventory does not fall back to the unfiltered set.
|
|
294
|
+
planReviewAvailableCliNames: planReviewCliNames,
|
|
295
|
+
}
|
|
296
|
+
: {}),
|
|
297
|
+
asyncAdmissionCap: injectedAsyncAdmissionCap,
|
|
298
|
+
contextDefault,
|
|
299
|
+
defaultCurator,
|
|
300
|
+
...(workflowContextBuilderRunner == null
|
|
301
|
+
? {}
|
|
302
|
+
: {
|
|
303
|
+
contextBuilderRunner: workflowContextBuilderRunner,
|
|
304
|
+
contextBuilderLifecycleRouter: workflowContextBuilderLifecycleRouter,
|
|
305
|
+
}),
|
|
72
306
|
};
|
|
307
|
+
// The workflows workspace root governs plan_file containment and the workflow
|
|
308
|
+
// child cwd, but silently defaults to process.cwd() — which an MCP client
|
|
309
|
+
// chooses, not the operator. Warn here, in the ROOT server: this is the path
|
|
310
|
+
// the shipped binary actually takes (createWorkflowServer is the standalone
|
|
311
|
+
// factory and is never called from src/). config.ts cannot log this itself —
|
|
312
|
+
// logger.ts imports config.js, so the import would be circular.
|
|
313
|
+
if (!hasExplicitWorkspaceRoot()) {
|
|
314
|
+
logger.warn({
|
|
315
|
+
env_var: "CLINKX_WORKFLOWS_WORKSPACE_ROOT",
|
|
316
|
+
workspace_root: resolveWorkspaceRoot(),
|
|
317
|
+
cwd: process.cwd(),
|
|
318
|
+
}, "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.");
|
|
319
|
+
}
|
|
320
|
+
warnOnWorkflowAsyncConcurrencyConfig({
|
|
321
|
+
preflightEnabled: workflowContextPreflightEnabled,
|
|
322
|
+
rawAsyncCap,
|
|
323
|
+
effectiveAsyncCap,
|
|
324
|
+
allowUnsafeAsyncCap,
|
|
325
|
+
admittedAsyncCap: resolveWorkflowAsyncAdmissionCap(workflowOptions),
|
|
326
|
+
queueDepth: Math.min(getMaxParallel(), getChildMaxConcurrent()),
|
|
327
|
+
childMaxConcurrent: getChildMaxConcurrent(),
|
|
328
|
+
});
|
|
73
329
|
// tools/list — advertise clink + context_builder + workflow tools
|
|
74
|
-
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
330
|
+
server.setRequestHandler(ListToolsRequestSchema, () => withTrackedHandler(activity, async () => {
|
|
75
331
|
const schema = clinkJsonSchema();
|
|
76
332
|
// Inject enum arrays into cli_name and role properties (Fix 1)
|
|
77
333
|
const props = schema["properties"];
|
|
@@ -79,7 +335,8 @@ export function createServer() {
|
|
|
79
335
|
if (cliNames.length > 0 && props["cli_name"] != null) {
|
|
80
336
|
props["cli_name"]["enum"] = cliNames;
|
|
81
337
|
props["cli_name"]["description"] =
|
|
82
|
-
`Which CLI to use
|
|
338
|
+
`Which CLI to use — pick the one whose backend fits the task.` +
|
|
339
|
+
` Available: ${cliNames.join(", ")}.`;
|
|
83
340
|
}
|
|
84
341
|
if (roleNames.length > 0 && props["role"] != null) {
|
|
85
342
|
const roleEnum = [...new Set(["default", ...roleNames.filter(r => r !== "none")])].sort();
|
|
@@ -88,10 +345,11 @@ export function createServer() {
|
|
|
88
345
|
`Role for the subagent — use "default" unless a specific role is needed. Available: ${roleEnum.join(", ")}.`;
|
|
89
346
|
}
|
|
90
347
|
}
|
|
91
|
-
// Build unified tool list: clink + workflow tools
|
|
348
|
+
// Build unified tool list: clink + context_builder + async agent + Elaris + workflow tools
|
|
92
349
|
const clinkTool = {
|
|
93
350
|
name: "clink",
|
|
94
351
|
description: "Execute a configured local CLI as a subagent and return the model's final output." +
|
|
352
|
+
" clink is single-shot and stateless — best for self-contained, isolated tasks." +
|
|
95
353
|
" Multiple clink calls can run in parallel for independent tasks." +
|
|
96
354
|
" Pass file paths via absolute_file_paths rather than inlining content." +
|
|
97
355
|
cliSuffix,
|
|
@@ -117,14 +375,73 @@ export function createServer() {
|
|
|
117
375
|
openWorldHint: true,
|
|
118
376
|
},
|
|
119
377
|
};
|
|
378
|
+
const refineContextRunTool = {
|
|
379
|
+
name: "refine_context_run",
|
|
380
|
+
description: "Create a new immutable context_builder run by applying add/remove/slice/promote/demote ops to a prior run.",
|
|
381
|
+
inputSchema: refineContextRunJsonSchema(),
|
|
382
|
+
annotations: {
|
|
383
|
+
readOnlyHint: false,
|
|
384
|
+
destructiveHint: false,
|
|
385
|
+
idempotentHint: false,
|
|
386
|
+
openWorldHint: true,
|
|
387
|
+
},
|
|
388
|
+
};
|
|
389
|
+
const agentTools = appServerEnabled()
|
|
390
|
+
? getAgentToolDefinitions(appServerCliNames)
|
|
391
|
+
: [];
|
|
392
|
+
const elarisTools = elarisEnabled()
|
|
393
|
+
? getElarisToolDefinitions()
|
|
394
|
+
: [];
|
|
120
395
|
return {
|
|
121
|
-
tools: [
|
|
396
|
+
tools: [
|
|
397
|
+
clinkTool,
|
|
398
|
+
contextBuilderTool,
|
|
399
|
+
refineContextRunTool,
|
|
400
|
+
...getProgressReportToolDefinitions(),
|
|
401
|
+
...agentTools,
|
|
402
|
+
...elarisTools,
|
|
403
|
+
...workflowTools,
|
|
404
|
+
],
|
|
122
405
|
};
|
|
123
|
-
});
|
|
406
|
+
}));
|
|
124
407
|
// tools/call — unified dispatch for clink + workflow tools
|
|
125
|
-
server.setRequestHandler(CallToolRequestSchema,
|
|
408
|
+
server.setRequestHandler(CallToolRequestSchema, (request, extra) => withTrackedHandler(activity, async () => {
|
|
126
409
|
const { name, arguments: args } = request.params;
|
|
127
410
|
const progressToken = extractProgressToken(request.params);
|
|
411
|
+
// Dispatch async Codex app-server tools. The handler also enforces the
|
|
412
|
+
// CLINKX_APP_SERVER_ENABLED master switch so explicit disabled calls fail
|
|
413
|
+
// with -32602 even though the tools are absent from tools/list.
|
|
414
|
+
if (AGENT_TOOL_NAMES.has(name)) {
|
|
415
|
+
try {
|
|
416
|
+
return await handleAgentToolCall(name, args ?? {}, {
|
|
417
|
+
...(extra.signal != null ? { signal: extra.signal } : {}),
|
|
418
|
+
activityJournal: directActivityJournal,
|
|
419
|
+
sessionLogRootDir: activitySessionLogRootDir,
|
|
420
|
+
});
|
|
421
|
+
}
|
|
422
|
+
catch (err) {
|
|
423
|
+
if (err instanceof CancellationError) {
|
|
424
|
+
throw err;
|
|
425
|
+
}
|
|
426
|
+
return handleToolError(err);
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
// Dispatch Elaris remote agent-session tools. Keep explicit disabled calls
|
|
430
|
+
// as -32602 even though the tools are absent from tools/list.
|
|
431
|
+
if (ELARIS_TOOL_NAMES.has(name)) {
|
|
432
|
+
try {
|
|
433
|
+
if (!elarisEnabled()) {
|
|
434
|
+
throw new InvalidParamsError("Elaris remote agent-session tools are disabled. Set CLINKX_ELARIS_ENABLED=true to enable them.");
|
|
435
|
+
}
|
|
436
|
+
return await handleElarisToolCall(name, args ?? {}, extra.signal);
|
|
437
|
+
}
|
|
438
|
+
catch (err) {
|
|
439
|
+
if (err instanceof CancellationError) {
|
|
440
|
+
throw err;
|
|
441
|
+
}
|
|
442
|
+
return handleToolError(err);
|
|
443
|
+
}
|
|
444
|
+
}
|
|
128
445
|
// Dispatch workflow tools
|
|
129
446
|
if (WORKFLOW_TOOL_NAMES.has(name)) {
|
|
130
447
|
try {
|
|
@@ -171,6 +488,7 @@ export function createServer() {
|
|
|
171
488
|
...(progressToken != null
|
|
172
489
|
? { progress: { server, token: progressToken } }
|
|
173
490
|
: {}),
|
|
491
|
+
activityJournal: directActivityJournal,
|
|
174
492
|
});
|
|
175
493
|
}
|
|
176
494
|
catch (err) {
|
|
@@ -184,10 +502,28 @@ export function createServer() {
|
|
|
184
502
|
return handleToolError(err);
|
|
185
503
|
}
|
|
186
504
|
}
|
|
505
|
+
// Dispatch progress-report tools. Advertised unconditionally: gating them on
|
|
506
|
+
// an env var would rebuild the exact nondeterminism this surface replaces.
|
|
507
|
+
if (PROGRESS_REPORT_TOOL_NAMES.has(name)) {
|
|
508
|
+
try {
|
|
509
|
+
return await handleProgressReportToolCall(name, args ?? {});
|
|
510
|
+
}
|
|
511
|
+
catch (err) {
|
|
512
|
+
// Uniform with every other dispatch branch: a cancelled request gets NO
|
|
513
|
+
// response, because returning isError:true would violate the MCP spec.
|
|
514
|
+
if (err instanceof CancellationError) {
|
|
515
|
+
throw err;
|
|
516
|
+
}
|
|
517
|
+
return handleToolError(err);
|
|
518
|
+
}
|
|
519
|
+
}
|
|
187
520
|
// Dispatch context_builder tool
|
|
188
521
|
if (name === "context_builder") {
|
|
189
522
|
try {
|
|
523
|
+
// Standalone context_builder stays anchor-strict: never pass the
|
|
524
|
+
// workflow-only allowRootWideDiscovery handler option here.
|
|
190
525
|
return await handleContextBuilder(args ?? {}, {
|
|
526
|
+
standaloneMinScoreExplicit: finalizerMinScoreExplicit(args),
|
|
191
527
|
...(extra.signal != null ? { signal: extra.signal } : {}),
|
|
192
528
|
...(progressToken != null
|
|
193
529
|
? { progress: { server, token: progressToken } }
|
|
@@ -202,13 +538,105 @@ export function createServer() {
|
|
|
202
538
|
return handleToolError(err);
|
|
203
539
|
}
|
|
204
540
|
}
|
|
541
|
+
// Dispatch refine_context_run tool
|
|
542
|
+
if (name === "refine_context_run") {
|
|
543
|
+
try {
|
|
544
|
+
return await handleRefineContextRun(args ?? {}, {
|
|
545
|
+
...(extra.signal != null ? { signal: extra.signal } : {}),
|
|
546
|
+
});
|
|
547
|
+
}
|
|
548
|
+
catch (err) {
|
|
549
|
+
if (err instanceof CancellationError) {
|
|
550
|
+
throw err;
|
|
551
|
+
}
|
|
552
|
+
return handleToolError(err);
|
|
553
|
+
}
|
|
554
|
+
}
|
|
205
555
|
// Unknown tool
|
|
206
556
|
logger.warn({ tool: name }, "unknown tool requested");
|
|
207
557
|
return {
|
|
208
558
|
content: [{ type: "text", text: `Unknown tool: ${name}` }],
|
|
209
559
|
isError: true,
|
|
210
560
|
};
|
|
211
|
-
});
|
|
561
|
+
}));
|
|
212
562
|
return server;
|
|
213
563
|
}
|
|
564
|
+
export function workflowsContextPreflightEnabledFromEnv() {
|
|
565
|
+
const raw = process.env["CLINKX_WORKFLOWS_CONTEXT_PREFLIGHT_ENABLED"];
|
|
566
|
+
if (raw == null || raw.trim() === "") {
|
|
567
|
+
return true;
|
|
568
|
+
}
|
|
569
|
+
return raw.trim().toLowerCase() !== "false";
|
|
570
|
+
}
|
|
571
|
+
function warnOnWorkflowAsyncConcurrencyConfig(input) {
|
|
572
|
+
const common = {
|
|
573
|
+
raw_async_cap: input.rawAsyncCap,
|
|
574
|
+
effective_async_cap: input.effectiveAsyncCap,
|
|
575
|
+
admitted_async_cap: input.admittedAsyncCap,
|
|
576
|
+
allow_unsafe_async_cap: input.allowUnsafeAsyncCap,
|
|
577
|
+
queue_depth: input.queueDepth,
|
|
578
|
+
child_max_concurrent: input.childMaxConcurrent,
|
|
579
|
+
};
|
|
580
|
+
if (input.preflightEnabled &&
|
|
581
|
+
input.rawAsyncCap > input.effectiveAsyncCap &&
|
|
582
|
+
!input.allowUnsafeAsyncCap) {
|
|
583
|
+
logger.warn({
|
|
584
|
+
risk: "CB-pool starvation",
|
|
585
|
+
raw_async_cap: input.rawAsyncCap,
|
|
586
|
+
effective_async_cap: input.effectiveAsyncCap,
|
|
587
|
+
admitted_async_cap: input.admittedAsyncCap,
|
|
588
|
+
allow_unsafe_async_cap: input.allowUnsafeAsyncCap,
|
|
589
|
+
}, "workflow_async_cap_auto_capped");
|
|
590
|
+
}
|
|
591
|
+
if (input.preflightEnabled &&
|
|
592
|
+
input.rawAsyncCap > input.effectiveAsyncCap &&
|
|
593
|
+
input.allowUnsafeAsyncCap) {
|
|
594
|
+
logger.warn({
|
|
595
|
+
risk: "CB-pool starvation",
|
|
596
|
+
raw_async_cap: input.rawAsyncCap,
|
|
597
|
+
effective_async_cap: input.effectiveAsyncCap,
|
|
598
|
+
admitted_async_cap: input.admittedAsyncCap,
|
|
599
|
+
allow_unsafe_async_cap: input.allowUnsafeAsyncCap,
|
|
600
|
+
}, "workflow_async_cap_unsafe_allowed");
|
|
601
|
+
}
|
|
602
|
+
const delegatePreflightSeats = (input.admittedAsyncCap - 1) * input.queueDepth + 1;
|
|
603
|
+
if (input.childMaxConcurrent < delegatePreflightSeats) {
|
|
604
|
+
logger.warn({
|
|
605
|
+
...common,
|
|
606
|
+
risk: "delegate-preflight contention",
|
|
607
|
+
required_child_max_concurrent: delegatePreflightSeats,
|
|
608
|
+
}, "workflow_async_delegate_preflight_contention");
|
|
609
|
+
}
|
|
610
|
+
const stageSeatFanoutSeats = input.admittedAsyncCap * input.queueDepth;
|
|
611
|
+
if (input.childMaxConcurrent < stageSeatFanoutSeats) {
|
|
612
|
+
logger.warn({
|
|
613
|
+
...common,
|
|
614
|
+
risk: "stage-seat fanout",
|
|
615
|
+
required_child_max_concurrent: stageSeatFanoutSeats,
|
|
616
|
+
}, "workflow_async_stage_seat_fanout");
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
function validateWorkflowDefaultDelegate(registry, defaultCurator) {
|
|
620
|
+
// Single source of truth: validate EVERY enabled provider the injected default
|
|
621
|
+
// full delegate actually uses (curator AND finalizer), so a config can't pass
|
|
622
|
+
// startup with a valid curator while the hardcoded finalizer ("codex"/json)
|
|
623
|
+
// is missing, lacks the role, or is app_server-backed — which would otherwise
|
|
624
|
+
// fail or silently fall back at runtime.
|
|
625
|
+
for (const provider of defaultFullDelegateProviders(defaultCurator)) {
|
|
626
|
+
let adapter;
|
|
627
|
+
try {
|
|
628
|
+
adapter = registry.resolveAdapter(provider.cli_name);
|
|
629
|
+
}
|
|
630
|
+
catch {
|
|
631
|
+
throw new ConfigError(`Workflow context default ${provider.label} "${provider.cli_name}" is not configured. ` +
|
|
632
|
+
`Available adapters: ${registry.getAdapterNames().join(", ") || "(none)"}`);
|
|
633
|
+
}
|
|
634
|
+
if (adapter.roles[provider.role] == null) {
|
|
635
|
+
throw new ConfigError(`Workflow context default ${provider.label} "${provider.cli_name}" must expose role "${provider.role}".`);
|
|
636
|
+
}
|
|
637
|
+
if (adapter.backend === "app_server") {
|
|
638
|
+
throw new ConfigError(`Workflow context default ${provider.label} "${provider.cli_name}" must use backend "subprocess"; app_server is not valid for workflow context delegation.`);
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
}
|
|
214
642
|
//# 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":"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"}
|
|
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,EACL,0BAA0B,EAC1B,gCAAgC,EAChC,4BAA4B,GAC7B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAClG,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAC;AAC9F,OAAO,EACL,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,EAC9B,gCAAgC,GACjC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EACL,+BAA+B,EAC/B,mCAAmC,GACpC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,gCAAgC,EAChC,mBAAmB,GACpB,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,EACd,+BAA+B,EAC/B,8BAA8B,EAC9B,0BAA0B,EAC1B,iCAAiC,EACjC,WAAW,EACX,eAAe,EACf,UAAU,EACV,wBAAwB,EACxB,mCAAmC,EACnC,oBAAoB,GACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,oCAAoC,EAAE,MAAM,0CAA0C,CAAC;AAChG,OAAO,EAAE,4BAA4B,EAAE,MAAM,mDAAmD,CAAC;AACjG,OAAO,EACL,2CAA2C,GAE5C,MAAM,8DAA8D,CAAC;AAEtE,OAAO,EACL,kBAAkB,EAClB,iCAAiC,GAClC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAQ/B,KAAK,UAAU,kBAAkB,CAC/B,QAAmC,EACnC,OAAyB;IAEzB,MAAM,OAAO,GAAG,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzC,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,EAAE,CAAC;IACzB,CAAC;YAAS,CAAC;QACT,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,gCAAgC,CACvC,QAAyB,EACzB,KAAwB;IAOxB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,cAAc,GAAG,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC;YAC5D,OAAO;gBACL,IAAI;gBACJ,cAAc,EAAE,OAAO,CAAC,oBAAoB,EAAE,KAAK,IAAI,IAAI;gBAC3D,eAAe,EAAE,cAAc,IAAI,IAAI;gBACvC,qBAAqB,EACnB,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;aACnE,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;gBACL,IAAI;gBACJ,cAAc,EAAE,KAAK;gBACrB,eAAe,EAAE,KAAK;gBACtB,qBAAqB,EAAE,EAAE;aAC1B,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AAEH,MAAM,UAAU,YAAY,CAAC,UAA+B,EAAE;IAC5D,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,sBAAsB,EAAE,EACnD;QACE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QAC3B,YAAY,EACV,oFAAoF;YACpF,iFAAiF;YACjF,yFAAyF;YACzF,6EAA6E;YAC7E,yFAAyF;KAC5F,CACF,CAAC;IACF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,MAAM,cAAc,GAAG,WAAW,EAAE,CAAC;IACrC,MAAM,yBAAyB,GAAG,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IACvE,MAAM,qBAAqB,GAAG,qBAAqB,CAAC;QAClD,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC;QAC3C,iBAAiB,EAAE,yBAAyB;QAC5C,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,KAAK,MAAM;KACjE,CAAC,CAAC;IAEH,qGAAqG;IACrG,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,QAAQ,GAAa,EAAE,CAAC;IAC5B,IAAI,iBAAiB,GAAa,EAAE,CAAC;IACrC,IAAI,SAAS,GAAa,EAAE,CAAC;IAC7B,+EAA+E;IAC/E,gFAAgF;IAChF,0EAA0E;IAC1E,IAAI,gBAA6C,CAAC;IAClD,IAAI,CAAC;QACH,gBAAgB,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,gBAAgB,CAAC;QAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC5C,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACxC,IAAI,CAAC;gBACH,OAAO,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,YAAY,CAAC;YAC7D,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;QACH,yEAAyE;QACzE,wEAAwE;QACxE,2EAA2E;QAC3E,+DAA+D;QAC/D,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/B,IAAI,CAAC;gBACH,OAAO,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,YAAY,CAAC;YAC7D,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QACH,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,YAAY,GAAG,4BAA4B,CAC/C,CAAC,WAAW,EAAE,EAAE,eAAe,EAAE,CAAC,EAClC,EAAE,eAAe,EAAE,KAAK,EAAE,CAC3B,CAAC;IACF,MAAM,CAAC,KAAK,CACV,EAAE,aAAa,EAAE,YAAY,EAAE,EAC/B,4DAA4D,CAC7D,CAAC;IAEF,6EAA6E;IAC7E,+EAA+E;IAC/E,IAAI,CAAC;QACH,KAAK,4BAA4B,CAAC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACrE,MAAM,CAAC,IAAI,CACT,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACzD,6CAA6C,CAC9C,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CACT,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACzD,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,KAAK,oCAAoC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACjE,MAAM,CAAC,IAAI,CACT,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACzD,4CAA4C,CAC7C,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CACT,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACzD,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IAED,sFAAsF;IACtF,qFAAqF;IACrF,+FAA+F;IAC/F,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;IAC7C,IAAI,gBAA6C,CAAC;IAClD,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,gBAAgB,GAAG,eAAe,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,4EAA4E;YAC5E,qEAAqE;YACrE,oEAAoE;YACpE,MAAM,IAAI,WAAW,CACnB,sDAAsD,eAAe,KAAK;gBACxE,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACxD,CAAC;QACJ,CAAC;IACH,CAAC;IACD,8EAA8E;IAC9E,0EAA0E;IAC1E,MAAM,gBAAgB,GAAG,gBAAgB,IAAI,IAAI;QAC/C,CAAC,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9C,IAAI,CAAC;gBACH,OAAO,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,YAAY,CAAC;YACrE,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QACJ,CAAC,CAAC,QAAQ,CAAC;IACb,6EAA6E;IAC7E,4EAA4E;IAC5E,MAAM,wBAAwB,GAAG,gBAAgB,IAAI,gBAAgB,CAAC;IACtE,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACvD,IAAI,wBAAwB,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QACnD,IAAI,CAAC;YACH,OAAO,wBAAwB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;QAC5E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG,gBAAgB,EAAE,eAAe,EAAE,IAAI,SAAS,CAAC;IAC3E,MAAM,wBAAwB,GAAG,wBAAwB,EAAE,CAAC;IAC5D,MAAM,+BAA+B,GACnC,uCAAuC,EAAE,CAAC;IAC5C,MAAM,2BAA2B,GAAG,8BAA8B,EAAE,CAAC;IACrE,MAAM,WAAW,GAAG,8BAA8B,EAAE,CAAC;IACrD,MAAM,mBAAmB,GAAG,+BAA+B,EAAE,CAAC;IAC9D,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;IAC7E,MAAM,yBAAyB,GAC7B,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC;IACxD,0EAA0E;IAC1E,kEAAkE;IAClE,qFAAqF;IACrF,4EAA4E;IAC5E,MAAM,cAAc,GAClB,+BAA+B,CAAC,CAAC,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACzE,MAAM,cAAc,GAAG,+BAA+B;QACpD,CAAC,CAAC,iCAAiC,EAAE;QACrC,CAAC,CAAC,EAAE,CAAC;IACP,uEAAuE;IACvE,iEAAiE;IACjE,2EAA2E;IAC3E,6EAA6E;IAC7E,MAAM,qBAAqB,GAAG,gBAAgB,IAAI,gBAAgB,CAAC;IACnE,wEAAwE;IACxE,+EAA+E;IAC/E,+EAA+E;IAC/E,6EAA6E;IAC7E,+EAA+E;IAC/E,IAAI,4BAES,CAAC;IACd,IAAI,qCAES,CAAC;IACd,IAAI,+BAA+B,EAAE,CAAC;QACpC,IAAI,qBAAqB,IAAI,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,WAAW,CACnB,iFAAiF;gBAC/E,iFAAiF;gBACjF,4EAA4E,CAC/E,CAAC;QACJ,CAAC;QACD,+BAA+B,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC;QACvE,qCAAqC;YACnC,2CAA2C,EAAE,CAAC;QAChD,4BAA4B,GAAG,kCAAkC,CAAC;YAChE,OAAO,EAAE,4BAA4B,EAAE;YACvC,qEAAqE;YACrE,oEAAoE;YACpE,qDAAqD;YACrD,SAAS,EAAE,gCAAgC,EAAE;YAC7C,QAAQ,EAAE,qBAAqB;YAC/B,gBAAgB,EAAE,qCAAqC,CAAC,gBAAgB;YACxE,wEAAwE;YACxE,uEAAuE;YACvE,yEAAyE;YACzE,yBAAyB,EAAE,mCAAmC;YAC9D,qBAAqB,EAAE,+BAA+B;SACvD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,gBAAgB,GAAG,gBAAgB,IAAI,gBAAgB,CAAC;IAC9D,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACjG,MAAM,eAAe,GAAyB;QAC5C,GAAG,CAAC,gBAAgB,IAAI,IAAI;YAC1B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,2BAA2B,EAAE,CAC3B,OAAe,EACf,KAA0C,EAC1C,EAAE;oBACF,MAAM,OAAO,GAAG,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;oBACzD,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC3D,CAAC;gBACD,GAAG,CAAC,mCAAmC,EAAE;oBACvC,CAAC,CAAC;wBACE,qBAAqB,EAAE,CACrB,OAAe,EACf,IAAY,EACZ,KAA0C,EAC1C,EAAE;4BACF,MAAM,OAAO,GAAG,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;4BACzD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BACvC,MAAM,UAAU,GAAG,UAAU,EAAE,UAAU;gCACvC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,UAAU,CAAC;gCAC7C,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;4BACjB,OAAO,qBAAqB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;wBAC3D,CAAC;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;QACN,GAAG,CAAC,gBAAgB,IAAI,IAAI;YAC1B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,mBAAmB,EAAE,GAAG,EAAE,CACxB,gCAAgC,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;aACvE,CAAC;QACN,sEAAsE;QACtE,YAAY,EAAE,kBAAkB,CAAC;YAC/B,GAAG,iCAAiC,EAAE;YACtC,UAAU,EAAE,iBAAiB;SAC9B,CAAC;QACF,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;YAC7B,CAAC,CAAC;gBACE,iBAAiB,EAAE,gBAAgB;gBACnC,oEAAoE;gBACpE,kEAAkE;gBAClE,2BAA2B,EAAE,kBAAkB;aAChD;YACH,CAAC,CAAC,EAAE,CAAC;QACP,iBAAiB,EAAE,yBAAyB;QAC5C,cAAc;QACd,cAAc;QACd,GAAG,CAAC,4BAA4B,IAAI,IAAI;YACtC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,oBAAoB,EAAE,4BAA4B;gBAClD,6BAA6B,EAAE,qCAAqC;aACrE,CAAC;KACP,CAAC;IACF,8EAA8E;IAC9E,0EAA0E;IAC1E,6EAA6E;IAC7E,4EAA4E;IAC5E,6EAA6E;IAC7E,gEAAgE;IAChE,IAAI,CAAC,wBAAwB,EAAE,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CACT;YACE,OAAO,EAAE,iCAAiC;YAC1C,cAAc,EAAE,oBAAoB,EAAE;YACtC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;SACnB,EACD,oTAAoT,CACrT,CAAC;IACJ,CAAC;IAED,oCAAoC,CAAC;QACnC,gBAAgB,EAAE,+BAA+B;QACjD,WAAW;QACX,iBAAiB;QACjB,mBAAmB;QACnB,gBAAgB,EAAE,gCAAgC,CAAC,eAAe,CAAC;QACnE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,qBAAqB,EAAE,CAAC;QAC/D,kBAAkB,EAAE,qBAAqB,EAAE;KAC5C,CAAC,CAAC;IAEH,kEAAkE;IAClE,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,GAAG,EAAE,CACpD,kBAAkB,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QACxC,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,8DAA8D;wBAC9D,eAAe,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YAC1C,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,2FAA2F;QAC3F,MAAM,SAAS,GAAG;YAChB,IAAI,EAAE,OAAO;YACb,WAAW,EACT,mFAAmF;gBACnF,gFAAgF;gBAChF,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;QAC9E,MAAM,kBAAkB,GAAG;YACzB,IAAI,EAAE,iBAAiB;YACvB,WAAW,EACT,0EAA0E;gBAC1E,kEAAkE;gBAClE,+FAA+F;YACjG,WAAW,EAAE,wBAAwB,EAAE;YACvC,WAAW,EAAE;gBACX,YAAY,EAAE,KAAK;gBACnB,eAAe,EAAE,KAAK;gBACtB,cAAc,EAAE,KAAK;gBACrB,aAAa,EAAE,IAAI;aACpB;SACF,CAAC;QACF,MAAM,oBAAoB,GAAG;YAC3B,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EACT,4GAA4G;YAC9G,WAAW,EAAE,0BAA0B,EAAE;YACzC,WAAW,EAAE;gBACX,YAAY,EAAE,KAAK;gBACnB,eAAe,EAAE,KAAK;gBACtB,cAAc,EAAE,KAAK;gBACrB,aAAa,EAAE,IAAI;aACpB;SACF,CAAC;QACF,MAAM,UAAU,GAAG,gBAAgB,EAAE;YACnC,CAAC,CAAC,uBAAuB,CAAC,iBAAiB,CAAC;YAC5C,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,WAAW,GAAG,aAAa,EAAE;YACjC,CAAC,CAAC,wBAAwB,EAAE;YAC5B,CAAC,CAAC,EAAE,CAAC;QAEP,OAAO;YACL,KAAK,EAAE;gBACL,SAAS;gBACT,kBAAkB;gBAClB,oBAAoB;gBACpB,GAAG,gCAAgC,EAAE;gBACrC,GAAG,UAAU;gBACb,GAAG,WAAW;gBACd,GAAG,aAAa;aACjB;SACF,CAAC;IACF,CAAC,CAAC,CACH,CAAC;IAEF,2DAA2D;IAC3D,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CACjE,kBAAkB,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QACxC,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,uEAAuE;QACvE,0EAA0E;QAC1E,gEAAgE;QAChE,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,OAAO,MAAM,mBAAmB,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE;oBACjD,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzD,eAAe,EAAE,qBAAqB;oBACtC,iBAAiB,EAAE,yBAAyB;iBAC7C,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;oBACrC,MAAM,GAAG,CAAC;gBACZ,CAAC;gBACD,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,8DAA8D;QAC9D,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;oBACrB,MAAM,IAAI,kBAAkB,CAC1B,gGAAgG,CACjG,CAAC;gBACJ,CAAC;gBACD,OAAO,MAAM,oBAAoB,CAC/B,IAAI,EACJ,IAAI,IAAI,EAAE,EACV,KAAK,CAAC,MAAM,CACb,CAAC;YACJ,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;oBACrC,MAAM,GAAG,CAAC;gBACZ,CAAC;gBACD,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,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;oBACP,eAAe,EAAE,qBAAqB;iBACvC,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,6EAA6E;QAC7E,2EAA2E;QAC3E,IAAI,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,OAAO,MAAM,4BAA4B,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;YAC9D,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,wEAAwE;gBACxE,uEAAuE;gBACvE,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;oBACrC,MAAM,GAAG,CAAC;gBACZ,CAAC;gBACD,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,iEAAiE;gBACjE,4DAA4D;gBAC5D,OAAO,MAAM,oBAAoB,CAAC,IAAI,IAAI,EAAE,EAAE;oBAC5C,0BAA0B,EAAE,yBAAyB,CAAC,IAAI,CAAC;oBAC3D,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,MAAM,GAAG,CAAC;gBACZ,CAAC;gBACD,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,OAAO,MAAM,sBAAsB,CAAC,IAAI,IAAI,EAAE,EAAE;oBAC9C,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC1D,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;oBACrC,MAAM,GAAG,CAAC;gBACZ,CAAC;gBACD,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;IACF,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,uCAAuC;IACrD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IACtE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC;AAC9C,CAAC;AAED,SAAS,oCAAoC,CAAC,KAQ7C;IACC,MAAM,MAAM,GAAG;QACb,aAAa,EAAE,KAAK,CAAC,WAAW;QAChC,mBAAmB,EAAE,KAAK,CAAC,iBAAiB;QAC5C,kBAAkB,EAAE,KAAK,CAAC,gBAAgB;QAC1C,sBAAsB,EAAE,KAAK,CAAC,mBAAmB;QACjD,WAAW,EAAE,KAAK,CAAC,UAAU;QAC7B,oBAAoB,EAAE,KAAK,CAAC,kBAAkB;KAC/C,CAAC;IAEF,IACE,KAAK,CAAC,gBAAgB;QACtB,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,iBAAiB;QAC3C,CAAC,KAAK,CAAC,mBAAmB,EAC1B,CAAC;QACD,MAAM,CAAC,IAAI,CACT;YACE,IAAI,EAAE,oBAAoB;YAC1B,aAAa,EAAE,KAAK,CAAC,WAAW;YAChC,mBAAmB,EAAE,KAAK,CAAC,iBAAiB;YAC5C,kBAAkB,EAAE,KAAK,CAAC,gBAAgB;YAC1C,sBAAsB,EAAE,KAAK,CAAC,mBAAmB;SAClD,EACD,gCAAgC,CACjC,CAAC;IACJ,CAAC;IACD,IACE,KAAK,CAAC,gBAAgB;QACtB,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,iBAAiB;QAC3C,KAAK,CAAC,mBAAmB,EACzB,CAAC;QACD,MAAM,CAAC,IAAI,CACT;YACE,IAAI,EAAE,oBAAoB;YAC1B,aAAa,EAAE,KAAK,CAAC,WAAW;YAChC,mBAAmB,EAAE,KAAK,CAAC,iBAAiB;YAC5C,kBAAkB,EAAE,KAAK,CAAC,gBAAgB;YAC1C,sBAAsB,EAAE,KAAK,CAAC,mBAAmB;SAClD,EACD,mCAAmC,CACpC,CAAC;IACJ,CAAC;IAED,MAAM,sBAAsB,GAC1B,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;IACtD,IAAI,KAAK,CAAC,kBAAkB,GAAG,sBAAsB,EAAE,CAAC;QACtD,MAAM,CAAC,IAAI,CACT;YACE,GAAG,MAAM;YACT,IAAI,EAAE,+BAA+B;YACrC,6BAA6B,EAAE,sBAAsB;SACtD,EACD,8CAA8C,CAC/C,CAAC;IACJ,CAAC;IAED,MAAM,oBAAoB,GAAG,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAAC;IACvE,IAAI,KAAK,CAAC,kBAAkB,GAAG,oBAAoB,EAAE,CAAC;QACpD,MAAM,CAAC,IAAI,CACT;YACE,GAAG,MAAM;YACT,IAAI,EAAE,mBAAmB;YACzB,6BAA6B,EAAE,oBAAoB;SACpD,EACD,kCAAkC,CACnC,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,+BAA+B,CACtC,QAAyB,EACzB,cAAsB;IAEtB,+EAA+E;IAC/E,8EAA8E;IAC9E,4EAA4E;IAC5E,8EAA8E;IAC9E,yCAAyC;IACzC,KAAK,MAAM,QAAQ,IAAI,4BAA4B,CAAC,cAAc,CAAC,EAAE,CAAC;QACpE,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,WAAW,CACnB,4BAA4B,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,QAAQ,uBAAuB;gBACrF,uBAAuB,QAAQ,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAC7E,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YACzC,MAAM,IAAI,WAAW,CACnB,4BAA4B,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,QAAQ,uBAAuB,QAAQ,CAAC,IAAI,IAAI,CACzG,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;YACrC,MAAM,IAAI,WAAW,CACnB,4BAA4B,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,QAAQ,2FAA2F,CAC5J,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
|