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

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 (160) hide show
  1. package/README.md +165 -0
  2. package/dist/package.json +104 -0
  3. package/dist/public/bundle.da978bb5437cd82e6d37.js +3 -0
  4. package/dist/public/bundle.da978bb5437cd82e6d37.js.LICENSE.txt +49 -0
  5. package/dist/public/bundle.da978bb5437cd82e6d37.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 +88 -0
  9. package/dist/src/cli.js.map +1 -0
  10. package/dist/src/executor/FunctionExecutor.d.ts +56 -0
  11. package/dist/src/executor/FunctionExecutor.js +175 -0
  12. package/dist/src/executor/FunctionExecutor.js.map +1 -0
  13. package/dist/src/executor/JobExecutor.d.ts +60 -0
  14. package/dist/src/executor/JobExecutor.js +203 -0
  15. package/dist/src/executor/JobExecutor.js.map +1 -0
  16. package/dist/src/executor/LifecycleExecutor.d.ts +45 -0
  17. package/dist/src/executor/LifecycleExecutor.js +153 -0
  18. package/dist/src/executor/LifecycleExecutor.js.map +1 -0
  19. package/dist/src/executor/watcher.d.ts +63 -0
  20. package/dist/src/executor/watcher.js +213 -0
  21. package/dist/src/executor/watcher.js.map +1 -0
  22. package/dist/src/functions/hello.d.ts +4 -0
  23. package/dist/src/functions/hello.js +8 -0
  24. package/dist/src/functions/hello.js.map +1 -0
  25. package/dist/src/index.d.ts +1 -0
  26. package/dist/src/index.js +9 -0
  27. package/dist/src/index.js.map +1 -0
  28. package/dist/src/jobs/dailyJob.d.ts +4 -0
  29. package/dist/src/jobs/dailyJob.js +8 -0
  30. package/dist/src/jobs/dailyJob.js.map +1 -0
  31. package/dist/src/local_engine/LocalNotifier.d.ts +10 -0
  32. package/dist/src/local_engine/LocalNotifier.js +26 -0
  33. package/dist/src/local_engine/LocalNotifier.js.map +1 -0
  34. package/dist/src/local_engine/local-engine-child-base.d.ts +79 -0
  35. package/dist/src/local_engine/local-engine-child-base.js +304 -0
  36. package/dist/src/local_engine/local-engine-child-base.js.map +1 -0
  37. package/dist/src/local_engine/local-engine-client.d.ts +80 -0
  38. package/dist/src/local_engine/local-engine-client.js +333 -0
  39. package/dist/src/local_engine/local-engine-client.js.map +1 -0
  40. package/dist/src/local_engine/local-engine-types.d.ts +132 -0
  41. package/dist/src/local_engine/local-engine-types.js +6 -0
  42. package/dist/src/local_engine/local-engine-types.js.map +1 -0
  43. package/dist/src/local_engine/local-engine-unified.d.ts +40 -0
  44. package/dist/src/local_engine/local-engine-unified.js +406 -0
  45. package/dist/src/local_engine/local-engine-unified.js.map +1 -0
  46. package/dist/src/local_engine/local-engine-utils.d.ts +70 -0
  47. package/dist/src/local_engine/local-engine-utils.js +192 -0
  48. package/dist/src/local_engine/local-engine-utils.js.map +1 -0
  49. package/dist/src/local_engine/localSDKConfig.d.ts +30 -0
  50. package/dist/src/local_engine/localSDKConfig.js +392 -0
  51. package/dist/src/local_engine/localSDKConfig.js.map +1 -0
  52. package/dist/src/local_engine/storage/LocalConfigStore.d.ts +56 -0
  53. package/dist/src/local_engine/storage/LocalConfigStore.js +129 -0
  54. package/dist/src/local_engine/storage/LocalConfigStore.js.map +1 -0
  55. package/dist/src/local_engine/storage/LocalJobStore.d.ts +110 -0
  56. package/dist/src/local_engine/storage/LocalJobStore.js +239 -0
  57. package/dist/src/local_engine/storage/LocalJobStore.js.map +1 -0
  58. package/dist/src/local_engine/storage/LocalKVStore.d.ts +105 -0
  59. package/dist/src/local_engine/storage/LocalKVStore.js +1002 -0
  60. package/dist/src/local_engine/storage/LocalKVStore.js.map +1 -0
  61. package/dist/src/local_engine/storage/LocalNotificationStore.d.ts +27 -0
  62. package/dist/src/local_engine/storage/LocalNotificationStore.js +125 -0
  63. package/dist/src/local_engine/storage/LocalNotificationStore.js.map +1 -0
  64. package/dist/src/local_engine/storage/LocalSecretsStore.d.ts +114 -0
  65. package/dist/src/local_engine/storage/LocalSecretsStore.js +319 -0
  66. package/dist/src/local_engine/storage/LocalSecretsStore.js.map +1 -0
  67. package/dist/src/local_engine/storage/LocalSettingsStore.d.ts +161 -0
  68. package/dist/src/local_engine/storage/LocalSettingsStore.js +417 -0
  69. package/dist/src/local_engine/storage/LocalSettingsStore.js.map +1 -0
  70. package/dist/src/local_engine/storage/NumberSet.d.ts +21 -0
  71. package/dist/src/local_engine/storage/NumberSet.js +32 -0
  72. package/dist/src/local_engine/storage/NumberSet.js.map +1 -0
  73. package/dist/src/local_engine/storage/StringSet.d.ts +21 -0
  74. package/dist/src/local_engine/storage/StringSet.js +32 -0
  75. package/dist/src/local_engine/storage/StringSet.js.map +1 -0
  76. package/dist/src/local_engine/types.d.ts +52 -0
  77. package/dist/src/local_engine/types.js +6 -0
  78. package/dist/src/local_engine/types.js.map +1 -0
  79. package/dist/src/local_engine/utils.d.ts +31 -0
  80. package/dist/src/local_engine/utils.js +126 -0
  81. package/dist/src/local_engine/utils.js.map +1 -0
  82. package/dist/src/logging/LogManager.d.ts +89 -0
  83. package/dist/src/logging/LogManager.js +237 -0
  84. package/dist/src/logging/LogManager.js.map +1 -0
  85. package/dist/src/server/api/functions.d.ts +7 -0
  86. package/dist/src/server/api/functions.js +80 -0
  87. package/dist/src/server/api/functions.js.map +1 -0
  88. package/dist/src/server/api/jobs.d.ts +8 -0
  89. package/dist/src/server/api/jobs.js +242 -0
  90. package/dist/src/server/api/jobs.js.map +1 -0
  91. package/dist/src/server/api/lifecycle.d.ts +6 -0
  92. package/dist/src/server/api/lifecycle.js +73 -0
  93. package/dist/src/server/api/lifecycle.js.map +1 -0
  94. package/dist/src/server/api/settings.d.ts +6 -0
  95. package/dist/src/server/api/settings.js +117 -0
  96. package/dist/src/server/api/settings.js.map +1 -0
  97. package/dist/src/server/api/stores.d.ts +2 -0
  98. package/dist/src/server/api/stores.js +341 -0
  99. package/dist/src/server/api/stores.js.map +1 -0
  100. package/dist/src/server/api/v1.d.ts +10 -0
  101. package/dist/src/server/api/v1.js +711 -0
  102. package/dist/src/server/api/v1.js.map +1 -0
  103. package/dist/src/server/api.d.ts +8 -0
  104. package/dist/src/server/api.js +154 -0
  105. package/dist/src/server/api.js.map +1 -0
  106. package/dist/src/server/app-discovery.d.ts +5 -0
  107. package/dist/src/server/app-discovery.js +81 -0
  108. package/dist/src/server/app-discovery.js.map +1 -0
  109. package/dist/src/server/config.d.ts +21 -0
  110. package/dist/src/server/config.js +100 -0
  111. package/dist/src/server/config.js.map +1 -0
  112. package/dist/src/server/websocket.d.ts +0 -0
  113. package/dist/src/server/websocket.js +2 -0
  114. package/dist/src/server/websocket.js.map +1 -0
  115. package/dist/src/server.d.ts +2 -0
  116. package/dist/src/server.js +546 -0
  117. package/dist/src/server.js.map +1 -0
  118. package/dist/src/types/app.d.ts +155 -0
  119. package/dist/src/types/app.js +24 -0
  120. package/dist/src/types/app.js.map +1 -0
  121. package/dist/src/types/kvstore.d.ts +320 -0
  122. package/dist/src/types/kvstore.js +5 -0
  123. package/dist/src/types/kvstore.js.map +1 -0
  124. package/dist/src/ui/components/App.d.ts +6 -0
  125. package/dist/src/ui/components/App.js +255 -0
  126. package/dist/src/ui/components/App.js.map +1 -0
  127. package/dist/src/ui/components/FunctionsView.d.ts +6 -0
  128. package/dist/src/ui/components/FunctionsView.js +217 -0
  129. package/dist/src/ui/components/FunctionsView.js.map +1 -0
  130. package/dist/src/ui/components/JobsView.d.ts +6 -0
  131. package/dist/src/ui/components/JobsView.js +257 -0
  132. package/dist/src/ui/components/JobsView.js.map +1 -0
  133. package/dist/src/ui/components/KVStoreViewer.d.ts +11 -0
  134. package/dist/src/ui/components/KVStoreViewer.js +168 -0
  135. package/dist/src/ui/components/KVStoreViewer.js.map +1 -0
  136. package/dist/src/ui/components/NotificationViewer.d.ts +16 -0
  137. package/dist/src/ui/components/NotificationViewer.js +69 -0
  138. package/dist/src/ui/components/NotificationViewer.js.map +1 -0
  139. package/dist/src/ui/components/SecretsStoreViewer.d.ts +11 -0
  140. package/dist/src/ui/components/SecretsStoreViewer.js +179 -0
  141. package/dist/src/ui/components/SecretsStoreViewer.js.map +1 -0
  142. package/dist/src/ui/components/SettingsStoreViewer.d.ts +24 -0
  143. package/dist/src/ui/components/SettingsStoreViewer.js +132 -0
  144. package/dist/src/ui/components/SettingsStoreViewer.js.map +1 -0
  145. package/dist/src/ui/components/StoreViewer.d.ts +16 -0
  146. package/dist/src/ui/components/StoreViewer.js +86 -0
  147. package/dist/src/ui/components/StoreViewer.js.map +1 -0
  148. package/dist/src/ui/components/TabbedConsole.d.ts +15 -0
  149. package/dist/src/ui/components/TabbedConsole.js +93 -0
  150. package/dist/src/ui/components/TabbedConsole.js.map +1 -0
  151. package/dist/src/ui/components/common/DataTree.d.ts +15 -0
  152. package/dist/src/ui/components/common/DataTree.js +95 -0
  153. package/dist/src/ui/components/common/DataTree.js.map +1 -0
  154. package/dist/src/ui/components/common/EyeIcon.d.ts +11 -0
  155. package/dist/src/ui/components/common/EyeIcon.js +11 -0
  156. package/dist/src/ui/components/common/EyeIcon.js.map +1 -0
  157. package/dist/src/ui/index.d.ts +1 -0
  158. package/dist/src/ui/index.js +20 -0
  159. package/dist/src/ui/index.js.map +1 -0
  160. package/package.json +104 -0
