@manta-eu/react 0.1.7 → 0.1.9

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 (231) hide show
  1. package/README.md +2 -0
  2. package/dist/components/chart/AreaChart.d.ts.map +1 -1
  3. package/dist/components/chart/AreaChart.js +4 -6
  4. package/dist/components/chart/BarChart.d.ts.map +1 -1
  5. package/dist/components/chart/BarChart.js +5 -6
  6. package/dist/components/chart/ComposedChart.d.ts.map +1 -1
  7. package/dist/components/chart/ComposedChart.js +15 -7
  8. package/dist/components/chart/LineChart.d.ts.map +1 -1
  9. package/dist/components/chart/LineChart.js +4 -6
  10. package/dist/components/chart/annotations.d.ts +4 -0
  11. package/dist/components/chart/annotations.d.ts.map +1 -1
  12. package/dist/components/chart/annotations.js +10 -2
  13. package/dist/components/chart/chart-schemas.d.ts +1960 -54
  14. package/dist/components/chart/chart-schemas.d.ts.map +1 -1
  15. package/dist/components/chart/chart-schemas.js +137 -15
  16. package/dist/components/chart/series.d.ts +28 -0
  17. package/dist/components/chart/series.d.ts.map +1 -0
  18. package/dist/components/chart/series.js +61 -0
  19. package/dist/components/chart/stacks.d.ts +9 -0
  20. package/dist/components/chart/stacks.d.ts.map +1 -0
  21. package/dist/components/chart/stacks.js +11 -0
  22. package/dist/components/chat-view/ChatHeaders.d.ts.map +1 -1
  23. package/dist/components/chat-view/ChatHeaders.js +2 -2
  24. package/dist/components/layouts/Sidebar.d.ts.map +1 -1
  25. package/dist/components/layouts/Sidebar.js +14 -3
  26. package/dist/components/planning/ActioningView.d.ts +1 -0
  27. package/dist/components/planning/ActioningView.d.ts.map +1 -1
  28. package/dist/components/planning/ActioningView.js +15 -52
  29. package/dist/components/planning/ExecutionSectionItem.d.ts +6 -4
  30. package/dist/components/planning/ExecutionSectionItem.d.ts.map +1 -1
  31. package/dist/components/planning/ExecutionSectionItem.js +2 -2
  32. package/dist/components/planning/ExecutionSections.d.ts +6 -4
  33. package/dist/components/planning/ExecutionSections.d.ts.map +1 -1
  34. package/dist/components/planning/ExecutionSections.js +2 -2
  35. package/dist/components/planning/ManualActionCard.d.ts +14 -8
  36. package/dist/components/planning/ManualActionCard.d.ts.map +1 -1
  37. package/dist/components/planning/ManualActionCard.js +44 -24
  38. package/dist/components/planning/ManualActionList.d.ts +22 -0
  39. package/dist/components/planning/ManualActionList.d.ts.map +1 -0
  40. package/dist/components/planning/ManualActionList.js +35 -0
  41. package/dist/components/planning/manual-action-targets.d.ts +4 -0
  42. package/dist/components/planning/manual-action-targets.d.ts.map +1 -0
  43. package/dist/components/planning/manual-action-targets.js +19 -0
  44. package/dist/components/select/index.d.ts.map +1 -1
  45. package/dist/components/select/index.js +4 -1
  46. package/dist/components/sidebar/index.d.ts +2 -0
  47. package/dist/components/sidebar/index.d.ts.map +1 -1
  48. package/dist/components/sidebar/index.js +1 -0
  49. package/dist/components/sidebar/nav-user.d.ts +1 -1
  50. package/dist/components/sidebar/nav-user.d.ts.map +1 -1
  51. package/dist/components/sidebar/nav-user.js +3 -3
  52. package/dist/components/sidebar/user-avatar.d.ts +7 -0
  53. package/dist/components/sidebar/user-avatar.d.ts.map +1 -0
  54. package/dist/components/sidebar/user-avatar.js +9 -0
  55. package/dist/globals.css +6 -13
  56. package/dist/hooks/use-connection-problems.d.ts.map +1 -1
  57. package/dist/hooks/use-manual-actions.d.ts +13 -3
  58. package/dist/hooks/use-manual-actions.d.ts.map +1 -1
  59. package/dist/hooks/use-manual-actions.js +16 -10
  60. package/dist/hooks/useAuth.d.ts +1 -0
  61. package/dist/hooks/useAuth.d.ts.map +1 -1
  62. package/dist/hooks/useAuth.js +7 -1
  63. package/dist/hooks/useConversations.d.ts +1 -0
  64. package/dist/hooks/useConversations.d.ts.map +1 -1
  65. package/dist/hooks/useResolveManualAction.d.ts +14 -0
  66. package/dist/hooks/useResolveManualAction.d.ts.map +1 -0
  67. package/dist/hooks/useResolveManualAction.js +47 -0
  68. package/dist/hooks/useValidateActionPlan.d.ts.map +1 -1
  69. package/dist/ldo-ui.d.ts +2 -1
  70. package/dist/ldo-ui.d.ts.map +1 -1
  71. package/dist/ldo-ui.js +2 -1
  72. package/dist/lib/build-config.d.ts +2 -0
  73. package/dist/lib/build-config.d.ts.map +1 -1
  74. package/dist/lib/build-config.js +2 -0
  75. package/dist/lib/chat-types.d.ts +1 -0
  76. package/dist/lib/chat-types.d.ts.map +1 -1
  77. package/dist/lib/datastore-route-table.d.ts +2 -0
  78. package/dist/lib/datastore-route-table.d.ts.map +1 -1
  79. package/dist/lib/datastore-route-table.js +3 -1
  80. package/dist/lib/datastore-routes.d.ts +7 -1
  81. package/dist/lib/datastore-routes.d.ts.map +1 -1
  82. package/dist/lib/datastore-routes.js +7 -2
  83. package/dist/lib/decode-chart-entities.d.ts.map +1 -1
  84. package/dist/lib/decode-chart-entities.js +5 -1
  85. package/dist/lib/manual-actions.d.ts +1 -0
  86. package/dist/lib/manual-actions.d.ts.map +1 -1
  87. package/dist/lib/manual-actions.js +4 -1
  88. package/dist/lib/structured-data/types.d.ts +7 -2
  89. package/dist/lib/structured-data/types.d.ts.map +1 -1
  90. package/dist/providers/ChatManagerProvider.d.ts.map +1 -1
  91. package/dist/providers/ChatManagerProvider.js +18 -16
  92. package/dist/providers/NavExtrasProvider.d.ts +23 -0
  93. package/dist/providers/NavExtrasProvider.d.ts.map +1 -0
  94. package/dist/providers/NavExtrasProvider.js +10 -0
  95. package/dist/providers/index.d.ts +1 -0
  96. package/dist/providers/index.d.ts.map +1 -1
  97. package/dist/providers/index.js +1 -0
  98. package/dist/routes/explain/ExplainEmpty.d.ts.map +1 -1
  99. package/dist/routes/explain/ExplainEmpty.js +2 -1
  100. package/dist/routes/integrations/catalog-shape.d.ts +2 -1
  101. package/dist/routes/integrations/catalog-shape.d.ts.map +1 -1
  102. package/dist/routes/integrations/components/AddIntegrationModal.d.ts.map +1 -1
  103. package/dist/routes/integrations/components/AddIntegrationModal.js +1 -1
  104. package/dist/routes/integrations/components/MantaSyncPluginDownload.d.ts +13 -0
  105. package/dist/routes/integrations/components/MantaSyncPluginDownload.d.ts.map +1 -0
  106. package/dist/routes/integrations/components/MantaSyncPluginDownload.js +23 -0
  107. package/dist/routes/integrations/components/connect-forms/ConnectFormHeader.d.ts +1 -1
  108. package/dist/routes/integrations/components/connect-forms/ConnectFormHeader.d.ts.map +1 -1
  109. package/dist/routes/integrations/components/connect-forms/ConnectWizardShell.d.ts +1 -1
  110. package/dist/routes/integrations/components/connect-forms/ConnectWizardShell.d.ts.map +1 -1
  111. package/dist/routes/integrations/components/connect-forms/ConnectionStringInput.d.ts +11 -0
  112. package/dist/routes/integrations/components/connect-forms/ConnectionStringInput.d.ts.map +1 -0
  113. package/dist/routes/integrations/components/connect-forms/ConnectionStringInput.js +49 -0
  114. package/dist/routes/integrations/components/connect-forms/DashConnectForm.d.ts +7 -0
  115. package/dist/routes/integrations/components/connect-forms/DashConnectForm.d.ts.map +1 -0
  116. package/dist/routes/integrations/components/connect-forms/DashConnectForm.js +87 -0
  117. package/dist/routes/integrations/components/connect-forms/DataConnectionConnectForm.d.ts +20 -0
  118. package/dist/routes/integrations/components/connect-forms/DataConnectionConnectForm.d.ts.map +1 -0
  119. package/dist/routes/integrations/components/connect-forms/DataConnectionConnectForm.js +144 -0
  120. package/dist/routes/integrations/components/connect-forms/DataConnectionFieldInputs.d.ts +8 -0
  121. package/dist/routes/integrations/components/connect-forms/DataConnectionFieldInputs.d.ts.map +1 -0
  122. package/dist/routes/integrations/components/connect-forms/DataConnectionFieldInputs.js +44 -0
  123. package/dist/routes/integrations/components/connect-forms/FigmaConnectForm.d.ts +3 -0
  124. package/dist/routes/integrations/components/connect-forms/FigmaConnectForm.d.ts.map +1 -0
  125. package/dist/routes/integrations/components/connect-forms/FigmaConnectForm.js +20 -0
  126. package/dist/routes/integrations/components/connect-forms/GmailConnectForm.d.ts +3 -0
  127. package/dist/routes/integrations/components/connect-forms/GmailConnectForm.d.ts.map +1 -0
  128. package/dist/routes/integrations/components/connect-forms/GmailConnectForm.js +11 -0
  129. package/dist/routes/integrations/components/connect-forms/GoogleAdsConnectForm.d.ts +3 -0
  130. package/dist/routes/integrations/components/connect-forms/GoogleAdsConnectForm.d.ts.map +1 -0
  131. package/dist/routes/integrations/components/connect-forms/GoogleAdsConnectForm.js +37 -0
  132. package/dist/routes/integrations/components/connect-forms/GoogleAnalyticsConnectForm.d.ts +3 -0
  133. package/dist/routes/integrations/components/connect-forms/GoogleAnalyticsConnectForm.d.ts.map +1 -0
  134. package/dist/routes/integrations/components/connect-forms/GoogleAnalyticsConnectForm.js +37 -0
  135. package/dist/routes/integrations/components/connect-forms/ImportStartedNotice.d.ts +21 -0
  136. package/dist/routes/integrations/components/connect-forms/ImportStartedNotice.d.ts.map +1 -0
  137. package/dist/routes/integrations/components/connect-forms/ImportStartedNotice.js +25 -0
  138. package/dist/routes/integrations/components/connect-forms/InferalCredentialConnectForm.d.ts +45 -0
  139. package/dist/routes/integrations/components/connect-forms/InferalCredentialConnectForm.d.ts.map +1 -0
  140. package/dist/routes/integrations/components/connect-forms/InferalCredentialConnectForm.js +188 -0
  141. package/dist/routes/integrations/components/connect-forms/KlaviyoConnectForm.d.ts +6 -0
  142. package/dist/routes/integrations/components/connect-forms/KlaviyoConnectForm.d.ts.map +1 -0
  143. package/dist/routes/integrations/components/connect-forms/KlaviyoConnectForm.js +68 -0
  144. package/dist/routes/integrations/components/connect-forms/LinkedinConnectForm.d.ts +10 -0
  145. package/dist/routes/integrations/components/connect-forms/LinkedinConnectForm.d.ts.map +1 -0
  146. package/dist/routes/integrations/components/connect-forms/LinkedinConnectForm.js +124 -0
  147. package/dist/routes/integrations/components/connect-forms/MetaAdsConnectForm.d.ts +14 -0
  148. package/dist/routes/integrations/components/connect-forms/MetaAdsConnectForm.d.ts.map +1 -0
  149. package/dist/routes/integrations/components/connect-forms/MetaAdsConnectForm.js +183 -0
  150. package/dist/routes/integrations/components/connect-forms/OAuthConnectLink.d.ts +10 -0
  151. package/dist/routes/integrations/components/connect-forms/OAuthConnectLink.d.ts.map +1 -0
  152. package/dist/routes/integrations/components/connect-forms/OAuthConnectLink.js +17 -0
  153. package/dist/routes/integrations/components/connect-forms/OAuthSetupConnectForm.d.ts +45 -0
  154. package/dist/routes/integrations/components/connect-forms/OAuthSetupConnectForm.d.ts.map +1 -0
  155. package/dist/routes/integrations/components/connect-forms/OAuthSetupConnectForm.js +136 -0
  156. package/dist/routes/integrations/components/connect-forms/OAuthSingleAccountConnectForm.d.ts +23 -0
  157. package/dist/routes/integrations/components/connect-forms/OAuthSingleAccountConnectForm.d.ts.map +1 -0
  158. package/dist/routes/integrations/components/connect-forms/OAuthSingleAccountConnectForm.js +63 -0
  159. package/dist/routes/integrations/components/connect-forms/ShopifyConnectForm.d.ts +3 -0
  160. package/dist/routes/integrations/components/connect-forms/ShopifyConnectForm.d.ts.map +1 -0
  161. package/dist/routes/integrations/components/connect-forms/ShopifyConnectForm.js +14 -0
  162. package/dist/routes/integrations/components/connect-forms/SlackConnectForm.d.ts +3 -0
  163. package/dist/routes/integrations/components/connect-forms/SlackConnectForm.d.ts.map +1 -0
  164. package/dist/routes/integrations/components/connect-forms/SlackConnectForm.js +10 -0
  165. package/dist/routes/integrations/components/connect-forms/TriplewhaleConnectForm.d.ts +5 -0
  166. package/dist/routes/integrations/components/connect-forms/TriplewhaleConnectForm.d.ts.map +1 -0
  167. package/dist/routes/integrations/components/connect-forms/TriplewhaleConnectForm.js +35 -0
  168. package/dist/routes/integrations/components/connect-forms/WoocommerceConnectForm.d.ts +5 -0
  169. package/dist/routes/integrations/components/connect-forms/WoocommerceConnectForm.d.ts.map +1 -0
  170. package/dist/routes/integrations/components/connect-forms/WoocommerceConnectForm.js +47 -0
  171. package/dist/routes/integrations/components/connect-forms/connection-string-fields.d.ts +13 -0
  172. package/dist/routes/integrations/components/connect-forms/connection-string-fields.d.ts.map +1 -0
  173. package/dist/routes/integrations/components/connect-forms/connection-string-fields.js +110 -0
  174. package/dist/routes/integrations/components/connect-forms/dash-folder-tree.d.ts +6 -0
  175. package/dist/routes/integrations/components/connect-forms/dash-folder-tree.d.ts.map +1 -0
  176. package/dist/routes/integrations/components/connect-forms/dash-folder-tree.js +14 -0
  177. package/dist/routes/integrations/components/connect-forms/data-connection-fields.d.ts +35 -0
  178. package/dist/routes/integrations/components/connect-forms/data-connection-fields.d.ts.map +1 -0
  179. package/dist/routes/integrations/components/connect-forms/data-connection-fields.js +88 -0
  180. package/dist/routes/integrations/components/connect-forms/google-ads-account-tree.d.ts +11 -0
  181. package/dist/routes/integrations/components/connect-forms/google-ads-account-tree.d.ts.map +1 -0
  182. package/dist/routes/integrations/components/connect-forms/google-ads-account-tree.js +36 -0
  183. package/dist/routes/integrations/components/connect-forms/google-analytics-property-tree.d.ts +6 -0
  184. package/dist/routes/integrations/components/connect-forms/google-analytics-property-tree.d.ts.map +1 -0
  185. package/dist/routes/integrations/components/connect-forms/google-analytics-property-tree.js +34 -0
  186. package/dist/routes/integrations/components/connect-forms/oauth-setup-phase.d.ts +12 -0
  187. package/dist/routes/integrations/components/connect-forms/oauth-setup-phase.d.ts.map +1 -0
  188. package/dist/routes/integrations/components/connect-forms/oauth-setup-phase.js +33 -0
  189. package/dist/routes/integrations/components/connect-forms/setup-account-unavailable-reason.d.ts +3 -0
  190. package/dist/routes/integrations/components/connect-forms/setup-account-unavailable-reason.d.ts.map +1 -0
  191. package/dist/routes/integrations/components/connect-forms/setup-account-unavailable-reason.js +8 -0
  192. package/dist/routes/integrations/components/connect-forms/types.d.ts +5 -1
  193. package/dist/routes/integrations/components/connect-forms/types.d.ts.map +1 -1
  194. package/dist/routes/integrations/components/connect-forms/useConnectWizard.d.ts +19 -0
  195. package/dist/routes/integrations/components/connect-forms/useConnectWizard.d.ts.map +1 -0
  196. package/dist/routes/integrations/components/connect-forms/useConnectWizard.js +28 -0
  197. package/dist/routes/integrations/components/connect-forms/useConnectedExternalIds.d.ts +4 -0
  198. package/dist/routes/integrations/components/connect-forms/useConnectedExternalIds.d.ts.map +1 -0
  199. package/dist/routes/integrations/components/connect-forms/useConnectedExternalIds.js +17 -0
  200. package/dist/routes/integrations/components/connect-forms/useWindowFocusPoll.d.ts +7 -0
  201. package/dist/routes/integrations/components/connect-forms/useWindowFocusPoll.d.ts.map +1 -0
  202. package/dist/routes/integrations/components/connect-forms/useWindowFocusPoll.js +18 -0
  203. package/dist/routes/integrations/connect-forms.d.ts +16 -0
  204. package/dist/routes/integrations/connect-forms.d.ts.map +1 -0
  205. package/dist/routes/integrations/connect-forms.js +14 -0
  206. package/dist/routes/integrations/filter-connected-providers.d.ts +3 -0
  207. package/dist/routes/integrations/filter-connected-providers.d.ts.map +1 -0
  208. package/dist/routes/integrations/filter-connected-providers.js +15 -0
  209. package/dist/routes/integrations/overview.d.ts +3 -0
  210. package/dist/routes/integrations/overview.d.ts.map +1 -0
  211. package/dist/routes/integrations/overview.js +2 -0
  212. package/dist/routes/integrations/use-connected-account-entities.d.ts +10 -0
  213. package/dist/routes/integrations/use-connected-account-entities.d.ts.map +1 -0
  214. package/dist/routes/integrations/use-connected-account-entities.js +29 -0
  215. package/dist/routes/memories/components/EmptyStates.d.ts.map +1 -1
  216. package/dist/routes/memories/components/EmptyStates.js +2 -1
  217. package/dist/routes/plans/components/ActionPlanPage.d.ts +1 -0
  218. package/dist/routes/plans/components/ActionPlanPage.d.ts.map +1 -1
  219. package/dist/routes/plans/components/ActionPlanPage.js +9 -5
  220. package/dist/routes/plans/components/actionPlansTableConfig.d.ts +12 -12
  221. package/dist/rules/datalog-ast/DatalogBodyFormulaComponent.d.ts.map +1 -1
  222. package/dist/rules/datalog-ast/DatalogBodyFormulaComponent.js +4 -1
  223. package/dist/rules/rule-narrative-aggregates.d.ts +1 -0
  224. package/dist/rules/rule-narrative-aggregates.d.ts.map +1 -1
  225. package/dist/rules/rule-narrative-aggregates.js +20 -0
  226. package/dist/rules/rule-narrative-context.d.ts.map +1 -1
  227. package/dist/rules/rule-narrative-context.js +3 -9
  228. package/dist/rules/rule-narrative-format.d.ts +1 -1
  229. package/dist/rules/rule-narrative.d.ts.map +1 -1
  230. package/dist/rules/rule-narrative.js +22 -7
  231. package/package.json +47 -8
