@agents-inc/cli 0.46.0 → 0.47.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 (157) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/{chunk-G2WNOT3R.js → chunk-2RQYJFKA.js} +2 -2
  3. package/dist/{chunk-CD64ZNYI.js → chunk-3APMMQUA.js} +11 -3
  4. package/dist/chunk-3APMMQUA.js.map +1 -0
  5. package/dist/{chunk-DO5OZHSS.js → chunk-B4QYXVPZ.js} +2 -2
  6. package/dist/{chunk-5QRJUBK7.js → chunk-C4QI54PN.js} +20 -11
  7. package/dist/chunk-C4QI54PN.js.map +1 -0
  8. package/dist/{chunk-QBUOZVNZ.js → chunk-CJFWO46A.js} +2 -2
  9. package/dist/{chunk-VH3PI43B.js → chunk-DC333ZDC.js} +4 -4
  10. package/dist/{chunk-GVLYNP2I.js → chunk-DVW6ASTO.js} +4 -4
  11. package/dist/{chunk-NMXNHRAK.js → chunk-EZ46ZTAQ.js} +3 -3
  12. package/dist/{chunk-FUEZQ2H6.js → chunk-FMQ3A7W4.js} +4 -4
  13. package/dist/{chunk-74HSA7C4.js → chunk-FTD5Z6QD.js} +3 -1
  14. package/dist/{chunk-74HSA7C4.js.map → chunk-FTD5Z6QD.js.map} +1 -1
  15. package/dist/{chunk-KWQ2BQXF.js → chunk-FXQYEXLS.js} +3 -3
  16. package/dist/{chunk-RT6IBH37.js → chunk-GFDGYQ6M.js} +55 -21
  17. package/dist/chunk-GFDGYQ6M.js.map +1 -0
  18. package/dist/{chunk-CDGHSTB6.js → chunk-HLTJK3XB.js} +7 -5
  19. package/dist/chunk-HLTJK3XB.js.map +1 -0
  20. package/dist/{chunk-72GS6PIH.js → chunk-HPJP3HFD.js} +7 -7
  21. package/dist/{chunk-J64CA4V6.js → chunk-INKJBMPJ.js} +2 -2
  22. package/dist/{chunk-YVMYQSED.js → chunk-IRJADQM7.js} +2 -2
  23. package/dist/{chunk-PZLUO4OY.js → chunk-JTTTXGHX.js} +4 -4
  24. package/dist/{chunk-4C7PDDLY.js → chunk-JZHIF3K7.js} +5 -5
  25. package/dist/{chunk-D7JTL3DJ.js → chunk-KQ27IDYL.js} +2 -2
  26. package/dist/{chunk-SGXUMZWL.js → chunk-LJ5E4GXC.js} +2 -2
  27. package/dist/{chunk-LFZXMQOH.js → chunk-LNA6M2IE.js} +2 -2
  28. package/dist/{chunk-ODQ2BKWU.js → chunk-M4P5YJ45.js} +3 -3
  29. package/dist/{chunk-TOWP4T5L.js → chunk-MVEYK55V.js} +2 -2
  30. package/dist/{chunk-5M6JI76P.js → chunk-N5OCAAXY.js} +2 -2
  31. package/dist/{chunk-RWR56UVK.js → chunk-NRCKIHND.js} +11 -2
  32. package/dist/chunk-NRCKIHND.js.map +1 -0
  33. package/dist/{chunk-FKBCYT7B.js → chunk-OEJDFGAF.js} +5 -5
  34. package/dist/{chunk-I26YP2Q3.js → chunk-QR2TM4OY.js} +5 -5
  35. package/dist/{chunk-UK3AMBR7.js → chunk-SPSGZWTZ.js} +13 -6
  36. package/dist/{chunk-UK3AMBR7.js.map → chunk-SPSGZWTZ.js.map} +1 -1
  37. package/dist/{chunk-XE6RTHUD.js → chunk-TBB3THSL.js} +38 -3
  38. package/dist/chunk-TBB3THSL.js.map +1 -0
  39. package/dist/{chunk-7LDSHHKN.js → chunk-TWDVLTU6.js} +3 -3
  40. package/dist/{chunk-YT7UHV67.js → chunk-VAQJLHUW.js} +11 -9
  41. package/dist/chunk-VAQJLHUW.js.map +1 -0
  42. package/dist/{chunk-C7BO2ASM.js → chunk-VSZ5GDET.js} +2 -2
  43. package/dist/{chunk-CTQHZELA.js → chunk-XTRPYUWK.js} +14 -14
  44. package/dist/{chunk-HM3DHMW7.js → chunk-YTRFL3MR.js} +8 -8
  45. package/dist/chunk-YTRFL3MR.js.map +1 -0
  46. package/dist/{chunk-3WKFSTG6.js → chunk-ZWAL2ZY7.js} +2 -2
  47. package/dist/commands/build/marketplace.js +4 -4
  48. package/dist/commands/build/plugins.js +5 -5
  49. package/dist/commands/build/stack.js +5 -5
  50. package/dist/commands/compile.js +6 -6
  51. package/dist/commands/config/get.js +4 -4
  52. package/dist/commands/config/index.js +5 -5
  53. package/dist/commands/config/path.js +4 -4
  54. package/dist/commands/config/set-project.js +4 -4
  55. package/dist/commands/config/show.js +5 -5
  56. package/dist/commands/config/unset-project.js +4 -4
  57. package/dist/commands/diff.js +4 -4
  58. package/dist/commands/doctor.js +4 -4
  59. package/dist/commands/edit.js +29 -29
  60. package/dist/commands/eject.js +4 -4
  61. package/dist/commands/import/skill.js +5 -5
  62. package/dist/commands/info.js +5 -5
  63. package/dist/commands/init.js +28 -28
  64. package/dist/commands/list.js +4 -4
  65. package/dist/commands/new/agent.js +6 -6
  66. package/dist/commands/new/marketplace.js +5 -5
  67. package/dist/commands/new/skill.js +9 -6
  68. package/dist/commands/new/skill.js.map +1 -1
  69. package/dist/commands/outdated.js +4 -4
  70. package/dist/commands/search.js +7 -7
  71. package/dist/commands/uninstall.js +6 -6
  72. package/dist/commands/update.js +6 -6
  73. package/dist/commands/validate.js +229 -19
  74. package/dist/commands/validate.js.map +1 -1
  75. package/dist/components/skill-search/skill-search.js +3 -3
  76. package/dist/components/wizard/category-grid.js +2 -2
  77. package/dist/components/wizard/category-grid.test.js +122 -2
  78. package/dist/components/wizard/category-grid.test.js.map +1 -1
  79. package/dist/components/wizard/checkbox-grid.js +3 -3
  80. package/dist/components/wizard/checkbox-grid.test.js +3 -3
  81. package/dist/components/wizard/domain-selection.js +9 -9
  82. package/dist/components/wizard/help-modal.js +2 -2
  83. package/dist/components/wizard/menu-item.js +1 -1
  84. package/dist/components/wizard/search-modal.js +2 -2
  85. package/dist/components/wizard/search-modal.test.js +2 -2
  86. package/dist/components/wizard/section-progress.js +2 -2
  87. package/dist/components/wizard/section-progress.test.js +2 -2
  88. package/dist/components/wizard/selection-card.js +2 -2
  89. package/dist/components/wizard/source-grid.js +3 -3
  90. package/dist/components/wizard/source-grid.test.js +3 -3
  91. package/dist/components/wizard/stack-selection.js +8 -8
  92. package/dist/components/wizard/step-agents.js +8 -8
  93. package/dist/components/wizard/step-agents.test.js +9 -9
  94. package/dist/components/wizard/step-build.js +8 -8
  95. package/dist/components/wizard/step-build.test.js +78 -46
  96. package/dist/components/wizard/step-build.test.js.map +1 -1
  97. package/dist/components/wizard/step-confirm.js +4 -4
  98. package/dist/components/wizard/step-confirm.test.js +8 -8
  99. package/dist/components/wizard/step-refine.js +2 -2
  100. package/dist/components/wizard/step-refine.test.js +2 -2
  101. package/dist/components/wizard/step-settings.js +5 -5
  102. package/dist/components/wizard/step-settings.test.js +8 -8
  103. package/dist/components/wizard/step-sources.js +10 -10
  104. package/dist/components/wizard/step-sources.test.js +11 -11
  105. package/dist/components/wizard/step-stack.js +12 -12
  106. package/dist/components/wizard/step-stack.test.js +13 -13
  107. package/dist/components/wizard/view-title.js +2 -2
  108. package/dist/components/wizard/wizard-layout.js +8 -8
  109. package/dist/components/wizard/wizard-tabs.js +2 -2
  110. package/dist/components/wizard/wizard-tabs.test.js +2 -2
  111. package/dist/components/wizard/wizard.js +25 -25
  112. package/dist/hooks/init.js +3 -3
  113. package/dist/{source-manager-6QZ2GDUA.js → source-manager-Q34LTUVM.js} +4 -4
  114. package/dist/src/agents/meta/documentor/examples.md +35 -36
  115. package/dist/src/agents/meta/documentor/workflow.md +91 -105
  116. package/dist/stores/wizard-store.js +5 -5
  117. package/dist/stores/wizard-store.test.js +48 -6
  118. package/dist/stores/wizard-store.test.js.map +1 -1
  119. package/package.json +1 -1
  120. package/src/agents/meta/documentor/examples.md +35 -36
  121. package/src/agents/meta/documentor/workflow.md +91 -105
  122. package/src/schemas/agent.schema.json +3 -0
  123. package/src/schemas/metadata.schema.json +3 -0
  124. package/dist/chunk-5QRJUBK7.js.map +0 -1
  125. package/dist/chunk-CD64ZNYI.js.map +0 -1
  126. package/dist/chunk-CDGHSTB6.js.map +0 -1
  127. package/dist/chunk-HM3DHMW7.js.map +0 -1
  128. package/dist/chunk-RT6IBH37.js.map +0 -1
  129. package/dist/chunk-RWR56UVK.js.map +0 -1
  130. package/dist/chunk-XE6RTHUD.js.map +0 -1
  131. package/dist/chunk-YT7UHV67.js.map +0 -1
  132. /package/dist/{chunk-G2WNOT3R.js.map → chunk-2RQYJFKA.js.map} +0 -0
  133. /package/dist/{chunk-DO5OZHSS.js.map → chunk-B4QYXVPZ.js.map} +0 -0
  134. /package/dist/{chunk-QBUOZVNZ.js.map → chunk-CJFWO46A.js.map} +0 -0
  135. /package/dist/{chunk-VH3PI43B.js.map → chunk-DC333ZDC.js.map} +0 -0
  136. /package/dist/{chunk-GVLYNP2I.js.map → chunk-DVW6ASTO.js.map} +0 -0
  137. /package/dist/{chunk-NMXNHRAK.js.map → chunk-EZ46ZTAQ.js.map} +0 -0
  138. /package/dist/{chunk-FUEZQ2H6.js.map → chunk-FMQ3A7W4.js.map} +0 -0
  139. /package/dist/{chunk-KWQ2BQXF.js.map → chunk-FXQYEXLS.js.map} +0 -0
  140. /package/dist/{chunk-72GS6PIH.js.map → chunk-HPJP3HFD.js.map} +0 -0
  141. /package/dist/{chunk-J64CA4V6.js.map → chunk-INKJBMPJ.js.map} +0 -0
  142. /package/dist/{chunk-YVMYQSED.js.map → chunk-IRJADQM7.js.map} +0 -0
  143. /package/dist/{chunk-PZLUO4OY.js.map → chunk-JTTTXGHX.js.map} +0 -0
  144. /package/dist/{chunk-4C7PDDLY.js.map → chunk-JZHIF3K7.js.map} +0 -0
  145. /package/dist/{chunk-D7JTL3DJ.js.map → chunk-KQ27IDYL.js.map} +0 -0
  146. /package/dist/{chunk-SGXUMZWL.js.map → chunk-LJ5E4GXC.js.map} +0 -0
  147. /package/dist/{chunk-LFZXMQOH.js.map → chunk-LNA6M2IE.js.map} +0 -0
  148. /package/dist/{chunk-ODQ2BKWU.js.map → chunk-M4P5YJ45.js.map} +0 -0
  149. /package/dist/{chunk-TOWP4T5L.js.map → chunk-MVEYK55V.js.map} +0 -0
  150. /package/dist/{chunk-5M6JI76P.js.map → chunk-N5OCAAXY.js.map} +0 -0
  151. /package/dist/{chunk-FKBCYT7B.js.map → chunk-OEJDFGAF.js.map} +0 -0
  152. /package/dist/{chunk-I26YP2Q3.js.map → chunk-QR2TM4OY.js.map} +0 -0
  153. /package/dist/{chunk-7LDSHHKN.js.map → chunk-TWDVLTU6.js.map} +0 -0
  154. /package/dist/{chunk-C7BO2ASM.js.map → chunk-VSZ5GDET.js.map} +0 -0
  155. /package/dist/{chunk-CTQHZELA.js.map → chunk-XTRPYUWK.js.map} +0 -0
  156. /package/dist/{chunk-3WKFSTG6.js.map → chunk-ZWAL2ZY7.js.map} +0 -0
  157. /package/dist/{source-manager-6QZ2GDUA.js.map → source-manager-Q34LTUVM.js.map} +0 -0
