@optimizely/ocp-local-env 1.0.0-beta.8 → 1.0.1

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 (196) hide show
  1. package/README.md +18 -133
  2. package/dist/package.json +17 -9
  3. package/dist/public/bundle.fa87c838198caf8c051a.js +3 -0
  4. package/dist/public/{bundle.0a495807b6ef336cb500.js.LICENSE.txt → bundle.fa87c838198caf8c051a.js.LICENSE.txt} +13 -3
  5. package/dist/public/bundle.fa87c838198caf8c051a.js.map +1 -0
  6. package/dist/public/index.html +1 -1
  7. package/dist/src/cli.js +2 -2
  8. package/dist/src/cli.js.map +1 -1
  9. package/dist/src/executor/FunctionExecutor.js +8 -5
  10. package/dist/src/executor/FunctionExecutor.js.map +1 -1
  11. package/dist/src/executor/JobExecutor.js +0 -17
  12. package/dist/src/executor/JobExecutor.js.map +1 -1
  13. package/dist/src/executor/LifecycleExecutor.js +11 -2
  14. package/dist/src/executor/LifecycleExecutor.js.map +1 -1
  15. package/dist/src/executor/watcher.d.ts +6 -0
  16. package/dist/src/executor/watcher.js +45 -0
  17. package/dist/src/executor/watcher.js.map +1 -1
  18. package/dist/src/local_engine/LocalJobApi.d.ts +31 -2
  19. package/dist/src/local_engine/LocalJobApi.js +42 -17
  20. package/dist/src/local_engine/LocalJobApi.js.map +1 -1
  21. package/dist/src/local_engine/LocalNotifier.d.ts +3 -2
  22. package/dist/src/local_engine/LocalNotifier.js +7 -0
  23. package/dist/src/local_engine/LocalNotifier.js.map +1 -1
  24. package/dist/src/local_engine/LocalSourceApi.d.ts +40 -0
  25. package/dist/src/local_engine/LocalSourceApi.js +69 -0
  26. package/dist/src/local_engine/LocalSourceApi.js.map +1 -0
  27. package/dist/src/local_engine/local-engine-child-base.d.ts +0 -12
  28. package/dist/src/local_engine/local-engine-child-base.js +0 -127
  29. package/dist/src/local_engine/local-engine-child-base.js.map +1 -1
  30. package/dist/src/local_engine/local-engine-client.d.ts +19 -29
  31. package/dist/src/local_engine/local-engine-client.js +45 -94
  32. package/dist/src/local_engine/local-engine-client.js.map +1 -1
  33. package/dist/src/local_engine/local-engine-types.d.ts +13 -50
  34. package/dist/src/local_engine/local-engine-unified.d.ts +6 -13
  35. package/dist/src/local_engine/local-engine-unified.js +108 -222
  36. package/dist/src/local_engine/local-engine-unified.js.map +1 -1
  37. package/dist/src/local_engine/localSDKConfig.d.ts +6 -0
  38. package/dist/src/local_engine/localSDKConfig.js +66 -1
  39. package/dist/src/local_engine/localSDKConfig.js.map +1 -1
  40. package/dist/src/local_engine/storage/BaseKVStoreWrapper.d.ts +1 -2
  41. package/dist/src/local_engine/storage/BaseKVStoreWrapper.js.map +1 -1
  42. package/dist/src/local_engine/storage/LocalConfigStore.d.ts +7 -13
  43. package/dist/src/local_engine/storage/LocalConfigStore.js +9 -31
  44. package/dist/src/local_engine/storage/LocalConfigStore.js.map +1 -1
  45. package/dist/src/local_engine/storage/LocalKVStore.d.ts +4 -0
  46. package/dist/src/local_engine/storage/LocalKVStore.js +23 -0
  47. package/dist/src/local_engine/storage/LocalKVStore.js.map +1 -1
  48. package/dist/src/local_engine/storage/LocalSettingsStore.d.ts +7 -1
  49. package/dist/src/local_engine/storage/LocalSettingsStore.js +46 -4
  50. package/dist/src/local_engine/storage/LocalSettingsStore.js.map +1 -1
  51. package/dist/src/local_engine/storage/SourceDataStore.d.ts +16 -14
  52. package/dist/src/local_engine/storage/SourceDataStore.js +57 -57
  53. package/dist/src/local_engine/storage/SourceDataStore.js.map +1 -1
  54. package/dist/src/local_engine/utils.d.ts +2 -0
  55. package/dist/src/local_engine/utils.js +4 -2
  56. package/dist/src/local_engine/utils.js.map +1 -1
  57. package/dist/src/server/api/deploy.d.ts +20 -0
  58. package/dist/src/server/api/deploy.js +399 -0
  59. package/dist/src/server/api/deploy.js.map +1 -0
  60. package/dist/src/server/api/destinations.js +1 -1
  61. package/dist/src/server/api/destinations.js.map +1 -1
  62. package/dist/src/server/api/env.d.ts +2 -0
  63. package/dist/src/server/api/env.js +28 -0
  64. package/dist/src/server/api/env.js.map +1 -0
  65. package/dist/src/server/api/functions.js +13 -12
  66. package/dist/src/server/api/functions.js.map +1 -1
  67. package/dist/src/server/api/opalTools.d.ts +4 -0
  68. package/dist/src/server/api/opalTools.js +81 -0
  69. package/dist/src/server/api/opalTools.js.map +1 -0
  70. package/dist/src/server/api/schema.d.ts +6 -0
  71. package/dist/src/server/api/schema.js +95 -0
  72. package/dist/src/server/api/schema.js.map +1 -0
  73. package/dist/src/server/api/sources.d.ts +1 -2
  74. package/dist/src/server/api/sources.js +16 -275
  75. package/dist/src/server/api/sources.js.map +1 -1
  76. package/dist/src/server/api/v1.js +67 -70
  77. package/dist/src/server/api/v1.js.map +1 -1
  78. package/dist/src/server/api.d.ts +4 -0
  79. package/dist/src/server/api.js +133 -11
  80. package/dist/src/server/api.js.map +1 -1
  81. package/dist/src/server/app-discovery.js +37 -4
  82. package/dist/src/server/app-discovery.js.map +1 -1
  83. package/dist/src/server/app-env.d.ts +21 -0
  84. package/dist/src/server/app-env.js +122 -0
  85. package/dist/src/server/app-env.js.map +1 -0
  86. package/dist/src/server/browserFocus.d.ts +5 -0
  87. package/dist/src/server/browserFocus.js +39 -0
  88. package/dist/src/server/browserFocus.js.map +1 -0
  89. package/dist/src/server/config.d.ts +3 -0
  90. package/dist/src/server/config.js +7 -0
  91. package/dist/src/server/config.js.map +1 -1
  92. package/dist/src/server/mockDataGenerator.d.ts +1 -2
  93. package/dist/src/server/mockDataGenerator.js +77 -35
  94. package/dist/src/server/mockDataGenerator.js.map +1 -1
  95. package/dist/src/server/mockToolDataGenerator.d.ts +12 -0
  96. package/dist/src/server/mockToolDataGenerator.js +393 -0
  97. package/dist/src/server/mockToolDataGenerator.js.map +1 -0
  98. package/dist/src/server.js +152 -168
  99. package/dist/src/server.js.map +1 -1
  100. package/dist/src/types/app.d.ts +1 -3
  101. package/dist/src/types/app.js.map +1 -1
  102. package/dist/src/ui/components/App.js +311 -50
  103. package/dist/src/ui/components/App.js.map +1 -1
  104. package/dist/src/ui/components/DeployModal.d.ts +16 -0
  105. package/dist/src/ui/components/DeployModal.js +75 -0
  106. package/dist/src/ui/components/DeployModal.js.map +1 -0
  107. package/dist/src/ui/components/DestinationBatchEditor.d.ts +9 -1
  108. package/dist/src/ui/components/DestinationBatchEditor.js +30 -16
  109. package/dist/src/ui/components/DestinationBatchEditor.js.map +1 -1
  110. package/dist/src/ui/components/DestinationsView.js +5 -1
  111. package/dist/src/ui/components/DestinationsView.js.map +1 -1
  112. package/dist/src/ui/components/EntityNotAvailable.d.ts +15 -0
  113. package/dist/src/ui/components/EntityNotAvailable.js +27 -0
  114. package/dist/src/ui/components/EntityNotAvailable.js.map +1 -0
  115. package/dist/src/ui/components/EnvViewer.d.ts +8 -0
  116. package/dist/src/ui/components/EnvViewer.js +35 -0
  117. package/dist/src/ui/components/EnvViewer.js.map +1 -0
  118. package/dist/src/ui/components/FunctionsView.d.ts +2 -6
  119. package/dist/src/ui/components/FunctionsView.js +106 -124
  120. package/dist/src/ui/components/FunctionsView.js.map +1 -1
  121. package/dist/src/ui/components/JobsView.js +28 -5
  122. package/dist/src/ui/components/JobsView.js.map +1 -1
  123. package/dist/src/ui/components/KVStoreViewer.js +5 -5
  124. package/dist/src/ui/components/KVStoreViewer.js.map +1 -1
  125. package/dist/src/ui/components/KeyValueEditor.d.ts +15 -0
  126. package/dist/src/ui/components/KeyValueEditor.js +12 -0
  127. package/dist/src/ui/components/KeyValueEditor.js.map +1 -0
  128. package/dist/src/ui/components/NotificationViewer.d.ts +2 -11
  129. package/dist/src/ui/components/NotificationViewer.js +69 -15
  130. package/dist/src/ui/components/NotificationViewer.js.map +1 -1
  131. package/dist/src/ui/components/OdpSchemaView.d.ts +3 -0
  132. package/dist/src/ui/components/OdpSchemaView.js +58 -0
  133. package/dist/src/ui/components/OdpSchemaView.js.map +1 -0
  134. package/dist/src/ui/components/OpalToolsView.d.ts +9 -0
  135. package/dist/src/ui/components/OpalToolsView.js +399 -0
  136. package/dist/src/ui/components/OpalToolsView.js.map +1 -0
  137. package/dist/src/ui/components/ResponseViewer.d.ts +39 -0
  138. package/dist/src/ui/components/ResponseViewer.js +43 -0
  139. package/dist/src/ui/components/ResponseViewer.js.map +1 -0
  140. package/dist/src/ui/components/SecretsStoreViewer.js +3 -2
  141. package/dist/src/ui/components/SecretsStoreViewer.js.map +1 -1
  142. package/dist/src/ui/components/SettingsStoreViewer.js +3 -2
  143. package/dist/src/ui/components/SettingsStoreViewer.js.map +1 -1
  144. package/dist/src/ui/components/SourceEmittedDataPanel.d.ts +8 -0
  145. package/dist/src/ui/components/SourceEmittedDataPanel.js +103 -0
  146. package/dist/src/ui/components/SourceEmittedDataPanel.js.map +1 -0
  147. package/dist/src/ui/components/SourcesView.js +4 -8
  148. package/dist/src/ui/components/SourcesView.js.map +1 -1
  149. package/dist/src/ui/components/StoreViewer.js +2 -1
  150. package/dist/src/ui/components/StoreViewer.js.map +1 -1
  151. package/dist/src/ui/components/TabbedConsole.d.ts +11 -0
  152. package/dist/src/ui/components/TabbedConsole.js +134 -44
  153. package/dist/src/ui/components/TabbedConsole.js.map +1 -1
  154. package/dist/src/ui/components/ToolSettingsView.d.ts +7 -0
  155. package/dist/src/ui/components/ToolSettingsView.js +25 -0
  156. package/dist/src/ui/components/ToolSettingsView.js.map +1 -0
  157. package/dist/src/ui/components/common/EyeIcon.js +2 -1
  158. package/dist/src/ui/components/common/EyeIcon.js.map +1 -1
  159. package/dist/src/ui/hooks/useKeyValuePairs.d.ts +52 -0
  160. package/dist/src/ui/hooks/useKeyValuePairs.js +66 -0
  161. package/dist/src/ui/hooks/useKeyValuePairs.js.map +1 -0
  162. package/dist/src/ui/index.js +4 -2
  163. package/dist/src/ui/index.js.map +1 -1
  164. package/dist/src/ui/store/formStateSlice.d.ts +71 -0
  165. package/dist/src/ui/store/formStateSlice.js +159 -0
  166. package/dist/src/ui/store/formStateSlice.js.map +1 -0
  167. package/dist/src/ui/store/hooks.d.ts +6 -0
  168. package/dist/src/ui/store/hooks.js +8 -0
  169. package/dist/src/ui/store/hooks.js.map +1 -0
  170. package/dist/src/ui/store/index.d.ts +11 -0
  171. package/dist/src/ui/store/index.js +107 -0
  172. package/dist/src/ui/store/index.js.map +1 -0
  173. package/dist/src/ui/types/common.d.ts +33 -0
  174. package/dist/src/ui/types/common.js +6 -0
  175. package/dist/src/ui/types/common.js.map +1 -0
  176. package/package.json +17 -9
  177. package/dist/public/bundle.0a495807b6ef336cb500.js +0 -3
  178. package/dist/public/bundle.0a495807b6ef336cb500.js.map +0 -1
  179. package/dist/src/executor/SourceExecutor.d.ts +0 -32
  180. package/dist/src/executor/SourceExecutor.js +0 -163
  181. package/dist/src/executor/SourceExecutor.js.map +0 -1
  182. package/dist/src/local_engine/storage/SourceJobExecutionStore.d.ts +0 -25
  183. package/dist/src/local_engine/storage/SourceJobExecutionStore.js +0 -61
  184. package/dist/src/local_engine/storage/SourceJobExecutionStore.js.map +0 -1
  185. package/dist/src/ui/components/SourceDataViewer.d.ts +0 -8
  186. package/dist/src/ui/components/SourceDataViewer.js +0 -84
  187. package/dist/src/ui/components/SourceDataViewer.js.map +0 -1
  188. package/dist/src/ui/components/SourceJobsSection.d.ts +0 -8
  189. package/dist/src/ui/components/SourceJobsSection.js +0 -99
  190. package/dist/src/ui/components/SourceJobsSection.js.map +0 -1
  191. package/dist/src/ui/components/SourceLifecycleSection.d.ts +0 -7
  192. package/dist/src/ui/components/SourceLifecycleSection.js +0 -58
  193. package/dist/src/ui/components/SourceLifecycleSection.js.map +0 -1
  194. package/dist/src/ui/components/SourceWebhookEditor.d.ts +0 -8
  195. package/dist/src/ui/components/SourceWebhookEditor.js +0 -168
  196. package/dist/src/ui/components/SourceWebhookEditor.js.map +0 -1
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const jsx_runtime_1 = require("react/jsx-runtime");
4
4
  const react_1 = require("react");
