@keyou007/agent-bot 0.1.14-alpha.1 → 0.1.14-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/CHANGELOG.md +19 -1
  2. package/README.md +48 -15
  3. package/README.zh.md +48 -15
  4. package/config.example.yaml +1 -1
  5. package/dist/cli/AutostartManager.js +431 -0
  6. package/dist/cli/AutostartManager.js.map +1 -0
  7. package/dist/cli/FeishuAppConfiguration.js +21 -13
  8. package/dist/cli/FeishuAppConfiguration.js.map +1 -1
  9. package/dist/cli/Initializer.js +35 -0
  10. package/dist/cli/Initializer.js.map +1 -1
  11. package/dist/cli/SelfUpdateRunner.js +552 -0
  12. package/dist/cli/SelfUpdateRunner.js.map +1 -0
  13. package/dist/cli/SelfUpdater.js +431 -0
  14. package/dist/cli/SelfUpdater.js.map +1 -0
  15. package/dist/cli/autostartOutput.js +63 -0
  16. package/dist/cli/autostartOutput.js.map +1 -0
  17. package/dist/cli/controlProtocol.js.map +1 -1
  18. package/dist/cli/help.js +94 -18
  19. package/dist/cli/help.js.map +1 -1
  20. package/dist/cli/taskGroupOptions.js +14 -11
  21. package/dist/cli/taskGroupOptions.js.map +1 -1
  22. package/dist/cli/taskListOutput.js +3 -0
  23. package/dist/cli/taskListOutput.js.map +1 -1
  24. package/dist/cli/taskTarget.js +99 -0
  25. package/dist/cli/taskTarget.js.map +1 -0
  26. package/dist/cli.js +661 -58
  27. package/dist/cli.js.map +1 -1
  28. package/dist/codex/CodexRuntime.js +8 -2
  29. package/dist/codex/CodexRuntime.js.map +1 -1
  30. package/dist/commands/CommandRouter.js +16 -1
  31. package/dist/commands/CommandRouter.js.map +1 -1
  32. package/dist/feishu/CardRenderer.js +266 -38
  33. package/dist/feishu/CardRenderer.js.map +1 -1
  34. package/dist/feishu/FeishuMarkdown.js +25 -1
  35. package/dist/feishu/FeishuMarkdown.js.map +1 -1
  36. package/dist/feishu/FeishuMessageClient.js +16 -0
  37. package/dist/feishu/FeishuMessageClient.js.map +1 -1
  38. package/dist/feishu/FeishuTurnPresenter.js +42 -6
  39. package/dist/feishu/FeishuTurnPresenter.js.map +1 -1
  40. package/dist/index.js +136 -2
  41. package/dist/index.js.map +1 -1
  42. package/dist/presentation/OutboundRouter.js +7 -0
  43. package/dist/presentation/OutboundRouter.js.map +1 -1
  44. package/dist/presentation/TurnStateReducer.js +21 -7
  45. package/dist/presentation/TurnStateReducer.js.map +1 -1
  46. package/dist/proxy/ProxySessionController.js +537 -13
  47. package/dist/proxy/ProxySessionController.js.map +1 -1
  48. package/dist/state/StateStore.js +53 -0
  49. package/dist/state/StateStore.js.map +1 -1
  50. package/docs/technical-reference.md +17 -7
  51. package/docs/technical-reference.zh.md +17 -7
  52. package/npm-shrinkwrap.json +2 -2
  53. package/package.json +2 -2
  54. package/skills/agent-bot/SKILL.md +109 -188
  55. package/src/cli/AutostartManager.ts +579 -0
  56. package/src/cli/FeishuAppConfiguration.ts +26 -7
  57. package/src/cli/Initializer.ts +57 -0
  58. package/src/cli/SelfUpdateRunner.ts +817 -0
  59. package/src/cli/SelfUpdater.ts +688 -0
  60. package/src/cli/autostartOutput.ts +75 -0
  61. package/src/cli/controlProtocol.ts +119 -1
  62. package/src/cli/help.ts +94 -18
  63. package/src/cli/taskGroupOptions.ts +27 -17
  64. package/src/cli/taskListOutput.ts +10 -0
  65. package/src/cli/taskTarget.ts +168 -0
  66. package/src/cli.ts +809 -65
  67. package/src/codex/CodexRuntime.ts +8 -2
  68. package/src/commands/CommandRouter.ts +14 -1
  69. package/src/commands/commandTypes.ts +2 -0
  70. package/src/feishu/CardRenderer.ts +313 -35
  71. package/src/feishu/FeishuMarkdown.ts +27 -1
  72. package/src/feishu/FeishuMessageClient.ts +33 -0
  73. package/src/feishu/FeishuTurnPresenter.ts +43 -6
  74. package/src/feishu/types.ts +1 -0
  75. package/src/index.ts +174 -2
  76. package/src/presentation/OutboundRouter.ts +7 -0
  77. package/src/presentation/TurnStateReducer.ts +21 -7
  78. package/src/proxy/ProxySessionController.ts +661 -16
  79. package/src/runtime/types.ts +1 -0
  80. package/src/state/StateStore.ts +56 -0
