braintrust 3.16.0 → 3.18.0

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 (55) hide show
  1. package/bin/bt +41 -0
  2. package/dev/dist/index.d.mts +13 -0
  3. package/dev/dist/index.d.ts +13 -0
  4. package/dev/dist/index.js +4300 -2199
  5. package/dev/dist/index.mjs +2211 -110
  6. package/dist/apply-auto-instrumentation.js +238 -186
  7. package/dist/apply-auto-instrumentation.mjs +68 -16
  8. package/dist/auto-instrumentations/bundler/esbuild.cjs +90 -15
  9. package/dist/auto-instrumentations/bundler/esbuild.mjs +2 -2
  10. package/dist/auto-instrumentations/bundler/next.cjs +90 -15
  11. package/dist/auto-instrumentations/bundler/next.mjs +3 -3
  12. package/dist/auto-instrumentations/bundler/rollup.cjs +90 -15
  13. package/dist/auto-instrumentations/bundler/rollup.mjs +2 -2
  14. package/dist/auto-instrumentations/bundler/vite.cjs +90 -15
  15. package/dist/auto-instrumentations/bundler/vite.mjs +2 -2
  16. package/dist/auto-instrumentations/bundler/webpack-loader.cjs +89 -14
  17. package/dist/auto-instrumentations/bundler/webpack.cjs +90 -15
  18. package/dist/auto-instrumentations/bundler/webpack.mjs +3 -3
  19. package/dist/auto-instrumentations/{chunk-VXJONZVX.mjs → chunk-GNUEZ2PE.mjs} +13 -3
  20. package/dist/auto-instrumentations/{chunk-CNQ7BUKN.mjs → chunk-MYCHHXOE.mjs} +1 -1
  21. package/dist/auto-instrumentations/{chunk-E5DUYJWK.mjs → chunk-ZYKZEMRT.mjs} +82 -15
  22. package/dist/auto-instrumentations/hook.mjs +102 -15
  23. package/dist/auto-instrumentations/index.cjs +84 -16
  24. package/dist/auto-instrumentations/index.d.mts +3 -1
  25. package/dist/auto-instrumentations/index.d.ts +3 -1
  26. package/dist/auto-instrumentations/index.mjs +5 -3
  27. package/dist/auto-instrumentations/loader/cjs-patch.cjs +1 -1
  28. package/dist/auto-instrumentations/loader/cjs-patch.mjs +1 -1
  29. package/dist/auto-instrumentations/loader/esm-hook.mjs +1 -1
  30. package/dist/browser.d.mts +177 -11
  31. package/dist/browser.d.ts +177 -11
  32. package/dist/browser.js +2296 -104
  33. package/dist/browser.mjs +2455 -263
  34. package/dist/{chunk-VMBQETG3.js → chunk-73IYIIOL.js} +28 -2
  35. package/dist/{chunk-O4ZIWXO3.mjs → chunk-BYFADLEZ.mjs} +27 -1
  36. package/dist/cli.js +2228 -113
  37. package/dist/edge-light.d.mts +1 -1
  38. package/dist/edge-light.d.ts +1 -1
  39. package/dist/edge-light.js +2296 -104
  40. package/dist/edge-light.mjs +2455 -263
  41. package/dist/index.d.mts +177 -11
  42. package/dist/index.d.ts +177 -11
  43. package/dist/index.js +3296 -1128
  44. package/dist/index.mjs +2272 -104
  45. package/dist/instrumentation/index.d.mts +3 -0
  46. package/dist/instrumentation/index.d.ts +3 -0
  47. package/dist/instrumentation/index.js +2171 -105
  48. package/dist/instrumentation/index.mjs +2171 -105
  49. package/dist/workerd.d.mts +1 -1
  50. package/dist/workerd.d.ts +1 -1
  51. package/dist/workerd.js +2296 -104
  52. package/dist/workerd.mjs +2455 -263
  53. package/package.json +19 -5
  54. package/scripts/bt-helper.js +139 -0
  55. package/scripts/install.js +153 -0
