@pentoshi/clai 4.11.26 → 4.11.28
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/agent/compaction/summary-execution.js +11 -1
- package/dist/agent/compaction/summary-execution.js.map +1 -1
- package/dist/agent/context-manager.d.ts +0 -1
- package/dist/agent/context-manager.js +0 -1
- package/dist/agent/context-manager.js.map +1 -1
- package/dist/agent/events.d.ts +1 -5
- package/dist/agent/plan/actions/plan-clear.js +1 -1
- package/dist/agent/plan/actions/plan-clear.js.map +1 -1
- package/dist/agent/plan/actions/plan-create.js +38 -17
- package/dist/agent/plan/actions/plan-create.js.map +1 -1
- package/dist/agent/plan/actions/task-add.js +15 -4
- package/dist/agent/plan/actions/task-add.js.map +1 -1
- package/dist/agent/plan/actions/task-move.js +16 -5
- package/dist/agent/plan/actions/task-move.js.map +1 -1
- package/dist/agent/plan/handle-plan-tool.js +20 -6
- package/dist/agent/plan/handle-plan-tool.js.map +1 -1
- package/dist/agent/reliability-policy.d.ts +0 -10
- package/dist/agent/reliability-policy.js +0 -23
- package/dist/agent/reliability-policy.js.map +1 -1
- package/dist/agent/request-accounting.js +10 -10
- package/dist/agent/request-accounting.js.map +1 -1
- package/dist/agent/request-budget.d.ts +11 -18
- package/dist/agent/request-budget.js +14 -53
- package/dist/agent/request-budget.js.map +1 -1
- package/dist/agent/runner.js +16 -12
- package/dist/agent/runner.js.map +1 -1
- package/dist/agent/stream-recovery.d.ts +1 -2
- package/dist/agent/stream-recovery.js +5 -10
- package/dist/agent/stream-recovery.js.map +1 -1
- package/dist/agent/subagents/worker.js +3 -2
- package/dist/agent/subagents/worker.js.map +1 -1
- package/dist/agent/turn/automatic-compaction-execution.js +2 -2
- package/dist/agent/turn/automatic-compaction-execution.js.map +1 -1
- package/dist/agent/turn/compaction-admission.d.ts +2 -2
- package/dist/agent/turn/compaction-admission.js +14 -17
- package/dist/agent/turn/compaction-admission.js.map +1 -1
- package/dist/agent/turn/compaction-coordinator.d.ts +2 -1
- package/dist/agent/turn/compaction-coordinator.js +12 -7
- package/dist/agent/turn/compaction-coordinator.js.map +1 -1
- package/dist/agent/turn/compaction-durable-envelope.js +1 -1
- package/dist/agent/turn/compaction-durable-envelope.js.map +1 -1
- package/dist/agent/turn/compaction-replay-selection.js +2 -3
- package/dist/agent/turn/compaction-replay-selection.js.map +1 -1
- package/dist/agent/turn/compaction-summarizer.js +1 -1
- package/dist/agent/turn/compaction-summarizer.js.map +1 -1
- package/dist/agent/turn/loop/answer-path.js +2 -2
- package/dist/agent/turn/loop/answer-path.js.map +1 -1
- package/dist/agent/turn/loop/completion-interpretation.d.ts +0 -1
- package/dist/agent/turn/loop/completion-interpretation.js +2 -7
- package/dist/agent/turn/loop/completion-interpretation.js.map +1 -1
- package/dist/agent/turn/loop/deps.d.ts +1 -0
- package/dist/agent/turn/loop/empty-response.d.ts +1 -1
- package/dist/agent/turn/loop/empty-response.js +2 -4
- package/dist/agent/turn/loop/empty-response.js.map +1 -1
- package/dist/agent/turn/loop/output-budget.d.ts +0 -1
- package/dist/agent/turn/loop/output-budget.js +4 -9
- package/dist/agent/turn/loop/output-budget.js.map +1 -1
- package/dist/agent/turn/loop/request-assembly.d.ts +1 -3
- package/dist/agent/turn/loop/request-assembly.js +15 -15
- package/dist/agent/turn/loop/request-assembly.js.map +1 -1
- package/dist/agent/turn/loop/round-request.js +1 -6
- package/dist/agent/turn/loop/round-request.js.map +1 -1
- package/dist/agent/turn/loop/run-rounds.js +9 -15
- package/dist/agent/turn/loop/run-rounds.js.map +1 -1
- package/dist/agent/turn/loop/state.d.ts +2 -3
- package/dist/agent/turn/loop/state.js +1 -2
- package/dist/agent/turn/loop/state.js.map +1 -1
- package/dist/agent/turn/loop/stream-failure.d.ts +0 -1
- package/dist/agent/turn/loop/stream-failure.js +5 -5
- package/dist/agent/turn/loop/stream-failure.js.map +1 -1
- package/dist/agent/turn/loop/stream-request.d.ts +0 -1
- package/dist/agent/turn/loop/stream-request.js +1 -3
- package/dist/agent/turn/loop/stream-request.js.map +1 -1
- package/dist/agent/turn/plan-persistence.d.ts +4 -5
- package/dist/agent/turn/plan-persistence.js +13 -4
- package/dist/agent/turn/plan-persistence.js.map +1 -1
- package/dist/agent/turn/provider-measurement.d.ts +6 -0
- package/dist/agent/turn/provider-measurement.js +19 -0
- package/dist/agent/turn/provider-measurement.js.map +1 -0
- package/dist/agent/turn/responder-job-linkage.js +2 -2
- package/dist/agent/turn/responder-job-linkage.js.map +1 -1
- package/dist/agent/turn/setup/compaction-services.d.ts +2 -1
- package/dist/agent/turn/setup/compaction-services.js +2 -1
- package/dist/agent/turn/setup/compaction-services.js.map +1 -1
- package/dist/agent/turn/setup/task-gate-setup.d.ts +3 -3
- package/dist/agent/turn/setup/task-gate-setup.js.map +1 -1
- package/dist/agent/turn/task-autostart.d.ts +2 -2
- package/dist/agent/turn/task-autostart.js +7 -9
- package/dist/agent/turn/task-autostart.js.map +1 -1
- package/dist/agent/turn/task-credit.d.ts +2 -2
- package/dist/agent/turn/task-credit.js +8 -5
- package/dist/agent/turn/task-credit.js.map +1 -1
- package/dist/agent/turn/tool-execution/deps.d.ts +3 -3
- package/dist/agent/turn/tool-execution/dispatch.js +3 -5
- package/dist/agent/turn/tool-execution/dispatch.js.map +1 -1
- package/dist/agent/turn/tool-execution/meta-tools.d.ts +1 -1
- package/dist/agent/turn/tool-execution/meta-tools.js +13 -11
- package/dist/agent/turn/tool-execution/meta-tools.js.map +1 -1
- package/dist/agent/turn/tool-execution/plan-tool-ledger.d.ts +2 -2
- package/dist/agent/turn/tool-execution/plan-tool-ledger.js +6 -6
- package/dist/agent/turn/tool-execution/plan-tool-ledger.js.map +1 -1
- package/dist/agent/turn/tool-execution/result-framing.d.ts +1 -1
- package/dist/agent/turn/tool-execution/result-framing.js +1 -2
- package/dist/agent/turn/tool-execution/result-framing.js.map +1 -1
- package/dist/agent/turn/tool-execution/single-tool.js +28 -16
- package/dist/agent/turn/tool-execution/single-tool.js.map +1 -1
- package/dist/app/adapters/agent-event-adapter.js +7 -7
- package/dist/app/adapters/agent-event-adapter.js.map +1 -1
- package/dist/app/controllers/plan-controller.js +4 -1
- package/dist/app/controllers/plan-controller.js.map +1 -1
- package/dist/app/controllers/session-compact-helper.js +11 -8
- package/dist/app/controllers/session-compact-helper.js.map +1 -1
- package/dist/app/controllers/session-context-usage.d.ts +6 -4
- package/dist/app/controllers/session-context-usage.js +94 -33
- package/dist/app/controllers/session-context-usage.js.map +1 -1
- package/dist/app/controllers/session-controller.d.ts +5 -6
- package/dist/app/controllers/session-controller.js +48 -40
- package/dist/app/controllers/session-controller.js.map +1 -1
- package/dist/app/controllers/session-responder.d.ts +2 -0
- package/dist/app/controllers/session-responder.js +18 -0
- package/dist/app/controllers/session-responder.js.map +1 -1
- package/dist/app/events/app-event.d.ts +3 -5
- package/dist/app/events/app-event.js.map +1 -1
- package/dist/classic/panels/pager-panel.js +3 -2
- package/dist/classic/panels/pager-panel.js.map +1 -1
- package/dist/commands/providers.d.ts +2 -0
- package/dist/commands/providers.js +49 -7
- package/dist/commands/providers.js.map +1 -1
- package/dist/llm/anthropic.d.ts +1 -0
- package/dist/llm/anthropic.js +20 -21
- package/dist/llm/anthropic.js.map +1 -1
- package/dist/llm/capabilities.d.ts +1 -4
- package/dist/llm/capabilities.js +24 -19
- package/dist/llm/capabilities.js.map +1 -1
- package/dist/llm/capability/state.js +0 -17
- package/dist/llm/capability/state.js.map +1 -1
- package/dist/llm/catalog-facts.js +40 -11
- package/dist/llm/catalog-facts.js.map +1 -1
- package/dist/llm/catalog-prefetch.js +9 -6
- package/dist/llm/catalog-prefetch.js.map +1 -1
- package/dist/llm/context-snapshot.d.ts +7 -3
- package/dist/llm/context-snapshot.js +35 -14
- package/dist/llm/context-snapshot.js.map +1 -1
- package/dist/llm/context-windows.d.ts +16 -0
- package/dist/llm/context-windows.js +54 -19
- package/dist/llm/context-windows.js.map +1 -1
- package/dist/llm/custom-providers.js +5 -4
- package/dist/llm/custom-providers.js.map +1 -1
- package/dist/llm/explabs.js +35 -26
- package/dist/llm/explabs.js.map +1 -1
- package/dist/llm/free.d.ts +1 -1
- package/dist/llm/free.js +26 -18
- package/dist/llm/free.js.map +1 -1
- package/dist/llm/gemini.js +25 -12
- package/dist/llm/gemini.js.map +1 -1
- package/dist/llm/kiro-auth.d.ts +34 -3
- package/dist/llm/kiro-auth.js +315 -144
- package/dist/llm/kiro-auth.js.map +1 -1
- package/dist/llm/kiro-import-sources.d.ts +10 -0
- package/dist/llm/kiro-import-sources.js +117 -0
- package/dist/llm/kiro-import-sources.js.map +1 -0
- package/dist/llm/kiro-reasoning.d.ts +28 -0
- package/dist/llm/kiro-reasoning.js +150 -0
- package/dist/llm/kiro-reasoning.js.map +1 -0
- package/dist/llm/kiro-social-device.d.ts +21 -0
- package/dist/llm/kiro-social-device.js +101 -0
- package/dist/llm/kiro-social-device.js.map +1 -0
- package/dist/llm/kiro.d.ts +3 -1
- package/dist/llm/kiro.js +653 -187
- package/dist/llm/kiro.js.map +1 -1
- package/dist/llm/learned-capabilities.js +1 -3
- package/dist/llm/learned-capabilities.js.map +1 -1
- package/dist/llm/merge-gateway.js +18 -13
- package/dist/llm/merge-gateway.js.map +1 -1
- package/dist/llm/meta-effort.d.ts +4 -0
- package/dist/llm/meta-effort.js +29 -0
- package/dist/llm/meta-effort.js.map +1 -0
- package/dist/llm/meta.js +13 -6
- package/dist/llm/meta.js.map +1 -1
- package/dist/llm/model-limit-store.d.ts +15 -0
- package/dist/llm/model-limit-store.js +121 -0
- package/dist/llm/model-limit-store.js.map +1 -0
- package/dist/llm/nvidia.d.ts +1 -0
- package/dist/llm/nvidia.js +15 -17
- package/dist/llm/nvidia.js.map +1 -1
- package/dist/llm/ollama-model-limits.d.ts +4 -0
- package/dist/llm/ollama-model-limits.js +91 -0
- package/dist/llm/ollama-model-limits.js.map +1 -0
- package/dist/llm/ollama.js +2 -1
- package/dist/llm/ollama.js.map +1 -1
- package/dist/llm/orcarouter.d.ts +1 -0
- package/dist/llm/orcarouter.js +8 -1
- package/dist/llm/orcarouter.js.map +1 -1
- package/dist/llm/provider-context-usage.d.ts +9 -0
- package/dist/llm/provider-context-usage.js +39 -0
- package/dist/llm/provider-context-usage.js.map +1 -0
- package/dist/llm/provider-info-text.js +3 -2
- package/dist/llm/provider-info-text.js.map +1 -1
- package/dist/llm/qwen-cloud.d.ts +1 -0
- package/dist/llm/qwen-cloud.js +44 -9
- package/dist/llm/qwen-cloud.js.map +1 -1
- package/dist/llm/reasoning-errors.d.ts +1 -0
- package/dist/llm/reasoning-errors.js +6 -0
- package/dist/llm/reasoning-errors.js.map +1 -1
- package/dist/llm/responses-config.d.ts +1 -1
- package/dist/llm/responses-config.js.map +1 -1
- package/dist/llm/responses-request.js +1 -1
- package/dist/llm/responses-request.js.map +1 -1
- package/dist/llm/routing/attempt-complete.js +9 -2
- package/dist/llm/routing/attempt-complete.js.map +1 -1
- package/dist/llm/routing/attempt-request.d.ts +1 -0
- package/dist/llm/routing/attempt-request.js +23 -0
- package/dist/llm/routing/attempt-request.js.map +1 -1
- package/dist/llm/routing/attempt-stream.js +15 -2
- package/dist/llm/routing/attempt-stream.js.map +1 -1
- package/dist/llm/token-estimate-calibration.js +1 -2
- package/dist/llm/token-estimate-calibration.js.map +1 -1
- package/dist/llm/token-usage.d.ts +2 -0
- package/dist/llm/token-usage.js +1 -1
- package/dist/llm/token-usage.js.map +1 -1
- package/dist/llm/wire/anthropic-model-catalog.d.ts +1 -0
- package/dist/llm/wire/anthropic-model-catalog.js +30 -0
- package/dist/llm/wire/anthropic-model-catalog.js.map +1 -0
- package/dist/llm/wire/dashscope-model-catalog.d.ts +1 -0
- package/dist/llm/wire/dashscope-model-catalog.js +53 -0
- package/dist/llm/wire/dashscope-model-catalog.js.map +1 -0
- package/dist/llm/wire/orcarouter-model-catalog.d.ts +2 -0
- package/dist/llm/wire/orcarouter-model-catalog.js +91 -0
- package/dist/llm/wire/orcarouter-model-catalog.js.map +1 -0
- package/dist/llm/wire/reasoning-payload.js +2 -8
- package/dist/llm/wire/reasoning-payload.js.map +1 -1
- package/dist/noninteractive/stream-blocks.d.ts +0 -3
- package/dist/noninteractive/stream-blocks.js +0 -9
- package/dist/noninteractive/stream-blocks.js.map +1 -1
- package/dist/noninteractive/stream-renderer.js +1 -4
- package/dist/noninteractive/stream-renderer.js.map +1 -1
- package/dist/store/config/endpoints.d.ts +0 -6
- package/dist/store/config/endpoints.js +1 -35
- package/dist/store/config/endpoints.js.map +1 -1
- package/dist/store/context-limits.d.ts +4 -0
- package/dist/store/context-limits.js +29 -0
- package/dist/store/context-limits.js.map +1 -0
- package/dist/store/plan/jsonl-backend.js +1 -4
- package/dist/store/plan/jsonl-backend.js.map +1 -1
- package/dist/store/plan/mutation.js +31 -1
- package/dist/store/plan/mutation.js.map +1 -1
- package/dist/store/plan/sqlite-backend.js +27 -9
- package/dist/store/plan/sqlite-backend.js.map +1 -1
- package/dist/tui-v2/components/pager/pager-line.d.ts +2 -0
- package/dist/tui-v2/components/pager/pager-line.js +1 -2
- package/dist/tui-v2/components/pager/pager-line.js.map +1 -1
- package/dist/tui-v2/components/pager/pager.js +5 -2
- package/dist/tui-v2/components/pager/pager.js.map +1 -1
- package/dist/tui-v2/components/transcript/tool-card.js +1 -1
- package/dist/tui-v2/components/transcript/tool-card.js.map +1 -1
- package/dist/types.d.ts +3 -1
- package/dist/types.js.map +1 -1
- package/dist/ui-core/bootstrap/composition-root.js +8 -5
- package/dist/ui-core/bootstrap/composition-root.js.map +1 -1
- package/dist/ui-core/bootstrap/session-resume.js +1 -2
- package/dist/ui-core/bootstrap/session-resume.js.map +1 -1
- package/dist/ui-core/commands/key-commands.d.ts +2 -0
- package/dist/ui-core/commands/key-commands.js +76 -20
- package/dist/ui-core/commands/key-commands.js.map +1 -1
- package/dist/ui-core/commands/session-commands.js +33 -9
- package/dist/ui-core/commands/session-commands.js.map +1 -1
- package/dist/ui-core/rendering/batch-sections.js +10 -1
- package/dist/ui-core/rendering/batch-sections.js.map +1 -1
- package/dist/ui-core/rendering/context-limit.d.ts +0 -1
- package/dist/ui-core/rendering/context-limit.js +2 -2
- package/dist/ui-core/rendering/context-limit.js.map +1 -1
- package/dist/ui-core/rendering/subagent-presentation.d.ts +2 -0
- package/dist/ui-core/rendering/subagent-presentation.js +20 -7
- package/dist/ui-core/rendering/subagent-presentation.js.map +1 -1
- package/dist/ui-core/rendering/subagent-source.js +15 -8
- package/dist/ui-core/rendering/subagent-source.js.map +1 -1
- package/dist/ui-core/state/transcript/apply-app-event.js +0 -1
- package/dist/ui-core/state/transcript/apply-app-event.js.map +1 -1
- package/dist/ui-core/state/transcript-types.js +1 -1
- package/dist/ui-core/state/transcript-types.js.map +1 -1
- package/dist/version.generated.d.ts +2 -2
- package/dist/version.generated.js +2 -2
- package/package.json +1 -1
- package/dist/app/controllers/session-context-limits.d.ts +0 -8
- package/dist/app/controllers/session-context-limits.js +0 -35
- package/dist/app/controllers/session-context-limits.js.map +0 -1
- package/dist/store/config/compaction.d.ts +0 -1
- package/dist/store/config/compaction.js +0 -2
- package/dist/store/config/compaction.js.map +0 -1
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { estimateMessagesTokens } from "../../agent/context-manager.js";
|
|
2
|
+
import { autoCompactTriggerTokens } from "../../agent/request-budget.js";
|
|
2
3
|
import { resolveEffectiveContextLimit } from "../../agent/request-accounting.js";
|
|
4
|
+
import { resolveContextWindow, } from "../../llm/context-windows.js";
|
|
3
5
|
import { calibratedRequestTokens } from "../../llm/token-estimate-calibration.js";
|
|
4
|
-
import {
|
|
6
|
+
import { contextSnapshotFromLegacy, createContextSnapshot, isContextSnapshotV1, isProviderMeasuredPrecision, toLegacyContextUsage, withContextSnapshotLimit, } from "../../llm/context-snapshot.js";
|
|
5
7
|
import { effectivePromptTokens } from "../../llm/token-usage.js";
|
|
6
8
|
const systemNow = () => Date.now();
|
|
7
9
|
export function contextUsageLimit(target) {
|
|
@@ -10,11 +12,41 @@ export function contextUsageLimit(target) {
|
|
|
10
12
|
? Math.floor(limit)
|
|
11
13
|
: 0;
|
|
12
14
|
}
|
|
15
|
+
const LIMIT_SOURCE_BY_WINDOW = {
|
|
16
|
+
"session-override": "session-override",
|
|
17
|
+
provider: "model-catalog",
|
|
18
|
+
"model-table": "model-table",
|
|
19
|
+
default: "default",
|
|
20
|
+
};
|
|
13
21
|
function limitFor(target) {
|
|
14
|
-
|
|
22
|
+
const window = resolveContextWindow({
|
|
23
|
+
provider: target.provider,
|
|
24
|
+
model: target.model,
|
|
25
|
+
contextLimitTokens: contextUsageLimit(target) || undefined,
|
|
26
|
+
});
|
|
27
|
+
return {
|
|
28
|
+
source: LIMIT_SOURCE_BY_WINDOW[window.source],
|
|
29
|
+
tokens: window.tokens,
|
|
30
|
+
...(window.providerTokens !== undefined
|
|
31
|
+
? { providerTokens: window.providerTokens }
|
|
32
|
+
: {}),
|
|
33
|
+
...(window.overrideTokens !== undefined
|
|
34
|
+
? { requestedTokens: window.overrideTokens }
|
|
35
|
+
: {}),
|
|
36
|
+
compactTriggerTokens: autoCompactTriggerTokens(target),
|
|
37
|
+
};
|
|
15
38
|
}
|
|
16
39
|
function sameLimit(left, right) {
|
|
17
|
-
return left.source === right.source &&
|
|
40
|
+
return (left.source === right.source &&
|
|
41
|
+
left.tokens === right.tokens &&
|
|
42
|
+
left.providerTokens === right.providerTokens &&
|
|
43
|
+
left.requestedTokens === right.requestedTokens &&
|
|
44
|
+
left.compactTriggerTokens === right.compactTriggerTokens);
|
|
45
|
+
}
|
|
46
|
+
function usagePrecision(usage) {
|
|
47
|
+
if (usage.exact)
|
|
48
|
+
return "provider-exact";
|
|
49
|
+
return usage.promptTokensSource === "provider-ratio" ? "provider-ratio" : "estimate";
|
|
18
50
|
}
|
|
19
51
|
function hasPromptMeasurement(usage) {
|
|
20
52
|
return usage.promptTokensKnown !== false;
|
|
@@ -60,13 +92,56 @@ export function resolveContextSnapshot(target, current) {
|
|
|
60
92
|
? current
|
|
61
93
|
: withContextSnapshotLimit(current, limitFor(target));
|
|
62
94
|
}
|
|
95
|
+
export function contextSnapshotForRoute(target, current) {
|
|
96
|
+
if (!current)
|
|
97
|
+
return undefined;
|
|
98
|
+
const attempt = current.attempt;
|
|
99
|
+
const measuredOnOtherRoute = isProviderMeasuredPrecision(current.precision) &&
|
|
100
|
+
attempt.kind === "generation" &&
|
|
101
|
+
(attempt.provider !== target.provider || attempt.model !== target.model);
|
|
102
|
+
if (!measuredOnOtherRoute)
|
|
103
|
+
return resolveContextSnapshot(target, current);
|
|
104
|
+
return createContextSnapshot({
|
|
105
|
+
contextTokens: current.contextTokens,
|
|
106
|
+
lastCompletionTokens: current.lastCompletionTokens,
|
|
107
|
+
sessionPromptTokens: current.sessionPromptTokens,
|
|
108
|
+
sessionCompletionTokens: current.sessionCompletionTokens,
|
|
109
|
+
scope: current.scope,
|
|
110
|
+
precision: "estimate",
|
|
111
|
+
limit: limitFor(target),
|
|
112
|
+
cache: current.cache,
|
|
113
|
+
reasoning: current.reasoning,
|
|
114
|
+
attempt,
|
|
115
|
+
observedAt: current.observedAt,
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
function accumulatedSessionTokens(current, usage) {
|
|
119
|
+
return {
|
|
120
|
+
sessionPromptTokens: (current?.sessionPromptTokens ?? 0) +
|
|
121
|
+
(usage.exact && hasPromptMeasurement(usage) ? usage.promptTokens : 0),
|
|
122
|
+
sessionCompletionTokens: (current?.sessionCompletionTokens ?? 0) +
|
|
123
|
+
(usage.exact ? usage.completionTokens : 0),
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
export function recordAuxiliaryUsageSnapshot(target, current, usage) {
|
|
127
|
+
if (!current)
|
|
128
|
+
return undefined;
|
|
129
|
+
return createContextSnapshot({
|
|
130
|
+
contextTokens: current.contextTokens,
|
|
131
|
+
lastCompletionTokens: current.lastCompletionTokens,
|
|
132
|
+
...accumulatedSessionTokens(current, usage),
|
|
133
|
+
scope: current.scope,
|
|
134
|
+
precision: current.precision,
|
|
135
|
+
limit: limitFor(target),
|
|
136
|
+
cache: current.cache,
|
|
137
|
+
reasoning: current.reasoning,
|
|
138
|
+
attempt: current.attempt,
|
|
139
|
+
observedAt: current.observedAt,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
63
142
|
export function recordContextUsageSnapshot(target, current, usage, attempt, now = systemNow) {
|
|
64
|
-
const promptMeasured = hasPromptMeasurement(usage);
|
|
65
143
|
const consumedPromptTokens = effectivePromptTokens(usage);
|
|
66
|
-
const sessionPromptTokens = (current
|
|
67
|
-
(usage.exact && promptMeasured ? usage.promptTokens : 0);
|
|
68
|
-
const sessionCompletionTokens = (current?.sessionCompletionTokens ?? 0) +
|
|
69
|
-
(usage.exact ? usage.completionTokens : 0);
|
|
144
|
+
const { sessionPromptTokens, sessionCompletionTokens } = accumulatedSessionTokens(current, usage);
|
|
70
145
|
const cache = reportedCache(usage);
|
|
71
146
|
const reasoning = reportedReasoning(usage);
|
|
72
147
|
if (consumedPromptTokens === undefined) {
|
|
@@ -90,7 +165,7 @@ export function recordContextUsageSnapshot(target, current, usage, attempt, now
|
|
|
90
165
|
sessionPromptTokens,
|
|
91
166
|
sessionCompletionTokens,
|
|
92
167
|
scope: "provider-request",
|
|
93
|
-
precision: usage
|
|
168
|
+
precision: usagePrecision(usage),
|
|
94
169
|
limit: limitFor(target),
|
|
95
170
|
...(cache ? { cache } : {}),
|
|
96
171
|
...(reasoning ? { reasoning } : {}),
|
|
@@ -113,36 +188,22 @@ export function compactedContextSnapshot(target, current, history, afterTokens,
|
|
|
113
188
|
observedAt: now(),
|
|
114
189
|
});
|
|
115
190
|
}
|
|
116
|
-
export function estimatedContextSnapshot(target, current, estimatedTokens, now = systemNow, promptUsageMissing = false) {
|
|
117
|
-
if (!current && !promptUsageMissing)
|
|
118
|
-
return undefined;
|
|
119
|
-
if (!Number.isFinite(estimatedTokens) || estimatedTokens <= 0)
|
|
120
|
-
return current;
|
|
121
|
-
if (current?.precision === "provider-exact") {
|
|
122
|
-
return resolveContextSnapshot(target, current);
|
|
123
|
-
}
|
|
124
|
-
const tokens = Math.floor(estimatedTokens);
|
|
125
|
-
return createContextSnapshot({
|
|
126
|
-
contextTokens: tokens,
|
|
127
|
-
lastCompletionTokens: current?.lastCompletionTokens,
|
|
128
|
-
sessionPromptTokens: current?.sessionPromptTokens,
|
|
129
|
-
sessionCompletionTokens: current?.sessionCompletionTokens,
|
|
130
|
-
scope: "assembled-request",
|
|
131
|
-
precision: "estimate",
|
|
132
|
-
limit: limitFor(target),
|
|
133
|
-
observedAt: now(),
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
191
|
export function createContextProjector(formatChip) {
|
|
137
192
|
return (target, current) => {
|
|
138
193
|
const contextSnapshot = resolveContextSnapshot(target, current);
|
|
139
|
-
const
|
|
140
|
-
|
|
141
|
-
|
|
194
|
+
const view = contextSnapshot ??
|
|
195
|
+
createContextSnapshot({
|
|
196
|
+
contextTokens: 0,
|
|
197
|
+
scope: "unknown",
|
|
198
|
+
precision: "unknown",
|
|
199
|
+
limit: limitFor(target),
|
|
200
|
+
});
|
|
201
|
+
const contextUsage = toLegacyContextUsage(view);
|
|
142
202
|
return {
|
|
143
203
|
contextSnapshot,
|
|
144
204
|
contextUsage,
|
|
145
|
-
contextChip:
|
|
205
|
+
contextChip: formatChip(contextUsage),
|
|
206
|
+
contextLimit: view.limit,
|
|
146
207
|
};
|
|
147
208
|
};
|
|
148
209
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-context-usage.js","sourceRoot":"","sources":["../../../src/app/controllers/session-context-usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EACL
|
|
1
|
+
{"version":3,"file":"session-context-usage.js","sourceRoot":"","sources":["../../../src/app/controllers/session-context-usage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ChatMessage, Mode, ProviderId, TokenUsage, ToolResult } from "../../types.js";
|
|
2
2
|
import { type CompactResult } from "../../agent/context-manager.js";
|
|
3
3
|
import { type ContextUsageSnapshot } from "../../llm/token-usage.js";
|
|
4
|
-
import type
|
|
4
|
+
import { type ContextAttemptReference, type ContextSnapshotLimit, type ContextSnapshotV1 } from "../../llm/context-snapshot.js";
|
|
5
5
|
import { type PartialUsageSnapshot } from "./session-context-usage.js";
|
|
6
6
|
import { SubagentManager } from "../../agent/subagents/manager.js";
|
|
7
7
|
import type { PreviousTurnSignal } from "../../agent/continue-orient.js";
|
|
@@ -43,6 +43,7 @@ export interface SessionState {
|
|
|
43
43
|
readonly contextSnapshot: ContextSnapshotV1 | undefined;
|
|
44
44
|
readonly contextUsage: ContextUsageSnapshot | undefined;
|
|
45
45
|
readonly contextChip: string | undefined;
|
|
46
|
+
readonly contextLimit?: ContextSnapshotLimit | undefined;
|
|
46
47
|
}
|
|
47
48
|
export type NoticeLevel = "info" | "warn";
|
|
48
49
|
export interface SessionControllerDeps {
|
|
@@ -98,9 +99,7 @@ export declare class SessionController implements Disposable {
|
|
|
98
99
|
private readonly persistence;
|
|
99
100
|
private static readonly AUTOSAVE_MIN_MS;
|
|
100
101
|
private contextSnapshot;
|
|
101
|
-
private preserveCompactionEstimate;
|
|
102
102
|
private lastContextCompactionId;
|
|
103
|
-
private readonly contextLimits;
|
|
104
103
|
private readonly usageLedger;
|
|
105
104
|
private lifecycleGeneration;
|
|
106
105
|
private lastTurnResult;
|
|
@@ -120,16 +119,16 @@ export declare class SessionController implements Disposable {
|
|
|
120
119
|
private requestScopedContextTokens;
|
|
121
120
|
private requestScopedContextMeasurement;
|
|
122
121
|
private providerReportedContextTokens;
|
|
123
|
-
recordTokenUsage(usage: TokenUsage, model?: string, provider?: ProviderId, attempt?: ContextAttemptReference, api?: string | undefined): void;
|
|
122
|
+
recordTokenUsage(usage: TokenUsage, model?: string, provider?: ProviderId, attempt?: ContextAttemptReference, api?: string | undefined, auxiliary?: boolean): void;
|
|
124
123
|
usageReport(): SessionUsageReport;
|
|
125
|
-
noteContextCompacted(afterTokens?: number, scope?: "message-history" | "assembled-request", compactionId?: string
|
|
126
|
-
noteContextEstimate(estimatedTokens: number, promptUsageMissing?: boolean): void;
|
|
124
|
+
noteContextCompacted(afterTokens?: number, scope?: "message-history" | "assembled-request", compactionId?: string): void;
|
|
127
125
|
get messages(): readonly ChatMessage[];
|
|
128
126
|
subscribe(listener: SessionStateListener): () => void;
|
|
129
127
|
notifyExternalUpdate(): void;
|
|
130
128
|
setProvider(provider: ProviderId | undefined): void;
|
|
131
129
|
setContextLimitTokens(limit: number | undefined): void;
|
|
132
130
|
setModel(model: string | undefined): void;
|
|
131
|
+
private refreshProviderCatalog;
|
|
133
132
|
setMode(mode: Mode): void;
|
|
134
133
|
loadHistory(messages: readonly ChatMessage[], options?: {
|
|
135
134
|
sessionId?: string;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { projectToolHistory, repairToolProtocol, } from "../../agent/tool-history.js";
|
|
2
2
|
import { formatContextChip, } from "../../llm/token-usage.js";
|
|
3
|
-
import {
|
|
3
|
+
import { isProviderMeasuredPrecision, } from "../../llm/context-snapshot.js";
|
|
4
|
+
import { compactedContextSnapshot, recordAuxiliaryUsageSnapshot, recordContextUsageSnapshot, resolveContextSnapshot as resolveSnapshot, contextSnapshotForRoute, restoredContextSnapshot, createContextProjector, } from "./session-context-usage.js";
|
|
4
5
|
import { createSessionPolicy } from "../../agent/session-policy.js";
|
|
5
6
|
import { SubagentManager } from "../../agent/subagents/manager.js";
|
|
6
7
|
import { createSubagentStore } from "../../store/subagents.js";
|
|
@@ -25,7 +26,7 @@ import { CompositeDisposable } from "./disposable.js";
|
|
|
25
26
|
import { hasPersistableHistory, mintSessionId, pathBackedMessages, persistedContextUsage, SessionPersistenceQueue, } from "./session-persistence.js";
|
|
26
27
|
import { SessionPromptQueue, } from "./session-prompt-queue.js";
|
|
27
28
|
import { IDLE_RESPONDER_STATE, SessionResponder, } from "./session-responder.js";
|
|
28
|
-
import {
|
|
29
|
+
import { customContextLimit, setCustomContextLimit } from "../../store/context-limits.js";
|
|
29
30
|
import { SessionUsageLedger, } from "./session-usage-ledger.js";
|
|
30
31
|
import { completeForSessionNaming, SessionNamer } from "./session-naming.js";
|
|
31
32
|
export class SessionController {
|
|
@@ -59,9 +60,7 @@ export class SessionController {
|
|
|
59
60
|
persistence;
|
|
60
61
|
static AUTOSAVE_MIN_MS = 15_000;
|
|
61
62
|
contextSnapshot;
|
|
62
|
-
preserveCompactionEstimate = false;
|
|
63
63
|
lastContextCompactionId;
|
|
64
|
-
contextLimits = new SessionContextLimits();
|
|
65
64
|
usageLedger = new SessionUsageLedger();
|
|
66
65
|
lifecycleGeneration = 0;
|
|
67
66
|
lastTurnResult;
|
|
@@ -80,7 +79,7 @@ export class SessionController {
|
|
|
80
79
|
this.policy.subagents = this.subagentsValue;
|
|
81
80
|
void this.deps.interactiveSessions?.activateOwner(this.sessionIdValue).catch(() => undefined);
|
|
82
81
|
beginSessionWorkspace();
|
|
83
|
-
|
|
82
|
+
this.refreshProviderCatalog();
|
|
84
83
|
publishRouteReasoningVocabulary(this.provider, this.model);
|
|
85
84
|
this.sequencer = new EventSequencer(this.sessionIdValue, deps.idFactory, deps.clock);
|
|
86
85
|
this.turn = this.disposables.add(new TurnController({
|
|
@@ -162,7 +161,7 @@ export class SessionController {
|
|
|
162
161
|
return this.sessionIdValue;
|
|
163
162
|
}
|
|
164
163
|
getState() {
|
|
165
|
-
const { contextSnapshot, contextUsage, contextChip } = this.contextUsageProjection();
|
|
164
|
+
const { contextSnapshot, contextUsage, contextChip, contextLimit } = this.contextUsageProjection();
|
|
166
165
|
const subagentRuns = this.subagentsValue.list();
|
|
167
166
|
const subagents = {
|
|
168
167
|
enabled: this.subagentsValue.enabled,
|
|
@@ -187,19 +186,23 @@ export class SessionController {
|
|
|
187
186
|
contextSnapshot,
|
|
188
187
|
contextUsage,
|
|
189
188
|
contextChip,
|
|
189
|
+
contextLimit,
|
|
190
190
|
};
|
|
191
191
|
}
|
|
192
192
|
contextUsageProjection() {
|
|
193
193
|
return this.projectContext(this.usageTarget, this.contextSnapshot);
|
|
194
194
|
}
|
|
195
195
|
get contextLimitTokens() {
|
|
196
|
-
return
|
|
196
|
+
return customContextLimit(this.provider, this.model);
|
|
197
197
|
}
|
|
198
198
|
get usageTarget() {
|
|
199
|
-
const
|
|
199
|
+
const config = getConfig();
|
|
200
|
+
const provider = this.provider ?? config.defaultProvider;
|
|
201
|
+
const model = this.model ?? getProviderModel(provider);
|
|
202
|
+
const contextLimitTokens = customContextLimit(provider, model);
|
|
200
203
|
return {
|
|
201
|
-
provider
|
|
202
|
-
model
|
|
204
|
+
provider,
|
|
205
|
+
model,
|
|
203
206
|
...(contextLimitTokens ? { contextLimitTokens } : {}),
|
|
204
207
|
};
|
|
205
208
|
}
|
|
@@ -222,7 +225,7 @@ export class SessionController {
|
|
|
222
225
|
const snapshot = this.contextSnapshot;
|
|
223
226
|
if (!snapshot || snapshot.contextTokens <= 0)
|
|
224
227
|
return undefined;
|
|
225
|
-
return snapshot.precision
|
|
228
|
+
return isProviderMeasuredPrecision(snapshot.precision)
|
|
226
229
|
? "provider-reported"
|
|
227
230
|
: "estimated";
|
|
228
231
|
}
|
|
@@ -230,7 +233,7 @@ export class SessionController {
|
|
|
230
233
|
const snapshot = this.contextSnapshot;
|
|
231
234
|
const attempt = snapshot?.attempt;
|
|
232
235
|
if (!snapshot ||
|
|
233
|
-
snapshot.precision
|
|
236
|
+
!isProviderMeasuredPrecision(snapshot.precision) ||
|
|
234
237
|
snapshot.scope !== "provider-request" ||
|
|
235
238
|
snapshot.contextTokens <= 0 ||
|
|
236
239
|
attempt?.kind !== "generation" ||
|
|
@@ -238,44 +241,36 @@ export class SessionController {
|
|
|
238
241
|
attempt.model !== this.model) {
|
|
239
242
|
return undefined;
|
|
240
243
|
}
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
+
const reasoningTokens = snapshot.reasoning.kind === "reported" ? snapshot.reasoning.outputTokens ?? 0 : 0;
|
|
245
|
+
return (snapshot.contextTokens +
|
|
246
|
+
Math.max(0, snapshot.lastCompletionTokens - reasoningTokens));
|
|
247
|
+
}
|
|
248
|
+
recordTokenUsage(usage, model, provider, attempt, api, auxiliary = false) {
|
|
249
|
+
if (auxiliary) {
|
|
250
|
+
this.usageLedger.record(usage, provider ?? this.provider, model ?? this.model, api);
|
|
251
|
+
this.setContextSnapshot(recordAuxiliaryUsageSnapshot(this.usageTarget, this.contextSnapshot, usage));
|
|
252
|
+
this.notifyState();
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
244
255
|
if (provider !== undefined)
|
|
245
256
|
this.provider = provider;
|
|
246
257
|
if (model !== undefined)
|
|
247
258
|
this.model = model;
|
|
248
259
|
this.usageLedger.record(usage, this.provider, this.model, api);
|
|
249
260
|
this.setContextSnapshot(recordContextUsageSnapshot(this.usageTarget, this.contextSnapshot, usage, attempt, () => this.contextTimestamp()));
|
|
250
|
-
if (usage.exact && usage.promptTokensKnown !== false) {
|
|
251
|
-
this.preserveCompactionEstimate = false;
|
|
252
|
-
}
|
|
253
261
|
this.notifyState();
|
|
254
262
|
}
|
|
255
263
|
usageReport() {
|
|
256
264
|
return this.usageLedger.report();
|
|
257
265
|
}
|
|
258
|
-
noteContextCompacted(afterTokens, scope = "assembled-request", compactionId
|
|
266
|
+
noteContextCompacted(afterTokens, scope = "assembled-request", compactionId) {
|
|
259
267
|
if (compactionId && compactionId === this.lastContextCompactionId)
|
|
260
268
|
return;
|
|
261
269
|
this.setContextSnapshot(compactedContextSnapshot(this.usageTarget, this.contextSnapshot, this.history, afterTokens, scope, () => this.contextTimestamp()));
|
|
262
|
-
this.preserveCompactionEstimate =
|
|
263
|
-
typeof afterTokens === "number" &&
|
|
264
|
-
Number.isFinite(afterTokens) &&
|
|
265
|
-
afterTokens > 0;
|
|
266
270
|
if (compactionId)
|
|
267
271
|
this.lastContextCompactionId = compactionId;
|
|
268
272
|
this.notifyState();
|
|
269
273
|
}
|
|
270
|
-
noteContextEstimate(estimatedTokens, promptUsageMissing = false) {
|
|
271
|
-
if (this.preserveCompactionEstimate)
|
|
272
|
-
return;
|
|
273
|
-
const next = estimatedContextSnapshot(this.usageTarget, this.contextSnapshot, estimatedTokens, () => this.contextTimestamp(), promptUsageMissing);
|
|
274
|
-
if (next !== this.contextSnapshot) {
|
|
275
|
-
this.setContextSnapshot(next);
|
|
276
|
-
this.notifyState();
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
274
|
get messages() {
|
|
280
275
|
return this.history;
|
|
281
276
|
}
|
|
@@ -289,25 +284,37 @@ export class SessionController {
|
|
|
289
284
|
setProvider(provider) {
|
|
290
285
|
this.provider = provider;
|
|
291
286
|
this.lastMainRequestSnapshot = undefined;
|
|
292
|
-
this.setContextSnapshot(this.
|
|
287
|
+
this.setContextSnapshot(contextSnapshotForRoute(this.usageTarget, this.contextSnapshot));
|
|
293
288
|
clearTextOnlyModels();
|
|
294
|
-
|
|
289
|
+
this.refreshProviderCatalog();
|
|
295
290
|
publishRouteReasoningVocabulary(provider, this.model);
|
|
296
291
|
this.notifyState();
|
|
297
292
|
}
|
|
298
293
|
setContextLimitTokens(limit) {
|
|
299
|
-
|
|
294
|
+
setCustomContextLimit(this.provider, this.model, limit);
|
|
300
295
|
this.setContextSnapshot(this.resolveContextSnapshot());
|
|
301
296
|
this.notifyState();
|
|
302
297
|
}
|
|
303
298
|
setModel(model) {
|
|
304
299
|
this.model = model;
|
|
305
300
|
this.lastMainRequestSnapshot = undefined;
|
|
306
|
-
this.setContextSnapshot(this.
|
|
301
|
+
this.setContextSnapshot(contextSnapshotForRoute(this.usageTarget, this.contextSnapshot));
|
|
307
302
|
clearTextOnlyModels();
|
|
303
|
+
this.refreshProviderCatalog();
|
|
308
304
|
publishRouteReasoningVocabulary(this.provider, model);
|
|
309
305
|
this.notifyState();
|
|
310
306
|
}
|
|
307
|
+
refreshProviderCatalog() {
|
|
308
|
+
const provider = this.provider ?? getConfig().defaultProvider;
|
|
309
|
+
const generation = this.lifecycleGeneration;
|
|
310
|
+
void prefetchProviderCatalog(provider).then(() => {
|
|
311
|
+
const currentProvider = this.provider ?? getConfig().defaultProvider;
|
|
312
|
+
if (generation !== this.lifecycleGeneration || provider !== currentProvider)
|
|
313
|
+
return;
|
|
314
|
+
this.setContextSnapshot(this.resolveContextSnapshot());
|
|
315
|
+
this.notifyState();
|
|
316
|
+
});
|
|
317
|
+
}
|
|
311
318
|
setMode(mode) {
|
|
312
319
|
this.mode = mode;
|
|
313
320
|
this.notifyState();
|
|
@@ -324,7 +331,6 @@ export class SessionController {
|
|
|
324
331
|
this.sessionTitle = options.title;
|
|
325
332
|
this.namer.restore(options.title);
|
|
326
333
|
this.lastContextCompactionId = undefined;
|
|
327
|
-
this.preserveCompactionEstimate = false;
|
|
328
334
|
const restored = restoredContextSnapshot(this.usageTarget, options.contextUsage, () => this.contextTimestamp());
|
|
329
335
|
this.usageLedger.restore(options.contextUsage?.routeUsage);
|
|
330
336
|
if (restored) {
|
|
@@ -357,7 +363,7 @@ export class SessionController {
|
|
|
357
363
|
this.model = model;
|
|
358
364
|
this.lastMainRequestSnapshot = undefined;
|
|
359
365
|
clearTextOnlyModels();
|
|
360
|
-
|
|
366
|
+
this.refreshProviderCatalog();
|
|
361
367
|
publishRouteReasoningVocabulary(this.provider, this.model);
|
|
362
368
|
}
|
|
363
369
|
notice(level, text) {
|
|
@@ -490,7 +496,7 @@ export class SessionController {
|
|
|
490
496
|
this.history = result.messages;
|
|
491
497
|
if (result.summarized) {
|
|
492
498
|
this.lastMainRequestSnapshot = undefined;
|
|
493
|
-
this.noteContextCompacted(reported.afterTokens, reported.scope, compactionId
|
|
499
|
+
this.noteContextCompacted(reported.afterTokens, reported.scope, compactionId);
|
|
494
500
|
}
|
|
495
501
|
this.notifyState();
|
|
496
502
|
},
|
|
@@ -639,6 +645,8 @@ export class SessionController {
|
|
|
639
645
|
const config = getConfig();
|
|
640
646
|
const provider = this.provider ?? config.defaultProvider;
|
|
641
647
|
const model = this.model ?? getProviderModel(provider);
|
|
648
|
+
this.refreshProviderCatalog();
|
|
649
|
+
this.setContextSnapshot(this.resolveContextSnapshot());
|
|
642
650
|
const providerReportedContextTokens = this.providerReportedContextTokens();
|
|
643
651
|
const checkpoint = this.continuationCheckpoint();
|
|
644
652
|
const built = buildTurnRequest({
|
|
@@ -661,7 +669,7 @@ export class SessionController {
|
|
|
661
669
|
...(this.contextLimitTokens
|
|
662
670
|
? { contextLimitTokens: this.contextLimitTokens }
|
|
663
671
|
: {}),
|
|
664
|
-
getContextLimitTokens: (routeProvider, routeModel) =>
|
|
672
|
+
getContextLimitTokens: (routeProvider, routeModel) => customContextLimit(routeProvider, routeModel),
|
|
665
673
|
});
|
|
666
674
|
if (built.fallbackReason)
|
|
667
675
|
this.notice("info", built.fallbackReason);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-controller.js","sourceRoot":"","sources":["../../../src/app/controllers/session-controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-controller.js","sourceRoot":"","sources":["../../../src/app/controllers/session-controller.ts"],"names":[],"mappings":"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"}
|