@dexto/core 1.8.12 → 1.9.1
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/approval/manager.cjs +37 -325
- package/dist/approval/manager.d.ts +10 -109
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +37 -316
- package/dist/approval/schemas.cjs +8 -51
- package/dist/approval/schemas.d.ts +5 -179
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +8 -47
- package/dist/approval/types.cjs +0 -6
- package/dist/approval/types.d.ts +2 -27
- package/dist/approval/types.d.ts.map +1 -1
- package/dist/approval/types.js +0 -6
- package/dist/context/compaction/strategies/reactive-overflow-compaction.cjs +2 -0
- package/dist/context/compaction/strategies/reactive-overflow-compaction.d.ts.map +1 -1
- package/dist/context/compaction/strategies/reactive-overflow-compaction.js +2 -0
- package/dist/context/content-clone.cjs +55 -10
- package/dist/context/content-clone.d.ts +1 -0
- package/dist/context/content-clone.d.ts.map +1 -1
- package/dist/context/content-clone.js +53 -9
- package/dist/context/manager.cjs +25 -4
- package/dist/context/manager.d.ts +4 -2
- package/dist/context/manager.d.ts.map +1 -1
- package/dist/context/manager.js +25 -4
- package/dist/context/schemas.cjs +15 -1
- package/dist/context/schemas.d.ts.map +1 -1
- package/dist/context/schemas.js +15 -1
- package/dist/context/types.d.ts +11 -0
- package/dist/context/types.d.ts.map +1 -1
- package/dist/errors/DextoRuntimeError.cjs +3 -1
- package/dist/errors/DextoRuntimeError.d.ts +5 -3
- package/dist/errors/DextoRuntimeError.d.ts.map +1 -1
- package/dist/errors/DextoRuntimeError.js +3 -1
- package/dist/errors/index.d.ts +1 -1
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/types.d.ts +1 -0
- package/dist/errors/types.d.ts.map +1 -1
- package/dist/events/index.d.ts +2 -2
- package/dist/events/index.d.ts.map +1 -1
- package/dist/llm/executor/provider-error.cjs +25 -4
- package/dist/llm/executor/provider-error.d.ts.map +1 -1
- package/dist/llm/executor/provider-error.js +25 -4
- package/dist/llm/executor/stream-processor.cjs +98 -7
- package/dist/llm/executor/stream-processor.d.ts.map +1 -1
- package/dist/llm/executor/stream-processor.js +98 -7
- package/dist/llm/executor/turn-executor.cjs +96 -28
- package/dist/llm/executor/turn-executor.d.ts +2 -0
- package/dist/llm/executor/turn-executor.d.ts.map +1 -1
- package/dist/llm/executor/turn-executor.js +96 -28
- package/dist/llm/providers/local/schemas.d.ts +2 -2
- package/dist/llm/services/factory.cjs +3 -2
- package/dist/llm/services/factory.d.ts.map +1 -1
- package/dist/llm/services/factory.js +3 -2
- package/dist/llm/services/types.d.ts +8 -0
- package/dist/llm/services/types.d.ts.map +1 -1
- package/dist/llm/services/vercel.cjs +6 -1
- package/dist/llm/services/vercel.d.ts +3 -2
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +6 -1
- package/dist/session/chat-session.cjs +4 -0
- package/dist/session/chat-session.d.ts +2 -1
- package/dist/session/chat-session.d.ts.map +1 -1
- package/dist/session/chat-session.js +4 -0
- package/dist/session/message-queue.cjs +48 -75
- package/dist/session/message-queue.d.ts +1 -2
- package/dist/session/message-queue.d.ts.map +1 -1
- package/dist/session/message-queue.js +48 -75
- package/dist/session/session-manager.cjs +14 -32
- package/dist/session/session-manager.d.ts +5 -2
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +14 -32
- package/dist/storage/approvals/types.cjs +2 -9
- package/dist/storage/approvals/types.d.ts +4 -16
- package/dist/storage/approvals/types.d.ts.map +1 -1
- package/dist/storage/approvals/types.js +2 -8
- package/dist/storage/database/types.d.ts +5 -0
- package/dist/storage/database/types.d.ts.map +1 -1
- package/dist/storage/index.cjs +0 -2
- package/dist/storage/index.d.ts +2 -2
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +1 -2
- package/dist/storage/message-queue/types.d.ts +14 -6
- package/dist/storage/message-queue/types.d.ts.map +1 -1
- package/dist/storage/stores/backend.cjs +68 -32
- package/dist/storage/stores/backend.d.ts +17 -8
- package/dist/storage/stores/backend.d.ts.map +1 -1
- package/dist/storage/stores/backend.js +69 -33
- package/dist/storage/stores/in-memory.cjs +26 -11
- package/dist/storage/stores/in-memory.d.ts.map +1 -1
- package/dist/storage/stores/in-memory.js +27 -12
- package/dist/test-utils/in-memory-storage.cjs +11 -0
- package/dist/test-utils/in-memory-storage.js +11 -0
- package/dist/test-utils/session-state-stores.cjs +25 -9
- package/dist/test-utils/session-state-stores.js +26 -10
- package/dist/tools/approval/tool-approval-policy.cjs +87 -0
- package/dist/tools/approval/tool-approval-policy.d.ts +34 -0
- package/dist/tools/approval/tool-approval-policy.d.ts.map +1 -0
- package/dist/tools/approval/tool-approval-policy.js +64 -0
- package/dist/tools/error-codes.cjs +0 -1
- package/dist/tools/error-codes.d.ts +0 -1
- package/dist/tools/error-codes.d.ts.map +1 -1
- package/dist/tools/error-codes.js +0 -1
- package/dist/tools/errors.cjs +0 -15
- package/dist/tools/errors.d.ts +0 -9
- package/dist/tools/errors.d.ts.map +1 -1
- package/dist/tools/errors.js +0 -15
- package/dist/tools/index.cjs +2 -0
- package/dist/tools/index.d.ts +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +5 -1
- package/dist/tools/tool-manager.cjs +94 -312
- package/dist/tools/tool-manager.d.ts +4 -19
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +95 -316
- package/dist/tools/types.d.ts +10 -9
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/utils/service-initializer.cjs +3 -0
- package/dist/utils/service-initializer.d.ts +2 -1
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +3 -0
- package/package.json +2 -2
- package/dist/tools/pattern-utils.cjs +0 -33
- package/dist/tools/pattern-utils.d.ts +0 -20
- package/dist/tools/pattern-utils.d.ts.map +0 -1
- package/dist/tools/pattern-utils.js +0 -10
|
@@ -22,7 +22,8 @@ __export(content_clone_exports, {
|
|
|
22
22
|
cloneContentParts: () => cloneContentParts,
|
|
23
23
|
cloneInternalMessage: () => cloneInternalMessage,
|
|
24
24
|
cloneInternalMessages: () => cloneInternalMessages,
|
|
25
|
-
clonePromptContentPart: () => clonePromptContentPart
|
|
25
|
+
clonePromptContentPart: () => clonePromptContentPart,
|
|
26
|
+
cloneStructuredValuePreservingUrls: () => cloneStructuredValuePreservingUrls
|
|
26
27
|
});
|
|
27
28
|
module.exports = __toCommonJS(content_clone_exports);
|
|
28
29
|
function cloneBinaryData(data) {
|
|
@@ -32,6 +33,45 @@ function cloneBinaryData(data) {
|
|
|
32
33
|
if (typeof Buffer !== "undefined" && Buffer.isBuffer(data)) return Buffer.from(data);
|
|
33
34
|
return new Uint8Array(data);
|
|
34
35
|
}
|
|
36
|
+
function cloneStructuredValuePreservingUrls(value) {
|
|
37
|
+
return cloneValueWithUrlSupport(value, /* @__PURE__ */ new WeakMap());
|
|
38
|
+
}
|
|
39
|
+
function cloneValueWithUrlSupport(value, seen) {
|
|
40
|
+
if (value instanceof URL) {
|
|
41
|
+
return new URL(value.href);
|
|
42
|
+
}
|
|
43
|
+
if (typeof Buffer !== "undefined" && Buffer.isBuffer(value)) {
|
|
44
|
+
return Buffer.from(value);
|
|
45
|
+
}
|
|
46
|
+
if (value instanceof ArrayBuffer) {
|
|
47
|
+
return value.slice(0);
|
|
48
|
+
}
|
|
49
|
+
if (ArrayBuffer.isView(value)) {
|
|
50
|
+
return structuredClone(value);
|
|
51
|
+
}
|
|
52
|
+
if (value === null || typeof value !== "object") {
|
|
53
|
+
return value;
|
|
54
|
+
}
|
|
55
|
+
if (seen.has(value)) {
|
|
56
|
+
return seen.get(value);
|
|
57
|
+
}
|
|
58
|
+
if (Array.isArray(value)) {
|
|
59
|
+
const cloned2 = [];
|
|
60
|
+
seen.set(value, cloned2);
|
|
61
|
+
cloned2.push(...value.map((item) => cloneValueWithUrlSupport(item, seen)));
|
|
62
|
+
return cloned2;
|
|
63
|
+
}
|
|
64
|
+
const prototype = Object.getPrototypeOf(value);
|
|
65
|
+
if (prototype !== Object.prototype && prototype !== null) {
|
|
66
|
+
return structuredClone(value);
|
|
67
|
+
}
|
|
68
|
+
const cloned = {};
|
|
69
|
+
seen.set(value, cloned);
|
|
70
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
71
|
+
cloned[key] = cloneValueWithUrlSupport(entry, seen);
|
|
72
|
+
}
|
|
73
|
+
return cloned;
|
|
74
|
+
}
|
|
35
75
|
function cloneImagePart(part) {
|
|
36
76
|
const cloned = {
|
|
37
77
|
type: "image",
|
|
@@ -98,23 +138,27 @@ function clonePromptContentPart(part) {
|
|
|
98
138
|
function cloneInternalMessage(message) {
|
|
99
139
|
switch (message.role) {
|
|
100
140
|
case "assistant": {
|
|
101
|
-
const
|
|
141
|
+
const { content, ...messageWithoutContent } = message;
|
|
142
|
+
const cloned = cloneStructuredValuePreservingUrls(messageWithoutContent);
|
|
102
143
|
return {
|
|
103
144
|
...cloned,
|
|
104
|
-
content:
|
|
145
|
+
content: content === null ? null : cloneContentParts(content)
|
|
105
146
|
};
|
|
106
147
|
}
|
|
107
148
|
case "system": {
|
|
108
|
-
const
|
|
109
|
-
|
|
149
|
+
const { content, ...messageWithoutContent } = message;
|
|
150
|
+
const cloned = cloneStructuredValuePreservingUrls(messageWithoutContent);
|
|
151
|
+
return { ...cloned, content: cloneContentParts(content) };
|
|
110
152
|
}
|
|
111
153
|
case "user": {
|
|
112
|
-
const
|
|
113
|
-
|
|
154
|
+
const { content, ...messageWithoutContent } = message;
|
|
155
|
+
const cloned = cloneStructuredValuePreservingUrls(messageWithoutContent);
|
|
156
|
+
return { ...cloned, content: cloneContentParts(content) };
|
|
114
157
|
}
|
|
115
158
|
case "tool": {
|
|
116
|
-
const
|
|
117
|
-
|
|
159
|
+
const { content, ...messageWithoutContent } = message;
|
|
160
|
+
const cloned = cloneStructuredValuePreservingUrls(messageWithoutContent);
|
|
161
|
+
return { ...cloned, content: cloneContentParts(content) };
|
|
118
162
|
}
|
|
119
163
|
}
|
|
120
164
|
}
|
|
@@ -127,5 +171,6 @@ function cloneInternalMessages(messages) {
|
|
|
127
171
|
cloneContentParts,
|
|
128
172
|
cloneInternalMessage,
|
|
129
173
|
cloneInternalMessages,
|
|
130
|
-
clonePromptContentPart
|
|
174
|
+
clonePromptContentPart,
|
|
175
|
+
cloneStructuredValuePreservingUrls
|
|
131
176
|
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ContentPart, FilePart, ImagePart, InternalMessage, TextPart } from './types.js';
|
|
2
|
+
export declare function cloneStructuredValuePreservingUrls<T>(value: T): T;
|
|
2
3
|
export declare function cloneContentPart(part: ContentPart): ContentPart;
|
|
3
4
|
export declare function cloneContentParts(content: ContentPart[]): ContentPart[];
|
|
4
5
|
export declare function clonePromptContentPart(part: TextPart | ImagePart | FilePart): TextPart | ImagePart | FilePart;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-clone.d.ts","sourceRoot":"","sources":["../../src/context/content-clone.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"content-clone.d.ts","sourceRoot":"","sources":["../../src/context/content-clone.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAY9F,wBAAgB,kCAAkC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAEjE;AAkED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,CAgC/D;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAEvE;AAED,wBAAgB,sBAAsB,CAClC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GACtC,QAAQ,GAAG,SAAS,GAAG,QAAQ,CASjC;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,eAAe,CA0B9E;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,eAAe,EAAE,CAEpF"}
|
|
@@ -6,6 +6,45 @@ function cloneBinaryData(data) {
|
|
|
6
6
|
if (typeof Buffer !== "undefined" && Buffer.isBuffer(data)) return Buffer.from(data);
|
|
7
7
|
return new Uint8Array(data);
|
|
8
8
|
}
|
|
9
|
+
function cloneStructuredValuePreservingUrls(value) {
|
|
10
|
+
return cloneValueWithUrlSupport(value, /* @__PURE__ */ new WeakMap());
|
|
11
|
+
}
|
|
12
|
+
function cloneValueWithUrlSupport(value, seen) {
|
|
13
|
+
if (value instanceof URL) {
|
|
14
|
+
return new URL(value.href);
|
|
15
|
+
}
|
|
16
|
+
if (typeof Buffer !== "undefined" && Buffer.isBuffer(value)) {
|
|
17
|
+
return Buffer.from(value);
|
|
18
|
+
}
|
|
19
|
+
if (value instanceof ArrayBuffer) {
|
|
20
|
+
return value.slice(0);
|
|
21
|
+
}
|
|
22
|
+
if (ArrayBuffer.isView(value)) {
|
|
23
|
+
return structuredClone(value);
|
|
24
|
+
}
|
|
25
|
+
if (value === null || typeof value !== "object") {
|
|
26
|
+
return value;
|
|
27
|
+
}
|
|
28
|
+
if (seen.has(value)) {
|
|
29
|
+
return seen.get(value);
|
|
30
|
+
}
|
|
31
|
+
if (Array.isArray(value)) {
|
|
32
|
+
const cloned2 = [];
|
|
33
|
+
seen.set(value, cloned2);
|
|
34
|
+
cloned2.push(...value.map((item) => cloneValueWithUrlSupport(item, seen)));
|
|
35
|
+
return cloned2;
|
|
36
|
+
}
|
|
37
|
+
const prototype = Object.getPrototypeOf(value);
|
|
38
|
+
if (prototype !== Object.prototype && prototype !== null) {
|
|
39
|
+
return structuredClone(value);
|
|
40
|
+
}
|
|
41
|
+
const cloned = {};
|
|
42
|
+
seen.set(value, cloned);
|
|
43
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
44
|
+
cloned[key] = cloneValueWithUrlSupport(entry, seen);
|
|
45
|
+
}
|
|
46
|
+
return cloned;
|
|
47
|
+
}
|
|
9
48
|
function cloneImagePart(part) {
|
|
10
49
|
const cloned = {
|
|
11
50
|
type: "image",
|
|
@@ -72,23 +111,27 @@ function clonePromptContentPart(part) {
|
|
|
72
111
|
function cloneInternalMessage(message) {
|
|
73
112
|
switch (message.role) {
|
|
74
113
|
case "assistant": {
|
|
75
|
-
const
|
|
114
|
+
const { content, ...messageWithoutContent } = message;
|
|
115
|
+
const cloned = cloneStructuredValuePreservingUrls(messageWithoutContent);
|
|
76
116
|
return {
|
|
77
117
|
...cloned,
|
|
78
|
-
content:
|
|
118
|
+
content: content === null ? null : cloneContentParts(content)
|
|
79
119
|
};
|
|
80
120
|
}
|
|
81
121
|
case "system": {
|
|
82
|
-
const
|
|
83
|
-
|
|
122
|
+
const { content, ...messageWithoutContent } = message;
|
|
123
|
+
const cloned = cloneStructuredValuePreservingUrls(messageWithoutContent);
|
|
124
|
+
return { ...cloned, content: cloneContentParts(content) };
|
|
84
125
|
}
|
|
85
126
|
case "user": {
|
|
86
|
-
const
|
|
87
|
-
|
|
127
|
+
const { content, ...messageWithoutContent } = message;
|
|
128
|
+
const cloned = cloneStructuredValuePreservingUrls(messageWithoutContent);
|
|
129
|
+
return { ...cloned, content: cloneContentParts(content) };
|
|
88
130
|
}
|
|
89
131
|
case "tool": {
|
|
90
|
-
const
|
|
91
|
-
|
|
132
|
+
const { content, ...messageWithoutContent } = message;
|
|
133
|
+
const cloned = cloneStructuredValuePreservingUrls(messageWithoutContent);
|
|
134
|
+
return { ...cloned, content: cloneContentParts(content) };
|
|
92
135
|
}
|
|
93
136
|
}
|
|
94
137
|
}
|
|
@@ -100,5 +143,6 @@ export {
|
|
|
100
143
|
cloneContentParts,
|
|
101
144
|
cloneInternalMessage,
|
|
102
145
|
cloneInternalMessages,
|
|
103
|
-
clonePromptContentPart
|
|
146
|
+
clonePromptContentPart,
|
|
147
|
+
cloneStructuredValuePreservingUrls
|
|
104
148
|
};
|
package/dist/context/manager.cjs
CHANGED
|
@@ -38,6 +38,12 @@ var import_utils = require("./utils.js");
|
|
|
38
38
|
var import_errors = require("./errors.js");
|
|
39
39
|
var import_media_helpers = require("./media-helpers.js");
|
|
40
40
|
var import_content_audit = require("./content-audit.js");
|
|
41
|
+
function isVisibleInPreparedHistory(message) {
|
|
42
|
+
if (message.role !== "assistant") {
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
return message.assistantOutput.status === "complete";
|
|
46
|
+
}
|
|
41
47
|
class ContextManager {
|
|
42
48
|
static PROMPT_MEDIA_RETENTION_MESSAGES = 2;
|
|
43
49
|
/**
|
|
@@ -352,7 +358,8 @@ class ContextManager {
|
|
|
352
358
|
*
|
|
353
359
|
* Transformations applied:
|
|
354
360
|
* 1. filterCompacted - Remove pre-summary messages (messages before the most recent summary)
|
|
355
|
-
* 2.
|
|
361
|
+
* 2. Remove non-complete assistant outputs and their dependent tool messages
|
|
362
|
+
* 3. Transform pruned tool messages - Replace compactedAt messages with placeholder text
|
|
356
363
|
*
|
|
357
364
|
* Used by both:
|
|
358
365
|
* - getFormattedMessagesForLLM() - For actual LLM calls
|
|
@@ -365,11 +372,23 @@ class ContextManager {
|
|
|
365
372
|
sessionId: this.sessionId
|
|
366
373
|
});
|
|
367
374
|
const originalCount = fullHistory.length;
|
|
368
|
-
|
|
375
|
+
const visibleToolCallIds = /* @__PURE__ */ new Set();
|
|
376
|
+
let history = (0, import_utils.filterCompacted)(fullHistory).filter((message) => {
|
|
377
|
+
const isVisible = isVisibleInPreparedHistory(message);
|
|
378
|
+
if (isVisible && message.role === "assistant") {
|
|
379
|
+
for (const toolCall of message.toolCalls ?? []) {
|
|
380
|
+
visibleToolCallIds.add(toolCall.id);
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
return isVisible;
|
|
384
|
+
});
|
|
385
|
+
history = history.filter((message) => {
|
|
386
|
+
return message.role !== "tool" || visibleToolCallIds.has(message.toolCallId);
|
|
387
|
+
});
|
|
369
388
|
const filteredCount = history.length;
|
|
370
389
|
if (filteredCount < originalCount) {
|
|
371
390
|
this.logger.debug(
|
|
372
|
-
`prepareHistory:
|
|
391
|
+
`prepareHistory: reduced from ${originalCount} to ${filteredCount} model-visible messages`
|
|
373
392
|
);
|
|
374
393
|
}
|
|
375
394
|
let prunedToolCount = 0;
|
|
@@ -439,6 +458,7 @@ ${prompt}`);
|
|
|
439
458
|
const clearMarker = {
|
|
440
459
|
id: `clear-${Date.now()}`,
|
|
441
460
|
role: "assistant",
|
|
461
|
+
assistantOutput: { status: "complete" },
|
|
442
462
|
content: [{ type: "text", text: "[Context cleared]" }],
|
|
443
463
|
timestamp: Date.now(),
|
|
444
464
|
metadata: {
|
|
@@ -679,7 +699,8 @@ ${prompt}`);
|
|
|
679
699
|
estimatedCost: metadata.estimatedCost
|
|
680
700
|
},
|
|
681
701
|
...metadata?.pricingStatus && { pricingStatus: metadata.pricingStatus },
|
|
682
|
-
...metadata?.usageScopeId && { usageScopeId: metadata.usageScopeId }
|
|
702
|
+
...metadata?.usageScopeId && { usageScopeId: metadata.usageScopeId },
|
|
703
|
+
assistantOutput: metadata?.assistantOutput ?? { status: "complete" }
|
|
683
704
|
});
|
|
684
705
|
}
|
|
685
706
|
/**
|
|
@@ -141,7 +141,8 @@ export declare class ContextManager<TMessage = unknown> {
|
|
|
141
141
|
*
|
|
142
142
|
* Transformations applied:
|
|
143
143
|
* 1. filterCompacted - Remove pre-summary messages (messages before the most recent summary)
|
|
144
|
-
* 2.
|
|
144
|
+
* 2. Remove non-complete assistant outputs and their dependent tool messages
|
|
145
|
+
* 3. Transform pruned tool messages - Replace compactedAt messages with placeholder text
|
|
145
146
|
*
|
|
146
147
|
* Used by both:
|
|
147
148
|
* - getFormattedMessagesForLLM() - For actual LLM calls
|
|
@@ -154,7 +155,7 @@ export declare class ContextManager<TMessage = unknown> {
|
|
|
154
155
|
stats: {
|
|
155
156
|
/** Total messages in raw history */
|
|
156
157
|
originalCount: number;
|
|
157
|
-
/** Messages after
|
|
158
|
+
/** Messages after model-history filters */
|
|
158
159
|
filteredCount: number;
|
|
159
160
|
/** Messages with compactedAt that were transformed to placeholders */
|
|
160
161
|
prunedToolCount: number;
|
|
@@ -247,6 +248,7 @@ export declare class ContextManager<TMessage = unknown> {
|
|
|
247
248
|
estimatedCost?: AssistantMessage['estimatedCost'];
|
|
248
249
|
pricingStatus?: AssistantMessage['pricingStatus'];
|
|
249
250
|
usageScopeId?: AssistantMessage['usageScopeId'];
|
|
251
|
+
assistantOutput?: AssistantMessage['assistantOutput'];
|
|
250
252
|
}): Promise<void>;
|
|
251
253
|
/**
|
|
252
254
|
* Adds a tool result message to the conversation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/context/manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAUpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/context/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/context/manager.js
CHANGED
|
@@ -13,6 +13,12 @@ import {
|
|
|
13
13
|
import { ContextError } from "./errors.js";
|
|
14
14
|
import { getResourceKind } from "./media-helpers.js";
|
|
15
15
|
import { describeContentPartsForAudit } from "./content-audit.js";
|
|
16
|
+
function isVisibleInPreparedHistory(message) {
|
|
17
|
+
if (message.role !== "assistant") {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
return message.assistantOutput.status === "complete";
|
|
21
|
+
}
|
|
16
22
|
class ContextManager {
|
|
17
23
|
static PROMPT_MEDIA_RETENTION_MESSAGES = 2;
|
|
18
24
|
/**
|
|
@@ -327,7 +333,8 @@ class ContextManager {
|
|
|
327
333
|
*
|
|
328
334
|
* Transformations applied:
|
|
329
335
|
* 1. filterCompacted - Remove pre-summary messages (messages before the most recent summary)
|
|
330
|
-
* 2.
|
|
336
|
+
* 2. Remove non-complete assistant outputs and their dependent tool messages
|
|
337
|
+
* 3. Transform pruned tool messages - Replace compactedAt messages with placeholder text
|
|
331
338
|
*
|
|
332
339
|
* Used by both:
|
|
333
340
|
* - getFormattedMessagesForLLM() - For actual LLM calls
|
|
@@ -340,11 +347,23 @@ class ContextManager {
|
|
|
340
347
|
sessionId: this.sessionId
|
|
341
348
|
});
|
|
342
349
|
const originalCount = fullHistory.length;
|
|
343
|
-
|
|
350
|
+
const visibleToolCallIds = /* @__PURE__ */ new Set();
|
|
351
|
+
let history = filterCompacted(fullHistory).filter((message) => {
|
|
352
|
+
const isVisible = isVisibleInPreparedHistory(message);
|
|
353
|
+
if (isVisible && message.role === "assistant") {
|
|
354
|
+
for (const toolCall of message.toolCalls ?? []) {
|
|
355
|
+
visibleToolCallIds.add(toolCall.id);
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
return isVisible;
|
|
359
|
+
});
|
|
360
|
+
history = history.filter((message) => {
|
|
361
|
+
return message.role !== "tool" || visibleToolCallIds.has(message.toolCallId);
|
|
362
|
+
});
|
|
344
363
|
const filteredCount = history.length;
|
|
345
364
|
if (filteredCount < originalCount) {
|
|
346
365
|
this.logger.debug(
|
|
347
|
-
`prepareHistory:
|
|
366
|
+
`prepareHistory: reduced from ${originalCount} to ${filteredCount} model-visible messages`
|
|
348
367
|
);
|
|
349
368
|
}
|
|
350
369
|
let prunedToolCount = 0;
|
|
@@ -414,6 +433,7 @@ ${prompt}`);
|
|
|
414
433
|
const clearMarker = {
|
|
415
434
|
id: `clear-${Date.now()}`,
|
|
416
435
|
role: "assistant",
|
|
436
|
+
assistantOutput: { status: "complete" },
|
|
417
437
|
content: [{ type: "text", text: "[Context cleared]" }],
|
|
418
438
|
timestamp: Date.now(),
|
|
419
439
|
metadata: {
|
|
@@ -654,7 +674,8 @@ ${prompt}`);
|
|
|
654
674
|
estimatedCost: metadata.estimatedCost
|
|
655
675
|
},
|
|
656
676
|
...metadata?.pricingStatus && { pricingStatus: metadata.pricingStatus },
|
|
657
|
-
...metadata?.usageScopeId && { usageScopeId: metadata.usageScopeId }
|
|
677
|
+
...metadata?.usageScopeId && { usageScopeId: metadata.usageScopeId },
|
|
678
|
+
assistantOutput: metadata?.assistantOutput ?? { status: "complete" }
|
|
658
679
|
});
|
|
659
680
|
}
|
|
660
681
|
/**
|
package/dist/context/schemas.cjs
CHANGED
|
@@ -48,6 +48,20 @@ function isContentPart(value) {
|
|
|
48
48
|
function isContentParts(value) {
|
|
49
49
|
return Array.isArray(value) && value.every(isContentPart);
|
|
50
50
|
}
|
|
51
|
+
function isAssistantOutputLifecycle(value) {
|
|
52
|
+
if (!isRecord(value)) {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
switch (value.status) {
|
|
56
|
+
case "draft":
|
|
57
|
+
case "complete":
|
|
58
|
+
return value.reason === void 0;
|
|
59
|
+
case "stopped":
|
|
60
|
+
return value.reason === "cancelled" || value.reason === "user_stopped" || value.reason === "replaced" || value.reason === "failed";
|
|
61
|
+
default:
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
51
65
|
const ContentPartSchema = import_zod.z.custom(isContentPart, {
|
|
52
66
|
message: "Expected a Dexto content part."
|
|
53
67
|
});
|
|
@@ -61,7 +75,7 @@ const InternalMessageSchema = import_zod.z.custom(
|
|
|
61
75
|
case "user":
|
|
62
76
|
return isContentParts(value.content);
|
|
63
77
|
case "assistant":
|
|
64
|
-
return value.content === null || isContentParts(value.content);
|
|
78
|
+
return (value.content === null || isContentParts(value.content)) && isAssistantOutputLifecycle(value.assistantOutput);
|
|
65
79
|
case "tool":
|
|
66
80
|
return isContentParts(value.content) && typeof value.toolCallId === "string" && typeof value.name === "string";
|
|
67
81
|
default:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/context/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/context/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAA4B,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAyDzF,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAEnD,CAAC;AAEH,eAAO,MAAM,qBAAqB,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CA0B5D,CAAC"}
|
package/dist/context/schemas.js
CHANGED
|
@@ -25,6 +25,20 @@ function isContentPart(value) {
|
|
|
25
25
|
function isContentParts(value) {
|
|
26
26
|
return Array.isArray(value) && value.every(isContentPart);
|
|
27
27
|
}
|
|
28
|
+
function isAssistantOutputLifecycle(value) {
|
|
29
|
+
if (!isRecord(value)) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
switch (value.status) {
|
|
33
|
+
case "draft":
|
|
34
|
+
case "complete":
|
|
35
|
+
return value.reason === void 0;
|
|
36
|
+
case "stopped":
|
|
37
|
+
return value.reason === "cancelled" || value.reason === "user_stopped" || value.reason === "replaced" || value.reason === "failed";
|
|
38
|
+
default:
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
28
42
|
const ContentPartSchema = z.custom(isContentPart, {
|
|
29
43
|
message: "Expected a Dexto content part."
|
|
30
44
|
});
|
|
@@ -38,7 +52,7 @@ const InternalMessageSchema = z.custom(
|
|
|
38
52
|
case "user":
|
|
39
53
|
return isContentParts(value.content);
|
|
40
54
|
case "assistant":
|
|
41
|
-
return value.content === null || isContentParts(value.content);
|
|
55
|
+
return (value.content === null || isContentParts(value.content)) && isAssistantOutputLifecycle(value.assistantOutput);
|
|
42
56
|
case "tool":
|
|
43
57
|
return isContentParts(value.content) && typeof value.toolCallId === "string" && typeof value.name === "string";
|
|
44
58
|
default:
|
package/dist/context/types.d.ts
CHANGED
|
@@ -199,10 +199,21 @@ export interface UserMessage extends MessageBase {
|
|
|
199
199
|
* Assistant message containing LLM response.
|
|
200
200
|
* May include text content, reasoning, and/or tool calls.
|
|
201
201
|
*/
|
|
202
|
+
export type AssistantOutputStopReason = 'cancelled' | 'user_stopped' | 'replaced' | 'failed';
|
|
203
|
+
export type AssistantOutputLifecycle = {
|
|
204
|
+
status: 'draft';
|
|
205
|
+
} | {
|
|
206
|
+
status: 'complete';
|
|
207
|
+
} | {
|
|
208
|
+
status: 'stopped';
|
|
209
|
+
reason: AssistantOutputStopReason;
|
|
210
|
+
};
|
|
202
211
|
export interface AssistantMessage extends MessageBase {
|
|
203
212
|
role: 'assistant';
|
|
204
213
|
/** Response content - null if message only contains tool calls */
|
|
205
214
|
content: ContentPart[] | null;
|
|
215
|
+
/** Lifecycle state for persisted assistant output. */
|
|
216
|
+
assistantOutput: AssistantOutputLifecycle;
|
|
206
217
|
/**
|
|
207
218
|
* Model reasoning text associated with this response.
|
|
208
219
|
* Present when the provider supports reasoning and returns a final reasoning trace.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/context/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/context/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,13 +23,14 @@ __export(DextoRuntimeError_exports, {
|
|
|
23
23
|
module.exports = __toCommonJS(DextoRuntimeError_exports);
|
|
24
24
|
var import_DextoBaseError = require("./DextoBaseError.js");
|
|
25
25
|
class DextoRuntimeError extends import_DextoBaseError.DextoBaseError {
|
|
26
|
-
constructor(code, scope, type, message, context, recovery, traceId) {
|
|
26
|
+
constructor(code, scope, type, message, context, recovery, traceId, retryDisposition = "unknown") {
|
|
27
27
|
super(message, traceId);
|
|
28
28
|
this.code = code;
|
|
29
29
|
this.scope = scope;
|
|
30
30
|
this.type = type;
|
|
31
31
|
this.context = context;
|
|
32
32
|
this.recovery = recovery;
|
|
33
|
+
this.retryDisposition = retryDisposition;
|
|
33
34
|
this.name = "DextoRuntimeError";
|
|
34
35
|
}
|
|
35
36
|
toJSON() {
|
|
@@ -40,6 +41,7 @@ class DextoRuntimeError extends import_DextoBaseError.DextoBaseError {
|
|
|
40
41
|
type: this.type,
|
|
41
42
|
context: this.context,
|
|
42
43
|
recovery: this.recovery,
|
|
44
|
+
...this.retryDisposition === "unknown" ? {} : { retryDisposition: this.retryDisposition },
|
|
43
45
|
traceId: this.traceId
|
|
44
46
|
};
|
|
45
47
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DextoBaseError } from './DextoBaseError.js';
|
|
2
2
|
import { ErrorScope } from './types.js';
|
|
3
3
|
import { ErrorType } from './types.js';
|
|
4
|
-
import type { DextoErrorCode } from './types.js';
|
|
4
|
+
import type { DextoErrorCode, ErrorRetryDisposition } from './types.js';
|
|
5
5
|
/**
|
|
6
6
|
* Runtime error class for single-issue errors
|
|
7
7
|
* Provides structured error information with scope, type, and recovery guidance
|
|
@@ -12,15 +12,17 @@ export declare class DextoRuntimeError<C = unknown> extends DextoBaseError {
|
|
|
12
12
|
readonly type: ErrorType;
|
|
13
13
|
readonly context?: C | undefined;
|
|
14
14
|
readonly recovery?: string | string[] | undefined;
|
|
15
|
-
|
|
15
|
+
readonly retryDisposition: ErrorRetryDisposition;
|
|
16
|
+
constructor(code: DextoErrorCode | string, scope: ErrorScope | string, type: ErrorType, message: string, context?: C | undefined, recovery?: string | string[] | undefined, traceId?: string, retryDisposition?: ErrorRetryDisposition);
|
|
16
17
|
toJSON(): {
|
|
18
|
+
traceId: string;
|
|
19
|
+
retryDisposition?: "retryable" | "non_retryable";
|
|
17
20
|
code: string;
|
|
18
21
|
message: string;
|
|
19
22
|
scope: string;
|
|
20
23
|
type: ErrorType;
|
|
21
24
|
context: C | undefined;
|
|
22
25
|
recovery: string | string[] | undefined;
|
|
23
|
-
traceId: string;
|
|
24
26
|
};
|
|
25
27
|
}
|
|
26
28
|
//# sourceMappingURL=DextoRuntimeError.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DextoRuntimeError.d.ts","sourceRoot":"","sources":["../../src/errors/DextoRuntimeError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"DextoRuntimeError.d.ts","sourceRoot":"","sources":["../../src/errors/DextoRuntimeError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExE;;;GAGG;AACH,qBAAa,iBAAiB,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,cAAc;aAE1C,IAAI,EAAE,cAAc,GAAG,MAAM;aAC7B,KAAK,EAAE,UAAU,GAAG,MAAM;aAC1B,IAAI,EAAE,SAAS;aAEf,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;aAE5B,gBAAgB,EAAE,qBAAqB;gBAPvC,IAAI,EAAE,cAAc,GAAG,MAAM,EAC7B,KAAK,EAAE,UAAU,GAAG,MAAM,EAC1B,IAAI,EAAE,SAAS,EAC/B,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,CAAC,YAAA,EACX,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,YAAA,EAC5C,OAAO,CAAC,EAAE,MAAM,EACA,gBAAgB,GAAE,qBAAiC;IAMvE,MAAM;;;;;;;;;;CAcT"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import "../chunk-C6A6W6XS.js";
|
|
2
2
|
import { DextoBaseError } from "./DextoBaseError.js";
|
|
3
3
|
class DextoRuntimeError extends DextoBaseError {
|
|
4
|
-
constructor(code, scope, type, message, context, recovery, traceId) {
|
|
4
|
+
constructor(code, scope, type, message, context, recovery, traceId, retryDisposition = "unknown") {
|
|
5
5
|
super(message, traceId);
|
|
6
6
|
this.code = code;
|
|
7
7
|
this.scope = scope;
|
|
8
8
|
this.type = type;
|
|
9
9
|
this.context = context;
|
|
10
10
|
this.recovery = recovery;
|
|
11
|
+
this.retryDisposition = retryDisposition;
|
|
11
12
|
this.name = "DextoRuntimeError";
|
|
12
13
|
}
|
|
13
14
|
toJSON() {
|
|
@@ -18,6 +19,7 @@ class DextoRuntimeError extends DextoBaseError {
|
|
|
18
19
|
type: this.type,
|
|
19
20
|
context: this.context,
|
|
20
21
|
recovery: this.recovery,
|
|
22
|
+
...this.retryDisposition === "unknown" ? {} : { retryDisposition: this.retryDisposition },
|
|
21
23
|
traceId: this.traceId
|
|
22
24
|
};
|
|
23
25
|
}
|
package/dist/errors/index.d.ts
CHANGED
|
@@ -6,6 +6,6 @@ export { DextoBaseError } from './DextoBaseError.js';
|
|
|
6
6
|
export { DextoRuntimeError } from './DextoRuntimeError.js';
|
|
7
7
|
export { DextoValidationError } from './DextoValidationError.js';
|
|
8
8
|
export { ErrorScope, ErrorType } from './types.js';
|
|
9
|
-
export type { Issue, Severity, DextoErrorCode } from './types.js';
|
|
9
|
+
export type { Issue, Severity, DextoErrorCode, ErrorRetryDisposition } from './types.js';
|
|
10
10
|
export { ensureOk } from './result-bridge.js';
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACnD,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACnD,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/errors/types.d.ts
CHANGED
|
@@ -49,6 +49,7 @@ export declare enum ErrorType {
|
|
|
49
49
|
THIRD_PARTY = "third_party",// 502 - upstream provider failures, API errors
|
|
50
50
|
UNKNOWN = "unknown"
|
|
51
51
|
}
|
|
52
|
+
export type ErrorRetryDisposition = 'retryable' | 'non_retryable' | 'unknown';
|
|
52
53
|
/**
|
|
53
54
|
* Union type for all error codes across domains
|
|
54
55
|
* Provides type safety for error handling
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/errors/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE;;;GAGG;AACH,oBAAY,UAAU;IAClB,GAAG,QAAQ,CAAE,iEAAiE;IAC9E,KAAK,UAAU,CAAE,iCAAiC;IAClD,MAAM,WAAW,CAAE,qDAAqD;IACxE,OAAO,YAAY,CAAE,2DAA2D;IAChF,OAAO,YAAY,CAAE,2CAA2C;IAChE,GAAG,QAAQ,CAAE,sCAAsC;IACnD,KAAK,UAAU,CAAE,mCAAmC;IACpD,OAAO,YAAY,CAAE,6BAA6B;IAClD,MAAM,WAAW,CAAE,2DAA2D;IAC9E,aAAa,kBAAkB,CAAE,iDAAiD;IAClF,QAAQ,aAAa,CAAE,0DAA0D;IACjF,MAAM,WAAW,CAAE,+CAA+C;IAClE,MAAM,WAAW,CAAE,gCAAgC;IACnD,IAAI,SAAS,CAAE,0CAA0C;IACzD,SAAS,cAAc;CAC1B;AAED;;;GAGG;AACH,oBAAY,SAAS;IACjB,IAAI,SAAS,CAAE,sDAAsD;IACrE,gBAAgB,qBAAqB,CAAE,4CAA4C;IACnF,SAAS,cAAc,CAAE,wCAAwC;IACjE,SAAS,cAAc,CAAE,qDAAqD;IAC9E,OAAO,YAAY,CAAE,4BAA4B;IACjD,QAAQ,aAAa,CAAE,gDAAgD;IACvE,UAAU,eAAe,CAAE,0BAA0B;IACrD,MAAM,WAAW,CAAE,mDAAmD;IACtE,WAAW,gBAAgB,CAAE,+CAA+C;IAC5E,OAAO,YAAY;CACtB;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GACpB,YAAY,GACZ,cAAc,GACd,gBAAgB,GAChB,gBAAgB,GAChB,YAAY,GACZ,aAAa,GACb,gBAAgB,GAChB,qBAAqB,GACrB,iBAAiB,GACjB,eAAe,GACf,iBAAiB,GACjB,eAAe,GACf,aAAa,GACb,kBAAkB,CAAC;AAEzB,2BAA2B;AAC3B,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAE3C,gDAAgD;AAChD,MAAM,WAAW,KAAK,CAAC,CAAC,GAAG,OAAO;IAC9B,IAAI,EAAE,cAAc,GAAG,MAAM,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,CAAC;CACf"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/errors/types.ts"],"names":[],"mappings":"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"}
|
package/dist/events/index.d.ts
CHANGED
|
@@ -460,8 +460,8 @@ interface SessionEventMapBase {
|
|
|
460
460
|
coalesced: boolean;
|
|
461
461
|
/** Combined content of all dequeued messages (for UI display) */
|
|
462
462
|
content: import('../context/types.js').ContentPart[];
|
|
463
|
-
/** Raw dequeued messages
|
|
464
|
-
messages
|
|
463
|
+
/** Raw dequeued messages */
|
|
464
|
+
messages: import('../session/types.js').QueuedMessage[];
|
|
465
465
|
};
|
|
466
466
|
/** Queued message was removed from queue */
|
|
467
467
|
'message:removed': {
|