@flamingo-stack/openframe-frontend-core 0.0.215 → 0.0.216

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 (228) hide show
  1. package/dist/chunk-2V4SACHE.js +302 -0
  2. package/dist/chunk-2V4SACHE.js.map +1 -0
  3. package/dist/chunk-572WQWIX.cjs +348 -0
  4. package/dist/chunk-572WQWIX.cjs.map +1 -0
  5. package/dist/{chunk-WT5JV2GS.cjs → chunk-5V6MSE3B.cjs} +39 -39
  6. package/dist/chunk-5V6MSE3B.cjs.map +1 -0
  7. package/dist/{chunk-WQZP3JIZ.js → chunk-CDLYRFDE.js} +1894 -1472
  8. package/dist/chunk-CDLYRFDE.js.map +1 -0
  9. package/dist/chunk-GVNQAGXB.js +232 -0
  10. package/dist/chunk-GVNQAGXB.js.map +1 -0
  11. package/dist/{chunk-P5EE2VJX.cjs → chunk-HOHDXYPR.cjs} +1 -1
  12. package/dist/chunk-HOHDXYPR.cjs.map +1 -0
  13. package/dist/chunk-IH76P5R6.cjs +232 -0
  14. package/dist/chunk-IH76P5R6.cjs.map +1 -0
  15. package/dist/{chunk-24KCAECR.cjs → chunk-JJR27M56.cjs} +3 -3
  16. package/dist/{chunk-24KCAECR.cjs.map → chunk-JJR27M56.cjs.map} +1 -1
  17. package/dist/chunk-K4DFAVSO.cjs +302 -0
  18. package/dist/chunk-K4DFAVSO.cjs.map +1 -0
  19. package/dist/{chunk-HICZPTRR.js → chunk-LCLTCCXS.js} +14 -14
  20. package/dist/chunk-LCLTCCXS.js.map +1 -0
  21. package/dist/{chunk-VFKQMAUF.cjs → chunk-OB45JHDY.cjs} +3 -3
  22. package/dist/{chunk-VFKQMAUF.cjs.map → chunk-OB45JHDY.cjs.map} +1 -1
  23. package/dist/{chunk-4XLJWX2N.js → chunk-ORJREQ2W.js} +4 -4
  24. package/dist/{chunk-7PCP7YQR.js → chunk-QTKU6ULP.js} +6 -6
  25. package/dist/{chunk-CIPO6DXK.js → chunk-QY75VKAS.js} +5 -5
  26. package/dist/{chunk-ZG2YY5E7.js → chunk-RFONYT63.js} +1 -1
  27. package/dist/chunk-RFONYT63.js.map +1 -0
  28. package/dist/{chunk-NGFP4RVL.cjs → chunk-SMCG2CCC.cjs} +30 -30
  29. package/dist/{chunk-NGFP4RVL.cjs.map → chunk-SMCG2CCC.cjs.map} +1 -1
  30. package/dist/{chunk-MX5MIFWA.js → chunk-UEBM4PC4.js} +5 -5
  31. package/dist/chunk-VC3ND5RB.js +348 -0
  32. package/dist/chunk-VC3ND5RB.js.map +1 -0
  33. package/dist/{chunk-UXZ3ZJ3M.cjs → chunk-XDPSSE4O.cjs} +4 -4
  34. package/dist/{chunk-UXZ3ZJ3M.cjs.map → chunk-XDPSSE4O.cjs.map} +1 -1
  35. package/dist/{chunk-D4MNFY67.cjs → chunk-ZGTDUPTW.cjs} +1316 -894
  36. package/dist/chunk-ZGTDUPTW.cjs.map +1 -0
  37. package/dist/components/chat/entity-cards/blog-card.d.ts +1 -1
  38. package/dist/components/chat/entity-cards/blog-card.d.ts.map +1 -1
  39. package/dist/components/chat/entity-cards/case-study-card.d.ts +1 -1
  40. package/dist/components/chat/entity-cards/case-study-card.d.ts.map +1 -1
  41. package/dist/components/chat/entity-cards/customer-interview-card.d.ts +1 -1
  42. package/dist/components/chat/entity-cards/customer-interview-card.d.ts.map +1 -1
  43. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  44. package/dist/components/chat/entity-cards/investor-update-card.d.ts +1 -1
  45. package/dist/components/chat/entity-cards/investor-update-card.d.ts.map +1 -1
  46. package/dist/components/chat/entity-cards/onboarding-guide-card.d.ts +1 -1
  47. package/dist/components/chat/entity-cards/onboarding-guide-card.d.ts.map +1 -1
  48. package/dist/components/chat/entity-cards/program-card.d.ts +1 -1
  49. package/dist/components/chat/entity-cards/program-card.d.ts.map +1 -1
  50. package/dist/components/chat/entity-cards/use-entity-card-link.d.ts +14 -0
  51. package/dist/components/chat/entity-cards/use-entity-card-link.d.ts.map +1 -0
  52. package/dist/components/chat/entity-cards/use-entity-card-placeholder.d.ts +13 -0
  53. package/dist/components/chat/entity-cards/use-entity-card-placeholder.d.ts.map +1 -0
  54. package/dist/components/chat/index.cjs +11 -11
  55. package/dist/components/chat/index.js +10 -10
  56. package/dist/components/contact/index.cjs +12 -12
  57. package/dist/components/contact/index.js +11 -11
  58. package/dist/components/features/captions-url.d.ts +18 -0
  59. package/dist/components/features/captions-url.d.ts.map +1 -0
  60. package/dist/components/features/index.cjs +23 -11
  61. package/dist/components/features/index.cjs.map +1 -1
  62. package/dist/components/features/index.d.ts +2 -0
  63. package/dist/components/features/index.d.ts.map +1 -1
  64. package/dist/components/features/index.js +24 -12
  65. package/dist/components/features/mux-origins.cjs +10 -0
  66. package/dist/components/features/mux-origins.cjs.map +1 -0
  67. package/dist/components/features/mux-origins.d.ts +26 -0
  68. package/dist/components/features/mux-origins.d.ts.map +1 -0
  69. package/dist/components/features/mux-origins.js +7 -0
  70. package/dist/components/features/mux-origins.js.map +1 -0
  71. package/dist/components/features/notifications/index.d.ts +2 -0
  72. package/dist/components/features/notifications/index.d.ts.map +1 -1
  73. package/dist/components/features/notifications/notification-drawer.d.ts +2 -1
  74. package/dist/components/features/notifications/notification-drawer.d.ts.map +1 -1
  75. package/dist/components/features/notifications/notification-popups.d.ts +10 -0
  76. package/dist/components/features/notifications/notification-popups.d.ts.map +1 -0
  77. package/dist/components/features/notifications/notifications-context.d.ts +8 -1
  78. package/dist/components/features/notifications/notifications-context.d.ts.map +1 -1
  79. package/dist/components/features/notifications/types.d.ts +1 -0
  80. package/dist/components/features/notifications/types.d.ts.map +1 -1
  81. package/dist/components/features/use-video-warmup.d.ts +53 -0
  82. package/dist/components/features/use-video-warmup.d.ts.map +1 -0
  83. package/dist/components/icons/index.cjs +3 -3
  84. package/dist/components/icons/index.js +2 -2
  85. package/dist/components/icons-v2-generated/index.cjs +2 -2
  86. package/dist/components/icons-v2-generated/index.cjs.map +1 -1
  87. package/dist/components/icons-v2-generated/index.js +4 -4
  88. package/dist/components/index.cjs +132 -102
  89. package/dist/components/index.cjs.map +1 -1
  90. package/dist/components/index.d.ts +1 -0
  91. package/dist/components/index.d.ts.map +1 -1
  92. package/dist/components/index.js +94 -64
  93. package/dist/components/index.js.map +1 -1
  94. package/dist/components/navigation/index.cjs +11 -11
  95. package/dist/components/navigation/index.js +10 -10
  96. package/dist/components/onboarding-guides/build-default-href.d.ts +15 -0
  97. package/dist/components/onboarding-guides/build-default-href.d.ts.map +1 -0
  98. package/dist/components/onboarding-guides/hooks/use-onboarding-guides.d.ts +28 -0
  99. package/dist/components/onboarding-guides/hooks/use-onboarding-guides.d.ts.map +1 -0
  100. package/dist/components/onboarding-guides/index.cjs +373 -0
  101. package/dist/components/onboarding-guides/index.cjs.map +1 -0
  102. package/dist/components/onboarding-guides/index.d.ts +25 -0
  103. package/dist/components/onboarding-guides/index.d.ts.map +1 -0
  104. package/dist/components/onboarding-guides/index.js +373 -0
  105. package/dist/components/onboarding-guides/index.js.map +1 -0
  106. package/dist/components/onboarding-guides/onboarding-guide-detail-view.d.ts +52 -0
  107. package/dist/components/onboarding-guides/onboarding-guide-detail-view.d.ts.map +1 -0
  108. package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.d.ts +17 -0
  109. package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.d.ts.map +1 -0
  110. package/dist/components/onboarding-guides/onboarding-guides-catalog-view.d.ts +43 -0
  111. package/dist/components/onboarding-guides/onboarding-guides-catalog-view.d.ts.map +1 -0
  112. package/dist/components/shared/doc-search/doc-search-bar.d.ts +59 -0
  113. package/dist/components/shared/doc-search/doc-search-bar.d.ts.map +1 -0
  114. package/dist/components/shared/doc-search/doc-search-result-row.d.ts +18 -0
  115. package/dist/components/shared/doc-search/doc-search-result-row.d.ts.map +1 -0
  116. package/dist/components/shared/doc-search/format-relative-path.d.ts +10 -0
  117. package/dist/components/shared/doc-search/format-relative-path.d.ts.map +1 -0
  118. package/dist/components/shared/doc-search/index.d.ts +8 -0
  119. package/dist/components/shared/doc-search/index.d.ts.map +1 -0
  120. package/dist/components/shared/doc-search/map-doc-search-results.d.ts +15 -0
  121. package/dist/components/shared/doc-search/map-doc-search-results.d.ts.map +1 -0
  122. package/dist/components/shared/doc-search/resolve-search-result-action.d.ts +37 -0
  123. package/dist/components/shared/doc-search/resolve-search-result-action.d.ts.map +1 -0
  124. package/dist/components/shared/doc-search/types.d.ts +29 -0
  125. package/dist/components/shared/doc-search/types.d.ts.map +1 -0
  126. package/dist/components/shared/doc-search/use-doc-search.d.ts +46 -0
  127. package/dist/components/shared/doc-search/use-doc-search.d.ts.map +1 -0
  128. package/dist/components/tickets/help-center-card.d.ts +5 -1
  129. package/dist/components/tickets/help-center-card.d.ts.map +1 -1
  130. package/dist/components/tickets/hooks/use-ticket-actions.d.ts +8 -0
  131. package/dist/components/tickets/hooks/use-ticket-actions.d.ts.map +1 -1
  132. package/dist/components/tickets/index.cjs +316 -145
  133. package/dist/components/tickets/index.cjs.map +1 -1
  134. package/dist/components/tickets/index.js +237 -66
  135. package/dist/components/tickets/index.js.map +1 -1
  136. package/dist/components/tickets/ticket-detail-drawer.d.ts +11 -2
  137. package/dist/components/tickets/ticket-detail-drawer.d.ts.map +1 -1
  138. package/dist/components/tickets/types.d.ts +50 -1
  139. package/dist/components/tickets/types.d.ts.map +1 -1
  140. package/dist/components/ui/file-manager/index.cjs +51 -51
  141. package/dist/components/ui/file-manager/index.cjs.map +1 -1
  142. package/dist/components/ui/file-manager/index.js +2 -2
  143. package/dist/components/ui/filter-pill-row.d.ts +20 -0
  144. package/dist/components/ui/filter-pill-row.d.ts.map +1 -0
  145. package/dist/components/ui/index.cjs +16 -14
  146. package/dist/components/ui/index.cjs.map +1 -1
  147. package/dist/components/ui/index.d.ts +1 -0
  148. package/dist/components/ui/index.d.ts.map +1 -1
  149. package/dist/components/ui/index.js +21 -19
  150. package/dist/components/ui/simple-markdown-renderer.d.ts.map +1 -1
  151. package/dist/contexts/chat-runtime-context.d.ts +42 -0
  152. package/dist/contexts/chat-runtime-context.d.ts.map +1 -1
  153. package/dist/contexts/index.cjs +2 -2
  154. package/dist/contexts/index.js +1 -1
  155. package/dist/embed-shims/index.cjs +3 -3
  156. package/dist/embed-shims/index.cjs.map +1 -1
  157. package/dist/embed-shims/index.js +5 -5
  158. package/dist/hooks/index.cjs +6 -6
  159. package/dist/hooks/index.js +5 -5
  160. package/dist/index.cjs +28 -14
  161. package/dist/index.cjs.map +1 -1
  162. package/dist/index.js +59 -45
  163. package/dist/utils/dev-sections/openframe-dev-sections.d.ts +2 -2
  164. package/dist/utils/dev-sections/openframe-dev-sections.d.ts.map +1 -1
  165. package/dist/utils/index.cjs +11 -5
  166. package/dist/utils/index.cjs.map +1 -1
  167. package/dist/utils/index.js +11 -5
  168. package/dist/utils/index.js.map +1 -1
  169. package/package.json +13 -1
  170. package/src/components/chat/entity-cards/blog-card.tsx +17 -5
  171. package/src/components/chat/entity-cards/case-study-card.tsx +23 -1
  172. package/src/components/chat/entity-cards/customer-interview-card.tsx +23 -1
  173. package/src/components/chat/entity-cards/dispatch.tsx +21 -0
  174. package/src/components/chat/entity-cards/investor-update-card.tsx +23 -1
  175. package/src/components/chat/entity-cards/onboarding-guide-card.tsx +30 -4
  176. package/src/components/chat/entity-cards/program-card.tsx +17 -3
  177. package/src/components/chat/entity-cards/use-entity-card-link.ts +66 -0
  178. package/src/components/chat/entity-cards/use-entity-card-placeholder.ts +50 -0
  179. package/src/components/features/captions-url.ts +25 -0
  180. package/src/components/features/index.ts +2 -0
  181. package/src/components/features/mux-origins.ts +27 -0
  182. package/src/components/features/notifications/index.ts +2 -0
  183. package/src/components/features/notifications/notification-drawer.tsx +100 -16
  184. package/src/components/features/notifications/notification-popups.tsx +105 -0
  185. package/src/components/features/notifications/notifications-context.tsx +16 -0
  186. package/src/components/features/notifications/types.ts +1 -0
  187. package/src/components/features/use-video-warmup.ts +176 -0
  188. package/src/components/index.ts +5 -0
  189. package/src/components/onboarding-guides/build-default-href.ts +16 -0
  190. package/src/components/onboarding-guides/hooks/use-onboarding-guides.ts +90 -0
  191. package/src/components/onboarding-guides/index.ts +39 -0
  192. package/src/components/onboarding-guides/onboarding-guide-detail-view.tsx +215 -0
  193. package/src/components/onboarding-guides/onboarding-guides-catalog-skeleton.tsx +62 -0
  194. package/src/components/onboarding-guides/onboarding-guides-catalog-view.tsx +230 -0
  195. package/src/components/shared/doc-search/doc-search-bar.tsx +100 -0
  196. package/src/components/shared/doc-search/doc-search-result-row.tsx +73 -0
  197. package/src/components/shared/doc-search/format-relative-path.ts +17 -0
  198. package/src/components/shared/doc-search/index.ts +24 -0
  199. package/src/components/shared/doc-search/map-doc-search-results.ts +113 -0
  200. package/src/components/shared/doc-search/resolve-search-result-action.ts +68 -0
  201. package/src/components/shared/doc-search/types.ts +28 -0
  202. package/src/components/shared/doc-search/use-doc-search.ts +263 -0
  203. package/src/components/tickets/help-center-card.tsx +8 -0
  204. package/src/components/tickets/help-center-list.tsx +17 -3
  205. package/src/components/tickets/hooks/use-ticket-actions.ts +210 -14
  206. package/src/components/tickets/ticket-detail-drawer.tsx +145 -5
  207. package/src/components/tickets/types.ts +55 -0
  208. package/src/components/ui/filter-pill-row.tsx +72 -0
  209. package/src/components/ui/index.ts +1 -0
  210. package/src/components/ui/simple-markdown-renderer.tsx +24 -1
  211. package/src/components/ui/toaster.tsx +3 -3
  212. package/src/contexts/chat-runtime-context.tsx +41 -0
  213. package/src/stories/NotificationDrawer.stories.tsx +18 -2
  214. package/src/utils/dev-sections/openframe-dev-sections.ts +12 -5
  215. package/dist/chunk-2G3NXF6J.cjs +0 -521
  216. package/dist/chunk-2G3NXF6J.cjs.map +0 -1
  217. package/dist/chunk-D4MNFY67.cjs.map +0 -1
  218. package/dist/chunk-HICZPTRR.js.map +0 -1
  219. package/dist/chunk-P5EE2VJX.cjs.map +0 -1
  220. package/dist/chunk-R6MLPU4A.js +0 -521
  221. package/dist/chunk-R6MLPU4A.js.map +0 -1
  222. package/dist/chunk-WQZP3JIZ.js.map +0 -1
  223. package/dist/chunk-WT5JV2GS.cjs.map +0 -1
  224. package/dist/chunk-ZG2YY5E7.js.map +0 -1
  225. /package/dist/{chunk-4XLJWX2N.js.map → chunk-ORJREQ2W.js.map} +0 -0
  226. /package/dist/{chunk-7PCP7YQR.js.map → chunk-QTKU6ULP.js.map} +0 -0
  227. /package/dist/{chunk-CIPO6DXK.js.map → chunk-QY75VKAS.js.map} +0 -0
  228. /package/dist/{chunk-MX5MIFWA.js.map → chunk-UEBM4PC4.js.map} +0 -0
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Minimal result shape this row renders. Compatible with any
3
+ * doc-search hook whose result type exposes `{ title?, path?,
4
+ * metadata? }`. The two hub consumers (onboarding-guide catalog,
5
+ * data-room sidebar) both satisfy this shape via their
6
+ * `useDocSearch` hook result.
7
+ */
8
+ export interface DocSearchResultRowEntry {
9
+ title?: string;
10
+ path?: string;
11
+ metadata?: Record<string, unknown>;
12
+ }
13
+ export interface DocSearchResultRowProps {
14
+ result: DocSearchResultRowEntry;
15
+ isHighlighted: boolean;
16
+ }
17
+ export declare function DocSearchResultRow({ result, isHighlighted, }: DocSearchResultRowProps): import("react/jsx-runtime").JSX.Element;
18
+ //# sourceMappingURL=doc-search-result-row.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc-search-result-row.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/doc-search/doc-search-result-row.tsx"],"names":[],"mappings":"AAkBA;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,uBAAuB,CAAA;IAC/B,aAAa,EAAE,OAAO,CAAA;CACvB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,aAAa,GACd,EAAE,uBAAuB,2CAiCzB"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Format a full document path as a breadcrumb trail.
3
+ * Shows parent folders only (excludes the last segment / filename).
4
+ *
5
+ * @example
6
+ * formatRelativePath('openframe-oss-tenant/architecture/api-controllers.md')
7
+ * // → 'Openframe oss tenant / Architecture'
8
+ */
9
+ export declare function formatRelativePath(fullPath: string): string;
10
+ //# sourceMappingURL=format-relative-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-relative-path.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/doc-search/format-relative-path.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQ3D"}
@@ -0,0 +1,8 @@
1
+ export { DocSearchBar, type DocSearchBarProps, } from './doc-search-bar';
2
+ export { DocSearchResultRow, type DocSearchResultRowProps, type DocSearchResultRowEntry, } from './doc-search-result-row';
3
+ export { formatRelativePath } from './format-relative-path';
4
+ export { useDocSearch, type UseDocSearchConfig, } from './use-doc-search';
5
+ export { resolveSearchResultAction, type SearchResultAction, } from './resolve-search-result-action';
6
+ export { mapDocSearchResults } from './map-doc-search-results';
7
+ export type { DocSearchResult } from './types';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/doc-search/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,KAAK,iBAAiB,GACvB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,GAC7B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAK3D,OAAO,EACL,YAAY,EACZ,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,yBAAyB,EACzB,KAAK,kBAAkB,GACxB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Map RAG `/api/docs/search` wire results into the `<DocSearchBar>`
3
+ * dropdown's row shape, collapsing entity-table rows into grouped
4
+ * results so the dropdown lists ONE "Cap Table (12 records)" row
5
+ * instead of 12 individual rows.
6
+ *
7
+ * Pure transform — no telemetry, no navigation, no React deps. Lifted
8
+ * from the hub's `hooks/use-docs.ts:mapDocSearchResults` (the hub's
9
+ * `traceCompose` call was hub-only telemetry and is intentionally
10
+ * dropped — callers that want logging can wrap this helper).
11
+ */
12
+ import type { SearchResult } from '../../ui/search-input';
13
+ import type { DocSearchResult } from './types';
14
+ export declare function mapDocSearchResults(docs: DocSearchResult[]): SearchResult[];
15
+ //# sourceMappingURL=map-doc-search-results.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-doc-search-results.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/doc-search/map-doc-search-results.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AA2B9C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,YAAY,EAAE,CAwE3E"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Resolve what should happen when the user picks a search result.
3
+ * Returns one of five typed actions so the caller is a single switch.
4
+ *
5
+ * Resolution order:
6
+ * 1. `externalUrl` present → use `decideNewTab` to choose same-tab vs
7
+ * new-tab against the row's `targetPlatform`.
8
+ * 2. Row has `id` + `sourceRepo` + `documentType` → synth an Ask-AI
9
+ * action (entity drill-in via primary key, no URL).
10
+ * 3. Row has only `path` → legacy navigation fallback.
11
+ * 4. Nothing actionable → noop.
12
+ *
13
+ * Lifted from the hub's `hooks/use-docs.ts:resolveSearchResultAction`.
14
+ * Pure — no React, no telemetry.
15
+ */
16
+ import type { SearchResult } from '../../ui/search-input';
17
+ import type { ChatRef } from '../../chat/chat-ref.types';
18
+ export type SearchResultAction = {
19
+ kind: 'navigate-same-tab';
20
+ href: string;
21
+ } | {
22
+ kind: 'navigate-new-tab';
23
+ href: string;
24
+ } | {
25
+ kind: 'ask-ai';
26
+ detail: {
27
+ source: string;
28
+ ref: ChatRef;
29
+ };
30
+ } | {
31
+ kind: 'route';
32
+ path: string;
33
+ } | {
34
+ kind: 'noop';
35
+ };
36
+ export declare function resolveSearchResultAction(result: SearchResult, source: string, runtimeMode?: 'host' | 'embed'): SearchResultAction;
37
+ //# sourceMappingURL=resolve-search-result-action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-search-result-action.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/doc-search/resolve-search-result-action.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAGxD,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAEpB,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAC7B,kBAAkB,CAoCpB"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Wire shape returned by `/api/docs/search` (one row per result).
3
+ * The hub's server-side RAG layer composes this; the lib hook
4
+ * consumes it. Keep field-for-field identical with the hub's
5
+ * `lib/data/doc-search-utils.ts:DocSearchResult` interface.
6
+ */
7
+ export interface DocSearchResult {
8
+ path: string;
9
+ name: string;
10
+ type: 'file' | 'folder';
11
+ snippet: string;
12
+ matchType: 'title' | 'content';
13
+ documentType?: string;
14
+ externalUrl?: string;
15
+ /** Platform that owns `externalUrl`. Threaded from the rag-config's
16
+ * `resolveUrl` so the search-bar click handler can hand it straight
17
+ * to the lib's `decideNewTab` for the same-tab-vs-new-tab decision.
18
+ * `null` when external/unknown. */
19
+ targetPlatform?: string | null;
20
+ sourceRepo?: string;
21
+ /** Row's `RagTableConfig.primaryKey` value when known. Surfaced so the
22
+ * search bar consumer can synthesize a `ChatRef` for entity rows
23
+ * that have no public viewer (cap_table, financial-kpis, etc.) — the
24
+ * click handler opens the chat panel pre-filled with a row drill-in
25
+ * via `entityIdFilter` instead of synthesizing a 404 URL from
26
+ * `result.path`. */
27
+ entityId?: string;
28
+ }
29
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/doc-search/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;wCAGoC;IACpC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;yBAKqB;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB"}
@@ -0,0 +1,46 @@
1
+ import type { SearchResult } from '../../ui/search-input';
2
+ export interface UseDocSearchConfig {
3
+ /** Discriminator passed to `/api/docs/search?source=` (e.g.
4
+ * `'openframe'`). Embedders set it to whatever discriminator their
5
+ * reverse-proxy expects. */
6
+ source: string;
7
+ /** Base route prefix this search lives under (e.g. `'/onboarding-guides'`).
8
+ * When a result's href starts with `${baseRoute}/`, the hook
9
+ * attempts the optional in-page swap path before falling through
10
+ * to a full nav. */
11
+ baseRoute: string;
12
+ /** Imperative navigation fallback. Called when no override
13
+ * (in-page swap, new-tab) applies. Hub callers pass
14
+ * `(path) => router.push(path)`; embedders pass an equivalent. */
15
+ onNavigate: (path: string) => void;
16
+ /** Optional `RagTableConfig.id` list to narrow the search to specific
17
+ * tables (e.g. `['onboarding-guides']`). Forwarded to
18
+ * `/api/docs/search?tableIds=…` which intersects with the source's
19
+ * standing set. */
20
+ tableIds?: string[];
21
+ /** Optional in-page swap callback. When the result's href is under
22
+ * `baseRoute` AND this callback returns true, the hook treats the
23
+ * click as handled in-page (no router push). Hub's
24
+ * `<DocumentationSection>` wires this to
25
+ * `useDocNavigation().navigate(path)`. */
26
+ onInPageSwap?: (path: string) => boolean;
27
+ /** Optional endpoint override. Defaults to `'/api/docs/search'`
28
+ * (the hub's reverse-proxy route). Embedders with a different
29
+ * path can override. */
30
+ searchEndpoint?: string;
31
+ }
32
+ export declare function useDocSearch(config: UseDocSearchConfig): {
33
+ query: string;
34
+ setQuery: import("react").Dispatch<import("react").SetStateAction<string>>;
35
+ results: SearchResult[];
36
+ isLoading: boolean;
37
+ handleResultSelect: (result: SearchResult, modifiers?: {
38
+ metaKey?: boolean;
39
+ ctrlKey?: boolean;
40
+ shiftKey?: boolean;
41
+ altKey?: boolean;
42
+ button?: number;
43
+ }) => void;
44
+ keepDropdownOpen: boolean;
45
+ };
46
+ //# sourceMappingURL=use-doc-search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-doc-search.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/doc-search/use-doc-search.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAUzD,MAAM,WAAW,kBAAkB;IACjC;;iCAE6B;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd;;;yBAGqB;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB;;uEAEmE;IACnE,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC;;;wBAGoB;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB;;;;+CAI2C;IAC3C,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;IACxC;;6BAEyB;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,kBAAkB;;;;;iCAiFzC,YAAY,cACR;QACV,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB;;EAmGN"}
@@ -10,6 +10,10 @@ export interface HelpCenterCardProps {
10
10
  onClose: TicketDetailDrawerProps['onClose'];
11
11
  onReopen: TicketDetailDrawerProps['onReopen'];
12
12
  onActionCollapsed: () => void;
13
+ /** Persisted reply-failure banner — forwarded to the drawer. Parent
14
+ * (`HelpCenterList`) reads via `actions.replyErrorFor(external_id)`. */
15
+ replyError?: TicketDetailDrawerProps['replyError'];
16
+ onClearReplyError?: TicketDetailDrawerProps['onClearReplyError'];
13
17
  }
