robrain 2.4.4 → 2.4.6

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 (60) hide show
  1. package/dist/commands/check.d.ts +2 -0
  2. package/dist/commands/check.d.ts.map +1 -0
  3. package/dist/commands/check.js +73 -0
  4. package/dist/commands/check.js.map +1 -0
  5. package/dist/commands/doctor.d.ts.map +1 -1
  6. package/dist/commands/doctor.js +41 -5
  7. package/dist/commands/doctor.js.map +1 -1
  8. package/dist/commands/export-memory.js +1 -1
  9. package/dist/commands/export-memory.js.map +1 -1
  10. package/dist/commands/init-project.d.ts +2 -0
  11. package/dist/commands/init-project.d.ts.map +1 -1
  12. package/dist/commands/init-project.js +71 -12
  13. package/dist/commands/init-project.js.map +1 -1
  14. package/dist/commands/inject.js +1 -1
  15. package/dist/commands/inject.js.map +1 -1
  16. package/dist/commands/install.d.ts.map +1 -1
  17. package/dist/commands/install.js +36 -8
  18. package/dist/commands/install.js.map +1 -1
  19. package/dist/commands/review.js +2 -2
  20. package/dist/commands/review.js.map +1 -1
  21. package/dist/commands/synth.d.ts.map +1 -1
  22. package/dist/commands/synth.js +48 -8
  23. package/dist/commands/synth.js.map +1 -1
  24. package/dist/commands/up.d.ts +3 -3
  25. package/dist/commands/up.d.ts.map +1 -1
  26. package/dist/commands/up.js +4 -3
  27. package/dist/commands/up.js.map +1 -1
  28. package/dist/commands/up.test.js +3 -0
  29. package/dist/commands/up.test.js.map +1 -1
  30. package/dist/index.js +13 -3
  31. package/dist/index.js.map +1 -1
  32. package/dist/lib/editor.codex.test.js +47 -1
  33. package/dist/lib/editor.codex.test.js.map +1 -1
  34. package/dist/lib/editor.d.ts +40 -4
  35. package/dist/lib/editor.d.ts.map +1 -1
  36. package/dist/lib/editor.js +112 -28
  37. package/dist/lib/editor.js.map +1 -1
  38. package/dist/lib/editor.stale-block.test.d.ts +2 -0
  39. package/dist/lib/editor.stale-block.test.d.ts.map +1 -0
  40. package/dist/lib/editor.stale-block.test.js +61 -0
  41. package/dist/lib/editor.stale-block.test.js.map +1 -0
  42. package/dist/lib/load-env.d.ts +8 -0
  43. package/dist/lib/load-env.d.ts.map +1 -1
  44. package/dist/lib/load-env.js +25 -4
  45. package/dist/lib/load-env.js.map +1 -1
  46. package/dist/lib/synthesis-bundle.d.ts +24 -0
  47. package/dist/lib/synthesis-bundle.d.ts.map +1 -0
  48. package/dist/lib/synthesis-bundle.js +52 -0
  49. package/dist/lib/synthesis-bundle.js.map +1 -0
  50. package/dist/lib/synthesis-bundle.test.d.ts +2 -0
  51. package/dist/lib/synthesis-bundle.test.d.ts.map +1 -0
  52. package/dist/lib/synthesis-bundle.test.js +61 -0
  53. package/dist/lib/synthesis-bundle.test.js.map +1 -0
  54. package/package.json +2 -2
  55. package/scripts/vendor-synthesis.mjs +32 -0
  56. package/scripts/verify-publish-tarball.mjs +21 -0
  57. package/vendor/sensing-mcp/dist/index.js +8 -7
  58. package/vendor/sensing-mcp/package.json +1 -1
  59. package/vendor/synthesis/dist/index.js +17382 -0
  60. package/vendor/synthesis/package.json +7 -0
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { tmpdir } from 'os';
3
3
  import { join } from 'path';
4
4
  import { describe, it } from 'node:test';
5
5
  import assert from 'node:assert/strict';
