wyrm-mcp 7.2.4 → 7.3.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/autoconfig.d.ts.map +1 -1
- package/dist/autoconfig.js +17 -17
- package/dist/autoconfig.js.map +1 -1
- package/dist/causality.d.ts +21 -0
- package/dist/causality.d.ts.map +1 -1
- package/dist/causality.js +12 -6
- package/dist/causality.js.map +1 -1
- package/dist/content-signature.d.ts +33 -0
- package/dist/content-signature.d.ts.map +1 -0
- package/dist/content-signature.js +1 -0
- package/dist/content-signature.js.map +1 -0
- package/dist/failure-patterns.d.ts +15 -0
- package/dist/failure-patterns.d.ts.map +1 -1
- package/dist/failure-patterns.js +26 -20
- package/dist/failure-patterns.js.map +1 -1
- package/dist/handlers/causality.d.ts.map +1 -1
- package/dist/handlers/causality.js +7 -5
- package/dist/handlers/causality.js.map +1 -1
- package/dist/handlers/recall.d.ts.map +1 -1
- package/dist/handlers/recall.js +11 -9
- package/dist/handlers/recall.js.map +1 -1
- package/dist/handlers/run.d.ts +44 -0
- package/dist/handlers/run.d.ts.map +1 -1
- package/dist/handlers/run.js +10 -12
- package/dist/handlers/run.js.map +1 -1
- package/dist/importers.d.ts +77 -0
- package/dist/importers.d.ts.map +1 -0
- package/dist/importers.js +1 -0
- package/dist/importers.js.map +1 -0
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js +1 -1
- package/dist/migrations.js.map +1 -1
- package/dist/receipt.d.ts +45 -0
- package/dist/receipt.d.ts.map +1 -0
- package/dist/receipt.js +1 -0
- package/dist/receipt.js.map +1 -0
- package/dist/render-target.d.ts +15 -1
- package/dist/render-target.d.ts.map +1 -1
- package/dist/render-target.js +11 -11
- package/dist/render-target.js.map +1 -1
- package/dist/tool-manifest-v2.json +1 -1
- package/dist/tool-manifest.json +1 -1
- package/dist/wyrm-cli.js +45 -42
- package/dist/wyrm-cli.js.map +1 -1
- package/dist/wyrm-guard.d.ts.map +1 -1
- package/dist/wyrm-guard.js +13 -13
- package/dist/wyrm-guard.js.map +1 -1
- package/dist/wyrm-manifest.json +1 -1
- package/package.json +1 -1
package/dist/failure-patterns.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{sanitizeFtsQuery as I}from"./security.js";import{emitEvent as b,isLiveMemoryEnabled as A}from"./events.js";import{getActor as E,hasExplicitAttribution as j}from"./handlers/boundary.js";import{readActor as
|
|
1
|
+
import{sanitizeFtsQuery as I}from"./security.js";import{emitEvent as b,isLiveMemoryEnabled as A}from"./events.js";import{getActor as E,hasExplicitAttribution as j}from"./handlers/boundary.js";import{readActor as C,resolveAttribution as m}from"./attribution.js";import{normalizeContentSignature as D,containsFailedSignature as y}from"./content-signature.js";const g={run:0,project:1,global:2},M=200,U=5;function B(a){const e=r=>Object.entries(r).filter(([,o])=>o>0).map(([o,c])=>`${o} ${c}`).join(" \xB7 ")||"none",t=r=>r.map(o=>`${"who"in o?o.who:o.run_id} \xD7${o.count}`).join(" \xB7 ")||"none",n=a.blocked.this_run.run_id===null?"- This run: (no run identity \u2014 export WYRM_RUN_ID or pass run_id)":`- This run (${a.blocked.this_run.run_id}): ${a.blocked.this_run.blocked} repeat(s) blocked`;return`\u{F115D} **Failure Analytics** (${a.project_id===null?"all projects":`project #${a.project_id}`})
|
|
2
2
|
|
|
3
3
|
**Recorded:** ${a.recorded.total} failure(s), ${a.recorded.unresolved} unresolved
|
|
4
4
|
- By quarantine: ${e(a.recorded.by_quarantine_scope)}
|
|
@@ -12,7 +12,7 @@ import{sanitizeFtsQuery as I}from"./security.js";import{emitEvent as b,isLiveMem
|
|
|
12
12
|
${n}
|
|
13
13
|
- By agent: ${t(a.blocked.by_agent)}
|
|
14
14
|
- By run: ${t(a.blocked.by_run)}
|
|
15
|
-
- Top blockers: ${a.blocked.top_blocked.map(r=>`#${r.failure_id} ${r.scope}:${r.target} \xD7${r.blocks}`).join(" \xB7 ")||"none"}`}function
|
|
15
|
+
- Top blockers: ${a.blocked.top_blocked.map(r=>`#${r.failure_id} ${r.scope}:${r.target} \xD7${r.blocks}`).join(" \xB7 ")||"none"}`}function k(a,e){if(a==="exact")return 1;if(a==="target")return .95;const t=Math.max(0,-(e??0));return Number((.05+.85*(t/(t+2))).toFixed(4))}function h(a){return a.toLowerCase().replace(/\s+/g," ").trim()}function T(a){return h(a).slice(0,200)}class O{db;constructor(e){this.db=e}static signature(e,t,n){return`${e}:${T(t)}:${T(n).slice(0,80)}`}record(e){const t=O.signature(e.scope,e.target,e.description),n=e.project_id??null,r=e.content&&D(e.content)||null,o=E(),s=this.db.transaction(()=>{const i=this.db.prepare(`
|
|
16
16
|
SELECT * FROM failure_patterns
|
|
17
17
|
WHERE signature = ? AND (project_id IS ? OR project_id = ?)
|
|
18
18
|
`).get(t,n,n);if(i)return this.db.prepare(`
|
|
@@ -21,23 +21,29 @@ ${n}
|
|
|
21
21
|
last_seen = datetime('now'),
|
|
22
22
|
why_failed = COALESCE(?, why_failed),
|
|
23
23
|
severity = ?,
|
|
24
|
+
content_sig = COALESCE(?, content_sig),
|
|
24
25
|
resolved = 0
|
|
25
26
|
WHERE id = ?
|
|
26
|
-
`).run(e.why_failed??null,e.severity??i.severity,i.id),this.noteConfirmation(i.id,
|
|
27
|
+
`).run(e.why_failed??null,e.severity??i.severity,r,i.id),this.noteConfirmation(i.id,o),this.get(i.id);const u=e.quarantine_scope??(o.run_id!==null?"run":n===null?"global":"project"),l=this.db.prepare(`
|
|
27
28
|
INSERT INTO failure_patterns
|
|
28
|
-
(project_id, signature, scope, target, description, why_failed, severity, agent_id, run_id, quarantine_scope)
|
|
29
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
30
|
-
`).run(n,t,e.scope,e.target,e.description,e.why_failed??null,e.severity??"medium",
|
|
29
|
+
(project_id, signature, scope, target, description, why_failed, severity, agent_id, run_id, quarantine_scope, content_sig)
|
|
30
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
31
|
+
`).run(n,t,e.scope,e.target,e.description,e.why_failed??null,e.severity??"medium",o.agent_id,o.run_id,u,r),d=this.get(l.lastInsertRowid);return this.noteConfirmation(d.id,o),d}).immediate();return b(this.db,{projectId:s.project_id??0,kind:"failure",refTable:"failure_patterns",refId:s.id}),s}contentMatch(e,t,n){const r=this.db.prepare(`
|
|
32
|
+
SELECT * FROM failure_patterns
|
|
33
|
+
WHERE content_sig IS NOT NULL AND scope = ? AND resolved = 0
|
|
34
|
+
AND (project_id IS ? OR project_id = ?)
|
|
35
|
+
ORDER BY occurrences DESC, last_seen DESC
|
|
36
|
+
`).all(t,n,n);for(const o of r)if(o.content_sig&&y(e,o.content_sig))return o;return null}get(e){return this.db.prepare("SELECT * FROM failure_patterns WHERE id = ?").get(e)??null}noteConfirmation(e,t){if(t.agent_id===null)return;this.db.prepare(`
|
|
31
37
|
INSERT OR IGNORE INTO failure_confirmations (failure_id, agent_id, run_id)
|
|
32
38
|
VALUES (?, ?, ?)
|
|
33
|
-
`).run(e,t.agent_id,t.run_id);const n=this.get(e);if(!n||n.quarantine_scope!=="run")return;const{n:r}=this.db.prepare("SELECT COUNT(*) AS n FROM failure_confirmations WHERE failure_id = ?").get(e);r>=2&&this.applyPromotion(e,"project")}applyPromotion(e,t){const n=this.get(e);if(!n)return!1;const r=t==="project"&&n.project_id===null?"global":t;return
|
|
39
|
+
`).run(e,t.agent_id,t.run_id);const n=this.get(e);if(!n||n.quarantine_scope!=="run")return;const{n:r}=this.db.prepare("SELECT COUNT(*) AS n FROM failure_confirmations WHERE failure_id = ?").get(e);r>=2&&this.applyPromotion(e,"project")}applyPromotion(e,t){const n=this.get(e);if(!n)return!1;const r=t==="project"&&n.project_id===null?"global":t;return g[r]<=g[n.quarantine_scope]?!1:(this.db.prepare("UPDATE failure_patterns SET quarantine_scope = ? WHERE id = ?").run(r,e),b(this.db,{projectId:n.project_id??0,kind:"failure",refTable:"failure_patterns",refId:e}),!0)}promote(e,t){if(!j(E()))return{row:this.get(e),authorized:!1,changed:!1};const n=this.applyPromotion(e,t);return{row:this.get(e),authorized:!0,changed:n}}sweepRunQuarantine(e){const t=Math.max(1,Math.floor(e?.runInactiveHours??24)),n=`-${t} hours`,r=Date.now()-t*36e5,o=A(),c=this.db.transaction(()=>{const s=this.db.prepare(`
|
|
34
40
|
UPDATE failure_patterns
|
|
35
41
|
SET resolved = 1,
|
|
36
42
|
resolution_note = COALESCE(resolution_note || ' \xB7 ', '')
|
|
37
43
|
|| 'auto-expired by run-quarantine sweep: run ' || run_id || ' was abandoned'
|
|
38
44
|
WHERE resolved = 0 AND quarantine_scope = 'run' AND run_id IS NOT NULL
|
|
39
45
|
AND run_id IN (SELECT run_id FROM runs WHERE status = 'abandoned')
|
|
40
|
-
`).run().changes,
|
|
46
|
+
`).run().changes,i=this.db.prepare(`
|
|
41
47
|
SELECT fp.id FROM failure_patterns fp
|
|
42
48
|
WHERE fp.resolved = 0 AND fp.quarantine_scope = 'run' AND fp.run_id IS NOT NULL
|
|
43
49
|
AND (
|
|
@@ -63,18 +69,18 @@ ${n}
|
|
|
63
69
|
)
|
|
64
70
|
)
|
|
65
71
|
)
|
|
66
|
-
`).all({cut:n,cutMs:r,ttl:o?1:0}).map(
|
|
72
|
+
`).all({cut:n,cutMs:r,ttl:o?1:0}).map(d=>d.id),u=this.db.prepare(`
|
|
67
73
|
UPDATE failure_patterns
|
|
68
74
|
SET quarantine_scope = CASE WHEN project_id IS NULL THEN 'global' ELSE 'project' END
|
|
69
75
|
WHERE id = ?
|
|
70
|
-
`);for(const
|
|
76
|
+
`);for(const d of i)u.run(d);const l=o?this.db.prepare(`
|
|
71
77
|
UPDATE runs SET status = 'abandoned', updated_at = datetime('now')
|
|
72
78
|
WHERE status = 'running' AND updated_at < datetime('now', @cut)
|
|
73
79
|
AND NOT EXISTS (
|
|
74
80
|
SELECT 1 FROM events e
|
|
75
81
|
WHERE e.run_id = runs.run_id AND e.created_at >= @cutMs
|
|
76
82
|
)
|
|
77
|
-
`).run({cut:n,cutMs:r}).changes:0;return{promotedIds:
|
|
83
|
+
`).run({cut:n,cutMs:r}).changes:0;return{promotedIds:i,expired:s,abandoned:l}})();for(const s of c.promotedIds){const i=this.get(s);b(this.db,{projectId:i?.project_id??0,kind:"failure",refTable:"failure_patterns",refId:s,agentId:null,runId:null})}return{promoted:c.promotedIds.length,expired:c.expired,runs_abandoned:c.abandoned,...o?{}:{degraded:"live memory off (WYRM_LIVE_MEMORY) \u2014 run-tagged events do not exist, so the run-inactivity TTL paths were skipped; only explicit run verdicts acted (completed/failed promote, abandoned expires)"}}}check(e,t,n,r,o){return this.query(e,t,n,r??null,o).map(({_match:c,_rank:s,...i})=>i)}checkVerdict(e,t,n,r,o){const s=this.query(e,t,n,r??null,o).map(i=>this.toVerdictMatch(i,i._match,i._rank));return{blocked:s.length>0,matches:s,recorded_by_agent:s[0]?.recorded_by_agent??null,run_id:s[0]?.run_id??null,confidence:s.reduce((i,u)=>Math.max(i,u.confidence),0)}}toVerdictMatch(e,t,n=null){const r=m(e);return{id:e.id,pattern:e.signature,scope:e.scope,quarantine_scope:e.quarantine_scope,target:e.target,description:e.description,why_failed:e.why_failed,severity:e.severity,occurrences:e.occurrences,last_seen:e.last_seen,recorded_by_agent:r.actor,run_id:r.run_id,match:t,confidence:k(t,n)}}targetIdentityMatches(e,t,n,r){const o=h(t),c=o.slice(0,200);if(c.length===0)return[];const s=r?.callerRunId!==void 0?r.callerRunId:E().run_id,i=`${e}:${c}:`,u=`${e}:${c};`;return this.db.prepare(`
|
|
78
84
|
SELECT * FROM failure_patterns
|
|
79
85
|
WHERE resolved = 0
|
|
80
86
|
AND signature >= @lo AND signature < @hi
|
|
@@ -82,7 +88,7 @@ ${n}
|
|
|
82
88
|
AND (quarantine_scope <> 'run' OR run_id = @run)
|
|
83
89
|
ORDER BY occurrences DESC, last_seen DESC
|
|
84
90
|
LIMIT @cap
|
|
85
|
-
`).all({lo:
|
|
91
|
+
`).all({lo:i,hi:u,project:n??null,run:s,cap:M}).filter(d=>h(d.target)===o).slice(0,U)}recordBlock(e,t){if(!(!e.blocked||e.matches.length===0))try{const n=E();this.db.prepare(`
|
|
86
92
|
INSERT INTO failure_blocks (failure_id, project_id, agent_id, run_id)
|
|
87
93
|
VALUES (?, ?, ?, ?)
|
|
88
94
|
`).run(e.matches[0].id,t??null,n.agent_id,n.run_id)}catch{}}pruneBlocks(e){const t=Math.max(1,Math.floor(e));try{return this.db.prepare("DELETE FROM failure_blocks WHERE blocked_at < datetime('now', @cut)").run({cut:`-${t} days`}).changes}catch{return 0}}failureStats(e){const t=e?.projectId??null,n=e?.callerRunId!==void 0?e.callerRunId:E().run_id,r={project:t},o=this.db.prepare(`
|
|
@@ -91,18 +97,18 @@ ${n}
|
|
|
91
97
|
`).get(r),c={run:0,project:0,global:0};for(const _ of this.db.prepare(`
|
|
92
98
|
SELECT quarantine_scope AS k, COUNT(*) AS n FROM failure_patterns
|
|
93
99
|
WHERE (@project IS NULL OR project_id = @project) GROUP BY quarantine_scope
|
|
94
|
-
`).all(r))c[_.k]=_.n;const
|
|
100
|
+
`).all(r))c[_.k]=_.n;const s={file:0,symbol:0,command:0,prompt:0,edit:0};for(const _ of this.db.prepare(`
|
|
95
101
|
SELECT scope AS k, COUNT(*) AS n FROM failure_patterns
|
|
96
102
|
WHERE (@project IS NULL OR project_id = @project) GROUP BY scope
|
|
97
|
-
`).all(r))
|
|
103
|
+
`).all(r))s[_.k]=_.n;const i=_=>_.map(N=>({who:C(N.agent_id),count:N.count})),u=i(this.db.prepare(`
|
|
98
104
|
SELECT agent_id, COUNT(*) AS count FROM failure_patterns
|
|
99
105
|
WHERE (@project IS NULL OR project_id = @project)
|
|
100
106
|
GROUP BY agent_id ORDER BY count DESC, agent_id ASC LIMIT 10
|
|
101
|
-
`).all(r)),
|
|
107
|
+
`).all(r)),l=this.db.prepare(`
|
|
102
108
|
SELECT run_id, COUNT(*) AS count FROM failure_patterns
|
|
103
109
|
WHERE run_id IS NOT NULL AND (@project IS NULL OR project_id = @project)
|
|
104
110
|
GROUP BY run_id ORDER BY count DESC, run_id ASC LIMIT 10
|
|
105
|
-
`).all(r),
|
|
111
|
+
`).all(r),d=i(this.db.prepare(`
|
|
106
112
|
SELECT agent_id, COUNT(*) AS count FROM failure_blocks
|
|
107
113
|
WHERE (@project IS NULL OR project_id = @project)
|
|
108
114
|
GROUP BY agent_id ORDER BY count DESC, agent_id ASC LIMIT 10
|
|
@@ -126,7 +132,7 @@ ${n}
|
|
|
126
132
|
JOIN failure_patterns fp ON fp.id = fb.failure_id
|
|
127
133
|
WHERE (@project IS NULL OR fb.project_id = @project)
|
|
128
134
|
GROUP BY fb.failure_id ORDER BY blocks DESC, fb.failure_id ASC LIMIT 5
|
|
129
|
-
`).all(r);return{view:"failures",project_id:t,recorded:{total:o.total,unresolved:o.unresolved,by_quarantine_scope:c,by_scope:
|
|
135
|
+
`).all(r);return{view:"failures",project_id:t,recorded:{total:o.total,unresolved:o.unresolved,by_quarantine_scope:c,by_scope:s,by_agent:u,by_run:l},confirmations:{total:R.total,distinct_agents:R.distinct_agents},blocked:{total:p,by_agent:d,by_run:f,this_run:{run_id:n??null,blocked:S},top_blocked:L}}}query(e,t,n,r,o){const c=o?.callerRunId!==void 0?o.callerRunId:E().run_id,s=o?.runScope??"any",i={project:r,run:c,tier:s==="any"?null:s},u=O.signature(e,t,n),l=this.db.prepare(`
|
|
130
136
|
SELECT *, NULL AS _rank FROM failure_patterns
|
|
131
137
|
WHERE resolved = 0 AND signature = @sig
|
|
132
138
|
AND (project_id IS @project OR project_id = @project OR project_id IS NULL)
|
|
@@ -134,7 +140,7 @@ ${n}
|
|
|
134
140
|
AND (@tier IS NULL OR quarantine_scope = @tier)
|
|
135
141
|
ORDER BY occurrences DESC, last_seen DESC
|
|
136
142
|
LIMIT 5
|
|
137
|
-
`).all({...
|
|
143
|
+
`).all({...i,sig:u});if(l.length>0)return l.map(p=>({...p,_match:"exact",_rank:null}));const d=I(`${t} ${n}`.slice(0,100));if(!d)return[];const f=d.split(" ").filter(p=>/[\p{L}\p{N}]/u.test(p));if(f.length===0)return[];const R=f.map(p=>`"${p.replace(/"/g,"")}"`).join(" ");try{return this.db.prepare(`
|
|
138
144
|
SELECT fp.*, bm25(failure_patterns_fts) AS _rank FROM failure_patterns fp
|
|
139
145
|
JOIN failure_patterns_fts fts ON fts.rowid = fp.id
|
|
140
146
|
WHERE failure_patterns_fts MATCH @q
|
|
@@ -145,11 +151,11 @@ ${n}
|
|
|
145
151
|
AND (@tier IS NULL OR fp.quarantine_scope = @tier)
|
|
146
152
|
ORDER BY fp.occurrences DESC, fp.last_seen DESC
|
|
147
153
|
LIMIT 5
|
|
148
|
-
`).all({...
|
|
154
|
+
`).all({...i,q:R,scope:e}).map(S=>({...S,_match:"fuzzy"}))}catch{return[]}}list(e,t=20){return e==null?this.db.prepare(`SELECT * FROM failure_patterns WHERE resolved = 0
|
|
149
155
|
ORDER BY last_seen DESC LIMIT ?`).all(t):this.db.prepare(`SELECT * FROM failure_patterns
|
|
150
156
|
WHERE resolved = 0 AND project_id = ?
|
|
151
157
|
ORDER BY last_seen DESC LIMIT ?`).all(e,t)}resolve(e,t){return this.db.prepare(`
|
|
152
158
|
UPDATE failure_patterns
|
|
153
159
|
SET resolved = 1, resolution_note = ?
|
|
154
160
|
WHERE id = ?
|
|
155
|
-
`).run(t??null,e),this.get(e)}delete(e){return this.db.prepare("DELETE FROM failure_patterns WHERE id = ?").run(e).changes>0}}export{O as FailurePatterns,
|
|
161
|
+
`).run(t??null,e),this.get(e)}delete(e){return this.db.prepare("DELETE FROM failure_patterns WHERE id = ?").run(e).changes>0}}export{O as FailurePatterns,k as matchConfidence,h as normalizeIdentity,T as normalizeSignal,B as renderFailureStats};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"failure-patterns.js","sourceRoot":"","sources":["../src/failure-patterns.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"failure-patterns.js","sourceRoot":"","sources":["../src/failure-patterns.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"causality.d.ts","sourceRoot":"","sources":["../../src/handlers/causality.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"causality.d.ts","sourceRoot":"","sources":["../../src/handlers/causality.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAKzE,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAwHzE,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import{TOOL_ANNOTATIONS as u}from"../tool-annotations.js";const
|
|
1
|
+
import{TOOL_ANNOTATIONS as u}from"../tool-annotations.js";import{staleFoundationWarning as f}from"../causality.js";const $=[{name:"wyrm_decided_because",description:"Use to link a choice or decision to the assumption or evidence it was based on - records a causal edge (truth/quest/artifact/session) so stale foundations invalidate downstream.",inputSchema:{type:"object",properties:{projectPath:{type:"string"},from_kind:{type:"string",enum:["truth","artifact","quest","session","data"]},from_id:{type:"number"},to_kind:{type:"string",enum:["truth","artifact","quest","session","data"]},to_id:{type:"number"},relation:{type:"string",enum:["because_of","supersedes","refutes","verifies"],description:"Default because_of"},rationale:{type:"string",description:"Why"},confidence:{type:"number",description:"0-1, default 1.0"}},required:["projectPath","from_kind","from_id","to_kind","to_id"]},annotations:u.wyrm_decided_because,aliases:[],handler:async(a,d)=>{const{causality:r,db:o}=d,{projectPath:i,from_kind:e,from_id:s,to_kind:t,to_id:c,relation:n,rationale:m,confidence:y}=a,p=o.getProject(i);if(!p)return{content:[{type:"text",text:"Project not found"}],isError:!0};const l=r.link({project_id:p.id,from_kind:e,from_id:s,to_kind:t,to_id:c,relation:n,rationale:m,confidence:y});return{content:[{type:"text",text:`\u{F115D} Edge #${l.id} \u2014 ${e}#${s} ${l.relation} ${t}#${c}`}]}}},{name:"wyrm_decision_downstream",description:"List all decisions that depend on the given source. Use before invalidating a truth to see the blast radius.",inputSchema:{type:"object",properties:{kind:{type:"string",enum:["truth","artifact","quest","session","data"]},id:{type:"number"}},required:["kind","id"]},annotations:u.wyrm_decision_downstream,aliases:[],handler:async(a,d)=>{const{causality:r}=d,{kind:o,id:i}=a,e=r.downstreamOf(o,i);if(e.length===0)return{content:[{type:"text",text:`\u{F115D} No active dependents on ${o}#${i}.`}]};const s=e.map(t=>`\u2022 ${t.from_kind}#${t.from_id} (${t.relation}, conf ${t.confidence})${t.rationale?` \u2014 ${t.rationale}`:""}`).join(`
|
|
2
2
|
`);return{content:[{type:"text",text:`\u{F115D} ${e.length} dependent(s):
|
|
3
|
-
${s}`}]}}},{name:"wyrm_decision_upstream",description:"List all sources a decision was based on (incoming edges). Walks the 'why did we choose this?' chain.",inputSchema:{type:"object",properties:{kind:{type:"string",enum:["truth","artifact","quest","session","data"]},id:{type:"number"}},required:["kind","id"]},annotations:u.wyrm_decision_upstream,aliases:[],handler:async(
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
${s}`}]}}},{name:"wyrm_decision_upstream",description:"List all sources a decision was based on (incoming edges). Walks the 'why did we choose this?' chain.",inputSchema:{type:"object",properties:{kind:{type:"string",enum:["truth","artifact","quest","session","data"]},id:{type:"number"}},required:["kind","id"]},annotations:u.wyrm_decision_upstream,aliases:[],handler:async(a,d)=>{const{causality:r}=d,{kind:o,id:i}=a,e=r.upstreamOf(o,i),s=f(r.staleFoundations(o,i)),t=s?`${s}
|
|
4
|
+
|
|
5
|
+
`:"";if(e.length===0)return{content:[{type:"text",text:`${t}\u{F115D} No recorded basis for ${o}#${i}.`}]};const c=e.map(n=>`\u2022 ${n.to_kind}#${n.to_id} (${n.relation}, conf ${n.confidence})${n.rationale?` \u2014 ${n.rationale}`:""}`).join(`
|
|
6
|
+
`);return{content:[{type:"text",text:`${t}\u{F115D} ${e.length} basis edge(s):
|
|
7
|
+
${c}`}]}}},{name:"wyrm_decision_invalidate",description:"Cascade-invalidate all decisions downstream of a source (recursive). Use when a foundational truth turns out to be wrong. Returns the set of affected (kind, id) pairs.",inputSchema:{type:"object",properties:{kind:{type:"string",enum:["truth","artifact","quest","session","data"]},id:{type:"number"},reason:{type:"string",description:"Why the source was invalidated"}},required:["kind","id"]},annotations:u.wyrm_decision_invalidate,aliases:[],handler:async(a,d)=>{const{causality:r}=d,o=a||{},{kind:i,id:e,reason:s}=a,t=r.invalidateDownstream(i,e,s);if(t.invalidated===0)return{content:[{type:"text",text:`\u{F115D} No dependents to invalidate from ${i}#${e}.`}]};const c=t.affected.map(n=>`\u2022 ${n.kind}#${n.id} (edge #${n.edge_id})`).join(`
|
|
6
8
|
`);return{content:[{type:"text",text:`\u{F115D} Invalidated ${t.invalidated} downstream decision(s):
|
|
7
|
-
${c}`}]}}}];export{
|
|
9
|
+
${c}`}]}}}];export{$ as causalityToolSpecs};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"causality.js","sourceRoot":"","sources":["../../src/handlers/causality.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"causality.js","sourceRoot":"","sources":["../../src/handlers/causality.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recall.d.ts","sourceRoot":"","sources":["../../src/handlers/recall.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"recall.d.ts","sourceRoot":"","sources":["../../src/handlers/recall.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQ3E,kFAAkF;AAClF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC,GACtF,IAAI,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAC;AAElD,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CA4OlE,CAAC"}
|
package/dist/handlers/recall.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import{TOOL_ANNOTATIONS as
|
|
1
|
+
import{TOOL_ANNOTATIONS as E}from"../tool-annotations.js";import{renderResult as R,withGlyph as d}from"../render.js";import{memoryUri as P,resourceLink as D}from"./resources.js";import{buildDeterminismReceipt as L,attestation as S}from"../receipt.js";import{rerankConfigured as T}from"../rerank.js";const F=[{name:"wyrm_recall",description:"Use before starting any non-trivial task - what do we know about this? Pull up relevant lessons learned, proven patterns, anti-patterns, and reasoning traces from past work. Hybrid lexical+semantic retrieval, fully local, no LLM. Mark what you recalled as useful (or not) with wyrm_feedback.",inputSchema:{type:"object",properties:{projectPath:{type:"string"},query:{type:"string",description:"The task or problem"},kind:{type:"string",enum:["reasoning_trace","lesson","pattern","anti_pattern","heuristic"]},limit:{type:"number",description:"Default 10"},minConfidence:{type:"number",description:"0-1 (default 0)"},detail:{type:"string",enum:["full","link"],description:"Default full"}},required:["projectPath","query"]},outputSchema:{type:"object",properties:{query:{type:"string"},count:{type:"integer"},results:{type:"array",items:{type:"object",properties:{id:{type:"integer"},kind:{type:"string"},relevance:{type:"number"},problem:{type:"string"},validated_fix:{type:["string","null"]},confidence:{type:"number"},reuse_count:{type:"integer"}},required:["id","kind","relevance","problem","confidence","reuse_count"]}}},required:["query","count","results"]},annotations:E.wyrm_recall,aliases:[],handler:async(w,{store:h,raw:v,memory:p,vectors:b,clientSupportsResources:$})=>{const{projectPath:m,query:s,kind:g,limit:x,minConfidence:M,detail:f}=w,c=h.getProject(m);if(!c)return{content:[{type:"text",text:`Project not found: ${m}`}],isError:!0};const a=!!b(),y=a&&T()&&/^(1|true|yes|on)$/i.test(process.env.WYRM_RERANK??""),_={kind:g,limit:x??10,minConfidence:M,rerank:y},i=a?await p.recallHybrid(c.id,s,_):p.recall(c.id,s,_),j=L({vectorsAvailable:a,rerankActive:y,embedModel:process.env.WYRM_EMBED_MODEL||"nomic-embed-text",rerankModel:process.env.WYRM_RERANK_MODEL||null});if(i.length>0){const n=i.map(r=>r.artifact.id),e=n.map(()=>"?").join(",");v().prepare(`UPDATE memory_artifacts SET last_accessed_at = datetime('now'), access_count = access_count + 1 WHERE id IN (${e})`).run(...n)}const k=n=>Math.round(n*1e4)/1e4,l={query:s,count:i.length,results:i.map(n=>{const e=n.artifact,r={id:e.id,kind:e.kind,relevance:k(n.relevance_score),problem:e.problem,outcome:e.outcome,confidence:e.confidence==null?e.confidence:k(e.confidence),reuse_count:e.reuse_count,reuse_success_count:e.reuse_success_count};return e.constraints!=null&&(r.constraints=e.constraints),e.validated_fix!=null&&(r.validated_fix=e.validated_fix),e.why_it_worked!=null&&(r.why_it_worked=e.why_it_worked),r}),receipt:j},u=R(l,(n,e)=>{const r=`
|
|
2
2
|
|
|
3
|
-
`;
|
|
4
|
-
`,n+=`**Problem:** ${t.problem}
|
|
5
|
-
`,t.constraints&&(n+=`**Constraints:** ${t.constraints}
|
|
6
|
-
`),t.validated_fix&&(n+=`**Solution:** ${t.validated_fix}
|
|
7
|
-
`),t.why_it_worked&&(n+=`**Why:** ${t.why_it_worked}
|
|
8
|
-
`),t.outcome==="negative"&&(n+=u(e.warn,"_This approach failed -- see solution for what to do instead_")+`
|
|
9
|
-
`);const g=t.confidence==null?"unknown":`${(t.confidence*100).toFixed(0)}%`;n+=`_Confidence: ${g} | Used ${t.reuse_count}x | Success rate: ${t.reuse_count>0?(t.reuse_success_count/t.reuse_count*100).toFixed(0)+"%":"not yet used"}_
|
|
3
|
+
_${S(n.receipt)}_`;if(n.count===0)return d(e.brand,`No relevant memory found for: "${n.query}"`)+"\n\nUse `wyrm_remember` to store knowledge as you work."+r;let o=d(e.brand,`**Memory Recall** -- "${n.query}" (${n.count} found)`)+`
|
|
10
4
|
|
|
11
|
-
|
|
5
|
+
`;for(const t of n.results){o+=`### ${t.kind} (ID: ${t.id}) -- relevance ${(t.relevance*100).toFixed(0)}%
|
|
6
|
+
`,o+=`**Problem:** ${t.problem}
|
|
7
|
+
`,t.constraints&&(o+=`**Constraints:** ${t.constraints}
|
|
8
|
+
`),t.validated_fix&&(o+=`**Solution:** ${t.validated_fix}
|
|
9
|
+
`),t.why_it_worked&&(o+=`**Why:** ${t.why_it_worked}
|
|
10
|
+
`),t.outcome==="negative"&&(o+=d(e.warn,"_This approach failed -- see solution for what to do instead_")+`
|
|
11
|
+
`);const q=t.confidence==null?"unknown":`${(t.confidence*100).toFixed(0)}%`;o+=`_Confidence: ${q} | Used ${t.reuse_count}x | Success rate: ${t.reuse_count>0?(t.reuse_success_count/t.reuse_count*100).toFixed(0)+"%":"not yet used"}_
|
|
12
|
+
|
|
13
|
+
`}return o+="_Use `wyrm_feedback` to record whether these were helpful._",o+r},{exemptStructured:!0});if((f==="link"||f!=="full"&&!!$?.())&&l.count>0){const n=l.results.map(e=>D(P(e.id),`memory #${e.id} (${e.kind})`,{description:e.problem.slice(0,120),mimeType:"application/json"}));return{...u,content:[...u.content,...n]}}return u}}];export{F as recallToolSpecs};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recall.js","sourceRoot":"","sources":["../../src/handlers/recall.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"recall.js","sourceRoot":"","sources":["../../src/handlers/recall.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAMhD,MAAM,CAAC,MAAM,eAAe,GAA2C;IACrE;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,qSAAqS;QAClT,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,+DAA+D;gBAC/D,oEAAoE;gBACpE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;gBAC7D,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,CAAC;iBAC5E;gBACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE;gBACpD,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE;gBACjE,qEAAqE;gBACrE,wEAAwE;gBACxE,sEAAsE;gBACtE,oDAAoD;gBACpD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE;aAChF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;SACnC;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;4BACvB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACxB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAC3B,mEAAmE;4BACnE,8DAA8D;4BAC9D,iEAAiE;4BACjE,iEAAiE;4BACjE,8DAA8D;4BAC9D,mEAAmE;4BACnE,8DAA8D;4BAC9D,8DAA8D;4BAC9D,qBAAqB;4BACrB,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;4BAC3C,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAC9B,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;yBACjC;wBACD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,CAAC;qBAC9E;iBACF;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC;SACxC;QACD,WAAW,EAAE,gBAAgB,CAAC,WAAW;QACzC,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE,EAAE,EAAE;YAChF,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAKzH,CAAC;YAEF,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,CAAC,SAAS;gBAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,MAAM,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAE5G,mFAAmF;YACnF,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;YAC9B,wEAAwE;YACxE,2EAA2E;YAC3E,yEAAyE;YACzE,MAAM,YAAY,GAAG,SAAS,IAAI,gBAAgB,EAAE,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YACjH,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,IAAI,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;YACtG,MAAM,OAAO,GAAG,SAAS;gBACvB,CAAC,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC;gBAC1D,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAEjD,yEAAyE;YACzE,oEAAoE;YACpE,MAAM,OAAO,GAAG,uBAAuB,CAAC;gBACtC,gBAAgB,EAAE,SAAS;gBAC3B,YAAY;gBACZ,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,kBAAkB;gBAC9D,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI;aACnD,CAAC,CAAC;YAEH,gCAAgC;YAChC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC5C,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClD,GAAG,EAAE,CAAC,OAAO,CACX,gHAAgH,YAAY,GAAG,CAChI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;YAChB,CAAC;YAED,gEAAgE;YAChE,qEAAqE;YACrE,wEAAwE;YACxE,0EAA0E;YAC1E,uEAAuE;YACvE,2EAA2E;YAC3E,uEAAuE;YACvE,wEAAwE;YACxE,2EAA2E;YAC3E,2EAA2E;YAC3E,yCAAyC;YACzC,0EAA0E;YAC1E,4EAA4E;YAC5E,uEAAuE;YACvE,2EAA2E;YAC3E,2EAA2E;YAC3E,0EAA0E;YAC1E,yEAAyE;YACzE,uEAAuE;YACvE,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;YAc5D,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,OAAO,CAAC,MAAM;gBACrB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAgB,EAAE;oBACvC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;oBACrB,MAAM,MAAM,GAAiB;wBAC3B,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC;wBACpC,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,2DAA2D;wBAC3D,kEAAkE;wBAClE,8DAA8D;wBAC9D,6DAA6D;wBAC7D,oEAAoE;wBACpE,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;wBACtE,WAAW,EAAE,CAAC,CAAC,WAAW;wBAC1B,mBAAmB,EAAE,CAAC,CAAC,mBAAmB;qBAC3C,CAAC;oBACF,qEAAqE;oBACrE,uEAAuE;oBACvE,uEAAuE;oBACvE,uDAAuD;oBACvD,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI;wBAAE,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;oBAC9D,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI;wBAAE,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC;oBACpE,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI;wBAAE,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC;oBACpE,OAAO,MAAM,CAAC;gBAChB,CAAC,CAAC;gBACF,OAAO;aACR,CAAC;YAEF,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC3C,sEAAsE;gBACtE,wEAAwE;gBACxE,MAAM,MAAM,GAAG,QAAQ,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;gBACjD,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;oBAClB,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,kCAAkC,CAAC,CAAC,KAAK,GAAG,CAAC;wBACrE,2DAA2D,GAAG,MAAM,CAAC;gBACzE,CAAC;gBACD,IAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,KAAK,SAAS,CAAC,GAAG,MAAM,CAAC;gBAC/F,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;oBAC1B,IAAI,IAAI,OAAO,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;oBACxF,IAAI,IAAI,gBAAgB,CAAC,CAAC,OAAO,IAAI,CAAC;oBACtC,IAAI,CAAC,CAAC,WAAW;wBAAE,IAAI,IAAI,oBAAoB,CAAC,CAAC,WAAW,IAAI,CAAC;oBACjE,IAAI,CAAC,CAAC,aAAa;wBAAE,IAAI,IAAI,iBAAiB,CAAC,CAAC,aAAa,IAAI,CAAC;oBAClE,IAAI,CAAC,CAAC,aAAa;wBAAE,IAAI,IAAI,YAAY,CAAC,CAAC,aAAa,IAAI,CAAC;oBAC7D,IAAI,CAAC,CAAC,OAAO,KAAK,UAAU;wBAAE,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,+DAA+D,CAAC,GAAG,IAAI,CAAC;oBAChI,qEAAqE;oBACrE,uEAAuE;oBACvE,qEAAqE;oBACrE,sEAAsE;oBACtE,uEAAuE;oBACvE,wEAAwE;oBACxE,oCAAoC;oBACpC,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;oBACzF,IAAI,IAAI,gBAAgB,OAAO,WAAW,CAAC,CAAC,WAAW,qBAAqB,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,cAAc,OAAO,CAAC;gBAC3L,CAAC;gBACD,IAAI,IAAI,+DAA+D,CAAC;gBACxE,OAAO,IAAI,GAAG,MAAM,CAAC;YACvB,CAAC,EAAE;gBACD,uEAAuE;gBACvE,sEAAsE;gBACtE,wEAAwE;gBACxE,4DAA4D;gBAC5D,uEAAuE;gBACvE,wEAAwE;gBACxE,qEAAqE;gBACrE,yEAAyE;gBACzE,uEAAuE;gBACvE,oEAAoE;gBACpE,uCAAuC;gBACvC,gBAAgB,EAAE,IAAI;aACvB,CAAC,CAAC;YAEH,uEAAuE;YACvE,mEAAmE;YACnE,mEAAmE;YACnE,2EAA2E;YAC3E,2EAA2E;YAC3E,uEAAuE;YACvE,2EAA2E;YAC3E,6DAA6D;YAC7D,kEAAkE;YAClE,4EAA4E;YAC5E,2EAA2E;YAC3E,2EAA2E;YAC3E,0EAA0E;YAC1E,4EAA4E;YAC5E,6EAA6E;YAC7E,MAAM,UAAU,GAAG,QAAQ,KAAK,MAAM,IAAI,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;YACjG,IAAI,UAAU,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACnC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC3D,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;oBACpC,QAAQ,EAAE,kBAAkB;iBAC7B,CAAC,CACH,CAAC;gBACF,OAAO,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;YACnE,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF;CACF,CAAC"}
|
package/dist/handlers/run.d.ts
CHANGED
|
@@ -43,5 +43,49 @@ import type { HotPathContext, ToolSpec } from './types.js';
|
|
|
43
43
|
/** Narrow slice this domain declares (T027): raw runs/run_agents SQL +
|
|
44
44
|
* project lookup + review-queue writes + the T015 sweep + claim release. */
|
|
45
45
|
export type RunContext = Pick<HotPathContext, 'store' | 'raw' | 'memory' | 'failures' | 'presence' | 'cache'>;
|
|
46
|
+
export interface RunRow {
|
|
47
|
+
run_id: string;
|
|
48
|
+
parent_run_id: string | null;
|
|
49
|
+
orchestrator: string | null;
|
|
50
|
+
status: 'running' | 'completed' | 'failed' | 'abandoned';
|
|
51
|
+
debrief_artifact_id: number | null;
|
|
52
|
+
created_at: string;
|
|
53
|
+
updated_at: string;
|
|
54
|
+
}
|
|
55
|
+
export interface RunAgentRow {
|
|
56
|
+
agent_id: string;
|
|
57
|
+
role: string | null;
|
|
58
|
+
joined_at: string;
|
|
59
|
+
}
|
|
60
|
+
/** The verbatim-SQL seam: a raw better-sqlite3 handle. Exported so the trusted
|
|
61
|
+
* local `wyrm run` CLI path (src/wyrm-cli.ts) reuses these helpers instead of
|
|
62
|
+
* re-spelling the migration-20 runs/run_agents SQL — single source of truth. */
|
|
63
|
+
export type Raw = ReturnType<RunContext['raw']>;
|
|
64
|
+
export declare const getRun: (db: Raw, runId: string) => RunRow | undefined;
|
|
65
|
+
export declare const getAgents: (db: Raw, runId: string) => RunAgentRow[];
|
|
66
|
+
/** Mint the run row (status defaults to 'running'). The ONE place the
|
|
67
|
+
* `INSERT INTO runs` lives — both the wyrm_run handler and the CLI call here. */
|
|
68
|
+
export declare const createRun: (db: Raw, runId: string, parentRunId: string | null, orchestrator: string | null) => void;
|
|
69
|
+
/** Set a run's terminal (or any) status + bump updated_at. The ONE place the
|
|
70
|
+
* status `UPDATE runs` lives. The handler's `end` wraps this with the full
|
|
71
|
+
* lifecycle (quarantine sweep, claim release, summary artifact); the CLI's
|
|
72
|
+
* `wyrm run end` is the minimal status flip. */
|
|
73
|
+
export declare const setRunStatus: (db: Raw, runId: string, status: RunRow["status"]) => void;
|
|
74
|
+
/** Register run membership (idempotent CAS on the (run_id, agent_id) PK;
|
|
75
|
+
* re-join refreshes the role when one is supplied — EXCEPT off
|
|
76
|
+
* 'orchestrator', which only `action=start` assigns and nothing strips.
|
|
77
|
+
*
|
|
78
|
+
* Second-round review of security pass #1 (confirmed finding): the plain
|
|
79
|
+
* COALESCE refresh let an envelope-less caller re-join AS the orchestrator's
|
|
80
|
+
* agent_id with any fleet role and silently DEMOTE the run's only
|
|
81
|
+
* 'orchestrator' row — gate (2) at join only guards CLAIMING the role, not
|
|
82
|
+
* stripping it — after which the start-door orphan-adoption branch (hasOrch
|
|
83
|
+
* now false) handed 'orchestrator' to a different agent: a two-step takeover
|
|
84
|
+
* that defeated the reserved-role invariant the pass introduced. The role is
|
|
85
|
+
* now sticky at the one seam every roster write passes through; the
|
|
86
|
+
* trusted-mesh self-identify re-join still succeeds, it just cannot mutate
|
|
87
|
+
* owner truth. */
|
|
88
|
+
export declare function registerAgent(db: Raw, runId: string, agentId: string, role: string | null): void;
|
|
89
|
+
export declare const touchRun: (db: Raw, runId: string) => void;
|
|
46
90
|
export declare const runToolSpecs: ReadonlyArray<ToolSpec<RunContext>>;
|
|
47
91
|
//# sourceMappingURL=run.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/handlers/run.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAc,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQvE;4EAC4E;AAC5E,MAAM,MAAM,UAAU,GAAG,IAAI,CAC3B,cAAc,EACd,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAC/D,CAAC;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/handlers/run.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAc,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQvE;4EAC4E;AAC5E,MAAM,MAAM,UAAU,GAAG,IAAI,CAC3B,cAAc,EACd,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAC/D,CAAC;AAKF,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;IACzD,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;gFAEgF;AAChF,MAAM,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AAEhD,eAAO,MAAM,MAAM,GAAI,IAAI,GAAG,EAAE,OAAO,MAAM,KAAG,MAAM,GAAG,SAC2B,CAAC;AAErF,eAAO,MAAM,SAAS,GAAI,IAAI,GAAG,EAAE,OAAO,MAAM,KAAG,WAAW,EAG/B,CAAC;AAEhC;iFACiF;AACjF,eAAO,MAAM,SAAS,GACpB,IAAI,GAAG,EAAE,OAAO,MAAM,EAAE,aAAa,MAAM,GAAG,IAAI,EAAE,cAAc,MAAM,GAAG,IAAI,KAC9E,IAIF,CAAC;AAEF;;;gDAGgD;AAChD,eAAO,MAAM,YAAY,GAAI,IAAI,GAAG,EAAE,OAAO,MAAM,EAAE,QAAQ,MAAM,CAAC,QAAQ,CAAC,KAAG,IAG/E,CAAC;AAYF;;;;;;;;;;;;;kBAakB;AAClB,wBAAgB,aAAa,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAOhG;AAiCD,eAAO,MAAM,QAAQ,GAAI,IAAI,GAAG,EAAE,OAAO,MAAM,KAAG,IAEjD,CAAC;AAMF,eAAO,MAAM,YAAY,EAAE,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,CA0Y5D,CAAC"}
|
package/dist/handlers/run.js
CHANGED
|
@@ -1,28 +1,26 @@
|
|
|
1
|
-
import{TOOL_ANNOTATIONS as z}from"../tool-annotations.js";import{renderResult as R,withGlyph as
|
|
1
|
+
import{TOOL_ANNOTATIONS as z}from"../tool-annotations.js";import{renderResult as R,withGlyph as x}from"../render.js";import{ValidationError as E,asEnum as W,asString as w}from"../validate.js";import{getActor as B,runWithActor as G,sanitizeActorId as V}from"./boundary.js";import{extractCandidates as J,candidateToArtifact as Q,escapeLikePattern as K}from"../auto-capture.js";import{ulid as X}from"../ulid.js";const H=["start","join","status","debrief","end"],Z=["completed","failed","abandoned"],O=(e,n)=>e.prepare("SELECT * FROM runs WHERE run_id = ?").get(n),v=(e,n)=>e.prepare("SELECT agent_id, role, joined_at FROM run_agents WHERE run_id = ? ORDER BY joined_at, agent_id").all(n),ee=(e,n,s,r)=>{e.prepare("INSERT INTO runs (run_id, parent_run_id, orchestrator, status) VALUES (?, ?, ?, 'running')").run(n,s,r)},te=(e,n,s)=>{e.prepare("UPDATE runs SET status = ?, updated_at = datetime('now') WHERE run_id = ?").run(s,n)};function h(e,n){if(n==null)return null;const s=V(n);if(s===null)throw new E(e,'must be <=64 printable-ASCII chars (no ";")');return s}function q(e,n,s,r){e.prepare(`
|
|
2
2
|
INSERT INTO run_agents (run_id, agent_id, role) VALUES (?, ?, ?)
|
|
3
3
|
ON CONFLICT(run_id, agent_id) DO UPDATE SET role =
|
|
4
4
|
CASE WHEN run_agents.role = 'orchestrator' THEN run_agents.role
|
|
5
5
|
ELSE COALESCE(excluded.role, run_agents.role) END
|
|
6
|
-
`).run(
|
|
7
|
-
INSERT INTO runs (run_id, parent_run_id, orchestrator, status) VALUES (?, ?, ?, 'running')
|
|
8
|
-
`).run(i,o,s),c&&q(r,i,c,"orchestrator")}return R({action:"start",run_id:i,status:"running",parent_run_id:o,orchestrator:s,agents:c?[{agent_id:c,role:"orchestrator"}]:[]},(l,d)=>w(d.brand,`Run ${l.run_id} started${l.orchestrator?` by ${l.orchestrator}`:""}.`)+`
|
|
6
|
+
`).run(n,s,r)}function S(e,n,s){return s?e.prepare("SELECT 1 FROM run_agents WHERE run_id = ? AND agent_id = ? AND role = 'orchestrator'").get(n,s)!==void 0:!1}function re(e,n,s){return e.prepare("SELECT 1 FROM run_agents WHERE run_id = ? AND agent_id = ?").get(n,s)!==void 0}function ne(e){return e.agent_id!==null&&e.source!=="client"&&e.source!=="legacy"}const C=(e,n)=>{e.prepare("UPDATE runs SET updated_at = datetime('now') WHERE run_id = ?").run(n)},ie=e=>({content:[{type:"text",text:`Run not found: ${e}`}],isError:!0}),le=[{name:"wyrm_run",description:"Use to manage a fleet run lifecycle from the orchestrator: action=start mints a ULID run_id and registers the orchestrator, join registers each subagent (agent_id, role), status reports agents, run-quarantined failure counts, and quest claims, debrief fans each agent's learnings through the LOCAL extractor (never a cloud LLM) into a run-scoped review queue for wyrm_review, and end writes the run summary, promotes or expires quarantined failures, and releases claims.",inputSchema:{type:"object",properties:{action:{type:"string",enum:["start","join","status","debrief","end"]},run_id:{type:"string",description:"start mints if omitted"},agent_id:{type:"string",description:"default: ambient envelope"},role:{type:"string",description:"join"},orchestrator:{type:"string",description:"start"},parent_run_id:{type:"string",description:"start: nested fleets"},project_path:{type:"string",description:"debrief/end"},learnings:{type:"array",items:{type:"object"},description:"debrief: [{agent_id?, text}]"},status:{type:"string",enum:["completed","failed","abandoned"],description:"end (default completed)"}},required:["action"]},outputSchema:{type:"object",properties:{action:{type:"string"},run_id:{type:"string"},status:{type:"string"},orchestrator:{type:["string","null"]},agents:{type:"array",items:{type:"object",properties:{agent_id:{type:"string"},role:{type:["string","null"]}},required:["agent_id","role"]}},quarantined:{type:"integer"},resolved:{type:"integer"},claims:{type:"integer"},method:{type:"string"},queued:{type:"integer"},skipped:{type:"integer"},promoted:{type:"integer"},expired:{type:"integer"},claims_released:{type:"integer"},summary_artifact_id:{type:["integer","null"]}},required:["action","run_id","status"]},annotations:z.wyrm_run,aliases:[],handler:async(e,n)=>{const s=W("action",e.action,H);if(!s)throw new E("action",`must be one of: ${H.join(", ")}`);const r=n.raw(),_=B();if(s==="start"){const i=h("run_id",e.run_id),a=i??X(),d=w("orchestrator",e.orchestrator,{maxLen:200})??_.agent_id??null,c=h("agent_id",e.agent_id)??_.agent_id,o=h("parent_run_id",e.parent_run_id),p=O(r,a);if(p){if(!i||p.status!=="running")return{content:[{type:"text",text:`Run ${a} already exists (status: ${p.status}).`}],isError:!0};if(c){if(r.prepare("SELECT 1 FROM run_agents WHERE run_id = ? AND role = 'orchestrator' LIMIT 1").get(a)!==void 0&&!S(r,a,c))return{content:[{type:"text",text:`Run ${a} already has an orchestrator \u2014 re-start with the same agent_id, or join as a member instead.`}],isError:!0};q(r,a,c,"orchestrator")}C(r,a)}else{if(o&&!O(r,o))return{content:[{type:"text",text:`Parent run not found: ${o}`}],isError:!0};ee(r,a,o,d),c&&q(r,a,c,"orchestrator")}return R({action:"start",run_id:a,status:"running",parent_run_id:o,orchestrator:d,agents:c?[{agent_id:c,role:"orchestrator"}]:[]},(l,u)=>x(u.brand,`Run ${l.run_id} started${l.orchestrator?` by ${l.orchestrator}`:""}.`)+`
|
|
9
7
|
Subagents join with: wyrm_run({ action: 'join', run_id: '${l.run_id}', agent_id, role })
|
|
10
8
|
Export WYRM_RUN_ID=${l.run_id} so every write in the fleet carries run attribution.
|
|
11
|
-
Prime ONCE per role: wyrm_session_prime({ run_id: '${l.run_id}', role, for_spawn: true }) -> embed the returned brief in each same-role agent's spawn prefix (don't re-prime per agent).`)}const t=h("run_id",e.run_id);if(!t)throw new E("run_id",`is required for action=${
|
|
9
|
+
Prime ONCE per role: wyrm_session_prime({ run_id: '${l.run_id}', role, for_spawn: true }) -> embed the returned brief in each same-role agent's spawn prefix (don't re-prime per agent).`)}const t=h("run_id",e.run_id);if(!t)throw new E("run_id",`is required for action=${s}`);const g=O(r,t);if(!g)return ie(t);if(s==="join"){if(g.status!=="running")return{content:[{type:"text",text:`Run ${t} already ended (status: ${g.status}) \u2014 cannot join.`}],isError:!0};const i=h("agent_id",e.agent_id),a=i??_.agent_id;if(!a)throw new E("agent_id","no agent identity \u2014 pass agent_id or supply the actor envelope (actor param / _meta / WYRM_AGENT_ID)");const d=w("role",e.role,{maxLen:200})??null;if(i&&ne(_)&&i!==_.agent_id&&!S(r,t,_.agent_id))return{content:[{type:"text",text:`Joining run ${t} as '${i}' while attributed as '${_.agent_id}' is orchestrator-only \u2014 join as yourself, or have the orchestrator register the agent.`}],isError:!0};if(d==="orchestrator"&&!S(r,t,a)&&!S(r,t,_.agent_id))return{content:[{type:"text",text:`Role 'orchestrator' on run ${t} is reserved \u2014 it is registered at action=start. Join with a fleet role instead.`}],isError:!0};q(r,t,a,d),C(r,t);const c=v(r,t),o={action:"join",run_id:t,status:g.status,agents:c.map(p=>({agent_id:p.agent_id,role:p.role}))};return R(o,(p,m)=>x(m.brand,`${a} joined run ${p.run_id}${d?` as ${d}`:""} (${p.agents.length} agent(s) registered).`))}if(s==="status"){const i=v(r,t),a=r.prepare(`
|
|
12
10
|
SELECT
|
|
13
11
|
SUM(CASE WHEN quarantine_scope = 'run' AND resolved = 0 THEN 1 ELSE 0 END) AS quarantined,
|
|
14
12
|
SUM(CASE WHEN resolved = 1 THEN 1 ELSE 0 END) AS resolved
|
|
15
13
|
FROM failure_patterns WHERE run_id = ?
|
|
16
|
-
`).get(t),
|
|
17
|
-
`);return
|
|
14
|
+
`).get(t),d=r.prepare("SELECT COUNT(*) AS n FROM quest_claims WHERE run_id = ?").get(t).n,c={action:"status",run_id:t,status:g.status,parent_run_id:g.parent_run_id,orchestrator:g.orchestrator,agents:i.map(o=>({agent_id:o.agent_id,role:o.role})),quarantined:a.quarantined??0,resolved:a.resolved??0,claims:d};return R(c,(o,p)=>{const m=o.agents.map(l=>`${p.bullet} ${l.agent_id}${l.role?` (${l.role})`:""}`).join(`
|
|
15
|
+
`);return x(p.brand,`Run ${o.run_id} [${o.status}]`)+`${o.orchestrator?`
|
|
18
16
|
Orchestrator: ${o.orchestrator}`:""}
|
|
19
17
|
Agents (${o.agents.length}):${m?`
|
|
20
18
|
${m}`:" none"}
|
|
21
19
|
Failures: ${o.quarantined} run-quarantined unresolved, ${o.resolved} resolved
|
|
22
|
-
Quest claims held: ${o.claims}`})}if(
|
|
23
|
-
Approve/reject with wyrm_review (run-scoped tag run:${
|
|
20
|
+
Quest claims held: ${o.claims}`})}if(s==="debrief"){const i=w("project_path",e.project_path,{maxLen:500});if(!i)throw new E("project_path","is required for action=debrief (the project the candidates file under)");const a=n.store.getProject(i);if(!a)return{content:[{type:"text",text:`Project not found: ${i}`}],isError:!0};const d=e.learnings;if(!Array.isArray(d)||d.length===0)throw new E("learnings","is required for action=debrief \u2014 an array of { agent_id?, text }");if(d.length>64)throw new E("learnings","too many entries (max 64 per debrief call)");for(const u of d){const f=u&&typeof u=="object"?u.text:void 0;typeof f=="string"&&w("learnings[].text",f,{maxLen:32e3})}let c=0,o=0,p=0;const m=new Set;for(const u of d){const f=u&&typeof u=="object"?u.text:void 0;if(typeof f!="string"||f.trim().length<20){o++;continue}const F=f,P=h("learnings[].agent_id",u.agent_id)??_.agent_id,{candidates:M,method:U}=await J(F);m.add(U),p+=M.length;for(const k of M){const y=Q(k),Y=y.tags[y.tags.length-1];if(r.prepare("SELECT 1 FROM memory_artifacts WHERE project_id = ? AND tags LIKE ? ESCAPE '\\' LIMIT 1").get(a.id,"%"+K(Y)+"%")){o++;continue}G({agent_id:P,run_id:t,source:"param"},()=>n.memory.add(a.id,{kind:y.kind,problem:y.problem,tags:[...y.tags,`run:${t}`],confidence:y.confidence,needsReview:1,createdBy:"run-debrief"})),c++}}C(r,t),c>0&&n.cache.invalidate();const l={action:"debrief",run_id:t,status:g.status,method:m.size===1?[...m][0]:m.size===0?"none":"mixed",submitted:d.length,candidates:p,queued:c,skipped:o};return R(l,(u,f)=>x(f.brand,`Run ${u.run_id} debrief (${u.method}): ${u.submitted} learning(s) -> ${u.queued} candidate(s) queued for review, ${u.skipped} skipped.`)+`
|
|
21
|
+
Approve/reject with wyrm_review (run-scoped tag run:${u.run_id}).`)}if(g.status!=="running")return{content:[{type:"text",text:`Run ${t} already ended (status: ${g.status}).`}],isError:!0};const T=h("agent_id",e.agent_id)??_.agent_id;if(!T)throw new E("agent_id","no agent identity \u2014 action=end is member-only; pass agent_id or supply the actor envelope (actor param / _meta / WYRM_AGENT_ID)");if(!re(r,t,T))return{content:[{type:"text",text:`'${T}' is not a registered member of run ${t} \u2014 only run members may end it (action=join first).`}],isError:!0};const $=W("status",e.status,Z,"completed"),A=w("project_path",e.project_path,{maxLen:500}),j=A?n.store.getProject(A):void 0;if(A&&!j)return{content:[{type:"text",text:`Project not found: ${A}`}],isError:!0};const I=r.prepare(`
|
|
24
22
|
SELECT id FROM failure_patterns
|
|
25
23
|
WHERE run_id = ? AND quarantine_scope = 'run' AND resolved = 0
|
|
26
|
-
`).all(t).map(
|
|
27
|
-
Summary artifact #${
|
|
28
|
-
No project_path given -- summary artifact skipped.`))}}];export{
|
|
24
|
+
`).all(t).map(i=>i.id);te(r,t,$),n.failures.sweepRunQuarantine();let N=0,L=0;if(I.length>0){const i=r.prepare("SELECT quarantine_scope, resolved FROM failure_patterns WHERE id = ?");for(const a of I){const d=i.get(a);d&&(d.quarantine_scope!=="run"?N++:d.resolved===1&&L++)}}const D=n.presence.releaseRunClaims(t);try{r.prepare("DELETE FROM run_briefs WHERE run_id = ?").run(t)}catch{}let b=null;if(j){const i=v(r,t);b=n.memory.add(j.id,{kind:"reasoning_trace",problem:`Fleet run ${t} ended ${$}: ${i.length} agent(s), ${N} quarantined failure(s) promoted, ${L} expired, ${D} quest claim(s) released.`,outcome:$==="completed"?"positive":$==="failed"?"negative":"neutral",tags:["run-summary",`run:${t}`],confidence:1,createdBy:"wyrm_run"}).id,r.prepare("UPDATE runs SET debrief_artifact_id = ? WHERE run_id = ?").run(b,t)}return n.cache.invalidate(),R({action:"end",run_id:t,status:$,promoted:N,expired:L,claims_released:D,summary_artifact_id:b},(i,a)=>x(a.brand,`Run ${i.run_id} ended (${i.status}): ${i.promoted} failure(s) promoted, ${i.expired} expired, ${i.claims_released} claim(s) released.`)+(i.summary_artifact_id!==null?`
|
|
25
|
+
Summary artifact #${i.summary_artifact_id} filed.`:`
|
|
26
|
+
No project_path given -- summary artifact skipped.`))}}];export{ee as createRun,v as getAgents,O as getRun,q as registerAgent,le as runToolSpecs,te as setRunStatus,C as touchRun};
|