@contextstream/mcp-server 0.4.56 → 0.4.58

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.
@@ -1,12 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
5
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
6
- }) : x)(function(x) {
7
- if (typeof require !== "undefined") return require.apply(this, arguments);
8
- throw Error('Dynamic require of "' + x + '" is not supported');
9
- });
10
4
  var __esm = (fn, res) => function __init() {
11
5
  return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
12
6
  };
@@ -58,20 +52,31 @@ __export(hooks_config_exports, {
58
52
  writeIndexStatus: () => writeIndexStatus
59
53
  });
60
54
  import * as fs from "node:fs/promises";
55
+ import * as fsSync from "node:fs";
61
56
  import * as path from "node:path";
62
57
  import { homedir } from "node:os";
63
58
  import { fileURLToPath } from "node:url";
64
59
  function getHookCommand(hookName) {
65
- const fs3 = __require("node:fs");
66
- const binaryPath = "/usr/local/bin/contextstream-mcp";
67
- if (fs3.existsSync(binaryPath)) {
68
- return `${binaryPath} hook ${hookName}`;
60
+ const isWindows = process.platform === "win32";
61
+ if (isWindows) {
62
+ const localAppData = process.env.LOCALAPPDATA;
63
+ if (localAppData) {
64
+ const windowsBinaryPath = path.join(localAppData, "ContextStream", "contextstream-mcp.exe");
65
+ if (fsSync.existsSync(windowsBinaryPath)) {
66
+ return `"${windowsBinaryPath}" hook ${hookName}`;
67
+ }
68
+ }
69
+ } else {
70
+ const unixBinaryPath = "/usr/local/bin/contextstream-mcp";
71
+ if (fsSync.existsSync(unixBinaryPath)) {
72
+ return `${unixBinaryPath} hook ${hookName}`;
73
+ }
69
74
  }
70
75
  try {
71
76
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
72
77
  const indexPath = path.join(__dirname, "index.js");
73
- if (fs3.existsSync(indexPath)) {
74
- return `node ${indexPath} hook ${hookName}`;
78
+ if (fsSync.existsSync(indexPath)) {
79
+ return `node "${indexPath}" hook ${hookName}`;
75
80
  }
76
81
  } catch {
77
82
  }
@@ -484,20 +489,43 @@ function getClineHooksDir(scope, projectPath) {
484
489
  }
485
490
  return path.join(projectPath, ".clinerules", "hooks");
486
491
  }
492
+ function getHookWrapperScript(hookName) {
493
+ const isWindows = process.platform === "win32";
494
+ const command = getHookCommand(hookName);
495
+ if (isWindows) {
496
+ return {
497
+ content: `@echo off\r
498
+ ${command}\r
499
+ `,
500
+ extension: ".cmd"
501
+ };
502
+ } else {
503
+ return {
504
+ content: `#!/bin/bash
505
+ # ContextStream ${hookName} Hook Wrapper for Cline/Roo/Kilo Code
506
+ exec ${command}
507
+ `,
508
+ extension: ""
509
+ };
510
+ }
511
+ }
487
512
  async function installClineHookScripts(options) {
488
513
  const hooksDir = getClineHooksDir(options.scope, options.projectPath);
489
514
  await fs.mkdir(hooksDir, { recursive: true });
490
- const preToolUsePath = path.join(hooksDir, "PreToolUse");
491
- const userPromptPath = path.join(hooksDir, "UserPromptSubmit");
492
- const postToolUsePath = path.join(hooksDir, "PostToolUse");
493
- await fs.writeFile(preToolUsePath, CLINE_HOOK_WRAPPER("pre-tool-use"), { mode: 493 });
494
- await fs.writeFile(userPromptPath, CLINE_HOOK_WRAPPER("user-prompt-submit"), { mode: 493 });
515
+ const preToolUseWrapper = getHookWrapperScript("pre-tool-use");
516
+ const userPromptWrapper = getHookWrapperScript("user-prompt-submit");
517
+ const postWriteWrapper = getHookWrapperScript("post-write");
518
+ const preToolUsePath = path.join(hooksDir, `PreToolUse${preToolUseWrapper.extension}`);
519
+ const userPromptPath = path.join(hooksDir, `UserPromptSubmit${userPromptWrapper.extension}`);
520
+ const postToolUsePath = path.join(hooksDir, `PostToolUse${postWriteWrapper.extension}`);
521
+ await fs.writeFile(preToolUsePath, preToolUseWrapper.content, { mode: 493 });
522
+ await fs.writeFile(userPromptPath, userPromptWrapper.content, { mode: 493 });
495
523
  const result = {
496
524
  preToolUse: preToolUsePath,
497
525
  userPromptSubmit: userPromptPath
498
526
  };
499
527
  if (options.includePostWrite !== false) {
500
- await fs.writeFile(postToolUsePath, CLINE_HOOK_WRAPPER("post-write"), { mode: 493 });
528
+ await fs.writeFile(postToolUsePath, postWriteWrapper.content, { mode: 493 });
501
529
  result.postToolUse = postToolUsePath;
502
530
  }
503
531
  return result;
@@ -514,17 +542,20 @@ function getRooCodeHooksDir(scope, projectPath) {
514
542
  async function installRooCodeHookScripts(options) {
515
543
  const hooksDir = getRooCodeHooksDir(options.scope, options.projectPath);
516
544
  await fs.mkdir(hooksDir, { recursive: true });
517
- const preToolUsePath = path.join(hooksDir, "PreToolUse");
518
- const userPromptPath = path.join(hooksDir, "UserPromptSubmit");
519
- const postToolUsePath = path.join(hooksDir, "PostToolUse");
520
- await fs.writeFile(preToolUsePath, CLINE_HOOK_WRAPPER("pre-tool-use"), { mode: 493 });
521
- await fs.writeFile(userPromptPath, CLINE_HOOK_WRAPPER("user-prompt-submit"), { mode: 493 });
545
+ const preToolUseWrapper = getHookWrapperScript("pre-tool-use");
546
+ const userPromptWrapper = getHookWrapperScript("user-prompt-submit");
547
+ const postWriteWrapper = getHookWrapperScript("post-write");
548
+ const preToolUsePath = path.join(hooksDir, `PreToolUse${preToolUseWrapper.extension}`);
549
+ const userPromptPath = path.join(hooksDir, `UserPromptSubmit${userPromptWrapper.extension}`);
550
+ const postToolUsePath = path.join(hooksDir, `PostToolUse${postWriteWrapper.extension}`);
551
+ await fs.writeFile(preToolUsePath, preToolUseWrapper.content, { mode: 493 });
552
+ await fs.writeFile(userPromptPath, userPromptWrapper.content, { mode: 493 });
522
553
  const result = {
523
554
  preToolUse: preToolUsePath,
524
555
  userPromptSubmit: userPromptPath
525
556
  };
526
557
  if (options.includePostWrite !== false) {
527
- await fs.writeFile(postToolUsePath, CLINE_HOOK_WRAPPER("post-write"), { mode: 493 });
558
+ await fs.writeFile(postToolUsePath, postWriteWrapper.content, { mode: 493 });
528
559
  result.postToolUse = postToolUsePath;
529
560
  }
530
561
  return result;
@@ -541,17 +572,20 @@ function getKiloCodeHooksDir(scope, projectPath) {
541
572
  async function installKiloCodeHookScripts(options) {
542
573
  const hooksDir = getKiloCodeHooksDir(options.scope, options.projectPath);
543
574
  await fs.mkdir(hooksDir, { recursive: true });
544
- const preToolUsePath = path.join(hooksDir, "PreToolUse");
545
- const userPromptPath = path.join(hooksDir, "UserPromptSubmit");
546
- const postToolUsePath = path.join(hooksDir, "PostToolUse");
547
- await fs.writeFile(preToolUsePath, CLINE_HOOK_WRAPPER("pre-tool-use"), { mode: 493 });
548
- await fs.writeFile(userPromptPath, CLINE_HOOK_WRAPPER("user-prompt-submit"), { mode: 493 });
575
+ const preToolUseWrapper = getHookWrapperScript("pre-tool-use");
576
+ const userPromptWrapper = getHookWrapperScript("user-prompt-submit");
577
+ const postWriteWrapper = getHookWrapperScript("post-write");
578
+ const preToolUsePath = path.join(hooksDir, `PreToolUse${preToolUseWrapper.extension}`);
579
+ const userPromptPath = path.join(hooksDir, `UserPromptSubmit${userPromptWrapper.extension}`);
580
+ const postToolUsePath = path.join(hooksDir, `PostToolUse${postWriteWrapper.extension}`);
581
+ await fs.writeFile(preToolUsePath, preToolUseWrapper.content, { mode: 493 });
582
+ await fs.writeFile(userPromptPath, userPromptWrapper.content, { mode: 493 });
549
583
  const result = {
550
584
  preToolUse: preToolUsePath,
551
585
  userPromptSubmit: userPromptPath
552
586
  };
553
587
  if (options.includePostWrite !== false) {
554
- await fs.writeFile(postToolUsePath, CLINE_HOOK_WRAPPER("post-write"), { mode: 493 });
588
+ await fs.writeFile(postToolUsePath, postWriteWrapper.content, { mode: 493 });
555
589
  result.postToolUse = postToolUsePath;
556
590
  }
557
591
  return result;
@@ -780,7 +814,7 @@ Set environment variables:
780
814
  - \`CONTEXTSTREAM_REMINDER_ENABLED=false\` - Disable UserPromptSubmit reminders
781
815
  `.trim();
782
816
  }
783
- var PRETOOLUSE_HOOK_SCRIPT, USER_PROMPT_HOOK_SCRIPT, MEDIA_AWARE_HOOK_SCRIPT, PRECOMPACT_HOOK_SCRIPT, CLINE_PRETOOLUSE_HOOK_SCRIPT, CLINE_USER_PROMPT_HOOK_SCRIPT, CLINE_POSTTOOLUSE_HOOK_SCRIPT, CLINE_HOOK_WRAPPER, CURSOR_PRETOOLUSE_HOOK_SCRIPT, CURSOR_BEFORE_SUBMIT_HOOK_SCRIPT;
817
+ var PRETOOLUSE_HOOK_SCRIPT, USER_PROMPT_HOOK_SCRIPT, MEDIA_AWARE_HOOK_SCRIPT, PRECOMPACT_HOOK_SCRIPT, CLINE_PRETOOLUSE_HOOK_SCRIPT, CLINE_USER_PROMPT_HOOK_SCRIPT, CLINE_POSTTOOLUSE_HOOK_SCRIPT, CURSOR_PRETOOLUSE_HOOK_SCRIPT, CURSOR_BEFORE_SUBMIT_HOOK_SCRIPT;
784
818
  var init_hooks_config = __esm({
785
819
  "src/hooks-config.ts"() {
786
820
  "use strict";
@@ -1440,13 +1474,6 @@ esac
1440
1474
 
1441
1475
  exit 0
1442
1476
  `;
1443
- CLINE_HOOK_WRAPPER = (hookName) => {
1444
- const command = getHookCommand(hookName);
1445
- return `#!/bin/bash
1446
- # ContextStream ${hookName} Hook Wrapper for Cline/Roo/Kilo Code
1447
- exec ${command}
1448
- `;
1449
- };
1450
1477
  CURSOR_PRETOOLUSE_HOOK_SCRIPT = `#!/usr/bin/env python3
1451
1478
  """
1452
1479
  ContextStream PreToolUse Hook for Cursor
@@ -1,12 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
5
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
6
- }) : x)(function(x) {
7
- if (typeof require !== "undefined") return require.apply(this, arguments);
8
- throw Error('Dynamic require of "' + x + '" is not supported');
9
- });
10
4
  var __esm = (fn, res) => function __init() {
11
5
  return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
12
6
  };
@@ -451,7 +445,7 @@ var init_version = __esm({
451
445
  };
452
446
  UPGRADE_COMMAND = UPDATE_COMMANDS.npm;
453
447
  VERSION = getVersion();
454
- CACHE_TTL_MS = 24 * 60 * 60 * 1e3;
448
+ CACHE_TTL_MS = 12 * 60 * 60 * 1e3;
455
449
  latestVersionPromise = null;
456
450
  }
457
451
  });
@@ -933,7 +927,9 @@ async function runUserPromptSubmitHook() {
933
927
  const clientName = editorFormat === "claude" ? "claude-code" : editorFormat;
934
928
  const saveExchangePromise = lastExchange ? saveLastExchange(lastExchange, cwd, clientName) : Promise.resolve();
935
929
  if (editorFormat === "claude") {
936
- const [ctx, versionNotice] = await Promise.all([fetchSessionContext(), versionNoticePromise, saveExchangePromise]);
930
+ saveExchangePromise.catch(() => {
931
+ });
932
+ const [ctx, versionNotice] = await Promise.all([fetchSessionContext(), versionNoticePromise]);
937
933
  const claudeReminder = buildClaudeReminder(ctx, versionNotice);
938
934
  console.log(
939
935
  JSON.stringify({
@@ -1857,20 +1853,31 @@ __export(hooks_config_exports, {
1857
1853
  writeIndexStatus: () => writeIndexStatus
1858
1854
  });
1859
1855
  import * as fs5 from "node:fs/promises";
1856
+ import * as fsSync from "node:fs";
1860
1857
  import * as path5 from "node:path";
1861
1858
  import { homedir as homedir6 } from "node:os";
1862
1859
  import { fileURLToPath } from "node:url";
1863
1860
  function getHookCommand(hookName2) {
1864
- const fs7 = __require("node:fs");
1865
- const binaryPath = "/usr/local/bin/contextstream-mcp";
1866
- if (fs7.existsSync(binaryPath)) {
1867
- return `${binaryPath} hook ${hookName2}`;
1861
+ const isWindows = process.platform === "win32";
1862
+ if (isWindows) {
1863
+ const localAppData = process.env.LOCALAPPDATA;
1864
+ if (localAppData) {
1865
+ const windowsBinaryPath = path5.join(localAppData, "ContextStream", "contextstream-mcp.exe");
1866
+ if (fsSync.existsSync(windowsBinaryPath)) {
1867
+ return `"${windowsBinaryPath}" hook ${hookName2}`;
1868
+ }
1869
+ }
1870
+ } else {
1871
+ const unixBinaryPath = "/usr/local/bin/contextstream-mcp";
1872
+ if (fsSync.existsSync(unixBinaryPath)) {
1873
+ return `${unixBinaryPath} hook ${hookName2}`;
1874
+ }
1868
1875
  }
1869
1876
  try {
1870
1877
  const __dirname = path5.dirname(fileURLToPath(import.meta.url));
1871
1878
  const indexPath = path5.join(__dirname, "index.js");
1872
- if (fs7.existsSync(indexPath)) {
1873
- return `node ${indexPath} hook ${hookName2}`;
1879
+ if (fsSync.existsSync(indexPath)) {
1880
+ return `node "${indexPath}" hook ${hookName2}`;
1874
1881
  }
1875
1882
  } catch {
1876
1883
  }
@@ -2283,20 +2290,43 @@ function getClineHooksDir(scope, projectPath) {
2283
2290
  }
2284
2291
  return path5.join(projectPath, ".clinerules", "hooks");
2285
2292
  }
2293
+ function getHookWrapperScript(hookName2) {
2294
+ const isWindows = process.platform === "win32";
2295
+ const command = getHookCommand(hookName2);
2296
+ if (isWindows) {
2297
+ return {
2298
+ content: `@echo off\r
2299
+ ${command}\r
2300
+ `,
2301
+ extension: ".cmd"
2302
+ };
2303
+ } else {
2304
+ return {
2305
+ content: `#!/bin/bash
2306
+ # ContextStream ${hookName2} Hook Wrapper for Cline/Roo/Kilo Code
2307
+ exec ${command}
2308
+ `,
2309
+ extension: ""
2310
+ };
2311
+ }
2312
+ }
2286
2313
  async function installClineHookScripts(options) {
2287
2314
  const hooksDir = getClineHooksDir(options.scope, options.projectPath);
2288
2315
  await fs5.mkdir(hooksDir, { recursive: true });
2289
- const preToolUsePath = path5.join(hooksDir, "PreToolUse");
2290
- const userPromptPath = path5.join(hooksDir, "UserPromptSubmit");
2291
- const postToolUsePath = path5.join(hooksDir, "PostToolUse");
2292
- await fs5.writeFile(preToolUsePath, CLINE_HOOK_WRAPPER("pre-tool-use"), { mode: 493 });
2293
- await fs5.writeFile(userPromptPath, CLINE_HOOK_WRAPPER("user-prompt-submit"), { mode: 493 });
2316
+ const preToolUseWrapper = getHookWrapperScript("pre-tool-use");
2317
+ const userPromptWrapper = getHookWrapperScript("user-prompt-submit");
2318
+ const postWriteWrapper = getHookWrapperScript("post-write");
2319
+ const preToolUsePath = path5.join(hooksDir, `PreToolUse${preToolUseWrapper.extension}`);
2320
+ const userPromptPath = path5.join(hooksDir, `UserPromptSubmit${userPromptWrapper.extension}`);
2321
+ const postToolUsePath = path5.join(hooksDir, `PostToolUse${postWriteWrapper.extension}`);
2322
+ await fs5.writeFile(preToolUsePath, preToolUseWrapper.content, { mode: 493 });
2323
+ await fs5.writeFile(userPromptPath, userPromptWrapper.content, { mode: 493 });
2294
2324
  const result = {
2295
2325
  preToolUse: preToolUsePath,
2296
2326
  userPromptSubmit: userPromptPath
2297
2327
  };
2298
2328
  if (options.includePostWrite !== false) {
2299
- await fs5.writeFile(postToolUsePath, CLINE_HOOK_WRAPPER("post-write"), { mode: 493 });
2329
+ await fs5.writeFile(postToolUsePath, postWriteWrapper.content, { mode: 493 });
2300
2330
  result.postToolUse = postToolUsePath;
2301
2331
  }
2302
2332
  return result;
@@ -2313,17 +2343,20 @@ function getRooCodeHooksDir(scope, projectPath) {
2313
2343
  async function installRooCodeHookScripts(options) {
2314
2344
  const hooksDir = getRooCodeHooksDir(options.scope, options.projectPath);
2315
2345
  await fs5.mkdir(hooksDir, { recursive: true });
2316
- const preToolUsePath = path5.join(hooksDir, "PreToolUse");
2317
- const userPromptPath = path5.join(hooksDir, "UserPromptSubmit");
2318
- const postToolUsePath = path5.join(hooksDir, "PostToolUse");
2319
- await fs5.writeFile(preToolUsePath, CLINE_HOOK_WRAPPER("pre-tool-use"), { mode: 493 });
2320
- await fs5.writeFile(userPromptPath, CLINE_HOOK_WRAPPER("user-prompt-submit"), { mode: 493 });
2346
+ const preToolUseWrapper = getHookWrapperScript("pre-tool-use");
2347
+ const userPromptWrapper = getHookWrapperScript("user-prompt-submit");
2348
+ const postWriteWrapper = getHookWrapperScript("post-write");
2349
+ const preToolUsePath = path5.join(hooksDir, `PreToolUse${preToolUseWrapper.extension}`);
2350
+ const userPromptPath = path5.join(hooksDir, `UserPromptSubmit${userPromptWrapper.extension}`);
2351
+ const postToolUsePath = path5.join(hooksDir, `PostToolUse${postWriteWrapper.extension}`);
2352
+ await fs5.writeFile(preToolUsePath, preToolUseWrapper.content, { mode: 493 });
2353
+ await fs5.writeFile(userPromptPath, userPromptWrapper.content, { mode: 493 });
2321
2354
  const result = {
2322
2355
  preToolUse: preToolUsePath,
2323
2356
  userPromptSubmit: userPromptPath
2324
2357
  };
2325
2358
  if (options.includePostWrite !== false) {
2326
- await fs5.writeFile(postToolUsePath, CLINE_HOOK_WRAPPER("post-write"), { mode: 493 });
2359
+ await fs5.writeFile(postToolUsePath, postWriteWrapper.content, { mode: 493 });
2327
2360
  result.postToolUse = postToolUsePath;
2328
2361
  }
2329
2362
  return result;
@@ -2340,17 +2373,20 @@ function getKiloCodeHooksDir(scope, projectPath) {
2340
2373
  async function installKiloCodeHookScripts(options) {
2341
2374
  const hooksDir = getKiloCodeHooksDir(options.scope, options.projectPath);
2342
2375
  await fs5.mkdir(hooksDir, { recursive: true });
2343
- const preToolUsePath = path5.join(hooksDir, "PreToolUse");
2344
- const userPromptPath = path5.join(hooksDir, "UserPromptSubmit");
2345
- const postToolUsePath = path5.join(hooksDir, "PostToolUse");
2346
- await fs5.writeFile(preToolUsePath, CLINE_HOOK_WRAPPER("pre-tool-use"), { mode: 493 });
2347
- await fs5.writeFile(userPromptPath, CLINE_HOOK_WRAPPER("user-prompt-submit"), { mode: 493 });
2376
+ const preToolUseWrapper = getHookWrapperScript("pre-tool-use");
2377
+ const userPromptWrapper = getHookWrapperScript("user-prompt-submit");
2378
+ const postWriteWrapper = getHookWrapperScript("post-write");
2379
+ const preToolUsePath = path5.join(hooksDir, `PreToolUse${preToolUseWrapper.extension}`);
2380
+ const userPromptPath = path5.join(hooksDir, `UserPromptSubmit${userPromptWrapper.extension}`);
2381
+ const postToolUsePath = path5.join(hooksDir, `PostToolUse${postWriteWrapper.extension}`);
2382
+ await fs5.writeFile(preToolUsePath, preToolUseWrapper.content, { mode: 493 });
2383
+ await fs5.writeFile(userPromptPath, userPromptWrapper.content, { mode: 493 });
2348
2384
  const result = {
2349
2385
  preToolUse: preToolUsePath,
2350
2386
  userPromptSubmit: userPromptPath
2351
2387
  };
2352
2388
  if (options.includePostWrite !== false) {
2353
- await fs5.writeFile(postToolUsePath, CLINE_HOOK_WRAPPER("post-write"), { mode: 493 });
2389
+ await fs5.writeFile(postToolUsePath, postWriteWrapper.content, { mode: 493 });
2354
2390
  result.postToolUse = postToolUsePath;
2355
2391
  }
2356
2392
  return result;
@@ -2579,7 +2615,7 @@ Set environment variables:
2579
2615
  - \`CONTEXTSTREAM_REMINDER_ENABLED=false\` - Disable UserPromptSubmit reminders
2580
2616
  `.trim();
2581
2617
  }
2582
- var PRETOOLUSE_HOOK_SCRIPT, USER_PROMPT_HOOK_SCRIPT, MEDIA_AWARE_HOOK_SCRIPT, PRECOMPACT_HOOK_SCRIPT, CLINE_PRETOOLUSE_HOOK_SCRIPT, CLINE_USER_PROMPT_HOOK_SCRIPT, CLINE_POSTTOOLUSE_HOOK_SCRIPT, CLINE_HOOK_WRAPPER, CURSOR_PRETOOLUSE_HOOK_SCRIPT, CURSOR_BEFORE_SUBMIT_HOOK_SCRIPT;
2618
+ var PRETOOLUSE_HOOK_SCRIPT, USER_PROMPT_HOOK_SCRIPT, MEDIA_AWARE_HOOK_SCRIPT, PRECOMPACT_HOOK_SCRIPT, CLINE_PRETOOLUSE_HOOK_SCRIPT, CLINE_USER_PROMPT_HOOK_SCRIPT, CLINE_POSTTOOLUSE_HOOK_SCRIPT, CURSOR_PRETOOLUSE_HOOK_SCRIPT, CURSOR_BEFORE_SUBMIT_HOOK_SCRIPT;
2583
2619
  var init_hooks_config = __esm({
2584
2620
  "src/hooks-config.ts"() {
2585
2621
  "use strict";
@@ -3239,13 +3275,6 @@ esac
3239
3275
 
3240
3276
  exit 0
3241
3277
  `;
3242
- CLINE_HOOK_WRAPPER = (hookName2) => {
3243
- const command = getHookCommand(hookName2);
3244
- return `#!/bin/bash
3245
- # ContextStream ${hookName2} Hook Wrapper for Cline/Roo/Kilo Code
3246
- exec ${command}
3247
- `;
3248
- };
3249
3278
  CURSOR_PRETOOLUSE_HOOK_SCRIPT = `#!/usr/bin/env python3
3250
3279
  """
3251
3280
  ContextStream PreToolUse Hook for Cursor