agentix-cli 0.27.0 → 0.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +67 -118
- package/apps/mac-helper/Sources/AgentXHelper/AXTree.swift +159 -0
- package/apps/mac-helper/Sources/AgentXHelper/Brand.swift +63 -0
- package/apps/mac-helper/Sources/AgentXHelper/Focus.swift +97 -0
- package/apps/mac-helper/Sources/AgentXHelper/HUD.swift +179 -0
- package/apps/mac-helper/Sources/AgentXHelper/OCR.swift +117 -0
- package/apps/mac-helper/Sources/AgentXHelper/Pointer.swift +309 -0
- package/apps/mac-helper/Sources/AgentXHelper/Screens.swift +67 -0
- package/apps/mac-helper/Sources/AgentXHelper/Typer.swift +185 -0
- package/apps/mac-helper/Sources/AgentXHelper/Vision.swift +201 -0
- package/apps/mac-helper/Sources/AgentXHelper/main.swift +265 -0
- package/apps/mac-helper/build.sh +39 -0
- package/apps/mac-voice/Resources/Info.plist +18 -0
- package/apps/mac-voice/Sources/AgentXVoice/AgentClient.swift +108 -0
- package/apps/mac-voice/Sources/AgentXVoice/Brand.swift +123 -0
- package/apps/mac-voice/Sources/AgentXVoice/Config.swift +68 -0
- package/apps/mac-voice/Sources/AgentXVoice/Hold.swift +74 -0
- package/apps/mac-voice/Sources/AgentXVoice/Hotkey.swift +76 -0
- package/apps/mac-voice/Sources/AgentXVoice/Markdown.swift +140 -0
- package/apps/mac-voice/Sources/AgentXVoice/Panel.swift +275 -0
- package/apps/mac-voice/Sources/AgentXVoice/Progress.swift +147 -0
- package/apps/mac-voice/Sources/AgentXVoice/Recorder.swift +139 -0
- package/apps/mac-voice/Sources/AgentXVoice/ResultCard.swift +162 -0
- package/apps/mac-voice/Sources/AgentXVoice/SmartPaste.swift +72 -0
- package/apps/mac-voice/Sources/AgentXVoice/Speech.swift +192 -0
- package/apps/mac-voice/Sources/AgentXVoice/StepLabel.swift +159 -0
- package/apps/mac-voice/Sources/AgentXVoice/main.swift +380 -0
- package/apps/mac-voice/build.sh +32 -0
- package/dist/{App-U52IPUK2.js → App-CKPH3HHF.js} +2 -2
- package/dist/{ChatApp-XP4OMHPL.js → ChatApp-MX7IG4K2.js} +2 -2
- package/dist/{agent-V2CA4TXD.js → agent-2U574KBZ.js} +2 -2
- package/dist/{board-dashboard-TTMAYRLG.js → board-dashboard-QR7CVTKA.js} +8 -10
- package/dist/board-dashboard-QR7CVTKA.js.map +1 -0
- package/dist/{chunk-UFAGYX73.js → chunk-3LYM22IV.js} +8 -8
- package/dist/chunk-3LYM22IV.js.map +1 -0
- package/dist/{chunk-VTE7L6LO.js → chunk-5IA2CYHN.js} +2 -2
- package/dist/{chunk-GDWJUGB5.js → chunk-64CAIB3C.js} +2 -2
- package/dist/{chunk-WZ72HX5C.js → chunk-E3UJHQGN.js} +145 -138
- package/dist/chunk-E3UJHQGN.js.map +1 -0
- package/dist/{chunk-IB3F7VBE.js → chunk-G2HMRDUQ.js} +3 -3
- package/dist/chunk-G2HMRDUQ.js.map +1 -0
- package/dist/{chunk-IBUSGCLQ.js → chunk-H2QQU2XV.js} +2 -2
- package/dist/{chunk-BPIRO4YD.js → chunk-MHIMGM4G.js} +2 -2
- package/dist/{chunk-CJQQIRPD.js → chunk-P5ZBBEPL.js} +7 -7
- package/dist/{chunk-CJQQIRPD.js.map → chunk-P5ZBBEPL.js.map} +1 -1
- package/dist/{chunk-L2IZPR6P.js → chunk-QHTQPBHU.js} +2 -2
- package/dist/chunk-S2MNL5V6.js +2 -0
- package/dist/chunk-S2MNL5V6.js.map +1 -0
- package/dist/{chunk-2T5W3ETS.js → chunk-SCTIUFL4.js} +2 -2
- package/dist/{chunk-OPHIXXGI.js → chunk-ULLAE6LE.js} +52 -52
- package/dist/chunk-ULLAE6LE.js.map +1 -0
- package/dist/{chunk-LNRB5MCU.js → chunk-VIH7ARPF.js} +151 -134
- package/dist/chunk-VIH7ARPF.js.map +1 -0
- package/dist/{chunk-DCDQZR7I.js → chunk-YLBERT7N.js} +6 -6
- package/dist/chunk-YLBERT7N.js.map +1 -0
- package/dist/{chunk-AX2PWSRT.js → chunk-YLGIZRHV.js} +2 -2
- package/dist/{chunk-FIEJDZVC.js → chunk-ZMYGXHPT.js} +2 -2
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/client-ZLSXGPTV.js +2 -0
- package/dist/config-HMW3EBZL.js +2 -0
- package/dist/config-mutator-4SZ5YEVD.js +2 -0
- package/dist/doctor-LRYV3QLK.js +2 -0
- package/dist/index.d.ts +37 -12
- package/dist/index.js +12 -19
- package/dist/index.js.map +1 -1
- package/dist/program-GSZ5AYAM.js +2 -0
- package/dist/query-SQDHE4HV.js +2 -0
- package/dist/registry-LE6FWYZC.js +2 -0
- package/dist/{review-candidates-AEUXRQQC.js → review-candidates-RQU5KNZM.js} +2 -2
- package/dist/routing-ILERJXB6.js +2 -0
- package/dist/scheduler-BFM3EINS.js +2 -0
- package/dist/{seat-VZ7AVO27.js → seat-7WM7II2B.js} +2 -2
- package/dist/{select-F5I5PO2O.js → select-X4KVMOP5.js} +2 -2
- package/dist/wiki-2AUFSIKO.js +2 -0
- package/dist/wiki-2AUFSIKO.js.map +1 -0
- package/package.json +14 -3
- package/scripts/postinstall.mjs +80 -0
- package/dist/board-dashboard-TTMAYRLG.js.map +0 -1
- package/dist/chunk-DCDQZR7I.js.map +0 -1
- package/dist/chunk-IB3F7VBE.js.map +0 -1
- package/dist/chunk-LNRB5MCU.js.map +0 -1
- package/dist/chunk-OPHIXXGI.js.map +0 -1
- package/dist/chunk-UFAGYX73.js.map +0 -1
- package/dist/chunk-WZ72HX5C.js.map +0 -1
- package/dist/client-PX25MD47.js +0 -2
- package/dist/config-HL5F36V4.js +0 -2
- package/dist/config-mutator-HBX53OMJ.js +0 -2
- package/dist/doctor-PBAH6XL3.js +0 -2
- package/dist/program-YGXVCV2Y.js +0 -2
- package/dist/query-ZKTFJMNE.js +0 -2
- package/dist/registry-PSZDPFZK.js +0 -2
- package/dist/routing-4PV66BK6.js +0 -2
- package/dist/routing-4PV66BK6.js.map +0 -1
- package/dist/scheduler-GZZAN6ZG.js +0 -2
- package/dist/wiki-N5SMP3DT.js +0 -2
- /package/dist/{App-U52IPUK2.js.map → App-CKPH3HHF.js.map} +0 -0
- /package/dist/{ChatApp-XP4OMHPL.js.map → ChatApp-MX7IG4K2.js.map} +0 -0
- /package/dist/{agent-V2CA4TXD.js.map → agent-2U574KBZ.js.map} +0 -0
- /package/dist/{chunk-VTE7L6LO.js.map → chunk-5IA2CYHN.js.map} +0 -0
- /package/dist/{chunk-GDWJUGB5.js.map → chunk-64CAIB3C.js.map} +0 -0
- /package/dist/{chunk-IBUSGCLQ.js.map → chunk-H2QQU2XV.js.map} +0 -0
- /package/dist/{chunk-BPIRO4YD.js.map → chunk-MHIMGM4G.js.map} +0 -0
- /package/dist/{chunk-L2IZPR6P.js.map → chunk-QHTQPBHU.js.map} +0 -0
- /package/dist/{chunk-2T5W3ETS.js.map → chunk-SCTIUFL4.js.map} +0 -0
- /package/dist/{chunk-AX2PWSRT.js.map → chunk-YLGIZRHV.js.map} +0 -0
- /package/dist/{chunk-FIEJDZVC.js.map → chunk-ZMYGXHPT.js.map} +0 -0
- /package/dist/{client-PX25MD47.js.map → client-ZLSXGPTV.js.map} +0 -0
- /package/dist/{config-HL5F36V4.js.map → config-HMW3EBZL.js.map} +0 -0
- /package/dist/{config-mutator-HBX53OMJ.js.map → config-mutator-4SZ5YEVD.js.map} +0 -0
- /package/dist/{doctor-PBAH6XL3.js.map → doctor-LRYV3QLK.js.map} +0 -0
- /package/dist/{program-YGXVCV2Y.js.map → program-GSZ5AYAM.js.map} +0 -0
- /package/dist/{query-ZKTFJMNE.js.map → query-SQDHE4HV.js.map} +0 -0
- /package/dist/{registry-PSZDPFZK.js.map → registry-LE6FWYZC.js.map} +0 -0
- /package/dist/{review-candidates-AEUXRQQC.js.map → review-candidates-RQU5KNZM.js.map} +0 -0
- /package/dist/{scheduler-GZZAN6ZG.js.map → routing-ILERJXB6.js.map} +0 -0
- /package/dist/{seat-VZ7AVO27.js.map → scheduler-BFM3EINS.js.map} +0 -0
- /package/dist/{wiki-N5SMP3DT.js.map → seat-7WM7II2B.js.map} +0 -0
- /package/dist/{select-F5I5PO2O.js.map → select-X4KVMOP5.js.map} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a}from"./chunk-VIH7ARPF.js";import"./chunk-5IA2CYHN.js";import"./chunk-3LYM22IV.js";import"./chunk-UCQ2N3KO.js";import"./chunk-52ZPELD2.js";import"./chunk-G2HMRDUQ.js";import"./chunk-GV7S5BAX.js";import"./chunk-GSX4NK2N.js";import"./chunk-SZDACK6O.js";import"./chunk-E3UJHQGN.js";import"./chunk-F6CNF7V3.js";import"./chunk-YLBERT7N.js";import"./chunk-IWMW5432.js";import"./chunk-ZVP6GB4G.js";import"./chunk-ULLAE6LE.js";import"./chunk-64CAIB3C.js";import"./chunk-M4AMWP3H.js";import"./chunk-4BR7D2OU.js";import"./chunk-MHIMGM4G.js";import"./chunk-SFQUP3BP.js";import"./chunk-3SCPRYJB.js";import"./chunk-I3SIXTJO.js";import"./chunk-67Q4DCPS.js";import"./chunk-K33GIBSE.js";import"./chunk-76Z4VHDX.js";import"./chunk-W4YR2RO2.js";import"./chunk-AFRHKA7B.js";import"./chunk-ZMYGXHPT.js";import"./chunk-SCTIUFL4.js";import"./chunk-S2MNL5V6.js";import"./chunk-77OV7346.js";import"./chunk-VWTBHLMX.js";import"./chunk-H2QQU2XV.js";import"./chunk-PNWNVOEZ.js";import"./chunk-64P4QHSZ.js";import"./chunk-QHTQPBHU.js";import"./chunk-AJ5RMU7X.js";import"./chunk-EVWEG3VD.js";import"./chunk-YLGIZRHV.js";import"./chunk-AJONZWLT.js";import"./chunk-F4HZTZHW.js";import"./chunk-ZTEU5JVQ.js";import"./chunk-QOYAX2FT.js";import"./chunk-WPMX3VGI.js";import"./chunk-LCIREYTD.js";import"./chunk-L2WSPY6S.js";import"./chunk-VDMYBPYB.js";import"./chunk-DSYKYZMT.js";import"./chunk-P5ZBBEPL.js";import"./chunk-BH3GTCZ6.js";import"./chunk-FIOB3MEX.js";export{a as buildProgram};
|
|
2
|
+
//# sourceMappingURL=program-GSZ5AYAM.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a}from"./chunk-QHTQPBHU.js";import"./chunk-AJ5RMU7X.js";import"./chunk-EVWEG3VD.js";import"./chunk-YLGIZRHV.js";import"./chunk-AJONZWLT.js";import"./chunk-F4HZTZHW.js";import"./chunk-ZTEU5JVQ.js";import"./chunk-QOYAX2FT.js";import"./chunk-LCIREYTD.js";import"./chunk-L2WSPY6S.js";import"./chunk-P5ZBBEPL.js";import"./chunk-BH3GTCZ6.js";import"./chunk-FIOB3MEX.js";export{a as agenticQuery};
|
|
2
|
+
//# sourceMappingURL=query-SQDHE4HV.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{A as e,B as f,C as g,D as h,E as i,F as j,w as a,x as b,y as c,z as d}from"./chunk-ULLAE6LE.js";import"./chunk-64CAIB3C.js";import"./chunk-M4AMWP3H.js";import"./chunk-4BR7D2OU.js";import"./chunk-67Q4DCPS.js";import"./chunk-K33GIBSE.js";import"./chunk-W4YR2RO2.js";import"./chunk-AFRHKA7B.js";import"./chunk-ZMYGXHPT.js";import"./chunk-SCTIUFL4.js";import"./chunk-S2MNL5V6.js";import"./chunk-77OV7346.js";import"./chunk-VWTBHLMX.js";import"./chunk-H2QQU2XV.js";import"./chunk-PNWNVOEZ.js";import"./chunk-64P4QHSZ.js";import"./chunk-QHTQPBHU.js";import"./chunk-AJ5RMU7X.js";import"./chunk-EVWEG3VD.js";import"./chunk-YLGIZRHV.js";import"./chunk-AJONZWLT.js";import"./chunk-F4HZTZHW.js";import"./chunk-ZTEU5JVQ.js";import"./chunk-QOYAX2FT.js";import"./chunk-WPMX3VGI.js";import"./chunk-LCIREYTD.js";import"./chunk-L2WSPY6S.js";import"./chunk-DSYKYZMT.js";import"./chunk-P5ZBBEPL.js";import"./chunk-BH3GTCZ6.js";import"./chunk-FIOB3MEX.js";export{j as AgentRegistry,e as TRACE_STEP_SUMMARY_BYTES,c as buildEntryMeta,d as buildWikiContext,f as clipForTrace,i as emitTraceStepsFromStreamEvent,h as firstMissingRequiredTool,b as getGlobalRegistry,a as setGlobalRegistry,g as tallyToolUses};
|
|
2
|
+
//# sourceMappingURL=registry-LE6FWYZC.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{b}from"./chunk-
|
|
1
|
+
import{b}from"./chunk-YLBERT7N.js";import"./chunk-4BR7D2OU.js";import"./chunk-EVWEG3VD.js";import"./chunk-YLGIZRHV.js";import"./chunk-AJONZWLT.js";import"./chunk-F4HZTZHW.js";import"./chunk-ZTEU5JVQ.js";import"./chunk-LCIREYTD.js";import"./chunk-L2WSPY6S.js";import"./chunk-P5ZBBEPL.js";import"./chunk-BH3GTCZ6.js";import"./chunk-FIOB3MEX.js";import{createHash as A}from"crypto";var v="review:",I={decisions:"project",warnings:"feedback",friction:"feedback",context:"reference"};function E(t,n,r){let s=A("sha1").update(r.trim().toLowerCase()).digest("hex").slice(0,10);return`${v}${t}/${n}@${s}`}function F(t){if(!t.startsWith(v))return null;let n=t.slice(v.length),r=n.lastIndexOf("@"),s=n.lastIndexOf("/",r===-1?void 0:r);return r===-1||s===-1?null:{reviewId:n.slice(0,s),kind:n.slice(s+1,r),digest:n.slice(r+1)}}var C=t=>t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,48)||"finding";function L(t,n){return`${t}|${b(n)}`}function K(t,n={}){let r=n.kinds??Object.keys(I),s=n.minLength??24,h=[],d=new Map,u=new Map,f=new Map,x=new Map;for(let e of t){let i;try{i=JSON.parse(e.result)}catch{continue}let o=e.updated_at?new Date(e.updated_at).toISOString():new Date().toISOString();for(let c of r){let l=I[c];if(!l)continue;let R=i[c];if(Array.isArray(R))for(let $ of R){let a=String($?.text??"").trim();if(a.length<s)continue;let g=E(e.id,c,a),O=g.slice(g.lastIndexOf("@")),w=`${c}${O}`,y=L(c,a),k=f.get(y)??new Set;if(k.add(e.session_id??e.id),f.set(y,k),d.has(w))continue;let _=String($?.evidence??"").trim(),S={occurrences:1,agentId:e.agent,key:`${e.agent}/${l}_${C(a)}`,stamp:g,memory:{name:C(a),type:l,description:a.slice(0,200),body:"",createdAt:o,updatedAt:o}};x.set(g,{text:a,evidence:_,agent:e.agent,source:e.source}),d.set(w,S),u.set(w,y),h.push(S)}}}for(let[e,i]of d){i.occurrences=f.get(u.get(e)??"")?.size??1;let o=x.get(i.stamp);i.memory.body=T(o,i.occurrences)}let m=new Map;for(let[e,i]of d){let o=u.get(e)??e,c=m.get(o)??[];c.push(i),m.set(o,c)}let M=[...m.values()].sort((e,i)=>i[0].occurrences-e[0].occurrences),p=[];for(let e=0;p.length<h.length;e++){let i=!1;for(let o of M)e<o.length&&(p.push(o[e]),i=!0);if(!i)break}return p}function T(t,n){let r=`${t.agent}${t.source?` via ${t.source}`:""}`,s=[];return n>1?(s.push(`Observed in ${n} separate sessions. Most recently stated as:`),s.push(`> ${t.text}`),s.push(`Recurring across ${n} sessions is what makes this worth recording \u2014 any single occurrence is session state, the repetition is the finding.`)):s.push(t.text),t.evidence&&s.push(`**Evidence:** ${t.evidence}`),s.push(`_From ${n>1?"session reviews":"a session review"} of ${r}._`),s.join(`
|
|
2
2
|
|
|
3
3
|
`)}export{I as PROMOTABLE_KINDS,v as REVIEW_STAMP_PREFIX,F as parseReviewStamp,E as reviewStamp,K as reviewsToCandidates};
|
|
4
|
-
//# sourceMappingURL=review-candidates-
|
|
4
|
+
//# sourceMappingURL=review-candidates-RQU5KNZM.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a,b}from"./chunk-S2MNL5V6.js";import"./chunk-YLGIZRHV.js";import"./chunk-AJONZWLT.js";import"./chunk-F4HZTZHW.js";import"./chunk-ZTEU5JVQ.js";import"./chunk-LCIREYTD.js";import"./chunk-L2WSPY6S.js";import"./chunk-P5ZBBEPL.js";import"./chunk-BH3GTCZ6.js";import"./chunk-FIOB3MEX.js";export{a as cheapModelForEngine,b as routeTaskModel};
|
|
2
|
+
//# sourceMappingURL=routing-ILERJXB6.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{g as a,h as b}from"./chunk-ZMYGXHPT.js";import"./chunk-SCTIUFL4.js";import"./chunk-ZTEU5JVQ.js";import"./chunk-L2WSPY6S.js";import"./chunk-P5ZBBEPL.js";import"./chunk-FIOB3MEX.js";export{b as CronScheduler,a as getNextCronDate};
|
|
2
|
+
//# sourceMappingURL=scheduler-BFM3EINS.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{o as a,p as b,q as c,r as d,s as e,t as f,u as g,v as h,w as i}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=seat-
|
|
1
|
+
import{o as a,p as b,q as c,r as d,s as e,t as f,u as g,v as h,w as i}from"./chunk-YLGIZRHV.js";import"./chunk-AJONZWLT.js";import"./chunk-F4HZTZHW.js";import"./chunk-ZTEU5JVQ.js";import"./chunk-LCIREYTD.js";import"./chunk-L2WSPY6S.js";import"./chunk-P5ZBBEPL.js";import"./chunk-BH3GTCZ6.js";import"./chunk-FIOB3MEX.js";i();export{h as askSeat,a as configureDecisions,c as decisionsRuntime,f as getSeatMode,d as parseSeatMode,g as recordSeatOutcome,b as resetDecisionsRuntime,e as seatEnvVar};
|
|
2
|
+
//# sourceMappingURL=seat-7WM7II2B.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{v as S,w}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=select-
|
|
1
|
+
import{v as S,w}from"./chunk-YLGIZRHV.js";import"./chunk-AJONZWLT.js";import{a as g,b as h,f as R}from"./chunk-F4HZTZHW.js";import"./chunk-ZTEU5JVQ.js";import"./chunk-LCIREYTD.js";import"./chunk-L2WSPY6S.js";import{d as f}from"./chunk-VDMYBPYB.js";import"./chunk-P5ZBBEPL.js";import"./chunk-BH3GTCZ6.js";import"./chunk-FIOB3MEX.js";w();R();var p="skill-select";function y(l){return{task:d(l.task,1200),...l.agent?{agent:l.agent}:{},skills:l.candidates.map(t=>({name:t.name,purpose:d(t.description,300),...t.category?{category:t.category}:{},...t.tags?.length?{tags:t.tags.slice(0,8)}:{}}))}}function b(l){let t={};for(let i of l)t[i.name]=d(i.description,300);return{anyRelevant:g("At least one of these skills is about the task at hand.",{true:"The task is the kind of work one of these skills exists for, and following it would change how the work is done \u2014 it names the same system, the same procedure or the same kind of artefact.",false:"None of them is about this task. They may share vocabulary with it, mention the same tools, or belong to the same project without bearing on what is being asked. Sharing words with a task is not being about it."}),best:h(t,"Which skill is this task most about?")}}function v(l){let t=l.anyRelevant,i=l.best,o=Object.entries(i.probabilities??{}).map(([e,s])=>({name:e,p:Number(s)||0})).sort((e,s)=>s.p-e.p);return{anyRelevant:t.noul,name:i.choice,confidence:i.confidence,ranked:o}}function d(l,t){return l.length>t?`${l.slice(0,t)}\u2026`:l}var x=.1,A=12;async function E(l,t,i={}){let o=i.minRelevant??.6,e=f(l,t).filter(n=>n.relevance>=x).slice(0,A),s=e.map(n=>({name:n.skill.frontmatter.name,lexical:n.relevance}));if(e.length===0)return{skill:null,anyRelevant:0,confidence:0,shortlist:s,judged:!1,reason:"no skill mentions anything in this task"};if(e.length===1)return{skill:e[0].skill,anyRelevant:e[0].relevance,confidence:e[0].relevance,shortlist:s,judged:!1,reason:`only ${e[0].skill.frontmatter.name} matched (${e[0].matchReason})`};let r=e.map(n=>({name:n.skill.frontmatter.name,description:n.skill.frontmatter.description,category:n.skill.frontmatter.category??null,tags:n.skill.frontmatter.tags})),m=await S(p,y({task:t,agent:i.agent??null,candidates:r}),b(r),{incumbent:{best:r[0].name},features:{agent:i.agent??"unknown",candidates:r.length}});if(!m)return{skill:e[0].skill,anyRelevant:e[0].relevance,confidence:e[0].relevance,shortlist:s,judged:!1,reason:`seat off \u2014 lexical top match (${e[0].matchReason})`};let a=v(m.answers),c=s.map(n=>({...n,p:a.ranked.find(k=>k.name===n.name)?.p??0})).sort((n,k)=>(k.p??0)-(n.p??0));if(a.anyRelevant<o)return{skill:null,anyRelevant:a.anyRelevant,confidence:a.confidence,shortlist:c,judged:!0,reason:`nothing on the shortlist is about this task (${a.anyRelevant.toFixed(2)} below ${o})`};let u=e.find(n=>n.skill.frontmatter.name===a.name);return u?{skill:u.skill,anyRelevant:a.anyRelevant,confidence:a.confidence,shortlist:c,judged:!0,reason:`${a.name} (confidence ${a.confidence.toFixed(2)})`}:{skill:null,anyRelevant:a.anyRelevant,confidence:a.confidence,shortlist:c,judged:!0,reason:`seat chose "${a.name}", which was not on the shortlist`}}export{E as pickSkillForTask};
|
|
2
|
+
//# sourceMappingURL=select-X4KVMOP5.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"./chunk-VWTBHLMX.js";import{e as a,f as b}from"./chunk-H2QQU2XV.js";import"./chunk-PNWNVOEZ.js";import"./chunk-64P4QHSZ.js";import{a as c}from"./chunk-QHTQPBHU.js";import"./chunk-AJ5RMU7X.js";import"./chunk-EVWEG3VD.js";import"./chunk-YLGIZRHV.js";import"./chunk-AJONZWLT.js";import"./chunk-F4HZTZHW.js";import"./chunk-ZTEU5JVQ.js";import"./chunk-QOYAX2FT.js";import"./chunk-LCIREYTD.js";import"./chunk-L2WSPY6S.js";import"./chunk-P5ZBBEPL.js";import"./chunk-BH3GTCZ6.js";import"./chunk-FIOB3MEX.js";export{b as WikiHub,a as WikiStore,c as agenticQuery};
|
|
2
|
+
//# sourceMappingURL=wiki-2AUFSIKO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentix-cli",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "AI operations layer for small
|
|
3
|
+
"version": "0.28.0",
|
|
4
|
+
"description": "AI operations layer for small and medium businesses. Routes Telegram, WhatsApp, GitLab, GitHub, crons, webhooks, and mesh tasks to AI agents. Web wizard for operators, CLI for engineers. Self-hosted.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "anis_marrouchi",
|
|
@@ -25,7 +25,13 @@
|
|
|
25
25
|
},
|
|
26
26
|
"files": [
|
|
27
27
|
"dist",
|
|
28
|
-
"
|
|
28
|
+
"scripts/postinstall.mjs",
|
|
29
|
+
"agentx.example.json",
|
|
30
|
+
"apps/mac-voice/Sources",
|
|
31
|
+
"apps/mac-voice/Resources",
|
|
32
|
+
"apps/mac-voice/build.sh",
|
|
33
|
+
"apps/mac-helper/Sources",
|
|
34
|
+
"apps/mac-helper/build.sh"
|
|
29
35
|
],
|
|
30
36
|
"keywords": [
|
|
31
37
|
"ai",
|
|
@@ -59,6 +65,10 @@
|
|
|
59
65
|
"usage:track": "tsx src/scripts/track-usage.ts",
|
|
60
66
|
"docs:dev": "vitepress dev docs",
|
|
61
67
|
"docs:build": "vitepress build docs",
|
|
68
|
+
"docs:check": "node docs/.scripts/check-sidebar.mjs && vitepress build docs",
|
|
69
|
+
"docs:demo": "node dist/cli.js demo --no-open --keep",
|
|
70
|
+
"docs:seed": "node docs/.scripts/seed-demo.mjs",
|
|
71
|
+
"docs:shots": "node docs/.scripts/capture.mjs",
|
|
62
72
|
"docs:preview": "vitepress preview docs",
|
|
63
73
|
"prepublishOnly": "npm run build",
|
|
64
74
|
"postinstall": "node scripts/postinstall.mjs"
|
|
@@ -105,6 +115,7 @@
|
|
|
105
115
|
"prettier": "^3.0.0",
|
|
106
116
|
"rimraf": "^4.1.3",
|
|
107
117
|
"tsup": "^6.6.3",
|
|
118
|
+
"tsx": "^4.23.15",
|
|
108
119
|
"type-fest": "^3.8.0",
|
|
109
120
|
"typescript": "^4.9.3",
|
|
110
121
|
"vite-tsconfig-paths": "^4.3.1",
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// --- Postinstall: rebuild better-sqlite3 if its prebuilt ABI doesn't
|
|
3
|
+
// match the current Node major. ---
|
|
4
|
+
//
|
|
5
|
+
// better-sqlite3 ships prebuilt binaries for a handful of Node majors.
|
|
6
|
+
// On Macs that have nvm/asdf, the Node major used to install can differ
|
|
7
|
+
// from the one used to run the daemon (the launchd plist pins
|
|
8
|
+
// /Users/.../v22.../bin), and on Linux package managers may not match
|
|
9
|
+
// the binary distribution. Either way we silently no-op SQLite at boot
|
|
10
|
+
// — see `src/storage/sqlite.ts`'s NODE_MODULE_VERSION error handling.
|
|
11
|
+
//
|
|
12
|
+
// This script is best-effort: if it can't load better-sqlite3, OR if
|
|
13
|
+
// loading throws an ABI error, OR if `npm rebuild` is unavailable, we
|
|
14
|
+
// print a hint and exit 0 so install doesn't fail. Operators on niche
|
|
15
|
+
// setups can still proceed; they'll just see the boot warning until
|
|
16
|
+
// they fix it manually.
|
|
17
|
+
//
|
|
18
|
+
// To skip entirely, set AGENTX_SKIP_POSTINSTALL=1.
|
|
19
|
+
|
|
20
|
+
import { execSync } from "node:child_process"
|
|
21
|
+
import { createRequire } from "node:module"
|
|
22
|
+
import path from "node:path"
|
|
23
|
+
import fs from "node:fs"
|
|
24
|
+
|
|
25
|
+
if (process.env.AGENTX_SKIP_POSTINSTALL === "1") process.exit(0)
|
|
26
|
+
|
|
27
|
+
const here = path.dirname(new URL(import.meta.url).pathname)
|
|
28
|
+
const repoRoot = path.resolve(here, "..")
|
|
29
|
+
|
|
30
|
+
// We only run this in the agentx repo itself, not when agentx is installed
|
|
31
|
+
// as a dependency in another project (where this script wouldn't make sense).
|
|
32
|
+
const ourPkgJson = path.join(repoRoot, "package.json")
|
|
33
|
+
try {
|
|
34
|
+
const ourPkg = JSON.parse(fs.readFileSync(ourPkgJson, "utf8"))
|
|
35
|
+
if (ourPkg.name !== "agentx" && ourPkg.name !== "@acme/agentx" && ourPkg.name !== "agentix-cli") process.exit(0)
|
|
36
|
+
} catch { process.exit(0) }
|
|
37
|
+
|
|
38
|
+
// better-sqlite3 may live at the workspace root (top-level install) or
|
|
39
|
+
// nested under node_modules; createRequire from our package handles both.
|
|
40
|
+
const require = createRequire(ourPkgJson)
|
|
41
|
+
let needsRebuild = false
|
|
42
|
+
try {
|
|
43
|
+
require.resolve("better-sqlite3")
|
|
44
|
+
} catch {
|
|
45
|
+
// better-sqlite3 isn't installed — that's fine, the daemon's optional
|
|
46
|
+
// SQLite path will simply no-op.
|
|
47
|
+
process.exit(0)
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
try {
|
|
51
|
+
const Database = require("better-sqlite3")
|
|
52
|
+
// Open an in-memory db to actually exercise the native binding. If the
|
|
53
|
+
// ABI doesn't match, the constructor throws "NODE_MODULE_VERSION ...".
|
|
54
|
+
new Database(":memory:").close()
|
|
55
|
+
} catch (err) {
|
|
56
|
+
const msg = String(err?.message ?? err)
|
|
57
|
+
if (/NODE_MODULE_VERSION|was compiled against|Module version mismatch/i.test(msg)) {
|
|
58
|
+
needsRebuild = true
|
|
59
|
+
} else {
|
|
60
|
+
// Non-ABI failure (likely missing system libs); leave it for the user.
|
|
61
|
+
console.warn(`[agentx postinstall] better-sqlite3 load failed: ${msg.slice(0, 200)}`)
|
|
62
|
+
process.exit(0)
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (!needsRebuild) process.exit(0)
|
|
67
|
+
|
|
68
|
+
console.log(`[agentx postinstall] better-sqlite3 ABI mismatch — rebuilding for Node ${process.version} (modules ${process.versions.modules})...`)
|
|
69
|
+
const cmd = process.env.npm_execpath?.includes("pnpm") ? "pnpm rebuild better-sqlite3"
|
|
70
|
+
: process.env.npm_execpath?.includes("yarn") ? "yarn rebuild better-sqlite3"
|
|
71
|
+
: "npm rebuild better-sqlite3"
|
|
72
|
+
try {
|
|
73
|
+
execSync(cmd, { stdio: "inherit", cwd: repoRoot })
|
|
74
|
+
console.log("[agentx postinstall] better-sqlite3 rebuilt OK.")
|
|
75
|
+
} catch (err) {
|
|
76
|
+
// Don't fail install — operator gets a hint and can run it manually.
|
|
77
|
+
console.warn(`[agentx postinstall] rebuild failed; daemon will run with SQLite no-op until you fix it manually:`)
|
|
78
|
+
console.warn(` ${cmd}`)
|
|
79
|
+
process.exit(0)
|
|
80
|
+
}
|