@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,153 @@
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.LifecycleExecutor = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const local_engine_client_1 = require("../local_engine/local-engine-client");
9
+ /**
10
+ * Executes lifecycle methods of an OCP app
11
+ */
12
+ class LifecycleExecutor {
13
+ constructor(appDir, app, settingsStore, configStore) {
14
+ this.appDir = appDir;
15
+ this.app = app;
16
+ this.settingsStore = settingsStore;
17
+ this.configStore = configStore;
18
+ this.localEngineClient = new local_engine_client_1.LocalEngineClient();
19
+ }
20
+ /**
21
+ * Execute the onInstall lifecycle method
22
+ */
23
+ async executeInstall() {
24
+ return this.executeLifecycleMethod("onInstall");
25
+ }
26
+ /**
27
+ * Execute the onUninstall lifecycle method
28
+ */
29
+ async executeUninstall() {
30
+ return this.executeLifecycleMethod("onUninstall");
31
+ }
32
+ /**
33
+ * Execute the canUninstall lifecycle method
34
+ */
35
+ async executeCanUninstall() {
36
+ return this.executeLifecycleMethod("canUninstall");
37
+ }
38
+ /**
39
+ * Execute the onUpgrade lifecycle method
40
+ */
41
+ async executeUpgrade(fromVersion) {
42
+ return this.executeLifecycleMethod("onUpgrade", { fromVersion });
43
+ }
44
+ /**
45
+ * Execute the onSettingsForm lifecycle method
46
+ */
47
+ async executeSettingsForm(page, action, formData) {
48
+ return this.executeLifecycleMethod("onSettingsForm", {
49
+ page,
50
+ action,
51
+ formData,
52
+ });
53
+ }
54
+ /**
55
+ * Execute a lifecycle method by running it in the app's built environment
56
+ */
57
+ async executeLifecycleMethod(method, params) {
58
+ const startTime = Date.now();
59
+ const logs = [];
60
+ try {
61
+ // Check if lifecycle file exists
62
+ const lifecyclePath = path_1.default.join(this.appDir, "src", "lifecycle", "Lifecycle.ts");
63
+ const distLifecyclePath = path_1.default.join(this.appDir, "dist", "lifecycle", "Lifecycle.js");
64
+ // Try to execute the built lifecycle file if it exists
65
+ const executionResult = await this.executeLifecycleScript(method, params, distLifecyclePath);
66
+ const executionTime = Date.now() - startTime;
67
+ if (executionResult.success) {
68
+ logs.push(`${method} lifecycle hook started`);
69
+ logs.push(...executionResult.logs);
70
+ logs.push(`${method} lifecycle hook completed successfully`);
71
+ return {
72
+ success: true,
73
+ logs,
74
+ executionTime,
75
+ result: executionResult.result,
76
+ };
77
+ }
78
+ else {
79
+ logs.push(`${method} lifecycle hook started`);
80
+ logs.push(...executionResult.logs);
81
+ logs.push(`${method} lifecycle hook failed: ${executionResult.error}`);
82
+ return {
83
+ success: false,
84
+ logs,
85
+ error: {
86
+ message: executionResult.error || "Lifecycle method execution failed",
87
+ stack: executionResult.stack,
88
+ },
89
+ executionTime,
90
+ };
91
+ }
92
+ }
93
+ catch (error) {
94
+ const executionTime = Date.now() - startTime;
95
+ const errorMessage = error instanceof Error ? error.message : String(error);
96
+ logs.push(`${method} lifecycle hook started`);
97
+ logs.push(`Error executing ${method}: ${errorMessage}`);
98
+ return {
99
+ success: false,
100
+ logs,
101
+ error: {
102
+ message: errorMessage,
103
+ stack: error instanceof Error ? error.stack : undefined,
104
+ },
105
+ executionTime,
106
+ };
107
+ }
108
+ }
109
+ /**
110
+ * Execute the lifecycle script using IPC
111
+ */
112
+ async executeLifecycleScript(method, params = {}, scriptPath) {
113
+ try {
114
+ // Convert request to IPC format
115
+ const ipcRequest = {
116
+ method,
117
+ params,
118
+ scriptPath,
119
+ appDir: this.appDir
120
+ };
121
+ // Prepare app config for IPC
122
+ const appConfig = {
123
+ manifest: this.app.manifest,
124
+ path: this.appDir,
125
+ isBuilt: true,
126
+ isValid: true
127
+ };
128
+ // Execute via IPC
129
+ const result = await this.localEngineClient.executeLifecycle(ipcRequest, appConfig, this.appDir);
130
+ return {
131
+ success: result.success || true,
132
+ logs: [],
133
+ result: result.result
134
+ };
135
+ }
136
+ catch (error) {
137
+ return {
138
+ success: false,
139
+ logs: [],
140
+ error: error.message,
141
+ stack: error.stack
142
+ };
143
+ }
144
+ }
145
+ /**
146
+ * Cleanup IPC connections when executor is destroyed
147
+ */
148
+ async cleanup() {
149
+ await this.localEngineClient.closeAllConnections();
150
+ }
151
+ }
152
+ exports.LifecycleExecutor = LifecycleExecutor;
153
+ //# sourceMappingURL=LifecycleExecutor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LifecycleExecutor.js","sourceRoot":"","sources":["../../../src/executor/LifecycleExecutor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /// <reference types="node" />
2
+ import { EventEmitter } from 'events';
3
+ /**
4
+ * Watches for file changes in an OCP app and triggers rebuilds
5
+ */
6
+ export declare class AppWatcher extends EventEmitter {
7
+ private watcher;
8
+ private buildInProgress;
9
+ private appDir;
10
+ private buildCommand;
11
+ private lastBuildSuccess;
12
+ private lastBuildTimestamp;
13
+ private lastBuildError;
14
+ private buildLogs;
15
+ /**
16
+ * Creates a new file watcher for the specified app directory
17
+ */
18
+ constructor(appDir: string);
19
+ /**
20
+ * Start watching for file changes
21
+ */
22
+ start(): void;
23
+ /**
24
+ * Stop watching for file changes
25
+ */
26
+ stop(): void;
27
+ /**
28
+ * Handle a file change event
29
+ */
30
+ private handleFileChange;
31
+ /**
32
+ * Build the app using the configured build command
33
+ */
34
+ private buildApp;
35
+ /**
36
+ * Trigger a manual build of the app
37
+ */
38
+ triggerBuild(): Promise<void>;
39
+ /**
40
+ * Returns whether a build is currently in progress
41
+ */
42
+ isBuildInProgress(): boolean;
43
+ /**
44
+ * Returns whether the last build was successful
45
+ */
46
+ getLastBuildSuccess(): boolean | null;
47
+ /**
48
+ * Returns the timestamp of the last build
49
+ */
50
+ getLastBuildTimestamp(): string | null;
51
+ /**
52
+ * Returns the error message from the last failed build
53
+ */
54
+ getLastBuildError(): string | null;
55
+ /**
56
+ * Returns the most recent build logs
57
+ */
58
+ getBuildLogs(limit?: number): Array<{
59
+ type: 'stdout' | 'stderr';
60
+ data: string;
61
+ timestamp: string;
62
+ }>;
63
+ }
@@ -0,0 +1,213 @@
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.AppWatcher = void 0;
7
+ const chokidar_1 = __importDefault(require("chokidar"));
8
+ const child_process_1 = require("child_process");
9
+ const path_1 = __importDefault(require("path"));
10
+ const events_1 = require("events");
11
+ const config_1 = require("../server/config");
12
+ const LogManager_1 = require("../logging/LogManager");
13
+ /**
14
+ * Watches for file changes in an OCP app and triggers rebuilds
15
+ */
16
+ class AppWatcher extends events_1.EventEmitter {
17
+ /**
18
+ * Creates a new file watcher for the specified app directory
19
+ */
20
+ constructor(appDir) {
21
+ super();
22
+ this.watcher = null;
23
+ this.buildInProgress = false;
24
+ this.lastBuildSuccess = null;
25
+ this.lastBuildTimestamp = null;
26
+ this.lastBuildError = null;
27
+ this.buildLogs = [];
28
+ this.appDir = appDir;
29
+ this.buildCommand = config_1.config.app.buildCommand;
30
+ }
31
+ /**
32
+ * Start watching for file changes
33
+ */
34
+ start() {
35
+ const watchPaths = config_1.config.app.watchPaths.map(pattern => path_1.default.join(this.appDir, pattern));
36
+ this.watcher = chokidar_1.default.watch(watchPaths, {
37
+ ignored: config_1.config.app.ignorePaths,
38
+ persistent: true,
39
+ ignoreInitial: true
40
+ });
41
+ this.watcher.on('change', (filePath) => {
42
+ this.handleFileChange(filePath);
43
+ });
44
+ this.watcher.on('add', (filePath) => {
45
+ this.handleFileChange(filePath);
46
+ });
47
+ this.watcher.on('unlink', (filePath) => {
48
+ this.handleFileChange(filePath);
49
+ });
50
+ console.log(`Watching for file changes in ${this.appDir}`);
51
+ }
52
+ /**
53
+ * Stop watching for file changes
54
+ */
55
+ stop() {
56
+ if (this.watcher) {
57
+ this.watcher.close();
58
+ this.watcher = null;
59
+ }
60
+ }
61
+ /**
62
+ * Handle a file change event
63
+ */
64
+ async handleFileChange(filePath) {
65
+ if (this.buildInProgress) {
66
+ return;
67
+ }
68
+ // Normalize path for logging
69
+ const relativePath = path_1.default.relative(this.appDir, filePath);
70
+ console.log(`File changed: ${relativePath}`);
71
+ this.buildInProgress = true;
72
+ // Use super.emit() to satisfy TypeScript
73
+ super.emit('buildStart', { file: relativePath });
74
+ const logManager = LogManager_1.LogManager.getInstance();
75
+ logManager.logBuildEvent('started', { file: relativePath });
76
+ try {
77
+ await this.buildApp();
78
+ this.lastBuildSuccess = true;
79
+ this.lastBuildTimestamp = new Date().toISOString();
80
+ this.lastBuildError = null;
81
+ logManager.logBuildEvent('success');
82
+ super.emit('buildSuccess');
83
+ }
84
+ catch (error) {
85
+ this.lastBuildSuccess = false;
86
+ this.lastBuildTimestamp = new Date().toISOString();
87
+ this.lastBuildError = error instanceof Error ? error.message : String(error);
88
+ logManager.logBuildEvent('error', {
89
+ error: this.lastBuildError,
90
+ file: relativePath
91
+ });
92
+ super.emit('buildError', error);
93
+ }
94
+ finally {
95
+ this.buildInProgress = false;
96
+ }
97
+ }
98
+ /**
99
+ * Build the app using the configured build command
100
+ */
101
+ buildApp() {
102
+ return new Promise((resolve, reject) => {
103
+ console.log(`Building app with command: ${this.buildCommand}`);
104
+ // Split the command into parts for spawn
105
+ const [command, ...args] = this.buildCommand.split(' ');
106
+ const buildProcess = (0, child_process_1.spawn)(command, args, {
107
+ cwd: this.appDir,
108
+ stdio: 'pipe',
109
+ shell: true
110
+ });
111
+ let stdout = '';
112
+ let stderr = '';
113
+ const logManager = LogManager_1.LogManager.getInstance();
114
+ buildProcess.stdout.on('data', (data) => {
115
+ const output = data.toString();
116
+ stdout += output;
117
+ const logEntry = {
118
+ type: 'stdout',
119
+ data: output,
120
+ timestamp: new Date().toISOString()
121
+ };
122
+ this.buildLogs.push(logEntry);
123
+ super.emit('buildLog', logEntry);
124
+ // Log to centralized logging system
125
+ logManager.logBuildOutput(output.trim());
126
+ });
127
+ buildProcess.stderr.on('data', (data) => {
128
+ const output = data.toString();
129
+ stderr += output;
130
+ const logEntry = {
131
+ type: 'stderr',
132
+ data: output,
133
+ timestamp: new Date().toISOString()
134
+ };
135
+ this.buildLogs.push(logEntry);
136
+ super.emit('buildLog', logEntry);
137
+ // Log to centralized logging system
138
+ logManager.logBuildOutput(output.trim(), true);
139
+ });
140
+ buildProcess.on('close', (code) => {
141
+ if (code === 0) {
142
+ console.log('Build completed successfully');
143
+ resolve();
144
+ }
145
+ else {
146
+ const error = new Error(`Build failed with exit code ${code}.\n${stderr}`);
147
+ console.error(error);
148
+ reject(error);
149
+ }
150
+ });
151
+ });
152
+ }
153
+ /**
154
+ * Trigger a manual build of the app
155
+ */
156
+ async triggerBuild() {
157
+ if (this.buildInProgress) {
158
+ throw new Error('Build already in progress');
159
+ }
160
+ this.buildInProgress = true;
161
+ super.emit('buildStart', { file: null });
162
+ try {
163
+ await this.buildApp();
164
+ this.lastBuildSuccess = true;
165
+ this.lastBuildTimestamp = new Date().toISOString();
166
+ this.lastBuildError = null;
167
+ super.emit('buildSuccess');
168
+ }
169
+ catch (error) {
170
+ this.lastBuildSuccess = false;
171
+ this.lastBuildTimestamp = new Date().toISOString();
172
+ this.lastBuildError = error instanceof Error ? error.message : String(error);
173
+ super.emit('buildError', error);
174
+ throw error;
175
+ }
176
+ finally {
177
+ this.buildInProgress = false;
178
+ }
179
+ }
180
+ /**
181
+ * Returns whether a build is currently in progress
182
+ */
183
+ isBuildInProgress() {
184
+ return this.buildInProgress;
185
+ }
186
+ /**
187
+ * Returns whether the last build was successful
188
+ */
189
+ getLastBuildSuccess() {
190
+ return this.lastBuildSuccess;
191
+ }
192
+ /**
193
+ * Returns the timestamp of the last build
194
+ */
195
+ getLastBuildTimestamp() {
196
+ return this.lastBuildTimestamp;
197
+ }
198
+ /**
199
+ * Returns the error message from the last failed build
200
+ */
201
+ getLastBuildError() {
202
+ return this.lastBuildError;
203
+ }
204
+ /**
205
+ * Returns the most recent build logs
206
+ */
207
+ getBuildLogs(limit = 100) {
208
+ // Return the most recent logs up to the limit
209
+ return this.buildLogs.slice(-limit);
210
+ }
211
+ }
212
+ exports.AppWatcher = AppWatcher;
213
+ //# sourceMappingURL=watcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../../src/executor/watcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ declare function _exports(context: any, request: any): Promise<{
2
+ message: string;
3
+ }>;
4
+ export = _exports;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ module.exports = async function (context, request) {
3
+ const name = request.query.name || 'World';
4
+ return {
5
+ message: `Hello, ${name}!`
6
+ };
7
+ };
8
+ //# sourceMappingURL=hello.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hello.js","sourceRoot":"","sources":["../../../src/functions/hello.js"],"names":[],"mappings":";AAAA,MAAM,CAAC,OAAO,GAAG,KAAK,WAAU,OAAO,EAAE,OAAO;IAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC;IAC3C,OAAO;QACL,OAAO,EAAE,UAAU,IAAI,GAAG;KAC3B,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export { startServer } from './server';
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.startServer = void 0;
4
+ // Export all components for external use
5
+ var server_1 = require("./server");
6
+ Object.defineProperty(exports, "startServer", { enumerable: true, get: function () { return server_1.startServer; } });
7
+ // CLI is the main entry point when installed globally
8
+ // It's not exported as it's meant to be run directly
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AACzC,mCAAuC;AAA9B,qGAAA,WAAW,OAAA;AAEpB,sDAAsD;AACtD,qDAAqD"}
@@ -0,0 +1,4 @@
1
+ declare function _exports(context: any): Promise<{
2
+ status: string;
3
+ }>;
4
+ export = _exports;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ module.exports = async function (context) {
3
+ context.logger.info('Daily job executed at ' + new Date().toISOString());
4
+ return {
5
+ status: 'success'
6
+ };
7
+ };
8
+ //# sourceMappingURL=dailyJob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dailyJob.js","sourceRoot":"","sources":["../../../src/jobs/dailyJob.js"],"names":[],"mappings":";AAAA,MAAM,CAAC,OAAO,GAAG,KAAK,WAAU,OAAO;IACrC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACzE,OAAO;QACL,MAAM,EAAE,SAAS;KAClB,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { Notifier } from "@zaiusinc/app-sdk";
2
+ export declare class LocalNotifier implements Notifier {
3
+ private notificationStore;
4
+ constructor(appRootDir?: string);
5
+ setInstallationId(installationId: string): void;
6
+ info(activity: string, title: string, summary: string, details?: string): Promise<void>;
7
+ success(activity: string, title: string, summary: string, details?: string): Promise<void>;
8
+ warn(activity: string, title: string, summary: string, details?: string): Promise<void>;
9
+ error(activity: string, title: string, summary: string, details?: string): Promise<void>;
10
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LocalNotifier = void 0;
4
+ const LocalNotificationStore_1 = require("./storage/LocalNotificationStore");
5
+ class LocalNotifier {
6
+ constructor(appRootDir) {
7
+ this.notificationStore = LocalNotificationStore_1.LocalNotificationStore.getInstance(appRootDir);
8
+ }
9
+ setInstallationId(installationId) {
10
+ this.notificationStore.setInstallationId(installationId);
11
+ }
12
+ async info(activity, title, summary, details) {
13
+ this.notificationStore.addNotification("info", activity, title, summary, details);
14
+ }
15
+ async success(activity, title, summary, details) {
16
+ this.notificationStore.addNotification("success", activity, title, summary, details);
17
+ }
18
+ async warn(activity, title, summary, details) {
19
+ this.notificationStore.addNotification("warn", activity, title, summary, details);
20
+ }
21
+ async error(activity, title, summary, details) {
22
+ this.notificationStore.addNotification("error", activity, title, summary, details);
23
+ }
24
+ }
25
+ exports.LocalNotifier = LocalNotifier;
26
+ //# sourceMappingURL=LocalNotifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalNotifier.js","sourceRoot":"","sources":["../../../src/local_engine/LocalNotifier.ts"],"names":[],"mappings":";;;AACA,6EAA0E;AAE1E,MAAa,aAAa;IAGxB,YAAY,UAAmB;QAC7B,IAAI,CAAC,iBAAiB,GAAG,+CAAsB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC1E,CAAC;IAEM,iBAAiB,CAAC,cAAsB;QAC7C,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,IAAI,CACR,QAAgB,EAChB,KAAa,EACb,OAAe,EACf,OAAgB;QAEhB,IAAI,CAAC,iBAAiB,CAAC,eAAe,CACpC,MAAM,EACN,QAAQ,EACR,KAAK,EACL,OAAO,EACP,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CACX,QAAgB,EAChB,KAAa,EACb,OAAe,EACf,OAAgB;QAEhB,IAAI,CAAC,iBAAiB,CAAC,eAAe,CACpC,SAAS,EACT,QAAQ,EACR,KAAK,EACL,OAAO,EACP,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CACR,QAAgB,EAChB,KAAa,EACb,OAAe,EACf,OAAgB;QAEhB,IAAI,CAAC,iBAAiB,CAAC,eAAe,CACpC,MAAM,EACN,QAAQ,EACR,KAAK,EACL,OAAO,EACP,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CACT,QAAgB,EAChB,KAAa,EACb,OAAe,EACf,OAAgB;QAEhB,IAAI,CAAC,iBAAiB,CAAC,eAAe,CACpC,OAAO,EACP,QAAQ,EACR,KAAK,EACL,OAAO,EACP,OAAO,CACR,CAAC;IACJ,CAAC;CACF;AAtED,sCAsEC"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Base class for IPC-enabled child processes
3
+ */
4
+ import { ChildMessage, AppConfig } from './local-engine-types';
5
+ export declare abstract class LocalEngineChildBase {
6
+ protected appConfig?: AppConfig;
7
+ protected appDir?: string;
8
+ protected initialized: boolean;
9
+ protected currentRequestId?: string;
10
+ constructor();
11
+ /**
12
+ * Initialize the child process and start listening for messages
13
+ */
14
+ start(): void;
15
+ /**
16
+ * Abstract methods to be implemented by specific wrapper types
17
+ */
18
+ protected abstract initialize(appConfig: AppConfig, appDir: string): Promise<void>;
19
+ protected abstract executeFunction(request: any): Promise<any>;
20
+ protected abstract executeLifecycle(request: any): Promise<any>;
21
+ protected abstract executeJob(request: any): Promise<any>;
22
+ protected abstract cleanup(): Promise<void>;
23
+ /**
24
+ * Set up message handlers for parent communication
25
+ */
26
+ private setupMessageHandlers;
27
+ /**
28
+ * Set up global error handlers
29
+ */
30
+ private setupErrorHandlers;
31
+ /**
32
+ * Handle incoming messages from parent
33
+ */
34
+ private handleMessage;
35
+ /**
36
+ * Handle initialization request
37
+ */
38
+ private handleInitialize;
39
+ /**
40
+ * Handle function execution request
41
+ */
42
+ private handleExecuteFunction;
43
+ /**
44
+ * Handle lifecycle execution request
45
+ */
46
+ private handleExecuteLifecycle;
47
+ /**
48
+ * Handle job execution request
49
+ */
50
+ private handleExecuteJob;
51
+ /**
52
+ * Handle shutdown request
53
+ */
54
+ private handleShutdown;
55
+ /**
56
+ * Handle cancellation request
57
+ */
58
+ private handleCancel;
59
+ /**
60
+ * Send ready message to parent
61
+ */
62
+ protected sendReady(): void;
63
+ /**
64
+ * Send progress update to parent
65
+ */
66
+ protected sendProgress(requestId: string, message: string, progress?: number): void;
67
+ /**
68
+ * Send log message to parent
69
+ */
70
+ protected sendLog(level: 'debug' | 'info' | 'warn' | 'error', message: string, requestId?: string): void;
71
+ /**
72
+ * Send error message to parent
73
+ */
74
+ protected sendError(requestId: string, message: string, error: any, executionTime?: number): void;
75
+ /**
76
+ * Send a message to the parent process
77
+ */
78
+ protected sendMessage(message: ChildMessage): void;
79
+ }