@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
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-present.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/skill/manifest-present.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,MAAM,OAAO,GAAG,wBAAwB,CAAC;AACzC,MAAM,UAAU,GAAG,YAAY,CAAC;AAEhC,MAAM,CAAC,MAAM,mBAAmB,GAAmC;IACjE,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,qDAAqD;IAClE,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE;QACjB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,MAAM,CAAC,GAAG,CACf,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAChC,CAAC,OAAO,EAAkC,EAAE;YAC1C,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO;gBACL;oBACE,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,OAAO;oBACjB,OAAO,EACL,gFAAgF;oBAClF,WAAW,EAAE;wBACX,UAAU,UAAU,kEAAkE;qBACvF;oBACD,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;iBAC/B;aACF,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"manifest-present.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/skill/manifest-present.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,MAAM,OAAO,GAAG,wBAAwB,CAAC;AACzC,MAAM,UAAU,GAAG,YAAY,CAAC;AAEhC,MAAM,CAAC,MAAM,mBAAmB,GAAmC;IACjE,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,mDAAmD;IAChE,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE;QACjB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,MAAM,CAAC,GAAG,CACf,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAChC,CAAC,OAAO,EAAkC,EAAE;YAC1C,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO;gBACL;oBACE,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,OAAO;oBACjB,OAAO,EACL,wIAAwI;oBAC1I,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;iBAC/B;aACF,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -22,7 +22,7 @@ const RULE_ID = "skill/manifest-schema-valid";
22
22
  const SKILL_JSON = "skill.json";
