@agentxm/client-core 0.4.3 → 0.4.5

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 (28) hide show
  1. package/dist/src/unstable/lint/catalog/index.d.ts +1 -1
  2. package/dist/src/unstable/lint/catalog/index.d.ts.map +1 -1
  3. package/dist/src/unstable/lint/catalog/index.js +1 -1
  4. package/dist/src/unstable/lint/catalog/index.js.map +1 -1
  5. package/dist/src/unstable/lint/catalog/skill/manifest-present.d.ts +7 -1
  6. package/dist/src/unstable/lint/catalog/skill/manifest-present.d.ts.map +1 -1
  7. package/dist/src/unstable/lint/catalog/skill/manifest-present.js +8 -2
  8. package/dist/src/unstable/lint/catalog/skill/manifest-present.js.map +1 -1
  9. package/dist/src/unstable/lint/catalog/skill-accessor/contexts.d.ts +6 -1
  10. package/dist/src/unstable/lint/catalog/skill-accessor/contexts.d.ts.map +1 -1
  11. package/dist/src/unstable/lint/catalog/skill-accessor/contexts.js +6 -1
  12. package/dist/src/unstable/lint/catalog/skill-accessor/contexts.js.map +1 -1
  13. package/dist/src/unstable/lint/catalog/skill-accessor/vft.d.ts +19 -0
  14. package/dist/src/unstable/lint/catalog/skill-accessor/vft.d.ts.map +1 -1
  15. package/dist/src/unstable/lint/catalog/skill-accessor/vft.js +52 -0
  16. package/dist/src/unstable/lint/catalog/skill-accessor/vft.js.map +1 -1
  17. package/dist/src/unstable/lint/catalog/workspace-accessor/contexts.d.ts.map +1 -1
  18. package/dist/src/unstable/lint/catalog/workspace-accessor/contexts.js +7 -3
  19. package/dist/src/unstable/lint/catalog/workspace-accessor/contexts.js.map +1 -1
  20. package/dist/src/unstable/lint/context.d.ts +17 -0
  21. package/dist/src/unstable/lint/context.d.ts.map +1 -1
  22. package/dist/src/unstable/lint/index.d.ts +1 -1
  23. package/dist/src/unstable/lint/index.d.ts.map +1 -1
  24. package/dist/src/unstable/lint/index.js +1 -1
  25. package/dist/src/unstable/lint/index.js.map +1 -1
  26. package/package.json +2 -2
  27. package/site-content/install.cmd +80 -0
  28. package/site-content/install.md +63 -25
@@ -16,7 +16,7 @@
16
16
  export { skillRules } from "./skill.js";
17
17
  export { packRules } from "./pack.js";
18
18
  export { workspaceRules } from "./workspace.js";
19
- export { makeVftSkillFileAccessor, type VFTNode } from "./skill-accessor/vft.js";
19
+ export { makeVftSkillFileAccessor, makeVftSkillFileAccessorScoped, type VFTNode, } from "./skill-accessor/vft.js";
20
20
  export { makePlatformSkillFileAccessor, type SkillAccessorPlatform, } from "./skill-accessor/platform.js";
21
21
  export { buildSkillRuleContexts, type InstalledSkillInfo, type SkillIndexView, } from "./skill-accessor/contexts.js";
22
22
  export { makeVftPackFileAccessor, type PackVFTNode } from "./pack-accessor/vft.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/unstable/lint/catalog/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,EAAE,wBAAwB,EAAE,KAAK,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EACL,6BAA6B,EAC7B,KAAK,qBAAqB,GAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,sBAAsB,EACtB,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,uBAAuB,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EACL,4BAA4B,EAC5B,KAAK,oBAAoB,GAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,qBAAqB,EACrB,KAAK,iBAAiB,EACtB,KAAK,aAAa,GACnB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,iCAAiC,EACjC,KAAK,iCAAiC,EACtC,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,yBAAyB,EACzB,6BAA6B,EAC7B,+BAA+B,EAC/B,sBAAsB,EACtB,wBAAwB,EACxB,8BAA8B,EAC9B,uBAAuB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,mCAAmC,EACxC,KAAK,iCAAiC,EACtC,KAAK,6BAA6B,EAClC,KAAK,cAAc,GACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,KAAK,yBAAyB,GAC/B,MAAM,oCAAoC,CAAC;AAE5C;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAInD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/unstable/lint/catalog/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,KAAK,OAAO,GACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,6BAA6B,EAC7B,KAAK,qBAAqB,GAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,sBAAsB,EACtB,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,uBAAuB,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EACL,4BAA4B,EAC5B,KAAK,oBAAoB,GAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,qBAAqB,EACrB,KAAK,iBAAiB,EACtB,KAAK,aAAa,GACnB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,iCAAiC,EACjC,KAAK,iCAAiC,EACtC,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,yBAAyB,EACzB,6BAA6B,EAC7B,+BAA+B,EAC/B,sBAAsB,EACtB,wBAAwB,EACxB,8BAA8B,EAC9B,uBAAuB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,mCAAmC,EACxC,KAAK,iCAAiC,EACtC,KAAK,6BAA6B,EAClC,KAAK,cAAc,GACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,KAAK,yBAAyB,GAC/B,MAAM,oCAAoC,CAAC;AAE5C;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAInD,CAAC"}
@@ -20,7 +20,7 @@ export { skillRules } from "./skill.js";
20
20
  export { packRules } from "./pack.js";
21
21
  export { workspaceRules } from "./workspace.js";
22
22
  // Phase 3a accessor + context-builder helpers.
