@detergent-software/atk 8.9.0 → 8.9.1-dev.1
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/CHANGELOG.md +312 -0
- package/README.md +22 -12
- package/build/cli.js +18 -6
- package/build/cli.js.map +1 -1
- package/build/command-manifest.json +1507 -0
- package/build/commands/_app.d.ts.map +1 -1
- package/build/commands/_app.js +8 -4
- package/build/commands/_app.js.map +1 -1
- package/build/commands/audit.d.ts.map +1 -1
- package/build/commands/audit.js +1 -1
- package/build/commands/audit.js.map +1 -1
- package/build/commands/browse.js +2 -2
- package/build/commands/browse.js.map +1 -1
- package/build/commands/cache.d.ts +1 -1
- package/build/commands/cache.d.ts.map +1 -1
- package/build/commands/cache.js +1 -16
- package/build/commands/cache.js.map +1 -1
- package/build/commands/config.d.ts.map +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/config.js.map +1 -1
- package/build/commands/diff.d.ts.map +1 -1
- package/build/commands/diff.js +4 -0
- package/build/commands/diff.js.map +1 -1
- package/build/commands/drift.d.ts.map +1 -1
- package/build/commands/drift.js +4 -0
- package/build/commands/drift.js.map +1 -1
- package/build/commands/index.d.ts.map +1 -1
- package/build/commands/index.js +5 -40
- package/build/commands/index.js.map +1 -1
- package/build/commands/info.d.ts.map +1 -1
- package/build/commands/info.js +50 -33
- package/build/commands/info.js.map +1 -1
- package/build/commands/init.d.ts.map +1 -1
- package/build/commands/init.js +4 -2
- package/build/commands/init.js.map +1 -1
- package/build/commands/install.d.ts.map +1 -1
- package/build/commands/install.js +28 -7
- package/build/commands/install.js.map +1 -1
- package/build/commands/list.js +2 -2
- package/build/commands/list.js.map +1 -1
- package/build/commands/login.d.ts.map +1 -1
- package/build/commands/login.js +12 -2
- package/build/commands/login.js.map +1 -1
- package/build/commands/logout.d.ts.map +1 -1
- package/build/commands/logout.js +9 -1
- package/build/commands/logout.js.map +1 -1
- package/build/commands/outdated.js +1 -1
- package/build/commands/outdated.js.map +1 -1
- package/build/commands/prune.d.ts.map +1 -1
- package/build/commands/prune.js +4 -2
- package/build/commands/prune.js.map +1 -1
- package/build/commands/publish.d.ts +1 -1
- package/build/commands/publish.d.ts.map +1 -1
- package/build/commands/publish.js +33 -37
- package/build/commands/publish.js.map +1 -1
- package/build/commands/release-notes.d.ts.map +1 -1
- package/build/commands/release-notes.js +4 -0
- package/build/commands/release-notes.js.map +1 -1
- package/build/commands/schema.d.ts +3 -3
- package/build/commands/search.js +1 -1
- package/build/commands/search.js.map +1 -1
- package/build/commands/sync.d.ts +1 -1
- package/build/commands/sync.d.ts.map +1 -1
- package/build/commands/sync.js +27 -12
- package/build/commands/sync.js.map +1 -1
- package/build/commands/update.d.ts.map +1 -1
- package/build/commands/update.js +58 -9
- package/build/commands/update.js.map +1 -1
- package/build/commands/whoami.d.ts.map +1 -1
- package/build/commands/whoami.js +16 -4
- package/build/commands/whoami.js.map +1 -1
- package/build/commands/why.js +3 -4
- package/build/commands/why.js.map +1 -1
- package/build/components/Header.d.ts +2 -3
- package/build/components/Header.d.ts.map +1 -1
- package/build/components/Header.js +2 -9
- package/build/components/Header.js.map +1 -1
- package/build/components/LocalEditsHint.d.ts +16 -0
- package/build/components/LocalEditsHint.d.ts.map +1 -0
- package/build/components/LocalEditsHint.js +18 -0
- package/build/components/LocalEditsHint.js.map +1 -0
- package/build/components/SyncAllInSync.d.ts +5 -1
- package/build/components/SyncAllInSync.d.ts.map +1 -1
- package/build/components/SyncAllInSync.js +2 -2
- package/build/components/SyncAllInSync.js.map +1 -1
- package/build/components/header-art.d.ts +7 -0
- package/build/components/header-art.d.ts.map +1 -0
- package/build/components/header-art.js +14 -0
- package/build/components/header-art.js.map +1 -0
- package/build/components/index.d.ts +1 -0
- package/build/components/index.d.ts.map +1 -1
- package/build/components/index.js +1 -0
- package/build/components/index.js.map +1 -1
- package/build/hooks/useListActions.d.ts.map +1 -1
- package/build/hooks/useListActions.js +4 -0
- package/build/hooks/useListActions.js.map +1 -1
- package/build/hooks/usePruneState.d.ts +1 -7
- package/build/hooks/usePruneState.d.ts.map +1 -1
- package/build/hooks/usePruneState.js +18 -62
- package/build/hooks/usePruneState.js.map +1 -1
- package/build/hooks/usePublishState.d.ts +38 -207
- package/build/hooks/usePublishState.d.ts.map +1 -1
- package/build/hooks/usePublishState.js +83 -1501
- package/build/hooks/usePublishState.js.map +1 -1
- package/build/lib/adapter.d.ts +10 -1
- package/build/lib/adapter.d.ts.map +1 -1
- package/build/lib/adapter.js +46 -3
- package/build/lib/adapter.js.map +1 -1
- package/build/lib/api-client.d.ts +9 -5
- package/build/lib/api-client.d.ts.map +1 -1
- package/build/lib/api-client.js +35 -8
- package/build/lib/api-client.js.map +1 -1
- package/build/lib/atk-api/errors.d.ts +5 -2
- package/build/lib/atk-api/errors.d.ts.map +1 -1
- package/build/lib/atk-api/errors.js +1 -0
- package/build/lib/atk-api/errors.js.map +1 -1
- package/build/lib/atk-api/generated/types.gen.d.ts +12 -12
- package/build/lib/atk-api/index.d.ts +2 -2
- package/build/lib/atk-api/index.d.ts.map +1 -1
- package/build/lib/atk-api/index.js +1 -1
- package/build/lib/atk-api/index.js.map +1 -1
- package/build/lib/atk-api/web-routes.d.ts +25 -6
- package/build/lib/atk-api/web-routes.d.ts.map +1 -1
- package/build/lib/atk-api/web-routes.js +27 -8
- package/build/lib/atk-api/web-routes.js.map +1 -1
- package/build/lib/auth.d.ts +12 -2
- package/build/lib/auth.d.ts.map +1 -1
- package/build/lib/auth.js +38 -3
- package/build/lib/auth.js.map +1 -1
- package/build/lib/checksum.d.ts +40 -14
- package/build/lib/checksum.d.ts.map +1 -1
- package/build/lib/checksum.js +110 -57
- package/build/lib/checksum.js.map +1 -1
- package/build/lib/config.d.ts +4 -4
- package/build/lib/config.d.ts.map +1 -1
- package/build/lib/config.js +31 -8
- package/build/lib/config.js.map +1 -1
- package/build/lib/diagnostics.d.ts.map +1 -1
- package/build/lib/diagnostics.js +10 -7
- package/build/lib/diagnostics.js.map +1 -1
- package/build/lib/diff-command.js +1 -1
- package/build/lib/diff-command.js.map +1 -1
- package/build/lib/errors.d.ts +4 -1
- package/build/lib/errors.d.ts.map +1 -1
- package/build/lib/errors.js.map +1 -1
- package/build/lib/format-age.d.ts +3 -0
- package/build/lib/format-age.d.ts.map +1 -0
- package/build/lib/format-age.js +18 -0
- package/build/lib/format-age.js.map +1 -0
- package/build/lib/installer.d.ts +8 -11
- package/build/lib/installer.d.ts.map +1 -1
- package/build/lib/installer.js +83 -28
- package/build/lib/installer.js.map +1 -1
- package/build/lib/local-edits.d.ts +72 -0
- package/build/lib/local-edits.d.ts.map +1 -0
- package/build/lib/local-edits.js +145 -0
- package/build/lib/local-edits.js.map +1 -0
- package/build/lib/lockfile.d.ts +12 -8
- package/build/lib/lockfile.d.ts.map +1 -1
- package/build/lib/lockfile.js +209 -59
- package/build/lib/lockfile.js.map +1 -1
- package/build/lib/mover.d.ts.map +1 -1
- package/build/lib/mover.js +11 -12
- package/build/lib/mover.js.map +1 -1
- package/build/lib/multi-tool-install.d.ts +4 -2
- package/build/lib/multi-tool-install.d.ts.map +1 -1
- package/build/lib/multi-tool-install.js +12 -2
- package/build/lib/multi-tool-install.js.map +1 -1
- package/build/lib/offline.d.ts +19 -0
- package/build/lib/offline.d.ts.map +1 -0
- package/build/lib/offline.js +26 -0
- package/build/lib/offline.js.map +1 -0
- package/build/lib/owned-paths.d.ts +7 -4
- package/build/lib/owned-paths.d.ts.map +1 -1
- package/build/lib/owned-paths.js +23 -8
- package/build/lib/owned-paths.js.map +1 -1
- package/build/lib/parse-json.d.ts +12 -0
- package/build/lib/parse-json.d.ts.map +1 -1
- package/build/lib/parse-json.js +15 -2
- package/build/lib/parse-json.js.map +1 -1
- package/build/lib/pastel/commander-specs.d.ts +7 -0
- package/build/lib/pastel/commander-specs.d.ts.map +1 -0
- package/build/lib/pastel/commander-specs.js +50 -0
- package/build/lib/pastel/commander-specs.js.map +1 -0
- package/build/lib/pastel/generate-arguments.d.ts +3 -3
- package/build/lib/pastel/generate-arguments.d.ts.map +1 -1
- package/build/lib/pastel/generate-arguments.js +25 -22
- package/build/lib/pastel/generate-arguments.js.map +1 -1
- package/build/lib/pastel/generate-command.d.ts +7 -5
- package/build/lib/pastel/generate-command.d.ts.map +1 -1
- package/build/lib/pastel/generate-command.js +32 -67
- package/build/lib/pastel/generate-command.js.map +1 -1
- package/build/lib/pastel/generate-commands.d.ts +3 -5
- package/build/lib/pastel/generate-commands.d.ts.map +1 -1
- package/build/lib/pastel/generate-commands.js +6 -10
- package/build/lib/pastel/generate-commands.js.map +1 -1
- package/build/lib/pastel/generate-options.d.ts +3 -3
- package/build/lib/pastel/generate-options.d.ts.map +1 -1
- package/build/lib/pastel/generate-options.js +16 -13
- package/build/lib/pastel/generate-options.js.map +1 -1
- package/build/lib/pastel/index.d.ts +26 -4
- package/build/lib/pastel/index.d.ts.map +1 -1
- package/build/lib/pastel/index.js +104 -18
- package/build/lib/pastel/index.js.map +1 -1
- package/build/lib/pastel/internal-types.d.ts +39 -8
- package/build/lib/pastel/internal-types.d.ts.map +1 -1
- package/build/lib/pastel/manifest.d.ts +8 -0
- package/build/lib/pastel/manifest.d.ts.map +1 -0
- package/build/lib/pastel/manifest.js +7 -0
- package/build/lib/pastel/manifest.js.map +1 -0
- package/build/lib/pastel/read-commands.d.ts +7 -2
- package/build/lib/pastel/read-commands.d.ts.map +1 -1
- package/build/lib/pastel/read-commands.js +51 -30
- package/build/lib/pastel/read-commands.js.map +1 -1
- package/build/lib/pastel/render-command.d.ts +13 -0
- package/build/lib/pastel/render-command.d.ts.map +1 -0
- package/build/lib/pastel/render-command.js +56 -0
- package/build/lib/pastel/render-command.js.map +1 -0
- package/build/lib/process-alive.d.ts +11 -0
- package/build/lib/process-alive.d.ts.map +1 -0
- package/build/lib/process-alive.js +22 -0
- package/build/lib/process-alive.js.map +1 -0
- package/build/lib/pruner.d.ts +26 -0
- package/build/lib/pruner.d.ts.map +1 -0
- package/build/lib/pruner.js +42 -0
- package/build/lib/pruner.js.map +1 -0
- package/build/lib/publish-flow.d.ts +224 -0
- package/build/lib/publish-flow.d.ts.map +1 -0
- package/build/lib/publish-flow.js +1258 -0
- package/build/lib/publish-flow.js.map +1 -0
- package/build/lib/publish-run.d.ts +55 -0
- package/build/lib/publish-run.d.ts.map +1 -0
- package/build/lib/publish-run.js +169 -0
- package/build/lib/publish-run.js.map +1 -0
- package/build/lib/publisher.d.ts +25 -17
- package/build/lib/publisher.d.ts.map +1 -1
- package/build/lib/publisher.js +54 -53
- package/build/lib/publisher.js.map +1 -1
- package/build/lib/registrar.d.ts.map +1 -1
- package/build/lib/registrar.js +2 -2
- package/build/lib/registrar.js.map +1 -1
- package/build/lib/registry.d.ts +18 -7
- package/build/lib/registry.d.ts.map +1 -1
- package/build/lib/registry.js +113 -32
- package/build/lib/registry.js.map +1 -1
- package/build/lib/root-path.d.ts +11 -0
- package/build/lib/root-path.d.ts.map +1 -1
- package/build/lib/root-path.js +15 -1
- package/build/lib/root-path.js.map +1 -1
- package/build/lib/schemas/config.d.ts +3 -1
- package/build/lib/schemas/config.d.ts.map +1 -1
- package/build/lib/schemas/config.js +1 -1
- package/build/lib/schemas/config.js.map +1 -1
- package/build/lib/schemas/lockfile.d.ts +156 -23
- package/build/lib/schemas/lockfile.d.ts.map +1 -1
- package/build/lib/schemas/lockfile.js +100 -79
- package/build/lib/schemas/lockfile.js.map +1 -1
- package/build/lib/setup.d.ts.map +1 -1
- package/build/lib/setup.js +53 -48
- package/build/lib/setup.js.map +1 -1
- package/build/lib/staging.d.ts +15 -0
- package/build/lib/staging.d.ts.map +1 -0
- package/build/lib/staging.js +33 -0
- package/build/lib/staging.js.map +1 -0
- package/build/lib/sync.d.ts +22 -6
- package/build/lib/sync.d.ts.map +1 -1
- package/build/lib/sync.js +59 -7
- package/build/lib/sync.js.map +1 -1
- package/build/lib/uninstaller.d.ts.map +1 -1
- package/build/lib/uninstaller.js +8 -5
- package/build/lib/uninstaller.js.map +1 -1
- package/build/lib/update-check.d.ts +4 -0
- package/build/lib/update-check.d.ts.map +1 -1
- package/build/lib/update-check.js +55 -56
- package/build/lib/update-check.js.map +1 -1
- package/build/lib/updater.d.ts +31 -1
- package/build/lib/updater.d.ts.map +1 -1
- package/build/lib/updater.js +143 -4
- package/build/lib/updater.js.map +1 -1
- package/build/lib/usage-error.d.ts +20 -0
- package/build/lib/usage-error.d.ts.map +1 -0
- package/build/lib/usage-error.js +41 -0
- package/build/lib/usage-error.js.map +1 -0
- package/build/lib/user-setup.d.ts.map +1 -1
- package/build/lib/user-setup.js +62 -59
- package/build/lib/user-setup.js.map +1 -1
- package/build/lib/write-file.d.ts +5 -0
- package/build/lib/write-file.d.ts.map +1 -1
- package/build/lib/write-file.js +68 -13
- package/build/lib/write-file.js.map +1 -1
- package/package.json +81 -81
|
@@ -1,31 +1,157 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
/** The schemas built with `z.object`, for the exported types: a misspelt key in an `InstalledAsset` literal fails to compile. */
|
|
3
|
+
type Known = ReturnType<typeof lockfileSchemas<z.core.$strip>>;
|
|
4
|
+
/** `z.object` (drops keys it doesn't know) or `z.looseObject` (keeps them), for {@link lockfileSchemas}. */
|
|
5
|
+
type ObjectOf<Config extends z.core.$ZodObjectConfig> = <Shape extends z.core.$ZodLooseShape>(shape: Shape) => z.ZodObject<Shape, Config>;
|
|
6
|
+
declare function lockfileSchemas<Config extends z.core.$ZodObjectConfig>(object: ObjectOf<Config>): {
|
|
7
|
+
ConfigEntry: z.ZodObject<{
|
|
8
|
+
checksum: z.ZodString;
|
|
9
|
+
checksumVersion: z.ZodOptional<z.ZodLiteral<2>>;
|
|
10
|
+
command: z.ZodOptional<z.ZodString>;
|
|
11
|
+
file: z.ZodString;
|
|
12
|
+
key: z.ZodString;
|
|
13
|
+
tool: z.ZodOptional<z.ZodString>;
|
|
14
|
+
}, Config>;
|
|
15
|
+
InstalledAsset: z.ZodObject<{
|
|
16
|
+
bundleOrigin: z.ZodOptional<z.ZodObject<{
|
|
17
|
+
name: z.ZodString;
|
|
18
|
+
org: z.ZodOptional<z.ZodString>;
|
|
19
|
+
version: z.ZodString;
|
|
20
|
+
}, Config>>;
|
|
21
|
+
configEntries: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
22
|
+
checksum: z.ZodString;
|
|
23
|
+
checksumVersion: z.ZodOptional<z.ZodLiteral<2>>;
|
|
24
|
+
command: z.ZodOptional<z.ZodString>;
|
|
25
|
+
file: z.ZodString;
|
|
26
|
+
key: z.ZodString;
|
|
27
|
+
tool: z.ZodOptional<z.ZodString>;
|
|
28
|
+
}, Config>>>;
|
|
29
|
+
dependencies: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
30
|
+
name: z.ZodString;
|
|
31
|
+
org: z.ZodOptional<z.ZodString>;
|
|
32
|
+
type: z.ZodEnum<{
|
|
33
|
+
skill: "skill";
|
|
34
|
+
agent: "agent";
|
|
35
|
+
rule: "rule";
|
|
36
|
+
hook: "hook";
|
|
37
|
+
"memory-template": "memory-template";
|
|
38
|
+
"mcp-config": "mcp-config";
|
|
39
|
+
}>;
|
|
40
|
+
version: z.ZodOptional<z.ZodString>;
|
|
41
|
+
}, Config>>>;
|
|
42
|
+
description: z.ZodOptional<z.ZodString>;
|
|
43
|
+
entrypoint: z.ZodOptional<z.ZodString>;
|
|
44
|
+
excludedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
45
|
+
files: z.ZodArray<z.ZodObject<{
|
|
46
|
+
checksum: z.ZodString;
|
|
47
|
+
installedPath: z.ZodOptional<z.ZodString>;
|
|
48
|
+
sourcePath: z.ZodString;
|
|
49
|
+
}, Config>>;
|
|
50
|
+
installReason: z.ZodOptional<z.ZodEnum<{
|
|
51
|
+
direct: "direct";
|
|
52
|
+
dependency: "dependency";
|
|
53
|
+
}>>;
|
|
54
|
+
name: z.ZodString;
|
|
55
|
+
org: z.ZodOptional<z.ZodString>;
|
|
56
|
+
pinnedVersion: z.ZodOptional<z.ZodString>;
|
|
57
|
+
type: z.ZodEnum<{
|
|
58
|
+
skill: "skill";
|
|
59
|
+
agent: "agent";
|
|
60
|
+
rule: "rule";
|
|
61
|
+
hook: "hook";
|
|
62
|
+
"memory-template": "memory-template";
|
|
63
|
+
"mcp-config": "mcp-config";
|
|
64
|
+
}>;
|
|
65
|
+
undeclaredTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
66
|
+
userConfigDirs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
67
|
+
version: z.ZodString;
|
|
68
|
+
}, Config>;
|
|
69
|
+
InstalledFile: z.ZodObject<{
|
|
70
|
+
checksum: z.ZodString;
|
|
71
|
+
installedPath: z.ZodOptional<z.ZodString>;
|
|
72
|
+
sourcePath: z.ZodString;
|
|
73
|
+
}, Config>;
|
|
74
|
+
LockfileSchema: z.ZodObject<{
|
|
75
|
+
assets: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
76
|
+
bundleOrigin: z.ZodOptional<z.ZodObject<{
|
|
77
|
+
name: z.ZodString;
|
|
78
|
+
org: z.ZodOptional<z.ZodString>;
|
|
79
|
+
version: z.ZodString;
|
|
80
|
+
}, Config>>;
|
|
81
|
+
configEntries: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
82
|
+
checksum: z.ZodString;
|
|
83
|
+
checksumVersion: z.ZodOptional<z.ZodLiteral<2>>;
|
|
84
|
+
command: z.ZodOptional<z.ZodString>;
|
|
85
|
+
file: z.ZodString;
|
|
86
|
+
key: z.ZodString;
|
|
87
|
+
tool: z.ZodOptional<z.ZodString>;
|
|
88
|
+
}, Config>>>;
|
|
89
|
+
dependencies: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
90
|
+
name: z.ZodString;
|
|
91
|
+
org: z.ZodOptional<z.ZodString>;
|
|
92
|
+
type: z.ZodEnum<{
|
|
93
|
+
skill: "skill";
|
|
94
|
+
agent: "agent";
|
|
95
|
+
rule: "rule";
|
|
96
|
+
hook: "hook";
|
|
97
|
+
"memory-template": "memory-template";
|
|
98
|
+
"mcp-config": "mcp-config";
|
|
99
|
+
}>;
|
|
100
|
+
version: z.ZodOptional<z.ZodString>;
|
|
101
|
+
}, Config>>>;
|
|
102
|
+
description: z.ZodOptional<z.ZodString>;
|
|
103
|
+
entrypoint: z.ZodOptional<z.ZodString>;
|
|
104
|
+
excludedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
105
|
+
files: z.ZodArray<z.ZodObject<{
|
|
106
|
+
checksum: z.ZodString;
|
|
107
|
+
installedPath: z.ZodOptional<z.ZodString>;
|
|
108
|
+
sourcePath: z.ZodString;
|
|
109
|
+
}, Config>>;
|
|
110
|
+
installReason: z.ZodOptional<z.ZodEnum<{
|
|
111
|
+
direct: "direct";
|
|
112
|
+
dependency: "dependency";
|
|
113
|
+
}>>;
|
|
114
|
+
name: z.ZodString;
|
|
115
|
+
org: z.ZodOptional<z.ZodString>;
|
|
116
|
+
pinnedVersion: z.ZodOptional<z.ZodString>;
|
|
117
|
+
type: z.ZodEnum<{
|
|
118
|
+
skill: "skill";
|
|
119
|
+
agent: "agent";
|
|
120
|
+
rule: "rule";
|
|
121
|
+
hook: "hook";
|
|
122
|
+
"memory-template": "memory-template";
|
|
123
|
+
"mcp-config": "mcp-config";
|
|
124
|
+
}>;
|
|
125
|
+
undeclaredTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
126
|
+
userConfigDirs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
127
|
+
version: z.ZodString;
|
|
128
|
+
}, Config>>>;
|
|
129
|
+
lockVersion: z.ZodLiteral<1>;
|
|
130
|
+
org: z.ZodOptional<z.ZodString>;
|
|
131
|
+
orgReviewers: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
132
|
+
}, Config>;
|
|
133
|
+
};
|
|
8
134
|
export declare const ConfigEntry: z.ZodObject<{
|
|
9
135
|
checksum: z.ZodString;
|
|
136
|
+
checksumVersion: z.ZodOptional<z.ZodLiteral<2>>;
|
|
10
137
|
command: z.ZodOptional<z.ZodString>;
|
|
11
138
|
file: z.ZodString;
|
|
12
139
|
key: z.ZodString;
|
|
13
140
|
tool: z.ZodOptional<z.ZodString>;
|
|
14
|
-
}, z.core.$
|
|
15
|
-
export type ConfigEntry = z.infer<typeof ConfigEntry>;
|
|
16
|
-
export declare const InstalledAsset: z.ZodObject<{
|
|
141
|
+
}, z.core.$loose>, InstalledAsset: z.ZodObject<{
|
|
17
142
|
bundleOrigin: z.ZodOptional<z.ZodObject<{
|
|
18
143
|
name: z.ZodString;
|
|
19
144
|
org: z.ZodOptional<z.ZodString>;
|
|
20
145
|
version: z.ZodString;
|
|
21
|
-
}, z.core.$
|
|
146
|
+
}, z.core.$loose>>;
|
|
22
147
|
configEntries: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
23
148
|
checksum: z.ZodString;
|
|
149
|
+
checksumVersion: z.ZodOptional<z.ZodLiteral<2>>;
|
|
24
150
|
command: z.ZodOptional<z.ZodString>;
|
|
25
151
|
file: z.ZodString;
|
|
26
152
|
key: z.ZodString;
|
|
27
153
|
tool: z.ZodOptional<z.ZodString>;
|
|
28
|
-
}, z.core.$
|
|
154
|
+
}, z.core.$loose>>>;
|
|
29
155
|
dependencies: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
30
156
|
name: z.ZodString;
|
|
31
157
|
org: z.ZodOptional<z.ZodString>;
|
|
@@ -38,7 +164,7 @@ export declare const InstalledAsset: z.ZodObject<{
|
|
|
38
164
|
"mcp-config": "mcp-config";
|
|
39
165
|
}>;
|
|
40
166
|
version: z.ZodOptional<z.ZodString>;
|
|
41
|
-
}, z.core.$
|
|
167
|
+
}, z.core.$loose>>>;
|
|
42
168
|
description: z.ZodOptional<z.ZodString>;
|
|
43
169
|
entrypoint: z.ZodOptional<z.ZodString>;
|
|
44
170
|
excludedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -46,7 +172,7 @@ export declare const InstalledAsset: z.ZodObject<{
|
|
|
46
172
|
checksum: z.ZodString;
|
|
47
173
|
installedPath: z.ZodOptional<z.ZodString>;
|
|
48
174
|
sourcePath: z.ZodString;
|
|
49
|
-
}, z.core.$
|
|
175
|
+
}, z.core.$loose>>;
|
|
50
176
|
installReason: z.ZodOptional<z.ZodEnum<{
|
|
51
177
|
direct: "direct";
|
|
52
178
|
dependency: "dependency";
|
|
@@ -65,22 +191,25 @@ export declare const InstalledAsset: z.ZodObject<{
|
|
|
65
191
|
undeclaredTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
66
192
|
userConfigDirs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
67
193
|
version: z.ZodString;
|
|
68
|
-
}, z.core.$
|
|
69
|
-
|
|
70
|
-
|
|
194
|
+
}, z.core.$loose>, InstalledFile: z.ZodObject<{
|
|
195
|
+
checksum: z.ZodString;
|
|
196
|
+
installedPath: z.ZodOptional<z.ZodString>;
|
|
197
|
+
sourcePath: z.ZodString;
|
|
198
|
+
}, z.core.$loose>, LockfileSchema: z.ZodObject<{
|
|
71
199
|
assets: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
72
200
|
bundleOrigin: z.ZodOptional<z.ZodObject<{
|
|
73
201
|
name: z.ZodString;
|
|
74
202
|
org: z.ZodOptional<z.ZodString>;
|
|
75
203
|
version: z.ZodString;
|
|
76
|
-
}, z.core.$
|
|
204
|
+
}, z.core.$loose>>;
|
|
77
205
|
configEntries: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
78
206
|
checksum: z.ZodString;
|
|
207
|
+
checksumVersion: z.ZodOptional<z.ZodLiteral<2>>;
|
|
79
208
|
command: z.ZodOptional<z.ZodString>;
|
|
80
209
|
file: z.ZodString;
|
|
81
210
|
key: z.ZodString;
|
|
82
211
|
tool: z.ZodOptional<z.ZodString>;
|
|
83
|
-
}, z.core.$
|
|
212
|
+
}, z.core.$loose>>>;
|
|
84
213
|
dependencies: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
85
214
|
name: z.ZodString;
|
|
86
215
|
org: z.ZodOptional<z.ZodString>;
|
|
@@ -93,7 +222,7 @@ export declare const LockfileSchema: z.ZodObject<{
|
|
|
93
222
|
"mcp-config": "mcp-config";
|
|
94
223
|
}>;
|
|
95
224
|
version: z.ZodOptional<z.ZodString>;
|
|
96
|
-
}, z.core.$
|
|
225
|
+
}, z.core.$loose>>>;
|
|
97
226
|
description: z.ZodOptional<z.ZodString>;
|
|
98
227
|
entrypoint: z.ZodOptional<z.ZodString>;
|
|
99
228
|
excludedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -101,7 +230,7 @@ export declare const LockfileSchema: z.ZodObject<{
|
|
|
101
230
|
checksum: z.ZodString;
|
|
102
231
|
installedPath: z.ZodOptional<z.ZodString>;
|
|
103
232
|
sourcePath: z.ZodString;
|
|
104
|
-
}, z.core.$
|
|
233
|
+
}, z.core.$loose>>;
|
|
105
234
|
installReason: z.ZodOptional<z.ZodEnum<{
|
|
106
235
|
direct: "direct";
|
|
107
236
|
dependency: "dependency";
|
|
@@ -120,10 +249,14 @@ export declare const LockfileSchema: z.ZodObject<{
|
|
|
120
249
|
undeclaredTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
121
250
|
userConfigDirs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
122
251
|
version: z.ZodString;
|
|
123
|
-
}, z.core.$
|
|
252
|
+
}, z.core.$loose>>>;
|
|
124
253
|
lockVersion: z.ZodLiteral<1>;
|
|
125
254
|
org: z.ZodOptional<z.ZodString>;
|
|
126
255
|
orgReviewers: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
127
|
-
}, z.core.$
|
|
128
|
-
export type
|
|
256
|
+
}, z.core.$loose>;
|
|
257
|
+
export type ConfigEntry = z.infer<Known['ConfigEntry']>;
|
|
258
|
+
export type InstalledAsset = z.infer<Known['InstalledAsset']>;
|
|
259
|
+
export type InstalledFile = z.infer<Known['InstalledFile']>;
|
|
260
|
+
export type Lockfile = z.infer<Known['LockfileSchema']>;
|
|
261
|
+
export {};
|
|
129
262
|
//# sourceMappingURL=lockfile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lockfile.d.ts","sourceRoot":"","sources":["../../../src/lib/schemas/lockfile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"lockfile.d.ts","sourceRoot":"","sources":["../../../src/lib/schemas/lockfile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,iIAAiI;AACjI,KAAK,KAAK,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAE/D,4GAA4G;AAC5G,KAAK,QAAQ,CAAC,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,EAC1F,KAAK,EAAE,KAAK,KACT,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAEhC,iBAAS,eAAe,CAAC,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyHxF;AAID,eAAO,MAAQ,WAAW;;;;;;;mBAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,aAAa;;;;mBAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAExE,CAAC;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;AACxD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;AAC5D,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC"}
|
|
@@ -1,82 +1,103 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { AssetTypeSchema as AssetType } from '../atk-schemas/index.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
.string()
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
.optional()
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
.
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
})
|
|
3
|
+
import { ASSET_FILE_PATH, PATH_SEGMENT } from '../root-path.js';
|
|
4
|
+
function lockfileSchemas(object) {
|
|
5
|
+
const InstalledFile = object({
|
|
6
|
+
checksum: z.string().describe('SHA-256 checksum of the file contents'),
|
|
7
|
+
installedPath: z
|
|
8
|
+
.string()
|
|
9
|
+
.optional()
|
|
10
|
+
.describe('Project-relative POSIX path to where the file was installed (computed via adapter for legacy entries); absolute at the user scope when the tool’s config directory is on another drive than the user root'),
|
|
11
|
+
sourcePath: z
|
|
12
|
+
.string()
|
|
13
|
+
.regex(ASSET_FILE_PATH, 'must be a relative path inside the asset directory, with no ".." segment')
|
|
14
|
+
.describe('Original path within the asset directory'),
|
|
15
|
+
});
|
|
16
|
+
const ConfigEntry = object({
|
|
17
|
+
checksum: z.string().describe('SHA-256 hex digest of the config entry value'),
|
|
18
|
+
checksumVersion: z
|
|
19
|
+
.literal(2)
|
|
20
|
+
.optional()
|
|
21
|
+
.describe('How the checksum was computed: 2 hashes the value with keys sorted at every depth. Absent on entries written by older CLI versions, whose digest ignores nested keys; the next sync records them again as 2. Hook groups (entries with a command) always hash every depth and ignore it'),
|
|
22
|
+
command: z
|
|
23
|
+
.string()
|
|
24
|
+
.optional()
|
|
25
|
+
.describe('For array-valued config sections (e.g. hooks.<Event>): identifies the array element this asset owns by its nested hooks[].command value'),
|
|
26
|
+
file: z
|
|
27
|
+
.string()
|
|
28
|
+
.describe('Project-relative POSIX path to the config file; absolute at the user scope when the tool’s config directory is on another drive than the user root'),
|
|
29
|
+
key: z.string().describe('Dot-path key within the config file (e.g. hooks.Stop)'),
|
|
30
|
+
tool: z
|
|
31
|
+
.string()
|
|
32
|
+
.optional()
|
|
33
|
+
.describe('Tool adapter id (e.g. claude-code) that registered this entry. Absent on entries written by older CLI versions; ownership is then inferred from the config file path'),
|
|
34
|
+
});
|
|
35
|
+
const InstalledAsset = object({
|
|
36
|
+
bundleOrigin: object({
|
|
37
|
+
name: z.string().describe('Bundle name that sourced this asset'),
|
|
38
|
+
org: z.string().optional().describe('Organization scope of the bundle (absent for global bundles)'),
|
|
39
|
+
version: z.string().describe('Bundle version at install time'),
|
|
40
|
+
})
|
|
41
|
+
.optional()
|
|
42
|
+
.describe('Bundle that triggered this asset installation'),
|
|
43
|
+
configEntries: z.array(ConfigEntry).optional().describe('Config file entries registered by this asset'),
|
|
44
|
+
dependencies: z
|
|
45
|
+
.array(object({
|
|
46
|
+
name: z.string().describe('Dependency asset name'),
|
|
47
|
+
org: z.string().optional().describe('Organization scope of the dependency'),
|
|
48
|
+
type: AssetType.describe('Dependency asset type'),
|
|
49
|
+
version: z.string().optional().describe('Dependency version constraint at install time'),
|
|
50
|
+
}))
|
|
51
|
+
.optional()
|
|
52
|
+
.describe('Assets this asset depends on'),
|
|
53
|
+
description: z.string().optional().describe('Short description of the asset'),
|
|
54
|
+
entrypoint: z
|
|
55
|
+
.string()
|
|
56
|
+
.optional()
|
|
57
|
+
.describe('Primary file for this asset (relative to the asset directory), from the manifest — used to resolve adapter placement paths'),
|
|
58
|
+
excludedTools: z
|
|
59
|
+
.array(z.string())
|
|
60
|
+
.optional()
|
|
61
|
+
.describe('Tool adapter ids (e.g. codex-cli) this asset was explicitly uninstalled for, or that a hook was skipped for because its manifest does not declare them (those are also in undeclaredTools). Sync, audit and update skip the asset for these tools; installing it for a tool removes that tool again. Absent means the asset is wanted for every tool'),
|
|
62
|
+
files: z.array(InstalledFile).describe('Files placed by this asset'),
|
|
63
|
+
installReason: z
|
|
64
|
+
.enum(['direct', 'dependency'])
|
|
65
|
+
.optional()
|
|
66
|
+
.describe('Whether the user explicitly installed this or it was pulled in as a dependency'),
|
|
67
|
+
name: z
|
|
68
|
+
.string()
|
|
69
|
+
.regex(PATH_SEGMENT, 'must be one path segment: no "/" or "\\", and not "." or ".."')
|
|
70
|
+
.describe('Asset name'),
|
|
71
|
+
org: z.string().optional().describe('Organization scope for this asset'),
|
|
72
|
+
pinnedVersion: z.string().optional().describe('Pinned version constraint, if the asset is version-pinned'),
|
|
73
|
+
type: AssetType.describe('Asset type'),
|
|
74
|
+
undeclaredTools: z
|
|
75
|
+
.array(z.string())
|
|
76
|
+
.optional()
|
|
77
|
+
.describe('The tools in excludedTools that a hook was skipped for because its manifest does not declare them, not uninstalled for. Sync and update place the hook for such a tool once its version declares it'),
|
|
78
|
+
userConfigDirs: z
|
|
79
|
+
.record(z.string(), z.string())
|
|
80
|
+
.optional()
|
|
81
|
+
.describe('User scope only: per tool adapter id, the directory its `userConfigDir.env` (e.g. CLAUDE_CONFIG_DIR) had moved the tool’s user config to when ATK placed this asset, relative to the user root (e.g. { "claude-code": "../cc" }), or absolute when it is on another drive (e.g. "D:/cc"). A tool missing here placed it in its default directory. Uninstall, sync and audit find the tool’s copy there'),
|
|
82
|
+
version: z.string().describe('Installed version'),
|
|
83
|
+
});
|
|
84
|
+
const LockfileSchema = object({
|
|
85
|
+
assets: z.array(InstalledAsset).optional().describe('Currently installed assets'),
|
|
86
|
+
// A new field doesn't bump this: since ATK-587 a CLI keeps the keys it doesn't know, so an older
|
|
87
|
+
// one writing the lockfile leaves a newer one's fields alone. Bump it only for a change an older
|
|
88
|
+
// CLI can't read safely: every released CLI refuses anything but 1 (readLockfile names the upgrade).
|
|
89
|
+
lockVersion: z
|
|
90
|
+
.literal(1)
|
|
91
|
+
.describe('Lock file format version. Added fields keep it at 1: a CLI keeps the keys it does not know when it writes the lockfile'),
|
|
92
|
+
org: z.string().optional().describe('Organization scope for this lockfile'),
|
|
93
|
+
orgReviewers: z
|
|
94
|
+
.array(z.string())
|
|
95
|
+
.optional()
|
|
96
|
+
.describe('GitHub usernames auto-requested as PR reviewers for org-scoped asset publishes'),
|
|
97
|
+
});
|
|
98
|
+
return { ConfigEntry, InstalledAsset, InstalledFile, LockfileSchema };
|
|
99
|
+
}
|
|
100
|
+
// The schemas keep keys this CLI doesn't know, so a teammate on an older CLI doesn't erase a newer
|
|
101
|
+
// one's fields when they write the lockfile (ATK-587). The types come from `Known`, without them.
|
|
102
|
+
export const { ConfigEntry, InstalledAsset, InstalledFile, LockfileSchema } = lockfileSchemas(z.looseObject);
|
|
82
103
|
//# sourceMappingURL=lockfile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lockfile.js","sourceRoot":"","sources":["../../../src/lib/schemas/lockfile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,IAAI,SAAS,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"lockfile.js","sourceRoot":"","sources":["../../../src/lib/schemas/lockfile.ts"],"names":[],"mappings":"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"}
|
package/build/lib/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/lib/setup.ts"],"names":[],"mappings":"AAaA,OAAO,EAAc,KAAK,aAAa,EAAgB,MAAM,YAAY,CAAC;AAM1E;;;GAGG;AACH,eAAO,MAAM,WAAW,QAA4B,CAAC;AAMrD,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAMD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAa1D;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/lib/setup.ts"],"names":[],"mappings":"AAaA,OAAO,EAAc,KAAK,aAAa,EAAgB,MAAM,YAAY,CAAC;AAM1E;;;GAGG;AACH,eAAO,MAAM,WAAW,QAA4B,CAAC;AAMrD,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAMD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAa1D;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAkHtG;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAWxF;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,EACtC,WAAW,EACX,IAAY,GACb,EAAE;IACD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GAAG,OAAO,CAAC,aAAa,CAAC,CAOzB"}
|
package/build/lib/setup.js
CHANGED
|
@@ -5,7 +5,7 @@ import { loadAdapter } from './adapter.js';
|
|
|
5
5
|
import { loadProjectConfig, saveProjectConfig } from './config.js';
|
|
6
6
|
import { errorMessage } from './errors.js';
|
|
7
7
|
import { ensureGitignoreEntries, ensureGitignorePatterns } from './gitignore.js';
|
|
8
|
-
import { getLockfilePath, readLockfile, writeLockfile } from './lockfile.js';
|
|
8
|
+
import { getLockfilePath, readLockfile, withLockfileErrorHandling, writeLockfile } from './lockfile.js';
|
|
9
9
|
import { resolveSetupRoot } from './paths.js';
|
|
10
10
|
import { isUserRoot, resolveScope } from './scope.js';
|
|
11
11
|
// ---------------------------------------------------------------------------
|
|
@@ -48,56 +48,61 @@ export async function performSetupCreation(options) {
|
|
|
48
48
|
const actions = [];
|
|
49
49
|
const warnings = [];
|
|
50
50
|
const resolvedOrg = resolveSetupOrg(orgValue, orgLocked);
|
|
51
|
-
// 1
|
|
52
|
-
//
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
tools
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
actions.push({
|
|
63
|
-
detail: `tools: ${selectedTools.join(', ')}${listChanged ? ` — replaced: ${previousTools.join(', ')}` : ''}`,
|
|
64
|
-
label: 'Wrote .atkrc.json',
|
|
65
|
-
});
|
|
66
|
-
const removedTools = previousTools.filter((t) => !selectedTools.includes(t));
|
|
67
|
-
if (removedTools.length > 0) {
|
|
68
|
-
actions.push({
|
|
69
|
-
detail: `${removedTools.join(', ')} — installed files and config directories were left in place`,
|
|
70
|
-
label: 'Removed from tools list',
|
|
51
|
+
// Steps 1 and 2 run under the lockfile lock, so a concurrent install's or move's write isn't
|
|
52
|
+
// lost, and a lock that stays held fails setup before it changes anything.
|
|
53
|
+
await withLockfileErrorHandling(projectDir, async () => {
|
|
54
|
+
// 1. Write .atkrc.json with { tools: [...] }. Setup replaces the tools list, so say which
|
|
55
|
+
// list it replaced and which tools dropped out of it.
|
|
56
|
+
// Frozen assets are not setup's to change, so they carry over.
|
|
57
|
+
const previousConfig = await loadPreviousConfig(projectDir);
|
|
58
|
+
const previousTools = previousConfig?.tools ?? [];
|
|
59
|
+
await saveProjectConfig(projectDir, {
|
|
60
|
+
...(previousConfig?.frozenAssets?.length ? { frozenAssets: previousConfig.frozenAssets } : {}),
|
|
61
|
+
tools: selectedTools,
|
|
71
62
|
});
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
const lockfilePath = getLockfilePath(projectDir);
|
|
75
|
-
if (existsSync(lockfilePath)) {
|
|
76
|
-
// Preserve existing assets and org
|
|
77
|
-
const existing = await readLockfile(projectDir);
|
|
78
|
-
// Only update org if it's not already set and we have a new one
|
|
79
|
-
const updatedLockfile = {
|
|
80
|
-
...existing,
|
|
81
|
-
lockVersion: 1,
|
|
82
|
-
...(resolvedOrg !== undefined && !existing.org ? { org: resolvedOrg } : {}),
|
|
83
|
-
};
|
|
84
|
-
await writeLockfile(projectDir, updatedLockfile);
|
|
63
|
+
const listChanged = previousTools.length > 0 &&
|
|
64
|
+
(previousTools.length !== selectedTools.length || previousTools.some((t, i) => t !== selectedTools[i]));
|
|
85
65
|
actions.push({
|
|
86
|
-
detail:
|
|
87
|
-
label: '
|
|
66
|
+
detail: `tools: ${selectedTools.join(', ')}${listChanged ? ` — replaced: ${previousTools.join(', ')}` : ''}`,
|
|
67
|
+
label: 'Wrote .atkrc.json',
|
|
88
68
|
});
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
69
|
+
const removedTools = previousTools.filter((t) => !selectedTools.includes(t));
|
|
70
|
+
if (removedTools.length > 0) {
|
|
71
|
+
actions.push({
|
|
72
|
+
detail: `${removedTools.join(', ')} — installed files and config directories were left in place`,
|
|
73
|
+
label: 'Removed from tools list',
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
// 2. Write/update .atk-lock.json. The existence check is under the lock too: an install
|
|
77
|
+
// may create the lockfile meanwhile.
|
|
78
|
+
const lockfilePath = getLockfilePath(projectDir);
|
|
79
|
+
if (existsSync(lockfilePath)) {
|
|
80
|
+
// Preserve existing assets and org
|
|
81
|
+
const existing = await readLockfile(projectDir);
|
|
82
|
+
// Only update org if it's not already set and we have a new one
|
|
83
|
+
const updatedLockfile = {
|
|
84
|
+
...existing,
|
|
85
|
+
lockVersion: 1,
|
|
86
|
+
...(resolvedOrg !== undefined && !existing.org ? { org: resolvedOrg } : {}),
|
|
87
|
+
};
|
|
88
|
+
await writeLockfile(projectDir, updatedLockfile);
|
|
89
|
+
actions.push({
|
|
90
|
+
detail: `${(existing.assets ?? []).length} existing asset(s) preserved`,
|
|
91
|
+
label: 'Updated .atk-lock.json',
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
await writeLockfile(projectDir, {
|
|
96
|
+
assets: [],
|
|
97
|
+
lockVersion: 1,
|
|
98
|
+
...(resolvedOrg !== undefined ? { org: resolvedOrg } : {}),
|
|
99
|
+
});
|
|
100
|
+
actions.push({
|
|
101
|
+
detail: resolvedOrg ? `org: ${resolvedOrg}` : 'no org',
|
|
102
|
+
label: 'Created .atk-lock.json',
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
});
|
|
101
106
|
// 3. Ensure each selected tool's marker directory exists and .atkrc.json is
|
|
102
107
|
// in .gitignore via the adapters' gitignore entries
|
|
103
108
|
const allAdded = [];
|