14
- export declare function HelpCenterCard({ ticket, expanded, onToggle, busy, supportSystemDown, onSendMessage, onClose, onReopen, onActionCollapsed, }: HelpCenterCardProps): import("react/jsx-runtime").JSX.Element;
18
+ export declare function HelpCenterCard({ ticket, expanded, onToggle, busy, supportSystemDown, onSendMessage, onClose, onReopen, onActionCollapsed, replyError, onClearReplyError, }: HelpCenterCardProps): import("react/jsx-runtime").JSX.Element;
15
19
  //# sourceMappingURL=help-center-card.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"help-center-card.d.ts","sourceRoot":"","sources":["../../../src/components/tickets/help-center-card.tsx"],"names":[],"mappings":"AAuBA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAoBxC,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,IAAI,EAAE,OAAO,CAAA;IACb,iBAAiB,EAAE,OAAO,CAAA;IAC1B,aAAa,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAA;IACvD,OAAO,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAA;IAC3C,QAAQ,EAAE,uBAAuB,CAAC,UAAU,CAAC,CAAA;IAC7C,iBAAiB,EAAE,MAAM,IAAI,CAAA;CAC9B;AAED,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,iBAAiB,EACjB,aAAa,EACb,OAAO,EACP,QAAQ,EACR,iBAAiB,GAClB,EAAE,mBAAmB,2CAmHrB"}
