agentix-cli 0.146.0 → 0.147.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 (140) hide show
  1. package/dist/{App-EU2AJWW5.js → App-AW4OROPH.js} +2 -2
  2. package/dist/{ChatApp-ORR3U3AN.js → ChatApp-USXQHII3.js} +2 -2
  3. package/dist/{absorb-eval-3VGPDRWS.js → absorb-eval-WZCC5VPS.js} +2 -2
  4. package/dist/{agent-NVJNOK5L.js → agent-TJ2K7FZG.js} +2 -2
  5. package/dist/{board-dashboard-JV2JNRWD.js → board-dashboard-JY4YQ5TM.js} +216 -216
  6. package/dist/board-dashboard-JY4YQ5TM.js.map +1 -0
  7. package/dist/{chunk-OEB6RTRA.js → chunk-4F5XUF6T.js} +2 -2
  8. package/dist/{chunk-TZVJP4H3.js → chunk-5TGY4RIQ.js} +2 -2
  9. package/dist/chunk-6UP5VD3H.js +64 -0
  10. package/dist/{chunk-IBK7AG4S.js.map → chunk-6UP5VD3H.js.map} +1 -1
  11. package/dist/{chunk-5TFXFLMN.js → chunk-7HCSLOTP.js} +3 -3
  12. package/dist/{chunk-7O7VDA3J.js → chunk-7ICJCJ43.js} +2 -2
  13. package/dist/{chunk-WCOT35YG.js → chunk-7T6SMNVY.js} +2 -2
  14. package/dist/{chunk-SNCRLEH3.js → chunk-7W3TLSZQ.js} +5 -5
  15. package/dist/chunk-E7YHXMJG.js +7 -0
  16. package/dist/chunk-E7YHXMJG.js.map +1 -0
  17. package/dist/{chunk-3BMIZY6X.js → chunk-EG7Y2XLK.js} +2 -2
  18. package/dist/{chunk-OT5KLHUT.js → chunk-EKAUOUN2.js} +2 -2
  19. package/dist/{chunk-USTNT7P7.js → chunk-GJMYG53S.js} +2 -2
  20. package/dist/{chunk-TYONASHA.js → chunk-GLLHUHX2.js} +41 -41
  21. package/dist/chunk-GLLHUHX2.js.map +1 -0
  22. package/dist/{chunk-SK24JFEK.js → chunk-GTOQWMRY.js} +2 -2
  23. package/dist/chunk-HAEI2LNC.js +7 -0
  24. package/dist/chunk-HAEI2LNC.js.map +1 -0
  25. package/dist/chunk-JCFVH3NC.js +533 -0
  26. package/dist/chunk-JCFVH3NC.js.map +1 -0
  27. package/dist/{chunk-5YAUENDI.js → chunk-JLEVL66V.js} +2 -2
  28. package/dist/{chunk-WBG6NA7R.js → chunk-KP7KDLZ2.js} +2 -2
  29. package/dist/{chunk-O7ZJS33Z.js → chunk-KW6SHOAN.js} +2 -2
  30. package/dist/{chunk-QNS3WHGU.js → chunk-MXDTLR45.js} +2 -2
  31. package/dist/{chunk-UYLVSS6I.js → chunk-P5BFFU4Y.js} +2 -2
  32. package/dist/{chunk-MOCKFVYE.js → chunk-P6PFTNN4.js} +2 -2
  33. package/dist/{chunk-UFX6INNI.js → chunk-PUW4C6YO.js} +2 -2
  34. package/dist/{chunk-DG2DC43E.js → chunk-PYHR4HXO.js} +2 -2
  35. package/dist/{chunk-UTYNYG7M.js → chunk-Q2QU32JP.js} +2 -2
  36. package/dist/{chunk-GECGRCYC.js → chunk-QXPX2NGL.js} +2 -2
  37. package/dist/{chunk-UVJLIHLL.js → chunk-UVF3K5YS.js} +2 -2
  38. package/dist/{chunk-DTWBB7B7.js → chunk-YE2X3AFU.js} +2 -2
  39. package/dist/chunk-Z3AI4KXT.js +18 -0
  40. package/dist/chunk-Z3AI4KXT.js.map +1 -0
  41. package/dist/{chunk-NBDYBTI6.js → chunk-ZZNAR6R2.js} +256 -256
  42. package/dist/chunk-ZZNAR6R2.js.map +1 -0
  43. package/dist/cli.js +1 -1
  44. package/dist/{client-6KZZKCN2.js → client-GLBNS45C.js} +2 -2
  45. package/dist/config-VRDFC7LW.js +2 -0
  46. package/dist/{config-mutate-57YT7BNB.js → config-mutate-HU3KKYCD.js} +2 -2
  47. package/dist/config-mutator-JCAIGP6W.js +2 -0
  48. package/dist/{contributions-Y6B6LG7X.js → contributions-JXPYCLVB.js} +2 -2
  49. package/dist/doctor-5Y7QSXNQ.js +2 -0
  50. package/dist/{follow-up-tool-5AMZKVI4.js → follow-up-tool-53AYA2UQ.js} +2 -2
  51. package/dist/{hub-BZF3ZYQ5.js → hub-YCOUZFNU.js} +2 -2
  52. package/dist/index.d.ts +75 -1
  53. package/dist/index.js +1 -1
  54. package/dist/{program-MO7HLAP5.js → program-CIJEGFYG.js} +209 -209
  55. package/dist/program-CIJEGFYG.js.map +1 -0
  56. package/dist/{promote-IJANZNQK.js → promote-THTEHZHU.js} +2 -2
  57. package/dist/{query-DC74NB3R.js → query-N7JBDLR7.js} +2 -2
  58. package/dist/{query-settings-RXFOATOZ.js → query-settings-BJTVDDCH.js} +2 -2
  59. package/dist/{registry-24IXRDWX.js → registry-LJ66OZYJ.js} +2 -2
  60. package/dist/{request-planner-33CWWCJU.js → request-planner-PCELXLK7.js} +2 -2
  61. package/dist/{review-candidates-ENWB6LHD.js → review-candidates-EMJUROJH.js} +2 -2
  62. package/dist/{routing-AUFJ4MNP.js → routing-D2KNBEMG.js} +2 -2
  63. package/dist/schedule-tool-55MOWHKD.js +2 -0
  64. package/dist/{scheduler-KWSBBZKW.js → scheduler-73UEBYV4.js} +2 -2
  65. package/dist/{seat-YGMLJ6KS.js → seat-UFAMWG7M.js} +2 -2
  66. package/dist/{select-JJGBM6ZT.js → select-EPWELLAV.js} +2 -2
  67. package/dist/{set-enabled-THE7QIGQ.js → set-enabled-LS65QZQS.js} +2 -2
  68. package/dist/{tool-6LR6VORJ.js → tool-4S3YKLCN.js} +2 -2
  69. package/dist/{tool-4ACTSFKC.js → tool-7LKYIA6D.js} +2 -2
  70. package/dist/{wiki-YAW7UEOQ.js → wiki-LHT6X2JF.js} +2 -2
  71. package/dist/wiki-enrich-CBBS3AC7.js +2 -0
  72. package/package.json +1 -1
  73. package/dist/board-dashboard-JV2JNRWD.js.map +0 -1
  74. package/dist/chunk-IBK7AG4S.js +0 -62
  75. package/dist/chunk-J723FL3J.js +0 -7
  76. package/dist/chunk-J723FL3J.js.map +0 -1
  77. package/dist/chunk-K3QDK4BX.js +0 -5
  78. package/dist/chunk-K3QDK4BX.js.map +0 -1
  79. package/dist/chunk-MO7DH5L6.js +0 -535
  80. package/dist/chunk-MO7DH5L6.js.map +0 -1
  81. package/dist/chunk-NBDYBTI6.js.map +0 -1
  82. package/dist/chunk-S2GAEH2F.js +0 -13
  83. package/dist/chunk-S2GAEH2F.js.map +0 -1
  84. package/dist/chunk-TYONASHA.js.map +0 -1
  85. package/dist/config-W6JNVPBY.js +0 -2
  86. package/dist/config-mutator-6NWQPE7K.js +0 -2
  87. package/dist/doctor-ZP4KADAD.js +0 -2
  88. package/dist/program-MO7HLAP5.js.map +0 -1
  89. package/dist/schedule-tool-NAMOBMZE.js +0 -2
  90. package/dist/wiki-enrich-6ANFA2VB.js +0 -2
  91. /package/dist/{App-EU2AJWW5.js.map → App-AW4OROPH.js.map} +0 -0
  92. /package/dist/{ChatApp-ORR3U3AN.js.map → ChatApp-USXQHII3.js.map} +0 -0
  93. /package/dist/{absorb-eval-3VGPDRWS.js.map → absorb-eval-WZCC5VPS.js.map} +0 -0
  94. /package/dist/{agent-NVJNOK5L.js.map → agent-TJ2K7FZG.js.map} +0 -0
  95. /package/dist/{chunk-OEB6RTRA.js.map → chunk-4F5XUF6T.js.map} +0 -0
  96. /package/dist/{chunk-TZVJP4H3.js.map → chunk-5TGY4RIQ.js.map} +0 -0
  97. /package/dist/{chunk-5TFXFLMN.js.map → chunk-7HCSLOTP.js.map} +0 -0
  98. /package/dist/{chunk-7O7VDA3J.js.map → chunk-7ICJCJ43.js.map} +0 -0
  99. /package/dist/{chunk-WCOT35YG.js.map → chunk-7T6SMNVY.js.map} +0 -0
  100. /package/dist/{chunk-SNCRLEH3.js.map → chunk-7W3TLSZQ.js.map} +0 -0
  101. /package/dist/{chunk-3BMIZY6X.js.map → chunk-EG7Y2XLK.js.map} +0 -0
  102. /package/dist/{chunk-OT5KLHUT.js.map → chunk-EKAUOUN2.js.map} +0 -0
  103. /package/dist/{chunk-USTNT7P7.js.map → chunk-GJMYG53S.js.map} +0 -0
  104. /package/dist/{chunk-SK24JFEK.js.map → chunk-GTOQWMRY.js.map} +0 -0
  105. /package/dist/{chunk-5YAUENDI.js.map → chunk-JLEVL66V.js.map} +0 -0
  106. /package/dist/{chunk-WBG6NA7R.js.map → chunk-KP7KDLZ2.js.map} +0 -0
  107. /package/dist/{chunk-O7ZJS33Z.js.map → chunk-KW6SHOAN.js.map} +0 -0
  108. /package/dist/{chunk-QNS3WHGU.js.map → chunk-MXDTLR45.js.map} +0 -0
  109. /package/dist/{chunk-UYLVSS6I.js.map → chunk-P5BFFU4Y.js.map} +0 -0
  110. /package/dist/{chunk-MOCKFVYE.js.map → chunk-P6PFTNN4.js.map} +0 -0
  111. /package/dist/{chunk-UFX6INNI.js.map → chunk-PUW4C6YO.js.map} +0 -0
  112. /package/dist/{chunk-DG2DC43E.js.map → chunk-PYHR4HXO.js.map} +0 -0
  113. /package/dist/{chunk-UTYNYG7M.js.map → chunk-Q2QU32JP.js.map} +0 -0
  114. /package/dist/{chunk-GECGRCYC.js.map → chunk-QXPX2NGL.js.map} +0 -0
  115. /package/dist/{chunk-UVJLIHLL.js.map → chunk-UVF3K5YS.js.map} +0 -0
  116. /package/dist/{chunk-DTWBB7B7.js.map → chunk-YE2X3AFU.js.map} +0 -0
  117. /package/dist/{client-6KZZKCN2.js.map → client-GLBNS45C.js.map} +0 -0
  118. /package/dist/{config-W6JNVPBY.js.map → config-VRDFC7LW.js.map} +0 -0
  119. /package/dist/{config-mutate-57YT7BNB.js.map → config-mutate-HU3KKYCD.js.map} +0 -0
  120. /package/dist/{config-mutator-6NWQPE7K.js.map → config-mutator-JCAIGP6W.js.map} +0 -0
  121. /package/dist/{contributions-Y6B6LG7X.js.map → contributions-JXPYCLVB.js.map} +0 -0
  122. /package/dist/{doctor-ZP4KADAD.js.map → doctor-5Y7QSXNQ.js.map} +0 -0
  123. /package/dist/{follow-up-tool-5AMZKVI4.js.map → follow-up-tool-53AYA2UQ.js.map} +0 -0
  124. /package/dist/{hub-BZF3ZYQ5.js.map → hub-YCOUZFNU.js.map} +0 -0
  125. /package/dist/{promote-IJANZNQK.js.map → promote-THTEHZHU.js.map} +0 -0
  126. /package/dist/{query-DC74NB3R.js.map → query-N7JBDLR7.js.map} +0 -0
  127. /package/dist/{query-settings-RXFOATOZ.js.map → query-settings-BJTVDDCH.js.map} +0 -0
  128. /package/dist/{registry-24IXRDWX.js.map → registry-LJ66OZYJ.js.map} +0 -0
  129. /package/dist/{request-planner-33CWWCJU.js.map → request-planner-PCELXLK7.js.map} +0 -0
  130. /package/dist/{review-candidates-ENWB6LHD.js.map → review-candidates-EMJUROJH.js.map} +0 -0
  131. /package/dist/{routing-AUFJ4MNP.js.map → routing-D2KNBEMG.js.map} +0 -0
  132. /package/dist/{schedule-tool-NAMOBMZE.js.map → schedule-tool-55MOWHKD.js.map} +0 -0
  133. /package/dist/{scheduler-KWSBBZKW.js.map → scheduler-73UEBYV4.js.map} +0 -0
  134. /package/dist/{seat-YGMLJ6KS.js.map → seat-UFAMWG7M.js.map} +0 -0
  135. /package/dist/{select-JJGBM6ZT.js.map → select-EPWELLAV.js.map} +0 -0
  136. /package/dist/{set-enabled-THE7QIGQ.js.map → set-enabled-LS65QZQS.js.map} +0 -0
  137. /package/dist/{tool-6LR6VORJ.js.map → tool-4S3YKLCN.js.map} +0 -0
  138. /package/dist/{tool-4ACTSFKC.js.map → tool-7LKYIA6D.js.map} +0 -0
  139. /package/dist/{wiki-YAW7UEOQ.js.map → wiki-LHT6X2JF.js.map} +0 -0
  140. /package/dist/{wiki-enrich-6ANFA2VB.js.map → wiki-enrich-CBBS3AC7.js.map} +0 -0
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 e=o(process.versions.node);e&&(console.error(e),process.exit(1));var{buildProgram:s}=await import("./program-MO7HLAP5.js"),{installCliSignalExit:r}=await import("./signal-exit-WL7G3EEZ.js"),{applyConnectAttemptTimeout:i,configPathFromArgv:a,readConnectAttemptTimeout:n}=await import("./net-family-X2P3OVDP.js");r();i(n(process.cwd(),a(process.argv.slice(2))));var t=await s();process.argv.slice(2).length===0?t.outputHelp():t.parse();
2
+ import{b as o}from"./chunk-JXF54PT7.js";import"./chunk-QIJLFPWE.js";var e=o(process.versions.node);e&&(console.error(e),process.exit(1));var{buildProgram:s}=await import("./program-CIJEGFYG.js"),{installCliSignalExit:r}=await import("./signal-exit-WL7G3EEZ.js"),{applyConnectAttemptTimeout:i,configPathFromArgv:a,readConnectAttemptTimeout:n}=await import("./net-family-X2P3OVDP.js");r();i(n(process.cwd(),a(process.argv.slice(2))));var t=await s();process.argv.slice(2).length===0?t.outputHelp():t.parse();
3
3
  //# sourceMappingURL=cli.js.map
