opencode-swarm 7.145.0 → 7.145.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.opencode/skills/phase-wrap/SKILL.md +3 -2
- package/README.md +5 -1
- package/dist/background/workspace-snapshot.d.ts +29 -0
- package/dist/cli/{config-doctor-dzsv3pqy.js → config-doctor-j1r33f4q.js} +3 -3
- package/dist/cli/{core-qkh9me8x.js → core-c2zrd384.js} +4 -4
- package/dist/cli/{curation-policy-5x6346tf.js → curation-policy-xv0j8zyt.js} +6 -6
- package/dist/cli/{curator-zssndq5x.js → curator-gk2kmrk1.js} +31 -31
- package/dist/cli/{curator-llm-factory-q5p4578g.js → curator-llm-factory-sat3mn5n.js} +31 -31
- package/dist/cli/{evidence-summary-service-dqcpapj8.js → evidence-summary-service-0mhx0t0v.js} +14 -14
- package/dist/cli/{gate-evidence-bkdqryqg.js → gate-evidence-a5adh55x.js} +9 -9
- package/dist/cli/{guardrail-explain-kspf83x5.js → guardrail-explain-r50fery8.js} +32 -32
- package/dist/cli/{guardrail-log-qg4sq6gr.js → guardrail-log-p69eys6d.js} +4 -4
- package/dist/cli/{hive-promoter-3h7dhnek.js → hive-promoter-ay8a7sct.js} +31 -31
- package/dist/cli/{index-wk54ey3h.js → index-0a0asz2s.js} +1 -1
- package/dist/cli/{index-2dnqazyr.js → index-1g87esfp.js} +2 -2
- package/dist/cli/{index-0pcq32y2.js → index-2vefr1f8.js} +1 -1
- package/dist/cli/{index-fp464as8.js → index-4p3qfb05.js} +1 -1
- package/dist/cli/{index-77ef8gye.js → index-5e5a1y2r.js} +1 -1
- package/dist/cli/{index-0jr9zn34.js → index-612rr70a.js} +2 -2
- package/dist/cli/{index-apjdytwx.js → index-673axbjx.js} +3 -3
- package/dist/cli/{index-qfawexc8.js → index-6wf75rcm.js} +6 -6
- package/dist/cli/{index-k6pdsct6.js → index-7y5akvc9.js} +1 -1
- package/dist/cli/{index-hfzcztv6.js → index-9080b3de.js} +34 -34
- package/dist/cli/{index-v64kjqvg.js → index-917z76qr.js} +25 -18
- package/dist/cli/{index-ffdwj1an.js → index-97psh79d.js} +1 -1
- package/dist/cli/{index-kp87kr1a.js → index-9gt8g2qj.js} +4 -4
- package/dist/cli/{index-4e5a28h7.js → index-b9kxxd6k.js} +2 -2
- package/dist/cli/{index-pa86tpgt.js → index-bghwrr59.js} +1 -1
- package/dist/cli/{index-6ezbzd5e.js → index-cb2qtetk.js} +682 -181
- package/dist/cli/{index-v3y3qg48.js → index-cpg98bh1.js} +17 -1
- package/dist/cli/{index-c13ttmak.js → index-cxn95n7q.js} +180 -32
- package/dist/cli/{index-7g276m9m.js → index-czde45km.js} +3 -3
- package/dist/cli/{index-zfhe7vbb.js → index-gpnv14kq.js} +2 -2
- package/dist/cli/{index-6q3agdmr.js → index-j20fzn0w.js} +2 -2
- package/dist/cli/{index-mkks7jwg.js → index-jgb7mq2y.js} +4 -4
- package/dist/cli/{index-h4hasck4.js → index-jpppcckq.js} +4 -4
- package/dist/cli/{index-4evasm2b.js → index-kggqpefz.js} +5 -5
- package/dist/cli/{index-s6cwsnrw.js → index-n55a28zr.js} +254 -36
- package/dist/cli/{index-b3xret0a.js → index-ncfjxz9n.js} +5 -5
- package/dist/cli/{index-e00wbqw5.js → index-np4ytvvv.js} +2 -2
- package/dist/cli/{index-jy9bwa9k.js → index-nsr5b69r.js} +2 -2
- package/dist/cli/{index-zz5qsjd1.js → index-qyvjp0bq.js} +66 -38
- package/dist/cli/{index-6hqhyb0f.js → index-rk80jhef.js} +19 -5
- package/dist/cli/{index-4zwjc9sb.js → index-vav705md.js} +101 -4
- package/dist/cli/{index-s72naw1j.js → index-x8pm918t.js} +1 -1
- package/dist/cli/{index-b30x236n.js → index-z9yhhk6q.js} +96 -8
- package/dist/cli/index.js +32 -32
- package/dist/cli/{knowledge-escalator-w1mbaktt.js → knowledge-escalator-22apj3dj.js} +14 -14
- package/dist/cli/{knowledge-events-a0dj6gy6.js → knowledge-events-bx8xba9z.js} +12 -12
- package/dist/cli/{knowledge-link-mzdjvjsd.js → knowledge-link-82ew2yc4.js} +5 -5
- package/dist/cli/{knowledge-store-8kk3rghx.js → knowledge-store-nc71kfsg.js} +6 -6
- package/dist/cli/{knowledge-validator-91ym56e0.js → knowledge-validator-g8ne80v6.js} +8 -8
- package/dist/cli/model-preflight-7ea00h34.js +170 -0
- package/dist/cli/{pending-delegations-6vsrmw5w.js → pending-delegations-kkrczqv7.js} +3 -3
- package/dist/cli/{pr-subscriptions-zc3skxde.js → pr-subscriptions-2xn238xt.js} +3 -3
- package/dist/cli/{runner-jj32v8bk.js → runner-pqsf809k.js} +6 -6
- package/dist/cli/{scan-cursor-12jxwd14.js → scan-cursor-6ksgv514.js} +7 -7
- package/dist/cli/{schema-nq9tcz87.js → schema-mpcm7nje.js} +2 -2
- package/dist/cli/{scope-persistence-dv6z7n08.js → scope-persistence-mj1w3hqw.js} +11 -8
- package/dist/cli/{skill-generator-drscnzq9.js → skill-generator-gsa6qwwt.js} +16 -16
- package/dist/cli/{telemetry-z54dgdrh.js → telemetry-t109dhv7.js} +1 -1
- package/dist/cli/{workspace-snapshot-q21mgbsh.js → workspace-snapshot-kznz5e13.js} +4 -2
- package/dist/cli/{worktree-collision-ownership-rfyyjjct.js → worktree-collision-ownership-2jtg2my1.js} +8 -8
- package/dist/cli/{worktree-isolation-4tehtym5.js → worktree-isolation-ajzyp2gm.js} +33 -31
- package/dist/config/schema.d.ts +2 -2
- package/dist/evidence/task-gate-repair.d.ts +26 -0
- package/dist/evidence/task-gate-requirements.d.ts +20 -0
- package/dist/gate-evidence.d.ts +7 -0
- package/dist/hooks/delegation-gate/worktree-isolation.d.ts +4 -0
- package/dist/hooks/knowledge-receipt-ledger-storage.d.ts +2 -0
- package/dist/hooks/knowledge-receipt-ledger.d.ts +72 -3
- package/dist/hooks/knowledge-receipt-observability.d.ts +1 -1
- package/dist/hooks/phase-complete-directive-gate.d.ts +9 -0
- package/dist/index.js +566 -546
- package/dist/observability/catalog.d.ts +2 -2
- package/dist/plan/manager.d.ts +8 -0
- package/dist/review/diff-source.d.ts +30 -0
- package/dist/review/engine.d.ts +1 -0
- package/dist/review/evidence.d.ts +16 -2
- package/dist/review/phase-runner.d.ts +1 -0
- package/dist/scope/scope-binding.d.ts +16 -0
- package/dist/services/model-preflight.d.ts +151 -0
- package/dist/services/session-reflection.d.ts +24 -0
- package/dist/telemetry.d.ts +12 -1
- package/dist/tools/completion-verify.d.ts +2 -0
- package/dist/tools/convene-council.d.ts +1 -1
- package/dist/tools/index.d.ts +4 -0
- package/dist/tools/manifest.d.ts +4 -0
- package/dist/tools/phase-complete/gates/final-review-gate.d.ts +3 -3
- package/dist/tools/phase-complete/gates/types.d.ts +2 -2
- package/dist/tools/phase-complete/preflight-report.d.ts +66 -0
- package/dist/tools/phase-complete/snapshot-identity.d.ts +1 -0
- package/dist/tools/phase-complete.d.ts +66 -3
- package/dist/tools/placeholder-scan.d.ts +64 -0
- package/dist/tools/record-directive-override.d.ts +14 -0
- package/dist/tools/repair-gate-evidence.d.ts +6 -0
- package/dist/tools/repair-knowledge-receipt-ledger.d.ts +27 -0
- package/dist/tools/run-phase-review.d.ts +37 -0
- package/dist/tools/sast-scan.d.ts +6 -0
- package/dist/tools/submit-phase-council-verdicts.d.ts +1 -1
- package/dist/tools/tool-metadata.d.ts +32 -16
- package/dist/tools/write-final-council-evidence.d.ts +1 -1
- package/dist/tools/write-retro.d.ts +2 -0
- package/package.json +1 -1
- package/dist/cli/{curator-drift-yn5d0mvq.js → curator-drift-r50x1rac.js} +1 -1
|
@@ -36,8 +36,72 @@ export interface PlaceholderScanResult {
|
|
|
36
36
|
files_with_findings: number;
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Classify a single expression node as a "constant literal" for stub-skeleton
|
|
41
|
+
* detection. Returns true for nodes whose source text is one of:
|
|
42
|
+
* - `null`, `true`, `false` (JS/TS keywords; Python `none`/`True`/`False` differ)
|
|
43
|
+
* - `number` literals (e.g. `0`, `1`)
|
|
44
|
+
* - `string` literals (e.g. `""`)
|
|
45
|
+
* - `array` literals (e.g. `[]`)
|
|
46
|
+
* - `object` literals (e.g. `{}`)
|
|
47
|
+
* - `unary_expression` with operator `-` and number operand (e.g. `-1`)
|
|
48
|
+
* - `identifier` (a named constant reference, e.g. `CONFIG_DEFAULTS`)
|
|
49
|
+
* - `template_string` with NO `template_substitution` children
|
|
50
|
+
* (i.e. `\`hello\`` is constant; `\`hello ${world}\`` is not)
|
|
51
|
+
*
|
|
52
|
+
* Note: Python's `none`/`True`/`False`/`integer`/`float`/`string`/`list`/
|
|
53
|
+
* `dictionary`/`tuple` map to tree-sitter-python grammar node types and
|
|
54
|
+
* follow the same classification rules.
|
|
55
|
+
*/
|
|
56
|
+
declare function isConstantLiteralNode(node: any): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Determine whether a function's body (or expression body) is a "stub
|
|
59
|
+
* skeleton" — exactly one effective statement, and that statement is a
|
|
60
|
+
* constant return (or, for expression-bodied arrows, the body expression
|
|
61
|
+
* itself is a constant).
|
|
62
|
+
*
|
|
63
|
+
* Returns true when the function IS a stub skeleton.
|
|
64
|
+
* Returns false when the function has substantive subsequent behavior
|
|
65
|
+
* (the constant return is a guard clause, not a stub).
|
|
66
|
+
*/
|
|
67
|
+
declare function isStubSkeletonFunction(fnNode: any): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Walk a tree-sitter root node and collect the line numbers of all function
|
|
70
|
+
* bodies whose structure is NOT a pure stub skeleton. These are the lines
|
|
71
|
+
* where a regex `code-stub-return` finding should be suppressed, because
|
|
72
|
+
* the function has substantive subsequent behavior and the constant return
|
|
73
|
+
* is a guard clause.
|
|
74
|
+
*
|
|
75
|
+
* For expression-bodied arrows (where the body's range equals the arrow's
|
|
76
|
+
* own range), we add only the lines that are INSIDE the body expression
|
|
77
|
+
* itself, NOT the entire arrow's range — otherwise a curried arrow like
|
|
78
|
+
* `const f = () => () => null;` would suppress the inner stub's finding
|
|
79
|
+
* (because the outer arrow's range covers the inner arrow too).
|
|
80
|
+
*
|
|
81
|
+
* Recognized function-like node types:
|
|
82
|
+
* - TS/JS: `function_declaration`, `generator_function_declaration`,
|
|
83
|
+
* `method_definition`, `arrow_function`, `function_expression`,
|
|
84
|
+
* `generator_function`
|
|
85
|
+
* - Python: `function_definition`
|
|
86
|
+
*
|
|
87
|
+
* `method_definition` nodes with no body (abstract/declared methods) are
|
|
88
|
+
* skipped. Getters and setters classify by their body like normal methods.
|
|
89
|
+
*/
|
|
90
|
+
declare function collectNonStubBodyLines(rootNode: any): Set<number>;
|
|
39
91
|
/**
|
|
40
92
|
* Scan files for placeholder content (TODO/FIXME comments, stub implementations, etc.)
|
|
41
93
|
*/
|
|
42
94
|
export declare function placeholderScan(input: PlaceholderScanInput, directory: string): Promise<PlaceholderScanResult>;
|
|
43
95
|
export declare const placeholder_scan: ReturnType<typeof tool>;
|
|
96
|
+
/**
|
|
97
|
+
* Internal seam for direct testing of the body-shape walker without
|
|
98
|
+
* exercising the full placeholderScan pipeline. Mirrors the `_internals`
|
|
99
|
+
* pattern from `src/lang/backends/typescript.ts:343-351` (AGENTS.md
|
|
100
|
+
* invariant 7 — DI over `mock.module`).
|
|
101
|
+
*/
|
|
102
|
+
export declare const _internals: {
|
|
103
|
+
readonly collectNonStubBodyLines: typeof collectNonStubBodyLines;
|
|
104
|
+
readonly isStubSkeletonFunction: typeof isStubSkeletonFunction;
|
|
105
|
+
readonly isConstantLiteralNode: typeof isConstantLiteralNode;
|
|
106
|
+
};
|
|
107
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ToolContext, ToolDefinition } from '@opencode-ai/plugin/tool';
|
|
2
|
+
import { recordDirectiveOverrides } from '../hooks/phase-complete-directive-gate.js';
|
|
3
|
+
import { loadPlan } from '../plan/manager.js';
|
|
4
|
+
export interface RecordDirectiveOverrideArgs {
|
|
5
|
+
directive_ids: string[];
|
|
6
|
+
justification: string;
|
|
7
|
+
phase: number;
|
|
8
|
+
}
|
|
9
|
+
export declare const recordDirectiveOverrideInternals: {
|
|
10
|
+
loadPlan: typeof loadPlan;
|
|
11
|
+
recordDirectiveOverrides: typeof recordDirectiveOverrides;
|
|
12
|
+
};
|
|
13
|
+
export declare function executeRecordDirectiveOverride(args: RecordDirectiveOverrideArgs, directory: string, ctx?: Pick<ToolContext, 'sessionID' | 'agent'>): Promise<Record<string, unknown>>;
|
|
14
|
+
export declare const record_directive_override: ToolDefinition;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ToolContext, ToolDefinition } from '@opencode-ai/plugin/tool';
|
|
2
|
+
import { type RepairGateEvidenceArgs } from '../evidence/task-gate-repair.js';
|
|
3
|
+
export declare function executeRepairGateEvidence(args: RepairGateEvidenceArgs & {
|
|
4
|
+
working_directory?: string;
|
|
5
|
+
}, directory: string, _ctx?: ToolContext): Promise<import("../evidence/task-gate-repair.js").RepairGateEvidenceResult>;
|
|
6
|
+
export declare const repair_gate_evidence: ToolDefinition;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ToolContext, ToolDefinition } from '@opencode-ai/plugin/tool';
|
|
2
|
+
import { type RepairKnowledgeReceiptLedgerInput } from '../hooks/knowledge-receipt-ledger.js';
|
|
3
|
+
export declare function executeRepairKnowledgeReceiptLedger(args: RepairKnowledgeReceiptLedgerInput & {
|
|
4
|
+
working_directory?: string;
|
|
5
|
+
}, directory: string, _ctx?: ToolContext): Promise<{
|
|
6
|
+
success: boolean;
|
|
7
|
+
message: string;
|
|
8
|
+
errors: string[];
|
|
9
|
+
code?: undefined;
|
|
10
|
+
} | {
|
|
11
|
+
success: boolean;
|
|
12
|
+
message: string;
|
|
13
|
+
errors: string[];
|
|
14
|
+
code: import("../hooks/knowledge-receipt-ledger-storage.js").ReceiptStoreErrorCode | "legacy_unverifiable";
|
|
15
|
+
} | {
|
|
16
|
+
ok: true;
|
|
17
|
+
status: "validated_projection" | "repaired_authority" | "pending_re_evaluation";
|
|
18
|
+
pending_re_evaluation: boolean;
|
|
19
|
+
repair_id?: string;
|
|
20
|
+
salvage_through_seq: number;
|
|
21
|
+
salvage_through_hash: string;
|
|
22
|
+
success: boolean;
|
|
23
|
+
message: string;
|
|
24
|
+
errors?: undefined;
|
|
25
|
+
code?: undefined;
|
|
26
|
+
}>;
|
|
27
|
+
export declare const repair_knowledge_receipt_ledger: ToolDefinition;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { ToolDefinition } from '@opencode-ai/plugin/tool';
|
|
2
|
+
import { loadPluginConfigWithMeta as loadPluginConfigWithMeta_import } from '../config/index.js';
|
|
3
|
+
import type { ReviewModelDispatcher } from '../review/contracts.js';
|
|
4
|
+
import { type ReviewAgentModelRegistry } from '../review/runtime.js';
|
|
5
|
+
export interface RunPhaseReviewArgs {
|
|
6
|
+
phase: number;
|
|
7
|
+
sessionID: string;
|
|
8
|
+
is_final_plan_phase?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface RunPhaseReviewResult {
|
|
11
|
+
success: boolean;
|
|
12
|
+
trigger?: 'phase_completion' | 'plan_completion';
|
|
13
|
+
status?: 'completed' | 'clean' | 'error';
|
|
14
|
+
blocked?: boolean;
|
|
15
|
+
blockReason?: string;
|
|
16
|
+
scopeHash?: string;
|
|
17
|
+
manifestHash?: string;
|
|
18
|
+
scopeComplete?: boolean;
|
|
19
|
+
evidencePath?: string;
|
|
20
|
+
receiptPath?: string;
|
|
21
|
+
message: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Test-only dependency-injection seam.
|
|
25
|
+
* @tool-opt-out Test-only dependency-injection seam; not a public tool.
|
|
26
|
+
*/
|
|
27
|
+
export declare const _internals: {
|
|
28
|
+
loadPluginConfigWithMeta: typeof loadPluginConfigWithMeta_import;
|
|
29
|
+
};
|
|
30
|
+
export declare function executeRunPhaseReview(directory: string, args: RunPhaseReviewArgs, options?: {
|
|
31
|
+
dispatcher?: ReviewModelDispatcher;
|
|
32
|
+
generatedAgentNames?: readonly string[];
|
|
33
|
+
agentModelRegistry?: ReviewAgentModelRegistry;
|
|
34
|
+
activeAgentName?: string;
|
|
35
|
+
}): Promise<RunPhaseReviewResult>;
|
|
36
|
+
export declare function createRunPhaseReviewTool(dispatcher?: ReviewModelDispatcher, generatedAgentNames?: readonly string[], agentModelRegistry?: ReviewAgentModelRegistry, getActiveAgentName?: (sessionID: string) => string | undefined): ToolDefinition;
|
|
37
|
+
export declare const run_phase_review: ToolDefinition;
|
|
@@ -59,6 +59,12 @@ export interface SastScanResult {
|
|
|
59
59
|
medium: number;
|
|
60
60
|
low: number;
|
|
61
61
|
};
|
|
62
|
+
/**
|
|
63
|
+
* Issue #2271 bug 3: present when every input was skipped for having no
|
|
64
|
+
* SAST language profile (non-code diff) — the scan passed because there
|
|
65
|
+
* was nothing to scan, and this counts the skipped non-code inputs.
|
|
66
|
+
*/
|
|
67
|
+
files_skipped_non_code?: number;
|
|
62
68
|
};
|
|
63
69
|
/** 'baseline_captured' when capture_baseline:true succeeded */
|
|
64
70
|
status?: 'baseline_captured' | 'baseline_merged';
|
|
@@ -8,9 +8,9 @@ export declare const ArgsSchema: z.ZodObject<{
|
|
|
8
8
|
verdicts: z.ZodArray<z.ZodObject<{
|
|
9
9
|
agent: z.ZodEnum<{
|
|
10
10
|
reviewer: "reviewer";
|
|
11
|
+
test_engineer: "test_engineer";
|
|
11
12
|
critic: "critic";
|
|
12
13
|
explorer: "explorer";
|
|
13
|
-
test_engineer: "test_engineer";
|
|
14
14
|
sme: "sme";
|
|
15
15
|
}>;
|
|
16
16
|
verdict: z.ZodEnum<{
|
|
@@ -34,7 +34,7 @@ export interface ToolMeta {
|
|
|
34
34
|
export declare const TOOL_METADATA: {
|
|
35
35
|
diff: {
|
|
36
36
|
description: string;
|
|
37
|
-
agents: ("
|
|
37
|
+
agents: ("coder" | "reviewer" | "test_engineer" | "critic_oversight" | "critic_finding_validator" | "architect")[];
|
|
38
38
|
prWorkflow: {
|
|
39
39
|
modes: ("PR_REVIEW" | "PR_FEEDBACK")[];
|
|
40
40
|
capability: "observe";
|
|
@@ -66,7 +66,7 @@ export declare const TOOL_METADATA: {
|
|
|
66
66
|
};
|
|
67
67
|
imports: {
|
|
68
68
|
description: string;
|
|
69
|
-
agents: ("
|
|
69
|
+
agents: ("coder" | "reviewer" | "test_engineer" | "critic" | "critic_finding_validator" | "architect" | "sme" | "researcher" | "docs" | "docs_design" | "critic_sounding_board" | "critic_drift_verifier" | "critic_hallucination_verifier")[];
|
|
70
70
|
prWorkflow: {
|
|
71
71
|
modes: ("PR_REVIEW" | "PR_FEEDBACK")[];
|
|
72
72
|
capability: "observe";
|
|
@@ -74,7 +74,7 @@ export declare const TOOL_METADATA: {
|
|
|
74
74
|
};
|
|
75
75
|
lint: {
|
|
76
76
|
description: string;
|
|
77
|
-
agents: ("
|
|
77
|
+
agents: ("coder" | "reviewer" | "critic_finding_validator" | "architect")[];
|
|
78
78
|
prWorkflow: {
|
|
79
79
|
modes: "PR_REVIEW"[];
|
|
80
80
|
capability: "validate";
|
|
@@ -114,11 +114,11 @@ export declare const TOOL_METADATA: {
|
|
|
114
114
|
};
|
|
115
115
|
symbols: {
|
|
116
116
|
description: string;
|
|
117
|
-
agents: ("
|
|
117
|
+
agents: ("coder" | "reviewer" | "test_engineer" | "critic" | "critic_finding_validator" | "architect" | "sme" | "researcher" | "docs" | "docs_design" | "designer" | "critic_sounding_board" | "critic_drift_verifier" | "critic_hallucination_verifier" | "spec_writer")[];
|
|
118
118
|
};
|
|
119
119
|
complexity_hotspots: {
|
|
120
120
|
description: string;
|
|
121
|
-
agents: ("reviewer" | "
|
|
121
|
+
agents: ("reviewer" | "test_engineer" | "critic" | "critic_oversight" | "critic_finding_validator" | "explorer" | "architect" | "sme" | "researcher" | "critic_sounding_board" | "critic_drift_verifier" | "critic_hallucination_verifier")[];
|
|
122
122
|
};
|
|
123
123
|
schema_drift: {
|
|
124
124
|
description: string;
|
|
@@ -210,7 +210,7 @@ export declare const TOOL_METADATA: {
|
|
|
210
210
|
};
|
|
211
211
|
pkg_audit: {
|
|
212
212
|
description: string;
|
|
213
|
-
agents: ("reviewer" | "
|
|
213
|
+
agents: ("reviewer" | "test_engineer" | "critic_oversight" | "critic_finding_validator" | "architect" | "critic_hallucination_verifier")[];
|
|
214
214
|
prWorkflow: {
|
|
215
215
|
modes: "PR_REVIEW"[];
|
|
216
216
|
capability: "validate";
|
|
@@ -238,7 +238,7 @@ export declare const TOOL_METADATA: {
|
|
|
238
238
|
};
|
|
239
239
|
test_runner: {
|
|
240
240
|
description: string;
|
|
241
|
-
agents: ("reviewer" | "
|
|
241
|
+
agents: ("reviewer" | "test_engineer" | "critic_finding_validator" | "architect")[];
|
|
242
242
|
prWorkflow: {
|
|
243
243
|
modes: "PR_REVIEW"[];
|
|
244
244
|
capability: "validate";
|
|
@@ -246,7 +246,7 @@ export declare const TOOL_METADATA: {
|
|
|
246
246
|
};
|
|
247
247
|
test_impact: {
|
|
248
248
|
description: string;
|
|
249
|
-
agents: ("reviewer" | "
|
|
249
|
+
agents: ("reviewer" | "test_engineer" | "critic_oversight" | "critic_finding_validator" | "architect")[];
|
|
250
250
|
prWorkflow: {
|
|
251
251
|
modes: ("PR_REVIEW" | "PR_FEEDBACK")[];
|
|
252
252
|
capability: "observe";
|
|
@@ -282,7 +282,7 @@ export declare const TOOL_METADATA: {
|
|
|
282
282
|
};
|
|
283
283
|
retrieve_summary: {
|
|
284
284
|
description: string;
|
|
285
|
-
agents: ("
|
|
285
|
+
agents: ("coder" | "reviewer" | "test_engineer" | "critic" | "critic_finding_validator" | "architect" | "sme" | "docs" | "docs_design" | "designer" | "critic_sounding_board" | "critic_drift_verifier" | "critic_hallucination_verifier" | "critic_architecture_supervisor" | "spec_writer")[];
|
|
286
286
|
prWorkflow: {
|
|
287
287
|
modes: ("PR_REVIEW" | "PR_FEEDBACK")[];
|
|
288
288
|
capability: "observe";
|
|
@@ -304,6 +304,22 @@ export declare const TOOL_METADATA: {
|
|
|
304
304
|
description: string;
|
|
305
305
|
agents: "architect"[];
|
|
306
306
|
};
|
|
307
|
+
run_phase_review: {
|
|
308
|
+
description: string;
|
|
309
|
+
agents: "architect"[];
|
|
310
|
+
};
|
|
311
|
+
repair_gate_evidence: {
|
|
312
|
+
description: string;
|
|
313
|
+
agents: "architect"[];
|
|
314
|
+
};
|
|
315
|
+
repair_knowledge_receipt_ledger: {
|
|
316
|
+
description: string;
|
|
317
|
+
agents: "architect"[];
|
|
318
|
+
};
|
|
319
|
+
record_directive_override: {
|
|
320
|
+
description: string;
|
|
321
|
+
agents: "architect"[];
|
|
322
|
+
};
|
|
307
323
|
save_plan: {
|
|
308
324
|
description: string;
|
|
309
325
|
agents: "architect"[];
|
|
@@ -362,7 +378,7 @@ export declare const TOOL_METADATA: {
|
|
|
362
378
|
};
|
|
363
379
|
knowledge_recall: {
|
|
364
380
|
description: string;
|
|
365
|
-
agents: ("
|
|
381
|
+
agents: ("coder" | "reviewer" | "test_engineer" | "critic" | "critic_oversight" | "critic_finding_validator" | "explorer" | "architect" | "sme" | "docs" | "docs_design" | "designer" | "critic_sounding_board" | "critic_drift_verifier" | "critic_hallucination_verifier" | "critic_architecture_supervisor" | "curator_init" | "curator_phase" | "skill_improver" | "spec_writer")[];
|
|
366
382
|
};
|
|
367
383
|
knowledge_remove: {
|
|
368
384
|
description: string;
|
|
@@ -378,11 +394,11 @@ export declare const TOOL_METADATA: {
|
|
|
378
394
|
};
|
|
379
395
|
search: {
|
|
380
396
|
description: string;
|
|
381
|
-
agents: ("
|
|
397
|
+
agents: ("coder" | "reviewer" | "test_engineer" | "critic_oversight" | "critic_finding_validator" | "explorer" | "architect" | "sme" | "researcher" | "docs" | "docs_design" | "designer" | "critic_hallucination_verifier" | "skill_improver" | "spec_writer")[];
|
|
382
398
|
};
|
|
383
399
|
ast_grep: {
|
|
384
400
|
description: string;
|
|
385
|
-
agents: ("
|
|
401
|
+
agents: ("coder" | "test_engineer" | "explorer" | "architect" | "sme" | "researcher" | "docs" | "docs_design" | "critic_hallucination_verifier" | "spec_writer")[];
|
|
386
402
|
};
|
|
387
403
|
actionlint_scan: {
|
|
388
404
|
description: string;
|
|
@@ -434,7 +450,7 @@ export declare const TOOL_METADATA: {
|
|
|
434
450
|
};
|
|
435
451
|
repo_map: {
|
|
436
452
|
description: string;
|
|
437
|
-
agents: ("reviewer" | "critic" | "critic_oversight" | "critic_finding_validator" | "explorer" | "
|
|
453
|
+
agents: ("coder" | "reviewer" | "critic" | "critic_oversight" | "critic_finding_validator" | "explorer" | "architect" | "critic_sounding_board" | "critic_drift_verifier" | "critic_hallucination_verifier" | "critic_architecture_supervisor")[];
|
|
438
454
|
prWorkflow: {
|
|
439
455
|
modes: ("PR_REVIEW" | "PR_FEEDBACK")[];
|
|
440
456
|
capability: "observe";
|
|
@@ -502,7 +518,7 @@ export declare const TOOL_METADATA: {
|
|
|
502
518
|
};
|
|
503
519
|
knowledge_receipt: {
|
|
504
520
|
description: string;
|
|
505
|
-
agents: ("
|
|
521
|
+
agents: ("coder" | "reviewer" | "test_engineer" | "critic" | "critic_finding_validator" | "architect" | "sme" | "docs" | "docs_design" | "designer" | "critic_sounding_board" | "critic_drift_verifier" | "critic_hallucination_verifier" | "critic_architecture_supervisor" | "curator_init" | "curator_phase" | "skill_improver" | "spec_writer")[];
|
|
506
522
|
};
|
|
507
523
|
knowledge_archive: {
|
|
508
524
|
description: string;
|
|
@@ -522,7 +538,7 @@ export declare const TOOL_METADATA: {
|
|
|
522
538
|
};
|
|
523
539
|
swarm_command: {
|
|
524
540
|
description: string;
|
|
525
|
-
agents: ("
|
|
541
|
+
agents: ("coder" | "reviewer" | "test_engineer" | "critic" | "critic_finding_validator" | "explorer" | "architect" | "sme" | "researcher" | "docs" | "docs_design" | "designer")[];
|
|
526
542
|
};
|
|
527
543
|
dispatch_lanes: {
|
|
528
544
|
description: string;
|
|
@@ -538,7 +554,7 @@ export declare const TOOL_METADATA: {
|
|
|
538
554
|
};
|
|
539
555
|
summarize_work: {
|
|
540
556
|
description: string;
|
|
541
|
-
agents: ("
|
|
557
|
+
agents: ("coder" | "test_engineer" | "explorer" | "architect" | "sme" | "researcher" | "docs" | "docs_design" | "designer")[];
|
|
542
558
|
};
|
|
543
559
|
write_architecture_supervisor_evidence: {
|
|
544
560
|
description: string;
|
|
@@ -9,9 +9,9 @@ export declare const ArgsSchema: z.ZodObject<{
|
|
|
9
9
|
verdicts: z.ZodArray<z.ZodObject<{
|
|
10
10
|
agent: z.ZodEnum<{
|
|
11
11
|
reviewer: "reviewer";
|
|
12
|
+
test_engineer: "test_engineer";
|
|
12
13
|
critic: "critic";
|
|
13
14
|
explorer: "explorer";
|
|
14
|
-
test_engineer: "test_engineer";
|
|
15
15
|
sme: "sme";
|
|
16
16
|
}>;
|
|
17
17
|
verdict: z.ZodEnum<{
|
|
@@ -12,6 +12,8 @@ import type { ToolDefinition } from '@opencode-ai/plugin/tool';
|
|
|
12
12
|
export interface WriteRetroArgs {
|
|
13
13
|
/** The phase number being completed (maps to phase_number in schema) */
|
|
14
14
|
phase: number;
|
|
15
|
+
/** Explicit phase verdict recorded by the retrospective gate */
|
|
16
|
+
verdict?: 'pass' | 'fail';
|
|
15
17
|
/** Human-readable phase summary (maps to summary in BaseEvidenceSchema) */
|
|
16
18
|
summary: string;
|
|
17
19
|
/** Count of tasks completed */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencode-swarm",
|
|
3
|
-
"version": "7.145.
|
|
3
|
+
"version": "7.145.2",
|
|
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",
|
|
@@ -6,13 +6,13 @@ import {
|
|
|
6
6
|
readEffectiveSpecSync
|
|
7
7
|
} from "./index-9ss2m4rs.js";
|
|
8
8
|
import"./index-n832052r.js";
|
|
9
|
+
import"./index-4rhhvd1a.js";
|
|
9
10
|
import {
|
|
10
11
|
readSwarmFileAsync,
|
|
11
12
|
validateSwarmPath
|
|
12
13
|
} from "./index-w8pgjr75.js";
|
|
13
14
|
import"./index-z6xqpmqg.js";
|
|
14
15
|
import"./index-zj6t9zgx.js";
|
|
15
|
-
import"./index-4rhhvd1a.js";
|
|
16
16
|
import"./index-zjygnfay.js";
|
|
17
17
|
import"./index-bpmtbmy9.js";
|
|
18
18
|
import {
|