wyrm-mcp 7.2.2 → 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.
- package/dist/activation.d.ts +8 -9
- package/dist/activation.d.ts.map +1 -1
- package/dist/activation.js.map +1 -1
- package/dist/agent-daemon.d.ts +1 -1
- package/dist/agent-loop.d.ts +1 -1
- package/dist/analytics.d.ts +1 -1
- package/dist/attribution.d.ts +1 -1
- package/dist/audit.d.ts +1 -1
- package/dist/auto-orchestrator.d.ts +1 -1
- package/dist/autoconfig.d.ts +1 -1
- package/dist/autoconfig.js +5 -5
- package/dist/autoconfig.js.map +1 -1
- package/dist/buddy-runner.d.ts +1 -1
- package/dist/buddy.d.ts +1 -1
- package/dist/build-flags.d.ts +6 -8
- package/dist/build-flags.d.ts.map +1 -1
- package/dist/build-flags.js.map +1 -1
- package/dist/capabilities.d.ts +1 -1
- package/dist/capture.d.ts +1 -1
- package/dist/causality.d.ts +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cloud/client.js +1 -1
- package/dist/cloud/client.js.map +1 -1
- package/dist/cloud/machine-id.d.ts +1 -1
- package/dist/cloud/sync-engine.d.ts.map +1 -1
- package/dist/cloud/sync-engine.js +6 -6
- package/dist/cloud/sync-engine.js.map +1 -1
- package/dist/cloud-backup.d.ts +1 -1
- package/dist/cloud-profile.d.ts +1 -1
- package/dist/cloud-sync-entrypoint.d.ts +1 -1
- package/dist/cloud-sync.d.ts +1 -1
- package/dist/constellation.d.ts +1 -1
- package/dist/context-build-budgeted.d.ts +1 -1
- package/dist/context-ranking.d.ts +1 -1
- package/dist/crypto.d.ts +1 -1
- package/dist/daemon-write-endpoint.d.ts +1 -1
- package/dist/daemon-writer.d.ts +1 -1
- package/dist/database.d.ts +88 -1
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +61 -20
- package/dist/database.js.map +1 -1
- package/dist/design.d.ts +1 -1
- package/dist/event-replication.d.ts +1 -1
- package/dist/events-sse.d.ts +1 -1
- package/dist/failure-patterns.d.ts +1 -1
- package/dist/federation.d.ts +1 -1
- package/dist/goals.d.ts +1 -1
- package/dist/handlers/agent.d.ts +1 -1
- package/dist/handlers/alias-adapters.d.ts +1 -1
- package/dist/handlers/aliases.d.ts +1 -1
- package/dist/handlers/audit.d.ts +1 -1
- package/dist/handlers/boundary.d.ts +1 -1
- package/dist/handlers/capture.d.ts +1 -1
- package/dist/handlers/causality.d.ts +1 -1
- package/dist/handlers/cloud.d.ts +1 -1
- package/dist/handlers/companion.d.ts +1 -1
- package/dist/handlers/datalake.d.ts +1 -1
- package/dist/handlers/dispatch-context.d.ts +1 -1
- package/dist/handlers/entity.d.ts +1 -1
- package/dist/handlers/events.d.ts +1 -1
- package/dist/handlers/failure.d.ts +1 -1
- package/dist/handlers/goals.d.ts +1 -1
- package/dist/handlers/intelligence.d.ts +1 -1
- package/dist/handlers/intelligence.d.ts.map +1 -1
- package/dist/handlers/intelligence.js +16 -16
- package/dist/handlers/intelligence.js.map +1 -1
- package/dist/handlers/invoicing.d.ts +1 -1
- package/dist/handlers/mcpclient.d.ts +1 -1
- package/dist/handlers/orchestration.d.ts +1 -1
- package/dist/handlers/output-schemas.d.ts +1 -1
- package/dist/handlers/presence.d.ts +1 -1
- package/dist/handlers/project.d.ts +1 -1
- package/dist/handlers/prompts.d.ts +1 -1
- package/dist/handlers/quest.d.ts +1 -1
- package/dist/handlers/recall.d.ts +1 -1
- package/dist/handlers/registry.d.ts +1 -1
- package/dist/handlers/resources.d.ts +1 -1
- package/dist/handlers/review.d.ts +1 -1
- package/dist/handlers/run.d.ts +1 -1
- package/dist/handlers/search.d.ts +1 -1
- package/dist/handlers/search.d.ts.map +1 -1
- package/dist/handlers/search.js +2 -2
- package/dist/handlers/search.js.map +1 -1
- package/dist/handlers/session.d.ts +1 -1
- package/dist/handlers/session.d.ts.map +1 -1
- package/dist/handlers/session.js +21 -18
- package/dist/handlers/session.js.map +1 -1
- package/dist/handlers/share.d.ts +1 -1
- package/dist/handlers/shims.d.ts +1 -1
- package/dist/handlers/skill.d.ts +1 -1
- package/dist/handlers/survivors.d.ts +1 -1
- package/dist/handlers/symbols.d.ts +1 -1
- package/dist/handlers/syncops.d.ts +1 -1
- package/dist/handlers/types.d.ts +2 -2
- package/dist/handlers/types.d.ts.map +1 -1
- package/dist/harvest.d.ts +1 -1
- package/dist/hours.d.ts +1 -1
- package/dist/http-auth.d.ts +1 -1
- package/dist/http-fast.d.ts.map +1 -1
- package/dist/http-fast.js +18 -17
- package/dist/http-fast.js.map +1 -1
- package/dist/icons.d.ts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/indexer.d.ts +1 -1
- package/dist/intelligence.d.ts +1 -1
- package/dist/internal-dispatch.d.ts +1 -1
- package/dist/keyset.d.ts +1 -1
- package/dist/knowledge-graph.d.ts +1 -1
- package/dist/license.d.ts +1 -1
- package/dist/logger.d.ts +1 -1
- package/dist/maintenance.d.ts +1 -1
- package/dist/mcp-client.d.ts +1 -1
- package/dist/memory-artifacts.d.ts +46 -2
- package/dist/memory-artifacts.d.ts.map +1 -1
- package/dist/memory-artifacts.js +34 -24
- package/dist/memory-artifacts.js.map +1 -1
- package/dist/migrate-prompt.d.ts +1 -1
- package/dist/migrations.d.ts +1 -1
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js +24 -0
- package/dist/migrations.js.map +1 -1
- package/dist/presence.d.ts +1 -1
- package/dist/priority-embed.d.ts +1 -1
- package/dist/providers/embedding-provider.d.ts +1 -1
- package/dist/rehydration.d.ts +1 -1
- package/dist/reindex.d.ts +1 -1
- package/dist/render-target.d.ts +1 -1
- package/dist/render.d.ts +1 -1
- package/dist/repl-guard.d.ts +1 -1
- package/dist/replication-daemon-entrypoint.d.ts +1 -1
- package/dist/replication-daemon.d.ts +1 -1
- package/dist/rerank.d.ts +59 -0
- package/dist/rerank.d.ts.map +1 -0
- package/dist/rerank.js +1 -0
- package/dist/rerank.js.map +1 -0
- package/dist/resilience.d.ts +1 -1
- package/dist/reverse-bridge.d.ts +1 -1
- package/dist/security.d.ts +1 -1
- package/dist/session-seen.d.ts +1 -1
- package/dist/setup.d.ts +1 -1
- package/dist/skill-author.d.ts +1 -1
- package/dist/spec-kit.d.ts +1 -1
- package/dist/sqlite-busy.d.ts +1 -1
- package/dist/statusline.d.ts +1 -1
- package/dist/statusline.js +10 -10
- package/dist/statusline.js.map +1 -1
- package/dist/sub-agent.d.ts +1 -1
- package/dist/symbols.d.ts +1 -1
- package/dist/sync.d.ts +1 -1
- package/dist/token-budget.d.ts +1 -1
- package/dist/tool-analytics.d.ts +1 -1
- package/dist/tool-manifest-v2.json +1 -1
- package/dist/tool-manifest.json +1 -1
- package/dist/tool-profiles.d.ts +1 -1
- package/dist/trace-harvest.d.ts +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/ui-dashboard.d.ts +1 -1
- package/dist/ulid.d.ts +1 -1
- package/dist/validate.d.ts +1 -1
- package/dist/vectors.d.ts +1 -1
- package/dist/version-check.d.ts +1 -1
- package/dist/visibility.d.ts +1 -1
- package/dist/wyrm-cli.d.ts +1 -1
- package/dist/wyrm-cli.js +5 -5
- package/dist/wyrm-cli.js.map +1 -1
- package/dist/wyrm-guard.d.ts +1 -1
- package/dist/wyrm-manifest.json +1 -1
- package/dist/wyrm-ui.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/handlers/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAc,QAAQ,EAAE,MAAM,YAAY,CAAC;AAUvE,gDAAgD;AAChD,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,cAAc,EACd,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,GAAG,UAAU,GAAG,OAAO,CAC3F,CAAC;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/handlers/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAc,QAAQ,EAAE,MAAM,YAAY,CAAC;AAUvE,gDAAgD;AAChD,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,cAAc,EACd,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,GAAG,UAAU,GAAG,OAAO,CAC3F,CAAC;AAsWF,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,CAiUpE,CAAC"}
|
package/dist/handlers/session.js
CHANGED
|
@@ -1,23 +1,26 @@
|
|
|
1
|
-
import{basename as
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import{basename as X}from"path";import{createHash as Z}from"crypto";import{blockText as G}from"./types.js";import{TOOL_ANNOTATIONS as T}from"../tool-annotations.js";import{renderResult as x,withGlyph as O,cacheKeyFor as N}from"../render.js";import{computeStaleness as ee}from"../intelligence.js";import{ValidationError as te,asInt as se,asString as ne}from"../validate.js";import{sanitizeActorId as oe}from"./boundary.js";import{makeEstimator as ie}from"../token-budget.js";function J(e){return!e||!e.thread.trim()?null:`### \u{1F9F5} Where We Left Off _(the living thread \u2014 what we were working on and thinking about)_
|
|
2
|
+
`+`_updated ${e.updated_at}${e.updated_by?" \xB7 "+e.updated_by:""} \xB7 ${e.turn_count} turn(s)_`+`
|
|
3
|
+
|
|
4
|
+
`+e.thread.slice(-1800)}const re={tech_stack:"\u{1F6E0}\uFE0F Tech Stack",architecture:"\u{1F3D7}\uFE0F Architecture",constraint:"\u{1F6A7} Constraints",decision:"\u{1F4CB} Decisions",contact:"\u{1F464} Contacts",other:"\u{1F4CC} Other Facts"};function Q(e,t){let n=`### \u{1F4DA} Project Ground Truths _(treat as authoritative \u2014 do not infer or contradict)_
|
|
5
|
+
`;const s=new Map;for(const o of e)s.has(o.category)||s.set(o.category,[]),s.get(o.category).push(o);for(const[o,i]of s){n+=`**${re[o]??o}:**
|
|
6
|
+
`;for(const c of i){let p="";if(t){const u=ee(c);u!==null&&u>.7&&(p="[\u26A0\uFE0F STALE] ")}n+=`- ${p}**${c.key}:** ${c.value}${c.rationale?` _(${c.rationale})_`:""}
|
|
7
|
+
`}}return n}const V=`
|
|
5
8
|
SELECT * FROM quests
|
|
6
9
|
WHERE project_id = ? AND status = 'pending'
|
|
7
10
|
ORDER BY
|
|
8
11
|
CASE priority WHEN 'critical' THEN 1 WHEN 'high' THEN 2 WHEN 'medium' THEN 3 ELSE 4 END,
|
|
9
12
|
id
|
|
10
13
|
LIMIT 5
|
|
11
|
-
`;function
|
|
14
|
+
`;function Y(e){const t={critical:"\u{1F534}",high:"\u{1F7E0}",medium:"\u{1F7E1}",low:"\u{1F7E2}"};let n=`### \u{1F3AF} Active Quests
|
|
12
15
|
`;for(const s of e)n+=`- ${t[s.priority]??"\u2022"} #${s.id}: ${s.title}
|
|
13
|
-
`;return n}function
|
|
16
|
+
`;return n}function q(e,t,n,s){return n?e.getProjectById(n):s?t.prepare("SELECT * FROM projects WHERE LOWER(name) LIKE LOWER(?) LIMIT 1").get(`%${s}%`):t.prepare(`
|
|
14
17
|
SELECT p.* FROM projects p
|
|
15
18
|
JOIN sessions s ON s.project_id = p.id
|
|
16
19
|
ORDER BY s.created_at DESC LIMIT 1
|
|
17
|
-
`).get()}function
|
|
20
|
+
`).get()}function P(e){const t=e.getAllProjects(20);return t.length===0?{content:[{type:"text",text:"No projects found. Run `wyrm_scan_projects` first."}],isError:!0}:{content:[{type:"text",text:`Project not found. Available projects:
|
|
18
21
|
${t.map(s=>`- ${s.name} (ID: ${s.id})`).join(`
|
|
19
|
-
`)}`}],isError:!0}}const
|
|
20
|
-
Session logged: #${e.session_id}`:"";return
|
|
22
|
+
`)}`}],isError:!0}}const K=(e,t)=>{const n=e.session_id!==null?`
|
|
23
|
+
Session logged: #${e.session_id}`:"";return O(t.brand,`Wyrm primed for **${e.project_name}** | ${e.truth_count} truth${e.truth_count!==1?"s":""} - ${e.quest_count} quest${e.quest_count!==1?"s":""} - ${e.memory_count} memor${e.memory_count!==1?"ies":"y"}${n}`)},L=(e,t)=>{const n=K(e,t);return e.sections.length>0?e.sections.map(s=>s.text).join(`
|
|
21
24
|
|
|
22
25
|
---
|
|
23
26
|
|
|
@@ -25,13 +28,13 @@ Session logged: #${e.session_id}`:"";return N(t.brand,`Wyrm primed for **${e.pro
|
|
|
25
28
|
|
|
26
29
|
`+n:n+`
|
|
27
30
|
|
|
28
|
-
_No memory stored yet -- start working and Wyrm will learn._`},A={summary:
|
|
29
|
-
${s}`:s})):
|
|
31
|
+
_No memory stored yet -- start working and Wyrm will learn._`},A={summary:K};async function D(e,t,n){try{const{logSavings:s}=await import("../statusline.js"),o=G(n.content[0]).length,i=Math.round(o/4),c=e.prepare("SELECT id FROM sessions WHERE project_id = ? ORDER BY created_at DESC LIMIT 1").get(t);s(e,"wyrm_session_prime","recovered_context",i,c?.id)}catch{}}const ce={continuity:{path:"continuity",tool:"wyrm_session_prime"},truths:{path:"truths",tool:"wyrm_truth_get"},scaffold:{path:"scaffolds",tool:"wyrm_context_build"},memory:{path:"memory",tool:"wyrm_recall"},quests:{path:"quests",tool:"wyrm_all_quests"}},ae=48,de=1200;async function pe(e,{store:t,raw:n,memory:s,truths:o,scaffolds:i,cache:c}){const{project_id:p,project_name:u,task:a,log_session:f}=e,r=oe(e.run_id);if(r===null)throw new te("run_id",'must be <=64 printable-ASCII chars (no ";")');const m=ne("role",e.role,{maxLen:200})??"",j=se("token_budget",e.token_budget,{min:1})??de,_=n(),$=()=>_.prepare("SELECT body_json FROM run_briefs WHERE run_id = ? AND role = ?").get(r,m),y=p||u?q(t,_,p,u):void 0;if((p||u)&&!y)return P(t);let g=$();if(g&&y){const d=JSON.parse(g.body_json);if(d.project_id!==y.id)return{content:[{type:"text",text:`Fleet brief for (run ${r}, role '${m}') is pinned to project '${d.project_name}' (ID: ${d.project_id}) \u2014 refusing to serve it for requested project '${y.name}' (ID: ${y.id}). Use a distinct role for a second project, or prime without run_id.`}],isError:!0}}if(!g){const d=y??q(t,_,p,u);if(!d)return P(t);const l=[],k=J(t.getContinuity(d.id));k&&l.push({kind:"continuity",text:k});const v=o.getCurrent(d.id);v.length>0&&l.push({kind:"truths",text:Q(v,!1).slice(0,1200)});const w=a??(m||void 0);if(w){const S=i.findBest(w,d.id,.3);S&&l.push({kind:"scaffold",text:i.formatForContext(S,1500)})}const B=s.buildContextBrief(d.id,w??"general",{maxItems:10,minConfidence:.3});B.text&&l.push({kind:"memory",text:B.text.slice(0,2e3)});const I=_.prepare(V).all(d.id);I.length>0&&l.push({kind:"quests",text:Y(I).slice(0,800)});const M=ie(),R=[];let C=ae;for(const S of l){const W=M.count(S.text)+2;if(C+W<=j)R.push(S),C+=W;else{const H=ce[S.kind]??{path:S.kind,tool:"wyrm_search"},U=`[beyond token_budget] wyrm://project/${d.id}/${H.path} -- fetch via ${H.tool}`;R.push({kind:S.kind,text:U}),C+=M.count(U)+2}}let F=null;f&&(F=t.createSession(d.id,{objectives:a??"Session started via wyrm_session_prime",summary:""}).id);const z={project_id:d.id,project_name:d.name,truth_count:o.getStats(d.id).current,quest_count:I.length,memory_count:s.getStats(d.id).total,session_id:F,sections:R,run_id:r,role:m,token_budget:j};_.prepare("INSERT OR IGNORE INTO run_briefs (run_id, role, body_json, token_budget) VALUES (?, ?, ?, ?)").run(r,m,JSON.stringify(z),j),g=$()}const h=JSON.parse(g.body_json),b=x(h,L,A);if(e.for_spawn===!0){const d=x(h,L,{...A,exemptStructured:!0}),l=G(d.content[0]),k=Z("sha256").update(l,"utf8").digest("hex"),v={project_id:h.project_id,project_name:h.project_name,session_id:h.session_id??null,sections:h.sections,for_spawn:!0,run_id:r,role:m,brief:l,brief_hash:k,brief_chars:l.length,cache_key:{table:"run_briefs",run_id:r,role:m}};await D(_,h.project_id,d);const w={content:[{type:"text",text:l}],structuredContent:v};return c.set(N("wyrm_session_prime",JSON.stringify(e)),w,3e4),w}return await D(_,h.project_id,b),c.set(N("wyrm_session_prime",JSON.stringify(e)),b,3e4),b}const Se=[{name:"wyrm_session_start",description:"Start or continue a session for a project",inputSchema:{type:"object",properties:{projectPath:{type:"string",description:"Project path"},objectives:{type:"string",description:"Session objectives"}},required:["projectPath"]},outputSchema:{type:"object",properties:{session_id:{type:"integer"},project:{type:"string"},date:{type:"string"},objectives:{type:["string","null"]}},required:["session_id","project","date","objectives"]},annotations:T.wyrm_session_start,aliases:[],handler:(e,{store:t})=>{const{projectPath:n,objectives:s}=e;let o=t.getProject(n);o||(o=t.registerProject(X(n),n));let i=t.getTodaySession(o.id);i?s&&(i=t.updateSession(i.id,{objectives:i.objectives?`${i.objectives}
|
|
32
|
+
${s}`:s})):i=t.createSession(o.id,{objectives:s||""}),t.archiveOldSessions(o.id,10);const c={session_id:i.id,project:o.name,date:i.date,objectives:i.objectives||null};return x(c,(p,u)=>O(u.brand,`Session ${p.session_id} for ${p.project}`)+`
|
|
30
33
|
**Date:** ${p.date}
|
|
31
|
-
**Objectives:** ${p.objectives??"None set"}`)}},{name:"wyrm_session_update",description:"Update the current session with completed work, issues, or notes",inputSchema:{type:"object",properties:{projectPath:{type:"string"},completed:{type:"string",description:"What was completed"},issues:{type:"string"},commits:{type:"string",description:"Git commits made"},notes:{type:"string"}},required:["projectPath"]},outputSchema:{type:"object",properties:{session_id:{type:"integer"},project:{type:"string"},updated:{type:"array",items:{type:"string",enum:["completed","issues","commits","notes"]}}},required:["session_id","project","updated"]},annotations:
|
|
32
|
-
${o}`:o),
|
|
33
|
-
${
|
|
34
|
-
${
|
|
35
|
-
${p}`:p),
|
|
36
|
-
`+
|
|
37
|
-
`)})}catch{}let
|
|
34
|
+
**Objectives:** ${p.objectives??"None set"}`)}},{name:"wyrm_session_update",description:"Update the current session with completed work, issues, or notes",inputSchema:{type:"object",properties:{projectPath:{type:"string"},completed:{type:"string",description:"What was completed"},issues:{type:"string"},commits:{type:"string",description:"Git commits made"},notes:{type:"string"}},required:["projectPath"]},outputSchema:{type:"object",properties:{session_id:{type:"integer"},project:{type:"string"},updated:{type:"array",items:{type:"string",enum:["completed","issues","commits","notes"]}}},required:["session_id","project","updated"]},annotations:T.wyrm_session_update,aliases:[],handler:(e,{store:t,indexing:n})=>{const{projectPath:s,completed:o,issues:i,commits:c,notes:p}=e,u=t.getProject(s);if(!u)return{content:[{type:"text",text:"Project not found"}],isError:!0};let a=t.getTodaySession(u.id);a||(a=t.createSession(u.id,{}));const f={};o&&(f.completed=a.completed?`${a.completed}
|
|
35
|
+
${o}`:o),i&&(f.issues=a.issues?`${a.issues}
|
|
36
|
+
${i}`:i),c&&(f.commits=a.commits?`${a.commits}
|
|
37
|
+
${c}`:c),p&&(f.notes=a.notes?`${a.notes}
|
|
38
|
+
${p}`:p),a=t.updateSession(a.id,f);const r=[o,i,p].filter(Boolean).join(" \xB7 ");r&&t.updateContinuity(u.id,r,"session_update"),n()?.enqueue("session",a.id,u.id);const m={session_id:a.id,project:u.name,updated:Object.keys(f)};return x(m,(j,_)=>O(_.brand,`Session updated for ${j.project}`))}},{name:"wyrm_session_rehydrate",description:"Lossless session rehydration. Given a past session ID, returns a complete briefing markdown a fresh AI agent can ingest to inherit prior state: objectives, completed work, notes, summary, current ground truths, open quests, validated patterns (artifacts), unresolved failure patterns. Cross-session continuity no other AI memory tool offers.",inputSchema:{type:"object",properties:{session_id:{type:"number",description:"ID of the session to rehydrate"},include_artifacts:{type:"boolean",description:"Include memory artifacts (default true)"},include_failures:{type:"boolean",description:"Include unresolved failure patterns (default true)"},max_truth_chars:{type:"number",description:"Cap on chars used for ground truths (default 2000)"}},required:["session_id"]},outputSchema:{type:"object",properties:{session_id:{type:"integer"},project_name:{type:"string"},project_path:{type:"string"},briefing_markdown:{type:"string"},context_chars:{type:"integer"},attached:{type:"object",properties:{quests:{type:"integer"},truths:{type:"integer"},artifacts:{type:"integer"},failures:{type:"integer"}},required:["quests","truths","artifacts","failures"]}},required:["session_id","project_name","project_path","briefing_markdown","context_chars","attached"]},annotations:T.wyrm_session_rehydrate,aliases:[],handler:(e,{rehydration:t})=>{const{session_id:n,include_artifacts:s,include_failures:o,max_truth_chars:i}=e,c=t.rehydrate(n,{include_artifacts:s,include_failures:o,max_truth_chars:i});return c?x({...c},p=>p.briefing_markdown,{exemptStructured:!0}):{content:[{type:"text",text:`Session #${n} not found.`}],isError:!0}}},{name:"wyrm_session_prime",description:"Use first at session start - load everything you need to know before starting work, and catch me up on where we left off last time: ground truths, memory brief, reasoning scaffold, and active quests in one call. First call every agent makes in a run.",inputSchema:{type:"object",properties:{project_id:{type:"number"},project_name:{type:"string"},task:{type:"string",description:"Drives scaffold + memory selection"},log_session:{type:"boolean",description:"Also log a session row"},run_id:{type:"string",description:"Fleet: brief cached per (run_id, role)"},role:{type:"string"},token_budget:{type:"number"},for_spawn:{type:"boolean"}}},outputSchema:{type:"object",properties:{project_id:{type:"integer"},project_name:{type:"string"},session_id:{type:["integer","null"]},sections:{type:"array",items:{type:"object",properties:{kind:{type:"string"},text:{type:"string"}},required:["kind","text"]}}},required:["project_id","project_name","session_id","sections"]},annotations:T.wyrm_session_prime,aliases:[],handler:async(e,{store:t,raw:n,memory:s,truths:o,scaffolds:i,cache:c})=>{const{project_id:p,project_name:u,task:a,log_session:f}=e;if(e.run_id!==void 0&&e.run_id!==null)return pe(e,{store:t,raw:n,memory:s,truths:o,scaffolds:i,cache:c});const r=q(t,n(),p,u);if(!r)return P(t);const m=[],j=J(t.getContinuity(r.id));j&&m.push({kind:"continuity",text:j});const _=o.getCurrent(r.id);if(_.length>0&&m.push({kind:"truths",text:Q(_,!0).slice(0,1200)}),a){const E=i.findBest(a,r.id,.3);E&&m.push({kind:"scaffold",text:i.formatForContext(E,1500)})}const $=s.buildContextBrief(r.id,a??"general",{maxItems:10,minConfidence:.3});$.text&&m.push({kind:"memory",text:$.text.slice(0,2e3)});const y=n().prepare(V).all(r.id);y.length>0&&m.push({kind:"quests",text:Y(y).slice(0,800)});try{const{vaultAdvisory:E}=await import("../vault.js"),d=E();d.length>0&&m.push({kind:"vault",text:`### \u{1F510} Credential Vault
|
|
39
|
+
`+d.map(l=>`- ${l}`).join(`
|
|
40
|
+
`)})}catch{}let g=null;f&&(g=t.createSession(r.id,{objectives:a??"Session started via wyrm_session_prime",summary:""}).id);const h={project_id:r.id,project_name:r.name,truth_count:o.getStats(r.id).current,quest_count:y.length,memory_count:s.getStats(r.id).total,session_id:g,sections:m},b=x(h,L,A);return await D(n(),r.id,b),c.set(N("wyrm_session_prime",JSON.stringify(e)),b,3e4),b}}];export{Se as sessionToolSpecs};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/handlers/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/handlers/session.ts"],"names":[],"mappings":"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"}
|
package/dist/handlers/share.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @copyright 2026 Ghost Protocol (Pvt) Ltd.
|
|
3
|
-
* @license
|
|
3
|
+
* @license Proprietary — (c) 2026 Ghost Protocol (Pvt) Ltd. All rights reserved. See LICENSE.
|
|
4
4
|
*/
|
|
5
5
|
import type { DispatcherContext, ToolSpec } from "./dispatch-context.js";
|
|
6
6
|
export declare const shareToolSpecs: ReadonlyArray<ToolSpec<DispatcherContext>>;
|
package/dist/handlers/shims.d.ts
CHANGED
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
* action is a clean SEP-1303 boundary ValidationError (T020).
|
|
38
38
|
*
|
|
39
39
|
* @copyright 2026 Ghost Protocol (Pvt) Ltd.
|
|
40
|
-
* @license
|
|
40
|
+
* @license Proprietary — (c) 2026 Ghost Protocol (Pvt) Ltd. All rights reserved. See LICENSE.
|
|
41
41
|
*/
|
|
42
42
|
import type { WireToolDef } from './registry.js';
|
|
43
43
|
/** A nested route: a second discriminator key picks the final target. */
|
package/dist/handlers/skill.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @copyright 2026 Ghost Protocol (Pvt) Ltd.
|
|
3
|
-
* @license
|
|
3
|
+
* @license Proprietary — (c) 2026 Ghost Protocol (Pvt) Ltd. All rights reserved. See LICENSE.
|
|
4
4
|
*/
|
|
5
5
|
import type { DispatcherContext, ToolSpec } from "./dispatch-context.js";
|
|
6
6
|
export declare const skillToolSpecs: ReadonlyArray<ToolSpec<DispatcherContext>>;
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
* exactly at the pin.
|
|
36
36
|
*
|
|
37
37
|
* @copyright 2026 Ghost Protocol (Pvt) Ltd.
|
|
38
|
-
* @license
|
|
38
|
+
* @license Proprietary — (c) 2026 Ghost Protocol (Pvt) Ltd. All rights reserved. See LICENSE.
|
|
39
39
|
*/
|
|
40
40
|
/**
|
|
41
41
|
* Survivors whose names exist on the 6.x (pre-shim) surface.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @copyright 2026 Ghost Protocol (Pvt) Ltd.
|
|
3
|
-
* @license
|
|
3
|
+
* @license Proprietary — (c) 2026 Ghost Protocol (Pvt) Ltd. All rights reserved. See LICENSE.
|
|
4
4
|
*/
|
|
5
5
|
import type { DispatcherContext, ToolSpec } from "./dispatch-context.js";
|
|
6
6
|
export declare const symbolsToolSpecs: ReadonlyArray<ToolSpec<DispatcherContext>>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @copyright 2026 Ghost Protocol (Pvt) Ltd.
|
|
3
|
-
* @license
|
|
3
|
+
* @license Proprietary — (c) 2026 Ghost Protocol (Pvt) Ltd. All rights reserved. See LICENSE.
|
|
4
4
|
*/
|
|
5
5
|
import type { DispatcherContext, ToolSpec } from "./dispatch-context.js";
|
|
6
6
|
export declare const syncopsToolSpecs: ReadonlyArray<ToolSpec<DispatcherContext>>;
|
package/dist/handlers/types.d.ts
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* behavior cannot drift because they are one value.
|
|
16
16
|
*
|
|
17
17
|
* @copyright 2026 Ghost Protocol (Pvt) Ltd.
|
|
18
|
-
* @license
|
|
18
|
+
* @license Proprietary — (c) 2026 Ghost Protocol (Pvt) Ltd. All rights reserved. See LICENSE.
|
|
19
19
|
*/
|
|
20
20
|
import type { ToolAnnotations } from '@modelcontextprotocol/sdk/types.js';
|
|
21
21
|
import type Database from 'better-sqlite3';
|
|
@@ -104,7 +104,7 @@ export interface GoalsContext {
|
|
|
104
104
|
* monolith drain) can split this union per domain once every consumer is
|
|
105
105
|
* registry-resident. WyrmDB satisfies it structurally (`store: db`).
|
|
106
106
|
*/
|
|
107
|
-
export type WyrmStore = Pick<WyrmDB, 'getProject' | 'getProjectById' | 'getAllProjects' | 'registerProject' | 'addQuest' | 'updateQuest' | 'updateQuestFields' | 'findQuestBySpecSignature' | 'upsertSpec' | 'getAllPendingQuests' | 'getTodaySession' | 'createSession' | 'updateSession' | 'archiveOldSessions' | 'searchSessions' | 'searchQuests' | 'searchData' | 'searchSkills'>;
|
|
107
|
+
export type WyrmStore = Pick<WyrmDB, 'getProject' | 'getProjectById' | 'getAllProjects' | 'registerProject' | 'addQuest' | 'updateQuest' | 'updateQuestFields' | 'findQuestBySpecSignature' | 'upsertSpec' | 'getAllPendingQuests' | 'getTodaySession' | 'createSession' | 'updateSession' | 'archiveOldSessions' | 'searchSessions' | 'searchQuests' | 'searchData' | 'searchArtifacts' | 'searchSkills' | 'getContinuity' | 'updateContinuity'>;
|
|
108
108
|
/** The in-memory read-cache capability (performance.ts `cache`) handlers use
|
|
109
109
|
* to publish/invalidate READ_ONLY_TOOLS responses. Keys follow the dispatcher
|
|
110
110
|
* convention `${toolName}:${JSON.stringify(args)}` (the resolved call). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/handlers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,eAAe,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,iEAAiE;AACjE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;gFAGgF;AAChF,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAEtF;AAED,sEAAsE;AACtE,MAAM,WAAW,UAAU;IACzB;;;;OAIG;IACH,OAAO,EAAE,KAAK,CAAC,WAAW,GAAG,mBAAmB,CAAC,CAAC;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,kFAAkF;AAClF,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAUD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CACtD;AAED,+EAA+E;AAC/E,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC;CACd;AAID;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,IAAI,CAC1B,MAAM,EACJ,YAAY,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,iBAAiB,GACtE,UAAU,GAAG,aAAa,GAAG,mBAAmB,GAAG,0BAA0B,GAC7E,YAAY,GAAG,qBAAqB,GACpC,iBAAiB,GAAG,eAAe,GAAG,eAAe,GAAG,oBAAoB,GAC5E,gBAAgB,GAAG,cAAc,GAAG,YAAY,GAAG,cAAc,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/handlers/types.ts"],"names":[],"mappings":"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"}
|
package/dist/harvest.d.ts
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* extraction logic is unit-testable without a database.
|
|
15
15
|
*
|
|
16
16
|
* @copyright 2026 Ghost Protocol (Pvt) Ltd.
|
|
17
|
-
* @license
|
|
17
|
+
* @license Proprietary — (c) 2026 Ghost Protocol (Pvt) Ltd. All rights reserved. See LICENSE.
|
|
18
18
|
*/
|
|
19
19
|
export type HarvestKind = 'lesson' | 'pattern' | 'anti_pattern';
|
|
20
20
|
export interface HarvestItem {
|
package/dist/hours.d.ts
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* report so the operator can review and correct.
|
|
15
15
|
*
|
|
16
16
|
* @copyright 2026 Ghost Protocol (Pvt) Ltd.
|
|
17
|
-
* @license
|
|
17
|
+
* @license Proprietary — (c) 2026 Ghost Protocol (Pvt) Ltd. All rights reserved. See LICENSE.
|
|
18
18
|
*/
|
|
19
19
|
import type Database from 'better-sqlite3';
|
|
20
20
|
export interface SessionRow {
|
package/dist/http-auth.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Wyrm HTTP Authentication - Secure API access control
|
|
3
3
|
*
|
|
4
4
|
* @copyright 2026 Ghost Protocol (Pvt) Ltd.
|
|
5
|
-
* @license
|
|
5
|
+
* @license Proprietary — (c) 2026 Ghost Protocol (Pvt) Ltd. All rights reserved. See LICENSE.
|
|
6
6
|
* @module http-auth
|
|
7
7
|
* @version 3.0.0
|
|
8
8
|
*/
|
package/dist/http-fast.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-fast.d.ts","sourceRoot":"","sources":["../src/http-fast.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"http-fast.d.ts","sourceRoot":"","sources":["../src/http-fast.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AA4oCxB,QAAA,MAAM,MAAM,sEA4IV,CAAC;AA+BH,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
package/dist/http-fast.js
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import
|
|
2
|
+
import V from"http";import{WyrmDB as H}from"./database.js";import{cache as h,estimateTokens as z,truncateToTokens as Z,timed as G}from"./performance.js";import{authMiddleware as tt,getAuthStatus as D,getSecurityHeaders as L}from"./http-auth.js";import{WyrmLogger as et}from"./logger.js";import{sanitizeFtsQuery as W,validateProjectPath as rt}from"./security.js";import{readFileSync as R,existsSync as S,readdirSync as nt,realpathSync as U}from"fs";import{homedir as st}from"os";import{dirname as x,join as y}from"path";import{fileURLToPath as ot}from"url";const B=y(x(ot(import.meta.url)),"..","ui","dragon-mark.svg");let v=null;import{getUIDashboardHTML as at}from"./ui-dashboard.js";import{verifyLicense as Y}from"./license.js";import{MemoryArtifacts as ct}from"./memory-artifacts.js";import{createVectorStore as it}from"./vectors.js";import{GroundTruths as lt,computeStaleness as ut}from"./intelligence.js";import{FailurePatterns as dt}from"./failure-patterns.js";import{handleDaemonWrite as mt}from"./daemon-write-endpoint.js";import{retryableWriteCause as $,busyErrorBody as q}from"./sqlite-busy.js";import{sseFrame as pt,resolveStartCursor as J,SSE_KEEPALIVE as ft}from"./events-sse.js";import{readonlyBlocks as Et}from"./readonly-gate.js";import{resolveActorEnvelope as ht,runWithActor as _t}from"./handlers/boundary.js";const C=parseInt(process.env.WYRM_PORT||"3333")||3333,T=process.env.WYRM_UI_READONLY==="1",yt=512*1024,j=500,St=parseInt(process.env.WYRM_MAX_SSE_STREAMS||"64",10)||64,Tt=parseInt(process.env.WYRM_MAX_SSE_PER_IP||"8",10)||8;let k=0;const O=new Map;let g=null,b=null,M=null,I=null;function o(){return g||(g=new H(process.env.WYRM_DB_PATH)),g}function A(){if(!b){b=new ct(o().getDatabase());try{const t=process.env.WYRM_VECTOR_PROVIDER||"auto";t!=="none"&&b.setVectorStore(it({provider:t},o().getDatabase()))}catch{}}return b}function Ot(){return M||(M=new lt(o().getDatabase())),M}function gt(){return I||(I=new dt(o().getDatabase())),I}function Rt(t){const e=g;g=t,b=null,M=null,I=null;try{e?.close()}catch{}}function Q(){const t=[],e=st(),r=new Set;let n=[];try{n=nt(e)}catch{return t}n.sort((s,a)=>a.localeCompare(s));for(const s of n){if(s!==".wyrm"&&!s.startsWith(".wyrm-"))continue;let a;try{a=U(y(e,s))}catch{continue}if(r.has(a))continue;const l=y(a,"wyrm.db");if(!S(l))continue;r.add(a);let c="Local",i="free";try{const p=y(a,"license.json");if(S(p)){const d=JSON.parse(R(p,"utf-8")),m=Y(d);c=d.license&&d.license.issued_to||c,i=m.valid?m.tier:"free"}else{const d=y(a,"cloud.json");S(d)&&(c=JSON.parse(R(d,"utf-8")).email||c)}}catch{}const u=s.replace(/^\.wyrm-?/,"")||"default";t.push({name:u,dbPath:l,account:c,tier:i})}return t}const N=new et({level:"info"});function _(t,e,r){const n=Number.parseInt(String(t??""),10);return!Number.isFinite(n)||n<1?e:Math.min(n,r)}function P(t){const e=t==null?"":String(t);if(e)return o().getProject(e)||o().getProjectByName(e)}function E(t,e,r,n=200){const s=JSON.stringify(r),a=L(e);t.writeHead(n,{"Content-Type":"application/json","Content-Length":Buffer.byteLength(s),"X-Tokens":String(z(r)),...a}),t.end(s)}function vt(t,e,r){const n=L(e);t.writeHead(200,{...n,"Content-Type":"text/html; charset=utf-8","Content-Length":Buffer.byteLength(r),"Cache-Control":"no-store"}),t.end(r)}function bt(t){return new Promise((e,r)=>{if(t.method==="GET"){e({});return}let n="",s=0;t.on("data",a=>{if(s+=a.length,s>yt){t.destroy(),r(new Error("Request body too large"));return}n+=a}),t.on("end",()=>{try{e(n?JSON.parse(n):{})}catch{r(new Error("Invalid JSON"))}}),t.on("error",r)})}const X={"GET /c":t=>{const e=`ctx:${t.p||"global"}`,r=h.get(e);if(r)return r;const n=t.p;let s;if(n){const a=o().getProject(n);if(!a)return{e:"not found"};const l=o().getPendingQuests(a.id),c=o().getRecentSessions(a.id,3);s={n:a.name,s:a.stack,q:l.length,qt:l.slice(0,5).map(i=>i.title),r:c[0]?.summary||c[0]?.notes?.slice(0,200)||null}}else{const a=o().getAllProjects(20),l=o().getAllPendingQuests();s={p:a.map(c=>({n:c.name,s:c.stack,q:o().getPendingQuests(c.id).length})),tq:l.length}}return h.set(e,s),s},"GET /p":()=>{const t=h.get("projects");if(t)return t;const r=o().getAllProjects(50).map(n=>({i:n.id,n:n.name,p:n.path,s:n.stack}));return h.set("projects",r),r},"POST /scan":t=>{const e=t.d||t.directory||process.env.HOME+"/Git Projects",r=rt(e);return r?(h.invalidate(),{found:o().scanForProjects(r,!0).length}):{e:"path not allowed"}},"GET /q":t=>{const e=t.p;if(e){const r=o().getProject(e);return r?o().getPendingQuests(r.id).map(n=>({i:n.id,t:n.title,p:n.priority[0]})):{e:"not found"}}return o().getAllPendingQuests().slice(0,20).map(r=>({i:r.id,t:r.title,p:r.priority[0]}))},"POST /q":t=>{const e=t.p,r=o().getProject(e);return r?(h.invalidate("ctx"),{i:o().addQuest(r.id,t.t,t.d,t.pr||"medium").id}):{e:"not found"}},"POST /qc":t=>{const e=typeof t.i=="number"?t.i:parseInt(String(t.i),10);return!e||e<1?{e:"id required"}:(h.invalidate("ctx"),o().updateQuest(e,"completed"),{ok:1})},"POST /s":t=>{const e=t.p;let r=o().getProject(e);if(r||(o().scanForProjects(e,!1),r=o().getProject(e)),!r)return{e:"not found"};let n=o().getTodaySession(r.id);return n||(n=o().createSession(r.id,{objectives:t.o||"",notes:""})),h.invalidate("ctx"),{i:n.id,d:n.date}},"POST /su":t=>{const e=t.i;return h.invalidate("ctx"),o().updateSession(e,{notes:t.n,summary:t.s,completed:t.c}),{ok:1}},"POST /x":t=>{const e=t.p,r=o().getProject(e);return r?(o().setContext(r.id,t.k,t.v),h.invalidate("ctx"),{ok:1}):{e:"not found"}},"GET /x":t=>{const e=t.p,r=o().getProject(e);return r?o().getAllContext(r.id):{e:"not found"}},"POST /g":t=>{const e=t.k,r=t.v;return!e||typeof e!="string"?{e:"k (key) required"}:r==null?{e:"v (value) required"}:(o().setGlobalContext(e,String(r)),h.invalidate(),{ok:1})},"GET /g":()=>o().getAllGlobalContext(),"GET /s":t=>{const e=t.q;if(!e)return{e:"query required"};const r=W(e);return{q:o().searchQuests(r).slice(0,5).map(s=>({i:s.id,t:s.title})),s:o().searchSessions(r).slice(0,3).map(s=>({i:s.id,d:s.date})),p:o().searchProjects(r).slice(0,3).map(s=>({n:s.name,p:s.path}))}},"POST /d":t=>{const e=t.p,r=o().getProject(e);return r?{i:o().insertData(r.id,t.c,t.k,t.v,t.m).id}:{e:"not found"}},"GET /d":t=>{const e=t.p,r=o().getProject(e);if(!r)return{e:"not found"};const n=_(t.l,20,100);return o().queryData(r.id,t.c,n).map(s=>({k:s.key,v:Z(s.value,100)}))},"GET /d/agg":t=>{const e=t.p,r=o().getProject(e);if(!r)return{e:"not found"};const n=t.c;if(!n)return{e:"c (category) required"};const s=t.stack_key,a=t.scanner,l=_(t.l,1e3,1e4),c={};for(const i of o().queryData(r.id,n,l)){let u;try{u=JSON.parse(i.value)}catch{continue}if(s&&u.stack_key!==s||a&&u.scanner!==a)continue;const p=String(u.scanner??""),d=String(u.payload_hash??"");if(!p||!d)continue;const m=`${p}:${d}`,f=c[m]??{s:p,ph:d,sk:String(u.stack_key??""),h:0,t:0};f.t+=1,u.hit&&(f.h+=1),c[m]=f}return Object.values(c).map(i=>({...i,r:i.t>0?i.h/i.t:0})).sort((i,u)=>u.r-i.r||u.h-i.h)},"POST /batch":t=>{const e=t.ops;if(!e||!Array.isArray(e))return{e:"ops required"};if(e.length>j)return{e:`max ${j} ops per batch`};const r=performance.now();return{r:e.map(s=>{const a=`${s.m} ${s.r}`,l=X[a];if(!l)return{e:"unknown"};try{return{d:l(s.a||{})}}catch{return{e:"op failed"}}}),ms:Math.round(performance.now()-r)}},"POST /write":t=>mt({db:o(),artifacts:A(),truths:Ot(),failures:gt()},t),"GET /syms":t=>{const e=String(t.q??"").slice(0,200);if(!e)return[];const r=_(t.limit,20,200),n=o().getDatabase();try{return n.prepare(`
|
|
3
3
|
SELECT symbol, kind, language, file_path, line, signature, project_id
|
|
4
4
|
FROM symbol_index
|
|
5
5
|
WHERE symbol LIKE ?
|
|
6
6
|
ORDER BY project_id, file_path, line
|
|
7
7
|
LIMIT ?
|
|
8
|
-
`).all(`%${e}%`,r)}catch{return[]}},"GET /failures":t=>{const e=String(t.target??"").slice(0,200),r=
|
|
8
|
+
`).all(`%${e}%`,r)}catch{return[]}},"GET /failures":t=>{const e=String(t.target??"").slice(0,200),r=_(t.limit,10,100),n=o().getDatabase();try{return n.prepare(`
|
|
9
9
|
SELECT id, scope, target, description, why_failed, occurrences,
|
|
10
10
|
severity, last_seen
|
|
11
11
|
FROM failure_patterns
|
|
12
12
|
WHERE resolved = 0 AND (target = ? OR target LIKE ?)
|
|
13
13
|
ORDER BY occurrences DESC, last_seen DESC
|
|
14
14
|
LIMIT ?
|
|
15
|
-
`).all(e,`%${e}%`,r)}catch{return[]}},"GET /truths":t=>{const e=String(t.q??"").slice(0,200),r=
|
|
15
|
+
`).all(e,`%${e}%`,r)}catch{return[]}},"GET /truths":t=>{const e=String(t.q??"").slice(0,200),r=_(t.limit,5,50);if(!e)return[];const n=o().getDatabase();try{return n.prepare(`
|
|
16
16
|
SELECT category, key, value, rationale, confidence, ttl_days
|
|
17
17
|
FROM ground_truths
|
|
18
18
|
WHERE is_current = 1
|
|
19
19
|
AND (key LIKE ? OR value LIKE ? OR rationale LIKE ?)
|
|
20
20
|
ORDER BY confidence DESC
|
|
21
21
|
LIMIT ?
|
|
22
|
-
`).all(`%${e}%`,`%${e}%`,`%${e}%`,r)}catch{return[]}},"GET /audit":t=>{const e=
|
|
23
|
-
WHERE is_shared = 1 ${c} AND ${
|
|
24
|
-
ORDER BY ${
|
|
25
|
-
LIMIT ?`).all(a,Math.max(1,r-s.length));for(const
|
|
22
|
+
`).all(`%${e}%`,`%${e}%`,`%${e}%`,r)}catch{return[]}},"GET /routing":t=>{const e=String(t.task_type??t.t??"").slice(0,200).trim();if(!e)return{e:"task_type required"};const r=_(t.limit,10,100);let n;const s=t.p;if(s){const c=o().getProject(s);if(!c)return{e:"not found"};n=c.id}const a=t.since_days!=null?Number(t.since_days):void 0;return o().recallRouting(e,{projectId:n,limit:r,sinceDays:Number.isFinite(a)?a:void 0}).map(c=>({m:c.model_id,tools:c.tool_names,runs:c.runs,ok:c.successes,fail:c.failures,rate:Math.round(c.success_rate*1e3)/1e3,ms:c.avg_latency_ms,last:c.last_ts}))},"POST /routing":t=>{const e=String(t.task_type??"").slice(0,200).trim(),r=String(t.model_id??"").slice(0,200).trim();if(!e)return{e:"task_type required"};if(!r)return{e:"model_id required"};if(t.success===void 0||t.success===null)return{e:"success required"};let n;const s=t.p;if(s){const i=o().getProject(s);i&&(n=i.id)}const a=Array.isArray(t.tool_names)?t.tool_names.map(i=>String(i)):t.tool_names!=null?String(t.tool_names):null,l=t.latency_ms!=null?Number(t.latency_ms):null,c=t.success===!0||t.success===1||t.success==="1"||t.success==="true";try{return{i:o().recordRouting({projectId:n,taskType:e,modelId:r,toolNames:a,success:c,latencyMs:Number.isFinite(l)?l:null})}}catch(i){return{e:i.message}}},"GET /audit":t=>{const e=_(t.limit,50,500),r=t.kind,n=o().getDatabase();try{return r?n.prepare("SELECT * FROM audit_log WHERE event_kind = ? ORDER BY id DESC LIMIT ?").all(r,e):n.prepare("SELECT * FROM audit_log ORDER BY id DESC LIMIT ?").all(e)}catch{return[]}},"GET /sync/push":t=>{const e=t.since,r=_(t.limit,500,5e3),n=o().getDatabase(),s=[],a=e??"1970-01-01",l=[["session","sessions","created_at"],["quest","quests","created_at"],["truth","ground_truths","updated_at"],["artifact","memory_artifacts","last_accessed_at"],["edge","decision_edges","created_at"]],c=(()=>{try{return n.prepare("PRAGMA table_info(projects)").all().some(u=>u.name==="sync_policy")?"AND (project_id IS NULL OR project_id IN (SELECT id FROM projects WHERE sync_policy = 'team'))":""}catch{return""}})();for(const[i,u,p]of l){if(s.length>=r)break;try{const d=n.prepare(`SELECT * FROM ${u}
|
|
23
|
+
WHERE is_shared = 1 ${c} AND ${p} > ?
|
|
24
|
+
ORDER BY ${p} ASC
|
|
25
|
+
LIMIT ?`).all(a,Math.max(1,r-s.length));for(const m of d)s.push({kind:i,id:m.id,project_id:m.project_id??null,updated_at:m[p]??null,payload:m})}catch{}}return{rows:s,count:s.length,cursor:new Date().toISOString()}},"GET /events":t=>{if(!o().liveMemoryEnabled())return{e:"live memory disabled",disabled:1};const e=P(t.project??t.p);if(!e)return{e:"not found"};const r=J(void 0,t.since),n=_(t.limit??t.l,100,1e3),a=t.shared==="1"||t.shared==="true"?o().eventsForPush(e.id,r,n):o().eventsSince(e.id,r,n),l=a.length?a[a.length-1].cursor:r;return{project:e.name,cursor:l,count:a.length,events:a}},"POST /events":t=>{if(!o().liveMemoryEnabled())return{e:"live memory disabled",disabled:1};const e=P(t.project??t.p);if(!e)return{e:"not found"};const r=Array.isArray(t.events)?t.events:t.event?[t.event]:[];if(r.length===0)return{e:"events[] required"};if(r.length>j)return{e:`max ${j} events per request`};let n=0,s=0,a=0;for(const l of r){const c=o().ingestRemoteEvent(e.id,l);c==="inserted"?n++:c==="echo"?a++:s++}return n>0&&h.invalidate("ctx"),{project:e.name,inserted:n,duplicate:s,echo:a}},"GET /stats":()=>{const{result:t,ms:e}=G(()=>o().getStats());return{...t,ms:e,cache:h.stats()}},"GET /health":()=>({ok:1,ts:Date.now()}),"GET /auth/status":()=>{const t=D();return{auth:t.requireAuth?1:0,origins:t.allowedOrigins.length}},"GET /ui/stats":()=>{const t=o().getDatabase(),e=t.prepare("SELECT COUNT(*) as c FROM projects").get().c,r=t.prepare("SELECT COUNT(*) as c FROM sessions").get().c,n=t.prepare("SELECT COUNT(*) as c FROM quests WHERE status IN ('pending','in_progress')").get().c,s=t.prepare("SELECT COUNT(*) as c FROM data_lake").get().c,a=t.prepare("SELECT COUNT(*) as c FROM memory_artifacts WHERE needs_review = 0").get().c,l=t.prepare("SELECT COUNT(*) as c FROM memory_artifacts WHERE needs_review = 1").get().c,c=t.prepare("SELECT COUNT(*) as c FROM ground_truths WHERE is_current = 1").get().c,i=t.prepare(`
|
|
26
26
|
SELECT date, summary, objectives FROM sessions
|
|
27
27
|
ORDER BY created_at DESC LIMIT 8
|
|
28
|
-
`).all();return{projects:e,sessions:r,active_quests:n,data_points:s,artifacts:a,review_queue:
|
|
28
|
+
`).all();return{projects:e,sessions:r,active_quests:n,data_points:s,artifacts:a,review_queue:l,truths:c,recent_sessions:i}},"GET /ui/memories":t=>{const e=o().getDatabase(),r=Math.max(1,parseInt(String(t.page||"1"),10)),n=Math.min(100,Math.max(1,parseInt(String(t.limit||"20"),10))),s=t.kind?String(t.kind):"",a=t.search?String(t.search):"",l=(r-1)*n;let c,i,u,p;if(a){const f=W(a);s?(c=`
|
|
29
29
|
SELECT ma.*, p.name AS project_name
|
|
30
30
|
FROM memory_artifacts ma
|
|
31
31
|
JOIN memory_artifacts_fts fts ON fts.rowid = ma.id
|
|
@@ -36,7 +36,7 @@ import Q from"http";import{WyrmDB as F}from"./database.js";import{cache as E,est
|
|
|
36
36
|
SELECT COUNT(*) as c FROM memory_artifacts ma
|
|
37
37
|
JOIN memory_artifacts_fts fts ON fts.rowid = ma.id
|
|
38
38
|
WHERE memory_artifacts_fts MATCH ? AND ma.kind = ?
|
|
39
|
-
AND ma.supersedes_id IS NULL`,
|
|
39
|
+
AND ma.supersedes_id IS NULL`,u=[f,s,n,l],p=[f,s]):(c=`
|
|
40
40
|
SELECT ma.*, p.name AS project_name
|
|
41
41
|
FROM memory_artifacts ma
|
|
42
42
|
JOIN memory_artifacts_fts fts ON fts.rowid = ma.id
|
|
@@ -45,17 +45,17 @@ import Q from"http";import{WyrmDB as F}from"./database.js";import{cache as E,est
|
|
|
45
45
|
ORDER BY ma.confidence DESC LIMIT ? OFFSET ?`,i=`
|
|
46
46
|
SELECT COUNT(*) as c FROM memory_artifacts ma
|
|
47
47
|
JOIN memory_artifacts_fts fts ON fts.rowid = ma.id
|
|
48
|
-
WHERE memory_artifacts_fts MATCH ? AND ma.supersedes_id IS NULL`,
|
|
48
|
+
WHERE memory_artifacts_fts MATCH ? AND ma.supersedes_id IS NULL`,u=[f,n,l],p=[f])}else s?(c=`
|
|
49
49
|
SELECT ma.*, p.name AS project_name
|
|
50
50
|
FROM memory_artifacts ma
|
|
51
51
|
LEFT JOIN projects p ON ma.project_id = p.id
|
|
52
52
|
WHERE ma.kind = ? AND ma.supersedes_id IS NULL
|
|
53
|
-
ORDER BY ma.confidence DESC LIMIT ? OFFSET ?`,i="SELECT COUNT(*) as c FROM memory_artifacts WHERE kind = ? AND supersedes_id IS NULL",
|
|
53
|
+
ORDER BY ma.confidence DESC LIMIT ? OFFSET ?`,i="SELECT COUNT(*) as c FROM memory_artifacts WHERE kind = ? AND supersedes_id IS NULL",u=[s,n,l],p=[s]):(c=`
|
|
54
54
|
SELECT ma.*, p.name AS project_name
|
|
55
55
|
FROM memory_artifacts ma
|
|
56
56
|
LEFT JOIN projects p ON ma.project_id = p.id
|
|
57
57
|
WHERE ma.supersedes_id IS NULL
|
|
58
|
-
ORDER BY ma.confidence DESC LIMIT ? OFFSET ?`,i="SELECT COUNT(*) as c FROM memory_artifacts WHERE supersedes_id IS NULL",
|
|
58
|
+
ORDER BY ma.confidence DESC LIMIT ? OFFSET ?`,i="SELECT COUNT(*) as c FROM memory_artifacts WHERE supersedes_id IS NULL",u=[n,l],p=[]);const d=e.prepare(c).all(...u),m=e.prepare(i).get(...p).c;return{items:d,total:m,page:r,limit:n}},"GET /ui/quests":()=>{const e=o().getDatabase().prepare(`
|
|
59
59
|
SELECT q.id, q.title, q.status, q.priority, p.name AS project_name
|
|
60
60
|
FROM quests q
|
|
61
61
|
LEFT JOIN projects p ON q.project_id = p.id
|
|
@@ -66,15 +66,16 @@ import Q from"http";import{WyrmDB as F}from"./database.js";import{cache as E,est
|
|
|
66
66
|
LEFT JOIN projects p ON gt.project_id = p.id
|
|
67
67
|
WHERE gt.is_current = 1
|
|
68
68
|
ORDER BY gt.updated_at DESC LIMIT ? OFFSET ?
|
|
69
|
-
`).all(n,s),
|
|
69
|
+
`).all(n,s),l=e.prepare("SELECT COUNT(*) as c FROM ground_truths WHERE is_current = 1").get().c;return{items:a.map(i=>({...i,staleness:ut(i)})),total:l,page:r,limit:n}},"GET /ui/review":()=>({items:o().getDatabase().prepare(`
|
|
70
70
|
SELECT ma.*, p.name AS project_name
|
|
71
71
|
FROM memory_artifacts ma
|
|
72
72
|
LEFT JOIN projects p ON ma.project_id = p.id
|
|
73
73
|
WHERE ma.needs_review = 1
|
|
74
74
|
ORDER BY ma.created_at DESC
|
|
75
|
-
`).all()}),"GET /ui/account":()=>{const t=
|
|
75
|
+
`).all()}),"GET /ui/account":()=>{const t=x(o().getDatabasePath());try{const e=y(t,"license.json");if(S(e)){const r=JSON.parse(R(e,"utf-8")),n=Y(r);return{account:r.license&&r.license.issued_to||"unknown",tier:n.valid?n.tier:"free",valid:!!n.valid,expires:n.expiresAt||null,readonly:T}}}catch{}try{const e=y(t,"cloud.json");if(S(e))return{account:JSON.parse(R(e,"utf-8")).email||"Local",tier:"free",valid:!1,expires:null,readonly:T}}catch{}return{account:"Local",tier:"free",valid:!1,expires:null,readonly:T}},"GET /ui/impact":()=>{const t=o().getDatabase(),e=r=>{try{return t.prepare(r).get()?.n||0}catch{return 0}};return{failures_blocked:e("SELECT COALESCE(SUM(occurrences),0) AS n FROM failure_patterns"),tokens_saved:e("SELECT COALESCE(SUM(estimated_tokens),0) AS n FROM token_savings_log"),memories:e("SELECT COUNT(*) AS n FROM memory_artifacts WHERE supersedes_id IS NULL"),memories_week:e("SELECT COUNT(*) AS n FROM memory_artifacts WHERE created_at >= datetime('now','-7 days')"),truths:e("SELECT COUNT(*) AS n FROM ground_truths WHERE is_current = 1"),sessions:e("SELECT COUNT(*) AS n FROM sessions"),quests_completed:e("SELECT COUNT(*) AS n FROM quests WHERE status = 'completed'"),skills:e("SELECT COUNT(*) AS n FROM skills"),projects:e("SELECT COUNT(*) AS n FROM projects")}},"GET /ui/memory":t=>{const e=o().getDatabase(),r=parseInt(String(t&&t.id||"0"),10);if(!r)return{item:null};try{return{item:e.prepare(`SELECT ma.*, p.name AS project_name
|
|
76
76
|
FROM memory_artifacts ma LEFT JOIN projects p ON ma.project_id = p.id
|
|
77
|
-
WHERE ma.id = ?`).get(r)||null}}catch{return{item:null}}},"GET /ui/
|
|
78
|
-
|
|
77
|
+
WHERE ma.id = ?`).get(r)||null}}catch{return{item:null}}},"GET /ui/recall":async t=>{const e=t.search?String(t.search):t.q?String(t.q):"";if(!e)return{items:[],total:0};const r=_(t.limit,6,25),n=t.kind?String(t.kind):void 0,a=(await A().recallHybridGlobal(e,{limit:r,kind:n})).map(l=>({...l.artifact,relevance:Math.round(l.relevance_score*1e3)/1e3,match_type:l.match_type}));return{items:a,total:a.length}},"GET /ui/context":async t=>{const e=t.search?String(t.search):t.q?String(t.q):"";if(!e)return{context:"",items:[],total:0,tokens:0};const r=_(t.limit,10,25),n=_(t.budget,900,2400),s=await A().recallHybridGlobal(e,{limit:r}),a=[],l=[];let c=0;for(const i of s){const u=i.artifact,p=String(u.problem??u.title??u.summary??u.key??u.kind??"").trim(),d=String(u.validated_fix??u.content??u.body??u.value??u.problem??"").replace(/\s+/g," ").trim(),m=`- ${p}${d?": "+d.slice(0,320):""}`,f=Math.ceil(m.length/4);c+f<=n?(a.push(m),c+=f):a.push(`- ${p.slice(0,64)} \u2026 (recall for detail)`),l.push({...u,relevance:Math.round(i.relevance_score*1e3)/1e3,match_type:i.match_type})}return{context:a.join(`
|
|
78
|
+
`),tokens:c,items:l,total:l.length}},"GET /ui/skills":()=>{const t=o().getDatabase();try{const e=t.prepare(`SELECT name, description, category, tier, usage_count, is_active
|
|
79
|
+
FROM skills ORDER BY category COLLATE NOCASE, name COLLATE NOCASE`).all();return{items:e,total:e.length}}catch{return{items:[],total:0}}},"GET /ui/homes":()=>{const t=Q();let e=o().getDatabasePath();try{e=U(e)}catch{}return{homes:t.map(r=>({...r,active:r.dbPath===e}))}},"POST /ui/switch":t=>{const e=String(t&&t.path||""),r=Q().find(n=>n.dbPath===e);if(!r)return{ok:!1,error:"unknown home"};try{return Rt(new H(r.dbPath)),{ok:!0,account:r.account,tier:r.tier}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}}};function Lt(t,e,r){if(!o().liveMemoryEnabled()){E(e,t,{e:"live memory disabled",disabled:1},503);return}const n=P(r.project??r.p);if(!n){E(e,t,{e:"not found"},404);return}const s=t.socket.remoteAddress||"unknown";if(k>=St){E(e,t,{e:"too many concurrent streams",retry_after:5},503);return}if((O.get(s)??0)>=Tt){E(e,t,{e:"too many concurrent streams from this client",retry_after:5},503);return}k++,O.set(s,(O.get(s)??0)+1);let a=J(t.headers["last-event-id"],r.since);const c=!(s==="127.0.0.1"||s==="::1"||s==="::ffff:127.0.0.1")||r.shared==="1"||r.shared==="true";e.writeHead(200,{...L(t),"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-cache, no-transform",Connection:"keep-alive","X-Accel-Buffering":"no"}),e.write(`retry: 3000
|
|
79
80
|
|
|
80
|
-
`);let i,
|
|
81
|
+
`);let i,u,p=!1;const d=()=>{if(p)return;p=!0,i&&clearInterval(i),u&&clearInterval(u),k--;const f=(O.get(s)??1)-1;f<=0?O.delete(s):O.set(s,f)},m=()=>{if(e.writableEnded){d();return}try{const f=c?o().eventsForPush(n.id,a,200):o().eventsSince(n.id,a,200);for(const F of f)a=F.cursor,e.write(pt(F))}catch{}};m(),i=setInterval(m,1e3),u=setInterval(()=>{try{e.write(ft)}catch{}},25e3),t.on("close",d),e.on("close",d),e.on("error",d)}const w=V.createServer(async(t,e)=>{if(!tt(t,e).error)try{const n=new URL(t.url||"/",`http://localhost:${C}`);if(T&&Et(t.method||"GET",n.pathname)){E(e,t,{e:"read-only mode",readonly:1},403);return}let s;try{s=await bt(t)}catch(d){if(d.message==="Invalid JSON"){E(e,t,{e:"Invalid JSON body"},400);return}throw d}if(n.searchParams.forEach((d,m)=>s[m]=d),t.method==="GET"&&n.pathname==="/dragon-mark.svg"){try{if(!v&&S(B)&&(v=R(B)),v){e.writeHead(200,{...L(t),"Content-Type":"image/svg+xml","Cache-Control":"public, max-age=86400","Content-Length":v.length}),e.end(v);return}}catch{}E(e,t,{e:"not found"},404);return}if(t.method==="GET"&&n.pathname==="/ui"){vt(e,t,at());return}if(t.method==="GET"&&n.pathname==="/events/stream"){Lt(t,e,s);return}const a=n.pathname.match(/^\/ui\/review\/(\d+)\/(approve|reject)$/);if(t.method==="POST"&&a){const d=parseInt(a[1],10),m=a[2],f=o().getDatabase();m==="approve"?f.prepare("UPDATE memory_artifacts SET needs_review = 0 WHERE id = ?").run(d):f.prepare("DELETE FROM memory_artifacts WHERE id = ?").run(d),E(e,t,{ok:!0});return}const l=`${t.method} ${n.pathname}`,c=X[l];if(!c){if(n.pathname==="/"){E(e,t,{wyrm:"3.0",auth:D().requireAuth?"required":"disabled",tip:"GET /c for quick context"});return}E(e,t,{e:"not found"},404);return}const i=ht({header:t.headers["wyrm-actor"]}),{result:u,ms:p}=G(()=>_t(i,()=>c(s)));e.setHeader("X-Time-Ms",String(p)),u instanceof Promise?u.then(d=>E(e,t,d)).catch(d=>{const m=$(d);if(m!==null){const f=q("http",m);e.setHeader("Retry-After",String(Math.ceil(f.error.retry_after_ms/1e3))),E(e,t,f,503);return}N.error("Fast API request failed",{path:t.url,error:d.message}),E(e,t,{e:"Internal server error"},500)}):E(e,t,u)}catch(n){const s=$(n);if(s!==null){const a=q("http",s);e.setHeader("Retry-After",String(Math.ceil(a.error.retry_after_ms/1e3))),E(e,t,a,503);return}N.error("Fast API request failed",{path:t.url,error:n.message}),E(e,t,{e:"Internal server error"},500)}}),K=()=>{w.close(()=>{try{g?.close()}catch{}process.exit(0)})};process.on("SIGINT",K),process.on("SIGTERM",K);import{fileURLToPath as Ct}from"url";const jt=Ct(import.meta.url);if(process.argv[1]===jt){const t=process.env.WYRM_BIND_HOST||"127.0.0.1";w.listen(C,t,()=>{N.info("Wyrm Fast API started",{port:C,host:t}),console.log(`\u{F115D} Wyrm Fast API on ${t}:${C}`),console.log(` Auth: ${D().requireAuth?"required":"disabled"}`),T&&console.log(" Read-only: writes + off-box egress blocked (safe to expose)"),t!=="127.0.0.1"&&t!=="::1"&&t!=="localhost"&&(N.warn("Wyrm Fast API bound to a NON-loopback host \u2014 reachable beyond localhost; ensure auth is required",{host:t}),console.log(` \u26A0 bound to ${t}: reachable beyond localhost \u2014 make sure auth is required`),T||console.log(" \u26A0 not in read-only mode; set WYRM_UI_READONLY=1 for a public bind"))})}export{w as server};
|