agent-switchboard 0.1.26 → 0.1.28

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 (97) hide show
  1. package/README.md +37 -11
  2. package/dist/commands/distribution.js +2 -2
  3. package/dist/commands/distribution.js.map +1 -1
  4. package/dist/commands/library.d.ts +1 -1
  5. package/dist/commands/library.js +5 -6
  6. package/dist/commands/library.js.map +1 -1
  7. package/dist/config/application-config.d.ts +37 -0
  8. package/dist/config/application-config.js +83 -0
  9. package/dist/config/application-config.js.map +1 -0
  10. package/dist/config/layered-config.js +43 -2
  11. package/dist/config/layered-config.js.map +1 -1
  12. package/dist/config/paths.d.ts +13 -2
  13. package/dist/config/paths.js +21 -3
  14. package/dist/config/paths.js.map +1 -1
  15. package/dist/config/schemas.d.ts +408 -43
  16. package/dist/config/schemas.js +32 -22
  17. package/dist/config/schemas.js.map +1 -1
  18. package/dist/config/switchboard-config.d.ts +3 -6
  19. package/dist/config/switchboard-config.js +3 -6
  20. package/dist/config/switchboard-config.js.map +1 -1
  21. package/dist/hooks/distribution.d.ts +27 -0
  22. package/dist/hooks/distribution.js +235 -0
  23. package/dist/hooks/distribution.js.map +1 -0
  24. package/dist/hooks/library.d.ts +40 -0
  25. package/dist/hooks/library.js +143 -0
  26. package/dist/hooks/library.js.map +1 -0
  27. package/dist/hooks/schema.d.ts +542 -0
  28. package/dist/hooks/schema.js +49 -0
  29. package/dist/hooks/schema.js.map +1 -0
  30. package/dist/index.js +708 -168
  31. package/dist/index.js.map +1 -1
  32. package/dist/library/fs.d.ts +1 -3
  33. package/dist/library/fs.js +24 -7
  34. package/dist/library/fs.js.map +1 -1
  35. package/dist/library/schema.d.ts +1 -1
  36. package/dist/library/schema.js +1 -1
  37. package/dist/library/sources.d.ts +75 -0
  38. package/dist/library/sources.js +285 -0
  39. package/dist/library/sources.js.map +1 -0
  40. package/dist/library/state.d.ts +4 -5
  41. package/dist/library/state.js +15 -31
  42. package/dist/library/state.js.map +1 -1
  43. package/dist/marketplace/plugin-loader.d.ts +30 -0
  44. package/dist/marketplace/plugin-loader.js +178 -0
  45. package/dist/marketplace/plugin-loader.js.map +1 -0
  46. package/dist/marketplace/reader.d.ts +36 -0
  47. package/dist/marketplace/reader.js +90 -0
  48. package/dist/marketplace/reader.js.map +1 -0
  49. package/dist/marketplace/schemas.d.ts +467 -0
  50. package/dist/marketplace/schemas.js +57 -0
  51. package/dist/marketplace/schemas.js.map +1 -0
  52. package/dist/marketplace/source-loader.d.ts +32 -0
  53. package/dist/marketplace/source-loader.js +45 -0
  54. package/dist/marketplace/source-loader.js.map +1 -0
  55. package/dist/rules/agents.d.ts +4 -4
  56. package/dist/rules/agents.js +10 -4
  57. package/dist/rules/agents.js.map +1 -1
  58. package/dist/rules/composer.d.ts +2 -2
  59. package/dist/rules/composer.js +5 -5
  60. package/dist/rules/composer.js.map +1 -1
  61. package/dist/rules/distribution.js +48 -112
  62. package/dist/rules/distribution.js.map +1 -1
  63. package/dist/rules/library.d.ts +1 -1
  64. package/dist/rules/library.js +4 -5
  65. package/dist/rules/library.js.map +1 -1
  66. package/dist/skills/distribution.js +6 -6
  67. package/dist/skills/distribution.js.map +1 -1
  68. package/dist/skills/library.d.ts +1 -2
  69. package/dist/skills/library.js +6 -7
  70. package/dist/skills/library.js.map +1 -1
  71. package/dist/subagents/distribution.d.ts +1 -1
  72. package/dist/subagents/distribution.js +319 -20
  73. package/dist/subagents/distribution.js.map +1 -1
  74. package/dist/subagents/importer.d.ts +1 -1
  75. package/dist/subagents/importer.js +61 -1
  76. package/dist/subagents/importer.js.map +1 -1
  77. package/dist/subagents/inventory.js +3 -3
  78. package/dist/subagents/inventory.js.map +1 -1
  79. package/dist/subagents/library.d.ts +2 -2
  80. package/dist/subagents/library.js +14 -20
  81. package/dist/subagents/library.js.map +1 -1
  82. package/dist/ui/hook-ui.d.ts +8 -0
  83. package/dist/ui/hook-ui.js +17 -0
  84. package/dist/ui/hook-ui.js.map +1 -0
  85. package/dist/ui/library-selector.d.ts +1 -1
  86. package/dist/ui/subagent-ui.js +3 -3
  87. package/dist/ui/subagent-ui.js.map +1 -1
  88. package/dist/util/cli.d.ts +20 -0
  89. package/dist/util/cli.js +107 -14
  90. package/dist/util/cli.js.map +1 -1
  91. package/package.json +3 -2
  92. package/dist/config/agent-config.d.ts +0 -35
  93. package/dist/config/agent-config.js +0 -88
  94. package/dist/config/agent-config.js.map +0 -1
  95. package/dist/library/subscriptions.d.ts +0 -42
  96. package/dist/library/subscriptions.js +0 -116
  97. package/dist/library/subscriptions.js.map +0 -1
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Marketplace-aware source loading. For each configured source, detects whether
3
+ * it's a Claude Code marketplace or a flat library directory, and loads the
4
+ * appropriate components from each.
5
+ */
6
+ import type { CommandEntry } from '../commands/library.js';
7
+ import type { HookEntry } from '../hooks/library.js';
8
+ import type { SubagentEntry } from '../subagents/library.js';
9
+ import { type SkillEntryFromPlugin } from './plugin-loader.js';
10
+ export interface MarketplaceSourceEntries {
11
+ commands: CommandEntry[];
12
+ agents: SubagentEntry[];
13
+ skills: SkillEntryFromPlugin[];
14
+ hooks: HookEntry[];
15
+ }
16
+ /**
17
+ * Load library entries from all configured sources, handling both flat directory
18
+ * sources and marketplace sources transparently.
19
+ *
20
+ * For flat sources: returns `{ namespace, basePath, isMarketplace: false }` so the
21
+ * caller can load from `basePath/<type>/`.
22
+ *
23
+ * For marketplace sources: parses the marketplace, loads all plugin components,
24
+ * and returns them directly.
25
+ */
26
+ export declare function loadEntriesFromSources(): {
27
+ flatSources: Array<{
28
+ namespace: string;
29
+ basePath: string;
30
+ }>;
31
+ marketplaceEntries: MarketplaceSourceEntries;
32
+ };
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Marketplace-aware source loading. For each configured source, detects whether
3
+ * it's a Claude Code marketplace or a flat library directory, and loads the
4
+ * appropriate components from each.
5
+ */
6
+ import { getSourcesRecord } from '../library/sources.js';
7
+ import { loadPluginComponents } from './plugin-loader.js';
8
+ import { isMarketplace, readMarketplace } from './reader.js';
9
+ /**
10
+ * Load library entries from all configured sources, handling both flat directory
11
+ * sources and marketplace sources transparently.
12
+ *
13
+ * For flat sources: returns `{ namespace, basePath, isMarketplace: false }` so the
14
+ * caller can load from `basePath/<type>/`.
15
+ *
16
+ * For marketplace sources: parses the marketplace, loads all plugin components,
17
+ * and returns them directly.
18
+ */
19
+ export function loadEntriesFromSources() {
20
+ const sources = getSourcesRecord();
21
+ const flatSources = [];
22
+ const marketplaceEntries = {
23
+ commands: [],
24
+ agents: [],
25
+ skills: [],
26
+ hooks: [],
27
+ };
28
+ for (const [namespace, basePath] of Object.entries(sources)) {
29
+ if (isMarketplace(basePath)) {
30
+ const result = readMarketplace(basePath);
31
+ for (const plugin of result.plugins) {
32
+ const components = loadPluginComponents(plugin);
33
+ marketplaceEntries.commands.push(...components.commands);
34
+ marketplaceEntries.agents.push(...components.agents);
35
+ marketplaceEntries.skills.push(...components.skills);
36
+ marketplaceEntries.hooks.push(...components.hooks);
37
+ }
38
+ }
39
+ else {
40
+ flatSources.push({ namespace, basePath });
41
+ }
42
+ }
43
+ return { flatSources, marketplaceEntries };
44
+ }
45
+ //# sourceMappingURL=source-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-loader.js","sourceRoot":"","sources":["../../src/marketplace/source-loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,oBAAoB,EAA6B,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAS7D;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB;IAIpC,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,WAAW,GAAmD,EAAE,CAAC;IACvE,MAAM,kBAAkB,GAA6B;QACnD,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;KACV,CAAC;IAEF,KAAK,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5D,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;YACzC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpC,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;gBAChD,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACzD,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;gBACrD,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;gBACrD,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;AAC7C,CAAC"}
@@ -1,7 +1,7 @@
1
- /** Agents that receive a single composed rules file (CLAUDE.md / AGENTS.md) */
2
- export declare const RULE_SUPPORTED_AGENTS: readonly ["claude-code", "codex", "gemini", "opencode"];
3
- /** Agents that receive individual .mdc rule files */
4
- export declare const RULE_PER_FILE_AGENTS: readonly ["cursor"];
1
+ /** Agents that receive a single composed rules file (CLAUDE.md / AGENTS.md / .mdc) */
2
+ export declare const RULE_SUPPORTED_AGENTS: readonly ["claude-code", "codex", "cursor", "gemini", "opencode"];
3
+ /** Agents that receive individual per-rule files */
4
+ export declare const RULE_PER_FILE_AGENTS: readonly [];
5
5
  export declare const RULE_INDIRECT_AGENTS: readonly [];
