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.
Files changed (114) hide show
  1. package/apps/mac-helper/Resources/AppIcon.png +0 -0
  2. package/apps/mac-voice/Resources/AppIcon.png +0 -0
  3. package/apps/mac-voice/Resources/Info.plist +1 -0
  4. package/apps/mac-voice/build.sh +10 -0
  5. package/dist/{App-5ZI475WY.js → App-Q4UAYL2V.js} +2 -2
  6. package/dist/{ChatApp-PLR7J5D3.js → ChatApp-6KGP57OP.js} +2 -2
  7. package/dist/{agent-GRX75ANW.js → agent-NGCPRTBH.js} +2 -2
  8. package/dist/{board-dashboard-EKJHQKPH.js → board-dashboard-7B2B564A.js} +553 -327
  9. package/dist/board-dashboard-7B2B564A.js.map +1 -0
  10. package/dist/{chunk-QAIYUMHW.js → chunk-4VDA4UM7.js} +2 -2
  11. package/dist/{chunk-74CQWVHE.js → chunk-A35RTVMM.js} +2 -2
  12. package/dist/{chunk-DG5I6PPM.js → chunk-BGG3ZSMW.js} +4 -2
  13. package/dist/chunk-BGG3ZSMW.js.map +1 -0
  14. package/dist/{chunk-X7E27RYS.js → chunk-C4S5XQKD.js} +2 -2
  15. package/dist/{chunk-RXQ2XCKP.js → chunk-CSLVHAYV.js} +2 -2
  16. package/dist/{chunk-A6B5JRUG.js → chunk-CYKPDILL.js} +2 -2
  17. package/dist/{chunk-B37WAFT5.js → chunk-DOQ6Y7GZ.js} +160 -160
  18. package/dist/chunk-DOQ6Y7GZ.js.map +1 -0
  19. package/dist/{chunk-QWI3FM5R.js → chunk-EVB23EHN.js} +2 -2
  20. package/dist/{chunk-XG2XVGSL.js → chunk-FDCTFT2Q.js} +2 -2
  21. package/dist/{chunk-MEXXGNNN.js → chunk-HG6QA6EU.js} +2 -2
  22. package/dist/{chunk-THRWE4Y3.js → chunk-J3GXZQXY.js} +2 -2
  23. package/dist/chunk-JVSTKXMI.js +6 -0
  24. package/dist/chunk-JVSTKXMI.js.map +1 -0
  25. package/dist/{chunk-V3C2BOYR.js → chunk-LP227A6L.js} +2 -2
  26. package/dist/{chunk-37EDS7SZ.js → chunk-QBWJGDKE.js} +5 -5
  27. package/dist/{chunk-N7HKIMMR.js → chunk-SCJ5ZXEN.js} +2 -2
  28. package/dist/{chunk-R43TE2XX.js → chunk-TZIPWZY6.js} +2 -2
  29. package/dist/{chunk-6FJ44HYY.js → chunk-UMFFIUU6.js} +2 -2
  30. package/dist/{chunk-QF377BDS.js → chunk-UZB5UO35.js} +2 -2
  31. package/dist/{chunk-4QCYSKPD.js → chunk-VGI4EZTP.js} +2 -2
  32. package/dist/{chunk-EEOQ5C5N.js → chunk-VTWSW4KB.js} +2 -2
  33. package/dist/{chunk-TXX5W3SH.js → chunk-Y5HBYSJW.js} +2 -2
  34. package/dist/{chunk-TXX5W3SH.js.map → chunk-Y5HBYSJW.js.map} +1 -1
  35. package/dist/{chunk-22LO3GBP.js → chunk-YLKCFW2R.js} +2 -2
  36. package/dist/{chunk-DVJW3IWI.js → chunk-Z6OPM7EH.js} +2 -2
  37. package/dist/{chunk-OZDSQVHU.js → chunk-ZXQYOSHP.js} +2 -2
  38. package/dist/cli.js +1 -1
  39. package/dist/{client-DBQ5QNJJ.js → client-QTXWO46T.js} +2 -2
  40. package/dist/{config-4T62LT27.js → config-4XGZYYQP.js} +2 -2
  41. package/dist/config-mutator-QLSA6JOY.js +2 -0
  42. package/dist/{doctor-M32NIOZH.js → doctor-DO262COW.js} +2 -2
  43. package/dist/index.d.ts +49 -0
  44. package/dist/index.js +1 -1
  45. package/dist/processes-5MP32QZT.js +2 -0
  46. package/dist/{program-7MG42JKO.js → program-4IMJEMDM.js} +14 -14
  47. package/dist/{promote-DAEKJVWN.js → promote-4VTXBVUC.js} +2 -2
  48. package/dist/{query-MCJYD66I.js → query-B32UDQJS.js} +2 -2
  49. package/dist/{registry-AYPPHZ3Z.js → registry-GY4X2GZX.js} +2 -2
  50. package/dist/{request-planner-7NKKLY7C.js → request-planner-RYWFGBGK.js} +2 -2
  51. package/dist/{review-candidates-QG2U5YID.js → review-candidates-TXX532LY.js} +2 -2
  52. package/dist/{routing-HBNYDAGE.js → routing-IT4YS6X3.js} +2 -2
  53. package/dist/schedule-tool-FJKH2ERY.js +2 -0
  54. package/dist/scheduler-ALPDUE4H.js +2 -0
  55. package/dist/{seat-PQ7AMPMT.js → seat-LK45MTVI.js} +2 -2
  56. package/dist/{select-J6TO7RED.js → select-4LAHUZ74.js} +2 -2
  57. package/dist/{set-enabled-WXRUHFWW.js → set-enabled-F2K56HQZ.js} +2 -2
  58. package/dist/{tool-I3OGQKAD.js → tool-J4VHHZWN.js} +2 -2
  59. package/dist/{tool-KN2QEPDO.js → tool-W3ODKQM2.js} +2 -2
  60. package/dist/wiki-LVYHDK2R.js +2 -0
  61. package/package.json +1 -1
  62. package/dist/board-dashboard-EKJHQKPH.js.map +0 -1
  63. package/dist/chunk-B37WAFT5.js.map +0 -1
  64. package/dist/chunk-DG5I6PPM.js.map +0 -1
  65. package/dist/chunk-JBE4H7PL.js +0 -6
  66. package/dist/chunk-JBE4H7PL.js.map +0 -1
  67. package/dist/config-mutator-ARUEJ6V5.js +0 -2
  68. package/dist/processes-W5VHBP7T.js +0 -2
  69. package/dist/schedule-tool-6S35TPJJ.js +0 -2
  70. package/dist/scheduler-KZ6VVZZA.js +0 -2
  71. package/dist/wiki-2IKLQ6PO.js +0 -2
  72. /package/dist/{App-5ZI475WY.js.map → App-Q4UAYL2V.js.map} +0 -0
  73. /package/dist/{ChatApp-PLR7J5D3.js.map → ChatApp-6KGP57OP.js.map} +0 -0
  74. /package/dist/{agent-GRX75ANW.js.map → agent-NGCPRTBH.js.map} +0 -0
  75. /package/dist/{chunk-QAIYUMHW.js.map → chunk-4VDA4UM7.js.map} +0 -0
  76. /package/dist/{chunk-74CQWVHE.js.map → chunk-A35RTVMM.js.map} +0 -0
  77. /package/dist/{chunk-X7E27RYS.js.map → chunk-C4S5XQKD.js.map} +0 -0
  78. /package/dist/{chunk-RXQ2XCKP.js.map → chunk-CSLVHAYV.js.map} +0 -0
  79. /package/dist/{chunk-A6B5JRUG.js.map → chunk-CYKPDILL.js.map} +0 -0
  80. /package/dist/{chunk-QWI3FM5R.js.map → chunk-EVB23EHN.js.map} +0 -0
  81. /package/dist/{chunk-XG2XVGSL.js.map → chunk-FDCTFT2Q.js.map} +0 -0
  82. /package/dist/{chunk-MEXXGNNN.js.map → chunk-HG6QA6EU.js.map} +0 -0
  83. /package/dist/{chunk-THRWE4Y3.js.map → chunk-J3GXZQXY.js.map} +0 -0
  84. /package/dist/{chunk-V3C2BOYR.js.map → chunk-LP227A6L.js.map} +0 -0
  85. /package/dist/{chunk-37EDS7SZ.js.map → chunk-QBWJGDKE.js.map} +0 -0
  86. /package/dist/{chunk-N7HKIMMR.js.map → chunk-SCJ5ZXEN.js.map} +0 -0
  87. /package/dist/{chunk-R43TE2XX.js.map → chunk-TZIPWZY6.js.map} +0 -0
  88. /package/dist/{chunk-6FJ44HYY.js.map → chunk-UMFFIUU6.js.map} +0 -0
  89. /package/dist/{chunk-QF377BDS.js.map → chunk-UZB5UO35.js.map} +0 -0
  90. /package/dist/{chunk-4QCYSKPD.js.map → chunk-VGI4EZTP.js.map} +0 -0
  91. /package/dist/{chunk-EEOQ5C5N.js.map → chunk-VTWSW4KB.js.map} +0 -0
  92. /package/dist/{chunk-22LO3GBP.js.map → chunk-YLKCFW2R.js.map} +0 -0
  93. /package/dist/{chunk-DVJW3IWI.js.map → chunk-Z6OPM7EH.js.map} +0 -0
  94. /package/dist/{chunk-OZDSQVHU.js.map → chunk-ZXQYOSHP.js.map} +0 -0
  95. /package/dist/{client-DBQ5QNJJ.js.map → client-QTXWO46T.js.map} +0 -0
  96. /package/dist/{config-4T62LT27.js.map → config-4XGZYYQP.js.map} +0 -0
  97. /package/dist/{config-mutator-ARUEJ6V5.js.map → config-mutator-QLSA6JOY.js.map} +0 -0
  98. /package/dist/{doctor-M32NIOZH.js.map → doctor-DO262COW.js.map} +0 -0
  99. /package/dist/{processes-W5VHBP7T.js.map → processes-5MP32QZT.js.map} +0 -0
  100. /package/dist/{program-7MG42JKO.js.map → program-4IMJEMDM.js.map} +0 -0
  101. /package/dist/{promote-DAEKJVWN.js.map → promote-4VTXBVUC.js.map} +0 -0
  102. /package/dist/{query-MCJYD66I.js.map → query-B32UDQJS.js.map} +0 -0
  103. /package/dist/{registry-AYPPHZ3Z.js.map → registry-GY4X2GZX.js.map} +0 -0
  104. /package/dist/{request-planner-7NKKLY7C.js.map → request-planner-RYWFGBGK.js.map} +0 -0
  105. /package/dist/{review-candidates-QG2U5YID.js.map → review-candidates-TXX532LY.js.map} +0 -0
  106. /package/dist/{routing-HBNYDAGE.js.map → routing-IT4YS6X3.js.map} +0 -0
  107. /package/dist/{schedule-tool-6S35TPJJ.js.map → schedule-tool-FJKH2ERY.js.map} +0 -0
  108. /package/dist/{scheduler-KZ6VVZZA.js.map → scheduler-ALPDUE4H.js.map} +0 -0
  109. /package/dist/{seat-PQ7AMPMT.js.map → seat-LK45MTVI.js.map} +0 -0
  110. /package/dist/{select-J6TO7RED.js.map → select-4LAHUZ74.js.map} +0 -0
  111. /package/dist/{set-enabled-WXRUHFWW.js.map → set-enabled-F2K56HQZ.js.map} +0 -0
  112. /package/dist/{tool-I3OGQKAD.js.map → tool-J4VHHZWN.js.map} +0 -0
  113. /package/dist/{tool-KN2QEPDO.js.map → tool-W3ODKQM2.js.map} +0 -0
  114. /package/dist/{wiki-2IKLQ6PO.js.map → wiki-LVYHDK2R.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{q as p}from"./chunk-4QCYSKPD.js";import{b as i,c as u,d as l,e as c}from"./chunk-A6B5JRUG.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-22LO3GBP.js.map
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-R43TE2XX.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-DVJW3IWI.js.map
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-DG5I6PPM.js";import{t as Gt,u as Kt}from"./chunk-QWI3FM5R.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-THRWE4Y3.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-22LO3GBP.js";import{q as Et}from"./chunk-4QCYSKPD.js";import{a as Pt,b as Tt}from"./chunk-A6B5JRUG.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-TXX5W3SH.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(`
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-OZDSQVHU.js.map
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-7MG42JKO.js"),{installCliSignalExit:i}=await import("./signal-exit-WL7G3EEZ.js");i();var e=await r();process.argv.slice(2).length===0?e.outputHelp():e.parse();
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-X7E27RYS.js";import"./chunk-TXX5W3SH.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-DBQ5QNJJ.js.map
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-TXX5W3SH.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-4T62LT27.js.map
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-V3C2BOYR.js";import"./chunk-S2GAEH2F.js";import"./chunk-JXF54PT7.js";import"./chunk-TXX5W3SH.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-M32NIOZH.js.map
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-B37WAFT5.js";import"./chunk-OZDSQVHU.js";import"./chunk-EEOQ5C5N.js";import"./chunk-S2GAEH2F.js";import"./chunk-GTJIKXDB.js";import"./chunk-DG5I6PPM.js";import"./chunk-ZVP6GB4G.js";import"./chunk-PPUN7YHA.js";import"./chunk-VZLIBDLH.js";import"./chunk-EKJG63EJ.js";import"./chunk-QWI3FM5R.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-37EDS7SZ.js";import"./chunk-THRWE4Y3.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-QF377BDS.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-22LO3GBP.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-4QCYSKPD.js";import"./chunk-A6B5JRUG.js";import"./chunk-VWTBHLMX.js";import"./chunk-DVJW3IWI.js";import{a as ht}from"./chunk-R43TE2XX.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-MEXXGNNN.js";import"./chunk-MYVHVJWZ.js";import"./chunk-AV7T3SYT.js";import"./chunk-Y5MFVVTM.js";import"./chunk-QD6IICK7.js";import"./chunk-CECHWYJ2.js";import"./chunk-RXQ2XCKP.js";import{f as gt,g as ft}from"./chunk-JBE4H7PL.js";import"./chunk-WPNRDEHW.js";import"./chunk-2GIDVZ4H.js";import{j as it,k as rt,l as at}from"./chunk-74CQWVHE.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-TXX5W3SH.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(`
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).
@@ -0,0 +1,2 @@
1
+ import{a}from"./chunk-4VDA4UM7.js";import"./chunk-SCJ5ZXEN.js";import"./chunk-BGG3ZSMW.js";import"./chunk-QIJLFPWE.js";export{a as renderProcessesPage};
2
+ //# sourceMappingURL=processes-5MP32QZT.js.map