robrain 2.3.7 → 2.3.9

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.
Files changed (43) hide show
  1. package/dist/commands/install.d.ts.map +1 -1
  2. package/dist/commands/install.js +17 -2
  3. package/dist/commands/install.js.map +1 -1
  4. package/dist/commands/up.d.ts +14 -0
  5. package/dist/commands/up.d.ts.map +1 -1
  6. package/dist/commands/up.js +60 -2
  7. package/dist/commands/up.js.map +1 -1
  8. package/dist/commands/up.test.js +21 -3
  9. package/dist/commands/up.test.js.map +1 -1
  10. package/dist/index.js +1 -1
  11. package/dist/lib/codex-hooks.d.ts +26 -0
  12. package/dist/lib/codex-hooks.d.ts.map +1 -0
  13. package/dist/lib/codex-hooks.js +65 -0
  14. package/dist/lib/codex-hooks.js.map +1 -0
  15. package/dist/lib/codex-hooks.test.d.ts +2 -0
  16. package/dist/lib/codex-hooks.test.d.ts.map +1 -0
  17. package/dist/lib/codex-hooks.test.js +64 -0
  18. package/dist/lib/codex-hooks.test.js.map +1 -0
  19. package/dist/lib/editor.codex.test.js +20 -0
  20. package/dist/lib/editor.codex.test.js.map +1 -1
  21. package/dist/lib/editor.d.ts +2 -0
  22. package/dist/lib/editor.d.ts.map +1 -1
  23. package/dist/lib/editor.js +28 -0
  24. package/dist/lib/editor.js.map +1 -1
  25. package/dist/lib/mcp-bundle.test.js +2 -2
  26. package/dist/lib/release-guard.d.ts +22 -0
  27. package/dist/lib/release-guard.d.ts.map +1 -0
  28. package/dist/lib/release-guard.js +46 -0
  29. package/dist/lib/release-guard.js.map +1 -0
  30. package/dist/lib/release-guard.test.d.ts +2 -0
  31. package/dist/lib/release-guard.test.d.ts.map +1 -0
  32. package/dist/lib/release-guard.test.js +60 -0
  33. package/dist/lib/release-guard.test.js.map +1 -0
  34. package/package.json +10 -11
  35. package/scripts/vendor-codex-hooks.mjs +31 -0
  36. package/scripts/verify-publish-tarball.mjs +9 -0
  37. package/scripts/verify-release-artifacts.mjs +77 -0
  38. package/vendor/codex-hooks/lib.mjs +276 -0
  39. package/vendor/codex-hooks/session-start.mjs +29 -0
  40. package/vendor/codex-hooks/stop.mjs +78 -0
  41. package/vendor/codex-hooks/user-prompt-submit.mjs +95 -0
  42. package/vendor/sensing-mcp/dist/index.js +26 -1
  43. package/vendor/sensing-mcp/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAyCA,UAAU,cAAc;IACtB,KAAK,CAAC,EAAU,MAAM,CAAA;IACtB,MAAM,CAAC,EAAS,MAAM,CAAA;IACtB,UAAU,CAAC,EAAK,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,kGAAkG;IAClG,QAAQ,CAAC,EAAO,MAAM,CAAA;IACtB,kEAAkE;IAClE,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAyDD,wBAAsB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA4KxE"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AA0CA,UAAU,cAAc;IACtB,KAAK,CAAC,EAAU,MAAM,CAAA;IACtB,MAAM,CAAC,EAAS,MAAM,CAAA;IACtB,UAAU,CAAC,EAAK,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,kGAAkG;IAClG,QAAQ,CAAC,EAAO,MAAM,CAAA;IACtB,kEAAkE;IAClE,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAyED,wBAAsB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA6KxE"}
@@ -16,11 +16,24 @@ import { readConfig, writeConfig, mergeConfig } from '../lib/config.js';
16
16
  import { validateToken, fetchProvisionedConfig } from '../lib/auth.js';
