@probelabs/visor 0.1.123 → 0.1.124

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 (34) hide show
  1. package/dist/ai-review-service.d.ts.map +1 -1
  2. package/dist/docs/rfc/workspace-isolation.md +2 -0
  3. package/dist/generated/config-schema.d.ts +10 -6
  4. package/dist/generated/config-schema.d.ts.map +1 -1
  5. package/dist/generated/config-schema.json +10 -6
  6. package/dist/index.js +50 -37
  7. package/dist/output/traces/{run-2026-01-28T14-49-27-275Z.ndjson → run-2026-01-28T16-15-24-569Z.ndjson} +84 -84
  8. package/dist/output/traces/{run-2026-01-28T14-50-11-230Z.ndjson → run-2026-01-28T16-16-09-757Z.ndjson} +1022 -1022
  9. package/dist/providers/ai-check-provider.d.ts.map +1 -1
  10. package/dist/sdk/{check-provider-registry-JMNLGIMJ.mjs → check-provider-registry-AQ3JETBG.mjs} +4 -4
  11. package/dist/sdk/{chunk-35NT3725.mjs → chunk-BHZ4CKUS.mjs} +2 -4
  12. package/dist/sdk/{chunk-35NT3725.mjs.map → chunk-BHZ4CKUS.mjs.map} +1 -1
  13. package/dist/sdk/{chunk-CUNPH6TR.mjs → chunk-PVITVJ6J.mjs} +11 -7
  14. package/dist/sdk/chunk-PVITVJ6J.mjs.map +1 -0
  15. package/dist/sdk/{chunk-VPEQOQ7G.mjs → chunk-YLQ4UN62.mjs} +27 -22
  16. package/dist/sdk/chunk-YLQ4UN62.mjs.map +1 -0
  17. package/dist/sdk/{config-MK4XTU45.mjs → config-RQQPMLRD.mjs} +2 -2
  18. package/dist/sdk/{routing-KZ345OFG.mjs → routing-DEY2AIXM.mjs} +2 -2
  19. package/dist/sdk/sdk.d.mts +2 -0
  20. package/dist/sdk/sdk.d.ts +2 -0
  21. package/dist/sdk/sdk.js +33 -26
  22. package/dist/sdk/sdk.js.map +1 -1
  23. package/dist/sdk/sdk.mjs +5 -5
  24. package/dist/state-machine/states/routing.d.ts.map +1 -1
  25. package/dist/traces/{run-2026-01-28T14-49-27-275Z.ndjson → run-2026-01-28T16-15-24-569Z.ndjson} +84 -84
  26. package/dist/traces/{run-2026-01-28T14-50-11-230Z.ndjson → run-2026-01-28T16-16-09-757Z.ndjson} +1022 -1022
  27. package/dist/types/config.d.ts +2 -0
  28. package/dist/types/config.d.ts.map +1 -1
  29. package/package.json +1 -1
  30. package/dist/sdk/chunk-CUNPH6TR.mjs.map +0 -1
  31. package/dist/sdk/chunk-VPEQOQ7G.mjs.map +0 -1
  32. /package/dist/sdk/{check-provider-registry-JMNLGIMJ.mjs.map → check-provider-registry-AQ3JETBG.mjs.map} +0 -0
  33. /package/dist/sdk/{config-MK4XTU45.mjs.map → config-RQQPMLRD.mjs.map} +0 -0
  34. /package/dist/sdk/{routing-KZ345OFG.mjs.map → routing-DEY2AIXM.mjs.map} +0 -0
@@ -2,7 +2,7 @@ import {
2
2
  ConfigManager,
3
3
  VALID_EVENT_TRIGGERS,
4
4
  init_config
5
- } from "./chunk-CUNPH6TR.mjs";
5
+ } from "./chunk-PVITVJ6J.mjs";
6
6
  import "./chunk-O5EZDNYL.mjs";
7
7
  import "./chunk-BOVFH3LI.mjs";
8
8
  import "./chunk-3NMLT3YS.mjs";
@@ -13,4 +13,4 @@ export {
13
13
  ConfigManager,
14
14
  VALID_EVENT_TRIGGERS
15
15
  };
16
- //# sourceMappingURL=config-MK4XTU45.mjs.map
16
+ //# sourceMappingURL=config-RQQPMLRD.mjs.map
@@ -4,7 +4,7 @@ import {
4
4
  evaluateTransitions,
5
5
  handleRouting,
6
6
  init_routing
7
- } from "./chunk-35NT3725.mjs";
7
+ } from "./chunk-BHZ4CKUS.mjs";
8
8
  import "./chunk-SWEEZ5D5.mjs";
9
9
  import "./chunk-BOVFH3LI.mjs";
10
10
  import "./chunk-ZYAUYXSW.mjs";
@@ -21,4 +21,4 @@ export {
21
21
  evaluateTransitions,
22
22
  handleRouting
23
23
  };
