@flamingo-stack/openframe-frontend-core 0.0.716 → 0.0.718

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 (113) hide show
  1. package/dist/chat-protocol/index.cjs +23 -14
  2. package/dist/chat-protocol/index.js +23 -14
  3. package/dist/chat-protocol/nats-decoder.d.ts.map +1 -1
  4. package/dist/chat-protocol/source-metadata.d.ts +11 -2
  5. package/dist/chat-protocol/source-metadata.d.ts.map +1 -1
  6. package/dist/{chunk-DPX6244M.js → chunk-45F7PXUI.js} +3 -3
  7. package/dist/{chunk-KYFNFRSV.js → chunk-67QBMN4R.js} +2 -2
  8. package/dist/{chunk-3RKBJT6K.cjs → chunk-6A43ZDWV.cjs} +2 -2
  9. package/dist/chunk-A6P6DHEZ.cjs +130 -0
  10. package/dist/{chunk-KNOZVVCU.cjs → chunk-BOTM373R.cjs} +9 -9
  11. package/dist/{chunk-DHMO5GI4.cjs → chunk-BWIN42ZA.cjs} +21 -21
  12. package/dist/{chunk-YTMV4OBY.js → chunk-DCD5WZUF.js} +4 -4
  13. package/dist/{chunk-V36WGIYR.js → chunk-DEZDMTBM.js} +5 -5
  14. package/dist/{chunk-YO5JB3WE.cjs → chunk-DXCBOZVT.cjs} +35 -35
  15. package/dist/{chunk-ZX7SCPLO.cjs → chunk-E7YCPY7K.cjs} +3 -3
  16. package/dist/{chunk-I5F2OTFE.cjs → chunk-EZC2F5OT.cjs} +33 -33
  17. package/dist/{chunk-DLEO53NX.cjs → chunk-GN4A7PMB.cjs} +69 -69
  18. package/dist/{chunk-6T3BTD6Q.js → chunk-IWCPXJEE.js} +201 -327
  19. package/dist/{chunk-ROBQ5TR7.js → chunk-JH2SIWPQ.js} +28 -17
  20. package/dist/{chunk-3AJIQPFG.js → chunk-JIWMBIVZ.js} +6 -6
  21. package/dist/{chunk-DDWFCWOE.js → chunk-JPD4NXH6.js} +1 -1
  22. package/dist/{chunk-JVCAK4W3.cjs → chunk-LE5WKGJV.cjs} +3 -3
  23. package/dist/{chunk-NPAQSMRY.js → chunk-LOYPRJWA.js} +1053 -357
  24. package/dist/{chunk-5IJXM3RU.cjs → chunk-MIQLUUVF.cjs} +10 -10
  25. package/dist/{chunk-MXPQMQI3.js → chunk-MM7MCIXL.js} +6 -6
  26. package/dist/{chunk-C5AGSZBT.js → chunk-N2PF5CFX.js} +4837 -5425
  27. package/dist/{chunk-STCJYO2Z.cjs → chunk-NDZ5ZXOQ.cjs} +11 -11
  28. package/dist/{chunk-H5R7U2D2.js → chunk-NZ5BHDFZ.js} +1 -1
  29. package/dist/{chunk-JCA5MBVY.js → chunk-PQ6HBLZ7.js} +4 -4
  30. package/dist/{chunk-EOKSKJSS.cjs → chunk-QBCDSTLE.cjs} +13 -13
  31. package/dist/{chunk-NQWJAOHO.js → chunk-QXZCLQNV.js} +1 -1
  32. package/dist/{chunk-2V7D5GJX.cjs → chunk-S2FUFMLW.cjs} +25 -25
  33. package/dist/{chunk-64F6OEEV.js → chunk-SGFTTJKO.js} +1 -1
  34. package/dist/{chunk-P7IL4CX3.js → chunk-TBCZCRQ5.js} +6 -6
  35. package/dist/{chunk-HETQETPV.cjs → chunk-UWQWMGJ7.cjs} +28 -17
  36. package/dist/{chunk-X2MNNV5H.cjs → chunk-WALCXC7J.cjs} +3 -3
  37. package/dist/{chunk-YBS5QGON.js → chunk-XGHGGBM3.js} +2 -2
  38. package/dist/{chunk-NKILEG3Y.cjs → chunk-YC5COB5V.cjs} +45 -45
  39. package/dist/{chunk-BVZ7W4HW.js → chunk-YEMCCYIF.js} +4 -4
  40. package/dist/chunk-YYYVS7CX.js +130 -0
  41. package/dist/{chunk-S2VWQX6T.cjs → chunk-Z3CVSPO3.cjs} +842 -1430
  42. package/dist/{chunk-PPXR22YC.cjs → chunk-Z5UWW3Z2.cjs} +707 -11
  43. package/dist/{chunk-JO5TLJPM.cjs → chunk-ZXCZYMN4.cjs} +37 -163
  44. package/dist/{cloud-tenants-2J7CPTKT.cjs → cloud-tenants-PFDF7O5U.cjs} +6 -5
  45. package/dist/{cloud-tenants-YOY2WLGC.js → cloud-tenants-TAKOWXLD.js} +5 -4
  46. package/dist/components/case-studies/index.cjs +17 -16
  47. package/dist/components/case-studies/index.js +6 -5
  48. package/dist/components/chat/index.cjs +2 -2
  49. package/dist/components/chat/index.js +1 -1
  50. package/dist/components/chat/types/message.types.d.ts +20 -16
  51. package/dist/components/chat/types/message.types.d.ts.map +1 -1
  52. package/dist/components/chat/types/unified-chat-state.types.d.ts +1 -1
  53. package/dist/components/chat/utils/process-historical-messages.d.ts.map +1 -1
  54. package/dist/components/contact/index.cjs +7 -6
  55. package/dist/components/contact/index.js +6 -5
  56. package/dist/components/docs/index.cjs +10 -9
  57. package/dist/components/docs/index.js +9 -8
  58. package/dist/components/embeds/index.cjs +7 -6
  59. package/dist/components/embeds/index.js +6 -5
  60. package/dist/components/faq/index.cjs +7 -6
  61. package/dist/components/faq/index.js +6 -5
  62. package/dist/components/features/index.cjs +10 -5
  63. package/dist/components/features/index.js +9 -4
  64. package/dist/components/features/remote-session/index.d.ts +2 -0
  65. package/dist/components/features/remote-session/index.d.ts.map +1 -1
  66. package/dist/components/features/remote-session/remote-session-keep-modals.d.ts +3 -3
  67. package/dist/components/features/remote-session/remote-session-keep-modals.d.ts.map +1 -1
  68. package/dist/components/features/remote-session/remote-session-ticket-modals.d.ts +29 -0
  69. package/dist/components/features/remote-session/remote-session-ticket-modals.d.ts.map +1 -0
  70. package/dist/components/help-center-pages/index.cjs +71 -70
  71. package/dist/components/help-center-pages/index.js +17 -16
  72. package/dist/components/index.cjs +44 -39
  73. package/dist/components/index.js +22 -17
  74. package/dist/components/meeting-scheduler/index.cjs +33 -32
  75. package/dist/components/meeting-scheduler/index.js +5 -4
  76. package/dist/components/navigation/index.cjs +9 -8
  77. package/dist/components/navigation/index.js +8 -7
  78. package/dist/components/onboarding-guides/index.cjs +9 -8
  79. package/dist/components/onboarding-guides/index.js +8 -7
  80. package/dist/components/product-demo/index.cjs +7 -7
  81. package/dist/components/product-demo/index.js +7 -7
  82. package/dist/components/tickets/index.cjs +10 -9
  83. package/dist/components/tickets/index.js +9 -8
  84. package/dist/components/ui/autocomplete.d.ts +6 -0
  85. package/dist/components/ui/autocomplete.d.ts.map +1 -1
  86. package/dist/components/ui/index.cjs +8 -7
  87. package/dist/components/ui/index.js +7 -6
  88. package/dist/{devices-5NADSKDZ.cjs → devices-KRCGZMGA.cjs} +7 -6
  89. package/dist/{devices-EQXXILXW.js → devices-LHEX7O5T.js} +5 -4
  90. package/dist/hooks/index.cjs +6 -4
  91. package/dist/hooks/index.js +5 -3
  92. package/dist/index.cjs +17 -11
  93. package/dist/index.js +18 -12
  94. package/dist/{knowledge-LHQYZJE7.cjs → knowledge-KLVPVEYZ.cjs} +7 -6
  95. package/dist/{knowledge-YCQITBJB.js → knowledge-RZSFNR33.js} +5 -4
  96. package/dist/{logs-LZNXGOSW.js → logs-E5DOV5JO.js} +5 -4
  97. package/dist/{logs-DUVKSQU3.cjs → logs-OX3XTVL2.cjs} +14 -13
  98. package/dist/{policies-5H74FS4S.cjs → policies-FOSCIZGK.cjs} +10 -9
  99. package/dist/{policies-VYWOJ7IF.js → policies-MC2S4S5G.js} +5 -4
  100. package/dist/{remote-session-R6VAFESR.cjs → remote-session-DRFE5XZE.cjs} +4 -3
  101. package/dist/{remote-session-GSGZOFDX.js → remote-session-JQ2BPIE3.js} +2 -1
  102. package/dist/{software-update-MSDY3OLX.js → software-update-D4OEIH65.js} +7 -5
  103. package/dist/{software-update-VRRX5U4W.cjs → software-update-HOBSTWVO.cjs} +12 -10
  104. package/package.json +1 -1
  105. package/src/chat-protocol/nats-decoder.ts +10 -8
  106. package/src/chat-protocol/source-metadata.ts +25 -2
  107. package/src/components/chat/types/message.types.ts +21 -15
  108. package/src/components/chat/types/unified-chat-state.types.ts +1 -1
  109. package/src/components/chat/utils/process-historical-messages.ts +12 -4
  110. package/src/components/features/remote-session/index.ts +2 -0
  111. package/src/components/features/remote-session/remote-session-keep-modals.tsx +4 -4
  112. package/src/components/features/remote-session/remote-session-ticket-modals.tsx +140 -0
  113. package/src/components/ui/autocomplete.tsx +18 -4