@@ -0,0 +1,431 @@
1
+ import { spawn } from "node:child_process";
2
+ import { randomUUID } from "node:crypto";
3
+ import fs from "node:fs";
4
+ import path from "node:path";
5
+ import { fileURLToPath, pathToFileURL } from "node:url";
6
+ import { agentBotHome } from "../config/paths.js";
7
+ import { cliText } from "./i18n.js";
8
+ import { readPackageVersion } from "./packageVersion.js";
9
+ import { runNpmCommand, SELF_UPDATE_PLAN_VERSION, validateInstalledPackage, } from "./SelfUpdateRunner.js";
10
+ export const AGENT_BOT_PACKAGE_NAME = "@keyou007/agent-bot";
11
+ export function parseSelfUpdateOptions(input) {
12
+ const options = { json: false };
13
+ for (let index = 0; index < input.length; index += 1) {
14
+ const value = input[index];
15
+ if (value === "--json") {
16
+ options.json = true;
17
+ continue;
18
+ }
19
+ if (value === "--alpha") {
20
+ if (options.channel && options.channel !== "alpha")
21
+ throw conflictingChannelError();
22
+ options.channel = "alpha";
23
+ continue;
24
+ }
25
+ if (value === "--stable") {
26
+ if (options.channel && options.channel !== "latest")
27
+ throw conflictingChannelError();
28
+ options.channel = "latest";
29
+ continue;
30
+ }
31
+ if (value === "--allow-downgrade") {
32
+ options.allowDowngrade = true;
33
+ continue;
34
+ }
35
+ if (value === "--version" || value === "--task") {
36
+ const next = input[index + 1]?.trim();
37
+ if (!next || next.startsWith("--"))
38
+ throw new Error(cliText(`${value} requires a value.`, `${value} 需要提供值。`));
39
+ if (value === "--version")
40
+ options.version = next;
41
+ else
42
+ options.taskReference = next;
43
+ index += 1;
44
+ continue;
45
+ }
46
+ throw new Error(cliText(`Unsupported update option: ${value}`, `不支持的 update 选项:${value}`));
47
+ }
48
+ if (options.version && options.channel)
49
+ throw new Error(cliText("--version cannot be combined with --alpha or --stable.", "--version 不能与 --alpha 或 --stable 同时使用。"));
50
+ return options;
51
+ }
52
+ export async function prepareSelfUpdate(options = {}, dependencies = defaultDependencies()) {
53
+ const currentVersion = readVersionFromRoot(dependencies.packageRoot);
54
+ const installation = requireNpmSelfUpdateInstallation(dependencies.packageRoot, dependencies.runNpm);
55
+ const channel = options.channel ?? defaultUpdateChannel(currentVersion);
56
+ const targetVersion = options.version
57
+ ? normalizeVersion(options.version)
58
+ : resolvePublishedVersion(channel, dependencies.runNpm, dependencies.packageRoot);
59
+ const comparison = compareSemver(targetVersion, currentVersion);
60
+ if (comparison === 0)
61
+ return { status: "current", currentVersion, targetVersion, channel };
62
+ if (comparison < 0 && !options.allowDowngrade)
63
+ throw new Error(cliText(`Refusing to downgrade Agent Bot from ${currentVersion} to ${targetVersion}. Pass --allow-downgrade to confirm.`, `拒绝将 Agent Bot 从 ${currentVersion} 降级到 ${targetVersion}。如需确认降级,请传入 --allow-downgrade。`));
64
+ const lockToken = dependencies.randomId();
65
+ const lockPath = acquireUpdateLock(installation.packageRoot, lockToken, dependencies.now());
66
+ const operationName = `${timestamp(dependencies.now())}-${dependencies.randomId()}`;
67
+ const operationRoot = path.join(dependencies.home, "updates", operationName);
68
+ const downloadRoot = path.join(operationRoot, "packages");
69
+ const candidateInstallRoot = path.join(operationRoot, "candidate");
70
+ const backupPackageRoot = path.join(operationRoot, "backup", "package");
71
+ const pendingMarkerPath = path.join(dependencies.home, "updates", "pending-update.json");
72
+ try {
73
+ fs.mkdirSync(downloadRoot, { recursive: true });
74
+ fs.mkdirSync(candidateInstallRoot, { recursive: true });
75
+ fs.mkdirSync(path.dirname(backupPackageRoot), { recursive: true });
76
+ const candidateTarball = packPackage(`${AGENT_BOT_PACKAGE_NAME}@${targetVersion}`, downloadRoot, dependencies.packageRoot, dependencies.runNpm);
77
+ runRequiredNpm([
78
+ "install",
79
+ "--prefix",
80
+ candidateInstallRoot,
81
+ "--no-save",
82
+ "--no-package-lock",
83
+ "--no-audit",
84
+ "--no-fund",
85
+ candidateTarball,
86
+ ], dependencies.packageRoot, dependencies.runNpm);
87
+ const candidatePackageRoot = path.join(candidateInstallRoot, "node_modules", ...AGENT_BOT_PACKAGE_NAME.split("/"));
88
+ dependencies.validatePackage(candidatePackageRoot, AGENT_BOT_PACKAGE_NAME, targetVersion);
89
+ fs.cpSync(dependencies.packageRoot, backupPackageRoot, {
90
+ recursive: true,
91
+ dereference: false,
92
+ errorOnExist: true,
93
+ });
94
+ dependencies.validatePackage(backupPackageRoot, AGENT_BOT_PACKAGE_NAME, currentVersion);
95
+ const backupTarball = packPackage(dependencies.packageRoot, downloadRoot, dependencies.packageRoot, dependencies.runNpm, ["--ignore-scripts"]);
96
+ const runnerPath = path.join(operationRoot, "update-runner.mjs");
97
+ fs.copyFileSync(dependencies.runnerEntry, runnerPath);
98
+ const planPath = path.join(operationRoot, "plan.json");
99
+ const resultPath = path.join(operationRoot, "result.json");
100
+ const logPath = path.join(operationRoot, "update.log");
101
+ const plan = {
102
+ schemaVersion: SELF_UPDATE_PLAN_VERSION,
103
+ packageName: AGENT_BOT_PACKAGE_NAME,
104
+ fromVersion: currentVersion,
105
+ toVersion: targetVersion,
106
+ packageRoot: installation.packageRoot,
107
+ candidateTarball,
108
+ backupTarball,
109
+ backupPackageRoot,
110
+ lockPath,
111
+ lockToken,
112
+ pendingMarkerPath,
113
+ databasePath: "pending",
114
+ controlEndpoint: "pending",
115
+ workingDirectory: process.cwd(),
116
+ restartService: false,
117
+ resultPath,
118
+ logPath,
119
+ };
120
+ fs.writeFileSync(planPath, `${JSON.stringify(plan, null, 2)}\n`);
121
+ fs.writeFileSync(pendingMarkerPath, `${JSON.stringify({
122
+ token: lockToken,
123
+ phase: "prepared",
124
+ planPath,
125
+ createdAt: dependencies.now().toISOString(),
126
+ }, null, 2)}\n`);
127
+ writeUpdateLock(lockPath, {
128
+ token: lockToken,
129
+ phase: "prepared",
130
+ pid: process.pid,
131
+ planPath,
132
+ createdAt: dependencies.now().toISOString(),
133
+ });
134
+ return {
135
+ status: "prepared",
136
+ currentVersion,
137
+ targetVersion,
138
+ channel,
139
+ planPath,
140
+ runnerPath,
141
+ logPath,
142
+ resultPath,
143
+ };
144
+ }
145
+ catch (error) {
146
+ releaseSelfUpdateLock(lockPath, lockToken);
147
+ releasePendingMarker(pendingMarkerPath, lockToken);
148
+ throw error;
149
+ }
150
+ }
151
+ export function requireNpmSelfUpdateInstallation(packageRoot = fileURLToPath(new URL("../../", import.meta.url)), runNpm = runNpmCommand) {
152
+ const installation = inspectNpmInstallation(packageRoot, runNpm);
153
+ if (installation.kind === "linked")
154
+ throw new Error(cliText("Agent Bot is running from npm link or a linked source directory and will not update itself. Update the source checkout manually.", "Agent Bot 当前通过 npm link 或链接的源码目录运行,不会执行自更新。请手动更新源码目录。"));
155
+ if (installation.kind !== "global")
156
+ throw new Error(cliText("Agent Bot is not running from a global npm installation and will not update itself. Update the source checkout manually.", "Agent Bot 当前不是通过 npm 全局安装运行,不会执行自更新。请手动更新源码目录。"));
157
+ return { kind: "global", packageRoot: installation.packageRoot };
158
+ }
159
+ export function finalizeSelfUpdatePlan(planPath, values) {
160
+ const plan = readSelfUpdatePlan(planPath);
161
+ plan.controlEndpoint = values.controlEndpoint;
162
+ plan.databasePath = values.databasePath;
163
+ plan.restartService = values.restartService;
164
+ if (values.workingDirectory)
165
+ plan.workingDirectory = values.workingDirectory;
166
+ if (values.reason)
167
+ plan.reason = values.reason;
168
+ if (values.notificationSessionId)
169
+ plan.notificationSessionId = values.notificationSessionId;
170
+ fs.writeFileSync(planPath, `${JSON.stringify(plan, null, 2)}\n`);
171
+ }
172
+ export function readSelfUpdatePlan(planPath) {
173
+ return JSON.parse(fs.readFileSync(planPath, "utf8"));
174
+ }
175
+ export function releaseSelfUpdatePlan(planPath) {
176
+ try {
177
+ const plan = readSelfUpdatePlan(planPath);
178
+ releaseSelfUpdateLock(plan.lockPath, plan.lockToken);
179
+ releasePendingMarker(plan.pendingMarkerPath, plan.lockToken);
180
+ }
181
+ catch {
182
+ // An incomplete plan may not have acquired a durable update reservation.
183
+ }
184
+ }
185
+ export function readPendingSelfUpdate(home = agentBotHome()) {
186
+ const markerPath = path.join(home, "updates", "pending-update.json");
187
+ try {
188
+ const marker = JSON.parse(fs.readFileSync(markerPath, "utf8"));
189
+ if (marker.phase !== "prepared" ||
190
+ typeof marker.token !== "string" ||
191
+ typeof marker.planPath !== "string")
192
+ return undefined;
193
+ assertSelfUpdatePlanPath(marker.planPath, home);
194
+ const plan = readSelfUpdatePlan(marker.planPath);
195
+ if (plan.lockToken !== marker.token ||
196
+ plan.pendingMarkerPath !== markerPath)
197
+ return undefined;
198
+ const lock = JSON.parse(fs.readFileSync(plan.lockPath, "utf8"));
199
+ if (lock.token !== marker.token)
200
+ return undefined;
201
+ return { planPath: marker.planPath, plan };
202
+ }
203
+ catch {
204
+ return undefined;
205
+ }
206
+ }
207
+ export function assertSelfUpdatePlanPath(planPath, home = agentBotHome()) {
208
+ const updatesRoot = path.resolve(home, "updates");
209
+ const resolved = path.resolve(planPath);
210
+ const relative = path.relative(updatesRoot, resolved);
211
+ if (!relative || relative.startsWith("..") || path.isAbsolute(relative)) {
212
+ throw new Error("Agent Bot update plan must be stored under the active Profile's updates directory.");
213
+ }
214
+ const plan = readSelfUpdatePlan(resolved);
215
+ if (plan.schemaVersion !== SELF_UPDATE_PLAN_VERSION ||
216
+ plan.packageName !== AGENT_BOT_PACKAGE_NAME) {
217
+ throw new Error("Invalid Agent Bot update plan.");
218
+ }
219
+ const expectedRunner = path.join(path.dirname(resolved), "update-runner.mjs");
220
+ if (!fs.existsSync(expectedRunner))
221
+ throw new Error("Agent Bot update runner is missing.");
222
+ }
223
+ export function launchSelfUpdateRunner(planPath, options = {}) {
224
+ const runnerPath = path.join(path.dirname(planPath), "update-runner.mjs");
225
+ const waitArguments = (options.waitPids ?? []).flatMap((pid) => [
226
+ "--wait-pid",
227
+ String(pid),
228
+ ]);
229
+ const child = spawn(process.execPath, [runnerPath, planPath, ...waitArguments], {
230
+ cwd: path.dirname(planPath),
231
+ detached: true,
232
+ windowsHide: true,
233
+ stdio: "ignore",
234
+ env: options.environment ?? process.env,
235
+ });
236
+ child.unref();
237
+ return child.pid;
238
+ }
239
+ export function inspectNpmInstallation(packageRoot, runNpm = runNpmCommand) {
240
+ const result = runNpm(["root", "--global"], packageRoot);
241
+ if (result.error || result.status !== 0)
242
+ return { kind: "source", packageRoot };
243
+ const globalRoot = lastMatchingLine(result.stdout, () => true);
244
+ if (!globalRoot)
245
+ return { kind: "source", packageRoot };
246
+ const expected = path.join(globalRoot, ...AGENT_BOT_PACKAGE_NAME.split("/"));
247
+ if (!fs.existsSync(expected))
248
+ return { kind: "source", packageRoot };
249
+ const linked = fs.lstatSync(expected).isSymbolicLink();
250
+ const expectedReal = fs.realpathSync.native(expected);
251
+ const packageReal = fs.realpathSync.native(packageRoot);
252
+ if (!samePath(expectedReal, packageReal))
253
+ return { kind: "source", packageRoot };
254
+ return { kind: linked ? "linked" : "global", packageRoot: expectedReal };
255
+ }
256
+ export function defaultUpdateChannel(version) {
257
+ return version.includes("-") ? "alpha" : "latest";
258
+ }
259
+ export function compareSemver(left, right) {
260
+ const a = parseSemver(left);
261
+ const b = parseSemver(right);
262
+ for (let index = 0; index < 3; index += 1) {
263
+ if (a.core[index] !== b.core[index])
264
+ return a.core[index] > b.core[index] ? 1 : -1;
265
+ }
266
+ if (a.pre.length === 0 || b.pre.length === 0) {
267
+ if (a.pre.length === b.pre.length)
268
+ return 0;
269
+ return a.pre.length === 0 ? 1 : -1;
270
+ }
271
+ const length = Math.max(a.pre.length, b.pre.length);
272
+ for (let index = 0; index < length; index += 1) {
273
+ const leftPart = a.pre[index];
274
+ const rightPart = b.pre[index];
275
+ if (leftPart === undefined)
276
+ return -1;
277
+ if (rightPart === undefined)
278
+ return 1;
279
+ if (leftPart === rightPart)
280
+ continue;
281
+ const leftNumber = /^\d+$/.test(leftPart) ? Number(leftPart) : undefined;
282
+ const rightNumber = /^\d+$/.test(rightPart) ? Number(rightPart) : undefined;
283
+ if (leftNumber !== undefined && rightNumber !== undefined)
284
+ return leftNumber > rightNumber ? 1 : -1;
285
+ if (leftNumber !== undefined)
286
+ return -1;
287
+ if (rightNumber !== undefined)
288
+ return 1;
289
+ return leftPart > rightPart ? 1 : -1;
290
+ }
291
+ return 0;
292
+ }
293
+ function resolvePublishedVersion(channel, runNpm, cwd) {
294
+ const result = runNpm(["view", `${AGENT_BOT_PACKAGE_NAME}@${channel}`, "version", "--json"], cwd);
295
+ if (result.error)
296
+ throw result.error;
297
+ if (result.status !== 0)
298
+ throw new Error(result.stderr.trim() || `npm view exited with ${result.status}.`);
299
+ let value;
300
+ try {
301
+ value = JSON.parse(result.stdout);
302
+ }
303
+ catch {
304
+ value = result.stdout.trim();
305
+ }
306
+ if (Array.isArray(value))
307
+ value = value.at(-1);
308
+ if (typeof value !== "string")
309
+ throw new Error("npm did not return a valid Agent Bot version.");
310
+ return normalizeVersion(value);
311
+ }
312
+ function packPackage(spec, destination, cwd, runNpm, extra = []) {
313
+ const result = runRequiredNpm(["pack", spec, "--pack-destination", destination, "--silent", ...extra], cwd, runNpm);
314
+ const filename = lastMatchingLine(result.stdout, (line) => line.endsWith(".tgz"));
315
+ if (!filename)
316
+ throw new Error(`Could not determine npm package archive from: ${result.stdout.trim()}`);
317
+ const tarball = path.resolve(destination, filename);
318
+ if (!fs.existsSync(tarball))
319
+ throw new Error(`npm package archive was not created: ${tarball}`);
320
+ return tarball;
321
+ }
322
+ function runRequiredNpm(args, cwd, runNpm) {
323
+ const result = runNpm(args, cwd);
324
+ if (result.error)
325
+ throw result.error;
326
+ if (result.status !== 0) {
327
+ throw new Error(result.stderr.trim() ||
328
+ result.stdout.trim() ||
329
+ `npm exited with ${result.status}.`);
330
+ }
331
+ return result;
332
+ }
333
+ function readVersionFromRoot(packageRoot) {
334
+ return normalizeVersion(readPackageVersion(pathToFileURL(path.join(packageRoot, "package.json"))));
335
+ }
336
+ function normalizeVersion(version) {
337
+ const normalized = version.trim().replace(/^v/, "");
338
+ parseSemver(normalized);
339
+ return normalized;
340
+ }
341
+ function parseSemver(version) {
342
+ const match = /^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?(?:\+[0-9A-Za-z.-]+)?$/.exec(version);
343
+ if (!match)
344
+ throw new Error(`Invalid Agent Bot version: ${version}.`);
345
+ return {
346
+ core: [Number(match[1]), Number(match[2]), Number(match[3])],
347
+ pre: match[4]?.split(".") ?? [],
348
+ };
349
+ }
350
+ function samePath(left, right) {
351
+ return process.platform === "win32"
352
+ ? left.toLowerCase() === right.toLowerCase()
353
+ : left === right;
354
+ }
355
+ function timestamp(value) {
356
+ return value.toISOString().replace(/[:.]/g, "-");
357
+ }
358
+ function acquireUpdateLock(packageRoot, token, now) {
359
+ const globalModulesRoot = path.dirname(path.dirname(packageRoot));
360
+ const lockPath = path.join(globalModulesRoot, ".agent-bot-update.lock");
361
+ try {
362
+ const handle = fs.openSync(lockPath, "wx");
363
+ try {
364
+ fs.writeFileSync(handle, `${JSON.stringify({
365
+ token,
366
+ phase: "preparing",
367
+ pid: process.pid,
368
+ createdAt: now.toISOString(),
369
+ }, null, 2)}\n`);
370
+ }
371
+ finally {
372
+ fs.closeSync(handle);
373
+ }
374
+ return lockPath;
375
+ }
376
+ catch (error) {
377
+ if (!isNodeError(error) || error.code !== "EEXIST")
378
+ throw error;
379
+ throw new Error(cliText(`Another Agent Bot update is already prepared or running. Lock: ${lockPath}`, `另一个 Agent Bot 更新已在准备或执行中。锁文件:${lockPath}`));
380
+ }
381
+ }
382
+ function writeUpdateLock(lockPath, value) {
383
+ fs.writeFileSync(lockPath, `${JSON.stringify(value, null, 2)}\n`);
384
+ }
385
+ function releaseSelfUpdateLock(lockPath, token) {
386
+ try {
387
+ const lock = JSON.parse(fs.readFileSync(lockPath, "utf8"));
388
+ if (lock.token === token)
389
+ fs.rmSync(lockPath, { force: true });
390
+ }
391
+ catch {
392
+ // Never remove a lock that cannot be verified as belonging to this operation.
393
+ }
394
+ }
395
+ function releasePendingMarker(markerPath, token) {
396
+ try {
397
+ const marker = JSON.parse(fs.readFileSync(markerPath, "utf8"));
398
+ if (marker.token === token)
399
+ fs.rmSync(markerPath, { force: true });
400
+ }
401
+ catch {
402
+ // Never remove a marker that cannot be verified as belonging to this operation.
403
+ }
404
+ }
405
+ function isNodeError(error) {
406
+ return error instanceof Error && "code" in error;
407
+ }
408
+ function lastMatchingLine(value, predicate) {
409
+ const lines = value.trim().split(/\r?\n/);
410
+ for (let index = lines.length - 1; index >= 0; index -= 1) {
411
+ const line = lines[index]?.trim();
412
+ if (line && predicate(line))
413
+ return line;
414
+ }
415
+ return undefined;
416
+ }
417
+ function conflictingChannelError() {
418
+ return new Error(cliText("--alpha and --stable cannot be combined.", "--alpha 和 --stable 不能同时使用。"));
419
+ }
420
+ function defaultDependencies() {
421
+ return {
422
+ packageRoot: fileURLToPath(new URL("../../", import.meta.url)),
423
+ home: agentBotHome(),
424
+ runnerEntry: fileURLToPath(new URL("./SelfUpdateRunner.js", import.meta.url)),
425
+ runNpm: runNpmCommand,
426
+ validatePackage: validateInstalledPackage,
427
+ now: () => new Date(),
428
+ randomId: randomUUID,
429
+ };
430
+ }
431
+ //# sourceMappingURL=SelfUpdater.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelfUpdater.js","sourceRoot":"","sources":["../../src/cli/SelfUpdater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,wBAAwB,GAEzB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,CAAC,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;AAsD5D,MAAM,UAAU,sBAAsB,CAAC,KAAe;IAIpD,MAAM,OAAO,GACX,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAClB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAE,CAAC;QAC5B,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;YACpB,SAAS;QACX,CAAC;QACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO;gBAChD,MAAM,uBAAuB,EAAE,CAAC;YAClC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC1B,SAAS;QACX,CAAC;QACD,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YACzB,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ;gBACjD,MAAM,uBAAuB,EAAE,CAAC;YAClC,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC;YAC3B,SAAS;QACX,CAAC;QACD,IAAI,KAAK,KAAK,mBAAmB,EAAE,CAAC;YAClC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;YAC9B,SAAS;QACX,CAAC;QACD,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,GAAG,KAAK,oBAAoB,EAAE,GAAG,KAAK,SAAS,CAAC,CACzD,CAAC;YACJ,IAAI,KAAK,KAAK,WAAW;gBAAE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;;gBAC7C,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;YAClC,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,MAAM,IAAI,KAAK,CACb,OAAO,CACL,8BAA8B,KAAK,EAAE,EACrC,kBAAkB,KAAK,EAAE,CAC1B,CACF,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO;QACpC,MAAM,IAAI,KAAK,CACb,OAAO,CACL,wDAAwD,EACxD,wCAAwC,CACzC,CACF,CAAC;IACJ,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAO,GAAsB,EAAE,EAC/B,YAAY,GAA4B,mBAAmB,EAAE;IAE7D,MAAM,cAAc,GAAG,mBAAmB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IACrE,MAAM,YAAY,GAAG,gCAAgC,CACnD,YAAY,CAAC,WAAW,EACxB,YAAY,CAAC,MAAM,CACpB,CAAC;IAEF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,oBAAoB,CAAC,cAAc,CAAC,CAAC;IACxE,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO;QACnC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC;QACnC,CAAC,CAAC,uBAAuB,CACrB,OAAO,EACP,YAAY,CAAC,MAAM,EACnB,YAAY,CAAC,WAAW,CACzB,CAAC;IACN,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IAChE,IAAI,UAAU,KAAK,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;IACvE,IAAI,UAAU,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc;QAC3C,MAAM,IAAI,KAAK,CACb,OAAO,CACL,wCAAwC,cAAc,OAAO,aAAa,sCAAsC,EAChH,mBAAmB,cAAc,QAAQ,aAAa,gCAAgC,CACvF,CACF,CAAC;IAEJ,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,iBAAiB,CAChC,YAAY,CAAC,WAAW,EACxB,SAAS,EACT,YAAY,CAAC,GAAG,EAAE,CACnB,CAAC;IAEF,MAAM,aAAa,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC;IACpF,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAC7E,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAC1D,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACnE,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACxE,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CACjC,YAAY,CAAC,IAAI,EACjB,SAAS,EACT,qBAAqB,CACtB,CAAC;IACF,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,EAAE,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEnE,MAAM,gBAAgB,GAAG,WAAW,CAClC,GAAG,sBAAsB,IAAI,aAAa,EAAE,EAC5C,YAAY,EACZ,YAAY,CAAC,WAAW,EACxB,YAAY,CAAC,MAAM,CACpB,CAAC;QACF,cAAc,CACZ;YACE,SAAS;YACT,UAAU;YACV,oBAAoB;YACpB,WAAW;YACX,mBAAmB;YACnB,YAAY;YACZ,WAAW;YACX,gBAAgB;SACjB,EACD,YAAY,CAAC,WAAW,EACxB,YAAY,CAAC,MAAM,CACpB,CAAC;QACF,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CACpC,oBAAoB,EACpB,cAAc,EACd,GAAG,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,CACrC,CAAC;QACF,YAAY,CAAC,eAAe,CAC1B,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,CACd,CAAC;QAEF,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,iBAAiB,EAAE;YACrD,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,KAAK;YAClB,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QACH,YAAY,CAAC,eAAe,CAC1B,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,CACf,CAAC;QACF,MAAM,aAAa,GAAG,WAAW,CAC/B,YAAY,CAAC,WAAW,EACxB,YAAY,EACZ,YAAY,CAAC,WAAW,EACxB,YAAY,CAAC,MAAM,EACnB,CAAC,kBAAkB,CAAC,CACrB,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;QACjE,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QACvD,MAAM,IAAI,GAAmB;YAC3B,aAAa,EAAE,wBAAwB;YACvC,WAAW,EAAE,sBAAsB;YACnC,WAAW,EAAE,cAAc;YAC3B,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,gBAAgB;YAChB,aAAa;YACb,iBAAiB;YACjB,QAAQ;YACR,SAAS;YACT,iBAAiB;YACjB,YAAY,EAAE,SAAS;YACvB,eAAe,EAAE,SAAS;YAC1B,gBAAgB,EAAE,OAAO,CAAC,GAAG,EAAE;YAC/B,cAAc,EAAE,KAAK;YACrB,UAAU;YACV,OAAO;SACR,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACjE,EAAE,CAAC,aAAa,CACd,iBAAiB,EACjB,GAAG,IAAI,CAAC,SAAS,CACf;YACE,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,UAAU;YACjB,QAAQ;YACR,SAAS,EAAE,YAAY,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;SAC5C,EACD,IAAI,EACJ,CAAC,CACF,IAAI,CACN,CAAC;QACF,eAAe,CAAC,QAAQ,EAAE;YACxB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,UAAU;YACjB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,QAAQ;YACR,SAAS,EAAE,YAAY,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;SAC5C,CAAC,CAAC;QACH,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,cAAc;YACd,aAAa;YACb,OAAO;YACP,QAAQ;YACR,UAAU;YACV,OAAO;YACP,UAAU;SACX,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,qBAAqB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC3C,oBAAoB,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;QACnD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,WAAW,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAC/D,MAAM,GAAmD,aAAa;IAEtE,MAAM,YAAY,GAAG,sBAAsB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACjE,IAAI,YAAY,CAAC,IAAI,KAAK,QAAQ;QAChC,MAAM,IAAI,KAAK,CACb,OAAO,CACL,kIAAkI,EAClI,uDAAuD,CACxD,CACF,CAAC;IACJ,IAAI,YAAY,CAAC,IAAI,KAAK,QAAQ;QAChC,MAAM,IAAI,KAAK,CACb,OAAO,CACL,0HAA0H,EAC1H,gDAAgD,CACjD,CACF,CAAC;IACJ,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,QAAgB,EAChB,MAOC;IAED,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;IAC9C,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IACxC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IAC5C,IAAI,MAAM,CAAC,gBAAgB;QAAE,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAC7E,IAAI,MAAM,CAAC,MAAM;QAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/C,IAAI,MAAM,CAAC,qBAAqB;QAC9B,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;IAC5D,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAmB,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC1C,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACrD,oBAAoB,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;IAC3E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,IAAI,GAAG,YAAY,EAAE;IAErB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;IACrE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAI5D,CAAC;QACF,IACE,MAAM,CAAC,KAAK,KAAK,UAAU;YAC3B,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;YAChC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;YAEnC,OAAO,SAAS,CAAC;QACnB,wBAAwB,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjD,IACE,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,KAAK;YAC/B,IAAI,CAAC,iBAAiB,KAAK,UAAU;YAErC,OAAO,SAAS,CAAC;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAE7D,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,QAAgB,EAChB,IAAI,GAAG,YAAY,EAAE;IAErB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACtD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC1C,IACE,IAAI,CAAC,aAAa,KAAK,wBAAwB;QAC/C,IAAI,CAAC,WAAW,KAAK,sBAAsB,EAC3C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,CAAC;IAC9E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,QAAgB,EAChB,OAAO,GAA6D,EAAE;IAEtE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;QAC9D,YAAY;QACZ,MAAM,CAAC,GAAG,CAAC;KACZ,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,KAAK,CACjB,OAAO,CAAC,QAAQ,EAChB,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,EACxC;QACE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC3B,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,IAAI;QACjB,KAAK,EAAE,QAAQ;QACf,GAAG,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG;KACxC,CACF,CAAC;IACF,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,OAAO,KAAK,CAAC,GAAG,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,WAAmB,EACnB,MAAM,GAAmD,aAAa;IAEtE,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,WAAW,CAAC,CAAC;IACzD,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QACrC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC/D,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IACrE,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC;IACvD,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACxD,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC;QACtC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IACzC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,KAAa;IACvD,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAC7B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACjC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC,CAAC;QACtC,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC;QACtC,IAAI,QAAQ,KAAK,SAAS;YAAE,SAAS;QACrC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,IAAI,UAAU,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS;YACvD,OAAO,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC,CAAC;QACxC,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC;QACxC,OAAO,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAA0B,EAC1B,MAAsD,EACtD,GAAW;IAEX,MAAM,MAAM,GAAG,MAAM,CACnB,CAAC,MAAM,EAAE,GAAG,sBAAsB,IAAI,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,EACrE,GAAG,CACJ,CAAC;IACF,IAAI,MAAM,CAAC,KAAK;QAAE,MAAM,MAAM,CAAC,KAAK,CAAC;IACrC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,wBAAwB,MAAM,CAAC,MAAM,GAAG,CACjE,CAAC;IACJ,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAC3B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,WAAW,CAClB,IAAY,EACZ,WAAmB,EACnB,GAAW,EACX,MAAsD,EACtD,KAAK,GAAa,EAAE;IAEpB,MAAM,MAAM,GAAG,cAAc,CAC3B,CAAC,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,EACvE,GAAG,EACH,MAAM,CACP,CAAC;IACF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CACxD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CACtB,CAAC;IACF,IAAI,CAAC,QAAQ;QACX,MAAM,IAAI,KAAK,CACb,iDAAiD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CACxE,CAAC;IACJ,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACpD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,wCAAwC,OAAO,EAAE,CAAC,CAAC;IACrE,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CACrB,IAAc,EACd,GAAW,EACX,MAAsD;IAEtD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACjC,IAAI,MAAM,CAAC,KAAK;QAAE,MAAM,MAAM,CAAC,KAAK,CAAC;IACrC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YAClB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YACpB,mBAAmB,MAAM,CAAC,MAAM,GAAG,CACtC,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,WAAmB;IAC9C,OAAO,gBAAgB,CACrB,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpD,WAAW,CAAC,UAAU,CAAC,CAAC;IACxB,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,WAAW,CAAC,OAAe;IAIlC,MAAM,KAAK,GACT,kEAAkE,CAAC,IAAI,CACrE,OAAO,CACR,CAAC;IACJ,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,GAAG,CAAC,CAAC;IACtE,OAAO;QACL,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;KAChC,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAa;IAC3C,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO;QACjC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE;QAC5C,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC;AACrB,CAAC;AAED,SAAS,SAAS,CAAC,KAAW;IAC5B,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,iBAAiB,CACxB,WAAmB,EACnB,KAAa,EACb,GAAS;IAET,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,wBAAwB,CAAC,CAAC;IACxE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,EAAE,CAAC,aAAa,CACd,MAAM,EACN,GAAG,IAAI,CAAC,SAAS,CACf;gBACE,KAAK;gBACL,KAAK,EAAE,WAAW;gBAClB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;aAC7B,EACD,IAAI,EACJ,CAAC,CACF,IAAI,CACN,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,KAAK,CAAC;QAChE,MAAM,IAAI,KAAK,CACb,OAAO,CACL,kEAAkE,QAAQ,EAAE,EAC5E,gCAAgC,QAAQ,EAAE,CAC3C,CACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,QAAgB,EAChB,KAA8B;IAE9B,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB,EAAE,KAAa;IAC5D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAExD,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;YAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,8EAA8E;IAChF,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,UAAkB,EAAE,KAAa;IAC7D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAE5D,CAAC;QACF,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK;YAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,gFAAgF;IAClF,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC;AACnD,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAa,EACb,SAAoC;IAEpC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1C,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;QAClC,IAAI,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IAC3C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,uBAAuB;IAC9B,OAAO,IAAI,KAAK,CACd,OAAO,CACL,0CAA0C,EAC1C,4BAA4B,CAC7B,CACF,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO;QACL,WAAW,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9D,IAAI,EAAE,YAAY,EAAE;QACpB,WAAW,EAAE,aAAa,CACxB,IAAI,GAAG,CAAC,uBAAuB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAClD;QACD,MAAM,EAAE,aAAa;QACrB,eAAe,EAAE,wBAAwB;QACzC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;QACrB,QAAQ,EAAE,UAAU;KACrB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { cliLanguage, cliText } from "./i18n.js";
2
+ export function formatAutostartStatus(status, language = cliLanguage) {
3
+ const registration = status.registration;
4
+ const enabled = registration.supported
5
+ ? registration.enabled
6
+ ? cliText("enabled", "已启用", language)
7
+ : cliText("disabled", "未启用", language)
8
+ : cliText("unsupported", "不支持", language);
9
+ const server = !status.server.running
10
+ ? cliText("not running", "未运行", language)
11
+ : status.server.ready
12
+ ? cliText("running", "运行中", language)
13
+ : cliText("starting", "启动中", language);
14
+ const lines = [
15
+ `${cliText("Agent Bot autostart: ", "Agent Bot 自启动:", language)}${enabled}`,
16
+ `${cliText("Platform: ", "平台:", language)}${platformLabel(registration.platform, language)}`,
17
+ `${cliText("Profile: ", "Profile:", language)}${registration.profilePath}`,
18
+ `${cliText("Config: ", "配置:", language)}${registration.configPath}`,
19
+ ];
20
+ if (registration.name) {
21
+ lines.push(`${cliText("Registration: ", "启动项:", language)}${registration.name}`);
22
+ }
23
+ if (registration.definitionPath) {
24
+ lines.push(`${cliText("Definition: ", "定义文件:", language)}${registration.definitionPath}`);
25
+ }
26
+ if (registration.mechanism) {
27
+ const mechanism = registration.mechanism === "task-scheduler"
28
+ ? "Task Scheduler"
29
+ : registration.mechanism === "startup-folder"
30
+ ? cliText("Startup folder", "启动文件夹", language)
31
+ : registration.mechanism === "launch-agent"
32
+ ? "LaunchAgent"
33
+ : "systemd";
34
+ lines.push(`${cliText("Mechanism: ", "启动机制:", language)}${mechanism}`);
35
+ }
36
+ if (registration.trigger) {
37
+ lines.push(`${cliText("Trigger: ", "触发方式:", language)}${registration.trigger === "boot"
38
+ ? cliText("system boot (systemd linger enabled)", "系统启动(已启用 systemd linger)", language)
39
+ : cliText("user login", "用户登录", language)}`);
40
+ }
41
+ if (registration.loaded !== undefined) {
42
+ lines.push(`${cliText("Loaded by OS: ", "操作系统已加载:", language)}${registration.loaded
43
+ ? cliText("yes", "是", language)
44
+ : cliText("no", "否", language)}`);
45
+ }
46
+ if (registration.platform === "linux") {
47
+ lines.push(`${cliText("Systemd linger: ", "Systemd linger:", language)}${registration.linger
48
+ ? cliText("enabled", "已启用", language)
49
+ : cliText("disabled", "未启用", language)}`);
50
+ }
51
+ lines.push(`${cliText("Agent Bot server: ", "Agent Bot 服务:", language)}${server}`, "");
52
+ return lines.join("\n");
53
+ }
54
+ function platformLabel(platform, language) {
55
+ if (platform === "win32")
56
+ return "Windows";
57
+ if (platform === "darwin")
58
+ return "macOS";
59
+ if (platform === "linux")
60
+ return "Linux";
61
+ return cliText(`${platform} (unsupported)`, `${platform}(不支持)`, language);
62
+ }
63
+ //# sourceMappingURL=autostartOutput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autostartOutput.js","sourceRoot":"","sources":["../../src/cli/autostartOutput.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"controlProtocol.js","sourceRoot":"","sources":["../../src/cli/controlProtocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAmD7B,MAAM,UAAU,eAAe,CAAC,UAAkB;IAChD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/F,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO;QACjC,CAAC,CAAC,0BAA0B,GAAG,EAAE;QACjC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"controlProtocol.js","sourceRoot":"","sources":["../../src/cli/controlProtocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAyK7B,MAAM,UAAU,eAAe,CAAC,UAAkB;IAChD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/F,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO;QACjC,CAAC,CAAC,0BAA0B,GAAG,EAAE;QACjC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC;AACtE,CAAC"}