agent-inspect 6.29.1 → 6.29.3

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 (60) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +1 -1
  3. package/docs/API.md +4 -0
  4. package/docs/CLI.md +2 -0
  5. package/docs/LIMITATIONS.md +1 -0
  6. package/docs/NETWORK-BEHAVIOR.md +8 -0
  7. package/docs/TRACE-CONTRACTS.md +11 -0
  8. package/package.json +2 -2
  9. package/packages/cli/dist/{chunk-UK4HD5M3.mjs → chunk-TBTRH7KY.mjs} +5 -3
  10. package/packages/cli/dist/chunk-TBTRH7KY.mjs.map +1 -0
  11. package/packages/cli/dist/index.cjs +48 -11
  12. package/packages/cli/dist/index.cjs.map +1 -1
  13. package/packages/cli/dist/index.mjs +49 -14
  14. package/packages/cli/dist/index.mjs.map +1 -1
  15. package/packages/cli/dist/{src-CMPIJGUE.mjs → src-PGESGQ7G.mjs} +3 -3
  16. package/packages/cli/dist/{src-CMPIJGUE.mjs.map → src-PGESGQ7G.mjs.map} +1 -1
  17. package/packages/core/dist/advanced.cjs +41 -2
  18. package/packages/core/dist/advanced.cjs.map +1 -1
  19. package/packages/core/dist/advanced.d.cts +2 -2
  20. package/packages/core/dist/advanced.d.ts +2 -2
  21. package/packages/core/dist/advanced.mjs +14 -14
  22. package/packages/core/dist/checks.cjs +15 -2
  23. package/packages/core/dist/checks.cjs.map +1 -1
  24. package/packages/core/dist/checks.d.cts +2 -2
  25. package/packages/core/dist/checks.d.ts +2 -2
  26. package/packages/core/dist/checks.mjs +5 -5
  27. package/packages/core/dist/{chunk-QJI52TH3.mjs → chunk-3I6KX32E.mjs} +5 -3
  28. package/packages/core/dist/chunk-3I6KX32E.mjs.map +1 -0
  29. package/packages/core/dist/{chunk-COZPMOUF.mjs → chunk-5M4QUYFH.mjs} +3 -3
  30. package/packages/core/dist/{chunk-COZPMOUF.mjs.map → chunk-5M4QUYFH.mjs.map} +1 -1
  31. package/packages/core/dist/{chunk-SJ3C5RIS.mjs → chunk-7LSVGXCN.mjs} +3 -3
  32. package/packages/core/dist/{chunk-SJ3C5RIS.mjs.map → chunk-7LSVGXCN.mjs.map} +1 -1
  33. package/packages/core/dist/{chunk-FKUTGUFG.mjs → chunk-AT7TICCQ.mjs} +4 -4
  34. package/packages/core/dist/{chunk-FKUTGUFG.mjs.map → chunk-AT7TICCQ.mjs.map} +1 -1
  35. package/packages/core/dist/{chunk-65LFRW2T.mjs → chunk-BMRK6XHO.mjs} +4 -4
  36. package/packages/core/dist/{chunk-65LFRW2T.mjs.map → chunk-BMRK6XHO.mjs.map} +1 -1
  37. package/packages/core/dist/{chunk-AQMJFKI6.mjs → chunk-DZBNXCLA.mjs} +43 -6
  38. package/packages/core/dist/chunk-DZBNXCLA.mjs.map +1 -0
  39. package/packages/core/dist/{chunk-5RF7FYGL.mjs → chunk-FKVCTIP6.mjs} +4 -4
  40. package/packages/core/dist/{chunk-5RF7FYGL.mjs.map → chunk-FKVCTIP6.mjs.map} +1 -1
  41. package/packages/core/dist/{chunk-5B4DNGFB.mjs → chunk-KNRY24RS.mjs} +3 -3
  42. package/packages/core/dist/{chunk-5B4DNGFB.mjs.map → chunk-KNRY24RS.mjs.map} +1 -1
  43. package/packages/core/dist/{chunk-GPGBKN7W.mjs → chunk-XPDNO3KH.mjs} +18 -5
  44. package/packages/core/dist/{chunk-GPGBKN7W.mjs.map → chunk-XPDNO3KH.mjs.map} +1 -1
  45. package/packages/core/dist/exporters.mjs +5 -5
  46. package/packages/core/dist/{index-C61p7wBR.d.cts → index-BaQ48jrq.d.cts} +9 -1
  47. package/packages/core/dist/{index-DTO2iGeq.d.ts → index-CrnEOoRu.d.ts} +9 -1
  48. package/packages/core/dist/index.cjs +38 -1
  49. package/packages/core/dist/index.cjs.map +1 -1
  50. package/packages/core/dist/index.mjs +6 -6
  51. package/packages/core/dist/persisted.cjs +3 -1
  52. package/packages/core/dist/persisted.cjs.map +1 -1
  53. package/packages/core/dist/persisted.mjs +3 -3
  54. package/packages/core/dist/readers.cjs +3 -1
  55. package/packages/core/dist/readers.cjs.map +1 -1
  56. package/packages/core/dist/readers.mjs +4 -4
  57. package/packages/core/dist/writers.mjs +3 -3
  58. package/packages/cli/dist/chunk-UK4HD5M3.mjs.map +0 -1
  59. package/packages/core/dist/chunk-AQMJFKI6.mjs.map +0 -1
  60. package/packages/core/dist/chunk-QJI52TH3.mjs.map +0 -1
