opencode-swarm 7.123.0 → 7.124.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/README.md +3 -0
- package/dist/cli/{config-doctor-3ksh1534.js → config-doctor-53mnpeke.js} +6 -6
- package/dist/cli/{core-cwgb7ev8.js → core-d38hc85b.js} +4 -4
- package/dist/cli/{curation-policy-4j4qce5a.js → curation-policy-ny033330.js} +2 -2
- package/dist/cli/{curator-drift-6b2fjsgr.js → curator-drift-h9a2sjvf.js} +7 -7
- package/dist/cli/curator-llm-factory-e0tjz8qq.js +53 -0
- package/dist/cli/{curator-tkyn9bzz.js → curator-nvn1pdq6.js} +30 -29
- package/dist/cli/{dispatch-07jgc3hn.js → dispatch-f4hj1cj7.js} +3 -3
- package/dist/cli/{evidence-summary-service-96ndczbk.js → evidence-summary-service-9hq7n9k9.js} +12 -12
- package/dist/cli/{gate-evidence-xqks3kk2.js → gate-evidence-cy2te3x8.js} +2 -2
- package/dist/cli/guardrail-explain-d3dd57nf.js +54 -0
- package/dist/cli/guardrail-log-3q2z9axs.js +16 -0
- package/dist/cli/{hive-promoter-y5wsztkc.js → hive-promoter-9gbpepgm.js} +30 -29
- package/dist/cli/index-134d35c1.js +116 -0
- package/dist/cli/{index-cqsak7bf.js → index-13d2g7k9.js} +1 -1
- package/dist/cli/{index-m1abzg93.js → index-1kz6da87.js} +4 -2
- package/dist/cli/{index-22e127jw.js → index-23zsx7dm.js} +5 -3
- package/dist/cli/{index-kzj3fp7c.js → index-2445sx3d.js} +1 -1
- package/dist/cli/{index-ctpgsj84.js → index-2tn5h2zp.js} +1 -1
- package/dist/cli/{index-n2712byd.js → index-2x4maxte.js} +8 -5
- package/dist/cli/{index-6xnxz6z0.js → index-3x761jqv.js} +4 -2
- package/dist/cli/{index-3rr0ese8.js → index-3yyr4ynk.js} +41 -9
- package/dist/cli/{index-7cspygmb.js → index-4rzzzjtg.js} +11 -8
- package/dist/cli/{index-nprawcc0.js → index-6n2jpz7x.js} +1 -1
- package/dist/cli/{index-7g91saha.js → index-8pz0ypxz.js} +38 -31
- package/dist/cli/index-bk5tah7q.js +19 -0
- package/dist/cli/{index-293f68mj.js → index-bpmtbmy9.js} +4680 -4342
- package/dist/cli/index-c6crt5rs.js +2494 -0
- package/dist/cli/{index-19zn67q6.js → index-e19mxn9f.js} +5 -1
- package/dist/cli/{index-hns7xjm7.js → index-eeg04r0x.js} +4 -2
- package/dist/cli/{index-ye3fndsw.js → index-gacm5s2n.js} +9 -5
- package/dist/cli/{index-d6h5hq91.js → index-gnvg72y1.js} +2 -2
- package/dist/cli/{index-17eybc3z.js → index-htbjqftb.js} +1 -1
- package/dist/cli/{index-vcgfqd8f.js → index-k5jrywpr.js} +4 -2
- package/dist/cli/{index-jyrhy4ww.js → index-mkkx1a4f.js} +2435 -1435
- package/dist/cli/{index-gnp9x6se.js → index-n832052r.js} +4 -2
- package/dist/cli/{index-6sgqnvpw.js → index-qd77aft9.js} +2 -2
- package/dist/cli/{index-816rkp4y.js → index-s9mj4rb9.js} +5 -3
- package/dist/cli/{index-q00e4s1s.js → index-tyg0zezw.js} +11 -7
- package/dist/cli/{index-gw3m5fw0.js → index-v2rdhwx8.js} +5 -3
- package/dist/cli/{index-det5jwfk.js → index-v5ecczts.js} +5 -1
- package/dist/cli/{index-2j25br0p.js → index-wqwpzhv1.js} +9 -9
- package/dist/cli/{index-dywekeen.js → index-x2mmnrnx.js} +1 -1
- package/dist/cli/{index-j9kxwshw.js → index-z0m4angq.js} +8 -6
- package/dist/cli/{index-5e4e2hvv.js → index-z6xqpmqg.js} +4 -0
- package/dist/cli/{index-m0bmh3w0.js → index-zjedv2bd.js} +2 -2
- package/dist/cli/{index-p0arc26j.js → index-zjygnfay.js} +7 -2
- package/dist/cli/index.js +33 -30
- package/dist/cli/{knowledge-escalator-dyxsm78k.js → knowledge-escalator-r1s01m3z.js} +4 -4
- package/dist/cli/{knowledge-events-36q6nvae.js → knowledge-events-a9hmxvke.js} +1 -1
- package/dist/cli/{knowledge-store-e07b4s54.js → knowledge-store-jt31br5k.js} +2 -2
- package/dist/cli/{knowledge-validator-sfyf7wn2.js → knowledge-validator-9vrwxr3z.js} +5 -5
- package/dist/cli/{pending-delegations-68cbaqv2.js → pending-delegations-e3bcqj77.js} +7 -5
- package/dist/cli/{pr-subscriptions-x653151h.js → pr-subscriptions-bxpqde8w.js} +5 -5
- package/dist/cli/{scan-cursor-hm0aqqae.js → scan-cursor-bkjtsawg.js} +3 -3
- package/dist/cli/{schema-13bnng2n.js → schema-y3z416z7.js} +7 -4
- package/dist/cli/{scope-persistence-d9erwnvb.js → scope-persistence-habn4q8a.js} +4 -4
- package/dist/cli/{skill-generator-63r20a9k.js → skill-generator-794hyndw.js} +7 -7
- package/dist/cli/sqlite-loader-r1kgt2pq.js +12 -0
- package/dist/commands/memory-link.d.ts +28 -0
- package/dist/commands/registry.d.ts +25 -0
- package/dist/config/schema.d.ts +6 -0
- package/dist/index.js +330 -317
- package/dist/knowledge/family-migration-shared.d.ts +24 -0
- package/dist/knowledge/family-migration.d.ts +5 -0
- package/dist/memory/config.d.ts +11 -0
- package/dist/memory/consolidation-log.d.ts +8 -2
- package/dist/memory/finalize-reward-sweep.d.ts +2 -1
- package/dist/memory/gateway.d.ts +13 -0
- package/dist/memory/index.d.ts +4 -2
- package/dist/memory/local-jsonl-provider.d.ts +25 -1
- package/dist/memory/memory-family-manifest.d.ts +52 -0
- package/dist/memory/memory-family-migration.d.ts +94 -0
- package/dist/memory/memory-link.d.ts +103 -0
- package/dist/memory/provider-pool.d.ts +35 -0
- package/dist/memory/redaction.d.ts +31 -0
- package/dist/memory/schema.d.ts +21 -0
- package/dist/memory/sqlite-provider.d.ts +58 -1
- package/dist/memory/storage-root.d.ts +93 -0
- package/dist/memory/types.d.ts +20 -1
- package/dist/services/knowledge-diagnostics.d.ts +25 -0
- package/dist/services/status-service.d.ts +16 -0
- package/package.json +1 -1
- package/dist/cli/curator-llm-factory-mfvd4sqx.js +0 -52
- package/dist/cli/guardrail-explain-4vytbchb.js +0 -53
- package/dist/cli/guardrail-log-z291m4gw.js +0 -16
- package/dist/cli/index-4rhcth7a.js +0 -14
- package/dist/cli/index-wr8qgpz5.js +0 -2463
|
@@ -18,6 +18,14 @@ export interface SQLiteJsonlImportResult {
|
|
|
18
18
|
export declare class SQLiteMemoryProvider implements MemoryProvider, MemoryProposalStore {
|
|
19
19
|
readonly name = "sqlite";
|
|
20
20
|
private readonly rootDirectory;
|
|
21
|
+
/**
|
|
22
|
+
* #1850: when set, the provider serves a cohort-shared store rather than
|
|
23
|
+
* the worktree-local `.swarm/memory`. Cohort roots live under the platform
|
|
24
|
+
* data dir (`<dataDir>/links/<linkId>/memory`) and bypass
|
|
25
|
+
* `validateSwarmPath` by construction (the resolver sanitizes the linkId).
|
|
26
|
+
* `null` for local-root providers (today's behavior, still validated).
|
|
27
|
+
*/
|
|
28
|
+
private readonly cohortRoot;
|
|
21
29
|
private readonly config;
|
|
22
30
|
private initialized;
|
|
23
31
|
private initPromise;
|
|
@@ -32,7 +40,24 @@ export declare class SQLiteMemoryProvider implements MemoryProvider, MemoryPropo
|
|
|
32
40
|
private lastAutomaticJsonlMigration;
|
|
33
41
|
private recallCountSinceLastCompaction;
|
|
34
42
|
private isCompacting;
|
|
35
|
-
constructor(rootDirectory: string, config?: Partial<MemoryConfig
|
|
43
|
+
constructor(rootDirectory: string, config?: Partial<MemoryConfig>,
|
|
44
|
+
/**
|
|
45
|
+
* #1850: optional cohort root. When provided, the provider opens the DB
|
|
46
|
+
* at `<cohortRoot>/memory.db` and bypasses `validateSwarmPath` (the
|
|
47
|
+
* cohort root is resolver-constructed from a sanitized linkId, not a
|
|
48
|
+
* user-supplied path). When omitted, the provider uses the worktree
|
|
49
|
+
* `.swarm` path with full `validateSwarmPath` enforcement (today's
|
|
50
|
+
* behavior).
|
|
51
|
+
*/
|
|
52
|
+
vettedCohortRoot?: string | null);
|
|
53
|
+
/**
|
|
54
|
+
* #1850 (critic GAP-5): explicit cohort-root path branch.
|
|
55
|
+
* - cohort root → `<cohortRoot>/memory.db` (NO validateSwarmPath — the
|
|
56
|
+
* cohort root is a platform-data-dir path constructed by the resolver
|
|
57
|
+
* from a sanitized linkId, never from user input).
|
|
58
|
+
* - local root → existing behavior: strip `.swarm/` prefix, pass through
|
|
59
|
+
* `validateSwarmPath` to enforce `.swarm` containment.
|
|
60
|
+
*/
|
|
36
61
|
private databasePath;
|
|
37
62
|
initialize(): Promise<void>;
|
|
38
63
|
private doInitialize;
|
|
@@ -57,6 +82,23 @@ export declare class SQLiteMemoryProvider implements MemoryProvider, MemoryPropo
|
|
|
57
82
|
}): Promise<MemoryProposal[]>;
|
|
58
83
|
applyCuratorDecision(decision: ResolvedCuratorMemoryDecision): Promise<AppliedMemoryChange>;
|
|
59
84
|
close(): void;
|
|
85
|
+
/**
|
|
86
|
+
* #1850 (critic CONCERN-3): checkpoint the WAL into the main DB, then
|
|
87
|
+
* close the handle. Used by the memory family migration engine before it
|
|
88
|
+
* copies the DB file, so the copy reflects all committed writes and is not
|
|
89
|
+
* mid-checkpoint. After this call, the provider is closed and must be
|
|
90
|
+
* re-opened (the migration engine re-creates it via the pool).
|
|
91
|
+
*
|
|
92
|
+
* Returns the absolute paths to copy: `memory.db` plus any non-empty
|
|
93
|
+
* `-wal`/`-shm` sidecars (after a TRUNCATE checkpoint the WAL is typically
|
|
94
|
+
* empty; if it is not, copying it alongside the DB is still correct because
|
|
95
|
+
* SQLite recovers from WAL on next open).
|
|
96
|
+
*/
|
|
97
|
+
checkpointCloseSnapshot(): {
|
|
98
|
+
dbPath: string;
|
|
99
|
+
walPath: string | null;
|
|
100
|
+
shmPath: string | null;
|
|
101
|
+
};
|
|
60
102
|
/**
|
|
61
103
|
* Re-embed all durable memory records with the current embedding provider
|
|
62
104
|
* model, update the stored global model_version, and clear the embedding
|
|
@@ -94,6 +136,21 @@ export declare class SQLiteMemoryProvider implements MemoryProvider, MemoryPropo
|
|
|
94
136
|
private loadMemories;
|
|
95
137
|
private loadProposals;
|
|
96
138
|
private writeMemory;
|
|
139
|
+
/**
|
|
140
|
+
* #1850: write a monotonic generation marker so siblings re-open their
|
|
141
|
+
* in-memory mirror. Fire-and-forget; failures are non-fatal (peers simply
|
|
142
|
+
* revalidate on the next pointer-stat change or TTL expiry).
|
|
143
|
+
*/
|
|
144
|
+
private bumpCohortGeneration;
|
|
145
|
+
/**
|
|
146
|
+
* #1850 (reviewer important fix): read `memory-cohort-config.json` and fail
|
|
147
|
+
* closed if the stored provider/embedding/redaction fingerprint disagrees
|
|
148
|
+
* with this worktree's config (acceptance #10). Absent file = first link
|
|
149
|
+
* (permissive — the linker writes it immediately after migration). A
|
|
150
|
+
* malformed file is also permissive (fail-open never strands memory, but
|
|
151
|
+
* a mismatch is a hard error).
|
|
152
|
+
*/
|
|
153
|
+
private assertCohortConfigFingerprint;
|
|
97
154
|
private writeMemoryFts;
|
|
98
155
|
private writeMemoryVec;
|
|
99
156
|
private deleteMemoryFts;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* #1850 Linked Knowledge 5/5: vetted memory storage-root capability.
|
|
3
|
+
*
|
|
4
|
+
* Problem: when cohort memory sharing is opted in, the memory provider must
|
|
5
|
+
* open a database at a cohort-scoped root (under the platform data dir), not
|
|
6
|
+
* the worktree's `.swarm/memory`. But accepting an arbitrary external path
|
|
7
|
+
* would violate `validateSwarmPath` and `.swarm` containment (AGENTS.md
|
|
8
|
+
* invariant #4, issue #1850 acceptance #3).
|
|
9
|
+
*
|
|
10
|
+
* Resolution: a narrow discriminated union `VettedMemoryRoot` that can only
|
|
11
|
+
* represent one of two validated shapes:
|
|
12
|
+
* - `{kind:'local'}` — the worktree's `.swarm/memory` root (today's path,
|
|
13
|
+
* still gated by `validateSwarmPath` in the provider constructors).
|
|
14
|
+
* - `{kind:'cohort'}` — a cohort root derived from the #1846 cohort
|
|
15
|
+
* identity via the sanitized linkId. Constructed only by
|
|
16
|
+
* `resolveVettedMemoryRoot` from the memory-link pointer; there is no
|
|
17
|
+
* public `openMemoryAt(arbitraryPath)` entry.
|
|
18
|
+
*
|
|
19
|
+
* Cohort roots live under `<dataDir>/links/<linkId>/memory/` — the SAME shared
|
|
20
|
+
* store directory used by knowledge linking, namespaced under `memory/`. The
|
|
21
|
+
* `validateSwarmPath` invariant is preserved by construction: cohort roots are
|
|
22
|
+
* never passed through it (they are platform-data-dir paths, not `.swarm`
|
|
23
|
+
* paths), and local roots continue to flow through the existing validation.
|
|
24
|
+
*
|
|
25
|
+
* This module is sync-only and side-effect-free (a pointer read) so it is safe
|
|
26
|
+
* to call from the lazy gateway constructor on the plugin hot path.
|
|
27
|
+
*/
|
|
28
|
+
import type { MemoryConfig } from './config.js';
|
|
29
|
+
import { type MemoryLinkPointer } from './memory-link.js';
|
|
30
|
+
/**
|
|
31
|
+
* The vetted root. `directory` is always the worktree's project root (so
|
|
32
|
+
* providers can still derive auxiliary per-worktree paths when needed); `root`
|
|
33
|
+
* is the resolved storage root (worktree `.swarm` for local, cohort dir for
|
|
34
|
+
* cohort).
|
|
35
|
+
*/
|
|
36
|
+
export type VettedMemoryRoot = {
|
|
37
|
+
kind: 'local';
|
|
38
|
+
/** Resolved worktree `.swarm` directory (parent of `storageDir`). */
|
|
39
|
+
root: string;
|
|
40
|
+
/** Original worktree project root (ctx.directory). */
|
|
41
|
+
directory: string;
|
|
42
|
+
} | {
|
|
43
|
+
kind: 'cohort';
|
|
44
|
+
/** Cohort memory root: `<dataDir>/links/<linkId>/memory`. */
|
|
45
|
+
cohortRoot: string;
|
|
46
|
+
/** Canonical cohort id from #1846 (shared by all sibling worktrees). */
|
|
47
|
+
cohortId: string;
|
|
48
|
+
/** Monotonic link generation (bumped on link/unlink; aids revalidation). */
|
|
49
|
+
generation: number;
|
|
50
|
+
/** Sanitized linkId (the cohort directory segment). */
|
|
51
|
+
linkId: string;
|
|
52
|
+
/** Original worktree project root (ctx.directory). */
|
|
53
|
+
directory: string;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Resolve the vetted memory root for a worktree. Sync, side-effect-free.
|
|
57
|
+
*
|
|
58
|
+
* Decision tree:
|
|
59
|
+
* 1. If `config.link?.enabled !== true` → local (today's behavior).
|
|
60
|
+
* 2. Read the memory-link pointer. If absent or malformed → local.
|
|
61
|
+
* 3. If the pointer resolves to a cohort store → cohort root under
|
|
62
|
+
* `<resolveMemoryStoreDir(directory)>/memory`. `resolveMemoryStoreDir`
|
|
63
|
+
* already canonicalizes via `path.resolve` and revalidates the pointer
|
|
64
|
+
* stat on cache hits (mirrors `resolveKnowledgeStoreDir` in
|
|
65
|
+
* `src/hooks/knowledge-link.ts:396`).
|
|
66
|
+
*
|
|
67
|
+
* The cohort memory root is `<resolveMemoryStoreDir(directory)>/memory` — a
|
|
68
|
+
* `memory/` subdirectory of the shared link dir, sibling to the knowledge
|
|
69
|
+
* family files. This keeps knowledge and memory in the same cohort container
|
|
70
|
+
* without colliding filenames.
|
|
71
|
+
*/
|
|
72
|
+
export declare function resolveVettedMemoryRoot(directory: string, config: Pick<MemoryConfig, 'link'> | Partial<Pick<MemoryConfig, 'link'>>): VettedMemoryRoot;
|
|
73
|
+
/**
|
|
74
|
+
* Backward-compat shim: wraps a raw directory into a local vetted root. Emits
|
|
75
|
+
* a debug log so incomplete wiring (a caller that should have resolved a vetted
|
|
76
|
+
* root itself) is visible during development (critic CONCERN-5).
|
|
77
|
+
*/
|
|
78
|
+
export declare function wrapLocalRoot(directory: string): VettedMemoryRoot;
|
|
79
|
+
/** Type guard for the cohort branch. */
|
|
80
|
+
export declare function isCohortRoot(root: VettedMemoryRoot): root is Extract<VettedMemoryRoot, {
|
|
81
|
+
kind: 'cohort';
|
|
82
|
+
}>;
|
|
83
|
+
/** Type guard for the local branch. */
|
|
84
|
+
export declare function isLocalRoot(root: VettedMemoryRoot): root is Extract<VettedMemoryRoot, {
|
|
85
|
+
kind: 'local';
|
|
86
|
+
}>;
|
|
87
|
+
/** Return the resolved storage path for a given root (no validation). */
|
|
88
|
+
export declare function rootStoragePath(root: VettedMemoryRoot): string;
|
|
89
|
+
export declare const _internals: {
|
|
90
|
+
resolveVettedMemoryRoot: typeof resolveVettedMemoryRoot;
|
|
91
|
+
wrapLocalRoot: typeof wrapLocalRoot;
|
|
92
|
+
};
|
|
93
|
+
export type { MemoryLinkPointer };
|
package/dist/memory/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type MemoryScopeType = 'global_user' | 'workspace' | 'project' | 'repository' | 'run' | 'agent';
|
|
1
|
+
export type MemoryScopeType = 'global_user' | 'workspace' | 'project' | 'repository' | 'run' | 'agent' | 'cohort';
|
|
2
2
|
export interface MemoryScopeRef {
|
|
3
3
|
type: MemoryScopeType;
|
|
4
4
|
userId?: string;
|
|
@@ -8,6 +8,10 @@ export interface MemoryScopeRef {
|
|
|
8
8
|
repoRoot?: string;
|
|
9
9
|
runId?: string;
|
|
10
10
|
agentId?: string;
|
|
11
|
+
/** Canonical cohort id from `resolveCohortId` (#1850). Set when
|
|
12
|
+
* `type === 'cohort'`. Required for cohort-scoped records so the scope key
|
|
13
|
+
* and recall filters distinguish different cohorts. */
|
|
14
|
+
cohortId?: string;
|
|
11
15
|
}
|
|
12
16
|
export type MemoryKind = 'user_preference' | 'project_fact' | 'architecture_decision' | 'repo_convention' | 'api_finding' | 'code_pattern' | 'test_pattern' | 'failure_pattern' | 'security_note' | 'evidence' | 'todo' | 'scratch';
|
|
13
17
|
export interface MemorySource {
|
|
@@ -35,6 +39,21 @@ export interface MemoryRecord {
|
|
|
35
39
|
supersededBy?: string;
|
|
36
40
|
contentHash: string;
|
|
37
41
|
metadata: Record<string, unknown>;
|
|
42
|
+
/** Canonical cohort id the record belongs to. Matches `scope.cohortId`
|
|
43
|
+
* when `scope.type === 'cohort'`. */
|
|
44
|
+
cohortId?: string;
|
|
45
|
+
/** Session id of the producer (when policy permits retention). */
|
|
46
|
+
producerSessionId?: string;
|
|
47
|
+
/** Agent role of the producer. */
|
|
48
|
+
producerAgentRole?: string;
|
|
49
|
+
/** Redaction policy version at write time (from REDACTION_POLICY_VERSION). */
|
|
50
|
+
redactionPolicyVersion?: number;
|
|
51
|
+
/** Memory schema version at write time. */
|
|
52
|
+
schemaVersion?: number;
|
|
53
|
+
/** Provider name at write time (`'sqlite'` | `'local-jsonl'`). */
|
|
54
|
+
providerVersion?: string;
|
|
55
|
+
/** Source git revision of the producer, when available. */
|
|
56
|
+
sourceRevision?: string;
|
|
38
57
|
}
|
|
39
58
|
export interface MemoryProposal {
|
|
40
59
|
id: string;
|
|
@@ -132,6 +132,31 @@ export interface KnowledgeDebugMeta {
|
|
|
132
132
|
*/
|
|
133
133
|
pending_proposals: number;
|
|
134
134
|
};
|
|
135
|
+
/**
|
|
136
|
+
* #1850: memory cohort link health. Distinct from the knowledge `cohort`
|
|
137
|
+
* block so diagnostics can report knowledge-link and memory-link
|
|
138
|
+
* independently. Carries provider/config fingerprint agreement so an
|
|
139
|
+
* operator can detect cohort divergence. No record text is emitted here
|
|
140
|
+
* (diagnostics-no-leakage discipline, acceptance #13).
|
|
141
|
+
*/
|
|
142
|
+
memory: {
|
|
143
|
+
linked: boolean;
|
|
144
|
+
pointer_version: 1 | 2 | null;
|
|
145
|
+
link_id: string | null;
|
|
146
|
+
cohort_id: string | null;
|
|
147
|
+
identity_source: 'remote' | 'git-common-dir' | 'path' | null;
|
|
148
|
+
degraded: boolean;
|
|
149
|
+
shared_root: string | null;
|
|
150
|
+
generation: number | null;
|
|
151
|
+
/** Provider name from config ('sqlite' | 'local-jsonl'). */
|
|
152
|
+
provider: string | null;
|
|
153
|
+
/**
|
|
154
|
+
* #1850 (KC-002): config fingerprint agreement — true when this
|
|
155
|
+
* worktree's config matches the cohort's stored fingerprint, false on
|
|
156
|
+
* mismatch, null when not checked (unlinked or file absent).
|
|
157
|
+
*/
|
|
158
|
+
config_fingerprint_match: boolean | null;
|
|
159
|
+
};
|
|
135
160
|
}
|
|
136
161
|
/**
|
|
137
162
|
* Compute the debug-metadata block for the knowledge system. Best-effort: never
|
|
@@ -91,6 +91,22 @@ export interface StatusData {
|
|
|
91
91
|
sharedRoot?: string;
|
|
92
92
|
generation?: number;
|
|
93
93
|
};
|
|
94
|
+
/**
|
|
95
|
+
* #1850: memory cohort link status. Distinct from `cohort` (knowledge link)
|
|
96
|
+
* so status can distinguish knowledge-linked from memory-linked (acceptance
|
|
97
|
+
* #2). Carries provider/config/privacy health fields.
|
|
98
|
+
*/
|
|
99
|
+
memoryCohort?: {
|
|
100
|
+
linked: boolean;
|
|
101
|
+
linkId?: string;
|
|
102
|
+
cohortId?: string;
|
|
103
|
+
identitySource?: 'remote' | 'git-common-dir' | 'path';
|
|
104
|
+
degraded?: boolean;
|
|
105
|
+
sharedRoot?: string;
|
|
106
|
+
generation?: number;
|
|
107
|
+
provider?: string;
|
|
108
|
+
configFingerprintMatch?: boolean;
|
|
109
|
+
};
|
|
94
110
|
}
|
|
95
111
|
/**
|
|
96
112
|
* Get status data from the swarm directory.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencode-swarm",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.124.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",
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import {
|
|
3
|
-
createCuratorLLMDelegate
|
|
4
|
-
} from "./index-jyrhy4ww.js";
|
|
5
|
-
import"./index-19zn67q6.js";
|
|
6
|
-
import"./index-det5jwfk.js";
|
|
7
|
-
import"./index-7cspygmb.js";
|
|
8
|
-
import"./index-4905hd2m.js";
|
|
9
|
-
import"./index-nprawcc0.js";
|
|
10
|
-
import"./index-q00e4s1s.js";
|
|
11
|
-
import"./index-j9kxwshw.js";
|
|
12
|
-
import"./index-hns7xjm7.js";
|
|
13
|
-
import"./index-vxv732ex.js";
|
|
14
|
-
import"./index-c8s9a3zh.js";
|
|
15
|
-
import"./index-816rkp4y.js";
|
|
16
|
-
import"./index-22e127jw.js";
|
|
17
|
-
import"./index-m0bmh3w0.js";
|
|
18
|
-
import"./index-cqsak7bf.js";
|
|
19
|
-
import"./index-rtry5xyf.js";
|
|
20
|
-
import"./index-n2712byd.js";
|
|
21
|
-
import"./index-dywekeen.js";
|
|
22
|
-
import"./index-ae75rja9.js";
|
|
23
|
-
import"./index-q27bajqb.js";
|
|
24
|
-
import"./index-3rr0ese8.js";
|
|
25
|
-
import"./index-vcgfqd8f.js";
|
|
26
|
-
import"./index-gnp9x6se.js";
|
|
27
|
-
import"./index-wr8qgpz5.js";
|
|
28
|
-
import"./index-4rhcth7a.js";
|
|
29
|
-
import"./index-8fwhhayc.js";
|
|
30
|
-
import"./index-q1exe2b3.js";
|
|
31
|
-
import"./index-d6h5hq91.js";
|
|
32
|
-
import"./index-ctpgsj84.js";
|
|
33
|
-
import"./index-m1abzg93.js";
|
|
34
|
-
import"./index-gw3m5fw0.js";
|
|
35
|
-
import"./index-ye3fndsw.js";
|
|
36
|
-
import"./index-kzj3fp7c.js";
|
|
37
|
-
import"./index-5e4e2hvv.js";
|
|
38
|
-
import"./index-p0arc26j.js";
|
|
39
|
-
import"./index-zgwm4ryv.js";
|
|
40
|
-
import"./index-dqh3zhhc.js";
|
|
41
|
-
import"./index-6xnxz6z0.js";
|
|
42
|
-
import"./index-7mkpsw6g.js";
|
|
43
|
-
import"./index-fsrp8wp3.js";
|
|
44
|
-
import"./index-76kvm9z5.js";
|
|
45
|
-
import"./index-q2rrv0cy.js";
|
|
46
|
-
import"./index-293f68mj.js";
|
|
47
|
-
import"./index-7g4c7s5r.js";
|
|
48
|
-
import"./index-qe3v54nb.js";
|
|
49
|
-
import"./index-a76rekgs.js";
|
|
50
|
-
export {
|
|
51
|
-
createCuratorLLMDelegate
|
|
52
|
-
};
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import {
|
|
3
|
-
handleGuardrailExplain
|
|
4
|
-
} from "./index-6sgqnvpw.js";
|
|
5
|
-
import"./index-jyrhy4ww.js";
|
|
6
|
-
import"./index-19zn67q6.js";
|
|
7
|
-
import"./index-det5jwfk.js";
|
|
8
|
-
import"./index-7cspygmb.js";
|
|
9
|
-
import"./index-4905hd2m.js";
|
|
10
|
-
import"./index-nprawcc0.js";
|
|
11
|
-
import"./index-q00e4s1s.js";
|
|
12
|
-
import"./index-j9kxwshw.js";
|
|
13
|
-
import"./index-hns7xjm7.js";
|
|
14
|
-
import"./index-vxv732ex.js";
|
|
15
|
-
import"./index-c8s9a3zh.js";
|
|
16
|
-
import"./index-816rkp4y.js";
|
|
17
|
-
import"./index-22e127jw.js";
|
|
18
|
-
import"./index-m0bmh3w0.js";
|
|
19
|
-
import"./index-cqsak7bf.js";
|
|
20
|
-
import"./index-rtry5xyf.js";
|
|
21
|
-
import"./index-n2712byd.js";
|
|
22
|
-
import"./index-dywekeen.js";
|
|
23
|
-
import"./index-ae75rja9.js";
|
|
24
|
-
import"./index-q27bajqb.js";
|
|
25
|
-
import"./index-3rr0ese8.js";
|
|
26
|
-
import"./index-vcgfqd8f.js";
|
|
27
|
-
import"./index-gnp9x6se.js";
|
|
28
|
-
import"./index-wr8qgpz5.js";
|
|
29
|
-
import"./index-4rhcth7a.js";
|
|
30
|
-
import"./index-8fwhhayc.js";
|
|
31
|
-
import"./index-q1exe2b3.js";
|
|
32
|
-
import"./index-d6h5hq91.js";
|
|
33
|
-
import"./index-ctpgsj84.js";
|
|
34
|
-
import"./index-m1abzg93.js";
|
|
35
|
-
import"./index-gw3m5fw0.js";
|
|
36
|
-
import"./index-ye3fndsw.js";
|
|
37
|
-
import"./index-kzj3fp7c.js";
|
|
38
|
-
import"./index-5e4e2hvv.js";
|
|
39
|
-
import"./index-p0arc26j.js";
|
|
40
|
-
import"./index-zgwm4ryv.js";
|
|
41
|
-
import"./index-dqh3zhhc.js";
|
|
42
|
-
import"./index-6xnxz6z0.js";
|
|
43
|
-
import"./index-7mkpsw6g.js";
|
|
44
|
-
import"./index-fsrp8wp3.js";
|
|
45
|
-
import"./index-76kvm9z5.js";
|
|
46
|
-
import"./index-q2rrv0cy.js";
|
|
47
|
-
import"./index-293f68mj.js";
|
|
48
|
-
import"./index-7g4c7s5r.js";
|
|
49
|
-
import"./index-qe3v54nb.js";
|
|
50
|
-
import"./index-a76rekgs.js";
|
|
51
|
-
export {
|
|
52
|
-
handleGuardrailExplain
|
|
53
|
-
};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import {
|
|
3
|
-
handleGuardrailLog
|
|
4
|
-
} from "./index-17eybc3z.js";
|
|
5
|
-
import"./index-19zn67q6.js";
|
|
6
|
-
import"./index-wr8qgpz5.js";
|
|
7
|
-
import"./index-4rhcth7a.js";
|
|
8
|
-
import"./index-5e4e2hvv.js";
|
|
9
|
-
import"./index-p0arc26j.js";
|
|
10
|
-
import"./index-zgwm4ryv.js";
|
|
11
|
-
import"./index-293f68mj.js";
|
|
12
|
-
import"./index-qe3v54nb.js";
|
|
13
|
-
import"./index-a76rekgs.js";
|
|
14
|
-
export {
|
|
15
|
-
handleGuardrailLog
|
|
16
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
// src/hooks/knowledge-types.ts
|
|
3
|
-
var KNOWLEDGE_SCHEMA_VERSION = 3;
|
|
4
|
-
var INACTIVE_STATUSES = new Set([
|
|
5
|
-
"archived",
|
|
6
|
-
"quarantined",
|
|
7
|
-
"quarantined_unactionable"
|
|
8
|
-
]);
|
|
9
|
-
var OUTCOME_BLOCK_THRESHOLD = -0.3;
|
|
10
|
-
function isActiveStatus(status) {
|
|
11
|
-
return !INACTIVE_STATUSES.has(status ?? "");
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export { KNOWLEDGE_SCHEMA_VERSION, OUTCOME_BLOCK_THRESHOLD, isActiveStatus };
|