23
23
  export const manifestSchemaValidRule = {
24
24
  id: RULE_ID,
25
- description: "skill.json conforms to SkillManifestSchema.",
25
+ description: "skill.json defines a valid skill manifest.",
26
26
  kind: "advisory",
27
27
  severity: "error",
28
28
  check: (context) => {
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-schema-valid.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/skill/manifest-schema-valid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,OAAO,GAAG,6BAA6B,CAAC;AAC9C,MAAM,UAAU,GAAG,YAAY,CAAC;AAEhC,MAAM,CAAC,MAAM,uBAAuB,GAAmC;IACrE,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,6CAA6C;IAC1D,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE;QACjB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC9B,+DAA+D;YAC/D,wEAAwE;YACxE,OAAO,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC;QAC5F,CAAC;QACD,OAAO,oBAAoB,CACzB,OAAO,EACP,OAAO,EACP,UAAU,EACV,mBAAmB,EACnB,OAAO,CAAC,OAAO,CAAC,SAAS,CAC1B,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"manifest-schema-valid.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/skill/manifest-schema-valid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,OAAO,GAAG,6BAA6B,CAAC;AAC9C,MAAM,UAAU,GAAG,YAAY,CAAC;AAEhC,MAAM,CAAC,MAAM,uBAAuB,GAAmC;IACrE,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,4CAA4C;IACzD,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE;QACjB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC9B,+DAA+D;YAC/D,wEAAwE;YACxE,OAAO,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC;QAC5F,CAAC;QACD,OAAO,oBAAoB,CACzB,OAAO,EACP,OAAO,EACP,UAAU,EACV,mBAAmB,EACnB,OAAO,CAAC,OAAO,CAAC,SAAS,CAC1B,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -16,7 +16,7 @@ const RULE_ID = "skill/skill-md-present";
16
16
  const SKILL_MD = "SKILL.md";
17
17
  export const skillMdPresentRule = {
18
18
  id: RULE_ID,
19
- description: "Skill has a SKILL.md at its root.",
19
+ description: "Skills include a root SKILL.md file.",
20
20
  kind: "advisory",
21
21
  severity: "error",
22
22
  check: (context) => Effect.map(context.files.exists(SKILL_MD), (present) => {
@@ -28,8 +28,7 @@ export const skillMdPresentRule = {
28
28
  kind: "advisory",
29
29
  ruleId: RULE_ID,
30
30
  severity: "error",
31
- message: "SKILL.md is missing; every skill must expose a SKILL.md at its root.",
32
- suggestions: [`Create ${SKILL_MD} with required frontmatter (name, description).`],
31
+ message: "SKILL.md is missing. Create SKILL.md with the required frontmatter (`name`, `description`).",
33
32
  location: { file: SKILL_MD },
34
33
  },
35
34
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"skill-md-present.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/skill/skill-md-present.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,MAAM,OAAO,GAAG,wBAAwB,CAAC;AACzC,MAAM,QAAQ,GAAG,UAAU,CAAC;AAE5B,MAAM,CAAC,MAAM,kBAAkB,GAAmC;IAChE,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,mCAAmC;IAChD,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CACjB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAkC,EAAE;QACrF,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO;YACL;gBACE,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,sEAAsE;gBAC/E,WAAW,EAAE,CAAC,UAAU,QAAQ,iDAAiD,CAAC;gBAClF,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC7B;SACF,CAAC;IACJ,CAAC,CAAC;CACL,CAAC"}
1
+ {"version":3,"file":"skill-md-present.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/skill/skill-md-present.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,MAAM,OAAO,GAAG,wBAAwB,CAAC;AACzC,MAAM,QAAQ,GAAG,UAAU,CAAC;AAE5B,MAAM,CAAC,MAAM,kBAAkB,GAAmC;IAChE,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,sCAAsC;IACnD,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CACjB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAkC,EAAE;QACrF,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO;YACL;gBACE,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,OAAO;gBACjB,OAAO,EACL,6FAA6F;gBAC/F,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC7B;SACF,CAAC;IACJ,CAAC,CAAC;CACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"agents-detected-declared.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/agents-detected-declared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAMH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,eAAe,CAAC;AAenE,eAAO,MAAM,0BAA0B,EAAE,YAAY,CAAC,oBAAoB,CA0CzE,CAAC"}
1
+ {"version":3,"file":"agents-detected-declared.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/agents-detected-declared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,eAAe,CAAC;AAOnE,eAAO,MAAM,0BAA0B,EAAE,YAAY,CAAC,oBAAoB,CAyCzE,CAAC"}
@@ -20,21 +20,13 @@
20
20
  import * as Effect from "effect/Effect";
21
21
  import * as Option from "effect/Option";
22
22
  import * as Result from "effect/Result";
23
- import * as Schema from "effect/Schema";
24
- import { SettingsSchema } from "../../../settings/schema.js";
23
+ import { decodeSettings } from "./helpers/decode.js";
25
24
  import { EMPTY_ADVISORY_FINDINGS } from "./helpers/empty.js";
26
25
  const RULE_ID = "workspace/agents-detected-declared";
27
26
  const SETTINGS_REL = ".axm/settings.json";
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
27
  export const agentsDetectedDeclaredRule = {
36
28
  id: RULE_ID,
37
- description: "Every agent detected on disk appears in settings.agents[].",
29
+ description: "Agents detected on disk are declared in `settings.agents[]`.",
38
30
  kind: "advisory",
39
31
  severity: "warning",
40
32
  check: (context) => Effect.gen(function* () {
@@ -61,11 +53,9 @@ export const agentsDetectedDeclaredRule = {
61
53
  kind: "advisory",
62
54
  ruleId: RULE_ID,
63
55
  severity: "warning",
64
- message: `Detected agent '${detection.id}' is not declared in settings.agents[].`,
65
- suggestions: [
66
- `Add '${detection.id}' to settings.agents[] to manage this agent.`,
67
- `Set workspace/agents-detected-declared to 'off' in lint.rules to silence this rule.`,
68
- ],
56
+ message: `Agent '${detection.id}' is present on disk but missing from \`settings.agents[]\`. ` +
57
+ `To manage it, add '${detection.id}' under \`agents\` in \`.axm/settings.json\`. ` +
58
+ 'If it is intentionally unmanaged, set `lint.rules["workspace/agents-detected-declared"]` to `off` in `.axm/settings.json`.',
69
59
  location: { file: SETTINGS_REL },
70
60
  });
71
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agents-detected-declared.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/agents-detected-declared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,cAAc,EAAiB,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,OAAO,GAAG,oCAAoC,CAAC;AACrD,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAE1C,MAAM,cAAc,GAAG,CAAC,KAAc,EAA2B,EAAE;IACjE,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE;QAC/D,gBAAgB,EAAE,QAAQ;QAC1B,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAChF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAuC;IAC5E,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,4DAA4D;IACzE,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,SAAS;IACnB,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CACjB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,sEAAsE;QACtE,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YACrC,OAAO,uBAAuB,CAAC;QACjC,CAAC;QAED,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,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,uBAAuB,CAAC;QACjC,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAErD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;YACjC,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC/B,SAAS;YACX,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,mBAAmB,SAAS,CAAC,EAAE,yCAAyC;gBACjF,WAAW,EAAE;oBACX,QAAQ,SAAS,CAAC,EAAE,8CAA8C;oBAClE,qFAAqF;iBACtF;gBACD,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;aACjC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;CACL,CAAC"}
1
+ {"version":3,"file":"agents-detected-declared.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/agents-detected-declared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,OAAO,GAAG,oCAAoC,CAAC;AACrD,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAE1C,MAAM,CAAC,MAAM,0BAA0B,GAAuC;IAC5E,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,8DAA8D;IAC3E,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,SAAS;IACnB,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CACjB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,sEAAsE;QACtE,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YACrC,OAAO,uBAAuB,CAAC;QACjC,CAAC;QAED,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,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,uBAAuB,CAAC;QACjC,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAErD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;YACjC,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC/B,SAAS;YACX,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,SAAS;gBACnB,OAAO,EACL,UAAU,SAAS,CAAC,EAAE,+DAA+D;oBACrF,sBAAsB,SAAS,CAAC,EAAE,gDAAgD;oBAClF,4HAA4H;gBAC9H,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;aACjC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;CACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"agents-recognized.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/agents-recognized.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAMH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,eAAe,CAAC;AAenE,eAAO,MAAM,oBAAoB,EAAE,YAAY,CAAC,oBAAoB,CA0CnE,CAAC"}
1
+ {"version":3,"file":"agents-recognized.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/agents-recognized.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,eAAe,CAAC;AAOnE,eAAO,MAAM,oBAAoB,EAAE,YAAY,CAAC,oBAAoB,CAwCnE,CAAC"}
@@ -20,21 +20,13 @@
20
20
  import * as Effect from "effect/Effect";
21
21
  import * as Option from "effect/Option";
22
22
  import * as Result from "effect/Result";
23
- import * as Schema from "effect/Schema";
24
- import { SettingsSchema } from "../../../settings/schema.js";
23
+ import { decodeSettings } from "./helpers/decode.js";
25
24
  import { EMPTY_ADVISORY_FINDINGS } from "./helpers/empty.js";
26
25
  const RULE_ID = "workspace/agents-recognized";
27
26
  const SETTINGS_REL = ".axm/settings.json";
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
27
  export const agentsRecognizedRule = {
36
28
  id: RULE_ID,
37
- description: "Every agent id in settings.agents[] is in the known-agent catalog.",
29
+ description: "Every `settings.agents[]` entry names a supported agent.",
38
30
  kind: "advisory",
39
31
  severity: "error",
40
32
  check: (context) => Effect.gen(function* () {
@@ -62,11 +54,8 @@ export const agentsRecognizedRule = {
62
54
  kind: "advisory",
63
55
  ruleId: RULE_ID,
64
56
  severity: "error",
65
- message: `Agent id '${id}' is not in the known-agent catalog.`,
66
- suggestions: [
67
- `Remove '${id}' from settings.agents[].`,
68
- `Correct the typo if '${id}' was meant to be another agent id.`,
69
- ],
57
+ message: `Agent id '${id}' in \`settings.agents[]\` is not supported. ` +
58
+ `Edit \`.axm/settings.json\` and remove '${id}' from \`agents\`, or replace it there with the intended agent id.`,
70
59
  location: { file: SETTINGS_REL },
71
60
  });
72
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agents-recognized.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/agents-recognized.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,cAAc,EAAiB,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,OAAO,GAAG,6BAA6B,CAAC;AAC9C,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAE1C,MAAM,cAAc,GAAG,CAAC,KAAc,EAA2B,EAAE;IACjE,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE;QAC/D,gBAAgB,EAAE,QAAQ;QAC1B,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAChF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAuC;IACtE,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,oEAAoE;IACjF,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,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,uDAAuD;YACvD,OAAO,uBAAuB,CAAC;QACjC,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;QAC5C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,uBAAuB,CAAC;QACjC,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEjD,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACrB,SAAS;YACX,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,aAAa,EAAE,sCAAsC;gBAC9D,WAAW,EAAE;oBACX,WAAW,EAAE,2BAA2B;oBACxC,wBAAwB,EAAE,qCAAqC;iBAChE;gBACD,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;aACjC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;CACL,CAAC"}
1
+ {"version":3,"file":"agents-recognized.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/agents-recognized.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,OAAO,GAAG,6BAA6B,CAAC;AAC9C,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAE1C,MAAM,CAAC,MAAM,oBAAoB,GAAuC;IACtE,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,0DAA0D;IACvE,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,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,uDAAuD;YACvD,OAAO,uBAAuB,CAAC;QACjC,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;QAC5C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,uBAAuB,CAAC;QACjC,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEjD,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACrB,SAAS;YACX,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,OAAO;gBACjB,OAAO,EACL,aAAa,EAAE,+CAA+C;oBAC9D,2CAA2C,EAAE,oEAAoE;gBACnH,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;aACjC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;CACL,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Shared schema decode helpers for workspace lint rules.
3
+ *
4
+ * @experimental This API is unstable and may change without notice.
5
+ * @packageDocumentation
6
+ */
7
+ import * as Option from "effect/Option";
8
+ import { type Lockfile } from "../../../../lockfile/schema.js";
9
+ import { type Settings } from "../../../../settings/schema.js";
10
+ /** Decode workspace settings, returning `Option.none()` on schema failure. */
11
+ export declare const decodeSettings: (input: unknown) => Option.Option<Settings>;
12
+ /** Decode the workspace lockfile, returning `Option.none()` on schema failure. */
13
+ export declare const decodeLockfile: (input: unknown) => Option.Option<Lockfile>;
14
+ //# sourceMappingURL=decode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../../../../../../src/unstable/lint/catalog/workspace/helpers/decode.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE/E,8EAA8E;AAC9E,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,KAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAMrE,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,KAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAMrE,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Shared schema decode helpers for workspace lint rules.
3
+ *
4
+ * @experimental This API is unstable and may change without notice.
5
+ * @packageDocumentation
6
+ */
7
+ import * as Option from "effect/Option";
8
+ import * as Result from "effect/Result";
9
+ import * as Schema from "effect/Schema";
10
+ import { LockfileSchema } from "../../../../lockfile/schema.js";
11
+ import { SettingsSchema } from "../../../../settings/schema.js";
12
+ /** Decode workspace settings, returning `Option.none()` on schema failure. */
13
+ export const decodeSettings = (input) => {
14
+ const result = Schema.decodeUnknownResult(SettingsSchema)(input, {
15
+ onExcessProperty: "ignore",
16
+ errors: "all",
17
+ });
18
+ return Result.isSuccess(result) ? Option.some(result.success) : Option.none();
19
+ };
20
+ /** Decode the workspace lockfile, returning `Option.none()` on schema failure. */
21
+ export const decodeLockfile = (input) => {
22
+ const result = Schema.decodeUnknownResult(LockfileSchema)(input, {
23
+ onExcessProperty: "ignore",
24
+ errors: "all",
25
+ });
26
+ return Result.isSuccess(result) ? Option.some(result.success) : Option.none();
27
+ };
28
+ //# sourceMappingURL=decode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decode.js","sourceRoot":"","sources":["../../../../../../../src/unstable/lint/catalog/workspace/helpers/decode.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,cAAc,EAAiB,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAiB,MAAM,gCAAgC,CAAC;AAE/E,8EAA8E;AAC9E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAc,EAA2B,EAAE;IACxE,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE;QAC/D,gBAAgB,EAAE,QAAQ;QAC1B,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAChF,CAAC,CAAC;AAEF,kFAAkF;AAClF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAc,EAA2B,EAAE;IACxE,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE;QAC/D,gBAAgB,EAAE,QAAQ;QAC1B,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAChF,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Shared finding helpers for workspace lint rules.
3
+ *
4
+ * @experimental This API is unstable and may change without notice.
5
+ * @packageDocumentation
6
+ */
7
+ import type { FindingBase } from "../../../rule.js";
8
+ /** Structural identity used by rule `fix` lookups. */
9
+ export declare const isSameFinding: (left: FindingBase, right: FindingBase) => boolean;
10
+ //# sourceMappingURL=finding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finding.d.ts","sourceRoot":"","sources":["../../../../../../../src/unstable/lint/catalog/workspace/helpers/finding.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,sDAAsD;AACtD,eAAO,MAAM,aAAa,GAAI,MAAM,WAAW,EAAE,OAAO,WAAW,KAAG,OAGxB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Shared finding helpers for workspace lint rules.
3
+ *
4
+ * @experimental This API is unstable and may change without notice.
5
+ * @packageDocumentation
6
+ */
7
+ /** Structural identity used by rule `fix` lookups. */
8
+ export const isSameFinding = (left, right) => left.ruleId === right.ruleId &&
9
+ left.message === right.message &&
10
+ left.location?.file === right.location?.file;
11
+ //# sourceMappingURL=finding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finding.js","sourceRoot":"","sources":["../../../../../../../src/unstable/lint/catalog/workspace/helpers/finding.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,sDAAsD;AACtD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAiB,EAAE,KAAkB,EAAW,EAAE,CAC9E,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;IAC5B,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;IAC9B,IAAI,CAAC,QAAQ,EAAE,IAAI,KAAK,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Shared helpers for pack-retained skill lock entries.
3
+ *
4
+ * @experimental This API is unstable and may change without notice.
5
+ * @packageDocumentation
6
+ */
7
+ import { type Lockfile, type SkillLockEntry } from "../../../../lockfile/schema.js";
8
+ import { type Settings } from "../../../../settings/schema.js";
9
+ export declare const isRegistrySkillLockEntry: (entry: SkillLockEntry) => entry is Extract<SkillLockEntry, {
10
+ readonly type: "registry";
11
+ }>;
12
+ /** Build the FQN used by pack retention checks for a skill lock entry. */
13
+ export declare const lockEntryFqn: (entry: SkillLockEntry, name: string) => string;
14
+ /**
15
+ * Build the set of skill FQNs retained by installed declared packs.
16
+ *
17
+ * This stays skill-specific because `packs-members-retained` walks all four
18
+ * member maps and all pack lock entries, while the skill rules only need
19
+ * declared-pack `resolvedSkills`.
20
+ */
21
+ export declare const buildRetainedSkillFqns: (settings: Settings, lockfile: Lockfile) => ReadonlySet<string>;
22
+ /** A valid implicit skill is lockfile-only and still retained by a declared pack. */
23
+ export declare const isImplicitRetainedSkill: (name: string, entry: SkillLockEntry, declaredSkills: Readonly<Record<string, unknown>>, retainedFqns: ReadonlySet<string>) => boolean;
24
+ //# sourceMappingURL=retained-skills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retained-skills.d.ts","sourceRoot":"","sources":["../../../../../../../src/unstable/lint/catalog/workspace/helpers/retained-skills.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE/D,eAAO,MAAM,wBAAwB,GACnC,OAAO,cAAc,KACpB,KAAK,IAAI,OAAO,CAAC,cAAc,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAA8B,CAAC;AAEhG,0EAA0E;AAC1E,eAAO,MAAM,YAAY,GAAI,OAAO,cAAc,EAAE,MAAM,MAAM,KAAG,MAKlE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,GACjC,UAAU,QAAQ,EAClB,UAAU,QAAQ,KACjB,WAAW,CAAC,MAAM,CAYpB,CAAC;AAEF,qFAAqF;AACrF,eAAO,MAAM,uBAAuB,GAClC,MAAM,MAAM,EACZ,OAAO,cAAc,EACrB,gBAAgB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACjD,cAAc,WAAW,CAAC,MAAM,CAAC,KAChC,OAG0C,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Shared helpers for pack-retained skill lock entries.
3
+ *
4
+ * @experimental This API is unstable and may change without notice.
5
+ * @packageDocumentation
6
+ */
7
+ import {} from "../../../../lockfile/schema.js";
8
+ import {} from "../../../../settings/schema.js";
9
+ export const isRegistrySkillLockEntry = (entry) => entry.type === "registry";
10
+ /** Build the FQN used by pack retention checks for a skill lock entry. */
11
+ export const lockEntryFqn = (entry, name) => {
12
+ if (isRegistrySkillLockEntry(entry)) {
13
+ return `${entry.owner}/skills/${entry.name}`;
14
+ }
15
+ return `skills/${name}`;
16
+ };
17
+ /**
18
+ * Build the set of skill FQNs retained by installed declared packs.
19
+ *
20
+ * This stays skill-specific because `packs-members-retained` walks all four
21
+ * member maps and all pack lock entries, while the skill rules only need
22
+ * declared-pack `resolvedSkills`.
23
+ */
24
+ export const buildRetainedSkillFqns = (settings, lockfile) => {
25
+ const declaredPackNames = new Set(Object.keys(settings.packs ?? {}));
26
+ const retained = new Set();
27
+ for (const [packName, packEntry] of Object.entries(lockfile.packs ?? {})) {
28
+ if (!declaredPackNames.has(packName)) {
29
+ continue;
30
+ }
31
+ for (const fqn of Object.keys(packEntry.resolvedSkills)) {
32
+ retained.add(fqn);
33
+ }
34
+ }
35
+ return retained;
36
+ };
37
+ /** A valid implicit skill is lockfile-only and still retained by a declared pack. */
38
+ export const isImplicitRetainedSkill = (name, entry, declaredSkills, retainedFqns) => !(name in declaredSkills) &&
39
+ entry.retainedByPack === true &&
40
+ retainedFqns.has(lockEntryFqn(entry, name));
41
+ //# sourceMappingURL=retained-skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retained-skills.js","sourceRoot":"","sources":["../../../../../../../src/unstable/lint/catalog/workspace/helpers/retained-skills.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAsC,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAiB,MAAM,gCAAgC,CAAC;AAE/D,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,KAAqB,EAC4C,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;AAEhG,0EAA0E;AAC1E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAqB,EAAE,IAAY,EAAU,EAAE;IAC1E,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,GAAG,KAAK,CAAC,KAAK,WAAW,KAAK,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;IACD,OAAO,UAAU,IAAI,EAAE,CAAC;AAC1B,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,QAAkB,EAClB,QAAkB,EACG,EAAE;IACvB,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACzE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,SAAS;QACX,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;YACxD,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,qFAAqF;AACrF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,IAAY,EACZ,KAAqB,EACrB,cAAiD,EACjD,YAAiC,EACxB,EAAE,CACX,CAAC,CAAC,IAAI,IAAI,cAAc,CAAC;IACzB,KAAK,CAAC,cAAc,KAAK,IAAI;IAC7B,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Shared source categorization for workspace declaration rules.
3
+ *
4
+ * @experimental This API is unstable and may change without notice.
5
+ * @packageDocumentation
6
+ */
7
+ /** Shared normalized view of a declared source string. */
8
+ export interface Categorized {
9
+ readonly name: string;
10
+ readonly source: string;
11
+ readonly kind: "registry" | "bare" | "non-registry" | "registry-no-owner";
12
+ readonly registryFqn?: string;
13
+ }
14
+ /** Classify a declaration source into registry / bare / non-registry buckets. */
15
+ export declare const categorizeEntry: (name: string, source: string) => Categorized;
16
+ //# sourceMappingURL=source-categorize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-categorize.d.ts","sourceRoot":"","sources":["../../../../../../../src/unstable/lint/catalog/workspace/helpers/source-categorize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiBH,0DAA0D;AAC1D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,cAAc,GAAG,mBAAmB,CAAC;IAC1E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,iFAAiF;AACjF,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,KAAG,WAiB9D,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Shared source categorization for workspace declaration rules.
3
+ *
4
+ * @experimental This API is unstable and may change without notice.
5
+ * @packageDocumentation
6
+ */
7
+ import { parseRegistrySource } from "./registry-source.js";
8
+ const BARE_NAME_RE = /^[a-z0-9][a-z0-9-]*(?:@[^\s/:]+)?$/i;
9
+ const NON_REGISTRY_MARKERS = [
10
+ /^\.\//,
11
+ /^\.\.\//,
12
+ /^\//,
13
+ /^file:\/\//,
14
+ /:\/\//,
15
+ /^[a-z][a-z0-9+.-]*:/i,
16
+ ];
17
+ const isClearlyNonRegistrySource = (source) => NON_REGISTRY_MARKERS.some((pattern) => pattern.test(source));
18
+ /** Classify a declaration source into registry / bare / non-registry buckets. */
19
+ export const categorizeEntry = (name, source) => {
20
+ const parsed = parseRegistrySource(source);
21
+ if (parsed !== undefined) {
22
+ return {
23
+ name,
24
+ source,
25
+ kind: "registry",
26
+ registryFqn: `${parsed.owner}/${parsed.type}/${parsed.name}`,
27
+ };
28
+ }
29
+ if (isClearlyNonRegistrySource(source)) {
30
+ return { name, source, kind: "non-registry" };
31
+ }
32
+ if (BARE_NAME_RE.test(source)) {
33
+ return { name, source, kind: "bare" };
34
+ }
35
+ return { name, source, kind: "registry-no-owner" };
36
+ };
37
+ //# sourceMappingURL=source-categorize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-categorize.js","sourceRoot":"","sources":["../../../../../../../src/unstable/lint/catalog/workspace/helpers/source-categorize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,YAAY,GAAG,qCAAqC,CAAC;AAC3D,MAAM,oBAAoB,GAAG;IAC3B,OAAO;IACP,SAAS;IACT,KAAK;IACL,YAAY;IACZ,OAAO;IACP,sBAAsB;CACvB,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,MAAc,EAAW,EAAE,CAC7D,oBAAoB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAU/D,iFAAiF;AACjF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,MAAc,EAAe,EAAE;IAC3E,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO;YACL,IAAI;YACJ,MAAM;YACN,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE;SAC7D,CAAC;IACJ,CAAC;IACD,IAAI,0BAA0B,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;IAChD,CAAC;IACD,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACxC,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;AACrD,CAAC,CAAC"}
@@ -22,7 +22,7 @@ const AXM_DIR = ".axm";
22
22
  const SETTINGS_REL = ".axm/settings.json";
23
23
  export const initializedRule = {
24
24
  id: RULE_ID,
25
- description: "Workspace is initialized (.axm directory and settings.json present).",
25
+ description: "The workspace includes `.axm/` and `.axm/settings.json`.",
26
26
  kind: "advisory",
27
27
  severity: "error",
28
28
  check: (context) => Effect.gen(function* () {
@@ -33,8 +33,7 @@ export const initializedRule = {
33
33
  kind: "advisory",
34
34
  ruleId: RULE_ID,
35
35
  severity: "error",
36
- message: "Workspace is not initialized; .axm directory is missing.",
37
- suggestions: ["Run `axm init` to scaffold the workspace."],
36
+ message: "The workspace is missing `.axm/`. Run `axm init` to create the managed workspace files.",
38
37
  location: { file: AXM_DIR },
39
38
  });
40
39
  return findings;
@@ -44,8 +43,7 @@ export const initializedRule = {
44
43
  kind: "advisory",
45
44
  ruleId: RULE_ID,
46
45
  severity: "error",
47
- message: "Workspace is missing .axm/settings.json.",
48
- suggestions: ["Run `axm init` to scaffold settings.json."],
46
+ message: "The workspace settings file is missing. Run `axm init` to create `.axm/settings.json`.",
49
47
  location: { file: SETTINGS_REL },
50
48
  });
51
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"initialized.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/initialized.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,MAAM,OAAO,GAAG,uBAAuB,CAAC;AACxC,MAAM,OAAO,GAAG,MAAM,CAAC;AACvB,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAE1C,MAAM,CAAC,MAAM,eAAe,GAAuC;IACjE,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,sEAAsE;IACnF,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CACjB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CACnD,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAC3E,EAAE,WAAW,EAAE,WAAW,EAAE,CAC7B,CAAC;QACF,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,0DAA0D;gBACnE,WAAW,EAAE,CAAC,2CAA2C,CAAC;gBAC1D,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;aAC5B,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,0CAA0C;gBACnD,WAAW,EAAE,CAAC,2CAA2C,CAAC;gBAC1D,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;aACjC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;CACL,CAAC"}
1
+ {"version":3,"file":"initialized.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/initialized.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,MAAM,OAAO,GAAG,uBAAuB,CAAC;AACxC,MAAM,OAAO,GAAG,MAAM,CAAC;AACvB,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAE1C,MAAM,CAAC,MAAM,eAAe,GAAuC;IACjE,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,0DAA0D;IACvE,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CACjB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CACnD,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAC3E,EAAE,WAAW,EAAE,WAAW,EAAE,CAC7B,CAAC;QACF,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,OAAO;gBACjB,OAAO,EACL,yFAAyF;gBAC3F,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;aAC5B,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,OAAO;gBACjB,OAAO,EACL,wFAAwF;gBAC1F,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;aACjC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;CACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"lockfile-valid.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/lockfile-valid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAMH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAGV,cAAc,EAEf,MAAM,eAAe,CAAC;AAwCvB,eAAO,MAAM,iBAAiB,EAAE,cAAc,CAAC,oBAAoB,CAuElE,CAAC"}
1
+ {"version":3,"file":"lockfile-valid.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/lockfile-valid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAKH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAGV,cAAc,EAEf,MAAM,eAAe,CAAC;AA8BvB,eAAO,MAAM,iBAAiB,EAAE,cAAc,CAAC,oBAAoB,CAkElE,CAAC"}
@@ -30,15 +30,15 @@
30
30
  import * as Effect from "effect/Effect";
31
31
  import * as Option from "effect/Option";
32
32
  import * as Result from "effect/Result";
33
- import * as Schema from "effect/Schema";
34
33
  import { LockfileSchema } from "../../../lockfile/schema.js";
35
- import { SettingsSchema } from "../../../settings/schema.js";
34
+ import {} from "../../../settings/schema.js";
36
35
  import { schemaDecodeFindings } from "../shared/schema-rule.js";
36
+ import { decodeSettings } from "./helpers/decode.js";
37
37
  import { collectMissingLockfileInstallOps } from "./helpers/install-ops.js";
38
38
  import { EMPTY_LINT_FINDINGS, EMPTY_OPERATIONS } from "./helpers/empty.js";
39
39
  const RULE_ID = "workspace/lockfile-valid";
40
40
  const LOCKFILE_REL = ".axm/axm-lock.yaml";
41
- const MISSING_LOCKFILE_MISSING_SUGGESTION = "Reinstall every declared extension to rewrite the lockfile.";
41
+ const SETTINGS_REL = ".axm/settings.json";
42
42
  const hasAnyDeclaration = (settings) => {
43
43
  const skills = Object.keys(settings.skills ?? {}).length;
44
44
  const packs = Object.keys(settings.packs ?? {}).length;
@@ -47,24 +47,16 @@ const hasAnyDeclaration = (settings) => {
47
47
  const mcpServers = Object.keys(settings.mcpServers ?? {}).length;
48
48
  return skills + packs + commands + subagents + mcpServers > 0;
49
49
  };
50
- const decodeSettings = (input) => {
51
- const result = Schema.decodeUnknownResult(SettingsSchema)(input, {
52
- onExcessProperty: "ignore",
53
- errors: "all",
54
- });
55
- return Result.isSuccess(result) ? Option.some(result.success) : Option.none();
56
- };
57
50
  const makeMissingFinding = () => ({
58
51
  kind: "autofixable",
59
52
  ruleId: RULE_ID,
60
53
  severity: "error",
61
- message: "Lockfile is missing while settings declare installed extensions; reinstall to regenerate it.",
62
- suggestions: [MISSING_LOCKFILE_MISSING_SUGGESTION],
54
+ message: "The lockfile is missing even though workspace settings declare installed extensions. Run `axm lint --fix` to reinstall the declared extensions and regenerate it.",
63
55
  location: { file: LOCKFILE_REL },
64
56
  });
65
57
  export const lockfileValidRule = {
66
58
  id: RULE_ID,
67
- description: "axm-lock.yaml is present and conforms to LockfileSchema.",
59
+ description: "The lockfile exists when declarations require it and stays structurally valid.",
68
60
  kind: "autofixing",
69
61
  severity: "error",
70
62
  check: (context) => Effect.gen(function* () {
@@ -87,8 +79,8 @@ export const lockfileValidRule = {
87
79
  kind: "advisory",
88
80
  ruleId: RULE_ID,
89
81
  severity: "error",
90
- message: `Could not read axm-lock.yaml: ${lockfileResult.failure.message}`,
91
- suggestions: ["Fix YAML syntax at the referenced location."],
82
+ message: `The lockfile is not valid YAML. Detail: ${lockfileResult.failure.message}. ` +
83
+ `Regenerate \`${LOCKFILE_REL}\` from \`${SETTINGS_REL}\` by reinstalling the declared extensions.`,
92
84
  location: { file: LOCKFILE_REL },
93
85
  };
94
86
  const readFailure = [advisory];
@@ -105,12 +97,7 @@ export const lockfileValidRule = {
105
97
  const decodedFindings = yield* schemaDecodeFindings(RULE_ID, "error", LOCKFILE_REL, LockfileSchema, option.value);
106
98
  return decodedFindings;
107
99
  }),
108
- fix: (context, finding) => Effect.gen(function* () {
109
- // Autofix only applies to the missing arm; the advisory arms above
110
- // never produce `AutofixableFinding`s.
111
- if (finding.suggestions[0] !== MISSING_LOCKFILE_MISSING_SUGGESTION) {
112
- return EMPTY_OPERATIONS;
113
- }
100
+ fix: (context, _finding) => Effect.gen(function* () {
114
101
  const settingsResult = yield* Effect.result(context.workspace.settings);
115
102
  if (Result.isFailure(settingsResult)) {
116
103
  return EMPTY_OPERATIONS;
@@ -1 +1 @@
1
- {"version":3,"file":"lockfile-valid.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/lockfile-valid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lockfile-valid.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/lockfile-valid.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"packs-declarations-valid.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/packs-declarations-valid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,eAAe,CAAC;AA+FnE,eAAO,MAAM,0BAA0B,EAAE,YAAY,CAAC,oBAAoB,CAuDzE,CAAC"}
1
+ {"version":3,"file":"packs-declarations-valid.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/packs-declarations-valid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,eAAe,CAAC;AAoDnE,eAAO,MAAM,0BAA0B,EAAE,YAAY,CAAC,oBAAoB,CAuDzE,CAAC"}