bernard-agent 0.8.1 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. package/README.md +80 -44
  2. package/dist/agent.d.ts +14 -3
  3. package/dist/agent.js +228 -38
  4. package/dist/agent.js.map +1 -1
  5. package/dist/builtin-specialists/correction-agent.json +32 -0
  6. package/dist/builtin-specialists/file-wrapper.json +43 -0
  7. package/dist/builtin-specialists/shell-wrapper.json +50 -0
  8. package/dist/builtin-specialists/specialist-creator.json +32 -0
  9. package/dist/builtin-specialists/web-wrapper.json +38 -0
  10. package/dist/candidate-bootstrap.d.ts +18 -0
  11. package/dist/candidate-bootstrap.js +61 -0
  12. package/dist/candidate-bootstrap.js.map +1 -0
  13. package/dist/config.d.ts +126 -10
  14. package/dist/config.js +222 -45
  15. package/dist/config.js.map +1 -1
  16. package/dist/context.js +23 -6
  17. package/dist/context.js.map +1 -1
  18. package/dist/correction-candidates.d.ts +54 -0
  19. package/dist/correction-candidates.js +138 -0
  20. package/dist/correction-candidates.js.map +1 -0
  21. package/dist/correction.d.ts +67 -0
  22. package/dist/correction.js +138 -0
  23. package/dist/correction.js.map +1 -0
  24. package/dist/critic.js +2 -1
  25. package/dist/critic.js.map +1 -1
  26. package/dist/cron/notes-store.d.ts +41 -0
  27. package/dist/cron/notes-store.js +134 -0
  28. package/dist/cron/notes-store.js.map +1 -0
  29. package/dist/cron/runner.js +25 -3
  30. package/dist/cron/runner.js.map +1 -1
  31. package/dist/cron/scoped-notes-tools.d.ts +24 -0
  32. package/dist/cron/scoped-notes-tools.js +50 -0
  33. package/dist/cron/scoped-notes-tools.js.map +1 -0
  34. package/dist/custom-providers.d.ts +80 -0
  35. package/dist/custom-providers.js +238 -0
  36. package/dist/custom-providers.js.map +1 -0
  37. package/dist/fs-utils.d.ts +2 -0
  38. package/dist/fs-utils.js +44 -0
  39. package/dist/fs-utils.js.map +1 -0
  40. package/dist/history.js +3 -1
  41. package/dist/history.js.map +1 -1
  42. package/dist/image.d.ts +59 -0
  43. package/dist/image.js +228 -0
  44. package/dist/image.js.map +1 -0
  45. package/dist/index.js +72 -4
  46. package/dist/index.js.map +1 -1
  47. package/dist/mcp.js +1 -1
  48. package/dist/mcp.js.map +1 -1
  49. package/dist/memory.d.ts +13 -0
  50. package/dist/memory.js +45 -4
  51. package/dist/memory.js.map +1 -1
  52. package/dist/menu.d.ts +97 -0
  53. package/dist/menu.js +338 -0
  54. package/dist/menu.js.map +1 -0
  55. package/dist/os-info.d.ts +22 -0
  56. package/dist/os-info.js +111 -0
  57. package/dist/os-info.js.map +1 -0
  58. package/dist/output.d.ts +35 -1
  59. package/dist/output.js +256 -45
  60. package/dist/output.js.map +1 -1
  61. package/dist/pac.d.ts +14 -2
  62. package/dist/pac.js +5 -5
  63. package/dist/pac.js.map +1 -1
  64. package/dist/paths.d.ts +5 -0
  65. package/dist/paths.js +6 -1
  66. package/dist/paths.js.map +1 -1
  67. package/dist/plan-store.d.ts +47 -0
  68. package/dist/plan-store.js +94 -0
  69. package/dist/plan-store.js.map +1 -0
  70. package/dist/prompt-rewriter.d.ts +29 -0
  71. package/dist/prompt-rewriter.js +155 -0
  72. package/dist/prompt-rewriter.js.map +1 -0
  73. package/dist/providers/index.d.ts +56 -4
  74. package/dist/providers/index.js +86 -5
  75. package/dist/providers/index.js.map +1 -1
  76. package/dist/providers/profiles.d.ts +37 -0
  77. package/dist/providers/profiles.js +110 -0
  78. package/dist/providers/profiles.js.map +1 -0
  79. package/dist/providers/types.d.ts +11 -2
  80. package/dist/providers/types.js +3 -0
  81. package/dist/providers/types.js.map +1 -1
  82. package/dist/rag-query.js +15 -1
  83. package/dist/rag-query.js.map +1 -1
  84. package/dist/react.d.ts +38 -0
  85. package/dist/react.js +116 -0
  86. package/dist/react.js.map +1 -0
  87. package/dist/reasoning-log.d.ts +30 -0
  88. package/dist/reasoning-log.js +102 -0
  89. package/dist/reasoning-log.js.map +1 -0
  90. package/dist/reference-resolver.d.ts +47 -0
  91. package/dist/reference-resolver.js +316 -0
  92. package/dist/reference-resolver.js.map +1 -0
  93. package/dist/reference-tool-lookup.d.ts +37 -0
  94. package/dist/reference-tool-lookup.js +318 -0
  95. package/dist/reference-tool-lookup.js.map +1 -0
  96. package/dist/repl.js +1038 -371
  97. package/dist/repl.js.map +1 -1
  98. package/dist/setup.js +2 -1
  99. package/dist/setup.js.map +1 -1
  100. package/dist/specialist-detector.js +2 -1
  101. package/dist/specialist-detector.js.map +1 -1
  102. package/dist/specialists.d.ts +74 -3
  103. package/dist/specialists.js +152 -20
  104. package/dist/specialists.js.map +1 -1
  105. package/dist/structured-output.d.ts +58 -0
  106. package/dist/structured-output.js +138 -0
  107. package/dist/structured-output.js.map +1 -0
  108. package/dist/theme.d.ts +2 -0
  109. package/dist/theme.js +18 -12
  110. package/dist/theme.js.map +1 -1
  111. package/dist/tool-call-repair.d.ts +29 -0
  112. package/dist/tool-call-repair.js +99 -0
  113. package/dist/tool-call-repair.js.map +1 -0
  114. package/dist/tool-profiles.d.ts +70 -0
  115. package/dist/tool-profiles.js +385 -0
  116. package/dist/tool-profiles.js.map +1 -0
  117. package/dist/tools/activity-summary.d.ts +15 -0
  118. package/dist/tools/activity-summary.js +44 -0
  119. package/dist/tools/activity-summary.js.map +1 -0
  120. package/dist/tools/ask-user.d.ts +49 -0
  121. package/dist/tools/ask-user.js +52 -0
  122. package/dist/tools/ask-user.js.map +1 -0
  123. package/dist/tools/augment.d.ts +17 -0
  124. package/dist/tools/augment.js +102 -0
  125. package/dist/tools/augment.js.map +1 -0
  126. package/dist/tools/cron-logs.js +7 -0
  127. package/dist/tools/cron-logs.js.map +1 -1
  128. package/dist/tools/cron-notes.d.ts +52 -0
  129. package/dist/tools/cron-notes.js +105 -0
  130. package/dist/tools/cron-notes.js.map +1 -0
  131. package/dist/tools/datetime.d.ts +7 -0
  132. package/dist/tools/datetime.js +29 -3
  133. package/dist/tools/datetime.js.map +1 -1
  134. package/dist/tools/evaluate.d.ts +20 -0
  135. package/dist/tools/evaluate.js +29 -0
  136. package/dist/tools/evaluate.js.map +1 -0
  137. package/dist/tools/index.js +4 -0
  138. package/dist/tools/index.js.map +1 -1
  139. package/dist/tools/mcp.d.ts +3 -3
  140. package/dist/tools/plan.d.ts +81 -0
  141. package/dist/tools/plan.js +108 -0
  142. package/dist/tools/plan.js.map +1 -0
  143. package/dist/tools/result-cap.d.ts +24 -0
  144. package/dist/tools/result-cap.js +44 -0
  145. package/dist/tools/result-cap.js.map +1 -0
  146. package/dist/tools/routine.d.ts +3 -3
  147. package/dist/tools/shell.d.ts +14 -1
  148. package/dist/tools/shell.js +86 -4
  149. package/dist/tools/shell.js.map +1 -1
  150. package/dist/tools/specialist-run.d.ts +5 -3
  151. package/dist/tools/specialist-run.js +115 -24
  152. package/dist/tools/specialist-run.js.map +1 -1
  153. package/dist/tools/specialist.d.ts +83 -3
  154. package/dist/tools/specialist.js +83 -3
  155. package/dist/tools/specialist.js.map +1 -1
  156. package/dist/tools/subagent.js +32 -14
  157. package/dist/tools/subagent.js.map +1 -1
  158. package/dist/tools/task.d.ts +5 -5
  159. package/dist/tools/task.js +9 -42
  160. package/dist/tools/task.js.map +1 -1
  161. package/dist/tools/think.d.ts +18 -0
  162. package/dist/tools/think.js +25 -0
  163. package/dist/tools/think.js.map +1 -0
  164. package/dist/tools/tool-wrapper-run.d.ts +121 -0
  165. package/dist/tools/tool-wrapper-run.js +382 -0
  166. package/dist/tools/tool-wrapper-run.js.map +1 -0
  167. package/dist/tools/types.d.ts +28 -2
  168. package/dist/tools/web-search.d.ts +31 -0
  169. package/dist/tools/web-search.js +172 -0
  170. package/dist/tools/web-search.js.map +1 -0
  171. package/dist/tools/wrap-with-specialist.d.ts +55 -0
  172. package/dist/tools/wrap-with-specialist.js +137 -0
  173. package/dist/tools/wrap-with-specialist.js.map +1 -0
  174. package/package.json +2 -2
