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

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 (67) hide show
  1. package/dist/package.json +3 -2
  2. package/dist/public/bundle.3635644676e802b826a8.js +3 -0
  3. package/dist/public/{bundle.82dc5d29fffb9f205051.js.LICENSE.txt → bundle.3635644676e802b826a8.js.LICENSE.txt} +9 -3
  4. package/dist/public/bundle.3635644676e802b826a8.js.map +1 -0
  5. package/dist/public/index.html +1 -1
  6. package/dist/src/local_engine/local-engine-client.js +1 -0
  7. package/dist/src/local_engine/local-engine-client.js.map +1 -1
  8. package/dist/src/local_engine/local-engine-unified.js +14 -0
  9. package/dist/src/local_engine/local-engine-unified.js.map +1 -1
  10. package/dist/src/server/api/functions.js +5 -2
  11. package/dist/src/server/api/functions.js.map +1 -1
  12. package/dist/src/server/api/opalTools.d.ts +4 -0
  13. package/dist/src/server/api/opalTools.js +81 -0
  14. package/dist/src/server/api/opalTools.js.map +1 -0
  15. package/dist/src/server/api.js +8 -1
  16. package/dist/src/server/api.js.map +1 -1
  17. package/dist/src/server/mockToolDataGenerator.d.ts +12 -0
  18. package/dist/src/server/mockToolDataGenerator.js +351 -0
  19. package/dist/src/server/mockToolDataGenerator.js.map +1 -0
  20. package/dist/src/ui/components/App.js +5 -3
  21. package/dist/src/ui/components/App.js.map +1 -1
  22. package/dist/src/ui/components/DestinationBatchEditor.d.ts +9 -1
  23. package/dist/src/ui/components/DestinationBatchEditor.js +12 -4
  24. package/dist/src/ui/components/DestinationBatchEditor.js.map +1 -1
  25. package/dist/src/ui/components/DestinationsView.js +5 -1
  26. package/dist/src/ui/components/DestinationsView.js.map +1 -1
  27. package/dist/src/ui/components/EntityNotAvailable.d.ts +15 -0
  28. package/dist/src/ui/components/EntityNotAvailable.js +27 -0
  29. package/dist/src/ui/components/EntityNotAvailable.js.map +1 -0
  30. package/dist/src/ui/components/FunctionsView.d.ts +1 -6
  31. package/dist/src/ui/components/FunctionsView.js +21 -47
  32. package/dist/src/ui/components/FunctionsView.js.map +1 -1
  33. package/dist/src/ui/components/JobsView.js +4 -4
  34. package/dist/src/ui/components/JobsView.js.map +1 -1
  35. package/dist/src/ui/components/KVStoreViewer.js +5 -5
  36. package/dist/src/ui/components/KVStoreViewer.js.map +1 -1
  37. package/dist/src/ui/components/KeyValueEditor.d.ts +15 -0
  38. package/dist/src/ui/components/KeyValueEditor.js +12 -0
  39. package/dist/src/ui/components/KeyValueEditor.js.map +1 -0
  40. package/dist/src/ui/components/NotificationViewer.js +8 -7
  41. package/dist/src/ui/components/NotificationViewer.js.map +1 -1
  42. package/dist/src/ui/components/OpalToolsView.d.ts +8 -0
  43. package/dist/src/ui/components/OpalToolsView.js +262 -0
  44. package/dist/src/ui/components/OpalToolsView.js.map +1 -0
  45. package/dist/src/ui/components/ResponseViewer.d.ts +39 -0
  46. package/dist/src/ui/components/ResponseViewer.js +43 -0
  47. package/dist/src/ui/components/ResponseViewer.js.map +1 -0
  48. package/dist/src/ui/components/SecretsStoreViewer.js +3 -2
  49. package/dist/src/ui/components/SecretsStoreViewer.js.map +1 -1
  50. package/dist/src/ui/components/SettingsStoreViewer.js +3 -2
  51. package/dist/src/ui/components/SettingsStoreViewer.js.map +1 -1
  52. package/dist/src/ui/components/StoreViewer.js +2 -1
  53. package/dist/src/ui/components/StoreViewer.js.map +1 -1
  54. package/dist/src/ui/components/TabbedConsole.js +2 -1
  55. package/dist/src/ui/components/TabbedConsole.js.map +1 -1
  56. package/dist/src/ui/hooks/useKeyValuePairs.d.ts +52 -0
  57. package/dist/src/ui/hooks/useKeyValuePairs.js +66 -0
  58. package/dist/src/ui/hooks/useKeyValuePairs.js.map +1 -0
  59. package/dist/src/ui/store/formStateSlice.d.ts +11 -1
  60. package/dist/src/ui/store/formStateSlice.js +26 -3
  61. package/dist/src/ui/store/formStateSlice.js.map +1 -1
  62. package/dist/src/ui/types/common.d.ts +33 -0
  63. package/dist/src/ui/types/common.js +6 -0
  64. package/dist/src/ui/types/common.js.map +1 -0
  65. package/package.json +3 -2
  66. package/dist/public/bundle.82dc5d29fffb9f205051.js +0 -3
  67. package/dist/public/bundle.82dc5d29fffb9f205051.js.map +0 -1
