@flamingo-stack/openframe-frontend-core 0.0.537 → 0.0.538-1791.4733.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.
Files changed (147) hide show
  1. package/dist/chat-protocol/events.d.ts +15 -1
  2. package/dist/chat-protocol/events.d.ts.map +1 -1
  3. package/dist/chat-protocol/index.cjs +15 -0
  4. package/dist/chat-protocol/index.cjs.map +1 -1
  5. package/dist/chat-protocol/index.js +15 -0
  6. package/dist/chat-protocol/index.js.map +1 -1
  7. package/dist/chat-protocol/nats-decoder.d.ts.map +1 -1
  8. package/dist/{chunk-7FXZHI5D.js → chunk-4BK5Z763.js} +2 -2
  9. package/dist/{chunk-C4LEH3VE.js → chunk-56QT3JBZ.js} +2 -2
  10. package/dist/{chunk-LFMIAPBP.js → chunk-67CKAX7Z.js} +2 -2
  11. package/dist/{chunk-CZHCXCWL.js → chunk-73W4L656.js} +2 -2
  12. package/dist/{chunk-TCSSYTDN.js → chunk-7CBQWZAH.js} +4 -4
  13. package/dist/{chunk-YIDGB5KP.js → chunk-BNF6FZLP.js} +4 -4
  14. package/dist/{chunk-CATY4DVR.cjs → chunk-BUKQ6B65.cjs} +87 -87
  15. package/dist/{chunk-CATY4DVR.cjs.map → chunk-BUKQ6B65.cjs.map} +1 -1
  16. package/dist/{chunk-KKZ2QMQD.cjs → chunk-C6776X43.cjs} +26 -26
  17. package/dist/{chunk-KKZ2QMQD.cjs.map → chunk-C6776X43.cjs.map} +1 -1
  18. package/dist/{chunk-MOIHWYSA.js → chunk-C6NKOHFW.js} +2 -2
  19. package/dist/{chunk-HRC56BQW.js → chunk-EH6LNTOT.js} +5 -5
  20. package/dist/{chunk-YPI3JIR6.cjs → chunk-F4QOOHZL.cjs} +11 -11
  21. package/dist/{chunk-YPI3JIR6.cjs.map → chunk-F4QOOHZL.cjs.map} +1 -1
  22. package/dist/{chunk-3GXMS4OP.js → chunk-KUKHUECE.js} +2 -2
  23. package/dist/{chunk-DHSVBGOX.cjs → chunk-LJW7B6GY.cjs} +9 -9
  24. package/dist/{chunk-DHSVBGOX.cjs.map → chunk-LJW7B6GY.cjs.map} +1 -1
  25. package/dist/{chunk-WJIBB3KT.cjs → chunk-MGYNZ7SA.cjs} +31 -31
  26. package/dist/{chunk-WJIBB3KT.cjs.map → chunk-MGYNZ7SA.cjs.map} +1 -1
  27. package/dist/{chunk-OYTM3YXO.cjs → chunk-NE67LT3B.cjs} +7 -7
  28. package/dist/{chunk-OYTM3YXO.cjs.map → chunk-NE67LT3B.cjs.map} +1 -1
  29. package/dist/{chunk-SKIM263K.cjs → chunk-NUHDE7CB.cjs} +37 -37
  30. package/dist/{chunk-SKIM263K.cjs.map → chunk-NUHDE7CB.cjs.map} +1 -1
  31. package/dist/{chunk-MDP3YKFI.cjs → chunk-PFGRHRBO.cjs} +5 -5
  32. package/dist/{chunk-MDP3YKFI.cjs.map → chunk-PFGRHRBO.cjs.map} +1 -1
  33. package/dist/{chunk-SGNWSUL3.js → chunk-QK4SQAYG.js} +6 -6
  34. package/dist/{chunk-YMPRMZDD.cjs → chunk-QQ3HUSDJ.cjs} +599 -328
  35. package/dist/chunk-QQ3HUSDJ.cjs.map +1 -0
  36. package/dist/{chunk-QPPG3KHW.cjs → chunk-QU6P2U2Q.cjs} +3 -3
  37. package/dist/{chunk-QPPG3KHW.cjs.map → chunk-QU6P2U2Q.cjs.map} +1 -1
  38. package/dist/{chunk-V4D5MPB7.cjs → chunk-R3XO2KO4.cjs} +4 -4
  39. package/dist/{chunk-V4D5MPB7.cjs.map → chunk-R3XO2KO4.cjs.map} +1 -1
  40. package/dist/{chunk-7EHGP4QK.js → chunk-RBBWKSRC.js} +4638 -4367
  41. package/dist/chunk-RBBWKSRC.js.map +1 -0
  42. package/dist/{chunk-VSIHO7DJ.cjs → chunk-TWVRCPWY.cjs} +61 -61
  43. package/dist/{chunk-VSIHO7DJ.cjs.map → chunk-TWVRCPWY.cjs.map} +1 -1
  44. package/dist/{chunk-CQQXB25K.js → chunk-UBEVU6LS.js} +2 -2
  45. package/dist/{chunk-7WNJ7RFO.cjs → chunk-YO5BWF4L.cjs} +14 -14
  46. package/dist/{chunk-7WNJ7RFO.cjs.map → chunk-YO5BWF4L.cjs.map} +1 -1
  47. package/dist/{chunk-WHUEUACV.js → chunk-ZBRKTF6S.js} +2 -2
  48. package/dist/{chunk-5JPSQOZQ.js → chunk-ZHW5VLHY.js} +2 -2
  49. package/dist/{chunk-YEKXTTAC.cjs → chunk-ZNWW4WAT.cjs} +26 -26
  50. package/dist/{chunk-YEKXTTAC.cjs.map → chunk-ZNWW4WAT.cjs.map} +1 -1
  51. package/dist/components/case-studies/index.cjs +8 -8
  52. package/dist/components/case-studies/index.js +2 -2
  53. package/dist/components/chat/ai-assistant-info.d.ts +31 -0
  54. package/dist/components/chat/ai-assistant-info.d.ts.map +1 -0
  55. package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
  56. package/dist/components/chat/index.cjs +8 -2
  57. package/dist/components/chat/index.cjs.map +1 -1
  58. package/dist/components/chat/index.d.ts +2 -0
  59. package/dist/components/chat/index.d.ts.map +1 -1
  60. package/dist/components/chat/index.js +7 -1
  61. package/dist/components/chat/stream/chat-stream-reducer.d.ts.map +1 -1
  62. package/dist/components/chat/stream/message-mutations.d.ts.map +1 -1
  63. package/dist/components/chat/ticket-escalated-message.d.ts +2 -8
  64. package/dist/components/chat/ticket-escalated-message.d.ts.map +1 -1
  65. package/dist/components/chat/ticket-event-message.d.ts +24 -0
  66. package/dist/components/chat/ticket-event-message.d.ts.map +1 -0
  67. package/dist/components/chat/types/message.types.d.ts +51 -2
  68. package/dist/components/chat/types/message.types.d.ts.map +1 -1
  69. package/dist/components/chat/utils/message-segment-accumulator.d.ts +13 -1
  70. package/dist/components/chat/utils/message-segment-accumulator.d.ts.map +1 -1
  71. package/dist/components/chat/utils/process-historical-messages.d.ts.map +1 -1
  72. package/dist/components/contact/index.cjs +3 -3
  73. package/dist/components/contact/index.js +2 -2
  74. package/dist/components/docs/index.cjs +5 -5
  75. package/dist/components/docs/index.js +4 -4
  76. package/dist/components/embeds/index.cjs +3 -3
  77. package/dist/components/embeds/index.js +2 -2
  78. package/dist/components/faq/index.cjs +3 -3
  79. package/dist/components/faq/index.js +2 -2
  80. package/dist/components/features/index.cjs +2 -2
  81. package/dist/components/features/index.js +1 -1
  82. package/dist/components/help-center-pages/index.cjs +22 -22
  83. package/dist/components/help-center-pages/index.js +13 -13
  84. package/dist/components/index.cjs +144 -132
  85. package/dist/components/index.cjs.map +1 -1
  86. package/dist/components/index.js +23 -11
  87. package/dist/components/index.js.map +1 -1
  88. package/dist/components/meeting-scheduler/index.cjs +34 -34
  89. package/dist/components/meeting-scheduler/index.js +3 -3
  90. package/dist/components/navigation/index.cjs +2 -2
  91. package/dist/components/navigation/index.js +1 -1
  92. package/dist/components/onboarding-guides/index.cjs +5 -5
  93. package/dist/components/onboarding-guides/index.js +4 -4
  94. package/dist/components/related-content/index.cjs +3 -3
  95. package/dist/components/related-content/index.js +2 -2
  96. package/dist/components/tickets/index.cjs +6 -6
  97. package/dist/components/tickets/index.js +5 -5
  98. package/dist/components/ui/index.cjs +14 -2
  99. package/dist/components/ui/index.cjs.map +1 -1
  100. package/dist/components/ui/index.d.ts +1 -0
  101. package/dist/components/ui/index.d.ts.map +1 -1
  102. package/dist/components/ui/index.js +13 -1
  103. package/dist/components/ui/reopen-ticket-modal.d.ts +42 -0
  104. package/dist/components/ui/reopen-ticket-modal.d.ts.map +1 -0
  105. package/dist/components/ui/take-over-ticket-modal.d.ts +5 -0
  106. package/dist/components/ui/take-over-ticket-modal.d.ts.map +1 -1
  107. package/dist/index.cjs +14 -2
  108. package/dist/index.cjs.map +1 -1
  109. package/dist/index.js +13 -1
  110. package/dist/utils/index.cjs.map +1 -1
  111. package/dist/utils/index.js.map +1 -1
  112. package/package.json +1 -1
  113. package/src/chat-protocol/__tests__/__snapshots__/nats-decoder-golden.test.ts.snap +44 -0
  114. package/src/chat-protocol/__tests__/nats-decoder-golden.test.ts +32 -0
  115. package/src/chat-protocol/events.ts +16 -0
  116. package/src/chat-protocol/nats-decoder.ts +27 -0
  117. package/src/components/chat/__tests__/ticket-event.test.ts +194 -0
  118. package/src/components/chat/ai-assistant-info.tsx +71 -0
  119. package/src/components/chat/chat-message-enhanced.tsx +3 -0
  120. package/src/components/chat/index.ts +2 -0
  121. package/src/components/chat/stream/chat-stream-reducer.ts +19 -0
  122. package/src/components/chat/stream/message-mutations.ts +5 -0
  123. package/src/components/chat/ticket-escalated-message.tsx +10 -32
  124. package/src/components/chat/ticket-event-message.tsx +79 -0
  125. package/src/components/chat/types/message.types.ts +60 -1
  126. package/src/components/chat/utils/message-segment-accumulator.ts +41 -0
  127. package/src/components/chat/utils/process-historical-messages.ts +31 -0
  128. package/src/components/ui/index.ts +1 -0
  129. package/src/components/ui/reopen-ticket-modal.tsx +174 -0
  130. package/src/components/ui/take-over-ticket-modal.tsx +7 -4
  131. package/src/stories/ReopenTicketModal.stories.tsx +114 -0
  132. package/src/stories/TicketEventMessage.stories.tsx +100 -0
  133. package/dist/chunk-7EHGP4QK.js.map +0 -1
  134. package/dist/chunk-YMPRMZDD.cjs.map +0 -1
  135. /package/dist/{chunk-7FXZHI5D.js.map → chunk-4BK5Z763.js.map} +0 -0
  136. /package/dist/{chunk-C4LEH3VE.js.map → chunk-56QT3JBZ.js.map} +0 -0
  137. /package/dist/{chunk-LFMIAPBP.js.map → chunk-67CKAX7Z.js.map} +0 -0
  138. /package/dist/{chunk-CZHCXCWL.js.map → chunk-73W4L656.js.map} +0 -0
  139. /package/dist/{chunk-TCSSYTDN.js.map → chunk-7CBQWZAH.js.map} +0 -0
  140. /package/dist/{chunk-YIDGB5KP.js.map → chunk-BNF6FZLP.js.map} +0 -0
  141. /package/dist/{chunk-MOIHWYSA.js.map → chunk-C6NKOHFW.js.map} +0 -0
  142. /package/dist/{chunk-HRC56BQW.js.map → chunk-EH6LNTOT.js.map} +0 -0
  143. /package/dist/{chunk-3GXMS4OP.js.map → chunk-KUKHUECE.js.map} +0 -0
  144. /package/dist/{chunk-SGNWSUL3.js.map → chunk-QK4SQAYG.js.map} +0 -0
  145. /package/dist/{chunk-CQQXB25K.js.map → chunk-UBEVU6LS.js.map} +0 -0
  146. /package/dist/{chunk-WHUEUACV.js.map → chunk-ZBRKTF6S.js.map} +0 -0
  147. /package/dist/{chunk-5JPSQOZQ.js.map → chunk-ZHW5VLHY.js.map} +0 -0
@@ -291,7 +291,7 @@ var _chunkVRHGVLSLcjs = require('./chunk-VRHGVLSL.cjs');
291
291
 
292
292
  // src/components/pagination.tsx
293
293
  var _lucidereact = require('lucide-react');
294
- var _react = require('react'); var React130 = _interopRequireWildcard(_react); var React = _interopRequireWildcard(_react); var React10 = _interopRequireWildcard(_react); var React4 = _interopRequireWildcard(_react); var React7 = _interopRequireWildcard(_react); var React5 = _interopRequireWildcard(_react); var React22 = _interopRequireWildcard(_react); var React6 = _interopRequireWildcard(_react); var React8 = _interopRequireWildcard(_react); var React11 = _interopRequireWildcard(_react); var React12 = _interopRequireWildcard(_react); var React14 = _interopRequireWildcard(_react); var React17 = _interopRequireWildcard(_react); var React16 = _interopRequireWildcard(_react); var React15 = _interopRequireWildcard(_react); var React20 = _interopRequireWildcard(_react); var React18 = _interopRequireWildcard(_react); var React19 = _interopRequireWildcard(_react); var React23 = _interopRequireWildcard(_react); var React21 = _interopRequireWildcard(_react); var React24 = _interopRequireWildcard(_react); var React25 = _interopRequireWildcard(_react); var React27 = _interopRequireWildcard(_react); var React26 = _interopRequireWildcard(_react); var React28 = _interopRequireWildcard(_react); var React29 = _interopRequireWildcard(_react); var React32 = _interopRequireWildcard(_react); var React30 = _interopRequireWildcard(_react); var React33 = _interopRequireWildcard(_react); var React34 = _interopRequireWildcard(_react); var React37 = _interopRequireWildcard(_react); var React45 = _interopRequireWildcard(_react); var React44 = _interopRequireWildcard(_react); var React46 = _interopRequireWildcard(_react); var React47 = _interopRequireWildcard(_react); var React49 = _interopRequireWildcard(_react); var React48 = _interopRequireWildcard(_react); var React51 = _interopRequireWildcard(_react); var React50 = _interopRequireWildcard(_react); var React55 = _interopRequireWildcard(_react); var React54 = _interopRequireWildcard(_react); var React56 = _interopRequireWildcard(_react); var React57 = _interopRequireWildcard(_react); var React61 = _interopRequireWildcard(_react); var React62 = _interopRequireWildcard(_react); var React63 = _interopRequireWildcard(_react); var React64 = _interopRequireWildcard(_react); var React65 = _interopRequireWildcard(_react); var React66 = _interopRequireWildcard(_react); var React67 = _interopRequireWildcard(_react); var React68 = _interopRequireWildcard(_react); var React69 = _interopRequireWildcard(_react); var React70 = _interopRequireWildcard(_react); var React71 = _interopRequireWildcard(_react); var React72 = _interopRequireWildcard(_react); var React73 = _interopRequireWildcard(_react); var React74 = _interopRequireWildcard(_react); var React75 = _interopRequireWildcard(_react); var React76 = _interopRequireWildcard(_react); var React77 = _interopRequireWildcard(_react); var React79 = _interopRequireWildcard(_react); var React81 = _interopRequireWildcard(_react); var React91 = _interopRequireWildcard(_react); var React90 = _interopRequireWildcard(_react); var React94 = _interopRequireWildcard(_react); var React95 = _interopRequireWildcard(_react); var React97 = _interopRequireWildcard(_react); var React98 = _interopRequireWildcard(_react); var React103 = _interopRequireWildcard(_react); var React107 = _interopRequireWildcard(_react); var React108 = _interopRequireWildcard(_react); var React109 = _interopRequireWildcard(_react); var React114 = _interopRequireWildcard(_react); var React113 = _interopRequireWildcard(_react); var React111 = _interopRequireWildcard(_react); var React110 = _interopRequireWildcard(_react); var React112 = _interopRequireWildcard(_react); var React115 = _interopRequireWildcard(_react); var React127 = _interopRequireWildcard(_react); var React126 = _interopRequireWildcard(_react); var React129 = _interopRequireWildcard(_react); var React132 = _interopRequireWildcard(_react); var React133 = _interopRequireWildcard(_react); var React135 = _interopRequireWildcard(_react); var React136 = _interopRequireWildcard(_react); var React139 = _interopRequireWildcard(_react); var React138 = _interopRequireWildcard(_react); var React137 = _interopRequireWildcard(_react); var React140 = _interopRequireWildcard(_react); var React142 = _interopRequireWildcard(_react); var React141 = _interopRequireWildcard(_react); var React143 = _interopRequireWildcard(_react); var React151 = _interopRequireWildcard(_react); var React150 = _interopRequireWildcard(_react);
294
+ var _react = require('react'); var React130 = _interopRequireWildcard(_react); var React = _interopRequireWildcard(_react); var React10 = _interopRequireWildcard(_react); var React4 = _interopRequireWildcard(_react); var React7 = _interopRequireWildcard(_react); var React5 = _interopRequireWildcard(_react); var React22 = _interopRequireWildcard(_react); var React6 = _interopRequireWildcard(_react); var React8 = _interopRequireWildcard(_react); var React11 = _interopRequireWildcard(_react); var React12 = _interopRequireWildcard(_react); var React14 = _interopRequireWildcard(_react); var React17 = _interopRequireWildcard(_react); var React16 = _interopRequireWildcard(_react); var React15 = _interopRequireWildcard(_react); var React20 = _interopRequireWildcard(_react); var React18 = _interopRequireWildcard(_react); var React19 = _interopRequireWildcard(_react); var React23 = _interopRequireWildcard(_react); var React21 = _interopRequireWildcard(_react); var React24 = _interopRequireWildcard(_react); var React25 = _interopRequireWildcard(_react); var React27 = _interopRequireWildcard(_react); var React26 = _interopRequireWildcard(_react); var React28 = _interopRequireWildcard(_react); var React29 = _interopRequireWildcard(_react); var React32 = _interopRequireWildcard(_react); var React30 = _interopRequireWildcard(_react); var React33 = _interopRequireWildcard(_react); var React34 = _interopRequireWildcard(_react); var React37 = _interopRequireWildcard(_react); var React45 = _interopRequireWildcard(_react); var React44 = _interopRequireWildcard(_react); var React46 = _interopRequireWildcard(_react); var React47 = _interopRequireWildcard(_react); var React49 = _interopRequireWildcard(_react); var React48 = _interopRequireWildcard(_react); var React51 = _interopRequireWildcard(_react); var React50 = _interopRequireWildcard(_react); var React55 = _interopRequireWildcard(_react); var React54 = _interopRequireWildcard(_react); var React56 = _interopRequireWildcard(_react); var React57 = _interopRequireWildcard(_react); var React61 = _interopRequireWildcard(_react); var React62 = _interopRequireWildcard(_react); var React63 = _interopRequireWildcard(_react); var React64 = _interopRequireWildcard(_react); var React65 = _interopRequireWildcard(_react); var React66 = _interopRequireWildcard(_react); var React67 = _interopRequireWildcard(_react); var React68 = _interopRequireWildcard(_react); var React69 = _interopRequireWildcard(_react); var React70 = _interopRequireWildcard(_react); var React71 = _interopRequireWildcard(_react); var React72 = _interopRequireWildcard(_react); var React73 = _interopRequireWildcard(_react); var React74 = _interopRequireWildcard(_react); var React75 = _interopRequireWildcard(_react); var React76 = _interopRequireWildcard(_react); var React77 = _interopRequireWildcard(_react); var React79 = _interopRequireWildcard(_react); var React81 = _interopRequireWildcard(_react); var React91 = _interopRequireWildcard(_react); var React90 = _interopRequireWildcard(_react); var React94 = _interopRequireWildcard(_react); var React95 = _interopRequireWildcard(_react); var React97 = _interopRequireWildcard(_react); var React98 = _interopRequireWildcard(_react); var React103 = _interopRequireWildcard(_react); var React107 = _interopRequireWildcard(_react); var React108 = _interopRequireWildcard(_react); var React109 = _interopRequireWildcard(_react); var React114 = _interopRequireWildcard(_react); var React113 = _interopRequireWildcard(_react); var React111 = _interopRequireWildcard(_react); var React110 = _interopRequireWildcard(_react); var React112 = _interopRequireWildcard(_react); var React115 = _interopRequireWildcard(_react); var React127 = _interopRequireWildcard(_react); var React126 = _interopRequireWildcard(_react); var React129 = _interopRequireWildcard(_react); var React132 = _interopRequireWildcard(_react); var React133 = _interopRequireWildcard(_react); var React135 = _interopRequireWildcard(_react); var React136 = _interopRequireWildcard(_react); var React139 = _interopRequireWildcard(_react); var React138 = _interopRequireWildcard(_react); var React137 = _interopRequireWildcard(_react); var React140 = _interopRequireWildcard(_react); var React142 = _interopRequireWildcard(_react); var React141 = _interopRequireWildcard(_react); var React143 = _interopRequireWildcard(_react); var React144 = _interopRequireWildcard(_react); var React152 = _interopRequireWildcard(_react); var React151 = _interopRequireWildcard(_react);
295
295
  var _jsxruntime = require('react/jsx-runtime');
296
296
  var Pagination, PaginationContent, PaginationItem, PaginationLink, PaginationEllipsis, PaginationPrevious, PaginationNext;
297
297
  var init_pagination = _chunkVRHGVLSLcjs.__esm.call(void 0, {
@@ -1325,6 +1325,9 @@ var EscalationOfferMessage = _react.forwardRef.call(void 0,
1325
1325
  EscalationOfferMessage.displayName = "EscalationOfferMessage";
1326
1326
 
1327
1327
  // src/components/chat/ticket-escalated-message.tsx
1328
+
1329
+
1330
+ // src/components/chat/ai-assistant-info.tsx
1328
1331
  _chunkKI4EGKNVcjs.init_cn.call(void 0, );
1329
1332
 
1330
1333
 
@@ -1340,13 +1343,10 @@ var format = (input, fmt) => {
1340
1343
  var formatDate = (input) => format(input, dateFmt);
1341
1344
  var formatTime = (input) => format(input, timeFmt);
1342
1345
 
1343
- // src/components/chat/ticket-escalated-message.tsx
1346
+ // src/components/chat/ai-assistant-info.tsx
1344
1347
 
1345
- var TITLE = "Handed Off to a Technician";
1346
- var DEFAULT_BODY = "A technician will reply when available.";
1347
- var TicketEscalatedMessage = _react.forwardRef.call(void 0,
1348
- ({ className, data, timestamp, ...props }, ref) => {
1349
- const body = _optionalChain([data, 'access', _22 => _22.text, 'optionalAccess', _23 => _23.trim, 'call', _24 => _24()]) || DEFAULT_BODY;
1348
+ var AiAssistantInfo = _react.forwardRef.call(void 0,
1349
+ ({ className, icon, leading, title, body, timestamp, ...props }, ref) => {
1350
1350
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1351
1351
  "div",
1352
1352
  {
@@ -1357,21 +1357,106 @@ var TicketEscalatedMessage = _react.forwardRef.call(void 0,
1357
1357
  ),
1358
1358
  ...props,
1359
1359
  children: [
1360
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex size-12 shrink-0 items-center justify-center rounded-md border border-ods-border bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.InfoCircleIcon, { className: "size-6 text-ods-flamingo-pink" }) }),
1360
+ _nullishCoalesce(leading, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex size-12 shrink-0 items-center justify-center rounded-md border border-ods-border bg-ods-bg", children: icon }))),
1361
1361
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
1362
1362
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-start", children: [
1363
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4 min-w-0 flex-1 truncate text-ods-text-primary", title: TITLE, children: TITLE }),
1363
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4 min-w-0 flex-1 truncate text-ods-text-primary", title, children: title }),
1364
1364
  timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h6 shrink-0 text-right text-ods-text-secondary", children: formatTime(timestamp) })
1365
1365
  ] }),
1366
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4 w-full break-words text-ods-text-secondary", children: body })
1366
+ body != null && body !== "" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4 w-full break-words text-ods-text-secondary", children: body })
1367
1367
  ] })
1368
1368
  ]
1369
1369
  }