17
17
  import { resolveEditorsForInstall, resolveLlmProviderFromEnv, writeMcpConfig, } from '../lib/editor.js';
18
18
  import { ensureSensingMcpBundle, ensureSensingMcpBundleFromPackage, controlBundleReady, sensingBundleReady, McpBundleError, } from '../lib/mcp-bundle.js';
19
+ import { installCodexHooks } from '../lib/codex-hooks.js';
19
20
  import { initProjectCommand } from './init-project.js';
20
21
  import { inferLocalRobrainMonorepoRoot, inferRobrainMonorepoRootFromCwd, loadCliEnv, readDotenvKey, } from '../lib/load-env.js';
21
22
  import { join } from 'path';
22
23
  import { homedir } from 'os';
23
24
  const ROBRAIN_MCP_DIR = join(homedir(), '.robrain', 'mcp');
25
+ /** Materialize Codex hook scripts when Codex is in the install set; warn on failure. */
26
+ function resolveCodexHooksForInstall(editors) {
27
+ if (!editors.some(e => e.editor === 'codex'))
28
+ return undefined;
29
+ const dir = installCodexHooks();
30
+ if (!dir) {
31
+ console.log(chalk.yellow(' ⚠ Codex hooks were not installed — hook scripts not found in this CLI package.\n' +
32
+ ' MCP config was written; re-run after: npm install -g robrain@latest (or pnpm build in a clone).'));
33
+ console.log();
34
+ }
35
+ return dir;
36
+ }
24
37
  async function chainInitAfterInstall(opts) {
25
38
  if (opts.skipInitProject) {
26
39
  console.log(chalk.yellow('\n ⚠ Skipped automatic init-project (--skip-init-project).'));
@@ -183,6 +196,7 @@ export async function installCommand(opts) {
183
196
  llmProvider,
184
197
  openaiKey: process.env.OPENAI_API_KEY ?? '',
185
198
  includeControl,
199
+ codexHooksDir: resolveCodexHooksForInstall(editorsToConfig),
186
200
  };
187
201
  for (const editor of editorsToConfig) {
188
202
  writeMcpConfig(editor.configPath, mcpOpts);
@@ -202,7 +216,7 @@ export async function installCommand(opts) {
202
216
  planningKey: provisioned.planningKey,
203
217
  embeddingProvider: embeddingProvider ?? 'openai',
204
218
  installedAt: new Date().toISOString(),
205
- version: '2.3.7',
219
+ version: '2.3.9',
206
220
  });
207
221
  spinner.succeed('MCP servers configured');
208
222
  // ── Done ───────────────────────────────────────────────────
@@ -335,6 +349,7 @@ async function installSelfHosted(opts) {
335
349
  llmProvider,
336
350
  openaiKey: llmProvider === 'openai' ? openaiKey : undefined,
337
351
  includeControl: false,
352
+ codexHooksDir: resolveCodexHooksForInstall(editorsToConfig),
338
353
  };
339
354
  for (const editor of editorsToConfig) {
340
355
  writeMcpConfig(editor.configPath, mcpOpts);
@@ -352,7 +367,7 @@ async function installSelfHosted(opts) {
352
367
  ...(perceptionKey ? { perceptionKey } : {}),
353
368
  embeddingProvider: provider,
354
369
  installedAt: new Date().toISOString(),
355
- version: '2.3.7',
370
+ version: '2.3.9',
356
371
  selfHosted: true,
357
372
  });
358
373
  spinner.succeed('MCP servers configured for self-hosted mode');
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  export declare const DEFAULT_IMAGE_REPO = "ghcr.io/adelinamart/robrain-perception";
2
+ export declare const COMPOSE_PROJECT = "robrain";
3
+ export declare const CONTAINER_NAMES: readonly ["robrain-postgres", "robrain-perception"];
2
4
  /**
3
5
  * Managed compose file for the clone-free stack. Mirrors docker/docker-compose.yml
4
6
  * with two differences: Perception runs from the published image instead of a local
@@ -21,6 +23,18 @@ export interface EnsureEnvResult {
21
23
  export declare function ensureStackEnvContent(existing: string | null, seeds: Record<string, string | undefined>): EnsureEnvResult;
22
24
  /** Read a KEY=value line out of env-file content. */
23
25
  export declare function readEnvValue(content: string, key: string): string;
26
+ export interface ForeignContainer {
27
+ container: string;
28
+ /** Owning compose project; '' when created outside compose. */
29
+ project: string;
30
+ }
31
+ /**
32
+ * Containers carrying our names but owned by something other than the
33
+ * `robrain` compose project — a repo clone started before the project name was
34
+ * pinned (project "docker"), a pre-2.3.9 CLI stack (project "stack"), or plain
35
+ * `docker run`. Compose cannot adopt these; `up` must stop before pulling.
36
+ */
37
+ export declare function findForeignContainers(projectOf: (container: string) => string | null): ForeignContainer[];
24
38
  export interface UpOptions {
25
39
  /** Image tag to run; defaults to the CLI version so client and server move together. */
26
40
  tag?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"up.d.ts","sourceRoot":"","sources":["../../src/commands/up.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,kBAAkB,2CAA2C,CAAA;AAM1E;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAmDxD;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,mEAAmE;IACnE,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACxC,eAAe,CAqEjB;AAED,qDAAqD;AACrD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGjE;AAqCD,MAAM,WAAW,SAAS;IACxB,wFAAwF;IACxF,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CA8E9D;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAWjD"}
1
+ {"version":3,"file":"up.d.ts","sourceRoot":"","sources":["../../src/commands/up.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,kBAAkB,2CAA2C,CAAA;AAC1E,eAAO,MAAM,eAAe,YAAY,CAAA;AACxC,eAAO,MAAM,eAAe,qDAAsD,CAAA;AAMlF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAyDxD;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,mEAAmE;IACnE,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACxC,eAAe,CAqEjB;AAED,qDAAqD;AACrD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGjE;AAwCD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAC9C,gBAAgB,EAAE,CAOpB;AAiBD,MAAM,WAAW,SAAS;IACxB,wFAAwF;IACxF,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAiG9D;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAWjD"}
@@ -8,8 +8,11 @@
8
8
  // schema.sql managed — extracted from the Perception image
9
9
  // .env user-owned — secrets auto-generated once, never overwritten
10
10
  //
11
- // The repo-clone flow (`pnpm docker:up`) is unchanged; both drive the same
12
- // container names and data volume, so they are the same logical stack.
11
+ // The repo-clone flow (`pnpm docker:up`) and this command share one compose
12
+ // project (`name: robrain`), container names, and data volume — Compose treats
13
+ // them as the same stack. Containers left behind by pre-2.3.9 stacks belong to
14
+ // other compose projects ("docker" / "stack") and cannot be adopted; the
15
+ // pre-flight check below catches that state before anything is pulled.
13
16
  // ─────────────────────────────────────────────────────────────
14
17
  import { execFileSync, spawnSync } from 'child_process';
15
18
  import { randomBytes } from 'crypto';
@@ -19,6 +22,8 @@ import { join } from 'path';
19
22
  import chalk from 'chalk';
20
23
  import { mergeConfig } from '../lib/config.js';
21
24
  export const DEFAULT_IMAGE_REPO = 'ghcr.io/adelinamart/robrain-perception';
25
+ export const COMPOSE_PROJECT = 'robrain';
26
+ export const CONTAINER_NAMES = ['robrain-postgres', 'robrain-perception'];
22
27
  const STACK_DIR = join(homedir(), '.robrain', 'stack');
23
28
  const VOLUME_NAME = 'robrain_postgres_data';
24
29
  // ── Pure helpers (exported for tests) ─────────────────────────
@@ -30,6 +35,12 @@ const VOLUME_NAME = 'robrain_postgres_data';
30
35
  export function renderStackCompose(image) {
31
36
  return `# Managed by \`robrain up\` — regenerated on every run; do not edit.
32
37
  # Configuration belongs in the .env file next to this compose file.
38
+
39
+ # Pinned so the repo-clone flow and \`robrain up\` are one compose project —
40
+ # without it Compose derives the project from the directory name and refuses
41
+ # to reuse containers created by the other flow.
42
+ name: ${COMPOSE_PROJECT}
43
+
33
44
  services:
34
45
 
35
46
  postgres:
@@ -175,6 +186,35 @@ function volumeExists() {
175
186
  return false;
176
187
  }
177
188
  }
189
+ /**
190
+ * Compose project label of an existing container: the project name for
191
+ * compose-managed containers, '' for plain `docker run` ones, null when the
192
+ * container does not exist (or docker inspect fails — fail open, compose up
193
+ * will surface its own error).
194
+ */
195
+ function containerComposeProject(container) {
196
+ try {
197
+ return execFileSync('docker', ['container', 'inspect', '--format', '{{ index .Config.Labels "com.docker.compose.project" }}', container], { stdio: ['ignore', 'pipe', 'ignore'] }).toString().trim();
198
+ }
199
+ catch {
200
+ return null;
201
+ }
202
+ }
203
+ /**
204
+ * Containers carrying our names but owned by something other than the
205
+ * `robrain` compose project — a repo clone started before the project name was
206
+ * pinned (project "docker"), a pre-2.3.9 CLI stack (project "stack"), or plain
207
+ * `docker run`. Compose cannot adopt these; `up` must stop before pulling.
208
+ */
209
+ export function findForeignContainers(projectOf) {
210
+ const foreign = [];
211
+ for (const container of CONTAINER_NAMES) {
212
+ const project = projectOf(container);
213
+ if (project !== null && project !== COMPOSE_PROJECT)
214
+ foreign.push({ container, project });
215
+ }
216
+ return foreign;
217
+ }
178
218
  function imagePresentLocally(image) {
179
219
  try {
180
220
  execFileSync('docker', ['image', 'inspect', image], { stdio: 'ignore' });
@@ -208,6 +248,24 @@ export async function upCommand(opts) {
208
248
  const display = value.length > 12 ? `${value.slice(0, 8)}…${value.slice(-4)}` : value;
209
249
  console.log(chalk.dim(` generated ${key}=${display}`));
210
250
  }
251
+ // Containers from another compose project make `compose up` die mid-run
252
+ // with a raw name-conflict error from the daemon — catch it here, before
253
+ // pulling anything, with instructions that actually work for that state
254
+ // (`robrain down` only owns the `robrain` project, so it cannot remove them).
255
+ const foreign = findForeignContainers(containerComposeProject);
256
+ if (foreign.length > 0) {
257
+ const names = foreign.map(f => f.container).join(' ');
258
+ const downCommands = [...new Set(foreign.map(f => f.project))].map(project => project ? `docker compose -p ${project} down` : `docker rm -f ${names}`);
259
+ console.log(chalk.red(`\n ✗ Found existing container(s) ${names} from an older RoBrain stack`) + chalk.dim(' (repo clone or a previous CLI version).'));
260
+ console.log(chalk.dim(' Docker Compose cannot reuse containers across projects, so they must be removed first.'));
261
+ console.log(chalk.dim(' To keep your data — remove the old containers (the data volume is preserved):'));
262
+ for (const cmd of downCommands)
263
+ console.log(' ' + chalk.cyan(cmd));
264
+ console.log(chalk.dim(' then copy POSTGRES_PASSWORD + PERCEPTION_API_KEY from the old stack\'s .env into ') + chalk.cyan(envPath));
265
+ console.log(chalk.dim(' and re-run ') + chalk.cyan('robrain up') + chalk.dim(' — it will start against the existing database.'));
266
+ console.log(chalk.dim(' To start fresh instead: ') + chalk.cyan(`docker rm -f ${names} && docker volume rm ${VOLUME_NAME}`) + chalk.dim(' then re-run ') + chalk.cyan('robrain up') + '\n');
267
+ process.exit(1);
268
+ }
211
269
  // Existing data volume + freshly generated password = the new credentials
212
270
  // cannot open the old database (POSTGRES_PASSWORD only applies at initdb).
213
271
  if (generated.includes('POSTGRES_PASSWORD') && volumeExists()) {
@@ -1 +1 @@
1
- {"version":3,"file":"up.js","sourceRoot":"","sources":["../../src/commands/up.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"up.js","sourceRoot":"","sources":["../../src/commands/up.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  import { describe, it } from 'node:test';
2
2
  import assert from 'node:assert/strict';
3
- import { ensureStackEnvContent, readEnvValue, renderStackCompose, DEFAULT_IMAGE_REPO } from './up.js';
3
+ import { ensureStackEnvContent, findForeignContainers, readEnvValue, renderStackCompose, COMPOSE_PROJECT, DEFAULT_IMAGE_REPO, } from './up.js';
4
4
  describe('renderStackCompose', () => {
5
- const compose = renderStackCompose(`${DEFAULT_IMAGE_REPO}:2.3.7`);
5
+ const compose = renderStackCompose(`${DEFAULT_IMAGE_REPO}:2.3.9`);
6
+ it('pins the compose project name shared with the repo-clone flow', () => {
7
+ assert.match(compose, new RegExp(`^name: ${COMPOSE_PROJECT}$`, 'm'));
8
+ });
6
9
  it('runs Perception from the published image with an env override hook', () => {
7
- assert.match(compose, /image: \$\{PERCEPTION_IMAGE:-ghcr\.io\/adelinamart\/robrain-perception:2\.3\.7\}/);
10
+ assert.match(compose, /image: \$\{PERCEPTION_IMAGE:-ghcr\.io\/adelinamart\/robrain-perception:2\.3\.9\}/);
8
11
  assert.doesNotMatch(compose, /build:/);
9
12
  });
10
13
  it('mounts the stack-local schema and env file', () => {
@@ -67,4 +70,19 @@ describe('ensureStackEnvContent', () => {
67
70
  assert.ok(generated.includes('POSTGRES_PASSWORD'));
68
71
  });
69
72
  });
73
+ describe('findForeignContainers', () => {
74
+ it('passes when containers are absent or already owned by the robrain project', () => {
75
+ assert.deepEqual(findForeignContainers(() => null), []);
76
+ assert.deepEqual(findForeignContainers(() => COMPOSE_PROJECT), []);
77
+ });
78
+ it('flags containers owned by another compose project (pre-2.3.9 clone or CLI stack)', () => {
79
+ const conflicts = findForeignContainers(name => (name === 'robrain-postgres' ? 'docker' : null));
80
+ assert.deepEqual(conflicts, [{ container: 'robrain-postgres', project: 'docker' }]);
81
+ });
82
+ it('flags containers created outside compose (empty project label)', () => {
83
+ const conflicts = findForeignContainers(() => '');
84
+ assert.deepEqual(conflicts.map(c => c.container).sort(), ['robrain-perception', 'robrain-postgres']);
85
+ assert.ok(conflicts.every(c => c.project === ''));
86
+ });
87
+ });
70
88
  //# sourceMappingURL=up.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"up.test.js","sourceRoot":"","sources":["../../src/commands/up.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"up.test.js","sourceRoot":"","sources":["../../src/commands/up.test.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -29,7 +29,7 @@ import { projectsListCommand, projectsMergeCommand } from './commands/projects.j
29
29
  import { upCommand, downCommand, DEFAULT_IMAGE_REPO } from './commands/up.js';
30
30
  import { mcpCommand } from './commands/mcp.js';
31
31
  import { installHermesPlugin, resolveHermesHome } from './lib/hermes-plugin.js';
32
- const VERSION = '2.3.7';
32
+ const VERSION = '2.3.9';
33
33
  program
34
34
  .name('robrain')
35
35
  .description('Institutional memory for AI coding agents — by Rory Plans')
@@ -0,0 +1,26 @@
1
+ export declare const CODEX_HOOKS_DIR: string;
2
+ export declare function codexHooksComplete(dir: string): boolean;
3
+ /**
4
+ * Locate the hook-script source shipped with this CLI.
5
+ * Published tarball: vendor/codex-hooks (flat, pre-assembled by the vendor
6
+ * script). Monorepo dev: assembled from plugins/claude-code/hooks (shared
7
+ * scripts) + plugins/codex/hooks (stop.mjs) — returned as two roots.
8
+ */
9
+ export declare function resolveCodexHookSources(): Array<{
10
+ dir: string;
11
+ files: string[];
12
+ }> | undefined;
13
+ /**
14
+ * Copy hook scripts from `sources` into `destDir`.
15
+ * Returns the destination when complete, undefined when `sources` is empty or copy fails.
16
+ */
17
+ export declare function materializeCodexHooks(sources: Array<{
18
+ dir: string;
19
+ files: string[];
20
+ }>, destDir: string): string | undefined;
21
+ /**
22
+ * Copy the scripts into `destDir` (default ~/.robrain/hooks/codex).
23
+ * Returns the destination when materialized, undefined when no source found.
24
+ */
25
+ export declare function installCodexHooks(destDir?: string): string | undefined;
26
+ //# sourceMappingURL=codex-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-hooks.d.ts","sourceRoot":"","sources":["../../src/lib/codex-hooks.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,eAAe,QAAgD,CAAA;AAE5E,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GAAG,SAAS,CAiB7F;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,EAChD,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,SAAS,CASpB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,MAAwB,GAAG,MAAM,GAAG,SAAS,CAIvF"}
@@ -0,0 +1,65 @@
1
+ // packages/cli/src/lib/codex-hooks.ts
2
+ // Materialize the RoBrain Codex hook scripts into ~/.robrain/hooks/codex so
3
+ // the [hooks] entries robrain install writes into ~/.codex/config.toml
4
+ // resolve to stable absolute paths. Same self-containment pattern as the
5
+ // vendored sensing-mcp bundle: published tarballs carry the scripts under
6
+ // vendor/codex-hooks; monorepo dev resolves them from plugins/.
7
+ import { cpSync, existsSync, mkdirSync, rmSync } from 'fs';
8
+ import { homedir } from 'os';
9
+ import { dirname, join } from 'path';
10
+ import { fileURLToPath } from 'url';
11
+ /** Shared with the Claude plugin (single implementation) + the Codex-specific stop. */
12
+ const SCRIPTS = ['lib.mjs', 'session-start.mjs', 'user-prompt-submit.mjs', 'stop.mjs'];
13
+ export const CODEX_HOOKS_DIR = join(homedir(), '.robrain', 'hooks', 'codex');
14
+ export function codexHooksComplete(dir) {
15
+ return SCRIPTS.every(f => existsSync(join(dir, f)));
16
+ }
17
+ /**
18
+ * Locate the hook-script source shipped with this CLI.
19
+ * Published tarball: vendor/codex-hooks (flat, pre-assembled by the vendor
20
+ * script). Monorepo dev: assembled from plugins/claude-code/hooks (shared
21
+ * scripts) + plugins/codex/hooks (stop.mjs) — returned as two roots.
22
+ */
23
+ export function resolveCodexHookSources() {
24
+ const here = dirname(fileURLToPath(import.meta.url)); // <cli-root>/dist/lib
25
+ const cliRoot = join(here, '..', '..');
26
+ const vendored = join(cliRoot, 'vendor', 'codex-hooks');
27
+ if (codexHooksComplete(vendored))
28
+ return [{ dir: vendored, files: [...SCRIPTS] }];
29
+ const claudeHooks = join(cliRoot, '..', '..', 'plugins', 'claude-code', 'hooks');
30
+ const codexHooks = join(cliRoot, '..', '..', 'plugins', 'codex', 'hooks');
31
+ const shared = ['lib.mjs', 'session-start.mjs', 'user-prompt-submit.mjs'];
32
+ if (shared.every(f => existsSync(join(claudeHooks, f))) && existsSync(join(codexHooks, 'stop.mjs'))) {
33
+ return [
34
+ { dir: claudeHooks, files: shared },
35
+ { dir: codexHooks, files: ['stop.mjs'] },
36
+ ];
37
+ }
38
+ return undefined;
39
+ }
40
+ /**
41
+ * Copy hook scripts from `sources` into `destDir`.
42
+ * Returns the destination when complete, undefined when `sources` is empty or copy fails.
43
+ */
44
+ export function materializeCodexHooks(sources, destDir) {
45
+ if (!sources.length)
46
+ return undefined;
47
+ rmSync(destDir, { recursive: true, force: true });
48
+ mkdirSync(destDir, { recursive: true });
49
+ for (const { dir, files } of sources) {
50
+ for (const f of files)
51
+ cpSync(join(dir, f), join(destDir, f));
52
+ }
53
+ return codexHooksComplete(destDir) ? destDir : undefined;
54
+ }
55
+ /**
56
+ * Copy the scripts into `destDir` (default ~/.robrain/hooks/codex).
57
+ * Returns the destination when materialized, undefined when no source found.
58
+ */
59
+ export function installCodexHooks(destDir = CODEX_HOOKS_DIR) {
60
+ const sources = resolveCodexHookSources();
61
+ if (!sources)
62
+ return undefined;
63
+ return materializeCodexHooks(sources, destDir);
64
+ }
65
+ //# sourceMappingURL=codex-hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-hooks.js","sourceRoot":"","sources":["../../src/lib/codex-hooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=codex-hooks.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-hooks.test.d.ts","sourceRoot":"","sources":["../../src/lib/codex-hooks.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,64 @@
1
+ import assert from 'node:assert/strict';
2
+ import { mkdirSync, mkdtempSync, writeFileSync } from 'node:fs';
3
+ import { tmpdir } from 'node:os';
4
+ import { join } from 'node:path';
5
+ import { test } from 'node:test';
6
+ import { codexHooksComplete, installCodexHooks, materializeCodexHooks } from './codex-hooks.js';
7
+ const SCRIPTS = ['lib.mjs', 'session-start.mjs', 'user-prompt-submit.mjs', 'stop.mjs'];
8
+ function writeFakeHookBundle(dir) {
9
+ mkdirSync(dir, { recursive: true });
10
+ for (const f of SCRIPTS)
11
+ writeFileSync(join(dir, f), `// ${f}\n`);
12
+ }
13
+ test('codexHooksComplete requires all four scripts', () => {
14
+ const root = mkdtempSync(join(tmpdir(), 'codex-hooks-'));
15
+ const partial = join(root, 'partial');
16
+ mkdirSync(partial);
17
+ writeFileSync(join(partial, 'lib.mjs'), '');
18
+ assert.equal(codexHooksComplete(partial), false);
19
+ const full = join(root, 'full');
20
+ writeFakeHookBundle(full);
21
+ assert.equal(codexHooksComplete(full), true);
22
+ });
23
+ test('installCodexHooks copies a flat vendor-style source into dest', () => {
24
+ const root = mkdtempSync(join(tmpdir(), 'codex-hooks-'));
25
+ const src = join(root, 'vendor');
26
+ writeFakeHookBundle(src);
27
+ const dest = join(root, 'dest');
28
+ const out = materializeCodexHooks([{ dir: src, files: [...SCRIPTS] }], dest);
29
+ assert.equal(out, dest);
30
+ assert.ok(codexHooksComplete(dest));
31
+ });
32
+ test('installCodexHooks merges split claude + codex sources', () => {
33
+ const root = mkdtempSync(join(tmpdir(), 'codex-hooks-'));
34
+ const claude = join(root, 'claude');
35
+ const codex = join(root, 'codex');
36
+ for (const f of ['lib.mjs', 'session-start.mjs', 'user-prompt-submit.mjs']) {
37
+ mkdirSync(claude, { recursive: true });
38
+ writeFileSync(join(claude, f), `// ${f}\n`);
39
+ }
40
+ mkdirSync(codex, { recursive: true });
41
+ writeFileSync(join(codex, 'stop.mjs'), '// stop\n');
42
+ const dest = join(root, 'merged');
43
+ const out = materializeCodexHooks([
44
+ { dir: claude, files: ['lib.mjs', 'session-start.mjs', 'user-prompt-submit.mjs'] },
45
+ { dir: codex, files: ['stop.mjs'] },
46
+ ], dest);
47
+ assert.equal(out, dest);
48
+ assert.ok(codexHooksComplete(dest));
49
+ });
50
+ test('installCodexHooks returns undefined when no bundled source resolves', () => {
51
+ const root = mkdtempSync(join(tmpdir(), 'codex-hooks-'));
52
+ const dest = join(root, 'empty');
53
+ mkdirSync(dest);
54
+ writeFileSync(join(dest, 'placeholder'), '');
55
+ // Dest with no resolvable vendor — pass a non-existent path by using materialize with [].
56
+ assert.equal(materializeCodexHooks([], dest), undefined);
57
+ });
58
+ test('installCodexHooks materializes from monorepo plugin dirs when present', () => {
59
+ const out = installCodexHooks(join(tmpdir(), `codex-hooks-${process.pid}-${Date.now()}`));
60
+ // In a built monorepo checkout the plugin trees exist; in isolation this may be undefined.
61
+ if (out)
62
+ assert.ok(codexHooksComplete(out));
63
+ });
64
+ //# sourceMappingURL=codex-hooks.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-hooks.test.js","sourceRoot":"","sources":["../../src/lib/codex-hooks.test.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,26 @@ const baseOpts = {
16
16
  embeddingKey: 'sk-openai-test',
17
17
  };
18
18
  describe('renderCodexBlock', () => {
19
+ it('omits hooks tables when no codexHooksDir is provided', () => {
20
+ const block = renderCodexBlock({ ...baseOpts, includeControl: false });
21
+ assert.doesNotMatch(block, /\[\[hooks\./);
22
+ });
23
+ it('wires the three lifecycle hooks when codexHooksDir is set', () => {
24
+ const block = renderCodexBlock({
25
+ ...baseOpts,
26
+ includeControl: false,
27
+ codexHooksDir: '/home/user/.robrain/hooks/codex',
28
+ });
29
+ assert.match(block, /\[\[hooks\.SessionStart\]\]/);
30
+ assert.match(block, /\[\[hooks\.UserPromptSubmit\]\]/);
31
+ assert.match(block, /\[\[hooks\.Stop\]\]/);
32
+ // command strings quote the script path and run it with node
33
+ assert.match(block, /command = "node \\"\/home\/user\/\.robrain\/hooks\/codex\/user-prompt-submit\.mjs\\""/);
34
+ // capture must be async so it never blocks the turn ending
35
+ assert.match(block, /\[\[hooks\.Stop\.hooks\]\]\ntype = "command"\ncommand = [^\n]+\ntimeout = 30\nasync = true/);
36
+ // hooks tables must stay inside the managed block
37
+ assert.ok(block.indexOf('[[hooks.Stop]]') < block.indexOf('# <!-- /robrain -->'));
38
+ });
19
39
  it('includes sensing server with enabled and env', () => {
20
40
  const block = renderCodexBlock({ ...baseOpts, includeControl: false });
21
41
  assert.match(block, /\[mcp_servers\.robrain-sensing\]/);