agentix-cli 0.136.1 → 0.137.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 (147) hide show
  1. package/apps/mac-voice/Sources/AgentXVoice/AgentClient.swift +11 -1
  2. package/apps/mac-voice/Sources/AgentXVoice/Character.swift +18 -5
  3. package/apps/mac-voice/Sources/AgentXVoice/Floor.swift +46 -0
  4. package/apps/mac-voice/Sources/AgentXVoice/FloorWatcher.swift +78 -0
  5. package/apps/mac-voice/Sources/AgentXVoice/Panel.swift +12 -1
  6. package/apps/mac-voice/Sources/AgentXVoice/StatusMenu.swift +8 -0
  7. package/apps/mac-voice/Sources/AgentXVoice/main.swift +89 -10
  8. package/dist/{App-D6W6IV2L.js → App-TOAWET76.js} +2 -2
  9. package/dist/{ChatApp-X7TNCFGW.js → ChatApp-4DRCRKFS.js} +2 -2
  10. package/dist/{absorb-eval-COPVH2M2.js → absorb-eval-OXNL5QGQ.js} +2 -2
  11. package/dist/{agent-TMTYLAOV.js → agent-GALMGMNJ.js} +2 -2
  12. package/dist/{board-dashboard-OSI4X5ZJ.js → board-dashboard-VXQYQY22.js} +4 -4
  13. package/dist/{board-dashboard-OSI4X5ZJ.js.map → board-dashboard-VXQYQY22.js.map} +1 -1
  14. package/dist/{chunk-AK3XOA5N.js → chunk-23LWLYOK.js} +2 -2
  15. package/dist/{chunk-IPMXIPTS.js → chunk-2JKKGS77.js} +2 -2
  16. package/dist/{chunk-QW3L5IIC.js → chunk-36HFRKIH.js} +2 -2
  17. package/dist/{chunk-HZZW35FY.js → chunk-3K3LRLZX.js} +2 -2
  18. package/dist/{chunk-NVZ66ITP.js → chunk-5ADXRVYT.js} +5 -5
  19. package/dist/{chunk-NVZ66ITP.js.map → chunk-5ADXRVYT.js.map} +1 -1
  20. package/dist/{chunk-GL3H7XMI.js → chunk-5RHCM3L7.js} +2 -2
  21. package/dist/{chunk-63LV77EG.js → chunk-635B6SXI.js} +2 -2
  22. package/dist/{chunk-FQLSV2C4.js → chunk-7JUISIE7.js} +2 -2
  23. package/dist/{chunk-XXIZGNLT.js → chunk-ADQUFEPJ.js} +233 -233
  24. package/dist/chunk-ADQUFEPJ.js.map +1 -0
  25. package/dist/{chunk-5J5USW2O.js → chunk-B6PMIUVV.js} +2 -2
  26. package/dist/{chunk-GRMCAO3Q.js → chunk-BWXRAPTX.js} +2 -2
  27. package/dist/{chunk-WRJFKA43.js → chunk-BXXP6DTB.js} +2 -2
  28. package/dist/{chunk-OW5EXDVY.js → chunk-E3AEOQMK.js} +2 -2
  29. package/dist/{chunk-VA24JS2S.js → chunk-GIQKQD2B.js} +2 -2
  30. package/dist/{chunk-5X37CXJF.js → chunk-IIFHX625.js} +2 -2
  31. package/dist/{chunk-EVTTAM7S.js → chunk-JC5KLH2K.js} +2 -2
  32. package/dist/{chunk-EGDY762K.js → chunk-K6UV4A2T.js} +2 -2
  33. package/dist/{chunk-EGDY762K.js.map → chunk-K6UV4A2T.js.map} +1 -1
  34. package/dist/chunk-KHYF6KTY.js +54 -0
  35. package/dist/chunk-KHYF6KTY.js.map +1 -0
  36. package/dist/chunk-KQ7KWFZY.js +4 -0
  37. package/dist/chunk-KQ7KWFZY.js.map +1 -0
  38. package/dist/{chunk-QHZFMO6M.js → chunk-LK4YO2FE.js} +2 -2
  39. package/dist/{chunk-QHZFMO6M.js.map → chunk-LK4YO2FE.js.map} +1 -1
  40. package/dist/{chunk-G26UHWS4.js → chunk-MXDWLBIA.js} +2 -2
  41. package/dist/{chunk-M5AHI2PZ.js → chunk-PLPDG6GE.js} +2 -2
  42. package/dist/{chunk-PV623BLN.js → chunk-PNYBZPPB.js} +3 -3
  43. package/dist/{chunk-4AFA6LQZ.js → chunk-RWMDDMYX.js} +2 -2
  44. package/dist/{chunk-66DPMVUC.js → chunk-SQ37I2MD.js} +2 -2
  45. package/dist/{chunk-KZXQD6ZK.js → chunk-XZIKAHFU.js} +2 -2
  46. package/dist/{chunk-HEJTE7OC.js → chunk-Z2QOQBUS.js} +2 -2
  47. package/dist/{chunk-XGOBZCYC.js → chunk-Z5OD225A.js} +2 -2
  48. package/dist/{chunk-FRTELYZ4.js → chunk-ZYUVKFX2.js} +2 -2
  49. package/dist/cli.js +1 -1
  50. package/dist/{client-SMOWSRJY.js → client-PWE4BJH4.js} +2 -2
  51. package/dist/{config-OGUDWYAA.js → config-E53FBZ47.js} +2 -2
  52. package/dist/{config-mutate-BH27TMWK.js → config-mutate-ZEHN6JMZ.js} +2 -2
  53. package/dist/config-mutator-AK775RTM.js +2 -0
  54. package/dist/{contributions-H6T65TCY.js → contributions-CLLCLS3O.js} +2 -2
  55. package/dist/{doctor-ZOXHT7ZQ.js → doctor-XKT5FWPO.js} +2 -2
  56. package/dist/{follow-up-tool-GUBBXNEZ.js → follow-up-tool-ZFRZUZLI.js} +2 -2
  57. package/dist/{hub-7AMS6ADP.js → hub-N5ADP3LO.js} +2 -2
  58. package/dist/index.d.ts +74 -35
  59. package/dist/index.js +1 -1
  60. package/dist/ntfy-ZDNBUEIX.js +2 -0
  61. package/dist/{program-IUUHETTV.js → program-MJ6S6X6T.js} +208 -208
  62. package/dist/program-MJ6S6X6T.js.map +1 -0
  63. package/dist/{promote-VCNVE5JD.js → promote-M4UBD2R6.js} +2 -2
  64. package/dist/push-HVGOC4VN.js +2 -0
  65. package/dist/push-bridge-NAQ7WQJX.js +2 -0
  66. package/dist/{query-6G27CBZQ.js → query-KMQHF5HW.js} +2 -2
  67. package/dist/{query-settings-G4M75LVQ.js → query-settings-PENAE4UG.js} +2 -2
  68. package/dist/{registry-MMNG5VZ6.js → registry-GYKSYSDD.js} +2 -2
  69. package/dist/{request-planner-T3VCZVVQ.js → request-planner-GBX6DHRQ.js} +2 -2
  70. package/dist/{review-candidates-C3O3CENL.js → review-candidates-SYMRJGI2.js} +2 -2
  71. package/dist/{routing-LD35TJM5.js → routing-S3L44JLL.js} +2 -2
  72. package/dist/schedule-tool-FXUFRZHR.js +2 -0
  73. package/dist/{scheduler-I3QB4GI3.js → scheduler-AW4F5ZKS.js} +2 -2
  74. package/dist/{seat-4Y3EW3KU.js → seat-QBBNCOFO.js} +2 -2
  75. package/dist/{select-LZKN3FER.js → select-ZCFIMYWS.js} +2 -2
  76. package/dist/{set-enabled-WSTOHJDE.js → set-enabled-4F27A3U2.js} +2 -2
  77. package/dist/{tool-NLMIUOHR.js → tool-G6XTO24J.js} +2 -2
  78. package/dist/{tool-AKXO2EJU.js → tool-M462KSMF.js} +2 -2
  79. package/dist/{wiki-ZQMDUXTE.js → wiki-JXVHIEZI.js} +2 -2
  80. package/dist/wiki-enrich-6CSUPULH.js +2 -0
  81. package/package.json +1 -1
  82. package/dist/chunk-54OORW5I.js +0 -54
  83. package/dist/chunk-54OORW5I.js.map +0 -1
  84. package/dist/chunk-KZKDVIOE.js +0 -4
  85. package/dist/chunk-KZKDVIOE.js.map +0 -1
  86. package/dist/chunk-XXIZGNLT.js.map +0 -1
  87. package/dist/config-mutator-Q62AS2TR.js +0 -2
  88. package/dist/ntfy-52EXHVMD.js +0 -2
  89. package/dist/program-IUUHETTV.js.map +0 -1
  90. package/dist/push-DID6RZYI.js +0 -2
  91. package/dist/push-bridge-325SXDGN.js +0 -2
  92. package/dist/schedule-tool-46TVGEYU.js +0 -2
  93. package/dist/wiki-enrich-NPNOSTRM.js +0 -2
  94. /package/dist/{App-D6W6IV2L.js.map → App-TOAWET76.js.map} +0 -0
  95. /package/dist/{ChatApp-X7TNCFGW.js.map → ChatApp-4DRCRKFS.js.map} +0 -0
  96. /package/dist/{absorb-eval-COPVH2M2.js.map → absorb-eval-OXNL5QGQ.js.map} +0 -0
  97. /package/dist/{agent-TMTYLAOV.js.map → agent-GALMGMNJ.js.map} +0 -0
  98. /package/dist/{chunk-AK3XOA5N.js.map → chunk-23LWLYOK.js.map} +0 -0
  99. /package/dist/{chunk-IPMXIPTS.js.map → chunk-2JKKGS77.js.map} +0 -0
  100. /package/dist/{chunk-QW3L5IIC.js.map → chunk-36HFRKIH.js.map} +0 -0
  101. /package/dist/{chunk-HZZW35FY.js.map → chunk-3K3LRLZX.js.map} +0 -0
  102. /package/dist/{chunk-GL3H7XMI.js.map → chunk-5RHCM3L7.js.map} +0 -0
  103. /package/dist/{chunk-63LV77EG.js.map → chunk-635B6SXI.js.map} +0 -0
  104. /package/dist/{chunk-FQLSV2C4.js.map → chunk-7JUISIE7.js.map} +0 -0
  105. /package/dist/{chunk-5J5USW2O.js.map → chunk-B6PMIUVV.js.map} +0 -0
  106. /package/dist/{chunk-GRMCAO3Q.js.map → chunk-BWXRAPTX.js.map} +0 -0
  107. /package/dist/{chunk-WRJFKA43.js.map → chunk-BXXP6DTB.js.map} +0 -0
  108. /package/dist/{chunk-OW5EXDVY.js.map → chunk-E3AEOQMK.js.map} +0 -0
  109. /package/dist/{chunk-VA24JS2S.js.map → chunk-GIQKQD2B.js.map} +0 -0
  110. /package/dist/{chunk-5X37CXJF.js.map → chunk-IIFHX625.js.map} +0 -0
  111. /package/dist/{chunk-EVTTAM7S.js.map → chunk-JC5KLH2K.js.map} +0 -0
  112. /package/dist/{chunk-G26UHWS4.js.map → chunk-MXDWLBIA.js.map} +0 -0
  113. /package/dist/{chunk-M5AHI2PZ.js.map → chunk-PLPDG6GE.js.map} +0 -0
  114. /package/dist/{chunk-PV623BLN.js.map → chunk-PNYBZPPB.js.map} +0 -0
  115. /package/dist/{chunk-4AFA6LQZ.js.map → chunk-RWMDDMYX.js.map} +0 -0
  116. /package/dist/{chunk-66DPMVUC.js.map → chunk-SQ37I2MD.js.map} +0 -0
  117. /package/dist/{chunk-KZXQD6ZK.js.map → chunk-XZIKAHFU.js.map} +0 -0
  118. /package/dist/{chunk-HEJTE7OC.js.map → chunk-Z2QOQBUS.js.map} +0 -0
  119. /package/dist/{chunk-XGOBZCYC.js.map → chunk-Z5OD225A.js.map} +0 -0
  120. /package/dist/{chunk-FRTELYZ4.js.map → chunk-ZYUVKFX2.js.map} +0 -0
  121. /package/dist/{client-SMOWSRJY.js.map → client-PWE4BJH4.js.map} +0 -0
  122. /package/dist/{config-OGUDWYAA.js.map → config-E53FBZ47.js.map} +0 -0
  123. /package/dist/{config-mutate-BH27TMWK.js.map → config-mutate-ZEHN6JMZ.js.map} +0 -0
  124. /package/dist/{config-mutator-Q62AS2TR.js.map → config-mutator-AK775RTM.js.map} +0 -0
  125. /package/dist/{contributions-H6T65TCY.js.map → contributions-CLLCLS3O.js.map} +0 -0
  126. /package/dist/{doctor-ZOXHT7ZQ.js.map → doctor-XKT5FWPO.js.map} +0 -0
  127. /package/dist/{follow-up-tool-GUBBXNEZ.js.map → follow-up-tool-ZFRZUZLI.js.map} +0 -0
  128. /package/dist/{hub-7AMS6ADP.js.map → hub-N5ADP3LO.js.map} +0 -0
  129. /package/dist/{ntfy-52EXHVMD.js.map → ntfy-ZDNBUEIX.js.map} +0 -0
  130. /package/dist/{promote-VCNVE5JD.js.map → promote-M4UBD2R6.js.map} +0 -0
  131. /package/dist/{push-DID6RZYI.js.map → push-HVGOC4VN.js.map} +0 -0
  132. /package/dist/{push-bridge-325SXDGN.js.map → push-bridge-NAQ7WQJX.js.map} +0 -0
  133. /package/dist/{query-6G27CBZQ.js.map → query-KMQHF5HW.js.map} +0 -0
  134. /package/dist/{query-settings-G4M75LVQ.js.map → query-settings-PENAE4UG.js.map} +0 -0
  135. /package/dist/{registry-MMNG5VZ6.js.map → registry-GYKSYSDD.js.map} +0 -0
  136. /package/dist/{request-planner-T3VCZVVQ.js.map → request-planner-GBX6DHRQ.js.map} +0 -0
  137. /package/dist/{review-candidates-C3O3CENL.js.map → review-candidates-SYMRJGI2.js.map} +0 -0
  138. /package/dist/{routing-LD35TJM5.js.map → routing-S3L44JLL.js.map} +0 -0
  139. /package/dist/{schedule-tool-46TVGEYU.js.map → schedule-tool-FXUFRZHR.js.map} +0 -0
  140. /package/dist/{scheduler-I3QB4GI3.js.map → scheduler-AW4F5ZKS.js.map} +0 -0
  141. /package/dist/{seat-4Y3EW3KU.js.map → seat-QBBNCOFO.js.map} +0 -0
  142. /package/dist/{select-LZKN3FER.js.map → select-ZCFIMYWS.js.map} +0 -0
  143. /package/dist/{set-enabled-WSTOHJDE.js.map → set-enabled-4F27A3U2.js.map} +0 -0
  144. /package/dist/{tool-NLMIUOHR.js.map → tool-G6XTO24J.js.map} +0 -0
  145. /package/dist/{tool-AKXO2EJU.js.map → tool-M462KSMF.js.map} +0 -0
  146. /package/dist/{wiki-ZQMDUXTE.js.map → wiki-JXVHIEZI.js.map} +0 -0
  147. /package/dist/{wiki-enrich-NPNOSTRM.js.map → wiki-enrich-6CSUPULH.js.map} +0 -0
