agentix-cli 0.135.1 → 0.136.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 (173) hide show
  1. package/dist/{App-4UVAI5C5.js → App-D6W6IV2L.js} +2 -2
  2. package/dist/{ChatApp-COO67WIR.js → ChatApp-X7TNCFGW.js} +2 -2
  3. package/dist/{absorb-eval-YT5TOTC7.js → absorb-eval-COPVH2M2.js} +2 -2
  4. package/dist/{agent-DRUIMWF5.js → agent-TMTYLAOV.js} +2 -2
  5. package/dist/{board-dashboard-2524GN5N.js → board-dashboard-OSI4X5ZJ.js} +4 -4
  6. package/dist/{board-dashboard-2524GN5N.js.map → board-dashboard-OSI4X5ZJ.js.map} +1 -1
  7. package/dist/{chunk-SN7YH4E4.js → chunk-4AFA6LQZ.js} +2 -2
  8. package/dist/chunk-4ZWZ42YE.js +5 -0
  9. package/dist/{chunk-KXR6GVL7.js.map → chunk-4ZWZ42YE.js.map} +1 -1
  10. package/dist/{chunk-DYGQF3MI.js → chunk-54OORW5I.js} +2 -2
  11. package/dist/chunk-54OORW5I.js.map +1 -0
  12. package/dist/{chunk-TTG3ZW3W.js → chunk-5J5USW2O.js} +2 -2
  13. package/dist/{chunk-3XVST5XX.js → chunk-5X37CXJF.js} +2 -2
  14. package/dist/{chunk-3D5XUOBL.js → chunk-63LV77EG.js} +2 -2
  15. package/dist/{chunk-4XMALK7X.js → chunk-66DPMVUC.js} +2 -2
  16. package/dist/{chunk-SSQMFHSM.js → chunk-AK3XOA5N.js} +2 -2
  17. package/dist/chunk-AKWBDCMU.js +4 -0
  18. package/dist/chunk-AKWBDCMU.js.map +1 -0
  19. package/dist/{chunk-3F4GPRGQ.js → chunk-EGDY762K.js} +2 -2
  20. package/dist/{chunk-ZEAT2B5B.js → chunk-EVTTAM7S.js} +2 -2
  21. package/dist/{chunk-K445URSN.js → chunk-FQLSV2C4.js} +2 -2
  22. package/dist/{chunk-UXOGNBGL.js → chunk-FRTELYZ4.js} +2 -2
  23. package/dist/chunk-G26UHWS4.js +105 -0
  24. package/dist/chunk-G26UHWS4.js.map +1 -0
  25. package/dist/{chunk-FWDRBUMS.js → chunk-GL3H7XMI.js} +2 -2
  26. package/dist/{chunk-XOUO4XNA.js → chunk-HEJTE7OC.js} +2 -2
  27. package/dist/{chunk-QDWEM4DG.js → chunk-HZZW35FY.js} +2 -2
  28. package/dist/{chunk-RRGITX5B.js → chunk-IPMXIPTS.js} +2 -2
  29. package/dist/{chunk-UTW56K5I.js → chunk-KZXQD6ZK.js} +2 -2
  30. package/dist/{chunk-P3I7AATX.js → chunk-M5AHI2PZ.js} +2 -2
  31. package/dist/{chunk-WYEWNN76.js → chunk-NVZ66ITP.js} +6 -6
  32. package/dist/{chunk-ERULJ2ZL.js → chunk-OW5EXDVY.js} +2 -2
  33. package/dist/chunk-OWNQ2FD4.js +3 -0
  34. package/dist/chunk-OWNQ2FD4.js.map +1 -0
  35. package/dist/chunk-PE5V2LI7.js +2 -0
  36. package/dist/chunk-PE5V2LI7.js.map +1 -0
  37. package/dist/{chunk-32LIPTHM.js → chunk-PV623BLN.js} +3 -3
  38. package/dist/{chunk-R6ECKZLE.js → chunk-QHZFMO6M.js} +2 -2
  39. package/dist/{chunk-R6KLH34H.js → chunk-QW3L5IIC.js} +2 -2
  40. package/dist/chunk-U6EJ53DA.js +16 -0
  41. package/dist/chunk-U6EJ53DA.js.map +1 -0
  42. package/dist/{chunk-WEPON4FP.js → chunk-UNIXYV3U.js} +2 -2
  43. package/dist/{chunk-SMAI7U6H.js → chunk-VA24JS2S.js} +2 -2
  44. package/dist/{chunk-LUYN6RAC.js → chunk-WRJFKA43.js} +2 -2
  45. package/dist/{chunk-NG72DYJR.js → chunk-XXIZGNLT.js} +227 -227
  46. package/dist/chunk-XXIZGNLT.js.map +1 -0
  47. package/dist/cli.js +1 -1
  48. package/dist/{client-NFPBE6L4.js → client-SMOWSRJY.js} +2 -2
  49. package/dist/{config-GHMRBRDL.js → config-OGUDWYAA.js} +2 -2
  50. package/dist/{config-mutate-2XV27EFV.js → config-mutate-BH27TMWK.js} +2 -2
  51. package/dist/config-mutator-Q62AS2TR.js +2 -0
  52. package/dist/{contributions-ZD6ZGTJR.js → contributions-H6T65TCY.js} +2 -2
  53. package/dist/{contributions-ZD6ZGTJR.js.map → contributions-H6T65TCY.js.map} +1 -1
  54. package/dist/{doctor-UBXVMGJG.js → doctor-ZOXHT7ZQ.js} +2 -2
  55. package/dist/enrich-R2LIDLPZ.js +2 -0
  56. package/dist/event-levels-WOYYEWSZ.js +3 -0
  57. package/dist/event-levels-WOYYEWSZ.js.map +1 -0
  58. package/dist/fact-proposals-X2O4W7VN.js +2 -0
  59. package/dist/{follow-up-tool-EARVITTS.js → follow-up-tool-GUBBXNEZ.js} +2 -2
  60. package/dist/{grants-HIFE6L5N.js → grants-CEUGZBQ4.js} +2 -2
  61. package/dist/hub-7AMS6ADP.js +2 -0
  62. package/dist/index.d.ts +18 -1
  63. package/dist/index.js +1 -1
  64. package/dist/index.js.map +1 -1
  65. package/dist/ledger-P62U3FHT.js +2 -0
  66. package/dist/{program-WOQXOAYQ.js → program-IUUHETTV.js} +240 -238
  67. package/dist/program-IUUHETTV.js.map +1 -0
  68. package/dist/promote-VCNVE5JD.js +2 -0
  69. package/dist/{query-RRHYPXOM.js → query-6G27CBZQ.js} +2 -2
  70. package/dist/query-runs-VXS572PQ.js +6 -0
  71. package/dist/query-runs-VXS572PQ.js.map +1 -0
  72. package/dist/{query-settings-WKVLQEVZ.js → query-settings-G4M75LVQ.js} +2 -2
  73. package/dist/registry-MMNG5VZ6.js +2 -0
  74. package/dist/{request-planner-MFAIVLUQ.js → request-planner-T3VCZVVQ.js} +2 -2
  75. package/dist/{review-candidates-6WMDVVIZ.js → review-candidates-C3O3CENL.js} +2 -2
  76. package/dist/rotation-memo-store-Z4D5KRA6.js +2 -0
  77. package/dist/{rotation-memo-store-A4YW6FSK.js.map → rotation-memo-store-Z4D5KRA6.js.map} +1 -1
  78. package/dist/{routing-OPCLHIYW.js → routing-LD35TJM5.js} +2 -2
  79. package/dist/rules-UVUJTVOE.js +24 -0
  80. package/dist/rules-UVUJTVOE.js.map +1 -0
  81. package/dist/schedule-tool-46TVGEYU.js +2 -0
  82. package/dist/{scheduler-G3WWYETY.js → scheduler-I3QB4GI3.js} +2 -2
  83. package/dist/{seat-3HM4J7IX.js → seat-4Y3EW3KU.js} +2 -2
  84. package/dist/{select-VEFE2ESF.js → select-LZKN3FER.js} +2 -2
  85. package/dist/{set-enabled-US5BYKFZ.js → set-enabled-WSTOHJDE.js} +2 -2
  86. package/dist/{tool-HUSCHORN.js → tool-AKXO2EJU.js} +2 -2
  87. package/dist/tool-NLMIUOHR.js +4 -0
  88. package/dist/tool-NLMIUOHR.js.map +1 -0
  89. package/dist/wiki-ZQMDUXTE.js +2 -0
  90. package/dist/wiki-enrich-NPNOSTRM.js +2 -0
  91. package/dist/wiki-enrich-NPNOSTRM.js.map +1 -0
  92. package/package.json +1 -1
  93. package/dist/chunk-AKLZ4YO2.js +0 -4
  94. package/dist/chunk-AKLZ4YO2.js.map +0 -1
  95. package/dist/chunk-DYGQF3MI.js.map +0 -1
  96. package/dist/chunk-KA2UIZXG.js +0 -3
  97. package/dist/chunk-KA2UIZXG.js.map +0 -1
  98. package/dist/chunk-KXR6GVL7.js +0 -5
  99. package/dist/chunk-MUVE3UAS.js +0 -105
  100. package/dist/chunk-MUVE3UAS.js.map +0 -1
  101. package/dist/chunk-NG72DYJR.js.map +0 -1
  102. package/dist/config-mutator-6ITNU5DT.js +0 -2
  103. package/dist/enrich-EFIPWA3P.js +0 -16
  104. package/dist/enrich-EFIPWA3P.js.map +0 -1
  105. package/dist/event-levels-7CY7AJLY.js +0 -3
  106. package/dist/event-levels-7CY7AJLY.js.map +0 -1
  107. package/dist/fact-proposals-LZWS5KFO.js +0 -2
  108. package/dist/hub-MVX3U6A2.js +0 -2
  109. package/dist/ledger-CH7R756S.js +0 -2
  110. package/dist/program-WOQXOAYQ.js.map +0 -1
  111. package/dist/promote-X2XQEEQP.js +0 -2
  112. package/dist/query-runs-WYRNBLLC.js +0 -6
  113. package/dist/query-runs-WYRNBLLC.js.map +0 -1
  114. package/dist/registry-VXK36CCL.js +0 -2
  115. package/dist/rotation-memo-store-A4YW6FSK.js +0 -2
  116. package/dist/schedule-tool-KPVTMYL3.js +0 -2
  117. package/dist/tool-XLWLXGB5.js +0 -4
  118. package/dist/tool-XLWLXGB5.js.map +0 -1
  119. package/dist/wiki-QZ7XNAMJ.js +0 -2
  120. package/dist/wiki-enrich-PMG4T6PP.js +0 -2
  121. /package/dist/{App-4UVAI5C5.js.map → App-D6W6IV2L.js.map} +0 -0
  122. /package/dist/{ChatApp-COO67WIR.js.map → ChatApp-X7TNCFGW.js.map} +0 -0
  123. /package/dist/{absorb-eval-YT5TOTC7.js.map → absorb-eval-COPVH2M2.js.map} +0 -0
  124. /package/dist/{agent-DRUIMWF5.js.map → agent-TMTYLAOV.js.map} +0 -0
  125. /package/dist/{chunk-SN7YH4E4.js.map → chunk-4AFA6LQZ.js.map} +0 -0
  126. /package/dist/{chunk-TTG3ZW3W.js.map → chunk-5J5USW2O.js.map} +0 -0
  127. /package/dist/{chunk-3XVST5XX.js.map → chunk-5X37CXJF.js.map} +0 -0
  128. /package/dist/{chunk-3D5XUOBL.js.map → chunk-63LV77EG.js.map} +0 -0
  129. /package/dist/{chunk-4XMALK7X.js.map → chunk-66DPMVUC.js.map} +0 -0
  130. /package/dist/{chunk-SSQMFHSM.js.map → chunk-AK3XOA5N.js.map} +0 -0
  131. /package/dist/{chunk-3F4GPRGQ.js.map → chunk-EGDY762K.js.map} +0 -0
  132. /package/dist/{chunk-ZEAT2B5B.js.map → chunk-EVTTAM7S.js.map} +0 -0
  133. /package/dist/{chunk-K445URSN.js.map → chunk-FQLSV2C4.js.map} +0 -0
  134. /package/dist/{chunk-UXOGNBGL.js.map → chunk-FRTELYZ4.js.map} +0 -0
  135. /package/dist/{chunk-FWDRBUMS.js.map → chunk-GL3H7XMI.js.map} +0 -0
  136. /package/dist/{chunk-XOUO4XNA.js.map → chunk-HEJTE7OC.js.map} +0 -0
  137. /package/dist/{chunk-QDWEM4DG.js.map → chunk-HZZW35FY.js.map} +0 -0
  138. /package/dist/{chunk-RRGITX5B.js.map → chunk-IPMXIPTS.js.map} +0 -0
  139. /package/dist/{chunk-UTW56K5I.js.map → chunk-KZXQD6ZK.js.map} +0 -0
  140. /package/dist/{chunk-P3I7AATX.js.map → chunk-M5AHI2PZ.js.map} +0 -0
  141. /package/dist/{chunk-WYEWNN76.js.map → chunk-NVZ66ITP.js.map} +0 -0
  142. /package/dist/{chunk-ERULJ2ZL.js.map → chunk-OW5EXDVY.js.map} +0 -0
  143. /package/dist/{chunk-32LIPTHM.js.map → chunk-PV623BLN.js.map} +0 -0
  144. /package/dist/{chunk-R6ECKZLE.js.map → chunk-QHZFMO6M.js.map} +0 -0
  145. /package/dist/{chunk-R6KLH34H.js.map → chunk-QW3L5IIC.js.map} +0 -0
  146. /package/dist/{chunk-WEPON4FP.js.map → chunk-UNIXYV3U.js.map} +0 -0
  147. /package/dist/{chunk-SMAI7U6H.js.map → chunk-VA24JS2S.js.map} +0 -0
  148. /package/dist/{chunk-LUYN6RAC.js.map → chunk-WRJFKA43.js.map} +0 -0
  149. /package/dist/{client-NFPBE6L4.js.map → client-SMOWSRJY.js.map} +0 -0
  150. /package/dist/{config-GHMRBRDL.js.map → config-OGUDWYAA.js.map} +0 -0
  151. /package/dist/{config-mutate-2XV27EFV.js.map → config-mutate-BH27TMWK.js.map} +0 -0
  152. /package/dist/{config-mutator-6ITNU5DT.js.map → config-mutator-Q62AS2TR.js.map} +0 -0
  153. /package/dist/{doctor-UBXVMGJG.js.map → doctor-ZOXHT7ZQ.js.map} +0 -0
  154. /package/dist/{fact-proposals-LZWS5KFO.js.map → enrich-R2LIDLPZ.js.map} +0 -0
  155. /package/dist/{grants-HIFE6L5N.js.map → fact-proposals-X2O4W7VN.js.map} +0 -0
  156. /package/dist/{follow-up-tool-EARVITTS.js.map → follow-up-tool-GUBBXNEZ.js.map} +0 -0
  157. /package/dist/{hub-MVX3U6A2.js.map → grants-CEUGZBQ4.js.map} +0 -0
  158. /package/dist/{ledger-CH7R756S.js.map → hub-7AMS6ADP.js.map} +0 -0
  159. /package/dist/{promote-X2XQEEQP.js.map → ledger-P62U3FHT.js.map} +0 -0
  160. /package/dist/{query-RRHYPXOM.js.map → promote-VCNVE5JD.js.map} +0 -0
  161. /package/dist/{registry-VXK36CCL.js.map → query-6G27CBZQ.js.map} +0 -0
  162. /package/dist/{query-settings-WKVLQEVZ.js.map → query-settings-G4M75LVQ.js.map} +0 -0
  163. /package/dist/{routing-OPCLHIYW.js.map → registry-MMNG5VZ6.js.map} +0 -0
  164. /package/dist/{request-planner-MFAIVLUQ.js.map → request-planner-T3VCZVVQ.js.map} +0 -0
  165. /package/dist/{review-candidates-6WMDVVIZ.js.map → review-candidates-C3O3CENL.js.map} +0 -0
  166. /package/dist/{schedule-tool-KPVTMYL3.js.map → routing-LD35TJM5.js.map} +0 -0
  167. /package/dist/{scheduler-G3WWYETY.js.map → schedule-tool-46TVGEYU.js.map} +0 -0
  168. /package/dist/{seat-3HM4J7IX.js.map → scheduler-I3QB4GI3.js.map} +0 -0
  169. /package/dist/{wiki-QZ7XNAMJ.js.map → seat-4Y3EW3KU.js.map} +0 -0
  170. /package/dist/{select-VEFE2ESF.js.map → select-LZKN3FER.js.map} +0 -0
  171. /package/dist/{set-enabled-US5BYKFZ.js.map → set-enabled-WSTOHJDE.js.map} +0 -0
  172. /package/dist/{tool-HUSCHORN.js.map → tool-AKXO2EJU.js.map} +0 -0
  173. /package/dist/{wiki-enrich-PMG4T6PP.js.map → wiki-ZQMDUXTE.js.map} +0 -0
