agentix-cli 0.96.1 → 0.97.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.
Files changed (107) hide show
  1. package/apps/mac-voice/Sources/AgentXVoice/Character.swift +4 -1
  2. package/apps/mac-voice/Sources/AgentXVoice/CharacterSim.swift +50 -4
  3. package/apps/mac-voice/Sources/AgentXVoice/PlayActs.swift +137 -0
  4. package/apps/mac-voice/Sources/AgentXVoice/PlayMath.swift +80 -40
  5. package/apps/mac-voice/Sources/AgentXVoice/PlayStage.swift +18 -3
  6. package/apps/mac-voice/Sources/AgentXVoice/SettingsLook.swift +6 -0
  7. package/apps/mac-voice/Sources/AgentXVoice/SettingsWindow.swift +4 -1
  8. package/apps/mac-voice/Sources/AgentXVoice/VoiceSettings.swift +18 -1
  9. package/apps/mac-voice/Sources/AgentXVoice/main.swift +24 -10
  10. package/dist/{App-UHSIO3UE.js → App-6R4I6QPE.js} +2 -2
  11. package/dist/{ChatApp-LLTFBLJY.js → ChatApp-R3O4BJ24.js} +2 -2
  12. package/dist/{agent-6RJ633MQ.js → agent-P6GPE7HD.js} +2 -2
  13. package/dist/{board-dashboard-A3ZEI4F6.js → board-dashboard-AKQHIY4J.js} +4 -4
  14. package/dist/{chunk-EBVB727L.js → chunk-2GFSHO24.js} +2 -2
  15. package/dist/{chunk-ALWMYA2B.js → chunk-3S4IYAOC.js} +2 -2
  16. package/dist/{chunk-MNS4SBRR.js → chunk-3SF7PLHF.js} +149 -149
  17. package/dist/chunk-3SF7PLHF.js.map +1 -0
  18. package/dist/{chunk-MKF6HSBA.js → chunk-4BG3WJSP.js} +2 -2
  19. package/dist/{chunk-DU6536CC.js → chunk-55HM3SUN.js} +2 -2
  20. package/dist/{chunk-ZVW645NU.js → chunk-6W3SCPDK.js} +2 -2
  21. package/dist/{chunk-J2MHITWR.js → chunk-C2POHIWJ.js} +2 -2
  22. package/dist/{chunk-6NECC6YS.js → chunk-DGVTRG5Q.js} +2 -2
  23. package/dist/{chunk-XEKZKH3W.js → chunk-ERPEU2ZR.js} +2 -2
  24. package/dist/{chunk-XEKZKH3W.js.map → chunk-ERPEU2ZR.js.map} +1 -1
  25. package/dist/{chunk-ZYJDAT3E.js → chunk-F3DW5ZJN.js} +2 -2
  26. package/dist/{chunk-QZIEYDIY.js → chunk-LXHTVVJV.js} +2 -2
  27. package/dist/{chunk-TE44E733.js → chunk-MDFUSQ6S.js} +2 -2
  28. package/dist/{chunk-4XHKJZLJ.js → chunk-Q53XKCRL.js} +2 -2
  29. package/dist/{chunk-VO2GNAKB.js → chunk-QHAO6U7U.js} +2 -2
  30. package/dist/{chunk-ZZSNM2RI.js → chunk-QPIMPKZ2.js} +2 -2
  31. package/dist/{chunk-KIGFWUKP.js → chunk-SZ5TGL25.js} +2 -2
  32. package/dist/{chunk-GHXSBJZS.js → chunk-TOGRRWBX.js} +2 -2
  33. package/dist/{chunk-6DCY2JCB.js → chunk-TWC4CYTU.js} +5 -5
  34. package/dist/{chunk-KEKO4S45.js → chunk-WLKO6FOL.js} +2 -2
  35. package/dist/{chunk-44UGVUN7.js → chunk-X4S2I233.js} +2 -2
  36. package/dist/{chunk-IPDEWVVT.js → chunk-ZCQCUA4J.js} +2 -2
  37. package/dist/cli.js +1 -1
  38. package/dist/{client-ARS6ZFT2.js → client-UQKCIEHA.js} +2 -2
  39. package/dist/{config-XO5Z3BO5.js → config-OE23UC5C.js} +2 -2
  40. package/dist/config-mutator-2UK5GX4B.js +2 -0
  41. package/dist/{doctor-VUK3JE6Z.js → doctor-QQ7YLJK4.js} +2 -2
  42. package/dist/index.d.ts +7 -1
  43. package/dist/index.js +1 -1
  44. package/dist/{program-HUQB4IIO.js → program-O5RQ6NRG.js} +117 -117
  45. package/dist/program-O5RQ6NRG.js.map +1 -0
  46. package/dist/{promote-UGQXA4KV.js → promote-AW4TJXXT.js} +2 -2
  47. package/dist/{query-DL7RHPMA.js → query-24BGIJCZ.js} +2 -2
  48. package/dist/{registry-YIPKBRBH.js → registry-GZT2OSBK.js} +2 -2
  49. package/dist/{request-planner-L2FAVNKP.js → request-planner-U6HHKWLX.js} +2 -2
  50. package/dist/{review-candidates-RPUP4XBU.js → review-candidates-LJUJCVFA.js} +2 -2
  51. package/dist/{routing-G66SVTRO.js → routing-WCYPBKFH.js} +2 -2
  52. package/dist/schedule-tool-E7ER2XOI.js +2 -0
  53. package/dist/scheduler-FK3LOWU2.js +2 -0
  54. package/dist/{seat-ZPH7DA5L.js → seat-5PBTFTGS.js} +2 -2
  55. package/dist/{select-2WTV2BI2.js → select-JD7MSY25.js} +2 -2
  56. package/dist/{set-enabled-KI2FINQD.js → set-enabled-MUSO2KJL.js} +2 -2
  57. package/dist/{tool-2P4LRWN4.js → tool-FMKGK474.js} +2 -2
  58. package/dist/{tool-ZFQ46KU3.js → tool-Y7SOGJ2S.js} +2 -2
  59. package/dist/wiki-SJRTAYMT.js +2 -0
  60. package/package.json +1 -1
  61. package/dist/chunk-MNS4SBRR.js.map +0 -1
  62. package/dist/config-mutator-MJX4EIYV.js +0 -2
  63. package/dist/program-HUQB4IIO.js.map +0 -1
  64. package/dist/schedule-tool-FOWPIWKP.js +0 -2
  65. package/dist/scheduler-GFVUPAD6.js +0 -2
  66. package/dist/wiki-XATGT3DI.js +0 -2
  67. /package/dist/{App-UHSIO3UE.js.map → App-6R4I6QPE.js.map} +0 -0
  68. /package/dist/{ChatApp-LLTFBLJY.js.map → ChatApp-R3O4BJ24.js.map} +0 -0
  69. /package/dist/{agent-6RJ633MQ.js.map → agent-P6GPE7HD.js.map} +0 -0
  70. /package/dist/{board-dashboard-A3ZEI4F6.js.map → board-dashboard-AKQHIY4J.js.map} +0 -0
  71. /package/dist/{chunk-EBVB727L.js.map → chunk-2GFSHO24.js.map} +0 -0
  72. /package/dist/{chunk-ALWMYA2B.js.map → chunk-3S4IYAOC.js.map} +0 -0
  73. /package/dist/{chunk-MKF6HSBA.js.map → chunk-4BG3WJSP.js.map} +0 -0
  74. /package/dist/{chunk-DU6536CC.js.map → chunk-55HM3SUN.js.map} +0 -0
  75. /package/dist/{chunk-ZVW645NU.js.map → chunk-6W3SCPDK.js.map} +0 -0
  76. /package/dist/{chunk-J2MHITWR.js.map → chunk-C2POHIWJ.js.map} +0 -0
  77. /package/dist/{chunk-6NECC6YS.js.map → chunk-DGVTRG5Q.js.map} +0 -0
  78. /package/dist/{chunk-ZYJDAT3E.js.map → chunk-F3DW5ZJN.js.map} +0 -0
  79. /package/dist/{chunk-QZIEYDIY.js.map → chunk-LXHTVVJV.js.map} +0 -0
  80. /package/dist/{chunk-TE44E733.js.map → chunk-MDFUSQ6S.js.map} +0 -0
  81. /package/dist/{chunk-4XHKJZLJ.js.map → chunk-Q53XKCRL.js.map} +0 -0
  82. /package/dist/{chunk-VO2GNAKB.js.map → chunk-QHAO6U7U.js.map} +0 -0
  83. /package/dist/{chunk-ZZSNM2RI.js.map → chunk-QPIMPKZ2.js.map} +0 -0
  84. /package/dist/{chunk-KIGFWUKP.js.map → chunk-SZ5TGL25.js.map} +0 -0
  85. /package/dist/{chunk-GHXSBJZS.js.map → chunk-TOGRRWBX.js.map} +0 -0
  86. /package/dist/{chunk-6DCY2JCB.js.map → chunk-TWC4CYTU.js.map} +0 -0
  87. /package/dist/{chunk-KEKO4S45.js.map → chunk-WLKO6FOL.js.map} +0 -0
  88. /package/dist/{chunk-44UGVUN7.js.map → chunk-X4S2I233.js.map} +0 -0
  89. /package/dist/{chunk-IPDEWVVT.js.map → chunk-ZCQCUA4J.js.map} +0 -0
  90. /package/dist/{client-ARS6ZFT2.js.map → client-UQKCIEHA.js.map} +0 -0
  91. /package/dist/{config-XO5Z3BO5.js.map → config-OE23UC5C.js.map} +0 -0
  92. /package/dist/{config-mutator-MJX4EIYV.js.map → config-mutator-2UK5GX4B.js.map} +0 -0
  93. /package/dist/{doctor-VUK3JE6Z.js.map → doctor-QQ7YLJK4.js.map} +0 -0
  94. /package/dist/{promote-UGQXA4KV.js.map → promote-AW4TJXXT.js.map} +0 -0
  95. /package/dist/{query-DL7RHPMA.js.map → query-24BGIJCZ.js.map} +0 -0
  96. /package/dist/{registry-YIPKBRBH.js.map → registry-GZT2OSBK.js.map} +0 -0
  97. /package/dist/{request-planner-L2FAVNKP.js.map → request-planner-U6HHKWLX.js.map} +0 -0
  98. /package/dist/{review-candidates-RPUP4XBU.js.map → review-candidates-LJUJCVFA.js.map} +0 -0
  99. /package/dist/{routing-G66SVTRO.js.map → routing-WCYPBKFH.js.map} +0 -0
  100. /package/dist/{schedule-tool-FOWPIWKP.js.map → schedule-tool-E7ER2XOI.js.map} +0 -0
  101. /package/dist/{scheduler-GFVUPAD6.js.map → scheduler-FK3LOWU2.js.map} +0 -0
  102. /package/dist/{seat-ZPH7DA5L.js.map → seat-5PBTFTGS.js.map} +0 -0
  103. /package/dist/{select-2WTV2BI2.js.map → select-JD7MSY25.js.map} +0 -0
  104. /package/dist/{set-enabled-KI2FINQD.js.map → set-enabled-MUSO2KJL.js.map} +0 -0
  105. /package/dist/{tool-2P4LRWN4.js.map → tool-FMKGK474.js.map} +0 -0
  106. /package/dist/{tool-ZFQ46KU3.js.map → tool-Y7SOGJ2S.js.map} +0 -0
  107. /package/dist/{wiki-XATGT3DI.js.map → wiki-SJRTAYMT.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- import{a as $e}from"./chunk-GTJIKXDB.js";import{a as te,b as w}from"./chunk-DG5I6PPM.js";import{q as Ht}from"./chunk-S2GAEH2F.js";import{t as Bt,u as Ut}from"./chunk-44UGVUN7.js";import{d as Wt,e as Ft}from"./chunk-AQASR6KR.js";import{b as zt,c as ve,e as B,f as U,h as qt}from"./chunk-E5OV6RTG.js";import{A as Se,b as xe,v as Ct,x as ee,y as ke}from"./chunk-VO2GNAKB.js";import{a as Nt,b as jt,d as Vt}from"./chunk-Y4CYQV7G.js";import{a as Dt,b as Et}from"./chunk-SHEUCITK.js";import{g as Tt,h as Pt,i as Lt,k as Mt,l as Ot}from"./chunk-MKF6HSBA.js";import{q as _t}from"./chunk-ZVW645NU.js";import{a as At,b as It}from"./chunk-DU6536CC.js";import{Y as we,da as vt,ea as $t,ha as Rt,n as Q,o as bt,p as wt,q as Vr,v as kt,w as St,x as Br}from"./chunk-XEKZKH3W.js";import{a as xt,i as Fr}from"./chunk-RJ7DASOU.js";import{a as be,h as Wr}from"./chunk-BRK6M6LA.js";import{existsSync as Ur,readdirSync as Hr,readFileSync as zr,statSync as qr}from"fs";import{resolve as Kr}from"path";function Kt(t,e,n=Date.now(),i=7){let r=i*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(g=>n-g.at<=r),l=a.filter(g=>n-g.at>r&&n-g.at<=r*2),u=c.filter(g=>g.status==="failed").length,d=a.filter(g=>g.status==="paused").length,p=a.length?Math.max(...a.map(g=>g.at)):null,f=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:f,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 ne=new Map;function pa(t,e=1e3){if(!Ur(t))return[];let n=Hr(t).filter(s=>s.endsWith(".jsonl")).map(s=>{let o=Kr(t,s);return{path:o,mtime:qr(o).mtimeMs}}).sort((s,o)=>o.mtime-s.mtime).slice(0,e),i=new Set(n.map(s=>s.path));for(let s of ne.keys())i.has(s)||ne.delete(s);let r=[];for(let{path:s,mtime:o}of n){let a=ne.get(s);if(a&&a.mtime===o){a.summary&&r.push(a.summary);continue}let c=Gr(s,o);ne.set(s,{mtime:o,summary:c}),c&&r.push(c)}return r}function Gr(t,e){try{let n=zr(t,"utf-8").split(`
1
+ import{a as $e}from"./chunk-GTJIKXDB.js";import{a as te,b as w}from"./chunk-DG5I6PPM.js";import{q as Ht}from"./chunk-S2GAEH2F.js";import{t as Bt,u as Ut}from"./chunk-X4S2I233.js";import{d as Wt,e as Ft}from"./chunk-AQASR6KR.js";import{b as zt,c as ve,e as B,f as U,h as qt}from"./chunk-E5OV6RTG.js";import{A as Se,b as xe,v as Ct,x as ee,y as ke}from"./chunk-QHAO6U7U.js";import{a as Nt,b as jt,d as Vt}from"./chunk-Y4CYQV7G.js";import{a as Dt,b as Et}from"./chunk-SHEUCITK.js";import{g as Tt,h as Pt,i as Lt,k as Mt,l as Ot}from"./chunk-4BG3WJSP.js";import{q as _t}from"./chunk-6W3SCPDK.js";import{a as At,b as It}from"./chunk-55HM3SUN.js";import{Y as we,da as vt,ea as $t,ha as Rt,n as Q,o as bt,p as wt,q as Vr,v as kt,w as St,x as Br}from"./chunk-ERPEU2ZR.js";import{a as xt,i as Fr}from"./chunk-RJ7DASOU.js";import{a as be,h as Wr}from"./chunk-BRK6M6LA.js";import{existsSync as Ur,readdirSync as Hr,readFileSync as zr,statSync as qr}from"fs";import{resolve as Kr}from"path";function Kt(t,e,n=Date.now(),i=7){let r=i*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(g=>n-g.at<=r),l=a.filter(g=>n-g.at>r&&n-g.at<=r*2),u=c.filter(g=>g.status==="failed").length,d=a.filter(g=>g.status==="paused").length,p=a.length?Math.max(...a.map(g=>g.at)):null,f=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:f,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 ne=new Map;function pa(t,e=1e3){if(!Ur(t))return[];let n=Hr(t).filter(s=>s.endsWith(".jsonl")).map(s=>{let o=Kr(t,s);return{path:o,mtime:qr(o).mtimeMs}}).sort((s,o)=>o.mtime-s.mtime).slice(0,e),i=new Set(n.map(s=>s.path));for(let s of ne.keys())i.has(s)||ne.delete(s);let r=[];for(let{path:s,mtime:o}of n){let a=ne.get(s);if(a&&a.mtime===o){a.summary&&r.push(a.summary);continue}let c=Gr(s,o);ne.set(s,{mtime:o,summary:c}),c&&r.push(c)}return r}function Gr(t,e){try{let n=zr(t,"utf-8").split(`
2
2
  `).filter(Boolean);if(!n.length)return null;let i=JSON.parse(n[0]),r=i.run?.workflowId;if(!r)return null;let s=i.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:r,status:s,at:e}}catch{return null}}var Xr={failStreak:3,disabledDays:30,missedFires:2,graceMs:15*6e4},x={routines:200,summary:160,filters:6,filterValue:60,text:120},Jr=(t,e,n)=>{try{return _t(t,e,n)}catch{return null}},Gt=864e5;function ha(t){let e=t.now??Date.now(),n={...Xr,...t.thresholds},i=t.nextFire??Jr,r=[];for(let a of t.crons){let c=t.cronRuns.get(a.id)??[],l=a.timezone||"UTC",u=c.map(f=>({at:Date.parse(f.startedAt),status:f.status})),d=c[0],p={id:`cron:${a.id}`,source:"cron",kind:"schedule",name:$(a.id,x.text),trigger:{schedule:$(a.schedule,x.text),timezone:l},agent:a.agent||null,enabled:a.enabled,state:a.enabled?"enabled":"disabled",nextRunAt:a.enabled?Re(a.nextRun)??Re(i(a.schedule,new Date(e),l)):null,lastRun:d?{at:d.startedAt,status:d.status,summary:ni(d.status==="success"?void 0:d.errorSummary,x.summary)}:null,lastSuccessAt:c.find(f=>f.status==="success")?.startedAt??null,consecutiveFailures:Xt(u),sampledRuns:c.length,flags:[],attention:null};p.flags=Jt(p,u,a.schedule,l,null,e,n,i),r.push(Yt(p))}let s=new Map(Kt(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(I=>I.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((I,ye)=>ye.at-I.at),f=p.map(I=>({at:I.at,status:Qr(I.status)})),g=f[0],h=c.type==="trigger.cron",y=typeof l.spec=="string"?l.spec:"",D=typeof l.timezone=="string"?l.timezone:"UTC",N={id:`workflow:${a.id}`,source:"workflow",kind:h?"schedule":"event",name:$(a.title||a.id,x.text),trigger:h?{schedule:$(y,x.text),timezone:D}:{event:$(typeof l.event=="string"?l.event:"",x.text),filters:ti(l.filter,a)},agent:ei(a),enabled:d,state:u,nextRunAt:h&&d&&y?Re(i(y,new Date(e),D)):null,lastRun:g?{at:new Date(g.at).toISOString(),status:g.status}:null,lastSuccessAt:(()=>{let I=f.find(ye=>ye.status==="success");return I?new Date(I.at).toISOString():null})(),consecutiveFailures:Xt(f),sampledRuns:p.length,flags:[],attention:null},Z=Date.parse(a.updated||a.created||"");N.flags=h?Jt(N,f,y,D,Number.isFinite(Z)?Z:null,e,n,i):Yr(N,s.get(a.id)?.state==="dormant",Number.isFinite(Z)?Z:null,e,n),r.push(Yt(N))}return r.sort(Zr).slice(0,x.routines)}function Xt(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 Jt(t,e,n,i,r,s,o,a){let c=[],l=e.length?e[0].at:null;if(!t.enabled){let p=Qt(l,r,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,i),!!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 Yr(t,e,n,i,r){let s=[],o=t.lastRun?Date.parse(t.lastRun.at):null;if(!t.enabled){let a=Qt(o,n,i,r);return a&&s.push(a),s}return t.consecutiveFailures>=r.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 Qt(t,e,n,i){let r=Math.max(t??0,e??0);return r&&n-r<i.disabledDays*Gt?null:{reason:"disabled-long",detail:r?`Disabled; no activity for ${Math.floor((n-r)/Gt)} days`:"Disabled and never ran"}}function Yt(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 Zt={critical:0,warning:1,info:2};function Zr(t,e){let n=t.attention?Zt[t.attention]:3,i=e.attention?Zt[e.attention]:3;return n-i||Number(e.enabled)-Number(t.enabled)||t.name.localeCompare(e.name)}function Qr(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 ei(t){if(t.ownerAgent)return $(t.ownerAgent,x.text);let e=t.nodes.find(n=>n.type==="agent"&&typeof n.config?.agentId=="string"&&n.config.agentId);return e?$(String(e.config.agentId),x.text):null}function ti(t,e){let n=[],i=e?.project;if(i&&n.push($(`project=${i}`,x.filterValue)),t&&typeof t=="object"&&!Array.isArray(t))for(let[r,s]of Object.entries(t)){let o=Array.isArray(s)?s.map(String):s==null?[]:[String(s)];o.length&&n.push($(`${r}=${o.join(",")}`,x.filterValue))}return n.slice(0,x.filters)}function Re(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 ni(t,e){return t===void 0?void 0:$(t,e)}import{existsSync as se,readdirSync as xi,readFileSync as ki}from"fs";import{resolve as E}from"path";import{randomBytes as nn}from"crypto";import{existsSync as ii,mkdirSync as si,readdirSync as oi,readFileSync as ai,renameSync as rn,unlinkSync as ci,writeFileSync as li}from"fs";import{resolve as sn}from"path";function en(t){return[...t.account?["--account",t.account]:[],...t.store?["--store",t.store]:[]]}var ri=t=>t.trim().split(`
3
3
  `).pop()?.slice(0,300)||"no output";async function tn(t,e,n,i=$e){let r=await i(t.bin,[...en(t),"send","text","--to",e,"--message",n,"--no-preview"],{timeoutMs:6e4});return r.code===0?{ok:!0}:{ok:!1,error:`wacli send failed: ${ri(r.stderr||r.stdout)}`}}async function wa(t,e,n,i,r=$e){return(await r(t.bin,[...en(t),"--read-only","media","download","--chat",e,"--id",n,"--output",i],{timeoutMs:12e4})).code===0}var ui=2e3,di=t=>tn(t.wacli,t.to,t.text);function Ae(t){return sn(t,".agentx","whatsapp-triage","drafts")}var pi=t=>/^[a-z0-9-]{8,64}$/.test(t),re=(t,e)=>sn(Ae(t),`${e}.json`);function on(t,e){si(Ae(t),{recursive:!0});let n=re(t,e.id),i=`${n}.${process.pid}.tmp`;li(i,JSON.stringify(e,null,2)+`
4
4
  `,{mode:384}),rn(i,n)}function Ra(t,e,n=Date.now()){let i=e.text.trim().slice(0,ui);if(!i)throw new Error("empty draft");let r={...e,text:i,id:`${n.toString(36)}-${nn(4).toString("hex")}`,status:"pending",created_at:new Date(n).toISOString()};return on(t,r),r}function ie(t,e){if(!pi(e))return null;try{return JSON.parse(ai(re(t,e),"utf-8"))}catch{return null}}function an(t,e){let n=Ae(t);return ii(n)?oi(n).filter(i=>i.endsWith(".json")).map(i=>ie(t,i.slice(0,-5))).filter(i=>!!i&&(!e||i.status===e)).sort((i,r)=>i.created_at.localeCompare(r.created_at)):[]}async function cn(t,e,n,i={}){let r=ie(t,e);if(!r||r.status!=="pending")return{ok:!1,error:`no reply draft "${e}" is waiting`};let s=`${re(t,e)}.${process.pid}.${nn(3).toString("hex")}.claim`;try{rn(re(t,e),s)}catch{return{ok:!1,error:`reply draft "${e}" is already being decided`}}let o={...r,decided_by:i.by??"operator",decided_at:new Date(i.now??Date.now()).toISOString()};if(n==="no")o.status="rejected";else{let a=await(i.send??di)(r).catch(c=>({ok:!1,error:String(c?.message??c)}));a.ok?o.status="sent":(o.status="failed",o.error=a.error)}on(t,o);try{ci(s)}catch{}return o.status==="failed"?{ok:!1,error:o.error??"send failed"}:{ok:!0,draft:o}}import{mkdirSync as fi,readFileSync as gi,renameSync as mi,writeFileSync as hi}from"fs";import{resolve as yi}from"path";function ln(t){return yi(ve(t),"_state.json")}function R(t){try{let e=JSON.parse(gi(ln(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 H(t,e){fi(ve(t),{recursive:!0});let n=ln(t),i=`${n}.${process.pid}.tmp`;hi(i,JSON.stringify(e,null,2)+`
@@ -479,4 +479,4 @@ Document the arguments, commands, or files the skill expects. Example:
479
479
  claude-code ${yt(t)} --arg value
480
480
  \`\`\`
481
481
  `}Rt();var Mr={maxPixels:12e5,timeoutMs:5e3,intervalMs:100,changeThreshold:.015,stableMs:400,regions:{},buffer:{enabled:!1,seconds:10,fps:2,region:"screen",maxPixels:3e5}};function Or(t){return{...Mr,...t??{},regions:{...t?.regions??{}},buffer:{...Mr.buffer,...t?.buffer??{}}}}function Cu(t){try{return Or($t(t).screen)}catch{return Or(void 0)}}var la=/^[a-z][\w-]*$/,Nr=["window","screen","menubar","notifications"];function Y(t,e,n,i){let r=Number(t);if(t===""||t===null||!Number.isFinite(r)||!n(r))throw new Error(`${e} must be ${i}`);return r}var he=(t,e)=>Y(t,e,n=>Number.isInteger(n)&&n>0,"a whole number above 0");function jr(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 Du(t,e){let n={...t??{}};if("maxPixels"in e&&(n.maxPixels=he(e.maxPixels,"maxPixels")),"timeoutMs"in e&&(n.timeoutMs=he(e.timeoutMs,"timeoutMs")),"intervalMs"in e&&(n.intervalMs=he(e.intervalMs,"intervalMs")),"stableMs"in e&&(n.stableMs=Y(e.stableMs,"stableMs",r=>Number.isInteger(r)&&r>=0,"a whole number, 0 or more")),"changeThreshold"in e&&(n.changeThreshold=Y(e.changeThreshold,"changeThreshold",r=>r>=0&&r<=1,"between 0 and 1")),e.regions&&typeof e.regions=="object"){let r={...n.regions??{}};for(let[s,o]of Object.entries(e.regions)){if(!la.test(s))throw new Error(`region name "${s}" must be lowercase letters, digits, - or _`);o===null?delete r[s]:r[s]=jr(o)}n.regions=r}if(e.buffer&&typeof e.buffer=="object"){let r=e.buffer,s={...n.buffer??{}};"enabled"in r&&(s.enabled=!!r.enabled),"seconds"in r&&(s.seconds=Y(r.seconds,"buffer.seconds",o=>o>0&&o<=120,"above 0 and at most 120")),"fps"in r&&(s.fps=Y(r.fps,"buffer.fps",o=>o>0&&o<=10,"above 0 and at most 10")),"maxPixels"in r&&(s.maxPixels=he(r.maxPixels,"buffer.maxPixels")),"region"in r&&(s.region=String(r.region).trim()),n.buffer=s}let i=n.buffer?.region;if(i!==void 0&&!Nr.includes(i)&&!n.regions?.[i])try{jr(i)}catch{throw new Error(`buffer.region "${i}" is not a region \u2014 use ${[...Nr,...Object.keys(n.regions??{})].join(", ")}, or x,y,w,h`)}return n}export{Kt as a,pa as b,Ze as c,Os as d,Ns as e,qc as f,Kc as g,Gc as h,Zn as i,Jc as j,Zc as k,T as l,Qn as m,x as n,ha as o,wa as p,di as q,Ra as r,cn as s,R as t,Da as u,Ea as v,fn as w,Na as x,z as y,Ya as z,bn as A,tl as B,fr as C,_l as D,Cl as E,Ml as F,Ao as G,Ol as H,Qa as I,ec as J,tc as K,nc as L,rc as M,ic as N,oc as O,ac as P,hc as Q,Le as R,yc as S,bc as T,q as U,K as V,To as W,zl as X,ql as Y,Kl as Z,Gl as _,st as $,Xl as aa,Ne as ba,je as ca,de as da,ns as ea,is as fa,vc as ga,We as ha,Fe as ia,ss as ja,os as ka,jn as la,Bn as ma,$c as na,ls as oa,Rc as pa,ys as qa,xs as ra,Be as sa,Ss as ta,Un as ua,P as va,$r as wa,Rr as xa,Ar as ya,tu as za,Fo as Aa,_r as Ba,Cr as Ca,pu as Da,fu as Ea,ra as Fa,gu as Ga,Er as Ha,pe as Ia,Nc as Ja,Xn as Ka,Ue as La,Je as Ma,Hc as Na,bu as Oa,wu as Pa,xu as Qa,ku as Ra,Su as Sa,vu as Ta,$u as Ua,Ru as Va,Au as Wa,Mr as Xa,Or as Ya,Cu as Za,Nr as _a,Du as $a};
482
- //# sourceMappingURL=chunk-ALWMYA2B.js.map
482
+ //# sourceMappingURL=chunk-3S4IYAOC.js.map