1370
1370
  );
1371
1371
  }
1372
1372
  );
1373
+ AiAssistantInfo.displayName = "AiAssistantInfo";
1374
+
1375
+ // src/components/chat/ticket-escalated-message.tsx
1376
+
1377
+ var TITLE = "Handed Off to a Technician";
1378
+ var DEFAULT_BODY = "A technician will reply when available.";
1379
+ var TicketEscalatedMessage = _react.forwardRef.call(void 0,
1380
+ ({ data, timestamp, ...props }, ref) => {
1381
+ const body = _optionalChain([data, 'access', _22 => _22.text, 'optionalAccess', _23 => _23.trim, 'call', _24 => _24()]) || DEFAULT_BODY;
1382
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1383
+ AiAssistantInfo,
1384
+ {
1385
+ ref,
1386
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.InfoCircleIcon, { className: "size-6 text-ods-flamingo-pink" }),
1387
+ title: TITLE,
1388
+ body,
1389
+ timestamp,
1390
+ ...props
1391
+ }
1392
+ );
1393
+ }
1394
+ );
1373
1395
  TicketEscalatedMessage.displayName = "TicketEscalatedMessage";
1374
1396
 
1397
+ // src/components/chat/ticket-event-message.tsx
1398
+
1399
+
1400
+ // src/components/chat/types/message.types.ts
1401
+ var MESSAGE_TYPE = {
1402
+ TEXT: "TEXT",
1403
+ THINKING: "THINKING",
1404
+ GUIDE: "GUIDE",
1405
+ ASK: "ASK",
1406
+ EXECUTING_TOOL: "EXECUTING_TOOL",
1407
+ EXECUTED_TOOL: "EXECUTED_TOOL",
1408
+ APPROVAL_REQUEST: "APPROVAL_REQUEST",
1409
+ APPROVAL_RESULT: "APPROVAL_RESULT",
1410
+ ESCALATION_OFFER: "ESCALATION_OFFER",
1411
+ TICKET_ESCALATED: "TICKET_ESCALATED",
1412
+ TICKET_EVENT: "TICKET_EVENT",
1413
+ ERROR: "ERROR",
1414
+ MESSAGE_START: "MESSAGE_START",
1415
+ MESSAGE_END: "MESSAGE_END",
1416
+ MESSAGE_REQUEST: "MESSAGE_REQUEST",
1417
+ AI_METADATA: "AI_METADATA",
1418
+ TOKEN_USAGE: "TOKEN_USAGE",
1419
+ CONTEXT_COMPACTION_START: "CONTEXT_COMPACTION_START",
1420
+ CONTEXT_COMPACTION_END: "CONTEXT_COMPACTION_END",
1421
+ DIRECT_MESSAGE: "DIRECT_MESSAGE",
1422
+ SYSTEM: "SYSTEM",
1423
+ DIALOG_CLOSED: "DIALOG_CLOSED"
1424
+ };
1425
+ var SCROLL_ANCHOR = { TOP: "top", BOTTOM: "bottom" };
1426
+ var TICKET_EVENT_KIND = {
1427
+ RESOLVED: "RESOLVED",
1428
+ REOPENED: "REOPENED"
1429
+ };
1430
+
1431
+ // src/components/chat/ticket-event-message.tsx
1432
+
1433
+ var AI_ACTOR_TYPES = /* @__PURE__ */ new Set(["AI", "AGENT", "ASSISTANT", "BOT"]);
1434
+ function isAiActor(actorType) {
1435
+ return !!actorType && AI_ACTOR_TYPES.has(actorType.toUpperCase());
1436
+ }
1437
+ function humanizeKind(kind) {
1438
+ return kind.split(/[_\s-]+/).filter(Boolean).map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()).join(" ");
1439
+ }
1440
+ var TicketEventMessage = _react.forwardRef.call(void 0,
1441
+ ({ data, timestamp, ...props }, ref) => {
1442
+ const { kind, actorName, actorType, reason } = data;
1443
+ const resolved = kind === TICKET_EVENT_KIND.RESOLVED;
1444
+ const reopened = kind === TICKET_EVENT_KIND.REOPENED;
1445
+ const title = resolved ? "Ticket Resolved" : reopened ? "Ticket Reopened" : humanizeKind(kind);
1446
+ let body;
1447
+ if (resolved) {
1448
+ body = actorName ? `Resolved by ${actorName}.` : "The ticket has been resolved.";
1449
+ } else if (reopened) {
1450
+ body = reason ? `Reason: ${reason}` : isAiActor(actorType) ? `${actorName || "Fae"} will continue assisting in this conversation.` : "A technician will reply when available.";
1451
+ } else {
1452
+ body = reason || (actorName ? `By ${actorName}.` : void 0);
1453
+ }
1454
+ const icon = resolved ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.CheckCircleIcon, { className: "size-6 text-ods-attention-green-success" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.InfoCircleIcon, { className: "size-6 text-ods-flamingo-pink" });
1455
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AiAssistantInfo, { ref, icon, title, body, timestamp, ...props });
1456
+ }
1457
+ );
1458
+ TicketEventMessage.displayName = "TicketEventMessage";
1459
+
1375
1460
  // src/components/chat/context-compaction-display.tsx
1376
1461
  _chunkKI4EGKNVcjs.init_cn.call(void 0, );
1377
1462
 
@@ -8010,6 +8095,8 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
8010
8095
  );
8011
8096
  } else if (segment.type === "ticket_escalated") {
8012
8097
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketEscalatedMessage, { data: segment.data, timestamp }, index);
8098
+ } else if (segment.type === "ticket_event") {
8099
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketEventMessage, { data: segment.data, timestamp }, index);
8013
8100
  } else if (segment.type === "error") {
8014
8101
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8015
8102
  ErrorMessageDisplay,
@@ -8231,32 +8318,6 @@ function CyclingPhrase({
8231
8318
  ] });
8232
8319
  }
8233
8320
 
8234
- // src/components/chat/types/message.types.ts
8235
- var MESSAGE_TYPE = {
8236
- TEXT: "TEXT",
8237
- THINKING: "THINKING",
8238
- GUIDE: "GUIDE",
8239
- ASK: "ASK",
8240
- EXECUTING_TOOL: "EXECUTING_TOOL",
8241
- EXECUTED_TOOL: "EXECUTED_TOOL",
8242
- APPROVAL_REQUEST: "APPROVAL_REQUEST",
8243
- APPROVAL_RESULT: "APPROVAL_RESULT",
8244
- ESCALATION_OFFER: "ESCALATION_OFFER",
8245
- TICKET_ESCALATED: "TICKET_ESCALATED",
8246
- ERROR: "ERROR",
8247
- MESSAGE_START: "MESSAGE_START",
8248
- MESSAGE_END: "MESSAGE_END",
8249
- MESSAGE_REQUEST: "MESSAGE_REQUEST",
8250
- AI_METADATA: "AI_METADATA",
8251
- TOKEN_USAGE: "TOKEN_USAGE",
8252
- CONTEXT_COMPACTION_START: "CONTEXT_COMPACTION_START",
8253
- CONTEXT_COMPACTION_END: "CONTEXT_COMPACTION_END",
8254
- DIRECT_MESSAGE: "DIRECT_MESSAGE",
8255
- SYSTEM: "SYSTEM",
8256
- DIALOG_CLOSED: "DIALOG_CLOSED"
8257
- };
8258
- var SCROLL_ANCHOR = { TOP: "top", BOTTOM: "bottom" };
8259
-
8260
8321
  // src/components/chat/chat-message-list.tsx
8261
8322
 
8262
8323
  var STREAMING_WORDS = [
@@ -48494,7 +48555,7 @@ function TicketInfoSection({
48494
48555
 
48495
48556
  _chunk7INXXQVKcjs.init_button2.call(void 0, );
48496
48557
 
48497
- function renderStatusOption(option, isSelected) {
48558
+ function renderTicketStatusOption(option, isSelected) {
48498
48559
  const { label, color } = option;
48499
48560
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between w-full min-w-0 gap-[var(--spacing-system-xs)]", children: [
48500
48561
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)] min-w-0", children: [
@@ -48504,7 +48565,7 @@ function renderStatusOption(option, isSelected) {
48504
48565
  isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
48505
48566
  ] });
48506
48567
  }
48507
- function renderAssigneeOption(option, isSelected) {
48568
+ function renderTicketAssigneeOption(option, isSelected) {
48508
48569
  const { label, imageUrl } = option;
48509
48570
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between w-full min-w-0 gap-[var(--spacing-system-xs)]", children: [
48510
48571
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)] min-w-0", children: [
@@ -48558,7 +48619,7 @@ function TakeOverTicketModal({
48558
48619
  onChange: setStatusId,
48559
48620
  placeholder: "Select Status",
48560
48621
  startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ColorSwatch, { color: selectedStatus.color }) : void 0,
48561
- renderOption: renderStatusOption
48622
+ renderOption: renderTicketStatusOption
48562
48623
  }
48563
48624
  ) }),
48564
48625
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -48580,7 +48641,7 @@ function TakeOverTicketModal({
48580
48641
  variant: "round"
48581
48642
  }
48582
48643
  ) : void 0,
48583
- renderOption: renderAssigneeOption
48644
+ renderOption: renderTicketAssigneeOption
48584
48645
  }
48585
48646
  ) })
48586
48647
  ] }),
@@ -48603,6 +48664,118 @@ function TakeOverTicketModal({
48603
48664
  ] });
48604
48665
  }
48605
48666
 
48667
+ // src/components/ui/reopen-ticket-modal.tsx
48668
+
48669
+ _chunk7INXXQVKcjs.init_button2.call(void 0, );
48670
+
48671
+ var REASON_MAX_LENGTH = 1e3;
48672
+ function ReopenTicketModal({
48673
+ isOpen,
48674
+ onClose,
48675
+ ticketRef,
48676
+ statusOptions,
48677
+ assigneeOptions,
48678
+ assigneesLoading,
48679
+ initialStatusId,
48680
+ initialAssigneeId,
48681
+ isPending = false,
48682
+ onConfirm
48683
+ }) {
48684
+ const [statusId, setStatusId] = React144.useState(null);
48685
+ const [assigneeId, setAssigneeId] = React144.useState(null);
48686
+ const [reason, setReason] = React144.useState("");
48687
+ React144.useEffect(() => {
48688
+ if (!isOpen) return;
48689
+ setStatusId(_nullishCoalesce(initialStatusId, () => ( null)));
48690
+ setAssigneeId(_nullishCoalesce(initialAssigneeId, () => ( null)));
48691
+ setReason("");
48692
+ }, [isOpen, initialStatusId, initialAssigneeId]);
48693
+ const selectedStatusId = _nullishCoalesce(_nullishCoalesce(statusId, () => ( _optionalChain([statusOptions, 'access', _1189 => _1189[0], 'optionalAccess', _1190 => _1190.value]))), () => ( null));
48694
+ const selectedStatus = statusOptions.find((o) => o.value === selectedStatusId);
48695
+ const selectedAssignee = assigneeOptions.find((o) => o.value === assigneeId);
48696
+ const handleConfirm = () => {
48697
+ if (!selectedStatusId || isPending) return;
48698
+ const trimmedReason = reason.trim();
48699
+ onConfirm({
48700
+ statusId: selectedStatusId,
48701
+ assigneeId: _nullishCoalesce(assigneeId, () => ( null)),
48702
+ reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH) : null
48703
+ });
48704
+ };
48705
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Modal, { isOpen, onClose: isPending ? () => {
48706
+ } : onClose, className: "text-left md:max-w-[600px]", children: [
48707
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ModalTitle, { children: "Reopen Ticket" }) }),
48708
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h4 text-ods-text-primary", children: [
48709
+ "The ticket ",
48710
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
48711
+ " will return to the selected status and appear on the board. Assigned admins and the user will be notified."
48712
+ ] }),
48713
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col md:flex-row gap-[var(--spacing-system-l)] w-full", children: [
48714
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
48715
+ Autocomplete,
48716
+ {
48717
+ label: "Status",
48718
+ options: statusOptions,
48719
+ value: selectedStatusId,
48720
+ onChange: setStatusId,
48721
+ placeholder: "Select Status",
48722
+ startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ColorSwatch, { color: selectedStatus.color }) : void 0,
48723
+ renderOption: renderTicketStatusOption
48724
+ }
48725
+ ) }),
48726
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
48727
+ Autocomplete,
48728
+ {
48729
+ label: "Assigned",
48730
+ options: assigneeOptions,
48731
+ value: assigneeId,
48732
+ onChange: setAssigneeId,
48733
+ placeholder: "Select Technician",
48734
+ loading: assigneesLoading,
48735
+ startAdornment: selectedAssignee ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
48736
+ SquareAvatar,
48737
+ {
48738
+ src: selectedAssignee.imageUrl,
48739
+ alt: selectedAssignee.label,
48740
+ fallback: selectedAssignee.label,
48741
+ size: "sm",
48742
+ variant: "round"
48743
+ }
48744
+ ) : void 0,
48745
+ renderOption: renderTicketAssigneeOption
48746
+ }
48747
+ ) })
48748
+ ] }),
48749
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
48750
+ Textarea,
48751
+ {
48752
+ label: "Reason",
48753
+ value: reason,
48754
+ onChange: (event) => setReason(event.target.value),
48755
+ placeholder: "Describe what's still not working (optional)",
48756
+ maxLength: REASON_MAX_LENGTH,
48757
+ disabled: isPending
48758
+ }
48759
+ ) }),
48760
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, ModalFooter, { children: [
48761
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7INXXQVKcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
48762
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:block flex-1" }),
48763
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
48764
+ _chunk7INXXQVKcjs.Button,
48765
+ {
48766
+ type: "button",
48767
+ variant: "accent",
48768
+ onClick: handleConfirm,
48769
+ loading: isPending,
48770
+ disabled: !selectedStatusId,
48771
+ className: "flex-1",
48772
+ children: "Reopen Ticket"
48773
+ }
48774
+ )
48775
+ ] })
48776
+ ] });
48777
+ }
48778
+
48606
48779
  // src/components/ui/filter-pill-row.tsx
48607
48780
  _chunk7INXXQVKcjs.init_button2.call(void 0, );
48608
48781
 
@@ -48882,7 +49055,7 @@ function RoadmapCard({
48882
49055
  const compactHref = safeHref(_nullishCoalesce(href, () => ( null)));
48883
49056
  const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
48884
49057
  const hasFigma = !!item.figmaUrl;
48885
- const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _1189 => _1189.screenshots, 'optionalAccess', _1190 => _1190.length]), () => ( 0))) > 0;
49058
+ const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _1191 => _1191.screenshots, 'optionalAccess', _1192 => _1192.length]), () => ( 0))) > 0;
48886
49059
  const typeLabel = getTaskTypeLabel(item.customItemId);
48887
49060
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
48888
49061
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -48901,7 +49074,7 @@ function RoadmapCard({
48901
49074
  unoptimized: true,
48902
49075
  className: "h-8 w-8 object-contain"
48903
49076
  }
48904
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h6 uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _1191 => _1191.title, 'optionalAccess', _1192 => _1192.substring, 'call', _1193 => _1193(0, 2)]) || "??" })
49077
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h6 uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _1193 => _1193.title, 'optionalAccess', _1194 => _1194.substring, 'call', _1195 => _1195(0, 2)]) || "??" })
48905
49078
  }
48906
49079
  ),
48907
49080
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -48977,7 +49150,7 @@ function RoadmapCard({
48977
49150
  unoptimized: true,
48978
49151
  className: "object-contain p-1"
48979
49152
  }
48980
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _1194 => _1194.title, 'optionalAccess', _1195 => _1195.substring, 'call', _1196 => _1196(0, 2)]) || "??" }) }),
49153
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _1196 => _1196.title, 'optionalAccess', _1197 => _1197.substring, 'call', _1198 => _1198(0, 2)]) || "??" }) }),
48981
49154
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
48982
49155
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[48px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-h3 text-ods-text-primary flex-1 line-clamp-2", children: item.title }) }),
48983
49156
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[20px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h5 text-ods-text-secondary truncate", children: [
@@ -49488,7 +49661,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
49488
49661
  ] }) : null,
49489
49662
  item.preview ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-2 whitespace-pre-wrap break-words text-h6 text-ods-text-secondary", children: item.preview }) }) : null
49490
49663
  ] }),
49491
- _optionalChain([anchorProps, 'optionalAccess', _1197 => _1197.href]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "w-3.5 h-3.5" }) }) : null
49664
+ _optionalChain([anchorProps, 'optionalAccess', _1199 => _1199.href]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "w-3.5 h-3.5" }) }) : null
49492
49665
  ] });
49493
49666
  if (!anchorProps) {
49494
49667
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
@@ -49558,7 +49731,7 @@ function getDefaultOptions() {
49558
49731
  // node_modules/date-fns/startOfWeek.mjs
49559
49732
  function startOfWeek(date, options) {
49560
49733
  const defaultOptions2 = getDefaultOptions();
49561
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1198 => _1198.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _1199 => _1199.locale, 'optionalAccess', _1200 => _1200.options, 'optionalAccess', _1201 => _1201.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _1202 => _1202.locale, 'optionalAccess', _1203 => _1203.options, 'optionalAccess', _1204 => _1204.weekStartsOn]))), () => ( 0));
49734
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1200 => _1200.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _1201 => _1201.locale, 'optionalAccess', _1202 => _1202.options, 'optionalAccess', _1203 => _1203.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _1204 => _1204.locale, 'optionalAccess', _1205 => _1205.options, 'optionalAccess', _1206 => _1206.weekStartsOn]))), () => ( 0));
49562
49735
  const _date = toDate2(date);
49563
49736
  const day = _date.getDay();
49564
49737
  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
@@ -49733,7 +49906,7 @@ var formatDistance = (token, count, options) => {
49733
49906
  } else {
49734
49907
  result = tokenValue.other.replace("{{count}}", count.toString());
49735
49908
  }
49736
- if (_optionalChain([options, 'optionalAccess', _1205 => _1205.addSuffix])) {
49909
+ if (_optionalChain([options, 'optionalAccess', _1207 => _1207.addSuffix])) {
49737
49910
  if (options.comparison && options.comparison > 0) {
49738
49911
  return "in " + result;
49739
49912
  } else {
@@ -49800,15 +49973,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
49800
49973
  // node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
49801
49974
  function buildLocalizeFn(args) {
49802
49975
  return (value, options) => {
49803
- const context = _optionalChain([options, 'optionalAccess', _1206 => _1206.context]) ? String(options.context) : "standalone";
49976
+ const context = _optionalChain([options, 'optionalAccess', _1208 => _1208.context]) ? String(options.context) : "standalone";
49804
49977
  let valuesArray;
49805
49978
  if (context === "formatting" && args.formattingValues) {
49806
49979
  const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
49807
- const width = _optionalChain([options, 'optionalAccess', _1207 => _1207.width]) ? String(options.width) : defaultWidth;
49980
+ const width = _optionalChain([options, 'optionalAccess', _1209 => _1209.width]) ? String(options.width) : defaultWidth;
49808
49981
  valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
49809
49982
  } else {
49810
49983
  const defaultWidth = args.defaultWidth;
49811
- const width = _optionalChain([options, 'optionalAccess', _1208 => _1208.width]) ? String(options.width) : args.defaultWidth;
49984
+ const width = _optionalChain([options, 'optionalAccess', _1210 => _1210.width]) ? String(options.width) : args.defaultWidth;
49812
49985
  valuesArray = args.values[width] || args.values[defaultWidth];
49813
49986
  }
49814
49987
  const index = args.argumentCallback ? args.argumentCallback(value) : value;
@@ -50188,7 +50361,7 @@ function getWeekYear(date, options) {
50188
50361
  const _date = toDate2(date);
50189
50362
  const year = _date.getFullYear();
50190
50363
  const defaultOptions2 = getDefaultOptions();
50191
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1209 => _1209.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _1210 => _1210.locale, 'optionalAccess', _1211 => _1211.options, 'optionalAccess', _1212 => _1212.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _1213 => _1213.locale, 'optionalAccess', _1214 => _1214.options, 'optionalAccess', _1215 => _1215.firstWeekContainsDate]))), () => ( 1));
50364
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1211 => _1211.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _1212 => _1212.locale, 'optionalAccess', _1213 => _1213.options, 'optionalAccess', _1214 => _1214.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _1215 => _1215.locale, 'optionalAccess', _1216 => _1216.options, 'optionalAccess', _1217 => _1217.firstWeekContainsDate]))), () => ( 1));
50192
50365
  const firstWeekOfNextYear = constructFrom(date, 0);
50193
50366
  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
50194
50367
  firstWeekOfNextYear.setHours(0, 0, 0, 0);
@@ -50209,7 +50382,7 @@ function getWeekYear(date, options) {
50209
50382
  // node_modules/date-fns/startOfWeekYear.mjs
50210
50383
  function startOfWeekYear(date, options) {
50211
50384
  const defaultOptions2 = getDefaultOptions();
50212
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1216 => _1216.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _1217 => _1217.locale, 'optionalAccess', _1218 => _1218.options, 'optionalAccess', _1219 => _1219.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _1220 => _1220.locale, 'optionalAccess', _1221 => _1221.options, 'optionalAccess', _1222 => _1222.firstWeekContainsDate]))), () => ( 1));
50385
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1218 => _1218.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _1219 => _1219.locale, 'optionalAccess', _1220 => _1220.options, 'optionalAccess', _1221 => _1221.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _1222 => _1222.locale, 'optionalAccess', _1223 => _1223.options, 'optionalAccess', _1224 => _1224.firstWeekContainsDate]))), () => ( 1));
50213
50386
  const year = getWeekYear(date, options);
50214
50387
  const firstWeek = constructFrom(date, 0);
50215
50388
  firstWeek.setFullYear(year, 0, firstWeekContainsDate);
@@ -51024,9 +51197,9 @@ var doubleQuoteRegExp = /''/g;
51024
51197
  var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
51025
51198
  function format2(date, formatStr, options) {
51026
51199
  const defaultOptions2 = getDefaultOptions();
51027
- const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1223 => _1223.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
51028
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1224 => _1224.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _1225 => _1225.locale, 'optionalAccess', _1226 => _1226.options, 'optionalAccess', _1227 => _1227.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _1228 => _1228.locale, 'optionalAccess', _1229 => _1229.options, 'optionalAccess', _1230 => _1230.firstWeekContainsDate]))), () => ( 1));
51029
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1231 => _1231.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _1232 => _1232.locale, 'optionalAccess', _1233 => _1233.options, 'optionalAccess', _1234 => _1234.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _1235 => _1235.locale, 'optionalAccess', _1236 => _1236.options, 'optionalAccess', _1237 => _1237.weekStartsOn]))), () => ( 0));
51200
+ const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1225 => _1225.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
51201
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1226 => _1226.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _1227 => _1227.locale, 'optionalAccess', _1228 => _1228.options, 'optionalAccess', _1229 => _1229.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _1230 => _1230.locale, 'optionalAccess', _1231 => _1231.options, 'optionalAccess', _1232 => _1232.firstWeekContainsDate]))), () => ( 1));
51202
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1233 => _1233.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _1234 => _1234.locale, 'optionalAccess', _1235 => _1235.options, 'optionalAccess', _1236 => _1236.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _1237 => _1237.locale, 'optionalAccess', _1238 => _1238.options, 'optionalAccess', _1239 => _1239.weekStartsOn]))), () => ( 0));
51030
51203
  const originalDate = toDate2(date);