1
+ {"version":3,"file":"help-center-card.d.ts","sourceRoot":"","sources":["../../../src/components/tickets/help-center-card.tsx"],"names":[],"mappings":"AAuBA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAoBxC,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,IAAI,EAAE,OAAO,CAAA;IACb,iBAAiB,EAAE,OAAO,CAAA;IAC1B,aAAa,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAA;IACvD,OAAO,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAA;IAC3C,QAAQ,EAAE,uBAAuB,CAAC,UAAU,CAAC,CAAA;IAC7C,iBAAiB,EAAE,MAAM,IAAI,CAAA;IAC7B;6EACyE;IACzE,UAAU,CAAC,EAAE,uBAAuB,CAAC,YAAY,CAAC,CAAA;IAClD,iBAAiB,CAAC,EAAE,uBAAuB,CAAC,mBAAmB,CAAC,CAAA;CACjE;AAED,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,iBAAiB,EACjB,aAAa,EACb,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,UAAU,EACV,iBAAiB,GAClB,EAAE,mBAAmB,2CAqHrB"}
@@ -53,6 +53,14 @@ export interface UseTicketActionsReturn {
53
53
  isSubmittingForm: boolean;
54
54
  /** Per-row in-flight set (read-only). UI uses `isRowBusy(localId)`. */
55
55
  isRowBusy: (localId: string) => boolean;
56
+ /** Most recent reply failure for a given ticket id (`external_id`).
57
+ * Drives the inline "couldn't send" banner above the composer in
58
+ * `<TicketDetailDrawer>`. Cleared on the next successful send OR
59
+ * via `clearReplyError(ticketId)`. */
60
+ replyErrorFor: (ticketExternalId: string) => MappedTicketActionError | null;
61
+ /** Clear the persisted reply-failure banner for a ticket (e.g. when
62
+ * the user dismisses it or starts a new draft). */
63
+ clearReplyError: (ticketExternalId: string) => void;
56
64
  }
