agentix-cli 0.55.0 → 0.57.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 (117) hide show
  1. package/apps/mac-voice/Sources/AgentXVoice/AgentClient.swift +46 -0
  2. package/apps/mac-voice/Sources/AgentXVoice/Config.swift +7 -0
  3. package/apps/mac-voice/Sources/AgentXVoice/Hotkey.swift +8 -2
  4. package/apps/mac-voice/Sources/AgentXVoice/HotkeySpec.swift +80 -0
  5. package/apps/mac-voice/Sources/AgentXVoice/Orb.swift +311 -0
  6. package/apps/mac-voice/Sources/AgentXVoice/OrbMath.swift +57 -0
  7. package/apps/mac-voice/Sources/AgentXVoice/Panel.swift +14 -1
  8. package/apps/mac-voice/Sources/AgentXVoice/ResultCard.swift +33 -1
  9. package/apps/mac-voice/Sources/AgentXVoice/SettingsWindow.swift +518 -0
  10. package/apps/mac-voice/Sources/AgentXVoice/Speech.swift +8 -2
  11. package/apps/mac-voice/Sources/AgentXVoice/StatusMenu.swift +23 -1
  12. package/apps/mac-voice/Sources/AgentXVoice/VoiceSettings.swift +101 -0
  13. package/apps/mac-voice/Sources/AgentXVoice/main.swift +161 -39
  14. package/apps/mac-voice/build.sh +1 -1
  15. package/dist/{App-4EM7IPB3.js → App-Z5VOAUXB.js} +2 -2
  16. package/dist/{ChatApp-FYTEEGSU.js → ChatApp-BE7ONQKS.js} +2 -2
  17. package/dist/{agent-RZ46ZB4W.js → agent-Q74EISKP.js} +2 -2
  18. package/dist/{board-dashboard-NRRYCDZW.js → board-dashboard-A7PQOI6C.js} +4 -4
  19. package/dist/{chunk-W4YMMWJL.js → chunk-2MIOMYT2.js} +2 -2
  20. package/dist/{chunk-EZN2YXRY.js → chunk-547G3HYQ.js} +2 -2
  21. package/dist/{chunk-LKJSPO3S.js → chunk-5LLGIX5M.js} +2 -2
  22. package/dist/{chunk-WOMQ2VGA.js → chunk-5W7NJHCS.js} +2 -2
  23. package/dist/{chunk-4HEVSWO3.js → chunk-6OABTCRA.js} +2 -2
  24. package/dist/{chunk-UIVHSYCN.js → chunk-6QNPCVRN.js} +3 -3
  25. package/dist/chunk-6QNPCVRN.js.map +1 -0
  26. package/dist/{chunk-CELYD5QW.js → chunk-CQUVUVXR.js} +2 -2
  27. package/dist/chunk-ERL6AS3O.js +15 -0
  28. package/dist/chunk-ERL6AS3O.js.map +1 -0
  29. package/dist/{chunk-EJ5ISSWW.js → chunk-I2LYULR4.js} +5 -5
  30. package/dist/{chunk-76AHNHWC.js → chunk-KKGFZEXS.js} +2 -2
  31. package/dist/{chunk-6AK6WKE5.js → chunk-KW7TIOS3.js} +2 -2
  32. package/dist/{chunk-SA23V7WX.js → chunk-NKMFHEGV.js} +2 -2
  33. package/dist/{chunk-K4RDE6YU.js → chunk-OZZPJ2YG.js} +197 -188
  34. package/dist/chunk-OZZPJ2YG.js.map +1 -0
  35. package/dist/{chunk-JC5Q5MPI.js → chunk-POL7RAJQ.js} +17 -17
  36. package/dist/{chunk-D3LSPFHK.js → chunk-Q6SMLSRO.js} +2 -2
  37. package/dist/{chunk-723K4SAW.js → chunk-RXEAACVH.js} +2 -2
  38. package/dist/{chunk-O3XG2NVR.js → chunk-U5YBQJ5Q.js} +2 -2
  39. package/dist/{chunk-XEOAKD5C.js → chunk-V7ZK6ZIO.js} +2 -2
  40. package/dist/{chunk-M4AG2YNX.js → chunk-VI7GBDKV.js} +2 -2
  41. package/dist/{chunk-GSOL2LW6.js → chunk-VVBGPT6W.js} +2 -2
  42. package/dist/{chunk-C3VRBEJ7.js → chunk-XTD3SZIP.js} +2 -2
  43. package/dist/cli.js +1 -1
  44. package/dist/client-EFP2PKA3.js +2 -0
  45. package/dist/config-P6YXC6XZ.js +2 -0
  46. package/dist/config-mutator-3GKXLTHH.js +2 -0
  47. package/dist/doctor-JEWMHXYH.js +2 -0
  48. package/dist/index.d.ts +109 -3
  49. package/dist/index.js +1 -1
  50. package/dist/program-7DUQJDSQ.js +2 -0
  51. package/dist/{promote-T4UJROEH.js → promote-KVPLDSKT.js} +2 -2
  52. package/dist/query-AGOMCYTT.js +2 -0
  53. package/dist/{registry-DX2RI7I7.js → registry-AUOI4TW2.js} +2 -2
  54. package/dist/{request-planner-B7DE7VJR.js → request-planner-LMZ5ZAXC.js} +2 -2
  55. package/dist/{review-candidates-4YJHIBAF.js → review-candidates-WCBXLLDS.js} +2 -2
  56. package/dist/{routing-MZG3UODH.js → routing-FBASYKUL.js} +2 -2
  57. package/dist/schedule-tool-RJRJ63SS.js +2 -0
  58. package/dist/scheduler-ATA7Z44S.js +2 -0
  59. package/dist/{seat-2PEI7JRX.js → seat-DBFW3Z5P.js} +2 -2
  60. package/dist/{select-4KIUR27O.js → select-6CNVVFA5.js} +2 -2
  61. package/dist/{set-enabled-SE7HQKPF.js → set-enabled-AYZH3KSB.js} +2 -2
  62. package/dist/{tool-5VMD7IE4.js → tool-PKS4NBZ6.js} +2 -2
  63. package/dist/wiki-QW6BDNEQ.js +2 -0
  64. package/package.json +1 -1
  65. package/dist/chunk-K4RDE6YU.js.map +0 -1
  66. package/dist/chunk-U4H35SJS.js +0 -15
  67. package/dist/chunk-U4H35SJS.js.map +0 -1
  68. package/dist/chunk-UIVHSYCN.js.map +0 -1
  69. package/dist/client-IA7ZPE56.js +0 -2
  70. package/dist/config-HPN2F7LH.js +0 -2
  71. package/dist/config-mutator-7GPTMTVB.js +0 -2
  72. package/dist/doctor-IBWQVQV4.js +0 -2
  73. package/dist/program-D5TAPSIH.js +0 -2
  74. package/dist/query-VUJC4Y5O.js +0 -2
  75. package/dist/schedule-tool-A4OFQ4YZ.js +0 -2
  76. package/dist/scheduler-RHJW2V4M.js +0 -2
  77. package/dist/wiki-2QFLAH4U.js +0 -2
  78. /package/dist/{App-4EM7IPB3.js.map → App-Z5VOAUXB.js.map} +0 -0
  79. /package/dist/{ChatApp-FYTEEGSU.js.map → ChatApp-BE7ONQKS.js.map} +0 -0
  80. /package/dist/{agent-RZ46ZB4W.js.map → agent-Q74EISKP.js.map} +0 -0
  81. /package/dist/{board-dashboard-NRRYCDZW.js.map → board-dashboard-A7PQOI6C.js.map} +0 -0
  82. /package/dist/{chunk-W4YMMWJL.js.map → chunk-2MIOMYT2.js.map} +0 -0
  83. /package/dist/{chunk-EZN2YXRY.js.map → chunk-547G3HYQ.js.map} +0 -0
  84. /package/dist/{chunk-LKJSPO3S.js.map → chunk-5LLGIX5M.js.map} +0 -0
  85. /package/dist/{chunk-WOMQ2VGA.js.map → chunk-5W7NJHCS.js.map} +0 -0
  86. /package/dist/{chunk-4HEVSWO3.js.map → chunk-6OABTCRA.js.map} +0 -0
  87. /package/dist/{chunk-CELYD5QW.js.map → chunk-CQUVUVXR.js.map} +0 -0
  88. /package/dist/{chunk-EJ5ISSWW.js.map → chunk-I2LYULR4.js.map} +0 -0
  89. /package/dist/{chunk-76AHNHWC.js.map → chunk-KKGFZEXS.js.map} +0 -0
  90. /package/dist/{chunk-6AK6WKE5.js.map → chunk-KW7TIOS3.js.map} +0 -0
  91. /package/dist/{chunk-SA23V7WX.js.map → chunk-NKMFHEGV.js.map} +0 -0
  92. /package/dist/{chunk-JC5Q5MPI.js.map → chunk-POL7RAJQ.js.map} +0 -0
  93. /package/dist/{chunk-D3LSPFHK.js.map → chunk-Q6SMLSRO.js.map} +0 -0
  94. /package/dist/{chunk-723K4SAW.js.map → chunk-RXEAACVH.js.map} +0 -0
  95. /package/dist/{chunk-O3XG2NVR.js.map → chunk-U5YBQJ5Q.js.map} +0 -0
  96. /package/dist/{chunk-XEOAKD5C.js.map → chunk-V7ZK6ZIO.js.map} +0 -0
  97. /package/dist/{chunk-M4AG2YNX.js.map → chunk-VI7GBDKV.js.map} +0 -0
  98. /package/dist/{chunk-GSOL2LW6.js.map → chunk-VVBGPT6W.js.map} +0 -0
  99. /package/dist/{chunk-C3VRBEJ7.js.map → chunk-XTD3SZIP.js.map} +0 -0
  100. /package/dist/{client-IA7ZPE56.js.map → client-EFP2PKA3.js.map} +0 -0
  101. /package/dist/{config-HPN2F7LH.js.map → config-P6YXC6XZ.js.map} +0 -0
  102. /package/dist/{config-mutator-7GPTMTVB.js.map → config-mutator-3GKXLTHH.js.map} +0 -0
  103. /package/dist/{doctor-IBWQVQV4.js.map → doctor-JEWMHXYH.js.map} +0 -0
  104. /package/dist/{program-D5TAPSIH.js.map → program-7DUQJDSQ.js.map} +0 -0
  105. /package/dist/{promote-T4UJROEH.js.map → promote-KVPLDSKT.js.map} +0 -0
  106. /package/dist/{query-VUJC4Y5O.js.map → query-AGOMCYTT.js.map} +0 -0
  107. /package/dist/{registry-DX2RI7I7.js.map → registry-AUOI4TW2.js.map} +0 -0
  108. /package/dist/{request-planner-B7DE7VJR.js.map → request-planner-LMZ5ZAXC.js.map} +0 -0
  109. /package/dist/{review-candidates-4YJHIBAF.js.map → review-candidates-WCBXLLDS.js.map} +0 -0
  110. /package/dist/{routing-MZG3UODH.js.map → routing-FBASYKUL.js.map} +0 -0
  111. /package/dist/{schedule-tool-A4OFQ4YZ.js.map → schedule-tool-RJRJ63SS.js.map} +0 -0
  112. /package/dist/{scheduler-RHJW2V4M.js.map → scheduler-ATA7Z44S.js.map} +0 -0
  113. /package/dist/{seat-2PEI7JRX.js.map → seat-DBFW3Z5P.js.map} +0 -0
  114. /package/dist/{select-4KIUR27O.js.map → select-6CNVVFA5.js.map} +0 -0
  115. /package/dist/{set-enabled-SE7HQKPF.js.map → set-enabled-AYZH3KSB.js.map} +0 -0
  116. /package/dist/{tool-5VMD7IE4.js.map → tool-PKS4NBZ6.js.map} +0 -0
  117. /package/dist/{wiki-2QFLAH4U.js.map → wiki-QW6BDNEQ.js.map} +0 -0