@@ -0,0 +1,35 @@
1
+ import { type GQLDataConnectorTypesQuery } from "@manta-eu/client";
2
+ import { z } from "zod";
3
+ export type ConnectorField = GQLDataConnectorTypesQuery["dataConnectorTypes"][number]["fields"][number];
4
+ export declare const nameKey = "connectionName";
5
+ export type DataConnectionValues = {
6
+ [nameKey]: string;
7
+ [setting: string]: string;
8
+ };
9
+ export declare const nameSchema: z.ZodString;
10
+ export declare function choices(field: ConnectorField): string[] | undefined;
11
+ export declare function settingsSchema(fields: readonly ConnectorField[]): z.ZodObject<{
12
+ [x: string]: z.ZodString;
13
+ }, z.core.$strip>;
14
+ export declare function formSchema(fields: readonly ConnectorField[]): z.ZodType<DataConnectionValues, DataConnectionValues>;
15
+ export declare function pickSettings(values: DataConnectionValues, fields: readonly ConnectorField[]): {
16
+ key: string;
17
+ value: string;
18
+ }[];
19
+ export declare function blankValues(fields: readonly ConnectorField[]): DataConnectionValues;
20
+ export type DataConnectionSetting = {
21
+ key: string;
22
+ value: string;
23
+ };
24
+ export type StoredDataConnection = {
25
+ name: string;
26
+ settings: readonly DataConnectionSetting[];
27
+ candidateSettings?: readonly DataConnectionSetting[] | null;
28
+ error?: string | null;
29
+ };
30
+ export declare function editableFields(fields: readonly ConnectorField[]): ConnectorField[];
31
+ export declare function storedValues(stored: StoredDataConnection, fields: readonly ConnectorField[]): DataConnectionValues;
32
+ export declare function changedSettings(values: DataConnectionValues, fields: readonly ConnectorField[], stored: StoredDataConnection): DataConnectionSetting[];
33
+ export declare function isCloudSqlField(field: ConnectorField): boolean;
34
+ export declare function hasCustomValue(values: Partial<DataConnectionValues>, fields: readonly ConnectorField[]): boolean;
35
+ //# sourceMappingURL=data-connection-fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-connection-fields.d.ts","sourceRoot":"","sources":["../../../../../src/routes/integrations/components/connect-forms/data-connection-fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAE9F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,cAAc,GAAG,0BAA0B,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAExG,eAAO,MAAM,OAAO,mBAAmB,CAAC;AAGxC,MAAM,MAAM,oBAAoB,GAAG;IAAE,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAEpF,eAAO,MAAM,UAAU,aAAiF,CAAC;AAQzG,wBAAgB,OAAO,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,EAAE,GAAG,SAAS,CAInE;AAaD,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE;;kBAE/D;AAGD,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAKnH;AAGD,wBAAgB,YAAY,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,SAAS,cAAc,EAAE;;;IAK3F;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,GAAG,oBAAoB,CAEnF;AAED,MAAM,MAAM,qBAAqB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC3C,iBAAiB,CAAC,EAAE,SAAS,qBAAqB,EAAE,GAAG,IAAI,CAAC;IAC5D,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAQF,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,GAAG,cAAc,EAAE,CAElF;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,SAAS,cAAc,EAAE,GAAG,oBAAoB,CAOlH;AAgBD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,SAAS,cAAc,EAAE,EACjC,MAAM,EAAE,oBAAoB,GAC3B,qBAAqB,EAAE,CAWzB;AAID,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAE9D;AAGD,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,SAAS,cAAc,EAAE,GAAG,OAAO,CAKhH"}
@@ -0,0 +1,88 @@
1
+ import { GQLDataConnectorFieldType } from "@manta-eu/client";
2
+ import { isPresent } from "@manta-eu/lib/present";
3
+ import { z } from "zod";
4
+ export const nameKey = "connectionName";
5
+ export const nameSchema = z.string().trim().min(1, "Name is required").max(64, "64 characters or fewer");
6
+ const valuePatterns = {
7
+ [GQLDataConnectorFieldType.Integer]: { pattern: /^-?\d+$/, message: "Enter a whole number" },
8
+ [GQLDataConnectorFieldType.Decimal]: { pattern: /^-?\d+(\.\d+)?$/, message: "Enter a number" },
9
+ [GQLDataConnectorFieldType.Boolean]: { pattern: /^(true|false)$/, message: "Choose true or false" },
10
+ };
11
+ export function choices(field) {
12
+ if (isPresent(field.enum))
13
+ return field.enum;
14
+ if (field.dataType === GQLDataConnectorFieldType.Boolean)
15
+ return ["true", "false"];
16
+ return undefined;
17
+ }
18
+ function fieldSchema(field) {
19
+ const base = z.string().trim();
20
+ const value = field.required ? base.min(1, `${field.title} is required`) : base;
21
+ const allowed = choices(field);
22
+ const format = valuePatterns[field.dataType];
23
+ return value
24
+ .refine((text) => !isPresent(text) || !allowed || allowed.includes(text), "Choose one of the listed values")
25
+ .refine((text) => !isPresent(text) || !format || format.pattern.test(text), format?.message);
26
+ }
27
+ export function settingsSchema(fields) {
28
+ return z.object(Object.fromEntries(fields.map((field) => [field.key, fieldSchema(field)])));
29
+ }
30
+ // The fields come at runtime, so the built schema has no static output type to infer.
31
+ export function formSchema(fields) {
32
+ return settingsSchema(fields).extend({ [nameKey]: nameSchema });
33
+ }
34
+ // A blank optional field is left out, so manta-clj applies the default of the connector.
35
+ export function pickSettings(values, fields) {
36
+ return fields.flatMap((field) => {
37
+ const value = values[field.key]?.trim() ?? "";
38
+ return isPresent(value) ? [{ key: field.key, value }] : [];
39
+ });
40
+ }
41
+ export function blankValues(fields) {
42
+ return { ...Object.fromEntries(fields.map((field) => [field.key, ""])), [nameKey]: "" };
43
+ }
44
+ // A change that waits for its test, or that failed it, is what the caller last typed.
45
+ function latestValueByKey(stored) {
46
+ const latest = stored.candidateSettings ?? stored.settings;
47
+ return new Map(latest.map(({ key, value }) => [key, value]));
48
+ }
49
+ export function editableFields(fields) {
50
+ return fields.map((field) => (field.secret ? { ...field, required: false } : field));
51
+ }
52
+ export function storedValues(stored, fields) {
53
+ const storedByKey = latestValueByKey(stored);
54
+ return {
55
+ ...Object.fromEntries(fields.map((field) => [field.key, field.secret ? "" : (storedByKey.get(field.key) ?? "")])),
56
+ [nameKey]: stored.name,
57
+ };
58
+ }
59
+ // manta-clj gives a setting with an empty value its connector default again.
60
+ function clearedSettings(settings, fields, storedByKey) {
61
+ const sentKeys = new Set(settings.map(({ key }) => key));
62
+ return fields
63
+ .filter((field) => !field.secret && storedByKey.has(field.key) && !sentKeys.has(field.key))
64
+ .map((field) => ({ key: field.key, value: "" }));
65
+ }
66
+ // An empty list only renames the connection, so manta-clj starts no new test.
67
+ // After a failed test, the same settings go again, because only a passed test clears the error.
68
+ export function changedSettings(values, fields, stored) {
69
+ const storedByKey = latestValueByKey(stored);
70
+ const settings = pickSettings(values, fields);
71
+ const cleared = clearedSettings(settings, fields, storedByKey);
72
+ if (isPresent(stored.error))
73
+ return [...settings, ...cleared];
74
+ const secretKeys = new Set(fields.filter((field) => field.secret).map((field) => field.key));
75
+ const changed = isPresent(cleared) || settings.some(({ key, value }) => secretKeys.has(key) || storedByKey.get(key) !== value);
76
+ return changed ? [...settings, ...cleared] : [];
77
+ }
78
+ const cloudSqlPrefix = "gcp_";
79
+ export function isCloudSqlField(field) {
80
+ return field.key.startsWith(cloudSqlPrefix);
81
+ }
82
+ // A value equal to the connector default counts as unset, because a stored boolean holds its default.
83
+ export function hasCustomValue(values, fields) {
84
+ return fields.some((field) => {
85
+ const value = values[field.key]?.trim() ?? "";
86
+ return isPresent(value) && value !== (field.default ?? "");
87
+ });
88
+ }
@@ -0,0 +1,11 @@
1
+ import type { GQLGoogleAdAccount } from "@manta-eu/client";
2
+ import { type TreeSelectItem } from "#components/tree-multi-select/index";
3
+ export type GoogleAdsAccountRow = {
4
+ account: GQLGoogleAdAccount;
5
+ depth: number;
6
+ };
7
+ export declare function isManagerAccount(account: GQLGoogleAdAccount): boolean;
8
+ export declare function isConnectable(account: GQLGoogleAdAccount): boolean;
9
+ export declare function buildAccountRows(accounts: GQLGoogleAdAccount[]): GoogleAdsAccountRow[];
10
+ export declare function googleAdsTreeItems(accounts: GQLGoogleAdAccount[], alreadyConnectedExternalIds: ReadonlySet<string>, reconnectableExternalIds?: ReadonlySet<string>): TreeSelectItem[];
11
+ //# sourceMappingURL=google-ads-account-tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-ads-account-tree.d.ts","sourceRoot":"","sources":["../../../../../src/routes/integrations/components/connect-forms/google-ads-account-tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAEzF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAErE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAElE;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,GAAG,mBAAmB,EAAE,CAEtF;AAcD,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,2BAA2B,EAAE,WAAW,CAAC,MAAM,CAAC,EAChD,wBAAwB,GAAE,WAAW,CAAC,MAAM,CAAa,GACxD,cAAc,EAAE,CAclB"}
@@ -0,0 +1,36 @@
1
+ import { buildTreeRows } from "#components/tree-multi-select/index";
2
+ export function isManagerAccount(account) {
3
+ return account.manager === true;
4
+ }
5
+ export function isConnectable(account) {
6
+ return account.connectable === true;
7
+ }
8
+ export function buildAccountRows(accounts) {
9
+ return buildTreeRows(accounts).map(({ node, depth }) => ({ account: node, depth }));
10
+ }
11
+ function accountHint(account, alreadyConnected, reconnectable) {
12
+ if (isManagerAccount(account))
13
+ return "Manager";
14
+ if (!isConnectable(account))
15
+ return "Unavailable";
16
+ if (reconnectable)
17
+ return "Reconnect";
18
+ if (alreadyConnected)
19
+ return "Already connected";
20
+ return undefined;
21
+ }
22
+ export function googleAdsTreeItems(accounts, alreadyConnectedExternalIds, reconnectableExternalIds = new Set()) {
23
+ return buildAccountRows(accounts).map(({ account, depth }) => {
24
+ const reconnectable = reconnectableExternalIds.has(account.id);
25
+ const alreadyConnected = !reconnectable && alreadyConnectedExternalIds.has(account.id);
26
+ return {
27
+ id: account.id,
28
+ label: account.name ?? account.id,
29
+ caption: account.name != null ? account.id : undefined,
30
+ hint: accountHint(account, alreadyConnected, reconnectable),
31
+ selectable: isConnectable(account),
32
+ disabled: alreadyConnected,
33
+ depth,
34
+ };
35
+ });
36
+ }
@@ -0,0 +1,6 @@
1
+ import type { GQLGoogleAnalyticsProperty } from "@manta-eu/client";
2
+ import { type TreeSelectItem } from "#components/tree-multi-select/index";
3
+ export declare function isAccount(row: GQLGoogleAnalyticsProperty): boolean;
4
+ export declare function isConnectable(row: GQLGoogleAnalyticsProperty): boolean;
5
+ export declare function googleAnalyticsTreeItems(rows: GQLGoogleAnalyticsProperty[], alreadyConnectedExternalIds: ReadonlySet<string>, reconnectableExternalIds?: ReadonlySet<string>): TreeSelectItem[];
6
+ //# sourceMappingURL=google-analytics-property-tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-analytics-property-tree.d.ts","sourceRoot":"","sources":["../../../../../src/routes/integrations/components/connect-forms/google-analytics-property-tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAEzF,wBAAgB,SAAS,CAAC,GAAG,EAAE,0BAA0B,GAAG,OAAO,CAElE;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,0BAA0B,GAAG,OAAO,CAEtE;AAcD,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,0BAA0B,EAAE,EAClC,2BAA2B,EAAE,WAAW,CAAC,MAAM,CAAC,EAChD,wBAAwB,GAAE,WAAW,CAAC,MAAM,CAAa,GACxD,cAAc,EAAE,CAelB"}
@@ -0,0 +1,34 @@
1
+ import { isPresent } from "@manta-eu/lib/present";
2
+ import { buildTreeRows } from "#components/tree-multi-select/index";
3
+ export function isAccount(row) {
4
+ return row.account === true;
5
+ }
6
+ export function isConnectable(row) {
7
+ return row.connectable === true;
8
+ }
9
+ function rowHint(row, alreadyConnected, reconnectable) {
10
+ if (isAccount(row))
11
+ return "Account";
12
+ if (!isConnectable(row))
13
+ return "Unavailable";
14
+ if (reconnectable)
15
+ return "Reconnect";
16
+ if (alreadyConnected)
17
+ return "Already connected";
18
+ return undefined;
19
+ }
20
+ export function googleAnalyticsTreeItems(rows, alreadyConnectedExternalIds, reconnectableExternalIds = new Set()) {
21
+ return buildTreeRows(rows).map(({ node, depth }) => {
22
+ const reconnectable = isPresent(node.externalId) && reconnectableExternalIds.has(node.externalId);
23
+ const alreadyConnected = !reconnectable && isPresent(node.externalId) && alreadyConnectedExternalIds.has(node.externalId);
24
+ return {
25
+ id: node.id,
26
+ label: node.name ?? node.id,
27
+ caption: node.name != null ? node.id : undefined,
28
+ hint: rowHint(node, alreadyConnected, reconnectable),
29
+ selectable: isConnectable(node),
30
+ disabled: alreadyConnected,
31
+ depth,
32
+ };
33
+ });
34
+ }
@@ -0,0 +1,12 @@
1
+ import { GQLGoogleSetupStateEnum } from "@manta-eu/client";
2
+ export type Phase = "idle" | "awaitingOAuth" | "loadingAccounts" | "pickingAccount" | "submitting" | "done" | "failed";
3
+ export type DerivePhaseInput = {
4
+ states: GQLGoogleSetupStateEnum[] | undefined;
5
+ hasStartedOAuth: boolean;
6
+ hasSeenActiveState: boolean;
7
+ resumesUnfinishedSetup?: boolean;
8
+ };
9
+ export declare const terminalStates: readonly GQLGoogleSetupStateEnum[];
10
+ export declare const activePhases: readonly Phase[];
11
+ export declare function derivePhase({ states, hasStartedOAuth, hasSeenActiveState, resumesUnfinishedSetup, }: DerivePhaseInput): Phase;
12
+ //# sourceMappingURL=oauth-setup-phase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-setup-phase.d.ts","sourceRoot":"","sources":["../../../../../src/routes/integrations/components/connect-forms/oauth-setup-phase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAG3D,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,eAAe,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEvH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,uBAAuB,EAAE,GAAG,SAAS,CAAC;IAC9C,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAE5B,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAYF,eAAO,MAAM,cAAc,EAAE,SAAS,uBAAuB,EAI5D,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,SAAS,KAAK,EAAyE,CAAC;AAEnH,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,eAAe,EACf,kBAAkB,EAClB,sBAA6B,GAC9B,EAAE,gBAAgB,GAAG,KAAK,CAa1B"}
@@ -0,0 +1,33 @@
1
+ import { GQLGoogleSetupStateEnum } from "@manta-eu/client";
2
+ import { match } from "ts-pattern";
3
+ const statePriority = [
4
+ GQLGoogleSetupStateEnum.Finished,
5
+ GQLGoogleSetupStateEnum.FatallyFailed,
6
+ GQLGoogleSetupStateEnum.TimedOut,
7
+ GQLGoogleSetupStateEnum.ConnectingAccounts,
8
+ GQLGoogleSetupStateEnum.SelectingAccounts,
9
+ GQLGoogleSetupStateEnum.FetchingAccounts,
10
+ GQLGoogleSetupStateEnum.Initializing,
11
+ ];
12
+ export const terminalStates = [
13
+ GQLGoogleSetupStateEnum.Finished,
14
+ GQLGoogleSetupStateEnum.FatallyFailed,
15
+ GQLGoogleSetupStateEnum.TimedOut,
16
+ ];
17
+ export const activePhases = ["awaitingOAuth", "loadingAccounts", "pickingAccount", "submitting"];
18
+ export function derivePhase({ states, hasStartedOAuth, hasSeenActiveState, resumesUnfinishedSetup = true, }) {
19
+ const defaultPhase = hasStartedOAuth ? "awaitingOAuth" : "idle";
20
+ if (!hasStartedOAuth && !resumesUnfinishedSetup)
21
+ return defaultPhase;
22
+ const dominant = statePriority.find((state) => states?.includes(state));
23
+ if (dominant && terminalStates.includes(dominant) && !hasSeenActiveState)
24
+ return defaultPhase;
25
+ return match(dominant)
26
+ .returnType()
27
+ .with(GQLGoogleSetupStateEnum.Finished, () => "done")
28
+ .with(GQLGoogleSetupStateEnum.FatallyFailed, GQLGoogleSetupStateEnum.TimedOut, () => "failed")
29
+ .with(GQLGoogleSetupStateEnum.ConnectingAccounts, () => "submitting")
30
+ .with(GQLGoogleSetupStateEnum.SelectingAccounts, () => "pickingAccount")
31
+ .with(GQLGoogleSetupStateEnum.FetchingAccounts, GQLGoogleSetupStateEnum.Initializing, () => "loadingAccounts")
32
+ .otherwise(() => defaultPhase);
33
+ }
@@ -0,0 +1,3 @@
1
+ import { GQLSetupAccountUnavailableReason } from "@manta-eu/client";
2
+ export declare function unavailableReasonLabel(reason: GQLSetupAccountUnavailableReason | null | undefined): string;
3
+ //# sourceMappingURL=setup-account-unavailable-reason.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-account-unavailable-reason.d.ts","sourceRoot":"","sources":["../../../../../src/routes/integrations/components/connect-forms/setup-account-unavailable-reason.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAC;AAOpE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gCAAgC,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAE1G"}
@@ -0,0 +1,8 @@
1
+ import { GQLSetupAccountUnavailableReason } from "@manta-eu/client";
2
+ import { isPresent } from "@manta-eu/lib/present";
3
+ const unavailableReasonLabels = {
4
+ [GQLSetupAccountUnavailableReason.InsufficientPermissions]: "Insufficient permissions",
5
+ };
6
+ export function unavailableReasonLabel(reason) {
7
+ return isPresent(reason) ? unavailableReasonLabels[reason] : "Unavailable";
8
+ }
@@ -2,8 +2,8 @@ import type { GQLInferalLocation } from "@manta-eu/client";
2
2
  import type { ReactNode } from "react";
