@agentxm/client-core 0.3.2 → 0.3.3

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 (135) hide show
  1. package/LICENSE +1 -1
  2. package/dist/src/unstable/agents/detection.d.ts.map +1 -1
  3. package/dist/src/unstable/agents/detection.js +2 -1
  4. package/dist/src/unstable/agents/detection.js.map +1 -1
  5. package/dist/src/unstable/cli-renderer/ansi-chrome.d.ts.map +1 -1
  6. package/dist/src/unstable/cli-renderer/ansi-chrome.js +4 -1
  7. package/dist/src/unstable/cli-renderer/ansi-chrome.js.map +1 -1
  8. package/dist/src/unstable/extensions/index.d.ts +1 -0
  9. package/dist/src/unstable/extensions/index.d.ts.map +1 -1
  10. package/dist/src/unstable/extensions/index.js +1 -0
  11. package/dist/src/unstable/extensions/index.js.map +1 -1
  12. package/dist/src/unstable/extensions/universal-skills-dir.d.ts +54 -0
  13. package/dist/src/unstable/extensions/universal-skills-dir.d.ts.map +1 -0
  14. package/dist/src/unstable/extensions/universal-skills-dir.js +68 -0
  15. package/dist/src/unstable/extensions/universal-skills-dir.js.map +1 -0
  16. package/dist/src/unstable/lint/catalog/pack/manifest-keys-recognized.js +1 -1
  17. package/dist/src/unstable/lint/catalog/pack/manifest-keys-recognized.js.map +1 -1
  18. package/dist/src/unstable/lint/catalog/pack/manifest-present.d.ts.map +1 -1
  19. package/dist/src/unstable/lint/catalog/pack/manifest-present.js +2 -5
  20. package/dist/src/unstable/lint/catalog/pack/manifest-present.js.map +1 -1
  21. package/dist/src/unstable/lint/catalog/pack/manifest-schema-valid.js +1 -1
  22. package/dist/src/unstable/lint/catalog/pack/manifest-schema-valid.js.map +1 -1
  23. package/dist/src/unstable/lint/catalog/shared/schema-rule.d.ts.map +1 -1
  24. package/dist/src/unstable/lint/catalog/shared/schema-rule.js +12 -5
  25. package/dist/src/unstable/lint/catalog/shared/schema-rule.js.map +1 -1
  26. package/dist/src/unstable/lint/catalog/skill/frontmatter-parseable.js +8 -11
  27. package/dist/src/unstable/lint/catalog/skill/frontmatter-parseable.js.map +1 -1
  28. package/dist/src/unstable/lint/catalog/skill/manifest-keys-recognized.js +1 -1
  29. package/dist/src/unstable/lint/catalog/skill/manifest-keys-recognized.js.map +1 -1
  30. package/dist/src/unstable/lint/catalog/skill/manifest-present.d.ts.map +1 -1
  31. package/dist/src/unstable/lint/catalog/skill/manifest-present.js +2 -5
  32. package/dist/src/unstable/lint/catalog/skill/manifest-present.js.map +1 -1
  33. package/dist/src/unstable/lint/catalog/skill/manifest-schema-valid.js +1 -1
  34. package/dist/src/unstable/lint/catalog/skill/manifest-schema-valid.js.map +1 -1
  35. package/dist/src/unstable/lint/catalog/skill/skill-md-present.js +2 -3
  36. package/dist/src/unstable/lint/catalog/skill/skill-md-present.js.map +1 -1
  37. package/dist/src/unstable/lint/catalog/workspace/agents-detected-declared.d.ts.map +1 -1
  38. package/dist/src/unstable/lint/catalog/workspace/agents-detected-declared.js +5 -15
  39. package/dist/src/unstable/lint/catalog/workspace/agents-detected-declared.js.map +1 -1
  40. package/dist/src/unstable/lint/catalog/workspace/agents-recognized.d.ts.map +1 -1
  41. package/dist/src/unstable/lint/catalog/workspace/agents-recognized.js +4 -15
  42. package/dist/src/unstable/lint/catalog/workspace/agents-recognized.js.map +1 -1
  43. package/dist/src/unstable/lint/catalog/workspace/helpers/decode.d.ts +14 -0
  44. package/dist/src/unstable/lint/catalog/workspace/helpers/decode.d.ts.map +1 -0
  45. package/dist/src/unstable/lint/catalog/workspace/helpers/decode.js +28 -0
  46. package/dist/src/unstable/lint/catalog/workspace/helpers/decode.js.map +1 -0
  47. package/dist/src/unstable/lint/catalog/workspace/helpers/finding.d.ts +10 -0
  48. package/dist/src/unstable/lint/catalog/workspace/helpers/finding.d.ts.map +1 -0
  49. package/dist/src/unstable/lint/catalog/workspace/helpers/finding.js +11 -0
  50. package/dist/src/unstable/lint/catalog/workspace/helpers/finding.js.map +1 -0
  51. package/dist/src/unstable/lint/catalog/workspace/helpers/retained-skills.d.ts +24 -0
  52. package/dist/src/unstable/lint/catalog/workspace/helpers/retained-skills.d.ts.map +1 -0
  53. package/dist/src/unstable/lint/catalog/workspace/helpers/retained-skills.js +41 -0
  54. package/dist/src/unstable/lint/catalog/workspace/helpers/retained-skills.js.map +1 -0
  55. package/dist/src/unstable/lint/catalog/workspace/helpers/source-categorize.d.ts +16 -0
  56. package/dist/src/unstable/lint/catalog/workspace/helpers/source-categorize.d.ts.map +1 -0
  57. package/dist/src/unstable/lint/catalog/workspace/helpers/source-categorize.js +37 -0
  58. package/dist/src/unstable/lint/catalog/workspace/helpers/source-categorize.js.map +1 -0
  59. package/dist/src/unstable/lint/catalog/workspace/initialized.js +3 -5
  60. package/dist/src/unstable/lint/catalog/workspace/initialized.js.map +1 -1
  61. package/dist/src/unstable/lint/catalog/workspace/lockfile-valid.d.ts.map +1 -1
  62. package/dist/src/unstable/lint/catalog/workspace/lockfile-valid.js +8 -21
  63. package/dist/src/unstable/lint/catalog/workspace/lockfile-valid.js.map +1 -1
  64. package/dist/src/unstable/lint/catalog/workspace/packs-declarations-valid.d.ts.map +1 -1
  65. package/dist/src/unstable/lint/catalog/workspace/packs-declarations-valid.js +12 -49
  66. package/dist/src/unstable/lint/catalog/workspace/packs-declarations-valid.js.map +1 -1
  67. package/dist/src/unstable/lint/catalog/workspace/packs-dependencies-resolved.d.ts.map +1 -1
  68. package/dist/src/unstable/lint/catalog/workspace/packs-dependencies-resolved.js +23 -17
  69. package/dist/src/unstable/lint/catalog/workspace/packs-dependencies-resolved.js.map +1 -1
  70. package/dist/src/unstable/lint/catalog/workspace/packs-members-retained.d.ts.map +1 -1
  71. package/dist/src/unstable/lint/catalog/workspace/packs-members-retained.js +24 -29
  72. package/dist/src/unstable/lint/catalog/workspace/packs-members-retained.js.map +1 -1
  73. package/dist/src/unstable/lint/catalog/workspace/settings-schema-valid.d.ts.map +1 -1
  74. package/dist/src/unstable/lint/catalog/workspace/settings-schema-valid.js +3 -6
  75. package/dist/src/unstable/lint/catalog/workspace/settings-schema-valid.js.map +1 -1
  76. package/dist/src/unstable/lint/catalog/workspace/skills-artifacts-correct.d.ts +3 -1
  77. package/dist/src/unstable/lint/catalog/workspace/skills-artifacts-correct.d.ts.map +1 -1
  78. package/dist/src/unstable/lint/catalog/workspace/skills-artifacts-correct.js +142 -55
  79. package/dist/src/unstable/lint/catalog/workspace/skills-artifacts-correct.js.map +1 -1
  80. package/dist/src/unstable/lint/catalog/workspace/skills-declarations-valid.d.ts +3 -2
  81. package/dist/src/unstable/lint/catalog/workspace/skills-declarations-valid.d.ts.map +1 -1
  82. package/dist/src/unstable/lint/catalog/workspace/skills-declarations-valid.js +13 -56
  83. package/dist/src/unstable/lint/catalog/workspace/skills-declarations-valid.js.map +1 -1
  84. package/dist/src/unstable/lint/catalog/workspace/skills-integrity-valid.d.ts +3 -2
  85. package/dist/src/unstable/lint/catalog/workspace/skills-integrity-valid.d.ts.map +1 -1
  86. package/dist/src/unstable/lint/catalog/workspace/skills-integrity-valid.js +71 -54
  87. package/dist/src/unstable/lint/catalog/workspace/skills-integrity-valid.js.map +1 -1
  88. package/dist/src/unstable/lint/catalog/workspace/skills-lockfile-aligned.d.ts.map +1 -1
  89. package/dist/src/unstable/lint/catalog/workspace/skills-lockfile-aligned.js +76 -150
  90. package/dist/src/unstable/lint/catalog/workspace/skills-lockfile-aligned.js.map +1 -1
  91. package/dist/src/unstable/lint/catalog/workspace/skills-managed.d.ts +15 -0
  92. package/dist/src/unstable/lint/catalog/workspace/skills-managed.d.ts.map +1 -0
  93. package/dist/src/unstable/lint/catalog/workspace/skills-managed.js +102 -0
  94. package/dist/src/unstable/lint/catalog/workspace/skills-managed.js.map +1 -0
  95. package/dist/src/unstable/lint/catalog/workspace-accessor/platform.d.ts.map +1 -1
  96. package/dist/src/unstable/lint/catalog/workspace-accessor/platform.js +2 -1
  97. package/dist/src/unstable/lint/catalog/workspace-accessor/platform.js.map +1 -1
  98. package/dist/src/unstable/lint/catalog/workspace.d.ts +9 -5
  99. package/dist/src/unstable/lint/catalog/workspace.d.ts.map +1 -1
  100. package/dist/src/unstable/lint/catalog/workspace.js +20 -11
  101. package/dist/src/unstable/lint/catalog/workspace.js.map +1 -1
  102. package/dist/src/unstable/lint/cli.d.ts +45 -27
  103. package/dist/src/unstable/lint/cli.d.ts.map +1 -1
  104. package/dist/src/unstable/lint/cli.js +819 -59
  105. package/dist/src/unstable/lint/cli.js.map +1 -1
  106. package/dist/src/unstable/lint/index.d.ts +1 -1
  107. package/dist/src/unstable/lint/index.d.ts.map +1 -1
  108. package/dist/src/unstable/lint/index.js +1 -1
  109. package/dist/src/unstable/lint/index.js.map +1 -1
  110. package/dist/src/unstable/lint/issues-to-findings.d.ts +5 -5
  111. package/dist/src/unstable/lint/issues-to-findings.js +78 -15
  112. package/dist/src/unstable/lint/issues-to-findings.js.map +1 -1
  113. package/dist/src/unstable/lint/rule.d.ts +0 -8
  114. package/dist/src/unstable/lint/rule.d.ts.map +1 -1
  115. package/dist/src/unstable/skills/operations/install.d.ts.map +1 -1
  116. package/dist/src/unstable/skills/operations/install.js +2 -0
  117. package/dist/src/unstable/skills/operations/install.js.map +1 -1
  118. package/dist/src/unstable/workspace/classifier-records.d.ts.map +1 -1
  119. package/dist/src/unstable/workspace/classifier-records.js +1 -0
  120. package/dist/src/unstable/workspace/classifier-records.js.map +1 -1
  121. package/dist/src/unstable/workspace/classifier.d.ts +13 -2
  122. package/dist/src/unstable/workspace/classifier.d.ts.map +1 -1
  123. package/dist/src/unstable/workspace/classifier.js +14 -2
  124. package/dist/src/unstable/workspace/classifier.js.map +1 -1
  125. package/dist/src/unstable/workspace/service.d.ts.map +1 -1
  126. package/dist/src/unstable/workspace/service.js +29 -8
  127. package/dist/src/unstable/workspace/service.js.map +1 -1
  128. package/dist/src/unstable/workspace/taxonomy-types.d.ts +1 -0
  129. package/dist/src/unstable/workspace/taxonomy-types.d.ts.map +1 -1
  130. package/package.json +3 -3
  131. package/site-content/INSTALL.md +4 -4
  132. package/dist/src/unstable/lint/catalog/workspace/skills-artifacts-clean.d.ts +0 -30
  133. package/dist/src/unstable/lint/catalog/workspace/skills-artifacts-clean.d.ts.map +0 -1
  134. package/dist/src/unstable/lint/catalog/workspace/skills-artifacts-clean.js +0 -232
  135. package/dist/src/unstable/lint/catalog/workspace/skills-artifacts-clean.js.map +0 -1
