agentix-cli 0.150.0 → 0.152.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 (173) hide show
  1. package/README.md +0 -1
  2. package/dist/{App-2O2UUZGG.js → App-NCB3Y5DS.js} +2 -2
  3. package/dist/{ChatApp-YU4NF63L.js → ChatApp-HOWN5H7Y.js} +2 -2
  4. package/dist/{absorb-eval-WHWOJYDX.js → absorb-eval-JXRNSZII.js} +2 -2
  5. package/dist/agent-DMXUUMEU.js +2 -0
  6. package/dist/{board-dashboard-VPDXHHWC.js → board-dashboard-POWARL34.js} +402 -241
  7. package/dist/board-dashboard-POWARL34.js.map +1 -0
  8. package/dist/chunk-24QMHUU2.js +5 -0
  9. package/dist/chunk-24QMHUU2.js.map +1 -0
  10. package/dist/{chunk-ATCIRFH6.js → chunk-7UH3DXAG.js} +2 -2
  11. package/dist/chunk-ADG6NBZY.js +862 -0
  12. package/dist/chunk-ADG6NBZY.js.map +1 -0
  13. package/dist/{chunk-NW4N67TU.js → chunk-CZEBLLZQ.js} +2 -2
  14. package/dist/{chunk-2MW32M2D.js → chunk-DZUJP6L7.js} +2 -2
  15. package/dist/{chunk-NMYC5RW7.js → chunk-E4V5EADX.js} +6 -6
  16. package/dist/{chunk-6YNRLI6I.js → chunk-GI5CY27P.js} +2 -2
  17. package/dist/{chunk-IGA3T3ZT.js → chunk-HS7ATV4Z.js} +2 -2
  18. package/dist/{chunk-S22IBRY6.js → chunk-ILZRO6SN.js} +2 -2
  19. package/dist/{chunk-UG2OF2EI.js → chunk-IVBCCSDR.js} +2 -2
  20. package/dist/chunk-JDX7AYIB.js +7 -0
  21. package/dist/chunk-JDX7AYIB.js.map +1 -0
  22. package/dist/{chunk-QZ6VBDMX.js → chunk-JHAQE46R.js} +46 -46
  23. package/dist/chunk-JHAQE46R.js.map +1 -0
  24. package/dist/chunk-JJOLZPUY.js +35 -0
  25. package/dist/chunk-JJOLZPUY.js.map +1 -0
  26. package/dist/{chunk-2PJKGZWP.js → chunk-JNG3P5V2.js} +2 -2
  27. package/dist/chunk-JNG3P5V2.js.map +1 -0
  28. package/dist/{chunk-GMMRBTLQ.js → chunk-LDLRDBAD.js} +2 -2
  29. package/dist/{chunk-EIY2HRAS.js → chunk-LOTCKF22.js} +2 -2
  30. package/dist/chunk-MTBY46CL.js +181 -0
  31. package/dist/chunk-MTBY46CL.js.map +1 -0
  32. package/dist/chunk-OSH2PEBH.js +2 -0
  33. package/dist/{chunk-JXF54PT7.js.map → chunk-OSH2PEBH.js.map} +1 -1
  34. package/dist/{chunk-6TJNWUMA.js → chunk-P25TJ4XN.js} +3 -3
  35. package/dist/{chunk-Y5GI35AZ.js → chunk-P4EZJIQ4.js} +308 -297
  36. package/dist/chunk-P4EZJIQ4.js.map +1 -0
  37. package/dist/{chunk-6QFDFYI7.js → chunk-PC24JMEH.js} +2 -2
  38. package/dist/{chunk-5IHUZVPU.js → chunk-PGLTBNGZ.js} +2 -2
  39. package/dist/{chunk-AONY6U45.js → chunk-QSNKF5VD.js} +2 -2
  40. package/dist/{chunk-JOHDOEZ4.js → chunk-R4R7EYY3.js} +2 -2
  41. package/dist/{chunk-OWMKQ4HZ.js → chunk-RNAKP7WY.js} +2 -2
  42. package/dist/chunk-SQUTRMKH.js +67 -0
  43. package/dist/chunk-SQUTRMKH.js.map +1 -0
  44. package/dist/{chunk-GRI5HOPC.js → chunk-TNZBQAUR.js} +2 -2
  45. package/dist/{chunk-Y5MFVVTM.js → chunk-U23LVMMZ.js} +2 -2
  46. package/dist/{chunk-BZ6Y264Z.js → chunk-UFYKUC4E.js} +2 -2
  47. package/dist/{chunk-5QXRPYOY.js → chunk-VIZVF6KH.js} +2 -2
  48. package/dist/{chunk-E7LPZAXP.js → chunk-XE3CGJV4.js} +2 -2
  49. package/dist/{chunk-3HVRWULP.js → chunk-YBUCVI45.js} +2 -2
  50. package/dist/{chunk-DWOERPBG.js → chunk-YJZQRFET.js} +2 -2
  51. package/dist/cli.js +1 -1
  52. package/dist/{client-A2N6ETK2.js → client-6IOWB5AT.js} +2 -2
  53. package/dist/{compaction-FS6XNRLM.js → compaction-PFXWL4H7.js} +3 -3
  54. package/dist/{config-2QM2WTI2.js → config-SHIT5WJE.js} +2 -2
  55. package/dist/{config-mutate-UJS4F7BT.js → config-mutate-6ACI5COM.js} +2 -2
  56. package/dist/config-mutator-LAEX6HOH.js +2 -0
  57. package/dist/{context-planner-3JDA7FNR.js → context-planner-DJB6CKY6.js} +2 -2
  58. package/dist/{contributions-43FWZOGF.js → contributions-N7K6LNL7.js} +2 -2
  59. package/dist/doctor-T7QAQRCJ.js +2 -0
  60. package/dist/{follow-up-tool-VB7K6HCL.js → follow-up-tool-HQ2GWF4K.js} +2 -2
  61. package/dist/{grants-2S33F2LV.js → grants-HSLB62EG.js} +2 -2
  62. package/dist/heal-RGM7X2ZG.js +2 -0
  63. package/dist/hub-53IMEYGX.js +2 -0
  64. package/dist/index.d.ts +167 -6
  65. package/dist/index.js +1 -1
  66. package/dist/memory-extract-GHLBXV4H.js +2 -0
  67. package/dist/{program-ZNTQK36Z.js → program-LSXONKPW.js} +234 -228
  68. package/dist/program-LSXONKPW.js.map +1 -0
  69. package/dist/{promote-VFYVWVTL.js → promote-626PE5VM.js} +2 -2
  70. package/dist/{providers-55NC2SFN.js → providers-BDJXGHEY.js} +2 -2
  71. package/dist/{query-RB2MU2HV.js → query-GR3SOD6A.js} +2 -2
  72. package/dist/{query-settings-5B54WHCS.js → query-settings-6XZHNFXE.js} +2 -2
  73. package/dist/{registry-6OX7U6FV.js → registry-SAY7ROZV.js} +2 -2
  74. package/dist/{request-planner-TUHVEYSF.js → request-planner-DWYXUVF4.js} +2 -2
  75. package/dist/{review-candidates-FDYTGG2N.js → review-candidates-GXWMKZKA.js} +2 -2
  76. package/dist/routing-TB6BBRH4.js +2 -0
  77. package/dist/schedule-tool-EI2SRMZM.js +2 -0
  78. package/dist/{scheduler-H2QHWNQ2.js → scheduler-VOZIMG5F.js} +2 -2
  79. package/dist/{seat-EB3KJMIE.js → seat-H6F6H55Y.js} +2 -2
  80. package/dist/{select-IU4IOVSO.js → select-OUBL6EMZ.js} +2 -2
  81. package/dist/{set-enabled-64BSJ7LR.js → set-enabled-NYJHFXHY.js} +2 -2
  82. package/dist/tool-FWATXW5Q.js +6 -0
  83. package/dist/tool-FWATXW5Q.js.map +1 -0
  84. package/dist/{tool-B23ACEHV.js → tool-HXFGNBLS.js} +2 -2
  85. package/dist/wiki-PG5ZBOMH.js +2 -0
  86. package/dist/wiki-enrich-BIQZWJRB.js +2 -0
  87. package/package.json +1 -1
  88. package/dist/agent-NLCR6VBE.js +0 -2
  89. package/dist/board-dashboard-VPDXHHWC.js.map +0 -1
  90. package/dist/chunk-2PJKGZWP.js.map +0 -1
  91. package/dist/chunk-A76PNG4E.js +0 -4
  92. package/dist/chunk-A76PNG4E.js.map +0 -1
  93. package/dist/chunk-JXF54PT7.js +0 -2
  94. package/dist/chunk-P34VSROA.js +0 -7
  95. package/dist/chunk-P34VSROA.js.map +0 -1
  96. package/dist/chunk-PXKIPU27.js +0 -64
  97. package/dist/chunk-PXKIPU27.js.map +0 -1
  98. package/dist/chunk-QZ6VBDMX.js.map +0 -1
  99. package/dist/chunk-UZWF7PFH.js +0 -861
  100. package/dist/chunk-UZWF7PFH.js.map +0 -1
  101. package/dist/chunk-WGPMUWX7.js +0 -35
  102. package/dist/chunk-WGPMUWX7.js.map +0 -1
  103. package/dist/chunk-Y5GI35AZ.js.map +0 -1
  104. package/dist/chunk-Z7GEW2SR.js +0 -174
  105. package/dist/chunk-Z7GEW2SR.js.map +0 -1
  106. package/dist/config-mutator-VWR3SMD3.js +0 -2
  107. package/dist/doctor-IN6MWP6I.js +0 -2
  108. package/dist/heal-U67X6NIN.js +0 -2
  109. package/dist/hub-JNNNUAZM.js +0 -2
  110. package/dist/memory-extract-ATD6YLRK.js +0 -2
  111. package/dist/program-ZNTQK36Z.js.map +0 -1
  112. package/dist/routing-U35SFPEI.js +0 -2
  113. package/dist/schedule-tool-EPQKUYJX.js +0 -2
  114. package/dist/tool-W3CIQZJ7.js +0 -6
  115. package/dist/tool-W3CIQZJ7.js.map +0 -1
  116. package/dist/wiki-4KMRUD5C.js +0 -2
  117. package/dist/wiki-enrich-N4GLW2JX.js +0 -2
  118. /package/dist/{App-2O2UUZGG.js.map → App-NCB3Y5DS.js.map} +0 -0
  119. /package/dist/{ChatApp-YU4NF63L.js.map → ChatApp-HOWN5H7Y.js.map} +0 -0
  120. /package/dist/{absorb-eval-WHWOJYDX.js.map → absorb-eval-JXRNSZII.js.map} +0 -0
  121. /package/dist/{agent-NLCR6VBE.js.map → agent-DMXUUMEU.js.map} +0 -0
  122. /package/dist/{chunk-ATCIRFH6.js.map → chunk-7UH3DXAG.js.map} +0 -0
  123. /package/dist/{chunk-NW4N67TU.js.map → chunk-CZEBLLZQ.js.map} +0 -0
  124. /package/dist/{chunk-2MW32M2D.js.map → chunk-DZUJP6L7.js.map} +0 -0
  125. /package/dist/{chunk-NMYC5RW7.js.map → chunk-E4V5EADX.js.map} +0 -0
  126. /package/dist/{chunk-6YNRLI6I.js.map → chunk-GI5CY27P.js.map} +0 -0
  127. /package/dist/{chunk-IGA3T3ZT.js.map → chunk-HS7ATV4Z.js.map} +0 -0
  128. /package/dist/{chunk-S22IBRY6.js.map → chunk-ILZRO6SN.js.map} +0 -0
  129. /package/dist/{chunk-UG2OF2EI.js.map → chunk-IVBCCSDR.js.map} +0 -0
  130. /package/dist/{chunk-GMMRBTLQ.js.map → chunk-LDLRDBAD.js.map} +0 -0
  131. /package/dist/{chunk-EIY2HRAS.js.map → chunk-LOTCKF22.js.map} +0 -0
  132. /package/dist/{chunk-6TJNWUMA.js.map → chunk-P25TJ4XN.js.map} +0 -0
  133. /package/dist/{chunk-6QFDFYI7.js.map → chunk-PC24JMEH.js.map} +0 -0
  134. /package/dist/{chunk-5IHUZVPU.js.map → chunk-PGLTBNGZ.js.map} +0 -0
  135. /package/dist/{chunk-AONY6U45.js.map → chunk-QSNKF5VD.js.map} +0 -0
  136. /package/dist/{chunk-JOHDOEZ4.js.map → chunk-R4R7EYY3.js.map} +0 -0
  137. /package/dist/{chunk-OWMKQ4HZ.js.map → chunk-RNAKP7WY.js.map} +0 -0
  138. /package/dist/{chunk-GRI5HOPC.js.map → chunk-TNZBQAUR.js.map} +0 -0
  139. /package/dist/{chunk-Y5MFVVTM.js.map → chunk-U23LVMMZ.js.map} +0 -0
  140. /package/dist/{chunk-BZ6Y264Z.js.map → chunk-UFYKUC4E.js.map} +0 -0
  141. /package/dist/{chunk-5QXRPYOY.js.map → chunk-VIZVF6KH.js.map} +0 -0
  142. /package/dist/{chunk-E7LPZAXP.js.map → chunk-XE3CGJV4.js.map} +0 -0
  143. /package/dist/{chunk-3HVRWULP.js.map → chunk-YBUCVI45.js.map} +0 -0
  144. /package/dist/{chunk-DWOERPBG.js.map → chunk-YJZQRFET.js.map} +0 -0
  145. /package/dist/{client-A2N6ETK2.js.map → client-6IOWB5AT.js.map} +0 -0
  146. /package/dist/{compaction-FS6XNRLM.js.map → compaction-PFXWL4H7.js.map} +0 -0
  147. /package/dist/{config-2QM2WTI2.js.map → config-SHIT5WJE.js.map} +0 -0
  148. /package/dist/{config-mutate-UJS4F7BT.js.map → config-mutate-6ACI5COM.js.map} +0 -0
  149. /package/dist/{config-mutator-VWR3SMD3.js.map → config-mutator-LAEX6HOH.js.map} +0 -0
  150. /package/dist/{context-planner-3JDA7FNR.js.map → context-planner-DJB6CKY6.js.map} +0 -0
  151. /package/dist/{contributions-43FWZOGF.js.map → contributions-N7K6LNL7.js.map} +0 -0
  152. /package/dist/{doctor-IN6MWP6I.js.map → doctor-T7QAQRCJ.js.map} +0 -0
  153. /package/dist/{follow-up-tool-VB7K6HCL.js.map → follow-up-tool-HQ2GWF4K.js.map} +0 -0
  154. /package/dist/{grants-2S33F2LV.js.map → grants-HSLB62EG.js.map} +0 -0
  155. /package/dist/{heal-U67X6NIN.js.map → heal-RGM7X2ZG.js.map} +0 -0
  156. /package/dist/{hub-JNNNUAZM.js.map → hub-53IMEYGX.js.map} +0 -0
  157. /package/dist/{memory-extract-ATD6YLRK.js.map → memory-extract-GHLBXV4H.js.map} +0 -0
  158. /package/dist/{promote-VFYVWVTL.js.map → promote-626PE5VM.js.map} +0 -0
  159. /package/dist/{providers-55NC2SFN.js.map → providers-BDJXGHEY.js.map} +0 -0
  160. /package/dist/{query-RB2MU2HV.js.map → query-GR3SOD6A.js.map} +0 -0
  161. /package/dist/{query-settings-5B54WHCS.js.map → query-settings-6XZHNFXE.js.map} +0 -0
  162. /package/dist/{registry-6OX7U6FV.js.map → registry-SAY7ROZV.js.map} +0 -0
  163. /package/dist/{request-planner-TUHVEYSF.js.map → request-planner-DWYXUVF4.js.map} +0 -0
  164. /package/dist/{review-candidates-FDYTGG2N.js.map → review-candidates-GXWMKZKA.js.map} +0 -0
  165. /package/dist/{routing-U35SFPEI.js.map → routing-TB6BBRH4.js.map} +0 -0
  166. /package/dist/{schedule-tool-EPQKUYJX.js.map → schedule-tool-EI2SRMZM.js.map} +0 -0
  167. /package/dist/{scheduler-H2QHWNQ2.js.map → scheduler-VOZIMG5F.js.map} +0 -0
  168. /package/dist/{seat-EB3KJMIE.js.map → seat-H6F6H55Y.js.map} +0 -0
  169. /package/dist/{select-IU4IOVSO.js.map → select-OUBL6EMZ.js.map} +0 -0
  170. /package/dist/{set-enabled-64BSJ7LR.js.map → set-enabled-NYJHFXHY.js.map} +0 -0
  171. /package/dist/{tool-B23ACEHV.js.map → tool-HXFGNBLS.js.map} +0 -0
  172. /package/dist/{wiki-4KMRUD5C.js.map → wiki-PG5ZBOMH.js.map} +0 -0
  173. /package/dist/{wiki-enrich-N4GLW2JX.js.map → wiki-enrich-BIQZWJRB.js.map} +0 -0