@@ -52,6 +52,11 @@ var envIntegrationAliases = {
52
52
  openaicodexsdk: "openaiCodexSDK",
53
53
  codex: "openaiCodexSDK",
54
54
  "codex-sdk": "openaiCodexSDK",
55
+ "pi-coding-agent": "piCodingAgent",
56
+ "pi-coding-agent-sdk": "piCodingAgent",
57
+ picodingagent: "piCodingAgent",
58
+ picodingagentsdk: "piCodingAgent",
59
+ "@earendil-works/pi-coding-agent": "piCodingAgent",
55
60
  anthropic: "anthropic",
56
61
  aisdk: "aisdk",
57
62
  "ai-sdk": "aisdk",
@@ -311,6 +316,10 @@ var aiSDKChannels = defineChannels("ai", {
311
316
  toolLoopAgentStream: channel({
312
317
  channelName: "ToolLoopAgent.stream",
313
318
  kind: "async"
319
+ }),
320
+ v7CreateTelemetryDispatcher: channel({
321
+ channelName: "createTelemetryDispatcher",
322
+ kind: "sync-stream"
314
323
  })
315
324
  });
316
325
 
@@ -321,7 +330,7 @@ var aiSDKConfigs = [
321
330
  channelName: aiSDKChannels.generateText.channelName,
322
331
  module: {
323
332
  name: "ai",
324
- versionRange: ">=3.0.0",
333
+ versionRange: ">=3.0.0 <7.0.0",
325
334
  filePath: "dist/index.mjs"
326
335
  },
327
336
  functionQuery: {
@@ -333,7 +342,7 @@ var aiSDKConfigs = [
333
342
  channelName: aiSDKChannels.generateText.channelName,
334
343
  module: {
335
344
  name: "ai",
336
- versionRange: ">=3.0.0",
345
+ versionRange: ">=3.0.0 <7.0.0",
337
346
  filePath: "dist/index.js"
338
347
  },
339
348
  functionQuery: {
@@ -359,7 +368,7 @@ var aiSDKConfigs = [
359
368
  channelName: aiSDKChannels.streamTextSync.channelName,
360
369
  module: {
361
370
  name: "ai",
362
- versionRange: ">=4.0.0",
371
+ versionRange: ">=4.0.0 <7.0.0",
363
372
  filePath: "dist/index.mjs"
364
373
  },
365
374
  functionQuery: {
@@ -383,7 +392,7 @@ var aiSDKConfigs = [
383
392
  channelName: aiSDKChannels.streamTextSync.channelName,
384
393
  module: {
385
394
  name: "ai",
386
- versionRange: ">=4.0.0",
395
+ versionRange: ">=4.0.0 <7.0.0",
387
396
  filePath: "dist/index.js"
388
397
  },
389
398
  functionQuery: {
@@ -396,7 +405,7 @@ var aiSDKConfigs = [
396
405
  channelName: aiSDKChannels.generateObject.channelName,
397
406
  module: {
398
407
  name: "ai",
399
- versionRange: ">=3.0.0",
408
+ versionRange: ">=3.0.0 <7.0.0",
400
409
  filePath: "dist/index.mjs"
401
410
  },
402
411
  functionQuery: {
@@ -408,7 +417,7 @@ var aiSDKConfigs = [
408
417
  channelName: aiSDKChannels.generateObject.channelName,
409
418
  module: {
410
419
  name: "ai",
411
- versionRange: ">=3.0.0",
420
+ versionRange: ">=3.0.0 <7.0.0",
412
421
  filePath: "dist/index.js"
413
422
  },
414
423
  functionQuery: {
@@ -421,7 +430,7 @@ var aiSDKConfigs = [
421
430
  channelName: aiSDKChannels.embed.channelName,
422
431
  module: {
423
432
  name: "ai",
424
- versionRange: ">=3.0.0",
433
+ versionRange: ">=3.0.0 <7.0.0",
425
434
  filePath: "dist/index.mjs"
426
435
  },
427
436
  functionQuery: {
@@ -433,7 +442,7 @@ var aiSDKConfigs = [
433
442
  channelName: aiSDKChannels.embed.channelName,
434
443
  module: {
435
444
  name: "ai",
436
- versionRange: ">=3.0.0",
445
+ versionRange: ">=3.0.0 <7.0.0",
437
446
  filePath: "dist/index.js"
438
447
  },
439
448
  functionQuery: {
@@ -446,7 +455,7 @@ var aiSDKConfigs = [
446
455
  channelName: aiSDKChannels.embedMany.channelName,
447
456
  module: {
448
457
  name: "ai",
449
- versionRange: ">=3.0.0",
458
+ versionRange: ">=3.0.0 <7.0.0",
450
459
  filePath: "dist/index.mjs"
451
460
  },
452
461
  functionQuery: {
@@ -458,7 +467,7 @@ var aiSDKConfigs = [
458
467
  channelName: aiSDKChannels.embedMany.channelName,
459
468
  module: {
460
469
  name: "ai",
461
- versionRange: ">=3.0.0",
470
+ versionRange: ">=3.0.0 <7.0.0",
462
471
  filePath: "dist/index.js"
463
472
  },
464
473
  functionQuery: {
@@ -471,7 +480,7 @@ var aiSDKConfigs = [
471
480
  channelName: aiSDKChannels.rerank.channelName,
472
481
  module: {
473
482
  name: "ai",
474
- versionRange: ">=5.0.0",
483
+ versionRange: ">=5.0.0 <7.0.0",
475
484
  filePath: "dist/index.mjs"
476
485
  },
477
486
  functionQuery: {
@@ -483,7 +492,7 @@ var aiSDKConfigs = [
483
492
  channelName: aiSDKChannels.rerank.channelName,
484
493
  module: {
485
494
  name: "ai",
486
- versionRange: ">=5.0.0",
495
+ versionRange: ">=5.0.0 <7.0.0",
487
496
  filePath: "dist/index.js"
488
497
  },
489
498
  functionQuery: {
@@ -491,6 +500,21 @@ var aiSDKConfigs = [
491
500
  kind: "Async"
492
501
  }
493
502
  },
503
+ // AI SDK v7 exposes its telemetry lifecycle through a dispatcher created for
504
+ // each operation. We patch that dispatcher in the plugin instead of rewriting
505
+ // the module to call registerTelemetry().
506
+ {
507
+ channelName: aiSDKChannels.v7CreateTelemetryDispatcher.channelName,
508
+ module: {
509
+ name: "ai",
510
+ versionRange: ">=7.0.0-0 <8.0.0",
511
+ filePath: "dist/index.js"
512
+ },
513
+ functionQuery: {
514
+ functionName: "createTelemetryDispatcher",
515
+ kind: "Sync"
516
+ }
517
+ },
494
518
  // streamObject - async function (v3 only, before the sync refactor in v4)
495
519
  {
496
520
  channelName: aiSDKChannels.streamObject.channelName,
@@ -509,7 +533,7 @@ var aiSDKConfigs = [
509
533
  channelName: aiSDKChannels.streamObjectSync.channelName,
510
534
  module: {
511
535
  name: "ai",
512
- versionRange: ">=4.0.0",
536
+ versionRange: ">=4.0.0 <7.0.0",
513
537
  filePath: "dist/index.mjs"
514
538
  },
515
539
  functionQuery: {
@@ -533,7 +557,7 @@ var aiSDKConfigs = [
533
557
  channelName: aiSDKChannels.streamObjectSync.channelName,
534
558
  module: {
535
559
  name: "ai",
536
- versionRange: ">=4.0.0",
560
+ versionRange: ">=4.0.0 <7.0.0",
537
561
  filePath: "dist/index.js"
538
562
  },
539
563
  functionQuery: {
@@ -1705,6 +1729,10 @@ var googleGenAIChannels = defineChannels("@google/genai", {
1705
1729
  embedContent: channel({
1706
1730
  channelName: "models.embedContent",
1707
1731
  kind: "async"
1732
+ }),
1733
+ interactionsCreate: channel({
1734
+ channelName: "interactions.create",
1735
+ kind: "async"
1708
1736
  })
1709
1737
  });
1710
1738
 
@@ -1768,6 +1796,20 @@ var googleGenAIConfigs = [
1768
1796
  methodName: "embedContentInternal",
1769
1797
  kind: "Async"
1770
1798
  }
1799
+ },
1800
+ // BaseInteractions.create - Interactions API entry point
1801
+ {
1802
+ channelName: googleGenAIChannels.interactionsCreate.channelName,
1803
+ module: {
1804
+ name: "@google/genai",
1805
+ versionRange: ">=1.33.0",
1806
+ filePath: "dist/node/index.mjs"
1807
+ },
1808
+ functionQuery: {
1809
+ className: "BaseInteractions",
1810
+ methodName: "create",
1811
+ kind: "Async"
1812
+ }
1771
1813
  }
1772
1814
  ];
1773
1815
 
@@ -2907,6 +2949,35 @@ var openRouterAgentConfigs = [
2907
2949
  }
2908
2950
  ];
2909
2951
 
2952
+ // src/instrumentation/plugins/pi-coding-agent-channels.ts
2953
+ var piCodingAgentChannels = defineChannels(
2954
+ "@earendil-works/pi-coding-agent",
2955
+ {
2956
+ prompt: channel({
2957
+ channelName: "AgentSession.prompt",
2958
+ kind: "async"
2959
+ })
2960
+ }
2961
+ );
2962
+
2963
+ // src/auto-instrumentations/configs/pi-coding-agent.ts
2964
+ var piCodingAgentVersionRange = ">=0.79.0 <0.80.0";
2965
+ var piCodingAgentConfigs = [
2966
+ {
2967
+ channelName: piCodingAgentChannels.prompt.channelName,
2968
+ module: {
2969
+ name: "@earendil-works/pi-coding-agent",
2970
+ versionRange: piCodingAgentVersionRange,
2971
+ filePath: "dist/core/agent-session.js"
2972
+ },
2973
+ functionQuery: {
2974
+ className: "AgentSession",
2975
+ methodName: "prompt",
2976
+ kind: "Async"
2977
+ }
2978
+ }
2979
+ ];
2980
+
2910
2981
  // src/auto-instrumentations/configs/all.ts
2911
2982
  var defaultInstrumentationConfigGroups = [
2912
2983
  { integrations: ["openai"], configs: openaiConfigs },
@@ -2954,6 +3025,10 @@ var defaultInstrumentationConfigGroups = [
2954
3025
  integrations: ["gitHubCopilot"],
2955
3026
  configs: gitHubCopilotConfigs
2956
3027
  },
3028
+ {
3029
+ integrations: ["piCodingAgent"],
3030
+ configs: piCodingAgentConfigs
3031
+ },
2957
3032
  {
2958
3033
  integrations: ["flue"],
2959
3034
  configs: flueConfigs
@@ -3226,6 +3301,7 @@ var unplugin = (0, import_unplugin.createUnplugin)(
3226
3301
  }
3227
3302
  const moduleName = moduleDetails.name;
3228
3303
  const normalizedModulePath = moduleDetails.path.replace(/\\/g, "/");
3304
+ const moduleVersion = getModuleVersion(moduleDetails.basedir);
3229
3305
  if (options.browser !== true) {
3230
3306
  const patched = applySpecialCasePatch({
3231
3307
  packageName: moduleName,
@@ -3237,7 +3313,6 @@ var unplugin = (0, import_unplugin.createUnplugin)(
3237
3313
  return { code: patched, map: null };
3238
3314
  }
3239
3315
  }
3240
- const moduleVersion = getModuleVersion(moduleDetails.basedir);
3241
3316
  if (!moduleVersion) {
3242
3317
  console.warn(
3243
3318
  `No 'package.json' version found for module ${moduleName} at ${moduleDetails.basedir}. Skipping transformation.`
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  webpackPlugin
3
- } from "../chunk-CNQ7BUKN.mjs";
4
- import "../chunk-VXJONZVX.mjs";
5
- import "../chunk-E5DUYJWK.mjs";
3
+ } from "../chunk-MYCHHXOE.mjs";
4
+ import "../chunk-GNUEZ2PE.mjs";
5
+ import "../chunk-ZYKZEMRT.mjs";
6
6
  import "../chunk-J57YF7WS.mjs";
7
7
 
8
8
  // src/auto-instrumentations/bundler/next.ts
@@ -51,6 +51,11 @@ var envIntegrationAliases = {
51
51
  openaicodexsdk: "openaiCodexSDK",
52
52
  codex: "openaiCodexSDK",
53
53
  "codex-sdk": "openaiCodexSDK",
54
+ "pi-coding-agent": "piCodingAgent",
55
+ "pi-coding-agent-sdk": "piCodingAgent",
56
+ picodingagent: "piCodingAgent",
57
+ picodingagentsdk: "piCodingAgent",
58
+ "@earendil-works/pi-coding-agent": "piCodingAgent",
54
59
  anthropic: "anthropic",
55
60
  aisdk: "aisdk",
56
61
  "ai-sdk": "aisdk",
@@ -310,6 +315,10 @@ var aiSDKChannels = defineChannels("ai", {
310
315
  toolLoopAgentStream: channel({
311
316
  channelName: "ToolLoopAgent.stream",
312
317
  kind: "async"
318
+ }),
319
+ v7CreateTelemetryDispatcher: channel({
320
+ channelName: "createTelemetryDispatcher",
321
+ kind: "sync-stream"
313
322
  })
314
323
  });
315
324
 
@@ -320,7 +329,7 @@ var aiSDKConfigs = [
320
329
  channelName: aiSDKChannels.generateText.channelName,
321
330
  module: {
322
331
  name: "ai",
323
- versionRange: ">=3.0.0",
332
+ versionRange: ">=3.0.0 <7.0.0",
324
333
  filePath: "dist/index.mjs"
325
334
  },
326
335
  functionQuery: {
@@ -332,7 +341,7 @@ var aiSDKConfigs = [
332
341
  channelName: aiSDKChannels.generateText.channelName,
333
342
  module: {
334
343
  name: "ai",
335
- versionRange: ">=3.0.0",
344
+ versionRange: ">=3.0.0 <7.0.0",
336
345
  filePath: "dist/index.js"
337
346
  },
338
347
  functionQuery: {
@@ -358,7 +367,7 @@ var aiSDKConfigs = [
358
367
  channelName: aiSDKChannels.streamTextSync.channelName,
359
368
  module: {
360
369
  name: "ai",
361
- versionRange: ">=4.0.0",
370
+ versionRange: ">=4.0.0 <7.0.0",
362
371
  filePath: "dist/index.mjs"
363
372
  },
364
373
  functionQuery: {
@@ -382,7 +391,7 @@ var aiSDKConfigs = [
382
391
  channelName: aiSDKChannels.streamTextSync.channelName,
383
392
  module: {
384
393
  name: "ai",
385
- versionRange: ">=4.0.0",
394
+ versionRange: ">=4.0.0 <7.0.0",
386
395
  filePath: "dist/index.js"
387
396
  },
388
397
  functionQuery: {
@@ -395,7 +404,7 @@ var aiSDKConfigs = [
395
404
  channelName: aiSDKChannels.generateObject.channelName,
396
405
  module: {
397
406
  name: "ai",
398
- versionRange: ">=3.0.0",
407
+ versionRange: ">=3.0.0 <7.0.0",
399
408
  filePath: "dist/index.mjs"
400
409
  },
401
410
  functionQuery: {
@@ -407,7 +416,7 @@ var aiSDKConfigs = [
407
416
  channelName: aiSDKChannels.generateObject.channelName,
408
417
  module: {
409
418
  name: "ai",
410
- versionRange: ">=3.0.0",
419
+ versionRange: ">=3.0.0 <7.0.0",
411
420
  filePath: "dist/index.js"
412
421
  },
413
422
  functionQuery: {
@@ -420,7 +429,7 @@ var aiSDKConfigs = [
420
429
  channelName: aiSDKChannels.embed.channelName,
421
430
  module: {
422
431
  name: "ai",
423
- versionRange: ">=3.0.0",
432
+ versionRange: ">=3.0.0 <7.0.0",
424
433
  filePath: "dist/index.mjs"
425
434
  },
426
435
  functionQuery: {
@@ -432,7 +441,7 @@ var aiSDKConfigs = [
432
441
  channelName: aiSDKChannels.embed.channelName,
433
442
  module: {
434
443
  name: "ai",
435
- versionRange: ">=3.0.0",
444
+ versionRange: ">=3.0.0 <7.0.0",
436
445
  filePath: "dist/index.js"
437
446
  },
438
447
  functionQuery: {
@@ -445,7 +454,7 @@ var aiSDKConfigs = [
445
454
  channelName: aiSDKChannels.embedMany.channelName,
446
455
  module: {
447
456
  name: "ai",
448
- versionRange: ">=3.0.0",
457
+ versionRange: ">=3.0.0 <7.0.0",
449
458
  filePath: "dist/index.mjs"
450
459
  },
451
460
  functionQuery: {
@@ -457,7 +466,7 @@ var aiSDKConfigs = [
457
466
  channelName: aiSDKChannels.embedMany.channelName,
458
467
  module: {
459
468
  name: "ai",
460
- versionRange: ">=3.0.0",
469
+ versionRange: ">=3.0.0 <7.0.0",
461
470
  filePath: "dist/index.js"
462
471
  },
463
472
  functionQuery: {
@@ -470,7 +479,7 @@ var aiSDKConfigs = [
470
479
  channelName: aiSDKChannels.rerank.channelName,
471
480
  module: {
472
481
  name: "ai",
473
- versionRange: ">=5.0.0",
482
+ versionRange: ">=5.0.0 <7.0.0",
474
483
  filePath: "dist/index.mjs"
475
484
  },
476
485
  functionQuery: {
@@ -482,7 +491,7 @@ var aiSDKConfigs = [
482
491
  channelName: aiSDKChannels.rerank.channelName,
483
492
  module: {
484
493
  name: "ai",
485
- versionRange: ">=5.0.0",
494
+ versionRange: ">=5.0.0 <7.0.0",
486
495
  filePath: "dist/index.js"
487
496
  },
488
497
  functionQuery: {
@@ -490,6 +499,21 @@ var aiSDKConfigs = [
490
499
  kind: "Async"
491
500
  }
492
501
  },
502
+ // AI SDK v7 exposes its telemetry lifecycle through a dispatcher created for
503
+ // each operation. We patch that dispatcher in the plugin instead of rewriting
504
+ // the module to call registerTelemetry().
505
+ {
506
+ channelName: aiSDKChannels.v7CreateTelemetryDispatcher.channelName,
507
+ module: {
508
+ name: "ai",
509
+ versionRange: ">=7.0.0-0 <8.0.0",
510
+ filePath: "dist/index.js"
511
+ },
512
+ functionQuery: {
513
+ functionName: "createTelemetryDispatcher",
514
+ kind: "Sync"
515
+ }
516
+ },
493
517
  // streamObject - async function (v3 only, before the sync refactor in v4)
494
518
  {
495
519
  channelName: aiSDKChannels.streamObject.channelName,
@@ -508,7 +532,7 @@ var aiSDKConfigs = [
508
532
  channelName: aiSDKChannels.streamObjectSync.channelName,
509
533
  module: {
510
534
  name: "ai",
511
- versionRange: ">=4.0.0",
535
+ versionRange: ">=4.0.0 <7.0.0",
512
536
  filePath: "dist/index.mjs"
513
537
  },
514
538
  functionQuery: {
@@ -532,7 +556,7 @@ var aiSDKConfigs = [
532
556
  channelName: aiSDKChannels.streamObjectSync.channelName,
533
557
  module: {
534
558
  name: "ai",
535
- versionRange: ">=4.0.0",
559
+ versionRange: ">=4.0.0 <7.0.0",
536
560
  filePath: "dist/index.js"
537
561
  },
538
562
  functionQuery: {
@@ -1704,6 +1728,10 @@ var googleGenAIChannels = defineChannels("@google/genai", {
1704
1728
  embedContent: channel({
1705
1729
  channelName: "models.embedContent",
1706
1730
  kind: "async"
1731
+ }),
1732
+ interactionsCreate: channel({
1733
+ channelName: "interactions.create",
1734
+ kind: "async"
1707
1735
  })
1708
1736
  });
1709
1737
 
@@ -1767,6 +1795,20 @@ var googleGenAIConfigs = [
1767
1795
  methodName: "embedContentInternal",
1768
1796
  kind: "Async"
1769
1797
  }
1798
+ },
1799
+ // BaseInteractions.create - Interactions API entry point
1800
+ {
1801
+ channelName: googleGenAIChannels.interactionsCreate.channelName,
1802
+ module: {
1803
+ name: "@google/genai",
1804
+ versionRange: ">=1.33.0",
1805
+ filePath: "dist/node/index.mjs"
1806
+ },
1807
+ functionQuery: {
1808
+ className: "BaseInteractions",
1809
+ methodName: "create",
1810
+ kind: "Async"
1811
+ }
1770
1812
  }
1771
1813
  ];
1772
1814
 
@@ -2906,6 +2948,35 @@ var openRouterAgentConfigs = [
2906
2948
  }
2907
2949
  ];
2908
2950
 
2951
+ // src/instrumentation/plugins/pi-coding-agent-channels.ts
2952
+ var piCodingAgentChannels = defineChannels(
2953
+ "@earendil-works/pi-coding-agent",
2954
+ {
2955
+ prompt: channel({
2956
+ channelName: "AgentSession.prompt",
2957
+ kind: "async"
2958
+ })
2959
+ }
2960
+ );
2961
+
2962
+ // src/auto-instrumentations/configs/pi-coding-agent.ts
2963
+ var piCodingAgentVersionRange = ">=0.79.0 <0.80.0";
2964
+ var piCodingAgentConfigs = [
2965
+ {
2966
+ channelName: piCodingAgentChannels.prompt.channelName,
2967
+ module: {
2968
+ name: "@earendil-works/pi-coding-agent",
2969
+ versionRange: piCodingAgentVersionRange,
2970
+ filePath: "dist/core/agent-session.js"
2971
+ },
2972
+ functionQuery: {
2973
+ className: "AgentSession",
2974
+ methodName: "prompt",
2975
+ kind: "Async"
2976
+ }
2977
+ }
2978
+ ];
2979
+
2909
2980
  // src/auto-instrumentations/configs/all.ts
2910
2981
  var defaultInstrumentationConfigGroups = [
2911
2982
  { integrations: ["openai"], configs: openaiConfigs },
@@ -2953,6 +3024,10 @@ var defaultInstrumentationConfigGroups = [
2953
3024
  integrations: ["gitHubCopilot"],
2954
3025
  configs: gitHubCopilotConfigs
2955
3026
  },
3027
+ {
3028
+ integrations: ["piCodingAgent"],
3029
+ configs: piCodingAgentConfigs
3030
+ },
2956
3031
  {
2957
3032
  integrations: ["flue"],
2958
3033
  configs: flueConfigs
@@ -3225,6 +3300,7 @@ var unplugin = (0, import_unplugin.createUnplugin)(
3225
3300
  }
3226
3301
  const moduleName = moduleDetails.name;
3227
3302
  const normalizedModulePath = moduleDetails.path.replace(/\\/g, "/");
3303
+ const moduleVersion = getModuleVersion(moduleDetails.basedir);
3228
3304
  if (options.browser !== true) {
3229
3305
  const patched = applySpecialCasePatch({
3230
3306
  packageName: moduleName,
@@ -3236,7 +3312,6 @@ var unplugin = (0, import_unplugin.createUnplugin)(
3236
3312
  return { code: patched, map: null };
3237
3313
  }
3238
3314
  }
3239
- const moduleVersion = getModuleVersion(moduleDetails.basedir);
3240
3315
  if (!moduleVersion) {
3241
3316
  console.warn(
3242
3317
  `No 'package.json' version found for module ${moduleName} at ${moduleDetails.basedir}. Skipping transformation.`
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  unplugin
3
- } from "../chunk-VXJONZVX.mjs";
4
- import "../chunk-E5DUYJWK.mjs";
3
+ } from "../chunk-GNUEZ2PE.mjs";
4
+ import "../chunk-ZYKZEMRT.mjs";
5
5
  import "../chunk-J57YF7WS.mjs";
6
6
 
7
7
  // src/auto-instrumentations/bundler/rollup.ts