@@ -537,15 +537,13 @@ var MESSAGE_TYPE = {
537
537
  TEXT: "TEXT",
538
538
  THINKING: "THINKING",
539
539
  ASK: "ASK",
540
- /** Per-answer source metadata (documents, videos, entity cards).
540
+ /** Per-answer attachments (cited documents, videos, entity cards).
541
541
  *
542
- * TWO names for ONE payload, on purpose. `SOURCES` is the contract the
543
- * backend is moving to; `GUIDE` is the envelope it ships in today, reused
544
- * from Guide Mode v2 so a released frontend keeps working during the v2→v3
545
- * rollout. Both decode through the same path, so dropping `GUIDE` later is a
546
- * deletion here and nothing else. */
542
+ * `ATTACHMENTS` carries `sources` / `videos` / `cards` on the record itself.
543
+ * `GUIDE` is the envelope it replaced — the same arrays under `payload` —
544
+ * and stays only until every backend ships `ATTACHMENTS`. */
545
+ ATTACHMENTS: "ATTACHMENTS",
547
546
  GUIDE: "GUIDE",
548
- SOURCES: "SOURCES",
549
547
  EXECUTING_TOOL: "EXECUTING_TOOL",
550
548
  EXECUTED_TOOL: "EXECUTED_TOOL",
551
549
  APPROVAL_REQUEST: "APPROVAL_REQUEST",
@@ -18243,6 +18241,16 @@ function sourceMetadataEvent(payload) {
18243
18241
  ...refs.length > 0 ? { refs } : {}
18244
18242
  };
18245
18243
  }
