bernard-agent 0.2.2 → 0.3.1

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 (57) hide show
  1. package/.env.example +10 -0
  2. package/README.md +16 -6
  3. package/dist/agent.d.ts +4 -0
  4. package/dist/agent.js +84 -38
  5. package/dist/agent.js.map +1 -1
  6. package/dist/config.d.ts +5 -0
  7. package/dist/config.js +21 -0
  8. package/dist/config.js.map +1 -1
  9. package/dist/context.d.ts +38 -1
  10. package/dist/context.js +171 -41
  11. package/dist/context.js.map +1 -1
  12. package/dist/cron/runner.js +33 -1
  13. package/dist/cron/runner.js.map +1 -1
  14. package/dist/domains.d.ts +10 -0
  15. package/dist/domains.js +118 -0
  16. package/dist/domains.js.map +1 -0
  17. package/dist/facts-cli.d.ts +7 -0
  18. package/dist/facts-cli.js +197 -0
  19. package/dist/facts-cli.js.map +1 -0
  20. package/dist/index.js +62 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/logger.js +1 -2
  23. package/dist/logger.js.map +1 -1
  24. package/dist/memory-context.d.ts +13 -0
  25. package/dist/memory-context.js +48 -0
  26. package/dist/memory-context.js.map +1 -0
  27. package/dist/output.js +39 -35
  28. package/dist/output.js.map +1 -1
  29. package/dist/rag-query.d.ts +31 -0
  30. package/dist/rag-query.js +99 -0
  31. package/dist/rag-query.js.map +1 -0
  32. package/dist/rag-worker.d.ts +1 -1
  33. package/dist/rag-worker.js +9 -6
  34. package/dist/rag-worker.js.map +1 -1
  35. package/dist/rag.d.ts +36 -5
  36. package/dist/rag.js +118 -31
  37. package/dist/rag.js.map +1 -1
  38. package/dist/repl.js +119 -12
  39. package/dist/repl.js.map +1 -1
  40. package/dist/setup.js +17 -18
  41. package/dist/setup.js.map +1 -1
  42. package/dist/theme.d.ts +28 -0
  43. package/dist/theme.js +154 -0
  44. package/dist/theme.js.map +1 -0
  45. package/dist/tools/index.d.ts +11 -0
  46. package/dist/tools/index.js +2 -0
  47. package/dist/tools/index.js.map +1 -1
  48. package/dist/tools/subagent.d.ts +2 -1
  49. package/dist/tools/subagent.js +25 -5
  50. package/dist/tools/subagent.js.map +1 -1
  51. package/dist/tools/wait.d.ts +14 -0
  52. package/dist/tools/wait.js +28 -0
  53. package/dist/tools/wait.js.map +1 -0
  54. package/dist/update.d.ts +35 -0
  55. package/dist/update.js +233 -0
  56. package/dist/update.js.map +1 -0
  57. package/package.json +2 -2
package/dist/context.js CHANGED
@@ -1,15 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RECENT_TURNS_TO_KEEP = exports.COMPRESSION_THRESHOLD = exports.DEFAULT_CONTEXT_WINDOW = exports.MODEL_CONTEXT_WINDOWS = void 0;
3
+ exports.MAX_TOOL_RESULT_CHARS = exports.RECENT_TURNS_TO_KEEP = exports.COMPRESSION_THRESHOLD = exports.DEFAULT_CONTEXT_WINDOW = exports.MODEL_CONTEXT_WINDOWS = void 0;
4
4
  exports.getContextWindow = getContextWindow;
5
5
  exports.shouldCompress = shouldCompress;
6
6
  exports.serializeMessages = serializeMessages;
7
7
  exports.countRecentMessages = countRecentMessages;
8
+ exports.extractDomainFacts = extractDomainFacts;
8
9
  exports.extractFacts = extractFacts;
9
10
  exports.compressHistory = compressHistory;
11
+ exports.truncateToolResults = truncateToolResults;
12
+ exports.estimateHistoryTokens = estimateHistoryTokens;
13
+ exports.emergencyTruncate = emergencyTruncate;
14
+ exports.isTokenOverflowError = isTokenOverflowError;
15
+ exports.extractText = extractText;
10
16
  const ai_1 = require("ai");
11
17
  const index_js_1 = require("./providers/index.js");
12
18
  const logger_js_1 = require("./logger.js");
19
+ const domains_js_1 = require("./domains.js");
13
20
  /** Model name → context window size in tokens */