@@ -0,0 +1,304 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LocalEngineChildBase = void 0;
4
+ const local_engine_utils_1 = require("./local-engine-utils");
5
+ class LocalEngineChildBase {
6
+ constructor() {
7
+ this.initialized = false;
8
+ this.setupMessageHandlers();
9
+ this.setupErrorHandlers();
10
+ }
11
+ /**
12
+ * Initialize the child process and start listening for messages
13
+ */
14
+ start() {
15
+ console.log('[IPC Child] Starting IPC child process');
16
+ this.sendReady();
17
+ }
18
+ /**
19
+ * Set up message handlers for parent communication
20
+ */
21
+ setupMessageHandlers() {
22
+ if (!process.send) {
23
+ throw new Error('IPC is not available in this process');
24
+ }
25
+ process.on('message', async (message) => {
26
+ try {
27
+ (0, local_engine_utils_1.logIPCMessage)('RECV', message, '[IPC Child]');
28
+ if (!(0, local_engine_utils_1.validateMessage)(message)) {
29
+ this.sendError('invalid_message', 'Invalid message format', new Error('Message validation failed'));
30
+ return;
31
+ }
32
+ await this.handleMessage(message);
33
+ }
34
+ catch (error) {
35
+ console.error('[IPC Child] Error handling message:', error);
36
+ this.sendError('handler_error', 'Failed to handle message', error);
37
+ }
38
+ });
39
+ }
40
+ /**
41
+ * Set up global error handlers
42
+ */
43
+ setupErrorHandlers() {
44
+ process.on('uncaughtException', (error) => {
45
+ console.error('[IPC Child] Uncaught exception:', error);
46
+ this.sendError('uncaught_exception', 'Uncaught exception in child process', error);
47
+ process.exit(1);
48
+ });
49
+ process.on('unhandledRejection', (reason, promise) => {
50
+ console.error('[IPC Child] Unhandled rejection at:', promise, 'reason:', reason);
51
+ this.sendError('unhandled_rejection', 'Unhandled promise rejection', reason);
52
+ });
53
+ }
54
+ /**
55
+ * Handle incoming messages from parent
56
+ */
57
+ async handleMessage(message) {
58
+ switch (message.type) {
59
+ case 'initialize':
60
+ await this.handleInitialize(message);
61
+ break;
62
+ case 'execute_function':
63
+ await this.handleExecuteFunction(message);
64
+ break;
65
+ case 'execute_lifecycle':
66
+ await this.handleExecuteLifecycle(message);
67
+ break;
68
+ case 'execute_job':
69
+ await this.handleExecuteJob(message);
70
+ break;
71
+ case 'shutdown':
72
+ await this.handleShutdown(message);
73
+ break;
74
+ case 'cancel':
75
+ await this.handleCancel(message);
76
+ break;
77
+ default:
78
+ this.sendError('unknown_message_type', `Unknown message type: ${message.type}`, new Error('Unknown message type'));
79
+ }
80
+ }
81
+ /**
82
+ * Handle initialization request
83
+ */
84
+ async handleInitialize(message) {
85
+ try {
86
+ const { appConfig, appDir } = message.data;
87
+ this.appConfig = appConfig;
88
+ this.appDir = appDir;
89
+ await this.initialize(appConfig, appDir);
90
+ this.initialized = true;
91
+ this.sendMessage({
92
+ ...(0, local_engine_utils_1.createBaseMessage)('ready'),
93
+ type: 'ready'
94
+ });
95
+ }
96
+ catch (error) {
97
+ this.sendError(message.id, 'Initialization failed', error);
98
+ }
99
+ }
100
+ /**
101
+ * Handle function execution request
102
+ */
103
+ async handleExecuteFunction(message) {
104
+ if (!this.initialized) {
105
+ this.sendError(message.id, 'Child process not initialized', new Error('Not initialized'));
106
+ return;
107
+ }
108
+ this.currentRequestId = message.id;
109
+ const startTime = Date.now();
110
+ try {
111
+ this.sendProgress(message.id, 'Starting function execution', 10);
112
+ const result = await this.executeFunction(message.data);
113
+ const executionTime = Date.now() - startTime;
114
+ this.sendMessage({
115
+ ...(0, local_engine_utils_1.createBaseMessage)('success'),
116
+ type: 'success',
117
+ data: {
118
+ requestId: message.id,
119
+ result: (0, local_engine_utils_1.safeSerialize)(result),
120
+ executionTime
121
+ }
122
+ });
123
+ }
124
+ catch (error) {
125
+ const executionTime = Date.now() - startTime;
126
+ this.sendError(message.id, 'Function execution failed', error, executionTime);
127
+ }
128
+ finally {
129
+ this.currentRequestId = undefined;
130
+ }
131
+ }
132
+ /**
133
+ * Handle lifecycle execution request
134
+ */
135
+ async handleExecuteLifecycle(message) {
136
+ if (!this.initialized) {
137
+ this.sendError(message.id, 'Child process not initialized', new Error('Not initialized'));
138
+ return;
139
+ }
140
+ this.currentRequestId = message.id;
141
+ const startTime = Date.now();
142
+ try {
143
+ this.sendProgress(message.id, 'Starting lifecycle execution', 10);
144
+ const result = await this.executeLifecycle(message.data);
145
+ const executionTime = Date.now() - startTime;
146
+ this.sendMessage({
147
+ ...(0, local_engine_utils_1.createBaseMessage)('success'),
148
+ type: 'success',
149
+ data: {
150
+ requestId: message.id,
151
+ result: (0, local_engine_utils_1.safeSerialize)(result),
152
+ executionTime
153
+ }
154
+ });
155
+ }
156
+ catch (error) {
157
+ const executionTime = Date.now() - startTime;
158
+ this.sendError(message.id, 'Lifecycle execution failed', error, executionTime);
159
+ }
160
+ finally {
161
+ this.currentRequestId = undefined;
162
+ }
163
+ }
164
+ /**
165
+ * Handle job execution request
166
+ */
167
+ async handleExecuteJob(message) {
168
+ if (!this.initialized) {
169
+ this.sendError(message.id, 'Child process not initialized', new Error('Not initialized'));
170
+ return;
171
+ }
172
+ this.currentRequestId = message.id;
173
+ const startTime = Date.now();
174
+ try {
175
+ this.sendProgress(message.id, 'Starting job execution', 10);
176
+ const result = await this.executeJob(message.data);
177
+ const executionTime = Date.now() - startTime;
178
+ this.sendMessage({
179
+ ...(0, local_engine_utils_1.createBaseMessage)('success'),
180
+ type: 'success',
181
+ data: {
182
+ requestId: message.id,
183
+ result: (0, local_engine_utils_1.safeSerialize)(result),
184
+ executionTime
185
+ }
186
+ });
187
+ }
188
+ catch (error) {
189
+ const executionTime = Date.now() - startTime;
190
+ this.sendError(message.id, 'Job execution failed', error, executionTime);
191
+ }
192
+ finally {
193
+ this.currentRequestId = undefined;
194
+ }
195
+ }
196
+ /**
197
+ * Handle shutdown request
198
+ */
199
+ async handleShutdown(message) {
200
+ try {
201
+ await this.cleanup();
202
+ this.sendMessage({
203
+ ...(0, local_engine_utils_1.createBaseMessage)('success'),
204
+ type: 'success',
205
+ data: {
206
+ requestId: message.id,
207
+ result: { shutdown: true },
208
+ executionTime: 0
209
+ }
210
+ });
211
+ // Give some time for the message to be sent before exiting
212
+ setTimeout(() => {
213
+ process.exit(0);
214
+ }, 100);
215
+ }
216
+ catch (error) {
217
+ this.sendError(message.id, 'Shutdown failed', error);
218
+ process.exit(1);
219
+ }
220
+ }
221
+ /**
222
+ * Handle cancellation request
223
+ */
224
+ async handleCancel(message) {
225
+ const { cancelId } = message.data;
226
+ if (this.currentRequestId === cancelId) {
227
+ this.sendError(cancelId, 'Request cancelled by parent', new Error('Request cancelled'));
228
+ this.currentRequestId = undefined;
229
+ }
230
+ // Send acknowledgment
231
+ this.sendMessage({
232
+ ...(0, local_engine_utils_1.createBaseMessage)('success'),
233
+ type: 'success',
234
+ data: {
235
+ requestId: message.id,
236
+ result: { cancelled: cancelId },
237
+ executionTime: 0
238
+ }
239
+ });
240
+ }
241
+ /**
242
+ * Send ready message to parent
243
+ */
244
+ sendReady() {
245
+ this.sendMessage({
246
+ ...(0, local_engine_utils_1.createBaseMessage)('ready'),
247
+ type: 'ready'
248
+ });
249
+ }
250
+ /**
251
+ * Send progress update to parent
252
+ */
253
+ sendProgress(requestId, message, progress) {
254
+ this.sendMessage({
255
+ ...(0, local_engine_utils_1.createBaseMessage)('progress'),
256
+ type: 'progress',
257
+ data: {
258
+ requestId,
259
+ message,
260
+ progress
261
+ }
262
+ });
263
+ }
264
+ /**
265
+ * Send log message to parent
266
+ */
267
+ sendLog(level, message, requestId) {
268
+ this.sendMessage({
269
+ ...(0, local_engine_utils_1.createBaseMessage)('log'),
270
+ type: 'log',
271
+ data: {
272
+ requestId,
273
+ level,
274
+ message,
275
+ timestamp: Date.now()
276
+ }
277
+ });
278
+ }
279
+ /**
280
+ * Send error message to parent
281
+ */
282
+ sendError(requestId, message, error, executionTime = 0) {
283
+ const errorData = (0, local_engine_utils_1.serializeError)(error);
284
+ this.sendMessage({
285
+ ...(0, local_engine_utils_1.createBaseMessage)('error'),
286
+ type: 'error',
287
+ data: {
288
+ requestId,
289
+ error: message,
290
+ stack: errorData.stack,
291
+ executionTime
292
+ }
293
+ });
294
+ }
295
+ /**
296
+ * Send a message to the parent process
297
+ */
298
+ sendMessage(message) {
299
+ (0, local_engine_utils_1.logIPCMessage)('SEND', message, '[IPC Child]');
300
+ (0, local_engine_utils_1.sendIPCMessage)(process, message);
301
+ }
302
+ }
303
+ exports.LocalEngineChildBase = LocalEngineChildBase;
304
+ //# sourceMappingURL=local-engine-child-base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-engine-child-base.js","sourceRoot":"","sources":["../../../src/local_engine/local-engine-child-base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import { AppConfig, FunctionExecutionRequest, LifecycleExecutionRequest, JobExecutionRequest } from './local-engine-types';
2
+ export declare class LocalEngineClient {
3
+ private connections;
4
+ /**
5
+ * Get or create a connection for the specified app
6
+ */
7
+ private getConnection;
8
+ /**
9
+ * Create a new IPC connection using the unified wrapper
10
+ */
11
+ private createConnection;
12
+ /**
13
+ * Set up message handlers for a connection
14
+ */
15
+ private setupMessageHandlers;
16
+ /**
17
+ * Set up error handlers for a connection
18
+ */
19
+ private setupErrorHandlers;
20
+ /**
21
+ * Handle messages from child process
22
+ */
23
+ private handleChildMessage;
24
+ /**
25
+ * Handle ready message from child
26
+ */
27
+ private handleReadyMessage;
28
+ /**
29
+ * Handle progress message from child
30
+ */
31
+ private handleProgressMessage;
32
+ /**
33
+ * Handle log message from child
34
+ */
35
+ private handleLogMessage;
36
+ /**
37
+ * Handle success message from child
38
+ */
39
+ private handleSuccessMessage;
40
+ /**
41
+ * Handle error message from child
42
+ */
43
+ private handleErrorMessage;
44
+ /**
45
+ * Handle connection errors
46
+ */
47
+ private handleConnectionError;
48
+ /**
49
+ * Handle connection exit
50
+ */
51
+ private handleConnectionExit;
52
+ /**
53
+ * Initialize child process
54
+ */
55
+ private initializeChild;
56
+ /**
57
+ * Send a request and wait for response
58
+ */
59
+ private sendRequest;
60
+ /**
61
+ * Execute a function using IPC
62
+ */
63
+ executeFunction(request: FunctionExecutionRequest, appConfig: AppConfig, appDir: string): Promise<any>;
64
+ /**
65
+ * Execute a lifecycle method using IPC
66
+ */
67
+ executeLifecycle(request: LifecycleExecutionRequest, appConfig: AppConfig, appDir: string): Promise<any>;
68
+ /**
69
+ * Execute a job using IPC
70
+ */
71
+ executeJob(request: JobExecutionRequest, appConfig: AppConfig, appDir: string): Promise<any>;
72
+ /**
73
+ * Close a specific connection
74
+ */
75
+ closeConnection(connectionKey: string): Promise<void>;
76
+ /**
77
+ * Close all connections
78
+ */
79
+ closeAllConnections(): Promise<void>;
80
+ }