@cleocode/core 2026.10.4 → 2026.10.5-rc.ci.672
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/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +7 -37
- package/dist/bootstrap.js.map +1 -1
- package/dist/build-provenance.json +2 -2
- package/dist/caamp/adapter.d.ts.map +1 -1
- package/dist/caamp/adapter.js +5 -2
- package/dist/caamp/adapter.js.map +1 -1
- package/dist/changesets/parse-frontmatter.d.ts +1 -1
- package/dist/changesets/parse-frontmatter.d.ts.map +1 -1
- package/dist/changesets/parse-frontmatter.js +2 -1
- package/dist/changesets/parse-frontmatter.js.map +1 -1
- package/dist/changesets/parser.d.ts +1 -1
- package/dist/changesets/parser.d.ts.map +1 -1
- package/dist/changesets/parser.js +2 -1
- package/dist/changesets/parser.js.map +1 -1
- package/dist/changesets/writer.d.ts +8 -1
- package/dist/changesets/writer.d.ts.map +1 -1
- package/dist/changesets/writer.js +56 -5
- package/dist/changesets/writer.js.map +1 -1
- package/dist/cloud/keys.d.ts +9 -0
- package/dist/cloud/keys.d.ts.map +1 -1
- package/dist/cloud/keys.js +11 -0
- package/dist/cloud/keys.js.map +1 -1
- package/dist/cloud/nexus-attach.d.ts +17 -0
- package/dist/cloud/nexus-attach.d.ts.map +1 -1
- package/dist/cloud/nexus-attach.js +30 -9
- package/dist/cloud/nexus-attach.js.map +1 -1
- package/dist/cloud/nexus-auth.d.ts +7 -1
- package/dist/cloud/nexus-auth.d.ts.map +1 -1
- package/dist/cloud/nexus-auth.js +7 -1
- package/dist/cloud/nexus-auth.js.map +1 -1
- package/dist/cloud/nexus-cloud-activity.d.ts.map +1 -1
- package/dist/cloud/nexus-cloud-activity.js +2 -1
- package/dist/cloud/nexus-cloud-activity.js.map +1 -1
- package/dist/cloud/nexus-cloud-conflicts.d.ts +48 -0
- package/dist/cloud/nexus-cloud-conflicts.d.ts.map +1 -0
- package/dist/cloud/nexus-cloud-conflicts.js +68 -0
- package/dist/cloud/nexus-cloud-conflicts.js.map +1 -0
- package/dist/cloud/nexus-cloud-status.d.ts +42 -6
- package/dist/cloud/nexus-cloud-status.d.ts.map +1 -1
- package/dist/cloud/nexus-cloud-status.js +233 -19
- package/dist/cloud/nexus-cloud-status.js.map +1 -1
- package/dist/cloud/nexus-cloud.d.ts +18 -1
- package/dist/cloud/nexus-cloud.d.ts.map +1 -1
- package/dist/cloud/nexus-cloud.js +56 -2
- package/dist/cloud/nexus-cloud.js.map +1 -1
- package/dist/cloud/nexus-credentials.d.ts +1 -1
- package/dist/cloud/nexus-credentials.d.ts.map +1 -1
- package/dist/cloud/nexus-credentials.js +1 -1
- package/dist/cloud/nexus-credentials.js.map +1 -1
- package/dist/cloud/nexus-enrol.d.ts +1 -1
- package/dist/cloud/nexus-enrol.d.ts.map +1 -1
- package/dist/cloud/nexus-enrol.js +2 -1
- package/dist/cloud/nexus-enrol.js.map +1 -1
- package/dist/cloud/nexus-first-run.d.ts +6 -2
- package/dist/cloud/nexus-first-run.d.ts.map +1 -1
- package/dist/cloud/nexus-first-run.js +8 -2
- package/dist/cloud/nexus-first-run.js.map +1 -1
- package/dist/cloud/nexus-link.d.ts +35 -4
- package/dist/cloud/nexus-link.d.ts.map +1 -1
- package/dist/cloud/nexus-link.js +172 -7
- package/dist/cloud/nexus-link.js.map +1 -1
- package/dist/cloud/nexus-presence-refresh.d.ts +65 -0
- package/dist/cloud/nexus-presence-refresh.d.ts.map +1 -0
- package/dist/cloud/nexus-presence-refresh.js +122 -0
- package/dist/cloud/nexus-presence-refresh.js.map +1 -0
- package/dist/cloud/nexus-project-history.d.ts +54 -0
- package/dist/cloud/nexus-project-history.d.ts.map +1 -0
- package/dist/cloud/nexus-project-history.js +108 -0
- package/dist/cloud/nexus-project-history.js.map +1 -0
- package/dist/cloud/nexus-vault-keys.d.ts.map +1 -1
- package/dist/cloud/nexus-vault-keys.js +12 -6
- package/dist/cloud/nexus-vault-keys.js.map +1 -1
- package/dist/cloud/nexus-vault.d.ts +7 -3
- package/dist/cloud/nexus-vault.d.ts.map +1 -1
- package/dist/cloud/nexus-vault.js +176 -29
- package/dist/cloud/nexus-vault.js.map +1 -1
- package/dist/cloud/presence.d.ts +1 -1
- package/dist/cloud/presence.d.ts.map +1 -1
- package/dist/cloud/presence.js +1 -1
- package/dist/cloud/presence.js.map +1 -1
- package/dist/cloud/projects.d.ts +7 -4
- package/dist/cloud/projects.d.ts.map +1 -1
- package/dist/cloud/projects.js +10 -1
- package/dist/cloud/projects.js.map +1 -1
- package/dist/cloud/signing.d.ts +14 -0
- package/dist/cloud/signing.d.ts.map +1 -1
- package/dist/cloud/signing.js +9 -0
- package/dist/cloud/signing.js.map +1 -1
- package/dist/conduit/cloud-endpoint.d.ts +96 -0
- package/dist/conduit/cloud-endpoint.d.ts.map +1 -0
- package/dist/conduit/cloud-endpoint.js +191 -0
- package/dist/conduit/cloud-endpoint.js.map +1 -0
- package/dist/conduit/conduit-client.d.ts.map +1 -1
- package/dist/conduit/conduit-client.js +2 -1
- package/dist/conduit/conduit-client.js.map +1 -1
- package/dist/conduit/factory.d.ts +4 -0
- package/dist/conduit/factory.d.ts.map +1 -1
- package/dist/conduit/factory.js +7 -1
- package/dist/conduit/factory.js.map +1 -1
- package/dist/conduit/http-transport.d.ts +12 -7
- package/dist/conduit/http-transport.d.ts.map +1 -1
- package/dist/conduit/http-transport.js +18 -11
- package/dist/conduit/http-transport.js.map +1 -1
- package/dist/conduit/index.d.ts +3 -1
- package/dist/conduit/index.d.ts.map +1 -1
- package/dist/conduit/index.js +3 -1
- package/dist/conduit/index.js.map +1 -1
- package/dist/conduit/sse-transport.d.ts +5 -1
- package/dist/conduit/sse-transport.d.ts.map +1 -1
- package/dist/conduit/sse-transport.js +10 -2
- package/dist/conduit/sse-transport.js.map +1 -1
- package/dist/config/registry.js +1 -1
- package/dist/config/registry.js.map +1 -1
- package/dist/core-paths.d.ts +13 -0
- package/dist/core-paths.d.ts.map +1 -0
- package/dist/core-paths.js +13 -0
- package/dist/core-paths.js.map +1 -0
- package/dist/decide/bench/source.js +1 -1
- package/dist/decide/bench/source.js.map +1 -1
- package/dist/decide/client.d.ts +1 -1
- package/dist/decide/client.d.ts.map +1 -1
- package/dist/decide/client.js +1 -1
- package/dist/decide/client.js.map +1 -1
- package/dist/decide/credentials.d.ts +1 -1
- package/dist/decide/credentials.d.ts.map +1 -1
- package/dist/decide/credentials.js +1 -1
- package/dist/decide/credentials.js.map +1 -1
- package/dist/decide/jev-wire.d.ts +1 -1
- package/dist/decide/jev-wire.d.ts.map +1 -1
- package/dist/decide/jev-wire.js +1 -1
- package/dist/decide/jev-wire.js.map +1 -1
- package/dist/decide/operations.d.ts +1 -1
- package/dist/decide/operations.d.ts.map +1 -1
- package/dist/decide/operations.js +1 -1
- package/dist/decide/operations.js.map +1 -1
- package/dist/decide/providers.d.ts +1 -1
- package/dist/decide/providers.d.ts.map +1 -1
- package/dist/decide/providers.js +1 -1
- package/dist/decide/providers.js.map +1 -1
- package/dist/decide/wizard.d.ts.map +1 -1
- package/dist/decide/wizard.js +1 -1
- package/dist/decide/wizard.js.map +1 -1
- package/dist/dispatch/config-domain-handler.d.ts +1 -1
- package/dist/dispatch/config-domain-handler.d.ts.map +1 -1
- package/dist/dispatch/config-domain-handler.js +1 -1
- package/dist/dispatch/config-domain-handler.js.map +1 -1
- package/dist/dispatch/contracts/ensures-schema.d.ts +1 -1
- package/dist/dispatch/contracts/ensures-schema.d.ts.map +1 -1
- package/dist/dispatch/contracts/ensures-schema.js +1 -1
- package/dist/dispatch/contracts/ensures-schema.js.map +1 -1
- package/dist/dispatch/contracts/input-contracts.d.ts +1 -1
- package/dist/dispatch/contracts/input-contracts.d.ts.map +1 -1
- package/dist/dispatch/contracts/input-contracts.js +3 -1
- package/dist/dispatch/contracts/input-contracts.js.map +1 -1
- package/dist/dispatch/describe-operation.d.ts +1 -1
- package/dist/dispatch/describe-operation.d.ts.map +1 -1
- package/dist/dispatch/describe-operation.js +1 -1
- package/dist/dispatch/describe-operation.js.map +1 -1
- package/dist/docs/display-alias.js +1 -1
- package/dist/docs/display-alias.js.map +1 -1
- package/dist/docs/docs-update.d.ts +1 -1
- package/dist/docs/docs-update.d.ts.map +1 -1
- package/dist/docs/docs-update.js +2 -1
- package/dist/docs/docs-update.js.map +1 -1
- package/dist/docs/export-document.js +14 -58300
- package/dist/docs/export-document.js.map +3 -3
- package/dist/docs/publish-pr.js +1 -1
- package/dist/docs/publish-pr.js.map +1 -1
- package/dist/docs/supersede.js +1 -1
- package/dist/docs/supersede.js.map +1 -1
- package/dist/docs/validate-body.d.ts +1 -1
- package/dist/docs/validate-body.d.ts.map +1 -1
- package/dist/docs/validate-body.js +1 -1
- package/dist/docs/validate-body.js.map +1 -1
- package/dist/docs/writer-registry.js +1 -1
- package/dist/docs/writer-registry.js.map +1 -1
- package/dist/doctor/acceptance-drift.js +1 -1
- package/dist/doctor/acceptance-drift.js.map +1 -1
- package/dist/doctor/db-substrate.d.ts +1 -1
- package/dist/doctor/db-substrate.d.ts.map +1 -1
- package/dist/doctor/db-substrate.js +1 -1
- package/dist/doctor/db-substrate.js.map +1 -1
- package/dist/doctor/invariant-audit.js +1 -1
- package/dist/doctor/invariant-audit.js.map +1 -1
- package/dist/doctor/malformed-task-ids.js +1 -1
- package/dist/doctor/malformed-task-ids.js.map +1 -1
- package/dist/doctor/row-identity-refill.d.ts +43 -0
- package/dist/doctor/row-identity-refill.d.ts.map +1 -0
- package/dist/doctor/row-identity-refill.js +186 -0
- package/dist/doctor/row-identity-refill.js.map +1 -0
- package/dist/doctor/superseded-store.d.ts.map +1 -1
- package/dist/doctor/superseded-store.js +51 -2
- package/dist/doctor/superseded-store.js.map +1 -1
- package/dist/doctor/sync-repair.d.ts +39 -0
- package/dist/doctor/sync-repair.d.ts.map +1 -0
- package/dist/doctor/sync-repair.js +71 -0
- package/dist/doctor/sync-repair.js.map +1 -0
- package/dist/doctor/sync-triggers.d.ts +63 -4
- package/dist/doctor/sync-triggers.d.ts.map +1 -1
- package/dist/doctor/sync-triggers.js +352 -9
- package/dist/doctor/sync-triggers.js.map +1 -1
- package/dist/doctor/twin-collapse.js +1 -1
- package/dist/doctor/twin-collapse.js.map +1 -1
- package/dist/engine/engine-ops.d.ts.map +1 -1
- package/dist/engine/engine-ops.js +7 -1
- package/dist/engine/engine-ops.js.map +1 -1
- package/dist/engine-result.d.ts +1 -1
- package/dist/engine-result.d.ts.map +1 -1
- package/dist/engine-result.js +1 -1
- package/dist/engine-result.js.map +1 -1
- package/dist/error-registry.d.ts +1 -1
- package/dist/error-registry.d.ts.map +1 -1
- package/dist/error-registry.js +1 -1
- package/dist/error-registry.js.map +1 -1
- package/dist/errors-to-engine.d.ts +20 -0
- package/dist/errors-to-engine.d.ts.map +1 -1
- package/dist/errors-to-engine.js +37 -0
- package/dist/errors-to-engine.js.map +1 -1
- package/dist/gc/janitor.d.ts +23 -4
- package/dist/gc/janitor.d.ts.map +1 -1
- package/dist/gc/janitor.js +71 -11
- package/dist/gc/janitor.js.map +1 -1
- package/dist/goal/continuation.d.ts +1 -1
- package/dist/goal/continuation.d.ts.map +1 -1
- package/dist/goal/continuation.js +1 -1
- package/dist/goal/continuation.js.map +1 -1
- package/dist/goal/judge.d.ts.map +1 -1
- package/dist/goal/judge.js +2 -1
- package/dist/goal/judge.js.map +1 -1
- package/dist/hooks/handlers/session-hooks.d.ts.map +1 -1
- package/dist/hooks/handlers/session-hooks.js +1 -1
- package/dist/hooks/handlers/session-hooks.js.map +1 -1
- package/dist/init/engine-ops.js +1 -1
- package/dist/init/engine-ops.js.map +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +10 -41
- package/dist/init.js.map +1 -1
- package/dist/inject/index.js +1 -1
- package/dist/inject/index.js.map +1 -1
- package/dist/injection.d.ts.map +1 -1
- package/dist/injection.js +13 -0
- package/dist/injection.js.map +1 -1
- package/dist/internal.d.ts +4 -3
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +7 -4
- package/dist/internal.js.map +1 -1
- package/dist/issue/create.js +1 -1
- package/dist/issue/create.js.map +1 -1
- package/dist/json-schema-validator.js +1 -1
- package/dist/json-schema-validator.js.map +1 -1
- package/dist/lifecycle/index.d.ts +2 -23
- package/dist/lifecycle/index.d.ts.map +1 -1
- package/dist/lifecycle/index.js +5 -112
- package/dist/lifecycle/index.js.map +1 -1
- package/dist/lifecycle/kind-requirements.d.ts +1 -1
- package/dist/lifecycle/kind-requirements.d.ts.map +1 -1
- package/dist/lifecycle/kind-requirements.js +1 -1
- package/dist/lifecycle/kind-requirements.js.map +1 -1
- package/dist/lifecycle/pipeline.js +1 -1
- package/dist/lifecycle/pipeline.js.map +1 -1
- package/dist/lifecycle/resume.js +2 -2
- package/dist/lifecycle/resume.js.map +1 -1
- package/dist/lifecycle/state-machine.js +1 -1
- package/dist/lifecycle/state-machine.js.map +1 -1
- package/dist/lifecycle/status.d.ts +46 -0
- package/dist/lifecycle/status.d.ts.map +1 -0
- package/dist/lifecycle/status.js +147 -0
- package/dist/lifecycle/status.js.map +1 -0
- package/dist/lifecycle/verification/satisfies-validator.js +1 -1
- package/dist/lifecycle/verification/satisfies-validator.js.map +1 -1
- package/dist/llm/catalog-seeder.d.ts +1 -1
- package/dist/llm/catalog-seeder.d.ts.map +1 -1
- package/dist/llm/catalog-seeder.js +1 -1
- package/dist/llm/catalog-seeder.js.map +1 -1
- package/dist/llm/cli-ops.d.ts +1 -2
- package/dist/llm/cli-ops.d.ts.map +1 -1
- package/dist/llm/cli-ops.js +2 -1
- package/dist/llm/cli-ops.js.map +1 -1
- package/dist/llm/credential-seeders/claude-code-seeder.js +1 -1
- package/dist/llm/credential-seeders/claude-code-seeder.js.map +1 -1
- package/dist/llm/credential-seeders/cleo-pkce-seeder.js +1 -1
- package/dist/llm/credential-seeders/cleo-pkce-seeder.js.map +1 -1
- package/dist/llm/credential-writeback.js +1 -1
- package/dist/llm/credential-writeback.js.map +1 -1
- package/dist/llm/entity-ops.d.ts +1 -1
- package/dist/llm/entity-ops.d.ts.map +1 -1
- package/dist/llm/entity-ops.js +2 -1
- package/dist/llm/entity-ops.js.map +1 -1
- package/dist/llm/llm-queue-admit.d.ts +1 -1
- package/dist/llm/llm-queue-admit.d.ts.map +1 -1
- package/dist/llm/llm-queue-admit.js +2 -1
- package/dist/llm/llm-queue-admit.js.map +1 -1
- package/dist/llm/onboarding/login-engine.js +1 -1
- package/dist/llm/onboarding/login-engine.js.map +1 -1
- package/dist/llm/pi/pi-errors.d.ts +1 -1
- package/dist/llm/pi/pi-errors.d.ts.map +1 -1
- package/dist/llm/pi/pi-errors.js +1 -1
- package/dist/llm/pi/pi-errors.js.map +1 -1
- package/dist/llm/plugin-facade.d.ts.map +1 -1
- package/dist/llm/plugin-facade.js +14 -93552
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/llm/system-key.d.ts +1 -1
- package/dist/llm/system-key.d.ts.map +1 -1
- package/dist/llm/system-key.js +1 -1
- package/dist/llm/system-key.js.map +1 -1
- package/dist/llm/system-of-use-registry.d.ts +1 -1
- package/dist/llm/system-of-use-registry.d.ts.map +1 -1
- package/dist/llm/system-of-use-registry.js +1 -1
- package/dist/llm/system-of-use-registry.js.map +1 -1
- package/dist/llm/system-resolver.js +1 -1
- package/dist/llm/system-resolver.js.map +1 -1
- package/dist/memory/brain-host.d.ts +71 -0
- package/dist/memory/brain-host.d.ts.map +1 -0
- package/dist/memory/brain-host.js +84 -0
- package/dist/memory/brain-host.js.map +1 -0
- package/dist/memory/brain-writer-handlers.d.ts.map +1 -1
- package/dist/memory/brain-writer-handlers.js +24 -7
- package/dist/memory/brain-writer-handlers.js.map +1 -1
- package/dist/memory/brain-writer-thread.d.ts +66 -6
- package/dist/memory/brain-writer-thread.d.ts.map +1 -1
- package/dist/memory/brain-writer-thread.js +67 -10
- package/dist/memory/brain-writer-thread.js.map +1 -1
- package/dist/memory/brain-writer-worker.js +7 -0
- package/dist/memory/brain-writer-worker.js.map +1 -1
- package/dist/memory/decisions.js +2 -1
- package/dist/memory/decisions.js.map +1 -1
- package/dist/memory/embedding-backfill.d.ts +70 -0
- package/dist/memory/embedding-backfill.d.ts.map +1 -0
- package/dist/memory/embedding-backfill.js +110 -0
- package/dist/memory/embedding-backfill.js.map +1 -0
- package/dist/memory/index.js +1 -1
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/manifest-identity.js +1 -1
- package/dist/memory/manifest-identity.js.map +1 -1
- package/dist/memory/retrieval/observe.d.ts +23 -0
- package/dist/memory/retrieval/observe.d.ts.map +1 -1
- package/dist/memory/retrieval/observe.js +82 -36
- package/dist/memory/retrieval/observe.js.map +1 -1
- package/dist/metrics/model-provider-registry.d.ts.map +1 -1
- package/dist/metrics/model-provider-registry.js +6 -0
- package/dist/metrics/model-provider-registry.js.map +1 -1
- package/dist/metrics/token-service.d.ts +17 -0
- package/dist/metrics/token-service.d.ts.map +1 -1
- package/dist/metrics/token-service.js +17 -0
- package/dist/metrics/token-service.js.map +1 -1
- package/dist/migration/index.js +1 -1
- package/dist/migration/index.js.map +1 -1
- package/dist/migration/manual/T10165-backfill-adr-index.js +1 -1
- package/dist/migration/manual/T10165-backfill-adr-index.js.map +1 -1
- package/dist/nexus/assessment-projection.d.ts +1 -1
- package/dist/nexus/assessment-projection.d.ts.map +1 -1
- package/dist/nexus/assessment-projection.js +1 -1
- package/dist/nexus/assessment-projection.js.map +1 -1
- package/dist/nexus/deps.d.ts +1 -1
- package/dist/nexus/deps.d.ts.map +1 -1
- package/dist/nexus/deps.js +1 -1
- package/dist/nexus/deps.js.map +1 -1
- package/dist/nexus/fleet-status.d.ts +1 -1
- package/dist/nexus/fleet-status.d.ts.map +1 -1
- package/dist/nexus/fleet-status.js +1 -1
- package/dist/nexus/fleet-status.js.map +1 -1
- package/dist/nexus/identity.js +1 -1
- package/dist/nexus/identity.js.map +1 -1
- package/dist/nexus/permissions.d.ts +1 -1
- package/dist/nexus/permissions.d.ts.map +1 -1
- package/dist/nexus/permissions.js +1 -1
- package/dist/nexus/permissions.js.map +1 -1
- package/dist/nexus/query-dsl.js +1 -1
- package/dist/nexus/query-dsl.js.map +1 -1
- package/dist/nexus/query.d.ts +1 -2
- package/dist/nexus/query.d.ts.map +1 -1
- package/dist/nexus/query.js +1 -1
- package/dist/nexus/query.js.map +1 -1
- package/dist/nexus/registry-errors.js +1 -1
- package/dist/nexus/registry-errors.js.map +1 -1
- package/dist/nexus/registry.d.ts +1 -1
- package/dist/nexus/registry.d.ts.map +1 -1
- package/dist/nexus/registry.js +1 -1
- package/dist/nexus/registry.js.map +1 -1
- package/dist/nexus/workspace.js +1 -1
- package/dist/nexus/workspace.js.map +1 -1
- package/dist/orchestrate/pivot.d.ts.map +1 -1
- package/dist/orchestrate/pivot.js +2 -1
- package/dist/orchestrate/pivot.js.map +1 -1
- package/dist/orchestrate/query-ops.js +1 -1
- package/dist/orchestrate/query-ops.js.map +1 -1
- package/dist/orchestrate/spawn-ops.js +1 -1
- package/dist/orchestrate/spawn-ops.js.map +1 -1
- package/dist/orchestration/atomicity.d.ts +1 -1
- package/dist/orchestration/atomicity.d.ts.map +1 -1
- package/dist/orchestration/atomicity.js +1 -1
- package/dist/orchestration/atomicity.js.map +1 -1
- package/dist/orchestration/classify.js +1 -1
- package/dist/orchestration/classify.js.map +1 -1
- package/dist/orchestration/index.js +1 -1
- package/dist/orchestration/index.js.map +1 -1
- package/dist/orchestration/parallel.js +1 -1
- package/dist/orchestration/parallel.js.map +1 -1
- package/dist/orchestration/protocol-validators.d.ts +1 -1
- package/dist/orchestration/protocol-validators.d.ts.map +1 -1
- package/dist/orchestration/protocol-validators.js +1 -1
- package/dist/orchestration/protocol-validators.js.map +1 -1
- package/dist/orchestration/skill-ops.js +1 -1
- package/dist/orchestration/skill-ops.js.map +1 -1
- package/dist/orchestration/spawn-prompt.d.ts +9 -0
- package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
- package/dist/orchestration/spawn-prompt.js +13 -2
- package/dist/orchestration/spawn-prompt.js.map +1 -1
- package/dist/orchestration/spawn.js +1 -1
- package/dist/orchestration/spawn.js.map +1 -1
- package/dist/paths.d.ts +3 -1
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +3 -1
- package/dist/paths.js.map +1 -1
- package/dist/phases/deps.js +1 -1
- package/dist/phases/deps.js.map +1 -1
- package/dist/phases/index.js +1 -1
- package/dist/phases/index.js.map +1 -1
- package/dist/project-lifecycle.js +3 -3
- package/dist/project-lifecycle.js.map +1 -1
- package/dist/registrations.d.ts +30 -0
- package/dist/registrations.d.ts.map +1 -0
- package/dist/registrations.js +30 -0
- package/dist/registrations.js.map +1 -0
- package/dist/release/changesets-aggregator.js +1 -1
- package/dist/release/changesets-aggregator.js.map +1 -1
- package/dist/release/ci-evidence.d.ts +68 -2
- package/dist/release/ci-evidence.d.ts.map +1 -1
- package/dist/release/ci-evidence.js +203 -39
- package/dist/release/ci-evidence.js.map +1 -1
- package/dist/release/invariants/archive-reason-invariant.d.ts +1 -1
- package/dist/release/invariants/archive-reason-invariant.d.ts.map +1 -1
- package/dist/release/invariants/archive-reason-invariant.js +1 -1
- package/dist/release/invariants/archive-reason-invariant.js.map +1 -1
- package/dist/release/invariants/registry.d.ts +1 -1
- package/dist/release/invariants/registry.d.ts.map +1 -1
- package/dist/release/invariants/registry.js +1 -1
- package/dist/release/invariants/registry.js.map +1 -1
- package/dist/release/open.d.ts +1 -1
- package/dist/release/open.d.ts.map +1 -1
- package/dist/release/open.js +3 -1
- package/dist/release/open.js.map +1 -1
- package/dist/release/plan.d.ts +1 -2
- package/dist/release/plan.d.ts.map +1 -1
- package/dist/release/plan.js +4 -1
- package/dist/release/plan.js.map +1 -1
- package/dist/release/pr-evidence.d.ts +1 -1
- package/dist/release/pr-evidence.d.ts.map +1 -1
- package/dist/release/pr-evidence.js +2 -2
- package/dist/release/pr-evidence.js.map +1 -1
- package/dist/release/preflight-skip.d.ts +5 -0
- package/dist/release/preflight-skip.d.ts.map +1 -1
- package/dist/release/preflight-skip.js +60 -1
- package/dist/release/preflight-skip.js.map +1 -1
- package/dist/release/reconcile.d.ts +1 -1
- package/dist/release/reconcile.d.ts.map +1 -1
- package/dist/release/reconcile.js +19 -3
- package/dist/release/reconcile.js.map +1 -1
- package/dist/release/version-bump.d.ts +1 -1
- package/dist/release/version-bump.d.ts.map +1 -1
- package/dist/release/version-bump.js +1 -1
- package/dist/release/version-bump.js.map +1 -1
- package/dist/resources/admission-ledger.d.ts +587 -0
- package/dist/resources/admission-ledger.d.ts.map +1 -0
- package/dist/resources/admission-ledger.js +1401 -0
- package/dist/resources/admission-ledger.js.map +1 -0
- package/dist/resources/backend.d.ts +37 -1
- package/dist/resources/backend.d.ts.map +1 -1
- package/dist/resources/backend.js +1 -1
- package/dist/resources/darwin-backend.d.ts +152 -26
- package/dist/resources/darwin-backend.d.ts.map +1 -1
- package/dist/resources/darwin-backend.js +217 -34
- package/dist/resources/darwin-backend.js.map +1 -1
- package/dist/resources/governor.d.ts +36 -39
- package/dist/resources/governor.d.ts.map +1 -1
- package/dist/resources/governor.js +140 -49
- package/dist/resources/governor.js.map +1 -1
- package/dist/resources/pressure-gate.d.ts +148 -0
- package/dist/resources/pressure-gate.d.ts.map +1 -0
- package/dist/resources/pressure-gate.js +273 -0
- package/dist/resources/pressure-gate.js.map +1 -0
- package/dist/resources/run-admission.d.ts +33 -45
- package/dist/resources/run-admission.d.ts.map +1 -1
- package/dist/resources/run-admission.js +50 -118
- package/dist/resources/run-admission.js.map +1 -1
- package/dist/resources/run-class.d.ts +60 -4
- package/dist/resources/run-class.d.ts.map +1 -1
- package/dist/resources/run-class.js +473 -6
- package/dist/resources/run-class.js.map +1 -1
- package/dist/resources/run-governed.d.ts +43 -11
- package/dist/resources/run-governed.d.ts.map +1 -1
- package/dist/resources/run-governed.js +139 -99
- package/dist/resources/run-governed.js.map +1 -1
- package/dist/resources/slot-holder.d.ts +12 -4
- package/dist/resources/slot-holder.d.ts.map +1 -1
- package/dist/resources/slot-holder.js +19 -14
- package/dist/resources/slot-holder.js.map +1 -1
- package/dist/resources/spawn-wrapper.js +1 -1
- package/dist/resources/spawn-wrapper.js.map +1 -1
- package/dist/resources/supervisor-admit.d.ts +1 -1
- package/dist/resources/supervisor-admit.d.ts.map +1 -1
- package/dist/resources/supervisor-admit.js +2 -1
- package/dist/resources/supervisor-admit.js.map +1 -1
- package/dist/runtime/openapi/generate-openapi.d.ts +1 -1
- package/dist/runtime/openapi/generate-openapi.d.ts.map +1 -1
- package/dist/runtime/openapi/generate-openapi.js +1 -1
- package/dist/runtime/openapi/generate-openapi.js.map +1 -1
- package/dist/sagas/index.d.ts +3 -1
- package/dist/sagas/index.d.ts.map +1 -1
- package/dist/sagas/index.js +2 -5
- package/dist/sagas/index.js.map +1 -1
- package/dist/scaffold/project-identity.js +1 -1
- package/dist/scaffold/project-identity.js.map +1 -1
- package/dist/sdk/validator-attest.d.ts +1 -1
- package/dist/sdk/validator-attest.d.ts.map +1 -1
- package/dist/sdk/validator-attest.js +1 -1
- package/dist/sdk/validator-attest.js.map +1 -1
- package/dist/sdk/validator-reject.d.ts +1 -1
- package/dist/sdk/validator-reject.d.ts.map +1 -1
- package/dist/sdk/validator-reject.js +1 -1
- package/dist/sdk/validator-reject.js.map +1 -1
- package/dist/security/input-sanitization.js +2 -1
- package/dist/security/input-sanitization.js.map +1 -1
- package/dist/security/override-cap.js +1 -1
- package/dist/security/override-cap.js.map +1 -1
- package/dist/security/owner-override-auth.js +1 -1
- package/dist/security/owner-override-auth.js.map +1 -1
- package/dist/security/shared-evidence-tracker.js +1 -1
- package/dist/security/shared-evidence-tracker.js.map +1 -1
- package/dist/selfimprove/fix-gen.js +35 -93037
- package/dist/selfimprove/fix-gen.js.map +3 -3
- package/dist/sentient/daemon.d.ts.map +1 -1
- package/dist/sentient/daemon.js +3 -0
- package/dist/sentient/daemon.js.map +1 -1
- package/dist/sentient/tick.d.ts +7 -0
- package/dist/sentient/tick.d.ts.map +1 -1
- package/dist/sentient/tick.js +11 -0
- package/dist/sentient/tick.js.map +1 -1
- package/dist/sequence/index.js +1 -1
- package/dist/sequence/index.js.map +1 -1
- package/dist/session/engine-ops.d.ts +3 -45
- package/dist/session/engine-ops.d.ts.map +1 -1
- package/dist/session/engine-ops.js +63 -112
- package/dist/session/engine-ops.js.map +1 -1
- package/dist/session/status-op.d.ts +40 -0
- package/dist/session/status-op.d.ts.map +1 -0
- package/dist/session/status-op.js +71 -0
- package/dist/session/status-op.js.map +1 -0
- package/dist/session/task-current.d.ts +31 -0
- package/dist/session/task-current.d.ts.map +1 -0
- package/dist/session/task-current.js +59 -0
- package/dist/session/task-current.js.map +1 -0
- package/dist/sessions/assumptions.d.ts +1 -1
- package/dist/sessions/assumptions.d.ts.map +1 -1
- package/dist/sessions/assumptions.js +1 -1
- package/dist/sessions/assumptions.js.map +1 -1
- package/dist/sessions/context-inject.js +1 -1
- package/dist/sessions/context-inject.js.map +1 -1
- package/dist/sessions/decisions.d.ts +1 -1
- package/dist/sessions/decisions.d.ts.map +1 -1
- package/dist/sessions/decisions.js +1 -1
- package/dist/sessions/decisions.js.map +1 -1
- package/dist/sessions/focus-state-store.d.ts.map +1 -1
- package/dist/sessions/focus-state-store.js +2 -1
- package/dist/sessions/focus-state-store.js.map +1 -1
- package/dist/sessions/handoff.js +1 -1
- package/dist/sessions/handoff.js.map +1 -1
- package/dist/sessions/index.d.ts +1 -2
- package/dist/sessions/index.d.ts.map +1 -1
- package/dist/sessions/index.js +3 -2
- package/dist/sessions/index.js.map +1 -1
- package/dist/sessions/session-drift.js +1 -1
- package/dist/sessions/session-drift.js.map +1 -1
- package/dist/sessions/session-end-snapshot-entry.d.ts +4 -0
- package/dist/sessions/session-end-snapshot-entry.d.ts.map +1 -1
- package/dist/sessions/session-end-snapshot-entry.js +11 -0
- package/dist/sessions/session-end-snapshot-entry.js.map +1 -1
- package/dist/sessions/session-end-snapshot.d.ts.map +1 -1
- package/dist/sessions/session-end-snapshot.js +4 -0
- package/dist/sessions/session-end-snapshot.js.map +1 -1
- package/dist/sessions/session-enforcement.js +1 -1
- package/dist/sessions/session-enforcement.js.map +1 -1
- package/dist/sessions/session-show.d.ts +1 -2
- package/dist/sessions/session-show.d.ts.map +1 -1
- package/dist/sessions/session-show.js +1 -1
- package/dist/sessions/session-show.js.map +1 -1
- package/dist/sessions/session-stats.js +1 -1
- package/dist/sessions/session-stats.js.map +1 -1
- package/dist/sessions/session-suspend.d.ts +1 -2
- package/dist/sessions/session-suspend.d.ts.map +1 -1
- package/dist/sessions/session-suspend.js +1 -1
- package/dist/sessions/session-suspend.js.map +1 -1
- package/dist/sessions/session-switch.js +1 -1
- package/dist/sessions/session-switch.js.map +1 -1
- package/dist/sessions/snapshot.js +1 -1
- package/dist/sessions/snapshot.js.map +1 -1
- package/dist/sessions/terminal-identity.d.ts +1 -1
- package/dist/sessions/terminal-identity.d.ts.map +1 -1
- package/dist/sessions/terminal-identity.js +1 -1
- package/dist/sessions/terminal-identity.js.map +1 -1
- package/dist/setup/sections/integrations.d.ts.map +1 -1
- package/dist/setup/sections/integrations.js +9 -0
- package/dist/setup/sections/integrations.js.map +1 -1
- package/dist/setup/sections/models-roles.js +1 -1
- package/dist/setup/sections/models-roles.js.map +1 -1
- package/dist/setup/sections/verification.d.ts.map +1 -1
- package/dist/setup/sections/verification.js +8 -2
- package/dist/setup/sections/verification.js.map +1 -1
- package/dist/shutdown.d.ts +24 -0
- package/dist/shutdown.d.ts.map +1 -1
- package/dist/shutdown.js +30 -1
- package/dist/shutdown.js.map +1 -1
- package/dist/skills/agents/install.d.ts +46 -6
- package/dist/skills/agents/install.d.ts.map +1 -1
- package/dist/skills/agents/install.js +86 -17
- package/dist/skills/agents/install.js.map +1 -1
- package/dist/skills/injection/subagent.js +1 -1
- package/dist/skills/injection/subagent.js.map +1 -1
- package/dist/skills/manifests/research.d.ts.map +1 -1
- package/dist/skills/manifests/research.js +2 -1
- package/dist/skills/manifests/research.js.map +1 -1
- package/dist/skills/orchestrator/spawn.js +1 -1
- package/dist/skills/orchestrator/spawn.js.map +1 -1
- package/dist/skills/orchestrator/validator.js +1 -1
- package/dist/skills/orchestrator/validator.js.map +1 -1
- package/dist/snapshot/index.d.ts.map +1 -1
- package/dist/snapshot/index.js +13 -0
- package/dist/snapshot/index.js.map +1 -1
- package/dist/spawn/agent-identity.js +1 -1
- package/dist/spawn/agent-identity.js.map +1 -1
- package/dist/stats/index.d.ts.map +1 -1
- package/dist/stats/index.js +2 -1
- package/dist/stats/index.js.map +1 -1
- package/dist/store/agent-install.d.ts.map +1 -1
- package/dist/store/agent-install.js +2 -1
- package/dist/store/agent-install.js.map +1 -1
- package/dist/store/agent-registry-accessor.d.ts +1 -0
- package/dist/store/agent-registry-accessor.d.ts.map +1 -1
- package/dist/store/agent-registry-accessor.js +3 -1
- package/dist/store/agent-registry-accessor.js.map +1 -1
- package/dist/store/atomic.js +1 -1
- package/dist/store/atomic.js.map +1 -1
- package/dist/store/attachment-store.js +1 -1
- package/dist/store/attachment-store.js.map +1 -1
- package/dist/store/audit-log-schema.d.ts +645 -0
- package/dist/store/audit-log-schema.d.ts.map +1 -0
- package/dist/store/audit-log-schema.js +30 -0
- package/dist/store/audit-log-schema.js.map +1 -0
- package/dist/store/background-ops.d.ts +26 -0
- package/dist/store/background-ops.d.ts.map +1 -1
- package/dist/store/background-ops.js +46 -0
- package/dist/store/background-ops.js.map +1 -1
- package/dist/store/backup-recover.d.ts +36 -1
- package/dist/store/backup-recover.d.ts.map +1 -1
- package/dist/store/backup-recover.js +99 -1
- package/dist/store/backup-recover.js.map +1 -1
- package/dist/store/backup-verify.d.ts +1 -1
- package/dist/store/backup-verify.d.ts.map +1 -1
- package/dist/store/backup-verify.js +6 -1
- package/dist/store/backup-verify.js.map +1 -1
- package/dist/store/backup.js +1 -1
- package/dist/store/backup.js.map +1 -1
- package/dist/store/conduit-sqlite.d.ts.map +1 -1
- package/dist/store/conduit-sqlite.js +2 -26
- package/dist/store/conduit-sqlite.js.map +1 -1
- package/dist/store/converters.js +1 -1
- package/dist/store/converters.js.map +1 -1
- package/dist/store/db-helpers.js +1 -1
- package/dist/store/db-helpers.js.map +1 -1
- package/dist/store/dependency-cycles.js +1 -1
- package/dist/store/dependency-cycles.js.map +1 -1
- package/dist/store/display-id-alias.d.ts +2 -2
- package/dist/store/display-id-alias.d.ts.map +1 -1
- package/dist/store/display-id-alias.js +5 -28
- package/dist/store/display-id-alias.js.map +1 -1
- package/dist/store/drizzle-node-sqlite.d.ts +56 -0
- package/dist/store/drizzle-node-sqlite.d.ts.map +1 -0
- package/dist/store/drizzle-node-sqlite.js +87 -0
- package/dist/store/drizzle-node-sqlite.js.map +1 -0
- package/dist/store/dual-scope-db.d.ts +26 -33
- package/dist/store/dual-scope-db.d.ts.map +1 -1
- package/dist/store/dual-scope-db.js +416 -127
- package/dist/store/dual-scope-db.js.map +1 -1
- package/dist/store/exodus/abort-events.d.ts +134 -0
- package/dist/store/exodus/abort-events.d.ts.map +1 -1
- package/dist/store/exodus/abort-events.js +201 -0
- package/dist/store/exodus/abort-events.js.map +1 -1
- package/dist/store/exodus/migrate.d.ts +7 -0
- package/dist/store/exodus/migrate.d.ts.map +1 -1
- package/dist/store/exodus/migrate.js +156 -118
- package/dist/store/exodus/migrate.js.map +1 -1
- package/dist/store/exodus/on-open.d.ts +36 -0
- package/dist/store/exodus/on-open.d.ts.map +1 -1
- package/dist/store/exodus/on-open.js +102 -27
- package/dist/store/exodus/on-open.js.map +1 -1
- package/dist/store/exodus/prior-recoveries.d.ts +75 -0
- package/dist/store/exodus/prior-recoveries.d.ts.map +1 -0
- package/dist/store/exodus/prior-recoveries.js +122 -0
- package/dist/store/exodus/prior-recoveries.js.map +1 -0
- package/dist/store/exodus/reconcile.d.ts.map +1 -1
- package/dist/store/exodus/reconcile.js +188 -24
- package/dist/store/exodus/reconcile.js.map +1 -1
- package/dist/store/exodus/runtime-targets.d.ts +3 -3
- package/dist/store/exodus/runtime-targets.js +3 -3
- package/dist/store/exodus/task-id-collision-sql.d.ts +52 -0
- package/dist/store/exodus/task-id-collision-sql.d.ts.map +1 -0
- package/dist/store/exodus/task-id-collision-sql.js +97 -0
- package/dist/store/exodus/task-id-collision-sql.js.map +1 -0
- package/dist/store/exodus/task-id-remap.d.ts +113 -0
- package/dist/store/exodus/task-id-remap.d.ts.map +1 -0
- package/dist/store/exodus/task-id-remap.js +301 -0
- package/dist/store/exodus/task-id-remap.js.map +1 -0
- package/dist/store/exodus/verify-migration.js +1 -1
- package/dist/store/exodus/verify-migration.js.map +1 -1
- package/dist/store/exodus/write-guard.d.ts +136 -0
- package/dist/store/exodus/write-guard.d.ts.map +1 -0
- package/dist/store/exodus/write-guard.js +289 -0
- package/dist/store/exodus/write-guard.js.map +1 -0
- package/dist/store/identity-share.d.ts +31 -0
- package/dist/store/identity-share.d.ts.map +1 -0
- package/dist/store/identity-share.js +54 -0
- package/dist/store/identity-share.js.map +1 -0
- package/dist/store/import-remap.js +1 -1
- package/dist/store/import-remap.js.map +1 -1
- package/dist/store/import-sort.js +1 -1
- package/dist/store/import-sort.js.map +1 -1
- package/dist/store/json.js +1 -1
- package/dist/store/json.js.map +1 -1
- package/dist/store/legacy-tasks-lineage.js +3 -3
- package/dist/store/legacy-tasks-lineage.js.map +1 -1
- package/dist/store/lock.d.ts +17 -0
- package/dist/store/lock.d.ts.map +1 -1
- package/dist/store/lock.js +18 -1
- package/dist/store/lock.js.map +1 -1
- package/dist/store/memory-sqlite.d.ts.map +1 -1
- package/dist/store/memory-sqlite.js +2 -25
- package/dist/store/memory-sqlite.js.map +1 -1
- package/dist/store/migration-files.d.ts +30 -0
- package/dist/store/migration-files.d.ts.map +1 -0
- package/dist/store/migration-files.js +59 -0
- package/dist/store/migration-files.js.map +1 -0
- package/dist/store/migration-manager.d.ts.map +1 -1
- package/dist/store/migration-manager.js +14 -14
- package/dist/store/migration-manager.js.map +1 -1
- package/dist/store/migration-runner.d.ts.map +1 -1
- package/dist/store/migration-runner.js +2 -2
- package/dist/store/migration-runner.js.map +1 -1
- package/dist/store/migration-sqlite.d.ts +1 -1
- package/dist/store/migration-sqlite.d.ts.map +1 -1
- package/dist/store/migration-sqlite.js +290 -355
- package/dist/store/migration-sqlite.js.map +1 -1
- package/dist/store/open-cleo-db.d.ts.map +1 -1
- package/dist/store/open-cleo-db.js +4 -2
- package/dist/store/open-cleo-db.js.map +1 -1
- package/dist/store/pid-alive.d.ts +15 -0
- package/dist/store/pid-alive.d.ts.map +1 -0
- package/dist/store/pid-alive.js +24 -0
- package/dist/store/pid-alive.js.map +1 -0
- package/dist/store/portable-bundle-scan.d.ts +1 -1
- package/dist/store/portable-bundle-scan.d.ts.map +1 -1
- package/dist/store/portable-bundle-scan.js +1 -1
- package/dist/store/portable-bundle-scan.js.map +1 -1
- package/dist/store/portable-bundle.d.ts +10 -1
- package/dist/store/portable-bundle.d.ts.map +1 -1
- package/dist/store/portable-bundle.js +10 -1
- package/dist/store/portable-bundle.js.map +1 -1
- package/dist/store/recover-malformed-db.d.ts +1 -1
- package/dist/store/recover-malformed-db.d.ts.map +1 -1
- package/dist/store/recover-malformed-db.js +1 -1
- package/dist/store/recover-malformed-db.js.map +1 -1
- package/dist/store/repair-malformed-dbs.d.ts +1 -1
- package/dist/store/repair-malformed-dbs.d.ts.map +1 -1
- package/dist/store/repair-malformed-dbs.js +1 -1
- package/dist/store/repair-malformed-dbs.js.map +1 -1
- package/dist/store/restore-marker.d.ts +89 -0
- package/dist/store/restore-marker.d.ts.map +1 -0
- package/dist/store/restore-marker.js +197 -0
- package/dist/store/restore-marker.js.map +1 -0
- package/dist/store/restore-store.d.ts +85 -0
- package/dist/store/restore-store.d.ts.map +1 -0
- package/dist/store/restore-store.js +391 -0
- package/dist/store/restore-store.js.map +1 -0
- package/dist/store/row-identity.d.ts +123 -1
- package/dist/store/row-identity.d.ts.map +1 -1
- package/dist/store/row-identity.js +454 -80
- package/dist/store/row-identity.js.map +1 -1
- package/dist/store/schema/agent-registry-schema.d.ts +1 -1
- package/dist/store/schema/agent-registry-schema.d.ts.map +1 -1
- package/dist/store/schema/agent-registry-schema.js +5 -1
- package/dist/store/schema/agent-registry-schema.js.map +1 -1
- package/dist/store/schema/cleo-global/agent-registry.d.ts +1 -1
- package/dist/store/schema/cleo-global/agent-registry.d.ts.map +1 -1
- package/dist/store/schema/cleo-global/agent-registry.js +9 -5
- package/dist/store/schema/cleo-global/agent-registry.js.map +1 -1
- package/dist/store/schema/cleo-global/models-catalog.js +1 -1
- package/dist/store/schema/cleo-global/models-catalog.js.map +1 -1
- package/dist/store/schema/cleo-global/nexus.js +1 -1
- package/dist/store/schema/cleo-global/nexus.js.map +1 -1
- package/dist/store/schema/cleo-project/provenance-commits.d.ts +1 -1
- package/dist/store/schema/cleo-project/provenance-orphans.d.ts +1 -1
- package/dist/store/schema/cleo-project/provenance-orphans.d.ts.map +1 -1
- package/dist/store/schema/cleo-project/provenance-orphans.js +9 -2
- package/dist/store/schema/cleo-project/provenance-orphans.js.map +1 -1
- package/dist/store/schema/cleo-project/provenance-rest.d.ts +1 -1
- package/dist/store/schema/cleo-project/provenance-rest.js +1 -1
- package/dist/store/schema/cleo-project/provenance-rest.js.map +1 -1
- package/dist/store/schema/cleo-shared/brain.js +1 -1
- package/dist/store/schema/cleo-shared/brain.js.map +1 -1
- package/dist/store/schema/memory-schema.d.ts +1 -1
- package/dist/store/schema/memory-schema.d.ts.map +1 -1
- package/dist/store/schema/memory-schema.js +1 -1
- package/dist/store/schema/memory-schema.js.map +1 -1
- package/dist/store/schema/nexus-schema.js +1 -1
- package/dist/store/schema/nexus-schema.js.map +1 -1
- package/dist/store/service-host-matcher.d.ts +1 -1
- package/dist/store/service-host-matcher.d.ts.map +1 -1
- package/dist/store/service-host-matcher.js +1 -1
- package/dist/store/service-host-matcher.js.map +1 -1
- package/dist/store/service-oauth.js +1 -1
- package/dist/store/service-oauth.js.map +1 -1
- package/dist/store/session-store.d.ts.map +1 -1
- package/dist/store/session-store.js +7 -1
- package/dist/store/session-store.js.map +1 -1
- package/dist/store/sqlite-backup.d.ts +1 -1
- package/dist/store/sqlite-backup.d.ts.map +1 -1
- package/dist/store/sqlite-backup.js +1 -1
- package/dist/store/sqlite-backup.js.map +1 -1
- package/dist/store/sqlite-data-accessor.d.ts +52 -1
- package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
- package/dist/store/sqlite-data-accessor.js +95 -22
- package/dist/store/sqlite-data-accessor.js.map +1 -1
- package/dist/store/sqlite-native.d.ts.map +1 -1
- package/dist/store/sqlite-native.js +9 -9
- package/dist/store/sqlite-native.js.map +1 -1
- package/dist/store/sqlite-pragmas.d.ts +12 -5
- package/dist/store/sqlite-pragmas.d.ts.map +1 -1
- package/dist/store/sqlite-pragmas.js +13 -2
- package/dist/store/sqlite-pragmas.js.map +1 -1
- package/dist/store/sqlite.d.ts.map +1 -1
- package/dist/store/sqlite.js +7 -32
- package/dist/store/sqlite.js.map +1 -1
- package/dist/store/status-registry.d.ts +1 -1
- package/dist/store/status-registry.d.ts.map +1 -1
- package/dist/store/status-registry.js +1 -1
- package/dist/store/status-registry.js.map +1 -1
- package/dist/store/sync/apply/applier.d.ts +119 -0
- package/dist/store/sync/apply/applier.d.ts.map +1 -0
- package/dist/store/sync/apply/applier.js +1239 -0
- package/dist/store/sync/apply/applier.js.map +1 -0
- package/dist/store/sync/apply/fk.d.ts +47 -0
- package/dist/store/sync/apply/fk.d.ts.map +1 -0
- package/dist/store/sync/apply/fk.js +89 -0
- package/dist/store/sync/apply/fk.js.map +1 -0
- package/dist/store/sync/apply/footprints.d.ts +60 -0
- package/dist/store/sync/apply/footprints.d.ts.map +1 -0
- package/dist/store/sync/apply/footprints.js +235 -0
- package/dist/store/sync/apply/footprints.js.map +1 -0
- package/dist/store/sync/apply/frame.d.ts +80 -0
- package/dist/store/sync/apply/frame.d.ts.map +1 -0
- package/dist/store/sync/apply/frame.js +127 -0
- package/dist/store/sync/apply/frame.js.map +1 -0
- package/dist/store/sync/apply/index.d.ts +11 -0
- package/dist/store/sync/apply/index.d.ts.map +1 -0
- package/dist/store/sync/apply/index.js +11 -0
- package/dist/store/sync/apply/index.js.map +1 -0
- package/dist/store/sync/apply/parent-delete.d.ts +38 -0
- package/dist/store/sync/apply/parent-delete.d.ts.map +1 -0
- package/dist/store/sync/apply/parent-delete.js +41 -0
- package/dist/store/sync/apply/parent-delete.js.map +1 -0
- package/dist/store/sync/apply/post-apply.d.ts +67 -0
- package/dist/store/sync/apply/post-apply.d.ts.map +1 -0
- package/dist/store/sync/apply/post-apply.js +118 -0
- package/dist/store/sync/apply/post-apply.js.map +1 -0
- package/dist/store/sync/apply/refs.d.ts +60 -0
- package/dist/store/sync/apply/refs.d.ts.map +1 -0
- package/dist/store/sync/apply/refs.js +90 -0
- package/dist/store/sync/apply/refs.js.map +1 -0
- package/dist/store/sync/apply/write-api.d.ts +195 -0
- package/dist/store/sync/apply/write-api.d.ts.map +1 -0
- package/dist/store/sync/apply/write-api.js +416 -0
- package/dist/store/sync/apply/write-api.js.map +1 -0
- package/dist/store/sync/apply-intent.d.ts +117 -0
- package/dist/store/sync/apply-intent.d.ts.map +1 -0
- package/dist/store/sync/apply-intent.js +225 -0
- package/dist/store/sync/apply-intent.js.map +1 -0
- package/dist/store/sync/capture.d.ts +32 -2
- package/dist/store/sync/capture.d.ts.map +1 -1
- package/dist/store/sync/capture.js +47 -13
- package/dist/store/sync/capture.js.map +1 -1
- package/dist/store/sync/conflicts.d.ts +81 -0
- package/dist/store/sync/conflicts.d.ts.map +1 -0
- package/dist/store/sync/conflicts.js +98 -0
- package/dist/store/sync/conflicts.js.map +1 -0
- package/dist/store/sync/field-leave.d.ts +146 -0
- package/dist/store/sync/field-leave.d.ts.map +1 -0
- package/dist/store/sync/field-leave.js +241 -0
- package/dist/store/sync/field-leave.js.map +1 -0
- package/dist/store/sync/flags.d.ts +119 -0
- package/dist/store/sync/flags.d.ts.map +1 -1
- package/dist/store/sync/flags.js +360 -0
- package/dist/store/sync/flags.js.map +1 -1
- package/dist/store/sync/held.d.ts +197 -0
- package/dist/store/sync/held.d.ts.map +1 -0
- package/dist/store/sync/held.js +314 -0
- package/dist/store/sync/held.js.map +1 -0
- package/dist/store/sync/identity-fill.d.ts.map +1 -1
- package/dist/store/sync/identity-fill.js +10 -2
- package/dist/store/sync/identity-fill.js.map +1 -1
- package/dist/store/sync/inbox.d.ts +114 -0
- package/dist/store/sync/inbox.d.ts.map +1 -0
- package/dist/store/sync/inbox.js +222 -0
- package/dist/store/sync/inbox.js.map +1 -0
- package/dist/store/sync/inherit.d.ts +36 -0
- package/dist/store/sync/inherit.d.ts.map +1 -0
- package/dist/store/sync/inherit.js +38 -0
- package/dist/store/sync/inherit.js.map +1 -0
- package/dist/store/sync/merge/engine.d.ts +114 -0
- package/dist/store/sync/merge/engine.d.ts.map +1 -0
- package/dist/store/sync/merge/engine.js +698 -0
- package/dist/store/sync/merge/engine.js.map +1 -0
- package/dist/store/sync/merge/index.d.ts +11 -0
- package/dist/store/sync/merge/index.d.ts.map +1 -0
- package/dist/store/sync/merge/index.js +11 -0
- package/dist/store/sync/merge/index.js.map +1 -0
- package/dist/store/sync/merge/rules.d.ts +91 -0
- package/dist/store/sync/merge/rules.d.ts.map +1 -0
- package/dist/store/sync/merge/rules.js +151 -0
- package/dist/store/sync/merge/rules.js.map +1 -0
- package/dist/store/sync/merge/types.d.ts +206 -0
- package/dist/store/sync/merge/types.d.ts.map +1 -0
- package/dist/store/sync/merge/types.js +15 -0
- package/dist/store/sync/merge/types.js.map +1 -0
- package/dist/store/sync/migration-hooks.d.ts +47 -0
- package/dist/store/sync/migration-hooks.d.ts.map +1 -0
- package/dist/store/sync/migration-hooks.js +74 -0
- package/dist/store/sync/migration-hooks.js.map +1 -0
- package/dist/store/sync/netting.d.ts +5 -0
- package/dist/store/sync/netting.d.ts.map +1 -1
- package/dist/store/sync/netting.js +29 -2
- package/dist/store/sync/netting.js.map +1 -1
- package/dist/store/sync/remap.d.ts +72 -0
- package/dist/store/sync/remap.d.ts.map +1 -0
- package/dist/store/sync/remap.js +209 -0
- package/dist/store/sync/remap.js.map +1 -0
- package/dist/store/sync/repair.d.ts +180 -0
- package/dist/store/sync/repair.d.ts.map +1 -0
- package/dist/store/sync/repair.js +499 -0
- package/dist/store/sync/repair.js.map +1 -0
- package/dist/store/sync/replica-registry.d.ts +54 -0
- package/dist/store/sync/replica-registry.d.ts.map +1 -1
- package/dist/store/sync/replica-registry.js +72 -2
- package/dist/store/sync/replica-registry.js.map +1 -1
- package/dist/store/sync/replica.d.ts +71 -9
- package/dist/store/sync/replica.d.ts.map +1 -1
- package/dist/store/sync/replica.js +95 -11
- package/dist/store/sync/replica.js.map +1 -1
- package/dist/store/sync/row-meta.d.ts +148 -0
- package/dist/store/sync/row-meta.d.ts.map +1 -0
- package/dist/store/sync/row-meta.js +200 -0
- package/dist/store/sync/row-meta.js.map +1 -0
- package/dist/store/sync/schema.d.ts +13 -5
- package/dist/store/sync/schema.d.ts.map +1 -1
- package/dist/store/sync/schema.js +34 -7
- package/dist/store/sync/schema.js.map +1 -1
- package/dist/store/sync/sealer-values.d.ts.map +1 -1
- package/dist/store/sync/sealer-values.js +1 -0
- package/dist/store/sync/sealer-values.js.map +1 -1
- package/dist/store/sync/sealer.d.ts +96 -0
- package/dist/store/sync/sealer.d.ts.map +1 -1
- package/dist/store/sync/sealer.js +532 -58
- package/dist/store/sync/sealer.js.map +1 -1
- package/dist/store/sync/sequencing.d.ts +175 -0
- package/dist/store/sync/sequencing.d.ts.map +1 -0
- package/dist/store/sync/sequencing.js +295 -0
- package/dist/store/sync/sequencing.js.map +1 -0
- package/dist/store/sync/structural.d.ts +30 -2
- package/dist/store/sync/structural.d.ts.map +1 -1
- package/dist/store/sync/structural.js +64 -2
- package/dist/store/sync/structural.js.map +1 -1
- package/dist/store/sync/timestamp-canon.d.ts +44 -0
- package/dist/store/sync/timestamp-canon.d.ts.map +1 -0
- package/dist/store/sync/timestamp-canon.js +102 -0
- package/dist/store/sync/timestamp-canon.js.map +1 -0
- package/dist/store/sync/timestamps.d.ts +1 -30
- package/dist/store/sync/timestamps.d.ts.map +1 -1
- package/dist/store/sync/timestamps.js +2 -89
- package/dist/store/sync/timestamps.js.map +1 -1
- package/dist/store/sync/trigger-classes.d.ts +8 -0
- package/dist/store/sync/trigger-classes.d.ts.map +1 -1
- package/dist/store/sync/trigger-classes.js +13 -0
- package/dist/store/sync/trigger-classes.js.map +1 -1
- package/dist/store/sync/write-actor.d.ts +58 -0
- package/dist/store/sync/write-actor.d.ts.map +1 -0
- package/dist/store/sync/write-actor.js +67 -0
- package/dist/store/sync/write-actor.js.map +1 -0
- package/dist/store/table-classification.d.ts.map +1 -1
- package/dist/store/table-classification.js +84 -0
- package/dist/store/table-classification.js.map +1 -1
- package/dist/store/task-claim.d.ts +1 -1
- package/dist/store/task-claim.d.ts.map +1 -1
- package/dist/store/task-claim.js +1 -1
- package/dist/store/task-claim.js.map +1 -1
- package/dist/store/task-reference-columns.d.ts +27 -0
- package/dist/store/task-reference-columns.d.ts.map +1 -0
- package/dist/store/task-reference-columns.js +65 -0
- package/dist/store/task-reference-columns.js.map +1 -0
- package/dist/store/task-version.d.ts +1 -1
- package/dist/store/task-version.d.ts.map +1 -1
- package/dist/store/task-version.js +1 -1
- package/dist/store/task-version.js.map +1 -1
- package/dist/store/tasks-schema.d.ts +2 -1
- package/dist/store/tasks-schema.d.ts.map +1 -1
- package/dist/store/tasks-schema.js +5 -4
- package/dist/store/tasks-schema.js.map +1 -1
- package/dist/store/tasks-sqlite.d.ts +1 -1
- package/dist/store/tasks-sqlite.d.ts.map +1 -1
- package/dist/store/tasks-sqlite.js +3 -1
- package/dist/store/tasks-sqlite.js.map +1 -1
- package/dist/store/twin-collapse.d.ts +43 -14
- package/dist/store/twin-collapse.d.ts.map +1 -1
- package/dist/store/twin-collapse.js +373 -32
- package/dist/store/twin-collapse.js.map +1 -1
- package/dist/store/validation-schemas.d.ts +44 -674
- package/dist/store/validation-schemas.d.ts.map +1 -1
- package/dist/store/validation-schemas.js +2 -22
- package/dist/store/validation-schemas.js.map +1 -1
- package/dist/store/vault-manifest.d.ts +1 -1
- package/dist/store/vault-manifest.d.ts.map +1 -1
- package/dist/store/vault-manifest.js +1 -1
- package/dist/store/vault-manifest.js.map +1 -1
- package/dist/store/worktree-build-guard.js +1 -1
- package/dist/store/worktree-build-guard.js.map +1 -1
- package/dist/store/worktree-isolation-guard.js +1 -1
- package/dist/store/worktree-isolation-guard.js.map +1 -1
- package/dist/store/writer-lease.d.ts.map +1 -1
- package/dist/store/writer-lease.js +1 -11
- package/dist/store/writer-lease.js.map +1 -1
- package/dist/store/zod-schema-factory.d.ts +16 -0
- package/dist/store/zod-schema-factory.d.ts.map +1 -0
- package/dist/store/zod-schema-factory.js +23 -0
- package/dist/store/zod-schema-factory.js.map +1 -0
- package/dist/system/backup.d.ts +106 -0
- package/dist/system/backup.d.ts.map +1 -1
- package/dist/system/backup.js +295 -19
- package/dist/system/backup.js.map +1 -1
- package/dist/system/cleanup.js +1 -1
- package/dist/system/cleanup.js.map +1 -1
- package/dist/system/labels.js +1 -1
- package/dist/system/labels.js.map +1 -1
- package/dist/system/migrate.js +1 -1
- package/dist/system/migrate.js.map +1 -1
- package/dist/system/safestop.d.ts.map +1 -1
- package/dist/system/safestop.js +1 -1
- package/dist/system/safestop.js.map +1 -1
- package/dist/task-work/current.d.ts +34 -0
- package/dist/task-work/current.d.ts.map +1 -0
- package/dist/task-work/current.js +34 -0
- package/dist/task-work/current.js.map +1 -0
- package/dist/task-work/index.d.ts +2 -19
- package/dist/task-work/index.d.ts.map +1 -1
- package/dist/task-work/index.js +6 -20
- package/dist/task-work/index.js.map +1 -1
- package/dist/tasks/ac-identity.d.ts +28 -0
- package/dist/tasks/ac-identity.d.ts.map +1 -0
- package/dist/tasks/ac-identity.js +43 -0
- package/dist/tasks/ac-identity.js.map +1 -0
- package/dist/tasks/ac-immutability.d.ts +1 -1
- package/dist/tasks/ac-immutability.d.ts.map +1 -1
- package/dist/tasks/ac-immutability.js +1 -1
- package/dist/tasks/ac-immutability.js.map +1 -1
- package/dist/tasks/ac-table.d.ts +2 -14
- package/dist/tasks/ac-table.d.ts.map +1 -1
- package/dist/tasks/ac-table.js +6 -29
- package/dist/tasks/ac-table.js.map +1 -1
- package/dist/tasks/acceptance-input.js +1 -1
- package/dist/tasks/acceptance-input.js.map +1 -1
- package/dist/tasks/add.d.ts.map +1 -1
- package/dist/tasks/add.js +3 -1
- package/dist/tasks/add.js.map +1 -1
- package/dist/tasks/affected-packages.d.ts +80 -12
- package/dist/tasks/affected-packages.d.ts.map +1 -1
- package/dist/tasks/affected-packages.js +130 -19
- package/dist/tasks/affected-packages.js.map +1 -1
- package/dist/tasks/archive.d.ts.map +1 -1
- package/dist/tasks/archive.js +1 -1
- package/dist/tasks/archive.js.map +1 -1
- package/dist/tasks/axis-filters.d.ts.map +1 -1
- package/dist/tasks/axis-filters.js +2 -1
- package/dist/tasks/axis-filters.js.map +1 -1
- package/dist/tasks/child-disposition.js +1 -1
- package/dist/tasks/child-disposition.js.map +1 -1
- package/dist/tasks/collection.js +1 -1
- package/dist/tasks/collection.js.map +1 -1
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +2 -1
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/decompose.js +1 -1
- package/dist/tasks/decompose.js.map +1 -1
- package/dist/tasks/delete.js +1 -1
- package/dist/tasks/delete.js.map +1 -1
- package/dist/tasks/done-plan.d.ts +2 -1
- package/dist/tasks/done-plan.d.ts.map +1 -1
- package/dist/tasks/done-plan.js +10 -20
- package/dist/tasks/done-plan.js.map +1 -1
- package/dist/tasks/done-record.d.ts +1 -1
- package/dist/tasks/done-record.d.ts.map +1 -1
- package/dist/tasks/done-record.js +1 -1
- package/dist/tasks/done-record.js.map +1 -1
- package/dist/tasks/enforcement.d.ts +2 -1
- package/dist/tasks/enforcement.d.ts.map +1 -1
- package/dist/tasks/enforcement.js +1 -1
- package/dist/tasks/enforcement.js.map +1 -1
- package/dist/tasks/engine-wrap-ops.js +1 -1
- package/dist/tasks/engine-wrap-ops.js.map +1 -1
- package/dist/tasks/engine-wrap.d.ts.map +1 -1
- package/dist/tasks/engine-wrap.js +7 -3
- package/dist/tasks/engine-wrap.js.map +1 -1
- package/dist/tasks/epic-enforcement.js +1 -1
- package/dist/tasks/epic-enforcement.js.map +1 -1
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +41 -19
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/find.js +1 -1
- package/dist/tasks/find.js.map +1 -1
- package/dist/tasks/gate-result-cache.js +1 -1
- package/dist/tasks/gate-result-cache.js.map +1 -1
- package/dist/tasks/gate-runner.d.ts.map +1 -1
- package/dist/tasks/gate-runner.js +1 -1
- package/dist/tasks/gate-runner.js.map +1 -1
- package/dist/tasks/heavy-tool-env.d.ts +79 -11
- package/dist/tasks/heavy-tool-env.d.ts.map +1 -1
- package/dist/tasks/heavy-tool-env.js +111 -14
- package/dist/tasks/heavy-tool-env.js.map +1 -1
- package/dist/tasks/index.d.ts +1 -1
- package/dist/tasks/index.d.ts.map +1 -1
- package/dist/tasks/index.js +2 -2
- package/dist/tasks/index.js.map +1 -1
- package/dist/tasks/labels.js +1 -1
- package/dist/tasks/labels.js.map +1 -1
- package/dist/tasks/nexus-impact-gate.js +1 -1
- package/dist/tasks/nexus-impact-gate.js.map +1 -1
- package/dist/tasks/pipeline-stage.js +1 -1
- package/dist/tasks/pipeline-stage.js.map +1 -1
- package/dist/tasks/population.js +1 -1
- package/dist/tasks/population.js.map +1 -1
- package/dist/tasks/ranking-audit.js +1 -1
- package/dist/tasks/ranking-audit.js.map +1 -1
- package/dist/tasks/reconcile-scope.js +1 -1
- package/dist/tasks/reconcile-scope.js.map +1 -1
- package/dist/tasks/relates.js +1 -1
- package/dist/tasks/relates.js.map +1 -1
- package/dist/tasks/req.d.ts.map +1 -1
- package/dist/tasks/req.js +2 -1
- package/dist/tasks/req.js.map +1 -1
- package/dist/tasks/severity-attestation.d.ts +1 -1
- package/dist/tasks/severity-attestation.d.ts.map +1 -1
- package/dist/tasks/severity-attestation.js +1 -1
- package/dist/tasks/severity-attestation.js.map +1 -1
- package/dist/tasks/show.d.ts.map +1 -1
- package/dist/tasks/show.js +47 -3
- package/dist/tasks/show.js.map +1 -1
- package/dist/tasks/task-import.js +1 -1
- package/dist/tasks/task-import.js.map +1 -1
- package/dist/tasks/task-reparent.d.ts.map +1 -1
- package/dist/tasks/task-reparent.js +2 -1
- package/dist/tasks/task-reparent.js.map +1 -1
- package/dist/tasks/test-run-binding.d.ts.map +1 -1
- package/dist/tasks/test-run-binding.js +9 -2
- package/dist/tasks/test-run-binding.js.map +1 -1
- package/dist/tasks/tool-cache.d.ts +23 -8
- package/dist/tasks/tool-cache.d.ts.map +1 -1
- package/dist/tasks/tool-cache.js +57 -16
- package/dist/tasks/tool-cache.js.map +1 -1
- package/dist/tasks/tool-resolver.d.ts +8 -0
- package/dist/tasks/tool-resolver.d.ts.map +1 -1
- package/dist/tasks/tool-resolver.js +15 -1
- package/dist/tasks/tool-resolver.js.map +1 -1
- package/dist/tasks/tool-runner-guard.d.ts +131 -0
- package/dist/tasks/tool-runner-guard.d.ts.map +1 -0
- package/dist/tasks/tool-runner-guard.js +141 -0
- package/dist/tasks/tool-runner-guard.js.map +1 -0
- package/dist/tasks/tool-semaphore.d.ts +103 -342
- package/dist/tasks/tool-semaphore.d.ts.map +1 -1
- package/dist/tasks/tool-semaphore.js +131 -619
- package/dist/tasks/tool-semaphore.js.map +1 -1
- package/dist/tasks/update.d.ts.map +1 -1
- package/dist/tasks/update.js +2 -1
- package/dist/tasks/update.js.map +1 -1
- package/dist/upgrade.d.ts.map +1 -1
- package/dist/upgrade.js +5 -34
- package/dist/upgrade.js.map +1 -1
- package/dist/validation/doctor/checks.d.ts +24 -0
- package/dist/validation/doctor/checks.d.ts.map +1 -1
- package/dist/validation/doctor/checks.js +168 -0
- package/dist/validation/doctor/checks.js.map +1 -1
- package/dist/validation/doctor/index.d.ts +1 -1
- package/dist/validation/doctor/index.d.ts.map +1 -1
- package/dist/validation/doctor/index.js +1 -1
- package/dist/validation/doctor/index.js.map +1 -1
- package/dist/validation/engine-ops.js +1 -1
- package/dist/validation/engine-ops.js.map +1 -1
- package/dist/validation/engine.d.ts +1 -1
- package/dist/validation/engine.d.ts.map +1 -1
- package/dist/validation/engine.js +2 -1
- package/dist/validation/engine.js.map +1 -1
- package/dist/validation/index.d.ts +1 -1
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +1 -1
- package/dist/validation/index.js.map +1 -1
- package/dist/validation/operation-gate-validators.js +1 -1
- package/dist/validation/operation-gate-validators.js.map +1 -1
- package/dist/validation/protocol-common.js +1 -1
- package/dist/validation/protocol-common.js.map +1 -1
- package/dist/validation/protocols/_shared.js +1 -1
- package/dist/validation/protocols/_shared.js.map +1 -1
- package/dist/validation/validate-ops.js +1 -1
- package/dist/validation/validate-ops.js.map +1 -1
- package/dist/validation/verification.js +1 -1
- package/dist/validation/verification.js.map +1 -1
- package/dist/workgraph/index.d.ts +1 -1
- package/dist/workgraph/index.d.ts.map +1 -1
- package/dist/workgraph/index.js +1 -1
- package/dist/workgraph/index.js.map +1 -1
- package/dist/workgraph/reparent-preflight.d.ts +1 -2
- package/dist/workgraph/reparent-preflight.d.ts.map +1 -1
- package/dist/workgraph/reparent-preflight.js +1 -1
- package/dist/workgraph/reparent-preflight.js.map +1 -1
- package/dist/workgraph/scaffold-validate.js +1 -1
- package/dist/workgraph/scaffold-validate.js.map +1 -1
- package/dist/worktree/force-unlock.d.ts +1 -1
- package/dist/worktree/force-unlock.d.ts.map +1 -1
- package/dist/worktree/force-unlock.js +1 -1
- package/dist/worktree/force-unlock.js.map +1 -1
- package/dist/worktree/isolation.d.ts +1 -1
- package/dist/worktree/isolation.d.ts.map +1 -1
- package/dist/worktree/isolation.js +1 -1
- package/dist/worktree/isolation.js.map +1 -1
- package/dist/worktree/list.d.ts +1 -1
- package/dist/worktree/list.d.ts.map +1 -1
- package/dist/worktree/list.js +1 -1
- package/dist/worktree/list.js.map +1 -1
- package/dist/worktree/prune.d.ts +1 -1
- package/dist/worktree/prune.d.ts.map +1 -1
- package/dist/worktree/prune.js +1 -1
- package/dist/worktree/prune.js.map +1 -1
- package/dist/worktree/worktree-adopt.d.ts +1 -2
- package/dist/worktree/worktree-adopt.d.ts.map +1 -1
- package/dist/worktree/worktree-adopt.js +1 -1
- package/dist/worktree/worktree-adopt.js.map +1 -1
- package/migrations/sync-journal/20261004120000_t12757-apply-intent/migration.sql +21 -0
- package/migrations/sync-journal/20261005120000_t12344-inbox/migration.sql +67 -0
- package/migrations/sync-journal/20261006120000_t13193-rebase-undo/migration.sql +51 -0
- package/migrations/sync-journal/20261006130000_t13193-rebase-state/migration.sql +17 -0
- package/migrations/sync-journal/20261006140000_t13193-held-rows/migration.sql +24 -0
- package/package.json +13 -13
- package/schemas/project-context.schema.json +14 -0
- package/templates/CLEO-INJECTION.md +11 -11
- package/templates/CLEO-REFERENCE.md +2 -2
- package/templates/workflows/release-prepare.yml.tmpl +10 -10
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The synchronous apply frame (T12344; journal spec §3.2 "withApplyFrame").
|
|
3
|
+
*
|
|
4
|
+
* Every remote op is applied inside one apply frame: a single
|
|
5
|
+
* `BEGIN IMMEDIATE … COMMIT` holding a `_sync_frame` row of kind `apply`, so
|
|
6
|
+
* the capture triggers label the frame's captures and the sealer subtracts
|
|
7
|
+
* the frame's apply intents from them (§3.3). The frame body is SYNCHRONOUS:
|
|
8
|
+
* an `await` inside it would let another writer on the same handle interleave
|
|
9
|
+
* its writes into the frame, and they would be subtracted as if the apply had
|
|
10
|
+
* written them.
|
|
11
|
+
*
|
|
12
|
+
* - {@link runApplyFrame} awaits the async preparation first (unsealing,
|
|
13
|
+
* loading), then queues the frame behind the handle's foreground
|
|
14
|
+
* transactions and committed effects (`scheduleTaskBackground`), and only
|
|
15
|
+
* then runs the synchronous body.
|
|
16
|
+
* - {@link withApplyFrame} is the frame itself:
|
|
17
|
+
* - it opens the only transaction, BEGIN IMMEDIATE, once: the handle's
|
|
18
|
+
* `busy_timeout` does the waiting (30 s on dual-scope handles), so the
|
|
19
|
+
* main thread blocks at most that long, and a BUSY after it is thrown,
|
|
20
|
+
* never retried mid-frame;
|
|
21
|
+
* - it inserts the frame row and calls the body with the API;
|
|
22
|
+
* - **type guard:** the body's return type excludes `PromiseLike`;
|
|
23
|
+
* - **runtime guard:** a thenable return rolls back and throws
|
|
24
|
+
* `E_SYNC_APPLY_ASYNC`;
|
|
25
|
+
* - any API call after the frame ended throws (`assertActive`).
|
|
26
|
+
*
|
|
27
|
+
* @module store/sync/apply/frame
|
|
28
|
+
* @task T12344
|
|
29
|
+
*/
|
|
30
|
+
import type { DatabaseSync } from 'node:sqlite';
|
|
31
|
+
import type { TableScope } from '@cleocode/contracts';
|
|
32
|
+
import { type ApplyWriteApi } from './write-api.js';
|
|
33
|
+
/** A frame misuse: an async body, a nested call, or a call after the frame ended. */
|
|
34
|
+
export declare class ApplyFrameError extends Error {
|
|
35
|
+
readonly code: 'E_SYNC_APPLY_ASYNC' | 'E_SYNC_APPLY_NESTED' | 'E_SYNC_APPLY_ENDED';
|
|
36
|
+
constructor(code: 'E_SYNC_APPLY_ASYNC' | 'E_SYNC_APPLY_NESTED' | 'E_SYNC_APPLY_ENDED', message: string);
|
|
37
|
+
}
|
|
38
|
+
/** A synchronous result: never a thenable. */
|
|
39
|
+
export type SyncResult<T> = T extends PromiseLike<unknown> ? never : T;
|
|
40
|
+
/** Everything a frame body may do. */
|
|
41
|
+
export interface ApplyApi extends ApplyWriteApi {
|
|
42
|
+
/** The frame id, or null when capture is off on this connection. */
|
|
43
|
+
readonly frame: string | null;
|
|
44
|
+
/**
|
|
45
|
+
* Merge a remote HLC into this replica's clock (§1.3). Returns the new
|
|
46
|
+
* clock, or `held` when the remote clock is beyond the skew limit.
|
|
47
|
+
*/
|
|
48
|
+
clockReceive(replica: string, remoteHlc: string, nowMs: number): {
|
|
49
|
+
held: false;
|
|
50
|
+
clock: string;
|
|
51
|
+
} | {
|
|
52
|
+
held: true;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Run `fn` as one apply frame on `db`: the only transaction, with a
|
|
57
|
+
* `_sync_frame` row of kind `apply`, committed when `fn` returns.
|
|
58
|
+
*
|
|
59
|
+
* @param db - The store; must not be inside a transaction.
|
|
60
|
+
* @param scope - The store's scope.
|
|
61
|
+
* @param actor - The frame's actor (JSON of the remote writer), or null.
|
|
62
|
+
* @param fn - The synchronous body.
|
|
63
|
+
* @returns What `fn` returned.
|
|
64
|
+
* @throws {ApplyFrameError} On a nested call or a thenable result.
|
|
65
|
+
* @throws SQLITE_BUSY when another writer holds the store past `busy_timeout`.
|
|
66
|
+
*/
|
|
67
|
+
export declare function withApplyFrame<T>(db: DatabaseSync, scope: TableScope, actor: string | null, fn: (api: ApplyApi) => SyncResult<T>): SyncResult<T>;
|
|
68
|
+
/**
|
|
69
|
+
* Prepare asynchronously, then run one apply frame queued behind the
|
|
70
|
+
* handle's foreground transactions (§3.2 steps 1–3).
|
|
71
|
+
*
|
|
72
|
+
* @param db - The store.
|
|
73
|
+
* @param scope - The store's scope.
|
|
74
|
+
* @param actor - The frame's actor, or null.
|
|
75
|
+
* @param prepare - Async preparation (unsealing secrets, loading); its result is passed in.
|
|
76
|
+
* @param fn - The synchronous body.
|
|
77
|
+
* @returns What `fn` returned.
|
|
78
|
+
*/
|
|
79
|
+
export declare function runApplyFrame<P, T>(db: DatabaseSync, scope: TableScope, actor: string | null, prepare: () => Promise<P>, fn: (api: ApplyApi, prepared: P) => SyncResult<T>): Promise<SyncResult<T>>;
|
|
80
|
+
//# sourceMappingURL=frame.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../../../src/store/sync/apply/frame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,gBAAgB,CAAC;AAEzE,qFAAqF;AACrF,qBAAa,eAAgB,SAAQ,KAAK;IAEtC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,GAAG,qBAAqB,GAAG,oBAAoB;gBAAzE,IAAI,EAAE,oBAAoB,GAAG,qBAAqB,GAAG,oBAAoB,EAClF,OAAO,EAAE,MAAM;CAKlB;AAED,8CAA8C;AAC9C,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AAEvE,sCAAsC;AACtC,MAAM,WAAW,QAAS,SAAQ,aAAa;IAC7C,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;OAGG;IACH,YAAY,CACV,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ;QAAE,IAAI,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC;CACpD;AAWD;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,EAAE,EAAE,YAAY,EAChB,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,EAAE,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,GACnC,UAAU,CAAC,CAAC,CAAC,CAgDf;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAAC,CAAC,EAAE,CAAC,EACtC,EAAE,EAAE,YAAY,EAChB,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,EAAE,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,GAChD,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CASxB"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The synchronous apply frame (T12344; journal spec §3.2 "withApplyFrame").
|
|
3
|
+
*
|
|
4
|
+
* Every remote op is applied inside one apply frame: a single
|
|
5
|
+
* `BEGIN IMMEDIATE … COMMIT` holding a `_sync_frame` row of kind `apply`, so
|
|
6
|
+
* the capture triggers label the frame's captures and the sealer subtracts
|
|
7
|
+
* the frame's apply intents from them (§3.3). The frame body is SYNCHRONOUS:
|
|
8
|
+
* an `await` inside it would let another writer on the same handle interleave
|
|
9
|
+
* its writes into the frame, and they would be subtracted as if the apply had
|
|
10
|
+
* written them.
|
|
11
|
+
*
|
|
12
|
+
* - {@link runApplyFrame} awaits the async preparation first (unsealing,
|
|
13
|
+
* loading), then queues the frame behind the handle's foreground
|
|
14
|
+
* transactions and committed effects (`scheduleTaskBackground`), and only
|
|
15
|
+
* then runs the synchronous body.
|
|
16
|
+
* - {@link withApplyFrame} is the frame itself:
|
|
17
|
+
* - it opens the only transaction, BEGIN IMMEDIATE, once: the handle's
|
|
18
|
+
* `busy_timeout` does the waiting (30 s on dual-scope handles), so the
|
|
19
|
+
* main thread blocks at most that long, and a BUSY after it is thrown,
|
|
20
|
+
* never retried mid-frame;
|
|
21
|
+
* - it inserts the frame row and calls the body with the API;
|
|
22
|
+
* - **type guard:** the body's return type excludes `PromiseLike`;
|
|
23
|
+
* - **runtime guard:** a thenable return rolls back and throws
|
|
24
|
+
* `E_SYNC_APPLY_ASYNC`;
|
|
25
|
+
* - any API call after the frame ended throws (`assertActive`).
|
|
26
|
+
*
|
|
27
|
+
* @module store/sync/apply/frame
|
|
28
|
+
* @task T12344
|
|
29
|
+
*/
|
|
30
|
+
import { finishCaptureFrame, openCaptureFrame } from '../capture.js';
|
|
31
|
+
import { receiveClock } from '../clock-store.js';
|
|
32
|
+
import { createApplyWriteApi } from './write-api.js';
|
|
33
|
+
/** A frame misuse: an async body, a nested call, or a call after the frame ended. */
|
|
34
|
+
export class ApplyFrameError extends Error {
|
|
35
|
+
code;
|
|
36
|
+
constructor(code, message) {
|
|
37
|
+
super(message);
|
|
38
|
+
this.code = code;
|
|
39
|
+
this.name = 'ApplyFrameError';
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function isThenable(value) {
|
|
43
|
+
return (value !== null &&
|
|
44
|
+
(typeof value === 'object' || typeof value === 'function') &&
|
|
45
|
+
'then' in value &&
|
|
46
|
+
typeof value.then === 'function');
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Run `fn` as one apply frame on `db`: the only transaction, with a
|
|
50
|
+
* `_sync_frame` row of kind `apply`, committed when `fn` returns.
|
|
51
|
+
*
|
|
52
|
+
* @param db - The store; must not be inside a transaction.
|
|
53
|
+
* @param scope - The store's scope.
|
|
54
|
+
* @param actor - The frame's actor (JSON of the remote writer), or null.
|
|
55
|
+
* @param fn - The synchronous body.
|
|
56
|
+
* @returns What `fn` returned.
|
|
57
|
+
* @throws {ApplyFrameError} On a nested call or a thenable result.
|
|
58
|
+
* @throws SQLITE_BUSY when another writer holds the store past `busy_timeout`.
|
|
59
|
+
*/
|
|
60
|
+
export function withApplyFrame(db, scope, actor, fn) {
|
|
61
|
+
if (db.isTransaction) {
|
|
62
|
+
// @sync-invariant none:local-only programming-error guard on the local apply frame
|
|
63
|
+
throw new ApplyFrameError('E_SYNC_APPLY_NESTED', 'an apply frame must open the only transaction');
|
|
64
|
+
}
|
|
65
|
+
// One attempt: busy_timeout already waits inside SQLite. A retry loop on
|
|
66
|
+
// top multiplied that wait while blocking the event loop (#1872 LOW-1).
|
|
67
|
+
db.exec('BEGIN IMMEDIATE');
|
|
68
|
+
let active = true;
|
|
69
|
+
const assertActive = () => {
|
|
70
|
+
if (!active) {
|
|
71
|
+
// @sync-invariant none:local-only programming-error guard: the frame's API outlived the frame
|
|
72
|
+
throw new ApplyFrameError('E_SYNC_APPLY_ENDED', 'the apply frame has ended');
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
try {
|
|
76
|
+
const frame = openCaptureFrame(db, 'apply', actor);
|
|
77
|
+
const api = {
|
|
78
|
+
frame,
|
|
79
|
+
...createApplyWriteApi(db, scope, frame, assertActive),
|
|
80
|
+
clockReceive(replica, remoteHlc, nowMs) {
|
|
81
|
+
assertActive();
|
|
82
|
+
return receiveClock(db, replica, remoteHlc, nowMs);
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
const out = fn(api);
|
|
86
|
+
if (isThenable(out)) {
|
|
87
|
+
// Never leave the dropped promise unhandled: a rejection would crash
|
|
88
|
+
// the process (#1872 LOW-2).
|
|
89
|
+
Promise.resolve(out).then(undefined, () => undefined);
|
|
90
|
+
// @sync-invariant none:local-only programming-error guard: an async body would let writers interleave into the frame
|
|
91
|
+
throw new ApplyFrameError('E_SYNC_APPLY_ASYNC', 'an apply frame body must be synchronous (it returned a thenable)');
|
|
92
|
+
}
|
|
93
|
+
finishCaptureFrame(db, frame);
|
|
94
|
+
db.exec('COMMIT');
|
|
95
|
+
return out;
|
|
96
|
+
}
|
|
97
|
+
catch (err) {
|
|
98
|
+
if (db.isTransaction)
|
|
99
|
+
db.exec('ROLLBACK');
|
|
100
|
+
throw err;
|
|
101
|
+
}
|
|
102
|
+
finally {
|
|
103
|
+
active = false;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Prepare asynchronously, then run one apply frame queued behind the
|
|
108
|
+
* handle's foreground transactions (§3.2 steps 1–3).
|
|
109
|
+
*
|
|
110
|
+
* @param db - The store.
|
|
111
|
+
* @param scope - The store's scope.
|
|
112
|
+
* @param actor - The frame's actor, or null.
|
|
113
|
+
* @param prepare - Async preparation (unsealing secrets, loading); its result is passed in.
|
|
114
|
+
* @param fn - The synchronous body.
|
|
115
|
+
* @returns What `fn` returned.
|
|
116
|
+
*/
|
|
117
|
+
export async function runApplyFrame(db, scope, actor, prepare, fn) {
|
|
118
|
+
const prepared = await prepare();
|
|
119
|
+
// Loaded here: the accessor module is large, and the frame itself needs none of it.
|
|
120
|
+
const { scheduleTaskBackground } = await import('../../sqlite-data-accessor.js');
|
|
121
|
+
let out;
|
|
122
|
+
await scheduleTaskBackground(db, async () => {
|
|
123
|
+
out = withApplyFrame(db, scope, actor, (api) => fn(api, prepared));
|
|
124
|
+
});
|
|
125
|
+
return out;
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=frame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frame.js","sourceRoot":"","sources":["../../../../src/store/sync/apply/frame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAsB,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAEzE,qFAAqF;AACrF,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAE7B;IADX,YACW,IAAyE,EAClF,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,SAAI,GAAJ,IAAI,CAAqE;QAIlF,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAoBD,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,CACL,KAAK,KAAK,IAAI;QACd,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC;QAC1D,MAAM,IAAI,KAAK;QACf,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,CACjC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAC5B,EAAgB,EAChB,KAAiB,EACjB,KAAoB,EACpB,EAAoC;IAEpC,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC;QACrB,mFAAmF;QACnF,MAAM,IAAI,eAAe,CACvB,qBAAqB,EACrB,+CAA+C,CAChD,CAAC;IACJ,CAAC;IACD,yEAAyE;IACzE,wEAAwE;IACxE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC3B,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,MAAM,YAAY,GAAG,GAAS,EAAE;QAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,8FAA8F;YAC9F,MAAM,IAAI,eAAe,CAAC,oBAAoB,EAAE,2BAA2B,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACnD,MAAM,GAAG,GAAa;YACpB,KAAK;YACL,GAAG,mBAAmB,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC;YACtD,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK;gBACpC,YAAY,EAAE,CAAC;gBACf,OAAO,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACrD,CAAC;SACF,CAAC;QACF,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,qEAAqE;YACrE,6BAA6B;YAC7B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACtD,qHAAqH;YACrH,MAAM,IAAI,eAAe,CACvB,oBAAoB,EACpB,kEAAkE,CACnE,CAAC;QACJ,CAAC;QACD,kBAAkB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC9B,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClB,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,EAAE,CAAC,aAAa;YAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,GAAG,CAAC;IACZ,CAAC;YAAS,CAAC;QACT,MAAM,GAAG,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAAgB,EAChB,KAAiB,EACjB,KAAoB,EACpB,OAAyB,EACzB,EAAiD;IAEjD,MAAM,QAAQ,GAAG,MAAM,OAAO,EAAE,CAAC;IACjC,oFAAoF;IACpF,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;IACjF,IAAI,GAA8B,CAAC;IACnC,MAAM,sBAAsB,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QAC1C,GAAG,GAAG,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IACH,OAAO,GAAoB,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The change journal's apply frame and write API (T12344, PR-2): the only way
|
|
3
|
+
* apply writes synced rows, recording the apply intents the sealer subtracts.
|
|
4
|
+
*
|
|
5
|
+
* @module store/sync/apply
|
|
6
|
+
* @task T12344
|
|
7
|
+
*/
|
|
8
|
+
export { type ApplyReport, type ApplyStagedOptions, applyStagedTxns } from './applier.js';
|
|
9
|
+
export { type ApplyApi, ApplyFrameError, runApplyFrame, type SyncResult, withApplyFrame, } from './frame.js';
|
|
10
|
+
export { type ApplyWriteApi, ApplyWriteError, createApplyWriteApi, type StoredEncs, wireToSql, } from './write-api.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/store/sync/apply/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,kBAAkB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,EACL,KAAK,QAAQ,EACb,eAAe,EACf,aAAa,EACb,KAAK,UAAU,EACf,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,KAAK,aAAa,EAClB,eAAe,EACf,mBAAmB,EACnB,KAAK,UAAU,EACf,SAAS,GACV,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The change journal's apply frame and write API (T12344, PR-2): the only way
|
|
3
|
+
* apply writes synced rows, recording the apply intents the sealer subtracts.
|
|
4
|
+
*
|
|
5
|
+
* @module store/sync/apply
|
|
6
|
+
* @task T12344
|
|
7
|
+
*/
|
|
8
|
+
export { applyStagedTxns } from './applier.js';
|
|
9
|
+
export { ApplyFrameError, runApplyFrame, withApplyFrame, } from './frame.js';
|
|
10
|
+
export { ApplyWriteError, createApplyWriteApi, wireToSql, } from './write-api.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/store/sync/apply/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAA6C,eAAe,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,EAEL,eAAe,EACf,aAAa,EAEb,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAEL,eAAe,EACf,mBAAmB,EAEnB,SAAS,GACV,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a remote delete of an FK parent does to its remaining sync-set
|
|
3
|
+
* children (T12344 PR-4; journal spec §3.2 "FK actions", R5-7, NEW-4).
|
|
4
|
+
*
|
|
5
|
+
* The origin journals its cascaded child deletes before the parent's D, so
|
|
6
|
+
* normally no child remains when the parent's D applies. A child that does
|
|
7
|
+
* remain was written concurrently, and SQLite would cascade it away with no
|
|
8
|
+
* op. The parent table's policy decides instead:
|
|
9
|
+
*
|
|
10
|
+
* - `conflict` (tasks, sessions): the parent's D is not applied; it becomes a
|
|
11
|
+
* revivable void plus a `delete-with-live-children` conflict listing the
|
|
12
|
+
* children. Resolutions are ordinary writes.
|
|
13
|
+
* - `cascade-with-ops` (hard deletes by design: purges, GC paths): every
|
|
14
|
+
* replica deletes the remaining children deterministically inside the
|
|
15
|
+
* apply frame, with intents, so nothing is re-emitted.
|
|
16
|
+
*
|
|
17
|
+
* Only `ON DELETE CASCADE` children count: a `SET NULL` child survives (its
|
|
18
|
+
* cleared column is recorded as an apply intent), and a `RESTRICT` child
|
|
19
|
+
* makes the delete fail, which the applier turns into a guard conflict.
|
|
20
|
+
* Every sync-set FK parent is declared here; a test fails on an undeclared
|
|
21
|
+
* one.
|
|
22
|
+
*
|
|
23
|
+
* @module store/sync/apply/parent-delete
|
|
24
|
+
* @task T12344
|
|
25
|
+
*/
|
|
26
|
+
/** A parent table's remote-delete policy. */
|
|
27
|
+
export type ParentDeletePolicy = 'conflict' | 'cascade-with-ops';
|
|
28
|
+
/** The policy of every sync-set table that is an FK parent of sync-set children. */
|
|
29
|
+
export declare const ON_REMOTE_PARENT_DELETE: Readonly<Record<string, ParentDeletePolicy>>;
|
|
30
|
+
/**
|
|
31
|
+
* The policy for a parent table; `conflict` (never lose a row silently) for
|
|
32
|
+
* a table the registry does not name.
|
|
33
|
+
*
|
|
34
|
+
* @param table - The parent table.
|
|
35
|
+
* @returns Its policy.
|
|
36
|
+
*/
|
|
37
|
+
export declare function parentDeletePolicy(table: string): ParentDeletePolicy;
|
|
38
|
+
//# sourceMappingURL=parent-delete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parent-delete.d.ts","sourceRoot":"","sources":["../../../../src/store/sync/apply/parent-delete.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,6CAA6C;AAC7C,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,kBAAkB,CAAC;AAEjE,oFAAoF;AACpF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAGhF,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAEpE"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a remote delete of an FK parent does to its remaining sync-set
|
|
3
|
+
* children (T12344 PR-4; journal spec §3.2 "FK actions", R5-7, NEW-4).
|
|
4
|
+
*
|
|
5
|
+
* The origin journals its cascaded child deletes before the parent's D, so
|
|
6
|
+
* normally no child remains when the parent's D applies. A child that does
|
|
7
|
+
* remain was written concurrently, and SQLite would cascade it away with no
|
|
8
|
+
* op. The parent table's policy decides instead:
|
|
9
|
+
*
|
|
10
|
+
* - `conflict` (tasks, sessions): the parent's D is not applied; it becomes a
|
|
11
|
+
* revivable void plus a `delete-with-live-children` conflict listing the
|
|
12
|
+
* children. Resolutions are ordinary writes.
|
|
13
|
+
* - `cascade-with-ops` (hard deletes by design: purges, GC paths): every
|
|
14
|
+
* replica deletes the remaining children deterministically inside the
|
|
15
|
+
* apply frame, with intents, so nothing is re-emitted.
|
|
16
|
+
*
|
|
17
|
+
* Only `ON DELETE CASCADE` children count: a `SET NULL` child survives (its
|
|
18
|
+
* cleared column is recorded as an apply intent), and a `RESTRICT` child
|
|
19
|
+
* makes the delete fail, which the applier turns into a guard conflict.
|
|
20
|
+
* Every sync-set FK parent is declared here; a test fails on an undeclared
|
|
21
|
+
* one.
|
|
22
|
+
*
|
|
23
|
+
* @module store/sync/apply/parent-delete
|
|
24
|
+
* @task T12344
|
|
25
|
+
*/
|
|
26
|
+
/** The policy of every sync-set table that is an FK parent of sync-set children. */
|
|
27
|
+
export const ON_REMOTE_PARENT_DELETE = {
|
|
28
|
+
tasks_tasks: 'conflict',
|
|
29
|
+
tasks_sessions: 'conflict',
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* The policy for a parent table; `conflict` (never lose a row silently) for
|
|
33
|
+
* a table the registry does not name.
|
|
34
|
+
*
|
|
35
|
+
* @param table - The parent table.
|
|
36
|
+
* @returns Its policy.
|
|
37
|
+
*/
|
|
38
|
+
export function parentDeletePolicy(table) {
|
|
39
|
+
return ON_REMOTE_PARENT_DELETE[table] ?? 'conflict';
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=parent-delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parent-delete.js","sourceRoot":"","sources":["../../../../src/store/sync/apply/parent-delete.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAKH,oFAAoF;AACpF,MAAM,CAAC,MAAM,uBAAuB,GAAiD;IACnF,WAAW,EAAE,UAAU;IACvB,cAAc,EAAE,UAAU;CAC3B,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,uBAAuB,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gate C post-apply checks (T12344 PR-5; journal spec §3.6 "post-apply-check",
|
|
3
|
+
* §3.5 Rule 3).
|
|
4
|
+
*
|
|
5
|
+
* The apply writes through the write API, never the TypeScript write paths,
|
|
6
|
+
* so a merge of two ops each valid on its own device can produce a state the
|
|
7
|
+
* CLI would refuse while no trigger notices. A post-apply check evaluates one
|
|
8
|
+
* multi-row invariant over the transaction's page (the rows it wrote, plus
|
|
9
|
+
* the footprint the invariant declares) after the transaction's ops applied,
|
|
10
|
+
* inside the same frame. A violation rolls the whole transaction back: it
|
|
11
|
+
* becomes a revivable void plus one `post-apply` conflict per violation.
|
|
12
|
+
*
|
|
13
|
+
* Implemented here, on the tables that sync today:
|
|
14
|
+
* - PAC-01 `task.tree.shape` ({@link checkTaskTreeShape});
|
|
15
|
+
* - PAC-15 `apply.preconditions` ({@link checkApplyPreconditions}), which is
|
|
16
|
+
* checked before a pass, not per transaction.
|
|
17
|
+
* PAC-03 `task.dependency.graph` is trigger-covered since T12886
|
|
18
|
+
* (`tasks_task_dependencies_cycle_guard_*`): a cycle-closing edge is a guard
|
|
19
|
+
* conflict. The other families stay pending in the write-invariant registry
|
|
20
|
+
* until their tables join the sync set.
|
|
21
|
+
*
|
|
22
|
+
* Read-only.
|
|
23
|
+
*
|
|
24
|
+
* @module store/sync/apply/post-apply
|
|
25
|
+
* @task T12344
|
|
26
|
+
*/
|
|
27
|
+
import type { DatabaseSync } from 'node:sqlite';
|
|
28
|
+
/** A row the transaction wrote. */
|
|
29
|
+
export interface PageRow {
|
|
30
|
+
readonly table: string;
|
|
31
|
+
readonly uid: string;
|
|
32
|
+
/**
|
|
33
|
+
* The op could change the row's own type (an insert, or a write of
|
|
34
|
+
* `type`): only then are its children re-judged, since moving a row never
|
|
35
|
+
* changes whether its children are allowed under it.
|
|
36
|
+
*/
|
|
37
|
+
readonly typeChanged?: boolean;
|
|
38
|
+
}
|
|
39
|
+
/** One broken invariant. */
|
|
40
|
+
export interface PostApplyViolation {
|
|
41
|
+
/** The write-invariant registry id (e.g. `task.tree.shape`). */
|
|
42
|
+
readonly check: string;
|
|
43
|
+
readonly table: string;
|
|
44
|
+
readonly uid: string;
|
|
45
|
+
readonly message: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* PAC-01 `task.tree.shape` over the page: for every task the transaction
|
|
49
|
+
* wrote, no self-parent, no ancestor cycle, a parent whose type may contain
|
|
50
|
+
* it (saga → epic → task → subtask), and every child still allowed under its
|
|
51
|
+
* (possibly changed) type. Root rules are left to the domain write paths.
|
|
52
|
+
*
|
|
53
|
+
* @param db - The store, inside the apply frame.
|
|
54
|
+
* @param page - The rows the transaction wrote.
|
|
55
|
+
* @returns The violations; empty when the shape holds.
|
|
56
|
+
*/
|
|
57
|
+
export declare function checkTaskTreeShape(db: DatabaseSync, page: readonly PageRow[]): PostApplyViolation[];
|
|
58
|
+
/**
|
|
59
|
+
* PAC-15 `apply.preconditions`: why no transaction may apply to this store
|
|
60
|
+
* now, or null. A store whose twin collapse failed refuses every write
|
|
61
|
+
* (T12535), so applying would half-write the stream.
|
|
62
|
+
*
|
|
63
|
+
* @param db - The store.
|
|
64
|
+
* @returns The reason, or null.
|
|
65
|
+
*/
|
|
66
|
+
export declare function checkApplyPreconditions(db: DatabaseSync): string | null;
|
|
67
|
+
//# sourceMappingURL=post-apply.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-apply.d.ts","sourceRoot":"","sources":["../../../../src/store/sync/apply/post-apply.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKhD,mCAAmC;AACnC,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,4BAA4B;AAC5B,MAAM,WAAW,kBAAkB;IACjC,gEAAgE;IAChE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAyBD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,YAAY,EAChB,IAAI,EAAE,SAAS,OAAO,EAAE,GACvB,kBAAkB,EAAE,CA8CtB;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAKvE"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gate C post-apply checks (T12344 PR-5; journal spec §3.6 "post-apply-check",
|
|
3
|
+
* §3.5 Rule 3).
|
|
4
|
+
*
|
|
5
|
+
* The apply writes through the write API, never the TypeScript write paths,
|
|
6
|
+
* so a merge of two ops each valid on its own device can produce a state the
|
|
7
|
+
* CLI would refuse while no trigger notices. A post-apply check evaluates one
|
|
8
|
+
* multi-row invariant over the transaction's page (the rows it wrote, plus
|
|
9
|
+
* the footprint the invariant declares) after the transaction's ops applied,
|
|
10
|
+
* inside the same frame. A violation rolls the whole transaction back: it
|
|
11
|
+
* becomes a revivable void plus one `post-apply` conflict per violation.
|
|
12
|
+
*
|
|
13
|
+
* Implemented here, on the tables that sync today:
|
|
14
|
+
* - PAC-01 `task.tree.shape` ({@link checkTaskTreeShape});
|
|
15
|
+
* - PAC-15 `apply.preconditions` ({@link checkApplyPreconditions}), which is
|
|
16
|
+
* checked before a pass, not per transaction.
|
|
17
|
+
* PAC-03 `task.dependency.graph` is trigger-covered since T12886
|
|
18
|
+
* (`tasks_task_dependencies_cycle_guard_*`): a cycle-closing edge is a guard
|
|
19
|
+
* conflict. The other families stay pending in the write-invariant registry
|
|
20
|
+
* until their tables join the sync set.
|
|
21
|
+
*
|
|
22
|
+
* Read-only.
|
|
23
|
+
*
|
|
24
|
+
* @module store/sync/apply/post-apply
|
|
25
|
+
* @task T12344
|
|
26
|
+
*/
|
|
27
|
+
import { isAllowedWorkGraphParentType } from '@cleocode/contracts/workgraph.js';
|
|
28
|
+
import { twinCollapseFailureOf } from '../../twin-collapse.js';
|
|
29
|
+
/**
|
|
30
|
+
* The deepest ancestor chain walked before a cycle is assumed: far beyond
|
|
31
|
+
* the four levels the type matrix allows (saga, epic, task, subtask).
|
|
32
|
+
*/
|
|
33
|
+
const MAX_TREE_DEPTH = 64;
|
|
34
|
+
const TASK_TYPES = new Set(['saga', 'epic', 'task', 'subtask']);
|
|
35
|
+
const isTaskType = (t) => t !== null && TASK_TYPES.has(t);
|
|
36
|
+
const asTaskType = (t) => (isTaskType(t) ? t : null);
|
|
37
|
+
function taskByUid(db, uid) {
|
|
38
|
+
return db
|
|
39
|
+
.prepare('SELECT id, uid, parent_id, type FROM main.tasks_tasks WHERE uid = ?')
|
|
40
|
+
.get(uid);
|
|
41
|
+
}
|
|
42
|
+
function taskById(db, id) {
|
|
43
|
+
return db.prepare('SELECT id, uid, parent_id, type FROM main.tasks_tasks WHERE id = ?').get(id);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* PAC-01 `task.tree.shape` over the page: for every task the transaction
|
|
47
|
+
* wrote, no self-parent, no ancestor cycle, a parent whose type may contain
|
|
48
|
+
* it (saga → epic → task → subtask), and every child still allowed under its
|
|
49
|
+
* (possibly changed) type. Root rules are left to the domain write paths.
|
|
50
|
+
*
|
|
51
|
+
* @param db - The store, inside the apply frame.
|
|
52
|
+
* @param page - The rows the transaction wrote.
|
|
53
|
+
* @returns The violations; empty when the shape holds.
|
|
54
|
+
*/
|
|
55
|
+
export function checkTaskTreeShape(db, page) {
|
|
56
|
+
const out = [];
|
|
57
|
+
const v = (uid, message) => {
|
|
58
|
+
out.push({ check: 'task.tree.shape', table: 'tasks_tasks', uid, message });
|
|
59
|
+
};
|
|
60
|
+
for (const row of page) {
|
|
61
|
+
if (row.table !== 'tasks_tasks')
|
|
62
|
+
continue;
|
|
63
|
+
const t = taskByUid(db, row.uid);
|
|
64
|
+
if (!t)
|
|
65
|
+
continue;
|
|
66
|
+
if (t.parent_id !== null && t.parent_id === t.id) {
|
|
67
|
+
v(row.uid, `${t.id} is its own parent`);
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
// Ancestor chain: no cycle.
|
|
71
|
+
const seen = new Set([t.id]);
|
|
72
|
+
let cur = t.parent_id;
|
|
73
|
+
for (let depth = 0; cur !== null; depth++) {
|
|
74
|
+
if (seen.has(cur) || depth > MAX_TREE_DEPTH) {
|
|
75
|
+
v(row.uid, `${t.id} is in a parent cycle`);
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
seen.add(cur);
|
|
79
|
+
cur = taskById(db, cur)?.parent_id ?? null;
|
|
80
|
+
}
|
|
81
|
+
// Its parent may contain it.
|
|
82
|
+
const type = asTaskType(t.type);
|
|
83
|
+
if (t.parent_id !== null && type !== null) {
|
|
84
|
+
const parentType = asTaskType(taskById(db, t.parent_id)?.type ?? null);
|
|
85
|
+
if (parentType !== null && !isAllowedWorkGraphParentType(type, parentType)) {
|
|
86
|
+
v(row.uid, `a ${parentType} cannot contain the ${type} ${t.id}`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// Its children are still allowed under a changed type (the trigger never re-checks them).
|
|
90
|
+
if (type !== null && row.typeChanged) {
|
|
91
|
+
const kids = db
|
|
92
|
+
.prepare('SELECT id, uid, type FROM main.tasks_tasks WHERE parent_id = ?')
|
|
93
|
+
.all(t.id);
|
|
94
|
+
for (const k of kids) {
|
|
95
|
+
const kt = asTaskType(k.type);
|
|
96
|
+
if (kt !== null && !isAllowedWorkGraphParentType(kt, type)) {
|
|
97
|
+
v(row.uid, `the ${type} ${t.id} cannot contain its ${kt} ${k.id}`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return out;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* PAC-15 `apply.preconditions`: why no transaction may apply to this store
|
|
106
|
+
* now, or null. A store whose twin collapse failed refuses every write
|
|
107
|
+
* (T12535), so applying would half-write the stream.
|
|
108
|
+
*
|
|
109
|
+
* @param db - The store.
|
|
110
|
+
* @returns The reason, or null.
|
|
111
|
+
*/
|
|
112
|
+
export function checkApplyPreconditions(db) {
|
|
113
|
+
const failure = twinCollapseFailureOf(db);
|
|
114
|
+
return failure
|
|
115
|
+
? `twin collapse failed (${failure.tables.join(', ')}): no apply until it is repaired`
|
|
116
|
+
: null;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=post-apply.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-apply.js","sourceRoot":"","sources":["../../../../src/store/sync/apply/post-apply.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reference translation for apply (T12344 PR-4; journal spec §3.2 "Missing
|
|
3
|
+
* references", NEW-2, T12782).
|
|
4
|
+
*
|
|
5
|
+
* On the wire a reference column carries the target row's uid; in the store
|
|
6
|
+
* it holds the target's LOCAL key. The applier translates both ways:
|
|
7
|
+
*
|
|
8
|
+
* - **Writing** ({@link resolveRef}): the uid becomes the target's local key.
|
|
9
|
+
* A target the receiver knows only through `tasks_uid_aliases` (re-keyed or
|
|
10
|
+
* re-minted) is followed to its current uid. A target with a tombstone is
|
|
11
|
+
* `tombstoned` (the op becomes a `dangling-ref` conflict plus a revivable
|
|
12
|
+
* void); a target never seen is `missing` (the transaction waits, pending).
|
|
13
|
+
* - **Reading** ({@link uidOfKey}): the merge compares stream values, so the
|
|
14
|
+
* row state it reads carries uids, not local keys.
|
|
15
|
+
*
|
|
16
|
+
* Read-only.
|
|
17
|
+
*
|
|
18
|
+
* @module store/sync/apply/refs
|
|
19
|
+
* @task T12344
|
|
20
|
+
*/
|
|
21
|
+
import type { DatabaseSync } from 'node:sqlite';
|
|
22
|
+
import type { LedgerWireValue } from '@cleocode/contracts/ledger';
|
|
23
|
+
/** Where a wire reference points on this replica. */
|
|
24
|
+
export type RefResolution = {
|
|
25
|
+
readonly kind: 'row';
|
|
26
|
+
readonly uid: string;
|
|
27
|
+
readonly key: LedgerWireValue;
|
|
28
|
+
} | {
|
|
29
|
+
readonly kind: 'tombstoned';
|
|
30
|
+
readonly uid: string;
|
|
31
|
+
} | {
|
|
32
|
+
readonly kind: 'missing';
|
|
33
|
+
readonly uid: string;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Resolve a wire reference (a target uid) to the target's local key.
|
|
37
|
+
*
|
|
38
|
+
* @param db - The store.
|
|
39
|
+
* @param target - The referenced table and its local key column.
|
|
40
|
+
* @param uid - The target uid on the wire.
|
|
41
|
+
* @returns The row's key, or why there is none.
|
|
42
|
+
*/
|
|
43
|
+
export declare function resolveRef(db: DatabaseSync, target: {
|
|
44
|
+
readonly table: string;
|
|
45
|
+
readonly key: string;
|
|
46
|
+
}, uid: string): RefResolution;
|
|
47
|
+
/**
|
|
48
|
+
* The uid of the row a local key references, or null when that row has no
|
|
49
|
+
* uid (or is absent).
|
|
50
|
+
*
|
|
51
|
+
* @param db - The store.
|
|
52
|
+
* @param target - The referenced table and its local key column.
|
|
53
|
+
* @param key - The local key the reference column holds.
|
|
54
|
+
* @returns The target's uid, or null.
|
|
55
|
+
*/
|
|
56
|
+
export declare function uidOfKey(db: DatabaseSync, target: {
|
|
57
|
+
readonly table: string;
|
|
58
|
+
readonly key: string;
|
|
59
|
+
}, key: LedgerWireValue): string | null;
|
|
60
|
+
//# sourceMappingURL=refs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../../../src/store/sync/apply/refs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAQlE,qDAAqD;AACrD,MAAM,MAAM,aAAa,GACrB;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAA;CAAE,GAC7E;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAqBvD;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EACxD,GAAG,EAAE,MAAM,GACV,aAAa,CAqBf;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CACtB,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EACxD,GAAG,EAAE,eAAe,GACnB,MAAM,GAAG,IAAI,CAOf"}
|