bernard-agent 0.7.0 → 0.8.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 (48) hide show
  1. package/README.md +96 -50
  2. package/dist/agent.d.ts +7 -4
  3. package/dist/agent.js +88 -127
  4. package/dist/agent.js.map +1 -1
  5. package/dist/config.d.ts +19 -1
  6. package/dist/config.js +76 -4
  7. package/dist/config.js.map +1 -1
  8. package/dist/critic.d.ts +32 -0
  9. package/dist/critic.js +118 -0
  10. package/dist/critic.js.map +1 -0
  11. package/dist/cron/runner.js +54 -34
  12. package/dist/cron/runner.js.map +1 -1
  13. package/dist/output.d.ts +6 -4
  14. package/dist/output.js +31 -10
  15. package/dist/output.js.map +1 -1
  16. package/dist/overlap-checker.d.ts +61 -0
  17. package/dist/overlap-checker.js +106 -0
  18. package/dist/overlap-checker.js.map +1 -0
  19. package/dist/pac.d.ts +37 -0
  20. package/dist/pac.js +69 -0
  21. package/dist/pac.js.map +1 -0
  22. package/dist/rag-query.js +2 -1
  23. package/dist/rag-query.js.map +1 -1
  24. package/dist/rag-worker.js +4 -3
  25. package/dist/rag-worker.js.map +1 -1
  26. package/dist/repl.js +205 -9
  27. package/dist/repl.js.map +1 -1
  28. package/dist/specialist-candidates.d.ts +13 -0
  29. package/dist/specialist-candidates.js.map +1 -1
  30. package/dist/specialist-detector.d.ts +20 -5
  31. package/dist/specialist-detector.js +72 -9
  32. package/dist/specialist-detector.js.map +1 -1
  33. package/dist/specialist-matcher.d.ts +5 -0
  34. package/dist/specialist-matcher.js +1 -0
  35. package/dist/specialist-matcher.js.map +1 -1
  36. package/dist/tools/datetime.d.ts +6 -0
  37. package/dist/tools/datetime.js +38 -1
  38. package/dist/tools/datetime.js.map +1 -1
  39. package/dist/tools/mcp-url.js +1 -1
  40. package/dist/tools/mcp-url.js.map +1 -1
  41. package/dist/tools/specialist-run.js +37 -12
  42. package/dist/tools/specialist-run.js.map +1 -1
  43. package/dist/tools/subagent.js +37 -12
  44. package/dist/tools/subagent.js.map +1 -1
  45. package/dist/tools/task.d.ts +14 -11
  46. package/dist/tools/task.js +93 -31
  47. package/dist/tools/task.js.map +1 -1
  48. package/package.json +1 -1
package/dist/repl.js CHANGED
@@ -39,6 +39,7 @@ const childProcess = __importStar(require("node:child_process"));
39
39
  const path = __importStar(require("node:path"));
40
40
  const fs = __importStar(require("node:fs"));
41
41
  const crypto = __importStar(require("node:crypto"));
42
+ const os = __importStar(require("node:os"));
42
43
  const paths_js_1 = require("./paths.js");
43
44
  const agent_js_1 = require("./agent.js");
44
45
  const memory_js_1 = require("./memory.js");
@@ -64,6 +65,38 @@ const index_js_2 = require("./tools/index.js");
64
65
  const output_js_2 = require("./output.js");
65
66
  const memory_context_js_1 = require("./memory-context.js");
66
67
  const logger_js_1 = require("./logger.js");
