@projectcor/maia-components 2.11.108-0 → 2.11.109-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.
Files changed (48) hide show
  1. package/lib/components/atoms/IconButton.js +2 -2
  2. package/lib/components/atoms/MAIAInput/MAIAInput.js +73 -14
  3. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.js +121 -0
  4. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.styles.js +55 -0
  5. package/lib/components/atoms/ReasoningBlock/index.js +2 -0
  6. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +151 -39
  7. package/lib/components/molecules/ChatAIMessages/newStyles.js +21 -13
  8. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +187 -154
  9. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +12 -2
  10. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.js +26 -8
  11. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.styles.js +24 -7
  12. package/lib/components/molecules/MessageFeedback/MessageFeedback.js +2 -14
  13. package/lib/components/organisms/ChatAI/ChatAI.js +22 -3
  14. package/lib/components/organisms/ClientAIButton/ClientAIButton.js +4 -1
  15. package/lib/components/organisms/CloseWhileGeneratingModal/CloseWhileGeneratingModal.js +56 -0
  16. package/lib/components/organisms/CloseWhileGeneratingModal/CloseWhileGeneratingModal.styles.js +35 -0
  17. package/lib/components/organisms/CloseWhileGeneratingModal/index.js +2 -0
  18. package/lib/components/organisms/ProjectAIButton/ProjectAIButton.js +4 -1
  19. package/lib/context/global-context.js +1 -1
  20. package/lib/dev/DevChatAI.js +4 -1
  21. package/lib/hooks/useChatManager/useChatManager.js +106 -371
  22. package/lib/hooks/useChatMessages/useChatMessages.js +33 -6
  23. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +1 -1
  24. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +6 -80
  25. package/lib/hooks/useProjectSummaryConfig.js +36 -17
  26. package/lib/hooks/useReasoningTrace/index.js +3 -0
  27. package/lib/hooks/useReasoningTrace/reasoningStore.js +142 -0
  28. package/lib/hooks/useReasoningTrace/useReasoningTrace.js +14 -0
  29. package/lib/lang/br/index.js +242 -31
  30. package/lib/lang/en/index.js +242 -31
  31. package/lib/lang/es/index.js +242 -31
  32. package/lib/lang/fr/index.js +242 -31
  33. package/lib/services/maia/Orchestrator/index.js +3 -4
  34. package/lib/services/maia/Orchestrator/orchestrator.js +23 -84
  35. package/lib/services/utils/mapChatMessages.js +25 -26
  36. package/lib/store/maiaMinimizedPersistence.js +49 -0
  37. package/lib/store/sessions/sessionStreamManager.js +93 -191
  38. package/lib/store/sessions/sessions.types.js +1 -1
  39. package/lib/types/Chat.js +1 -1
  40. package/lib/types/reasoning.js +2 -0
  41. package/lib/utils/autoApproveStorage.js +26 -0
  42. package/lib/utils/maiaHostOpen.js +10 -1
  43. package/lib/utils/reasoningMappers.js +62 -0
  44. package/lib/utils/streamActivityMessages.js +106 -41
  45. package/package.json +1 -1
  46. package/lib/components/atoms/icons/RetryIcon.js +0 -34
  47. package/lib/store/maiaLastChatPersistence.js +0 -35
  48. package/lib/utils/retryCompletion.js +0 -85