package/dist/index.d.ts CHANGED
@@ -1765,22 +1765,37 @@ declare const agentConfigSchema: z.ZodObject<{
1765
1765
  /** Speak short updates from this agent's real tool steps while it
1766
1766
  * works: "on" for everything but cron, "all" to include cron. */
1767
1767
  narrate: z.ZodOptional<z.ZodEnum<["off", "on", "all"]>>;
1768
+ /** Speaking speed, 1 = normal. System voices: 175 words a minute times
1769
+ * this. ElevenLabs accepts 0.7 to 1.2 and is held to that range. */
1770
+ rate: z.ZodOptional<z.ZodNumber>;
1771
+ /** Place in the speaking queue: "high" lines go ahead of waiting
1772
+ * "normal" ones, "low" lines after them. Unset: normal. */
1773
+ priority: z.ZodOptional<z.ZodEnum<["high", "normal", "low"]>>;
1774
+ /** AgentX Voice: hold this shortcut and speak to ask this agent, without
1775
+ * changing the agent picked in the menu. */
1776
+ hotkey: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
1768
1777
  }, "strip", z.ZodTypeAny, {
1769
1778
  system?: string | Record<string, string> | undefined;
1770
1779
  provider?: "system" | "elevenlabs" | undefined;
1771
1780
  style?: string | undefined;
1781
+ priority?: "high" | "normal" | "low" | undefined;
1772
1782
  elevenlabsVoiceId?: string | undefined;
1773
1783
  gender?: "neutral" | "female" | "male" | undefined;
1774
1784
  intro?: string | undefined;
1775
1785
  narrate?: "all" | "on" | "off" | undefined;
1786
+ rate?: number | undefined;
1787
+ hotkey?: string | undefined;
1776
1788
  }, {
1777
1789
  system?: string | Record<string, string> | undefined;
1778
1790
  provider?: "system" | "elevenlabs" | undefined;
1779
1791
  style?: string | undefined;
1792
+ priority?: "high" | "normal" | "low" | undefined;
1780
1793
  elevenlabsVoiceId?: string | undefined;
1781
1794
  gender?: "neutral" | "female" | "male" | undefined;
1782
1795
  intro?: string | undefined;
1783
1796
  narrate?: "all" | "on" | "off" | undefined;
1797
+ rate?: number | undefined;
1798
+ hotkey?: string | undefined;
1784
1799
  }>>;
1785
1800
  /** How this agent appears on screen: its own cursor, drawn by the Mac
1786
1801
  * helper and click-through, never the person's real mouse. See
@@ -1875,10 +1890,13 @@ declare const agentConfigSchema: z.ZodObject<{
1875
1890
  system?: string | Record<string, string> | undefined;
1876
1891
  provider?: "system" | "elevenlabs" | undefined;
1877
1892
  style?: string | undefined;
1893
+ priority?: "high" | "normal" | "low" | undefined;
1878
1894
  elevenlabsVoiceId?: string | undefined;
1879
1895
  gender?: "neutral" | "female" | "male" | undefined;
1880
1896
  intro?: string | undefined;
1881
1897
  narrate?: "all" | "on" | "off" | undefined;
1898
+ rate?: number | undefined;
1899
+ hotkey?: string | undefined;
1882
1900
  } | undefined;
1883
1901
  presence?: {
1884
1902
  initial?: string | undefined;
@@ -1955,10 +1973,13 @@ declare const agentConfigSchema: z.ZodObject<{
1955
1973
  system?: string | Record<string, string> | undefined;
1956
1974
  provider?: "system" | "elevenlabs" | undefined;
1957
1975
  style?: string | undefined;
1976
+ priority?: "high" | "normal" | "low" | undefined;
1958
1977
  elevenlabsVoiceId?: string | undefined;
1959
1978
  gender?: "neutral" | "female" | "male" | undefined;
1960
1979
  intro?: string | undefined;
1961
1980
  narrate?: "all" | "on" | "off" | undefined;
1981
+ rate?: number | undefined;
1982
+ hotkey?: string | undefined;
1962
1983
  } | undefined;
1963
1984
  presence?: {
1964
1985
  initial?: string | undefined;
@@ -2532,22 +2553,37 @@ declare const daemonConfigSchema: z.ZodObject<{
2532
2553
  /** Speak short updates from this agent's real tool steps while it
2533
2554
  * works: "on" for everything but cron, "all" to include cron. */
2534
2555
  narrate: z.ZodOptional<z.ZodEnum<["off", "on", "all"]>>;
2556
+ /** Speaking speed, 1 = normal. System voices: 175 words a minute times
2557
+ * this. ElevenLabs accepts 0.7 to 1.2 and is held to that range. */
2558
+ rate: z.ZodOptional<z.ZodNumber>;
2559
+ /** Place in the speaking queue: "high" lines go ahead of waiting
2560
+ * "normal" ones, "low" lines after them. Unset: normal. */
2561
+ priority: z.ZodOptional<z.ZodEnum<["high", "normal", "low"]>>;
2562
+ /** AgentX Voice: hold this shortcut and speak to ask this agent, without
2563
+ * changing the agent picked in the menu. */
2564
+ hotkey: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
2535
2565
  }, "strip", z.ZodTypeAny, {
2536
2566
  system?: string | Record<string, string> | undefined;
2537
2567
  provider?: "system" | "elevenlabs" | undefined;
2538
2568
  style?: string | undefined;
2569
+ priority?: "high" | "normal" | "low" | undefined;
2539
2570
  elevenlabsVoiceId?: string | undefined;
2540
2571
  gender?: "neutral" | "female" | "male" | undefined;
2541
2572
  intro?: string | undefined;
2542
2573
  narrate?: "all" | "on" | "off" | undefined;
2574
+ rate?: number | undefined;
2575
+ hotkey?: string | undefined;
2543
2576
  }, {
2544
2577
  system?: string | Record<string, string> | undefined;
2545
2578
  provider?: "system" | "elevenlabs" | undefined;
2546
2579
  style?: string | undefined;
2580
+ priority?: "high" | "normal" | "low" | undefined;
2547
2581
  elevenlabsVoiceId?: string | undefined;
2548
2582
  gender?: "neutral" | "female" | "male" | undefined;
2549
2583
  intro?: string | undefined;
2550
2584
  narrate?: "all" | "on" | "off" | undefined;
2585
+ rate?: number | undefined;
2586
+ hotkey?: string | undefined;
2551
2587
  }>>;
