agentix-cli 0.83.0 → 0.83.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.
Files changed (107) hide show
  1. package/dist/{App-CREMUAHS.js → App-KI7DWO6L.js} +2 -2
  2. package/dist/{ChatApp-YX3YNPNS.js → ChatApp-XFJ23EEP.js} +2 -2
  3. package/dist/{agent-3PJF4PUE.js → agent-SWWBRKCE.js} +2 -2
  4. package/dist/{board-dashboard-7B2GNISR.js → board-dashboard-RT3CMQKD.js} +21 -21
  5. package/dist/board-dashboard-RT3CMQKD.js.map +1 -0
  6. package/dist/{chunk-MDYARXA4.js → chunk-3YTFEGKY.js} +2 -2
  7. package/dist/{chunk-K2NFNNDB.js → chunk-44GK7FM6.js} +2 -2
  8. package/dist/{chunk-AK5J3DQY.js → chunk-44UYVCS4.js} +2 -2
  9. package/dist/{chunk-AK5J3DQY.js.map → chunk-44UYVCS4.js.map} +1 -1
  10. package/dist/{chunk-JDXNHBGR.js → chunk-4LLSTP5G.js} +15 -15
  11. package/dist/chunk-4LLSTP5G.js.map +1 -0
  12. package/dist/{chunk-IMFB2KTJ.js → chunk-5NTGUHOO.js} +2 -2
  13. package/dist/{chunk-IMFB2KTJ.js.map → chunk-5NTGUHOO.js.map} +1 -1
  14. package/dist/{chunk-ZUINXZPI.js → chunk-5TUEA72F.js} +2 -2
  15. package/dist/{chunk-AXQIFHOX.js → chunk-64DPYFWO.js} +2 -2
  16. package/dist/{chunk-QZ3CLHGL.js → chunk-6ZQ6XUM5.js} +2 -2
  17. package/dist/{chunk-2W3UVIEG.js → chunk-AJ44V2QR.js} +23 -17
  18. package/dist/chunk-AJ44V2QR.js.map +1 -0
  19. package/dist/chunk-AM47KSTK.js +5 -0
  20. package/dist/{chunk-WMIQHJB5.js.map → chunk-AM47KSTK.js.map} +1 -1
  21. package/dist/{chunk-WGZPKQNI.js → chunk-AXMFBUCJ.js} +2 -2
  22. package/dist/{chunk-DND5VBG5.js → chunk-JLLIBTN4.js} +223 -223
  23. package/dist/chunk-JLLIBTN4.js.map +1 -0
  24. package/dist/{chunk-AACJ62ID.js → chunk-JODZ6DEJ.js} +2 -2
  25. package/dist/{chunk-IUQOOSD4.js → chunk-KKMDRBMJ.js} +2 -2
  26. package/dist/{chunk-EBDUPZ7C.js → chunk-LIH7ZBYR.js} +38 -44
  27. package/dist/chunk-LIH7ZBYR.js.map +1 -0
  28. package/dist/{chunk-WYYNJTDC.js → chunk-NUUEMTTV.js} +72 -72
  29. package/dist/chunk-NUUEMTTV.js.map +1 -0
  30. package/dist/{chunk-HJZFDQKD.js → chunk-OENLCMTT.js} +2 -2
  31. package/dist/chunk-P44IU454.js +5 -0
  32. package/dist/{chunk-ZNLBF4ED.js.map → chunk-P44IU454.js.map} +1 -1
  33. package/dist/{chunk-XGTZMJUI.js → chunk-PGIQW2AR.js} +2 -2
  34. package/dist/{chunk-3AXSSYSY.js → chunk-S5XLAIGY.js} +2 -2
  35. package/dist/{chunk-KNSYKQKB.js → chunk-V3OZCYJX.js} +2 -2
  36. package/dist/cli.js +1 -1
  37. package/dist/{client-K5ZISLAI.js → client-LTHXQRE3.js} +2 -2
  38. package/dist/config-IJ3QQTHJ.js +2 -0
  39. package/dist/config-mutator-AQIB7KSP.js +2 -0
  40. package/dist/{doctor-Y3GPTM3C.js → doctor-KL3CY5YU.js} +2 -2
  41. package/dist/index.d.ts +20 -0
  42. package/dist/index.js +1 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/{program-Y5BSOGQQ.js → program-SZQY46QR.js} +132 -132
  45. package/dist/program-SZQY46QR.js.map +1 -0
  46. package/dist/{promote-KLA3DBKX.js → promote-GPKUSAHD.js} +2 -2
  47. package/dist/{query-N3BRQU6S.js → query-JS5N27BF.js} +2 -2
  48. package/dist/{registry-GHOOAS2Z.js → registry-GH2GQ6H6.js} +2 -2
  49. package/dist/{request-planner-ABXJ35NE.js → request-planner-Y2KC43OY.js} +2 -2
  50. package/dist/{review-candidates-UFVMO3IT.js → review-candidates-4PJN3ZSM.js} +2 -2
  51. package/dist/{routing-GOOV7H7I.js → routing-WI4IFJ4P.js} +2 -2
  52. package/dist/schedule-tool-RJPS6ENN.js +2 -0
  53. package/dist/scheduler-WKAS5TGA.js +2 -0
  54. package/dist/{seat-E4FYHBIC.js → seat-VACK7BIT.js} +2 -2
  55. package/dist/{select-6QI65HKR.js → select-D2OSTDZF.js} +2 -2
  56. package/dist/{set-enabled-XPIHHOPT.js → set-enabled-QKF7NREN.js} +2 -2
  57. package/dist/{tool-UK5MDLBQ.js → tool-NPLCT7MV.js} +2 -2
  58. package/dist/{tool-IX7B5CYT.js → tool-TLU7DQBO.js} +2 -2
  59. package/dist/wiki-UF6GARQR.js +2 -0
  60. package/package.json +1 -1
  61. package/dist/board-dashboard-7B2GNISR.js.map +0 -1
  62. package/dist/chunk-2W3UVIEG.js.map +0 -1
  63. package/dist/chunk-DND5VBG5.js.map +0 -1
  64. package/dist/chunk-EBDUPZ7C.js.map +0 -1
  65. package/dist/chunk-JDXNHBGR.js.map +0 -1
  66. package/dist/chunk-WMIQHJB5.js +0 -5
  67. package/dist/chunk-WYYNJTDC.js.map +0 -1
  68. package/dist/chunk-ZNLBF4ED.js +0 -5
  69. package/dist/config-ZBNH2DMN.js +0 -2
  70. package/dist/config-mutator-ENWFEDFU.js +0 -2
  71. package/dist/program-Y5BSOGQQ.js.map +0 -1
  72. package/dist/schedule-tool-KKH32REI.js +0 -2
  73. package/dist/scheduler-NBRWUJAD.js +0 -2
  74. package/dist/wiki-XSK3IIZE.js +0 -2
  75. /package/dist/{App-CREMUAHS.js.map → App-KI7DWO6L.js.map} +0 -0
  76. /package/dist/{ChatApp-YX3YNPNS.js.map → ChatApp-XFJ23EEP.js.map} +0 -0
  77. /package/dist/{agent-3PJF4PUE.js.map → agent-SWWBRKCE.js.map} +0 -0
  78. /package/dist/{chunk-MDYARXA4.js.map → chunk-3YTFEGKY.js.map} +0 -0
  79. /package/dist/{chunk-K2NFNNDB.js.map → chunk-44GK7FM6.js.map} +0 -0
  80. /package/dist/{chunk-ZUINXZPI.js.map → chunk-5TUEA72F.js.map} +0 -0
  81. /package/dist/{chunk-AXQIFHOX.js.map → chunk-64DPYFWO.js.map} +0 -0
  82. /package/dist/{chunk-QZ3CLHGL.js.map → chunk-6ZQ6XUM5.js.map} +0 -0
  83. /package/dist/{chunk-WGZPKQNI.js.map → chunk-AXMFBUCJ.js.map} +0 -0
  84. /package/dist/{chunk-AACJ62ID.js.map → chunk-JODZ6DEJ.js.map} +0 -0
  85. /package/dist/{chunk-IUQOOSD4.js.map → chunk-KKMDRBMJ.js.map} +0 -0
  86. /package/dist/{chunk-HJZFDQKD.js.map → chunk-OENLCMTT.js.map} +0 -0
  87. /package/dist/{chunk-XGTZMJUI.js.map → chunk-PGIQW2AR.js.map} +0 -0
  88. /package/dist/{chunk-3AXSSYSY.js.map → chunk-S5XLAIGY.js.map} +0 -0
  89. /package/dist/{chunk-KNSYKQKB.js.map → chunk-V3OZCYJX.js.map} +0 -0
  90. /package/dist/{client-K5ZISLAI.js.map → client-LTHXQRE3.js.map} +0 -0
  91. /package/dist/{config-ZBNH2DMN.js.map → config-IJ3QQTHJ.js.map} +0 -0
  92. /package/dist/{config-mutator-ENWFEDFU.js.map → config-mutator-AQIB7KSP.js.map} +0 -0
  93. /package/dist/{doctor-Y3GPTM3C.js.map → doctor-KL3CY5YU.js.map} +0 -0
  94. /package/dist/{promote-KLA3DBKX.js.map → promote-GPKUSAHD.js.map} +0 -0
  95. /package/dist/{query-N3BRQU6S.js.map → query-JS5N27BF.js.map} +0 -0
  96. /package/dist/{registry-GHOOAS2Z.js.map → registry-GH2GQ6H6.js.map} +0 -0
  97. /package/dist/{request-planner-ABXJ35NE.js.map → request-planner-Y2KC43OY.js.map} +0 -0
  98. /package/dist/{review-candidates-UFVMO3IT.js.map → review-candidates-4PJN3ZSM.js.map} +0 -0
  99. /package/dist/{routing-GOOV7H7I.js.map → routing-WI4IFJ4P.js.map} +0 -0
  100. /package/dist/{schedule-tool-KKH32REI.js.map → schedule-tool-RJPS6ENN.js.map} +0 -0
  101. /package/dist/{scheduler-NBRWUJAD.js.map → scheduler-WKAS5TGA.js.map} +0 -0
  102. /package/dist/{seat-E4FYHBIC.js.map → seat-VACK7BIT.js.map} +0 -0
  103. /package/dist/{select-6QI65HKR.js.map → select-D2OSTDZF.js.map} +0 -0
  104. /package/dist/{set-enabled-XPIHHOPT.js.map → set-enabled-QKF7NREN.js.map} +0 -0
  105. /package/dist/{tool-UK5MDLBQ.js.map → tool-NPLCT7MV.js.map} +0 -0
  106. /package/dist/{tool-IX7B5CYT.js.map → tool-TLU7DQBO.js.map} +0 -0
  107. /package/dist/{wiki-XSK3IIZE.js.map → wiki-UF6GARQR.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- import{a as Se}from"./chunk-GTJIKXDB.js";import{a as w}from"./chunk-CL53UVOF.js";import{q as Wt}from"./chunk-S2GAEH2F.js";import{t as jt,u as Vt}from"./chunk-MDYARXA4.js";import{d as Ot,e as Nt}from"./chunk-AQASR6KR.js";import{c as xe,e as B,f as U,h as Ft}from"./chunk-XIYWXCNU.js";import{b as be,u as At,w as Q,x as we,z as ke}from"./chunk-2W3UVIEG.js";import{a as Pt,b as Lt,d as Mt}from"./chunk-Y4CYQV7G.js";import{a as It,b as Rt}from"./chunk-SHEUCITK.js";import{g as _t,h as Ct,i as Dt,k as Et,l as Tt}from"./chunk-XGTZMJUI.js";import{q as $t}from"./chunk-IUQOOSD4.js";import{a as St,b as vt}from"./chunk-WMIQHJB5.js";import{S as ye,Z as wt,_ as kt,ba as xt,m as Z,n as gt,o as mt,p as Tr,u as yt,v as bt,w as Mr}from"./chunk-JDXNHBGR.js";import{a as ht,i as Lr}from"./chunk-PN6XHTG5.js";import{a as he,h as Pr}from"./chunk-BRK6M6LA.js";import{existsSync as Or,readdirSync as Nr,readFileSync as jr,statSync as Vr}from"fs";import{resolve as Wr}from"path";function Bt(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 ee=new Map;function ra(t,e=1e3){if(!Or(t))return[];let n=Nr(t).filter(s=>s.endsWith(".jsonl")).map(s=>{let o=Wr(t,s);return{path:o,mtime:Vr(o).mtimeMs}}).sort((s,o)=>o.mtime-s.mtime).slice(0,e),i=new Set(n.map(s=>s.path));for(let s of ee.keys())i.has(s)||ee.delete(s);let r=[];for(let{path:s,mtime:o}of n){let a=ee.get(s);if(a&&a.mtime===o){a.summary&&r.push(a.summary);continue}let c=Fr(s,o);ee.set(s,{mtime:o,summary:c}),c&&r.push(c)}return r}function Fr(t,e){try{let n=jr(t,"utf-8").split(`
1
+ import{a as Se}from"./chunk-GTJIKXDB.js";import{a as w}from"./chunk-CL53UVOF.js";import{q as Wt}from"./chunk-S2GAEH2F.js";import{t as jt,u as Vt}from"./chunk-3YTFEGKY.js";import{d as Ot,e as Nt}from"./chunk-AQASR6KR.js";import{c as xe,e as B,f as U,h as Ft}from"./chunk-XIYWXCNU.js";import{A as ke,b as be,v as At,x as Q,y as we}from"./chunk-AJ44V2QR.js";import{a as Pt,b as Lt,d as Mt}from"./chunk-Y4CYQV7G.js";import{a as It,b as Rt}from"./chunk-SHEUCITK.js";import{g as _t,h as Ct,i as Dt,k as Et,l as Tt}from"./chunk-PGIQW2AR.js";import{q as $t}from"./chunk-KKMDRBMJ.js";import{a as St,b as vt}from"./chunk-AM47KSTK.js";import{$ as wt,U as ye,aa as kt,da as xt,m as Z,n as gt,o as mt,p as Tr,u as yt,v as bt,w as Mr}from"./chunk-4LLSTP5G.js";import{a as ht,i as Lr}from"./chunk-PN6XHTG5.js";import{a as he,h as Pr}from"./chunk-BRK6M6LA.js";import{existsSync as Or,readdirSync as Nr,readFileSync as jr,statSync as Vr}from"fs";import{resolve as Wr}from"path";function Bt(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 ee=new Map;function ra(t,e=1e3){if(!Or(t))return[];let n=Nr(t).filter(s=>s.endsWith(".jsonl")).map(s=>{let o=Wr(t,s);return{path:o,mtime:Vr(o).mtimeMs}}).sort((s,o)=>o.mtime-s.mtime).slice(0,e),i=new Set(n.map(s=>s.path));for(let s of ee.keys())i.has(s)||ee.delete(s);let r=[];for(let{path:s,mtime:o}of n){let a=ee.get(s);if(a&&a.mtime===o){a.summary&&r.push(a.summary);continue}let c=Fr(s,o);ee.set(s,{mtime:o,summary:c}),c&&r.push(c)}return r}function Fr(t,e){try{let n=jr(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 Br={failStreak:3,disabledDays:30,missedFires:2,graceMs:15*6e4},k={routines:200,summary:160,filters:6,filterValue:60,text:120},Ur=(t,e,n)=>{try{return $t(t,e,n)}catch{return null}},Ut=864e5;function aa(t){let e=t.now??Date.now(),n={...Br,...t.thresholds},i=t.nextFire??Ur,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,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?ve(a.nextRun)??ve(i(a.schedule,new Date(e),l)):null,lastRun:d?{at:d.startedAt,status:d.status,summary:Xr(d.status==="success"?void 0:d.errorSummary,k.summary)}:null,lastSuccessAt:c.find(f=>f.status==="success")?.startedAt??null,consecutiveFailures:zt(u),sampledRuns:c.length,flags:[],attention:null};p.flags=Ht(p,u,a.schedule,l,null,e,n,i),r.push(qt(p))}let s=new Map(Bt(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,me)=>me.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,k.text),trigger:h?{schedule:$(y,k.text),timezone:D}:{event:$(typeof l.event=="string"?l.event:"",k.text),filters:Gr(l.filter,a)},agent:Kr(a),enabled:d,state:u,nextRunAt:h&&d&&y?ve(i(y,new Date(e),D)):null,lastRun:g?{at:new Date(g.at).toISOString(),status:g.status}:null,lastSuccessAt:(()=>{let I=f.find(me=>me.status==="success");return I?new Date(I.at).toISOString():null})(),consecutiveFailures:zt(f),sampledRuns:p.length,flags:[],attention:null},Y=Date.parse(a.updated||a.created||"");N.flags=h?Ht(N,f,y,D,Number.isFinite(Y)?Y:null,e,n,i):zr(N,s.get(a.id)?.state==="dormant",Number.isFinite(Y)?Y:null,e,n),r.push(qt(N))}return r.sort(Hr).slice(0,k.routines)}function zt(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 Ht(t,e,n,i,r,s,o,a){let c=[],l=e.length?e[0].at:null;if(!t.enabled){let p=Gt(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 zr(t,e,n,i,r){let s=[],o=t.lastRun?Date.parse(t.lastRun.at):null;if(!t.enabled){let a=Gt(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 Gt(t,e,n,i){let r=Math.max(t??0,e??0);return r&&n-r<i.disabledDays*Ut?null:{reason:"disabled-long",detail:r?`Disabled; no activity for ${Math.floor((n-r)/Ut)} days`:"Disabled and never ran"}}function qt(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 Kt={critical:0,warning:1,info:2};function Hr(t,e){let n=t.attention?Kt[t.attention]:3,i=e.attention?Kt[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 Kr(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 Gr(t,e){let n=[],i=e?.project;if(i&&n.push($(`project=${i}`,k.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(",")}`,k.filterValue))}return n.slice(0,k.filters)}function ve(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 Xr(t,e){return t===void 0?void 0:$(t,e)}import{existsSync as re,readdirSync as fi,readFileSync as gi}from"fs";import{resolve as E}from"path";import{randomBytes as Yt}from"crypto";import{existsSync as Yr,mkdirSync as Zr,readdirSync as Qr,readFileSync as ei,renameSync as Zt,unlinkSync as ti,writeFileSync as ni}from"fs";import{resolve as Qt}from"path";function Xt(t){return[...t.account?["--account",t.account]:[],...t.store?["--store",t.store]:[]]}var Jr=t=>t.trim().split(`
3
3
  `).pop()?.slice(0,300)||"no output";async function Jt(t,e,n,i=Se){let r=await i(t.bin,[...Xt(t),"send","text","--to",e,"--message",n,"--no-preview"],{timeoutMs:6e4});return r.code===0?{ok:!0}:{ok:!1,error:`wacli send failed: ${Jr(r.stderr||r.stdout)}`}}async function ua(t,e,n,i,r=Se){return(await r(t.bin,[...Xt(t),"--read-only","media","download","--chat",e,"--id",n,"--output",i],{timeoutMs:12e4})).code===0}var ri=2e3,ii=t=>Jt(t.wacli,t.to,t.text);function $e(t){return Qt(t,".agentx","whatsapp-triage","drafts")}var si=t=>/^[a-z0-9-]{8,64}$/.test(t),te=(t,e)=>Qt($e(t),`${e}.json`);function en(t,e){Zr($e(t),{recursive:!0});let n=te(t,e.id),i=`${n}.${process.pid}.tmp`;ni(i,JSON.stringify(e,null,2)+`
4
4
  `,{mode:384}),Zt(i,n)}function ha(t,e,n=Date.now()){let i=e.text.trim().slice(0,ri);if(!i)throw new Error("empty draft");let r={...e,text:i,id:`${n.toString(36)}-${Yt(4).toString("hex")}`,status:"pending",created_at:new Date(n).toISOString()};return en(t,r),r}function ne(t,e){if(!si(e))return null;try{return JSON.parse(ei(te(t,e),"utf-8"))}catch{return null}}function tn(t,e){let n=$e(t);return Yr(n)?Qr(n).filter(i=>i.endsWith(".json")).map(i=>ne(t,i.slice(0,-5))).filter(i=>!!i&&(!e||i.status===e)).sort((i,r)=>i.created_at.localeCompare(r.created_at)):[]}async function nn(t,e,n,i={}){let r=ne(t,e);if(!r||r.status!=="pending")return{ok:!1,error:`no reply draft "${e}" is waiting`};let s=`${te(t,e)}.${process.pid}.${Yt(3).toString("hex")}.claim`;try{Zt(te(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??ii)(r).catch(c=>({ok:!1,error:String(c?.message??c)}));a.ok?o.status="sent":(o.status="failed",o.error=a.error)}en(t,o);try{ti(s)}catch{}return o.status==="failed"?{ok:!1,error:o.error??"send failed"}:{ok:!0,draft:o}}import{mkdirSync as oi,readFileSync as ai,renameSync as ci,writeFileSync as li}from"fs";import{resolve as ui}from"path";function rn(t){return ui(xe(t),"_state.json")}function R(t){try{let e=JSON.parse(ai(rn(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){oi(xe(t),{recursive:!0});let n=rn(t),i=`${n}.${process.pid}.tmp`;li(i,JSON.stringify(e,null,2)+`
@@ -477,4 +477,4 @@ Document the arguments, commands, or files the skill expects. Example:
477
477
  claude-code ${ft(t)} --arg value
478
478
  \`\`\`
479
479
  `}xt();var _r={maxPixels:12e5,timeoutMs:5e3,intervalMs:100,changeThreshold:.015,stableMs:400,regions:{},buffer:{enabled:!1,seconds:10,fps:2,region:"screen",maxPixels:3e5}};function Cr(t){return{..._r,...t??{},regions:{...t?.regions??{}},buffer:{..._r.buffer,...t?.buffer??{}}}}function hu(t){try{return Cr(kt(t).screen)}catch{return Cr(void 0)}}var ea=/^[a-z][\w-]*$/,Dr=["window","screen","menubar","notifications"];function J(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 ge=(t,e)=>J(t,e,n=>Number.isInteger(n)&&n>0,"a whole number above 0");function Er(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=ge(e.maxPixels,"maxPixels")),"timeoutMs"in e&&(n.timeoutMs=ge(e.timeoutMs,"timeoutMs")),"intervalMs"in e&&(n.intervalMs=ge(e.intervalMs,"intervalMs")),"stableMs"in e&&(n.stableMs=J(e.stableMs,"stableMs",r=>Number.isInteger(r)&&r>=0,"a whole number, 0 or more")),"changeThreshold"in e&&(n.changeThreshold=J(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(!ea.test(s))throw new Error(`region name "${s}" must be lowercase letters, digits, - or _`);o===null?delete r[s]:r[s]=Er(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=J(r.seconds,"buffer.seconds",o=>o>0&&o<=120,"above 0 and at most 120")),"fps"in r&&(s.fps=J(r.fps,"buffer.fps",o=>o>0&&o<=10,"above 0 and at most 10")),"maxPixels"in r&&(s.maxPixels=ge(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&&!Dr.includes(i)&&!n.regions?.[i])try{Er(i)}catch{throw new Error(`buffer.region "${i}" is not a region \u2014 use ${[...Dr,...Object.keys(n.regions??{})].join(", ")}, or x,y,w,h`)}return n}export{Bt as a,ra as b,Je as c,Cs as d,Ds as e,Nc as f,jc as g,Vc as h,Gn as i,Fc as j,Uc as k,T as l,Xn as m,k as n,aa as o,ua as p,ii as q,ha as r,nn as s,R as t,xa as u,Sa as v,cn as w,_a as x,pn as y,Ba as z,gn as A,cr as B,ml as C,hl as D,Sl as E,yo as F,vl as G,za as H,Ha as I,qa as J,Ka as K,Ga as L,Xa as M,Ya as N,Za as O,ac as P,Te as Q,cc as R,lc as S,H as T,q as U,vo as V,Tl as W,Pl as X,Ll as Y,Ml as Z,tt as _,Ol as $,Me as aa,Oe as ba,le as ca,Xi as da,Yi as ea,gc as fa,je as ga,Ve as ha,Zi as ia,Qi as ja,Ln as ka,jn as la,mc as ma,ns as na,hc as oa,us as pa,fs as qa,We as ra,ms as sa,Vn as ta,P as ua,yr as va,br as wa,wr as xa,Bl as ya,To as za,xr as Aa,Sr as Ba,Ql as Ca,eu as Da,Go as Ea,tu as Fa,$r as Ga,ue as Ha,_c as Ia,Hn as Ja,Fe as Ka,Ge as La,Mc as Ma,su as Na,ou as Oa,au as Pa,cu as Qa,lu as Ra,uu as Sa,du as Ta,pu as Ua,fu as Va,_r as Wa,Cr as Xa,hu as Ya,Dr as Za,yu as _a};
480
- //# sourceMappingURL=chunk-IMFB2KTJ.js.map
480
+ //# sourceMappingURL=chunk-5NTGUHOO.js.map