@@ -1,2 +1,2 @@
1
- import{a,b,c,d,e,f,g}from"./chunk-DTWBB7B7.js";import"./chunk-IBK7AG4S.js";import"./chunk-BRK6M6LA.js";import"./chunk-UIBUZ2N3.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-6KZZKCN2.js.map
1
+ import{a,b,c,d,e,f,g}from"./chunk-YE2X3AFU.js";import"./chunk-6UP5VD3H.js";import"./chunk-BRK6M6LA.js";import"./chunk-UIBUZ2N3.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-GLBNS45C.js.map
@@ -0,0 +1,2 @@
1
+ import{Aa as g,Ba as h,Ca as i,Da as j,Ea as k,Fa as l,Ga as m,Ha as n,Ia as o,Ja as p,Ka as q,La as r,Ma as s,Na as t,Oa as u,Pa as v,Qa as w,Ra as x,Sa as y,Ua as z,ua as a,va as b,wa as c,xa as d,ya as e,za as f}from"./chunk-6UP5VD3H.js";import"./chunk-BRK6M6LA.js";import"./chunk-UIBUZ2N3.js";import"./chunk-2QNT5JDS.js";import"./chunk-QIJLFPWE.js";z();export{a as INTEGRATION_KINDS,u as WIKI_CONTRIBUTE_JOB,v as WIKI_CONTRIBUTE_MERGE_JOB,x as WIKI_SUMMARIZE_JOB,o as approvalsConfigSchema,e as callsSchema,c as cameraBotSchema,s as crossFieldProblems,p as daemonConfigSchema,b as eventSubscriptionSchema,q as expandEnvVars,d as isCronExpression,r as loadDaemonConfig,l as membersConfigSchema,g as mergePolicyConfigSchema,k as peopleConfigSchema,j as personSchema,n as qualityReportConfigSchema,m as requestStatusConfigSchema,i as requestsConfigSchema,f as reviewGateConfigSchema,t as validateWorkspaces,h as watchersConfigSchema,w as withContributionJobs,y as withSummariesJob};
2
+ //# sourceMappingURL=config-VRDFC7LW.js.map
@@ -1,2 +1,2 @@
1
- import{a,b}from"./chunk-3BMIZY6X.js";import"./chunk-IBK7AG4S.js";import"./chunk-BRK6M6LA.js";import"./chunk-UIBUZ2N3.js";import"./chunk-2QNT5JDS.js";import"./chunk-QIJLFPWE.js";export{a as mutateAgentxConfig,b as writeAgentxConfig};
2
- //# sourceMappingURL=config-mutate-57YT7BNB.js.map
1
+ import{a,b}from"./chunk-EG7Y2XLK.js";import"./chunk-6UP5VD3H.js";import"./chunk-BRK6M6LA.js";import"./chunk-UIBUZ2N3.js";import"./chunk-2QNT5JDS.js";import"./chunk-QIJLFPWE.js";export{a as mutateAgentxConfig,b as writeAgentxConfig};
2
+ //# sourceMappingURL=config-mutate-HU3KKYCD.js.map
@@ -0,0 +1,2 @@
1
+ import{a,b,c,d,e}from"./chunk-E7YHXMJG.js";import"./chunk-6UP5VD3H.js";import"./chunk-BRK6M6LA.js";import"./chunk-UIBUZ2N3.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-JCAIGP6W.js.map
@@ -1,4 +1,4 @@
1
- import{a as ee}from"./chunk-SK24JFEK.js";import"./chunk-7O7VDA3J.js";import{f as Q,k as V}from"./chunk-5TTHN7DP.js";import{b as O}from"./chunk-PE5V2LI7.js";import"./chunk-GQ76J72O.js";import"./chunk-ILEC3IAV.js";import"./chunk-OWNQ2FD4.js";import{b as X}from"./chunk-KEXBEUSU.js";import"./chunk-5TFXFLMN.js";import"./chunk-SKSYII3K.js";import"./chunk-UTYNYG7M.js";import"./chunk-WPNRDEHW.js";import"./chunk-MWNCS57L.js";import"./chunk-4LWFJ4MZ.js";import"./chunk-BIJHMWXK.js";import"./chunk-TZVJP4H3.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-MCI3DIWW.js";import"./chunk-6TURWSMN.js";import"./chunk-QD6IICK7.js";import{b as N,c as H}from"./chunk-QOYAX2FT.js";import"./chunk-2PJKGZWP.js";import"./chunk-7I7IEX4S.js";import"./chunk-IBK7AG4S.js";import"./chunk-BRK6M6LA.js";import"./chunk-UIBUZ2N3.js";import"./chunk-2QNT5JDS.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";import{createHash as le}from"crypto";import{existsSync as z,mkdirSync as ne,readdirSync as re,readFileSync as ge,renameSync as se,writeFileSync as pe}from"fs";import{resolve as w}from"path";var _={maxPatches:30,maxCostUsd:.5,maxItems:60},he=12,fe=2e3,me=1500,M=8,U=300,be=12,B="## Checked facts";function S(n){return w(n,"_contributions")}function E(n,r){if(!z(n))return r;try{return JSON.parse(ge(n,"utf-8"))}catch(t){throw new Error(`${n} is not valid JSON: ${t.message}`)}}function L(n,r){ne(w(n,".."),{recursive:!0});let t=`${n}.${process.pid}.tmp`;pe(t,`${JSON.stringify(r,null,2)}
1
+ import{a as ee}from"./chunk-GTOQWMRY.js";import"./chunk-7ICJCJ43.js";import{f as Q,k as V}from"./chunk-5TTHN7DP.js";import{b as O}from"./chunk-PE5V2LI7.js";import"./chunk-GQ76J72O.js";import"./chunk-ILEC3IAV.js";import"./chunk-OWNQ2FD4.js";import{b as X}from"./chunk-KEXBEUSU.js";import"./chunk-7HCSLOTP.js";import"./chunk-SKSYII3K.js";import"./chunk-Q2QU32JP.js";import"./chunk-WPNRDEHW.js";import"./chunk-MWNCS57L.js";import"./chunk-4LWFJ4MZ.js";import"./chunk-BIJHMWXK.js";import"./chunk-5TGY4RIQ.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-MCI3DIWW.js";import"./chunk-6TURWSMN.js";import"./chunk-QD6IICK7.js";import{b as N,c as H}from"./chunk-QOYAX2FT.js";import"./chunk-2PJKGZWP.js";import"./chunk-7I7IEX4S.js";import"./chunk-6UP5VD3H.js";import"./chunk-BRK6M6LA.js";import"./chunk-UIBUZ2N3.js";import"./chunk-2QNT5JDS.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";import{createHash as le}from"crypto";import{existsSync as z,mkdirSync as ne,readdirSync as re,readFileSync as ge,renameSync as se,writeFileSync as pe}from"fs";import{resolve as w}from"path";var _={maxPatches:30,maxCostUsd:.5,maxItems:60},he=12,fe=2e3,me=1500,M=8,U=300,be=12,B="## Checked facts";function S(n){return w(n,"_contributions")}function E(n,r){if(!z(n))return r;try{return JSON.parse(ge(n,"utf-8"))}catch(t){throw new Error(`${n} is not valid JSON: ${t.message}`)}}function L(n,r){ne(w(n,".."),{recursive:!0});let t=`${n}.${process.pid}.tmp`;pe(t,`${JSON.stringify(r,null,2)}
2
2
  `),se(t,n)}function ie(n){return{agents:E(w(S(n),"state.json"),{agents:{}}).agents??{}}}function ye(n){let r=w(S(n),"pending");return z(r)?re(r).filter(t=>t.endsWith(".json")).sort().map(t=>E(w(r,t),null)).filter(t=>!!t):[]}function G(n){return w(S(n),"held.json")}function K(n,r={}){let t=E(G(n),[]);return r.all?t:t.filter(a=>a.status==="held")}function _e(n){let r=w(S(n),"reports");if(!z(r))return null;let t=re(r).filter(a=>a.endsWith(".json")).sort().pop();return t?E(w(r,t),null):null}function ke(n,r,t,a={}){let o=ie(r).agents[t],c=a.now??Date.now(),e=a.since??o?.lastRunAt??new Date(c-864e5).toISOString(),d=e.slice(0,10),u=new Set(o?.processed??[]),s=[];for(let g of n.getAgentEntries(t))g.date<d||u.has(g.id)||s.push({id:g.id,at:g.date,kind:"chat",title:[g.source,g.sourceContext].filter(Boolean).join(" \xB7 "),text:g.content});if(a.db){let g=Date.parse(e);for(let l of V(a.db,{agentId:t,since:Number.isFinite(g)?g:void 0,limit:500})){if(l.status==="in-flight"||u.has(l.taskId))continue;let k=(Q(a.db,l.taskId)?.steps??[]).filter(b=>b.name==="tool_use"||b.action).slice(0,be).map(b=>`- ${b.action??b.name}${b.inputSummary?` ${x(b.inputSummary,160)}`:""}${b.outputSummary?` \u2192 ${x(b.outputSummary,240)}`:""}${b.error?` \u2717 ${x(b.error,120)}`:""}`),y=[`Request: ${x(l.originalMessage??l.messagePreview??"",600)}`,k.length?`Tool calls:
3
3
  ${k.join(`
4
4
  `)}`:"",l.finalResponse?`Reply: ${x(l.finalResponse,800)}`:""].filter(Boolean).join(`
@@ -54,4 +54,4 @@ _Sources: ${t.sources.join("; ")}._`,a);return n.writeArticle(r,{title:t.title,.
54
54
  `).replace(/\n{3,}/g,`
55
55
 
56
56
  `).trim(),superseded:d}}function Ce(n){let r=n.previous?` (previously: ${n.previous})`:"";return`- **${n.attribute}:** ${n.value} \u2014 ${n.source}; checked ${n.checkedAt.slice(0,10)} by ${n.by}${r}`}function Re(n){let r=n.match(/^- \*\*.+?:\*\* (.*?) — .*?; checked (\S+) by \S+(?: \(previously: (.*)\))?$/);return r?{value:r[1],checkedAt:r[2],...r[3]?{previous:r[3]}:{}}:void 0}function J(n,r){return`contribution:${n}@${r.slice(0,10)}`}var Te={person:"people",project:"projects",place:"places",concept:"concepts",event:"events",decision:"decisions",pattern:"patterns"};function de(n,r,t){let a=r.toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"").slice(0,60)||"page",o=t?Te[t]:"contributions",c=`${o}/${a}.md`;for(let e=2;n.readArticle(c);e++)c=`${o}/${a}-${e}.md`;return c}export{_ as DEFAULT_CONTRIBUTION_LIMITS,B as FACTS_HEADING,ue as applyFactLines,De as approveHeld,xe as buildContributionPrompt,S as contributionsDir,_e as latestReport,K as listHeld,ye as listPendingBatches,Be as mergeContributions,W as pageKey,Ae as parseContributionPatches,ke as pendingWork,Se as possibleDuplicate,Fe as rejectHeld,ce as replaceOnce,Me as runContribution};