package/dist/index.d.ts CHANGED
@@ -2415,16 +2415,22 @@ declare const daemonConfigSchema: z.ZodObject<{
2415
2415
  bind: z.ZodDefault<z.ZodString>;
2416
2416
  /** Default agent for voice/API calls that don't specify one (e.g. Siri) */
2417
2417
  defaultAgent: z.ZodOptional<z.ZodString>;
2418
+ /** Time each address gets to connect before Node tries the next one,
2419
+ * in ms. Node's own 250 ms fails every request on a slow link when the
2420
+ * host also resolves IPv6 (#930). Applied at daemon start. */
2421
+ connectAttemptTimeoutMs: z.ZodDefault<z.ZodNumber>;
2418
2422
  }, "strip", z.ZodTypeAny, {
2419
2423
  id: string;
2420
2424
  name: string;
2421
2425
  bind: string;
2426
+ connectAttemptTimeoutMs: number;
2422
2427
  defaultAgent?: string | undefined;
2423
2428
  }, {
2424
2429
  id: string;
2425
2430
  name: string;
2426
2431
  bind?: string | undefined;
2427
2432
  defaultAgent?: string | undefined;
2433
+ connectAttemptTimeoutMs?: number | undefined;
2428
2434
  }>;
2429
2435
  providers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