2552
2588
  /** How this agent appears on screen: its own cursor, drawn by the Mac
2553
2589
  * helper and click-through, never the person's real mouse. See
@@ -2642,10 +2678,13 @@ declare const daemonConfigSchema: z.ZodObject<{
2642
2678
  system?: string | Record<string, string> | undefined;
2643
2679
  provider?: "system" | "elevenlabs" | undefined;
2644
2680
  style?: string | undefined;
2681
+ priority?: "high" | "normal" | "low" | undefined;
2645
2682
  elevenlabsVoiceId?: string | undefined;
2646
2683
  gender?: "neutral" | "female" | "male" | undefined;
2647
2684
  intro?: string | undefined;
2648
2685
  narrate?: "all" | "on" | "off" | undefined;
2686
+ rate?: number | undefined;
2687
+ hotkey?: string | undefined;
2649
2688
  } | undefined;
2650
2689
  presence?: {
2651
2690
  initial?: string | undefined;
@@ -2722,10 +2761,13 @@ declare const daemonConfigSchema: z.ZodObject<{
2722
2761
  system?: string | Record<string, string> | undefined;
2723
2762
  provider?: "system" | "elevenlabs" | undefined;
2724
2763
  style?: string | undefined;
2764
+ priority?: "high" | "normal" | "low" | undefined;
2725
2765
  elevenlabsVoiceId?: string | undefined;
2726
2766
  gender?: "neutral" | "female" | "male" | undefined;
2727
2767
  intro?: string | undefined;
2728
2768
  narrate?: "all" | "on" | "off" | undefined;
2769
+ rate?: number | undefined;
2770
+ hotkey?: string | undefined;
2729
2771
  } | undefined;
2730
2772
  presence?: {
2731
2773
  initial?: string | undefined;
@@ -4358,7 +4400,7 @@ declare const daemonConfigSchema: z.ZodObject<{
4358
4400
  /** Voices for agents on mesh peers, keyed by remote agent id. The Mac
4359
4401
  * speaks for them, so their nodes need no ElevenLabs key. Unset fields
4360
4402
  * are derived from the agent card; see src/voice/mesh-voice.ts. */
