@deepagents/context 0.20.0 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/browser.js +38 -0
- package/dist/browser.js.map +2 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +198 -51
- package/dist/index.js.map +4 -4
- package/dist/lib/agent.d.ts +3 -2
- package/dist/lib/agent.d.ts.map +1 -1
- package/dist/lib/chat.d.ts +20 -0
- package/dist/lib/chat.d.ts.map +1 -0
- package/dist/lib/fragments/message/user.d.ts +8 -0
- package/dist/lib/fragments/message/user.d.ts.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -150,10 +150,12 @@ const ranges = getReminderRanges(message.metadata).filter(
|
|
|
150
150
|
(range) => range.partIndex === partIndex,
|
|
151
151
|
);
|
|
152
152
|
const visibleText = stripTextByRanges(message.parts[partIndex].text, ranges);
|
|
153
|
+
const messageWithoutReminders = stripReminders(message);
|
|
153
154
|
```
|
|
154
155
|
|
|
155
156
|
- `getReminderRanges(metadata)` returns `metadata.reminders` as offset ranges (or `[]` when missing).
|
|
156
157
|
- `stripTextByRanges(text, ranges)` removes offset spans from text and returns the remaining visible content.
|
|
158
|
+
- `stripReminders(message)` strips inline/part reminders from a `UIMessage` and removes `metadata.reminders`.
|
|
157
159
|
- Reminder ranges are local to a message part, so filter by `partIndex` before stripping a specific part's text.
|
|
158
160
|
|
|
159
161
|
## Renderers
|
package/dist/browser.js
CHANGED
|
@@ -404,6 +404,43 @@ function stripTextByRanges(text, ranges) {
|
|
|
404
404
|
output += text.slice(cursor);
|
|
405
405
|
return output.trimEnd();
|
|
406
406
|
}
|
|
407
|
+
function stripReminders(message2) {
|
|
408
|
+
const reminderRanges = getReminderRanges(
|
|
409
|
+
isRecord(message2.metadata) ? message2.metadata : void 0
|
|
410
|
+
);
|
|
411
|
+
const rangesByPartIndex = /* @__PURE__ */ new Map();
|
|
412
|
+
for (const range of reminderRanges) {
|
|
413
|
+
const partRanges = rangesByPartIndex.get(range.partIndex) ?? [];
|
|
414
|
+
partRanges.push({ start: range.start, end: range.end });
|
|
415
|
+
rangesByPartIndex.set(range.partIndex, partRanges);
|
|
416
|
+
}
|
|
417
|
+
const strippedParts = message2.parts.flatMap((part, partIndex) => {
|
|
418
|
+
const clonedPart = { ...part };
|
|
419
|
+
const ranges = rangesByPartIndex.get(partIndex);
|
|
420
|
+
if (clonedPart.type !== "text" || ranges === void 0) {
|
|
421
|
+
return [clonedPart];
|
|
422
|
+
}
|
|
423
|
+
const strippedText = stripTextByRanges(clonedPart.text, ranges);
|
|
424
|
+
if (strippedText.length === 0) {
|
|
425
|
+
return [];
|
|
426
|
+
}
|
|
427
|
+
return [{ ...clonedPart, text: strippedText }];
|
|
428
|
+
});
|
|
429
|
+
const nextMessage = {
|
|
430
|
+
...message2,
|
|
431
|
+
parts: strippedParts
|
|
432
|
+
};
|
|
433
|
+
if (isRecord(message2.metadata)) {
|
|
434
|
+
const metadata = { ...message2.metadata };
|
|
435
|
+
delete metadata.reminders;
|
|
436
|
+
if (Object.keys(metadata).length > 0) {
|
|
437
|
+
nextMessage.metadata = metadata;
|
|
438
|
+
} else {
|
|
439
|
+
delete nextMessage.metadata;
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
return nextMessage;
|
|
443
|
+
}
|
|
407
444
|
function isRecord(value) {
|
|
408
445
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
409
446
|
}
|
|
@@ -1652,6 +1689,7 @@ export {
|
|
|
1652
1689
|
runGuardrailChain,
|
|
1653
1690
|
soul,
|
|
1654
1691
|
stop,
|
|
1692
|
+
stripReminders,
|
|
1655
1693
|
stripTextByRanges,
|
|
1656
1694
|
styleGuide,
|
|
1657
1695
|
term,
|