agentv 3.1.0 ā 3.2.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.
- package/dist/agentv-provider-5CJVBBGG-2XVZBW7L.js +9 -0
- package/dist/agentv-provider-5CJVBBGG-2XVZBW7L.js.map +1 -0
- package/dist/chunk-3L2L5GIL.js +51 -0
- package/dist/chunk-3L2L5GIL.js.map +1 -0
- package/dist/chunk-5H446C7X.js +50 -0
- package/dist/chunk-5H446C7X.js.map +1 -0
- package/dist/chunk-6GSYTMXD.js +31520 -0
- package/dist/chunk-6GSYTMXD.js.map +1 -0
- package/dist/chunk-BL4PVUAT.js +261 -0
- package/dist/chunk-BL4PVUAT.js.map +1 -0
- package/dist/chunk-C5GOHBQM.js +84 -0
- package/dist/chunk-C5GOHBQM.js.map +1 -0
- package/dist/chunk-FTPA72PY.js +6149 -0
- package/dist/chunk-FTPA72PY.js.map +1 -0
- package/dist/chunk-JK6V4KVD.js +114 -0
- package/dist/chunk-JK6V4KVD.js.map +1 -0
- package/dist/chunk-LRULMAAA.js +1711 -0
- package/dist/chunk-LRULMAAA.js.map +1 -0
- package/dist/chunk-OR4WXZAF.js +24302 -0
- package/dist/chunk-OR4WXZAF.js.map +1 -0
- package/dist/chunk-PCQA43SA.js +4248 -0
- package/dist/chunk-PCQA43SA.js.map +1 -0
- package/dist/chunk-SR4I5KET.js +1238 -0
- package/dist/chunk-SR4I5KET.js.map +1 -0
- package/dist/chunk-VQ2ZO7XJ.js +2098 -0
- package/dist/chunk-VQ2ZO7XJ.js.map +1 -0
- package/dist/chunk-XALGXSKB.js +21 -0
- package/dist/chunk-XALGXSKB.js.map +1 -0
- package/dist/chunk-XOSNETAV.js +565 -0
- package/dist/chunk-XOSNETAV.js.map +1 -0
- package/dist/cli.js +29 -0
- package/dist/cli.js.map +1 -0
- package/dist/dist-3BMOAU4X.js +305 -0
- package/dist/dist-3BMOAU4X.js.map +1 -0
- package/dist/esm-5Q4BZALM-5REQWAUV.js +924 -0
- package/dist/esm-5Q4BZALM-5REQWAUV.js.map +1 -0
- package/dist/esm-CZAWIY6F.js +32 -0
- package/dist/esm-CZAWIY6F.js.map +1 -0
- package/dist/esm-QNEMCJPL.js +933 -0
- package/dist/esm-QNEMCJPL.js.map +1 -0
- package/dist/esm-R77SNOF5.js +65 -0
- package/dist/esm-R77SNOF5.js.map +1 -0
- package/dist/esm-RVQPUGWH.js +1207 -0
- package/dist/esm-RVQPUGWH.js.map +1 -0
- package/dist/getMachineId-bsd-HSK5LZMG.js +41 -0
- package/dist/getMachineId-bsd-HSK5LZMG.js.map +1 -0
- package/dist/getMachineId-darwin-4DP6CCJV.js +41 -0
- package/dist/getMachineId-darwin-4DP6CCJV.js.map +1 -0
- package/dist/getMachineId-linux-44LJ5UJB.js +33 -0
- package/dist/getMachineId-linux-44LJ5UJB.js.map +1 -0
- package/dist/getMachineId-unsupported-NVK6IATM.js +24 -0
- package/dist/getMachineId-unsupported-NVK6IATM.js.map +1 -0
- package/dist/getMachineId-win-YZ36S7VA.js +43 -0
- package/dist/getMachineId-win-YZ36S7VA.js.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/interactive-DLHPNSZ7.js +334 -0
- package/dist/interactive-DLHPNSZ7.js.map +1 -0
- package/dist/otlp-json-file-exporter-77FDBRSY-EZAPHWP6.js +9 -0
- package/dist/otlp-json-file-exporter-77FDBRSY-EZAPHWP6.js.map +1 -0
- package/dist/simple-trace-file-exporter-S76DMABU-5FCJESD2.js +9 -0
- package/dist/simple-trace-file-exporter-S76DMABU-5FCJESD2.js.map +1 -0
- package/dist/src-ML4D2MC2.js +1733 -0
- package/dist/src-ML4D2MC2.js.map +1 -0
- package/dist/templates/.agentv/targets.yaml +5 -24
- package/dist/token-POXF46NU.js +66 -0
- package/dist/token-POXF46NU.js.map +1 -0
- package/dist/token-util-6GWYZWGE.js +8 -0
- package/dist/token-util-6GWYZWGE.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
execAsync,
|
|
4
|
+
init_execAsync
|
|
5
|
+
} from "./chunk-XALGXSKB.js";
|
|
6
|
+
import {
|
|
7
|
+
diag,
|
|
8
|
+
init_esm
|
|
9
|
+
} from "./chunk-LRULMAAA.js";
|
|
10
|
+
import {
|
|
11
|
+
__esm
|
|
12
|
+
} from "./chunk-5H446C7X.js";
|
|
13
|
+
|
|
14
|
+
// ../../node_modules/.bun/@opentelemetry+resources@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-bsd.js
|
|
15
|
+
import { promises as fs } from "fs";
|
|
16
|
+
async function getMachineId() {
|
|
17
|
+
try {
|
|
18
|
+
const result = await fs.readFile("/etc/hostid", { encoding: "utf8" });
|
|
19
|
+
return result.trim();
|
|
20
|
+
} catch (e) {
|
|
21
|
+
diag.debug(`error reading machine id: ${e}`);
|
|
22
|
+
}
|
|
23
|
+
try {
|
|
24
|
+
const result = await execAsync("kenv -q smbios.system.uuid");
|
|
25
|
+
return result.stdout.trim();
|
|
26
|
+
} catch (e) {
|
|
27
|
+
diag.debug(`error reading machine id: ${e}`);
|
|
28
|
+
}
|
|
29
|
+
return void 0;
|
|
30
|
+
}
|
|
31
|
+
var init_getMachineId_bsd = __esm({
|
|
32
|
+
"../../node_modules/.bun/@opentelemetry+resources@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-bsd.js"() {
|
|
33
|
+
init_execAsync();
|
|
34
|
+
init_esm();
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
init_getMachineId_bsd();
|
|
38
|
+
export {
|
|
39
|
+
getMachineId
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=getMachineId-bsd-HSK5LZMG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/.bun/@opentelemetry+resources@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/src/detectors/platform/node/machine-id/getMachineId-bsd.ts"],"sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { promises as fs } from 'fs';\nimport { execAsync } from './execAsync';\nimport { diag } from '@opentelemetry/api';\n\nexport async function getMachineId(): Promise<string | undefined> {\n try {\n const result = await fs.readFile('/etc/hostid', { encoding: 'utf8' });\n return result.trim();\n } catch (e) {\n diag.debug(`error reading machine id: ${e}`);\n }\n\n try {\n const result = await execAsync('kenv -q smbios.system.uuid');\n return result.stdout.trim();\n } catch (e) {\n diag.debug(`error reading machine id: ${e}`);\n }\n\n return undefined;\n}\n"],"mappings":";;;;;;;;;;;;;;AAgBA,SAAS,YAAY,UAAU;AAI/B,eAAsB,eAAY;AAChC,MAAI;AACF,UAAM,SAAS,MAAM,GAAG,SAAS,eAAe,EAAE,UAAU,OAAM,CAAE;AACpE,WAAO,OAAO,KAAI;WACX,GAAG;AACV,SAAK,MAAM,6BAA6B,CAAC,EAAE;;AAG7C,MAAI;AACF,UAAM,SAAS,MAAM,UAAU,4BAA4B;AAC3D,WAAO,OAAO,OAAO,KAAI;WAClB,GAAG;AACV,SAAK,MAAM,6BAA6B,CAAC,EAAE;;AAG7C,SAAO;AACT;AApCA;;AAiBA;AACA;;;","names":[]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
execAsync,
|
|
4
|
+
init_execAsync
|
|
5
|
+
} from "./chunk-XALGXSKB.js";
|
|
6
|
+
import {
|
|
7
|
+
diag,
|
|
8
|
+
init_esm
|
|
9
|
+
} from "./chunk-LRULMAAA.js";
|
|
10
|
+
import {
|
|
11
|
+
__esm
|
|
12
|
+
} from "./chunk-5H446C7X.js";
|
|
13
|
+
|
|
14
|
+
// ../../node_modules/.bun/@opentelemetry+resources@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-darwin.js
|
|
15
|
+
async function getMachineId() {
|
|
16
|
+
try {
|
|
17
|
+
const result = await execAsync('ioreg -rd1 -c "IOPlatformExpertDevice"');
|
|
18
|
+
const idLine = result.stdout.split("\n").find((line) => line.includes("IOPlatformUUID"));
|
|
19
|
+
if (!idLine) {
|
|
20
|
+
return void 0;
|
|
21
|
+
}
|
|
22
|
+
const parts = idLine.split('" = "');
|
|
23
|
+
if (parts.length === 2) {
|
|
24
|
+
return parts[1].slice(0, -1);
|
|
25
|
+
}
|
|
26
|
+
} catch (e) {
|
|
27
|
+
diag.debug(`error reading machine id: ${e}`);
|
|
28
|
+
}
|
|
29
|
+
return void 0;
|
|
30
|
+
}
|
|
31
|
+
var init_getMachineId_darwin = __esm({
|
|
32
|
+
"../../node_modules/.bun/@opentelemetry+resources@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-darwin.js"() {
|
|
33
|
+
init_execAsync();
|
|
34
|
+
init_esm();
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
init_getMachineId_darwin();
|
|
38
|
+
export {
|
|
39
|
+
getMachineId
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=getMachineId-darwin-4DP6CCJV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/.bun/@opentelemetry+resources@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/src/detectors/platform/node/machine-id/getMachineId-darwin.ts"],"sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { execAsync } from './execAsync';\nimport { diag } from '@opentelemetry/api';\n\nexport async function getMachineId(): Promise<string | undefined> {\n try {\n const result = await execAsync('ioreg -rd1 -c \"IOPlatformExpertDevice\"');\n\n const idLine = result.stdout\n .split('\\n')\n .find(line => line.includes('IOPlatformUUID'));\n\n if (!idLine) {\n return undefined;\n }\n\n const parts = idLine.split('\" = \"');\n if (parts.length === 2) {\n return parts[1].slice(0, -1);\n }\n } catch (e) {\n diag.debug(`error reading machine id: ${e}`);\n }\n\n return undefined;\n}\n"],"mappings":";;;;;;;;;;;;;;AAmBA,eAAsB,eAAY;AAChC,MAAI;AACF,UAAM,SAAS,MAAM,UAAU,wCAAwC;AAEvE,UAAM,SAAS,OAAO,OACnB,MAAM,IAAI,EACV,KAAK,UAAQ,KAAK,SAAS,gBAAgB,CAAC;AAE/C,QAAI,CAAC,QAAQ;AACX,aAAO;;AAGT,UAAM,QAAQ,OAAO,MAAM,OAAO;AAClC,QAAI,MAAM,WAAW,GAAG;AACtB,aAAO,MAAM,CAAC,EAAE,MAAM,GAAG,EAAE;;WAEtB,GAAG;AACV,SAAK,MAAM,6BAA6B,CAAC,EAAE;;AAG7C,SAAO;AACT;AAxCA;;AAgBA;AACA;;;","names":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
diag,
|
|
4
|
+
init_esm
|
|
5
|
+
} from "./chunk-LRULMAAA.js";
|
|
6
|
+
import {
|
|
7
|
+
__esm
|
|
8
|
+
} from "./chunk-5H446C7X.js";
|
|
9
|
+
|
|
10
|
+
// ../../node_modules/.bun/@opentelemetry+resources@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-linux.js
|
|
11
|
+
import { promises as fs } from "fs";
|
|
12
|
+
async function getMachineId() {
|
|
13
|
+
const paths = ["/etc/machine-id", "/var/lib/dbus/machine-id"];
|
|
14
|
+
for (const path of paths) {
|
|
15
|
+
try {
|
|
16
|
+
const result = await fs.readFile(path, { encoding: "utf8" });
|
|
17
|
+
return result.trim();
|
|
18
|
+
} catch (e) {
|
|
19
|
+
diag.debug(`error reading machine id: ${e}`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return void 0;
|
|
23
|
+
}
|
|
24
|
+
var init_getMachineId_linux = __esm({
|
|
25
|
+
"../../node_modules/.bun/@opentelemetry+resources@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-linux.js"() {
|
|
26
|
+
init_esm();
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
init_getMachineId_linux();
|
|
30
|
+
export {
|
|
31
|
+
getMachineId
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=getMachineId-linux-44LJ5UJB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/.bun/@opentelemetry+resources@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/src/detectors/platform/node/machine-id/getMachineId-linux.ts"],"sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { promises as fs } from 'fs';\nimport { diag } from '@opentelemetry/api';\n\nexport async function getMachineId(): Promise<string | undefined> {\n const paths = ['/etc/machine-id', '/var/lib/dbus/machine-id'];\n\n for (const path of paths) {\n try {\n const result = await fs.readFile(path, { encoding: 'utf8' });\n return result.trim();\n } catch (e) {\n diag.debug(`error reading machine id: ${e}`);\n }\n }\n\n return undefined;\n}\n"],"mappings":";;;;;;;;;;AAeA,SAAS,YAAY,UAAU;AAG/B,eAAsB,eAAY;AAChC,QAAM,QAAQ,CAAC,mBAAmB,0BAA0B;AAE5D,aAAW,QAAQ,OAAO;AACxB,QAAI;AACF,YAAM,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,UAAU,OAAM,CAAE;AAC3D,aAAO,OAAO,KAAI;aACX,GAAG;AACV,WAAK,MAAM,6BAA6B,CAAC,EAAE;;;AAI/C,SAAO;AACT;AA/BA;;AAgBA;;;","names":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
diag,
|
|
4
|
+
init_esm
|
|
5
|
+
} from "./chunk-LRULMAAA.js";
|
|
6
|
+
import {
|
|
7
|
+
__esm
|
|
8
|
+
} from "./chunk-5H446C7X.js";
|
|
9
|
+
|
|
10
|
+
// ../../node_modules/.bun/@opentelemetry+resources@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-unsupported.js
|
|
11
|
+
async function getMachineId() {
|
|
12
|
+
diag.debug("could not read machine-id: unsupported platform");
|
|
13
|
+
return void 0;
|
|
14
|
+
}
|
|
15
|
+
var init_getMachineId_unsupported = __esm({
|
|
16
|
+
"../../node_modules/.bun/@opentelemetry+resources@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-unsupported.js"() {
|
|
17
|
+
init_esm();
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
init_getMachineId_unsupported();
|
|
21
|
+
export {
|
|
22
|
+
getMachineId
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=getMachineId-unsupported-NVK6IATM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/.bun/@opentelemetry+resources@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/src/detectors/platform/node/machine-id/getMachineId-unsupported.ts"],"sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { diag } from '@opentelemetry/api';\n\nexport async function getMachineId(): Promise<string | undefined> {\n diag.debug('could not read machine-id: unsupported platform');\n return undefined;\n}\n"],"mappings":";;;;;;;;;;AAkBA,eAAsB,eAAY;AAChC,OAAK,MAAM,iDAAiD;AAC5D,SAAO;AACT;AArBA;;AAgBA;;;","names":[]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
execAsync,
|
|
4
|
+
init_execAsync
|
|
5
|
+
} from "./chunk-XALGXSKB.js";
|
|
6
|
+
import {
|
|
7
|
+
diag,
|
|
8
|
+
init_esm
|
|
9
|
+
} from "./chunk-LRULMAAA.js";
|
|
10
|
+
import {
|
|
11
|
+
__esm
|
|
12
|
+
} from "./chunk-5H446C7X.js";
|
|
13
|
+
|
|
14
|
+
// ../../node_modules/.bun/@opentelemetry+resources@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-win.js
|
|
15
|
+
import * as process from "process";
|
|
16
|
+
async function getMachineId() {
|
|
17
|
+
const args = "QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid";
|
|
18
|
+
let command = "%windir%\\System32\\REG.exe";
|
|
19
|
+
if (process.arch === "ia32" && "PROCESSOR_ARCHITEW6432" in process.env) {
|
|
20
|
+
command = "%windir%\\sysnative\\cmd.exe /c " + command;
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
const result = await execAsync(`${command} ${args}`);
|
|
24
|
+
const parts = result.stdout.split("REG_SZ");
|
|
25
|
+
if (parts.length === 2) {
|
|
26
|
+
return parts[1].trim();
|
|
27
|
+
}
|
|
28
|
+
} catch (e) {
|
|
29
|
+
diag.debug(`error reading machine id: ${e}`);
|
|
30
|
+
}
|
|
31
|
+
return void 0;
|
|
32
|
+
}
|
|
33
|
+
var init_getMachineId_win = __esm({
|
|
34
|
+
"../../node_modules/.bun/@opentelemetry+resources@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-win.js"() {
|
|
35
|
+
init_execAsync();
|
|
36
|
+
init_esm();
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
init_getMachineId_win();
|
|
40
|
+
export {
|
|
41
|
+
getMachineId
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=getMachineId-win-YZ36S7VA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/.bun/@opentelemetry+resources@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/src/detectors/platform/node/machine-id/getMachineId-win.ts"],"sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport * as process from 'process';\nimport { execAsync } from './execAsync';\nimport { diag } from '@opentelemetry/api';\n\nexport async function getMachineId(): Promise<string | undefined> {\n const args =\n 'QUERY HKEY_LOCAL_MACHINE\\\\SOFTWARE\\\\Microsoft\\\\Cryptography /v MachineGuid';\n let command = '%windir%\\\\System32\\\\REG.exe';\n if (process.arch === 'ia32' && 'PROCESSOR_ARCHITEW6432' in process.env) {\n command = '%windir%\\\\sysnative\\\\cmd.exe /c ' + command;\n }\n\n try {\n const result = await execAsync(`${command} ${args}`);\n const parts = result.stdout.split('REG_SZ');\n if (parts.length === 2) {\n return parts[1].trim();\n }\n } catch (e) {\n diag.debug(`error reading machine id: ${e}`);\n }\n\n return undefined;\n}\n"],"mappings":";;;;;;;;;;;;;;AAgBA,YAAY,aAAa;AAIzB,eAAsB,eAAY;AAChC,QAAM,OACJ;AACF,MAAI,UAAU;AACd,MAAY,iBAAS,UAAU,4BAAoC,aAAK;AACtE,cAAU,qCAAqC;;AAGjD,MAAI;AACF,UAAM,SAAS,MAAM,UAAU,GAAG,OAAO,IAAI,IAAI,EAAE;AACnD,UAAM,QAAQ,OAAO,OAAO,MAAM,QAAQ;AAC1C,QAAI,MAAM,WAAW,GAAG;AACtB,aAAO,MAAM,CAAC,EAAE,KAAI;;WAEf,GAAG;AACV,SAAK,MAAM,6BAA6B,CAAC,EAAE;;AAG7C,SAAO;AACT;AAvCA;;AAiBA;AACA;;;","names":[]}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
app,
|
|
4
|
+
preprocessArgv,
|
|
5
|
+
runCli
|
|
6
|
+
} from "./chunk-FTPA72PY.js";
|
|
7
|
+
import "./chunk-PCQA43SA.js";
|
|
8
|
+
import "./chunk-OR4WXZAF.js";
|
|
9
|
+
import "./chunk-C5GOHBQM.js";
|
|
10
|
+
import "./chunk-JK6V4KVD.js";
|
|
11
|
+
import "./chunk-3L2L5GIL.js";
|
|
12
|
+
import "./chunk-6GSYTMXD.js";
|
|
13
|
+
import "./chunk-LRULMAAA.js";
|
|
14
|
+
import "./chunk-5H446C7X.js";
|
|
15
|
+
export {
|
|
16
|
+
app,
|
|
17
|
+
preprocessArgv,
|
|
18
|
+
runCli
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
TARGET_FILE_CANDIDATES,
|
|
4
|
+
fileExists,
|
|
5
|
+
findRepoRoot,
|
|
6
|
+
runEvalCommand
|
|
7
|
+
} from "./chunk-PCQA43SA.js";
|
|
8
|
+
import {
|
|
9
|
+
DEFAULT_EVAL_PATTERNS,
|
|
10
|
+
getAgentvHome,
|
|
11
|
+
listTargetNames,
|
|
12
|
+
loadConfig,
|
|
13
|
+
readTargetDefinitions
|
|
14
|
+
} from "./chunk-OR4WXZAF.js";
|
|
15
|
+
import "./chunk-C5GOHBQM.js";
|
|
16
|
+
import "./chunk-JK6V4KVD.js";
|
|
17
|
+
import "./chunk-3L2L5GIL.js";
|
|
18
|
+
import "./chunk-6GSYTMXD.js";
|
|
19
|
+
import "./chunk-LRULMAAA.js";
|
|
20
|
+
import "./chunk-5H446C7X.js";
|
|
21
|
+
|
|
22
|
+
// src/commands/eval/interactive.ts
|
|
23
|
+
import path3 from "node:path";
|
|
24
|
+
import { checkbox, confirm, number, search, select } from "@inquirer/prompts";
|
|
25
|
+
|
|
26
|
+
// src/commands/eval/discover.ts
|
|
27
|
+
import path from "node:path";
|
|
28
|
+
import fg from "fast-glob";
|
|
29
|
+
async function discoverEvalFiles(cwd) {
|
|
30
|
+
const repoRoot = await findRepoRoot(cwd);
|
|
31
|
+
const config = await loadConfig(path.join(cwd, "_"), repoRoot);
|
|
32
|
+
const patterns = config?.eval_patterns && config.eval_patterns.length > 0 ? config.eval_patterns : DEFAULT_EVAL_PATTERNS;
|
|
33
|
+
const ignore = ["**/node_modules/**", "**/dist/**"];
|
|
34
|
+
const matches = await fg(patterns, {
|
|
35
|
+
cwd,
|
|
36
|
+
absolute: true,
|
|
37
|
+
onlyFiles: true,
|
|
38
|
+
ignore,
|
|
39
|
+
followSymbolicLinks: true,
|
|
40
|
+
caseSensitiveMatch: false
|
|
41
|
+
});
|
|
42
|
+
const evalFiles = matches.map((absPath) => {
|
|
43
|
+
const relativePath = path.relative(cwd, absPath);
|
|
44
|
+
const category = deriveCategory(relativePath);
|
|
45
|
+
return { path: absPath, relativePath, category };
|
|
46
|
+
});
|
|
47
|
+
evalFiles.sort((a, b) => a.relativePath.localeCompare(b.relativePath));
|
|
48
|
+
return evalFiles;
|
|
49
|
+
}
|
|
50
|
+
function deriveCategory(relativePath) {
|
|
51
|
+
const parts = relativePath.split(path.sep);
|
|
52
|
+
if (parts.length <= 1) {
|
|
53
|
+
return "root";
|
|
54
|
+
}
|
|
55
|
+
const dirs = parts.slice(0, -1).filter((d) => d !== "evals");
|
|
56
|
+
return dirs.length > 0 ? dirs.join("/") : "root";
|
|
57
|
+
}
|
|
58
|
+
function getCategories(files) {
|
|
59
|
+
const categories = /* @__PURE__ */ new Set();
|
|
60
|
+
for (const file of files) {
|
|
61
|
+
categories.add(file.category);
|
|
62
|
+
}
|
|
63
|
+
const sorted = Array.from(categories);
|
|
64
|
+
sorted.sort();
|
|
65
|
+
return sorted;
|
|
66
|
+
}
|
|
67
|
+
function filterByCategory(files, category) {
|
|
68
|
+
return files.filter((f) => f.category === category);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// src/commands/eval/last-config.ts
|
|
72
|
+
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
73
|
+
import path2 from "node:path";
|
|
74
|
+
var AGENTV_DIR = getAgentvHome();
|
|
75
|
+
var LAST_CONFIG_PATH = path2.join(AGENTV_DIR, "last-config.json");
|
|
76
|
+
async function loadLastConfig() {
|
|
77
|
+
try {
|
|
78
|
+
const content = await readFile(LAST_CONFIG_PATH, "utf-8");
|
|
79
|
+
return JSON.parse(content);
|
|
80
|
+
} catch {
|
|
81
|
+
return void 0;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
async function saveLastConfig(config) {
|
|
85
|
+
await mkdir(AGENTV_DIR, { recursive: true });
|
|
86
|
+
await writeFile(LAST_CONFIG_PATH, JSON.stringify(config, null, 2), "utf-8");
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// src/commands/eval/interactive.ts
|
|
90
|
+
var ANSI_BOLD = "\x1B[1m";
|
|
91
|
+
var ANSI_DIM = "\x1B[2m";
|
|
92
|
+
var ANSI_CYAN = "\x1B[36m";
|
|
93
|
+
var ANSI_GREEN = "\x1B[32m";
|
|
94
|
+
var ANSI_RESET = "\x1B[0m";
|
|
95
|
+
async function launchInteractiveWizard() {
|
|
96
|
+
const cwd = process.cwd();
|
|
97
|
+
console.log(`
|
|
98
|
+
${ANSI_BOLD}${ANSI_CYAN}AgentV Interactive Mode${ANSI_RESET}
|
|
99
|
+
`);
|
|
100
|
+
const lastConfig = await loadLastConfig();
|
|
101
|
+
const action = await promptMainMenu(lastConfig);
|
|
102
|
+
if (action === "exit") {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
if (action === "rerun" && lastConfig) {
|
|
106
|
+
console.log(`
|
|
107
|
+
${ANSI_DIM}Rerunning last configuration...${ANSI_RESET}
|
|
108
|
+
`);
|
|
109
|
+
await executeConfig({
|
|
110
|
+
evalPaths: lastConfig.evalPaths,
|
|
111
|
+
target: lastConfig.target,
|
|
112
|
+
workers: lastConfig.workers,
|
|
113
|
+
dryRun: lastConfig.dryRun,
|
|
114
|
+
cache: lastConfig.cache
|
|
115
|
+
});
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
const config = await promptNewEvaluation(cwd);
|
|
119
|
+
if (!config) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
const confirmed = await promptReviewAndConfirm(config, cwd);
|
|
123
|
+
if (!confirmed) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
await saveLastConfig({
|
|
127
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
128
|
+
cwd,
|
|
129
|
+
evalPaths: config.evalPaths,
|
|
130
|
+
target: config.target,
|
|
131
|
+
workers: config.workers,
|
|
132
|
+
dryRun: config.dryRun,
|
|
133
|
+
cache: config.cache
|
|
134
|
+
});
|
|
135
|
+
await executeConfig(config);
|
|
136
|
+
}
|
|
137
|
+
async function promptMainMenu(lastConfig) {
|
|
138
|
+
const choices = [];
|
|
139
|
+
if (lastConfig) {
|
|
140
|
+
const evalCount = lastConfig.evalPaths.length;
|
|
141
|
+
choices.push({
|
|
142
|
+
name: "\u{1F504} Rerun last config",
|
|
143
|
+
value: "rerun",
|
|
144
|
+
description: `${evalCount} eval file(s), target: ${lastConfig.target}`
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
choices.push({ name: "\u{1F680} Run new evaluation", value: "new" }, { name: "\u2715 Exit", value: "exit" });
|
|
148
|
+
return select({
|
|
149
|
+
message: "What would you like to do?",
|
|
150
|
+
choices
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
async function promptNewEvaluation(cwd) {
|
|
154
|
+
console.log(`
|
|
155
|
+
${ANSI_DIM}Scanning for eval files...${ANSI_RESET}`);
|
|
156
|
+
const allFiles = await discoverEvalFiles(cwd);
|
|
157
|
+
if (allFiles.length === 0) {
|
|
158
|
+
console.log(
|
|
159
|
+
"\n\u26A0 No eval files found in the current directory.\n Place .yaml or .jsonl eval files in your project, or use:\n agentv eval <path-to-eval.yaml>\n"
|
|
160
|
+
);
|
|
161
|
+
return void 0;
|
|
162
|
+
}
|
|
163
|
+
console.log(`${ANSI_DIM}Found ${allFiles.length} eval file(s)${ANSI_RESET}
|
|
164
|
+
`);
|
|
165
|
+
const selectedFiles = await promptEvalSelection(allFiles);
|
|
166
|
+
if (selectedFiles.length === 0) {
|
|
167
|
+
console.log("\nNo eval files selected.");
|
|
168
|
+
return void 0;
|
|
169
|
+
}
|
|
170
|
+
const target = await promptTargetSelection(cwd, selectedFiles[0].path);
|
|
171
|
+
const advanced = await promptAdvancedOptions();
|
|
172
|
+
return {
|
|
173
|
+
evalPaths: selectedFiles.map((f) => f.path),
|
|
174
|
+
target,
|
|
175
|
+
...advanced
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
async function promptEvalSelection(allFiles) {
|
|
179
|
+
const categories = getCategories(allFiles);
|
|
180
|
+
let filesToSelect;
|
|
181
|
+
if (categories.length > 1) {
|
|
182
|
+
const selectedCategory = await search({
|
|
183
|
+
message: "Select a category (type to search)",
|
|
184
|
+
source: async (term) => {
|
|
185
|
+
const filtered = term ? categories.filter((c) => c.toLowerCase().includes(term.toLowerCase())) : categories;
|
|
186
|
+
return [
|
|
187
|
+
{ name: "(all categories)", value: "__all__" },
|
|
188
|
+
...filtered.map((c) => {
|
|
189
|
+
const count = filterByCategory(allFiles, c).length;
|
|
190
|
+
return { name: `${c} (${count} file${count > 1 ? "s" : ""})`, value: c };
|
|
191
|
+
})
|
|
192
|
+
];
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
filesToSelect = selectedCategory === "__all__" ? allFiles : filterByCategory(allFiles, selectedCategory);
|
|
196
|
+
} else {
|
|
197
|
+
filesToSelect = allFiles;
|
|
198
|
+
}
|
|
199
|
+
return checkbox({
|
|
200
|
+
message: "Select eval files to run (space to toggle, enter to confirm)",
|
|
201
|
+
choices: filesToSelect.map((f) => ({
|
|
202
|
+
name: f.relativePath,
|
|
203
|
+
value: f,
|
|
204
|
+
checked: filesToSelect.length <= 5
|
|
205
|
+
// auto-select if few files
|
|
206
|
+
})),
|
|
207
|
+
required: true
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
async function promptTargetSelection(cwd, firstEvalPath) {
|
|
211
|
+
const repoRoot = await findRepoRoot(cwd);
|
|
212
|
+
const targetsPath = await findTargetsFile(cwd, repoRoot, firstEvalPath);
|
|
213
|
+
if (!targetsPath) {
|
|
214
|
+
console.log(`${ANSI_DIM}No targets.yaml found. Using default target.${ANSI_RESET}`);
|
|
215
|
+
return "default";
|
|
216
|
+
}
|
|
217
|
+
const definitions = await readTargetDefinitions(targetsPath);
|
|
218
|
+
const targetNames = listTargetNames(definitions);
|
|
219
|
+
if (targetNames.length === 0) {
|
|
220
|
+
return "default";
|
|
221
|
+
}
|
|
222
|
+
if (targetNames.length === 1) {
|
|
223
|
+
console.log(`${ANSI_DIM}Using target: ${targetNames[0]}${ANSI_RESET}`);
|
|
224
|
+
return targetNames[0];
|
|
225
|
+
}
|
|
226
|
+
return search({
|
|
227
|
+
message: "Select a target (type to search)",
|
|
228
|
+
source: async (term) => {
|
|
229
|
+
const filtered = term ? targetNames.filter((t) => t.toLowerCase().includes(term.toLowerCase())) : targetNames;
|
|
230
|
+
return filtered.map((t) => {
|
|
231
|
+
const def = definitions.find((d) => d.name === t);
|
|
232
|
+
return {
|
|
233
|
+
name: t,
|
|
234
|
+
value: t,
|
|
235
|
+
description: def ? `provider: ${def.provider}` : void 0
|
|
236
|
+
};
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
async function findTargetsFile(cwd, repoRoot, evalFilePath) {
|
|
242
|
+
const dirsToSearch = [];
|
|
243
|
+
if (evalFilePath) {
|
|
244
|
+
const evalDir = path3.dirname(evalFilePath);
|
|
245
|
+
if (!dirsToSearch.includes(evalDir)) {
|
|
246
|
+
dirsToSearch.push(evalDir);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
if (!dirsToSearch.includes(cwd)) {
|
|
250
|
+
dirsToSearch.push(cwd);
|
|
251
|
+
}
|
|
252
|
+
if (repoRoot !== cwd && !dirsToSearch.includes(repoRoot)) {
|
|
253
|
+
dirsToSearch.push(repoRoot);
|
|
254
|
+
}
|
|
255
|
+
for (const dir of dirsToSearch) {
|
|
256
|
+
for (const candidate of TARGET_FILE_CANDIDATES) {
|
|
257
|
+
const fullPath = `${dir}/${candidate}`;
|
|
258
|
+
if (await fileExists(fullPath)) {
|
|
259
|
+
return fullPath;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
return void 0;
|
|
264
|
+
}
|
|
265
|
+
async function promptAdvancedOptions() {
|
|
266
|
+
const customize = await confirm({
|
|
267
|
+
message: "Configure advanced options?",
|
|
268
|
+
default: false
|
|
269
|
+
});
|
|
270
|
+
if (!customize) {
|
|
271
|
+
return { workers: 3, dryRun: false, cache: false };
|
|
272
|
+
}
|
|
273
|
+
const workers = await number({
|
|
274
|
+
message: "Number of parallel workers (1-50)",
|
|
275
|
+
default: 3,
|
|
276
|
+
min: 1,
|
|
277
|
+
max: 50
|
|
278
|
+
}) ?? 3;
|
|
279
|
+
const dryRun = await confirm({
|
|
280
|
+
message: "Enable dry-run mode (mock responses)?",
|
|
281
|
+
default: false
|
|
282
|
+
});
|
|
283
|
+
const cache = await confirm({
|
|
284
|
+
message: "Enable response cache?",
|
|
285
|
+
default: false
|
|
286
|
+
});
|
|
287
|
+
return { workers, dryRun, cache };
|
|
288
|
+
}
|
|
289
|
+
async function promptReviewAndConfirm(config, cwd) {
|
|
290
|
+
const evalDisplay = config.evalPaths.map((p) => {
|
|
291
|
+
const rel = p.startsWith(cwd) ? p.slice(cwd.length + 1) : p;
|
|
292
|
+
return ` ${rel}`;
|
|
293
|
+
}).join("\n");
|
|
294
|
+
console.log(`
|
|
295
|
+
${ANSI_BOLD}Review Configuration${ANSI_RESET}`);
|
|
296
|
+
console.log(`${ANSI_DIM}${"\u2500".repeat(40)}${ANSI_RESET}`);
|
|
297
|
+
console.log(`${ANSI_GREEN}Eval files:${ANSI_RESET}
|
|
298
|
+
${evalDisplay}`);
|
|
299
|
+
console.log(`${ANSI_GREEN}Target:${ANSI_RESET} ${config.target}`);
|
|
300
|
+
console.log(`${ANSI_GREEN}Workers:${ANSI_RESET} ${config.workers}`);
|
|
301
|
+
console.log(`${ANSI_GREEN}Dry run:${ANSI_RESET} ${config.dryRun ? "yes" : "no"}`);
|
|
302
|
+
console.log(`${ANSI_GREEN}Cache:${ANSI_RESET} ${config.cache ? "yes" : "no"}`);
|
|
303
|
+
console.log(`${ANSI_DIM}${"\u2500".repeat(40)}${ANSI_RESET}`);
|
|
304
|
+
return confirm({
|
|
305
|
+
message: "Run evaluation with this configuration?",
|
|
306
|
+
default: true
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
async function executeConfig(config) {
|
|
310
|
+
const rawOptions = {
|
|
311
|
+
target: config.target,
|
|
312
|
+
workers: config.workers,
|
|
313
|
+
dryRun: config.dryRun,
|
|
314
|
+
cache: config.cache,
|
|
315
|
+
outputFormat: "jsonl",
|
|
316
|
+
dryRunDelay: 0,
|
|
317
|
+
dryRunDelayMin: 0,
|
|
318
|
+
dryRunDelayMax: 0,
|
|
319
|
+
agentTimeout: 120,
|
|
320
|
+
maxRetries: 2,
|
|
321
|
+
verbose: false,
|
|
322
|
+
keepWorkspaces: false,
|
|
323
|
+
cleanupWorkspaces: false,
|
|
324
|
+
trace: false
|
|
325
|
+
};
|
|
326
|
+
await runEvalCommand({
|
|
327
|
+
testFiles: [...config.evalPaths],
|
|
328
|
+
rawOptions
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
export {
|
|
332
|
+
launchInteractiveWizard
|
|
333
|
+
};
|
|
334
|
+
//# sourceMappingURL=interactive-DLHPNSZ7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/eval/interactive.ts","../src/commands/eval/discover.ts","../src/commands/eval/last-config.ts"],"sourcesContent":["import path from 'node:path';\nimport { listTargetNames, readTargetDefinitions } from '@agentv/core';\nimport { checkbox, confirm, number, search, select } from '@inquirer/prompts';\n\nimport { TARGET_FILE_CANDIDATES, fileExists } from '../../utils/targets.js';\nimport {\n type DiscoveredEvalFile,\n discoverEvalFiles,\n filterByCategory,\n getCategories,\n} from './discover.js';\nimport { type LastConfig, loadLastConfig, saveLastConfig } from './last-config.js';\nimport { runEvalCommand } from './run-eval.js';\nimport { findRepoRoot } from './shared.js';\n\nconst ANSI_BOLD = '\\x1b[1m';\nconst ANSI_DIM = '\\x1b[2m';\nconst ANSI_CYAN = '\\x1b[36m';\nconst ANSI_GREEN = '\\x1b[32m';\nconst ANSI_RESET = '\\x1b[0m';\n\nexport interface InteractiveConfig {\n readonly evalPaths: readonly string[];\n readonly target: string;\n readonly workers: number;\n readonly dryRun: boolean;\n readonly cache: boolean;\n}\n\n/**\n * Launch the interactive wizard when `agentv eval` is called with no arguments.\n */\nexport async function launchInteractiveWizard(): Promise<void> {\n const cwd = process.cwd();\n\n console.log(`\\n${ANSI_BOLD}${ANSI_CYAN}AgentV Interactive Mode${ANSI_RESET}\\n`);\n\n const lastConfig = await loadLastConfig();\n const action = await promptMainMenu(lastConfig);\n\n if (action === 'exit') {\n return;\n }\n\n if (action === 'rerun' && lastConfig) {\n console.log(`\\n${ANSI_DIM}Rerunning last configuration...${ANSI_RESET}\\n`);\n await executeConfig({\n evalPaths: lastConfig.evalPaths,\n target: lastConfig.target,\n workers: lastConfig.workers,\n dryRun: lastConfig.dryRun,\n cache: lastConfig.cache,\n });\n return;\n }\n\n // Run new evaluation flow\n const config = await promptNewEvaluation(cwd);\n if (!config) {\n return;\n }\n\n // Review & confirm\n const confirmed = await promptReviewAndConfirm(config, cwd);\n if (!confirmed) {\n return;\n }\n\n // Save last config\n await saveLastConfig({\n timestamp: new Date().toISOString(),\n cwd,\n evalPaths: config.evalPaths,\n target: config.target,\n workers: config.workers,\n dryRun: config.dryRun,\n cache: config.cache,\n });\n\n await executeConfig(config);\n}\n\nasync function promptMainMenu(\n lastConfig: LastConfig | undefined,\n): Promise<'new' | 'rerun' | 'exit'> {\n type MenuChoice = 'new' | 'rerun' | 'exit';\n const choices: Array<{ name: string; value: MenuChoice; description?: string }> = [];\n\n if (lastConfig) {\n const evalCount = lastConfig.evalPaths.length;\n choices.push({\n name: 'š Rerun last config',\n value: 'rerun',\n description: `${evalCount} eval file(s), target: ${lastConfig.target}`,\n });\n }\n\n choices.push({ name: 'š Run new evaluation', value: 'new' }, { name: 'ā Exit', value: 'exit' });\n\n return select<MenuChoice>({\n message: 'What would you like to do?',\n choices,\n });\n}\n\nasync function promptNewEvaluation(cwd: string): Promise<InteractiveConfig | undefined> {\n // Step 1: Discover eval files\n console.log(`\\n${ANSI_DIM}Scanning for eval files...${ANSI_RESET}`);\n const allFiles = await discoverEvalFiles(cwd);\n\n if (allFiles.length === 0) {\n console.log(\n '\\nā No eval files found in the current directory.\\n' +\n ' Place .yaml or .jsonl eval files in your project, or use:\\n' +\n ' agentv eval <path-to-eval.yaml>\\n',\n );\n return undefined;\n }\n\n console.log(`${ANSI_DIM}Found ${allFiles.length} eval file(s)${ANSI_RESET}\\n`);\n\n // Step 2: Select eval files (optionally filter by category first)\n const selectedFiles = await promptEvalSelection(allFiles);\n if (selectedFiles.length === 0) {\n console.log('\\nNo eval files selected.');\n return undefined;\n }\n\n // Step 3: Select target\n const target = await promptTargetSelection(cwd, selectedFiles[0].path);\n\n // Step 4: Advanced options\n const advanced = await promptAdvancedOptions();\n\n return {\n evalPaths: selectedFiles.map((f) => f.path),\n target,\n ...advanced,\n };\n}\n\nasync function promptEvalSelection(\n allFiles: readonly DiscoveredEvalFile[],\n): Promise<DiscoveredEvalFile[]> {\n const categories = getCategories(allFiles);\n\n // If only one category or few files, skip category selection\n let filesToSelect: readonly DiscoveredEvalFile[];\n\n if (categories.length > 1) {\n const selectedCategory = await search<string>({\n message: 'Select a category (type to search)',\n source: async (term) => {\n const filtered = term\n ? categories.filter((c) => c.toLowerCase().includes(term.toLowerCase()))\n : categories;\n return [\n { name: '(all categories)', value: '__all__' },\n ...filtered.map((c) => {\n const count = filterByCategory(allFiles, c).length;\n return { name: `${c} (${count} file${count > 1 ? 's' : ''})`, value: c };\n }),\n ];\n },\n });\n\n filesToSelect =\n selectedCategory === '__all__' ? allFiles : filterByCategory(allFiles, selectedCategory);\n } else {\n filesToSelect = allFiles;\n }\n\n return checkbox<DiscoveredEvalFile>({\n message: 'Select eval files to run (space to toggle, enter to confirm)',\n choices: filesToSelect.map((f) => ({\n name: f.relativePath,\n value: f,\n checked: filesToSelect.length <= 5, // auto-select if few files\n })),\n required: true,\n });\n}\n\nasync function promptTargetSelection(cwd: string, firstEvalPath: string): Promise<string> {\n const repoRoot = await findRepoRoot(cwd);\n\n // Try to find targets.yaml ā search near the eval file first, then cwd/repoRoot\n const targetsPath = await findTargetsFile(cwd, repoRoot, firstEvalPath);\n\n if (!targetsPath) {\n console.log(`${ANSI_DIM}No targets.yaml found. Using default target.${ANSI_RESET}`);\n return 'default';\n }\n\n const definitions = await readTargetDefinitions(targetsPath);\n const targetNames = listTargetNames(definitions);\n\n if (targetNames.length === 0) {\n return 'default';\n }\n\n if (targetNames.length === 1) {\n console.log(`${ANSI_DIM}Using target: ${targetNames[0]}${ANSI_RESET}`);\n return targetNames[0];\n }\n\n return search<string>({\n message: 'Select a target (type to search)',\n source: async (term) => {\n const filtered = term\n ? targetNames.filter((t) => t.toLowerCase().includes(term.toLowerCase()))\n : targetNames;\n return filtered.map((t) => {\n const def = definitions.find((d) => d.name === t);\n return {\n name: t,\n value: t,\n description: def ? `provider: ${def.provider}` : undefined,\n };\n });\n },\n });\n}\n\nasync function findTargetsFile(\n cwd: string,\n repoRoot: string,\n evalFilePath?: string,\n): Promise<string | undefined> {\n // Build directory chain: eval file dir ā cwd ā repoRoot (mirrors discoverTargetsFile)\n const dirsToSearch: string[] = [];\n\n if (evalFilePath) {\n const evalDir = path.dirname(evalFilePath);\n if (!dirsToSearch.includes(evalDir)) {\n dirsToSearch.push(evalDir);\n }\n }\n\n if (!dirsToSearch.includes(cwd)) {\n dirsToSearch.push(cwd);\n }\n\n if (repoRoot !== cwd && !dirsToSearch.includes(repoRoot)) {\n dirsToSearch.push(repoRoot);\n }\n\n for (const dir of dirsToSearch) {\n for (const candidate of TARGET_FILE_CANDIDATES) {\n const fullPath = `${dir}/${candidate}`;\n if (await fileExists(fullPath)) {\n return fullPath;\n }\n }\n }\n\n return undefined;\n}\n\nasync function promptAdvancedOptions(): Promise<{\n workers: number;\n dryRun: boolean;\n cache: boolean;\n}> {\n const customize = await confirm({\n message: 'Configure advanced options?',\n default: false,\n });\n\n if (!customize) {\n return { workers: 3, dryRun: false, cache: false };\n }\n\n const workers =\n (await number({\n message: 'Number of parallel workers (1-50)',\n default: 3,\n min: 1,\n max: 50,\n })) ?? 3;\n\n const dryRun = await confirm({\n message: 'Enable dry-run mode (mock responses)?',\n default: false,\n });\n\n const cache = await confirm({\n message: 'Enable response cache?',\n default: false,\n });\n\n return { workers, dryRun, cache };\n}\n\nasync function promptReviewAndConfirm(config: InteractiveConfig, cwd: string): Promise<boolean> {\n const evalDisplay = config.evalPaths\n .map((p) => {\n const rel = p.startsWith(cwd) ? p.slice(cwd.length + 1) : p;\n return ` ${rel}`;\n })\n .join('\\n');\n\n console.log(`\\n${ANSI_BOLD}Review Configuration${ANSI_RESET}`);\n console.log(`${ANSI_DIM}${'ā'.repeat(40)}${ANSI_RESET}`);\n console.log(`${ANSI_GREEN}Eval files:${ANSI_RESET}\\n${evalDisplay}`);\n console.log(`${ANSI_GREEN}Target:${ANSI_RESET} ${config.target}`);\n console.log(`${ANSI_GREEN}Workers:${ANSI_RESET} ${config.workers}`);\n console.log(`${ANSI_GREEN}Dry run:${ANSI_RESET} ${config.dryRun ? 'yes' : 'no'}`);\n console.log(`${ANSI_GREEN}Cache:${ANSI_RESET} ${config.cache ? 'yes' : 'no'}`);\n console.log(`${ANSI_DIM}${'ā'.repeat(40)}${ANSI_RESET}`);\n\n return confirm({\n message: 'Run evaluation with this configuration?',\n default: true,\n });\n}\n\nasync function executeConfig(config: InteractiveConfig): Promise<void> {\n const rawOptions: Record<string, unknown> = {\n target: config.target,\n workers: config.workers,\n dryRun: config.dryRun,\n cache: config.cache,\n outputFormat: 'jsonl',\n dryRunDelay: 0,\n dryRunDelayMin: 0,\n dryRunDelayMax: 0,\n agentTimeout: 120,\n maxRetries: 2,\n verbose: false,\n keepWorkspaces: false,\n cleanupWorkspaces: false,\n trace: false,\n };\n\n await runEvalCommand({\n testFiles: [...config.evalPaths],\n rawOptions,\n });\n}\n","import path from 'node:path';\nimport { DEFAULT_EVAL_PATTERNS, loadConfig } from '@agentv/core';\nimport fg from 'fast-glob';\n\nimport { findRepoRoot } from './shared.js';\n\nexport interface DiscoveredEvalFile {\n /** Absolute path to the eval file */\n readonly path: string;\n /** Relative path from cwd for display */\n readonly relativePath: string;\n /** Category derived from parent folder structure */\n readonly category: string;\n}\n\n/**\n * Discover eval files by glob pattern matching.\n *\n * Uses `eval_patterns` from `.agentv/config.yaml` if configured,\n * otherwise falls back to default patterns that match `dataset*.yaml`\n * and `eval.yaml` files under `evals/` directories.\n */\nexport async function discoverEvalFiles(cwd: string): Promise<readonly DiscoveredEvalFile[]> {\n const repoRoot = await findRepoRoot(cwd);\n\n // Load config to check for custom eval_patterns\n // Pass a dummy file path in cwd so buildDirectoryChain starts from cwd\n const config = await loadConfig(path.join(cwd, '_'), repoRoot);\n const patterns =\n config?.eval_patterns && config.eval_patterns.length > 0\n ? config.eval_patterns\n : DEFAULT_EVAL_PATTERNS;\n\n const ignore = ['**/node_modules/**', '**/dist/**'];\n\n const matches = await fg(patterns as string[], {\n cwd,\n absolute: true,\n onlyFiles: true,\n ignore,\n followSymbolicLinks: true,\n caseSensitiveMatch: false,\n });\n\n const evalFiles: DiscoveredEvalFile[] = matches.map((absPath) => {\n const relativePath = path.relative(cwd, absPath);\n const category = deriveCategory(relativePath);\n return { path: absPath, relativePath, category };\n });\n\n evalFiles.sort((a, b) => a.relativePath.localeCompare(b.relativePath));\n return evalFiles;\n}\n\n/** Derive a human-readable category from the relative path. */\nfunction deriveCategory(relativePath: string): string {\n const parts = relativePath.split(path.sep);\n // Use the first meaningful directory as category\n // e.g., \"examples/showcase/export-screening/evals/dataset.eval.yaml\" ā \"showcase/export-screening\"\n // e.g., \"evals/dataset.eval.yaml\" ā \"evals\"\n if (parts.length <= 1) {\n return 'root';\n }\n\n // Remove the filename and \"evals\" folder if present\n const dirs = parts.slice(0, -1).filter((d) => d !== 'evals');\n return dirs.length > 0 ? dirs.join('/') : 'root';\n}\n\n/** Get unique categories from discovered eval files. */\nexport function getCategories(files: readonly DiscoveredEvalFile[]): readonly string[] {\n const categories = new Set<string>();\n for (const file of files) {\n categories.add(file.category);\n }\n const sorted = Array.from(categories);\n sorted.sort();\n return sorted;\n}\n\n/** Filter eval files by category. */\nexport function filterByCategory(\n files: readonly DiscoveredEvalFile[],\n category: string,\n): readonly DiscoveredEvalFile[] {\n return files.filter((f) => f.category === category);\n}\n","import { mkdir, readFile, writeFile } from 'node:fs/promises';\nimport path from 'node:path';\nimport { getAgentvHome } from '@agentv/core';\n\nconst AGENTV_DIR = getAgentvHome();\nconst LAST_CONFIG_PATH = path.join(AGENTV_DIR, 'last-config.json');\n\nexport interface LastConfig {\n readonly timestamp: string;\n readonly cwd: string;\n readonly evalPaths: readonly string[];\n readonly target: string;\n readonly workers: number;\n readonly dryRun: boolean;\n readonly cache: boolean;\n}\n\nexport async function loadLastConfig(): Promise<LastConfig | undefined> {\n try {\n const content = await readFile(LAST_CONFIG_PATH, 'utf-8');\n return JSON.parse(content) as LastConfig;\n } catch {\n return undefined;\n }\n}\n\nexport async function saveLastConfig(config: LastConfig): Promise<void> {\n await mkdir(AGENTV_DIR, { recursive: true });\n await writeFile(LAST_CONFIG_PATH, JSON.stringify(config, null, 2), 'utf-8');\n}\n"],"mappings":"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","names":["path","path","path","path"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
OtlpJsonFileExporter
|
|
4
|
+
} from "./chunk-C5GOHBQM.js";
|
|
5
|
+
import "./chunk-5H446C7X.js";
|
|
6
|
+
export {
|
|
7
|
+
OtlpJsonFileExporter
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=otlp-json-file-exporter-77FDBRSY-EZAPHWP6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
SimpleTraceFileExporter
|
|
4
|
+
} from "./chunk-JK6V4KVD.js";
|
|
5
|
+
import "./chunk-5H446C7X.js";
|
|
6
|
+
export {
|
|
7
|
+
SimpleTraceFileExporter
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=simple-trace-file-exporter-S76DMABU-5FCJESD2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|