2430
2436
  apiKey: z.ZodOptional<z.ZodString>;
@@ -4276,6 +4282,7 @@ declare const daemonConfigSchema: z.ZodObject<{
4276
4282
  streamMaxSeconds?: number | undefined;
4277
4283
  }>>;
4278
4284
  }, "strip", z.ZodTypeAny, {
4285
+ maxSeconds: number;
4279
4286
  bot: {
4280
4287
  frameIntervalSeconds: number;
4281
4288
  maxSessionMinutes: number;
@@ -4287,10 +4294,10 @@ declare const daemonConfigSchema: z.ZodObject<{
4287
4294
  width: number;
4288
4295
  height: number;
4289
4296
  frameRate: number;
4290
- maxSeconds: number;
4291
4297
  voiceInput: boolean;
4292
4298
  speakAnswers: boolean;
4293
4299
  }, {
4300
+ maxSeconds?: number | undefined;
4294
4301
  bot?: {
4295
4302
  frameIntervalSeconds?: number | undefined;
4296
4303
  maxSessionMinutes?: number | undefined;
@@ -4302,13 +4309,13 @@ declare const daemonConfigSchema: z.ZodObject<{
4302
4309
  width?: number | undefined;
4303
4310
  height?: number | undefined;
4304
4311
  frameRate?: number | undefined;
4305
- maxSeconds?: number | undefined;
4306
4312
  voiceInput?: boolean | undefined;
4307
4313
  speakAnswers?: boolean | undefined;
4308
4314
  }>>;
4309
4315
  }, "strip", z.ZodTypeAny, {
4310
4316
  enabled: boolean;
4311
4317
  camera: {
4318
+ maxSeconds: number;
4312
4319
  bot: {
4313
4320
  frameIntervalSeconds: number;
4314
4321
  maxSessionMinutes: number;
@@ -4320,7 +4327,6 @@ declare const daemonConfigSchema: z.ZodObject<{
4320
4327
  width: number;
4321
4328
  height: number;
4322
4329
  frameRate: number;
4323
- maxSeconds: number;
4324
4330
  voiceInput: boolean;
4325
4331
  speakAnswers: boolean;
4326
4332
  };
@@ -4354,6 +4360,7 @@ declare const daemonConfigSchema: z.ZodObject<{
4354
4360
  }, {
4355
4361
  enabled?: boolean | undefined;
4356
4362
  camera?: {
4363
+ maxSeconds?: number | undefined;
4357
4364
  bot?: {
4358
4365
  frameIntervalSeconds?: number | undefined;
4359
4366
  maxSessionMinutes?: number | undefined;
@@ -4365,7 +4372,6 @@ declare const daemonConfigSchema: z.ZodObject<{
4365
4372
  width?: number | undefined;
4366
4373
  height?: number | undefined;
4367
4374
  frameRate?: number | undefined;
4368
- maxSeconds?: number | undefined;
4369
4375
  voiceInput?: boolean | undefined;
4370
4376
  speakAnswers?: boolean | undefined;
4371
4377
  } | undefined;
@@ -4498,6 +4504,7 @@ declare const daemonConfigSchema: z.ZodObject<{
4498
4504
  webrtc: {
4499
4505
  enabled: boolean;
4500
4506
  camera: {
4507
+ maxSeconds: number;
4501
4508
  bot: {
4502
4509
  frameIntervalSeconds: number;
4503
4510
  maxSessionMinutes: number;
@@ -4509,7 +4516,6 @@ declare const daemonConfigSchema: z.ZodObject<{
4509
4516
  width: number;
4510
4517
  height: number;
4511
4518
  frameRate: number;
4512
- maxSeconds: number;
4513
4519
  voiceInput: boolean;
4514
4520
  speakAnswers: boolean;
4515
4521
  };
@@ -4650,6 +4656,7 @@ declare const daemonConfigSchema: z.ZodObject<{
4650
4656
  webrtc?: {
4651
4657
  enabled?: boolean | undefined;
4652
4658
  camera?: {
4659
+ maxSeconds?: number | undefined;
4653
4660
  bot?: {
4654
4661
  frameIntervalSeconds?: number | undefined;
4655
4662
  maxSessionMinutes?: number | undefined;
@@ -4661,7 +4668,6 @@ declare const daemonConfigSchema: z.ZodObject<{
4661
4668
  width?: number | undefined;
4662
4669
  height?: number | undefined;
4663
4670
  frameRate?: number | undefined;
4664
- maxSeconds?: number | undefined;
4665
4671
  voiceInput?: boolean | undefined;
4666
4672
  speakAnswers?: boolean | undefined;
4667
4673
  } | undefined;
@@ -5093,22 +5099,22 @@ declare const daemonConfigSchema: z.ZodObject<{
5093
5099
  * Unset: the AgentX logo. Applied by `agentx desktop install`. */
5094
5100
  icon: z.ZodOptional<z.ZodString>;
5095
5101
  }, "strip", z.ZodTypeAny, {
5096
- banner: boolean;
5097
5102
  sound: boolean;
5103
+ banner: boolean;
5098
5104
  soundName: string;
5099
5105
  volume: number;
5100
5106
  icon?: string | undefined;
5101
5107
  }, {
5102
- banner?: boolean | undefined;
5103
5108
  sound?: boolean | undefined;
5109
+ banner?: boolean | undefined;
5104
5110
  soundName?: string | undefined;
5105
5111
  volume?: number | undefined;
5106
5112
  icon?: string | undefined;
5107
5113
  }>>;
5108
5114
  }, "strip", z.ZodTypeAny, {
5109
5115
  local: {
5110
- banner: boolean;
5111
5116
  sound: boolean;
5117
+ banner: boolean;
5112
5118
  soundName: string;
5113
5119
  volume: number;
5114
5120
  icon?: string | undefined;
@@ -5127,8 +5133,8 @@ declare const daemonConfigSchema: z.ZodObject<{
5127
5133
  } | undefined;
5128
5134
  }, {
5129
5135
  local?: {
5130
- banner?: boolean | undefined;
5131
5136
  sound?: boolean | undefined;
5137
+ banner?: boolean | undefined;
5132
5138
  soundName?: string | undefined;
5133
5139
  volume?: number | undefined;
5134
5140
  icon?: string | undefined;
@@ -5183,12 +5189,7 @@ declare const daemonConfigSchema: z.ZodObject<{
5183
5189
  enabled: z.ZodDefault<z.ZodBoolean>;
5184
5190
  secretEnv: z.ZodDefault<z.ZodString>;
5185
5191
  batchSeconds: z.ZodDefault<z.ZodNumber>;
5186
- timezone: z.ZodOptional<z.ZodString>; /** Toggle thinking-mode output on backends that support it (DeepSeek
5187
- * V4 `reasoning_content`). When `true` (the DeepSeek default), the
5188
- * agent streams its reasoning live in the dashboard task modal and
5189
- * the agentic round-trip echoes it back on the next iteration. Set
5190
- * to `false` to disable for cost/latency-sensitive agents. Ignored
5191
- * on backends that don't speak the thinking-mode protocol. */
5192
+ timezone: z.ZodOptional<z.ZodString>;
5192
5193
  allowAutoAck: z.ZodDefault<z.ZodBoolean>;
5193
5194
  describeMedia: z.ZodDefault<z.ZodBoolean>;
5194
5195
  wacli: z.ZodDefault<z.ZodObject<{
@@ -5405,8 +5406,8 @@ declare const daemonConfigSchema: z.ZodObject<{
5405
5406
  }, {
5406
5407
  enabled?: boolean | undefined;
5407
5408
  style?: "card" | "dialog" | undefined;
5408
- voice?: string | undefined;
5409
5409
  sound?: string | undefined;
5410
+ voice?: string | undefined;
5410
5411
  volume?: number | undefined;
5411
5412
  theme?: "system" | "light" | "dark" | undefined;
5412
5413
  speak?: boolean | undefined;
@@ -5511,8 +5512,8 @@ declare const daemonConfigSchema: z.ZodObject<{
5511
5512
  popup?: {
5512
5513
  enabled?: boolean | undefined;
5513
5514
  style?: "card" | "dialog" | undefined;
5514
- voice?: string | undefined;
5515
5515
  sound?: string | undefined;
5516
+ voice?: string | undefined;
5516
5517
  volume?: number | undefined;
5517
5518
  theme?: "system" | "light" | "dark" | undefined;
5518
5519
  speak?: boolean | undefined;
@@ -5764,7 +5765,7 @@ declare const daemonConfigSchema: z.ZodObject<{
5764
5765
  skills: string[];
5765
5766
  tools: string[];
5766
5767
  };
5767
- role: "client" | "guest" | "owner" | "member";
5768
+ role: "client" | "owner" | "guest" | "member";
5768
5769
  identities: string[];
5769
5770
  say?: string | undefined;
5770
5771
  }, {
@@ -5775,7 +5776,7 @@ declare const daemonConfigSchema: z.ZodObject<{
5775
5776
  skills?: string[] | undefined;
5776
5777
  tools?: string[] | undefined;
5777
5778
  } | undefined;
5778
- role?: "client" | "guest" | "owner" | "member" | undefined;
5779
+ role?: "client" | "owner" | "guest" | "member" | undefined;
5779
5780
  say?: string | undefined;
5780
5781
  identities?: string[] | undefined;
5781
5782
  }>, "many">>, {
@@ -5786,7 +5787,7 @@ declare const daemonConfigSchema: z.ZodObject<{
5786
5787
  skills: string[];
5787
5788
  tools: string[];
5788
5789
  };
5789
- role: "client" | "guest" | "owner" | "member";
5790
+ role: "client" | "owner" | "guest" | "member";
5790
5791
  identities: string[];
5791
5792
  say?: string | undefined;
5792
5793
  }[], {
@@ -5797,7 +5798,7 @@ declare const daemonConfigSchema: z.ZodObject<{
5797
5798
  skills?: string[] | undefined;
5798
5799
  tools?: string[] | undefined;
5799
5800
  } | undefined;
5800
- role?: "client" | "guest" | "owner" | "member" | undefined;
5801
+ role?: "client" | "owner" | "guest" | "member" | undefined;
5801
5802
  say?: string | undefined;
5802
5803
  identities?: string[] | undefined;
5803
5804
  }[] | undefined>;
@@ -6345,6 +6346,26 @@ declare const daemonConfigSchema: z.ZodObject<{
6345
6346
  /** The orb and character palette of an agent that set neither
6346
6347
  * presence.palette nor presence.color. */
6347
6348
  palette: z.ZodDefault<z.ZodEnum<[string, ...string[]]>>;
6349
+ /** The floor (#924): something that speaks or draws by itself, such
6350
+ * as a demo script or a screen recording, takes it for a while and
6351
+ * everything else waits: agents' spoken answers, notices, the
6352
+ * character. See src/voice/floor.ts. Off: nobody can take it. */
6353
+ floor: z.ZodDefault<z.ZodObject<{
6354
+ enabled: z.ZodDefault<z.ZodBoolean>;
6355
+ /** Seconds a holder keeps the floor when it names no time. */
6356
+ defaultSeconds: z.ZodDefault<z.ZodNumber>;
6357
+ /** The longest one take or one renewal may ask for, in seconds.
6358
+ * A holder that needs longer renews. */
6359
+ maxSeconds: z.ZodDefault<z.ZodNumber>;
6360
+ }, "strip", z.ZodTypeAny, {
6361
+ enabled: boolean;
6362
+ defaultSeconds: number;
6363
+ maxSeconds: number;
6364
+ }, {
6365
+ enabled?: boolean | undefined;
6366
+ defaultSeconds?: number | undefined;
6367
+ maxSeconds?: number | undefined;
6368
+ }>>;
6348
6369
  /** The answer text AgentX Voice shows inside its pill. */
6349
6370
  card: z.ZodDefault<z.ZodObject<{
6350
6371
  /** Seconds the answer stays open once it has been spoken; 0 keeps
@@ -6392,6 +6413,11 @@ declare const daemonConfigSchema: z.ZodObject<{
6392
6413
  startReduced: boolean;
6393
6414
  stroll: boolean;
6394
6415
  animations: "off" | "rarely" | "sometimes" | "often";
6416
+ floor: {
6417
+ enabled: boolean;
6418
+ defaultSeconds: number;
6419
+ maxSeconds: number;
6420
+ };
6395
6421
  system?: string | Record<string, string> | undefined;
6396
6422
  listener?: string | undefined;
6397
6423
  }, {
@@ -6429,6 +6455,11 @@ declare const daemonConfigSchema: z.ZodObject<{
6429
6455
  startReduced?: boolean | undefined;
6430
6456
  stroll?: boolean | undefined;
6431
6457
  animations?: "off" | "rarely" | "sometimes" | "often" | undefined;
6458
+ floor?: {
6459
+ enabled?: boolean | undefined;
6460
+ defaultSeconds?: number | undefined;
6461
+ maxSeconds?: number | undefined;
6462
+ } | undefined;
6432
6463
  }>>;
6433
6464
  business: z.ZodOptional<z.ZodObject<{
6434
6465
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -6596,10 +6627,6 @@ declare const daemonConfigSchema: z.ZodObject<{
6596
6627
  clients: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
6597
6628
  name: z.ZodOptional<z.ZodString>;
6598
6629
  kind: z.ZodOptional<z.ZodEnum<["client", "internal", "own"]>>;
6599
- /** OS keyring directive — credential lives in macOS Keychain / Linux
6600
- * Secret Service / Windows Credential Manager. The skill that reads
6601
- * this integration is responsible for resolving the keyring entry
6602
- * (typically keyed by agentId+kind). */
6603
6630
  respondWithin: z.ZodOptional<z.ZodString>;
6604
6631
  standing: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
6605
6632
  }, "strip", z.ZodTypeAny, {
@@ -8310,6 +8337,11 @@ declare const daemonConfigSchema: z.ZodObject<{
8310
8337
  startReduced: boolean;
8311
8338
  stroll: boolean;
8312
8339
  animations: "off" | "rarely" | "sometimes" | "often";
8340
+ floor: {
8341
+ enabled: boolean;
8342
+ defaultSeconds: number;
8343
+ maxSeconds: number;
8344
+ };
8313
8345
  system?: string | Record<string, string> | undefined;
8314
8346
  listener?: string | undefined;
8315
8347
  };
@@ -8446,6 +8478,7 @@ declare const daemonConfigSchema: z.ZodObject<{
8446
8478
  webrtc: {
8447
8479
  enabled: boolean;
8448
8480
  camera: {
8481
+ maxSeconds: number;
8449
8482
  bot: {
8450
8483
  frameIntervalSeconds: number;
8451
8484
  maxSessionMinutes: number;
@@ -8457,7 +8490,6 @@ declare const daemonConfigSchema: z.ZodObject<{
8457
8490
  width: number;
8458
8491
  height: number;
8459
8492
  frameRate: number;
8460
- maxSeconds: number;
8461
8493
  voiceInput: boolean;
8462
8494
  speakAnswers: boolean;
8463
8495
  };
@@ -8502,6 +8534,7 @@ declare const daemonConfigSchema: z.ZodObject<{
8502
8534
  id: string;
8503
8535
  name: string;
8504
8536
  bind: string;
8537
+ connectAttemptTimeoutMs: number;
8505
8538
  defaultAgent?: string | undefined;
8506
8539
  };
8507
8540
  crons: Record<string, {
@@ -8596,8 +8629,8 @@ declare const daemonConfigSchema: z.ZodObject<{
8596
8629
  }>;
8597
8630
  notifications: {
8598
8631
  local: {
8599
- banner: boolean;
8600
8632
  sound: boolean;
8633
+ banner: boolean;
8601
8634
  soundName: string;
8602
8635
  volume: number;
8603
8636
  icon?: string | undefined;
@@ -8711,7 +8744,7 @@ declare const daemonConfigSchema: z.ZodObject<{
8711
8744
  skills: string[];
8712
8745
  tools: string[];
8713
8746
  };
8714
- role: "client" | "guest" | "owner" | "member";
8747
+ role: "client" | "owner" | "guest" | "member";
8715
8748
  identities: string[];
8716
8749
  say?: string | undefined;
8717
8750
  }[];
@@ -9009,6 +9042,7 @@ declare const daemonConfigSchema: z.ZodObject<{
9009
9042
  name: string;
9010
9043
  bind?: string | undefined;
9011
9044
  defaultAgent?: string | undefined;
9045
+ connectAttemptTimeoutMs?: number | undefined;
9012
9046
  };
9013
9047
  demo?: {
9014
9048
  startupTimeoutSeconds?: number | undefined;
@@ -9278,6 +9312,11 @@ declare const daemonConfigSchema: z.ZodObject<{
9278
9312
  startReduced?: boolean | undefined;
9279
9313
  stroll?: boolean | undefined;
9280
9314
  animations?: "off" | "rarely" | "sometimes" | "often" | undefined;
9315
+ floor?: {
9316
+ enabled?: boolean | undefined;
9317
+ defaultSeconds?: number | undefined;
9318
+ maxSeconds?: number | undefined;
9319
+ } | undefined;
9281
9320
  } | undefined;
9282
9321
  dashboard?: {
9283
9322
  enabled?: boolean | undefined;
@@ -9480,6 +9519,7 @@ declare const daemonConfigSchema: z.ZodObject<{
9480
9519
  webrtc?: {
9481
9520
  enabled?: boolean | undefined;
9482
9521
  camera?: {
9522
+ maxSeconds?: number | undefined;
9483
9523
  bot?: {
9484
9524
  frameIntervalSeconds?: number | undefined;
9485
9525
  maxSessionMinutes?: number | undefined;
@@ -9491,7 +9531,6 @@ declare const daemonConfigSchema: z.ZodObject<{
9491
9531
  width?: number | undefined;
9492
9532
  height?: number | undefined;
9493
9533
  frameRate?: number | undefined;
9494
- maxSeconds?: number | undefined;
9495
9534
  voiceInput?: boolean | undefined;
9496
9535
  speakAnswers?: boolean | undefined;
9497
9536
  } | undefined;
@@ -9624,8 +9663,8 @@ declare const daemonConfigSchema: z.ZodObject<{
9624
9663
  }> | undefined;
9625
9664
  notifications?: {
9626
9665
  local?: {
9627
- banner?: boolean | undefined;
9628
9666
  sound?: boolean | undefined;
9667
+ banner?: boolean | undefined;
9629
9668
  soundName?: string | undefined;
9630
9669
  volume?: number | undefined;
9631
9670
  icon?: string | undefined;
@@ -9696,8 +9735,8 @@ declare const daemonConfigSchema: z.ZodObject<{
9696
9735
  popup?: {
9697
9736
  enabled?: boolean | undefined;
9698
9737
  style?: "card" | "dialog" | undefined;
9699
- voice?: string | undefined;
9700
9738
  sound?: string | undefined;
9739
+ voice?: string | undefined;
9701
9740
  volume?: number | undefined;
9702
9741
  theme?: "system" | "light" | "dark" | undefined;
9703
9742
  speak?: boolean | undefined;
@@ -9739,7 +9778,7 @@ declare const daemonConfigSchema: z.ZodObject<{
9739
9778
  skills?: string[] | undefined;
9740
9779
  tools?: string[] | undefined;
9741
9780
  } | undefined;
9742
- role?: "client" | "guest" | "owner" | "member" | undefined;
9781
+ role?: "client" | "owner" | "guest" | "member" | undefined;
9743
9782
  say?: string | undefined;
9744
9783
  identities?: string[] | undefined;
9745
9784
  }[] | undefined;
@@ -12969,8 +13008,8 @@ declare const classificationSchema: z.ZodObject<{
12969
13008
  channel?: string | undefined;
12970
13009
  preview?: string | undefined;
12971
13010
  chatId?: string | undefined;
12972
- sender?: string | undefined;
12973
13011
  agentId?: string | undefined;
13012
+ sender?: string | undefined;
12974
13013
  confidence?: number | undefined;
12975
13014
  }, {
12976
13015
  path: string[];
@@ -12981,8 +13020,8 @@ declare const classificationSchema: z.ZodObject<{
12981
13020
  channel?: string | undefined;
12982
13021
  preview?: string | undefined;
12983
13022
  chatId?: string | undefined;
12984
- sender?: string | undefined;
12985
13023
  agentId?: string | undefined;
13024
+ sender?: string | undefined;
12986
13025
  confidence?: number | undefined;
12987
13026
  proposedAxes?: Record<string, Record<string, string>> | undefined;
12988
13027
  leaf?: {
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-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(`
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-ADQUFEPJ.js";import"./chunk-LK4YO2FE.js";import"./chunk-Z2QOQBUS.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-Z5OD225A.js";import"./chunk-WCXXXAHV.js";import"./chunk-JWDJMFU6.js";import"./chunk-BWXRAPTX.js";import"./chunk-KQ7KWFZY.js";import"./chunk-LQE73AZR.js";import"./chunk-2D3RYIDU.js";import"./chunk-MRIVENBY.js";import"./chunk-UNIXYV3U.js";import"./chunk-AKWBDCMU.js";import"./chunk-635B6SXI.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-5ADXRVYT.js";import"./chunk-3K3LRLZX.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-ZYUVKFX2.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-5RHCM3L7.js";import"./chunk-SZDACK6O.js";import"./chunk-HF5EF335.js";import"./chunk-W4YR2RO2.js";import"./chunk-AFRHKA7B.js";import{s as ut}from"./chunk-23LWLYOK.js";import"./chunk-BXXP6DTB.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-RWMDDMYX.js";import{a as ht}from"./chunk-MXDWLBIA.js";import"./chunk-OWNQ2FD4.js";import"./chunk-KEXBEUSU.js";import"./chunk-ROLSSYXE.js";import"./chunk-PNYBZPPB.js";import"./chunk-SKSYII3K.js";import{f as gt,g as ft}from"./chunk-E3AEOQMK.js";import"./chunk-WPNRDEHW.js";import"./chunk-MWNCS57L.js";import"./chunk-4LWFJ4MZ.js";import"./chunk-BIJHMWXK.js";import"./chunk-7JUISIE7.js";import{j as it,k as rt,l as at}from"./chunk-SQ37I2MD.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{Aa as nt,qa as tt,sa as st,ta as ot}from"./chunk-KHYF6KTY.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{a,b,c}from"./chunk-KQ7KWFZY.js";import"./chunk-QIJLFPWE.js";export{c as NtfyAdapter,a as describeFetchError,b as splitTitle};
2
+ //# sourceMappingURL=ntfy-ZDNBUEIX.js.map