@moxt-ai/mobius 0.0.139 → 0.0.141
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/acp/codex/agent.d.ts.map +1 -1
- package/dist/acp/codex/agent.js +10 -1
- package/dist/acp/codex/agent.js.map +1 -1
- package/dist/cli.js +108 -16
- package/dist/cli.js.map +3 -3
- package/dist/index.js +107 -15
- package/dist/index.js.map +3 -3
- package/dist/native-sessions/codex-history.d.ts.map +1 -1
- package/dist/native-sessions/codex-history.js +96 -11
- package/dist/native-sessions/codex-history.js.map +1 -1
- package/dist/runtime.js +107 -15
- package/dist/runtime.js.map +3 -3
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-history.d.ts","sourceRoot":"","sources":["../../src/native-sessions/codex-history.ts"],"names":[],"mappings":"AACA,OAAO,EAGH,KAAK,oBAAoB,EAI5B,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAyD1E,UAAU,uBAAuB;IAC7B,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACpG;AAED,UAAU,oBAAoB;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;CAC1C;
|
|
1
|
+
{"version":3,"file":"codex-history.d.ts","sourceRoot":"","sources":["../../src/native-sessions/codex-history.ts"],"names":[],"mappings":"AACA,OAAO,EAGH,KAAK,oBAAoB,EAI5B,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAyD1E,UAAU,uBAAuB;IAC7B,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACpG;AAED,UAAU,oBAAoB;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;CAC1C;AA2iBD,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,UAClB,kBAAkB,OACpB,MAAM,mBACM,MAAM,UACf,WAAW,KACpB,OAAO,CAAC,oBAAoB,CACmE,CAAC;AAEnG,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB,UACtB,kBAAkB,OACpB,MAAM,mBACM,MAAM,UACf,WAAW,eACN,uBAAuB,CAAC,YAAY,CAAC,KACnD,OAAO,CAAC,oBAAoB,CAIzB,CAAC"}
|
|
@@ -94,6 +94,71 @@ function messageSize(message) {
|
|
|
94
94
|
? JSON.stringify(message.activities).length + JSON.stringify(message.content).length
|
|
95
95
|
: 0));
|
|
96
96
|
}
|
|
97
|
+
const SESSION_HISTORY_MESSAGE_CHARACTER_LIMIT = Math.floor(SESSION_HISTORY_CHARACTER_LIMIT / 2);
|
|
98
|
+
function fitActivity(activity, maximumCharacters) {
|
|
99
|
+
const truncate = (limit) => ({
|
|
100
|
+
...activity,
|
|
101
|
+
input: bounded(activity.input, limit),
|
|
102
|
+
locations: activity.locations.map((location) => bounded(location, Math.max(1, limit))),
|
|
103
|
+
name: bounded(activity.name, limit),
|
|
104
|
+
output: bounded(activity.output, limit),
|
|
105
|
+
title: bounded(activity.title, limit),
|
|
106
|
+
toolKind: bounded(activity.toolKind, limit),
|
|
107
|
+
});
|
|
108
|
+
let minimum = 1;
|
|
109
|
+
let maximum = 100_000;
|
|
110
|
+
let fitted = truncate(0);
|
|
111
|
+
while (minimum <= maximum) {
|
|
112
|
+
const limit = Math.floor((minimum + maximum) / 2);
|
|
113
|
+
const candidate = truncate(limit);
|
|
114
|
+
if (JSON.stringify(candidate).length <= maximumCharacters) {
|
|
115
|
+
fitted = candidate;
|
|
116
|
+
minimum = limit + 1;
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
maximum = limit - 1;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return fitted;
|
|
123
|
+
}
|
|
124
|
+
function fitActivities(activities, maximumCharacters) {
|
|
125
|
+
if (activities.length === 0) {
|
|
126
|
+
return activities;
|
|
127
|
+
}
|
|
128
|
+
const arrayCharacters = 2 + activities.length - 1;
|
|
129
|
+
const maximumActivityCharacters = Math.floor(Math.max(0, maximumCharacters - arrayCharacters) / activities.length);
|
|
130
|
+
return activities.map((activity) => fitActivity(activity, maximumActivityCharacters));
|
|
131
|
+
}
|
|
132
|
+
function fitHistoryMessage(message) {
|
|
133
|
+
const text = message.text.slice(-SESSION_HISTORY_MESSAGE_CHARACTER_LIMIT);
|
|
134
|
+
if (message.role === "user") {
|
|
135
|
+
return {
|
|
136
|
+
message: { ...message, text },
|
|
137
|
+
truncated: text.length < message.text.length,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
let activities = message.activities;
|
|
141
|
+
const content = message.content;
|
|
142
|
+
let fitted = { ...message, activities, content, text };
|
|
143
|
+
if (messageSize(fitted) > SESSION_HISTORY_MESSAGE_CHARACTER_LIMIT && activities.length > 0) {
|
|
144
|
+
const maximumCharacters = SESSION_HISTORY_MESSAGE_CHARACTER_LIMIT - text.length - JSON.stringify(content).length;
|
|
145
|
+
activities = fitActivities(activities, maximumCharacters);
|
|
146
|
+
fitted = { ...fitted, activities };
|
|
147
|
+
}
|
|
148
|
+
const excess = Math.max(0, messageSize(fitted) - SESSION_HISTORY_MESSAGE_CHARACTER_LIMIT);
|
|
149
|
+
if (excess > 0) {
|
|
150
|
+
const maximumTextLength = Math.max(0, fitted.text.length - excess);
|
|
151
|
+
fitted = {
|
|
152
|
+
...fitted,
|
|
153
|
+
text: maximumTextLength === 0 ? "" : fitted.text.slice(-maximumTextLength),
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
return {
|
|
157
|
+
message: fitted,
|
|
158
|
+
truncated: fitted.text.length < message.text.length ||
|
|
159
|
+
JSON.stringify(activities).length < JSON.stringify(message.activities).length,
|
|
160
|
+
};
|
|
161
|
+
}
|
|
97
162
|
function turnOutcome(status) {
|
|
98
163
|
switch (status) {
|
|
99
164
|
case "completed":
|
|
@@ -120,8 +185,14 @@ function decodeHistory(thread, value, options) {
|
|
|
120
185
|
for (const turn of page.data.toReversed()) {
|
|
121
186
|
const outcome = turnOutcome(turn.status);
|
|
122
187
|
const activities = [];
|
|
188
|
+
let assignedActivityCount = 0;
|
|
123
189
|
let sequence = 0;
|
|
124
190
|
let assistantMessageIndex = null;
|
|
191
|
+
const activitySlice = () => {
|
|
192
|
+
const assigned = activities.slice(assignedActivityCount).slice(-100);
|
|
193
|
+
assignedActivityCount = activities.length;
|
|
194
|
+
return assigned;
|
|
195
|
+
};
|
|
125
196
|
for (const item of turn.items) {
|
|
126
197
|
const { type } = itemTypeSchema.parse(item);
|
|
127
198
|
let message;
|
|
@@ -161,7 +232,7 @@ function decodeHistory(thread, value, options) {
|
|
|
161
232
|
}
|
|
162
233
|
continue;
|
|
163
234
|
}
|
|
164
|
-
message = { activities:
|
|
235
|
+
message = { activities: activitySlice(), content: [], role: "assistant", text: agent.text };
|
|
165
236
|
}
|
|
166
237
|
else if (type === "reasoning" && options.detail === "rich") {
|
|
167
238
|
const reasoning = reasoningSchema.parse(item);
|
|
@@ -201,16 +272,16 @@ function decodeHistory(thread, value, options) {
|
|
|
201
272
|
else {
|
|
202
273
|
continue;
|
|
203
274
|
}
|
|
204
|
-
const
|
|
205
|
-
if (text.length === 0 && (message.images?.length ?? 0) === 0) {
|
|
275
|
+
const fitted = fitHistoryMessage(message);
|
|
276
|
+
if (fitted.message.text.length === 0 && (fitted.message.images?.length ?? 0) === 0) {
|
|
206
277
|
continue;
|
|
207
278
|
}
|
|
208
|
-
truncated ||=
|
|
209
|
-
messages.push(
|
|
279
|
+
truncated ||= fitted.truncated;
|
|
280
|
+
messages.push(fitted.message);
|
|
210
281
|
if (message.role === "assistant") {
|
|
211
282
|
assistantMessageIndex = messages.length - 1;
|
|
212
283
|
}
|
|
213
|
-
characters += messageSize(
|
|
284
|
+
characters += messageSize(fitted.message);
|
|
214
285
|
}
|
|
215
286
|
if (options.detail === "rich" && turn.error != null) {
|
|
216
287
|
activities.push(activity(`agent-error-${sequence.toString()}`, "tool", sequence, {
|
|
@@ -223,6 +294,17 @@ function decodeHistory(thread, value, options) {
|
|
|
223
294
|
toolKind: "other",
|
|
224
295
|
}));
|
|
225
296
|
}
|
|
297
|
+
if (options.detail === "rich" && activities.length > assignedActivityCount) {
|
|
298
|
+
const message = {
|
|
299
|
+
activities: activitySlice(),
|
|
300
|
+
content: [],
|
|
301
|
+
role: "assistant",
|
|
302
|
+
text: "",
|
|
303
|
+
};
|
|
304
|
+
messages.push(message);
|
|
305
|
+
assistantMessageIndex = messages.length - 1;
|
|
306
|
+
characters += messageSize(message);
|
|
307
|
+
}
|
|
226
308
|
if (assistantMessageIndex !== null) {
|
|
227
309
|
const assistant = messages[assistantMessageIndex];
|
|
228
310
|
if (assistant?.role === "assistant") {
|
|
@@ -230,10 +312,11 @@ function decodeHistory(thread, value, options) {
|
|
|
230
312
|
const updated = {
|
|
231
313
|
...assistant,
|
|
232
314
|
...(outcome === undefined ? {} : { outcome }),
|
|
233
|
-
activities: activities.slice(-100),
|
|
234
315
|
};
|
|
235
|
-
|
|
236
|
-
|
|
316
|
+
const fitted = fitHistoryMessage(updated);
|
|
317
|
+
truncated ||= fitted.truncated;
|
|
318
|
+
messages[assistantMessageIndex] = fitted.message;
|
|
319
|
+
characters += messageSize(fitted.message);
|
|
237
320
|
}
|
|
238
321
|
}
|
|
239
322
|
else if (activities.length > 0 || outcome !== undefined) {
|
|
@@ -244,8 +327,10 @@ function decodeHistory(thread, value, options) {
|
|
|
244
327
|
...(outcome === undefined ? {} : { outcome }),
|
|
245
328
|
text: "",
|
|
246
329
|
};
|
|
247
|
-
|
|
248
|
-
|
|
330
|
+
const fitted = fitHistoryMessage(message);
|
|
331
|
+
truncated ||= fitted.truncated;
|
|
332
|
+
messages.push(fitted.message);
|
|
333
|
+
characters += messageSize(fitted.message);
|
|
249
334
|
}
|
|
250
335
|
while (messages.length >
|
|
251
336
|
(options.detail === "rich" ? SESSION_HISTORY_MESSAGE_LIMIT : SESSION_HISTORY_PREVIEW_MESSAGE_LIMIT) ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-history.js","sourceRoot":"","sources":["../../src/native-sessions/codex-history.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codex-history.js","sourceRoot":"","sources":["../../src/native-sessions/codex-history.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.js
CHANGED
|
@@ -23949,6 +23949,7 @@ var APPROVAL_TIMEOUT_MILLISECONDS2 = 36e5;
|
|
|
23949
23949
|
var CODEX_AGENT_VERSION = "0.154.0";
|
|
23950
23950
|
var SESSION_LIST_TIMEOUT_MILLISECONDS = 3e4;
|
|
23951
23951
|
var CODEX_COMMANDS = Object.freeze([{ description: "Compact the conversation context", name: "compact" }]);
|
|
23952
|
+
var COMPACT_COMPLETED_MESSAGE = "Context compacted.";
|
|
23952
23953
|
var APPROVAL_OPTIONS = Object.freeze([
|
|
23953
23954
|
{ kind: "allow_once", name: "Allow once", optionId: "accept" },
|
|
23954
23955
|
{ kind: "allow_always", name: "Allow for this session", optionId: "acceptForSession" },
|
|
@@ -24641,7 +24642,15 @@ var CodexAcpAgent = class {
|
|
|
24641
24642
|
this.#turn = turn;
|
|
24642
24643
|
try {
|
|
24643
24644
|
await this.#appServer.request("thread/compact/start", { threadId: this.#nativeSessionId }, signal);
|
|
24644
|
-
|
|
24645
|
+
const result = await completion.promise;
|
|
24646
|
+
if (result.stopReason !== "cancelled") {
|
|
24647
|
+
await this.#emit({
|
|
24648
|
+
content: { text: COMPACT_COMPLETED_MESSAGE, type: "text" },
|
|
24649
|
+
messageId: turn.turn.id.length > 0 ? turn.turn.id : "compact-completed",
|
|
24650
|
+
sessionUpdate: "agent_message_chunk"
|
|
24651
|
+
});
|
|
24652
|
+
}
|
|
24653
|
+
return result;
|
|
24645
24654
|
} finally {
|
|
24646
24655
|
signal.removeEventListener("abort", aborted2);
|
|
24647
24656
|
if (this.#turn === turn) {
|
|
@@ -38113,6 +38122,69 @@ function errorMessage(value) {
|
|
|
38113
38122
|
function messageSize(message) {
|
|
38114
38123
|
return message.text.length + (message.role === "assistant" ? JSON.stringify(message.activities).length + JSON.stringify(message.content).length : 0);
|
|
38115
38124
|
}
|
|
38125
|
+
var SESSION_HISTORY_MESSAGE_CHARACTER_LIMIT = Math.floor(SESSION_HISTORY_CHARACTER_LIMIT / 2);
|
|
38126
|
+
function fitActivity(activity2, maximumCharacters) {
|
|
38127
|
+
const truncate5 = (limit) => ({
|
|
38128
|
+
...activity2,
|
|
38129
|
+
input: bounded(activity2.input, limit),
|
|
38130
|
+
locations: activity2.locations.map((location) => bounded(location, Math.max(1, limit))),
|
|
38131
|
+
name: bounded(activity2.name, limit),
|
|
38132
|
+
output: bounded(activity2.output, limit),
|
|
38133
|
+
title: bounded(activity2.title, limit),
|
|
38134
|
+
toolKind: bounded(activity2.toolKind, limit)
|
|
38135
|
+
});
|
|
38136
|
+
let minimum = 1;
|
|
38137
|
+
let maximum = 1e5;
|
|
38138
|
+
let fitted = truncate5(0);
|
|
38139
|
+
while (minimum <= maximum) {
|
|
38140
|
+
const limit = Math.floor((minimum + maximum) / 2);
|
|
38141
|
+
const candidate = truncate5(limit);
|
|
38142
|
+
if (JSON.stringify(candidate).length <= maximumCharacters) {
|
|
38143
|
+
fitted = candidate;
|
|
38144
|
+
minimum = limit + 1;
|
|
38145
|
+
} else {
|
|
38146
|
+
maximum = limit - 1;
|
|
38147
|
+
}
|
|
38148
|
+
}
|
|
38149
|
+
return fitted;
|
|
38150
|
+
}
|
|
38151
|
+
function fitActivities(activities, maximumCharacters) {
|
|
38152
|
+
if (activities.length === 0) {
|
|
38153
|
+
return activities;
|
|
38154
|
+
}
|
|
38155
|
+
const arrayCharacters = 2 + activities.length - 1;
|
|
38156
|
+
const maximumActivityCharacters = Math.floor(Math.max(0, maximumCharacters - arrayCharacters) / activities.length);
|
|
38157
|
+
return activities.map((activity2) => fitActivity(activity2, maximumActivityCharacters));
|
|
38158
|
+
}
|
|
38159
|
+
function fitHistoryMessage(message) {
|
|
38160
|
+
const text2 = message.text.slice(-SESSION_HISTORY_MESSAGE_CHARACTER_LIMIT);
|
|
38161
|
+
if (message.role === "user") {
|
|
38162
|
+
return {
|
|
38163
|
+
message: { ...message, text: text2 },
|
|
38164
|
+
truncated: text2.length < message.text.length
|
|
38165
|
+
};
|
|
38166
|
+
}
|
|
38167
|
+
let activities = message.activities;
|
|
38168
|
+
const content = message.content;
|
|
38169
|
+
let fitted = { ...message, activities, content, text: text2 };
|
|
38170
|
+
if (messageSize(fitted) > SESSION_HISTORY_MESSAGE_CHARACTER_LIMIT && activities.length > 0) {
|
|
38171
|
+
const maximumCharacters = SESSION_HISTORY_MESSAGE_CHARACTER_LIMIT - text2.length - JSON.stringify(content).length;
|
|
38172
|
+
activities = fitActivities(activities, maximumCharacters);
|
|
38173
|
+
fitted = { ...fitted, activities };
|
|
38174
|
+
}
|
|
38175
|
+
const excess = Math.max(0, messageSize(fitted) - SESSION_HISTORY_MESSAGE_CHARACTER_LIMIT);
|
|
38176
|
+
if (excess > 0) {
|
|
38177
|
+
const maximumTextLength = Math.max(0, fitted.text.length - excess);
|
|
38178
|
+
fitted = {
|
|
38179
|
+
...fitted,
|
|
38180
|
+
text: maximumTextLength === 0 ? "" : fitted.text.slice(-maximumTextLength)
|
|
38181
|
+
};
|
|
38182
|
+
}
|
|
38183
|
+
return {
|
|
38184
|
+
message: fitted,
|
|
38185
|
+
truncated: fitted.text.length < message.text.length || JSON.stringify(activities).length < JSON.stringify(message.activities).length
|
|
38186
|
+
};
|
|
38187
|
+
}
|
|
38116
38188
|
function turnOutcome(status) {
|
|
38117
38189
|
switch (status) {
|
|
38118
38190
|
case "completed":
|
|
@@ -38139,14 +38211,20 @@ function decodeHistory(thread, value, options) {
|
|
|
38139
38211
|
for (const turn of page.data.toReversed()) {
|
|
38140
38212
|
const outcome = turnOutcome(turn.status);
|
|
38141
38213
|
const activities = [];
|
|
38214
|
+
let assignedActivityCount = 0;
|
|
38142
38215
|
let sequence = 0;
|
|
38143
38216
|
let assistantMessageIndex = null;
|
|
38217
|
+
const activitySlice = () => {
|
|
38218
|
+
const assigned = activities.slice(assignedActivityCount).slice(-100);
|
|
38219
|
+
assignedActivityCount = activities.length;
|
|
38220
|
+
return assigned;
|
|
38221
|
+
};
|
|
38144
38222
|
for (const item of turn.items) {
|
|
38145
38223
|
const { type } = itemTypeSchema.parse(item);
|
|
38146
38224
|
let message;
|
|
38147
38225
|
if (type === "userMessage") {
|
|
38148
38226
|
const { content } = userMessageSchema.parse(item);
|
|
38149
|
-
const
|
|
38227
|
+
const text2 = content.map((block) => {
|
|
38150
38228
|
const { type: type2 } = itemTypeSchema.parse(block);
|
|
38151
38229
|
if (type2 === "text") {
|
|
38152
38230
|
return textSchema.parse(block).text;
|
|
@@ -38158,7 +38236,7 @@ function decodeHistory(thread, value, options) {
|
|
|
38158
38236
|
}).join("");
|
|
38159
38237
|
message = {
|
|
38160
38238
|
role: "user",
|
|
38161
|
-
text:
|
|
38239
|
+
text: text2
|
|
38162
38240
|
};
|
|
38163
38241
|
} else if (type === "agentMessage") {
|
|
38164
38242
|
const agent = agentMessageSchema.parse(item);
|
|
@@ -38179,7 +38257,7 @@ function decodeHistory(thread, value, options) {
|
|
|
38179
38257
|
}
|
|
38180
38258
|
continue;
|
|
38181
38259
|
}
|
|
38182
|
-
message = { activities:
|
|
38260
|
+
message = { activities: activitySlice(), content: [], role: "assistant", text: agent.text };
|
|
38183
38261
|
} else if (type === "reasoning" && options.detail === "rich") {
|
|
38184
38262
|
const reasoning = reasoningSchema.parse(item);
|
|
38185
38263
|
const output2 = (reasoning.summary.length > 0 ? reasoning.summary : reasoning.content).join("\n\n");
|
|
@@ -38220,16 +38298,16 @@ function decodeHistory(thread, value, options) {
|
|
|
38220
38298
|
} else {
|
|
38221
38299
|
continue;
|
|
38222
38300
|
}
|
|
38223
|
-
const
|
|
38224
|
-
if (
|
|
38301
|
+
const fitted = fitHistoryMessage(message);
|
|
38302
|
+
if (fitted.message.text.length === 0 && (fitted.message.images?.length ?? 0) === 0) {
|
|
38225
38303
|
continue;
|
|
38226
38304
|
}
|
|
38227
|
-
truncated ||=
|
|
38228
|
-
messages.push(
|
|
38305
|
+
truncated ||= fitted.truncated;
|
|
38306
|
+
messages.push(fitted.message);
|
|
38229
38307
|
if (message.role === "assistant") {
|
|
38230
38308
|
assistantMessageIndex = messages.length - 1;
|
|
38231
38309
|
}
|
|
38232
|
-
characters += messageSize(
|
|
38310
|
+
characters += messageSize(fitted.message);
|
|
38233
38311
|
}
|
|
38234
38312
|
if (options.detail === "rich" && turn.error != null) {
|
|
38235
38313
|
activities.push(
|
|
@@ -38244,17 +38322,29 @@ function decodeHistory(thread, value, options) {
|
|
|
38244
38322
|
})
|
|
38245
38323
|
);
|
|
38246
38324
|
}
|
|
38325
|
+
if (options.detail === "rich" && activities.length > assignedActivityCount) {
|
|
38326
|
+
const message = {
|
|
38327
|
+
activities: activitySlice(),
|
|
38328
|
+
content: [],
|
|
38329
|
+
role: "assistant",
|
|
38330
|
+
text: ""
|
|
38331
|
+
};
|
|
38332
|
+
messages.push(message);
|
|
38333
|
+
assistantMessageIndex = messages.length - 1;
|
|
38334
|
+
characters += messageSize(message);
|
|
38335
|
+
}
|
|
38247
38336
|
if (assistantMessageIndex !== null) {
|
|
38248
38337
|
const assistant = messages[assistantMessageIndex];
|
|
38249
38338
|
if (assistant?.role === "assistant") {
|
|
38250
38339
|
characters -= messageSize(assistant);
|
|
38251
38340
|
const updated = {
|
|
38252
38341
|
...assistant,
|
|
38253
|
-
...outcome === void 0 ? {} : { outcome }
|
|
38254
|
-
activities: activities.slice(-100)
|
|
38342
|
+
...outcome === void 0 ? {} : { outcome }
|
|
38255
38343
|
};
|
|
38256
|
-
|
|
38257
|
-
|
|
38344
|
+
const fitted = fitHistoryMessage(updated);
|
|
38345
|
+
truncated ||= fitted.truncated;
|
|
38346
|
+
messages[assistantMessageIndex] = fitted.message;
|
|
38347
|
+
characters += messageSize(fitted.message);
|
|
38258
38348
|
}
|
|
38259
38349
|
} else if (activities.length > 0 || outcome !== void 0) {
|
|
38260
38350
|
const message = {
|
|
@@ -38264,8 +38354,10 @@ function decodeHistory(thread, value, options) {
|
|
|
38264
38354
|
...outcome === void 0 ? {} : { outcome },
|
|
38265
38355
|
text: ""
|
|
38266
38356
|
};
|
|
38267
|
-
|
|
38268
|
-
|
|
38357
|
+
const fitted = fitHistoryMessage(message);
|
|
38358
|
+
truncated ||= fitted.truncated;
|
|
38359
|
+
messages.push(fitted.message);
|
|
38360
|
+
characters += messageSize(fitted.message);
|
|
38269
38361
|
}
|
|
38270
38362
|
while (messages.length > (options.detail === "rich" ? SESSION_HISTORY_MESSAGE_LIMIT : SESSION_HISTORY_PREVIEW_MESSAGE_LIMIT) || characters > SESSION_HISTORY_CHARACTER_LIMIT) {
|
|
38271
38363
|
const removed = messages.shift();
|