@@ -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,6 +1,7 @@
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
6
  const NotificationViewer = ({ notifications, onRefresh }) => {
6
7
  const [expandedNotifications, setExpandedNotifications] = (0, react_1.useState)(new Set());
@@ -48,21 +49,21 @@ const NotificationViewer = ({ notifications, onRefresh }) => {
48
49
  };
49
50
  const getStatusIcon = (status) => {
50
51
  switch (status) {
51
- case 'info': return 'ℹ️';
52
- case 'success': return '✅';
53
- case 'warn': return '⚠️';
54
- case 'error': return '❌';
55
- default: return 'ℹ️';
52
+ case 'info': return (0, jsx_runtime_1.jsx)(axiom_icons_1.IconCircleInfo, { size: "2xs" });
53
+ case 'success': return (0, jsx_runtime_1.jsx)(axiom_icons_1.IconCircleCheck, { size: "2xs" });
54
+ case 'warn': return (0, jsx_runtime_1.jsx)(axiom_icons_1.IconCircleExclamation, { size: "2xs" });
55
+ case 'error': return (0, jsx_runtime_1.jsx)(axiom_icons_1.IconCircleXmark, { size: "2xs" });
56
+ default: return (0, jsx_runtime_1.jsx)(axiom_icons_1.IconCircleInfo, { size: "2xs" });
56
57
  }
57
58
  };
58
59
  // Sort notifications by timestamp (newest first)
59
60
  const sortedNotifications = [...notifications].sort((a, b) => new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime());
60
61
  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) => {
61
62
  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) => {
63
+ 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: [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
64
  e.stopPropagation();
64
65
  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));
66
+ }, 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
67
  })) : ((0, jsx_runtime_1.jsx)("div", { className: "no-notifications", children: "No notifications yet" })) })] }));
67
68
  };
68
69
  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,8 @@
