memoire-ai 0.6.8 → 0.6.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.
@@ -1 +1 @@
1
- {"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../src/configure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../src/configure.ts"],"names":[],"mappings":"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"}
package/dist/configure.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { execFileSync } from 'node:child_process';
2
- import { createHash } from 'node:crypto';
2
+ import { createHash, randomUUID } from 'node:crypto';
3
3
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
4
4
  import { basename, dirname, join } from 'node:path';
5
5
  import { fileURLToPath } from 'node:url';
@@ -101,6 +101,10 @@ export async function install(opts, deps = {}) {
101
101
  console.warn = origWarn;
102
102
  }
103
103
  }
104
+ // Seed initial context so memory isn't empty on first run
105
+ await seedInitialContext(config, client, repoInfo.repoRoot ?? cwd, log, warn).catch((error) => {
106
+ warn(` Context seeding skipped: ${error instanceof Error ? error.message : 'unknown error'}`);
107
+ });
104
108
  if (!opts.quiet) {
105
109
  await playSuccessAnimation(opts.client);
106
110
  }
@@ -139,6 +143,111 @@ export async function init(opts, deps = {}) {
139
143
  }, deps);
140
144
  return created;
141
145
  }
146
+ /** Seed initial context from the repo so memory isn't empty on first run. */
147
+ async function seedInitialContext(config, client, repoRoot, log, _warn) {
148
+ if (!client.ingestEvents)
149
+ return;
150
+ const events = [];
151
+ const baseEvent = {
152
+ org_id: config.org_id,
153
+ project_id: config.project_id,
154
+ user_id: config.user_id,
155
+ session_id: `setup-${Date.now()}`,
156
+ client: config.client,
157
+ private: false,
158
+ };
159
+ function addEvent(type, content, concepts) {
160
+ events.push({
161
+ ...baseEvent,
162
+ event_type: type,
163
+ content,
164
+ concepts,
165
+ created_at: new Date().toISOString(),
166
+ idempotency_key: randomUUID(),
167
+ });
168
+ }
169
+ // 1. Read package.json for project metadata
170
+ try {
171
+ const pkgPath = join(repoRoot, 'package.json');
172
+ if (existsSync(pkgPath)) {
173
+ const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
174
+ const parts = [];
175
+ if (pkg.name)
176
+ parts.push(`Project: ${pkg.name}`);
177
+ if (pkg.description)
178
+ parts.push(`Description: ${pkg.description}`);
179
+ if (pkg.scripts)
180
+ parts.push(`Scripts: ${Object.keys(pkg.scripts).join(', ')}`);
181
+ const deps = [
182
+ ...Object.keys(pkg.dependencies ?? {}),
183
+ ...Object.keys(pkg.devDependencies ?? {}),
184
+ ];
185
+ if (deps.length > 0) {
186
+ const notable = deps.filter(d => !d.startsWith('@types/')).slice(0, 15);
187
+ parts.push(`Key dependencies: ${notable.join(', ')}`);
188
+ }
189
+ if (parts.length > 0) {
190
+ addEvent('observation', `Project setup detected:\n${parts.join('\n')}`, ['setup', 'dependencies', pkg.name].filter(Boolean));
191
+ }
192
+ }
193
+ }
194
+ catch { }
195
+ // 2. Read recent git history
196
+ try {
197
+ const gitLog = execFileSync('git', ['log', '--oneline', '-15', '--no-merges'], {
198
+ cwd: repoRoot, encoding: 'utf-8', timeout: 5000,
199
+ }).trim();
200
+ if (gitLog) {
201
+ addEvent('observation', `Recent git history:\n${gitLog}`, ['git', 'history']);
202
+ }
203
+ }
204
+ catch { }
205
+ // 3. Detect project structure conventions
206
+ try {
207
+ const structure = [];
208
+ const dirs = ['src', 'app', 'apps', 'packages', 'lib', 'components', 'pages', 'api', 'tests', '__tests__', 'scripts'];
209
+ for (const dir of dirs) {
210
+ if (existsSync(join(repoRoot, dir)))
211
+ structure.push(dir);
212
+ }
213
+ const configFiles = [];
214
+ const configs = [
215
+ 'tsconfig.json', '.eslintrc.json', '.prettierrc', 'next.config.js', 'next.config.ts',
216
+ 'vite.config.ts', 'tailwind.config.ts', 'docker-compose.yml', 'Dockerfile',
217
+ 'turbo.json', 'pnpm-workspace.yaml', 'lerna.json',
218
+ ];
219
+ for (const cfg of configs) {
220
+ if (existsSync(join(repoRoot, cfg)))
221
+ configFiles.push(cfg);
222
+ }
223
+ if (structure.length > 0 || configFiles.length > 0) {
224
+ const parts = [];
225
+ if (structure.length > 0)
226
+ parts.push(`Directories: ${structure.join(', ')}`);
227
+ if (configFiles.length > 0)
228
+ parts.push(`Config files: ${configFiles.join(', ')}`);
229
+ addEvent('convention', `Project structure:\n${parts.join('\n')}`, ['structure', 'conventions']);
230
+ }
231
+ }
232
+ catch { }
233
+ // 4. Check for existing conventions files
234
+ try {
235
+ const conventionFiles = ['.cursorrules', '.cursor/rules', 'CLAUDE.md', 'AGENTS.md', 'CONVENTIONS.md'];
236
+ const found = [];
237
+ for (const f of conventionFiles) {
238
+ if (existsSync(join(repoRoot, f)))
239
+ found.push(f);
240
+ }
241
+ if (found.length > 0) {
242
+ addEvent('observation', `Existing convention files found: ${found.join(', ')}`, ['conventions']);
243
+ }
244
+ }
245
+ catch { }
246
+ if (events.length === 0)
247
+ return;
248
+ await client.ingestEvents(events);
249
+ log(` Seeded ${events.length} initial context events from repo`);
250
+ }
142
251
  async function resolveProjectId(explicitProjectId, repoInfo, client) {
143
252
  if (explicitProjectId)
144
253
  return explicitProjectId;
@@ -335,6 +444,8 @@ async function setupClaude(configPath, repoRoot, clientId) {
335
444
  mcpConfig.mcpServers = servers;
336
445
  writeFileSync(mcpConfigPath, JSON.stringify(mcpConfig, null, 2));
337
446
  console.log(` Claude Code project MCP config written to ${mcpConfigPath}`);
447
+ // Inject Memoire instructions into CLAUDE.md
448
+ injectAgentInstructions(repoRoot, 'CLAUDE.md');
338
449
  const claudeDir = join(repoRoot, '.claude');
339
450
  mkdirSync(claudeDir, { recursive: true });
340
451
  const settingsPath = join(claudeDir, 'settings.local.json');
@@ -404,6 +515,10 @@ async function setupClaude(configPath, repoRoot, clientId) {
404
515
  installSkillFile(repoRoot, '.claude');
405
516
  }
406
517
  async function setupCodex(configPath, homeDir, clientId, run) {
518
+ // Inject Memoire instructions into AGENTS.md
519
+ const cwd = process.cwd();
520
+ const repoRoot = tryGit(cwd, ['rev-parse', '--show-toplevel']) ?? cwd;
521
+ injectAgentInstructions(repoRoot, 'AGENTS.md');
407
522
  try {
408
523
  run('codex', ['mcp', 'remove', 'memoire']);
409
524
  }
@@ -474,6 +589,58 @@ function installSkillFile(repoRoot, clientDir) {
474
589
  writeFileSync(destPath, content);
475
590
  console.log(` Agent skill installed to ${clientDir}/skills/use-memoire/SKILL.md`);
476
591
  }
592
+ const MEMOIRE_INSTRUCTIONS_MARKER = '<!-- memoire-managed -->';
593
+ const MEMOIRE_AGENT_INSTRUCTIONS = `
594
+ ${MEMOIRE_INSTRUCTIONS_MARKER}
595
+ ## Memoire — Transparent Context Layer
596
+
597
+ This project has Memoire wired in. It provides shared memory across all AI agents and teammates.
598
+
599
+ ### Before planning or implementing — always search first:
600
+ \`\`\`
601
+ search_context(query: "<what you're about to work on>")
602
+ \`\`\`
603
+ This surfaces past decisions, failed attempts, and conventions. Skip this and you risk repeating known mistakes.
604
+
605
+ ### Use native tools for code, Memoire for context:
606
+ - **Find code**: grep, glob, read (native)
607
+ - **Why was this done? What changed? What failed?**: \`search_context\`
608
+ - **Project architecture & conventions**: \`project_profile\`
609
+ - **GitHub code patterns**: \`memoire_code_search\`
610
+ - **Library docs**: \`search_docs\` (after \`index_docs\`)
611
+
612
+ ### Record decisions and failures automatically:
613
+ When you make an architectural choice, hit a failure, or establish a pattern — record it without being asked:
614
+ \`\`\`
615
+ write_event(event_type: "decision", content: "Why: ...")
616
+ write_event(event_type: "attempt", content: "Tried X, failed because: ...")
617
+ write_event(event_type: "convention", content: "All routes must: ...")
618
+ \`\`\`
619
+ ${MEMOIRE_INSTRUCTIONS_MARKER}
620
+ `.trim();
621
+ /** Inject Memoire instructions into an agent instructions file (CLAUDE.md, AGENTS.md, etc.) */
622
+ function injectAgentInstructions(repoRoot, filename) {
623
+ const filePath = join(repoRoot, filename);
624
+ let content = '';
625
+ if (existsSync(filePath)) {
626
+ content = readFileSync(filePath, 'utf-8');
627
+ }
628
+ // Already injected — update in place
629
+ if (content.includes(MEMOIRE_INSTRUCTIONS_MARKER)) {
630
+ const regex = new RegExp(`${escapeRegex(MEMOIRE_INSTRUCTIONS_MARKER)}[\\s\\S]*?${escapeRegex(MEMOIRE_INSTRUCTIONS_MARKER)}`, 'm');
631
+ content = content.replace(regex, MEMOIRE_AGENT_INSTRUCTIONS);
632
+ writeFileSync(filePath, content);
633
+ console.log(` Updated Memoire instructions in ${filename}`);
634
+ return;
635
+ }
636
+ // Append to end
637
+ const separator = content.trim() ? '\n\n' : '';
638
+ writeFileSync(filePath, `${content.trimEnd()}${separator}${MEMOIRE_AGENT_INSTRUCTIONS}\n`);
639
+ console.log(` Added Memoire instructions to ${filename}`);
640
+ }
641
+ function escapeRegex(str) {
642
+ return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
643
+ }
477
644
  function createManagedMcpServerConfig(configPath, client, clientId) {
478
645
  return {
479
646
  command: 'npx',
@@ -1 +1 @@
1
- {"version":3,"file":"configure.js","sourceRoot":"","sources":["../src/configure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configure.js","sourceRoot":"","sources":["../src/configure.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,oBAAoB,CAAC;AAItE,KAAK,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;AAY9C,MAAM,MAAM,eAAe,GACvB,sBAAsB,GACtB,kBAAkB,GAClB,oBAAoB,GACpB,wBAAwB,GACxB,aAAa,GACb,sBAAsB,GACtB,oBAAoB,GACpB,sBAAsB,GACtB,aAAa,CAAC;AAElB,KAAK,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;AAErD,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,eAAe;IACvB,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,aAAa,CAAC;IACpD,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,UAAU,CAAC;IACxE,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE;QAAE,MAAM,EAAE,aAAa,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/G,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACpD;AAyKD,wBAAsB,cAAc,CAClC,OAAO,EAAE,kBAAkB,EAC3B,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,IAAI,CAAC,CAiLf"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,oBAAoB,CAAC;AAItE,KAAK,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;AAY9C,MAAM,MAAM,eAAe,GACvB,sBAAsB,GACtB,kBAAkB,GAClB,oBAAoB,GACpB,wBAAwB,GACxB,aAAa,GACb,sBAAsB,GACtB,oBAAoB,GACpB,sBAAsB,GACtB,aAAa,CAAC;AAElB,KAAK,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;AAErD,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,eAAe;IACvB,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,aAAa,CAAC;IACpD,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,UAAU,CAAC;IACxE,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE;QAAE,MAAM,EAAE,aAAa,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/G,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACpD;AA+MD,wBAAsB,cAAc,CAClC,OAAO,EAAE,kBAAkB,EAC3B,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,IAAI,CAAC,CAiLf"}
package/dist/hooks.js CHANGED
@@ -81,23 +81,60 @@ function cleanupSessionFiles(sessionId) {
81
81
  }
82
82
  }
83
83
  // ── Tool-use classification ──────────────────────────────────────────────
84
+ /** Read-only tools that almost never need to be stored. */
85
+ const READ_ONLY_TOOLS = new Set([
86
+ 'read', 'read_file', 'cat', 'head', 'tail',
87
+ 'grep', 'ripgrep', 'search', 'code_search',
88
+ 'glob', 'find', 'list_files', 'ls',
89
+ 'git_status', 'git_log', 'git_diff', 'git_show',
90
+ 'web_search', 'web_fetch', 'fetch_url', 'browser',
91
+ 'agent', 'sub_agent',
92
+ ]);
93
+ /** Commands that are read-only (no side effects). */
94
+ const READ_ONLY_COMMAND_PATTERNS = /^\s*(git\s+(status|log|diff|show|branch|remote|rev-parse|describe)|ls|pwd|cat|head|tail|echo|which|type|file|wc|find|grep|rg|ag|tree|env|printenv|node\s+-e|python\s+-c.*print)\b/;
95
+ function isReadOnlyTool(context) {
96
+ if (!context?.toolName)
97
+ return false;
98
+ return READ_ONLY_TOOLS.has(context.toolName.toLowerCase());
99
+ }
100
+ function isReadOnlyShellCommand(content) {
101
+ // Extract command from content like "Ran `git status`"
102
+ const match = content.match(/^Ran `(.+?)`/);
103
+ if (!match)
104
+ return false;
105
+ return READ_ONLY_COMMAND_PATTERNS.test(match[1]);
106
+ }
84
107
  function isImportantObservation(content, context) {
108
+ // Errors are always important
109
+ if (context?.status === 'error')
110
+ return true;
111
+ // Read-only operations are never important (they don't change anything)
112
+ if (isReadOnlyTool(context))
113
+ return false;
114
+ if (isReadOnlyShellCommand(content))
115
+ return false;
85
116
  const text = content.toLowerCase();
86
- // Reverts, rollbacks, breakages, migrations
87
- if (/\b(revert|rollback|broke|migration|migrate|schema|deploy|config)\b/.test(text))
117
+ // Reverts, rollbacks, breakages, migrations, deployments
118
+ if (/\b(revert|rollback|broke|migration|migrate|deploy|deployed)\b/.test(text))
88
119
  return true;
89
- // Significant file changes
90
- const sigFiles = context?.modified?.some((f) => /\b(route|schema|config|deploy|migration|docker|\.env|package\.json)\b/i.test(f));
120
+ // Edits to significant files (schema, config, infra)
121
+ const sigFiles = context?.modified?.some((f) => /\b(schema|deploy|migration|docker|\.env|package\.json|tsconfig|Dockerfile)\b/i.test(f));
91
122
  if (sigFiles)
92
123
  return true;
93
- // Substantial content
94
- if (content.length > 500)
95
- return true;
96
- // Errors
97
- if (context?.status === 'error')
124
+ // State-changing shell commands that matter
125
+ if (isSignificantShellCommand(content))
98
126
  return true;
127
+ // Everything else (routine file edits, writes, tool calls) → buffer locally, not cloud
99
128
  return false;
100
129
  }
130
+ /** Shell commands that actually change project state and are worth recording. */
131
+ function isSignificantShellCommand(content) {
132
+ const match = content.match(/^Ran `(.+?)`/);
133
+ if (!match)
134
+ return false;
135
+ const cmd = match[1];
136
+ return /^\s*(git\s+(commit|push|merge|rebase|cherry-pick|reset|checkout\s+-b)|npm\s+(install|publish|link)|pnpm\s+(install|publish|add|remove)|yarn\s+(install|add|remove)|docker\s+(build|push|compose)|make\s|terraform\s|kubectl\s|helm\s)/i.test(cmd);
137
+ }
101
138
  // ── Git helpers ──────────────────────────────────────────────────────────
102
139
  function getGitDiffStat(cwd) {
103
140
  try {
@@ -507,30 +544,125 @@ function buildToolContext(toolName, payload, branchName) {
507
544
  };
508
545
  }
509
546
  function buildMcpObservation(toolName, payload) {
510
- const toolInput = stringifyValue(parseUnknownJson(payload.tool_input) ?? payload.tool_input);
511
- const toolResult = stringifyValue(parseUnknownJson(payload.result_json) ?? payload.result_json);
512
- return summarizeText(`MCP ${toolName} input: ${toolInput}. Result: ${toolResult}`, 800);
547
+ const toolInput = parseUnknownJson(payload.tool_input) ?? payload.tool_input;
548
+ const inputObj = isRecord(toolInput) ? toolInput : {};
549
+ return summarizeText(describeToolAction(toolName, inputObj), 800);
513
550
  }
514
551
  function buildClaudeObservation(toolName, payload) {
515
- const toolInput = stringifyValue(parseUnknownJson(payload.tool_input) ?? payload.tool_input);
516
- const toolOutput = stringifyValue(parseUnknownJson(payload.tool_output)
517
- ?? parseUnknownJson(payload.tool_response)
518
- ?? parseUnknownJson(payload.result_json)
519
- ?? payload.tool_output
520
- ?? payload.tool_response);
521
- return summarizeText(`${toolName} input: ${toolInput}. Output: ${toolOutput}`, 800);
552
+ const toolInput = parseUnknownJson(payload.tool_input) ?? payload.tool_input;
553
+ const inputObj = isRecord(toolInput) ? toolInput : {};
554
+ const errorOutput = extractErrorFromOutput(payload);
555
+ const desc = describeToolAction(toolName, inputObj);
556
+ return summarizeText(errorOutput ? `${desc} — Error: ${errorOutput}` : desc, 800);
522
557
  }
523
558
  function buildShellObservation(payload) {
524
559
  const command = asString(payload.command) ?? 'shell command';
525
- const output = summarizeText(asString(payload.output) ?? '', 500);
526
- return output ? `Shell command ${command}. Output: ${output}` : `Shell command ${command}.`;
560
+ const exitCode = payload.exit_code ?? payload.exitCode;
561
+ const failed = exitCode !== undefined && exitCode !== 0;
562
+ const shortCmd = command.length > 200 ? `${command.slice(0, 197)}...` : command;
563
+ if (failed) {
564
+ const errOutput = summarizeText(asString(payload.output) ?? asString(payload.stderr) ?? '', 300);
565
+ return errOutput ? `Ran \`${shortCmd}\` — failed: ${errOutput}` : `Ran \`${shortCmd}\` — failed (exit ${exitCode})`;
566
+ }
567
+ return `Ran \`${shortCmd}\``;
527
568
  }
528
569
  function buildFileEditObservation(payload) {
529
570
  const filePath = asString(payload.file_path) ?? 'unknown file';
571
+ const shortFile = shortenPath(filePath);
530
572
  const edits = Array.isArray(payload.edits) ? payload.edits.length : 0;
531
573
  return edits > 0
532
- ? `Edited ${filePath} with ${edits} change${edits === 1 ? '' : 's'}.`
533
- : `Edited ${filePath}.`;
574
+ ? `Edited ${shortFile} (${edits} change${edits === 1 ? '' : 's'})`
575
+ : `Edited ${shortFile}`;
576
+ }
577
+ /** Produce a clean human-readable description of a tool action from its name + input params. */
578
+ function describeToolAction(toolName, input) {
579
+ const name = toolName.toLowerCase();
580
+ const filePath = asString(input.file_path) ?? asString(input.filePath) ?? asString(input.path) ?? asString(input.target_file);
581
+ const shortFile = filePath ? shortenPath(filePath) : undefined;
582
+ // Shell / Bash
583
+ if (name === 'bash' || name === 'shell' || name === 'terminal' || name === 'run_command') {
584
+ const cmd = asString(input.command) ?? asString(input.cmd);
585
+ if (cmd) {
586
+ const shortCmd = cmd.length > 200 ? `${cmd.slice(0, 197)}...` : cmd;
587
+ return `Ran \`${shortCmd}\``;
588
+ }
589
+ return `Ran shell command`;
590
+ }
591
+ // Read / cat
592
+ if (name === 'read' || name === 'read_file' || name === 'cat') {
593
+ return shortFile ? `Read ${shortFile}` : 'Read a file';
594
+ }
595
+ // Edit
596
+ if (name === 'edit' || name === 'file_edit' || name === 'apply_diff' || name === 'str_replace_editor') {
597
+ return shortFile ? `Edited ${shortFile}` : 'Edited a file';
598
+ }
599
+ // Write / create
600
+ if (name === 'write' || name === 'write_file' || name === 'create_file') {
601
+ return shortFile ? `Wrote ${shortFile}` : 'Wrote a file';
602
+ }
603
+ // Grep / search
604
+ if (name === 'grep' || name === 'search' || name === 'ripgrep' || name === 'code_search') {
605
+ const pattern = asString(input.pattern) ?? asString(input.query) ?? asString(input.regex);
606
+ const searchPath = shortFile ?? asString(input.directory);
607
+ if (pattern && searchPath)
608
+ return `Searched for "${pattern}" in ${searchPath}`;
609
+ if (pattern)
610
+ return `Searched for "${pattern}"`;
611
+ return 'Searched code';
612
+ }
613
+ // Glob / find
614
+ if (name === 'glob' || name === 'find' || name === 'list_files') {
615
+ const pattern = asString(input.pattern) ?? asString(input.glob);
616
+ return pattern ? `Found files matching "${pattern}"` : 'Listed files';
617
+ }
618
+ // Git
619
+ if (name === 'git') {
620
+ const args = asString(input.args) ?? asString(input.command);
621
+ return args ? `Ran git ${args.slice(0, 100)}` : 'Ran git command';
622
+ }
623
+ // Agent / subprocess
624
+ if (name === 'agent' || name === 'sub_agent') {
625
+ const desc = asString(input.description) ?? asString(input.prompt);
626
+ return desc ? `Spawned agent: ${desc.slice(0, 150)}` : 'Spawned sub-agent';
627
+ }
628
+ // Web fetch / browse
629
+ if (name === 'web_fetch' || name === 'fetch_url' || name === 'browser' || name === 'web_search') {
630
+ const url = asString(input.url) ?? asString(input.query);
631
+ return url ? `Fetched ${url.slice(0, 150)}` : 'Fetched web content';
632
+ }
633
+ // Notebook
634
+ if (name === 'notebook_edit' || name === 'notebook') {
635
+ return shortFile ? `Edited notebook ${shortFile}` : 'Edited notebook';
636
+ }
637
+ // Fallback: extract the most descriptive parameter
638
+ const descParam = asString(input.description) ?? asString(input.query) ?? asString(input.prompt) ?? asString(input.command);
639
+ if (descParam) {
640
+ return `Used ${toolName}: ${descParam.slice(0, 200)}`;
641
+ }
642
+ if (shortFile) {
643
+ return `Used ${toolName} on ${shortFile}`;
644
+ }
645
+ return `Used ${toolName}`;
646
+ }
647
+ /** Extract error message from tool output payload if present. */
648
+ function extractErrorFromOutput(payload) {
649
+ const output = parseUnknownJson(payload.tool_output) ?? parseUnknownJson(payload.tool_response) ?? parseUnknownJson(payload.result_json);
650
+ if (isRecord(output)) {
651
+ const err = asString(output.error) ?? asString(output.stderr);
652
+ if (err)
653
+ return err.slice(0, 300);
654
+ }
655
+ const directErr = asString(payload.error) ?? asString(payload.stderr);
656
+ if (directErr)
657
+ return directErr.slice(0, 300);
658
+ return undefined;
659
+ }
660
+ /** Shorten a file path to the last 3 segments for readability. */
661
+ function shortenPath(filePath) {
662
+ const parts = filePath.split('/').filter(Boolean);
663
+ if (parts.length <= 3)
664
+ return filePath;
665
+ return `.../${parts.slice(-3).join('/')}`;
534
666
  }
535
667
  function inferReadFiles(toolName, payload, toolInput) {
536
668
  const files = collectFiles(payload, toolInput);
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "memoire-ai",
3
- "version": "0.6.8",
3
+ "version": "0.6.9",
4
4
  "type": "module",
5
5
  "description": "Memoire CLI for installing and querying shared AI coding context",
6
6
  "license": "AGPL-3.0",
@@ -40,12 +40,12 @@
40
40
  "@clack/prompts": "^1.1.0",
41
41
  "yaml": "^2.8.1",
42
42
  "@memoire-ai/sdk": "0.1.5",
43
- "@memoire-ai/shared": "0.1.7"
43
+ "@memoire-ai/shared": "0.1.8"
44
44
  },
45
45
  "optionalDependencies": {
46
- "@memoire-ai/collector": "0.4.6",
47
- "@memoire-ai/mcp-runtime": "0.2.4",
48
- "@memoire-ai/dashboard": "0.1.0"
46
+ "@memoire-ai/mcp-runtime": "0.2.5",
47
+ "@memoire-ai/dashboard": "0.1.0",
48
+ "@memoire-ai/collector": "0.4.7"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@types/node": "^20.0.0",
@@ -1,50 +1,49 @@
1
1
  ---
2
2
  name: use-memoire
3
- description: Search and contribute to shared project memory across your team's AI agents
4
- activation: When you need project context, past decisions, team conventions, or want to record what you learned
3
+ description: Transparent project memory layer automatically enriches planning, research, and coding with shared team context
4
+ activation: Always active. Memoire tools integrate into your normal workflow without extra steps.
5
5
  ---
6
6
 
7
- # Use Memoire
7
+ # Memoire — Transparent Context Layer
8
8
 
9
- Memoire gives agents shared project memory across supported clients (Cursor, Claude Code, Codex, Amp). Decisions, conventions, and session summaries are stored and searchable by other agents on the team.
9
+ Memoire is a shared memory layer across all AI agents on this project. It runs in the background you don't need to "decide" to use it. It's already part of how you work.
10
10
 
11
- ## When to Use
11
+ ## How It Works
12
12
 
13
- - Starting a task search for relevant decisions and past attempts
14
- - Made a decision — record it so teammates and future agents know
15
- - Something failed — record it so nobody repeats the mistake
16
- - Finishing work — save a handoff for the next person or agent
17
- - Need library docs — index and search documentation locally
13
+ Memoire captures decisions, conventions, failed attempts, and session summaries from every agent session. This context is searchable and shared across Cursor, Claude Code, and Codex.
18
14
 
19
- ## Workflow
15
+ **You don't tell agents to "use Memoire." It's wired into the workflow:**
20
16
 
21
- ### 1. Search first
17
+ ### When entering plan mode or starting a task
22
18
 
23
- Start with `search_context` it's the primary entry point:
19
+ Before writing any plan or implementation strategy, pull existing context:
24
20
 
25
21
  ```
26
- search_context(query: "auth implementation")
22
+ search_context(query: "<what you're about to work on>")
27
23
  ```
28
24
 
29
- If you need broad project orientation, add:
25
+ This returns past decisions, conventions, and failed attempts relevant to your task. If someone already tried your approach and it broke — you'll see it here.
26
+
27
+ For broad project orientation:
30
28
  ```
31
29
  project_profile()
32
30
  ```
33
31
 
34
- If the task needs durable project context (architecture, active decisions, conventions), use:
35
- ```
36
- get_project_knowledge()
37
- ```
32
+ ### When researching code or architecture
38
33
 
39
- Don't call all three by default — use what the task needs.
34
+ Use Memoire's search tools alongside native tools:
40
35
 
41
- ### 2. Build on what you find
36
+ - **Project history** (why was this done? what changed?): `search_context(query: "...")`
37
+ - **Public GitHub code patterns**: `memoire_code_search(query: "...", repo: "org/repo")`
38
+ - **Library documentation**: `search_docs(query: "...")` (after `index_docs` for the library)
39
+ - **Any web page as clean text**: `fetch_url(url: "...")`
40
+ - **Consolidated project knowledge**: `get_project_knowledge()`
42
41
 
43
- - Follow conventions from memory
44
- - Avoid approaches that already failed
45
- - Build on existing architectural decisions
42
+ Use native grep/glob/read for finding specific code in the current codebase. Use Memoire for *why* questions, *history* questions, and *cross-session* context.
46
43
 
47
- ### 3. Record what you learn
44
+ ### When you make a decision or discover something
45
+
46
+ Record it. This is automatic — you don't need to be asked:
48
47
 
49
48
  ```
50
49
  write_event(
@@ -55,70 +54,36 @@ write_event(
55
54
  )
56
55
  ```
57
56
 
58
- Event types:
59
- - `decision` — architectural or technology choices
60
- - `convention` — team rules and standards
61
- - `attempt` — failed or abandoned approaches (important!)
62
- - `observation` — notable findings
63
- - `branch_event` — git branch lifecycle
64
-
65
- ### 4. Reflect periodically
57
+ **What to record:**
58
+ - `decision` — You chose one approach over another. Record *why*.
59
+ - `attempt` — Something failed or was abandoned. **This is the most valuable type** — it prevents teammates from repeating the same mistake.
60
+ - `convention` — A pattern or rule that should be followed going forward.
61
+ - `observation` — Something notable you discovered about the codebase.
66
62
 
67
- Every ~25 turns (or when Memoire prompts you), pause and reflect on what you've learned:
68
-
69
- 1. **Decisions made** — record architectural or technology choices via `write_event(event_type: "decision")`
70
- 2. **Failed approaches** — record what broke or was abandoned via `write_event(event_type: "attempt")`
71
- 3. **Conventions established** — record team standards via `write_event(event_type: "convention")`
72
- 4. **User corrections** — if the user corrected your approach, that's high-value memory
73
- 5. **Verify alignment** — check `search_context("conventions")` to make sure you're following existing standards
74
-
75
- This is the highest-value memory activity. Don't skip it.
76
-
77
- ### 5. Hand off context (optional)
63
+ ### When handing off or finishing
78
64
 
79
65
  ```
80
66
  save_handoff(query: "auth refactor", title: "Auth migration status")
81
67
  ```
82
68
 
83
- ## All Tools
84
-
85
- ### Memory
86
-
87
- | Tool | What it does |
88
- |------|-------------|
89
- | `search_context` | Search shared memory — decisions, observations, attempts, teammate work |
90
- | `write_event` | Record a decision, convention, observation, or failed attempt |
91
- | `get_project_knowledge` | Get consolidated project knowledge — architecture, decisions, conventions. Falls back to extracted facts if the consolidated doc hasn't been generated yet. |
92
- | `project_profile` | Get current architecture, conventions, focus areas |
93
- | `save_handoff` | Save a context snapshot for teammates |
94
- | `get_handoff` | Load a saved handoff by ID |
95
- | `list_handoffs` | List all saved handoffs |
96
-
97
- ### Local Documentation
98
-
99
- These tools index docs on your machine no cloud cost.
100
-
101
- | Tool | What it does |
102
- |------|-------------|
103
- | `index_docs` | Scrape and index a doc site locally (follows links, configurable depth) |
104
- | `search_docs` | Search locally indexed documentation |
105
- | `list_docs` | List all indexed doc sources |
106
- | `remove_docs` | Remove an indexed doc source |
107
- | `fetch_url` | Fetch any URL as clean text |
108
-
109
- ### Code Search
110
-
111
- | Tool | What it does |
112
- |------|-------------|
113
- | `memoire_code_search` | Search public GitHub repos for code patterns. Tries grep.app first, falls back to GitHub CLI. |
114
-
115
- ## Tips
116
-
117
- - Always search before implementing — someone may have already solved your problem
118
- - Record the **why** behind decisions, not just the what
119
- - Use `attempt` for failed approaches — prevents teammates from repeating mistakes
120
- - Include `files_modified` and `concepts` for better future search recall
121
- - Use `index_docs` to index library docs before asking questions about them
122
- - Reflect every ~25 turns: review what you've learned and record it
123
- - Use `read_only: true` for critical conventions that shouldn't be modified or superseded
124
- - If the user corrects you, always record the correction — it's the most valuable kind of memory
69
+ ## Tool Reference
70
+
71
+ | Tool | When to use |
72
+ |------|------------|
73
+ | `search_context` | Before planning. Before implementing. When asked "why" or "what happened." |
74
+ | `project_profile` | Starting a new task. Need project architecture overview. |
75
+ | `get_project_knowledge` | Need consolidated decisions, conventions, and architecture. |
76
+ | `write_event` | After making a decision, hitting a failure, or establishing a convention. |
77
+ | `memoire_code_search` | Need to see how other projects implement something on GitHub. |
78
+ | `search_docs` | Querying indexed library documentation. |
79
+ | `index_docs` | First time working with a library index its docs for future search. |
80
+ | `fetch_url` | Need to read any web page as clean text. |
81
+ | `save_handoff` / `get_handoff` | Passing context to a teammate or picking up where someone left off. |
82
+
83
+ ## Key Behaviors
84
+
85
+ - **Search before you plan.** Always check `search_context` before writing implementation plans.
86
+ - **Record failures.** Failed attempts are more valuable than successes — they save future agents from wasting time.
87
+ - **Record the why, not the what.** "Switched to Postgres" is useless. "Switched to Postgres because Redis cold starts added 3s to auth flow" is valuable.
88
+ - **Include `files_modified` and `concepts`.** These make future searches more accurate.
89
+ - **Every ~25 turns, reflect.** Review what you've learned and record decisions, corrections, and conventions.