openhorse 0.2.21 → 0.2.23
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.js +25 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +189 -49
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/parser.d.ts.map +1 -1
- package/dist/commands/parser.js +8 -3
- package/dist/commands/parser.js.map +1 -1
- package/dist/commands/types.d.ts +2 -0
- package/dist/commands/types.d.ts.map +1 -1
- package/dist/commands/types.js.map +1 -1
- package/dist/core/cost-tracker.d.ts +45 -5
- package/dist/core/cost-tracker.d.ts.map +1 -1
- package/dist/core/cost-tracker.js +78 -13
- package/dist/core/cost-tracker.js.map +1 -1
- package/dist/framework/index.d.ts +1 -1
- package/dist/framework/index.d.ts.map +1 -1
- package/dist/framework/index.js.map +1 -1
- package/dist/framework/query.d.ts +25 -0
- package/dist/framework/query.d.ts.map +1 -1
- package/dist/framework/query.js +196 -49
- package/dist/framework/query.js.map +1 -1
- package/dist/framework/store.d.ts +6 -1
- package/dist/framework/store.d.ts.map +1 -1
- package/dist/framework/store.js +10 -1
- package/dist/framework/store.js.map +1 -1
- package/dist/harness/capsule.d.ts +1 -0
- package/dist/harness/capsule.d.ts.map +1 -1
- package/dist/harness/capsule.js +38 -9
- package/dist/harness/capsule.js.map +1 -1
- package/dist/harness/contract.d.ts +2 -0
- package/dist/harness/contract.d.ts.map +1 -1
- package/dist/harness/contract.js +78 -14
- package/dist/harness/contract.js.map +1 -1
- package/dist/harness/index.d.ts +2 -2
- package/dist/harness/index.d.ts.map +1 -1
- package/dist/harness/index.js +4 -1
- package/dist/harness/index.js.map +1 -1
- package/dist/harness/ledger.d.ts.map +1 -1
- package/dist/harness/ledger.js +6 -2
- package/dist/harness/ledger.js.map +1 -1
- package/dist/harness/state.d.ts.map +1 -1
- package/dist/harness/state.js +37 -7
- package/dist/harness/state.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/ink-ui/components/StatusLine.d.ts.map +1 -1
- package/dist/ink-ui/components/StatusLine.js +0 -2
- package/dist/ink-ui/components/StatusLine.js.map +1 -1
- package/dist/ink-ui/screens/ReplScreen.d.ts.map +1 -1
- package/dist/ink-ui/screens/ReplScreen.js +12 -5
- package/dist/ink-ui/screens/ReplScreen.js.map +1 -1
- package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
- package/dist/runtime/agent-runtime-controller.js +11 -1
- package/dist/runtime/agent-runtime-controller.js.map +1 -1
- package/dist/runtime/aggregate-tool-presenter.d.ts +13 -0
- package/dist/runtime/aggregate-tool-presenter.d.ts.map +1 -0
- package/dist/runtime/aggregate-tool-presenter.js +44 -0
- package/dist/runtime/aggregate-tool-presenter.js.map +1 -0
- package/dist/runtime/chat-controller.d.ts +9 -2
- package/dist/runtime/chat-controller.d.ts.map +1 -1
- package/dist/runtime/chat-controller.js +345 -90
- package/dist/runtime/chat-controller.js.map +1 -1
- package/dist/runtime/rich-text/ansi-parser.d.ts +1 -1
- package/dist/runtime/rich-text/ansi-parser.d.ts.map +1 -1
- package/dist/runtime/rich-text/ansi-parser.js +93 -55
- package/dist/runtime/rich-text/ansi-parser.js.map +1 -1
- package/dist/runtime/rich-text/layout.d.ts +2 -11
- package/dist/runtime/rich-text/layout.d.ts.map +1 -1
- package/dist/runtime/rich-text/layout.js +280 -245
- package/dist/runtime/rich-text/layout.js.map +1 -1
- package/dist/runtime/rich-text/markdown-parser.js +31 -24
- package/dist/runtime/rich-text/markdown-parser.js.map +1 -1
- package/dist/runtime/rich-text/types.d.ts +1 -1
- package/dist/runtime/rich-text/types.d.ts.map +1 -1
- package/dist/runtime/subagents/production.d.ts.map +1 -1
- package/dist/runtime/subagents/production.js +28 -3
- package/dist/runtime/subagents/production.js.map +1 -1
- package/dist/runtime/subagents/result-parser.d.ts.map +1 -1
- package/dist/runtime/subagents/result-parser.js +54 -40
- package/dist/runtime/subagents/result-parser.js.map +1 -1
- package/dist/runtime/subagents/types.d.ts +2 -0
- package/dist/runtime/subagents/types.d.ts.map +1 -1
- package/dist/runtime/subagents/types.js +5 -1
- package/dist/runtime/subagents/types.js.map +1 -1
- package/dist/runtime/tool-detail-repository.d.ts +45 -0
- package/dist/runtime/tool-detail-repository.d.ts.map +1 -0
- package/dist/runtime/tool-detail-repository.js +131 -0
- package/dist/runtime/tool-detail-repository.js.map +1 -0
- package/dist/runtime/tool-output-presentation.d.ts +89 -0
- package/dist/runtime/tool-output-presentation.d.ts.map +1 -0
- package/dist/runtime/tool-output-presentation.js +329 -0
- package/dist/runtime/tool-output-presentation.js.map +1 -0
- package/dist/runtime/ui-events.d.ts +17 -0
- package/dist/runtime/ui-events.d.ts.map +1 -1
- package/dist/runtime/ui-events.js.map +1 -1
- package/dist/runtime/ui-view-model.d.ts +9 -0
- package/dist/runtime/ui-view-model.d.ts.map +1 -1
- package/dist/runtime/ui-view-model.js +59 -37
- package/dist/runtime/ui-view-model.js.map +1 -1
- package/dist/services/compact/auto-compact.d.ts +15 -2
- package/dist/services/compact/auto-compact.d.ts.map +1 -1
- package/dist/services/compact/auto-compact.js +56 -24
- package/dist/services/compact/auto-compact.js.map +1 -1
- package/dist/services/compact/compact.d.ts +2 -0
- package/dist/services/compact/compact.d.ts.map +1 -1
- package/dist/services/compact/compact.js +22 -5
- package/dist/services/compact/compact.js.map +1 -1
- package/dist/services/compact/coordinator.d.ts +26 -0
- package/dist/services/compact/coordinator.d.ts.map +1 -0
- package/dist/services/compact/coordinator.js +44 -0
- package/dist/services/compact/coordinator.js.map +1 -0
- package/dist/services/compact/index.d.ts +1 -0
- package/dist/services/compact/index.d.ts.map +1 -1
- package/dist/services/compact/index.js +3 -1
- package/dist/services/compact/index.js.map +1 -1
- package/dist/services/compact/summary-generator.d.ts +6 -2
- package/dist/services/compact/summary-generator.d.ts.map +1 -1
- package/dist/services/compact/summary-generator.js +73 -31
- package/dist/services/compact/summary-generator.js.map +1 -1
- package/dist/services/config-dir.d.ts +11 -1
- package/dist/services/config-dir.d.ts.map +1 -1
- package/dist/services/config-dir.js +19 -2
- package/dist/services/config-dir.js.map +1 -1
- package/dist/services/config.d.ts +4 -2
- package/dist/services/config.d.ts.map +1 -1
- package/dist/services/config.js +40 -0
- package/dist/services/config.js.map +1 -1
- package/dist/services/doctor.d.ts +2 -0
- package/dist/services/doctor.d.ts.map +1 -1
- package/dist/services/doctor.js +8 -1
- package/dist/services/doctor.js.map +1 -1
- package/dist/services/global-config.d.ts +10 -0
- package/dist/services/global-config.d.ts.map +1 -1
- package/dist/services/global-config.js.map +1 -1
- package/dist/services/llm.d.ts +21 -4
- package/dist/services/llm.d.ts.map +1 -1
- package/dist/services/llm.js +66 -8
- package/dist/services/llm.js.map +1 -1
- package/dist/services/model-context.d.ts +36 -0
- package/dist/services/model-context.d.ts.map +1 -1
- package/dist/services/model-context.js +245 -32
- package/dist/services/model-context.js.map +1 -1
- package/dist/services/redaction.js +1 -1
- package/dist/services/redaction.js.map +1 -1
- package/dist/services/session-storage.d.ts +42 -1
- package/dist/services/session-storage.d.ts.map +1 -1
- package/dist/services/session-storage.js +175 -54
- package/dist/services/session-storage.js.map +1 -1
- package/dist/services/storage-maintenance.d.ts.map +1 -1
- package/dist/services/storage-maintenance.js +3 -2
- package/dist/services/storage-maintenance.js.map +1 -1
- package/dist/services/usage-state.d.ts +55 -5
- package/dist/services/usage-state.d.ts.map +1 -1
- package/dist/services/usage-state.js +185 -59
- package/dist/services/usage-state.js.map +1 -1
- package/dist/services/verification-profile.d.ts.map +1 -1
- package/dist/services/verification-profile.js +3 -2
- package/dist/services/verification-profile.js.map +1 -1
- package/dist/services/workspace-diff.d.ts.map +1 -1
- package/dist/services/workspace-diff.js +34 -3
- package/dist/services/workspace-diff.js.map +1 -1
- package/dist/services/yaml-config.js +1 -1
- package/dist/skills/runtime.d.ts +9 -5
- package/dist/skills/runtime.d.ts.map +1 -1
- package/dist/skills/runtime.js +157 -12
- package/dist/skills/runtime.js.map +1 -1
- package/dist/terminal-ui/editor.d.ts.map +1 -1
- package/dist/terminal-ui/editor.js +14 -3
- package/dist/terminal-ui/editor.js.map +1 -1
- package/dist/terminal-ui/launch.d.ts +21 -0
- package/dist/terminal-ui/launch.d.ts.map +1 -1
- package/dist/terminal-ui/launch.js +203 -45
- package/dist/terminal-ui/launch.js.map +1 -1
- package/dist/terminal-ui/output-queue.d.ts +43 -0
- package/dist/terminal-ui/output-queue.d.ts.map +1 -0
- package/dist/terminal-ui/output-queue.js +139 -0
- package/dist/terminal-ui/output-queue.js.map +1 -0
- package/dist/terminal-ui/raw-editor.d.ts +42 -0
- package/dist/terminal-ui/raw-editor.d.ts.map +1 -1
- package/dist/terminal-ui/raw-editor.js +337 -41
- package/dist/terminal-ui/raw-editor.js.map +1 -1
- package/dist/tools/bash_security.d.ts.map +1 -1
- package/dist/tools/bash_security.js +14 -5
- package/dist/tools/bash_security.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +176 -73
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/plan.d.ts.map +1 -1
- package/dist/tools/plan.js +7 -0
- package/dist/tools/plan.js.map +1 -1
- package/dist/tools/web.d.ts +10 -0
- package/dist/tools/web.d.ts.map +1 -1
- package/dist/tools/web.js +81 -1
- package/dist/tools/web.js.map +1 -1
- package/dist/tui-core/input-parser.d.ts +9 -2
- package/dist/tui-core/input-parser.d.ts.map +1 -1
- package/dist/tui-core/input-parser.js +57 -3
- package/dist/tui-core/input-parser.js.map +1 -1
- package/dist/tui-core/style.d.ts +16 -0
- package/dist/tui-core/style.d.ts.map +1 -1
- package/dist/tui-core/style.js +22 -1
- package/dist/tui-core/style.js.map +1 -1
- package/dist/tui-ui/inline-surface.d.ts +69 -12
- package/dist/tui-ui/inline-surface.d.ts.map +1 -1
- package/dist/tui-ui/inline-surface.js +366 -94
- package/dist/tui-ui/inline-surface.js.map +1 -1
- package/dist/tui-ui/input-ownership.d.ts +46 -0
- package/dist/tui-ui/input-ownership.d.ts.map +1 -0
- package/dist/tui-ui/input-ownership.js +74 -0
- package/dist/tui-ui/input-ownership.js.map +1 -0
- package/dist/tui-ui/launch.d.ts +2 -0
- package/dist/tui-ui/launch.d.ts.map +1 -1
- package/dist/tui-ui/launch.js +289 -43
- package/dist/tui-ui/launch.js.map +1 -1
- package/dist/tui-ui/layout.d.ts +52 -2
- package/dist/tui-ui/layout.d.ts.map +1 -1
- package/dist/tui-ui/layout.js +230 -76
- package/dist/tui-ui/layout.js.map +1 -1
- package/dist/tui-ui/runner.d.ts +101 -8
- package/dist/tui-ui/runner.d.ts.map +1 -1
- package/dist/tui-ui/runner.js +843 -51
- package/dist/tui-ui/runner.js.map +1 -1
- package/dist/tui-ui/state.d.ts +70 -4
- package/dist/tui-ui/state.d.ts.map +1 -1
- package/dist/tui-ui/state.js +251 -20
- package/dist/tui-ui/state.js.map +1 -1
- package/dist/tui-ui/theme-profile.d.ts +25 -0
- package/dist/tui-ui/theme-profile.d.ts.map +1 -0
- package/dist/tui-ui/theme-profile.js +130 -0
- package/dist/tui-ui/theme-profile.js.map +1 -0
- package/dist/tui-ui/theme.d.ts +13 -0
- package/dist/tui-ui/theme.d.ts.map +1 -0
- package/dist/tui-ui/theme.js +20 -0
- package/dist/tui-ui/theme.js.map +1 -0
- package/dist/tui-ui/transcript-cache.d.ts +5 -3
- package/dist/tui-ui/transcript-cache.d.ts.map +1 -1
- package/dist/tui-ui/transcript-cache.js +16 -9
- package/dist/tui-ui/transcript-cache.js.map +1 -1
- package/dist/tui-ui/transcript-inspector-layout.d.ts +9 -0
- package/dist/tui-ui/transcript-inspector-layout.d.ts.map +1 -0
- package/dist/tui-ui/transcript-inspector-layout.js +97 -0
- package/dist/tui-ui/transcript-inspector-layout.js.map +1 -0
- package/dist/tui-ui/transcript-inspector-surface.d.ts +18 -0
- package/dist/tui-ui/transcript-inspector-surface.d.ts.map +1 -0
- package/dist/tui-ui/transcript-inspector-surface.js +88 -0
- package/dist/tui-ui/transcript-inspector-surface.js.map +1 -0
- package/dist/tui-ui/transcript-inspector.d.ts +35 -0
- package/dist/tui-ui/transcript-inspector.d.ts.map +1 -0
- package/dist/tui-ui/transcript-inspector.js +128 -0
- package/dist/tui-ui/transcript-inspector.js.map +1 -0
- package/dist/tui-ui/transcript-layout.d.ts +22 -0
- package/dist/tui-ui/transcript-layout.d.ts.map +1 -0
- package/dist/tui-ui/transcript-layout.js +439 -0
- package/dist/tui-ui/transcript-layout.js.map +1 -0
- package/dist/ui/status-bar.d.ts +1 -1
- package/dist/ui/status-bar.d.ts.map +1 -1
- package/dist/ui/status-bar.js +2 -15
- package/dist/ui/status-bar.js.map +1 -1
- package/dist/ui-v2/components/shell.d.ts.map +1 -1
- package/dist/ui-v2/components/shell.js +0 -8
- package/dist/ui-v2/components/shell.js.map +1 -1
- package/package.json +1 -1
package/dist/framework/query.js
CHANGED
|
@@ -20,6 +20,7 @@ const auto_compact_1 = require("../services/compact/auto-compact");
|
|
|
20
20
|
const tool_scheduler_1 = require("./tool-scheduler");
|
|
21
21
|
const token_estimate_1 = require("../utils/token-estimate");
|
|
22
22
|
const tool_serializer_1 = require("./tool-serializer");
|
|
23
|
+
const model_context_1 = require("../services/model-context");
|
|
23
24
|
exports.DEFAULT_MAX_MODEL_VISIBLE_TOOL_RESULT_BYTES = 4096;
|
|
24
25
|
function isAborted(signal) {
|
|
25
26
|
return signal?.aborted === true;
|
|
@@ -58,17 +59,17 @@ function parseBatchReadEvidenceSteps(result) {
|
|
|
58
59
|
if (!isRecord(step) || typeof step.tool !== 'string')
|
|
59
60
|
return [];
|
|
60
61
|
const args = isRecord(step.args) ? step.args : {};
|
|
61
|
-
const output = typeof step.output === 'string'
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
return [{
|
|
62
|
+
const output = typeof step.output === 'string' ? step.output : JSON.stringify(step.output ?? '');
|
|
63
|
+
return [
|
|
64
|
+
{
|
|
65
65
|
tool: step.tool,
|
|
66
66
|
args,
|
|
67
67
|
success: step.success === true,
|
|
68
68
|
summary: typeof step.summary === 'string' ? step.summary : undefined,
|
|
69
69
|
error: typeof step.error === 'string' ? step.error : undefined,
|
|
70
70
|
output,
|
|
71
|
-
}
|
|
71
|
+
},
|
|
72
|
+
];
|
|
72
73
|
});
|
|
73
74
|
}
|
|
74
75
|
exports.DEFAULT_LOOP_BUDGET = {
|
|
@@ -166,13 +167,16 @@ function resolveLoopBudget(partial) {
|
|
|
166
167
|
: configOverride
|
|
167
168
|
? 'config'
|
|
168
169
|
: exports.DEFAULT_LOOP_BUDGET.profile,
|
|
169
|
-
baseProfile: isLoopBudgetBaseProfile(partial?.baseProfile)
|
|
170
|
+
baseProfile: isLoopBudgetBaseProfile(partial?.baseProfile)
|
|
171
|
+
? partial.baseProfile
|
|
172
|
+
: exports.DEFAULT_LOOP_BUDGET.baseProfile,
|
|
170
173
|
configOverride,
|
|
171
174
|
};
|
|
172
175
|
}
|
|
173
176
|
function applyLoopBudgetStats(stats, budget) {
|
|
174
177
|
stats.loopBudgetSource = budget.profile ?? 'default';
|
|
175
|
-
stats.loopBudgetBaseProfile =
|
|
178
|
+
stats.loopBudgetBaseProfile =
|
|
179
|
+
budget.baseProfile ?? (budget.profile === 'config' ? 'default' : (budget.profile ?? 'default'));
|
|
176
180
|
stats.loopBudgetMaxLlmRequests = budget.maxLlmRequestsPerUserTurn;
|
|
177
181
|
stats.loopBudgetMaxToolCalls = budget.maxToolCallsPerUserTurn;
|
|
178
182
|
stats.loopBudgetMaxReadOnlyFragmentation = budget.maxReadOnlyFragmentation;
|
|
@@ -184,9 +188,7 @@ function shouldPromoteDefaultBudget(stats, budget) {
|
|
|
184
188
|
return false;
|
|
185
189
|
if (stats.llmRequests < budget.maxLlmRequestsPerUserTurn)
|
|
186
190
|
return false;
|
|
187
|
-
return stats.toolCalls >= 8
|
|
188
|
-
|| stats.readOnlyToolCalls >= 6
|
|
189
|
-
|| stats.modelVisibleToolBytes >= 16 * 1024;
|
|
191
|
+
return (stats.toolCalls >= 8 || stats.readOnlyToolCalls >= 6 || stats.modelVisibleToolBytes >= 16 * 1024);
|
|
190
192
|
}
|
|
191
193
|
function promoteDefaultBudgetToComplex(budget) {
|
|
192
194
|
return {
|
|
@@ -211,7 +213,8 @@ function applyLlmRequestDiagnostics(stats, diagnostics) {
|
|
|
211
213
|
stats.providerRetryCount = (stats.providerRetryCount ?? 0) + diagnostics.retryCount;
|
|
212
214
|
stats.providerRetryDelayMs = (stats.providerRetryDelayMs ?? 0) + diagnostics.retryDelayMs;
|
|
213
215
|
stats.providerRetryErrorTypes = [...existingTypes, ...retryTypes];
|
|
214
|
-
stats.providerLastRetryErrorType =
|
|
216
|
+
stats.providerLastRetryErrorType =
|
|
217
|
+
diagnostics.lastRetryErrorType ?? stats.providerLastRetryErrorType;
|
|
215
218
|
stats.providerLastRetryStatus = diagnostics.lastRetryStatus ?? stats.providerLastRetryStatus;
|
|
216
219
|
stats.providerFinalModel = diagnostics.finalModel;
|
|
217
220
|
stats.providerUsingFallback = diagnostics.usingFallback;
|
|
@@ -257,7 +260,9 @@ function permissionBlockedEvent(llm, stats, toolName, error, source) {
|
|
|
257
260
|
};
|
|
258
261
|
}
|
|
259
262
|
function compactPromptEvidence(items, maxItems = 12) {
|
|
260
|
-
return items
|
|
263
|
+
return items
|
|
264
|
+
.slice(0, maxItems)
|
|
265
|
+
.map(item => `${item.id}:${item.kind}:score=${item.score}:tokens=${item.tokens}`);
|
|
261
266
|
}
|
|
262
267
|
function takeUtf8Prefix(text, maxBytes) {
|
|
263
268
|
if (maxBytes <= 0)
|
|
@@ -300,11 +305,7 @@ function truncateForModel(text, maxBytes) {
|
|
|
300
305
|
const contentBudget = Math.max(0, maxBytes - byteLength(middle));
|
|
301
306
|
const headBytes = Math.floor(contentBudget * 0.65);
|
|
302
307
|
const tailBytes = contentBudget - headBytes;
|
|
303
|
-
return [
|
|
304
|
-
takeUtf8Prefix(text, headBytes),
|
|
305
|
-
middle,
|
|
306
|
-
takeUtf8Suffix(text, tailBytes),
|
|
307
|
-
].join('');
|
|
308
|
+
return [takeUtf8Prefix(text, headBytes), middle, takeUtf8Suffix(text, tailBytes)].join('');
|
|
308
309
|
}
|
|
309
310
|
function summarizeModelVisibleToolResult(executed, maxBytes) {
|
|
310
311
|
const rawBytes = byteLength(executed.result);
|
|
@@ -338,10 +339,14 @@ function summarizeModelVisibleToolResult(executed, maxBytes) {
|
|
|
338
339
|
let compact = '';
|
|
339
340
|
for (let attempt = 0; attempt < 6; attempt++) {
|
|
340
341
|
compact = serializeCompact([
|
|
341
|
-
compactSummary
|
|
342
|
+
compactSummary
|
|
343
|
+
? `Summary: ${compactSummary}`
|
|
344
|
+
: 'Tool output was summarized for model context.',
|
|
342
345
|
artifactText.trim(),
|
|
343
346
|
truncateForModel(output, outputBudget),
|
|
344
|
-
]
|
|
347
|
+
]
|
|
348
|
+
.filter(Boolean)
|
|
349
|
+
.join('\n'));
|
|
345
350
|
const compactBytes = byteLength(compact);
|
|
346
351
|
if (compactBytes <= maxBytes || outputBudget <= 128)
|
|
347
352
|
break;
|
|
@@ -349,10 +354,14 @@ function summarizeModelVisibleToolResult(executed, maxBytes) {
|
|
|
349
354
|
}
|
|
350
355
|
if (byteLength(compact) > maxBytes) {
|
|
351
356
|
compact = serializeCompact([
|
|
352
|
-
compactSummary
|
|
357
|
+
compactSummary
|
|
358
|
+
? `Summary: ${compactSummary}`
|
|
359
|
+
: 'Tool output was summarized for model context.',
|
|
353
360
|
artifactText.trim(),
|
|
354
361
|
`Output body omitted from model context (${fullOutputBytes}B total).`,
|
|
355
|
-
]
|
|
362
|
+
]
|
|
363
|
+
.filter(Boolean)
|
|
364
|
+
.join('\n'));
|
|
356
365
|
}
|
|
357
366
|
if (byteLength(compact) > maxBytes) {
|
|
358
367
|
compact = (0, tool_serializer_1.serializeToolResult)({
|
|
@@ -391,6 +400,44 @@ function omitModelVisibleToolResult(executed, maxAggregateBytes) {
|
|
|
391
400
|
summarizedBytes: Math.max(0, fullBytes - bytes),
|
|
392
401
|
};
|
|
393
402
|
}
|
|
403
|
+
function attachCompactCommit(event, compact, messages) {
|
|
404
|
+
return compact
|
|
405
|
+
? {
|
|
406
|
+
...event,
|
|
407
|
+
compact: {
|
|
408
|
+
...compact,
|
|
409
|
+
modelHistory: messages.map(message => ({ ...message })),
|
|
410
|
+
},
|
|
411
|
+
}
|
|
412
|
+
: event;
|
|
413
|
+
}
|
|
414
|
+
function publishContextUsage(params, autoCompact, modelId, usedTokens, source = 'estimated') {
|
|
415
|
+
const stats = autoCompact.getStats();
|
|
416
|
+
const usage = (0, model_context_1.createContextUsageSnapshot)({
|
|
417
|
+
modelId,
|
|
418
|
+
usedTokens,
|
|
419
|
+
source,
|
|
420
|
+
outputReserveTokens: stats.outputReserveTokens,
|
|
421
|
+
warningThreshold: stats.preCompactThreshold,
|
|
422
|
+
autoCompactThreshold: stats.threshold,
|
|
423
|
+
autoCompactEnabled: stats.enabled,
|
|
424
|
+
});
|
|
425
|
+
try {
|
|
426
|
+
params.onContextUsage?.(usage);
|
|
427
|
+
}
|
|
428
|
+
catch {
|
|
429
|
+
// Context observers must never break the agent loop.
|
|
430
|
+
}
|
|
431
|
+
return usage;
|
|
432
|
+
}
|
|
433
|
+
function publishAutoCompact(callback, notice) {
|
|
434
|
+
try {
|
|
435
|
+
callback?.(notice);
|
|
436
|
+
}
|
|
437
|
+
catch {
|
|
438
|
+
// Runtime observers must never break autonomous compaction.
|
|
439
|
+
}
|
|
440
|
+
}
|
|
394
441
|
// ============================================================================
|
|
395
442
|
// query() — async generator
|
|
396
443
|
// ============================================================================
|
|
@@ -416,26 +463,33 @@ async function* query(params) {
|
|
|
416
463
|
const openaiTools = (0, tool_1.toOpenAITools)(tools);
|
|
417
464
|
let turn = 0;
|
|
418
465
|
const stats = createLoopStats();
|
|
466
|
+
let pendingCompact;
|
|
419
467
|
let loopBudget = resolveLoopBudget(params.loopBudget);
|
|
420
468
|
applyLoopBudgetStats(stats, loopBudget);
|
|
421
469
|
const maxModelVisibleToolResultBytes = Math.max(512, params.maxModelVisibleToolResultBytes ?? exports.DEFAULT_MAX_MODEL_VISIBLE_TOOL_RESULT_BYTES);
|
|
422
|
-
const fragmentedReadOnlyTools = new Set([
|
|
470
|
+
const fragmentedReadOnlyTools = new Set([
|
|
471
|
+
'read_file',
|
|
472
|
+
'glob',
|
|
473
|
+
'grep',
|
|
474
|
+
'list_files',
|
|
475
|
+
'git_status',
|
|
476
|
+
]);
|
|
423
477
|
// 无限循环,依赖安全机制停止
|
|
424
478
|
while (true) {
|
|
425
479
|
turn++;
|
|
426
480
|
// Check abort
|
|
427
481
|
if (isAborted(abortSignal)) {
|
|
428
|
-
yield cancelledCompleteEvent(llm, stats);
|
|
482
|
+
yield attachCompactCommit(cancelledCompleteEvent(llm, stats), pendingCompact, messages);
|
|
429
483
|
return;
|
|
430
484
|
}
|
|
431
485
|
// Safety valve: check maxTurns if specified (optional)
|
|
432
486
|
if (maxTurns && turn > maxTurns) {
|
|
433
|
-
yield {
|
|
487
|
+
yield attachCompactCommit({
|
|
434
488
|
type: 'complete',
|
|
435
489
|
content: `Reached maximum turns (${maxTurns}). Task may be incomplete.`,
|
|
436
490
|
model: llm.getModel(),
|
|
437
491
|
stats: cloneLoopStats(stats, 'max_turns'),
|
|
438
|
-
};
|
|
492
|
+
}, pendingCompact, messages);
|
|
439
493
|
return;
|
|
440
494
|
}
|
|
441
495
|
if (shouldPromoteDefaultBudget(stats, loopBudget)) {
|
|
@@ -443,32 +497,72 @@ async function* query(params) {
|
|
|
443
497
|
applyLoopBudgetStats(stats, loopBudget);
|
|
444
498
|
}
|
|
445
499
|
if (stats.llmRequests >= loopBudget.maxLlmRequestsPerUserTurn) {
|
|
446
|
-
yield budgetExceededEvent(llm, stats, `LLM request budget ${loopBudget.maxLlmRequestsPerUserTurn} reached`);
|
|
500
|
+
yield attachCompactCommit(budgetExceededEvent(llm, stats, `LLM request budget ${loopBudget.maxLlmRequestsPerUserTurn} reached`), pendingCompact, messages);
|
|
447
501
|
return;
|
|
448
502
|
}
|
|
449
503
|
// Request start
|
|
450
504
|
yield { type: 'request_start', model: llm.getModel(), turn };
|
|
451
505
|
stats.turnsStarted = turn;
|
|
452
|
-
const
|
|
506
|
+
const coordinator = params.compactCoordinator;
|
|
507
|
+
coordinator?.configure({
|
|
453
508
|
modelId: llm.getModel(),
|
|
454
509
|
getContextCapsule: harness ? () => harness.getCapsule() : undefined,
|
|
455
510
|
getHarnessState: harness ? () => harness.toJSON() : undefined,
|
|
456
511
|
llm,
|
|
512
|
+
outputReserveTokens: llm.getMaxTokens?.(),
|
|
513
|
+
});
|
|
514
|
+
const autoCompact = coordinator?.getAutomatic() ?? new auto_compact_1.AutoCompact({
|
|
515
|
+
modelId: llm.getModel(),
|
|
516
|
+
getContextCapsule: harness ? () => harness.getCapsule() : undefined,
|
|
517
|
+
getHarnessState: harness ? () => harness.toJSON() : undefined,
|
|
518
|
+
llm,
|
|
519
|
+
outputReserveTokens: llm.getMaxTokens?.(),
|
|
457
520
|
});
|
|
458
521
|
// Stream the LLM response. Harness context is injected into a cloned
|
|
459
522
|
// request payload so the durable conversation history stays clean.
|
|
460
523
|
let requestMessages = harness
|
|
461
|
-
? harness.assembleMessages(messages, {
|
|
524
|
+
? harness.assembleMessages(messages, {
|
|
525
|
+
input,
|
|
526
|
+
tools: tools.map(tool => ({ name: tool.name, description: tool.description })),
|
|
527
|
+
})
|
|
462
528
|
: messages;
|
|
463
|
-
|
|
529
|
+
let requestEstimatedTokens = (0, token_estimate_1.estimateMessagesTokens)(requestMessages);
|
|
530
|
+
const predictedTokens = autoCompact.adjustTokenEstimate(requestEstimatedTokens, llm.getModel());
|
|
531
|
+
const contextBeforePredictiveCompact = publishContextUsage(params, autoCompact, llm.getModel(), predictedTokens, autoCompact.hasProviderCalibration(llm.getModel()) ? 'provider_adjusted' : 'estimated');
|
|
464
532
|
const preCompacted = await autoCompact.checkPredictiveAndCompact(messages, predictedTokens);
|
|
465
533
|
if (preCompacted !== messages) {
|
|
466
534
|
stats.compactTrigger = 'pre_turn';
|
|
467
535
|
messages.length = 0;
|
|
468
536
|
messages.push(...preCompacted);
|
|
469
537
|
requestMessages = harness
|
|
470
|
-
? harness.assembleMessages(messages, {
|
|
538
|
+
? harness.assembleMessages(messages, {
|
|
539
|
+
input,
|
|
540
|
+
tools: tools.map(tool => ({ name: tool.name, description: tool.description })),
|
|
541
|
+
})
|
|
471
542
|
: messages;
|
|
543
|
+
requestEstimatedTokens = (0, token_estimate_1.estimateMessagesTokens)(requestMessages);
|
|
544
|
+
const compactedTokens = autoCompact.adjustTokenEstimate(requestEstimatedTokens, llm.getModel());
|
|
545
|
+
autoCompact.getCtxPercent(compactedTokens);
|
|
546
|
+
const contextAfterPredictiveCompact = publishContextUsage(params, autoCompact, llm.getModel(), compactedTokens, autoCompact.hasProviderCalibration(llm.getModel()) ? 'provider_adjusted' : 'estimated');
|
|
547
|
+
const result = autoCompact.getLastCompactResult();
|
|
548
|
+
if (result) {
|
|
549
|
+
pendingCompact = {
|
|
550
|
+
mode: 'predictive',
|
|
551
|
+
modelHistory: result.messages.map(message => ({ ...message })),
|
|
552
|
+
summary: {
|
|
553
|
+
text: result.summary,
|
|
554
|
+
generatedAt: result.summaryGeneratedAt,
|
|
555
|
+
source: result.summarySource,
|
|
556
|
+
},
|
|
557
|
+
before: contextBeforePredictiveCompact,
|
|
558
|
+
after: contextAfterPredictiveCompact,
|
|
559
|
+
};
|
|
560
|
+
}
|
|
561
|
+
publishAutoCompact(params.onAutoCompact, {
|
|
562
|
+
mode: 'predictive',
|
|
563
|
+
before: contextBeforePredictiveCompact,
|
|
564
|
+
after: contextAfterPredictiveCompact,
|
|
565
|
+
});
|
|
472
566
|
}
|
|
473
567
|
const assemblyStats = harness?.toJSON().promptAssemblyStats;
|
|
474
568
|
if (assemblyStats) {
|
|
@@ -488,28 +582,41 @@ async function* query(params) {
|
|
|
488
582
|
};
|
|
489
583
|
}
|
|
490
584
|
if (isAborted(abortSignal)) {
|
|
491
|
-
yield cancelledCompleteEvent(llm, stats);
|
|
585
|
+
yield attachCompactCommit(cancelledCompleteEvent(llm, stats), pendingCompact, messages);
|
|
492
586
|
return;
|
|
493
587
|
}
|
|
494
588
|
let response;
|
|
495
589
|
try {
|
|
496
590
|
stats.llmRequests++;
|
|
497
|
-
response = await llm.chatStream(requestMessages, streamCallbacks, openaiTools, {
|
|
591
|
+
response = await llm.chatStream(requestMessages, streamCallbacks, openaiTools, {
|
|
592
|
+
abortSignal,
|
|
593
|
+
});
|
|
498
594
|
applyLlmRequestDiagnostics(stats, getLlmRequestDiagnostics(llm));
|
|
595
|
+
if (response.usage) {
|
|
596
|
+
autoCompact.recordProviderUsage(requestEstimatedTokens, response.usage.promptTokens, response.model || llm.getModel());
|
|
597
|
+
}
|
|
499
598
|
}
|
|
500
599
|
catch (error) {
|
|
501
600
|
applyLlmRequestDiagnostics(stats, getLlmRequestDiagnostics(llm));
|
|
502
601
|
throw new QueryLoopError(error, cloneLoopStats(stats, 'failed'));
|
|
503
602
|
}
|
|
603
|
+
// Account every successful model request. Tool-calling turns are billable
|
|
604
|
+
// too, so waiting for the final assistant response undercounts real usage.
|
|
605
|
+
if (costTracker && response.usage) {
|
|
606
|
+
costTracker.record(response.usage, {
|
|
607
|
+
model: response.model,
|
|
608
|
+
requestKind: 'agent',
|
|
609
|
+
});
|
|
610
|
+
}
|
|
504
611
|
if (isAborted(abortSignal)) {
|
|
505
|
-
yield cancelledCompleteEvent(llm, stats);
|
|
612
|
+
yield attachCompactCommit(cancelledCompleteEvent(llm, stats), pendingCompact, messages);
|
|
506
613
|
return;
|
|
507
614
|
}
|
|
508
615
|
// Handle tool calls
|
|
509
616
|
if (response.toolCalls && response.toolCalls.length > 0) {
|
|
510
617
|
const toolCalls = response.toolCalls;
|
|
511
618
|
if (stats.toolCalls + toolCalls.length > loopBudget.maxToolCallsPerUserTurn) {
|
|
512
|
-
yield budgetExceededEvent(llm, stats, `tool call budget ${loopBudget.maxToolCallsPerUserTurn} would be exceeded by ${toolCalls.length} requested tools`);
|
|
619
|
+
yield attachCompactCommit(budgetExceededEvent(llm, stats, `tool call budget ${loopBudget.maxToolCallsPerUserTurn} would be exceeded by ${toolCalls.length} requested tools`), pendingCompact, messages);
|
|
513
620
|
return;
|
|
514
621
|
}
|
|
515
622
|
// Save assistant tool-call message only after budget checks, so future
|
|
@@ -537,8 +644,10 @@ async function* query(params) {
|
|
|
537
644
|
abortSignal,
|
|
538
645
|
startApproach: (toolName) => strategyTracker.startApproach(toolName),
|
|
539
646
|
addToolToTracker: (attemptId, toolName) => strategyTracker.addTool(attemptId, toolName),
|
|
540
|
-
harnessDriftCheck: harness
|
|
541
|
-
|
|
647
|
+
harnessDriftCheck: harness
|
|
648
|
+
? ({ name, args }) => harness.beforeToolUse({ name, args })
|
|
649
|
+
: undefined,
|
|
650
|
+
harnessBlockedResult: harness ? drift => harness.asToolBlockedResult(drift) : undefined,
|
|
542
651
|
});
|
|
543
652
|
stats.toolCalls += preparedCalls.length;
|
|
544
653
|
for (const prepared of preparedCalls) {
|
|
@@ -549,9 +658,9 @@ async function* query(params) {
|
|
|
549
658
|
stats.unsafeToolCalls++;
|
|
550
659
|
}
|
|
551
660
|
}
|
|
552
|
-
const singleFragmentedReadOnlyCall = preparedCalls.length === 1
|
|
553
|
-
|
|
554
|
-
|
|
661
|
+
const singleFragmentedReadOnlyCall = preparedCalls.length === 1 &&
|
|
662
|
+
preparedCalls[0].tool?.isReadOnly?.(preparedCalls[0].args) === true &&
|
|
663
|
+
fragmentedReadOnlyTools.has(preparedCalls[0].tc.function.name);
|
|
555
664
|
stats.singleReadOnlyStreak = singleFragmentedReadOnlyCall
|
|
556
665
|
? stats.singleReadOnlyStreak + 1
|
|
557
666
|
: 0;
|
|
@@ -571,11 +680,11 @@ async function* query(params) {
|
|
|
571
680
|
confirmToolUse: params.confirmToolUse,
|
|
572
681
|
permissionMode: params.permissionMode,
|
|
573
682
|
toolConfirmation: params.toolConfirmation,
|
|
574
|
-
harnessBlockedResult: harness ?
|
|
683
|
+
harnessBlockedResult: harness ? drift => harness.asToolBlockedResult(drift) : undefined,
|
|
575
684
|
maxParallelToolCalls,
|
|
576
685
|
})) {
|
|
577
686
|
if (isAborted(abortSignal)) {
|
|
578
|
-
yield cancelledCompleteEvent(llm, stats);
|
|
687
|
+
yield attachCompactCommit(cancelledCompleteEvent(llm, stats), pendingCompact, messages);
|
|
579
688
|
return;
|
|
580
689
|
}
|
|
581
690
|
const { prepared } = executed;
|
|
@@ -648,7 +757,7 @@ async function* query(params) {
|
|
|
648
757
|
tool_call_id: tc.id,
|
|
649
758
|
});
|
|
650
759
|
if (executed.permissionDecision?.approved === false) {
|
|
651
|
-
yield permissionBlockedEvent(llm, stats, tc.function.name, executed.error, executed.permissionDecision.source);
|
|
760
|
+
yield attachCompactCommit(permissionBlockedEvent(llm, stats, tc.function.name, executed.error, executed.permissionDecision.source), pendingCompact, messages);
|
|
652
761
|
return;
|
|
653
762
|
}
|
|
654
763
|
if (strategyTracker.isExhausted()) {
|
|
@@ -691,23 +800,55 @@ async function* query(params) {
|
|
|
691
800
|
continue;
|
|
692
801
|
}
|
|
693
802
|
yield { type: 'message', role: 'assistant', content: response.content };
|
|
694
|
-
//
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
// Auto-compact at 95% context usage (token-based)
|
|
699
|
-
const totalTokens = response.usage?.promptTokens ?? 0;
|
|
803
|
+
// Keep the next request safe by compacting the current durable history at
|
|
804
|
+
// 95%. This uses current-message context, not cumulative session tokens.
|
|
805
|
+
const currentContextEstimate = (0, token_estimate_1.estimateMessagesTokens)(messages);
|
|
806
|
+
const currentContextTokens = autoCompact.adjustTokenEstimate(currentContextEstimate, response.model || llm.getModel());
|
|
700
807
|
autoCompact.configure({
|
|
701
808
|
modelId: response.model || llm.getModel(),
|
|
702
809
|
getContextCapsule: harness ? () => harness.getCapsule() : undefined,
|
|
703
810
|
getHarnessState: harness ? () => harness.toJSON() : undefined,
|
|
704
811
|
llm,
|
|
705
812
|
});
|
|
706
|
-
const
|
|
813
|
+
const contextBeforeThresholdCompact = publishContextUsage(params, autoCompact, response.model || llm.getModel(), currentContextTokens, autoCompact.hasProviderCalibration(response.model || llm.getModel())
|
|
814
|
+
? 'provider_adjusted'
|
|
815
|
+
: 'estimated');
|
|
816
|
+
const compacted = await autoCompact.checkAndCompact(messages, currentContextTokens);
|
|
707
817
|
if (compacted !== messages) {
|
|
708
818
|
stats.compactTrigger = stats.compactTrigger ?? 'post_turn';
|
|
709
819
|
messages.length = 0;
|
|
710
820
|
messages.push(...compacted);
|
|
821
|
+
const compactedEstimate = (0, token_estimate_1.estimateMessagesTokens)(messages);
|
|
822
|
+
const compactedTokens = autoCompact.adjustTokenEstimate(compactedEstimate, response.model || llm.getModel());
|
|
823
|
+
autoCompact.getCtxPercent(compactedTokens);
|
|
824
|
+
const contextAfterThresholdCompact = publishContextUsage(params, autoCompact, response.model || llm.getModel(), compactedTokens, autoCompact.hasProviderCalibration(response.model || llm.getModel())
|
|
825
|
+
? 'provider_adjusted'
|
|
826
|
+
: 'estimated');
|
|
827
|
+
const result = autoCompact.getLastCompactResult();
|
|
828
|
+
if (result) {
|
|
829
|
+
pendingCompact = {
|
|
830
|
+
mode: 'threshold',
|
|
831
|
+
modelHistory: result.messages.map(message => ({ ...message })),
|
|
832
|
+
summary: {
|
|
833
|
+
text: result.summary,
|
|
834
|
+
generatedAt: result.summaryGeneratedAt,
|
|
835
|
+
source: result.summarySource,
|
|
836
|
+
},
|
|
837
|
+
before: contextBeforeThresholdCompact,
|
|
838
|
+
after: contextAfterThresholdCompact,
|
|
839
|
+
};
|
|
840
|
+
}
|
|
841
|
+
publishAutoCompact(params.onAutoCompact, {
|
|
842
|
+
mode: 'threshold',
|
|
843
|
+
before: contextBeforeThresholdCompact,
|
|
844
|
+
after: contextAfterThresholdCompact,
|
|
845
|
+
});
|
|
846
|
+
}
|
|
847
|
+
else if (pendingCompact) {
|
|
848
|
+
pendingCompact = {
|
|
849
|
+
...pendingCompact,
|
|
850
|
+
after: contextBeforeThresholdCompact,
|
|
851
|
+
};
|
|
711
852
|
}
|
|
712
853
|
yield {
|
|
713
854
|
type: 'complete',
|
|
@@ -715,6 +856,12 @@ async function* query(params) {
|
|
|
715
856
|
usage: response.usage,
|
|
716
857
|
model: response.model,
|
|
717
858
|
stats: cloneLoopStats(stats, 'completed'),
|
|
859
|
+
compact: pendingCompact
|
|
860
|
+
? {
|
|
861
|
+
...pendingCompact,
|
|
862
|
+
modelHistory: messages.map(message => ({ ...message })),
|
|
863
|
+
}
|
|
864
|
+
: undefined,
|
|
718
865
|
};
|
|
719
866
|
return;
|
|
720
867
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/framework/query.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/framework/query.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ import { CostTracker } from '../core/cost-tracker';
|
|
|
12
12
|
import type { TodoItem } from './tool-state';
|
|
13
13
|
import type { HarnessState } from '../harness';
|
|
14
14
|
import type { LoopStats } from './query';
|
|
15
|
+
import type { ContextUsageSnapshot } from '../services/model-context';
|
|
15
16
|
export interface AppState {
|
|
16
17
|
config: OpenHorseCLIConfig;
|
|
17
18
|
tools: OpenHorseTool[];
|
|
@@ -22,6 +23,8 @@ export interface AppState {
|
|
|
22
23
|
promptTokens: number;
|
|
23
24
|
completionTokens: number;
|
|
24
25
|
} | null;
|
|
26
|
+
/** Current request context pressure. This is not cumulative session usage. */
|
|
27
|
+
contextUsage: ContextUsageSnapshot | null;
|
|
25
28
|
permissionMode: PermissionMode;
|
|
26
29
|
costTracker: CostTracker;
|
|
27
30
|
/** Project memory content loaded at startup */
|
|
@@ -45,7 +48,7 @@ type Listener = (state: AppState) => void;
|
|
|
45
48
|
export declare class Store {
|
|
46
49
|
private state;
|
|
47
50
|
private listeners;
|
|
48
|
-
constructor(initial: Omit<AppState, 'conversationHistory' | 'isProcessing' | 'tokenUsage' | 'permissionMode' | 'costTracker' | 'memoryContent' | 'skillsContent' | 'projectInstructionsContent' | 'todos' | 'planMode' | 'currentPlan'> & Partial<AppState>);
|
|
51
|
+
constructor(initial: Omit<AppState, 'conversationHistory' | 'isProcessing' | 'tokenUsage' | 'contextUsage' | 'permissionMode' | 'costTracker' | 'memoryContent' | 'skillsContent' | 'projectInstructionsContent' | 'todos' | 'planMode' | 'currentPlan'> & Partial<AppState>);
|
|
49
52
|
/** Get the current state snapshot */
|
|
50
53
|
getSnapshot(): AppState;
|
|
51
54
|
/** Subscribe to state changes. Returns an unsubscribe function. */
|
|
@@ -63,6 +66,8 @@ export declare class Store {
|
|
|
63
66
|
promptTokens: number;
|
|
64
67
|
completionTokens: number;
|
|
65
68
|
}): void;
|
|
69
|
+
/** Update the latest runtime-owned context pressure snapshot. */
|
|
70
|
+
setContextUsage(usage: ContextUsageSnapshot): void;
|
|
66
71
|
/** Convenience: update the latest agent-loop stats */
|
|
67
72
|
setLastLoopStats(stats: LoopStats): void;
|
|
68
73
|
/** Convenience: set permission mode */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/framework/store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/framework/store.ts"],"names":[],"mappings":"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"}
|