57
65
  export declare function useTicketActions(options: UseTicketActionsOptions): UseTicketActionsReturn;
58
66
  /** Exported so unit tests can construct an instance to exercise the
@@ -1 +1 @@
1
- {"version":3,"file":"use-ticket-actions.d.ts","sourceRoot":"","sources":["../../../../src/components/tickets/hooks/use-ticket-actions.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAA;AAC/E,OAAO,EACL,KAAK,SAAS,EACd,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAG3B,MAAM,UAAU,CAAA;AAyBjB,UAAU,iBAAiB;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,cAAc,EAAE,CAAA;CAC/B;AAUD,MAAM,WAAW,uBAAuB;IACtC;;mEAE+D;IAC/D,iBAAiB,EAAE,CAAC,WAAW,EAAE,gBAAgB,KAAK,IAAI,CAAA;IAC1D;2EACuE;IACvE,gBAAgB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD;wCACoC;IACpC,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD;;2BAEuB;IACvB,KAAK,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,CAAA;KAAE,KAAK,IAAI,CAAA;IAChH;6CACyC;IACzC,mBAAmB,EAAE,MAAM,IAAI,CAAA;CAChC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5D;;yEAEqE;IACrE,WAAW,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACjG,WAAW,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACzE,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACrD,uDAAuD;IACvD,gBAAgB,EAAE,OAAO,CAAA;IACzB,uEAAuE;IACvE,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAA;CACxC;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,sBAAsB,CA2TzF;AAED;;gDAEgD;AAChD,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,IAAI,EAAE,qBAAqB,CAAA;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAA;gBACP,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ;CAK9E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,uBAAuB,CAkE1E;AA2CD,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA"}
1
+ {"version":3,"file":"use-ticket-actions.d.ts","sourceRoot":"","sources":["../../../../src/components/tickets/hooks/use-ticket-actions.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAA;AAC/E,OAAO,EACL,KAAK,SAAS,EACd,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAI3B,MAAM,UAAU,CAAA;AAoCjB,UAAU,iBAAiB;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,cAAc,EAAE,CAAA;CAC/B;AAUD,MAAM,WAAW,uBAAuB;IACtC;;mEAE+D;IAC/D,iBAAiB,EAAE,CAAC,WAAW,EAAE,gBAAgB,KAAK,IAAI,CAAA;IAC1D;2EACuE;IACvE,gBAAgB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD;wCACoC;IACpC,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD;;2BAEuB;IACvB,KAAK,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,CAAA;KAAE,KAAK,IAAI,CAAA;IAChH;6CACyC;IACzC,mBAAmB,EAAE,MAAM,IAAI,CAAA;CAChC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5D;;yEAEqE;IACrE,WAAW,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACjG,WAAW,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACzE,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACrD,uDAAuD;IACvD,gBAAgB,EAAE,OAAO,CAAA;IACzB,uEAAuE;IACvE,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAA;IACvC;;;2CAGuC;IACvC,aAAa,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,uBAAuB,GAAG,IAAI,CAAA;IAC3E;wDACoD;IACpD,eAAe,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,IAAI,CAAA;CACpD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,sBAAsB,CAgczF;AAED;;gDAEgD;AAChD,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,IAAI,EAAE,qBAAqB,CAAA;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAA;gBACP,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ;CAK9E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,uBAAuB,CAkG1E;AAsDD,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA"}