@cleocode/core 2026.9.24 → 2026.9.25
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/audit-prune.d.ts +32 -0
- package/dist/audit-prune.d.ts.map +1 -1
- package/dist/audit-prune.js +37 -3
- package/dist/audit-prune.js.map +1 -1
- package/dist/build-provenance.json +2 -2
- package/dist/cloud/crypto.d.ts +1 -2
- package/dist/cloud/crypto.d.ts.map +1 -1
- package/dist/cloud/crypto.js +1 -11
- package/dist/cloud/crypto.js.map +1 -1
- package/dist/cloud/uuidv7.d.ts +9 -0
- package/dist/cloud/uuidv7.d.ts.map +1 -0
- package/dist/cloud/uuidv7.js +19 -0
- package/dist/cloud/uuidv7.js.map +1 -0
- package/dist/decide/bench/index.d.ts +1 -1
- package/dist/decide/bench/index.d.ts.map +1 -1
- package/dist/decide/bench/index.js +1 -1
- package/dist/decide/bench/index.js.map +1 -1
- package/dist/decide/bench/operation.d.ts +1 -1
- package/dist/decide/bench/operation.d.ts.map +1 -1
- package/dist/decide/bench/operation.js +1 -1
- package/dist/decide/bench/operation.js.map +1 -1
- package/dist/decide/bench/profiles.d.ts +50 -22
- package/dist/decide/bench/profiles.d.ts.map +1 -1
- package/dist/decide/bench/profiles.js +103 -59
- package/dist/decide/bench/profiles.js.map +1 -1
- package/dist/decide/bench/report.d.ts.map +1 -1
- package/dist/decide/bench/report.js +6 -1
- package/dist/decide/bench/report.js.map +1 -1
- package/dist/decide/bench/runner.d.ts +6 -1
- package/dist/decide/bench/runner.d.ts.map +1 -1
- package/dist/decide/bench/runner.js +1 -0
- package/dist/decide/bench/runner.js.map +1 -1
- package/dist/decide/client.d.ts.map +1 -1
- package/dist/decide/client.js +11 -5
- package/dist/decide/client.js.map +1 -1
- package/dist/decide/jev-wire.d.ts +31 -1
- package/dist/decide/jev-wire.d.ts.map +1 -1
- package/dist/decide/jev-wire.js +61 -7
- package/dist/decide/jev-wire.js.map +1 -1
- package/dist/docs/export-document.js +17181 -15536
- package/dist/docs/export-document.js.map +3 -3
- package/dist/doctor/orphan-ac-bindings.d.ts +64 -0
- package/dist/doctor/orphan-ac-bindings.d.ts.map +1 -0
- package/dist/doctor/orphan-ac-bindings.js +59 -0
- package/dist/doctor/orphan-ac-bindings.js.map +1 -0
- package/dist/doctor/projects.d.ts.map +1 -1
- package/dist/doctor/projects.js +43 -29
- package/dist/doctor/projects.js.map +1 -1
- package/dist/doctor/row-identity.d.ts +31 -0
- package/dist/doctor/row-identity.d.ts.map +1 -0
- package/dist/doctor/row-identity.js +93 -0
- package/dist/doctor/row-identity.js.map +1 -0
- package/dist/doctor/twin-collapse.d.ts +58 -2
- package/dist/doctor/twin-collapse.d.ts.map +1 -1
- package/dist/doctor/twin-collapse.js +212 -14
- package/dist/doctor/twin-collapse.js.map +1 -1
- package/dist/lifecycle/verification/satisfies-validator.d.ts.map +1 -1
- package/dist/lifecycle/verification/satisfies-validator.js +10 -0
- package/dist/lifecycle/verification/satisfies-validator.js.map +1 -1
- package/dist/llm/plugin-facade.js +17045 -15400
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +19 -10
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/manifest-identity.d.ts +171 -0
- package/dist/memory/manifest-identity.d.ts.map +1 -0
- package/dist/memory/manifest-identity.js +345 -0
- package/dist/memory/manifest-identity.js.map +1 -0
- package/dist/memory/mental-model-queue.d.ts +14 -4
- package/dist/memory/mental-model-queue.d.ts.map +1 -1
- package/dist/memory/mental-model-queue.js +64 -35
- package/dist/memory/mental-model-queue.js.map +1 -1
- package/dist/memory/pipeline-manifest-sqlite.d.ts +47 -5
- package/dist/memory/pipeline-manifest-sqlite.d.ts.map +1 -1
- package/dist/memory/pipeline-manifest-sqlite.js +130 -14
- package/dist/memory/pipeline-manifest-sqlite.js.map +1 -1
- package/dist/memory/retrieval/observe.d.ts.map +1 -1
- package/dist/memory/retrieval/observe.js +2 -0
- package/dist/memory/retrieval/observe.js.map +1 -1
- package/dist/memory/transcript-scanner.js +1 -1
- package/dist/nexus/deps.d.ts.map +1 -1
- package/dist/nexus/deps.js +7 -14
- package/dist/nexus/deps.js.map +1 -1
- package/dist/nexus/discover.d.ts.map +1 -1
- package/dist/nexus/discover.js +6 -9
- package/dist/nexus/discover.js.map +1 -1
- package/dist/nexus/git-state.d.ts.map +1 -1
- package/dist/nexus/git-state.js +10 -1
- package/dist/nexus/git-state.js.map +1 -1
- package/dist/nexus/projects-clean.d.ts.map +1 -1
- package/dist/nexus/projects-clean.js +22 -11
- package/dist/nexus/projects-clean.js.map +1 -1
- package/dist/nexus/projects-scan.d.ts.map +1 -1
- package/dist/nexus/projects-scan.js +8 -13
- package/dist/nexus/projects-scan.js.map +1 -1
- package/dist/nexus/query.d.ts.map +1 -1
- package/dist/nexus/query.js +4 -12
- package/dist/nexus/query.js.map +1 -1
- package/dist/nexus/registry-roots.d.ts +5 -2
- package/dist/nexus/registry-roots.d.ts.map +1 -1
- package/dist/nexus/registry-roots.js +8 -10
- package/dist/nexus/registry-roots.js.map +1 -1
- package/dist/nexus/registry.d.ts +18 -0
- package/dist/nexus/registry.d.ts.map +1 -1
- package/dist/nexus/registry.js +37 -16
- package/dist/nexus/registry.js.map +1 -1
- package/dist/orchestrate/worktree-complete.d.ts.map +1 -1
- package/dist/orchestrate/worktree-complete.js +40 -2
- package/dist/orchestrate/worktree-complete.js.map +1 -1
- package/dist/orchestration/spawn-prompt.d.ts +26 -0
- package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
- package/dist/orchestration/spawn-prompt.js +62 -91
- package/dist/orchestration/spawn-prompt.js.map +1 -1
- package/dist/release/ci-evidence.d.ts +190 -0
- package/dist/release/ci-evidence.d.ts.map +1 -1
- package/dist/release/ci-evidence.js +436 -4
- package/dist/release/ci-evidence.js.map +1 -1
- package/dist/sdk/validator-ac-pull.d.ts.map +1 -1
- package/dist/sdk/validator-ac-pull.js +2 -1
- package/dist/sdk/validator-ac-pull.js.map +1 -1
- package/dist/selfimprove/fix-gen.js +17049 -15404
- package/dist/selfimprove/fix-gen.js.map +3 -3
- package/dist/sentient/cross-project-hygiene.d.ts +5 -0
- package/dist/sentient/cross-project-hygiene.d.ts.map +1 -1
- package/dist/sentient/cross-project-hygiene.js +7 -1
- package/dist/sentient/cross-project-hygiene.js.map +1 -1
- package/dist/sentient/propose-tick.d.ts.map +1 -1
- package/dist/sentient/propose-tick.js +2 -3
- package/dist/sentient/propose-tick.js.map +1 -1
- package/dist/sentient/stage-drift-tick.d.ts.map +1 -1
- package/dist/sentient/stage-drift-tick.js +2 -3
- package/dist/sentient/stage-drift-tick.js.map +1 -1
- package/dist/skills/manifests/research.js +2 -0
- package/dist/skills/manifests/research.js.map +1 -1
- package/dist/skills/orchestrator/validator.d.ts.map +1 -1
- package/dist/skills/orchestrator/validator.js +9 -2
- package/dist/skills/orchestrator/validator.js.map +1 -1
- package/dist/skills/validation.d.ts +4 -1
- package/dist/skills/validation.d.ts.map +1 -1
- package/dist/skills/validation.js +11 -3
- package/dist/skills/validation.js.map +1 -1
- package/dist/spawn/branch-lock.d.ts +111 -7
- package/dist/spawn/branch-lock.d.ts.map +1 -1
- package/dist/spawn/branch-lock.js +296 -8
- package/dist/spawn/branch-lock.js.map +1 -1
- package/dist/store/ac-binding-prune.d.ts +144 -0
- package/dist/store/ac-binding-prune.d.ts.map +1 -0
- package/dist/store/ac-binding-prune.js +293 -0
- package/dist/store/ac-binding-prune.js.map +1 -0
- package/dist/store/agent-registry-store.d.ts.map +1 -1
- package/dist/store/agent-registry-store.js +3 -2
- package/dist/store/agent-registry-store.js.map +1 -1
- package/dist/store/backup-sidecar.d.ts +85 -2
- package/dist/store/backup-sidecar.d.ts.map +1 -1
- package/dist/store/backup-sidecar.js +173 -1
- package/dist/store/backup-sidecar.js.map +1 -1
- package/dist/store/conduit-sqlite.d.ts.map +1 -1
- package/dist/store/conduit-sqlite.js +3 -2
- package/dist/store/conduit-sqlite.js.map +1 -1
- package/dist/store/credential-transfer.d.ts.map +1 -1
- package/dist/store/credential-transfer.js +3 -0
- package/dist/store/credential-transfer.js.map +1 -1
- package/dist/store/db-helpers.d.ts +17 -11
- package/dist/store/db-helpers.d.ts.map +1 -1
- package/dist/store/db-helpers.js +61 -38
- package/dist/store/db-helpers.js.map +1 -1
- package/dist/store/display-id-alias.d.ts +529 -0
- package/dist/store/display-id-alias.d.ts.map +1 -0
- package/dist/store/display-id-alias.js +1063 -0
- package/dist/store/display-id-alias.js.map +1 -0
- package/dist/store/dual-scope-db.d.ts.map +1 -1
- package/dist/store/dual-scope-db.js +21 -0
- package/dist/store/dual-scope-db.js.map +1 -1
- package/dist/store/exodus/reconcile.d.ts.map +1 -1
- package/dist/store/exodus/reconcile.js +7 -2
- package/dist/store/exodus/reconcile.js.map +1 -1
- package/dist/store/exodus/recovery.d.ts.map +1 -1
- package/dist/store/exodus/recovery.js +20 -1
- package/dist/store/exodus/recovery.js.map +1 -1
- package/dist/store/legacy-tasks-lineage.d.ts.map +1 -1
- package/dist/store/legacy-tasks-lineage.js +19 -2
- package/dist/store/legacy-tasks-lineage.js.map +1 -1
- package/dist/store/row-identity-flag.d.ts +26 -0
- package/dist/store/row-identity-flag.d.ts.map +1 -0
- package/dist/store/row-identity-flag.js +31 -0
- package/dist/store/row-identity-flag.js.map +1 -0
- package/dist/store/row-identity-registry.d.ts +61 -0
- package/dist/store/row-identity-registry.d.ts.map +1 -0
- package/dist/store/row-identity-registry.js +198 -0
- package/dist/store/row-identity-registry.js.map +1 -0
- package/dist/store/row-identity.d.ts +390 -0
- package/dist/store/row-identity.d.ts.map +1 -0
- package/dist/store/row-identity.js +1240 -0
- package/dist/store/row-identity.js.map +1 -0
- package/dist/store/safety-data-accessor.d.ts +2 -0
- package/dist/store/safety-data-accessor.d.ts.map +1 -1
- package/dist/store/safety-data-accessor.js +4 -0
- package/dist/store/safety-data-accessor.js.map +1 -1
- package/dist/store/schema/attachments.d.ts +1 -1
- package/dist/store/schema/audit.d.ts +4 -4
- package/dist/store/schema/background-jobs.d.ts +1 -1
- package/dist/store/schema/cleo-global/nexus.d.ts +1 -1
- package/dist/store/schema/cleo-global/skills.d.ts +2 -2
- package/dist/store/schema/cleo-project/audit.d.ts +4 -4
- package/dist/store/schema/cleo-project/docs.d.ts +1 -1
- package/dist/store/schema/cleo-project/lifecycle.d.ts +4 -4
- package/dist/store/schema/cleo-project/nexus-graph.d.ts +3 -3
- package/dist/store/schema/cleo-project/provenance-commits.d.ts +2 -2
- package/dist/store/schema/cleo-project/provenance-rest.d.ts +3 -3
- package/dist/store/schema/cleo-project/runtime.d.ts +3 -3
- package/dist/store/schema/cleo-project/tasks-core-batch2.d.ts +87 -1
- package/dist/store/schema/cleo-project/tasks-core-batch2.d.ts.map +1 -1
- package/dist/store/schema/cleo-project/tasks-core-batch2.js +35 -0
- package/dist/store/schema/cleo-project/tasks-core-batch2.js.map +1 -1
- package/dist/store/schema/cleo-project/tasks-core.d.ts +183 -7
- package/dist/store/schema/cleo-project/tasks-core.d.ts.map +1 -1
- package/dist/store/schema/cleo-project/tasks-core.js +52 -1
- package/dist/store/schema/cleo-project/tasks-core.js.map +1 -1
- package/dist/store/schema/cleo-shared/brain.d.ts +6 -6
- package/dist/store/schema/lifecycle.d.ts +4 -4
- package/dist/store/schema/manifest.d.ts +1 -1
- package/dist/store/schema/memory-schema.d.ts +5 -5
- package/dist/store/schema/nexus-schema.d.ts +3 -3
- package/dist/store/schema/provenance/releases.d.ts +1 -1
- package/dist/store/schema/skills-schema.d.ts +2 -2
- package/dist/store/schema/tasks.d.ts +6 -6
- package/dist/store/split-brain-import.d.ts +2 -14
- package/dist/store/split-brain-import.d.ts.map +1 -1
- package/dist/store/split-brain-import.js +4 -19
- package/dist/store/split-brain-import.js.map +1 -1
- package/dist/store/sqlite-data-accessor.d.ts +279 -2
- package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
- package/dist/store/sqlite-data-accessor.js +544 -44
- package/dist/store/sqlite-data-accessor.js.map +1 -1
- package/dist/store/sync/clock-store.d.ts +67 -0
- package/dist/store/sync/clock-store.d.ts.map +1 -0
- package/dist/store/sync/clock-store.js +117 -0
- package/dist/store/sync/clock-store.js.map +1 -0
- package/dist/store/sync/flags.d.ts +51 -0
- package/dist/store/sync/flags.d.ts.map +1 -0
- package/dist/store/sync/flags.js +81 -0
- package/dist/store/sync/flags.js.map +1 -0
- package/dist/store/sync/hlc.d.ts +115 -0
- package/dist/store/sync/hlc.d.ts.map +1 -0
- package/dist/store/sync/hlc.js +172 -0
- package/dist/store/sync/hlc.js.map +1 -0
- package/dist/store/sync/index.d.ts +20 -0
- package/dist/store/sync/index.d.ts.map +1 -0
- package/dist/store/sync/index.js +20 -0
- package/dist/store/sync/index.js.map +1 -0
- package/dist/store/sync/replica-registry.d.ts +85 -0
- package/dist/store/sync/replica-registry.d.ts.map +1 -0
- package/dist/store/sync/replica-registry.js +147 -0
- package/dist/store/sync/replica-registry.js.map +1 -0
- package/dist/store/sync/replica.d.ts +181 -0
- package/dist/store/sync/replica.d.ts.map +1 -0
- package/dist/store/sync/replica.js +305 -0
- package/dist/store/sync/replica.js.map +1 -0
- package/dist/store/sync/schema.d.ts +68 -0
- package/dist/store/sync/schema.d.ts.map +1 -0
- package/dist/store/sync/schema.js +130 -0
- package/dist/store/sync/schema.js.map +1 -0
- package/dist/store/sync/skew-hold.d.ts +71 -0
- package/dist/store/sync/skew-hold.d.ts.map +1 -0
- package/dist/store/sync/skew-hold.js +89 -0
- package/dist/store/sync/skew-hold.js.map +1 -0
- package/dist/store/table-classification.d.ts +10 -8
- package/dist/store/table-classification.d.ts.map +1 -1
- package/dist/store/table-classification.js +93 -25
- package/dist/store/table-classification.js.map +1 -1
- package/dist/store/tasks-sqlite.d.ts.map +1 -1
- package/dist/store/tasks-sqlite.js +9 -1
- package/dist/store/tasks-sqlite.js.map +1 -1
- package/dist/store/twin-collapse.d.ts +113 -2
- package/dist/store/twin-collapse.d.ts.map +1 -1
- package/dist/store/twin-collapse.js +247 -19
- package/dist/store/twin-collapse.js.map +1 -1
- package/dist/store/umbrella-data-accessor.d.ts +2 -0
- package/dist/store/umbrella-data-accessor.d.ts.map +1 -1
- package/dist/store/umbrella-data-accessor.js +4 -0
- package/dist/store/umbrella-data-accessor.js.map +1 -1
- package/dist/store/validation-schemas.d.ts +241 -49
- package/dist/store/validation-schemas.d.ts.map +1 -1
- package/dist/system/health.d.ts.map +1 -1
- package/dist/system/health.js +3 -0
- package/dist/system/health.js.map +1 -1
- package/dist/system/project-health.d.ts +9 -2
- package/dist/system/project-health.d.ts.map +1 -1
- package/dist/system/project-health.js +8 -3
- package/dist/system/project-health.js.map +1 -1
- package/dist/tasks/ac-coverage-gate.d.ts.map +1 -1
- package/dist/tasks/ac-coverage-gate.js +3 -0
- package/dist/tasks/ac-coverage-gate.js.map +1 -1
- package/dist/tasks/ac-table.d.ts +35 -7
- package/dist/tasks/ac-table.d.ts.map +1 -1
- package/dist/tasks/ac-table.js +119 -14
- package/dist/tasks/ac-table.js.map +1 -1
- package/dist/tasks/add.d.ts.map +1 -1
- package/dist/tasks/add.js +48 -2
- package/dist/tasks/add.js.map +1 -1
- package/dist/tasks/backfill-child-projections.js +47 -6
- package/dist/tasks/backfill-child-projections.js.map +1 -1
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +6 -1
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/completion-evaluation.d.ts.map +1 -1
- package/dist/tasks/completion-evaluation.js +3 -0
- package/dist/tasks/completion-evaluation.js.map +1 -1
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +14 -3
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/validation/compliance.d.ts +5 -1
- package/dist/validation/compliance.d.ts.map +1 -1
- package/dist/validation/compliance.js +24 -3
- package/dist/validation/compliance.js.map +1 -1
- package/dist/validation/index.d.ts +1 -1
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +1 -1
- package/dist/validation/index.js.map +1 -1
- package/dist/validation/protocol-common.d.ts +47 -2
- package/dist/validation/protocol-common.d.ts.map +1 -1
- package/dist/validation/protocol-common.js +86 -21
- package/dist/validation/protocol-common.js.map +1 -1
- package/migrations/README.md +12 -0
- package/migrations/drizzle-cleo-project/20260928120000_t12341-row-uids/migration.sql +169 -0
- package/migrations/sync-journal/20260929140000_t12342-sync-clock/migration.sql +42 -0
- package/package.json +13 -13
- package/templates/CLEO-REFERENCE.md +4 -0
|
@@ -167,6 +167,100 @@ export declare function pruneWorktree(taskId: string, projectRoot: string, opts?
|
|
|
167
167
|
* @adr ADR-062
|
|
168
168
|
*/
|
|
169
169
|
export declare function getDefaultBranch(projectRoot: string): string;
|
|
170
|
+
/**
|
|
171
|
+
* Verdict of {@link assessUpstreamIntegration}.
|
|
172
|
+
*
|
|
173
|
+
* - `landed` — the task branch is already on the upstream default branch
|
|
174
|
+
* (ancestor of it, or its changes are fully contained in it). No local
|
|
175
|
+
* merge may run.
|
|
176
|
+
* - `nothing` — the task branch has no commits beyond the local default
|
|
177
|
+
* branch (e.g. a worktree that was never committed to). There is nothing to
|
|
178
|
+
* integrate, and it is NOT reported as landed upstream.
|
|
179
|
+
* - `stale-target` — the local default branch is behind the upstream default
|
|
180
|
+
* branch (possibly also ahead of it — diverged); a merge there would fork it
|
|
181
|
+
* from upstream. No local merge may run.
|
|
182
|
+
* - `proceed` — no upstream to compare against, or the local default branch is
|
|
183
|
+
* current; the ADR-062 local `--no-ff` integration may run.
|
|
184
|
+
*
|
|
185
|
+
* @task T12773
|
|
186
|
+
*/
|
|
187
|
+
export type UpstreamIntegrationKind = 'landed' | 'nothing' | 'stale-target' | 'proceed';
|
|
188
|
+
/**
|
|
189
|
+
* Result of {@link assessUpstreamIntegration}.
|
|
190
|
+
*
|
|
191
|
+
* @task T12773
|
|
192
|
+
*/
|
|
193
|
+
export interface UpstreamIntegrationAssessment {
|
|
194
|
+
/** What the caller may do next. */
|
|
195
|
+
kind: UpstreamIntegrationKind;
|
|
196
|
+
/** Remote-tracking ref compared against (e.g. `refs/remotes/origin/main`), or null. */
|
|
197
|
+
upstreamRef: string | null;
|
|
198
|
+
/**
|
|
199
|
+
* True when this assessment ran `git fetch <remote> <targetBranch>` (whether
|
|
200
|
+
* or not it succeeded), so a later integration step need not fetch again.
|
|
201
|
+
*/
|
|
202
|
+
fetched: boolean;
|
|
203
|
+
/** Commits on the upstream ref missing from the local default branch. */
|
|
204
|
+
behind: number;
|
|
205
|
+
/** Commits on the local default branch missing from the upstream ref. */
|
|
206
|
+
ahead: number;
|
|
207
|
+
/**
|
|
208
|
+
* Exact shell command that syncs the local default branch with upstream,
|
|
209
|
+
* or empty when no sync is needed. NEVER run by CLEO — the operator's
|
|
210
|
+
* checkout is never moved (hint-only policy).
|
|
211
|
+
*/
|
|
212
|
+
syncCommand: string;
|
|
213
|
+
/** Operator-facing explanation / next step (empty for `proceed`). */
|
|
214
|
+
hint: string;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Default timeout for the upstream `git fetch` in
|
|
218
|
+
* {@link assessUpstreamIntegration}. Short on purpose: the fetch is
|
|
219
|
+
* best-effort, and a hung network or credential prompt must never stall
|
|
220
|
+
* `cleo done` for the 180s generic git timeout.
|
|
221
|
+
*
|
|
222
|
+
* @task T12773
|
|
223
|
+
*/
|
|
224
|
+
export declare const UPSTREAM_FETCH_TIMEOUT_MS = 20000;
|
|
225
|
+
/**
|
|
226
|
+
* Decide whether a local ADR-062 `--no-ff` integration of `branch` into
|
|
227
|
+
* `targetBranch` is safe, by comparing against the upstream default branch
|
|
228
|
+
* (`<remote>/<targetBranch>`).
|
|
229
|
+
*
|
|
230
|
+
* T12773: `cleo done --pr <n>` for a task whose PR had already merged on
|
|
231
|
+
* origin ran `git merge --no-ff task/<id>` into a local `main` that was 199
|
|
232
|
+
* commits behind origin, creating a local merge commit that forked `main`
|
|
233
|
+
* from `origin/main`. This check runs BEFORE any checkout or merge:
|
|
234
|
+
*
|
|
235
|
+
* - branch has no commits beyond the local default branch → `nothing`.
|
|
236
|
+
* - branch already on upstream → `landed`; when the local default branch is
|
|
237
|
+
* behind, the hint names the exact sync command. The checkout is never
|
|
238
|
+
* moved (hint-only).
|
|
239
|
+
* - local default branch behind upstream → `stale-target`; a distinct hint
|
|
240
|
+
* when it is also ahead (diverged: unpushed local commits).
|
|
241
|
+
* - otherwise (no remote, no upstream ref, current target) → `proceed`.
|
|
242
|
+
*
|
|
243
|
+
* The fetch is best-effort, non-interactive (`GIT_TERMINAL_PROMPT=0`, ssh
|
|
244
|
+
* `BatchMode`) and bounded by {@link UPSTREAM_FETCH_TIMEOUT_MS}; offline, the
|
|
245
|
+
* last-known remote-tracking ref is used. Never creates a commit and never
|
|
246
|
+
* moves any ref other than the remote-tracking one the fetch updates.
|
|
247
|
+
*
|
|
248
|
+
* @param gitRoot - Absolute git root of the project checkout.
|
|
249
|
+
* @param branch - Task branch (e.g. `task/T123`).
|
|
250
|
+
* @param targetBranch - Resolved default branch (e.g. `main`).
|
|
251
|
+
* @param opts.skipFetch - Skip `git fetch <remote> <targetBranch>` (fixtures).
|
|
252
|
+
* @param opts.remote - Remote name (default `origin`).
|
|
253
|
+
* @param opts.fetchTimeoutMs - Fetch timeout (default {@link UPSTREAM_FETCH_TIMEOUT_MS}).
|
|
254
|
+
* @returns The assessment.
|
|
255
|
+
*
|
|
256
|
+
* @task T12773
|
|
257
|
+
* @adr ADR-062
|
|
258
|
+
*/
|
|
259
|
+
export declare function assessUpstreamIntegration(gitRoot: string, branch: string, targetBranch: string, opts?: {
|
|
260
|
+
skipFetch?: boolean;
|
|
261
|
+
remote?: string;
|
|
262
|
+
fetchTimeoutMs?: number;
|
|
263
|
+
}): UpstreamIntegrationAssessment;
|
|
170
264
|
/**
|
|
171
265
|
* Complete a worker task's worktree via `git merge --no-ff` (ADR-062).
|
|
172
266
|
*
|
|
@@ -179,12 +273,19 @@ export declare function getDefaultBranch(projectRoot: string): string;
|
|
|
179
273
|
*
|
|
180
274
|
* 1. Resolve target branch via {@link getDefaultBranch} (or `opts.targetBranch`
|
|
181
275
|
* override). NEVER hardcodes "main".
|
|
182
|
-
*
|
|
183
|
-
*
|
|
184
|
-
*
|
|
185
|
-
*
|
|
186
|
-
*
|
|
187
|
-
*
|
|
276
|
+
* 1a. T12773: {@link assessUpstreamIntegration} — when `task/<id>` already
|
|
277
|
+
* landed on `origin/<targetBranch>` the merge is skipped
|
|
278
|
+
* (`landedUpstream: true`); when it has no commits beyond the local
|
|
279
|
+
* target it is `nothingToIntegrate` without `landedUpstream`; when the
|
|
280
|
+
* local target is behind (or diverged from) origin the merge is refused
|
|
281
|
+
* (`staleTarget: true`) with a `hint`. None of these paths creates a
|
|
282
|
+
* commit or moves the operator's checkout — syncing is hint-only.
|
|
283
|
+
* 2. Optionally `git fetch` (skipped when step 1a already fetched), then
|
|
284
|
+
* `git checkout <targetBranch>` in the project's git root. The task
|
|
285
|
+
* branch is NOT rebased — agent SHAs are preserved.
|
|
286
|
+
* 3. Run `git merge --no-ff task/<taskId> -m "<taskId>: <title> (worktree
|
|
287
|
+
* merge)"`; a failed merge is aborted so the repo is left clean, and the
|
|
288
|
+
* worktree is preserved.
|
|
188
289
|
* 4. Capture the merge commit SHA and report it.
|
|
189
290
|
* 5. Delegate worktree+branch removal to {@link pruneWorktree} (T1462).
|
|
190
291
|
*
|
|
@@ -195,7 +296,9 @@ export declare function getDefaultBranch(projectRoot: string): string;
|
|
|
195
296
|
* @param projectRoot - Absolute path to the project root.
|
|
196
297
|
* @param opts.targetBranch - Override the resolved default branch.
|
|
197
298
|
* @param opts.taskTitle - Task title used in the merge commit message subject.
|
|
198
|
-
* @param opts.skipFetch - Skip
|
|
299
|
+
* @param opts.skipFetch - Skip every `git fetch` (test fixtures).
|
|
300
|
+
* @param opts.fetchTimeoutMs - Timeout for the upstream fetch (default
|
|
301
|
+
* {@link UPSTREAM_FETCH_TIMEOUT_MS}).
|
|
199
302
|
* @returns Merge integration result.
|
|
200
303
|
*
|
|
201
304
|
* @task T1587
|
|
@@ -205,6 +308,7 @@ export declare function completeAgentWorktreeViaMerge(taskId: string, projectRoo
|
|
|
205
308
|
targetBranch?: string;
|
|
206
309
|
taskTitle?: string;
|
|
207
310
|
skipFetch?: boolean;
|
|
311
|
+
fetchTimeoutMs?: number;
|
|
208
312
|
}): WorktreeMergeResult;
|
|
209
313
|
/**
|
|
210
314
|
* Result of a complete post-merge worktree integration.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-lock.d.ts","sourceRoot":"","sources":["../../src/spawn/branch-lock.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;GAmBG;AAgBH,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAc7B,OAAO,EAEL,UAAU,EAOX,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,UAAU,EAAE,CAAC;AAMtB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAGpE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,kBAAkB,CAqE3F;AAeD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GACpE,mBAAmB,CA+CrB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACpB,qBAAqB,CASvB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,uFAAuF;IACvF,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IACvC,kDAAkD;IAClD,eAAe,EAAE,OAAO,CAAC;IACzB,2CAA2C;IAC3C,aAAa,EAAE,OAAO,CAAC;IACvB,4EAA4E;IAC5E,QAAQ,EAAE,OAAO,CAAC;IAClB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAwBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GACnC,mBAAmB,CAkJrB;AAiBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA4C5D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE;IACJ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"branch-lock.d.ts","sourceRoot":"","sources":["../../src/spawn/branch-lock.ts"],"names":[],"mappings":"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"}
|
|
@@ -514,6 +514,219 @@ export function getDefaultBranch(projectRoot) {
|
|
|
514
514
|
// (4) last-resort fallback.
|
|
515
515
|
return 'main';
|
|
516
516
|
}
|
|
517
|
+
/**
|
|
518
|
+
* Default timeout for the upstream `git fetch` in
|
|
519
|
+
* {@link assessUpstreamIntegration}. Short on purpose: the fetch is
|
|
520
|
+
* best-effort, and a hung network or credential prompt must never stall
|
|
521
|
+
* `cleo done` for the 180s generic git timeout.
|
|
522
|
+
*
|
|
523
|
+
* @task T12773
|
|
524
|
+
*/
|
|
525
|
+
export const UPSTREAM_FETCH_TIMEOUT_MS = 20_000;
|
|
526
|
+
/**
|
|
527
|
+
* ssh options for the upstream fetch: batch mode (no prompt), a bounded
|
|
528
|
+
* connect, and keepalives so a stalled connection fails fast.
|
|
529
|
+
*/
|
|
530
|
+
const SSH_NON_INTERACTIVE_OPTS = '-oBatchMode=yes -oConnectTimeout=10 -oServerAliveInterval=5';
|
|
531
|
+
/**
|
|
532
|
+
* Environment for a non-interactive `git fetch`: no terminal credential
|
|
533
|
+
* prompt, and ssh with {@link SSH_NON_INTERACTIVE_OPTS} (an existing
|
|
534
|
+
* `GIT_SSH_COMMAND` is preserved with the options appended).
|
|
535
|
+
*/
|
|
536
|
+
function nonInteractiveGitEnv() {
|
|
537
|
+
const existingSsh = process.env['GIT_SSH_COMMAND']?.trim();
|
|
538
|
+
return {
|
|
539
|
+
...process.env,
|
|
540
|
+
GIT_TERMINAL_PROMPT: '0',
|
|
541
|
+
GIT_SSH_COMMAND: `${existingSsh || 'ssh'} ${SSH_NON_INTERACTIVE_OPTS}`,
|
|
542
|
+
};
|
|
543
|
+
}
|
|
544
|
+
/**
|
|
545
|
+
* Best-effort, bounded, non-interactive `git fetch <remote> <branch>`.
|
|
546
|
+
*
|
|
547
|
+
* @returns true when git exited 0; false on failure, offline, or timeout.
|
|
548
|
+
*/
|
|
549
|
+
function fetchUpstreamBranch(gitRoot, remote, branch, timeoutMs) {
|
|
550
|
+
try {
|
|
551
|
+
execFileSync('git', ['fetch', '--quiet', remote, branch], {
|
|
552
|
+
cwd: gitRoot,
|
|
553
|
+
// No pipes: a timed-out git's surviving ssh grandchild must not hold
|
|
554
|
+
// stdout/stderr open and keep this synchronous call waiting.
|
|
555
|
+
stdio: 'ignore',
|
|
556
|
+
timeout: timeoutMs,
|
|
557
|
+
// Known small window: a SIGKILL landing while git updates the
|
|
558
|
+
// remote-tracking ref can leave `refs/remotes/<remote>/<branch>.lock`
|
|
559
|
+
// behind, which makes the next fetch of that ref fail until the stale
|
|
560
|
+
// lock file is removed. SSH connect/keepalive bounds (above) make a
|
|
561
|
+
// timeout — and so this kill — rare.
|
|
562
|
+
killSignal: 'SIGKILL',
|
|
563
|
+
env: nonInteractiveGitEnv(),
|
|
564
|
+
});
|
|
565
|
+
return true;
|
|
566
|
+
}
|
|
567
|
+
catch {
|
|
568
|
+
return false;
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
/**
|
|
572
|
+
* `git rev-list --count <range>`, or 0 when git fails.
|
|
573
|
+
*/
|
|
574
|
+
function revListCount(gitRoot, range) {
|
|
575
|
+
try {
|
|
576
|
+
const n = Number.parseInt(gitSync(['rev-list', '--count', range], gitRoot), 10);
|
|
577
|
+
return Number.isFinite(n) ? n : 0;
|
|
578
|
+
}
|
|
579
|
+
catch {
|
|
580
|
+
return 0;
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
/**
|
|
584
|
+
* True when the worktree at `worktreePath` has uncommitted tracked or
|
|
585
|
+
* untracked changes. An unreadable status counts as dirty (never discard
|
|
586
|
+
* work on uncertainty).
|
|
587
|
+
*/
|
|
588
|
+
function isWorktreeDirty(worktreePath) {
|
|
589
|
+
try {
|
|
590
|
+
return gitSync(['status', '--porcelain'], worktreePath).length > 0;
|
|
591
|
+
}
|
|
592
|
+
catch {
|
|
593
|
+
return true;
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
/**
|
|
597
|
+
* True when merging `branch` into `upstreamRef` would leave the upstream tree
|
|
598
|
+
* unchanged — the branch's changes already landed (e.g. a squash-merged PR,
|
|
599
|
+
* whose commits are never ancestors of upstream). Uses `git merge-tree
|
|
600
|
+
* --write-tree`; older git or a conflict yields false.
|
|
601
|
+
*/
|
|
602
|
+
function branchChangesContainedIn(gitRoot, branch, upstreamRef) {
|
|
603
|
+
try {
|
|
604
|
+
const merged = gitSync(['merge-tree', '--write-tree', upstreamRef, branch], gitRoot)
|
|
605
|
+
.split('\n')[0]
|
|
606
|
+
?.trim();
|
|
607
|
+
const upstreamTree = gitSync(['rev-parse', `${upstreamRef}^{tree}`], gitRoot);
|
|
608
|
+
return merged !== undefined && merged.length > 0 && merged === upstreamTree;
|
|
609
|
+
}
|
|
610
|
+
catch {
|
|
611
|
+
return false;
|
|
612
|
+
}
|
|
613
|
+
}
|
|
614
|
+
/**
|
|
615
|
+
* Decide whether a local ADR-062 `--no-ff` integration of `branch` into
|
|
616
|
+
* `targetBranch` is safe, by comparing against the upstream default branch
|
|
617
|
+
* (`<remote>/<targetBranch>`).
|
|
618
|
+
*
|
|
619
|
+
* T12773: `cleo done --pr <n>` for a task whose PR had already merged on
|
|
620
|
+
* origin ran `git merge --no-ff task/<id>` into a local `main` that was 199
|
|
621
|
+
* commits behind origin, creating a local merge commit that forked `main`
|
|
622
|
+
* from `origin/main`. This check runs BEFORE any checkout or merge:
|
|
623
|
+
*
|
|
624
|
+
* - branch has no commits beyond the local default branch → `nothing`.
|
|
625
|
+
* - branch already on upstream → `landed`; when the local default branch is
|
|
626
|
+
* behind, the hint names the exact sync command. The checkout is never
|
|
627
|
+
* moved (hint-only).
|
|
628
|
+
* - local default branch behind upstream → `stale-target`; a distinct hint
|
|
629
|
+
* when it is also ahead (diverged: unpushed local commits).
|
|
630
|
+
* - otherwise (no remote, no upstream ref, current target) → `proceed`.
|
|
631
|
+
*
|
|
632
|
+
* The fetch is best-effort, non-interactive (`GIT_TERMINAL_PROMPT=0`, ssh
|
|
633
|
+
* `BatchMode`) and bounded by {@link UPSTREAM_FETCH_TIMEOUT_MS}; offline, the
|
|
634
|
+
* last-known remote-tracking ref is used. Never creates a commit and never
|
|
635
|
+
* moves any ref other than the remote-tracking one the fetch updates.
|
|
636
|
+
*
|
|
637
|
+
* @param gitRoot - Absolute git root of the project checkout.
|
|
638
|
+
* @param branch - Task branch (e.g. `task/T123`).
|
|
639
|
+
* @param targetBranch - Resolved default branch (e.g. `main`).
|
|
640
|
+
* @param opts.skipFetch - Skip `git fetch <remote> <targetBranch>` (fixtures).
|
|
641
|
+
* @param opts.remote - Remote name (default `origin`).
|
|
642
|
+
* @param opts.fetchTimeoutMs - Fetch timeout (default {@link UPSTREAM_FETCH_TIMEOUT_MS}).
|
|
643
|
+
* @returns The assessment.
|
|
644
|
+
*
|
|
645
|
+
* @task T12773
|
|
646
|
+
* @adr ADR-062
|
|
647
|
+
*/
|
|
648
|
+
export function assessUpstreamIntegration(gitRoot, branch, targetBranch, opts = {}) {
|
|
649
|
+
const remote = opts.remote ?? 'origin';
|
|
650
|
+
const proceed = {
|
|
651
|
+
kind: 'proceed',
|
|
652
|
+
upstreamRef: null,
|
|
653
|
+
fetched: false,
|
|
654
|
+
behind: 0,
|
|
655
|
+
ahead: 0,
|
|
656
|
+
syncCommand: '',
|
|
657
|
+
hint: '',
|
|
658
|
+
};
|
|
659
|
+
if (!gitSilent(['remote', 'get-url', remote], gitRoot))
|
|
660
|
+
return proceed;
|
|
661
|
+
const fetched = !opts.skipFetch;
|
|
662
|
+
if (fetched) {
|
|
663
|
+
// Best-effort: offline must not block an otherwise-local integration.
|
|
664
|
+
fetchUpstreamBranch(gitRoot, remote, targetBranch, opts.fetchTimeoutMs ?? UPSTREAM_FETCH_TIMEOUT_MS);
|
|
665
|
+
}
|
|
666
|
+
const upstreamRef = `refs/remotes/${remote}/${targetBranch}`;
|
|
667
|
+
const upstreamShort = `${remote}/${targetBranch}`;
|
|
668
|
+
if (!gitSilent(['rev-parse', '--verify', '--quiet', upstreamRef], gitRoot)) {
|
|
669
|
+
return { ...proceed, fetched };
|
|
670
|
+
}
|
|
671
|
+
const localRef = `refs/heads/${targetBranch}`;
|
|
672
|
+
const hasLocal = gitSilent(['rev-parse', '--verify', '--quiet', localRef], gitRoot);
|
|
673
|
+
const behind = hasLocal ? revListCount(gitRoot, `${localRef}..${upstreamRef}`) : 0;
|
|
674
|
+
const ahead = hasLocal ? revListCount(gitRoot, `${upstreamRef}..${localRef}`) : 0;
|
|
675
|
+
const base = { upstreamRef, fetched, behind, ahead };
|
|
676
|
+
// Single-quoted for the shell: macOS roots often contain spaces, and branch
|
|
677
|
+
// / remote names are operator-controlled.
|
|
678
|
+
const quotedRoot = shellQuote(gitRoot);
|
|
679
|
+
const quotedTarget = shellQuote(targetBranch);
|
|
680
|
+
const quotedUpstream = shellQuote(upstreamShort);
|
|
681
|
+
// Diverged (ahead AND behind): merge, never `pull --rebase` — a rebase
|
|
682
|
+
// would drop the local ADR-062 `--no-ff` task merge commits and rewrite
|
|
683
|
+
// agent SHAs. Behind only: fast-forward.
|
|
684
|
+
const syncCommand = behind === 0
|
|
685
|
+
? ''
|
|
686
|
+
: ahead > 0
|
|
687
|
+
? `git -C ${quotedRoot} switch ${quotedTarget} && git -C ${quotedRoot} merge ${quotedUpstream}`
|
|
688
|
+
: `git -C ${quotedRoot} switch ${quotedTarget} && git -C ${quotedRoot} merge --ff-only ${quotedUpstream}`;
|
|
689
|
+
const syncState = behind === 0
|
|
690
|
+
? ''
|
|
691
|
+
: ahead > 0
|
|
692
|
+
? `local '${targetBranch}' has ${ahead} unpushed commit(s) and is ${behind} behind ${upstreamShort}`
|
|
693
|
+
: `local '${targetBranch}' is ${behind} commit(s) behind ${upstreamShort}`;
|
|
694
|
+
// A branch with no commits beyond the local default branch has nothing to
|
|
695
|
+
// integrate — it trivially "is an ancestor of upstream", which must not be
|
|
696
|
+
// reported as a landed PR.
|
|
697
|
+
if (hasLocal && revListCount(gitRoot, `${localRef}..${branch}`) === 0) {
|
|
698
|
+
return {
|
|
699
|
+
...base,
|
|
700
|
+
kind: 'nothing',
|
|
701
|
+
syncCommand,
|
|
702
|
+
hint: `'${branch}' has no commits beyond local '${targetBranch}'; nothing to integrate.`,
|
|
703
|
+
};
|
|
704
|
+
}
|
|
705
|
+
const landed = gitSilent(['merge-base', '--is-ancestor', branch, upstreamRef], gitRoot) ||
|
|
706
|
+
branchChangesContainedIn(gitRoot, branch, upstreamRef);
|
|
707
|
+
if (landed) {
|
|
708
|
+
return {
|
|
709
|
+
...base,
|
|
710
|
+
kind: 'landed',
|
|
711
|
+
syncCommand,
|
|
712
|
+
hint: behind === 0
|
|
713
|
+
? `'${branch}' already landed on ${upstreamShort}; no local merge was made.`
|
|
714
|
+
: `'${branch}' already landed on ${upstreamShort}; no local merge was made and your checkout was not moved. ${syncState}; to sync it run: ${syncCommand}`,
|
|
715
|
+
};
|
|
716
|
+
}
|
|
717
|
+
if (behind > 0) {
|
|
718
|
+
const rerun = `re-run \`cleo orchestrate worktree-complete ${branch.replace(/^task\//, '')}\``;
|
|
719
|
+
return {
|
|
720
|
+
...base,
|
|
721
|
+
kind: 'stale-target',
|
|
722
|
+
syncCommand,
|
|
723
|
+
hint: ahead > 0
|
|
724
|
+
? `${syncState}: sync it with \`${syncCommand}\` (a merge, not a rebase, so the local --no-ff task merges keep their SHAs), then ${rerun}. A task merge now would fork '${targetBranch}' further from ${upstreamShort}; alternatively land '${branch}' through a PR.`
|
|
725
|
+
: `${syncState}, so a merge there would fork it from ${upstreamShort}. Land '${branch}' through a PR, or sync first (${syncCommand}) and ${rerun}.`,
|
|
726
|
+
};
|
|
727
|
+
}
|
|
728
|
+
return { ...proceed, ...base };
|
|
729
|
+
}
|
|
517
730
|
/**
|
|
518
731
|
* Complete a worker task's worktree via `git merge --no-ff` (ADR-062).
|
|
519
732
|
*
|
|
@@ -526,12 +739,19 @@ export function getDefaultBranch(projectRoot) {
|
|
|
526
739
|
*
|
|
527
740
|
* 1. Resolve target branch via {@link getDefaultBranch} (or `opts.targetBranch`
|
|
528
741
|
* override). NEVER hardcodes "main".
|
|
529
|
-
*
|
|
530
|
-
*
|
|
531
|
-
*
|
|
532
|
-
*
|
|
533
|
-
*
|
|
534
|
-
*
|
|
742
|
+
* 1a. T12773: {@link assessUpstreamIntegration} — when `task/<id>` already
|
|
743
|
+
* landed on `origin/<targetBranch>` the merge is skipped
|
|
744
|
+
* (`landedUpstream: true`); when it has no commits beyond the local
|
|
745
|
+
* target it is `nothingToIntegrate` without `landedUpstream`; when the
|
|
746
|
+
* local target is behind (or diverged from) origin the merge is refused
|
|
747
|
+
* (`staleTarget: true`) with a `hint`. None of these paths creates a
|
|
748
|
+
* commit or moves the operator's checkout — syncing is hint-only.
|
|
749
|
+
* 2. Optionally `git fetch` (skipped when step 1a already fetched), then
|
|
750
|
+
* `git checkout <targetBranch>` in the project's git root. The task
|
|
751
|
+
* branch is NOT rebased — agent SHAs are preserved.
|
|
752
|
+
* 3. Run `git merge --no-ff task/<taskId> -m "<taskId>: <title> (worktree
|
|
753
|
+
* merge)"`; a failed merge is aborted so the repo is left clean, and the
|
|
754
|
+
* worktree is preserved.
|
|
535
755
|
* 4. Capture the merge commit SHA and report it.
|
|
536
756
|
* 5. Delegate worktree+branch removal to {@link pruneWorktree} (T1462).
|
|
537
757
|
*
|
|
@@ -542,7 +762,9 @@ export function getDefaultBranch(projectRoot) {
|
|
|
542
762
|
* @param projectRoot - Absolute path to the project root.
|
|
543
763
|
* @param opts.targetBranch - Override the resolved default branch.
|
|
544
764
|
* @param opts.taskTitle - Task title used in the merge commit message subject.
|
|
545
|
-
* @param opts.skipFetch - Skip
|
|
765
|
+
* @param opts.skipFetch - Skip every `git fetch` (test fixtures).
|
|
766
|
+
* @param opts.fetchTimeoutMs - Timeout for the upstream fetch (default
|
|
767
|
+
* {@link UPSTREAM_FETCH_TIMEOUT_MS}).
|
|
546
768
|
* @returns Merge integration result.
|
|
547
769
|
*
|
|
548
770
|
* @task T1587
|
|
@@ -603,6 +825,70 @@ export function completeAgentWorktreeViaMerge(taskId, projectRoot, opts = {}) {
|
|
|
603
825
|
nothingToIntegrate: true,
|
|
604
826
|
};
|
|
605
827
|
}
|
|
828
|
+
// T12773 — never merge locally what already landed upstream, and never
|
|
829
|
+
// merge into a local default branch that is behind origin. Both produced a
|
|
830
|
+
// divergent local merge commit (`merge task/<id>: Merge made by the 'ort'
|
|
831
|
+
// strategy`) when `cleo done --pr <n>` ran from a stale checkout for a task
|
|
832
|
+
// whose PR had already merged on origin.
|
|
833
|
+
let upstreamFetched = false;
|
|
834
|
+
if (branchExists) {
|
|
835
|
+
const upstream = assessUpstreamIntegration(gitRoot, branch, targetBranch, {
|
|
836
|
+
skipFetch: opts.skipFetch ?? false,
|
|
837
|
+
fetchTimeoutMs: opts.fetchTimeoutMs,
|
|
838
|
+
});
|
|
839
|
+
upstreamFetched = upstream.fetched;
|
|
840
|
+
if (upstream.kind === 'landed' || upstream.kind === 'nothing') {
|
|
841
|
+
// The commits are safe on origin (or there are none); clean up the
|
|
842
|
+
// worktree unless it holds uncommitted work, which is left for the
|
|
843
|
+
// operator. The checkout itself is never moved (hint-only).
|
|
844
|
+
const dirty = existsSync(worktreePath) && isWorktreeDirty(worktreePath);
|
|
845
|
+
const pruneResult = dirty ? null : pruneWorktree(taskId, projectRoot);
|
|
846
|
+
let branchDeleted = pruneResult?.branchDeleted ?? false;
|
|
847
|
+
// pruneWorktree only deletes a branch with zero commits ahead of the
|
|
848
|
+
// checkout HEAD, so a stale local default branch, a squash merge, or a
|
|
849
|
+
// checkout on another branch would leave `task/<id>` behind forever.
|
|
850
|
+
// For a PROVEN-landed branch the content is on upstream, so delete it
|
|
851
|
+
// explicitly — but only once its (clean) worktree is gone.
|
|
852
|
+
if (upstream.kind === 'landed' &&
|
|
853
|
+
pruneResult !== null &&
|
|
854
|
+
!branchDeleted &&
|
|
855
|
+
!existsSync(worktreePath)) {
|
|
856
|
+
branchDeleted = gitSilent(['branch', '-D', branch], gitRoot);
|
|
857
|
+
}
|
|
858
|
+
return {
|
|
859
|
+
taskId,
|
|
860
|
+
targetBranch,
|
|
861
|
+
merged: false,
|
|
862
|
+
mergeCommit: '',
|
|
863
|
+
commitCount: 0,
|
|
864
|
+
rebased: false,
|
|
865
|
+
worktreeRemoved: pruneResult?.worktreeRemoved ?? false,
|
|
866
|
+
branchDeleted,
|
|
867
|
+
nothingToIntegrate: true,
|
|
868
|
+
...(upstream.kind === 'landed' ? { landedUpstream: true } : {}),
|
|
869
|
+
...(upstream.syncCommand ? { syncCommand: upstream.syncCommand } : {}),
|
|
870
|
+
hint: dirty
|
|
871
|
+
? `${upstream.hint} Worktree ${worktreePath} has uncommitted changes and was preserved.`
|
|
872
|
+
: upstream.hint,
|
|
873
|
+
};
|
|
874
|
+
}
|
|
875
|
+
if (upstream.kind === 'stale-target') {
|
|
876
|
+
return {
|
|
877
|
+
taskId,
|
|
878
|
+
targetBranch,
|
|
879
|
+
merged: false,
|
|
880
|
+
mergeCommit: '',
|
|
881
|
+
commitCount: 0,
|
|
882
|
+
rebased: false,
|
|
883
|
+
worktreeRemoved: false,
|
|
884
|
+
branchDeleted: false,
|
|
885
|
+
error: `refusing local merge of '${branch}' into '${targetBranch}': ${upstream.hint}`,
|
|
886
|
+
staleTarget: true,
|
|
887
|
+
syncCommand: upstream.syncCommand,
|
|
888
|
+
hint: upstream.hint,
|
|
889
|
+
};
|
|
890
|
+
}
|
|
891
|
+
}
|
|
606
892
|
// T11124: Delegate to Rust NAPI SSoT
|
|
607
893
|
const result = integrateWorktree({
|
|
608
894
|
repoRoot: gitRoot,
|
|
@@ -610,7 +896,9 @@ export function completeAgentWorktreeViaMerge(taskId, projectRoot, opts = {}) {
|
|
|
610
896
|
branch,
|
|
611
897
|
targetBranch,
|
|
612
898
|
taskTitle: opts.taskTitle,
|
|
613
|
-
|
|
899
|
+
// The upstream assessment already fetched (bounded + non-interactive);
|
|
900
|
+
// do not fetch a second time from Rust.
|
|
901
|
+
skipFetch: (opts.skipFetch ?? false) || upstreamFetched,
|
|
614
902
|
});
|
|
615
903
|
if (!result.merged) {
|
|
616
904
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-lock.js","sourceRoot":"","sources":["../../src/spawn/branch-lock.ts"],"names":[],"mappings":"AAAA,yGAAyG;AACzG;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,cAAc,EACd,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAUhE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC;AAEzB,8EAA8E;AAC9E,qCAAqC;AACrC,8EAA8E;AAE9E,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,SAAS,EACT,OAAO,EACP,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,4CAA4C;AAC5C,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,wBAAwB,CAAC,WAAmB;IAC1D,MAAM,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,0BAA0B,CAAC,WAAW,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,WAAmB;IACrE,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAC3D,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7C,MAAM,MAAM,GAAG,QAAQ,MAAM,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAEhD,4DAA4D;IAC5D,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,OAAO,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,sEAAsE;IACtE,sEAAsE;IACtE,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC3D,uBAAuB,CAAC;QACtB,WAAW,EAAE,kBAAkB;QAC/B,MAAM;QACN,MAAM,EAAE,sBAAsB,EAAE;KACjC,CAAC,CAAC;IACH,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,MAAM;YACN,MAAM;YACN,OAAO;YACP,WAAW,EAAE,kBAAkB;YAC/B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;IAED,yCAAyC;IACzC,OAAO,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,kFAAkF;IAE9J,yDAAyD;IACzD,2DAA2D;IAC3D,IACE,CAAC,SAAS,CACR;QACE,UAAU,CAAC,qFAAqF;QAChG,MAAM;QACN,UAAU;QACV,cAAc,MAAM,EAAE;QACtB,YAAY;KACb,EACD,OAAO,CACR,EACD,CAAC;QACD,SAAS,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,0EAA0E;IACpI,CAAC;IAED,yDAAyD;IACzD,MAAM,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,MAAM;QACN,MAAM;QACN,OAAO;QACP,WAAW;QACX,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,MAAM,EAAE,IAAI;KACb,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAA4B,EAC5B,OAAe,EACf,WAAmE,EAAE;IAErE,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,OAAO,GAA2B;QACtC,eAAe,EAAE,QAAQ;QACzB,cAAc,EAAE,QAAQ,CAAC,IAAI;QAC7B,kBAAkB,EAAE,QAAQ,CAAC,IAAI;QACjC,oBAAoB,EAAE,QAAQ,CAAC,MAAM;QACrC,iBAAiB,EAAE,QAAQ,CAAC,WAAW;QACvC,sBAAsB,EAAE,QAAQ;QAChC,gBAAgB,EAAE,oBAAoB;QACtC,yEAAyE;QACzE,wEAAwE;QACxE,qDAAqD;QACrD,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;KAC3D,CAAC;IAEF,2EAA2E;IAC3E,yEAAyE;IACzE,8EAA8E;IAC9E,4EAA4E;IAC5E,sEAAsE;IACtE,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,OAAO,CAAC,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC;IAC/C,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,CAAC,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;IAC3C,CAAC;IAED,MAAM,QAAQ,GAAG;QACf,0CAA0C;QAC1C,EAAE;QACF,kBAAkB,QAAQ,CAAC,IAAI,EAAE;QACjC,EAAE;QACF,oBAAoB,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAC/C,EAAE;QACF,8BAA8B,QAAQ,CAAC,MAAM,EAAE;QAC/C,6CAA6C;QAC7C,iEAAiE;QACjE,wEAAwE;QACxE,EAAE;QACF,2EAA2E;QAC3E,8BAA8B,QAAQ,CAAC,IAAI,EAAE;QAC7C,iDAAiD;QACjD,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC7D,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,sBAAsB,CACpC,WAAmB,EACnB,OAAqB;IAErB,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC;IACzE,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC;AACJ,CAAC;AAsBD;;;;;;;;GAQG;AACH,SAAS,2BAA2B,CAAC,GAAW,EAAE,EAAU;IAC1D,IAAI,GAAW,CAAC;IAChB,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,+CAA+C;QAClF,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,IAAI,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACnF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,aAAa,CAC3B,MAAc,EACd,WAAmB,EACnB,OAAkC,EAAE;IAEpC,MAAM,MAAM,GAAG,QAAQ,MAAM,EAAE,CAAC;IAChC,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,MAAM;YACN,MAAM,EAAE,OAAO;YACf,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,mBAAmB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SAC7E,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAEhD,oEAAoE;IACpE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,uDAAuD;QACvD,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;YACpE,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC3C,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,aAAa,GAAG,IAAI,CAAC,CAAC,oBAAoB;YAC5C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB;QACnB,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC/F,CAAC;IAED,2DAA2D;IAC3D,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,YAAY,CAAC,CAAC;QACnE,QAAQ,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,yCAAyC;IAC3C,CAAC;IAED,4DAA4D;IAC5D,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY;gBAChC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;gBAC5B,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACxC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;YAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC3B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,MAAM;gBACN,YAAY;gBACZ,MAAM,EAAE,oBAAoB;gBAC5B,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,MAAM;aAC9C,CAAC,CAAC;YACH,cAAc,CAAC,OAAO,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,oEAAoE;IACpE,mEAAmE;IACnE,wCAAwC;IACxC,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,2BAA2B,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,mBAAmB,CAAC;YACrC,QAAQ,EAAE,OAAO;YACjB,YAAY;YACZ,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC;QACrC,mEAAmE;QACnE,mCAAmC;QACnC,IAAI,eAAe,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAChD,eAAe,GAAG,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,mDAAmD;IACrD,CAAC;IAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,gEAAgE;QAChE,SAAS,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,sFAAsF;QAChJ,IAAI,CAAC;YACH,MAAM,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,iCAAiC;YACjC,SAAS,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,mFAAmF;YAC9H,eAAe,GAAG,IAAI,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,MAAM;gBACN,MAAM,EAAE,OAAO;gBACf,eAAe,EAAE,KAAK;gBACtB,aAAa,EAAE,KAAK;gBACpB,QAAQ;gBACR,KAAK,EAAE,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;aACxF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,mFAAmF;IACnF,2EAA2E;IAC3E,2EAA2E;IAC3E,uBAAuB,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;IAEjE,uEAAuE;IACvE,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;QACpE,IAAI,YAAY,EAAE,CAAC;YACjB,8BAA8B;YAC9B,IAAI,OAAe,CAAC;YACpB,IAAI,CAAC;gBACH,OAAO,GAAG,OAAO,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;YACpE,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,GAAG,MAAM,CAAC;YACnB,CAAC;YACD,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,OAAO,KAAK,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;YACnF,MAAM,YAAY,GAAG,QAAQ;iBAC1B,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,OAAO,CAAC,CAAC;YACnB,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC3C,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,mDAAmD;gBACnD,aAAa,GAAG,KAAK,CAAC;YACxB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,IAAI,CAAC,CAAC,eAAe;QACvC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iBAAiB;IACnB,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;AAChF,CAAC;AAED,8EAA8E;AAC9E,+DAA+D;AAC/D,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,0BAA0B,GAAsB;IACpD,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;CACC,CAAC;AAEX;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,kCAAkC;IAClC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAC7D,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA0C,CAAC;YACrE,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC;YACvC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtD,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;IACH,CAAC;IAED,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,mBAAmB;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,cAAc,EAAE,0BAA0B,CAAC,EAAE,OAAO,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,QAAQ,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,sCAAsC;IACxC,CAAC;IAED,4BAA4B;IAC5B,KAAK,MAAM,SAAS,IAAI,0BAA0B,EAAE,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;YAC9D,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,SAAS,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,6BAA6B,CAC3C,MAAc,EACd,WAAmB,EACnB,OAII,EAAE;IAEN,MAAM,MAAM,GAAG,QAAQ,MAAM,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAExE,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,MAAM;YACN,YAAY;YACZ,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,CAAC;YACd,OAAO,EAAE,KAAK;YACd,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,KAAK;YACpB,KAAK,EAAE,mBAAmB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SAC7E,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAEhD,2EAA2E;IAC3E,6BAA6B;IAC7B,EAAE;IACF,oEAAoE;IACpE,uEAAuE;IACvE,uEAAuE;IACvE,4EAA4E;IAC5E,0EAA0E;IAC1E,8DAA8D;IAC9D,EAAE;IACF,2EAA2E;IAC3E,uEAAuE;IACvE,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IACtF,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/C,OAAO;YACL,MAAM;YACN,YAAY;YACZ,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,CAAC;YACd,OAAO,EAAE,KAAK;YACd,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,KAAK;YACpB,qDAAqD;YACrD,wEAAwE;YACxE,+DAA+D;YAC/D,uEAAuE;YACvE,sEAAsE;YACtE,uEAAuE;YACvE,KAAK,EAAE,mBAAmB,MAAM,0CAA0C;YAC1E,kBAAkB,EAAE,IAAI;SACzB,CAAC;IACJ,CAAC;IAED,qCAAqC;IACrC,MAAM,MAAM,GAAG,iBAAiB,CAAC;QAC/B,QAAQ,EAAE,OAAO;QACjB,YAAY;QACZ,MAAM;QACN,YAAY;QACZ,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK;KACnC,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO;YACL,MAAM;YACN,YAAY;YACZ,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,KAAK;YACpB,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvD,OAAO;QACL,MAAM;QACN,YAAY;QACZ,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,eAAe,EAAE,WAAW,CAAC,eAAe;QAC5C,aAAa,EAAE,WAAW,CAAC,aAAa;QACxC,KAAK,EAAE,WAAW,CAAC,KAAK;KACzB,CAAC;AACJ,CAAC;AAmBD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,gCAAgC,CAC9C,MAAc,EACd,WAAmB,EACnB,OAKI,EAAE;IAEN,MAAM,WAAW,GAAG,6BAA6B,CAAC,MAAM,EAAE,WAAW,EAAE;QACrE,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC,CAAC;IAEH,yBAAyB;IACzB,IAAI,aAAa,GAAkB,IAAI,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY;YAChC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;YAC5B,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACxC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;QAClF,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;YAC3B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,MAAM;YACN,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,eAAe,EAAE,WAAW,CAAC,eAAe;YAC5C,aAAa,EAAE,WAAW,CAAC,aAAa;YACxC,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,IAAI;YAChC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,MAAM;SAC9C,CAAC,CAAC;QACH,cAAc,CAAC,OAAO,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/C,aAAa,GAAG,OAAO,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,+DAA+D;IACjE,CAAC;IAED,OAAO,EAAE,GAAG,WAAW,EAAE,aAAa,EAAE,CAAC;AAC3C,CAAC;AAED,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E,6EAA6E;AAC7E,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;CAczB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAC9D,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAExC,2DAA2D;IAC3D,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,CAAC;QACH,gEAAgE;QAChE,wDAAwD;QACxD,MAAM,cAAc,GAAG;YACrB,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC;YAC7E,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC;SAC1F,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;YAC/B,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClB,WAAW,GAAG,CAAC,CAAC;gBAChB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,6BAA6B;QAC7B,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,aAAa,CAAC,WAAW,EAAE,iBAAiB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACpF,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,yEAAyE;IACzE,0CAA0C;IAC1C,IAAI,CAAC;QACH,uBAAuB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,6DAA6D;IAC/D,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B;IACxC,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,IAAI,QAAQ,GAAqC,SAAS,CAAC;IAE3D,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE;gBAC1C,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC,IAAI,EAAE,CAAC;YACV,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;QACzE,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,GAAG,OAAO,CAAC;QACrB,CAAC;IACH,CAAC;SAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,QAAQ,GAAG,OAAO,CAAC;IACrB,CAAC;SAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,QAAQ,GAAG,SAAS,CAAC;IACvB,CAAC;IAED,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC/C,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;IACzC,CAAC;IACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IAC3C,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC9D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,OAA+B,EAAE;IAC9E,MAAM,IAAI,GAAG,0BAA0B,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,SAAS,GAA+B,MAAM,CAAC;IAEnD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC;QACH,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3B,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,SAAS,GAAG,OAAO,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAC/D,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,YAAY,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC5D,SAAS,GAAG,QAAQ,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,+CAA+C;YACjD,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,YAAY,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC/D,SAAS,GAAG,SAAS,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;AACvF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,WAA0B;IACvD,IAAI,CAAC,WAAW,CAAC,MAAM;QAAE,OAAO;IAEhC,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAAE,SAAS;QAE7B,IAAI,WAAW,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACvC,IAAI,CAAC;gBACH,YAAY,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACvD,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY;YACd,CAAC;QACH,CAAC;aAAM,IAAI,WAAW,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC/C,IAAI,CAAC;gBACH,YAAY,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5D,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY;YACd,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAC3B,cAAmC,EACnC,UAAkC,OAAO,CAAC,GAA6B;IAEvE,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;AACnD,CAAC"}
|
|
1
|
+
{"version":3,"file":"branch-lock.js","sourceRoot":"","sources":["../../src/spawn/branch-lock.ts"],"names":[],"mappings":"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"}
|