opencode-swarm 7.106.0 → 7.107.1
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/critic-gate/SKILL.md +19 -5
- package/.opencode/skills/plan/SKILL.md +18 -3
- package/.opencode/skills/resume/SKILL.md +4 -1
- package/.opencode/skills/writing-tests/SKILL.md +31 -0
- package/dist/agents/critic.d.ts +1 -1
- package/dist/agents/explorer.d.ts +2 -2
- package/dist/cli/curator-drift-6ad8mxxb.js +211 -0
- package/dist/cli/curator-llm-factory-gdhtm1hh.js +31 -0
- package/dist/cli/curator-np2ky29t.js +51 -0
- package/dist/cli/{evidence-summary-service-v9kmv783.js → evidence-summary-service-dh44gevz.js} +4 -3
- package/dist/cli/{explorer-rwfvbbx5.js → explorer-ksr3xq7n.js} +1 -1
- package/dist/cli/{guardrail-explain-fvjc90wa.js → guardrail-explain-414smfg4.js} +13 -11
- package/dist/cli/hive-promoter-y9r8d315.js +39 -0
- package/dist/cli/{index-ydgy7vg5.js → index-09xpycan.js} +31 -5
- package/dist/cli/index-357p0baj.js +719 -0
- package/dist/cli/{index-7dtekwvd.js → index-7v734syt.js} +1 -1
- package/dist/cli/{index-z4t3w4xf.js → index-87d4wsv9.js} +14 -12
- package/dist/cli/{index-vwyjkzgs.js → index-9wstcavp.js} +1 -1
- package/dist/cli/index-c8s9a3zh.js +73 -0
- package/dist/cli/{index-f4yjypa4.js → index-gt514nt1.js} +29028 -27099
- package/dist/cli/{index-k2rmw9sz.js → index-jjp5qrjv.js} +265 -843
- package/dist/cli/{index-e9n3xsk0.js → index-t4hbye3v.js} +1 -1
- package/dist/cli/index.js +12 -10
- package/dist/cli/{pending-delegations-dvprsdfy.js → pending-delegations-46xf2n2e.js} +2 -2
- package/dist/cli/{pr-subscriptions-zfxjtyzw.js → pr-subscriptions-3c34rnm1.js} +3 -3
- package/dist/cli/{skill-generator-99rrfwae.js → skill-generator-y6mmq8n5.js} +1 -1
- package/dist/commands/curate.d.ts +38 -1
- package/dist/commands/registry.d.ts +2 -2
- package/dist/commands/reset-session.d.ts +10 -0
- package/dist/hooks/curator-postmortem.d.ts +52 -3
- package/dist/hooks/curator.d.ts +2 -1
- package/dist/hooks/delegation-gate/worktree-isolation.d.ts +3 -1
- package/dist/hooks/guardrails/index.d.ts +3 -1
- package/dist/hooks/system-enhancer.d.ts +4 -0
- package/dist/index.js +458 -386
- package/dist/plan/manager.d.ts +15 -1
- package/dist/tools/update-task-status.d.ts +1 -0
- package/dist/utils/spec-hash.d.ts +36 -0
- package/package.json +1 -1
- package/dist/cli/{index-7ztmmqpt.js → index-mpe0yk9s.js} +3 -3
package/dist/plan/manager.d.ts
CHANGED
|
@@ -173,6 +173,18 @@ export declare function closePlanTerminalState(directory: string, plan: Plan, op
|
|
|
173
173
|
closedTaskIds: string[];
|
|
174
174
|
originalStatuses?: Map<string, string>;
|
|
175
175
|
}): Promise<void>;
|
|
176
|
+
/**
|
|
177
|
+
* Check whether a task is in a settled state (not pending/in_progress).
|
|
178
|
+
*
|
|
179
|
+
* Settled = status is neither 'pending' nor 'in_progress' (i.e. 'completed',
|
|
180
|
+
* 'closed', or 'blocked'). Returns FALSE when the task is not found or the
|
|
181
|
+
* plan cannot be loaded, so callers only block on known-settled tasks and
|
|
182
|
+
* allow unknown/missing tasks through.
|
|
183
|
+
*
|
|
184
|
+
* Used by the advanceTaskStateAndPersist preflight to prevent re-dispatching
|
|
185
|
+
* a task that has already reached a terminal plan state.
|
|
186
|
+
*/
|
|
187
|
+
export declare function isTaskSettled(directory: string, taskId: string): Promise<boolean>;
|
|
176
188
|
/**
|
|
177
189
|
* Load plan → find task by ID → update status → save → return updated plan.
|
|
178
190
|
* Throw if plan not found or task not found.
|
|
@@ -185,7 +197,9 @@ export declare function closePlanTerminalState(directory: string, plan: Plan, op
|
|
|
185
197
|
* The migration guard in loadPlan() (plan_id identity check) prevents destructive
|
|
186
198
|
* revert after a swarm rename — so this is safe even in post-migration scenarios.
|
|
187
199
|
*/
|
|
188
|
-
export declare function updateTaskStatus(directory: string, taskId: string, status: TaskStatus
|
|
200
|
+
export declare function updateTaskStatus(directory: string, taskId: string, status: TaskStatus, options?: {
|
|
201
|
+
force?: boolean;
|
|
202
|
+
}): Promise<Plan>;
|
|
189
203
|
/**
|
|
190
204
|
* Generate deterministic markdown view from plan object.
|
|
191
205
|
* Ensures stable ordering: phases by ID (ascending), tasks by ID (natural numeric).
|
|
@@ -14,12 +14,48 @@ export declare function isSpecStale(directory: string, plan: Plan): Promise<{
|
|
|
14
14
|
reason?: string;
|
|
15
15
|
currentHash?: string | null;
|
|
16
16
|
}>;
|
|
17
|
+
/**
|
|
18
|
+
* Returns true iff the recorded spec snapshot and the current effective spec
|
|
19
|
+
* have IDENTICAL obligation-bearing PARAGRAPHS. A paragraph is a block of
|
|
20
|
+
* text separated by blank lines. A paragraph is obligation-bearing if ANY
|
|
21
|
+
* line in it matches /\bSC-\d+/, /\bFR-\d+/, or contains MUST or SHALL
|
|
22
|
+
* (case-insensitive).
|
|
23
|
+
*
|
|
24
|
+
* This paragraph-level comparison detects changes on continuation lines within
|
|
25
|
+
* an obligation paragraph (where the obligation marker is on one line but the
|
|
26
|
+
* body text that changes meaning is on a subsequent line without a token).
|
|
27
|
+
*
|
|
28
|
+
* Conservative default: if the snapshot is missing, the current spec is missing,
|
|
29
|
+
* or any error occurs during reading or comparison, returns false so the edit
|
|
30
|
+
* falls back to the block-with-diff path.
|
|
31
|
+
*/
|
|
32
|
+
export declare function isObligationPreserving(directory: string): boolean;
|
|
17
33
|
/**
|
|
18
34
|
* DI seam for testability. Contains all test-mocked exports.
|
|
19
35
|
* Internal calls should use _internals.fn() instead of fn() directly.
|
|
20
36
|
*/
|
|
21
37
|
export declare const _internals: {
|
|
38
|
+
computeSpecDiff: typeof computeSpecDiff;
|
|
22
39
|
computeSpecHash: typeof computeSpecHash;
|
|
40
|
+
isObligationPreserving: typeof isObligationPreserving;
|
|
23
41
|
isSpecStale: typeof isSpecStale;
|
|
24
42
|
readEffectiveSpecSync: typeof readEffectiveSpecSync;
|
|
25
43
|
};
|
|
44
|
+
/**
|
|
45
|
+
* Computes a unified line diff between the recorded spec snapshot and the
|
|
46
|
+
* current effective spec. Returns null if no snapshot exists (cannot diff).
|
|
47
|
+
*
|
|
48
|
+
* Diff format: lines prefixed with ' ' (unchanged), '+' (added), '-' (removed).
|
|
49
|
+
* Changed sections are markdown headings (lines starting with '## ') that
|
|
50
|
+
* appear in added or removed lines.
|
|
51
|
+
*
|
|
52
|
+
* The diff is capped at 300 lines; when exceeded, only the changed-sections
|
|
53
|
+
* summary is returned alongside a truncated diff.
|
|
54
|
+
*
|
|
55
|
+
* Uses synchronous reads internally so it can be called from sync contexts
|
|
56
|
+
* (e.g. the spec-drift guardrail block path).
|
|
57
|
+
*/
|
|
58
|
+
export declare function computeSpecDiff(directory: string): {
|
|
59
|
+
diff: string;
|
|
60
|
+
changedSections: string[];
|
|
61
|
+
} | null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencode-swarm",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.107.1",
|
|
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",
|