@@ -531,7 +531,9 @@ function mapTokenUsageToMetadata(tokenUsage, attributes) {
531
531
  ...tokenUsage.input !== void 0 ? { input: tokenUsage.input } : {},
532
532
  ...tokenUsage.output !== void 0 ? { output: tokenUsage.output } : {},
533
533
  ...tokenUsage.total !== void 0 ? { total: tokenUsage.total } : {},
534
- ...tokenUsage.cached !== void 0 ? { cached: tokenUsage.cached } : {}
534
+ ...tokenUsage.cached !== void 0 ? { cached: tokenUsage.cached } : {},
535
+ ...tokenUsage.cacheWrite !== void 0 ? { cacheWrite: tokenUsage.cacheWrite } : {},
536
+ ...tokenUsage.reasoning !== void 0 ? { reasoning: tokenUsage.reasoning } : {}
535
537
  };
536
538
  }
537
539
  return Object.keys(metadata).length > 0 ? metadata : void 0;
@@ -13756,7 +13758,7 @@ var init_src = __esm({
13756
13758
  });
13757
13759
 
13758
13760
  // package.json
13759
- var version = "6.29.1";
13761
+ var version = "6.29.3";
13760
13762
 
13761
13763
  // packages/cli/src/list.ts
13762
13764
  init_advanced();
@@ -26220,18 +26222,56 @@ async function workspacePathCommand(options = {}) {
26220
26222
  // packages/cli/src/suite.ts
26221
26223
  init_advanced();
26222
26224
  var DEFAULT_CONFIG_FILENAME = "agent-inspect.suite.json";
26225
+ var CONFIG_EXISTS_ERROR = `${DEFAULT_CONFIG_FILENAME} already exists; refusing to overwrite it.`;
26223
26226
  function printJson5(value) {
26224
26227
  console.log(JSON.stringify(value, null, 2));
26225
26228
  }
26226
26229
  function resolveCwd(options) {
26227
26230
  return path33__default.default.resolve(options.cwd ?? process.cwd());
26228
26231
  }
26232
+ function getErrorCode(error) {
26233
+ if (typeof error !== "object" || error === null || !("code" in error)) {
26234
+ return void 0;
26235
+ }
26236
+ return typeof error.code === "string" ? error.code : void 0;
26237
+ }
26238
+ function getErrorMessage(error) {
26239
+ return error instanceof Error ? error.message : String(error);
26240
+ }
26241
+ function failInit(options, message) {
26242
+ if (options.json) {
26243
+ printJson5({ ok: false, error: message });
26244
+ } else {
26245
+ console.error(`[AgentInspect] suite init failed: ${message}`);
26246
+ }
26247
+ process.exitCode = 1;
26248
+ }
26249
+ async function pathExists2(filePath) {
26250
+ try {
26251
+ await promises.lstat(filePath);
26252
+ return true;
26253
+ } catch (error) {
26254
+ if (getErrorCode(error) === "ENOENT") return false;
26255
+ throw error;
26256
+ }
26257
+ }
26229
26258
  async function suiteInitCommand(options = {}) {
26230
26259
  const cwd = resolveCwd(options);
26231
26260
  const configPath = path33__default.default.join(cwd, DEFAULT_CONFIG_FILENAME);
26232
26261
  const template = options.template?.trim();
26233
26262
  const suiteConfig = template !== void 0 && template !== "" ? resolveSuiteTemplate(template) : defaultSuiteConfigTemplate();
26263
+ const content = `${JSON.stringify(suiteConfig, null, 2)}
26264
+ `;
26234
26265
  if (options.dryRun) {
26266
+ try {
26267
+ if (await pathExists2(configPath)) {
26268
+ failInit(options, CONFIG_EXISTS_ERROR);
26269
+ return;
26270
+ }
26271
+ } catch (error) {
26272
+ failInit(options, getErrorMessage(error));
26273
+ return;
26274
+ }
26235
26275
  if (options.json) {
26236
26276
  printJson5({
26237
26277
  ok: true,
@@ -26248,8 +26288,10 @@ async function suiteInitCommand(options = {}) {
26248
26288
  return;
26249
26289
  }
26250
26290
  try {
26251
- await promises.writeFile(configPath, `${JSON.stringify(suiteConfig, null, 2)}
26252
- `, "utf-8");
26291
+ await promises.writeFile(configPath, content, {
26292
+ encoding: "utf-8",
26293
+ flag: "wx"
26294
+ });
26253
26295
  if (options.json) {
26254
26296
  printJson5({
26255
26297
  ok: true,
@@ -26266,13 +26308,8 @@ async function suiteInitCommand(options = {}) {
26266
26308
  console.log(" npx agent-inspect suite validate");
26267
26309
  console.log(" npx agent-inspect suite run --json");
26268
26310
  } catch (error) {
26269
- const message = error instanceof Error ? error.message : String(error);
26270
- if (options.json) {
26271
- printJson5({ ok: false, error: message });
26272
- } else {
26273
- console.error(`[AgentInspect] suite init failed: ${message}`);
26274
- }
26275
- process.exitCode = 1;
26311
+ const message = getErrorCode(error) === "EEXIST" ? CONFIG_EXISTS_ERROR : getErrorMessage(error);
26312
+ failInit(options, message);
26276
26313
  }
26277
26314
  }
26278
26315
  async function suiteValidateCommand(options = {}) {