57
- //# sourceMappingURL=contributions-Y6B6LG7X.js.map
57
+ //# sourceMappingURL=contributions-JXPYCLVB.js.map
@@ -0,0 +1,2 @@
1
+ import{b as a,c as b,d as c,e as d,f as e,g as f,h as g}from"./chunk-HAEI2LNC.js";import"./chunk-Z3AI4KXT.js";import"./chunk-IMLAPB7G.js";import"./chunk-TJZGAKIB.js";import"./chunk-VY7TBMJU.js";import"./chunk-KP7KDLZ2.js";import"./chunk-JXF54PT7.js";import"./chunk-6UP5VD3H.js";import"./chunk-BRK6M6LA.js";import"./chunk-UIBUZ2N3.js";import"./chunk-2QNT5JDS.js";import"./chunk-QIJLFPWE.js";export{g as daemonVoiceCheck,b as doctor,a as runDoctorChecks,e as runMirrorChecks,d as runNativeChecks,c as runNotificationChecks,f as runReminderChecks};
2
+ //# sourceMappingURL=doctor-5Y7QSXNQ.js.map
@@ -1,7 +1,7 @@
1
- import{b as h}from"./chunk-GECGRCYC.js";import"./chunk-RKPAVWXF.js";import{b as I}from"./chunk-DG2DC43E.js";import"./chunk-WBG6NA7R.js";import"./chunk-USTNT7P7.js";import"./chunk-MOCKFVYE.js";import"./chunk-K3QDK4BX.js";import"./chunk-3UOTLMXD.js";import"./chunk-FCPTN6NF.js";import"./chunk-7I7IEX4S.js";import"./chunk-IBK7AG4S.js";import"./chunk-BRK6M6LA.js";import"./chunk-UIBUZ2N3.js";import"./chunk-2QNT5JDS.js";import"./chunk-QIJLFPWE.js";var p=t=>typeof t=="string"?t.trim():"";function $(t){return[`Run ${t.runId} "${t.title}" [${t.status}] on step ${t.step}: waiting on ${t.waitingOn}.`,t.tags?.length?`Tags: ${t.tags.join(", ")}`:"",...(t.steps??[]).slice(-8).map(s=>`- ${String(s.at).slice(0,16).replace("T"," ")} ${s.step} ${s.status}${s.note?`: ${s.note}`:""}`)].filter(Boolean).join(`
1
+ import{b as h}from"./chunk-QXPX2NGL.js";import"./chunk-RKPAVWXF.js";import{b as I}from"./chunk-PYHR4HXO.js";import"./chunk-KP7KDLZ2.js";import"./chunk-GJMYG53S.js";import"./chunk-P6PFTNN4.js";import"./chunk-E7YHXMJG.js";import"./chunk-3UOTLMXD.js";import"./chunk-FCPTN6NF.js";import"./chunk-7I7IEX4S.js";import"./chunk-6UP5VD3H.js";import"./chunk-BRK6M6LA.js";import"./chunk-UIBUZ2N3.js";import"./chunk-2QNT5JDS.js";import"./chunk-QIJLFPWE.js";var p=t=>typeof t=="string"?t.trim():"";function $(t){return[`Run ${t.runId} "${t.title}" [${t.status}] on step ${t.step}: waiting on ${t.waitingOn}.`,t.tags?.length?`Tags: ${t.tags.join(", ")}`:"",...(t.steps??[]).slice(-8).map(s=>`- ${String(s.at).slice(0,16).replace("T"," ")} ${s.step} ${s.status}${s.note?`: ${s.note}`:""}`)].filter(Boolean).join(`
2
2
  `)}async function T(t,c){let s=c.fetch??fetch,m=c.daemonUrl.replace(/\/$/,""),r=(p(t.action)||"list").toLowerCase(),f=c.env??process.env,w=async i=>{let l=await s(`${m}${i}`,{signal:AbortSignal.timeout(1e4)}),n=await l.json().catch(()=>({}));return{ok:l.ok,status:l.status,data:n}};try{if(r==="list"){let e=await w("/follow-up");if(!e.ok)return`Error: ${e.data?.error||`HTTP ${e.status}`}`;let o=e.data.groups??[];return o.length?o.map(d=>[`${d.tag}:`,...d.rows.map(a=>`- ${a.runId} "${a.title}" on ${a.step}: waiting on ${a.waitingOn} (since ${String(a.since).slice(0,16).replace("T"," ")} UTC)`)].join(`
3
3
  `)).join(`
4
4
  `):"No follow-up workflows are running."}if(r==="match"){let e=p(t.request)||p(t.title);if(!e)return"Error: match needs `request`: the owner's request in their words.";let o=h(t,f),d=await w(`/follow-up/match?q=${encodeURIComponent(e)}${o?`&agentId=${encodeURIComponent(o.agentId)}`:""}`);if(!d.ok)return`Error: ${d.data?.error||`HTTP ${d.status}`}`;let a=d.data.matches??[];return a.length?["Saved workflows, best fit first (confidence 0-1):",...a.map(u=>`- ${u.workflowId} "${u.title}" (${u.confidence}${u.autoStart?", starts without asking":""}): ${u.steps.map(k=>k.id).join(" \u2192 ")}`),'Start one with {action:"start", workflowId:"<id>", title:"\u2026", tags:["client:<name>"]}. Run its steps through the workflow, not by hand.'].join(`
5
5
  `):"No saved workflow fits. If the request has several steps, build one: start with title and steps."}if(r==="status"){let e=p(t.runId);if(!e)return"Error: status needs runId.";let o=await w(`/follow-up/${encodeURIComponent(e)}`);return o.ok?$(o.data.run):`Error: ${o.data?.error||`HTTP ${o.status}`}`}let i=h(t,f);if(!i)return"Error: couldn't tell which agent you are. Pass callerAgentId.";let l=await s(`${m}/follow-up`,{method:"POST",headers:{"Content-Type":"application/json",...I(f)},body:JSON.stringify({action:r,agentId:i.agentId,workflowId:t.workflowId,title:t.title,description:t.description,tags:t.tags,inputs:t.inputs,steps:t.steps,edges:t.edges,approval:t.approval,autoStart:t.autoStart,requestId:t.requestId,runId:t.runId,step:t.step,evidence:t.evidence,note:t.note,reason:t.reason,fromRun:t.fromRun,status:t.status}),signal:AbortSignal.timeout(2e4)}),n=await l.json().catch(()=>({}));if(!l.ok)return`Error: ${n?.error||`HTTP ${l.status}`}`;if(r==="start"){let e=n.run;return[`Started run ${e.runId} "${e.title}"${n.built?" (built from the steps you gave; propose it with fromRun to keep it)":""}.`,n.awaitingApproval?"It waits for the owner's approval before the first step.":`It is on step ${e.step}: ${e.waitingOn}.`,"AgentX follows it from here: it starts each step, reminds whoever is slow, and tells the owner when it ends. Do not run its steps by hand.",...n.warning?[`Note: ${n.warning}`]:[]].join(" ")}return r==="plan"?[`Plan recorded on run ${n.run?.runId??t.runId}:`,...(n.plan??[]).map(e=>`- ${e.id} ${e.title}`),'Report each step with {action:"step", runId, step:"<id>", status:"started"|"done"|"failed"}.'].join(`
6
6
  `):r==="step"?`Step recorded. ${n.run?$(n.run):""}`.trim():r==="done"?`Step recorded as done. ${n.run?$(n.run):""}`.trim():r==="blocked"?"The step is marked blocked and the owner is told. Nothing more happens on it until it is sorted.":`Saved ${n.workflowId} switched off, and asked the owner (card ${n.cardId}) whether to keep it as a reusable workflow.`}catch(i){return`Error: couldn't reach the daemon (${i?.message??i}).`}}export{T as runWorkflowTool};
7
- //# sourceMappingURL=follow-up-tool-5AMZKVI4.js.map
7
+ //# sourceMappingURL=follow-up-tool-53AYA2UQ.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"./chunk-UFX6INNI.js";import"./chunk-UVJLIHLL.js";import"./chunk-OWNQ2FD4.js";import"./chunk-KEXBEUSU.js";import"./chunk-ROLSSYXE.js";import"./chunk-UTYNYG7M.js";import"./chunk-WPNRDEHW.js";import"./chunk-TZVJP4H3.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-MCI3DIWW.js";import"./chunk-QOYAX2FT.js";import"./chunk-2PJKGZWP.js";import"./chunk-7I7IEX4S.js";import"./chunk-IBK7AG4S.js";import"./chunk-BRK6M6LA.js";import"./chunk-UIBUZ2N3.js";import"./chunk-2QNT5JDS.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";export{a as WikiHub};
2
- //# sourceMappingURL=hub-BZF3ZYQ5.js.map
1
+ import{a}from"./chunk-PUW4C6YO.js";import"./chunk-UVF3K5YS.js";import"./chunk-OWNQ2FD4.js";import"./chunk-KEXBEUSU.js";import"./chunk-ROLSSYXE.js";import"./chunk-Q2QU32JP.js";import"./chunk-WPNRDEHW.js";import"./chunk-5TGY4RIQ.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-MCI3DIWW.js";import"./chunk-QOYAX2FT.js";import"./chunk-2PJKGZWP.js";import"./chunk-7I7IEX4S.js";import"./chunk-6UP5VD3H.js";import"./chunk-BRK6M6LA.js";import"./chunk-UIBUZ2N3.js";import"./chunk-2QNT5JDS.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";export{a as WikiHub};
2
+ //# sourceMappingURL=hub-YCOUZFNU.js.map
package/dist/index.d.ts CHANGED
@@ -6506,6 +6506,53 @@ declare const daemonConfigSchema: z.ZodObject<{
6506
6506
  pollSeconds?: number | undefined;
6507
6507
  lookbackHours?: number | undefined;
6508
6508
  }>>;
6509
+ /** The OS layer (src/native, #1062): banners, sounds, Focus and the OS
6510
+ * task app go through one adapter per OS. "none" turns it off here. */
6511
+ native: z.ZodDefault<z.ZodObject<{
6512
+ adapter: z.ZodDefault<z.ZodEnum<["auto", "none"]>>;
6513
+ /** The Reminders mirror (src/approvals/mirror.ts, #1062): each waiting
6514
+ * card and request becomes a task in the OS task app. Off by default. */
6515
+ mirror: z.ZodDefault<z.ZodObject<{
6516
+ enabled: z.ZodDefault<z.ZodBoolean>;
6517
+ /** Not "AgentX": that is reminders.lists' default, and a list both
6518
+ * mirrored and watched would loop. */
6519
+ list: z.ZodDefault<z.ZodEffects<z.ZodString, string, string>>;
6520
+ dueAfterMinutes: z.ZodDefault<z.ZodNumber>;
6521
+ include: z.ZodDefault<z.ZodArray<z.ZodEnum<["card", "request"]>, "many">>;
6522
+ /** Where the owner answers. Unset: the local dashboard's Approvals page. */
6523
+ answerUrl: z.ZodOptional<z.ZodString>;
6524
+ }, "strip", z.ZodTypeAny, {
6525
+ enabled: boolean;
6526
+ list: string;
6527
+ dueAfterMinutes: number;
6528
+ include: ("card" | "request")[];
6529
+ answerUrl?: string | undefined;
6530
+ }, {
6531
+ enabled?: boolean | undefined;
6532
+ list?: string | undefined;
6533
+ dueAfterMinutes?: number | undefined;
6534
+ include?: ("card" | "request")[] | undefined;
6535
+ answerUrl?: string | undefined;
6536
+ }>>;
6537
+ }, "strip", z.ZodTypeAny, {
6538
+ adapter: "auto" | "none";
6539
+ mirror: {
6540
+ enabled: boolean;
6541
+ list: string;
6542
+ dueAfterMinutes: number;
6543
+ include: ("card" | "request")[];
6544
+ answerUrl?: string | undefined;
6545
+ };
6546
+ }, {
6547
+ adapter?: "auto" | "none" | undefined;
6548
+ mirror?: {
6549
+ enabled?: boolean | undefined;
6550
+ list?: string | undefined;
6551
+ dueAfterMinutes?: number | undefined;
6552
+ include?: ("card" | "request")[] | undefined;
6553
+ answerUrl?: string | undefined;
6554
+ } | undefined;
6555
+ }>>;
6509
6556
  /** The phone app (/app) beyond pairing and notifications (#676). */
6510
6557
  app: z.ZodDefault<z.ZodObject<{
6511
6558
  /** The AgentX Android app (apps/android). Chrome shows it full screen,
@@ -9520,6 +9567,16 @@ declare const daemonConfigSchema: z.ZodObject<{
9520
9567
  pollSeconds: number;
9521
9568
  lookbackHours: number;
9522
9569
  };
9570
+ native: {
9571
+ adapter: "auto" | "none";
9572
+ mirror: {
9573
+ enabled: boolean;
9574
+ list: string;
9575
+ dueAfterMinutes: number;
9576
+ include: ("card" | "request")[];
9577
+ answerUrl?: string | undefined;
9578
+ };
9579
+ };
9523
9580
  meshVoices: Record<string, {
9524
9581
  system?: string | Record<string, string> | undefined;
9525
9582
  provider?: "system" | "elevenlabs" | undefined;
@@ -10655,6 +10712,16 @@ declare const daemonConfigSchema: z.ZodObject<{
10655
10712
  pollSeconds?: number | undefined;
10656
10713
  lookbackHours?: number | undefined;
10657
10714
  } | undefined;
10715
+ native?: {
10716
+ adapter?: "auto" | "none" | undefined;
10717
+ mirror?: {
10718
+ enabled?: boolean | undefined;
10719
+ list?: string | undefined;
10720
+ dueAfterMinutes?: number | undefined;
10721
+ include?: ("card" | "request")[] | undefined;
10722
+ answerUrl?: string | undefined;
10723
+ } | undefined;
10724
+ } | undefined;
10658
10725
  meshVoices?: Record<string, {
10659
10726
  system?: string | Record<string, string> | undefined;
10660
10727
  provider?: "system" | "elevenlabs" | undefined;
@@ -11537,6 +11604,9 @@ declare class EventBus {
11537
11604
 
11538
11605
  declare class AgentXDaemon {
11539
11606
  private config;
11607
+ /** The OS layer (src/native). Read from the config on each use, so a
11608
+ * reload that changes native.adapter or reminders.command applies. */
11609
+ private get native();
11540
11610
  private registry;
11541
11611
  private router;
11542
11612
  private cron;
@@ -11734,6 +11804,10 @@ declare class AgentXDaemon {
11734
11804
  /** On the push host: the subscriptions table relayed phones use (#711). */
11735
11805
  private pushHost?;
11736
11806
  private approvalsSweeping;
11807
+ private mirroring;
11808
+ /** One pass of the Reminders mirror, when it is on and this machine
11809
+ * has a task app (src/approvals/mirror.ts). */
11810
+ private mirrorTick;
11737
11811
  /** Every minute: expire decision cards, tell agents their results, and
11738
11812
  * send the day's digest when due (src/approvals/sweep.ts). */
11739
11813
  private startApprovalsSweep;
@@ -11787,7 +11861,7 @@ declare class AgentXDaemon {
11787
11861
  /** A follow-up run ended: its request closes with the steps' evidence,
11788
11862
  * or needs attention (the summary already told the owner). */
11789
11863
  private workflowRequestEnded;
11790
- /** A check-in pass when one is due, or `force` now. macOS only. */
11864
+ /** A check-in pass when one is due, or `force` now. Needs the OS task app. */
11791
11865
  runCheckin(force?: PassKind): Promise<PassResult | null>;
11792
11866
  private stopReminders?;
11793
11867
  /** Hand due Apple Reminders back to the agent that created them (src/reminders). */
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import{Aa as Tt,Ba as Mt,a as St,b as kt,c as vt,d as xt,e as $t,f as Ct,g as Pt,h as bt}from"./chunk-NBDYBTI6.js";import"./chunk-MO7DH5L6.js";import"./chunk-GTJIKXDB.js";import"./chunk-WCOT35YG.js";import"./chunk-S2GAEH2F.js";import"./chunk-7LN4VKDU.js";import"./chunk-IMLAPB7G.js";import"./chunk-ZVP6GB4G.js";import"./chunk-2D3RYIDU.js";import"./chunk-MRIVENBY.js";import"./chunk-MMBFAVBR.js";import"./chunk-TJZGAKIB.js";import"./chunk-PPUN7YHA.js";import"./chunk-VZLIBDLH.js";import"./chunk-EKJG63EJ.js";import"./chunk-UYLVSS6I.js";import"./chunk-AQASR6KR.js";import"./chunk-EMGB23H5.js";import"./chunk-JAML6222.js";import"./chunk-YMX3QCV7.js";import"./chunk-JWDJMFU6.js";import"./chunk-5HLD66CW.js";import"./chunk-IS2IWRP7.js";import"./chunk-LQE73AZR.js";import"./chunk-VY7TBMJU.js";import"./chunk-DG2DC43E.js";import"./chunk-WBG6NA7R.js";import"./chunk-USTNT7P7.js";import"./chunk-A5GYG56I.js";import"./chunk-2AXFYDWF.js";import{m as lt,n as ct,o as dt,p as mt,pa as yt,q as pt}from"./chunk-SNCRLEH3.js";import"./chunk-O7ZJS33Z.js";import"./chunk-MEFPXHQJ.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-QNS3WHGU.js";import{a as B,b as M,c as F}from"./chunk-SFQUP3BP.js";import"./chunk-6TTGRTDO.js";import"./chunk-SZDACK6O.js";import"./chunk-VE3SSOQX.js";import"./chunk-W4YR2RO2.js";import"./chunk-AFRHKA7B.js";import"./chunk-5TTHN7DP.js";import{s as ut}from"./chunk-MOCKFVYE.js";import"./chunk-K3QDK4BX.js";import"./chunk-3UOTLMXD.js";import"./chunk-36AXN6ZB.js";import"./chunk-PE5V2LI7.js";import"./chunk-GQ76J72O.js";import"./chunk-ILEC3IAV.js";import"./chunk-J3SOEFRE.js";import"./chunk-SIU6STB2.js";import"./chunk-X5C5W3E4.js";import"./chunk-GV7S5BAX.js";import"./chunk-GSX4NK2N.js";import"./chunk-VWTBHLMX.js";import"./chunk-UFX6INNI.js";import{a as ht}from"./chunk-UVJLIHLL.js";import"./chunk-OWNQ2FD4.js";import"./chunk-KEXBEUSU.js";import"./chunk-ROLSSYXE.js";import"./chunk-5TFXFLMN.js";import"./chunk-SKSYII3K.js";import{f as gt,g as ft}from"./chunk-UTYNYG7M.js";import"./chunk-WPNRDEHW.js";import"./chunk-MWNCS57L.js";import"./chunk-4LWFJ4MZ.js";import"./chunk-BIJHMWXK.js";import"./chunk-OT5KLHUT.js";import{j as it,k as rt,l as at}from"./chunk-TZVJP4H3.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-MCI3DIWW.js";import"./chunk-MYVHVJWZ.js";import"./chunk-6TURWSMN.js";import"./chunk-AV7T3SYT.js";import"./chunk-Y5MFVVTM.js";import"./chunk-QD6IICK7.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{Ja as tt,La as st,Ma as ot,Ta as nt}from"./chunk-IBK7AG4S.js";import"./chunk-BRK6M6LA.js";import"./chunk-UIBUZ2N3.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{Aa as Tt,Ba as Mt,a as St,b as kt,c as vt,d as xt,e as $t,f as Ct,g as Pt,h as bt}from"./chunk-ZZNAR6R2.js";import"./chunk-JCFVH3NC.js";import"./chunk-GTJIKXDB.js";import"./chunk-7T6SMNVY.js";import"./chunk-Z3AI4KXT.js";import"./chunk-7LN4VKDU.js";import"./chunk-IMLAPB7G.js";import"./chunk-ZVP6GB4G.js";import"./chunk-2D3RYIDU.js";import"./chunk-MRIVENBY.js";import"./chunk-MMBFAVBR.js";import"./chunk-TJZGAKIB.js";import"./chunk-PPUN7YHA.js";import"./chunk-VZLIBDLH.js";import"./chunk-EKJG63EJ.js";import"./chunk-P5BFFU4Y.js";import"./chunk-AQASR6KR.js";import"./chunk-EMGB23H5.js";import"./chunk-JAML6222.js";import"./chunk-YMX3QCV7.js";import"./chunk-JWDJMFU6.js";import"./chunk-5HLD66CW.js";import"./chunk-IS2IWRP7.js";import"./chunk-LQE73AZR.js";import"./chunk-VY7TBMJU.js";import"./chunk-PYHR4HXO.js";import"./chunk-KP7KDLZ2.js";import"./chunk-GJMYG53S.js";import"./chunk-A5GYG56I.js";import"./chunk-2AXFYDWF.js";import{m as lt,n as ct,o as dt,p as mt,pa as yt,q as pt}from"./chunk-7W3TLSZQ.js";import"./chunk-KW6SHOAN.js";import"./chunk-MEFPXHQJ.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-MXDTLR45.js";import{a as B,b as M,c as F}from"./chunk-SFQUP3BP.js";import"./chunk-6TTGRTDO.js";import"./chunk-SZDACK6O.js";import"./chunk-VE3SSOQX.js";import"./chunk-W4YR2RO2.js";import"./chunk-AFRHKA7B.js";import"./chunk-5TTHN7DP.js";import{s as ut}from"./chunk-P6PFTNN4.js";import"./chunk-E7YHXMJG.js";import"./chunk-3UOTLMXD.js";import"./chunk-36AXN6ZB.js";import"./chunk-PE5V2LI7.js";import"./chunk-GQ76J72O.js";import"./chunk-ILEC3IAV.js";import"./chunk-J3SOEFRE.js";import"./chunk-SIU6STB2.js";import"./chunk-X5C5W3E4.js";import"./chunk-GV7S5BAX.js";import"./chunk-GSX4NK2N.js";import"./chunk-VWTBHLMX.js";import"./chunk-PUW4C6YO.js";import{a as ht}from"./chunk-UVF3K5YS.js";import"./chunk-OWNQ2FD4.js";import"./chunk-KEXBEUSU.js";import"./chunk-ROLSSYXE.js";import"./chunk-7HCSLOTP.js";import"./chunk-SKSYII3K.js";import{f as gt,g as ft}from"./chunk-Q2QU32JP.js";import"./chunk-WPNRDEHW.js";import"./chunk-MWNCS57L.js";import"./chunk-4LWFJ4MZ.js";import"./chunk-BIJHMWXK.js";import"./chunk-EKAUOUN2.js";import{j as it,k as rt,l as at}from"./chunk-5TGY4RIQ.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-MCI3DIWW.js";import"./chunk-MYVHVJWZ.js";import"./chunk-6TURWSMN.js";import"./chunk-AV7T3SYT.js";import"./chunk-Y5MFVVTM.js";import"./chunk-QD6IICK7.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{Ja as tt,La as st,Na as ot,Ua as nt}from"./chunk-6UP5VD3H.js";import"./chunk-BRK6M6LA.js";import"./chunk-UIBUZ2N3.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).