agentix-cli 0.113.0 → 0.114.1
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/apps/mac-helper/Resources/AppIcon.png +0 -0
- package/apps/mac-voice/Resources/AppIcon.png +0 -0
- package/apps/mac-voice/Resources/Info.plist +1 -0
- package/apps/mac-voice/build.sh +10 -0
- package/dist/{App-5ZI475WY.js → App-Q4UAYL2V.js} +2 -2
- package/dist/{ChatApp-PLR7J5D3.js → ChatApp-6KGP57OP.js} +2 -2
- package/dist/{agent-GRX75ANW.js → agent-NGCPRTBH.js} +2 -2
- package/dist/{board-dashboard-EKJHQKPH.js → board-dashboard-7B2B564A.js} +553 -327
- package/dist/board-dashboard-7B2B564A.js.map +1 -0
- package/dist/{chunk-QAIYUMHW.js → chunk-4VDA4UM7.js} +2 -2
- package/dist/{chunk-74CQWVHE.js → chunk-A35RTVMM.js} +2 -2
- package/dist/{chunk-DG5I6PPM.js → chunk-BGG3ZSMW.js} +4 -2
- package/dist/chunk-BGG3ZSMW.js.map +1 -0
- package/dist/{chunk-X7E27RYS.js → chunk-C4S5XQKD.js} +2 -2
- package/dist/{chunk-RXQ2XCKP.js → chunk-CSLVHAYV.js} +2 -2
- package/dist/{chunk-A6B5JRUG.js → chunk-CYKPDILL.js} +2 -2
- package/dist/{chunk-B37WAFT5.js → chunk-DOQ6Y7GZ.js} +160 -160
- package/dist/chunk-DOQ6Y7GZ.js.map +1 -0
- package/dist/{chunk-QWI3FM5R.js → chunk-EVB23EHN.js} +2 -2
- package/dist/{chunk-XG2XVGSL.js → chunk-FDCTFT2Q.js} +2 -2
- package/dist/{chunk-MEXXGNNN.js → chunk-HG6QA6EU.js} +2 -2
- package/dist/{chunk-THRWE4Y3.js → chunk-J3GXZQXY.js} +2 -2
- package/dist/chunk-JVSTKXMI.js +6 -0
- package/dist/chunk-JVSTKXMI.js.map +1 -0
- package/dist/{chunk-V3C2BOYR.js → chunk-LP227A6L.js} +2 -2
- package/dist/{chunk-37EDS7SZ.js → chunk-QBWJGDKE.js} +5 -5
- package/dist/{chunk-N7HKIMMR.js → chunk-SCJ5ZXEN.js} +2 -2
- package/dist/{chunk-R43TE2XX.js → chunk-TZIPWZY6.js} +2 -2
- package/dist/{chunk-6FJ44HYY.js → chunk-UMFFIUU6.js} +2 -2
- package/dist/{chunk-QF377BDS.js → chunk-UZB5UO35.js} +2 -2
- package/dist/{chunk-4QCYSKPD.js → chunk-VGI4EZTP.js} +2 -2
- package/dist/{chunk-EEOQ5C5N.js → chunk-VTWSW4KB.js} +2 -2
- package/dist/{chunk-TXX5W3SH.js → chunk-Y5HBYSJW.js} +2 -2
- package/dist/{chunk-TXX5W3SH.js.map → chunk-Y5HBYSJW.js.map} +1 -1
- package/dist/{chunk-22LO3GBP.js → chunk-YLKCFW2R.js} +2 -2
- package/dist/{chunk-DVJW3IWI.js → chunk-Z6OPM7EH.js} +2 -2
- package/dist/{chunk-OZDSQVHU.js → chunk-ZXQYOSHP.js} +2 -2
- package/dist/cli.js +1 -1
- package/dist/{client-DBQ5QNJJ.js → client-QTXWO46T.js} +2 -2
- package/dist/{config-4T62LT27.js → config-4XGZYYQP.js} +2 -2
- package/dist/config-mutator-QLSA6JOY.js +2 -0
- package/dist/{doctor-M32NIOZH.js → doctor-DO262COW.js} +2 -2
- package/dist/index.d.ts +49 -0
- package/dist/index.js +1 -1
- package/dist/processes-5MP32QZT.js +2 -0
- package/dist/{program-7MG42JKO.js → program-4IMJEMDM.js} +14 -14
- package/dist/{promote-DAEKJVWN.js → promote-4VTXBVUC.js} +2 -2
- package/dist/{query-MCJYD66I.js → query-B32UDQJS.js} +2 -2
- package/dist/{registry-AYPPHZ3Z.js → registry-GY4X2GZX.js} +2 -2
- package/dist/{request-planner-7NKKLY7C.js → request-planner-RYWFGBGK.js} +2 -2
- package/dist/{review-candidates-QG2U5YID.js → review-candidates-TXX532LY.js} +2 -2
- package/dist/{routing-HBNYDAGE.js → routing-IT4YS6X3.js} +2 -2
- package/dist/schedule-tool-FJKH2ERY.js +2 -0
- package/dist/scheduler-ALPDUE4H.js +2 -0
- package/dist/{seat-PQ7AMPMT.js → seat-LK45MTVI.js} +2 -2
- package/dist/{select-J6TO7RED.js → select-4LAHUZ74.js} +2 -2
- package/dist/{set-enabled-WXRUHFWW.js → set-enabled-F2K56HQZ.js} +2 -2
- package/dist/{tool-I3OGQKAD.js → tool-J4VHHZWN.js} +2 -2
- package/dist/{tool-KN2QEPDO.js → tool-W3ODKQM2.js} +2 -2
- package/dist/wiki-LVYHDK2R.js +2 -0
- package/package.json +1 -1
- package/dist/board-dashboard-EKJHQKPH.js.map +0 -1
- package/dist/chunk-B37WAFT5.js.map +0 -1
- package/dist/chunk-DG5I6PPM.js.map +0 -1
- package/dist/chunk-JBE4H7PL.js +0 -6
- package/dist/chunk-JBE4H7PL.js.map +0 -1
- package/dist/config-mutator-ARUEJ6V5.js +0 -2
- package/dist/processes-W5VHBP7T.js +0 -2
- package/dist/schedule-tool-6S35TPJJ.js +0 -2
- package/dist/scheduler-KZ6VVZZA.js +0 -2
- package/dist/wiki-2IKLQ6PO.js +0 -2
- /package/dist/{App-5ZI475WY.js.map → App-Q4UAYL2V.js.map} +0 -0
- /package/dist/{ChatApp-PLR7J5D3.js.map → ChatApp-6KGP57OP.js.map} +0 -0
- /package/dist/{agent-GRX75ANW.js.map → agent-NGCPRTBH.js.map} +0 -0
- /package/dist/{chunk-QAIYUMHW.js.map → chunk-4VDA4UM7.js.map} +0 -0
- /package/dist/{chunk-74CQWVHE.js.map → chunk-A35RTVMM.js.map} +0 -0
- /package/dist/{chunk-X7E27RYS.js.map → chunk-C4S5XQKD.js.map} +0 -0
- /package/dist/{chunk-RXQ2XCKP.js.map → chunk-CSLVHAYV.js.map} +0 -0
- /package/dist/{chunk-A6B5JRUG.js.map → chunk-CYKPDILL.js.map} +0 -0
- /package/dist/{chunk-QWI3FM5R.js.map → chunk-EVB23EHN.js.map} +0 -0
- /package/dist/{chunk-XG2XVGSL.js.map → chunk-FDCTFT2Q.js.map} +0 -0
- /package/dist/{chunk-MEXXGNNN.js.map → chunk-HG6QA6EU.js.map} +0 -0
- /package/dist/{chunk-THRWE4Y3.js.map → chunk-J3GXZQXY.js.map} +0 -0
- /package/dist/{chunk-V3C2BOYR.js.map → chunk-LP227A6L.js.map} +0 -0
- /package/dist/{chunk-37EDS7SZ.js.map → chunk-QBWJGDKE.js.map} +0 -0
- /package/dist/{chunk-N7HKIMMR.js.map → chunk-SCJ5ZXEN.js.map} +0 -0
- /package/dist/{chunk-R43TE2XX.js.map → chunk-TZIPWZY6.js.map} +0 -0
- /package/dist/{chunk-6FJ44HYY.js.map → chunk-UMFFIUU6.js.map} +0 -0
- /package/dist/{chunk-QF377BDS.js.map → chunk-UZB5UO35.js.map} +0 -0
- /package/dist/{chunk-4QCYSKPD.js.map → chunk-VGI4EZTP.js.map} +0 -0
- /package/dist/{chunk-EEOQ5C5N.js.map → chunk-VTWSW4KB.js.map} +0 -0
- /package/dist/{chunk-22LO3GBP.js.map → chunk-YLKCFW2R.js.map} +0 -0
- /package/dist/{chunk-DVJW3IWI.js.map → chunk-Z6OPM7EH.js.map} +0 -0
- /package/dist/{chunk-OZDSQVHU.js.map → chunk-ZXQYOSHP.js.map} +0 -0
- /package/dist/{client-DBQ5QNJJ.js.map → client-QTXWO46T.js.map} +0 -0
- /package/dist/{config-4T62LT27.js.map → config-4XGZYYQP.js.map} +0 -0
- /package/dist/{config-mutator-ARUEJ6V5.js.map → config-mutator-QLSA6JOY.js.map} +0 -0
- /package/dist/{doctor-M32NIOZH.js.map → doctor-DO262COW.js.map} +0 -0
- /package/dist/{processes-W5VHBP7T.js.map → processes-5MP32QZT.js.map} +0 -0
- /package/dist/{program-7MG42JKO.js.map → program-4IMJEMDM.js.map} +0 -0
- /package/dist/{promote-DAEKJVWN.js.map → promote-4VTXBVUC.js.map} +0 -0
- /package/dist/{query-MCJYD66I.js.map → query-B32UDQJS.js.map} +0 -0
- /package/dist/{registry-AYPPHZ3Z.js.map → registry-GY4X2GZX.js.map} +0 -0
- /package/dist/{request-planner-7NKKLY7C.js.map → request-planner-RYWFGBGK.js.map} +0 -0
- /package/dist/{review-candidates-QG2U5YID.js.map → review-candidates-TXX532LY.js.map} +0 -0
- /package/dist/{routing-HBNYDAGE.js.map → routing-IT4YS6X3.js.map} +0 -0
- /package/dist/{schedule-tool-6S35TPJJ.js.map → schedule-tool-FJKH2ERY.js.map} +0 -0
- /package/dist/{scheduler-KZ6VVZZA.js.map → scheduler-ALPDUE4H.js.map} +0 -0
- /package/dist/{seat-PQ7AMPMT.js.map → seat-LK45MTVI.js.map} +0 -0
- /package/dist/{select-J6TO7RED.js.map → select-4LAHUZ74.js.map} +0 -0
- /package/dist/{set-enabled-WXRUHFWW.js.map → set-enabled-F2K56HQZ.js.map} +0 -0
- /package/dist/{tool-I3OGQKAD.js.map → tool-J4VHHZWN.js.map} +0 -0
- /package/dist/{tool-KN2QEPDO.js.map → tool-W3ODKQM2.js.map} +0 -0
- /package/dist/{wiki-2IKLQ6PO.js.map → wiki-LVYHDK2R.js.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{q as p}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{q as p}from"./chunk-VGI4EZTP.js";import{b as i,c as u,d as l,e as c}from"./chunk-CYKPDILL.js";import d from"cronstrue";var f=Intl.DateTimeFormat().resolvedOptions().timeZone,m=600,E='Try: "every morning at 9", "weekdays at 6pm", "every 15 minutes", "every monday at 10am", "1st of every month at noon", "daily at 9:30am", "every hour"',g=/^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/;function w(e){return g.test(e)}function x(e){try{return new Intl.DateTimeFormat("en-US",{timeZone:e}),!0}catch{return!1}}function $(e){return e?e.split(",").map(r=>r.trim().toLowerCase()).filter(r=>r==="log"||r==="notify"||r==="disable"):["log"]}function S(e){let r=[...e.onError??["log"]];e.notify&&!r.includes("notify")&&r.push("notify");let t={enabled:e.enabled??!0,schedule:e.parsed.cron,timezone:e.timezone||f,agent:e.agent,prompt:e.prompt,timeout:e.timeout??m,onError:r};return e.model&&(t.model=e.model),e.notify&&(t.notify=e.notify),e.createdBy&&(t.createdBy=e.createdBy),e.approval&&(t.approval=e.approval),t}function P(e){try{return d.toString(e,{use24HourTimeFormat:!1})}catch{return e}}function T(e,r,t=new Date){try{return p(e,t,r)}catch{return null}}function A(e,r){if(!e)return"unknown (no match within a year)";try{return`${new Intl.DateTimeFormat("en-GB",{timeZone:r,weekday:"short",day:"2-digit",month:"short",year:"numeric",hour:"2-digit",minute:"2-digit",hour12:!1}).format(e)} (${r})`}catch{return e.toISOString()}}function h(e){return e?.approval?.action==="create"}async function D(e,r={}){let t="",o=await i(n=>{let a=l(n,`crons.${e}`);if(!a)throw new Error(`cron "${e}" not found`);let s=a.approval;if(!s)throw new Error(`cron "${e}" has no pending request`);s.action==="create"?(delete a.approval,a.enabled=!0,t=`${e} approved and enabled (requested by ${s.requestedBy})`):(c(n,`crons.${e}`),t=`${e} deletion approved; job removed (requested by ${s.requestedBy})`)},{configPath:r.configPath,reload:r.reload});return o.success?{success:!0,message:t,result:o}:{success:!1,message:o.error||"failed",result:o}}async function I(e,r={}){let t="",o=await i(n=>{let a=l(n,`crons.${e}`);if(!a)throw new Error(`cron "${e}" not found`);let s=a.approval;if(!s)throw new Error(`cron "${e}" has no pending request`);s.action==="create"?(c(n,`crons.${e}`),t=`${e} rejected; pending job removed`):(delete a.approval,t=`${e} deletion rejected; job kept`)},{configPath:r.configPath,reload:r.reload});return o.success?{success:!0,message:t,result:o}:{success:!1,message:o.error||"failed",result:o}}async function O(e,r,t={}){return i(o=>{let n=l(o,`crons.${e}`);if(!n)throw new Error(`cron "${e}" not found`);if(r&&h(n))throw new Error(`cron "${e}" is awaiting approval; run \`agentx schedule approve ${e}\``);u(o,`crons.${e}.enabled`,r)},{configPath:t.configPath,reload:t.reload})}export{f as a,E as b,w as c,x as d,$ as e,S as f,P as g,T as h,A as i,h as j,D as k,I as l,O as m};
|
|
2
|
+
//# sourceMappingURL=chunk-YLKCFW2R.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as o}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as o}from"./chunk-TZIPWZY6.js";import{resolve as a}from"path";import{existsSync as d,readdirSync as c,mkdirSync as l}from"fs";var g=class{baseDir;agentsDir;mode;sharedStore;agentStores=new Map;log;constructor(t=a(process.cwd(),".agentx/wiki"),e=console.error.bind(console,"[wiki-hub]"),r="graph"){this.baseDir=t,this.agentsDir=a(t,"agents"),this.mode=r,this.log=e,l(this.agentsDir,{recursive:!0}),this.sharedStore=new o(t,e)}getMode(){return this.mode}getAgentWiki(t){let e=`${t}:${this.mode}`;if(this.agentStores.has(e))return this.agentStores.get(e);let r=a(this.agentsDir,t,this.mode),i=new o(r,this.log);return this.agentStores.set(e,i),i}getBaseDir(){return this.baseDir}getSharedStore(){return this.sharedStore}listAgents(){let t=new Set,e=this.sharedStore.listEntries();for(let r of e)t.add(r.agentId);if(d(this.agentsDir))for(let r of c(this.agentsDir))!r.startsWith("_")&&!r.startsWith(".")&&t.add(r);return[...t].sort()}getAgentEntries(t){return this.sharedStore.listEntries({agentId:t})}getUnabsorbedEntries(t){let e=this.getAgentWiki(t),r=this.getAgentEntries(t),i=new Set,n=e.rebuildIndex();for(let s of n.articles)if(s.sources)for(let h of s.sources)i.add(h);return r.filter(s=>!i.has(s.id))}summary(){return this.listAgents().map(e=>{let r=this.getAgentEntries(e),n=this.getAgentWiki(e).rebuildIndex(),s=this.getUnabsorbedEntries(e);return{agentId:e,totalEntries:r.length,totalArticles:n.articles.length,unabsorbed:s.length,articles:n.articles}})}};export{g as a};
|
|
2
|
+
//# sourceMappingURL=chunk-Z6OPM7EH.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{q as Xt}from"./chunk-S2GAEH2F.js";import{a as Re}from"./chunk-GTJIKXDB.js";import{a as re,b as w}from"./chunk-
|
|
1
|
+
import{q as Xt}from"./chunk-S2GAEH2F.js";import{a as Re}from"./chunk-GTJIKXDB.js";import{a as re,b as w}from"./chunk-BGG3ZSMW.js";import{t as Gt,u as Kt}from"./chunk-EVB23EHN.js";import{d as zt,e as qt}from"./chunk-AQASR6KR.js";import{b as Jt,c as Ie,e as B,f as H,h as Yt}from"./chunk-JIT5GPTX.js";import{A as Ae,b as ve,v as Lt,x as ne,y as $e}from"./chunk-J3GXZQXY.js";import{a as Mt,b as Nt}from"./chunk-SHEUCITK.js";import{a as Ut,b as Bt,d as Ht}from"./chunk-Y4CYQV7G.js";import{g as Ot,h as jt,i as Vt,k as Wt,l as Ft}from"./chunk-YLKCFW2R.js";import{q as Et}from"./chunk-VGI4EZTP.js";import{a as Pt,b as Tt}from"./chunk-CYKPDILL.js";import{A as Xr,ba as Se,ia as _t,ja as Ct,ma as Dt,n as te,o as vt,p as $t,q as qr,y as It,z as Rt}from"./chunk-Y5HBYSJW.js";import{f as At,n as Kr}from"./chunk-UIBUZ2N3.js";import{a as xe,h as Gr}from"./chunk-BRK6M6LA.js";import{existsSync as Jr,readdirSync as Yr,readFileSync as Zr,statSync as Qr}from"fs";import{resolve as ei}from"path";function Zt(t,e,n=Date.now(),r=7){let i=r*864e5,s=new Map;for(let o of e){let a=s.get(o.workflowId);a?a.push(o):s.set(o.workflowId,[o])}return t.map(o=>{let a=s.get(o.id)??[],c=a.filter(f=>n-f.at<=i),l=a.filter(f=>n-f.at>i&&n-f.at<=i*2),u=c.filter(f=>f.status==="failed").length,d=a.filter(f=>f.status==="paused").length,p=a.length?Math.max(...a.map(f=>f.at)):null,g=a.length?l.length>0&&c.length===0?"dormant":c.length>0&&u*2>=c.length?"failing":c.length>0?"active":"quiet":"never";return{id:o.id,name:o.name||o.id,state:g,lastRunAt:p,recent:c.length,prior:l.length,failed:u,paused:d}}).sort((o,a)=>{let c={dormant:0,failing:1,active:2,quiet:3,never:4};return c[o.state]-c[a.state]||(a.lastRunAt??0)-(o.lastRunAt??0)})}var ie=new Map;function _a(t,e=1e3){if(!Jr(t))return[];let n=Yr(t).filter(s=>s.endsWith(".jsonl")).map(s=>{let o=ei(t,s);return{path:o,mtime:Qr(o).mtimeMs}}).sort((s,o)=>o.mtime-s.mtime).slice(0,e),r=new Set(n.map(s=>s.path));for(let s of ie.keys())r.has(s)||ie.delete(s);let i=[];for(let{path:s,mtime:o}of n){let a=ie.get(s);if(a&&a.mtime===o){a.summary&&i.push(a.summary);continue}let c=ti(s,o);ie.set(s,{mtime:o,summary:c}),c&&i.push(c)}return i}function ti(t,e){try{let n=Zr(t,"utf-8").split(`
|
|
2
2
|
`).filter(Boolean);if(!n.length)return null;let r=JSON.parse(n[0]),i=r.run?.workflowId;if(!i)return null;let s=r.run?.status??"unknown";for(let o=n.length-1;o>=0;o--){let a=JSON.parse(n[o]),c=a.status??a.run?.status;if(c){s=c;break}}return{workflowId:i,status:s,at:e}}catch{return null}}var ni={failStreak:3,disabledDays:30,missedFires:2,graceMs:15*6e4},k={routines:200,summary:160,filters:6,filterValue:60,text:120},ri=(t,e,n)=>{try{return Et(t,e,n)}catch{return null}},Qt=864e5;function Ta(t){let e=t.now??Date.now(),n={...ni,...t.thresholds},r=t.nextFire??ri,i=[];for(let a of t.crons){let c=t.cronRuns.get(a.id)??[],l=a.timezone||"UTC",u=c.map(g=>({at:Date.parse(g.startedAt),status:g.status})),d=c[0],p={id:`cron:${a.id}`,source:"cron",kind:"schedule",name:$(a.id,k.text),trigger:{schedule:$(a.schedule,k.text),timezone:l},agent:a.agent||null,enabled:a.enabled,state:a.enabled?"enabled":"disabled",nextRunAt:a.enabled?_e(a.nextRun)??_e(r(a.schedule,new Date(e),l)):null,lastRun:d?{at:d.startedAt,status:d.status,summary:li(d.status==="success"?void 0:d.errorSummary,k.summary)}:null,lastSuccessAt:c.find(g=>g.status==="success")?.startedAt??null,consecutiveFailures:en(u),sampledRuns:c.length,flags:[],attention:null};p.flags=tn(p,u,a.schedule,l,null,e,n,r),i.push(nn(p))}let s=new Map(Zt(t.workflows.map(a=>({id:a.id,name:a.title})),t.workflowRuns,e).map(a=>[a.id,a])),o=new Map;for(let a of t.workflowRuns){let c=o.get(a.workflowId);c?c.push(a):o.set(a.workflowId,[a])}for(let a of t.workflows){let c=a.nodes.find(_=>_.type.startsWith("trigger."));if(!c||c.type!=="trigger.cron"&&c.type!=="trigger.hook")continue;let l=c.config??{},u=a.state||"active",d=u==="active",p=(o.get(a.id)??[]).slice().sort((_,ke)=>ke.at-_.at),g=p.map(_=>({at:_.at,status:oi(_.status)})),f=g[0],m=c.type==="trigger.cron",y=typeof l.spec=="string"?l.spec:"",P=typeof l.timezone=="string"?l.timezone:"UTC",j={id:`workflow:${a.id}`,source:"workflow",kind:m?"schedule":"event",name:$(a.title||a.id,k.text),trigger:m?{schedule:$(y,k.text),timezone:P}:{event:$(typeof l.event=="string"?l.event:"",k.text),filters:ci(l.filter,a)},agent:ai(a),enabled:d,state:u,nextRunAt:m&&d&&y?_e(r(y,new Date(e),P)):null,lastRun:f?{at:new Date(f.at).toISOString(),status:f.status}:null,lastSuccessAt:(()=>{let _=g.find(ke=>ke.status==="success");return _?new Date(_.at).toISOString():null})(),consecutiveFailures:en(g),sampledRuns:p.length,flags:[],attention:null},ee=Date.parse(a.updated||a.created||"");j.flags=m?tn(j,g,y,P,Number.isFinite(ee)?ee:null,e,n,r):ii(j,s.get(a.id)?.state==="dormant",Number.isFinite(ee)?ee:null,e,n),i.push(nn(j))}return i.sort(si).slice(0,k.routines)}function en(t){let e=0;for(let n of t)if(!(n.status==="running"||n.status==="paused"||n.status==="unknown"))if(n.status==="failed"||n.status==="timeout")e++;else break;return e}function tn(t,e,n,r,i,s,o,a){let c=[],l=e.length?e[0].at:null;if(!t.enabled){let p=sn(l,i,s,o);return p&&c.push(p),c}if(t.consecutiveFailures>=o.failStreak&&c.push({reason:"failing",detail:`${t.consecutiveFailures} failed attempts in a row`}),l===null)return c.push({reason:"never-ran",detail:"No persisted attempt"}),c;let u=new Date(l),d=null;for(let p=0;p<o.missedFires&&(d=a(n,u,r),!!d);p++)u=d;return d&&s>d.getTime()+o.graceMs&&c.push({reason:"overdue",detail:`No attempt since ${new Date(l).toISOString()}; ${o.missedFires} scheduled fires missed`}),c}function ii(t,e,n,r,i){let s=[],o=t.lastRun?Date.parse(t.lastRun.at):null;if(!t.enabled){let a=sn(o,n,r,i);return a&&s.push(a),s}return t.consecutiveFailures>=i.failStreak&&s.push({reason:"failing",detail:`${t.consecutiveFailures} failed runs in a row`}),o===null?s.push({reason:"never-ran",detail:"No run recorded for this trigger"}):e&&s.push({reason:"dormant",detail:"Fired in the prior week, silent in the last one"}),s}function sn(t,e,n,r){let i=Math.max(t??0,e??0);return i&&n-i<r.disabledDays*Qt?null:{reason:"disabled-long",detail:i?`Disabled; no activity for ${Math.floor((n-i)/Qt)} days`:"Disabled and never ran"}}function nn(t){let e=new Set(t.flags.map(n=>n.reason));return t.attention=e.has("failing")?"critical":e.has("overdue")||e.has("dormant")||e.has("never-ran")?"warning":e.has("disabled-long")?"info":null,t}var rn={critical:0,warning:1,info:2};function si(t,e){let n=t.attention?rn[t.attention]:3,r=e.attention?rn[e.attention]:3;return n-r||Number(e.enabled)-Number(t.enabled)||t.name.localeCompare(e.name)}function oi(t){switch(t){case"completed":case"ok":return"success";case"failed":return"failed";case"timeout":return"timeout";case"canceled":return"canceled";case"running":return"running";case"paused":return"paused";default:return"unknown"}}function ai(t){if(t.ownerAgent)return $(t.ownerAgent,k.text);let e=t.nodes.find(n=>n.type==="agent"&&typeof n.config?.agentId=="string"&&n.config.agentId);return e?$(String(e.config.agentId),k.text):null}function ci(t,e){let n=[],r=e?.project;if(r&&n.push($(`project=${r}`,k.filterValue)),t&&typeof t=="object"&&!Array.isArray(t))for(let[i,s]of Object.entries(t)){let o=Array.isArray(s)?s.map(String):s==null?[]:[String(s)];o.length&&n.push($(`${i}=${o.join(",")}`,k.filterValue))}return n.slice(0,k.filters)}function _e(t){if(!t)return null;let e=t instanceof Date?t:new Date(t);return Number.isFinite(e.getTime())?e.toISOString():null}function $(t,e){return t.length<=e?t:t.slice(0,e-3)+"..."}function li(t,e){return t===void 0?void 0:$(t,e)}import{existsSync as ae,readdirSync as Ri,readFileSync as _i}from"fs";import{resolve as T}from"path";import{randomBytes as cn}from"crypto";import{existsSync as di,mkdirSync as pi,readdirSync as gi,readFileSync as fi,renameSync as ln,unlinkSync as mi,writeFileSync as hi}from"fs";import{resolve as un}from"path";function on(t){return[...t.account?["--account",t.account]:[],...t.store?["--store",t.store]:[]]}var ui=t=>t.trim().split(`
|
|
3
3
|
`).pop()?.slice(0,300)||"no output";async function an(t,e,n,r=Re){let i=await r(t.bin,[...on(t),"send","text","--to",e,"--message",n,"--no-preview"],{timeoutMs:6e4});return i.code===0?{ok:!0}:{ok:!1,error:`wacli send failed: ${ui(i.stderr||i.stdout)}`}}async function Ma(t,e,n,r,i=Re){return(await i(t.bin,[...on(t),"--read-only","media","download","--chat",e,"--id",n,"--output",r],{timeoutMs:12e4})).code===0}var yi=2e3,bi=t=>an(t.wacli,t.to,t.text);function Ce(t){return un(t,".agentx","whatsapp-triage","drafts")}var wi=t=>/^[a-z0-9-]{8,64}$/.test(t),se=(t,e)=>un(Ce(t),`${e}.json`);function dn(t,e){pi(Ce(t),{recursive:!0});let n=se(t,e.id),r=`${n}.${process.pid}.tmp`;hi(r,JSON.stringify(e,null,2)+`
|
|
4
4
|
`,{mode:384}),ln(r,n)}function Fa(t,e,n=Date.now()){let r=e.text.trim().slice(0,yi);if(!r)throw new Error("empty draft");let i={...e,text:r,id:`${n.toString(36)}-${cn(4).toString("hex")}`,status:"pending",created_at:new Date(n).toISOString()};return dn(t,i),i}function oe(t,e){if(!wi(e))return null;try{return JSON.parse(fi(se(t,e),"utf-8"))}catch{return null}}function pn(t,e){let n=Ce(t);return di(n)?gi(n).filter(r=>r.endsWith(".json")).map(r=>oe(t,r.slice(0,-5))).filter(r=>!!r&&(!e||r.status===e)).sort((r,i)=>r.created_at.localeCompare(i.created_at)):[]}async function gn(t,e,n,r={}){let i=oe(t,e);if(!i||i.status!=="pending")return{ok:!1,error:`no reply draft "${e}" is waiting`};let s=`${se(t,e)}.${process.pid}.${cn(3).toString("hex")}.claim`;try{ln(se(t,e),s)}catch{return{ok:!1,error:`reply draft "${e}" is already being decided`}}let o={...i,decided_by:r.by??"operator",decided_at:new Date(r.now??Date.now()).toISOString()};if(n==="no")o.status="rejected";else{let a=await(r.send??bi)(i).catch(c=>({ok:!1,error:String(c?.message??c)}));a.ok?o.status="sent":(o.status="failed",o.error=a.error)}dn(t,o);try{mi(s)}catch{}return o.status==="failed"?{ok:!1,error:o.error??"send failed"}:{ok:!0,draft:o}}import{mkdirSync as ki,readFileSync as xi,renameSync as Si,writeFileSync as vi}from"fs";import{resolve as $i}from"path";function fn(t){return $i(Ie(t),"_state.json")}function A(t){try{let e=JSON.parse(xi(fn(t),"utf-8"));return{snoozed:e&&typeof e.snoozed=="object"&&e.snoozed?e.snoozed:{},...typeof e?.lastDigest=="string"?{lastDigest:e.lastDigest}:{},...e?.popped&&typeof e.popped=="object"?{popped:e.popped}:{},...typeof e?.passAt=="string"?{passAt:e.passAt}:{},...Array.isArray(e?.wanted)?{wanted:e.wanted.filter(n=>typeof n=="string")}:{}}}catch{return{snoozed:{}}}}function z(t,e){ki(Ie(t),{recursive:!0});let n=fn(t),r=`${n}.${process.pid}.tmp`;vi(r,JSON.stringify(e,null,2)+`
|
|
@@ -479,4 +479,4 @@ Document the arguments, commands, or files the skill expects. Example:
|
|
|
479
479
|
claude-code ${St(t)} --arg value
|
|
480
480
|
\`\`\`
|
|
481
481
|
`}Dt();var Ur={maxPixels:12e5,timeoutMs:5e3,intervalMs:100,changeThreshold:.015,stableMs:400,regions:{},buffer:{enabled:!1,seconds:10,fps:2,region:"screen",maxPixels:3e5}};function Br(t){return{...Ur,...t??{},regions:{...t?.regions??{}},buffer:{...Ur.buffer,...t?.buffer??{}}}}function Ju(t){try{return Br(Ct(t).screen)}catch{return Br(void 0)}}var Aa=/^[a-z][\w-]*$/,Hr=["window","screen","menubar","notifications"];function Q(t,e,n,r){let i=Number(t);if(t===""||t===null||!Number.isFinite(i)||!n(i))throw new Error(`${e} must be ${r}`);return i}var we=(t,e)=>Q(t,e,n=>Number.isInteger(n)&&n>0,"a whole number above 0");function zr(t){let e=typeof t=="string"?t.split(",").map(Number):[t?.x,t?.y,t?.width,t?.height].map(Number);if(e.length!==4||!e.every(Number.isFinite)||e[2]<=0||e[3]<=0)throw new Error("a region is x,y,width,height in screen points, with width and height above 0");return{x:e[0],y:e[1],width:e[2],height:e[3]}}function Yu(t,e){let n={...t??{}};if("maxPixels"in e&&(n.maxPixels=we(e.maxPixels,"maxPixels")),"timeoutMs"in e&&(n.timeoutMs=we(e.timeoutMs,"timeoutMs")),"intervalMs"in e&&(n.intervalMs=we(e.intervalMs,"intervalMs")),"stableMs"in e&&(n.stableMs=Q(e.stableMs,"stableMs",i=>Number.isInteger(i)&&i>=0,"a whole number, 0 or more")),"changeThreshold"in e&&(n.changeThreshold=Q(e.changeThreshold,"changeThreshold",i=>i>=0&&i<=1,"between 0 and 1")),e.regions&&typeof e.regions=="object"){let i={...n.regions??{}};for(let[s,o]of Object.entries(e.regions)){if(!Aa.test(s))throw new Error(`region name "${s}" must be lowercase letters, digits, - or _`);o===null?delete i[s]:i[s]=zr(o)}n.regions=i}if(e.buffer&&typeof e.buffer=="object"){let i=e.buffer,s={...n.buffer??{}};"enabled"in i&&(s.enabled=!!i.enabled),"seconds"in i&&(s.seconds=Q(i.seconds,"buffer.seconds",o=>o>0&&o<=120,"above 0 and at most 120")),"fps"in i&&(s.fps=Q(i.fps,"buffer.fps",o=>o>0&&o<=10,"above 0 and at most 10")),"maxPixels"in i&&(s.maxPixels=we(i.maxPixels,"buffer.maxPixels")),"region"in i&&(s.region=String(i.region).trim()),n.buffer=s}let r=n.buffer?.region;if(r!==void 0&&!Hr.includes(r)&&!n.regions?.[r])try{zr(r)}catch{throw new Error(`buffer.region "${r}" is not a region \u2014 use ${[...Hr,...Object.keys(n.regions??{})].join(", ")}, or x,y,w,h`)}return n}export{Zt as a,_a as b,tt as c,Bs as d,Hs as e,cl as f,ll as g,ul as h,rr as i,pl as j,fl as k,E as l,ir as m,k as n,Ta as o,Ma as p,bi as q,Fa as r,gn as s,A as t,qa as u,Ga as v,bn as w,Qa as x,q as y,gc as z,vn as A,hl as B,nt as C,sr as D,wl as E,Sl as F,wr as G,Xl as H,Jl as I,nu as J,Uo as K,ru as L,mc as M,hc as N,yc as O,bc as P,wc as Q,kc as R,Sc as S,vc as T,Tc as U,Oe as V,Ec as W,Lc as X,G as Y,K as Z,Ko as _,pu as $,gu as aa,fu as ba,mu as ca,ut as da,hu as ea,We as fa,Fe as ga,ge as ha,ls as ia,ds as ja,Vc as ka,Be as la,He as ma,ps as na,gs as oa,Bn as pa,Gn as qa,Wc as ra,hs as sa,Fc as ta,$s as ua,Rs as va,ze as wa,Cs as xa,Kn as ya,L as za,Pr as Aa,Tr as Ba,Er as Ca,Su as Da,ra as Ea,Mr as Fa,Nr as Ga,Eu as Ha,Lu as Ia,wa as Ja,Mu as Ka,jr as La,fe as Ma,Qc as Na,er as Oa,qe as Pa,Qe as Qa,ol as Ra,Vu as Sa,Wu as Ta,Fu as Ua,Uu as Va,Bu as Wa,Hu as Xa,zu as Ya,qu as Za,Gu as _a,Ur as $a,Br as ab,Ju as bb,Hr as cb,Yu as db};
|
|
482
|
-
//# sourceMappingURL=chunk-
|
|
482
|
+
//# sourceMappingURL=chunk-ZXQYOSHP.js.map
|
package/dist/cli.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{b as o}from"./chunk-JXF54PT7.js";import"./chunk-QIJLFPWE.js";var s=o(process.versions.node);s&&(console.error(s),process.exit(1));var{buildProgram:r}=await import("./program-
|
|
2
|
+
import{b as o}from"./chunk-JXF54PT7.js";import"./chunk-QIJLFPWE.js";var s=o(process.versions.node);s&&(console.error(s),process.exit(1));var{buildProgram:r}=await import("./program-4IMJEMDM.js"),{installCliSignalExit:i}=await import("./signal-exit-WL7G3EEZ.js");i();var e=await r();process.argv.slice(2).length===0?e.outputHelp():e.parse();
|
|
3
3
|
//# sourceMappingURL=cli.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a,b,c,d,e,f,g}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=client-
|
|
1
|
+
import{a,b,c,d,e,f,g}from"./chunk-C4S5XQKD.js";import"./chunk-Y5HBYSJW.js";import"./chunk-UIBUZ2N3.js";import"./chunk-BRK6M6LA.js";import"./chunk-2QNT5JDS.js";import"./chunk-QIJLFPWE.js";export{b as fetchAgents,d as fetchCrons,c as fetchProcesses,e as killProcess,a as resolveConn,f as sendTask,g as streamTask};
|
|
2
|
+
//# sourceMappingURL=client-QTXWO46T.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{$ as c,Z as a,_ as b,aa as d,ba as e,ca as f,da as g,ea as h,fa as i,ga as j,ha as k,ia as l,ja as m,ka as n,ma as o}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=config-
|
|
1
|
+
import{$ as c,Z as a,_ as b,aa as d,ba as e,ca as f,da as g,ea as h,fa as i,ga as j,ha as k,ia as l,ja as m,ka as n,ma as o}from"./chunk-Y5HBYSJW.js";import"./chunk-UIBUZ2N3.js";import"./chunk-BRK6M6LA.js";import"./chunk-2QNT5JDS.js";import"./chunk-QIJLFPWE.js";o();export{a as INTEGRATION_KINDS,j as approvalsConfigSchema,d as callsSchema,c as cameraBotSchema,k as daemonConfigSchema,b as eventSubscriptionSchema,l as expandEnvVars,m as loadDaemonConfig,h as membersConfigSchema,g as peopleConfigSchema,f as personSchema,i as requestStatusConfigSchema,e as requestsConfigSchema,n as validateWorkspaces};
|
|
2
|
+
//# sourceMappingURL=config-4XGZYYQP.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a,b,c,d,e}from"./chunk-CYKPDILL.js";import"./chunk-Y5HBYSJW.js";import"./chunk-UIBUZ2N3.js";import"./chunk-BRK6M6LA.js";import"./chunk-2QNT5JDS.js";import"./chunk-QIJLFPWE.js";export{b as applyConfigMutation,a as findConfigPath,d as getAtPath,c as setAtPath,e as unsetAtPath};
|
|
2
|
+
//# sourceMappingURL=config-mutator-QLSA6JOY.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as a,c as b,d as c,e as d,f as e}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=doctor-
|
|
1
|
+
import{b as a,c as b,d as c,e as d,f as e}from"./chunk-LP227A6L.js";import"./chunk-S2GAEH2F.js";import"./chunk-JXF54PT7.js";import"./chunk-Y5HBYSJW.js";import"./chunk-UIBUZ2N3.js";import"./chunk-BRK6M6LA.js";import"./chunk-2QNT5JDS.js";import"./chunk-QIJLFPWE.js";export{e as daemonVoiceCheck,b as doctor,a as runDoctorChecks,c as runNotificationChecks,d as runReminderChecks};
|
|
2
|
+
//# sourceMappingURL=doctor-DO262COW.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -3512,6 +3512,13 @@ declare const daemonConfigSchema: z.ZodObject<{
|
|
|
3512
3512
|
height: z.ZodDefault<z.ZodNumber>;
|
|
3513
3513
|
frameRate: z.ZodDefault<z.ZodNumber>;
|
|
3514
3514
|
maxSeconds: z.ZodDefault<z.ZodNumber>;
|
|
3515
|
+
/** Ask the watching agent by voice: hold or tap Talk (#687). Off: the
|
|
3516
|
+
* phone shows the text box only. The microphone opens only while
|
|
3517
|
+
* you talk and is never part of the share. */
|
|
3518
|
+
voiceInput: z.ZodDefault<z.ZodBoolean>;
|
|
3519
|
+
/** Say the watching agent's answers aloud on the phone, in the
|
|
3520
|
+
* agent's voice or the phone's own. The owner can mute it there. */
|
|
3521
|
+
speakAnswers: z.ZodDefault<z.ZodBoolean>;
|
|
3515
3522
|
/** An agent watching the phone camera. The bot keeps only the newest
|
|
3516
3523
|
* frame; the agent gets one when asked, and every
|
|
3517
3524
|
* frameIntervalSeconds when that is set. */
|
|
@@ -3529,16 +3536,26 @@ declare const daemonConfigSchema: z.ZodObject<{
|
|
|
3529
3536
|
/** Keep the frame files in the agent's workspace after the share ends.
|
|
3530
3537
|
* Off: every frame is deleted when the share ends. */
|
|
3531
3538
|
keepFrames: z.ZodDefault<z.ZodBoolean>;
|
|
3539
|
+
/** "Keep watching" on the phone (#687): for a task that needs a stream
|
|
3540
|
+
* ("watch while I do this"), the agent gets a frame every this many
|
|
3541
|
+
* seconds, only while the owner has it on. */
|
|
3542
|
+
streamFrameSeconds: z.ZodDefault<z.ZodNumber>;
|
|
3543
|
+
/** "Keep watching" stops by itself after this many seconds. */
|
|
3544
|
+
streamMaxSeconds: z.ZodDefault<z.ZodNumber>;
|
|
3532
3545
|
}, "strip", z.ZodTypeAny, {
|
|
3533
3546
|
frameIntervalSeconds: number;
|
|
3534
3547
|
maxSessionMinutes: number;
|
|
3535
3548
|
maxFrameEdge: number;
|
|
3536
3549
|
keepFrames: boolean;
|
|
3550
|
+
streamFrameSeconds: number;
|
|
3551
|
+
streamMaxSeconds: number;
|
|
3537
3552
|
}, {
|
|
3538
3553
|
frameIntervalSeconds?: number | undefined;
|
|
3539
3554
|
maxSessionMinutes?: number | undefined;
|
|
3540
3555
|
maxFrameEdge?: number | undefined;
|
|
3541
3556
|
keepFrames?: boolean | undefined;
|
|
3557
|
+
streamFrameSeconds?: number | undefined;
|
|
3558
|
+
streamMaxSeconds?: number | undefined;
|
|
3542
3559
|
}>>;
|
|
3543
3560
|
}, "strip", z.ZodTypeAny, {
|
|
3544
3561
|
bot: {
|
|
@@ -3546,22 +3563,30 @@ declare const daemonConfigSchema: z.ZodObject<{
|
|
|
3546
3563
|
maxSessionMinutes: number;
|
|
3547
3564
|
maxFrameEdge: number;
|
|
3548
3565
|
keepFrames: boolean;
|
|
3566
|
+
streamFrameSeconds: number;
|
|
3567
|
+
streamMaxSeconds: number;
|
|
3549
3568
|
};
|
|
3550
3569
|
width: number;
|
|
3551
3570
|
height: number;
|
|
3552
3571
|
frameRate: number;
|
|
3553
3572
|
maxSeconds: number;
|
|
3573
|
+
voiceInput: boolean;
|
|
3574
|
+
speakAnswers: boolean;
|
|
3554
3575
|
}, {
|
|
3555
3576
|
bot?: {
|
|
3556
3577
|
frameIntervalSeconds?: number | undefined;
|
|
3557
3578
|
maxSessionMinutes?: number | undefined;
|
|
3558
3579
|
maxFrameEdge?: number | undefined;
|
|
3559
3580
|
keepFrames?: boolean | undefined;
|
|
3581
|
+
streamFrameSeconds?: number | undefined;
|
|
3582
|
+
streamMaxSeconds?: number | undefined;
|
|
3560
3583
|
} | undefined;
|
|
3561
3584
|
width?: number | undefined;
|
|
3562
3585
|
height?: number | undefined;
|
|
3563
3586
|
frameRate?: number | undefined;
|
|
3564
3587
|
maxSeconds?: number | undefined;
|
|
3588
|
+
voiceInput?: boolean | undefined;
|
|
3589
|
+
speakAnswers?: boolean | undefined;
|
|
3565
3590
|
}>>;
|
|
3566
3591
|
}, "strip", z.ZodTypeAny, {
|
|
3567
3592
|
enabled: boolean;
|
|
@@ -3571,11 +3596,15 @@ declare const daemonConfigSchema: z.ZodObject<{
|
|
|
3571
3596
|
maxSessionMinutes: number;
|
|
3572
3597
|
maxFrameEdge: number;
|
|
3573
3598
|
keepFrames: boolean;
|
|
3599
|
+
streamFrameSeconds: number;
|
|
3600
|
+
streamMaxSeconds: number;
|
|
3574
3601
|
};
|
|
3575
3602
|
width: number;
|
|
3576
3603
|
height: number;
|
|
3577
3604
|
frameRate: number;
|
|
3578
3605
|
maxSeconds: number;
|
|
3606
|
+
voiceInput: boolean;
|
|
3607
|
+
speakAnswers: boolean;
|
|
3579
3608
|
};
|
|
3580
3609
|
stunServers: string[];
|
|
3581
3610
|
turnServers: {
|
|
@@ -3612,11 +3641,15 @@ declare const daemonConfigSchema: z.ZodObject<{
|
|
|
3612
3641
|
maxSessionMinutes?: number | undefined;
|
|
3613
3642
|
maxFrameEdge?: number | undefined;
|
|
3614
3643
|
keepFrames?: boolean | undefined;
|
|
3644
|
+
streamFrameSeconds?: number | undefined;
|
|
3645
|
+
streamMaxSeconds?: number | undefined;
|
|
3615
3646
|
} | undefined;
|
|
3616
3647
|
width?: number | undefined;
|
|
3617
3648
|
height?: number | undefined;
|
|
3618
3649
|
frameRate?: number | undefined;
|
|
3619
3650
|
maxSeconds?: number | undefined;
|
|
3651
|
+
voiceInput?: boolean | undefined;
|
|
3652
|
+
speakAnswers?: boolean | undefined;
|
|
3620
3653
|
} | undefined;
|
|
3621
3654
|
stunServers?: string[] | undefined;
|
|
3622
3655
|
turnServers?: {
|
|
@@ -3752,11 +3785,15 @@ declare const daemonConfigSchema: z.ZodObject<{
|
|
|
3752
3785
|
maxSessionMinutes: number;
|
|
3753
3786
|
maxFrameEdge: number;
|
|
3754
3787
|
keepFrames: boolean;
|
|
3788
|
+
streamFrameSeconds: number;
|
|
3789
|
+
streamMaxSeconds: number;
|
|
3755
3790
|
};
|
|
3756
3791
|
width: number;
|
|
3757
3792
|
height: number;
|
|
3758
3793
|
frameRate: number;
|
|
3759
3794
|
maxSeconds: number;
|
|
3795
|
+
voiceInput: boolean;
|
|
3796
|
+
speakAnswers: boolean;
|
|
3760
3797
|
};
|
|
3761
3798
|
stunServers: string[];
|
|
3762
3799
|
turnServers: {
|
|
@@ -3900,11 +3937,15 @@ declare const daemonConfigSchema: z.ZodObject<{
|
|
|
3900
3937
|
maxSessionMinutes?: number | undefined;
|
|
3901
3938
|
maxFrameEdge?: number | undefined;
|
|
3902
3939
|
keepFrames?: boolean | undefined;
|
|
3940
|
+
streamFrameSeconds?: number | undefined;
|
|
3941
|
+
streamMaxSeconds?: number | undefined;
|
|
3903
3942
|
} | undefined;
|
|
3904
3943
|
width?: number | undefined;
|
|
3905
3944
|
height?: number | undefined;
|
|
3906
3945
|
frameRate?: number | undefined;
|
|
3907
3946
|
maxSeconds?: number | undefined;
|
|
3947
|
+
voiceInput?: boolean | undefined;
|
|
3948
|
+
speakAnswers?: boolean | undefined;
|
|
3908
3949
|
} | undefined;
|
|
3909
3950
|
stunServers?: string[] | undefined;
|
|
3910
3951
|
turnServers?: {
|
|
@@ -7253,11 +7294,15 @@ declare const daemonConfigSchema: z.ZodObject<{
|
|
|
7253
7294
|
maxSessionMinutes: number;
|
|
7254
7295
|
maxFrameEdge: number;
|
|
7255
7296
|
keepFrames: boolean;
|
|
7297
|
+
streamFrameSeconds: number;
|
|
7298
|
+
streamMaxSeconds: number;
|
|
7256
7299
|
};
|
|
7257
7300
|
width: number;
|
|
7258
7301
|
height: number;
|
|
7259
7302
|
frameRate: number;
|
|
7260
7303
|
maxSeconds: number;
|
|
7304
|
+
voiceInput: boolean;
|
|
7305
|
+
speakAnswers: boolean;
|
|
7261
7306
|
};
|
|
7262
7307
|
stunServers: string[];
|
|
7263
7308
|
turnServers: {
|
|
@@ -8149,11 +8194,15 @@ declare const daemonConfigSchema: z.ZodObject<{
|
|
|
8149
8194
|
maxSessionMinutes?: number | undefined;
|
|
8150
8195
|
maxFrameEdge?: number | undefined;
|
|
8151
8196
|
keepFrames?: boolean | undefined;
|
|
8197
|
+
streamFrameSeconds?: number | undefined;
|
|
8198
|
+
streamMaxSeconds?: number | undefined;
|
|
8152
8199
|
} | undefined;
|
|
8153
8200
|
width?: number | undefined;
|
|
8154
8201
|
height?: number | undefined;
|
|
8155
8202
|
frameRate?: number | undefined;
|
|
8156
8203
|
maxSeconds?: number | undefined;
|
|
8204
|
+
voiceInput?: boolean | undefined;
|
|
8205
|
+
speakAnswers?: boolean | undefined;
|
|
8157
8206
|
} | undefined;
|
|
8158
8207
|
stunServers?: string[] | undefined;
|
|
8159
8208
|
turnServers?: {
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as St,b as kt,c as vt,d as xt,e as $t,f as Ct,g as Pt,h as bt,ia as Tt,ja as Mt}from"./chunk-
|
|
1
|
+
import{a as St,b as kt,c as vt,d as xt,e as $t,f as Ct,g as Pt,h as bt,ia as Tt,ja as Mt}from"./chunk-DOQ6Y7GZ.js";import"./chunk-ZXQYOSHP.js";import"./chunk-VTWSW4KB.js";import"./chunk-S2GAEH2F.js";import"./chunk-GTJIKXDB.js";import"./chunk-BGG3ZSMW.js";import"./chunk-ZVP6GB4G.js";import"./chunk-PPUN7YHA.js";import"./chunk-VZLIBDLH.js";import"./chunk-EKJG63EJ.js";import"./chunk-EVB23EHN.js";import"./chunk-2AXFYDWF.js";import"./chunk-AQASR6KR.js";import"./chunk-ACFQBLPX.js";import"./chunk-LQE73AZR.js";import"./chunk-2D3RYIDU.js";import"./chunk-QLWGLRT5.js";import"./chunk-JIT5GPTX.js";import{ca as yt,m as lt,n as ct,o as dt,p as mt,q as pt}from"./chunk-QBWJGDKE.js";import"./chunk-J3GXZQXY.js";import"./chunk-GLQLCBJS.js";import"./chunk-6W74CHNW.js";import{a as L}from"./chunk-UG2OF2EI.js";import{A as D,B as z,C as V,a as ye,b as we,c as Se,d as Ae,e as Ie,f as Oe,g as Ne,h as He,i as je,j as Ue,k as _e,l as I,m as q,n as Be,o as qe,p as Ye,q as O,r as ze,s as Ve,t as Xe,u as x,v as Y,w as Qe,x as Ze,y as et,z as wt}from"./chunk-UZB5UO35.js";import{a as B,b as M,c as F}from"./chunk-SFQUP3BP.js";import"./chunk-LLNPKE7H.js";import"./chunk-SHEUCITK.js";import"./chunk-Y4CYQV7G.js";import"./chunk-YLKCFW2R.js";import"./chunk-GV7S5BAX.js";import"./chunk-SZDACK6O.js";import"./chunk-76Z4VHDX.js";import"./chunk-W4YR2RO2.js";import"./chunk-AFRHKA7B.js";import{s as ut}from"./chunk-VGI4EZTP.js";import"./chunk-CYKPDILL.js";import"./chunk-VWTBHLMX.js";import"./chunk-Z6OPM7EH.js";import{a as ht}from"./chunk-TZIPWZY6.js";import"./chunk-36AXN6ZB.js";import"./chunk-KA2UIZXG.js";import"./chunk-GQ76J72O.js";import"./chunk-ILEC3IAV.js";import"./chunk-J3SOEFRE.js";import"./chunk-SIU6STB2.js";import"./chunk-X5C5W3E4.js";import"./chunk-GSX4NK2N.js";import"./chunk-HG6QA6EU.js";import"./chunk-MYVHVJWZ.js";import"./chunk-AV7T3SYT.js";import"./chunk-Y5MFVVTM.js";import"./chunk-QD6IICK7.js";import"./chunk-CECHWYJ2.js";import"./chunk-CSLVHAYV.js";import{f as gt,g as ft}from"./chunk-JVSTKXMI.js";import"./chunk-WPNRDEHW.js";import"./chunk-2GIDVZ4H.js";import{j as it,k as rt,l as at}from"./chunk-A35RTVMM.js";import"./chunk-72SZI2UW.js";import"./chunk-FX3D7YON.js";import"./chunk-FCPTN6NF.js";import"./chunk-QOYAX2FT.js";import{a as ke,b as ve,c as xe,d as $e,e as Ce,f as Pe,g as be,h as Te,i as Me,j as Re,l as Ee,m as Ge,o as T,p as W}from"./chunk-2PJKGZWP.js";import{a as m,b as G}from"./chunk-7I7IEX4S.js";import{b as Fe,c as Le,d as A,e as De}from"./chunk-JHCI6XCJ.js";import{a as Ke,b as Je,e as We}from"./chunk-DSYKYZMT.js";import{ha as tt,ja as st,ka as ot,ma as nt}from"./chunk-Y5HBYSJW.js";import"./chunk-UIBUZ2N3.js";import"./chunk-BRK6M6LA.js";import"./chunk-2QNT5JDS.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";W();G();import{execa as Rt}from"execa";import{existsSync as se,promises as X}from"fs";import S from"path";import ie from"node-fetch";async function Et(o,e){let t=o.split("/");if(t.length<2)throw new Error(`Invalid skill package ID: ${o}. Expected format: owner/repo`);let s=t[0],i=t[1],n=t[2];try{let a=n?`${s}/${i}/${n}`:`${s}/${i}`;await Rt("npx",["-y","skills","add",a],{cwd:e,stdio:"pipe"}),m.success(`Installed skill package: ${o}`);let r=S.resolve(e,".skills",`${s}_${i}`);if(se(r))return await ne(r,o);let d=S.resolve(e,".skills");return se(d)?await ne(d,o):[]}catch{return m.info(`Fetching skills directly from GitHub: ${s}/${i}`),await Gt(s,i,n,e)}}async function Gt(o,e,t,s){let i=[];try{let n=`https://api.github.com/repos/${o}/${e}/git/trees/main?recursive=1`,a=await ie(n);if(!a.ok)throw new Error(`GitHub API error: ${a.status}`);let d=(await a.json()).tree.filter(p=>p.type==="blob"&&p.path.endsWith("SKILL.md"));if(t){let p=d.find(f=>f.path.includes(`/${t}/`)||f.path===`${t}/SKILL.md`);if(p){let f=await oe(o,e,p.path,s);f&&i.push(f)}}else for(let p of d){let f=await oe(o,e,p.path,s);f&&i.push(f)}}catch(n){m.error(`Failed to fetch skills from GitHub: ${n.message}`)}return i}async function oe(o,e,t,s){try{let i=`https://raw.githubusercontent.com/${o}/${e}/main/${t}`,n=await ie(i);if(!n.ok)return null;let a=await n.text(),r=A(a);if(r){r.source="remote",r.packageId=`${o}/${e}`;let d=S.dirname(t),p=S.resolve(s,".skills",`${o}_${e}`,d);await X.mkdir(p,{recursive:!0}),await X.writeFile(S.resolve(p,"SKILL.md"),a),r.path=S.resolve(p,"SKILL.md")}return r}catch{return null}}async function ne(o,e){let t=[],{default:s}=await import("fast-glob"),i=await s.glob("**/SKILL.md",{cwd:o,deep:5});for(let n of i)try{let a=S.resolve(o,n),r=await X.readFile(a,"utf8"),d=A(r);d&&(d.source="remote",d.path=a,d.packageId=e,t.push(d))}catch{}return t}async function At(o,e,t,s,i){let n=["---",`name: ${o}`,`description: ${e}`];if(s?.length){n.push("tags:");for(let a of s)n.push(` - ${a}`)}if(i?.length){n.push("globs:");for(let a of i)n.push(` - ${a}`)}return n.push("---"),`${n.join(`
|
|
2
2
|
`)}
|
|
3
3
|
|
|
4
4
|
${t}`}async function It(o){let{loadLocalSkills:e}=await import("./loader-YFVSSYSL.js");return e(o)}async function Ot(o,e,t,s,i){let a=[{role:"system",content:`You are a skill author for the Agent Skills ecosystem (skills.sh).
|