conversationalist 0.0.6 → 0.0.8
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 +227 -58
- package/dist/adapters/anthropic/index.d.ts +11 -6
- package/dist/adapters/anthropic/index.d.ts.map +1 -1
- package/dist/adapters/anthropic/index.js +16 -3
- package/dist/adapters/anthropic/index.js.map +5 -4
- package/dist/adapters/gemini/index.d.ts +2 -2
- package/dist/adapters/gemini/index.d.ts.map +1 -1
- package/dist/adapters/gemini/index.js +52 -9
- package/dist/adapters/gemini/index.js.map +5 -4
- package/dist/adapters/openai/index.d.ts +32 -5
- package/dist/adapters/openai/index.d.ts.map +1 -1
- package/dist/adapters/openai/index.js +30 -8
- package/dist/adapters/openai/index.js.map +5 -4
- package/dist/context.d.ts.map +1 -1
- package/dist/conversation/append.d.ts +4 -4
- package/dist/conversation/append.d.ts.map +1 -1
- package/dist/conversation/create.d.ts +2 -3
- package/dist/conversation/create.d.ts.map +1 -1
- package/dist/conversation/index.d.ts +2 -2
- package/dist/conversation/index.d.ts.map +1 -1
- package/dist/conversation/modify.d.ts.map +1 -1
- package/dist/conversation/query.d.ts +9 -5
- package/dist/conversation/query.d.ts.map +1 -1
- package/dist/conversation/serialization.d.ts +21 -5
- package/dist/conversation/serialization.d.ts.map +1 -1
- package/dist/conversation/system-messages.d.ts +3 -3
- package/dist/conversation/system-messages.d.ts.map +1 -1
- package/dist/conversation/transform.d.ts.map +1 -1
- package/dist/conversation.d.ts +84 -14
- package/dist/conversation.d.ts.map +1 -1
- package/dist/export/index.d.ts +7 -0
- package/dist/export/index.d.ts.map +1 -0
- package/dist/export/index.js +3762 -0
- package/dist/export/index.js.map +62 -0
- package/dist/history.d.ts +102 -24
- package/dist/history.d.ts.map +1 -1
- package/dist/index.d.ts +8 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +440 -3982
- package/dist/index.js.map +15 -57
- package/dist/markdown/index.d.ts +15 -0
- package/dist/markdown/index.d.ts.map +1 -0
- package/dist/markdown/index.js +4969 -0
- package/dist/markdown/index.js.map +69 -0
- package/dist/message.d.ts +1 -1
- package/dist/message.d.ts.map +1 -1
- package/dist/multi-modal.d.ts +3 -0
- package/dist/multi-modal.d.ts.map +1 -1
- package/dist/plugins/index.d.ts +1 -1
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +59 -0
- package/dist/plugins/index.js.map +10 -0
- package/dist/plugins/pii-redaction.d.ts +10 -1
- package/dist/plugins/pii-redaction.d.ts.map +1 -1
- package/dist/redaction/index.d.ts +2 -0
- package/dist/redaction/index.d.ts.map +1 -0
- package/dist/redaction/index.js +59 -0
- package/dist/redaction/index.js.map +10 -0
- package/dist/schemas/index.d.ts +2 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +114 -0
- package/dist/schemas/index.js.map +10 -0
- package/dist/schemas.d.ts +325 -15
- package/dist/schemas.d.ts.map +1 -1
- package/dist/sort/index.d.ts +2 -0
- package/dist/sort/index.d.ts.map +1 -0
- package/dist/sort/index.js +32 -0
- package/dist/sort/index.js.map +10 -0
- package/dist/streaming.d.ts +3 -3
- package/dist/streaming.d.ts.map +1 -1
- package/dist/types.d.ts +107 -37
- package/dist/types.d.ts.map +1 -1
- package/dist/utilities/deterministic.d.ts +37 -0
- package/dist/utilities/deterministic.d.ts.map +1 -0
- package/dist/utilities/index.d.ts +3 -3
- package/dist/utilities/index.d.ts.map +1 -1
- package/dist/utilities/line-endings.d.ts +5 -0
- package/dist/utilities/line-endings.d.ts.map +1 -0
- package/dist/utilities/markdown.d.ts +47 -21
- package/dist/utilities/markdown.d.ts.map +1 -1
- package/dist/utilities/message-store.d.ts +6 -0
- package/dist/utilities/message-store.d.ts.map +1 -0
- package/dist/utilities/message.d.ts +9 -3
- package/dist/utilities/message.d.ts.map +1 -1
- package/dist/utilities/tool-calls.d.ts +4 -4
- package/dist/utilities/tool-calls.d.ts.map +1 -1
- package/dist/utilities/tool-results.d.ts +10 -0
- package/dist/utilities/tool-results.d.ts.map +1 -0
- package/dist/utilities/transient.d.ts +47 -0
- package/dist/utilities/transient.d.ts.map +1 -0
- package/dist/utilities.d.ts +6 -4
- package/dist/utilities.d.ts.map +1 -1
- package/dist/versioning/index.d.ts +3 -0
- package/dist/versioning/index.d.ts.map +1 -0
- package/dist/versioning/index.js +58 -0
- package/dist/versioning/index.js.map +11 -0
- package/dist/with-conversation.d.ts +8 -8
- package/dist/with-conversation.d.ts.map +1 -1
- package/package.json +26 -1
package/dist/schemas.d.ts
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
|
+
import type { MultiModalContent } from '@lasercat/homogenaize';
|
|
1
2
|
import { z } from 'zod';
|
|
2
|
-
import type {
|
|
3
|
-
|
|
3
|
+
import type { JSONValue } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* Zod schema for JSON-serializable values.
|
|
6
|
+
*/
|
|
7
|
+
export declare const jsonValueSchema: z.ZodType<JSONValue>;
|
|
8
|
+
/**
|
|
9
|
+
* Zod schema for multi-modal content parts (text or image).
|
|
10
|
+
*/
|
|
11
|
+
export declare const multiModalContentSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
4
12
|
type: z.ZodLiteral<"text">;
|
|
5
13
|
text: z.ZodString;
|
|
6
14
|
}, z.core.$strip>, z.ZodObject<{
|
|
@@ -8,23 +16,325 @@ export declare const multiModalContentSchema: z.ZodDiscriminatedUnion<[z.ZodObje
|
|
|
8
16
|
url: z.ZodString;
|
|
9
17
|
mimeType: z.ZodOptional<z.ZodString>;
|
|
10
18
|
text: z.ZodOptional<z.ZodString>;
|
|
11
|
-
}, z.core.$strip>], "type"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
}, z.core.$strip>], "type">, z.ZodTransform<MultiModalContent, {
|
|
20
|
+
type: "text";
|
|
21
|
+
text: string;
|
|
22
|
+
} | {
|
|
23
|
+
type: "image";
|
|
24
|
+
url: string;
|
|
25
|
+
mimeType?: string | undefined;
|
|
26
|
+
text?: string | undefined;
|
|
27
|
+
}>>;
|
|
28
|
+
/**
|
|
29
|
+
* Zod schema for valid message roles.
|
|
30
|
+
*/
|
|
31
|
+
export declare const messageRoleSchema: z.ZodEnum<{
|
|
32
|
+
user: "user";
|
|
33
|
+
assistant: "assistant";
|
|
34
|
+
system: "system";
|
|
35
|
+
developer: "developer";
|
|
36
|
+
"tool-use": "tool-use";
|
|
37
|
+
"tool-result": "tool-result";
|
|
38
|
+
snapshot: "snapshot";
|
|
39
|
+
}>;
|
|
40
|
+
/**
|
|
41
|
+
* Zod schema for tool call metadata.
|
|
42
|
+
*/
|
|
43
|
+
export declare const toolCallSchema: z.ZodObject<{
|
|
44
|
+
id: z.ZodString;
|
|
45
|
+
name: z.ZodString;
|
|
46
|
+
arguments: z.ZodType<JSONValue, unknown, z.core.$ZodTypeInternals<JSONValue, unknown>>;
|
|
47
|
+
}, z.core.$strip>;
|
|
48
|
+
/**
|
|
49
|
+
* Zod schema for tool result metadata.
|
|
50
|
+
*/
|
|
51
|
+
export declare const toolResultSchema: z.ZodObject<{
|
|
52
|
+
callId: z.ZodString;
|
|
53
|
+
outcome: z.ZodEnum<{
|
|
54
|
+
success: "success";
|
|
55
|
+
error: "error";
|
|
56
|
+
}>;
|
|
57
|
+
content: z.ZodType<JSONValue, unknown, z.core.$ZodTypeInternals<JSONValue, unknown>>;
|
|
58
|
+
toolCallId: z.ZodOptional<z.ZodString>;
|
|
59
|
+
toolName: z.ZodOptional<z.ZodString>;
|
|
60
|
+
result: z.ZodOptional<z.ZodType<JSONValue, unknown, z.core.$ZodTypeInternals<JSONValue, unknown>>>;
|
|
61
|
+
error: z.ZodOptional<z.ZodString>;
|
|
62
|
+
}, z.core.$strip>;
|
|
63
|
+
/**
|
|
64
|
+
* Zod schema for token usage accounting.
|
|
65
|
+
*/
|
|
66
|
+
export declare const tokenUsageSchema: z.ZodObject<{
|
|
67
|
+
prompt: z.ZodNumber;
|
|
68
|
+
completion: z.ZodNumber;
|
|
69
|
+
total: z.ZodNumber;
|
|
70
|
+
}, z.core.$strip>;
|
|
71
|
+
/**
|
|
72
|
+
* Zod schema for message input payloads.
|
|
73
|
+
*/
|
|
74
|
+
export declare const messageInputSchema: z.ZodObject<{
|
|
75
|
+
role: z.ZodEnum<{
|
|
76
|
+
user: "user";
|
|
77
|
+
assistant: "assistant";
|
|
78
|
+
system: "system";
|
|
79
|
+
developer: "developer";
|
|
80
|
+
"tool-use": "tool-use";
|
|
81
|
+
"tool-result": "tool-result";
|
|
82
|
+
snapshot: "snapshot";
|
|
83
|
+
}>;
|
|
84
|
+
content: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
85
|
+
type: z.ZodLiteral<"text">;
|
|
86
|
+
text: z.ZodString;
|
|
87
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
88
|
+
type: z.ZodLiteral<"image">;
|
|
89
|
+
url: z.ZodString;
|
|
90
|
+
mimeType: z.ZodOptional<z.ZodString>;
|
|
91
|
+
text: z.ZodOptional<z.ZodString>;
|
|
92
|
+
}, z.core.$strip>], "type">, z.ZodTransform<MultiModalContent, {
|
|
93
|
+
type: "text";
|
|
94
|
+
text: string;
|
|
95
|
+
} | {
|
|
96
|
+
type: "image";
|
|
97
|
+
url: string;
|
|
98
|
+
mimeType?: string | undefined;
|
|
99
|
+
text?: string | undefined;
|
|
100
|
+
}>>>]>;
|
|
101
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JSONValue, unknown, z.core.$ZodTypeInternals<JSONValue, unknown>>>>;
|
|
102
|
+
hidden: z.ZodOptional<z.ZodBoolean>;
|
|
103
|
+
toolCall: z.ZodOptional<z.ZodObject<{
|
|
104
|
+
id: z.ZodString;
|
|
105
|
+
name: z.ZodString;
|
|
106
|
+
arguments: z.ZodType<JSONValue, unknown, z.core.$ZodTypeInternals<JSONValue, unknown>>;
|
|
107
|
+
}, z.core.$strip>>;
|
|
108
|
+
toolResult: z.ZodOptional<z.ZodObject<{
|
|
109
|
+
callId: z.ZodString;
|
|
110
|
+
outcome: z.ZodEnum<{
|
|
111
|
+
success: "success";
|
|
112
|
+
error: "error";
|
|
113
|
+
}>;
|
|
114
|
+
content: z.ZodType<JSONValue, unknown, z.core.$ZodTypeInternals<JSONValue, unknown>>;
|
|
115
|
+
toolCallId: z.ZodOptional<z.ZodString>;
|
|
116
|
+
toolName: z.ZodOptional<z.ZodString>;
|
|
117
|
+
result: z.ZodOptional<z.ZodType<JSONValue, unknown, z.core.$ZodTypeInternals<JSONValue, unknown>>>;
|
|
118
|
+
error: z.ZodOptional<z.ZodString>;
|
|
119
|
+
}, z.core.$strip>>;
|
|
120
|
+
tokenUsage: z.ZodOptional<z.ZodObject<{
|
|
121
|
+
prompt: z.ZodNumber;
|
|
122
|
+
completion: z.ZodNumber;
|
|
123
|
+
total: z.ZodNumber;
|
|
124
|
+
}, z.core.$strip>>;
|
|
125
|
+
goalCompleted: z.ZodOptional<z.ZodBoolean>;
|
|
126
|
+
}, z.core.$strip>;
|
|
127
|
+
/**
|
|
128
|
+
* Zod schema for serialized messages.
|
|
129
|
+
*/
|
|
130
|
+
export declare const messageJSONSchema: z.ZodObject<{
|
|
131
|
+
id: z.ZodString;
|
|
132
|
+
role: z.ZodEnum<{
|
|
133
|
+
user: "user";
|
|
134
|
+
assistant: "assistant";
|
|
135
|
+
system: "system";
|
|
136
|
+
developer: "developer";
|
|
137
|
+
"tool-use": "tool-use";
|
|
138
|
+
"tool-result": "tool-result";
|
|
139
|
+
snapshot: "snapshot";
|
|
140
|
+
}>;
|
|
141
|
+
content: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
142
|
+
type: z.ZodLiteral<"text">;
|
|
143
|
+
text: z.ZodString;
|
|
144
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
145
|
+
type: z.ZodLiteral<"image">;
|
|
146
|
+
url: z.ZodString;
|
|
147
|
+
mimeType: z.ZodOptional<z.ZodString>;
|
|
148
|
+
text: z.ZodOptional<z.ZodString>;
|
|
149
|
+
}, z.core.$strip>], "type">, z.ZodTransform<MultiModalContent, {
|
|
150
|
+
type: "text";
|
|
151
|
+
text: string;
|
|
152
|
+
} | {
|
|
153
|
+
type: "image";
|
|
154
|
+
url: string;
|
|
155
|
+
mimeType?: string | undefined;
|
|
156
|
+
text?: string | undefined;
|
|
157
|
+
}>>>]>;
|
|
158
|
+
position: z.ZodNumber;
|
|
159
|
+
createdAt: z.ZodString;
|
|
160
|
+
metadata: z.ZodRecord<z.ZodString, z.ZodType<JSONValue, unknown, z.core.$ZodTypeInternals<JSONValue, unknown>>>;
|
|
161
|
+
hidden: z.ZodBoolean;
|
|
162
|
+
toolCall: z.ZodOptional<z.ZodObject<{
|
|
163
|
+
id: z.ZodString;
|
|
164
|
+
name: z.ZodString;
|
|
165
|
+
arguments: z.ZodType<JSONValue, unknown, z.core.$ZodTypeInternals<JSONValue, unknown>>;
|
|
166
|
+
}, z.core.$strip>>;
|
|
167
|
+
toolResult: z.ZodOptional<z.ZodObject<{
|
|
168
|
+
callId: z.ZodString;
|
|
169
|
+
outcome: z.ZodEnum<{
|
|
170
|
+
success: "success";
|
|
171
|
+
error: "error";
|
|
172
|
+
}>;
|
|
173
|
+
content: z.ZodType<JSONValue, unknown, z.core.$ZodTypeInternals<JSONValue, unknown>>;
|
|
174
|
+
toolCallId: z.ZodOptional<z.ZodString>;
|
|
175
|
+
toolName: z.ZodOptional<z.ZodString>;
|
|
176
|
+
result: z.ZodOptional<z.ZodType<JSONValue, unknown, z.core.$ZodTypeInternals<JSONValue, unknown>>>;
|
|
177
|
+
error: z.ZodOptional<z.ZodString>;
|
|
178
|
+
}, z.core.$strip>>;
|
|
179
|
+
tokenUsage: z.ZodOptional<z.ZodObject<{
|
|
180
|
+
prompt: z.ZodNumber;
|
|
181
|
+
completion: z.ZodNumber;
|
|
182
|
+
total: z.ZodNumber;
|
|
183
|
+
}, z.core.$strip>>;
|
|
184
|
+
goalCompleted: z.ZodOptional<z.ZodBoolean>;
|
|
185
|
+
}, z.core.$loose>;
|
|
186
|
+
/**
|
|
187
|
+
* Zod schema for conversation status values.
|
|
188
|
+
*/
|
|
189
|
+
export declare const conversationStatusSchema: z.ZodEnum<{
|
|
190
|
+
active: "active";
|
|
191
|
+
archived: "archived";
|
|
192
|
+
deleted: "deleted";
|
|
193
|
+
}>;
|
|
194
|
+
/**
|
|
195
|
+
* Raw conversation shape for storage systems that need direct access to fields.
|
|
196
|
+
*/
|
|
19
197
|
export declare const conversationShape: {
|
|
198
|
+
readonly schemaVersion: z.ZodNumber;
|
|
20
199
|
readonly id: z.ZodString;
|
|
21
200
|
readonly title: z.ZodOptional<z.ZodString>;
|
|
22
|
-
readonly status: z.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
201
|
+
readonly status: z.ZodEnum<{
|
|
202
|
+
active: "active";
|
|
203
|
+
archived: "archived";
|
|
204
|
+
deleted: "deleted";
|
|
205
|
+
}>;
|
|
206
|
+
readonly metadata: z.ZodRecord<z.ZodString, z.ZodType<JSONValue, unknown, z.core.$ZodTypeInternals<JSONValue, unknown>>>;
|
|
207
|
+
readonly ids: z.ZodArray<z.ZodString>;
|
|
208
|
+
readonly messages: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
209
|
+
id: z.ZodString;
|
|
210
|
+
role: z.ZodEnum<{
|
|
211
|
+
user: "user";
|
|
212
|
+
assistant: "assistant";
|
|
213
|
+
system: "system";
|
|
214
|
+
developer: "developer";
|
|
215
|
+
"tool-use": "tool-use";
|
|
216
|
+
"tool-result": "tool-result";
|
|
217
|
+
snapshot: "snapshot";
|
|
218
|
+
}>;
|
|
219
|
+
content: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
220
|
+
type: z.ZodLiteral<"text">;
|
|
221
|
+
text: z.ZodString;
|
|
222
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
223
|
+
type: z.ZodLiteral<"image">;
|
|
224
|
+
url: z.ZodString;
|
|
225
|
+
mimeType: z.ZodOptional<z.ZodString>;
|
|
226
|
+
text: z.ZodOptional<z.ZodString>;
|
|
227
|
+
}, z.core.$strip>], "type">, z.ZodTransform<MultiModalContent, {
|
|
228
|
+
type: "text";
|
|
229
|
+
text: string;
|
|
230
|
+
} | {
|
|
231
|
+
type: "image";
|
|
232
|
+
url: string;
|
|
233
|
+
mimeType?: string | undefined;
|
|
234
|
+
text?: string | undefined;
|
|
235
|
+
}>>>]>;
|
|
236
|
+
position: z.ZodNumber;
|
|
237
|
+
createdAt: z.ZodString;
|
|
238
|
+
metadata: z.ZodRecord<z.ZodString, z.ZodType<JSONValue, unknown, z.core.$ZodTypeInternals<JSONValue, unknown>>>;
|
|
239
|
+
hidden: z.ZodBoolean;
|
|
240
|
+
toolCall: z.ZodOptional<z.ZodObject<{
|
|
241
|
+
id: z.ZodString;
|
|
242
|
+
name: z.ZodString;
|
|
243
|
+
arguments: z.ZodType<JSONValue, unknown, z.core.$ZodTypeInternals<JSONValue, unknown>>;
|
|
244
|
+
}, z.core.$strip>>;
|
|
245
|
+
toolResult: z.ZodOptional<z.ZodObject<{
|
|
246
|
+
callId: z.ZodString;
|
|
247
|
+
outcome: z.ZodEnum<{
|
|
248
|
+
success: "success";
|
|
249
|
+
error: "error";
|
|
250
|
+
}>;
|
|
251
|
+
content: z.ZodType<JSONValue, unknown, z.core.$ZodTypeInternals<JSONValue, unknown>>;
|
|
252
|
+
toolCallId: z.ZodOptional<z.ZodString>;
|
|
253
|
+
toolName: z.ZodOptional<z.ZodString>;
|
|
254
|
+
result: z.ZodOptional<z.ZodType<JSONValue, unknown, z.core.$ZodTypeInternals<JSONValue, unknown>>>;
|
|
255
|
+
error: z.ZodOptional<z.ZodString>;
|
|
256
|
+
}, z.core.$strip>>;
|
|
257
|
+
tokenUsage: z.ZodOptional<z.ZodObject<{
|
|
258
|
+
prompt: z.ZodNumber;
|
|
259
|
+
completion: z.ZodNumber;
|
|
260
|
+
total: z.ZodNumber;
|
|
261
|
+
}, z.core.$strip>>;
|
|
262
|
+
goalCompleted: z.ZodOptional<z.ZodBoolean>;
|
|
263
|
+
}, z.core.$loose>>;
|
|
26
264
|
readonly createdAt: z.ZodString;
|
|
27
265
|
readonly updatedAt: z.ZodString;
|
|
28
266
|
};
|
|
29
|
-
|
|
267
|
+
/**
|
|
268
|
+
* Zod schema for serialized conversations.
|
|
269
|
+
*/
|
|
270
|
+
export declare const conversationSchema: z.ZodObject<{
|
|
271
|
+
schemaVersion: z.ZodNumber;
|
|
272
|
+
id: z.ZodString;
|
|
273
|
+
title: z.ZodOptional<z.ZodString>;
|
|
274
|
+
status: z.ZodEnum<{
|
|
275
|
+
active: "active";
|
|
276
|
+
archived: "archived";
|
|
277
|
+
deleted: "deleted";
|
|
278
|
+
}>;
|
|
279
|
+
metadata: z.ZodRecord<z.ZodString, z.ZodType<JSONValue, unknown, z.core.$ZodTypeInternals<JSONValue, unknown>>>;
|
|
280
|
+
ids: z.ZodArray<z.ZodString>;
|
|
281
|
+
messages: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
282
|
+
id: z.ZodString;
|
|
283
|
+
role: z.ZodEnum<{
|
|
284
|
+
user: "user";
|
|
285
|
+
assistant: "assistant";
|
|
286
|
+
system: "system";
|
|
287
|
+
developer: "developer";
|
|
288
|
+
"tool-use": "tool-use";
|
|
289
|
+
"tool-result": "tool-result";
|
|
290
|
+
snapshot: "snapshot";
|
|
291
|
+
}>;
|
|
292
|
+
content: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
293
|
+
type: z.ZodLiteral<"text">;
|
|
294
|
+
text: z.ZodString;
|
|
295
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
296
|
+
type: z.ZodLiteral<"image">;
|
|
297
|
+
url: z.ZodString;
|
|
298
|
+
mimeType: z.ZodOptional<z.ZodString>;
|
|
299
|
+
text: z.ZodOptional<z.ZodString>;
|
|
300
|
+
}, z.core.$strip>], "type">, z.ZodTransform<MultiModalContent, {
|
|
301
|
+
type: "text";
|
|
302
|
+
text: string;
|
|
303
|
+
} | {
|
|
304
|
+
type: "image";
|
|
305
|
+
url: string;
|
|
306
|
+
mimeType?: string | undefined;
|
|
307
|
+
text?: string | undefined;
|
|
308
|
+
}>>>]>;
|
|
309
|
+
position: z.ZodNumber;
|
|
310
|
+
createdAt: z.ZodString;
|
|
311
|
+
metadata: z.ZodRecord<z.ZodString, z.ZodType<JSONValue, unknown, z.core.$ZodTypeInternals<JSONValue, unknown>>>;
|
|
312
|
+
hidden: z.ZodBoolean;
|
|
313
|
+
toolCall: z.ZodOptional<z.ZodObject<{
|
|
314
|
+
id: z.ZodString;
|
|
315
|
+
name: z.ZodString;
|
|
316
|
+
arguments: z.ZodType<JSONValue, unknown, z.core.$ZodTypeInternals<JSONValue, unknown>>;
|
|
317
|
+
}, z.core.$strip>>;
|
|
318
|
+
toolResult: z.ZodOptional<z.ZodObject<{
|
|
319
|
+
callId: z.ZodString;
|
|
320
|
+
outcome: z.ZodEnum<{
|
|
321
|
+
success: "success";
|
|
322
|
+
error: "error";
|
|
323
|
+
}>;
|
|
324
|
+
content: z.ZodType<JSONValue, unknown, z.core.$ZodTypeInternals<JSONValue, unknown>>;
|
|
325
|
+
toolCallId: z.ZodOptional<z.ZodString>;
|
|
326
|
+
toolName: z.ZodOptional<z.ZodString>;
|
|
327
|
+
result: z.ZodOptional<z.ZodType<JSONValue, unknown, z.core.$ZodTypeInternals<JSONValue, unknown>>>;
|
|
328
|
+
error: z.ZodOptional<z.ZodString>;
|
|
329
|
+
}, z.core.$strip>>;
|
|
330
|
+
tokenUsage: z.ZodOptional<z.ZodObject<{
|
|
331
|
+
prompt: z.ZodNumber;
|
|
332
|
+
completion: z.ZodNumber;
|
|
333
|
+
total: z.ZodNumber;
|
|
334
|
+
}, z.core.$strip>>;
|
|
335
|
+
goalCompleted: z.ZodOptional<z.ZodBoolean>;
|
|
336
|
+
}, z.core.$loose>>;
|
|
337
|
+
createdAt: z.ZodString;
|
|
338
|
+
updatedAt: z.ZodString;
|
|
339
|
+
}, z.core.$strip>;
|
|
30
340
|
//# sourceMappingURL=schemas.d.ts.map
|
package/dist/schemas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAGV,SAAS,EAOV,MAAM,SAAS,CAAC;AAiBjB;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CASjB,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;GAaoC,CAAC;AAEzE;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;EAQK,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,cAAc;;;;iBAIK,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;iBAQK,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;iBAIK,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBASK,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAcS,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;EAIK,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAEI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sort/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// src/utilities/deterministic.ts
|
|
2
|
+
function sortObjectKeys(obj) {
|
|
3
|
+
if (obj === null || typeof obj !== "object") {
|
|
4
|
+
return obj;
|
|
5
|
+
}
|
|
6
|
+
if (Array.isArray(obj)) {
|
|
7
|
+
return obj.map(sortObjectKeys);
|
|
8
|
+
}
|
|
9
|
+
const sorted = {};
|
|
10
|
+
const keys = Object.keys(obj).sort();
|
|
11
|
+
for (const key of keys) {
|
|
12
|
+
sorted[key] = sortObjectKeys(obj[key]);
|
|
13
|
+
}
|
|
14
|
+
return sorted;
|
|
15
|
+
}
|
|
16
|
+
function sortMessagesByPosition(messages) {
|
|
17
|
+
return [...messages].sort((a, b) => {
|
|
18
|
+
if (a.position !== b.position) {
|
|
19
|
+
return a.position - b.position;
|
|
20
|
+
}
|
|
21
|
+
if (a.createdAt !== b.createdAt) {
|
|
22
|
+
return a.createdAt.localeCompare(b.createdAt);
|
|
23
|
+
}
|
|
24
|
+
return a.id.localeCompare(b.id);
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
export {
|
|
28
|
+
sortObjectKeys,
|
|
29
|
+
sortMessagesByPosition
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
//# debugId=9E6B840DBB18422664756E2164756E21
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/utilities/deterministic.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"/**\n * Recursively sorts object keys alphabetically for deterministic JSON output.\n * Arrays are processed recursively but maintain their element order.\n * Primitives and null are returned as-is.\n *\n * @param obj - The value to process\n * @returns A new object with sorted keys (or the original value for non-objects)\n *\n * @example\n * ```ts\n * sortObjectKeys({ z: 1, a: 2 });\n * // Returns: { a: 2, z: 1 }\n *\n * sortObjectKeys({ b: { y: 1, x: 2 }, a: 1 });\n * // Returns: { a: 1, b: { x: 2, y: 1 } }\n * ```\n */\nexport function sortObjectKeys<T>(obj: T): T {\n if (obj === null || typeof obj !== 'object') {\n return obj;\n }\n\n if (Array.isArray(obj)) {\n return obj.map(sortObjectKeys) as T;\n }\n\n const sorted: Record<string, unknown> = {};\n const keys = Object.keys(obj as object).sort();\n\n for (const key of keys) {\n sorted[key] = sortObjectKeys((obj as Record<string, unknown>)[key]);\n }\n\n return sorted as T;\n}\n\n/**\n * Sorts messages by position for deterministic output.\n * When positions are equal, falls back to createdAt, then id.\n *\n * @param messages - Array of messages to sort\n * @returns A new sorted array (does not mutate the original)\n *\n * @example\n * ```ts\n * const sorted = sortMessagesByPosition(messages);\n * // Messages are ordered by position (ascending)\n * ```\n */\nexport function sortMessagesByPosition<\n T extends { position: number; createdAt: string; id: string },\n>(messages: readonly T[]): T[] {\n return [...messages].sort((a, b) => {\n if (a.position !== b.position) {\n return a.position - b.position;\n }\n if (a.createdAt !== b.createdAt) {\n return a.createdAt.localeCompare(b.createdAt);\n }\n return a.id.localeCompare(b.id);\n });\n}\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": ";AAiBO,SAAS,cAAiB,CAAC,KAAW;AAAA,EAC3C,IAAI,QAAQ,QAAQ,OAAO,QAAQ,UAAU;AAAA,IAC3C,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,MAAM,QAAQ,GAAG,GAAG;AAAA,IACtB,OAAO,IAAI,IAAI,cAAc;AAAA,EAC/B;AAAA,EAEA,MAAM,SAAkC,CAAC;AAAA,EACzC,MAAM,OAAO,OAAO,KAAK,GAAa,EAAE,KAAK;AAAA,EAE7C,WAAW,OAAO,MAAM;AAAA,IACtB,OAAO,OAAO,eAAgB,IAAgC,IAAI;AAAA,EACpE;AAAA,EAEA,OAAO;AAAA;AAgBF,SAAS,sBAEf,CAAC,UAA6B;AAAA,EAC7B,OAAO,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM;AAAA,IAClC,IAAI,EAAE,aAAa,EAAE,UAAU;AAAA,MAC7B,OAAO,EAAE,WAAW,EAAE;AAAA,IACxB;AAAA,IACA,IAAI,EAAE,cAAc,EAAE,WAAW;AAAA,MAC/B,OAAO,EAAE,UAAU,cAAc,EAAE,SAAS;AAAA,IAC9C;AAAA,IACA,OAAO,EAAE,GAAG,cAAc,EAAE,EAAE;AAAA,GAC/B;AAAA;",
|
|
8
|
+
"debugId": "9E6B840DBB18422664756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
package/dist/streaming.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { MultiModalContent } from '@lasercat/homogenaize';
|
|
2
2
|
import { type ConversationEnvironment } from './environment';
|
|
3
|
-
import type { Conversation, Message, TokenUsage } from './types';
|
|
3
|
+
import type { Conversation, JSONValue, Message, TokenUsage } from './types';
|
|
4
4
|
/**
|
|
5
5
|
* Checks if a message is currently streaming (has the streaming metadata flag).
|
|
6
6
|
*/
|
|
@@ -13,7 +13,7 @@ export declare function getStreamingMessage(conversation: Conversation): Message
|
|
|
13
13
|
* Creates a pending/streaming message placeholder and appends it to the conversation.
|
|
14
14
|
* Returns both the updated conversation and the ID of the new streaming message.
|
|
15
15
|
*/
|
|
16
|
-
export declare function appendStreamingMessage(conversation: Conversation, role: 'assistant' | 'user', metadata?: Record<string,
|
|
16
|
+
export declare function appendStreamingMessage(conversation: Conversation, role: 'assistant' | 'user', metadata?: Record<string, JSONValue>, environment?: Partial<ConversationEnvironment>): {
|
|
17
17
|
conversation: Conversation;
|
|
18
18
|
messageId: string;
|
|
19
19
|
};
|
|
@@ -28,7 +28,7 @@ export declare function updateStreamingMessage(conversation: Conversation, messa
|
|
|
28
28
|
*/
|
|
29
29
|
export declare function finalizeStreamingMessage(conversation: Conversation, messageId: string, options?: {
|
|
30
30
|
tokenUsage?: TokenUsage;
|
|
31
|
-
metadata?: Record<string,
|
|
31
|
+
metadata?: Record<string, JSONValue>;
|
|
32
32
|
}, environment?: Partial<ConversationEnvironment>): Conversation;
|
|
33
33
|
/**
|
|
34
34
|
* Cancels a streaming message by removing it from the conversation.
|
package/dist/streaming.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../src/streaming.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../src/streaming.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAEV,YAAY,EACZ,SAAS,EACT,OAAO,EACP,UAAU,EACX,MAAM,SAAS,CAAC;AA4CjB;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE5D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,GAAG,SAAS,CAEnF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,WAAW,GAAG,MAAM,EAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACpC,WAAW,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAC7C;IAAE,YAAY,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CA0BnD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE,EACrC,WAAW,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAC7C,YAAY,CA2Bd;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IACR,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACtC,EACD,WAAW,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAC7C,YAAY,CAqCd;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAC7C,YAAY,CA8Bd"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,24 +1,55 @@
|
|
|
1
1
|
import type { MultiModalContent } from '@lasercat/homogenaize';
|
|
2
|
+
/**
|
|
3
|
+
* Current schema version for serialized conversation data.
|
|
4
|
+
* Increment when making breaking changes to the schema.
|
|
5
|
+
*/
|
|
6
|
+
export declare const CURRENT_SCHEMA_VERSION = 3;
|
|
7
|
+
/**
|
|
8
|
+
* JSON-serializable value types.
|
|
9
|
+
*/
|
|
10
|
+
export type JSONPrimitive = string | number | boolean | null;
|
|
11
|
+
export type JSONValue = JSONPrimitive | JSONValue[] | {
|
|
12
|
+
[key: string]: JSONValue;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Supported message roles in a conversation.
|
|
16
|
+
*/
|
|
2
17
|
export type MessageRole = 'user' | 'assistant' | 'system' | 'developer' | 'tool-use' | 'tool-result' | 'snapshot';
|
|
18
|
+
/**
|
|
19
|
+
* Tool call metadata for tool-use messages.
|
|
20
|
+
*/
|
|
3
21
|
export interface ToolCall {
|
|
4
22
|
id: string;
|
|
5
23
|
name: string;
|
|
6
|
-
arguments:
|
|
24
|
+
arguments: JSONValue;
|
|
7
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Tool execution result metadata for tool-result messages.
|
|
28
|
+
*/
|
|
8
29
|
export interface ToolResult {
|
|
9
30
|
callId: string;
|
|
10
31
|
outcome: 'success' | 'error';
|
|
11
|
-
content:
|
|
32
|
+
content: JSONValue;
|
|
33
|
+
toolCallId?: string | undefined;
|
|
34
|
+
toolName?: string | undefined;
|
|
35
|
+
result?: JSONValue | undefined;
|
|
36
|
+
error?: string | undefined;
|
|
12
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Token usage accounting for a message.
|
|
40
|
+
*/
|
|
13
41
|
export interface TokenUsage {
|
|
14
42
|
prompt: number;
|
|
15
43
|
completion: number;
|
|
16
44
|
total: number;
|
|
17
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Mutable input shape for creating a message.
|
|
48
|
+
*/
|
|
18
49
|
export interface MessageInput {
|
|
19
50
|
role: MessageRole;
|
|
20
51
|
content: string | MultiModalContent[];
|
|
21
|
-
metadata?: Record<string,
|
|
52
|
+
metadata?: Record<string, JSONValue> | undefined;
|
|
22
53
|
hidden?: boolean | undefined;
|
|
23
54
|
toolCall?: ToolCall | undefined;
|
|
24
55
|
toolResult?: ToolResult | undefined;
|
|
@@ -26,52 +57,44 @@ export interface MessageInput {
|
|
|
26
57
|
/** Indicates if this message represents goal completion (assistant only) */
|
|
27
58
|
goalCompleted?: boolean | undefined;
|
|
28
59
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
content: string | MultiModalContent[];
|
|
33
|
-
position: number;
|
|
34
|
-
createdAt: string;
|
|
35
|
-
metadata: Record<string, unknown>;
|
|
36
|
-
hidden: boolean;
|
|
37
|
-
toolCall?: ToolCall | undefined;
|
|
38
|
-
toolResult?: ToolResult | undefined;
|
|
39
|
-
tokenUsage?: TokenUsage | undefined;
|
|
40
|
-
/** Indicates if this message represents goal completion (assistant only) */
|
|
41
|
-
goalCompleted?: boolean | undefined;
|
|
42
|
-
}
|
|
60
|
+
/**
|
|
61
|
+
* Immutable message shape exposed by the library.
|
|
62
|
+
*/
|
|
43
63
|
export interface Message {
|
|
44
64
|
id: string;
|
|
45
65
|
role: MessageRole;
|
|
46
66
|
content: string | ReadonlyArray<MultiModalContent>;
|
|
47
67
|
position: number;
|
|
48
68
|
createdAt: string;
|
|
49
|
-
metadata: Readonly<Record<string,
|
|
69
|
+
metadata: Readonly<Record<string, JSONValue>>;
|
|
50
70
|
hidden: boolean;
|
|
51
71
|
toolCall?: Readonly<ToolCall> | undefined;
|
|
52
72
|
toolResult?: Readonly<ToolResult> | undefined;
|
|
53
73
|
tokenUsage?: Readonly<TokenUsage> | undefined;
|
|
54
|
-
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Assistant-only message shape with optional goal completion metadata.
|
|
77
|
+
*/
|
|
78
|
+
export interface AssistantMessage extends Message {
|
|
79
|
+
role: 'assistant';
|
|
80
|
+
/** Indicates if this message represents goal completion */
|
|
55
81
|
goalCompleted?: boolean | undefined;
|
|
56
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Status values for a conversation lifecycle.
|
|
85
|
+
*/
|
|
57
86
|
export type ConversationStatus = 'active' | 'archived' | 'deleted';
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
status: ConversationStatus;
|
|
62
|
-
metadata: Record<string, unknown>;
|
|
63
|
-
tags: string[];
|
|
64
|
-
messages: MessageJSON[];
|
|
65
|
-
createdAt: string;
|
|
66
|
-
updatedAt: string;
|
|
67
|
-
}
|
|
87
|
+
/**
|
|
88
|
+
* Immutable conversation state.
|
|
89
|
+
*/
|
|
68
90
|
export interface Conversation {
|
|
91
|
+
schemaVersion: number;
|
|
69
92
|
id: string;
|
|
70
93
|
title?: string | undefined;
|
|
71
94
|
status: ConversationStatus;
|
|
72
|
-
metadata: Readonly<Record<string,
|
|
73
|
-
|
|
74
|
-
messages:
|
|
95
|
+
metadata: Readonly<Record<string, JSONValue>>;
|
|
96
|
+
ids: ReadonlyArray<string>;
|
|
97
|
+
messages: Readonly<Record<string, Message>>;
|
|
75
98
|
createdAt: string;
|
|
76
99
|
updatedAt: string;
|
|
77
100
|
}
|
|
@@ -86,15 +109,62 @@ export type MessagePlugin = (input: MessageInput) => MessageInput;
|
|
|
86
109
|
/**
|
|
87
110
|
* Serialized form of a single node in the conversation history tree.
|
|
88
111
|
*/
|
|
89
|
-
export interface
|
|
90
|
-
conversation:
|
|
91
|
-
children:
|
|
112
|
+
export interface HistoryNodeSnapshot {
|
|
113
|
+
conversation: Conversation;
|
|
114
|
+
children: HistoryNodeSnapshot[];
|
|
92
115
|
}
|
|
93
116
|
/**
|
|
94
117
|
* Serialized form of the entire conversation history.
|
|
95
118
|
*/
|
|
96
|
-
export interface
|
|
97
|
-
root:
|
|
119
|
+
export interface ConversationHistorySnapshot {
|
|
120
|
+
root: HistoryNodeSnapshot;
|
|
98
121
|
currentPath: number[];
|
|
99
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* Base options for all export operations.
|
|
125
|
+
*/
|
|
126
|
+
export interface ExportOptions {
|
|
127
|
+
/**
|
|
128
|
+
* When true, strips transient metadata (keys starting with '_').
|
|
129
|
+
* @default false
|
|
130
|
+
*/
|
|
131
|
+
stripTransient?: boolean;
|
|
132
|
+
/**
|
|
133
|
+
* When false, hidden messages are omitted from export output.
|
|
134
|
+
* @default true
|
|
135
|
+
*/
|
|
136
|
+
includeHidden?: boolean;
|
|
137
|
+
/**
|
|
138
|
+
* When true, hidden message content is replaced with a redacted placeholder.
|
|
139
|
+
* Only applies when includeHidden is true.
|
|
140
|
+
* @default false
|
|
141
|
+
*/
|
|
142
|
+
redactHiddenContent?: boolean;
|
|
143
|
+
/**
|
|
144
|
+
* Placeholder used when redacting tool or hidden content.
|
|
145
|
+
* @default "[REDACTED]"
|
|
146
|
+
*/
|
|
147
|
+
redactedPlaceholder?: string;
|
|
148
|
+
/**
|
|
149
|
+
* When true, redacts tool call arguments with '[REDACTED]'.
|
|
150
|
+
* @default false
|
|
151
|
+
*/
|
|
152
|
+
redactToolArguments?: boolean;
|
|
153
|
+
/**
|
|
154
|
+
* When true, redacts tool result content with '[REDACTED]'.
|
|
155
|
+
* @default false
|
|
156
|
+
*/
|
|
157
|
+
redactToolResults?: boolean;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Options for exporting to markdown format.
|
|
161
|
+
*/
|
|
162
|
+
export interface ToMarkdownOptions extends ExportOptions {
|
|
163
|
+
/**
|
|
164
|
+
* When true, includes YAML frontmatter with full metadata for lossless round-trip.
|
|
165
|
+
* Headers include message ID: `### Role (msg-id)`
|
|
166
|
+
* @default false
|
|
167
|
+
*/
|
|
168
|
+
includeMetadata?: boolean;
|
|
169
|
+
}
|
|
100
170
|
//# sourceMappingURL=types.d.ts.map
|