14
21
  exports.MODEL_CONTEXT_WINDOWS = {
15
22
  // Anthropic
@@ -111,56 +118,58 @@ function countRecentMessages(history, turnsToKeep) {
111
118
  // Fewer user turns than turnsToKeep — nothing to compress
112
119
  return 0;
113
120
  }
114
- const FACT_EXTRACTION_PROMPT = `You are a fact extraction system. Extract notable, self-contained facts from the conversation below that would be useful to recall in future sessions.
115
-
116
- Extract:
117
- - User preferences and habits
118
- - Project details, structure, and conventions
119
- - Technical environment info (OS, languages, tools, versions)
120
- - Decisions made and their reasoning
121
- - Recurring patterns or workflows
122
- - Names, roles, and relationships mentioned
123
-
124
- Do NOT extract:
125
- - Task-specific transient details (e.g., "the user asked to fix a typo on line 42")
126
- - Generic knowledge that any AI would know
127
- - Greetings, filler, or conversational noise
128
-
129
- Return a JSON array of strings. Each string should be a self-contained fact (understandable without the original conversation). Maximum 500 characters per fact. If there are no notable facts, return an empty array [].`;
130
121
  const FACT_EXTRACTION_MAX = 500;
131
122
  /**
132
- * Extract notable facts from serialized conversation text via LLM.
133
- * Returns an empty array on any failure.
134
- * @internal
123
+ * Extract facts from serialized conversation text using domain-specific prompts.
124
+ * Runs all domain extractors in parallel via Promise.allSettled.
125
+ * Partial failures (one domain errors) don't block others.
135
126
  */
136
- async function extractFacts(serializedText, config) {
127
+ async function extractDomainFacts(serializedText, config) {
137
128
  if (!serializedText.trim())
138
129
  return [];
139
- try {
130
+ const domainIds = (0, domains_js_1.getDomainIds)();
131
+ const results = await Promise.allSettled(domainIds.map(async (domainId) => {
132
+ const domain = domains_js_1.DOMAIN_REGISTRY[domainId];
140
133
  const result = await (0, ai_1.generateText)({
141
134
  model: (0, index_js_1.getModel)(config.provider, config.model),
142
135
  maxTokens: 2048,
143
- system: FACT_EXTRACTION_PROMPT,
136
+ system: domain.extractionPrompt,
144
137
  messages: [
145
138
  { role: 'user', content: `Extract facts from this conversation:\n\n${serializedText}` },
146
139
  ],
147
140
  });
148
141
  const text = result.text?.trim();
149
142
  if (!text)
150
- return [];
143
+ return { domain: domainId, facts: [] };
151
144
  // Parse JSON array from response — handle markdown code fences
152
145
  const jsonStr = text.replace(/^```(?:json)?\s*/m, '').replace(/\s*```$/m, '');
153
146
  const parsed = JSON.parse(jsonStr);
154
147
  if (!Array.isArray(parsed))
155
- return [];
156
- return parsed
148
+ return { domain: domainId, facts: [] };
149
+ const facts = parsed
157
150
  .filter((item) => typeof item === 'string' && item.length > 0)
158
151
  .filter((item) => item.length <= FACT_EXTRACTION_MAX);
159
- }
160
- catch (err) {
161
- (0, logger_js_1.debugLog)('context:extractFacts', `Failed: ${err instanceof Error ? err.message : String(err)}`);
162
- return [];
163
- }
152
+ return { domain: domainId, facts };
153
+ }));
154
+ const domainFacts = [];
155
+ results.forEach((result, index) => {
156
+ if (result.status === 'fulfilled' && result.value.facts.length > 0) {
157
+ domainFacts.push(result.value);
158
+ }
159
+ else if (result.status === 'rejected') {
160
+ (0, logger_js_1.debugLog)('context:extractDomainFacts', `Domain "${domainIds[index]}" extraction failed: ${result.reason instanceof Error ? result.reason.message : String(result.reason)}`);
161
+ }
162
+ });
163
+ return domainFacts;
164
+ }
165
+ /**
166
+ * Extract notable facts from serialized conversation text via LLM.
167
+ * Returns a flat array of facts (backward-compatible wrapper around extractDomainFacts).
168
+ * @internal
169
+ */
170
+ async function extractFacts(serializedText, config) {
171
+ const domainFacts = await extractDomainFacts(serializedText, config);
172
+ return domainFacts.flatMap((df) => df.facts);
164
173
  }
165
174
  const SUMMARIZATION_PROMPT = `You are a conversation summarizer. Produce a concise summary of the conversation below, preserving:
166
175
  - Key facts, decisions, and outcomes
@@ -168,6 +177,10 @@ const SUMMARIZATION_PROMPT = `You are a conversation summarizer. Produce a conci
168
177
  - Any user preferences or requirements mentioned
169
178
  - The overall arc of what was discussed and accomplished
170
179
 
180
+ For each task or goal mentioned, clearly mark its status:
181
+ - COMPLETED — if the task was finished or resolved
182
+ - IN PROGRESS — if the task is still ongoing and unfinished
183
+
171
184
  Be concise but complete. Use bullet points. Do not include greetings or filler.`;
172
185
  /**
173
186
  * Compress conversation history by summarizing older messages via the LLM.
@@ -187,7 +200,7 @@ async function compressHistory(history, config, ragStore) {
187
200
  return history;
188
201
  }
189
202
  try {
190
- // Run summarization and fact extraction in parallel
203
+ // Run summarization and domain-specific fact extraction in parallel
191
204
  const summarizePromise = (0, ai_1.generateText)({
192
205
  model: (0, index_js_1.getModel)(config.provider, config.model),
193
206
  maxTokens: 2048,
@@ -197,14 +210,14 @@ async function compressHistory(history, config, ragStore) {
197
210
  ],
198
211
  });
199
212
  const extractPromise = ragStore
200
- ? extractFacts(serialized, config)
213
+ ? extractDomainFacts(serialized, config)
201
214
  : Promise.resolve([]);
202
- const [result, facts] = await Promise.all([summarizePromise, extractPromise]);
203
- // Store extracted facts fire-and-forget
204
- if (ragStore && facts.length > 0) {
205
- ragStore.addFacts(facts, 'compression').catch((err) => {
206
- (0, logger_js_1.debugLog)('context:compress:rag', `Failed to store facts: ${err instanceof Error ? err.message : String(err)}`);
207
- });
215
+ const [result, domainFacts] = await Promise.all([summarizePromise, extractPromise]);
216
+ // Store extracted facts per domain — await to prevent races on persist()
217
+ if (ragStore && domainFacts.length > 0) {
218
+ await Promise.all(domainFacts.map((df) => ragStore.addFacts(df.facts, 'compression', df.domain).catch((err) => {
219
+ (0, logger_js_1.debugLog)('context:compress:rag', `Failed to store facts for domain ${df.domain}: ${err instanceof Error ? err.message : String(err)}`);
220
+ })));
208
221
  }
209
222
  const summary = result.text?.trim();
210
223
  if (!summary) {
@@ -213,7 +226,7 @@ async function compressHistory(history, config, ragStore) {
213
226
  }
214
227
  const summaryMessage = {
215
228
  role: 'user',
216
- content: `[Context Summary — earlier conversation was compressed]\n\n${summary}`,
229
+ content: `[Context Summary — earlier conversation was compressed. This is background context only. Focus on the messages that follow for the current task.]\n\n${summary}`,
217
230
  };
218
231
  const ackMessage = {
219
232
  role: 'assistant',
@@ -223,7 +236,7 @@ async function compressHistory(history, config, ragStore) {
223
236
  oldMessageCount: oldMessages.length,
224
237
  recentMessageCount: recentMessages.length,
225
238
  summaryLength: summary.length,
226
- factsExtracted: facts.length,
239
+ domainFactsCount: domainFacts.reduce((sum, df) => sum + df.facts.length, 0),
227
240
  });
228
241
  return [summaryMessage, ackMessage, ...recentMessages];
229
242
  }
@@ -232,6 +245,123 @@ async function compressHistory(history, config, ragStore) {
232
245
  return history;
233
246
  }
234
247
  }
248
+ /** Max characters to keep per tool-result content part in history. */
249
+ exports.MAX_TOOL_RESULT_CHARS = 10_000;
250
+ /**
251
+ * Truncate large tool-result content parts in response messages before adding to history.
252
+ * The user already sees the full result via onStepFinish; the history copy just needs
253
+ * enough for the LLM to understand what happened on subsequent turns.
254
+ * Returns a new array — does not mutate the input.
255
+ */
256
+ function truncateToolResults(messages, maxChars = exports.MAX_TOOL_RESULT_CHARS) {
257
+ return messages.map((msg) => {
258
+ if (msg.role !== 'tool' || !Array.isArray(msg.content))
259
+ return msg;
260
+ let changed = false;
261
+ const newContent = msg.content.map((part) => {
262
+ if (typeof part === 'object' &&
263
+ part !== null &&
264
+ 'type' in part &&
265
+ part.type === 'tool-result') {
266
+ const resultStr = typeof part.result === 'string'
267
+ ? part.result
268
+ : JSON.stringify(part.result);
269
+ if (resultStr.length > maxChars) {
270
+ changed = true;
271
+ return {
272
+ ...part,
273
+ result: resultStr.slice(0, maxChars) +
274
+ `\n...[truncated from ${resultStr.length} to ${maxChars} chars]`,
275
+ };
276
+ }
277
+ }
278
+ return part;
279
+ });
280
+ return changed ? { ...msg, content: newContent } : msg;
281
+ });
282
+ }
283
+ /**
284
+ * Rough-but-safe token estimator for pre-flight checks.
285
+ * Uses 3.6 chars/token (instead of 4) for a ~10% safety margin,
286
+ * since tool-result tokens can be denser than natural language.
287
+ */
288
+ function estimateHistoryTokens(history) {
289
+ let chars = 0;
290
+ for (const msg of history) {
291
+ chars += JSON.stringify(msg.content).length;
292
+ }
293
+ return Math.ceil(chars / 3.6);
294
+ }
295
+ /**
296
+ * Progressively drop oldest messages until estimated tokens fit within budget.
297
+ * Always keeps at least the last 6 messages so the model has some context.
298
+ * Prepends a synthetic truncation notice.
299
+ */
300
+ function emergencyTruncate(history, tokenBudget, systemPrompt, currentUserMessage) {
301
+ const systemTokens = Math.ceil(systemPrompt.length / 4);
302
+ const historyBudget = tokenBudget - systemTokens;
303
+ const taskHint = currentUserMessage
304
+ ? `\n\nThe user's most recent request was: ${currentUserMessage.slice(0, 500)}`
305
+ : '';
306
+ if (historyBudget <= 0) {
307
+ // System prompt alone exceeds budget — keep last 6 messages anyway
308
+ const kept = history.slice(-6);
309
+ return [
310
+ { role: 'user', content: `[Earlier conversation was truncated to fit context window. Focus on the most recent messages below.]${taskHint}` },
311
+ { role: 'assistant', content: 'Understood. Continuing with limited context.' },
312
+ ...kept,
313
+ ];
314
+ }
315
+ // Walk backward, accumulating estimated tokens
316
+ let accumulated = 0;
317
+ let cutoff = history.length;
318
+ for (let i = history.length - 1; i >= 0; i--) {
319
+ const msgTokens = Math.ceil(JSON.stringify(history[i].content).length / 3.6);
320
+ if (accumulated + msgTokens > historyBudget) {
321
+ cutoff = i + 1;
322
+ break;
323
+ }
324
+ accumulated += msgTokens;
325
+ if (i === 0)
326
+ cutoff = 0;
327
+ }
328
+ // Always keep at least 6 messages (covers 1-2 complete user turns with tool calls)
329
+ const minKeep = Math.max(0, history.length - 6);
330
+ if (cutoff > minKeep)
331
+ cutoff = minKeep;
332
+ // Align cutoff backward to a 'user' message boundary so the kept
333
+ // slice never starts with an orphaned 'tool' or 'assistant' message
334
+ // (which would violate provider role-ordering requirements).
335
+ // Searching backward (instead of forward) preserves the min-keep guarantee.
336
+ if (cutoff > 0 && cutoff < history.length && history[cutoff].role !== 'user') {
337
+ let aligned = cutoff;
338
+ while (aligned > 0 && history[aligned].role !== 'user') {
339
+ aligned--;
340
+ }
341
+ cutoff = aligned;
342
+ }
343
+ const kept = history.slice(cutoff);
344
+ if (cutoff === 0) {
345
+ // Nothing was dropped
346
+ return history;
347
+ }
348
+ const notice = {
349
+ role: 'user',
350
+ content: `[Earlier conversation was truncated to fit context window. Focus on the most recent messages below.]${taskHint}`,
351
+ };
352
+ const ack = {
353
+ role: 'assistant',
354
+ content: 'Understood. Continuing with limited context.',
355
+ };
356
+ return [notice, ack, ...kept];
357
+ }
358
+ /**
359
+ * Detect token overflow errors from various providers.
360
+ * Covers Anthropic, OpenAI, and xAI error message patterns.
361
+ */
362
+ function isTokenOverflowError(message) {
363
+ return /maximum.*prompt.*length|prompt.*too.*long|context.*length.*exceeded|maximum.*context.*length|token.*limit/i.test(message);
364
+ }
235
365
  function extractText(msg) {
236
366
  if (typeof msg.content === 'string')
237
367
  return msg.content;
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,9 @@ const zod_1 = require("zod");
41
41
  const index_js_1 = require("../providers/index.js");
42
42
  const config_js_1 = require("../config.js");
43
43
  const memory_js_1 = require("../memory.js");
44
+ const rag_js_1 = require("../rag.js");
45
+ const memory_context_js_1 = require("../memory-context.js");
46
+ const logger_js_1 = require("../logger.js");
44
47
  const shell_js_1 = require("../tools/shell.js");
45
48
  const memory_js_2 = require("../tools/memory.js");
46
49
  const datetime_js_1 = require("../tools/datetime.js");
@@ -63,6 +66,17 @@ async function runJob(job, log) {
63
66
  const config = (0, config_js_1.loadConfig)();
64
67
  const memoryStore = new memory_js_1.MemoryStore();
65
68
  const store = new store_js_1.CronStore();
69
+ // Conditionally create RAGStore for memory context enrichment
70
+ let ragStore;
71
+ if (config.ragEnabled) {
72
+ try {
73
+ ragStore = new rag_js_1.RAGStore();
74
+ }
75
+ catch (err) {
76
+ const msg = err instanceof Error ? err.message : String(err);
77
+ log(`RAG initialization failed, continuing without RAG: ${msg}`);
78
+ }
79
+ }
66
80
  const mcpManager = new mcp_js_1.MCPManager();
67
81
  let mcpTools = {};
68
82
  try {
@@ -133,12 +147,30 @@ async function runJob(job, log) {
133
147
  cron_self_disable: selfDisableTool,
134
148
  ...mcpTools,
135
149
  };
150
+ // RAG search using job prompt as query
151
+ let ragResults;
152
+ if (ragStore) {
153
+ try {
154
+ ragResults = await ragStore.search(job.prompt);
155
+ if (ragResults.length > 0) {
156
+ (0, logger_js_1.debugLog)('cron:rag', { jobId: job.id, query: job.prompt.slice(0, 100), results: ragResults.length });
157
+ }
158
+ }
159
+ catch (err) {
160
+ (0, logger_js_1.debugLog)('cron:rag:error', err instanceof Error ? err.message : String(err));
161
+ }
162
+ }
163
+ const enrichedPrompt = DAEMON_SYSTEM_PROMPT + (0, memory_context_js_1.buildMemoryContext)({
164
+ memoryStore,
165
+ ragResults,
166
+ includeScratch: false,
167
+ });
136
168
  const result = await (0, ai_1.generateText)({
137
169
  model: (0, index_js_1.getModel)(config.provider, config.model),
138
170
  tools,
139
171
  maxSteps: 20,
140
172
  maxTokens: config.maxTokens,
141
- system: DAEMON_SYSTEM_PROMPT,
173
+ system: enrichedPrompt,
142
174
  messages: [{ role: 'user', content: job.prompt }],
143
175
  onStepFinish: ({ text, toolCalls, toolResults, usage, finishReason }) => {
144
176
  const truncatedResults = (toolResults || []).map(tr => ({
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/cron/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/cron/runner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,wBAiNC;AArPD,oDAAsC;AACtC,2BAAkC;AAClC,2BAA0B;AAC1B,6BAAwB;AACxB,oDAAiD;AACjD,4CAA0C;AAC1C,4CAA2C;AAC3C,sCAAqC;AACrC,4DAA0D;AAC1D,4CAAwC;AACxC,gDAAoD;AACpD,kDAAyE;AACzE,sDAA0D;AAC1D,sCAAuC;AACvC,yCAAuC;AACvC,iDAAgE;AAChE,2CAA+C;AAG/C,MAAM,oBAAoB,GAAG;;;;;;;;;;yIAU4G,CAAC;AAOnI,KAAK,UAAU,MAAM,CAAC,GAAY,EAAE,GAA0B;IACnE,MAAM,MAAM,GAAG,IAAA,sBAAU,GAAE,CAAC;IAC5B,MAAM,WAAW,GAAG,IAAI,uBAAW,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,IAAI,oBAAS,EAAE,CAAC;IAE9B,8DAA8D;IAC9D,IAAI,QAA8B,CAAC;IACnC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,iBAAQ,EAAE,CAAC;QAC5B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,GAAG,CAAC,sDAAsD,GAAG,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,mBAAU,EAAE,CAAC;IACpC,IAAI,QAAQ,GAAwB,EAAE,CAAC;IAEvC,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;QAC3B,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,UAAU,CAAC,uBAAuB,EAAE,CAAC;QACzD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,0BAA0B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,GAAG,CAAC,4DAA4D,OAAO,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,2BAAY,EAAE,CAAC;IACpC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAA,SAAI,EAAC;YACtB,WAAW,EAAE,sLAAsL;YACnM,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC;gBACnB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;gBAClE,QAAQ,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;aAC9F,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAmB,EAAE;gBACxD,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC;oBAC9B,KAAK,EAAE,GAAG,CAAC,EAAE;oBACb,OAAO,EAAE,GAAG,CAAC,IAAI;oBACjB,OAAO;oBACP,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,QAAQ,EAAE,EAAE,EAAE,6CAA6C;iBAC5D,CAAC,CAAC;gBAEH,IAAA,4BAAgB,EAAC;oBACf,KAAK,EAAE,YAAY,GAAG,CAAC,IAAI,EAAE;oBAC7B,OAAO;oBACP,QAAQ;oBACR,OAAO,EAAE,KAAK,CAAC,EAAE;oBACjB,GAAG;iBACJ,CAAC,CAAC;gBAEH,OAAO,+BAA+B,KAAK,CAAC,EAAE,6DAA6D,CAAC;YAC9G,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,IAAA,SAAI,EAAC;YAC3B,WAAW,EAAE,4HAA4H;YACzI,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC;gBACnB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;aAChF,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAmB,EAAE;gBAC7C,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,OAAO;oBAAE,OAAO,gCAAgC,GAAG,CAAC,EAAE,GAAG,CAAC;gBAC/D,OAAO,QAAQ,GAAG,CAAC,IAAI,uBAAuB,MAAM,EAAE,CAAC;YACzD,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAA,0BAAe,EAAC;YAChC,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,gBAAgB,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK,EAAE,2BAA2B;SACjE,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG;YACZ,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,IAAA,4BAAgB,EAAC,WAAW,CAAC;YACrC,OAAO,EAAE,IAAA,6BAAiB,EAAC,WAAW,CAAC;YACvC,QAAQ,EAAE,IAAA,gCAAkB,GAAE;YAC9B,MAAM,EAAE,UAAU;YAClB,iBAAiB,EAAE,eAAe;YAClC,GAAG,QAAQ;SACZ,CAAC;QAEF,uCAAuC;QACvC,IAAI,UAAU,CAAC;QACf,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,UAAU,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC/C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,IAAA,oBAAQ,EAAC,UAAU,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;gBACvG,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAA,oBAAQ,EAAC,gBAAgB,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,oBAAoB,GAAG,IAAA,sCAAkB,EAAC;YAC/D,WAAW;YACX,UAAU;YACV,cAAc,EAAE,KAAK;SACtB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAA,iBAAY,EAAC;YAChC,KAAK,EAAE,IAAA,mBAAQ,EAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC;YAC9C,KAAK;YACL,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;YACjD,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE;gBACtE,MAAM,gBAAgB,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACtD,QAAQ,EAAE,EAAE,CAAC,QAAQ;oBACrB,UAAU,EAAE,EAAE,CAAC,UAAU;oBACzB,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;iBACzC,CAAC,CAAC,CAAC;gBACJ,KAAK,CAAC,IAAI,CAAC;oBACT,SAAS,EAAE,SAAS,EAAE;oBACtB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,IAAI,EAAE,IAAI,IAAI,EAAE;oBAChB,SAAS,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;wBACtC,QAAQ,EAAE,EAAE,CAAC,QAAQ;wBACrB,UAAU,EAAE,EAAE,CAAC,UAAU;wBACzB,IAAI,EAAE,EAAE,CAAC,IAA+B;qBACzC,CAAC,CAAC;oBACH,WAAW,EAAE,gBAAgB;oBAC7B,KAAK,EAAE;wBACL,YAAY,EAAE,KAAK,EAAE,YAAY,IAAI,CAAC;wBACtC,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,IAAI,CAAC;wBAC9C,WAAW,EAAE,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,IAAI,CAAC,CAAC;qBACzE;oBACD,YAAY,EAAE,YAAY,IAAI,SAAS;iBACxC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,IAAI,kBAAkB,CAAC;QAEjD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAC7B,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACX,YAAY,EAAE,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY;gBACrD,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,gBAAgB;gBACjE,WAAW,EAAE,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW;aACnD,CAAC,EACF,EAAE,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CACzD,CAAC;YACF,QAAQ,CAAC,WAAW,CAAC;gBACnB,KAAK;gBACL,KAAK,EAAE,GAAG,CAAC,EAAE;gBACb,OAAO,EAAE,GAAG,CAAC,IAAI;gBACjB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,SAAS;gBACT,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACrC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;gBAChC,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,MAAM;gBACnB,KAAK;gBACL,UAAU;aACX,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,MAAe,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzE,GAAG,CAAC,2CAA2C,MAAM,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACnC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEjE,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAC7B,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACX,YAAY,EAAE,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY;gBACrD,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,gBAAgB;gBACjE,WAAW,EAAE,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW;aACnD,CAAC,EACF,EAAE,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CACzD,CAAC;YACF,QAAQ,CAAC,WAAW,CAAC;gBACnB,KAAK;gBACL,KAAK,EAAE,GAAG,CAAC,EAAE;gBACb,OAAO,EAAE,GAAG,CAAC,IAAI;gBACjB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,SAAS;gBACT,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACrC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;gBAChC,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,OAAO;gBACd,WAAW,EAAE,EAAE;gBACf,KAAK;gBACL,UAAU;aACX,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC;IACzD,CAAC;YAAS,CAAC;QACT,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,MAAe,EAAE,MAAc;IACrD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;QACzD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,mBAAmB,MAAM,CAAC,MAAM,eAAe,CAAC;IACnF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,10 @@
1
+ export interface MemoryDomain {
2
+ id: string;
3
+ name: string;
4
+ description: string;
5
+ extractionPrompt: string;
6
+ }
7
+ export declare const DEFAULT_DOMAIN = "general";
8
+ export declare const DOMAIN_REGISTRY: Record<string, MemoryDomain>;
9
+ export declare function getDomainIds(): string[];
10
+ export declare function getDomain(id: string): MemoryDomain;
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DOMAIN_REGISTRY = exports.DEFAULT_DOMAIN = void 0;
4
+ exports.getDomainIds = getDomainIds;
5
+ exports.getDomain = getDomain;
6
+ exports.DEFAULT_DOMAIN = 'general';
7
+ exports.DOMAIN_REGISTRY = {
8
+ 'tool-usage': {
9
+ id: 'tool-usage',
10
+ name: 'Tool Usage Patterns',
11
+ description: 'Command sequences, tool interaction patterns, error resolutions, build/deploy workflows',
12
+ extractionPrompt: `You are a tool-usage pattern extractor. Extract durable, reusable facts about how tools, commands, and workflows are used in the conversation below. Focus on lessons learned and patterns that would be useful in future sessions.
13
+
14
+ Extract:
15
+ - Shell command sequences and pipelines that accomplished a task
16
+ - Tool interaction patterns (which tools were used together, in what order)
17
+ - Always include the application or system being operated on (e.g., "Slack via browser automation", "terminal", "VS Code")
18
+ - Reusable patterns and lessons learned, not play-by-play narration
19
+ - Error messages encountered and how they were resolved (include the resolution)
20
+ - Build, test, and deploy commands and workflows
21
+ - Package manager commands and dependency operations
22
+ - Git workflows and branching patterns
23
+
24
+ Do NOT extract:
25
+ - User preferences or communication style
26
+ - Project architecture or business requirements
27
+ - Generic knowledge any developer would know
28
+ - Greetings, filler, or conversational noise
29
+ - Task-specific transient details (e.g., "user asked to fix a typo on line 42")
30
+ - Individual UI interactions (click, keystroke, tab press) without the broader pattern they accomplished
31
+ - Raw accessibility snapshot element references (ref numbers, element labels)
32
+ - Error messages without resolution or takeaway
33
+ - Step-by-step narration of task progress ("first I clicked X, then I typed Y")
34
+
35
+ Examples:
36
+ - Bad: "The \`press-page-key\` tool was used to simulate keyboard navigation by pressing 'Tab' multiple times and 'Enter' on the 'Home' button (ref 9)"
37
+ - Good: "Slack (browser automation): Tab-key navigation is unreliable for switching channels; clicking the channel name directly is more effective"
38
+ - Bad: "The shell tool was used to run 'npm test' and it returned exit code 0"
39
+ - Good: "Project uses 'npm test' which runs vitest; tests must pass before commits"
40
+
41
+ Return a JSON array of strings. Each string should be a self-contained fact (understandable without the original conversation). Maximum 500 characters per fact. If there are no notable facts, return an empty array [].`,
42
+ },
43
+ 'user-preferences': {
44
+ id: 'user-preferences',
45
+ name: 'User Preferences',
46
+ description: 'Communication style, workflow conventions, repeated instructions, naming preferences',
47
+ extractionPrompt: `You are a user preference extractor. Extract durable, long-term facts about the user's preferences, habits, and conventions from the conversation below. Only extract preferences that would apply across multiple sessions and tasks.
48
+
49
+ Extract:
50
+ - Communication style preferences (verbosity, tone, format)
51
+ - Workflow conventions (branching strategy, commit style, review process)
52
+ - Repeated instructions or corrections the user has given
53
+ - Naming conventions and coding style preferences
54
+ - Tool and editor preferences
55
+ - Preferred approaches to problem solving
56
+ - Explicit "always do X" or "never do Y" directives
57
+ - Security and privacy preferences
58
+
59
+ Do NOT extract:
60
+ - Shell commands, tool sequences, or error resolutions
61
+ - Project architecture, structure, or technical environment details
62
+ - Generic knowledge any developer would know
63
+ - Greetings, filler, or conversational noise
64
+ - Task-specific transient details (e.g., "user asked to fix a typo on line 42")
65
+ - Preferences that only apply to the current task (e.g., "user wants the button to be blue" for a specific UI ticket)
66
+ - Observations about the user's emotional state or satisfaction with a specific result
67
+
68
+ Examples:
69
+ - Bad: "The user was satisfied with the fix for the login page"
70
+ - Good: "User prefers to manually provide verification codes for security reasons rather than having them auto-filled"
71
+ - Bad: "User wants the output table to have 3 columns"
72
+ - Good: "User prefers concise tabular output over verbose text when displaying data"
73
+
74
+ Return a JSON array of strings. Each string should be a self-contained fact (understandable without the original conversation). Maximum 500 characters per fact. If there are no notable facts, return an empty array [].`,
75
+ },
76
+ 'general': {
77
+ id: 'general',
78
+ name: 'General Knowledge',
79
+ description: 'Project structure, architecture decisions, environment info, team context',
80
+ extractionPrompt: `You are a general knowledge extractor. Extract durable, long-term facts about the project, environment, people, and context from the conversation below. Focus on knowledge that remains true across sessions — not ephemeral task state.
81
+
82
+ Extract:
83
+ - Project structure, architecture, and design decisions
84
+ - Technical environment info (OS, languages, frameworks, versions)
85
+ - People, relationships, and contact methods mentioned (e.g., "Pablo Rico is the user's cousin")
86
+ - Account names, usernames, or identifiers for services
87
+ - Team context, roles, and relationships mentioned
88
+ - Business requirements and domain concepts
89
+ - Configuration details and environment variables
90
+ - API endpoints, database schemas, or service dependencies
91
+ - Decisions made and their reasoning
92
+
93
+ Do NOT extract:
94
+ - Shell commands, tool sequences, or error resolutions
95
+ - User preferences, communication style, or workflow conventions
96
+ - Generic knowledge any developer would know
97
+ - Greetings, filler, or conversational noise
98
+ - Task-specific transient details (e.g., "user asked to fix a typo on line 42")
99
+ - Ephemeral UI state (button labels, input field descriptions, accessibility snapshots)
100
+ - One-time task instructions or step-by-step narration of task progress
101
+ - Descriptions of what is currently visible on screen
102
+
103
+ Examples:
104
+ - Bad: "A specific conversation with Pablo Rico is active in Google Messages, with an input field labeled 'Type an RCS message'"
105
+ - Good: "Pablo Rico is the user's cousin and can be contacted via Google Messages (RCS)"
106
+ - Bad: "The project has a file called src/index.ts open in the editor with 94 lines"
107
+ - Good: "The project uses TypeScript with Node16 module resolution and CommonJS output"
108
+
109
+ Return a JSON array of strings. Each string should be a self-contained fact (understandable without the original conversation). Maximum 500 characters per fact. If there are no notable facts, return an empty array [].`,
110
+ },
111
+ };
112
+ function getDomainIds() {
113
+ return Object.keys(exports.DOMAIN_REGISTRY);
114
+ }
115
+ function getDomain(id) {
116
+ return exports.DOMAIN_REGISTRY[id] ?? exports.DOMAIN_REGISTRY[exports.DEFAULT_DOMAIN];
117
+ }
118
+ //# sourceMappingURL=domains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domains.js","sourceRoot":"","sources":["../src/domains.ts"],"names":[],"mappings":";;;AAqHA,oCAEC;AAED,8BAEC;AApHY,QAAA,cAAc,GAAG,SAAS,CAAC;AAE3B,QAAA,eAAe,GAAiC;IAC3D,YAAY,EAAE;QACZ,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,yFAAyF;QACtG,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0NA6BoM;KACvN;IAED,kBAAkB,EAAE;QAClB,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,sFAAsF;QACnG,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;0NA2BoM;KACvN;IAED,SAAS,EAAE;QACT,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,2EAA2E;QACxF,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0NA6BoM;KACvN;CACF,CAAC;AAEF,SAAgB,YAAY;IAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,uBAAe,CAAC,CAAC;AACtC,CAAC;AAED,SAAgB,SAAS,CAAC,EAAU;IAClC,OAAO,uBAAe,CAAC,EAAE,CAAC,IAAI,uBAAe,CAAC,sBAAc,CAAC,CAAC;AAChE,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Parse a comma-separated selection of numbers and ranges (e.g. "1,3,5-8").
3
+ * Returns sorted deduplicated 1-based indices, or null if invalid.
4
+ */
5
+ export declare function parseSelection(input: string, max: number): number[] | null;
6
+ export declare function factsList(): Promise<void>;
7
+ export declare function factsSearch(query: string): Promise<void>;