@probelabs/visor 0.1.122 → 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 +8625 -426
  7. package/dist/output/traces/{run-2026-01-28T13-56-32-263Z.ndjson → run-2026-01-28T16-15-24-569Z.ndjson} +84 -84
  8. package/dist/output/traces/{run-2026-01-28T13-57-13-140Z.ndjson → run-2026-01-28T16-16-09-757Z.ndjson} +1027 -1027
  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-28T13-56-32-263Z.ndjson → run-2026-01-28T16-15-24-569Z.ndjson} +84 -84
  26. package/dist/traces/{run-2026-01-28T13-57-13-140Z.ndjson → run-2026-01-28T16-16-09-757Z.ndjson} +1027 -1027
  27. package/dist/types/config.d.ts +2 -0
  28. package/dist/types/config.d.ts.map +1 -1
  29. package/package.json +4 -4
  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
@@ -20,7 +20,7 @@ import {
20
20
  import {
21
21
  config_exports,
22
22
  init_config
23
- } from "./chunk-CUNPH6TR.mjs";
23
+ } from "./chunk-PVITVJ6J.mjs";
24
24
  import {
25
25
  checkLoopBudget,
26
26
  evaluateGoto,
@@ -28,7 +28,7 @@ import {
28
28
  init_routing,
29
29
  init_snapshot_store,
30
30
  snapshot_store_exports
31
- } from "./chunk-35NT3725.mjs";
31
+ } from "./chunk-BHZ4CKUS.mjs";
32
32
  import {
33
33
  FailureConditionEvaluator,
34
34
  init_failure_condition_evaluator
@@ -1578,18 +1578,18 @@ ${"=".repeat(60)}
1578
1578
  try {
1579
1579
  const cfgAny = this.config;
1580
1580
  const allowedFolders = cfgAny.allowedFolders;
1581
- const workspacePath = cfgAny.workspacePath || cfgAny.path || Array.isArray(allowedFolders) && allowedFolders[0];
1581
+ const preferredPath = cfgAny.workspacePath || (Array.isArray(allowedFolders) && allowedFolders.length > 0 ? allowedFolders[0] : void 0) || cfgAny.path;
1582
1582
  if (Array.isArray(allowedFolders) && allowedFolders.length > 0) {
1583
1583
  options.allowedFolders = allowedFolders;
1584
- if (!options.path && workspacePath) {
1585
- options.path = workspacePath;
1584
+ if (!options.path && preferredPath) {
1585
+ options.path = preferredPath;
1586
1586
  }
1587
1587
  log(`\u{1F5C2}\uFE0F ProbeAgent workspace config:`);
1588
1588
  log(` path (cwd): ${options.path}`);
1589
1589
  log(` allowedFolders[0]: ${allowedFolders[0]}`);
1590
- } else if (workspacePath) {
1591
- options.path = workspacePath;
1592
- log(`\u{1F5C2}\uFE0F ProbeAgent path: ${workspacePath} (no allowedFolders)`);
1590
+ } else if (preferredPath) {
1591
+ options.path = preferredPath;
1592
+ log(`\u{1F5C2}\uFE0F ProbeAgent path: ${preferredPath} (no allowedFolders)`);
1593
1593
  }
1594
1594
  } catch {
1595
1595
  }
@@ -3764,18 +3764,10 @@ var init_ai_check_provider = __esm({
3764
3764
  if (info && typeof info.workspacePath === "string") {
3765
3765
  workspaceRoot = info.workspacePath;
3766
3766
  mainProjectPath = info.mainProjectPath;
3767
+ folders.push(info.workspacePath);
3767
3768
  }
3768
3769
  } catch {
3769
3770
  }
3770
- if (mainProjectPath) {
3771
- folders.push(mainProjectPath);
3772
- logger.debug(
3773
- `[AI Provider] Including main project FIRST in allowedFolders: ${mainProjectPath}`
3774
- );
3775
- }
3776
- if (workspaceRoot) {
3777
- folders.push(workspaceRoot);
3778
- }
3779
3771
  const projectPaths = [];
3780
3772
  try {
3781
3773
  const projects = workspace.listProjects?.() || [];
@@ -3787,15 +3779,28 @@ var init_ai_check_provider = __esm({
3787
3779
  }
3788
3780
  } catch {
3789
3781
  }
3782
+ const workspaceCfg = parentCtx?.config?.workspace;
3783
+ const includeMainProject = workspaceCfg?.include_main_project === true || process.env.VISOR_WORKSPACE_INCLUDE_MAIN_PROJECT === "true";
3784
+ if (includeMainProject && mainProjectPath) {
3785
+ folders.push(mainProjectPath);
3786
+ logger.debug(`[AI Provider] Including main project (enabled): ${mainProjectPath}`);
3787
+ } else if (mainProjectPath) {
3788
+ logger.debug(`[AI Provider] Excluding main project (disabled): ${mainProjectPath}`);
3789
+ }
3790
3790
  const unique = Array.from(new Set(folders.filter((p) => typeof p === "string" && p)));
3791
3791
  if (unique.length > 0 && workspaceRoot) {
3792
+ if (unique[0] !== workspaceRoot) {
3793
+ logger.warn(
3794
+ `[AI Provider] allowedFolders[0] is not workspaceRoot; tooling defaults may be mis-scoped`
3795
+ );
3796
+ }
3792
3797
  aiConfig.allowedFolders = unique;
3793
- const aiCwd = mainProjectPath || workspaceRoot;
3798
+ const aiCwd = workspaceRoot;
3794
3799
  aiConfig.path = aiCwd;
3795
3800
  aiConfig.cwd = aiCwd;
3796
3801
  aiConfig.workspacePath = aiCwd;
3797
3802
  logger.debug(`[AI Provider] Workspace isolation enabled:`);
3798
- logger.debug(`[AI Provider] cwd (mainProjectPath): ${aiCwd}`);
3803
+ logger.debug(`[AI Provider] cwd (workspaceRoot): ${aiCwd}`);
3799
3804
  logger.debug(`[AI Provider] workspaceRoot: ${workspaceRoot}`);
3800
3805
  logger.debug(`[AI Provider] allowedFolders: ${JSON.stringify(unique)}`);
3801
3806
  }
@@ -13578,7 +13583,7 @@ async function executeCheckWithForEachItems2(checkId, forEachParent, forEachItem
13578
13583
  }
13579
13584
  }
13580
13585
  try {
13581
- const { evaluateTransitions } = await import("./routing-KZ345OFG.mjs");
13586
+ const { evaluateTransitions } = await import("./routing-DEY2AIXM.mjs");
13582
13587
  const transTarget = await evaluateTransitions(
13583
13588
  onFinish.transitions,
13584
13589
  forEachParent,
@@ -13638,7 +13643,7 @@ async function executeCheckWithForEachItems2(checkId, forEachParent, forEachItem
13638
13643
  `[LevelDispatch] Error evaluating on_finish transitions for ${forEachParent}: ${e instanceof Error ? e.message : String(e)}`
13639
13644
  );
13640
13645
  }
13641
- const { evaluateGoto: evaluateGoto2 } = await import("./routing-KZ345OFG.mjs");
13646
+ const { evaluateGoto: evaluateGoto2 } = await import("./routing-DEY2AIXM.mjs");
13642
13647
  if (context2.debug) {
13643
13648
  logger.info(
13644
13649
  `[LevelDispatch] Evaluating on_finish.goto_js for forEach parent: ${forEachParent}`
@@ -17078,4 +17083,4 @@ export {
17078
17083
  StateMachineRunner,
17079
17084
  init_runner
17080
17085
  };
17081
- //# sourceMappingURL=chunk-VPEQOQ7G.mjs.map
17086
+ //# sourceMappingURL=chunk-YLQ4UN62.mjs.map