5
+ const axiom_icons_1 = require("@optimizely/axiom-icons");
5
6
  const KVStoreViewer = ({ data, title, apiEndpoint, onUpdate }) => {
6
7
  const [editingKey, setEditingKey] = (0, react_1.useState)(null);
7
8
  const [editValue, setEditValue] = (0, react_1.useState)('');
@@ -135,7 +136,7 @@ const KVStoreViewer = ({ data, title, apiEndpoint, onUpdate }) => {
135
136
  const renderKeyValue = (key, value) => {
136
137
  const isEditing = editingKey === key;
137
138
  if (isEditing) {
138
- return ((0, jsx_runtime_1.jsxs)("div", { className: "edit-mode", children: [(0, jsx_runtime_1.jsx)("textarea", { className: "edit-input", value: editValue, onChange: (e) => setEditValue(e.target.value), placeholder: "Enter JSON document", rows: 8, style: { width: '100%', fontFamily: 'monospace' } }), (0, jsx_runtime_1.jsxs)("div", { className: "edit-controls", children: [(0, jsx_runtime_1.jsx)("button", { className: "save-btn", onClick: () => saveEdit(key), children: "Save" }), (0, jsx_runtime_1.jsx)("button", { className: "cancel-btn", onClick: cancelEdit, children: "Cancel" })] })] }));
139
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "edit-mode", children: [(0, jsx_runtime_1.jsx)("textarea", { className: "edit-input", value: editValue, onChange: (e) => setEditValue(e.target.value), placeholder: "Enter JSON document", rows: 8, style: { width: '100%' } }), (0, jsx_runtime_1.jsxs)("div", { className: "edit-controls", children: [(0, jsx_runtime_1.jsx)("button", { className: "save-btn", onClick: () => saveEdit(key), children: "Save" }), (0, jsx_runtime_1.jsx)("button", { className: "cancel-btn", onClick: cancelEdit, children: "Cancel" })] })] }));
139
140
  }