@@ -16,84 +16,47 @@
16
16
  import * as Effect from "effect/Effect";
17
17
  import * as Option from "effect/Option";
18
18
  import * as Result from "effect/Result";
19
- import * as Schema from "effect/Schema";
20
- import { SettingsSchema } from "../../../settings/schema.js";
21
- import { parseRegistrySource } from "./helpers/registry-source.js";
19
+ import { decodeSettings } from "./helpers/decode.js";
22
20
  import { EMPTY_ADVISORY_FINDINGS } from "./helpers/empty.js";
21
+ import { categorizeEntry } from "./helpers/source-categorize.js";
23
22
  const RULE_ID = "workspace/packs-declarations-valid";
24
23
  const SETTINGS_REL = ".axm/settings.json";
25
- const BARE_NAME_RE = /^[a-z0-9][a-z0-9-]*(?:@[^\s/:]+)?$/i;
26
- const NON_REGISTRY_MARKERS = [
27
- /^\.\//,
28
- /^\.\.\//,
29
- /^\//,
30
- /^file:\/\//,
31
- /:\/\//,
32
- /^[a-z][a-z0-9+.-]*:/i,
33
- ];
34
- const isClearlyNonRegistrySource = (source) => NON_REGISTRY_MARKERS.some((pattern) => pattern.test(source));
35
- const decodeSettings = (input) => {
36
- const result = Schema.decodeUnknownResult(SettingsSchema)(input, {
37
- onExcessProperty: "ignore",
38
- errors: "all",
39
- });
40
- return Result.isSuccess(result) ? Option.some(result.success) : Option.none();
41
- };
42
- const categorizeEntry = (name, source) => {
43
- const parsed = parseRegistrySource(source);
44
- if (parsed !== undefined) {
45
- return {
46
- name,
47
- source,
48
- kind: "registry",
49
- registryFqn: `${parsed.owner}/${parsed.type}/${parsed.name}`,
50
- };
51
- }
52
- if (isClearlyNonRegistrySource(source)) {
53
- // Packs must use registry sources per the extensions-installed doctor
54
- // rule; an unqualified non-registry source surfaces as an error.
55
- return { name, source, kind: "non-registry" };
56
- }
57
- if (BARE_NAME_RE.test(source)) {
58
- return { name, source, kind: "bare" };
59
- }
60
- return { name, source, kind: "registry-no-owner" };
61
- };
62
24
  const bareNameFinding = (entry) => ({
63
25
  kind: "advisory",
64
26
  ruleId: RULE_ID,
65
27
  severity: "error",
66
- message: `Pack '${entry.name}' has a bare-name source '${entry.source}'.`,
67
- suggestions: [`Rewrite the source as @owner/packs/${entry.name}.`],
28
+ message: `Pack '${entry.name}' uses bare source '${entry.source}', so axm cannot tell which registry pack you mean. ` +
29
+ "Run `axm packs install @owner/packs/<name>` with the owner-qualified source you intend.",
68
30
  location: { file: SETTINGS_REL },
69
31
  });