package/dist/index.d.ts CHANGED
@@ -6101,6 +6101,28 @@ declare const daemonConfigSchema: z.ZodObject<{
6101
6101
  repos?: Record<string, string> | undefined;
6102
6102
  checkEveryMinutes?: number | undefined;
6103
6103
  }>>;
6104
+ /** Headlines (src/requests/headline.ts, #1126): a request the agent did
6105
+ * not describe gets a few words saying what it is, written once by one
6106
+ * small model call, so its card, push and Desk line are not titled with
6107
+ * the owner's raw transcript. Off: the start of the owner's words. */
6108
+ headlines: z.ZodDefault<z.ZodObject<{
6109
+ enabled: z.ZodDefault<z.ZodBoolean>;
6110
+ /** Provider for the call. "claude-code" uses the auth the operator set
6111
+ * up (subscription or API key); no new paid path is opened. */
6112
+ provider: z.ZodDefault<z.ZodString>;
6113
+ model: z.ZodDefault<z.ZodString>;
6114
+ timeoutSeconds: z.ZodDefault<z.ZodNumber>;
6115
+ }, "strip", z.ZodTypeAny, {
6116
+ provider: string;
6117
+ model: string;
6118
+ enabled: boolean;
6119
+ timeoutSeconds: number;
6120
+ }, {
6121
+ provider?: string | undefined;
6122
+ model?: string | undefined;
6123
+ enabled?: boolean | undefined;
6124
+ timeoutSeconds?: number | undefined;
6125
+ }>>;
6104
6126
  }, "strip", z.ZodTypeAny, {
6105
6127
  enabled: boolean;
6106
6128
  from: string[];
@@ -6129,6 +6151,12 @@ declare const daemonConfigSchema: z.ZodObject<{
6129
6151
  token?: string | undefined;
6130
6152
  } | undefined;
6131
6153
  };
