@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,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;YAC9B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;SAC1D;QACD,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;CACF;AAxBD,8BAwBC"}
@@ -0,0 +1,52 @@
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
+ }
41
+ export interface WrapperInput {
42
+ appConfig: AppConfig;
43
+ appDir: string;
44
+ request: FunctionExecutionRequest | LifecycleExecutionRequest;
45
+ }
46
+ export interface WrapperOutput {
47
+ success: boolean;
48
+ result?: any;
49
+ error?: string;
50
+ stack?: string;
51
+ logs?: string[];
52
+ }
@@ -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,31 @@
1
+ export interface SDKComponents {
2
+ App: any;
3
+ initializeStores: any;
4
+ LogLevel: any;
5
+ setNotifier: any;
6
+ initializeFunctionApi?: any;
7
+ }
8
+ /**
9
+ * Dynamically load the SDK from the app's node_modules
10
+ */
11
+ export declare function loadAppSDK(appPath: string): SDKComponents;
12
+ /**
13
+ * Find the correct function file path using entry_point from manifest
14
+ */
15
+ export declare function findFunctionFile(appDir: string, functionId: string, manifest: any): string;
16
+ /**
17
+ * Find the Function class export from a module
18
+ */
19
+ export declare function findFunctionClass(functionModule: any): any;
20
+ /**
21
+ * Find the Lifecycle class export from a module
22
+ */
23
+ export declare function findLifecycleClass(lifecycleModule: any): any;
24
+ /**
25
+ * Parse command line arguments into structured input
26
+ */
27
+ export declare function parseWrapperArgs(): any;
28
+ /**
29
+ * Output result in the expected format for the parent process
30
+ */
31
+ export declare function outputResult(result: any): void;
@@ -0,0 +1,126 @@
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.outputResult = exports.parseWrapperArgs = exports.findLifecycleClass = exports.findFunctionClass = exports.findFunctionFile = exports.loadAppSDK = void 0;
7
+ /**
8
+ * Shared utilities for wrapper scripts
9
+ */
10
+ const path_1 = __importDefault(require("path"));
11
+ const fs_1 = __importDefault(require("fs"));
12
+ /**
13
+ * Dynamically load the SDK from the app's node_modules
14
+ */
15
+ function loadAppSDK(appPath) {
16
+ const appSdkPath = path_1.default.join(appPath, 'node_modules', '@zaiusinc/app-sdk');
17
+ try {
18
+ const App = require(appSdkPath);
19
+ const { initializeStores, LogLevel, setNotifier, initializeFunctionApi } = require(appSdkPath);
20
+ return {
21
+ App,
22
+ initializeStores,
23
+ LogLevel,
24
+ setNotifier,
25
+ initializeFunctionApi
26
+ };
27
+ }
28
+ catch (error) {
29
+ throw new Error(`Failed to load SDK from ${appSdkPath}: ${error.message}`);
30
+ }
31
+ }
32
+ exports.loadAppSDK = loadAppSDK;
33
+ /**
34
+ * Find the correct function file path using entry_point from manifest
35
+ */
36
+ function findFunctionFile(appDir, functionId, manifest) {
37
+ const functions = manifest.functions || {};
38
+ const functionDef = functions[functionId];
39
+ if (!functionDef) {
40
+ throw new Error(`Function '${functionId}' not found in app manifest`);
41
+ }
42
+ if (!functionDef.entry_point) {
43
+ throw new Error(`Function '${functionId}' does not have entry_point defined in manifest`);
44
+ }
45
+ const functionPath = path_1.default.join(appDir, "dist", "functions", `${functionDef.entry_point}.js`);
46
+ if (!fs_1.default.existsSync(functionPath)) {
47
+ 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.`);
48
+ }
49
+ return functionPath;
50
+ }
51
+ exports.findFunctionFile = findFunctionFile;
52
+ /**
53
+ * Find the Function class export from a module
54
+ */
55
+ function findFunctionClass(functionModule) {
56
+ // Look for the Function class - it could be default export or named export
57
+ let FunctionClass = functionModule.default || functionModule[Object.keys(functionModule)[0]];
58
+ if (!FunctionClass) {
59
+ // Try to find a class that looks like a function class
60
+ for (const key in functionModule) {
61
+ if (typeof functionModule[key] === 'function') {
62
+ FunctionClass = functionModule[key];
63
+ break;
64
+ }
65
+ }
66
+ }
67
+ if (!FunctionClass || typeof FunctionClass !== 'function') {
68
+ throw new Error(`Function class not found in module. Available exports: ${Object.keys(functionModule).join(', ')}`);
69
+ }
70
+ return FunctionClass;
71
+ }
72
+ exports.findFunctionClass = findFunctionClass;
73
+ /**
74
+ * Find the Lifecycle class export from a module
75
+ */
76
+ function findLifecycleClass(lifecycleModule) {
77
+ // Look for the Lifecycle class - it could be default export or named export
78
+ let LifecycleClass = lifecycleModule.Lifecycle || lifecycleModule.default;
79
+ if (!LifecycleClass) {
80
+ // If not found, try to find any class that looks like a lifecycle class
81
+ for (const key in lifecycleModule) {
82
+ if (typeof lifecycleModule[key] === 'function' && key.toLowerCase().includes('lifecycle')) {
83
+ LifecycleClass = lifecycleModule[key];
84
+ break;
85
+ }
86
+ }
87
+ }
88
+ if (!LifecycleClass || typeof LifecycleClass !== 'function') {
89
+ throw new Error(`Lifecycle class not found in module. Available exports: ${Object.keys(lifecycleModule).join(', ')}`);
90
+ }
91
+ return LifecycleClass;
92
+ }
93
+ exports.findLifecycleClass = findLifecycleClass;
94
+ /**
95
+ * Parse command line arguments into structured input
96
+ */
97
+ function parseWrapperArgs() {
98
+ const args = process.argv.slice(2);
99
+ if (args.length === 0) {
100
+ throw new Error('No input provided to wrapper script');
101
+ }
102
+ try {
103
+ return JSON.parse(args[0]);
104
+ }
105
+ catch (error) {
106
+ throw new Error(`Failed to parse wrapper input: ${error}`);
107
+ }
108
+ }
109
+ exports.parseWrapperArgs = parseWrapperArgs;
110
+ /**
111
+ * Output result in the expected format for the parent process
112
+ */
113
+ function outputResult(result) {
114
+ if (result.success) {
115
+ console.log('SUCCESS');
116
+ console.log('RESULT:', JSON.stringify(result.result || null));
117
+ }
118
+ else {
119
+ console.error('FAILED:', result.error || 'Unknown error');
120
+ if (result.stack) {
121
+ console.error('STACK:', result.stack);
122
+ }
123
+ }
124
+ }
125
+ exports.outputResult = outputResult;
126
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/local_engine/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Centralized logging system for the OCP Local Environment
3
+ * Captures logs from builds, function executions, lifecycle hooks, and general operations
4
+ */
5
+ export interface LogEntry {
6
+ id: string;
7
+ timestamp: string;
8
+ source: 'build' | 'function' | 'lifecycle' | 'system' | 'error';
9
+ level: 'debug' | 'info' | 'warn' | 'error';
10
+ category?: string;
11
+ message: string;
12
+ details?: any;
13
+ }
14
+ export declare class LogManager {
15
+ private static instance;
16
+ private logs;
17
+ private maxLogs;
18
+ private logListeners;
19
+ private constructor();
20
+ /**
21
+ * Get the singleton instance
22
+ */
23
+ static getInstance(): LogManager;
24
+ /**
25
+ * Add a new log entry
26
+ */
27
+ log(entry: Omit<LogEntry, 'id' | 'timestamp'>): void;
28
+ /**
29
+ * Convenience methods for different log levels
30
+ */
31
+ debug(source: LogEntry['source'], message: string, category?: string, details?: any): void;
32
+ info(source: LogEntry['source'], message: string, category?: string, details?: any): void;
33
+ warn(source: LogEntry['source'], message: string, category?: string, details?: any): void;
34
+ error(source: LogEntry['source'], message: string, category?: string, details?: any): void;
35
+ /**
36
+ * Get logs with optional filtering
37
+ */
38
+ getLogs(options?: {
39
+ limit?: number;
40
+ source?: LogEntry['source'];
41
+ level?: LogEntry['level'];
42
+ since?: string;
43
+ category?: string;
44
+ }): LogEntry[];
45
+ /**
46
+ * Clear all logs
47
+ */
48
+ clearLogs(): void;
49
+ /**
50
+ * Add a listener for new log entries
51
+ */
52
+ addListener(listener: (log: LogEntry) => void): () => void;
53
+ /**
54
+ * Log function execution
55
+ */
56
+ logFunctionExecution(functionId: string, status: 'started' | 'success' | 'error', details?: any): void;
57
+ /**
58
+ * Log function output/console logs
59
+ */
60
+ logFunctionOutput(functionId: string, output: string, isError?: boolean): void;
61
+ /**
62
+ * Log lifecycle execution
63
+ */
64
+ logLifecycleExecution(hookName: string, status: 'started' | 'success' | 'error', details?: any): void;
65
+ /**
66
+ * Log build events
67
+ */
68
+ logBuildEvent(status: 'started' | 'success' | 'error', details?: any): void;
69
+ /**
70
+ * Log build output
71
+ */
72
+ logBuildOutput(output: string, isError?: boolean): void;
73
+ /**
74
+ * Generate a unique ID for log entries
75
+ */
76
+ private generateId;
77
+ /**
78
+ * Log to console with appropriate styling
79
+ */
80
+ private logToConsole;
81
+ /**
82
+ * Get log statistics
83
+ */
84
+ getStats(): {
85
+ total: number;
86
+ bySource: Record<string, number>;
87
+ byLevel: Record<string, number>;
88
+ };
89
+ }
@@ -0,0 +1,237 @@
1
+ "use strict";
2
+ /**
3
+ * Centralized logging system for the OCP Local Environment
4
+ * Captures logs from builds, function executions, lifecycle hooks, and general operations
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.LogManager = void 0;
8
+ class LogManager {
9
+ constructor() {
10
+ this.logs = [];
11
+ this.maxLogs = 1000; // Keep last 1000 logs
12
+ this.logListeners = [];
13
+ // Private constructor for singleton
14
+ }
15
+ /**
16
+ * Get the singleton instance
17
+ */
18
+ static getInstance() {
19
+ if (!this.instance) {
20
+ this.instance = new LogManager();
21
+ }
22
+ return this.instance;
23
+ }
24
+ /**
25
+ * Add a new log entry
26
+ */
27
+ log(entry) {
28
+ const logEntry = {
29
+ ...entry,
30
+ id: this.generateId(),
31
+ timestamp: new Date().toISOString()
32
+ };
33
+ this.logs.push(logEntry);
34
+ // Keep only the most recent logs
35
+ if (this.logs.length > this.maxLogs) {
36
+ this.logs = this.logs.slice(-this.maxLogs);
37
+ }
38
+ // Notify listeners
39
+ this.logListeners.forEach(listener => {
40
+ try {
41
+ listener(logEntry);
42
+ }
43
+ catch (error) {
44
+ console.error('Error notifying log listener:', error);
45
+ }
46
+ });
47
+ // Also log to console for debugging
48
+ this.logToConsole(logEntry);
49
+ }
50
+ /**
51
+ * Convenience methods for different log levels
52
+ */
53
+ debug(source, message, category, details) {
54
+ this.log({ source, level: 'debug', message, category, details });
55
+ }
56
+ info(source, message, category, details) {
57
+ this.log({ source, level: 'info', message, category, details });
58
+ }
59
+ warn(source, message, category, details) {
60
+ this.log({ source, level: 'warn', message, category, details });
61
+ }
62
+ error(source, message, category, details) {
63
+ this.log({ source, level: 'error', message, category, details });
64
+ }
65
+ /**
66
+ * Get logs with optional filtering
67
+ */
68
+ getLogs(options) {
69
+ let filteredLogs = this.logs;
70
+ // Apply filters
71
+ if (options?.source) {
72
+ filteredLogs = filteredLogs.filter(log => log.source === options.source);
73
+ }
74
+ if (options?.level) {
75
+ const levels = ['debug', 'info', 'warn', 'error'];
76
+ const minLevelIndex = levels.indexOf(options.level);
77
+ filteredLogs = filteredLogs.filter(log => levels.indexOf(log.level) >= minLevelIndex);
78
+ }
79
+ if (options?.since) {
80
+ const sinceTime = new Date(options.since).getTime();
81
+ filteredLogs = filteredLogs.filter(log => new Date(log.timestamp).getTime() >= sinceTime);
82
+ }
83
+ if (options?.category) {
84
+ filteredLogs = filteredLogs.filter(log => log.category === options.category);
85
+ }
86
+ // Apply limit
87
+ const limit = options?.limit || 100;
88
+ return filteredLogs.slice(-limit);
89
+ }
90
+ /**
91
+ * Clear all logs
92
+ */
93
+ clearLogs() {
94
+ this.logs = [];
95
+ this.info('system', 'Logs cleared');
96
+ }
97
+ /**
98
+ * Add a listener for new log entries
99
+ */
100
+ addListener(listener) {
101
+ this.logListeners.push(listener);
102
+ // Return unsubscribe function
103
+ return () => {
104
+ const index = this.logListeners.indexOf(listener);
105
+ if (index > -1) {
106
+ this.logListeners.splice(index, 1);
107
+ }
108
+ };
109
+ }
110
+ /**
111
+ * Log function execution
112
+ */
113
+ logFunctionExecution(functionId, status, details) {
114
+ const messages = {
115
+ started: `Function execution started`,
116
+ success: `Function execution completed successfully`,
117
+ error: `Function execution failed`
118
+ };
119
+ const level = status === 'error' ? 'error' : 'info';
120
+ this.log({
121
+ source: 'function',
122
+ level,
123
+ message: messages[status],
124
+ category: functionId,
125
+ details
126
+ });
127
+ }
128
+ /**
129
+ * Log function output/console logs
130
+ */
131
+ logFunctionOutput(functionId, output, isError = false) {
132
+ // Split output into lines and log each line
133
+ const lines = output.split('\n').filter(line => line.trim());
134
+ lines.forEach(line => {
135
+ this.log({
136
+ source: 'function',
137
+ level: isError ? 'error' : 'info',
138
+ message: line.trim(),
139
+ category: functionId
140
+ });
141
+ });
142
+ }
143
+ /**
144
+ * Log lifecycle execution
145
+ */
146
+ logLifecycleExecution(hookName, status, details) {
147
+ const messages = {
148
+ started: `Lifecycle hook execution started`,
149
+ success: `Lifecycle hook execution completed successfully`,
150
+ error: `Lifecycle hook execution failed`
151
+ };
152
+ const level = status === 'error' ? 'error' : 'info';
153
+ this.log({
154
+ source: 'lifecycle',
155
+ level,
156
+ message: messages[status],
157
+ category: hookName,
158
+ details
159
+ });
160
+ }
161
+ /**
162
+ * Log build events
163
+ */
164
+ logBuildEvent(status, details) {
165
+ const messages = {
166
+ started: `Build started`,
167
+ success: `Build completed successfully`,
168
+ error: `Build failed`
169
+ };
170
+ const level = status === 'error' ? 'error' : 'info';
171
+ this.log({
172
+ source: 'build',
173
+ level,
174
+ message: messages[status],
175
+ details
176
+ });
177
+ }
178
+ /**
179
+ * Log build output
180
+ */
181
+ logBuildOutput(output, isError = false) {
182
+ // Split output into lines and log each line
183
+ const lines = output.split('\n').filter(line => line.trim());
184
+ lines.forEach(line => {
185
+ this.log({
186
+ source: 'build',
187
+ level: isError ? 'error' : 'info',
188
+ message: line.trim()
189
+ });
190
+ });
191
+ }
192
+ /**
193
+ * Generate a unique ID for log entries
194
+ */
195
+ generateId() {
196
+ return `${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
197
+ }
198
+ /**
199
+ * Log to console with appropriate styling
200
+ */
201
+ logToConsole(entry) {
202
+ const prefix = `[${entry.source.toUpperCase()}${entry.category ? `:${entry.category}` : ''}]`;
203
+ const timestamp = new Date(entry.timestamp).toLocaleTimeString();
204
+ switch (entry.level) {
205
+ case 'error':
206
+ console.error(`${timestamp} ${prefix} ${entry.message}`, entry.details || '');
207
+ break;
208
+ case 'warn':
209
+ console.warn(`${timestamp} ${prefix} ${entry.message}`, entry.details || '');
210
+ break;
211
+ case 'debug':
212
+ console.debug(`${timestamp} ${prefix} ${entry.message}`, entry.details || '');
213
+ break;
214
+ default:
215
+ console.log(`${timestamp} ${prefix} ${entry.message}`, entry.details || '');
216
+ }
217
+ }
218
+ /**
219
+ * Get log statistics
220
+ */
221
+ getStats() {
222
+ const bySource = {};
223
+ const byLevel = {};
224
+ this.logs.forEach(log => {
225
+ bySource[log.source] = (bySource[log.source] || 0) + 1;
226
+ byLevel[log.level] = (byLevel[log.level] || 0) + 1;
227
+ });
228
+ return {
229
+ total: this.logs.length,
230
+ bySource,
231
+ byLevel
232
+ };
233
+ }
234
+ }
235
+ exports.LogManager = LogManager;
236
+ LogManager.instance = null;
237
+ //# sourceMappingURL=LogManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogManager.js","sourceRoot":"","sources":["../../../src/logging/LogManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import express from 'express';
2
+ import { App } from '../../types/app';
3
+ import { LocalConfigStore } from "../../local_engine/storage/LocalConfigStore";
4
+ /**
5
+ * Create API routes for function execution
6
+ */
7
+ export declare function createFunctionRoutes(app: App, configStore?: LocalConfigStore): express.Router;