@@ -1,34 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- /** Circular arrow for regenerating an assistant reply. */
3
- export var RetryIcon = function RetryIcon(_ref) {
4
- var _ref$className = _ref.className,
5
- className = _ref$className === void 0 ? '' : _ref$className,
6
- _ref$width = _ref.width,
7
- width = _ref$width === void 0 ? 24 : _ref$width,
8
- _ref$height = _ref.height,
9
- height = _ref$height === void 0 ? 24 : _ref$height,
10
- _ref$color = _ref.color,
11
- color = _ref$color === void 0 ? 'currentColor' : _ref$color;
12
- return /*#__PURE__*/_jsx("svg", {
13
- className: className,
14
- width: width,
15
- height: height,
16
- viewBox: "0 0 20 20",
17
- xmlns: "http://www.w3.org/2000/svg",
18
- "aria-hidden": "true",
19
- children: /*#__PURE__*/_jsx("g", {
20
- id: "RetryIcon",
21
- stroke: "none",
22
- strokeWidth: "1",
23
- fill: color,
24
- fillRule: "evenodd",
25
- children: /*#__PURE__*/_jsx("path", {
26
- transform: "scale(0.833333)",
27
- d: "M17.65 6.35A7.958 7.958 0 0 0 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08A5.99 5.99 0 0 1 12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35Z",
28
- fill: color,
29
- fillRule: "nonzero"
30
- })
31
- })
32
- });
33
- };
34
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZXRyeUljb24iLCJfcmVmIiwiX3JlZiRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJfcmVmJHdpZHRoIiwid2lkdGgiLCJfcmVmJGhlaWdodCIsImhlaWdodCIsIl9yZWYkY29sb3IiLCJjb2xvciIsIl9qc3giLCJ2aWV3Qm94IiwieG1sbnMiLCJjaGlsZHJlbiIsImlkIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJmaWxsIiwiZmlsbFJ1bGUiLCJ0cmFuc2Zvcm0iLCJkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvaWNvbnMvUmV0cnlJY29uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIFJldHJ5SWNvblByb3BzID0ge1xuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgd2lkdGg/OiBudW1iZXIgfCBzdHJpbmdcbiAgaGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nXG4gIGNvbG9yPzogc3RyaW5nXG59XG5cbi8qKiBDaXJjdWxhciBhcnJvdyBmb3IgcmVnZW5lcmF0aW5nIGFuIGFzc2lzdGFudCByZXBseS4gKi9cbmV4cG9ydCBjb25zdCBSZXRyeUljb24gPSAoeyBjbGFzc05hbWUgPSAnJywgd2lkdGggPSAyNCwgaGVpZ2h0ID0gMjQsIGNvbG9yID0gJ2N1cnJlbnRDb2xvcicgfTogUmV0cnlJY29uUHJvcHMpID0+IChcbiAgPHN2Z1xuICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgIHdpZHRoPXt3aWR0aH1cbiAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICA+XG4gICAgPGcgaWQ9XCJSZXRyeUljb25cIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlV2lkdGg9XCIxXCIgZmlsbD17Y29sb3J9IGZpbGxSdWxlPVwiZXZlbm9kZFwiPlxuICAgICAgPHBhdGhcbiAgICAgICAgdHJhbnNmb3JtPVwic2NhbGUoMC44MzMzMzMpXCJcbiAgICAgICAgZD1cIk0xNy42NSA2LjM1QTcuOTU4IDcuOTU4IDAgMCAwIDEyIDRjLTQuNDIgMC03Ljk5IDMuNTgtNy45OSA4czMuNTcgOCA3Ljk5IDhjMy43MyAwIDYuODQtMi41NSA3LjczLTZoLTIuMDhBNS45OSA1Ljk5IDAgMCAxIDEyIDE4Yy0zLjMxIDAtNi0yLjY5LTYtNnMyLjY5LTYgNi02YzEuNjYgMCAzLjE0LjY5IDQuMjIgMS43OEwxMyAxMWg3VjRsLTIuMzUgMi4zNVpcIlxuICAgICAgICBmaWxsPXtjb2xvcn1cbiAgICAgICAgZmlsbFJ1bGU9XCJub256ZXJvXCJcbiAgICAgIC8+XG4gICAgPC9nPlxuICA8L3N2Zz5cbilcbiJdLCJtYXBwaW5ncyI6IjtBQU9BO0FBQ0EsT0FBTyxJQUFNQSxTQUFTLEdBQUcsU0FBWkEsU0FBU0EsQ0FBQUMsSUFBQTtFQUFBLElBQUFDLGNBQUEsR0FBQUQsSUFBQSxDQUFNRSxTQUFTO0lBQVRBLFNBQVMsR0FBQUQsY0FBQSxjQUFHLEVBQUUsR0FBQUEsY0FBQTtJQUFBRSxVQUFBLEdBQUFILElBQUEsQ0FBRUksS0FBSztJQUFMQSxLQUFLLEdBQUFELFVBQUEsY0FBRyxFQUFFLEdBQUFBLFVBQUE7SUFBQUUsV0FBQSxHQUFBTCxJQUFBLENBQUVNLE1BQU07SUFBTkEsTUFBTSxHQUFBRCxXQUFBLGNBQUcsRUFBRSxHQUFBQSxXQUFBO0lBQUFFLFVBQUEsR0FBQVAsSUFBQSxDQUFFUSxLQUFLO0lBQUxBLEtBQUssR0FBQUQsVUFBQSxjQUFHLGNBQWMsR0FBQUEsVUFBQTtFQUFBLG9CQUN6RkUsSUFBQTtJQUNFUCxTQUFTLEVBQUVBLFNBQVU7SUFDckJFLEtBQUssRUFBRUEsS0FBTTtJQUNiRSxNQUFNLEVBQUVBLE1BQU87SUFDZkksT0FBTyxFQUFDLFdBQVc7SUFDbkJDLEtBQUssRUFBQyw0QkFBNEI7SUFDbEMsZUFBWSxNQUFNO0lBQUFDLFFBQUEsZUFFbEJILElBQUE7TUFBR0ksRUFBRSxFQUFDLFdBQVc7TUFBQ0MsTUFBTSxFQUFDLE1BQU07TUFBQ0MsV0FBVyxFQUFDLEdBQUc7TUFBQ0MsSUFBSSxFQUFFUixLQUFNO01BQUNTLFFBQVEsRUFBQyxTQUFTO01BQUFMLFFBQUEsZUFDN0VILElBQUE7UUFDRVMsU0FBUyxFQUFDLGlCQUFpQjtRQUMzQkMsQ0FBQyxFQUFDLDRNQUE0TTtRQUM5TUgsSUFBSSxFQUFFUixLQUFNO1FBQ1pTLFFBQVEsRUFBQztNQUFTLENBQ25CO0lBQUMsQ0FDRDtFQUFDLENBQ0QsQ0FBQztBQUFBLENBQ1AiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,35 +0,0 @@
1
- var STORAGE_PREFIX = 'maia:last-chat';
2
- var canUseStorage = function canUseStorage() {
3
- return typeof window !== 'undefined' && typeof localStorage !== 'undefined';
4
- };
5
- var buildKey = function buildKey(userId) {
6
- return "".concat(STORAGE_PREFIX, ":").concat(userId);
7
- };
8
-
9
- /**
10
- * Último chat abierto por el usuario. El pill es permanente, así que al navegar o refrescar
11
- * no hay "estado minimizado" que restaurar: lo único que necesitamos recordar es a qué
12
- * conversación volver. Scopeado por usuario para no arrastrarlo de una cuenta a otra.
13
- */
14
- export var readLastActiveChatId = function readLastActiveChatId(userId) {
15
- if (!canUseStorage()) return null;
16
- try {
17
- var raw = localStorage.getItem(buildKey(userId));
18
- return raw && raw.length > 0 ? raw : null;
19
- } catch (_unused) {
20
- return null;
21
- }
22
- };
23
- export var writeLastActiveChatId = function writeLastActiveChatId(userId, chatId) {
24
- if (!canUseStorage()) return;
25
- try {
26
- if (!chatId) {
27
- localStorage.removeItem(buildKey(userId));
28
- return;
29
- }
30
- localStorage.setItem(buildKey(userId), chatId);
31
- } catch (_unused2) {
32
- // storage lleno o bloqueado: el pill simplemente no recuerda la última conversación
33
- }
34
- };
35
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTVE9SQUdFX1BSRUZJWCIsImNhblVzZVN0b3JhZ2UiLCJ3aW5kb3ciLCJsb2NhbFN0b3JhZ2UiLCJidWlsZEtleSIsInVzZXJJZCIsImNvbmNhdCIsInJlYWRMYXN0QWN0aXZlQ2hhdElkIiwicmF3IiwiZ2V0SXRlbSIsImxlbmd0aCIsIl91bnVzZWQiLCJ3cml0ZUxhc3RBY3RpdmVDaGF0SWQiLCJjaGF0SWQiLCJyZW1vdmVJdGVtIiwic2V0SXRlbSIsIl91bnVzZWQyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0b3JlL21haWFMYXN0Q2hhdFBlcnNpc3RlbmNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IFNUT1JBR0VfUFJFRklYID0gJ21haWE6bGFzdC1jaGF0J1xuXG5jb25zdCBjYW5Vc2VTdG9yYWdlID0gKCk6IGJvb2xlYW4gPT4gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIGxvY2FsU3RvcmFnZSAhPT0gJ3VuZGVmaW5lZCdcblxuY29uc3QgYnVpbGRLZXkgPSAodXNlcklkOiBudW1iZXIgfCBzdHJpbmcpOiBzdHJpbmcgPT4gYCR7U1RPUkFHRV9QUkVGSVh9OiR7dXNlcklkfWBcblxuLyoqXG4gKiDDmmx0aW1vIGNoYXQgYWJpZXJ0byBwb3IgZWwgdXN1YXJpby4gRWwgcGlsbCBlcyBwZXJtYW5lbnRlLCBhc8OtIHF1ZSBhbCBuYXZlZ2FyIG8gcmVmcmVzY2FyXG4gKiBubyBoYXkgXCJlc3RhZG8gbWluaW1pemFkb1wiIHF1ZSByZXN0YXVyYXI6IGxvIMO6bmljbyBxdWUgbmVjZXNpdGFtb3MgcmVjb3JkYXIgZXMgYSBxdcOpXG4gKiBjb252ZXJzYWNpw7NuIHZvbHZlci4gU2NvcGVhZG8gcG9yIHVzdWFyaW8gcGFyYSBubyBhcnJhc3RyYXJsbyBkZSB1bmEgY3VlbnRhIGEgb3RyYS5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlYWRMYXN0QWN0aXZlQ2hhdElkID0gKHVzZXJJZDogbnVtYmVyIHwgc3RyaW5nKTogc3RyaW5nIHwgbnVsbCA9PiB7XG4gIGlmICghY2FuVXNlU3RvcmFnZSgpKSByZXR1cm4gbnVsbFxuXG4gIHRyeSB7XG4gICAgY29uc3QgcmF3ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oYnVpbGRLZXkodXNlcklkKSlcbiAgICByZXR1cm4gcmF3ICYmIHJhdy5sZW5ndGggPiAwID8gcmF3IDogbnVsbFxuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG59XG5cbmV4cG9ydCBjb25zdCB3cml0ZUxhc3RBY3RpdmVDaGF0SWQgPSAodXNlcklkOiBudW1iZXIgfCBzdHJpbmcsIGNoYXRJZDogc3RyaW5nIHwgbnVsbCk6IHZvaWQgPT4ge1xuICBpZiAoIWNhblVzZVN0b3JhZ2UoKSkgcmV0dXJuXG5cbiAgdHJ5IHtcbiAgICBpZiAoIWNoYXRJZCkge1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oYnVpbGRLZXkodXNlcklkKSlcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShidWlsZEtleSh1c2VySWQpLCBjaGF0SWQpXG4gIH0gY2F0Y2gge1xuICAgIC8vIHN0b3JhZ2UgbGxlbm8gbyBibG9xdWVhZG86IGVsIHBpbGwgc2ltcGxlbWVudGUgbm8gcmVjdWVyZGEgbGEgw7psdGltYSBjb252ZXJzYWNpw7NuXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsSUFBTUEsY0FBYyxHQUFHLGdCQUFnQjtBQUV2QyxJQUFNQyxhQUFhLEdBQUcsU0FBaEJBLGFBQWFBLENBQUE7RUFBQSxPQUFrQixPQUFPQyxNQUFNLEtBQUssV0FBVyxJQUFJLE9BQU9DLFlBQVksS0FBSyxXQUFXO0FBQUE7QUFFekcsSUFBTUMsUUFBUSxHQUFHLFNBQVhBLFFBQVFBLENBQUlDLE1BQXVCO0VBQUEsVUFBQUMsTUFBQSxDQUFnQk4sY0FBYyxPQUFBTSxNQUFBLENBQUlELE1BQU07QUFBQSxDQUFFOztBQUVuRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxJQUFNRSxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQW9CQSxDQUFJRixNQUF1QixFQUFvQjtFQUM5RSxJQUFJLENBQUNKLGFBQWEsQ0FBQyxDQUFDLEVBQUUsT0FBTyxJQUFJO0VBRWpDLElBQUk7SUFDRixJQUFNTyxHQUFHLEdBQUdMLFlBQVksQ0FBQ00sT0FBTyxDQUFDTCxRQUFRLENBQUNDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELE9BQU9HLEdBQUcsSUFBSUEsR0FBRyxDQUFDRSxNQUFNLEdBQUcsQ0FBQyxHQUFHRixHQUFHLEdBQUcsSUFBSTtFQUMzQyxDQUFDLENBQUMsT0FBQUcsT0FBQSxFQUFNO0lBQ04sT0FBTyxJQUFJO0VBQ2I7QUFDRixDQUFDO0FBRUQsT0FBTyxJQUFNQyxxQkFBcUIsR0FBRyxTQUF4QkEscUJBQXFCQSxDQUFJUCxNQUF1QixFQUFFUSxNQUFxQixFQUFXO0VBQzdGLElBQUksQ0FBQ1osYUFBYSxDQUFDLENBQUMsRUFBRTtFQUV0QixJQUFJO0lBQ0YsSUFBSSxDQUFDWSxNQUFNLEVBQUU7TUFDWFYsWUFBWSxDQUFDVyxVQUFVLENBQUNWLFFBQVEsQ0FBQ0MsTUFBTSxDQUFDLENBQUM7TUFDekM7SUFDRjtJQUNBRixZQUFZLENBQUNZLE9BQU8sQ0FBQ1gsUUFBUSxDQUFDQyxNQUFNLENBQUMsRUFBRVEsTUFBTSxDQUFDO0VBQ2hELENBQUMsQ0FBQyxPQUFBRyxRQUFBLEVBQU07SUFDTjtFQUFBO0FBRUosQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,85 +0,0 @@
1
- import { ChatHistoryRole } from '../types/Chat';
2
-
3
- /** Ids of the assistant turn to regenerate (`memory_sessions.id`). */
4
- export var resolveRetryTurnId = function resolveRetryTurnId(message) {
5
- var _message$memorySessio;
6
- var fromField = (_message$memorySessio = message.memorySessionId) === null || _message$memorySessio === void 0 ? void 0 : _message$memorySessio.trim();
7
- if (fromField) return fromField;
8
- var id = message.id || '';
9
- if (!id || id.includes('-streaming')) return null;
10
- if (id.startsWith('answer-') && !id.endsWith('-cancelled')) {
11
- var rest = id.slice('answer-'.length);
12
- return rest || null;
13
- }
14
- if (id.endsWith('-answer')) {
15
- var _rest = id.slice(0, -'-answer'.length);
16
- return _rest || null;
17
- }
18
- if (id.endsWith('-cancelled')) {
19
- var _message$memorySessio2;
20
- if ((_message$memorySessio2 = message.memorySessionId) !== null && _message$memorySessio2 !== void 0 && _message$memorySessio2.trim()) return message.memorySessionId.trim();
21
- // Burbuja local tras Stop: answer-{streamMessageId}-cancelled (no es memory_session_id).
22
- if (id.startsWith('answer-')) return null;
23
- var _rest2 = id.slice(0, -'-cancelled'.length);
24
- return _rest2 || null;
25
- }
26
- return null;
27
- };
28
- var isUserMessage = function isUserMessage(message) {
29
- var _message$user;
30
- return message.role === ChatHistoryRole.USER || ((_message$user = message.user) === null || _message$user === void 0 ? void 0 : _message$user.id) !== 'assistant';
31
- };
32
- var isAssistantMessage = function isAssistantMessage(message) {
33
- var _message$user2;
34
- return message.role === ChatHistoryRole.ASSISTANT || ((_message$user2 = message.user) === null || _message$user2 === void 0 ? void 0 : _message$user2.id) === 'assistant';
35
- };
36
-
37
- /** Pregunta del usuario asociada al turno que se quiere regenerar. */
38
- export var findUserMessageForRetry = function findUserMessageForRetry(messages, target) {
39
- var idx = messages.findIndex(function (message) {
40
- return message.id === target.id;
41
- });
42
- if (idx <= 0) return null;
43
- for (var i = idx - 1; i >= 0; i -= 1) {
44
- var candidate = messages[i];
45
- if (candidate && isUserMessage(candidate)) return candidate;
46
- }
47
- return null;
48
- };
49
-
50
- /**
51
- * Clave para agrupar las burbujas locales de un mismo stop, que no tienen
52
- * `memory_session_id`: `answer-X` (parcial) y `answer-X-cancelled` comparten X.
53
- */
54
- var localStopTurnKey = function localStopTurnKey(message) {
55
- var id = message.id || '';
56
- if (!id.startsWith('answer-') || id.includes('-streaming')) return null;
57
- var rest = id.slice('answer-'.length);
58
- var base = rest.endsWith('-cancelled') ? rest.slice(0, -'-cancelled'.length) : rest;
59
- return base || null;
60
- };
61
- var retryTurnKey = function retryTurnKey(message) {
62
- var _resolveRetryTurnId;
63
- return (_resolveRetryTurnId = resolveRetryTurnId(message)) !== null && _resolveRetryTurnId !== void 0 ? _resolveRetryTurnId : localStopTurnKey(message);
64
- };
65
-
66
- /**
67
- * Drop the retried assistant turn (partial answer + cancelled notice) and every
68
- * message after it. Keeps the original user question.
69
- */
70
- export var messagesWithoutRetriedTurn = function messagesWithoutRetriedTurn(messages, target) {
71
- var idx = messages.findIndex(function (message) {
72
- return message.id === target.id;
73
- });
74
- if (idx < 0) return messages;
75
- var turnKey = retryTurnKey(target);
76
- var start = idx;
77
- while (start > 0) {
78
- var previous = messages[start - 1];
79
- if (!previous || !isAssistantMessage(previous)) break;
80
- if (!turnKey || retryTurnKey(previous) !== turnKey) break;
81
- start -= 1;
82
- }
83
- return messages.slice(0, start);
84
- };
85
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGF0SGlzdG9yeVJvbGUiLCJyZXNvbHZlUmV0cnlUdXJuSWQiLCJtZXNzYWdlIiwiX21lc3NhZ2UkbWVtb3J5U2Vzc2lvIiwiZnJvbUZpZWxkIiwibWVtb3J5U2Vzc2lvbklkIiwidHJpbSIsImlkIiwiaW5jbHVkZXMiLCJzdGFydHNXaXRoIiwiZW5kc1dpdGgiLCJyZXN0Iiwic2xpY2UiLCJsZW5ndGgiLCJfbWVzc2FnZSRtZW1vcnlTZXNzaW8yIiwiaXNVc2VyTWVzc2FnZSIsIl9tZXNzYWdlJHVzZXIiLCJyb2xlIiwiVVNFUiIsInVzZXIiLCJpc0Fzc2lzdGFudE1lc3NhZ2UiLCJfbWVzc2FnZSR1c2VyMiIsIkFTU0lTVEFOVCIsImZpbmRVc2VyTWVzc2FnZUZvclJldHJ5IiwibWVzc2FnZXMiLCJ0YXJnZXQiLCJpZHgiLCJmaW5kSW5kZXgiLCJpIiwiY2FuZGlkYXRlIiwibG9jYWxTdG9wVHVybktleSIsImJhc2UiLCJyZXRyeVR1cm5LZXkiLCJfcmVzb2x2ZVJldHJ5VHVybklkIiwibWVzc2FnZXNXaXRob3V0UmV0cmllZFR1cm4iLCJ0dXJuS2V5Iiwic3RhcnQiLCJwcmV2aW91cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9yZXRyeUNvbXBsZXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhdEhpc3RvcnlSb2xlLCBDaGF0TWVzc2FnZSB9IGZyb20gJy4uL3R5cGVzL0NoYXQnXG5cbi8qKiBJZHMgb2YgdGhlIGFzc2lzdGFudCB0dXJuIHRvIHJlZ2VuZXJhdGUgKGBtZW1vcnlfc2Vzc2lvbnMuaWRgKS4gKi9cbmV4cG9ydCBjb25zdCByZXNvbHZlUmV0cnlUdXJuSWQgPSAobWVzc2FnZTogUGljazxDaGF0TWVzc2FnZSwgJ2lkJyB8ICdtZW1vcnlTZXNzaW9uSWQnPik6IHN0cmluZyB8IG51bGwgPT4ge1xuICBjb25zdCBmcm9tRmllbGQgPSBtZXNzYWdlLm1lbW9yeVNlc3Npb25JZD8udHJpbSgpXG4gIGlmIChmcm9tRmllbGQpIHJldHVybiBmcm9tRmllbGRcblxuICBjb25zdCBpZCA9IG1lc3NhZ2UuaWQgfHwgJydcbiAgaWYgKCFpZCB8fCBpZC5pbmNsdWRlcygnLXN0cmVhbWluZycpKSByZXR1cm4gbnVsbFxuXG4gIGlmIChpZC5zdGFydHNXaXRoKCdhbnN3ZXItJykgJiYgIWlkLmVuZHNXaXRoKCctY2FuY2VsbGVkJykpIHtcbiAgICBjb25zdCByZXN0ID0gaWQuc2xpY2UoJ2Fuc3dlci0nLmxlbmd0aClcbiAgICByZXR1cm4gcmVzdCB8fCBudWxsXG4gIH1cblxuICBpZiAoaWQuZW5kc1dpdGgoJy1hbnN3ZXInKSkge1xuICAgIGNvbnN0IHJlc3QgPSBpZC5zbGljZSgwLCAtJy1hbnN3ZXInLmxlbmd0aClcbiAgICByZXR1cm4gcmVzdCB8fCBudWxsXG4gIH1cbiAgaWYgKGlkLmVuZHNXaXRoKCctY2FuY2VsbGVkJykpIHtcbiAgICBpZiAobWVzc2FnZS5tZW1vcnlTZXNzaW9uSWQ/LnRyaW0oKSkgcmV0dXJuIG1lc3NhZ2UubWVtb3J5U2Vzc2lvbklkLnRyaW0oKVxuICAgIC8vIEJ1cmJ1amEgbG9jYWwgdHJhcyBTdG9wOiBhbnN3ZXIte3N0cmVhbU1lc3NhZ2VJZH0tY2FuY2VsbGVkIChubyBlcyBtZW1vcnlfc2Vzc2lvbl9pZCkuXG4gICAgaWYgKGlkLnN0YXJ0c1dpdGgoJ2Fuc3dlci0nKSkgcmV0dXJuIG51bGxcbiAgICBjb25zdCByZXN0ID0gaWQuc2xpY2UoMCwgLSctY2FuY2VsbGVkJy5sZW5ndGgpXG4gICAgcmV0dXJuIHJlc3QgfHwgbnVsbFxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cblxuY29uc3QgaXNVc2VyTWVzc2FnZSA9IChtZXNzYWdlOiBDaGF0TWVzc2FnZSk6IGJvb2xlYW4gPT5cbiAgbWVzc2FnZS5yb2xlID09PSBDaGF0SGlzdG9yeVJvbGUuVVNFUiB8fCBtZXNzYWdlLnVzZXI/LmlkICE9PSAnYXNzaXN0YW50J1xuXG5jb25zdCBpc0Fzc2lzdGFudE1lc3NhZ2UgPSAobWVzc2FnZTogQ2hhdE1lc3NhZ2UpOiBib29sZWFuID0+XG4gIG1lc3NhZ2Uucm9sZSA9PT0gQ2hhdEhpc3RvcnlSb2xlLkFTU0lTVEFOVCB8fCBtZXNzYWdlLnVzZXI/LmlkID09PSAnYXNzaXN0YW50J1xuXG4vKiogUHJlZ3VudGEgZGVsIHVzdWFyaW8gYXNvY2lhZGEgYWwgdHVybm8gcXVlIHNlIHF1aWVyZSByZWdlbmVyYXIuICovXG5leHBvcnQgY29uc3QgZmluZFVzZXJNZXNzYWdlRm9yUmV0cnkgPSAobWVzc2FnZXM6IENoYXRNZXNzYWdlW10sIHRhcmdldDogQ2hhdE1lc3NhZ2UpOiBDaGF0TWVzc2FnZSB8IG51bGwgPT4ge1xuICBjb25zdCBpZHggPSBtZXNzYWdlcy5maW5kSW5kZXgobWVzc2FnZSA9PiBtZXNzYWdlLmlkID09PSB0YXJnZXQuaWQpXG4gIGlmIChpZHggPD0gMCkgcmV0dXJuIG51bGxcblxuICBmb3IgKGxldCBpID0gaWR4IC0gMTsgaSA+PSAwOyBpIC09IDEpIHtcbiAgICBjb25zdCBjYW5kaWRhdGUgPSBtZXNzYWdlc1tpXVxuICAgIGlmIChjYW5kaWRhdGUgJiYgaXNVc2VyTWVzc2FnZShjYW5kaWRhdGUpKSByZXR1cm4gY2FuZGlkYXRlXG4gIH1cblxuICByZXR1cm4gbnVsbFxufVxuXG4vKipcbiAqIENsYXZlIHBhcmEgYWdydXBhciBsYXMgYnVyYnVqYXMgbG9jYWxlcyBkZSB1biBtaXNtbyBzdG9wLCBxdWUgbm8gdGllbmVuXG4gKiBgbWVtb3J5X3Nlc3Npb25faWRgOiBgYW5zd2VyLVhgIChwYXJjaWFsKSB5IGBhbnN3ZXItWC1jYW5jZWxsZWRgIGNvbXBhcnRlbiBYLlxuICovXG5jb25zdCBsb2NhbFN0b3BUdXJuS2V5ID0gKG1lc3NhZ2U6IFBpY2s8Q2hhdE1lc3NhZ2UsICdpZCc+KTogc3RyaW5nIHwgbnVsbCA9PiB7XG4gIGNvbnN0IGlkID0gbWVzc2FnZS5pZCB8fCAnJ1xuICBpZiAoIWlkLnN0YXJ0c1dpdGgoJ2Fuc3dlci0nKSB8fCBpZC5pbmNsdWRlcygnLXN0cmVhbWluZycpKSByZXR1cm4gbnVsbFxuICBjb25zdCByZXN0ID0gaWQuc2xpY2UoJ2Fuc3dlci0nLmxlbmd0aClcbiAgY29uc3QgYmFzZSA9IHJlc3QuZW5kc1dpdGgoJy1jYW5jZWxsZWQnKSA/IHJlc3Quc2xpY2UoMCwgLSctY2FuY2VsbGVkJy5sZW5ndGgpIDogcmVzdFxuICByZXR1cm4gYmFzZSB8fCBudWxsXG59XG5cbmNvbnN0IHJldHJ5VHVybktleSA9IChtZXNzYWdlOiBDaGF0TWVzc2FnZSk6IHN0cmluZyB8IG51bGwgPT4gcmVzb2x2ZVJldHJ5VHVybklkKG1lc3NhZ2UpID8/IGxvY2FsU3RvcFR1cm5LZXkobWVzc2FnZSlcblxuLyoqXG4gKiBEcm9wIHRoZSByZXRyaWVkIGFzc2lzdGFudCB0dXJuIChwYXJ0aWFsIGFuc3dlciArIGNhbmNlbGxlZCBub3RpY2UpIGFuZCBldmVyeVxuICogbWVzc2FnZSBhZnRlciBpdC4gS2VlcHMgdGhlIG9yaWdpbmFsIHVzZXIgcXVlc3Rpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBtZXNzYWdlc1dpdGhvdXRSZXRyaWVkVHVybiA9IChtZXNzYWdlczogQ2hhdE1lc3NhZ2VbXSwgdGFyZ2V0OiBDaGF0TWVzc2FnZSk6IENoYXRNZXNzYWdlW10gPT4ge1xuICBjb25zdCBpZHggPSBtZXNzYWdlcy5maW5kSW5kZXgobWVzc2FnZSA9PiBtZXNzYWdlLmlkID09PSB0YXJnZXQuaWQpXG4gIGlmIChpZHggPCAwKSByZXR1cm4gbWVzc2FnZXNcblxuICBjb25zdCB0dXJuS2V5ID0gcmV0cnlUdXJuS2V5KHRhcmdldClcbiAgbGV0IHN0YXJ0ID0gaWR4XG4gIHdoaWxlIChzdGFydCA+IDApIHtcbiAgICBjb25zdCBwcmV2aW91cyA9IG1lc3NhZ2VzW3N0YXJ0IC0gMV1cbiAgICBpZiAoIXByZXZpb3VzIHx8ICFpc0Fzc2lzdGFudE1lc3NhZ2UocHJldmlvdXMpKSBicmVha1xuICAgIGlmICghdHVybktleSB8fCByZXRyeVR1cm5LZXkocHJldmlvdXMpICE9PSB0dXJuS2V5KSBicmVha1xuICAgIHN0YXJ0IC09IDFcbiAgfVxuXG4gIHJldHVybiBtZXNzYWdlcy5zbGljZSgwLCBzdGFydClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsZUFBZSxRQUFxQixlQUFlOztBQUU1RDtBQUNBLE9BQU8sSUFBTUMsa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FBSUMsT0FBb0QsRUFBb0I7RUFBQSxJQUFBQyxxQkFBQTtFQUN6RyxJQUFNQyxTQUFTLElBQUFELHFCQUFBLEdBQUdELE9BQU8sQ0FBQ0csZUFBZSxjQUFBRixxQkFBQSx1QkFBdkJBLHFCQUFBLENBQXlCRyxJQUFJLENBQUMsQ0FBQztFQUNqRCxJQUFJRixTQUFTLEVBQUUsT0FBT0EsU0FBUztFQUUvQixJQUFNRyxFQUFFLEdBQUdMLE9BQU8sQ0FBQ0ssRUFBRSxJQUFJLEVBQUU7RUFDM0IsSUFBSSxDQUFDQSxFQUFFLElBQUlBLEVBQUUsQ0FBQ0MsUUFBUSxDQUFDLFlBQVksQ0FBQyxFQUFFLE9BQU8sSUFBSTtFQUVqRCxJQUFJRCxFQUFFLENBQUNFLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDRixFQUFFLENBQUNHLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFBRTtJQUMxRCxJQUFNQyxJQUFJLEdBQUdKLEVBQUUsQ0FBQ0ssS0FBSyxDQUFDLFNBQVMsQ0FBQ0MsTUFBTSxDQUFDO0lBQ3ZDLE9BQU9GLElBQUksSUFBSSxJQUFJO0VBQ3JCO0VBRUEsSUFBSUosRUFBRSxDQUFDRyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7SUFDMUIsSUFBTUMsS0FBSSxHQUFHSixFQUFFLENBQUNLLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUNDLE1BQU0sQ0FBQztJQUMzQyxPQUFPRixLQUFJLElBQUksSUFBSTtFQUNyQjtFQUNBLElBQUlKLEVBQUUsQ0FBQ0csUUFBUSxDQUFDLFlBQVksQ0FBQyxFQUFFO0lBQUEsSUFBQUksc0JBQUE7SUFDN0IsS0FBQUEsc0JBQUEsR0FBSVosT0FB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