@axm.sh/cli 0.0.12 → 0.0.13
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.
- package/dist/src/cli-commands/packs/add/command.d.ts +14 -0
- package/dist/src/cli-commands/packs/add/command.d.ts.map +1 -0
- package/dist/src/cli-commands/packs/add/command.js +52 -0
- package/dist/src/cli-commands/packs/add/command.js.map +1 -0
- package/dist/src/cli-commands/packs/add/handler.d.ts +23 -0
- package/dist/src/cli-commands/packs/add/handler.d.ts.map +1 -0
- package/dist/src/cli-commands/packs/add/handler.js +135 -0
- package/dist/src/cli-commands/packs/add/handler.js.map +1 -0
- package/dist/src/cli-commands/packs/command.d.ts +3 -0
- package/dist/src/cli-commands/packs/command.d.ts.map +1 -0
- package/dist/src/cli-commands/packs/command.js +33 -0
- package/dist/src/cli-commands/packs/command.js.map +1 -0
- package/dist/src/cli-commands/packs/index.d.ts +13 -0
- package/dist/src/cli-commands/packs/index.d.ts.map +1 -0
- package/dist/src/cli-commands/packs/index.js +12 -0
- package/dist/src/cli-commands/packs/index.js.map +1 -0
- package/dist/src/cli-commands/packs/install/build-plan.d.ts +19 -0
- package/dist/src/cli-commands/packs/install/build-plan.d.ts.map +1 -0
- package/dist/src/cli-commands/packs/install/build-plan.js +44 -0
- package/dist/src/cli-commands/packs/install/build-plan.js.map +1 -0
- package/dist/src/cli-commands/packs/install/command.d.ts +17 -0
- package/dist/src/cli-commands/packs/install/command.d.ts.map +1 -0
- package/dist/src/cli-commands/packs/install/command.js +66 -0
- package/dist/src/cli-commands/packs/install/command.js.map +1 -0
- package/dist/src/cli-commands/packs/install/handler.d.ts +43 -0
- package/dist/src/cli-commands/packs/install/handler.d.ts.map +1 -0
- package/dist/src/cli-commands/packs/install/handler.js +180 -0
- package/dist/src/cli-commands/packs/install/handler.js.map +1 -0
- package/dist/src/cli-commands/packs/install/install-pack.d.ts +20 -0
- package/dist/src/cli-commands/packs/install/install-pack.d.ts.map +1 -0
- package/dist/src/cli-commands/packs/install/install-pack.js +42 -0
- package/dist/src/cli-commands/packs/install/install-pack.js.map +1 -0
- package/dist/src/cli-commands/packs/new/command.d.ts +14 -0
- package/dist/src/cli-commands/packs/new/command.d.ts.map +1 -0
- package/dist/src/cli-commands/packs/new/command.js +51 -0
- package/dist/src/cli-commands/packs/new/command.js.map +1 -0
- package/dist/src/cli-commands/packs/new/handler.d.ts +23 -0
- package/dist/src/cli-commands/packs/new/handler.d.ts.map +1 -0
- package/dist/src/cli-commands/packs/new/handler.js +96 -0
- package/dist/src/cli-commands/packs/new/handler.js.map +1 -0
- package/dist/src/cli-commands/packs/operations.d.ts +67 -0
- package/dist/src/cli-commands/packs/operations.d.ts.map +1 -0
- package/dist/src/cli-commands/packs/operations.js +10 -0
- package/dist/src/cli-commands/packs/operations.js.map +1 -0
- package/dist/src/cli-commands/packs/pack-paths.d.ts +28 -0
- package/dist/src/cli-commands/packs/pack-paths.d.ts.map +1 -0
- package/dist/src/cli-commands/packs/pack-paths.js +22 -0
- package/dist/src/cli-commands/packs/pack-paths.js.map +1 -0
- package/dist/src/cli-commands/packs/publish/command.d.ts +15 -0
- package/dist/src/cli-commands/packs/publish/command.d.ts.map +1 -0
- package/dist/src/cli-commands/packs/publish/command.js +56 -0
- package/dist/src/cli-commands/packs/publish/command.js.map +1 -0
- package/dist/src/cli-commands/packs/publish/handler.d.ts +34 -0
- package/dist/src/cli-commands/packs/publish/handler.d.ts.map +1 -0
- package/dist/src/cli-commands/packs/publish/handler.js +123 -0
- package/dist/src/cli-commands/packs/publish/handler.js.map +1 -0
- package/dist/src/cli-commands/packs/publish/publish-pack.d.ts +26 -0
- package/dist/src/cli-commands/packs/publish/publish-pack.d.ts.map +1 -0
- package/dist/src/cli-commands/packs/publish/publish-pack.js +142 -0
- package/dist/src/cli-commands/packs/publish/publish-pack.js.map +1 -0
- package/dist/src/cli-commands/packs/remove/command.d.ts +14 -0
- package/dist/src/cli-commands/packs/remove/command.d.ts.map +1 -0
- package/dist/src/cli-commands/packs/remove/command.js +52 -0
- package/dist/src/cli-commands/packs/remove/command.js.map +1 -0
- package/dist/src/cli-commands/packs/remove/handler.d.ts +23 -0
- package/dist/src/cli-commands/packs/remove/handler.d.ts.map +1 -0
- package/dist/src/cli-commands/packs/remove/handler.js +115 -0
- package/dist/src/cli-commands/packs/remove/handler.js.map +1 -0
- package/dist/src/cli-commands/packs/uninstall/build-plan.d.ts +46 -0
- package/dist/src/cli-commands/packs/uninstall/build-plan.d.ts.map +1 -0
- package/dist/src/cli-commands/packs/uninstall/build-plan.js +99 -0
- package/dist/src/cli-commands/packs/uninstall/build-plan.js.map +1 -0
- package/dist/src/cli-commands/packs/uninstall/command.d.ts +14 -0
- package/dist/src/cli-commands/packs/uninstall/command.d.ts.map +1 -0
- package/dist/src/cli-commands/packs/uninstall/command.js +53 -0
- package/dist/src/cli-commands/packs/uninstall/command.js.map +1 -0
- package/dist/src/cli-commands/packs/uninstall/handler.d.ts +31 -0
- package/dist/src/cli-commands/packs/uninstall/handler.d.ts.map +1 -0
- package/dist/src/cli-commands/packs/uninstall/handler.js +57 -0
- package/dist/src/cli-commands/packs/uninstall/handler.js.map +1 -0
- package/dist/src/cli-commands/packs/uninstall/uninstall-pack.d.ts +25 -0
- package/dist/src/cli-commands/packs/uninstall/uninstall-pack.d.ts.map +1 -0
- package/dist/src/cli-commands/packs/uninstall/uninstall-pack.js +87 -0
- package/dist/src/cli-commands/packs/uninstall/uninstall-pack.js.map +1 -0
- package/dist/src/cli-commands/packs/unpack/command.d.ts +14 -0
- package/dist/src/cli-commands/packs/unpack/command.d.ts.map +1 -0
- package/dist/src/cli-commands/packs/unpack/command.js +51 -0
- package/dist/src/cli-commands/packs/unpack/command.js.map +1 -0
- package/dist/src/cli-commands/packs/unpack/handler.d.ts +52 -0
- package/dist/src/cli-commands/packs/unpack/handler.d.ts.map +1 -0
- package/dist/src/cli-commands/packs/unpack/handler.js +116 -0
- package/dist/src/cli-commands/packs/unpack/handler.js.map +1 -0
- package/dist/src/cli-commands/skills/disable/handler.d.ts +1 -0
- package/dist/src/cli-commands/skills/disable/handler.d.ts.map +1 -1
- package/dist/src/cli-commands/skills/disable/handler.js +19 -7
- package/dist/src/cli-commands/skills/disable/handler.js.map +1 -1
- package/dist/src/cli-commands/skills/enable/handler.d.ts +1 -0
- package/dist/src/cli-commands/skills/enable/handler.d.ts.map +1 -1
- package/dist/src/cli-commands/skills/enable/handler.js +9 -0
- package/dist/src/cli-commands/skills/enable/handler.js.map +1 -1
- package/dist/src/extensions/packs/manifest-schema.d.ts +6 -6
- package/dist/src/extensions/packs/manifest-schema.d.ts.map +1 -1
- package/dist/src/extensions/packs/manifest-schema.js +28 -7
- package/dist/src/extensions/packs/manifest-schema.js.map +1 -1
- package/dist/src/lockfile/index.d.ts +2 -2
- package/dist/src/lockfile/index.d.ts.map +1 -1
- package/dist/src/lockfile/index.js +1 -1
- package/dist/src/lockfile/index.js.map +1 -1
- package/dist/src/lockfile/lockfile.d.ts +21 -0
- package/dist/src/lockfile/lockfile.d.ts.map +1 -1
- package/dist/src/lockfile/schema.d.ts +77 -1
- package/dist/src/lockfile/schema.d.ts.map +1 -1
- package/dist/src/lockfile/schema.js +58 -1
- package/dist/src/lockfile/schema.js.map +1 -1
- package/dist/src/main.d.ts.map +1 -1
- package/dist/src/main.js +3 -0
- package/dist/src/main.js.map +1 -1
- package/dist/src/registry/schema.d.ts +4 -4
- package/dist/src/registry/schema.d.ts.map +1 -1
- package/dist/src/registry/schema.js +3 -3
- package/dist/src/registry/schema.js.map +1 -1
- package/dist/src/settings/index.d.ts +2 -2
- package/dist/src/settings/index.d.ts.map +1 -1
- package/dist/src/settings/index.js +1 -1
- package/dist/src/settings/index.js.map +1 -1
- package/dist/src/settings/schema.d.ts +46 -1
- package/dist/src/settings/schema.d.ts.map +1 -1
- package/dist/src/settings/schema.js +34 -1
- package/dist/src/settings/schema.js.map +1 -1
- package/dist/src/settings/settings.d.ts +3 -1
- package/dist/src/settings/settings.d.ts.map +1 -1
- package/dist/src/sources/providers/registry.d.ts.map +1 -1
- package/dist/src/sources/providers/registry.js +11 -5
- package/dist/src/sources/providers/registry.js.map +1 -1
- package/dist/src/workspace/service.d.ts +19 -2
- package/dist/src/workspace/service.d.ts.map +1 -1
- package/dist/src/workspace/service.js +83 -5
- package/dist/src/workspace/service.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unpack command handler -- Effect-based orchestration for `axm packs unpack`.
|
|
3
|
+
*
|
|
4
|
+
* Flattens a pack's resolved extensions into settings.json as direct entries,
|
|
5
|
+
* preserves existing direct entries, and removes the pack entry from settings
|
|
6
|
+
* and lockfile.
|
|
7
|
+
*
|
|
8
|
+
* This is a settings-level operation -- it does not re-download anything.
|
|
9
|
+
*
|
|
10
|
+
* @experimental This API is unstable and may change without notice.
|
|
11
|
+
*/
|
|
12
|
+
import * as Effect from "effect/Effect";
|
|
13
|
+
import * as Option from "effect/Option";
|
|
14
|
+
import { makeCliError } from "../../../cli-error/index.js";
|
|
15
|
+
import { Log, Spinner } from "../../../tui/index.js";
|
|
16
|
+
import { Workspace } from "../../../workspace/index.js";
|
|
17
|
+
import { parseScopedName } from "../../skills/naming.js";
|
|
18
|
+
// -----------------------------------------------------------------------------
|
|
19
|
+
// Operation Handler
|
|
20
|
+
// -----------------------------------------------------------------------------
|
|
21
|
+
/**
|
|
22
|
+
* Unpack operation handler.
|
|
23
|
+
*
|
|
24
|
+
* 1. Look up pack in lockfile for resolved extensions
|
|
25
|
+
* 2. Read current settings to find existing direct skill entries
|
|
26
|
+
* 3. Add resolved skills as direct entries (skip existing)
|
|
27
|
+
* 4. Remove pack from settings and lockfile
|
|
28
|
+
*/
|
|
29
|
+
export const unpackPack = (op) => Effect.gen(function* () {
|
|
30
|
+
const ws = yield* Workspace;
|
|
31
|
+
// Look up the pack in the lockfile
|
|
32
|
+
const lockedPack = yield* ws.getLockedPack(op.args.name);
|
|
33
|
+
if (Option.isNone(lockedPack)) {
|
|
34
|
+
return yield* makeCliError({
|
|
35
|
+
code: "PACK_NOT_INSTALLED",
|
|
36
|
+
what: `Pack "${op.args.name}" is not installed`,
|
|
37
|
+
howToFix: "Install the pack first with `axm packs install`.",
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
const entry = lockedPack.value;
|
|
41
|
+
// Read current configured skills to preserve existing direct entries
|
|
42
|
+
const currentSkills = yield* ws.getConfiguredSkills();
|
|
43
|
+
// Add resolved skills as direct entries (only if not already present)
|
|
44
|
+
// Use the short name (after scope/) as the settings key since SkillsMapSchema
|
|
45
|
+
// validates keys against agentskills.io naming (no @ or / allowed).
|
|
46
|
+
yield* Effect.forEach(Object.entries(entry.resolvedSkills), ([fqn, version]) => Effect.gen(function* () {
|
|
47
|
+
const { skillName: shortName } = parseScopedName(fqn);
|
|
48
|
+
if (shortName in currentSkills)
|
|
49
|
+
return; // preserve existing direct entry
|
|
50
|
+
const source = `registry:${fqn}@${version}`;
|
|
51
|
+
yield* ws.setSkill(shortName, source, {
|
|
52
|
+
type: "registry",
|
|
53
|
+
scope: entry.scope,
|
|
54
|
+
name: shortName,
|
|
55
|
+
resolvedVersion: version,
|
|
56
|
+
checksum: "",
|
|
57
|
+
sourceName: entry.sourceName,
|
|
58
|
+
agents: [],
|
|
59
|
+
installedAt: new Date(),
|
|
60
|
+
updatedAt: new Date(),
|
|
61
|
+
});
|
|
62
|
+
}), { concurrency: 1 });
|
|
63
|
+
// Remove the pack entry from settings and lockfile
|
|
64
|
+
yield* ws.removePack(op.args.name);
|
|
65
|
+
const skillCount = Object.keys(entry.resolvedSkills).length;
|
|
66
|
+
return {
|
|
67
|
+
result: "success",
|
|
68
|
+
message: `Unpacked ${op.args.name}: ${skillCount} skill(s) promoted to direct entries`,
|
|
69
|
+
};
|
|
70
|
+
});
|
|
71
|
+
// -----------------------------------------------------------------------------
|
|
72
|
+
// Main Handler
|
|
73
|
+
// -----------------------------------------------------------------------------
|
|
74
|
+
/**
|
|
75
|
+
* Handles the `axm packs unpack` command.
|
|
76
|
+
*/
|
|
77
|
+
export const handleUnpack = (args) => Effect.gen(function* () {
|
|
78
|
+
const ws = yield* Workspace;
|
|
79
|
+
const log = yield* Log;
|
|
80
|
+
const spinnerSvc = yield* Spinner;
|
|
81
|
+
yield* log.info("axm packs unpack");
|
|
82
|
+
// Validate pack exists in lockfile
|
|
83
|
+
const handle = yield* spinnerSvc.start("Checking pack...");
|
|
84
|
+
const lockedPack = yield* ws.getLockedPack(args.name);
|
|
85
|
+
if (Option.isNone(lockedPack)) {
|
|
86
|
+
yield* handle.stop("Failed");
|
|
87
|
+
return yield* Effect.fail(makeCliError({
|
|
88
|
+
code: "PACK_NOT_INSTALLED",
|
|
89
|
+
what: `Pack "${args.name}" is not installed`,
|
|
90
|
+
howToFix: "Install the pack first with `axm packs install`.",
|
|
91
|
+
}));
|
|
92
|
+
}
|
|
93
|
+
yield* handle.stop(`Found ${args.name}`);
|
|
94
|
+
// Build plan
|
|
95
|
+
const steps = [
|
|
96
|
+
{
|
|
97
|
+
_tag: "PlannedJobStep",
|
|
98
|
+
operation: {
|
|
99
|
+
name: "unpack-pack",
|
|
100
|
+
args: { name: args.name },
|
|
101
|
+
},
|
|
102
|
+
expectedResult: { result: "success", message: `Unpacked ${args.name}` },
|
|
103
|
+
label: `Unpack ${args.name}`,
|
|
104
|
+
},
|
|
105
|
+
];
|
|
106
|
+
const plan = {
|
|
107
|
+
name: "Unpack pack",
|
|
108
|
+
description: Option.some(`Unpack ${args.name} into direct settings entries`),
|
|
109
|
+
jobs: [{ steps, concurrency: 1 }],
|
|
110
|
+
};
|
|
111
|
+
yield* ws.resolvePlan(plan, {
|
|
112
|
+
"unpack-pack": unpackPack,
|
|
113
|
+
});
|
|
114
|
+
yield* log.success("Done");
|
|
115
|
+
}).pipe(Effect.withSpan("UnpackPack.handle"));
|
|
116
|
+
//# sourceMappingURL=handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../../src/cli-commands/packs/unpack/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Disable command handler - Effect-based orchestration for `axm skills disable`.
|
|
3
3
|
*
|
|
4
4
|
* Validates skill state then builds and resolves a single-step plan.
|
|
5
|
+
* Supports both direct skills (settings entry) and transitive skills (via packs).
|
|
5
6
|
*
|
|
6
7
|
* @experimental This API is unstable and may change without notice.
|
|
7
8
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/disable/handler.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/disable/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AASxD,MAAM,WAAW,kBAAkB;IACjC,mCAAmC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yBAAyB;IACzB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CACvB;AAMD,eAAO,MAAM,aAAa,GAAI,MAAM,kBAAkB,yRA8EV,CAAC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Disable command handler - Effect-based orchestration for `axm skills disable`.
|
|
3
3
|
*
|
|
4
4
|
* Validates skill state then builds and resolves a single-step plan.
|
|
5
|
+
* Supports both direct skills (settings entry) and transitive skills (via packs).
|
|
5
6
|
*
|
|
6
7
|
* @experimental This API is unstable and may change without notice.
|
|
7
8
|
*/
|
|
@@ -18,16 +19,27 @@ export const handleDisable = (args) => Effect.gen(function* () {
|
|
|
18
19
|
const ws = yield* Workspace;
|
|
19
20
|
const log = yield* Log;
|
|
20
21
|
yield* log.info("axm skills disable");
|
|
21
|
-
// Load configured skills
|
|
22
|
+
// Load configured skills (direct settings entries)
|
|
22
23
|
const configuredSkills = yield* ws.getConfiguredSkills();
|
|
23
24
|
const entry = configuredSkills[args.name];
|
|
24
|
-
//
|
|
25
|
+
// If not found in configured skills, check installed skills (includes transitive via packs)
|
|
25
26
|
if (entry === undefined) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
const installedSkills = yield* ws.getInstalledSkills();
|
|
28
|
+
const installedEntry = installedSkills[args.name];
|
|
29
|
+
if (installedEntry === undefined) {
|
|
30
|
+
return yield* makeCliError({
|
|
31
|
+
code: "SKILL_NOT_FOUND",
|
|
32
|
+
what: `Skill '${args.name}' not found`,
|
|
33
|
+
howToFix: "Run `axm skills list` to see available skills",
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
// Transitive skill — promote to direct entry with enabled: false
|
|
37
|
+
// Use the bare name (without scope) as the settings key
|
|
38
|
+
const bareName = args.name.includes("/") ? args.name.split("/").pop() : args.name;
|
|
39
|
+
const source = Option.orElse(installedEntry.source, () => Option.some(args.name));
|
|
40
|
+
yield* ws.setSkillEntry(bareName, { source, enabled: false, managed: true });
|
|
41
|
+
yield* log.success("Done");
|
|
42
|
+
return;
|
|
31
43
|
}
|
|
32
44
|
// Validate: skill is managed
|
|
33
45
|
if (!entry.managed) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/disable/handler.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/disable/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Enable command handler - Effect-based orchestration for `axm skills enable`.
|
|
3
3
|
*
|
|
4
4
|
* Validates skill state then builds and resolves a single-step plan.
|
|
5
|
+
* Supports both direct skills (with lock entry) and promoted transitive skills.
|
|
5
6
|
*
|
|
6
7
|
* @experimental This API is unstable and may change without notice.
|
|
7
8
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/enable/handler.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/enable/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AASxD,MAAM,WAAW,iBAAiB;IAChC,kCAAkC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yBAAyB;IACzB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CACvB;AAMD,eAAO,MAAM,YAAY,GAAI,MAAM,iBAAiB,yRAyET,CAAC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Enable command handler - Effect-based orchestration for `axm skills enable`.
|
|
3
3
|
*
|
|
4
4
|
* Validates skill state then builds and resolves a single-step plan.
|
|
5
|
+
* Supports both direct skills (with lock entry) and promoted transitive skills.
|
|
5
6
|
*
|
|
6
7
|
* @experimental This API is unstable and may change without notice.
|
|
7
8
|
*/
|
|
@@ -43,6 +44,14 @@ export const handleEnable = (args) => Effect.gen(function* () {
|
|
|
43
44
|
yield* log.success("Nothing to do.");
|
|
44
45
|
return;
|
|
45
46
|
}
|
|
47
|
+
// Check if this is a promoted transitive skill (no lock entry)
|
|
48
|
+
const lockEntry = yield* ws.getLockedSkill(args.name);
|
|
49
|
+
if (Option.isNone(lockEntry)) {
|
|
50
|
+
// Promoted transitive skill — just update settings entry
|
|
51
|
+
yield* ws.updateSkillEntry(args.name, (e) => ({ ...e, enabled: true }));
|
|
52
|
+
yield* log.success("Done");
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
46
55
|
// Build operation
|
|
47
56
|
const op = {
|
|
48
57
|
name: "enable-skill",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/enable/handler.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/enable/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,16 +7,16 @@ import * as Schema from "effect/Schema";
|
|
|
7
7
|
/**
|
|
8
8
|
* Schema for pack manifest files (axm-pack.json).
|
|
9
9
|
*
|
|
10
|
-
* Packs bundle multiple extensions (skills, commands, MCP servers
|
|
11
|
-
*
|
|
10
|
+
* Packs bundle multiple extensions (skills, commands, MCP servers)
|
|
11
|
+
* for convenient distribution and installation. Each extension entry
|
|
12
|
+
* maps a fully qualified name to a semver version range.
|
|
12
13
|
*
|
|
13
14
|
* @experimental This API is unstable and may change without notice.
|
|
14
15
|
*/
|
|
15
16
|
export declare const PackManifestSchema: Schema.Struct<{
|
|
16
|
-
skills: Schema.optional<Schema.
|
|
17
|
-
commands: Schema.optional<Schema.
|
|
18
|
-
"mcp-servers": Schema.optional<Schema.
|
|
19
|
-
packs: Schema.optional<Schema.Array$<Schema.filter<typeof Schema.String>>>;
|
|
17
|
+
skills: Schema.optional<Schema.filter<Schema.Record$<typeof Schema.String, typeof Schema.String>>>;
|
|
18
|
+
commands: Schema.optional<Schema.filter<Schema.Record$<typeof Schema.String, typeof Schema.String>>>;
|
|
19
|
+
"mcp-servers": Schema.optional<Schema.filter<Schema.Record$<typeof Schema.String, typeof Schema.String>>>;
|
|
20
20
|
name: Schema.filter<typeof Schema.String>;
|
|
21
21
|
version: typeof Schema.String;
|
|
22
22
|
description: Schema.optional<typeof Schema.String>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-schema.d.ts","sourceRoot":"","sources":["../../../../src/extensions/packs/manifest-schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"manifest-schema.d.ts","sourceRoot":"","sources":["../../../../src/extensions/packs/manifest-schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AA2BxC;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;EAK7B,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAC"}
|
|
@@ -4,20 +4,41 @@
|
|
|
4
4
|
* @experimental This API is unstable and may change without notice.
|
|
5
5
|
*/
|
|
6
6
|
import * as Schema from "effect/Schema";
|
|
7
|
-
import { CommonManifestFields
|
|
7
|
+
import { CommonManifestFields } from "../common.js";
|
|
8
|
+
const FQN_PATTERN = /^@[\w-]+\/[\w-]+$/;
|
|
9
|
+
/**
|
|
10
|
+
* Validation callback for FQN keys in pack manifest extension maps.
|
|
11
|
+
*/
|
|
12
|
+
const validateFqnKeys = (record) => {
|
|
13
|
+
const invalidKeys = Object.keys(record).filter((key) => !FQN_PATTERN.test(key));
|
|
14
|
+
if (invalidKeys.length > 0) {
|
|
15
|
+
return `Invalid fully qualified name(s): ${invalidKeys.join(", ")}. Names must match @scope/name format.`;
|
|
16
|
+
}
|
|
17
|
+
return undefined;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Version specifier map: FQN keys to semver range values.
|
|
21
|
+
* Used for skills, commands, and mcp-servers in pack manifests.
|
|
22
|
+
*
|
|
23
|
+
* @experimental This API is unstable and may change without notice.
|
|
24
|
+
*/
|
|
25
|
+
const VersionSpecifierMapSchema = Schema.Record({
|
|
26
|
+
key: Schema.String,
|
|
27
|
+
value: Schema.String,
|
|
28
|
+
}).pipe(Schema.filter(validateFqnKeys));
|
|
8
29
|
/**
|
|
9
30
|
* Schema for pack manifest files (axm-pack.json).
|
|
10
31
|
*
|
|
11
|
-
* Packs bundle multiple extensions (skills, commands, MCP servers
|
|
12
|
-
*
|
|
32
|
+
* Packs bundle multiple extensions (skills, commands, MCP servers)
|
|
33
|
+
* for convenient distribution and installation. Each extension entry
|
|
34
|
+
* maps a fully qualified name to a semver version range.
|
|
13
35
|
*
|
|
14
36
|
* @experimental This API is unstable and may change without notice.
|
|
15
37
|
*/
|
|
16
38
|
export const PackManifestSchema = Schema.Struct({
|
|
17
39
|
...CommonManifestFields,
|
|
18
|
-
skills: Schema.optional(
|
|
19
|
-
commands: Schema.optional(
|
|
20
|
-
"mcp-servers": Schema.optional(
|
|
21
|
-
packs: Schema.optional(Schema.Array(FullyQualifiedNameSchema)),
|
|
40
|
+
skills: Schema.optional(VersionSpecifierMapSchema),
|
|
41
|
+
commands: Schema.optional(VersionSpecifierMapSchema),
|
|
42
|
+
"mcp-servers": Schema.optional(VersionSpecifierMapSchema),
|
|
22
43
|
});
|
|
23
44
|
//# sourceMappingURL=manifest-schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-schema.js","sourceRoot":"","sources":["../../../../src/extensions/packs/manifest-schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"manifest-schema.js","sourceRoot":"","sources":["../../../../src/extensions/packs/manifest-schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAExC;;GAEG;AACH,MAAM,eAAe,GAAG,CAAC,MAAyC,EAAE,EAAE;IACpE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAChF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,oCAAoC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,wCAAwC,CAAC;IAC5G,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9C,GAAG,EAAE,MAAM,CAAC,MAAM;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM;CACrB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;AAExC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9C,GAAG,oBAAoB;IACvB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IAClD,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACpD,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAC;CAC1D,CAAC,CAAC"}
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* @experimental This API is unstable and may change without notice.
|
|
8
8
|
* @packageDocumentation
|
|
9
9
|
*/
|
|
10
|
-
export type { Lockfile, SkillLockEntry, SkillsLockMap } from "./schema.js";
|
|
11
|
-
export { AzureReposLockEntrySchema, BitbucketLockEntrySchema, DateFromString, GitHubLockEntrySchema, GitLabLockEntrySchema, GitLockEntrySchema, LocalLockEntrySchema, LockfileSchema, RegistryLockEntrySchema, SkillLockEntrySchema, SkillsLockMapSchema, } from "./schema.js";
|
|
10
|
+
export type { Lockfile, PackLockEntry, PacksLockMap, SkillLockEntry, SkillsLockMap } from "./schema.js";
|
|
11
|
+
export { AzureReposLockEntrySchema, BitbucketLockEntrySchema, DateFromString, GitHubLockEntrySchema, GitLabLockEntrySchema, GitLockEntrySchema, LocalLockEntrySchema, LockfileSchema, PackLockEntrySchema, PacksLockMapSchema, RegistryLockEntrySchema, SkillLockEntrySchema, SkillsLockMapSchema, } from "./schema.js";
|
|
12
12
|
export { LOCKFILE_NAME } from "./lockfile.js";
|
|
13
13
|
export { readLockfile, writeLockfile } from "./lockfile.js";
|
|
14
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lockfile/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lockfile/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACxG,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @experimental This API is unstable and may change without notice.
|
|
8
8
|
* @packageDocumentation
|
|
9
9
|
*/
|
|
10
|
-
export { AzureReposLockEntrySchema, BitbucketLockEntrySchema, DateFromString, GitHubLockEntrySchema, GitLabLockEntrySchema, GitLockEntrySchema, LocalLockEntrySchema, LockfileSchema, RegistryLockEntrySchema, SkillLockEntrySchema, SkillsLockMapSchema, } from "./schema.js";
|
|
10
|
+
export { AzureReposLockEntrySchema, BitbucketLockEntrySchema, DateFromString, GitHubLockEntrySchema, GitLabLockEntrySchema, GitLockEntrySchema, LocalLockEntrySchema, LockfileSchema, PackLockEntrySchema, PacksLockMapSchema, RegistryLockEntrySchema, SkillLockEntrySchema, SkillsLockMapSchema, } from "./schema.js";
|
|
11
11
|
// Lockfile I/O
|
|
12
12
|
export { LOCKFILE_NAME } from "./lockfile.js";
|
|
13
13
|
export { readLockfile, writeLockfile } from "./lockfile.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lockfile/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,eAAe;AACf,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lockfile/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,eAAe;AACf,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -101,6 +101,27 @@ export declare const readLockfile: (axmDir: string) => Effect.Effect<{
|
|
|
101
101
|
readonly sourceName: string;
|
|
102
102
|
};
|
|
103
103
|
};
|
|
104
|
+
readonly packs?: {
|
|
105
|
+
readonly [x: string]: {
|
|
106
|
+
readonly type: "registry";
|
|
107
|
+
readonly name: string;
|
|
108
|
+
readonly scope: string;
|
|
109
|
+
readonly checksum: string;
|
|
110
|
+
readonly installedAt: Date;
|
|
111
|
+
readonly updatedAt: Date;
|
|
112
|
+
readonly resolvedVersion: string;
|
|
113
|
+
readonly sourceName: string;
|
|
114
|
+
readonly resolvedSkills: {
|
|
115
|
+
readonly [x: string]: string;
|
|
116
|
+
};
|
|
117
|
+
readonly resolvedCommands: {
|
|
118
|
+
readonly [x: string]: string;
|
|
119
|
+
};
|
|
120
|
+
readonly resolvedMcpServers: {
|
|
121
|
+
readonly [x: string]: string;
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
} | undefined;
|
|
104
125
|
readonly lockfileVersion: number;
|
|
105
126
|
}, CliError, FileSystem.FileSystem | Path.Path>;
|
|
106
127
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lockfile.d.ts","sourceRoot":"","sources":["../../../src/lockfile/lockfile.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,KAAK,QAAQ,EAAgB,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,KAAK,QAAQ,EAAkB,MAAM,aAAa,CAAC;AAM5D;;;;GAIG;AACH,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAmC7C;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM
|
|
1
|
+
{"version":3,"file":"lockfile.d.ts","sourceRoot":"","sources":["../../../src/lockfile/lockfile.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,KAAK,QAAQ,EAAgB,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,KAAK,QAAQ,EAAkB,MAAM,aAAa,CAAC;AAM5D;;;;GAIG;AACH,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAmC7C;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+CA2CvC,CAAC;AAEL;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,EAAE,UAAU,QAAQ,qEAiD5D,CAAC"}
|
|
@@ -307,15 +307,78 @@ export declare const SkillsLockMapSchema: Schema.Record$<typeof Schema.String, S
|
|
|
307
307
|
* @experimental This API is unstable and may change without notice.
|
|
308
308
|
*/
|
|
309
309
|
export type SkillsLockMap = typeof SkillsLockMapSchema.Type;
|
|
310
|
+
/**
|
|
311
|
+
* Lock entry for a single installed pack.
|
|
312
|
+
* Packs are always registry-sourced with resolved extension versions.
|
|
313
|
+
*
|
|
314
|
+
* Fields:
|
|
315
|
+
* - type: Always "registry"
|
|
316
|
+
* - scope: Pack scope (e.g., "@acme")
|
|
317
|
+
* - name: Pack name without scope
|
|
318
|
+
* - resolvedVersion: Exact resolved version
|
|
319
|
+
* - checksum: Content hash
|
|
320
|
+
* - sourceName: Registry source name
|
|
321
|
+
* - installedAt: ISO 8601 timestamp of initial installation
|
|
322
|
+
* - updatedAt: ISO 8601 timestamp of last update
|
|
323
|
+
* - resolvedSkills: Map of skill FQN to exact resolved version
|
|
324
|
+
* - resolvedCommands: Map of command FQN to exact resolved version
|
|
325
|
+
* - resolvedMcpServers: Map of MCP server FQN to exact resolved version
|
|
326
|
+
*
|
|
327
|
+
* @experimental This API is unstable and may change without notice.
|
|
328
|
+
*/
|
|
329
|
+
export declare const PackLockEntrySchema: Schema.Struct<{
|
|
330
|
+
type: Schema.Literal<["registry"]>;
|
|
331
|
+
scope: typeof Schema.String;
|
|
332
|
+
name: typeof Schema.String;
|
|
333
|
+
resolvedVersion: typeof Schema.String;
|
|
334
|
+
checksum: typeof Schema.String;
|
|
335
|
+
sourceName: typeof Schema.String;
|
|
336
|
+
installedAt: Schema.transform<typeof Schema.String, typeof Schema.DateFromSelf>;
|
|
337
|
+
updatedAt: Schema.transform<typeof Schema.String, typeof Schema.DateFromSelf>;
|
|
338
|
+
resolvedSkills: Schema.Record$<typeof Schema.String, typeof Schema.String>;
|
|
339
|
+
resolvedCommands: Schema.Record$<typeof Schema.String, typeof Schema.String>;
|
|
340
|
+
resolvedMcpServers: Schema.Record$<typeof Schema.String, typeof Schema.String>;
|
|
341
|
+
}>;
|
|
342
|
+
/**
|
|
343
|
+
* Inferred type for PackLockEntry schema.
|
|
344
|
+
*
|
|
345
|
+
* @experimental This API is unstable and may change without notice.
|
|
346
|
+
*/
|
|
347
|
+
export type PackLockEntry = typeof PackLockEntrySchema.Type;
|
|
348
|
+
/**
|
|
349
|
+
* Map of pack names to their lock entries.
|
|
350
|
+
*
|
|
351
|
+
* @experimental This API is unstable and may change without notice.
|
|
352
|
+
*/
|
|
353
|
+
export declare const PacksLockMapSchema: Schema.Record$<typeof Schema.String, Schema.Struct<{
|
|
354
|
+
type: Schema.Literal<["registry"]>;
|
|
355
|
+
scope: typeof Schema.String;
|
|
356
|
+
name: typeof Schema.String;
|
|
357
|
+
resolvedVersion: typeof Schema.String;
|
|
358
|
+
checksum: typeof Schema.String;
|
|
359
|
+
sourceName: typeof Schema.String;
|
|
360
|
+
installedAt: Schema.transform<typeof Schema.String, typeof Schema.DateFromSelf>;
|
|
361
|
+
updatedAt: Schema.transform<typeof Schema.String, typeof Schema.DateFromSelf>;
|
|
362
|
+
resolvedSkills: Schema.Record$<typeof Schema.String, typeof Schema.String>;
|
|
363
|
+
resolvedCommands: Schema.Record$<typeof Schema.String, typeof Schema.String>;
|
|
364
|
+
resolvedMcpServers: Schema.Record$<typeof Schema.String, typeof Schema.String>;
|
|
365
|
+
}>>;
|
|
366
|
+
/**
|
|
367
|
+
* Inferred type for PacksLockMap schema.
|
|
368
|
+
*
|
|
369
|
+
* @experimental This API is unstable and may change without notice.
|
|
370
|
+
*/
|
|
371
|
+
export type PacksLockMap = typeof PacksLockMapSchema.Type;
|
|
310
372
|
/**
|
|
311
373
|
* Schema for lockfile (axm-lock.yaml).
|
|
312
374
|
*
|
|
313
|
-
* The lockfile records the exact resolved state of all installed
|
|
375
|
+
* The lockfile records the exact resolved state of all installed extensions,
|
|
314
376
|
* enabling reproducible installations across environments.
|
|
315
377
|
*
|
|
316
378
|
* Structure:
|
|
317
379
|
* - lockfileVersion: Schema version (currently 1)
|
|
318
380
|
* - skills: Map of skill names to their lock entries
|
|
381
|
+
* - packs: Map of pack names to their lock entries (optional)
|
|
319
382
|
*
|
|
320
383
|
* @experimental This API is unstable and may change without notice.
|
|
321
384
|
*/
|
|
@@ -390,6 +453,19 @@ export declare const LockfileSchema: Schema.Struct<{
|
|
|
390
453
|
checksum: typeof Schema.String;
|
|
391
454
|
sourceName: typeof Schema.String;
|
|
392
455
|
}>]>>;
|
|
456
|
+
packs: Schema.optional<Schema.Record$<typeof Schema.String, Schema.Struct<{
|
|
457
|
+
type: Schema.Literal<["registry"]>;
|
|
458
|
+
scope: typeof Schema.String;
|
|
459
|
+
name: typeof Schema.String;
|
|
460
|
+
resolvedVersion: typeof Schema.String;
|
|
461
|
+
checksum: typeof Schema.String;
|
|
462
|
+
sourceName: typeof Schema.String;
|
|
463
|
+
installedAt: Schema.transform<typeof Schema.String, typeof Schema.DateFromSelf>;
|
|
464
|
+
updatedAt: Schema.transform<typeof Schema.String, typeof Schema.DateFromSelf>;
|
|
465
|
+
resolvedSkills: Schema.Record$<typeof Schema.String, typeof Schema.String>;
|
|
466
|
+
resolvedCommands: Schema.Record$<typeof Schema.String, typeof Schema.String>;
|
|
467
|
+
resolvedMcpServers: Schema.Record$<typeof Schema.String, typeof Schema.String>;
|
|
468
|
+
}>>>;
|
|
393
469
|
}>;
|
|
394
470
|
/**
|
|
395
471
|
* Inferred type for Lockfile schema.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/lockfile/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC;;;;;GAKG;AACH,eAAO,MAAM,cAAc,oEAGzB,CAAC;AAgBH;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;EAOhC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;EAOhC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;EAOnC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;EAQpC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;EAM7B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;;;;;;;EAI/B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;EAQlC,CAAC;AAMH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQhC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,oBAAoB,CAAC,IAAI,CAAC;AAM9D;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAG9B,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAC;AAM5D
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/lockfile/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC;;;;;GAKG;AACH,eAAO,MAAM,cAAc,oEAGzB,CAAC;AAgBH;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;EAOhC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;EAOhC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;EAOnC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;EAQpC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;EAM7B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;;;;;;;EAI/B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;EAQlC,CAAC;AAMH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQhC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,oBAAoB,CAAC,IAAI,CAAC;AAM9D;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAG9B,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAC;AAe5D;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EAY9B,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAC;AAM5D;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;GAG7B,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAC;AAM1D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIzB,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC"}
|
|
@@ -166,22 +166,79 @@ export const SkillsLockMapSchema = Schema.Record({
|
|
|
166
166
|
value: SkillLockEntrySchema,
|
|
167
167
|
});
|
|
168
168
|
// =============================================================================
|
|
169
|
+
// Pack Lock Entry
|
|
170
|
+
// =============================================================================
|
|
171
|
+
/**
|
|
172
|
+
* Resolved extension map: FQN keys to exact version strings.
|
|
173
|
+
* Used for resolvedSkills, resolvedCommands, and resolvedMcpServers.
|
|
174
|
+
*/
|
|
175
|
+
const ResolvedExtensionMapSchema = Schema.Record({
|
|
176
|
+
key: Schema.String,
|
|
177
|
+
value: Schema.String,
|
|
178
|
+
});
|
|
179
|
+
/**
|
|
180
|
+
* Lock entry for a single installed pack.
|
|
181
|
+
* Packs are always registry-sourced with resolved extension versions.
|
|
182
|
+
*
|
|
183
|
+
* Fields:
|
|
184
|
+
* - type: Always "registry"
|
|
185
|
+
* - scope: Pack scope (e.g., "@acme")
|
|
186
|
+
* - name: Pack name without scope
|
|
187
|
+
* - resolvedVersion: Exact resolved version
|
|
188
|
+
* - checksum: Content hash
|
|
189
|
+
* - sourceName: Registry source name
|
|
190
|
+
* - installedAt: ISO 8601 timestamp of initial installation
|
|
191
|
+
* - updatedAt: ISO 8601 timestamp of last update
|
|
192
|
+
* - resolvedSkills: Map of skill FQN to exact resolved version
|
|
193
|
+
* - resolvedCommands: Map of command FQN to exact resolved version
|
|
194
|
+
* - resolvedMcpServers: Map of MCP server FQN to exact resolved version
|
|
195
|
+
*
|
|
196
|
+
* @experimental This API is unstable and may change without notice.
|
|
197
|
+
*/
|
|
198
|
+
export const PackLockEntrySchema = Schema.Struct({
|
|
199
|
+
type: Schema.Literal("registry"),
|
|
200
|
+
scope: Schema.String,
|
|
201
|
+
name: Schema.String,
|
|
202
|
+
resolvedVersion: Schema.String,
|
|
203
|
+
checksum: Schema.String,
|
|
204
|
+
sourceName: Schema.String,
|
|
205
|
+
installedAt: DateFromString,
|
|
206
|
+
updatedAt: DateFromString,
|
|
207
|
+
resolvedSkills: ResolvedExtensionMapSchema,
|
|
208
|
+
resolvedCommands: ResolvedExtensionMapSchema,
|
|
209
|
+
resolvedMcpServers: ResolvedExtensionMapSchema,
|
|
210
|
+
});
|
|
211
|
+
// =============================================================================
|
|
212
|
+
// Packs Lock Map
|
|
213
|
+
// =============================================================================
|
|
214
|
+
/**
|
|
215
|
+
* Map of pack names to their lock entries.
|
|
216
|
+
*
|
|
217
|
+
* @experimental This API is unstable and may change without notice.
|
|
218
|
+
*/
|
|
219
|
+
export const PacksLockMapSchema = Schema.Record({
|
|
220
|
+
key: Schema.String,
|
|
221
|
+
value: PackLockEntrySchema,
|
|
222
|
+
});
|
|
223
|
+
// =============================================================================
|
|
169
224
|
// Lockfile
|
|
170
225
|
// =============================================================================
|
|
171
226
|
/**
|
|
172
227
|
* Schema for lockfile (axm-lock.yaml).
|
|
173
228
|
*
|
|
174
|
-
* The lockfile records the exact resolved state of all installed
|
|
229
|
+
* The lockfile records the exact resolved state of all installed extensions,
|
|
175
230
|
* enabling reproducible installations across environments.
|
|
176
231
|
*
|
|
177
232
|
* Structure:
|
|
178
233
|
* - lockfileVersion: Schema version (currently 1)
|
|
179
234
|
* - skills: Map of skill names to their lock entries
|
|
235
|
+
* - packs: Map of pack names to their lock entries (optional)
|
|
180
236
|
*
|
|
181
237
|
* @experimental This API is unstable and may change without notice.
|
|
182
238
|
*/
|
|
183
239
|
export const LockfileSchema = Schema.Struct({
|
|
184
240
|
lockfileVersion: Schema.Number,
|
|
185
241
|
skills: SkillsLockMapSchema,
|
|
242
|
+
packs: Schema.optional(PacksLockMapSchema),
|
|
186
243
|
});
|
|
187
244
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/lockfile/schema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/lockfile/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/src/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAUxC,eAAO,MAAM,OAAO;;;;;;gBA2BnB,CAAC"}
|