6154
+ headlines: {
6155
+ provider: string;
6156
+ model: string;
6157
+ enabled: boolean;
6158
+ timeoutSeconds: number;
6159
+ };
6132
6160
  }, {
6133
6161
  enabled?: boolean | undefined;
6134
6162
  from?: string[] | undefined;
@@ -6157,6 +6185,12 @@ declare const daemonConfigSchema: z.ZodObject<{
6157
6185
  repos?: Record<string, string> | undefined;
6158
6186
  checkEveryMinutes?: number | undefined;
6159
6187
  } | undefined;
6188
+ headlines?: {
6189
+ provider?: string | undefined;
6190
+ model?: string | undefined;
6191
+ enabled?: boolean | undefined;
6192
+ timeoutSeconds?: number | undefined;
6193
+ } | undefined;
6160
6194
  }>>;
6161
6195
  /** Task watchers (src/watchers, #1030): every task start decides whether
6162
6196
  * the task needs a watcher and attaches one. Off by default. */
@@ -6424,8 +6458,8 @@ declare const daemonConfigSchema: z.ZodObject<{
6424
6458
  enabled: boolean;
6425
6459
  command: string[];
6426
6460
  time: string;
6427
- baseline: string;
6428
6461
  timeoutSeconds: number;
6462
+ baseline: string;
6429
6463
  gates: {
6430
6464
  id: string;
6431
6465
  since: string;
@@ -6442,8 +6476,8 @@ declare const daemonConfigSchema: z.ZodObject<{
6442
6476
  timezone?: string | undefined;
6443
6477
  time?: string | undefined;
6444
6478
  issue?: number | undefined;
6445
- baseline?: string | undefined;
6446
6479
  timeoutSeconds?: number | undefined;
6480
+ baseline?: string | undefined;
6447
6481
  gates?: {
6448
6482
  id: string;
6449
6483
  since: string;
@@ -6454,8 +6488,8 @@ declare const daemonConfigSchema: z.ZodObject<{
6454
6488
  enabled: boolean;
6455
6489
  command: string[];
6456
6490
  time: string;
6457
- baseline: string;
6458
6491
  timeoutSeconds: number;
6492
+ baseline: string;
6459
6493
  gates: {
6460
6494
  id: string;
6461
6495
  since: string;
@@ -6472,8 +6506,8 @@ declare const daemonConfigSchema: z.ZodObject<{
6472
6506
  timezone?: string | undefined;
6473
6507
  time?: string | undefined;
6474
6508
  issue?: number | undefined;
6475
- baseline?: string | undefined;
6476
6509
  timeoutSeconds?: number | undefined;
6510
+ baseline?: string | undefined;
6477
6511
  gates?: {
6478
6512
  id: string;
6479
6513
  since: string;
@@ -6647,6 +6681,42 @@ declare const daemonConfigSchema: z.ZodObject<{
6647
6681
  maxEventAgeMinutes?: number | undefined;
6648
6682
  syncMinutes?: number | undefined;
6649
6683
  }>>;
6684
+ /** Pinned pages: https pages the owner opens from a button in the
6685
+ * phone app (#1120). Added, renamed and removed from the app or with
6686
+ * `agentx app pin`. */
6687
+ pins: z.ZodDefault<z.ZodObject<{
6688
+ /** Where the list is kept. Relative paths resolve from the folder
6689
+ * the daemon runs in (the one holding agentx.json). */
6690
+ file: z.ZodDefault<z.ZodString>;
6691
+ max: z.ZodDefault<z.ZodNumber>;
6692
+ /** Buttons for every paired phone, set here rather than in the app
6693
+ * (#1121). Read only from the phone and `agentx app`; they count
6694
+ * toward `max`. https only, with no user name or password. */
6695
+ pages: z.ZodDefault<z.ZodArray<z.ZodObject<{
6696
+ label: z.ZodString;
6697
+ url: z.ZodEffects<z.ZodString, string, string>;
6698
+ }, "strict", z.ZodTypeAny, {
6699
+ label: string;
6700
+ url: string;
6701
+ }, {
6702
+ label: string;
6703
+ url: string;
6704
+ }>, "many">>;
6705
+ }, "strip", z.ZodTypeAny, {
6706
+ max: number;
6707
+ file: string;
6708
+ pages: {
6709
+ label: string;
6710
+ url: string;
6711
+ }[];
6712
+ }, {
6713
+ max?: number | undefined;
6714
+ file?: string | undefined;
6715
+ pages?: {
6716
+ label: string;
6717
+ url: string;
6718
+ }[] | undefined;
6719
+ }>>;
6650
6720
  }, "strip", z.ZodTypeAny, {
6651
6721
  android: {
6652
6722
  packageName: string;
@@ -6664,6 +6734,14 @@ declare const daemonConfigSchema: z.ZodObject<{
6664
6734
  maxEventAgeMinutes: number;
6665
6735
  syncMinutes: number;
6666
6736
  };
6737
+ pins: {
6738
+ max: number;
6739
+ file: string;
6740
+ pages: {
6741
+ label: string;
6742
+ url: string;
6743
+ }[];
6744
+ };
6667
6745
  }, {
6668
6746
  android?: {
6669
6747
  packageName?: string | undefined;
@@ -6681,6 +6759,14 @@ declare const daemonConfigSchema: z.ZodObject<{
6681
6759
  maxEventAgeMinutes?: number | undefined;
6682
6760
  syncMinutes?: number | undefined;
6683
6761
  } | undefined;
6762
+ pins?: {
6763
+ max?: number | undefined;
6764
+ file?: string | undefined;
6765
+ pages?: {
6766
+ label: string;
6767
+ url: string;
6768
+ }[] | undefined;
6769
+ } | undefined;
6684
6770
  }>>;
6685
6771
  /** `agentx demo`, read from the agentx.json in the folder it runs from. */
6686
6772
  demo: z.ZodDefault<z.ZodObject<{
@@ -6857,14 +6943,21 @@ declare const daemonConfigSchema: z.ZodObject<{
6857
6943
  * the person (#846): run that turn once more after the next start,
6858
6944
  * and if it fails again, tell the person and note the open request. */
6859
6945
  requeueRelayOnRestart: z.ZodDefault<z.ZodBoolean>;
6946
+ /** An agent's send_agent from a turn no person waits on (#1100): the
6947
+ * answer, failure or timeout comes back as a turn in the asking
6948
+ * agent's own chat, and a message the callee writes back to it lands
6949
+ * there too. Off: such a send is queued and its answer only logged. */
6950
+ callbackSends: z.ZodDefault<z.ZodBoolean>;
6860
6951
  }, "strip", z.ZodTypeAny, {
6861
6952
  asyncWhenHuman: boolean;
6862
6953
  timeoutMinutes: number;
6863
6954
  requeueRelayOnRestart: boolean;
6955
+ callbackSends: boolean;
6864
6956
  }, {
6865
6957
  asyncWhenHuman?: boolean | undefined;
6866
6958
  timeoutMinutes?: number | undefined;
6867
6959
  requeueRelayOnRestart?: boolean | undefined;
6960
+ callbackSends?: boolean | undefined;
6868
6961
  }>>;
6869
6962
  }, "strip", z.ZodTypeAny, {
6870
6963
  enabled: boolean;
@@ -6872,6 +6965,7 @@ declare const daemonConfigSchema: z.ZodObject<{
6872
6965
  asyncWhenHuman: boolean;
6873
6966
  timeoutMinutes: number;
6874
6967
  requeueRelayOnRestart: boolean;
6968
+ callbackSends: boolean;
6875
6969
  };
6876
6970
  peers: {
6877
6971
  name: string;
@@ -6898,6 +6992,7 @@ declare const daemonConfigSchema: z.ZodObject<{
6898
6992
  asyncWhenHuman?: boolean | undefined;
6899
6993
  timeoutMinutes?: number | undefined;
6900
6994
  requeueRelayOnRestart?: boolean | undefined;
6995
+ callbackSends?: boolean | undefined;
6901
6996
  } | undefined;
6902
6997
  peers?: {
6903
6998
  name: string;
@@ -8933,6 +9028,7 @@ declare const daemonConfigSchema: z.ZodObject<{
8933
9028
  asyncWhenHuman: boolean;
8934
9029
  timeoutMinutes: number;
8935
9030
  requeueRelayOnRestart: boolean;
9031
+ callbackSends: boolean;
8936
9032
  };
8937
9033
  peers: {
8938
9034
  name: string;
@@ -9038,6 +9134,14 @@ declare const daemonConfigSchema: z.ZodObject<{
9038
9134
  maxEventAgeMinutes: number;
9039
9135
  syncMinutes: number;
9040
9136
  };
9137
+ pins: {
9138
+ max: number;
9139
+ file: string;
9140
+ pages: {
9141
+ label: string;
9142
+ url: string;
9143
+ }[];
9144
+ };
9041
9145
  };
9042
9146
  voice: {
9043
9147
  provider: "system" | "elevenlabs";
@@ -9126,6 +9230,12 @@ declare const daemonConfigSchema: z.ZodObject<{
9126
9230
  token?: string | undefined;
9127
9231
  } | undefined;
9128
9232
  };
9233
+ headlines: {
9234
+ provider: string;
9235
+ model: string;
9236
+ enabled: boolean;
9237
+ timeoutSeconds: number;
9238
+ };
9129
9239
  };
9130
9240
  channels: {
9131
9241
  push: {
@@ -9578,8 +9688,8 @@ declare const daemonConfigSchema: z.ZodObject<{
9578
9688
  enabled: boolean;
9579
9689
  command: string[];
9580
9690
  time: string;
9581
- baseline: string;
9582
9691
  timeoutSeconds: number;
9692
+ baseline: string;
9583
9693
  gates: {
9584
9694
  id: string;
9585
9695
  since: string;
@@ -10023,6 +10133,7 @@ declare const daemonConfigSchema: z.ZodObject<{
10023
10133
  asyncWhenHuman?: boolean | undefined;
10024
10134
  timeoutMinutes?: number | undefined;
10025
10135
  requeueRelayOnRestart?: boolean | undefined;
10136
+ callbackSends?: boolean | undefined;
10026
10137
  } | undefined;
10027
10138
  peers?: {
10028
10139
  name: string;
@@ -10128,6 +10239,14 @@ declare const daemonConfigSchema: z.ZodObject<{
10128
10239
  maxEventAgeMinutes?: number | undefined;
10129
10240
  syncMinutes?: number | undefined;
10130
10241
  } | undefined;
10242
+ pins?: {
10243
+ max?: number | undefined;
10244
+ file?: string | undefined;
10245
+ pages?: {
10246
+ label: string;
10247
+ url: string;
10248
+ }[] | undefined;
10249
+ } | undefined;
10131
10250
  } | undefined;
10132
10251
  voice?: {
10133
10252
  system?: string | Record<string, string> | undefined;
@@ -10284,6 +10403,12 @@ declare const daemonConfigSchema: z.ZodObject<{
10284
10403
  repos?: Record<string, string> | undefined;
10285
10404
  checkEveryMinutes?: number | undefined;
10286
10405
  } | undefined;
10406
+ headlines?: {
10407
+ provider?: string | undefined;
10408
+ model?: string | undefined;
10409
+ enabled?: boolean | undefined;
10410
+ timeoutSeconds?: number | undefined;
10411
+ } | undefined;
10287
10412
  } | undefined;
10288
10413
  channels?: {
10289
10414
  push?: {
@@ -10732,8 +10857,8 @@ declare const daemonConfigSchema: z.ZodObject<{
10732
10857
  timezone?: string | undefined;
10733
10858
  time?: string | undefined;
10734
10859
  issue?: number | undefined;
10735
- baseline?: string | undefined;
10736
10860
  timeoutSeconds?: number | undefined;
10861
+ baseline?: string | undefined;
10737
10862
  gates?: {
10738
10863
  id: string;
10739
10864
  since: string;
@@ -11145,6 +11270,9 @@ declare class A2AMesh {
11145
11270
  /** The task's type (#1049): picks the evidence the peer's watcher
11146
11271
  * asks for before the task counts as done. */
11147
11272
  taskType?: string;
11273
+ /** Callback hops behind this send (#1100), so the peer's callee
11274
+ * stays under MAX_SEND_DEPTH. Top level, like taskType. */
11275
+ sendDepth?: number;
11148
11276
  }): Promise<string>;
11149
11277
  /**
11150
11278
  * Streaming variant of `sendTask`. POSTs to the peer's `/task` with
@@ -11874,6 +12002,9 @@ declare class AgentXDaemon {
11874
12002
  * peer: this node's agents have MESH_TOKEN in their environment, and
11875
12003
  * the MCP server sends it on every daemon call (#797). */
11876
12004
  private carriesMeshToken;
12005
+ /** GET /screen: every source read on its own, so one that fails is
12006
+ * named and the rest still show. */
12007
+ private screenView;
11877
12008
  /** Tell the owner about a request: a push, and the Mac banner. */
11878
12009
  private notifyRequestOwner;
11879
12010
  private plansSweeping;
@@ -11890,10 +12021,18 @@ declare class AgentXDaemon {
11890
12021
  * and this node's own record of inbound turns. Built per check, so a
11891
12022
  * settings change applies without a restart. */
11892
12023
  private requestCheckContext;
12024
+ private headlines?;
12025
+ /** Writes the headline of a request its agent did not describe (#1126):
12026
+ * one small call through the provider the operator set up, built on
12027
+ * first use and read from the settings at each call. */
12028
+ private headlineWriter;
11893
12029
  /** Requests that went quiet come back, each is raised once, and old
11894
12030
  * closed ones are deleted (src/requests/sweep.ts). Plans first: a
11895
12031
  * blocked step marks its request told, so the owner hears once. */
11896
12032
  private sweepRequests;
12033
+ /** Wait, up to `maxMs`, for the agent's turn in this chat to end, so a
12034
+ * turn told there does not run beside it (#1100). False: still busy. */
12035
+ private waitForChat;
11897
12036
  /** The watcher checkpoint at every task start (src/watchers, #1030). */
11898
12037
  private attachTaskWatchers;
11899
12038
  /** Tell the owner through the notify path: a push to the default
@@ -12688,6 +12827,9 @@ interface AgentTask {
12688
12827
  peer?: string;
12689
12828
  status: string;
12690
12829
  };
12830
+ /** The issue or merge request the work is about, when the delegating
12831
+ * agent named it (#1100). */
12832
+ home?: string;
12691
12833
  };
12692
12834
  }
12693
12835
  interface AgentResponse {
@@ -13071,6 +13213,20 @@ declare class SessionStore {
13071
13213
  * Store the Claude Code session ID after first invocation.
13072
13214
  */
13073
13215
  setClaudeSessionId(agentId: string, channel: string, chatId: string, claudeSessionId: string): void;
13216
+ /**
13217
+ * Point a new chat at the agent session of an earlier chat (#1100): the
13218
+ * native session ids, and with them what the rotation checks read (turn
13219
+ * count, last context size, last use), so a continued session is still
13220
+ * rotated when it grows or goes stale. False when the earlier chat has
13221
+ * no session to continue; nothing is written then.
13222
+ */
13223
+ continueFrom(agentId: string, from: {
13224
+ channel: string;
13225
+ chatId: string;
13226
+ }, to: {
13227
+ channel: string;
13228
+ chatId: string;
13229
+ }): boolean;
13074
13230
  getCodexSessionId(agentId: string, channel: string, chatId: string): string | undefined;
13075
13231
  setCodexSessionId(agentId: string, channel: string, chatId: string, codexSessionId: string): void;
13076
13232
  getOpenCodeSessionId(agentId: string, channel: string, chatId: string): string | undefined;
@@ -15868,6 +16024,9 @@ interface RunningTask {
15868
16024
  sender?: string;
15869
16025
  /** Wall-clock start. */
15870
16026
  startedAt: Date;
16027
+ /** The issues or merge requests the run is about (#1100), in the form
16028
+ * src/a2a/home.ts compares. */
16029
+ homes?: string[];
15871
16030
  /** The step the run is in right now (classify, compact, agent, …). A run
15872
16031
  * that hangs shows here where it stopped. */
15873
16032
  step?: string;
@@ -16249,6 +16408,8 @@ declare class AgentRegistry {
16249
16408
  * channel and chat it must be the only run on that chat. With neither
16250
16409
  * there is no answer: guessing "the agent's only turn" could attach a
16251
16410
  * same-host proxy's request to an unrelated conversation. */
16411
+ /** The trace id of a running task of `agentId`, once allocated. */
16412
+ runningTraceId(agentId: string, taskId: string): string | null;
16252
16413
  findRunningTurn(agentId: string, by?: {
16253
16414
  taskId?: string;
16254
16415
  channel?: string;
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import{Ba as Tt,Ca 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-Y5GI35AZ.js";import"./chunk-QZ6VBDMX.js";import"./chunk-GTJIKXDB.js";import"./chunk-ATCIRFH6.js";import"./chunk-WGPMUWX7.js";import"./chunk-7LN4VKDU.js";import"./chunk-IMLAPB7G.js";import"./chunk-ZVP6GB4G.js";import"./chunk-LQE73AZR.js";import"./chunk-2D3RYIDU.js";import"./chunk-MRIVENBY.js";import"./chunk-JOHDOEZ4.js";import"./chunk-A76PNG4E.js";import"./chunk-PPUN7YHA.js";import"./chunk-VZLIBDLH.js";import"./chunk-EKJG63EJ.js";import"./chunk-IGA3T3ZT.js";import"./chunk-2AXFYDWF.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-MNG2AMKZ.js";import"./chunk-X7UQY7CH.js";import"./chunk-5QXRPYOY.js";import"./chunk-PYHR4HXO.js";import"./chunk-KP7KDLZ2.js";import"./chunk-A5GYG56I.js";import{m as lt,n as ct,o as dt,p as mt,pa as yt,q as pt}from"./chunk-Z7GEW2SR.js";import"./chunk-BZ6Y264Z.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-NMYC5RW7.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-6YNRLI6I.js";import"./chunk-E7LPZAXP.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-2MW32M2D.js";import{a as ht}from"./chunk-DWOERPBG.js";import"./chunk-OWNQ2FD4.js";import"./chunk-KEXBEUSU.js";import"./chunk-ROLSSYXE.js";import"./chunk-6TJNWUMA.js";import"./chunk-SKSYII3K.js";import{f as gt,g as ft}from"./chunk-EIY2HRAS.js";import"./chunk-WPNRDEHW.js";import"./chunk-MWNCS57L.js";import"./chunk-4LWFJ4MZ.js";import"./chunk-BIJHMWXK.js";import"./chunk-GMMRBTLQ.js";import{j as it,k as rt,l as at}from"./chunk-OWMKQ4HZ.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-PXKIPU27.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{Ba as Tt,Ca 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-P4EZJIQ4.js";import"./chunk-JHAQE46R.js";import"./chunk-GTJIKXDB.js";import"./chunk-7UH3DXAG.js";import"./chunk-JJOLZPUY.js";import"./chunk-7LN4VKDU.js";import"./chunk-IMLAPB7G.js";import"./chunk-ZVP6GB4G.js";import"./chunk-LQE73AZR.js";import"./chunk-2D3RYIDU.js";import"./chunk-MRIVENBY.js";import"./chunk-R4R7EYY3.js";import"./chunk-24QMHUU2.js";import"./chunk-PPUN7YHA.js";import"./chunk-VZLIBDLH.js";import"./chunk-EKJG63EJ.js";import"./chunk-HS7ATV4Z.js";import"./chunk-2AXFYDWF.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-MNG2AMKZ.js";import"./chunk-X7UQY7CH.js";import"./chunk-VIZVF6KH.js";import"./chunk-PYHR4HXO.js";import"./chunk-KP7KDLZ2.js";import"./chunk-A5GYG56I.js";import{m as lt,n as ct,o as dt,p as mt,q as pt,ra as yt}from"./chunk-MTBY46CL.js";import"./chunk-UFYKUC4E.js";import"./chunk-MEFPXHQJ.js";import{a as L}from"./chunk-IVBCCSDR.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-E4V5EADX.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-GI5CY27P.js";import"./chunk-XE3CGJV4.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-DZUJP6L7.js";import{a as ht}from"./chunk-YJZQRFET.js";import"./chunk-OWNQ2FD4.js";import"./chunk-KEXBEUSU.js";import"./chunk-ROLSSYXE.js";import"./chunk-P25TJ4XN.js";import"./chunk-SKSYII3K.js";import{f as gt,g as ft}from"./chunk-LOTCKF22.js";import"./chunk-WPNRDEHW.js";import"./chunk-MWNCS57L.js";import"./chunk-4LWFJ4MZ.js";import"./chunk-BIJHMWXK.js";import"./chunk-LDLRDBAD.js";import{j as it,k as rt,l as at}from"./chunk-RNAKP7WY.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-U23LVMMZ.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-JNG3P5V2.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-SQUTRMKH.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).
@@ -0,0 +1,2 @@
1
+ import{b as a}from"./chunk-U23LVMMZ.js";import"./chunk-QD6IICK7.js";import"./chunk-QIJLFPWE.js";export{a as extractMemories};
2
+ //# sourceMappingURL=memory-extract-GHLBXV4H.js.map