23
- export { makeVftSkillFileAccessor } from "./skill-accessor/vft.js";
23
+ export { makeVftSkillFileAccessor, makeVftSkillFileAccessorScoped, } from "./skill-accessor/vft.js";
24
24
  export { makePlatformSkillFileAccessor, } from "./skill-accessor/platform.js";
25
25
  export { buildSkillRuleContexts, } from "./skill-accessor/contexts.js";
26
26
  // Phase 3b accessor + context-builder helpers.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/unstable/lint/catalog/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,+CAA+C;AAC/C,OAAO,EAAE,wBAAwB,EAAgB,MAAM,yBAAyB,CAAC;AACjF,OAAO,EACL,6BAA6B,GAE9B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,sBAAsB,GAGvB,MAAM,8BAA8B,CAAC;AAEtC,+CAA+C;AAC/C,OAAO,EAAE,uBAAuB,EAAoB,MAAM,wBAAwB,CAAC;AACnF,OAAO,EACL,4BAA4B,GAE7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,qBAAqB,GAGtB,MAAM,6BAA6B,CAAC;AAErC,+CAA+C;AAC/C,OAAO,EACL,iCAAiC,GAIlC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,yBAAyB,EACzB,6BAA6B,EAC7B,+BAA+B,EAC/B,sBAAsB,EACtB,wBAAwB,EACxB,8BAA8B,EAC9B,uBAAuB,GAMxB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,GAE5B,MAAM,oCAAoC,CAAC;AAE5C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA0B;IACtD,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9B,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7B,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CACnC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/unstable/lint/catalog/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,+CAA+C;AAC/C,OAAO,EACL,wBAAwB,EACxB,8BAA8B,GAE/B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,6BAA6B,GAE9B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,sBAAsB,GAGvB,MAAM,8BAA8B,CAAC;AAEtC,+CAA+C;AAC/C,OAAO,EAAE,uBAAuB,EAAoB,MAAM,wBAAwB,CAAC;AACnF,OAAO,EACL,4BAA4B,GAE7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,qBAAqB,GAGtB,MAAM,6BAA6B,CAAC;AAErC,+CAA+C;AAC/C,OAAO,EACL,iCAAiC,GAIlC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,yBAAyB,EACzB,6BAA6B,EAC7B,+BAA+B,EAC/B,sBAAsB,EACtB,wBAAwB,EACxB,8BAA8B,EAC9B,uBAAuB,GAMxB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,GAE5B,MAAM,oCAAoC,CAAC;AAE5C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA0B;IACtD,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9B,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7B,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CACnC,CAAC"}