70
32
  const nonRegistryFinding = (entry) => ({
71
33
  kind: "advisory",
72
34
  ruleId: RULE_ID,
73
35
  severity: "error",
74
- message: `Pack '${entry.name}' must use a registry source; got '${entry.source}'.`,
75
- suggestions: [`Rewrite the source as @owner/packs/${entry.name} pointing to a known registry.`],
36
+ message: `Pack '${entry.name}' source '${entry.source}' is not a registry pack reference. ` +
37
+ "Run `axm packs install @owner/packs/<name>` with the owner-qualified source you intend.",
76
38
  location: { file: SETTINGS_REL },
77
39
  });
78
40
  const missingOwnerFinding = (entry) => ({
79
41
  kind: "advisory",
80
42
  ruleId: RULE_ID,
81
43
  severity: "error",
82
- message: `Pack '${entry.name}' has a registry-shaped source '${entry.source}' missing the @owner prefix.`,
83
- suggestions: [`Rewrite the source as @owner/packs/${entry.name}.`],
44
+ message: `Pack '${entry.name}' source '${entry.source}' looks like a registry pack reference but is missing the \`@owner\` prefix. ` +
45
+ "Run `axm packs install @owner/packs/<name>` with the owner-qualified source you intend.",
84
46
  location: { file: SETTINGS_REL },
85
47
  });
