robrain 2.4.11 → 2.6.0

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 (45) hide show
  1. package/dist/commands/capture.d.ts +96 -0
  2. package/dist/commands/capture.d.ts.map +1 -0
  3. package/dist/commands/capture.js +356 -0
  4. package/dist/commands/capture.js.map +1 -0
  5. package/dist/commands/capture.test.d.ts +2 -0
  6. package/dist/commands/capture.test.d.ts.map +1 -0
  7. package/dist/commands/capture.test.js +105 -0
  8. package/dist/commands/capture.test.js.map +1 -0
  9. package/dist/commands/check.d.ts +5 -0
  10. package/dist/commands/check.d.ts.map +1 -1
  11. package/dist/commands/check.js +15 -0
  12. package/dist/commands/check.js.map +1 -1
  13. package/dist/commands/governance.d.ts +32 -0
  14. package/dist/commands/governance.d.ts.map +1 -0
  15. package/dist/commands/governance.js +181 -0
  16. package/dist/commands/governance.js.map +1 -0
  17. package/dist/commands/governance.test.d.ts +2 -0
  18. package/dist/commands/governance.test.d.ts.map +1 -0
  19. package/dist/commands/governance.test.js +42 -0
  20. package/dist/commands/governance.test.js.map +1 -0
  21. package/dist/commands/install.js +2 -2
  22. package/dist/commands/install.js.map +1 -1
  23. package/dist/commands/projects.d.ts +40 -0
  24. package/dist/commands/projects.d.ts.map +1 -1
  25. package/dist/commands/projects.js +168 -2
  26. package/dist/commands/projects.js.map +1 -1
  27. package/dist/commands/review.d.ts.map +1 -1
  28. package/dist/commands/review.js +6 -4
  29. package/dist/commands/review.js.map +1 -1
  30. package/dist/commands/search.d.ts +34 -0
  31. package/dist/commands/search.d.ts.map +1 -0
  32. package/dist/commands/search.js +100 -0
  33. package/dist/commands/search.js.map +1 -0
  34. package/dist/commands/search.test.d.ts +2 -0
  35. package/dist/commands/search.test.d.ts.map +1 -0
  36. package/dist/commands/search.test.js +43 -0
  37. package/dist/commands/search.test.js.map +1 -0
  38. package/dist/index.js +119 -2
  39. package/dist/index.js.map +1 -1
  40. package/package.json +2 -2
  41. package/vendor/codex-hooks/user-prompt-submit.mjs +14 -1
  42. package/vendor/sensing-mcp/dist/index.js +430 -95
  43. package/vendor/sensing-mcp/package.json +1 -1
  44. package/vendor/synthesis/dist/index.js +317 -16
  45. package/vendor/synthesis/package.json +1 -1
@@ -5,7 +5,7 @@
5
5
  // ─────────────────────────────────────────────────────────────
6
6
  import chalk from 'chalk';
7
7
  import { normalizeLoopbackUrl, readConfig } from '../lib/config.js';
