opencode-swarm 7.140.0 → 7.140.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/commit-pr/SKILL.md +7 -0
- package/.opencode/skills/issue-ingest/SKILL.md +32 -1
- package/.opencode/skills/swarm-pr-feedback/SKILL.md +21 -5
- package/.opencode/skills/swarm-pr-review/SKILL.md +75 -17
- package/dist/background/candidate-contract.d.ts +3 -0
- package/dist/cli/{config-doctor-3bm8pvnb.js → config-doctor-shc0n4q1.js} +3 -3
- package/dist/cli/{core-jtj9j6z5.js → core-p5cyej3r.js} +2 -2
- package/dist/cli/{curation-policy-zkvkg4np.js → curation-policy-7n6t8he4.js} +2 -2
- package/dist/cli/{curator-llm-factory-kbqtk2wm.js → curator-llm-factory-pr4bdfqw.js} +14 -14
- package/dist/cli/{curator-78ejknh2.js → curator-zp5qq24c.js} +14 -14
- package/dist/cli/{guardrail-explain-d6emse0z.js → guardrail-explain-thddj6jv.js} +15 -15
- package/dist/cli/{guardrail-log-27d6r2xq.js → guardrail-log-w8fmxe1x.js} +4 -4
- package/dist/cli/{hive-promoter-r5x4a2ta.js → hive-promoter-0yg3gxg6.js} +14 -14
- package/dist/cli/{index-43k8ntw7.js → index-0tevsq1a.js} +2 -2
- package/dist/cli/{index-ma8vk3v1.js → index-1j5my2qy.js} +2 -2
- package/dist/cli/{index-s38e38qy.js → index-325zmfyj.js} +4 -4
- package/dist/cli/{index-scbp2d32.js → index-4rje8dc0.js} +16 -16
- package/dist/cli/{index-6yv6wda9.js → index-7ax0bkqh.js} +1 -1
- package/dist/cli/{index-hbnsmnb0.js → index-898f16j9.js} +1 -1
- package/dist/cli/{index-f8dhh53t.js → index-9txca231.js} +3 -3
- package/dist/cli/{index-0pqh1710.js → index-bmmzfrc7.js} +2 -2
- package/dist/cli/{index-0jbhmm8b.js → index-chx92bes.js} +2 -2
- package/dist/cli/{index-p6h8f59v.js → index-jfp1bgt1.js} +1 -1
- package/dist/cli/{index-r4t92q32.js → index-n408rw7n.js} +9 -1
- package/dist/cli/{index-mb34t6w9.js → index-n831qq2v.js} +459 -178
- package/dist/cli/{index-6ykm2eha.js → index-t59cdg48.js} +1 -1
- package/dist/cli/{index-chycpf9y.js → index-vjqe1z2w.js} +3 -3
- package/dist/cli/{index-zebb6yw0.js → index-x6mtyj6q.js} +2 -2
- package/dist/cli/{index-6d7jkk1s.js → index-y98ngs4g.js} +2 -2
- package/dist/cli/{index-bdnrrx3w.js → index-yt3vz0e1.js} +1 -1
- package/dist/cli/{index-fxw0zvxc.js → index-z6md3t8m.js} +5 -5
- package/dist/cli/index.js +14 -14
- package/dist/cli/{knowledge-escalator-qjdfv9sj.js → knowledge-escalator-58tw74js.js} +3 -3
- package/dist/cli/{knowledge-events-7szzg70x.js → knowledge-events-knr0pfq4.js} +1 -1
- package/dist/cli/{knowledge-store-9mr7a9n8.js → knowledge-store-e2srcd89.js} +1 -1
- package/dist/cli/{knowledge-validator-58s2j0dp.js → knowledge-validator-1dtj02q8.js} +4 -4
- package/dist/cli/{scan-cursor-h3j1egky.js → scan-cursor-7tqsvbp8.js} +2 -2
- package/dist/cli/{schema-9ryqandr.js → schema-b046zss2.js} +2 -2
- package/dist/cli/{skill-generator-66ez26yh.js → skill-generator-bvph9d98.js} +5 -5
- package/dist/commands/registry.d.ts +1 -1
- package/dist/git/pr-workflow-state.d.ts +3 -1
- package/dist/hooks/issue-trace-reducer.d.ts +37 -13
- package/dist/hooks/issue-trace-state.d.ts +38 -9
- package/dist/hooks/issue-trace.d.ts +15 -2
- package/dist/hooks/pr-workflow-gate.d.ts +21 -7
- package/dist/index.js +117 -107
- package/dist/tools/complete-pr-workflow.d.ts +6 -0
- package/dist/tools/gh-evidence.d.ts +6 -0
- package/dist/tools/index.d.ts +2 -0
- package/dist/tools/manifest.d.ts +2 -0
- package/dist/tools/prepare-pr-workflow-checkout.d.ts +11 -0
- package/dist/tools/record-issue-publication.d.ts +16 -0
- package/dist/tools/record-issue-reproduction.d.ts +22 -0
- package/dist/tools/tool-metadata.d.ts +8 -0
- package/package.json +1 -1
|
@@ -1,5 +1,11 @@
|
|
|
1
|
+
import { completePrWorkflow } from '../hooks/pr-workflow-gate.js';
|
|
1
2
|
import { createSwarmTool } from './create-tool.js';
|
|
3
|
+
import { listPendingPrWorkflowCheckoutRestores } from './prepare-pr-workflow-checkout.js';
|
|
2
4
|
export declare function executeCompletePrWorkflow(args: unknown, directory: string, context?: {
|
|
3
5
|
sessionID?: string;
|
|
4
6
|
}): Promise<string>;
|
|
5
7
|
export declare const complete_pr_workflow: ReturnType<typeof createSwarmTool>;
|
|
8
|
+
export declare const _internals: {
|
|
9
|
+
completePrWorkflow: typeof completePrWorkflow;
|
|
10
|
+
listPendingPrWorkflowCheckoutRestores: typeof listPendingPrWorkflowCheckoutRestores;
|
|
11
|
+
};
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import type { ToolDefinition } from '@opencode-ai/plugin/tool';
|
|
2
2
|
import { resolveExecutableFromPath, runExternalTool } from '../utils/external-tool-runner';
|
|
3
|
+
interface GhBinaryCandidateOptions {
|
|
4
|
+
env?: Pick<NodeJS.ProcessEnv, 'ProgramFiles' | 'ProgramFiles(x86)' | 'LOCALAPPDATA'>;
|
|
5
|
+
platform?: NodeJS.Platform;
|
|
6
|
+
}
|
|
7
|
+
export declare function resolveGhBinaryCandidates(options?: GhBinaryCandidateOptions): string[];
|
|
3
8
|
declare function resolveGhBinary(): string | null;
|
|
4
9
|
export declare const gh_evidence: ToolDefinition;
|
|
5
10
|
export declare const _internals: {
|
|
11
|
+
resolveGhBinaryCandidates: typeof resolveGhBinaryCandidates;
|
|
6
12
|
resolveExecutableFromPath: typeof resolveExecutableFromPath;
|
|
7
13
|
resolveGhBinary: typeof resolveGhBinary;
|
|
8
14
|
runExternalTool: typeof runExternalTool;
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -106,6 +106,8 @@ export { lean_turbo_status } from './lean-turbo-status';
|
|
|
106
106
|
export { lint_spec } from './lint-spec';
|
|
107
107
|
export { mutation_test } from './mutation-test';
|
|
108
108
|
export { executePreparePrWorkflowCheckout, prepare_pr_workflow_checkout, } from './prepare-pr-workflow-checkout';
|
|
109
|
+
export { executeRecordIssuePublication, record_issue_publication, } from './record-issue-publication';
|
|
110
|
+
export { executeRecordIssueReproduction, record_issue_reproduction, } from './record-issue-reproduction';
|
|
109
111
|
export { executeRunPrFeedbackStageA, run_pr_feedback_stage_a, } from './run-pr-feedback-stage-a';
|
|
110
112
|
export { symbols } from './symbols';
|
|
111
113
|
export { type SyntaxCheckFileResult, type SyntaxCheckInput, type SyntaxCheckResult, syntax_check, syntaxCheck, } from './syntax-check';
|
package/dist/tools/manifest.d.ts
CHANGED
|
@@ -46,6 +46,8 @@ export declare const TOOL_MANIFEST: {
|
|
|
46
46
|
abort_pr_workflow: () => ToolDefinition;
|
|
47
47
|
approve_plan_critic: () => ToolDefinition;
|
|
48
48
|
prepare_pr_workflow_checkout: () => ToolDefinition;
|
|
49
|
+
record_issue_publication: () => ToolDefinition;
|
|
50
|
+
record_issue_reproduction: () => ToolDefinition;
|
|
49
51
|
run_pr_feedback_stage_a: () => ToolDefinition;
|
|
50
52
|
submit_council_verdicts: () => ToolDefinition;
|
|
51
53
|
submit_phase_council_verdicts: () => ToolDefinition;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { classifyPrWorkflowGitState } from '../git/pr-workflow-state.js';
|
|
2
2
|
import { createSwarmTool } from './create-tool.js';
|
|
3
|
+
export interface PrWorkflowCheckoutRestoreInventoryItem {
|
|
4
|
+
stash_oid: string;
|
|
5
|
+
stash_present: boolean | null;
|
|
6
|
+
}
|
|
3
7
|
/**
|
|
4
8
|
* Preserve explicit dirty tracked files before the unbound PR checkout.
|
|
5
9
|
*
|
|
@@ -19,6 +23,11 @@ declare function runGit(directory: string, args: string[], options?: {
|
|
|
19
23
|
exitCode: number;
|
|
20
24
|
stdout: string;
|
|
21
25
|
}>;
|
|
26
|
+
declare function readBoundedGitStdout(stream: {
|
|
27
|
+
getReader(): ReadableStreamDefaultReader<Uint8Array>;
|
|
28
|
+
}, onOverflow: () => void): Promise<string>;
|
|
29
|
+
declare function removeCheckoutRestoreReceipt(receiptPath: string): Promise<void>;
|
|
30
|
+
export declare function listPendingPrWorkflowCheckoutRestores(directory: string, sessionID: string): Promise<PrWorkflowCheckoutRestoreInventoryItem[]>;
|
|
22
31
|
/**
|
|
23
32
|
* Test-only seam for every Git invocation this file makes (stash push/list/show,
|
|
24
33
|
* status). Originally added to serialize concurrent real-Git checkout
|
|
@@ -27,7 +36,9 @@ declare function runGit(directory: string, args: string[], options?: {
|
|
|
27
36
|
*/
|
|
28
37
|
export declare const _internals: {
|
|
29
38
|
runGit: typeof runGit;
|
|
39
|
+
readBoundedGitStdout: typeof readBoundedGitStdout;
|
|
30
40
|
classifyGitState: typeof classifyPrWorkflowGitState;
|
|
41
|
+
removeCheckoutRestoreReceipt: typeof removeCheckoutRestoreReceipt;
|
|
31
42
|
};
|
|
32
43
|
export declare const prepare_pr_workflow_checkout: ReturnType<typeof createSwarmTool>;
|
|
33
44
|
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* record_issue_publication — persist an issue-bound publication receipt for the
|
|
3
|
+
* issue-trace workflow (issue #2131 finding 2.4).
|
|
4
|
+
*
|
|
5
|
+
* The issue-trace reducer reaches `publication_handoff` when all implementation
|
|
6
|
+
* phases are complete and the commit-pr directive has been emitted, but that is
|
|
7
|
+
* NOT a terminal "issue resolved" state. The trace reaches `published` (the only
|
|
8
|
+
* terminal state) only after an issue-bound publication receipt is observed.
|
|
9
|
+
* commit-pr invokes this tool after PR creation/update. The reader
|
|
10
|
+
* (`publicationReceiptExists` in issue-trace-state.ts) accepts the receipt only
|
|
11
|
+
* when `published === true` AND `issueNumber` matches the traced issue — so a
|
|
12
|
+
* prior issue's receipt cannot satisfy a new trace.
|
|
13
|
+
*/
|
|
14
|
+
import { createSwarmTool } from './create-tool';
|
|
15
|
+
export declare function executeRecordIssuePublication(args: unknown, directory: string): Promise<string>;
|
|
16
|
+
export declare const record_issue_publication: ReturnType<typeof createSwarmTool>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* record_issue_reproduction — persist an issue-bound reproduction receipt for
|
|
3
|
+
* the issue-trace workflow (issue #2131 finding 2.6).
|
|
4
|
+
*
|
|
5
|
+
* The issue-trace reducer requires reproduction evidence (OR a typed waiver)
|
|
6
|
+
* before the localization → PLAN transition can fire. The noRepro flag/waiver
|
|
7
|
+
* path is set by `/swarm issue --no-repro`; this tool is the writer for the
|
|
8
|
+
* case where reproduction was actually performed. The reader
|
|
9
|
+
* (`reproductionReceiptExists` in issue-trace-state.ts) accepts the receipt only
|
|
10
|
+
* when `performed === true` and `issueNumber` matches the traced issue.
|
|
11
|
+
*
|
|
12
|
+
* Note: this is an agent self-attestation, not an independently verified
|
|
13
|
+
* reproduction — it records the commands the agent ran and the output summary it
|
|
14
|
+
* observed. It raises the bar from unchecked prose to a structured, issue-bound
|
|
15
|
+
* artifact with a session provenance stamp, but does not itself prove the
|
|
16
|
+
* reproduction exercises the defect.
|
|
17
|
+
*/
|
|
18
|
+
import { createSwarmTool } from './create-tool';
|
|
19
|
+
export declare function executeRecordIssueReproduction(args: unknown, directory: string, context?: {
|
|
20
|
+
sessionID?: string;
|
|
21
|
+
}): Promise<string>;
|
|
22
|
+
export declare const record_issue_reproduction: ReturnType<typeof createSwarmTool>;
|
|
@@ -164,6 +164,14 @@ export declare const TOOL_METADATA: {
|
|
|
164
164
|
description: string;
|
|
165
165
|
agents: "architect"[];
|
|
166
166
|
};
|
|
167
|
+
record_issue_publication: {
|
|
168
|
+
description: string;
|
|
169
|
+
agents: "architect"[];
|
|
170
|
+
};
|
|
171
|
+
record_issue_reproduction: {
|
|
172
|
+
description: string;
|
|
173
|
+
agents: "architect"[];
|
|
174
|
+
};
|
|
167
175
|
run_pr_feedback_stage_a: {
|
|
168
176
|
description: string;
|
|
169
177
|
agents: "architect"[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencode-swarm",
|
|
3
|
-
"version": "7.140.
|
|
3
|
+
"version": "7.140.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",
|