@cleocode/core 2026.9.26 → 2026.10.2
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/dist/build-provenance.json +2 -2
- package/dist/cloud/journal.d.ts +9 -5
- package/dist/cloud/journal.d.ts.map +1 -1
- package/dist/cloud/journal.js +29 -8
- package/dist/cloud/journal.js.map +1 -1
- package/dist/cloud/manifest-check.d.ts +140 -4
- package/dist/cloud/manifest-check.d.ts.map +1 -1
- package/dist/cloud/manifest-check.js +309 -10
- package/dist/cloud/manifest-check.js.map +1 -1
- package/dist/cloud/nexus-attach.d.ts +119 -0
- package/dist/cloud/nexus-attach.d.ts.map +1 -0
- package/dist/cloud/nexus-attach.js +267 -0
- package/dist/cloud/nexus-attach.js.map +1 -0
- package/dist/cloud/nexus-auth.d.ts +15 -3
- package/dist/cloud/nexus-auth.d.ts.map +1 -1
- package/dist/cloud/nexus-auth.js +90 -6
- package/dist/cloud/nexus-auth.js.map +1 -1
- package/dist/cloud/nexus-cloud-activity.d.ts +37 -0
- package/dist/cloud/nexus-cloud-activity.d.ts.map +1 -0
- package/dist/cloud/nexus-cloud-activity.js +79 -0
- package/dist/cloud/nexus-cloud-activity.js.map +1 -0
- package/dist/cloud/nexus-cloud-status.d.ts +132 -0
- package/dist/cloud/nexus-cloud-status.d.ts.map +1 -0
- package/dist/cloud/nexus-cloud-status.js +476 -0
- package/dist/cloud/nexus-cloud-status.js.map +1 -0
- package/dist/cloud/nexus-cloud.d.ts +179 -0
- package/dist/cloud/nexus-cloud.d.ts.map +1 -0
- package/dist/cloud/nexus-cloud.js +296 -0
- package/dist/cloud/nexus-cloud.js.map +1 -0
- package/dist/cloud/nexus-device.d.ts +32 -7
- package/dist/cloud/nexus-device.d.ts.map +1 -1
- package/dist/cloud/nexus-device.js +54 -7
- package/dist/cloud/nexus-device.js.map +1 -1
- package/dist/cloud/nexus-enrol.d.ts +35 -4
- package/dist/cloud/nexus-enrol.d.ts.map +1 -1
- package/dist/cloud/nexus-enrol.js +192 -47
- package/dist/cloud/nexus-enrol.js.map +1 -1
- package/dist/cloud/nexus-home.d.ts +74 -0
- package/dist/cloud/nexus-home.d.ts.map +1 -0
- package/dist/cloud/nexus-home.js +97 -0
- package/dist/cloud/nexus-home.js.map +1 -0
- package/dist/cloud/nexus-link.d.ts +8 -1
- package/dist/cloud/nexus-link.d.ts.map +1 -1
- package/dist/cloud/nexus-link.js +138 -11
- package/dist/cloud/nexus-link.js.map +1 -1
- package/dist/cloud/nexus-logout.d.ts +114 -0
- package/dist/cloud/nexus-logout.d.ts.map +1 -0
- package/dist/cloud/nexus-logout.js +429 -0
- package/dist/cloud/nexus-logout.js.map +1 -0
- package/dist/cloud/nexus-vault-keys.d.ts +129 -0
- package/dist/cloud/nexus-vault-keys.d.ts.map +1 -0
- package/dist/cloud/nexus-vault-keys.js +277 -0
- package/dist/cloud/nexus-vault-keys.js.map +1 -0
- package/dist/cloud/nexus-vault-state.d.ts +121 -0
- package/dist/cloud/nexus-vault-state.d.ts.map +1 -0
- package/dist/cloud/nexus-vault-state.js +274 -0
- package/dist/cloud/nexus-vault-state.js.map +1 -0
- package/dist/cloud/nexus-vault.d.ts +160 -0
- package/dist/cloud/nexus-vault.d.ts.map +1 -0
- package/dist/cloud/nexus-vault.js +1733 -0
- package/dist/cloud/nexus-vault.js.map +1 -0
- package/dist/cloud/signing.d.ts +24 -8
- package/dist/cloud/signing.d.ts.map +1 -1
- package/dist/cloud/signing.js +61 -15
- package/dist/cloud/signing.js.map +1 -1
- package/dist/docs/export-document.js +8341 -3317
- package/dist/docs/export-document.js.map +3 -3
- package/dist/doctor/migrations.d.ts +75 -0
- package/dist/doctor/migrations.d.ts.map +1 -0
- package/dist/doctor/migrations.js +136 -0
- package/dist/doctor/migrations.js.map +1 -0
- package/dist/doctor/sync-sealer.d.ts +48 -0
- package/dist/doctor/sync-sealer.d.ts.map +1 -0
- package/dist/doctor/sync-sealer.js +109 -0
- package/dist/doctor/sync-sealer.js.map +1 -0
- package/dist/doctor/sync-triggers.d.ts +53 -0
- package/dist/doctor/sync-triggers.d.ts.map +1 -0
- package/dist/doctor/sync-triggers.js +157 -0
- package/dist/doctor/sync-triggers.js.map +1 -0
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +5 -1
- package/dist/init.js.map +1 -1
- package/dist/internal.d.ts +1 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +1 -1
- package/dist/internal.js.map +1 -1
- package/dist/llm/plugin-facade.js +8668 -3644
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/nexus/projects-clean.d.ts +3 -0
- package/dist/nexus/projects-clean.d.ts.map +1 -1
- package/dist/nexus/projects-clean.js +9 -3
- package/dist/nexus/projects-clean.js.map +1 -1
- package/dist/nexus/registry-roots.d.ts +3 -1
- package/dist/nexus/registry-roots.d.ts.map +1 -1
- package/dist/nexus/registry-roots.js +5 -2
- package/dist/nexus/registry-roots.js.map +1 -1
- package/dist/nexus/registry.d.ts +8 -1
- package/dist/nexus/registry.d.ts.map +1 -1
- package/dist/nexus/registry.js +24 -10
- package/dist/nexus/registry.js.map +1 -1
- package/dist/nexus/workspace.d.ts +4 -1
- package/dist/nexus/workspace.d.ts.map +1 -1
- package/dist/nexus/workspace.js +10 -4
- package/dist/nexus/workspace.js.map +1 -1
- package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
- package/dist/orchestrate/spawn-ops.js +7 -2
- package/dist/orchestrate/spawn-ops.js.map +1 -1
- package/dist/orchestrate/worker-verify.d.ts +121 -12
- package/dist/orchestrate/worker-verify.d.ts.map +1 -1
- package/dist/orchestrate/worker-verify.js +172 -21
- package/dist/orchestrate/worker-verify.js.map +1 -1
- package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
- package/dist/orchestration/spawn-prompt.js +15 -9
- package/dist/orchestration/spawn-prompt.js.map +1 -1
- package/dist/release/ci-evidence.d.ts +9 -0
- package/dist/release/ci-evidence.d.ts.map +1 -1
- package/dist/release/ci-evidence.js +9 -2
- package/dist/release/ci-evidence.js.map +1 -1
- package/dist/resources/backend.d.ts +15 -3
- package/dist/resources/backend.d.ts.map +1 -1
- package/dist/resources/backend.js +7 -3
- package/dist/resources/backend.js.map +1 -1
- package/dist/resources/darwin-backend.d.ts +142 -0
- package/dist/resources/darwin-backend.d.ts.map +1 -0
- package/dist/resources/darwin-backend.js +288 -0
- package/dist/resources/darwin-backend.js.map +1 -0
- package/dist/resources/governor.d.ts +44 -1
- package/dist/resources/governor.d.ts.map +1 -1
- package/dist/resources/governor.js +100 -36
- package/dist/resources/governor.js.map +1 -1
- package/dist/resources/heavy-command.d.ts +132 -0
- package/dist/resources/heavy-command.d.ts.map +1 -0
- package/dist/resources/heavy-command.js +768 -0
- package/dist/resources/heavy-command.js.map +1 -0
- package/dist/resources/monitor.d.ts +50 -1
- package/dist/resources/monitor.d.ts.map +1 -1
- package/dist/resources/monitor.js +83 -1
- package/dist/resources/monitor.js.map +1 -1
- package/dist/resources/run-admission.d.ts +303 -0
- package/dist/resources/run-admission.d.ts.map +1 -0
- package/dist/resources/run-admission.js +648 -0
- package/dist/resources/run-admission.js.map +1 -0
- package/dist/resources/run-class.d.ts +111 -0
- package/dist/resources/run-class.d.ts.map +1 -0
- package/dist/resources/run-class.js +658 -0
- package/dist/resources/run-class.js.map +1 -0
- package/dist/resources/run-governed.d.ts +158 -0
- package/dist/resources/run-governed.d.ts.map +1 -0
- package/dist/resources/run-governed.js +406 -0
- package/dist/resources/run-governed.js.map +1 -0
- package/dist/resources/slot-holder.d.ts +267 -0
- package/dist/resources/slot-holder.d.ts.map +1 -0
- package/dist/resources/slot-holder.js +505 -0
- package/dist/resources/slot-holder.js.map +1 -0
- package/dist/resources/tool-groups.d.ts +74 -0
- package/dist/resources/tool-groups.d.ts.map +1 -0
- package/dist/resources/tool-groups.js +118 -0
- package/dist/resources/tool-groups.js.map +1 -0
- package/dist/routing/build-command-groups.d.ts.map +1 -1
- package/dist/routing/build-command-groups.js +1 -0
- package/dist/routing/build-command-groups.js.map +1 -1
- package/dist/selfimprove/fix-gen.js +8676 -3652
- package/dist/selfimprove/fix-gen.js.map +3 -3
- package/dist/sentient/cross-project-hygiene.d.ts +3 -2
- package/dist/sentient/cross-project-hygiene.d.ts.map +1 -1
- package/dist/sentient/cross-project-hygiene.js +5 -2
- package/dist/sentient/cross-project-hygiene.js.map +1 -1
- package/dist/sentient/state.d.ts +7 -0
- package/dist/sentient/state.d.ts.map +1 -1
- package/dist/sentient/state.js.map +1 -1
- package/dist/sentient/tick.d.ts +14 -2
- package/dist/sentient/tick.d.ts.map +1 -1
- package/dist/sentient/tick.js +63 -4
- package/dist/sentient/tick.js.map +1 -1
- package/dist/setup/sections/nexus-account.d.ts +8 -6
- package/dist/setup/sections/nexus-account.d.ts.map +1 -1
- package/dist/setup/sections/nexus-account.js +53 -9
- package/dist/setup/sections/nexus-account.js.map +1 -1
- package/dist/store/backup-recover.d.ts.map +1 -1
- package/dist/store/backup-recover.js +5 -0
- package/dist/store/backup-recover.js.map +1 -1
- package/dist/store/data-accessor.d.ts +1 -0
- package/dist/store/data-accessor.d.ts.map +1 -1
- package/dist/store/data-accessor.js +7 -0
- package/dist/store/data-accessor.js.map +1 -1
- package/dist/store/dual-scope-db.d.ts +23 -1
- package/dist/store/dual-scope-db.d.ts.map +1 -1
- package/dist/store/dual-scope-db.js +126 -36
- package/dist/store/dual-scope-db.js.map +1 -1
- package/dist/store/exodus/recovery.d.ts.map +1 -1
- package/dist/store/exodus/recovery.js +15 -0
- package/dist/store/exodus/recovery.js.map +1 -1
- package/dist/store/legacy-tasks-lineage.d.ts.map +1 -1
- package/dist/store/legacy-tasks-lineage.js +5 -0
- package/dist/store/legacy-tasks-lineage.js.map +1 -1
- package/dist/store/lock.d.ts +8 -1
- package/dist/store/lock.d.ts.map +1 -1
- package/dist/store/lock.js +10 -2
- package/dist/store/lock.js.map +1 -1
- package/dist/store/migration-manager.d.ts +5 -0
- package/dist/store/migration-manager.d.ts.map +1 -1
- package/dist/store/migration-manager.js +11 -0
- package/dist/store/migration-manager.js.map +1 -1
- package/dist/store/migration-runner.d.ts +158 -0
- package/dist/store/migration-runner.d.ts.map +1 -0
- package/dist/store/migration-runner.js +493 -0
- package/dist/store/migration-runner.js.map +1 -0
- package/dist/store/portable-bundle-import.d.ts +15 -1
- package/dist/store/portable-bundle-import.d.ts.map +1 -1
- package/dist/store/portable-bundle-import.js +24 -4
- package/dist/store/portable-bundle-import.js.map +1 -1
- package/dist/store/portable-bundle-relocate.d.ts +43 -0
- package/dist/store/portable-bundle-relocate.d.ts.map +1 -1
- package/dist/store/portable-bundle-relocate.js +79 -5
- package/dist/store/portable-bundle-relocate.js.map +1 -1
- package/dist/store/portable-bundle-scan.d.ts +20 -0
- package/dist/store/portable-bundle-scan.d.ts.map +1 -1
- package/dist/store/portable-bundle-scan.js +38 -3
- package/dist/store/portable-bundle-scan.js.map +1 -1
- package/dist/store/portable-bundle.d.ts +33 -0
- package/dist/store/portable-bundle.d.ts.map +1 -1
- package/dist/store/portable-bundle.js +34 -7
- package/dist/store/portable-bundle.js.map +1 -1
- package/dist/store/row-identity-registry.d.ts +137 -7
- package/dist/store/row-identity-registry.d.ts.map +1 -1
- package/dist/store/row-identity-registry.js +364 -9
- package/dist/store/row-identity-registry.js.map +1 -1
- package/dist/store/row-identity.d.ts.map +1 -1
- package/dist/store/row-identity.js +9 -10
- package/dist/store/row-identity.js.map +1 -1
- package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
- package/dist/store/sqlite-data-accessor.js +10 -0
- package/dist/store/sqlite-data-accessor.js.map +1 -1
- package/dist/store/sqlite.d.ts +31 -0
- package/dist/store/sqlite.d.ts.map +1 -1
- package/dist/store/sqlite.js +5 -1
- package/dist/store/sqlite.js.map +1 -1
- package/dist/store/sync/capture.d.ts +203 -0
- package/dist/store/sync/capture.d.ts.map +1 -0
- package/dist/store/sync/capture.js +562 -0
- package/dist/store/sync/capture.js.map +1 -0
- package/dist/store/sync/clock-store.d.ts.map +1 -1
- package/dist/store/sync/clock-store.js +2 -0
- package/dist/store/sync/clock-store.js.map +1 -1
- package/dist/store/sync/fk-orphans.d.ts +133 -0
- package/dist/store/sync/fk-orphans.d.ts.map +1 -0
- package/dist/store/sync/fk-orphans.js +265 -0
- package/dist/store/sync/fk-orphans.js.map +1 -0
- package/dist/store/sync/flags.d.ts +7 -0
- package/dist/store/sync/flags.d.ts.map +1 -1
- package/dist/store/sync/flags.js +16 -0
- package/dist/store/sync/flags.js.map +1 -1
- package/dist/store/sync/hlc.d.ts.map +1 -1
- package/dist/store/sync/hlc.js +4 -0
- package/dist/store/sync/hlc.js.map +1 -1
- package/dist/store/sync/identity-fill.d.ts +45 -0
- package/dist/store/sync/identity-fill.d.ts.map +1 -0
- package/dist/store/sync/identity-fill.js +85 -0
- package/dist/store/sync/identity-fill.js.map +1 -0
- package/dist/store/sync/machinery.d.ts +27 -0
- package/dist/store/sync/machinery.d.ts.map +1 -0
- package/dist/store/sync/machinery.js +44 -0
- package/dist/store/sync/machinery.js.map +1 -0
- package/dist/store/sync/netting.d.ts +120 -0
- package/dist/store/sync/netting.d.ts.map +1 -0
- package/dist/store/sync/netting.js +336 -0
- package/dist/store/sync/netting.js.map +1 -0
- package/dist/store/sync/replica.d.ts +59 -3
- package/dist/store/sync/replica.d.ts.map +1 -1
- package/dist/store/sync/replica.js +84 -3
- package/dist/store/sync/replica.js.map +1 -1
- package/dist/store/sync/schema.d.ts +18 -3
- package/dist/store/sync/schema.d.ts.map +1 -1
- package/dist/store/sync/schema.js +27 -3
- package/dist/store/sync/schema.js.map +1 -1
- package/dist/store/sync/seal-backlog.d.ts +21 -0
- package/dist/store/sync/seal-backlog.d.ts.map +1 -0
- package/dist/store/sync/seal-backlog.js +24 -0
- package/dist/store/sync/seal-backlog.js.map +1 -0
- package/dist/store/sync/sealer-values.d.ts +34 -0
- package/dist/store/sync/sealer-values.d.ts.map +1 -0
- package/dist/store/sync/sealer-values.js +53 -0
- package/dist/store/sync/sealer-values.js.map +1 -0
- package/dist/store/sync/sealer.d.ts +145 -0
- package/dist/store/sync/sealer.d.ts.map +1 -0
- package/dist/store/sync/sealer.js +906 -0
- package/dist/store/sync/sealer.js.map +1 -0
- package/dist/store/sync/structural.d.ts +63 -0
- package/dist/store/sync/structural.d.ts.map +1 -0
- package/dist/store/sync/structural.js +180 -0
- package/dist/store/sync/structural.js.map +1 -0
- package/dist/store/sync/timestamps.d.ts +92 -0
- package/dist/store/sync/timestamps.d.ts.map +1 -0
- package/dist/store/sync/timestamps.js +228 -0
- package/dist/store/sync/timestamps.js.map +1 -0
- package/dist/store/sync/tombstones.d.ts +75 -0
- package/dist/store/sync/tombstones.d.ts.map +1 -0
- package/dist/store/sync/tombstones.js +103 -0
- package/dist/store/sync/tombstones.js.map +1 -0
- package/dist/store/sync/trigger-classes.d.ts +221 -0
- package/dist/store/sync/trigger-classes.d.ts.map +1 -0
- package/dist/store/sync/trigger-classes.js +441 -0
- package/dist/store/sync/trigger-classes.js.map +1 -0
- package/dist/store/sync/trigger-suspend-at-path.d.ts +23 -0
- package/dist/store/sync/trigger-suspend-at-path.d.ts.map +1 -0
- package/dist/store/sync/trigger-suspend-at-path.js +44 -0
- package/dist/store/sync/trigger-suspend-at-path.js.map +1 -0
- package/dist/store/sync/writer-version.d.ts +43 -0
- package/dist/store/sync/writer-version.d.ts.map +1 -0
- package/dist/store/sync/writer-version.js +90 -0
- package/dist/store/sync/writer-version.js.map +1 -0
- package/dist/store/table-classification.d.ts.map +1 -1
- package/dist/store/table-classification.js +102 -0
- package/dist/store/table-classification.js.map +1 -1
- package/dist/store/trigger-suspend-schema.d.ts +44 -0
- package/dist/store/trigger-suspend-schema.d.ts.map +1 -0
- package/dist/store/trigger-suspend-schema.js +25 -0
- package/dist/store/trigger-suspend-schema.js.map +1 -0
- package/dist/store/vault-manifest.d.ts +365 -0
- package/dist/store/vault-manifest.d.ts.map +1 -0
- package/dist/store/vault-manifest.js +812 -0
- package/dist/store/vault-manifest.js.map +1 -0
- package/dist/store/writer-lease.d.ts +31 -0
- package/dist/store/writer-lease.d.ts.map +1 -1
- package/dist/store/writer-lease.js +65 -2
- package/dist/store/writer-lease.js.map +1 -1
- package/dist/system/health.d.ts.map +1 -1
- package/dist/system/health.js +21 -0
- package/dist/system/health.js.map +1 -1
- package/dist/system/project-health.d.ts.map +1 -1
- package/dist/system/project-health.js +3 -1
- package/dist/system/project-health.js.map +1 -1
- package/dist/tasks/affected-packages.d.ts +58 -0
- package/dist/tasks/affected-packages.d.ts.map +1 -1
- package/dist/tasks/affected-packages.js +75 -6
- package/dist/tasks/affected-packages.js.map +1 -1
- package/dist/tasks/affected-scope.d.ts +150 -23
- package/dist/tasks/affected-scope.d.ts.map +1 -1
- package/dist/tasks/affected-scope.js +320 -32
- package/dist/tasks/affected-scope.js.map +1 -1
- package/dist/tasks/change-set.d.ts +96 -0
- package/dist/tasks/change-set.d.ts.map +1 -1
- package/dist/tasks/change-set.js +169 -4
- package/dist/tasks/change-set.js.map +1 -1
- package/dist/tasks/complete-ci.d.ts +115 -0
- package/dist/tasks/complete-ci.d.ts.map +1 -0
- package/dist/tasks/complete-ci.js +171 -0
- package/dist/tasks/complete-ci.js.map +1 -0
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +50 -17
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/compute-task-view.d.ts.map +1 -1
- package/dist/tasks/compute-task-view.js +7 -0
- package/dist/tasks/compute-task-view.js.map +1 -1
- package/dist/tasks/done-plan.d.ts.map +1 -1
- package/dist/tasks/done-plan.js +51 -30
- package/dist/tasks/done-plan.js.map +1 -1
- package/dist/tasks/done-record.d.ts +6 -0
- package/dist/tasks/done-record.d.ts.map +1 -1
- package/dist/tasks/done-record.js +9 -3
- package/dist/tasks/done-record.js.map +1 -1
- package/dist/tasks/evidence.d.ts +3 -2
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +143 -12
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/gate-notes.d.ts +22 -0
- package/dist/tasks/gate-notes.d.ts.map +1 -0
- package/dist/tasks/gate-notes.js +33 -0
- package/dist/tasks/gate-notes.js.map +1 -0
- package/dist/tasks/index.d.ts +2 -1
- package/dist/tasks/index.d.ts.map +1 -1
- package/dist/tasks/index.js +2 -1
- package/dist/tasks/index.js.map +1 -1
- package/dist/tasks/test-run-binding.d.ts +117 -0
- package/dist/tasks/test-run-binding.d.ts.map +1 -0
- package/dist/tasks/test-run-binding.js +365 -0
- package/dist/tasks/test-run-binding.js.map +1 -0
- package/dist/tasks/tool-cache-env.d.ts +123 -0
- package/dist/tasks/tool-cache-env.d.ts.map +1 -0
- package/dist/tasks/tool-cache-env.js +287 -0
- package/dist/tasks/tool-cache-env.js.map +1 -0
- package/dist/tasks/tool-cache-failed-first.d.ts +155 -0
- package/dist/tasks/tool-cache-failed-first.d.ts.map +1 -0
- package/dist/tasks/tool-cache-failed-first.js +285 -0
- package/dist/tasks/tool-cache-failed-first.js.map +1 -0
- package/dist/tasks/tool-cache.d.ts +375 -55
- package/dist/tasks/tool-cache.d.ts.map +1 -1
- package/dist/tasks/tool-cache.js +912 -303
- package/dist/tasks/tool-cache.js.map +1 -1
- package/dist/tasks/tool-resolver.d.ts +4 -3
- package/dist/tasks/tool-resolver.d.ts.map +1 -1
- package/dist/tasks/tool-resolver.js +15 -4
- package/dist/tasks/tool-resolver.js.map +1 -1
- package/dist/tasks/tool-semaphore.d.ts +67 -7
- package/dist/tasks/tool-semaphore.d.ts.map +1 -1
- package/dist/tasks/tool-semaphore.js +134 -56
- package/dist/tasks/tool-semaphore.js.map +1 -1
- package/dist/upgrade.d.ts.map +1 -1
- package/dist/upgrade.js +4 -0
- package/dist/upgrade.js.map +1 -1
- package/dist/validation/engine-ops.d.ts +6 -0
- package/dist/validation/engine-ops.d.ts.map +1 -1
- package/dist/validation/engine-ops.js +8 -0
- package/dist/validation/engine-ops.js.map +1 -1
- package/migrations/drizzle-cleo-project/20260930170000_t12819-trigger-suspend-clause/migration.sql +367 -0
- package/migrations/sync-journal/20260930120000_t12343-capture/migration.sql +47 -0
- package/migrations/sync-journal/20261001170000_t12984-sealer/migration.sql +101 -0
- package/package.json +13 -13
- package/templates/CLEO-INJECTION.md +5 -5
- package/templates/CLEO-REFERENCE.md +8 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heavy-command.js","sourceRoot":"","sources":["../../src/resources/heavy-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAO1E,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AA4C7D,uEAAuE;AACvE,MAAM,SAAS,GAAG;IAChB,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;CACJ,CAAC;AAEF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AACpE,MAAM,IAAI,GAAG,0BAA0B,CAAC;AAiBxC;;;GAGG;AACH,SAAS,QAAQ,CAAC,GAAW,EAAE,IAAY,EAAE,IAAqB;IAChE,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,MAAM,aAAa,GAAY,EAAE,CAAC;IAClC,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,IAAI,oBAAoB,GAAkC,IAAI,CAAC;IAC/D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,uFAAuF;IACvF,IAAI,GAAG,GAAG,IAAoB,CAAC;IAC/B,IAAI,CAAC,GAAG,IAAI,CAAC;IAEb,MAAM,IAAI,GAAG,CAAC,KAAa,EAAS,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAChG,MAAM,KAAK,GAAG,CAAC,EAAU,EAAS,EAAE;QAClC,GAAG,KAAK;YACN,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,KAAK;YACjB,IAAI,EAAE,IAAI;SACX,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,EAAU,EAAQ,EAAE;QAClC,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO;QACzB,MAAM,IAAI,GAAS;YACjB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,GAAG,EAAE,EAAE;YACP,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,GAAG,GAAG,IAAI,CAAC;QACX,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,oBAAoB,CAAC,SAAS,EAAE,CAAC,CAAC;YACnF,oBAAoB,GAAG,IAAI,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC;IACF,oEAAoE;IACpE,MAAM,YAAY,GAAG,CAAC,EAAU,EAAU,EAAE;QAC1C,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACpC,OAAO,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;gBACxB,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAClC,MAAM,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5C,IAAI,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBACnC,IAAI,GAAG,CAAC,SAAS;oBAAE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACnD,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACtC,IAAI,IAAI,KAAK,GAAG,CAAC,SAAS;oBAAE,MAAM;YACpC,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,mEAAmE;IACnE,MAAM,MAAM,GAAG,CAAC,EAAU,EAAE,KAAY,EAAkB,EAAE;QAC1D,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACzB,IAAI,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;YAC3C,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAClD,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACpC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;YAC5C,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YACrC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACvC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YACrB,OAAO,IAAI,CAAC,GAAG,CAAC;QAClB,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;YACvC,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACjD,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACxC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YACrB,OAAO,KAAK,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACf,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACpD,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;QACD,MAAM,IAAI,GAAG,0CAA0C,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAChF,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YACrB,OAAO,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACjC,CAAC;QACD,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC;QACnB,OAAO,EAAE,GAAG,CAAC,CAAC;IAChB,CAAC,CAAC;IACF,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,KAAY,EAAkB,EAAE;QAC5D,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACf,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC1D,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QAClF,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,CAAC;IACf,CAAC,CAAC;IAEF,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAW,CAAC;QAC5B,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAC9B,MAAM,CAAC,CAAC,CAAC,CAAC;YACV,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACvB,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACxB,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;iBAAM,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnB,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtB,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;gBACf,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;QACH,CAAC;aAAM,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,CAAC,CAAC,CAAC,CAAC;YACV,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI;gBAAE,CAAC,EAAE,CAAC;QAChD,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC3D,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;YACf,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QAChB,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;gBACtB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAW,CAAC;gBAC3B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;oBACd,MAAM,GAAG,IAAI,CAAC;oBACd,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAW,CAAC,EAAE,CAAC;oBACjF,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI;wBAAE,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC/C,CAAC,IAAI,CAAC,CAAC;gBACT,CAAC;qBAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;oBACrB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACvB,IAAI,OAAO,CAAC,KAAK,QAAQ;wBAAE,OAAO,CAAC,CAAC;oBACpC,CAAC,GAAG,CAAC,CAAC;gBACR,CAAC;qBAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;oBACrB,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACzB,IAAI,OAAO,CAAC,KAAK,QAAQ;wBAAE,OAAO,CAAC,CAAC;oBACpC,CAAC,GAAG,CAAC,CAAC;gBACR,CAAC;qBAAM,CAAC;oBACN,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;oBACb,CAAC,EAAE,CAAC;gBACN,CAAC;YACH,CAAC;YACD,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACtD,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,OAAO,CAAC,CAAC;YACpC,CAAC,GAAG,CAAC,CAAC;QACR,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,OAAO,CAAC,CAAC;YACpC,CAAC,GAAG,CAAC,CAAC;QACR,CAAC;aAAM,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC5D,kCAAkC;YAClC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACnB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;YAC3C,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YACrC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;QACf,CAAC;aAAM,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAClC,IAAI,IAAI,KAAK,OAAO,IAAI,EAAE,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAClD,MAAM,CAAC,CAAC,CAAC,CAAC;gBACV,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACjE,CAAC;YACD,8DAA8D;YAC9D,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,CAAC,IAAI,GAAG,EAAE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvE,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;gBAClB,GAAG,GAAG,IAAI,CAAC;YACb,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,CAAC,CAAC,CAAC;YACZ,CAAC;YACD,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAW,CAAC;YACjE,IAAI,EAAE,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;YACxB,IAAI,EAAE,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;YACxB,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,KAAK;gBAAE,oBAAoB,GAAG,EAAE,SAAS,EAAE,EAAE,KAAK,KAAK,EAAE,CAAC;YACpF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3D,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;QACjB,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7F,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC;YACtB,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YAChB,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACd,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnB,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACrD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACtE,CAAC;AAED,6EAA6E;AAC7E,SAAS,eAAe,CAAC,GAAW,EAAE,IAAY;IAChD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;aACvB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACxB,IAAI,KAAK,KAAK,CAAC;gBAAE,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,KAAK,EAAE,CAAC;QACV,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,4DAA4D;AAC5D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;IACvB,IAAI;IACJ,MAAM;IACN,MAAM;IACN,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,KAAK;IACL,IAAI;IACJ,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,GAAG;IACH,GAAG;IACH,GAAG;IACH,IAAI;IACJ,IAAI;CACL,CAAC,CAAC;AAEH,4EAA4E;AAC5E,MAAM,WAAW,GAAqD;IACpE,UAAU,EAAE,MAAM;IAClB,cAAc,EAAE,OAAO;IACvB,YAAY,EAAE,YAAY;IAC1B,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF,SAAS,IAAI,CAAC,KAAa;IACzB,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC;AACzC,CAAC;AAED,uFAAuF;AACvF,SAAS,UAAU,CAAC,IAAuB;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IACrF,OAAO,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AAC7C,CAAC;AAED,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,GAAG;IACH,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,KAAK;CACN,CAAC,CAAC;AACH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAC5E,yEAAyE;AACzE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;AAClG,qCAAqC;AACrC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;AAiB5D;;;;GAIG;AACH,SAAS,aAAa,CAAC,MAAwB;IAC7C,MAAM,GAAG,GAAc,EAAE,CAAC;IAC1B,IAAI,KAAK,GAAY,EAAE,CAAC;IACxB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,MAAM,KAAK,GAAG,CAAC,UAAmB,EAAQ,EAAE;QAC1C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QACtE,KAAK,GAAG,EAAE,CAAC;QACX,MAAM,GAAG,KAAK,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC;QACnC,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5C,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACd,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC;gBACjC,MAAM,GAAG,IAAI,CAAC;gBACd,KAAK,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI;gBAAE,SAAS,GAAG,IAAI,CAAC;YACpE,SAAS;QACX,CAAC;QACD,IAAI,CAAC,SAAS;YAAE,SAAS;QACzB,IAAI,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,GAAG,IAAI,CAAC;YACd,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;gBAAE,QAAQ,EAAE,CAAC;YAC3C,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;gBAAE,QAAQ,EAAE,CAAC;QAC9C,CAAC;aAAM,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;YACzB,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;IACH,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,CAAC;IACb,kFAAkF;IAClF,IAAI,KAAK,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACnF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,WAAW,CAAC,MAAwB;IAC3C,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,IAAI,KAAK,GAAW,EAAE,CAAC;IACvB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBAChC,KAAK,GAAG,EAAE,CAAC;gBACX,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC;iBAAM,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBAClC,OAAO,KAAK,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC;gBAC5C,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,GAAG,KAAK,CAAC;YACjB,SAAS;QACX,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gFAAgF;AAChF,SAAS,YAAY,CAAC,KAAY;IAChC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,IAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAU,CAAC,UAAU;QAAE,CAAC,EAAE,CAAC;IAC1E,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,iFAAiF;AACjF,SAAS,SAAS,CAAC,KAAsB;IACvC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACvE,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAK,KAAK,CAAC,CAAC,CAAU,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,CAAC,EAAE,CAAC;IACzE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,MAAM,CAAC,KAAsB;IACpC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,eAAe,CAAC;AAczD,sDAAsD;AACtD,SAAS,cAAc,CAAC,QAAgB,EAAE,cAAkC;IAC1E,MAAM,OAAO,GAAG,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,cAAc,EAAE,CAAC;IACnF,OAAO,mBAAmB,yBAAyB,GAAG,OAAO,YAAY,QAAQ,KAAK,CAAC;AACzF,CAAC;AAQD,gFAAgF;AAChF,SAAS,MAAM,CAAC,GAAW,EAAE,KAAsB;IACjD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrC,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,sDAAsD;AACtD,SAAS,WAAW,CAAC,OAAgB;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAU,CAAC;IACzC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAU,CAAC;IAChE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,OAAO,CAAC,KAAY,EAAE,IAA6B,EAAE,KAAa;IACzE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IACtB,MAAM,MAAM,GAAa,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACnE,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACnB,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAE7C,yEAAyE;QACzE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACtF,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,GAAG,CAAC;YACvC,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;gBACnB,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;oBAC1B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAClC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;wBAClB,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC7B,CAAC;YACD,SAAS;QACX,CAAC;QAED,qEAAqE;QACrE,MAAM,QAAQ,GAAG,CAAC,CAAQ,EAAmB,EAAE;YAC7C,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAK,KAAK,CAAC,CAAC,CAAU,CAAC,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAE,KAAK,CAAC,CAAC,CAAU,CAAC,KAAK,CAAC;gBAC1F,CAAC,EAAE,CAAC;YACN,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC;QACF,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAAE,SAAS;QAClE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAEjC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC;YAClD,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC7D,MAAM,OAAO,GACX,KAAK,GAAG,CAAC;gBACP,CAAC,CAAC,uCAAuC;gBACzC,CAAC,CAAC,OAAO,CAAC,UAAU;oBAClB,CAAC,CAAC,iCAAiC;oBACnC,CAAC,CAAC,OAAO,CAAC,MAAM;wBACd,CAAC,CAAC,iDAAiD;wBACnD,CAAC,CAAC,KAAK,CAAC,OAAO;4BACb,CAAC,CAAC,oBAAoB;4BACtB,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gCAChB,CAAC,CAAC,+DAA+D;gCACjE,CAAC,CAAC,IAAI,CAAC;YACnB,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,4DAA4D;gBAC5D,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACnB,IAAI;oBACJ,QAAQ;oBACR,QAAQ,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE;oBAC3C,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC;iBACpB,CAAC,CAAC;gBACH,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC9B,SAAS;YACX,CAAC;YACD,qEAAqE;YACrE,8DAA8D;YAC9D,MAAM,EAAE,GAAI,KAAK,CAAC,CAAC,CAAU,CAAC,KAAK,CAAC;YACpC,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACpF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACxE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,IAA6B;IAC7E,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAC1C,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACpD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACrD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IACjF,CAAC;IACD,IAAI,SAAS,GAAG,OAAO,CAAC;IACxB,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1D,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AAC7D,CAAC;AAED,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAyB;IAC9D,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AACtE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAA4B,EAC5B,WAA+B;IAE/B,KAAK,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,IAA4B,CAAC;IACjF,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,WAAmB;IAEnB,IAAI,CAAC;QACH,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,MAAM,cAAc,CAAS,4BAA4B,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAC1F,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAChF,OAAO,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAA6B,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACvB,SAAS,CAAC;QACR,IAAI,GAAG,KAAK,IAAI;YAAE,MAAM;QACxB,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC;QAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,SAA6B;IAC1E,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,IAAI,GAAG,KAAK,EAAE;YAAE,SAAS;QACzB,IAAI,CAAC;YACH,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,SAAS,GAAG,IAAI;IACxD,IAAI,CAAC;QACH,MAAM,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QAClF,IAAI,KAAiC,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,IAAI,EAAE,EAAE;YACzC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;YAChD,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,sBAAsB,EAAE,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;QAChF,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACjC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,KAAK,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;QACrD,OAAO,CACL,8BAA8B,KAAK,KAAK,MAAM,iDAAiD;YAC/F,8GAA8G,CAC/G,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -47,6 +47,14 @@
|
|
|
47
47
|
*/
|
|
48
48
|
import { EventEmitter } from 'node:events';
|
|
49
49
|
import type { ResourceBackend, ResourceSample } from './backend.js';
|
|
50
|
+
/**
|
|
51
|
+
* The backend for this platform: macOS gets {@link DarwinResourceBackend}
|
|
52
|
+
* (kernel pressure level + load), everything else {@link LinuxResourceBackend}
|
|
53
|
+
* (which degrades to availability-only where `/proc` is absent).
|
|
54
|
+
*
|
|
55
|
+
* @task T12981
|
|
56
|
+
*/
|
|
57
|
+
export declare function defaultResourceBackend(platform?: NodeJS.Platform): ResourceBackend;
|
|
50
58
|
/**
|
|
51
59
|
* Memory pressure state transitions emitted by the continuous loop.
|
|
52
60
|
*
|
|
@@ -126,7 +134,17 @@ export interface ResourceMonitorConfig {
|
|
|
126
134
|
*/
|
|
127
135
|
readonly pollIntervalMs?: number;
|
|
128
136
|
/**
|
|
129
|
-
*
|
|
137
|
+
* CPU saturation thresholds, applied to `cpuPressure.some.avg10` when the
|
|
138
|
+
* backend reports it. Defaults: hold above 33 (load 1.5× cores), backoff
|
|
139
|
+
* above 50 (2× cores). CPU is looser than memory: a busy box slows down,
|
|
140
|
+
* a memory-starved one swaps and kills processes.
|
|
141
|
+
*/
|
|
142
|
+
readonly cpu?: {
|
|
143
|
+
readonly holdSomeAvg10?: number;
|
|
144
|
+
readonly backoffSomeAvg10?: number;
|
|
145
|
+
};
|
|
146
|
+
/**
|
|
147
|
+
* Platform backend. Defaults to {@link defaultResourceBackend}.
|
|
130
148
|
*
|
|
131
149
|
* Inject a different backend for macOS parity or test fakes.
|
|
132
150
|
*/
|
|
@@ -138,6 +156,8 @@ interface ResolvedThresholds {
|
|
|
138
156
|
readonly holdFullAvg10: number;
|
|
139
157
|
readonly backoffFullAvg10: number;
|
|
140
158
|
readonly hysteresisPoints: number;
|
|
159
|
+
readonly holdCpuSomeAvg10: number;
|
|
160
|
+
readonly backoffCpuSomeAvg10: number;
|
|
141
161
|
readonly headroomBytes: number;
|
|
142
162
|
readonly walWarnThresholdBytes: number;
|
|
143
163
|
readonly pollIntervalMs: number;
|
|
@@ -154,6 +174,35 @@ export declare function evaluateState(sample: ResourceSample, thresholds: Resolv
|
|
|
154
174
|
state: PressureState;
|
|
155
175
|
reason: string;
|
|
156
176
|
};
|
|
177
|
+
/**
|
|
178
|
+
* Classify a sample with the default thresholds (callers that sample once,
|
|
179
|
+
* such as `cleo run`, and do not hold a {@link ResourceMonitor} loop).
|
|
180
|
+
*
|
|
181
|
+
* @param sample - a backend sample.
|
|
182
|
+
* @param currentState - the previous verdict, for hysteresis.
|
|
183
|
+
* @task T12979
|
|
184
|
+
*/
|
|
185
|
+
export declare function classifyPressure(sample: ResourceSample, currentState?: PressureState): {
|
|
186
|
+
state: PressureState;
|
|
187
|
+
reason: string;
|
|
188
|
+
};
|
|
189
|
+
/**
|
|
190
|
+
* One pressure number on the MEMORY `some avg10` scale, for callers that size
|
|
191
|
+
* budgets from a single value (the governor's class budgets, slot scaling):
|
|
192
|
+
* the worse of memory `some avg10` and CPU `some avg10` rescaled so the CPU
|
|
193
|
+
* hold/backoff defaults (33/50) land on the memory ones (10/25 floor).
|
|
194
|
+
*
|
|
195
|
+
* Linux samples carry no `cpuPressure` today, so this equals the memory value
|
|
196
|
+
* there.
|
|
197
|
+
*
|
|
198
|
+
* @example
|
|
199
|
+
* ```ts
|
|
200
|
+
* pressureScore(sample); // memory 4, cpu 60 (load 2.5× cores) → 35: backoff
|
|
201
|
+
* ```
|
|
202
|
+
*
|
|
203
|
+
* @task T12981
|
|
204
|
+
*/
|
|
205
|
+
export declare function pressureScore(sample: ResourceSample): number;
|
|
157
206
|
/**
|
|
158
207
|
* ResourceMonitor event map for typed EventEmitter usage.
|
|
159
208
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../src/resources/monitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../src/resources/monitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,13 +46,26 @@
|
|
|
46
46
|
* @epic T11992
|
|
47
47
|
*/
|
|
48
48
|
import { EventEmitter } from 'node:events';
|
|
49
|
+
import { DarwinResourceBackend } from './darwin-backend.js';
|
|
49
50
|
import { LinuxResourceBackend } from './linux-backend.js';
|
|
51
|
+
/**
|
|
52
|
+
* The backend for this platform: macOS gets {@link DarwinResourceBackend}
|
|
53
|
+
* (kernel pressure level + load), everything else {@link LinuxResourceBackend}
|
|
54
|
+
* (which degrades to availability-only where `/proc` is absent).
|
|
55
|
+
*
|
|
56
|
+
* @task T12981
|
|
57
|
+
*/
|
|
58
|
+
export function defaultResourceBackend(platform = process.platform) {
|
|
59
|
+
return platform === 'darwin' ? new DarwinResourceBackend() : new LinuxResourceBackend();
|
|
60
|
+
}
|
|
50
61
|
const DEFAULTS = {
|
|
51
62
|
holdSomeAvg10: 10,
|
|
52
63
|
backoffSomeAvg10: 20,
|
|
53
64
|
holdFullAvg10: 5,
|
|
54
65
|
backoffFullAvg10: 10,
|
|
55
66
|
hysteresisPoints: 3,
|
|
67
|
+
holdCpuSomeAvg10: 33,
|
|
68
|
+
backoffCpuSomeAvg10: 50,
|
|
56
69
|
headroomBytes: 256 * 1024 * 1024,
|
|
57
70
|
walWarnThresholdBytes: 256 * 1024 * 1024,
|
|
58
71
|
pollIntervalMs: 1500,
|
|
@@ -64,6 +77,8 @@ function resolveThresholds(cfg) {
|
|
|
64
77
|
holdFullAvg10: cfg.psi?.holdFullAvg10 ?? DEFAULTS.holdFullAvg10,
|
|
65
78
|
backoffFullAvg10: cfg.psi?.backoffFullAvg10 ?? DEFAULTS.backoffFullAvg10,
|
|
66
79
|
hysteresisPoints: cfg.hysteresisPoints ?? DEFAULTS.hysteresisPoints,
|
|
80
|
+
holdCpuSomeAvg10: cfg.cpu?.holdSomeAvg10 ?? DEFAULTS.holdCpuSomeAvg10,
|
|
81
|
+
backoffCpuSomeAvg10: cfg.cpu?.backoffSomeAvg10 ?? DEFAULTS.backoffCpuSomeAvg10,
|
|
67
82
|
headroomBytes: cfg.headroomBytes ?? DEFAULTS.headroomBytes,
|
|
68
83
|
walWarnThresholdBytes: cfg.walWarnThresholdBytes ?? DEFAULTS.walWarnThresholdBytes,
|
|
69
84
|
pollIntervalMs: cfg.pollIntervalMs ?? DEFAULTS.pollIntervalMs,
|
|
@@ -81,6 +96,73 @@ function resolveThresholds(cfg) {
|
|
|
81
96
|
* @internal
|
|
82
97
|
*/
|
|
83
98
|
export function evaluateState(sample, thresholds, currentState) {
|
|
99
|
+
const memory = evaluateMemoryState(sample, thresholds, currentState);
|
|
100
|
+
const cpu = evaluateCpuState(sample, thresholds, currentState);
|
|
101
|
+
if (cpu === null || SEVERITY[cpu.state] <= SEVERITY[memory.state])
|
|
102
|
+
return memory;
|
|
103
|
+
return cpu;
|
|
104
|
+
}
|
|
105
|
+
const SEVERITY = { ok: 0, hold: 1, backoff: 2 };
|
|
106
|
+
/**
|
|
107
|
+
* Classify a sample with the default thresholds (callers that sample once,
|
|
108
|
+
* such as `cleo run`, and do not hold a {@link ResourceMonitor} loop).
|
|
109
|
+
*
|
|
110
|
+
* @param sample - a backend sample.
|
|
111
|
+
* @param currentState - the previous verdict, for hysteresis.
|
|
112
|
+
* @task T12979
|
|
113
|
+
*/
|
|
114
|
+
export function classifyPressure(sample, currentState = 'ok') {
|
|
115
|
+
return evaluateState(sample, DEFAULTS, currentState);
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* One pressure number on the MEMORY `some avg10` scale, for callers that size
|
|
119
|
+
* budgets from a single value (the governor's class budgets, slot scaling):
|
|
120
|
+
* the worse of memory `some avg10` and CPU `some avg10` rescaled so the CPU
|
|
121
|
+
* hold/backoff defaults (33/50) land on the memory ones (10/25 floor).
|
|
122
|
+
*
|
|
123
|
+
* Linux samples carry no `cpuPressure` today, so this equals the memory value
|
|
124
|
+
* there.
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* ```ts
|
|
128
|
+
* pressureScore(sample); // memory 4, cpu 60 (load 2.5× cores) → 35: backoff
|
|
129
|
+
* ```
|
|
130
|
+
*
|
|
131
|
+
* @task T12981
|
|
132
|
+
*/
|
|
133
|
+
export function pressureScore(sample) {
|
|
134
|
+
const mem = (sample.globalPressure?.some ?? sample.slicePressure?.some)?.avg10 ?? 0;
|
|
135
|
+
const cpu = sample.cpuPressure?.some?.avg10;
|
|
136
|
+
if (cpu === undefined)
|
|
137
|
+
return mem;
|
|
138
|
+
const scaled = cpu <= 33 ? (cpu * 10) / 33 : cpu <= 50 ? 10 + ((cpu - 33) * 15) / 17 : cpu - 25;
|
|
139
|
+
return Math.max(mem, scaled);
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* CPU saturation verdict, or `null` when the backend reports no CPU signal.
|
|
143
|
+
* Same hysteresis rule as memory: leaving `hold`/`backoff` needs the signal
|
|
144
|
+
* below the hold threshold minus the hysteresis band.
|
|
145
|
+
*
|
|
146
|
+
* @task T12981
|
|
147
|
+
*/
|
|
148
|
+
function evaluateCpuState(sample, thresholds, currentState) {
|
|
149
|
+
const some = sample.cpuPressure?.some?.avg10;
|
|
150
|
+
if (some === undefined)
|
|
151
|
+
return null;
|
|
152
|
+
const tag = `cpu some avg10=${some.toFixed(2)}`;
|
|
153
|
+
if (some > thresholds.backoffCpuSomeAvg10) {
|
|
154
|
+
return { state: 'backoff', reason: `${tag} — above cpu backoff threshold` };
|
|
155
|
+
}
|
|
156
|
+
if (some > thresholds.holdCpuSomeAvg10) {
|
|
157
|
+
return { state: 'hold', reason: `${tag} — above cpu hold threshold` };
|
|
158
|
+
}
|
|
159
|
+
const floor = thresholds.holdCpuSomeAvg10 - thresholds.hysteresisPoints;
|
|
160
|
+
if (currentState !== 'ok' && some > floor) {
|
|
161
|
+
return { state: 'hold', reason: `${tag} — cpu hysteresis hold (floor ${floor})` };
|
|
162
|
+
}
|
|
163
|
+
return { state: 'ok', reason: `${tag} — below cpu thresholds` };
|
|
164
|
+
}
|
|
165
|
+
function evaluateMemoryState(sample, thresholds, currentState) {
|
|
84
166
|
if (!sample.pressureAvailable) {
|
|
85
167
|
// Degraded mode — availability-only
|
|
86
168
|
if (sample.memAvailableBytes !== null && sample.memAvailableBytes < thresholds.headroomBytes) {
|
|
@@ -157,7 +239,7 @@ export class ResourceMonitor extends EventEmitter {
|
|
|
157
239
|
constructor(cfg = {}) {
|
|
158
240
|
super();
|
|
159
241
|
this.thresholds = resolveThresholds(cfg);
|
|
160
|
-
this.backend = cfg.backend ??
|
|
242
|
+
this.backend = cfg.backend ?? defaultResourceBackend();
|
|
161
243
|
}
|
|
162
244
|
// -------------------------------------------------------------------------
|
|
163
245
|
// Public API
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../src/resources/monitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../src/resources/monitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `cleo run` admission: the one front door for heavy commands an agent runs
|
|
3
|
+
* itself (test runners, compilers, builds, installs).
|
|
4
|
+
*
|
|
5
|
+
* Every heavy command goes through the {@link ResourceGovernor} class budgets,
|
|
6
|
+
* so all `cleo run` jobs share one machine-wide budget per class, whichever
|
|
7
|
+
* agent, session or project asks. `cleo verify` still admits through the tool
|
|
8
|
+
* semaphore until #1775 (T12963) routes it through the governor too. This
|
|
9
|
+
* module holds the pure pieces; `run-governed.ts` runs the loop.
|
|
10
|
+
*
|
|
11
|
+
* - {@link resolveRunClass} / {@link isPausable}: the governor class and
|
|
12
|
+
* whether the job may be paused under pressure
|
|
13
|
+
* - the machine-wide job registry (`<cleoHome>/run/jobs/*.json`): who is
|
|
14
|
+
* running what, with a heartbeat, so the soft-stop envelope can name the
|
|
15
|
+
* holders and runners can coordinate pauses
|
|
16
|
+
* - orphan recovery ({@link reapOrphans}): a runner killed outright
|
|
17
|
+
* (SIGKILL, jetsam) leaves its detached child group behind; the next reap
|
|
18
|
+
* resumes and terminates it after checking it is the same process (start
|
|
19
|
+
* time). A failed `ps` is "unknown" and never acted on.
|
|
20
|
+
* - {@link decidePause}: under `backoff` only the oldest job runs; a job
|
|
21
|
+
* resumed by the starvation cap gets a guaranteed run window
|
|
22
|
+
* - {@link buildRunDeferral}: the `E_RESOURCE_DEFERRED` details and the ways
|
|
23
|
+
* an agent can keep making progress
|
|
24
|
+
*
|
|
25
|
+
* The registry and queue are per `CLEO_HOME` (the machine's CLEO data dir).
|
|
26
|
+
*
|
|
27
|
+
* @module resources/run-admission
|
|
28
|
+
* @task T12979
|
|
29
|
+
* @task T12980
|
|
30
|
+
* @epic T12978
|
|
31
|
+
*/
|
|
32
|
+
import type { ResourceClass } from '@cleocode/contracts';
|
|
33
|
+
import type { PressureState } from './monitor.js';
|
|
34
|
+
export { type CommandTarget, canonicalForClass, commandTarget, isPausable, isWatchCommand, looksHeavy, RUN_CLASS_ALIASES, resolveRunClass, } from './run-class.js';
|
|
35
|
+
/**
|
|
36
|
+
* The command line as recorded: secret-looking `name=value` pairs, the value
|
|
37
|
+
* after a secret-looking flag (`--token X`), URL userinfo and bearer tokens
|
|
38
|
+
* masked; truncated to 160 characters.
|
|
39
|
+
*/
|
|
40
|
+
export declare function redactCommand(argv: readonly string[]): string;
|
|
41
|
+
/** Process start time as `ps` prints it, or `null` when the pid is gone. */
|
|
42
|
+
export type ProcessStartFn = (pid: number) => string | null;
|
|
43
|
+
/** A pid we may ever signal or probe: an integer above 1 (never 0, 1 or -1). */
|
|
44
|
+
export declare function isSignalablePid(pid: unknown): pid is number;
|
|
45
|
+
/** One `ps -o lstart=` exec. Used only off the hot path (spawn, stale records). */
|
|
46
|
+
export declare const processStart: ProcessStartFn;
|
|
47
|
+
/** Signal one process (a nested job's non-detached child). Refuses pid ≤ 1. */
|
|
48
|
+
export declare function signalPid(pid: number, signal: NodeJS.Signals): boolean;
|
|
49
|
+
/** Signal a whole process group. Never falls back to a bare pid. */
|
|
50
|
+
export declare function signalGroup(pid: number, signal: NodeJS.Signals): boolean;
|
|
51
|
+
/** One running `cleo run` job, as recorded machine-wide. */
|
|
52
|
+
export interface RunJob {
|
|
53
|
+
/** `<pid>-<startedAtMs>`, also the file name. */
|
|
54
|
+
readonly id: string;
|
|
55
|
+
/** The `cleo run` process. */
|
|
56
|
+
readonly pid: number;
|
|
57
|
+
/** `ps` start time of the runner, to tell a reused pid apart. */
|
|
58
|
+
readonly runnerStart: string | null;
|
|
59
|
+
/** The command's process group leader, once spawned. */
|
|
60
|
+
readonly childPid: number | null;
|
|
61
|
+
/** `ps` start time of the child, checked before any orphan signal. */
|
|
62
|
+
readonly childStart: string | null;
|
|
63
|
+
readonly class: ResourceClass;
|
|
64
|
+
/** Redacted, truncated command line. Never the environment. */
|
|
65
|
+
readonly command: string;
|
|
66
|
+
readonly cwd: string;
|
|
67
|
+
readonly startedAtMs: number;
|
|
68
|
+
/** The CLEO or agent session that asked, when known. */
|
|
69
|
+
readonly sessionId: string | null;
|
|
70
|
+
/** When the job was paused under pressure, else `null`. */
|
|
71
|
+
readonly pausedAtMs: number | null;
|
|
72
|
+
/** Whether the job may be paused ({@link isPausable}). */
|
|
73
|
+
readonly pausable: boolean;
|
|
74
|
+
/** Refreshed by the runner on every poll. */
|
|
75
|
+
readonly heartbeatAtMs: number;
|
|
76
|
+
/**
|
|
77
|
+
* The enclosing job when this run is nested in another `cleo run` (its
|
|
78
|
+
* runner lives in that job's process group), else null. Absent in records
|
|
79
|
+
* from older builds.
|
|
80
|
+
*/
|
|
81
|
+
readonly parentJob?: string | null;
|
|
82
|
+
/** Whether this job holds a slot of its own (a same-class nested run does not). */
|
|
83
|
+
readonly holdsSlot?: boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Whether the child leads its own process group (spawned detached). False
|
|
86
|
+
* for a nested run and for a `--passthrough` run in a terminal's foreground
|
|
87
|
+
* group: those are signalled by pid, never by group. Absent in records from
|
|
88
|
+
* older builds, where only a nested run (`parentJob`) shares a group.
|
|
89
|
+
*/
|
|
90
|
+
readonly leadsGroup?: boolean;
|
|
91
|
+
}
|
|
92
|
+
/** A record whose heartbeat is older than this is checked for a dead runner. */
|
|
93
|
+
export declare const JOB_STALE_MS = 60000;
|
|
94
|
+
/** Registry directory: `<cleoHome>/run/jobs`. */
|
|
95
|
+
export declare function runJobsDir(cleoHome?: string): string;
|
|
96
|
+
/** Wait-queue directory for a class: `<cleoHome>/run/queue/<class>`. */
|
|
97
|
+
export declare function runQueueDir(cls: ResourceClass, cleoHome?: string): string;
|
|
98
|
+
/** Overwrite a job record atomically. Never throws. */
|
|
99
|
+
export declare function writeRunJob(job: RunJob, dir?: string): void;
|
|
100
|
+
/** Remove a job record. Never throws. */
|
|
101
|
+
export declare function removeRunJob(id: string, dir?: string): void;
|
|
102
|
+
/** Injectable process probes for {@link listRunJobs} (tests). */
|
|
103
|
+
export interface RegistryProbes {
|
|
104
|
+
readonly alive: (pid: number) => boolean;
|
|
105
|
+
readonly start: ProcessStartFn;
|
|
106
|
+
/** Signal a process group (a detached job's child leads its own). */
|
|
107
|
+
readonly signal: (pid: number, signal: NodeJS.Signals) => boolean;
|
|
108
|
+
/** Signal one process (a nested job's child, which leads no group). */
|
|
109
|
+
readonly signalPid: (pid: number, signal: NodeJS.Signals) => boolean;
|
|
110
|
+
readonly now: () => number;
|
|
111
|
+
}
|
|
112
|
+
/** What a record says about its runner, from probes that may fail. */
|
|
113
|
+
export type RunnerState = 'live' | 'dead' | 'unknown';
|
|
114
|
+
/**
|
|
115
|
+
* The runner of a record: `dead` when its pid is free, or (only once the
|
|
116
|
+
* heartbeat is stale, keeping `ps` off the hot path) when the pid now belongs
|
|
117
|
+
* to a different process. A failed `ps` is `unknown`, never `dead`: under the
|
|
118
|
+
* very overload this governor exists for, `ps` times out or cannot fork, and
|
|
119
|
+
* acting on that would signal live jobs (#1777 round 3, H-1).
|
|
120
|
+
*/
|
|
121
|
+
export declare function runnerState(job: RunJob, probes: RegistryProbes): RunnerState;
|
|
122
|
+
/**
|
|
123
|
+
* Live jobs, oldest first. A pure read: it never signals or deletes (reaping
|
|
124
|
+
* is {@link reapOrphans}). Records whose runner is dead, unknown, or alive
|
|
125
|
+
* with a stale heartbeat (a suspended machine) are left out.
|
|
126
|
+
*/
|
|
127
|
+
export declare function listRunJobs(dir?: string, probes?: Partial<RegistryProbes>): RunJob[];
|
|
128
|
+
/**
|
|
129
|
+
* Reap the records of dead runners: resume and stop their orphaned child
|
|
130
|
+
* groups ({@link recoverOrphan}) and delete the record, unless the child's
|
|
131
|
+
* identity could not be read (kept for the next reap). Records whose runner
|
|
132
|
+
* is `unknown` are never touched. Unreadable files older than the stale
|
|
133
|
+
* window are removed.
|
|
134
|
+
*
|
|
135
|
+
* @returns how many records were removed.
|
|
136
|
+
*/
|
|
137
|
+
export declare function reapOrphans(dir?: string, probes?: Partial<RegistryProbes>): number;
|
|
138
|
+
/** The process group a pid belongs to, from one `ps` exec; null when unknown. */
|
|
139
|
+
export declare function processGroupOf(pid: number): number | null;
|
|
140
|
+
/**
|
|
141
|
+
* The ancestors of a pid, nearest first, from ONE `ps` of the process table
|
|
142
|
+
* (pid 1 and below excluded); null when `ps` fails.
|
|
143
|
+
*/
|
|
144
|
+
export declare function processAncestors(pid: number): number[] | null;
|
|
145
|
+
/**
|
|
146
|
+
* The running `cleo run` job whose process tree `pid` belongs to, or null.
|
|
147
|
+
*
|
|
148
|
+
* A governed child is normally spawned detached, so it leads its own session
|
|
149
|
+
* and process group (pgid = its pid). A process whose group id equals a live
|
|
150
|
+
* job's `childPid`, with the leader's start time matching the record, runs
|
|
151
|
+
* inside that job. This cannot be forged from outside: a session leader's
|
|
152
|
+
* group can only be joined by processes in its own session, and the
|
|
153
|
+
* start-time check rules out a reused pid.
|
|
154
|
+
*
|
|
155
|
+
* When the group says nothing, ancestry decides: `pid` descends from the
|
|
156
|
+
* child of a live job that leads no group (a `--passthrough` run in a
|
|
157
|
+
* terminal's foreground group, OR a nested run). Ancestry can't be forged
|
|
158
|
+
* either (the kernel sets the parent; an orphan is reparented away from the
|
|
159
|
+
* job). It costs one `ps` of the process table, read only while at least one
|
|
160
|
+
* live job, foreground or nested, leads no group.
|
|
161
|
+
*
|
|
162
|
+
* Any failure to read `ps` returns null (normal admission).
|
|
163
|
+
*/
|
|
164
|
+
export declare function parentRunJob(input: {
|
|
165
|
+
readonly pid: number;
|
|
166
|
+
/** Only a parent holding THIS class passes a nested run through (#1777 round 4, MED-1). */
|
|
167
|
+
readonly cls?: ResourceClass;
|
|
168
|
+
readonly jobsDir?: string;
|
|
169
|
+
readonly probes?: Partial<RegistryProbes>;
|
|
170
|
+
readonly groupOf?: (pid: number) => number | null;
|
|
171
|
+
readonly ancestorsOf?: (pid: number) => readonly number[] | null;
|
|
172
|
+
}): RunJob | null;
|
|
173
|
+
/** A job waiting in the `--wait` queue. */
|
|
174
|
+
export interface QueueTicket {
|
|
175
|
+
readonly id: string;
|
|
176
|
+
readonly pid: number;
|
|
177
|
+
readonly runnerStart: string | null;
|
|
178
|
+
readonly enqueuedAtMs: number;
|
|
179
|
+
readonly heartbeatAtMs: number;
|
|
180
|
+
readonly command: string;
|
|
181
|
+
}
|
|
182
|
+
/** Add or refresh a wait ticket. Never throws. */
|
|
183
|
+
export declare function writeQueueTicket(ticket: QueueTicket, dir: string): void;
|
|
184
|
+
/** Remove a wait ticket. Never throws. */
|
|
185
|
+
export declare function removeQueueTicket(id: string, dir: string): void;
|
|
186
|
+
/**
|
|
187
|
+
* Live tickets in arrival order (FIFO). Invalid tickets, tickets of a dead
|
|
188
|
+
* runner, and tickets whose heartbeat is stale or implausibly far in the
|
|
189
|
+
* future are dropped (#1777 round 3, L-2): an abandoned ticket never blocks
|
|
190
|
+
* a class for longer than the stale window.
|
|
191
|
+
*/
|
|
192
|
+
export declare function listQueueTickets(dir: string, probes?: Partial<RegistryProbes>): QueueTicket[];
|
|
193
|
+
/** One holder of a `cleo verify` tool slot (`<cleoHome>/locks/tool-*`). */
|
|
194
|
+
export interface VerifyHolder {
|
|
195
|
+
readonly tool: string;
|
|
196
|
+
readonly pid: number;
|
|
197
|
+
readonly acquiredAtMs: number;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Live holders of `cleo verify` tool slots on this host, read from the tool
|
|
201
|
+
* semaphore's holder sidecars. Read-only: never touches a lock.
|
|
202
|
+
*/
|
|
203
|
+
export declare function listVerifyHolders(cleoHome?: string, alive?: (pid: number) => boolean): VerifyHolder[];
|
|
204
|
+
/**
|
|
205
|
+
* A paused job resumes after this long even under pressure (no starvation).
|
|
206
|
+
*
|
|
207
|
+
* Kept below the slot-lock steal threshold: a pause freezes every process in
|
|
208
|
+
* the job's group, including any slot holder nested in it (a `cleo run`
|
|
209
|
+
* runner, or an in-process governor grant such as exodus-on-open or verify),
|
|
210
|
+
* whose lock then stops refreshing. A lock refreshes every
|
|
211
|
+
* `SLOT_LOCK_UPDATE_MS` (15 s) and is stolen once older than
|
|
212
|
+
* `SLOT_LOCK_STALE_MS` (10 min), so a holder frozen for less than 9 min 45 s
|
|
213
|
+
* keeps its slot (#1777 round 6, R6-1).
|
|
214
|
+
*/
|
|
215
|
+
export declare const MAX_PAUSE_MS: number;
|
|
216
|
+
/** After a cap resume, the job runs at least this long before it can pause again. */
|
|
217
|
+
export declare const CAP_RUN_WINDOW_MS: number;
|
|
218
|
+
/** Why {@link decidePause} decided what it did. */
|
|
219
|
+
export type PauseReason = 'below-backoff' | 'not-pausable' | 'nested-slot' | 'oldest' | 'cap' | 'run-window' | 'younger';
|
|
220
|
+
/**
|
|
221
|
+
* Should this job run or pause right now?
|
|
222
|
+
*
|
|
223
|
+
* - Below `backoff`, or a job that may not be paused: run.
|
|
224
|
+
* - A job with a live nested run that holds its own slot: run
|
|
225
|
+
* (`'nested-slot'`), so that run's slot lock never goes stale while frozen.
|
|
226
|
+
* - At `backoff`: the oldest live job keeps running so the machine always
|
|
227
|
+
* makes progress; every younger pausable job pauses. Pausing frees CPU at
|
|
228
|
+
* once and stops memory growth; nothing is killed and no work is lost.
|
|
229
|
+
* - A job paused for {@link MAX_PAUSE_MS} resumes (`'cap'`) and then runs for
|
|
230
|
+
* at least {@link CAP_RUN_WINDOW_MS} (`'run-window'`) before it can pause
|
|
231
|
+
* again, so a long backoff alternates jobs instead of starving them.
|
|
232
|
+
*
|
|
233
|
+
* @example
|
|
234
|
+
* ```ts
|
|
235
|
+
* decidePause({ state: 'backoff', self, jobs: [old, self], nowMs }).decision; // 'pause'
|
|
236
|
+
* decidePause({ state: 'hold', self, jobs: [old, self], nowMs }).decision; // 'run'
|
|
237
|
+
* ```
|
|
238
|
+
*/
|
|
239
|
+
export declare function decidePause(input: {
|
|
240
|
+
readonly state: PressureState;
|
|
241
|
+
readonly self: Pick<RunJob, 'id' | 'pausable'>;
|
|
242
|
+
readonly jobs: readonly Pick<RunJob, 'id' | 'parentJob' | 'holdsSlot'>[];
|
|
243
|
+
readonly nowMs: number;
|
|
244
|
+
readonly pausedAtMs?: number | null;
|
|
245
|
+
readonly capResumedAtMs?: number | null;
|
|
246
|
+
readonly maxPauseMs?: number;
|
|
247
|
+
readonly runWindowMs?: number;
|
|
248
|
+
}): {
|
|
249
|
+
decision: 'run' | 'pause';
|
|
250
|
+
reason: PauseReason;
|
|
251
|
+
};
|
|
252
|
+
/** One way forward offered with a deferral. Matches the LAFS `alternatives` shape. */
|
|
253
|
+
export interface RunAlternative {
|
|
254
|
+
readonly action: string;
|
|
255
|
+
readonly command: string;
|
|
256
|
+
}
|
|
257
|
+
/** One entry of `running[]`: a `cleo run` job or a `cleo verify` tool slot. */
|
|
258
|
+
export interface RunningEntry {
|
|
259
|
+
readonly source: 'run' | 'verify';
|
|
260
|
+
readonly class: string;
|
|
261
|
+
readonly command: string;
|
|
262
|
+
readonly cwd: string | null;
|
|
263
|
+
readonly startedAtMs: number;
|
|
264
|
+
readonly sessionId: string | null;
|
|
265
|
+
readonly pausedAtMs: number | null;
|
|
266
|
+
}
|
|
267
|
+
/** `error.details` of an `E_RESOURCE_DEFERRED` from `cleo run`. */
|
|
268
|
+
export interface RunDeferralDetails {
|
|
269
|
+
readonly class: ResourceClass;
|
|
270
|
+
readonly reason: string;
|
|
271
|
+
readonly retryAfterMs: number;
|
|
272
|
+
/** Position in the class's wait queue when it timed out under `--wait`. */
|
|
273
|
+
readonly queuePosition: number | null;
|
|
274
|
+
readonly pressure: {
|
|
275
|
+
readonly state: PressureState;
|
|
276
|
+
/** Memory-scale score (see `pressureScore`). */
|
|
277
|
+
readonly score: number;
|
|
278
|
+
readonly reason: string;
|
|
279
|
+
readonly memAvailableBytes: number | null;
|
|
280
|
+
};
|
|
281
|
+
/** Live `cleo run` jobs and `cleo verify` tool slots, oldest first. */
|
|
282
|
+
readonly running: readonly RunningEntry[];
|
|
283
|
+
}
|
|
284
|
+
/** Merge `cleo run` jobs and `cleo verify` holders into one oldest-first list. */
|
|
285
|
+
export declare function runningEntries(jobs: readonly RunJob[], holders: readonly VerifyHolder[]): RunningEntry[];
|
|
286
|
+
/**
|
|
287
|
+
* Build the deferral details plus the ways forward. The alternatives are
|
|
288
|
+
* concrete commands, ordered by how little they cost the machine.
|
|
289
|
+
*/
|
|
290
|
+
export declare function buildRunDeferral(input: {
|
|
291
|
+
readonly cls: ResourceClass;
|
|
292
|
+
readonly argv: readonly string[];
|
|
293
|
+
readonly reason: string;
|
|
294
|
+
readonly retryAfterMs: number;
|
|
295
|
+
readonly queuePosition?: number | null;
|
|
296
|
+
readonly pressure: RunDeferralDetails['pressure'];
|
|
297
|
+
readonly running: readonly RunningEntry[];
|
|
298
|
+
}): {
|
|
299
|
+
details: RunDeferralDetails;
|
|
300
|
+
alternatives: RunAlternative[];
|
|
301
|
+
fix: string;
|
|
302
|
+
};
|
|
303
|
+
//# sourceMappingURL=run-admission.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-admission.d.ts","sourceRoot":"","sources":["../../src/resources/run-admission.ts"],"names":[],"mappings":"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"}
|