package/dist/config.js CHANGED
@@ -48,11 +48,16 @@ exports.getProviderApiKey = getProviderApiKey;
48
48
  exports.getAvailableProviders = getAvailableProviders;
49
49
  exports.isValidProvider = isValidProvider;
50
50
  exports.hasProviderKey = hasProviderKey;
51
+ exports.providerEnvVar = providerEnvVar;
52
+ exports.blankToUndefined = blankToUndefined;
53
+ exports.resolveProviderAndModel = resolveProviderAndModel;
54
+ exports.defaultProviderErrorMessage = defaultProviderErrorMessage;
51
55
  exports.loadConfig = loadConfig;
52
56
  const dotenv = __importStar(require("dotenv"));
53
57
  const path = __importStar(require("node:path"));
54
58
  const fs = __importStar(require("node:fs"));
55
59
  const paths_js_1 = require("./paths.js");
60
+ const custom_providers_js_1 = require("./custom-providers.js");
56
61
  const DEFAULT_PROVIDER = 'anthropic';
57
62
  const DEFAULT_MAX_TOKENS = 4096;
58
63
  const DEFAULT_SHELL_TIMEOUT = 30000;
@@ -103,7 +108,7 @@ exports.OPTIONS_REGISTRY = {
103
108
  'max-steps': {
104
109
  configKey: 'maxSteps',
105
110
  default: DEFAULT_MAX_STEPS,
106
- description: 'Maximum agent loop iterations per request (controls tool call chain length)',
111
+ description: 'Maximum agent loop iterations per request (tripled automatically in coordinator / ReAct mode)',
107
112
  envVar: 'BERNARD_MAX_STEPS',
108
113
  },
109
114
  };
