@mnemonik/cli 7.112.1 → 7.112.4
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/dist/auth/credentials.d.ts +7 -2
- package/dist/auth/credentials.d.ts.map +1 -1
- package/dist/auth/credentials.js +308 -96
- package/dist/auth/index.d.ts +15 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +69 -13
- package/dist/auth/index.js.map +1 -1
- package/dist/diagnostics.js +312 -100
- package/dist/digests.json +45 -45
- package/dist/identity/migrate.js +37 -0
- package/dist/install/journal.js +37 -0
- package/dist/install/journey.js +37 -0
- package/dist/install/ownership.js +37 -0
- package/dist/install/transaction.d.ts +1 -3
- package/dist/install/transaction.d.ts.map +1 -1
- package/dist/install/transaction.js +64 -14
- package/dist/install/transaction.js.map +1 -1
- package/dist/install/ui.js +37 -0
- package/dist/installation.js +37 -0
- package/dist/launcher.js +37 -0
- package/dist/preflight.js +1 -1
- package/dist/project/eligibility.js +37 -0
- package/dist/project/records.js +37 -0
- package/dist/project.d.ts +11 -2
- package/dist/project.d.ts.map +1 -1
- package/dist/project.js +43 -2
- package/dist/project.js.map +1 -1
- package/dist/router.js +38 -1
- package/dist/runtime/releaseSource.js +37 -0
- package/dist/runtime/selfUpdate.js +37 -0
- package/dist/runtime/signers.js +242 -50
- package/dist/runtime/store.js +34 -0
- package/dist/runtime/updateCheck.js +37 -0
- package/dist/sbom.json +21 -21
- package/dist/scanner/control.js +37 -0
- package/dist/scanner/discover.js +1 -1
- package/dist/scanner/enable.js +37 -0
- package/dist/scanner/service.js +37 -0
- package/dist/scanner/update.js +37 -0
- package/dist/scanner-release.json +29 -29
- package/dist/status.js +41 -4
- package/dist/transport/server.d.ts +21 -2
- package/dist/transport/server.d.ts.map +1 -1
- package/dist/transport/server.js +15 -1
- package/dist/transport/server.js.map +1 -1
- package/dist/vendor/local-setup.js +37 -0
- package/package.json +31 -31
package/dist/auth/index.d.ts
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import { type createCredentialAdapter, type CliOAuthCredential, type CredentialAdapterOptions } from '@mnemonik/credentials';
|
|
2
2
|
export declare const CLI_SCOPES: readonly ['account:read', 'install:manage', 'components:manage', 'projects:manage', 'offline_access'];
|
|
3
|
+
/**
|
|
4
|
+
* Sign-out holds the CLI credential lease across its /oauth/revoke call, so the call is
|
|
5
|
+
* bounded: a hung issuer must not keep the lease (and a sign-in waiting for it) indefinitely.
|
|
6
|
+
*/
|
|
7
|
+
export declare const CLI_REVOKE_TIMEOUT_MS = 10000;
|
|
8
|
+
/**
|
|
9
|
+
* Bound on one token refresh. The credential adapter retries a lost response
|
|
10
|
+
* once, so a refresh the server never answers ends as rotation_response_lost
|
|
11
|
+
* (retry) after about twice this.
|
|
12
|
+
*/
|
|
13
|
+
export declare const CLI_REFRESH_TIMEOUT_MS = 5000;
|
|
3
14
|
export interface CliAuthOptions {
|
|
4
15
|
stateDir?: string;
|
|
5
16
|
scannerRoots?: string;
|
|
@@ -21,6 +32,10 @@ export interface CliAuthOptions {
|
|
|
21
32
|
now?: () => number;
|
|
22
33
|
credentials?: ReturnType<typeof createCredentialAdapter>;
|
|
23
34
|
credentialOptions?: CredentialAdapterOptions;
|
|
35
|
+
/** Bound on the sign-out revoke call; CLI_REVOKE_TIMEOUT_MS unless a test replaces it. */
|
|
36
|
+
revokeTimeoutMs?: number;
|
|
37
|
+
/** Bound on one token refresh; CLI_REFRESH_TIMEOUT_MS unless a test replaces it. */
|
|
38
|
+
refreshTimeoutMs?: number;
|
|
24
39
|
}
|
|
25
40
|
export declare function noBrowserAvailable(platform?: NodeJS.Platform, env?: NodeJS.ProcessEnv): boolean;
|
|
26
41
|
export declare function createCliAuth(options?: CliAuthOptions): {
|
package/dist/auth/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,uBAAuB,EAE5B,KAAK,kBAAkB,EAEvB,KAAK,wBAAwB,EAE9B,MAAM,uBAAuB,CAAC;AAK/B,eAAO,MAAM,UAAU,YACrB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,CACR,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,uBAAuB,EAE5B,KAAK,kBAAkB,EAEvB,KAAK,wBAAwB,EAE9B,MAAM,uBAAuB,CAAC;AAK/B,eAAO,MAAM,UAAU,YACrB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,CACR,CAAC;AAGX;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAC5C;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,OAAQ,CAAC;AAE5C,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,kEAAkE;IAClE,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;IACzD,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAC7C,0FAA0F;IAC1F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAMT;AAkBD,wBAAgB,aAAa,CAAC,OAAO,GAAE,cAAmB;kBAoE/B,OAAO,CAAC,kBAAkB,CAAC;wBAgFrB,OAAO,CAAC,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;2BAW/C,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;kBAiBnC,OAAO,CAAC,IAAI,CAAC;EAmCvC;AAED,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
|
package/dist/auth/index.js
CHANGED
|
@@ -501,6 +501,13 @@ var require_ignore = __commonJS({
|
|
|
501
501
|
}
|
|
502
502
|
});
|
|
503
503
|
|
|
504
|
+
// packages/shared/dist/hookTimeouts.js
|
|
505
|
+
var init_hookTimeouts = __esm({
|
|
506
|
+
"packages/shared/dist/hookTimeouts.js"() {
|
|
507
|
+
"use strict";
|
|
508
|
+
}
|
|
509
|
+
});
|
|
510
|
+
|
|
504
511
|
// packages/shared/dist/runtimeSigners.js
|
|
505
512
|
import { basename, dirname as dirname2, join as join2, resolve, sep, win32 } from "node:path";
|
|
506
513
|
import { execFile, execFileSync } from "node:child_process";
|
|
@@ -618,11 +625,37 @@ var init_runtimeReader = __esm({
|
|
|
618
625
|
});
|
|
619
626
|
|
|
620
627
|
// packages/shared/dist/projectSetupHandoff.js
|
|
628
|
+
var PROJECT_ENSURE_TIMEOUT_MS, SUPERVISOR, RUN_STALE_MS;
|
|
621
629
|
var init_projectSetupHandoff = __esm({
|
|
622
630
|
"packages/shared/dist/projectSetupHandoff.js"() {
|
|
623
631
|
"use strict";
|
|
624
632
|
init_runtimeSigners();
|
|
633
|
+
init_hookTimeouts();
|
|
625
634
|
init_runtimeReader();
|
|
635
|
+
PROJECT_ENSURE_TIMEOUT_MS = 3e4;
|
|
636
|
+
SUPERVISOR = `
|
|
637
|
+
const { execFile } = require('node:child_process');
|
|
638
|
+
const { writeFileSync, renameSync } = require('node:fs');
|
|
639
|
+
const [out, bin, ...args] = process.argv.slice(1);
|
|
640
|
+
let input = '';
|
|
641
|
+
process.stdin.setEncoding('utf8');
|
|
642
|
+
process.stdin.on('data', (chunk) => (input += chunk));
|
|
643
|
+
process.stdin.on('end', () => {
|
|
644
|
+
const child = execFile(
|
|
645
|
+
process.execPath,
|
|
646
|
+
[bin, ...args],
|
|
647
|
+
{ shell: false, timeout: ${PROJECT_ENSURE_TIMEOUT_MS}, killSignal: 'SIGKILL', maxBuffer: 64 * 1024, env: process.env },
|
|
648
|
+
(error, stdout) => {
|
|
649
|
+
const result = { code: error ? (typeof error.code === 'number' ? error.code : null) : 0, killed: !!(error && error.killed), stdout: String(stdout) };
|
|
650
|
+
writeFileSync(out + '.tmp', JSON.stringify(result), { mode: 0o600 });
|
|
651
|
+
renameSync(out + '.tmp', out);
|
|
652
|
+
}
|
|
653
|
+
);
|
|
654
|
+
child.stdin.on('error', () => {});
|
|
655
|
+
child.stdin.end(input);
|
|
656
|
+
});
|
|
657
|
+
`;
|
|
658
|
+
RUN_STALE_MS = PROJECT_ENSURE_TIMEOUT_MS + 1e4;
|
|
626
659
|
}
|
|
627
660
|
});
|
|
628
661
|
|
|
@@ -631,6 +664,7 @@ var init_hookRuntime = __esm({
|
|
|
631
664
|
"packages/shared/dist/hookRuntime.js"() {
|
|
632
665
|
"use strict";
|
|
633
666
|
init_runtimeSigners();
|
|
667
|
+
init_hookTimeouts();
|
|
634
668
|
init_repositoryRoot();
|
|
635
669
|
init_runtimeReader();
|
|
636
670
|
init_runtimeSigners();
|
|
@@ -6398,6 +6432,9 @@ var DEFAULT_OPTIONS = {
|
|
|
6398
6432
|
};
|
|
6399
6433
|
var BUILT_IN_IGNORE_DIR_SET = new Set(BUILT_IN_IGNORE_DIRS);
|
|
6400
6434
|
|
|
6435
|
+
// packages/shared/dist/index.js
|
|
6436
|
+
init_hookTimeouts();
|
|
6437
|
+
|
|
6401
6438
|
// packages/shared/dist/jitDeliveryAck.js
|
|
6402
6439
|
init_runtimeSigners();
|
|
6403
6440
|
|
|
@@ -6749,6 +6786,8 @@ var CLI_SCOPES = [
|
|
|
6749
6786
|
"offline_access"
|
|
6750
6787
|
];
|
|
6751
6788
|
var CLI_VERSION = createRequire(import.meta.url)("../../package.json").version;
|
|
6789
|
+
var CLI_REVOKE_TIMEOUT_MS = 1e4;
|
|
6790
|
+
var CLI_REFRESH_TIMEOUT_MS = 5e3;
|
|
6752
6791
|
function noBrowserAvailable(platform = process.platform, env = process.env) {
|
|
6753
6792
|
return !!env.SSH_CONNECTION || !!env.SSH_TTY || platform === "linux" && !env.DISPLAY && !env.WAYLAND_DISPLAY;
|
|
6754
6793
|
}
|
|
@@ -6830,8 +6869,10 @@ function createCliAuth(options = {}) {
|
|
|
6830
6869
|
)
|
|
6831
6870
|
];
|
|
6832
6871
|
deviceInstallationId = deviceInstallationIds[0];
|
|
6872
|
+
await credentials.waitForCliLease();
|
|
6833
6873
|
const saved = await credentials.readCliOAuth().catch((error) => {
|
|
6834
6874
|
if (isCredentialSessionUnavailableError(error)) return null;
|
|
6875
|
+
if (error instanceof Error && error.message === "credential_secret_missing") return null;
|
|
6835
6876
|
throw error;
|
|
6836
6877
|
});
|
|
6837
6878
|
const clientId = saved?.clientId ?? cimdClientId;
|
|
@@ -6871,7 +6912,10 @@ function createCliAuth(options = {}) {
|
|
|
6871
6912
|
client_id: current.clientId,
|
|
6872
6913
|
refresh_token: current.refreshToken,
|
|
6873
6914
|
resource
|
|
6874
|
-
})
|
|
6915
|
+
}),
|
|
6916
|
+
// A refresh that never answers is a lost response to the credential
|
|
6917
|
+
// adapter (retried once, then rotation_response_lost), not a hang.
|
|
6918
|
+
signal: AbortSignal.timeout(options.refreshTimeoutMs ?? CLI_REFRESH_TIMEOUT_MS)
|
|
6875
6919
|
});
|
|
6876
6920
|
return {
|
|
6877
6921
|
status: response.status,
|
|
@@ -6904,23 +6948,35 @@ function createCliAuth(options = {}) {
|
|
|
6904
6948
|
return body2.email;
|
|
6905
6949
|
}
|
|
6906
6950
|
async function logout() {
|
|
6907
|
-
const
|
|
6908
|
-
|
|
6909
|
-
|
|
6910
|
-
|
|
6911
|
-
|
|
6912
|
-
|
|
6913
|
-
|
|
6914
|
-
|
|
6915
|
-
|
|
6916
|
-
|
|
6951
|
+
const result = await credentials.revokeCli({
|
|
6952
|
+
async revokeCli(current) {
|
|
6953
|
+
let response;
|
|
6954
|
+
try {
|
|
6955
|
+
response = await fetchImpl(`${current.issuer.replace(/\/$/u, "")}/oauth/revoke`, {
|
|
6956
|
+
method: "POST",
|
|
6957
|
+
headers: { "content-type": "application/x-www-form-urlencoded" },
|
|
6958
|
+
body: new URLSearchParams({
|
|
6959
|
+
client_id: current.clientId,
|
|
6960
|
+
token: current.refreshToken,
|
|
6961
|
+
token_type_hint: "refresh_token"
|
|
6962
|
+
}),
|
|
6963
|
+
signal: AbortSignal.timeout(options.revokeTimeoutMs ?? CLI_REVOKE_TIMEOUT_MS)
|
|
6964
|
+
});
|
|
6965
|
+
} catch {
|
|
6966
|
+
return { status: 503, body: { error: "revoke_failed" } };
|
|
6967
|
+
}
|
|
6968
|
+
return response.ok ? { status: 200, body: {} } : { status: response.status, body: { error: "revoke_failed" } };
|
|
6969
|
+
}
|
|
6917
6970
|
});
|
|
6918
|
-
if (
|
|
6919
|
-
|
|
6971
|
+
if (result.status === "revoked" || result.reason === "family_missing" || result.reason === "credential_secret_missing")
|
|
6972
|
+
return;
|
|
6973
|
+
throw new OAuthProtocolError("revoke_failed");
|
|
6920
6974
|
}
|
|
6921
6975
|
return { signIn, getCliBearer, accountEmail, logout };
|
|
6922
6976
|
}
|
|
6923
6977
|
export {
|
|
6978
|
+
CLI_REFRESH_TIMEOUT_MS,
|
|
6979
|
+
CLI_REVOKE_TIMEOUT_MS,
|
|
6924
6980
|
CLI_SCOPES,
|
|
6925
6981
|
createCliAuth,
|
|
6926
6982
|
noBrowserAvailable
|
package/dist/auth/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAML,mCAAmC,GACpC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAErD,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,cAAc;IACd,gBAAgB;IAChB,mBAAmB;IACnB,iBAAiB;IACjB,gBAAgB;CACR,CAAC;AACX,MAAM,WAAW,GAAI,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAyB;KAC9F,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"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"}
|