agentix-cli 0.83.1 → 0.84.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 (101) hide show
  1. package/dist/{App-KI7DWO6L.js → App-HNQCK3BB.js} +2 -2
  2. package/dist/{ChatApp-XFJ23EEP.js → ChatApp-XPCAL4FP.js} +2 -2
  3. package/dist/{agent-SWWBRKCE.js → agent-TRQTWNYE.js} +2 -2
  4. package/dist/{board-dashboard-RT3CMQKD.js → board-dashboard-R5NMATZ3.js} +4 -4
  5. package/dist/{chunk-AXMFBUCJ.js → chunk-3D3B4NQ7.js} +2 -2
  6. package/dist/{chunk-6ZQ6XUM5.js → chunk-3VP3UWNT.js} +2 -2
  7. package/dist/{chunk-3YTFEGKY.js → chunk-4GNAOJ7P.js} +2 -2
  8. package/dist/{chunk-PGIQW2AR.js → chunk-5DUPIMOI.js} +2 -2
  9. package/dist/{chunk-KKMDRBMJ.js → chunk-6NE2GLO6.js} +2 -2
  10. package/dist/{chunk-OENLCMTT.js → chunk-AYHVNISD.js} +2 -2
  11. package/dist/{chunk-64DPYFWO.js → chunk-CDC76MRL.js} +2 -2
  12. package/dist/{chunk-44GK7FM6.js → chunk-DA2NTRUR.js} +2 -2
  13. package/dist/{chunk-JODZ6DEJ.js → chunk-FATAHJG3.js} +2 -2
  14. package/dist/{chunk-5NTGUHOO.js → chunk-H4EGM4L7.js} +2 -2
  15. package/dist/{chunk-S5XLAIGY.js → chunk-JU3RIJDW.js} +2 -2
  16. package/dist/{chunk-44UYVCS4.js → chunk-MABFDA3G.js} +2 -2
  17. package/dist/{chunk-P44IU454.js → chunk-OFV34UZY.js} +2 -2
  18. package/dist/{chunk-4LLSTP5G.js → chunk-QA4RTSKI.js} +14 -14
  19. package/dist/chunk-QA4RTSKI.js.map +1 -0
  20. package/dist/{chunk-V3OZCYJX.js → chunk-WABEHPU5.js} +2 -2
  21. package/dist/{chunk-LIH7ZBYR.js → chunk-WDASUG6A.js} +2 -2
  22. package/dist/chunk-XL7WTOP5.js +152 -0
  23. package/dist/chunk-XL7WTOP5.js.map +1 -0
  24. package/dist/{chunk-5TUEA72F.js → chunk-Y3C37PF5.js} +2 -2
  25. package/dist/{chunk-AM47KSTK.js → chunk-ZJJJM7AR.js} +2 -2
  26. package/dist/{chunk-JLLIBTN4.js → chunk-ZL7RKS6H.js} +184 -184
  27. package/dist/chunk-ZL7RKS6H.js.map +1 -0
  28. package/dist/{chunk-AJ44V2QR.js → chunk-ZVUEJXCY.js} +2 -2
  29. package/dist/{chunk-AJ44V2QR.js.map → chunk-ZVUEJXCY.js.map} +1 -1
  30. package/dist/cli.js +1 -1
  31. package/dist/{client-LTHXQRE3.js → client-4YL2RDDT.js} +2 -2
  32. package/dist/{config-IJ3QQTHJ.js → config-HY6CPDFH.js} +2 -2
  33. package/dist/config-mutator-AKAUM6Q6.js +2 -0
  34. package/dist/{doctor-KL3CY5YU.js → doctor-BHL44USQ.js} +2 -2
  35. package/dist/index.d.ts +55 -0
  36. package/dist/index.js +1 -1
  37. package/dist/{program-SZQY46QR.js → program-G7R64P7A.js} +158 -158
  38. package/dist/program-G7R64P7A.js.map +1 -0
  39. package/dist/{promote-GPKUSAHD.js → promote-ANCV5DLK.js} +2 -2
  40. package/dist/{query-JS5N27BF.js → query-DA65EPSF.js} +2 -2
  41. package/dist/{registry-GH2GQ6H6.js → registry-77K6WP3H.js} +2 -2
  42. package/dist/{request-planner-Y2KC43OY.js → request-planner-IARLBD4R.js} +2 -2
  43. package/dist/{review-candidates-4PJN3ZSM.js → review-candidates-3PML6UYA.js} +2 -2
  44. package/dist/{routing-WI4IFJ4P.js → routing-2LKQW4XD.js} +2 -2
  45. package/dist/schedule-tool-P6AGRN5F.js +2 -0
  46. package/dist/scheduler-TJHXFDNW.js +2 -0
  47. package/dist/{seat-VACK7BIT.js → seat-U4O3OOOZ.js} +2 -2
  48. package/dist/{select-D2OSTDZF.js → select-ORDHPTI7.js} +2 -2
  49. package/dist/{set-enabled-QKF7NREN.js → set-enabled-4RHEXIE4.js} +2 -2
  50. package/dist/{tool-NPLCT7MV.js → tool-T4IYBXOT.js} +2 -2
  51. package/dist/{tool-TLU7DQBO.js → tool-ZFXAIC4V.js} +2 -2
  52. package/dist/wiki-2EMSGMLC.js +2 -0
  53. package/package.json +1 -1
  54. package/dist/chunk-4LLSTP5G.js.map +0 -1
  55. package/dist/chunk-JLLIBTN4.js.map +0 -1
  56. package/dist/chunk-NUUEMTTV.js +0 -152
  57. package/dist/chunk-NUUEMTTV.js.map +0 -1
  58. package/dist/config-mutator-AQIB7KSP.js +0 -2
  59. package/dist/program-SZQY46QR.js.map +0 -1
  60. package/dist/schedule-tool-RJPS6ENN.js +0 -2
  61. package/dist/scheduler-WKAS5TGA.js +0 -2
  62. package/dist/wiki-UF6GARQR.js +0 -2
  63. /package/dist/{App-KI7DWO6L.js.map → App-HNQCK3BB.js.map} +0 -0
  64. /package/dist/{ChatApp-XFJ23EEP.js.map → ChatApp-XPCAL4FP.js.map} +0 -0
  65. /package/dist/{agent-SWWBRKCE.js.map → agent-TRQTWNYE.js.map} +0 -0
  66. /package/dist/{board-dashboard-RT3CMQKD.js.map → board-dashboard-R5NMATZ3.js.map} +0 -0
  67. /package/dist/{chunk-AXMFBUCJ.js.map → chunk-3D3B4NQ7.js.map} +0 -0
  68. /package/dist/{chunk-6ZQ6XUM5.js.map → chunk-3VP3UWNT.js.map} +0 -0
  69. /package/dist/{chunk-3YTFEGKY.js.map → chunk-4GNAOJ7P.js.map} +0 -0
  70. /package/dist/{chunk-PGIQW2AR.js.map → chunk-5DUPIMOI.js.map} +0 -0
  71. /package/dist/{chunk-KKMDRBMJ.js.map → chunk-6NE2GLO6.js.map} +0 -0
  72. /package/dist/{chunk-OENLCMTT.js.map → chunk-AYHVNISD.js.map} +0 -0
  73. /package/dist/{chunk-64DPYFWO.js.map → chunk-CDC76MRL.js.map} +0 -0
  74. /package/dist/{chunk-44GK7FM6.js.map → chunk-DA2NTRUR.js.map} +0 -0
  75. /package/dist/{chunk-JODZ6DEJ.js.map → chunk-FATAHJG3.js.map} +0 -0
  76. /package/dist/{chunk-5NTGUHOO.js.map → chunk-H4EGM4L7.js.map} +0 -0
  77. /package/dist/{chunk-S5XLAIGY.js.map → chunk-JU3RIJDW.js.map} +0 -0
  78. /package/dist/{chunk-44UYVCS4.js.map → chunk-MABFDA3G.js.map} +0 -0
  79. /package/dist/{chunk-P44IU454.js.map → chunk-OFV34UZY.js.map} +0 -0
  80. /package/dist/{chunk-V3OZCYJX.js.map → chunk-WABEHPU5.js.map} +0 -0
  81. /package/dist/{chunk-LIH7ZBYR.js.map → chunk-WDASUG6A.js.map} +0 -0
  82. /package/dist/{chunk-5TUEA72F.js.map → chunk-Y3C37PF5.js.map} +0 -0
  83. /package/dist/{chunk-AM47KSTK.js.map → chunk-ZJJJM7AR.js.map} +0 -0
  84. /package/dist/{client-LTHXQRE3.js.map → client-4YL2RDDT.js.map} +0 -0
  85. /package/dist/{config-IJ3QQTHJ.js.map → config-HY6CPDFH.js.map} +0 -0
  86. /package/dist/{config-mutator-AQIB7KSP.js.map → config-mutator-AKAUM6Q6.js.map} +0 -0
  87. /package/dist/{doctor-KL3CY5YU.js.map → doctor-BHL44USQ.js.map} +0 -0
  88. /package/dist/{promote-GPKUSAHD.js.map → promote-ANCV5DLK.js.map} +0 -0
  89. /package/dist/{query-JS5N27BF.js.map → query-DA65EPSF.js.map} +0 -0
  90. /package/dist/{registry-GH2GQ6H6.js.map → registry-77K6WP3H.js.map} +0 -0
  91. /package/dist/{request-planner-Y2KC43OY.js.map → request-planner-IARLBD4R.js.map} +0 -0
  92. /package/dist/{review-candidates-4PJN3ZSM.js.map → review-candidates-3PML6UYA.js.map} +0 -0
  93. /package/dist/{routing-WI4IFJ4P.js.map → routing-2LKQW4XD.js.map} +0 -0
  94. /package/dist/{schedule-tool-RJPS6ENN.js.map → schedule-tool-P6AGRN5F.js.map} +0 -0
  95. /package/dist/{scheduler-WKAS5TGA.js.map → scheduler-TJHXFDNW.js.map} +0 -0
  96. /package/dist/{seat-VACK7BIT.js.map → seat-U4O3OOOZ.js.map} +0 -0
  97. /package/dist/{select-D2OSTDZF.js.map → select-ORDHPTI7.js.map} +0 -0
  98. /package/dist/{set-enabled-QKF7NREN.js.map → set-enabled-4RHEXIE4.js.map} +0 -0
  99. /package/dist/{tool-NPLCT7MV.js.map → tool-T4IYBXOT.js.map} +0 -0
  100. /package/dist/{tool-TLU7DQBO.js.map → tool-ZFXAIC4V.js.map} +0 -0
  101. /package/dist/{wiki-UF6GARQR.js.map → wiki-2EMSGMLC.js.map} +0 -0
