opencode-swarm 7.144.0 → 7.144.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/dist/agents/architect.d.ts +65 -0
- package/dist/agents/coder.d.ts +1 -0
- package/dist/agents/critic.d.ts +1 -0
- package/dist/agents/explorer.d.ts +1 -0
- package/dist/agents/reviewer.d.ts +1 -0
- package/dist/cli/{ast-diff-ypptrcan.js → ast-diff-wbjcazfx.js} +5 -3
- package/dist/cli/{config-doctor-7gy47evn.js → config-doctor-7dfvxwjb.js} +3 -3
- package/dist/cli/{core-cpcspaw5.js → core-dwmwdc4y.js} +2 -2
- package/dist/cli/{curator-llm-factory-fyjmgxyp.js → curator-llm-factory-rrs1q4hg.js} +20 -20
- package/dist/cli/{curator-v97jnwn2.js → curator-w213v33y.js} +20 -20
- package/dist/cli/{evidence-summary-service-79mtxzhd.js → evidence-summary-service-t7n2h1he.js} +7 -7
- package/dist/cli/{explorer-18353rhn.js → explorer-zvk5kbcb.js} +3 -1
- package/dist/cli/{gate-evidence-kgyqz1g1.js → gate-evidence-xvxn603y.js} +3 -3
- package/dist/cli/{guardrail-explain-9ry66z5g.js → guardrail-explain-v1mwsnkq.js} +21 -21
- package/dist/cli/{guardrail-log-fe6smme1.js → guardrail-log-dn03dpz2.js} +4 -4
- package/dist/cli/{hive-promoter-vwq1dbh1.js → hive-promoter-asjtj7ga.js} +20 -20
- package/dist/cli/{index-8xertnqz.js → index-333kvewd.js} +4 -4
- package/dist/cli/{index-xmzmeknp.js → index-70ha9e09.js} +2 -1
- package/dist/cli/{index-269b52r3.js → index-7ca3a6gj.js} +3 -3
- package/dist/cli/{index-5n69863d.js → index-7ryh498h.js} +1 -173
- package/dist/cli/{index-vb9cpaz4.js → index-av0f6mm0.js} +5 -5
- package/dist/cli/{index-jqabjy7t.js → index-ckrasab9.js} +4 -4
- package/dist/cli/{index-jvbfrwt2.js → index-d55crzd4.js} +1 -1
- package/dist/cli/index-ddpkwdcb.js +176 -0
- package/dist/cli/{index-1pr8x10a.js → index-dg2w0wr4.js} +3 -3
- package/dist/cli/{index-tfkfyshg.js → index-dhh2j2nd.js} +2 -7
- package/dist/cli/{index-0ck3e366.js → index-g1c5fgaw.js} +1 -1
- package/dist/cli/{index-d45yrzkg.js → index-g2ajae1z.js} +2 -2
- package/dist/cli/{index-3q9w6e6v.js → index-h3z64mhz.js} +6 -2
- package/dist/cli/{index-6p09gyra.js → index-hqvt3mhk.js} +1 -1
- package/dist/cli/{index-evvbmbbv.js → index-jb4tchvy.js} +2 -2
- package/dist/cli/{index-rd2082y4.js → index-jsfghpy2.js} +2 -2
- package/dist/cli/{index-mw6p3nt6.js → index-m6wv2qdr.js} +1 -1
- package/dist/cli/{index-ewzmjm7m.js → index-ne8cfgw5.js} +1 -1
- package/dist/cli/{index-j1scj25g.js → index-nretd4qn.js} +6659 -1725
- package/dist/cli/{index-ez18gjk2.js → index-p3tnmkvc.js} +3 -3
- package/dist/cli/{index-3v3dxf75.js → index-qpt8ahph.js} +196 -93
- package/dist/cli/{index-e70d3xr7.js → index-tg9fn2dy.js} +22 -22
- package/dist/cli/{index-jqsfsqbx.js → index-whezv7vc.js} +4 -0
- package/dist/cli/{index-4905hd2m.js → index-wx8zdh4a.js} +6 -1
- package/dist/cli/{index-d45d4zyq.js → index-y95nwsge.js} +1 -1
- package/dist/cli/{index-zv4pwyas.js → index-zr370283.js} +3 -3
- package/dist/cli/index.js +22 -36
- package/dist/cli/{knowledge-escalator-rmy3jcx4.js → knowledge-escalator-cg19dhe5.js} +7 -7
- package/dist/cli/{knowledge-events-1tqpbwvj.js → knowledge-events-yzvysaqd.js} +5 -5
- package/dist/cli/{knowledge-store-389ck792.js → knowledge-store-6f77xpmm.js} +1 -1
- package/dist/cli/{knowledge-validator-kvtk6633.js → knowledge-validator-4b28zdxa.js} +2 -2
- package/dist/cli/{runtime-te94z1zb.js → runtime-x10qb3z1.js} +3 -2
- package/dist/cli/{scan-cursor-ahgm4f5p.js → scan-cursor-nqbb1xt6.js} +2 -2
- package/dist/cli/{schema-epdq7ykx.js → schema-jj2pb6zp.js} +2 -2
- package/dist/cli/{scope-persistence-37s9n40v.js → scope-persistence-63nasq0z.js} +5 -5
- package/dist/cli/{skill-generator-4d2t5gem.js → skill-generator-nsymtdqm.js} +8 -8
- package/dist/cli/tree-sitter-431q1bka.js +26 -0
- package/dist/cli/{worktree-isolation-4628yaka.js → worktree-isolation-g54kxw6x.js} +20 -20
- package/dist/config/constants.d.ts +1 -1
- package/dist/config/schema.d.ts +8 -0
- package/dist/hooks/review-receipt-scope.d.ts +42 -15
- package/dist/hooks/reviewer-scope-file-fingerprint.d.ts +58 -6
- package/dist/hooks/reviewer-scope-lifecycle.d.ts +9 -1
- package/dist/hooks/reviewer-scope-mergeback.d.ts +23 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +564 -522
- package/dist/memory/config.d.ts +6 -0
- package/dist/memory/consolidation.d.ts +2 -0
- package/dist/memory/gateway.d.ts +12 -1
- package/dist/memory/index.d.ts +6 -4
- package/dist/memory/jsonl-migration.d.ts +28 -3
- package/dist/memory/local-jsonl-provider.d.ts +16 -1
- package/dist/memory/maintenance.d.ts +5 -0
- package/dist/memory/memory-family-migration.d.ts +12 -0
- package/dist/memory/outcome-events.d.ts +24 -0
- package/dist/memory/provider.d.ts +7 -1
- package/dist/memory/reflection-injection.d.ts +1 -0
- package/dist/memory/reflection-service.d.ts +68 -0
- package/dist/memory/reflection.d.ts +41 -0
- package/dist/memory/schema.d.ts +13 -1
- package/dist/memory/sqlite-provider.d.ts +18 -1
- package/dist/memory/types.d.ts +19 -1
- package/dist/state.d.ts +107 -2
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/manifest.d.ts +1 -0
- package/dist/tools/swarm-memory-outcome.d.ts +11 -0
- package/dist/tools/tool-metadata.d.ts +4 -0
- package/package.json +1 -1
package/dist/state.d.ts
CHANGED
|
@@ -80,6 +80,27 @@ export interface TaskWorkflowCacheEntry {
|
|
|
80
80
|
* never evicted to make room.
|
|
81
81
|
*/
|
|
82
82
|
export declare const MAX_TRACKED_TASK_FILE_ATTRIBUTIONS = 128;
|
|
83
|
+
/** Typed per-file capture failure retained on a generation (issue #2100). */
|
|
84
|
+
export interface ReviewerScopeCaptureFailure {
|
|
85
|
+
file: string;
|
|
86
|
+
code: string;
|
|
87
|
+
retryable: boolean;
|
|
88
|
+
attempts: number;
|
|
89
|
+
at: number;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Merge-back provenance for lane-captured generations. `verified` records the
|
|
93
|
+
* primary-checkout match that makes the generation reviewable from the primary
|
|
94
|
+
* root; the failure arm retains an actionable typed reason instead of
|
|
95
|
+
* relabeling the generation as generic reviewer-stale.
|
|
96
|
+
*/
|
|
97
|
+
export type ReviewerScopeMergebackState = {
|
|
98
|
+
verifiedAt: number;
|
|
99
|
+
primaryWorkspaceIdentity: string;
|
|
100
|
+
} | {
|
|
101
|
+
failedAt: number;
|
|
102
|
+
reason: string;
|
|
103
|
+
};
|
|
83
104
|
/** Exact lifecycle state for one coder generation and its paired reviewer. */
|
|
84
105
|
export interface ReviewerScopeGeneration {
|
|
85
106
|
taskId: string;
|
|
@@ -87,14 +108,21 @@ export interface ReviewerScopeGeneration {
|
|
|
87
108
|
generation: number;
|
|
88
109
|
sessionIncarnation: string;
|
|
89
110
|
background: boolean;
|
|
111
|
+
/** Canonical root every capture/equality site must use (lane or primary). */
|
|
112
|
+
captureDirectory: string;
|
|
113
|
+
/** Canonical workspace identity of `captureDirectory` (issue #2100 root correctness). */
|
|
114
|
+
workspaceIdentity: string;
|
|
90
115
|
declaredFiles: string[];
|
|
91
116
|
modifiedFiles: string[];
|
|
92
117
|
modifiedFileFingerprints: import('./hooks/reviewer-scope-file-fingerprint.js').ReviewerScopeFileFingerprint[];
|
|
93
|
-
|
|
118
|
+
/** Last typed capture failure per file; cleared when that file later captures. */
|
|
119
|
+
captureFailures: ReviewerScopeCaptureFailure[];
|
|
120
|
+
status: 'collecting' | 'ready' | 'claimed' | 'no_change' | 'mergeback_pending' | 'mergeback_mismatch';
|
|
94
121
|
createdAt: number;
|
|
95
122
|
readyAt?: number;
|
|
96
123
|
reviewerCallID?: string;
|
|
97
124
|
reviewerDispatchScope?: ReviewerScopeDispatchSnapshot;
|
|
125
|
+
mergeback?: ReviewerScopeMergebackState;
|
|
98
126
|
}
|
|
99
127
|
export interface ReviewerScopeDispatchSnapshot {
|
|
100
128
|
hash: string;
|
|
@@ -121,6 +149,8 @@ export interface ReviewerScopeOwnershipTombstone extends ReviewerScopeGeneration
|
|
|
121
149
|
parentSessionID: string;
|
|
122
150
|
taskId: string;
|
|
123
151
|
background: true;
|
|
152
|
+
captureDirectory: string;
|
|
153
|
+
workspaceIdentity: string;
|
|
124
154
|
declaredFiles: string[];
|
|
125
155
|
modifiedFiles: string[];
|
|
126
156
|
modifiedFileFingerprints: import('./hooks/reviewer-scope-file-fingerprint.js').ReviewerScopeFileFingerprint[];
|
|
@@ -742,6 +772,10 @@ export declare function startReviewerScopeGeneration(input: {
|
|
|
742
772
|
coderCallID: string;
|
|
743
773
|
background?: boolean;
|
|
744
774
|
declaredFiles?: string[];
|
|
775
|
+
/** Canonical root post-write capture must read from (lane or primary). */
|
|
776
|
+
captureDirectory: string;
|
|
777
|
+
/** Canonical workspace identity of `captureDirectory` (scope-binding identity). */
|
|
778
|
+
workspaceIdentity: string;
|
|
745
779
|
createdAt?: number;
|
|
746
780
|
}): ReviewerScopeGeneration | null;
|
|
747
781
|
/** Route one child-observed write to its exact parent/task/coder generation. */
|
|
@@ -755,6 +789,7 @@ export declare function recordReviewerScopeGenerationFile(input: {
|
|
|
755
789
|
/**
|
|
756
790
|
* Record the bounded post-write state only after a guarded child write returns
|
|
757
791
|
* successfully. Pre-write routing in modifiedFiles remains authorization metadata.
|
|
792
|
+
* A successful capture clears any retained typed failure for that file.
|
|
758
793
|
*/
|
|
759
794
|
export declare function recordReviewerScopeGenerationFileFingerprint(input: {
|
|
760
795
|
parentSessionID: string;
|
|
@@ -762,12 +797,71 @@ export declare function recordReviewerScopeGenerationFileFingerprint(input: {
|
|
|
762
797
|
coderCallID: string;
|
|
763
798
|
fingerprint: import('./hooks/reviewer-scope-file-fingerprint.js').ReviewerScopeFileFingerprint;
|
|
764
799
|
}): boolean;
|
|
765
|
-
/**
|
|
800
|
+
/**
|
|
801
|
+
* Retain the LAST typed capture failure per file (upsert by file, bounded at
|
|
802
|
+
* the generation file cap). Failures are diagnostic recovery metadata — they
|
|
803
|
+
* never invalidate a generation by themselves.
|
|
804
|
+
*/
|
|
805
|
+
export declare function recordReviewerScopeGenerationCaptureFailure(input: {
|
|
806
|
+
parentSessionID: string;
|
|
807
|
+
taskId: string;
|
|
808
|
+
coderCallID: string;
|
|
809
|
+
file: string;
|
|
810
|
+
code: string;
|
|
811
|
+
retryable: boolean;
|
|
812
|
+
at?: number;
|
|
813
|
+
}): boolean;
|
|
814
|
+
/**
|
|
815
|
+
* Mark the exact coder call terminal. Transactional publication (issue #2100
|
|
816
|
+
* contract E): `ready` is published only when every observed file has exactly
|
|
817
|
+
* one exact fingerprint — a half-populated fingerprint array is never exposed
|
|
818
|
+
* as reviewable. Incomplete generations stay `collecting` (recoverable).
|
|
819
|
+
*/
|
|
766
820
|
export declare function markReviewerScopeGenerationReady(input: {
|
|
767
821
|
parentSessionID: string;
|
|
768
822
|
taskId: string;
|
|
769
823
|
coderCallID: string;
|
|
770
824
|
readyAt?: number;
|
|
825
|
+
/** Canonical identity of the primary checkout; a lane-rooted generation is not reviewable from it until merge-back verification repoints the root. */
|
|
826
|
+
primaryWorkspaceIdentity?: string;
|
|
827
|
+
}): boolean;
|
|
828
|
+
/** Truthful no-change terminal: zero observed writes, verified zero diff (issue #2100 contract F). */
|
|
829
|
+
export declare function markReviewerScopeGenerationNoChange(input: {
|
|
830
|
+
parentSessionID: string;
|
|
831
|
+
taskId: string;
|
|
832
|
+
coderCallID: string;
|
|
833
|
+
at?: number;
|
|
834
|
+
}): boolean;
|
|
835
|
+
/**
|
|
836
|
+
* A lane-captured generation awaits merge-back verification before it is
|
|
837
|
+
* reviewable from the primary root. Conflicts/deferred merges retain the
|
|
838
|
+
* generation here — they are never relabeled as generic reviewer-stale.
|
|
839
|
+
*/
|
|
840
|
+
export declare function markReviewerScopeGenerationMergebackPending(input: {
|
|
841
|
+
parentSessionID: string;
|
|
842
|
+
taskId?: string;
|
|
843
|
+
coderCallID: string;
|
|
844
|
+
at?: number;
|
|
845
|
+
}): boolean;
|
|
846
|
+
/**
|
|
847
|
+
* Pure state transition for merge-back settlement: a verified primary match
|
|
848
|
+
* publishes `ready`; a typed reason retains the generation as
|
|
849
|
+
* `mergeback_mismatch` for an actionable architect retry.
|
|
850
|
+
*/
|
|
851
|
+
export declare function settleReviewerScopeMergeback(input: {
|
|
852
|
+
parentSessionID: string;
|
|
853
|
+
taskId?: string;
|
|
854
|
+
coderCallID: string;
|
|
855
|
+
outcome: {
|
|
856
|
+
verified: true;
|
|
857
|
+
primaryWorkspaceIdentity: string;
|
|
858
|
+
primaryDirectory: string;
|
|
859
|
+
at?: number;
|
|
860
|
+
} | {
|
|
861
|
+
verified: false;
|
|
862
|
+
reason: string;
|
|
863
|
+
at?: number;
|
|
864
|
+
};
|
|
771
865
|
}): boolean;
|
|
772
866
|
/** Read one exact coder generation for terminal guardrail/evidence checks. */
|
|
773
867
|
export declare function getReviewerScopeGenerationForCoderCall(input: {
|
|
@@ -782,6 +876,17 @@ export declare function peekReadyReviewerScopeGeneration(input: {
|
|
|
782
876
|
taskId: string;
|
|
783
877
|
now?: number;
|
|
784
878
|
}): ReviewerScopeGeneration | null;
|
|
879
|
+
/**
|
|
880
|
+
* Inspect the single generation for a task in a NON-reviewable status
|
|
881
|
+
* (`no_change` | `mergeback_pending` | `mergeback_mismatch`) so lifecycle
|
|
882
|
+
* denials can name the exact typed recovery action instead of generic stale.
|
|
883
|
+
*/
|
|
884
|
+
export declare function peekReviewerScopeGenerationByStatus(input: {
|
|
885
|
+
parentSessionID: string;
|
|
886
|
+
taskId: string;
|
|
887
|
+
status: 'no_change' | 'mergeback_pending' | 'mergeback_mismatch';
|
|
888
|
+
now?: number;
|
|
889
|
+
}): ReviewerScopeGeneration | null;
|
|
785
890
|
/**
|
|
786
891
|
* Claim the only ready generation for an exact task after every blocking
|
|
787
892
|
* reviewer before-hook has passed. Ambiguity fails closed to no receipt.
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -79,6 +79,7 @@ export { run_stale_reconciliation } from './stale-reconciliation';
|
|
|
79
79
|
export { submit_phase_council_verdicts } from './submit-phase-council-verdicts';
|
|
80
80
|
export { summarize_work } from './summarize-work';
|
|
81
81
|
export { createSwarmCommandTool, swarm_command } from './swarm-command';
|
|
82
|
+
export { swarm_memory_outcome } from './swarm-memory-outcome';
|
|
82
83
|
export { swarm_memory_propose } from './swarm-memory-propose';
|
|
83
84
|
export { swarm_memory_recall } from './swarm-memory-recall';
|
|
84
85
|
export { write_architecture_supervisor_evidence } from './write-architecture-supervisor-evidence';
|
package/dist/tools/manifest.d.ts
CHANGED
|
@@ -122,6 +122,7 @@ export declare const TOOL_MANIFEST: {
|
|
|
122
122
|
knowledge_archive: () => ToolDefinition;
|
|
123
123
|
swarm_memory_recall: () => ToolDefinition;
|
|
124
124
|
swarm_memory_propose: () => ToolDefinition;
|
|
125
|
+
swarm_memory_outcome: () => ToolDefinition;
|
|
125
126
|
swarm_command: () => ToolDefinition;
|
|
126
127
|
dispatch_lanes: () => ToolDefinition;
|
|
127
128
|
dispatch_lanes_async: () => ToolDefinition;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { loadPluginConfigWithMeta } from '../config';
|
|
2
|
+
import { createMemoryGateway, recordOutcomeWithReflection } from '../memory';
|
|
3
|
+
import { getAgentSession } from '../state';
|
|
4
|
+
import { createSwarmTool } from './create-tool';
|
|
5
|
+
export declare const swarm_memory_outcome: ReturnType<typeof createSwarmTool>;
|
|
6
|
+
export declare const _internals: {
|
|
7
|
+
loadPluginConfigWithMeta: typeof loadPluginConfigWithMeta;
|
|
8
|
+
createMemoryGateway: typeof createMemoryGateway;
|
|
9
|
+
getAgentSession: typeof getAgentSession;
|
|
10
|
+
recordOutcomeWithReflection: typeof recordOutcomeWithReflection;
|
|
11
|
+
};
|
|
@@ -516,6 +516,10 @@ export declare const TOOL_METADATA: {
|
|
|
516
516
|
description: string;
|
|
517
517
|
agents: never[];
|
|
518
518
|
};
|
|
519
|
+
swarm_memory_outcome: {
|
|
520
|
+
description: string;
|
|
521
|
+
agents: never[];
|
|
522
|
+
};
|
|
519
523
|
swarm_command: {
|
|
520
524
|
description: string;
|
|
521
525
|
agents: ("reviewer" | "critic" | "critic_finding_validator" | "explorer" | "coder" | "test_engineer" | "architect" | "sme" | "researcher" | "docs" | "docs_design" | "designer")[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencode-swarm",
|
|
3
|
-
"version": "7.144.
|
|
3
|
+
"version": "7.144.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",
|