@software-dlc/cli 0.157.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/LICENSE +105 -0
- package/README.md +31 -0
- package/dist/checkout.d.ts +43 -0
- package/dist/checkout.d.ts.map +1 -0
- package/dist/checkout.js +92 -0
- package/dist/checkout.js.map +1 -0
- package/dist/cli-arguments.d.ts +13 -0
- package/dist/cli-arguments.d.ts.map +1 -0
- package/dist/cli-arguments.js +67 -0
- package/dist/cli-arguments.js.map +1 -0
- package/dist/cli-branch-history.d.ts +48 -0
- package/dist/cli-branch-history.d.ts.map +1 -0
- package/dist/cli-branch-history.js +319 -0
- package/dist/cli-branch-history.js.map +1 -0
- package/dist/cli-branches.d.ts +22 -0
- package/dist/cli-branches.d.ts.map +1 -0
- package/dist/cli-branches.js +59 -0
- package/dist/cli-branches.js.map +1 -0
- package/dist/cli-deploy.d.ts +14 -0
- package/dist/cli-deploy.d.ts.map +1 -0
- package/dist/cli-deploy.js +164 -0
- package/dist/cli-deploy.js.map +1 -0
- package/dist/cli-health.d.ts +3 -0
- package/dist/cli-health.d.ts.map +1 -0
- package/dist/cli-health.js +73 -0
- package/dist/cli-health.js.map +1 -0
- package/dist/cli-help.d.ts +21 -0
- package/dist/cli-help.d.ts.map +1 -0
- package/dist/cli-help.js +176 -0
- package/dist/cli-help.js.map +1 -0
- package/dist/cli-login.d.ts +76 -0
- package/dist/cli-login.d.ts.map +1 -0
- package/dist/cli-login.js +634 -0
- package/dist/cli-login.js.map +1 -0
- package/dist/cli-operation.d.ts +2 -0
- package/dist/cli-operation.d.ts.map +1 -0
- package/dist/cli-operation.js +66 -0
- package/dist/cli-operation.js.map +1 -0
- package/dist/cli-org.d.ts +12 -0
- package/dist/cli-org.d.ts.map +1 -0
- package/dist/cli-org.js +218 -0
- package/dist/cli-org.js.map +1 -0
- package/dist/cli-rebuild.d.ts +20 -0
- package/dist/cli-rebuild.d.ts.map +1 -0
- package/dist/cli-rebuild.js +29 -0
- package/dist/cli-rebuild.js.map +1 -0
- package/dist/cli-reset.d.ts +27 -0
- package/dist/cli-reset.d.ts.map +1 -0
- package/dist/cli-reset.js +44 -0
- package/dist/cli-reset.js.map +1 -0
- package/dist/cli-snapshot.d.ts +398 -0
- package/dist/cli-snapshot.d.ts.map +1 -0
- package/dist/cli-snapshot.js +45 -0
- package/dist/cli-snapshot.js.map +1 -0
- package/dist/cli-task-context.d.ts +3 -0
- package/dist/cli-task-context.d.ts.map +1 -0
- package/dist/cli-task-context.js +112 -0
- package/dist/cli-task-context.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +1004 -0
- package/dist/cli.js.map +1 -0
- package/dist/graph-packages-lock.d.ts +169 -0
- package/dist/graph-packages-lock.d.ts.map +1 -0
- package/dist/graph-packages-lock.js +503 -0
- package/dist/graph-packages-lock.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/local/aggregate-preflight.d.ts +12 -0
- package/dist/local/aggregate-preflight.d.ts.map +1 -0
- package/dist/local/aggregate-preflight.js +22 -0
- package/dist/local/aggregate-preflight.js.map +1 -0
- package/dist/local/allow-mcp.d.ts +77 -0
- package/dist/local/allow-mcp.d.ts.map +1 -0
- package/dist/local/allow-mcp.js +394 -0
- package/dist/local/allow-mcp.js.map +1 -0
- package/dist/local/api-client.d.ts +15 -0
- package/dist/local/api-client.d.ts.map +1 -0
- package/dist/local/api-client.js +87 -0
- package/dist/local/api-client.js.map +1 -0
- package/dist/local/app-contract-readers.d.ts +229 -0
- package/dist/local/app-contract-readers.d.ts.map +1 -0
- package/dist/local/app-contract-readers.js +450 -0
- package/dist/local/app-contract-readers.js.map +1 -0
- package/dist/local/app-org-reader.d.ts +21 -0
- package/dist/local/app-org-reader.d.ts.map +1 -0
- package/dist/local/app-org-reader.js +66 -0
- package/dist/local/app-org-reader.js.map +1 -0
- package/dist/local/app-shell-readers.d.ts +96 -0
- package/dist/local/app-shell-readers.d.ts.map +1 -0
- package/dist/local/app-shell-readers.js +381 -0
- package/dist/local/app-shell-readers.js.map +1 -0
- package/dist/local/app-tasks-read.d.ts +202 -0
- package/dist/local/app-tasks-read.d.ts.map +1 -0
- package/dist/local/app-tasks-read.js +290 -0
- package/dist/local/app-tasks-read.js.map +1 -0
- package/dist/local/app-worktrees.d.ts +69 -0
- package/dist/local/app-worktrees.d.ts.map +1 -0
- package/dist/local/app-worktrees.js +554 -0
- package/dist/local/app-worktrees.js.map +1 -0
- package/dist/local/base-sync-manifest.d.ts +12 -0
- package/dist/local/base-sync-manifest.d.ts.map +1 -0
- package/dist/local/base-sync-manifest.js +57 -0
- package/dist/local/base-sync-manifest.js.map +1 -0
- package/dist/local/blast-radius.d.ts +191 -0
- package/dist/local/blast-radius.d.ts.map +1 -0
- package/dist/local/blast-radius.js +585 -0
- package/dist/local/blast-radius.js.map +1 -0
- package/dist/local/canonical.d.ts +2 -0
- package/dist/local/canonical.d.ts.map +1 -0
- package/dist/local/canonical.js +2 -0
- package/dist/local/canonical.js.map +1 -0
- package/dist/local/config.d.ts +22 -0
- package/dist/local/config.d.ts.map +1 -0
- package/dist/local/config.js +57 -0
- package/dist/local/config.js.map +1 -0
- package/dist/local/document-commands.d.ts +163 -0
- package/dist/local/document-commands.d.ts.map +1 -0
- package/dist/local/document-commands.js +620 -0
- package/dist/local/document-commands.js.map +1 -0
- package/dist/local/document-embeds.d.ts +21 -0
- package/dist/local/document-embeds.d.ts.map +1 -0
- package/dist/local/document-embeds.js +38 -0
- package/dist/local/document-embeds.js.map +1 -0
- package/dist/local/environment-context.d.ts +39 -0
- package/dist/local/environment-context.d.ts.map +1 -0
- package/dist/local/environment-context.js +193 -0
- package/dist/local/environment-context.js.map +1 -0
- package/dist/local/environment-exclude.d.ts +7 -0
- package/dist/local/environment-exclude.d.ts.map +1 -0
- package/dist/local/environment-exclude.js +82 -0
- package/dist/local/environment-exclude.js.map +1 -0
- package/dist/local/environment-sidecar.d.ts +126 -0
- package/dist/local/environment-sidecar.d.ts.map +1 -0
- package/dist/local/environment-sidecar.js +442 -0
- package/dist/local/environment-sidecar.js.map +1 -0
- package/dist/local/environment-switch.d.ts +22 -0
- package/dist/local/environment-switch.d.ts.map +1 -0
- package/dist/local/environment-switch.js +385 -0
- package/dist/local/environment-switch.js.map +1 -0
- package/dist/local/exact-remote-projection.d.ts +17 -0
- package/dist/local/exact-remote-projection.d.ts.map +1 -0
- package/dist/local/exact-remote-projection.js +53 -0
- package/dist/local/exact-remote-projection.js.map +1 -0
- package/dist/local/experimental/path-object-store.d.ts +66 -0
- package/dist/local/experimental/path-object-store.d.ts.map +1 -0
- package/dist/local/experimental/path-object-store.js +135 -0
- package/dist/local/experimental/path-object-store.js.map +1 -0
- package/dist/local/external-worktree-binding.d.ts +21 -0
- package/dist/local/external-worktree-binding.d.ts.map +1 -0
- package/dist/local/external-worktree-binding.js +56 -0
- package/dist/local/external-worktree-binding.js.map +1 -0
- package/dist/local/folder-members.d.ts +34 -0
- package/dist/local/folder-members.d.ts.map +1 -0
- package/dist/local/folder-members.js +168 -0
- package/dist/local/folder-members.js.map +1 -0
- package/dist/local/git-ref-authority.d.ts +11 -0
- package/dist/local/git-ref-authority.d.ts.map +1 -0
- package/dist/local/git-ref-authority.js +76 -0
- package/dist/local/git-ref-authority.js.map +1 -0
- package/dist/local/git.d.ts +88 -0
- package/dist/local/git.d.ts.map +1 -0
- package/dist/local/git.js +413 -0
- package/dist/local/git.js.map +1 -0
- package/dist/local/graph-read.d.ts +168 -0
- package/dist/local/graph-read.d.ts.map +1 -0
- package/dist/local/graph-read.js +360 -0
- package/dist/local/graph-read.js.map +1 -0
- package/dist/local/graph-sync.d.ts +39 -0
- package/dist/local/graph-sync.d.ts.map +1 -0
- package/dist/local/graph-sync.js +186 -0
- package/dist/local/graph-sync.js.map +1 -0
- package/dist/local/guide-commands.d.ts +79 -0
- package/dist/local/guide-commands.d.ts.map +1 -0
- package/dist/local/guide-commands.js +247 -0
- package/dist/local/guide-commands.js.map +1 -0
- package/dist/local/health-files.d.ts +24 -0
- package/dist/local/health-files.d.ts.map +1 -0
- package/dist/local/health-files.js +133 -0
- package/dist/local/health-files.js.map +1 -0
- package/dist/local/health-inspection.d.ts +12 -0
- package/dist/local/health-inspection.d.ts.map +1 -0
- package/dist/local/health-inspection.js +407 -0
- package/dist/local/health-inspection.js.map +1 -0
- package/dist/local/health-policy.d.ts +11 -0
- package/dist/local/health-policy.d.ts.map +1 -0
- package/dist/local/health-policy.js +257 -0
- package/dist/local/health-policy.js.map +1 -0
- package/dist/local/health-projection.d.ts +14 -0
- package/dist/local/health-projection.d.ts.map +1 -0
- package/dist/local/health-projection.js +102 -0
- package/dist/local/health-projection.js.map +1 -0
- package/dist/local/health-schema.d.ts +338 -0
- package/dist/local/health-schema.d.ts.map +1 -0
- package/dist/local/health-schema.js +213 -0
- package/dist/local/health-schema.js.map +1 -0
- package/dist/local/health-store.d.ts +61 -0
- package/dist/local/health-store.d.ts.map +1 -0
- package/dist/local/health-store.js +218 -0
- package/dist/local/health-store.js.map +1 -0
- package/dist/local/index.d.ts +66 -0
- package/dist/local/index.d.ts.map +1 -0
- package/dist/local/index.js +66 -0
- package/dist/local/index.js.map +1 -0
- package/dist/local/journey-commands.d.ts +65 -0
- package/dist/local/journey-commands.d.ts.map +1 -0
- package/dist/local/journey-commands.js +138 -0
- package/dist/local/journey-commands.js.map +1 -0
- package/dist/local/local-org-store.d.ts +46 -0
- package/dist/local/local-org-store.d.ts.map +1 -0
- package/dist/local/local-org-store.js +132 -0
- package/dist/local/local-org-store.js.map +1 -0
- package/dist/local/local-org.d.ts +389 -0
- package/dist/local/local-org.d.ts.map +1 -0
- package/dist/local/local-org.js +855 -0
- package/dist/local/local-org.js.map +1 -0
- package/dist/local/media-upload.d.ts +5 -0
- package/dist/local/media-upload.d.ts.map +1 -0
- package/dist/local/media-upload.js +41 -0
- package/dist/local/media-upload.js.map +1 -0
- package/dist/local/operation.d.ts +155 -0
- package/dist/local/operation.d.ts.map +1 -0
- package/dist/local/operation.js +340 -0
- package/dist/local/operation.js.map +1 -0
- package/dist/local/ownership-reader-schema.d.ts +117 -0
- package/dist/local/ownership-reader-schema.d.ts.map +1 -0
- package/dist/local/ownership-reader-schema.js +105 -0
- package/dist/local/ownership-reader-schema.js.map +1 -0
- package/dist/local/ownership-reader-worker.d.ts +2 -0
- package/dist/local/ownership-reader-worker.d.ts.map +1 -0
- package/dist/local/ownership-reader-worker.js +341 -0
- package/dist/local/ownership-reader-worker.js.map +1 -0
- package/dist/local/ownership-reader.d.ts +10 -0
- package/dist/local/ownership-reader.d.ts.map +1 -0
- package/dist/local/ownership-reader.js +93 -0
- package/dist/local/ownership-reader.js.map +1 -0
- package/dist/local/package-uses-check.d.ts +33 -0
- package/dist/local/package-uses-check.d.ts.map +1 -0
- package/dist/local/package-uses-check.js +62 -0
- package/dist/local/package-uses-check.js.map +1 -0
- package/dist/local/pending-recovery.d.ts +22 -0
- package/dist/local/pending-recovery.d.ts.map +1 -0
- package/dist/local/pending-recovery.js +171 -0
- package/dist/local/pending-recovery.js.map +1 -0
- package/dist/local/portable-commit-store.d.ts +28 -0
- package/dist/local/portable-commit-store.d.ts.map +1 -0
- package/dist/local/portable-commit-store.js +187 -0
- package/dist/local/portable-commit-store.js.map +1 -0
- package/dist/local/portable-commit.d.ts +109 -0
- package/dist/local/portable-commit.d.ts.map +1 -0
- package/dist/local/portable-commit.js +209 -0
- package/dist/local/portable-commit.js.map +1 -0
- package/dist/local/portable-remote.d.ts +432 -0
- package/dist/local/portable-remote.d.ts.map +1 -0
- package/dist/local/portable-remote.js +280 -0
- package/dist/local/portable-remote.js.map +1 -0
- package/dist/local/project-deleted.d.ts +4 -0
- package/dist/local/project-deleted.d.ts.map +1 -0
- package/dist/local/project-deleted.js +13 -0
- package/dist/local/project-deleted.js.map +1 -0
- package/dist/local/projection.d.ts +166 -0
- package/dist/local/projection.d.ts.map +1 -0
- package/dist/local/projection.js +709 -0
- package/dist/local/projection.js.map +1 -0
- package/dist/local/read-operation.d.ts +3 -0
- package/dist/local/read-operation.d.ts.map +1 -0
- package/dist/local/read-operation.js +19 -0
- package/dist/local/read-operation.js.map +1 -0
- package/dist/local/rebuild.d.ts +11 -0
- package/dist/local/rebuild.d.ts.map +1 -0
- package/dist/local/rebuild.js +42 -0
- package/dist/local/rebuild.js.map +1 -0
- package/dist/local/remote-base.d.ts +25 -0
- package/dist/local/remote-base.d.ts.map +1 -0
- package/dist/local/remote-base.js +68 -0
- package/dist/local/remote-base.js.map +1 -0
- package/dist/local/save-layout-worker.d.ts +19 -0
- package/dist/local/save-layout-worker.d.ts.map +1 -0
- package/dist/local/save-layout-worker.js +28 -0
- package/dist/local/save-layout-worker.js.map +1 -0
- package/dist/local/save-layout.d.ts +84 -0
- package/dist/local/save-layout.d.ts.map +1 -0
- package/dist/local/save-layout.js +221 -0
- package/dist/local/save-layout.js.map +1 -0
- package/dist/local/scope-impact.d.ts +31 -0
- package/dist/local/scope-impact.d.ts.map +1 -0
- package/dist/local/scope-impact.js +32 -0
- package/dist/local/scope-impact.js.map +1 -0
- package/dist/local/source-evidence/filesystem-worker.d.ts +2 -0
- package/dist/local/source-evidence/filesystem-worker.d.ts.map +1 -0
- package/dist/local/source-evidence/filesystem-worker.js +139 -0
- package/dist/local/source-evidence/filesystem-worker.js.map +1 -0
- package/dist/local/source-evidence/processes.d.ts +20 -0
- package/dist/local/source-evidence/processes.d.ts.map +1 -0
- package/dist/local/source-evidence/processes.js +133 -0
- package/dist/local/source-evidence/processes.js.map +1 -0
- package/dist/local/source-evidence/protocol.d.ts +52 -0
- package/dist/local/source-evidence/protocol.d.ts.map +1 -0
- package/dist/local/source-evidence/protocol.js +72 -0
- package/dist/local/source-evidence/protocol.js.map +1 -0
- package/dist/local/source-evidence/reader.d.ts +14 -0
- package/dist/local/source-evidence/reader.d.ts.map +1 -0
- package/dist/local/source-evidence/reader.js +308 -0
- package/dist/local/source-evidence/reader.js.map +1 -0
- package/dist/local/source-evidence/schema.d.ts +2504 -0
- package/dist/local/source-evidence/schema.d.ts.map +1 -0
- package/dist/local/source-evidence/schema.js +99 -0
- package/dist/local/source-evidence/schema.js.map +1 -0
- package/dist/local/source-policy/loader.d.ts +29 -0
- package/dist/local/source-policy/loader.d.ts.map +1 -0
- package/dist/local/source-policy/loader.js +209 -0
- package/dist/local/source-policy/loader.js.map +1 -0
- package/dist/local/source-policy/process.d.ts +7 -0
- package/dist/local/source-policy/process.d.ts.map +1 -0
- package/dist/local/source-policy/process.js +53 -0
- package/dist/local/source-policy/process.js.map +1 -0
- package/dist/local/source-policy/protocol.d.ts +27 -0
- package/dist/local/source-policy/protocol.d.ts.map +1 -0
- package/dist/local/source-policy/protocol.js +48 -0
- package/dist/local/source-policy/protocol.js.map +1 -0
- package/dist/local/source-policy/worker.d.ts +2 -0
- package/dist/local/source-policy/worker.d.ts.map +1 -0
- package/dist/local/source-policy/worker.js +100 -0
- package/dist/local/source-policy/worker.js.map +1 -0
- package/dist/local/state-directory.d.ts +17 -0
- package/dist/local/state-directory.d.ts.map +1 -0
- package/dist/local/state-directory.js +68 -0
- package/dist/local/state-directory.js.map +1 -0
- package/dist/local/store-database.d.ts +13 -0
- package/dist/local/store-database.d.ts.map +1 -0
- package/dist/local/store-database.js +187 -0
- package/dist/local/store-database.js.map +1 -0
- package/dist/local/store.d.ts +181 -0
- package/dist/local/store.d.ts.map +1 -0
- package/dist/local/store.js +585 -0
- package/dist/local/store.js.map +1 -0
- package/dist/local/sync.d.ts +47 -0
- package/dist/local/sync.d.ts.map +1 -0
- package/dist/local/sync.js +518 -0
- package/dist/local/sync.js.map +1 -0
- package/dist/local/task-context-inspection.d.ts +23 -0
- package/dist/local/task-context-inspection.d.ts.map +1 -0
- package/dist/local/task-context-inspection.js +165 -0
- package/dist/local/task-context-inspection.js.map +1 -0
- package/dist/local/task-context-observations.d.ts +9553 -0
- package/dist/local/task-context-observations.d.ts.map +1 -0
- package/dist/local/task-context-observations.js +232 -0
- package/dist/local/task-context-observations.js.map +1 -0
- package/dist/local/task-context-provider.d.ts +18 -0
- package/dist/local/task-context-provider.d.ts.map +1 -0
- package/dist/local/task-context-provider.js +231 -0
- package/dist/local/task-context-provider.js.map +1 -0
- package/dist/local/task-context-schema.d.ts +847 -0
- package/dist/local/task-context-schema.d.ts.map +1 -0
- package/dist/local/task-context-schema.js +305 -0
- package/dist/local/task-context-schema.js.map +1 -0
- package/dist/local/task-context-source.d.ts +16 -0
- package/dist/local/task-context-source.d.ts.map +1 -0
- package/dist/local/task-context-source.js +45 -0
- package/dist/local/task-context-source.js.map +1 -0
- package/dist/local/task-context.d.ts +14 -0
- package/dist/local/task-context.d.ts.map +1 -0
- package/dist/local/task-context.js +570 -0
- package/dist/local/task-context.js.map +1 -0
- package/dist/local/test-commands.d.ts +71 -0
- package/dist/local/test-commands.d.ts.map +1 -0
- package/dist/local/test-commands.js +292 -0
- package/dist/local/test-commands.js.map +1 -0
- package/dist/local/tree-save.d.ts +117 -0
- package/dist/local/tree-save.d.ts.map +1 -0
- package/dist/local/tree-save.js +615 -0
- package/dist/local/tree-save.js.map +1 -0
- package/dist/local/variants.d.ts +125 -0
- package/dist/local/variants.d.ts.map +1 -0
- package/dist/local/variants.js +267 -0
- package/dist/local/variants.js.map +1 -0
- package/dist/local/workspace-admission.d.ts +61 -0
- package/dist/local/workspace-admission.d.ts.map +1 -0
- package/dist/local/workspace-admission.js +112 -0
- package/dist/local/workspace-admission.js.map +1 -0
- package/dist/local/workspace-authority-guard.d.ts +18 -0
- package/dist/local/workspace-authority-guard.d.ts.map +1 -0
- package/dist/local/workspace-authority-guard.js +69 -0
- package/dist/local/workspace-authority-guard.js.map +1 -0
- package/dist/local/workspace-authority.d.ts +33 -0
- package/dist/local/workspace-authority.d.ts.map +1 -0
- package/dist/local/workspace-authority.js +33 -0
- package/dist/local/workspace-authority.js.map +1 -0
- package/dist/local/workspace-branch-runtime.d.ts +61 -0
- package/dist/local/workspace-branch-runtime.d.ts.map +1 -0
- package/dist/local/workspace-branch-runtime.js +216 -0
- package/dist/local/workspace-branch-runtime.js.map +1 -0
- package/dist/local/workspace-built-content.d.ts +137 -0
- package/dist/local/workspace-built-content.d.ts.map +1 -0
- package/dist/local/workspace-built-content.js +393 -0
- package/dist/local/workspace-built-content.js.map +1 -0
- package/dist/local/workspace-claim-status-read.d.ts +53 -0
- package/dist/local/workspace-claim-status-read.d.ts.map +1 -0
- package/dist/local/workspace-claim-status-read.js +118 -0
- package/dist/local/workspace-claim-status-read.js.map +1 -0
- package/dist/local/workspace-claim-status.d.ts +172 -0
- package/dist/local/workspace-claim-status.d.ts.map +1 -0
- package/dist/local/workspace-claim-status.js +721 -0
- package/dist/local/workspace-claim-status.js.map +1 -0
- package/dist/local/workspace-claim-views.d.ts +45 -0
- package/dist/local/workspace-claim-views.d.ts.map +1 -0
- package/dist/local/workspace-claim-views.js +45 -0
- package/dist/local/workspace-claim-views.js.map +1 -0
- package/dist/local/workspace-cli.d.ts +46 -0
- package/dist/local/workspace-cli.d.ts.map +1 -0
- package/dist/local/workspace-cli.js +1524 -0
- package/dist/local/workspace-cli.js.map +1 -0
- package/dist/local/workspace-commit-resolver.d.ts +19 -0
- package/dist/local/workspace-commit-resolver.d.ts.map +1 -0
- package/dist/local/workspace-commit-resolver.js +47 -0
- package/dist/local/workspace-commit-resolver.js.map +1 -0
- package/dist/local/workspace-decision-store.d.ts +184 -0
- package/dist/local/workspace-decision-store.d.ts.map +1 -0
- package/dist/local/workspace-decision-store.js +510 -0
- package/dist/local/workspace-decision-store.js.map +1 -0
- package/dist/local/workspace-environment-runtime.d.ts +107 -0
- package/dist/local/workspace-environment-runtime.d.ts.map +1 -0
- package/dist/local/workspace-environment-runtime.js +135 -0
- package/dist/local/workspace-environment-runtime.js.map +1 -0
- package/dist/local/workspace-evidence-drop.d.ts +21 -0
- package/dist/local/workspace-evidence-drop.d.ts.map +1 -0
- package/dist/local/workspace-evidence-drop.js +58 -0
- package/dist/local/workspace-evidence-drop.js.map +1 -0
- package/dist/local/workspace-evidence-sign-tool.d.ts +20 -0
- package/dist/local/workspace-evidence-sign-tool.d.ts.map +1 -0
- package/dist/local/workspace-evidence-sign-tool.js +85 -0
- package/dist/local/workspace-evidence-sign-tool.js.map +1 -0
- package/dist/local/workspace-evidence-status.d.ts +89 -0
- package/dist/local/workspace-evidence-status.d.ts.map +1 -0
- package/dist/local/workspace-evidence-status.js +141 -0
- package/dist/local/workspace-evidence-status.js.map +1 -0
- package/dist/local/workspace-evidence.d.ts +145 -0
- package/dist/local/workspace-evidence.d.ts.map +1 -0
- package/dist/local/workspace-evidence.js +347 -0
- package/dist/local/workspace-evidence.js.map +1 -0
- package/dist/local/workspace-graph-store.d.ts +32 -0
- package/dist/local/workspace-graph-store.d.ts.map +1 -0
- package/dist/local/workspace-graph-store.js +249 -0
- package/dist/local/workspace-graph-store.js.map +1 -0
- package/dist/local/workspace-handoff.d.ts +32 -0
- package/dist/local/workspace-handoff.d.ts.map +1 -0
- package/dist/local/workspace-handoff.js +144 -0
- package/dist/local/workspace-handoff.js.map +1 -0
- package/dist/local/workspace-history-journal.d.ts +70 -0
- package/dist/local/workspace-history-journal.d.ts.map +1 -0
- package/dist/local/workspace-history-journal.js +131 -0
- package/dist/local/workspace-history-journal.js.map +1 -0
- package/dist/local/workspace-history-store.d.ts +98 -0
- package/dist/local/workspace-history-store.d.ts.map +1 -0
- package/dist/local/workspace-history-store.js +632 -0
- package/dist/local/workspace-history-store.js.map +1 -0
- package/dist/local/workspace-history-types.d.ts +307 -0
- package/dist/local/workspace-history-types.d.ts.map +1 -0
- package/dist/local/workspace-history-types.js +2 -0
- package/dist/local/workspace-history-types.js.map +1 -0
- package/dist/local/workspace-integration-runtime.d.ts +48 -0
- package/dist/local/workspace-integration-runtime.d.ts.map +1 -0
- package/dist/local/workspace-integration-runtime.js +419 -0
- package/dist/local/workspace-integration-runtime.js.map +1 -0
- package/dist/local/workspace-lock.d.ts +7 -0
- package/dist/local/workspace-lock.d.ts.map +1 -0
- package/dist/local/workspace-lock.js +211 -0
- package/dist/local/workspace-lock.js.map +1 -0
- package/dist/local/workspace-merge.d.ts +77 -0
- package/dist/local/workspace-merge.d.ts.map +1 -0
- package/dist/local/workspace-merge.js +703 -0
- package/dist/local/workspace-merge.js.map +1 -0
- package/dist/local/workspace-mixed-history.d.ts +33 -0
- package/dist/local/workspace-mixed-history.d.ts.map +1 -0
- package/dist/local/workspace-mixed-history.js +107 -0
- package/dist/local/workspace-mixed-history.js.map +1 -0
- package/dist/local/workspace-overlap-allocation.d.ts +33 -0
- package/dist/local/workspace-overlap-allocation.d.ts.map +1 -0
- package/dist/local/workspace-overlap-allocation.js +69 -0
- package/dist/local/workspace-overlap-allocation.js.map +1 -0
- package/dist/local/workspace-overlap-impact.d.ts +46 -0
- package/dist/local/workspace-overlap-impact.d.ts.map +1 -0
- package/dist/local/workspace-overlap-impact.js +162 -0
- package/dist/local/workspace-overlap-impact.js.map +1 -0
- package/dist/local/workspace-overlap.d.ts +109 -0
- package/dist/local/workspace-overlap.d.ts.map +1 -0
- package/dist/local/workspace-overlap.js +327 -0
- package/dist/local/workspace-overlap.js.map +1 -0
- package/dist/local/workspace-paths.d.ts +4 -0
- package/dist/local/workspace-paths.d.ts.map +1 -0
- package/dist/local/workspace-paths.js +8 -0
- package/dist/local/workspace-paths.js.map +1 -0
- package/dist/local/workspace-pick-runtime.d.ts +70 -0
- package/dist/local/workspace-pick-runtime.d.ts.map +1 -0
- package/dist/local/workspace-pick-runtime.js +177 -0
- package/dist/local/workspace-pick-runtime.js.map +1 -0
- package/dist/local/workspace-pick-store.d.ts +33 -0
- package/dist/local/workspace-pick-store.d.ts.map +1 -0
- package/dist/local/workspace-pick-store.js +43 -0
- package/dist/local/workspace-pick-store.js.map +1 -0
- package/dist/local/workspace-pick.d.ts +73 -0
- package/dist/local/workspace-pick.d.ts.map +1 -0
- package/dist/local/workspace-pick.js +253 -0
- package/dist/local/workspace-pick.js.map +1 -0
- package/dist/local/workspace-portable-authoring.d.ts +43 -0
- package/dist/local/workspace-portable-authoring.d.ts.map +1 -0
- package/dist/local/workspace-portable-authoring.js +128 -0
- package/dist/local/workspace-portable-authoring.js.map +1 -0
- package/dist/local/workspace-prune.d.ts +63 -0
- package/dist/local/workspace-prune.d.ts.map +1 -0
- package/dist/local/workspace-prune.js +267 -0
- package/dist/local/workspace-prune.js.map +1 -0
- package/dist/local/workspace-remote-fetch.d.ts +82 -0
- package/dist/local/workspace-remote-fetch.d.ts.map +1 -0
- package/dist/local/workspace-remote-fetch.js +409 -0
- package/dist/local/workspace-remote-fetch.js.map +1 -0
- package/dist/local/workspace-remote-provider.d.ts +97 -0
- package/dist/local/workspace-remote-provider.d.ts.map +1 -0
- package/dist/local/workspace-remote-provider.js +400 -0
- package/dist/local/workspace-remote-provider.js.map +1 -0
- package/dist/local/workspace-remote-pull-request-journal.d.ts +49 -0
- package/dist/local/workspace-remote-pull-request-journal.d.ts.map +1 -0
- package/dist/local/workspace-remote-pull-request-journal.js +63 -0
- package/dist/local/workspace-remote-pull-request-journal.js.map +1 -0
- package/dist/local/workspace-remote-pull-request.d.ts +36 -0
- package/dist/local/workspace-remote-pull-request.d.ts.map +1 -0
- package/dist/local/workspace-remote-pull-request.js +158 -0
- package/dist/local/workspace-remote-pull-request.js.map +1 -0
- package/dist/local/workspace-remote-push.d.ts +88 -0
- package/dist/local/workspace-remote-push.d.ts.map +1 -0
- package/dist/local/workspace-remote-push.js +297 -0
- package/dist/local/workspace-remote-push.js.map +1 -0
- package/dist/local/workspace-remote-topic-journal.d.ts +56 -0
- package/dist/local/workspace-remote-topic-journal.d.ts.map +1 -0
- package/dist/local/workspace-remote-topic-journal.js +121 -0
- package/dist/local/workspace-remote-topic-journal.js.map +1 -0
- package/dist/local/workspace-remote-topic.d.ts +45 -0
- package/dist/local/workspace-remote-topic.d.ts.map +1 -0
- package/dist/local/workspace-remote-topic.js +204 -0
- package/dist/local/workspace-remote-topic.js.map +1 -0
- package/dist/local/workspace-remote-transfer.d.ts +76 -0
- package/dist/local/workspace-remote-transfer.d.ts.map +1 -0
- package/dist/local/workspace-remote-transfer.js +270 -0
- package/dist/local/workspace-remote-transfer.js.map +1 -0
- package/dist/local/workspace-resolution.d.ts +145 -0
- package/dist/local/workspace-resolution.d.ts.map +1 -0
- package/dist/local/workspace-resolution.js +479 -0
- package/dist/local/workspace-resolution.js.map +1 -0
- package/dist/local/workspace-resolver-provider.d.ts +72 -0
- package/dist/local/workspace-resolver-provider.d.ts.map +1 -0
- package/dist/local/workspace-resolver-provider.js +312 -0
- package/dist/local/workspace-resolver-provider.js.map +1 -0
- package/dist/local/workspace-runtime-handoff.d.ts +52 -0
- package/dist/local/workspace-runtime-handoff.d.ts.map +1 -0
- package/dist/local/workspace-runtime-handoff.js +237 -0
- package/dist/local/workspace-runtime-handoff.js.map +1 -0
- package/dist/local/workspace-runtime-lease.d.ts +26 -0
- package/dist/local/workspace-runtime-lease.d.ts.map +1 -0
- package/dist/local/workspace-runtime-lease.js +123 -0
- package/dist/local/workspace-runtime-lease.js.map +1 -0
- package/dist/local/workspace-runtime.d.ts +690 -0
- package/dist/local/workspace-runtime.d.ts.map +1 -0
- package/dist/local/workspace-runtime.js +2124 -0
- package/dist/local/workspace-runtime.js.map +1 -0
- package/dist/local/workspace-scope.d.ts +70 -0
- package/dist/local/workspace-scope.d.ts.map +1 -0
- package/dist/local/workspace-scope.js +206 -0
- package/dist/local/workspace-scope.js.map +1 -0
- package/dist/local/workspace-sources.d.ts +159 -0
- package/dist/local/workspace-sources.d.ts.map +1 -0
- package/dist/local/workspace-sources.js +570 -0
- package/dist/local/workspace-sources.js.map +1 -0
- package/dist/local/workspace-store-database.d.ts +5 -0
- package/dist/local/workspace-store-database.d.ts.map +1 -0
- package/dist/local/workspace-store-database.js +726 -0
- package/dist/local/workspace-store-database.js.map +1 -0
- package/dist/local/workspace-store.d.ts +261 -0
- package/dist/local/workspace-store.d.ts.map +1 -0
- package/dist/local/workspace-store.js +831 -0
- package/dist/local/workspace-store.js.map +1 -0
- package/dist/local/workspace-topology-runtime.d.ts +27 -0
- package/dist/local/workspace-topology-runtime.d.ts.map +1 -0
- package/dist/local/workspace-topology-runtime.js +396 -0
- package/dist/local/workspace-topology-runtime.js.map +1 -0
- package/dist/local/workspace-topology.d.ts +140 -0
- package/dist/local/workspace-topology.d.ts.map +1 -0
- package/dist/local/workspace-topology.js +359 -0
- package/dist/local/workspace-topology.js.map +1 -0
- package/dist/local/workspace-upstream-inspection.d.ts +60 -0
- package/dist/local/workspace-upstream-inspection.d.ts.map +1 -0
- package/dist/local/workspace-upstream-inspection.js +189 -0
- package/dist/local/workspace-upstream-inspection.js.map +1 -0
- package/dist/local/workspace-upstream-runtime.d.ts +91 -0
- package/dist/local/workspace-upstream-runtime.d.ts.map +1 -0
- package/dist/local/workspace-upstream-runtime.js +270 -0
- package/dist/local/workspace-upstream-runtime.js.map +1 -0
- package/dist/local/workspace-upstream-store.d.ts +51 -0
- package/dist/local/workspace-upstream-store.d.ts.map +1 -0
- package/dist/local/workspace-upstream-store.js +475 -0
- package/dist/local/workspace-upstream-store.js.map +1 -0
- package/dist/local/workspace-viewer-server.d.ts +136 -0
- package/dist/local/workspace-viewer-server.d.ts.map +1 -0
- package/dist/local/workspace-viewer-server.js +1097 -0
- package/dist/local/workspace-viewer-server.js.map +1 -0
- package/dist/local/workspace-viewer-snapshot.d.ts +49 -0
- package/dist/local/workspace-viewer-snapshot.d.ts.map +1 -0
- package/dist/local/workspace-viewer-snapshot.js +91 -0
- package/dist/local/workspace-viewer-snapshot.js.map +1 -0
- package/dist/local/worktree-projection.d.ts +76 -0
- package/dist/local/worktree-projection.d.ts.map +1 -0
- package/dist/local/worktree-projection.js +470 -0
- package/dist/local/worktree-projection.js.map +1 -0
- package/dist/mcp/client-identity.d.ts +8 -0
- package/dist/mcp/client-identity.d.ts.map +1 -0
- package/dist/mcp/client-identity.js +33 -0
- package/dist/mcp/client-identity.js.map +1 -0
- package/dist/mcp/graph-to-code.d.ts +53 -0
- package/dist/mcp/graph-to-code.d.ts.map +1 -0
- package/dist/mcp/graph-to-code.js +1624 -0
- package/dist/mcp/graph-to-code.js.map +1 -0
- package/dist/mcp/index.d.ts +3 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +3 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/stdio/graph-to-code.d.ts +3 -0
- package/dist/mcp/stdio/graph-to-code.d.ts.map +1 -0
- package/dist/mcp/stdio/graph-to-code.js +55 -0
- package/dist/mcp/stdio/graph-to-code.js.map +1 -0
- package/dist/mcp/stdio/worktree.d.ts +3 -0
- package/dist/mcp/stdio/worktree.d.ts.map +1 -0
- package/dist/mcp/stdio/worktree.js +67 -0
- package/dist/mcp/stdio/worktree.js.map +1 -0
- package/dist/mcp/worktree-claim-status.d.ts +162 -0
- package/dist/mcp/worktree-claim-status.d.ts.map +1 -0
- package/dist/mcp/worktree-claim-status.js +113 -0
- package/dist/mcp/worktree-claim-status.js.map +1 -0
- package/dist/mcp/worktree-dispatch.d.ts +13 -0
- package/dist/mcp/worktree-dispatch.d.ts.map +1 -0
- package/dist/mcp/worktree-dispatch.js +52 -0
- package/dist/mcp/worktree-dispatch.js.map +1 -0
- package/dist/mcp/worktree-errors.d.ts +15 -0
- package/dist/mcp/worktree-errors.d.ts.map +1 -0
- package/dist/mcp/worktree-errors.js +17 -0
- package/dist/mcp/worktree-errors.js.map +1 -0
- package/dist/mcp/worktree-health.d.ts +12 -0
- package/dist/mcp/worktree-health.d.ts.map +1 -0
- package/dist/mcp/worktree-health.js +32 -0
- package/dist/mcp/worktree-health.js.map +1 -0
- package/dist/mcp/worktree-results.d.ts +15 -0
- package/dist/mcp/worktree-results.d.ts.map +1 -0
- package/dist/mcp/worktree-results.js +12 -0
- package/dist/mcp/worktree-results.js.map +1 -0
- package/dist/mcp/worktree-task-context.d.ts +57 -0
- package/dist/mcp/worktree-task-context.d.ts.map +1 -0
- package/dist/mcp/worktree-task-context.js +45 -0
- package/dist/mcp/worktree-task-context.js.map +1 -0
- package/dist/mcp/worktree-tools.d.ts +2648 -0
- package/dist/mcp/worktree-tools.d.ts.map +1 -0
- package/dist/mcp/worktree-tools.js +192 -0
- package/dist/mcp/worktree-tools.js.map +1 -0
- package/dist/mcp/worktree.d.ts +33 -0
- package/dist/mcp/worktree.d.ts.map +1 -0
- package/dist/mcp/worktree.js +551 -0
- package/dist/mcp/worktree.js.map +1 -0
- package/dist/own-package.d.ts +13 -0
- package/dist/own-package.d.ts.map +1 -0
- package/dist/own-package.js +32 -0
- package/dist/own-package.js.map +1 -0
- package/dist/packages-browse.d.ts +107 -0
- package/dist/packages-browse.d.ts.map +1 -0
- package/dist/packages-browse.js +646 -0
- package/dist/packages-browse.js.map +1 -0
- package/dist/packages-cli.d.ts +8 -0
- package/dist/packages-cli.d.ts.map +1 -0
- package/dist/packages-cli.js +184 -0
- package/dist/packages-cli.js.map +1 -0
- package/dist/packages-uses.d.ts +46 -0
- package/dist/packages-uses.d.ts.map +1 -0
- package/dist/packages-uses.js +737 -0
- package/dist/packages-uses.js.map +1 -0
- package/dist/portable.d.ts +7 -0
- package/dist/portable.d.ts.map +1 -0
- package/dist/portable.js +14 -0
- package/dist/portable.js.map +1 -0
- package/dist/quiet-warnings.d.ts +3 -0
- package/dist/quiet-warnings.d.ts.map +1 -0
- package/dist/quiet-warnings.js +21 -0
- package/dist/quiet-warnings.js.map +1 -0
- package/dist/view-seam.d.ts +62 -0
- package/dist/view-seam.d.ts.map +1 -0
- package/dist/view-seam.js +70 -0
- package/dist/view-seam.js.map +1 -0
- package/generated/graph-packages/index.json +5 -0
- package/graph-packages.lock.json +4 -0
- package/package.json +81 -0
- package/viewer/assets/index-BZKGDARF.css +1 -0
- package/viewer/assets/index-DWu0CbZZ.js +272 -0
- package/viewer/index.html +13 -0
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
export class LocalWorkspaceEnvironmentRuntime {
|
|
2
|
+
store;
|
|
3
|
+
authority;
|
|
4
|
+
resolver_store;
|
|
5
|
+
remote_store;
|
|
6
|
+
remote_fetcher;
|
|
7
|
+
remote_pusher;
|
|
8
|
+
remote_topic_publisher;
|
|
9
|
+
remote_pull_request_creator;
|
|
10
|
+
portable_authoring;
|
|
11
|
+
constructor(store, authority, resolver_store, remote_store, remote_fetcher, remote_pusher, remote_topic_publisher, remote_pull_request_creator, portable_authoring) {
|
|
12
|
+
this.store = store;
|
|
13
|
+
this.authority = authority;
|
|
14
|
+
this.resolver_store = resolver_store;
|
|
15
|
+
this.remote_store = remote_store;
|
|
16
|
+
this.remote_fetcher = remote_fetcher;
|
|
17
|
+
this.remote_pusher = remote_pusher;
|
|
18
|
+
this.remote_topic_publisher = remote_topic_publisher;
|
|
19
|
+
this.remote_pull_request_creator = remote_pull_request_creator;
|
|
20
|
+
this.portable_authoring = portable_authoring;
|
|
21
|
+
}
|
|
22
|
+
resolverStatus() {
|
|
23
|
+
return this.resolver_store.status();
|
|
24
|
+
}
|
|
25
|
+
async configureResolver(input) {
|
|
26
|
+
await this.requireHuman(input.actor_workspace_id);
|
|
27
|
+
return this.resolver_store.configure(input.configuration);
|
|
28
|
+
}
|
|
29
|
+
async configureResolverFromFile(input) {
|
|
30
|
+
await this.requireHuman(input.actor_workspace_id);
|
|
31
|
+
return this.resolver_store.configureFromFile(input.path);
|
|
32
|
+
}
|
|
33
|
+
async clearResolver(input) {
|
|
34
|
+
await this.requireHuman(input.actor_workspace_id);
|
|
35
|
+
return this.resolver_store.clear();
|
|
36
|
+
}
|
|
37
|
+
async loadResolver(input) {
|
|
38
|
+
await this.authority.requireCurrent(input.actor_workspace_id);
|
|
39
|
+
return this.resolver_store.load({
|
|
40
|
+
allow_network_resolver: input.allow_network_resolver
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
listRemotes() {
|
|
44
|
+
return this.remote_store.list();
|
|
45
|
+
}
|
|
46
|
+
inspectRemote(name) {
|
|
47
|
+
return this.remote_store.inspect(name);
|
|
48
|
+
}
|
|
49
|
+
async setRemote(input) {
|
|
50
|
+
await this.requireHuman(input.actor_workspace_id);
|
|
51
|
+
return this.remote_store.set(input.remote);
|
|
52
|
+
}
|
|
53
|
+
async removeRemote(input) {
|
|
54
|
+
await this.requireHuman(input.actor_workspace_id);
|
|
55
|
+
return this.remote_store.remove(input.name);
|
|
56
|
+
}
|
|
57
|
+
async discoverRemote(input) {
|
|
58
|
+
await this.authority.requireCurrent(input.actor_workspace_id);
|
|
59
|
+
return this.remote_store.discover({
|
|
60
|
+
name: input.name,
|
|
61
|
+
fetch_impl: input.fetch_impl,
|
|
62
|
+
timeout_ms: input.timeout_ms
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
listRemoteTrackingRefs(name) {
|
|
66
|
+
return this.store.remote_tracking.listRefs(name);
|
|
67
|
+
}
|
|
68
|
+
async fetchRemote(input) {
|
|
69
|
+
await this.authority.requireCurrent(input.actor_workspace_id);
|
|
70
|
+
return this.remote_fetcher.fetch(input);
|
|
71
|
+
}
|
|
72
|
+
listRemotePushJournals(name) {
|
|
73
|
+
return this.store.remote_push.listJournals(name);
|
|
74
|
+
}
|
|
75
|
+
listRemoteTopicJournals(name) {
|
|
76
|
+
return this.store.remote_topic.listJournals(name);
|
|
77
|
+
}
|
|
78
|
+
listRemotePullRequestJournals(name) {
|
|
79
|
+
return this.store.remote_pull_request.listJournals(name);
|
|
80
|
+
}
|
|
81
|
+
async planPortableHistory(input) {
|
|
82
|
+
const { workspace } = await this.authority.requireCurrent(input.actor_workspace_id);
|
|
83
|
+
return this.portable_authoring.plan(input.local_commit_id ?? workspace.head_sdlc_commit_id);
|
|
84
|
+
}
|
|
85
|
+
async convertPortableHistory(input) {
|
|
86
|
+
const { workspace } = await this.authority.requireCurrent(input.actor_workspace_id, { require_human: true });
|
|
87
|
+
return this.portable_authoring.convert({
|
|
88
|
+
head_local_commit_id: input.local_commit_id ?? workspace.head_sdlc_commit_id,
|
|
89
|
+
identity_file: input.identity_file,
|
|
90
|
+
base_remote_name: input.base_remote_name,
|
|
91
|
+
base_source_ref: input.base_source_ref
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
async pushRemote(input) {
|
|
95
|
+
const { workspace } = await this.authority.requireCurrent(input.actor_workspace_id, { require_human: true });
|
|
96
|
+
const new_commit_id = input.new_commit_id ??
|
|
97
|
+
this.store.portable_commits.getLocalMapping(workspace.head_sdlc_commit_id);
|
|
98
|
+
if (!new_commit_id) {
|
|
99
|
+
throw new Error('The current workspace head has no portable mapping. Convert it with explicit identity claims before pushing or pass --commit.');
|
|
100
|
+
}
|
|
101
|
+
return this.remote_pusher.push({
|
|
102
|
+
name: input.name,
|
|
103
|
+
destination_ref: input.destination_ref,
|
|
104
|
+
new_commit_id,
|
|
105
|
+
fetch_impl: input.fetch_impl,
|
|
106
|
+
timeout_ms: input.timeout_ms
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
async publishRemoteTopic(input) {
|
|
110
|
+
const { workspace } = await this.authority.requireCurrent(input.actor_workspace_id, { require_human: true });
|
|
111
|
+
const new_commit_id = input.new_commit_id ??
|
|
112
|
+
this.store.portable_commits.getLocalMapping(workspace.head_sdlc_commit_id);
|
|
113
|
+
if (!new_commit_id) {
|
|
114
|
+
throw new Error('The current workspace head has no portable mapping. Convert it with explicit identity claims before publishing a topic or pass --commit.');
|
|
115
|
+
}
|
|
116
|
+
return this.remote_topic_publisher.publish({
|
|
117
|
+
name: input.name,
|
|
118
|
+
topic_ref: input.topic_ref,
|
|
119
|
+
target_ref: input.target_ref,
|
|
120
|
+
new_commit_id,
|
|
121
|
+
fetch_impl: input.fetch_impl,
|
|
122
|
+
timeout_ms: input.timeout_ms
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
async createRemotePullRequest(input) {
|
|
126
|
+
await this.authority.requireCurrent(input.actor_workspace_id, {
|
|
127
|
+
require_human: true
|
|
128
|
+
});
|
|
129
|
+
return this.remote_pull_request_creator.create(input);
|
|
130
|
+
}
|
|
131
|
+
async requireHuman(workspace_id) {
|
|
132
|
+
await this.authority.requireCurrent(workspace_id, { require_human: true });
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=workspace-environment-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-environment-runtime.js","sourceRoot":"","sources":["../../src/local/workspace-environment-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { PortableGraph } from '@software-dlc/graph/types';
|
|
2
|
+
import { type EvidenceEntityKind } from './workspace-evidence-status.js';
|
|
3
|
+
/**
|
|
4
|
+
* Source references an entity had at the base and no longer has. An agent
|
|
5
|
+
* that writes an entity file again from scratch drops its `data.meta.evidence`
|
|
6
|
+
* without meaning to, so a commit reports the loss instead of staying silent.
|
|
7
|
+
* Removing a reference on purpose is valid, so this warns and never refuses.
|
|
8
|
+
* An entity the commit removes is not counted: its references go with it.
|
|
9
|
+
*/
|
|
10
|
+
export type LocalEvidenceDrop = {
|
|
11
|
+
entity_kind: EvidenceEntityKind;
|
|
12
|
+
entity_id: string;
|
|
13
|
+
dropped_reference_ids: string[];
|
|
14
|
+
};
|
|
15
|
+
export declare function droppedEvidenceReferences(input: {
|
|
16
|
+
base_graph: PortableGraph;
|
|
17
|
+
graph: PortableGraph;
|
|
18
|
+
}): LocalEvidenceDrop[];
|
|
19
|
+
/** One commit warning for the drops, or none. */
|
|
20
|
+
export declare function evidenceDropWarning(drops: LocalEvidenceDrop[]): string | null;
|
|
21
|
+
//# sourceMappingURL=workspace-evidence-drop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-evidence-drop.d.ts","sourceRoot":"","sources":["../../src/local/workspace-evidence-drop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,gCAAgC,CAAC;AAExC;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,kBAAkB,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC,CAAC;AAoBF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,UAAU,EAAE,aAAa,CAAC;IAC1B,KAAK,EAAE,aAAa,CAAC;CACtB,GAAG,iBAAiB,EAAE,CAsCtB;AAID,iDAAiD;AACjD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,MAAM,GAAG,IAAI,CAiB7E"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { hashEvidenceReferenceIdentity } from '@software-dlc/graph/schema';
|
|
2
|
+
import { entityEvidence } from './workspace-evidence-status.js';
|
|
3
|
+
function references(entity) {
|
|
4
|
+
return entityEvidence(entity)?.references ?? [];
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Each reference's id and identity hash. `sdlc-agents sources record`
|
|
8
|
+
* replaces a reference with the same identity under a new id, which is not
|
|
9
|
+
* a loss.
|
|
10
|
+
*/
|
|
11
|
+
function referenceKeys(entity) {
|
|
12
|
+
return new Set(references(entity).flatMap((reference) => [
|
|
13
|
+
reference.reference_id,
|
|
14
|
+
hashEvidenceReferenceIdentity(reference)
|
|
15
|
+
]));
|
|
16
|
+
}
|
|
17
|
+
export function droppedEvidenceReferences(input) {
|
|
18
|
+
const drops = [];
|
|
19
|
+
const compare = (entity_kind, base, current) => {
|
|
20
|
+
const now = new Map(current.map((entity) => [entity.id, entity]));
|
|
21
|
+
for (const before of base) {
|
|
22
|
+
const after = now.get(before.id);
|
|
23
|
+
if (!after)
|
|
24
|
+
continue;
|
|
25
|
+
const kept = referenceKeys(after);
|
|
26
|
+
const dropped = references(before)
|
|
27
|
+
.filter((reference) => !kept.has(reference.reference_id) &&
|
|
28
|
+
!kept.has(hashEvidenceReferenceIdentity(reference)))
|
|
29
|
+
.map((reference) => reference.reference_id);
|
|
30
|
+
if (dropped.length > 0)
|
|
31
|
+
drops.push({
|
|
32
|
+
entity_kind,
|
|
33
|
+
entity_id: before.id,
|
|
34
|
+
dropped_reference_ids: dropped
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
compare('node', input.base_graph.nodes, input.graph.nodes);
|
|
39
|
+
compare('edge', input.base_graph.edges, input.graph.edges);
|
|
40
|
+
return drops;
|
|
41
|
+
}
|
|
42
|
+
const NAMED = 5;
|
|
43
|
+
/** One commit warning for the drops, or none. */
|
|
44
|
+
export function evidenceDropWarning(drops) {
|
|
45
|
+
if (drops.length === 0)
|
|
46
|
+
return null;
|
|
47
|
+
const references = drops.reduce((total, drop) => total + drop.dropped_reference_ids.length, 0);
|
|
48
|
+
const named = drops
|
|
49
|
+
.slice(0, NAMED)
|
|
50
|
+
.map((drop) => `${drop.entity_kind} ${drop.entity_id}`)
|
|
51
|
+
.join(', ');
|
|
52
|
+
const more = drops.length > NAMED ? ` and ${drops.length - NAMED} more` : '';
|
|
53
|
+
return (`${references} source reference${references === 1 ? '' : 's'} dropped from ` +
|
|
54
|
+
`${drops.length} entit${drops.length === 1 ? 'y' : 'ies'} the commit keeps ` +
|
|
55
|
+
`(${named}${more}). Rewriting an entity file drops its data.meta.evidence; ` +
|
|
56
|
+
`keep that block when editing, or record the sources again with sdlc-agents sources record.`);
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=workspace-evidence-drop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-evidence-drop.js","sourceRoot":"","sources":["../../src/local/workspace-evidence-drop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAG3E,OAAO,EACL,cAAc,EAGf,MAAM,gCAAgC,CAAC;AAexC,SAAS,UAAU,CAAC,MAAsB;IACxC,OAAO,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,MAAsB;IAC3C,OAAO,IAAI,GAAG,CACZ,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC;QACxC,SAAS,CAAC,YAAY;QACtB,6BAA6B,CAAC,SAAS,CAAC;KACzC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAGzC;IACC,MAAM,KAAK,GAAwB,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,CACd,WAA+B,EAC/B,IAAsB,EACtB,OAAyB,EACzB,EAAE;QACF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAClE,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACjC,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YAClC,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC;iBAC/B,MAAM,CACL,CAAC,SAAS,EAAE,EAAE,CACZ,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC;gBACjC,CAAC,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC,CACtD;iBACA,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAC9C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBACpB,KAAK,CAAC,IAAI,CAAC;oBACT,WAAW;oBACX,SAAS,EAAE,MAAM,CAAC,EAAE;oBACpB,qBAAqB,EAAE,OAAO;iBAC/B,CAAC,CAAC;QACP,CAAC;IACH,CAAC,CAAC;IACF,OAAO,CACL,MAAM,EACN,KAAK,CAAC,UAAU,CAAC,KAAyB,EAC1C,KAAK,CAAC,KAAK,CAAC,KAAyB,CACtC,CAAC;IACF,OAAO,CACL,MAAM,EACN,KAAK,CAAC,UAAU,CAAC,KAAyB,EAC1C,KAAK,CAAC,KAAK,CAAC,KAAyB,CACtC,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,CAAC;AAEhB,iDAAiD;AACjD,MAAM,UAAU,mBAAmB,CAAC,KAA0B;IAC5D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAC7B,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAC1D,CAAC,CACF,CAAC;IACF,MAAM,KAAK,GAAG,KAAK;SAChB,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;SACtD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,MAAM,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,OAAO,CACL,GAAG,UAAU,oBAAoB,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,gBAAgB;QAC5E,GAAG,KAAK,CAAC,MAAM,SAAS,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,oBAAoB;QAC5E,IAAI,KAAK,GAAG,IAAI,4DAA4D;QAC5E,4FAA4F,CAC7F,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { EvidenceSignResult } from './workspace-evidence.js';
|
|
3
|
+
export declare const evidence_sign_arguments_schema: z.ZodObject<{
|
|
4
|
+
nodes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
5
|
+
edges: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6
|
+
references: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
7
|
+
changed: z.ZodOptional<z.ZodBoolean>;
|
|
8
|
+
commit: z.ZodOptional<z.ZodString>;
|
|
9
|
+
}, z.core.$strict>;
|
|
10
|
+
export type EvidenceSignRead = EvidenceSignResult | {
|
|
11
|
+
version: 1;
|
|
12
|
+
error: string;
|
|
13
|
+
};
|
|
14
|
+
export declare function signWorkspaceEvidence(input: {
|
|
15
|
+
cwd: string;
|
|
16
|
+
arguments: unknown;
|
|
17
|
+
/** The repository state directory, when not the checkout's own. */
|
|
18
|
+
state_dir?: string;
|
|
19
|
+
}): Promise<EvidenceSignRead>;
|
|
20
|
+
//# sourceMappingURL=workspace-evidence-sign-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-evidence-sign-tool.d.ts","sourceRoot":"","sources":["../../src/local/workspace-evidence-sign-tool.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAclE,eAAO,MAAM,8BAA8B;;;;;;kBAkBxC,CAAC;AAEJ,MAAM,MAAM,gBAAgB,GACxB,kBAAkB,GAClB;IAAE,OAAO,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAElC,wBAAsB,qBAAqB,CAAC,KAAK,EAAE;IACjD,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,OAAO,CAAC;IACnB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA+D5B"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { stat } from 'node:fs/promises';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { discoverGitWorktree } from './git.js';
|
|
5
|
+
import { resolveLocalRepositoryStateDirectory } from './workspace-graph-store.js';
|
|
6
|
+
import { LocalWorkspaceRuntime } from './workspace-runtime.js';
|
|
7
|
+
import { readWorkspaceTopology } from './workspace-topology.js';
|
|
8
|
+
/**
|
|
9
|
+
* Sign-off for agents (the `sdlc_evidence_sign` MCP tool): `sdlc workspace
|
|
10
|
+
* evidence sign` for the local workspace at a checkout, its arguments checked
|
|
11
|
+
* strictly. Offline. It writes only that workspace's projection (and widens
|
|
12
|
+
* its task scope), never commits, and never creates a store.
|
|
13
|
+
*/
|
|
14
|
+
const id = z.string().trim().min(1).max(200);
|
|
15
|
+
export const evidence_sign_arguments_schema = z
|
|
16
|
+
.object({
|
|
17
|
+
nodes: z.array(id).max(200).optional(),
|
|
18
|
+
edges: z.array(id).max(200).optional(),
|
|
19
|
+
references: z.array(id).max(200).optional(),
|
|
20
|
+
changed: z.boolean().optional(),
|
|
21
|
+
commit: z.string().trim().min(1).max(200).optional()
|
|
22
|
+
})
|
|
23
|
+
.strict()
|
|
24
|
+
.refine((value) => Boolean(value.nodes?.length ||
|
|
25
|
+
value.edges?.length ||
|
|
26
|
+
value.references?.length ||
|
|
27
|
+
value.changed), { message: 'name what to sign: nodes, edges, references, or changed' });
|
|
28
|
+
export async function signWorkspaceEvidence(input) {
|
|
29
|
+
const parsed = evidence_sign_arguments_schema.safeParse(input.arguments ?? {});
|
|
30
|
+
if (!parsed.success) {
|
|
31
|
+
return {
|
|
32
|
+
version: 1,
|
|
33
|
+
error: `Invalid arguments: ${parsed.error.issues
|
|
34
|
+
.map((issue) => `${issue.path.join('.') || '(arguments)'} ${issue.message}`)
|
|
35
|
+
.join('; ')}`
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
const args = parsed.data;
|
|
39
|
+
let runtime = null;
|
|
40
|
+
try {
|
|
41
|
+
const git = await discoverGitWorktree(input.cwd);
|
|
42
|
+
const topology = await readWorkspaceTopology(git.repository_root);
|
|
43
|
+
const state_dir = resolveLocalRepositoryStateDirectory({
|
|
44
|
+
git_common_dir: git.git_common_dir,
|
|
45
|
+
override: input.state_dir ?? topology?.state_dir
|
|
46
|
+
});
|
|
47
|
+
if (!(await stat(join(state_dir, 'repository.sqlite')).catch(() => null))) {
|
|
48
|
+
return {
|
|
49
|
+
version: 1,
|
|
50
|
+
error: 'This repository has no local workspace store, so it has no evidence to sign.'
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
runtime = await LocalWorkspaceRuntime.open({
|
|
54
|
+
cwd: input.cwd,
|
|
55
|
+
state_dir: input.state_dir
|
|
56
|
+
});
|
|
57
|
+
const workspace = runtime.store.getWorkspaceByGitWorktreePath(runtime.git.repository_root);
|
|
58
|
+
if (!workspace || workspace.status !== 'active') {
|
|
59
|
+
return {
|
|
60
|
+
version: 1,
|
|
61
|
+
error: 'This checkout is not an active local workspace, so it has no evidence to sign.'
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
return await runtime.signEvidence({
|
|
65
|
+
actor_workspace_id: workspace.id,
|
|
66
|
+
nodes: args.nodes,
|
|
67
|
+
edges: args.edges,
|
|
68
|
+
references: args.references,
|
|
69
|
+
changed: args.changed,
|
|
70
|
+
commit: args.commit
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
return {
|
|
75
|
+
version: 1,
|
|
76
|
+
error: error instanceof Error
|
|
77
|
+
? error.message
|
|
78
|
+
: 'The evidence could not be signed.'
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
finally {
|
|
82
|
+
runtime?.close();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=workspace-evidence-sign-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-evidence-sign-tool.js","sourceRoot":"","sources":["../../src/local/workspace-evidence-sign-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { type EvidenceClaimFreshness } from '@software-dlc/graph/schema';
|
|
2
|
+
import type { C4EvidenceReferenceSetV1, PortableGraph } from '@software-dlc/graph/types';
|
|
3
|
+
/**
|
|
4
|
+
* Claim freshness, locally (docs/specs/evidence-claim-freshness.md): whether
|
|
5
|
+
* each node's and edge's evidence was checked against the claim as it reads
|
|
6
|
+
* now. Each entity is hashed from the projection's own content. Graph only.
|
|
7
|
+
*/
|
|
8
|
+
export type EvidenceEntityKind = 'node' | 'edge';
|
|
9
|
+
export type EvidenceEntity = {
|
|
10
|
+
id: string;
|
|
11
|
+
type?: unknown;
|
|
12
|
+
parentId?: unknown;
|
|
13
|
+
source?: unknown;
|
|
14
|
+
target?: unknown;
|
|
15
|
+
data?: {
|
|
16
|
+
data?: unknown;
|
|
17
|
+
meta?: unknown;
|
|
18
|
+
} & Record<string, unknown>;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* An entity's raw sync object hash, computed from its content: never the
|
|
22
|
+
* stored `data.object_hash`, which a projection file may hold stale.
|
|
23
|
+
*/
|
|
24
|
+
export declare function entityObjectHash(kind: EvidenceEntityKind, entity: EvidenceEntity): string;
|
|
25
|
+
/** The entity's evidence on the current contract; legacy evidence is read as its upcast. */
|
|
26
|
+
export declare function entityEvidence(entity: EvidenceEntity): C4EvidenceReferenceSetV1 | undefined;
|
|
27
|
+
/** behind when any counted reference is behind, else current when any is current, else unpinned. */
|
|
28
|
+
export declare function entityFreshness(references: Array<{
|
|
29
|
+
freshness: EvidenceClaimFreshness;
|
|
30
|
+
counted: boolean;
|
|
31
|
+
}>): EvidenceClaimFreshness;
|
|
32
|
+
export type EvidenceReferenceFreshness = {
|
|
33
|
+
reference_id: string;
|
|
34
|
+
provider_key: string;
|
|
35
|
+
resource: string;
|
|
36
|
+
anchor: string | null;
|
|
37
|
+
/** Its own review status, else its set's, as the Evidence Inspector reads it. */
|
|
38
|
+
review_status: string | null;
|
|
39
|
+
claim_object_hash: string | null;
|
|
40
|
+
freshness: EvidenceClaimFreshness;
|
|
41
|
+
/** Whether it decides its entity's freshness: its review_status (its own, else its set's) is accepted, or there is none. */
|
|
42
|
+
counted: boolean;
|
|
43
|
+
};
|
|
44
|
+
export type EvidenceEntityStatus = {
|
|
45
|
+
kind: EvidenceEntityKind;
|
|
46
|
+
id: string;
|
|
47
|
+
type: string | null;
|
|
48
|
+
label: string | null;
|
|
49
|
+
object_hash: string;
|
|
50
|
+
freshness: EvidenceClaimFreshness;
|
|
51
|
+
references: EvidenceReferenceFreshness[];
|
|
52
|
+
};
|
|
53
|
+
/** One entity's claim freshness, or null when it carries no evidence. */
|
|
54
|
+
export declare function entityEvidenceStatus(kind: EvidenceEntityKind, entity: EvidenceEntity): EvidenceEntityStatus | null;
|
|
55
|
+
/** The references that put an entity behind its claim. */
|
|
56
|
+
export declare function behindReferences(kind: EvidenceEntityKind, entity: EvidenceEntity): EvidenceReferenceFreshness[];
|
|
57
|
+
type Counts = Record<'current' | 'behind' | 'unpinned', number>;
|
|
58
|
+
export type EvidenceStatusResult = {
|
|
59
|
+
version: 1;
|
|
60
|
+
workspace_id: string;
|
|
61
|
+
/** Nodes and edges that carry evidence. */
|
|
62
|
+
entities: {
|
|
63
|
+
nodes: number;
|
|
64
|
+
edges: number;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Nodes and edges that carry none, counted in no freshness, so a reader
|
|
68
|
+
* tells a fully cited graph from a partly cited one (iss-423).
|
|
69
|
+
*/
|
|
70
|
+
without_evidence: {
|
|
71
|
+
nodes: number;
|
|
72
|
+
edges: number;
|
|
73
|
+
};
|
|
74
|
+
by_freshness: Counts;
|
|
75
|
+
references: Counts;
|
|
76
|
+
/** Present only when the read names entities or asks for --behind. */
|
|
77
|
+
items?: EvidenceEntityStatus[];
|
|
78
|
+
not_found?: string[];
|
|
79
|
+
};
|
|
80
|
+
/** Claim freshness of every node and edge with evidence; the list only when asked for. */
|
|
81
|
+
export declare function evidenceStatus(input: {
|
|
82
|
+
graph: PortableGraph;
|
|
83
|
+
workspace_id: string;
|
|
84
|
+
nodes?: string[];
|
|
85
|
+
edges?: string[];
|
|
86
|
+
behind_only?: boolean;
|
|
87
|
+
}): EvidenceStatusResult;
|
|
88
|
+
export {};
|
|
89
|
+
//# sourceMappingURL=workspace-evidence-status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-evidence-status.d.ts","sourceRoot":"","sources":["../../src/local/workspace-evidence-status.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { evidenceClaimFreshness, hashGraphEdgeObjectSync, hashGraphNodeObjectSync, readEvidence } from '@software-dlc/graph/schema';
|
|
2
|
+
function record(value) {
|
|
3
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value)
|
|
4
|
+
? value
|
|
5
|
+
: {};
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* An entity's raw sync object hash, computed from its content: never the
|
|
9
|
+
* stored `data.object_hash`, which a projection file may hold stale.
|
|
10
|
+
*/
|
|
11
|
+
export function entityObjectHash(kind, entity) {
|
|
12
|
+
const domain = (entity.data?.data ?? {});
|
|
13
|
+
return kind === 'node'
|
|
14
|
+
? hashGraphNodeObjectSync({
|
|
15
|
+
type: entity.type,
|
|
16
|
+
parent_id: typeof entity.parentId === 'string' ? entity.parentId : null,
|
|
17
|
+
domain
|
|
18
|
+
})
|
|
19
|
+
: hashGraphEdgeObjectSync({
|
|
20
|
+
source_id: String(entity.source),
|
|
21
|
+
target_id: String(entity.target),
|
|
22
|
+
domain
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
/** The entity's evidence on the current contract; legacy evidence is read as its upcast. */
|
|
26
|
+
export function entityEvidence(entity) {
|
|
27
|
+
return readEvidence(entity.data?.meta);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Whether a reference counts toward its entity's freshness: one whose review
|
|
31
|
+
* status (its own, else its set's, as the Evidence Inspector reads it) is
|
|
32
|
+
* accepted, or that records none. A candidate, provisional, or superseded
|
|
33
|
+
* reference never puts its claim behind.
|
|
34
|
+
*/
|
|
35
|
+
function counts(reference, set) {
|
|
36
|
+
const status = reference.review_status ?? set.review_status;
|
|
37
|
+
return status === undefined || status === 'accepted';
|
|
38
|
+
}
|
|
39
|
+
/** behind when any counted reference is behind, else current when any is current, else unpinned. */
|
|
40
|
+
export function entityFreshness(references) {
|
|
41
|
+
const counted = references.filter((reference) => reference.counted);
|
|
42
|
+
if (counted.some((reference) => reference.freshness === 'behind'))
|
|
43
|
+
return 'behind';
|
|
44
|
+
if (counted.some((reference) => reference.freshness === 'current'))
|
|
45
|
+
return 'current';
|
|
46
|
+
return 'unpinned';
|
|
47
|
+
}
|
|
48
|
+
/** One entity's claim freshness, or null when it carries no evidence. */
|
|
49
|
+
export function entityEvidenceStatus(kind, entity) {
|
|
50
|
+
const evidence = entityEvidence(entity);
|
|
51
|
+
if (!evidence?.references.length)
|
|
52
|
+
return null;
|
|
53
|
+
const object_hash = entityObjectHash(kind, entity);
|
|
54
|
+
const references = evidence.references.map((reference) => ({
|
|
55
|
+
reference_id: reference.reference_id,
|
|
56
|
+
provider_key: reference.provider_key,
|
|
57
|
+
resource: reference.resource.id,
|
|
58
|
+
anchor: reference.anchor?.id ?? null,
|
|
59
|
+
review_status: reference.review_status ?? evidence.review_status ?? null,
|
|
60
|
+
claim_object_hash: reference.claim_object_hash ?? null,
|
|
61
|
+
freshness: evidenceClaimFreshness(reference, object_hash),
|
|
62
|
+
counted: counts(reference, evidence)
|
|
63
|
+
}));
|
|
64
|
+
const label = record(record(entity.data).data).label;
|
|
65
|
+
return {
|
|
66
|
+
kind,
|
|
67
|
+
id: entity.id,
|
|
68
|
+
type: kind === 'node' && typeof entity.type === 'string' ? entity.type : null,
|
|
69
|
+
label: typeof label === 'string' ? label : null,
|
|
70
|
+
object_hash,
|
|
71
|
+
freshness: entityFreshness(references),
|
|
72
|
+
references
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/** The references that put an entity behind its claim. */
|
|
76
|
+
export function behindReferences(kind, entity) {
|
|
77
|
+
return (entityEvidenceStatus(kind, entity)?.references.filter((reference) => reference.counted && reference.freshness === 'behind') ?? []);
|
|
78
|
+
}
|
|
79
|
+
function zero() {
|
|
80
|
+
return { current: 0, behind: 0, unpinned: 0 };
|
|
81
|
+
}
|
|
82
|
+
/** Claim freshness of every node and edge with evidence; the list only when asked for. */
|
|
83
|
+
export function evidenceStatus(input) {
|
|
84
|
+
const statuses = [];
|
|
85
|
+
for (const node of input.graph.nodes) {
|
|
86
|
+
const status = entityEvidenceStatus('node', node);
|
|
87
|
+
if (status)
|
|
88
|
+
statuses.push(status);
|
|
89
|
+
}
|
|
90
|
+
for (const edge of input.graph.edges) {
|
|
91
|
+
const status = entityEvidenceStatus('edge', edge);
|
|
92
|
+
if (status)
|
|
93
|
+
statuses.push(status);
|
|
94
|
+
}
|
|
95
|
+
const by_freshness = zero();
|
|
96
|
+
const references = zero();
|
|
97
|
+
for (const status of statuses) {
|
|
98
|
+
if (status.freshness !== 'unknown')
|
|
99
|
+
by_freshness[status.freshness] += 1;
|
|
100
|
+
for (const reference of status.references) {
|
|
101
|
+
if (reference.freshness !== 'unknown')
|
|
102
|
+
references[reference.freshness] += 1;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
const nodes = new Set(input.nodes ?? []);
|
|
106
|
+
const edges = new Set(input.edges ?? []);
|
|
107
|
+
const named = nodes.size + edges.size > 0;
|
|
108
|
+
const asked = named || Boolean(input.behind_only);
|
|
109
|
+
const present = (kind, id) => (kind === 'node' ? input.graph.nodes : input.graph.edges).some((entity) => entity.id === id);
|
|
110
|
+
const entities = {
|
|
111
|
+
nodes: statuses.filter((status) => status.kind === 'node').length,
|
|
112
|
+
edges: statuses.filter((status) => status.kind === 'edge').length
|
|
113
|
+
};
|
|
114
|
+
return {
|
|
115
|
+
version: 1,
|
|
116
|
+
workspace_id: input.workspace_id,
|
|
117
|
+
entities,
|
|
118
|
+
without_evidence: {
|
|
119
|
+
nodes: input.graph.nodes.length - entities.nodes,
|
|
120
|
+
edges: input.graph.edges.length - entities.edges
|
|
121
|
+
},
|
|
122
|
+
by_freshness,
|
|
123
|
+
references,
|
|
124
|
+
...(asked
|
|
125
|
+
? {
|
|
126
|
+
items: statuses.filter((status) => (!named ||
|
|
127
|
+
(status.kind === 'node' ? nodes : edges).has(status.id)) &&
|
|
128
|
+
(!input.behind_only || status.freshness === 'behind'))
|
|
129
|
+
}
|
|
130
|
+
: {}),
|
|
131
|
+
...(named
|
|
132
|
+
? {
|
|
133
|
+
not_found: [
|
|
134
|
+
...[...nodes].filter((id) => !present('node', id)),
|
|
135
|
+
...[...edges].filter((id) => !present('edge', id))
|
|
136
|
+
].sort()
|
|
137
|
+
}
|
|
138
|
+
: {})
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=workspace-evidence-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-evidence-status.js","sourceRoot":"","sources":["../../src/local/workspace-evidence-status.ts"],"names":[],"mappings":"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"}
|