carrick 0.3.83 → 0.3.85
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/README.md +31 -11
- package/bin/carrick.mjs +89 -0
- package/dist/auth/credentials.d.ts +9 -0
- package/dist/auth/credentials.js +13 -2
- package/dist/auth/credentials.js.map +1 -1
- package/dist/auth/read.d.ts +4 -4
- package/dist/global-install.d.ts +183 -0
- package/dist/global-install.js +393 -0
- package/dist/global-install.js.map +1 -0
- package/dist/hook/post-edit.js +10 -0
- package/dist/hook/post-edit.js.map +1 -1
- package/dist/hook/session-start.js +34 -0
- package/dist/hook/session-start.js.map +1 -1
- package/dist/hook/stop.js +18 -4
- package/dist/hook/stop.js.map +1 -1
- package/dist/hook/user-prompt.js +16 -4
- package/dist/hook/user-prompt.js.map +1 -1
- package/dist/init/doctor.d.ts +61 -0
- package/dist/init/doctor.js +160 -1
- package/dist/init/doctor.js.map +1 -1
- package/dist/init/hosted.d.ts +30 -5
- package/dist/init/hosted.js +75 -9
- package/dist/init/hosted.js.map +1 -1
- package/dist/init/mcp.d.ts +45 -30
- package/dist/init/mcp.js +47 -88
- package/dist/init/mcp.js.map +1 -1
- package/dist/init/outdated.d.ts +47 -0
- package/dist/init/outdated.js +104 -0
- package/dist/init/outdated.js.map +1 -1
- package/dist/init/output.d.ts +43 -6
- package/dist/init/output.js +90 -18
- package/dist/init/output.js.map +1 -1
- package/dist/init/projects.d.ts +2 -2
- package/dist/init/run.d.ts +89 -25
- package/dist/init/run.js +292 -58
- package/dist/init/run.js.map +1 -1
- package/dist/render.d.ts +16 -0
- package/dist/render.js +57 -6
- package/dist/render.js.map +1 -1
- package/dist/scan.d.ts +26 -0
- package/dist/scan.js +92 -0
- package/dist/scan.js.map +1 -1
- package/dist/update-check.d.ts +1 -0
- package/dist/update-check.js +25 -0
- package/dist/update-check.js.map +1 -0
- package/dist/update.d.ts +128 -0
- package/dist/update.js +398 -0
- package/dist/update.js.map +1 -0
- package/package.json +8 -7
- package/sidecar/dist/src/capture/anchors.js +69 -8
- package/sidecar/dist/src/capture/api.d.ts +27 -2
- package/sidecar/dist/src/capture/check-classify.js +31 -2
- package/sidecar/dist/src/capture/check-fields.d.ts +29 -0
- package/sidecar/dist/src/capture/check-fields.js +58 -6
- package/sidecar/dist/src/capture/check.js +5 -0
- package/sidecar/dist/src/capture/deep-walk.js +4 -1
- package/sidecar/dist/src/capture/index.js +6 -1
- package/sidecar/dist/src/capture/node-builder.d.ts +28 -1
- package/sidecar/dist/src/capture/node-builder.js +89 -3
- package/sidecar/dist/src/capture/self-check.d.ts +6 -1
- package/sidecar/dist/src/capture/self-check.js +65 -11
- package/sidecar/dist/src/capture/unresolved.d.ts +7 -0
- package/sidecar/dist/src/capture/unresolved.js +1 -1
- package/sidecar/dist/src/type-inferrer.d.ts +118 -4
- package/sidecar/dist/src/type-inferrer.js +433 -15
- package/sidecar/dist/src/validators.d.ts +40 -40
- package/sidecar/dist/src/validators.js +6 -1
- package/templates/skills/carrick-census.md +3 -1
package/dist/init/hosted.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hosted.js","sourceRoot":"","sources":["../../src/init/hosted.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,EAAE;AACF,6EAA6E;AAC7E,2EAA2E;AAC3E,6EAA6E;AAC7E,kEAAkE;AAClE,kBAAkB;AAClB,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,8EAA8E;AAC9E,sEAAsE;AACtE,4EAA4E;AAC5E,oEAAoE;AACpE,EAAE;AACF,0EAA0E;AAC1E,yEAAyE;AACzE,yEAAyE;AACzE,kBAAkB;AAElB,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"hosted.js","sourceRoot":"","sources":["../../src/init/hosted.ts"],"names":[],"mappings":"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"}
|
package/dist/init/mcp.d.ts
CHANGED
|
@@ -13,18 +13,6 @@ export declare const MCP_HOST: string;
|
|
|
13
13
|
export declare function claudeAddArgs(installId: string | null): string[];
|
|
14
14
|
/** The same thing as a line to paste, for the places that print one. */
|
|
15
15
|
export declare function mcpLine(installId?: string | null): string;
|
|
16
|
-
/**
|
|
17
|
-
* What puts the install id on a Claude Code entry that has none.
|
|
18
|
-
*
|
|
19
|
-
* `claude mcp add` will not edit an entry it already holds, so the id can only
|
|
20
|
-
* go on by writing the entry again — and THAT is the user's call, not this
|
|
21
|
-
* command's. Removing somebody's server takes with it anything else on the
|
|
22
|
-
* entry and sends the next session back through the server's OAuth, which is
|
|
23
|
-
* not a thing to do to a machine that was only being set up. So `carrick init`
|
|
24
|
-
* prints this pair and changes nothing; the file clients, whose entries can be
|
|
25
|
-
* merged in place, are still done for them.
|
|
26
|
-
*/
|
|
27
|
-
export declare function claudeRestampLine(installId: string | null): string;
|
|
28
16
|
/** Everything this module touches outside itself, so a test can state a machine. */
|
|
29
17
|
export type McpEnvironment = {
|
|
30
18
|
onPath: (command: string) => boolean;
|
|
@@ -82,13 +70,7 @@ export type FileClient = {
|
|
|
82
70
|
/** What happened for one client, in the order init prints it. */
|
|
83
71
|
export type McpOutcome = {
|
|
84
72
|
client: string;
|
|
85
|
-
|
|
86
|
-
* `unstamped` is the one that changed nothing on purpose: the client is
|
|
87
|
-
* connected, its entry predates the install id, and putting one on would
|
|
88
|
-
* mean taking the entry out and writing it again. The detail is the pair of
|
|
89
|
-
* commands that does it, for the person whose entry it is (carrick-cloud#890).
|
|
90
|
-
*/
|
|
91
|
-
state: "written" | "present" | "unstamped" | "failed";
|
|
73
|
+
state: "written" | "present" | "failed";
|
|
92
74
|
/** The line to print: the path written, or what to do by hand. */
|
|
93
75
|
detail: string;
|
|
94
76
|
};
|
|
@@ -102,8 +84,41 @@ export declare function mergeServerEntry(client: FileClient, existing: string |
|
|
|
102
84
|
body: string;
|
|
103
85
|
state: "written" | "present";
|
|
104
86
|
};
|
|
105
|
-
/**
|
|
106
|
-
|
|
87
|
+
/**
|
|
88
|
+
* One editor this machine could be asked about: its file, and how sure we are.
|
|
89
|
+
*
|
|
90
|
+
* `installed` is a second, stronger signal than the one that decides whether
|
|
91
|
+
* to offer at all. A configuration directory outlives the editor that made it
|
|
92
|
+
* — an uninstall leaves `~/.cursor` where it stands — so a directory is enough
|
|
93
|
+
* to say "you may want this" and not enough to tick the box for somebody
|
|
94
|
+
* (carrick#1365). The editor's own command answering on PATH is.
|
|
95
|
+
*/
|
|
96
|
+
export type OfferedClient = {
|
|
97
|
+
name: string;
|
|
98
|
+
/** The file that would be written, absolute, for the question to name. */
|
|
99
|
+
file: string;
|
|
100
|
+
installed: boolean;
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* The editors this machine could have an entry written for, with their files.
|
|
104
|
+
*
|
|
105
|
+
* Everything outside the workspace that `carrick init` would touch is in this
|
|
106
|
+
* list, so the question it is printed under names every file the answer covers.
|
|
107
|
+
* An editor whose configuration directory is not there is not offered: it is
|
|
108
|
+
* not on this machine, and a question about it is a question about nothing.
|
|
109
|
+
*/
|
|
110
|
+
export declare function offeredFileClients(env?: McpEnvironment): OfferedClient[];
|
|
111
|
+
/**
|
|
112
|
+
* Configure Claude Code, and the editors that were named in the answer.
|
|
113
|
+
*
|
|
114
|
+
* `editors` is the set of [`offeredFileClients`] names this run may write for.
|
|
115
|
+
* It is a parameter and not a detection because the detection is what the
|
|
116
|
+
* question was asked about: `~/.cursor/mcp.json` is somebody's file, outside
|
|
117
|
+
* the workspace, for an editor they may not use, and it used to be written on
|
|
118
|
+
* the strength of a yes to "Write the proposal and configure hooks?"
|
|
119
|
+
* (carrick#1365).
|
|
120
|
+
*/
|
|
121
|
+
export declare function connectMcpClients(editors: readonly string[], env?: McpEnvironment): McpOutcome[];
|
|
107
122
|
/** What happened for one client when `carrick remove` ran (carrick#1034). */
|
|
108
123
|
export type McpRemoval = {
|
|
109
124
|
client: string;
|
|
@@ -134,16 +149,16 @@ export declare function removeServerEntry(existing: string | null): {
|
|
|
134
149
|
export type McpInspection = {
|
|
135
150
|
client: string;
|
|
136
151
|
/**
|
|
137
|
-
* `connected` — an entry naming this server's host
|
|
138
|
-
* install id
|
|
139
|
-
*
|
|
140
|
-
*
|
|
141
|
-
* called `carrick` pointing somewhere else, which is
|
|
142
|
-
* reason a reader gets no Carrick answers in that
|
|
143
|
-
* client is on the machine and has no entry.
|
|
144
|
-
* JSON, or its own command would not answer.
|
|
152
|
+
* `connected` — an entry naming this server's host. Whether it carries the
|
|
153
|
+
* install id is not part of it: that header is a log field, an entry without
|
|
154
|
+
* one answers every question the same way, and putting one on would cost the
|
|
155
|
+
* sign-in (see the note above `mergeServerEntry`, carrick#1365).
|
|
156
|
+
* `elsewhere` — an entry called `carrick` pointing somewhere else, which is
|
|
157
|
+
* somebody else's and the reason a reader gets no Carrick answers in that
|
|
158
|
+
* client. `absent` — this client is on the machine and has no entry.
|
|
159
|
+
* `unreadable` — its file is not JSON, or its own command would not answer.
|
|
145
160
|
*/
|
|
146
|
-
state: "connected" | "absent" | "elsewhere" | "
|
|
161
|
+
state: "connected" | "absent" | "elsewhere" | "unreadable";
|
|
147
162
|
detail: string;
|
|
148
163
|
};
|
|
149
164
|
/**
|
package/dist/init/mcp.js
CHANGED
|
@@ -54,20 +54,6 @@ export function mcpLine(installId = installIdOrNull()) {
|
|
|
54
54
|
const base = `claude mcp add --scope user --transport http ${MCP_NAME} ${MCP_URL}`;
|
|
55
55
|
return installId === null ? base : `${base} --header "${INSTALL_ID_HEADER}: ${installId}"`;
|
|
56
56
|
}
|
|
57
|
-
/**
|
|
58
|
-
* What puts the install id on a Claude Code entry that has none.
|
|
59
|
-
*
|
|
60
|
-
* `claude mcp add` will not edit an entry it already holds, so the id can only
|
|
61
|
-
* go on by writing the entry again — and THAT is the user's call, not this
|
|
62
|
-
* command's. Removing somebody's server takes with it anything else on the
|
|
63
|
-
* entry and sends the next session back through the server's OAuth, which is
|
|
64
|
-
* not a thing to do to a machine that was only being set up. So `carrick init`
|
|
65
|
-
* prints this pair and changes nothing; the file clients, whose entries can be
|
|
66
|
-
* merged in place, are still done for them.
|
|
67
|
-
*/
|
|
68
|
-
export function claudeRestampLine(installId) {
|
|
69
|
-
return `claude mcp remove --scope user ${MCP_NAME} && ${mcpLine(installId)}`;
|
|
70
|
-
}
|
|
71
57
|
export function realEnvironment() {
|
|
72
58
|
return {
|
|
73
59
|
onPath: (command) => spawnSync(process.platform === "win32" ? "where" : "which", [command], {
|
|
@@ -146,28 +132,6 @@ const FILE_CLIENTS = [
|
|
|
146
132
|
function isRecord(value) {
|
|
147
133
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
148
134
|
}
|
|
149
|
-
/**
|
|
150
|
-
* Our entry with this machine's install id on it, or null to leave it alone.
|
|
151
|
-
*
|
|
152
|
-
* Three things make an existing entry none of our business: a client whose
|
|
153
|
-
* format has no place to put a header, an entry naming some other host — the
|
|
154
|
-
* same gate the remover uses — and one that already carries an id, which a
|
|
155
|
-
* re-run must not churn. Everything else on the entry, every other header
|
|
156
|
-
* included, is carried through: the id is added to what is there, never
|
|
157
|
-
* written over it.
|
|
158
|
-
*/
|
|
159
|
-
function stampInstallId(entry, client, installId) {
|
|
160
|
-
if (!client.headers || installId === null)
|
|
161
|
-
return null;
|
|
162
|
-
if (!isRecord(entry) || !isCarrickUrl(entryUrl(entry)))
|
|
163
|
-
return null;
|
|
164
|
-
const headers = isRecord(entry["headers"]) ? { ...entry["headers"] } : {};
|
|
165
|
-
const current = headers[INSTALL_ID_HEADER];
|
|
166
|
-
if (typeof current === "string" && INSTALL_ID_PATTERN.test(current))
|
|
167
|
-
return null;
|
|
168
|
-
headers[INSTALL_ID_HEADER] = installId;
|
|
169
|
-
return { ...entry, headers };
|
|
170
|
-
}
|
|
171
135
|
/** The document back, with `servers` in the container it came from. */
|
|
172
136
|
function withServers(document, container, servers) {
|
|
173
137
|
const merged = {};
|
|
@@ -198,16 +162,11 @@ export function mergeServerEntry(client, existing, installId = null) {
|
|
|
198
162
|
? "servers"
|
|
199
163
|
: client.container;
|
|
200
164
|
const servers = isRecord(document[container]) ? { ...document[container] } : {};
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
if (stamped === null)
|
|
207
|
-
return { body: `${JSON.stringify(document, null, 2)}\n`, state: "present" };
|
|
208
|
-
servers[MCP_NAME] = stamped;
|
|
209
|
-
return { body: withServers(document, container, servers), state: "written" };
|
|
210
|
-
}
|
|
165
|
+
// Connected already, and that is the end of it: an entry that answers is not
|
|
166
|
+
// edited to carry a header nobody asked for (see the note above
|
|
167
|
+
// `mergeServerEntry`'s file header).
|
|
168
|
+
if (MCP_NAME in servers)
|
|
169
|
+
return { body: `${JSON.stringify(document, null, 2)}\n`, state: "present" };
|
|
211
170
|
// The URL key and the type field are read off a sibling where there is one.
|
|
212
171
|
const siblings = Object.values(servers).filter(isRecord);
|
|
213
172
|
const urlKey = siblings.some((entry) => "serverUrl" in entry)
|
|
@@ -246,14 +205,7 @@ function configureClaudeCode(env) {
|
|
|
246
205
|
// from one that carries it.
|
|
247
206
|
const read = env.capture("claude", ["mcp", "get", MCP_NAME]);
|
|
248
207
|
if (read.status === 0) {
|
|
249
|
-
|
|
250
|
-
if (stamped || installId === null || !read.stdout.includes(MCP_HOST)) {
|
|
251
|
-
return { client: "Claude Code", state: "present", detail: `already connected as "${MCP_NAME}"` };
|
|
252
|
-
}
|
|
253
|
-
// Ours, and older than the header. The entry stays exactly as it is: see
|
|
254
|
-
// `claudeRestampLine` for why this command will not take it out and write
|
|
255
|
-
// it again on somebody's behalf.
|
|
256
|
-
return { client: "Claude Code", state: "unstamped", detail: unstampedRepair(installId) };
|
|
208
|
+
return { client: "Claude Code", state: "present", detail: `already connected as "${MCP_NAME}"` };
|
|
257
209
|
}
|
|
258
210
|
const status = env.run("claude", claudeAddArgs(installId));
|
|
259
211
|
return status === 0
|
|
@@ -286,13 +238,52 @@ function configureFileClient(env, client) {
|
|
|
286
238
|
};
|
|
287
239
|
}
|
|
288
240
|
}
|
|
289
|
-
/**
|
|
290
|
-
|
|
241
|
+
/** What each file client calls its command, for the stronger signal above. */
|
|
242
|
+
const CLIENT_COMMANDS = {
|
|
243
|
+
Cursor: "cursor",
|
|
244
|
+
Windsurf: "windsurf",
|
|
245
|
+
"VS Code": "code",
|
|
246
|
+
};
|
|
247
|
+
/**
|
|
248
|
+
* The editors this machine could have an entry written for, with their files.
|
|
249
|
+
*
|
|
250
|
+
* Everything outside the workspace that `carrick init` would touch is in this
|
|
251
|
+
* list, so the question it is printed under names every file the answer covers.
|
|
252
|
+
* An editor whose configuration directory is not there is not offered: it is
|
|
253
|
+
* not on this machine, and a question about it is a question about nothing.
|
|
254
|
+
*/
|
|
255
|
+
export function offeredFileClients(env = realEnvironment()) {
|
|
256
|
+
const offered = [];
|
|
257
|
+
for (const client of FILE_CLIENTS) {
|
|
258
|
+
const directory = client.directory(env);
|
|
259
|
+
const file = client.file(env);
|
|
260
|
+
if (directory === null || file === null)
|
|
261
|
+
continue;
|
|
262
|
+
if (!env.exists(directory) && !env.exists(file))
|
|
263
|
+
continue;
|
|
264
|
+
const command = CLIENT_COMMANDS[client.name];
|
|
265
|
+
offered.push({ name: client.name, file, installed: command !== undefined && env.onPath(command) });
|
|
266
|
+
}
|
|
267
|
+
return offered;
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Configure Claude Code, and the editors that were named in the answer.
|
|
271
|
+
*
|
|
272
|
+
* `editors` is the set of [`offeredFileClients`] names this run may write for.
|
|
273
|
+
* It is a parameter and not a detection because the detection is what the
|
|
274
|
+
* question was asked about: `~/.cursor/mcp.json` is somebody's file, outside
|
|
275
|
+
* the workspace, for an editor they may not use, and it used to be written on
|
|
276
|
+
* the strength of a yes to "Write the proposal and configure hooks?"
|
|
277
|
+
* (carrick#1365).
|
|
278
|
+
*/
|
|
279
|
+
export function connectMcpClients(editors, env = realEnvironment()) {
|
|
291
280
|
const outcomes = [];
|
|
292
281
|
const claude = configureClaudeCode(env);
|
|
293
282
|
if (claude)
|
|
294
283
|
outcomes.push(claude);
|
|
295
284
|
for (const client of FILE_CLIENTS) {
|
|
285
|
+
if (!editors.includes(client.name))
|
|
286
|
+
continue;
|
|
296
287
|
const outcome = configureFileClient(env, client);
|
|
297
288
|
if (outcome)
|
|
298
289
|
outcomes.push(outcome);
|
|
@@ -304,30 +295,6 @@ function entryUrl(entry) {
|
|
|
304
295
|
const url = entry["url"] ?? entry["serverUrl"];
|
|
305
296
|
return typeof url === "string" ? url : null;
|
|
306
297
|
}
|
|
307
|
-
/** Whether an entry carries an install id the server would accept. */
|
|
308
|
-
function hasInstallId(entry) {
|
|
309
|
-
if (!isRecord(entry) || !isRecord(entry["headers"]))
|
|
310
|
-
return false;
|
|
311
|
-
const value = entry["headers"][INSTALL_ID_HEADER];
|
|
312
|
-
return typeof value === "string" && INSTALL_ID_PATTERN.test(value);
|
|
313
|
-
}
|
|
314
|
-
/**
|
|
315
|
-
* What is said about an entry with no install id, and what to do about it.
|
|
316
|
-
*
|
|
317
|
-
* An entry written before this release answers questions perfectly well; the
|
|
318
|
-
* only thing wrong with it is that nothing it asks can be attributed to this
|
|
319
|
-
* machine. For a client whose file is merged in place, the repair is the setup
|
|
320
|
-
* command. For Claude Code, whose entry can only be stamped by writing it
|
|
321
|
-
* again, it is the pair of commands that does that — printed, never run
|
|
322
|
-
* (`claudeRestampLine`). A machine with no id yet is told to run the setup,
|
|
323
|
-
* because that is what mints one.
|
|
324
|
-
*/
|
|
325
|
-
const UNSTAMPED = "MCP entry has no install id; run carrick init";
|
|
326
|
-
function unstampedRepair(installId) {
|
|
327
|
-
return installId === null
|
|
328
|
-
? UNSTAMPED
|
|
329
|
-
: `MCP entry has no install id. To add it: ${claudeRestampLine(installId)}`;
|
|
330
|
-
}
|
|
331
298
|
/** Whether a URL points at the Carrick MCP server this package installs. */
|
|
332
299
|
function isCarrickUrl(url) {
|
|
333
300
|
if (url === null)
|
|
@@ -470,10 +437,6 @@ export function inspectMcpClients(env = realEnvironment()) {
|
|
|
470
437
|
detail: `"${MCP_NAME}" there does not point at ${MCP_HOST}`,
|
|
471
438
|
});
|
|
472
439
|
}
|
|
473
|
-
else if (!read.stdout.includes(INSTALL_ID_HEADER)) {
|
|
474
|
-
// Read, never minted: `carrick doctor` runs this one.
|
|
475
|
-
found.push({ client: "Claude Code", state: "unstamped", detail: unstampedRepair(env.storedInstallId()) });
|
|
476
|
-
}
|
|
477
440
|
else {
|
|
478
441
|
found.push({ client: "Claude Code", state: "connected", detail: MCP_URL });
|
|
479
442
|
}
|
|
@@ -520,10 +483,6 @@ export function inspectMcpClients(env = realEnvironment()) {
|
|
|
520
483
|
});
|
|
521
484
|
continue;
|
|
522
485
|
}
|
|
523
|
-
if (client.headers && !hasInstallId(entry)) {
|
|
524
|
-
found.push({ client: client.name, state: "unstamped", detail: UNSTAMPED });
|
|
525
|
-
continue;
|
|
526
|
-
}
|
|
527
486
|
found.push({ client: client.name, state: "connected", detail: url ?? MCP_URL });
|
|
528
487
|
}
|
|
529
488
|
return found;
|
package/dist/init/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/init/mcp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/init/mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/init/outdated.d.ts
CHANGED
|
@@ -26,6 +26,53 @@ export declare function outdatedInstall(workspace: string): Outdated;
|
|
|
26
26
|
* this.
|
|
27
27
|
*/
|
|
28
28
|
export declare function initialisedRoot(from: string): string | null;
|
|
29
|
+
/**
|
|
30
|
+
* The version of carrick that last set this workspace up.
|
|
31
|
+
*
|
|
32
|
+
* A version number, where everything above this line is content — and the
|
|
33
|
+
* difference is what the two answer. The skills and the hook entries are read
|
|
34
|
+
* back to decide whether to rewrite them, and a body that did not change
|
|
35
|
+
* between two releases is current in both, which a version stamp could not say.
|
|
36
|
+
* This answers a different question: which build wrote them, so the `carrick`
|
|
37
|
+
* an agent hook actually resolves can say whether it is that build.
|
|
38
|
+
*
|
|
39
|
+
* It is inside `.carrick/`, which is ours and is ignored by the repository.
|
|
40
|
+
* Nothing of this goes into a settings file or an MCP entry: those belong to
|
|
41
|
+
* the client that validates them, and a key it does not know is a key it may
|
|
42
|
+
* one day reject (carrick#1333).
|
|
43
|
+
*/
|
|
44
|
+
export declare function versionFile(workspace: string): string;
|
|
45
|
+
/** Record the version writing these files, or leave no record. */
|
|
46
|
+
export declare function recordCliVersion(workspace: string, version: string | null): boolean;
|
|
47
|
+
/** The version that wrote these files, or null where nothing recorded one. */
|
|
48
|
+
export declare function recordedCliVersion(workspace: string): string | null;
|
|
49
|
+
/**
|
|
50
|
+
* The line a hook prints when it is not the build that set this workspace up.
|
|
51
|
+
*
|
|
52
|
+
* Hooks are the surface an upgrade leaves behind. `npx carrick@latest` writes
|
|
53
|
+
* the skills and the hook entries, and then every hook runs whichever `carrick`
|
|
54
|
+
* PATH answers with, which can be an older global that was never replaced. The
|
|
55
|
+
* hook is the only thing in that chain that knows both numbers, so it is the
|
|
56
|
+
* backstop for every case the upgrade could not fix.
|
|
57
|
+
*
|
|
58
|
+
* Directional, because the two directions have different fixes: an older hook
|
|
59
|
+
* needs the install replaced, and a newer one needs `carrick init` run again so
|
|
60
|
+
* the files catch up.
|
|
61
|
+
*/
|
|
62
|
+
export declare function versionMismatch(workspace: string, running: string | null, command?: string): string | null;
|
|
63
|
+
/** Where the once-a-day stamp for the line above lives. */
|
|
64
|
+
export declare function versionNoticeFile(workspace: string): string;
|
|
65
|
+
/**
|
|
66
|
+
* The same line, at most once a day in one workspace.
|
|
67
|
+
*
|
|
68
|
+
* For the hooks that fire on every edit and at the end of every task. Session
|
|
69
|
+
* start says it without a throttle: it is one line per session, in the one
|
|
70
|
+
* place an agent reads before it does anything.
|
|
71
|
+
*
|
|
72
|
+
* The day is recorded only when there is a line, so a mismatch that appears an
|
|
73
|
+
* hour from now is still named an hour from now.
|
|
74
|
+
*/
|
|
75
|
+
export declare function throttledVersionMismatch(workspace: string, running: string | null, now?: Date): string | null;
|
|
29
76
|
/**
|
|
30
77
|
* The one line, and how often it is allowed to be said.
|
|
31
78
|
*
|
package/dist/init/outdated.js
CHANGED
|
@@ -34,6 +34,7 @@ import fs from "node:fs";
|
|
|
34
34
|
import os from "node:os";
|
|
35
35
|
import path from "node:path";
|
|
36
36
|
import { ancestors, hasMarker } from "../root.js";
|
|
37
|
+
import { installShape, isNewer } from "../update.js";
|
|
37
38
|
import { CODEX_HOOKS_FILE, codexInUse, expectedCodexHooks, readHooksFile } from "./codex.js";
|
|
38
39
|
import { expectedCarrickHooks, installedCarrickHooks, SETTINGS_FILES, } from "./settings.js";
|
|
39
40
|
import { inspectTaskSkills } from "./task-skills.js";
|
|
@@ -111,6 +112,109 @@ export function outdatedInstall(workspace) {
|
|
|
111
112
|
export function initialisedRoot(from) {
|
|
112
113
|
return ancestors(from).find((directory) => hasMarker(directory)) ?? null;
|
|
113
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* The version of carrick that last set this workspace up.
|
|
117
|
+
*
|
|
118
|
+
* A version number, where everything above this line is content — and the
|
|
119
|
+
* difference is what the two answer. The skills and the hook entries are read
|
|
120
|
+
* back to decide whether to rewrite them, and a body that did not change
|
|
121
|
+
* between two releases is current in both, which a version stamp could not say.
|
|
122
|
+
* This answers a different question: which build wrote them, so the `carrick`
|
|
123
|
+
* an agent hook actually resolves can say whether it is that build.
|
|
124
|
+
*
|
|
125
|
+
* It is inside `.carrick/`, which is ours and is ignored by the repository.
|
|
126
|
+
* Nothing of this goes into a settings file or an MCP entry: those belong to
|
|
127
|
+
* the client that validates them, and a key it does not know is a key it may
|
|
128
|
+
* one day reject (carrick#1333).
|
|
129
|
+
*/
|
|
130
|
+
export function versionFile(workspace) {
|
|
131
|
+
return path.join(workspace, ".carrick", "cli-version");
|
|
132
|
+
}
|
|
133
|
+
/** Record the version writing these files, or leave no record. */
|
|
134
|
+
export function recordCliVersion(workspace, version) {
|
|
135
|
+
if (!version)
|
|
136
|
+
return false;
|
|
137
|
+
try {
|
|
138
|
+
fs.mkdirSync(path.dirname(versionFile(workspace)), { recursive: true });
|
|
139
|
+
fs.writeFileSync(versionFile(workspace), `${version}\n`);
|
|
140
|
+
return true;
|
|
141
|
+
}
|
|
142
|
+
catch {
|
|
143
|
+
// A workspace that cannot be written is a workspace init already reported
|
|
144
|
+
// on. Nothing here is worth a second message about it.
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/** The version that wrote these files, or null where nothing recorded one. */
|
|
149
|
+
export function recordedCliVersion(workspace) {
|
|
150
|
+
try {
|
|
151
|
+
const recorded = fs.readFileSync(versionFile(workspace), "utf8").trim();
|
|
152
|
+
return /^\d+\.\d+\.\d+$/.test(recorded) ? recorded : null;
|
|
153
|
+
}
|
|
154
|
+
catch {
|
|
155
|
+
return null;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* The line a hook prints when it is not the build that set this workspace up.
|
|
160
|
+
*
|
|
161
|
+
* Hooks are the surface an upgrade leaves behind. `npx carrick@latest` writes
|
|
162
|
+
* the skills and the hook entries, and then every hook runs whichever `carrick`
|
|
163
|
+
* PATH answers with, which can be an older global that was never replaced. The
|
|
164
|
+
* hook is the only thing in that chain that knows both numbers, so it is the
|
|
165
|
+
* backstop for every case the upgrade could not fix.
|
|
166
|
+
*
|
|
167
|
+
* Directional, because the two directions have different fixes: an older hook
|
|
168
|
+
* needs the install replaced, and a newer one needs `carrick init` run again so
|
|
169
|
+
* the files catch up.
|
|
170
|
+
*/
|
|
171
|
+
export function versionMismatch(workspace, running, command = installShape().command) {
|
|
172
|
+
if (!running || !/^\d+\.\d+\.\d+$/.test(running))
|
|
173
|
+
return null;
|
|
174
|
+
const recorded = recordedCliVersion(workspace);
|
|
175
|
+
if (recorded === null || recorded === running)
|
|
176
|
+
return null;
|
|
177
|
+
return isNewer(recorded, running)
|
|
178
|
+
? `This carrick is ${running}; ${recorded} set this workspace up. Run \`${command}\` so your agent runs the version these files were written for.`
|
|
179
|
+
: `This carrick is ${running}; ${recorded} set this workspace up. Run \`carrick init\` to bring the hooks and skills here up to date.`;
|
|
180
|
+
}
|
|
181
|
+
/** Where the once-a-day stamp for the line above lives. */
|
|
182
|
+
export function versionNoticeFile(workspace) {
|
|
183
|
+
return path.join(workspace, ".carrick", "last-version-notice");
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* The same line, at most once a day in one workspace.
|
|
187
|
+
*
|
|
188
|
+
* For the hooks that fire on every edit and at the end of every task. Session
|
|
189
|
+
* start says it without a throttle: it is one line per session, in the one
|
|
190
|
+
* place an agent reads before it does anything.
|
|
191
|
+
*
|
|
192
|
+
* The day is recorded only when there is a line, so a mismatch that appears an
|
|
193
|
+
* hour from now is still named an hour from now.
|
|
194
|
+
*/
|
|
195
|
+
export function throttledVersionMismatch(workspace, running, now = new Date()) {
|
|
196
|
+
try {
|
|
197
|
+
const line = versionMismatch(workspace, running);
|
|
198
|
+
if (line === null)
|
|
199
|
+
return null;
|
|
200
|
+
const file = versionNoticeFile(workspace);
|
|
201
|
+
let last;
|
|
202
|
+
try {
|
|
203
|
+
last = fs.readFileSync(file, "utf8").trim();
|
|
204
|
+
}
|
|
205
|
+
catch {
|
|
206
|
+
last = null;
|
|
207
|
+
}
|
|
208
|
+
if (last === today(now))
|
|
209
|
+
return null;
|
|
210
|
+
fs.mkdirSync(path.dirname(file), { recursive: true });
|
|
211
|
+
fs.writeFileSync(file, `${today(now)}\n`);
|
|
212
|
+
return line;
|
|
213
|
+
}
|
|
214
|
+
catch {
|
|
215
|
+
return null;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
114
218
|
/**
|
|
115
219
|
* The one line, and how often it is allowed to be said.
|
|
116
220
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outdated.js","sourceRoot":"","sources":["../../src/init/outdated.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"outdated.js","sourceRoot":"","sources":["../../src/init/outdated.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,EAAE;AACF,2EAA2E;AAC3E,4EAA4E;AAC5E,8EAA8E;AAC9E,yEAAyE;AACzE,iDAAiD;AACjD,EAAE;AACF,yEAAyE;AACzE,kCAAkC;AAClC,EAAE;AACF,wEAAwE;AACxE,6EAA6E;AAC7E,4EAA4E;AAC5E,iCAAiC;AACjC,wEAAwE;AACxE,6EAA6E;AAC7E,4EAA4E;AAC5E,0EAA0E;AAC1E,2EAA2E;AAC3E,2EAA2E;AAC3E,+EAA+E;AAC/E,wBAAwB;AACxB,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,2EAA2E;AAC3E,oCAAoC;AACpC,EAAE;AACF,+EAA+E;AAC/E,uEAAuE;AACvE,8CAA8C;AAE9C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC7F,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,GAEf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAUrD,8EAA8E;AAC9E,MAAM,UAAU,aAAa,CAAC,KAAe;IAC3C,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,eAAe,CAAC,IAAY,EAAE,QAA6C;IAClF,IAAI,SAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;QACzE,+DAA+D;QAC/D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAE,CAAC;IAC7D,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAC1B,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,SAAS,CAAC,IAAI,CACb,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;QACzB,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO;QAC7B,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO;QAC7B,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAChC,CACJ,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC;SACxC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;SAC3D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE9B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;QACtC,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,eAAe,CAAC,IAAI,EAAE,oBAAoB,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,IAAI,KAAK,IAAI,IAAI,eAAe,CAAC,IAAI,EAAE,kBAAkB,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC;AAC3E,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,WAAW,CAAC,SAAiB;IAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;AACzD,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,gBAAgB,CAAC,SAAiB,EAAE,OAAsB;IACxE,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,OAAO,IAAI,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,0EAA0E;QAC1E,uDAAuD;QACvD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACxE,OAAO,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAC7B,SAAiB,EACjB,OAAsB,EACtB,UAAkB,YAAY,EAAE,CAAC,OAAO;IAExC,IAAI,CAAC,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IAC3D,OAAO,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC/B,CAAC,CAAC,mBAAmB,OAAO,KAAK,QAAQ,iCAAiC,OAAO,iEAAiE;QAClJ,CAAC,CAAC,mBAAmB,OAAO,KAAK,QAAQ,6FAA6F,CAAC;AAC3I,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IACjD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CACtC,SAAiB,EACjB,OAAsB,EACtB,MAAY,IAAI,IAAI,EAAE;IAEtB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC/B,MAAM,IAAI,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,IAAmB,CAAC;QACxB,IAAI,CAAC;YACH,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,KAAK,KAAK,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACrC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,CAAC,OAAO,EAAE;IACpD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;AACpD,CAAC;AAED,6CAA6C;AAC7C,SAAS,KAAK,CAAC,GAAS;IACtB,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,YAAY,CAAC,IAAa;IACxC,IAAI,CAAC;QACH,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAOD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAC3B,SAAiB,EACjB,cAAiC,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE;IAExE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,IAAmB,CAAC;QACxB,IAAI,CAAC;YACH,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,KAAK,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACjD,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACpC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtD,OAAO,GAAG,KAAK,CAAC,MAAM,mDAAmD,KAAK;aAC3E,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,0CAA0C,CAAC;IAC1F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|