6
- import { buildSensingMcpEnv, forceEditor, renderCodexBlock, resolveEditorsForInstall, writeCodexMcpConfig, } from './editor.js';
6
+ import { buildSensingMcpEnv, DEFAULT_OPENAI_BASE_URL, forceEditor, renderCodexBlock, resolveEditorsForInstall, resolveOpenAiBaseUrlFromEnv, usingLocalOpenAi, writeCodexMcpConfig, } from './editor.js';
7
7
  const baseOpts = {
8
8
  sensingMcpPath: '/home/user/.robrain/mcp/sensing/dist/index.js',
9
9
  controlMcpPath: '/home/user/.robrain/mcp/control/dist/index.js',
@@ -113,6 +113,27 @@ describe('renderCodexBlock', () => {
113
113
  assert.equal(withKey.OPENAI_API_KEY, 'sk-openai-test');
114
114
  assert.equal(withKey.OPENAI_BASE_URL, 'http://localhost:11434/v1');
115
115
  });
116
+ it('split local setup: writes Docker OPENAI_BASE_URL and host OPENAI_HOST_BASE_URL', () => {
117
+ const env = buildSensingMcpEnv({
118
+ ...baseOpts,
119
+ embeddingKey: '',
120
+ openaiBaseUrl: 'http://host.docker.internal:11434/v1',
121
+ openaiHostBaseUrl: 'http://127.0.0.1:11434/v1',
122
+ });
123
+ assert.equal(env.OPENAI_BASE_URL, 'http://host.docker.internal:11434/v1');
124
+ assert.equal(env.OPENAI_HOST_BASE_URL, 'http://127.0.0.1:11434/v1');
125
+ assert.equal('OPENAI_API_KEY' in env, false);
126
+ });
127
+ it('host-only local URL: OPENAI_HOST_BASE_URL alone is enough for keyless', () => {
128
+ const env = buildSensingMcpEnv({
129
+ ...baseOpts,
130
+ embeddingKey: '',
131
+ openaiHostBaseUrl: 'http://127.0.0.1:11434/v1',
132
+ });
133
+ assert.equal(env.OPENAI_HOST_BASE_URL, 'http://127.0.0.1:11434/v1');
134
+ assert.equal('OPENAI_BASE_URL' in env, false);
135
+ assert.equal('OPENAI_API_KEY' in env, false);
136
+ });
116
137
  it('escapes quotes and backslashes in TOML strings', () => {
117
138
  const block = renderCodexBlock({
118
139
  ...baseOpts,
@@ -122,6 +143,31 @@ describe('renderCodexBlock', () => {
122
143
  assert.match(block, /PERCEPTION_API_KEY = "say \\"hello\\" \\\\ path"/);
123
144
  });
124
145
  });
146
+ describe('resolveOpenAiBaseUrlFromEnv', () => {
147
+ it('preferHost uses OPENAI_HOST_BASE_URL over the Docker URL', () => {
148
+ const env = {
149
+ OPENAI_BASE_URL: 'http://host.docker.internal:11434/v1',
150
+ OPENAI_HOST_BASE_URL: 'http://127.0.0.1:11434/v1',
151
+ };
152
+ assert.equal(resolveOpenAiBaseUrlFromEnv(env), 'http://host.docker.internal:11434/v1');
153
+ assert.equal(resolveOpenAiBaseUrlFromEnv(env, { preferHost: true }), 'http://127.0.0.1:11434/v1');
154
+ assert.equal(usingLocalOpenAi(env), true);
155
+ });
156
+ it('preferHost falls through empty OPENAI_HOST_BASE_URL to OPENAI_BASE_URL', () => {
157
+ const env = {
158
+ OPENAI_BASE_URL: 'http://127.0.0.1:11434/v1/',
159
+ OPENAI_HOST_BASE_URL: ' ',
160
+ };
161
+ assert.equal(resolveOpenAiBaseUrlFromEnv(env, { preferHost: true }), 'http://127.0.0.1:11434/v1');
162
+ });
163
+ it('normalizes localhost to 127.0.0.1', () => {
164
+ assert.equal(resolveOpenAiBaseUrlFromEnv({ OPENAI_BASE_URL: 'http://localhost:11434/v1' }), 'http://127.0.0.1:11434/v1');
165
+ });
166
+ it('defaults when unset', () => {
167
+ assert.equal(resolveOpenAiBaseUrlFromEnv({}), DEFAULT_OPENAI_BASE_URL);
168
+ assert.equal(usingLocalOpenAi({}), false);
169
+ });
170
+ });
125
171
  describe('writeCodexMcpConfig', () => {
126
172
  it('creates a new file with the managed block', () => {
127
173
  const dir = mkdtempSync(join(tmpdir(), 'robrain-codex-'));
@@ -1 +1 @@
1
- {"version":3,"file":"editor.codex.test.js","sourceRoot":"","sources":["../../src/lib/editor.codex.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor.codex.test.js","sourceRoot":"","sources":["../../src/lib/editor.codex.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,20 @@
1
1
  export type Editor = 'claude-code' | 'cursor' | 'copilot' | 'codex' | 'unknown';
2
2
  export declare const INSTALLABLE_EDITORS: readonly ["claude-code", "cursor", "copilot", "codex"];
3
3
  export type InstallableEditor = (typeof INSTALLABLE_EDITORS)[number];
4
+ export declare const EDITOR_LABELS: Record<InstallableEditor, string>;
5
+ /**
6
+ * Installable editors with no detected config footprint. Detection keys off
7
+ * config dirs the editor creates on FIRST LAUNCH (e.g. `~/.cursor`), so an
8
+ * editor that is installed but never opened comes back here — install should
9
+ * name these instead of silently skipping them (`--editor <name>` wires an
10
+ * editor regardless of footprint).
11
+ */
12
+ export declare function undetectedInstallableEditors(): InstallableEditor[];
13
+ /**
14
+ * Best-effort: is the Cursor application present on this machine, even if it
15
+ * was never launched (no `~/.cursor` footprint yet)?
16
+ */
17
+ export declare function cursorAppInstalled(): boolean;
4
18
  export interface DetectedEditor {
5
19
  editor: Editor;
6
20
  configPath: string;
@@ -22,9 +36,16 @@ export type LlmProvider = 'anthropic' | 'openai';
22
36
  /** Reads LLM_PROVIDER; anything other than "openai" (case-insensitive) means Anthropic. */
23
37
  export declare function resolveLlmProviderFromEnv(env?: NodeJS.ProcessEnv): LlmProvider;
24
38
  export declare const DEFAULT_OPENAI_BASE_URL = "https://api.openai.com/v1";
25
- /** Reads OPENAI_BASE_URL, normalized the same way as shared's resolveOpenAiBaseUrl. */
26
- export declare function resolveOpenAiBaseUrlFromEnv(env?: NodeJS.ProcessEnv): string;
27
- /** True when OPENAI_BASE_URL points at a local OpenAI-compatible server (Ollama / LM Studio / vLLM) — OPENAI_API_KEY is optional then. */
39
+ export interface ResolveOpenAiBaseUrlFromEnvOptions {
40
+ /** Prefer OPENAI_HOST_BASE_URL (Sensing/Synthesis / doctor on the host). */
41
+ preferHost?: boolean;
42
+ }
43
+ /**
44
+ * Reads OPENAI_BASE_URL (or OPENAI_HOST_BASE_URL when preferHost), matching
45
+ * shared's resolveOpenAiBaseUrl.
46
+ */
47
+ export declare function resolveOpenAiBaseUrlFromEnv(env?: NodeJS.ProcessEnv, options?: ResolveOpenAiBaseUrlFromEnvOptions): string;
48
+ /** True when a local OpenAI-compatible server URL is configured (host or Docker). */
28
49
  export declare function usingLocalOpenAi(env?: NodeJS.ProcessEnv): boolean;
29
50
  export interface McpWriteOptions {
30
51
  sensingMcpPath: string;
@@ -40,8 +61,10 @@ export interface McpWriteOptions {
40
61
  llmProvider?: LlmProvider;
41
62
  /** OpenAI key for LLM when llmProvider is openai and embedding provider is not openai. */
42
63
  openaiKey?: string;
43
- /** Non-default OpenAI-compatible base URL (Ollama / LM Studio / vLLM). Written into the Sensing env; makes OPENAI_API_KEY optional. */
64
+ /** OPENAI_BASE_URL for Sensing (often host.docker.internal when Perception is in Docker). */
44
65
  openaiBaseUrl?: string;
66
+ /** OPENAI_HOST_BASE_URL for Sensing on the host (127.0.0.1). Sensing preferHost uses this first. */
67
+ openaiHostBaseUrl?: string;
45
68
  /** When false, drops robrain-control (OSS self-hosted — Control ships with Rory cloud only). Default true. */
46
69
  includeControl?: boolean;
47
70
  /** Absolute dir of materialized Codex hook scripts — when set, the Codex TOML block also wires lifecycle hooks. */
@@ -60,6 +83,19 @@ export declare function writeMcpConfig(configPath: string, opts: McpWriteOptions
60
83
  /** @internal Exported for unit tests. */
61
84
  export declare function renderCodexBlock(opts: McpWriteOptions): string;
62
85
  export declare function writeCodexMcpConfig(configPath: string, opts: McpWriteOptions): void;
86
+ /** Control tools removed 2026-07-23 — an instruction block naming any of these is stale. */
87
+ export declare const REMOVED_CONTROL_TOOLS: readonly ["control_get_session_context", "control_inject_context", "control_add_rule", "control_end_session"];
88
+ /**
89
+ * True when a project instruction file references a Control tool that no longer
90
+ * exists. Intended for AGENTS.md / CLAUDE.md / `.cursor/rules/robrain.mdc`.
91
+ *
92
+ * Scan scope:
93
+ * - Marked block present (start+end): only the marker-bounded region (changelog
94
+ * mentions outside the block are never false positives).
95
+ * - Start marker without end: from start to EOF (broken managed block — still warn).
96
+ * - No markers: whole file (legacy blocks written before markers existed).
97
+ */
98
+ export declare function roBrainBlockReferencesRemovedTools(fileContent: string): boolean;
63
99
  export type RoBrainInstructionMode = 'sensing-only' | 'sensing+control';
64
100
  export declare function writeClaudeMd(projectRoot: string, projectId: string, mode?: RoBrainInstructionMode): void;
65
101
  /** Writes/updates `AGENTS.md` at the project root (Codex CLI and other AGENTS.md clients). Same managed block as CLAUDE.md. */
@@ -1 +1 @@
1
- {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/lib/editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/lib/editor.ts"],"names":[],"mappings":"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"}
@@ -5,16 +5,45 @@
5
5
  // Supported: Claude Code, Cursor, GitHub Copilot (VS Code), Codex CLI
6
6
  // ─────────────────────────────────────────────────────────────
7
7
  // ******ROBRAIN****
8
+ import { execSync } from 'child_process';
8
9
  import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
9
10
  import { homedir } from 'os';
10
11
  import { join, dirname } from 'path';
11
12
  export const INSTALLABLE_EDITORS = ['claude-code', 'cursor', 'copilot', 'codex'];
12
- const EDITOR_LABELS = {
13
+ export const EDITOR_LABELS = {
13
14
  'claude-code': 'Claude Code',
14
15
  'cursor': 'Cursor',
15
16
  'copilot': 'GitHub Copilot (VS Code)',
16
17
  'codex': 'Codex CLI',
17
18
  };
19
+ /**
20
+ * Installable editors with no detected config footprint. Detection keys off
21
+ * config dirs the editor creates on FIRST LAUNCH (e.g. `~/.cursor`), so an
22
+ * editor that is installed but never opened comes back here — install should
23
+ * name these instead of silently skipping them (`--editor <name>` wires an
24
+ * editor regardless of footprint).
25
+ */
26
+ export function undetectedInstallableEditors() {
27
+ const detected = new Set(detectEditors().map(e => e.editor));
28
+ return INSTALLABLE_EDITORS.filter(e => !detected.has(e));
29
+ }
30
+ /**
31
+ * Best-effort: is the Cursor application present on this machine, even if it
32
+ * was never launched (no `~/.cursor` footprint yet)?
33
+ */
34
+ export function cursorAppInstalled() {
35
+ if (process.platform === 'darwin') {
36
+ return existsSync('/Applications/Cursor.app')
37
+ || existsSync(join(homedir(), 'Applications', 'Cursor.app'));
38
+ }
39
+ try {
40
+ execSync('command -v cursor', { stdio: 'ignore' });
41
+ return true;
42
+ }
43
+ catch { /* not on PATH */ }
44
+ return existsSync('/usr/share/applications/cursor.desktop')
45
+ || existsSync(join(homedir(), '.local', 'share', 'applications', 'cursor.desktop'));
46
+ }
18
47
  /** Config file path for `robrain install --editor`, even when the editor was not auto-detected. */
19
48
  export function editorConfigPath(editor) {
20
49
  const home = homedir();
@@ -110,16 +139,35 @@ export function resolveLlmProviderFromEnv(env = process.env) {
110
139
  // Mirrors @robrain/shared llm.ts — the CLI deliberately has no dependency on
111
140
  // shared so a bare `npx robrain install` needs no workspace build.
112
141
  export const DEFAULT_OPENAI_BASE_URL = 'https://api.openai.com/v1';
113
- /** Reads OPENAI_BASE_URL, normalized the same way as shared's resolveOpenAiBaseUrl. */
114
- export function resolveOpenAiBaseUrlFromEnv(env = process.env) {
115
- const raw = env.OPENAI_BASE_URL?.trim();
142
+ /** localhost → 127.0.0.1 (same contract as shared normalizeLoopbackUrl). */
143
+ function normalizeLoopbackUrl(url) {
144
+ try {
145
+ const parsed = new URL(url);
146
+ if (parsed.hostname === 'localhost') {
147
+ parsed.hostname = '127.0.0.1';
148
+ return parsed.toString().replace(/\/$/, '');
149
+ }
150
+ }
151
+ catch {
152
+ // leave unparseable input as-is
153
+ }
154
+ return url;
155
+ }
156
+ /**
157
+ * Reads OPENAI_BASE_URL (or OPENAI_HOST_BASE_URL when preferHost), matching
158
+ * shared's resolveOpenAiBaseUrl.
159
+ */
160
+ export function resolveOpenAiBaseUrlFromEnv(env = process.env, options = {}) {
161
+ const raw = options.preferHost
162
+ ? (env.OPENAI_HOST_BASE_URL?.trim() || env.OPENAI_BASE_URL?.trim())
163
+ : env.OPENAI_BASE_URL?.trim();
116
164
  if (!raw)
117
165
  return DEFAULT_OPENAI_BASE_URL;
118
- return raw.replace(/\/+$/, '');
166
+ return normalizeLoopbackUrl(raw.replace(/\/+$/, ''));
119
167
  }
120
- /** True when OPENAI_BASE_URL points at a local OpenAI-compatible server (Ollama / LM Studio / vLLM) — OPENAI_API_KEY is optional then. */
168
+ /** True when a local OpenAI-compatible server URL is configured (host or Docker). */
121
169
  export function usingLocalOpenAi(env = process.env) {
122
- return resolveOpenAiBaseUrlFromEnv(env) !== DEFAULT_OPENAI_BASE_URL;
170
+ return resolveOpenAiBaseUrlFromEnv(env, { preferHost: true }) !== DEFAULT_OPENAI_BASE_URL;
123
171
  }
124
172
  /** Env vars for robrain-sensing — shared by JSON MCP configs and Codex TOML. */
125
173
  export function buildSensingMcpEnv(opts) {
@@ -151,9 +199,12 @@ export function buildSensingMcpEnv(opts) {
151
199
  : (opts.openaiKey?.trim() ?? '');
152
200
  if (opts.openaiBaseUrl)
153
201
  env.OPENAI_BASE_URL = opts.openaiBaseUrl;
202
+ if (opts.openaiHostBaseUrl)
203
+ env.OPENAI_HOST_BASE_URL = opts.openaiHostBaseUrl;
154
204
  // Keyless is only valid against a local base URL — without one, keep
155
205
  // writing the (possibly empty) key so a misconfigured install stays visible.
156
- if (openaiKey || !opts.openaiBaseUrl)
206
+ const hasLocalUrl = Boolean(opts.openaiBaseUrl || opts.openaiHostBaseUrl);
207
+ if (openaiKey || !hasLocalUrl)
157
208
  env.OPENAI_API_KEY = openaiKey;
158
209
  }
159
210
  return env;
@@ -315,6 +366,34 @@ export function writeCodexMcpConfig(configPath, opts) {
315
366
  // ── RoBrain instruction text (CLAUDE.md, AGENTS.md, Cursor rule) ─
316
367
  const ROBRAIN_MARKER_START = '<!-- robrain -->';
317
368
  const ROBRAIN_MARKER_END = '<!-- /robrain -->';
369
+ /** Control tools removed 2026-07-23 — an instruction block naming any of these is stale. */
370
+ export const REMOVED_CONTROL_TOOLS = [
371
+ 'control_get_session_context',
372
+ 'control_inject_context',
373
+ 'control_add_rule',
374
+ 'control_end_session',
375
+ ];
376
+ /**
377
+ * True when a project instruction file references a Control tool that no longer
378
+ * exists. Intended for AGENTS.md / CLAUDE.md / `.cursor/rules/robrain.mdc`.
379
+ *
380
+ * Scan scope:
381
+ * - Marked block present (start+end): only the marker-bounded region (changelog
382
+ * mentions outside the block are never false positives).
383
+ * - Start marker without end: from start to EOF (broken managed block — still warn).
384
+ * - No markers: whole file (legacy blocks written before markers existed).
385
+ */
386
+ export function roBrainBlockReferencesRemovedTools(fileContent) {
387
+ const start = fileContent.indexOf(ROBRAIN_MARKER_START);
388
+ if (start !== -1) {
389
+ const end = fileContent.indexOf(ROBRAIN_MARKER_END, start);
390
+ const block = end === -1
391
+ ? fileContent.slice(start)
392
+ : fileContent.slice(start, end + ROBRAIN_MARKER_END.length);
393
+ return REMOVED_CONTROL_TOOLS.some(t => block.includes(t));
394
+ }
395
+ return REMOVED_CONTROL_TOOLS.some(t => fileContent.includes(t));
396
+ }
318
397
  /** Shared body for CLAUDE.md, AGENTS.md, and `.cursor/rules/robrain.mdc` (keep in sync). */
319
398
  function roBrainInstructionsMarkdown(projectId, mode) {
320
399
  if (mode === 'sensing-only') {
@@ -345,52 +424,57 @@ sensing_end_session(session_id="<stored session_id>", summary="one sentence: wha
345
424
  \`\`\`
346
425
  `;
347
426
  }
348
- return `## RoBrain — Context Management
427
+ return `## RoBrain — Context Management (Rory Plans cloud)
349
428
 
350
- This project uses RoBrain for persistent institutional memory across sessions.
351
- Call these tools as instructed to maintain causal memory of decisions.
429
+ This project uses RoBrain for persistent institutional memory across sessions:
430
+ **Sensing** captures your turns, **Control** injects prior decisions and pre-task
431
+ veto warnings. Pass \`project_id="${projectId}"\` on every Control call (it is your
432
+ registered project id — do not substitute a guess or the repo name).
352
433
 
353
- ### Session start (every session, first thing)
434
+ ### Session start (mandatory, first thing in every new chat)
435
+ \`sensing_start_session\` returns a \`session_id\` — reuse it on every call below.
354
436
  \`\`\`
355
437
  sensing_start_session(project_id="${projectId}")
356
- control_get_session_context(project_id="${projectId}", session_id="<same session_id as sensing_start_session response>")
438
+ control_get_context(project_id="${projectId}", task_description="session start - project overview", session_id="<session_id from sensing_start_session>")
357
439
  \`\`\`
358
- Inject the always_on_summary returned by control_get_session_context into your context.
440
+ Inject the block control_get_context returns into your context.
359
441
 
360
- ### After every response
442
+ ### After every response (mandatory)
361
443
  \`\`\`
362
- sensing_record_turn(session_id=..., sequence=<n>, user_message=..., claude_reply="<assistant reply>", files_touched=[...], injected_memory_ids=[...])
444
+ sensing_record_turn(session_id="<stored session_id>", sequence=<n>, user_message="<full user message>", claude_reply="<full assistant reply>", files_touched=[...], injected_memory_ids=[...])
363
445
  \`\`\`
364
446
  (\`claude_reply\` is the required MCP parameter name for the assistant reply.)
365
- If topic_shift=true is returned, immediately call:
447
+ If topic_shift=true is returned, call control_get_context again for the new task.
448
+
449
+ ### At every task boundary (new task, plan step, or topic shift)
366
450
  \`\`\`
367
- control_inject_context(project_id="${projectId}", session_id=..., task_description=..., files_in_scope=[...])
451
+ control_get_context(project_id="${projectId}", task_description="<what you are about to do>", files=[...], session_id="<stored session_id>")
368
452
  \`\`\`
369
453
 
370
- ### When you need deeper context
454
+ ### Before implementing any architectural or design choice
371
455
  \`\`\`
372
- control_get_context(project_id="${projectId}", session_id=..., query=..., files_relevant=[...])
456
+ control_check_task(project_id="${projectId}", proposed_approach="<the choice, one sentence>", files=[...])
373
457
  \`\`\`
374
458
 
375
- ### When prior context is wrong or outdated
459
+ ### When the user confirms, rejects, or corrects a surfaced decision
376
460
  \`\`\`
377
- control_record_correction(session_id=..., decision_id=..., source="user_correction"|"claude_disagreement", invalidate=true)
461
+ control_record_correction(decision_id="<id from an injected memory or verdict>", action="approve"|"invalidate"|"edit", corrected_decision="...", corrected_rationale="...")
378
462
  \`\`\`
379
463
 
380
- ### When user adds a rule
464
+ ### After a reply that followed an injection (closes the effectiveness loop)
381
465
  \`\`\`
382
- control_add_rule(project_id="${projectId}", rule="...", type="always_include"|"always_exclude"|"preference")
466
+ control_report_reply(session_id="<stored session_id>", sequence=<n>, reply_text="<full assistant reply>")
383
467
  \`\`\`
384
468
 
385
469
  ### Session end (last thing)
386
470
  \`\`\`
387
- sensing_end_session(session_id=..., summary="one sentence: what was accomplished")
388
- control_end_session(project_id="${projectId}", session_id=...)
471
+ sensing_end_session(session_id="<stored session_id>", summary="one sentence: what was accomplished")
389
472
  \`\`\`
390
473
 
391
474
  ### Acknowledgement rule
392
- When injected context contains a question marked ⚠, you must explicitly state
393
- whether the constraint applies to the current task before proceeding.
475
+ When a control_get_context or control_check_task result leads with "⚠ ACKNOWLEDGEMENT
476
+ REQUIRED", present the warning to the user verbatim, ask for explicit confirmation,
477
+ and do NOT proceed with the conflicting approach until the user responds.
394
478
  `;
395
479
  }
396
480
  function roBrainMarkedBlock(projectId, mode) {
@@ -1 +1 @@
1
- {"version":3,"file":"editor.js","sourceRoot":"","sources":["../../src/lib/editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor.js","sourceRoot":"","sources":["../../src/lib/editor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=editor.stale-block.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor.stale-block.test.d.ts","sourceRoot":"","sources":["../../src/lib/editor.stale-block.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,61 @@
1
+ import { test } from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import { roBrainBlockReferencesRemovedTools, REMOVED_CONTROL_TOOLS } from './editor.js';
4
+ const MARK_START = '<!-- robrain -->';
5
+ const MARK_END = '<!-- /robrain -->';
6
+ test('flags a marked block that names a removed Control tool', () => {
7
+ const content = `# AGENTS.md
8
+ ${MARK_START}
9
+ ## RoBrain
10
+ control_get_session_context(project_id="x", session_id="y")
11
+ ${MARK_END}
12
+ `;
13
+ assert.equal(roBrainBlockReferencesRemovedTools(content), true);
14
+ });
15
+ test('current block (real tools only) is not flagged', () => {
16
+ const content = `${MARK_START}
17
+ control_get_context(project_id="x", task_description="t", session_id="s")
18
+ control_check_task(project_id="x", proposed_approach="p")
19
+ control_record_correction(decision_id="d", action="approve")
20
+ control_report_reply(session_id="s", sequence=1, reply_text="r")
21
+ ${MARK_END}
22
+ `;
23
+ assert.equal(roBrainBlockReferencesRemovedTools(content), false);
24
+ });
25
+ test('a removed-tool mention OUTSIDE the marked block is not a false positive', () => {
26
+ const content = `# Changelog
27
+ - Removed control_add_rule and control_end_session in 2.4.5.
28
+
29
+ ${MARK_START}
30
+ control_get_context(project_id="x", task_description="t")
31
+ ${MARK_END}
32
+ `;
33
+ assert.equal(roBrainBlockReferencesRemovedTools(content), false);
34
+ });
35
+ test('start marker without end still flags removed tools in the truncated block', () => {
36
+ const content = `# AGENTS.md
37
+ ${MARK_START}
38
+ ## RoBrain
39
+ control_inject_context(project_id="x")
40
+ `;
41
+ assert.equal(roBrainBlockReferencesRemovedTools(content), true);
42
+ });
43
+ test('start marker without end does not flag when only current tools remain', () => {
44
+ const content = `${MARK_START}
45
+ control_get_context(project_id="x", task_description="t")
46
+ `;
47
+ assert.equal(roBrainBlockReferencesRemovedTools(content), false);
48
+ });
49
+ test('unmarked legacy instruction file naming a removed tool is flagged', () => {
50
+ // Pre-marker AGENTS.md / CLAUDE.md blocks — doctor only runs this on those files.
51
+ assert.equal(roBrainBlockReferencesRemovedTools('## RoBrain\ncontrol_get_session_context(project_id="x")\n'), true);
52
+ });
53
+ test('unrelated text with no removed tool names is not flagged', () => {
54
+ assert.equal(roBrainBlockReferencesRemovedTools('nothing relevant here'), false);
55
+ });
56
+ test('all four removed tool names are detected', () => {
57
+ for (const tool of REMOVED_CONTROL_TOOLS) {
58
+ assert.equal(roBrainBlockReferencesRemovedTools(`${MARK_START}\n${tool}(...)\n${MARK_END}`), true, `expected ${tool} to be flagged`);
59
+ }
60
+ });
61
+ //# sourceMappingURL=editor.stale-block.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor.stale-block.test.js","sourceRoot":"","sources":["../../src/lib/editor.stale-block.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,MAAM,MAAM,oBAAoB,CAAA;AACvC,OAAO,EAAE,kCAAkC,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAEvF,MAAM,UAAU,GAAG,kBAAkB,CAAA;AACrC,MAAM,QAAQ,GAAK,mBAAmB,CAAA;AAEtC,IAAI,CAAC,wDAAwD,EAAE,GAAG,EAAE;IAClE,MAAM,OAAO,GAAG;EAChB,UAAU;;;EAGV,QAAQ;CACT,CAAA;IACC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAA;AACjE,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,gDAAgD,EAAE,GAAG,EAAE;IAC1D,MAAM,OAAO,GAAG,GAAG,UAAU;;;;;EAK7B,QAAQ;CACT,CAAA;IACC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAA;AAClE,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,yEAAyE,EAAE,GAAG,EAAE;IACnF,MAAM,OAAO,GAAG;;;EAGhB,UAAU;;EAEV,QAAQ;CACT,CAAA;IACC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAA;AAClE,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,2EAA2E,EAAE,GAAG,EAAE;IACrF,MAAM,OAAO,GAAG;EAChB,UAAU;;;CAGX,CAAA;IACC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAA;AACjE,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,uEAAuE,EAAE,GAAG,EAAE;IACjF,MAAM,OAAO,GAAG,GAAG,UAAU;;CAE9B,CAAA;IACC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAA;AAClE,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,mEAAmE,EAAE,GAAG,EAAE;IAC7E,kFAAkF;IAClF,MAAM,CAAC,KAAK,CACV,kCAAkC,CAAC,2DAA2D,CAAC,EAC/F,IAAI,CACL,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,0DAA0D,EAAE,GAAG,EAAE;IACpE,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,uBAAuB,CAAC,EAAE,KAAK,CAAC,CAAA;AAClF,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;IACpD,KAAK,MAAM,IAAI,IAAI,qBAAqB,EAAE,CAAC;QACzC,MAAM,CAAC,KAAK,CACV,kCAAkC,CAAC,GAAG,UAAU,KAAK,IAAI,UAAU,QAAQ,EAAE,CAAC,EAC9E,IAAI,EACJ,YAAY,IAAI,gBAAgB,CACjC,CAAA;IACH,CAAC;AACH,CAAC,CAAC,CAAA"}
@@ -1,5 +1,13 @@
1
1
  /** Merge `.env` into `process.env` for CLI commands (install, inject, status, ...). */
2
2
  export declare function loadCliEnv(repoRoot?: string): void;
3
+ /**
4
+ * `robrain up` writes the host-side DATABASE_URL (+ provider keys) into
5
+ * ~/.robrain/stack/.env. Fill vars still unset/empty in `env` from it so
6
+ * no-clone flows (`robrain up` then `robrain synth`) work without exporting
7
+ * anything. Shell exports and repo/cwd `.env` keep priority — loadCliEnv
8
+ * runs first and this only fills the gaps.
9
+ */
10
+ export declare function applyStackEnvFallback(env: NodeJS.ProcessEnv, stackEnvPath?: string): void;
3
11
  /**
4
12
  * When running the CLI from a git checkout (e.g. `node packages/cli/bin/robrain.js`),
5
13
  * find that checkout's root so repo `.env` matches `pnpm docker:up` / docker-compose.
@@ -1 +1 @@
1
- {"version":3,"file":"load-env.d.ts","sourceRoot":"","sources":["../../src/lib/load-env.ts"],"names":[],"mappings":"AAwCA,uFAAuF;AACvF,wBAAgB,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAIlD;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,IAAI,MAAM,GAAG,SAAS,CAclE;AAED,6FAA6F;AAC7F,wBAAgB,+BAA+B,IAAI,MAAM,GAAG,SAAS,CASpE;AAED,yFAAyF;AACzF,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAO/E"}
1
+ {"version":3,"file":"load-env.d.ts","sourceRoot":"","sources":["../../src/lib/load-env.ts"],"names":[],"mappings":"AAiDA,uFAAuF;AACvF,wBAAgB,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAIlD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,YAAY,SAA+C,GAC1D,IAAI,CAON;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,IAAI,MAAM,GAAG,SAAS,CAclE;AAED,6FAA6F;AAC7F,wBAAgB,+BAA+B,IAAI,MAAM,GAAG,SAAS,CASpE;AAED,yFAAyF;AACzF,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAO/E"}