@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.
@@ -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
+ };
@@ -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 — ${error instanceof Error ? error.message : String(error)}\n`);
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;AAG7C,KAAK,UAAU,SAAS;IACtB,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAChC,IAAI,IAAI,KAAK,CAAC;QACd,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS;YAAE,OAAO,IAAI,CAAC;IAC3C,CAAC;IACD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QAC1C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACrF,MAAM,KAAK,GAAG,KAA+B,CAAC;QAC9C,IACE,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;YACvC,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;YACnC,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAC7B,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAsB,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,IAAI,CAAC;IACH,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,QAAQ;YAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,6EAA6E;IAC7E,6EAA6E;IAC7E,uCAAuC;IACvC,MAAM,CAAC,KAAK,CACV,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAC9F,CAAC;AACJ,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 only -> does not install or modify skills, rules, AGENTS.md, .mnemonik.json, or MCP config');
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') {
@@ -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: env.MNEMONIK_API_KEY?.trim() || scanner?.apiKey?.trim() || null,
62
- server: (env.MNEMONIK_SERVER?.trim() || scanner?.server?.trim() || DEFAULT_SERVER).replace(/\/$/, ''),
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
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/lib/env.ts"],"names":[],"mappings":"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"}
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 — a commit or stash SHRINKS the set,
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 — a synthesized or fallback id must never own a snapshot.
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 → report nothing
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 — degrading toward silence, never toward a false edit.
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 — seeding a
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 — a commit or stash SHRINKS the set,
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 — a synthesized or fallback id must never own a snapshot.
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 → report nothing
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 — consume it so it is never misread as a status entry.
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 — degrading toward silence, never toward a false edit.
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 — seeding a
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 fetch(`${config.server}${path}`, {
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,
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/lib/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/lib/http.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1 @@
1
- export interface ProjectIdentity {
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';
@@ -1,35 +1,2 @@
1
- import { readFile } from 'node:fs/promises';
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
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/lib/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQ/D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkC,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,QAAgB;IACxD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,IAAI,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CACvB,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAC/B,CAAC;YAC7B,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxE,MAAM,QAAQ,GAAoB;oBAChC,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,WAAW,EAAE,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;oBACpF,WAAW,EAAE,SAAS;iBACvB,CAAC;gBACF,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC9B,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,0DAA0D;QAC5D,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM;QAChC,SAAS,GAAG,MAAM,CAAC;IACrB,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC1B,OAAO,IAAI,CAAC;AACd,CAAC"}
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. */
@@ -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
- return join(privateRoot(), createHash('sha256').update(sessionId).digest('hex'), fileName);
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,OAAO,IAAI,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC7F,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"}
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"}
@@ -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: string | null;
35
+ apiKey: HookCredential | null;
35
36
  server: string;
36
37
  }
37
38
  export type BypassType = 'typo' | 'formatting' | 'regenerated' | 'already_grounded' | 'other';
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AA4EA,MAAM,CAAC,MAAM,cAAc,GAAG,0BAA0B,CAAC"}
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.16",
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": ">=20"
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
  }