package/dist/cli.js CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- import{b as o}from"./chunk-JXF54PT7.js";import"./chunk-QIJLFPWE.js";var s=o(process.versions.node);s&&(console.error(s),process.exit(1));var{buildProgram:r}=await import("./program-SZQY46QR.js"),{installCliSignalExit:i}=await import("./signal-exit-WL7G3EEZ.js");i();var e=await r();process.argv.slice(2).length===0?e.outputHelp():e.parse();
2
+ import{b as o}from"./chunk-JXF54PT7.js";import"./chunk-QIJLFPWE.js";var s=o(process.versions.node);s&&(console.error(s),process.exit(1));var{buildProgram:r}=await import("./program-G7R64P7A.js"),{installCliSignalExit:i}=await import("./signal-exit-WL7G3EEZ.js");i();var e=await r();process.argv.slice(2).length===0?e.outputHelp():e.parse();
3
3
  //# sourceMappingURL=cli.js.map
@@ -1,2 +1,2 @@
1
- import{a,b,c,d,e,f,g}from"./chunk-P44IU454.js";import"./chunk-4LLSTP5G.js";import"./chunk-PN6XHTG5.js";import"./chunk-BRK6M6LA.js";import"./chunk-2QNT5JDS.js";import"./chunk-QIJLFPWE.js";export{b as fetchAgents,d as fetchCrons,c as fetchProcesses,e as killProcess,a as resolveConn,f as sendTask,g as streamTask};
2
- //# sourceMappingURL=client-LTHXQRE3.js.map
1
+ import{a,b,c,d,e,f,g}from"./chunk-OFV34UZY.js";import"./chunk-QA4RTSKI.js";import"./chunk-PN6XHTG5.js";import"./chunk-BRK6M6LA.js";import"./chunk-2QNT5JDS.js";import"./chunk-QIJLFPWE.js";export{b as fetchAgents,d as fetchCrons,c as fetchProcesses,e as killProcess,a as resolveConn,f as sendTask,g as streamTask};
2
+ //# sourceMappingURL=client-4YL2RDDT.js.map
@@ -1,2 +1,2 @@
1
- import{$ as l,Q as a,R as b,S as c,T as d,U as e,V as f,W as g,X as h,Y as i,Z as j,_ as k,aa as m,ba as n,da as o}from"./chunk-4LLSTP5G.js";import"./chunk-PN6XHTG5.js";import"./chunk-BRK6M6LA.js";import"./chunk-2QNT5JDS.js";import"./chunk-QIJLFPWE.js";o();export{a as INTEGRATION_KINDS,j as approvalsConfigSchema,d as callsSchema,c as cameraBotSchema,k as daemonConfigSchema,b as eventSubscriptionSchema,l as expandEnvVars,m as loadDaemonConfig,h as membersConfigSchema,g as peopleConfigSchema,f as personSchema,i as requestStatusConfigSchema,e as requestsConfigSchema,n as validateWorkspaces};
2
- //# sourceMappingURL=config-IJ3QQTHJ.js.map
1
+ import{$ as l,Q as a,R as b,S as c,T as d,U as e,V as f,W as g,X as h,Y as i,Z as j,_ as k,aa as m,ba as n,da as o}from"./chunk-QA4RTSKI.js";import"./chunk-PN6XHTG5.js";import"./chunk-BRK6M6LA.js";import"./chunk-2QNT5JDS.js";import"./chunk-QIJLFPWE.js";o();export{a as INTEGRATION_KINDS,j as approvalsConfigSchema,d as callsSchema,c as cameraBotSchema,k as daemonConfigSchema,b as eventSubscriptionSchema,l as expandEnvVars,m as loadDaemonConfig,h as membersConfigSchema,g as peopleConfigSchema,f as personSchema,i as requestStatusConfigSchema,e as requestsConfigSchema,n as validateWorkspaces};
2
+ //# sourceMappingURL=config-HY6CPDFH.js.map
@@ -0,0 +1,2 @@
1
+ import{a,b,c,d,e}from"./chunk-ZJJJM7AR.js";import"./chunk-QA4RTSKI.js";import"./chunk-PN6XHTG5.js";import"./chunk-BRK6M6LA.js";import"./chunk-2QNT5JDS.js";import"./chunk-QIJLFPWE.js";export{b as applyConfigMutation,a as findConfigPath,d as getAtPath,c as setAtPath,e as unsetAtPath};
2
+ //# sourceMappingURL=config-mutator-AKAUM6Q6.js.map
@@ -1,2 +1,2 @@
1
- import{b as a,c as b,d as c,e as d,f as e}from"./chunk-44UYVCS4.js";import"./chunk-S2GAEH2F.js";import"./chunk-JXF54PT7.js";import"./chunk-4LLSTP5G.js";import"./chunk-PN6XHTG5.js";import"./chunk-BRK6M6LA.js";import"./chunk-2QNT5JDS.js";import"./chunk-QIJLFPWE.js";export{e as daemonVoiceCheck,b as doctor,a as runDoctorChecks,c as runNotificationChecks,d as runReminderChecks};
2
- //# sourceMappingURL=doctor-KL3CY5YU.js.map
1
+ import{b as a,c as b,d as c,e as d,f as e}from"./chunk-MABFDA3G.js";import"./chunk-S2GAEH2F.js";import"./chunk-JXF54PT7.js";import"./chunk-QA4RTSKI.js";import"./chunk-PN6XHTG5.js";import"./chunk-BRK6M6LA.js";import"./chunk-2QNT5JDS.js";import"./chunk-QIJLFPWE.js";export{e as daemonVoiceCheck,b as doctor,a as runDoctorChecks,c as runNotificationChecks,d as runReminderChecks};
2
+ //# sourceMappingURL=doctor-BHL44USQ.js.map
package/dist/index.d.ts CHANGED
@@ -4715,28 +4715,59 @@ declare const daemonConfigSchema: z.ZodObject<{
4715
4715
  identities: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
4716
4716
  /** The agents this person may reach, by id. Empty: every agent (#379). */
4717
4717
  agents: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
4718
+ /** What this person's turns may not use (#379), enforced by a per-run
4719
+ * guard hook. Names match without case; `*` is a wildcard. Empty: no
4720
+ * limit. A further level is a new key here. */
4721
+ deny: z.ZodDefault<z.ZodObject<{
4722
+ /** Tool names: "Bash", "WebFetch", "mcp__mail__*". */
4723
+ tools: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
4724
+ /** Skill names, as the Skill tool and auto-injection name them. */
4725
+ skills: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
4726
+ }, "strict", z.ZodTypeAny, {
4727
+ skills: string[];
4728
+ tools: string[];
4729
+ }, {
4730
+ skills?: string[] | undefined;
4731
+ tools?: string[] | undefined;
4732
+ }>>;
4718
4733
  }, "strip", z.ZodTypeAny, {
4719
4734
  agents: string[];
4720
4735
  id: string;
4721
4736
  name: string;
4737
+ deny: {
4738
+ skills: string[];
4739
+ tools: string[];
4740
+ };
4722
4741
  role: "guest" | "owner" | "member";
4723
4742
  identities: string[];
4724
4743
  }, {
4725
4744
  id: string;
4726
4745
  name: string;
4727
4746
  agents?: string[] | undefined;
4747
+ deny?: {
4748
+ skills?: string[] | undefined;
4749
+ tools?: string[] | undefined;
4750
+ } | undefined;
4728
4751
  role?: "guest" | "owner" | "member" | undefined;
4729
4752
  identities?: string[] | undefined;
4730
4753
  }>, "many">>, {
4731
4754
  agents: string[];
4732
4755
  id: string;
4733
4756
  name: string;
4757
+ deny: {
4758
+ skills: string[];
4759
+ tools: string[];
4760
+ };
4734
4761
  role: "guest" | "owner" | "member";
4735
4762
  identities: string[];
4736
4763
  }[], {
4737
4764
  id: string;
4738
4765
  name: string;
4739
4766
  agents?: string[] | undefined;
4767
+ deny?: {
4768
+ skills?: string[] | undefined;
4769
+ tools?: string[] | undefined;
4770
+ } | undefined;
4740
4771
  role?: "guest" | "owner" | "member" | undefined;
4741
4772
  identities?: string[] | undefined;
4742
4773
  }[] | undefined>;
