agentv 3.11.1 → 3.12.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 (126) hide show
  1. package/README.md +16 -12
  2. package/dist/{agentv-provider-MIDKLYIH-6LIYKQRP.js → agentv-provider-NFFLXG5M-TJAWCWCX.js} +1 -2
  3. package/dist/{chunk-V2S5CZU3.js → chunk-2ELQ6F3C.js} +916 -523
  4. package/dist/chunk-2ELQ6F3C.js.map +1 -0
  5. package/dist/{chunk-JK6V4KVD.js → chunk-NR7QVL75.js} +32 -24
  6. package/dist/chunk-NR7QVL75.js.map +1 -0
  7. package/dist/{chunk-OYD2NB55.js → chunk-UYBLUYHN.js} +104 -15
  8. package/dist/chunk-UYBLUYHN.js.map +1 -0
  9. package/dist/{chunk-CKMAM2GD.js → chunk-VLOFRXH4.js} +461 -196
  10. package/dist/chunk-VLOFRXH4.js.map +1 -0
  11. package/dist/{chunk-BAUNAXHT.js → chunk-XOSNETAV.js} +1 -1
  12. package/dist/cli.js +5 -6
  13. package/dist/cli.js.map +1 -1
  14. package/dist/{dist-VUPMLHIV.js → dist-L6R5HJ72.js} +4 -5
  15. package/dist/{esm-OJ2BXJK4-YKEI3Z7E.js → esm-5Q4BZALM-5REQWAUV.js} +2 -3
  16. package/dist/{esm-OJ2BXJK4-YKEI3Z7E.js.map → esm-5Q4BZALM-5REQWAUV.js.map} +1 -1
  17. package/dist/{esm-UYZ3HJBU.js → esm-CZAWIY6F.js} +2 -2
  18. package/dist/index.js +5 -6
  19. package/dist/{interactive-FZJANO4A.js → interactive-5X62YEEX.js} +5 -6
  20. package/dist/{interactive-FZJANO4A.js.map → interactive-5X62YEEX.js.map} +1 -1
  21. package/dist/{otlp-json-file-exporter-VN67MK3S-RQIM6EHY.js → otlp-json-file-exporter-77FDBRSY-EZAPHWP6.js} +1 -2
  22. package/dist/{simple-trace-file-exporter-XWZTIZR2-4JKATE5G.js → simple-trace-file-exporter-CRIO5HDZ-QYYT2QQT.js} +2 -3
  23. package/dist/{src-PXDA7QIS.js → src-ML4D2MC2.js} +2 -2
  24. package/dist/templates/.agentv/.env.example +23 -0
  25. package/dist/templates/.agentv/config.yaml +13 -4
  26. package/dist/templates/.agentv/targets.yaml +16 -0
  27. package/package.json +1 -1
  28. package/dist/chunk-2QFWRIYL.js +0 -186
  29. package/dist/chunk-2QFWRIYL.js.map +0 -1
  30. package/dist/chunk-2RMPO6LY.js +0 -747
  31. package/dist/chunk-2RMPO6LY.js.map +0 -1
  32. package/dist/chunk-3Q7WIXT4.js +0 -4846
  33. package/dist/chunk-3Q7WIXT4.js.map +0 -1
  34. package/dist/chunk-73O2DCJP.js +0 -1274
  35. package/dist/chunk-73O2DCJP.js.map +0 -1
  36. package/dist/chunk-AUKF3Y3W.js +0 -212
  37. package/dist/chunk-AUKF3Y3W.js.map +0 -1
  38. package/dist/chunk-BRH7SIDP.js +0 -133
  39. package/dist/chunk-BRH7SIDP.js.map +0 -1
  40. package/dist/chunk-BXM4I3BM.js +0 -526
  41. package/dist/chunk-BXM4I3BM.js.map +0 -1
  42. package/dist/chunk-CKMAM2GD.js.map +0 -1
  43. package/dist/chunk-FHTURHTY.js +0 -546
  44. package/dist/chunk-FHTURHTY.js.map +0 -1
  45. package/dist/chunk-GJFXQQWG.js +0 -21
  46. package/dist/chunk-GJFXQQWG.js.map +0 -1
  47. package/dist/chunk-HKMLG4KF.js +0 -38
  48. package/dist/chunk-HKMLG4KF.js.map +0 -1
  49. package/dist/chunk-JGU3PVA4.js +0 -133
  50. package/dist/chunk-JGU3PVA4.js.map +0 -1
  51. package/dist/chunk-JK6V4KVD.js.map +0 -1
  52. package/dist/chunk-LHU5FGVZ.js +0 -4804
  53. package/dist/chunk-LHU5FGVZ.js.map +0 -1
  54. package/dist/chunk-OL2WGI6E.js +0 -149
  55. package/dist/chunk-OL2WGI6E.js.map +0 -1
  56. package/dist/chunk-ONETZL6N.js +0 -15
  57. package/dist/chunk-ONETZL6N.js.map +0 -1
  58. package/dist/chunk-OYD2NB55.js.map +0 -1
  59. package/dist/chunk-QV4UGEN6.js +0 -320
  60. package/dist/chunk-QV4UGEN6.js.map +0 -1
  61. package/dist/chunk-QXLDKGF3.js +0 -46
  62. package/dist/chunk-QXLDKGF3.js.map +0 -1
  63. package/dist/chunk-U6VEM66A.js +0 -63
  64. package/dist/chunk-U6VEM66A.js.map +0 -1
  65. package/dist/chunk-UALXHIMX.js +0 -48
  66. package/dist/chunk-UALXHIMX.js.map +0 -1
  67. package/dist/chunk-UGXG73VF.js +0 -55
  68. package/dist/chunk-UGXG73VF.js.map +0 -1
  69. package/dist/chunk-UHP5KEDL.js +0 -38
  70. package/dist/chunk-UHP5KEDL.js.map +0 -1
  71. package/dist/chunk-V2S5CZU3.js.map +0 -1
  72. package/dist/chunk-WVSXFZWP.js +0 -204
  73. package/dist/chunk-WVSXFZWP.js.map +0 -1
  74. package/dist/chunk-XSUMCWKO.js +0 -30
  75. package/dist/chunk-XSUMCWKO.js.map +0 -1
  76. package/dist/chunk-XUO7ZEHU.js +0 -181
  77. package/dist/chunk-XUO7ZEHU.js.map +0 -1
  78. package/dist/chunk-YSGUX5JT.js +0 -1002
  79. package/dist/chunk-YSGUX5JT.js.map +0 -1
  80. package/dist/dist-3PCP5TNF-RYMVLILE.js +0 -25785
  81. package/dist/dist-3PCP5TNF-RYMVLILE.js.map +0 -1
  82. package/dist/dist-BOIN5LC5-T5UWUK43.js +0 -76113
  83. package/dist/dist-BOIN5LC5-T5UWUK43.js.map +0 -1
  84. package/dist/dist-LXPDQOBI-4V5J2WDS.js +0 -13
  85. package/dist/dist-LXPDQOBI-4V5J2WDS.js.map +0 -1
  86. package/dist/dist-es-4WSJUIYR-XKIX65IH.js +0 -69
  87. package/dist/dist-es-4WSJUIYR-XKIX65IH.js.map +0 -1
  88. package/dist/dist-es-7K7MKRME-CCMAZOQC.js +0 -355
  89. package/dist/dist-es-7K7MKRME-CCMAZOQC.js.map +0 -1
  90. package/dist/dist-es-B2RTOKRI-VWZHK5RE.js +0 -191
  91. package/dist/dist-es-B2RTOKRI-VWZHK5RE.js.map +0 -1
  92. package/dist/dist-es-HHZ4FAXA-CRERHWKB.js +0 -164
  93. package/dist/dist-es-HHZ4FAXA-CRERHWKB.js.map +0 -1
  94. package/dist/dist-es-HVS3RPMX-AYJ3DW4L.js +0 -355
  95. package/dist/dist-es-HVS3RPMX-AYJ3DW4L.js.map +0 -1
  96. package/dist/dist-es-L6R4FPI5-IKIRYN45.js +0 -472
  97. package/dist/dist-es-L6R4FPI5-IKIRYN45.js.map +0 -1
  98. package/dist/dist-es-SRVEB5QV-Q4CTC2HX.js +0 -24
  99. package/dist/dist-es-TRIVUKV4-2J47CDXR.js +0 -85
  100. package/dist/dist-es-TRIVUKV4-2J47CDXR.js.map +0 -1
  101. package/dist/dist-es-UEEUAV34-IZQDTAMW.js +0 -16
  102. package/dist/event-streams-NZADSH5J-6MOSNEV3.js +0 -247
  103. package/dist/event-streams-NZADSH5J-6MOSNEV3.js.map +0 -1
  104. package/dist/loadSso-IQZ5NB6C-DZJTORO3.js +0 -738
  105. package/dist/loadSso-IQZ5NB6C-DZJTORO3.js.map +0 -1
  106. package/dist/multipart-parser-IPYBIGNL-LFMNMM6D.js +0 -387
  107. package/dist/multipart-parser-IPYBIGNL-LFMNMM6D.js.map +0 -1
  108. package/dist/otlp-json-file-exporter-VN67MK3S-RQIM6EHY.js.map +0 -1
  109. package/dist/signin-2ANR4DVS-K5VGBEJF.js +0 -556
  110. package/dist/signin-2ANR4DVS-K5VGBEJF.js.map +0 -1
  111. package/dist/simple-trace-file-exporter-XWZTIZR2-4JKATE5G.js.map +0 -1
  112. package/dist/src-SLOMUG7K-CV5JG263.js +0 -1408
  113. package/dist/src-SLOMUG7K-CV5JG263.js.map +0 -1
  114. package/dist/sso-oidc-HVCDATR2-CYP3BM5O.js +0 -708
  115. package/dist/sso-oidc-HVCDATR2-CYP3BM5O.js.map +0 -1
  116. package/dist/sts-X7JGSP4H-PDAAYDDH.js +0 -2917
  117. package/dist/sts-X7JGSP4H-PDAAYDDH.js.map +0 -1
  118. package/dist/undici-VAR2VUJI-6PAOUXZC.js +0 -23388
  119. package/dist/undici-VAR2VUJI-6PAOUXZC.js.map +0 -1
  120. /package/dist/{agentv-provider-MIDKLYIH-6LIYKQRP.js.map → agentv-provider-NFFLXG5M-TJAWCWCX.js.map} +0 -0
  121. /package/dist/{chunk-BAUNAXHT.js.map → chunk-XOSNETAV.js.map} +0 -0
  122. /package/dist/{dist-VUPMLHIV.js.map → dist-L6R5HJ72.js.map} +0 -0
  123. /package/dist/{dist-es-SRVEB5QV-Q4CTC2HX.js.map → esm-CZAWIY6F.js.map} +0 -0
  124. /package/dist/{dist-es-UEEUAV34-IZQDTAMW.js.map → otlp-json-file-exporter-77FDBRSY-EZAPHWP6.js.map} +0 -0
  125. /package/dist/{esm-UYZ3HJBU.js.map → simple-trace-file-exporter-CRIO5HDZ-QYYT2QQT.js.map} +0 -0
  126. /package/dist/{src-PXDA7QIS.js.map → src-ML4D2MC2.js.map} +0 -0
