@sema-agent/core 1.284.0 → 1.285.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/core/runner/call-cap.d.ts +6 -0
- package/dist/core/runner/call-cap.d.ts.map +1 -1
- package/dist/core/runner/call-cap.js +19 -7
- package/dist/core/runner/call-cap.js.map +1 -1
- package/dist/core/runner/runtask.d.ts.map +1 -1
- package/dist/core/runner/runtask.js +21 -3
- package/dist/core/runner/runtask.js.map +1 -1
- package/dist/core/trace.d.ts +16 -0
- package/dist/core/trace.d.ts.map +1 -1
- package/dist/core/trace.js.map +1 -1
- package/dist/core/version.d.ts +2 -0
- package/dist/core/version.d.ts.map +1 -0
- package/dist/core/version.js +15 -0
- package/dist/core/version.js.map +1 -0
- package/dist/engine/harness/agent-harness.d.ts +1 -0
- package/dist/engine/harness/agent-harness.d.ts.map +1 -1
- package/dist/engine/harness/agent-harness.js.map +1 -1
- package/dist/engine/loop/agent-loop.js +1 -0
- package/dist/engine/loop/agent-loop.js.map +1 -1
- package/dist/engine/loop/types.d.ts +1 -0
- package/dist/engine/loop/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -7,6 +7,9 @@ export declare const WRITEOUT_CUSHION_MIN_MS = 10000;
|
|
|
7
7
|
export declare const CUSHION_LATENCY_FACTOR = 2;
|
|
8
8
|
export declare const CUSHION_BUDGET_FRACTION = 0.4;
|
|
9
9
|
export declare const FINAL_WRITEOUT_MARGIN_MS = 5000;
|
|
10
|
+
export declare const TTFT_WINDOW_FACTOR = 2;
|
|
11
|
+
export declare const TTFT_PRIOR_MS = 5000;
|
|
12
|
+
export declare const WRITEOUT_WINDOW_NO_SAMPLE_FLOOR_MS = 1000;
|
|
10
13
|
export declare const TOOL_CUT_WRITEOUT_RESERVE_MS = 5000;
|
|
11
14
|
export declare const TOOL_CUT_DEADLINE_LAG_MS = 2500;
|
|
12
15
|
export declare const TOOL_CUT_MIN_WINDOW_MS = 10000;
|
|
@@ -18,6 +21,7 @@ export interface CallCapState {
|
|
|
18
21
|
emaToolMs?: number;
|
|
19
22
|
peakCallMs?: number;
|
|
20
23
|
peakToolMs?: number;
|
|
24
|
+
ttftEwma?: number;
|
|
21
25
|
last?: {
|
|
22
26
|
cap: number;
|
|
23
27
|
remainingMs: number;
|
|
@@ -39,10 +43,12 @@ export interface CallCapRef {
|
|
|
39
43
|
reasoningObserved?: boolean;
|
|
40
44
|
}
|
|
41
45
|
export declare function effectiveCushionMs(ref: CallCapRef): number | undefined;
|
|
46
|
+
export declare function minLiveWriteoutWindowMs(state: CallCapState): number;
|
|
42
47
|
export declare function softExecDeadlineMs(ref: CallCapRef): number | undefined;
|
|
43
48
|
export declare function createCallCapRef(): CallCapRef;
|
|
44
49
|
export declare function toolCutDeadlineMs(ref: CallCapRef, nowMs: number): number | undefined;
|
|
45
50
|
export declare function recordCallSample(state: CallCapState, outputTokens: number, latencyMs: number): void;
|
|
51
|
+
export declare function recordTtftSample(state: CallCapState, ttftMs: number): void;
|
|
46
52
|
export declare function recordToolSample(state: CallCapState, durationMs: number): void;
|
|
47
53
|
export declare function computeCallCap(ref: CallCapRef, nowMs: number, thinkingActive: boolean): number | undefined;
|
|
48
54
|
export declare function estimateCycleMs(state: CallCapState): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-cap.d.ts","sourceRoot":"","sources":["../../../src/core/runner/call-cap.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAmB1C,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAC9C,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAU9C,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAGxC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,eAAO,MAAM,wBAAwB,OAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"call-cap.d.ts","sourceRoot":"","sources":["../../../src/core/runner/call-cap.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAmB1C,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAC9C,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAU9C,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAGxC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAW9C,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAOpC,eAAO,MAAM,aAAa,OAAQ,CAAC;AAQnC,eAAO,MAAM,kCAAkC,OAAQ,CAAC;AAmBxD,eAAO,MAAM,4BAA4B,OAAQ,CAAC;AAOlD,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAO9C,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAW7C,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAM7C,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,MAAM,WAAW,YAAY;IAE3B,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,UAAU,CAAC,EAAE,MAAM,CAAC;IAKpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,IAAI,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,OAAO,CAAA;KAAE,CAAC;CAC1F;AAMD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,YAAY,CAAC;IAEpB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,YAAY,CAAC,EAAE,OAAO,CAAC;IAOvB,eAAe,CAAC,EAAE,MAAM,CAAC;IAIzB,OAAO,CAAC,EAAE,MAAM,CAAC;IAOjB,SAAS,CAAC,EAAE,MAAM,CAAC;IAOnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,UAAU,CAAC,EAAE,MAAM,CAAC;IAIpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAUlB,eAAe,CAAC,EAAE,MAAM,CAAC;IAWzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AA2BD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAYtE;AAWD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAInE;AAUD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAKtE;AAED,wBAAgB,gBAAgB,IAAI,UAAU,CAE7C;AAiCD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAcpF;AAQD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CASnG;AAUD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAI1E;AAGD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAK9E;AAUD,wBAAgB,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CA8B1G;AAUD,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAQ3D"}
|
|
@@ -11,6 +11,9 @@ export const WRITEOUT_CUSHION_MIN_MS = 10_000;
|
|
|
11
11
|
export const CUSHION_LATENCY_FACTOR = 2;
|
|
12
12
|
export const CUSHION_BUDGET_FRACTION = 0.4;
|
|
13
13
|
export const FINAL_WRITEOUT_MARGIN_MS = 5_000;
|
|
14
|
+
export const TTFT_WINDOW_FACTOR = 2;
|
|
15
|
+
export const TTFT_PRIOR_MS = 5_000;
|
|
16
|
+
export const WRITEOUT_WINDOW_NO_SAMPLE_FLOOR_MS = 1_000;
|
|
14
17
|
export const TOOL_CUT_WRITEOUT_RESERVE_MS = 5_000;
|
|
15
18
|
export const TOOL_CUT_DEADLINE_LAG_MS = 2_500;
|
|
16
19
|
export const TOOL_CUT_MIN_WINDOW_MS = 10_000;
|
|
@@ -22,13 +25,16 @@ export function effectiveCushionMs(ref) {
|
|
|
22
25
|
const base = ref.cushionMs;
|
|
23
26
|
if (base === undefined)
|
|
24
27
|
return undefined;
|
|
28
|
+
const budgetCapMs = ref.budgetMs !== undefined ? Math.floor(ref.budgetMs * CUSHION_BUDGET_FRACTION) : Infinity;
|
|
25
29
|
const observedCallMs = Math.max(ref.state.peakCallMs ?? 0, ref.state.emaCallMs ?? 0);
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return
|
|
30
|
+
const dynamic = observedCallMs > 0 ? Math.min(CUSHION_LATENCY_FACTOR * observedCallMs, budgetCapMs) : 0;
|
|
31
|
+
const ttftFloor = Math.min(FINAL_WRITEOUT_MARGIN_MS + TTFT_WINDOW_FACTOR * (ref.state.ttftEwma ?? TTFT_PRIOR_MS), budgetCapMs);
|
|
32
|
+
return Math.max(base, Math.ceil(dynamic), Math.ceil(ttftFloor));
|
|
33
|
+
}
|
|
34
|
+
export function minLiveWriteoutWindowMs(state) {
|
|
35
|
+
return state.ttftEwma !== undefined
|
|
36
|
+
? Math.ceil(TTFT_WINDOW_FACTOR * state.ttftEwma)
|
|
37
|
+
: WRITEOUT_WINDOW_NO_SAMPLE_FLOOR_MS;
|
|
32
38
|
}
|
|
33
39
|
export function softExecDeadlineMs(ref) {
|
|
34
40
|
const d = ref.deadlineMs;
|
|
@@ -45,7 +51,8 @@ export function toolCutDeadlineMs(ref, nowMs) {
|
|
|
45
51
|
if (soft === undefined)
|
|
46
52
|
return undefined;
|
|
47
53
|
const raw = Math.max(soft + TOOL_CUT_DEADLINE_LAG_MS, nowMs + TOOL_CUT_MIN_WINDOW_MS);
|
|
48
|
-
const
|
|
54
|
+
const ttftReserve = ref.state.ttftEwma !== undefined ? Math.ceil(TTFT_WINDOW_FACTOR * ref.state.ttftEwma) : 0;
|
|
55
|
+
const hardCap = ref.deadlineMs - FINAL_WRITEOUT_MARGIN_MS - Math.max(TOOL_CUT_WRITEOUT_RESERVE_MS, ttftReserve);
|
|
49
56
|
const clamped = Math.min(raw, hardCap);
|
|
50
57
|
return clamped > nowMs ? clamped : nowMs + TOOL_CUT_FLOOR_GRACE_MS;
|
|
51
58
|
}
|
|
@@ -58,6 +65,11 @@ export function recordCallSample(state, outputTokens, latencyMs) {
|
|
|
58
65
|
state.emaTokPerSec === undefined ? tps : EWMA_ALPHA * tps + (1 - EWMA_ALPHA) * state.emaTokPerSec;
|
|
59
66
|
}
|
|
60
67
|
}
|
|
68
|
+
export function recordTtftSample(state, ttftMs) {
|
|
69
|
+
if (Number.isFinite(ttftMs) && ttftMs >= 0) {
|
|
70
|
+
state.ttftEwma = state.ttftEwma === undefined ? ttftMs : EWMA_ALPHA * ttftMs + (1 - EWMA_ALPHA) * state.ttftEwma;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
61
73
|
export function recordToolSample(state, durationMs) {
|
|
62
74
|
if (durationMs > 0) {
|
|
63
75
|
state.emaToolMs = state.emaToolMs === undefined ? durationMs : EWMA_ALPHA * durationMs + (1 - EWMA_ALPHA) * state.emaToolMs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-cap.js","sourceRoot":"","sources":["../../../src/core/runner/call-cap.ts"],"names":[],"mappings":"AAeA,MAAM,UAAU,GAAG,GAAG,CAAC;AAEvB,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAE7C,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AAEnC,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEvC,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAO1C,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAQvC,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAC9C,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAU9C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAGxC,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAE3C,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"call-cap.js","sourceRoot":"","sources":["../../../src/core/runner/call-cap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtask.d.ts","sourceRoot":"","sources":["../../../src/core/runner/runtask.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAoB,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAQL,KAAK,UAAU,EAEf,KAAK,eAAe,EACpB,KAAK,YAAY,EAGjB,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"runtask.d.ts","sourceRoot":"","sources":["../../../src/core/runner/runtask.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AgentHarness, DEFAULT_COMPACTION_SETTINGS, uuidv7 } from "../../internal/harness.js";
|
|
2
2
|
import { CheckpointError, BINDING_CHECKPOINT_VERSION, checkpointVersionOf, MAX_SUPPORTED_CHECKPOINT_VERSION, remainingBudgetMicroUsd, validatePendingSteer, winnerFromOutcome, } from "../checkpoint-store.js";
|
|
3
|
-
import { effectiveCushionMs, estimateCycleMs, recordCallSample, recordToolSample, writeoutCushionMs } from "./call-cap.js";
|
|
3
|
+
import { effectiveCushionMs, estimateCycleMs, minLiveWriteoutWindowMs, recordCallSample, recordToolSample, recordTtftSample, softExecDeadlineMs, writeoutCushionMs } from "./call-cap.js";
|
|
4
|
+
import { engineVersion } from "../version.js";
|
|
4
5
|
import { DEFAULT_COMPACTION_INSTRUCTIONS, createRapidRefillState, maybeCompact, nextTrimForceBackoff, recordCompactionAndCheckRapidRefill } from "../auto-compaction.js";
|
|
5
6
|
import { ASK_USER_QUESTION_TOOL_NAME } from "../ask-question.js";
|
|
6
7
|
import { computeCostMicroUsd, modelCostToPricing } from "../pricing.js";
|
|
@@ -796,7 +797,7 @@ export class Runner {
|
|
|
796
797
|
const writeFamilyOf = (name) => writeFamilyByName.get(name) ?? writeFamilyOfCanonical(canonicalToolName(name));
|
|
797
798
|
const toolStartAt = new Map();
|
|
798
799
|
const startedToolCallIds = new Set();
|
|
799
|
-
emitTrace(tracer, () => ({ kind: "task.start", version: 1, taskId, model: prepared.model.id, ts: taskStart }));
|
|
800
|
+
emitTrace(tracer, () => ({ kind: "task.start", version: 1, taskId, model: prepared.model.id, engineVersion: engineVersion(), ts: taskStart }));
|
|
800
801
|
emitTrace(tracer, () => ({
|
|
801
802
|
kind: "prompt.assembled",
|
|
802
803
|
version: 1,
|
|
@@ -1007,6 +1008,9 @@ export class Runner {
|
|
|
1007
1008
|
const capLast = prepared.callCapRef?.state.last;
|
|
1008
1009
|
if (prepared.callCapRef) {
|
|
1009
1010
|
recordCallSample(prepared.callCapRef.state, u.output || 0, callStartAt !== undefined ? callEndAt - callStartAt : 0);
|
|
1011
|
+
if (callStartAt !== undefined && firstTokenAt !== undefined) {
|
|
1012
|
+
recordTtftSample(prepared.callCapRef.state, firstTokenAt - callStartAt);
|
|
1013
|
+
}
|
|
1010
1014
|
prepared.callCapRef.state.last = undefined;
|
|
1011
1015
|
}
|
|
1012
1016
|
emitTrace(tracer, () => ({
|
|
@@ -1434,7 +1438,18 @@ export class Runner {
|
|
|
1434
1438
|
malformedToolUse: {},
|
|
1435
1439
|
thinkingOnly: {},
|
|
1436
1440
|
degenerateOutput: { detect: (m) => m.errorMessage === DEGENERATE_MESSAGE },
|
|
1437
|
-
walltimeCutoff: {
|
|
1441
|
+
walltimeCutoff: {
|
|
1442
|
+
detect: (m) => m.errorMessage === WALLTIME_CUTOFF_MESSAGE,
|
|
1443
|
+
hasLiveWriteoutWindow: () => {
|
|
1444
|
+
const ref = prepared.callCapRef;
|
|
1445
|
+
if (ref === undefined)
|
|
1446
|
+
return true;
|
|
1447
|
+
const soft = softExecDeadlineMs(ref);
|
|
1448
|
+
if (soft === undefined)
|
|
1449
|
+
return true;
|
|
1450
|
+
return soft - Date.now() >= minLiveWriteoutWindowMs(ref.state);
|
|
1451
|
+
},
|
|
1452
|
+
},
|
|
1438
1453
|
promptTooLong: {
|
|
1439
1454
|
recover: async () => {
|
|
1440
1455
|
if (!(spec.compaction?.enabled ?? true))
|
|
@@ -2187,6 +2202,9 @@ export class Runner {
|
|
|
2187
2202
|
costMicroUsd: stats.costMicroUsd,
|
|
2188
2203
|
durationMs: Date.now() - taskStart,
|
|
2189
2204
|
...(prepared.outputRef.set ? { hasStructuredOutput: true } : {}),
|
|
2205
|
+
...(stats.mechanisms !== undefined
|
|
2206
|
+
? { mechanisms: (({ repetitionEvents: _events, ...scalars }) => scalars)(stats.mechanisms) }
|
|
2207
|
+
: {}),
|
|
2190
2208
|
ts: Date.now(),
|
|
2191
2209
|
}));
|
|
2192
2210
|
setResult(result);
|