@pellux/goodvibes-sdk 0.34.2 → 0.36.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/README.md +11 -1
- package/dist/contracts/artifacts/operator-contract.json +4 -1
- package/dist/events/agents.d.ts +14 -0
- package/dist/events/agents.d.ts.map +1 -1
- package/dist/events/index.d.ts +1 -1
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/turn.d.ts +17 -0
- package/dist/events/turn.d.ts.map +1 -1
- package/dist/events/workflows.d.ts +8 -0
- package/dist/events/workflows.d.ts.map +1 -1
- package/dist/platform/acp/connection.d.ts +16 -0
- package/dist/platform/acp/connection.d.ts.map +1 -1
- package/dist/platform/acp/connection.js +17 -0
- package/dist/platform/agents/orchestrator-runner.d.ts +1 -1
- package/dist/platform/agents/orchestrator-runner.d.ts.map +1 -1
- package/dist/platform/agents/orchestrator-runner.js +20 -24
- package/dist/platform/agents/orchestrator.d.ts.map +1 -1
- package/dist/platform/agents/orchestrator.js +3 -2
- package/dist/platform/agents/worktree.d.ts +11 -1
- package/dist/platform/agents/worktree.d.ts.map +1 -1
- package/dist/platform/agents/worktree.js +48 -14
- package/dist/platform/agents/wrfc-config.d.ts +23 -0
- package/dist/platform/agents/wrfc-config.d.ts.map +1 -1
- package/dist/platform/agents/wrfc-config.js +24 -0
- package/dist/platform/agents/wrfc-controller.d.ts +49 -1
- package/dist/platform/agents/wrfc-controller.d.ts.map +1 -1
- package/dist/platform/agents/wrfc-controller.js +271 -16
- package/dist/platform/agents/wrfc-types.d.ts +48 -1
- package/dist/platform/agents/wrfc-types.d.ts.map +1 -1
- package/dist/platform/automation/manager-runtime-delivery.d.ts +1 -1
- package/dist/platform/automation/manager-runtime-delivery.d.ts.map +1 -1
- package/dist/platform/automation/manager-runtime-delivery.js +4 -3
- package/dist/platform/channels/policy-manager.d.ts +8 -0
- package/dist/platform/channels/policy-manager.d.ts.map +1 -1
- package/dist/platform/channels/policy-manager.js +43 -1
- package/dist/platform/companion/companion-chat-manager.d.ts +1 -0
- package/dist/platform/companion/companion-chat-manager.d.ts.map +1 -1
- package/dist/platform/companion/companion-chat-manager.js +10 -0
- package/dist/platform/companion/companion-chat-routes.js +1 -0
- package/dist/platform/companion/companion-chat-types.d.ts +1 -0
- package/dist/platform/companion/companion-chat-types.d.ts.map +1 -1
- package/dist/platform/config/schema-domain-core.d.ts +3 -0
- package/dist/platform/config/schema-domain-core.d.ts.map +1 -1
- package/dist/platform/config/schema-domain-core.js +24 -0
- package/dist/platform/config/schema-types.d.ts +6 -2
- package/dist/platform/config/schema-types.d.ts.map +1 -1
- package/dist/platform/control-plane/approval-broker.d.ts +7 -0
- package/dist/platform/control-plane/approval-broker.d.ts.map +1 -1
- package/dist/platform/control-plane/approval-broker.js +30 -0
- package/dist/platform/control-plane/method-catalog-channels.d.ts.map +1 -1
- package/dist/platform/control-plane/method-catalog-channels.js +2 -0
- package/dist/platform/control-plane/method-catalog-email.d.ts.map +1 -1
- package/dist/platform/control-plane/method-catalog-email.js +1 -0
- package/dist/platform/core/compaction-sections.d.ts.map +1 -1
- package/dist/platform/core/compaction-sections.js +16 -5
- package/dist/platform/core/compaction-types.d.ts +7 -1
- package/dist/platform/core/compaction-types.d.ts.map +1 -1
- package/dist/platform/core/compaction-types.js +6 -0
- package/dist/platform/core/context-compaction.d.ts +20 -4
- package/dist/platform/core/context-compaction.d.ts.map +1 -1
- package/dist/platform/core/context-compaction.js +34 -7
- package/dist/platform/core/conversation-utils.js +1 -1
- package/dist/platform/core/conversation.d.ts.map +1 -1
- package/dist/platform/core/conversation.js +9 -4
- package/dist/platform/core/orchestrator-turn-loop.d.ts.map +1 -1
- package/dist/platform/core/orchestrator-turn-loop.js +22 -3
- package/dist/platform/core/orchestrator.d.ts +12 -0
- package/dist/platform/core/orchestrator.d.ts.map +1 -1
- package/dist/platform/core/orchestrator.js +36 -8
- package/dist/platform/daemon/http/home-graph-routes.d.ts.map +1 -1
- package/dist/platform/daemon/http/home-graph-routes.js +2 -1
- package/dist/platform/daemon/http/project-planning-routes.d.ts.map +1 -1
- package/dist/platform/daemon/http/project-planning-routes.js +2 -1
- package/dist/platform/hooks/dispatcher.d.ts.map +1 -1
- package/dist/platform/hooks/dispatcher.js +4 -0
- package/dist/platform/hooks/runners/command.d.ts.map +1 -1
- package/dist/platform/hooks/runners/command.js +11 -2
- package/dist/platform/integrations/delivery.d.ts.map +1 -1
- package/dist/platform/integrations/delivery.js +0 -2
- package/dist/platform/intelligence/import-graph.d.ts.map +1 -1
- package/dist/platform/intelligence/import-graph.js +8 -0
- package/dist/platform/knowledge/extractors.d.ts.map +1 -1
- package/dist/platform/knowledge/extractors.js +30 -4
- package/dist/platform/mcp/client.d.ts +2 -0
- package/dist/platform/mcp/client.d.ts.map +1 -1
- package/dist/platform/mcp/client.js +17 -3
- package/dist/platform/mcp/registry.d.ts.map +1 -1
- package/dist/platform/mcp/registry.js +4 -0
- package/dist/platform/media/builtin-generation-providers.d.ts.map +1 -1
- package/dist/platform/media/builtin-generation-providers.js +2 -3
- package/dist/platform/media/provider-registry.d.ts.map +1 -1
- package/dist/platform/media/provider-registry.js +3 -1
- package/dist/platform/multimodal/service.d.ts.map +1 -1
- package/dist/platform/multimodal/service.js +18 -3
- package/dist/platform/providers/anthropic-compat.js +2 -2
- package/dist/platform/providers/anthropic-sdk-provider.js +1 -1
- package/dist/platform/providers/anthropic-sse-assembler.d.ts.map +1 -1
- package/dist/platform/providers/anthropic-sse-assembler.js +24 -0
- package/dist/platform/providers/anthropic.js +2 -2
- package/dist/platform/providers/capabilities.d.ts +6 -0
- package/dist/platform/providers/capabilities.d.ts.map +1 -1
- package/dist/platform/providers/capabilities.js +20 -1
- package/dist/platform/providers/gemini.d.ts.map +1 -1
- package/dist/platform/providers/gemini.js +57 -48
- package/dist/platform/providers/index.d.ts +1 -0
- package/dist/platform/providers/index.d.ts.map +1 -1
- package/dist/platform/providers/index.js +1 -0
- package/dist/platform/providers/interface.d.ts +9 -1
- package/dist/platform/providers/interface.d.ts.map +1 -1
- package/dist/platform/providers/llama-cpp.js +1 -1
- package/dist/platform/providers/lm-studio.js +1 -1
- package/dist/platform/providers/model-limits.d.ts.map +1 -1
- package/dist/platform/providers/model-limits.js +14 -2
- package/dist/platform/providers/ollama.js +1 -1
- package/dist/platform/providers/openai-codex.js +1 -1
- package/dist/platform/providers/openai-compat.d.ts.map +1 -1
- package/dist/platform/providers/openai-compat.js +2 -2
- package/dist/platform/providers/openai.js +2 -2
- package/dist/platform/runtime/emitters/agents.d.ts +2 -0
- package/dist/platform/runtime/emitters/agents.d.ts.map +1 -1
- package/dist/platform/runtime/emitters/turn.d.ts +9 -0
- package/dist/platform/runtime/emitters/turn.d.ts.map +1 -1
- package/dist/platform/runtime/emitters/turn.js +4 -0
- package/dist/platform/runtime/emitters/workflows.d.ts +1 -0
- package/dist/platform/runtime/emitters/workflows.d.ts.map +1 -1
- package/dist/platform/runtime/store/domains/agents.d.ts +7 -0
- package/dist/platform/runtime/store/domains/agents.d.ts.map +1 -1
- package/dist/platform/runtime/store/domains/conversation.d.ts +0 -2
- package/dist/platform/runtime/store/domains/conversation.d.ts.map +1 -1
- package/dist/platform/runtime/store/domains/conversation.js +0 -1
- package/dist/platform/runtime/store/helpers/reducers/conversation.d.ts.map +1 -1
- package/dist/platform/runtime/store/helpers/reducers/conversation.js +20 -2
- package/dist/platform/runtime/store/helpers/reducers/lifecycle.d.ts.map +1 -1
- package/dist/platform/runtime/store/helpers/reducers/lifecycle.js +6 -0
- package/dist/platform/runtime/store/helpers/reducers/sync.d.ts.map +1 -1
- package/dist/platform/runtime/store/helpers/reducers/sync.js +7 -1
- package/dist/platform/runtime/tools/phases/execute.d.ts.map +1 -1
- package/dist/platform/runtime/tools/phases/execute.js +11 -1
- package/dist/platform/runtime/ui-read-models-core.d.ts.map +1 -1
- package/dist/platform/runtime/ui-read-models-core.js +4 -1
- package/dist/platform/tools/exec/runtime.d.ts.map +1 -1
- package/dist/platform/tools/exec/runtime.js +9 -0
- package/dist/platform/tools/shared/overflow.d.ts.map +1 -1
- package/dist/platform/tools/shared/overflow.js +21 -2
- package/dist/platform/types/errors.d.ts +26 -0
- package/dist/platform/types/errors.d.ts.map +1 -1
- package/dist/platform/types/errors.js +63 -1
- package/dist/platform/utils/error-display.d.ts.map +1 -1
- package/dist/platform/utils/error-display.js +14 -6
- package/dist/platform/utils/retry.d.ts +4 -2
- package/dist/platform/utils/retry.d.ts.map +1 -1
- package/dist/platform/utils/retry.js +4 -2
- package/dist/platform/version.js +1 -1
- package/dist/platform/voice/providers/shared.d.ts.map +1 -1
- package/dist/platform/voice/providers/shared.js +2 -3
- package/package.json +9 -9
|
@@ -76,6 +76,13 @@ export declare class ApprovalBroker {
|
|
|
76
76
|
}): Promise<SharedApprovalRecord | null>;
|
|
77
77
|
cancelApproval(approvalId: string, actor: string, actorSurface?: string, note?: string): Promise<SharedApprovalRecord | null>;
|
|
78
78
|
private expireApproval;
|
|
79
|
+
/**
|
|
80
|
+
* Drop the oldest terminal (approved/denied/cancelled/expired) approvals once
|
|
81
|
+
* they exceed MAX_APPROVAL_RECORDS, bounding both the in-memory Map and the
|
|
82
|
+
* persisted snapshot. Pending/claimed approvals are excluded and never evicted,
|
|
83
|
+
* so their awaiting callers and pendingResolvers are never orphaned.
|
|
84
|
+
*/
|
|
85
|
+
private pruneTerminalApprovals;
|
|
79
86
|
private persist;
|
|
80
87
|
private publish;
|
|
81
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval-broker.d.ts","sourceRoot":"","sources":["../../../src/platform/control-plane/approval-broker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"approval-broker.d.ts","sourceRoot":"","sources":["../../../src/platform/control-plane/approval-broker.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,15 @@ import { isRecord } from '../utils/record-coerce.js';
|
|
|
5
5
|
function sortApprovals(records) {
|
|
6
6
|
return [...records].sort((a, b) => b.updatedAt - a.updatedAt || a.id.localeCompare(b.id));
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* Maximum number of terminal (resolved) approval records retained in memory and
|
|
10
|
+
* on disk. Mirrors ChannelPolicyManager's MAX_AUDIT_RECORDS so a long-running
|
|
11
|
+
* control-plane daemon does not grow the snapshot without bound. Pending and
|
|
12
|
+
* claimed approvals are never counted or evicted — they have a live awaited
|
|
13
|
+
* promise + resolver and must survive until resolved.
|
|
14
|
+
*/
|
|
15
|
+
const MAX_APPROVAL_RECORDS = 500;
|
|
16
|
+
const TERMINAL_APPROVAL_STATUSES = new Set(['approved', 'denied', 'cancelled', 'expired']);
|
|
8
17
|
const APPROVAL_STATUSES = new Set(['pending', 'claimed', 'approved', 'denied', 'cancelled', 'expired']);
|
|
9
18
|
const APPROVAL_AUDIT_ACTIONS = new Set([
|
|
10
19
|
'created',
|
|
@@ -153,6 +162,7 @@ export class ApprovalBroker {
|
|
|
153
162
|
for (const approval of snapshot?.approvals ?? []) {
|
|
154
163
|
this.approvals.set(approval.id, approval);
|
|
155
164
|
}
|
|
165
|
+
this.pruneTerminalApprovals();
|
|
156
166
|
this.loaded = true;
|
|
157
167
|
}
|
|
158
168
|
listApprovals(limit = 100) {
|
|
@@ -349,7 +359,27 @@ export class ApprovalBroker {
|
|
|
349
359
|
this.pendingResolvers.delete(approvalId);
|
|
350
360
|
}
|
|
351
361
|
}
|
|
362
|
+
/**
|
|
363
|
+
* Drop the oldest terminal (approved/denied/cancelled/expired) approvals once
|
|
364
|
+
* they exceed MAX_APPROVAL_RECORDS, bounding both the in-memory Map and the
|
|
365
|
+
* persisted snapshot. Pending/claimed approvals are excluded and never evicted,
|
|
366
|
+
* so their awaiting callers and pendingResolvers are never orphaned.
|
|
367
|
+
*/
|
|
368
|
+
pruneTerminalApprovals() {
|
|
369
|
+
const terminal = [];
|
|
370
|
+
for (const record of this.approvals.values()) {
|
|
371
|
+
if (TERMINAL_APPROVAL_STATUSES.has(record.status))
|
|
372
|
+
terminal.push(record);
|
|
373
|
+
}
|
|
374
|
+
if (terminal.length <= MAX_APPROVAL_RECORDS)
|
|
375
|
+
return;
|
|
376
|
+
terminal.sort((a, b) => b.updatedAt - a.updatedAt || a.id.localeCompare(b.id));
|
|
377
|
+
for (const record of terminal.slice(MAX_APPROVAL_RECORDS)) {
|
|
378
|
+
this.approvals.delete(record.id);
|
|
379
|
+
}
|
|
380
|
+
}
|
|
352
381
|
async persist() {
|
|
382
|
+
this.pruneTerminalApprovals();
|
|
353
383
|
await this.store.persist({
|
|
354
384
|
approvals: sortApprovals(this.approvals.values()),
|
|
355
385
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method-catalog-channels.d.ts","sourceRoot":"","sources":["../../../src/platform/control-plane/method-catalog-channels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAuF1E,eAAO,MAAM,sCAAsC,EAAE,SAAS,uBAAuB,
|
|
1
|
+
{"version":3,"file":"method-catalog-channels.d.ts","sourceRoot":"","sources":["../../../src/platform/control-plane/method-catalog-channels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAuF1E,eAAO,MAAM,sCAAsC,EAAE,SAAS,uBAAuB,EAoqBpF,CAAC"}
|
|
@@ -645,6 +645,7 @@ export const builtinGatewayChannelMethodDescriptors = [
|
|
|
645
645
|
createdAt: STRING_SCHEMA,
|
|
646
646
|
updatedAt: STRING_SCHEMA,
|
|
647
647
|
}, ['assignmentId', 'surfaceKind', 'profileId', 'createdAt', 'updatedAt']),
|
|
648
|
+
dangerous: true,
|
|
648
649
|
}),
|
|
649
650
|
methodDescriptor({
|
|
650
651
|
id: 'channels.routing.delete',
|
|
@@ -700,6 +701,7 @@ export const builtinGatewayChannelMethodDescriptors = [
|
|
|
700
701
|
draft: CHANNEL_DRAFT_SCHEMA,
|
|
701
702
|
created: BOOLEAN_SCHEMA,
|
|
702
703
|
}, ['draft', 'created']),
|
|
704
|
+
dangerous: true,
|
|
703
705
|
}),
|
|
704
706
|
methodDescriptor({
|
|
705
707
|
id: 'channels.drafts.delete',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method-catalog-email.d.ts","sourceRoot":"","sources":["../../../src/platform/control-plane/method-catalog-email.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAsC1E;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC,EAAE,SAAS,uBAAuB,
|
|
1
|
+
{"version":3,"file":"method-catalog-email.d.ts","sourceRoot":"","sources":["../../../src/platform/control-plane/method-catalog-email.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAsC1E;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC,EAAE,SAAS,uBAAuB,EA0ElF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compaction-sections.d.ts","sourceRoot":"","sources":["../../../src/platform/core/compaction-sections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAoB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGhG,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,MAAM,CAMnE;
|
|
1
|
+
{"version":3,"file":"compaction-sections.d.ts","sourceRoot":"","sources":["../../../src/platform/core/compaction-sections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAoB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGhG,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,MAAM,CAMnE;AA6BD;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,iBAAiB,CAStD;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,aAAa,EAAE,GACxB,iBAAiB,GAAG,IAAI,CAQ1B;AAMD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,eAAe,EAAE,MAAM,GAAG,IAAI,GAC7B,iBAAiB,GAAG,IAAI,CAM1B;AAMD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EAAE,EACrB,MAAM,EAAE,SAAS,EAAE,GAClB,iBAAiB,GAAG,IAAI,CAmB1B;AAMD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,eAAe,EAAE,EAC3B,SAAS,SAAO,GACf,eAAe,EAAE,CAsBnB;AAqCD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,eAAe,EAAE,GAAG,MAAM,CAgB9E;AAMD;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,gBAAgB,EAAE,eAAe,EAAE,GAClC,MAAM,CAkBR;AAMD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,EAAE,EACnB,WAAW,EAAE,MAAM,GAClB;IAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAAC,eAAe,EAAE,SAAS,EAAE,CAAA;CAAE,CA8CrE;AAsBD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,MAAM,CA2B7E;AAMD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,eAAe,EAAE,GAC1B,MAAM,CAgBR;AAMD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,aAAa,GAAG,IAAI,GACzB,iBAAiB,GAAG,IAAI,CAuC1B;AAMD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,cAAc,EAAE,MAAM,EAAE,EACxB,eAAe,EAAE,MAAM,GACtB,iBAAiB,GAAG,IAAI,CAgB1B"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* Empty sections return null — the orchestrator omits them entirely (no header).
|
|
11
11
|
*/
|
|
12
12
|
import { isActiveAgent } from '../tools/agent/predicates.js';
|
|
13
|
-
import { estimateTokens } from './compaction-types.js';
|
|
13
|
+
import { estimateTokens, IMAGE_TOKEN_ESTIMATE } from './compaction-types.js';
|
|
14
14
|
/** Extract plain text from a ProviderMessage content field. */
|
|
15
15
|
export function extractText(content) {
|
|
16
16
|
if (typeof content === 'string')
|
|
@@ -20,6 +20,12 @@ export function extractText(content) {
|
|
|
20
20
|
.map((p) => p.text)
|
|
21
21
|
.join('');
|
|
22
22
|
}
|
|
23
|
+
/** Count image content parts in a ProviderMessage content field. */
|
|
24
|
+
function countImageParts(content) {
|
|
25
|
+
if (typeof content === 'string')
|
|
26
|
+
return 0;
|
|
27
|
+
return content.filter((p) => p.type === 'image').length;
|
|
28
|
+
}
|
|
23
29
|
/** Build a CompactionSection. Returns null if content is empty. */
|
|
24
30
|
function makeSection(id, header, content) {
|
|
25
31
|
const trimmed = content.trim();
|
|
@@ -119,7 +125,10 @@ export function gatherRecentConversation(messages, maxTokens = 3000) {
|
|
|
119
125
|
// Work backward from most recent
|
|
120
126
|
for (let i = eligible.length - 1; i >= 0; i--) {
|
|
121
127
|
const msg = eligible[i];
|
|
122
|
-
|
|
128
|
+
// Account for image parts separately: extractText drops them, but they carry
|
|
129
|
+
// real provider token cost (mirror IMAGE_TOKEN_ESTIMATE in estimateConversationTokens).
|
|
130
|
+
const msgTokens = estimateTokens(extractText(msg.content)) +
|
|
131
|
+
countImageParts(msg.content) * IMAGE_TOKEN_ESTIMATE;
|
|
123
132
|
if (tokenCount + msgTokens > maxTokens)
|
|
124
133
|
break;
|
|
125
134
|
gathered.unshift(msg);
|
|
@@ -381,15 +390,17 @@ export function buildPlanProgress(plan) {
|
|
|
381
390
|
* Each compaction adds one entry; prior entries are never modified.
|
|
382
391
|
*/
|
|
383
392
|
export function buildSessionLineage(originalTask, lineageEntries, compactionCount) {
|
|
393
|
+
// Omit the section entirely when there is no original task and no recorded
|
|
394
|
+
// compaction entries, matching the documented omit-on-empty contract.
|
|
395
|
+
if (!originalTask && lineageEntries.length === 0)
|
|
396
|
+
return null;
|
|
384
397
|
const lines = [];
|
|
385
398
|
if (originalTask) {
|
|
386
399
|
lines.push(`Original task: "${originalTask}"`);
|
|
387
400
|
}
|
|
388
|
-
lines.push(`
|
|
401
|
+
lines.push(`Prior compactions: ${compactionCount}`);
|
|
389
402
|
for (const entry of lineageEntries) {
|
|
390
403
|
lines.push(entry);
|
|
391
404
|
}
|
|
392
|
-
if (lines.length === 0)
|
|
393
|
-
return null;
|
|
394
405
|
return makeSection('session-lineage', '## Session Lineage', lines.join('\n'));
|
|
395
406
|
}
|
|
@@ -39,6 +39,12 @@ export declare const DEFAULT_COMPACTION_CONFIG: CompactionConfig;
|
|
|
39
39
|
export type { SessionMemory };
|
|
40
40
|
/** Rough token estimate for a string: 4 chars ≈ 1 token. */
|
|
41
41
|
export declare function estimateTokens(text: string): number;
|
|
42
|
+
/**
|
|
43
|
+
* Rough token cost for a single image content part. Image parts carry real provider
|
|
44
|
+
* token cost (Anthropic bills up to ~1600 tokens per image) but contribute no text,
|
|
45
|
+
* so threshold and overflow estimates must not treat them as free.
|
|
46
|
+
*/
|
|
47
|
+
export declare const IMAGE_TOKEN_ESTIMATE = 1600;
|
|
42
48
|
/** All data sources needed for compaction. Accept as plain data; do not import singletons. */
|
|
43
49
|
export interface CompactionContext {
|
|
44
50
|
/** Current conversation messages (as sent to LLM — no system messages). */
|
|
@@ -55,7 +61,7 @@ export interface CompactionContext {
|
|
|
55
61
|
lineageEntries: string[];
|
|
56
62
|
/** Original task description for lineage. Set on first compaction. */
|
|
57
63
|
originalTask?: string | undefined;
|
|
58
|
-
/** Number of compactions
|
|
64
|
+
/** Number of compactions already recorded before this one (excludes the in-flight compaction). */
|
|
59
65
|
compactionCount: number;
|
|
60
66
|
/** Context window size for the current model (used for threshold scaling). */
|
|
61
67
|
contextWindow: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compaction-types.d.ts","sourceRoot":"","sources":["../../../src/platform/core/compaction-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMzD,yCAAyC;AACzC,MAAM,WAAW,iBAAiB;IAChC,kFAAkF;IAClF,EAAE,EAAE,MAAM,CAAC;IACX,0FAA0F;IAC1F,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,6DAA6D;AAC7D,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,wBAAwB,EAAE,MAAM,CAAC;IACjC,2DAA2D;IAC3D,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2DAA2D;IAC3D,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yDAAyD;IACzD,uBAAuB,EAAE,MAAM,CAAC;IAChC,+DAA+D;IAC/D,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wCAAwC;AACxC,eAAO,MAAM,yBAAyB,EAAE,gBAOvC,CAAC;AAMF,YAAY,EAAE,aAAa,EAAE,CAAC;AAM9B,4DAA4D;AAC5D,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;
|
|
1
|
+
{"version":3,"file":"compaction-types.d.ts","sourceRoot":"","sources":["../../../src/platform/core/compaction-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,3 +19,9 @@ export const DEFAULT_COMPACTION_CONFIG = {
|
|
|
19
19
|
export function estimateTokens(text) {
|
|
20
20
|
return Math.ceil(text.length / 4);
|
|
21
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Rough token cost for a single image content part. Image parts carry real provider
|
|
24
|
+
* token cost (Anthropic bills up to ~1600 tokens per image) but contribute no text,
|
|
25
|
+
* so threshold and overflow estimates must not treat them as free.
|
|
26
|
+
*/
|
|
27
|
+
export const IMAGE_TOKEN_ESTIMATE = 1600;
|
|
@@ -33,7 +33,10 @@ export interface AutoCompactOptions {
|
|
|
33
33
|
contextWindow: number;
|
|
34
34
|
/** Whether auto-compact is already in progress (prevent re-entry). */
|
|
35
35
|
isCompacting: boolean;
|
|
36
|
-
/**
|
|
36
|
+
/**
|
|
37
|
+
* Usage percentage that triggers compaction. Defaults to 80. Set to 0 to disable
|
|
38
|
+
* the percentage trigger; the safety buffer still applies as an independent backstop.
|
|
39
|
+
*/
|
|
37
40
|
thresholdPercent?: number | undefined;
|
|
38
41
|
/** Remaining-token safety buffer that also triggers compaction. Defaults to 15000. */
|
|
39
42
|
minRemainingTokens?: number | undefined;
|
|
@@ -50,11 +53,24 @@ export interface AutoCompactDecision {
|
|
|
50
53
|
readonly safetyBufferTokens: number;
|
|
51
54
|
}
|
|
52
55
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
+
* Default remaining-token safety buffer for auto-compaction. Acts as a backstop:
|
|
57
|
+
* compaction triggers when the remaining context drops below this buffer. 15k gives
|
|
58
|
+
* room for the ~6.5k compaction output + LLM extraction calls on large windows.
|
|
59
|
+
* The effective buffer is capped at SAFETY_BUFFER_MAX_WINDOW_FRACTION of the context
|
|
60
|
+
* window (see getAutoCompactDecision) so it scales down on small/medium windows instead
|
|
61
|
+
* of forcing near-constant compaction, while remaining an independent backstop on large windows.
|
|
56
62
|
*/
|
|
57
63
|
export declare const COMPACTION_BUFFER_TOKENS = 15000;
|
|
64
|
+
/**
|
|
65
|
+
* The remaining-token safety buffer is capped at this fraction of the context
|
|
66
|
+
* window. A fixed token buffer (COMPACTION_BUFFER_TOKENS) must not reserve an
|
|
67
|
+
* outsized share of small/medium windows, so the effective buffer is the lesser
|
|
68
|
+
* of the configured buffer and this fraction of the window. On a 128k window the
|
|
69
|
+
* full buffer applies (128k * 0.125 = 16k >= 15k); on smaller windows it scales
|
|
70
|
+
* down so the backstop fires near the window edge rather than on near-empty
|
|
71
|
+
* conversations, while still firing independently of high percentage thresholds.
|
|
72
|
+
*/
|
|
73
|
+
export declare const SAFETY_BUFFER_MAX_WINDOW_FRACTION = 0.125;
|
|
58
74
|
export declare const DEFAULT_AUTO_COMPACT_THRESHOLD_PERCENT = 80;
|
|
59
75
|
/**
|
|
60
76
|
* Context windows smaller than this use simplified compaction (summarize last N messages)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-compaction.d.ts","sourceRoot":"","sources":["../../../src/platform/core/context-compaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAA4B,MAAM,2BAA2B,CAAC;AAC3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,KAAK,EAEV,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAEhB,MAAM,uBAAuB,CAAC;AAoB/B,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAElG,MAAM,WAAW,kBAAkB;IACjC,wDAAwD;IACxD,aAAa,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,aAAa,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,YAAY,EAAE,OAAO,CAAC;IACtB
|
|
1
|
+
{"version":3,"file":"context-compaction.d.ts","sourceRoot":"","sources":["../../../src/platform/core/context-compaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAA4B,MAAM,2BAA2B,CAAC;AAC3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,KAAK,EAEV,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAEhB,MAAM,uBAAuB,CAAC;AAoB/B,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAElG,MAAM,WAAW,kBAAkB;IACjC,wDAAwD;IACxD,aAAa,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,aAAa,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,YAAY,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,sFAAsF;IACtF,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,eAAe,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AAMD;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAC/C;;;;;;;;GAQG;AACH,eAAO,MAAM,iCAAiC,QAAQ,CAAC;AACvD,eAAO,MAAM,sCAAsC,KAAK,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAQ7C,wBAAgB,mBAAmB,IAAI,SAAS,eAAe,EAAE,CAEhE;AAED,wBAAgB,sBAAsB,IAAI,eAAe,GAAG,IAAI,CAI/D;AAMD,0EAA0E;AAC1E,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,MAAM,CAgB9E;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAYvD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,kBAAkB,GAAG,mBAAmB,CA2CpF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAEnE;AAMD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EAAE,EAC3B,UAAU,SAAK,GACd,eAAe,EAAE,CAanB;AAqHD;;GAEG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,iBAAiB,EACtB,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAE3B;AA0OD;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,kBAAkB,EAC5B,GAAG,EAAE,iBAAiB,EACtB,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAOlC"}
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* getLastCompactionEvent() — return most recent compaction event
|
|
24
24
|
*/
|
|
25
25
|
import { logger } from '../utils/logger.js';
|
|
26
|
-
import { DEFAULT_COMPACTION_CONFIG, estimateTokens } from './compaction-types.js';
|
|
26
|
+
import { DEFAULT_COMPACTION_CONFIG, IMAGE_TOKEN_ESTIMATE, estimateTokens } from './compaction-types.js';
|
|
27
27
|
import { summarizeError } from '../utils/error-display.js';
|
|
28
28
|
import { buildHandoffHeader, buildSessionMemories, buildCurrentTask, buildRunningAgents, gatherRecentConversation, buildConversationFilterPrompt, buildToolResultsPrompt, buildAgentActivityTable, buildOlderAgentSummaryPrompt, buildResolvedProblemsPrompt, buildPlanProgress, buildSessionLineage, extractText, } from './compaction-sections.js';
|
|
29
29
|
import { isActiveAgent } from '../tools/agent/predicates.js';
|
|
@@ -31,11 +31,24 @@ import { isActiveAgent } from '../tools/agent/predicates.js';
|
|
|
31
31
|
// Compaction trigger constants
|
|
32
32
|
// ---------------------------------------------------------------------------
|
|
33
33
|
/**
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
34
|
+
* Default remaining-token safety buffer for auto-compaction. Acts as a backstop:
|
|
35
|
+
* compaction triggers when the remaining context drops below this buffer. 15k gives
|
|
36
|
+
* room for the ~6.5k compaction output + LLM extraction calls on large windows.
|
|
37
|
+
* The effective buffer is capped at SAFETY_BUFFER_MAX_WINDOW_FRACTION of the context
|
|
38
|
+
* window (see getAutoCompactDecision) so it scales down on small/medium windows instead
|
|
39
|
+
* of forcing near-constant compaction, while remaining an independent backstop on large windows.
|
|
37
40
|
*/
|
|
38
41
|
export const COMPACTION_BUFFER_TOKENS = 15_000;
|
|
42
|
+
/**
|
|
43
|
+
* The remaining-token safety buffer is capped at this fraction of the context
|
|
44
|
+
* window. A fixed token buffer (COMPACTION_BUFFER_TOKENS) must not reserve an
|
|
45
|
+
* outsized share of small/medium windows, so the effective buffer is the lesser
|
|
46
|
+
* of the configured buffer and this fraction of the window. On a 128k window the
|
|
47
|
+
* full buffer applies (128k * 0.125 = 16k >= 15k); on smaller windows it scales
|
|
48
|
+
* down so the backstop fires near the window edge rather than on near-empty
|
|
49
|
+
* conversations, while still firing independently of high percentage thresholds.
|
|
50
|
+
*/
|
|
51
|
+
export const SAFETY_BUFFER_MAX_WINDOW_FRACTION = 0.125;
|
|
39
52
|
export const DEFAULT_AUTO_COMPACT_THRESHOLD_PERCENT = 80;
|
|
40
53
|
/**
|
|
41
54
|
* Context windows smaller than this use simplified compaction (summarize last N messages)
|
|
@@ -69,6 +82,9 @@ export function estimateConversationTokens(messages) {
|
|
|
69
82
|
if (part.type === 'text') {
|
|
70
83
|
total += estimateTokens(part.text);
|
|
71
84
|
}
|
|
85
|
+
else if (part.type === 'image') {
|
|
86
|
+
total += IMAGE_TOKEN_ESTIMATE;
|
|
87
|
+
}
|
|
72
88
|
}
|
|
73
89
|
}
|
|
74
90
|
}
|
|
@@ -93,12 +109,23 @@ export function getAutoCompactDecision(opts) {
|
|
|
93
109
|
const usagePct = contextWindow > 0 ? (currentTokens / contextWindow) * 100 : 0;
|
|
94
110
|
const thresholdTokens = contextWindow > 0 ? Math.floor((contextWindow * thresholdPercent) / 100) : 0;
|
|
95
111
|
const remainingTokens = Math.max(0, contextWindow - currentTokens);
|
|
112
|
+
// Scale the flat safety buffer to the window so a fixed token buffer never
|
|
113
|
+
// reserves an outsized share of small/medium windows. A flat 15k buffer would
|
|
114
|
+
// trip a 20k window at ~25% usage, and would fire on every request — even an
|
|
115
|
+
// empty conversation — for any window at or below the buffer size. Capping the
|
|
116
|
+
// buffer at a fraction of the window keeps the full configured buffer on large
|
|
117
|
+
// windows (e.g. 128k) while scaling it down on small ones, WITHOUT collapsing
|
|
118
|
+
// the backstop for high (or disabled) percentage thresholds, where the buffer
|
|
119
|
+
// is the only thing standing between usage and the window edge. (Clamping to
|
|
120
|
+
// the threshold headroom instead would make the buffer fire no earlier than the
|
|
121
|
+
// threshold itself, nullifying it as an independent backstop.)
|
|
122
|
+
const effectiveBuffer = Math.min(safetyBufferTokens, Math.floor(contextWindow * SAFETY_BUFFER_MAX_WINDOW_FRACTION));
|
|
96
123
|
let reason = null;
|
|
97
|
-
if (!opts.isCompacting && contextWindow > 0
|
|
98
|
-
if (currentTokens >= thresholdTokens) {
|
|
124
|
+
if (!opts.isCompacting && contextWindow > 0) {
|
|
125
|
+
if (thresholdPercent > 0 && currentTokens >= thresholdTokens) {
|
|
99
126
|
reason = 'threshold';
|
|
100
127
|
}
|
|
101
|
-
else if (remainingTokens <=
|
|
128
|
+
else if (currentTokens > 0 && effectiveBuffer > 0 && remainingTokens <= effectiveBuffer) {
|
|
102
129
|
reason = 'safety-buffer';
|
|
103
130
|
}
|
|
104
131
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/platform/core/conversation.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/platform/core/conversation.ts"],"names":[],"mappings":"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"}
|
|
@@ -135,9 +135,14 @@ export class ConversationManager {
|
|
|
135
135
|
}
|
|
136
136
|
addToolResults(results) {
|
|
137
137
|
for (const result of results) {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
138
|
+
// `output` must never be silently dropped on failure — many tools (e.g. exec)
|
|
139
|
+
// put the full diagnostic payload (exit code, stdout, stderr) in `output` even
|
|
140
|
+
// when `success` is false, and leave `error` unset for that failure shape.
|
|
141
|
+
const content = result.output !== undefined
|
|
142
|
+
? (result.success ? result.output : `Error: ${result.error ? result.error + '\n' : ''}${result.output}`)
|
|
143
|
+
: result.success
|
|
144
|
+
? 'Tool completed successfully.'
|
|
145
|
+
: `Error: ${result.error ?? 'Unknown error'}`;
|
|
141
146
|
const toolName = this.findToolName(result.callId);
|
|
142
147
|
this.messages.push({
|
|
143
148
|
role: 'tool',
|
|
@@ -298,7 +303,7 @@ export class ConversationManager {
|
|
|
298
303
|
};
|
|
299
304
|
}
|
|
300
305
|
fromJSON(data) {
|
|
301
|
-
this.messages = data.messages ?? [];
|
|
306
|
+
this.messages = cloneMessages(data.messages ?? []);
|
|
302
307
|
this._title = typeof data.title === 'string' ? data.title : '';
|
|
303
308
|
this._titleSource = data.titleSource === 'user' || data.titleSource === 'system'
|
|
304
309
|
? data.titleSource
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator-turn-loop.d.ts","sourceRoot":"","sources":["../../../src/platform/core/orchestrator-turn-loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAI1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAe,MAAM,2BAA2B,CAAC;AACvF,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"orchestrator-turn-loop.d.ts","sourceRoot":"","sources":["../../../src/platform/core/orchestrator-turn-loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { ConsecutiveErrorBreaker } from './circuit-breaker.js';
|
|
|
2
2
|
import { estimateConversationTokens, estimateTokens } from './context-compaction.js';
|
|
3
3
|
import { ProviderError, isNonTransientProviderFailure } from '../types/errors.js';
|
|
4
4
|
import { formatProviderError } from '../utils/error-display.js';
|
|
5
|
-
import { emitOpsCacheMetrics, emitOpsHelperUsage, emitLlmRequestStarted, emitLlmResponseReceived, emitPreflightFail, emitPreflightOk, emitStreamDelta, emitStreamEnd, emitStreamStart, emitTurnError, } from '../runtime/emitters/index.js';
|
|
5
|
+
import { emitOpsCacheMetrics, emitOpsHelperUsage, emitLlmRequestStarted, emitLlmResponseReceived, emitPreflightFail, emitPreflightOk, emitStreamDelta, emitStreamEnd, emitStreamRetry, emitStreamStart, emitTurnError, } from '../runtime/emitters/index.js';
|
|
6
6
|
import { HelperModel } from '../config/helper-model.js';
|
|
7
7
|
import { logger } from '../utils/logger.js';
|
|
8
8
|
import { emitMalformedToolUseWarning, handleFinalResponseOutcome, handleToolResponseOutcome, } from './orchestrator-turn-helpers.js';
|
|
@@ -108,6 +108,8 @@ export async function executeOrchestratorTurnLoop(context) {
|
|
|
108
108
|
promptSummary: '<redacted-length-unknown>',
|
|
109
109
|
});
|
|
110
110
|
}
|
|
111
|
+
const chatStartedAt = Date.now();
|
|
112
|
+
let chatRetries = 0;
|
|
111
113
|
try {
|
|
112
114
|
const baseSystemPrompt = appendGoodVibesRuntimeAwarenessPrompt(context.getSystemPrompt());
|
|
113
115
|
const wrfcRoutingPrompt = buildWrfcWorkflowRoutingPrompt(context.text);
|
|
@@ -125,6 +127,19 @@ export async function executeOrchestratorTurnLoop(context) {
|
|
|
125
127
|
})(),
|
|
126
128
|
signal: context.getAbortSignal(),
|
|
127
129
|
onDelta,
|
|
130
|
+
onRetry: (attempt, maxAttempts, delayMs, error) => {
|
|
131
|
+
chatRetries = attempt;
|
|
132
|
+
if (context.runtimeBus) {
|
|
133
|
+
emitStreamRetry(context.runtimeBus, context.emitterContext(context.turnId), {
|
|
134
|
+
turnId: context.turnId,
|
|
135
|
+
provider: model.provider,
|
|
136
|
+
attempt,
|
|
137
|
+
maxAttempts,
|
|
138
|
+
delayMs,
|
|
139
|
+
reason: error.message,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
},
|
|
128
143
|
});
|
|
129
144
|
}
|
|
130
145
|
catch (chatErr) {
|
|
@@ -179,7 +194,9 @@ export async function executeOrchestratorTurnLoop(context) {
|
|
|
179
194
|
...response,
|
|
180
195
|
usage: context.normalizeUsage(response.usage),
|
|
181
196
|
};
|
|
182
|
-
void context.favoritesStore?.recordUsage(model.registryKey)
|
|
197
|
+
void context.favoritesStore?.recordUsage(model.registryKey).catch((err) => logger.warn('favoritesStore.recordUsage failed', {
|
|
198
|
+
error: err instanceof Error ? err.message : String(err),
|
|
199
|
+
}));
|
|
183
200
|
context.usage.input += response.usage.inputTokens;
|
|
184
201
|
context.usage.output += response.usage.outputTokens;
|
|
185
202
|
context.usage.cacheRead += response.usage.cacheReadTokens ?? 0;
|
|
@@ -223,6 +240,8 @@ export async function executeOrchestratorTurnLoop(context) {
|
|
|
223
240
|
outputTokens: response.usage.outputTokens,
|
|
224
241
|
cacheReadTokens: response.usage.cacheReadTokens,
|
|
225
242
|
cacheWriteTokens: response.usage.cacheWriteTokens,
|
|
243
|
+
durationMs: Date.now() - chatStartedAt,
|
|
244
|
+
retries: chatRetries,
|
|
226
245
|
});
|
|
227
246
|
}
|
|
228
247
|
if (context.hookDispatcher) {
|
|
@@ -297,7 +316,7 @@ export async function executeOrchestratorTurnLoop(context) {
|
|
|
297
316
|
});
|
|
298
317
|
}
|
|
299
318
|
context.markTurnFailed();
|
|
300
|
-
|
|
319
|
+
break;
|
|
301
320
|
}
|
|
302
321
|
else if (breakerResult === 'warn') {
|
|
303
322
|
context.conversation.addSystemMessage(`WARNING: You have made ${circuitBreaker.consecutiveErrors} consecutive tool calls that ALL failed. `
|
|
@@ -216,6 +216,18 @@ export declare class Orchestrator {
|
|
|
216
216
|
* @param options - Optional origin metadata for external surfaces.
|
|
217
217
|
*/
|
|
218
218
|
handleUserInput(text: string, content?: ContentPart[], options?: OrchestratorUserInputOptions | undefined): Promise<void>;
|
|
219
|
+
/**
|
|
220
|
+
* Drain queued user messages sequentially. Skips draining while a turn is in
|
|
221
|
+
* flight or a background auto-compaction is running; in the latter case
|
|
222
|
+
* setCompacting() re-triggers the drain once compaction settles, so no queued
|
|
223
|
+
* message is lost.
|
|
224
|
+
*/
|
|
225
|
+
private drainMessageQueue;
|
|
226
|
+
/**
|
|
227
|
+
* Single funnel for mutating the compaction flag. On the true->false edge it
|
|
228
|
+
* resumes draining any messages that were queued while compaction was in flight.
|
|
229
|
+
*/
|
|
230
|
+
private setCompacting;
|
|
219
231
|
private startThinking;
|
|
220
232
|
private stopThinking;
|
|
221
233
|
private runTurn;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/platform/core/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/platform/core/orchestrator.ts"],"names":[],"mappings":"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"}
|