3
3
  import type { FieldValues, UseFormReturn } from "react-hook-form";
4
4
  import type { z } from "zod";
5
+ import type { ProviderPresentation } from "../../types.js";
5
6
  import type { FieldInstruction } from "./FieldInstructions.js";
6
- import type { ProviderPresentation } from "#routes/integrations/types";
7
7
  export type ProviderSetupInstructions = Readonly<{
8
8
  identifier?: FieldInstruction;
9
9
  apiKey?: FieldInstruction;
@@ -14,6 +14,9 @@ export type InferalConnectFormConfig = {
14
14
  deriveStreamName: (identifier: string) => string;
15
15
  locationLabels: Readonly<Record<GQLInferalLocation, string>>;
16
16
  };
17
+ export type ImportNotice = {
18
+ description: string;
19
+ };
17
20
  export type ConnectFormProps = {
18
21
  provider: ProviderPresentation<string>;
19
22
  inferalConfig?: InferalConnectFormConfig;
@@ -22,6 +25,7 @@ export type ConnectFormProps = {
22
25
  onChanged: () => void;
23
26
  onDismiss: () => void;
24
27
  resumedFromOAuth?: boolean;
28
+ importNotice?: ImportNotice;
25
29
  };
26
30
  export type StepConfig<Values extends FieldValues> = {
27
31
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/routes/integrations/components/connect-forms/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAAC;IAC/C,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B,CAAC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG;IACrC,iBAAiB,CAAC,EAAE,yBAAyB,CAAC;IAC9C,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC;CAC9D,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACvC,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,MAAM,SAAS,WAAW,IAAI;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC;IACrB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC;CACpD,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/routes/integrations/components/connect-forms/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAAC;IAC/C,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B,CAAC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG;IACrC,iBAAiB,CAAC,EAAE,yBAAyB,CAAC;IAC9C,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC;CAC9D,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACvC,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,MAAM,SAAS,WAAW,IAAI;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC;IACrB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC;CACpD,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { FieldValues, UseFormReturn } from "react-hook-form";
2
+ import type { z } from "zod";
3
+ import type { StepConfig } from "./types.js";
4
+ type UseConnectWizardArgs<Values extends FieldValues> = {
5
+ steps: StepConfig<Values>[];
6
+ form: UseFormReturn<Values>;
7
+ fullSchema: z.ZodTypeAny;
8
+ onSubmit: (values: Values) => void | Promise<void>;
9
+ onBack: () => void;
10
+ };
11
+ export declare function useConnectWizard<Values extends FieldValues>(args: UseConnectWizardArgs<Values>): {
12
+ stepIndex: number;
13
+ currentStep: StepConfig<Values>;
14
+ canAdvance: boolean;
15
+ handleContinue: () => void;
16
+ handleBack: () => void;
17
+ };
18
+ export {};
19
+ //# sourceMappingURL=useConnectWizard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConnectWizard.d.ts","sourceRoot":"","sources":["../../../../../src/routes/integrations/components/connect-forms/useConnectWizard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,KAAK,oBAAoB,CAAC,MAAM,SAAS,WAAW,IAAI;IACtD,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;IAC5B,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5B,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC;IACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,MAAM,SAAS,WAAW,EAAE,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC;;;;;;EAiC9F"}
@@ -0,0 +1,28 @@
1
+ import { useState } from "react";
2
+ export function useConnectWizard(args) {
3
+ const { steps, form, fullSchema, onSubmit, onBack } = args;
4
+ const [stepIndex, setStepIndex] = useState(0);
5
+ const currentStep = steps[stepIndex];
6
+ if (!currentStep)
7
+ throw new Error(`Invalid step index: ${stepIndex}`);
8
+ const isLastStep = stepIndex === steps.length - 1;
9
+ const schemaToValidate = isLastStep ? fullSchema : currentStep.schema;
10
+ const canAdvance = schemaToValidate.safeParse(form.watch()).success;
11
+ function handleContinue() {
12
+ if (stepIndex < steps.length - 1) {
13
+ setStepIndex(stepIndex + 1);
14
+ return;
15
+ }
16
+ if (!canAdvance)
17
+ return;
18
+ void form.handleSubmit(onSubmit)();
19
+ }
20
+ function handleBack() {
21
+ if (stepIndex > 0) {
22
+ setStepIndex(stepIndex - 1);
23
+ return;
24
+ }
25
+ onBack();
26
+ }
27
+ return { stepIndex, currentStep, canAdvance, handleContinue, handleBack };
28
+ }
@@ -0,0 +1,4 @@
1
+ import { type GQLIntegration } from "@manta-eu/client";
2
+ export declare function useConnectedExternalIds(integration: GQLIntegration): ReadonlySet<string>;
3
+ export declare function useReconnectableExternalIds(integration: GQLIntegration): ReadonlySet<string>;
4
+ //# sourceMappingURL=useConnectedExternalIds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConnectedExternalIds.d.ts","sourceRoot":"","sources":["../../../../../src/routes/integrations/components/connect-forms/useConnectedExternalIds.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlF,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,CAQxF;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,CAQ5F"}
@@ -0,0 +1,17 @@
1
+ import { useConnectedAccountsQuery } from "@manta-eu/client";
2
+ import { connectionProblems } from "../../connection-view.js";
3
+ import { useMantaClient } from "#providers/index";
4
+ export function useConnectedExternalIds(integration) {
5
+ const { mantaClient } = useMantaClient();
6
+ const connectedAccountsQuery = useConnectedAccountsQuery(mantaClient, undefined);
7
+ return new Set((connectedAccountsQuery.data?.connectedAccounts ?? [])
8
+ .filter((account) => account.integration === integration)
9
+ .map((account) => account.externalId));
10
+ }
11
+ export function useReconnectableExternalIds(integration) {
12
+ const { mantaClient } = useMantaClient();
13
+ const connectedAccountsQuery = useConnectedAccountsQuery(mantaClient, undefined);
14
+ return new Set(connectionProblems(connectedAccountsQuery.data?.connectedAccounts ?? [])
15
+ .filter((account) => account.integration === integration)
16
+ .map((account) => account.externalId));
17
+ }
@@ -0,0 +1,7 @@
1
+ type UseWindowFocusPollOptions = {
2
+ enabled: boolean;
3
+ intervalMs?: number;
4
+ };
5
+ export declare function useWindowFocusPoll(refetch: () => unknown, { enabled, intervalMs }: UseWindowFocusPollOptions): void;
6
+ export {};
7
+ //# sourceMappingURL=useWindowFocusPoll.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWindowFocusPoll.d.ts","sourceRoot":"","sources":["../../../../../src/routes/integrations/components/connect-forms/useWindowFocusPoll.ts"],"names":[],"mappings":"AAGA,KAAK,yBAAyB,GAAG;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAIF,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,OAAO,EACtB,EAAE,OAAO,EAAE,UAA8B,EAAE,EAAE,yBAAyB,QAgBvE"}
@@ -0,0 +1,18 @@
1
+ import { useRef } from "react";
2
+ import { useEventListener, useInterval } from "usehooks-ts";
3
+ const defaultIntervalMs = 3000;
4
+ export function useWindowFocusPoll(refetch, { enabled, intervalMs = defaultIntervalMs }) {
5
+ const refetchRef = useRef(refetch);
6
+ refetchRef.current = refetch;
7
+ const inFlightRef = useRef(false);
8
+ const run = () => {
9
+ if (!enabled || inFlightRef.current)
10
+ return;
11
+ inFlightRef.current = true;
12
+ void Promise.resolve(refetchRef.current()).finally(() => {
13
+ inFlightRef.current = false;
14
+ });
15
+ };
16
+ useInterval(run, enabled ? intervalMs : null);
17
+ useEventListener("focus", run);
18
+ }
@@ -0,0 +1,16 @@
1
+ export { DashConnectForm } from "./components/connect-forms/DashConnectForm.js";
2
+ export { DataConnectionConnectForm, DataConnectionEditForm, type DataConnectionEditFormProps, type StoredConnection, } from "./components/connect-forms/DataConnectionConnectForm.js";
3
+ export type { DataConnectionSetting, StoredDataConnection } from "./components/connect-forms/data-connection-fields.js";
4
+ export { FigmaConnectForm } from "./components/connect-forms/FigmaConnectForm.js";
5
+ export { GmailConnectForm } from "./components/connect-forms/GmailConnectForm.js";
6
+ export { GoogleAdsConnectForm } from "./components/connect-forms/GoogleAdsConnectForm.js";
7
+ export { GoogleAnalyticsConnectForm } from "./components/connect-forms/GoogleAnalyticsConnectForm.js";
8
+ export { KlaviyoConnectForm } from "./components/connect-forms/KlaviyoConnectForm.js";
9
+ export { LinkedinConnectForm } from "./components/connect-forms/LinkedinConnectForm.js";
10
+ export { MetaAdsConnectForm } from "./components/connect-forms/MetaAdsConnectForm.js";
11
+ export { ShopifyConnectForm } from "./components/connect-forms/ShopifyConnectForm.js";
12
+ export { SlackConnectForm } from "./components/connect-forms/SlackConnectForm.js";
13
+ export { TriplewhaleConnectForm } from "./components/connect-forms/TriplewhaleConnectForm.js";
14
+ export { WoocommerceConnectForm } from "./components/connect-forms/WoocommerceConnectForm.js";
15
+ export { MantaSyncPluginLink, MantaSyncPluginRowAction, MantaSyncPluginStep, type MantaSyncPluginLinkProps, type MantaSyncPluginStepProps, } from "./components/MantaSyncPluginDownload.js";
16
+ //# sourceMappingURL=connect-forms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect-forms.d.ts","sourceRoot":"","sources":["../../../src/routes/integrations/connect-forms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,GACtB,MAAM,sDAAsD,CAAC;AAC9D,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AACrH,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAE,MAAM,uDAAuD,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,GAC9B,MAAM,sCAAsC,CAAC"}
@@ -0,0 +1,14 @@
1
+ export { DashConnectForm } from "./components/connect-forms/DashConnectForm.js";
2
+ export { DataConnectionConnectForm, DataConnectionEditForm, } from "./components/connect-forms/DataConnectionConnectForm.js";
3
+ export { FigmaConnectForm } from "./components/connect-forms/FigmaConnectForm.js";
4
+ export { GmailConnectForm } from "./components/connect-forms/GmailConnectForm.js";
5
+ export { GoogleAdsConnectForm } from "./components/connect-forms/GoogleAdsConnectForm.js";
6
+ export { GoogleAnalyticsConnectForm } from "./components/connect-forms/GoogleAnalyticsConnectForm.js";
7
+ export { KlaviyoConnectForm } from "./components/connect-forms/KlaviyoConnectForm.js";
8
+ export { LinkedinConnectForm } from "./components/connect-forms/LinkedinConnectForm.js";
9
+ export { MetaAdsConnectForm } from "./components/connect-forms/MetaAdsConnectForm.js";
10
+ export { ShopifyConnectForm } from "./components/connect-forms/ShopifyConnectForm.js";
11
+ export { SlackConnectForm } from "./components/connect-forms/SlackConnectForm.js";
12
+ export { TriplewhaleConnectForm } from "./components/connect-forms/TriplewhaleConnectForm.js";
13
+ export { WoocommerceConnectForm } from "./components/connect-forms/WoocommerceConnectForm.js";
14
+ export { MantaSyncPluginLink, MantaSyncPluginRowAction, MantaSyncPluginStep, } from "./components/MantaSyncPluginDownload.js";
@@ -0,0 +1,3 @@
1
+ import type { ConnectedProvider, ProviderId } from "./types.js";
2
+ export declare function filterConnectedProviders<Id extends string = ProviderId>(groups: ConnectedProvider<Id>[], query: string): ConnectedProvider<Id>[];
3
+ //# sourceMappingURL=filter-connected-providers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-connected-providers.d.ts","sourceRoot":"","sources":["../../../src/routes/integrations/filter-connected-providers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE7D,wBAAgB,wBAAwB,CAAC,EAAE,SAAS,MAAM,GAAG,UAAU,EACrE,MAAM,EAAE,iBAAiB,CAAC,EAAE,CAAC,EAAE,EAC/B,KAAK,EAAE,MAAM,GACZ,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAgBzB"}
@@ -0,0 +1,15 @@
1
+ import { isPresent } from "@manta-eu/lib/present";
2
+ export function filterConnectedProviders(groups, query) {
3
+ const needle = query.trim().toLowerCase();
4
+ if (!isPresent(needle))
5
+ return groups;
6
+ return groups.flatMap((group) => {
7
+ const groupMatches = group.name.toLowerCase().includes(needle);
8
+ if (groupMatches)
9
+ return [group];
10
+ const matchingConnections = group.connections.filter((connection) => connection.primaryLabel.toLowerCase().includes(needle));
11
+ if (!isPresent(matchingConnections))
12
+ return [];
13
+ return [{ ...group, connections: matchingConnections }];
14
+ });
15
+ }
@@ -0,0 +1,3 @@
1
+ export { filterConnectedProviders } from "./filter-connected-providers.js";
2
+ export { bindingsToAccountEntities, useConnectedAccountEntities, type ConnectedAccountEntity, } from "./use-connected-account-entities.js";
3
+ //# sourceMappingURL=overview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overview.d.ts","sourceRoot":"","sources":["../../../src/routes/integrations/overview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,KAAK,sBAAsB,GAC5B,MAAM,kCAAkC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { filterConnectedProviders } from "./filter-connected-providers.js";
2
+ export { bindingsToAccountEntities, useConnectedAccountEntities, } from "./use-connected-account-entities.js";
@@ -0,0 +1,10 @@
1
+ import type { IRI } from "@manta-eu/client/shared/rdf-namespaces";
2
+ import type { RDF } from "ldkit/rdf";
3
+ export type ConnectedAccountEntity = {
4
+ entityIri: IRI;
5
+ typeIri?: IRI;
6
+ name?: string;
7
+ };
8
+ export declare function bindingsToAccountEntities(bindings: RDF.Bindings[]): Map<string, ConnectedAccountEntity>;
9
+ export declare function useConnectedAccountEntities(): Map<string, ConnectedAccountEntity>;
10
+ //# sourceMappingURL=use-connected-account-entities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-connected-account-entities.d.ts","sourceRoot":"","sources":["../../../src/routes/integrations/use-connected-account-entities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAIrC,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,GAAG,CAAC;IACf,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAYF,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAavG;AAED,wBAAgB,2BAA2B,IAAI,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAOjF"}
@@ -0,0 +1,29 @@
1
+ import { useMemo } from "react";
2
+ import { bindingValue, useSparqlSelect } from "#ldo-ui";
3
+ const connectedAccountEntitiesQuery = `
4
+ SELECT ?id ?entity ?type ?name WHERE {
5
+ ?account a :ConnectedAccount ;
6
+ schema:identifier ?id ;
7
+ schema:sameAs ?entity .
8
+ # EXPLICIT TRUE: the account's asserted class only, never rule-derived marker types.
9
+ OPTIONAL { ?entity a ?type EXPLICIT TRUE }
10
+ OPTIONAL { ?entity schema:name ?name }
11
+ }`;
12
+ export function bindingsToAccountEntities(bindings) {
13
+ return new Map(bindings.flatMap((binding) => {
14
+ const id = bindingValue(binding, "id");
15
+ const entityIri = bindingValue(binding, "entity");
16
+ if (!id || !entityIri)
17
+ return [];
18
+ return [
19
+ [id, { entityIri, typeIri: bindingValue(binding, "type"), name: bindingValue(binding, "name") }],
20
+ ];
21
+ }));
22
+ }
23
+ export function useConnectedAccountEntities() {
24
+ const { data } = useSparqlSelect({
25
+ query: connectedAccountEntitiesQuery,
26
+ queryKey: ["integrations", "connected-account-entities"],
27
+ });
28
+ return useMemo(() => bindingsToAccountEntities(data ?? []), [data]);
29
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyStates.d.ts","sourceRoot":"","sources":["../../../../src/routes/memories/components/EmptyStates.tsx"],"names":[],"mappings":"AAKA,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,2CAchE;AAED,KAAK,8BAA8B,GAAG;IACpC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,8BAA8B,2CAmB9E;AAED,wBAAgB,0BAA0B,4CAYzC;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,2CAoB1E"}
1
+ {"version":3,"file":"EmptyStates.d.ts","sourceRoot":"","sources":["../../../../src/routes/memories/components/EmptyStates.tsx"],"names":[],"mappings":"AAMA,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,2CAchE;AAED,KAAK,8BAA8B,GAAG;IACpC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,8BAA8B,2CAmB9E;AAED,wBAAgB,0BAA0B,4CAYzC;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,2CAoB1E"}
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { newChatPath } from "@manta-eu/client/shared/index";
2
3
  import { Brain, Building2, MessageSquare, Plus, Users } from "lucide-react";
3
4
  import { Link } from "react-router";
4
5
  import { Button } from "#components/button/index";
@@ -12,7 +13,7 @@ export function CompanyMemoriesEmptyState(props) {
12
13
  return (_jsx(EmptyState, { icon: Building2, title: "No company memories yet", description: "Add shared context that Manta uses for everyone in the company.", children: _jsxs("div", { className: "flex w-full flex-col gap-2 sm:w-auto sm:flex-row", children: [_jsx(Button, { className: "w-full sm:w-auto", onClick: onSetUp, children: "Set up with guided questions" }), _jsx(Button, { className: "w-full sm:w-auto", variant: "ghost", onClick: onAdd, icon: Plus, children: "Add manually" })] }) }));
13
14
  }
14
15
  export function CapturedMemoriesEmptyState() {
15
- return (_jsx(EmptyState, { icon: MessageSquare, title: "No captured memories yet", description: "Manta captures useful context from your conversations automatically. Start chatting and memories will appear here.", children: _jsx(Button, { asChild: true, children: _jsx(Link, { to: "/", children: "Start chatting" }) }) }));
16
+ return (_jsx(EmptyState, { icon: MessageSquare, title: "No captured memories yet", description: "Manta captures useful context from your conversations automatically. Start chatting and memories will appear here.", children: _jsx(Button, { asChild: true, children: _jsx(Link, { to: newChatPath, children: "Start chatting" }) }) }));
16
17
  }
17
18
  export function GroupMemoriesEmptyState(props) {
18
19
  const { canManageSharedMemories, onAdd } = props;
@@ -9,6 +9,7 @@ export type ActionPlanPageProps = {
9
9
  initialMode?: ActionPlanPageMode;
10
10
  datastoreId?: string;
11
11
  userId?: string;
12
+ hideRunControls?: boolean;
12
13
  };
13
14
  export declare function ActionPlanPage(props: ActionPlanPageProps): import("react/jsx-runtime").JSX.Element;
14
15
  //# sourceMappingURL=ActionPlanPage.d.ts.map