@vitest-agent/sdk 1.3.4 → 2.0.1

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 (58) hide show
  1. package/errors/DataStoreError.js +22 -13
  2. package/index.d.ts +1032 -1101
  3. package/index.js +3 -3
  4. package/layers/ConfigLive.js +8 -9
  5. package/layers/DataReaderLive.js +2 -2
  6. package/layers/DataStoreLive.js +2 -2
  7. package/layers/DiscoveryRegistryLive.js +1 -1
  8. package/layers/LoggerLive.js +24 -24
  9. package/layers/PathResolutionLive.js +18 -17
  10. package/layers/PerClientSessionMapLive.js +1 -1
  11. package/layers/ProjectDiscoveryLive.js +1 -2
  12. package/layers/ProjectIdentityLive.js +16 -12
  13. package/layers/RunContextLive.js +20 -20
  14. package/migrations/0001_initial.js +1 -1
  15. package/migrations/registry_0001_initial.js +1 -1
  16. package/migrations/session_map_0001_initial.js +1 -1
  17. package/package.json +18 -18
  18. package/schemas/AgentReport.js +6 -9
  19. package/schemas/Baselines.js +3 -3
  20. package/schemas/CacheManifest.js +2 -2
  21. package/schemas/ChannelEvent.js +30 -3
  22. package/schemas/Common.js +76 -14
  23. package/schemas/ConsoleLeaks.js +2 -2
  24. package/schemas/Coverage.js +8 -8
  25. package/schemas/CoverageTargets.js +16 -10
  26. package/schemas/History.js +4 -4
  27. package/schemas/Identity.js +19 -7
  28. package/schemas/Options.js +3 -3
  29. package/schemas/RenderState.js +26 -19
  30. package/schemas/RunEvent.js +154 -115
  31. package/schemas/Tdd.js +16 -6
  32. package/schemas/Thresholds.js +6 -6
  33. package/schemas/Transport.js +1 -1
  34. package/schemas/Trends.js +7 -3
  35. package/schemas/turns/FileEditPayload.js +5 -1
  36. package/schemas/turns/HookFirePayload.js +15 -1
  37. package/schemas/turns/index.js +9 -1
  38. package/services/Config.js +3 -3
  39. package/services/DataReader.js +1 -1
  40. package/services/DataStore.js +1 -1
  41. package/services/DetailResolver.js +1 -1
  42. package/services/DiscoveryRegistry.js +1 -1
  43. package/services/EnvironmentDetector.js +1 -1
  44. package/services/ExecutorResolver.js +1 -1
  45. package/services/FormatSelector.js +1 -1
  46. package/services/HistoryTracker.js +1 -1
  47. package/services/OutputRenderer.js +1 -1
  48. package/services/PerClientSessionMap.js +2 -2
  49. package/services/ProjectDiscovery.js +1 -1
  50. package/services/ProjectIdentity.js +1 -1
  51. package/services/RunContext.js +1 -1
  52. package/testing/layers.js +2 -2
  53. package/testing.d.ts +312 -332
  54. package/tsdoc-metadata.json +1 -1
  55. package/utils/build-report.js +16 -1
  56. package/utils/ensure-migrated.js +3 -3
  57. package/utils/resolve-data-path.js +3 -3
  58. package/utils/resolve-workspace-key.js +11 -6
@@ -19,24 +19,33 @@ var DataStoreError = class extends Data.TaggedError("DataStoreError") {
19
19
  /**
20
20
  * Extract a human-readable reason string from an Effect SqlError or unknown error.
21
21
  *
22
- * SqlError wraps the underlying better-sqlite3 error in `cause`. The actual SQLite
23
- * message (e.g. "SQLITE_BUSY: database is locked", "UNIQUE constraint failed: ...")
24
- * lives on `cause.message`, while the SqlError's own `message` is generic
25
- * ("Failed to execute statement"). Prefer the cause's message when available.
22
+ * SqlError wraps the underlying `node:sqlite` driver error in `cause`. The actual
23
+ * SQLite message (e.g. "SQLITE_BUSY: database is locked", "UNIQUE constraint
24
+ * failed: ...") lives on the DEEPEST node in the `cause` chain, while the outer
25
+ * `message`s are generic ("Failed to execute statement"). The v4 driver commonly
26
+ * nests two such wrappers, so the real reason sits at `cause.cause.message` — we
27
+ * walk the full chain and return the deepest non-empty message. Guarded against
28
+ * circular `cause` references.
26
29
  * @public
27
30
  */
28
31
  const extractSqlReason = (e) => {
29
- const err = e;
30
- if (err && typeof err === "object") {
31
- if (err.cause) {
32
- if (typeof err.cause === "string") return err.cause;
33
- if (typeof err.cause === "object" && typeof err.cause.message === "string") return err.cause.message;
32
+ const seen = /* @__PURE__ */ new Set();
33
+ let best;
34
+ let node = e;
35
+ while (node && typeof node === "object" && !seen.has(node)) {
36
+ seen.add(node);
37
+ const n = node;
38
+ if (typeof n.message === "string" && n.message.length > 0) best = n.message;
39
+ if (typeof n.cause === "string") {
40
+ if (n.cause.length > 0) best = n.cause;
41
+ break;
34
42
  }
35
- if (typeof err.message === "string" && err.message.length > 0) return err.message;
36
- try {
37
- return JSON.stringify(e);
38
- } catch {}
43
+ node = n.cause;
39
44
  }
45
+ if (best !== void 0) return best;
46
+ if (e && typeof e === "object") try {
47
+ return JSON.stringify(e);
48
+ } catch {}
40
49
  return String(e);
41
50
  };
42
51