@@ -128,12 +133,22 @@ function savePreferences(prefs) {
128
133
  data.maxSteps = prefs.maxSteps;
129
134
  if (prefs.theme !== undefined)
130
135
  data.theme = prefs.theme;
136
+ if (prefs.autoUpdate !== undefined)
137
+ data.autoUpdate = prefs.autoUpdate;
131
138
  if (prefs.criticMode !== undefined)
132
139
  data.criticMode = prefs.criticMode;
140
+ if (prefs.reactMode !== undefined)
141
+ data.reactMode = prefs.reactMode;
142
+ if (prefs.toolDetails !== undefined)
143
+ data.toolDetails = prefs.toolDetails;
133
144
  if (prefs.autoCreateSpecialists !== undefined)
134
145
  data.autoCreateSpecialists = prefs.autoCreateSpecialists;
135
146
  if (prefs.autoCreateThreshold !== undefined)
136
147
  data.autoCreateThreshold = prefs.autoCreateThreshold;
148
+ if (prefs.promptRewriter !== undefined)
149
+ data.promptRewriter = prefs.promptRewriter;
150
+ if (prefs.referenceLookup !== undefined)
151
+ data.referenceLookup = prefs.referenceLookup;
137
152
  // Preserve autoUpdate, criticMode, and auto-create settings from existing prefs when callers don't pass them
138
153
  let existing;
139
154
  try {
@@ -142,14 +157,18 @@ function savePreferences(prefs) {
142
157
  catch {
143
158
  /* ignore */
144
159
  }
145
- if (prefs.autoUpdate !== undefined) {
146
- data.autoUpdate = prefs.autoUpdate;
147
- }
148
- else if (existing && typeof existing.autoUpdate === 'boolean') {
149
- data.autoUpdate = existing.autoUpdate;
150
- }
151
- if (prefs.criticMode === undefined && existing && typeof existing.criticMode === 'boolean') {
152
- data.criticMode = existing.criticMode;
160
+ const booleanKeys = [
161
+ 'autoUpdate',
162
+ 'criticMode',
163
+ 'reactMode',
164
+ 'toolDetails',
165
+ 'promptRewriter',
166
+ 'referenceLookup',
167
+ ];
168
+ for (const k of booleanKeys) {
169
+ if (prefs[k] === undefined && existing && typeof existing[k] === 'boolean') {
170
+ data[k] = existing[k];
171
+ }
153
172
  }
154
173
  // Preserve numeric options from existing prefs when callers don't pass them.
155
174
  // Use 'in' to distinguish "key absent" (preserve) from "key explicitly set to undefined" (reset).
@@ -196,10 +215,14 @@ function loadPreferences() {
196
215
  theme: typeof parsed.theme === 'string' ? parsed.theme : undefined,
197
216
  autoUpdate: typeof parsed.autoUpdate === 'boolean' ? parsed.autoUpdate : undefined,
198
217
  criticMode: typeof parsed.criticMode === 'boolean' ? parsed.criticMode : undefined,
218
+ reactMode: typeof parsed.reactMode === 'boolean' ? parsed.reactMode : undefined,
219
+ toolDetails: typeof parsed.toolDetails === 'boolean' ? parsed.toolDetails : undefined,
199
220
  autoCreateSpecialists: typeof parsed.autoCreateSpecialists === 'boolean'
200
221
  ? parsed.autoCreateSpecialists
201
222
  : undefined,
202
223
  autoCreateThreshold: typeof parsed.autoCreateThreshold === 'number' ? parsed.autoCreateThreshold : undefined,
224
+ promptRewriter: typeof parsed.promptRewriter === 'boolean' ? parsed.promptRewriter : undefined,
225
+ referenceLookup: typeof parsed.referenceLookup === 'boolean' ? parsed.referenceLookup : undefined,
203
226
  };
204
227
  }
205
228
  catch {
@@ -222,11 +245,20 @@ function loadStoredKeys() {
222
245
  /**
223
246
  * Stores an API key for the given provider in the config directory (mode 0600).
224
247
  *
225
- * @throws {Error} If `provider` is not a recognised provider name.
248
+ * Accepts both built-in providers and custom providers that have been
249
+ * registered via `bernard add-provider`.
250
+ *
251
+ * @throws {Error} If `provider` is neither a built-in nor a known custom provider.
226
252
  */
227
253
  function saveProviderKey(provider, key) {
228
- if (!exports.PROVIDER_ENV_VARS[provider]) {
229
- throw new Error(`Unknown provider "${provider}". Supported: ${Object.keys(exports.PROVIDER_ENV_VARS).join(', ')}`);
254
+ const isBuiltin = !!exports.PROVIDER_ENV_VARS[provider];
255
+ if (!isBuiltin) {
256
+ const customProviders = (0, custom_providers_js_1.loadCustomProviders)();
257
+ if (!Object.hasOwn(customProviders, provider)) {
258
+ const known = [...Object.keys(exports.PROVIDER_ENV_VARS), ...Object.keys(customProviders)];
259
+ throw new Error(`Unknown provider "${provider}". Known: ${known.join(', ') || '(none)'}. ` +
260
+ `Run \`bernard add-provider ${provider} …\` first to register a custom provider.`);
261
+ }
230
262
  }
231
263
  const dir = path.dirname(paths_js_1.KEYS_PATH);
232
264
  if (!fs.existsSync(dir)) {
@@ -242,12 +274,9 @@ function saveProviderKey(provider, key) {
242
274
  *
243
275
  * Deletes `keys.json` entirely when no keys remain.
244
276
  *
245
- * @throws {Error} If `provider` is unrecognised or has no stored key.
277
+ * @throws {Error} If `provider` has no stored key.
246
278
  */
247
279
  function removeProviderKey(provider) {
248
- if (!exports.PROVIDER_ENV_VARS[provider]) {
249
- throw new Error(`Unknown provider "${provider}". Supported: ${Object.keys(exports.PROVIDER_ENV_VARS).join(', ')}`);
250
- }
251
280
  const existing = loadStoredKeys();
252
281
  if (!existing[provider]) {
253
282
  throw new Error(`No stored API key found for "${provider}".`);
@@ -321,9 +350,11 @@ function resetAllOptions() {
321
350
  });
322
351
  }
323
352
  /**
324
- * Returns the API key availability status for every known provider.
353
+ * Returns the API key availability status for every known provider
354
+ * built-in providers plus any registered custom providers.
325
355
  *
326
- * Checks both stored keys and environment variables.
356
+ * Checks both stored keys and environment variables (env vars apply only
357
+ * to the three built-in providers; custom providers always use `keys.json`).
327
358
  */
328
359
  function getProviderKeyStatus() {
329
360
  const cwdEnv = path.join(process.cwd(), '.env');
@@ -339,10 +370,17 @@ function getProviderKeyStatus() {
339
370
  dotenv.config({ path: legacyEnv });
340
371
  }
341
372
  const storedKeys = loadStoredKeys();
342
- return Object.entries(exports.PROVIDER_ENV_VARS).map(([provider, envVar]) => ({
373
+ const customProviders = (0, custom_providers_js_1.loadCustomProviders)();
374
+ const builtin = Object.entries(exports.PROVIDER_ENV_VARS).map(([provider, envVar]) => ({
343
375
  provider,
344
376
  hasKey: !!(storedKeys[provider] || process.env[envVar]),
345
377
  }));
378
+ const custom = Object.keys(customProviders).map((provider) => ({
379
+ provider,
380
+ hasKey: !!storedKeys[provider],
381
+ custom: true,
382
+ }));
383
+ return [...builtin, ...custom];
346
384
  }
347
385
  /** Known model identifiers for each provider, ordered by preference (first = default). */
348
386
  exports.PROVIDER_MODELS = {
@@ -374,31 +412,127 @@ exports.PROVIDER_MODELS = {
374
412
  'grok-3-mini',
375
413
  ],
376
414
  };
377
- /** Returns the first (preferred) model for a provider, falling back to Anthropic's default. */
378
- function getDefaultModel(provider) {
379
- return exports.PROVIDER_MODELS[provider]?.[0] ?? exports.PROVIDER_MODELS[DEFAULT_PROVIDER][0];
415
+ /**
416
+ * Returns the first (preferred) model for a provider.
417
+ *
418
+ * For built-ins this is the first entry in `PROVIDER_MODELS`. For custom
419
+ * providers it is the registered `defaultModel`. Falls back to Anthropic's
420
+ * built-in default when the provider is unknown.
421
+ */
422
+ function getDefaultModel(provider, customProviders) {
423
+ if (exports.PROVIDER_MODELS[provider])
424
+ return exports.PROVIDER_MODELS[provider][0];
425
+ const custom = customProviders ?? (0, custom_providers_js_1.loadCustomProviders)();
426
+ if (custom[provider])
427
+ return custom[provider].defaultModel;
428
+ return exports.PROVIDER_MODELS[DEFAULT_PROVIDER][0];
380
429
  }
381
- /** Returns the API key for the given provider from config, or undefined if not set. */
430
+ /**
431
+ * Returns the API key for the given provider from config, or undefined if not set.
432
+ *
433
+ * Looks up the generic `apiKeys` map first (which carries keys for both
434
+ * built-in and custom providers), then falls back to the legacy named fields
435
+ * (`anthropicApiKey`/`openaiApiKey`/`xaiApiKey`) for backwards compat with
436
+ * older test fixtures.
437
+ */
382
438
  function getProviderApiKey(config, provider) {
383
- const keyMap = {
384
- anthropic: config.anthropicApiKey,
385
- openai: config.openaiApiKey,
386
- xai: config.xaiApiKey,
387
- };
388
- return Object.hasOwn(keyMap, provider) ? keyMap[provider] : undefined;
439
+ if (config.apiKeys && Object.hasOwn(config.apiKeys, provider) && config.apiKeys[provider]) {
440
+ return config.apiKeys[provider];
441
+ }
442
+ switch (provider) {
443
+ case 'anthropic':
444
+ return config.anthropicApiKey;
445
+ case 'openai':
446
+ return config.openaiApiKey;
447
+ case 'xai':
448
+ return config.xaiApiKey;
449
+ default:
450
+ return undefined;
451
+ }
389
452
  }
390
- /** Returns provider names that have an API key present in the given config. */
453
+ /**
454
+ * Returns provider names that have an API key present in the given config.
455
+ * Built-ins precede custom providers in the returned list.
456
+ */
391
457
  function getAvailableProviders(config) {
392
- return Object.keys(exports.PROVIDER_MODELS).filter((p) => !!getProviderApiKey(config, p));
458
+ const builtin = Object.keys(exports.PROVIDER_MODELS).filter((p) => !!getProviderApiKey(config, p));
459
+ const custom = Object.keys(config.customProviders ?? {}).filter((p) => !!getProviderApiKey(config, p));
460
+ return [...builtin, ...custom];
393
461
  }
394
- /** Returns true if the given provider name is a known provider in PROVIDER_MODELS. */
395
- function isValidProvider(provider) {
396
- return Object.hasOwn(exports.PROVIDER_MODELS, provider);
462
+ /**
463
+ * Returns true if `provider` is a known provider — built-in or registered
464
+ * as a custom provider in the supplied (or freshly loaded) registry.
465
+ */
466
+ function isValidProvider(provider, customProviders) {
467
+ if (Object.hasOwn(exports.PROVIDER_MODELS, provider))
468
+ return true;
469
+ const custom = customProviders ?? (0, custom_providers_js_1.loadCustomProviders)();
470
+ return Object.hasOwn(custom, provider);
397
471
  }
398
472
  /** Returns true if the given config has an API key for the specified provider. */
399
473
  function hasProviderKey(config, provider) {
400
474
  return !!getProviderApiKey(config, provider);
401
475
  }
476
+ /**
477
+ * Returns the conventional env-var name for an API key for the given provider.
478
+ * Built-ins return the canonical `ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `XAI_API_KEY`;
479
+ * custom providers return `BERNARD_<NAME>_API_KEY` (informational only — custom
480
+ * keys are never read from env, only from `keys.json`).
481
+ */
482
+ function providerEnvVar(provider) {
483
+ return (exports.PROVIDER_ENV_VARS[provider] ?? `BERNARD_${provider.toUpperCase().replace(/-/g, '_')}_API_KEY`);
484
+ }
485
+ /**
486
+ * Coerces an empty or whitespace-only string to undefined, otherwise trims it.
487
+ * Used to normalize provider/model overrides — the model sometimes passes
488
+ * `provider: ""` to mean "use default" and saved specialists may have
489
+ * `"provider": ""`. With `??` chains, empty strings would falsely "win" over
490
+ * the next fallback; this helper makes them fall through.
491
+ */
492
+ function blankToUndefined(v) {
493
+ return v && v.trim() ? v.trim() : undefined;
494
+ }
495
+ /**
496
+ * Resolves the provider and model to use for a sub-agent / specialist /
497
+ * task / tool-wrapper invocation, applying the same precedence rule across
498
+ * all four call sites:
499
+ *
500
+ * 1. Invocation-level override (the model passes `provider`/`model` args).
501
+ * 2. Specialist-level default (when invoking a saved specialist).
502
+ * 3. Global config.
503
+ *
504
+ * Empty/whitespace strings are treated as "not provided". When the resolved
505
+ * provider differs from `config.provider` and no explicit model override is
506
+ * given, `getDefaultModel(provider)` is used to avoid cross-provider model
507
+ * mismatches (e.g. xai provider with an Anthropic model name).
508
+ */
509
+ function resolveProviderAndModel(opts) {
510
+ const provider = blankToUndefined(opts.provider) ??
511
+ blankToUndefined(opts.specialistProvider) ??
512
+ opts.config.provider;
513
+ const explicitModel = blankToUndefined(opts.model) ?? blankToUndefined(opts.specialistModel);
514
+ const model = explicitModel ??
515
+ (provider !== opts.config.provider
516
+ ? getDefaultModel(provider, opts.config.customProviders)
517
+ : opts.config.model);
518
+ if (!hasProviderKey(opts.config, provider)) {
519
+ const isCustom = Object.hasOwn(opts.config.customProviders ?? {}, provider);
520
+ return { ok: false, provider, envVar: providerEnvVar(provider), isCustom };
521
+ }
522
+ return { ok: true, provider, model };
523
+ }
524
+ /**
525
+ * Default error message format for a {@link ProviderResolution} failure.
526
+ * Used by the plain-string callers (specialist-run, subagent). Other callers
527
+ * (task: JSON-wrapped, tool-wrapper-run: shorter format) format their own.
528
+ *
529
+ * For custom providers, omits the env-var suggestion — those keys are not
530
+ * read from `process.env`.
531
+ */
532
+ function defaultProviderErrorMessage(provider, envVar, isCustom = false) {
533
+ const envHint = isCustom ? '' : ` or set ${envVar}`;
534
+ return `No API key found for provider "${provider}". Run: bernard add-key ${provider} <your-api-key>${envHint}.`;
535
+ }
402
536
  /**
403
537
  * Builds a fully-resolved {@link BernardConfig} by merging (in priority order):
404
538
  * CLI overrides, saved preferences, environment variables, and built-in defaults.
@@ -421,31 +555,43 @@ function loadConfig(overrides) {
421
555
  else if (fs.existsSync(legacyEnv)) {
422
556
  dotenv.config({ path: legacyEnv });
423
557
  }
424
- // Stored keys override .env — user explicitly ran `add-key`
558
+ // Stored keys override .env — user explicitly ran `add-key`.
559
+ // Built-in providers also get their key bridged into `process.env` so the
560
+ // AI SDK module-level singletons pick it up. Custom-provider keys live only
561
+ // in `config.apiKeys` and are read directly when constructing the model.
425
562
  const storedKeys = loadStoredKeys();
426
563
  for (const [provider, key] of Object.entries(storedKeys)) {
427
564
  const envVar = exports.PROVIDER_ENV_VARS[provider];
428
565
  if (envVar && key)
429
566
  process.env[envVar] = key;
430
567
  }
568
+ const customProviders = (0, custom_providers_js_1.loadCustomProviders)();
431
569
  const prefs = loadPreferences();
432
570
  const explicitProvider = overrides?.provider || prefs.provider || process.env.BERNARD_PROVIDER;
433
571
  let provider = explicitProvider || DEFAULT_PROVIDER;
434
- let model = overrides?.model || prefs.model || process.env.BERNARD_MODEL || getDefaultModel(provider);
572
+ let model = overrides?.model ||
573
+ prefs.model ||
574
+ process.env.BERNARD_MODEL ||
575
+ getDefaultModel(provider, customProviders);
435
576
  // When provider was not explicitly chosen and the default has no key,
436
- // auto-detect the first provider that does have a key available.
577
+ // auto-detect the first provider (built-in or custom) that does have one.
437
578
  if (!explicitProvider) {
438
- const keyMap = {
579
+ const builtinKeys = {
439
580
  anthropic: process.env.ANTHROPIC_API_KEY,
440
581
  openai: process.env.OPENAI_API_KEY,
441
582
  xai: process.env.XAI_API_KEY,
442
583
  };
443
- if (!keyMap[provider]) {
444
- const available = Object.keys(exports.PROVIDER_ENV_VARS).find((p) => !!keyMap[p]);
584
+ const hasKey = (p) => {
585
+ if (builtinKeys[p])
586
+ return true;
587
+ return !!storedKeys[p];
588
+ };
589
+ if (!hasKey(provider)) {
590
+ const available = Object.keys(exports.PROVIDER_ENV_VARS).find(hasKey) ?? Object.keys(customProviders).find(hasKey);
445
591
  if (available) {
446
592
  provider = available;
447
593
  if (!overrides?.model && !prefs.model && !process.env.BERNARD_MODEL) {
448
- model = getDefaultModel(provider);
594
+ model = getDefaultModel(provider, customProviders);
449
595
  }
450
596
  }
451
597
  }
@@ -461,6 +607,10 @@ function loadConfig(overrides) {
461
607
  const theme = prefs.theme || 'bernard';
462
608
  const criticMode = prefs.criticMode ??
463
609
  (process.env.BERNARD_CRITIC_MODE === 'true' || process.env.BERNARD_CRITIC_MODE === '1');
610
+ const reactMode = prefs.reactMode ??
611
+ (process.env.BERNARD_REACT_MODE === 'true' || process.env.BERNARD_REACT_MODE === '1');
612
+ const toolDetails = prefs.toolDetails ??
613
+ (process.env.BERNARD_TOOL_DETAILS === 'true' || process.env.BERNARD_TOOL_DETAILS === '1');
464
614
  const autoCreateSpecialists = prefs.autoCreateSpecialists ??
465
615
  (process.env.BERNARD_AUTO_CREATE_SPECIALISTS === 'true' ||
466
616
  process.env.BERNARD_AUTO_CREATE_SPECIALISTS === '1'
@@ -471,6 +621,23 @@ function loadConfig(overrides) {
471
621
  (Number.isFinite(envAutoCreateThreshold)
472
622
  ? envAutoCreateThreshold
473
623
  : DEFAULT_AUTO_CREATE_THRESHOLD));
624
+ // Correction agent runs by default; users can opt out with BERNARD_CORRECTION_ENABLED=false.
625
+ const rawCorrection = process.env.BERNARD_CORRECTION_ENABLED;
626
+ const correctionEnabled = rawCorrection === undefined ? true : !(rawCorrection === 'false' || rawCorrection === '0');
627
+ // Prompt rewriter runs by default; users can opt out with BERNARD_PROMPT_REWRITER=false.
628
+ const rawRewriter = process.env.BERNARD_PROMPT_REWRITER;
629
+ const promptRewriter = prefs.promptRewriter ??
630
+ (rawRewriter === undefined ? true : !(rawRewriter === 'false' || rawRewriter === '0'));
631
+ // Reference tool-lookup runs by default; users can opt out with BERNARD_REFERENCE_LOOKUP=false.
632
+ const rawReferenceLookup = process.env.BERNARD_REFERENCE_LOOKUP;
633
+ const referenceLookup = prefs.referenceLookup ??
634
+ (rawReferenceLookup === undefined
635
+ ? true
636
+ : !(rawReferenceLookup === 'false' || rawReferenceLookup === '0'));
637
+ const referenceLookupTools = (process.env.BERNARD_LOOKUP_TOOLS ?? '')
638
+ .split(',')
639
+ .map((s) => s.trim())
640
+ .filter((s) => s.length > 0);
474
641
  const config = {
475
642
  provider,
476
643
  model,
@@ -481,11 +648,19 @@ function loadConfig(overrides) {
481
648
  ragEnabled,
482
649
  theme,
483
650
  criticMode,
651
+ reactMode,
652
+ toolDetails,
484
653
  autoCreateSpecialists,
485
654
  autoCreateThreshold,
655
+ correctionEnabled,
656
+ promptRewriter,
657
+ referenceLookup,
658
+ referenceLookupTools,
486
659
  anthropicApiKey: process.env.ANTHROPIC_API_KEY,
487
660
  openaiApiKey: process.env.OPENAI_API_KEY,
488
661
  xaiApiKey: process.env.XAI_API_KEY,
662
+ apiKeys: { ...storedKeys },
663
+ customProviders,
489
664
  };
490
665
  validateConfig(config);
491
666
  return config;
@@ -493,10 +668,12 @@ function loadConfig(overrides) {
493
668
  function validateConfig(config) {
494
669
  const key = getProviderApiKey(config, config.provider);
495
670
  if (!key) {
496
- const envVar = exports.PROVIDER_ENV_VARS[config.provider];
497
- throw new Error(`No API key found for provider "${config.provider}". ` +
498
- `Run: bernard add-key ${config.provider} <your-api-key>\n` +
499
- `Or set ${envVar} in your .env file or environment.`);
671
+ const envVar = providerEnvVar(config.provider);
672
+ const isCustom = Object.hasOwn(config.customProviders ?? {}, config.provider);
673
+ const hint = isCustom
674
+ ? `Run: bernard add-key ${config.provider} <your-api-key>`
675
+ : `Run: bernard add-key ${config.provider} <your-api-key>\nOr set ${envVar} in your .env file or environment.`;
676
+ throw new Error(`No API key found for provider "${config.provider}". ${hint}`);
500
677
  }
501
678
  }
502
679
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/context.js CHANGED
@@ -17,6 +17,7 @@ const ai_1 = require("ai");
17
17
  const index_js_1 = require("./providers/index.js");
18
18
  const logger_js_1 = require("./logger.js");
19
19
  const domains_js_1 = require("./domains.js");
20
+ const image_js_1 = require("./image.js");
20
21
  /** Model name → context window size in tokens */
21
22
  exports.MODEL_CONTEXT_WINDOWS = {
22
23
  // Anthropic
@@ -148,7 +149,8 @@ async function extractDomainFacts(serializedText, config) {
148
149
  const results = await Promise.allSettled(domainIds.map(async (domainId) => {
149
150
  const domain = domains_js_1.DOMAIN_REGISTRY[domainId];
150
151
  const result = await (0, ai_1.generateText)({
151
- model: (0, index_js_1.getModel)(config.provider, config.model),
152
+ model: (0, index_js_1.getModelForConfig)(config, config.provider, config.model),
153
+ providerOptions: (0, index_js_1.getProviderOptionsForConfig)(config, config.provider),
152
154
  maxTokens: 2048,
153
155
  system: domain.extractionPrompt,
154
156
  messages: [
@@ -219,7 +221,8 @@ async function compressHistory(history, config, ragStore) {
219
221
  try {
220
222
  // Run summarization and domain-specific fact extraction in parallel
221
223
  const summarizePromise = (0, ai_1.generateText)({
222
- model: (0, index_js_1.getModel)(config.provider, config.model),
224
+ model: (0, index_js_1.getModelForConfig)(config, config.provider, config.model),
225
+ providerOptions: (0, index_js_1.getProviderOptionsForConfig)(config, config.provider),
223
226
  maxTokens: 2048,
224
227
  system: exports.SUMMARIZATION_PROMPT,
225
228
  messages: [{ role: 'user', content: `Summarize this conversation:\n\n${serialized}` }],
@@ -291,17 +294,31 @@ function truncateToolResults(messages, maxChars = exports.MAX_TOOL_RESULT_CHARS)
291
294
  return changed ? { ...msg, content: newContent } : msg;
292
295
  });
293
296
  }
297
+ /** Estimates token count for a single message's content. */
298
+ function estimateMessageTokens(msg) {
299
+ if (typeof msg.content === 'string') {
300
+ return Math.ceil(msg.content.length / 3.6);
301
+ }
302
+ if (Array.isArray(msg.content)) {
303
+ let tokens = 0;
304
+ for (const part of msg.content) {
305
+ tokens += (0, image_js_1.estimateContentPartTokens)(part);
306
+ }
307
+ return tokens;
308
+ }
309
+ return Math.ceil(JSON.stringify(msg.content).length / 3.6);
310
+ }
294
311
  /**
295
312
  * Rough-but-safe token estimator for pre-flight checks.
296
313
  * Uses 3.6 chars/token (instead of 4) for a ~10% safety margin,
297
314
  * since tool-result tokens can be denser than natural language.
298
315
  */
299
316
  function estimateHistoryTokens(history) {
300
- let chars = 0;
317
+ let tokens = 0;
301
318
  for (const msg of history) {
302
- chars += JSON.stringify(msg.content).length;
319
+ tokens += estimateMessageTokens(msg);
303
320
  }
304
- return Math.ceil(chars / 3.6);
321
+ return tokens;
305
322
  }
306
323
  /**
307
324
  * Progressively drop oldest messages until estimated tokens fit within budget.
@@ -330,7 +347,7 @@ function emergencyTruncate(history, tokenBudget, systemPrompt, currentUserMessag
330
347
  let accumulated = 0;
331
348
  let cutoff = history.length;
332
349
  for (let i = history.length - 1; i >= 0; i--) {
333
- const msgTokens = Math.ceil(JSON.stringify(history[i].content).length / 3.6);
350
+ const msgTokens = estimateMessageTokens(history[i]);
334
351
  if (accumulated + msgTokens > historyBudget) {
335
352
  cutoff = i + 1;
336
353
  break;
@@ -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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"}