18244
+ function withoutNulls(value) {
18245
+ if (Array.isArray(value)) return value.map(withoutNulls);
18246
+ if (!isRecord(value)) return value;
18247
+ return Object.fromEntries(
18248
+ Object.entries(value).filter(([, field]) => field !== null).map(([key, field]) => [key, withoutNulls(field)])
18249
+ );
18250
+ }
18251
+ function attachmentsEvent(record) {
18252
+ return sourceMetadataEvent(withoutNulls(record));
18253
+ }
18246
18254
  function mergeSourceMetadata(previous, event) {
18247
18255
  const byIndex = /* @__PURE__ */ new Map();
18248
18256
  for (const source of [...previous?.sources ?? [], ...event.sources ?? []]) {
@@ -21380,13 +21388,14 @@ function decodeNatsChunk(chunk) {
21380
21388
  return { type: "thinking-delta", text: data.text, ...seq };
21381
21389
  }
21382
21390
  return null;
21383
- // Two chunk names, one payload and one decoder. `SOURCES` is the contract
21384
- // the backend is moving to; `GUIDE` is the v2 envelope it ships in during
21385
- // the rollout (see `MESSAGE_TYPE.GUIDE`). The chunk arrives BEFORE or
21386
- // between the answer's text deltas, so the reducer — not this decoder —
21387
- // owns attaching it to the right turn.
21388
- case MESSAGE_TYPE.GUIDE:
21389
- case MESSAGE_TYPE.SOURCES: {
21391
+ // The chunk arrives BEFORE or between the answer's text deltas, so the
21392
+ // reducer — not this decoder — owns attaching it to the right turn.
21393
+ case MESSAGE_TYPE.ATTACHMENTS: {
21394
+ const event = attachmentsEvent(data);
21395
+ return event ? { ...event, ...seq } : null;
21396
+ }
21397
+ // The envelope `ATTACHMENTS` replaced (see `MESSAGE_TYPE.GUIDE`).
21398
+ case MESSAGE_TYPE.GUIDE: {
21390
21399
  const event = sourceMetadataEvent(data.payload);
21391
21400
  return event ? { ...event, ...seq } : null;
21392
21401
  }
@@ -21741,11 +21750,13 @@ function decodeHistoricalMessageData(data) {
21741
21750
  return { type: "thinking-delta", text: data.text };
21742
21751
  }
21743
21752
  return null;
21744
- // Persisted source metadata, through the SAME decoder the live chunk uses
21745
- // (`sourceMetadataEvent`). That shared parse is the whole reason a reloaded
21753
+ // Persisted attachments, through the SAME decoder the live chunk uses
21754
+ // (`attachmentsEvent`). That shared parse is the whole reason a reloaded
21746
21755
  // answer renders identically to the one the reader watched arrive.
21756
+ case MESSAGE_TYPE.ATTACHMENTS:
21757
+ return attachmentsEvent(data);
21758
+ // The envelope `ATTACHMENTS` replaced (see `MESSAGE_TYPE.GUIDE`).
21747
21759
  case MESSAGE_TYPE.GUIDE:
21748
- case MESSAGE_TYPE.SOURCES:
21749
21760
  return "payload" in data ? sourceMetadataEvent(data.payload) : null;
21750
21761
  // Same completeness gate as the live decoder (`decodeNatsChunk`): a
21751
21762
  // persisted row without a question or without options is not a card the
@@ -1,14 +1,14 @@
1
1
  "use client";
2
2
  import {
3
3
  ContactForm
4
- } from "./chunk-YTMV4OBY.js";
4
+ } from "./chunk-DCD5WZUF.js";
5
5
  import {
6
6
  DeliveryRow,
7
7
  DevCardRowContent,
8
8
  DevCardRowSkeletonList,
9
9
  DevSectionPage,
10
10
  ListEmptyState
11
- } from "./chunk-DPX6244M.js";
11
+ } from "./chunk-45F7PXUI.js";
12
12
  import {
13
13
  EmptyState,
14
14
  UnifiedPagination
@@ -19,7 +19,7 @@ import {
19
19
  TOAST_COPY,
20
20
  isOptimistic,
21
21
  useOptionalTicketLive
22
- } from "./chunk-DDWFCWOE.js";
22
+ } from "./chunk-JPD4NXH6.js";
23
23
  import {
24
24
  AlertDialog,
25
25
  AlertDialogAction,
@@ -31,11 +31,11 @@ import {
31
31
  AlertDialogTitle,
32
32
  Textarea,
33
33
  TicketAttachmentsList
34
- } from "./chunk-C5AGSZBT.js";
34
+ } from "./chunk-N2PF5CFX.js";
35
35
  import {
36
36
  toast,
37
37
  useScrollToHash
38
- } from "./chunk-6T3BTD6Q.js";
38
+ } from "./chunk-IWCPXJEE.js";
39
39
  import {
40
40
  ChatAttachmentAddButton,
41
41
  ChatAttachmentChipStrip,
@@ -48,7 +48,7 @@ import {
48
48
  devSectionAnchorId,
49
49
  useChatAttachments,
50
50
  useChatIdentity
51
- } from "./chunk-ROBQ5TR7.js";
51
+ } from "./chunk-JH2SIWPQ.js";
52
52
  import {
53
53
  formatRelativeTime
54
54
  } from "./chunk-2NASBO7O.js";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  createSseSubscription,