68
+ /** Promote a pending candidate to a full specialist, updating status and logging. */
69
+ function promoteCandidate(candidate, specialistStore, candidateStore, threshold) {
70
+ specialistStore.create(candidate.draftId, candidate.name, candidate.description, candidate.systemPrompt, candidate.guidelines);
71
+ candidateStore.updateStatus(candidate.id, 'accepted');
72
+ (0, logger_js_1.debugLog)('repl:auto-create', {
73
+ candidate: candidate.name,
74
+ confidence: candidate.confidence,
75
+ threshold,
76
+ });
77
+ (0, output_js_1.printInfo)(`Specialist auto-created: "${candidate.name}" (confidence: ${Math.round(candidate.confidence * 100)}%). Use /specialists to view.`);
78
+ }
79
+ /** Re-evaluate all pending candidates and auto-create those meeting the threshold. */
80
+ function promotePendingCandidates(candidateStore, specialistStore, threshold) {
81
+ const pending = candidateStore.listPending();
82
+ for (const c of pending) {
83
+ if (c.confidence >= threshold) {
84
+ try {
85
+ promoteCandidate(c, specialistStore, candidateStore, threshold);
86
+ }
87
+ catch (error) {
88
+ const errorMessage = error instanceof Error ? error.message : String(error);
89
+ (0, logger_js_1.debugLog)('repl:auto-create', {
90
+ action: 're-evaluate-failed',
91
+ candidate: c.name,
92
+ confidence: c.confidence,
93
+ error: errorMessage,
94
+ });
95
+ (0, output_js_2.printWarning)(`Failed to auto-create specialist "${c.name}": ${errorMessage}`);
96
+ }
97
+ }
98
+ }
99
+ }
67
100
  /**
68
101
  * Launch the interactive REPL, wiring up readline, MCP servers, memory stores, and the agent loop.
69
102
  * @param config - Resolved runtime configuration (provider, model, tokens, etc.).
@@ -86,7 +119,7 @@ async function startRepl(config, alertContext, resume) {
86
119
  { command: '/theme', description: 'Switch color theme' },
87
120
  {
88
121
  command: '/options',
89
- description: 'View and set options (max-tokens, shell-timeout, token-window)',
122
+ description: 'View and set options (max-tokens, max-steps, shell-timeout, token-window)',
90
123
  },
91
124
  { command: '/update', description: 'Check for and install updates' },
92
125
  { command: '/task', description: 'Run an isolated task (no history, structured output)' },
@@ -97,6 +130,8 @@ async function startRepl(config, alertContext, resume) {
97
130
  { command: '/create-specialist', description: 'Create a specialist with guided AI assistance' },
98
131
  { command: '/candidates', description: 'Review specialist suggestions' },
99
132
  { command: '/critic', description: 'Toggle critic mode for response verification' },
133
+ { command: '/agent-options', description: 'Configure auto-creation for specialist agents' },
134
+ { command: '/debug', description: 'Print diagnostic report for troubleshooting' },
100
135
  { command: '/exit', description: 'Quit Bernard' },
101
136
  ];
102
137
  const routineStore = new routines_js_1.RoutineStore();
@@ -381,10 +416,7 @@ async function startRepl(config, alertContext, resume) {
381
416
  console.log();
382
417
  void prompt();
383
418
  }
384
- /**
385
- * Execute a task in single-step mode (maxSteps: 2) with structured JSON output.
386
- * Used by both /task <description> and /task-{id} saved task invocations.
387
- */
419
+ /** Execute a task with structured JSON output. Used by /task and /task-{id}. */
388
420
  async function executeTask(description, context) {
389
421
  processing = true;
390
422
  interrupted = false;
@@ -417,14 +449,16 @@ async function startRepl(config, alertContext, resume) {
417
449
  if (context) {
418
450
  userMessage += `\n\nAdditional context: ${context}`;
419
451
  }
452
+ const taskMaxSteps = (0, task_js_1.getTaskMaxSteps)(config);
420
453
  const result = await (0, ai_1.generateText)({
421
454
  model: (0, index_js_1.getModel)(config.provider, config.model),
422
455
  tools: baseTools,
423
- maxSteps: 2,
456
+ maxSteps: taskMaxSteps,
424
457
  maxTokens: config.maxTokens,
425
458
  system: systemPrompt,
426
459
  messages: [{ role: 'user', content: userMessage }],
427
460
  abortSignal: taskAbortController.signal,
461
+ experimental_prepareStep: (0, task_js_1.makeLastStepTextOnly)(taskMaxSteps),
428
462
  onStepFinish: ({ text, toolCalls, toolResults }) => {
429
463
  for (const tc of toolCalls) {
430
464
  (0, output_js_2.printToolCall)(tc.toolName, tc.args);
@@ -437,6 +471,11 @@ async function startRepl(config, alertContext, resume) {
437
471
  }
438
472
  },
439
473
  });
474
+ if (result.finishReason === 'length') {
475
+ const recommended = Math.ceil((config.maxTokens * 2) / 1024) * 1024;
476
+ (0, output_js_2.printWarning)(`Task response was truncated (hit ${config.maxTokens} token limit). ` +
477
+ `Consider increasing: /options max-tokens ${recommended}`);
478
+ }
440
479
  (0, output_js_1.stopSpinner)();
441
480
  const taskResult = (0, task_js_1.wrapTaskResult)(result.text);
442
481
  (0, output_js_2.printTaskEnd)(JSON.stringify(taskResult));
@@ -528,7 +567,7 @@ async function startRepl(config, alertContext, resume) {
528
567
  ],
529
568
  }),
530
569
  (0, context_js_1.extractDomainFacts)(serialized, config),
531
- (0, specialist_detector_js_1.detectSpecialistCandidate)(serialized, config, specialistStore.getSummaries(), candidateStore.listPending()).catch(() => null),
570
+ (0, specialist_detector_js_1.detectSpecialistCandidate)(serialized, config, specialistStore.list(), candidateStore.listPending()).catch(() => null),
532
571
  ]);