1
+ import React from 'react';
2
+ import { BuildStatus } from '../types/common';
3
+ interface OpalToolsViewProps {
4
+ appInstalled: boolean;
5
+ buildStatus: BuildStatus | null;
6
+ }
7
+ declare const OpalToolsView: React.FC<OpalToolsViewProps>;
8
+ export default OpalToolsView;
@@ -0,0 +1,262 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
+ const react_1 = require("react");
8
+ const react_router_dom_1 = require("react-router-dom");
9
+ const useEntityNavigation_1 = require("../hooks/useEntityNavigation");
10
+ const useQueryParams_1 = require("../hooks/useQueryParams");
11
+ const useKeyValuePairs_1 = require("../hooks/useKeyValuePairs");
12
+ const hooks_1 = require("../store/hooks");
13
+ const formStateSlice_1 = require("../store/formStateSlice");
14
+ const KeyValueEditor_1 = __importDefault(require("./KeyValueEditor"));
15
+ const EntityNotAvailable_1 = __importDefault(require("./EntityNotAvailable"));
16
+ const ResponseViewer_1 = __importDefault(require("./ResponseViewer"));
17
+ const OpalToolsView = ({ appInstalled, buildStatus }) => {
18
+ const location = (0, react_router_dom_1.useLocation)();
19
+ const dispatch = (0, hooks_1.useAppDispatch)();
20
+ const opalToolStates = (0, hooks_1.useAppSelector)(state => state.formState.opalTools) || {};
21
+ // State for functions and tools
22
+ const [opalFunctions, setOpalFunctions] = (0, react_1.useState)([]);
23
+ const [tools, setTools] = (0, react_1.useState)([]);
24
+ const [loadingTools, setLoadingTools] = (0, react_1.useState)(false);
25
+ const [discoveryError, setDiscoveryError] = (0, react_1.useState)(null);
26
+ // Ephemeral state (not persisted)
27
+ const [ephemeralStates, setEphemeralStates] = (0, react_1.useState)({});
28
+ // Collapsed state for function groups in sidebar
29
+ const [collapsedFunctions, setCollapsedFunctions] = (0, react_1.useState)({});
30
+ // Derive selected tool from URL path
31
+ const pathParts = location.pathname.split('/').filter(Boolean);
32
+ const selectedToolName = pathParts.length > 1 ? decodeURIComponent(pathParts[1]) : null;
33
+ const selectedTool = tools.find(t => t.name === selectedToolName);
34
+ // Entity navigation hook
35
+ const { navigateToEntity } = (0, useEntityNavigation_1.useEntityNavigation)({
36
+ basePath: '/opal-tools',
37
+ entityName: 'tool',
38
+ entities: tools.map(t => ({ id: t.name })),
39
+ selectedEntityId: selectedToolName,
40
+ });
41
+ // Group tools by functionId for sidebar display
42
+ const toolsByFunction = tools.reduce((acc, tool) => {
43
+ const funcId = tool.functionId || 'unknown';
44
+ if (!acc[funcId]) {
45
+ acc[funcId] = [];
46
+ }
47
+ acc[funcId].push(tool);
48
+ return acc;
49
+ }, {});
50
+ // Toggle function group collapsed state
51
+ const toggleFunctionCollapsed = (functionId) => {
52
+ setCollapsedFunctions(prev => ({
53
+ ...prev,
54
+ [functionId]: !prev[functionId],
55
+ }));
56
+ };
57
+ // Helper functions for state management
58
+ const getOrCreateToolState = (toolName) => {
59
+ return opalToolStates[toolName] || (0, formStateSlice_1.getDefaultOpalToolFormState)();
60
+ };
61
+ const getOrCreateEphemeralState = (toolName) => {
62
+ return ephemeralStates[toolName] || {
63
+ response: null,
64
+ loading: false,
65
+ generatingMock: false,
66
+ };
67
+ };
68
+ const updateCurrentFormState = (updates) => {
69
+ if (!selectedToolName)
70
+ return;
71
+ dispatch((0, formStateSlice_1.updateOpalToolState)({ id: selectedToolName, data: updates }));
72
+ };
73
+ const updateCurrentEphemeralState = (updates) => {
74
+ if (!selectedToolName)
75
+ return;
76
+ setEphemeralStates(prev => ({
77
+ ...prev,
78
+ [selectedToolName]: {
79
+ ...getOrCreateEphemeralState(selectedToolName),
80
+ ...updates,
81
+ },
82
+ }));
83
+ };
84
+ // URL-based tab state for request tabs
85
+ const { getParam, setParam } = (0, useQueryParams_1.useQueryParams)();
86
+ const urlTab = getParam('requestTab');
87
+ const activeTab = urlTab && ['params', 'headers', 'body', 'toolParams', 'toolDescription'].includes(urlTab) ? urlTab : 'body';
88
+ const setActiveTab = (0, react_1.useCallback)((tab) => {
89
+ setParam('requestTab', tab);
90
+ }, [setParam]);
91
+ // Get current state for rendering and hook usage
92
+ const currentFormState = selectedToolName ? getOrCreateToolState(selectedToolName) : (0, formStateSlice_1.getDefaultOpalToolFormState)();
93
+ const currentEphemeral = selectedToolName ? getOrCreateEphemeralState(selectedToolName) : { response: null, loading: false, generatingMock: false };
94
+ // Key-value pair helpers (via shared hook)
95
+ const { addKeyValuePair, updateKeyValuePair, removeKeyValuePair } = (0, useKeyValuePairs_1.useKeyValuePairs)({
96
+ params: currentFormState.params,
97
+ headers: currentFormState.headers,
98
+ onUpdate: updateCurrentFormState,
99
+ });
100
+ // Fetch opal functions on mount
101
+ (0, react_1.useEffect)(() => {
102
+ if (appInstalled) {
103
+ fetchOpalFunctions();
104
+ }
105
+ }, [appInstalled]);
106
+ // Fetch tools when functions are loaded
107
+ (0, react_1.useEffect)(() => {
108
+ if (opalFunctions.length > 0) {
109
+ fetchAllTools();
110
+ }
111
+ }, [opalFunctions]);
112
+ const fetchOpalFunctions = async () => {
113
+ try {
114
+ const response = await fetch('/devserver/api/opal-tools');
115
+ if (response.ok) {
116
+ const data = await response.json();
117
+ setOpalFunctions(data.functions || []);
118
+ }
119
+ }
120
+ catch (error) {
121
+ console.error('Error fetching opal functions:', error);
122
+ }
123
+ };
124
+ const fetchAllTools = async () => {
125
+ setLoadingTools(true);
126
+ setDiscoveryError(null);
127
+ const allTools = [];
128
+ try {
129
+ for (const func of opalFunctions) {
130
+ // Call discovery directly on the function URL (no auth required for /discovery)
131
+ const discoveryUrl = `${func.url}/discovery`;
132
+ const response = await fetch(discoveryUrl);
133
+ if (response.ok) {
134
+ const data = await response.json();
135
+ // Add function context to each tool
136
+ const toolsWithContext = (data.functions || []).map((tool) => ({
137
+ ...tool,
138
+ functionId: func.id,
139
+ functionUrl: func.url,
140
+ }));
141
+ allTools.push(...toolsWithContext);
142
+ }
143
+ }
144
+ setTools(allTools);
145
+ }
146
+ catch (error) {
147
+ setDiscoveryError(error instanceof Error ? error.message : 'Failed to fetch tools');
148
+ }
149
+ finally {
150
+ setLoadingTools(false);
151
+ }
152
+ };
153
+ const generateMockData = async () => {
154
+ if (!selectedTool)
155
+ return;
156
+ updateCurrentEphemeralState({ generatingMock: true });
157
+ try {
158
+ const response = await fetch(`/devserver/api/opal-tools/${selectedTool.functionId}/tools/${selectedTool.name}/generate-mock`, {
159
+ method: 'POST',
160
+ headers: { 'Content-Type': 'application/json' },
161
+ body: JSON.stringify({ parameters: selectedTool.parameters }),
162
+ });
163
+ if (response.ok) {
164
+ const data = await response.json();
165
+ updateCurrentFormState({
166
+ requestBody: JSON.stringify({ parameters: data.data }, null, 2),
167
+ });
168
+ }
169
+ }
170
+ catch (error) {
171
+ console.error('Error generating mock data:', error);
172
+ }
173
+ finally {
174
+ updateCurrentEphemeralState({ generatingMock: false });
175
+ }
176
+ };
177
+ const executeToolRequest = async () => {
178
+ if (!selectedTool)
179
+ return;
180
+ const currentState = getOrCreateToolState(selectedToolName);
181
+ updateCurrentEphemeralState({ loading: true });
182
+ const startTime = performance.now();
183
+ try {
184
+ let payload = {};
185
+ if (currentState.requestBody.trim()) {
186
+ try {
187
+ payload = JSON.parse(currentState.requestBody);
188
+ }
189
+ catch (e) {
190
+ updateCurrentEphemeralState({
191
+ response: {
192
+ result: null,
193
+ executionTime: 0,
194
+ error: {
195
+ message: 'Invalid JSON in request body',
196
+ stack: String(e),
197
+ },
198
+ },
199
+ loading: false,
200
+ });
201
+ return;
202
+ }
203
+ }
204
+ const toolUrl = `${selectedTool.functionUrl}${selectedTool.endpoint}`;
205
+ const response = await fetch(toolUrl, {
206
+ method: selectedTool.http_method || 'POST',
207
+ headers: { 'Content-Type': 'application/json' },
208
+ body: JSON.stringify(payload),
209
+ });
210
+ const executionTime = Math.round(performance.now() - startTime);
211
+ const responseHeaders = [];
212
+ response.headers.forEach((value, key) => {
213
+ responseHeaders.push([key, value]);
214
+ });
215
+ const responseText = await response.text();
216
+ let responseData;
217
+ try {
218
+ responseData = JSON.parse(responseText);
219
+ }
220
+ catch {
221
+ responseData = responseText;
222
+ }
223
+ updateCurrentEphemeralState({
224
+ response: {
225
+ result: responseData,
226
+ executionTime,
227
+ status: response.status,
228
+ statusText: response.statusText,
229
+ headers: responseHeaders,
230
+ },
231
+ loading: false,
232
+ });
233
+ }
234
+ catch (error) {
235
+ const executionTime = Math.round(performance.now() - startTime);
236
+ updateCurrentEphemeralState({
237
+ response: {
238
+ result: null,
239
+ executionTime,
240
+ error: {
241
+ message: error instanceof Error ? error.message : 'Unknown error',
242
+ stack: error instanceof Error ? error.stack : undefined,
243
+ },
244
+ },
245
+ loading: false,
246
+ });
247
+ }
248
+ };
249
+ // Check if entity is not available (building, failed, or not installed)
250
+ const isNotAvailable = buildStatus?.buildInProgress ||
251
+ (buildStatus?.lastBuildSuccess === null && buildStatus?.lastBuildTimestamp === null) ||
252
+ buildStatus?.lastBuildSuccess === false ||
253
+ !appInstalled;
254
+ if (isNotAvailable) {
255
+ return ((0, jsx_runtime_1.jsx)(EntityNotAvailable_1.default, { buildStatus: buildStatus, appInstalled: appInstalled, entityName: "Opal Tools" }));
256
+ }
257
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "functions-view", children: [(0, jsx_runtime_1.jsxs)("div", { className: "content-header", children: [(0, jsx_runtime_1.jsx)("h2", { children: "Opal Tools" }), (0, jsx_runtime_1.jsxs)("div", { className: "functions-url-bar", children: [(0, jsx_runtime_1.jsx)("span", { className: "http-method-select http-method-display", children: selectedTool?.http_method || 'POST' }), (0, jsx_runtime_1.jsx)("input", { type: "text", className: "url-input", value: selectedTool ? `${selectedTool.functionUrl}${selectedTool.endpoint}` : '', placeholder: "Select a tool to see URL", readOnly: true }), (0, jsx_runtime_1.jsx)("button", { className: "send-button generate-mock-btn", onClick: generateMockData, disabled: !selectedTool || currentEphemeral.generatingMock, children: currentEphemeral.generatingMock ? 'Generating...' : 'Generate Mock' }), (0, jsx_runtime_1.jsx)("button", { className: "send-button", onClick: executeToolRequest, disabled: !selectedTool || currentEphemeral.loading || buildStatus?.buildInProgress, children: currentEphemeral.loading ? 'Sending...' : 'Send' })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "functions-layout", children: [(0, jsx_runtime_1.jsx)("div", { className: "functions-sidebar", children: (0, jsx_runtime_1.jsx)("div", { className: "functions-list", children: loadingTools ? ((0, jsx_runtime_1.jsx)("div", { className: "no-functions", children: (0, jsx_runtime_1.jsx)("p", { children: "Loading tools..." }) })) : discoveryError ? ((0, jsx_runtime_1.jsx)("div", { className: "no-functions", children: (0, jsx_runtime_1.jsxs)("p", { children: ["Error: ", discoveryError] }) })) : tools.length === 0 ? ((0, jsx_runtime_1.jsx)("div", { className: "no-functions", children: (0, jsx_runtime_1.jsx)("p", { children: "No Opal tools found" }) })) : (Object.entries(toolsByFunction).map(([functionId, functionTools]) => ((0, jsx_runtime_1.jsxs)("div", { className: "tool-function-group", children: [(0, jsx_runtime_1.jsxs)("div", { className: "tool-function-header", onClick: () => toggleFunctionCollapsed(functionId), children: [(0, jsx_runtime_1.jsx)("span", { className: `collapse-icon ${collapsedFunctions[functionId] ? 'collapsed' : ''}`, children: "\u25BC" }), (0, jsx_runtime_1.jsx)("span", { className: "function-group-name", children: functionId }), (0, jsx_runtime_1.jsxs)("span", { className: "tool-count", children: ["(", functionTools.length, ")"] })] }), !collapsedFunctions[functionId] && ((0, jsx_runtime_1.jsx)("div", { children: functionTools.map((tool) => ((0, jsx_runtime_1.jsxs)("div", { className: `function-item tool-item-nested ${selectedToolName === tool.name ? 'active' : ''}`, onClick: () => navigateToEntity(tool.name), children: [(0, jsx_runtime_1.jsx)("div", { className: "function-name", children: tool.name }), (0, jsx_runtime_1.jsx)("div", { className: "function-description", children: tool.description.length > 60
258
+ ? tool.description.substring(0, 60) + '...'
259
+ : tool.description })] }, tool.name))) }))] }, functionId)))) }) }), (0, jsx_runtime_1.jsx)("div", { className: "functions-content", children: selectedTool ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: "request-section", children: (0, jsx_runtime_1.jsxs)("div", { className: "request-tabs", children: [(0, jsx_runtime_1.jsxs)("div", { className: "tab-headers", children: [(0, jsx_runtime_1.jsx)("button", { className: `tab-header ${activeTab === 'params' ? 'active' : ''}`, onClick: () => setActiveTab('params'), children: "Params" }), (0, jsx_runtime_1.jsx)("button", { className: `tab-header ${activeTab === 'headers' ? 'active' : ''}`, onClick: () => setActiveTab('headers'), children: "Headers" }), (0, jsx_runtime_1.jsx)("button", { className: `tab-header ${activeTab === 'body' ? 'active' : ''}`, onClick: () => setActiveTab('body'), children: "Body" }), (0, jsx_runtime_1.jsx)("div", { className: "tab-spacer" }), (0, jsx_runtime_1.jsx)("button", { className: `tab-header ${activeTab === 'toolDescription' ? 'active' : ''}`, onClick: () => setActiveTab('toolDescription'), children: "Tool Description" }), (0, jsx_runtime_1.jsxs)("button", { className: `tab-header ${activeTab === 'toolParams' ? 'active' : ''}`, onClick: () => setActiveTab('toolParams'), children: ["Tool Parameters (", selectedTool.parameters.length, ")"] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "tab-content", children: [activeTab === 'params' && ((0, jsx_runtime_1.jsx)(KeyValueEditor_1.default, { items: currentFormState.params, onAdd: () => addKeyValuePair('params'), onUpdate: (index, field, value) => updateKeyValuePair('params', index, field, value), onRemove: (index) => removeKeyValuePair('params', index), addButtonLabel: "Add Parameter" })), activeTab === 'headers' && ((0, jsx_runtime_1.jsx)(KeyValueEditor_1.default, { items: currentFormState.headers, onAdd: () => addKeyValuePair('headers'), onUpdate: (index, field, value) => updateKeyValuePair('headers', index, field, value), onRemove: (index) => removeKeyValuePair('headers', index), addButtonLabel: "Add Header" })), activeTab === 'body' && ((0, jsx_runtime_1.jsx)("div", { className: "body-editor", children: (0, jsx_runtime_1.jsx)("textarea", { className: "body-textarea", value: currentFormState.requestBody, onChange: (e) => updateCurrentFormState({ requestBody: e.target.value }), placeholder: "Enter JSON request body..." }) })), activeTab === 'toolDescription' && ((0, jsx_runtime_1.jsxs)("div", { className: "tool-description-content", children: [(0, jsx_runtime_1.jsx)("h4", { children: selectedTool.name }), (0, jsx_runtime_1.jsx)("p", { children: selectedTool.description || 'No description available.' })] })), activeTab === 'toolParams' && ((0, jsx_runtime_1.jsx)("div", { className: "schema-viewer", children: (0, jsx_runtime_1.jsx)("div", { className: "schema-fields", children: selectedTool.parameters.length > 0 ? ((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: "Required" }), (0, jsx_runtime_1.jsx)("th", { children: "Description" })] }) }), (0, jsx_runtime_1.jsx)("tbody", { children: selectedTool.parameters.map((param) => ((0, jsx_runtime_1.jsxs)("tr", { children: [(0, jsx_runtime_1.jsx)("td", { className: "field-name", children: param.name }), (0, jsx_runtime_1.jsx)("td", { className: "field-type", children: (0, jsx_runtime_1.jsx)("span", { className: `type-badge type-${param.type.replace(/[^a-z]/gi, '')}`, children: param.type }) }), (0, jsx_runtime_1.jsxs)("td", { children: [param.required && (0, jsx_runtime_1.jsx)("span", { className: "primary-badge", children: "YES" }), !param.required && (0, jsx_runtime_1.jsx)("span", { className: "text-secondary", children: "No" })] }), (0, jsx_runtime_1.jsx)("td", { className: "field-description", children: param.description })] }, param.name))) })] })) : ((0, jsx_runtime_1.jsx)("p", { className: "empty-params-message", children: "This tool has no parameters." })) }) }))] })] }) }), (0, jsx_runtime_1.jsxs)("div", { className: "response-section", children: [(0, jsx_runtime_1.jsxs)("div", { className: "response-header", children: [(0, jsx_runtime_1.jsx)("h4", { children: "Response" }), currentEphemeral.response && ((0, jsx_runtime_1.jsxs)("div", { className: "response-meta", children: [(0, jsx_runtime_1.jsxs)("span", { className: "execution-time", children: [currentEphemeral.response.executionTime, "ms"] }), currentEphemeral.response.status && ((0, jsx_runtime_1.jsxs)("span", { className: `http-status status-${Math.floor(currentEphemeral.response.status / 100)}xx`, children: [currentEphemeral.response.status, " ", currentEphemeral.response.statusText] }))] }))] }), (0, jsx_runtime_1.jsx)(ResponseViewer_1.default, { response: currentEphemeral.response })] })] })) : ((0, jsx_runtime_1.jsx)("div", { className: "no-function-selected", children: (0, jsx_runtime_1.jsxs)("div", { className: "placeholder-content", children: [(0, jsx_runtime_1.jsx)("h3", { children: "Select an Opal Tool" }), (0, jsx_runtime_1.jsx)("p", { children: "Choose a tool from the sidebar to test it" })] }) })) })] })] }));
260
+ };
261
+ exports.default = OpalToolsView;
262
+ //# sourceMappingURL=OpalToolsView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpalToolsView.js","sourceRoot":"","sources":["../../../../src/ui/components/OpalToolsView.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import React from 'react';
2
+ import { ExecutionResponse } from '../types/common';
3
+ interface ResponseViewerProps {
4
+ /** The response object to display */
5
+ response: ExecutionResponse | null;
6
+ /** Optional logs to display (used by FunctionsView) */
7
+ logs?: string[];
8
+ /** Whether to show response tabs (body/headers). Default: false */
9
+ showTabs?: boolean;
10
+ /** Active tab when showTabs is true */
11
+ activeTab?: 'body' | 'headers';
12
+ /** Callback when tab changes */
13
+ onTabChange?: (tab: 'body' | 'headers') => void;
14
+ }
15
+ /**
16
+ * Reusable response viewer component.
17
+ * Displays HTTP response data including status, body, headers, and errors.
18
+ *
19
+ * Supports two modes:
20
+ * - Simple mode (default): Shows response body directly
21
+ * - Tabbed mode: Shows body/headers tabs when showTabs=true
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * // Simple mode (OpalToolsView)
26
+ * <ResponseViewer response={response} />
27
+ *
28
+ * // Tabbed mode (FunctionsView)
29
+ * <ResponseViewer
30
+ * response={response}
31
+ * logs={response.logs}
32
+ * showTabs
33
+ * activeTab={responseTab}
34
+ * onTabChange={setResponseTab}
35
+ * />
36
+ * ```
37
+ */
38
+ declare const ResponseViewer: React.FC<ResponseViewerProps>;
39
+ export default ResponseViewer;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ /**
5
+ * Reusable response viewer component.
6
+ * Displays HTTP response data including status, body, headers, and errors.
7
+ *
8
+ * Supports two modes:
9
+ * - Simple mode (default): Shows response body directly
10
+ * - Tabbed mode: Shows body/headers tabs when showTabs=true
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * // Simple mode (OpalToolsView)
15
+ * <ResponseViewer response={response} />
16
+ *
17
+ * // Tabbed mode (FunctionsView)
18
+ * <ResponseViewer
19
+ * response={response}
20
+ * logs={response.logs}
21
+ * showTabs
22
+ * activeTab={responseTab}
23
+ * onTabChange={setResponseTab}
24
+ * />
25
+ * ```
26
+ */
27
+ const ResponseViewer = ({ response, logs, showTabs = false, activeTab = 'body', onTabChange, }) => {
28
+ if (!response) {
29
+ return ((0, jsx_runtime_1.jsx)("div", { className: "response-content", children: (0, jsx_runtime_1.jsx)("div", { className: "no-response", children: (0, jsx_runtime_1.jsx)("p", { children: "Send a request to see the response" }) }) }));
30
+ }
31
+ const renderBody = () => ((0, jsx_runtime_1.jsxs)("div", { className: "response-data", children: [response.error ? ((0, jsx_runtime_1.jsxs)("div", { className: "response-error", children: [(0, jsx_runtime_1.jsx)("h5", { children: "Error" }), (0, jsx_runtime_1.jsx)("pre", { children: response.error.message }), response.error.stack && ((0, jsx_runtime_1.jsxs)("details", { children: [(0, jsx_runtime_1.jsx)("summary", { children: "Stack trace" }), (0, jsx_runtime_1.jsx)("pre", { children: response.error.stack })] }))] })) : ((0, jsx_runtime_1.jsx)("div", { className: "response-body", children: (0, jsx_runtime_1.jsx)("pre", { children: typeof response.result === 'string'
32
+ ? response.result
33
+ : JSON.stringify(response.result, null, 2) }) })), logs && logs.length > 0 && ((0, jsx_runtime_1.jsxs)("div", { className: "response-logs", children: [(0, jsx_runtime_1.jsx)("h5", { children: "Execution Logs" }), (0, jsx_runtime_1.jsx)("div", { className: "log-entries", children: logs.map((log, index) => ((0, jsx_runtime_1.jsx)("div", { className: "log-entry", children: log }, index))) })] }))] }));
34
+ const renderHeaders = () => ((0, jsx_runtime_1.jsx)("div", { className: "response-headers", children: response.headers && response.headers.length > 0 ? ((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-key", children: "Key" }), (0, jsx_runtime_1.jsx)("span", { className: "col-value", children: "Value" })] }), response.headers.map(([key, value], index) => ((0, jsx_runtime_1.jsxs)("div", { className: "key-value-row", children: [(0, jsx_runtime_1.jsx)("input", { type: "text", value: key, readOnly: true, className: "header-key" }), (0, jsx_runtime_1.jsx)("input", { type: "text", value: value, readOnly: true, className: "header-value" })] }, index)))] })) : ((0, jsx_runtime_1.jsx)("div", { className: "no-headers", children: (0, jsx_runtime_1.jsx)("p", { children: "No response headers" }) })) }));
35
+ // Simple mode: just show body
36
+ if (!showTabs) {
37
+ return (0, jsx_runtime_1.jsx)("div", { className: "response-content", children: renderBody() });
38
+ }
39
+ // Tabbed mode: show body/headers tabs
40
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "response-tabs", children: [(0, jsx_runtime_1.jsxs)("div", { className: "tab-headers", children: [(0, jsx_runtime_1.jsx)("button", { className: `tab-header ${activeTab === 'body' ? 'active' : ''}`, onClick: () => onTabChange?.('body'), children: "Body" }), (0, jsx_runtime_1.jsx)("button", { className: `tab-header ${activeTab === 'headers' ? 'active' : ''}`, onClick: () => onTabChange?.('headers'), children: "Headers" })] }), (0, jsx_runtime_1.jsxs)("div", { className: "tab-content", children: [activeTab === 'body' && renderBody(), activeTab === 'headers' && renderHeaders()] })] }));
41
+ };
42
+ exports.default = ResponseViewer;
43
+ //# sourceMappingURL=ResponseViewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResponseViewer.js","sourceRoot":"","sources":["../../../../src/ui/components/ResponseViewer.tsx"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const jsx_runtime_1 = require("react/jsx-runtime");
7
7
  const react_1 = require("react");
8
8
  const EyeIcon_1 = __importDefault(require("./common/EyeIcon"));
9
+ const axiom_icons_1 = require("@optimizely/axiom-icons");
9
10
  const SecretsStoreViewer = ({ secrets, onUpdate }) => {
10
11
  const [expandedSections, setExpandedSections] = (0, react_1.useState)(new Set());
11
12
  const [visibleSecrets, setVisibleSecrets] = (0, react_1.useState)(new Set());
@@ -162,7 +163,7 @@ const SecretsStoreViewer = ({ secrets, onUpdate }) => {
162
163
  };
163
164
  const sectionNames = Object.keys(secrets).sort();
164
165
  if (sectionNames.length === 0) {
165
- return ((0, jsx_runtime_1.jsx)("div", { className: "secrets-store-viewer empty", children: (0, jsx_runtime_1.jsxs)("div", { className: "empty-message", children: [(0, jsx_runtime_1.jsx)("span", { className: "empty-icon", children: "\uD83D\uDD10" }), (0, jsx_runtime_1.jsx)("p", { children: "No secrets stored" }), (0, jsx_runtime_1.jsx)("button", { className: "add-section-btn", onClick: () => addNewSecret('default'), children: "Add First Secret" })] }) }));
166
+ return ((0, jsx_runtime_1.jsx)("div", { className: "secrets-store-viewer empty", children: (0, jsx_runtime_1.jsxs)("div", { className: "empty-message", children: [(0, jsx_runtime_1.jsx)(axiom_icons_1.IconKey, { size: "xl" }), (0, jsx_runtime_1.jsx)("p", { children: "No secrets stored" }), (0, jsx_runtime_1.jsx)("button", { className: "add-section-btn", onClick: () => addNewSecret('default'), children: "Add First Secret" })] }) }));
166
167
  }
167
168
  return ((0, jsx_runtime_1.jsx)("div", { className: "secrets-store-viewer compact-store", children: (0, jsx_runtime_1.jsxs)("div", { className: "store-sections", children: [sectionNames.map((sectionName) => {
168
169
  const section = secrets[sectionName];
@@ -171,7 +172,7 @@ const SecretsStoreViewer = ({ secrets, onUpdate }) => {
171
172
  return ((0, jsx_runtime_1.jsxs)("div", { className: "store-section", children: [(0, jsx_runtime_1.jsxs)("div", { className: "section-header", onClick: () => toggleSection(sectionName), children: [(0, jsx_runtime_1.jsx)("span", { className: "expand-icon", children: isExpanded ? '▼' : '▶' }), (0, jsx_runtime_1.jsx)("span", { className: "section-name", children: sectionName }), (0, jsx_runtime_1.jsxs)("span", { className: "field-count", children: ["(", fieldNames.length, ")"] })] }), isExpanded && ((0, jsx_runtime_1.jsx)("div", { className: "section-fields", children: fieldNames.map((fieldName) => {
172
173
  const value = section[fieldName];
173
174
  const secretId = `${sectionName}.${fieldName}`;
174
- return ((0, jsx_runtime_1.jsxs)("div", { className: "field-row", children: [(0, jsx_runtime_1.jsx)("div", { className: "field-key", children: fieldName }), (0, jsx_runtime_1.jsx)("div", { className: "field-value", children: renderSecretValue(value, secretId) }), (0, jsx_runtime_1.jsxs)("div", { className: "field-metadata", children: [(0, jsx_runtime_1.jsx)(EyeIcon_1.default, { isVisible: visibleSecrets.has(secretId), onClick: () => toggleSecretVisibility(secretId), className: "metadata-icon" }), (0, jsx_runtime_1.jsx)("button", { className: "edit-icon", onClick: () => startEditing(sectionName, fieldName, value), title: "Edit", children: "\u270F\uFE0F" }), (0, jsx_runtime_1.jsx)("button", { className: "delete-icon", onClick: () => deleteSecret(sectionName, fieldName), title: "Delete", children: "\uD83D\uDDD1\uFE0F" })] })] }, fieldName));
175
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "field-row", children: [(0, jsx_runtime_1.jsx)("div", { className: "field-key", children: fieldName }), (0, jsx_runtime_1.jsx)("div", { className: "field-value", children: renderSecretValue(value, secretId) }), (0, jsx_runtime_1.jsxs)("div", { className: "field-metadata", children: [(0, jsx_runtime_1.jsx)(EyeIcon_1.default, { isVisible: visibleSecrets.has(secretId), onClick: () => toggleSecretVisibility(secretId), className: "metadata-icon" }), (0, jsx_runtime_1.jsx)("button", { className: "edit-icon", onClick: () => startEditing(sectionName, fieldName, value), title: "Edit", children: (0, jsx_runtime_1.jsx)(axiom_icons_1.IconPen, { size: "2xs" }) }), (0, jsx_runtime_1.jsx)("button", { className: "delete-icon", onClick: () => deleteSecret(sectionName, fieldName), title: "Delete", children: "\uD83D\uDDD1\uFE0F" })] })] }, fieldName));
175
176
  }) }))] }, sectionName));
176
177
  }), sectionNames.length === 0 && ((0, jsx_runtime_1.jsx)("div", { className: "empty-store", children: "No secrets configured" }))] }) }));
177
178
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SecretsStoreViewer.js","sourceRoot":"","sources":["../../../../src/ui/components/SecretsStoreViewer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SecretsStoreViewer.js","sourceRoot":"","sources":["../../../../src/ui/components/SecretsStoreViewer.tsx"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const jsx_runtime_1 = require("react/jsx-runtime");
7
7
  const react_1 = require("react");
8
8
  const EyeIcon_1 = __importDefault(require("./common/EyeIcon"));
9
+ const axiom_icons_1 = require("@optimizely/axiom-icons");
9
10
  const SettingsStoreViewer = ({ settings, onUpdate }) => {
10
11
  const [expandedSections, setExpandedSections] = (0, react_1.useState)(new Set());
11
12
  const [hiddenFields, setHiddenFields] = (0, react_1.useState)(new Set());
@@ -115,7 +116,7 @@ const SettingsStoreViewer = ({ settings, onUpdate }) => {
115
116
  };
116
117
  const sectionNames = Object.keys(settings).sort();
117
118
  if (sectionNames.length === 0) {
118
- return ((0, jsx_runtime_1.jsx)("div", { className: "settings-store-viewer empty", children: (0, jsx_runtime_1.jsxs)("div", { className: "empty-message", children: [(0, jsx_runtime_1.jsx)("span", { className: "empty-icon", children: "\u2699\uFE0F" }), (0, jsx_runtime_1.jsx)("p", { children: "No settings configured" })] }) }));
119
+ return ((0, jsx_runtime_1.jsx)("div", { className: "settings-store-viewer empty", children: (0, jsx_runtime_1.jsxs)("div", { className: "empty-message", children: [(0, jsx_runtime_1.jsx)(axiom_icons_1.IconGear, { size: "xl" }), (0, jsx_runtime_1.jsx)("p", { children: "No settings configured" })] }) }));
119
120
  }
120
121
  return ((0, jsx_runtime_1.jsx)("div", { className: "settings-store-viewer compact-store", children: (0, jsx_runtime_1.jsx)("div", { className: "store-sections", children: sectionNames.map((sectionName) => {
121
122
  const section = settings[sectionName];
@@ -124,7 +125,7 @@ const SettingsStoreViewer = ({ settings, onUpdate }) => {
124
125
  return ((0, jsx_runtime_1.jsxs)("div", { className: "store-section", children: [(0, jsx_runtime_1.jsxs)("div", { className: "section-header", onClick: () => toggleSection(sectionName), children: [(0, jsx_runtime_1.jsx)("span", { className: "expand-icon", children: isExpanded ? '▼' : '▶' }), (0, jsx_runtime_1.jsx)("span", { className: "section-name", children: sectionName }), (0, jsx_runtime_1.jsxs)("span", { className: "field-count", children: ["(", fieldNames.length, ")"] })] }), isExpanded && ((0, jsx_runtime_1.jsx)("div", { className: "section-fields", children: fieldNames.map((fieldName) => {
125
126
  const field = section[fieldName];
126
127
  const fieldId = `${sectionName}.${fieldName}`;
127
- return ((0, jsx_runtime_1.jsxs)("div", { className: "field-row", children: [(0, jsx_runtime_1.jsx)("div", { className: "field-key", children: fieldName }), (0, jsx_runtime_1.jsx)("div", { className: "field-value", children: renderFieldValue(field, fieldId) }), (0, jsx_runtime_1.jsxs)("div", { className: "field-metadata", children: [field.isSecret && ((0, jsx_runtime_1.jsx)(EyeIcon_1.default, { isVisible: hiddenFields.has(fieldId), onClick: () => toggleFieldVisibility(fieldId), className: "metadata-icon" })), (0, jsx_runtime_1.jsx)("button", { className: "edit-icon", onClick: () => startEditing(sectionName, fieldName, field.value), title: "Edit", children: "\u270F\uFE0F" }), field.hasLocalValue && ((0, jsx_runtime_1.jsx)("span", { className: "metadata-badge local", title: "Has local value", children: "local" })), !field.isFromYml && ((0, jsx_runtime_1.jsx)("span", { className: "metadata-badge local-only", title: "Local only", children: "local only" }))] })] }, fieldName));
128
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "field-row", children: [(0, jsx_runtime_1.jsx)("div", { className: "field-key", children: fieldName }), (0, jsx_runtime_1.jsx)("div", { className: "field-value", children: renderFieldValue(field, fieldId) }), (0, jsx_runtime_1.jsxs)("div", { className: "field-metadata", children: [field.isSecret && ((0, jsx_runtime_1.jsx)(EyeIcon_1.default, { isVisible: hiddenFields.has(fieldId), onClick: () => toggleFieldVisibility(fieldId), className: "metadata-icon" })), (0, jsx_runtime_1.jsx)("button", { className: "edit-icon", onClick: () => startEditing(sectionName, fieldName, field.value), title: "Edit", children: (0, jsx_runtime_1.jsx)(axiom_icons_1.IconPen, { size: "2xs" }) }), field.hasLocalValue && ((0, jsx_runtime_1.jsx)("span", { className: "metadata-badge local", title: "Has local value", children: "local" })), !field.isFromYml && ((0, jsx_runtime_1.jsx)("span", { className: "metadata-badge local-only", title: "Local only", children: "local only" }))] })] }, fieldName));
128
129
  }) }))] }, sectionName));
129
130
  }) }) }));
130
131
  };