4
4
  useChatIdentity
5
- } from "./chunk-ROBQ5TR7.js";
5
+ } from "./chunk-JH2SIWPQ.js";
6
6
  import {
7
7
  useChatRuntime
8
8
  } from "./chunk-E4ABZWTJ.js";
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkHETQETPVcjs = require('./chunk-HETQETPV.cjs');
5
+ var _chunkUWQWMGJ7cjs = require('./chunk-UWQWMGJ7.cjs');
6
6
 
7
7
 
8
8
 
@@ -45,7 +45,7 @@ function HorizontalSectionNav({
45
45
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { ref: navRef, "aria-label": label, className: _chunk3ATAYP36cjs.cn.call(void 0, "flex h-14 items-stretch gap-6 bg-ods-bg", className), children: [
46
46
  brand && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden shrink-0 items-center gap-2.5 border-r border-ods-border pr-6 text-ods-text-primary text-h4 content-lg:flex", children: brand }),
47
47
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
48
- _chunkHETQETPVcjs.ScrollShadow,
48
+ _chunkUWQWMGJ7cjs.ScrollShadow,
49
49
  {
50
50
  axis: "horizontal",
51
51
  className: "min-w-0 flex-1",
@@ -330,7 +330,7 @@ function useScrollSpy(sections, options = {}) {
330
330
  // src/components/navigation/multi-level-navigation.tsx
331
331
  var _lucidereact = require('lucide-react');
332
332
 
333
- var DEFAULT_FOLDER_INDEX_FILE2 = _chunkHETQETPVcjs.DEFAULT_FOLDER_INDEX_FILE;
333
+ var DEFAULT_FOLDER_INDEX_FILE2 = _chunkUWQWMGJ7cjs.DEFAULT_FOLDER_INDEX_FILE;
334
334
  function isNodeVisuallySelected(node, selectedPath, folderIndexFile = DEFAULT_FOLDER_INDEX_FILE2) {
335
335
  const FOLDER_INDEX_FILE = folderIndexFile.toLowerCase();
336
336
  if (selectedPath === node.path) {