@@ -6958,6 +6989,10 @@ declare const daemonConfigSchema: z.ZodObject<{
6958
6989
  agents: string[];
6959
6990
  id: string;
6960
6991
  name: string;
6992
+ deny: {
6993
+ skills: string[];
6994
+ tools: string[];
6995
+ };
6961
6996
  role: "guest" | "owner" | "member";
6962
6997
  identities: string[];
6963
6998
  }[];
@@ -7780,6 +7815,10 @@ declare const daemonConfigSchema: z.ZodObject<{
7780
7815
  id: string;
7781
7816
  name: string;
7782
7817
  agents?: string[] | undefined;
7818
+ deny?: {
7819
+ skills?: string[] | undefined;
7820
+ tools?: string[] | undefined;
7821
+ } | undefined;
7783
7822
  role?: "guest" | "owner" | "member" | undefined;
7784
7823
  identities?: string[] | undefined;
7785
7824
  }[] | undefined;
@@ -9317,6 +9356,14 @@ interface AutonomyBlock {
9317
9356
  reason: string;
9318
9357
  }
9319
9358
 
9359
+ /** The limits one run carries to the hook. */
9360
+ interface PersonLimits {
9361
+ personId: string;
9362
+ name: string;
9363
+ tools: string[];
9364
+ skills: string[];
9365
+ }
9366
+
9320
9367
  interface AgentPeer {
9321
9368
  id: string;
9322
9369
  name: string;
@@ -9416,6 +9463,10 @@ interface AgentTask {
9416
9463
  * (see guard/autonomy-enforce.ts); unset or `act` = the agent's normal
9417
9464
  * permissions. Tiers that cannot enforce it refuse the task. */
9418
9465
  autonomy?: AutonomyLevel;
9466
+ /** The tools and skills the person behind this turn may not use (people,
9467
+ * #379). Set by the registry; enforced for THIS task only by a per-spawn
9468
+ * guard hook (guard/person-limits.ts), the same way as `autonomy`. */
9469
+ personLimits?: PersonLimits;
9419
9470
  context?: {
9420
9471
  channel?: string;
9421
9472
  sender?: string;
@@ -11316,6 +11367,10 @@ declare class AgentRegistry {
11316
11367
  * itself (person ids are per machine). A refusal is kept in the
11317
11368
  * per-person trail. */
11318
11369
  refusalFor(agentId: string, ctx: unknown): string | null;
11370
+ /** A tool or skill call the guard hook denied for a person (#379), kept
11371
+ * in their trail beside refused agents. */
11372
+ logToolRefusal(personId: string, agentId: string | undefined, detail: string): void;
11373
+ private memberTrail;
11319
11374
  private memberLog?;
11320
11375
  /**
11321
11376
  * If there's an active handover routing TO this agent for this (channel,
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import{a as St,b as kt,c as vt,ca as Tt,d as xt,da as Mt,e as $t,f as Ct,g as Pt,h as bt}from"./chunk-JLLIBTN4.js";import"./chunk-5NTGUHOO.js";import"./chunk-GTJIKXDB.js";import"./chunk-V3OZCYJX.js";import"./chunk-CL53UVOF.js";import"./chunk-ZVP6GB4G.js";import"./chunk-S2GAEH2F.js";import"./chunk-VZLIBDLH.js";import"./chunk-EKJG63EJ.js";import"./chunk-3YTFEGKY.js";import"./chunk-2AXFYDWF.js";import"./chunk-AQASR6KR.js";import"./chunk-ACFQBLPX.js";import"./chunk-LQE73AZR.js";import"./chunk-2D3RYIDU.js";import"./chunk-4L244AW4.js";import"./chunk-XIYWXCNU.js";import"./chunk-PPUN7YHA.js";import{U as yt,l as lt,m as ct,n as dt,o as mt,p as pt}from"./chunk-NUUEMTTV.js";import"./chunk-AJ44V2QR.js";import"./chunk-GLQLCBJS.js";import"./chunk-DP7RTNDM.js";import{a as L}from"./chunk-C245D4BZ.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-JODZ6DEJ.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-PGIQW2AR.js";import"./chunk-SZDACK6O.js";import"./chunk-76Z4VHDX.js";import"./chunk-W4YR2RO2.js";import"./chunk-AFRHKA7B.js";import{s as ut}from"./chunk-KKMDRBMJ.js";import"./chunk-AM47KSTK.js";import"./chunk-VWTBHLMX.js";import"./chunk-5TUEA72F.js";import{a as ht}from"./chunk-AXMFBUCJ.js";import"./chunk-KA2UIZXG.js";import"./chunk-GQ76J72O.js";import"./chunk-ILEC3IAV.js";import"./chunk-J3SOEFRE.js";import"./chunk-SIU6STB2.js";import"./chunk-X5C5W3E4.js";import"./chunk-GV7S5BAX.js";import"./chunk-GSX4NK2N.js";import"./chunk-64DPYFWO.js";import"./chunk-MYVHVJWZ.js";import"./chunk-DWADWDMU.js";import"./chunk-23A5K5UW.js";import"./chunk-QD6IICK7.js";import"./chunk-CECHWYJ2.js";import"./chunk-OENLCMTT.js";import{f as gt,g as ft}from"./chunk-6ZQ6XUM5.js";import"./chunk-WPNRDEHW.js";import"./chunk-2GIDVZ4H.js";import{j as it,k as rt,l as at}from"./chunk-44GK7FM6.js";import"./chunk-72SZI2UW.js";import"./chunk-FX3D7YON.js";import"./chunk-FCPTN6NF.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-5MUJZODV.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{_ as tt,aa as st,ba as ot,da as nt}from"./chunk-4LLSTP5G.js";import"./chunk-PN6XHTG5.js";import"./chunk-BRK6M6LA.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,ca as Tt,d as xt,da as Mt,e as $t,f as Ct,g as Pt,h as bt}from"./chunk-ZL7RKS6H.js";import"./chunk-H4EGM4L7.js";import"./chunk-GTJIKXDB.js";import"./chunk-WABEHPU5.js";import"./chunk-CL53UVOF.js";import"./chunk-ZVP6GB4G.js";import"./chunk-S2GAEH2F.js";import"./chunk-VZLIBDLH.js";import"./chunk-EKJG63EJ.js";import"./chunk-4GNAOJ7P.js";import"./chunk-2AXFYDWF.js";import"./chunk-AQASR6KR.js";import"./chunk-ACFQBLPX.js";import"./chunk-LQE73AZR.js";import"./chunk-2D3RYIDU.js";import"./chunk-4L244AW4.js";import"./chunk-XIYWXCNU.js";import"./chunk-PPUN7YHA.js";import{V as yt,m as lt,n as ct,o as dt,p as mt,q as pt}from"./chunk-XL7WTOP5.js";import"./chunk-ZVUEJXCY.js";import"./chunk-GLQLCBJS.js";import"./chunk-DP7RTNDM.js";import{a as L}from"./chunk-C245D4BZ.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-FATAHJG3.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-5DUPIMOI.js";import"./chunk-SZDACK6O.js";import"./chunk-76Z4VHDX.js";import"./chunk-W4YR2RO2.js";import"./chunk-AFRHKA7B.js";import{s as ut}from"./chunk-6NE2GLO6.js";import"./chunk-ZJJJM7AR.js";import"./chunk-VWTBHLMX.js";import"./chunk-Y3C37PF5.js";import{a as ht}from"./chunk-3D3B4NQ7.js";import"./chunk-KA2UIZXG.js";import"./chunk-GQ76J72O.js";import"./chunk-ILEC3IAV.js";import"./chunk-J3SOEFRE.js";import"./chunk-SIU6STB2.js";import"./chunk-X5C5W3E4.js";import"./chunk-GV7S5BAX.js";import"./chunk-GSX4NK2N.js";import"./chunk-CDC76MRL.js";import"./chunk-MYVHVJWZ.js";import"./chunk-DWADWDMU.js";import"./chunk-23A5K5UW.js";import"./chunk-QD6IICK7.js";import"./chunk-CECHWYJ2.js";import"./chunk-AYHVNISD.js";import{f as gt,g as ft}from"./chunk-3VP3UWNT.js";import"./chunk-WPNRDEHW.js";import"./chunk-2GIDVZ4H.js";import{j as it,k as rt,l as at}from"./chunk-DA2NTRUR.js";import"./chunk-72SZI2UW.js";import"./chunk-FX3D7YON.js";import"./chunk-FCPTN6NF.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-5MUJZODV.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{_ as tt,aa as st,ba as ot,da as nt}from"./chunk-QA4RTSKI.js";import"./chunk-PN6XHTG5.js";import"./chunk-BRK6M6LA.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).