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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/README.md +51 -0
  2. package/dist/package.json +112 -0
  3. package/dist/public/bundle.82dc5d29fffb9f205051.js +3 -0
  4. package/dist/public/bundle.82dc5d29fffb9f205051.js.LICENSE.txt +92 -0
  5. package/dist/public/bundle.82dc5d29fffb9f205051.js.map +1 -0
  6. package/dist/public/index.html +1 -0
  7. package/dist/src/cli.d.ts +2 -0
  8. package/dist/src/cli.js +115 -0
  9. package/dist/src/cli.js.map +1 -0
  10. package/dist/src/executor/DestinationExecutor.d.ts +19 -0
  11. package/dist/src/executor/DestinationExecutor.js +72 -0
  12. package/dist/src/executor/DestinationExecutor.js.map +1 -0
  13. package/dist/src/executor/FunctionExecutor.d.ts +67 -0
  14. package/dist/src/executor/FunctionExecutor.js +189 -0
  15. package/dist/src/executor/FunctionExecutor.js.map +1 -0
  16. package/dist/src/executor/JobExecutor.d.ts +79 -0
  17. package/dist/src/executor/JobExecutor.js +215 -0
  18. package/dist/src/executor/JobExecutor.js.map +1 -0
  19. package/dist/src/executor/LifecycleExecutor.d.ts +64 -0
  20. package/dist/src/executor/LifecycleExecutor.js +167 -0
  21. package/dist/src/executor/LifecycleExecutor.js.map +1 -0
  22. package/dist/src/executor/SourceExecutor.d.ts +32 -0
  23. package/dist/src/executor/SourceExecutor.js +163 -0
  24. package/dist/src/executor/SourceExecutor.js.map +1 -0
  25. package/dist/src/executor/watcher.d.ts +62 -0
  26. package/dist/src/executor/watcher.js +213 -0
  27. package/dist/src/executor/watcher.js.map +1 -0
  28. package/dist/src/functions/hello.d.ts +4 -0
  29. package/dist/src/functions/hello.js +8 -0
  30. package/dist/src/functions/hello.js.map +1 -0
  31. package/dist/src/index.d.ts +1 -0
  32. package/dist/src/index.js +9 -0
  33. package/dist/src/index.js.map +1 -0
  34. package/dist/src/jobs/dailyJob.d.ts +4 -0
  35. package/dist/src/jobs/dailyJob.js +8 -0
  36. package/dist/src/jobs/dailyJob.js.map +1 -0
  37. package/dist/src/local_engine/LocalFunctionApi.d.ts +17 -0
  38. package/dist/src/local_engine/LocalFunctionApi.js +54 -0
  39. package/dist/src/local_engine/LocalFunctionApi.js.map +1 -0
  40. package/dist/src/local_engine/LocalJobApi.d.ts +67 -0
  41. package/dist/src/local_engine/LocalJobApi.js +205 -0
  42. package/dist/src/local_engine/LocalJobApi.js.map +1 -0
  43. package/dist/src/local_engine/LocalNotifier.d.ts +9 -0
  44. package/dist/src/local_engine/LocalNotifier.js +26 -0
  45. package/dist/src/local_engine/LocalNotifier.js.map +1 -0
  46. package/dist/src/local_engine/local-engine-child-base.d.ts +110 -0
  47. package/dist/src/local_engine/local-engine-child-base.js +607 -0
  48. package/dist/src/local_engine/local-engine-child-base.js.map +1 -0
  49. package/dist/src/local_engine/local-engine-client.d.ts +161 -0
  50. package/dist/src/local_engine/local-engine-client.js +888 -0
  51. package/dist/src/local_engine/local-engine-client.js.map +1 -0
  52. package/dist/src/local_engine/local-engine-types.d.ts +245 -0
  53. package/dist/src/local_engine/local-engine-types.js +6 -0
  54. package/dist/src/local_engine/local-engine-types.js.map +1 -0
  55. package/dist/src/local_engine/local-engine-unified.d.ts +71 -0
  56. package/dist/src/local_engine/local-engine-unified.js +723 -0
  57. package/dist/src/local_engine/local-engine-unified.js.map +1 -0
  58. package/dist/src/local_engine/local-engine-utils.d.ts +68 -0
  59. package/dist/src/local_engine/local-engine-utils.js +219 -0
  60. package/dist/src/local_engine/local-engine-utils.js.map +1 -0
  61. package/dist/src/local_engine/localSDKConfig.d.ts +40 -0
  62. package/dist/src/local_engine/localSDKConfig.js +247 -0
  63. package/dist/src/local_engine/localSDKConfig.js.map +1 -0
  64. package/dist/src/local_engine/storage/BaseKVStoreWrapper.d.ts +37 -0
  65. package/dist/src/local_engine/storage/BaseKVStoreWrapper.js +110 -0
  66. package/dist/src/local_engine/storage/BaseKVStoreWrapper.js.map +1 -0
  67. package/dist/src/local_engine/storage/LocalConfigStore.d.ts +74 -0
  68. package/dist/src/local_engine/storage/LocalConfigStore.js +178 -0
  69. package/dist/src/local_engine/storage/LocalConfigStore.js.map +1 -0
  70. package/dist/src/local_engine/storage/LocalJobStore.d.ts +111 -0
  71. package/dist/src/local_engine/storage/LocalJobStore.js +249 -0
  72. package/dist/src/local_engine/storage/LocalJobStore.js.map +1 -0
  73. package/dist/src/local_engine/storage/LocalKVStore.d.ts +106 -0
  74. package/dist/src/local_engine/storage/LocalKVStore.js +1061 -0
  75. package/dist/src/local_engine/storage/LocalKVStore.js.map +1 -0
  76. package/dist/src/local_engine/storage/LocalNotificationStore.d.ts +28 -0
  77. package/dist/src/local_engine/storage/LocalNotificationStore.js +149 -0
  78. package/dist/src/local_engine/storage/LocalNotificationStore.js.map +1 -0
  79. package/dist/src/local_engine/storage/LocalSecretsStore.d.ts +115 -0
  80. package/dist/src/local_engine/storage/LocalSecretsStore.js +350 -0
  81. package/dist/src/local_engine/storage/LocalSecretsStore.js.map +1 -0
  82. package/dist/src/local_engine/storage/LocalSecretsStoreWrapper.d.ts +19 -0
  83. package/dist/src/local_engine/storage/LocalSecretsStoreWrapper.js +52 -0
  84. package/dist/src/local_engine/storage/LocalSecretsStoreWrapper.js.map +1 -0
  85. package/dist/src/local_engine/storage/LocalSettingsStore.d.ts +168 -0
  86. package/dist/src/local_engine/storage/LocalSettingsStore.js +509 -0
  87. package/dist/src/local_engine/storage/LocalSettingsStore.js.map +1 -0
  88. package/dist/src/local_engine/storage/LocalSettingsStoreWrapper.d.ts +15 -0
  89. package/dist/src/local_engine/storage/LocalSettingsStoreWrapper.js +28 -0
  90. package/dist/src/local_engine/storage/LocalSettingsStoreWrapper.js.map +1 -0
  91. package/dist/src/local_engine/storage/NumberSet.d.ts +21 -0
  92. package/dist/src/local_engine/storage/NumberSet.js +32 -0
  93. package/dist/src/local_engine/storage/NumberSet.js.map +1 -0
  94. package/dist/src/local_engine/storage/SourceDataStore.d.ts +23 -0
  95. package/dist/src/local_engine/storage/SourceDataStore.js +83 -0
  96. package/dist/src/local_engine/storage/SourceDataStore.js.map +1 -0
  97. package/dist/src/local_engine/storage/SourceJobExecutionStore.d.ts +25 -0
  98. package/dist/src/local_engine/storage/SourceJobExecutionStore.js +61 -0
  99. package/dist/src/local_engine/storage/SourceJobExecutionStore.js.map +1 -0
  100. package/dist/src/local_engine/storage/StringSet.d.ts +21 -0
  101. package/dist/src/local_engine/storage/StringSet.js +32 -0
  102. package/dist/src/local_engine/storage/StringSet.js.map +1 -0
  103. package/dist/src/local_engine/types.d.ts +53 -0
  104. package/dist/src/local_engine/types.js +6 -0
  105. package/dist/src/local_engine/types.js.map +1 -0
  106. package/dist/src/local_engine/utils.d.ts +33 -0
  107. package/dist/src/local_engine/utils.js +143 -0
  108. package/dist/src/local_engine/utils.js.map +1 -0
  109. package/dist/src/logging/LogManager.d.ts +246 -0
  110. package/dist/src/logging/LogManager.js +343 -0
  111. package/dist/src/logging/LogManager.js.map +1 -0
  112. package/dist/src/server/api/destinations.d.ts +7 -0
  113. package/dist/src/server/api/destinations.js +170 -0
  114. package/dist/src/server/api/destinations.js.map +1 -0
  115. package/dist/src/server/api/functions.d.ts +7 -0
  116. package/dist/src/server/api/functions.js +80 -0
  117. package/dist/src/server/api/functions.js.map +1 -0
  118. package/dist/src/server/api/jobs.d.ts +10 -0
  119. package/dist/src/server/api/jobs.js +244 -0
  120. package/dist/src/server/api/jobs.js.map +1 -0
  121. package/dist/src/server/api/settings.d.ts +6 -0
  122. package/dist/src/server/api/settings.js +116 -0
  123. package/dist/src/server/api/settings.js.map +1 -0
  124. package/dist/src/server/api/sources.d.ts +7 -0
  125. package/dist/src/server/api/sources.js +382 -0
  126. package/dist/src/server/api/sources.js.map +1 -0
  127. package/dist/src/server/api/stores.d.ts +2 -0
  128. package/dist/src/server/api/stores.js +341 -0
  129. package/dist/src/server/api/stores.js.map +1 -0
  130. package/dist/src/server/api/v1.d.ts +10 -0
  131. package/dist/src/server/api/v1.js +718 -0
  132. package/dist/src/server/api/v1.js.map +1 -0
  133. package/dist/src/server/api.d.ts +8 -0
  134. package/dist/src/server/api.js +217 -0
  135. package/dist/src/server/api.js.map +1 -0
  136. package/dist/src/server/app-discovery.d.ts +5 -0
  137. package/dist/src/server/app-discovery.js +113 -0
  138. package/dist/src/server/app-discovery.js.map +1 -0
  139. package/dist/src/server/config.d.ts +26 -0
  140. package/dist/src/server/config.js +112 -0
  141. package/dist/src/server/config.js.map +1 -0
  142. package/dist/src/server/mockDataGenerator.d.ts +1 -0
  143. package/dist/src/server/mockDataGenerator.js +154 -0
  144. package/dist/src/server/mockDataGenerator.js.map +1 -0
  145. package/dist/src/server/websocket.d.ts +0 -0
  146. package/dist/src/server/websocket.js +2 -0
  147. package/dist/src/server/websocket.js.map +1 -0
  148. package/dist/src/server.d.ts +2 -0
  149. package/dist/src/server.js +735 -0
  150. package/dist/src/server.js.map +1 -0
  151. package/dist/src/types/app.d.ts +154 -0
  152. package/dist/src/types/app.js +24 -0
  153. package/dist/src/types/app.js.map +1 -0
  154. package/dist/src/types/kvstore.d.ts +320 -0
  155. package/dist/src/types/kvstore.js +5 -0
  156. package/dist/src/types/kvstore.js.map +1 -0
  157. package/dist/src/ui/components/App.d.ts +6 -0
  158. package/dist/src/ui/components/App.js +432 -0
  159. package/dist/src/ui/components/App.js.map +1 -0
  160. package/dist/src/ui/components/DestinationBatchEditor.d.ts +7 -0
  161. package/dist/src/ui/components/DestinationBatchEditor.js +160 -0
  162. package/dist/src/ui/components/DestinationBatchEditor.js.map +1 -0
  163. package/dist/src/ui/components/DestinationSchemaViewer.d.ts +7 -0
  164. package/dist/src/ui/components/DestinationSchemaViewer.js +61 -0
  165. package/dist/src/ui/components/DestinationSchemaViewer.js.map +1 -0
  166. package/dist/src/ui/components/DestinationsView.d.ts +14 -0
  167. package/dist/src/ui/components/DestinationsView.js +68 -0
  168. package/dist/src/ui/components/DestinationsView.js.map +1 -0
  169. package/dist/src/ui/components/FunctionsView.d.ts +13 -0
  170. package/dist/src/ui/components/FunctionsView.js +288 -0
  171. package/dist/src/ui/components/FunctionsView.js.map +1 -0
  172. package/dist/src/ui/components/JobsView.d.ts +13 -0
  173. package/dist/src/ui/components/JobsView.js +320 -0
  174. package/dist/src/ui/components/JobsView.js.map +1 -0
  175. package/dist/src/ui/components/KVStoreViewer.d.ts +11 -0
  176. package/dist/src/ui/components/KVStoreViewer.js +168 -0
  177. package/dist/src/ui/components/KVStoreViewer.js.map +1 -0
  178. package/dist/src/ui/components/MetadataModal.d.ts +14 -0
  179. package/dist/src/ui/components/MetadataModal.js +28 -0
  180. package/dist/src/ui/components/MetadataModal.js.map +1 -0
  181. package/dist/src/ui/components/MetadataModal.test.d.ts +1 -0
  182. package/dist/src/ui/components/MetadataModal.test.js +143 -0
  183. package/dist/src/ui/components/MetadataModal.test.js.map +1 -0
  184. package/dist/src/ui/components/NotificationViewer.d.ts +16 -0
  185. package/dist/src/ui/components/NotificationViewer.js +69 -0
  186. package/dist/src/ui/components/NotificationViewer.js.map +1 -0
  187. package/dist/src/ui/components/SecretsStoreViewer.d.ts +11 -0
  188. package/dist/src/ui/components/SecretsStoreViewer.js +179 -0
  189. package/dist/src/ui/components/SecretsStoreViewer.js.map +1 -0
  190. package/dist/src/ui/components/SettingsStoreViewer.d.ts +24 -0
  191. package/dist/src/ui/components/SettingsStoreViewer.js +132 -0
  192. package/dist/src/ui/components/SettingsStoreViewer.js.map +1 -0
  193. package/dist/src/ui/components/SourceDataViewer.d.ts +8 -0
  194. package/dist/src/ui/components/SourceDataViewer.js +84 -0
  195. package/dist/src/ui/components/SourceDataViewer.js.map +1 -0
  196. package/dist/src/ui/components/SourceJobsSection.d.ts +8 -0
  197. package/dist/src/ui/components/SourceJobsSection.js +99 -0
  198. package/dist/src/ui/components/SourceJobsSection.js.map +1 -0
  199. package/dist/src/ui/components/SourceLifecycleSection.d.ts +7 -0
  200. package/dist/src/ui/components/SourceLifecycleSection.js +58 -0
  201. package/dist/src/ui/components/SourceLifecycleSection.js.map +1 -0
  202. package/dist/src/ui/components/SourceSchemaViewer.d.ts +7 -0
  203. package/dist/src/ui/components/SourceSchemaViewer.js +65 -0
  204. package/dist/src/ui/components/SourceSchemaViewer.js.map +1 -0
  205. package/dist/src/ui/components/SourceWebhookEditor.d.ts +8 -0
  206. package/dist/src/ui/components/SourceWebhookEditor.js +181 -0
  207. package/dist/src/ui/components/SourceWebhookEditor.js.map +1 -0
  208. package/dist/src/ui/components/SourcesView.d.ts +14 -0
  209. package/dist/src/ui/components/SourcesView.js +74 -0
  210. package/dist/src/ui/components/SourcesView.js.map +1 -0
  211. package/dist/src/ui/components/StoreViewer.d.ts +16 -0
  212. package/dist/src/ui/components/StoreViewer.js +86 -0
  213. package/dist/src/ui/components/StoreViewer.js.map +1 -0
  214. package/dist/src/ui/components/TabbedConsole.d.ts +17 -0
  215. package/dist/src/ui/components/TabbedConsole.js +163 -0
  216. package/dist/src/ui/components/TabbedConsole.js.map +1 -0
  217. package/dist/src/ui/components/common/DataTree.d.ts +15 -0
  218. package/dist/src/ui/components/common/DataTree.js +95 -0
  219. package/dist/src/ui/components/common/DataTree.js.map +1 -0
  220. package/dist/src/ui/components/common/EyeIcon.d.ts +11 -0
  221. package/dist/src/ui/components/common/EyeIcon.js +11 -0
  222. package/dist/src/ui/components/common/EyeIcon.js.map +1 -0
  223. package/dist/src/ui/hooks/useEntityNavigation.d.ts +72 -0
  224. package/dist/src/ui/hooks/useEntityNavigation.js +150 -0
  225. package/dist/src/ui/hooks/useEntityNavigation.js.map +1 -0
  226. package/dist/src/ui/hooks/useQueryParams.d.ts +6 -0
  227. package/dist/src/ui/hooks/useQueryParams.js +39 -0
  228. package/dist/src/ui/hooks/useQueryParams.js.map +1 -0
  229. package/dist/src/ui/index.d.ts +1 -0
  230. package/dist/src/ui/index.js +23 -0
  231. package/dist/src/ui/index.js.map +1 -0
  232. package/dist/src/ui/store/formStateSlice.d.ts +54 -0
  233. package/dist/src/ui/store/formStateSlice.js +94 -0
  234. package/dist/src/ui/store/formStateSlice.js.map +1 -0
  235. package/dist/src/ui/store/hooks.d.ts +6 -0
  236. package/dist/src/ui/store/hooks.js +8 -0
  237. package/dist/src/ui/store/hooks.js.map +1 -0
  238. package/dist/src/ui/store/index.d.ts +11 -0
  239. package/dist/src/ui/store/index.js +107 -0
  240. package/dist/src/ui/store/index.js.map +1 -0
  241. package/dist/src/utils/functionEndpoints.d.ts +24 -0
  242. package/dist/src/utils/functionEndpoints.js +45 -0
  243. package/dist/src/utils/functionEndpoints.js.map +1 -0
  244. package/package.json +112 -0
