@detergent-software/atk 8.9.0-dev.1 → 8.9.0-dev.11
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 +75 -0
- package/build/cli.js +0 -0
- 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/index.js +1 -1
- package/build/commands/index.js.map +1 -1
- package/build/commands/install.d.ts.map +1 -1
- package/build/commands/install.js +1 -1
- package/build/commands/install.js.map +1 -1
- package/build/commands/publish.d.ts.map +1 -1
- package/build/commands/publish.js +19 -23
- package/build/commands/publish.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/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/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/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.js +23 -3
- package/build/lib/adapter.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/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/installer.d.ts +2 -7
- package/build/lib/installer.d.ts.map +1 -1
- package/build/lib/installer.js +30 -5
- 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 +10 -6
- package/build/lib/lockfile.d.ts.map +1 -1
- package/build/lib/lockfile.js +191 -50
- package/build/lib/lockfile.js.map +1 -1
- package/build/lib/mover.d.ts.map +1 -1
- package/build/lib/mover.js +8 -12
- package/build/lib/mover.js.map +1 -1
- package/build/lib/owned-paths.d.ts +4 -2
- package/build/lib/owned-paths.d.ts.map +1 -1
- package/build/lib/owned-paths.js +19 -6
- package/build/lib/owned-paths.js.map +1 -1
- package/build/lib/publish-flow.d.ts +227 -0
- package/build/lib/publish-flow.d.ts.map +1 -0
- package/build/lib/publish-flow.js +1316 -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 +164 -0
- package/build/lib/publish-run.js.map +1 -0
- package/build/lib/publisher.d.ts +2 -1
- package/build/lib/publisher.d.ts.map +1 -1
- package/build/lib/publisher.js +20 -18
- package/build/lib/publisher.js.map +1 -1
- package/build/lib/registry.d.ts +4 -1
- package/build/lib/registry.d.ts.map +1 -1
- package/build/lib/registry.js +3 -2
- 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/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/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.js +2 -2
- package/build/lib/uninstaller.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/write-file.d.ts +5 -0
- package/build/lib/write-file.d.ts.map +1 -1
- package/build/lib/write-file.js +10 -7
- 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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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Adapter } from './schemas/adapter.js';
|
|
2
|
+
import type { InstalledAsset } from './schemas/index.js';
|
|
3
|
+
/** Copy each file into the staging directory `dir` at its relative path `to`, creating folders as needed. */
|
|
4
|
+
export declare function copyIntoStaging(dir: string, files: readonly {
|
|
5
|
+
from: string;
|
|
6
|
+
to: string;
|
|
7
|
+
}[]): Promise<void>;
|
|
8
|
+
/** A new, empty `atk-publish-*` directory in the OS temp folder, for a publish to stage its files in. The caller removes it. */
|
|
9
|
+
export declare function createStagingDir(): Promise<string>;
|
|
10
|
+
/**
|
|
11
|
+
* Copy an installed asset's files from the project into a new staging directory, at
|
|
12
|
+
* their source paths. The directory is removed again if a copy fails.
|
|
13
|
+
*/
|
|
14
|
+
export declare function stageInstalledFiles(installed: InstalledAsset, adapter: Adapter, projectRoot: string): Promise<string>;
|
|
15
|
+
//# sourceMappingURL=staging.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"staging.d.ts","sourceRoot":"","sources":["../../src/lib/staging.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIzD,6GAA6G;AAC7G,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAMhH;AAED,gIAAgI;AAChI,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAExD;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,cAAc,EACzB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAajB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { cp, mkdir, mkdtemp, rm } from 'node:fs/promises';
|
|
2
|
+
import { tmpdir } from 'node:os';
|
|
3
|
+
import { dirname, join } from 'node:path';
|
|
4
|
+
import { resolveInstalledPaths } from './adapter.js';
|
|
5
|
+
/** Copy each file into the staging directory `dir` at its relative path `to`, creating folders as needed. */
|
|
6
|
+
export async function copyIntoStaging(dir, files) {
|
|
7
|
+
for (const file of files) {
|
|
8
|
+
const destPath = join(dir, file.to);
|
|
9
|
+
await mkdir(dirname(destPath), { recursive: true });
|
|
10
|
+
await cp(file.from, destPath);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
/** A new, empty `atk-publish-*` directory in the OS temp folder, for a publish to stage its files in. The caller removes it. */
|
|
14
|
+
export async function createStagingDir() {
|
|
15
|
+
return mkdtemp(join(tmpdir(), 'atk-publish-'));
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Copy an installed asset's files from the project into a new staging directory, at
|
|
19
|
+
* their source paths. The directory is removed again if a copy fails.
|
|
20
|
+
*/
|
|
21
|
+
export async function stageInstalledFiles(installed, adapter, projectRoot) {
|
|
22
|
+
const dir = await createStagingDir();
|
|
23
|
+
try {
|
|
24
|
+
const resolved = resolveInstalledPaths(installed, adapter, projectRoot);
|
|
25
|
+
await copyIntoStaging(dir, resolved.files.map((file) => ({ from: join(projectRoot, file.installedPath), to: file.sourcePath })));
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
await rm(dir, { force: true, recursive: true });
|
|
29
|
+
throw err;
|
|
30
|
+
}
|
|
31
|
+
return dir;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=staging.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"staging.js","sourceRoot":"","sources":["../../src/lib/staging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAK1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,6GAA6G;AAC7G,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAW,EAAE,KAA8C;IAC/F,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED,gIAAgI;AAChI,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,SAAyB,EACzB,OAAgB,EAChB,WAAmB;IAEnB,MAAM,GAAG,GAAG,MAAM,gBAAgB,EAAE,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QACxE,MAAM,eAAe,CACnB,GAAG,EACH,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CACrG,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/build/lib/sync.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import type { ProjectConfig } from './schemas/config.js';
|
|
|
4
4
|
import type { Registry } from './schemas/index.js';
|
|
5
5
|
import type { InstalledAsset } from './schemas/lockfile.js';
|
|
6
6
|
import { type ErrorGuidance, GuidedError } from './errors.js';
|
|
7
|
+
import { type LocalEdits } from './local-edits.js';
|
|
7
8
|
import { type Scope } from './scope.js';
|
|
8
9
|
export interface ClassifySyncEntriesOptions {
|
|
9
10
|
adapter: Adapter;
|
|
@@ -12,13 +13,18 @@ export interface ClassifySyncEntriesOptions {
|
|
|
12
13
|
onProgress?: (msg: string) => void;
|
|
13
14
|
projectConfig: null | ProjectConfig;
|
|
14
15
|
projectDir: string;
|
|
15
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* For the tools each asset's locked version declares, and the published versions a changed file
|
|
18
|
+
* is matched against. Without it, every hook counts as declared and every changed file as an edit.
|
|
19
|
+
*/
|
|
16
20
|
registry?: Registry;
|
|
17
21
|
}
|
|
18
22
|
export interface ClassifySyncEntriesResult {
|
|
19
23
|
/** Assets skipped because they were uninstalled for this tool (`excludedTools`). */
|
|
20
24
|
excludedSkipped: number;
|
|
21
25
|
frozenSkipped: number;
|
|
26
|
+
/** Assets not synced because files they placed were edited (see {@link localEditsAmong}); only without `force`. */
|
|
27
|
+
localEdits: LocalEdits[];
|
|
22
28
|
skipped: number;
|
|
23
29
|
toSync: SyncEntry[];
|
|
24
30
|
/**
|
|
@@ -59,7 +65,11 @@ export interface SyncAssetsOptions {
|
|
|
59
65
|
}
|
|
60
66
|
export interface SyncEntry {
|
|
61
67
|
asset: InstalledAsset;
|
|
62
|
-
/**
|
|
68
|
+
/**
|
|
69
|
+
* `moved`: the tool's user config directory moved since ATK placed the asset. `modified`: its
|
|
70
|
+
* files hold another published version's content (the lockfile moved past them), its config
|
|
71
|
+
* entries drifted, or its hook script lacks the exec bit; edited files are `localEdits`.
|
|
72
|
+
*/
|
|
63
73
|
reason: 'forced' | 'missing' | 'modified' | 'moved';
|
|
64
74
|
result?: InstallResult;
|
|
65
75
|
}
|
|
@@ -94,6 +104,8 @@ export interface ToolDryRunResult {
|
|
|
94
104
|
/** Assets skipped because they were uninstalled for this tool. Absent when zero. */
|
|
95
105
|
excludedSkipped?: number;
|
|
96
106
|
frozenSkipped: number;
|
|
107
|
+
/** Assets a live sync leaves alone because their files were edited. Absent when none. */
|
|
108
|
+
localEdits?: LocalEdits[];
|
|
97
109
|
skipped: number;
|
|
98
110
|
tool: string;
|
|
99
111
|
toSync: SyncEntry[];
|
|
@@ -108,6 +120,8 @@ export interface ToolSyncResult {
|
|
|
108
120
|
excludedSkipped?: number;
|
|
109
121
|
failures: SyncFailure[];
|
|
110
122
|
frozenSkipped: number;
|
|
123
|
+
/** Assets not synced because their files were edited; `force` overwrites them. Absent when none. */
|
|
124
|
+
localEdits?: LocalEdits[];
|
|
111
125
|
/**
|
|
112
126
|
* Present only when the run stopped at a run-wide failure (`isRunWideFailure`): the
|
|
113
127
|
* names of this tool's assets after it that were not attempted. Later tools are not run.
|
|
@@ -133,10 +147,12 @@ export declare class SyncError extends GuidedError {
|
|
|
133
147
|
* `force`, so sync never resurrects it. A hook excluded only because its manifest didn't
|
|
134
148
|
* declare the tool (`undeclaredTools`) is checked as below once its locked version declares it.
|
|
135
149
|
* 2. If `force` is true, marks it as `forced` without checking checksums.
|
|
136
|
-
* 3. Otherwise, resolves installed paths via the adapter
|
|
137
|
-
*
|
|
138
|
-
*
|
|
139
|
-
*
|
|
150
|
+
* 3. Otherwise, resolves installed paths via the adapter and verifies the file checksums. A file
|
|
151
|
+
* that is there with content no published version of the asset had is a local edit: the asset
|
|
152
|
+
* goes to `localEdits` and is not reinstalled, which would overwrite it (see
|
|
153
|
+
* {@link localEditsAmong}). One holding a published version's content is stale. Then it verifies the registered config-entry
|
|
154
|
+
* checksums (e.g. a hook's `hooks.<Event>` group or an mcp server block), and classifies as
|
|
155
|
+
* `missing` or `modified` when either fails, or increments `skipped` when all pass. A hook
|
|
140
156
|
* script that lacks the exec bit also counts as `modified`.
|
|
141
157
|
*/
|
|
142
158
|
export declare function classifySyncEntries(options: ClassifySyncEntriesOptions): Promise<ClassifySyncEntriesResult>;
|
package/build/lib/sync.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/lib/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/lib/sync.ts"],"names":[],"mappings":"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"}
|