6
6
  export declare const RULE_UNSUPPORTED_AGENTS: readonly ["claude-desktop"];
7
7
  export type RuleSupportedAgent = (typeof RULE_SUPPORTED_AGENTS)[number];
@@ -1,7 +1,13 @@
1
- /** Agents that receive a single composed rules file (CLAUDE.md / AGENTS.md) */
2
- export const RULE_SUPPORTED_AGENTS = ['claude-code', 'codex', 'gemini', 'opencode'];
3
- /** Agents that receive individual .mdc rule files */
4
- export const RULE_PER_FILE_AGENTS = ['cursor'];
1
+ /** Agents that receive a single composed rules file (CLAUDE.md / AGENTS.md / .mdc) */
2
+ export const RULE_SUPPORTED_AGENTS = [
3
+ 'claude-code',
4
+ 'codex',
5
+ 'cursor',
6
+ 'gemini',
7
+ 'opencode',
8
+ ];
9
+ /** Agents that receive individual per-rule files */
10
+ export const RULE_PER_FILE_AGENTS = [];
5
11
  export const RULE_INDIRECT_AGENTS = [];
6
12
  export const RULE_UNSUPPORTED_AGENTS = ['claude-desktop'];
7
13
  //# sourceMappingURL=agents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/rules/agents.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAU,CAAC;AAE7F,qDAAqD;AACrD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAAQ,CAAU,CAAC;AAExD,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAW,CAAC;AAEhD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,gBAAgB,CAAU,CAAC"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/rules/agents.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,aAAa;IACb,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;CACF,CAAC;AAEX,oDAAoD;AACpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAW,CAAC;AAEhD,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAW,CAAC;AAEhD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,gBAAgB,CAAU,CAAC"}
