@inf-monkeys-tech/monkeys-cli 0.11.6 → 0.12.0
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 +11 -8
- package/README.zh.md +11 -8
- package/bin/run.js +4 -52
- package/bin/update-cache.js +3 -1
- package/dist/cli/run.d.ts +2 -0
- package/dist/cli/run.d.ts.map +1 -0
- package/dist/cli/run.js +45 -0
- package/dist/cli/run.js.map +1 -0
- package/dist/command/metadata.d.ts +1 -2
- package/dist/command/metadata.d.ts.map +1 -1
- package/dist/command/metadata.js +4 -13
- package/dist/command/metadata.js.map +1 -1
- package/dist/commands/dev-agent/work/watch.d.ts.map +1 -1
- package/dist/commands/dev-agent/work/watch.js +4 -7
- package/dist/commands/dev-agent/work/watch.js.map +1 -1
- package/dist/commands/execution/watch.d.ts.map +1 -1
- package/dist/commands/execution/watch.js +4 -7
- package/dist/commands/execution/watch.js.map +1 -1
- package/dist/commands/install.d.ts +12 -0
- package/dist/commands/install.d.ts.map +1 -0
- package/dist/commands/install.js +66 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/update.d.ts +3 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +68 -3
- package/dist/commands/update.js.map +1 -1
- package/dist/config/index.d.ts +0 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +0 -1
- package/dist/config/index.js.map +1 -1
- package/dist/config/local-command.d.ts +0 -2
- package/dist/config/local-command.d.ts.map +1 -1
- package/dist/config/local-command.js +8 -14
- package/dist/config/local-command.js.map +1 -1
- package/dist/config/registry.d.ts.map +1 -1
- package/dist/config/registry.js +2 -12
- package/dist/config/registry.js.map +1 -1
- package/dist/config/store.d.ts.map +1 -1
- package/dist/config/store.js +46 -5
- package/dist/config/store.js.map +1 -1
- package/dist/contracts/result.d.ts +1 -1
- package/dist/contracts/result.js +1 -1
- package/dist/contracts/version.d.ts +2 -2
- package/dist/contracts/version.js +2 -2
- package/dist/errors/cli-error.d.ts +3 -0
- package/dist/errors/cli-error.d.ts.map +1 -1
- package/dist/errors/cli-error.js +17 -0
- package/dist/errors/cli-error.js.map +1 -1
- package/dist/output/render.js +1 -1
- package/dist/schema/command-schema.d.ts +2 -1
- package/dist/schema/command-schema.d.ts.map +1 -1
- package/dist/schema/command-schema.js +2 -1
- package/dist/schema/command-schema.js.map +1 -1
- package/dist/security/redact.d.ts.map +1 -1
- package/dist/security/redact.js +16 -2
- package/dist/security/redact.js.map +1 -1
- package/dist/skills/content.d.ts +1 -0
- package/dist/skills/content.d.ts.map +1 -1
- package/dist/skills/content.js +2 -2
- package/dist/skills/content.js.map +1 -1
- package/dist/skills/state.d.ts +33 -7
- package/dist/skills/state.d.ts.map +1 -1
- package/dist/skills/state.js +103 -14
- package/dist/skills/state.js.map +1 -1
- package/dist/skills/sync.d.ts +5 -2
- package/dist/skills/sync.d.ts.map +1 -1
- package/dist/skills/sync.js +110 -9
- package/dist/skills/sync.js.map +1 -1
- package/dist/transport/http-client.d.ts.map +1 -1
- package/dist/transport/http-client.js +46 -20
- package/dist/transport/http-client.js.map +1 -1
- package/dist/transport/url-policy.d.ts +2 -0
- package/dist/transport/url-policy.d.ts.map +1 -0
- package/dist/transport/url-policy.js +33 -0
- package/dist/transport/url-policy.js.map +1 -0
- package/dist/update/finalize.d.ts +26 -0
- package/dist/update/finalize.d.ts.map +1 -0
- package/dist/update/finalize.js +5 -0
- package/dist/update/finalize.js.map +1 -0
- package/dist/update/installation.d.ts +17 -0
- package/dist/update/installation.d.ts.map +1 -0
- package/dist/update/installation.js +63 -0
- package/dist/update/installation.js.map +1 -0
- package/dist/update/notifier.d.ts +4 -4
- package/dist/update/notifier.d.ts.map +1 -1
- package/dist/update/notifier.js +68 -39
- package/dist/update/notifier.js.map +1 -1
- package/dist/update/process.d.ts +11 -0
- package/dist/update/process.d.ts.map +1 -0
- package/dist/update/process.js +20 -0
- package/dist/update/process.js.map +1 -0
- package/dist/update/updater.d.ts +12 -13
- package/dist/update/updater.d.ts.map +1 -1
- package/dist/update/updater.js +149 -59
- package/dist/update/updater.js.map +1 -1
- package/oclif.manifest.json +235 -2811
- package/package.json +5 -13
- package/skills/monkeys-shared/SKILL.md +1 -1
- package/skills/monkeys-shared/references/compatibility.md +2 -2
- package/bin/install-wizard.js +0 -77
- package/dist/config/fast-subscription-list.d.ts +0 -6
- package/dist/config/fast-subscription-list.d.ts.map +0 -1
- package/dist/config/fast-subscription-list.js +0 -19
- package/dist/config/fast-subscription-list.js.map +0 -1
package/dist/skills/sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/skills/sync.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/skills/sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/transport/http-client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/transport/http-client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAiJpH,qBAAa,UAAU;;IAKrB,OAAO,eAIN;IAED,OAAa,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,CAmClG;IAEK,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAiFvE;IAEK,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA0DhE;IAEK,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAsDlF;CACF"}
|
|
@@ -2,26 +2,34 @@ import { readFile } from 'node:fs/promises';
|
|
|
2
2
|
import { Agent, ProxyAgent, request as undiciRequest } from 'undici';
|
|
3
3
|
import { CliError, EXIT_CODES } from '../errors/cli-error.js';
|
|
4
4
|
import { assertSafeCustomHeaders } from './headers.js';
|
|
5
|
+
import { normalizeDeploymentBaseUrl } from './url-policy.js';
|
|
5
6
|
const DEFAULT_TIMEOUT_MS = 30_000;
|
|
6
7
|
const DEFAULT_MAX_RESPONSE_BYTES = 10 * 1024 * 1024;
|
|
7
8
|
const RETRYABLE_STATUS = new Set([429, 502, 503, 504]);
|
|
8
|
-
function
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
function requestDeadline(timeoutMs, callerSignal) {
|
|
10
|
+
const timeoutSignal = AbortSignal.timeout(timeoutMs);
|
|
11
|
+
return {
|
|
12
|
+
signal: callerSignal ? AbortSignal.any([callerSignal, timeoutSignal]) : timeoutSignal,
|
|
13
|
+
timedOut: () => timeoutSignal.aborted,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function deadlineError(deadline, callerSignal) {
|
|
17
|
+
if (deadline.timedOut()) {
|
|
18
|
+
return new CliError('Network request exceeded its total timeout.', {
|
|
19
|
+
code: 'REQUEST_TIMEOUT',
|
|
20
|
+
exitCode: EXIT_CODES.network,
|
|
21
|
+
retryable: true,
|
|
22
|
+
});
|
|
15
23
|
}
|
|
16
|
-
if (
|
|
17
|
-
|
|
18
|
-
code: '
|
|
19
|
-
exitCode: EXIT_CODES.
|
|
20
|
-
safeDetails: { origin: url.origin },
|
|
24
|
+
if (callerSignal?.aborted) {
|
|
25
|
+
return new CliError('Network request was aborted by the caller.', {
|
|
26
|
+
code: 'REQUEST_ABORTED',
|
|
27
|
+
exitCode: EXIT_CODES.network,
|
|
21
28
|
});
|
|
22
29
|
}
|
|
23
|
-
|
|
24
|
-
|
|
30
|
+
}
|
|
31
|
+
function normalizeBaseUrl(value) {
|
|
32
|
+
return new URL(normalizeDeploymentBaseUrl(value));
|
|
25
33
|
}
|
|
26
34
|
function buildUrl(context, input) {
|
|
27
35
|
if (!input.path.startsWith('/') || /^\/\//.test(input.path) || /^[a-z][a-z\d+.-]*:/i.test(input.path)) {
|
|
@@ -193,23 +201,26 @@ export class HttpClient {
|
|
|
193
201
|
const encodedBody = input.rawBody ?? (input.body === undefined ? undefined : JSON.stringify(input.body));
|
|
194
202
|
if (input.body !== undefined)
|
|
195
203
|
headers['content-type'] = 'application/json';
|
|
204
|
+
const timeoutMs = input.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
205
|
+
const deadline = requestDeadline(timeoutMs, input.signal);
|
|
196
206
|
let lastError;
|
|
197
207
|
for (let attempt = 1; attempt <= this.#maxAttempts; attempt += 1) {
|
|
198
208
|
try {
|
|
199
209
|
const response = await undiciRequest(url, {
|
|
200
210
|
...(encodedBody === undefined ? {} : { body: encodedBody }),
|
|
201
211
|
...(this.#dispatcher ? { dispatcher: this.#dispatcher } : {}),
|
|
212
|
+
bodyTimeout: timeoutMs,
|
|
202
213
|
headers,
|
|
203
|
-
headersTimeout:
|
|
214
|
+
headersTimeout: timeoutMs,
|
|
204
215
|
method: input.method,
|
|
205
|
-
|
|
216
|
+
signal: deadline.signal,
|
|
206
217
|
});
|
|
207
218
|
const normalizedHeaders = normalizedResponseHeaders(response.headers);
|
|
208
219
|
const retryable = RETRYABLE_STATUS.has(response.statusCode) && isReplaySafe(input) && attempt < this.#maxAttempts;
|
|
209
220
|
if (retryable) {
|
|
210
221
|
response.body.destroy();
|
|
211
222
|
const retryAfter = parseRetryAfter(normalizedHeaders['retry-after']);
|
|
212
|
-
await delay(retryAfter ?? Math.min(250 * 2 ** (attempt - 1) + Math.floor(Math.random() * 100), 2_000),
|
|
223
|
+
await delay(retryAfter ?? Math.min(250 * 2 ** (attempt - 1) + Math.floor(Math.random() * 100), 2_000), deadline.signal);
|
|
213
224
|
continue;
|
|
214
225
|
}
|
|
215
226
|
const buffer = await readLimitedBody(response.body, input.maxResponseBytes ?? DEFAULT_MAX_RESPONSE_BYTES);
|
|
@@ -239,9 +250,12 @@ export class HttpClient {
|
|
|
239
250
|
lastError = error;
|
|
240
251
|
if (error instanceof CliError)
|
|
241
252
|
throw error;
|
|
253
|
+
const terminal = deadlineError(deadline, input.signal);
|
|
254
|
+
if (terminal)
|
|
255
|
+
throw terminal;
|
|
242
256
|
if (!isReplaySafe(input) || attempt >= this.#maxAttempts)
|
|
243
257
|
break;
|
|
244
|
-
await delay(Math.min(250 * 2 ** (attempt - 1) + Math.floor(Math.random() * 100), 2_000),
|
|
258
|
+
await delay(Math.min(250 * 2 ** (attempt - 1) + Math.floor(Math.random() * 100), 2_000), deadline.signal);
|
|
245
259
|
}
|
|
246
260
|
}
|
|
247
261
|
throw new CliError('Network request failed.', {
|
|
@@ -267,17 +281,23 @@ export class HttpClient {
|
|
|
267
281
|
...(this.#context.teamId ? { 'x-monkeys-teamid': this.#context.teamId } : {}),
|
|
268
282
|
...(input.headers ?? {}),
|
|
269
283
|
};
|
|
284
|
+
const timeoutMs = input.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
285
|
+
const deadline = requestDeadline(timeoutMs, input.signal);
|
|
270
286
|
let response;
|
|
271
287
|
try {
|
|
272
288
|
response = await undiciRequest(url, {
|
|
273
289
|
...(this.#dispatcher ? { dispatcher: this.#dispatcher } : {}),
|
|
290
|
+
bodyTimeout: timeoutMs,
|
|
274
291
|
headers,
|
|
275
|
-
headersTimeout:
|
|
292
|
+
headersTimeout: timeoutMs,
|
|
276
293
|
method: input.method,
|
|
277
|
-
|
|
294
|
+
signal: deadline.signal,
|
|
278
295
|
});
|
|
279
296
|
}
|
|
280
297
|
catch (cause) {
|
|
298
|
+
const terminal = deadlineError(deadline, input.signal);
|
|
299
|
+
if (terminal)
|
|
300
|
+
throw terminal;
|
|
281
301
|
throw new CliError('Failed to open streaming response.', {
|
|
282
302
|
cause,
|
|
283
303
|
code: 'NETWORK_ERROR',
|
|
@@ -317,16 +337,22 @@ export class HttpClient {
|
|
|
317
337
|
safeDetails: { origin: url.origin },
|
|
318
338
|
});
|
|
319
339
|
}
|
|
340
|
+
const deadline = requestDeadline(DEFAULT_TIMEOUT_MS);
|
|
320
341
|
let response;
|
|
321
342
|
try {
|
|
322
343
|
response = await undiciRequest(url, {
|
|
323
344
|
...(this.#dispatcher ? { dispatcher: this.#dispatcher } : {}),
|
|
345
|
+
bodyTimeout: DEFAULT_TIMEOUT_MS,
|
|
324
346
|
headers: { accept: '*/*' },
|
|
325
347
|
headersTimeout: DEFAULT_TIMEOUT_MS,
|
|
326
348
|
method: 'GET',
|
|
349
|
+
signal: deadline.signal,
|
|
327
350
|
});
|
|
328
351
|
}
|
|
329
352
|
catch (cause) {
|
|
353
|
+
const terminal = deadlineError(deadline);
|
|
354
|
+
if (terminal)
|
|
355
|
+
throw terminal;
|
|
330
356
|
throw new CliError('Failed to open external media stream.', {
|
|
331
357
|
cause,
|
|
332
358
|
code: 'MEDIA_DOWNLOAD_NETWORK_ERROR',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/transport/http-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/transport/http-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url-policy.d.ts","sourceRoot":"","sources":["../../src/transport/url-policy.ts"],"names":[],"mappings":"AAIA,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CA8BhE"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { CliError, EXIT_CODES } from '../errors/cli-error.js';
|
|
2
|
+
const LOCAL_HTTP_HOSTS = new Set(['127.0.0.1', '::1', '[::1]', 'localhost']);
|
|
3
|
+
export function normalizeDeploymentBaseUrl(value) {
|
|
4
|
+
let url;
|
|
5
|
+
try {
|
|
6
|
+
url = new URL(value);
|
|
7
|
+
}
|
|
8
|
+
catch (cause) {
|
|
9
|
+
throw new CliError('Deployment Base URL is invalid.', {
|
|
10
|
+
cause,
|
|
11
|
+
code: 'DEPLOYMENT_URL_INVALID',
|
|
12
|
+
exitCode: EXIT_CODES.configuration,
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
const localHttp = url.protocol === 'http:' && LOCAL_HTTP_HOSTS.has(url.hostname.toLowerCase());
|
|
16
|
+
if (url.protocol !== 'https:' && !localHttp) {
|
|
17
|
+
throw new CliError('Deployment Base URL must use HTTPS; HTTP is allowed only for local addresses.', {
|
|
18
|
+
code: 'INSECURE_BASE_URL',
|
|
19
|
+
exitCode: EXIT_CODES.configuration,
|
|
20
|
+
safeDetails: { origin: url.origin },
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
if (url.username || url.password || url.search || url.hash) {
|
|
24
|
+
throw new CliError('Deployment Base URL cannot contain user information, query parameters, or fragments.', {
|
|
25
|
+
code: 'DEPLOYMENT_URL_INVALID',
|
|
26
|
+
exitCode: EXIT_CODES.configuration,
|
|
27
|
+
safeDetails: { origin: url.origin },
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
url.pathname = url.pathname.replace(/\/+$/, '');
|
|
31
|
+
return url.toString().replace(/\/$/, '');
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=url-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url-policy.js","sourceRoot":"","sources":["../../src/transport/url-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;AAE7E,MAAM,UAAU,0BAA0B,CAAC,KAAa;IACtD,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,QAAQ,CAAC,iCAAiC,EAAE;YACpD,KAAK;YACL,IAAI,EAAE,wBAAwB;YAC9B,QAAQ,EAAE,UAAU,CAAC,aAAa;SACnC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/F,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5C,MAAM,IAAI,QAAQ,CAAC,+EAA+E,EAAE;YAClG,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,UAAU,CAAC,aAAa;YAClC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3D,MAAM,IAAI,QAAQ,CAAC,sFAAsF,EAAE;YACzG,IAAI,EAAE,wBAAwB;YAC9B,QAAQ,EAAE,UAAU,CAAC,aAAa;YAClC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type SyncSkillsOptions } from '../skills/sync.js';
|
|
2
|
+
export type FinalizeUpdateOptions = Omit<SyncSkillsOptions, 'source'> & {
|
|
3
|
+
source?: 'install' | 'update';
|
|
4
|
+
};
|
|
5
|
+
export declare function finalizeCliUpdate(options: FinalizeUpdateOptions): Promise<{
|
|
6
|
+
action: 'failed';
|
|
7
|
+
warning: string;
|
|
8
|
+
removed?: never;
|
|
9
|
+
state?: never;
|
|
10
|
+
} | {
|
|
11
|
+
warning?: never;
|
|
12
|
+
action: 'synced';
|
|
13
|
+
removed: string[];
|
|
14
|
+
state: {
|
|
15
|
+
cliVersion: string;
|
|
16
|
+
schemaVersion: 2;
|
|
17
|
+
skills: {
|
|
18
|
+
checksum: string;
|
|
19
|
+
name: string;
|
|
20
|
+
path: string;
|
|
21
|
+
}[];
|
|
22
|
+
source: "install" | "sync" | "update";
|
|
23
|
+
syncedAt: string;
|
|
24
|
+
};
|
|
25
|
+
}>;
|
|
26
|
+
//# sourceMappingURL=finalize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"finalize.d.ts","sourceRoot":"","sources":["../../src/update/finalize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;CAAE,CAAC;AAE1G,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,qBAAqB;;;;;;;;;;;;;;;;;;;;GAErE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"finalize.js","sourceRoot":"","sources":["../../src/update/finalize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA0B,MAAM,mBAAmB,CAAC;AAI9E,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAA8B;IACpE,OAAO,iBAAiB,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAC;AAC/E,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type ProcessRunner } from './process.js';
|
|
2
|
+
export type InstallationMethod = 'manual' | 'npm' | 'pnpm';
|
|
3
|
+
export type PackageManager = Exclude<InstallationMethod, 'manual'>;
|
|
4
|
+
export interface CliInstallation {
|
|
5
|
+
executable: string;
|
|
6
|
+
method: InstallationMethod;
|
|
7
|
+
packageRoot?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function packageManagerGlobalRoot(manager: PackageManager, runner?: ProcessRunner): string | undefined;
|
|
10
|
+
export declare function detectCliInstallation(options?: {
|
|
11
|
+
entryPath?: string;
|
|
12
|
+
packageName?: string;
|
|
13
|
+
runner?: ProcessRunner;
|
|
14
|
+
}): Promise<CliInstallation>;
|
|
15
|
+
export declare function resolveExecutableOnPath(name?: string, env?: NodeJS.ProcessEnv, excludedExecutables?: readonly string[]): Promise<string | undefined>;
|
|
16
|
+
export declare function packageManagerInstallArgs(manager: PackageManager, packageName: string, version: string): string[];
|
|
17
|
+
//# sourceMappingURL=installation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installation.d.ts","sourceRoot":"","sources":["../../src/update/installation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyC,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAEzF,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAC3D,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAOD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,GAAE,aAAgC,GAAG,MAAM,GAAG,SAAS,CAQ9H;AAED,wBAAsB,qBAAqB,CACzC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,aAAa,CAAA;CAAO,GACjF,OAAO,CAAC,eAAe,CAAC,CAc1B;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,SAAY,EAChB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,mBAAmB,GAAE,SAAS,MAAM,EAAO,GAC1C,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAuB7B;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAEjH"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { constants } from 'node:fs';
|
|
2
|
+
import { access, realpath } from 'node:fs/promises';
|
|
3
|
+
import { delimiter, isAbsolute, join, relative, sep } from 'node:path';
|
|
4
|
+
import { MONKEYS_NPM_PACKAGE, runUpdateProcess } from './process.js';
|
|
5
|
+
function within(parent, child) {
|
|
6
|
+
const value = relative(parent, child);
|
|
7
|
+
return value === '' || (!value.startsWith(`..${sep}`) && value !== '..' && !isAbsolute(value));
|
|
8
|
+
}
|
|
9
|
+
export function packageManagerGlobalRoot(manager, runner = runUpdateProcess) {
|
|
10
|
+
const result = runner(manager, ['root', '--global']);
|
|
11
|
+
if (result.error || result.status !== 0)
|
|
12
|
+
return undefined;
|
|
13
|
+
const lines = result.stdout
|
|
14
|
+
.split(/\r?\n/)
|
|
15
|
+
.map((line) => line.trim())
|
|
16
|
+
.filter(Boolean);
|
|
17
|
+
return lines.length === 1 && isAbsolute(lines[0]) ? lines[0] : undefined;
|
|
18
|
+
}
|
|
19
|
+
export async function detectCliInstallation(options = {}) {
|
|
20
|
+
const entryPath = options.entryPath ?? process.argv[1] ?? process.execPath;
|
|
21
|
+
const packageName = options.packageName ?? MONKEYS_NPM_PACKAGE;
|
|
22
|
+
const runner = options.runner ?? runUpdateProcess;
|
|
23
|
+
const executable = await realpath(entryPath).catch(() => entryPath);
|
|
24
|
+
for (const method of ['pnpm', 'npm']) {
|
|
25
|
+
const root = packageManagerGlobalRoot(method, runner);
|
|
26
|
+
if (!root)
|
|
27
|
+
continue;
|
|
28
|
+
const packageRoot = join(root, ...packageName.split('/'));
|
|
29
|
+
const canonicalPackageRoot = await realpath(packageRoot).catch(() => packageRoot);
|
|
30
|
+
if (within(canonicalPackageRoot, executable))
|
|
31
|
+
return { executable, method, packageRoot: canonicalPackageRoot };
|
|
32
|
+
}
|
|
33
|
+
return { executable, method: 'manual' };
|
|
34
|
+
}
|
|
35
|
+
export async function resolveExecutableOnPath(name = 'monkeys', env = process.env, excludedExecutables = []) {
|
|
36
|
+
const excluded = new Set(await Promise.all(excludedExecutables.map(async (path) => realpath(path).catch(() => path))));
|
|
37
|
+
const directories = (env.PATH ?? '').split(delimiter).filter(Boolean);
|
|
38
|
+
const candidates = process.platform === 'win32'
|
|
39
|
+
? (env.PATHEXT ?? '.COM;.EXE;.BAT;.CMD')
|
|
40
|
+
.split(';')
|
|
41
|
+
.filter(Boolean)
|
|
42
|
+
.map((extension) => `${name}${extension.toLowerCase()}`)
|
|
43
|
+
: [name];
|
|
44
|
+
for (const directory of directories) {
|
|
45
|
+
for (const candidate of candidates) {
|
|
46
|
+
const path = join(directory, candidate);
|
|
47
|
+
try {
|
|
48
|
+
await access(path, process.platform === 'win32' ? constants.F_OK : constants.X_OK);
|
|
49
|
+
const canonical = await realpath(path).catch(() => path);
|
|
50
|
+
if (excluded.has(path) || excluded.has(canonical))
|
|
51
|
+
continue;
|
|
52
|
+
return path;
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// Continue through PATH in shell resolution order.
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
export function packageManagerInstallArgs(manager, packageName, version) {
|
|
61
|
+
return manager === 'pnpm' ? ['add', '--global', `${packageName}@${version}`] : ['install', '--global', `${packageName}@${version}`];
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=installation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installation.js","sourceRoot":"","sources":["../../src/update/installation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import type { PackageManager } from './installation.js';
|
|
2
|
+
import { type ProcessRunner } from './process.js';
|
|
1
3
|
export declare const UPDATE_CHECK_TTL_MS: number;
|
|
2
4
|
export declare const UPDATE_FETCH_TIMEOUT_MS = 15000;
|
|
3
5
|
export declare const UPDATE_NOTIFIER_DISABLE_ENV = "MONKEYS_CLI_NO_UPDATE_NOTIFIER";
|
|
4
|
-
export declare const UPDATE_REGISTRY_URL = "https://registry.npmjs.org/@inf-monkeys-tech%2Fmonkeys-cli/latest";
|
|
5
6
|
export interface UpdateNotice {
|
|
6
7
|
command: 'monkeys update';
|
|
7
8
|
current: string;
|
|
@@ -13,9 +14,8 @@ export interface UpdateState {
|
|
|
13
14
|
latestVersion: string;
|
|
14
15
|
}
|
|
15
16
|
export interface FetchLatestOptions {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
timeoutMs?: number;
|
|
17
|
+
manager?: PackageManager;
|
|
18
|
+
runner?: ProcessRunner;
|
|
19
19
|
}
|
|
20
20
|
export interface UpdateCacheOptions extends FetchLatestOptions {
|
|
21
21
|
env?: NodeJS.ProcessEnv;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifier.d.ts","sourceRoot":"","sources":["../../src/update/notifier.ts"],"names":[],"mappings":"AAMA,
|
|
1
|
+
{"version":3,"file":"notifier.d.ts","sourceRoot":"","sources":["../../src/update/notifier.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAyC,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAEzF,eAAO,MAAM,mBAAmB,QAAuB,CAAC;AACxD,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAC9C,eAAO,MAAM,2BAA2B,mCAAmC,CAAC;AAS5E,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,+BAAgC,SAAQ,kBAAkB;IACzE,eAAe,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD;AAmCD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAS/E;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAE1E;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAE7E;AAED,wBAAgB,wBAAwB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAE9G;AAED,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE5E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAOhF;AAED,wBAAgB,sBAAsB,IAAI,YAAY,GAAG,SAAS,CAEjE;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,CAE7E;AAUD,wBAAsB,eAAe,CAAC,IAAI,SAAoB,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAMhG;AAmBD,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB1F;AAqED,wBAAsB,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAsBnH;AAED,wBAAgB,0BAA0B,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAavE;AAED,wBAAsB,wBAAwB,CAC5C,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAenC"}
|
package/dist/update/notifier.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
|
-
import {
|
|
2
|
+
import { randomUUID } from 'node:crypto';
|
|
3
|
+
import { open, mkdir, readFile, rename, rm, stat, unlink } from 'node:fs/promises';
|
|
3
4
|
import { dirname, join } from 'node:path';
|
|
4
5
|
import { fileURLToPath } from 'node:url';
|
|
5
6
|
import { configDirectory, resolveConfigPath } from '../config/paths.js';
|
|
7
|
+
import { MONKEYS_NPM_PACKAGE, runUpdateProcess } from './process.js';
|
|
6
8
|
export const UPDATE_CHECK_TTL_MS = 24 * 60 * 60 * 1_000;
|
|
7
9
|
export const UPDATE_FETCH_TIMEOUT_MS = 15_000;
|
|
8
10
|
export const UPDATE_NOTIFIER_DISABLE_ENV = 'MONKEYS_CLI_NO_UPDATE_NOTIFIER';
|
|
9
|
-
export const UPDATE_REGISTRY_URL = 'https://registry.npmjs.org/@inf-monkeys-tech%2Fmonkeys-cli/latest';
|
|
10
|
-
const MAX_RESPONSE_BYTES = 256 * 1_024;
|
|
11
11
|
const REFRESH_LOCK_STALE_MS = UPDATE_FETCH_TIMEOUT_MS * 2;
|
|
12
12
|
const UPDATE_STATE_FILE = 'update-state.json';
|
|
13
13
|
let pendingUpdateNotice;
|
|
@@ -124,45 +124,59 @@ async function atomicWrite(path, content) {
|
|
|
124
124
|
await rm(temporary, { force: true });
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
|
-
async function
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
const
|
|
131
|
-
const
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
}
|
|
142
|
-
chunks.push(value);
|
|
127
|
+
export async function fetchLatestVersion(options = {}) {
|
|
128
|
+
const manager = options.manager ?? 'npm';
|
|
129
|
+
const runner = options.runner ?? runUpdateProcess;
|
|
130
|
+
const args = ['view', MONKEYS_NPM_PACKAGE, 'version', '--json'];
|
|
131
|
+
const result = runner(manager, args, UPDATE_FETCH_TIMEOUT_MS);
|
|
132
|
+
if (result.error || result.status !== 0) {
|
|
133
|
+
throw new Error(`${manager} registry query failed: ${`${result.stdout}\n${result.stderr}`.trim() || result.error?.message || 'unknown failure'}`);
|
|
134
|
+
}
|
|
135
|
+
let version;
|
|
136
|
+
try {
|
|
137
|
+
version = JSON.parse(result.stdout);
|
|
138
|
+
}
|
|
139
|
+
catch (cause) {
|
|
140
|
+
throw new Error(`${manager} registry returned invalid JSON`, { cause });
|
|
143
141
|
}
|
|
144
|
-
|
|
142
|
+
if (typeof version !== 'string' || !isReleaseVersion(version))
|
|
143
|
+
throw new Error(`${manager} registry returned an invalid package version`);
|
|
144
|
+
return version;
|
|
145
145
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
146
|
+
function processIsAlive(pid) {
|
|
147
|
+
if (pid === process.pid)
|
|
148
|
+
return true;
|
|
149
|
+
try {
|
|
150
|
+
process.kill(pid, 0);
|
|
151
|
+
return true;
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
return isNodeError(error, 'EPERM');
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
function parseRefreshLock(value) {
|
|
158
|
+
try {
|
|
159
|
+
const record = JSON.parse(value);
|
|
160
|
+
if (!Number.isFinite(record.createdAt) ||
|
|
161
|
+
!Number.isSafeInteger(record.pid) ||
|
|
162
|
+
Number(record.pid) <= 0 ||
|
|
163
|
+
typeof record.token !== 'string') {
|
|
164
|
+
return undefined;
|
|
165
|
+
}
|
|
166
|
+
return { createdAt: Number(record.createdAt), pid: Number(record.pid), token: record.token };
|
|
167
|
+
}
|
|
168
|
+
catch {
|
|
169
|
+
return undefined;
|
|
170
|
+
}
|
|
159
171
|
}
|
|
160
172
|
async function acquireRefreshLock(path, nowMs) {
|
|
161
173
|
await mkdir(dirname(path), { recursive: true, mode: 0o700 });
|
|
162
174
|
try {
|
|
163
175
|
const handle = await open(path, 'wx', 0o600);
|
|
164
|
-
|
|
165
|
-
|
|
176
|
+
const token = randomUUID();
|
|
177
|
+
await handle.writeFile(JSON.stringify({ createdAt: nowMs, pid: process.pid, token }));
|
|
178
|
+
await handle.sync();
|
|
179
|
+
return { handle, token };
|
|
166
180
|
}
|
|
167
181
|
catch (error) {
|
|
168
182
|
if (!isNodeError(error, 'EEXIST'))
|
|
@@ -170,15 +184,31 @@ async function acquireRefreshLock(path, nowMs) {
|
|
|
170
184
|
const existing = await stat(path).catch(() => undefined);
|
|
171
185
|
if (!existing || nowMs - existing.mtimeMs <= REFRESH_LOCK_STALE_MS)
|
|
172
186
|
return undefined;
|
|
173
|
-
await
|
|
187
|
+
const observed = await readFile(path, 'utf8').catch(() => undefined);
|
|
188
|
+
const owner = observed ? parseRefreshLock(observed) : undefined;
|
|
189
|
+
if (owner && processIsAlive(owner.pid))
|
|
190
|
+
return undefined;
|
|
191
|
+
if (observed === undefined || (await readFile(path, 'utf8').catch(() => undefined)) !== observed)
|
|
192
|
+
return undefined;
|
|
193
|
+
await unlink(path).catch(() => undefined);
|
|
174
194
|
try {
|
|
175
|
-
|
|
195
|
+
const handle = await open(path, 'wx', 0o600);
|
|
196
|
+
const token = randomUUID();
|
|
197
|
+
await handle.writeFile(JSON.stringify({ createdAt: nowMs, pid: process.pid, token }));
|
|
198
|
+
await handle.sync();
|
|
199
|
+
return { handle, token };
|
|
176
200
|
}
|
|
177
201
|
catch {
|
|
178
202
|
return undefined;
|
|
179
203
|
}
|
|
180
204
|
}
|
|
181
205
|
}
|
|
206
|
+
async function releaseRefreshLock(path, lock) {
|
|
207
|
+
await lock.handle.close().catch(() => undefined);
|
|
208
|
+
const current = await readFile(path, 'utf8').catch(() => undefined);
|
|
209
|
+
if (current && parseRefreshLock(current)?.token === lock.token)
|
|
210
|
+
await unlink(path).catch(() => undefined);
|
|
211
|
+
}
|
|
182
212
|
export async function refreshUpdateCache(currentVersion, options = {}) {
|
|
183
213
|
const env = options.env ?? process.env;
|
|
184
214
|
if (shouldSkipUpdateNotifier(currentVersion, env))
|
|
@@ -204,8 +234,7 @@ export async function refreshUpdateCache(currentVersion, options = {}) {
|
|
|
204
234
|
return false;
|
|
205
235
|
}
|
|
206
236
|
finally {
|
|
207
|
-
await
|
|
208
|
-
await rm(lockPath, { force: true }).catch(() => undefined);
|
|
237
|
+
await releaseRefreshLock(lockPath, lock);
|
|
209
238
|
}
|
|
210
239
|
}
|
|
211
240
|
export function scheduleUpdateCacheRefresh(currentVersion) {
|