@@ -4,14 +4,14 @@ import {
4
4
  } from "./chunk-7SOPVGDV.js";
5
5
  import {
6
6
  SearchModal
7
- } from "./chunk-C7BO2ASM.js";
7
+ } from "./chunk-VSZ5GDET.js";
8
8
  import {
9
9
  useFocusedListItem
10
10
  } from "./chunk-GG4BSB6S.js";
11
11
  import {
12
12
  CLI_COLORS,
13
13
  SCROLL_VIEWPORT
14
- } from "./chunk-74HSA7C4.js";
14
+ } from "./chunk-FTD5Z6QD.js";
15
15
  import {
16
16
  init_esm_shims
17
17
  } from "./chunk-DHET7RCE.js";
@@ -280,4 +280,4 @@ var SourceGrid = ({
280
280
  export {
281
281
  SourceGrid
282
282
  };
283
- //# sourceMappingURL=chunk-KWQ2BQXF.js.map
283
+ //# sourceMappingURL=chunk-FXQYEXLS.js.map
@@ -4,7 +4,7 @@ import {
4
4
  typedKeys
5
5
  } from "./chunk-T4EXUIBY.js";
6
6
  import {
7
- SKILL_ID_PATTERN,
7
+ DOMAIN_VALUES,
8
8
  SUBCATEGORY_VALUES,
9
9
  agentFrontmatterValidationSchema,
10
10
  agentNameSchema,
@@ -14,6 +14,7 @@ import {
14
14
  directoryExists,
15
15
  ensureDir,
16
16
  extendSchemasWithCustomValues,
17
+ extensibleDomainSchema,
17
18
  fileExists,
18
19
  formatZodErrors,
19
20
  getErrorMessage,
@@ -45,7 +46,7 @@ import {
45
46
  warn,
46
47
  warnUnknownFields,
47
48
  writeFile
48
- } from "./chunk-5QRJUBK7.js";
49
+ } from "./chunk-C4QI54PN.js";
49
50
  import {
50
51
  ARCHIVED_SKILLS_DIR_NAME,
51
52
  CACHE_DIR,
@@ -79,7 +80,7 @@ import {
79
80
  STANDARD_FILES,
80
81
  YAML_FORMATTING,
81
82
  yamlSchemaComment
82
- } from "./chunk-74HSA7C4.js";
83
+ } from "./chunk-FTD5Z6QD.js";
83
84
  import {
84
85
  init_esm_shims
85
86
  } from "./chunk-DHET7RCE.js";
@@ -1016,7 +1017,8 @@ async function loadAllAgents(projectRoot) {
1016
1017
  model: config.model,
1017
1018
  tools: config.tools,
1018
1019
  path: agentPath,
1019
- sourceRoot: projectRoot
1020
+ sourceRoot: projectRoot,
1021
+ ...config.domain ? { domain: config.domain } : {}
1020
1022
  };
1021
1023
  verbose(`Loaded agent: ${config.id} from ${file}`);
1022
1024
  } catch (error) {
@@ -1046,8 +1048,9 @@ async function loadProjectAgents(projectRoot) {
1046
1048
  tools: config.tools,
1047
1049
  path: agentPath,
1048
1050
  sourceRoot: projectRoot,
1049
- agentBaseDir: `${CLAUDE_SRC_DIR}/agents`
1051
+ agentBaseDir: `${CLAUDE_SRC_DIR}/agents`,
1050
1052
  // Project agents are in .claude-src/agents/
1053
+ ...config.domain ? { domain: config.domain } : {}
1051
1054
  };
1052
1055
  verbose(`Loaded project agent: ${config.id} from ${file}`);
1053
1056
  } catch (error) {
@@ -1558,7 +1561,7 @@ async function writePluginManifest(outputDir, manifest) {
1558
1561
  // src/cli/lib/plugins/plugin-finder.ts
1559
1562
  init_esm_shims();
1560
1563
  import path10 from "path";
1561
- import { last, zip } from "remeda";
1564
+ import { zip } from "remeda";
1562
1565
  function getProjectPluginsDir(projectDir) {
1563
1566
  const dir = projectDir ?? process.cwd();
1564
1567
  return path10.join(dir, CLAUDE_DIR, PLUGINS_SUBDIR);
@@ -3147,6 +3150,7 @@ var rawMetadataSchema = z3.object({
3147
3150
  requires: z3.array(z3.string()).optional(),
3148
3151
  requiresSetup: z3.array(z3.string()).optional(),
3149
3152
  providesSetupFor: z3.array(z3.string()).optional(),
3153
+ domain: extensibleDomainSchema.optional(),
3150
3154
  custom: z3.boolean().optional()
3151
3155
  });
3152
3156
  async function loadSkillsMatrix(configPath) {
@@ -3222,6 +3226,7 @@ async function extractAllSkills(skillsDir) {
3222
3226
  requiresSetup: metadata.requiresSetup ?? [],
3223
3227
  providesSetupFor: metadata.providesSetupFor ?? [],
3224
3228
  path: `skills/${skillDir}/`,
3229
+ ...metadata.domain ? { domain: metadata.domain } : {},
3225
3230
  ...metadata.custom === true ? { custom: true } : {}
3226
3231
  };
3227
3232
  skills.push(extracted);
@@ -4131,6 +4136,17 @@ async function loadAndMergeFromBasePath(basePath) {
4131
4136
  const stackSource = sourceStacks.length > 0 ? "source" : "CLI";
4132
4137
  verbose(`Loaded ${stacks.length} stacks from ${stackSource}`);
4133
4138
  }
4139
+ const agents = await loadAllAgents(basePath);
4140
+ const agentDefinedDomains = {};
4141
+ for (const [agentId, agentDef] of typedEntries(agents)) {
4142
+ if (agentDef.domain) {
4143
+ agentDefinedDomains[agentId] = agentDef.domain;
4144
+ }
4145
+ }
4146
+ if (Object.keys(agentDefinedDomains).length > 0) {
4147
+ mergedMatrix.agentDefinedDomains = agentDefinedDomains;
4148
+ verbose(`Loaded ${Object.keys(agentDefinedDomains).length} agent domain definition(s)`);
4149
+ }
4134
4150
  return mergedMatrix;
4135
4151
  }
4136
4152
  function convertStackToResolvedStack(stack) {
@@ -4190,15 +4206,20 @@ function getMarketplaceLabel(sourceResult) {
4190
4206
  }
4191
4207
  return marketplace;
4192
4208
  }
4193
- async function discoverCustomAgentName(agentsDir, file, parseYaml9) {
4209
+ async function discoverCustomAgentValues(agentsDir, file, parseYaml9, builtinDomains) {
4194
4210
  const content = await readFile(path21.join(agentsDir, file));
4195
4211
  const raw = parseYaml9(content);
4196
- if (raw?.custom !== true) return void 0;
4197
- if (typeof raw?.id !== "string") return void 0;
4198
- if (agentNameSchema.safeParse(raw.id).success) return void 0;
4199
- return raw.id;
4212
+ if (raw?.custom !== true) return {};
4213
+ const result = {};
4214
+ if (typeof raw?.id === "string" && !agentNameSchema.safeParse(raw.id).success) {
4215
+ result.agentName = raw.id;
4216
+ }
4217
+ if (typeof raw?.domain === "string" && !builtinDomains.has(raw.domain)) {
4218
+ result.domain = raw.domain;
4219
+ }
4220
+ return result;
4200
4221
  }
4201
- async function discoverCustomSkillValues(skillsDir, file, parseYaml9, builtinSubcategories) {
4222
+ async function discoverCustomSkillValues(skillsDir, file, parseYaml9, builtinSubcategories, builtinDomains) {
4202
4223
  const content = await readFile(path21.join(skillsDir, file));
4203
4224
  const frontmatter = parseFrontmatter(content);
4204
4225
  if (!frontmatter) return {};
@@ -4210,19 +4231,23 @@ async function discoverCustomSkillValues(skillsDir, file, parseYaml9, builtinSub
4210
4231
  const metadataRaw = parseYaml9(metadataContent);
4211
4232
  if (metadataRaw?.custom !== true) return {};
4212
4233
  const result = {};
4213
- if (!SKILL_ID_PATTERN.test(skillId)) {
4214
- result.skillId = skillId;
4215
- }
4234
+ result.skillId = skillId;
4216
4235
  const category = metadataRaw.category;
4217
4236
  if (typeof category === "string" && !builtinSubcategories.has(category)) {
4218
4237
  result.category = category;
4219
4238
  }
4239
+ const domain = metadataRaw.domain;
4240
+ if (typeof domain === "string" && !builtinDomains.has(domain)) {
4241
+ result.domain = domain;
4242
+ }
4220
4243
  return result;
4221
4244
  }
4222
4245
  async function discoverAndExtendFromSource(basePath) {
4223
4246
  const { parse: parseYaml9 } = await import("yaml");
4224
4247
  const builtinSubcategories = new Set(SUBCATEGORY_VALUES);
4248
+ const builtinDomains = new Set(DOMAIN_VALUES);
4225
4249
  const customCategories = [];
4250
+ const customDomains = [];
4226
4251
  const customAgentNames = [];
4227
4252
  const customSkillIds = [];
4228
4253
  const agentsDir = path21.join(basePath, DIRS.agents);
@@ -4230,8 +4255,9 @@ async function discoverAndExtendFromSource(basePath) {
4230
4255
  const agentFiles = await glob(`**/${STANDARD_FILES.AGENT_YAML}`, agentsDir);
4231
4256
  for (const file of agentFiles) {
4232
4257
  try {
4233
- const name = await discoverCustomAgentName(agentsDir, file, parseYaml9);
4234
- if (name) customAgentNames.push(name);
4258
+ const result = await discoverCustomAgentValues(agentsDir, file, parseYaml9, builtinDomains);
4259
+ if (result.agentName) customAgentNames.push(result.agentName);
4260
+ if (result.domain) customDomains.push(result.domain);
4235
4261
  } catch {
4236
4262
  }
4237
4263
  }
@@ -4245,23 +4271,26 @@ async function discoverAndExtendFromSource(basePath) {
4245
4271
  skillsDir,
4246
4272
  file,
4247
4273
  parseYaml9,
4248
- builtinSubcategories
4274
+ builtinSubcategories,
4275
+ builtinDomains
4249
4276
  );
4250
4277
  if (result.skillId) customSkillIds.push(result.skillId);
4251
4278
  if (result.category) customCategories.push(result.category);
4279
+ if (result.domain) customDomains.push(result.domain);
4252
4280
  } catch {
4253
4281
  }
4254
4282
  }
4255
4283
  }
4256
- const hasCustomValues = customCategories.length > 0 || customAgentNames.length > 0 || customSkillIds.length > 0;
4284
+ const hasCustomValues = customCategories.length > 0 || customDomains.length > 0 || customAgentNames.length > 0 || customSkillIds.length > 0;
4257
4285
  if (hasCustomValues) {
4258
4286
  extendSchemasWithCustomValues({
4259
4287
  categories: unique4(customCategories),
4288
+ domains: unique4(customDomains),
4260
4289
  agentNames: customAgentNames,
4261
4290
  skillIds: customSkillIds
4262
4291
  });
4263
4292
  verbose(
4264
- `Extended schemas with ${unique4(customCategories).length} custom categories, ${customAgentNames.length} custom agents, ${customSkillIds.length} custom skill IDs`
4293
+ `Extended schemas with ${unique4(customCategories).length} custom categories, ${unique4(customDomains).length} custom domains, ${customAgentNames.length} custom agents, ${customSkillIds.length} custom skill IDs`
4265
4294
  );
4266
4295
  }
4267
4296
  }
@@ -4477,6 +4506,7 @@ export {
4477
4506
  getCurrentDate,
4478
4507
  computeStringHash,
4479
4508
  computeFileHash,
4509
+ computeSkillFolderHash,
4480
4510
  determinePluginVersion,
4481
4511
  writeContentHash,
4482
4512
  readForkedFromMetadata,
@@ -4488,9 +4518,13 @@ export {
4488
4518
  printCompilationSummary,
4489
4519
  archiveLocalSkill,
4490
4520
  restoreArchivedSkill,
4521
+ loadSkillsMatrix,
4522
+ extractAllSkills,
4523
+ mergeMatrixWithSkills,
4491
4524
  resolveAlias,
4492
4525
  validateSelection,
4493
4526
  getAvailableSkills,
4527
+ checkMatrixHealth,
4494
4528
  searchExtraSources,
4495
4529
  buildSkillRefsFromConfig,
4496
4530
  resolveAgents,
@@ -4517,4 +4551,4 @@ export {
4517
4551
  validateAllPlugins,
4518
4552
  printPluginValidationResult
4519
4553
  };
4520
- //# sourceMappingURL=chunk-RT6IBH37.js.map
4554
+ //# sourceMappingURL=chunk-GFDGYQ6M.js.map