4361
- meshVoices: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
4403
+ meshVoices: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<Omit<{
4362
4404
  /** Overrides the global voice.provider for this agent. */
4363
4405
  provider: z.ZodOptional<z.ZodEnum<["system", "elevenlabs"]>>;
4364
4406
  /** See systemVoiceSchema. Unset: one is assigned, of the agent's
@@ -4373,7 +4415,16 @@ declare const daemonConfigSchema: z.ZodObject<{
4373
4415
  /** Speak short updates from this agent's real tool steps while it
4374
4416
  * works: "on" for everything but cron, "all" to include cron. */
4375
4417
  narrate: z.ZodOptional<z.ZodEnum<["off", "on", "all"]>>;
4376
- } & {
4418
+ /** Speaking speed, 1 = normal. System voices: 175 words a minute times
4419
+ * this. ElevenLabs accepts 0.7 to 1.2 and is held to that range. */
4420
+ rate: z.ZodOptional<z.ZodNumber>;
4421
+ /** Place in the speaking queue: "high" lines go ahead of waiting
4422
+ * "normal" ones, "low" lines after them. Unset: normal. */
4423
+ priority: z.ZodOptional<z.ZodEnum<["high", "normal", "low"]>>;
4424
+ /** AgentX Voice: hold this shortcut and speak to ask this agent, without
4425
+ * changing the agent picked in the menu. */
4426
+ hotkey: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
4427
+ }, "priority" | "rate" | "hotkey"> & {
4377
4428
  /** What to call the agent aloud, e.g. "Atlas" for "Main Agent". */
4378
4429
  name: z.ZodOptional<z.ZodString>;
4379
4430
  }, "strip", z.ZodTypeAny, {
@@ -4411,10 +4462,35 @@ declare const daemonConfigSchema: z.ZodObject<{
4411
4462
  /** What agents call the person they talk with, e.g. a first name.
4412
4463
  * Unset: "the user". */
4413
4464
  listener: z.ZodOptional<z.ZodString>;
4465
+ /** AgentX Voice speech to text: "auto" uses ElevenLabs when a key is
4466
+ * set and the local Whisper otherwise; "elevenlabs" or "local" pick
4467
+ * one (ElevenLabs still falls back to local when it fails). */
4468
+ stt: z.ZodDefault<z.ZodEnum<["auto", "elevenlabs", "local"]>>;
4469
+ /** AgentX Voice shortcuts: hold `talk` to speak, `stop` silences every
4470
+ * voice, `paste` is smart paste. */
4471
+ hotkeys: z.ZodDefault<z.ZodObject<{
4472
+ talk: z.ZodDefault<z.ZodEffects<z.ZodString, string, string>>;
4473
+ stop: z.ZodDefault<z.ZodEffects<z.ZodString, string, string>>;
4474
+ paste: z.ZodDefault<z.ZodEffects<z.ZodString, string, string>>;
4475
+ }, "strip", z.ZodTypeAny, {
4476
+ stop: string;
4477
+ talk: string;
4478
+ paste: string;
4479
+ }, {
4480
+ stop?: string | undefined;
4481
+ talk?: string | undefined;
4482
+ paste?: string | undefined;
4483
+ }>>;
4414
4484
  }, "strip", z.ZodTypeAny, {
4415
4485
  provider: "system" | "elevenlabs";
4416
4486
  fallback: "system" | "none";
4417
4487
  locale: string;
4488
+ stt: "auto" | "local" | "elevenlabs";
4489
+ hotkeys: {
4490
+ stop: string;
4491
+ talk: string;
4492
+ paste: string;
4493
+ };
4418
4494
  system?: string | Record<string, string> | undefined;
4419
4495
  listener?: string | undefined;
4420
4496
  }, {
@@ -4423,6 +4499,12 @@ declare const daemonConfigSchema: z.ZodObject<{
4423
4499
  fallback?: "system" | "none" | undefined;
4424
4500
  locale?: string | undefined;
4425
4501
  listener?: string | undefined;
4502
+ stt?: "auto" | "local" | "elevenlabs" | undefined;
4503
+ hotkeys?: {
4504
+ stop?: string | undefined;
4505
+ talk?: string | undefined;
4506
+ paste?: string | undefined;
4507
+ } | undefined;
4426
4508
  }>>;
4427
4509
  business: z.ZodOptional<z.ZodObject<{
4428
4510
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -4606,7 +4688,8 @@ declare const daemonConfigSchema: z.ZodObject<{
4606
4688
  workTickMinutes: z.ZodDefault<z.ZodNumber>;
4607
4689
  idleQueueThreshold: z.ZodDefault<z.ZodNumber>;
4608
4690
  standup: z.ZodDefault<z.ZodObject<{
4609
- enabled: z.ZodDefault<z.ZodBoolean>;
4691
+ enabled: z.ZodDefault<z.ZodBoolean>; /** Speak short updates from this agent's real tool steps while it
4692
+ * works: "on" for everything but cron, "all" to include cron. */
4610
4693
  plansDir: z.ZodDefault<z.ZodString>;
4611
4694
  maxAgentsPerDay: z.ZodDefault<z.ZodNumber>;
4612
4695
  dryRun: z.ZodDefault<z.ZodBoolean>;
@@ -4899,6 +4982,11 @@ declare const daemonConfigSchema: z.ZodObject<{
4899
4982
  token: z.ZodOptional<z.ZodString>;
4900
4983
  daemonUrl: z.ZodDefault<z.ZodString>;
4901
4984
  daemons: z.ZodDefault<z.ZodArray<z.ZodObject<{
4985
+ /**
4986
+ * Canonical kind list — for autocomplete + doctor validation. Open string
4987
+ * schema so new services drop in without a bump; doctor warns when a kind
4988
+ * is outside this list.
4989
+ */
4902
4990
  name: z.ZodString;
4903
4991
  url: z.ZodString;
4904
4992
  dashboardUrl: z.ZodOptional<z.ZodString>;
@@ -5762,10 +5850,13 @@ declare const daemonConfigSchema: z.ZodObject<{
5762
5850
  system?: string | Record<string, string> | undefined;
5763
5851
  provider?: "system" | "elevenlabs" | undefined;
5764
5852
  style?: string | undefined;
5853
+ priority?: "high" | "normal" | "low" | undefined;
5765
5854
  elevenlabsVoiceId?: string | undefined;
5766
5855
  gender?: "neutral" | "female" | "male" | undefined;
5767
5856
  intro?: string | undefined;
5768
5857
  narrate?: "all" | "on" | "off" | undefined;
5858
+ rate?: number | undefined;
5859
+ hotkey?: string | undefined;
5769
5860
  } | undefined;
5770
5861
  presence?: {
5771
5862
  initial?: string | undefined;
@@ -5811,6 +5902,12 @@ declare const daemonConfigSchema: z.ZodObject<{
5811
5902
  provider: "system" | "elevenlabs";
5812
5903
  fallback: "system" | "none";
5813
5904
  locale: string;
5905
+ stt: "auto" | "local" | "elevenlabs";
5906
+ hotkeys: {
5907
+ stop: string;
5908
+ talk: string;
5909
+ paste: string;
5910
+ };
5814
5911
  system?: string | Record<string, string> | undefined;
5815
5912
  listener?: string | undefined;
5816
5913
  };
@@ -6398,10 +6495,13 @@ declare const daemonConfigSchema: z.ZodObject<{
6398
6495
  system?: string | Record<string, string> | undefined;
6399
6496
  provider?: "system" | "elevenlabs" | undefined;
6400
6497
  style?: string | undefined;
6498
+ priority?: "high" | "normal" | "low" | undefined;
6401
6499
  elevenlabsVoiceId?: string | undefined;
6402
6500
  gender?: "neutral" | "female" | "male" | undefined;
6403
6501
  intro?: string | undefined;
6404
6502
  narrate?: "all" | "on" | "off" | undefined;
6503
+ rate?: number | undefined;
6504
+ hotkey?: string | undefined;
6405
6505
  } | undefined;
6406
6506
  presence?: {
6407
6507
  initial?: string | undefined;
@@ -6449,6 +6549,12 @@ declare const daemonConfigSchema: z.ZodObject<{
6449
6549
  fallback?: "system" | "none" | undefined;
6450
6550
  locale?: string | undefined;
6451
6551
  listener?: string | undefined;
6552
+ stt?: "auto" | "local" | "elevenlabs" | undefined;
6553
+ hotkeys?: {
6554
+ stop?: string | undefined;
6555
+ talk?: string | undefined;
6556
+ paste?: string | undefined;
6557
+ } | undefined;
6452
6558
  } | undefined;
6453
6559
  graph?: {
6454
6560
  enabled?: boolean | undefined;
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import{a as L}from"./chunk-Y57CULGE.js";import{a as St,b as kt,c as vt,d as xt,e as $t,f as Ct,g as Pt,la as bt,ma as Tt,na as Mt}from"./chunk-K4RDE6YU.js";import"./chunk-UIVHSYCN.js";import"./chunk-723K4SAW.js";import"./chunk-S7CVSKOX.js";import"./chunk-LQRBGQIR.js";import"./chunk-ZVP6GB4G.js";import"./chunk-SA23V7WX.js";import"./chunk-W4YMMWJL.js";import"./chunk-2AXFYDWF.js";import"./chunk-AQASR6KR.js";import"./chunk-2D3RYIDU.js";import"./chunk-L53FTKEP.js";import{S as yt,l as lt,m as ct,n as dt,o as mt,p as pt}from"./chunk-EJ5ISSWW.js";import"./chunk-CELYD5QW.js";import"./chunk-WP6KLXTP.js";import"./chunk-N6EWZGIX.js";import"./chunk-DP7RTNDM.js";import{s as ut}from"./chunk-O3XG2NVR.js";import"./chunk-EZN2YXRY.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-6AK6WKE5.js";import{a as B,b as M,c as F}from"./chunk-SFQUP3BP.js";import"./chunk-J3SOEFRE.js";import"./chunk-SIU6STB2.js";import"./chunk-X5C5W3E4.js";import"./chunk-76Z4VHDX.js";import"./chunk-W4YR2RO2.js";import"./chunk-AFRHKA7B.js";import"./chunk-4HEVSWO3.js";import"./chunk-DWADWDMU.js";import"./chunk-NO2HOK4B.js";import"./chunk-QD6IICK7.js";import"./chunk-VWTBHLMX.js";import"./chunk-LKJSPO3S.js";import{a as gt,b as ft,e as ht}from"./chunk-C3VRBEJ7.js";import"./chunk-PNWNVOEZ.js";import"./chunk-64P4QHSZ.js";import"./chunk-GSOL2LW6.js";import"./chunk-TFVUOC2C.js";import"./chunk-2GIDVZ4H.js";import{j as it,k as rt,l as at}from"./chunk-M4AG2YNX.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-FX3D7YON.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-SZJMS7K4.js";import{a as m,b as G}from"./chunk-7I7IEX4S.js";import{a as Fe,b as Le,c as A,d as De}from"./chunk-VDMYBPYB.js";import{a as Ke,b as Je,e as We}from"./chunk-DSYKYZMT.js";import{l as tt,n as st,o as ot,q as nt}from"./chunk-U4H35SJS.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 L}from"./chunk-Y57CULGE.js";import{a as St,b as kt,c as vt,d as xt,e as $t,f as Ct,g as Pt,la as bt,ma as Tt,na as Mt}from"./chunk-OZZPJ2YG.js";import"./chunk-6QNPCVRN.js";import"./chunk-RXEAACVH.js";import"./chunk-S7CVSKOX.js";import"./chunk-LQRBGQIR.js";import"./chunk-ZVP6GB4G.js";import"./chunk-NKMFHEGV.js";import"./chunk-2MIOMYT2.js";import"./chunk-2AXFYDWF.js";import"./chunk-AQASR6KR.js";import"./chunk-2D3RYIDU.js";import"./chunk-L53FTKEP.js";import{S as yt,l as lt,m as ct,n as dt,o as mt,p as pt}from"./chunk-I2LYULR4.js";import"./chunk-CQUVUVXR.js";import"./chunk-WP6KLXTP.js";import"./chunk-N6EWZGIX.js";import"./chunk-DP7RTNDM.js";import{s as ut}from"./chunk-U5YBQJ5Q.js";import"./chunk-547G3HYQ.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-KW7TIOS3.js";import{a as B,b as M,c as F}from"./chunk-SFQUP3BP.js";import"./chunk-J3SOEFRE.js";import"./chunk-SIU6STB2.js";import"./chunk-X5C5W3E4.js";import"./chunk-76Z4VHDX.js";import"./chunk-W4YR2RO2.js";import"./chunk-AFRHKA7B.js";import"./chunk-6OABTCRA.js";import"./chunk-DWADWDMU.js";import"./chunk-NO2HOK4B.js";import"./chunk-QD6IICK7.js";import"./chunk-VWTBHLMX.js";import"./chunk-5LLGIX5M.js";import{a as gt,b as ft,e as ht}from"./chunk-XTD3SZIP.js";import"./chunk-PNWNVOEZ.js";import"./chunk-64P4QHSZ.js";import"./chunk-VVBGPT6W.js";import"./chunk-TFVUOC2C.js";import"./chunk-2GIDVZ4H.js";import{j as it,k as rt,l as at}from"./chunk-VI7GBDKV.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-FX3D7YON.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-SZJMS7K4.js";import{a as m,b as G}from"./chunk-7I7IEX4S.js";import{a as Fe,b as Le,c as A,d as De}from"./chunk-VDMYBPYB.js";import{a as Ke,b as Je,e as We}from"./chunk-DSYKYZMT.js";import{p as tt,r as st,s as ot,u as nt}from"./chunk-ERL6AS3O.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-EVHZ2R73.js");return e(o)}async function Ot(o,e,t,s,i){let a=[{role:"system",content:`You are a skill author for the Agent Skills ecosystem (skills.sh).
@@ -0,0 +1,2 @@
1
+ import{a}from"./chunk-POL7RAJQ.js";import"./chunk-5W7NJHCS.js";import"./chunk-Q6SMLSRO.js";import"./chunk-KKGFZEXS.js";import"./chunk-Z3IP66SL.js";import"./chunk-KAFO5QZR.js";import"./chunk-RKPAVWXF.js";import"./chunk-GV7S5BAX.js";import"./chunk-GSX4NK2N.js";import"./chunk-SZDACK6O.js";import"./chunk-OZZPJ2YG.js";import"./chunk-6QNPCVRN.js";import"./chunk-RXEAACVH.js";import"./chunk-S7CVSKOX.js";import"./chunk-LQRBGQIR.js";import"./chunk-ZVP6GB4G.js";import"./chunk-NKMFHEGV.js";import"./chunk-2MIOMYT2.js";import"./chunk-2AXFYDWF.js";import"./chunk-AQASR6KR.js";import"./chunk-2D3RYIDU.js";import"./chunk-L53FTKEP.js";import"./chunk-I2LYULR4.js";import"./chunk-CQUVUVXR.js";import"./chunk-WP6KLXTP.js";import"./chunk-N6EWZGIX.js";import"./chunk-DP7RTNDM.js";import"./chunk-U5YBQJ5Q.js";import"./chunk-547G3HYQ.js";import"./chunk-KW7TIOS3.js";import"./chunk-SFQUP3BP.js";import"./chunk-J3SOEFRE.js";import"./chunk-SIU6STB2.js";import"./chunk-X5C5W3E4.js";import"./chunk-76Z4VHDX.js";import"./chunk-W4YR2RO2.js";import"./chunk-AFRHKA7B.js";import"./chunk-6OABTCRA.js";import"./chunk-DWADWDMU.js";import"./chunk-NO2HOK4B.js";import"./chunk-QD6IICK7.js";import"./chunk-VWTBHLMX.js";import"./chunk-5LLGIX5M.js";import"./chunk-XTD3SZIP.js";import"./chunk-PNWNVOEZ.js";import"./chunk-64P4QHSZ.js";import"./chunk-VVBGPT6W.js";import"./chunk-TFVUOC2C.js";import"./chunk-2GIDVZ4H.js";import"./chunk-VI7GBDKV.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-FX3D7YON.js";import"./chunk-QOYAX2FT.js";import"./chunk-SZJMS7K4.js";import"./chunk-7I7IEX4S.js";import"./chunk-VDMYBPYB.js";import"./chunk-DSYKYZMT.js";import"./chunk-ERL6AS3O.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";export{a as buildProgram};
2
+ //# sourceMappingURL=program-7DUQJDSQ.js.map
@@ -1,2 +1,2 @@
1
- import{b as a,c as b,d as c,e as d,f as e,g as f,h as g,i as h,j as i,k as j,l as k,m as l,n as m,o as n,p as o,q as p,r as q,s as r,t as s,u as t}from"./chunk-W4YMMWJL.js";import"./chunk-2AXFYDWF.js";import"./chunk-AQASR6KR.js";import"./chunk-DP7RTNDM.js";import"./chunk-C3VRBEJ7.js";import"./chunk-PNWNVOEZ.js";import"./chunk-64P4QHSZ.js";import"./chunk-TFVUOC2C.js";import"./chunk-M4AG2YNX.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-FX3D7YON.js";import"./chunk-QOYAX2FT.js";import"./chunk-SZJMS7K4.js";import"./chunk-7I7IEX4S.js";import"./chunk-U4H35SJS.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";export{b as DEFAULT_PROMOTE_TYPES,a as PROMOTER_OWNER,c as PROMOTION_LEDGER_FILE,j as appendPromotionLedger,s as approveProposal,n as callPromotionLlm,p as estimateTokens,r as evidenceFor,m as getUnpromotedMemories,k as groupCandidates,h as listAllAgentMemories,d as memoryKey,e as memoryStamp,g as mergeSources,f as parseMemoryStamp,l as parsePromotionResponse,i as readPromotionLedger,t as rejectProposal,o as runPromotion,q as sourceKind};
2
- //# sourceMappingURL=promote-T4UJROEH.js.map
1
+ import{b as a,c as b,d as c,e as d,f as e,g as f,h as g,i as h,j as i,k as j,l as k,m as l,n as m,o as n,p as o,q as p,r as q,s as r,t as s,u as t}from"./chunk-2MIOMYT2.js";import"./chunk-2AXFYDWF.js";import"./chunk-AQASR6KR.js";import"./chunk-DP7RTNDM.js";import"./chunk-XTD3SZIP.js";import"./chunk-PNWNVOEZ.js";import"./chunk-64P4QHSZ.js";import"./chunk-TFVUOC2C.js";import"./chunk-VI7GBDKV.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-FX3D7YON.js";import"./chunk-QOYAX2FT.js";import"./chunk-SZJMS7K4.js";import"./chunk-7I7IEX4S.js";import"./chunk-ERL6AS3O.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";export{b as DEFAULT_PROMOTE_TYPES,a as PROMOTER_OWNER,c as PROMOTION_LEDGER_FILE,j as appendPromotionLedger,s as approveProposal,n as callPromotionLlm,p as estimateTokens,r as evidenceFor,m as getUnpromotedMemories,k as groupCandidates,h as listAllAgentMemories,d as memoryKey,e as memoryStamp,g as mergeSources,f as parseMemoryStamp,l as parsePromotionResponse,i as readPromotionLedger,t as rejectProposal,o as runPromotion,q as sourceKind};
2
+ //# sourceMappingURL=promote-KVPLDSKT.js.map
@@ -0,0 +1,2 @@
1
+ import{a}from"./chunk-VVBGPT6W.js";import"./chunk-TFVUOC2C.js";import"./chunk-2GIDVZ4H.js";import"./chunk-VI7GBDKV.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-FX3D7YON.js";import"./chunk-QOYAX2FT.js";import"./chunk-SZJMS7K4.js";import"./chunk-7I7IEX4S.js";import"./chunk-ERL6AS3O.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";export{a as agenticQuery};
2
+ //# sourceMappingURL=query-AGOMCYTT.js.map
@@ -1,2 +1,2 @@
1
- import{I as a,J as b,K as c,L as d,M as e,N as f,O as g,P as h,Q as i,R as j,S as k}from"./chunk-EJ5ISSWW.js";import"./chunk-CELYD5QW.js";import"./chunk-WP6KLXTP.js";import"./chunk-N6EWZGIX.js";import"./chunk-DP7RTNDM.js";import"./chunk-O3XG2NVR.js";import"./chunk-EZN2YXRY.js";import"./chunk-J3SOEFRE.js";import"./chunk-SIU6STB2.js";import"./chunk-X5C5W3E4.js";import"./chunk-W4YR2RO2.js";import"./chunk-AFRHKA7B.js";import"./chunk-4HEVSWO3.js";import"./chunk-DWADWDMU.js";import"./chunk-NO2HOK4B.js";import"./chunk-QD6IICK7.js";import"./chunk-VWTBHLMX.js";import"./chunk-LKJSPO3S.js";import"./chunk-C3VRBEJ7.js";import"./chunk-PNWNVOEZ.js";import"./chunk-64P4QHSZ.js";import"./chunk-GSOL2LW6.js";import"./chunk-TFVUOC2C.js";import"./chunk-2GIDVZ4H.js";import"./chunk-M4AG2YNX.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-FX3D7YON.js";import"./chunk-QOYAX2FT.js";import"./chunk-SZJMS7K4.js";import"./chunk-7I7IEX4S.js";import"./chunk-DSYKYZMT.js";import"./chunk-U4H35SJS.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";export{k as AgentRegistry,f as TRACE_STEP_SUMMARY_BYTES,c as buildEntryMeta,d as buildEventDigest,e as buildWikiContext,g as clipForTrace,j as emitTraceStepsFromStreamEvent,i as firstMissingRequiredTool,b as getGlobalRegistry,a as setGlobalRegistry,h as tallyToolUses};
2
- //# sourceMappingURL=registry-DX2RI7I7.js.map
1
+ import{I as a,J as b,K as c,L as d,M as e,N as f,O as g,P as h,Q as i,R as j,S as k}from"./chunk-I2LYULR4.js";import"./chunk-CQUVUVXR.js";import"./chunk-WP6KLXTP.js";import"./chunk-N6EWZGIX.js";import"./chunk-DP7RTNDM.js";import"./chunk-U5YBQJ5Q.js";import"./chunk-547G3HYQ.js";import"./chunk-J3SOEFRE.js";import"./chunk-SIU6STB2.js";import"./chunk-X5C5W3E4.js";import"./chunk-W4YR2RO2.js";import"./chunk-AFRHKA7B.js";import"./chunk-6OABTCRA.js";import"./chunk-DWADWDMU.js";import"./chunk-NO2HOK4B.js";import"./chunk-QD6IICK7.js";import"./chunk-VWTBHLMX.js";import"./chunk-5LLGIX5M.js";import"./chunk-XTD3SZIP.js";import"./chunk-PNWNVOEZ.js";import"./chunk-64P4QHSZ.js";import"./chunk-VVBGPT6W.js";import"./chunk-TFVUOC2C.js";import"./chunk-2GIDVZ4H.js";import"./chunk-VI7GBDKV.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-FX3D7YON.js";import"./chunk-QOYAX2FT.js";import"./chunk-SZJMS7K4.js";import"./chunk-7I7IEX4S.js";import"./chunk-DSYKYZMT.js";import"./chunk-ERL6AS3O.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";export{k as AgentRegistry,f as TRACE_STEP_SUMMARY_BYTES,c as buildEntryMeta,d as buildEventDigest,e as buildWikiContext,g as clipForTrace,j as emitTraceStepsFromStreamEvent,i as firstMissingRequiredTool,b as getGlobalRegistry,a as setGlobalRegistry,h as tallyToolUses};
2
+ //# sourceMappingURL=registry-AUOI4TW2.js.map
@@ -1,2 +1,2 @@
1
- import{q as m,t as p,v as d,w as x}from"./chunk-M4AG2YNX.js";import{a as u,f}from"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-FX3D7YON.js";import"./chunk-SZJMS7K4.js";import"./chunk-7I7IEX4S.js";import"./chunk-U4H35SJS.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";x();f();var l="request-gate",h="request-context",g=.1;async function q(t,o,c,r=Math.random){let s=p(l)==="active";if(s){let i=m().seats[l]?.holdout??g;if(r()<i)return{active:!0,preprocess:!1,arm:"holdout"}}let a=s?"treatment":void 0,e=await d(l,{request:t.slice(0,2e3),agent:o,channel:c,operations:["select optional context","evaluate model routing where permitted"],constraints:["Keep the original request and mandatory instructions","Desktop model cannot be downgraded"]},{preprocess:u("This request benefits from structured context selection or another bounded typed decision before the main agent executes.",{true:"Relevant context must be selected, or a bounded routing decision can help. Follow-ups and ambiguous references need context.",false:"Typed preprocessing adds no useful decision; send the request to the configured main agent with existing context."})},{timeoutMs:3e3});if(!e||e.mode!=="active")return{active:!1,preprocess:!1,arm:a};let n=e.answers.preprocess?.noul;return{active:!0,preprocess:Number.isFinite(n)&&n>=.5,arm:a}}var v={landscape:"Agent directory and mesh overview",patternContext:"Learned behavioral patterns",references:"Retrieved project references",memoryContext:"Retrieved agent memory",crossChatContext:"Summaries from other conversations",longMemoryRecall:"Older conversation recall",wikiContext:"Retrieved wiki knowledge"};async function b(t){let o=Object.entries(v).flatMap(([e,n])=>{let i=t[e];return i?[{id:e,description:n,source:e,characters:i.length,preview:i.slice(0,400),trust:"context data, not instructions"}]:[]});if(!o.length)return{input:t,excluded:[]};let c=Object.fromEntries(o.map(e=>[e.id,u(`Context block ${e.id} is relevant to completing the current request correctly.`,{true:"Needed or potentially relevant; retain if uncertain or the preview is incomplete.",false:"Clearly unrelated to the current request; safe to omit."})])),r=await d(h,{request:t.message.slice(0,2e3),channel:t.channel,agent:t.agentId,mandatory:["request","identity","permissions and instructions","same-chat history","handover","attachments"],context:o},c,{timeoutMs:3e3});if(!r||r.mode!=="active")return{input:t,excluded:[]};let s={...t},a=[];for(let e of o){let n=r.answers[e.id]?.noul;Number.isFinite(n)&&n>=0&&n<.2&&(delete s[e.id],a.push(e.id))}return{input:s,excluded:a}}export{g as DEFAULT_REQUEST_GATE_HOLDOUT,h as REQUEST_CONTEXT_SEAT,l as REQUEST_GATE_SEAT,q as evaluateRequest,b as selectRequestContext};
2
- //# sourceMappingURL=request-planner-B7DE7VJR.js.map
1
+ import{q as m,t as p,v as d,w as x}from"./chunk-VI7GBDKV.js";import{a as u,f}from"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-FX3D7YON.js";import"./chunk-SZJMS7K4.js";import"./chunk-7I7IEX4S.js";import"./chunk-ERL6AS3O.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";x();f();var l="request-gate",h="request-context",g=.1;async function q(t,o,c,r=Math.random){let s=p(l)==="active";if(s){let i=m().seats[l]?.holdout??g;if(r()<i)return{active:!0,preprocess:!1,arm:"holdout"}}let a=s?"treatment":void 0,e=await d(l,{request:t.slice(0,2e3),agent:o,channel:c,operations:["select optional context","evaluate model routing where permitted"],constraints:["Keep the original request and mandatory instructions","Desktop model cannot be downgraded"]},{preprocess:u("This request benefits from structured context selection or another bounded typed decision before the main agent executes.",{true:"Relevant context must be selected, or a bounded routing decision can help. Follow-ups and ambiguous references need context.",false:"Typed preprocessing adds no useful decision; send the request to the configured main agent with existing context."})},{timeoutMs:3e3});if(!e||e.mode!=="active")return{active:!1,preprocess:!1,arm:a};let n=e.answers.preprocess?.noul;return{active:!0,preprocess:Number.isFinite(n)&&n>=.5,arm:a}}var v={landscape:"Agent directory and mesh overview",patternContext:"Learned behavioral patterns",references:"Retrieved project references",memoryContext:"Retrieved agent memory",crossChatContext:"Summaries from other conversations",longMemoryRecall:"Older conversation recall",wikiContext:"Retrieved wiki knowledge"};async function b(t){let o=Object.entries(v).flatMap(([e,n])=>{let i=t[e];return i?[{id:e,description:n,source:e,characters:i.length,preview:i.slice(0,400),trust:"context data, not instructions"}]:[]});if(!o.length)return{input:t,excluded:[]};let c=Object.fromEntries(o.map(e=>[e.id,u(`Context block ${e.id} is relevant to completing the current request correctly.`,{true:"Needed or potentially relevant; retain if uncertain or the preview is incomplete.",false:"Clearly unrelated to the current request; safe to omit."})])),r=await d(h,{request:t.message.slice(0,2e3),channel:t.channel,agent:t.agentId,mandatory:["request","identity","permissions and instructions","same-chat history","handover","attachments"],context:o},c,{timeoutMs:3e3});if(!r||r.mode!=="active")return{input:t,excluded:[]};let s={...t},a=[];for(let e of o){let n=r.answers[e.id]?.noul;Number.isFinite(n)&&n>=0&&n<.2&&(delete s[e.id],a.push(e.id))}return{input:s,excluded:a}}export{g as DEFAULT_REQUEST_GATE_HOLDOUT,h as REQUEST_CONTEXT_SEAT,l as REQUEST_GATE_SEAT,q as evaluateRequest,b as selectRequestContext};
2
+ //# sourceMappingURL=request-planner-LMZ5ZAXC.js.map
@@ -1,4 +1,4 @@
1
- import{b as I}from"./chunk-723K4SAW.js";import"./chunk-WP6KLXTP.js";import"./chunk-2GIDVZ4H.js";import"./chunk-M4AG2YNX.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-FX3D7YON.js";import"./chunk-SZJMS7K4.js";import"./chunk-7I7IEX4S.js";import"./chunk-U4H35SJS.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";import{createHash as E}from"crypto";var v="review:",b={decisions:"project",warnings:"feedback",friction:"feedback",context:"reference"};function A(t,n,r){let s=E("sha1").update(r.trim().toLowerCase()).digest("hex").slice(0,10);return`${v}${t}/${n}@${s}`}function F(t){if(!t.startsWith(v))return null;let n=t.slice(v.length),r=n.lastIndexOf("@"),s=n.lastIndexOf("/",r===-1?void 0:r);return r===-1||s===-1?null:{reviewId:n.slice(0,s),kind:n.slice(s+1,r),digest:n.slice(r+1)}}var C=t=>t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,48)||"finding",L=5;function T(t,n){return`${t}|${I(n)}`}function K(t,n={}){let r=n.kinds??Object.keys(b),s=n.minLength??24,h=[],d=new Map,u=new Map,f=new Map,x=new Map;for(let e of t){let i;try{i=JSON.parse(e.result)}catch{continue}let o=e.updated_at?new Date(e.updated_at).toISOString():new Date().toISOString();for(let c of r){let l=b[c];if(!l)continue;let R=i[c];if(Array.isArray(R))for(let $ of R){let a=String($?.text??"").trim();if(a.length<s)continue;let g=A(e.id,c,a),_=g.slice(g.lastIndexOf("@")),w=`${c}${_}`,y=T(c,a),S=f.get(y)??new Set;if(S.add(e.session_id??e.id),f.set(y,S),d.has(w))continue;let O=String($?.evidence??"").trim(),k={occurrences:1,agentId:e.agent,key:`${e.agent}/${l}_${C(a)}`,stamp:g,memory:{name:C(a),type:l,description:a.slice(0,200),body:"",createdAt:o,updatedAt:o}};x.set(g,{text:a,evidence:O,agent:e.agent,source:e.source}),d.set(w,k),u.set(w,y),h.push(k)}}}for(let[e,i]of d){let o=f.get(u.get(e)??"");i.occurrences=o?.size??1,i.sessions=[...o??[]].slice(0,L);let c=x.get(i.stamp);i.memory.body=D(c,i.occurrences)}let m=new Map;for(let[e,i]of d){let o=u.get(e)??e,c=m.get(o)??[];c.push(i),m.set(o,c)}let M=[...m.values()].sort((e,i)=>i[0].occurrences-e[0].occurrences),p=[];for(let e=0;p.length<h.length;e++){let i=!1;for(let o of M)e<o.length&&(p.push(o[e]),i=!0);if(!i)break}return p}function D(t,n){let r=`${t.agent}${t.source?` via ${t.source}`:""}`,s=[];return n>1?(s.push(`Observed in ${n} separate sessions. Most recently stated as:`),s.push(`> ${t.text}`),s.push(`Recurring across ${n} sessions is what makes this worth recording \u2014 any single occurrence is session state, the repetition is the finding.`)):s.push(t.text),t.evidence&&s.push(`**Evidence:** ${t.evidence}`),s.push(`_From ${n>1?"session reviews":"a session review"} of ${r}._`),s.join(`
1
+ import{b as I}from"./chunk-RXEAACVH.js";import"./chunk-WP6KLXTP.js";import"./chunk-2GIDVZ4H.js";import"./chunk-VI7GBDKV.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-FX3D7YON.js";import"./chunk-SZJMS7K4.js";import"./chunk-7I7IEX4S.js";import"./chunk-ERL6AS3O.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";import{createHash as E}from"crypto";var v="review:",b={decisions:"project",warnings:"feedback",friction:"feedback",context:"reference"};function A(t,n,r){let s=E("sha1").update(r.trim().toLowerCase()).digest("hex").slice(0,10);return`${v}${t}/${n}@${s}`}function F(t){if(!t.startsWith(v))return null;let n=t.slice(v.length),r=n.lastIndexOf("@"),s=n.lastIndexOf("/",r===-1?void 0:r);return r===-1||s===-1?null:{reviewId:n.slice(0,s),kind:n.slice(s+1,r),digest:n.slice(r+1)}}var C=t=>t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,48)||"finding",L=5;function T(t,n){return`${t}|${I(n)}`}function K(t,n={}){let r=n.kinds??Object.keys(b),s=n.minLength??24,h=[],d=new Map,u=new Map,f=new Map,x=new Map;for(let e of t){let i;try{i=JSON.parse(e.result)}catch{continue}let o=e.updated_at?new Date(e.updated_at).toISOString():new Date().toISOString();for(let c of r){let l=b[c];if(!l)continue;let R=i[c];if(Array.isArray(R))for(let $ of R){let a=String($?.text??"").trim();if(a.length<s)continue;let g=A(e.id,c,a),_=g.slice(g.lastIndexOf("@")),w=`${c}${_}`,y=T(c,a),S=f.get(y)??new Set;if(S.add(e.session_id??e.id),f.set(y,S),d.has(w))continue;let O=String($?.evidence??"").trim(),k={occurrences:1,agentId:e.agent,key:`${e.agent}/${l}_${C(a)}`,stamp:g,memory:{name:C(a),type:l,description:a.slice(0,200),body:"",createdAt:o,updatedAt:o}};x.set(g,{text:a,evidence:O,agent:e.agent,source:e.source}),d.set(w,k),u.set(w,y),h.push(k)}}}for(let[e,i]of d){let o=f.get(u.get(e)??"");i.occurrences=o?.size??1,i.sessions=[...o??[]].slice(0,L);let c=x.get(i.stamp);i.memory.body=D(c,i.occurrences)}let m=new Map;for(let[e,i]of d){let o=u.get(e)??e,c=m.get(o)??[];c.push(i),m.set(o,c)}let M=[...m.values()].sort((e,i)=>i[0].occurrences-e[0].occurrences),p=[];for(let e=0;p.length<h.length;e++){let i=!1;for(let o of M)e<o.length&&(p.push(o[e]),i=!0);if(!i)break}return p}function D(t,n){let r=`${t.agent}${t.source?` via ${t.source}`:""}`,s=[];return n>1?(s.push(`Observed in ${n} separate sessions. Most recently stated as:`),s.push(`> ${t.text}`),s.push(`Recurring across ${n} sessions is what makes this worth recording \u2014 any single occurrence is session state, the repetition is the finding.`)):s.push(t.text),t.evidence&&s.push(`**Evidence:** ${t.evidence}`),s.push(`_From ${n>1?"session reviews":"a session review"} of ${r}._`),s.join(`
2
2
 
3
3
  `)}export{L as MAX_EVIDENCE_SESSIONS,b as PROMOTABLE_KINDS,v as REVIEW_STAMP_PREFIX,F as parseReviewStamp,A as reviewStamp,K as reviewsToCandidates};
4
- //# sourceMappingURL=review-candidates-4YJHIBAF.js.map
4
+ //# sourceMappingURL=review-candidates-WCBXLLDS.js.map
@@ -1,2 +1,2 @@
1
- import{a,b}from"./chunk-4HEVSWO3.js";import"./chunk-M4AG2YNX.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-FX3D7YON.js";import"./chunk-SZJMS7K4.js";import"./chunk-7I7IEX4S.js";import"./chunk-U4H35SJS.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";export{a as cheapModelForEngine,b as routeTaskModel};
2
- //# sourceMappingURL=routing-MZG3UODH.js.map
1
+ import{a,b}from"./chunk-6OABTCRA.js";import"./chunk-VI7GBDKV.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-FX3D7YON.js";import"./chunk-SZJMS7K4.js";import"./chunk-7I7IEX4S.js";import"./chunk-ERL6AS3O.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";export{a as cheapModelForEngine,b as routeTaskModel};
2
+ //# sourceMappingURL=routing-FBASYKUL.js.map
@@ -0,0 +1,2 @@
1
+ import{a,b}from"./chunk-V7ZK6ZIO.js";import"./chunk-RKPAVWXF.js";import"./chunk-NKMFHEGV.js";import"./chunk-U5YBQJ5Q.js";import"./chunk-547G3HYQ.js";import"./chunk-FCPTN6NF.js";import"./chunk-7I7IEX4S.js";import"./chunk-ERL6AS3O.js";import"./chunk-QIJLFPWE.js";export{b as resolveScheduleCaller,a as runScheduleTool};
2
+ //# sourceMappingURL=schedule-tool-RJRJ63SS.js.map
@@ -0,0 +1,2 @@
1
+ import{n as a,o as b,p as c,q as d,r as e,s as f}from"./chunk-U5YBQJ5Q.js";import"./chunk-547G3HYQ.js";import"./chunk-FCPTN6NF.js";import"./chunk-7I7IEX4S.js";import"./chunk-ERL6AS3O.js";import"./chunk-QIJLFPWE.js";export{a as AGENT_RUN_TIMEOUT_FLOOR,f as CronScheduler,b as agentRunTimeout,e as cronRunId,d as getNextCronDate,c as runLinkIds};
2
+ //# sourceMappingURL=scheduler-ATA7Z44S.js.map
@@ -1,2 +1,2 @@
1
- import{o as a,p as b,q as c,r as d,s as e,t as f,u as g,v as h,w as i}from"./chunk-M4AG2YNX.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-FX3D7YON.js";import"./chunk-SZJMS7K4.js";import"./chunk-7I7IEX4S.js";import"./chunk-U4H35SJS.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";i();export{h as askSeat,a as configureDecisions,c as decisionsRuntime,f as getSeatMode,d as parseSeatMode,g as recordSeatOutcome,b as resetDecisionsRuntime,e as seatEnvVar};
2
- //# sourceMappingURL=seat-2PEI7JRX.js.map
1
+ import{o as a,p as b,q as c,r as d,s as e,t as f,u as g,v as h,w as i}from"./chunk-VI7GBDKV.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-FX3D7YON.js";import"./chunk-SZJMS7K4.js";import"./chunk-7I7IEX4S.js";import"./chunk-ERL6AS3O.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";i();export{h as askSeat,a as configureDecisions,c as decisionsRuntime,f as getSeatMode,d as parseSeatMode,g as recordSeatOutcome,b as resetDecisionsRuntime,e as seatEnvVar};
2
+ //# sourceMappingURL=seat-DBFW3Z5P.js.map
@@ -1,2 +1,2 @@
1
- import{v as S,w}from"./chunk-M4AG2YNX.js";import{a as g,b as h,f as R}from"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-FX3D7YON.js";import"./chunk-SZJMS7K4.js";import"./chunk-7I7IEX4S.js";import{d as f}from"./chunk-VDMYBPYB.js";import"./chunk-U4H35SJS.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";w();R();var p="skill-select";function y(l){return{task:d(l.task,1200),...l.agent?{agent:l.agent}:{},skills:l.candidates.map(t=>({name:t.name,purpose:d(t.description,300),...t.category?{category:t.category}:{},...t.tags?.length?{tags:t.tags.slice(0,8)}:{}}))}}function b(l){let t={};for(let i of l)t[i.name]=d(i.description,300);return{anyRelevant:g("At least one of these skills is about the task at hand.",{true:"The task is the kind of work one of these skills exists for, and following it would change how the work is done \u2014 it names the same system, the same procedure or the same kind of artefact.",false:"None of them is about this task. They may share vocabulary with it, mention the same tools, or belong to the same project without bearing on what is being asked. Sharing words with a task is not being about it."}),best:h(t,"Which skill is this task most about?")}}function v(l){let t=l.anyRelevant,i=l.best,o=Object.entries(i.probabilities??{}).map(([e,s])=>({name:e,p:Number(s)||0})).sort((e,s)=>s.p-e.p);return{anyRelevant:t.noul,name:i.choice,confidence:i.confidence,ranked:o}}function d(l,t){return l.length>t?`${l.slice(0,t)}\u2026`:l}var x=.1,A=12;async function E(l,t,i={}){let o=i.minRelevant??.6,e=f(l,t).filter(n=>n.relevance>=x).slice(0,A),s=e.map(n=>({name:n.skill.frontmatter.name,lexical:n.relevance}));if(e.length===0)return{skill:null,anyRelevant:0,confidence:0,shortlist:s,judged:!1,reason:"no skill mentions anything in this task"};if(e.length===1)return{skill:e[0].skill,anyRelevant:e[0].relevance,confidence:e[0].relevance,shortlist:s,judged:!1,reason:`only ${e[0].skill.frontmatter.name} matched (${e[0].matchReason})`};let r=e.map(n=>({name:n.skill.frontmatter.name,description:n.skill.frontmatter.description,category:n.skill.frontmatter.category??null,tags:n.skill.frontmatter.tags})),m=await S(p,y({task:t,agent:i.agent??null,candidates:r}),b(r),{incumbent:{best:r[0].name},features:{agent:i.agent??"unknown",candidates:r.length}});if(!m)return{skill:e[0].skill,anyRelevant:e[0].relevance,confidence:e[0].relevance,shortlist:s,judged:!1,reason:`seat off \u2014 lexical top match (${e[0].matchReason})`};let a=v(m.answers),c=s.map(n=>({...n,p:a.ranked.find(k=>k.name===n.name)?.p??0})).sort((n,k)=>(k.p??0)-(n.p??0));if(a.anyRelevant<o)return{skill:null,anyRelevant:a.anyRelevant,confidence:a.confidence,shortlist:c,judged:!0,reason:`nothing on the shortlist is about this task (${a.anyRelevant.toFixed(2)} below ${o})`};let u=e.find(n=>n.skill.frontmatter.name===a.name);return u?{skill:u.skill,anyRelevant:a.anyRelevant,confidence:a.confidence,shortlist:c,judged:!0,reason:`${a.name} (confidence ${a.confidence.toFixed(2)})`}:{skill:null,anyRelevant:a.anyRelevant,confidence:a.confidence,shortlist:c,judged:!0,reason:`seat chose "${a.name}", which was not on the shortlist`}}export{E as pickSkillForTask};
2
- //# sourceMappingURL=select-4KIUR27O.js.map
1
+ import{v as S,w}from"./chunk-VI7GBDKV.js";import{a as g,b as h,f as R}from"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-FX3D7YON.js";import"./chunk-SZJMS7K4.js";import"./chunk-7I7IEX4S.js";import{d as f}from"./chunk-VDMYBPYB.js";import"./chunk-ERL6AS3O.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";w();R();var p="skill-select";function y(l){return{task:d(l.task,1200),...l.agent?{agent:l.agent}:{},skills:l.candidates.map(t=>({name:t.name,purpose:d(t.description,300),...t.category?{category:t.category}:{},...t.tags?.length?{tags:t.tags.slice(0,8)}:{}}))}}function b(l){let t={};for(let i of l)t[i.name]=d(i.description,300);return{anyRelevant:g("At least one of these skills is about the task at hand.",{true:"The task is the kind of work one of these skills exists for, and following it would change how the work is done \u2014 it names the same system, the same procedure or the same kind of artefact.",false:"None of them is about this task. They may share vocabulary with it, mention the same tools, or belong to the same project without bearing on what is being asked. Sharing words with a task is not being about it."}),best:h(t,"Which skill is this task most about?")}}function v(l){let t=l.anyRelevant,i=l.best,o=Object.entries(i.probabilities??{}).map(([e,s])=>({name:e,p:Number(s)||0})).sort((e,s)=>s.p-e.p);return{anyRelevant:t.noul,name:i.choice,confidence:i.confidence,ranked:o}}function d(l,t){return l.length>t?`${l.slice(0,t)}\u2026`:l}var x=.1,A=12;async function E(l,t,i={}){let o=i.minRelevant??.6,e=f(l,t).filter(n=>n.relevance>=x).slice(0,A),s=e.map(n=>({name:n.skill.frontmatter.name,lexical:n.relevance}));if(e.length===0)return{skill:null,anyRelevant:0,confidence:0,shortlist:s,judged:!1,reason:"no skill mentions anything in this task"};if(e.length===1)return{skill:e[0].skill,anyRelevant:e[0].relevance,confidence:e[0].relevance,shortlist:s,judged:!1,reason:`only ${e[0].skill.frontmatter.name} matched (${e[0].matchReason})`};let r=e.map(n=>({name:n.skill.frontmatter.name,description:n.skill.frontmatter.description,category:n.skill.frontmatter.category??null,tags:n.skill.frontmatter.tags})),m=await S(p,y({task:t,agent:i.agent??null,candidates:r}),b(r),{incumbent:{best:r[0].name},features:{agent:i.agent??"unknown",candidates:r.length}});if(!m)return{skill:e[0].skill,anyRelevant:e[0].relevance,confidence:e[0].relevance,shortlist:s,judged:!1,reason:`seat off \u2014 lexical top match (${e[0].matchReason})`};let a=v(m.answers),c=s.map(n=>({...n,p:a.ranked.find(k=>k.name===n.name)?.p??0})).sort((n,k)=>(k.p??0)-(n.p??0));if(a.anyRelevant<o)return{skill:null,anyRelevant:a.anyRelevant,confidence:a.confidence,shortlist:c,judged:!0,reason:`nothing on the shortlist is about this task (${a.anyRelevant.toFixed(2)} below ${o})`};let u=e.find(n=>n.skill.frontmatter.name===a.name);return u?{skill:u.skill,anyRelevant:a.anyRelevant,confidence:a.confidence,shortlist:c,judged:!0,reason:`${a.name} (confidence ${a.confidence.toFixed(2)})`}:{skill:null,anyRelevant:a.anyRelevant,confidence:a.confidence,shortlist:c,judged:!0,reason:`seat chose "${a.name}", which was not on the shortlist`}}export{E as pickSkillForTask};
2
+ //# sourceMappingURL=select-6CNVVFA5.js.map
@@ -1,2 +1,2 @@
1
- import{b as a}from"./chunk-EZN2YXRY.js";import"./chunk-U4H35SJS.js";import"./chunk-QIJLFPWE.js";async function i(o,r,s={}){let e=null,n=await a(l=>{let t=l.crons?.[o];if(t?r&&t.approval?.action==="create"?e={ok:!1,status:409,error:`schedule "${o}" is waiting for approval: agentx schedule approve ${o}`}:t.enabled===r&&(e={ok:!0,id:o,enabled:r,changed:!1}):e={ok:!1,status:404,error:`no schedule "${o}"`},e)throw new Error("no write");t.enabled=r,e={ok:!0,id:o,enabled:r,changed:!0}},{configPath:s.configPath,reload:!1});return e&&(!e.ok||!e.changed)?e:n.success?e??{ok:!1,status:500,error:"mutation did not run"}:{ok:!1,status:500,error:n.error||"could not write agentx.json"}}export{i as setCronEnabled};
2
- //# sourceMappingURL=set-enabled-SE7HQKPF.js.map
1
+ import{b as a}from"./chunk-547G3HYQ.js";import"./chunk-ERL6AS3O.js";import"./chunk-QIJLFPWE.js";async function i(o,r,s={}){let e=null,n=await a(l=>{let t=l.crons?.[o];if(t?r&&t.approval?.action==="create"?e={ok:!1,status:409,error:`schedule "${o}" is waiting for approval: agentx schedule approve ${o}`}:t.enabled===r&&(e={ok:!0,id:o,enabled:r,changed:!1}):e={ok:!1,status:404,error:`no schedule "${o}"`},e)throw new Error("no write");t.enabled=r,e={ok:!0,id:o,enabled:r,changed:!0}},{configPath:s.configPath,reload:!1});return e&&(!e.ok||!e.changed)?e:n.success?e??{ok:!1,status:500,error:"mutation did not run"}:{ok:!1,status:500,error:n.error||"could not write agentx.json"}}export{i as setCronEnabled};
2
+ //# sourceMappingURL=set-enabled-AYZH3KSB.js.map
@@ -1,2 +1,2 @@
1
- import{b as p}from"./chunk-XEOAKD5C.js";import"./chunk-RKPAVWXF.js";import"./chunk-SA23V7WX.js";import"./chunk-O3XG2NVR.js";import"./chunk-EZN2YXRY.js";import"./chunk-FCPTN6NF.js";import"./chunk-7I7IEX4S.js";import"./chunk-U4H35SJS.js";import"./chunk-QIJLFPWE.js";var f=new Set(["cron","heartbeat","api","a2a","mesh","approvals"]);function u(t){return typeof t=="string"?t.trim():""}async function y(t,i){let c=i.fetch??fetch,d=i.daemonUrl.replace(/\/$/,""),s=(u(t.action)||"create").toLowerCase(),r=p(t,i.env??process.env);if(s==="status"){let o=u(t.id);if(!o)return"Error: `id` is required for status (the card id you got when you raised it).";try{let n=await c(`${d}/approvals/${encodeURIComponent(o)}`,{signal:AbortSignal.timeout(1e4)}),a=await n.json().catch(()=>({}));if(!n.ok)return`Error: ${a?.error||`HTTP ${n.status}`}`;let e=a.card;return r&&e.raised_by!==r.agentId?`Error: card "${o}" was raised by another agent.`:e.status==="pending"?`Card ${e.id} is still waiting for the operator. It expires ${e.expires}; then "${e.if_silent}" applies.`:e.status==="decided"?`Card ${e.id}: the operator said ${String(e.verdict).toUpperCase()}.${e.note?` Note: ${e.note}`:""}`:`Card ${e.id} expired unanswered; the default applied: ${e.outcome??e.if_silent}.`}catch(n){return`Error: couldn't reach the daemon (${n?.message??n}).`}}if(s!=="create")return`Error: unknown action "${s}". Use create or status.`;if(!r)return"Error: couldn't tell which agent you are. Pass callerAgentId.";let l=r.channel&&r.chatId&&!f.has(r.channel)?{channel:r.channel,chatId:r.chatId,...r.accountId?{accountId:r.accountId}:{}}:void 0,h={title:t.title,ask:t.ask,recommend:t.recommend,if_silent:t.if_silent,expires:t.expires,source:t.source,raised_by:r.agentId,...l?{reply:l}:{}};try{let o=await c(`${d}/approvals`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(h),signal:AbortSignal.timeout(1e4)}),n=await o.json().catch(()=>({}));if(!o.ok)return`Error: ${n?.error||`HTTP ${o.status}`}`;let a=n.card;return[`Decision card ${a.id} is in the operator's Approvals inbox.`,`If nobody answers by ${a.expires}, "${a.if_silent}" applies.`,"You will get a message with the result. Tell the requester it is waiting for approval; don't ask the operator again in chat."].join(" ")}catch(o){return`Error: couldn't reach the daemon (${o?.message??o}).`}}export{y as runApprovalTool};
2
- //# sourceMappingURL=tool-5VMD7IE4.js.map
1
+ import{b as p}from"./chunk-V7ZK6ZIO.js";import"./chunk-RKPAVWXF.js";import"./chunk-NKMFHEGV.js";import"./chunk-U5YBQJ5Q.js";import"./chunk-547G3HYQ.js";import"./chunk-FCPTN6NF.js";import"./chunk-7I7IEX4S.js";import"./chunk-ERL6AS3O.js";import"./chunk-QIJLFPWE.js";var f=new Set(["cron","heartbeat","api","a2a","mesh","approvals"]);function u(t){return typeof t=="string"?t.trim():""}async function y(t,i){let c=i.fetch??fetch,d=i.daemonUrl.replace(/\/$/,""),s=(u(t.action)||"create").toLowerCase(),r=p(t,i.env??process.env);if(s==="status"){let o=u(t.id);if(!o)return"Error: `id` is required for status (the card id you got when you raised it).";try{let n=await c(`${d}/approvals/${encodeURIComponent(o)}`,{signal:AbortSignal.timeout(1e4)}),a=await n.json().catch(()=>({}));if(!n.ok)return`Error: ${a?.error||`HTTP ${n.status}`}`;let e=a.card;return r&&e.raised_by!==r.agentId?`Error: card "${o}" was raised by another agent.`:e.status==="pending"?`Card ${e.id} is still waiting for the operator. It expires ${e.expires}; then "${e.if_silent}" applies.`:e.status==="decided"?`Card ${e.id}: the operator said ${String(e.verdict).toUpperCase()}.${e.note?` Note: ${e.note}`:""}`:`Card ${e.id} expired unanswered; the default applied: ${e.outcome??e.if_silent}.`}catch(n){return`Error: couldn't reach the daemon (${n?.message??n}).`}}if(s!=="create")return`Error: unknown action "${s}". Use create or status.`;if(!r)return"Error: couldn't tell which agent you are. Pass callerAgentId.";let l=r.channel&&r.chatId&&!f.has(r.channel)?{channel:r.channel,chatId:r.chatId,...r.accountId?{accountId:r.accountId}:{}}:void 0,h={title:t.title,ask:t.ask,recommend:t.recommend,if_silent:t.if_silent,expires:t.expires,source:t.source,raised_by:r.agentId,...l?{reply:l}:{}};try{let o=await c(`${d}/approvals`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(h),signal:AbortSignal.timeout(1e4)}),n=await o.json().catch(()=>({}));if(!o.ok)return`Error: ${n?.error||`HTTP ${o.status}`}`;let a=n.card;return[`Decision card ${a.id} is in the operator's Approvals inbox.`,`If nobody answers by ${a.expires}, "${a.if_silent}" applies.`,"You will get a message with the result. Tell the requester it is waiting for approval; don't ask the operator again in chat."].join(" ")}catch(o){return`Error: couldn't reach the daemon (${o?.message??o}).`}}export{y as runApprovalTool};
2
+ //# sourceMappingURL=tool-PKS4NBZ6.js.map
@@ -0,0 +1,2 @@
1
+ import"./chunk-VWTBHLMX.js";import{a as b}from"./chunk-5LLGIX5M.js";import{e as a}from"./chunk-XTD3SZIP.js";import"./chunk-PNWNVOEZ.js";import"./chunk-64P4QHSZ.js";import{a as c}from"./chunk-VVBGPT6W.js";import"./chunk-TFVUOC2C.js";import"./chunk-2GIDVZ4H.js";import"./chunk-VI7GBDKV.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-FX3D7YON.js";import"./chunk-QOYAX2FT.js";import"./chunk-SZJMS7K4.js";import"./chunk-7I7IEX4S.js";import"./chunk-ERL6AS3O.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";export{b as WikiHub,a as WikiStore,c as agenticQuery};
2
+ //# sourceMappingURL=wiki-QW6BDNEQ.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentix-cli",
3
- "version": "0.55.0",
3
+ "version": "0.57.0",
4
4
  "description": "AI operations layer for small and medium businesses. Routes Telegram, WhatsApp, GitLab, GitHub, crons, webhooks, and mesh tasks to AI agents. Web wizard for operators, CLI for engineers. Self-hosted.",
5
5
  "license": "MIT",
6
6
  "author": {