8
- function perceptionEndpoint() {
8
+ export function perceptionEndpoint() {
9
9
  const config = readConfig();
10
10
  const url = normalizeLoopbackUrl(config.perceptionUrl ??
11
11
  process.env.PERCEPTION_URL ??
@@ -13,12 +13,178 @@ function perceptionEndpoint() {
13
13
  const key = config.perceptionKey ?? process.env.PERCEPTION_API_KEY ?? '';
14
14
  return { url, key };
15
15
  }
16
- function exitUnreachable(url, err) {
16
+ export function exitUnreachable(url, err) {
17
17
  console.log(chalk.red(' ✗ Perception is unreachable'));
18
18
  console.log(chalk.dim(` ${url} — ${err instanceof Error ? err.message : String(err)}`));
19
19
  console.log(chalk.dim(' Start it with ') + chalk.cyan('npx robrain up') + chalk.dim(' (or pnpm docker:up from a clone).\n'));
20
20
  process.exit(1);
21
21
  }
22
+ /** Project ids are [a-z0-9._-], 2 to 200 chars; the same folding the install path applies. */
23
+ export function normalizeProjectId(raw) {
24
+ const id = raw.trim().toLowerCase();
25
+ return /^[a-z0-9][a-z0-9._-]{1,199}$/.test(id) ? id : null;
26
+ }
27
+ /**
28
+ * robrain projects create <id> [--name <name>]
29
+ * A project that is not derived from a repository: one a team shares across
30
+ * several repos, or one per team inside an org. Upserts on both editions
31
+ * (POST /projects); on RoBrain cloud the project belongs to the caller's org.
32
+ */
33
+ export async function projectsCreateCommand(rawId, opts) {
34
+ console.log();
35
+ const id = normalizeProjectId(rawId);
36
+ if (!id) {
37
+ console.log(chalk.red(` ✗ "${rawId}" is not a valid project id (letters, digits, . _ -, 2 to 200 characters).\n`));
38
+ process.exit(1);
39
+ }
40
+ const name = opts.name?.trim() || id;
41
+ const tags = normalizeTags(opts.tag ?? []);
42
+ const { url, key } = perceptionEndpoint();
43
+ const res = await fetch(`${url}/projects`, {
44
+ method: 'POST',
45
+ headers: { 'Content-Type': 'application/json', ...(key ? { Authorization: `Bearer ${key}` } : {}) },
46
+ body: JSON.stringify({ id, name, type: 'coding', ...(tags.length ? { tags } : {}) }),
47
+ }).catch((err) => exitUnreachable(url, err));
48
+ const payload = await res.json().catch(() => ({}));
49
+ if (res.status === 409) {
50
+ console.log(chalk.red(` ✗ Project id "${id}" belongs to another org. Pick a different id.\n`));
51
+ process.exit(1);
52
+ }
53
+ if (!res.ok) {
54
+ console.log(chalk.red(` ✗ Could not create project (${res.status})`) + chalk.dim(` ${payload.message ?? payload.error ?? ''}\n`));
55
+ process.exit(1);
56
+ }
57
+ console.log(chalk.green(' ✓ Project ready') + chalk.dim(` ${id} (${name})${payload.tags?.length ? ` · tags: ${payload.tags.join(', ')}` : ''}`));
58
+ console.log(chalk.dim(' Use it from any repo with ') + chalk.cyan(`ROBRAIN_PROJECT_ID=${id}`) + chalk.dim(' or --project-id on capture, search and rules commands.\n'));
59
+ }
60
+ /** Tags are letters, digits, _ and -, at most 10; invalid ones are dropped with a note. */
61
+ export function normalizeTags(raw) {
62
+ const out = [];
63
+ for (const item of raw) {
64
+ for (const piece of item.split(',')) {
65
+ const tag = piece.trim().toLowerCase();
66
+ if (!tag)
67
+ continue;
68
+ if (!/^[a-z0-9][a-z0-9_-]{0,39}$/.test(tag)) {
69
+ console.log(chalk.yellow(` Skipping tag "${piece.trim()}": letters, digits, _ and -, at most 40 characters.`));
70
+ continue;
71
+ }
72
+ if (!out.includes(tag) && out.length < 10)
73
+ out.push(tag);
74
+ }
75
+ }
76
+ return out;
77
+ }
78
+ function printProjectTags(id, t) {
79
+ const line = (label, items) => chalk.dim(` ${label.padEnd(10)}`) + (items.length ? items.join(', ') : chalk.dim('(none)'));
80
+ console.log(chalk.green(' ✓ Tags') + chalk.dim(` ${id}: `) + (t.tags.length ? t.tags.join(', ') : chalk.dim('(none)')));
81
+ console.log(line('declared', t.declared_tags));
82
+ console.log(line('from tools', t.derived_tags));
83
+ if (t.suppressed_tags.length)
84
+ console.log(line('removed', t.suppressed_tags));
85
+ const tools = Object.entries(t.observed_tools ?? {}).sort((a, b) => b[1] - a[1]).slice(0, 8);
86
+ if (tools.length)
87
+ console.log(chalk.dim(` tools ${tools.map(([n, c]) => `${n} ×${c}`).join(', ')}`));
88
+ console.log(chalk.dim(' Push a rule to this kind of agent with robrain promote <decision-id> --to tag:<tag>\n'));
89
+ }
90
+ /**
91
+ * robrain projects tag <id> [tags...] [--suppress <tag>]... [--unsuppress <tag>]...
92
+ * RoBrain cloud. A project's effective tags are the declared ones (set
93
+ * here, or by the developer at registration), plus the ones the org's
94
+ * tool→tag mapping derives from the tools the agent uses, minus the ones
95
+ * an admin removed. Changing a production agent's tags needs an admin.
96
+ * Self-hosted Perception has no tags (one project by decision).
97
+ */
98
+ export async function projectsTagCommand(rawId, rawTags, opts = {}) {
99
+ console.log();
100
+ const id = rawId.trim();
101
+ const { url, key } = perceptionEndpoint();
102
+ const headers = { 'Content-Type': 'application/json', ...(key ? { Authorization: `Bearer ${key}` } : {}) };
103
+ const nothingToChange = rawTags.length === 0 && !opts.suppress?.length && !opts.unsuppress?.length;
104
+ const body = {};
105
+ if (rawTags.length)
106
+ body.tags = normalizeTags(rawTags);
107
+ if (opts.suppress?.length)
108
+ body.suppress = normalizeTags(opts.suppress);
109
+ if (opts.unsuppress?.length)
110
+ body.unsuppress = normalizeTags(opts.unsuppress);
111
+ const res = await fetch(`${url}/projects/${encodeURIComponent(id)}/tags`, nothingToChange || opts.show
112
+ ? { headers }
113
+ : { method: 'PUT', headers, body: JSON.stringify(body) }).catch((err) => exitUnreachable(url, err));
114
+ const payload = await res.json().catch(() => ({}));
115
+ if (res.status === 404 && !payload.error) {
116
+ console.log(chalk.yellow(' Tags are a RoBrain cloud feature; this self-hosted Perception keeps one project and has none.\n'));
117
+ process.exit(1);
118
+ }
119
+ if (res.status === 403) {
120
+ console.log(chalk.red(' ✗ Only an org admin can change the tags of a production agent.\n'));
121
+ process.exit(1);
122
+ }
123
+ if (!res.ok) {
124
+ console.log(chalk.red(` ✗ Could not ${nothingToChange ? 'read' : 'set'} tags (${res.status})`) + chalk.dim(` ${payload.message ?? payload.error ?? ''}\n`));
125
+ process.exit(1);
126
+ }
127
+ printProjectTags(id, {
128
+ tags: payload.tags ?? [], declared_tags: payload.declared_tags ?? [], derived_tags: payload.derived_tags ?? [],
129
+ suppressed_tags: payload.suppressed_tags ?? [], observed_tools: payload.observed_tools ?? {},
130
+ });
131
+ }
132
+ /**
133
+ * robrain tags map list the org's tool→tag mapping
134
+ * robrain tags map add <pattern> <tag> e.g. "send_email*" email
135
+ * robrain tags map remove <pattern> <tag>
136
+ * RoBrain cloud, admins. A tag is derived for an agent once a tool matching
137
+ * a pattern has been used in three turns (or was declared with the agent).
138
+ */
139
+ export async function tagsMapCommand(action, pattern, tag) {
140
+ console.log();
141
+ const { url, key } = perceptionEndpoint();
142
+ const headers = { 'Content-Type': 'application/json', ...(key ? { Authorization: `Bearer ${key}` } : {}) };
143
+ const getRes = await fetch(`${url}/org/tag-rules`, { headers }).catch((err) => exitUnreachable(url, err));
144
+ const current = await getRes.json().catch(() => ({}));
145
+ if (getRes.status === 404 && !current.error) {
146
+ console.log(chalk.yellow(' The tool→tag mapping is a RoBrain cloud feature; self-hosted Perception has none.\n'));
147
+ process.exit(1);
148
+ }
149
+ if (!getRes.ok) {
150
+ console.log(chalk.red(` ✗ Could not read the mapping (${getRes.status})\n`));
151
+ process.exit(1);
152
+ }
153
+ let rules = current.rules ?? [];
154
+ if (action !== 'list') {
155
+ const p = (pattern ?? '').trim().toLowerCase();
156
+ const t = normalizeTags([tag ?? ''])[0];
157
+ if (!p || !t) {
158
+ console.log(chalk.red(` ✗ Usage: robrain tags map ${action} "<tool pattern>" <tag> e.g. "send_email*" email\n`));
159
+ process.exit(1);
160
+ }
161
+ rules = action === 'add'
162
+ ? [...rules.filter(r => !(r.pattern === p && r.tag === t)), { pattern: p, tag: t }]
163
+ : rules.filter(r => !(r.pattern === p && r.tag === t));
164
+ const putRes = await fetch(`${url}/org/tag-rules`, { method: 'PUT', headers, body: JSON.stringify({ rules }) })
165
+ .catch((err) => exitUnreachable(url, err));
166
+ const saved = await putRes.json().catch(() => ({}));
167
+ if (putRes.status === 403) {
168
+ console.log(chalk.red(' ✗ Only an org admin can change the tool→tag mapping.\n'));
169
+ process.exit(1);
170
+ }
171
+ if (!putRes.ok) {
172
+ console.log(chalk.red(` ✗ Could not save the mapping (${putRes.status})`) + chalk.dim(` ${saved.message ?? saved.error ?? ''}\n`));
173
+ process.exit(1);
174
+ }
175
+ if (saved.dropped)
176
+ console.log(chalk.yellow(` ${saved.dropped} malformed rule(s) were dropped (tool patterns: letters, digits, . _ : / - and *).`));
177
+ rules = saved.rules ?? rules;
178
+ }
179
+ if (!rules.length) {
180
+ console.log(chalk.dim(' No tool→tag mapping yet. Add one with: robrain tags map add "send_email*" email\n'));
181
+ return;
182
+ }
183
+ console.log(chalk.bold(' Tool → tag mapping') + chalk.dim(` (a tag applies after a matching tool was used in ${current.use_threshold ?? 3} turns)`));
184
+ for (const r of rules)
185
+ console.log(` ${r.pattern.padEnd(28)} → ${r.tag}`);
186
+ console.log();
187
+ }
22
188
  export async function projectsListCommand() {
23
189
  console.log();
24
190
  const { url, key } = perceptionEndpoint();
@@ -1 +1 @@
1
- {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/commands/projects.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,gEAAgE;AAChE,iEAAiE;AACjE,8DAA8D;AAC9D,gEAAgE;AAEhE,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAEnE,SAAS,kBAAkB;IACzB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;IAC3B,MAAM,GAAG,GAAG,oBAAoB,CAC9B,MAAM,CAAC,aAAa;QACpB,OAAO,CAAC,GAAG,CAAC,cAAc;QAC1B,uBAAuB,CACxB,CAAA;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAA;IACxE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;AACrB,CAAC;AAED,SAAS,eAAe,CAAC,GAAW,EAAE,GAAY;IAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAA;IACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IACxF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC,CAAA;IAC7H,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,kBAAkB,EAAE,CAAA;IACzC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,WAAW,EAAE;QACzC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE;KACvD,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;IAErD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;QAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAAA;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAQ1B,CAAA;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAA;IAChC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAA;QAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAA;QAC7G,OAAM;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAA;IACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAA;IACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IACvD,OAAO,CAAC,GAAG,CACT,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CACrF,CAAA;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACnD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAChI,CAAA;IACH,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+FAA+F,CAAC,CAAC,CAAA;IACvH,OAAO,CAAC,GAAG,EAAE,CAAA;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAc,EAAE,IAAY;IACrE,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAEzC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,iBAAiB,EAAE;QAC/C,MAAM,EAAG,MAAM;QACf,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnD;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;KACjD,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;IAErD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;IAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC1D,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAyD,CAAA;YACjF,IAAI,CAAC,CAAC,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;YAC1D,IAAI,CAAC,CAAC,IAAI;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YACjD,IAAI,CAAC,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;QAC3C,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IAC1F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC,CAAA;IACnF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yFAAyF,CAAC,CAAC,CAAA;IACjH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAA;AACzF,CAAC"}
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/commands/projects.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/commands/review.ts"],"names":[],"mappings":"AAoBA,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAM,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAI,MAAM,CAAA;CACjB;AAuCD,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAuRtE"}
1
+ {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/commands/review.ts"],"names":[],"mappings":"AAoBA,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAM,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAI,MAAM,CAAA;CACjB;AAyCD,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAyRtE"}
@@ -180,11 +180,13 @@ export async function reviewCommand(opts) {
180
180
  if (d.files_affected.length > 0) {
181
181
  console.log(chalk.dim(` files: `) + d.files_affected.slice(0, 3).join(', ') + (d.files_affected.length > 3 ? ` +${d.files_affected.length - 3} more` : ''));
182
182
  }
183
- // Provenance — which session/turn this decision was captured from
184
- if (d.session_id && (d.source_turn_sequence != null || d.source_excerpt)) {
185
- const turn = d.source_turn_sequence != null ? ` · turn ${d.source_turn_sequence}` : '';
183
+ // Provenance — who decided, and which session/turn it was captured from
184
+ if (d.session_id && (d.source_turn_sequence != null || d.source_excerpt || d.author_email)) {
185
+ const turn = d.source_turn_sequence != null && d.source !== 'manual' ? ` · turn ${d.source_turn_sequence}` : '';
186
186
  const excerpt = d.source_excerpt ? ` · "${truncateExcerpt(d.source_excerpt)}"` : '';
187
- console.log(chalk.dim(` from: session ${d.session_id.slice(0, 8)}${turn} · ${date}${excerpt}`));
187
+ const by = d.author_email ? ` · by ${d.author_email}` : '';
188
+ const origin = d.source === 'manual' ? 'written by hand' : `session ${d.session_id.slice(0, 8)}${turn}`;
189
+ console.log(chalk.dim(` from: ${origin} · ${date}${by}${excerpt}`));
188
190
  }
189
191
  // Quality stats — historical relevance + injection/usage counters
190
192
  if (typeof d.historical_relevance === 'number' || typeof d.injected_count === 'number') {
@@ -1 +1 @@
1
- {"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/commands/review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/commands/review.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ export interface SearchOptions {
2
+ limit?: number;
3
+ kind?: string;
4
+ projectId?: string;
5
+ json?: boolean;
6
+ }
7
+ /** Wire shape of GET /decisions?query= rows (fields older servers omit are optional). */
8
+ export interface SearchRow {
9
+ id: string;
10
+ decision: string;
11
+ rationale: string | null;
12
+ rejected: Array<{
13
+ option: string;
14
+ reason: string;
15
+ }>;
16
+ kind?: string;
17
+ subject?: string | null;
18
+ source?: string;
19
+ author_email?: string | null;
20
+ created_at: string;
21
+ reviewed_at?: string | null;
22
+ planning_score?: number;
23
+ similarity?: number;
24
+ /** Cloud only: agent projects this decision was pushed to. */
25
+ pushed_to?: Array<{
26
+ project_id: string;
27
+ project_name?: string | null;
28
+ promoted_at?: string;
29
+ }>;
30
+ }
31
+ /** Lines for one result, without colour, so the format is testable. */
32
+ export declare function formatSearchRow(row: SearchRow, index: number): string[];
33
+ export declare function searchCommand(query: string, opts: SearchOptions): Promise<void>;
34
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAM,MAAM,CAAA;IAClB,IAAI,CAAC,EAAO,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAO,OAAO,CAAA;CACpB;AAED,yFAAyF;AACzF,MAAM,WAAW,SAAS;IACxB,EAAE,EAAa,MAAM,CAAA;IACrB,QAAQ,EAAO,MAAM,CAAA;IACrB,SAAS,EAAM,MAAM,GAAG,IAAI,CAAA;IAC5B,QAAQ,EAAO,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACxD,IAAI,CAAC,EAAU,MAAM,CAAA;IACrB,OAAO,CAAC,EAAO,MAAM,GAAG,IAAI,CAAA;IAC5B,MAAM,CAAC,EAAQ,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,UAAU,EAAK,MAAM,CAAA;IACrB,WAAW,CAAC,EAAG,MAAM,GAAG,IAAI,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAI,MAAM,CAAA;IACrB,8DAA8D;IAC9D,SAAS,CAAC,EAAK,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACjG;AAQD,uEAAuE;AACvE,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAsBvE;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDrF"}
@@ -0,0 +1,100 @@
1
+ // packages/cli/src/commands/search.ts
2
+ // ─────────────────────────────────────────────────────────────
3
+ // robrain search <query> [--limit N] [--kind <name>] [--project-id <id>] [--json]
4
+ //
5
+ // Semantic search over the project's stored memory, for people: the
6
+ // same ranking `robrain inject` uses (similarity, file overlap, recency,
7
+ // approval), printed with who decided each row and when, and on RoBrain
8
+ // cloud which agents a decision was pushed to. Read-only.
9
+ // ─────────────────────────────────────────────────────────────
10
+ import chalk from 'chalk';
11
+ import { cwd } from 'process';
12
+ import { gatherProjectInfo } from '../lib/project.js';
13
+ import { exitUnreachable, perceptionEndpoint } from './projects.js';
14
+ function day(iso) {
15
+ if (!iso)
16
+ return '';
17
+ const d = new Date(iso);
18
+ return Number.isNaN(d.getTime()) ? '' : d.toISOString().slice(0, 10);
19
+ }
20
+ /** Lines for one result, without colour, so the format is testable. */
21
+ export function formatSearchRow(row, index) {
22
+ const tags = [];
23
+ if (row.reviewed_at)
24
+ tags.push('approved');
25
+ if (row.kind && row.kind !== 'decision')
26
+ tags.push(row.subject ? `${row.kind}: ${row.subject}` : row.kind);
27
+ if (row.source === 'manual')
28
+ tags.push('written by hand');
29
+ if (row.source === 'promoted')
30
+ tags.push('pushed from coding memory');
31
+ const tagSuffix = tags.length ? ` [${tags.join(', ')}]` : '';
32
+ const lines = [`[${index + 1}] ${row.id.slice(0, 8)} ${row.decision}${tagSuffix}`];
33
+ if (row.rationale)
34
+ lines.push(` because: ${row.rationale}`);
35
+ if (row.rejected?.length) {
36
+ lines.push(` rejected: ${row.rejected.map(r => `${r.option} (${r.reason})`).join(', ')}`);
37
+ }
38
+ const who = [row.author_email, day(row.created_at)].filter(Boolean).join(' · ');
39
+ if (who)
40
+ lines.push(` by: ${who}`);
41
+ if (row.pushed_to) {
42
+ const targets = row.pushed_to.length
43
+ ? row.pushed_to.map(t => t.project_name || t.project_id).join(', ')
44
+ : 'not pushed to any agent';
45
+ lines.push(` pushed: ${targets}`);
46
+ }
47
+ return lines;
48
+ }
49
+ export async function searchCommand(query, opts) {
50
+ const text = query.trim();
51
+ if (!text) {
52
+ console.log(chalk.red('\n ✗ Give the search a query, e.g. robrain search "confirm before sending"\n'));
53
+ process.exit(1);
54
+ }
55
+ const { url, key } = perceptionEndpoint();
56
+ const projectId = opts.projectId?.trim() || gatherProjectInfo(cwd()).id;
57
+ const params = new URLSearchParams({
58
+ project_id: projectId,
59
+ query: text,
60
+ limit: String(opts.limit && opts.limit > 0 ? Math.min(opts.limit, 100) : 10),
61
+ });
62
+ if (opts.kind)
63
+ params.set('kind', opts.kind);
64
+ let rows;
65
+ try {
66
+ const res = await fetch(`${url}/decisions?${params}`, { headers: { Authorization: `Bearer ${key}` } });
67
+ if (!res.ok) {
68
+ const body = await res.text();
69
+ console.log(chalk.red(`\n ✗ Search failed (${res.status})`));
70
+ console.log(chalk.dim(` ${body.slice(0, 300)}\n`));
71
+ process.exit(1);
72
+ }
73
+ // Perception answers { decisions: [...] }; a bare array is tolerated for older builds.
74
+ const payload = await res.json();
75
+ rows = Array.isArray(payload) ? payload : (payload.decisions ?? []);
76
+ }
77
+ catch (err) {
78
+ exitUnreachable(url, err);
79
+ }
80
+ if (opts.json) {
81
+ console.log(JSON.stringify(rows, null, 2));
82
+ return;
83
+ }
84
+ console.log();
85
+ if (!rows.length) {
86
+ console.log(chalk.dim(` Nothing in project ${projectId} matches "${text}".\n`));
87
+ return;
88
+ }
89
+ console.log(chalk.bold(` ${rows.length} result${rows.length === 1 ? '' : 's'} for "${text}"`) + chalk.dim(` · project ${projectId}`));
90
+ console.log();
91
+ rows.forEach((row, i) => {
92
+ const [head, ...rest] = formatSearchRow(row, i);
93
+ console.log(` ${chalk.bold(head)}`);
94
+ for (const line of rest)
95
+ console.log(chalk.dim(` ${line}`));
96
+ console.log();
97
+ });
98
+ console.log(chalk.dim(' Push one to your production agents on RoBrain cloud: robrain promote <id> --to production-agents\n'));
99
+ }
100
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=search.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.test.d.ts","sourceRoot":"","sources":["../../src/commands/search.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,43 @@
1
+ import { describe, it } from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import { formatSearchRow } from './search.js';
4
+ const base = {
5
+ id: 'a1b2c3d4e5f6',
6
+ decision: 'Use pgvector in Postgres for embeddings',
7
+ rationale: 'Postgres already in use',
8
+ rejected: [{ option: 'Pinecone', reason: 'per-namespace pricing' }],
9
+ kind: 'decision',
10
+ author_email: 'ade@roryplans.ai',
11
+ created_at: '2026-10-29T10:00:00.000Z',
12
+ reviewed_at: '2026-10-29T11:00:00.000Z',
13
+ };
14
+ describe('formatSearchRow', () => {
15
+ it('prints the decision, reasons, rejections and who decided', () => {
16
+ assert.deepEqual(formatSearchRow(base, 0), [
17
+ '[1] a1b2c3d4 Use pgvector in Postgres for embeddings [approved]',
18
+ ' because: Postgres already in use',
19
+ ' rejected: Pinecone (per-namespace pricing)',
20
+ ' by: ade@roryplans.ai · 2026-10-29',
21
+ ]);
22
+ });
23
+ it('shows only the date when the row has no author (saved before migration 010)', () => {
24
+ const lines = formatSearchRow({ ...base, author_email: null, reviewed_at: null, rejected: [], rationale: null }, 2);
25
+ assert.deepEqual(lines, [
26
+ '[3] a1b2c3d4 Use pgvector in Postgres for embeddings',
27
+ ' by: 2026-10-29',
28
+ ]);
29
+ });
30
+ it('labels other kinds, hand-written rules and pushed decisions', () => {
31
+ const lines = formatSearchRow({ ...base, kind: 'run', subject: 'nightly sync', source: 'manual', reviewed_at: null }, 0);
32
+ assert.equal(lines[0], '[1] a1b2c3d4 Use pgvector in Postgres for embeddings [run: nightly sync, written by hand]');
33
+ });
34
+ it('lists the agents a decision was pushed to, or says it was not pushed (cloud)', () => {
35
+ const pushed = formatSearchRow({ ...base, pushed_to: [{ project_id: 'p1', project_name: 'rory-agent' }, { project_id: 'p2' }] }, 0);
36
+ assert.equal(pushed.at(-1), ' pushed: rory-agent, p2');
37
+ const none = formatSearchRow({ ...base, pushed_to: [] }, 0);
38
+ assert.equal(none.at(-1), ' pushed: not pushed to any agent');
39
+ const oss = formatSearchRow(base, 0);
40
+ assert.equal(oss.some(l => l.includes('pushed:')), false);
41
+ });
42
+ });
43
+ //# sourceMappingURL=search.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.test.js","sourceRoot":"","sources":["../../src/commands/search.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,MAAM,MAAM,oBAAoB,CAAA;AACvC,OAAO,EAAE,eAAe,EAAkB,MAAM,aAAa,CAAA;AAE7D,MAAM,IAAI,GAAc;IACtB,EAAE,EAAY,cAAc;IAC5B,QAAQ,EAAM,yCAAyC;IACvD,SAAS,EAAK,yBAAyB;IACvC,QAAQ,EAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;IACvE,IAAI,EAAU,UAAU;IACxB,YAAY,EAAE,kBAAkB;IAChC,UAAU,EAAI,0BAA0B;IACxC,WAAW,EAAG,0BAA0B;CACzC,CAAA;AAED,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;YACzC,mEAAmE;YACnE,wCAAwC;YACxC,iDAAiD;YACjD,8CAA8C;SAC/C,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6EAA6E,EAAE,GAAG,EAAE;QACrF,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;QACnH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE;YACtB,uDAAuD;YACvD,2BAA2B;SAC5B,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;QACxH,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,6FAA6F,CAAC,CAAA;IACvH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;QACtF,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QACnI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,+BAA+B,CAAC,CAAA;QAC5D,MAAM,IAAI,GAAG,eAAe,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAC3D,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,wCAAwC,CAAC,CAAA;QACnE,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QACpC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}