@manta-eu/react 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/README.md +1 -0
  2. package/dist/components/chat-view/Chat.d.ts +20 -0
  3. package/dist/components/chat-view/Chat.d.ts.map +1 -1
  4. package/dist/components/chat-view/Chat.js +51 -15
  5. package/dist/components/chat-view/Chat.js.map +1 -1
  6. package/dist/components/embedded-chat/index.d.ts +1 -1
  7. package/dist/components/embedded-chat/index.d.ts.map +1 -1
  8. package/dist/components/embedded-chat/index.js +1 -1
  9. package/dist/components/embedded-chat/index.js.map +1 -1
  10. package/dist/components/planning/ActioningView.d.ts.map +1 -1
  11. package/dist/components/planning/ActioningView.js +1 -1
  12. package/dist/components/planning/ActioningView.js.map +1 -1
  13. package/dist/components/planning/ExecutionTopBar.d.ts +1 -0
  14. package/dist/components/planning/ExecutionTopBar.d.ts.map +1 -1
  15. package/dist/components/planning/ExecutionTopBar.js +3 -2
  16. package/dist/components/planning/ExecutionTopBar.js.map +1 -1
  17. package/dist/components/planning/plan-detail-utils.d.ts +1 -0
  18. package/dist/components/planning/plan-detail-utils.d.ts.map +1 -1
  19. package/dist/components/planning/plan-detail-utils.js +7 -2
  20. package/dist/components/planning/plan-detail-utils.js.map +1 -1
  21. package/dist/components/tool-invocation-card/ToolOutputRenderer.d.ts.map +1 -1
  22. package/dist/components/tool-invocation-card/ToolOutputRenderer.js +5 -2
  23. package/dist/components/tool-invocation-card/ToolOutputRenderer.js.map +1 -1
  24. package/dist/graph/EntityCard.d.ts.map +1 -1
  25. package/dist/graph/EntityCard.js +2 -1
  26. package/dist/graph/EntityCard.js.map +1 -1
  27. package/dist/graph/EntityViewWithLinks.d.ts +7 -0
  28. package/dist/graph/EntityViewWithLinks.d.ts.map +1 -0
  29. package/dist/graph/EntityViewWithLinks.js +28 -0
  30. package/dist/graph/EntityViewWithLinks.js.map +1 -0
  31. package/dist/graph/card-links.d.ts +19 -0
  32. package/dist/graph/card-links.d.ts.map +1 -0
  33. package/dist/graph/card-links.js +23 -0
  34. package/dist/graph/card-links.js.map +1 -0
  35. package/dist/graph/nodes/BrandAssetAnalysisView.d.ts.map +1 -1
  36. package/dist/graph/nodes/BrandAssetAnalysisView.js +1 -1
  37. package/dist/graph/nodes/BrandAssetAnalysisView.js.map +1 -1
  38. package/dist/graph/nodes/BrandFontSuggestionView.d.ts.map +1 -1
  39. package/dist/graph/nodes/BrandFontSuggestionView.js +1 -1
  40. package/dist/graph/nodes/BrandFontSuggestionView.js.map +1 -1
  41. package/dist/graph/nodes/EntityCardShell.d.ts +2 -0
  42. package/dist/graph/nodes/EntityCardShell.d.ts.map +1 -1
  43. package/dist/graph/nodes/EntityCardShell.js +13 -3
  44. package/dist/graph/nodes/EntityCardShell.js.map +1 -1
  45. package/dist/graph/nodes/NodePropertyTable.d.ts +2 -1
  46. package/dist/graph/nodes/NodePropertyTable.d.ts.map +1 -1
  47. package/dist/graph/nodes/NodePropertyTable.js +10 -1
  48. package/dist/graph/nodes/NodePropertyTable.js.map +1 -1
  49. package/dist/graph/nodes/node-property-display.d.ts +0 -1
  50. package/dist/graph/nodes/node-property-display.d.ts.map +1 -1
  51. package/dist/graph/nodes/node-property-display.js +2 -6
  52. package/dist/graph/nodes/node-property-display.js.map +1 -1
  53. package/dist/graph/special-nodes/AttributeList.d.ts.map +1 -1
  54. package/dist/graph/special-nodes/AttributeList.js +3 -2
  55. package/dist/graph/special-nodes/AttributeList.js.map +1 -1
  56. package/dist/graph/special-nodes/RelatedSection.d.ts +6 -0
  57. package/dist/graph/special-nodes/RelatedSection.d.ts.map +1 -0
  58. package/dist/graph/special-nodes/RelatedSection.js +16 -0
  59. package/dist/graph/special-nodes/RelatedSection.js.map +1 -0
  60. package/dist/graph/special-nodes/card-facts.d.ts +2 -0
  61. package/dist/graph/special-nodes/card-facts.d.ts.map +1 -1
  62. package/dist/graph/special-nodes/card-facts.js +11 -0
  63. package/dist/graph/special-nodes/card-facts.js.map +1 -1
  64. package/dist/graph/types.d.ts +2 -2
  65. package/dist/graph/types.d.ts.map +1 -1
  66. package/dist/hooks/use-approve-anyway.d.ts.map +1 -1
  67. package/dist/hooks/use-approve-anyway.js +8 -8
  68. package/dist/hooks/use-approve-anyway.js.map +1 -1
  69. package/dist/hooks/use-connection-problems.d.ts.map +1 -1
  70. package/dist/hooks/useValidateActionPlan.d.ts.map +1 -1
  71. package/dist/ldo-ui.d.ts +1 -0
  72. package/dist/ldo-ui.d.ts.map +1 -1
  73. package/dist/ldo-ui.js +1 -0
  74. package/dist/ldo-ui.js.map +1 -1
  75. package/dist/lib/chat-types.d.ts +17 -0
  76. package/dist/lib/chat-types.d.ts.map +1 -1
  77. package/dist/lib/chat-types.js.map +1 -1
  78. package/dist/providers/ChatManagerProvider.d.ts +7 -0
  79. package/dist/providers/ChatManagerProvider.d.ts.map +1 -1
  80. package/dist/providers/ChatManagerProvider.js +129 -16
  81. package/dist/providers/ChatManagerProvider.js.map +1 -1
  82. package/dist/providers/chat-connection-context.d.ts +4 -1
  83. package/dist/providers/chat-connection-context.d.ts.map +1 -1
  84. package/dist/providers/chat-connection-context.js.map +1 -1
  85. package/dist/providers/chat-connection-lifecycle.d.ts +1 -0
  86. package/dist/providers/chat-connection-lifecycle.d.ts.map +1 -1
  87. package/dist/providers/chat-connection-lifecycle.js.map +1 -1
  88. package/dist/providers/chat-socket-auth.d.ts +3 -1
  89. package/dist/providers/chat-socket-auth.d.ts.map +1 -1
  90. package/dist/providers/chat-socket-auth.js +27 -9
  91. package/dist/providers/chat-socket-auth.js.map +1 -1
  92. package/dist/providers/chat-startup-timing.d.ts +14 -0
  93. package/dist/providers/chat-startup-timing.d.ts.map +1 -0
  94. package/dist/providers/chat-startup-timing.js +72 -0
  95. package/dist/providers/chat-startup-timing.js.map +1 -0
  96. package/dist/routes/data-explorer/components/record-detail/ActionFormDialog.d.ts.map +1 -1
  97. package/dist/routes/data-explorer/components/record-detail/ActionFormDialog.js +7 -21
  98. package/dist/routes/data-explorer/components/record-detail/ActionFormDialog.js.map +1 -1
  99. package/dist/routes/data-explorer/components/record-detail/ChatPreview.d.ts.map +1 -1
  100. package/dist/routes/data-explorer/components/record-detail/ChatPreview.js +2 -2
  101. package/dist/routes/data-explorer/components/record-detail/ChatPreview.js.map +1 -1
  102. package/dist/routes/data-explorer/components/record-detail/action-properties.d.ts +2 -2
  103. package/dist/routes/data-explorer/components/record-detail/action-properties.d.ts.map +1 -1
  104. package/dist/routes/data-explorer/components/record-detail/action-properties.js +3 -3
  105. package/dist/routes/data-explorer/components/record-detail/action-properties.js.map +1 -1
  106. package/dist/routes/integrations/catalog-shape.d.ts +1 -0
  107. package/dist/routes/integrations/catalog-shape.d.ts.map +1 -1
  108. package/dist/routes/integrations/catalog-shape.js.map +1 -1
  109. package/dist/routes/integrations/components/connect-forms/MicrosoftAdsConnectForm.d.ts +7 -0
  110. package/dist/routes/integrations/components/connect-forms/MicrosoftAdsConnectForm.d.ts.map +1 -0
  111. package/dist/routes/integrations/components/connect-forms/MicrosoftAdsConnectForm.js +76 -0
  112. package/dist/routes/integrations/components/connect-forms/MicrosoftAdsConnectForm.js.map +1 -0
  113. package/dist/routes/integrations/components/connect-forms/OAuthSetupConnectForm.d.ts +7 -0
  114. package/dist/routes/integrations/components/connect-forms/OAuthSetupConnectForm.d.ts.map +1 -1
  115. package/dist/routes/integrations/components/connect-forms/OAuthSetupConnectForm.js +8 -7
  116. package/dist/routes/integrations/components/connect-forms/OAuthSetupConnectForm.js.map +1 -1
  117. package/dist/routes/integrations/components/connect-forms/inferal-locations.d.ts +3 -0
  118. package/dist/routes/integrations/components/connect-forms/inferal-locations.d.ts.map +1 -0
  119. package/dist/routes/integrations/components/connect-forms/inferal-locations.js +13 -0
  120. package/dist/routes/integrations/components/connect-forms/inferal-locations.js.map +1 -0
  121. package/dist/routes/integrations/connect-forms.d.ts +2 -0
  122. package/dist/routes/integrations/connect-forms.d.ts.map +1 -1
  123. package/dist/routes/integrations/connect-forms.js +2 -0
  124. package/dist/routes/integrations/connect-forms.js.map +1 -1
  125. package/dist/routes/integrations/connection-view.d.ts.map +1 -1
  126. package/dist/routes/integrations/connection-view.js +1 -0
  127. package/dist/routes/integrations/connection-view.js.map +1 -1
  128. package/dist/routes/plans/components/ActionPlansTableColumns.d.ts.map +1 -1
  129. package/dist/routes/plans/components/ActionPlansTableColumns.js +3 -3
  130. package/dist/routes/plans/components/ActionPlansTableColumns.js.map +1 -1
  131. package/package.json +7 -7
  132. package/src/components/chat-view/Chat.tsx +62 -15
  133. package/src/components/embedded-chat/index.tsx +9 -2
  134. package/src/components/planning/ActioningView.tsx +1 -0
  135. package/src/components/planning/ExecutionTopBar.tsx +14 -2
  136. package/src/components/planning/plan-detail-utils.tsx +8 -2
  137. package/src/components/tool-invocation-card/ToolOutputRenderer.tsx +5 -2
  138. package/src/graph/EntityCard.tsx +2 -1
  139. package/src/graph/EntityViewWithLinks.tsx +43 -0
  140. package/src/graph/card-links.tsx +43 -0
  141. package/src/graph/nodes/BrandAssetAnalysisView.tsx +1 -0
  142. package/src/graph/nodes/BrandFontSuggestionView.tsx +1 -0
  143. package/src/graph/nodes/EntityCardShell.tsx +37 -3
  144. package/src/graph/nodes/NodePropertyTable.tsx +16 -2
  145. package/src/graph/nodes/node-property-display.ts +2 -7
  146. package/src/graph/special-nodes/AttributeList.tsx +4 -2
  147. package/src/graph/special-nodes/RelatedSection.tsx +29 -0
  148. package/src/graph/special-nodes/card-facts.ts +13 -0
  149. package/src/graph/types.ts +1 -1
  150. package/src/hooks/use-approve-anyway.ts +8 -11
  151. package/src/ldo-ui.ts +1 -0
  152. package/src/lib/chat-types.ts +18 -0
  153. package/src/providers/ChatManagerProvider.tsx +166 -15
  154. package/src/providers/chat-connection-context.ts +4 -0
  155. package/src/providers/chat-connection-lifecycle.ts +1 -0
  156. package/src/providers/chat-socket-auth.ts +31 -12
  157. package/src/providers/chat-startup-timing.ts +89 -0
  158. package/src/routes/data-explorer/components/record-detail/ActionFormDialog.tsx +7 -29
  159. package/src/routes/data-explorer/components/record-detail/ChatPreview.tsx +6 -1
  160. package/src/routes/data-explorer/components/record-detail/action-properties.ts +3 -3
  161. package/src/routes/integrations/catalog-shape.ts +2 -0
  162. package/src/routes/integrations/components/connect-forms/MicrosoftAdsConnectForm.tsx +140 -0
  163. package/src/routes/integrations/components/connect-forms/OAuthSetupConnectForm.tsx +27 -5
  164. package/src/routes/integrations/components/connect-forms/inferal-locations.ts +13 -0
  165. package/src/routes/integrations/connect-forms.ts +2 -0
  166. package/src/routes/integrations/connection-view.ts +1 -0
  167. package/src/routes/plans/components/ActionPlansTableColumns.tsx +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"chat-connection-context.d.ts","sourceRoot":"","sources":["../../src/providers/chat-connection-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACzF,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,MAAM,iCAAiC,GAAG;IAC9C,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IACrD,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;IACzC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,eAAe,CAAC,EAAE,WAAW,CAAC;IAC9B,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,eAAe,EAAE,eAAe,CAAC;IACjC,iBAAiB,CAAC,KAAK,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAClF,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAClE,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,0BAA0B,EAAE,gBAAgB,CAAC;IAC7C,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,wBAAwB,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IACrH,2BAA2B,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAChG,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,qBAAqB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,iBAAiB,EAAE,iCAAiC,CAAC;IACrD,OAAO,EAAE,sBAAsB,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,kBAAkB,8DAAgE,CAAC;AAEhG,wBAAgB,qBAAqB,IAAI,uBAAuB,CAI/D;AAED,wBAAgB,wBAAwB,IAAI,iCAAiC,CAE5E"}
