zelari-code 2.53.0 → 2.54.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/cli/acp/command.js +5 -3
- package/dist/cli/acp/command.js.map +1 -1
- package/dist/cli/acp/framing.js +151 -19
- package/dist/cli/acp/framing.js.map +1 -1
- package/dist/cli/acp/protocol.js +4 -2
- package/dist/cli/acp/protocol.js.map +1 -1
- package/dist/cli/acp/server.js +6 -2
- package/dist/cli/acp/server.js.map +1 -1
- package/dist/cli/budget/cacheHitReport.js +94 -0
- package/dist/cli/budget/cacheHitReport.js.map +1 -0
- package/dist/cli/budget/messageUsage.js +77 -0
- package/dist/cli/budget/messageUsage.js.map +1 -0
- package/dist/cli/headless/runOneTurn.js +68 -18
- package/dist/cli/headless/runOneTurn.js.map +1 -1
- package/dist/cli/hooks/useChatTurn.js +76 -16
- package/dist/cli/hooks/useChatTurn.js.map +1 -1
- package/dist/cli/main.bundled.js +453 -59
- package/dist/cli/main.bundled.js.map +4 -4
- package/dist/cli/metrics.js.map +1 -1
- package/dist/cli/provider/anthropic.js +42 -6
- package/dist/cli/provider/anthropic.js.map +1 -1
- package/dist/cli/provider/chatgpt.js +4 -0
- package/dist/cli/provider/chatgpt.js.map +1 -1
- package/dist/cli/provider/openai-compatible.js +25 -3
- package/dist/cli/provider/openai-compatible.js.map +1 -1
- package/dist/cli/provider/responsesApi.js +4 -0
- package/dist/cli/provider/responsesApi.js.map +1 -1
- package/dist/cli/utils/doctor.js +30 -0
- package/dist/cli/utils/doctor.js.map +1 -1
- package/package.json +2 -2
|
@@ -28,7 +28,7 @@ import { spineOrchestrationNote } from '../orchestration/facts.js';
|
|
|
28
28
|
import { flushMemorySpineNotes, memorySinkFor } from '../memory/spineTelemetry.js';
|
|
29
29
|
import { emitEvent, resolveHeadlessCwd, resolveHeadlessKey } from '../headless.js';
|
|
30
30
|
import { isKrakenMode } from '../mode.js';
|
|
31
|
-
import { buildSystemPromptSplit, systemMessagesFromSplit, getAllTools, KRAKEN_IDENTITY_MODULE, KRAKEN_LEAD_PLAYBOOK_MODULE, buildLanguagePolicyModuleFor } from '@zelari/core/skills';
|
|
31
|
+
import { buildSystemPromptSplit, systemMessagesFromSplit, assembleRequestMessages, isTrailingContextContent, resolvePromptLayout, getAllTools, KRAKEN_IDENTITY_MODULE, KRAKEN_LEAD_PLAYBOOK_MODULE, buildLanguagePolicyModuleFor } from '@zelari/core/skills';
|
|
32
32
|
import { envNumber } from '../utils/envNumber.js';
|
|
33
33
|
import { createStreamScrubber } from '../utils/streamScrub.js';
|
|
34
34
|
import { promises as fs } from 'node:fs';
|
|
@@ -46,6 +46,7 @@ import { nativePackEnabled } from '../kraken/nativeVerification.js';
|
|
|
46
46
|
import { runAdvisoryVerifierReview } from '../kraken/verifierLifecycle.js';
|
|
47
47
|
import { buildModelContext, resourceStatusTail } from '../budget/modelContextBuilder.js';
|
|
48
48
|
import { recordCompactionMetrics } from '../metrics.js';
|
|
49
|
+
import { flushMessageUsage, recordMessageUsage } from '../budget/messageUsage.js';
|
|
49
50
|
import { openHeadlessSpine, seedHeadlessModelHistory, sessionStartedEvent } from '../headlessSpine.js';
|
|
50
51
|
// HarnessState inc.3: shared final-NDJSON read-model emitter (ADR-0023 lens)
|
|
51
52
|
// for this host + council/mission/kraken-graph (H1 inc.2 → inc.3).
|
|
@@ -352,7 +353,15 @@ export async function runOneTurn(opts, provider, model, providerStream, extras)
|
|
|
352
353
|
parameters: t.function.parameters,
|
|
353
354
|
}));
|
|
354
355
|
const toolNames = tools.map((t) => t.name);
|
|
356
|
+
// Header/measurement shape: `[stable, volatile]` exactly as before M2.1 —
|
|
357
|
+
// the budget pipeline measures occupancy and fingerprints the system surface
|
|
358
|
+
// from this array, so keeping the pre-M2 bytes here leaves compaction policy
|
|
359
|
+
// and cache anchoring untouched. The WIRE shape is `wireSplit` below.
|
|
355
360
|
let systemMessages;
|
|
361
|
+
// M2.1 wire split: the request layout moves the volatile segment out of the
|
|
362
|
+
// system prefix (see `initialMessages`). In the degraded fallback the single
|
|
363
|
+
// fallback system message becomes `stable` with an empty volatile part.
|
|
364
|
+
let wireSplit;
|
|
356
365
|
let languageDirectiveContent;
|
|
357
366
|
try {
|
|
358
367
|
languageDirectiveContent = buildLanguagePolicyModuleFor(opts.task).content;
|
|
@@ -459,7 +468,12 @@ export async function runOneTurn(opts, provider, model, providerStream, extras)
|
|
|
459
468
|
agentSkillConfigs: [],
|
|
460
469
|
},
|
|
461
470
|
});
|
|
462
|
-
|
|
471
|
+
// Measurement/header shape (pre-M2 bytes): occupancy + header fingerprint.
|
|
472
|
+
systemMessages = systemMessagesFromSplit(split, { includeVolatile: true });
|
|
473
|
+
// Wire shape (M2.1): the volatile segment is no longer a second system
|
|
474
|
+
// message — `initialMessages` places it as an EPHEMERAL trailing user
|
|
475
|
+
// message after the history (stable-only system prefix = cacheable).
|
|
476
|
+
wireSplit = split;
|
|
463
477
|
}
|
|
464
478
|
catch {
|
|
465
479
|
// Minimal fallback if buildSystemPromptSplit fails — still include IP secrecy.
|
|
@@ -476,6 +490,9 @@ export async function runOneTurn(opts, provider, model, providerStream, extras)
|
|
|
476
490
|
].join('\n'),
|
|
477
491
|
},
|
|
478
492
|
];
|
|
493
|
+
// Same single-message shape on the wire, expressed as a split so the
|
|
494
|
+
// request assembly stays uniform (no trailing context in this path).
|
|
495
|
+
wireSplit = { stable: systemMessages[0].content, volatile: '' };
|
|
479
496
|
}
|
|
480
497
|
// Exit-1/E1.2: prior turns come from the session spine (see
|
|
481
498
|
// seedHeadlessModelHistory above) — user/assistant only, assistant
|
|
@@ -579,6 +596,20 @@ export async function runOneTurn(opts, provider, model, providerStream, extras)
|
|
|
579
596
|
for await (const event of harness.run()) {
|
|
580
597
|
progressRuntime.observe(event);
|
|
581
598
|
spine.observe(event);
|
|
599
|
+
// M1.1 (cache-hit-rate plan): the headless path used to persist NO
|
|
600
|
+
// per-call usage at all (only compaction counters), so metrics.jsonl
|
|
601
|
+
// stayed cache-blind for every autonomous run. One `kind:'message'`
|
|
602
|
+
// row per LLM call, carrying the provider-verified cache split.
|
|
603
|
+
if (event.type === 'message_end' && event.usage) {
|
|
604
|
+
recordMessageUsage({
|
|
605
|
+
sessionId: passSessionId,
|
|
606
|
+
provider,
|
|
607
|
+
model,
|
|
608
|
+
promptTokens: event.usage.promptTokens,
|
|
609
|
+
completionTokens: event.usage.completionTokens,
|
|
610
|
+
cachedPromptTokens: event.usage.cachedPromptTokens ?? 0,
|
|
611
|
+
});
|
|
612
|
+
}
|
|
582
613
|
if (event.type === 'message_start') {
|
|
583
614
|
scrub.reset();
|
|
584
615
|
}
|
|
@@ -634,6 +665,9 @@ export async function runOneTurn(opts, provider, model, providerStream, extras)
|
|
|
634
665
|
};
|
|
635
666
|
}
|
|
636
667
|
const buildProgress = readBuildProgress();
|
|
668
|
+
// M1.1: drain the metrics queue before this call returns — the headless
|
|
669
|
+
// process must not exit with the last usage row still in memory.
|
|
670
|
+
await flushMessageUsage();
|
|
637
671
|
return {
|
|
638
672
|
finalReason,
|
|
639
673
|
exitCode,
|
|
@@ -658,17 +692,26 @@ export async function runOneTurn(opts, provider, model, providerStream, extras)
|
|
|
658
692
|
},
|
|
659
693
|
});
|
|
660
694
|
progressRuntime.beginTurn();
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
695
|
+
// M2.1 (cache-hit-rate plan): the request seed is assembled by the layout
|
|
696
|
+
// helper — `trailing` (default) = [stable system][history][EPHEMERAL trailing
|
|
697
|
+
// context][task], `legacy` = [stable, volatile system][history][task]. The
|
|
698
|
+
// trailing message exists only in this array (the HTTP body): it must never
|
|
699
|
+
// reach the session spine or the seeded history, or the volatile context
|
|
700
|
+
// would duplicate on every turn.
|
|
701
|
+
const initialMessages = assembleRequestMessages({
|
|
702
|
+
split: wireSplit,
|
|
703
|
+
history: historySeed,
|
|
704
|
+
turn: [
|
|
705
|
+
{
|
|
706
|
+
role: 'user',
|
|
707
|
+
content: effectiveTask,
|
|
708
|
+
...(opts.images && opts.images.length > 0
|
|
709
|
+
? { images: opts.images }
|
|
710
|
+
: {}),
|
|
711
|
+
},
|
|
712
|
+
],
|
|
713
|
+
layout: resolvePromptLayout(),
|
|
714
|
+
}).messages;
|
|
672
715
|
let pass = await runSinglePass(initialMessages, sessionId);
|
|
673
716
|
// E2.2: when strict mode is on and the gate stays blocked after the repair
|
|
674
717
|
// pass, the run closes non-success (dedicated exit code + session status).
|
|
@@ -758,11 +801,18 @@ export async function runOneTurn(opts, provider, model, providerStream, extras)
|
|
|
758
801
|
}
|
|
759
802
|
// Same continuation shape as the write-retry: full prior messages
|
|
760
803
|
// plus a hard user directive, so the model sees what it already did.
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
804
|
+
// M2.1: the previous pass' trailing context is EPHEMERAL — drop it and
|
|
805
|
+
// let the assembler put a fresh one right before the repair directive,
|
|
806
|
+
// instead of carrying a stale volatile snapshot mid-transcript.
|
|
807
|
+
const withSystem = assembleRequestMessages({
|
|
808
|
+
split: wireSplit,
|
|
809
|
+
history: [],
|
|
810
|
+
turn: [
|
|
811
|
+
...pass.messages.filter((m) => m.role !== 'system' && !isTrailingContextContent(m.content)),
|
|
812
|
+
{ role: 'user', content: repairPrompt },
|
|
813
|
+
],
|
|
814
|
+
layout: resolvePromptLayout(),
|
|
815
|
+
}).messages;
|
|
766
816
|
progressRuntime.beginPass(true);
|
|
767
817
|
markRepairTriggered();
|
|
768
818
|
const repair = await runSinglePass(withSystem, `${sessionId}-check-repair`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runOneTurn.js","sourceRoot":"","sources":["../../../src/cli/headless/runOneTurn.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runOneTurn.js","sourceRoot":"","sources":["../../../src/cli/headless/runOneTurn.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { useState, useRef, useCallback } from "react";
|
|
|
4
4
|
import { AgentHarness } from "@zelari/core/harness";
|
|
5
5
|
import { ingestLiveEvent } from "./observationStore.js";
|
|
6
6
|
import { getMetricsLogger, recordCompactionMetrics } from "../metrics.js";
|
|
7
|
+
import { recordMessageUsage } from "../budget/messageUsage.js";
|
|
7
8
|
import { calculateCost } from "../modelPricing.js";
|
|
8
9
|
import { providerFromEnv, providerConfigFor, resolveActiveProvider, } from "../provider/openai-compatible.js";
|
|
9
10
|
import { buildProviderStream } from "../provider/resolveStream.js";
|
|
@@ -32,7 +33,7 @@ import { memorySinkFor } from "../memory/spineTelemetry.js";
|
|
|
32
33
|
import { createPermissionAskHandler } from "./permissionPicker.js";
|
|
33
34
|
import { armPickerTimeout, askUserTimeoutMs } from "./askUserTimeout.js";
|
|
34
35
|
import { defaultPermissionPolicy } from "../safety/toolPermissions.js";
|
|
35
|
-
import { buildSystemPromptSplit,
|
|
36
|
+
import { buildSystemPromptSplit, assembleRequestMessages, resolvePromptLayout, getAllTools, KRAKEN_IDENTITY_MODULE, KRAKEN_LEAD_PLAYBOOK_MODULE, buildLanguagePolicyModuleFor, } from "@zelari/core/skills";
|
|
36
37
|
import { hashStablePrompt } from "../state/fileStateStore.js";
|
|
37
38
|
import { parseClarificationRequest, cleanAgentContent, createBrainEvent, } from "@zelari/core";
|
|
38
39
|
import { createStreamScrubber } from "./streamScrub.js";
|
|
@@ -109,6 +110,15 @@ export function useChatTurn(params) {
|
|
|
109
110
|
let historySeedLen = 0;
|
|
110
111
|
// v1.36.0: system prefix count captured at seed-build time.
|
|
111
112
|
let systemPrefixLen = 0;
|
|
113
|
+
// M2.1: ephemeral trailing-context messages of this request (0 in the
|
|
114
|
+
// `legacy` layout / degraded fallback). Part of the seed — so the
|
|
115
|
+
// finally snapshot must slice them off too, otherwise the volatile
|
|
116
|
+
// segment would re-enter rolling history and duplicate every turn.
|
|
117
|
+
let trailingSeedLen = 0;
|
|
118
|
+
// M2.1: the request seed assembled by the layout helper (trailing layout
|
|
119
|
+
// = [stable system][history][trailing context][user]). Undefined when the
|
|
120
|
+
// builder failed and the fallback system prompt was used.
|
|
121
|
+
let seedMessages;
|
|
112
122
|
// v1.6.0: set true only after the stream loop completes without
|
|
113
123
|
// throwing, so the finally snapshot is skipped on error (a failed
|
|
114
124
|
// turn — provider 500, abort — must not pollute rolling history
|
|
@@ -564,6 +574,12 @@ export function useChatTurn(params) {
|
|
|
564
574
|
// usable system prompt and the turn proceeds.
|
|
565
575
|
// Cache Wars: stable/volatile split so plan/workspace updates do not
|
|
566
576
|
// bust the cached prefix (identity + tools + platform).
|
|
577
|
+
// M2.1 (cache-hit-rate plan): volatile no longer sits BEFORE the
|
|
578
|
+
// history as a second system message — the layout helper moves it to an
|
|
579
|
+
// EPHEMERAL trailing user message after the history, so a workspace /
|
|
580
|
+
// plan / RAG change busts only the request tail. `ZELARI_PROMPT_LAYOUT=legacy`
|
|
581
|
+
// restores the pre-M2 shape.
|
|
582
|
+
const promptLayout = resolvePromptLayout();
|
|
567
583
|
let systemMessages = [];
|
|
568
584
|
let lastStableHash;
|
|
569
585
|
try {
|
|
@@ -597,7 +613,20 @@ export function useChatTurn(params) {
|
|
|
597
613
|
ragContext: undefined,
|
|
598
614
|
});
|
|
599
615
|
lastStableHash = hashStablePrompt(split.stable);
|
|
600
|
-
|
|
616
|
+
// M2.1: full request seed in the selected layout. `historyForModel`
|
|
617
|
+
// is final by now (post-compaction) and the current user turn is the
|
|
618
|
+
// last element, so the ephemeral trailing lands exactly between the
|
|
619
|
+
// history and the new turn.
|
|
620
|
+
const assembled = assembleRequestMessages({
|
|
621
|
+
split,
|
|
622
|
+
history: historyForModel,
|
|
623
|
+
turn: [{ role: "user", content: effectiveUserText }],
|
|
624
|
+
layout: promptLayout,
|
|
625
|
+
});
|
|
626
|
+
seedMessages = assembled.messages;
|
|
627
|
+
systemMessages = assembled.messages.slice(0, assembled.systemCount);
|
|
628
|
+
systemPrefixLen = assembled.systemCount;
|
|
629
|
+
trailingSeedLen = assembled.trailingCount;
|
|
601
630
|
}
|
|
602
631
|
catch {
|
|
603
632
|
// Fallback: identity + platform/shell + tool list. Keeps the turn
|
|
@@ -614,13 +643,20 @@ export function useChatTurn(params) {
|
|
|
614
643
|
].join("\n");
|
|
615
644
|
lastStableHash = hashStablePrompt(fallback);
|
|
616
645
|
systemMessages = [{ role: "system", content: fallback }];
|
|
646
|
+
// No split prompt ⇒ no trailing context: the degraded fallback keeps
|
|
647
|
+
// its single system message (workspace inlined) and seedMessages
|
|
648
|
+
// stays undefined so the harness builds the plain seed below.
|
|
649
|
+
seedMessages = undefined;
|
|
650
|
+
trailingSeedLen = 0;
|
|
617
651
|
}
|
|
618
652
|
// v1.36.0: capture the ACTUAL system prefix length (1 from the
|
|
619
|
-
// fallback builder, 2 from the stable/volatile split) — the
|
|
620
|
-
// snapshot slices on this, fixing the off-by-one that leaked
|
|
621
|
-
// current user message into rolling history when 2 system messages
|
|
622
|
-
// were present.
|
|
623
|
-
|
|
653
|
+
// fallback builder, 2 from the legacy stable/volatile split) — the
|
|
654
|
+
// finally snapshot slices on this, fixing the off-by-one that leaked
|
|
655
|
+
// the current user message into rolling history when 2 system messages
|
|
656
|
+
// were present. M2.1: the split path already recorded the count from
|
|
657
|
+
// the assembled seed (stable-only ⇒ 1 + ephemeral trailing).
|
|
658
|
+
if (seedMessages === undefined)
|
|
659
|
+
systemPrefixLen = systemMessages.length;
|
|
624
660
|
// v0.7.1 (A2): per-turn tool-call budget for single-prompt turns.
|
|
625
661
|
// The harness cap is advisory anti-spam and is clamped by the active
|
|
626
662
|
// ResourcePolicy epoch. ZELARI_MAX_TOOL_CALLS configures that one
|
|
@@ -647,14 +683,19 @@ export function useChatTurn(params) {
|
|
|
647
683
|
// hardcode "openai-compatible" (the transport family) so snapshots
|
|
648
684
|
// and telemetry mislabeled deepseek/glm/minimax routing.
|
|
649
685
|
provider: envConfig.providerId,
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
686
|
+
// M2.1: the seed assembled by the layout helper when the split prompt
|
|
687
|
+
// built (trailing layout = [stable system][history][trailing
|
|
688
|
+
// context][user]); the degraded fallback keeps the plain
|
|
689
|
+
// [system][history][user] shape.
|
|
690
|
+
messages: seedMessages ??
|
|
691
|
+
[
|
|
692
|
+
...systemMessages,
|
|
693
|
+
// v1.8.0: shared rolling history (agent/council/zelari) so short
|
|
694
|
+
// answers bind to prior ---QUESTION--- blocks. Possibly empty
|
|
695
|
+
// when ZELARI_HISTORY_TURNS=0.
|
|
696
|
+
...historyForModel,
|
|
697
|
+
{ role: "user", content: effectiveUserText },
|
|
698
|
+
],
|
|
658
699
|
tools: toolRegistry.toOpenAITools().map((t) => ({
|
|
659
700
|
name: t.function.name,
|
|
660
701
|
description: t.function.description,
|
|
@@ -827,6 +868,21 @@ export function useChatTurn(params) {
|
|
|
827
868
|
totalTokens: event.usage.totalTokens,
|
|
828
869
|
cachedPromptTokens: event.usage.cachedPromptTokens,
|
|
829
870
|
});
|
|
871
|
+
// M1.1 (cache-hit-rate plan): persist the provider-verified
|
|
872
|
+
// usage as its own row, BEFORE it is only folded into the
|
|
873
|
+
// turn-level `kind: 'run'` cost. Without this, metrics.jsonl
|
|
874
|
+
// stayed cache-blind (cachedPromptTokens was never a field)
|
|
875
|
+
// and `--doctor` could not measure a hit rate offline.
|
|
876
|
+
// The session spine still drops usage on message_end — that
|
|
877
|
+
// enrich stays backlog M4.
|
|
878
|
+
recordMessageUsage({
|
|
879
|
+
sessionId,
|
|
880
|
+
provider: envConfig.providerId,
|
|
881
|
+
model: envConfig.model,
|
|
882
|
+
promptTokens: event.usage.promptTokens,
|
|
883
|
+
completionTokens: event.usage.completionTokens,
|
|
884
|
+
cachedPromptTokens: event.usage.cachedPromptTokens ?? 0,
|
|
885
|
+
});
|
|
830
886
|
}
|
|
831
887
|
// Message boundary: seal with a full scrub so the last tokens
|
|
832
888
|
// inside the 16ms window are not dropped, then drain + reset.
|
|
@@ -1044,7 +1100,11 @@ export function useChatTurn(params) {
|
|
|
1044
1100
|
// hardcoded "1 system" dropped the current user message from
|
|
1045
1101
|
// rolling history whenever the builder emitted 2 system
|
|
1046
1102
|
// messages (stable + volatile) and corrupted the cache prefix.
|
|
1047
|
-
|
|
1103
|
+
// M2.1: the seed also carries the EPHEMERAL trailing context
|
|
1104
|
+
// message (trailingSeedLen) — slicing it off here is what keeps
|
|
1105
|
+
// the volatile segment out of rolling history (it would
|
|
1106
|
+
// otherwise re-enter the next turn and duplicate every turn).
|
|
1107
|
+
const seedLen = systemPrefixLen + historySeedLen + trailingSeedLen + 1 /*user*/;
|
|
1048
1108
|
if (all.length > seedLen) {
|
|
1049
1109
|
// Provider history: KEEP <think> (MiniMax-M3 interleaved tool
|
|
1050
1110
|
// use requires full assistant content) and KEEP ---QUESTION---
|