@deftai/directive-core 0.55.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/architecture/sor-preflight.d.ts +66 -0
- package/dist/architecture/sor-preflight.js +903 -0
- package/dist/branch/evaluate.d.ts +23 -0
- package/dist/branch/evaluate.js +136 -0
- package/dist/branch/git.d.ts +15 -0
- package/dist/branch/git.js +42 -0
- package/dist/branch/index.d.ts +3 -0
- package/dist/branch/index.js +3 -0
- package/dist/cache/cli.d.ts +3 -0
- package/dist/cache/cli.js +8 -0
- package/dist/cache/constants.d.ts +12 -0
- package/dist/cache/constants.js +14 -0
- package/dist/cache/errors.d.ts +34 -0
- package/dist/cache/errors.js +52 -0
- package/dist/cache/fetch.d.ts +101 -0
- package/dist/cache/fetch.js +413 -0
- package/dist/cache/index.d.ts +14 -0
- package/dist/cache/index.js +14 -0
- package/dist/cache/io.d.ts +15 -0
- package/dist/cache/io.js +53 -0
- package/dist/cache/json.d.ts +11 -0
- package/dist/cache/json.js +32 -0
- package/dist/cache/main.d.ts +3 -0
- package/dist/cache/main.js +319 -0
- package/dist/cache/operations.d.ts +34 -0
- package/dist/cache/operations.js +348 -0
- package/dist/cache/paths.d.ts +7 -0
- package/dist/cache/paths.js +27 -0
- package/dist/cache/quota.d.ts +56 -0
- package/dist/cache/quota.js +191 -0
- package/dist/cache/scanner.d.ts +28 -0
- package/dist/cache/scanner.js +362 -0
- package/dist/cache/test-helpers.d.ts +10 -0
- package/dist/cache/test-helpers.js +17 -0
- package/dist/cache/time.d.ts +9 -0
- package/dist/cache/time.js +20 -0
- package/dist/cache/types.d.ts +50 -0
- package/dist/cache/types.js +2 -0
- package/dist/cache/validate.d.ts +3 -0
- package/dist/cache/validate.js +118 -0
- package/dist/capacity/backfill.d.ts +52 -0
- package/dist/capacity/backfill.js +429 -0
- package/dist/capacity/index.d.ts +3 -0
- package/dist/capacity/index.js +3 -0
- package/dist/capacity/show.d.ts +73 -0
- package/dist/capacity/show.js +387 -0
- package/dist/check/index.d.ts +3 -0
- package/dist/check/index.js +2 -0
- package/dist/check/orchestrator.d.ts +51 -0
- package/dist/check/orchestrator.js +71 -0
- package/dist/codebase/constants.d.ts +2 -0
- package/dist/codebase/constants.js +2 -0
- package/dist/codebase/default-extractor.d.ts +28 -0
- package/dist/codebase/default-extractor.js +713 -0
- package/dist/codebase/index.d.ts +8 -0
- package/dist/codebase/index.js +8 -0
- package/dist/codebase/json.d.ts +14 -0
- package/dist/codebase/json.js +45 -0
- package/dist/codebase/map-fresh.d.ts +11 -0
- package/dist/codebase/map-fresh.js +125 -0
- package/dist/codebase/map.d.ts +19 -0
- package/dist/codebase/map.js +345 -0
- package/dist/codebase/projection-registry.d.ts +25 -0
- package/dist/codebase/projection-registry.js +93 -0
- package/dist/codebase/provider.d.ts +30 -0
- package/dist/codebase/provider.js +696 -0
- package/dist/content-contracts/skills/greptile-detector.d.ts +56 -0
- package/dist/content-contracts/skills/greptile-detector.js +368 -0
- package/dist/content-contracts/skills/helpers.d.ts +24 -0
- package/dist/content-contracts/skills/helpers.js +73 -0
- package/dist/content-contracts/skills/skill-frontmatter.d.ts +7 -0
- package/dist/content-contracts/skills/skill-frontmatter.js +65 -0
- package/dist/content-contracts/standards/_helpers.d.ts +49 -0
- package/dist/content-contracts/standards/_helpers.js +227 -0
- package/dist/content-contracts/standards/_shapes.d.ts +12 -0
- package/dist/content-contracts/standards/_shapes.js +45 -0
- package/dist/content-contracts/standards/_taskfile-helpers.d.ts +12 -0
- package/dist/content-contracts/standards/_taskfile-helpers.js +61 -0
- package/dist/content-root.d.ts +47 -0
- package/dist/content-root.js +89 -0
- package/dist/doctor/agents-md.d.ts +14 -0
- package/dist/doctor/agents-md.js +263 -0
- package/dist/doctor/checks.d.ts +16 -0
- package/dist/doctor/checks.js +351 -0
- package/dist/doctor/cli.d.ts +2 -0
- package/dist/doctor/cli.js +7 -0
- package/dist/doctor/constants.d.ts +15 -0
- package/dist/doctor/constants.js +40 -0
- package/dist/doctor/doctor-state.d.ts +16 -0
- package/dist/doctor/doctor-state.js +117 -0
- package/dist/doctor/flags.d.ts +5 -0
- package/dist/doctor/flags.js +63 -0
- package/dist/doctor/index.d.ts +14 -0
- package/dist/doctor/index.js +14 -0
- package/dist/doctor/json.d.ts +3 -0
- package/dist/doctor/json.js +21 -0
- package/dist/doctor/main.d.ts +3 -0
- package/dist/doctor/main.js +387 -0
- package/dist/doctor/manifest.d.ts +11 -0
- package/dist/doctor/manifest.js +114 -0
- package/dist/doctor/output.d.ts +19 -0
- package/dist/doctor/output.js +49 -0
- package/dist/doctor/paths.d.ts +16 -0
- package/dist/doctor/paths.js +106 -0
- package/dist/doctor/payload-staleness.d.ts +13 -0
- package/dist/doctor/payload-staleness.js +165 -0
- package/dist/doctor/taskfile.d.ts +6 -0
- package/dist/doctor/taskfile.js +65 -0
- package/dist/doctor/types.d.ts +76 -0
- package/dist/doctor/types.js +4 -0
- package/dist/doctor/which.d.ts +3 -0
- package/dist/doctor/which.js +17 -0
- package/dist/encoding/evaluate.d.ts +19 -0
- package/dist/encoding/evaluate.js +155 -0
- package/dist/encoding/git.d.ts +11 -0
- package/dist/encoding/git.js +36 -0
- package/dist/encoding/index.d.ts +6 -0
- package/dist/encoding/index.js +6 -0
- package/dist/encoding/patterns.d.ts +29 -0
- package/dist/encoding/patterns.js +109 -0
- package/dist/encoding/scan.d.ts +24 -0
- package/dist/encoding/scan.js +182 -0
- package/dist/encoding/text.d.ts +21 -0
- package/dist/encoding/text.js +111 -0
- package/dist/index.d.ts +54 -0
- package/dist/index.js +55 -0
- package/dist/intake/candidates-log.d.ts +20 -0
- package/dist/intake/candidates-log.js +224 -0
- package/dist/intake/github-auth-modes-cli.d.ts +3 -0
- package/dist/intake/github-auth-modes-cli.js +23 -0
- package/dist/intake/github-auth-modes.d.ts +54 -0
- package/dist/intake/github-auth-modes.js +275 -0
- package/dist/intake/github-body-cli.d.ts +3 -0
- package/dist/intake/github-body-cli.js +30 -0
- package/dist/intake/github-body.d.ts +48 -0
- package/dist/intake/github-body.js +151 -0
- package/dist/intake/index.d.ts +15 -0
- package/dist/intake/index.js +15 -0
- package/dist/intake/issue-emit-cli.d.ts +3 -0
- package/dist/intake/issue-emit-cli.js +34 -0
- package/dist/intake/issue-emit.d.ts +63 -0
- package/dist/intake/issue-emit.js +351 -0
- package/dist/intake/issue-ingest-cli.d.ts +3 -0
- package/dist/intake/issue-ingest-cli.js +33 -0
- package/dist/intake/issue-ingest.d.ts +53 -0
- package/dist/intake/issue-ingest.js +477 -0
- package/dist/intake/markdown-scanners.d.ts +23 -0
- package/dist/intake/markdown-scanners.js +247 -0
- package/dist/intake/parity-scenarios.d.ts +22 -0
- package/dist/intake/parity-scenarios.js +32 -0
- package/dist/intake/platform-capabilities.d.ts +11 -0
- package/dist/intake/platform-capabilities.js +34 -0
- package/dist/intake/reconcile-issues-cli.d.ts +3 -0
- package/dist/intake/reconcile-issues-cli.js +31 -0
- package/dist/intake/reconcile-issues.d.ts +60 -0
- package/dist/intake/reconcile-issues.js +756 -0
- package/dist/integration-e2e/bootstrap-cache-module.d.ts +5 -0
- package/dist/integration-e2e/bootstrap-cache-module.js +21 -0
- package/dist/integration-e2e/helpers.d.ts +28 -0
- package/dist/integration-e2e/helpers.js +157 -0
- package/dist/lifecycle/event-detect.d.ts +32 -0
- package/dist/lifecycle/event-detect.js +172 -0
- package/dist/lifecycle/events.d.ts +45 -0
- package/dist/lifecycle/events.js +340 -0
- package/dist/lifecycle/index.d.ts +4 -0
- package/dist/lifecycle/index.js +4 -0
- package/dist/lifecycle/lifecycle-hygiene.d.ts +59 -0
- package/dist/lifecycle/lifecycle-hygiene.js +388 -0
- package/dist/orchestration/index.d.ts +7 -0
- package/dist/orchestration/index.js +7 -0
- package/dist/orchestration/judgment-policy.d.ts +23 -0
- package/dist/orchestration/judgment-policy.js +228 -0
- package/dist/orchestration/pathspec.d.ts +11 -0
- package/dist/orchestration/pathspec.js +95 -0
- package/dist/orchestration/probe-session.d.ts +74 -0
- package/dist/orchestration/probe-session.js +478 -0
- package/dist/orchestration/subagent-monitor.d.ts +64 -0
- package/dist/orchestration/subagent-monitor.js +405 -0
- package/dist/orchestration/verify-investigation.d.ts +27 -0
- package/dist/orchestration/verify-investigation.js +314 -0
- package/dist/orchestration/verify-judgment-gates.d.ts +66 -0
- package/dist/orchestration/verify-judgment-gates.js +710 -0
- package/dist/packs/index.d.ts +4 -0
- package/dist/packs/index.js +4 -0
- package/dist/packs/pack-render.d.ts +31 -0
- package/dist/packs/pack-render.js +357 -0
- package/dist/packs/packs-slice.d.ts +58 -0
- package/dist/packs/packs-slice.js +649 -0
- package/dist/packs/quarantine-ext.d.ts +7 -0
- package/dist/packs/quarantine-ext.js +164 -0
- package/dist/platform/agents-md.d.ts +31 -0
- package/dist/platform/agents-md.js +320 -0
- package/dist/platform/changelog-cli.d.ts +3 -0
- package/dist/platform/changelog-cli.js +64 -0
- package/dist/platform/constants.d.ts +20 -0
- package/dist/platform/constants.js +27 -0
- package/dist/platform/index.d.ts +9 -0
- package/dist/platform/index.js +9 -0
- package/dist/platform/ip-risk.d.ts +10 -0
- package/dist/platform/ip-risk.js +235 -0
- package/dist/platform/linear-scan.d.ts +36 -0
- package/dist/platform/linear-scan.js +174 -0
- package/dist/platform/platform-capabilities.d.ts +45 -0
- package/dist/platform/platform-capabilities.js +190 -0
- package/dist/platform/resolve-changelog-unreleased.d.ts +24 -0
- package/dist/platform/resolve-changelog-unreleased.js +364 -0
- package/dist/platform/resolve-version.d.ts +22 -0
- package/dist/platform/resolve-version.js +303 -0
- package/dist/platform/slug-normalize.d.ts +9 -0
- package/dist/platform/slug-normalize.js +110 -0
- package/dist/policy/autonomy.d.ts +43 -0
- package/dist/policy/autonomy.js +220 -0
- package/dist/policy/capacity.d.ts +45 -0
- package/dist/policy/capacity.js +251 -0
- package/dist/policy/decisions.d.ts +26 -0
- package/dist/policy/decisions.js +114 -0
- package/dist/policy/disclosure.d.ts +4 -0
- package/dist/policy/disclosure.js +19 -0
- package/dist/policy/index.d.ts +43 -0
- package/dist/policy/index.js +298 -0
- package/dist/policy/resolve.d.ts +38 -0
- package/dist/policy/resolve.js +228 -0
- package/dist/policy/wip.d.ts +15 -0
- package/dist/policy/wip.js +81 -0
- package/dist/pr-closing-keywords/constants.d.ts +6 -0
- package/dist/pr-closing-keywords/constants.js +6 -0
- package/dist/pr-closing-keywords/detect.d.ts +5 -0
- package/dist/pr-closing-keywords/detect.js +113 -0
- package/dist/pr-closing-keywords/gh.d.ts +6 -0
- package/dist/pr-closing-keywords/gh.js +129 -0
- package/dist/pr-closing-keywords/index.d.ts +7 -0
- package/dist/pr-closing-keywords/index.js +6 -0
- package/dist/pr-closing-keywords/io.d.ts +3 -0
- package/dist/pr-closing-keywords/io.js +22 -0
- package/dist/pr-closing-keywords/main.d.ts +9 -0
- package/dist/pr-closing-keywords/main.js +246 -0
- package/dist/pr-closing-keywords/types.d.ts +23 -0
- package/dist/pr-closing-keywords/types.js +2 -0
- package/dist/pr-merge-readiness/compute.d.ts +7 -0
- package/dist/pr-merge-readiness/compute.js +210 -0
- package/dist/pr-merge-readiness/constants.d.ts +20 -0
- package/dist/pr-merge-readiness/constants.js +32 -0
- package/dist/pr-merge-readiness/evaluate.d.ts +5 -0
- package/dist/pr-merge-readiness/evaluate.js +48 -0
- package/dist/pr-merge-readiness/gh.d.ts +22 -0
- package/dist/pr-merge-readiness/gh.js +281 -0
- package/dist/pr-merge-readiness/index.d.ts +9 -0
- package/dist/pr-merge-readiness/index.js +8 -0
- package/dist/pr-merge-readiness/main.d.ts +14 -0
- package/dist/pr-merge-readiness/main.js +67 -0
- package/dist/pr-merge-readiness/output.d.ts +7 -0
- package/dist/pr-merge-readiness/output.js +98 -0
- package/dist/pr-merge-readiness/parse.d.ts +6 -0
- package/dist/pr-merge-readiness/parse.js +83 -0
- package/dist/pr-merge-readiness/types.d.ts +29 -0
- package/dist/pr-merge-readiness/types.js +2 -0
- package/dist/pr-monitor/cadence.d.ts +3 -0
- package/dist/pr-monitor/cadence.js +12 -0
- package/dist/pr-monitor/constants.d.ts +8 -0
- package/dist/pr-monitor/constants.js +12 -0
- package/dist/pr-monitor/index.d.ts +7 -0
- package/dist/pr-monitor/index.js +6 -0
- package/dist/pr-monitor/main.d.ts +17 -0
- package/dist/pr-monitor/main.js +169 -0
- package/dist/pr-monitor/monitor.d.ts +9 -0
- package/dist/pr-monitor/monitor.js +106 -0
- package/dist/pr-monitor/readiness.d.ts +6 -0
- package/dist/pr-monitor/readiness.js +64 -0
- package/dist/pr-monitor/types.d.ts +30 -0
- package/dist/pr-monitor/types.js +2 -0
- package/dist/pr-protected-issues/constants.d.ts +7 -0
- package/dist/pr-protected-issues/constants.js +7 -0
- package/dist/pr-protected-issues/gh.d.ts +9 -0
- package/dist/pr-protected-issues/gh.js +96 -0
- package/dist/pr-protected-issues/index.d.ts +6 -0
- package/dist/pr-protected-issues/index.js +5 -0
- package/dist/pr-protected-issues/main.d.ts +14 -0
- package/dist/pr-protected-issues/main.js +128 -0
- package/dist/pr-protected-issues/parse.d.ts +6 -0
- package/dist/pr-protected-issues/parse.js +21 -0
- package/dist/pr-protected-issues/types.d.ts +8 -0
- package/dist/pr-protected-issues/types.js +2 -0
- package/dist/pr-wait-mergeable/cascade.d.ts +12 -0
- package/dist/pr-wait-mergeable/cascade.js +107 -0
- package/dist/pr-wait-mergeable/classify.d.ts +5 -0
- package/dist/pr-wait-mergeable/classify.js +47 -0
- package/dist/pr-wait-mergeable/constants.d.ts +5 -0
- package/dist/pr-wait-mergeable/constants.js +5 -0
- package/dist/pr-wait-mergeable/index.d.ts +8 -0
- package/dist/pr-wait-mergeable/index.js +7 -0
- package/dist/pr-wait-mergeable/main.d.ts +18 -0
- package/dist/pr-wait-mergeable/main.js +213 -0
- package/dist/pr-wait-mergeable/result.d.ts +9 -0
- package/dist/pr-wait-mergeable/result.js +38 -0
- package/dist/pr-wait-mergeable/types.d.ts +16 -0
- package/dist/pr-wait-mergeable/types.js +2 -0
- package/dist/pr-wait-mergeable/wrappers.d.ts +26 -0
- package/dist/pr-wait-mergeable/wrappers.js +103 -0
- package/dist/preflight/evaluate.d.ts +22 -0
- package/dist/preflight/evaluate.js +137 -0
- package/dist/preflight/index.d.ts +3 -0
- package/dist/preflight/index.js +2 -0
- package/dist/preflight-cache/evaluate.d.ts +40 -0
- package/dist/preflight-cache/evaluate.js +481 -0
- package/dist/preflight-cache/index.d.ts +3 -0
- package/dist/preflight-cache/index.js +2 -0
- package/dist/preflight-gh/classifier.d.ts +56 -0
- package/dist/preflight-gh/classifier.js +415 -0
- package/dist/preflight-gh/index.d.ts +3 -0
- package/dist/preflight-gh/index.js +2 -0
- package/dist/release/changelog.d.ts +9 -0
- package/dist/release/changelog.js +105 -0
- package/dist/release/cli.d.ts +2 -0
- package/dist/release/cli.js +7 -0
- package/dist/release/constants.d.ts +22 -0
- package/dist/release/constants.js +85 -0
- package/dist/release/flags.d.ts +4 -0
- package/dist/release/flags.js +131 -0
- package/dist/release/gh.d.ts +16 -0
- package/dist/release/gh.js +210 -0
- package/dist/release/git.d.ts +11 -0
- package/dist/release/git.js +84 -0
- package/dist/release/index.d.ts +14 -0
- package/dist/release/index.js +15 -0
- package/dist/release/main.d.ts +3 -0
- package/dist/release/main.js +47 -0
- package/dist/release/paths.d.ts +6 -0
- package/dist/release/paths.js +39 -0
- package/dist/release/pipeline.d.ts +6 -0
- package/dist/release/pipeline.js +314 -0
- package/dist/release/pyproject-sync.d.ts +6 -0
- package/dist/release/pyproject-sync.js +52 -0
- package/dist/release/pyproject.d.ts +3 -0
- package/dist/release/pyproject.js +33 -0
- package/dist/release/python-bridge.d.ts +7 -0
- package/dist/release/python-bridge.js +144 -0
- package/dist/release/spawn.d.ts +8 -0
- package/dist/release/spawn.js +44 -0
- package/dist/release/types.d.ts +58 -0
- package/dist/release/types.js +2 -0
- package/dist/release/version.d.ts +11 -0
- package/dist/release/version.js +74 -0
- package/dist/release-e2e/constants.d.ts +22 -0
- package/dist/release-e2e/constants.js +43 -0
- package/dist/release-e2e/entrypoint-worker-thread.d.ts +2 -0
- package/dist/release-e2e/entrypoint-worker-thread.js +22 -0
- package/dist/release-e2e/entrypoint-worker.d.ts +13 -0
- package/dist/release-e2e/entrypoint-worker.js +50 -0
- package/dist/release-e2e/entrypoint.d.ts +40 -0
- package/dist/release-e2e/entrypoint.js +257 -0
- package/dist/release-e2e/flags.d.ts +5 -0
- package/dist/release-e2e/flags.js +80 -0
- package/dist/release-e2e/gh-ops.d.ts +5 -0
- package/dist/release-e2e/gh-ops.js +72 -0
- package/dist/release-e2e/git-ops.d.ts +6 -0
- package/dist/release-e2e/git-ops.js +47 -0
- package/dist/release-e2e/index.d.ts +10 -0
- package/dist/release-e2e/index.js +10 -0
- package/dist/release-e2e/main.d.ts +4 -0
- package/dist/release-e2e/main.js +78 -0
- package/dist/release-e2e/npm-ops.d.ts +29 -0
- package/dist/release-e2e/npm-ops.js +149 -0
- package/dist/release-e2e/rehearsal.d.ts +3 -0
- package/dist/release-e2e/rehearsal.js +51 -0
- package/dist/release-e2e/rollback-bridge.d.ts +3 -0
- package/dist/release-e2e/rollback-bridge.js +20 -0
- package/dist/release-e2e/types.d.ts +40 -0
- package/dist/release-e2e/types.js +2 -0
- package/dist/release-publish/cli.d.ts +2 -0
- package/dist/release-publish/cli.js +7 -0
- package/dist/release-publish/constants.d.ts +4 -0
- package/dist/release-publish/constants.js +24 -0
- package/dist/release-publish/flags.d.ts +5 -0
- package/dist/release-publish/flags.js +67 -0
- package/dist/release-publish/gh-api.d.ts +6 -0
- package/dist/release-publish/gh-api.js +102 -0
- package/dist/release-publish/index.d.ts +7 -0
- package/dist/release-publish/index.js +8 -0
- package/dist/release-publish/main.d.ts +3 -0
- package/dist/release-publish/main.js +38 -0
- package/dist/release-publish/pipeline.d.ts +4 -0
- package/dist/release-publish/pipeline.js +46 -0
- package/dist/release-publish/types.d.ts +25 -0
- package/dist/release-publish/types.js +2 -0
- package/dist/release-rollback/constants.d.ts +18 -0
- package/dist/release-rollback/constants.js +55 -0
- package/dist/release-rollback/flags.d.ts +4 -0
- package/dist/release-rollback/flags.js +136 -0
- package/dist/release-rollback/gh.d.ts +5 -0
- package/dist/release-rollback/gh.js +71 -0
- package/dist/release-rollback/git.d.ts +9 -0
- package/dist/release-rollback/git.js +87 -0
- package/dist/release-rollback/guard.d.ts +12 -0
- package/dist/release-rollback/guard.js +97 -0
- package/dist/release-rollback/index.d.ts +9 -0
- package/dist/release-rollback/index.js +10 -0
- package/dist/release-rollback/main.d.ts +3 -0
- package/dist/release-rollback/main.js +51 -0
- package/dist/release-rollback/pipeline.d.ts +7 -0
- package/dist/release-rollback/pipeline.js +221 -0
- package/dist/release-rollback/types.d.ts +41 -0
- package/dist/release-rollback/types.js +2 -0
- package/dist/render/constants.d.ts +16 -0
- package/dist/render/constants.js +78 -0
- package/dist/render/framework-commands.d.ts +41 -0
- package/dist/render/framework-commands.js +416 -0
- package/dist/render/index.d.ts +15 -0
- package/dist/render/index.js +15 -0
- package/dist/render/prd-render.d.ts +14 -0
- package/dist/render/prd-render.js +79 -0
- package/dist/render/project-render.d.ts +20 -0
- package/dist/render/project-render.js +169 -0
- package/dist/render/roadmap-render.d.ts +8 -0
- package/dist/render/roadmap-render.js +387 -0
- package/dist/render/spec-render.d.ts +13 -0
- package/dist/render/spec-render.js +362 -0
- package/dist/render/spec-validate.d.ts +6 -0
- package/dist/render/spec-validate.js +157 -0
- package/dist/render/text-utils.d.ts +8 -0
- package/dist/render/text-utils.js +72 -0
- package/dist/scm/argv.d.ts +7 -0
- package/dist/scm/argv.js +54 -0
- package/dist/scm/binary.d.ts +11 -0
- package/dist/scm/binary.js +35 -0
- package/dist/scm/build-command.d.ts +11 -0
- package/dist/scm/build-command.js +23 -0
- package/dist/scm/call.d.ts +25 -0
- package/dist/scm/call.js +38 -0
- package/dist/scm/cli.d.ts +3 -0
- package/dist/scm/cli.js +7 -0
- package/dist/scm/constants.d.ts +11 -0
- package/dist/scm/constants.js +11 -0
- package/dist/scm/errors.d.ts +5 -0
- package/dist/scm/errors.js +8 -0
- package/dist/scm/gh-rest.d.ts +74 -0
- package/dist/scm/gh-rest.js +326 -0
- package/dist/scm/index.d.ts +11 -0
- package/dist/scm/index.js +11 -0
- package/dist/scm/main.d.ts +12 -0
- package/dist/scm/main.js +65 -0
- package/dist/scm/py-format.d.ts +9 -0
- package/dist/scm/py-format.js +31 -0
- package/dist/scm/rest-dispatch.d.ts +14 -0
- package/dist/scm/rest-dispatch.js +175 -0
- package/dist/scope/audit-log.d.ts +14 -0
- package/dist/scope/audit-log.js +186 -0
- package/dist/scope/capacity-stamp.d.ts +3 -0
- package/dist/scope/capacity-stamp.js +45 -0
- package/dist/scope/cli.d.ts +4 -0
- package/dist/scope/cli.js +11 -0
- package/dist/scope/constants.d.ts +19 -0
- package/dist/scope/constants.js +44 -0
- package/dist/scope/decompose.d.ts +42 -0
- package/dist/scope/decompose.js +1016 -0
- package/dist/scope/decomposed-refs.d.ts +6 -0
- package/dist/scope/decomposed-refs.js +173 -0
- package/dist/scope/demote.d.ts +24 -0
- package/dist/scope/demote.js +209 -0
- package/dist/scope/index.d.ts +12 -0
- package/dist/scope/index.js +12 -0
- package/dist/scope/main.d.ts +30 -0
- package/dist/scope/main.js +365 -0
- package/dist/scope/project-context.d.ts +6 -0
- package/dist/scope/project-context.js +55 -0
- package/dist/scope/project-definition-sync.d.ts +3 -0
- package/dist/scope/project-definition-sync.js +157 -0
- package/dist/scope/transition.d.ts +10 -0
- package/dist/scope/transition.js +133 -0
- package/dist/scope/undo.d.ts +25 -0
- package/dist/scope/undo.js +334 -0
- package/dist/scope/vbrief-json.d.ts +4 -0
- package/dist/scope/vbrief-json.js +8 -0
- package/dist/scope/vbrief-ref.d.ts +11 -0
- package/dist/scope/vbrief-ref.js +100 -0
- package/dist/scope/wip-cap-check.d.ts +11 -0
- package/dist/scope/wip-cap-check.js +23 -0
- package/dist/session/git.d.ts +14 -0
- package/dist/session/git.js +49 -0
- package/dist/session/index.d.ts +9 -0
- package/dist/session/index.js +9 -0
- package/dist/session/json.d.ts +7 -0
- package/dist/session/json.js +29 -0
- package/dist/session/resume-conditions.d.ts +56 -0
- package/dist/session/resume-conditions.js +486 -0
- package/dist/session/ritual-entrypoint.d.ts +20 -0
- package/dist/session/ritual-entrypoint.js +86 -0
- package/dist/session/ritual-sentinel.d.ts +58 -0
- package/dist/session/ritual-sentinel.js +338 -0
- package/dist/session/session-start-hook.d.ts +14 -0
- package/dist/session/session-start-hook.js +53 -0
- package/dist/session/session-start.d.ts +41 -0
- package/dist/session/session-start.js +290 -0
- package/dist/session/staleness.d.ts +8 -0
- package/dist/session/staleness.js +91 -0
- package/dist/session/time.d.ts +5 -0
- package/dist/session/time.js +19 -0
- package/dist/session/verify-session-ritual.d.ts +29 -0
- package/dist/session/verify-session-ritual.js +222 -0
- package/dist/slice/cli.d.ts +21 -0
- package/dist/slice/cli.js +248 -0
- package/dist/slice/constants.d.ts +18 -0
- package/dist/slice/constants.js +30 -0
- package/dist/slice/errors.d.ts +9 -0
- package/dist/slice/errors.js +15 -0
- package/dist/slice/existing.d.ts +53 -0
- package/dist/slice/existing.js +344 -0
- package/dist/slice/index.d.ts +10 -0
- package/dist/slice/index.js +10 -0
- package/dist/slice/json.d.ts +7 -0
- package/dist/slice/json.js +25 -0
- package/dist/slice/lock.d.ts +9 -0
- package/dist/slice/lock.js +59 -0
- package/dist/slice/project-context.d.ts +15 -0
- package/dist/slice/project-context.js +87 -0
- package/dist/slice/record.d.ts +50 -0
- package/dist/slice/record.js +139 -0
- package/dist/slice/validate.d.ts +3 -0
- package/dist/slice/validate.js +86 -0
- package/dist/story-ready/allocation.d.ts +14 -0
- package/dist/story-ready/allocation.js +61 -0
- package/dist/story-ready/evaluate.d.ts +23 -0
- package/dist/story-ready/evaluate.js +161 -0
- package/dist/story-ready/git.d.ts +6 -0
- package/dist/story-ready/git.js +26 -0
- package/dist/story-ready/index.d.ts +4 -0
- package/dist/story-ready/index.js +4 -0
- package/dist/subprocess/max-buffer.d.ts +18 -0
- package/dist/subprocess/max-buffer.js +18 -0
- package/dist/swarm/complete-cohort-cli.d.ts +3 -0
- package/dist/swarm/complete-cohort-cli.js +42 -0
- package/dist/swarm/complete-cohort.d.ts +34 -0
- package/dist/swarm/complete-cohort.js +407 -0
- package/dist/swarm/constants.d.ts +18 -0
- package/dist/swarm/constants.js +24 -0
- package/dist/swarm/index.d.ts +18 -0
- package/dist/swarm/index.js +18 -0
- package/dist/swarm/launch-cli.d.ts +5 -0
- package/dist/swarm/launch-cli.js +111 -0
- package/dist/swarm/launch.d.ts +78 -0
- package/dist/swarm/launch.js +587 -0
- package/dist/swarm/readiness-cli.d.ts +3 -0
- package/dist/swarm/readiness-cli.js +25 -0
- package/dist/swarm/readiness.d.ts +24 -0
- package/dist/swarm/readiness.js +606 -0
- package/dist/swarm/routing-set-cli.d.ts +3 -0
- package/dist/swarm/routing-set-cli.js +82 -0
- package/dist/swarm/routing-verify-cli.d.ts +3 -0
- package/dist/swarm/routing-verify-cli.js +51 -0
- package/dist/swarm/routing-verify.d.ts +20 -0
- package/dist/swarm/routing-verify.js +104 -0
- package/dist/swarm/routing.d.ts +57 -0
- package/dist/swarm/routing.js +173 -0
- package/dist/swarm/subagent-backend.d.ts +22 -0
- package/dist/swarm/subagent-backend.js +162 -0
- package/dist/swarm/subprocess.d.ts +10 -0
- package/dist/swarm/subprocess.js +34 -0
- package/dist/swarm/verify-review-clean-cli.d.ts +3 -0
- package/dist/swarm/verify-review-clean-cli.js +38 -0
- package/dist/swarm/verify-review-clean.d.ts +40 -0
- package/dist/swarm/verify-review-clean.js +240 -0
- package/dist/swarm/worktrees-cli.d.ts +9 -0
- package/dist/swarm/worktrees-cli.js +57 -0
- package/dist/swarm/worktrees.d.ts +39 -0
- package/dist/swarm/worktrees.js +178 -0
- package/dist/text/redos-safe.d.ts +29 -0
- package/dist/text/redos-safe.js +338 -0
- package/dist/triage/actions/candidates-log.d.ts +8 -0
- package/dist/triage/actions/candidates-log.js +195 -0
- package/dist/triage/actions/errors.d.ts +17 -0
- package/dist/triage/actions/errors.js +29 -0
- package/dist/triage/actions/index.d.ts +19 -0
- package/dist/triage/actions/index.js +305 -0
- package/dist/triage/actions/resume-on.d.ts +3 -0
- package/dist/triage/actions/resume-on.js +65 -0
- package/dist/triage/actions/types.d.ts +57 -0
- package/dist/triage/actions/types.js +2 -0
- package/dist/triage/bootstrap/gitignore.d.ts +16 -0
- package/dist/triage/bootstrap/gitignore.js +414 -0
- package/dist/triage/bootstrap/index.d.ts +44 -0
- package/dist/triage/bootstrap/index.js +572 -0
- package/dist/triage/bootstrap/types.d.ts +60 -0
- package/dist/triage/bootstrap/types.js +2 -0
- package/dist/triage/bulk/index.d.ts +99 -0
- package/dist/triage/bulk/index.js +454 -0
- package/dist/triage/classify/index.d.ts +88 -0
- package/dist/triage/classify/index.js +738 -0
- package/dist/triage/help/index.d.ts +25 -0
- package/dist/triage/help/index.js +212 -0
- package/dist/triage/help/registry-data.d.ts +555 -0
- package/dist/triage/help/registry-data.js +841 -0
- package/dist/triage/index.d.ts +23 -0
- package/dist/triage/index.js +23 -0
- package/dist/triage/queue/audit.d.ts +12 -0
- package/dist/triage/queue/audit.js +47 -0
- package/dist/triage/queue/build-queue.d.ts +9 -0
- package/dist/triage/queue/build-queue.js +133 -0
- package/dist/triage/queue/cache.d.ts +20 -0
- package/dist/triage/queue/cache.js +169 -0
- package/dist/triage/queue/constants.d.ts +22 -0
- package/dist/triage/queue/constants.js +28 -0
- package/dist/triage/queue/derive-group.d.ts +7 -0
- package/dist/triage/queue/derive-group.js +20 -0
- package/dist/triage/queue/index.d.ts +12 -0
- package/dist/triage/queue/index.js +12 -0
- package/dist/triage/queue/project.d.ts +6 -0
- package/dist/triage/queue/project.js +18 -0
- package/dist/triage/queue/ranking-labels.d.ts +10 -0
- package/dist/triage/queue/ranking-labels.js +54 -0
- package/dist/triage/queue/render.d.ts +9 -0
- package/dist/triage/queue/render.js +35 -0
- package/dist/triage/queue/repo.d.ts +5 -0
- package/dist/triage/queue/repo.js +36 -0
- package/dist/triage/queue/scope-walk.d.ts +13 -0
- package/dist/triage/queue/scope-walk.js +170 -0
- package/dist/triage/queue/selection.d.ts +28 -0
- package/dist/triage/queue/selection.js +109 -0
- package/dist/triage/queue/types.d.ts +58 -0
- package/dist/triage/queue/types.js +2 -0
- package/dist/triage/reconcile/audit.d.ts +4 -0
- package/dist/triage/reconcile/audit.js +62 -0
- package/dist/triage/reconcile/index.d.ts +5 -0
- package/dist/triage/reconcile/index.js +5 -0
- package/dist/triage/reconcile/parse-uri.d.ts +4 -0
- package/dist/triage/reconcile/parse-uri.js +43 -0
- package/dist/triage/reconcile/reconcile.d.ts +17 -0
- package/dist/triage/reconcile/reconcile.js +163 -0
- package/dist/triage/reconcile/types.d.ts +23 -0
- package/dist/triage/reconcile/types.js +70 -0
- package/dist/triage/refresh/drift.d.ts +15 -0
- package/dist/triage/refresh/drift.js +72 -0
- package/dist/triage/refresh/extract.d.ts +3 -0
- package/dist/triage/refresh/extract.js +43 -0
- package/dist/triage/refresh/index.d.ts +5 -0
- package/dist/triage/refresh/index.js +5 -0
- package/dist/triage/refresh/refresh.d.ts +16 -0
- package/dist/triage/refresh/refresh.js +95 -0
- package/dist/triage/refresh/types.d.ts +18 -0
- package/dist/triage/refresh/types.js +7 -0
- package/dist/triage/scope/cli.d.ts +23 -0
- package/dist/triage/scope/cli.js +257 -0
- package/dist/triage/scope/constants.d.ts +16 -0
- package/dist/triage/scope/constants.js +25 -0
- package/dist/triage/scope/coverage.d.ts +24 -0
- package/dist/triage/scope/coverage.js +96 -0
- package/dist/triage/scope/duration.d.ts +6 -0
- package/dist/triage/scope/duration.js +44 -0
- package/dist/triage/scope/evaluate.d.ts +18 -0
- package/dist/triage/scope/evaluate.js +161 -0
- package/dist/triage/scope/index.d.ts +14 -0
- package/dist/triage/scope/index.js +14 -0
- package/dist/triage/scope/milestone.d.ts +13 -0
- package/dist/triage/scope/milestone.js +178 -0
- package/dist/triage/scope/mutations-core.d.ts +24 -0
- package/dist/triage/scope/mutations-core.js +216 -0
- package/dist/triage/scope/mutations.d.ts +21 -0
- package/dist/triage/scope/mutations.js +203 -0
- package/dist/triage/scope/normalize.d.ts +5 -0
- package/dist/triage/scope/normalize.js +45 -0
- package/dist/triage/scope/python-repr.d.ts +7 -0
- package/dist/triage/scope/python-repr.js +25 -0
- package/dist/triage/scope/renderers.d.ts +9 -0
- package/dist/triage/scope/renderers.js +177 -0
- package/dist/triage/scope/resolve.d.ts +15 -0
- package/dist/triage/scope/resolve.js +122 -0
- package/dist/triage/scope/time.d.ts +6 -0
- package/dist/triage/scope/time.js +18 -0
- package/dist/triage/scope/validate.d.ts +11 -0
- package/dist/triage/scope/validate.js +272 -0
- package/dist/triage/scope-drift/add-ignore.d.ts +10 -0
- package/dist/triage/scope-drift/add-ignore.js +78 -0
- package/dist/triage/scope-drift/cache-walker.d.ts +8 -0
- package/dist/triage/scope-drift/cache-walker.js +103 -0
- package/dist/triage/scope-drift/compute.d.ts +9 -0
- package/dist/triage/scope-drift/compute.js +92 -0
- package/dist/triage/scope-drift/index.d.ts +6 -0
- package/dist/triage/scope-drift/index.js +6 -0
- package/dist/triage/scope-drift/render.d.ts +4 -0
- package/dist/triage/scope-drift/render.js +45 -0
- package/dist/triage/scope-drift/scope-rules.d.ts +16 -0
- package/dist/triage/scope-drift/scope-rules.js +149 -0
- package/dist/triage/scope-drift/types.d.ts +13 -0
- package/dist/triage/scope-drift/types.js +8 -0
- package/dist/triage/smoketest/index.d.ts +81 -0
- package/dist/triage/smoketest/index.js +335 -0
- package/dist/triage/subscribe/index.d.ts +38 -0
- package/dist/triage/subscribe/index.js +303 -0
- package/dist/triage/summary/index.d.ts +70 -0
- package/dist/triage/summary/index.js +431 -0
- package/dist/triage/summary/reconcilable.d.ts +12 -0
- package/dist/triage/summary/reconcilable.js +150 -0
- package/dist/triage/summary/scope-drift.d.ts +5 -0
- package/dist/triage/summary/scope-drift.js +219 -0
- package/dist/triage/welcome/constants.d.ts +24 -0
- package/dist/triage/welcome/constants.js +34 -0
- package/dist/triage/welcome/default-mode.d.ts +21 -0
- package/dist/triage/welcome/default-mode.js +48 -0
- package/dist/triage/welcome/index.d.ts +6 -0
- package/dist/triage/welcome/index.js +6 -0
- package/dist/triage/welcome/prior-state.d.ts +17 -0
- package/dist/triage/welcome/prior-state.js +170 -0
- package/dist/triage/welcome/summary.d.ts +23 -0
- package/dist/triage/welcome/summary.js +303 -0
- package/dist/triage/welcome/writers.d.ts +17 -0
- package/dist/triage/welcome/writers.js +157 -0
- package/dist/ts-check-lane/index.d.ts +3 -0
- package/dist/ts-check-lane/index.js +2 -0
- package/dist/ts-check-lane/run-lane.d.ts +53 -0
- package/dist/ts-check-lane/run-lane.js +98 -0
- package/dist/validate-content/capacity-policy.d.ts +82 -0
- package/dist/validate-content/capacity-policy.js +399 -0
- package/dist/validate-content/capacity-show.d.ts +60 -0
- package/dist/validate-content/capacity-show.js +336 -0
- package/dist/validate-content/filename.d.ts +3 -0
- package/dist/validate-content/filename.js +54 -0
- package/dist/validate-content/index.d.ts +9 -0
- package/dist/validate-content/index.js +9 -0
- package/dist/validate-content/link-parser.d.ts +5 -0
- package/dist/validate-content/link-parser.js +42 -0
- package/dist/validate-content/types.d.ts +8 -0
- package/dist/validate-content/types.js +2 -0
- package/dist/validate-content/validate-links.d.ts +17 -0
- package/dist/validate-content/validate-links.js +114 -0
- package/dist/validate-content/validate-strategy-output.d.ts +11 -0
- package/dist/validate-content/validate-strategy-output.js +120 -0
- package/dist/validate-content/verify-capacity.d.ts +14 -0
- package/dist/validate-content/verify-capacity.js +96 -0
- package/dist/vbrief-activate/activate.d.ts +13 -0
- package/dist/vbrief-activate/activate.js +184 -0
- package/dist/vbrief-activate/constants.d.ts +9 -0
- package/dist/vbrief-activate/constants.js +11 -0
- package/dist/vbrief-activate/index.d.ts +6 -0
- package/dist/vbrief-activate/index.js +4 -0
- package/dist/vbrief-activate/main.d.ts +14 -0
- package/dist/vbrief-activate/main.js +33 -0
- package/dist/vbrief-build/build.d.ts +13 -0
- package/dist/vbrief-build/build.js +123 -0
- package/dist/vbrief-build/constants.d.ts +13 -0
- package/dist/vbrief-build/constants.js +34 -0
- package/dist/vbrief-build/index.d.ts +12 -0
- package/dist/vbrief-build/index.js +11 -0
- package/dist/vbrief-build/json.d.ts +3 -0
- package/dist/vbrief-build/json.js +5 -0
- package/dist/vbrief-build/main.d.ts +5 -0
- package/dist/vbrief-build/main.js +65 -0
- package/dist/vbrief-build/parity-scenarios.d.ts +19 -0
- package/dist/vbrief-build/parity-scenarios.js +321 -0
- package/dist/vbrief-build/project-definition-io.d.ts +13 -0
- package/dist/vbrief-build/project-definition-io.js +117 -0
- package/dist/vbrief-build/routing.d.ts +13 -0
- package/dist/vbrief-build/routing.js +110 -0
- package/dist/vbrief-build/sources.d.ts +16 -0
- package/dist/vbrief-build/sources.js +294 -0
- package/dist/vbrief-build/speckit.d.ts +23 -0
- package/dist/vbrief-build/speckit.js +212 -0
- package/dist/vbrief-build/types.d.ts +18 -0
- package/dist/vbrief-build/types.js +7 -0
- package/dist/vbrief-reconcile/graph.d.ts +11 -0
- package/dist/vbrief-reconcile/graph.js +171 -0
- package/dist/vbrief-reconcile/index.d.ts +10 -0
- package/dist/vbrief-reconcile/index.js +9 -0
- package/dist/vbrief-reconcile/labels.d.ts +22 -0
- package/dist/vbrief-reconcile/labels.js +252 -0
- package/dist/vbrief-reconcile/main.d.ts +18 -0
- package/dist/vbrief-reconcile/main.js +149 -0
- package/dist/vbrief-reconcile/parity-scenarios.d.ts +16 -0
- package/dist/vbrief-reconcile/parity-scenarios.js +385 -0
- package/dist/vbrief-reconcile/py-repr.d.ts +3 -0
- package/dist/vbrief-reconcile/py-repr.js +5 -0
- package/dist/vbrief-reconcile/reconciliation.d.ts +20 -0
- package/dist/vbrief-reconcile/reconciliation.js +542 -0
- package/dist/vbrief-reconcile/swarm-deps.d.ts +8 -0
- package/dist/vbrief-reconcile/swarm-deps.js +142 -0
- package/dist/vbrief-reconcile/types.d.ts +128 -0
- package/dist/vbrief-reconcile/types.js +2 -0
- package/dist/vbrief-reconcile/umbrellas.d.ts +48 -0
- package/dist/vbrief-reconcile/umbrellas.js +462 -0
- package/dist/vbrief-validate/conformance.d.ts +26 -0
- package/dist/vbrief-validate/conformance.js +273 -0
- package/dist/vbrief-validate/constants.d.ts +13 -0
- package/dist/vbrief-validate/constants.js +36 -0
- package/dist/vbrief-validate/decomposition.d.ts +3 -0
- package/dist/vbrief-validate/decomposition.js +38 -0
- package/dist/vbrief-validate/epic-links.d.ts +4 -0
- package/dist/vbrief-validate/epic-links.js +152 -0
- package/dist/vbrief-validate/filename.d.ts +5 -0
- package/dist/vbrief-validate/filename.js +62 -0
- package/dist/vbrief-validate/folder-status.d.ts +4 -0
- package/dist/vbrief-validate/folder-status.js +30 -0
- package/dist/vbrief-validate/index.d.ts +14 -0
- package/dist/vbrief-validate/index.js +11 -0
- package/dist/vbrief-validate/main.d.ts +17 -0
- package/dist/vbrief-validate/main.js +127 -0
- package/dist/vbrief-validate/origin.d.ts +4 -0
- package/dist/vbrief-validate/origin.js +76 -0
- package/dist/vbrief-validate/paths.d.ts +11 -0
- package/dist/vbrief-validate/paths.js +83 -0
- package/dist/vbrief-validate/placeholders.d.ts +3 -0
- package/dist/vbrief-validate/placeholders.js +33 -0
- package/dist/vbrief-validate/plan-hooks.d.ts +9 -0
- package/dist/vbrief-validate/plan-hooks.js +145 -0
- package/dist/vbrief-validate/precutover.d.ts +7 -0
- package/dist/vbrief-validate/precutover.js +30 -0
- package/dist/vbrief-validate/project-definition.d.ts +4 -0
- package/dist/vbrief-validate/project-definition.js +166 -0
- package/dist/vbrief-validate/schema.d.ts +8 -0
- package/dist/vbrief-validate/schema.js +150 -0
- package/dist/vbrief-validate/staleness.d.ts +3 -0
- package/dist/vbrief-validate/staleness.js +106 -0
- package/dist/vbrief-validate/validate-all.d.ts +17 -0
- package/dist/vbrief-validate/validate-all.js +119 -0
- package/dist/vbrief-validation/fidelity.d.ts +22 -0
- package/dist/vbrief-validation/fidelity.js +508 -0
- package/dist/vbrief-validation/index.d.ts +11 -0
- package/dist/vbrief-validation/index.js +8 -0
- package/dist/vbrief-validation/legacy-sections.d.ts +13 -0
- package/dist/vbrief-validation/legacy-sections.js +124 -0
- package/dist/vbrief-validation/main.d.ts +5 -0
- package/dist/vbrief-validation/main.js +65 -0
- package/dist/vbrief-validation/normalize.d.ts +22 -0
- package/dist/vbrief-validation/normalize.js +126 -0
- package/dist/vbrief-validation/parity-scenarios.d.ts +14 -0
- package/dist/vbrief-validation/parity-scenarios.js +523 -0
- package/dist/vbrief-validation/safety.d.ts +38 -0
- package/dist/vbrief-validation/safety.js +422 -0
- package/dist/vbrief-validation/story-quality.d.ts +29 -0
- package/dist/vbrief-validation/story-quality.js +452 -0
- package/dist/vbrief-validation/types.d.ts +58 -0
- package/dist/vbrief-validation/types.js +2 -0
- package/dist/vbrief-validation/validation.d.ts +15 -0
- package/dist/vbrief-validation/validation.js +123 -0
- package/dist/verify-env/index.d.ts +6 -0
- package/dist/verify-env/index.js +6 -0
- package/dist/verify-env/node-runtime.d.ts +6 -0
- package/dist/verify-env/node-runtime.js +11 -0
- package/dist/verify-env/toolchain-check.d.ts +28 -0
- package/dist/verify-env/toolchain-check.js +68 -0
- package/dist/verify-env/verify-hooks-installed.d.ts +21 -0
- package/dist/verify-env/verify-hooks-installed.js +162 -0
- package/dist/verify-env/verify-no-task-runtime.d.ts +20 -0
- package/dist/verify-env/verify-no-task-runtime.js +383 -0
- package/dist/verify-env/verify-tools.d.ts +59 -0
- package/dist/verify-env/verify-tools.js +354 -0
- package/dist/verify-source/code-structure-validate.d.ts +48 -0
- package/dist/verify-source/code-structure-validate.js +678 -0
- package/dist/verify-source/content-manifest.d.ts +102 -0
- package/dist/verify-source/content-manifest.js +282 -0
- package/dist/verify-source/index.d.ts +7 -0
- package/dist/verify-source/index.js +7 -0
- package/dist/verify-source/python-call-scan.d.ts +14 -0
- package/dist/verify-source/python-call-scan.js +137 -0
- package/dist/verify-source/rule-ownership-lint.d.ts +33 -0
- package/dist/verify-source/rule-ownership-lint.js +179 -0
- package/dist/verify-source/scm-boundary.d.ts +26 -0
- package/dist/verify-source/scm-boundary.js +170 -0
- package/dist/verify-source/verify-stubs.d.ts +19 -0
- package/dist/verify-source/verify-stubs.js +185 -0
- package/dist/wip-cap/evaluate.d.ts +17 -0
- package/dist/wip-cap/evaluate.js +62 -0
- package/dist/wip-cap/index.d.ts +2 -0
- package/dist/wip-cap/index.js +2 -0
- package/package.json +206 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@deftai/directive-core/triage` — the ported triage engine surface (#1530 Wave 3, #1725).
|
|
3
|
+
*
|
|
4
|
+
* Each triage verb is a self-contained module ported from its `scripts/triage_*.py`
|
|
5
|
+
* oracle. They are re-exported here under stable per-verb namespaces (rather than
|
|
6
|
+
* flat) so the verbs can share common symbol names (`evaluate`, `render`, `main`,
|
|
7
|
+
* ...) without colliding.
|
|
8
|
+
*/
|
|
9
|
+
export * as actions from "./actions/index.js";
|
|
10
|
+
export * as bootstrap from "./bootstrap/index.js";
|
|
11
|
+
export * as bulk from "./bulk/index.js";
|
|
12
|
+
export * as classify from "./classify/index.js";
|
|
13
|
+
export * as help from "./help/index.js";
|
|
14
|
+
export * as queue from "./queue/index.js";
|
|
15
|
+
export * as reconcile from "./reconcile/index.js";
|
|
16
|
+
export * as refresh from "./refresh/index.js";
|
|
17
|
+
export * as scope from "./scope/index.js";
|
|
18
|
+
export * as scopeDrift from "./scope-drift/index.js";
|
|
19
|
+
export * as smoketest from "./smoketest/index.js";
|
|
20
|
+
export * as subscribe from "./subscribe/index.js";
|
|
21
|
+
export * as summary from "./summary/index.js";
|
|
22
|
+
export * as welcome from "./welcome/index.js";
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@deftai/directive-core/triage` — the ported triage engine surface (#1530 Wave 3, #1725).
|
|
3
|
+
*
|
|
4
|
+
* Each triage verb is a self-contained module ported from its `scripts/triage_*.py`
|
|
5
|
+
* oracle. They are re-exported here under stable per-verb namespaces (rather than
|
|
6
|
+
* flat) so the verbs can share common symbol names (`evaluate`, `render`, `main`,
|
|
7
|
+
* ...) without colliding.
|
|
8
|
+
*/
|
|
9
|
+
export * as actions from "./actions/index.js";
|
|
10
|
+
export * as bootstrap from "./bootstrap/index.js";
|
|
11
|
+
export * as bulk from "./bulk/index.js";
|
|
12
|
+
export * as classify from "./classify/index.js";
|
|
13
|
+
export * as help from "./help/index.js";
|
|
14
|
+
export * as queue from "./queue/index.js";
|
|
15
|
+
export * as reconcile from "./reconcile/index.js";
|
|
16
|
+
export * as refresh from "./refresh/index.js";
|
|
17
|
+
export * as scope from "./scope/index.js";
|
|
18
|
+
export * as scopeDrift from "./scope-drift/index.js";
|
|
19
|
+
export * as smoketest from "./smoketest/index.js";
|
|
20
|
+
export * as subscribe from "./subscribe/index.js";
|
|
21
|
+
export * as summary from "./summary/index.js";
|
|
22
|
+
export * as welcome from "./welcome/index.js";
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { AuditEntry } from "./types.js";
|
|
2
|
+
/** Resolve audit log path; mirrors candidates_log._resolve_path (framework root). */
|
|
3
|
+
export declare function resolveAuditLogPath(options?: {
|
|
4
|
+
readonly auditLogPath?: string | null;
|
|
5
|
+
readonly frameworkRoot?: string | null;
|
|
6
|
+
}): string;
|
|
7
|
+
/** Read audit log entries, optionally filtered by repo. */
|
|
8
|
+
export declare function readAuditEntries(repo: string | null, options?: {
|
|
9
|
+
readonly frameworkRoot?: string | null;
|
|
10
|
+
readonly auditLogPath?: string | null;
|
|
11
|
+
}): readonly AuditEntry[];
|
|
12
|
+
//# sourceMappingURL=audit.d.ts.map
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { join, resolve } from "node:path";
|
|
3
|
+
import { DEFAULT_AUDIT_LOG_REL_PATH } from "./constants.js";
|
|
4
|
+
/** Resolve audit log path; mirrors candidates_log._resolve_path (framework root). */
|
|
5
|
+
export function resolveAuditLogPath(options = {}) {
|
|
6
|
+
if (options.auditLogPath !== null && options.auditLogPath !== undefined) {
|
|
7
|
+
return resolve(options.auditLogPath);
|
|
8
|
+
}
|
|
9
|
+
const envRoot = process.env.DEFT_ROOT?.trim() ?? "";
|
|
10
|
+
const root = options.frameworkRoot !== null && options.frameworkRoot !== undefined
|
|
11
|
+
? resolve(options.frameworkRoot)
|
|
12
|
+
: envRoot.length > 0
|
|
13
|
+
? resolve(envRoot)
|
|
14
|
+
: process.cwd();
|
|
15
|
+
return join(root, DEFAULT_AUDIT_LOG_REL_PATH);
|
|
16
|
+
}
|
|
17
|
+
/** Read audit log entries, optionally filtered by repo. */
|
|
18
|
+
export function readAuditEntries(repo, options = {}) {
|
|
19
|
+
const logPath = resolveAuditLogPath(options);
|
|
20
|
+
if (!existsSync(logPath)) {
|
|
21
|
+
return [];
|
|
22
|
+
}
|
|
23
|
+
const out = [];
|
|
24
|
+
const raw = readFileSync(logPath, { encoding: "utf8" });
|
|
25
|
+
for (const line of raw.split("\n")) {
|
|
26
|
+
const stripped = line.trim();
|
|
27
|
+
if (stripped.length === 0) {
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
try {
|
|
31
|
+
const obj = JSON.parse(stripped);
|
|
32
|
+
if (typeof obj !== "object" || obj === null) {
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
const entry = obj;
|
|
36
|
+
if (repo !== null && entry.repo !== repo) {
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
out.push(entry);
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
// skip malformed audit rows
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return out;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=audit.js.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { AuditEntry, CachedIssue, QueueBuildOptions, QueueItem } from "./types.js";
|
|
2
|
+
/** Reduce audit entries to {issue_number: latest_entry} by timestamp. */
|
|
3
|
+
export declare function latestDecisionsByIssue(entries: readonly AuditEntry[]): ReadonlyMap<number, AuditEntry>;
|
|
4
|
+
/** Compose the ranked queue. Mirrors scripts/triage_queue.py::build_queue. */
|
|
5
|
+
export declare function buildQueue(issues: readonly CachedIssue[], auditEntries: readonly AuditEntry[], options: {
|
|
6
|
+
readonly repo: string;
|
|
7
|
+
readonly queue?: QueueBuildOptions;
|
|
8
|
+
}): readonly QueueItem[];
|
|
9
|
+
//# sourceMappingURL=build-queue.d.ts.map
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { GROUP_ORDER } from "./constants.js";
|
|
2
|
+
import { deriveGroup } from "./derive-group.js";
|
|
3
|
+
import { compareSelectionKeys, matchedLabelFor, withinGroupSortKey } from "./selection.js";
|
|
4
|
+
function resolveRank(issue, number, rankByNumber) {
|
|
5
|
+
let candidate = rankByNumber.get(number);
|
|
6
|
+
if (candidate === undefined) {
|
|
7
|
+
candidate = issue.metadataRank ?? undefined;
|
|
8
|
+
}
|
|
9
|
+
if (typeof candidate !== "number" || !Number.isInteger(candidate)) {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
return candidate;
|
|
13
|
+
}
|
|
14
|
+
function resolveContinuation(issue, number, continuationNumbers) {
|
|
15
|
+
if (continuationNumbers.has(number)) {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
return Boolean(issue.continuation);
|
|
19
|
+
}
|
|
20
|
+
function resolveContinuationOrder(issue, number, orderByNumber) {
|
|
21
|
+
let candidate = orderByNumber.get(number);
|
|
22
|
+
if (candidate === undefined) {
|
|
23
|
+
candidate = issue.continuationOrder;
|
|
24
|
+
}
|
|
25
|
+
return typeof candidate === "string" ? candidate : "";
|
|
26
|
+
}
|
|
27
|
+
function resolveDeficit(issue, number, deficitByNumber) {
|
|
28
|
+
let candidate = deficitByNumber.get(number);
|
|
29
|
+
if (candidate === undefined) {
|
|
30
|
+
candidate = issue.bucketDeficit ?? undefined;
|
|
31
|
+
}
|
|
32
|
+
if (typeof candidate !== "number" || !Number.isFinite(candidate)) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
return candidate;
|
|
36
|
+
}
|
|
37
|
+
function resolveBlocked(issue, number, blockedNumbers) {
|
|
38
|
+
if (blockedNumbers.has(number)) {
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
return Boolean(issue.blocked);
|
|
42
|
+
}
|
|
43
|
+
/** Reduce audit entries to {issue_number: latest_entry} by timestamp. */
|
|
44
|
+
export function latestDecisionsByIssue(entries) {
|
|
45
|
+
const out = new Map();
|
|
46
|
+
for (const entry of entries) {
|
|
47
|
+
const n = entry.issue_number;
|
|
48
|
+
if (typeof n !== "number") {
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
const current = out.get(n);
|
|
52
|
+
const stamp = entry.timestamp ?? "";
|
|
53
|
+
const currentStamp = current?.timestamp ?? "";
|
|
54
|
+
if (current === undefined || stamp > currentStamp) {
|
|
55
|
+
out.set(n, entry);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return out;
|
|
59
|
+
}
|
|
60
|
+
/** Compose the ranked queue. Mirrors scripts/triage_queue.py::build_queue. */
|
|
61
|
+
export function buildQueue(issues, auditEntries, options) {
|
|
62
|
+
const opts = options.queue ?? {};
|
|
63
|
+
const rankingLabels = opts.rankingLabels ?? [];
|
|
64
|
+
const activeReferenced = opts.activeReferenced ?? new Set();
|
|
65
|
+
const orphanIssueNumbers = opts.orphanIssueNumbers ?? new Set();
|
|
66
|
+
const rankByNumber = opts.rankByNumber ?? new Map();
|
|
67
|
+
const continuationNumbers = opts.continuationNumbers ?? new Set();
|
|
68
|
+
const continuationOrderByNumber = opts.continuationOrderByNumber ?? new Map();
|
|
69
|
+
const deficitByNumber = opts.deficitByNumber ?? new Map();
|
|
70
|
+
const blockedIssueNumbers = opts.blockedIssueNumbers ?? new Set();
|
|
71
|
+
const dropNetNew = Boolean(opts.finishBeforeStart && opts.wipAtCap);
|
|
72
|
+
const includeBlocked = Boolean(opts.includeBlocked);
|
|
73
|
+
const limit = opts.limit;
|
|
74
|
+
const decisions = latestDecisionsByIssue(auditEntries);
|
|
75
|
+
const grouped = new Map();
|
|
76
|
+
for (const group of GROUP_ORDER) {
|
|
77
|
+
grouped.set(group, []);
|
|
78
|
+
}
|
|
79
|
+
for (const issue of issues) {
|
|
80
|
+
const n = issue.number;
|
|
81
|
+
if (typeof n !== "number") {
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
const isContinuation = resolveContinuation(issue, n, continuationNumbers);
|
|
85
|
+
const isOrphan = orphanIssueNumbers.has(n);
|
|
86
|
+
if (dropNetNew && !isContinuation && !isOrphan) {
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
const isBlocked = resolveBlocked(issue, n, blockedIssueNumbers);
|
|
90
|
+
const latest = decisions.get(n);
|
|
91
|
+
const latestDecision = typeof latest?.decision === "string" ? latest.decision : null;
|
|
92
|
+
let group;
|
|
93
|
+
if (isBlocked && !includeBlocked) {
|
|
94
|
+
group = "BLOCKED";
|
|
95
|
+
}
|
|
96
|
+
else if (isOrphan) {
|
|
97
|
+
group = "ORPHAN";
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
group = deriveGroup(latestDecision, activeReferenced.has(n));
|
|
101
|
+
}
|
|
102
|
+
const mutable = { ...issue };
|
|
103
|
+
mutable._latestDecision = latestDecision;
|
|
104
|
+
mutable._blocked = isBlocked;
|
|
105
|
+
mutable._resolvedRank = resolveRank(issue, n, rankByNumber);
|
|
106
|
+
mutable._continuation = isContinuation;
|
|
107
|
+
mutable._continuationOrder = resolveContinuationOrder(issue, n, continuationOrderByNumber);
|
|
108
|
+
mutable._bucketDeficit = resolveDeficit(issue, n, deficitByNumber);
|
|
109
|
+
grouped.get(group)?.push(mutable);
|
|
110
|
+
}
|
|
111
|
+
const out = [];
|
|
112
|
+
for (const group of GROUP_ORDER) {
|
|
113
|
+
const bucket = [...(grouped.get(group) ?? [])].sort((left, right) => compareSelectionKeys(withinGroupSortKey(left, rankingLabels), withinGroupSortKey(right, rankingLabels)));
|
|
114
|
+
for (const issue of bucket) {
|
|
115
|
+
out.push({
|
|
116
|
+
number: issue.number,
|
|
117
|
+
title: String(issue.title ?? ""),
|
|
118
|
+
state: String(issue.state ?? "open"),
|
|
119
|
+
labels: issue.labels ?? [],
|
|
120
|
+
updatedAt: String(issue.updatedAt ?? ""),
|
|
121
|
+
group,
|
|
122
|
+
latestDecision: issue._latestDecision ?? null,
|
|
123
|
+
matchedLabel: matchedLabelFor(issue, rankingLabels),
|
|
124
|
+
repo: options.repo,
|
|
125
|
+
});
|
|
126
|
+
if (limit !== null && limit !== undefined && out.length >= limit) {
|
|
127
|
+
return out;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return out;
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=build-queue.js.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { CachedIssue } from "./types.js";
|
|
2
|
+
/** Read slices.jsonl records. */
|
|
3
|
+
export declare function resolveSlicesLogPath(options?: {
|
|
4
|
+
readonly slicesLogPath?: string | null;
|
|
5
|
+
readonly frameworkRoot?: string | null;
|
|
6
|
+
}): string;
|
|
7
|
+
/** Read slices.jsonl records. */
|
|
8
|
+
export declare function loadSliceRecords(options?: {
|
|
9
|
+
readonly slicesLogPath?: string | null;
|
|
10
|
+
readonly frameworkRoot?: string | null;
|
|
11
|
+
}): readonly Record<string, unknown>[];
|
|
12
|
+
/** Return orphan child issue numbers (open child + closed umbrella). */
|
|
13
|
+
export declare function collectOrphanIssueNumbers(sliceRecords: readonly Record<string, unknown>[], issuesByNumber: ReadonlyMap<number, CachedIssue | Record<string, unknown>>): ReadonlySet<number>;
|
|
14
|
+
/** Walk the cache and return one CachedIssue per cached issue. */
|
|
15
|
+
export declare function loadCachedIssues(repo: string, options: {
|
|
16
|
+
readonly projectRoot: string;
|
|
17
|
+
readonly source?: string;
|
|
18
|
+
readonly includeClosed?: boolean;
|
|
19
|
+
}): readonly CachedIssue[];
|
|
20
|
+
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { existsSync, readdirSync, readFileSync } from "node:fs";
|
|
2
|
+
import { join, resolve } from "node:path";
|
|
3
|
+
import { CACHE_DIR_NAME, CACHE_SOURCE_GITHUB_ISSUE, DEFAULT_SLICES_LOG_REL_PATH, } from "./constants.js";
|
|
4
|
+
import { blockedByIssueNumber, rankByIssueNumber } from "./scope-walk.js";
|
|
5
|
+
function cachedState(issue) {
|
|
6
|
+
if (issue === undefined) {
|
|
7
|
+
return "";
|
|
8
|
+
}
|
|
9
|
+
const state = issue.state;
|
|
10
|
+
return typeof state === "string" ? state.toLowerCase() : "";
|
|
11
|
+
}
|
|
12
|
+
/** Read slices.jsonl records. */
|
|
13
|
+
export function resolveSlicesLogPath(options = {}) {
|
|
14
|
+
if (options.slicesLogPath !== null && options.slicesLogPath !== undefined) {
|
|
15
|
+
return resolve(options.slicesLogPath);
|
|
16
|
+
}
|
|
17
|
+
const envRoot = process.env.DEFT_ROOT?.trim() ?? "";
|
|
18
|
+
const root = options.frameworkRoot !== null && options.frameworkRoot !== undefined
|
|
19
|
+
? resolve(options.frameworkRoot)
|
|
20
|
+
: envRoot.length > 0
|
|
21
|
+
? resolve(envRoot)
|
|
22
|
+
: process.cwd();
|
|
23
|
+
return join(root, DEFAULT_SLICES_LOG_REL_PATH);
|
|
24
|
+
}
|
|
25
|
+
/** Read slices.jsonl records. */
|
|
26
|
+
export function loadSliceRecords(options = {}) {
|
|
27
|
+
const path = resolveSlicesLogPath(options);
|
|
28
|
+
if (!existsSync(path)) {
|
|
29
|
+
return [];
|
|
30
|
+
}
|
|
31
|
+
const out = [];
|
|
32
|
+
const raw = readFileSync(path, { encoding: "utf8" });
|
|
33
|
+
for (const line of raw.split("\n")) {
|
|
34
|
+
const stripped = line.trim();
|
|
35
|
+
if (stripped.length === 0) {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
const obj = JSON.parse(stripped);
|
|
40
|
+
if (typeof obj === "object" && obj !== null) {
|
|
41
|
+
out.push(obj);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
// skip malformed slice rows
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return out;
|
|
49
|
+
}
|
|
50
|
+
/** Return orphan child issue numbers (open child + closed umbrella). */
|
|
51
|
+
export function collectOrphanIssueNumbers(sliceRecords, issuesByNumber) {
|
|
52
|
+
const out = new Set();
|
|
53
|
+
for (const record of sliceRecords) {
|
|
54
|
+
const umbrella = record.umbrella;
|
|
55
|
+
if (typeof umbrella !== "number") {
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
const umbrellaIssue = issuesByNumber.get(umbrella);
|
|
59
|
+
if (cachedState(umbrellaIssue) !== "closed") {
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
const children = record.children;
|
|
63
|
+
if (!Array.isArray(children)) {
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
for (const child of children) {
|
|
67
|
+
if (typeof child !== "object" || child === null) {
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
const n = child.n;
|
|
71
|
+
if (typeof n !== "number") {
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
const childIssue = issuesByNumber.get(n);
|
|
75
|
+
if (cachedState(childIssue) === "open") {
|
|
76
|
+
out.add(n);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return out;
|
|
81
|
+
}
|
|
82
|
+
function parseLabels(raw) {
|
|
83
|
+
if (!Array.isArray(raw)) {
|
|
84
|
+
return [];
|
|
85
|
+
}
|
|
86
|
+
const labels = [];
|
|
87
|
+
for (const item of raw) {
|
|
88
|
+
if (typeof item === "object" && item !== null) {
|
|
89
|
+
const name = item.name;
|
|
90
|
+
if (typeof name === "string") {
|
|
91
|
+
labels.push(name);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
else if (typeof item === "string") {
|
|
95
|
+
labels.push(item);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return labels;
|
|
99
|
+
}
|
|
100
|
+
/** Walk the cache and return one CachedIssue per cached issue. */
|
|
101
|
+
export function loadCachedIssues(repo, options) {
|
|
102
|
+
if (!repo.includes("/")) {
|
|
103
|
+
throw new Error(`repo must be 'owner/name'; got '${repo}'`);
|
|
104
|
+
}
|
|
105
|
+
const parts = repo.split("/", 2);
|
|
106
|
+
const owner = parts[0];
|
|
107
|
+
const name = parts[1];
|
|
108
|
+
if (owner === undefined || name === undefined || owner.length === 0 || name.length === 0) {
|
|
109
|
+
throw new Error(`repo must be 'owner/name'; got '${repo}'`);
|
|
110
|
+
}
|
|
111
|
+
const root = resolve(options.projectRoot);
|
|
112
|
+
const source = options.source ?? CACHE_SOURCE_GITHUB_ISSUE;
|
|
113
|
+
const base = join(root, CACHE_DIR_NAME, source, owner, name);
|
|
114
|
+
if (!existsSync(base)) {
|
|
115
|
+
return [];
|
|
116
|
+
}
|
|
117
|
+
const rankMap = rankByIssueNumber(root);
|
|
118
|
+
const blockedSet = blockedByIssueNumber(root);
|
|
119
|
+
const issues = [];
|
|
120
|
+
for (const entryName of readdirSync(base)) {
|
|
121
|
+
if (!/^\d+$/.test(entryName)) {
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
const entryDir = join(base, entryName);
|
|
125
|
+
const rawPath = join(entryDir, "raw.json");
|
|
126
|
+
if (!existsSync(rawPath)) {
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
let payload;
|
|
130
|
+
try {
|
|
131
|
+
const parsed = JSON.parse(readFileSync(rawPath, { encoding: "utf8" }));
|
|
132
|
+
if (typeof parsed !== "object" || parsed === null) {
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
payload = parsed;
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
140
|
+
let n = payload.number;
|
|
141
|
+
if (typeof n !== "number") {
|
|
142
|
+
const parsed = Number.parseInt(entryName, 10);
|
|
143
|
+
n = Number.isFinite(parsed) ? parsed : undefined;
|
|
144
|
+
}
|
|
145
|
+
if (typeof n !== "number") {
|
|
146
|
+
continue;
|
|
147
|
+
}
|
|
148
|
+
const stateRaw = payload.state ?? "open";
|
|
149
|
+
const state = typeof stateRaw === "string" ? stateRaw.toLowerCase() : "open";
|
|
150
|
+
if (state !== "open" && !options.includeClosed) {
|
|
151
|
+
continue;
|
|
152
|
+
}
|
|
153
|
+
issues.push({
|
|
154
|
+
number: n,
|
|
155
|
+
title: typeof payload.title === "string" ? payload.title : "",
|
|
156
|
+
state,
|
|
157
|
+
labels: parseLabels(payload.labels),
|
|
158
|
+
updatedAt: typeof payload.updated_at === "string" ? payload.updated_at : "",
|
|
159
|
+
createdAt: typeof payload.created_at === "string" ? payload.created_at : "",
|
|
160
|
+
metadataRank: rankMap.get(n) ?? null,
|
|
161
|
+
continuation: false,
|
|
162
|
+
continuationOrder: "",
|
|
163
|
+
bucketDeficit: null,
|
|
164
|
+
blocked: blockedSet.has(n),
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
return issues;
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=cache.js.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** Filesystem-relative location of the unified cache root (#883 Story 2). */
|
|
2
|
+
export declare const CACHE_DIR_NAME = ".deft-cache";
|
|
3
|
+
/** Cache source layer for upstream GitHub issues. */
|
|
4
|
+
export declare const CACHE_SOURCE_GITHUB_ISSUE = "github-issue";
|
|
5
|
+
/** Env var honoured for repo inference when `--repo` is absent (#1238). */
|
|
6
|
+
export declare const ENV_TRIAGE_REPO = "DEFT_TRIAGE_REPO";
|
|
7
|
+
/** PROJECT-DEFINITION vBRIEF location for typed-policy lookup. */
|
|
8
|
+
export declare const PROJECT_DEFINITION_REL_PATH = "vbrief/PROJECT-DEFINITION.vbrief.json";
|
|
9
|
+
/** Default queue limit when `--limit` is omitted on the CLI surface. */
|
|
10
|
+
export declare const DEFAULT_QUEUE_LIMIT = 25;
|
|
11
|
+
/** Default audit log path relative to the deft framework root (candidates_log.REPO_ROOT). */
|
|
12
|
+
export declare const DEFAULT_AUDIT_LOG_REL_PATH = "vbrief/.eval/candidates.jsonl";
|
|
13
|
+
/** Default slices log path relative to project root. */
|
|
14
|
+
export declare const DEFAULT_SLICES_LOG_REL_PATH = "vbrief/.eval/slices.jsonl";
|
|
15
|
+
/** Group display order (#1128 / D13 / #1286). */
|
|
16
|
+
export declare const GROUP_ORDER: readonly ["ORPHAN", "RESUME", "URGENT", "untriaged", "other", "BLOCKED"];
|
|
17
|
+
export type QueueGroup = (typeof GROUP_ORDER)[number];
|
|
18
|
+
/** Display labels per group (left-of-issue marker). */
|
|
19
|
+
export declare const GROUP_DISPLAY: Readonly<Record<QueueGroup, string>>;
|
|
20
|
+
/** Framework default for plan.policy.triageRankingLabels[] (empty). */
|
|
21
|
+
export declare const DEFAULT_TRIAGE_RANKING_LABELS: readonly string[];
|
|
22
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** Filesystem-relative location of the unified cache root (#883 Story 2). */
|
|
2
|
+
export const CACHE_DIR_NAME = ".deft-cache";
|
|
3
|
+
/** Cache source layer for upstream GitHub issues. */
|
|
4
|
+
export const CACHE_SOURCE_GITHUB_ISSUE = "github-issue";
|
|
5
|
+
/** Env var honoured for repo inference when `--repo` is absent (#1238). */
|
|
6
|
+
export const ENV_TRIAGE_REPO = "DEFT_TRIAGE_REPO";
|
|
7
|
+
/** PROJECT-DEFINITION vBRIEF location for typed-policy lookup. */
|
|
8
|
+
export const PROJECT_DEFINITION_REL_PATH = "vbrief/PROJECT-DEFINITION.vbrief.json";
|
|
9
|
+
/** Default queue limit when `--limit` is omitted on the CLI surface. */
|
|
10
|
+
export const DEFAULT_QUEUE_LIMIT = 25;
|
|
11
|
+
/** Default audit log path relative to the deft framework root (candidates_log.REPO_ROOT). */
|
|
12
|
+
export const DEFAULT_AUDIT_LOG_REL_PATH = "vbrief/.eval/candidates.jsonl";
|
|
13
|
+
/** Default slices log path relative to project root. */
|
|
14
|
+
export const DEFAULT_SLICES_LOG_REL_PATH = "vbrief/.eval/slices.jsonl";
|
|
15
|
+
/** Group display order (#1128 / D13 / #1286). */
|
|
16
|
+
export const GROUP_ORDER = ["ORPHAN", "RESUME", "URGENT", "untriaged", "other", "BLOCKED"];
|
|
17
|
+
/** Display labels per group (left-of-issue marker). */
|
|
18
|
+
export const GROUP_DISPLAY = {
|
|
19
|
+
ORPHAN: "[ORPHAN] ",
|
|
20
|
+
RESUME: "[RESUME] ",
|
|
21
|
+
URGENT: "[URGENT] ",
|
|
22
|
+
untriaged: "[untriaged] ",
|
|
23
|
+
other: "[other] ",
|
|
24
|
+
BLOCKED: "[BLOCKED] ",
|
|
25
|
+
};
|
|
26
|
+
/** Framework default for plan.policy.triageRankingLabels[] (empty). */
|
|
27
|
+
export const DEFAULT_TRIAGE_RANKING_LABELS = [];
|
|
28
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { QueueGroup } from "./constants.js";
|
|
2
|
+
/**
|
|
3
|
+
* Map (latestDecision, inActiveVbrief) to a group bucket.
|
|
4
|
+
* Mirrors scripts/triage_queue.py::derive_group.
|
|
5
|
+
*/
|
|
6
|
+
export declare function deriveGroup(latestDecision: string | null | undefined, inActiveVbrief: boolean): QueueGroup;
|
|
7
|
+
//# sourceMappingURL=derive-group.d.ts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Map (latestDecision, inActiveVbrief) to a group bucket.
|
|
3
|
+
* Mirrors scripts/triage_queue.py::derive_group.
|
|
4
|
+
*/
|
|
5
|
+
export function deriveGroup(latestDecision, inActiveVbrief) {
|
|
6
|
+
if (inActiveVbrief) {
|
|
7
|
+
return "RESUME";
|
|
8
|
+
}
|
|
9
|
+
if (latestDecision === "resume-eligible") {
|
|
10
|
+
return "RESUME";
|
|
11
|
+
}
|
|
12
|
+
if (latestDecision === "needs-ac") {
|
|
13
|
+
return "URGENT";
|
|
14
|
+
}
|
|
15
|
+
if (latestDecision === null || latestDecision === undefined) {
|
|
16
|
+
return "untriaged";
|
|
17
|
+
}
|
|
18
|
+
return "other";
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=derive-group.js.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from "./audit.js";
|
|
2
|
+
export * from "./build-queue.js";
|
|
3
|
+
export * from "./cache.js";
|
|
4
|
+
export * from "./constants.js";
|
|
5
|
+
export * from "./derive-group.js";
|
|
6
|
+
export * from "./ranking-labels.js";
|
|
7
|
+
export * from "./render.js";
|
|
8
|
+
export * from "./repo.js";
|
|
9
|
+
export * from "./scope-walk.js";
|
|
10
|
+
export * from "./selection.js";
|
|
11
|
+
export * from "./types.js";
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from "./audit.js";
|
|
2
|
+
export * from "./build-queue.js";
|
|
3
|
+
export * from "./cache.js";
|
|
4
|
+
export * from "./constants.js";
|
|
5
|
+
export * from "./derive-group.js";
|
|
6
|
+
export * from "./ranking-labels.js";
|
|
7
|
+
export * from "./render.js";
|
|
8
|
+
export * from "./repo.js";
|
|
9
|
+
export * from "./scope-walk.js";
|
|
10
|
+
export * from "./selection.js";
|
|
11
|
+
export * from "./types.js";
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export interface ProjectDefinition {
|
|
2
|
+
readonly plan?: unknown;
|
|
3
|
+
}
|
|
4
|
+
/** Read vbrief/PROJECT-DEFINITION.vbrief.json. Returns null if absent/invalid. */
|
|
5
|
+
export declare function loadProjectDefinition(projectRoot: string): ProjectDefinition | null;
|
|
6
|
+
//# sourceMappingURL=project.d.ts.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { join, resolve } from "node:path";
|
|
3
|
+
import { PROJECT_DEFINITION_REL_PATH } from "./constants.js";
|
|
4
|
+
/** Read vbrief/PROJECT-DEFINITION.vbrief.json. Returns null if absent/invalid. */
|
|
5
|
+
export function loadProjectDefinition(projectRoot) {
|
|
6
|
+
const path = join(resolve(projectRoot), PROJECT_DEFINITION_REL_PATH);
|
|
7
|
+
if (!existsSync(path)) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
try {
|
|
11
|
+
const data = JSON.parse(readFileSync(path, { encoding: "utf8" }));
|
|
12
|
+
return typeof data === "object" && data !== null ? data : null;
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=project.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PROJECT_DEFINITION_REL_PATH } from "./constants.js";
|
|
2
|
+
/** Resolve effective plan.policy.triageRankingLabels list. */
|
|
3
|
+
export declare function resolveRankingLabels(projectRoot: string): readonly string[];
|
|
4
|
+
/** Validate plan.policy.triageRankingLabels payload. */
|
|
5
|
+
export declare function validateRankingLabels(value: unknown): {
|
|
6
|
+
readonly errors: readonly string[];
|
|
7
|
+
readonly warnings: readonly string[];
|
|
8
|
+
};
|
|
9
|
+
export { PROJECT_DEFINITION_REL_PATH };
|
|
10
|
+
//# sourceMappingURL=ranking-labels.d.ts.map
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { DEFAULT_TRIAGE_RANKING_LABELS, PROJECT_DEFINITION_REL_PATH } from "./constants.js";
|
|
2
|
+
import { loadProjectDefinition } from "./project.js";
|
|
3
|
+
/** Resolve effective plan.policy.triageRankingLabels list. */
|
|
4
|
+
export function resolveRankingLabels(projectRoot) {
|
|
5
|
+
const data = loadProjectDefinition(projectRoot);
|
|
6
|
+
if (data === null) {
|
|
7
|
+
return [...DEFAULT_TRIAGE_RANKING_LABELS];
|
|
8
|
+
}
|
|
9
|
+
const plan = data.plan;
|
|
10
|
+
if (typeof plan !== "object" || plan === null) {
|
|
11
|
+
return [...DEFAULT_TRIAGE_RANKING_LABELS];
|
|
12
|
+
}
|
|
13
|
+
const policy = plan.policy;
|
|
14
|
+
if (typeof policy !== "object" || policy === null) {
|
|
15
|
+
return [...DEFAULT_TRIAGE_RANKING_LABELS];
|
|
16
|
+
}
|
|
17
|
+
const value = policy.triageRankingLabels;
|
|
18
|
+
if (!Array.isArray(value) || value.length === 0) {
|
|
19
|
+
return [...DEFAULT_TRIAGE_RANKING_LABELS];
|
|
20
|
+
}
|
|
21
|
+
return value.filter((entry) => typeof entry === "string" && entry.length > 0);
|
|
22
|
+
}
|
|
23
|
+
/** Validate plan.policy.triageRankingLabels payload. */
|
|
24
|
+
export function validateRankingLabels(value) {
|
|
25
|
+
const errors = [];
|
|
26
|
+
const warnings = [];
|
|
27
|
+
if (value === null || value === undefined) {
|
|
28
|
+
return { errors, warnings };
|
|
29
|
+
}
|
|
30
|
+
if (!Array.isArray(value)) {
|
|
31
|
+
errors.push(`plan.policy.triageRankingLabels must be a list of strings; got ${typeof value}`);
|
|
32
|
+
return { errors, warnings };
|
|
33
|
+
}
|
|
34
|
+
const seen = new Set();
|
|
35
|
+
for (let i = 0; i < value.length; i += 1) {
|
|
36
|
+
const entry = value[i];
|
|
37
|
+
const prefix = `plan.policy.triageRankingLabels[${i}]`;
|
|
38
|
+
if (typeof entry !== "string") {
|
|
39
|
+
errors.push(`${prefix} must be a string, got ${typeof entry}`);
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
if (entry.trim().length === 0) {
|
|
43
|
+
errors.push(`${prefix} must be a non-empty string`);
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
if (seen.has(entry)) {
|
|
47
|
+
warnings.push(`${prefix} duplicate label '${entry}'; only the first occurrence ranks`);
|
|
48
|
+
}
|
|
49
|
+
seen.add(entry);
|
|
50
|
+
}
|
|
51
|
+
return { errors, warnings };
|
|
52
|
+
}
|
|
53
|
+
export { PROJECT_DEFINITION_REL_PATH };
|
|
54
|
+
//# sourceMappingURL=ranking-labels.js.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { QueueItem } from "./types.js";
|
|
2
|
+
/** Pretty-print the ranked queue. Mirrors scripts/triage_queue.py::render_queue. */
|
|
3
|
+
export declare function renderQueue(options: {
|
|
4
|
+
readonly items: readonly QueueItem[];
|
|
5
|
+
readonly repo: string;
|
|
6
|
+
readonly limit?: number | null;
|
|
7
|
+
readonly rankingLabels?: readonly string[];
|
|
8
|
+
}): string;
|
|
9
|
+
//# sourceMappingURL=render.d.ts.map
|