1
+ {"version":3,"file":"chat-connection-context.d.ts","sourceRoot":"","sources":["../../src/providers/chat-connection-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACzF,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,MAAM,MAAM,iCAAiC,GAAG;IAC9C,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IACrD,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;IACzC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,eAAe,CAAC,EAAE,WAAW,CAAC;IAC9B,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,eAAe,EAAE,eAAe,CAAC;IACjC,IAAI,EAAE,gBAAgB,CAAC;IACvB,iBAAiB,CAAC,KAAK,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAClF,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAClE,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,0BAA0B,EAAE,gBAAgB,CAAC;IAC7C,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,wBAAwB,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IACrH,2BAA2B,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAChG,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,WAAW,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,qBAAqB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,iBAAiB,EAAE,iCAAiC,CAAC;IACrD,OAAO,EAAE,sBAAsB,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,kBAAkB,8DAAgE,CAAC;AAEhG,wBAAgB,qBAAqB,IAAI,uBAAuB,CAI/D;AAED,wBAAgB,wBAAwB,IAAI,iCAAiC,CAE5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat-connection-context.js","sourceRoot":"","sources":["../../src/providers/chat-connection-context.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAwClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAsC,SAAS,CAAC,CAAC;AAEhG,MAAM,UAAU,qBAAqB;IACnC,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACjG,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,qBAAqB,EAAE,CAAC,iBAAiB,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"chat-connection-context.js","sourceRoot":"","sources":["../../src/providers/chat-connection-context.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AA2ClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAsC,SAAS,CAAC,CAAC;AAEhG,MAAM,UAAU,qBAAqB;IACnC,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACjG,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,qBAAqB,EAAE,CAAC,iBAAiB,CAAC;AACnD,CAAC"}
@@ -13,6 +13,7 @@ export type BlankConversationLifecycle = {
13
13
  idempotencyKey: string;
14
14
  conversationId?: string;
15
15
  materialization?: Promise<void>;
16
+ creating?: boolean;
16
17
  };
17
18
  export declare function createBlankConversationLifecycle(): BlankConversationLifecycle;
18
19
  //# sourceMappingURL=chat-connection-lifecycle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-connection-lifecycle.d.ts","sourceRoot":"","sources":["../../src/providers/chat-connection-lifecycle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,MAAM,yBAAyB,GAAG,MAAM,GAAG,cAAc,GAAG,QAAQ,CAAC;AAE3E,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,GAAG,eAAe,CAUlB;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE;IACL,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;CACrB,EACD,YAAY,EAAE,OAAO,GACpB,yBAAyB,GAAG,SAAS,CASvC;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC,CAAC;AAEF,wBAAgB,gCAAgC,IAAI,0BAA0B,CAI7E"}
1
+ {"version":3,"file":"chat-connection-lifecycle.d.ts","sourceRoot":"","sources":["../../src/providers/chat-connection-lifecycle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,MAAM,yBAAyB,GAAG,MAAM,GAAG,cAAc,GAAG,QAAQ,CAAC;AAE3E,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,GAAG,eAAe,CAUlB;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE;IACL,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;CACrB,EACD,YAAY,EAAE,OAAO,GACpB,yBAAyB,GAAG,SAAS,CASvC;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,wBAAgB,gCAAgC,IAAI,0BAA0B,CAI7E"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat-connection-lifecycle.js","sourceRoot":"","sources":["../../src/providers/chat-connection-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAKnC,MAAM,UAAU,yBAAyB,CAAC,KAGzC;IACC,IAAI,KAAK,CAAC,eAAe,KAAK,IAAI;QAAE,OAAO,QAAQ,CAAC;IAEpD,OAAO,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC;SAC3B,UAAU,EAAmB;SAC7B,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC;SAC9C,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC;SAClC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC;SACxC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC;SAC1C,SAAS,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,KAIC,EACD,YAAqB;IAErB,OAAO,KAAK,CAAC,KAAK,CAAC;SAChB,UAAU,EAAyC;SACnD,IAAI,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC;SACpE,IAAI,CACH,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,KAAK,IAAI,EACjD,GAAG,EAAE,CAAC,QAAQ,CACf;SACA,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAClE,CAAC;AAQD,MAAM,UAAU,gCAAgC;IAC9C,OAAO;QACL,cAAc,EAAE,WAAW,MAAM,CAAC,UAAU,EAAE,EAAE;KACjD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"chat-connection-lifecycle.js","sourceRoot":"","sources":["../../src/providers/chat-connection-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAKnC,MAAM,UAAU,yBAAyB,CAAC,KAGzC;IACC,IAAI,KAAK,CAAC,eAAe,KAAK,IAAI;QAAE,OAAO,QAAQ,CAAC;IAEpD,OAAO,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC;SAC3B,UAAU,EAAmB;SAC7B,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC;SAC9C,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC;SAClC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC;SACxC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC;SAC1C,SAAS,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,KAIC,EACD,YAAqB;IAErB,OAAO,KAAK,CAAC,KAAK,CAAC;SAChB,UAAU,EAAyC;SACnD,IAAI,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC;SACpE,IAAI,CACH,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,KAAK,IAAI,EACjD,GAAG,EAAE,CAAC,QAAQ,CACf;SACA,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAClE,CAAC;AASD,MAAM,UAAU,gCAAgC;IAC9C,OAAO;QACL,cAAc,EAAE,WAAW,MAAM,CAAC,UAAU,EAAE,EAAE;KACjD,CAAC;AACJ,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { ChatSocketAuthPhase } from "./chat-startup-timing.js";
1
2
  export type ChatSocketAuth = {
2
3
  query: Record<string, string>;
3
4
  credentials: "include";
@@ -7,11 +8,12 @@ export type ChatSocketAuth = {
7
8
  shouldReconnectOnClose: (event: CloseEvent) => boolean;
8
9
  credentials: "omit";
9
10
  };
11
+ export declare function isRequestedClose(event: CloseEvent): boolean;
10
12
  /**
11
13
  * A ticket is spent on its first connect, and partysocket would reconnect to the same URL, so the socket never
12
14
  * reconnects by itself: each connect waits for a new ticket, and a dropped socket asks for one.
13
15
  */
14
- export declare function useChatSocketAuth(datastoreQuery: Record<string, string>): ChatSocketAuth;
16
+ export declare function useChatSocketAuth(datastoreQuery: Record<string, string>, onPhase?: (phase: ChatSocketAuthPhase) => void): ChatSocketAuth;
15
17
  type ChatTokenRefreshAgent = {
16
18
  call: (method: string, args: unknown[]) => Promise<unknown>;
17
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"chat-socket-auth.d.ts","sourceRoot":"","sources":["../../src/providers/chat-socket-auth.ts"],"names":[],"mappings":"AAeA,MAAM,MAAM,cAAc,GACtB;IAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,WAAW,EAAE,SAAS,CAAA;CAAE,GACzD;IACE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,sBAAsB,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC;IACvD,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAeN;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,cAAc,CAgFxF;AAED,KAAK,qBAAqB,GAAG;IAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;AAG7F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI,CAqBtE"}
1
+ {"version":3,"file":"chat-socket-auth.d.ts","sourceRoot":"","sources":["../../src/providers/chat-socket-auth.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAUjE,MAAM,MAAM,cAAc,GACtB;IAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,WAAW,EAAE,SAAS,CAAA;CAAE,GACzD;IACE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,sBAAsB,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC;IACvD,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAUN,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAG3D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACtC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,GAC7C,cAAc,CA+FhB;AAED,KAAK,qBAAqB,GAAG;IAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;AAG7F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI,CAqBtE"}
@@ -1,9 +1,9 @@
1
- import { chatTicketPath, chatTicketQueryParam } from "@manta-eu/client/shared/chat-manager";
1
+ import { bearerFetch } from "@manta-eu/client";
2
+ import { chatModeQueryParam, chatTicketPath, chatTicketQueryParam } from "@manta-eu/client/shared/chat-manager";
2
3
  import { datastoreHeader, datastoreQueryParam } from "@manta-eu/client/shared/datastore-path";
3
4
  import { isPresent } from "@manta-eu/lib/present";
4
5
  import { isTerminalCloseEvent } from "agents/client";
5
6
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
6
- import { providerFetch } from "./manta-client-context.js";
7
7
  import { useMantaClient } from "./MantaClientProvider.js";
8
8
  const tokenRefreshCheckMs = 30_000;
9
9
  const reconnectDelaysMs = [0, 1_000, 2_000, 5_000, 10_000];
@@ -17,7 +17,7 @@ function ticketFrom(body) {
17
17
  return typeof body.ticket === "string" ? body.ticket : undefined;
18
18
  }
19
19
  // partysocket clears shouldReconnect before a close it was asked for: an unmount, or a socket being replaced.
20
- function isRequestedClose(event) {
20
+ export function isRequestedClose(event) {
21
21
  const target = event.target;
22
22
  return typeof target === "object" && target !== null && "shouldReconnect" in target && !target.shouldReconnect;
23
23
  }
@@ -25,12 +25,13 @@ function isRequestedClose(event) {
25
25
  * A ticket is spent on its first connect, and partysocket would reconnect to the same URL, so the socket never
26
26
  * reconnects by itself: each connect waits for a new ticket, and a dropped socket asks for one.
27
27
  */
28
- export function useChatSocketAuth(datastoreQuery) {
28
+ export function useChatSocketAuth(datastoreQuery, onPhase) {
29
29
  const client = useMantaClient();
30
30
  const { getAccessToken, mantaBaseUrl } = client;
31
- const authorizedFetch = providerFetch(client);
32
- const authorizedFetchRef = useRef(authorizedFetch);
33
- authorizedFetchRef.current = authorizedFetch;
31
+ const onPhaseRef = useRef(onPhase);
32
+ onPhaseRef.current = onPhase;
33
+ const getAccessTokenRef = useRef(getAccessToken);
34
+ getAccessTokenRef.current = getAccessToken;
34
35
  const hasAccessToken = getAccessToken !== undefined;
35
36
  const datastoreKey = JSON.stringify(datastoreQuery);
36
37
  const datastoreQueryRef = useRef(datastoreQuery);
@@ -55,8 +56,24 @@ export function useChatSocketAuth(datastoreQuery) {
55
56
  const delay = reconnectDelaysMs[Math.min(Math.max(drops.current.count - 1, 0), reconnectDelaysMs.length - 1)];
56
57
  const timer = setTimeout(() => {
57
58
  const query = datastoreQueryRef.current;
58
- authorizedFetchRef
59
- .current(new URL(`/${chatTicketPath}`, mantaBaseUrl), {
59
+ const getToken = getAccessTokenRef.current;
60
+ if (!getToken)
61
+ return;
62
+ let sends = 0;
63
+ const requestTicket = bearerFetch(getToken, async (input, init) => {
64
+ sends += 1;
65
+ onPhaseRef.current?.("ticket-requested");
66
+ const response = await fetch(input, init);
67
+ if (response.status === 401 && sends === 1)
68
+ onPhaseRef.current?.("token-requested");
69
+ return response;
70
+ });
71
+ const ticketUrl = new URL(`/${chatTicketPath}`, mantaBaseUrl);
72
+ const mode = query[chatModeQueryParam];
73
+ if (isPresent(mode))
74
+ ticketUrl.searchParams.set(chatModeQueryParam, mode);
75
+ onPhaseRef.current?.("token-requested");
76
+ requestTicket(ticketUrl, {
60
77
  method: "POST",
61
78
  headers: datastoreHeader(query[datastoreQueryParam]),
62
79
  })
@@ -72,6 +89,7 @@ export function useChatSocketAuth(datastoreQuery) {
72
89
  if (cancelled)
73
90
  return;
74
91
  ticketedAt.current = Date.now();
92
+ onPhaseRef.current?.("ticket-received");
75
93
  setTicketed({ datastoreKey, query: { ...query, [chatTicketQueryParam]: ticket } });
76
94
  })
77
95
  .catch((error) => {
@@ -1 +1 @@
1
- {"version":3,"file":"chat-socket-auth.js","sourceRoot":"","sources":["../../src/providers/chat-socket-auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-socket-auth.js","sourceRoot":"","sources":["../../src/providers/chat-socket-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { ChatStartupReport } from "../lib/chat-types.js";
2
+ export type ChatSocketAuthPhase = "token-requested" | "ticket-requested" | "ticket-received";
3
+ export type ChatViewStartupPhase = "chat-mounted" | "first-paint" | "interactive";
4
+ export type ChatStartupPhase = ChatSocketAuthPhase | "socket-enabled" | "socket-open" | ChatViewStartupPhase;
5
+ export type ChatStartupTimeline = {
6
+ startedAt: number;
7
+ marks: Partial<Record<ChatStartupPhase, number>>;
8
+ ticketAttempts: number;
9
+ socketAttempts: number;
10
+ };
11
+ export declare function createChatStartupTimeline(): ChatStartupTimeline;
12
+ export declare function markChatStartup(timeline: ChatStartupTimeline, phase: ChatStartupPhase): boolean;
13
+ export declare function chatStartupReport(timeline: ChatStartupTimeline, input: Pick<ChatStartupReport, "surface" | "mode" | "openIndex">): ChatStartupReport | undefined;
14
+ //# sourceMappingURL=chat-startup-timing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-startup-timing.d.ts","sourceRoot":"","sources":["../../src/providers/chat-startup-timing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,iBAAiB,CAAC;AAE7F,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG,aAAa,GAAG,aAAa,CAAC;AAElF,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,GAAG,gBAAgB,GAAG,aAAa,GAAG,oBAAoB,CAAC;AAE7G,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,wBAAgB,yBAAyB,IAAI,mBAAmB,CAE/D;AAmBD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,mBAAmB,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAiB/F;AAMD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,mBAAmB,EAC7B,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,MAAM,GAAG,WAAW,CAAC,GAC/D,iBAAiB,GAAG,SAAS,CA0B/B"}
@@ -0,0 +1,72 @@
1
+ export function createChatStartupTimeline() {
2
+ return { startedAt: performance.now(), marks: {}, ticketAttempts: 0, socketAttempts: 0 };
3
+ }
4
+ const attemptEnds = {
5
+ "token-requested": "socket-open",
6
+ "ticket-requested": "socket-open",
7
+ "ticket-received": "socket-open",
8
+ "socket-enabled": "socket-open",
9
+ "chat-mounted": "interactive",
10
+ };
11
+ const measures = {
12
+ "ticket-requested": { name: "host-token", from: "token-requested" },
13
+ "ticket-received": { name: "ticket", from: "ticket-requested" },
14
+ "socket-open": { name: "socket", from: "socket-enabled" },
15
+ "chat-mounted": { name: "until-chat-mount", from: "start" },
16
+ "first-paint": { name: "until-first-paint", from: "chat-mounted" },
17
+ interactive: { name: "until-interactive", from: "chat-mounted" },
18
+ };
19
+ export function markChatStartup(timeline, phase) {
20
+ const attemptEnd = attemptEnds[phase];
21
+ if (timeline.marks[attemptEnd ?? phase] !== undefined)
22
+ return false;
23
+ const now = performance.now();
24
+ timeline.marks[phase] = now - timeline.startedAt;
25
+ if (phase === "chat-mounted")
26
+ delete timeline.marks["first-paint"];
27
+ if (phase === "token-requested")
28
+ timeline.ticketAttempts += 1;
29
+ if (phase === "socket-enabled")
30
+ timeline.socketAttempts += 1;
31
+ const measure = measures[phase];
32
+ const from = measure && (measure.from === "start" ? 0 : timeline.marks[measure.from]);
33
+ try {
34
+ performance.mark(`manta-chat:${phase}`);
35
+ if (measure && from !== undefined) {
36
+ performance.measure(`manta-chat:${measure.name}`, { start: timeline.startedAt + from, end: now });
37
+ }
38
+ }
39
+ catch { }
40
+ return true;
41
+ }
42
+ function elapsed(from, to) {
43
+ return Math.max(0, Math.round(to - from));
44
+ }
45
+ export function chatStartupReport(timeline, input) {
46
+ const { marks } = timeline;
47
+ const socketOpen = marks["socket-open"];
48
+ const chatMounted = marks["chat-mounted"];
49
+ const firstPaint = marks["first-paint"];
50
+ const interactive = marks.interactive;
51
+ if (socketOpen === undefined || chatMounted === undefined || firstPaint === undefined || interactive === undefined) {
52
+ return undefined;
53
+ }
54
+ const tokenRequested = marks["token-requested"];
55
+ const ticketRequested = marks["ticket-requested"];
56
+ const ticketReceived = marks["ticket-received"];
57
+ const ticketed = input.mode === "ticket" && ticketRequested !== undefined && ticketReceived !== undefined;
58
+ return {
59
+ ...input,
60
+ ...(ticketed && tokenRequested !== undefined ? { hostTokenMs: elapsed(tokenRequested, ticketRequested) } : {}),
61
+ ...(ticketed
62
+ ? { ticketMs: elapsed(ticketRequested, ticketReceived), ticketAttempts: Math.max(1, timeline.ticketAttempts) }
63
+ : {}),
64
+ socketMs: elapsed(marks["socket-enabled"] ?? 0, socketOpen),
65
+ socketAttempts: Math.max(1, timeline.socketAttempts),
66
+ chatMountMs: elapsed(0, chatMounted),
67
+ socketReadyAtOpen: socketOpen <= chatMounted,
68
+ firstPaintMs: elapsed(chatMounted, firstPaint),
69
+ interactiveMs: elapsed(chatMounted, interactive),
70
+ };
71
+ }
72
+ //# sourceMappingURL=chat-startup-timing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-startup-timing.js","sourceRoot":"","sources":["../../src/providers/chat-startup-timing.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionFormDialog.d.ts","sourceRoot":"","sources":["../../../../../src/routes/data-explorer/components/record-detail/ActionFormDialog.tsx"],"names":[],"mappings":"AAMA,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAY7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAG/D,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEjD,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,IAAI,EAAE,cAAc,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,UAAU,EAAE,WAAW,KAAK,IAAI,CAAC;CAC7C,CAAC;AAeF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,2CAwI5D"}
1
+ {"version":3,"file":"ActionFormDialog.d.ts","sourceRoot":"","sources":["../../../../../src/routes/data-explorer/components/record-detail/ActionFormDialog.tsx"],"names":[],"mappings":"AAMA,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAY7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAG/D,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEjD,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,IAAI,EAAE,cAAc,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,UAAU,EAAE,WAAW,KAAK,IAAI,CAAC;CAC7C,CAAC;AAeF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,2CAkH5D"}
@@ -28,7 +28,6 @@ export function ActionFormDialog(props) {
28
28
  const baselineRef = useRef(null);
29
29
  const [refusal, setRefusal] = useState(null);
30
30
  const [formElement, setFormElement] = useState(null);
31
- const [isReadingForm, setIsReadingForm] = useState(false);
32
31
  const attachForm = useCallback((element) => setFormElement(element), []);
33
32
  const { data, isLoading, error } = useShaclShapesQuery(mantaClient, { shapeIri: actionShape }, { enabled: open });
34
33
  const hasShapesError = isPresent(error);
@@ -39,38 +38,25 @@ export function ActionFormDialog(props) {
39
38
  useEffect(() => {
40
39
  if (!formElement || !isUpdate)
41
40
  return;
42
- let cancelled = false;
43
41
  // Baseline is the form's own serialization: its editors normalize literals, the triples do not.
44
- async function captureBaseline() {
42
+ function onReady() {
45
43
  const store = formElement?.toRDF();
46
- const baseline = store ? await baselineFromStore(store, subjectIri) : null;
47
- if (baseline && !cancelled)
44
+ const baseline = store ? baselineFromStore(store, subjectIri) : null;
45
+ if (baseline)
48
46
  baselineRef.current = baseline;
49
47
  }
50
- function onReady() {
51
- void captureBaseline();
52
- }
53
48
  onReady();
54
49
  formElement.addEventListener("ready", onReady);
55
- return () => {
56
- cancelled = true;
57
- formElement.removeEventListener("ready", onReady);
58
- };
50
+ return () => formElement.removeEventListener("ready", onReady);
59
51
  }, [formElement, isUpdate, subjectIri]);
60
- async function submit() {
52
+ function submit() {
61
53
  const store = formElement?.toRDF();
62
54
  const baseline = baselineRef.current;
63
55
  if (!store || (isUpdate && !baseline)) {
64
56
  setRefusal("The form is not ready yet.");
65
57
  return;
66
58
  }
67
- setIsReadingForm(true);
68
- const edited = await propertiesFromStore(store, subjectIri).catch(() => null);
69
- setIsReadingForm(false);
70
- if (!edited) {
71
- setRefusal("The form could not be read.");
72
- return;
73
- }
59
+ const edited = propertiesFromStore(store, subjectIri);
74
60
  if (isUpdate && baseline) {
75
61
  const cleared = removedPredicates(baseline, edited);
76
62
  if (isPresent(cleared)) {
@@ -86,6 +72,6 @@ export function ActionFormDialog(props) {
86
72
  setRefusal(null);
87
73
  onSubmit(properties);
88
74
  }
89
- return (_jsx(Dialog, { open: open, onOpenChange: onOpenChange, children: _jsxs(DialogContent, { className: "flex max-h-[85vh] flex-col overflow-hidden", children: [_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { text: copy.title }), _jsxs(DialogDescription, { children: [copy.description, " Shape ", _jsx("code", { className: "font-mono", children: compactUri(actionShape) }), "."] })] }), _jsxs("div", { className: "min-h-0 flex-1 overflow-y-auto", children: [isLoading && _jsx(LoadingRows, { rows: 4 }), hasShapesError && _jsx(StatusText, { children: "Failed to load the form for this shape." }), !isLoading && !hasShapesError && !shapesTurtle && _jsx(StatusText, { children: "This shape defines no fields." }), shapesTurtle && (_jsx(ShaclForm, { shapes: shapesTurtle, shapeSubject: actionShape, values: valuesTurtle, valuesSubject: subjectIri, collapse: "open", formRef: attachForm }))] }), refusal && (_jsx(StatusText, { className: "text-error-foreground", role: "alert", children: refusal })), _jsxs(DialogFooter, { children: [_jsx(Button, { variant: "tertiary", size: "sm", onClick: () => onOpenChange(false), children: "Cancel" }), _jsx(Button, { size: "sm", onClick: () => void submit(), isLoading: isPending || isReadingForm, disabled: !shapesTurtle, children: copy.submitLabel })] })] }) }));
75
+ return (_jsx(Dialog, { open: open, onOpenChange: onOpenChange, children: _jsxs(DialogContent, { className: "flex max-h-[85vh] flex-col overflow-hidden", children: [_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { text: copy.title }), _jsxs(DialogDescription, { children: [copy.description, " Shape ", _jsx("code", { className: "font-mono", children: compactUri(actionShape) }), "."] })] }), _jsxs("div", { className: "min-h-0 flex-1 overflow-y-auto", children: [isLoading && _jsx(LoadingRows, { rows: 4 }), hasShapesError && _jsx(StatusText, { children: "Failed to load the form for this shape." }), !isLoading && !hasShapesError && !shapesTurtle && _jsx(StatusText, { children: "This shape defines no fields." }), shapesTurtle && (_jsx(ShaclForm, { shapes: shapesTurtle, shapeSubject: actionShape, values: valuesTurtle, valuesSubject: subjectIri, collapse: "open", formRef: attachForm }))] }), refusal && (_jsx(StatusText, { className: "text-error-foreground", role: "alert", children: refusal })), _jsxs(DialogFooter, { children: [_jsx(Button, { variant: "tertiary", size: "sm", onClick: () => onOpenChange(false), children: "Cancel" }), _jsx(Button, { size: "sm", onClick: submit, isLoading: isPending, disabled: !shapesTurtle, children: copy.submitLabel })] })] }) }));
90
76
  }
91
77
  //# sourceMappingURL=ActionFormDialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionFormDialog.js","sourceRoot":"","sources":["../../../../../src/routes/data-explorer/components/record-detail/ActionFormDialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ActionFormDialog.js","sourceRoot":"","sources":["../../../../../src/routes/data-explorer/components/record-detail/ActionFormDialog.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatPreview.d.ts","sourceRoot":"","sources":["../../../../../src/routes/data-explorer/components/record-detail/ChatPreview.tsx"],"names":[],"mappings":"AAmBA,KAAK,gBAAgB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AA6DlE,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAuClD"}
1
+ {"version":3,"file":"ChatPreview.d.ts","sourceRoot":"","sources":["../../../../../src/routes/data-explorer/components/record-detail/ChatPreview.tsx"],"names":[],"mappings":"AAoBA,KAAK,gBAAgB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AA6DlE,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CA2ClD"}
@@ -6,7 +6,7 @@ import { safeIri } from "../../namespaces.js";
6
6
  import { LoadingRows, StatusText } from "../RawTriples.js";
7
7
  import { actionShapesForTypes } from "./action-shapes.js";
8
8
  import { Badge } from "#components/badge/index";
9
- import { findEntityNode, GenericView, getEntityView, rdfGraphToNodesAndEdges, sectionLabelClass, useSparqlConstruct, } from "#ldo-ui";
9
+ import { EntityViewWithLinks, findEntityNode, GenericView, getEntityView, rdfGraphToNodesAndEdges, sectionLabelClass, useSparqlConstruct, } from "#ldo-ui";
10
10
  import { cn } from "#lib/utils";
11
11
  function entitySubgraphQuery(entityIri) {
12
12
  const term = `<${safeIri(entityIri)}>`;
@@ -41,6 +41,6 @@ export function ChatPreview(props) {
41
41
  if (!node)
42
42
  return _jsx(StatusText, { children: "Nothing to preview." });
43
43
  const EntityView = getEntityView(node.data.type, node.data.actionShape);
44
- return (_jsxs("div", { className: "flex flex-col gap-6", children: [_jsxs("section", { children: [_jsx("h3", { className: cn(sectionLabelClass, "mb-1.5 text-muted-foreground"), children: "Chat rendering" }), _jsx("div", { className: "max-w-md", children: EntityView ? _jsx(EntityView, { data: node.data }) : _jsx(GenericView, { data: node.data, defaultExpanded: true }) })] }), _jsxs("section", { children: [_jsx("h3", { className: cn(sectionLabelClass, "mb-1.5 text-muted-foreground"), children: "Possible actions" }), isPresent(actionShapes) ? (_jsx("div", { className: "overflow-hidden rounded-xl border border-muted-border", children: actionShapes.map((shape, index) => (_jsx("div", { className: cn(index > 0 && "border-t border-muted-border/50"), children: _jsx(ActionShapeRow, { shape: shape, nodeData: node.data }) }, shape.iri))) })) : (_jsx(StatusText, { children: "No actions target this record's type." }))] })] }));
44
+ return (_jsxs("div", { className: "flex flex-col gap-6", children: [_jsxs("section", { children: [_jsx("h3", { className: cn(sectionLabelClass, "mb-1.5 text-muted-foreground"), children: "Chat rendering" }), _jsx("div", { className: "max-w-md", children: EntityView ? (_jsx(EntityViewWithLinks, { view: EntityView, data: node.data })) : (_jsx(GenericView, { data: node.data, defaultExpanded: true })) })] }), _jsxs("section", { children: [_jsx("h3", { className: cn(sectionLabelClass, "mb-1.5 text-muted-foreground"), children: "Possible actions" }), isPresent(actionShapes) ? (_jsx("div", { className: "overflow-hidden rounded-xl border border-muted-border", children: actionShapes.map((shape, index) => (_jsx("div", { className: cn(index > 0 && "border-t border-muted-border/50"), children: _jsx(ActionShapeRow, { shape: shape, nodeData: node.data }) }, shape.iri))) })) : (_jsx(StatusText, { children: "No actions target this record's type." }))] })] }));
45
45
  }
46
46
  //# sourceMappingURL=ChatPreview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatPreview.js","sourceRoot":"","sources":["../../../../../src/routes/data-explorer/components/record-detail/ChatPreview.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatPreview.js","sourceRoot":"","sources":["../../../../../src/routes/data-explorer/components/record-detail/ChatPreview.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { ShaclFormStore } from "@ulb-darmstadt/shacl-form";
2
2
  export type PropertyMap = Record<string, unknown>;
3
- export declare function propertiesFromStore(store: ShaclFormStore, subjectIri: string): Promise<PropertyMap>;
4
- export declare function baselineFromStore(store: ShaclFormStore, subjectIri: string): Promise<PropertyMap | null>;
3
+ export declare function propertiesFromStore(store: ShaclFormStore, subjectIri: string): PropertyMap;
4
+ export declare function baselineFromStore(store: ShaclFormStore, subjectIri: string): PropertyMap | null;
5
5
  export declare function changedProperties(current: PropertyMap, next: PropertyMap): PropertyMap;
6
6
  export declare function removedPredicates(current: PropertyMap, next: PropertyMap): string[];
7
7
  //# sourceMappingURL=action-properties.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"action-properties.d.ts","sourceRoot":"","sources":["../../../../../src/routes/data-explorer/components/record-detail/action-properties.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAKlD,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAKzG;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAI9G;AASD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,WAAW,CAUtF;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,EAAE,CAEnF"}
1
+ {"version":3,"file":"action-properties.d.ts","sourceRoot":"","sources":["../../../../../src/routes/data-explorer/components/record-detail/action-properties.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAKlD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,CAK1F;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAI/F;AASD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,WAAW,CAUtF;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,EAAE,CAEnF"}
@@ -2,12 +2,12 @@ import { documentFromQuads } from "@manta-eu/client/shared/action-document";
2
2
  import { namespaces } from "@manta-eu/client/shared/rdf-namespaces";
3
3
  // The form stamps this on every serialization
4
4
  const conformsTo = `${namespaces.dcterms}conformsTo`;
5
- export async function propertiesFromStore(store, subjectIri) {
5
+ export function propertiesFromStore(store, subjectIri) {
6
6
  const quads = [...store].filter((quad) => quad.predicate.value !== conformsTo);
7
- const { "@id": _id, "@type": _type, ...properties } = await documentFromQuads(quads, subjectIri);
7
+ const { "@id": _id, "@type": _type, ...properties } = documentFromQuads(quads, subjectIri);
8
8
  return properties;
9
9
  }
10
- export async function baselineFromStore(store, subjectIri) {
10
+ export function baselineFromStore(store, subjectIri) {
11
11
  if (store.size === 0)
12
12
  return null;
13
13
  return propertiesFromStore(store, subjectIri);
@@ -1 +1 @@
1
- {"version":3,"file":"action-properties.js","sourceRoot":"","sources":["../../../../../src/routes/data-explorer/components/record-detail/action-properties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAKpE,8CAA8C;AAC9C,MAAM,UAAU,GAAG,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAAqB,EAAE,UAAkB;IACjF,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;IAC/E,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAEjG,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAAqB,EAAE,UAAkB;IAC/E,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAElC,OAAO,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,SAAS,CAAC,IAAa,EAAE,KAAc;IAC9C,MAAM,SAAS,GAAG,CAAC,KAAc,EAAE,EAAE,CACnC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAEpH,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAoB,EAAE,IAAiB;IACvE,MAAM,OAAO,GAAgB,EAAE,CAAC;IAEhC,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,IAAI,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC;YAAE,SAAS;QAEnD,OAAO,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAoB,EAAE,IAAiB;IACvE,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC;AAC1E,CAAC"}
1
+ {"version":3,"file":"action-properties.js","sourceRoot":"","sources":["../../../../../src/routes/data-explorer/components/record-detail/action-properties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAKpE,8CAA8C;AAC9C,MAAM,UAAU,GAAG,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC;AAErD,MAAM,UAAU,mBAAmB,CAAC,KAAqB,EAAE,UAAkB;IAC3E,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;IAC/E,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,GAAG,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAE3F,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAqB,EAAE,UAAkB;IACzE,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAElC,OAAO,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,SAAS,CAAC,IAAa,EAAE,KAAc;IAC9C,MAAM,SAAS,GAAG,CAAC,KAAc,EAAE,EAAE,CACnC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAEpH,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAoB,EAAE,IAAiB;IACvE,MAAM,OAAO,GAAgB,EAAE,CAAC;IAEhC,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,IAAI,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC;YAAE,SAAS;QAEnD,OAAO,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAoB,EAAE,IAAiB;IACvE,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC;AAC1E,CAAC"}
@@ -17,6 +17,7 @@ export type OAuthConnectionMethod = ConnectionMethodBase & {
17
17
  source: "oauth";
18
18
  integration: GQLIntegration;
19
19
  callbackProvider?: string;
20
+ alternateCallbackProviders?: readonly string[];
20
21
  resumesSetupAfterOAuth?: boolean;
21
22
  connectedAction?: ComponentType;
22
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-shape.d.ts","sourceRoot":"","sources":["../../../src/routes/integrations/catalog-shape.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjH,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEtG,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AAEvD,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC9C,WAAW,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC9C,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,GACxD,wBAAwB,GAAG;IACzB,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAEJ,MAAM,MAAM,qBAAqB,GAAG,oBAAoB,GAAG;IACzD,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,cAAc,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,eAAe,CAAC,EAAE,aAAa,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,oBAAoB,GAAG;IACzD,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,GAAG;IACxD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,aAAa,EAAE,iBAAiB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAChC,uBAAuB,GACvB,qBAAqB,GACrB,qBAAqB,GACrB,oBAAoB,CAAC;AAEzB,MAAM,MAAM,2BAA2B,GAAG,wBAAwB,GAAG;IACnE,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,UAAU,CAAC,EAAE,oBAAoB,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,QAAQ,CAAC;IACrB,IAAI,EAAE,qBAAqB,CAAC;IAC5B,iBAAiB,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACvD,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,0BAA0B,CAAC,EAAE,SAAS,MAAM,GAAG,UAAU,IAAI;IAAE,EAAE,EAAE,EAAE,CAAA;CAAE,GAAG,oBAAoB,CAAC;AAE3G,MAAM,MAAM,2BAA2B,CAAC,EAAE,SAAS,MAAM,GAAG,UAAU,IAAI;IACxE,UAAU,EAAE,EAAE,CAAC;IACf,MAAM,EAAE,2BAA2B,CAAC;CACrC,CAAC;AAEF,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,oBAAoB,EAC3B,MAAM,GAAE,sBAA2B,GAClC,2BAA2B,GAAG,SAAS,CAOzC"}
1
+ {"version":3,"file":"catalog-shape.d.ts","sourceRoot":"","sources":["../../../src/routes/integrations/catalog-shape.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjH,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEtG,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AAEvD,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC9C,WAAW,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC9C,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,GACxD,wBAAwB,GAAG;IACzB,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAEJ,MAAM,MAAM,qBAAqB,GAAG,oBAAoB,GAAG;IACzD,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,cAAc,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,0BAA0B,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,eAAe,CAAC,EAAE,aAAa,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,oBAAoB,GAAG;IACzD,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,GAAG;IACxD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,aAAa,EAAE,iBAAiB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAChC,uBAAuB,GACvB,qBAAqB,GACrB,qBAAqB,GACrB,oBAAoB,CAAC;AAEzB,MAAM,MAAM,2BAA2B,GAAG,wBAAwB,GAAG;IACnE,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,UAAU,CAAC,EAAE,oBAAoB,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,QAAQ,CAAC;IACrB,IAAI,EAAE,qBAAqB,CAAC;IAC5B,iBAAiB,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACvD,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,0BAA0B,CAAC,EAAE,SAAS,MAAM,GAAG,UAAU,IAAI;IAAE,EAAE,EAAE,EAAE,CAAA;CAAE,GAAG,oBAAoB,CAAC;AAE3G,MAAM,MAAM,2BAA2B,CAAC,EAAE,SAAS,MAAM,GAAG,UAAU,IAAI;IACxE,UAAU,EAAE,EAAE,CAAC;IACf,MAAM,EAAE,2BAA2B,CAAC;CACrC,CAAC;AAEF,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,oBAAoB,EAC3B,MAAM,GAAE,sBAA2B,GAClC,2BAA2B,GAAG,SAAS,CAOzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-shape.js","sourceRoot":"","sources":["../../../src/routes/integrations/catalog-shape.ts"],"names":[],"mappings":"AAqEA,MAAM,UAAU,+BAA+B,CAC7C,KAA2B,EAC3B,SAAiC,EAAE;IAEnC,OAAO,KAAK,CAAC,iBAAiB,CAAC,IAAI,CACjC,CAAC,MAAM,EAAyC,EAAE,CAChD,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC;QACnD,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACvE,MAAM,CAAC,WAAW,KAAK,SAAS,CACnC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"catalog-shape.js","sourceRoot":"","sources":["../../../src/routes/integrations/catalog-shape.ts"],"names":[],"mappings":"AAuEA,MAAM,UAAU,+BAA+B,CAC7C,KAA2B,EAC3B,SAAiC,EAAE;IAEnC,OAAO,KAAK,CAAC,iBAAiB,CAAC,IAAI,CACjC,CAAC,MAAM,EAAyC,EAAE,CAChD,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC;QACnD,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACvE,MAAM,CAAC,WAAW,KAAK,SAAS,CACnC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { GQLInferalLocation, type GQLMicrosoftAdsAccount } from "@manta-eu/client";
2
+ import type { ConnectFormProps } from "./types.js";
3
+ import type { TreeSelectItem } from "#components/tree-multi-select/index";
4
+ export declare const defaultMicrosoftAdsLocation = GQLInferalLocation.Enam;
5
+ export declare function microsoftAdsTreeItems(accounts: GQLMicrosoftAdsAccount[], alreadyConnectedExternalIds: ReadonlySet<string>, reconnectableExternalIds?: ReadonlySet<string>): TreeSelectItem[];
6
+ export declare function MicrosoftAdsConnectForm(props: ConnectFormProps): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=MicrosoftAdsConnectForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MicrosoftAdsConnectForm.d.ts","sourceRoot":"","sources":["../../../../../src/routes/integrations/components/connect-forms/MicrosoftAdsConnectForm.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAIlB,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAC;AAK1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAmB1E,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AAsBnE,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,sBAAsB,EAAE,EAClC,2BAA2B,EAAE,WAAW,CAAC,MAAM,CAAC,EAChD,wBAAwB,GAAE,WAAW,CAAC,MAAM,CAAa,GACxD,cAAc,EAAE,CAclB;AAmDD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,gBAAgB,2CAgB9D"}
@@ -0,0 +1,76 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { GQLInferalLocation, GQLIntegration, useMicrosoftAdsSetupConnectMutation, useMicrosoftAdsSetupProgressQuery, } from "@manta-eu/client";
3
+ import { useQueryClient } from "@tanstack/react-query";
4
+ import { useState } from "react";
5
+ import { inferalLocationLabels } from "./inferal-locations.js";
6
+ import { OAuthSetupConnectForm } from "./OAuthSetupConnectForm.js";
7
+ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "#components/select/index";
8
+ import { useMantaClient } from "#providers/index";
9
+ const copy = {
10
+ providerName: "Microsoft Ads",
11
+ identityProviderName: "Microsoft",
12
+ entitySingular: "account",
13
+ entityPlural: "accounts",
14
+ signInDescription: "Sign in the way you sign in to Microsoft Advertising: with a Microsoft account, or with Google if your Advertising login is a Google account.",
15
+ pickTitle: "Pick the Microsoft Ads accounts to connect",
16
+ pickDescription: "Manta loads each account's Search campaigns, ad groups, ads and keywords, plus daily campaign, keyword and search-query reports.",
17
+ noEntitiesLabel: "We couldn't find any Microsoft Advertising accounts for this Microsoft sign-in. Sign in with a different user or check your account access.",
18
+ noneConnectableLabel: "Every Microsoft Advertising account on this sign-in is already connected. Sign in as a different user to connect another one.",
19
+ };
20
+ export const defaultMicrosoftAdsLocation = GQLInferalLocation.Enam;
21
+ // Microsoft Advertising refuses a Microsoft token for a login that is a Google account (GoogleAccountIsRequired).
22
+ const googleSignIn = [{ label: "Continue with Google", href: "/oauth/microsoft-ads-google/start" }];
23
+ const inferalLocations = new Set(Object.values(GQLInferalLocation));
24
+ function isInferalLocation(value) {
25
+ return inferalLocations.has(value);
26
+ }
27
+ function accountHint(account, alreadyConnected, reconnectable) {
28
+ if (!account.connectable)
29
+ return "Unavailable";
30
+ if (reconnectable)
31
+ return "Reconnect";
32
+ if (alreadyConnected)
33
+ return "Already connected";
34
+ return undefined;
35
+ }
36
+ export function microsoftAdsTreeItems(accounts, alreadyConnectedExternalIds, reconnectableExternalIds = new Set()) {
37
+ return accounts.map((account) => {
38
+ const reconnectable = reconnectableExternalIds.has(account.id);
39
+ const alreadyConnected = !reconnectable && alreadyConnectedExternalIds.has(account.id);
40
+ return {
41
+ id: account.id,
42
+ label: account.name ?? account.number ?? account.id,
43
+ caption: account.number ?? account.id,
44
+ hint: accountHint(account, alreadyConnected, reconnectable),
45
+ selectable: account.connectable,
46
+ disabled: alreadyConnected,
47
+ depth: 0,
48
+ };
49
+ });
50
+ }
51
+ function useMicrosoftAdsSetup(location) {
52
+ const { mantaClient } = useMantaClient();
53
+ const queryClient = useQueryClient();
54
+ const progressQuery = useMicrosoftAdsSetupProgressQuery(mantaClient, undefined, { staleTime: 0 });
55
+ const connectMutation = useMicrosoftAdsSetupConnectMutation(mantaClient);
56
+ const progress = progressQuery.data?.microsoftAdsSetupProgress;
57
+ return {
58
+ progress: progress && { state: progress.state, rows: progress.accounts, lastError: progress.lastError },
59
+ refetchProgress: progressQuery.refetch,
60
+ resetProgress: () => queryClient.setQueryData(useMicrosoftAdsSetupProgressQuery.getKey(), {
61
+ microsoftAdsSetupProgress: { state: [], accounts: null, lastError: null },
62
+ }),
63
+ connect: async (accountIds) => (await connectMutation.mutateAsync({ accountIds, location })).microsoftAdsSetupConnect,
64
+ isConnecting: connectMutation.isPending,
65
+ };
66
+ }
67
+ function LocationPicker(props) {
68
+ const { value, onChange } = props;
69
+ return (_jsxs("div", { className: "grid gap-1", children: [_jsxs(Select, { value: value, onValueChange: (next) => isInferalLocation(next) && onChange(next), children: [_jsx(SelectTrigger, { label: "Stream location", id: "microsoft-ads-location", className: "w-full h-10", children: _jsx(SelectValue, { placeholder: "Select a region" }) }), _jsx(SelectContent, { children: Object.entries(inferalLocationLabels).map(([location, label]) => (_jsx(SelectItem, { value: location, children: label }, location))) })] }), _jsx("p", { className: "typography-caption text-muted-foreground", children: "Where the account's data stream runs. Pick the region closest to your account." })] }));
70
+ }
71
+ export function MicrosoftAdsConnectForm(props) {
72
+ const [location, setLocation] = useState(defaultMicrosoftAdsLocation);
73
+ const setup = useMicrosoftAdsSetup(location);
74
+ return (_jsx(OAuthSetupConnectForm, { ...props, integration: GQLIntegration.MicrosoftAds, oauthStartPath: "/oauth/microsoft-ads/start", copy: copy, setup: setup, treeItems: microsoftAdsTreeItems, pickExtras: _jsx(LocationPicker, { value: location, onChange: setLocation }), alternateSignIns: googleSignIn }));
75
+ }
76
+ //# sourceMappingURL=MicrosoftAdsConnectForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MicrosoftAdsConnectForm.js","sourceRoot":"","sources":["../../../../../src/routes/integrations/components/connect-forms/MicrosoftAdsConnectForm.tsx"],"names":[],"mappings":"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"}