niceeval 0.13.2 → 0.13.3-canary.37
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/agents/claude-code-native.cjs +213 -0
- package/dist/agents/claude-code-native.cjs.map +1 -0
- package/dist/agents/claude-code-native.d.cts +5 -0
- package/dist/agents/claude-code-native.d.mts +5 -0
- package/dist/agents/claude-code-native.d.ts +5 -0
- package/dist/agents/claude-code-native.js +6 -0
- package/dist/agents/claude-code-native.js.map +1 -0
- package/dist/agents/claude-code.cjs +26 -80
- package/dist/agents/claude-code.cjs.map +1 -1
- package/dist/agents/codex-app-server.cjs +315 -0
- package/dist/agents/codex-app-server.cjs.map +1 -0
- package/dist/agents/codex-app-server.d.cts +9 -0
- package/dist/agents/codex-app-server.d.mts +9 -0
- package/dist/agents/codex-app-server.d.ts +9 -0
- package/dist/agents/codex-app-server.js +6 -0
- package/dist/agents/codex-app-server.js.map +1 -0
- package/dist/agents/codex.cjs +16 -65
- package/dist/agents/codex.cjs.map +1 -1
- package/dist/agents/index.cjs +3 -1
- package/dist/agents/index.cjs.map +1 -1
- package/dist/agents/index.d.cts +1 -0
- package/dist/agents/index.d.mts +1 -0
- package/dist/agents/index.d.ts +1 -0
- package/dist/agents/index.js +84 -82
- package/dist/agents/index.mjs +84 -82
- package/dist/agents/managed-jsonl.cjs +207 -0
- package/dist/agents/managed-jsonl.cjs.map +1 -0
- package/dist/agents/managed-jsonl.d.cts +39 -0
- package/dist/agents/managed-jsonl.d.mts +39 -0
- package/dist/agents/managed-jsonl.d.ts +39 -0
- package/dist/agents/managed-jsonl.js +6 -0
- package/dist/agents/managed-jsonl.js.map +1 -0
- package/dist/agents/managed-process.cjs +31 -0
- package/dist/agents/managed-process.cjs.map +1 -0
- package/dist/agents/managed-process.d.cts +3 -0
- package/dist/agents/managed-process.d.mts +3 -0
- package/dist/agents/managed-process.d.ts +3 -0
- package/dist/agents/managed-process.js +6 -0
- package/dist/agents/managed-process.js.map +1 -0
- package/dist/agents/omp.cjs +18 -1
- package/dist/agents/omp.cjs.map +1 -1
- package/dist/agents/types.cjs.map +1 -1
- package/dist/agents/types.d.cts +8 -0
- package/dist/agents/types.d.mts +8 -0
- package/dist/agents/types.d.ts +8 -0
- package/dist/context/assert-first.cjs +1 -0
- package/dist/context/assert-first.cjs.map +1 -1
- package/dist/context/assert-first.d.cts +1 -0
- package/dist/context/assert-first.d.mts +1 -0
- package/dist/context/assert-first.d.ts +1 -0
- package/dist/context/attempt-resources.cjs +13 -0
- package/dist/context/attempt-resources.cjs.map +1 -0
- package/dist/context/attempt-resources.d.cts +3 -0
- package/dist/context/attempt-resources.d.mts +3 -0
- package/dist/context/attempt-resources.d.ts +3 -0
- package/dist/context/attempt-resources.js +8 -0
- package/dist/context/attempt-resources.js.map +1 -0
- package/dist/context/session.cjs +4 -3
- package/dist/context/session.cjs.map +1 -1
- package/dist/context/session.d.cts +1 -0
- package/dist/context/session.d.mts +1 -0
- package/dist/context/session.d.ts +1 -0
- package/dist/report/assets/styles.css +4 -0
- package/dist/report/components/attempt-detail/compute.cjs +4 -2
- package/dist/report/components/attempt-detail/compute.cjs.map +1 -1
- package/dist/report/components/attempt-detail/compute.d.cts +2 -2
- package/dist/report/components/attempt-detail/compute.d.mts +2 -2
- package/dist/report/components/attempt-detail/compute.d.ts +2 -2
- package/dist/report/components/attempt-detail/content.cjs +1 -0
- package/dist/report/components/attempt-detail/content.cjs.map +1 -1
- package/dist/report/components/attempt-detail/validate.cjs +3 -2
- package/dist/report/components/attempt-detail/validate.cjs.map +1 -1
- package/dist/report/components/summaries/index.cjs +5 -1
- package/dist/report/components/summaries/index.cjs.map +1 -1
- package/dist/report/definition/primitives/conversation.cjs +7 -0
- package/dist/report/definition/primitives/conversation.cjs.map +1 -1
- package/dist/report/definition/primitives/conversation.d.cts +2 -0
- package/dist/report/definition/primitives/conversation.d.mts +2 -0
- package/dist/report/definition/primitives/conversation.d.ts +2 -0
- package/dist/report/definition/primitives/turn-trace.cjs +53 -3
- package/dist/report/definition/primitives/turn-trace.cjs.map +1 -1
- package/dist/report/react/styles.css +4 -0
- package/dist/runner/attempt-resources.cjs +60 -0
- package/dist/runner/attempt-resources.cjs.map +1 -0
- package/dist/runner/attempt-resources.d.cts +13 -0
- package/dist/runner/attempt-resources.d.mts +13 -0
- package/dist/runner/attempt-resources.d.ts +13 -0
- package/dist/runner/attempt-resources.js +6 -0
- package/dist/runner/attempt-resources.js.map +1 -0
- package/dist/runner/attempt.cjs +37 -3
- package/dist/runner/attempt.cjs.map +1 -1
- package/dist/sandbox/backend.cjs +32 -2
- package/dist/sandbox/backend.cjs.map +1 -1
- package/dist/sandbox/backend.d.cts +12 -1
- package/dist/sandbox/backend.d.mts +12 -1
- package/dist/sandbox/backend.d.ts +12 -1
- package/dist/sandbox/backend.js +28 -22
- package/dist/sandbox/docker.cjs +140 -0
- package/dist/sandbox/docker.cjs.map +1 -1
- package/dist/sandbox/docker.d.cts +3 -1
- package/dist/sandbox/docker.d.mts +3 -1
- package/dist/sandbox/docker.d.ts +3 -1
- package/dist/sandbox/e2b.cjs +42 -0
- package/dist/sandbox/e2b.cjs.map +1 -1
- package/dist/sandbox/e2b.d.cts +2 -0
- package/dist/sandbox/e2b.d.mts +2 -0
- package/dist/sandbox/e2b.d.ts +2 -0
- package/dist/sandbox/local.cjs +64 -0
- package/dist/sandbox/local.cjs.map +1 -1
- package/dist/sandbox/local.d.cts +3 -1
- package/dist/sandbox/local.d.mts +3 -1
- package/dist/sandbox/local.d.ts +3 -1
- package/dist/sandbox/managed-process.cjs +49 -0
- package/dist/sandbox/managed-process.cjs.map +1 -0
- package/dist/sandbox/managed-process.d.cts +11 -0
- package/dist/sandbox/managed-process.d.mts +11 -0
- package/dist/sandbox/managed-process.d.ts +11 -0
- package/dist/sandbox/managed-process.js +6 -0
- package/dist/sandbox/managed-process.js.map +1 -0
- package/dist/sandbox/types.cjs.map +1 -1
- package/dist/sandbox/types.d.cts +24 -0
- package/dist/sandbox/types.d.mts +24 -0
- package/dist/sandbox/types.d.ts +24 -0
- package/dist/sandbox/vercel.cjs +1 -0
- package/dist/sandbox/vercel.cjs.map +1 -1
- package/dist/sandbox/vercel.d.cts +1 -0
- package/dist/sandbox/vercel.d.mts +1 -0
- package/dist/sandbox/vercel.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AttemptResourceRegistry } from "../types.js";
|
|
2
|
+
export declare class ManagedAttemptResources implements AttemptResourceRegistry {
|
|
3
|
+
private readonly entries;
|
|
4
|
+
private closing;
|
|
5
|
+
private releaseReceipt?;
|
|
6
|
+
acquire<T>(acquire: () => Promise<T>, lifecycle: {
|
|
7
|
+
shutdown: (resource: T, signal: AbortSignal) => Promise<void>;
|
|
8
|
+
release: (resource: T, signal: AbortSignal) => Promise<void>;
|
|
9
|
+
}): Promise<T>;
|
|
10
|
+
shutdownAll(signal: AbortSignal): Promise<void>;
|
|
11
|
+
releaseAll(signal: AbortSignal): Promise<void>;
|
|
12
|
+
private releaseEntries;
|
|
13
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createRequire as __niceevalCreateRequire } from "node:module";
|
|
2
|
+
const __niceevalRequire = __niceevalCreateRequire(import.meta.url);
|
|
3
|
+
const __niceevalCanonical = __niceevalRequire("./attempt-resources.cjs");
|
|
4
|
+
const __niceevalExport0 = __niceevalCanonical["ManagedAttemptResources"];
|
|
5
|
+
export { __niceevalExport0 as ManagedAttemptResources };
|
|
6
|
+
//# sourceMappingURL=attempt-resources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attempt-resources.js","sources":[],"names":[],"mappings":""}
|
package/dist/runner/attempt.cjs
CHANGED
|
@@ -15,6 +15,8 @@ const registry_ts_1 = require("../sandbox/registry.cjs");
|
|
|
15
15
|
const paths_ts_1 = require("../sandbox/paths.cjs");
|
|
16
16
|
const request_executor_ts_1 = require("../sandbox/request-executor.cjs");
|
|
17
17
|
const cleanup_timeout_ts_1 = require("./cleanup-timeout.cjs");
|
|
18
|
+
const attempt_resources_ts_1 = require("./attempt-resources.cjs");
|
|
19
|
+
const attempt_resources_ts_2 = require("../context/attempt-resources.cjs");
|
|
18
20
|
const timeout_ts_1 = require("./timeout.cjs");
|
|
19
21
|
const deadline_ts_1 = require("../sandbox/deadline.cjs");
|
|
20
22
|
const failure_class_ts_1 = require("../shared/failure-class.cjs");
|
|
@@ -83,6 +85,15 @@ function runAttemptEffect(a, opts, sandboxSem, { buildLocators, runTiming, paren
|
|
|
83
85
|
// an internal capability until the Record producer seals its own Attachments.
|
|
84
86
|
const sourceRegistry = (0, source_loc_ts_1.createSourceRegistry)(process.cwd());
|
|
85
87
|
const sourceCapture = (0, source_producer_ts_1.createRunnerAttemptSourceCapture)(sourceRegistry);
|
|
88
|
+
const attemptResources = new attempt_resources_ts_1.ManagedAttemptResources();
|
|
89
|
+
let attemptResourceReleaseFailureReported = false;
|
|
90
|
+
const reportAttemptResourceReleaseFailure = (error) => {
|
|
91
|
+
if (attemptResourceReleaseFailureReported)
|
|
92
|
+
return;
|
|
93
|
+
attemptResourceReleaseFailureReported = true;
|
|
94
|
+
declareFailure("agent.teardown", error);
|
|
95
|
+
diagnostics.push(teardownDiagnostic("agent.teardown", error));
|
|
96
|
+
};
|
|
86
97
|
const base = {
|
|
87
98
|
id: evalDef.id,
|
|
88
99
|
description: evalDef.description,
|
|
@@ -767,6 +778,13 @@ function runAttemptEffect(a, opts, sandboxSem, { buildLocators, runTiming, paren
|
|
|
767
778
|
.catch(() => { });
|
|
768
779
|
}));
|
|
769
780
|
}
|
|
781
|
+
// Cross-send adapter processes belong to the Attempt Scope, not to the
|
|
782
|
+
// Promise-shaped body. On timeout the bridge is intentionally sealed
|
|
783
|
+
// before that Promise's finally continuation can submit more work, so a
|
|
784
|
+
// scope finalizer must remain the unconditional release owner.
|
|
785
|
+
yield* effect_1.Effect.addFinalizer(() => (0, cleanup_timeout_ts_1.cleanupCallback)((cleanupSignal) => attemptResources.releaseAll(cleanupSignal)).pipe(effect_1.Effect.catchAll((error) => effect_1.Effect.sync(() => {
|
|
786
|
+
reportAttemptResourceReleaseFailure(error);
|
|
787
|
+
}))));
|
|
770
788
|
// The legacy setup/diff body remains Promise-shaped, while OTLP waits,
|
|
771
789
|
// author execution, and sealing run in this Attempt's Effect scope. No
|
|
772
790
|
// nested runtime is introduced.
|
|
@@ -797,6 +815,8 @@ function runAttemptEffect(a, opts, sandboxSem, { buildLocators, runTiming, paren
|
|
|
797
815
|
declareFailure,
|
|
798
816
|
isDeadlineTimedOut: () => timedOut,
|
|
799
817
|
layerCleanups,
|
|
818
|
+
attemptResources,
|
|
819
|
+
reportAttemptResourceReleaseFailure,
|
|
800
820
|
registerEvidence: (getEvents, getUsage, getRetryAttempts) => {
|
|
801
821
|
liveEvents = getEvents;
|
|
802
822
|
liveUsage = getUsage;
|
|
@@ -1210,8 +1230,9 @@ async function runAttemptBody(a, config, t0, base, res, parentSignal) {
|
|
|
1210
1230
|
const sandbox = usesSandbox
|
|
1211
1231
|
? withCommandTiming(rawSandbox, recorder, getPhase, commands, sensitiveValues, res.deadlineAt, observabilityRuntime, signal)
|
|
1212
1232
|
: rawSandbox;
|
|
1233
|
+
const { attemptResources, reportAttemptResourceReleaseFailure } = res;
|
|
1213
1234
|
// Direct Agent 只拿基础 ctx;Sandbox Agent 才拿带真实 Sandbox 的扩展 ctx。
|
|
1214
|
-
const attemptCtx = {
|
|
1235
|
+
const attemptCtx = (0, attempt_resources_ts_2.bindAttemptResources)({
|
|
1215
1236
|
signal,
|
|
1216
1237
|
evalId: evalDef.id,
|
|
1217
1238
|
attempt: { id: evalDef.id, index: attempt },
|
|
@@ -1229,8 +1250,8 @@ async function runAttemptBody(a, config, t0, base, res, parentSignal) {
|
|
|
1229
1250
|
diagnostic: feedback.diagnostic,
|
|
1230
1251
|
// log 是 progress({ message }) 的别名,不是第二条通道(见 AgentContext.log 注释)。
|
|
1231
1252
|
log,
|
|
1232
|
-
};
|
|
1233
|
-
const sandboxAttemptCtx = { ...attemptCtx, sandbox };
|
|
1253
|
+
}, attemptResources);
|
|
1254
|
+
const sandboxAttemptCtx = (0, attempt_resources_ts_2.bindAttemptResources)({ ...attemptCtx, sandbox }, attemptResources);
|
|
1234
1255
|
const commandTarget = (0, operations_ts_1.createSandboxCommandTarget)(sandbox);
|
|
1235
1256
|
/** agent.setup 时点已走到(未声明 setup 也置位)——agent.teardown 的触发条件(成对触发规则)。 */
|
|
1236
1257
|
let agentSetupReached = false;
|
|
@@ -1428,6 +1449,7 @@ async function runAttemptBody(a, config, t0, base, res, parentSignal) {
|
|
|
1428
1449
|
// 走的生命周期链是同一个函数,两条链的决议序各自单源在 send-failures.ts / failure-class.ts。
|
|
1429
1450
|
experimentClassifier: run.classifyFailure,
|
|
1430
1451
|
sourceRegistry,
|
|
1452
|
+
resources: attemptResources,
|
|
1431
1453
|
nextSourceOrder: sourceCapture.nextSourceOrder,
|
|
1432
1454
|
// Pass / Score share the same Assert-first entry runtime. Their
|
|
1433
1455
|
// independent folds are both derived only after this Attempt seals.
|
|
@@ -1847,6 +1869,18 @@ async function runAttemptBody(a, config, t0, base, res, parentSignal) {
|
|
|
1847
1869
|
})
|
|
1848
1870
|
.catch(() => { });
|
|
1849
1871
|
}
|
|
1872
|
+
try {
|
|
1873
|
+
await assertFirst.requestEffect((0, cleanup_timeout_ts_1.cleanupCallback)((cleanupSignal) => attemptResources.releaseAll(cleanupSignal)));
|
|
1874
|
+
}
|
|
1875
|
+
catch (error) {
|
|
1876
|
+
// An interrupted body can resume its Promise finally only after the
|
|
1877
|
+
// Effect bridge has closed. The Scope finalizer above still performs the
|
|
1878
|
+
// release; this named closure is therefore lifecycle control, not a
|
|
1879
|
+
// second teardown failure.
|
|
1880
|
+
if (!(error instanceof api_ts_1.AssertionAuthoringClosedError && error.reason === "attempt-interrupted")) {
|
|
1881
|
+
reportAttemptResourceReleaseFailure(error);
|
|
1882
|
+
}
|
|
1883
|
+
}
|
|
1850
1884
|
for (const lifecycle of evalPluginLifecycles.slice(0, activatedEvalPlugins).reverse()) {
|
|
1851
1885
|
if (lifecycle.teardown === undefined)
|
|
1852
1886
|
continue;
|