86
48
  const duplicateFinding = (entry, duplicates) => ({
87
49
  kind: "advisory",
88
50
  ruleId: RULE_ID,
89
51
  severity: "error",
90
- message: `Pack '${entry.name}' resolves to a registry FQN declared more than once: ${duplicates.join(", ")}.`,
91
- suggestions: [`Remove duplicate entries and keep one per FQN.`],
52
+ message: `Pack '${entry.name}' points to the same registry pack as these entries: ${duplicates.join(", ")}. ` +
53
+ "Run `axm packs uninstall <name>` for each duplicate declaration you do not want to keep. " +
54
+ "If needed, run `axm packs install <source>` for the declaration you do want to keep.",
92
55
  location: { file: SETTINGS_REL },
93
56
  });
94
57
  export const packsDeclarationsValidRule = {
95
58
  id: RULE_ID,
96
- description: "Declared packs name a resolvable, owner-qualified, unique source.",
59
+ description: "Declared packs use unique, resolvable registry sources.",
97
60
  kind: "advisory",
98
61
  severity: "error",
99
62
  check: (context) => Effect.gen(function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"packs-declarations-valid.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/packs-declarations-valid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packs-declarations-valid.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/packs-declarations-valid.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"packs-dependencies-resolved.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/packs-dependencies-resolved.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,eAAe,CAAC;AA2FnE,eAAO,MAAM,6BAA6B,EAAE,YAAY,CAAC,oBAAoB,CAkC5E,CAAC"}
1
+ {"version":3,"file":"packs-dependencies-resolved.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/packs-dependencies-resolved.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,eAAe,CAAC;AAiGnE,eAAO,MAAM,6BAA6B,EAAE,YAAY,CAAC,oBAAoB,CAyC5E,CAAC"}
@@ -14,18 +14,11 @@
14
14
  import * as Effect from "effect/Effect";
15
15
  import * as Option from "effect/Option";
16
16
  import * as Result from "effect/Result";
17
- import * as Schema from "effect/Schema";
18
- import { LockfileSchema, } from "../../../lockfile/schema.js";
17
+ import {} from "../../../lockfile/schema.js";
18
+ import { decodeLockfile } from "./helpers/decode.js";
19
19
  import { EMPTY_ADVISORY_FINDINGS } from "./helpers/empty.js";
20
20
  const RULE_ID = "workspace/packs-dependencies-resolved";
21
21
  const LOCKFILE_REL = ".axm/axm-lock.yaml";
22
- const decodeLockfile = (input) => {
23
- const result = Schema.decodeUnknownResult(LockfileSchema)(input, {
24
- onExcessProperty: "ignore",
25
- errors: "all",
26
- });
27
- return Result.isSuccess(result) ? Option.some(result.success) : Option.none();
28
- };
29
22
  const isRecord = (entry) => typeof entry === "object" && entry !== null;
30
23
  const isRegistryFragment = (entry) => {
31
24
  if (!isRecord(entry)) {
@@ -53,15 +46,28 @@ const buildInstalledFqnIndex = (lockfile) => {
53
46
  absorb("mcp-servers", lockfile.mcpServers);
54
47
  return set;
55
48
  };
56
- const missingDependencyFinding = (packName, dependencyFqn, dependencyType) => ({
49
+ const singularDependencyType = (typeSegment) => {
50
+ switch (typeSegment) {
51
+ case "skills":
52
+ return "skill";
53
+ case "commands":
54
+ return "command";
55
+ case "subagents":
56
+ return "subagent";
57
+ case "mcp-servers":
58
+ return "MCP server";
59
+ default:
60
+ return typeSegment;
61
+ }
62
+ };
63
+ const packInstallSpecifier = (entry, packName) => entry.type === "registry" ? `${entry.owner}/packs/${entry.name}` : packName;
64
+ const missingDependencyFinding = (packName, packSpecifier, dependencyFqn, dependencyType) => ({
57
65
  kind: "advisory",
58
66
  ruleId: RULE_ID,
59
67
  severity: "error",
60
- message: `Pack '${packName}' declares ${dependencyType} dependency '${dependencyFqn}' which is not installed.`,
61
- suggestions: [
62
- `Install the missing ${dependencyType} '${dependencyFqn}'.`,
63
- `Remove the pack declaration that introduces '${dependencyFqn}'.`,
64
- ],
68
+ message: `Pack '${packName}' requires ${singularDependencyType(dependencyType)} '${dependencyFqn}', but that ${singularDependencyType(dependencyType)} is not installed. ` +
69
+ `To restore it, run \`axm packs install ${packSpecifier}\`. ` +
70
+ `If you no longer need '${packName}', run \`axm packs uninstall ${packName}\`.`,
65
71
  location: { file: LOCKFILE_REL },
66
72
  });
67
73
  const collectResolved = (entry) => [
@@ -72,7 +78,7 @@ const collectResolved = (entry) => [
72
78
  ];
73
79
  export const packsDependenciesResolvedRule = {
74
80
  id: RULE_ID,
75
- description: "Every pack-declared dependency FQN is installed.",
81
+ description: "Installed packs keep their declared dependencies installed.",
76
82
  kind: "advisory",
77
83
  severity: "error",
78
84
  check: (context) => Effect.gen(function* () {
@@ -97,7 +103,7 @@ export const packsDependenciesResolvedRule = {
97
103
  for (const [packName, packEntry] of Object.entries(packLock)) {
98
104
  for (const { fqn, typeSegment } of collectResolved(packEntry)) {
99
105
  if (!installed.has(fqn)) {
100
- findings.push(missingDependencyFinding(packName, fqn, typeSegment));
106
+ findings.push(missingDependencyFinding(packName, packInstallSpecifier(packEntry, packName), fqn, typeSegment));
101
107
  }
102
108
  }
103
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"packs-dependencies-resolved.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/packs-dependencies-resolved.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packs-dependencies-resolved.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/packs-dependencies-resolved.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAA8C,MAAM,6BAA6B,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,OAAO,GAAG,uCAAuC,CAAC;AACxD,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAY1C,MAAM,QAAQ,GAAG,CAAC,KAAc,EAA8C,EAAE,CAC9E,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AAE9C,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAkC,EAAE;IAC5E,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CACL,KAAK,CAAC,MAAM,CAAC,KAAK,UAAU;QAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,QAAQ;QAClC,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ,CAClC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,QAAkB,EAAuB,EAAE;IACzE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,MAAM,MAAM,GAAG,CACb,WAAmB,EACnB,GAAkD,EAC5C,EAAE;QACR,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,IAAI,WAAW,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3C,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,WAAmB,EAAU,EAAE;IAC7D,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,QAAQ;YACX,OAAO,OAAO,CAAC;QACjB,KAAK,UAAU;YACb,OAAO,SAAS,CAAC;QACnB,KAAK,WAAW;YACd,OAAO,UAAU,CAAC;QACpB,KAAK,aAAa;YAChB,OAAO,YAAY,CAAC;QACtB;YACE,OAAO,WAAW,CAAC;IACvB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,KAA6B,EAAE,QAAgB,EAAU,EAAE,CACvF,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,UAAU,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AAE9E,MAAM,wBAAwB,GAAG,CAC/B,QAAgB,EAChB,aAAqB,EACrB,aAAqB,EACrB,cAAsB,EACL,EAAE,CAAC,CAAC;IACrB,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,OAAO;IACjB,OAAO,EACL,SAAS,QAAQ,cAAc,sBAAsB,CAAC,cAAc,CAAC,KAAK,aAAa,eAAe,sBAAsB,CAAC,cAAc,CAAC,qBAAqB;QACjK,0CAA0C,aAAa,MAAM;QAC7D,0BAA0B,QAAQ,gCAAgC,QAAQ,KAAK;IACjF,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,CACtB,KAA6B,EAC0C,EAAE,CAAC;IAC1E,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnF,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;IACvF,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;IACzF,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;CAC7F,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAuC;IAC/E,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,6DAA6D;IAC1E,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CACjB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;YACrC,OAAO,uBAAuB,CAAC;QACjC,CAAC;QACD,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC;QAC1C,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,OAAO,uBAAuB,CAAC;QACjC,CAAC;QACD,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,uBAAuB,CAAC;QACjC,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO,uBAAuB,CAAC;QACjC,CAAC;QACD,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7D,KAAK,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxB,QAAQ,CAAC,IAAI,CACX,wBAAwB,CACtB,QAAQ,EACR,oBAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC,EACzC,GAAG,EACH,WAAW,CACZ,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;CACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"packs-members-retained.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/packs-members-retained.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,eAAe,CAAC;AAkInE,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC,oBAAoB,CA0CvE,CAAC"}
1
+ {"version":3,"file":"packs-members-retained.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/packs-members-retained.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,eAAe,CAAC;AA6HnE,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC,oBAAoB,CA0CvE,CAAC"}
@@ -19,26 +19,13 @@
19
19
  import * as Effect from "effect/Effect";
20
20
  import * as Option from "effect/Option";
21
21
  import * as Result from "effect/Result";
22
- import * as Schema from "effect/Schema";
23
- import { LockfileSchema, } from "../../../lockfile/schema.js";
24
- import { SettingsSchema } from "../../../settings/schema.js";
22
+ import {} from "../../../lockfile/schema.js";
23
+ import {} from "../../../settings/schema.js";
24
+ import { decodeLockfile, decodeSettings } from "./helpers/decode.js";
25
25
  import { EMPTY_ADVISORY_FINDINGS } from "./helpers/empty.js";
26
26
  const RULE_ID = "workspace/packs-members-retained";
27
27
  const LOCKFILE_REL = ".axm/axm-lock.yaml";
28
- const decodeSettings = (input) => {
29
- const result = Schema.decodeUnknownResult(SettingsSchema)(input, {
30
- onExcessProperty: "ignore",
31
- errors: "all",
32
- });
33
- return Result.isSuccess(result) ? Option.some(result.success) : Option.none();
34
- };
35
- const decodeLockfile = (input) => {
36
- const result = Schema.decodeUnknownResult(LockfileSchema)(input, {
37
- onExcessProperty: "ignore",
38
- errors: "all",
39
- });
40
- return Result.isSuccess(result) ? Option.some(result.success) : Option.none();
41
- };
28
+ const SETTINGS_REL = ".axm/settings.json";
42
29
  const entryFqn = (entry, name, typeSegment) => {
43
30
  if (entry.type !== "registry") {
44
31
  // Non-registry lock entries don't carry an owner-qualified FQN. We
@@ -53,6 +40,9 @@ const entryFqn = (entry, name, typeSegment) => {
53
40
  const buildPackRetainedFqns = (lockfile) => {
54
41
  const declared = new Set();
55
42
  const packs = lockfile.packs ?? {};
43
+ // Kept separate from the skill-specific retained helper: this rule needs
44
+ // every pack lock entry and all four resolved member maps, not just
45
+ // declared-pack `resolvedSkills`.
56
46
  for (const entry of Object.values(packs)) {
57
47
  for (const fqn of Object.keys(entry.resolvedSkills)) {
58
48
  declared.add(fqn);
@@ -69,17 +59,22 @@ const buildPackRetainedFqns = (lockfile) => {
69
59
  }
70
60
  return declared;
71
61
  };
72
- const droppedFinding = (memberType, name, fqn) => ({
73
- kind: "advisory",
74
- ruleId: RULE_ID,
75
- severity: "warning",
76
- message: `${memberType} '${name}'${fqn === undefined ? "" : ` (FQN ${fqn})`} is retained by a pack but no installed pack declares it.`,
77
- suggestions: [
78
- `Declare '${name}' directly in settings.${memberType === "mcp-server" ? "mcpServers" : `${memberType}s`}.`,
79
- `Uninstall '${name}' if the owning pack is no longer installed.`,
80
- ],
81
- location: { file: LOCKFILE_REL },
82
- });
62
+ const droppedFinding = (memberType, name, fqn) => {
63
+ const settingsSurface = memberType === "mcp-server" ? "settings.mcpServers" : `settings.${memberType}s`;
64
+ const installCommand = fqn === undefined ? undefined : `axm install ${fqn}`;
65
+ const uninstallCommand = fqn === undefined ? undefined : `axm uninstall ${fqn}`;
66
+ return {
67
+ kind: "advisory",
68
+ ruleId: RULE_ID,
69
+ severity: "warning",
70
+ message: `${memberType} '${name}'${fqn === undefined ? "" : ` (resolved as ${fqn})`} is still installed because of a pack, but no installed pack now declares it. ` +
71
+ (installCommand === undefined
72
+ ? `To keep it, add '${name}' under \`${settingsSurface}\` in \`${SETTINGS_REL}\` with its intended source, then run \`axm install\`. ` +
73
+ "If you do not need it, run `axm install` to regenerate the managed state from the remaining declarations."
74
+ : `To keep it, run \`${installCommand}\`. If you do not need it, run \`${uninstallCommand}\`.`),
75
+ location: { file: LOCKFILE_REL },
76
+ };
77
+ };
83
78
  const collectMembers = (lockfile) => {
84
79
  const result = [];
85
80
  for (const [name, entry] of Object.entries(lockfile.skills)) {
@@ -122,7 +117,7 @@ const typeSegment = (memberType) => {
122
117
  };
123
118
  export const packsMembersRetainedRule = {
124
119
  id: RULE_ID,
125
- description: "Every member lock entry with retainedByPack is declared by an installed pack.",
120
+ description: "Pack-retained extensions are still required by an installed pack.",
126
121
  kind: "advisory",
127
122
  severity: "warning",
128
123
  check: (context) => Effect.gen(function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"packs-members-retained.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/packs-members-retained.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packs-members-retained.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/packs-members-retained.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings-schema-valid.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/settings-schema-valid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAQlD,eAAO,MAAM,uBAAuB,EAAE,YAAY,CAAC,oBAAoB,CA2CtE,CAAC"}
1
+ {"version":3,"file":"settings-schema-valid.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/settings-schema-valid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAQlD,eAAO,MAAM,uBAAuB,EAAE,YAAY,CAAC,oBAAoB,CAyCtE,CAAC"}
@@ -31,7 +31,7 @@ const RULE_ID = "workspace/settings-schema-valid";
31
31
  const SETTINGS_REL = ".axm/settings.json";
32
32
  export const settingsSchemaValidRule = {
33
33
  id: RULE_ID,
34
- description: ".axm/settings.json parses and conforms to SettingsSchema.",
34
+ description: "Workspace settings are structurally valid.",
35
35
  kind: "advisory",
36
36
  severity: "error",
37
37
  check: (context) => Effect.gen(function* () {
@@ -49,11 +49,8 @@ export const settingsSchemaValidRule = {
49
49
  kind: "advisory",
50
50
  ruleId: RULE_ID,
51
51
  severity: "error",
52
- message: `Could not read settings.json: ${error.message}`,
53
- suggestions: [
54
- "Fix the JSON syntax error reported at the location above.",
55
- "Verify .axm/settings.json is valid JSON (quoted keys, no trailing commas).",
56
- ],
52
+ message: `The workspace settings file is not valid JSON. Detail: ${error.message}. ` +
53
+ "Edit `.axm/settings.json` to fix the JSON syntax.",
57
54
  location: { file: SETTINGS_REL },
58
55
  },
59
56
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"settings-schema-valid.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/settings-schema-valid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,OAAO,GAAG,iCAAiC,CAAC;AAClD,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAE1C,MAAM,CAAC,MAAM,uBAAuB,GAAuC;IACzE,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,2DAA2D;IACxE,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CACjB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,wEAAwE;QACxE,8DAA8D;QAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,uBAAuB,CAAC;QACjC,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;YAC3B,OAAO;gBACL;oBACE,IAAI,EAAE,UAAmB;oBACzB,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,OAAgB;oBAC1B,OAAO,EAAE,iCAAiC,KAAK,CAAC,OAAO,EAAE;oBACzD,WAAW,EAAE;wBACX,2DAA2D;wBAC3D,4EAA4E;qBAC7E;oBACD,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;iBACjC;aACF,CAAC;QACJ,CAAC;QAED,oEAAoE;QACpE,iDAAiD;QACjD,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,oBAAoB,CACjD,OAAO,EACP,OAAO,EACP,YAAY,EACZ,cAAc,EACd,IAAI,CAAC,OAAO,CACb,CAAC;QACF,OAAO,eAAe,CAAC;IACzB,CAAC,CAAC;CACL,CAAC"}
1
+ {"version":3,"file":"settings-schema-valid.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/settings-schema-valid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,OAAO,GAAG,iCAAiC,CAAC;AAClD,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAE1C,MAAM,CAAC,MAAM,uBAAuB,GAAuC;IACzE,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,4CAA4C;IACzD,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CACjB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,wEAAwE;QACxE,8DAA8D;QAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,uBAAuB,CAAC;QACjC,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;YAC3B,OAAO;gBACL;oBACE,IAAI,EAAE,UAAmB;oBACzB,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,OAAgB;oBAC1B,OAAO,EACL,0DAA0D,KAAK,CAAC,OAAO,IAAI;wBAC3E,mDAAmD;oBACrD,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;iBACjC;aACF,CAAC;QACJ,CAAC;QAED,oEAAoE;QACpE,iDAAiD;QACjD,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,oBAAoB,CACjD,OAAO,EACP,OAAO,EACP,YAAY,EACZ,cAAc,EACd,IAAI,CAAC,OAAO,CACb,CAAC;QACF,OAAO,eAAe,CAAC;IACzB,CAAC,CAAC;CACL,CAAC"}
@@ -15,7 +15,9 @@
15
15
  *
16
16
  * One finding per affected skill (per-entity cascade); the first arm that
17
17
  * fires for a skill emits its finding and the other arms for the same skill
18
- * do not.
18
+ * do not. Configured skills keep the existing autofix arms; pack-provided
19
+ * implicit skills emit advisory findings because the repair is a pack-level
20
+ * reinstall.
19
21
  *
20
22
  * @experimental This API is unstable and may change without notice.
21
23
  * @packageDocumentation
@@ -1 +1 @@
1
- {"version":3,"file":"skills-artifacts-correct.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/skills-artifacts-correct.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAsB,cAAc,EAAe,MAAM,eAAe,CAAC;AAsDrF,eAAO,MAAM,0BAA0B,EAAE,cAAc,CAAC,oBAAoB,CA4E3E,CAAC"}
1
+ {"version":3,"file":"skills-artifacts-correct.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/skills-artifacts-correct.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAKH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAGV,cAAc,EAEf,MAAM,eAAe,CAAC;AAkJvB,eAAO,MAAM,0BAA0B,EAAE,cAAc,CAAC,oBAAoB,CAiI3E,CAAC"}