@probelabs/probe 0.6.0-rc300 → 0.6.0-rc301

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.
@@ -4372,6 +4372,14 @@ Double-check your response based on the criteria above. If everything looks good
4372
4372
  finalResult = aiResult.finalText;
4373
4373
  }
4374
4374
 
4375
+ // Ensure finalResult is always a string (#533).
4376
+ // When both structured output and finalText are empty (e.g., timeout,
4377
+ // model returns nothing), downstream callers like delegate() expect a
4378
+ // string and would otherwise throw "not a string".
4379
+ if (finalResult === null || finalResult === undefined) {
4380
+ finalResult = '';
4381
+ }
4382
+
4375
4383
  // Graceful timeout handling: ensure the response clearly indicates
4376
4384
  // the research was interrupted and may be incomplete.
4377
4385
  if (gracefulTimeoutState.triggered) {
@@ -540,6 +540,7 @@ export const searchTool = (options = {}) => {
540
540
  tracer: options.tracer || null,
541
541
  enableBash: false,
542
542
  bashConfig: null,
543
+ allowEdit: options.allowEdit || false,
543
544
  architectureFileName: options.architectureFileName || null,
544
545
  promptType: 'code-searcher',
545
546
  allowedTools: ['search', 'extract', 'listFiles'],
@@ -895,7 +896,7 @@ export const extractTool = (options = {}) => {
895
896
  * @returns {Object} Configured delegate tool
896
897
  */
897
898
  export const delegateTool = (options = {}) => {
898
- const { debug = false, timeout = 300, cwd, allowedFolders, workspaceRoot, enableBash = false, bashConfig, architectureFileName, enableMcp = false, mcpConfig = null, mcpConfigPath = null, delegationManager = null,
899
+ const { debug = false, timeout = 300, cwd, allowedFolders, workspaceRoot, enableBash = false, bashConfig, allowEdit = false, architectureFileName, enableMcp = false, mcpConfig = null, mcpConfigPath = null, delegationManager = null,
899
900
  // Timeout settings inherited from parent agent
900
901
  timeoutBehavior, maxOperationTimeout, requestTimeout, gracefulTimeoutBonusSteps,
901
902
  negotiatedTimeoutBudget, negotiatedTimeoutMaxRequests, negotiatedTimeoutMaxPerRequest,
@@ -1014,6 +1015,7 @@ export const delegateTool = (options = {}) => {
1014
1015
  model,
1015
1016
  tracer,
1016
1017
  enableBash,
1018
+ allowEdit,
1017
1019
  bashConfig,
1018
1020
  architectureFileName,
1019
1021
  searchDelegate,
@@ -27838,6 +27838,7 @@ var init_vercel = __esm({
27838
27838
  tracer: options.tracer || null,
27839
27839
  enableBash: false,
27840
27840
  bashConfig: null,
27841
+ allowEdit: options.allowEdit || false,
27841
27842
  architectureFileName: options.architectureFileName || null,
27842
27843
  promptType: "code-searcher",
27843
27844
  allowedTools: ["search", "extract", "listFiles"],
@@ -28098,6 +28099,7 @@ var init_vercel = __esm({
28098
28099
  workspaceRoot,
28099
28100
  enableBash = false,
28100
28101
  bashConfig,
28102
+ allowEdit = false,
28101
28103
  architectureFileName,
28102
28104
  enableMcp = false,
28103
28105
  mcpConfig = null,
@@ -28192,6 +28194,7 @@ var init_vercel = __esm({
28192
28194
  model,
28193
28195
  tracer,
28194
28196
  enableBash,
28197
+ allowEdit,
28195
28198
  bashConfig,
28196
28199
  architectureFileName,
28197
28200
  searchDelegate,
@@ -103399,6 +103402,9 @@ Double-check your response based on the criteria above. If everything looks good
103399
103402
  } else if (aiResult.finalText) {
103400
103403
  finalResult = aiResult.finalText;
103401
103404
  }
103405
+ if (finalResult === null || finalResult === void 0) {
103406
+ finalResult = "";
103407
+ }
103402
103408
  if (gracefulTimeoutState.triggered) {
103403
103409
  const timeoutNotice = "**Note: This response was generated under a time constraint. The research may be incomplete, and some planned searches or analysis steps were not completed.**\n\n";
103404
103410
  if (!finalResult || finalResult === DEFAULT_MAX_ITER_MSG || finalResult.startsWith("I was unable to complete your request after")) {
package/cjs/index.cjs CHANGED
@@ -100721,6 +100721,9 @@ Double-check your response based on the criteria above. If everything looks good
100721
100721
  } else if (aiResult.finalText) {
100722
100722
  finalResult = aiResult.finalText;
100723
100723
  }
100724
+ if (finalResult === null || finalResult === void 0) {
100725
+ finalResult = "";
100726
+ }
100724
100727
  if (gracefulTimeoutState.triggered) {
100725
100728
  const timeoutNotice = "**Note: This response was generated under a time constraint. The research may be incomplete, and some planned searches or analysis steps were not completed.**\n\n";
100726
100729
  if (!finalResult || finalResult === DEFAULT_MAX_ITER_MSG || finalResult.startsWith("I was unable to complete your request after")) {
@@ -103204,6 +103207,7 @@ var init_vercel = __esm({
103204
103207
  tracer: options.tracer || null,
103205
103208
  enableBash: false,
103206
103209
  bashConfig: null,
103210
+ allowEdit: options.allowEdit || false,
103207
103211
  architectureFileName: options.architectureFileName || null,
103208
103212
  promptType: "code-searcher",
103209
103213
  allowedTools: ["search", "extract", "listFiles"],
@@ -103464,6 +103468,7 @@ var init_vercel = __esm({
103464
103468
  workspaceRoot,
103465
103469
  enableBash = false,
103466
103470
  bashConfig,
103471
+ allowEdit = false,
103467
103472
  architectureFileName,
103468
103473
  enableMcp = false,
103469
103474
  mcpConfig = null,
@@ -103558,6 +103563,7 @@ var init_vercel = __esm({
103558
103563
  model,
103559
103564
  tracer,
103560
103565
  enableBash,
103566
+ allowEdit,
103561
103567
  bashConfig,
103562
103568
  architectureFileName,
103563
103569
  searchDelegate,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@probelabs/probe",
3
- "version": "0.6.0-rc300",
3
+ "version": "0.6.0-rc301",
4
4
  "description": "Node.js wrapper for the probe code search tool",
5
5
  "main": "src/index.js",
6
6
  "module": "src/index.js",
@@ -4372,6 +4372,14 @@ Double-check your response based on the criteria above. If everything looks good
4372
4372
  finalResult = aiResult.finalText;
4373
4373
  }
4374
4374
 
4375
+ // Ensure finalResult is always a string (#533).
4376
+ // When both structured output and finalText are empty (e.g., timeout,
4377
+ // model returns nothing), downstream callers like delegate() expect a
4378
+ // string and would otherwise throw "not a string".
4379
+ if (finalResult === null || finalResult === undefined) {
4380
+ finalResult = '';
4381
+ }
4382
+
4375
4383
  // Graceful timeout handling: ensure the response clearly indicates
4376
4384
  // the research was interrupted and may be incomplete.
4377
4385
  if (gracefulTimeoutState.triggered) {
@@ -540,6 +540,7 @@ export const searchTool = (options = {}) => {
540
540
  tracer: options.tracer || null,
541
541
  enableBash: false,
542
542
  bashConfig: null,
543
+ allowEdit: options.allowEdit || false,
543
544
  architectureFileName: options.architectureFileName || null,
544
545
  promptType: 'code-searcher',
545
546
  allowedTools: ['search', 'extract', 'listFiles'],
@@ -895,7 +896,7 @@ export const extractTool = (options = {}) => {
895
896
  * @returns {Object} Configured delegate tool
896
897
  */
897
898
  export const delegateTool = (options = {}) => {
898
- const { debug = false, timeout = 300, cwd, allowedFolders, workspaceRoot, enableBash = false, bashConfig, architectureFileName, enableMcp = false, mcpConfig = null, mcpConfigPath = null, delegationManager = null,
899
+ const { debug = false, timeout = 300, cwd, allowedFolders, workspaceRoot, enableBash = false, bashConfig, allowEdit = false, architectureFileName, enableMcp = false, mcpConfig = null, mcpConfigPath = null, delegationManager = null,
899
900
  // Timeout settings inherited from parent agent
900
901
  timeoutBehavior, maxOperationTimeout, requestTimeout, gracefulTimeoutBonusSteps,
901
902
  negotiatedTimeoutBudget, negotiatedTimeoutMaxRequests, negotiatedTimeoutMaxPerRequest,
@@ -1014,6 +1015,7 @@ export const delegateTool = (options = {}) => {
1014
1015
  model,
1015
1016
  tracer,
1016
1017
  enableBash,
1018
+ allowEdit,
1017
1019
  bashConfig,
1018
1020
  architectureFileName,
1019
1021
  searchDelegate,