533
572
  const summary = summaryResult.text?.trim();
534
573
  if (summary) {
@@ -556,8 +595,26 @@ async function startRepl(config, alertContext, resume) {
556
595
  }
557
596
  if (candidateResult) {
558
597
  try {
559
- candidateStore.create(candidateResult, 'clear-save');
560
- (0, output_js_1.printInfo)(`Specialist suggestion detected: "${candidateResult.name}". Use /candidates to review.`);
598
+ if (candidateResult.type === 'new-candidate') {
599
+ const created = candidateStore.create(candidateResult.candidate, 'clear-save');
600
+ if (config.autoCreateSpecialists &&
601
+ candidateResult.candidate.confidence >= config.autoCreateThreshold) {
602
+ promoteCandidate({ ...candidateResult.candidate, id: created.id }, specialistStore, candidateStore, config.autoCreateThreshold);
603
+ }
604
+ else {
605
+ (0, logger_js_1.debugLog)('repl:auto-create', {
606
+ action: 'skipped',
607
+ candidate: candidateResult.candidate.name,
608
+ confidence: candidateResult.candidate.confidence,
609
+ threshold: config.autoCreateThreshold,
610
+ autoCreateEnabled: config.autoCreateSpecialists,
611
+ });
612
+ (0, output_js_1.printInfo)(`Specialist suggestion detected: "${candidateResult.candidate.name}". Use /candidates to review.`);
613
+ }
614
+ }
615
+ else if (candidateResult.type === 'enhance-existing') {
616
+ (0, output_js_1.printInfo)(`Enhancement suggested for specialist "${candidateResult.enhancement.existingSpecialistId}": ${candidateResult.enhancement.reasoning}`);
617
+ }
561
618
  }
562
619
  catch {
563
620
  // Silent — candidate storage failure is non-critical
@@ -1092,6 +1149,130 @@ Remember: the systemPrompt should read like a persona definition — who this sp
1092
1149
  void prompt();
1093
1150
  return;
1094
1151
  }
1152
+ if (trimmed === '/agent-options' || trimmed.startsWith('/agent-options ')) {
1153
+ const args = trimmed.slice('/agent-options'.length).trim();
1154
+ if (!args) {
1155
+ // Display current settings
1156
+ (0, output_js_1.printInfo)(`Auto-create specialists: ${config.autoCreateSpecialists ? 'on' : 'off'}`);
1157
+ (0, output_js_1.printInfo)(`Auto-create threshold: ${config.autoCreateThreshold} (${Math.round(config.autoCreateThreshold * 100)}%)`);
1158
+ }
1159
+ else if (args === 'auto-create on') {
1160
+ config.autoCreateSpecialists = true;
1161
+ (0, config_js_1.savePreferences)({
1162
+ ...(0, config_js_1.loadPreferences)(),
1163
+ autoCreateSpecialists: true,
1164
+ provider: config.provider,
1165
+ model: config.model,
1166
+ });
1167
+ (0, output_js_1.printInfo)('Auto-create specialists: on');
1168
+ promotePendingCandidates(candidateStore, specialistStore, config.autoCreateThreshold);
1169
+ }
1170
+ else if (args === 'auto-create off') {
1171
+ config.autoCreateSpecialists = false;
1172
+ (0, config_js_1.savePreferences)({
1173
+ ...(0, config_js_1.loadPreferences)(),
1174
+ autoCreateSpecialists: false,
1175
+ provider: config.provider,
1176
+ model: config.model,
1177
+ });
1178
+ (0, output_js_1.printInfo)('Auto-create specialists: off');
1179
+ }
1180
+ else if (args.startsWith('threshold ')) {
1181
+ const val = parseFloat(args.slice('threshold '.length));
1182
+ if (isNaN(val) || val < 0 || val > 100) {
1183
+ (0, output_js_1.printError)('Threshold must be a number between 0 and 100 (e.g. 0.8 or 80)');
1184
+ }
1185
+ else {
1186
+ const normalized = (0, config_js_1.normalizeThreshold)(val);
1187
+ config.autoCreateThreshold = normalized;
1188
+ (0, config_js_1.savePreferences)({
1189
+ ...(0, config_js_1.loadPreferences)(),
1190
+ autoCreateThreshold: normalized,
1191
+ provider: config.provider,
1192
+ model: config.model,
1193
+ });
1194
+ (0, output_js_1.printInfo)(`Auto-create threshold: ${normalized} (${Math.round(normalized * 100)}%)`);
1195
+ if (config.autoCreateSpecialists) {
1196
+ promotePendingCandidates(candidateStore, specialistStore, config.autoCreateThreshold);
1197
+ }
1198
+ }
1199
+ }
1200
+ else {
1201
+ (0, output_js_1.printError)('Usage: /agent-options auto-create on|off OR /agent-options threshold <0-100>');
1202
+ }
1203
+ void prompt();
1204
+ return;
1205
+ }
1206
+ if (trimmed === '/debug') {
1207
+ const t = (0, theme_js_1.getTheme)();
1208
+ console.log(t.accent('\n Bernard Diagnostic Report'));
1209
+ console.log(t.accent(' ' + '─'.repeat(40)));
1210
+ console.log(t.text('\n Runtime:'));
1211
+ console.log(t.muted(` Bernard version: ${(0, update_js_1.getLocalVersion)()}`));
1212
+ console.log(t.muted(` Node.js version: ${process.version}`));
1213
+ console.log(t.muted(` OS: ${process.platform} ${process.arch} (${os.release()})`));
1214
+ console.log(t.text('\n LLM:'));
1215
+ console.log(t.muted(` Provider: ${config.provider}`));
1216
+ console.log(t.muted(` Model: ${config.model}`));
1217
+ console.log(t.muted(` maxTokens: ${config.maxTokens}`));
1218
+ console.log(t.muted(` shellTimeout: ${config.shellTimeout}ms`));
1219
+ console.log(t.muted(` tokenWindow: ${config.tokenWindow || 'auto-detect'}`));
1220
+ console.log(t.text('\n API Keys:'));
1221
+ for (const { provider, hasKey } of (0, config_js_1.getProviderKeyStatus)()) {
1222
+ console.log(t.muted(` ${provider}: ${hasKey ? 'configured' : 'not set'}`));
1223
+ }
1224
+ const debugStatuses = mcpManager.getServerStatuses();
1225
+ console.log(t.text('\n MCP Servers:'));
1226
+ if (debugStatuses.length === 0) {
1227
+ console.log(t.muted(' (none configured)'));
1228
+ }
1229
+ else {
1230
+ for (const s of debugStatuses) {
1231
+ if (s.connected) {
1232
+ console.log(t.muted(` ${s.name}: connected (${s.toolCount} tools)`));
1233
+ }
1234
+ else {
1235
+ console.log(t.muted(` ${s.name}: failed — ${s.error}`));
1236
+ }
1237
+ }
1238
+ }
1239
+ console.log(t.text('\n RAG:'));
1240
+ console.log(t.muted(` Enabled: ${config.ragEnabled}`));
1241
+ if (ragStore) {
1242
+ console.log(t.muted(` Facts: ${ragStore.count()}`));
1243
+ }
1244
+ console.log(t.text('\n Memory:'));
1245
+ console.log(t.muted(` Persistent memories: ${memoryStore.listMemory().length}`));
1246
+ console.log(t.text('\n Cron:'));
1247
+ console.log(t.muted(` Daemon: ${(0, client_js_1.isDaemonRunning)() ? 'running' : 'stopped'}`));
1248
+ let debugJobCount = 0;
1249
+ try {
1250
+ const raw = fs.readFileSync(paths_js_1.CRON_JOBS_FILE, 'utf-8');
1251
+ debugJobCount = JSON.parse(raw).length;
1252
+ }
1253
+ catch {
1254
+ // jobs.json doesn't exist yet — that's fine
1255
+ }
1256
+ console.log(t.muted(` Jobs: ${debugJobCount}`));
1257
+ console.log(t.text('\n Conversation:'));
1258
+ console.log(t.muted(` Messages: ${agent.getHistory().length}`));
1259
+ console.log(t.text('\n Settings:'));
1260
+ console.log(t.muted(` Theme: ${(0, theme_js_1.getActiveThemeKey)()}`));
1261
+ console.log(t.muted(` Critic mode: ${config.criticMode ? 'on' : 'off'}`));
1262
+ const debugEnabled = process.env.BERNARD_DEBUG === 'true' || process.env.BERNARD_DEBUG === '1';
1263
+ console.log(t.muted(` Debug mode: ${debugEnabled ? 'on' : 'off'}`));
1264
+ console.log(t.text('\n Paths:'));
1265
+ if (process.env.BERNARD_HOME) {
1266
+ console.log(t.muted(` BERNARD_HOME: ${process.env.BERNARD_HOME}`));
1267
+ }
1268
+ console.log(t.muted(` Config: ${paths_js_1.CONFIG_DIR}`));
1269
+ console.log(t.muted(` Data: ${paths_js_1.DATA_DIR}`));
1270
+ console.log(t.muted(` Cache: ${paths_js_1.CACHE_DIR}`));
1271
+ console.log(t.muted(` State: ${paths_js_1.STATE_DIR}`));
1272
+ console.log();
1273
+ void prompt();
1274
+ return;
1275
+ }
1095
1276
  if (trimmed === '/task' || trimmed.startsWith('/task ')) {
1096
1277
  const taskDescription = trimmed.slice('/task'.length).trim();
1097
1278
  if (!taskDescription) {
@@ -1192,6 +1373,21 @@ Remember: the systemPrompt should read like a persona definition — who this sp
1192
1373
  (0, output_js_1.printInfo)('Interrupted.');
1193
1374
  interrupted = false;
1194
1375
  }
1376
+ // Offer to double the loop limit when the agent exhausts its step budget
1377
+ const stepHit = agent.getStepLimitHit();
1378
+ if (stepHit) {
1379
+ const doubled = stepHit.currentLimit * 2;
1380
+ const hint = stepHit.hitCount >= 2 ? ' (Tip: /options max-steps to set permanently)' : '';
1381
+ rl.question((0, theme_js_1.getTheme)().warning(`Double to ${doubled} for this session?${hint} (y/N): `), (answer) => {
1382
+ if (answer.trim().toLowerCase() === 'y') {
1383
+ config.maxSteps = doubled;
1384
+ (0, output_js_1.printInfo)(`Loop limit doubled to ${doubled} for this session.`);
1385
+ }
1386
+ console.log();
1387
+ void prompt();
1388
+ });
1389
+ return;
1390
+ }
1195
1391
  console.log(); // blank line between turns
1196
1392
  void prompt();
1197
1393
  };
package/dist/repl.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"repl.js","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repl.js","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,19 @@ export interface SpecialistCandidate {
11
11
  source: 'exit' | 'clear-save';
12
12
  acknowledged: boolean;
13
13
  status: 'pending' | 'accepted' | 'rejected' | 'dismissed';
14
+ /** Overlap score with the closest existing specialist or candidate (0-1). */
15
+ overlapScore?: number;
16
+ /** ID of the specialist or candidate this overlaps with most. */
17
+ overlapsWithId?: string;
18
+ /** Enhancement suggestion when this candidate overlaps with an existing specialist. */
19
+ enhancement?: {
20
+ existingSpecialistId: string;
21
+ mergedGuidelines: string[];
22
+ mergedDescription?: string;
23
+ reasoning: string;
24
+ };
25
+ /** Whether this candidate was auto-created (above the confidence threshold). */
26
+ autoCreated?: boolean;
14
27
  }
15
28
  /** Narrow interface for consumers that only need read + status update (e.g. specialist tool). */
16
29
  export type CandidateStoreReader = Pick<CandidateStore, 'listPending' | 'updateStatus'>;
@@ -1 +1 @@
1
- {"version":3,"file":"specialist-candidates.js","sourceRoot":"","sources":["../src/specialist-candidates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"specialist-candidates.js","sourceRoot":"","sources":["../src/specialist-candidates.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,27 @@
1
1
  import type { BernardConfig } from './config.js';
2
- import type { SpecialistSummary } from './specialists.js';
2
+ import type { Specialist, SpecialistSummary } from './specialists.js';
3
3
  import type { SpecialistCandidate } from './specialist-candidates.js';
4
- export declare const DETECTION_SYSTEM_PROMPT = "You are a pattern detector that analyzes conversation transcripts to identify recurring delegation patterns that would benefit from a saved specialist agent.\n\nA specialist is a reusable expert persona with a system prompt and behavioral guidelines. They are useful when the user repeatedly delegates similar types of work with consistent behavioral instructions.\n\nAnalyze the conversation for:\n1. **Repeated sub-agent delegations** with similar behavioral instructions or system prompts\n2. **User corrections** that suggest a persistent persona would help (e.g., \"no, always format it like X\")\n3. **Detailed behavioral rules** described by the user for a type of work (e.g., \"when reviewing code, always check for X, Y, Z\")\n4. **Similar system prompt patterns** across delegations in the conversation\n\nDo NOT suggest a specialist for:\n- One-off tasks that are unlikely to recur\n- Simple tool usage without behavioral customization\n- Patterns already covered by an existing specialist\n\nRespond with a JSON object (no markdown fences):\n{\n \"shouldCreate\": boolean,\n \"candidate\": {\n \"draftId\": \"kebab-case-id\",\n \"name\": \"Display Name\",\n \"description\": \"One-line description\",\n \"systemPrompt\": \"The specialist's persona and behavioral instructions\",\n \"guidelines\": [\"Rule 1\", \"Rule 2\"],\n \"confidence\": 0.0-1.0,\n \"reasoning\": \"Why this specialist was proposed\"\n } | null\n}\n\nSet shouldCreate to false and candidate to null if no strong pattern is detected.\nBe conservative \u2014 only suggest specialists for clear, recurring patterns with confidence >= 0.7.";
4
+ export declare const DETECTION_SYSTEM_PROMPT = "You are a pattern detector that analyzes conversation transcripts to identify recurring delegation patterns that would benefit from a saved specialist agent.\n\nA specialist is a reusable expert persona with a system prompt and behavioral guidelines. They are useful when the user repeatedly delegates similar types of work with consistent behavioral instructions.\n\nAnalyze the conversation for:\n1. **Repeated sub-agent delegations** with similar behavioral instructions or system prompts\n2. **User corrections** that suggest a persistent persona would help (e.g., \"no, always format it like X\")\n3. **Detailed behavioral rules** described by the user for a type of work (e.g., \"when reviewing code, always check for X, Y, Z\")\n4. **Similar system prompt patterns** across delegations in the conversation\n\nDo NOT suggest a specialist for:\n- One-off tasks that are unlikely to recur\n- Simple tool usage without behavioral customization\n- Patterns already covered by an existing specialist\n\nIf a candidate significantly overlaps with an existing specialist:\n- Set shouldCreate to false and shouldEnhance to true\n- In enhancementTarget, specify which specialist to enhance and what to add\n- Include merged guidelines that combine the existing specialist's strengths with the new pattern\n\nRespond with a JSON object (no markdown fences):\n{\n \"shouldCreate\": boolean,\n \"shouldEnhance\": boolean,\n \"candidate\": {\n \"draftId\": \"kebab-case-id\",\n \"name\": \"Display Name\",\n \"description\": \"One-line description\",\n \"systemPrompt\": \"The specialist's persona and behavioral instructions\",\n \"guidelines\": [\"Rule 1\", \"Rule 2\"],\n \"confidence\": 0.0-1.0,\n \"reasoning\": \"Why this specialist was proposed\"\n } | null,\n \"enhancementTarget\": {\n \"existingSpecialistId\": \"string\",\n \"mergedGuidelines\": [\"rule1\", \"rule2\"],\n \"mergedDescription\": \"enhanced description\",\n \"reasoning\": \"Why this should be merged\"\n } | null\n}\n\nSet shouldCreate to false and candidate to null if no strong pattern is detected.\nBe conservative \u2014 only suggest specialists for clear, recurring patterns with confidence >= 0.7.";
5
+ /**
6
+ * Result of specialist detection — either a new candidate, an enhancement suggestion,
7
+ * or null if nothing was detected.
8
+ */
9
+ export type DetectionResult = {
10
+ type: 'new-candidate';
11
+ candidate: Omit<SpecialistCandidate, 'id' | 'detectedAt' | 'acknowledged' | 'status' | 'source'>;
12
+ } | {
13
+ type: 'enhance-existing';
14
+ enhancement: {
15
+ existingSpecialistId: string;
16
+ mergedGuidelines: string[];
17
+ mergedDescription?: string;
18
+ reasoning: string;
19
+ };
20
+ } | null;
5
21
  /**
6
22
  * Analyze a serialized conversation for recurring delegation patterns
7
23
  * that would benefit from a saved specialist agent.
8
24
  *
9
- * Returns a candidate draft ready for `CandidateStore.create()`, or `null`
10
- * if no strong pattern was detected.
25
+ * Returns a discriminated union: a new candidate, an enhancement suggestion, or null.
11
26
  */
12
- export declare function detectSpecialistCandidate(serializedText: string, config: BernardConfig, existingSpecialists: SpecialistSummary[], pendingCandidates: SpecialistCandidate[]): Promise<Omit<SpecialistCandidate, 'id' | 'detectedAt' | 'acknowledged' | 'status' | 'source'> | null>;
27
+ export declare function detectSpecialistCandidate(serializedText: string, config: BernardConfig, existingSpecialists: (SpecialistSummary | Specialist)[], pendingCandidates: SpecialistCandidate[]): Promise<DetectionResult>;