140
141
  // Show formatted JSON for all values
141
142
  return ((0, jsx_runtime_1.jsx)("div", { className: "json-display", children: (0, jsx_runtime_1.jsx)("pre", { style: {
@@ -145,7 +146,6 @@ const KVStoreViewer = ({ data, title, apiEndpoint, onUpdate }) => {
145
146
  border: '1px solid #4a4a4a',
146
147
  borderRadius: '3px',
147
148
  color: '#cccccc',
148
- fontFamily: 'monospace',
149
149
  fontSize: '11px',
150
150
  whiteSpace: 'pre-wrap',
151
151
  wordWrap: 'break-word',
@@ -158,11 +158,11 @@ const KVStoreViewer = ({ data, title, apiEndpoint, onUpdate }) => {
158
158
  return ((0, jsx_runtime_1.jsxs)("div", { className: "store-section", children: [(0, jsx_runtime_1.jsxs)("div", { className: "section-header", onClick: () => toggleKey(key), style: { cursor: 'pointer' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "expand-icon", children: isExpanded ? '▼' : '▶' }), (0, jsx_runtime_1.jsx)("span", { className: "section-name", children: key }), (0, jsx_runtime_1.jsxs)("div", { className: "section-actions", children: [(0, jsx_runtime_1.jsx)("button", { className: "edit-icon", onClick: (e) => {
159
159
  e.stopPropagation();
160
160
  startEditing(key, value);
161
- }, title: "Edit JSON", children: "\u270F\uFE0F" }), (0, jsx_runtime_1.jsx)("button", { className: "delete-icon", onClick: (e) => {
161
+ }, title: "Edit JSON", children: (0, jsx_runtime_1.jsx)(axiom_icons_1.IconPen, { size: "2xs" }) }), (0, jsx_runtime_1.jsx)("button", { className: "delete-icon", onClick: (e) => {
162
162
  e.stopPropagation();
163
163
  deleteKey(key);
164
- }, title: "Delete Entry", children: "\uD83D\uDDD1\uFE0F" })] })] }), isExpanded && ((0, jsx_runtime_1.jsx)("div", { className: "json-content", children: renderKeyValue(key, value) }))] }, key));
165
- }), showAddForm && ((0, jsx_runtime_1.jsxs)("div", { className: "store-section add-form", children: [(0, jsx_runtime_1.jsxs)("div", { className: "section-header", children: [(0, jsx_runtime_1.jsx)("span", { className: "expand-icon" }), (0, jsx_runtime_1.jsx)("input", { type: "text", value: newKey, onChange: (e) => setNewKey(e.target.value), placeholder: "Key name", className: "key-input" }), (0, jsx_runtime_1.jsxs)("div", { className: "section-actions", children: [(0, jsx_runtime_1.jsx)("button", { className: "save-btn", onClick: addNewEntry, children: "Save" }), (0, jsx_runtime_1.jsx)("button", { className: "cancel-btn", onClick: cancelAdd, children: "Cancel" })] })] }), (0, jsx_runtime_1.jsx)("div", { className: "primitive-value", children: (0, jsx_runtime_1.jsx)("textarea", { value: newValue, onChange: (e) => setNewValue(e.target.value), placeholder: 'Enter JSON document (e.g., {"field1": "value1", "field2": "value2"})', className: "value-input", rows: 4, style: { width: '100%', fontFamily: 'monospace' } }) })] })), (0, jsx_runtime_1.jsx)("div", { className: "add-entry-section", children: (0, jsx_runtime_1.jsx)("button", { className: "add-entry-btn", onClick: () => setShowAddForm(!showAddForm), children: showAddForm ? 'Cancel' : '+ Add Entry' }) }), keys.length === 0 && !showAddForm && ((0, jsx_runtime_1.jsx)("div", { className: "empty-store", children: "No entries in this store" }))] }) }));
164
+ }, title: "Delete Entry", children: (0, jsx_runtime_1.jsx)(axiom_icons_1.IconTrashCan, { size: "2xs" }) })] })] }), isExpanded && ((0, jsx_runtime_1.jsx)("div", { className: "json-content", children: renderKeyValue(key, value) }))] }, key));
165
+ }), showAddForm && ((0, jsx_runtime_1.jsxs)("div", { className: "store-section add-form", children: [(0, jsx_runtime_1.jsxs)("div", { className: "section-header", children: [(0, jsx_runtime_1.jsx)("span", { className: "expand-icon" }), (0, jsx_runtime_1.jsx)("input", { type: "text", value: newKey, onChange: (e) => setNewKey(e.target.value), placeholder: "Key name", className: "key-input" }), (0, jsx_runtime_1.jsxs)("div", { className: "section-actions", children: [(0, jsx_runtime_1.jsx)("button", { className: "save-btn", onClick: addNewEntry, children: "Save" }), (0, jsx_runtime_1.jsx)("button", { className: "cancel-btn", onClick: cancelAdd, children: "Cancel" })] })] }), (0, jsx_runtime_1.jsx)("div", { className: "primitive-value", children: (0, jsx_runtime_1.jsx)("textarea", { value: newValue, onChange: (e) => setNewValue(e.target.value), placeholder: 'Enter JSON document (e.g., {"field1": "value1", "field2": "value2"})', className: "value-input", rows: 4, style: { width: '100%' } }) })] })), (0, jsx_runtime_1.jsx)("div", { className: "add-entry-section", children: (0, jsx_runtime_1.jsx)("button", { className: "add-entry-btn", onClick: () => setShowAddForm(!showAddForm), children: showAddForm ? 'Cancel' : '+ Add Entry' }) }), keys.length === 0 && !showAddForm && ((0, jsx_runtime_1.jsx)("div", { className: "empty-store", children: "No entries in this store" }))] }) }));
166
166
  };
