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
@@ -1 +1 @@
1
- {"version":3,"file":"subagent.js","sourceRoot":"","sources":["../../src/tools/subagent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subagent.js","sourceRoot":"","sources":["../../src/tools/subagent.ts"],"names":[],"mappings":"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"}
@@ -56,32 +56,32 @@ export declare function createTaskTool(config: BernardConfig, options: ToolOptio
56
56
  provider?: string | undefined;
57
57
  model?: string | undefined;
58
58
  task?: string | undefined;
59
- context?: string | undefined;
60
59
  taskId?: string | undefined;
60
+ context?: string | undefined;
61
61
  }, {
62
62
  provider?: string | undefined;
63
63
  model?: string | undefined;
64
64
  task?: string | undefined;
65
- context?: string | undefined;
66
65
  taskId?: string | undefined;
66
+ context?: string | undefined;
67
67
  }>, {
68
68
  provider?: string | undefined;
69
69
  model?: string | undefined;
70
70
  task?: string | undefined;
71
- context?: string | undefined;
72
71
  taskId?: string | undefined;
72
+ context?: string | undefined;
73
73
  }, {
74
74
  provider?: string | undefined;
75
75
  model?: string | undefined;
76
76
  task?: string | undefined;
77
- context?: string | undefined;
78
77
  taskId?: string | undefined;
78
+ context?: string | undefined;
79
79
  }>, string> & {
80
80
  execute: (args: {
81
81
  provider?: string | undefined;
82
82
  model?: string | undefined;
83
83
  task?: string | undefined;
84
- context?: string | undefined;
85
84
  taskId?: string | undefined;
85
+ context?: string | undefined;
86
86
  }, options: import("ai").ToolExecutionOptions) => PromiseLike<string>;
87
87
  };
@@ -9,6 +9,7 @@ const ai_1 = require("ai");
9
9
  const zod_1 = require("zod");
10
10
  const index_js_1 = require("../providers/index.js");
11
11
  const index_js_2 = require("./index.js");
12
+ const structured_output_js_1 = require("../structured-output.js");
12
13
  const output_js_1 = require("../output.js");
13
14
  const logger_js_1 = require("../logger.js");
14
15
  const memory_context_js_1 = require("../memory-context.js");
@@ -59,38 +60,6 @@ function validateTaskResult(parsed) {
59
60
  const { status, output, details } = result.data;
60
61
  return details !== undefined ? { status, output, details } : { status, output };
61
62
  }
62
- function extractJsonBlock(text, start) {
63
- if (text[start] !== '{')
64
- return undefined;
65
- let depth = 0;
66
- let inString = false;
67
- let escaped = false;
68
- for (let i = start; i < text.length; i++) {
69
- const ch = text[i];
70
- if (escaped) {
71
- escaped = false;
72
- continue;
73
- }
74
- if (ch === '\\' && inString) {
75
- escaped = true;
76
- continue;
77
- }
78
- if (ch === '"') {
79
- inString = !inString;
80
- continue;
81
- }
82
- if (inString)
83
- continue;
84
- if (ch === '{')
85
- depth++;
86
- else if (ch === '}') {
87
- depth--;
88
- if (depth === 0)
89
- return text.slice(start, i + 1);
90
- }
91
- }
92
- return undefined;
93
- }
94
63
  /**
95
64
  * Wraps raw text output into a structured TaskResult.
96
65
  * Extracts JSON from the text and validates it against TaskResultSchema.
@@ -111,7 +80,7 @@ function wrapTaskResult(text) {
111
80
  // 2. Scan forward for each top-level '{' and try bracket-counted extraction
112
81
  for (let i = 0; i < trimmed.length; i++) {
113
82
  if (trimmed[i] === '{') {
114
- const block = extractJsonBlock(trimmed, i);
83
+ const block = (0, structured_output_js_1.extractJsonBlock)(trimmed, i);
115
84
  if (block) {
116
85
  try {
117
86
  const parsed = JSON.parse(block);
@@ -168,18 +137,15 @@ function createTaskTool(config, options, memoryStore, mcpTools, ragStore, routin
168
137
  message: 'Either task or taskId must be provided',
169
138
  }),
170
139
  execute: async ({ task, taskId, context, provider, model }, execOptions) => {
171
- // When the resolved provider differs from config.provider and no explicit model
172
- // override exists, use the provider's default model to avoid cross-provider mismatches.
173
- const resolvedProvider = provider ?? config.provider;
174
- const resolvedModel = model ??
175
- (resolvedProvider !== config.provider ? (0, config_js_1.getDefaultModel)(resolvedProvider) : config.model);
176
- if (!(0, config_js_1.hasProviderKey)(config, resolvedProvider)) {
177
- const envVar = config_js_1.PROVIDER_ENV_VARS[resolvedProvider] ?? `${resolvedProvider.toUpperCase()}_API_KEY`;
140
+ const resolution = (0, config_js_1.resolveProviderAndModel)({ provider, model, config });
141
+ if (!resolution.ok) {
142
+ const envHint = resolution.isCustom ? '' : ` or set ${resolution.envVar}`;
178
143
  return JSON.stringify({
179
144
  status: 'error',
180
- output: `No API key found for provider "${resolvedProvider}". Run: bernard add-key ${resolvedProvider} <your-api-key> or set ${envVar}.`,
145
+ output: `No API key found for provider "${resolution.provider}". Run: bernard add-key ${resolution.provider} <your-api-key>${envHint}.`,
181
146
  });
182
147
  }
148
+ const { provider: resolvedProvider, model: resolvedModel } = resolution;
183
149
  // Resolve saved task content if taskId is provided (before acquiring slot)
184
150
  let resolvedTask = task ?? '';
185
151
  if (taskId) {
@@ -246,7 +212,8 @@ function createTaskTool(config, options, memoryStore, mcpTools, ragStore, routin
246
212
  });
247
213
  const taskMaxSteps = getTaskMaxSteps(config);
248
214
  const result = await (0, ai_1.generateText)({
249
- model: (0, index_js_1.getModel)(resolvedProvider, resolvedModel),
215
+ model: (0, index_js_1.getModelForConfig)(config, resolvedProvider, resolvedModel),
216
+ providerOptions: (0, index_js_1.getProviderOptionsForConfig)(config, resolvedProvider),
250
217
  tools: baseTools,
251
218
  maxSteps: taskMaxSteps,
252
219
  maxTokens: config.maxTokens,
@@ -1 +1 @@
1
- {"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/tools/task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/tools/task.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Creates the `think` tool for coordinator (ReAct) mode.
4
+ *
5
+ * Publishes a brief reasoning statement visibly to the user. The return value
6
+ * to the model is intentionally minimal to avoid re-polluting the context.
7
+ */
8
+ export declare function createThinkTool(): import("ai").Tool<z.ZodObject<{
9
+ thought: z.ZodString;
10
+ }, "strip", z.ZodTypeAny, {
11
+ thought: string;
12
+ }, {
13
+ thought: string;
14
+ }>, string> & {
15
+ execute: (args: {
16
+ thought: string;
17
+ }, options: import("ai").ToolExecutionOptions) => PromiseLike<string>;
18
+ };
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createThinkTool = createThinkTool;
4
+ const ai_1 = require("ai");
5
+ const zod_1 = require("zod");
6
+ const output_js_1 = require("../output.js");
7
+ /**
8
+ * Creates the `think` tool for coordinator (ReAct) mode.
9
+ *
10
+ * Publishes a brief reasoning statement visibly to the user. The return value
11
+ * to the model is intentionally minimal to avoid re-polluting the context.
12
+ */
13
+ function createThinkTool() {
14
+ return (0, ai_1.tool)({
15
+ description: "Publish a brief 'thought' that the user can see — use this to think out loud before a tool call or batch of parallel calls. Keep each thought to 1-3 sentences. Explain what you know, what gap the next action fills, and what success looks like. Required in coordinator mode before each non-trivial tool-call batch.",
16
+ parameters: zod_1.z.object({
17
+ thought: zod_1.z.string().describe('A concise reasoning statement (1-3 sentences)'),
18
+ }),
19
+ execute: async ({ thought }) => {
20
+ (0, output_js_1.printThought)(thought);
21
+ return 'Thought recorded.';
22
+ },
23
+ });
24
+ }
25
+ //# sourceMappingURL=think.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"think.js","sourceRoot":"","sources":["../../src/tools/think.ts"],"names":[],"mappings":";;AAUA,0CAYC;AAtBD,2BAA0B;AAC1B,6BAAwB;AACxB,4CAA4C;AAE5C;;;;;GAKG;AACH,SAAgB,eAAe;IAC7B,OAAO,IAAA,SAAI,EAAC;QACV,WAAW,EACT,2TAA2T;QAC7T,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC;YACnB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;SAC9E,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAmB,EAAE;YAC9C,IAAA,wBAAY,EAAC,OAAO,CAAC,CAAC;YACtB,OAAO,mBAAmB,CAAC;QAC7B,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,121 @@
1
+ import { z } from 'zod';
2
+ import { type ToolOptions } from './index.js';
3
+ import { type BernardConfig } from '../config.js';
4
+ import type { MemoryStore } from '../memory.js';
5
+ import type { RAGStore } from '../rag.js';
6
+ import type { RoutineStore } from '../routines.js';
7
+ import type { SpecialistStore, Specialist } from '../specialists.js';
8
+ import type { CandidateStoreReader } from '../specialist-candidates.js';
9
+ import type { CorrectionCandidateStore } from '../correction-candidates.js';
10
+ import { type WrapperResult } from '../structured-output.js';
11
+ /** Formats good/bad examples as a markdown block appended to the child's system prompt. */
12
+ export declare function formatExamples(specialist: Specialist): string;
13
+ /**
14
+ * Builds the full tool registry a tool-wrapper specialist could possibly
15
+ * reach, then intersects with `targetTools` when set. Persona/tool-wrapper
16
+ * specialists get strict isolation; meta specialists typically pass
17
+ * `targetTools` that include dispatch tools (specialist, tool_wrapper_run)
18
+ * for recursive orchestration.
19
+ */
20
+ export declare function buildChildTools(specialist: Specialist, fullRegistry: Record<string, any>): Record<string, any>;
21
+ /**
22
+ * Captures the last tool call observed in a `generateText` result.
23
+ * Used to populate `attemptedCall` on correction candidates.
24
+ */
25
+ export declare function captureLastToolCall(steps: any[] | undefined): string;
26
+ /**
27
+ * Builds a compact record of tool calls for the reasoning log.
28
+ */
29
+ export declare function captureToolCalls(steps: any[] | undefined): Array<{
30
+ tool: string;
31
+ args: unknown;
32
+ resultPreview: string;
33
+ }>;
34
+ /** Dependencies that change per-process but never per-call. Passed once. */
35
+ export interface ToolWrapperDeps {
36
+ config: BernardConfig;
37
+ options: ToolOptions;
38
+ memoryStore: MemoryStore;
39
+ specialistStore: SpecialistStore;
40
+ correctionStore: CorrectionCandidateStore;
41
+ mcpTools?: Record<string, any>;
42
+ ragStore?: RAGStore;
43
+ routineStore?: RoutineStore;
44
+ candidateStore?: CandidateStoreReader;
45
+ }
46
+ /** Per-call inputs to a tool-wrapper dispatch. */
47
+ export interface DispatchToolWrapperArgs {
48
+ specialistId: string;
49
+ input: string;
50
+ context?: string;
51
+ provider?: string;
52
+ model?: string;
53
+ abortSignal?: AbortSignal;
54
+ /** Label shown to the user when announcing the wrapper run. Defaults to `[<kind>] <name>`. */
55
+ runLabel?: string;
56
+ }
57
+ /**
58
+ * Core dispatch for tool-wrapper specialists. Used by both the explicit
59
+ * `tool_wrapper_run` tool and the shim layer that routes raw tool calls
60
+ * (e.g. `shell`) through their corresponding wrapper specialist.
61
+ *
62
+ * Returns a {@link WrapperResult} so callers can shape the parent-facing
63
+ * response however they like (JSON envelope, raw result, error string).
64
+ * Pool acquisition, reasoning logging, and correction-candidate enqueue
65
+ * happen inside.
66
+ */
67
+ export declare function dispatchToolWrapper(args: DispatchToolWrapperArgs, deps: ToolWrapperDeps): Promise<WrapperResult>;
68
+ /**
69
+ * Strips internal fields (`reasoning`) from a wrapper result before it crosses
70
+ * back into the parent agent's context, and caps the `result` field so the
71
+ * outer JSON envelope stays parseable when the wrapper output is large. The
72
+ * reasoning array is already persisted to the JSONL trace via
73
+ * {@link appendReasoningLog}; the parent doesn't need it.
74
+ *
75
+ * The cap is applied to the `result` field *before* serialization rather than
76
+ * to the serialized envelope, so a truncated payload never produces invalid
77
+ * JSON.
78
+ */
79
+ export declare function renderWrapperParentView(wrapped: WrapperResult, maxChars?: number): string;
80
+ /**
81
+ * Creates the `tool_wrapper_run` tool for structured, isolated tool-wrapper
82
+ * specialist execution with validated JSON output and failure-learning.
83
+ *
84
+ * Unlike `specialist_run` (plain-text persona execution), this dispatch:
85
+ * - only runs specialists with `kind` in `'tool-wrapper' | 'meta'`
86
+ * - restricts the child's tool set to the specialist's `targetTools`
87
+ * - injects OS context + good/bad examples + structured-output rules
88
+ * - forces a JSON final message via `experimental_prepareStep`
89
+ * - parses through a Zod schema and logs runs that reach `generateText`
90
+ * to the reasoning log (guard failures return early without logging)
91
+ * - enqueues a correction candidate on error for end-of-session learning
92
+ * - strips `reasoning` and caps the JSON envelope before returning to the
93
+ * parent agent — the full reasoning lives in the JSONL trace only
94
+ */
95
+ export declare function createToolWrapperRunTool(config: BernardConfig, options: ToolOptions, memoryStore: MemoryStore, specialistStore: SpecialistStore, correctionStore: CorrectionCandidateStore, mcpTools?: Record<string, any>, ragStore?: RAGStore, routineStore?: RoutineStore, candidateStore?: CandidateStoreReader): import("ai").Tool<z.ZodObject<{
96
+ specialistId: z.ZodString;
97
+ input: z.ZodString;
98
+ context: z.ZodOptional<z.ZodString>;
99
+ provider: z.ZodOptional<z.ZodString>;
100
+ model: z.ZodOptional<z.ZodString>;
101
+ }, "strip", z.ZodTypeAny, {
102
+ input: string;
103
+ specialistId: string;
104
+ provider?: string | undefined;
105
+ model?: string | undefined;
106
+ context?: string | undefined;
107
+ }, {
108
+ input: string;
109
+ specialistId: string;
110
+ provider?: string | undefined;
111
+ model?: string | undefined;
112
+ context?: string | undefined;
113
+ }>, string> & {
114
+ execute: (args: {
115
+ input: string;
116
+ specialistId: string;
117
+ provider?: string | undefined;
118
+ model?: string | undefined;
119
+ context?: string | undefined;
120
+ }, options: import("ai").ToolExecutionOptions) => PromiseLike<string>;
121
+ };