wyrm-mcp 7.2.3 → 7.2.4

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.
Files changed (46) hide show
  1. package/dist/autoconfig.js +5 -5
  2. package/dist/autoconfig.js.map +1 -1
  3. package/dist/cloud/client.js +1 -1
  4. package/dist/cloud/client.js.map +1 -1
  5. package/dist/cloud/sync-engine.d.ts.map +1 -1
  6. package/dist/cloud/sync-engine.js +6 -6
  7. package/dist/cloud/sync-engine.js.map +1 -1
  8. package/dist/database.d.ts +87 -0
  9. package/dist/database.d.ts.map +1 -1
  10. package/dist/database.js +61 -20
  11. package/dist/database.js.map +1 -1
  12. package/dist/handlers/intelligence.d.ts.map +1 -1
  13. package/dist/handlers/intelligence.js +16 -16
  14. package/dist/handlers/intelligence.js.map +1 -1
  15. package/dist/handlers/search.d.ts.map +1 -1
  16. package/dist/handlers/search.js +2 -2
  17. package/dist/handlers/search.js.map +1 -1
  18. package/dist/handlers/session.d.ts.map +1 -1
  19. package/dist/handlers/session.js +21 -18
  20. package/dist/handlers/session.js.map +1 -1
  21. package/dist/handlers/types.d.ts +1 -1
  22. package/dist/handlers/types.d.ts.map +1 -1
  23. package/dist/http-fast.d.ts.map +1 -1
  24. package/dist/http-fast.js +18 -17
  25. package/dist/http-fast.js.map +1 -1
  26. package/dist/index.js +2 -2
  27. package/dist/index.js.map +1 -1
  28. package/dist/memory-artifacts.d.ts +45 -1
  29. package/dist/memory-artifacts.d.ts.map +1 -1
  30. package/dist/memory-artifacts.js +34 -24
  31. package/dist/memory-artifacts.js.map +1 -1
  32. package/dist/migrations.d.ts.map +1 -1
  33. package/dist/migrations.js +24 -0
  34. package/dist/migrations.js.map +1 -1
  35. package/dist/rerank.d.ts +59 -0
  36. package/dist/rerank.d.ts.map +1 -0
  37. package/dist/rerank.js +1 -0
  38. package/dist/rerank.js.map +1 -0
  39. package/dist/statusline.js +10 -10
  40. package/dist/statusline.js.map +1 -1
  41. package/dist/tool-manifest-v2.json +1 -1
  42. package/dist/tool-manifest.json +1 -1
  43. package/dist/wyrm-cli.js +1 -1
  44. package/dist/wyrm-cli.js.map +1 -1
  45. package/dist/wyrm-manifest.json +1 -1
  46. package/package.json +1 -1
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Cross-encoder rerank stage for hybrid recall — Ghost Protocol local
3
+ * multi-model ROUTER, subsystem wyrm-routing-rerank.
4
+ *
5
+ * The optional final leg of `recallHybrid`: FTS ⊕ vector fusion produces a
6
+ * top-K candidate set, this re-scores each candidate AGAINST the query with a
7
+ * true cross-encoder (query+document attend jointly, unlike the bi-encoder
8
+ * cosine the fusion uses), and the caller keeps the top-N. Cross-encoders are
9
+ * the strongest reranking signal in IR; the cost is a forward pass per
10
+ * candidate, which is why this is depth-bounded (top-K, not the whole corpus)
11
+ * and OFF by default.
12
+ *
13
+ * MODEL: bge-reranker-v2-m3 served by llama.cpp's OpenAI-style `/v1/rerank`
14
+ * endpoint (Jina/Cohere reranker wire shape:
15
+ * POST { model, query, documents: string[], top_n } ->
16
+ * { results: [{ index, relevance_score }, ...] }).
17
+ * Configured ENTIRELY by environment so Wyrm carries NO new dependency and the
18
+ * reranker is opt-in:
19
+ * WYRM_RERANK_MODEL — model id passed to /v1/rerank. UNSET ⇒ rerank is a
20
+ * no-op (the whole feature is gated on this).
21
+ * WYRM_RERANK_URL — base URL of the llama.cpp server
22
+ * (default http://localhost:8088).
23
+ * WYRM_RERANK_TIMEOUT — per-request timeout in ms (default 500).
24
+ *
25
+ * RESILIENCE CONTRACT (the recallHybrid `rerank:true` promise): this NEVER
26
+ * throws and NEVER hangs. On ANY error — model unset, endpoint down, timeout,
27
+ * malformed body, partial coverage — it returns null and the caller falls back
28
+ * to the fusion order. A reranker that is slow or absent must degrade recall to
29
+ * "exactly the fusion result", never to an error or a stall.
30
+ *
31
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
32
+ * @license Proprietary — (c) 2026 Ghost Protocol (Pvt) Ltd. All rights reserved. See LICENSE.
33
+ */
34
+ /** One candidate handed to the reranker: an opaque id + the text to score. */
35
+ export interface RerankCandidate {
36
+ id: number;
37
+ text: string;
38
+ }
39
+ /** True when a rerank model is configured (the feature is opt-in via env). */
40
+ export declare function rerankConfigured(): boolean;
41
+ /**
42
+ * Rerank `candidates` against `query` with the configured cross-encoder and
43
+ * return them ordered best-first (highest relevance_score). Sends <=batchSize
44
+ * documents per /v1/rerank call (sequential batches). Returns null — the
45
+ * signal for "fall back to fusion order" — when:
46
+ * - no model is configured (WYRM_RERANK_MODEL unset),
47
+ * - there are no candidates,
48
+ * - the endpoint is unreachable/slow/erroring for EVERY batch,
49
+ * - or no candidate received a usable score.
50
+ * A PARTIAL success (some batches scored, some not) still returns an order:
51
+ * scored candidates rank by their cross-encoder score, unscored ones keep
52
+ * their original (fusion) order and trail the scored set — strictly no worse
53
+ * than the fusion order, and never a thrown error.
54
+ */
55
+ export declare function rerankCandidates(query: string, candidates: RerankCandidate[], opts?: {
56
+ batchSize?: number;
57
+ timeoutMs?: number;
58
+ }): Promise<RerankCandidate[] | null>;
59
+ //# sourceMappingURL=rerank.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rerank.d.ts","sourceRoot":"","sources":["../src/rerank.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAUH,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAwDD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,eAAe,EAAE,EAC7B,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACpD,OAAO,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,CA6BnC"}
package/dist/rerank.js ADDED
@@ -0,0 +1 @@
1
+ const E=5,h=500,M="http://localhost:8088";function T(){return!!(process.env.WYRM_RERANK_MODEL&&process.env.WYRM_RERANK_MODEL.trim())}function m(){const t=Number(process.env.WYRM_RERANK_TIMEOUT);return Number.isFinite(t)&&t>0?t:500}function p(){return((process.env.WYRM_RERANK_URL||"").trim()||M).replace(/\/+$/,"")}async function A(t,o,l,s,f){try{const a=await fetch(`${o}/v1/rerank`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:t,query:l,documents:s.map(n=>n.text),top_n:s.length}),signal:AbortSignal.timeout(f)});if(!a.ok)return null;const r=(await a.json())?.results;if(!Array.isArray(r)||r.length===0)return null;const i=new Map;for(const n of r){if(typeof n.index!="number"||n.index<0||n.index>=s.length)continue;const e=typeof n.relevance_score=="number"?n.relevance_score:typeof n.score=="number"?n.score:null;e==null||!Number.isFinite(e)||i.set(s[n.index].id,e)}return i.size>0?i:null}catch{return null}}async function d(t,o,l={}){const s=process.env.WYRM_RERANK_MODEL?.trim();if(!s||!t||o.length===0)return null;const f=p(),a=l.timeoutMs??m(),R=Math.max(1,Math.min(5,l.batchSize??5)),r=new Map;for(let n=0;n<o.length;n+=R){const e=o.slice(n,n+R),c=await A(s,f,t,e,a);if(c)for(const[u,_]of c)r.set(u,_)}if(r.size===0)return null;const i=new Map(o.map((n,e)=>[n.id,e]));return[...o].sort((n,e)=>{const c=r.get(n.id),u=r.get(e.id);return c!=null&&u!=null?u-c:c!=null?-1:u!=null?1:(i.get(n.id)??0)-(i.get(e.id)??0)})}export{d as rerankCandidates,T as rerankConfigured};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rerank.js","sourceRoot":"","sources":["../src/rerank.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,18 @@
1
- import{existsSync as C,mkdirSync as I,unlinkSync as x,writeFileSync as k,realpathSync as M}from"fs";import{join as S}from"path";import{homedir as h}from"os";import{createServer as $,createConnection as A}from"net";import{spawn as N}from"child_process";import{WyrmDB as L}from"./database.js";import{ICON as d}from"./icons.js";const y=S(h(),".wyrm","statusline.sock"),v=S(h(),".wyrm","statusline.pid"),D=300*1e3,W="\x1B[38;2;192;192;192m",U="\x1B[0m",m=d.brand?`${W}${d.brand}${U}`:"";function j(e,n){if(!n)return null;let o=n;for(let t=0;t<12;t++){const r=e.prepare("SELECT id, name FROM projects WHERE path = ?").get(o);if(r)return r;const s=S(o,"..");if(s===o)break;o=s}return null}function f(e,n,...o){try{return e.prepare(n).get(...o)?.n??0}catch{return 0}}function H(e,n){if(n.privateMode??process.env.WYRM_STATUSLINE_PRIVATE==="1")return{text:`${m} \u25CF\u25CF\u25CF`,raw:{project:null,activeQuests:0,contextTokensUsed:0,contextBudget:0,blockedThisSession:0,truthCount:0,tokensSaved:null}};const t=j(e,n.cwd),r=t?.id,s=n.showSavings??process.env.WYRM_STATUSLINE_SHOW_SAVINGS==="1",i=r?f(e,"SELECT COUNT(*) AS n FROM quests WHERE project_id = ? AND status = 'pending'",r):0,a=r?f(e,"SELECT COUNT(*) AS n FROM ground_truths WHERE project_id = ?",r):0;let c=0;n.sessionId?c=f(e,`SELECT COALESCE(SUM(occurrences), 0) AS n FROM failure_patterns
2
- WHERE last_seen >= (SELECT created_at FROM sessions WHERE id = ?)`,n.sessionId):c=f(e,"SELECT COALESCE(SUM(occurrences), 0) AS n FROM failure_patterns WHERE last_seen >= datetime('now', '-1 day')");let l=0;const w=2e5;try{l=e.prepare(`
1
+ import{existsSync as C,mkdirSync as I,unlinkSync as x,writeFileSync as k,realpathSync as M}from"fs";import{join as S}from"path";import{homedir as h}from"os";import{createServer as $,createConnection as A}from"net";import{spawn as N}from"child_process";import{WyrmDB as D,resolveDbPath as L}from"./database.js";import{ICON as d}from"./icons.js";const y=S(h(),".wyrm","statusline.sock"),v=S(h(),".wyrm","statusline.pid"),W=300*1e3,U="\x1B[38;2;192;192;192m",j="\x1B[0m",m=d.brand?`${U}${d.brand}${j}`:"";function b(t,n){if(!n)return null;let o=n;for(let e=0;e<12;e++){const r=t.prepare("SELECT id, name FROM projects WHERE path = ?").get(o);if(r)return r;const s=S(o,"..");if(s===o)break;o=s}return null}function f(t,n,...o){try{return t.prepare(n).get(...o)?.n??0}catch{return 0}}function H(t,n){if(n.privateMode??process.env.WYRM_STATUSLINE_PRIVATE==="1")return{text:`${m} \u25CF\u25CF\u25CF`,raw:{project:null,activeQuests:0,contextTokensUsed:0,contextBudget:0,blockedThisSession:0,truthCount:0,tokensSaved:null}};const e=b(t,n.cwd),r=e?.id,s=n.showSavings??process.env.WYRM_STATUSLINE_SHOW_SAVINGS==="1",i=r?f(t,"SELECT COUNT(*) AS n FROM quests WHERE project_id = ? AND status = 'pending'",r):0,a=r?f(t,"SELECT COUNT(*) AS n FROM ground_truths WHERE project_id = ?",r):0;let c=0;n.sessionId?c=f(t,`SELECT COALESCE(SUM(occurrences), 0) AS n FROM failure_patterns
2
+ WHERE last_seen >= (SELECT created_at FROM sessions WHERE id = ?)`,n.sessionId):c=f(t,"SELECT COALESCE(SUM(occurrences), 0) AS n FROM failure_patterns WHERE last_seen >= datetime('now', '-1 day')");let l=0;const w=2e5;try{l=t.prepare(`
3
3
  SELECT estimated_tokens AS n FROM token_savings_log
4
4
  WHERE category = 'cached_preamble' AND session_id = ?
5
5
  ORDER BY id DESC LIMIT 1
6
- `).get(n.sessionId??-1)?.n??0}catch{}let p=null;if(s)try{p=e.prepare(`
6
+ `).get(n.sessionId??-1)?.n??0}catch{}let p=null;if(s)try{p=t.prepare(`
7
7
  SELECT COALESCE(SUM(estimated_tokens), 0) AS n FROM token_savings_log
8
8
  WHERE session_id = ?
9
- `).get(n.sessionId??-1).n}catch{p=0}const u=[`${m} Wyrm`];return t&&u.push(t.name),u.push(`${i} ${d.questOpen}`),l>0&&u.push(`${g(l)}/${g(w)}`),p!==null&&p>0&&u.push(`~${g(p)} saved`),c>0&&u.push(`${d.blocked} ${c}`),a>0&&u.push(`${d.truth} ${a}`),{text:u.join(" \xB7 "),raw:{project:t?.name??null,activeQuests:i,contextTokensUsed:l,contextBudget:w,blockedThisSession:c,truthCount:a,tokensSaved:p}}}function g(e){return e>=1e3?`${Math.round(e/100)/10}k`:String(e)}function Y(e,n,o,t,r,s="conservative"){try{e.prepare(`
9
+ `).get(n.sessionId??-1).n}catch{p=0}const u=[`${m} Wyrm`];return e&&u.push(e.name),u.push(`${i} ${d.questOpen}`),l>0&&u.push(`${g(l)}/${g(w)}`),p!==null&&p>0&&u.push(`~${g(p)} saved`),c>0&&u.push(`${d.blocked} ${c}`),a>0&&u.push(`${d.truth} ${a}`),{text:u.join(" \xB7 "),raw:{project:e?.name??null,activeQuests:i,contextTokensUsed:l,contextBudget:w,blockedThisSession:c,truthCount:a,tokensSaved:p}}}function g(t){return t>=1e3?`${Math.round(t/100)/10}k`:String(t)}function K(t,n,o,e,r,s="conservative"){try{t.prepare(`
10
10
  INSERT INTO token_savings_log (session_id, tool_name, category, estimated_tokens, confidence)
11
11
  VALUES (?, ?, ?, ?, ?)
12
- `).run(r??null,n,o,t,s)}catch{}}let _=null,T=null;function O(){_&&clearTimeout(_),_=setTimeout(()=>{try{T?.close()}catch{}E(),process.exit(0)},D)}function E(){try{x(y)}catch{}try{x(v)}catch{}}function K(){const e=S(h(),".wyrm");C(e)||I(e,{recursive:!0}),E();const o=new L().getDatabase();T=$(t=>{let r="";t.on("data",s=>{r+=s.toString();const i=r.indexOf(`
13
- `);if(i===-1)return;const a=r.slice(0,i);r=r.slice(i+1);try{const c=JSON.parse(a),l=H(o,c);t.write(`${JSON.stringify(l)}
14
- `)}catch(c){t.write(`${JSON.stringify({text:`${m} Wyrm`,error:String(c)})}
15
- `)}t.end(),O()}),t.on("error",()=>{})}),T.on("error",t=>{t.code==="EADDRINUSE"&&process.exit(0),console.error("wyrm-statusline-daemon: socket error",t),E(),process.exit(1)}),T.listen(y,()=>{try{k(v,String(process.pid))}catch{}O()}),process.on("SIGTERM",()=>{E(),process.exit(0)}),process.on("SIGINT",()=>{E(),process.exit(0)})}async function z(e){return new Promise(n=>{const o=t=>{const r=A({path:y},()=>{let s="";r.on("data",i=>{if(s+=i.toString(),s.includes(`
12
+ `).run(r??null,n,o,e,s)}catch{}}let _=null,T=null;function O(){_&&clearTimeout(_),_=setTimeout(()=>{try{T?.close()}catch{}E(),process.exit(0)},W)}function E(){try{x(y)}catch{}try{x(v)}catch{}}function z(){const t=S(h(),".wyrm");C(t)||I(t,{recursive:!0}),E();const o=new D(L()).getDatabase();T=$(e=>{let r="";e.on("data",s=>{r+=s.toString();const i=r.indexOf(`
13
+ `);if(i===-1)return;const a=r.slice(0,i);r=r.slice(i+1);try{const c=JSON.parse(a),l=H(o,c);e.write(`${JSON.stringify(l)}
14
+ `)}catch(c){e.write(`${JSON.stringify({text:`${m} Wyrm`,error:String(c)})}
15
+ `)}e.end(),O()}),e.on("error",()=>{})}),T.on("error",e=>{e.code==="EADDRINUSE"&&process.exit(0),console.error("wyrm-statusline-daemon: socket error",e),E(),process.exit(1)}),T.listen(y,()=>{try{k(v,String(process.pid))}catch{}O()}),process.on("SIGTERM",()=>{E(),process.exit(0)}),process.on("SIGINT",()=>{E(),process.exit(0)})}async function X(t){return new Promise(n=>{const o=e=>{const r=A({path:y},()=>{let s="";r.on("data",i=>{if(s+=i.toString(),s.includes(`
16
16
  `)){const a=s.split(`
17
- `)[0];try{const c=JSON.parse(a);n(c)}catch{n({text:`${m} Wyrm`,raw:{project:null,activeQuests:0,contextTokensUsed:0,contextBudget:2e5,blockedThisSession:0,truthCount:0,tokensSaved:null}})}r.end()}}),r.write(`${JSON.stringify(e)}
18
- `)});r.on("error",()=>{t===0?(b(),setTimeout(()=>o(1),300)):n({text:`${m} Wyrm`,raw:{project:null,activeQuests:0,contextTokensUsed:0,contextBudget:2e5,blockedThisSession:0,truthCount:0,tokensSaved:null}})})};o(0)})}function b(e){let n=e;if(!n){let t=process.argv[1]||"";try{t&&(t=M(t))}catch{}n=S(S(t,".."),"wyrm-statusline-daemon.js")}N(process.execPath,[n],{detached:!0,stdio:"ignore"}).unref()}export{H as computeStatusline,Y as logSavings,z as queryDaemon,K as runDaemon};
17
+ `)[0];try{const c=JSON.parse(a);n(c)}catch{n({text:`${m} Wyrm`,raw:{project:null,activeQuests:0,contextTokensUsed:0,contextBudget:2e5,blockedThisSession:0,truthCount:0,tokensSaved:null}})}r.end()}}),r.write(`${JSON.stringify(t)}
18
+ `)});r.on("error",()=>{e===0?(F(),setTimeout(()=>o(1),300)):n({text:`${m} Wyrm`,raw:{project:null,activeQuests:0,contextTokensUsed:0,contextBudget:2e5,blockedThisSession:0,truthCount:0,tokensSaved:null}})})};o(0)})}function F(t){let n=t;if(!n){let e=process.argv[1]||"";try{e&&(e=M(e))}catch{}n=S(S(e,".."),"wyrm-statusline-daemon.js")}N(process.execPath,[n],{detached:!0,stdio:"ignore"}).unref()}export{H as computeStatusline,K as logSavings,X as queryDaemon,z as runDaemon};
@@ -1 +1 @@
1
- {"version":3,"file":"statusline.js","sourceRoot":"","sources":["../src/statusline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"statusline.js","sourceRoot":"","sources":["../src/statusline.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "contract": "wyrm-cloud-memory-v2",
3
- "version": "7.2.3",
3
+ "version": "7.2.4",
4
4
  "derivedFrom": "standard tier MINUS device-local/egress/subprocess (src/cloud-profile.ts)",
5
5
  "count": 19,
6
6
  "tools": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "contract": "wyrm-cloud-memory-v1",
3
- "version": "7.2.3",
3
+ "version": "7.2.4",
4
4
  "tools": [
5
5
  {
6
6
  "name": "wyrm_recall",
package/dist/wyrm-cli.js CHANGED
@@ -63,7 +63,7 @@ Delete these ${y.length} artifact(s)? Type CONFIRM to proceed: `,b)});if(w.close
63
63
  Activate with: wyrm login (free) \xB7 or: wyrm activate <license.json | key>`)),console.log(d.dim(`
64
64
  \xA9 2026 Ghost Protocol (Pvt) Ltd \xB7 Proprietary \xB7 https://wyrm.ghosts.lk`)),console.log(d.dim(" Licensed under the Wyrm Terms of Service. No open-source license is granted."))}async function Be(){const l=(process.env.WYRM_ACCOUNT_URL??"https://account.ghosts.lk").replace(/\/$/,""),i=(()=>{try{return O().version??"unknown"}catch{return"unknown"}})();let e;try{const c=await fetch(`${l}/api/v1/cli/auth/start`,{method:"POST",headers:{"x-wyrm-version":i}});if(!c.ok)throw new Error(`HTTP ${c.status}`);e=await c.json()}catch(c){p(`Couldn't reach ${l} (${c instanceof Error?c.message:"network error"}).`),process.exitCode=1;return}const s=e.verification_uri_complete||e.verification_uri||`${l}/cli`;console.log(`
65
65
  ${d.cyan("Sign in to activate Wyrm (free):")}`),console.log(` 1. Open ${d.cyan(s)}`),console.log(` 2. Approve the code ${d.cyan(e.user_code)}`),console.log(d.dim(`
66
- Waiting for approval\u2026 (Ctrl-C to cancel)`));const r=(e.interval??3)*1e3,t=Date.now()+(e.expires_in??600)*1e3;let n="";for(;Date.now()<t;){await new Promise(c=>setTimeout(c,r));try{const m=await(await fetch(`${l}/api/v1/cli/auth/poll`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({device_code:e.device_code})})).json();if(m.status==="approved"&&m.token){n=m.token;break}if(m.status==="denied"||m.error==="expired"){p("Login was denied or the code expired. Run `wyrm login` again."),process.exitCode=1;return}}catch{}}if(!n){p("Login timed out. Run `wyrm login` again."),process.exitCode=1;return}let a;try{const c=await fetch(`${l}/api/v1/license/free`,{method:"POST",headers:{authorization:`Bearer ${n}`,"x-wyrm-version":i}});if(!c.ok){const m=await c.json().catch(()=>({}));p(`Activation failed (${c.status}): ${m.hint||m.error||"unknown error"}`),process.exitCode=1;return}a=JSON.stringify(await c.json())}catch(c){p(`Activation request failed (${c instanceof Error?c.message:"network error"}).`),process.exitCode=1;return}const{activateLicense:o}=await import("./license.js"),u=o(a);u.valid?(v(`Signed in & activated \u2014 ${u.tier} tier (expires ${u.expiresAt??"never"}).`),console.log(d.dim(" Restart the Wyrm MCP server / daemon to apply."))):(p(`Activation failed: ${u.error??"unknown error"}`),process.exitCode=1)}async function Ke(l){const{positional:i}=x(l),e=i[0];let s;e&&ce(e)?s=V(e,"utf-8"):e?s=e:process.stdin.isTTY?(p("Usage: wyrm activate <license.json path | license JSON> (or pipe the JSON on stdin)"),process.exit(1)):s=me();const{activateLicense:r}=await import("./license.js");try{const t=r(s);t.valid?(v(`License activated \u2014 ${t.tier} tier (${t.features.join(", ")})`),console.log(d.dim(" Restart Wyrm (MCP server / daemon) to apply all features."))):(p(`License activation failed: ${t.error??"unknown error"}`),process.exitCode=1)}catch{p("Invalid license format. Please verify your license key."),process.exitCode=1}}async function Ge(l){const{flags:i}=x(l),{runMaintenance:e}=await import("./maintenance.js"),{FailurePatterns:s}=await import("./failure-patterns.js"),{SessionSeen:r}=await import("./session-seen.js"),{AgentPresence:t}=await import("./presence.js"),n=E();try{const a=n.getDatabase(),o=R(i["archive-days"],0),u=e({db:n,sessionSeen:new r(a),failures:new s(a),presence:new t(a)},{vacuum:i.vacuum===!0,archiveDays:o>0?o:void 0});j("Maintenance complete");for(const c of u.lines)console.log(` - ${c}`);console.log(d.dim(`
66
+ Waiting for approval\u2026 (Ctrl-C to cancel)`));const r=(e.interval??3)*1e3,t=Date.now()+(e.expires_in??600)*1e3;let n="";for(;Date.now()<t;){await new Promise(c=>{setTimeout(c,r)});try{const m=await(await fetch(`${l}/api/v1/cli/auth/poll`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({device_code:e.device_code})})).json();if(m.status==="approved"&&m.token){n=m.token;break}if(m.status==="denied"||m.error==="expired"){p("Login was denied or the code expired. Run `wyrm login` again."),process.exitCode=1;return}}catch{}}if(!n){p("Login timed out. Run `wyrm login` again."),process.exitCode=1;return}let a;try{const c=await fetch(`${l}/api/v1/license/free`,{method:"POST",headers:{authorization:`Bearer ${n}`,"x-wyrm-version":i}});if(!c.ok){const m=await c.json().catch(()=>({}));p(`Activation failed (${c.status}): ${m.hint||m.error||"unknown error"}`),process.exitCode=1;return}a=JSON.stringify(await c.json())}catch(c){p(`Activation request failed (${c instanceof Error?c.message:"network error"}).`),process.exitCode=1;return}const{activateLicense:o}=await import("./license.js"),u=o(a);u.valid?(v(`Signed in & activated \u2014 ${u.tier} tier (expires ${u.expiresAt??"never"}).`),console.log(d.dim(" Restart the Wyrm MCP server / daemon to apply."))):(p(`Activation failed: ${u.error??"unknown error"}`),process.exitCode=1)}async function Ke(l){const{positional:i}=x(l),e=i[0];let s;e&&ce(e)?s=V(e,"utf-8"):e?s=e:process.stdin.isTTY?(p("Usage: wyrm activate <license.json path | license JSON> (or pipe the JSON on stdin)"),process.exit(1)):s=me();const{activateLicense:r}=await import("./license.js");try{const t=r(s);t.valid?(v(`License activated \u2014 ${t.tier} tier (${t.features.join(", ")})`),console.log(d.dim(" Restart Wyrm (MCP server / daemon) to apply all features."))):(p(`License activation failed: ${t.error??"unknown error"}`),process.exitCode=1)}catch{p("Invalid license format. Please verify your license key."),process.exitCode=1}}async function Ge(l){const{flags:i}=x(l),{runMaintenance:e}=await import("./maintenance.js"),{FailurePatterns:s}=await import("./failure-patterns.js"),{SessionSeen:r}=await import("./session-seen.js"),{AgentPresence:t}=await import("./presence.js"),n=E();try{const a=n.getDatabase(),o=R(i["archive-days"],0),u=e({db:n,sessionSeen:new r(a),failures:new s(a),presence:new t(a)},{vacuum:i.vacuum===!0,archiveDays:o>0?o:void 0});j("Maintenance complete");for(const c of u.lines)console.log(` - ${c}`);console.log(d.dim(`
67
67
  Database size: ${u.dbSize}`))}finally{n.close()}}async function Je(l){const{positional:i,flags:e}=x(l),s=i[0]??"status",{createVectorStore:r}=await import("./vectors.js"),n={provider:e.provider??process.env.WYRM_VECTOR_PROVIDER??"auto",model:e.model,apiKey:e["api-key"]??process.env.OPENAI_API_KEY,ollamaUrl:e["ollama-url"]};if(s==="setup"){const{createProvider:o}=await import("./providers/embedding-provider.js"),u=o(n);if(!await u.isReady()&&n.provider!=="none"){p(`Provider not ready: ${u.name}. Check the configuration and try again.`),process.exitCode=1;return}v(`Vector provider verified: ${u.name} (model ${u.model}, ${u.dimensions}d)`),console.log(d.dim(" The MCP server reads WYRM_VECTOR_PROVIDER (and provider-specific env) at boot \u2014")),console.log(d.dim(` set WYRM_VECTOR_PROVIDER=${u.name==="none"?"none":n.provider} in the server env, then: wyrm index rebuild`));return}const a=E();try{const o=a.getDatabase(),u=r(n,o);if(s==="status"){const c=u.getStats();j("Vector index");const m=[["Provider",c.provider],["Model",c.model],["Vectors",String(c.total)],...Object.entries(c.byType).map(([y,f])=>[` ${y}`,String(f)])];console.log(M(["Field","Value"],m));return}if(s==="rebuild"){const{reindexProjects:c}=await import("./reindex.js"),m=e["dry-run"]===!0,y=e.project;let f;if(y){const h=a.getProject(y)??P(a,y);if(!h){p(`Project not found: ${y}`),process.exitCode=1;return}f=[h.id]}else f=a.getAllProjects(1e3).map(h=>h.id);const{indexed:g,skipped:w}=await c(o,u,f,{dryRun:m,onError:(h,b)=>p(`${h}: ${JSON.stringify(b)}`)});v(`Reindex ${m?"(dry run) ":""}\u2014 ${f.length} project(s), ${g} indexed, ${w} skipped`);return}p("Usage: wyrm index <setup|rebuild|status> [--provider auto|local|ollama|openai|none] [--model M] [--project P] [--dry-run]"),process.exitCode=1}finally{a.close()}}async function ze(l){const{flags:i}=x(l),{getUpdateStatus:e}=await import("./version-check.js"),s=O().version??"0.0.0",r=E();let t;try{t=await e(r.getDatabase(),s,{force:i.force===!0||i.check===!0})}finally{r.close()}if(j("Wyrm update"),console.log(M(["Field","Value"],[["Current",t.current],["Latest",t.latest??"unknown (offline?)"],["Update available",t.updateAvailable?"yes":"no"],["Checked",`${t.checkedAt} (${t.source})`]])),i.check===!0)return;if(!t.updateAvailable&&i.force!==!0){console.log(d.dim(`
68
68
  Already up to date. (Use --force to reinstall anyway.)`));return}console.log(d.dim(`
69
69
  Running: npm install -g wyrm-mcp@latest