51031
51204
  if (!isValid(originalDate)) {
51032
51205
  throw new RangeError("Invalid time value");
@@ -51067,7 +51240,7 @@ function format2(date, formatStr, options) {
51067
51240
  return parts.map((part) => {
51068
51241
  if (!part.isToken) return part.value;
51069
51242
  const token = part.value;
51070
- if (!_optionalChain([options, 'optionalAccess', _1238 => _1238.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _1239 => _1239.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
51243
+ if (!_optionalChain([options, 'optionalAccess', _1240 => _1240.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _1241 => _1241.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
51071
51244
  warnOrThrowProtectedError(token, formatStr, String(date));
51072
51245
  }
51073
51246
  const formatter = formatters[token[0]];
@@ -51273,7 +51446,7 @@ function ProgramCard({
51273
51446
  const itemDate2 = compactDate;
51274
51447
  const compactCover = coverImage || placeholderUrl || null;
51275
51448
  const typeMeta = compactTypeMeta();
51276
- const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _1240 => _1240.labels, 'optionalAccess', _1241 => _1241.singular])].filter(
51449
+ const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _1242 => _1242.labels, 'optionalAccess', _1243 => _1243.singular])].filter(
51277
51450
  (s) => typeof s === "string" && s.length > 0
51278
51451
  );
51279
51452
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkKI4EGKNVcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
@@ -51430,7 +51603,7 @@ function ProgramCard({
51430
51603
 
51431
51604
 
51432
51605
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
51433
- const goalsCount = _optionalChain([campaign, 'access', _1242 => _1242.goals, 'optionalAccess', _1243 => _1243.length]) || 0;
51606
+ const goalsCount = _optionalChain([campaign, 'access', _1244 => _1244.goals, 'optionalAccess', _1245 => _1245.length]) || 0;
51434
51607
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
51435
51608
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
51436
51609
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -51598,7 +51771,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
51598
51771
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
51599
51772
  const safePath = sanitizePath(row.path);
51600
51773
  if (safePath) {
51601
- const docTarget = row.documentType ? _optionalChain([ctx, 'access', _1244 => _1244.docPlatformTargets, 'optionalAccess', _1245 => _1245[row.documentType]]) : void 0;
51774
+ const docTarget = row.documentType ? _optionalChain([ctx, 'access', _1246 => _1246.docPlatformTargets, 'optionalAccess', _1247 => _1247[row.documentType]]) : void 0;
51602
51775
  if (docTarget) {
51603
51776
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
51604
51777
  const base = `${_chunkKI4EGKNVcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
@@ -51897,8 +52070,8 @@ function cardMenuGroups(href, discuss, openDetails, externalLink) {
51897
52070
  if (href) {
51898
52071
  items.push({
51899
52072
  id: "open-details",
51900
- label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _1246 => _1246.label]), () => ( "Open Details")),
51901
- icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _1247 => _1247.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.EyeIcon, { size: 20 }))),
52073
+ label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _1248 => _1248.label]), () => ( "Open Details")),
52074
+ icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _1249 => _1249.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.EyeIcon, { size: 20 }))),
51902
52075
  // Main row → open the entity (same tab, soft Link nav).
51903
52076
  href,
51904
52077
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -51958,16 +52131,16 @@ function itemVideoMetadata(item) {
51958
52131
  for (const v of vals) if (typeof v === "string" && v.length > 0) return v;
51959
52132
  return void 0;
51960
52133
  };
51961
- const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1248 => _1248.metadata]), () => ( {}));
52134
+ const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1250 => _1250.metadata]), () => ( {}));
51962
52135
  const out = {};
51963
- const videoUrl = pick(m.videoUrl, _optionalChain([item, 'optionalAccess', _1249 => _1249.custom_video_url]), _optionalChain([item, 'optionalAccess', _1250 => _1250.main_video_url]));
51964
- const youtubeUrl = pick(m.youtubeUrl, _optionalChain([item, 'optionalAccess', _1251 => _1251.youtube_url]), _optionalChain([item, 'optionalAccess', _1252 => _1252.testimonial_video_url]));
51965
- const highlightVideoUrl = pick(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess', _1253 => _1253.highlight_video_url]));
52136
+ const videoUrl = pick(m.videoUrl, _optionalChain([item, 'optionalAccess', _1251 => _1251.custom_video_url]), _optionalChain([item, 'optionalAccess', _1252 => _1252.main_video_url]));
52137
+ const youtubeUrl = pick(m.youtubeUrl, _optionalChain([item, 'optionalAccess', _1253 => _1253.youtube_url]), _optionalChain([item, 'optionalAccess', _1254 => _1254.testimonial_video_url]));
52138
+ const highlightVideoUrl = pick(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess', _1255 => _1255.highlight_video_url]));
51966
52139
  const videoPoster = pick(
51967
52140
  m.videoPoster,
51968
- _optionalChain([item, 'optionalAccess', _1254 => _1254.main_video_thumbnail]),
51969
- _optionalChain([item, 'optionalAccess', _1255 => _1255.highlight_video_thumbnail]),
51970
- _optionalChain([item, 'optionalAccess', _1256 => _1256.featured_image])
52141
+ _optionalChain([item, 'optionalAccess', _1256 => _1256.main_video_thumbnail]),
52142
+ _optionalChain([item, 'optionalAccess', _1257 => _1257.highlight_video_thumbnail]),
52143
+ _optionalChain([item, 'optionalAccess', _1258 => _1258.featured_image])
51971
52144
  );
51972
52145
  if (videoUrl) out.videoUrl = videoUrl;
51973
52146
  if (youtubeUrl) out.youtubeUrl = youtubeUrl;
@@ -52001,15 +52174,15 @@ function fetchedItemDisplayRef(item, chatRef) {
52001
52174
  }
52002
52175
  function fetchedFaqDisplayRef(item, chatRef) {
52003
52176
  const it = item;
52004
- const answer = typeof _optionalChain([it, 'optionalAccess', _1257 => _1257.answer]) === "string" && it.answer.trim().length > 0 ? it.answer.trim() : null;
52177
+ const answer = typeof _optionalChain([it, 'optionalAccess', _1259 => _1259.answer]) === "string" && it.answer.trim().length > 0 ? it.answer.trim() : null;
52005
52178
  return {
52006
52179
  type: "faq",
52007
52180
  id: chatRef.id,
52008
52181
  sourceRepo: chatRef.sourceRepo,
52009
- title: typeof _optionalChain([it, 'optionalAccess', _1258 => _1258.question]) === "string" && it.question ? it.question : chatRef.id,
52182
+ title: typeof _optionalChain([it, 'optionalAccess', _1260 => _1260.question]) === "string" && it.question ? it.question : chatRef.id,
52010
52183
  url: _nullishCoalesce(chatRef.url, () => ( null)),
52011
52184
  ...answer ? { preview: answer.length > 400 ? `${answer.slice(0, 397)}\u2026` : answer } : {},
52012
- metadata: typeof _optionalChain([it, 'optionalAccess', _1259 => _1259.section]) === "string" && it.section ? { section: it.section } : {}
52185
+ metadata: typeof _optionalChain([it, 'optionalAccess', _1261 => _1261.section]) === "string" && it.section ? { section: it.section } : {}
52013
52186
  };
52014
52187
  }
52015
52188
  function HubspotTicketChatCard({
@@ -52017,8 +52190,8 @@ function HubspotTicketChatCard({
52017
52190
  isNewTab,
52018
52191
  discuss
52019
52192
  }) {
52020
- const status = typeof _optionalChain([chatRef, 'access', _1260 => _1260.metadata, 'optionalAccess', _1261 => _1261.status]) === "string" ? chatRef.metadata.status : void 0;
52021
- const statusLabel = typeof _optionalChain([chatRef, 'access', _1262 => _1262.metadata, 'optionalAccess', _1263 => _1263.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
52193
+ const status = typeof _optionalChain([chatRef, 'access', _1262 => _1262.metadata, 'optionalAccess', _1263 => _1263.status]) === "string" ? chatRef.metadata.status : void 0;
52194
+ const statusLabel = typeof _optionalChain([chatRef, 'access', _1264 => _1264.metadata, 'optionalAccess', _1265 => _1265.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
52022
52195
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
52023
52196
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
52024
52197
  MingoInfoCard,
@@ -52041,7 +52214,7 @@ function FaqChatCard({
52041
52214
  isNewTab,
52042
52215
  discuss
52043
52216
  }) {
52044
- const section = typeof _optionalChain([chatRef, 'access', _1264 => _1264.metadata, 'optionalAccess', _1265 => _1265.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
52217
+ const section = typeof _optionalChain([chatRef, 'access', _1266 => _1266.metadata, 'optionalAccess', _1267 => _1267.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
52045
52218
  const statusLabel = section && section.length > 0 ? section : "FAQ";
52046
52219
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
52047
52220
  MingoInfoCard,
@@ -52061,7 +52234,7 @@ function SlackChatCard({
52061
52234
  isNewTab,
52062
52235
  discuss
52063
52236
  }) {
52064
- const channelName = typeof _optionalChain([chatRef, 'access', _1266 => _1266.metadata, 'optionalAccess', _1267 => _1267.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
52237
+ const channelName = typeof _optionalChain([chatRef, 'access', _1268 => _1268.metadata, 'optionalAccess', _1269 => _1269.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
52065
52238
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
52066
52239
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
52067
52240
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -52101,7 +52274,7 @@ function GenericFinancialChatCard({
52101
52274
  isNewTab,
52102
52275
  discuss
52103
52276
  }) {
52104
- const subtitle = typeof _optionalChain([chatRef, 'access', _1268 => _1268.metadata, 'optionalAccess', _1269 => _1269.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
52277
+ const subtitle = typeof _optionalChain([chatRef, 'access', _1270 => _1270.metadata, 'optionalAccess', _1271 => _1271.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
52105
52278
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
52106
52279
  MingoInfoCard,
52107
52280
  {
@@ -52170,12 +52343,12 @@ function ProductReleaseChatCard({
52170
52343
  discuss
52171
52344
  }) {
52172
52345
  const releaseProps = buildProps(item);
52173
- const status = _optionalChain([item, 'optionalAccess', _1270 => _1270.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
52346
+ const status = _optionalChain([item, 'optionalAccess', _1272 => _1272.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
52174
52347
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
52175
52348
  EntityMingoCard,
52176
52349
  {
52177
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1271 => _1271.title]), () => ( "")),
52178
- description: _optionalChain([item, 'optionalAccess', _1272 => _1272.summary]) || releaseProps.formattedDate || void 0,
52350
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1273 => _1273.title]), () => ( "")),
52351
+ description: _optionalChain([item, 'optionalAccess', _1274 => _1274.summary]) || releaseProps.formattedDate || void 0,
52179
52352
  cover: releaseProps.coverImage || void 0,
52180
52353
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.Rocket02Icon, { size: 24 }),
52181
52354
  status,
@@ -52192,17 +52365,17 @@ function CampaignChatCard({
52192
52365
  isNewTab,
52193
52366
  discuss
52194
52367
  }) {
52195
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _1273 => _1273.goals])) ? item.goals.length : 0;
52368
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _1275 => _1275.goals])) ? item.goals.length : 0;
52196
52369
  const meta = [
52197
- _optionalChain([item, 'optionalAccess', _1274 => _1274.start_date]) ? formatDateShort(item.start_date) : null,
52370
+ _optionalChain([item, 'optionalAccess', _1276 => _1276.start_date]) ? formatDateShort(item.start_date) : null,
52198
52371
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
52199
52372
  "Marketing campaign"
52200
52373
  ].filter(Boolean).join(" \xB7 ");
52201
52374
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
52202
52375
  EntityMingoCard,
52203
52376
  {
52204
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1275 => _1275.name]), () => ( "")),
52205
- description: meta || _optionalChain([item, 'optionalAccess', _1276 => _1276.description]) || void 0,
52377
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1277 => _1277.name]), () => ( "")),
52378
+ description: meta || _optionalChain([item, 'optionalAccess', _1278 => _1278.description]) || void 0,
52206
52379
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.Megaphone01Icon, { size: 24 }),
52207
52380
  chatRef,
52208
52381
  isNewTab,
@@ -52257,14 +52430,14 @@ function BlogChatCard({
52257
52430
  hasEmbeddedVideo,
52258
52431
  discuss
52259
52432
  }) {
52260
- const category = Array.isArray(_optionalChain([item, 'optionalAccess', _1277 => _1277.categories])) ? _optionalChain([item, 'access', _1278 => _1278.categories, 'access', _1279 => _1279.find, 'call', _1280 => _1280((c) => c && c.name), 'optionalAccess', _1281 => _1281.name]) : void 0;
52433
+ const category = Array.isArray(_optionalChain([item, 'optionalAccess', _1279 => _1279.categories])) ? _optionalChain([item, 'access', _1280 => _1280.categories, 'access', _1281 => _1281.find, 'call', _1282 => _1282((c) => c && c.name), 'optionalAccess', _1283 => _1283.name]) : void 0;
52261
52434
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
52262
52435
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
52263
52436
  EntityMingoCard,
52264
52437
  {
52265
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1282 => _1282.title]), () => ( "")),
52266
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1283 => _1283.summary]), () => ( void 0)),
52267
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1284 => _1284.featured_image]), ogPlaceholder),
52438
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1284 => _1284.title]), () => ( "")),
52439
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1285 => _1285.summary]), () => ( void 0)),
52440
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _1286 => _1286.featured_image]), ogPlaceholder),
52268
52441
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.NewspaperIcon, { size: 24 }),
52269
52442
  status,
52270
52443
  chatRef,
@@ -52281,13 +52454,13 @@ function CaseStudyChatCard({
52281
52454
  ogPlaceholder,
52282
52455
  discuss
52283
52456
  }) {
52284
- const meta = [_optionalChain([item, 'optionalAccess', _1285 => _1285.msp, 'optionalAccess', _1286 => _1286.name]), _optionalChain([item, 'optionalAccess', _1287 => _1287.user, 'optionalAccess', _1288 => _1288.full_name])].filter(Boolean).join(" \xB7 ");
52457
+ const meta = [_optionalChain([item, 'optionalAccess', _1287 => _1287.msp, 'optionalAccess', _1288 => _1288.name]), _optionalChain([item, 'optionalAccess', _1289 => _1289.user, 'optionalAccess', _1290 => _1290.full_name])].filter(Boolean).join(" \xB7 ");
52285
52458
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
52286
52459
  EntityMingoCard,
52287
52460
  {
52288
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1289 => _1289.title]), () => ( "")),
52289
- description: _optionalChain([item, 'optionalAccess', _1290 => _1290.summary]) || meta || void 0,
52290
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1291 => _1291.featured_image]), ogPlaceholder),
52461
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1291 => _1291.title]), () => ( "")),
52462
+ description: _optionalChain([item, 'optionalAccess', _1292 => _1292.summary]) || meta || void 0,
52463
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _1293 => _1293.featured_image]), ogPlaceholder),
52291
52464
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.TrophyIcon, { size: 24 }),
52292
52465
  status: { label: "Case study", variant: "grey" },
52293
52466
  chatRef,
@@ -52304,13 +52477,13 @@ function CustomerInterviewChatCard({
52304
52477
  ogPlaceholder,
52305
52478
  discuss
52306
52479
  }) {
52307
- const meta = [_optionalChain([item, 'optionalAccess', _1292 => _1292.user, 'optionalAccess', _1293 => _1293.full_name]), _optionalChain([item, 'optionalAccess', _1294 => _1294.msp, 'optionalAccess', _1295 => _1295.name])].filter(Boolean).join(" \xB7 ");
52480
+ const meta = [_optionalChain([item, 'optionalAccess', _1294 => _1294.user, 'optionalAccess', _1295 => _1295.full_name]), _optionalChain([item, 'optionalAccess', _1296 => _1296.msp, 'optionalAccess', _1297 => _1297.name])].filter(Boolean).join(" \xB7 ");
52308
52481
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
52309
52482
  EntityMingoCard,
52310
52483
  {
52311
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1296 => _1296.title]), () => ( "")),
52312
- description: _optionalChain([item, 'optionalAccess', _1297 => _1297.video_summary]) || meta || void 0,
52313
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1298 => _1298.featured_image]), ogPlaceholder),
52484
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1298 => _1298.title]), () => ( "")),
52485
+ description: _optionalChain([item, 'optionalAccess', _1299 => _1299.video_summary]) || meta || void 0,
52486
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _1300 => _1300.featured_image]), ogPlaceholder),
52314
52487
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.MicrophoneIcon, { size: 24 }),
52315
52488
  status: { label: "Interview", variant: "grey" },
52316
52489
  chatRef,
@@ -52327,13 +52500,13 @@ function InvestorUpdateChatCard({
52327
52500
  ogPlaceholder,
52328
52501
  discuss
52329
52502
  }) {
52330
- const title = _optionalChain([item, 'optionalAccess', _1299 => _1299.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1300 => _1300.update_number]), () => ( "?"))}`;
52503
+ const title = _optionalChain([item, 'optionalAccess', _1301 => _1301.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1302 => _1302.update_number]), () => ( "?"))}`;
52331
52504
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
52332
52505
  EntityMingoCard,
52333
52506
  {
52334
52507
  title,
52335
- description: _optionalChain([item, 'optionalAccess', _1301 => _1301.strategic_update]) || _optionalChain([item, 'optionalAccess', _1302 => _1302.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _1303 => _1303.period_start]), _optionalChain([item, 'optionalAccess', _1304 => _1304.period_end])) || void 0,
52336
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1305 => _1305.featured_image]), ogPlaceholder),
52508
+ description: _optionalChain([item, 'optionalAccess', _1303 => _1303.strategic_update]) || _optionalChain([item, 'optionalAccess', _1304 => _1304.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _1305 => _1305.period_start]), _optionalChain([item, 'optionalAccess', _1306 => _1306.period_end])) || void 0,
52509
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _1307 => _1307.featured_image]), ogPlaceholder),
52337
52510
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.PresentationLineIcon, { size: 24 }),
52338
52511
  status: { label: "Investor update", variant: "grey" },
52339
52512
  chatRef,
@@ -52350,12 +52523,12 @@ function OnboardingGuideChatCard({
52350
52523
  ogPlaceholder,
52351
52524
  discuss
52352
52525
  }) {
52353
- const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _1306 => _1306.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _1307 => _1307.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _1308 => _1308.og_image_url]), ogPlaceholder)));
52526
+ const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _1308 => _1308.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _1309 => _1309.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _1310 => _1310.og_image_url]), ogPlaceholder)));
52354
52527
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
52355
52528
  EntityMingoCard,
52356
52529
  {
52357
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1309 => _1309.title]), () => ( "")),
52358
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1310 => _1310.summary]), () => ( _optionalChain([item, 'optionalAccess', _1311 => _1311.description]))), () => ( void 0)),
52530
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1311 => _1311.title]), () => ( "")),
52531
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1312 => _1312.summary]), () => ( _optionalChain([item, 'optionalAccess', _1313 => _1313.description]))), () => ( void 0)),
52359
52532
  cover,
52360
52533
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.CompassIcon, { size: 24 }),
52361
52534
  status: { label: "Guide", variant: "grey" },
@@ -52376,25 +52549,25 @@ function ProgramChatCard({
52376
52549
  discuss
52377
52550
  }) {
52378
52551
  const icon = configKey === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.CalendarIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.MicrophoneIcon, { size: 24 });
52379
- const isScheduled = _optionalChain([item, 'optionalAccess', _1312 => _1312.status]) === "scheduled";
52552
+ const isScheduled = _optionalChain([item, 'optionalAccess', _1314 => _1314.status]) === "scheduled";
52380
52553
  let typeMeta;
52381
- if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _1313 => _1313.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
52554
+ if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _1315 => _1315.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
52382
52555
  typeMeta = formatDurationCompact(item.duration_seconds);
52383
- } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _1314 => _1314.location_name]) === "string" && item.location_name.trim().length > 0) {
52556
+ } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _1316 => _1316.location_name]) === "string" && item.location_name.trim().length > 0) {
52384
52557
  typeMeta = item.location_name;
52385
- } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _1315 => _1315.start_at])) {
52558
+ } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _1317 => _1317.start_at])) {
52386
52559
  const time = formatTimeWithTimezone(item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
52387
52560
  const dur = formatDurationFromRange(item.start_at, item.end_at);
52388
52561
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
52389
52562
  }
52390
- const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1316 => _1316.date]), () => ( null)), { fallback: "", timezone: "local" });
52563
+ const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1318 => _1318.date]), () => ( null)), { fallback: "", timezone: "local" });
52391
52564
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
52392
52565
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
52393
52566
  EntityMingoCard,
52394
52567
  {
52395
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1317 => _1317.title]), () => ( "")),
52396
- description: meta || _optionalChain([item, 'optionalAccess', _1318 => _1318.description]) || void 0,
52397
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1319 => _1319.cover_url]), ogPlaceholder),
52568
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1319 => _1319.title]), () => ( "")),
52569
+ description: meta || _optionalChain([item, 'optionalAccess', _1320 => _1320.description]) || void 0,
52570
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _1321 => _1321.cover_url]), ogPlaceholder),
52398
52571
  fallbackIcon: icon,
52399
52572
  status: { label, variant: "grey" },
52400
52573
  chatRef,
@@ -52411,10 +52584,10 @@ function RoadmapChatCard({
52411
52584
  cardType,
52412
52585
  discuss
52413
52586
  }) {
52414
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _1320 => _1320.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
52415
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _1321 => _1321.customItemId]) != null;
52587
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _1322 => _1322.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
52588
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _1323 => _1323.customItemId]) != null;
52416
52589
  const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.MapIcon, { size: 24 });
52417
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _1322 => _1322.customItemId]), className: "size-6" }) : logoUrl ? (
52590
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _1324 => _1324.customItemId]), className: "size-6" }) : logoUrl ? (
52418
52591
  // Contained (not full-bleed) so the integration logo keeps its aspect
52419
52592
  // ratio inside the bordered icon box — matches RoadmapCard.
52420
52593
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
@@ -52425,10 +52598,10 @@ function RoadmapChatCard({
52425
52598
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
52426
52599
  EntityMingoCard,
52427
52600
  {
52428
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1323 => _1323.title]), () => ( "")),
52429
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1324 => _1324.description]), () => ( void 0)),
52601
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1325 => _1325.title]), () => ( "")),
52602
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1326 => _1326.description]), () => ( void 0)),
52430
52603
  fallbackIcon: icon,
52431
- status: statusPill(_optionalChain([item, 'optionalAccess', _1325 => _1325.status])),
52604
+ status: statusPill(_optionalChain([item, 'optionalAccess', _1327 => _1327.status])),
52432
52605
  chatRef,
52433
52606
  isNewTab,
52434
52607
  discuss,
@@ -52444,7 +52617,7 @@ function refHydratedEntry(docType, label, renderRef) {
52444
52617
  bareInline: true,
52445
52618
  contentRefType: docType,
52446
52619
  noComposedHref: true,
52447
- fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1326 => _1326.url]), () => ( null)),
52620
+ fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1328 => _1328.url]), () => ( null)),
52448
52621
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
52449
52622
  render: (item, chatRef, opts) => renderRef(fetchedItemDisplayRef(item, chatRef), opts)
52450
52623
  };
@@ -52517,7 +52690,7 @@ function programRegistryEntries() {
52517
52690
  discuss: opts.discuss,
52518
52691
  configKey: cfg.configKey,
52519
52692
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
52520
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1327 => _1327.extras, 'optionalAccess', _1328 => _1328.buildOgPlaceholderUrl, 'optionalCall', _1329 => _1329(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1330 => _1330.title]), () => ( "")))]), () => ( null))
52693
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1329 => _1329.extras, 'optionalAccess', _1330 => _1330.buildOgPlaceholderUrl, 'optionalCall', _1331 => _1331(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1332 => _1332.title]), () => ( "")))]), () => ( null))
52521
52694
  }
52522
52695
  )
52523
52696
  }));
@@ -52538,7 +52711,7 @@ var ROADMAP_CARD_CONFIGS = {
52538
52711
  // The card's destination IS the ClickUp deep link, derived from the
52539
52712
  // task id post-fetch (the refs frame used to carry it).
52540
52713
  noComposedHref: true,
52541
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _1331 => _1331.id]) != null ? clickupTaskUrl(String(item.id)) : null
52714
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _1333 => _1333.id]) != null ? clickupTaskUrl(String(item.id)) : null
52542
52715
  }
52543
52716
  };
52544
52717
  function roadmapRegistryEntries() {
@@ -52580,8 +52753,8 @@ var CHAT_CARD_REGISTRY = {
52580
52753
  DeletedDataCard,
52581
52754
  {
52582
52755
  title: chatRef.title && chatRef.title !== chatRef.id ? chatRef.title : null,
52583
- entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _1332 => _1332.metadata, 'optionalAccess', _1333 => _1333.entity_label]), () => ( null)),
52584
- recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _1334 => _1334.metadata, 'optionalAccess', _1335 => _1335.recovery_note]), () => ( null))
52756
+ entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _1334 => _1334.metadata, 'optionalAccess', _1335 => _1335.entity_label]), () => ( null)),
52757
+ recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _1336 => _1336.metadata, 'optionalAccess', _1337 => _1337.recovery_note]), () => ( null))
52585
52758
  }
52586
52759
  )
52587
52760
  },
@@ -52595,7 +52768,7 @@ var CHAT_CARD_REGISTRY = {
52595
52768
  bareInline: true,
52596
52769
  contentRefType: "faq",
52597
52770
  noComposedHref: true,
52598
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _1336 => _1336.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
52771
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _1338 => _1338.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
52599
52772
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
52600
52773
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
52601
52774
  FaqChatCard,
@@ -52679,8 +52852,8 @@ var CHAT_CARD_REGISTRY = {
52679
52852
  chatRef,
52680
52853
  isNewTab: opts.isNewTab,
52681
52854
  discuss: opts.discuss,
52682
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1337 => _1337.extras, 'optionalAccess', _1338 => _1338.buildOgPlaceholderUrl, 'optionalCall', _1339 => _1339(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1340 => _1340.title]), () => ( "")))]), () => ( null)),
52683
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _1341 => _1341.metadata, 'optionalAccess', _1342 => _1342.hasEmbeddedVideo]) === true
52855
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1339 => _1339.extras, 'optionalAccess', _1340 => _1340.buildOgPlaceholderUrl, 'optionalCall', _1341 => _1341(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1342 => _1342.title]), () => ( "")))]), () => ( null)),
52856
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _1343 => _1343.metadata, 'optionalAccess', _1344 => _1344.hasEmbeddedVideo]) === true
52684
52857
  }
52685
52858
  )
52686
52859
  },
@@ -52696,7 +52869,7 @@ var CHAT_CARD_REGISTRY = {
52696
52869
  chatRef,
52697
52870
  isNewTab: opts.isNewTab,
52698
52871
  discuss: opts.discuss,
52699
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1343 => _1343.extras, 'optionalAccess', _1344 => _1344.buildOgPlaceholderUrl, 'optionalCall', _1345 => _1345(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1346 => _1346.title]), () => ( "")))]), () => ( null))
52872
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1345 => _1345.extras, 'optionalAccess', _1346 => _1346.buildOgPlaceholderUrl, 'optionalCall', _1347 => _1347(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1348 => _1348.title]), () => ( "")))]), () => ( null))
52700
52873
  }
52701
52874
  )
52702
52875
  },
@@ -52712,7 +52885,7 @@ var CHAT_CARD_REGISTRY = {
52712
52885
  chatRef,
52713
52886
  isNewTab: opts.isNewTab,
52714
52887
  discuss: opts.discuss,
52715
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1347 => _1347.extras, 'optionalAccess', _1348 => _1348.buildOgPlaceholderUrl, 'optionalCall', _1349 => _1349(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1350 => _1350.title]), () => ( "")))]), () => ( null))
52888
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1349 => _1349.extras, 'optionalAccess', _1350 => _1350.buildOgPlaceholderUrl, 'optionalCall', _1351 => _1351(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1352 => _1352.title]), () => ( "")))]), () => ( null))
52716
52889
  }
52717
52890
  )
52718
52891
  },
@@ -52722,7 +52895,7 @@ var CHAT_CARD_REGISTRY = {
52722
52895
  bareInline: true,
52723
52896
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
52724
52897
  render: (item, chatRef, opts) => {
52725
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1351 => _1351.extras, 'optionalAccess', _1352 => _1352.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
52898
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1353 => _1353.extras, 'optionalAccess', _1354 => _1354.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
52726
52899
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
52727
52900
  ProductReleaseChatCard,
52728
52901
  {
@@ -52748,7 +52921,7 @@ var CHAT_CARD_REGISTRY = {
52748
52921
  chatRef,
52749
52922
  isNewTab: opts.isNewTab,
52750
52923
  discuss: opts.discuss,
52751
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1353 => _1353.extras, 'optionalAccess', _1354 => _1354.buildOgPlaceholderUrl, 'optionalCall', _1355 => _1355(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1356 => _1356.title]), () => ( "")))]), () => ( null))
52924
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1355 => _1355.extras, 'optionalAccess', _1356 => _1356.buildOgPlaceholderUrl, 'optionalCall', _1357 => _1357(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1358 => _1358.title]), () => ( "")))]), () => ( null))
52752
52925
  }
52753
52926
  )
52754
52927
  },
@@ -52766,7 +52939,7 @@ var CHAT_CARD_REGISTRY = {
52766
52939
  chatRef,
52767
52940
  isNewTab: opts.isNewTab,
52768
52941
  discuss: opts.discuss,
52769
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1357 => _1357.extras, 'optionalAccess', _1358 => _1358.buildOgPlaceholderUrl, 'optionalCall', _1359 => _1359(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1360 => _1360.title]), () => ( "")))]), () => ( null))
52942
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1359 => _1359.extras, 'optionalAccess', _1360 => _1360.buildOgPlaceholderUrl, 'optionalCall', _1361 => _1361(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1362 => _1362.title]), () => ( "")))]), () => ( null))
52770
52943
  }
52771
52944
  )
52772
52945
  },
@@ -52777,7 +52950,7 @@ var CHAT_CARD_REGISTRY = {
52777
52950
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
52778
52951
  // No public viewer — synthesize the hub-internal admin URL post-fetch
52779
52952
  // so the wrapper + isNewTab computation see the actual destination.
52780
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _1361 => _1361.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
52953
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _1363 => _1363.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
52781
52954
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
52782
52955
  CampaignChatCard,
52783
52956
  {
@@ -52804,13 +52977,13 @@ function ChatCardNavWrap({
52804
52977
  if (!href) return;
52805
52978
  const targetEl = e.target;
52806
52979
  const host = e.currentTarget;
52807
- if (!_optionalChain([host, 'optionalAccess', _1362 => _1362.contains, 'call', _1363 => _1363(targetEl)])) return;
52808
- if (_optionalChain([targetEl, 'optionalAccess', _1364 => _1364.closest, 'optionalCall', _1365 => _1365("button")])) return;
52809
- if (!_optionalChain([targetEl, 'optionalAccess', _1366 => _1366.closest, 'optionalCall', _1367 => _1367("a")])) return;
52980
+ if (!_optionalChain([host, 'optionalAccess', _1364 => _1364.contains, 'call', _1365 => _1365(targetEl)])) return;
52981
+ if (_optionalChain([targetEl, 'optionalAccess', _1366 => _1366.closest, 'optionalCall', _1367 => _1367("button")])) return;
52982
+ if (!_optionalChain([targetEl, 'optionalAccess', _1368 => _1368.closest, 'optionalCall', _1369 => _1369("a")])) return;
52810
52983
  const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
52811
52984
  if (!handled) return;
52812
52985
  e.stopPropagation();
52813
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _1368 => _1368.closeChat])) panel.closeChat();
52986
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _1370 => _1370.closeChat])) panel.closeChat();
52814
52987
  };
52815
52988
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
52816
52989
  }
@@ -52832,7 +53005,7 @@ function ChatCardLoader({
52832
53005
  title: chatRef.title,
52833
53006
  externalUrl: chatRef.url,
52834
53007
  targetPlatform: chatRef.targetPlatform,
52835
- path: typeof _optionalChain([chatRef, 'access', _1369 => _1369.metadata, 'optionalAccess', _1370 => _1370.path]) === "string" ? chatRef.metadata.path : null
53008
+ path: typeof _optionalChain([chatRef, 'access', _1371 => _1371.metadata, 'optionalAccess', _1372 => _1372.path]) === "string" ? chatRef.metadata.path : null
52836
53009
  },
52837
53010
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
52838
53011
  );
@@ -52846,11 +53019,11 @@ function ChatCardLoader({
52846
53019
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
52847
53020
  const fetchEntry = entry && entry.contentRefType ? entry : null;
52848
53021
  const { item, isLoading, isError, isFetched } = useChatCardItem(
52849
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _1371 => _1371.contentRefType]), () => ( "")),
53022
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _1373 => _1373.contentRefType]), () => ( "")),
52850
53023
  fetchEntry ? resolvedChatRef.id : ""
52851
53024
  );
52852
53025
  if (!entry) return null;
52853
- const composedHref = _optionalChain([fetchEntry, 'optionalAccess', _1372 => _1372.contentRefType]) && !resolvedChatRef.url && item && !fetchEntry.fallbackHref && !fetchEntry.noComposedHref ? resolveFetchedCardHref({
53026
+ const composedHref = _optionalChain([fetchEntry, 'optionalAccess', _1374 => _1374.contentRefType]) && !resolvedChatRef.url && item && !fetchEntry.fallbackHref && !fetchEntry.noComposedHref ? resolveFetchedCardHref({
52854
53027
  contentRefType: fetchEntry.contentRefType,
52855
53028
  id: resolvedChatRef.id,
52856
53029
  item,
@@ -52889,7 +53062,7 @@ function ChatCardLoader({
52889
53062
  isNewTab,
52890
53063
  discuss
52891
53064
  };
52892
- const path = typeof _optionalChain([finalChatRef, 'access', _1373 => _1373.metadata, 'optionalAccess', _1374 => _1374.path]) === "string" ? finalChatRef.metadata.path : null;
53065
+ const path = typeof _optionalChain([finalChatRef, 'access', _1375 => _1375.metadata, 'optionalAccess', _1376 => _1376.path]) === "string" ? finalChatRef.metadata.path : null;
52893
53066
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
52894
53067
  ChatCardNavWrap,
52895
53068
  {
@@ -52913,7 +53086,7 @@ function ChatCardLoader({
52913
53086
  if (!fetchEntry) {
52914
53087
  return finish(entry.render(void 0, finalChatRef, renderOpts));
52915
53088
  }
52916
- if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _1375 => _1375.skeleton, 'optionalCall', _1376 => _1376()]), () => ( null)) });
53089
+ if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _1377 => _1377.skeleton, 'optionalCall', _1378 => _1378()]), () => ( null)) });
52917
53090
  if (!item) {
52918
53091
  if (isError) {
52919
53092
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Failed to load" });
@@ -53176,7 +53349,7 @@ function useChunkCatchup({
53176
53349
  console.error("Error during chunk catchup:", error);
53177
53350
  } finally {
53178
53351
  if (dialogId2 !== dialogIdRef.current) {
53179
- if (_optionalChain([pendingCatchupRef, 'access', _1377 => _1377.current, 'optionalAccess', _1378 => _1378.dialogId]) === dialogId2) {
53352
+ if (_optionalChain([pendingCatchupRef, 'access', _1379 => _1379.current, 'optionalAccess', _1380 => _1380.dialogId]) === dialogId2) {
53180
53353
  pendingCatchupRef.current = null;
53181
53354
  }
53182
53355
  } else {
@@ -53189,7 +53362,7 @@ function useChunkCatchup({
53189
53362
  lastFetchParams.current = null;
53190
53363
  bufferUntilInitialCatchupComplete.current = true;
53191
53364
  try {
53192
- await _optionalChain([catchUpChunksRef, 'access', _1379 => _1379.current, 'optionalCall', _1380 => _1380(pending.fromSequenceId)]);
53365
+ await _optionalChain([catchUpChunksRef, 'access', _1381 => _1381.current, 'optionalCall', _1382 => _1382(pending.fromSequenceId)]);
53193
53366
  } catch (rerunError) {
53194
53367
  console.error("Queued catch-up re-run failed:", rerunError);
53195
53368
  }
@@ -53253,7 +53426,7 @@ function useChunkCatchup({
53253
53426
 
53254
53427
  var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
53255
53428
  function prefersReducedMotion() {
53256
- return typeof window !== "undefined" && _optionalChain([window, 'access', _1381 => _1381.matchMedia, 'optionalCall', _1382 => _1382("(prefers-reduced-motion: reduce)"), 'access', _1383 => _1383.matches]) === true;
53429
+ return typeof window !== "undefined" && _optionalChain([window, 'access', _1383 => _1383.matchMedia, 'optionalCall', _1384 => _1384("(prefers-reduced-motion: reduce)"), 'access', _1385 => _1385.matches]) === true;
53257
53430
  }
53258
53431
  function useScriptedStream(frames, resetKey, enabled = true) {
53259
53432
  const [index, setIndex] = _react.useState.call(void 0, 0);
@@ -53265,7 +53438,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
53265
53438
  }
53266
53439
  _react.useEffect.call(void 0, () => {
53267
53440
  setReducedMotion(prefersReducedMotion());
53268
- const mq = _optionalChain([window, 'access', _1384 => _1384.matchMedia, 'optionalCall', _1385 => _1385("(prefers-reduced-motion: reduce)")]);
53441
+ const mq = _optionalChain([window, 'access', _1386 => _1386.matchMedia, 'optionalCall', _1387 => _1387("(prefers-reduced-motion: reduce)")]);
53269
53442
  if (!mq) return;
53270
53443
  const onChange = () => setReducedMotion(mq.matches);
53271
53444
  mq.addEventListener("change", onChange);
@@ -53401,7 +53574,7 @@ function useJetStreamDialogSubscription({
53401
53574
  const lifecycle = _chunkKQKU4VXBcjs.startConnectionLifecycle.call(void 0, {
53402
53575
  conn: sharedConn,
53403
53576
  wsUrl,
53404
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1386 => _1386.current, 'optionalCall', _1387 => _1387()]),
53577
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1388 => _1388.current, 'optionalCall', _1389 => _1389()]),
53405
53578
  backoff: reconnectionBackoffRef.current,
53406
53579
  getFreshUrl: () => getNatsWsUrlRef.current(),
53407
53580
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -53416,7 +53589,7 @@ function useJetStreamDialogSubscription({
53416
53589
  setReconnectionCount((c) => c + 1);
53417
53590
  }
53418
53591
  hadConnectionBeforeRef.current = true;
53419
- _optionalChain([onConnectRef, 'access', _1388 => _1388.current, 'optionalCall', _1389 => _1389()]);
53592
+ _optionalChain([onConnectRef, 'access', _1390 => _1390.current, 'optionalCall', _1391 => _1391()]);
53420
53593
  }
53421
53594
  if (status === "error") {
53422
53595
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -53426,7 +53599,7 @@ function useJetStreamDialogSubscription({
53426
53599
  setIsConnected(false);
53427
53600
  setIsSubscribed(false);
53428
53601
  tearDownSubscription();
53429
- _optionalChain([onDisconnectRef, 'access', _1390 => _1390.current, 'optionalCall', _1391 => _1391()]);
53602
+ _optionalChain([onDisconnectRef, 'access', _1392 => _1392.current, 'optionalCall', _1393 => _1393()]);
53430
53603
  }
53431
53604
  }
53432
53605
  });
@@ -53555,7 +53728,7 @@ function useJetStreamDialogSubscription({
53555
53728
  }
53556
53729
  subscriptionRef.current = handle;
53557
53730
  setIsSubscribed(true);
53558
- _optionalChain([onSubscribedRef, 'access', _1392 => _1392.current, 'optionalCall', _1393 => _1393()]);
53731
+ _optionalChain([onSubscribedRef, 'access', _1394 => _1394.current, 'optionalCall', _1395 => _1395()]);
53559
53732
  } catch (e90) {
53560
53733
  if (!cancelled) {
53561
53734
  setIsSubscribed(false);
@@ -53669,20 +53842,20 @@ function useNatsDialogSubscription({
53669
53842
  const tearDownSubscriptions = () => {
53670
53843
  subscriptionRefs.current.forEach((sub) => {
53671
53844
  try {
53672
- _optionalChain([sub, 'optionalAccess', _1394 => _1394.unsubscribe, 'call', _1395 => _1395()]);
53845
+ _optionalChain([sub, 'optionalAccess', _1396 => _1396.unsubscribe, 'call', _1397 => _1397()]);
53673
53846
  } catch (e92) {
53674
53847
  }
53675
53848
  });
53676
53849
  subscriptionRefs.current.clear();
53677
53850
  lastSubscribedDialogIdRef.current = null;
53678
- _optionalChain([abortControllerRef, 'access', _1396 => _1396.current, 'optionalAccess', _1397 => _1397.abort, 'call', _1398 => _1398()]);
53851
+ _optionalChain([abortControllerRef, 'access', _1398 => _1398.current, 'optionalAccess', _1399 => _1399.abort, 'call', _1400 => _1400()]);
53679
53852
  abortControllerRef.current = null;
53680
53853
  };
53681
53854
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
53682
53855
  const lifecycle = _chunkKQKU4VXBcjs.startConnectionLifecycle.call(void 0, {
53683
53856
  conn: sharedConn,
53684
53857
  wsUrl,
53685
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1399 => _1399.current, 'optionalCall', _1400 => _1400()]),
53858
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1401 => _1401.current, 'optionalCall', _1402 => _1402()]),
53686
53859
  backoff: reconnectionBackoffRef.current,
53687
53860
  getFreshUrl: () => getNatsWsUrlRef.current(),
53688
53861
  shouldRetryOn: isDisconnectStatus,
@@ -53693,7 +53866,7 @@ function useNatsDialogSubscription({
53693
53866
  setReconnectionCount((c) => c + 1);
53694
53867
  }
53695
53868
  hadConnectionBeforeRef.current = true;
53696
- _optionalChain([onConnectRef, 'access', _1401 => _1401.current, 'optionalCall', _1402 => _1402()]);
53869
+ _optionalChain([onConnectRef, 'access', _1403 => _1403.current, 'optionalCall', _1404 => _1404()]);
53697
53870
  }
53698
53871
  if (status === "error") {
53699
53872
  console.warn("[NATS] protocol error:", evt.data);
@@ -53703,7 +53876,7 @@ function useNatsDialogSubscription({
53703
53876
  setIsConnected(false);
53704
53877
  setIsSubscribed(false);
53705
53878
  tearDownSubscriptions();
53706
- _optionalChain([onDisconnectRef, 'access', _1403 => _1403.current, 'optionalCall', _1404 => _1404()]);
53879
+ _optionalChain([onDisconnectRef, 'access', _1405 => _1405.current, 'optionalCall', _1406 => _1406()]);
53707
53880
  }
53708
53881
  }
53709
53882
  });
@@ -53736,13 +53909,13 @@ function useNatsDialogSubscription({
53736
53909
  setIsSubscribed(false);
53737
53910
  subscriptionRefs.current.forEach((sub) => {
53738
53911
  try {
53739
- _optionalChain([sub, 'optionalAccess', _1405 => _1405.unsubscribe, 'call', _1406 => _1406()]);
53912
+ _optionalChain([sub, 'optionalAccess', _1407 => _1407.unsubscribe, 'call', _1408 => _1408()]);
53740
53913
  } catch (e93) {
53741
53914
  }
53742
53915
  });
53743
53916
  subscriptionRefs.current.clear();
53744
53917
  lastSubscribedDialogIdRef.current = null;
53745
- _optionalChain([abortControllerRef, 'access', _1407 => _1407.current, 'optionalAccess', _1408 => _1408.abort, 'call', _1409 => _1409()]);
53918
+ _optionalChain([abortControllerRef, 'access', _1409 => _1409.current, 'optionalAccess', _1410 => _1410.abort, 'call', _1411 => _1411()]);
53746
53919
  abortControllerRef.current = null;
53747
53920
  }
53748
53921
  return;
@@ -53754,12 +53927,12 @@ function useNatsDialogSubscription({
53754
53927
  if (subscriptionRefs.current.size > 0) {
53755
53928
  subscriptionRefs.current.forEach((sub) => {
53756
53929
  try {
53757
- _optionalChain([sub, 'optionalAccess', _1410 => _1410.unsubscribe, 'call', _1411 => _1411()]);
53930
+ _optionalChain([sub, 'optionalAccess', _1412 => _1412.unsubscribe, 'call', _1413 => _1413()]);
53758
53931
  } catch (e94) {
53759
53932
  }
53760
53933
  });
53761
53934
  subscriptionRefs.current.clear();
53762
- _optionalChain([abortControllerRef, 'access', _1412 => _1412.current, 'optionalAccess', _1413 => _1413.abort, 'call', _1414 => _1414()]);
53935
+ _optionalChain([abortControllerRef, 'access', _1414 => _1414.current, 'optionalAccess', _1415 => _1415.abort, 'call', _1416 => _1416()]);
53763
53936
  }
53764
53937
  abortControllerRef.current = new AbortController();
53765
53938
  const abort = abortControllerRef.current;
@@ -53791,7 +53964,7 @@ function useNatsDialogSubscription({
53791
53964
  });
53792
53965
  lastSubscribedDialogIdRef.current = dialogId;
53793
53966
  setIsSubscribed(true);
53794
- _optionalChain([onSubscribedRef, 'access', _1415 => _1415.current, 'optionalCall', _1416 => _1416()]);
53967
+ _optionalChain([onSubscribedRef, 'access', _1417 => _1417.current, 'optionalCall', _1418 => _1418()]);
53795
53968
  };
53796
53969
  if (isConnectedRef.current) {
53797
53970
  createSubscriptions();
@@ -53801,7 +53974,7 @@ function useNatsDialogSubscription({
53801
53974
  abort.abort();
53802
53975
  subscriptionRefs.current.forEach((sub) => {
53803
53976
  try {
53804
- _optionalChain([sub, 'optionalAccess', _1417 => _1417.unsubscribe, 'call', _1418 => _1418()]);
53977
+ _optionalChain([sub, 'optionalAccess', _1419 => _1419.unsubscribe, 'call', _1420 => _1420()]);
53805
53978
  } catch (e96) {
53806
53979
  }
53807
53980
  });
@@ -53842,7 +54015,7 @@ function useNatsDialogSubscription({
53842
54015
  });
53843
54016
  lastSubscribedDialogIdRef.current = dialogId2;
53844
54017
  setIsSubscribed(true);
53845
- _optionalChain([onSubscribedRef, 'access', _1419 => _1419.current, 'optionalCall', _1420 => _1420()]);
54018
+ _optionalChain([onSubscribedRef, 'access', _1421 => _1421.current, 'optionalCall', _1422 => _1422()]);
53846
54019
  } else if (subscriptionRefs.current.size > 0) {
53847
54020
  setIsSubscribed(true);
53848
54021
  }
@@ -53850,10 +54023,10 @@ function useNatsDialogSubscription({
53850
54023
  return { isConnected, isSubscribed, reconnectionCount };
53851
54024
  }
53852
54025
  function buildNatsWsUrl(apiBaseUrl, options) {
53853
- const path = _optionalChain([options, 'optionalAccess', _1421 => _1421.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
54026
+ const path = _optionalChain([options, 'optionalAccess', _1423 => _1423.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
53854
54027
  const u = new URL(path, apiBaseUrl);
53855
54028
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
53856
- if (_optionalChain([options, 'optionalAccess', _1422 => _1422.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1423 => _1423.token])) {
54029
+ if (_optionalChain([options, 'optionalAccess', _1424 => _1424.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1425 => _1425.token])) {
53857
54030
  u.searchParams.set("authorization", options.token);
53858
54031
  }
53859
54032
  return u.toString();
@@ -53871,7 +54044,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
53871
54044
  const data = await res.json();
53872
54045
  return _nullishCoalesce(data.commands, () => ( []));
53873
54046
  } catch (err) {
53874
- if (_optionalChain([err, 'optionalAccess', _1424 => _1424.name]) === "AbortError") throw err;
54047
+ if (_optionalChain([err, 'optionalAccess', _1426 => _1426.name]) === "AbortError") throw err;
53875
54048
  console.warn("[chat] slash-commands fetch failed, showing none:", err);
53876
54049
  return [];
53877
54050
  }
@@ -53892,7 +54065,7 @@ function useSlashCommands(prefix, commandsUrl) {
53892
54065
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
53893
54066
  if (!cancelled) setCommands(next);
53894
54067
  } catch (err) {
53895
- if (!cancelled && _optionalChain([err, 'optionalAccess', _1425 => _1425.name]) !== "AbortError") {
54068
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _1427 => _1427.name]) !== "AbortError") {
53896
54069
  console.warn("[use-slash-commands] fetch failed:", err);
53897
54070
  }
53898
54071
  } finally {
@@ -53911,7 +54084,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
53911
54084
  const query = _reactquery.useQuery.call(void 0, {
53912
54085
  queryKey: ["chat-slash-commands", commandsUrl],
53913
54086
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
53914
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1426 => _1426.enabled]), () => ( true)),
54087
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1428 => _1428.enabled]), () => ( true)),
53915
54088
  staleTime: Infinity,
53916
54089
  gcTime: Infinity,
53917
54090
  // The commands registry is non-critical chrome — a failure degrades to an
@@ -53950,21 +54123,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
53950
54123
  }
53951
54124
  const data = await res.json();
53952
54125
  return {
53953
- name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1427 => _1427.name]), () => ( null)),
53954
- icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1428 => _1428.icon]), () => ( null)),
53955
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1429 => _1429.greeting]), () => ( null)),
53956
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1430 => _1430.enabledRagTableIds]), () => ( [])),
53957
- quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1431 => _1431.quickActions]), () => ( [])),
53958
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1432 => _1432.suggestedQueries]), () => ( []))
54126
+ name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1429 => _1429.name]), () => ( null)),
54127
+ icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1430 => _1430.icon]), () => ( null)),
54128
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1431 => _1431.greeting]), () => ( null)),
54129
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1432 => _1432.enabledRagTableIds]), () => ( [])),
54130
+ quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1433 => _1433.quickActions]), () => ( [])),
54131
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1434 => _1434.suggestedQueries]), () => ( []))
53959
54132
  };
53960
54133
  } catch (err) {
53961
- if (_optionalChain([err, 'optionalAccess', _1433 => _1433.name]) === "AbortError") throw err;
54134
+ if (_optionalChain([err, 'optionalAccess', _1435 => _1435.name]) === "AbortError") throw err;
53962
54135
  console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
53963
54136
  return EMPTY_STATE_FALLBACK;
53964
54137
  }
53965
54138
  }
53966
54139
  function useEmptyStateConfig(emptyStateUrl, options) {
53967
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1434 => _1434.enabled]), () => ( true))) && !!emptyStateUrl;
54140
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1436 => _1436.enabled]), () => ( true))) && !!emptyStateUrl;
53968
54141
  const query = _reactquery.useQuery.call(void 0, {
53969
54142
  queryKey: ["chat-empty-state", emptyStateUrl],
53970
54143
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -53993,7 +54166,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
53993
54166
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
53994
54167
  function uploadWithProgress(url, file, token, onProgress, signal) {
53995
54168
  return new Promise((resolve, reject) => {
53996
- if (_optionalChain([signal, 'optionalAccess', _1435 => _1435.aborted])) {
54169
+ if (_optionalChain([signal, 'optionalAccess', _1437 => _1437.aborted])) {
53997
54170
  reject(new Error("Upload cancelled"));
53998
54171
  return;
53999
54172
  }
@@ -54007,7 +54180,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
54007
54180
  xhr.removeEventListener("error", handleError);
54008
54181
  xhr.removeEventListener("abort", handleAbort);
54009
54182
  xhr.removeEventListener("timeout", handleTimeout);
54010
- _optionalChain([signal, 'optionalAccess', _1436 => _1436.removeEventListener, 'call', _1437 => _1437("abort", handleSignalAbort)]);
54183
+ _optionalChain([signal, 'optionalAccess', _1438 => _1438.removeEventListener, 'call', _1439 => _1439("abort", handleSignalAbort)]);
54011
54184
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
54012
54185
  };
54013
54186
  const handleProgress = (event) => {
@@ -54043,7 +54216,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
54043
54216
  const handleSignalAbort = () => {
54044
54217
  xhr.abort();
54045
54218
  };
54046
- _optionalChain([signal, 'optionalAccess', _1438 => _1438.addEventListener, 'call', _1439 => _1439("abort", handleSignalAbort, { once: true })]);
54219
+ _optionalChain([signal, 'optionalAccess', _1440 => _1440.addEventListener, 'call', _1441 => _1441("abort", handleSignalAbort, { once: true })]);
54047
54220
  xhr.upload.addEventListener("progress", handleProgress);
54048
54221
  xhr.addEventListener("load", handleLoad);
54049
54222
  xhr.addEventListener("error", handleError);
@@ -54087,12 +54260,12 @@ function useChatAttachments() {
54087
54260
  try {
54088
54261
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
54089
54262
  } catch (err) {
54090
- if (_optionalChain([ctrl, 'optionalAccess', _1440 => _1440.signal, 'access', _1441 => _1441.aborted])) return;
54263
+ if (_optionalChain([ctrl, 'optionalAccess', _1442 => _1442.signal, 'access', _1443 => _1443.aborted])) return;
54091
54264
  throw new Error(
54092
54265
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
54093
54266
  );
54094
54267
  }
54095
- if (_optionalChain([ctrl, 'optionalAccess', _1442 => _1442.signal, 'access', _1443 => _1443.aborted])) return;
54268
+ if (_optionalChain([ctrl, 'optionalAccess', _1444 => _1444.signal, 'access', _1445 => _1445.aborted])) return;
54096
54269
  if (!sniffed) {
54097
54270
  throw new Error("Unrecognized file format");
54098
54271
  }
@@ -54106,7 +54279,7 @@ function useChatAttachments() {
54106
54279
  const urlResp = await _chunk5RJUHUCIcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
54107
54280
  method: "POST",
54108
54281
  headers: { "Content-Type": "application/json" },
54109
- signal: _optionalChain([ctrl, 'optionalAccess', _1444 => _1444.signal]),
54282
+ signal: _optionalChain([ctrl, 'optionalAccess', _1446 => _1446.signal]),
54110
54283
  body: JSON.stringify({
54111
54284
  fileName: att.file.name,
54112
54285
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -54132,9 +54305,9 @@ function useChatAttachments() {
54132
54305
  (pct) => {
54133
54306
  updateOne(att.id, { progress: pct });
54134
54307
  },
54135
- _optionalChain([ctrl, 'optionalAccess', _1445 => _1445.signal])
54308
+ _optionalChain([ctrl, 'optionalAccess', _1447 => _1447.signal])
54136
54309
  );
54137
- if (_optionalChain([ctrl, 'optionalAccess', _1446 => _1446.signal, 'access', _1447 => _1447.aborted])) return;
54310
+ if (_optionalChain([ctrl, 'optionalAccess', _1448 => _1448.signal, 'access', _1449 => _1449.aborted])) return;
54138
54311
  updateOne(att.id, {
54139
54312
  status: "ready",
54140
54313
  progress: 100,
@@ -54142,7 +54315,7 @@ function useChatAttachments() {
54142
54315
  viewToken: mintData.viewToken
54143
54316
  });
54144
54317
  } catch (err) {
54145
- if (_optionalChain([ctrl, 'optionalAccess', _1448 => _1448.signal, 'access', _1449 => _1449.aborted])) return;
54318
+ if (_optionalChain([ctrl, 'optionalAccess', _1450 => _1450.signal, 'access', _1451 => _1451.aborted])) return;
54146
54319
  const message2 = err instanceof Error ? err.message : String(err);
54147
54320
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
54148
54321
  } finally {
@@ -54329,7 +54502,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
54329
54502
  yield chunk;
54330
54503
  }
54331
54504
  } catch (err) {
54332
- if (_optionalChain([err, 'optionalAccess', _1450 => _1450.name]) === "AbortError" || ctrl.signal.aborted) {
54505
+ if (_optionalChain([err, 'optionalAccess', _1452 => _1452.name]) === "AbortError" || ctrl.signal.aborted) {
54333
54506
  return;
54334
54507
  }
54335
54508
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -54380,7 +54553,7 @@ function useChat({
54380
54553
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
54381
54554
  onMessagesChangeRef.current = onMessagesChange;
54382
54555
  _react.useEffect.call(void 0, () => {
54383
- _optionalChain([onMessagesChangeRef, 'access', _1451 => _1451.current, 'optionalCall', _1452 => _1452(messages)]);
54556
+ _optionalChain([onMessagesChangeRef, 'access', _1453 => _1453.current, 'optionalCall', _1454 => _1454(messages)]);
54384
54557
  }, [messages]);
54385
54558
  const {
54386
54559
  streamMessage,
@@ -54417,7 +54590,7 @@ function useChat({
54417
54590
  name: "You",
54418
54591
  content: text,
54419
54592
  timestamp: /* @__PURE__ */ new Date(),
54420
- ..._optionalChain([options, 'optionalAccess', _1453 => _1453.hidden]) ? { hidden: true } : {}
54593
+ ..._optionalChain([options, 'optionalAccess', _1455 => _1455.hidden]) ? { hidden: true } : {}
54421
54594
  };
54422
54595
  addMessage(userMessage);
54423
54596
  setIsTyping(true);
@@ -54479,7 +54652,7 @@ function useChat({
54479
54652
  currentTextSegment = "";
54480
54653
  }
54481
54654
  const seg = segment;
54482
- const proposalId = _optionalChain([seg, 'access', _1454 => _1454.data, 'optionalAccess', _1455 => _1455.requestId]);
54655
+ const proposalId = _optionalChain([seg, 'access', _1456 => _1456.data, 'optionalAccess', _1457 => _1457.requestId]);
54483
54656
  const updateApprovalMessage = (transform) => {
54484
54657
  setMessages((prev) => {
54485
54658
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -54488,7 +54661,7 @@ function useChat({
54488
54661
  if (!Array.isArray(m.content)) continue;
54489
54662
  const segments = m.content;
54490
54663
  const hasMatch = segments.some(
54491
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1456 => _1456.data, 'optionalAccess', _1457 => _1457.requestId]) === proposalId
54664
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1458 => _1458.data, 'optionalAccess', _1459 => _1459.requestId]) === proposalId
54492
54665
  );
54493
54666
  if (!hasMatch) continue;
54494
54667
  const next = [...prev];
@@ -54530,11 +54703,11 @@ function useChat({
54530
54703
  if (!Array.isArray(m.content)) continue;
54531
54704
  const segments = m.content;
54532
54705
  const hasMatch = segments.some(
54533
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1458 => _1458.data, 'optionalAccess', _1459 => _1459.requestId]) === decision.proposalId
54706
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1460 => _1460.data, 'optionalAccess', _1461 => _1461.requestId]) === decision.proposalId
54534
54707
  );
54535
54708
  if (!hasMatch) continue;
54536
54709
  const flipped = segments.map(
54537
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1460 => _1460.data, 'optionalAccess', _1461 => _1461.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
54710
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1462 => _1462.data, 'optionalAccess', _1463 => _1463.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
54538
54711
  );
54539
54712
  const next = [...prev];
54540
54713
  next[i] = { ...m, content: flipped };
@@ -54662,7 +54835,7 @@ function buildConfirmToolBody(request) {
54662
54835
  async function readServerErrorMessage(response) {
54663
54836
  try {
54664
54837
  const body = await response.json();
54665
- if (typeof _optionalChain([body, 'optionalAccess', _1462 => _1462.error]) === "string" && body.error.length > 0) return body.error;
54838
+ if (typeof _optionalChain([body, 'optionalAccess', _1464 => _1464.error]) === "string" && body.error.length > 0) return body.error;
54666
54839
  } catch (e98) {
54667
54840
  }
54668
54841
  return null;
@@ -54883,7 +55056,7 @@ var STORAGE_KEY2 = "conversation";
54883
55056
  var namespaceFor = (source) => {
54884
55057
  const base = `mingo-chat-${source}`;
54885
55058
  const auth = _chunk5RJUHUCIcjs.getEmbedProxyAuth.call(void 0, );
54886
- return _optionalChain([auth, 'optionalAccess', _1463 => _1463.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
55059
+ return _optionalChain([auth, 'optionalAccess', _1465 => _1465.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
54887
55060
  };
54888
55061
  function createChatConversationStorage(source) {
54889
55062
  return _chunk5RJUHUCIcjs.createLocalStorageAdapter.call(void 0, {
@@ -54945,8 +55118,8 @@ function useChatHistoryHydration({
54945
55118
  );
54946
55119
  if (!res.ok) return;
54947
55120
  const payload = await res.json().catch(() => null);
54948
- const body = _nullishCoalesce(_optionalChain([payload, 'optionalAccess', _1464 => _1464.data]), () => ( payload));
54949
- const rows = Array.isArray(_optionalChain([body, 'optionalAccess', _1465 => _1465.messages])) ? body.messages : [];
55121
+ const body = _nullishCoalesce(_optionalChain([payload, 'optionalAccess', _1466 => _1466.data]), () => ( payload));
55122
+ const rows = Array.isArray(_optionalChain([body, 'optionalAccess', _1467 => _1467.messages])) ? body.messages : [];
54950
55123
  if (cancelled || rows.length === 0) return;
54951
55124
  const hydrated = [];
54952
55125
  const sourcesSeed = /* @__PURE__ */ new Map();
@@ -55034,6 +55207,8 @@ function upsertKey(seg) {
55034
55207
  return `offer:${seg.data.offerId}`;
55035
55208
  case "ticket_escalated":
55036
55209
  return `escalated:${seg.data.ticketId}`;
55210
+ case "ticket_event":
55211
+ return seg.streamSeq !== void 0 ? `ticket-event:${seg.streamSeq}` : null;
55037
55212
  default:
55038
55213
  return null;
55039
55214
  }
@@ -55051,11 +55226,11 @@ function appendToTrailingAssistant(prev, segments) {
55051
55226
  for (const seg of segments) {
55052
55227
  const tail = merged[merged.length - 1];
55053
55228
  const key = upsertKey(seg);
55054
- if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _1466 => _1466.type]) === "text") {
55229
+ if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _1468 => _1468.type]) === "text") {
55055
55230
  merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
55056
- } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _1467 => _1467.type]) === "thinking") {
55231
+ } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _1469 => _1469.type]) === "thinking") {
55057
55232
  merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
55058
- } else if (seg.type === "guide" && _optionalChain([tail, 'optionalAccess', _1468 => _1468.type]) === "guide") {
55233
+ } else if (seg.type === "guide" && _optionalChain([tail, 'optionalAccess', _1470 => _1470.type]) === "guide") {
55059
55234
  merged[merged.length - 1] = { type: "guide", text: tail.text + seg.text };
55060
55235
  } else if (key) {
55061
55236
  const idx = merged.findIndex((m) => upsertKey(m) === key);
@@ -55095,7 +55270,7 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
55095
55270
  }
55096
55271
  if (s.type !== "approval_batch") return s;
55097
55272
  const isAnchor = s.data.approvalRequestId === requestId;
55098
- const hasRow = _optionalChain([s, 'access', _1469 => _1469.data, 'access', _1470 => _1470.toolCalls, 'optionalAccess', _1471 => _1471.some, 'call', _1472 => _1472((c) => c.toolExecutionRequestId === requestId)]);
55273
+ const hasRow = _optionalChain([s, 'access', _1471 => _1471.data, 'access', _1472 => _1472.toolCalls, 'optionalAccess', _1473 => _1473.some, 'call', _1474 => _1474((c) => c.toolExecutionRequestId === requestId)]);
55099
55274
  if (!isAnchor && !hasRow) return s;
55100
55275
  const nextResolvedBy = _nullishCoalesce(resolvedByName, () => ( s.resolvedByName));
55101
55276
  const nextExecutions = hasRow ? {
@@ -55117,8 +55292,8 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
55117
55292
  };
55118
55293
  }
55119
55294
  function nextBatchExecution(prevExec, toolData) {
55120
- if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _1473 => _1473.status]) === "done") return null;
55121
- return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _1474 => _1474.result]), success: _optionalChain([prevExec, 'optionalAccess', _1475 => _1475.success]) };
55295
+ if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _1475 => _1475.status]) === "done") return null;
55296
+ return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _1476 => _1476.result]), success: _optionalChain([prevExec, 'optionalAccess', _1477 => _1477.success]) };
55122
55297
  }
55123
55298
  function withBatchExecution(seg, execId, state) {
55124
55299
  return {
@@ -55135,11 +55310,11 @@ function projectBatchStatusToMessages(prev, anchorId, status) {
55135
55310
  }
55136
55311
  function projectBatchRowFailureToMessages(prev, rowRequestId) {
55137
55312
  return mapSegments(prev, (s) => {
55138
- if (s.type !== "approval_batch" || !_optionalChain([s, 'access', _1476 => _1476.data, 'access', _1477 => _1477.toolCalls, 'optionalAccess', _1478 => _1478.some, 'call', _1479 => _1479((c) => c.toolExecutionRequestId === rowRequestId)])) {
55313
+ if (s.type !== "approval_batch" || !_optionalChain([s, 'access', _1478 => _1478.data, 'access', _1479 => _1479.toolCalls, 'optionalAccess', _1480 => _1480.some, 'call', _1481 => _1481((c) => c.toolExecutionRequestId === rowRequestId)])) {
55139
55314
  return s;
55140
55315
  }
55141
- const existing = _optionalChain([s, 'access', _1480 => _1480.data, 'access', _1481 => _1481.executions, 'optionalAccess', _1482 => _1482[rowRequestId]]);
55142
- if (_optionalChain([existing, 'optionalAccess', _1483 => _1483.status]) === "done") return s;
55316
+ const existing = _optionalChain([s, 'access', _1482 => _1482.data, 'access', _1483 => _1483.executions, 'optionalAccess', _1484 => _1484[rowRequestId]]);
55317
+ if (_optionalChain([existing, 'optionalAccess', _1485 => _1485.status]) === "done") return s;
55143
55318
  return withBatchExecution(s, rowRequestId, { status: "done", success: false });
55144
55319
  });
55145
55320
  }
@@ -55178,7 +55353,7 @@ function mergeToolExecutionIfPresent(prev, segment) {
55178
55353
  for (let j = message2.segments.length - 1; j >= 0; j--) {
55179
55354
  const seg = message2.segments[j];
55180
55355
  if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
55181
- const prevExec = _optionalChain([seg, 'access', _1484 => _1484.data, 'access', _1485 => _1485.executions, 'optionalAccess', _1486 => _1486[execId]]);
55356
+ const prevExec = _optionalChain([seg, 'access', _1486 => _1486.data, 'access', _1487 => _1487.executions, 'optionalAccess', _1488 => _1488[execId]]);
55182
55357
  const nextExec = nextBatchExecution(prevExec, toolData);
55183
55358
  if (nextExec === null) return prev;
55184
55359
  if (sameExecutionState(prevExec, nextExec)) return prev;
@@ -55367,9 +55542,9 @@ var MessageSegmentAccumulator = class {
55367
55542
  type: "tool_execution",
55368
55543
  data: {
55369
55544
  ...toolData,
55370
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1487 => _1487.data, 'access', _1488 => _1488.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1489 => _1489.toolTitle]))),
55371
- toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1490 => _1490.data, 'access', _1491 => _1491.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1492 => _1492.toolExplanation]))),
55372
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1493 => _1493.parameters])
55545
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1489 => _1489.data, 'access', _1490 => _1490.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1491 => _1491.toolTitle]))),
55546
+ toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1492 => _1492.data, 'access', _1493 => _1493.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1494 => _1494.toolExplanation]))),
55547
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1495 => _1495.parameters])
55373
55548
  }
55374
55549
  };
55375
55550
  if (existingIndex !== -1) {
@@ -55393,7 +55568,7 @@ var MessageSegmentAccumulator = class {
55393
55568
  if (seg.type !== "approval_batch") return seg;
55394
55569
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
55395
55570
  if (!hasCall) return seg;
55396
- const prev = _optionalChain([seg, 'access', _1494 => _1494.data, 'access', _1495 => _1495.executions, 'optionalAccess', _1496 => _1496[execId]]);
55571
+ const prev = _optionalChain([seg, 'access', _1496 => _1496.data, 'access', _1497 => _1497.executions, 'optionalAccess', _1498 => _1498[execId]]);
55397
55572
  const next = nextBatchExecution(prev, toolData);
55398
55573
  matched = true;
55399
55574
  if (next === null) return seg;
@@ -55535,8 +55710,8 @@ var MessageSegmentAccumulator = class {
55535
55710
  requestId,
55536
55711
  {
55537
55712
  ...pendingApproval,
55538
- command: _optionalChain([pendingApproval, 'optionalAccess', _1497 => _1497.command]) || "",
55539
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1498 => _1498.approvalType]) || approvalType
55713
+ command: _optionalChain([pendingApproval, 'optionalAccess', _1499 => _1499.command]) || "",
55714
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1500 => _1500.approvalType]) || approvalType
55540
55715
  },
55541
55716
  status
55542
55717
  );
@@ -55561,9 +55736,9 @@ var MessageSegmentAccumulator = class {
55561
55736
  type: "escalation_offer",
55562
55737
  // The resolved chunk carries no text/origin — a redelivered offer must
55563
55738
  // not blank the card the PENDING chunk already painted.
55564
- data: { offerId, text: text || _optionalChain([existing, 'optionalAccess', _1499 => _1499.data, 'access', _1500 => _1500.text]) || "", origin: _nullishCoalesce(origin, () => ( _optionalChain([existing, 'optionalAccess', _1501 => _1501.data, 'access', _1502 => _1502.origin]))) },
55739
+ data: { offerId, text: text || _optionalChain([existing, 'optionalAccess', _1501 => _1501.data, 'access', _1502 => _1502.text]) || "", origin: _nullishCoalesce(origin, () => ( _optionalChain([existing, 'optionalAccess', _1503 => _1503.data, 'access', _1504 => _1504.origin]))) },
55565
55740
  status,
55566
- resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _1503 => _1503.resolvedByName]))),
55741
+ resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _1505 => _1505.resolvedByName]))),
55567
55742
  onApprove: this.callbacks.onEscalationApprove,
55568
55743
  onReject: this.callbacks.onEscalationReject
55569
55744
  };
@@ -55590,6 +55765,35 @@ var MessageSegmentAccumulator = class {
55590
55765
  this.segments.push(segment);
55591
55766
  return this.getSegments();
55592
55767
  }
55768
+ /**
55769
+ * Add a ticket lifecycle receipt (resolved / reopened / unknown kind).
55770
+ *
55771
+ * Upsert identity is the chunk's stream sequence when BOTH sides know it;
55772
+ * otherwise full payload equality. History-hydrated segments come back
55773
+ * seq-less (the persisted row's seq lives on the message, not the
55774
+ * `messageData`), so a JetStream catch-up redelivery of the same event must
55775
+ * still match its hydrated twin — payload equality is what catches that.
55776
+ * Two genuinely distinct events (resolve → reopen → resolve) differ in seq
55777
+ * or payload and both render.
55778
+ */
55779
+ addTicketEvent(data, streamSeq) {
55780
+ const segment = {
55781
+ type: "ticket_event",
55782
+ data,
55783
+ ...streamSeq !== void 0 ? { streamSeq } : {}
55784
+ };
55785
+ const existingIndex = this.segments.findIndex((s) => {
55786
+ if (s.type !== "ticket_event") return false;
55787
+ if (s.streamSeq !== void 0 && streamSeq !== void 0) return s.streamSeq === streamSeq;
55788
+ return s.data.kind === data.kind && s.data.actorId === data.actorId && s.data.actorName === data.actorName && s.data.actorType === data.actorType && s.data.reason === data.reason;
55789
+ });
55790
+ if (existingIndex !== -1) {
55791
+ this.segments[existingIndex] = segment;
55792
+ return this.getSegments();
55793
+ }
55794
+ this.segments.push(segment);
55795
+ return this.getSegments();
55796
+ }
55593
55797
  /**
55594
55798
  * Update status of an existing approval segment (single, batch, or
55595
55799
  * escalation offer).
@@ -55713,6 +55917,9 @@ var MessageSegmentAccumulator = class {
55713
55917
  case "ticket_escalated":
55714
55918
  this.addTicketEscalated(segment.data);
55715
55919
  break;
55920
+ case "ticket_event":
55921
+ this.addTicketEvent(segment.data, segment.streamSeq);
55922
+ break;
55716
55923
  case "error":
55717
55924
  this.addError(segment.title, segment.details);
55718
55925
  break;
@@ -55747,7 +55954,7 @@ function createMessageSegmentAccumulator(callbacks) {
55747
55954
  // src/chat-protocol/events.ts
55748
55955
  var GUIDE_ORIGIN = "guide";
55749
55956
  function isGuideOrigin(source) {
55750
- return _optionalChain([source, 'optionalAccess', _1504 => _1504.origin]) === GUIDE_ORIGIN;
55957
+ return _optionalChain([source, 'optionalAccess', _1506 => _1506.origin]) === GUIDE_ORIGIN;
55751
55958
  }
55752
55959
  var ESCALATION_STATE = {
55753
55960
  PENDING: "PENDING",
@@ -55870,7 +56077,7 @@ function createChatStreamReducer(options = {}) {
55870
56077
  let stateCache = null;
55871
56078
  function invalidate() {
55872
56079
  stateCache = null;
55873
- _optionalChain([onChange, 'optionalCall', _1505 => _1505()]);
56080
+ _optionalChain([onChange, 'optionalCall', _1507 => _1507()]);
55874
56081
  }
55875
56082
  function getState() {
55876
56083
  if (!stateCache) {
@@ -55887,7 +56094,7 @@ function createChatStreamReducer(options = {}) {
55887
56094
  return stateCache;
55888
56095
  }
55889
56096
  function emit(name, ...args) {
55890
- _optionalChain([onEffect, 'optionalCall', _1506 => _1506({ name, args })]);
56097
+ _optionalChain([onEffect, 'optionalCall', _1508 => _1508({ name, args })]);
55891
56098
  }
55892
56099
  function setMessagesInternal(next) {
55893
56100
  if (next !== messages) {
@@ -55918,12 +56125,12 @@ function createChatStreamReducer(options = {}) {
55918
56125
  return [...next.slice(0, -1), { ...last, streamSeq: seq }];
55919
56126
  }
55920
56127
  function applySegmentsToState(segments, meta) {
55921
- const seq = _optionalChain([meta, 'optionalAccess', _1507 => _1507.streamSeq]);
55922
- if (_optionalChain([meta, 'optionalAccess', _1508 => _1508.append]) && meta.isCompacting) {
56128
+ const seq = _optionalChain([meta, 'optionalAccess', _1509 => _1509.streamSeq]);
56129
+ if (_optionalChain([meta, 'optionalAccess', _1510 => _1510.append]) && meta.isCompacting) {
55923
56130
  setMessagesInternal(stampTrailingAssistantSeq(upsertTrailingCompaction(messages, segments), seq));
55924
56131
  return;
55925
56132
  }
55926
- if (_optionalChain([meta, 'optionalAccess', _1509 => _1509.append])) {
56133
+ if (_optionalChain([meta, 'optionalAccess', _1511 => _1511.append])) {
55927
56134
  setMessagesInternal(stampTrailingAssistantSeq(appendToTrailingAssistant(messages, segments), seq));
55928
56135
  return;
55929
56136
  }
@@ -55935,7 +56142,7 @@ function createChatStreamReducer(options = {}) {
55935
56142
  adoptTrailingAssistant = false;
55936
56143
  const last = messages[messages.length - 1];
55937
56144
  if (!last || last.role !== "assistant" || adoptTail) return;
55938
- const hasContent2 = (_nullishCoalesce(_optionalChain([last, 'access', _1510 => _1510.segments, 'optionalAccess', _1511 => _1511.length]), () => ( 0))) > 0 || last.content !== "";
56145
+ const hasContent2 = (_nullishCoalesce(_optionalChain([last, 'access', _1512 => _1512.segments, 'optionalAccess', _1513 => _1513.length]), () => ( 0))) > 0 || last.content !== "";
55939
56146
  if (!hasContent2) return;
55940
56147
  setMessagesInternal([
55941
56148
  ...messages,
@@ -56163,13 +56370,13 @@ function createChatStreamReducer(options = {}) {
56163
56370
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
56164
56371
  pendingEscalated.set(requestId, {
56165
56372
  command: summary,
56166
- explanation: _optionalChain([required, 'optionalAccess', _1512 => _1512.toolExplanation]),
56373
+ explanation: _optionalChain([required, 'optionalAccess', _1514 => _1514.toolExplanation]),
56167
56374
  approvalType,
56168
56375
  toolCalls
56169
56376
  });
56170
56377
  emit("onEscalatedApproval", requestId, {
56171
56378
  command: summary,
56172
- explanation: _optionalChain([required, 'optionalAccess', _1513 => _1513.toolExplanation]),
56379
+ explanation: _optionalChain([required, 'optionalAccess', _1515 => _1515.toolExplanation]),
56173
56380
  approvalType
56174
56381
  });
56175
56382
  break;
@@ -56339,11 +56546,26 @@ function createChatStreamReducer(options = {}) {
56339
56546
  applyAccumulated(before, segments);
56340
56547
  break;
56341
56548
  }
56549
+ case "ticket-event": {
56550
+ const before = accumulator.getSegments().length;
56551
+ const segments = accumulator.addTicketEvent(
56552
+ {
56553
+ kind: event.kind,
56554
+ actorId: event.actorId,
56555
+ actorName: event.actorName,
56556
+ actorType: event.actorType,
56557
+ reason: event.reason
56558
+ },
56559
+ seq
56560
+ );
56561
+ applyAccumulated(before, segments);
56562
+ break;
56563
+ }
56342
56564
  case "error": {
56343
56565
  let message2;
56344
56566
  if (event.details) {
56345
56567
  try {
56346
- message2 = _optionalChain([JSON, 'access', _1514 => _1514.parse, 'call', _1515 => _1515(event.details), 'optionalAccess', _1516 => _1516.error, 'optionalAccess', _1517 => _1517.message]);
56568
+ message2 = _optionalChain([JSON, 'access', _1516 => _1516.parse, 'call', _1517 => _1517(event.details), 'optionalAccess', _1518 => _1518.error, 'optionalAccess', _1519 => _1519.message]);
56347
56569
  } catch (e103) {
56348
56570
  message2 = event.details;
56349
56571
  }
@@ -56560,7 +56782,7 @@ function createChatStreamReducer(options = {}) {
56560
56782
  const resolveBatch = (status, confirm) => async () => {
56561
56783
  setMessagesInternal(projectBatchStatusToMessages(messages, anchorId, status));
56562
56784
  for (const id of ids) {
56563
- const ok = await _optionalChain([confirm, 'optionalCall', _1518 => _1518(id)]);
56785
+ const ok = await _optionalChain([confirm, 'optionalCall', _1520 => _1520(id)]);
56564
56786
  if (ok === false) {
56565
56787
  setMessagesInternal(projectBatchRowFailureToMessages(messages, id));
56566
56788
  }
@@ -56703,8 +56925,8 @@ function createChatStreamReducer(options = {}) {
56703
56925
  }
56704
56926
  }
56705
56927
  }
56706
- hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _1519 => _1519.resumed]), () => ( messages.length > 0)));
56707
- if (_optionalChain([extras, 'optionalAccess', _1520 => _1520.agentBusy])) agentBusyState();
56928
+ hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _1521 => _1521.resumed]), () => ( messages.length > 0)));
56929
+ if (_optionalChain([extras, 'optionalAccess', _1522 => _1522.agentBusy])) agentBusyState();
56708
56930
  invalidate();
56709
56931
  }
56710
56932
  return {
@@ -56789,7 +57011,7 @@ function createChatStreamReducer(options = {}) {
56789
57011
  },
56790
57012
  endSseTurn() {
56791
57013
  const last = messages[messages.length - 1];
56792
- if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _1521 => _1521.segments, 'optionalAccess', _1522 => _1522.length]), () => ( 0))) === 0 && last.content === "") {
57014
+ if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _1523 => _1523.segments, 'optionalAccess', _1524 => _1524.length]), () => ( 0))) === 0 && last.content === "") {
56793
57015
  messages = messages.slice(0, -1);
56794
57016
  }
56795
57017
  sseCurrentText = "";
@@ -56943,10 +57165,10 @@ function createChatDialogStore(options = {}) {
56943
57165
  if (onEvict) {
56944
57166
  const sep = key.indexOf(KEY_SEP);
56945
57167
  onEvict(key.slice(0, sep), key.slice(sep + 1), {
56946
- messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1523 => _1523.state, 'access', _1524 => _1524.messages]), () => ( EMPTY_STATE.messages)),
56947
- approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1525 => _1525.state, 'access', _1526 => _1526.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
56948
- lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1527 => _1527.getLastAppliedSeq, 'call', _1528 => _1528()]), () => ( Number.NEGATIVE_INFINITY)),
56949
- pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1529 => _1529.getPendingEchoes, 'call', _1530 => _1530()]), () => ( EMPTY_PENDING_ECHOES))
57168
+ messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1525 => _1525.state, 'access', _1526 => _1526.messages]), () => ( EMPTY_STATE.messages)),
57169
+ approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1527 => _1527.state, 'access', _1528 => _1528.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
57170
+ lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1529 => _1529.getLastAppliedSeq, 'call', _1530 => _1530()]), () => ( Number.NEGATIVE_INFINITY)),
57171
+ pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1531 => _1531.getPendingEchoes, 'call', _1532 => _1532()]), () => ( EMPTY_PENDING_ECHOES))
56950
57172
  });
56951
57173
  }
56952
57174
  }
@@ -56956,12 +57178,12 @@ function createChatDialogStore(options = {}) {
56956
57178
  const key = keyOf(dialogId, side);
56957
57179
  let reducer2 = reducers.get(key);
56958
57180
  if (!reducer2) {
56959
- const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _1531 => _1531(dialogId, side)]), () => ( {}));
57181
+ const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _1533 => _1533(dialogId, side)]), () => ( {}));
56960
57182
  const userOnChange = base.onChange;
56961
57183
  reducer2 = createChatStreamReducer({
56962
57184
  ...base,
56963
57185
  onChange: () => {
56964
- _optionalChain([userOnChange, 'optionalCall', _1532 => _1532()]);
57186
+ _optionalChain([userOnChange, 'optionalCall', _1534 => _1534()]);
56965
57187
  notify();
56966
57188
  }
56967
57189
  });
@@ -57006,7 +57228,7 @@ function createChatDialogStore(options = {}) {
57006
57228
  };
57007
57229
  }
57008
57230
  function getSnapshot(dialogId, side = DEFAULT_DIALOG_SIDE) {
57009
- return _nullishCoalesce(_optionalChain([reducers, 'access', _1533 => _1533.get, 'call', _1534 => _1534(keyOf(dialogId, side)), 'optionalAccess', _1535 => _1535.state]), () => ( EMPTY_STATE));
57231
+ return _nullishCoalesce(_optionalChain([reducers, 'access', _1535 => _1535.get, 'call', _1536 => _1536(keyOf(dialogId, side)), 'optionalAccess', _1537 => _1537.state]), () => ( EMPTY_STATE));
57010
57232
  }
57011
57233
  function getServerSnapshot() {
57012
57234
  return EMPTY_STATE;
@@ -57098,7 +57320,7 @@ function createDeltaBatcher({
57098
57320
  pending = [];
57099
57321
  const key = pendingKey;
57100
57322
  for (const delta of batch) applyOne(delta, key);
57101
- _optionalChain([onFlushed, 'optionalCall', _1536 => _1536(batch.length)]);
57323
+ _optionalChain([onFlushed, 'optionalCall', _1538 => _1538(batch.length)]);
57102
57324
  }
57103
57325
  function schedule() {
57104
57326
  if (raf !== null || timer !== null) return;
@@ -57122,7 +57344,7 @@ function createDeltaBatcher({
57122
57344
  }
57123
57345
  if (!isDeltaEvent(event)) return false;
57124
57346
  const tail = pending[pending.length - 1];
57125
- const seqAdvances = _optionalChain([tail, 'optionalAccess', _1537 => _1537.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
57347
+ const seqAdvances = _optionalChain([tail, 'optionalAccess', _1539 => _1539.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
57126
57348
  if (tail && seqAdvances && tail.type === event.type && (tail.type !== "text-delta" || tail.leading === event.leading)) {
57127
57349
  pending[pending.length - 1] = {
57128
57350
  ...tail,
@@ -57155,7 +57377,7 @@ function useChatStreamReducer({
57155
57377
  }) {
57156
57378
  const optionsRef = _react.useRef.call(void 0, createReducerOptions);
57157
57379
  optionsRef.current = createReducerOptions;
57158
- const reducer2 = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([optionsRef, 'access', _1538 => _1538.current, 'optionalCall', _1539 => _1539()]), () => ( {})));
57380
+ const reducer2 = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([optionsRef, 'access', _1540 => _1540.current, 'optionalCall', _1541 => _1541()]), () => ( {})));
57159
57381
  const getSnapshot = _react.useCallback.call(void 0, () => store.getSnapshot(dialogId, side), [store, dialogId, side]);
57160
57382
  const getServerSnapshot = _react.useCallback.call(void 0, () => store.getServerSnapshot(), [store]);
57161
57383
  const subscribe = _react.useCallback.call(void 0, (listener) => store.subscribe(listener), [store]);
@@ -57215,7 +57437,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
57215
57437
  const { active = true } = runtimeOptions;
57216
57438
  const runtime = _chunk7OPWSWEJcjs.useRequiredChatRuntime.call(void 0, );
57217
57439
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
57218
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1540 => _1540.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
57440
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1542 => _1542.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
57219
57441
  const sendMessageRef = _react.useRef.call(void 0, async () => true);
57220
57442
  const cardResolve = _react.useCallback.call(void 0,
57221
57443
  (action) => (reqId) => {
@@ -57250,7 +57472,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
57250
57472
  if (!restoredConversationRef.current) {
57251
57473
  restoredConversationRef.current = true;
57252
57474
  pruneStaleChatConversationStorage(source);
57253
- conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _1541 => _1541.load, 'call', _1542 => _1542(), 'optionalAccess', _1543 => _1543.conversationId]), () => ( null));
57475
+ conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _1543 => _1543.load, 'call', _1544 => _1544(), 'optionalAccess', _1545 => _1545.conversationId]), () => ( null));
57254
57476
  }
57255
57477
  const commandsUrl = runtime.endpoints.commandsUrl;
57256
57478
  const { commands: slashCommands } = useSlashCommandRegistry(commandsUrl, {
@@ -57357,7 +57579,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
57357
57579
  const serverMessage = await readServerErrorMessage(response);
57358
57580
  throw new Error(_nullishCoalesce(serverMessage, () => ( `Chat request failed: ${response.status}`)));
57359
57581
  }
57360
- const reader = _optionalChain([response, 'access', _1544 => _1544.body, 'optionalAccess', _1545 => _1545.getReader, 'call', _1546 => _1546()]);
57582
+ const reader = _optionalChain([response, 'access', _1546 => _1546.body, 'optionalAccess', _1547 => _1547.getReader, 'call', _1548 => _1548()]);
57361
57583
  if (!reader) throw new Error("No response body");
57362
57584
  const frameDecoder = createSseFrameDecoder();
57363
57585
  let finished = false;
@@ -57380,7 +57602,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
57380
57602
  }
57381
57603
  return true;
57382
57604
  } catch (err) {
57383
- if (_optionalChain([err, 'optionalAccess', _1547 => _1547.name]) === "AbortError" || ctrl.signal.aborted) {
57605
+ if (_optionalChain([err, 'optionalAccess', _1549 => _1549.name]) === "AbortError" || ctrl.signal.aborted) {
57384
57606
  return true;
57385
57607
  }
57386
57608
  flushDeltas();
@@ -57402,7 +57624,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
57402
57624
  );
57403
57625
  sendMessageRef.current = sendMessage;
57404
57626
  const stopMessage = _react.useCallback.call(void 0, () => {
57405
- _optionalChain([abortControllerRef, 'access', _1548 => _1548.current, 'optionalAccess', _1549 => _1549.abort, 'call', _1550 => _1550()]);
57627
+ _optionalChain([abortControllerRef, 'access', _1550 => _1550.current, 'optionalAccess', _1551 => _1551.abort, 'call', _1552 => _1552()]);
57406
57628
  flushDeltas();
57407
57629
  mutate((r) => r.setPhase("idle"));
57408
57630
  }, [mutate, flushDeltas]);
@@ -57418,7 +57640,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
57418
57640
  let sendIdx = -1;
57419
57641
  return state.messages.map((m) => {
57420
57642
  const segments = m.segments;
57421
- const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _1551 => _1551.filter, 'call', _1552 => _1552((s) => s.type === "text"), 'access', _1553 => _1553.map, 'call', _1554 => _1554((s) => s.text), 'access', _1555 => _1555.join, 'call', _1556 => _1556("")]), () => ( ""));
57643
+ const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _1553 => _1553.filter, 'call', _1554 => _1554((s) => s.type === "text"), 'access', _1555 => _1555.map, 'call', _1556 => _1556((s) => s.text), 'access', _1557 => _1557.join, 'call', _1558 => _1558("")]), () => ( ""));
57422
57644
  let sources;
57423
57645
  let scrollAnchor;
57424
57646
  if (m.role === "user" && !m.hidden) {
@@ -57427,7 +57649,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
57427
57649
  if (m.role === "assistant") {
57428
57650
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
57429
57651
  sources = sourcesMap.get(lookupIdx);
57430
- scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _1557 => _1557.get, 'call', _1558 => _1558(lookupIdx), 'optionalAccess', _1559 => _1559.scrollAnchor]), () => ( void 0));
57652
+ scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _1559 => _1559.get, 'call', _1560 => _1560(lookupIdx), 'optionalAccess', _1561 => _1561.scrollAnchor]), () => ( void 0));
57431
57653
  }
57432
57654
  return {
57433
57655
  id: m.id,
@@ -57456,7 +57678,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
57456
57678
  );
57457
57679
  return;
57458
57680
  }
57459
- const refSlug = typeof _optionalChain([reference, 'access', _1560 => _1560.metadata, 'optionalAccess', _1561 => _1561.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
57681
+ const refSlug = typeof _optionalChain([reference, 'access', _1562 => _1562.metadata, 'optionalAccess', _1563 => _1563.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
57460
57682
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
57461
57683
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
57462
57684
  const text = `/${cmdId} display "${escaped}"`;
@@ -57506,18 +57728,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
57506
57728
  /** True while the mount-time rebuild from the server transcript runs. */
57507
57729
  isHydratingHistory,
57508
57730
  /** Provider key for the lib's `<ModelDisplay>` icon. */
57509
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1562 => _1562.provider]), () => ( null)),
57510
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1563 => _1563.modelLabel]), () => ( null)),
57511
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1564 => _1564.contextWindowMaxTokens]), () => ( null)),
57731
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1564 => _1564.provider]), () => ( null)),
57732
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1565 => _1565.modelLabel]), () => ( null)),
57733
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1566 => _1566.contextWindowMaxTokens]), () => ( null)),
57512
57734
  /** Input tokens (known after server's message_start frame; null until). */
57513
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1565 => _1565.inputTokens]), () => ( null)),
57735
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1567 => _1567.inputTokens]), () => ( null)),
57514
57736
  /** Output tokens (known only after server's trailing usage frame). */
57515
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1566 => _1566.outputTokens]), () => ( null)),
57737
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1568 => _1568.outputTokens]), () => ( null)),
57516
57738
  /** Cache hit % (read / total-input × 100). null during streaming. */
57517
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1567 => _1567.cacheHitRatePct]), () => ( null)),
57739
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1569 => _1569.cacheHitRatePct]), () => ( null)),
57518
57740
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
57519
57741
  * token counts). null until the trailing usage frame lands. */
57520
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1568 => _1568.breakdown]), () => ( null)),
57742
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1570 => _1570.breakdown]), () => ( null)),
57521
57743
  // ─── Dialog management — stubs for v1 ────────────────────────────────
57522
57744
  // Guide mode keeps ONE server-side conversation per stored id
57523
57745
  // (`chat_conversations`, hydrated on mount). Surfacing multiple threads
@@ -57780,6 +58002,20 @@ function decodeNatsChunk(chunk) {
57780
58002
  ...seq
57781
58003
  };
57782
58004
  }
58005
+ case MESSAGE_TYPE.TICKET_EVENT: {
58006
+ const kind = typeof data.kind === "string" ? data.kind.trim() : "";
58007
+ if (!kind) return null;
58008
+ const eventSeq = seq.seq !== void 0 ? seq : typeof data.sequenceId === "number" ? { seq: data.sequenceId } : {};
58009
+ return {
58010
+ type: "ticket-event",
58011
+ kind,
58012
+ actorId: typeof data.actorId === "string" ? data.actorId : void 0,
58013
+ actorName: typeof data.actorName === "string" ? data.actorName : void 0,
58014
+ actorType: typeof data.actorType === "string" ? data.actorType : void 0,
58015
+ reason: typeof data.reason === "string" && data.reason.trim() ? data.reason : void 0,
58016
+ ...eventSeq
58017
+ };
58018
+ }
57783
58019
  case MESSAGE_TYPE.ERROR:
57784
58020
  return {
57785
58021
  type: "error",
@@ -57797,7 +58033,7 @@ function decodeNatsChunk(chunk) {
57797
58033
  userId: typeof data.userId === "string" ? data.userId : void 0,
57798
58034
  // Wire shape carries no label; fall back to the id (parity with
57799
58035
  // the history path in `process-historical-messages.ts`).
57800
- contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1569 => _1569.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1570 => _1570.id]) === "string").map((it) => ({
58036
+ contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1571 => _1571.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1572 => _1572.id]) === "string").map((it) => ({
57801
58037
  type: it.type,
57802
58038
  id: it.id,
57803
58039
  label: it.id
@@ -57849,15 +58085,15 @@ function decodeNatsChunk(chunk) {
57849
58085
 
57850
58086
  // src/components/chat/utils/process-historical-messages.ts
57851
58087
  function getOwnerDisplayName(owner) {
57852
- if (_optionalChain([owner, 'optionalAccess', _1571 => _1571.type]) === OWNER_TYPE.ADMIN && owner.user) {
58088
+ if (_optionalChain([owner, 'optionalAccess', _1573 => _1573.type]) === OWNER_TYPE.ADMIN && owner.user) {
57853
58089
  const { firstName, lastName } = owner.user;
57854
58090
  const name = [firstName, lastName].filter(Boolean).join(" ");
57855
58091
  if (name) return name;
57856
58092
  }
57857
- return _optionalChain([owner, 'optionalAccess', _1572 => _1572.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
58093
+ return _optionalChain([owner, 'optionalAccess', _1574 => _1574.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
57858
58094
  }
57859
58095
  function getOwnerAvatar(owner) {
57860
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1573 => _1573.user, 'optionalAccess', _1574 => _1574.image, 'optionalAccess', _1575 => _1575.imageUrl]), () => ( void 0));
58096
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1575 => _1575.user, 'optionalAccess', _1576 => _1576.image, 'optionalAccess', _1577 => _1577.imageUrl]), () => ( void 0));
57861
58097
  }
57862
58098
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
57863
58099
  messageDataArray.forEach((data) => {
@@ -58005,6 +58241,22 @@ function decodeHistoricalMessageData(data) {
58005
58241
  };
58006
58242
  }
58007
58243
  return null;
58244
+ // Same completeness gate as the live decoder: `kind` (an OPEN string —
58245
+ // unknown kinds render as a neutral line) is the only required field.
58246
+ // Field names match the chunk, so ONE mapping covers both paths; the
58247
+ // typeof gates also fold the row's GraphQL nulls to undefined.
58248
+ case MESSAGE_TYPE.TICKET_EVENT: {
58249
+ const kind = "kind" in data && typeof data.kind === "string" ? data.kind.trim() : "";
58250
+ if (!kind) return null;
58251
+ return {
58252
+ type: "ticket-event",
58253
+ kind,
58254
+ actorId: typeof data.actorId === "string" ? data.actorId : void 0,
58255
+ actorName: typeof data.actorName === "string" ? data.actorName : void 0,
58256
+ actorType: typeof data.actorType === "string" ? data.actorType : void 0,
58257
+ reason: typeof data.reason === "string" && data.reason.trim() ? data.reason : void 0
58258
+ };
58259
+ }
58008
58260
  case MESSAGE_TYPE.ERROR:
58009
58261
  if ("error" in data) {
58010
58262
  return {
@@ -58039,7 +58291,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
58039
58291
  event.offerId,
58040
58292
  event.text,
58041
58293
  event.origin,
58042
- _nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _1576 => _1576[event.offerId]]), () => ( "pending"))
58294
+ _nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _1578 => _1578[event.offerId]]), () => ( "pending"))
58043
58295
  );
58044
58296
  break;
58045
58297
  case "ticket-escalated":
@@ -58050,8 +58302,21 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
58050
58302
  text: event.text
58051
58303
  });
58052
58304
  break;
58305
+ // Seq-less on purpose: the persisted row's sequence lives on the message
58306
+ // (`lastChunkStreamSeq`), not in `messageData`. A live redelivery of the
58307
+ // same event matches this segment by payload equality (see
58308
+ // `addTicketEvent`).
58309
+ case "ticket-event":
58310
+ accumulator.addTicketEvent({
58311
+ kind: event.kind,
58312
+ actorId: event.actorId,
58313
+ actorName: event.actorName,
58314
+ actorType: event.actorType,
58315
+ reason: event.reason
58316
+ });
58317
+ break;
58053
58318
  case "escalation-offer-resolved":
58054
- _optionalChain([offerResolutions, 'optionalAccess', _1577 => _1577.set, 'call', _1578 => _1578(event.offerId, {
58319
+ _optionalChain([offerResolutions, 'optionalAccess', _1579 => _1579.set, 'call', _1580 => _1580(event.offerId, {
58055
58320
  status: event.status,
58056
58321
  resolvedByName: event.resolvedByName
58057
58322
  })]);
@@ -58129,7 +58394,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
58129
58394
  }
58130
58395
  }
58131
58396
  } else {
58132
- _optionalChain([escalatedApprovals, 'optionalAccess', _1579 => _1579.set, 'call', _1580 => _1580(event.requestId, {
58397
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1581 => _1581.set, 'call', _1582 => _1582(event.requestId, {
58133
58398
  command: event.command || "",
58134
58399
  explanation: event.explanation,
58135
58400
  approvalType,
@@ -58144,8 +58409,8 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
58144
58409
  const existingStatus = approvalStatuses[requestId];
58145
58410
  const status = existingStatus || event.status;
58146
58411
  const resolvedByName = event.resolvedByName;
58147
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1581 => _1581.get, 'call', _1582 => _1582(requestId)]);
58148
- if (_optionalChain([escalatedData, 'optionalAccess', _1583 => _1583.toolCalls]) && escalatedData.toolCalls.length > 0) {
58412
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1583 => _1583.get, 'call', _1584 => _1584(requestId)]);
58413
+ if (_optionalChain([escalatedData, 'optionalAccess', _1585 => _1585.toolCalls]) && escalatedData.toolCalls.length > 0) {
58149
58414
  if (batchApprovalsEnabled) {
58150
58415
  accumulator.addApprovalBatch(
58151
58416
  requestId,
@@ -58167,7 +58432,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
58167
58432
  );
58168
58433
  }
58169
58434
  }
58170
- _optionalChain([escalatedApprovals, 'optionalAccess', _1584 => _1584.delete, 'call', _1585 => _1585(requestId)]);
58435
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1586 => _1586.delete, 'call', _1587 => _1587(requestId)]);
58171
58436
  break;
58172
58437
  }
58173
58438
  if (escalatedData) {
@@ -58176,7 +58441,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
58176
58441
  explanation: escalatedData.explanation,
58177
58442
  approvalType: escalatedData.approvalType
58178
58443
  });
58179
- _optionalChain([escalatedApprovals, 'optionalAccess', _1586 => _1586.delete, 'call', _1587 => _1587(requestId)]);
58444
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1588 => _1588.delete, 'call', _1589 => _1589(requestId)]);
58180
58445
  }
58181
58446
  const before = accumulator.getSegments();
58182
58447
  const after = accumulator.updateApprovalStatus(requestId, status, resolvedByName);
@@ -58193,7 +58458,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
58193
58458
  let message2;
58194
58459
  if (event.details) {
58195
58460
  try {
58196
- message2 = _optionalChain([JSON, 'access', _1588 => _1588.parse, 'call', _1589 => _1589(event.details), 'optionalAccess', _1590 => _1590.error, 'optionalAccess', _1591 => _1591.message]);
58461
+ message2 = _optionalChain([JSON, 'access', _1590 => _1590.parse, 'call', _1591 => _1591(event.details), 'optionalAccess', _1592 => _1592.error, 'optionalAccess', _1593 => _1593.message]);
58197
58462
  } catch (e104) {
58198
58463
  message2 = event.details;
58199
58464
  }
@@ -58279,14 +58544,14 @@ function processHistoricalMessages(messages, options = {}) {
58279
58544
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
58280
58545
  return;
58281
58546
  }
58282
- const isUserMessage = _optionalChain([msg, 'access', _1592 => _1592.owner, 'optionalAccess', _1593 => _1593.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1594 => _1594.owner, 'optionalAccess', _1595 => _1595.type]) === OWNER_TYPE.ADMIN;
58547
+ const isUserMessage = _optionalChain([msg, 'access', _1594 => _1594.owner, 'optionalAccess', _1595 => _1595.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1596 => _1596.owner, 'optionalAccess', _1597 => _1597.type]) === OWNER_TYPE.ADMIN;
58283
58548
  if (isUserMessage) {
58284
58549
  flushAssistantMessage();
58285
- const userAuthorType = _optionalChain([msg, 'access', _1596 => _1596.owner, 'optionalAccess', _1597 => _1597.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
58550
+ const userAuthorType = _optionalChain([msg, 'access', _1598 => _1598.owner, 'optionalAccess', _1599 => _1599.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
58286
58551
  messageDataArray.forEach((data) => {
58287
58552
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
58288
58553
  const rawContext = data.contextItems;
58289
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1598 => _1598.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1599 => _1599.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
58554
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1600 => _1600.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1601 => _1601.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
58290
58555
  processedMessages.push({
58291
58556
  id: msg.id,
58292
58557
  role: "user",
@@ -58323,7 +58588,7 @@ function processHistoricalMessages(messages, options = {}) {
58323
58588
  });
58324
58589
  const nextMsg = messages[index + 1];
58325
58590
  const isLastMessage = index === messages.length - 1;
58326
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1600 => _1600.owner, 'optionalAccess', _1601 => _1601.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1602 => _1602.owner, 'optionalAccess', _1603 => _1603.type]) === OWNER_TYPE.ADMIN);
58591
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1602 => _1602.owner, 'optionalAccess', _1603 => _1603.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1604 => _1604.owner, 'optionalAccess', _1605 => _1605.type]) === OWNER_TYPE.ADMIN);
58327
58592
  if (isLastMessage || nextIsFromUser) {
58328
58593
  flushAssistantMessage();
58329
58594
  }
@@ -58435,7 +58700,7 @@ function extractIncompleteMessageState(lastMessage) {
58435
58700
  break;
58436
58701
  case "approval_batch": {
58437
58702
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
58438
- (c) => _optionalChain([segment, 'access', _1604 => _1604.data, 'access', _1605 => _1605.executions, 'optionalAccess', _1606 => _1606[c.toolExecutionRequestId], 'optionalAccess', _1607 => _1607.status]) === "done"
58703
+ (c) => _optionalChain([segment, 'access', _1606 => _1606.data, 'access', _1607 => _1607.executions, 'optionalAccess', _1608 => _1608[c.toolExecutionRequestId], 'optionalAccess', _1609 => _1609.status]) === "done"
58439
58704
  );
58440
58705
  if (segment.status !== "rejected" && !allDone) {
58441
58706
  hasIncompleteState = true;
@@ -58471,11 +58736,11 @@ function extractIncompleteMessageState(lastMessage) {
58471
58736
  function extractIncompleteTailState(messages) {
58472
58737
  if (!messages || messages.length === 0) return void 0;
58473
58738
  let start = messages.length;
58474
- while (start > 0 && _optionalChain([messages, 'access', _1608 => _1608[start - 1], 'optionalAccess', _1609 => _1609.role]) === "assistant") start -= 1;
58739
+ while (start > 0 && _optionalChain([messages, 'access', _1610 => _1610[start - 1], 'optionalAccess', _1611 => _1611.role]) === "assistant") start -= 1;
58475
58740
  if (start === messages.length) return void 0;
58476
58741
  const segments = [];
58477
58742
  for (let i = start; i < messages.length; i += 1) {
58478
- const content = _optionalChain([messages, 'access', _1610 => _1610[i], 'optionalAccess', _1611 => _1611.content]);
58743
+ const content = _optionalChain([messages, 'access', _1612 => _1612[i], 'optionalAccess', _1613 => _1613.content]);
58479
58744
  if (Array.isArray(content)) segments.push(...content);
58480
58745
  }
58481
58746
  if (segments.length === 0) return void 0;
@@ -58829,7 +59094,7 @@ function useNatsChatAdapter(config, options = {}) {
58829
59094
  }, [active, fetchDialogs, loadDialogsPage]);
58830
59095
  const sendMessage = _react.useCallback.call(void 0,
58831
59096
  async (text, sendOptions) => {
58832
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1612 => _1612.hidden]), () => ( false));
59097
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1614 => _1614.hidden]), () => ( false));
58833
59098
  mutate((r) => r.pushOptimisticSend(text, hidden));
58834
59099
  await publishUserMessage(text, { hidden, dialogId });
58835
59100
  },
@@ -58985,11 +59250,11 @@ function useNatsChatAdapter(config, options = {}) {
58985
59250
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
58986
59251
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
58987
59252
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
58988
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1613 => _1613.provider]), () => ( modelProvider)), () => ( null)),
58989
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1614 => _1614.modelLabel]), () => ( modelLabel)), () => ( null)),
58990
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1615 => _1615.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1616 => _1616.contextWindowMaxTokens]))), () => ( null)),
58991
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1617 => _1617.inputTokensSize]), () => ( null)),
58992
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1618 => _1618.outputTokensSize]), () => ( null)),
59253
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1615 => _1615.provider]), () => ( modelProvider)), () => ( null)),
59254
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1616 => _1616.modelLabel]), () => ( modelLabel)), () => ( null)),
59255
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1617 => _1617.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1618 => _1618.contextWindowMaxTokens]))), () => ( null)),
59256
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1619 => _1619.inputTokensSize]), () => ( null)),
59257
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1620 => _1620.outputTokensSize]), () => ( null)),
58993
59258
  currentCacheHitRatePct: null,
58994
59259
  currentUsageBreakdown: null,
58995
59260
  // Dialog management
@@ -59126,7 +59391,7 @@ function useUnifiedChat(options) {
59126
59391
  []
59127
59392
  );
59128
59393
  const setDialogScope = _react.useCallback.call(void 0,
59129
- (scope) => _optionalChain([activeStateRef, 'access', _1619 => _1619.current, 'access', _1620 => _1620.setDialogScope, 'optionalCall', _1621 => _1621(scope)]),
59394
+ (scope) => _optionalChain([activeStateRef, 'access', _1621 => _1621.current, 'access', _1622 => _1622.setDialogScope, 'optionalCall', _1623 => _1623(scope)]),
59130
59395
  []
59131
59396
  );
59132
59397
  const reloadDialogs = _react.useCallback.call(void 0,
@@ -59230,19 +59495,19 @@ function turnRequestKeys(content) {
59230
59495
  if (!Array.isArray(content)) return keys;
59231
59496
  for (const seg of content) {
59232
59497
  if (seg.type === "tool_execution") {
59233
- const id = _optionalChain([seg, 'access', _1622 => _1622.data, 'optionalAccess', _1623 => _1623.toolExecutionRequestId]);
59498
+ const id = _optionalChain([seg, 'access', _1624 => _1624.data, 'optionalAccess', _1625 => _1625.toolExecutionRequestId]);
59234
59499
  if (id) keys.add(id);
59235
59500
  } else if (seg.type === "approval_request") {
59236
- const id = _optionalChain([seg, 'access', _1624 => _1624.data, 'optionalAccess', _1625 => _1625.requestId]);
59501
+ const id = _optionalChain([seg, 'access', _1626 => _1626.data, 'optionalAccess', _1627 => _1627.requestId]);
59237
59502
  if (id) keys.add(id);
59238
59503
  } else if (seg.type === "escalation_offer") {
59239
- const id = _optionalChain([seg, 'access', _1626 => _1626.data, 'optionalAccess', _1627 => _1627.offerId]);
59504
+ const id = _optionalChain([seg, 'access', _1628 => _1628.data, 'optionalAccess', _1629 => _1629.offerId]);
59240
59505
  if (id) keys.add(id);
59241
59506
  } else if (seg.type === "approval_batch") {
59242
59507
  const data = seg.data;
59243
- if (_optionalChain([data, 'optionalAccess', _1628 => _1628.approvalRequestId])) keys.add(data.approvalRequestId);
59244
- for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1629 => _1629.toolCalls]), () => ( []))) {
59245
- if (_optionalChain([call, 'optionalAccess', _1630 => _1630.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
59508
+ if (_optionalChain([data, 'optionalAccess', _1630 => _1630.approvalRequestId])) keys.add(data.approvalRequestId);
59509
+ for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1631 => _1631.toolCalls]), () => ( []))) {
59510
+ if (_optionalChain([call, 'optionalAccess', _1632 => _1632.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
59246
59511
  }
59247
59512
  }
59248
59513
  }
@@ -59294,20 +59559,20 @@ function mergeHistoryWithRealtime(input) {
59294
59559
  }
59295
59560
  }
59296
59561
  const trailing = processedHistory[processedHistory.length - 1];
59297
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1631 => _1631.role]) === "assistant" ? trailing : null;
59298
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1632 => _1632.content, 'access', _1633 => _1633.find, 'call', _1634 => _1634((s) => s.type === "approval_batch"), 'optionalAccess', _1635 => _1635.data, 'optionalAccess', _1636 => _1636.approvalRequestId]), () => ( null)) : null;
59562
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1633 => _1633.role]) === "assistant" ? trailing : null;
59563
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1634 => _1634.content, 'access', _1635 => _1635.find, 'call', _1636 => _1636((s) => s.type === "approval_batch"), 'optionalAccess', _1637 => _1637.data, 'optionalAccess', _1638 => _1638.approvalRequestId]), () => ( null)) : null;
59299
59564
  let processedToUse = processedHistory;
59300
59565
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
59301
59566
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
59302
59567
  if (historyBatchId) {
59303
59568
  const batchTwins = existingMessages.filter(
59304
59569
  (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
59305
- (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1637 => _1637.data, 'optionalAccess', _1638 => _1638.approvalRequestId]) === historyBatchId
59570
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1639 => _1639.data, 'optionalAccess', _1640 => _1640.approvalRequestId]) === historyBatchId
59306
59571
  )
59307
59572
  );
59308
59573
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
59309
59574
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
59310
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1639 => _1639.content])) ? historyTrailingAssistant.content.length : 0;
59575
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1641 => _1641.content])) ? historyTrailingAssistant.content.length : 0;
59311
59576
  const realtimeSize = existingWithSameBatch.content.length;
59312
59577
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
59313
59578
  processedToUse = processedHistory.slice(0, -1);
@@ -59349,9 +59614,9 @@ function mergeHistoryWithRealtime(input) {
59349
59614
  if (pinnedSyntheticIds.has(m.id)) return true;
59350
59615
  if (droppedSyntheticIds.has(m.id)) return false;
59351
59616
  if (processedIds.has(m.id)) return false;
59352
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _1640 => _1640.has, 'call', _1641 => _1641(m.id)])) return false;
59617
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _1642 => _1642.has, 'call', _1643 => _1643(m.id)])) return false;
59353
59618
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
59354
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1642 => _1642.timestamp, 'optionalAccess', _1643 => _1643.getTime, 'call', _1644 => _1644()]), () => ( 0))) <= historyFetchedAt;
59619
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1644 => _1644.timestamp, 'optionalAccess', _1645 => _1645.getTime, 'call', _1646 => _1646()]), () => ( 0))) <= historyFetchedAt;
59355
59620
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
59356
59621
  }
59357
59622
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
@@ -59375,7 +59640,7 @@ function mergeHistoryWithRealtime(input) {
59375
59640
  } else if (typeof m.streamSeq === "number") {
59376
59641
  covered = historyMaxStreamSeq > 0 && historyMaxStreamSeq >= m.streamSeq;
59377
59642
  } else {
59378
- covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1645 => _1645.timestamp, 'optionalAccess', _1646 => _1646.getTime, 'call', _1647 => _1647()]), () => ( 0))) <= historyFetchedAt;
59643
+ covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1647 => _1647.timestamp, 'optionalAccess', _1648 => _1648.getTime, 'call', _1649 => _1649()]), () => ( 0))) <= historyFetchedAt;
59379
59644
  }
59380
59645
  if (covered) return false;
59381
59646
  }
@@ -59431,7 +59696,7 @@ function normalizeHistoricalMessageData(md) {
59431
59696
  function isHistoricalUserTurn(m) {
59432
59697
  return !!m.owner;
59433
59698
  }
59434
- var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _1648 => _1648.type]) === "TEXT" && typeof d.text === "string";
59699
+ var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _1650 => _1650.type]) === "TEXT" && typeof d.text === "string";
59435
59700
  var THINK_MS = 550;
59436
59701
  var TOKEN_MS = 55;
59437
59702
  var USER_MS = 480;
@@ -59520,7 +59785,7 @@ var NODES = [
59520
59785
  ];
59521
59786
  var Primitive = NODES.reduce((primitive, node) => {
59522
59787
  const Slot2 = _reactslot.createSlot.call(void 0, `Primitive.${node}`);
59523
- const Node2 = React150.forwardRef((props, forwardedRef) => {
59788
+ const Node2 = React151.forwardRef((props, forwardedRef) => {
59524
59789
  const { asChild, ...primitiveProps } = props;
59525
59790
  const Comp = asChild ? Slot2 : node;
59526
59791
  if (typeof window !== "undefined") {
@@ -59553,7 +59818,7 @@ var VISUALLY_HIDDEN_STYLES = Object.freeze({
59553
59818
  whiteSpace: "nowrap",
59554
59819
  wordWrap: "normal"
59555
59820
  });
59556
- var VisuallyHidden = /* @__PURE__ */ React151.forwardRef(
59821
+ var VisuallyHidden = /* @__PURE__ */ React152.forwardRef(
59557
59822
  /* @__PURE__ */ __name4(function VisuallyHidden2(props, forwardedRef) {
59558
59823
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
59559
59824
  Primitive.span,
@@ -59678,7 +59943,7 @@ function useChatDialogManager({
59678
59943
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
59679
59944
  if (restoreTarget) {
59680
59945
  try {
59681
- await _optionalChain([unarchiveDialog, 'optionalCall', _1649 => _1649(restoreTarget.id)]);
59946
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1651 => _1651(restoreTarget.id)]);
59682
59947
  } catch (err) {
59683
59948
  console.error("[useChatDialogManager] unarchive failed:", err);
59684
59949
  return;
@@ -60160,7 +60425,7 @@ function EmbeddableChatInner({
60160
60425
  }),
60161
60426
  [commandsUrl]
60162
60427
  );
60163
- const headerUserName = _optionalChain([identityUser, 'optionalAccess', _1650 => _1650.name, 'optionalAccess', _1651 => _1651.trim, 'call', _1652 => _1652()]) || [_optionalChain([identityUser, 'optionalAccess', _1653 => _1653.firstName]), _optionalChain([identityUser, 'optionalAccess', _1654 => _1654.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _1655 => _1655.trim, 'call', _1656 => _1656()]) || void 0;
60428
+ const headerUserName = _optionalChain([identityUser, 'optionalAccess', _1652 => _1652.name, 'optionalAccess', _1653 => _1653.trim, 'call', _1654 => _1654()]) || [_optionalChain([identityUser, 'optionalAccess', _1655 => _1655.firstName]), _optionalChain([identityUser, 'optionalAccess', _1656 => _1656.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _1657 => _1657.trim, 'call', _1658 => _1658()]) || void 0;
60164
60429
  const effectiveModes = _react.useMemo.call(void 0, () => {
60165
60430
  if (modes) return modes;
60166
60431
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -60169,19 +60434,19 @@ function EmbeddableChatInner({
60169
60434
  const mingoCaps = _react.useMemo.call(void 0, () => {
60170
60435
  if (mingoState) {
60171
60436
  return {
60172
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1657 => _1657.canRename]), () => ( false)),
60173
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1658 => _1658.canArchive]), () => ( false)),
60174
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1659 => _1659.fetchArchivedDialogs]),
60175
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1660 => _1660.unarchiveDialog]),
60176
- searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1661 => _1661.searchQuery]),
60177
- onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1662 => _1662.onSearchChange])
60437
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1659 => _1659.canRename]), () => ( false)),
60438
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1660 => _1660.canArchive]), () => ( false)),
60439
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1661 => _1661.fetchArchivedDialogs]),
60440
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1662 => _1662.unarchiveDialog]),
60441
+ searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1663 => _1663.searchQuery]),
60442
+ onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1664 => _1664.onSearchChange])
60178
60443
  };
60179
60444
  }
60180
60445
  return {
60181
- canRename: !!_optionalChain([effectiveModes, 'access', _1663 => _1663.mingo, 'optionalAccess', _1664 => _1664.renameDialog]),
60182
- canArchive: !!_optionalChain([effectiveModes, 'access', _1665 => _1665.mingo, 'optionalAccess', _1666 => _1666.archiveDialog]),
60183
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1667 => _1667.mingo, 'optionalAccess', _1668 => _1668.fetchArchivedDialogs]),
60184
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1669 => _1669.mingo, 'optionalAccess', _1670 => _1670.unarchiveDialog]),
60446
+ canRename: !!_optionalChain([effectiveModes, 'access', _1665 => _1665.mingo, 'optionalAccess', _1666 => _1666.renameDialog]),
60447
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1667 => _1667.mingo, 'optionalAccess', _1668 => _1668.archiveDialog]),
60448
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1669 => _1669.mingo, 'optionalAccess', _1670 => _1670.fetchArchivedDialogs]),
60449
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1671 => _1671.mingo, 'optionalAccess', _1672 => _1672.unarchiveDialog]),
60185
60450
  searchQuery: void 0,
60186
60451
  onSearchChange: void 0
60187
60452
  };
@@ -60195,7 +60460,7 @@ function EmbeddableChatInner({
60195
60460
  if (controlledActiveMode === void 0) {
60196
60461
  setUncontrolledActiveMode(next);
60197
60462
  }
60198
- _optionalChain([onActiveModeChange, 'optionalCall', _1671 => _1671(next)]);
60463
+ _optionalChain([onActiveModeChange, 'optionalCall', _1673 => _1673(next)]);
60199
60464
  },
60200
60465
  [controlledActiveMode, onActiveModeChange]
60201
60466
  );
@@ -60217,7 +60482,7 @@ function EmbeddableChatInner({
60217
60482
  const effectiveQuickActions = emptyStateUrl ? emptyStateConfig.quickActions : [];
60218
60483
  const effectiveAssistantName = emptyStateConfig.name;
60219
60484
  const effectiveAssistantIcon = emptyStateConfig.icon;
60220
- const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1672 => _1672.title]) === "string" ? guideWelcome.title : null)));
60485
+ const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1674 => _1674.title]) === "string" ? guideWelcome.title : null)));
60221
60486
  const {
60222
60487
  messages: rawMessages,
60223
60488
  isLoading: chatLoading,
@@ -60259,7 +60524,7 @@ function EmbeddableChatInner({
60259
60524
  if (activeMode !== "guide" || guidePromptSentRef.current) return;
60260
60525
  guidePromptSentRef.current = true;
60261
60526
  void sendMessage(guidePendingPrompt);
60262
- _optionalChain([onGuidePromptConsumed, 'optionalCall', _1673 => _1673()]);
60527
+ _optionalChain([onGuidePromptConsumed, 'optionalCall', _1675 => _1675()]);
60263
60528
  }, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
60264
60529
  const {
60265
60530
  attachments: stagedAttachments,
@@ -60270,7 +60535,7 @@ function EmbeddableChatInner({
60270
60535
  clear: clearAttachments
60271
60536
  } = useChatAttachments();
60272
60537
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
60273
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1674 => _1674.maxItems]), () => ( 10));
60538
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1676 => _1676.maxItems]), () => ( 10));
60274
60539
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
60275
60540
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
60276
60541
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -60287,10 +60552,10 @@ function EmbeddableChatInner({
60287
60552
  }, [activeDialogId, activeMode]);
60288
60553
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
60289
60554
  const m = /* @__PURE__ */ new Map();
60290
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1675 => _1675.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
60555
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1677 => _1677.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
60291
60556
  return m;
60292
- }, [_optionalChain([contextPicker, 'optionalAccess', _1676 => _1676.entityTypes])]);
60293
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1677 => _1677.entityTypes]);
60557
+ }, [_optionalChain([contextPicker, 'optionalAccess', _1678 => _1678.entityTypes])]);
60558
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1679 => _1679.entityTypes]);
60294
60559
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
60295
60560
  const byType = /* @__PURE__ */ new Map();
60296
60561
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -60302,7 +60567,7 @@ function EmbeddableChatInner({
60302
60567
  if (mentionActiveRef.current) {
60303
60568
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
60304
60569
  if (contextItems.length >= contextMaxItems) return;
60305
- _optionalChain([chatInputRef, 'access', _1678 => _1678.current, 'optionalAccess', _1679 => _1679.commitMention, 'call', _1680 => _1680(mentionTokenOf(key, mentionMarkerByType), {
60570
+ _optionalChain([chatInputRef, 'access', _1680 => _1680.current, 'optionalAccess', _1681 => _1681.commitMention, 'call', _1682 => _1682(mentionTokenOf(key, mentionMarkerByType), {
60306
60571
  label: item.label,
60307
60572
  icon: resolveContextIcon(item)
60308
60573
  })]);
@@ -60324,9 +60589,9 @@ function EmbeddableChatInner({
60324
60589
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
60325
60590
  if (mentionKeysRef.current.has(key)) {
60326
60591
  mentionKeysRef.current.delete(key);
60327
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1681 => _1681.current, 'optionalAccess', _1682 => _1682.getValue, 'call', _1683 => _1683()]), () => ( ""));
60592
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1683 => _1683.current, 'optionalAccess', _1684 => _1684.getValue, 'call', _1685 => _1685()]), () => ( ""));
60328
60593
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
60329
- _optionalChain([chatInputRef, 'access', _1684 => _1684.current, 'optionalAccess', _1685 => _1685.setValue, 'call', _1686 => _1686(next)]);
60594
+ _optionalChain([chatInputRef, 'access', _1686 => _1686.current, 'optionalAccess', _1687 => _1687.setValue, 'call', _1688 => _1688(next)]);
60330
60595
  }
60331
60596
  }, [mentionMarkerByType]);
60332
60597
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -60343,7 +60608,7 @@ function EmbeddableChatInner({
60343
60608
  }, []);
60344
60609
  const closeContextPicker = _react.useCallback.call(void 0, () => {
60345
60610
  if (mentionActiveRef.current) {
60346
- _optionalChain([chatInputRef, 'access', _1687 => _1687.current, 'optionalAccess', _1688 => _1688.removeMentionTrigger, 'call', _1689 => _1689()]);
60611
+ _optionalChain([chatInputRef, 'access', _1689 => _1689.current, 'optionalAccess', _1690 => _1690.removeMentionTrigger, 'call', _1691 => _1691()]);
60347
60612
  }
60348
60613
  setContextPickerOpen(false);
60349
60614
  setMentionQuery(null);
@@ -60377,8 +60642,8 @@ function EmbeddableChatInner({
60377
60642
  [effectiveAssistantIcon]
60378
60643
  );
60379
60644
  const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
60380
- const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1690 => _1690.firstName]), _optionalChain([identityUser, 'optionalAccess', _1691 => _1691.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1692 => _1692.name, 'optionalAccess', _1693 => _1693.trim, 'call', _1694 => _1694()]) || void 0 : void 0;
60381
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1695 => _1695.avatarUrl, 'optionalAccess', _1696 => _1696.trim, 'call', _1697 => _1697()]) || void 0 : void 0;
60645
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1692 => _1692.firstName]), _optionalChain([identityUser, 'optionalAccess', _1693 => _1693.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1694 => _1694.name, 'optionalAccess', _1695 => _1695.trim, 'call', _1696 => _1696()]) || void 0 : void 0;
60646
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1697 => _1697.avatarUrl, 'optionalAccess', _1698 => _1698.trim, 'call', _1699 => _1699()]) || void 0 : void 0;
60382
60647
  const messages = _react.useMemo.call(void 0, () => {
60383
60648
  const cache = timestampCacheRef.current;
60384
60649
  const seenIds = /* @__PURE__ */ new Set();
@@ -60569,9 +60834,9 @@ function EmbeddableChatInner({
60569
60834
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
60570
60835
  const lastSources = _react.useMemo.call(void 0, () => {
60571
60836
  if (chatLoading) return void 0;
60572
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1698 => _1698.sources]);
60837
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1700 => _1700.sources]);
60573
60838
  if (!sources || sources.length === 0) return void 0;
60574
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1699 => _1699.content]) || "";
60839
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1701 => _1701.content]) || "";
60575
60840
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
60576
60841
  (m) => parseInt(m[1], 10)
60577
60842
  );
@@ -60591,7 +60856,7 @@ function EmbeddableChatInner({
60591
60856
  const el = panelMeasureRef.current;
60592
60857
  if (!el || typeof ResizeObserver === "undefined") return;
60593
60858
  const ro = new ResizeObserver((entries) => {
60594
- const w = _optionalChain([entries, 'access', _1700 => _1700[0], 'optionalAccess', _1701 => _1701.contentRect, 'optionalAccess', _1702 => _1702.width]);
60859
+ const w = _optionalChain([entries, 'access', _1702 => _1702[0], 'optionalAccess', _1703 => _1703.contentRect, 'optionalAccess', _1704 => _1704.width]);
60595
60860
  if (typeof w === "number") setPanelWidth(w);
60596
60861
  });
60597
60862
  ro.observe(el);
@@ -60634,16 +60899,16 @@ function EmbeddableChatInner({
60634
60899
  const isMingoMode = activeMode === "mingo";
60635
60900
  const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen;
60636
60901
  const headerShowBack = hasConversation || guideCanReturnToMingo;
60637
- const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1703 => _1703.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
60902
+ const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1705 => _1705.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
60638
60903
  const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
60639
60904
  const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
60640
60905
  const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
60641
60906
  const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
60642
60907
  const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
60643
60908
  const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
60644
- const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1704 => _1704.owner]) : void 0;
60645
- const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _1705 => _1705.name, 'optionalAccess', _1706 => _1706.trim, 'call', _1707 => _1707()]) || headerUserName;
60646
- const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _1708 => _1708.avatarUrl, 'optionalAccess', _1709 => _1709.trim, 'call', _1710 => _1710()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _1711 => _1711.avatarUrl, 'optionalAccess', _1712 => _1712.trim, 'call', _1713 => _1713()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _1714 => _1714.trim, 'call', _1715 => _1715()]) || void 0;
60909
+ const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1706 => _1706.owner]) : void 0;
60910
+ const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _1707 => _1707.name, 'optionalAccess', _1708 => _1708.trim, 'call', _1709 => _1709()]) || headerUserName;
60911
+ const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _1710 => _1710.avatarUrl, 'optionalAccess', _1711 => _1711.trim, 'call', _1712 => _1712()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _1713 => _1713.avatarUrl, 'optionalAccess', _1714 => _1714.trim, 'call', _1715 => _1715()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _1716 => _1716.trim, 'call', _1717 => _1717()]) || void 0;
60647
60912
  const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
60648
60913
  const handleNewChat = _react.useCallback.call(void 0, () => {
60649
60914
  resetToNewChat();
@@ -61004,9 +61269,9 @@ function EmbeddableChatInner({
61004
61269
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
61005
61270
  subtitleLoading: emptyStateLoading,
61006
61271
  ...guideWelcome,
61007
- title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1716 => _1716.title]))),
61008
- icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1717 => _1717.icon]))),
61009
- quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1718 => _1718.quickActions]), () => ( guideSuggestedActions)),
61272
+ title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1718 => _1718.title]))),
61273
+ icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1719 => _1719.icon]))),
61274
+ quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1720 => _1720.quickActions]), () => ( guideSuggestedActions)),
61010
61275
  onQuickAction: (action) => {
61011
61276
  setQuickActionPreview(null);
61012
61277
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
@@ -61086,8 +61351,8 @@ function EmbeddableChatInner({
61086
61351
  selectedContextItems: contextItems,
61087
61352
  onToggleContextItem: toggleContextItem,
61088
61353
  onRemoveContextItem: removeContextItem,
61089
- contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _1719 => _1719.items]),
61090
- onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _1720 => _1720.onRemove]),
61354
+ contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _1721 => _1721.items]),
61355
+ onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _1722 => _1722.onRemove]),
61091
61356
  contextPickerOpen,
61092
61357
  onOpenContextPicker: openContextPicker,
61093
61358
  onCloseContextPicker: closeContextPicker,
@@ -62276,5 +62541,11 @@ function EmbeddableChatInner({
62276
62541
 
62277
62542
 
62278
62543
 
62279
- exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.FloatingTooltip = FloatingTooltip; exports.TruncateText = TruncateText; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.InfoHint = InfoHint; exports.Field = Field; exports.HoneypotField = HoneypotField; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.JsonDetailList = JsonDetailList; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.DeletedUserAvatar = DeletedUserAvatar; exports.SearchableSelect = SearchableSelect; exports.formatDate = formatDate2; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.titleCaseFromSlug = titleCaseFromSlug; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.AssigneeDropdown = AssigneeDropdown; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.useConfirm = useConfirm; exports.useGuardedClose = useGuardedClose; exports.UnsavedChangesChip = UnsavedChangesChip; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.SAFE_HTML_TAGS = SAFE_HTML_TAGS; exports.SVG_TAGS = SVG_TAGS; exports.buildEffectiveTagSet = buildEffectiveTagSet; exports.buildSanitizeSchema = buildSanitizeSchema; exports.rehypeStripUnsafe = rehypeStripUnsafe; exports.escapeUnknownHtmlTags = escapeUnknownHtmlTags; exports.cardAwareUrlTransform = cardAwareUrlTransform; exports.TEXT_SIZE_PRESETS = TEXT_SIZE_PRESETS; exports.resolveTextSizeConfig = resolveTextSizeConfig; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.buildHeadingIdMap = buildHeadingIdMap; exports.useHeadingIdMap = useHeadingIdMap; exports.extractText = extractText; exports.MermaidDiagram = MermaidDiagram; exports.splitStreamingBlocks = splitStreamingBlocks; exports.completeStreamingTail = completeStreamingTail; exports.MarkdownEngine = MarkdownEngine; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.fetchPriorityProp = fetchPriorityProp; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.saveDataEnabled = saveDataEnabled; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.statusBadgeVariants = statusBadgeVariants; exports.genBadgeBgOpacity = genBadgeBgOpacity; exports.generationTierFromLabel = generationTierFromLabel; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.EscalationOfferMessage = EscalationOfferMessage; exports.TicketEscalatedMessage = TicketEscalatedMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; exports.GuideDisplay = GuideDisplay; exports.AskDisplay = AskDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.useMarqueeSync = useMarqueeSync; exports.getMarqueeTrackOffset = getMarqueeTrackOffset; exports.getMarqueeAppliedOffset = getMarqueeAppliedOffset; exports.getMarqueeCloneTwin = getMarqueeCloneTwin; exports.MarqueeWallFades = MarqueeWallFades; exports.MarqueeWall = MarqueeWall; exports.WALL_SKELETON_LABEL_CH = WALL_SKELETON_LABEL_CH; exports.interleave = interleave; exports.QuickActionWall = QuickActionWall; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.ChatContextMemoryBar = ChatContextMemoryBar; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.useCoverImageFallback = useCoverImageFallback; exports.hideOnError = hideOnError; exports.EntityPortraitCard = EntityPortraitCard; exports.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; exports.CardHitLayer = CardHitLayer; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.DEFAULT_VIDEO_BITES_TITLE = DEFAULT_VIDEO_BITES_TITLE; exports.toStripProfile = toStripProfile; exports.sortBitesByCreatedAtDesc = sortBitesByCreatedAtDesc; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.UserDisplay = UserDisplay; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.AvatarStack = AvatarStack; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.programItemToStripProfile = programItemToStripProfile; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.readFetchedCardTitle = readFetchedCardTitle; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.clickupTaskUrl = clickupTaskUrl; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; exports.RESYNC_AFTER_HIDDEN_MS = RESYNC_AFTER_HIDDEN_MS; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.buildDiscussPrompt = buildDiscussPrompt; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.isGuideApproval = isGuideApproval; exports.guideApprovalOrigin = guideApprovalOrigin; exports.approvalDisplaysInline = approvalDisplaysInline; exports.isGuideApprovalSegment = isGuideApprovalSegment; exports.createEmptyTurnMeta = createEmptyTurnMeta; exports.createChatStreamReducer = createChatStreamReducer; exports.DEFAULT_DIALOG_SIDE = DEFAULT_DIALOG_SIDE; exports.DEFAULT_MAX_REDUCERS = DEFAULT_MAX_REDUCERS; exports.MAX_PENDING_RETAIN_KEYS = MAX_PENDING_RETAIN_KEYS; exports.createChatDialogStore = createChatDialogStore; exports.createDeltaBatcher = createDeltaBatcher; exports.useChatStreamReducer = useChatStreamReducer; exports.useSseChatAdapter = useSseChatAdapter; exports.decodeHistoricalMessageData = decodeHistoricalMessageData; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.extractIncompleteTailState = extractIncompleteTailState; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.flattenAssistantContent = flattenAssistantContent; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.EmbeddableChat = EmbeddableChat; exports.BackButton = BackButton; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM; exports.withWalkthroughOpenParam = withWalkthroughOpenParam; exports.createSseSubscription = createSseSubscription; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.extractSections = extractSections; exports.SCHEDULING_SLUG_SHAPE = SCHEDULING_SLUG_SHAPE; exports.MAX_MONTH_OFFSET = MAX_MONTH_OFFSET; exports.isValidSchedulingSlug = isValidSchedulingSlug; exports.parseSchedulingLinkName = parseSchedulingLinkName; exports.isListedSchedulingName = isListedSchedulingName; exports.schedulingAudienceKey = schedulingAudienceKey; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCardBody = TicketCardBody; exports.TicketCardView = TicketCardView; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.TakeOverTicketModal = TakeOverTicketModal; exports.FilterPillRow = FilterPillRow; exports.MingoAiButton = MingoAiButton; exports.MOBILE_NAV_PANEL_ID = MOBILE_NAV_PANEL_ID; exports.MobileNavPanel = MobileNavPanel; exports.useOptionalTicketLive = useOptionalTicketLive; exports.useTicketLive = useTicketLive; exports.TicketLiveProvider = TicketLiveProvider; exports.isOptimistic = isOptimistic; exports.TICKET_TEXT_MAX_CHARS = TICKET_TEXT_MAX_CHARS; exports.TICKET_MARK_READ_DEBOUNCE_MS = TICKET_MARK_READ_DEBOUNCE_MS; exports.TOAST_COPY = TOAST_COPY; exports.TicketAlertsButton = TicketAlertsButton; exports.TopNavigation = TopNavigation; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NAVIGATION_SIDEBAR_WIDTH_VAR = NAVIGATION_SIDEBAR_WIDTH_VAR; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
62280
- //# sourceMappingURL=chunk-YMPRMZDD.cjs.map
62544
+
62545
+
62546
+
62547
+
62548
+
62549
+
62550
+ exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.FloatingTooltip = FloatingTooltip; exports.TruncateText = TruncateText; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.InfoHint = InfoHint; exports.Field = Field; exports.HoneypotField = HoneypotField; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.JsonDetailList = JsonDetailList; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.DeletedUserAvatar = DeletedUserAvatar; exports.SearchableSelect = SearchableSelect; exports.formatDate = formatDate2; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.titleCaseFromSlug = titleCaseFromSlug; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.AssigneeDropdown = AssigneeDropdown; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.useConfirm = useConfirm; exports.useGuardedClose = useGuardedClose; exports.UnsavedChangesChip = UnsavedChangesChip; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.SAFE_HTML_TAGS = SAFE_HTML_TAGS; exports.SVG_TAGS = SVG_TAGS; exports.buildEffectiveTagSet = buildEffectiveTagSet; exports.buildSanitizeSchema = buildSanitizeSchema; exports.rehypeStripUnsafe = rehypeStripUnsafe; exports.escapeUnknownHtmlTags = escapeUnknownHtmlTags; exports.cardAwareUrlTransform = cardAwareUrlTransform; exports.TEXT_SIZE_PRESETS = TEXT_SIZE_PRESETS; exports.resolveTextSizeConfig = resolveTextSizeConfig; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.buildHeadingIdMap = buildHeadingIdMap; exports.useHeadingIdMap = useHeadingIdMap; exports.extractText = extractText; exports.MermaidDiagram = MermaidDiagram; exports.splitStreamingBlocks = splitStreamingBlocks; exports.completeStreamingTail = completeStreamingTail; exports.MarkdownEngine = MarkdownEngine; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.fetchPriorityProp = fetchPriorityProp; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.saveDataEnabled = saveDataEnabled; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.statusBadgeVariants = statusBadgeVariants; exports.genBadgeBgOpacity = genBadgeBgOpacity; exports.generationTierFromLabel = generationTierFromLabel; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.EscalationOfferMessage = EscalationOfferMessage; exports.AiAssistantInfo = AiAssistantInfo; exports.TicketEscalatedMessage = TicketEscalatedMessage; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.TICKET_EVENT_KIND = TICKET_EVENT_KIND; exports.TicketEventMessage = TicketEventMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; exports.GuideDisplay = GuideDisplay; exports.AskDisplay = AskDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.useMarqueeSync = useMarqueeSync; exports.getMarqueeTrackOffset = getMarqueeTrackOffset; exports.getMarqueeAppliedOffset = getMarqueeAppliedOffset; exports.getMarqueeCloneTwin = getMarqueeCloneTwin; exports.MarqueeWallFades = MarqueeWallFades; exports.MarqueeWall = MarqueeWall; exports.WALL_SKELETON_LABEL_CH = WALL_SKELETON_LABEL_CH; exports.interleave = interleave; exports.QuickActionWall = QuickActionWall; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.ChatContextMemoryBar = ChatContextMemoryBar; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.useCoverImageFallback = useCoverImageFallback; exports.hideOnError = hideOnError; exports.EntityPortraitCard = EntityPortraitCard; exports.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; exports.CardHitLayer = CardHitLayer; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.DEFAULT_VIDEO_BITES_TITLE = DEFAULT_VIDEO_BITES_TITLE; exports.toStripProfile = toStripProfile; exports.sortBitesByCreatedAtDesc = sortBitesByCreatedAtDesc; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.UserDisplay = UserDisplay; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.AvatarStack = AvatarStack; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.programItemToStripProfile = programItemToStripProfile; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.readFetchedCardTitle = readFetchedCardTitle; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.clickupTaskUrl = clickupTaskUrl; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; exports.RESYNC_AFTER_HIDDEN_MS = RESYNC_AFTER_HIDDEN_MS; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.buildDiscussPrompt = buildDiscussPrompt; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.isGuideApproval = isGuideApproval; exports.guideApprovalOrigin = guideApprovalOrigin; exports.approvalDisplaysInline = approvalDisplaysInline; exports.isGuideApprovalSegment = isGuideApprovalSegment; exports.createEmptyTurnMeta = createEmptyTurnMeta; exports.createChatStreamReducer = createChatStreamReducer; exports.DEFAULT_DIALOG_SIDE = DEFAULT_DIALOG_SIDE; exports.DEFAULT_MAX_REDUCERS = DEFAULT_MAX_REDUCERS; exports.MAX_PENDING_RETAIN_KEYS = MAX_PENDING_RETAIN_KEYS; exports.createChatDialogStore = createChatDialogStore; exports.createDeltaBatcher = createDeltaBatcher; exports.useChatStreamReducer = useChatStreamReducer; exports.useSseChatAdapter = useSseChatAdapter; exports.decodeHistoricalMessageData = decodeHistoricalMessageData; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.extractIncompleteTailState = extractIncompleteTailState; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.flattenAssistantContent = flattenAssistantContent; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.EmbeddableChat = EmbeddableChat; exports.BackButton = BackButton; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM; exports.withWalkthroughOpenParam = withWalkthroughOpenParam; exports.createSseSubscription = createSseSubscription; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.extractSections = extractSections; exports.SCHEDULING_SLUG_SHAPE = SCHEDULING_SLUG_SHAPE; exports.MAX_MONTH_OFFSET = MAX_MONTH_OFFSET; exports.isValidSchedulingSlug = isValidSchedulingSlug; exports.parseSchedulingLinkName = parseSchedulingLinkName; exports.isListedSchedulingName = isListedSchedulingName; exports.schedulingAudienceKey = schedulingAudienceKey; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCardBody = TicketCardBody; exports.TicketCardView = TicketCardView; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.renderTicketStatusOption = renderTicketStatusOption; exports.renderTicketAssigneeOption = renderTicketAssigneeOption; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.FilterPillRow = FilterPillRow; exports.MingoAiButton = MingoAiButton; exports.MOBILE_NAV_PANEL_ID = MOBILE_NAV_PANEL_ID; exports.MobileNavPanel = MobileNavPanel; exports.useOptionalTicketLive = useOptionalTicketLive; exports.useTicketLive = useTicketLive; exports.TicketLiveProvider = TicketLiveProvider; exports.isOptimistic = isOptimistic; exports.TICKET_TEXT_MAX_CHARS = TICKET_TEXT_MAX_CHARS; exports.TICKET_MARK_READ_DEBOUNCE_MS = TICKET_MARK_READ_DEBOUNCE_MS; exports.TOAST_COPY = TOAST_COPY; exports.TicketAlertsButton = TicketAlertsButton; exports.TopNavigation = TopNavigation; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NAVIGATION_SIDEBAR_WIDTH_VAR = NAVIGATION_SIDEBAR_WIDTH_VAR; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
62551
+ //# sourceMappingURL=chunk-QQ3HUSDJ.cjs.map