@projectcor/maia-components 2.48.0 → 2.49.0-beta.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/lib/components/atoms/ContextCompactedNotice/ContextCompactedNotice.js +53 -0
- package/lib/components/atoms/ContextCompactedNotice/ContextCompactedNotice.styles.js +8 -0
- package/lib/components/atoms/ContextCompactedNotice/index.js +2 -0
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +23 -14
- package/lib/constants/formatExtensions.js +8 -7
- package/lib/dev/DevReasoningTimeline.js +50 -8
- package/lib/hooks/useChatManager/useChatManager.js +23 -8
- package/lib/hooks/useReasoningTrace/reasoningStore.js +39 -8
- package/lib/lang/br/index.js +7 -1
- package/lib/lang/en/index.js +7 -1
- package/lib/lang/es/index.js +7 -1
- package/lib/lang/fr/index.js +7 -1
- package/lib/services/utils/mapChatMessages.js +12 -7
- package/lib/store/sessions/sessionStreamManager.js +48 -45
- package/lib/types/Chat.js +1 -1
- package/lib/types/contextCompaction.js +48 -0
- package/lib/types/jest-dom.d.js +2 -0
- package/lib/types/reasoning.js +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import _typeof from "@babel/runtime/helpers/typeof";
|
|
2
|
+
/**
|
|
3
|
+
* `event: context_compacted` — MAIA recortó el contexto del turno.
|
|
4
|
+
*
|
|
5
|
+
* El backend sólo lo emite cuando el recorte es algo que el usuario puede
|
|
6
|
+
* notar (imágenes viejas, turnos enteros, o el texto literal de turnos
|
|
7
|
+
* viejos). Vaciar resultados de herramientas no llega acá: el agente puede
|
|
8
|
+
* volver a llamarlas, así que avisarlo sería ruido.
|
|
9
|
+
*
|
|
10
|
+
* Manda números y nombres de estrategia, nunca texto: la redacción es del
|
|
11
|
+
* cliente para que se pueda traducir.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/** Tal cual viaja en el SSE (snake_case). */
|
|
15
|
+
|
|
16
|
+
/** Forma normalizada que consume la UI. */
|
|
17
|
+
|
|
18
|
+
var toCount = function toCount(value) {
|
|
19
|
+
return typeof value === 'number' && value > 0 ? Math.floor(value) : 0;
|
|
20
|
+
};
|
|
21
|
+
var toTokens = function toTokens(value) {
|
|
22
|
+
return typeof value === 'number' && Number.isFinite(value) && value >= 0 ? Math.floor(value) : null;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Normaliza el payload y descarta lo que no vale mostrar.
|
|
27
|
+
*
|
|
28
|
+
* Devuelve `null` cuando no quedó nada visible: así el componente no necesita
|
|
29
|
+
* decidir si hay algo que decir, y un payload raro o vacío no pinta un aviso
|
|
30
|
+
* sin contenido.
|
|
31
|
+
*/
|
|
32
|
+
export var mapContextCompaction = function mapContextCompaction(payload) {
|
|
33
|
+
if (!payload || _typeof(payload) !== 'object') return null;
|
|
34
|
+
var strategies = Array.isArray(payload.strategies) ? payload.strategies.filter(function (item) {
|
|
35
|
+
return typeof item === 'string';
|
|
36
|
+
}) : [];
|
|
37
|
+
var compaction = {
|
|
38
|
+
strategies: strategies,
|
|
39
|
+
summarized: payload.summarized === true || strategies.includes('summarize'),
|
|
40
|
+
imagesPruned: toCount(payload.images_pruned),
|
|
41
|
+
turnsDropped: toCount(payload.turns_dropped),
|
|
42
|
+
tokensBefore: toTokens(payload.tokens_before),
|
|
43
|
+
tokensAfter: toTokens(payload.tokens_after)
|
|
44
|
+
};
|
|
45
|
+
if (!compaction.summarized && !compaction.imagesPruned && !compaction.turnsDropped) return null;
|
|
46
|
+
return compaction;
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ0b0NvdW50IiwidmFsdWUiLCJNYXRoIiwiZmxvb3IiLCJ0b1Rva2VucyIsIk51bWJlciIsImlzRmluaXRlIiwibWFwQ29udGV4dENvbXBhY3Rpb24iLCJwYXlsb2FkIiwiX3R5cGVvZiIsInN0cmF0ZWdpZXMiLCJBcnJheSIsImlzQXJyYXkiLCJmaWx0ZXIiLCJpdGVtIiwiY29tcGFjdGlvbiIsInN1bW1hcml6ZWQiLCJpbmNsdWRlcyIsImltYWdlc1BydW5lZCIsImltYWdlc19wcnVuZWQiLCJ0dXJuc0Ryb3BwZWQiLCJ0dXJuc19kcm9wcGVkIiwidG9rZW5zQmVmb3JlIiwidG9rZW5zX2JlZm9yZSIsInRva2Vuc0FmdGVyIiwidG9rZW5zX2FmdGVyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2NvbnRleHRDb21wYWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogYGV2ZW50OiBjb250ZXh0X2NvbXBhY3RlZGAg4oCUIE1BSUEgcmVjb3J0w7MgZWwgY29udGV4dG8gZGVsIHR1cm5vLlxuICpcbiAqIEVsIGJhY2tlbmQgc8OzbG8gbG8gZW1pdGUgY3VhbmRvIGVsIHJlY29ydGUgZXMgYWxnbyBxdWUgZWwgdXN1YXJpbyBwdWVkZVxuICogbm90YXIgKGltw6FnZW5lcyB2aWVqYXMsIHR1cm5vcyBlbnRlcm9zLCBvIGVsIHRleHRvIGxpdGVyYWwgZGUgdHVybm9zXG4gKiB2aWVqb3MpLiBWYWNpYXIgcmVzdWx0YWRvcyBkZSBoZXJyYW1pZW50YXMgbm8gbGxlZ2EgYWPDoTogZWwgYWdlbnRlIHB1ZWRlXG4gKiB2b2x2ZXIgYSBsbGFtYXJsYXMsIGFzw60gcXVlIGF2aXNhcmxvIHNlcsOtYSBydWlkby5cbiAqXG4gKiBNYW5kYSBuw7ptZXJvcyB5IG5vbWJyZXMgZGUgZXN0cmF0ZWdpYSwgbnVuY2EgdGV4dG86IGxhIHJlZGFjY2nDs24gZXMgZGVsXG4gKiBjbGllbnRlIHBhcmEgcXVlIHNlIHB1ZWRhIHRyYWR1Y2lyLlxuICovXG5cbmV4cG9ydCB0eXBlIENvbnRleHRDb21wYWN0aW9uU3RyYXRlZ3kgPVxuICAnY2FwX3Rvb2xfcmVzdWx0cycgfCAncHJ1bmVfaW1hZ2VzJyB8ICdjbGVhcl90b29sX3Jlc3VsdHMnIHwgJ3N1bW1hcml6ZScgfCAnZHJvcF90dXJucydcblxuLyoqIFRhbCBjdWFsIHZpYWphIGVuIGVsIFNTRSAoc25ha2VfY2FzZSkuICovXG5leHBvcnQgdHlwZSBDb250ZXh0Q29tcGFjdGlvblBheWxvYWQgPSB7XG4gIHN0cmF0ZWdpZXM/OiBzdHJpbmdbXVxuICBzdW1tYXJpemVkPzogYm9vbGVhblxuICBpbWFnZXNfcHJ1bmVkPzogbnVtYmVyXG4gIHR1cm5zX2Ryb3BwZWQ/OiBudW1iZXJcbiAgdG9vbF9yZXN1bHRzX2NsZWFyZWQ/OiBudW1iZXJcbiAgdG9rZW5zX2JlZm9yZT86IG51bWJlclxuICB0b2tlbnNfYWZ0ZXI/OiBudW1iZXJcbiAgYWdlbnQ/OiBzdHJpbmdcbn1cblxuLyoqIEZvcm1hIG5vcm1hbGl6YWRhIHF1ZSBjb25zdW1lIGxhIFVJLiAqL1xuZXhwb3J0IHR5cGUgQ29udGV4dENvbXBhY3Rpb24gPSB7XG4gIHN0cmF0ZWdpZXM6IENvbnRleHRDb21wYWN0aW9uU3RyYXRlZ3lbXVxuICBzdW1tYXJpemVkOiBib29sZWFuXG4gIGltYWdlc1BydW5lZDogbnVtYmVyXG4gIHR1cm5zRHJvcHBlZDogbnVtYmVyXG4gIHRva2Vuc0JlZm9yZTogbnVtYmVyIHwgbnVsbFxuICB0b2tlbnNBZnRlcjogbnVtYmVyIHwgbnVsbFxufVxuXG5jb25zdCB0b0NvdW50ID0gKHZhbHVlOiB1bmtub3duKTogbnVtYmVyID0+ICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInICYmIHZhbHVlID4gMCA/IE1hdGguZmxvb3IodmFsdWUpIDogMClcblxuY29uc3QgdG9Ub2tlbnMgPSAodmFsdWU6IHVua25vd24pOiBudW1iZXIgfCBudWxsID0+XG4gIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgJiYgTnVtYmVyLmlzRmluaXRlKHZhbHVlKSAmJiB2YWx1ZSA+PSAwID8gTWF0aC5mbG9vcih2YWx1ZSkgOiBudWxsXG5cbi8qKlxuICogTm9ybWFsaXphIGVsIHBheWxvYWQgeSBkZXNjYXJ0YSBsbyBxdWUgbm8gdmFsZSBtb3N0cmFyLlxuICpcbiAqIERldnVlbHZlIGBudWxsYCBjdWFuZG8gbm8gcXVlZMOzIG5hZGEgdmlzaWJsZTogYXPDrSBlbCBjb21wb25lbnRlIG5vIG5lY2VzaXRhXG4gKiBkZWNpZGlyIHNpIGhheSBhbGdvIHF1ZSBkZWNpciwgeSB1biBwYXlsb2FkIHJhcm8gbyB2YWPDrW8gbm8gcGludGEgdW4gYXZpc29cbiAqIHNpbiBjb250ZW5pZG8uXG4gKi9cbmV4cG9ydCBjb25zdCBtYXBDb250ZXh0Q29tcGFjdGlvbiA9IChcbiAgcGF5bG9hZDogQ29udGV4dENvbXBhY3Rpb25QYXlsb2FkIHwgbnVsbCB8IHVuZGVmaW5lZFxuKTogQ29udGV4dENvbXBhY3Rpb24gfCBudWxsID0+IHtcbiAgaWYgKCFwYXlsb2FkIHx8IHR5cGVvZiBwYXlsb2FkICE9PSAnb2JqZWN0JykgcmV0dXJuIG51bGxcblxuICBjb25zdCBzdHJhdGVnaWVzID0gQXJyYXkuaXNBcnJheShwYXlsb2FkLnN0cmF0ZWdpZXMpXG4gICAgPyAocGF5bG9hZC5zdHJhdGVnaWVzLmZpbHRlcihpdGVtID0+IHR5cGVvZiBpdGVtID09PSAnc3RyaW5nJykgYXMgQ29udGV4dENvbXBhY3Rpb25TdHJhdGVneVtdKVxuICAgIDogW11cblxuICBjb25zdCBjb21wYWN0aW9uOiBDb250ZXh0Q29tcGFjdGlvbiA9IHtcbiAgICBzdHJhdGVnaWVzLFxuICAgIHN1bW1hcml6ZWQ6IHBheWxvYWQuc3VtbWFyaXplZCA9PT0gdHJ1ZSB8fCBzdHJhdGVnaWVzLmluY2x1ZGVzKCdzdW1tYXJpemUnKSxcbiAgICBpbWFnZXNQcnVuZWQ6IHRvQ291bnQocGF5bG9hZC5pbWFnZXNfcHJ1bmVkKSxcbiAgICB0dXJuc0Ryb3BwZWQ6IHRvQ291bnQocGF5bG9hZC50dXJuc19kcm9wcGVkKSxcbiAgICB0b2tlbnNCZWZvcmU6IHRvVG9rZW5zKHBheWxvYWQudG9rZW5zX2JlZm9yZSksXG4gICAgdG9rZW5zQWZ0ZXI6IHRvVG9rZW5zKHBheWxvYWQudG9rZW5zX2FmdGVyKSxcbiAgfVxuXG4gIGlmICghY29tcGFjdGlvbi5zdW1tYXJpemVkICYmICFjb21wYWN0aW9uLmltYWdlc1BydW5lZCAmJiAhY29tcGFjdGlvbi50dXJuc0Ryb3BwZWQpIHJldHVybiBudWxsXG5cbiAgcmV0dXJuIGNvbXBhY3Rpb25cbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBS0E7O0FBWUE7O0FBVUEsSUFBTUEsT0FBTyxHQUFHLFNBQVZBLE9BQU9BLENBQUlDLEtBQWM7RUFBQSxPQUFjLE9BQU9BLEtBQUssS0FBSyxRQUFRLElBQUlBLEtBQUssR0FBRyxDQUFDLEdBQUdDLElBQUksQ0FBQ0MsS0FBSyxDQUFDRixLQUFLLENBQUMsR0FBRyxDQUFDO0FBQUEsQ0FBQztBQUU1RyxJQUFNRyxRQUFRLEdBQUcsU0FBWEEsUUFBUUEsQ0FBSUgsS0FBYztFQUFBLE9BQzlCLE9BQU9BLEtBQUssS0FBSyxRQUFRLElBQUlJLE1BQU0sQ0FBQ0MsUUFBUSxDQUFDTCxLQUFLLENBQUMsSUFBSUEsS0FBSyxJQUFJLENBQUMsR0FBR0MsSUFBSSxDQUFDQyxLQUFLLENBQUNGLEtBQUssQ0FBQyxHQUFHLElBQUk7QUFBQTs7QUFFOUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1NLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBb0JBLENBQy9CQyxPQUFvRCxFQUN2QjtFQUM3QixJQUFJLENBQUNBLE9BQU8sSUFBSUMsT0FBQSxDQUFPRCxPQUFPLE1BQUssUUFBUSxFQUFFLE9BQU8sSUFBSTtFQUV4RCxJQUFNRSxVQUFVLEdBQUdDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDSixPQUFPLENBQUNFLFVBQVUsQ0FBQyxHQUMvQ0YsT0FBTyxDQUFDRSxVQUFVLENBQUNHLE1BQU0sQ0FBQyxVQUFBQyxJQUFJO0lBQUEsT0FBSSxPQUFPQSxJQUFJLEtBQUssUUFBUTtFQUFBLEVBQUMsR0FDNUQsRUFBRTtFQUVOLElBQU1DLFVBQTZCLEdBQUc7SUFDcENMLFVBQVUsRUFBVkEsVUFBVTtJQUNWTSxVQUFVLEVBQUVSLE9BQU8sQ0FBQ1EsVUFBVSxLQUFLLElBQUksSUFBSU4sVUFBVSxDQUFDTyxRQUFRLENBQUMsV0FBVyxDQUFDO0lBQzNFQyxZQUFZLEVBQUVsQixPQUFPLENBQUNRLE9BQU8sQ0FBQ1csYUFBYSxDQUFDO0lBQzVDQyxZQUFZLEVBQUVwQixPQUFPLENBQUNRLE9BQU8sQ0FBQ2EsYUFBYSxDQUFDO0lBQzVDQyxZQUFZLEVBQUVsQixRQUFRLENBQUNJLE9BQU8sQ0FBQ2UsYUFBYSxDQUFDO0lBQzdDQyxXQUFXLEVBQUVwQixRQUFRLENBQUNJLE9BQU8sQ0FBQ2lCLFlBQVk7RUFDNUMsQ0FBQztFQUVELElBQUksQ0FBQ1YsVUFBVSxDQUFDQyxVQUFVLElBQUksQ0FBQ0QsVUFBVSxDQUFDRyxZQUFZLElBQUksQ0FBQ0gsVUFBVSxDQUFDSyxZQUFZLEVBQUUsT0FBTyxJQUFJO0VBRS9GLE9BQU9MLFVBQVU7QUFDbkIsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/// <reference types="testing-library__jest-dom" />
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2plc3QtZG9tLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJ0ZXN0aW5nLWxpYnJhcnlfX2plc3QtZG9tXCIgLz5cbiJdLCJtYXBwaW5ncyI6IkFBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
package/lib/types/reasoning.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3JlYXNvbmluZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbnRleHRDb21wYWN0aW9uUGF5bG9hZCB9IGZyb20gJy4vY29udGV4dENvbXBhY3Rpb24nXG5cbmV4cG9ydCB0eXBlIFJlYXNvbmluZ1N0ZXBUeXBlID0gJ3RoaW5raW5nJyB8ICduYXJyYXRpb24nIHwgJ3Rvb2wnIHwgJ2hhbmRvZmYnXG5cbmV4cG9ydCB0eXBlIFJlYXNvbmluZ1N0ZXBTdGF0dXMgPSAncnVubmluZycgfCAncGVuZGluZycgfCAnb2snIHwgJ2Vycm9yJ1xuXG5leHBvcnQgdHlwZSBSZWFzb25pbmdTdGVwID0ge1xuICBpOiBudW1iZXJcbiAgdHlwZTogUmVhc29uaW5nU3RlcFR5cGVcbiAgdGV4dD86IHN0cmluZ1xuICByZWRhY3RlZD86IGJvb2xlYW5cbiAgdHJ1bmNhdGVkPzogYm9vbGVhblxuICB0b29sPzogc3RyaW5nXG4gIHRvPzogc3RyaW5nXG4gIGFyZ3M/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBzdGF0dXM/OiBSZWFzb25pbmdTdGVwU3RhdHVzXG4gIHJlc3VsdFByZXZpZXc/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgUmVhc29uaW5nU3VtbWFyeSA9IHtcbiAgc3RlcENvdW50OiBudW1iZXJcbiAgdG9vbENvdW50OiBudW1iZXJcbiAgZHVyYXRpb25Ncz86IG51bWJlclxuICB0cnVuY2F0ZWQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIFJlYXNvbmluZ1RyYWNlID0ge1xuICBzdGVwczogUmVhc29uaW5nU3RlcFtdXG4gIHN1bW1hcnk6IFJlYXNvbmluZ1N1bW1hcnlcbn1cblxuZXhwb3J0IHR5cGUgUmVhc29uaW5nU3RlcFBheWxvYWQgPSB7XG4gIGk6IG51bWJlclxuICB0eXBlPzogUmVhc29uaW5nU3RlcFR5cGVcbiAgdGV4dD86IHN0cmluZ1xuICBkZWx0YT86IHN0cmluZ1xuICByZWRhY3RlZD86IGJvb2xlYW5cbiAgdHJ1bmNhdGVkPzogYm9vbGVhblxuICB0b29sPzogc3RyaW5nXG4gIHRvPzogc3RyaW5nXG4gIGFyZ3M/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBzdGF0dXM/OiBSZWFzb25pbmdTdGVwU3RhdHVzXG4gIHJlc3VsdF9wcmV2aWV3Pzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFJlYXNvbmluZ1N1bW1hcnlQYXlsb2FkID0ge1xuICBzdGVwX2NvdW50PzogbnVtYmVyXG4gIHRvb2xfY291bnQ/OiBudW1iZXJcbiAgZHVyYXRpb25fbXM/OiBudW1iZXJcbiAgdHJ1bmNhdGVkPzogYm9vbGVhblxufVxuXG5leHBvcnQgdHlwZSBSZWFzb25pbmdUcmFjZVBheWxvYWQgPSB7XG4gIHY/OiBudW1iZXJcbiAgc3RlcHM/OiBSZWFzb25pbmdTdGVwUGF5bG9hZFtdXG4gIHN1bW1hcnk/OiBSZWFzb25pbmdTdW1tYXJ5UGF5bG9hZFxuICBjb21wYWN0aW9uPzogQ29udGV4dENvbXBhY3Rpb25QYXlsb2FkXG59XG4iXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@projectcor/maia-components",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.49.0-beta.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"repository": {
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"brace-expansion@5": "5.0.12",
|
|
59
59
|
"body-parser": "^1.20.6",
|
|
60
60
|
"@babel/plugin-transform-modules-systemjs": "^7.29.7",
|
|
61
|
-
"@tootallnate/once": "
|
|
61
|
+
"@tootallnate/once": "2",
|
|
62
62
|
"dompurify": "3.4.13",
|
|
63
63
|
"fast-uri": "3.1.6",
|
|
64
64
|
"flatted": "^3.4.2",
|