167
167
  exports.default = KVStoreViewer;
168
168
  //# sourceMappingURL=KVStoreViewer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KVStoreViewer.js","sourceRoot":"","sources":["../../../../src/ui/components/KVStoreViewer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KVStoreViewer.js","sourceRoot":"","sources":["../../../../src/ui/components/KVStoreViewer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { KeyValuePair } from '../store/formStateSlice';
3
+ interface KeyValueEditorProps {
4
+ items: KeyValuePair[];
5
+ onAdd: () => void;
6
+ onUpdate: (index: number, field: 'key' | 'value' | 'enabled', value: string | boolean) => void;
7
+ onRemove: (index: number) => void;
8
+ addButtonLabel: string;
9
+ }
10
+ /**
11
+ * Reusable key-value pair editor component.
12
+ * Used for editing request params and headers in FunctionsView, OpalToolsView, etc.
13
+ */
14
+ declare const KeyValueEditor: React.FC<KeyValueEditorProps>;
15
+ export default KeyValueEditor;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ /**
5
+ * Reusable key-value pair editor component.
6
+ * Used for editing request params and headers in FunctionsView, OpalToolsView, etc.
7
+ */
8
+ const KeyValueEditor = ({ items, onAdd, onUpdate, onRemove, addButtonLabel, }) => {
9
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "key-value-editor", children: [(0, jsx_runtime_1.jsxs)("div", { className: "key-value-header", children: [(0, jsx_runtime_1.jsx)("span", { className: "col-checkbox" }), (0, jsx_runtime_1.jsx)("span", { className: "col-key", children: "Key" }), (0, jsx_runtime_1.jsx)("span", { className: "col-value", children: "Value" }), (0, jsx_runtime_1.jsx)("span", { className: "col-actions" })] }), items.map((item, index) => ((0, jsx_runtime_1.jsxs)("div", { className: "key-value-row", children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: item.enabled, onChange: (e) => onUpdate(index, 'enabled', e.target.checked) }), (0, jsx_runtime_1.jsx)("input", { type: "text", value: item.key, onChange: (e) => onUpdate(index, 'key', e.target.value), placeholder: "Key" }), (0, jsx_runtime_1.jsx)("input", { type: "text", value: item.value, onChange: (e) => onUpdate(index, 'value', e.target.value), placeholder: "Value" }), (0, jsx_runtime_1.jsx)("button", { className: "remove-btn", onClick: () => onRemove(index), children: "\u00D7" })] }, index))), (0, jsx_runtime_1.jsx)("button", { className: "add-btn", onClick: onAdd, children: addButtonLabel })] }));
10
+ };
11
+ exports.default = KeyValueEditor;
12
+ //# sourceMappingURL=KeyValueEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyValueEditor.js","sourceRoot":"","sources":["../../../../src/ui/components/KeyValueEditor.tsx"],"names":[],"mappings":";;;AAWA;;;GAGG;AACH,MAAM,cAAc,GAAkC,CAAC,EACrD,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,cAAc,GACf,EAAE,EAAE;IACH,OAAO,CACL,iCAAK,SAAS,EAAC,kBAAkB,aAC/B,iCAAK,SAAS,EAAC,kBAAkB,aAC/B,iCAAM,SAAS,EAAC,cAAc,GAAQ,EACtC,iCAAM,SAAS,EAAC,SAAS,oBAAW,EACpC,iCAAM,SAAS,EAAC,WAAW,sBAAa,EACxC,iCAAM,SAAS,EAAC,aAAa,GAAQ,IACjC,EACL,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC1B,iCAAiB,SAAS,EAAC,eAAe,aACxC,kCACE,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAC7D,EACF,kCACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,IAAI,CAAC,GAAG,EACf,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACvD,WAAW,EAAC,KAAK,GACjB,EACF,kCACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzD,WAAW,EAAC,OAAO,GACnB,EACF,mCACE,SAAS,EAAC,YAAY,EACtB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,uBAGvB,KAvBD,KAAK,CAwBT,CACP,CAAC,EACF,mCACE,SAAS,EAAC,SAAS,EACnB,OAAO,EAAE,KAAK,YAEb,cAAc,GACR,IACL,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,cAAc,CAAC"}
@@ -1,16 +1,7 @@
1
1
  import React from 'react';