@@ -1,6 +1,12 @@
1
1
  /**
2
2
  * `skill/manifest-present` — native skills must have a `skill.json` at the
3
- * skill root.
3
+ * extension package root.
4
+ *
5
+ * Reads through `context.packageFiles` (package-root accessor) rather than
6
+ * `context.files` (content-root accessor). For native skills, the package
7
+ * root contains `skill.json` and a `src/` directory holding the skill
8
+ * content; `context.files` is rooted at `src/`, so `skill.json` is only
9
+ * reachable via `packageFiles`.
4
10
  *
5
11
  * Native-only via `check` early-return: when `subject.isNative === false`
6
12
  * (managed-external skills without a declared manifest), the rule produces
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-present.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/skill/manifest-present.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,eAAe,CAAC;AAKnE,eAAO,MAAM,mBAAmB,EAAE,YAAY,CAAC,gBAAgB,CA4B9D,CAAC"}
1
+ {"version":3,"file":"manifest-present.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/skill/manifest-present.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,eAAe,CAAC;AAKnE,eAAO,MAAM,mBAAmB,EAAE,YAAY,CAAC,gBAAgB,CA4B9D,CAAC"}
@@ -1,6 +1,12 @@
1
1
  /**
2
2
  * `skill/manifest-present` — native skills must have a `skill.json` at the
3
- * skill root.
3
+ * extension package root.
4
+ *
5
+ * Reads through `context.packageFiles` (package-root accessor) rather than
6
+ * `context.files` (content-root accessor). For native skills, the package
7
+ * root contains `skill.json` and a `src/` directory holding the skill
8
+ * content; `context.files` is rooted at `src/`, so `skill.json` is only
9
+ * reachable via `packageFiles`.
4
10
  *
5
11
  * Native-only via `check` early-return: when `subject.isNative === false`
6
12
  * (managed-external skills without a declared manifest), the rule produces
@@ -24,7 +30,7 @@ export const manifestPresentRule = {
24
30
  if (!context.subject.isNative) {
25
31
  return Effect.succeed([]);
26
32
  }
27
- return Effect.map(context.files.exists(SKILL_JSON), (present) => {
33
+ return Effect.map(context.packageFiles.exists(SKILL_JSON), (present) => {
28
34
  if (present) {
29
35
  return [];
30
36
  }
@@ -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,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"}
1
+ {"version":3,"file":"manifest-present.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/skill/manifest-present.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;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,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,EACvC,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"}
@@ -13,8 +13,12 @@
13
13
  * once per skill, so rules don't re-read + re-parse).
14
14
  * - `displayRoot` — posix-relative root used by the renderer; the caller
15
15
  * picks per provenance (see the table below).
16
- * - `files` — the pre-bound `SkillFileAccessor`. The caller chooses VFT or
16
+ * - `files` — the pre-bound content-root `SkillFileAccessor` (rooted at the
17
+ * directory containing `SKILL.md`). The caller chooses VFT or
17
18
  * platform-backed.
19
+ * - `packageFiles` — the pre-bound package-root `SkillFileAccessor` (rooted
20
+ * at the directory containing `skill.json` for native skills). For
21
+ * non-native skills, callers MAY alias `files`.
18
22
  *
19
23
  * Provenance → `displayRoot` table:
20
24
  *
@@ -40,6 +44,7 @@ export interface InstalledSkillInfo {
40
44
  readonly skillJson: unknown;
41
45
  readonly displayRoot: string;
42
46
  readonly files: SkillFileAccessor;
47
+ readonly packageFiles: SkillFileAccessor;
43
48
  }
44
49
  /**
45
50
  * Minimal structural shape of the WorkspaceIndex subset `buildSkillRuleContexts`
@@ -1 +1 @@
1
- {"version":3,"file":"contexts.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/skill-accessor/contexts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAM5E;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;CACnC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;CAC7D;AAMD;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,GAAI,OAAO,cAAc,KAAG,aAAa,CAAC,gBAAgB,CAU1F,CAAC"}
1
+ {"version":3,"file":"contexts.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/skill-accessor/contexts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAM5E;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;CAC1C;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;CAC7D;AAMD;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,GAAI,OAAO,cAAc,KAAG,aAAa,CAAC,gBAAgB,CAW1F,CAAC"}
@@ -13,8 +13,12 @@
13
13
  * once per skill, so rules don't re-read + re-parse).
14
14
  * - `displayRoot` — posix-relative root used by the renderer; the caller
15
15
  * picks per provenance (see the table below).
16
- * - `files` — the pre-bound `SkillFileAccessor`. The caller chooses VFT or
16
+ * - `files` — the pre-bound content-root `SkillFileAccessor` (rooted at the
17
+ * directory containing `SKILL.md`). The caller chooses VFT or
17
18
  * platform-backed.
19
+ * - `packageFiles` — the pre-bound package-root `SkillFileAccessor` (rooted
20
+ * at the directory containing `skill.json` for native skills). For
21
+ * non-native skills, callers MAY alias `files`.
18
22
  *
19
23
  * Provenance → `displayRoot` table:
20
24
  *
@@ -45,6 +49,7 @@ export const buildSkillRuleContexts = (index) => index.installedSkills.map((info
45
49
  skillJson: info.skillJson,
46
50
  },
47
51
  files: info.files,
52
+ packageFiles: info.packageFiles,
48
53
  displayRoot: info.displayRoot,
49
54
  }));
50
55
  //# sourceMappingURL=contexts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contexts.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/skill-accessor/contexts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAkCH,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAqB,EAAmC,EAAE,CAC/F,KAAK,CAAC,eAAe,CAAC,GAAG,CACvB,CAAC,IAAI,EAAoB,EAAE,CAAC,CAAC;IAC3B,OAAO,EAAE;QACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B;IACD,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,WAAW,EAAE,IAAI,CAAC,WAAW;CAC9B,CAAC,CACH,CAAC"}
1
+ {"version":3,"file":"contexts.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/skill-accessor/contexts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAmCH,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAqB,EAAmC,EAAE,CAC/F,KAAK,CAAC,eAAe,CAAC,GAAG,CACvB,CAAC,IAAI,EAAoB,EAAE,CAAC,CAAC;IAC3B,OAAO,EAAE;QACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B;IACD,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,YAAY,EAAE,IAAI,CAAC,YAAY;IAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;CAC9B,CAAC,CACH,CAAC"}
@@ -55,4 +55,23 @@ export interface VFTNode {
55
55
  * @experimental This API is unstable and may change without notice.
56
56
  */
57
57
  export declare const makeVftSkillFileAccessor: (tree: VFTNode) => SkillFileAccessor;
58
+ /**
59
+ * Build a VFT-backed `SkillFileAccessor` rooted at a sub-path of the tree.
60
+ *
61
+ * Publish callers use this when the archive layout nests the skill content
62
+ * under a directory (for native managed skills: `src/` holds the content
63
+ * accessor root while the archive root holds the extension package). The
64
+ * `prefix` is a posix path relative to the tree root; every rule-supplied
65
+ * path is resolved as `<prefix>/<path>` before dispatching to the tree.
66
+ *
67
+ * Bounds enforcement matches {@link makeVftSkillFileAccessor} — path traversal
68
+ * checks run on the caller-supplied path before the prefix is applied, so
69
+ * rules still cannot escape above the scoped root.
70
+ *
71
+ * The prefix itself is normalized posix (leading `./` and trailing `/` stripped);
72
+ * an empty or `.` prefix is equivalent to {@link makeVftSkillFileAccessor}.
73
+ *
74
+ * @experimental This API is unstable and may change without notice.
75
+ */
76
+ export declare const makeVftSkillFileAccessorScoped: (tree: VFTNode, prefix: string) => SkillFileAccessor;
58
77
  //# sourceMappingURL=vft.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vft.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/skill-accessor/vft.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,KAAK,EAAmB,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAM3E;;;;;;;;GAQG;AACH,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IACjD;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,UAAU,GAAG,SAAS,CAAC;CACjE;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,GAAI,MAAM,OAAO,KAAG,iBAqBxD,CAAC"}
1
+ {"version":3,"file":"vft.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/skill-accessor/vft.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,KAAK,EAAmB,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAM3E;;;;;;;;GAQG;AACH,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IACjD;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,UAAU,GAAG,SAAS,CAAC;CACjE;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,GAAI,MAAM,OAAO,KAAG,iBAqBxD,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,8BAA8B,GACzC,MAAM,OAAO,EACb,QAAQ,MAAM,KACb,iBA2BF,CAAC"}
@@ -56,6 +56,58 @@ export const makeVftSkillFileAccessor = (tree) => {
56
56
  },
