opencode-swarm 7.200.8 → 7.200.10
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/.opencode/skills/ci-fix-monitor/SKILL.md +49 -0
- package/.opencode/skills/swarm-pr-review/references/lane-output-recoverability.md +11 -2
- package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
- package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
- package/dist/background/completion-observer.d.ts +2 -1
- package/dist/background/pending-delegations.d.ts +9 -1
- package/dist/background/pr-review-contract.d.ts +8 -0
- package/dist/cli/{attest-task-dxrfae0t.js → attest-task-yx2t832n.js} +78 -76
- package/dist/cli/{auto-checkpoint-6sacb90s.js → auto-checkpoint-15mvj9zm.js} +12 -12
- package/dist/cli/{capability-probe-dwqn2609.js → capability-probe-qjndmx6z.js} +1 -1
- package/dist/cli/{checkpoint-nwp1j6zv.js → checkpoint-65whgvwa.js} +23 -23
- package/dist/cli/{coder-settlement-gw7yz6j8.js → coder-settlement-sdg1he8p.js} +14 -13
- package/dist/cli/{config-doctor-9azv1kqx.js → config-doctor-4af2p2y4.js} +19 -19
- package/dist/cli/{core-0qgp0a8j.js → core-8swqc6kw.js} +6 -3
- package/dist/cli/{curation-policy-gy868ec3.js → curation-policy-1a23ftnv.js} +6 -6
- package/dist/cli/{curator-ekthxye6.js → curator-6ze04fz3.js} +53 -52
- package/dist/cli/{curator-drift-45snz8a6.js → curator-drift-ktf137da.js} +10 -10
- package/dist/cli/curator-llm-factory-7vq4rgg7.js +83 -0
- package/dist/cli/{doctor-knowledge-receipt-phase-id-fggff61y.js → doctor-knowledge-receipt-phase-id-0smwq3ar.js} +10 -10
- package/dist/cli/{evidence-summary-service-zc2fc8h1.js → evidence-summary-service-3bhq2gef.js} +26 -25
- package/dist/cli/{gate-evidence-r57ahtp0.js → gate-evidence-gcv0xgfc.js} +10 -9
- package/dist/cli/guardrail-explain-9t3mvm92.js +84 -0
- package/dist/cli/{guardrail-log-hskq7q1w.js → guardrail-log-ehgpan5n.js} +8 -8
- package/dist/cli/{guardrail-reset-ywcnk88z.js → guardrail-reset-q7m265wy.js} +53 -52
- package/dist/cli/{hive-promoter-k66hgffk.js → hive-promoter-857ranjf.js} +53 -52
- package/dist/cli/{index-4krkevgc.js → index-001tkp0j.js} +1 -1
- package/dist/cli/{index-k5h4mmwd.js → index-06sj5bjh.js} +5 -5
- package/dist/cli/{index-sg2sd66b.js → index-2dey2mtg.js} +6 -6
- package/dist/cli/{index-6w1x38yd.js → index-3h5ztpn5.js} +2 -2
- package/dist/cli/{index-kzyw3315.js → index-43zgg04r.js} +5 -5
- package/dist/cli/{index-wfd267ma.js → index-4dvqvn4k.js} +12905 -12414
- package/dist/cli/{index-q7z2yws5.js → index-60m7qnds.js} +8 -8
- package/dist/cli/{index-m6632p7f.js → index-66b4f2qd.js} +18 -13
- package/dist/cli/{index-c2k7q723.js → index-6cppzd9c.js} +1 -1
- package/dist/cli/{index-zjjxe0q5.js → index-6e7jxxys.js} +15 -15
- package/dist/cli/{index-jrpfzv5r.js → index-6ehx0pj4.js} +15 -15
- package/dist/cli/{index-yyrnkc3a.js → index-6m551cng.js} +2 -2
- package/dist/cli/{index-wgwg2b4d.js → index-8c6zshfj.js} +1 -1
- package/dist/cli/{index-8srvdpw6.js → index-8xtdxy91.js} +2 -2
- package/dist/cli/{index-mn75z39t.js → index-9qy3tzt5.js} +1 -1
- package/dist/cli/{index-057y0sbg.js → index-bt3pxs7r.js} +6 -6
- package/dist/cli/{index-0tvkfdwp.js → index-c34tgnwm.js} +7 -7
- package/dist/cli/{index-y7c4hqcj.js → index-ck7jpn0y.js} +1 -1
- package/dist/cli/{index-p2dst45x.js → index-ckq78kq1.js} +1 -1
- package/dist/cli/{index-8mrentmw.js → index-dp6hy23p.js} +58 -53
- package/dist/cli/{index-4fkxdnc7.js → index-erp7fk72.js} +1 -1
- package/dist/cli/{index-16n2s0zf.js → index-ev46f132.js} +8 -8
- package/dist/cli/{index-h7t7hvq3.js → index-fbn2mv67.js} +6 -6
- package/dist/cli/{index-vpxdf79m.js → index-ffm3d4cn.js} +17 -17
- package/dist/cli/{index-kekvdqj6.js → index-gsnj3a0h.js} +4 -4
- package/dist/cli/{index-zvvavx1h.js → index-h9qhy8r6.js} +6 -6
- package/dist/cli/{index-tecp3a77.js → index-kd1n3ne2.js} +9 -9
- package/dist/cli/{index-2wryy5a7.js → index-kxxy7zq4.js} +18 -20
- package/dist/cli/{index-ez0smmcc.js → index-mamw83wm.js} +53 -52
- package/dist/cli/{index-4a3ey5g6.js → index-mx34b7bm.js} +58 -57
- package/dist/cli/{index-wkbdfy1g.js → index-nv8tx9v4.js} +4 -4
- package/dist/cli/{index-q8vfw61p.js → index-pjrx4jkq.js} +1 -1
- package/dist/cli/{index-mhd6kdzr.js → index-qyj4383m.js} +1 -1
- package/dist/cli/{index-x8cac18k.js → index-r3wyt8za.js} +611 -1376
- package/dist/cli/{index-2x015vjy.js → index-rck7v4r4.js} +1 -1
- package/dist/cli/{index-vtpt8yns.js → index-rjsqf4hv.js} +2 -2
- package/dist/cli/{index-z72545mf.js → index-rnm6c33a.js} +5 -5
- package/dist/cli/{index-bk8r4m9j.js → index-rpvp88js.js} +2 -2
- package/dist/cli/{index-v839c9mv.js → index-tggyracy.js} +1 -1
- package/dist/cli/{index-5z4c9acx.js → index-tm6nwe43.js} +29 -29
- package/dist/cli/{index-c5wk61ak.js → index-vajbtn3v.js} +11 -11
- package/dist/cli/{index-4y90ecpz.js → index-vm3j8fvn.js} +201 -33
- package/dist/cli/{index-z1e9b5qk.js → index-vqknke9n.js} +121 -40
- package/dist/cli/{index-4ph7ad0b.js → index-vx1j2t5p.js} +2 -2
- package/dist/cli/{index-7h22y3ew.js → index-w0afnznk.js} +2 -2
- package/dist/cli/{index-76xnddca.js → index-ww5ne0g6.js} +7 -7
- package/dist/cli/index-xkavxqf2.js +1330 -0
- package/dist/cli/{index-tfaf8zy8.js → index-ywwazz81.js} +8 -8
- package/dist/cli/{index-21nbxx1t.js → index-zmp1k0mb.js} +2 -2
- package/dist/cli/index.js +57 -56
- package/dist/cli/{knowledge-escalator-9tz25k7f.js → knowledge-escalator-6p7m6gkc.js} +18 -18
- package/dist/cli/{knowledge-events-dcmpbb23.js → knowledge-events-w3ep12sq.js} +15 -15
- package/dist/cli/{knowledge-link-13t3nfrz.js → knowledge-link-r7e2t5c1.js} +5 -5
- package/dist/cli/{knowledge-store-dxwsme9q.js → knowledge-store-g4cpw0hz.js} +7 -7
- package/dist/cli/{knowledge-validator-7q1w62s7.js → knowledge-validator-zhy6mgxv.js} +9 -9
- package/dist/cli/{mcp-k38cfqtg.js → mcp-j1dy60mx.js} +1 -1
- package/dist/cli/{model-preflight-1tkjtc9z.js → model-preflight-962y2z1d.js} +56 -55
- package/dist/cli/{pending-delegations-q1fksmee.js → pending-delegations-erjwa1y6.js} +14 -14
- package/dist/cli/{pr-subscriptions-pf6mwhwr.js → pr-subscriptions-7fcawjg9.js} +13 -13
- package/dist/cli/{pr-workflow-gate-thazeaa1.js → pr-workflow-gate-j8ee9c6g.js} +53 -52
- package/dist/cli/{runner-q1g9atrv.js → runner-s4422dq4.js} +6 -6
- package/dist/cli/{scan-cursor-8k8rkrcj.js → scan-cursor-msz8j44s.js} +8 -8
- package/dist/cli/{schema-ff9v839b.js → schema-kep9t01t.js} +2 -2
- package/dist/cli/{scope-persistence-mzyqtkwv.js → scope-persistence-tx71g0ac.js} +18 -18
- package/dist/cli/{server-ss4jqd5y.js → server-6enk6sfw.js} +70 -69
- package/dist/cli/{skill-generator-fgk15dd5.js → skill-generator-p9fkx1g3.js} +20 -20
- package/dist/cli/{snapshot-coordination-init-e9gvsaj7.js → snapshot-coordination-init-kgftbdmq.js} +53 -52
- package/dist/cli/{speckit-checkoff-ec4g0hhc.js → speckit-checkoff-jfdwsy5n.js} +5 -5
- package/dist/cli/{telemetry-cr8q16wk.js → telemetry-j7zr1dht.js} +1 -1
- package/dist/cli/workflow-wal-file-xvvwcxr1.js +32 -0
- package/dist/cli/{workspace-snapshot-7hws89e9.js → workspace-snapshot-ksdspd74.js} +3 -3
- package/dist/cli/{worktree-collision-ownership-egc9b97v.js → worktree-collision-ownership-hac3t2xv.js} +15 -15
- package/dist/cli/{worktree-isolation-9evd232c.js → worktree-isolation-tjvxcsr9.js} +53 -52
- package/dist/hooks/delegation-gate/worktree-isolation.d.ts +3 -0
- package/dist/hooks/shell-write-detect.d.ts +10 -0
- package/dist/index.js +686 -684
- package/dist/memory/redaction.d.ts +13 -3
- package/dist/pr-review/legacy-transcript-adapter.d.ts +15 -4
- package/dist/sandbox/macos/sandbox-exec-executor.d.ts +24 -0
- package/dist/workflow/coder-settlement.d.ts +5 -0
- package/dist/worktree/core.d.ts +3 -0
- package/dist/worktree/merge.d.ts +15 -1
- package/dist/worktree/ownership.d.ts +3 -0
- package/dist/worktree/settlement-artifact-lifecycle.d.ts +32 -0
- package/dist/worktree/settlement-source-recovery.d.ts +12 -0
- package/package.json +1 -1
- package/dist/cli/curator-llm-factory-ds4y7k0b.js +0 -82
- package/dist/cli/guardrail-explain-bc8garre.js +0 -83
|
@@ -9,9 +9,13 @@ export interface SecretFinding {
|
|
|
9
9
|
* cohort-root open. This is honest about what it measures (the regex pattern
|
|
10
10
|
* count + the durable-rejection toggles) — it is NOT a content hash of stored
|
|
11
11
|
* records. Bump the salt constant when the redaction contract changes
|
|
12
|
-
* meaningfully (done for #1466: PII detection settings joined the policy
|
|
12
|
+
* meaningfully (done for #1466: PII detection settings joined the policy;
|
|
13
|
+
* done for #3382: fixed-length credential families match embedded
|
|
14
|
+
* (non-word-boundary) shapes and the AWS-secret arms now run before the bare
|
|
15
|
+
* access-key arm, so durable-secret rejection decisions differ between
|
|
16
|
+
* members on opposite sides of the change).
|
|
13
17
|
*/
|
|
14
|
-
export declare const REDACTION_POLICY_SALT =
|
|
18
|
+
export declare const REDACTION_POLICY_SALT = 3;
|
|
15
19
|
/**
|
|
16
20
|
* #1466: redaction-policy input. `detectPii`/`rejectDurablePii`/`piiDetector`
|
|
17
21
|
* are optional so non-memory callers (e.g. the consensus miner, which applies
|
|
@@ -49,6 +53,12 @@ export interface MemoryCohortFingerprintInput {
|
|
|
49
53
|
* digest for an unchanged input is a version bump so legacy files surface as
|
|
50
54
|
* "re-run `/swarm memory link`" instead of a false config-mismatch throw.
|
|
51
55
|
*
|
|
56
|
+
* Version 3 (#3382): again no change to canonicalization, hashing, or
|
|
57
|
+
* truncation — bumped because `redaction_policy_version` changed for
|
|
58
|
+
* unchanged user config (REDACTION_POLICY_SALT 2→3 with the embedded-shape
|
|
59
|
+
* detection and the AWS-secret arm reorder). Same remedy: legacy files
|
|
60
|
+
* surface as "re-run `/swarm memory link`".
|
|
61
|
+
*
|
|
52
62
|
* BUMP THIS whenever a change would alter the digest for an unchanged input —
|
|
53
63
|
* e.g. a different hash, a different truncation length, a change to
|
|
54
64
|
* `stableCanonicalStringify`'s output for a reachable input, or a change to the
|
|
@@ -56,7 +66,7 @@ export interface MemoryCohortFingerprintInput {
|
|
|
56
66
|
* comparing fingerprints, so a bump surfaces as "re-run `/swarm memory link`"
|
|
57
67
|
* instead of being misreported as a real provider/embedding config mismatch.
|
|
58
68
|
*/
|
|
59
|
-
export declare const FINGERPRINT_ALGORITHM_VERSION =
|
|
69
|
+
export declare const FINGERPRINT_ALGORITHM_VERSION = 3;
|
|
60
70
|
/**
|
|
61
71
|
* #2062 F-012 (R3 fix): the algorithm version implied by a persisted cohort
|
|
62
72
|
* config that has NO `algorithm_version` field. Every file written before the
|
|
@@ -241,9 +241,20 @@ export interface IndexedVerdictRows {
|
|
|
241
241
|
* grammar noise (typically a Stage-B task row or an echoed format line) —
|
|
242
242
|
* they carry no authenticable verdict, so they are quarantined out of the
|
|
243
243
|
* exact-set count instead of voiding every valid sibling row. Identifiers
|
|
244
|
-
* and arity only; never row prose.
|
|
245
|
-
*
|
|
246
|
-
*
|
|
244
|
+
* and arity only; never row prose.
|
|
245
|
+
*
|
|
246
|
+
* Issue #3357 (second arm): a row that ARRIVED over its legal arity was
|
|
247
|
+
* tail-merged back to exactly the legal count (`recoveredOverflow`), so
|
|
248
|
+
* the post-parse-arity discriminator above can never see it — the #3310
|
|
249
|
+
* headline root cause survived in exactly that shape. When the caller
|
|
250
|
+
* supplies the assigned-id set, such a recoveredOverflow row whose
|
|
251
|
+
* post-merge id is UNASSIGNED is quarantined on its arrival arity
|
|
252
|
+
* (rawFieldCount) instead of being admitted to `markerRows`: over-arrival
|
|
253
|
+
* is by construction non-format-conformant (a spoofer copying the injected
|
|
254
|
+
* contract card emits exactly the legal arity), so it is grammar noise,
|
|
255
|
+
* not spoofing. The spoofing floor is unchanged: a row that arrived at
|
|
256
|
+
* EXACTLY the legal arity (no tail-merge) naming an unassigned ID is NOT
|
|
257
|
+
* quarantined — that is the spoofing class and still voids the lane.
|
|
247
258
|
*/
|
|
248
259
|
quarantined: Array<{
|
|
249
260
|
marker: '[REVIEWED]' | '[CRITIC]';
|
|
@@ -251,7 +262,7 @@ export interface IndexedVerdictRows {
|
|
|
251
262
|
arity: number;
|
|
252
263
|
}>;
|
|
253
264
|
}
|
|
254
|
-
export declare function indexVerdictRows(text: string, marker: '[REVIEWED]' | '[CRITIC]'): IndexedVerdictRows;
|
|
265
|
+
export declare function indexVerdictRows(text: string, marker: '[REVIEWED]' | '[CRITIC]', assignedIds?: ReadonlySet<string>): IndexedVerdictRows;
|
|
255
266
|
export declare function validateReviewerVerdictFields(fields: string[]): string[] | null;
|
|
256
267
|
/**
|
|
257
268
|
* Digest of the FULL canonical reviewer row, not the classification/severity
|
|
@@ -18,6 +18,29 @@ import { type SandboxExecutor } from '../executor';
|
|
|
18
18
|
declare function resolveSandboxExecBinary(): string;
|
|
19
19
|
/** Resolve the probe's target command: absolute base-OS path, bare-name fallback. */
|
|
20
20
|
declare function resolveProbeTargetBinary(): string;
|
|
21
|
+
/** The one filesystem call realpathOrSelf needs; injectable for tests. */
|
|
22
|
+
interface ResolveFs {
|
|
23
|
+
realpath(p: string): string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Return the kernel-resolved form of a path under one of the macOS system
|
|
27
|
+
* links (`/tmp`, `/var`, `/etc` -> `/private/...`) for embedding in an SBPL
|
|
28
|
+
* profile. Seatbelt matches `subpath` predicates against the kernel-resolved
|
|
29
|
+
* path, so the unresolved form of such a path never matches and its allow
|
|
30
|
+
* line is inert.
|
|
31
|
+
*
|
|
32
|
+
* Fail closed by construction: the result is the INPUT STRING with the leading
|
|
33
|
+
* system prefix swapped (`/var/x` -> `/private/var/x`); the filesystem is
|
|
34
|
+
* consulted only to confirm that this host's `/var` really is the link to
|
|
35
|
+
* `/private/var`. No other symlink is ever followed, so a link created inside
|
|
36
|
+
* a project can neither change the result nor widen the profile to its
|
|
37
|
+
* target, and there is no check-then-resolve window to race. Any other path
|
|
38
|
+
* (another prefix, a host where the link is absent, an error) is returned
|
|
39
|
+
* unchanged: an already-resolved path matches as it always did, while a path
|
|
40
|
+
* under some other symlink stays unresolved, Seatbelt does not match it, and
|
|
41
|
+
* its allow line is inert (writes denied, as before).
|
|
42
|
+
*/
|
|
43
|
+
declare function realpathOrSelf(p: string, fsx?: ResolveFs): string;
|
|
21
44
|
/**
|
|
22
45
|
* Build the SBPL profile used ONLY for availability probing.
|
|
23
46
|
*
|
|
@@ -67,6 +90,7 @@ export declare const _internals: {
|
|
|
67
90
|
resetProbeMemo: typeof resetProbeMemo;
|
|
68
91
|
buildSandboxProfile: typeof buildSandboxProfile;
|
|
69
92
|
buildProbeProfile: typeof buildProbeProfile;
|
|
93
|
+
realpathOrSelf: typeof realpathOrSelf;
|
|
70
94
|
buildEnvOverridePrefix: typeof buildEnvOverridePrefix;
|
|
71
95
|
resolveSandboxExecBinary: typeof resolveSandboxExecBinary;
|
|
72
96
|
resolveProbeTargetBinary: typeof resolveProbeTargetBinary;
|
|
@@ -2,6 +2,8 @@ import type { BackgroundTaskChangeContext, BackgroundWorktreeDescriptor } from '
|
|
|
2
2
|
import { type TaskEvidence } from '../gate-evidence.js';
|
|
3
3
|
import { removeWorktreeProvisioningOwner } from '../hooks/delegation-gate/worktree-provisioning-owner.js';
|
|
4
4
|
import type { MergeOperationProvenance } from '../worktree/merge.js';
|
|
5
|
+
import { withSettlementArtifactLifecycle } from '../worktree/settlement-artifact-lifecycle.js';
|
|
6
|
+
import { validateSettlementLane } from '../worktree/settlement-source-recovery.js';
|
|
5
7
|
import type { CoderSettlementWal } from './workflow-wal-schema.js';
|
|
6
8
|
export interface CoderSettlementResult {
|
|
7
9
|
evidence: TaskEvidence;
|
|
@@ -193,6 +195,8 @@ export declare function recoverStaleCoderSettlements(directory: string, options?
|
|
|
193
195
|
}>;
|
|
194
196
|
export declare const _internals: {
|
|
195
197
|
liveDispatches: Set<string>;
|
|
198
|
+
withSettlementArtifactLifecycle: typeof withSettlementArtifactLifecycle;
|
|
199
|
+
validateSettlementLane: typeof validateSettlementLane;
|
|
196
200
|
removeWorktreeProvisioningOwner: typeof removeWorktreeProvisioningOwner;
|
|
197
201
|
/**
|
|
198
202
|
* Test seam for the lane-branch existence probe. Production reads it here,
|
|
@@ -203,5 +207,6 @@ export declare const _internals: {
|
|
|
203
207
|
*/
|
|
204
208
|
branchExists: typeof probeBranchExists;
|
|
205
209
|
recoverCoderSettlement: typeof recoverCoderSettlement;
|
|
210
|
+
historicalOrphanAdvisoryAt: Map<string, number>;
|
|
206
211
|
};
|
|
207
212
|
export {};
|
package/dist/worktree/core.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ import * as fsPromises from 'node:fs/promises';
|
|
|
13
13
|
import { clearLiveLaneOwner } from '../parallel/lane-owners';
|
|
14
14
|
import { bunSpawn } from '../utils/bun-compat';
|
|
15
15
|
import { resolveGitExecutable } from '../utils/git-executable.js';
|
|
16
|
+
import { assertSettlementArtifactsRemovable, withSettlementArtifactLifecycle } from './settlement-artifact-lifecycle';
|
|
16
17
|
import type { WorktreeHandle, WorktreeOptions, WorktreeProvisionResult } from './types';
|
|
17
18
|
/**
|
|
18
19
|
* Test-only dependency-injection seam. Production code calls
|
|
@@ -23,6 +24,8 @@ import type { WorktreeHandle, WorktreeOptions, WorktreeProvisionResult } from '.
|
|
|
23
24
|
* local object is file-scoped and trivially restorable via `afterEach`.
|
|
24
25
|
*/
|
|
25
26
|
export declare const _internals: {
|
|
27
|
+
withSettlementArtifactLifecycle: typeof withSettlementArtifactLifecycle;
|
|
28
|
+
assertSettlementArtifactsRemovable: typeof assertSettlementArtifactsRemovable;
|
|
26
29
|
bunSpawn: typeof bunSpawn;
|
|
27
30
|
/**
|
|
28
31
|
* Issue #2527 F3: clear the durable live-lane-owner record when this
|
package/dist/worktree/merge.d.ts
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { bunSpawn } from '../utils/bun-compat';
|
|
13
13
|
import { resolveGitExecutable } from '../utils/git-executable.js';
|
|
14
|
+
import { assertSettlementArtifactsRemovable, withSettlementArtifactLifecycle } from './settlement-artifact-lifecycle';
|
|
14
15
|
import type { MergeStrategy } from './types';
|
|
15
16
|
/**
|
|
16
17
|
* Test-only dependency-injection seam. Production code calls
|
|
@@ -21,6 +22,8 @@ import type { MergeStrategy } from './types';
|
|
|
21
22
|
* local object is file-scoped and trivially restorable via `afterEach`.
|
|
22
23
|
*/
|
|
23
24
|
export declare const _internals: {
|
|
25
|
+
withSettlementArtifactLifecycle: typeof withSettlementArtifactLifecycle;
|
|
26
|
+
assertSettlementArtifactsRemovable: typeof assertSettlementArtifactsRemovable;
|
|
24
27
|
bunSpawn: typeof bunSpawn;
|
|
25
28
|
/** Test seam for process.platform — allows non-Windows CIs to exercise Windows paths. */
|
|
26
29
|
platform: string;
|
|
@@ -297,8 +300,19 @@ commitMessage?: string): Promise<MergeSuccess | MergeConflict | MergeFailure>;
|
|
|
297
300
|
* operate on mutable branch refs, verifies that the captured lane ancestry is
|
|
298
301
|
* coherent, and fails closed if the current primary checkout no longer
|
|
299
302
|
* descends from the captured target head.
|
|
303
|
+
* Explicit landing messages retain the ordinary committed-merge policy;
|
|
304
|
+
* callers that omit options keep the existing plain Git merge behavior.
|
|
300
305
|
*/
|
|
301
|
-
export declare function recoverMergeBackFromImmutableCoordinates(primaryDir: string, coordinates: ImmutableMergeRecoveryCoordinates
|
|
306
|
+
export declare function recoverMergeBackFromImmutableCoordinates(primaryDir: string, coordinates: ImmutableMergeRecoveryCoordinates, options?: Pick<DirtyMergeOptions, 'landingCommitMessage'> & {
|
|
307
|
+
/**
|
|
308
|
+
* Land a `'merge'` recovery via the #2508 squash-unstaged shape (changes
|
|
309
|
+
* applied unstaged, no merge commit, HEAD does not move) instead of
|
|
310
|
+
* `git merge --no-edit`. `attemptMergeBackFromDirty` sets it whenever the
|
|
311
|
+
* caller did not opt into `commitLanding`, so the retarget path lands in
|
|
312
|
+
* the same shape as the normal path. Ignored for `rebase`/`cherry-pick`.
|
|
313
|
+
*/
|
|
314
|
+
landUnstaged?: boolean;
|
|
315
|
+
}): Promise<ImmutableMergeRecoveryResult>;
|
|
302
316
|
/**
|
|
303
317
|
* Detect whether a previously-started merge-back already landed on the target.
|
|
304
318
|
*
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
import * as fs from 'node:fs';
|
|
34
34
|
import { resolveWorktreeRepoOwnership } from '../config/lane-context';
|
|
35
35
|
import { isPathUnderSwarmWorktreeBase, removeWorktree } from './core';
|
|
36
|
+
import { assertSettlementArtifactsRemovable, withSettlementArtifactLifecycle } from './settlement-artifact-lifecycle';
|
|
36
37
|
export type OwnedRemovalOutcome = {
|
|
37
38
|
status: 'removed';
|
|
38
39
|
} | {
|
|
@@ -44,6 +45,8 @@ export type OwnedRemovalOutcome = {
|
|
|
44
45
|
};
|
|
45
46
|
export type GitMarkerProbe = 'gitless' | 'present' | 'uncertain';
|
|
46
47
|
export declare const _internals: {
|
|
48
|
+
withSettlementArtifactLifecycle: typeof withSettlementArtifactLifecycle;
|
|
49
|
+
assertSettlementArtifactsRemovable: typeof assertSettlementArtifactsRemovable;
|
|
47
50
|
resolveWorktreeRepoOwnership: typeof resolveWorktreeRepoOwnership;
|
|
48
51
|
isPathUnderSwarmWorktreeBase: typeof isPathUnderSwarmWorktreeBase;
|
|
49
52
|
removeWorktree: typeof removeWorktree;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { lstat, opendir, realpath } from 'node:fs/promises';
|
|
2
|
+
import { tryAcquireLock } from '../parallel/file-locks.js';
|
|
3
|
+
import { assertProjectRoot } from '../utils/project-boundary.js';
|
|
4
|
+
import type { CoderSettlementWal } from '../workflow/workflow-wal-schema.js';
|
|
5
|
+
declare function readWal(filePath: string, taskId: string): Promise<CoderSettlementWal | null>;
|
|
6
|
+
declare function canonicalizeArtifact(filePath: string): Promise<string>;
|
|
7
|
+
export declare const _internals: {
|
|
8
|
+
tryAcquireLock: typeof tryAcquireLock;
|
|
9
|
+
opendir: typeof opendir;
|
|
10
|
+
lstat: typeof lstat;
|
|
11
|
+
realpath: typeof realpath;
|
|
12
|
+
readWal: typeof readWal;
|
|
13
|
+
canonicalize: typeof canonicalizeArtifact;
|
|
14
|
+
assertProjectRoot: typeof assertProjectRoot;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Serialize isolated dispatch publication against destructive lane admission.
|
|
18
|
+
* Lock order is task/evidence -> lifecycle. The callback must never acquire a
|
|
19
|
+
* task/evidence lock or recursively enter this non-reentrant lifecycle lock.
|
|
20
|
+
*/
|
|
21
|
+
export declare function withSettlementArtifactLifecycle<T>(directory: string, operation: () => Promise<T>): Promise<T>;
|
|
22
|
+
export interface SettlementArtifactTarget {
|
|
23
|
+
path?: string;
|
|
24
|
+
branch?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Fail closed on an incomplete inventory. Call only while holding lifecycle
|
|
28
|
+
* admission, and retain that admission until the actual destructive operation
|
|
29
|
+
* finishes; an advisory scan alone cannot authorize a later deletion.
|
|
30
|
+
*/
|
|
31
|
+
export declare function assertSettlementArtifactsRemovable(directory: string, target: SettlementArtifactTarget): Promise<void>;
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { bunSpawn } from '../utils/bun-compat';
|
|
2
|
+
import { resolveGitExecutable } from '../utils/git-executable.js';
|
|
3
|
+
export declare const _internals: {
|
|
4
|
+
bunSpawn: typeof bunSpawn;
|
|
5
|
+
resolveGitExecutable: typeof resolveGitExecutable;
|
|
6
|
+
};
|
|
7
|
+
export declare function probeSettlementSource(directory: string, oid: string): Promise<'present' | 'absent'>;
|
|
8
|
+
export declare function settlementBackupRef(oid: string): string;
|
|
9
|
+
export declare function preserveSettlementSource(directory: string, oid: string): Promise<string>;
|
|
10
|
+
export declare function restoreSettlementBranch(directory: string, branch: string, oid: string): Promise<boolean>;
|
|
11
|
+
export declare function releaseSettlementSource(directory: string, oid: string): Promise<void>;
|
|
12
|
+
export declare function validateSettlementLane(directory: string, branchName: string, expectedHead: string): Promise<void>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencode-swarm",
|
|
3
|
-
"version": "7.200.
|
|
3
|
+
"version": "7.200.10",
|
|
4
4
|
"description": "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import {
|
|
3
|
-
createCuratorLLMDelegate
|
|
4
|
-
} from "./index-wfd267ma.js";
|
|
5
|
-
import"./index-p2dst45x.js";
|
|
6
|
-
import"./index-h7t7hvq3.js";
|
|
7
|
-
import"./index-2wryy5a7.js";
|
|
8
|
-
import"./index-tfaf8zy8.js";
|
|
9
|
-
import"./index-4ph7ad0b.js";
|
|
10
|
-
import"./index-axqyjreb.js";
|
|
11
|
-
import"./index-txdagbh7.js";
|
|
12
|
-
import"./index-zvvavx1h.js";
|
|
13
|
-
import"./index-057y0sbg.js";
|
|
14
|
-
import"./index-rdec0y3z.js";
|
|
15
|
-
import"./index-z72545mf.js";
|
|
16
|
-
import"./index-z1e9b5qk.js";
|
|
17
|
-
import"./index-q7z2yws5.js";
|
|
18
|
-
import"./index-bk8r4m9j.js";
|
|
19
|
-
import"./index-tecp3a77.js";
|
|
20
|
-
import"./index-x5jwegqw.js";
|
|
21
|
-
import"./index-7h22y3ew.js";
|
|
22
|
-
import"./index-m6632p7f.js";
|
|
23
|
-
import"./index-pt7h91zc.js";
|
|
24
|
-
import"./index-q7sjgr1y.js";
|
|
25
|
-
import"./index-vpxdf79m.js";
|
|
26
|
-
import"./index-5z4c9acx.js";
|
|
27
|
-
import"./index-6b295cas.js";
|
|
28
|
-
import"./index-9nyqt3kb.js";
|
|
29
|
-
import"./index-sg2sd66b.js";
|
|
30
|
-
import"./index-697mg68b.js";
|
|
31
|
-
import"./index-8mrentmw.js";
|
|
32
|
-
import"./index-kzyw3315.js";
|
|
33
|
-
import"./index-x8cac18k.js";
|
|
34
|
-
import"./index-4y90ecpz.js";
|
|
35
|
-
import"./index-spggmr30.js";
|
|
36
|
-
import"./index-kekvdqj6.js";
|
|
37
|
-
import"./index-jrpfzv5r.js";
|
|
38
|
-
import"./index-m9zzj4ee.js";
|
|
39
|
-
import"./index-4krkevgc.js";
|
|
40
|
-
import"./index-wkbdfy1g.js";
|
|
41
|
-
import"./index-mhd6kdzr.js";
|
|
42
|
-
import"./index-rtry5xyf.js";
|
|
43
|
-
import"./index-6w1x38yd.js";
|
|
44
|
-
import"./index-g22dps7x.js";
|
|
45
|
-
import"./index-0725jpp7.js";
|
|
46
|
-
import"./index-16n2s0zf.js";
|
|
47
|
-
import"./index-v839c9mv.js";
|
|
48
|
-
import"./index-zjjxe0q5.js";
|
|
49
|
-
import"./index-2x015vjy.js";
|
|
50
|
-
import"./index-y7c4hqcj.js";
|
|
51
|
-
import"./index-ry16d01s.js";
|
|
52
|
-
import"./index-rdm3px0g.js";
|
|
53
|
-
import"./index-vtpt8yns.js";
|
|
54
|
-
import"./index-7pmbnjvj.js";
|
|
55
|
-
import"./index-8srvdpw6.js";
|
|
56
|
-
import"./index-9rwhas09.js";
|
|
57
|
-
import"./index-c5wk61ak.js";
|
|
58
|
-
import"./index-vzm6zre7.js";
|
|
59
|
-
import"./index-ae75rja9.js";
|
|
60
|
-
import"./index-4fkxdnc7.js";
|
|
61
|
-
import"./index-yyrnkc3a.js";
|
|
62
|
-
import"./index-q8vfw61p.js";
|
|
63
|
-
import"./index-t7hmqgjy.js";
|
|
64
|
-
import"./index-c2k7q723.js";
|
|
65
|
-
import"./index-te9hq2f4.js";
|
|
66
|
-
import"./index-ejhxgyvm.js";
|
|
67
|
-
import"./index-7g4c7s5r.js";
|
|
68
|
-
import"./index-mn75z39t.js";
|
|
69
|
-
import"./index-3t46mez1.js";
|
|
70
|
-
import"./index-76xnddca.js";
|
|
71
|
-
import"./index-sp2cxpaq.js";
|
|
72
|
-
import"./index-qbxk2rn6.js";
|
|
73
|
-
import"./index-zgwm4ryv.js";
|
|
74
|
-
import"./index-k5h4mmwd.js";
|
|
75
|
-
import"./index-xfzkq1k4.js";
|
|
76
|
-
import"./index-bk5tah7q.js";
|
|
77
|
-
import"./index-gknz3bv1.js";
|
|
78
|
-
import"./index-zpsr8rpc.js";
|
|
79
|
-
import"./index-a76rekgs.js";
|
|
80
|
-
export {
|
|
81
|
-
createCuratorLLMDelegate
|
|
82
|
-
};
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import {
|
|
3
|
-
handleGuardrailExplain
|
|
4
|
-
} from "./index-21nbxx1t.js";
|
|
5
|
-
import"./index-wfd267ma.js";
|
|
6
|
-
import"./index-p2dst45x.js";
|
|
7
|
-
import"./index-h7t7hvq3.js";
|
|
8
|
-
import"./index-2wryy5a7.js";
|
|
9
|
-
import"./index-tfaf8zy8.js";
|
|
10
|
-
import"./index-4ph7ad0b.js";
|
|
11
|
-
import"./index-axqyjreb.js";
|
|
12
|
-
import"./index-txdagbh7.js";
|
|
13
|
-
import"./index-zvvavx1h.js";
|
|
14
|
-
import"./index-057y0sbg.js";
|
|
15
|
-
import"./index-rdec0y3z.js";
|
|
16
|
-
import"./index-z72545mf.js";
|
|
17
|
-
import"./index-z1e9b5qk.js";
|
|
18
|
-
import"./index-q7z2yws5.js";
|
|
19
|
-
import"./index-bk8r4m9j.js";
|
|
20
|
-
import"./index-tecp3a77.js";
|
|
21
|
-
import"./index-x5jwegqw.js";
|
|
22
|
-
import"./index-7h22y3ew.js";
|
|
23
|
-
import"./index-m6632p7f.js";
|
|
24
|
-
import"./index-pt7h91zc.js";
|
|
25
|
-
import"./index-q7sjgr1y.js";
|
|
26
|
-
import"./index-vpxdf79m.js";
|
|
27
|
-
import"./index-5z4c9acx.js";
|
|
28
|
-
import"./index-6b295cas.js";
|
|
29
|
-
import"./index-9nyqt3kb.js";
|
|
30
|
-
import"./index-sg2sd66b.js";
|
|
31
|
-
import"./index-697mg68b.js";
|
|
32
|
-
import"./index-8mrentmw.js";
|
|
33
|
-
import"./index-kzyw3315.js";
|
|
34
|
-
import"./index-x8cac18k.js";
|
|
35
|
-
import"./index-4y90ecpz.js";
|
|
36
|
-
import"./index-spggmr30.js";
|
|
37
|
-
import"./index-kekvdqj6.js";
|
|
38
|
-
import"./index-jrpfzv5r.js";
|
|
39
|
-
import"./index-m9zzj4ee.js";
|
|
40
|
-
import"./index-4krkevgc.js";
|
|
41
|
-
import"./index-wkbdfy1g.js";
|
|
42
|
-
import"./index-mhd6kdzr.js";
|
|
43
|
-
import"./index-rtry5xyf.js";
|
|
44
|
-
import"./index-6w1x38yd.js";
|
|
45
|
-
import"./index-g22dps7x.js";
|
|
46
|
-
import"./index-0725jpp7.js";
|
|
47
|
-
import"./index-16n2s0zf.js";
|
|
48
|
-
import"./index-v839c9mv.js";
|
|
49
|
-
import"./index-zjjxe0q5.js";
|
|
50
|
-
import"./index-2x015vjy.js";
|
|
51
|
-
import"./index-y7c4hqcj.js";
|
|
52
|
-
import"./index-ry16d01s.js";
|
|
53
|
-
import"./index-rdm3px0g.js";
|
|
54
|
-
import"./index-vtpt8yns.js";
|
|
55
|
-
import"./index-7pmbnjvj.js";
|
|
56
|
-
import"./index-8srvdpw6.js";
|
|
57
|
-
import"./index-9rwhas09.js";
|
|
58
|
-
import"./index-c5wk61ak.js";
|
|
59
|
-
import"./index-vzm6zre7.js";
|
|
60
|
-
import"./index-ae75rja9.js";
|
|
61
|
-
import"./index-4fkxdnc7.js";
|
|
62
|
-
import"./index-yyrnkc3a.js";
|
|
63
|
-
import"./index-q8vfw61p.js";
|
|
64
|
-
import"./index-t7hmqgjy.js";
|
|
65
|
-
import"./index-c2k7q723.js";
|
|
66
|
-
import"./index-te9hq2f4.js";
|
|
67
|
-
import"./index-ejhxgyvm.js";
|
|
68
|
-
import"./index-7g4c7s5r.js";
|
|
69
|
-
import"./index-mn75z39t.js";
|
|
70
|
-
import"./index-3t46mez1.js";
|
|
71
|
-
import"./index-76xnddca.js";
|
|
72
|
-
import"./index-sp2cxpaq.js";
|
|
73
|
-
import"./index-qbxk2rn6.js";
|
|
74
|
-
import"./index-zgwm4ryv.js";
|
|
75
|
-
import"./index-k5h4mmwd.js";
|
|
76
|
-
import"./index-xfzkq1k4.js";
|
|
77
|
-
import"./index-bk5tah7q.js";
|
|
78
|
-
import"./index-gknz3bv1.js";
|
|
79
|
-
import"./index-zpsr8rpc.js";
|
|
80
|
-
import"./index-a76rekgs.js";
|
|
81
|
-
export {
|
|
82
|
-
handleGuardrailExplain
|
|
83
|
-
};
|