@mnemonik/cli 7.100.0 → 7.101.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.
- package/dist/auth/pkce.d.ts +2 -0
- package/dist/auth/pkce.d.ts.map +1 -1
- package/dist/auth/pkce.js +57 -6
- package/dist/auth/pkce.js.map +1 -1
- package/dist/auth/status.d.ts +1 -5
- package/dist/auth/status.d.ts.map +1 -1
- package/dist/auth/status.js +1 -71
- package/dist/auth/status.js.map +1 -1
- package/dist/digests.json +91 -91
- package/dist/install/hosts.d.ts +2 -12
- package/dist/install/hosts.d.ts.map +1 -1
- package/dist/install/hosts.js +57 -356
- package/dist/install/hosts.js.map +1 -1
- package/dist/install/journal.d.ts +2 -10
- package/dist/install/journal.d.ts.map +1 -1
- package/dist/install/journal.js +0 -4
- package/dist/install/journal.js.map +1 -1
- package/dist/install/journey.d.ts.map +1 -1
- package/dist/install/journey.js +185 -158
- package/dist/install/journey.js.map +1 -1
- package/dist/install/transaction.d.ts +2 -3
- package/dist/install/transaction.d.ts.map +1 -1
- package/dist/install/transaction.js +1 -90
- package/dist/install/transaction.js.map +1 -1
- package/dist/install/ui.d.ts.map +1 -1
- package/dist/install/ui.js +15 -33
- package/dist/install/ui.js.map +1 -1
- package/dist/installSession.js +0 -4
- package/dist/launcher.d.ts.map +1 -1
- package/dist/launcher.js +16 -7
- package/dist/launcher.js.map +1 -1
- package/dist/output.d.ts +1 -0
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +3 -0
- package/dist/output.js.map +1 -1
- package/dist/preflight.d.ts +2 -0
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +64 -209
- package/dist/preflight.js.map +1 -1
- package/dist/project/eligibility.d.ts +11 -1
- package/dist/project/eligibility.d.ts.map +1 -1
- package/dist/project/eligibility.js +12 -1
- package/dist/project/eligibility.js.map +1 -1
- package/dist/project.d.ts +3 -0
- package/dist/project.d.ts.map +1 -1
- package/dist/project.js +56 -21
- package/dist/project.js.map +1 -1
- package/dist/router.d.ts +5 -1
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +201 -93
- package/dist/router.js.map +1 -1
- package/dist/runtime/releaseSource.d.ts +10 -0
- package/dist/runtime/releaseSource.d.ts.map +1 -1
- package/dist/runtime/releaseSource.js +82 -6
- package/dist/runtime/releaseSource.js.map +1 -1
- package/dist/runtime/selfUpdate.d.ts +4 -1
- package/dist/runtime/selfUpdate.d.ts.map +1 -1
- package/dist/runtime/selfUpdate.js +12 -6
- package/dist/runtime/selfUpdate.js.map +1 -1
- package/dist/runtime/signers.js +15 -7
- package/dist/runtime/store.d.ts +2 -1
- package/dist/runtime/store.d.ts.map +1 -1
- package/dist/runtime/store.js +20 -9
- package/dist/runtime/store.js.map +1 -1
- package/dist/sbom.json +21 -23
- package/dist/scanner/discover.d.ts +12 -1
- package/dist/scanner/discover.d.ts.map +1 -1
- package/dist/scanner/discover.js +37 -6
- package/dist/scanner/discover.js.map +1 -1
- package/dist/scanner/enable.d.ts +23 -5
- package/dist/scanner/enable.d.ts.map +1 -1
- package/dist/scanner/enable.js +93 -21
- package/dist/scanner/enable.js.map +1 -1
- package/dist/scanner/picker.d.ts +7 -1
- package/dist/scanner/picker.d.ts.map +1 -1
- package/dist/scanner/picker.js +64 -13
- package/dist/scanner/picker.js.map +1 -1
- package/dist/scanner-release.json +25 -25
- package/dist/screens/journey.d.ts +13 -3
- package/dist/screens/journey.d.ts.map +1 -1
- package/dist/screens/journey.js +145 -53
- package/dist/screens/journey.js.map +1 -1
- package/dist/screens.d.ts +2 -3
- package/dist/screens.d.ts.map +1 -1
- package/dist/screens.js +6 -16
- package/dist/screens.js.map +1 -1
- package/dist/status.d.ts +5 -3
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +194 -110
- package/dist/status.js.map +1 -1
- package/dist/vendor/local-setup.js +124 -27
- package/dist/vendor/shared/runtimeSigners.js +11 -6
- package/package.json +45 -41
|
@@ -6394,7 +6394,7 @@ init_repositoryRoot();
|
|
|
6394
6394
|
|
|
6395
6395
|
// packages/local-setup/src/index.ts
|
|
6396
6396
|
import { realpath, unlink as unlink2 } from "node:fs/promises";
|
|
6397
|
-
import { basename as basename2, dirname as dirname4, join as
|
|
6397
|
+
import { basename as basename2, dirname as dirname4, join as join5 } from "node:path";
|
|
6398
6398
|
|
|
6399
6399
|
// packages/local-setup/src/contracts.ts
|
|
6400
6400
|
var actionRequired = (state) => ({
|
|
@@ -6652,6 +6652,92 @@ $result = [UIntPtr]::Zero
|
|
|
6652
6652
|
);
|
|
6653
6653
|
}
|
|
6654
6654
|
|
|
6655
|
+
// packages/local-setup/src/automaticUpdate.ts
|
|
6656
|
+
import { spawn as nodeSpawn } from "node:child_process";
|
|
6657
|
+
import { stat as nodeStat, utimes } from "node:fs/promises";
|
|
6658
|
+
import { homedir as homedir2 } from "node:os";
|
|
6659
|
+
import { join as join4 } from "node:path";
|
|
6660
|
+
var DAY_MS = 864e5;
|
|
6661
|
+
var statePath = (stateDir) => join4(stateDir, "automatic-update.json");
|
|
6662
|
+
function cliLauncherPath(options = {}) {
|
|
6663
|
+
const platform = options.platform ?? process.platform;
|
|
6664
|
+
const home = options.home ?? homedir2();
|
|
6665
|
+
return platform === "win32" ? join4(
|
|
6666
|
+
options.env?.LOCALAPPDATA || join4(home, "AppData", "Local"),
|
|
6667
|
+
"Mnemonik",
|
|
6668
|
+
"bin",
|
|
6669
|
+
"mnemonik.cmd"
|
|
6670
|
+
) : join4(home, ".local", "bin", "mnemonik");
|
|
6671
|
+
}
|
|
6672
|
+
async function readState(path) {
|
|
6673
|
+
const bytes = await readBytes(path);
|
|
6674
|
+
if (!bytes) return {};
|
|
6675
|
+
const value = JSON.parse(bytes.toString());
|
|
6676
|
+
if (!value || typeof value !== "object" || value.lastAttempt !== void 0 && (!Number.isFinite(value.lastAttempt) || value.lastAttempt < 0))
|
|
6677
|
+
throw new Error("automatic_update_state_invalid");
|
|
6678
|
+
return value.lastAttempt === void 0 ? {} : { lastAttempt: value.lastAttempt };
|
|
6679
|
+
}
|
|
6680
|
+
async function maybeStartAutomaticUpdate(options = {}) {
|
|
6681
|
+
const stateDir = options.stateDir ?? stateDirectory(options.platform, options.env, options.home);
|
|
6682
|
+
const path = statePath(stateDir);
|
|
6683
|
+
try {
|
|
6684
|
+
const now = (options.now ?? Date.now)();
|
|
6685
|
+
const stat = options.stat ?? nodeStat;
|
|
6686
|
+
try {
|
|
6687
|
+
if (now - (await stat(path)).mtimeMs < DAY_MS) return false;
|
|
6688
|
+
} catch (error) {
|
|
6689
|
+
if (error.code !== "ENOENT") throw error;
|
|
6690
|
+
}
|
|
6691
|
+
if (!options.spawn && !(await stat(cliLauncherPath(options))).isFile()) return false;
|
|
6692
|
+
return await withLock(path, 0, async (assertOwned) => {
|
|
6693
|
+
const state = await readState(path);
|
|
6694
|
+
if (state.lastAttempt !== void 0 && now - state.lastAttempt < DAY_MS) return false;
|
|
6695
|
+
await atomicWrite(
|
|
6696
|
+
path,
|
|
6697
|
+
Buffer.from(`${JSON.stringify({ lastAttempt: now })}
|
|
6698
|
+
`),
|
|
6699
|
+
void 0,
|
|
6700
|
+
assertOwned
|
|
6701
|
+
);
|
|
6702
|
+
await utimes(path, now / 1e3, now / 1e3);
|
|
6703
|
+
const platform = options.platform ?? process.platform;
|
|
6704
|
+
const launcher = cliLauncherPath(options);
|
|
6705
|
+
const command = platform === "win32" ? {
|
|
6706
|
+
file: options.env?.ComSpec || "cmd.exe",
|
|
6707
|
+
args: ["/d", "/s", "/c", `""${launcher}" update --automatic"`],
|
|
6708
|
+
windowsVerbatimArguments: true
|
|
6709
|
+
} : { file: launcher, args: ["update", "--automatic"] };
|
|
6710
|
+
const child = (options.spawn ?? nodeSpawn)(command.file, command.args, {
|
|
6711
|
+
detached: true,
|
|
6712
|
+
stdio: "ignore",
|
|
6713
|
+
windowsHide: true,
|
|
6714
|
+
..."windowsVerbatimArguments" in command ? { windowsVerbatimArguments: command.windowsVerbatimArguments } : {}
|
|
6715
|
+
});
|
|
6716
|
+
child.once("error", () => {
|
|
6717
|
+
});
|
|
6718
|
+
child.unref();
|
|
6719
|
+
return true;
|
|
6720
|
+
});
|
|
6721
|
+
} catch {
|
|
6722
|
+
return false;
|
|
6723
|
+
}
|
|
6724
|
+
}
|
|
6725
|
+
async function startAutomaticUpdateForSession(start2 = maybeStartAutomaticUpdate, timeoutMs = 50) {
|
|
6726
|
+
let timer;
|
|
6727
|
+
try {
|
|
6728
|
+
await Promise.race([
|
|
6729
|
+
Promise.resolve().then(start2).catch(() => {
|
|
6730
|
+
}),
|
|
6731
|
+
new Promise((resolve2) => {
|
|
6732
|
+
timer = setTimeout(resolve2, timeoutMs);
|
|
6733
|
+
})
|
|
6734
|
+
]);
|
|
6735
|
+
} catch {
|
|
6736
|
+
} finally {
|
|
6737
|
+
if (timer) clearTimeout(timer);
|
|
6738
|
+
}
|
|
6739
|
+
}
|
|
6740
|
+
|
|
6655
6741
|
// packages/local-setup/src/index.ts
|
|
6656
6742
|
var MAX_ORIGINAL_BYTES = 64 * 1024;
|
|
6657
6743
|
var validDisplayName = (value) => typeof value === "string" && value.length <= 200 && !/[\p{C}\p{Zl}\p{Zp}@]/u.test(value);
|
|
@@ -6708,11 +6794,26 @@ function createProjectSetupExecutor(deps) {
|
|
|
6708
6794
|
if (fresh.kind !== "ok" && fresh.kind !== "absent") return actionRequired(fresh.kind);
|
|
6709
6795
|
if (await realpath(fresh.root) !== root) return actionRequired("identity_changed");
|
|
6710
6796
|
resolution = fresh;
|
|
6711
|
-
const file =
|
|
6797
|
+
const file = join5(root, ".mnemonik.json");
|
|
6712
6798
|
const bytes = await readBytes(file);
|
|
6713
6799
|
const diskHash = digest(bytes);
|
|
6714
6800
|
const saved = await readBytes(path);
|
|
6801
|
+
const freshRecord = () => ({
|
|
6802
|
+
schemaVersion: 1,
|
|
6803
|
+
operationId: randomUUID2(),
|
|
6804
|
+
root,
|
|
6805
|
+
scopeKey: hash2(deps.scopeKey),
|
|
6806
|
+
owner: options.owner,
|
|
6807
|
+
...resolution.kind !== "git_unavailable" && resolution.repository.kind === "plain" && options.nonGitSelected ? { nonGitSelected: true } : {},
|
|
6808
|
+
...options.intent ? { intent: options.intent } : {},
|
|
6809
|
+
before: {
|
|
6810
|
+
base64: bytes && bytes.length <= MAX_ORIGINAL_BYTES ? bytes.toString("base64") : null,
|
|
6811
|
+
hash: diskHash
|
|
6812
|
+
},
|
|
6813
|
+
steps: { remote: step(diskHash), identity: step(diskHash), rollback: step(diskHash) }
|
|
6814
|
+
});
|
|
6715
6815
|
let record;
|
|
6816
|
+
let recordIsNew = !saved;
|
|
6716
6817
|
if (saved) {
|
|
6717
6818
|
try {
|
|
6718
6819
|
record = JSON.parse(saved.toString());
|
|
@@ -6724,33 +6825,26 @@ function createProjectSetupExecutor(deps) {
|
|
|
6724
6825
|
if (record.before.base64 !== null && record.before.hash !== hash2(Buffer.from(record.before.base64, "base64")) || record.before.base64 !== null && Buffer.from(record.before.base64, "base64").length > MAX_ORIGINAL_BYTES || record.staged && hash2(record.staged.content) !== record.staged.hash || record.remote && hash2(JSON.stringify(record.remote)) !== record.steps.remote.afterHash)
|
|
6725
6826
|
return actionRequired("record_invalid");
|
|
6726
6827
|
if (record.scopeKey !== hash2(deps.scopeKey) || options.owner !== void 0 && JSON.stringify(record.owner) !== JSON.stringify(options.owner) || JSON.stringify(record.intent) !== JSON.stringify(options.intent)) {
|
|
6727
|
-
|
|
6728
|
-
|
|
6729
|
-
|
|
6730
|
-
|
|
6731
|
-
|
|
6732
|
-
|
|
6733
|
-
|
|
6734
|
-
|
|
6828
|
+
const replaceable = !record.remote && !record.staged && !record.steps.remote.started && !record.steps.identity.started && !record.steps.rollback.started && diskHash === record.before.hash;
|
|
6829
|
+
if (replaceable) {
|
|
6830
|
+
record = freshRecord();
|
|
6831
|
+
recordIsNew = true;
|
|
6832
|
+
} else {
|
|
6833
|
+
if (record.ignored) {
|
|
6834
|
+
delete record.ignored;
|
|
6835
|
+
await atomicWrite(
|
|
6836
|
+
path,
|
|
6837
|
+
Buffer.from(JSON.stringify(record, null, 2) + "\n"),
|
|
6838
|
+
void 0,
|
|
6839
|
+
assertOwned
|
|
6840
|
+
);
|
|
6841
|
+
}
|
|
6842
|
+
return actionRequired("operation_context_changed");
|
|
6735
6843
|
}
|
|
6736
|
-
return actionRequired("operation_context_changed");
|
|
6737
6844
|
}
|
|
6738
6845
|
} else {
|
|
6739
6846
|
if (mode === "apply" || mode === "rollback") return actionRequired("record_missing");
|
|
6740
|
-
record =
|
|
6741
|
-
schemaVersion: 1,
|
|
6742
|
-
operationId: randomUUID2(),
|
|
6743
|
-
root,
|
|
6744
|
-
scopeKey: hash2(deps.scopeKey),
|
|
6745
|
-
owner: options.owner,
|
|
6746
|
-
...resolution.repository.kind === "plain" && options.nonGitSelected ? { nonGitSelected: true } : {},
|
|
6747
|
-
...options.intent ? { intent: options.intent } : {},
|
|
6748
|
-
before: {
|
|
6749
|
-
base64: bytes && bytes.length <= MAX_ORIGINAL_BYTES ? bytes.toString("base64") : null,
|
|
6750
|
-
hash: diskHash
|
|
6751
|
-
},
|
|
6752
|
-
steps: { remote: step(diskHash), identity: step(diskHash), rollback: step(diskHash) }
|
|
6753
|
-
};
|
|
6847
|
+
record = freshRecord();
|
|
6754
6848
|
}
|
|
6755
6849
|
if (resolution.repository.kind === "plain" && record.nonGitSelected !== true) {
|
|
6756
6850
|
return nonGitSelectionRequired();
|
|
@@ -6797,7 +6891,7 @@ function createProjectSetupExecutor(deps) {
|
|
|
6797
6891
|
return response;
|
|
6798
6892
|
};
|
|
6799
6893
|
if (bytes && bytes.length > MAX_ORIGINAL_BYTES || record.before.base64 === null && record.before.hash !== null) {
|
|
6800
|
-
if (
|
|
6894
|
+
if (recordIsNew) await save();
|
|
6801
6895
|
return actionRequired("identity_too_large");
|
|
6802
6896
|
}
|
|
6803
6897
|
if (record.ignored && record.ignored.identityHash !== diskHash) {
|
|
@@ -6849,7 +6943,7 @@ function createProjectSetupExecutor(deps) {
|
|
|
6849
6943
|
}
|
|
6850
6944
|
if (!resumingWithoutIdentity && record.steps.identity.complete && diskHash !== record.staged?.hash)
|
|
6851
6945
|
return actionRequired("identity_changed");
|
|
6852
|
-
if (
|
|
6946
|
+
if (recordIsNew) await save();
|
|
6853
6947
|
if (record.evidence && JSON.stringify(record.evidence) !== JSON.stringify(evidence))
|
|
6854
6948
|
return actionRequired("operation_context_changed");
|
|
6855
6949
|
if (record.steps.identity.complete && mode === "ensure" && record.remote) {
|
|
@@ -6957,11 +7051,14 @@ export {
|
|
|
6957
7051
|
actionRequired,
|
|
6958
7052
|
appendWindowsPath,
|
|
6959
7053
|
atomicWrite,
|
|
7054
|
+
cliLauncherPath,
|
|
6960
7055
|
createProjectSetupExecutor,
|
|
7056
|
+
maybeStartAutomaticUpdate,
|
|
6961
7057
|
protectStateFile,
|
|
6962
7058
|
readWindowsUserPath,
|
|
6963
7059
|
recordPath,
|
|
6964
7060
|
removeWindowsPathEntry,
|
|
7061
|
+
startAutomaticUpdateForSession,
|
|
6965
7062
|
stateDirectory,
|
|
6966
7063
|
windowsCurrentAccount,
|
|
6967
7064
|
windowsCurrentUserAcl,
|
|
@@ -21,11 +21,9 @@ function decodeBase64(text, length) {
|
|
|
21
21
|
throw new Error('unsigned');
|
|
22
22
|
return bytes;
|
|
23
23
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
readFile(signaturePath, 'utf8'),
|
|
28
|
-
]);
|
|
24
|
+
/** Pinned release identity; a downloaded manifest can never replace its own trust anchor. */
|
|
25
|
+
export const RELEASE_MINISIGN_PUBLIC_KEY = 'RWSBYwgbjz0qKB4/ToA3dywBiAlQeBjoQpib4OHdjP2nDbpQnOVqpPm0';
|
|
26
|
+
export function verifyMinisign(message, signatureText, identity = RELEASE_MINISIGN_PUBLIC_KEY) {
|
|
29
27
|
const publicPacket = decodeBase64(identity, 42);
|
|
30
28
|
const lines = signatureText.trimEnd().split(/\r?\n/);
|
|
31
29
|
const [untrustedComment, encodedSignature, trustedLine, encodedGlobalSignature] = lines;
|
|
@@ -54,6 +52,13 @@ async function verifyMinisign(path, signaturePath, identity) {
|
|
|
54
52
|
!verifySignature(null, Buffer.concat([fileSignature, Buffer.from(trustedComment)]), publicKey, globalSignature))
|
|
55
53
|
throw new Error('unsigned');
|
|
56
54
|
}
|
|
55
|
+
async function verifyMinisignFile(path, signaturePath, identity) {
|
|
56
|
+
const [message, signatureText] = await Promise.all([
|
|
57
|
+
readFile(path),
|
|
58
|
+
readFile(signaturePath, 'utf8'),
|
|
59
|
+
]);
|
|
60
|
+
verifyMinisign(message, signatureText, identity);
|
|
61
|
+
}
|
|
57
62
|
/** Release tooling supplies the real identity and artifacts. These checks do not sign anything. */
|
|
58
63
|
export async function verifySigner(path, signer, run = execute) {
|
|
59
64
|
if (signer.platform === 'darwin' && /^[A-Z0-9]{10}$/.test(signer.identity)) {
|
|
@@ -81,7 +86,7 @@ export async function verifySigner(path, signer, run = execute) {
|
|
|
81
86
|
}
|
|
82
87
|
else if (signer.platform === 'linux') {
|
|
83
88
|
try {
|
|
84
|
-
await
|
|
89
|
+
await verifyMinisignFile(path, signer.signature, signer.identity);
|
|
85
90
|
}
|
|
86
91
|
catch {
|
|
87
92
|
throw new Error('unsigned');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mnemonik/cli",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.101.3",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/JayDeeCo-Limited/mnemonik-cli.git"
|
|
@@ -34,27 +34,27 @@
|
|
|
34
34
|
"hosts": {
|
|
35
35
|
"claude-code": {
|
|
36
36
|
"package": "@mnemonik/claude-code-hooks",
|
|
37
|
-
"version": "0.9.
|
|
37
|
+
"version": "0.9.201",
|
|
38
38
|
"closure": [
|
|
39
39
|
{
|
|
40
40
|
"name": "@mnemonik/claude-code-hooks",
|
|
41
|
-
"version": "0.9.
|
|
42
|
-
"integrity": "sha512-
|
|
41
|
+
"version": "0.9.201",
|
|
42
|
+
"integrity": "sha512-AZiSZt9UOY7epQSYYhcPkevYW/Ji+vl4KUejnVTKGj9YJFnydepSw+7w+jXrMCYrKP9WHsXqQDq47rPGB2TqGw=="
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
45
|
"name": "@mnemonik/credentials",
|
|
46
|
-
"version": "0.1.
|
|
47
|
-
"integrity": "sha512-
|
|
46
|
+
"version": "0.1.22",
|
|
47
|
+
"integrity": "sha512-cKMqN9U5wNAisriyf/gd5mVQ5V6tPu13qjiv3lB1PvUin31SijrwOH7LEKttK3aIVhdFh7CJ784fA0AGigHeLQ=="
|
|
48
48
|
},
|
|
49
49
|
{
|
|
50
50
|
"name": "@mnemonik/local-setup",
|
|
51
|
-
"version": "0.1.
|
|
52
|
-
"integrity": "sha512-
|
|
51
|
+
"version": "0.1.22",
|
|
52
|
+
"integrity": "sha512-IyCFDUuE9+6y7uJKJRVDPgBbqp79givfeSsDUXi61JCI30dID72MT4BC0pQqRy1gWWafPcPohB/iVD4FzWAYcw=="
|
|
53
53
|
},
|
|
54
54
|
{
|
|
55
55
|
"name": "@mnemonik/shared",
|
|
56
|
-
"version": "7.
|
|
57
|
-
"integrity": "sha512-
|
|
56
|
+
"version": "7.101.3",
|
|
57
|
+
"integrity": "sha512-VFILvz9A6eDRrmKFIDq1wRH2+0mzVAVZSFZFyTDpg2BzqigzD3MpdUr/oOpf5HncrSQF5cUuWHAr9F8adxUKdQ=="
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
60
|
"name": "ignore",
|
|
@@ -86,31 +86,32 @@
|
|
|
86
86
|
"version": "3.0.7",
|
|
87
87
|
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
|
|
88
88
|
}
|
|
89
|
-
]
|
|
89
|
+
],
|
|
90
|
+
"releaseVersion": "7.101.3"
|
|
90
91
|
},
|
|
91
92
|
"codex": {
|
|
92
93
|
"package": "@mnemonik/codex-hooks",
|
|
93
|
-
"version": "0.8.
|
|
94
|
+
"version": "0.8.170",
|
|
94
95
|
"closure": [
|
|
95
96
|
{
|
|
96
97
|
"name": "@mnemonik/codex-hooks",
|
|
97
|
-
"version": "0.8.
|
|
98
|
-
"integrity": "sha512-
|
|
98
|
+
"version": "0.8.170",
|
|
99
|
+
"integrity": "sha512-LL8FFUaG8awYe0UHnFWCDF6YoFwlyKVQ7JdVI3XC2CIdb1vyP/nudi7eiusk1iGB3Vr7T7DnN/AoJ28hYO2jyw=="
|
|
99
100
|
},
|
|
100
101
|
{
|
|
101
102
|
"name": "@mnemonik/credentials",
|
|
102
|
-
"version": "0.1.
|
|
103
|
-
"integrity": "sha512-
|
|
103
|
+
"version": "0.1.22",
|
|
104
|
+
"integrity": "sha512-cKMqN9U5wNAisriyf/gd5mVQ5V6tPu13qjiv3lB1PvUin31SijrwOH7LEKttK3aIVhdFh7CJ784fA0AGigHeLQ=="
|
|
104
105
|
},
|
|
105
106
|
{
|
|
106
107
|
"name": "@mnemonik/local-setup",
|
|
107
|
-
"version": "0.1.
|
|
108
|
-
"integrity": "sha512-
|
|
108
|
+
"version": "0.1.22",
|
|
109
|
+
"integrity": "sha512-IyCFDUuE9+6y7uJKJRVDPgBbqp79givfeSsDUXi61JCI30dID72MT4BC0pQqRy1gWWafPcPohB/iVD4FzWAYcw=="
|
|
109
110
|
},
|
|
110
111
|
{
|
|
111
112
|
"name": "@mnemonik/shared",
|
|
112
|
-
"version": "7.
|
|
113
|
-
"integrity": "sha512-
|
|
113
|
+
"version": "7.101.3",
|
|
114
|
+
"integrity": "sha512-VFILvz9A6eDRrmKFIDq1wRH2+0mzVAVZSFZFyTDpg2BzqigzD3MpdUr/oOpf5HncrSQF5cUuWHAr9F8adxUKdQ=="
|
|
114
115
|
},
|
|
115
116
|
{
|
|
116
117
|
"name": "ignore",
|
|
@@ -142,31 +143,32 @@
|
|
|
142
143
|
"version": "3.0.7",
|
|
143
144
|
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
|
|
144
145
|
}
|
|
145
|
-
]
|
|
146
|
+
],
|
|
147
|
+
"releaseVersion": "7.101.3"
|
|
146
148
|
},
|
|
147
149
|
"cursor": {
|
|
148
150
|
"package": "@mnemonik/cursor-hooks",
|
|
149
|
-
"version": "0.7.
|
|
151
|
+
"version": "0.7.157",
|
|
150
152
|
"closure": [
|
|
151
153
|
{
|
|
152
154
|
"name": "@mnemonik/cursor-hooks",
|
|
153
|
-
"version": "0.7.
|
|
154
|
-
"integrity": "sha512-
|
|
155
|
+
"version": "0.7.157",
|
|
156
|
+
"integrity": "sha512-WkTrJfh4bEhpxRRz4EUfO2VVWAOJuDpVcYTLSzYF1Ch0a2fQ1x7AVu6rmcALKeDxC+2ixmCxCMyDDk98Pt6VgQ=="
|
|
155
157
|
},
|
|
156
158
|
{
|
|
157
159
|
"name": "@mnemonik/credentials",
|
|
158
|
-
"version": "0.1.
|
|
159
|
-
"integrity": "sha512-
|
|
160
|
+
"version": "0.1.22",
|
|
161
|
+
"integrity": "sha512-cKMqN9U5wNAisriyf/gd5mVQ5V6tPu13qjiv3lB1PvUin31SijrwOH7LEKttK3aIVhdFh7CJ784fA0AGigHeLQ=="
|
|
160
162
|
},
|
|
161
163
|
{
|
|
162
164
|
"name": "@mnemonik/local-setup",
|
|
163
|
-
"version": "0.1.
|
|
164
|
-
"integrity": "sha512-
|
|
165
|
+
"version": "0.1.22",
|
|
166
|
+
"integrity": "sha512-IyCFDUuE9+6y7uJKJRVDPgBbqp79givfeSsDUXi61JCI30dID72MT4BC0pQqRy1gWWafPcPohB/iVD4FzWAYcw=="
|
|
165
167
|
},
|
|
166
168
|
{
|
|
167
169
|
"name": "@mnemonik/shared",
|
|
168
|
-
"version": "7.
|
|
169
|
-
"integrity": "sha512-
|
|
170
|
+
"version": "7.101.3",
|
|
171
|
+
"integrity": "sha512-VFILvz9A6eDRrmKFIDq1wRH2+0mzVAVZSFZFyTDpg2BzqigzD3MpdUr/oOpf5HncrSQF5cUuWHAr9F8adxUKdQ=="
|
|
170
172
|
},
|
|
171
173
|
{
|
|
172
174
|
"name": "ignore",
|
|
@@ -198,31 +200,32 @@
|
|
|
198
200
|
"version": "3.0.7",
|
|
199
201
|
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
|
|
200
202
|
}
|
|
201
|
-
]
|
|
203
|
+
],
|
|
204
|
+
"releaseVersion": "7.101.3"
|
|
202
205
|
},
|
|
203
206
|
"grok": {
|
|
204
207
|
"package": "@mnemonik/grok-hooks",
|
|
205
|
-
"version": "0.1.
|
|
208
|
+
"version": "0.1.43",
|
|
206
209
|
"closure": [
|
|
207
210
|
{
|
|
208
211
|
"name": "@mnemonik/grok-hooks",
|
|
209
|
-
"version": "0.1.
|
|
210
|
-
"integrity": "sha512-
|
|
212
|
+
"version": "0.1.43",
|
|
213
|
+
"integrity": "sha512-A7WiXDMIIwwA9tABr/J/9x0fWTrCgOXAP7Iy7jAWv6zNDAjnQM89g9jBMbzibqrYvw9+JEG38DGFk3Ax4PlN/w=="
|
|
211
214
|
},
|
|
212
215
|
{
|
|
213
216
|
"name": "@mnemonik/credentials",
|
|
214
|
-
"version": "0.1.
|
|
215
|
-
"integrity": "sha512-
|
|
217
|
+
"version": "0.1.22",
|
|
218
|
+
"integrity": "sha512-cKMqN9U5wNAisriyf/gd5mVQ5V6tPu13qjiv3lB1PvUin31SijrwOH7LEKttK3aIVhdFh7CJ784fA0AGigHeLQ=="
|
|
216
219
|
},
|
|
217
220
|
{
|
|
218
221
|
"name": "@mnemonik/local-setup",
|
|
219
|
-
"version": "0.1.
|
|
220
|
-
"integrity": "sha512-
|
|
222
|
+
"version": "0.1.22",
|
|
223
|
+
"integrity": "sha512-IyCFDUuE9+6y7uJKJRVDPgBbqp79givfeSsDUXi61JCI30dID72MT4BC0pQqRy1gWWafPcPohB/iVD4FzWAYcw=="
|
|
221
224
|
},
|
|
222
225
|
{
|
|
223
226
|
"name": "@mnemonik/shared",
|
|
224
|
-
"version": "7.
|
|
225
|
-
"integrity": "sha512-
|
|
227
|
+
"version": "7.101.3",
|
|
228
|
+
"integrity": "sha512-VFILvz9A6eDRrmKFIDq1wRH2+0mzVAVZSFZFyTDpg2BzqigzD3MpdUr/oOpf5HncrSQF5cUuWHAr9F8adxUKdQ=="
|
|
226
229
|
},
|
|
227
230
|
{
|
|
228
231
|
"name": "ignore",
|
|
@@ -254,7 +257,8 @@
|
|
|
254
257
|
"version": "3.0.7",
|
|
255
258
|
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
|
|
256
259
|
}
|
|
257
|
-
]
|
|
260
|
+
],
|
|
261
|
+
"releaseVersion": "7.101.3"
|
|
258
262
|
}
|
|
259
263
|
}
|
|
260
264
|
}
|