robrain 2.3.8 → 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.
@@ -216,7 +216,7 @@ export async function installCommand(opts) {
216
216
  planningKey: provisioned.planningKey,
217
217
  embeddingProvider: embeddingProvider ?? 'openai',
218
218
  installedAt: new Date().toISOString(),
219
- version: '2.3.8',
219
+ version: '2.3.9',
220
220
  });
221
221
  spinner.succeed('MCP servers configured');
222
222
  // ── Done ───────────────────────────────────────────────────
@@ -367,7 +367,7 @@ async function installSelfHosted(opts) {
367
367
  ...(perceptionKey ? { perceptionKey } : {}),
368
368
  embeddingProvider: provider,
369
369
  installedAt: new Date().toISOString(),
370
- version: '2.3.8',
370
+ version: '2.3.9',
371
371
  selfHosted: true,
372
372
  });
373
373
  spinner.succeed('MCP servers configured for self-hosted mode');
@@ -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.8`);
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\.8\}/);
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.8';
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')
@@ -53,11 +53,11 @@ describe('materializeSensingBundle', () => {
53
53
  it('re-copies when the package version changed', () => {
54
54
  writeFakePackage(pkgDir, '2.2.0', 'old');
55
55
  assert.equal(materializeSensingBundle(pkgDir, mcpDir), true);
56
- writeFakePackage(pkgDir, '2.3.8', 'new');
56
+ writeFakePackage(pkgDir, '2.3.9', 'new');
57
57
  assert.equal(materializeSensingBundle(pkgDir, mcpDir), true);
58
58
  assert.equal(readFileSync(join(mcpDir, 'sensing', 'dist', 'index.js'), 'utf8'), 'new');
59
59
  const marker = JSON.parse(readFileSync(join(mcpDir, 'sensing', 'package.json'), 'utf8'));
60
- assert.equal(marker.version, '2.3.8');
60
+ assert.equal(marker.version, '2.3.9');
61
61
  });
62
62
  it('replaces a symlinked destination from a previous --repo-root install', () => {
63
63
  // Old dev install: ~/.robrain/mcp/sensing -> clone/packages/sensing-mcp
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "robrain",
3
- "version": "2.3.8",
3
+ "version": "2.3.9",
4
4
  "type": "module",
5
5
  "description": "RoBrain CLI for installation, setup, and memory workflows",
6
6
  "author": "Rory Plans, Inc.",
@@ -23062,7 +23062,7 @@ function resolveSessionId(raw) {
23062
23062
  function buildServer() {
23063
23063
  const server = new McpServer({
23064
23064
  name: "sensing-mcp",
23065
- version: "2.3.8"
23065
+ version: "2.3.9"
23066
23066
  });
23067
23067
  server.tool(
23068
23068
  "sensing_start_session",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robrain/sensing-mcp",
3
- "version": "2.3.8",
3
+ "version": "2.3.9",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "main": "./dist/index.js"