@mnemonik/grok-hooks 0.1.16 → 0.1.21
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/adapter.d.ts +31 -0
- package/dist/adapter.js +57 -0
- package/dist/adapter.js.map +1 -0
- package/dist/hook.js +40 -3
- package/dist/hook.js.map +1 -1
- package/dist/install.d.ts +6 -0
- package/dist/install.js +26 -2
- package/dist/install.js.map +1 -1
- package/dist/lib/boundContext.d.ts +4 -0
- package/dist/lib/boundContext.js +38 -0
- package/dist/lib/boundContext.js.map +1 -0
- package/dist/lib/env.d.ts +2 -1
- package/dist/lib/env.js +19 -3
- package/dist/lib/env.js.map +1 -1
- package/dist/lib/gitEditDetector.d.ts +6 -6
- package/dist/lib/gitEditDetector.js +7 -7
- package/dist/lib/http.js +2 -2
- package/dist/lib/http.js.map +1 -1
- package/dist/lib/identity.d.ts +1 -6
- package/dist/lib/identity.js +1 -34
- package/dist/lib/identity.js.map +1 -1
- package/dist/lib/sessionState.d.ts +0 -10
- package/dist/lib/sessionState.js +6 -1
- package/dist/lib/sessionState.js.map +1 -1
- package/dist/lib/types.d.ts +2 -1
- package/dist/lib/types.js.map +1 -1
- package/package.json +16 -3
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type AdapterDependencies, type Target } from '@mnemonik/shared';
|
|
2
|
+
export declare function createHostAdapter(deps?: AdapterDependencies): {
|
|
3
|
+
name: import("@mnemonik/shared").HostName;
|
|
4
|
+
detect(): Promise<{
|
|
5
|
+
supported: boolean;
|
|
6
|
+
version: string;
|
|
7
|
+
reason?: string;
|
|
8
|
+
resolvedPath?: string;
|
|
9
|
+
searchedLocations?: string[];
|
|
10
|
+
}>;
|
|
11
|
+
capabilities(): {
|
|
12
|
+
scopes: string[];
|
|
13
|
+
revoke: boolean;
|
|
14
|
+
components: Target['component'][];
|
|
15
|
+
nativeConnect: boolean;
|
|
16
|
+
nativeListing?: boolean;
|
|
17
|
+
};
|
|
18
|
+
inspect(target?: Target): Promise<import("@mnemonik/shared").Inspection>;
|
|
19
|
+
launch(input?: {
|
|
20
|
+
signedIn: boolean;
|
|
21
|
+
}): Promise<string>;
|
|
22
|
+
enable?(): Promise<string>;
|
|
23
|
+
verify(target?: Target): Promise<import("@mnemonik/shared").Inspection>;
|
|
24
|
+
uninstall(writer: import("@mnemonik/shared").AdapterWriter, target: Target): Promise<void>;
|
|
25
|
+
revoke?(grant: import("@mnemonik/shared").Grant): Promise<boolean>;
|
|
26
|
+
revokeAction: string;
|
|
27
|
+
plan: (target?: Target) => Promise<import("@mnemonik/shared").HostPlan>;
|
|
28
|
+
install: (writer: import("@mnemonik/shared").AdapterWriter, target: Target) => Promise<void>;
|
|
29
|
+
update: (writer: import("@mnemonik/shared").AdapterWriter, target: Target) => Promise<void>;
|
|
30
|
+
repair: (writer: import("@mnemonik/shared").AdapterWriter, target: Target) => Promise<void>;
|
|
31
|
+
};
|
package/dist/adapter.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { apiOrigin } from '@mnemonik/shared';
|
|
2
|
+
import { dirname, join } from 'node:path';
|
|
3
|
+
import { createFileHostAdapter } from '@mnemonik/shared';
|
|
4
|
+
import { addBoundSessionHeader, buildManagedCommand, patchHookFile, readHookFile, resolveHookConfigPath, } from './install.js';
|
|
5
|
+
export function createHostAdapter(deps = {}) {
|
|
6
|
+
const path = (target) => resolveHookConfigPath(target.scope === 'user' ? 'host' : 'project', target.projectRoot ?? process.cwd(), deps.env);
|
|
7
|
+
const adapter = createFileHostAdapter(deps, {
|
|
8
|
+
name: 'grok',
|
|
9
|
+
binary: 'grok',
|
|
10
|
+
windowsBinary: { locations: [['USERPROFILE', '.grok/bin/grok.exe']], extensions: ['.exe'] },
|
|
11
|
+
vendorMatch: /^grok\s/i,
|
|
12
|
+
path,
|
|
13
|
+
// MCP schema/actions verified 2026-09-11: https://docs.x.ai/build/features/mcp-servers and https://docs.x.ai/build/settings
|
|
14
|
+
// The host owns OAuth; the only header is its native session correlation template.
|
|
15
|
+
mcp: { path: (target) => join(dirname(dirname(path(target))), 'config.toml'), format: 'toml' },
|
|
16
|
+
nativeConnect: false,
|
|
17
|
+
nativeLogout: false,
|
|
18
|
+
revokeAction: 'Revoke the Mnemonik grant with mnemonik auth logout --host grok. No native OAuth logout command is documented.',
|
|
19
|
+
instruction: 'Open Grok /mcps, select Mnemonik and press i to authenticate. For project hooks, approve /hooks-trust.',
|
|
20
|
+
async present(target) {
|
|
21
|
+
const { file } = await readHookFile(path(target));
|
|
22
|
+
return JSON.stringify(file) !== JSON.stringify(patchHookFile(file, '', false));
|
|
23
|
+
},
|
|
24
|
+
async changes(target, install) {
|
|
25
|
+
const { file } = await readHookFile(path(target));
|
|
26
|
+
if (install && !/^[A-Za-z0-9_-]+$/.test(target.credentialFamily))
|
|
27
|
+
throw new Error('invalid_credential_family');
|
|
28
|
+
const server = apiOrigin(deps.env);
|
|
29
|
+
if (!/^https?:\/\/[A-Za-z0-9.:[\]-]+$/.test(server))
|
|
30
|
+
throw new Error('invalid_server_origin');
|
|
31
|
+
const command = buildManagedCommand(target.runtimeEntry).replace(' --mnemonik-owner=', ` --credential-family ${target.credentialFamily} --server ${server} --mnemonik-owner=`);
|
|
32
|
+
const next = patchHookFile(file, command, install);
|
|
33
|
+
if (install)
|
|
34
|
+
for (const group of next.hooks?.PostToolUse ?? [])
|
|
35
|
+
for (const hook of group.hooks ?? [])
|
|
36
|
+
if (hook.command === command)
|
|
37
|
+
hook.timeout = 40;
|
|
38
|
+
if (!install && JSON.stringify(file) === JSON.stringify(next))
|
|
39
|
+
return [];
|
|
40
|
+
// Grok replacement rule: stage only the selected scope; migration belongs to the CLI.
|
|
41
|
+
return [{ path: path(target), content: Buffer.from(`${JSON.stringify(next, null, 2)}\n`) }];
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
const plan = async (target = deps.target) => {
|
|
45
|
+
const result = await adapter.plan(target);
|
|
46
|
+
if (target?.component === 'mcp')
|
|
47
|
+
for (const change of result.changes)
|
|
48
|
+
change.content = Buffer.from(addBoundSessionHeader(change.content.toString(), deps.env));
|
|
49
|
+
return result;
|
|
50
|
+
};
|
|
51
|
+
const install = async (writer, target) => {
|
|
52
|
+
for (const change of (await plan(target)).changes)
|
|
53
|
+
await writer.stage(change);
|
|
54
|
+
};
|
|
55
|
+
return { ...adapter, plan, install, update: install, repair: install };
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/hook.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { stderr, stdin, stdout } from 'node:process';
|
|
3
|
-
import { handleHook } from './dispatcher.js';
|
|
3
|
+
import { handleHook, extractMcpCall, extractMcpResult } from './dispatcher.js';
|
|
4
|
+
import { postBoundContext, runProjectSetup } from './lib/boundContext.js';
|
|
5
|
+
import { isNonInteractive, resolveConfig } from './lib/env.js';
|
|
6
|
+
import { sessionStateFilePath } from './lib/sessionState.js';
|
|
7
|
+
import { validHookSessionId } from '@mnemonik/shared/hook-runtime';
|
|
4
8
|
async function readInput() {
|
|
5
9
|
let body = '';
|
|
6
10
|
stdin.setEncoding('utf8');
|
|
@@ -16,7 +20,7 @@ async function readInput() {
|
|
|
16
20
|
const input = value;
|
|
17
21
|
if (typeof input.hookEventName !== 'string' ||
|
|
18
22
|
typeof input.sessionId !== 'string' ||
|
|
19
|
-
typeof input.cwd !== 'string') {
|
|
23
|
+
(input.cwd !== undefined && typeof input.cwd !== 'string')) {
|
|
20
24
|
return null;
|
|
21
25
|
}
|
|
22
26
|
return input;
|
|
@@ -28,6 +32,39 @@ async function readInput() {
|
|
|
28
32
|
try {
|
|
29
33
|
const input = await readInput();
|
|
30
34
|
if (input) {
|
|
35
|
+
const event = input.hookEventName.replace(/[_-]/g, '').toLowerCase();
|
|
36
|
+
if (!isNonInteractive() &&
|
|
37
|
+
['sessionstart', 'userpromptsubmit'].includes(event) &&
|
|
38
|
+
validHookSessionId(input.sessionId)) {
|
|
39
|
+
const config = await resolveConfig();
|
|
40
|
+
await postBoundContext({
|
|
41
|
+
host: 'grok',
|
|
42
|
+
hostSessionId: input.sessionId,
|
|
43
|
+
cwd: input.cwd,
|
|
44
|
+
server: config.server,
|
|
45
|
+
stateFile: sessionStateFilePath(input.sessionId, 'bound-context.json'),
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
if (!isNonInteractive() &&
|
|
49
|
+
event === 'posttooluse' &&
|
|
50
|
+
validHookSessionId(input.sessionId) &&
|
|
51
|
+
extractMcpCall(input)?.tool === 'session_bootstrap') {
|
|
52
|
+
const text = await runProjectSetup({
|
|
53
|
+
response: extractMcpResult(input.toolResult),
|
|
54
|
+
cwd: input.cwd,
|
|
55
|
+
host: 'grok',
|
|
56
|
+
hostSessionId: input.sessionId,
|
|
57
|
+
stateFile: sessionStateFilePath(input.sessionId, 'project-setup.json'),
|
|
58
|
+
});
|
|
59
|
+
if (text) {
|
|
60
|
+
stdout.write(JSON.stringify({
|
|
61
|
+
hookSpecificOutput: { hookEventName: 'PostToolUse', additionalContext: text },
|
|
62
|
+
}));
|
|
63
|
+
process.exit(0);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (!input.cwd)
|
|
67
|
+
process.exit(0);
|
|
31
68
|
const decision = await handleHook(input);
|
|
32
69
|
if (decision)
|
|
33
70
|
stdout.write(JSON.stringify(decision));
|
|
@@ -37,6 +74,6 @@ catch (error) {
|
|
|
37
74
|
// Every Grok hook failure is fail-open. Keep stdout empty: malformed JSON on
|
|
38
75
|
// an active hook also fails open, but an empty success is cleaner and leaves
|
|
39
76
|
// Grok's hook diagnostics unambiguous.
|
|
40
|
-
stderr.write(`mnemonik-grok-hook: fail-open
|
|
77
|
+
stderr.write(`mnemonik-grok-hook: fail-open - ${error instanceof Error ? error.message : String(error)}\n`);
|
|
41
78
|
}
|
|
42
79
|
//# sourceMappingURL=hook.js.map
|
package/dist/hook.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"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"}
|
package/dist/install.d.ts
CHANGED
|
@@ -22,8 +22,14 @@ export declare function resolveHookConfigPath(scope: Scope, cwd: string, env?: P
|
|
|
22
22
|
export declare function buildManagedCommand(dispatcherPath: string): string;
|
|
23
23
|
/** Pure merge used by installer tests and the CLI. */
|
|
24
24
|
export declare function patchHookFile(file: GrokHookFile, command: string, install: boolean): GrokHookFile;
|
|
25
|
+
export declare function readHookFile(path: string): Promise<{
|
|
26
|
+
file: GrokHookFile;
|
|
27
|
+
raw: string | null;
|
|
28
|
+
}>;
|
|
25
29
|
/** An absent alternate scope must stay absent; only clean up a file that exists. */
|
|
26
30
|
export declare function shouldRewriteAlternate(raw: string | null, next: string | null): boolean;
|
|
31
|
+
/** Verified 2026-09-11: https://docs.x.ai/build/features/mcp-servers */
|
|
32
|
+
export declare function addBoundSessionHeader(config: string, env?: NodeJS.ProcessEnv): string;
|
|
27
33
|
export declare function runInstaller(argv: string[]): Promise<number>;
|
|
28
34
|
export declare function isDirectExecution(invokedPath?: string | undefined, moduleUrl?: string): boolean;
|
|
29
35
|
export {};
|
package/dist/install.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { spawn } from 'node:child_process';
|
|
3
|
+
import { apiOrigin } from '@mnemonik/shared';
|
|
3
4
|
import { createHash, randomBytes } from 'node:crypto';
|
|
4
5
|
import { realpathSync } from 'node:fs';
|
|
5
6
|
import { cp, lstat, mkdir, open, readFile, readdir, realpath, rename, rm, stat, } from 'node:fs/promises';
|
|
@@ -207,7 +208,7 @@ export function patchHookFile(file, command, install) {
|
|
|
207
208
|
hooks.PreCompact = [...(hooks.PreCompact ?? []), managedGroup(command)];
|
|
208
209
|
return next;
|
|
209
210
|
}
|
|
210
|
-
async function readHookFile(path) {
|
|
211
|
+
export async function readHookFile(path) {
|
|
211
212
|
try {
|
|
212
213
|
const raw = await readFile(path, 'utf8');
|
|
213
214
|
try {
|
|
@@ -434,6 +435,11 @@ async function installRuntime(home) {
|
|
|
434
435
|
export function shouldRewriteAlternate(raw, next) {
|
|
435
436
|
return raw !== null && next !== null && next !== raw;
|
|
436
437
|
}
|
|
438
|
+
/** Verified 2026-09-11: https://docs.x.ai/build/features/mcp-servers */
|
|
439
|
+
export function addBoundSessionHeader(config, env = process.env) {
|
|
440
|
+
const declaration = `[mcp_servers.mnemonik]\nurl = "${apiOrigin(env)}/mcp"\n`;
|
|
441
|
+
return config.replace(declaration, `${declaration}headers = { "x-mcp-session-id" = "{{session_id}}" }\n`);
|
|
442
|
+
}
|
|
437
443
|
export async function runInstaller(argv) {
|
|
438
444
|
const { scope } = parseArgs(argv);
|
|
439
445
|
const cwd = process.cwd();
|
|
@@ -476,8 +482,26 @@ export async function runInstaller(argv) {
|
|
|
476
482
|
throw error;
|
|
477
483
|
}
|
|
478
484
|
});
|
|
485
|
+
const { createHostAdapter } = await import('./adapter.js');
|
|
486
|
+
const adapter = createHostAdapter();
|
|
487
|
+
const plan = await adapter.plan({
|
|
488
|
+
component: 'mcp',
|
|
489
|
+
scope: scope === 'host' ? 'user' : 'project',
|
|
490
|
+
projectRoot: cwd,
|
|
491
|
+
runtimeEntry: dispatcher,
|
|
492
|
+
runtimeRoot: dirname(dispatcher),
|
|
493
|
+
credentialFamily: '',
|
|
494
|
+
});
|
|
495
|
+
for (const change of plan.changes) {
|
|
496
|
+
const previous = await readFile(change.path, 'utf8').catch((error) => {
|
|
497
|
+
if (error.code === 'ENOENT')
|
|
498
|
+
return null;
|
|
499
|
+
throw error;
|
|
500
|
+
});
|
|
501
|
+
await atomicWrite(change.path, change.content.toString(), previous);
|
|
502
|
+
}
|
|
479
503
|
console.log(`Mnemonik Grok hooks installed (${scope} scope).`);
|
|
480
|
-
console.log(' hooks
|
|
504
|
+
console.log(' hooks and Mnemonik MCP session header installed');
|
|
481
505
|
console.log(` config -> ${targetPath}`);
|
|
482
506
|
console.log(` dispatcher -> ${dispatcher}`);
|
|
483
507
|
if (scope === 'project') {
|
package/dist/install.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { HookBindingInput } from '@mnemonik/shared/hook-runtime';
|
|
2
|
+
/** CLI-installed runtimes carry credentials; legacy installs fail open locally. */
|
|
3
|
+
export declare function postBoundContext(input: HookBindingInput): Promise<void>;
|
|
4
|
+
export declare function runProjectSetup(input: Omit<Parameters<typeof import('@mnemonik/shared/hook-runtime').handoffProjectSetup>[0], 'stateDir' | 'familyId'>): Promise<string | undefined>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { resolveConfig, fetchWithHookCredential } from './env.js';
|
|
2
|
+
/** CLI-installed runtimes carry credentials; legacy installs fail open locally. */
|
|
3
|
+
export async function postBoundContext(input) {
|
|
4
|
+
const { apiKey: credential } = await resolveConfig();
|
|
5
|
+
if (!credential || typeof credential === 'string') {
|
|
6
|
+
process.stderr.write('mnemonik-hook: bound-context credential family missing\n');
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
try {
|
|
10
|
+
const { bindHookContext } = await import('@mnemonik/shared/hook-runtime');
|
|
11
|
+
await bindHookContext(input, credential.familyId, (root) => credential.credentials.hmacRootBinding(1, root), async (body) => {
|
|
12
|
+
const response = await fetchWithHookCredential(credential, `${input.server}/api/v1/hooks/bound-context`, {
|
|
13
|
+
method: 'POST',
|
|
14
|
+
headers: { 'content-type': 'application/json' },
|
|
15
|
+
body: JSON.stringify(body),
|
|
16
|
+
signal: AbortSignal.timeout(2_000),
|
|
17
|
+
});
|
|
18
|
+
if (credential.diagnosed && !response.ok)
|
|
19
|
+
throw new Error('credentials unavailable');
|
|
20
|
+
return response.status;
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
if (!credential.diagnosed)
|
|
25
|
+
process.stderr.write('mnemonik-hook: bound-context credentials unavailable or context post failed\n');
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export async function runProjectSetup(input) {
|
|
29
|
+
const { handoffProjectSetup } = await import('@mnemonik/shared/hook-runtime');
|
|
30
|
+
const { stateDirectory } = await import('@mnemonik/credentials');
|
|
31
|
+
const index = process.argv.indexOf('--credential-family');
|
|
32
|
+
return handoffProjectSetup({
|
|
33
|
+
...input,
|
|
34
|
+
stateDir: stateDirectory(),
|
|
35
|
+
familyId: index >= 0 ? process.argv[index + 1] : process.env.MNEMONIK_HOOK_FAMILY,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=boundContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boundContext.js","sourceRoot":"","sources":["../../src/lib/boundContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAGlE,mFAAmF;AACnF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAuB;IAC5D,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;IACrD,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QAClD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;QACjF,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;QAC1E,MAAM,eAAe,CACnB,KAAK,EACL,UAAU,CAAC,QAAQ,EACnB,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,EACzD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAC5C,UAAU,EACV,GAAG,KAAK,CAAC,MAAM,6BAA6B,EAC5C;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;aACnC,CACF,CAAC;YACF,IAAI,UAAU,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACrF,OAAO,QAAQ,CAAC,MAAM,CAAC;QACzB,CAAC,CACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC,UAAU,CAAC,SAAS;YACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,+EAA+E,CAChF,CAAC;IACN,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAGC;IAED,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;IAC9E,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC1D,OAAO,mBAAmB,CAAC;QACzB,GAAG,KAAK;QACR,QAAQ,EAAE,cAAc,EAAE;QAC1B,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB;KAClF,CAAC,CAAC;AACL,CAAC"}
|
package/dist/lib/env.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type BypassEnvelope, type HookConfig } from './types.js';
|
|
2
2
|
export declare function isNonInteractive(env?: NodeJS.ProcessEnv): boolean;
|
|
3
3
|
export declare function parseBypass(env?: NodeJS.ProcessEnv): BypassEnvelope;
|
|
4
|
-
export declare function resolveConfig(env?: NodeJS.ProcessEnv): Promise<HookConfig>;
|
|
4
|
+
export declare function resolveConfig(env?: NodeJS.ProcessEnv, argv?: string[]): Promise<HookConfig>;
|
|
5
|
+
export declare const fetchWithHookCredential: typeof import('@mnemonik/credentials').fetchWithHookCredential;
|
package/dist/lib/env.js
CHANGED
|
@@ -48,7 +48,7 @@ export function parseBypass(env = process.env) {
|
|
|
48
48
|
}
|
|
49
49
|
return { active: true, type, detail: null, invalidReason: null };
|
|
50
50
|
}
|
|
51
|
-
export async function resolveConfig(env = process.env) {
|
|
51
|
+
export async function resolveConfig(env = process.env, argv = process.argv.slice(2)) {
|
|
52
52
|
let scanner = null;
|
|
53
53
|
const home = env.HOME?.trim() || env.USERPROFILE?.trim() || homedir();
|
|
54
54
|
try {
|
|
@@ -57,9 +57,25 @@ export async function resolveConfig(env = process.env) {
|
|
|
57
57
|
catch {
|
|
58
58
|
scanner = null;
|
|
59
59
|
}
|
|
60
|
+
const apiKey = env.MNEMONIK_API_KEY?.trim() || scanner?.apiKey?.trim() || null;
|
|
61
|
+
const server = ((argv.includes('--server') ? argv[argv.indexOf('--server') + 1]?.trim() : '') ||
|
|
62
|
+
env.MNEMONIK_SERVER?.trim() ||
|
|
63
|
+
scanner?.server?.trim() ||
|
|
64
|
+
DEFAULT_SERVER).replace(/\/$/, '');
|
|
60
65
|
return {
|
|
61
|
-
apiKey:
|
|
62
|
-
|
|
66
|
+
apiKey: argv.includes('--credential-family') || env.MNEMONIK_HOOK_FAMILY?.trim()
|
|
67
|
+
? (await import('@mnemonik/credentials')).resolveHookCredential(apiKey, server, env, argv)
|
|
68
|
+
: apiKey,
|
|
69
|
+
server,
|
|
63
70
|
};
|
|
64
71
|
}
|
|
72
|
+
// Legacy durable installs carry shared but no credentials package.
|
|
73
|
+
export const fetchWithHookCredential = async (credential, url, init) => {
|
|
74
|
+
if (typeof credential === 'string')
|
|
75
|
+
return fetch(url, {
|
|
76
|
+
...init,
|
|
77
|
+
headers: { ...init.headers, authorization: `Bearer ${credential}` },
|
|
78
|
+
});
|
|
79
|
+
return (await import('@mnemonik/credentials')).fetchWithHookCredential(credential, url, init);
|
|
80
|
+
};
|
|
65
81
|
//# sourceMappingURL=env.js.map
|
package/dist/lib/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/lib/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,cAAc,EAAyD,MAAM,YAAY,CAAC;AAEnG,MAAM,kBAAkB,GAA4B,IAAI,GAAG,CAAC;IAC1D,MAAM;IACN,YAAY;IACZ,aAAa;IACb,kBAAkB;IAClB,OAAO;CACR,CAAC,CAAC;AAEH,MAAM,UAAU,gBAAgB,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG;IACnE,OAAO,GAAG,CAAC,EAAE,KAAK,MAAM,IAAI,GAAG,CAAC,cAAc,KAAK,MAAM,IAAI,GAAG,CAAC,uBAAuB,KAAK,GAAG,CAAC;AACnG,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG;IAC9D,IAAI,GAAG,CAAC,qBAAqB,KAAK,GAAG,EAAE,CAAC;QACtC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IAC1E,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,+DAA+D;SAC/E,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAqB,CAAC,EAAE,CAAC;QACnD,OAAO;YACL,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,uCAAuC,CAAC,GAAG,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;SAC1F,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,OAAqB,CAAC;IACnC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACzD,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC9C,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,IAAI;gBACZ,aAAa,EACX,8EAA8E;aACjF,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IAC7D,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACnE,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,aAAa,
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/lib/env.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Shell-write classification via filesystem observation, not command parsing.
|
|
3
3
|
*
|
|
4
4
|
* Permissive/auto-approve modes steer agents toward the shell for file work on
|
|
5
|
-
* every host, and a shell payload carries a command string, not a file path
|
|
5
|
+
* every host, and a shell payload carries a command string, not a file path -
|
|
6
6
|
* so post-shell events reached the server with no edit to report and the
|
|
7
7
|
* session's filesEdited/ideEditCount stayed empty, silencing every edit-gated
|
|
8
8
|
* signal (checkpoint pressure above all). Parsing the command text for written
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* at session start, and after each shell call diff the current set against the
|
|
15
15
|
* snapshot. Paths that are newly dirty were written between the two
|
|
16
16
|
* observations. The caller reports those paths, then adds only confirmed paths
|
|
17
|
-
* to the snapshot. Only additions count
|
|
17
|
+
* to the snapshot. Only additions count - a commit or stash SHRINKS the set,
|
|
18
18
|
* and saving work is not new work. Edit tool writes are unioned into the
|
|
19
19
|
* snapshot by each host's edit handler so they are never re-credited to the
|
|
20
20
|
* next shell call.
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* Host-agnostic by construction: the caller owns session identity and passes
|
|
23
23
|
* the absolute path of its own private snapshot file. An empty `snapshotFile`
|
|
24
24
|
* is the caller's "no usable session identity" signal and every entry point
|
|
25
|
-
* no-ops on it
|
|
25
|
+
* no-ops on it - a synthesized or fallback id must never own a snapshot.
|
|
26
26
|
* Because the diff rolls the snapshot forward, it is idempotent: a host with
|
|
27
27
|
* no post-shell event may call it from several carrier events and each new
|
|
28
28
|
* write is still reported exactly once.
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
* - Any working-tree change between two observations is credited to the shell
|
|
34
34
|
* call, including background processes. For "does this session have unsaved
|
|
35
35
|
* work" that is the right signal.
|
|
36
|
-
* - Only the repo containing cwd is observed. Not a git repo
|
|
36
|
+
* - Only the repo containing cwd is observed. Not a git repo -> report nothing
|
|
37
37
|
* rather than guess.
|
|
38
38
|
*/
|
|
39
39
|
/**
|
|
@@ -51,12 +51,12 @@ export declare function captureGitDirtyBaseline(snapshotFile: string, cwd: strin
|
|
|
51
51
|
* After a shell call: paths newly dirty since the last observation, capped.
|
|
52
52
|
* Leaves additions pending until the caller confirms them with
|
|
53
53
|
* addPathsToGitDirtySnapshot. Without a usable baseline it establishes one and
|
|
54
|
-
* reports nothing
|
|
54
|
+
* reports nothing - degrading toward silence, never toward a false edit.
|
|
55
55
|
*/
|
|
56
56
|
export declare function diffGitDirtySnapshot(snapshotFile: string, cwd: string): string[];
|
|
57
57
|
/**
|
|
58
58
|
* After an edit tool: fold tool-reported edits into the snapshot so the next
|
|
59
|
-
* shell diff does not re-credit them. Only when a baseline exists
|
|
59
|
+
* shell diff does not re-credit them. Only when a baseline exists - seeding a
|
|
60
60
|
* partial snapshot would make later diffs report pre-existing dirt.
|
|
61
61
|
*/
|
|
62
62
|
export declare function addPathsToGitDirtySnapshot(snapshotFile: string, paths: string[]): void;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Shell-write classification via filesystem observation, not command parsing.
|
|
4
4
|
*
|
|
5
5
|
* Permissive/auto-approve modes steer agents toward the shell for file work on
|
|
6
|
-
* every host, and a shell payload carries a command string, not a file path
|
|
6
|
+
* every host, and a shell payload carries a command string, not a file path -
|
|
7
7
|
* so post-shell events reached the server with no edit to report and the
|
|
8
8
|
* session's filesEdited/ideEditCount stayed empty, silencing every edit-gated
|
|
9
9
|
* signal (checkpoint pressure above all). Parsing the command text for written
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* at session start, and after each shell call diff the current set against the
|
|
16
16
|
* snapshot. Paths that are newly dirty were written between the two
|
|
17
17
|
* observations. The caller reports those paths, then adds only confirmed paths
|
|
18
|
-
* to the snapshot. Only additions count
|
|
18
|
+
* to the snapshot. Only additions count - a commit or stash SHRINKS the set,
|
|
19
19
|
* and saving work is not new work. Edit tool writes are unioned into the
|
|
20
20
|
* snapshot by each host's edit handler so they are never re-credited to the
|
|
21
21
|
* next shell call.
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* Host-agnostic by construction: the caller owns session identity and passes
|
|
24
24
|
* the absolute path of its own private snapshot file. An empty `snapshotFile`
|
|
25
25
|
* is the caller's "no usable session identity" signal and every entry point
|
|
26
|
-
* no-ops on it
|
|
26
|
+
* no-ops on it - a synthesized or fallback id must never own a snapshot.
|
|
27
27
|
* Because the diff rolls the snapshot forward, it is idempotent: a host with
|
|
28
28
|
* no post-shell event may call it from several carrier events and each new
|
|
29
29
|
* write is still reported exactly once.
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
* - Any working-tree change between two observations is credited to the shell
|
|
35
35
|
* call, including background processes. For "does this session have unsaved
|
|
36
36
|
* work" that is the right signal.
|
|
37
|
-
* - Only the repo containing cwd is observed. Not a git repo
|
|
37
|
+
* - Only the repo containing cwd is observed. Not a git repo -> report nothing
|
|
38
38
|
* rather than guess.
|
|
39
39
|
*/
|
|
40
40
|
import { execFileSync } from 'node:child_process';
|
|
@@ -85,7 +85,7 @@ export function listGitDirtyPaths(cwd) {
|
|
|
85
85
|
if (!entry || entry.length < 4)
|
|
86
86
|
continue;
|
|
87
87
|
// "XY <path>"; a rename/copy entry is followed by the ORIGINAL path as its
|
|
88
|
-
// own NUL token
|
|
88
|
+
// own NUL token - consume it so it is never misread as a status entry.
|
|
89
89
|
const statusCode = entry.slice(0, 2);
|
|
90
90
|
paths.push(join(root, entry.slice(3)));
|
|
91
91
|
if (statusCode.startsWith('R') || statusCode.startsWith('C'))
|
|
@@ -132,7 +132,7 @@ export function captureGitDirtyBaseline(snapshotFile, cwd) {
|
|
|
132
132
|
* After a shell call: paths newly dirty since the last observation, capped.
|
|
133
133
|
* Leaves additions pending until the caller confirms them with
|
|
134
134
|
* addPathsToGitDirtySnapshot. Without a usable baseline it establishes one and
|
|
135
|
-
* reports nothing
|
|
135
|
+
* reports nothing - degrading toward silence, never toward a false edit.
|
|
136
136
|
*/
|
|
137
137
|
export function diffGitDirtySnapshot(snapshotFile, cwd) {
|
|
138
138
|
if (!snapshotFile)
|
|
@@ -152,7 +152,7 @@ export function diffGitDirtySnapshot(snapshotFile, cwd) {
|
|
|
152
152
|
}
|
|
153
153
|
/**
|
|
154
154
|
* After an edit tool: fold tool-reported edits into the snapshot so the next
|
|
155
|
-
* shell diff does not re-credit them. Only when a baseline exists
|
|
155
|
+
* shell diff does not re-credit them. Only when a baseline exists - seeding a
|
|
156
156
|
* partial snapshot would make later diffs report pre-existing dirt.
|
|
157
157
|
*/
|
|
158
158
|
export function addPathsToGitDirtySnapshot(snapshotFile, paths) {
|
package/dist/lib/http.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { fetchWithHookCredential } from './env.js';
|
|
1
2
|
// Kept local because the durable npx runtime is intentionally dependency-free.
|
|
2
3
|
// These match the shared hook budgets used by the other host packages
|
|
3
4
|
// (packages/shared/src/hookTimeouts.ts) — copies, so they must be compared by
|
|
@@ -16,11 +17,10 @@ async function postJson(config, path, body, timeoutMs) {
|
|
|
16
17
|
const controller = new AbortController();
|
|
17
18
|
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
18
19
|
try {
|
|
19
|
-
const response = await
|
|
20
|
+
const response = await fetchWithHookCredential(config.apiKey, `${config.server}${path}`, {
|
|
20
21
|
method: 'POST',
|
|
21
22
|
headers: {
|
|
22
23
|
'content-type': 'application/json',
|
|
23
|
-
authorization: `Bearer ${config.apiKey}`,
|
|
24
24
|
},
|
|
25
25
|
body: JSON.stringify(body),
|
|
26
26
|
signal: controller.signal,
|
package/dist/lib/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/lib/http.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/lib/http.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/identity.d.ts
CHANGED
|
@@ -1,6 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
projectId: string;
|
|
3
|
-
projectName?: string;
|
|
4
|
-
projectRoot: string;
|
|
5
|
-
}
|
|
6
|
-
export declare function findProjectIdentity(startCwd: string): Promise<ProjectIdentity | null>;
|
|
1
|
+
export { findProjectIdentity, findProjectIdentityDetailed, type ProjectIdentity, } from '@mnemonik/shared/hook-runtime';
|
package/dist/lib/identity.js
CHANGED
|
@@ -1,35 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import { dirname, isAbsolute, join, resolve } from 'node:path';
|
|
3
|
-
const cache = new Map();
|
|
4
|
-
export async function findProjectIdentity(startCwd) {
|
|
5
|
-
if (!startCwd)
|
|
6
|
-
return null;
|
|
7
|
-
const cached = cache.get(startCwd);
|
|
8
|
-
if (cached !== undefined)
|
|
9
|
-
return cached;
|
|
10
|
-
let directory = isAbsolute(startCwd) ? startCwd : resolve(startCwd);
|
|
11
|
-
for (let depth = 0; depth <= 10; depth += 1) {
|
|
12
|
-
try {
|
|
13
|
-
const parsed = JSON.parse(await readFile(join(directory, '.mnemonik.json'), 'utf8'));
|
|
14
|
-
if (typeof parsed.projectId === 'string' && parsed.projectId.length > 0) {
|
|
15
|
-
const identity = {
|
|
16
|
-
projectId: parsed.projectId,
|
|
17
|
-
projectName: typeof parsed.projectName === 'string' ? parsed.projectName : undefined,
|
|
18
|
-
projectRoot: directory,
|
|
19
|
-
};
|
|
20
|
-
cache.set(startCwd, identity);
|
|
21
|
-
return identity;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
catch {
|
|
25
|
-
// Missing, unreadable, or malformed: keep walking upward.
|
|
26
|
-
}
|
|
27
|
-
const parent = dirname(directory);
|
|
28
|
-
if (parent === directory)
|
|
29
|
-
break;
|
|
30
|
-
directory = parent;
|
|
31
|
-
}
|
|
32
|
-
cache.set(startCwd, null);
|
|
33
|
-
return null;
|
|
34
|
-
}
|
|
1
|
+
export { findProjectIdentity, findProjectIdentityDetailed, } from '@mnemonik/shared/hook-runtime';
|
|
35
2
|
//# sourceMappingURL=identity.js.map
|
package/dist/lib/identity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/lib/identity.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/lib/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,2BAA2B,GAE5B,MAAM,+BAA+B,CAAC"}
|
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Per-session private state on disk, owned by grok-hooks alone.
|
|
3
|
-
*
|
|
4
|
-
* Grok had no per-session file convention before shell-write classification
|
|
5
|
-
* needed one. The layout mirrors claude-code-hooks' creditCapture: a
|
|
6
|
-
* uid-scoped root under the OS temp dir, one sha256-named directory per
|
|
7
|
-
* session, 0o700 dirs and 0o600 files, so a multi-user host never lets one
|
|
8
|
-
* user read (or pre-create) another's state. The session id is hashed rather
|
|
9
|
-
* than used verbatim: ids are host-supplied and must never reach a path.
|
|
10
|
-
*/
|
|
11
1
|
/** Sessions older than this are abandoned; Grok fires no reliable end event. */
|
|
12
2
|
export declare const STALE_SESSION_MS: number;
|
|
13
3
|
/** A named file inside this session's private directory. */
|
package/dist/lib/sessionState.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ensureWindowsPrivateDirectorySync } from '@mnemonik/shared/hook-runtime';
|
|
1
2
|
/**
|
|
2
3
|
* Per-session private state on disk, owned by grok-hooks alone.
|
|
3
4
|
*
|
|
@@ -20,7 +21,11 @@ function privateRoot() {
|
|
|
20
21
|
}
|
|
21
22
|
/** A named file inside this session's private directory. */
|
|
22
23
|
export function sessionStateFilePath(sessionId, fileName) {
|
|
23
|
-
|
|
24
|
+
const root = privateRoot();
|
|
25
|
+
const directory = join(root, createHash('sha256').update(sessionId).digest('hex'));
|
|
26
|
+
ensureWindowsPrivateDirectorySync(root, directory);
|
|
27
|
+
ensureWindowsPrivateDirectorySync(directory);
|
|
28
|
+
return join(directory, fileName);
|
|
24
29
|
}
|
|
25
30
|
/**
|
|
26
31
|
* Remove abandoned session directories. Runs once per SessionStart and checks
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionState.js","sourceRoot":"","sources":["../../src/lib/sessionState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,gFAAgF;AAChF,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEpD,SAAS,WAAW;IAClB,MAAM,GAAG,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7E,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,iBAAiB,GAAG,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,oBAAoB,CAAC,SAAiB,EAAE,QAAgB;IACtE,
|
|
1
|
+
{"version":3,"file":"sessionState.js","sourceRoot":"","sources":["../../src/lib/sessionState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,+BAA+B,CAAC;AAClF;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,gFAAgF;AAChF,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEpD,SAAS,WAAW;IAClB,MAAM,GAAG,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7E,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,iBAAiB,GAAG,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,oBAAoB,CAAC,SAAiB,EAAE,QAAgB;IACtE,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACnF,iCAAiC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACnD,iCAAiC,CAAC,SAAS,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAG,GAAW,IAAI,CAAC,GAAG,EAAE;IAC5D,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE;YAAE,OAAO,CAAC,CAAC;QACpE,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC3B,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,cAAc,EAAE;oBAAE,SAAS;gBACvD,IAAI,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC;gBAC/B,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAChF,CAAC;gBACD,IAAI,GAAG,GAAG,aAAa,GAAG,gBAAgB;oBAAE,SAAS;gBACrD,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/C,OAAO,IAAI,CAAC,CAAC;YACf,CAAC;YAAC,MAAM,CAAC;gBACP,yBAAyB;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6DAA6D;IAC/D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { HookCredential } from '@mnemonik/credentials';
|
|
1
2
|
/** Narrow subset of Grok's native hook wire format used by this package. */
|
|
2
3
|
export type GrokHookEventName = 'session_start' | 'user_prompt_submit' | 'pre_tool_use' | 'post_tool_use' | 'stop' | 'pre_compact' | string;
|
|
3
4
|
export interface GrokHookInput {
|
|
@@ -31,7 +32,7 @@ export type GrokDecision = {
|
|
|
31
32
|
};
|
|
32
33
|
};
|
|
33
34
|
export interface HookConfig {
|
|
34
|
-
apiKey:
|
|
35
|
+
apiKey: HookCredential | null;
|
|
35
36
|
server: string;
|
|
36
37
|
}
|
|
37
38
|
export type BypassType = 'typo' | 'formatting' | 'regenerated' | 'already_grounded' | 'other';
|
package/dist/lib/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AA6EA,MAAM,CAAC,MAAM,cAAc,GAAG,0BAA0B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mnemonik/grok-hooks",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.21",
|
|
4
4
|
"description": "Grok lifecycle hooks for Mnemonik host-side gates and session bookkeeping. Uses Grok-native PreToolUse and Stop decisions; passive hooks never claim to inject model context.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -12,6 +12,15 @@
|
|
|
12
12
|
"mnemonik-grok-hooks": "dist/install.js"
|
|
13
13
|
},
|
|
14
14
|
"main": "dist/install.js",
|
|
15
|
+
"exports": {
|
|
16
|
+
".": "./dist/install.js",
|
|
17
|
+
"./adapter": {
|
|
18
|
+
"types": "./dist/adapter.d.ts",
|
|
19
|
+
"import": "./dist/adapter.js"
|
|
20
|
+
},
|
|
21
|
+
"./dist/*": "./dist/*",
|
|
22
|
+
"./package.json": "./package.json"
|
|
23
|
+
},
|
|
15
24
|
"files": [
|
|
16
25
|
"dist"
|
|
17
26
|
],
|
|
@@ -23,7 +32,7 @@
|
|
|
23
32
|
"prepublishOnly": "npm run build"
|
|
24
33
|
},
|
|
25
34
|
"engines": {
|
|
26
|
-
"node": ">=
|
|
35
|
+
"node": ">=24"
|
|
27
36
|
},
|
|
28
37
|
"keywords": [
|
|
29
38
|
"mnemonik",
|
|
@@ -31,5 +40,9 @@
|
|
|
31
40
|
"grok-build",
|
|
32
41
|
"hooks"
|
|
33
42
|
],
|
|
34
|
-
"license": "SEE LICENSE IN LICENSE"
|
|
43
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
44
|
+
"dependencies": {
|
|
45
|
+
"@mnemonik/shared": "7.99.1",
|
|
46
|
+
"@mnemonik/credentials": "0.1.1"
|
|
47
|
+
}
|
|
35
48
|
}
|