57
57
  };
58
58
  };
59
+ /**
60
+ * Build a VFT-backed `SkillFileAccessor` rooted at a sub-path of the tree.
61
+ *
62
+ * Publish callers use this when the archive layout nests the skill content
63
+ * under a directory (for native managed skills: `src/` holds the content
64
+ * accessor root while the archive root holds the extension package). The
65
+ * `prefix` is a posix path relative to the tree root; every rule-supplied
66
+ * path is resolved as `<prefix>/<path>` before dispatching to the tree.
67
+ *
68
+ * Bounds enforcement matches {@link makeVftSkillFileAccessor} — path traversal
69
+ * checks run on the caller-supplied path before the prefix is applied, so
70
+ * rules still cannot escape above the scoped root.
71
+ *
72
+ * The prefix itself is normalized posix (leading `./` and trailing `/` stripped);
73
+ * an empty or `.` prefix is equivalent to {@link makeVftSkillFileAccessor}.
74
+ *
75
+ * @experimental This API is unstable and may change without notice.
76
+ */
77
+ export const makeVftSkillFileAccessorScoped = (tree, prefix) => {
78
+ const normalizedPrefix = normalizePrefix(prefix);
79
+ if (normalizedPrefix === "") {
80
+ return makeVftSkillFileAccessor(tree);
81
+ }
82
+ const join = (path) => path === "" ? normalizedPrefix : `${normalizedPrefix}/${path}`;
83
+ return {
84
+ exists: (path) => {
85
+ const normalized = normalizeAndCheck(path);
86
+ if (normalized.kind !== "ok") {
87
+ return Effect.succeed(false);
88
+ }
89
+ return Effect.succeed(tree.hasFile(join(normalized.path)));
90
+ },
91
+ readBytes: (path) => {
92
+ const normalized = normalizeAndCheck(path);
93
+ if (normalized.kind === "escape") {
94
+ return failFileAccess(path, "path-escape", `path escapes the accessor root: ${path}`);
95
+ }
96
+ const bytes = tree.getFile(join(normalized.path));
97
+ if (bytes === undefined) {
98
+ return failFileAccess(path, "read-error", `file not found at ${path}`);
99
+ }
100
+ return Effect.succeed(bytes);
101
+ },
102
+ };
103
+ };
104
+ const normalizePrefix = (prefix) => {
105
+ const stripped = prefix.replace(/\\/g, "/").replace(/^\.\//, "").replace(/\/+$/, "");
106
+ if (stripped === "" || stripped === ".") {
107
+ return "";
108
+ }
109
+ return stripped;
110
+ };
59
111
  const normalizeAndCheck = (path) => {
60
112
  if (path === "" || path === "." || path === "./") {
61
113
  return { kind: "ok", path: "" };
@@ -1 +1 @@
1
- {"version":3,"file":"vft.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/skill-accessor/vft.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AA4BxC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,IAAa,EAAqB,EAAE;IAC3E,OAAO;QACL,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACf,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,UAAU,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC7B,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACjC,OAAO,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,mCAAmC,IAAI,EAAE,CAAC,CAAC;YACxF,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,qBAAqB,IAAI,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAQF,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAmB,EAAE;IAC1D,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACjD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAClC,CAAC;IACD,uEAAuE;IACvE,8CAA8C;IAC9C,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAChF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACrB,IAAY,EACZ,MAAiC,EACjC,OAAe,EAC6B,EAAE,CAC9C,MAAM,CAAC,IAAI,CAAC;IACV,IAAI,EAAE,iBAA0B;IAChC,IAAI;IACJ,MAAM;IACN,OAAO;CACR,CAAC,CAAC"}
1
+ {"version":3,"file":"vft.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/skill-accessor/vft.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"contexts.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace-accessor/contexts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contexts.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace-accessor/contexts.ts"],"names":[],"mappings":"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"}
@@ -83,12 +83,14 @@ export const registryPackDisplayRoot = (owner, name) => `.axm/extensions/${owner
83
83
  * @experimental This API is unstable and may change without notice.
84
84
  */
85
85
  export const buildNativeInstalledSkillInfo = (args) => {
86
- const absoluteRoot = args.platform.path.resolve(args.workspaceRoot, `.axm/extensions/${args.owner}/skills/${args.name}/src`);
86
+ const packageRoot = args.platform.path.resolve(args.workspaceRoot, `.axm/extensions/${args.owner}/skills/${args.name}`);
87
+ const contentRoot = args.platform.path.resolve(packageRoot, "src");
87
88
  return {
88
89
  isNative: true,
89
90
  skillJson: args.skillJson,
90
91
  displayRoot: registryNativeSkillDisplayRoot(args.owner, args.name),
91
- files: makePlatformSkillFileAccessor(args.platform, absoluteRoot),
92
+ files: makePlatformSkillFileAccessor(args.platform, contentRoot),
93
+ packageFiles: makePlatformSkillFileAccessor(args.platform, packageRoot),
92
94
  };
93
95
  };
94
96
  /**
@@ -98,11 +100,13 @@ export const buildNativeInstalledSkillInfo = (args) => {
98
100
  */
99
101
  export const buildExternalInstalledSkillInfo = (args) => {
100
102
  const absoluteRoot = args.platform.path.resolve(args.workspaceRoot, `.axm/extensions/external/skills/${args.name}`);
103
+ const accessor = makePlatformSkillFileAccessor(args.platform, absoluteRoot);
101
104
  return {
102
105
  isNative: false,
103
106
  skillJson: undefined,
104
107
  displayRoot: externalSkillDisplayRoot(args.name),
105
- files: makePlatformSkillFileAccessor(args.platform, absoluteRoot),
108
+ files: accessor,
109
+ packageFiles: accessor,
106
110
  };
107
111
  };
108
112
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"contexts.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace-accessor/contexts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contexts.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace-accessor/contexts.ts"],"names":[],"mappings":"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"}
@@ -159,7 +159,24 @@ export interface WorkspaceLintAccessor {
159
159
  */
160
160
  export interface SkillRuleContext<S = SkillContent> {
161
161
  readonly subject: S;
162
+ /**
163
+ * Content-root accessor. Rooted at the directory containing `SKILL.md`.
164
+ * For native (registry-installed) skills this is the `src/` sub-directory
165
+ * of the extension package; for non-native skills it is the skill's own
166
+ * directory. Rules validating skill content (`skill-md-present`,
167
+ * `frontmatter-parseable`, and any future rule evaluating files that
168
+ * render into agent directories) read through this accessor.
169
+ */
162
170
  readonly files: SkillFileAccessor;
171
+ /**
172
+ * Package-root accessor. Rooted at the skill's extension package root —
173
+ * the directory containing `skill.json` for native skills. For non-native
174
+ * skills that have no package/content split, this MAY alias `files`.
175
+ * Rules validating package-shape concerns (`manifest-present` and any
176
+ * future rule inspecting files at or above the content root) read through
177
+ * this accessor.
178
+ */
179
+ readonly packageFiles: SkillFileAccessor;
163
180
  readonly displayRoot: string;
164
181
  }
165
182
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/unstable/lint/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/unstable/lint/context.ts"],"names":[],"mappings":"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"}
@@ -24,5 +24,5 @@ export { issuesToFindings } from "./issues-to-findings.js";
24
24
  export type { LintConfig, LintRuleSeverity, LintRulesMap } from "./config.js";
25
25
  export { LintConfigSchema, LintRuleSeveritySchema, LintRulesMapSchema, platformCanonicalLintConfig, registerLintRuleIds, registeredLintRuleIds, } from "./config.js";
26
26
  export { collectAutofixableEntries, collectRenderedFindings, countFindings, detectPublishGateDrift, evaluateAllCatalogs, renderFindingsText, resolveLintExitCategory, summarizeEvaluations, toLintHumanBlocks, toLintJsonDocument, type FindingCounts, type FixSummary, type GroupEvaluations, type LintHumanBlock, type LintHumanDiagnostic, type LintHumanReporter, type LintExitCategory, type LintJsonDocument, type LintJsonFinding, type LintSummary, type RenderFindingsArgs, type RenderedFinding, } from "./cli.js";
27
- export { allCatalogRuleIds, buildExternalInstalledSkillInfo, buildInstalledPackInfo, buildNativeInstalledSkillInfo, buildPackRuleContexts, buildSkillRuleContexts, buildWorkspaceRuleContext, externalSkillDisplayRoot, isPerExtensionOperationName, makePlatformPackFileAccessor, makePlatformSkillFileAccessor, makePlatformWorkspaceLintAccessor, makeVftPackFileAccessor, makeVftSkillFileAccessor, packRules, PER_EXTENSION_OPERATION_NAMES, registryNativeSkillDisplayRoot, registryPackDisplayRoot, skillRules, workspaceRules, type BuildInstalledPackInfoArgs, type BuildInstalledSkillInfoExternalArgs, type BuildInstalledSkillInfoNativeArgs, type BuildWorkspaceRuleContextArgs, type InstalledPackInfo, type InstalledSkillInfo, type PackAccessorPlatform, type PackIndexView, type PackVFTNode, type PerExtensionOperationName, type PlatformWorkspaceLintAccessorArgs, type SkillAccessorPlatform, type SkillIndexView, type VFTNode, type WorkspaceAccessorPlatform, type WorkspaceIndex, type WorkspaceIndexView, } from "./catalog/index.js";
27
+ export { allCatalogRuleIds, buildExternalInstalledSkillInfo, buildInstalledPackInfo, buildNativeInstalledSkillInfo, buildPackRuleContexts, buildSkillRuleContexts, buildWorkspaceRuleContext, externalSkillDisplayRoot, isPerExtensionOperationName, makePlatformPackFileAccessor, makePlatformSkillFileAccessor, makePlatformWorkspaceLintAccessor, makeVftPackFileAccessor, makeVftSkillFileAccessor, makeVftSkillFileAccessorScoped, packRules, PER_EXTENSION_OPERATION_NAMES, registryNativeSkillDisplayRoot, registryPackDisplayRoot, skillRules, workspaceRules, type BuildInstalledPackInfoArgs, type BuildInstalledSkillInfoExternalArgs, type BuildInstalledSkillInfoNativeArgs, type BuildWorkspaceRuleContextArgs, type InstalledPackInfo, type InstalledSkillInfo, type PackAccessorPlatform, type PackIndexView, type PackVFTNode, type PerExtensionOperationName, type PlatformWorkspaceLintAccessorArgs, type SkillAccessorPlatform, type SkillIndexView, type VFTNode, type WorkspaceAccessorPlatform, type WorkspaceIndex, type WorkspaceIndexView, } from "./catalog/index.js";
28
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/unstable/lint/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,YAAY,EACV,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,eAAe,EACf,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAGvF,YAAY,EACV,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAKrB,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,aAAa,EACb,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,eAAe,GACrB,MAAM,UAAU,CAAC;AAMlB,OAAO,EACL,iBAAiB,EACjB,+BAA+B,EAC/B,sBAAsB,EACtB,6BAA6B,EAC7B,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,iCAAiC,EACjC,uBAAuB,EACvB,wBAAwB,EACxB,SAAS,EACT,6BAA6B,EAC7B,8BAA8B,EAC9B,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,KAAK,0BAA0B,EAC/B,KAAK,mCAAmC,EACxC,KAAK,iCAAiC,EACtC,KAAK,6BAA6B,EAClC,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,yBAAyB,EAC9B,KAAK,iCAAiC,EACtC,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,OAAO,EACZ,KAAK,yBAAyB,EAC9B,KAAK,cAAc,EACnB,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/unstable/lint/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,YAAY,EACV,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,eAAe,EACf,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAGvF,YAAY,EACV,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAKrB,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,aAAa,EACb,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,eAAe,GACrB,MAAM,UAAU,CAAC;AAMlB,OAAO,EACL,iBAAiB,EACjB,+BAA+B,EAC/B,sBAAsB,EACtB,6BAA6B,EAC7B,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,iCAAiC,EACjC,uBAAuB,EACvB,wBAAwB,EACxB,8BAA8B,EAC9B,SAAS,EACT,6BAA6B,EAC7B,8BAA8B,EAC9B,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,KAAK,0BAA0B,EAC/B,KAAK,mCAAmC,EACxC,KAAK,iCAAiC,EACtC,KAAK,6BAA6B,EAClC,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,yBAAyB,EAC9B,KAAK,iCAAiC,EACtC,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,OAAO,EACZ,KAAK,yBAAyB,EAC9B,KAAK,cAAc,EACnB,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC"}
@@ -31,5 +31,5 @@ export { collectAutofixableEntries, collectRenderedFindings, countFindings, dete
31
31
  // Phase 3c lands `workspaceRules`). Importing this index triggers each
32
32
  // catalog's module-load `registerLintRuleIds(...)` call so
33
33
  // `.axm/settings.json` `lint.rules` keys can reference any exported rule id.
34
- export { allCatalogRuleIds, buildExternalInstalledSkillInfo, buildInstalledPackInfo, buildNativeInstalledSkillInfo, buildPackRuleContexts, buildSkillRuleContexts, buildWorkspaceRuleContext, externalSkillDisplayRoot, isPerExtensionOperationName, makePlatformPackFileAccessor, makePlatformSkillFileAccessor, makePlatformWorkspaceLintAccessor, makeVftPackFileAccessor, makeVftSkillFileAccessor, packRules, PER_EXTENSION_OPERATION_NAMES, registryNativeSkillDisplayRoot, registryPackDisplayRoot, skillRules, workspaceRules, } from "./catalog/index.js";
34
+ export { allCatalogRuleIds, buildExternalInstalledSkillInfo, buildInstalledPackInfo, buildNativeInstalledSkillInfo, buildPackRuleContexts, buildSkillRuleContexts, buildWorkspaceRuleContext, externalSkillDisplayRoot, isPerExtensionOperationName, makePlatformPackFileAccessor, makePlatformSkillFileAccessor, makePlatformWorkspaceLintAccessor, makeVftPackFileAccessor, makeVftSkillFileAccessor, makeVftSkillFileAccessorScoped, packRules, PER_EXTENSION_OPERATION_NAMES, registryNativeSkillDisplayRoot, registryPackDisplayRoot, skillRules, workspaceRules, } from "./catalog/index.js";
35
35
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/unstable/lint/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAgBH,yCAAyC;AACzC,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAkB,MAAM,eAAe,CAAC;AAqBvF,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,2BAA2B;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAI3D,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAErB,0EAA0E;AAC1E,wEAAwE;AACxE,2BAA2B;AAC3B,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,aAAa,EACb,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,GAanB,MAAM,UAAU,CAAC;AAElB,0EAA0E;AAC1E,uEAAuE;AACvE,2DAA2D;AAC3D,6EAA6E;AAC7E,OAAO,EACL,iBAAiB,EACjB,+BAA+B,EAC/B,sBAAsB,EACtB,6BAA6B,EAC7B,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,iCAAiC,EACjC,uBAAuB,EACvB,wBAAwB,EACxB,SAAS,EACT,6BAA6B,EAC7B,8BAA8B,EAC9B,uBAAuB,EACvB,UAAU,EACV,cAAc,GAkBf,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/unstable/lint/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAgBH,yCAAyC;AACzC,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAkB,MAAM,eAAe,CAAC;AAqBvF,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,2BAA2B;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAI3D,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAErB,0EAA0E;AAC1E,wEAAwE;AACxE,2BAA2B;AAC3B,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,aAAa,EACb,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,GAanB,MAAM,UAAU,CAAC;AAElB,0EAA0E;AAC1E,uEAAuE;AACvE,2DAA2D;AAC3D,6EAA6E;AAC7E,OAAO,EACL,iBAAiB,EACjB,+BAA+B,EAC/B,sBAAsB,EACtB,6BAA6B,EAC7B,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,iCAAiC,EACjC,uBAAuB,EACvB,wBAAwB,EACxB,8BAA8B,EAC9B,SAAS,EACT,6BAA6B,EAC7B,8BAA8B,EAC9B,uBAAuB,EACvB,UAAU,EACV,cAAc,GAkBf,MAAM,oBAAoB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentxm/client-core",
3
- "version": "0.4.3",
3
+ "version": "0.4.5",
4
4
  "description": "Core library for the axm agent extension manager. Unstable and unsupported — use the axm.sh CLI.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -215,6 +215,6 @@
215
215
  "typescript": "^5.9.3",
216
216
  "vitest": "^4.0.0",
217
217
  "yaml": "^2.8.2",
218
- "@agentxm/client-utils": "^0.4.3"
218
+ "@agentxm/client-utils": "^0.4.5"
219
219
  }
220
220
  }
@@ -0,0 +1,80 @@
1
+ @echo off
2
+ setlocal
3
+
4
+ rem Install script for axm - the extension manager for AI coding agents.
5
+ rem Usage: curl -fsSL -o install.cmd https://axm.sh/install.cmd && install.cmd
6
+
7
+ if defined AXM_INSTALL_BASE_URL (
8
+ set "BINARY_URL=%AXM_INSTALL_BASE_URL%/axm-windows-x64.exe"
9
+ ) else (
10
+ set "BINARY_URL=https://github.com/agentxm/axm/releases/latest/download/axm-windows-x64.exe"
11
+ )
12
+ set "INSTALL_DIR=%LOCALAPPDATA%\axm"
13
+ set "INSTALL_PATH=%INSTALL_DIR%\axm.exe"
14
+
15
+ call :check_curl
16
+ call :install_axm
17
+ call :verify
18
+ goto :eof
19
+
20
+ :check_curl
21
+ where curl >nul 2>&1
22
+ if %errorlevel% neq 0 (
23
+ echo Error: curl is required but not found.
24
+ echo curl is included with Windows 10 and later.
25
+ echo.
26
+ echo If you are on an older version of Windows, use the PowerShell installer instead:
27
+ echo irm https://axm.sh/install.ps1 ^| iex
28
+ exit /b 1
29
+ )
30
+ goto :eof
31
+
32
+ :install_axm
33
+ echo Installing axm...
34
+
35
+ if not exist "%INSTALL_DIR%" (
36
+ mkdir "%INSTALL_DIR%"
37
+ if %errorlevel% neq 0 (
38
+ echo Error: Failed to create install directory: %INSTALL_DIR%
39
+ exit /b 1
40
+ )
41
+ )
42
+
43
+ curl -fsSL -o "%INSTALL_PATH%" "%BINARY_URL%"
44
+ if %errorlevel% neq 0 (
45
+ echo Error: Failed to download axm binary.
46
+ echo URL: %BINARY_URL%
47
+ exit /b 1
48
+ )
49
+
50
+ rem Write install metadata
51
+ set "META_FILE=%INSTALL_DIR%\install-meta.json"
52
+ for /f %%i in ('powershell -NoProfile -Command "[DateTime]::UtcNow.ToString(\"yyyy-MM-dd'T'HH:mm:ss'Z'\")"') do set "TIMESTAMP=%%i"
53
+ if %errorlevel% neq 0 (
54
+ echo Error: Failed to generate install timestamp.
55
+ exit /b 1
56
+ )
57
+ echo {"method": "script", "installedAt": "%TIMESTAMP%"}>"%META_FILE%"
58
+ goto :eof
59
+
60
+ :verify
61
+ where axm >nul 2>&1
62
+ if %errorlevel% neq 0 (
63
+ echo.
64
+ echo axm was installed to %INSTALL_PATH%
65
+ echo but is not on your PATH.
66
+ echo.
67
+ echo To add it, run:
68
+ echo setx PATH "%%PATH%%;%INSTALL_DIR%"
69
+ echo.
70
+ echo Then open a new terminal and run:
71
+ echo axm --version
72
+ echo.
73
+ goto :eof
74
+ )
75
+
76
+ echo.
77
+ axm --version
78
+ echo.
79
+ echo Done! Run 'axm auth login' to authenticate.
80
+ goto :eof
@@ -34,14 +34,27 @@ extensions; public extensions install without an account.
34
34
 
35
35
  ## Detect existing install
36
36
 
37
- Before installing, check whether axm is already on the machine:
37
+ Before installing, check whether axm is already on the machine. This is a
38
+ **probe** — "not installed" is an expected outcome, not a failure. Invoke it
39
+ so the shell exits 0 on either branch and the signal lives in stdout (see
40
+ **Probe commands** under Invariants):
41
+
42
+ On macOS / Linux:
38
43
 
39
44
  ```bash
40
- axm --version
45
+ command -v axm >/dev/null 2>&1 && axm --version || echo "NOT_INSTALLED"
41
46
  ```
42
47
 
43
- - **Succeeds** (prints `X.Y.Z`) → axm is installed. Upgrade it to the latest
44
- version and skip the Install section:
48
+ On Windows (PowerShell):
49
+
50
+ ```powershell
51
+ if (Get-Command axm -ErrorAction SilentlyContinue) { axm --version } else { "NOT_INSTALLED" }
52
+ ```
53
+
54
+ Branch on the output:
55
+
56
+ - **Prints `X.Y.Z`** → axm is installed. Upgrade it to the latest version
57
+ and skip the Install section:
45
58
 
46
59
  ```bash
47
60
  axm upgrade
@@ -50,13 +63,12 @@ axm --version
50
63
  `axm upgrade` auto-detects how axm was installed. For script installs it
51
64
  downloads and swaps the binary in place. For Homebrew or npm installs it
52
65
  prints the exact command to run (`brew upgrade agentxm/tap/axm` or
53
- `npm update -g axm.sh`) — run whichever it emits, then re-run
54
- `axm --version`. Continue to **Verify** when done.
66
+ `npm update -g axm.sh`) — run whichever it emits, then re-run the probe
67
+ above. Continue to **Verify** when done.
55
68
 
56
- - **Fails** with `command not found` → axm is not installed. Continue to
57
- **Install**.
58
- - **Fails** with any other error → treat as not installed and reinstall via
59
- the Install section.
69
+ - **Prints `NOT_INSTALLED`** → axm is not installed. Continue to **Install**.
70
+ - **Prints anything else** → treat as not installed and reinstall via the
71
+ Install section.
60
72
 
61
73
  ## Choose install method
62
74
 
@@ -187,10 +199,12 @@ axm --version
187
199
 
188
200
  ---
189
201
 
190
- EXECUTE NOW: Run `axm --version`. If it succeeds, run `axm upgrade`. If it
191
- fails, detect available package managers per **Choose install method**, ask
192
- the user if more than one is available, and run the chosen installer. Stop
193
- when `axm --version` succeeds, then proceed to **Check sign-in state**.
202
+ EXECUTE NOW: Run the probe from **Detect existing install** (not bare
203
+ `axm --version` see **Probe commands** under Invariants). If the output
204
+ is `X.Y.Z`, run `axm upgrade`. If the output is `NOT_INSTALLED`, detect
205
+ available package managers per **Choose install method**, ask the user if
206
+ more than one is available, and run the chosen installer. Stop when the
207
+ probe prints `X.Y.Z`, then proceed to **Check sign-in state**.
194
208
 
195
209
  ---
196
210
 
@@ -198,15 +212,29 @@ when `axm --version` succeeds, then proceed to **Check sign-in state**.
198
212
 
199
213
  axm is installed. Before continuing, detect whether this machine is already
200
214
  signed in to AgentXM.ai — the result decides whether to ask the user about
201
- signing in or skip straight to workspace setup.
215
+ signing in or skip straight to workspace setup. This is a **probe** — "not
216
+ signed in" is an expected outcome, not a failure. Invoke it so the shell
217
+ exits 0 on either branch and the signal lives in stdout (see **Probe
218
+ commands** under Invariants):
219
+
220
+ On macOS / Linux:
202
221
 
203
222
  ```bash
204
- axm whoami --json
223
+ axm whoami --json 2>/dev/null || echo '{"type":"error","code":"AUTH_LOGIN_REQUIRED"}'
224
+ ```
225
+
226
+ On Windows (PowerShell):
227
+
228
+ ```powershell
229
+ try { axm whoami --json } catch { '{"type":"error","code":"AUTH_LOGIN_REQUIRED"}' }
205
230
  ```
206
231
 
207
- - **Exit 0 with an identity** → already signed in. Skip to **Workspace setup**.
208
- - **Exit non-zero** (for example, error code `AUTH_LOGIN_REQUIRED`) → not
209
- signed in. Continue to **Ask the user what to do next**.
232
+ Branch on the JSON `type` field in stdout:
233
+
234
+ - **`type` is not `"error"`** (identity payload) already signed in. Skip
235
+ to **Workspace setup**.
236
+ - **`type` is `"error"`** (typically with `code` = `AUTH_LOGIN_REQUIRED`) →
237
+ not signed in. Continue to **Ask the user what to do next**.
210
238
 
211
239
  ## Ask the user what to do next
212
240
 
@@ -272,16 +300,18 @@ Offer both paths and let the user pick:
272
300
  paste a token the user has not shared with you.
273
301
 
274
302
  Wait for the user to confirm sign-in is complete. Tell them you're about to
275
- re-run `axm whoami --json` to verify the sign-in succeeded before moving
276
- on:
303
+ re-run the sign-in probe to verify the sign-in succeeded before moving on.
304
+ Use the same wrapper form as **Check sign-in state** so an unfinished
305
+ sign-in doesn't surface as a tool error:
277
306
 
278
307
  ```bash
279
- axm whoami --json
308
+ axm whoami --json 2>/dev/null || echo '{"type":"error","code":"AUTH_LOGIN_REQUIRED"}'
280
309
  ```
281
310
 
282
- If it returns an identity, continue to **Workspace setup**. If not, the
283
- sign-in did not complete — explain which check failed and ask the user to
284
- retry the same path or switch paths.
311
+ If the JSON `type` is not `"error"` (identity payload), continue to
312
+ **Workspace setup**. If `type` is `"error"`, the sign-in did not complete —
313
+ explain which check failed and ask the user to retry the same path or
314
+ switch paths.
285
315
 
286
316
  ---
287
317
 
@@ -304,6 +334,14 @@ unmanaged skills), extension management, and publishing.
304
334
 
305
335
  ## Invariants
306
336
 
337
+ - **Probe commands exit 0.** `axm --version` and `axm whoami --json` have
338
+ expected non-zero exit paths ("not installed", "not signed in") that are
339
+ part of the flow, not failures. Always invoke them using the wrappers in
340
+ **Detect existing install** and **Check sign-in state** so the shell
341
+ exits 0 on either branch and the signal lives in stdout; branch on the
342
+ output, not the exit code. Bare invocations surface expected non-zero
343
+ exits as tool errors in the agent's transcript, which is jarring and
344
+ implies something went wrong.
307
345
  - **Explain why you're asking.** Whenever you need the user's consent, input,
308
346
  or out-of-band action — picking an install method, running `axm login`,
309
347
  opening a signup URL, approving a command you'd otherwise run yourself —