@@ -16,7 +16,7 @@ interface ComposeOptions {
16
16
  export declare function composeRules(activeIds: string[], rules: RuleSnippet[], options?: ComposeOptions): ComposedRules;
17
17
  export declare function composeActiveRules(scope?: ConfigScope): ComposedRules;
18
18
  /**
19
- * Compose active rules for a specific agent, applying per-agent overrides
19
+ * Compose active rules for a specific application, applying per-application overrides
20
20
  */
21
- export declare function composeActiveRulesForAgent(agentId: string, scope?: ConfigScope): ComposedRules;
21
+ export declare function composeActiveRulesForApplication(appId: string, scope?: ConfigScope): ComposedRules;
22
22
  export {};
@@ -1,5 +1,5 @@
1
1
  import { createHash } from 'node:crypto';
2
- import { resolveAgentSectionConfig } from '../config/agent-config.js';
2
+ import { resolveApplicationSectionConfig } from '../config/application-config.js';
3
3
  import { loadSwitchboardConfig } from '../config/switchboard-config.js';
4
4
  import { loadRuleLibrary } from './library.js';
5
5
  import { loadRuleState } from './state.js';
@@ -76,11 +76,11 @@ export function composeActiveRules(scope) {
76
76
  });
77
77
  }
78
78
  /**
79
- * Compose active rules for a specific agent, applying per-agent overrides
79
+ * Compose active rules for a specific application, applying per-application overrides
80
80
  */