package/dist/index.d.ts CHANGED
@@ -10940,6 +10940,10 @@ declare class AgentXDaemon {
10940
10940
  /** The channel and chat of the running turn of `agentId` that `proof`
10941
10941
  * names, as the registry files the run. Null when it names none. */
10942
10942
  private provenTurn;
10943
+ /** The agent whose running turn `proof` names: the owner of its task,
10944
+ * or `claimed` when its channel and chat match a running turn of that
10945
+ * agent. Null when the call proves none. */
10946
+ private provenAgent;
10943
10947
  private handleHttp;
10944
10948
  /**
10945
10949
  * OpenAI-compatible chat completions endpoint.
@@ -12299,6 +12303,8 @@ declare class WikiStore {
12299
12303
  readonly baseDir: string;
12300
12304
  private rawDir;
12301
12305
  private log;
12306
+ /** How long a write waits for another process holding the page's lock. */
12307
+ lockWaitMs: number;
12302
12308
  constructor(baseDir?: string, log?: (...args: unknown[]) => void);
12303
12309
  /**
12304
12310
  * Check if an agent can read an article.
@@ -12324,10 +12330,19 @@ declare class WikiStore {
12324
12330
  before?: string;
12325
12331
  }): WikiEntry[];
12326
12332
  private parseEntry;
12333
+ /**
12334
+ * Run `fn` holding the page's lock, so a read → change → write inside it
12335
+ * can't lose a write from another process. Every `writeArticle` takes
12336
+ * the same lock; re-entrant within one process. Locks live under
12337
+ * `_locks/`, which page listings skip. Throws LockBusyError when another
12338
+ * holder keeps it past the wait.
12339
+ */
12340
+ withArticleLock<T>(path: string, fn: () => T): T;
12327
12341
  /**
12328
12342
  * Write or update a wiki article.
12329
12343
  */
12330
12344
  writeArticle(path: string, meta: WikiArticleMeta, content: string, agentId: string): boolean;
12345
+ private writeArticleLocked;
12331
12346
  /**
12332
12347
  * Save current article content as an immutable version before overwriting.
12333
12348
  * Versions stored in _versions/{article-path}/{timestamp}.md
@@ -12341,9 +12356,11 @@ declare class WikiStore {
12341
12356
  path: string;
12342
12357
  }>;
12343
12358
  /**
12344
- * Restore a specific version of an article.
12359
+ * Restore a specific version of an article, holding the page's lock.
12360
+ * Throws LockBusyError when another process holds the page.
12345
12361
  */
12346
12362
  restoreVersion(articlePath: string, versionTimestamp: string): boolean;
12363
+ private restoreLocked;
12347
12364
  /**
12348
12365
  * Read an article. Returns null if not found.
12349
12366
  */
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,la as Tt,ma as Mt}from"./chunk-NG72DYJR.js";import"./chunk-R6ECKZLE.js";import"./chunk-GTJIKXDB.js";import"./chunk-XOUO4XNA.js";import"./chunk-7LN4VKDU.js";import"./chunk-IMLAPB7G.js";import"./chunk-ZVP6GB4G.js";import"./chunk-S2GAEH2F.js";import"./chunk-PPUN7YHA.js";import"./chunk-VZLIBDLH.js";import"./chunk-EKJG63EJ.js";import"./chunk-XGOBZCYC.js";import"./chunk-WCXXXAHV.js";import"./chunk-JWDJMFU6.js";import"./chunk-GRMCAO3Q.js";import"./chunk-KZKDVIOE.js";import"./chunk-LQE73AZR.js";import"./chunk-2D3RYIDU.js";import"./chunk-MRIVENBY.js";import"./chunk-WEPON4FP.js";import"./chunk-AKLZ4YO2.js";import"./chunk-3D5XUOBL.js";import"./chunk-2AXFYDWF.js";import"./chunk-AQASR6KR.js";import"./chunk-EMGB23H5.js";import{ca as yt,m as lt,n as ct,o as dt,p as mt,q as pt}from"./chunk-WYEWNN76.js";import"./chunk-QDWEM4DG.js";import"./chunk-QSKG754X.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-UXOGNBGL.js";import{a as B,b as M,c as F}from"./chunk-SFQUP3BP.js";import"./chunk-Y4CYQV7G.js";import"./chunk-LLNPKE7H.js";import"./chunk-SHEUCITK.js";import"./chunk-FWDRBUMS.js";import"./chunk-SZDACK6O.js";import"./chunk-HF5EF335.js";import"./chunk-W4YR2RO2.js";import"./chunk-AFRHKA7B.js";import{s as ut}from"./chunk-SSQMFHSM.js";import"./chunk-LUYN6RAC.js";import"./chunk-3UOTLMXD.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-GV7S5BAX.js";import"./chunk-GSX4NK2N.js";import"./chunk-VWTBHLMX.js";import"./chunk-SN7YH4E4.js";import{a as ht}from"./chunk-MUVE3UAS.js";import"./chunk-KEXBEUSU.js";import"./chunk-ROLSSYXE.js";import"./chunk-32LIPTHM.js";import"./chunk-SKSYII3K.js";import{f as gt,g as ft}from"./chunk-ERULJ2ZL.js";import"./chunk-WPNRDEHW.js";import"./chunk-MWNCS57L.js";import"./chunk-4LWFJ4MZ.js";import"./chunk-BIJHMWXK.js";import"./chunk-K445URSN.js";import{j as it,k as rt,l as at}from"./chunk-4XMALK7X.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{na as tt,pa as st,qa as ot,xa as nt}from"./chunk-DYGQF3MI.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{a as St,b as kt,c as vt,d as xt,e as $t,f as Ct,g as Pt,h as bt,la as Tt,ma as Mt}from"./chunk-XXIZGNLT.js";import"./chunk-QHZFMO6M.js";import"./chunk-HEJTE7OC.js";import"./chunk-GTJIKXDB.js";import"./chunk-7LN4VKDU.js";import"./chunk-IMLAPB7G.js";import"./chunk-ZVP6GB4G.js";import"./chunk-S2GAEH2F.js";import"./chunk-PPUN7YHA.js";import"./chunk-VZLIBDLH.js";import"./chunk-EKJG63EJ.js";import"./chunk-XGOBZCYC.js";import"./chunk-WCXXXAHV.js";import"./chunk-JWDJMFU6.js";import"./chunk-GRMCAO3Q.js";import"./chunk-KZKDVIOE.js";import"./chunk-LQE73AZR.js";import"./chunk-2D3RYIDU.js";import"./chunk-MRIVENBY.js";import"./chunk-UNIXYV3U.js";import"./chunk-AKWBDCMU.js";import"./chunk-63LV77EG.js";import"./chunk-2AXFYDWF.js";import"./chunk-AQASR6KR.js";import"./chunk-EMGB23H5.js";import{ca as yt,m as lt,n as ct,o as dt,p as mt,q as pt}from"./chunk-NVZ66ITP.js";import"./chunk-HZZW35FY.js";import"./chunk-QSKG754X.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-FRTELYZ4.js";import{a as B,b as M,c as F}from"./chunk-SFQUP3BP.js";import"./chunk-Y4CYQV7G.js";import"./chunk-LLNPKE7H.js";import"./chunk-SHEUCITK.js";import"./chunk-GL3H7XMI.js";import"./chunk-SZDACK6O.js";import"./chunk-HF5EF335.js";import"./chunk-W4YR2RO2.js";import"./chunk-AFRHKA7B.js";import{s as ut}from"./chunk-AK3XOA5N.js";import"./chunk-WRJFKA43.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-4AFA6LQZ.js";import{a as ht}from"./chunk-G26UHWS4.js";import"./chunk-OWNQ2FD4.js";import"./chunk-KEXBEUSU.js";import"./chunk-ROLSSYXE.js";import"./chunk-PV623BLN.js";import"./chunk-SKSYII3K.js";import{f as gt,g as ft}from"./chunk-OW5EXDVY.js";import"./chunk-WPNRDEHW.js";import"./chunk-MWNCS57L.js";import"./chunk-4LWFJ4MZ.js";import"./chunk-BIJHMWXK.js";import"./chunk-FQLSV2C4.js";import{j as it,k as rt,l as at}from"./chunk-66DPMVUC.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{na as tt,pa as st,qa as ot,xa as nt}from"./chunk-54OORW5I.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).