2
- interface NotificationEntry {
3
- id: string;
4
- status: 'info' | 'success' | 'warn' | 'error';
5
- activity: string;
6
- title: string;
7
- summary: string;
8
- details?: string;
9
- timestamp: string;
10
- }
11
2
  interface NotificationViewerProps {
12
- notifications: NotificationEntry[];
13
- onRefresh?: () => void;
3
+ apiBaseUrl: string;
4
+ notificationVersion: number;
14
5
  }
15
6
  declare const NotificationViewer: React.FC<NotificationViewerProps>;
16
7
  export default NotificationViewer;
@@ -1,9 +1,60 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const axiom_icons_1 = require("@optimizely/axiom-icons");
4
5
  const react_1 = require("react");
5
- const NotificationViewer = ({ notifications, onRefresh }) => {
6
+ const NotificationViewer = ({ apiBaseUrl, notificationVersion }) => {
7
+ const [notifications, setNotifications] = (0, react_1.useState)([]);
6
8
  const [expandedNotifications, setExpandedNotifications] = (0, react_1.useState)(new Set());
9
+ const [newEntryIds, setNewEntryIds] = (0, react_1.useState)(new Set());
10
+ const knownEntryIds = (0, react_1.useRef)(new Set());
11
+ const fetchData = (0, react_1.useCallback)(async () => {
12
+ try {
13
+ const res = await fetch(`${apiBaseUrl}/stores/notifications`);
14
+ if (!res.ok)
15
+ return;
16
+ const data = await res.json();
17
+ const entries = data.notifications || [];
18
+ setNotifications(entries);
19
+ const currentIds = new Set(entries.map(e => e.id));
20
+ // Track new entries for highlight flash
21
+ if (knownEntryIds.current.size === 0) {
22
+ // First load — populate known IDs without flashing
23
+ knownEntryIds.current = new Set(currentIds);
24
+ }
25
+ else {
26
+ const justArrived = new Set();
27
+ for (const id of currentIds) {
28
+ if (!knownEntryIds.current.has(id)) {
29
+ justArrived.add(id);
30
+ }
31
+ }
32
+ if (justArrived.size > 0) {
33
+ setNewEntryIds(justArrived);
34
+ }
35
+ knownEntryIds.current = new Set(currentIds);
36
+ }
37
+ // Prune expanded set to only include existing IDs
38
+ setExpandedNotifications(prev => {
39
+ const pruned = new Set();
40
+ for (const id of prev) {
41
+ if (currentIds.has(id))
42
+ pruned.add(id);
43
+ }
44
+ return pruned.size === prev.size ? prev : pruned;
45
+ });
46
+ }
47
+ catch (error) {
48
+ // Silently ignore fetch errors
49
+ }
50
+ }, [apiBaseUrl]);
51
+ // Fetch on mount and whenever notificationVersion changes (SSE notification)
52
+ // Debounce by 500ms so rapid notifications coalesce into a single fetch
53
+ (0, react_1.useEffect)(() => {
54
+ const delay = notificationVersion === 0 ? 0 : 500;
55
+ const timer = setTimeout(fetchData, delay);
56
+ return () => clearTimeout(timer);
57
+ }, [notificationVersion, fetchData]);
7
58
  const toggleNotification = (id) => {
8
59
  const newExpanded = new Set(expandedNotifications);
9
60
  if (newExpanded.has(id)) {
@@ -19,11 +70,13 @@ const NotificationViewer = ({ notifications, onRefresh }) => {
19
70
  return;
20
71
  }
21
72
  try {
22
- const response = await fetch('/devserver/api/stores/notifications', {
73
+ const response = await fetch(`${apiBaseUrl}/stores/notifications`, {
23
74
  method: 'DELETE',
24
75
  });
25
- if (response.ok && onRefresh) {
26
- onRefresh();
76
+ if (response.ok) {
77
+ setNotifications([]);
78
+ setNewEntryIds(new Set());
79
+ knownEntryIds.current = new Set();
27
80
  }
28
81
  }
29
82
  catch (error) {
@@ -32,11 +85,12 @@ const NotificationViewer = ({ notifications, onRefresh }) => {
32
85
  };
33
86
  const deleteNotification = async (id) => {
34
87
  try {
35
- const response = await fetch(`/devserver/api/stores/notifications/${id}`, {
88
+ const response = await fetch(`${apiBaseUrl}/stores/notifications/${id}`, {
36
89
  method: 'DELETE',
37
90
  });
38
- if (response.ok && onRefresh) {
39
- onRefresh();
91
+ if (response.ok) {
92
+ // Re-fetch after delete
93
+ await fetchData();
40
94
  }
41
95
  }
42
96
  catch (error) {
@@ -48,21 +102,21 @@ const NotificationViewer = ({ notifications, onRefresh }) => {
48
102
  };
49
103
  const getStatusIcon = (status) => {
50
104
  switch (status) {
51
- case 'info': return 'ℹ️';
52
- case 'success': return '✅';
53
- case 'warn': return '⚠️';
54
- case 'error': return '❌';
55
- default: return 'ℹ️';
105
+ case 'info': return (0, jsx_runtime_1.jsx)(axiom_icons_1.IconCircleInfo, { size: "2xs" });
106
+ case 'success': return (0, jsx_runtime_1.jsx)(axiom_icons_1.IconCircleCheck, { size: "2xs" });
107
+ case 'warn': return (0, jsx_runtime_1.jsx)(axiom_icons_1.IconCircleExclamation, { size: "2xs" });
108
+ case 'error': return (0, jsx_runtime_1.jsx)(axiom_icons_1.IconCircleXmark, { size: "2xs" });
109
+ default: return (0, jsx_runtime_1.jsx)(axiom_icons_1.IconCircleInfo, { size: "2xs" });
56
110
  }
57
111
  };
58
112
  // Sort notifications by timestamp (newest first)
59
113
  const sortedNotifications = [...notifications].sort((a, b) => new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime());
60
- return ((0, jsx_runtime_1.jsxs)("div", { className: "notification-viewer", children: [(0, jsx_runtime_1.jsxs)("div", { className: "notification-controls", children: [(0, jsx_runtime_1.jsx)("button", { className: "clear-notifications-btn", onClick: clearAllNotifications, children: "Clear All" }), onRefresh && ((0, jsx_runtime_1.jsx)("button", { className: "refresh-notifications-btn", onClick: onRefresh, children: "Refresh" }))] }), (0, jsx_runtime_1.jsx)("div", { className: "notification-list", children: sortedNotifications.length > 0 ? (sortedNotifications.map((notification) => {
114
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "notification-viewer", children: [(0, jsx_runtime_1.jsx)("div", { className: "notification-controls", children: (0, jsx_runtime_1.jsx)("button", { className: "clear-notifications-btn", onClick: clearAllNotifications, children: "Clear All" }) }), (0, jsx_runtime_1.jsx)("div", { className: "notification-list", children: sortedNotifications.length > 0 ? (sortedNotifications.map((notification) => {
61
115
  const isExpanded = expandedNotifications.has(notification.id);
62
- return ((0, jsx_runtime_1.jsxs)("div", { className: `notification-item notification-${notification.status}`, children: [(0, jsx_runtime_1.jsxs)("div", { className: "notification-header", onClick: () => toggleNotification(notification.id), children: [(0, jsx_runtime_1.jsx)("div", { className: "notification-main", children: (0, jsx_runtime_1.jsxs)("div", { className: "notification-single-line", children: [(0, jsx_runtime_1.jsx)("span", { className: "notification-icon", children: getStatusIcon(notification.status) }), (0, jsx_runtime_1.jsx)("span", { className: "notification-activity", children: notification.activity }), (0, jsx_runtime_1.jsx)("span", { className: "notification-separator", children: "\u2022" }), (0, jsx_runtime_1.jsx)("span", { className: "notification-title", children: notification.title }), (0, jsx_runtime_1.jsx)("span", { className: "notification-separator", children: "\u2022" }), (0, jsx_runtime_1.jsx)("span", { className: "notification-summary", children: notification.summary }), (0, jsx_runtime_1.jsx)("span", { className: "notification-timestamp", children: formatTimestamp(notification.timestamp) })] }) }), (0, jsx_runtime_1.jsxs)("div", { className: "notification-actions", children: [(0, jsx_runtime_1.jsx)("button", { className: "delete-notification-btn", onClick: (e) => {
116
+ return ((0, jsx_runtime_1.jsxs)("div", { className: `notification-item notification-${notification.status}${newEntryIds.has(notification.id) ? ' new-entry' : ''}`, children: [(0, jsx_runtime_1.jsxs)("div", { className: "notification-header", onClick: () => toggleNotification(notification.id), children: [(0, jsx_runtime_1.jsx)("div", { className: "notification-main", children: (0, jsx_runtime_1.jsxs)("div", { className: "notification-single-line", children: [getStatusIcon(notification.status), (0, jsx_runtime_1.jsx)("span", { className: "notification-activity", children: notification.activity }), (0, jsx_runtime_1.jsx)("span", { className: "notification-separator", children: "\u2022" }), (0, jsx_runtime_1.jsx)("span", { className: "notification-title", children: notification.title }), (0, jsx_runtime_1.jsx)("span", { className: "notification-separator", children: "\u2022" }), (0, jsx_runtime_1.jsx)("span", { className: "notification-summary", children: notification.summary }), (0, jsx_runtime_1.jsx)("span", { className: "notification-timestamp", children: formatTimestamp(notification.timestamp) })] }) }), (0, jsx_runtime_1.jsxs)("div", { className: "notification-actions", children: [(0, jsx_runtime_1.jsx)("button", { className: "delete-notification-btn", onClick: (e) => {
63
117
  e.stopPropagation();
64
118
  deleteNotification(notification.id);
65
- }, title: "Delete notification", children: "\uD83D\uDDD1\uFE0F" }), (0, jsx_runtime_1.jsx)("span", { className: "expand-icon", children: isExpanded ? '▼' : '▶' })] })] }), isExpanded && notification.details && ((0, jsx_runtime_1.jsx)("div", { className: "notification-details", children: (0, jsx_runtime_1.jsx)("pre", { children: notification.details }) }))] }, notification.id));
119
+ }, title: "Delete notification", children: (0, jsx_runtime_1.jsx)(axiom_icons_1.IconTrashCan, { size: "2xs" }) }), (0, jsx_runtime_1.jsx)("span", { className: "expand-icon", children: isExpanded ? (0, jsx_runtime_1.jsx)(axiom_icons_1.IconAngleDown, { size: "2xs" }) : (0, jsx_runtime_1.jsx)(axiom_icons_1.IconAngleRight, { size: "2xs" }) })] })] }), isExpanded && notification.details && ((0, jsx_runtime_1.jsx)("div", { className: "notification-details", children: (0, jsx_runtime_1.jsx)("pre", { children: notification.details }) }))] }, notification.id));
66
120
  })) : ((0, jsx_runtime_1.jsx)("div", { className: "no-notifications", children: "No notifications yet" })) })] }));
67
121
  };
68
122
  exports.default = NotificationViewer;
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationViewer.js","sourceRoot":"","sources":["../../../../src/ui/components/NotificationViewer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NotificationViewer.js","sourceRoot":"","sources":["../../../../src/ui/components/NotificationViewer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const OdpSchemaView: React.FC;
3
+ export default OdpSchemaView;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const react_1 = require("react");
5
+ const OdpSchemaView = () => {
6
+ const [schemas, setSchemas] = (0, react_1.useState)([]);
7
+ const [selectedFile, setSelectedFile] = (0, react_1.useState)(null);
8
+ const [loading, setLoading] = (0, react_1.useState)(true);
9
+ const [fetchError, setFetchError] = (0, react_1.useState)(null);
10
+ (0, react_1.useEffect)(() => {
11
+ fetchSchemas();
12
+ }, []);
13
+ const fetchSchemas = async () => {
14
+ setLoading(true);
15
+ setFetchError(null);
16
+ try {
17
+ const response = await fetch('/devserver/api/schema/odp');
18
+ if (response.ok) {
19
+ const data = await response.json();
20
+ const fetched = data.schemas || [];
21
+ setSchemas(fetched);
22
+ if (fetched.length > 0 && !selectedFile) {
23
+ setSelectedFile(fetched[0].filename);
24
+ }
25
+ }
26
+ else {
27
+ setFetchError('Failed to fetch schema files');
28
+ }
29
+ }
30
+ catch (error) {
31
+ setFetchError(error instanceof Error ? error.message : 'Failed to fetch schema files');
32
+ }
33
+ finally {
34
+ setLoading(false);
35
+ }
36
+ };
37
+ if (loading) {
38
+ return ((0, jsx_runtime_1.jsx)("div", { className: "destinations-view", children: (0, jsx_runtime_1.jsxs)("div", { className: "placeholder-content", children: [(0, jsx_runtime_1.jsx)("div", { className: "spinner" }), (0, jsx_runtime_1.jsx)("p", { children: "Loading schema files..." })] }) }));
39
+ }
40
+ if (fetchError) {
41
+ return ((0, jsx_runtime_1.jsx)("div", { className: "destinations-view", children: (0, jsx_runtime_1.jsxs)("div", { className: "placeholder-content", children: [(0, jsx_runtime_1.jsx)("h3", { children: "Error" }), (0, jsx_runtime_1.jsx)("p", { children: fetchError }), (0, jsx_runtime_1.jsx)("button", { className: "action-btn", onClick: fetchSchemas, children: "Retry" })] }) }));
42
+ }
43
+ if (schemas.length === 0) {
44
+ return ((0, jsx_runtime_1.jsx)("div", { className: "destinations-view", children: (0, jsx_runtime_1.jsxs)("div", { className: "placeholder-content", children: [(0, jsx_runtime_1.jsx)("h3", { children: "No Schema Files" }), (0, jsx_runtime_1.jsxs)("p", { children: ["No schema files found in ", (0, jsx_runtime_1.jsx)("code", { children: "src/schema/" })] })] }) }));
45
+ }
46
+ const selectedSchema = schemas.find(s => s.filename === selectedFile);
47
+ const renderSchemaDetail = (schema) => {
48
+ if (schema.error) {
49
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "odp-schema-file-error", children: ["Parse error: ", schema.error] }));
50
+ }
51
+ if (!schema.parsed)
52
+ return null;
53
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "odp-schema-file-content", children: [(0, jsx_runtime_1.jsxs)("div", { className: "odp-schema-object-name", children: ["Object: ", (0, jsx_runtime_1.jsx)("strong", { children: schema.parsed.name }), schema.parsed.display_name && ` (${schema.parsed.display_name})`] }), schema.parsed.fields && schema.parsed.fields.length > 0 && ((0, jsx_runtime_1.jsxs)("div", { className: "odp-schema-section", children: [(0, jsx_runtime_1.jsxs)("h4", { children: ["Fields (", schema.parsed.fields.length, ")"] }), (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: "Type" }), (0, jsx_runtime_1.jsx)("th", { children: "Display Name" }), (0, jsx_runtime_1.jsx)("th", { children: "Description" })] }) }), (0, jsx_runtime_1.jsx)("tbody", { children: schema.parsed.fields.map((field, idx) => ((0, jsx_runtime_1.jsxs)("tr", { className: field.primary ? 'primary-field' : '', children: [(0, jsx_runtime_1.jsx)("td", { children: (0, jsx_runtime_1.jsx)("span", { className: "field-name", children: field.name }) }), (0, jsx_runtime_1.jsx)("td", { children: (0, jsx_runtime_1.jsx)("span", { className: `type-badge type-${field.type}`, children: field.type }) }), (0, jsx_runtime_1.jsx)("td", { children: field.display_name }), (0, jsx_runtime_1.jsx)("td", { className: "field-description", children: field.description || '\u2014' })] }, idx))) })] })] })), schema.parsed.identifiers && schema.parsed.identifiers.length > 0 && ((0, jsx_runtime_1.jsxs)("div", { className: "odp-schema-section", children: [(0, jsx_runtime_1.jsxs)("h4", { children: ["Identifiers (", schema.parsed.identifiers.length, ")"] }), (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: "Merge Confidence" }), (0, jsx_runtime_1.jsx)("th", { children: "Messaging" })] }) }), (0, jsx_runtime_1.jsx)("tbody", { children: schema.parsed.identifiers.map((id, idx) => ((0, jsx_runtime_1.jsxs)("tr", { children: [(0, jsx_runtime_1.jsx)("td", { children: (0, jsx_runtime_1.jsx)("span", { className: "field-name", children: id.name }) }), (0, jsx_runtime_1.jsx)("td", { children: id.display_name }), (0, jsx_runtime_1.jsx)("td", { children: (0, jsx_runtime_1.jsx)("span", { className: `type-badge type-${id.merge_confidence}`, children: id.merge_confidence }) }), (0, jsx_runtime_1.jsx)("td", { children: id.messaging ? 'Yes' : 'No' })] }, idx))) })] })] })), schema.parsed.relations && schema.parsed.relations.length > 0 && ((0, jsx_runtime_1.jsxs)("div", { className: "odp-schema-section", children: [(0, jsx_runtime_1.jsxs)("h4", { children: ["Relations (", schema.parsed.relations.length, ")"] }), (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: "Child Object" })] }) }), (0, jsx_runtime_1.jsx)("tbody", { children: schema.parsed.relations.map((rel, idx) => ((0, jsx_runtime_1.jsxs)("tr", { children: [(0, jsx_runtime_1.jsx)("td", { children: (0, jsx_runtime_1.jsx)("span", { className: "field-name", children: rel.name }) }), (0, jsx_runtime_1.jsx)("td", { children: rel.display_name }), (0, jsx_runtime_1.jsx)("td", { children: (0, jsx_runtime_1.jsx)("code", { children: rel.child_object }) })] }, idx))) })] })] }))] }));
54
+ };
55
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "destinations-view", children: [(0, jsx_runtime_1.jsx)("div", { className: "content-header", children: (0, jsx_runtime_1.jsx)("h2", { children: "ODP Schema" }) }), (0, jsx_runtime_1.jsxs)("div", { className: "destinations-layout", children: [(0, jsx_runtime_1.jsxs)("div", { className: "destinations-sidebar", children: [(0, jsx_runtime_1.jsx)("div", { className: "destinations-header", children: (0, jsx_runtime_1.jsx)("h4", { children: "Schema Files" }) }), (0, jsx_runtime_1.jsx)("div", { className: "destinations-list", children: schemas.map(schema => ((0, jsx_runtime_1.jsxs)("div", { className: `destination-item ${selectedFile === schema.filename ? 'active' : ''}`, onClick: () => setSelectedFile(schema.filename), children: [(0, jsx_runtime_1.jsx)("div", { className: "destination-name", children: schema.parsed?.name || schema.filename }), (0, jsx_runtime_1.jsx)("div", { className: "destination-description", children: schema.filePath })] }, schema.filename))) })] }), (0, jsx_runtime_1.jsxs)("div", { className: "destinations-content", children: [(0, jsx_runtime_1.jsx)("div", { className: "odp-deploy-banner", children: "To run schema migrations, deploy a dev version of your app to OCP, and install it to a sandbox account." }), selectedSchema ? ((0, jsx_runtime_1.jsx)("div", { className: "odp-schema-detail", children: renderSchemaDetail(selectedSchema) })) : ((0, jsx_runtime_1.jsx)("div", { className: "no-destination-selected", children: (0, jsx_runtime_1.jsxs)("div", { className: "placeholder-content", children: [(0, jsx_runtime_1.jsx)("h3", { children: "Select a Schema File" }), (0, jsx_runtime_1.jsx)("p", { children: "Choose a schema file from the sidebar to view its contents" })] }) }))] })] })] }));
56
+ };
57
+ exports.default = OdpSchemaView;
58
+ //# sourceMappingURL=OdpSchemaView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OdpSchemaView.js","sourceRoot":"","sources":["../../../../src/ui/components/OdpSchemaView.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { BuildStatus } from '../types/common';
3
+ interface OpalToolsViewProps {
4
+ appInstalled: boolean;
5
+ buildStatus: BuildStatus | null;
6
+ installVersion: number;
7
+ }
8
+ declare const OpalToolsView: React.FC<OpalToolsViewProps>;
9
+ export default OpalToolsView;