81
- export function composeActiveRulesForAgent(agentId, scope) {
81
+ export function composeActiveRulesForApplication(appId, scope) {
82
82
  const rules = loadRuleLibrary();
83
- const agentConfig = resolveAgentSectionConfig('rules', agentId, scope);
83
+ const appConfig = resolveApplicationSectionConfig('rules', appId, scope);
84
84
  const loadOptions = scope
85
85
  ? {
86
86
  profile: scope.profile ?? undefined,
@@ -88,7 +88,7 @@ export function composeActiveRulesForAgent(agentId, scope) {
88
88
  }
89
89
  : undefined;
90
90
  const config = loadSwitchboardConfig(loadOptions);
91
- return composeRules(agentConfig.active, rules, {
91
+ return composeRules(appConfig.active, rules, {
92
92
  includeDelimiters: config.rules?.includeDelimiters === true,
93
93
  });
94
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"composer.js","sourceRoot":"","sources":["../../src/rules/composer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAkB3C,SAAS,oBAAoB,CAAC,OAAe;IAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,GAAG,OAAO,IAAI,CAAC;AACxB,CAAC;AAED,SAAS,aAAa,CAAC,IAAiB;IACtC,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI;QAClC,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,OAAe;IAClC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,SAAmB,EACnB,KAAoB,EACpB,OAAwB;IAExB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO;YACL,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;YACrB,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,MAAM,iBAAiB,GAAG,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAE9D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAkB,EAAE,CAAC;IACnC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,gBAAgB,EAAE,gCAAgC,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEvB,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,cAAc,GAAG,QAAQ,EAAE,YAAY,CAAC;YAC9C,MAAM,YAAY,GAAG,QAAQ,EAAE,UAAU,CAAC;YAC1C,IAAI,KAAK,GAAG,GAAG,cAAc,IAAI,CAAC;YAClC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;YAC3B,CAAC;YACD,KAAK,IAAI,GAAG,YAAY,IAAI,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAElC,OAAO;QACL,OAAO;QACP,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC;QAC1B,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAmB;IACpD,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,KAAK;QACvB,CAAC,CAAC;YACE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,SAAS;YACnC,WAAW,EAAE,KAAK,CAAC,OAAO,IAAI,SAAS;SACxC;QACH,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,MAAM,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAClD,OAAO,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE;QACvC,iBAAiB,EAAE,MAAM,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI;KAC5D,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAe,EAAE,KAAmB;IAC7E,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAChC,MAAM,WAAW,GAAG,yBAAyB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,KAAK;QACvB,CAAC,CAAC;YACE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,SAAS;YACnC,WAAW,EAAE,KAAK,CAAC,OAAO,IAAI,SAAS;SACxC;QACH,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,MAAM,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAClD,OAAO,YAAY,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE;QAC7C,iBAAiB,EAAE,MAAM,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI;KAC5D,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"composer.js","sourceRoot":"","sources":["../../src/rules/composer.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,8 @@
1
- import { createHash } from 'node:crypto';
2
1
  import fs from 'node:fs';
3
2
  import path from 'node:path';
4
- import { resolveAgentSectionConfig } from '../config/agent-config.js';
5
3
  import { getAgentsHome, getClaudeDir, getCodexDir, getCursorDir, getGeminiDir, getOpencodePath, getProjectCursorDir, } from '../config/paths.js';
6
4
  import { RULE_INDIRECT_AGENTS, RULE_PER_FILE_AGENTS, RULE_SUPPORTED_AGENTS, RULE_UNSUPPORTED_AGENTS, } from './agents.js';
7
- import { composeActiveRulesForAgent } from './composer.js';
5
+ import { composeActiveRulesForApplication } from './composer.js';
8
6
  import { loadRuleLibrary } from './library.js';
9
7
  import { updateRuleState } from './state.js';
10
8
  function resolveRuleFile(agent, scope) {
@@ -29,6 +27,11 @@ function resolveRuleFile(agent, scope) {
29
27
  return path.join(path.resolve(projectRoot), 'AGENTS.md');
30
28
  }
31
29
  return path.join(getGeminiDir(), 'AGENTS.md');
30
+ case 'cursor':
31
+ if (projectRoot && projectRoot.length > 0) {
32
+ return path.join(getProjectCursorDir(projectRoot), 'rules', 'asb-rules.mdc');
33
+ }
34
+ return path.join(getCursorDir(), 'rules', 'asb-rules.mdc');
32
35
  case 'opencode':
33
36
  // OpenCode supports project-level AGENTS.md at repository root; otherwise use global.
34
37
  if (projectRoot && projectRoot.length > 0) {
@@ -45,6 +48,41 @@ function ensureDirectory(filePath) {
45
48
  fs.mkdirSync(dir, { recursive: true });
46
49
  }
47
50
  }
51
+ function wrapMdcFrontmatter(body) {
52
+ const lines = ['---', 'description: Agent Switchboard Rules', 'alwaysApply: true', '---', ''];
53
+ if (body.length > 0) {
54
+ lines.push(body);
55
+ }
56
+ return lines.join('\n');
57
+ }
58
+ const CURSOR_SINGLE_FILE = 'asb-rules.mdc';
59
+ /**
60
+ * Remove legacy per-rule .mdc files left by the old Cursor distribution scheme.
61
+ * Only deletes files whose basename (minus .mdc) matches a known rule library ID,
62
+ * leaving user-created .mdc files and the new single-file untouched.
63
+ */
64
+ function cleanupLegacyCursorMdcFiles(scope) {
65
+ const projectRoot = scope?.project?.trim();
66
+ const targetDir = projectRoot && projectRoot.length > 0
67
+ ? path.join(getProjectCursorDir(projectRoot), 'rules')
68
+ : path.join(getCursorDir(), 'rules');
69
+ if (!fs.existsSync(targetDir))
70
+ return;
71
+ const libraryIds = new Set(loadRuleLibrary().map((r) => r.id));
72
+ for (const file of fs.readdirSync(targetDir)) {
73
+ if (!file.endsWith('.mdc') || file === CURSOR_SINGLE_FILE)
74
+ continue;
75
+ const fileId = file.slice(0, -4);
76
+ if (libraryIds.has(fileId)) {
77
+ try {
78
+ fs.unlinkSync(path.join(targetDir, file));
79
+ }
80
+ catch {
81
+ // best-effort
82
+ }
83
+ }
84
+ }
85
+ }
48
86
  export function distributeRules(_composed, options, scope) {
49
87
  const results = [];
50
88
  const timestamp = new Date().toISOString();
@@ -54,11 +92,12 @@ export function distributeRules(_composed, options, scope) {
54
92
  let firstComposed = null;
55
93
  for (const agent of RULE_SUPPORTED_AGENTS) {
56
94
  // Compose rules for this specific agent (applies per-agent overrides)
57
- const document = composeActiveRulesForAgent(agent, scope);
95
+ const document = composeActiveRulesForApplication(agent, scope);
58
96
  if (!firstComposed) {
59
97
  firstComposed = document;
60
98
  }
61
99
  const filePath = resolveRuleFile(agent, scope);
100
+ const finalContent = agent === 'cursor' ? wrapMdcFrontmatter(document.content) : document.content;
62
101
  let existingContent = null;
63
102
  try {
64
103
  if (fs.existsSync(filePath)) {
@@ -69,7 +108,7 @@ export function distributeRules(_composed, options, scope) {
69
108
  existingContent = null;
70
109
  }
71
110
  const hadExistingFile = existingContent !== null;
72
- const contentMatches = existingContent !== null && existingContent === document.content;
111
+ const contentMatches = existingContent !== null && existingContent === finalContent;
73
112
  if (!forceRewrite && contentMatches) {
74
113
  results.push({
75
114
  agent,
@@ -83,7 +122,7 @@ export function distributeRules(_composed, options, scope) {
83
122
  const reason = hadExistingFile ? (contentMatches ? 'refreshed' : 'updated') : 'created';
84
123
  try {
85
124
  ensureDirectory(filePath);
86
- fs.writeFileSync(filePath, document.content, 'utf-8');
125
+ fs.writeFileSync(filePath, finalContent, 'utf-8');
87
126
  agentSyncUpdates.set(agent, { hash: document.hash, updatedAt: timestamp });
88
127
  results.push({ agent, filePath, status: 'written', reason });
89
128
  }
@@ -92,12 +131,9 @@ export function distributeRules(_composed, options, scope) {
92
131
  results.push({ agent, filePath, status: 'error', error: message });
93
132
  }
94
133
  }
95
- // Distribute individual .mdc files to per-file agents (Cursor)
96
- const perFileResults = distributeCursorRules(forceRewrite, scope);
97
- results.push(...perFileResults.results);
98
- for (const [agent, update] of perFileResults.syncUpdates.entries()) {
99
- agentSyncUpdates.set(agent, update);
100
- }
134
+ // Clean up legacy per-rule .mdc files from the old Cursor distribution scheme.
135
+ // The new approach writes a single asb-rules.mdc; old <ruleId>.mdc files are orphans.
136
+ cleanupLegacyCursorMdcFiles(scope);
101
137
  if (agentSyncUpdates.size > 0) {
102
138
  updateRuleState((current) => {
103
139
  const agentSync = { ...current.agentSync };
@@ -116,106 +152,6 @@ export function distributeRules(_composed, options, scope) {
116
152
  };
117
153
  }
118
154
  // ---------------------------------------------------------------------------
119
- // Cursor .mdc per-file distribution
120
- // ---------------------------------------------------------------------------
121
- function resolveCursorRulesDir(scope) {
122
- const projectRoot = scope?.project?.trim();
123
- if (projectRoot && projectRoot.length > 0) {
124
- return path.join(getProjectCursorDir(projectRoot), 'rules');
125
- }
126
- return path.join(getCursorDir(), 'rules');
127
- }
128
- function renderMdcRule(rule) {
129
- const extras = rule.metadata.extras;
130
- const cursorExtras = (extras?.cursor ?? {});
131
- const description = typeof cursorExtras.description === 'string'
132
- ? cursorExtras.description
133
- : (rule.metadata.description ?? rule.metadata.title ?? rule.id);
134
- const alwaysApply = typeof cursorExtras.alwaysApply === 'boolean' ? cursorExtras.alwaysApply : true;
135
- const lines = ['---', `description: ${description}`, `alwaysApply: ${alwaysApply}`];
136
- if (typeof cursorExtras.globs === 'string' && cursorExtras.globs.length > 0) {
137
- lines.push(`globs: ${cursorExtras.globs}`);
138
- }
139
- lines.push('---', '');
140
- const body = rule.content.replace(/\r\n/g, '\n').replace(/\s+$/u, '');
141
- if (body.length > 0) {
142
- lines.push(body);
143
- lines.push('');
144
- }
145
- return lines.join('\n');
146
- }
147
- function distributeCursorRules(forceRewrite, scope) {
148
- const results = [];
149
- const syncUpdates = new Map();
150
- const timestamp = new Date().toISOString();
151
- for (const agent of RULE_PER_FILE_AGENTS) {
152
- const agentConfig = resolveAgentSectionConfig('rules', agent, scope);
153
- const activeIds = new Set(agentConfig.active);
154
- const rules = loadRuleLibrary();
155
- const ruleMap = new Map(rules.map((r) => [r.id, r]));
156
- const libraryIds = new Set(rules.map((r) => r.id));
157
- const targetDir = resolveCursorRulesDir(scope);
158
- const hashes = [];
159
- let hadError = false;
160
- for (const id of agentConfig.active) {
161
- const rule = ruleMap.get(id);
162
- if (!rule)
163
- continue;
164
- const filePath = path.join(targetDir, `${id}.mdc`);
165
- const content = renderMdcRule(rule);
166
- hashes.push(createHash('sha256').update(content).digest('hex'));
167
- let existing = null;
168
- try {
169
- if (fs.existsSync(filePath))
170
- existing = fs.readFileSync(filePath, 'utf-8');
171
- }
172
- catch {
173
- existing = null;
174
- }
175
- if (!forceRewrite && existing === content) {
176
- results.push({ agent, filePath, status: 'skipped', reason: 'up-to-date' });
177
- continue;
178
- }
179
- try {
180
- ensureDirectory(filePath);
181
- fs.writeFileSync(filePath, content, 'utf-8');
182
- results.push({
183
- agent,
184
- filePath,
185
- status: 'written',
186
- reason: existing !== null ? 'updated' : 'created',
187
- });
188
- }
189
- catch (error) {
190
- hadError = true;
191
- const message = error instanceof Error ? error.message : String(error);
192
- results.push({ agent, filePath, status: 'error', error: message });
193
- }
194
- }
195
- // Cleanup orphan .mdc files: files in target dir whose ID is in the library but not active
196
- if (fs.existsSync(targetDir)) {
197
- for (const file of fs.readdirSync(targetDir)) {
198
- if (!file.endsWith('.mdc'))
199
- continue;
200
- const fileId = file.slice(0, -4);
201
- if (libraryIds.has(fileId) && !activeIds.has(fileId)) {
202
- try {
203
- fs.unlinkSync(path.join(targetDir, file));
204
- }
205
- catch {
206
- // best-effort cleanup
207
- }
208
- }
209
- }
210
- }
211
- if (!hadError) {
212
- const combinedHash = createHash('sha256').update(hashes.join(':')).digest('hex');
213
- syncUpdates.set(agent, { hash: combinedHash, updatedAt: timestamp });
214
- }
215
- }
216
- return { results, syncUpdates };
217
- }
218
- // ---------------------------------------------------------------------------
219
155
  // Public helpers
220
156
  // ---------------------------------------------------------------------------
221
157
  export function listUnsupportedAgents() {
@@ -1 +1 @@
1
- {"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/rules/distribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/rules/distribution.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,6 @@ export interface RuleSnippet {
10
10
  }
11
11
  export declare function ensureRulesDirectory(): string;
12
12
  /**
13
- * Load all rules from default library and subscribed libraries
13
+ * Load all rules from default library and external sources
14
14
  */
15
15
  export declare function loadRuleLibrary(): RuleSnippet[];
@@ -1,7 +1,7 @@
1
1
  import fs from 'node:fs';
2
2
  import path from 'node:path';
3
3
  import { getRulesDir } from '../config/paths.js';
4
- import { getSubscriptionsRecord } from '../library/subscriptions.js';
4
+ import { getSourcesRecord } from '../library/sources.js';
5
5
  import { parseRuleMarkdown } from './parser.js';
6
6
  function isMarkdownFile(fileName) {
7
7
  const extension = path.extname(fileName).toLowerCase();
@@ -59,16 +59,15 @@ function loadRulesFromDirectory(directory, namespace) {
59
59
  return rules;
60
60
  }
61
61
  /**
62
- * Load all rules from default library and subscribed libraries
62
+ * Load all rules from default library and external sources
63
63
  */
64
64
  export function loadRuleLibrary() {
65
65
  const rules = [];
66
66
  // Load from default library (no namespace)
67
67
  const defaultDir = ensureRulesDirectory();
68
68
  rules.push(...loadRulesFromDirectory(defaultDir));
69
- // Load from subscribed libraries (with namespace prefix)
70
- const subscriptions = getSubscriptionsRecord();
71
- for (const [namespace, basePath] of Object.entries(subscriptions)) {
69
+ const sources = getSourcesRecord();
70
+ for (const [namespace, basePath] of Object.entries(sources)) {
72
71
  const rulesDir = path.join(basePath, 'rules');
73
72
  rules.push(...loadRulesFromDirectory(rulesDir, namespace));
74
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"library.js","sourceRoot":"","sources":["../../src/rules/library.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"library.js","sourceRoot":"","sources":["../../src/rules/library.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import fs from 'node:fs';
2
2
  import path from 'node:path';
3
3
  import { getClaudeDir, getCodexDir, getCodexSkillsDir, getCursorDir, getGeminiDir, getOpencodeRoot, getProjectClaudeDir, getProjectCodexSkillsDir, getProjectCursorDir, getProjectGeminiDir, getProjectOpencodeRoot, } from '../config/paths.js';
4
4
  import { distributeBundle, } from '../library/distribute-bundle.js';
5
- import { loadLibraryStateSectionForAgent } from '../library/state.js';
5
+ import { loadLibraryStateSectionForApplication } from '../library/state.js';
6
6
  import { listSkillFiles, loadSkillLibrary } from './library.js';
7
7
  export const SKILL_PLATFORMS = [
8
8
  'claude-code',
@@ -22,7 +22,7 @@ const AGENTS_TARGET_PLATFORMS = ['codex', 'gemini', 'opencode'];
22
22
  * cleanup of orphan `.cursor/skills/` directories still executes).
23
23
  */
24
24
  function shouldDedupCursorSkills(scope) {
25
- const claudeState = loadLibraryStateSectionForAgent('skills', 'claude-code', scope);
25
+ const claudeState = loadLibraryStateSectionForApplication('skills', 'claude-code', scope);
26
26
  return claudeState.active.length > 0;
27
27
  }
28
28
  /**
@@ -109,21 +109,21 @@ function distributeAgentsMode(entries, scope) {
109
109
  if (target === 'cursor') {
110
110
  if (shouldDedupCursorSkills(scope))
111
111
  return [];
112
- const state = loadLibraryStateSectionForAgent('skills', target, scope);
112
+ const state = loadLibraryStateSectionForApplication('skills', target, scope);
113
113
  const activeIds = new Set(state.active);
114
114
  return allEntries.filter((e) => activeIds.has(e.id));
115
115
  }
116
116
  if (target === 'agents') {
117
117
  const unionIds = new Set();
118
118
  for (const agentId of AGENTS_TARGET_PLATFORMS) {
119
- const state = loadLibraryStateSectionForAgent('skills', agentId, scope);
119
+ const state = loadLibraryStateSectionForApplication('skills', agentId, scope);
120
120
  for (const id of state.active) {
121
121
  unionIds.add(id);
122
122
  }
123
123
  }
124
124
  return allEntries.filter((e) => unionIds.has(e.id));
125
125
  }
126
- const state = loadLibraryStateSectionForAgent('skills', target, scope);
126
+ const state = loadLibraryStateSectionForApplication('skills', target, scope);
127
127
  const activeIds = new Set(state.active);
128
128
  return allEntries.filter((e) => activeIds.has(e.id));
129
129
  };
@@ -177,7 +177,7 @@ function distributeLegacyMode(entries, scope) {
177
177
  if (shouldDedupCursorSkills(scope))
178
178
  return [];
179
179
  }
180
- const state = loadLibraryStateSectionForAgent('skills', target, scope);
180
+ const state = loadLibraryStateSectionForApplication('skills', target, scope);
181
181
  const activeIds = new Set(state.active);
182
182
  return allEntries.filter((e) => activeIds.has(e.id));
183
183
  };
@@ -1 +1 @@
1
- {"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/skills/distribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/skills/distribution.ts"],"names":[],"mappings":"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"}
@@ -25,8 +25,7 @@ export interface BundleFile {
25
25
  }
26
26
  export declare function ensureSkillsDirectory(): string;
27
27
  /**
28
- * Load all skills from default library and subscribed libraries.
29
- * Each skill is a directory containing a SKILL.md file.
28
+ * Load all skills from default library, flat sources, and marketplace sources.
30
29
  */
31
30
  export declare function loadSkillLibrary(): SkillEntry[];
32
31
  /**