@@ -1,38 +0,0 @@
1
- import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
-
3
- // ../../packages/core/dist/chunk-ZREEGQTW.js
4
- import { Buffer } from "buffer";
5
- var isArrayBuffer = (arg) => typeof ArrayBuffer === "function" && arg instanceof ArrayBuffer || Object.prototype.toString.call(arg) === "[object ArrayBuffer]";
6
- var fromArrayBuffer = (input, offset = 0, length = input.byteLength - offset) => {
7
- if (!isArrayBuffer(input)) {
8
- throw new TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof input} (${input})`);
9
- }
10
- return Buffer.from(input, offset, length);
11
- };
12
- var fromString = (input, encoding) => {
13
- if (typeof input !== "string") {
14
- throw new TypeError(`The "input" argument must be of type string. Received type ${typeof input} (${input})`);
15
- }
16
- return encoding ? Buffer.from(input, encoding) : Buffer.from(input);
17
- };
18
- var fromUtf8 = (input) => {
19
- const buf = fromString(input, "utf8");
20
- return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT);
21
- };
22
- var toUtf8 = (input) => {
23
- if (typeof input === "string") {
24
- return input;
25
- }
26
- if (typeof input !== "object" || typeof input.byteOffset !== "number" || typeof input.byteLength !== "number") {
27
- throw new Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.");
28
- }
29
- return fromArrayBuffer(input.buffer, input.byteOffset, input.byteLength).toString("utf8");
30
- };
31
-
32
- export {
33
- fromArrayBuffer,
34
- fromString,
35
- fromUtf8,
36
- toUtf8
37
- };
38
- //# sourceMappingURL=chunk-HKMLG4KF.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../node_modules/.bun/@smithy+is-array-buffer@4.2.1/node_modules/@smithy/is-array-buffer/dist-es/index.js","../../../node_modules/.bun/@smithy+util-buffer-from@4.2.1/node_modules/@smithy/util-buffer-from/dist-es/index.js","../../../node_modules/.bun/@smithy+util-utf8@4.2.1/node_modules/@smithy/util-utf8/dist-es/fromUtf8.js","../../../node_modules/.bun/@smithy+util-utf8@4.2.1/node_modules/@smithy/util-utf8/dist-es/toUtf8.js"],"sourcesContent":["export const isArrayBuffer = (arg) => (typeof ArrayBuffer === \"function\" && arg instanceof ArrayBuffer) ||\n Object.prototype.toString.call(arg) === \"[object ArrayBuffer]\";\n","import { isArrayBuffer } from \"@smithy/is-array-buffer\";\nimport { Buffer } from \"buffer\";\nexport const fromArrayBuffer = (input, offset = 0, length = input.byteLength - offset) => {\n if (!isArrayBuffer(input)) {\n throw new TypeError(`The \"input\" argument must be ArrayBuffer. Received type ${typeof input} (${input})`);\n }\n return Buffer.from(input, offset, length);\n};\nexport const fromString = (input, encoding) => {\n if (typeof input !== \"string\") {\n throw new TypeError(`The \"input\" argument must be of type string. Received type ${typeof input} (${input})`);\n }\n return encoding ? Buffer.from(input, encoding) : Buffer.from(input);\n};\n","import { fromString } from \"@smithy/util-buffer-from\";\nexport const fromUtf8 = (input) => {\n const buf = fromString(input, \"utf8\");\n return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n};\n","import { fromArrayBuffer } from \"@smithy/util-buffer-from\";\nexport const toUtf8 = (input) => {\n if (typeof input === \"string\") {\n return input;\n }\n if (typeof input !== \"object\" || typeof input.byteOffset !== \"number\" || typeof input.byteLength !== \"number\") {\n throw new Error(\"@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.\");\n }\n return fromArrayBuffer(input.buffer, input.byteOffset, input.byteLength).toString(\"utf8\");\n};\n"],"mappings":";;;ACCA,SAAS,cAAc;ADDhB,IAAM,gBAAgB,CAAC,QAAS,OAAO,gBAAgB,cAAc,eAAe,eACvF,OAAO,UAAU,SAAS,KAAK,GAAG,MAAM;ACCrC,IAAM,kBAAkB,CAAC,OAAO,SAAS,GAAG,SAAS,MAAM,aAAa,WAAW;AACtF,MAAI,CAAC,cAAc,KAAK,GAAG;AACvB,UAAM,IAAI,UAAU,2DAA2D,OAAO,KAAK,KAAK,KAAK,GAAG;EAC5G;AACA,SAAO,OAAO,KAAK,OAAO,QAAQ,MAAM;AAC5C;AACO,IAAM,aAAa,CAAC,OAAO,aAAa;AAC3C,MAAI,OAAO,UAAU,UAAU;AAC3B,UAAM,IAAI,UAAU,8DAA8D,OAAO,KAAK,KAAK,KAAK,GAAG;EAC/G;AACA,SAAO,WAAW,OAAO,KAAK,OAAO,QAAQ,IAAI,OAAO,KAAK,KAAK;AACtE;ACZO,IAAM,WAAW,CAAC,UAAU;AAC/B,QAAM,MAAM,WAAW,OAAO,MAAM;AACpC,SAAO,IAAI,WAAW,IAAI,QAAQ,IAAI,YAAY,IAAI,aAAa,WAAW,iBAAiB;AACnG;ACHO,IAAM,SAAS,CAAC,UAAU;AAC7B,MAAI,OAAO,UAAU,UAAU;AAC3B,WAAO;EACX;AACA,MAAI,OAAO,UAAU,YAAY,OAAO,MAAM,eAAe,YAAY,OAAO,MAAM,eAAe,UAAU;AAC3G,UAAM,IAAI,MAAM,8EAA8E;EAClG;AACA,SAAO,gBAAgB,MAAM,QAAQ,MAAM,YAAY,MAAM,UAAU,EAAE,SAAS,MAAM;AAC5F;","names":[]}
@@ -1,133 +0,0 @@
1
- import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
2
- import {
3
- ProviderError,
4
- getProfileName,
5
- loadSharedConfigFiles
6
- } from "./chunk-AUKF3Y3W.js";
7
-
8
- // ../../packages/core/dist/chunk-2E6GS6SL.js
9
- var CredentialsProviderError = class _CredentialsProviderError extends ProviderError {
10
- name = "CredentialsProviderError";
11
- constructor(message, options = true) {
12
- super(message, options);
13
- Object.setPrototypeOf(this, _CredentialsProviderError.prototype);
14
- }
15
- };
16
- var chain = (...providers) => async () => {
17
- if (providers.length === 0) {
18
- throw new ProviderError("No providers in chain");
19
- }
20
- let lastProviderError;
21
- for (const provider of providers) {
22
- try {
23
- const credentials = await provider();
24
- return credentials;
25
- } catch (err) {
26
- lastProviderError = err;
27
- if (err?.tryNextLink) {
28
- continue;
29
- }
30
- throw err;
31
- }
32
- }
33
- throw lastProviderError;
34
- };
35
- var fromStatic = (staticValue) => () => Promise.resolve(staticValue);
36
- var memoize = (provider, isExpired, requiresRefresh) => {
37
- let resolved;
38
- let pending;
39
- let hasResult;
40
- let isConstant = false;
41
- const coalesceProvider = async () => {
42
- if (!pending) {
43
- pending = provider();
44
- }
45
- try {
46
- resolved = await pending;
47
- hasResult = true;
48
- isConstant = false;
49
- } finally {
50
- pending = void 0;
51
- }
52
- return resolved;
53
- };
54
- if (isExpired === void 0) {
55
- return async (options) => {
56
- if (!hasResult || options?.forceRefresh) {
57
- resolved = await coalesceProvider();
58
- }
59
- return resolved;
60
- };
61
- }
62
- return async (options) => {
63
- if (!hasResult || options?.forceRefresh) {
64
- resolved = await coalesceProvider();
65
- }
66
- if (isConstant) {
67
- return resolved;
68
- }
69
- if (requiresRefresh && !requiresRefresh(resolved)) {
70
- isConstant = true;
71
- return resolved;
72
- }
73
- if (isExpired(resolved)) {
74
- await coalesceProvider();
75
- return resolved;
76
- }
77
- return resolved;
78
- };
79
- };
80
- function getSelectorName(functionString) {
81
- try {
82
- const constants = new Set(Array.from(functionString.match(/([A-Z_]){3,}/g) ?? []));
83
- constants.delete("CONFIG");
84
- constants.delete("CONFIG_PREFIX_SEPARATOR");
85
- constants.delete("ENV");
86
- return [...constants].join(", ");
87
- } catch (e) {
88
- return functionString;
89
- }
90
- }
91
- var fromEnv = (envVarSelector, options) => async () => {
92
- try {
93
- const config = envVarSelector(process.env, options);
94
- if (config === void 0) {
95
- throw new Error();
96
- }
97
- return config;
98
- } catch (e) {
99
- throw new CredentialsProviderError(e.message || `Not found in ENV: ${getSelectorName(envVarSelector.toString())}`, { logger: options?.logger });
100
- }
101
- };
102
- var fromSharedConfigFiles = (configSelector, { preferredFile = "config", ...init } = {}) => async () => {
103
- const profile = getProfileName(init);
104
- const { configFile, credentialsFile } = await loadSharedConfigFiles(init);
105
- const profileFromCredentials = credentialsFile[profile] || {};
106
- const profileFromConfig = configFile[profile] || {};
107
- const mergedProfile = preferredFile === "config" ? { ...profileFromCredentials, ...profileFromConfig } : { ...profileFromConfig, ...profileFromCredentials };
108
- try {
109
- const cfgFile = preferredFile === "config" ? configFile : credentialsFile;
110
- const configValue = configSelector(mergedProfile, cfgFile);
111
- if (configValue === void 0) {
112
- throw new Error();
113
- }
114
- return configValue;
115
- } catch (e) {
116
- throw new CredentialsProviderError(e.message || `Not found in config files w/ profile [${profile}]: ${getSelectorName(configSelector.toString())}`, { logger: init.logger });
117
- }
118
- };
119
- var isFunction = (func) => typeof func === "function";
120
- var fromStatic2 = (defaultValue) => isFunction(defaultValue) ? async () => await defaultValue() : fromStatic(defaultValue);
121
- var loadConfig = ({ environmentVariableSelector, configFileSelector, default: defaultValue }, configuration = {}) => {
122
- const { signingName, logger } = configuration;
123
- const envOptions = { signingName, logger };
124
- return memoize(chain(fromEnv(environmentVariableSelector, envOptions), fromSharedConfigFiles(configFileSelector, configuration), fromStatic2(defaultValue)));
125
- };
126
-
127
- export {
128
- CredentialsProviderError,
129
- chain,
130
- memoize,
131
- loadConfig
132
- };
133
- //# sourceMappingURL=chunk-JGU3PVA4.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../node_modules/.bun/@smithy+property-provider@4.2.8/node_modules/@smithy/property-provider/dist-es/CredentialsProviderError.js","../../../node_modules/.bun/@smithy+property-provider@4.2.8/node_modules/@smithy/property-provider/dist-es/chain.js","../../../node_modules/.bun/@smithy+property-provider@4.2.8/node_modules/@smithy/property-provider/dist-es/fromStatic.js","../../../node_modules/.bun/@smithy+property-provider@4.2.8/node_modules/@smithy/property-provider/dist-es/memoize.js","../../../node_modules/.bun/@smithy+node-config-provider@4.3.8/node_modules/@smithy/node-config-provider/dist-es/getSelectorName.js","../../../node_modules/.bun/@smithy+node-config-provider@4.3.8/node_modules/@smithy/node-config-provider/dist-es/fromEnv.js","../../../node_modules/.bun/@smithy+node-config-provider@4.3.8/node_modules/@smithy/node-config-provider/dist-es/fromSharedConfigFiles.js","../../../node_modules/.bun/@smithy+node-config-provider@4.3.8/node_modules/@smithy/node-config-provider/dist-es/fromStatic.js","../../../node_modules/.bun/@smithy+node-config-provider@4.3.8/node_modules/@smithy/node-config-provider/dist-es/configLoader.js"],"sourcesContent":["import { ProviderError } from \"./ProviderError\";\nexport class CredentialsProviderError extends ProviderError {\n name = \"CredentialsProviderError\";\n constructor(message, options = true) {\n super(message, options);\n Object.setPrototypeOf(this, CredentialsProviderError.prototype);\n }\n}\n","import { ProviderError } from \"./ProviderError\";\nexport const chain = (...providers) => async () => {\n if (providers.length === 0) {\n throw new ProviderError(\"No providers in chain\");\n }\n let lastProviderError;\n for (const provider of providers) {\n try {\n const credentials = await provider();\n return credentials;\n }\n catch (err) {\n lastProviderError = err;\n if (err?.tryNextLink) {\n continue;\n }\n throw err;\n }\n }\n throw lastProviderError;\n};\n","export const fromStatic = (staticValue) => () => Promise.resolve(staticValue);\n","export const memoize = (provider, isExpired, requiresRefresh) => {\n let resolved;\n let pending;\n let hasResult;\n let isConstant = false;\n const coalesceProvider = async () => {\n if (!pending) {\n pending = provider();\n }\n try {\n resolved = await pending;\n hasResult = true;\n isConstant = false;\n }\n finally {\n pending = undefined;\n }\n return resolved;\n };\n if (isExpired === undefined) {\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider();\n }\n return resolved;\n };\n }\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider();\n }\n if (isConstant) {\n return resolved;\n }\n if (requiresRefresh && !requiresRefresh(resolved)) {\n isConstant = true;\n return resolved;\n }\n if (isExpired(resolved)) {\n await coalesceProvider();\n return resolved;\n }\n return resolved;\n };\n};\n","export function getSelectorName(functionString) {\n try {\n const constants = new Set(Array.from(functionString.match(/([A-Z_]){3,}/g) ?? []));\n constants.delete(\"CONFIG\");\n constants.delete(\"CONFIG_PREFIX_SEPARATOR\");\n constants.delete(\"ENV\");\n return [...constants].join(\", \");\n }\n catch (e) {\n return functionString;\n }\n}\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { getSelectorName } from \"./getSelectorName\";\nexport const fromEnv = (envVarSelector, options) => async () => {\n try {\n const config = envVarSelector(process.env, options);\n if (config === undefined) {\n throw new Error();\n }\n return config;\n }\n catch (e) {\n throw new CredentialsProviderError(e.message || `Not found in ENV: ${getSelectorName(envVarSelector.toString())}`, { logger: options?.logger });\n }\n};\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { getProfileName, loadSharedConfigFiles } from \"@smithy/shared-ini-file-loader\";\nimport { getSelectorName } from \"./getSelectorName\";\nexport const fromSharedConfigFiles = (configSelector, { preferredFile = \"config\", ...init } = {}) => async () => {\n const profile = getProfileName(init);\n const { configFile, credentialsFile } = await loadSharedConfigFiles(init);\n const profileFromCredentials = credentialsFile[profile] || {};\n const profileFromConfig = configFile[profile] || {};\n const mergedProfile = preferredFile === \"config\"\n ? { ...profileFromCredentials, ...profileFromConfig }\n : { ...profileFromConfig, ...profileFromCredentials };\n try {\n const cfgFile = preferredFile === \"config\" ? configFile : credentialsFile;\n const configValue = configSelector(mergedProfile, cfgFile);\n if (configValue === undefined) {\n throw new Error();\n }\n return configValue;\n }\n catch (e) {\n throw new CredentialsProviderError(e.message || `Not found in config files w/ profile [${profile}]: ${getSelectorName(configSelector.toString())}`, { logger: init.logger });\n }\n};\n","import { fromStatic as convertToProvider } from \"@smithy/property-provider\";\nconst isFunction = (func) => typeof func === \"function\";\nexport const fromStatic = (defaultValue) => isFunction(defaultValue) ? async () => await defaultValue() : convertToProvider(defaultValue);\n","import { chain, memoize } from \"@smithy/property-provider\";\nimport { fromEnv } from \"./fromEnv\";\nimport { fromSharedConfigFiles } from \"./fromSharedConfigFiles\";\nimport { fromStatic } from \"./fromStatic\";\nexport const loadConfig = ({ environmentVariableSelector, configFileSelector, default: defaultValue }, configuration = {}) => {\n const { signingName, logger } = configuration;\n const envOptions = { signingName, logger };\n return memoize(chain(fromEnv(environmentVariableSelector, envOptions), fromSharedConfigFiles(configFileSelector, configuration), fromStatic(defaultValue)));\n};\n"],"mappings":"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","names":["fromStatic"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/core/src/observability/simple-trace-file-exporter.ts"],"sourcesContent":["import { type WriteStream, createWriteStream } from 'node:fs';\nimport { mkdir } from 'node:fs/promises';\nimport { dirname } from 'node:path';\n\n// biome-ignore lint/suspicious/noExplicitAny: OTel ReadableSpan loaded dynamically\ntype ReadableSpan = any;\n\n/**\n * SpanExporter that writes human-readable JSONL (one line per root span).\n * Designed for quick debugging and analysis without OTel tooling.\n */\nexport class SimpleTraceFileExporter {\n private stream: WriteStream | null = null;\n private filePath: string;\n private streamReady: Promise<WriteStream> | null = null;\n private pendingWrites: Promise<void>[] = [];\n private _shuttingDown = false;\n\n constructor(filePath: string) {\n this.filePath = filePath;\n }\n\n private async ensureStream(): Promise<WriteStream> {\n if (!this.streamReady) {\n this.streamReady = (async () => {\n await mkdir(dirname(this.filePath), { recursive: true });\n this.stream = createWriteStream(this.filePath, { flags: 'w' });\n return this.stream;\n })();\n }\n return this.streamReady;\n }\n\n export(spans: ReadableSpan[], resultCallback: (result: { code: number }) => void): void {\n if (this._shuttingDown) {\n resultCallback({ code: 0 });\n return;\n }\n const spanMap = new Map<string, ReadableSpan>();\n const childMap = new Map<string, ReadableSpan[]>();\n\n for (const span of spans) {\n spanMap.set(span.spanContext().spanId, span);\n const parentId = span.parentSpanId;\n if (parentId) {\n if (!childMap.has(parentId)) childMap.set(parentId, []);\n childMap.get(parentId)?.push(span);\n }\n }\n\n // Root spans: no parent or parent not in this batch\n const rootSpans = spans.filter(\n (s: ReadableSpan) => !s.parentSpanId || !spanMap.has(s.parentSpanId),\n );\n\n const writePromise = this.ensureStream().then((stream) => {\n for (const root of rootSpans) {\n const children = this.collectChildren(root.spanContext().spanId, childMap);\n const record = this.buildSimpleRecord(root, children);\n stream.write(`${JSON.stringify(record)}\\n`);\n }\n });\n this.pendingWrites.push(writePromise);\n\n resultCallback({ code: 0 });\n }\n\n async shutdown(): Promise<void> {\n this._shuttingDown = true;\n await Promise.all(this.pendingWrites);\n this.pendingWrites = [];\n return new Promise((resolve) => {\n if (this.stream) {\n this.stream.end(() => resolve());\n } else {\n resolve();\n }\n });\n }\n\n async forceFlush(): Promise<void> {\n await Promise.all(this.pendingWrites);\n this.pendingWrites = [];\n }\n\n private collectChildren(spanId: string, childMap: Map<string, ReadableSpan[]>): ReadableSpan[] {\n const direct = childMap.get(spanId) || [];\n const all: ReadableSpan[] = [...direct];\n for (const child of direct) {\n all.push(...this.collectChildren(child.spanContext().spanId, childMap));\n }\n return all;\n }\n\n private buildSimpleRecord(root: ReadableSpan, children: ReadableSpan[]): Record<string, unknown> {\n const attrs = root.attributes || {};\n const durationMs = hrTimeDiffMs(root.startTime, root.endTime);\n\n let inputTokens = 0;\n let outputTokens = 0;\n for (const child of children) {\n const ca = child.attributes || {};\n if (ca['gen_ai.usage.input_tokens']) inputTokens += ca['gen_ai.usage.input_tokens'];\n if (ca['gen_ai.usage.output_tokens']) outputTokens += ca['gen_ai.usage.output_tokens'];\n }\n\n const toolSpans = children\n .filter((s: ReadableSpan) => s.attributes?.['gen_ai.tool.name'])\n .map((s: ReadableSpan) => ({\n type: 'tool' as const,\n name: s.attributes['gen_ai.tool.name'],\n duration_ms: hrTimeDiffMs(s.startTime, s.endTime),\n }));\n\n return {\n test_id: attrs['agentv.test_id'],\n target: attrs['agentv.target'],\n score: attrs['agentv.score'],\n duration_ms: durationMs,\n cost_usd: attrs['agentv.trace.cost_usd'],\n token_usage:\n inputTokens || outputTokens ? { input: inputTokens, output: outputTokens } : undefined,\n spans: toolSpans.length > 0 ? toolSpans : undefined,\n };\n }\n}\n\nfunction hrTimeDiffMs(start: [number, number], end: [number, number]): number {\n const diffSec = end[0] - start[0];\n const diffNano = end[1] - start[1];\n return Math.round(diffSec * 1000 + diffNano / 1_000_000);\n}\n"],"mappings":"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","names":[]}