@optimizely/ocp-local-env 1.0.0-beta.10

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 (244) hide show
  1. package/README.md +51 -0
  2. package/dist/package.json +112 -0
  3. package/dist/public/bundle.82dc5d29fffb9f205051.js +3 -0
  4. package/dist/public/bundle.82dc5d29fffb9f205051.js.LICENSE.txt +92 -0
  5. package/dist/public/bundle.82dc5d29fffb9f205051.js.map +1 -0
  6. package/dist/public/index.html +1 -0
  7. package/dist/src/cli.d.ts +2 -0
  8. package/dist/src/cli.js +115 -0
  9. package/dist/src/cli.js.map +1 -0
  10. package/dist/src/executor/DestinationExecutor.d.ts +19 -0
  11. package/dist/src/executor/DestinationExecutor.js +72 -0
  12. package/dist/src/executor/DestinationExecutor.js.map +1 -0
  13. package/dist/src/executor/FunctionExecutor.d.ts +67 -0
  14. package/dist/src/executor/FunctionExecutor.js +189 -0
  15. package/dist/src/executor/FunctionExecutor.js.map +1 -0
  16. package/dist/src/executor/JobExecutor.d.ts +79 -0
  17. package/dist/src/executor/JobExecutor.js +215 -0
  18. package/dist/src/executor/JobExecutor.js.map +1 -0
  19. package/dist/src/executor/LifecycleExecutor.d.ts +64 -0
  20. package/dist/src/executor/LifecycleExecutor.js +167 -0
  21. package/dist/src/executor/LifecycleExecutor.js.map +1 -0
  22. package/dist/src/executor/SourceExecutor.d.ts +32 -0
  23. package/dist/src/executor/SourceExecutor.js +163 -0
  24. package/dist/src/executor/SourceExecutor.js.map +1 -0
  25. package/dist/src/executor/watcher.d.ts +62 -0
  26. package/dist/src/executor/watcher.js +213 -0
  27. package/dist/src/executor/watcher.js.map +1 -0
  28. package/dist/src/functions/hello.d.ts +4 -0
  29. package/dist/src/functions/hello.js +8 -0
  30. package/dist/src/functions/hello.js.map +1 -0
  31. package/dist/src/index.d.ts +1 -0
  32. package/dist/src/index.js +9 -0
  33. package/dist/src/index.js.map +1 -0
  34. package/dist/src/jobs/dailyJob.d.ts +4 -0
  35. package/dist/src/jobs/dailyJob.js +8 -0
  36. package/dist/src/jobs/dailyJob.js.map +1 -0
  37. package/dist/src/local_engine/LocalFunctionApi.d.ts +17 -0
  38. package/dist/src/local_engine/LocalFunctionApi.js +54 -0
  39. package/dist/src/local_engine/LocalFunctionApi.js.map +1 -0
  40. package/dist/src/local_engine/LocalJobApi.d.ts +67 -0
  41. package/dist/src/local_engine/LocalJobApi.js +205 -0
  42. package/dist/src/local_engine/LocalJobApi.js.map +1 -0
  43. package/dist/src/local_engine/LocalNotifier.d.ts +9 -0
  44. package/dist/src/local_engine/LocalNotifier.js +26 -0
  45. package/dist/src/local_engine/LocalNotifier.js.map +1 -0
  46. package/dist/src/local_engine/local-engine-child-base.d.ts +110 -0
  47. package/dist/src/local_engine/local-engine-child-base.js +607 -0
  48. package/dist/src/local_engine/local-engine-child-base.js.map +1 -0
  49. package/dist/src/local_engine/local-engine-client.d.ts +161 -0
  50. package/dist/src/local_engine/local-engine-client.js +888 -0
  51. package/dist/src/local_engine/local-engine-client.js.map +1 -0
  52. package/dist/src/local_engine/local-engine-types.d.ts +245 -0
  53. package/dist/src/local_engine/local-engine-types.js +6 -0
  54. package/dist/src/local_engine/local-engine-types.js.map +1 -0
  55. package/dist/src/local_engine/local-engine-unified.d.ts +71 -0
  56. package/dist/src/local_engine/local-engine-unified.js +723 -0
  57. package/dist/src/local_engine/local-engine-unified.js.map +1 -0
  58. package/dist/src/local_engine/local-engine-utils.d.ts +68 -0
  59. package/dist/src/local_engine/local-engine-utils.js +219 -0
  60. package/dist/src/local_engine/local-engine-utils.js.map +1 -0
  61. package/dist/src/local_engine/localSDKConfig.d.ts +40 -0
  62. package/dist/src/local_engine/localSDKConfig.js +247 -0
  63. package/dist/src/local_engine/localSDKConfig.js.map +1 -0
  64. package/dist/src/local_engine/storage/BaseKVStoreWrapper.d.ts +37 -0
  65. package/dist/src/local_engine/storage/BaseKVStoreWrapper.js +110 -0
  66. package/dist/src/local_engine/storage/BaseKVStoreWrapper.js.map +1 -0
  67. package/dist/src/local_engine/storage/LocalConfigStore.d.ts +74 -0
  68. package/dist/src/local_engine/storage/LocalConfigStore.js +178 -0
  69. package/dist/src/local_engine/storage/LocalConfigStore.js.map +1 -0
  70. package/dist/src/local_engine/storage/LocalJobStore.d.ts +111 -0
  71. package/dist/src/local_engine/storage/LocalJobStore.js +249 -0
  72. package/dist/src/local_engine/storage/LocalJobStore.js.map +1 -0
  73. package/dist/src/local_engine/storage/LocalKVStore.d.ts +106 -0
  74. package/dist/src/local_engine/storage/LocalKVStore.js +1061 -0
  75. package/dist/src/local_engine/storage/LocalKVStore.js.map +1 -0
  76. package/dist/src/local_engine/storage/LocalNotificationStore.d.ts +28 -0
  77. package/dist/src/local_engine/storage/LocalNotificationStore.js +149 -0
  78. package/dist/src/local_engine/storage/LocalNotificationStore.js.map +1 -0
  79. package/dist/src/local_engine/storage/LocalSecretsStore.d.ts +115 -0
  80. package/dist/src/local_engine/storage/LocalSecretsStore.js +350 -0
  81. package/dist/src/local_engine/storage/LocalSecretsStore.js.map +1 -0
  82. package/dist/src/local_engine/storage/LocalSecretsStoreWrapper.d.ts +19 -0
  83. package/dist/src/local_engine/storage/LocalSecretsStoreWrapper.js +52 -0
  84. package/dist/src/local_engine/storage/LocalSecretsStoreWrapper.js.map +1 -0
  85. package/dist/src/local_engine/storage/LocalSettingsStore.d.ts +168 -0
  86. package/dist/src/local_engine/storage/LocalSettingsStore.js +509 -0
  87. package/dist/src/local_engine/storage/LocalSettingsStore.js.map +1 -0
  88. package/dist/src/local_engine/storage/LocalSettingsStoreWrapper.d.ts +15 -0
  89. package/dist/src/local_engine/storage/LocalSettingsStoreWrapper.js +28 -0
  90. package/dist/src/local_engine/storage/LocalSettingsStoreWrapper.js.map +1 -0
  91. package/dist/src/local_engine/storage/NumberSet.d.ts +21 -0
  92. package/dist/src/local_engine/storage/NumberSet.js +32 -0
  93. package/dist/src/local_engine/storage/NumberSet.js.map +1 -0
  94. package/dist/src/local_engine/storage/SourceDataStore.d.ts +23 -0
  95. package/dist/src/local_engine/storage/SourceDataStore.js +83 -0
  96. package/dist/src/local_engine/storage/SourceDataStore.js.map +1 -0
  97. package/dist/src/local_engine/storage/SourceJobExecutionStore.d.ts +25 -0
  98. package/dist/src/local_engine/storage/SourceJobExecutionStore.js +61 -0
  99. package/dist/src/local_engine/storage/SourceJobExecutionStore.js.map +1 -0
  100. package/dist/src/local_engine/storage/StringSet.d.ts +21 -0
  101. package/dist/src/local_engine/storage/StringSet.js +32 -0
  102. package/dist/src/local_engine/storage/StringSet.js.map +1 -0
  103. package/dist/src/local_engine/types.d.ts +53 -0
  104. package/dist/src/local_engine/types.js +6 -0
  105. package/dist/src/local_engine/types.js.map +1 -0
  106. package/dist/src/local_engine/utils.d.ts +33 -0
  107. package/dist/src/local_engine/utils.js +143 -0
  108. package/dist/src/local_engine/utils.js.map +1 -0
  109. package/dist/src/logging/LogManager.d.ts +246 -0
  110. package/dist/src/logging/LogManager.js +343 -0
  111. package/dist/src/logging/LogManager.js.map +1 -0
  112. package/dist/src/server/api/destinations.d.ts +7 -0
  113. package/dist/src/server/api/destinations.js +170 -0
  114. package/dist/src/server/api/destinations.js.map +1 -0
  115. package/dist/src/server/api/functions.d.ts +7 -0
  116. package/dist/src/server/api/functions.js +80 -0
  117. package/dist/src/server/api/functions.js.map +1 -0
  118. package/dist/src/server/api/jobs.d.ts +10 -0
  119. package/dist/src/server/api/jobs.js +244 -0
  120. package/dist/src/server/api/jobs.js.map +1 -0
  121. package/dist/src/server/api/settings.d.ts +6 -0
  122. package/dist/src/server/api/settings.js +116 -0
  123. package/dist/src/server/api/settings.js.map +1 -0
  124. package/dist/src/server/api/sources.d.ts +7 -0
  125. package/dist/src/server/api/sources.js +382 -0
  126. package/dist/src/server/api/sources.js.map +1 -0
  127. package/dist/src/server/api/stores.d.ts +2 -0
  128. package/dist/src/server/api/stores.js +341 -0
  129. package/dist/src/server/api/stores.js.map +1 -0
  130. package/dist/src/server/api/v1.d.ts +10 -0
  131. package/dist/src/server/api/v1.js +718 -0
  132. package/dist/src/server/api/v1.js.map +1 -0
  133. package/dist/src/server/api.d.ts +8 -0
  134. package/dist/src/server/api.js +217 -0
  135. package/dist/src/server/api.js.map +1 -0
  136. package/dist/src/server/app-discovery.d.ts +5 -0
  137. package/dist/src/server/app-discovery.js +113 -0
  138. package/dist/src/server/app-discovery.js.map +1 -0
  139. package/dist/src/server/config.d.ts +26 -0
  140. package/dist/src/server/config.js +112 -0
  141. package/dist/src/server/config.js.map +1 -0
  142. package/dist/src/server/mockDataGenerator.d.ts +1 -0
  143. package/dist/src/server/mockDataGenerator.js +154 -0
  144. package/dist/src/server/mockDataGenerator.js.map +1 -0
  145. package/dist/src/server/websocket.d.ts +0 -0
  146. package/dist/src/server/websocket.js +2 -0
  147. package/dist/src/server/websocket.js.map +1 -0
  148. package/dist/src/server.d.ts +2 -0
  149. package/dist/src/server.js +735 -0
  150. package/dist/src/server.js.map +1 -0
  151. package/dist/src/types/app.d.ts +154 -0
  152. package/dist/src/types/app.js +24 -0
  153. package/dist/src/types/app.js.map +1 -0
  154. package/dist/src/types/kvstore.d.ts +320 -0
  155. package/dist/src/types/kvstore.js +5 -0
  156. package/dist/src/types/kvstore.js.map +1 -0
  157. package/dist/src/ui/components/App.d.ts +6 -0
  158. package/dist/src/ui/components/App.js +432 -0
  159. package/dist/src/ui/components/App.js.map +1 -0
  160. package/dist/src/ui/components/DestinationBatchEditor.d.ts +7 -0
  161. package/dist/src/ui/components/DestinationBatchEditor.js +160 -0
  162. package/dist/src/ui/components/DestinationBatchEditor.js.map +1 -0
  163. package/dist/src/ui/components/DestinationSchemaViewer.d.ts +7 -0
  164. package/dist/src/ui/components/DestinationSchemaViewer.js +61 -0
  165. package/dist/src/ui/components/DestinationSchemaViewer.js.map +1 -0
  166. package/dist/src/ui/components/DestinationsView.d.ts +14 -0
  167. package/dist/src/ui/components/DestinationsView.js +68 -0
  168. package/dist/src/ui/components/DestinationsView.js.map +1 -0
  169. package/dist/src/ui/components/FunctionsView.d.ts +13 -0
  170. package/dist/src/ui/components/FunctionsView.js +288 -0
  171. package/dist/src/ui/components/FunctionsView.js.map +1 -0
  172. package/dist/src/ui/components/JobsView.d.ts +13 -0
  173. package/dist/src/ui/components/JobsView.js +320 -0
  174. package/dist/src/ui/components/JobsView.js.map +1 -0
  175. package/dist/src/ui/components/KVStoreViewer.d.ts +11 -0
  176. package/dist/src/ui/components/KVStoreViewer.js +168 -0
  177. package/dist/src/ui/components/KVStoreViewer.js.map +1 -0
  178. package/dist/src/ui/components/MetadataModal.d.ts +14 -0
  179. package/dist/src/ui/components/MetadataModal.js +28 -0
  180. package/dist/src/ui/components/MetadataModal.js.map +1 -0
  181. package/dist/src/ui/components/MetadataModal.test.d.ts +1 -0
  182. package/dist/src/ui/components/MetadataModal.test.js +143 -0
  183. package/dist/src/ui/components/MetadataModal.test.js.map +1 -0
  184. package/dist/src/ui/components/NotificationViewer.d.ts +16 -0
  185. package/dist/src/ui/components/NotificationViewer.js +69 -0
  186. package/dist/src/ui/components/NotificationViewer.js.map +1 -0
  187. package/dist/src/ui/components/SecretsStoreViewer.d.ts +11 -0
  188. package/dist/src/ui/components/SecretsStoreViewer.js +179 -0
  189. package/dist/src/ui/components/SecretsStoreViewer.js.map +1 -0
  190. package/dist/src/ui/components/SettingsStoreViewer.d.ts +24 -0
  191. package/dist/src/ui/components/SettingsStoreViewer.js +132 -0
  192. package/dist/src/ui/components/SettingsStoreViewer.js.map +1 -0
  193. package/dist/src/ui/components/SourceDataViewer.d.ts +8 -0
  194. package/dist/src/ui/components/SourceDataViewer.js +84 -0
  195. package/dist/src/ui/components/SourceDataViewer.js.map +1 -0
  196. package/dist/src/ui/components/SourceJobsSection.d.ts +8 -0
  197. package/dist/src/ui/components/SourceJobsSection.js +99 -0
  198. package/dist/src/ui/components/SourceJobsSection.js.map +1 -0
  199. package/dist/src/ui/components/SourceLifecycleSection.d.ts +7 -0
  200. package/dist/src/ui/components/SourceLifecycleSection.js +58 -0
  201. package/dist/src/ui/components/SourceLifecycleSection.js.map +1 -0
  202. package/dist/src/ui/components/SourceSchemaViewer.d.ts +7 -0
  203. package/dist/src/ui/components/SourceSchemaViewer.js +65 -0
  204. package/dist/src/ui/components/SourceSchemaViewer.js.map +1 -0
  205. package/dist/src/ui/components/SourceWebhookEditor.d.ts +8 -0
  206. package/dist/src/ui/components/SourceWebhookEditor.js +181 -0
  207. package/dist/src/ui/components/SourceWebhookEditor.js.map +1 -0
  208. package/dist/src/ui/components/SourcesView.d.ts +14 -0
  209. package/dist/src/ui/components/SourcesView.js +74 -0
  210. package/dist/src/ui/components/SourcesView.js.map +1 -0
  211. package/dist/src/ui/components/StoreViewer.d.ts +16 -0
  212. package/dist/src/ui/components/StoreViewer.js +86 -0
  213. package/dist/src/ui/components/StoreViewer.js.map +1 -0
  214. package/dist/src/ui/components/TabbedConsole.d.ts +17 -0
  215. package/dist/src/ui/components/TabbedConsole.js +163 -0
  216. package/dist/src/ui/components/TabbedConsole.js.map +1 -0
  217. package/dist/src/ui/components/common/DataTree.d.ts +15 -0
  218. package/dist/src/ui/components/common/DataTree.js +95 -0
  219. package/dist/src/ui/components/common/DataTree.js.map +1 -0
  220. package/dist/src/ui/components/common/EyeIcon.d.ts +11 -0
  221. package/dist/src/ui/components/common/EyeIcon.js +11 -0
  222. package/dist/src/ui/components/common/EyeIcon.js.map +1 -0
  223. package/dist/src/ui/hooks/useEntityNavigation.d.ts +72 -0
  224. package/dist/src/ui/hooks/useEntityNavigation.js +150 -0
  225. package/dist/src/ui/hooks/useEntityNavigation.js.map +1 -0
  226. package/dist/src/ui/hooks/useQueryParams.d.ts +6 -0
  227. package/dist/src/ui/hooks/useQueryParams.js +39 -0
  228. package/dist/src/ui/hooks/useQueryParams.js.map +1 -0
  229. package/dist/src/ui/index.d.ts +1 -0
  230. package/dist/src/ui/index.js +23 -0
  231. package/dist/src/ui/index.js.map +1 -0
  232. package/dist/src/ui/store/formStateSlice.d.ts +54 -0
  233. package/dist/src/ui/store/formStateSlice.js +94 -0
  234. package/dist/src/ui/store/formStateSlice.js.map +1 -0
  235. package/dist/src/ui/store/hooks.d.ts +6 -0
  236. package/dist/src/ui/store/hooks.js +8 -0
  237. package/dist/src/ui/store/hooks.js.map +1 -0
  238. package/dist/src/ui/store/index.d.ts +11 -0
  239. package/dist/src/ui/store/index.js +107 -0
  240. package/dist/src/ui/store/index.js.map +1 -0
  241. package/dist/src/utils/functionEndpoints.d.ts +24 -0
  242. package/dist/src/utils/functionEndpoints.js +45 -0
  243. package/dist/src/utils/functionEndpoints.js.map +1 -0
  244. package/package.json +112 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsStoreViewer.js","sourceRoot":"","sources":["../../../../src/ui/components/SettingsStoreViewer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface SourceDataViewerProps {
3
+ sourceId: string;
4
+ apiBaseUrl: string;
5
+ context?: 'webhook' | 'job';
6
+ }
7
+ export declare const SourceDataViewer: React.FC<SourceDataViewerProps>;
8
+ export {};
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SourceDataViewer = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const SourceDataViewer = ({ sourceId, apiBaseUrl, context }) => {
7
+ const [data, setData] = (0, react_1.useState)([]);
8
+ const [loading, setLoading] = (0, react_1.useState)(false);
9
+ const [error, setError] = (0, react_1.useState)(null);
10
+ const [autoRefresh, setAutoRefresh] = (0, react_1.useState)(true);
11
+ const intervalRef = (0, react_1.useRef)(null);
12
+ (0, react_1.useEffect)(() => {
13
+ fetchData();
14
+ // Set up auto-refresh
15
+ if (autoRefresh) {
16
+ intervalRef.current = setInterval(fetchData, 2000);
17
+ }
18
+ return () => {
19
+ if (intervalRef.current) {
20
+ clearInterval(intervalRef.current);
21
+ }
22
+ };
23
+ }, [sourceId, context, autoRefresh]);
24
+ const fetchData = async () => {
25
+ try {
26
+ setLoading(true);
27
+ let url = `${apiBaseUrl}/sources/${sourceId}/data`;
28
+ if (context) {
29
+ url += `?context=${context}`;
30
+ }
31
+ const response = await fetch(url);
32
+ if (!response.ok) {
33
+ const errorData = await response.json();
34
+ throw new Error(errorData.error || 'Failed to fetch data');
35
+ }
36
+ const result = await response.json();
37
+ setData(result.data || []);
38
+ setError(null);
39
+ }
40
+ catch (err) {
41
+ setError(`Failed to load data: ${err.message}`);
42
+ console.error(err);
43
+ }
44
+ finally {
45
+ setLoading(false);
46
+ }
47
+ };
48
+ const clearData = async () => {
49
+ try {
50
+ let url = `${apiBaseUrl}/sources/${sourceId}/data`;
51
+ if (context) {
52
+ url += `?context=${context}`;
53
+ }
54
+ const response = await fetch(url, {
55
+ method: 'DELETE'
56
+ });
57
+ if (!response.ok) {
58
+ throw new Error('Failed to clear data');
59
+ }
60
+ setData([]);
61
+ }
62
+ catch (err) {
63
+ setError(`Failed to clear data: ${err.message}`);
64
+ console.error(err);
65
+ }
66
+ };
67
+ const exportData = () => {
68
+ const dataStr = JSON.stringify(data, null, 2);
69
+ const dataBlob = new Blob([dataStr], { type: 'application/json' });
70
+ const url = URL.createObjectURL(dataBlob);
71
+ const link = document.createElement('a');
72
+ link.href = url;
73
+ link.download = `source-${sourceId}-data-${Date.now()}.json`;
74
+ link.click();
75
+ URL.revokeObjectURL(url);
76
+ };
77
+ const formatTimestamp = (timestamp) => {
78
+ const date = new Date(timestamp);
79
+ return date.toLocaleString();
80
+ };
81
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "source-data-viewer", children: [(0, jsx_runtime_1.jsxs)("div", { className: "data-viewer-header", children: [(0, jsx_runtime_1.jsx)("h3", { children: "Emitted Data" }), (0, jsx_runtime_1.jsxs)("div", { className: "data-viewer-controls", children: [(0, jsx_runtime_1.jsxs)("label", { className: "auto-refresh-toggle", children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: autoRefresh, onChange: (e) => setAutoRefresh(e.target.checked) }), "Auto-refresh"] }), (0, jsx_runtime_1.jsx)("button", { onClick: fetchData, disabled: loading, children: "Refresh" }), (0, jsx_runtime_1.jsx)("button", { onClick: exportData, disabled: data.length === 0, children: "Export" }), (0, jsx_runtime_1.jsx)("button", { onClick: clearData, disabled: data.length === 0, children: "Clear" })] })] }), error && ((0, jsx_runtime_1.jsx)("div", { className: "data-viewer-error", children: error })), (0, jsx_runtime_1.jsx)("div", { className: "data-entries", children: data.length === 0 ? ((0, jsx_runtime_1.jsxs)("div", { className: "no-data", children: [(0, jsx_runtime_1.jsx)("p", { children: "No data emitted yet" }), (0, jsx_runtime_1.jsx)("p", { className: "hint", children: "Data emitted via source.emit() will appear here" })] })) : ((0, jsx_runtime_1.jsx)("div", { className: "entries-list", children: data.slice().reverse().map((entry, index) => ((0, jsx_runtime_1.jsxs)("div", { className: "data-entry", children: [(0, jsx_runtime_1.jsxs)("div", { className: "entry-header", children: [(0, jsx_runtime_1.jsx)("span", { className: "entry-timestamp", children: formatTimestamp(entry.timestamp) }), entry.metadata && ((0, jsx_runtime_1.jsxs)("span", { className: "entry-metadata", children: [Object.keys(entry.metadata).length, " metadata fields"] }))] }), (0, jsx_runtime_1.jsx)("div", { className: "entry-data", children: (0, jsx_runtime_1.jsx)("pre", { children: JSON.stringify(entry.data, null, 2) }) }), entry.metadata && ((0, jsx_runtime_1.jsxs)("details", { className: "entry-metadata-details", children: [(0, jsx_runtime_1.jsx)("summary", { children: "Metadata" }), (0, jsx_runtime_1.jsx)("pre", { children: JSON.stringify(entry.metadata, null, 2) })] }))] }, index))) })) }), (0, jsx_runtime_1.jsx)("div", { className: "data-viewer-footer", children: (0, jsx_runtime_1.jsxs)("span", { children: [data.length, " entries (max 50)"] }) })] }));
82
+ };
83
+ exports.SourceDataViewer = SourceDataViewer;
84
+ //# sourceMappingURL=SourceDataViewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceDataViewer.js","sourceRoot":"","sources":["../../../../src/ui/components/SourceDataViewer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface SourceJobsSectionProps {
3
+ sourceId: string;
4
+ jobs: Record<string, any>;
5
+ apiBaseUrl: string;
6
+ }
7
+ export declare const SourceJobsSection: React.FC<SourceJobsSectionProps>;
8
+ export {};
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SourceJobsSection = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const useQueryParams_1 = require("../hooks/useQueryParams");
7
+ const SourceDataViewer_1 = require("./SourceDataViewer");
8
+ const SourceJobsSection = ({ sourceId, jobs, apiBaseUrl }) => {
9
+ const { getParam, setParams } = (0, useQueryParams_1.useQueryParams)();
10
+ const [executions, setExecutions] = (0, react_1.useState)([]);
11
+ const [expandedResult, setExpandedResult] = (0, react_1.useState)(false);
12
+ const [loading, setLoading] = (0, react_1.useState)(false);
13
+ const [error, setError] = (0, react_1.useState)(null);
14
+ const jobList = Object.entries(jobs);
15
+ // Derive selection from URL (only when on jobs tab)
16
+ const selectedJobId = getParam('sourceJob');
17
+ const selectedExecutionId = getParam('execution');
18
+ const selectedJob = jobList.find(([id]) => id === selectedJobId)?.[0] || null;
19
+ const selectedExecution = executions.find((e) => e.timestamp?.toString() === selectedExecutionId) || null;
20
+ const handleJobSelect = (0, react_1.useCallback)((jobId, replace = false) => {
21
+ setParams({ sourceJob: jobId, execution: null }, replace);
22
+ }, [setParams]);
23
+ const handleExecutionSelect = (0, react_1.useCallback)((execution, replace = false) => {
24
+ setParams({ execution: execution.timestamp.toString() }, replace);
25
+ }, [setParams]);
26
+ // Auto-select first job
27
+ (0, react_1.useEffect)(() => {
28
+ if (jobList.length > 0 && !selectedJobId) {
29
+ handleJobSelect(jobList[0][0], true); // replace: true for auto-selection
30
+ }
31
+ // eslint-disable-next-line react-hooks/exhaustive-deps
32
+ }, [jobList, selectedJobId]);
33
+ // Fetch executions when job is selected
34
+ (0, react_1.useEffect)(() => {
35
+ if (selectedJob) {
36
+ fetchExecutions(selectedJob);
37
+ }
38
+ }, [selectedJob]);
39
+ // Auto-select first execution when job changes
40
+ (0, react_1.useEffect)(() => {
41
+ if (executions.length > 0 && !selectedExecutionId) {
42
+ handleExecutionSelect(executions[0], true); // replace: true for auto-selection
43
+ }
44
+ // eslint-disable-next-line react-hooks/exhaustive-deps
45
+ }, [executions, selectedExecutionId]);
46
+ const fetchExecutions = async (jobId) => {
47
+ try {
48
+ const response = await fetch(`${apiBaseUrl}/sources/${sourceId}/jobs/${jobId}/executions`);
49
+ if (!response.ok) {
50
+ throw new Error('Failed to fetch executions');
51
+ }
52
+ const data = await response.json();
53
+ const jobExecutions = data.executions || [];
54
+ setExecutions(jobExecutions);
55
+ if (jobExecutions.length === 0) {
56
+ setParams({ execution: null });
57
+ }
58
+ }
59
+ catch (err) {
60
+ console.error(`Failed to fetch executions for job ${jobId}:`, err);
61
+ setExecutions([]);
62
+ setParams({ execution: null });
63
+ }
64
+ };
65
+ const runJob = async (jobId) => {
66
+ try {
67
+ setLoading(true);
68
+ setError(null);
69
+ const response = await fetch(`${apiBaseUrl}/sources/${sourceId}/jobs/${jobId}`, {
70
+ method: 'POST',
71
+ headers: { 'Content-Type': 'application/json' },
72
+ body: JSON.stringify({ parameters: {} })
73
+ });
74
+ if (!response.ok) {
75
+ const errorData = await response.json();
76
+ throw new Error(errorData.error || 'Failed to run job');
77
+ }
78
+ // Refresh executions
79
+ await fetchExecutions(jobId);
80
+ }
81
+ catch (err) {
82
+ setError(`Failed to run job ${jobId}: ${err.message}`);
83
+ console.error(err);
84
+ }
85
+ finally {
86
+ setLoading(false);
87
+ }
88
+ };
89
+ const formatTimestamp = (timestamp) => {
90
+ const date = new Date(timestamp);
91
+ return date.toLocaleString();
92
+ };
93
+ const getStatusColor = (success) => {
94
+ return success ? '#28a745' : '#dc3545';
95
+ };
96
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "source-jobs-container", children: [(0, jsx_runtime_1.jsxs)("div", { className: "source-jobs-controls", children: [(0, jsx_runtime_1.jsxs)("div", { className: "job-selector-group", children: [(0, jsx_runtime_1.jsx)("label", { htmlFor: "job-select", children: "Source Job:" }), (0, jsx_runtime_1.jsx)("select", { id: "job-select", value: selectedJob || '', onChange: (e) => handleJobSelect(e.target.value), disabled: jobList.length === 0, children: jobList.length === 0 ? ((0, jsx_runtime_1.jsx)("option", { value: "", children: "No jobs defined" })) : (jobList.map(([jobId, jobConfig]) => ((0, jsx_runtime_1.jsxs)("option", { value: jobId, children: [jobId, " - ", jobConfig.description || 'No description'] }, jobId)))) })] }), selectedJob && ((0, jsx_runtime_1.jsx)("button", { className: "start-job-btn", onClick: () => runJob(selectedJob), disabled: loading, children: loading ? 'Running...' : 'Run Job' }))] }), (0, jsx_runtime_1.jsxs)("div", { className: "source-jobs-panels", children: [(0, jsx_runtime_1.jsxs)("div", { className: "executions-panel", children: [(0, jsx_runtime_1.jsxs)("div", { className: "executions-header", children: [(0, jsx_runtime_1.jsx)("h4", { children: "Execution History" }), selectedJob && ((0, jsx_runtime_1.jsxs)("span", { className: "selected-job", children: ["Job: ", selectedJob] }))] }), (0, jsx_runtime_1.jsx)("div", { className: "executions-list", children: executions.length === 0 ? ((0, jsx_runtime_1.jsx)("div", { className: "no-executions", children: (0, jsx_runtime_1.jsx)("p", { children: selectedJob ? 'No executions yet' : 'Select a job to see executions' }) })) : (executions.map((execution, index) => ((0, jsx_runtime_1.jsxs)("div", { className: `execution-item ${selectedExecution === execution ? 'active' : ''}`, onClick: () => handleExecutionSelect(execution), children: [(0, jsx_runtime_1.jsxs)("div", { className: "execution-status", children: [(0, jsx_runtime_1.jsx)("span", { className: "status-dot", style: { backgroundColor: getStatusColor(execution.success) } }), (0, jsx_runtime_1.jsx)("span", { className: "status-text", children: execution.success ? 'Completed' : 'Failed' })] }), (0, jsx_runtime_1.jsxs)("div", { className: "execution-time", children: [(0, jsx_runtime_1.jsx)("div", { className: "started-at", children: formatTimestamp(execution.timestamp) }), (0, jsx_runtime_1.jsxs)("div", { className: "execution-duration", children: ["Duration: ", execution.executionTime, "ms"] })] }), (0, jsx_runtime_1.jsx)("div", { className: "execution-stats", children: (0, jsx_runtime_1.jsx)("span", { className: "state-count", children: "1 state" }) }), execution.error && ((0, jsx_runtime_1.jsxs)("div", { className: "execution-error", children: ["Error: ", execution.error] }))] }, index)))) })] }), (0, jsx_runtime_1.jsxs)("div", { className: "source-jobs-right-column", children: [(0, jsx_runtime_1.jsxs)("div", { className: "states-panel", children: [(0, jsx_runtime_1.jsxs)("div", { className: "states-header", children: [(0, jsx_runtime_1.jsx)("h4", { children: "Job States" }), selectedExecution && ((0, jsx_runtime_1.jsxs)("span", { className: "selected-execution", children: ["Execution: ", selectedExecution.timestamp.toString().slice(0, 8), "..."] }))] }), (0, jsx_runtime_1.jsx)("div", { className: "states-list", children: !selectedExecution ? ((0, jsx_runtime_1.jsx)("div", { className: "no-states", children: (0, jsx_runtime_1.jsx)("p", { children: "Select an execution to see states" }) })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [selectedExecution.result && ((0, jsx_runtime_1.jsxs)("div", { className: "state-item", children: [(0, jsx_runtime_1.jsxs)("div", { className: "state-header", onClick: () => setExpandedResult(!expandedResult), children: [(0, jsx_runtime_1.jsxs)("div", { className: "state-meta", children: [(0, jsx_runtime_1.jsxs)("div", { className: "state-primary-info", children: [(0, jsx_runtime_1.jsx)("span", { className: "state-timestamp", children: formatTimestamp(selectedExecution.timestamp) }), (0, jsx_runtime_1.jsx)("span", { className: "state-phase perform", children: "PERFORM" })] }), (0, jsx_runtime_1.jsx)("div", { className: "state-secondary-info", children: (0, jsx_runtime_1.jsx)("span", { className: `state-status ${selectedExecution.success ? 'complete' : 'error'}`, children: selectedExecution.success ? 'Completed' : 'Error' }) })] }), (0, jsx_runtime_1.jsx)("div", { className: "state-expand", children: (0, jsx_runtime_1.jsx)("span", { className: `expand-icon ${expandedResult ? 'expanded' : ''}`, children: "\u25BC" }) })] }), expandedResult && ((0, jsx_runtime_1.jsx)("div", { className: "state-content", children: (0, jsx_runtime_1.jsx)("pre", { children: JSON.stringify(selectedExecution.result, null, 2) }) }))] })), selectedExecution.error && !selectedExecution.result && ((0, jsx_runtime_1.jsxs)("div", { className: "state-item", children: [(0, jsx_runtime_1.jsxs)("div", { className: "state-header", onClick: () => setExpandedResult(!expandedResult), children: [(0, jsx_runtime_1.jsxs)("div", { className: "state-meta", children: [(0, jsx_runtime_1.jsxs)("div", { className: "state-primary-info", children: [(0, jsx_runtime_1.jsx)("span", { className: "state-timestamp", children: formatTimestamp(selectedExecution.timestamp) }), (0, jsx_runtime_1.jsx)("span", { className: "state-phase perform", children: "PERFORM" })] }), (0, jsx_runtime_1.jsx)("div", { className: "state-secondary-info", children: (0, jsx_runtime_1.jsx)("span", { className: "state-status error", children: "Error" }) })] }), (0, jsx_runtime_1.jsx)("div", { className: "state-expand", children: (0, jsx_runtime_1.jsx)("span", { className: `expand-icon ${expandedResult ? 'expanded' : ''}`, children: "\u25BC" }) })] }), expandedResult && ((0, jsx_runtime_1.jsx)("div", { className: "state-content", children: (0, jsx_runtime_1.jsx)("pre", { children: selectedExecution.error }) }))] }))] })) })] }), (0, jsx_runtime_1.jsx)("div", { className: "source-panel", children: (0, jsx_runtime_1.jsx)(SourceDataViewer_1.SourceDataViewer, { sourceId: sourceId, apiBaseUrl: apiBaseUrl, context: "job" }) })] })] }), error && ((0, jsx_runtime_1.jsx)("div", { className: "toast-notification toast-error", children: (0, jsx_runtime_1.jsxs)("div", { className: "toast-content", children: [(0, jsx_runtime_1.jsx)("strong", { children: "Error" }), (0, jsx_runtime_1.jsx)("div", { className: "toast-message", children: error })] }) }))] }));
97
+ };
98
+ exports.SourceJobsSection = SourceJobsSection;
99
+ //# sourceMappingURL=SourceJobsSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceJobsSection.js","sourceRoot":"","sources":["../../../../src/ui/components/SourceJobsSection.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ interface SourceLifecycleSectionProps {
3
+ sourceId: string;
4
+ apiBaseUrl: string;
5
+ }
6
+ export declare const SourceLifecycleSection: React.FC<SourceLifecycleSectionProps>;
7
+ export {};
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SourceLifecycleSection = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const SourceLifecycleSection = ({ sourceId, apiBaseUrl }) => {
7
+ const [loading, setLoading] = (0, react_1.useState)({});
8
+ const [lastResponse, setLastResponse] = (0, react_1.useState)(null);
9
+ const lifecycleMethods = [
10
+ { id: 'create', label: 'Create', description: 'Setup source webhooks' },
11
+ { id: 'update', label: 'Update', description: 'Update source configuration' },
12
+ { id: 'delete', label: 'Delete', description: 'Cleanup tasks' },
13
+ { id: 'enable', label: 'Enable', description: 'Enable source' },
14
+ { id: 'pause', label: 'Pause', description: 'Pause source' }
15
+ ];
16
+ const executeLifecycle = async (action) => {
17
+ try {
18
+ setLoading(prev => ({ ...prev, [action]: true }));
19
+ const response = await fetch(`${apiBaseUrl}/sources/${sourceId}/${action}`, {
20
+ method: 'POST',
21
+ headers: { 'Content-Type': 'application/json' }
22
+ });
23
+ if (!response.ok) {
24
+ const errorData = await response.json();
25
+ throw new Error(errorData.error || `Failed to execute ${action}`);
26
+ }
27
+ const data = await response.json();
28
+ const result = data.result;
29
+ // Store response for display
30
+ setLastResponse({
31
+ action,
32
+ timestamp: Date.now(),
33
+ success: result.success,
34
+ message: result.message
35
+ });
36
+ }
37
+ catch (err) {
38
+ // Store error response
39
+ setLastResponse({
40
+ action,
41
+ timestamp: Date.now(),
42
+ success: false,
43
+ message: err.message
44
+ });
45
+ console.error(err);
46
+ }
47
+ finally {
48
+ setLoading(prev => ({ ...prev, [action]: false }));
49
+ }
50
+ };
51
+ const formatTimestamp = (timestamp) => {
52
+ const date = new Date(timestamp);
53
+ return date.toLocaleString();
54
+ };
55
+ return ((0, jsx_runtime_1.jsx)("div", { className: "source-lifecycle-container", children: (0, jsx_runtime_1.jsxs)("div", { className: "lifecycle-two-panel", children: [(0, jsx_runtime_1.jsxs)("div", { className: "lifecycle-methods-panel", children: [(0, jsx_runtime_1.jsxs)("div", { className: "panel-header", children: [(0, jsx_runtime_1.jsx)("h3", { children: "Lifecycle Hooks" }), (0, jsx_runtime_1.jsxs)("p", { className: "panel-description", children: ["Trigger lifecycle callbacks for ", (0, jsx_runtime_1.jsx)("strong", { children: sourceId })] })] }), (0, jsx_runtime_1.jsx)("div", { className: "lifecycle-methods-list", children: lifecycleMethods.map(method => ((0, jsx_runtime_1.jsx)("div", { className: "lifecycle-method-item", children: (0, jsx_runtime_1.jsxs)("div", { className: "method-header", children: [(0, jsx_runtime_1.jsxs)("div", { className: "method-info", children: [(0, jsx_runtime_1.jsx)("h4", { children: method.label }), (0, jsx_runtime_1.jsx)("p", { children: method.description })] }), (0, jsx_runtime_1.jsx)("button", { className: "lifecycle-trigger-btn", onClick: () => executeLifecycle(method.id), disabled: loading[method.id], children: loading[method.id] ? 'Running...' : 'Trigger' })] }) }, method.id))) })] }), (0, jsx_runtime_1.jsxs)("div", { className: "lifecycle-response-panel", children: [(0, jsx_runtime_1.jsx)("div", { className: "panel-header", children: (0, jsx_runtime_1.jsx)("h3", { children: "Response" }) }), (0, jsx_runtime_1.jsx)("div", { className: "response-content", children: !lastResponse ? ((0, jsx_runtime_1.jsxs)("div", { className: "no-response", children: [(0, jsx_runtime_1.jsx)("p", { children: "No lifecycle hook has been triggered yet." }), (0, jsx_runtime_1.jsx)("p", { className: "hint", children: "Click a \"Trigger\" button to execute a lifecycle hook." })] })) : ((0, jsx_runtime_1.jsxs)("div", { className: "response-details", children: [(0, jsx_runtime_1.jsxs)("div", { className: "response-header", children: [(0, jsx_runtime_1.jsxs)("div", { className: `response-status ${lastResponse.success ? 'success' : 'error'}`, children: [(0, jsx_runtime_1.jsx)("span", { className: "status-dot" }), (0, jsx_runtime_1.jsx)("span", { className: "status-text", children: lastResponse.success ? 'Success' : 'Error' })] }), (0, jsx_runtime_1.jsxs)("div", { className: "response-meta", children: [(0, jsx_runtime_1.jsx)("span", { className: "response-action", children: lastResponse.action }), (0, jsx_runtime_1.jsx)("span", { className: "response-time", children: formatTimestamp(lastResponse.timestamp) })] })] }), lastResponse.message && ((0, jsx_runtime_1.jsxs)("div", { className: "response-message", children: [(0, jsx_runtime_1.jsx)("label", { children: "Message:" }), (0, jsx_runtime_1.jsx)("pre", { children: lastResponse.message })] }))] })) })] })] }) }));
56
+ };
57
+ exports.SourceLifecycleSection = SourceLifecycleSection;
58
+ //# sourceMappingURL=SourceLifecycleSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceLifecycleSection.js","sourceRoot":"","sources":["../../../../src/ui/components/SourceLifecycleSection.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ interface SourceSchemaViewerProps {
3
+ sourceId: string;
4
+ apiBaseUrl: string;
5
+ }
6
+ export declare const SourceSchemaViewer: React.FC<SourceSchemaViewerProps>;
7
+ export {};
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SourceSchemaViewer = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const SourceSchemaViewer = ({ sourceId, apiBaseUrl }) => {
7
+ const [schema, setSchema] = (0, react_1.useState)(null);
8
+ const [loading, setLoading] = (0, react_1.useState)(true);
9
+ const [error, setError] = (0, react_1.useState)(null);
10
+ const [expandedTypes, setExpandedTypes] = (0, react_1.useState)(new Set());
11
+ (0, react_1.useEffect)(() => {
12
+ fetchSchema();
13
+ }, [sourceId]);
14
+ const fetchSchema = async () => {
15
+ try {
16
+ setLoading(true);
17
+ setError(null);
18
+ const response = await fetch(`${apiBaseUrl}/sources/${sourceId}/schema`);
19
+ if (!response.ok) {
20
+ const errorData = await response.json();
21
+ throw new Error(errorData.error || 'Failed to load schema');
22
+ }
23
+ const data = await response.json();
24
+ setSchema(data.schema);
25
+ }
26
+ catch (err) {
27
+ setError(err.message);
28
+ console.error('Failed to load schema:', err);
29
+ }
30
+ finally {
31
+ setLoading(false);
32
+ }
33
+ };
34
+ const toggleCustomType = (typeName) => {
35
+ setExpandedTypes(prev => {
36
+ const newSet = new Set(prev);
37
+ if (newSet.has(typeName)) {
38
+ newSet.delete(typeName);
39
+ }
40
+ else {
41
+ newSet.add(typeName);
42
+ }
43
+ return newSet;
44
+ });
45
+ };
46
+ const renderFieldRow = (field) => {
47
+ return ((0, jsx_runtime_1.jsxs)("tr", { className: field.primary ? 'primary-field' : '', children: [(0, jsx_runtime_1.jsx)("td", { className: "field-name", children: field.name }), (0, jsx_runtime_1.jsx)("td", { className: "field-display-name", children: field.display_name }), (0, jsx_runtime_1.jsxs)("td", { className: "field-type", children: [(0, jsx_runtime_1.jsx)("span", { className: `type-badge type-${field.type.replace(/[^a-z]/gi, '')}`, children: field.type }), field.primary && (0, jsx_runtime_1.jsx)("span", { className: "primary-badge", children: "PRIMARY" })] }), (0, jsx_runtime_1.jsx)("td", { className: "field-description", children: field.description })] }, field.name));
48
+ };
49
+ if (loading) {
50
+ return (0, jsx_runtime_1.jsx)("div", { className: "schema-viewer", children: "Loading schema..." });
51
+ }
52
+ if (error) {
53
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "schema-viewer error", children: [(0, jsx_runtime_1.jsx)("h3", { children: "Schema Error" }), (0, jsx_runtime_1.jsx)("p", { children: error })] }));
54
+ }
55
+ if (!schema) {
56
+ return (0, jsx_runtime_1.jsx)("div", { className: "schema-viewer", children: "No schema available" });
57
+ }
58
+ // Handle string schemas (e.g., "asset", "account")
59
+ if (typeof schema === 'string') {
60
+ return ((0, jsx_runtime_1.jsx)("div", { className: "schema-viewer", children: (0, jsx_runtime_1.jsxs)("div", { className: "schema-header", children: [(0, jsx_runtime_1.jsxs)("h4", { children: ["Schema Type: ", schema] }), (0, jsx_runtime_1.jsx)("p", { className: "schema-description", children: "Static schema identifier" })] }) }));
61
+ }
62
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "schema-viewer", children: [(0, jsx_runtime_1.jsxs)("div", { className: "schema-header", children: [(0, jsx_runtime_1.jsx)("h4", { children: schema.display_name || 'Schema' }), (0, jsx_runtime_1.jsx)("p", { className: "schema-description", children: schema.description || '' })] }), schema.fields && schema.fields.length > 0 && ((0, jsx_runtime_1.jsxs)("div", { className: "schema-fields", children: [(0, jsx_runtime_1.jsx)("h4", { children: "Fields" }), (0, jsx_runtime_1.jsxs)("table", { className: "fields-table", children: [(0, jsx_runtime_1.jsx)("thead", { children: (0, jsx_runtime_1.jsxs)("tr", { children: [(0, jsx_runtime_1.jsx)("th", { children: "Name" }), (0, jsx_runtime_1.jsx)("th", { children: "Display Name" }), (0, jsx_runtime_1.jsx)("th", { children: "Type" }), (0, jsx_runtime_1.jsx)("th", { children: "Description" })] }) }), (0, jsx_runtime_1.jsx)("tbody", { children: schema.fields.map(renderFieldRow) })] })] })), schema.custom_types && schema.custom_types.length > 0 && ((0, jsx_runtime_1.jsxs)("div", { className: "schema-custom-types", children: [(0, jsx_runtime_1.jsx)("h4", { children: "Custom Types" }), schema.custom_types.map(customType => ((0, jsx_runtime_1.jsxs)("div", { className: "custom-type", children: [(0, jsx_runtime_1.jsxs)("div", { className: "custom-type-header", onClick: () => toggleCustomType(customType.name), children: [(0, jsx_runtime_1.jsx)("span", { className: "expand-icon", children: expandedTypes.has(customType.name) ? '▼' : '▶' }), (0, jsx_runtime_1.jsx)("span", { className: "custom-type-name", children: customType.display_name }), (0, jsx_runtime_1.jsx)("span", { className: "custom-type-description", children: customType.description })] }), expandedTypes.has(customType.name) && ((0, jsx_runtime_1.jsxs)("table", { className: "fields-table", children: [(0, jsx_runtime_1.jsx)("thead", { children: (0, jsx_runtime_1.jsxs)("tr", { children: [(0, jsx_runtime_1.jsx)("th", { children: "Name" }), (0, jsx_runtime_1.jsx)("th", { children: "Display Name" }), (0, jsx_runtime_1.jsx)("th", { children: "Type" }), (0, jsx_runtime_1.jsx)("th", { children: "Description" })] }) }), (0, jsx_runtime_1.jsx)("tbody", { children: customType.fields.map(renderFieldRow) })] }))] }, customType.name)))] }))] }));
63
+ };
64
+ exports.SourceSchemaViewer = SourceSchemaViewer;
65
+ //# sourceMappingURL=SourceSchemaViewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceSchemaViewer.js","sourceRoot":"","sources":["../../../../src/ui/components/SourceSchemaViewer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface SourceWebhookEditorProps {
3
+ sourceId: string;
4
+ apiBaseUrl: string;
5
+ webhookUrl: string;
6
+ }
7
+ export declare const SourceWebhookEditor: React.FC<SourceWebhookEditorProps>;
8
+ export {};