@@ -0,0 +1,83 @@
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
+ exports.SourceDataStore = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const fs_1 = __importDefault(require("fs"));
9
+ class SourceDataStore {
10
+ constructor(appRootDir) {
11
+ this.maxEntries = 50;
12
+ this.storageDir = path_1.default.join(appRootDir, 'storage', 'source-data');
13
+ this.ensureStorageDir();
14
+ }
15
+ ensureStorageDir() {
16
+ if (!fs_1.default.existsSync(this.storageDir)) {
17
+ fs_1.default.mkdirSync(this.storageDir, { recursive: true });
18
+ }
19
+ }
20
+ getFilePath(sourceId) {
21
+ return path_1.default.join(this.storageDir, `${sourceId}.json`);
22
+ }
23
+ readFile(sourceId) {
24
+ const filePath = this.getFilePath(sourceId);
25
+ if (!fs_1.default.existsSync(filePath)) {
26
+ return { sourceId, entries: [] };
27
+ }
28
+ const content = fs_1.default.readFileSync(filePath, 'utf-8');
29
+ return JSON.parse(content);
30
+ }
31
+ writeFile(data) {
32
+ const filePath = this.getFilePath(data.sourceId);
33
+ fs_1.default.writeFileSync(filePath, JSON.stringify(data, null, 2));
34
+ }
35
+ push(sourceId, data, context, metadata) {
36
+ const file = this.readFile(sourceId);
37
+ // Add new entry
38
+ file.entries.push({
39
+ timestamp: Date.now(),
40
+ data,
41
+ context,
42
+ metadata
43
+ });
44
+ // Prune to keep only last maxEntries per context
45
+ const webhookEntries = file.entries.filter(e => e.context === 'webhook');
46
+ const jobEntries = file.entries.filter(e => e.context === 'job');
47
+ // Keep last maxEntries for each context
48
+ const prunedWebhook = webhookEntries.slice(-this.maxEntries);
49
+ const prunedJob = jobEntries.slice(-this.maxEntries);
50
+ // Merge and sort by timestamp
51
+ file.entries = [...prunedWebhook, ...prunedJob].sort((a, b) => a.timestamp - b.timestamp);
52
+ this.writeFile(file);
53
+ }
54
+ getData(sourceId, context, limit) {
55
+ const file = this.readFile(sourceId);
56
+ let entries = file.entries;
57
+ // Filter by context if specified
58
+ if (context) {
59
+ entries = entries.filter(e => e.context === context);
60
+ }
61
+ if (limit && limit > 0) {
62
+ return entries.slice(-limit);
63
+ }
64
+ return entries;
65
+ }
66
+ clear(sourceId, context) {
67
+ if (!context) {
68
+ // Clear all data
69
+ const filePath = this.getFilePath(sourceId);
70
+ if (fs_1.default.existsSync(filePath)) {
71
+ fs_1.default.unlinkSync(filePath);
72
+ }
73
+ }
74
+ else {
75
+ // Clear only specific context
76
+ const file = this.readFile(sourceId);
77
+ file.entries = file.entries.filter(e => e.context !== context);
78
+ this.writeFile(file);
79
+ }
80
+ }
81
+ }
82
+ exports.SourceDataStore = SourceDataStore;
83
+ //# sourceMappingURL=SourceDataStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceDataStore.js","sourceRoot":"","sources":["../../../../src/local_engine/storage/SourceDataStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ export interface SourceJobExecution {
2
+ jobId: string;
3
+ timestamp: number;
4
+ success: boolean;
5
+ logs: string[];
6
+ executionTime: number;
7
+ error?: string;
8
+ result?: any;
9
+ }
10
+ export interface SourceJobExecutionFile {
11
+ sourceId: string;
12
+ executions: SourceJobExecution[];
13
+ }
14
+ export declare class SourceJobExecutionStore {
15
+ private storageDir;
16
+ private maxExecutions;
17
+ constructor(appRootDir: string);
18
+ private ensureStorageDir;
19
+ private getFilePath;
20
+ private readFile;
21
+ private writeFile;
22
+ addExecution(sourceId: string, execution: SourceJobExecution): void;
23
+ getExecutions(sourceId: string, jobId?: string): SourceJobExecution[];
24
+ clear(sourceId: string): void;
25
+ }
@@ -0,0 +1,61 @@
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
+ exports.SourceJobExecutionStore = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const fs_1 = __importDefault(require("fs"));
9
+ class SourceJobExecutionStore {
10
+ constructor(appRootDir) {
11
+ this.maxExecutions = 100;
12
+ this.storageDir = path_1.default.join(appRootDir, 'storage', 'source-job-executions');
13
+ this.ensureStorageDir();
14
+ }
15
+ ensureStorageDir() {
16
+ if (!fs_1.default.existsSync(this.storageDir)) {
17
+ fs_1.default.mkdirSync(this.storageDir, { recursive: true });
18
+ }
19
+ }
20
+ getFilePath(sourceId) {
21
+ return path_1.default.join(this.storageDir, `${sourceId}.json`);
22
+ }
23
+ readFile(sourceId) {
24
+ const filePath = this.getFilePath(sourceId);
25
+ if (!fs_1.default.existsSync(filePath)) {
26
+ return { sourceId, executions: [] };
27
+ }
28
+ const content = fs_1.default.readFileSync(filePath, 'utf-8');
29
+ return JSON.parse(content);
30
+ }
31
+ writeFile(data) {
32
+ const filePath = this.getFilePath(data.sourceId);
33
+ fs_1.default.writeFileSync(filePath, JSON.stringify(data, null, 2));
34
+ }
35
+ addExecution(sourceId, execution) {
36
+ const file = this.readFile(sourceId);
37
+ file.executions.push(execution);
38
+ // Prune to keep only last maxExecutions
39
+ if (file.executions.length > this.maxExecutions) {
40
+ file.executions = file.executions.slice(-this.maxExecutions);
41
+ }
42
+ this.writeFile(file);
43
+ }
44
+ getExecutions(sourceId, jobId) {
45
+ const file = this.readFile(sourceId);
46
+ let executions = file.executions;
47
+ if (jobId) {
48
+ executions = executions.filter(e => e.jobId === jobId);
49
+ }
50
+ // Return in reverse chronological order (most recent first)
51
+ return executions.reverse();
52
+ }
53
+ clear(sourceId) {
54
+ const filePath = this.getFilePath(sourceId);
55
+ if (fs_1.default.existsSync(filePath)) {
56
+ fs_1.default.unlinkSync(filePath);
57
+ }
58
+ }
59
+ }
60
+ exports.SourceJobExecutionStore = SourceJobExecutionStore;
61
+ //# sourceMappingURL=SourceJobExecutionStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceJobExecutionStore.js","sourceRoot":"","sources":["../../../../src/local_engine/storage/SourceJobExecutionStore.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,4CAAoB;AAiBpB,MAAa,uBAAuB;IAIlC,YAAY,UAAkB;QAFtB,kBAAa,GAAW,GAAG,CAAC;QAGlC,IAAI,CAAC,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,uBAAuB,CAAC,CAAC;QAC5E,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACpC,YAAE,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,QAAgB;QAClC,OAAO,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;IACxD,CAAC;IAEO,QAAQ,CAAC,QAAgB;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QACtC,CAAC;QACD,MAAM,OAAO,GAAG,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAEO,SAAS,CAAC,IAA4B;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjD,YAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,YAAY,CAAC,QAAgB,EAAE,SAA6B;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAErC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhC,wCAAwC;QACxC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAChD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,aAAa,CAAC,QAAgB,EAAE,KAAc;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAErC,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAEjC,IAAI,KAAK,EAAE,CAAC;YACV,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QACzD,CAAC;QAED,4DAA4D;QAC5D,OAAO,UAAU,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,QAAgB;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;CACF;AAjED,0DAiEC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * StringSet - A Set implementation specifically for strings
3
+ * Extends the built-in Set class to provide type-safe operations for string values
4
+ */
5
+ export declare class StringSet extends Set<string> {
6
+ constructor(values?: Iterable<string>);
7
+ /**
8
+ * Convert to JSON representation for serialization
9
+ */
10
+ toJSON(): {
11
+ _type: string;
12
+ values: string[];
13
+ };
14
+ /**
15
+ * Create StringSet from JSON representation
16
+ */
17
+ static fromJSON(json: {
18
+ _type: string;
19
+ values: string[];
20
+ }): StringSet;
21
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StringSet = void 0;
4
+ /**
5
+ * StringSet - A Set implementation specifically for strings
6
+ * Extends the built-in Set class to provide type-safe operations for string values
7
+ */
8
+ class StringSet extends Set {
9
+ constructor(values) {
10
+ super(values);
11
+ }
12
+ /**
13
+ * Convert to JSON representation for serialization
14
+ */
15
+ toJSON() {
16
+ return {
17
+ _type: 'StringSet',
18
+ values: Array.from(this)
19
+ };
20
+ }
21
+ /**
22
+ * Create StringSet from JSON representation
23
+ */
24
+ static fromJSON(json) {
25
+ if (json._type !== 'StringSet') {
26
+ throw new Error('Invalid StringSet JSON representation');
27
+ }
28
+ return new StringSet(json.values);
29
+ }
30
+ }
31
+ exports.StringSet = StringSet;
32
+ //# sourceMappingURL=StringSet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringSet.js","sourceRoot":"","sources":["../../../../src/local_engine/storage/StringSet.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,MAAa,SAAU,SAAQ,GAAW;IACxC,YAAY,MAAyB;QACnC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO;YACL,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;SACzB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAyC;QACvD,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;CACF;AAxBD,8BAwBC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Type definitions for wrapper script communication
3
+ */
4
+ export interface FunctionExecutionRequest {
5
+ functionId: string;
6
+ method: string;
7
+ fullpath: string;
8
+ path: string;
9
+ params: Record<string, any>;
10
+ headers: [string, string][];
11
+ body: any;
12
+ }
13
+ export interface FunctionExecutionResponse {
14
+ success: boolean;
15
+ status?: number;
16
+ headers?: [string, string][];
17
+ body?: any;
18
+ logs: string[];
19
+ error?: string;
20
+ stack?: string;
21
+ }
22
+ export interface LifecycleExecutionRequest {
23
+ method: string;
24
+ params?: any;
25
+ scriptPath: string;
26
+ appDir: string;
27
+ }
28
+ export interface LifecycleExecutionResponse {
29
+ success: boolean;
30
+ logs: string[];
31
+ error?: string;
32
+ stack?: string;
33
+ result?: any;
34
+ }
35
+ export interface AppConfig {
36
+ manifest: any;
37
+ path: string;
38
+ isBuilt: boolean;
39
+ isValid: boolean;
40
+ baseUrl?: string;
41
+ }
42
+ export interface WrapperInput {
43
+ appConfig: AppConfig;
44
+ appDir: string;
45
+ request: FunctionExecutionRequest | LifecycleExecutionRequest;
46
+ }
47
+ export interface WrapperOutput {
48
+ success: boolean;
49
+ result?: any;
50
+ error?: string;
51
+ stack?: string;
52
+ logs?: string[];
53
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Type definitions for wrapper script communication
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/local_engine/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1,33 @@
1
+ export interface SDKComponents {
2
+ App: any;
3
+ initializeStores: any;
4
+ LogLevel: any;
5
+ setNotifier: any;
6
+ initializeFunctionApi?: any;
7
+ Runtime: any;
8
+ Request: any;
9
+ }
10
+ /**
11
+ * Dynamically load the SDK from the app's node_modules
12
+ */
13
+ export declare function loadAppSDK(appPath: string): SDKComponents;
14
+ /**
15
+ * Find the correct function file path using entry_point from manifest
16
+ */
17
+ export declare function findFunctionFile(appDir: string, functionId: string, manifest: any): string;
18
+ /**
19
+ * Find the Function class export from a module
20
+ */
21
+ export declare function findFunctionClass(functionModule: any): any;
22
+ /**
23
+ * Find the Lifecycle class export from a module
24
+ */
25
+ export declare function findLifecycleClass(lifecycleModule: any): any;
26
+ /**
27
+ * Parse command line arguments into structured input
28
+ */
29
+ export declare function parseWrapperArgs(): any;
30
+ /**
31
+ * Output result in the expected format for the parent process
32
+ */
33
+ export declare function outputResult(result: any): void;
@@ -0,0 +1,143 @@
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
+ exports.loadAppSDK = loadAppSDK;
7
+ exports.findFunctionFile = findFunctionFile;
8
+ exports.findFunctionClass = findFunctionClass;
9
+ exports.findLifecycleClass = findLifecycleClass;
10
+ exports.parseWrapperArgs = parseWrapperArgs;
11
+ exports.outputResult = outputResult;
12
+ /**
13
+ * Shared utilities for wrapper scripts
14
+ */
15
+ const path_1 = __importDefault(require("path"));
16
+ const fs_1 = __importDefault(require("fs"));
17
+ const LogManager_1 = require("../logging/LogManager");
18
+ const logManager = LogManager_1.LogManager.getInstance();
19
+ /**
20
+ * Dynamically load the SDK from the app's node_modules
21
+ */
22
+ function loadAppSDK(appPath) {
23
+ const appSdkPath = path_1.default.join(appPath, 'node_modules', '@zaiusinc/app-sdk');
24
+ try {
25
+ const App = require(appSdkPath);
26
+ const { initializeStores, LogLevel, setNotifier, initializeFunctionApi, Runtime, Request } = require(appSdkPath);
27
+ return {
28
+ App,
29
+ initializeStores,
30
+ LogLevel,
31
+ setNotifier,
32
+ initializeFunctionApi,
33
+ Runtime,
34
+ Request
35
+ };
36
+ }
37
+ catch (error) {
38
+ throw new Error(`Failed to load SDK from ${appSdkPath}: ${error.message}`);
39
+ }
40
+ }
41
+ /**
42
+ * Find the correct function file path using entry_point from manifest
43
+ */
44
+ function findFunctionFile(appDir, functionId, manifest) {
45
+ const functions = manifest.functions || {};
46
+ const functionDef = functions[functionId];
47
+ if (!functionDef) {
48
+ throw new Error(`Function '${functionId}' not found in app manifest`);
49
+ }
50
+ if (!functionDef.entry_point) {
51
+ throw new Error(`Function '${functionId}' does not have entry_point defined in manifest`);
52
+ }
53
+ const functionPath = path_1.default.join(appDir, "dist", "functions", `${functionDef.entry_point}.js`);
54
+ if (!fs_1.default.existsSync(functionPath)) {
55
+ throw new Error(`Function file not found: ${functionPath}. Make sure the app is built and the entry_point '${functionDef.entry_point}' matches the compiled file name.`);
56
+ }
57
+ return functionPath;
58
+ }
59
+ /**
60
+ * Find the Function class export from a module
61
+ */
62
+ function findFunctionClass(functionModule) {
63
+ // Look for the Function class - it could be default export or named export
64
+ let FunctionClass = functionModule.default || functionModule[Object.keys(functionModule)[0]];
65
+ if (!FunctionClass) {
66
+ // Try to find a class that looks like a function class
67
+ for (const key in functionModule) {
68
+ if (typeof functionModule[key] === 'function') {
69
+ FunctionClass = functionModule[key];
70
+ break;
71
+ }
72
+ }
73
+ }
74
+ if (!FunctionClass || typeof FunctionClass !== 'function') {
75
+ throw new Error(`Function class not found in module. Available exports: ${Object.keys(functionModule).join(', ')}`);
76
+ }
77
+ return FunctionClass;
78
+ }
79
+ /**
80
+ * Find the Lifecycle class export from a module
81
+ */
82
+ function findLifecycleClass(lifecycleModule) {
83
+ // Look for the Lifecycle class - it could be default export or named export
84
+ let LifecycleClass = lifecycleModule.Lifecycle || lifecycleModule.default;
85
+ if (!LifecycleClass) {
86
+ // If not found, try to find any class that looks like a lifecycle class
87
+ for (const key in lifecycleModule) {
88
+ if (typeof lifecycleModule[key] === 'function' && key.toLowerCase().includes('lifecycle')) {
89
+ LifecycleClass = lifecycleModule[key];
90
+ break;
91
+ }
92
+ }
93
+ }
94
+ if (!LifecycleClass || typeof LifecycleClass !== 'function') {
95
+ throw new Error(`Lifecycle class not found in module. Available exports: ${Object.keys(lifecycleModule).join(', ')}`);
96
+ }
97
+ return LifecycleClass;
98
+ }
99
+ /**
100
+ * Parse command line arguments into structured input
101
+ */
102
+ function parseWrapperArgs() {
103
+ const args = process.argv.slice(2);
104
+ if (args.length === 0) {
105
+ throw new Error('No input provided to wrapper script');
106
+ }
107
+ try {
108
+ return JSON.parse(args[0]);
109
+ }
110
+ catch (error) {
111
+ throw new Error(`Failed to parse wrapper input: ${error}`);
112
+ }
113
+ }
114
+ /**
115
+ * Output result in the expected format for the parent process
116
+ */
117
+ function outputResult(result) {
118
+ if (result.success) {
119
+ logManager.info(LogManager_1.LogSource.System, LogManager_1.LogCategory.AppRunner, 'SUCCESS', {
120
+ id: 'utils',
121
+ operation: 'output'
122
+ });
123
+ logManager.info(LogManager_1.LogSource.System, LogManager_1.LogCategory.AppRunner, `RESULT: ${JSON.stringify(result.result || null)}`, {
124
+ id: 'utils',
125
+ operation: 'output'
126
+ });
127
+ }
128
+ else {
129
+ logManager.error(LogManager_1.LogSource.System, LogManager_1.LogCategory.AppRunner, `FAILED: ${result.error || 'Unknown error'}`, {
130
+ id: 'utils',
131
+ operation: 'output',
132
+ error: result.error
133
+ });
134
+ if (result.stack) {
135
+ logManager.error(LogManager_1.LogSource.System, LogManager_1.LogCategory.AppRunner, `STACK: ${result.stack}`, {
136
+ id: 'utils',
137
+ operation: 'output',
138
+ stack: result.stack
139
+ });
140
+ }
141
+ }
142
+ }
143
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/local_engine/utils.ts"],"names":[],"mappings":";;;;;AAsBA,gCAmBC;AAKD,4CAmBC;AAKD,8CAmBC;AAKD,gDAmBC;AAKD,4CAYC;AAKD,oCAwBC;AA/JD;;GAEG;AACH,gDAAwB;AACxB,4CAAoB;AACpB,sDAA2E;AAE3E,MAAM,UAAU,GAAG,uBAAU,CAAC,WAAW,EAAE,CAAC;AAY5C;;GAEG;AACH,SAAgB,UAAU,CAAC,OAAe;IACxC,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,mBAAmB,CAAC,CAAC;IAE3E,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAChC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAEjH,OAAO;YACL,GAAG;YACH,gBAAgB;YAChB,QAAQ;YACR,WAAW;YACX,qBAAqB;YACrB,OAAO;YACP,OAAO;SACR,CAAC;IACJ,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,2BAA2B,UAAU,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,MAAc,EAAE,UAAkB,EAAE,QAAa;IAChF,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;IAC3C,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAE1C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,aAAa,UAAU,6BAA6B,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,aAAa,UAAU,iDAAiD,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC,WAAW,KAAK,CAAC,CAAC;IAE7F,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,qDAAqD,WAAW,CAAC,WAAW,mCAAmC,CAAC,CAAC;IAC3K,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,cAAmB;IACnD,2EAA2E;IAC3E,IAAI,aAAa,GAAG,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7F,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,uDAAuD;QACvD,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,IAAI,OAAO,cAAc,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC;gBAC9C,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,0DAA0D,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtH,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,eAAoB;IACrD,4EAA4E;IAC5E,IAAI,cAAc,GAAG,eAAe,CAAC,SAAS,IAAI,eAAe,CAAC,OAAO,CAAC;IAE1E,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,wEAAwE;QACxE,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YAClC,IAAI,OAAO,eAAe,CAAC,GAAG,CAAC,KAAK,UAAU,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC1F,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,cAAc,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,2DAA2D,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxH,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,MAAW;IACtC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,UAAU,CAAC,IAAI,CAAC,sBAAS,CAAC,MAAM,EAAE,wBAAW,CAAC,SAAS,EAAE,SAAS,EAAE;YAClE,EAAE,EAAE,OAAO;YACX,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;QACH,UAAU,CAAC,IAAI,CAAC,sBAAS,CAAC,MAAM,EAAE,wBAAW,CAAC,SAAS,EAAE,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,EAAE;YAC3G,EAAE,EAAE,OAAO;YACX,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,KAAK,CAAC,sBAAS,CAAC,MAAM,EAAE,wBAAW,CAAC,SAAS,EAAE,WAAW,MAAM,CAAC,KAAK,IAAI,eAAe,EAAE,EAAE;YACtG,EAAE,EAAE,OAAO;YACX,SAAS,EAAE,QAAQ;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,UAAU,CAAC,KAAK,CAAC,sBAAS,CAAC,MAAM,EAAE,wBAAW,CAAC,SAAS,EAAE,UAAU,MAAM,CAAC,KAAK,EAAE,EAAE;gBAClF,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,QAAQ;gBACnB,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC"}