opencode-swarm 7.146.4 → 7.147.0
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/cli/{ast-diff-wbjcazfx.js → ast-diff-665tewz6.js} +1 -1
- package/dist/cli/{config-doctor-578ebqhn.js → config-doctor-7a2z00qt.js} +2 -2
- package/dist/cli/{core-2ne03a43.js → core-50jqqm4g.js} +1 -1
- package/dist/cli/{curator-w52frg17.js → curator-3t7e3hf9.js} +18 -18
- package/dist/cli/{curator-llm-factory-6hgn7p6n.js → curator-llm-factory-7cm4494k.js} +18 -18
- package/dist/cli/{evidence-summary-service-nj4p6a0d.js → evidence-summary-service-8n16gxgm.js} +6 -6
- package/dist/cli/{gate-evidence-4vnjdh9y.js → gate-evidence-496qt72z.js} +2 -2
- package/dist/cli/{guardrail-explain-rq01z1yz.js → guardrail-explain-my9zj5pj.js} +19 -19
- package/dist/cli/{guardrail-log-ratb651f.js → guardrail-log-dy9b5qtt.js} +3 -3
- package/dist/cli/{hive-promoter-pbm9kee1.js → hive-promoter-mspppqbp.js} +18 -18
- package/dist/cli/{index-t798v5pq.js → index-15twmgzf.js} +20 -20
- package/dist/cli/{index-vdrwj7z0.js → index-20ndbsmh.js} +3 -3
- package/dist/cli/{index-ffqdah8s.js → index-6c17bqbj.js} +5 -5
- package/dist/cli/{index-brb64k96.js → index-92r9z3yk.js} +538 -82
- package/dist/cli/{index-fp2d44f5.js → index-a3fky5pd.js} +1 -1
- package/dist/cli/{index-96zkay2e.js → index-argd4rp4.js} +1 -1
- package/dist/cli/{index-6eycwm3v.js → index-at1m1k5k.js} +3 -3
- package/dist/cli/{index-7sy3aa9m.js → index-b43rt5ph.js} +3 -3
- package/dist/cli/{index-xsxj4vbf.js → index-b67y7an8.js} +1 -1
- package/dist/cli/{index-g335vrc7.js → index-bgefx261.js} +1 -1
- package/dist/cli/{index-kv2j4cnq.js → index-er61pycf.js} +4 -4
- package/dist/cli/{index-df8xj9hr.js → index-hmssmyvh.js} +1 -1
- package/dist/cli/{index-kjmcp9mf.js → index-k5ng170v.js} +1 -1
- package/dist/cli/{index-jgwhpza8.js → index-mdwvn7qe.js} +2 -2
- package/dist/cli/{index-3neh2mxk.js → index-mfmegbz2.js} +1 -1
- package/dist/cli/{index-wesj94x0.js → index-ms46zgwb.js} +2 -2
- package/dist/cli/{index-5cbbtbvf.js → index-pna97bbk.js} +3 -3
- package/dist/cli/{index-gr3zfcsh.js → index-sh8xbyca.js} +1 -1
- package/dist/cli/{index-g2r8nknz.js → index-tya6ytex.js} +1 -1
- package/dist/cli/{index-dp5w9s5z.js → index-w4ybhzyg.js} +3 -3
- package/dist/cli/{index-bq4mvwht.js → index-yjvtk1w2.js} +2 -2
- package/dist/cli/{index-1mbdwy12.js → index-yq1fxahj.js} +1 -1
- package/dist/cli/index.js +18 -18
- package/dist/cli/{knowledge-escalator-jbazxmk5.js → knowledge-escalator-7gw36zj8.js} +6 -6
- package/dist/cli/{knowledge-events-jyqy3st8.js → knowledge-events-r1xak0yw.js} +4 -4
- package/dist/cli/{knowledge-store-e2defagd.js → knowledge-store-wzzke013.js} +1 -1
- package/dist/cli/{knowledge-validator-pnmdsw2b.js → knowledge-validator-mma2bbgp.js} +2 -2
- package/dist/cli/{scan-cursor-snx85enn.js → scan-cursor-0vcx58aa.js} +2 -2
- package/dist/cli/{schema-6rmxzg6g.js → schema-qr135rxc.js} +1 -1
- package/dist/cli/{scope-persistence-23cqafkx.js → scope-persistence-x7v9mb9k.js} +4 -4
- package/dist/cli/{skill-generator-980zjk9q.js → skill-generator-aee04dwa.js} +7 -7
- package/dist/cli/{worktree-isolation-4d0nc04c.js → worktree-isolation-ar52a7xr.js} +18 -18
- package/dist/index.js +25 -8
- package/dist/lang/symbol-visibility.d.ts +13 -0
- package/dist/tools/repo-graph/builder.d.ts +19 -0
- package/dist/tools/repo-graph/ontology.d.ts +23 -0
- package/dist/tools/repo-graph/types.d.ts +34 -6
- package/package.json +1 -1
|
@@ -34,6 +34,19 @@ export interface SymbolVisibilityContext {
|
|
|
34
34
|
pythonAllNames?: Set<string> | null;
|
|
35
35
|
/** For Python methods: true if the enclosing class is exported (in __all__ or public naming convention) */
|
|
36
36
|
pythonParentClassExported?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Tree-sitter node type of the nearest enclosing type container
|
|
39
|
+
* (`class_declaration`, `interface_declaration`, `enum_declaration`,
|
|
40
|
+
* `record_declaration`, `struct_declaration`, `object_declaration`), or
|
|
41
|
+
* `undefined` when the declaration has no enclosing type container.
|
|
42
|
+
*
|
|
43
|
+
* Only populated for the JVM/.NET grammars (java/kotlin/csharp), where the
|
|
44
|
+
* *kind* of container decides the implicit visibility of a member that
|
|
45
|
+
* carries no explicit modifier (an interface member is implicitly public in
|
|
46
|
+
* both Java and C#, a C# class member is implicitly private, a Java class
|
|
47
|
+
* member is implicitly package-private).
|
|
48
|
+
*/
|
|
49
|
+
parentContainerType?: string;
|
|
37
50
|
}
|
|
38
51
|
export declare function collectCommonJsExports(source: string): Map<string, CommonJsExportInfo>;
|
|
39
52
|
export declare function collectPythonAllNames(source: string): Set<string> | null;
|
|
@@ -258,6 +258,25 @@ export declare function scanFileAsync(filePath: string, absoluteRoot: string, ma
|
|
|
258
258
|
* @returns Complete RepoGraph with nodes and edges
|
|
259
259
|
* @throws Error if workspace validation fails
|
|
260
260
|
*/
|
|
261
|
+
/**
|
|
262
|
+
* Restore the documented `targetKind` invariant: a `'node'` target is a file
|
|
263
|
+
* that actually became a graph node.
|
|
264
|
+
*
|
|
265
|
+
* Import resolution and the workspace walker apply different filters. The
|
|
266
|
+
* walker prunes `SKIP_DIRECTORIES` (`node_modules`, `dist`, `vendor`, ...) and
|
|
267
|
+
* unfollowed symlinks; `resolveModuleSpecifier` consults neither, so a real
|
|
268
|
+
* file inside a skipped directory resolves happily and produced an edge marked
|
|
269
|
+
* `targetKind: 'node'` pointing at a node that does not exist. Measured on both
|
|
270
|
+
* the dotted JVM/.NET path (`import node_modules.com.example.Foo;`) and the
|
|
271
|
+
* pre-existing relative path (`import '../node_modules/pkg/index'`).
|
|
272
|
+
*
|
|
273
|
+
* The edge is a real dependency, so it is kept rather than dropped — it is
|
|
274
|
+
* reclassified to `'asset'`, which already means "a real file that never
|
|
275
|
+
* becomes a node" and is correctly excluded from in-degree ranking, importer
|
|
276
|
+
* and dependent queries, and node-existence checks during incremental
|
|
277
|
+
* validation. Returns the number of edges reclassified.
|
|
278
|
+
*/
|
|
279
|
+
export declare function reconcileEdgeTargetKinds(graph: RepoGraph): number;
|
|
261
280
|
export declare function buildWorkspaceGraph(workspaceRoot: string, options?: BuildWorkspaceGraphOptions): RepoGraph;
|
|
262
281
|
/**
|
|
263
282
|
* Async, event-loop-safe variant of `buildWorkspaceGraph`. The traversal
|
|
@@ -15,4 +15,27 @@ export interface ExtractFileOntologyInput {
|
|
|
15
15
|
*/
|
|
16
16
|
hasManifest?: (relDir: string) => boolean;
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Blank the CONTENTS of multi-line string literals, preserving newlines and
|
|
20
|
+
* length so line-anchored matching still lines up.
|
|
21
|
+
*
|
|
22
|
+
* `stripComments` removes comments but keeps string literals verbatim, so a
|
|
23
|
+
* line-initial `package` / `namespace` token inside a C# verbatim string
|
|
24
|
+
* (`@"…"`), a C# raw string, or a Java/Kotlin text block (`"""…"""`) matched the
|
|
25
|
+
* anchored regexes below and won the boundary — the real declaration lost,
|
|
26
|
+
* because `String.match` takes the first hit. That is legal, compilable source
|
|
27
|
+
* (a `@"…"` block holding SQL or config is ordinary C#), not a crafted spoof.
|
|
28
|
+
*
|
|
29
|
+
* Single-line string literals are not masked: their literal TEXT cannot contain
|
|
30
|
+
* a raw newline, so no interior line can be line-initial. The one exception is a
|
|
31
|
+
* C# interpolated string, which may span lines inside an interpolation hole —
|
|
32
|
+
* but a hole contains code, not literal text, so leaving it unmasked is correct.
|
|
33
|
+
* Only the multi-line forms are masked, which keeps the change narrow.
|
|
34
|
+
*/
|
|
35
|
+
/**
|
|
36
|
+
* @internal Exported only so the scanner's structural invariants (termination,
|
|
37
|
+
* length preservation, line-count preservation) can be fuzzed directly. Not
|
|
38
|
+
* re-exported from the package index; call `extractFileOntology` instead.
|
|
39
|
+
*/
|
|
40
|
+
export declare function maskMultilineStringLiterals(text: string, language: string): string;
|
|
18
41
|
export declare function extractFileOntology(input: ExtractFileOntologyInput): FileOntology;
|
|
@@ -17,8 +17,10 @@ export declare const REPO_GRAPH_FILENAME = "repo-graph.json";
|
|
|
17
17
|
* self-gates via {@link isSchemaVersionAtLeast} rather than relying on the
|
|
18
18
|
* loader (which only checks that a version string is present, not its value).
|
|
19
19
|
*
|
|
20
|
-
* 1.2.0 adds per-node `exportRanges` (1-based inclusive line spans
|
|
21
|
-
*
|
|
20
|
+
* 1.2.0 adds per-node `exportRanges` (1-based inclusive line spans keyed by
|
|
21
|
+
* symbol name — exported symbols for every grammar, plus non-exported member
|
|
22
|
+
* defs for java/kotlin/csharp; see the field docs) and the top-level
|
|
23
|
+
* `symbolEdges` array (direct symbol-to-
|
|
22
24
|
* symbol reference edges). Both fields are optional, so 1.0.0 and 1.1.0 graphs
|
|
23
25
|
* still load without corruption. New queries may use these fields to provide
|
|
24
26
|
* more precise context-packing and symbol-level navigation.
|
|
@@ -122,11 +124,22 @@ export interface GraphNode {
|
|
|
122
124
|
*/
|
|
123
125
|
exportLines?: Record<string, number>;
|
|
124
126
|
/**
|
|
125
|
-
* 1-based inclusive line span
|
|
126
|
-
*
|
|
127
|
-
*
|
|
127
|
+
* 1-based inclusive line span per symbol, keyed by symbol name. Present on
|
|
128
|
+
* graphs built at schema >= 1.2.0; absent on older graphs. Used for precise
|
|
129
|
+
* context-packing around a symbol.
|
|
128
130
|
* Each span value uses `startLine` / `endLine` to match the codebase
|
|
129
131
|
* convention (see `ContextPackSpan` and `FileSymbolFacts`).
|
|
132
|
+
*
|
|
133
|
+
* SCOPE (issue #1529): exported symbols for every grammar, PLUS
|
|
134
|
+
* non-exported member defs for java/kotlin/csharp. A JVM/.NET member is
|
|
135
|
+
* deliberately never a file-level export, so without that widening
|
|
136
|
+
* `context_pack` could return no span at all for a Java method.
|
|
137
|
+
* `exports` and `exportLines` stay exported-only in every language.
|
|
138
|
+
*
|
|
139
|
+
* Duplicate names resolve so this map cannot disagree with `exportLines`:
|
|
140
|
+
* an exported def outranks a non-exported one; two exported defs take the
|
|
141
|
+
* last (as `exportLines` does); two non-exported defs take the first, and
|
|
142
|
+
* never appear in `exportLines` at all.
|
|
130
143
|
*/
|
|
131
144
|
exportRanges?: Record<string, {
|
|
132
145
|
startLine: number;
|
|
@@ -172,7 +185,22 @@ export interface GraphEdge {
|
|
|
172
185
|
/**
|
|
173
186
|
* Whether the resolved target is a graph node or an asset. `'node'` targets
|
|
174
187
|
* are scannable source files that become graph nodes; `'asset'` targets are
|
|
175
|
-
* real files
|
|
188
|
+
* real files that never become nodes (schema >= 1.3.0).
|
|
189
|
+
*
|
|
190
|
+
* `'asset'` covers TWO cases, and the second is easy to miss:
|
|
191
|
+
* 1. a non-source file (JSON/CSS/etc.), which was never scannable; and
|
|
192
|
+
* 2. a file that IS scannable but the walker never indexed — it sits under a
|
|
193
|
+
* `SKIP_DIRECTORIES` entry (`node_modules`, `dist`, `vendor`, …) or behind
|
|
194
|
+
* an unfollowed symlink. Import resolution does not consult those rules,
|
|
195
|
+
* so it can resolve a real `.ts`/`.java` file the graph has no node for.
|
|
196
|
+
* Such edges are demoted to `'asset'` at graph assembly (see
|
|
197
|
+
* `reconcileEdgeTargetKinds`) so that `'node'` always means "a node exists
|
|
198
|
+
* for this target". The demotion is language-agnostic: it applies to any
|
|
199
|
+
* source file the walker skipped, not only to JVM/.NET ones.
|
|
200
|
+
*
|
|
201
|
+
* Consequence for consumers: `targetKind: 'asset'` no longer implies "not
|
|
202
|
+
* source code". Use `isScannableSourcePath(edge.target)` if that is what you
|
|
203
|
+
* actually need to know.
|
|
176
204
|
* Absent on older graphs — callers fall back to `isScannableSourcePath` on
|
|
177
205
|
* the target path. Asset edges only require their source node to exist
|
|
178
206
|
* during incremental validation, and are excluded from in-degree ranking /
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencode-swarm",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.147.0",
|
|
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",
|