24
- //# sourceMappingURL=routing-KZ345OFG.mjs.map
24
+ //# sourceMappingURL=routing-DEY2AIXM.mjs.map
@@ -1042,6 +1042,8 @@ interface WorkspaceConfig {
1042
1042
  main_project_name?: string;
1043
1043
  /** Clean up workspace on exit (default: true) */
1044
1044
  cleanup_on_exit?: boolean;
1045
+ /** Include main project worktree in AI allowed folders (default: false) */
1046
+ include_main_project?: boolean;
1045
1047
  }
1046
1048
  /**
1047
1049
  * Slack configuration
package/dist/sdk/sdk.d.ts CHANGED
@@ -1042,6 +1042,8 @@ interface WorkspaceConfig {
1042
1042
  main_project_name?: string;
1043
1043
  /** Clean up workspace on exit (default: true) */
1044
1044
  cleanup_on_exit?: boolean;
1045
+ /** Include main project worktree in AI allowed folders (default: false) */
1046
+ include_main_project?: boolean;
1045
1047
  }
1046
1048
  /**
1047
1049
  * Slack configuration
package/dist/sdk/sdk.js CHANGED
@@ -4429,9 +4429,7 @@ async function evaluateTransitions(transitions, checkId, checkConfig, result, co
4429
4429
  const hist = view.getHistory(cid);
4430
4430
  if (hist && hist.length > 0) {
4431
4431
  const trimmed = historyLimit && hist.length > historyLimit ? hist.slice(hist.length - historyLimit) : hist;
4432
- outputsHistory[cid] = trimmed.map(
4433
- (r) => r.output !== void 0 ? r.output : r
4434
- );
4432
+ outputsHistory[cid] = trimmed.map((r) => r.output !== void 0 ? r.output : r);
4435
4433
  }
4436
4434
  } catch {
4437
4435
  }
@@ -7069,18 +7067,18 @@ ${"=".repeat(60)}
7069
7067
  try {
7070
7068
  const cfgAny = this.config;
7071
7069
  const allowedFolders = cfgAny.allowedFolders;
7072
- const workspacePath = cfgAny.workspacePath || cfgAny.path || Array.isArray(allowedFolders) && allowedFolders[0];
7070
+ const preferredPath = cfgAny.workspacePath || (Array.isArray(allowedFolders) && allowedFolders.length > 0 ? allowedFolders[0] : void 0) || cfgAny.path;
7073
7071
  if (Array.isArray(allowedFolders) && allowedFolders.length > 0) {
7074
7072
  options.allowedFolders = allowedFolders;
7075
- if (!options.path && workspacePath) {
7076
- options.path = workspacePath;
7073
+ if (!options.path && preferredPath) {
7074
+ options.path = preferredPath;
7077
7075
  }
7078
7076
  log(`\u{1F5C2}\uFE0F ProbeAgent workspace config:`);
7079
7077
  log(` path (cwd): ${options.path}`);
7080
7078
  log(` allowedFolders[0]: ${allowedFolders[0]}`);
7081
- } else if (workspacePath) {
7082
- options.path = workspacePath;
7083
- log(`\u{1F5C2}\uFE0F ProbeAgent path: ${workspacePath} (no allowedFolders)`);
7079
+ } else if (preferredPath) {
7080
+ options.path = preferredPath;
7081
+ log(`\u{1F5C2}\uFE0F ProbeAgent path: ${preferredPath} (no allowedFolders)`);
7084
7082
  }
7085
7083
  } catch {
7086
7084
  }
@@ -9386,18 +9384,10 @@ var init_ai_check_provider = __esm({
9386
9384
  if (info && typeof info.workspacePath === "string") {
9387
9385
  workspaceRoot = info.workspacePath;
9388
9386
  mainProjectPath = info.mainProjectPath;
9387
+ folders.push(info.workspacePath);
9389
9388
  }
9390
9389
  } catch {
9391
9390
  }
9392
- if (mainProjectPath) {
9393
- folders.push(mainProjectPath);
9394
- logger.debug(
9395
- `[AI Provider] Including main project FIRST in allowedFolders: ${mainProjectPath}`
9396
- );
9397
- }
9398
- if (workspaceRoot) {
9399
- folders.push(workspaceRoot);
9400
- }
9401
9391
  const projectPaths = [];
9402
9392
  try {
9403
9393
  const projects = workspace.listProjects?.() || [];
@@ -9409,15 +9399,28 @@ var init_ai_check_provider = __esm({
9409
9399
  }
9410
9400
  } catch {
9411
9401
  }
9402
+ const workspaceCfg = parentCtx?.config?.workspace;
9403
+ const includeMainProject = workspaceCfg?.include_main_project === true || process.env.VISOR_WORKSPACE_INCLUDE_MAIN_PROJECT === "true";
9404
+ if (includeMainProject && mainProjectPath) {
9405
+ folders.push(mainProjectPath);
9406
+ logger.debug(`[AI Provider] Including main project (enabled): ${mainProjectPath}`);
9407
+ } else if (mainProjectPath) {
9408
+ logger.debug(`[AI Provider] Excluding main project (disabled): ${mainProjectPath}`);
9409
+ }
9412
9410
  const unique = Array.from(new Set(folders.filter((p) => typeof p === "string" && p)));
9413
9411
  if (unique.length > 0 && workspaceRoot) {
9412
+ if (unique[0] !== workspaceRoot) {
9413
+ logger.warn(
9414
+ `[AI Provider] allowedFolders[0] is not workspaceRoot; tooling defaults may be mis-scoped`
9415
+ );
9416
+ }
9414
9417
  aiConfig.allowedFolders = unique;
9415
- const aiCwd = mainProjectPath || workspaceRoot;
9418
+ const aiCwd = workspaceRoot;
9416
9419
  aiConfig.path = aiCwd;
9417
9420
  aiConfig.cwd = aiCwd;
9418
9421
  aiConfig.workspacePath = aiCwd;
9419
9422
  logger.debug(`[AI Provider] Workspace isolation enabled:`);
9420
- logger.debug(`[AI Provider] cwd (mainProjectPath): ${aiCwd}`);
9423
+ logger.debug(`[AI Provider] cwd (workspaceRoot): ${aiCwd}`);
9421
9424
  logger.debug(`[AI Provider] workspaceRoot: ${workspaceRoot}`);
9422
9425
  logger.debug(`[AI Provider] allowedFolders: ${JSON.stringify(unique)}`);
9423
9426
  }
@@ -17526,7 +17529,7 @@ var init_config_schema = __esm({
17526
17529
  description: "Arguments/inputs for the workflow"
17527
17530
  },
17528
17531
  overrides: {
17529
- $ref: "#/definitions/Record%3Cstring%2CPartial%3Cinterface-src_types_config.ts-11359-23556-src_types_config.ts-0-41044%3E%3E",
17532
+ $ref: "#/definitions/Record%3Cstring%2CPartial%3Cinterface-src_types_config.ts-11359-23556-src_types_config.ts-0-41156%3E%3E",
17530
17533
  description: "Override specific step configurations in the workflow"
17531
17534
  },
17532
17535
  output_mapping: {
@@ -17542,7 +17545,7 @@ var init_config_schema = __esm({
17542
17545
  description: "Config file path - alternative to workflow ID (loads a Visor config file as workflow)"
17543
17546
  },
17544
17547
  workflow_overrides: {
17545
- $ref: "#/definitions/Record%3Cstring%2CPartial%3Cinterface-src_types_config.ts-11359-23556-src_types_config.ts-0-41044%3E%3E",
17548
+ $ref: "#/definitions/Record%3Cstring%2CPartial%3Cinterface-src_types_config.ts-11359-23556-src_types_config.ts-0-41156%3E%3E",
17546
17549
  description: "Alias for overrides - workflow step overrides (backward compatibility)"
17547
17550
  },
17548
17551
  ref: {
@@ -18172,7 +18175,7 @@ var init_config_schema = __esm({
18172
18175
  description: "Custom output name (defaults to workflow name)"
18173
18176
  },
18174
18177
  overrides: {
18175
- $ref: "#/definitions/Record%3Cstring%2CPartial%3Cinterface-src_types_config.ts-11359-23556-src_types_config.ts-0-41044%3E%3E",
18178
+ $ref: "#/definitions/Record%3Cstring%2CPartial%3Cinterface-src_types_config.ts-11359-23556-src_types_config.ts-0-41156%3E%3E",
18176
18179
  description: "Step overrides"
18177
18180
  },
18178
18181
  output_mapping: {
@@ -18187,13 +18190,13 @@ var init_config_schema = __esm({
18187
18190
  "^x-": {}
18188
18191
  }
18189
18192
  },
18190
- "Record<string,Partial<interface-src_types_config.ts-11359-23556-src_types_config.ts-0-41044>>": {
18193
+ "Record<string,Partial<interface-src_types_config.ts-11359-23556-src_types_config.ts-0-41156>>": {
18191
18194
  type: "object",
18192
18195
  additionalProperties: {
18193
- $ref: "#/definitions/Partial%3Cinterface-src_types_config.ts-11359-23556-src_types_config.ts-0-41044%3E"
18196
+ $ref: "#/definitions/Partial%3Cinterface-src_types_config.ts-11359-23556-src_types_config.ts-0-41156%3E"
18194
18197
  }
18195
18198
  },
18196
- "Partial<interface-src_types_config.ts-11359-23556-src_types_config.ts-0-41044>": {
18199
+ "Partial<interface-src_types_config.ts-11359-23556-src_types_config.ts-0-41156>": {
18197
18200
  type: "object",
18198
18201
  additionalProperties: false
18199
18202
  },
@@ -18775,6 +18778,10 @@ var init_config_schema = __esm({
18775
18778
  cleanup_on_exit: {
18776
18779
  type: "boolean",
18777
18780
  description: "Clean up workspace on exit (default: true)"
18781
+ },
18782
+ include_main_project: {
18783
+ type: "boolean",
18784
+ description: "Include main project worktree in AI allowed folders (default: false)"
18778
18785
  }
18779
18786
  },
18780
18787
  additionalProperties: false,