@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.
- package/README.md +51 -0
- package/dist/package.json +112 -0
- package/dist/public/bundle.82dc5d29fffb9f205051.js +3 -0
- package/dist/public/bundle.82dc5d29fffb9f205051.js.LICENSE.txt +92 -0
- package/dist/public/bundle.82dc5d29fffb9f205051.js.map +1 -0
- package/dist/public/index.html +1 -0
- package/dist/src/cli.d.ts +2 -0
- package/dist/src/cli.js +115 -0
- package/dist/src/cli.js.map +1 -0
- package/dist/src/executor/DestinationExecutor.d.ts +19 -0
- package/dist/src/executor/DestinationExecutor.js +72 -0
- package/dist/src/executor/DestinationExecutor.js.map +1 -0
- package/dist/src/executor/FunctionExecutor.d.ts +67 -0
- package/dist/src/executor/FunctionExecutor.js +189 -0
- package/dist/src/executor/FunctionExecutor.js.map +1 -0
- package/dist/src/executor/JobExecutor.d.ts +79 -0
- package/dist/src/executor/JobExecutor.js +215 -0
- package/dist/src/executor/JobExecutor.js.map +1 -0
- package/dist/src/executor/LifecycleExecutor.d.ts +64 -0
- package/dist/src/executor/LifecycleExecutor.js +167 -0
- package/dist/src/executor/LifecycleExecutor.js.map +1 -0
- package/dist/src/executor/SourceExecutor.d.ts +32 -0
- package/dist/src/executor/SourceExecutor.js +163 -0
- package/dist/src/executor/SourceExecutor.js.map +1 -0
- package/dist/src/executor/watcher.d.ts +62 -0
- package/dist/src/executor/watcher.js +213 -0
- package/dist/src/executor/watcher.js.map +1 -0
- package/dist/src/functions/hello.d.ts +4 -0
- package/dist/src/functions/hello.js +8 -0
- package/dist/src/functions/hello.js.map +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +9 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/jobs/dailyJob.d.ts +4 -0
- package/dist/src/jobs/dailyJob.js +8 -0
- package/dist/src/jobs/dailyJob.js.map +1 -0
- package/dist/src/local_engine/LocalFunctionApi.d.ts +17 -0
- package/dist/src/local_engine/LocalFunctionApi.js +54 -0
- package/dist/src/local_engine/LocalFunctionApi.js.map +1 -0
- package/dist/src/local_engine/LocalJobApi.d.ts +67 -0
- package/dist/src/local_engine/LocalJobApi.js +205 -0
- package/dist/src/local_engine/LocalJobApi.js.map +1 -0
- package/dist/src/local_engine/LocalNotifier.d.ts +9 -0
- package/dist/src/local_engine/LocalNotifier.js +26 -0
- package/dist/src/local_engine/LocalNotifier.js.map +1 -0
- package/dist/src/local_engine/local-engine-child-base.d.ts +110 -0
- package/dist/src/local_engine/local-engine-child-base.js +607 -0
- package/dist/src/local_engine/local-engine-child-base.js.map +1 -0
- package/dist/src/local_engine/local-engine-client.d.ts +161 -0
- package/dist/src/local_engine/local-engine-client.js +888 -0
- package/dist/src/local_engine/local-engine-client.js.map +1 -0
- package/dist/src/local_engine/local-engine-types.d.ts +245 -0
- package/dist/src/local_engine/local-engine-types.js +6 -0
- package/dist/src/local_engine/local-engine-types.js.map +1 -0
- package/dist/src/local_engine/local-engine-unified.d.ts +71 -0
- package/dist/src/local_engine/local-engine-unified.js +723 -0
- package/dist/src/local_engine/local-engine-unified.js.map +1 -0
- package/dist/src/local_engine/local-engine-utils.d.ts +68 -0
- package/dist/src/local_engine/local-engine-utils.js +219 -0
- package/dist/src/local_engine/local-engine-utils.js.map +1 -0
- package/dist/src/local_engine/localSDKConfig.d.ts +40 -0
- package/dist/src/local_engine/localSDKConfig.js +247 -0
- package/dist/src/local_engine/localSDKConfig.js.map +1 -0
- package/dist/src/local_engine/storage/BaseKVStoreWrapper.d.ts +37 -0
- package/dist/src/local_engine/storage/BaseKVStoreWrapper.js +110 -0
- package/dist/src/local_engine/storage/BaseKVStoreWrapper.js.map +1 -0
- package/dist/src/local_engine/storage/LocalConfigStore.d.ts +74 -0
- package/dist/src/local_engine/storage/LocalConfigStore.js +178 -0
- package/dist/src/local_engine/storage/LocalConfigStore.js.map +1 -0
- package/dist/src/local_engine/storage/LocalJobStore.d.ts +111 -0
- package/dist/src/local_engine/storage/LocalJobStore.js +249 -0
- package/dist/src/local_engine/storage/LocalJobStore.js.map +1 -0
- package/dist/src/local_engine/storage/LocalKVStore.d.ts +106 -0
- package/dist/src/local_engine/storage/LocalKVStore.js +1061 -0
- package/dist/src/local_engine/storage/LocalKVStore.js.map +1 -0
- package/dist/src/local_engine/storage/LocalNotificationStore.d.ts +28 -0
- package/dist/src/local_engine/storage/LocalNotificationStore.js +149 -0
- package/dist/src/local_engine/storage/LocalNotificationStore.js.map +1 -0
- package/dist/src/local_engine/storage/LocalSecretsStore.d.ts +115 -0
- package/dist/src/local_engine/storage/LocalSecretsStore.js +350 -0
- package/dist/src/local_engine/storage/LocalSecretsStore.js.map +1 -0
- package/dist/src/local_engine/storage/LocalSecretsStoreWrapper.d.ts +19 -0
- package/dist/src/local_engine/storage/LocalSecretsStoreWrapper.js +52 -0
- package/dist/src/local_engine/storage/LocalSecretsStoreWrapper.js.map +1 -0
- package/dist/src/local_engine/storage/LocalSettingsStore.d.ts +168 -0
- package/dist/src/local_engine/storage/LocalSettingsStore.js +509 -0
- package/dist/src/local_engine/storage/LocalSettingsStore.js.map +1 -0
- package/dist/src/local_engine/storage/LocalSettingsStoreWrapper.d.ts +15 -0
- package/dist/src/local_engine/storage/LocalSettingsStoreWrapper.js +28 -0
- package/dist/src/local_engine/storage/LocalSettingsStoreWrapper.js.map +1 -0
- package/dist/src/local_engine/storage/NumberSet.d.ts +21 -0
- package/dist/src/local_engine/storage/NumberSet.js +32 -0
- package/dist/src/local_engine/storage/NumberSet.js.map +1 -0
- package/dist/src/local_engine/storage/SourceDataStore.d.ts +23 -0
- package/dist/src/local_engine/storage/SourceDataStore.js +83 -0
- package/dist/src/local_engine/storage/SourceDataStore.js.map +1 -0
- package/dist/src/local_engine/storage/SourceJobExecutionStore.d.ts +25 -0
- package/dist/src/local_engine/storage/SourceJobExecutionStore.js +61 -0
- package/dist/src/local_engine/storage/SourceJobExecutionStore.js.map +1 -0
- package/dist/src/local_engine/storage/StringSet.d.ts +21 -0
- package/dist/src/local_engine/storage/StringSet.js +32 -0
- package/dist/src/local_engine/storage/StringSet.js.map +1 -0
- package/dist/src/local_engine/types.d.ts +53 -0
- package/dist/src/local_engine/types.js +6 -0
- package/dist/src/local_engine/types.js.map +1 -0
- package/dist/src/local_engine/utils.d.ts +33 -0
- package/dist/src/local_engine/utils.js +143 -0
- package/dist/src/local_engine/utils.js.map +1 -0
- package/dist/src/logging/LogManager.d.ts +246 -0
- package/dist/src/logging/LogManager.js +343 -0
- package/dist/src/logging/LogManager.js.map +1 -0
- package/dist/src/server/api/destinations.d.ts +7 -0
- package/dist/src/server/api/destinations.js +170 -0
- package/dist/src/server/api/destinations.js.map +1 -0
- package/dist/src/server/api/functions.d.ts +7 -0
- package/dist/src/server/api/functions.js +80 -0
- package/dist/src/server/api/functions.js.map +1 -0
- package/dist/src/server/api/jobs.d.ts +10 -0
- package/dist/src/server/api/jobs.js +244 -0
- package/dist/src/server/api/jobs.js.map +1 -0
- package/dist/src/server/api/settings.d.ts +6 -0
- package/dist/src/server/api/settings.js +116 -0
- package/dist/src/server/api/settings.js.map +1 -0
- package/dist/src/server/api/sources.d.ts +7 -0
- package/dist/src/server/api/sources.js +382 -0
- package/dist/src/server/api/sources.js.map +1 -0
- package/dist/src/server/api/stores.d.ts +2 -0
- package/dist/src/server/api/stores.js +341 -0
- package/dist/src/server/api/stores.js.map +1 -0
- package/dist/src/server/api/v1.d.ts +10 -0
- package/dist/src/server/api/v1.js +718 -0
- package/dist/src/server/api/v1.js.map +1 -0
- package/dist/src/server/api.d.ts +8 -0
- package/dist/src/server/api.js +217 -0
- package/dist/src/server/api.js.map +1 -0
- package/dist/src/server/app-discovery.d.ts +5 -0
- package/dist/src/server/app-discovery.js +113 -0
- package/dist/src/server/app-discovery.js.map +1 -0
- package/dist/src/server/config.d.ts +26 -0
- package/dist/src/server/config.js +112 -0
- package/dist/src/server/config.js.map +1 -0
- package/dist/src/server/mockDataGenerator.d.ts +1 -0
- package/dist/src/server/mockDataGenerator.js +154 -0
- package/dist/src/server/mockDataGenerator.js.map +1 -0
- package/dist/src/server/websocket.d.ts +0 -0
- package/dist/src/server/websocket.js +2 -0
- package/dist/src/server/websocket.js.map +1 -0
- package/dist/src/server.d.ts +2 -0
- package/dist/src/server.js +735 -0
- package/dist/src/server.js.map +1 -0
- package/dist/src/types/app.d.ts +154 -0
- package/dist/src/types/app.js +24 -0
- package/dist/src/types/app.js.map +1 -0
- package/dist/src/types/kvstore.d.ts +320 -0
- package/dist/src/types/kvstore.js +5 -0
- package/dist/src/types/kvstore.js.map +1 -0
- package/dist/src/ui/components/App.d.ts +6 -0
- package/dist/src/ui/components/App.js +432 -0
- package/dist/src/ui/components/App.js.map +1 -0
- package/dist/src/ui/components/DestinationBatchEditor.d.ts +7 -0
- package/dist/src/ui/components/DestinationBatchEditor.js +160 -0
- package/dist/src/ui/components/DestinationBatchEditor.js.map +1 -0
- package/dist/src/ui/components/DestinationSchemaViewer.d.ts +7 -0
- package/dist/src/ui/components/DestinationSchemaViewer.js +61 -0
- package/dist/src/ui/components/DestinationSchemaViewer.js.map +1 -0
- package/dist/src/ui/components/DestinationsView.d.ts +14 -0
- package/dist/src/ui/components/DestinationsView.js +68 -0
- package/dist/src/ui/components/DestinationsView.js.map +1 -0
- package/dist/src/ui/components/FunctionsView.d.ts +13 -0
- package/dist/src/ui/components/FunctionsView.js +288 -0
- package/dist/src/ui/components/FunctionsView.js.map +1 -0
- package/dist/src/ui/components/JobsView.d.ts +13 -0
- package/dist/src/ui/components/JobsView.js +320 -0
- package/dist/src/ui/components/JobsView.js.map +1 -0
- package/dist/src/ui/components/KVStoreViewer.d.ts +11 -0
- package/dist/src/ui/components/KVStoreViewer.js +168 -0
- package/dist/src/ui/components/KVStoreViewer.js.map +1 -0
- package/dist/src/ui/components/MetadataModal.d.ts +14 -0
- package/dist/src/ui/components/MetadataModal.js +28 -0
- package/dist/src/ui/components/MetadataModal.js.map +1 -0
- package/dist/src/ui/components/MetadataModal.test.d.ts +1 -0
- package/dist/src/ui/components/MetadataModal.test.js +143 -0
- package/dist/src/ui/components/MetadataModal.test.js.map +1 -0
- package/dist/src/ui/components/NotificationViewer.d.ts +16 -0
- package/dist/src/ui/components/NotificationViewer.js +69 -0
- package/dist/src/ui/components/NotificationViewer.js.map +1 -0
- package/dist/src/ui/components/SecretsStoreViewer.d.ts +11 -0
- package/dist/src/ui/components/SecretsStoreViewer.js +179 -0
- package/dist/src/ui/components/SecretsStoreViewer.js.map +1 -0
- package/dist/src/ui/components/SettingsStoreViewer.d.ts +24 -0
- package/dist/src/ui/components/SettingsStoreViewer.js +132 -0
- package/dist/src/ui/components/SettingsStoreViewer.js.map +1 -0
- package/dist/src/ui/components/SourceDataViewer.d.ts +8 -0
- package/dist/src/ui/components/SourceDataViewer.js +84 -0
- package/dist/src/ui/components/SourceDataViewer.js.map +1 -0
- package/dist/src/ui/components/SourceJobsSection.d.ts +8 -0
- package/dist/src/ui/components/SourceJobsSection.js +99 -0
- package/dist/src/ui/components/SourceJobsSection.js.map +1 -0
- package/dist/src/ui/components/SourceLifecycleSection.d.ts +7 -0
- package/dist/src/ui/components/SourceLifecycleSection.js +58 -0
- package/dist/src/ui/components/SourceLifecycleSection.js.map +1 -0
- package/dist/src/ui/components/SourceSchemaViewer.d.ts +7 -0
- package/dist/src/ui/components/SourceSchemaViewer.js +65 -0
- package/dist/src/ui/components/SourceSchemaViewer.js.map +1 -0
- package/dist/src/ui/components/SourceWebhookEditor.d.ts +8 -0
- package/dist/src/ui/components/SourceWebhookEditor.js +181 -0
- package/dist/src/ui/components/SourceWebhookEditor.js.map +1 -0
- package/dist/src/ui/components/SourcesView.d.ts +14 -0
- package/dist/src/ui/components/SourcesView.js +74 -0
- package/dist/src/ui/components/SourcesView.js.map +1 -0
- package/dist/src/ui/components/StoreViewer.d.ts +16 -0
- package/dist/src/ui/components/StoreViewer.js +86 -0
- package/dist/src/ui/components/StoreViewer.js.map +1 -0
- package/dist/src/ui/components/TabbedConsole.d.ts +17 -0
- package/dist/src/ui/components/TabbedConsole.js +163 -0
- package/dist/src/ui/components/TabbedConsole.js.map +1 -0
- package/dist/src/ui/components/common/DataTree.d.ts +15 -0
- package/dist/src/ui/components/common/DataTree.js +95 -0
- package/dist/src/ui/components/common/DataTree.js.map +1 -0
- package/dist/src/ui/components/common/EyeIcon.d.ts +11 -0
- package/dist/src/ui/components/common/EyeIcon.js +11 -0
- package/dist/src/ui/components/common/EyeIcon.js.map +1 -0
- package/dist/src/ui/hooks/useEntityNavigation.d.ts +72 -0
- package/dist/src/ui/hooks/useEntityNavigation.js +150 -0
- package/dist/src/ui/hooks/useEntityNavigation.js.map +1 -0
- package/dist/src/ui/hooks/useQueryParams.d.ts +6 -0
- package/dist/src/ui/hooks/useQueryParams.js +39 -0
- package/dist/src/ui/hooks/useQueryParams.js.map +1 -0
- package/dist/src/ui/index.d.ts +1 -0
- package/dist/src/ui/index.js +23 -0
- package/dist/src/ui/index.js.map +1 -0
- package/dist/src/ui/store/formStateSlice.d.ts +54 -0
- package/dist/src/ui/store/formStateSlice.js +94 -0
- package/dist/src/ui/store/formStateSlice.js.map +1 -0
- package/dist/src/ui/store/hooks.d.ts +6 -0
- package/dist/src/ui/store/hooks.js +8 -0
- package/dist/src/ui/store/hooks.js.map +1 -0
- package/dist/src/ui/store/index.d.ts +11 -0
- package/dist/src/ui/store/index.js +107 -0
- package/dist/src/ui/store/index.js.map +1 -0
- package/dist/src/utils/functionEndpoints.d.ts +24 -0
- package/dist/src/utils/functionEndpoints.js +45 -0
- package/dist/src/utils/functionEndpoints.js.map +1 -0
- package/package.json +112 -0
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized logging system for the OCP Local Environment
|
|
3
|
+
* Captures logs from builds, function executions, lifecycle hooks, and general operations
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Log source types - reduced to 2 sources
|
|
7
|
+
*/
|
|
8
|
+
export declare enum LogSource {
|
|
9
|
+
App = "app",
|
|
10
|
+
System = "system"
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Log category types - specific categories for different log types
|
|
14
|
+
*/
|
|
15
|
+
export declare enum LogCategory {
|
|
16
|
+
Build = "build",
|
|
17
|
+
Function = "function",
|
|
18
|
+
Lifecycle = "lifecycle",
|
|
19
|
+
Destination = "destination",
|
|
20
|
+
Source = "source",
|
|
21
|
+
Jobs = "jobs",
|
|
22
|
+
Notifications = "notifications",
|
|
23
|
+
KVStore = "kvstore",
|
|
24
|
+
Settings = "settings",
|
|
25
|
+
Secrets = "secrets",
|
|
26
|
+
Config = "config",
|
|
27
|
+
AppRunner = "app-runner"
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Log levels
|
|
31
|
+
*/
|
|
32
|
+
export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
|
|
33
|
+
/**
|
|
34
|
+
* Base context interface - common fields for all log contexts
|
|
35
|
+
*/
|
|
36
|
+
export interface BaseLogContext {
|
|
37
|
+
id: string;
|
|
38
|
+
error?: any;
|
|
39
|
+
errorMessage?: string;
|
|
40
|
+
stack?: string;
|
|
41
|
+
[key: string]: any;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Empty context for categories that don't need specific context
|
|
45
|
+
*/
|
|
46
|
+
export interface EmptyLogContext extends BaseLogContext {
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Function execution context
|
|
50
|
+
* id = function identifier (e.g., 'my-function')
|
|
51
|
+
*/
|
|
52
|
+
export interface FunctionLogContext extends BaseLogContext {
|
|
53
|
+
method?: string;
|
|
54
|
+
path?: string;
|
|
55
|
+
executionTime?: number;
|
|
56
|
+
status?: number;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Lifecycle execution context
|
|
60
|
+
* id = hook name (e.g., 'onInstall')
|
|
61
|
+
*/
|
|
62
|
+
export interface LifecycleLogContext extends BaseLogContext {
|
|
63
|
+
executionTime?: number;
|
|
64
|
+
status?: number;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Destination execution context
|
|
68
|
+
* id = destination identifier (e.g., 'analytics-destination')
|
|
69
|
+
*/
|
|
70
|
+
export interface DestinationLogContext extends BaseLogContext {
|
|
71
|
+
operation?: 'ready' | 'deliver' | 'schema';
|
|
72
|
+
batchSize?: number;
|
|
73
|
+
ready?: boolean;
|
|
74
|
+
retryable?: boolean;
|
|
75
|
+
failureReason?: string;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Source execution context
|
|
79
|
+
* id = source identifier (e.g., 'my-source')
|
|
80
|
+
*/
|
|
81
|
+
export interface SourceLogContext extends BaseLogContext {
|
|
82
|
+
operation?: string;
|
|
83
|
+
error?: any;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Job operation context
|
|
87
|
+
* id = job identifier or 'unknown'
|
|
88
|
+
*/
|
|
89
|
+
export interface JobLogContext extends BaseLogContext {
|
|
90
|
+
operation?: 'schedule' | 'execute' | 'cancel' | 'list';
|
|
91
|
+
status?: string;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Notification operation context
|
|
95
|
+
* id = notification identifier or 'unknown'
|
|
96
|
+
*/
|
|
97
|
+
export interface NotificationLogContext extends BaseLogContext {
|
|
98
|
+
operation?: 'send' | 'list' | 'clear';
|
|
99
|
+
recipient?: string;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Storage operation context (kvstore, settings, secrets, config)
|
|
103
|
+
* id = key identifier (e.g., 'user:123') or 'unknown'
|
|
104
|
+
*/
|
|
105
|
+
export interface StorageLogContext extends BaseLogContext {
|
|
106
|
+
store: string;
|
|
107
|
+
operation: 'get' | 'set' | 'delete' | 'exists' | 'list' | 'clear';
|
|
108
|
+
key?: string;
|
|
109
|
+
value?: any;
|
|
110
|
+
ttl?: number;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* IPC communication context
|
|
114
|
+
* id = request identifier or 'unknown'
|
|
115
|
+
*/
|
|
116
|
+
export interface IPCLogContext extends BaseLogContext {
|
|
117
|
+
messageType?: string;
|
|
118
|
+
connectionId?: string;
|
|
119
|
+
timeout?: number;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Process management context
|
|
123
|
+
* id = process identifier or 'unknown'
|
|
124
|
+
*/
|
|
125
|
+
export interface ProcessLogContext extends BaseLogContext {
|
|
126
|
+
connectionId?: string;
|
|
127
|
+
operation?: string;
|
|
128
|
+
exitCode?: number;
|
|
129
|
+
signal?: string;
|
|
130
|
+
processId?: string;
|
|
131
|
+
appId?: string;
|
|
132
|
+
port?: number;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Map each category to its context type
|
|
136
|
+
*/
|
|
137
|
+
export type CategoryContextMap = {
|
|
138
|
+
[LogCategory.Build]: EmptyLogContext;
|
|
139
|
+
[LogCategory.Function]: FunctionLogContext;
|
|
140
|
+
[LogCategory.Lifecycle]: LifecycleLogContext;
|
|
141
|
+
[LogCategory.Destination]: DestinationLogContext;
|
|
142
|
+
[LogCategory.Source]: SourceLogContext;
|
|
143
|
+
[LogCategory.Jobs]: JobLogContext;
|
|
144
|
+
[LogCategory.Notifications]: NotificationLogContext;
|
|
145
|
+
[LogCategory.KVStore]: StorageLogContext;
|
|
146
|
+
[LogCategory.Settings]: StorageLogContext;
|
|
147
|
+
[LogCategory.Secrets]: StorageLogContext;
|
|
148
|
+
[LogCategory.Config]: StorageLogContext;
|
|
149
|
+
[LogCategory.AppRunner]: ProcessLogContext | IPCLogContext;
|
|
150
|
+
};
|
|
151
|
+
/**
|
|
152
|
+
* Type-safe log entry
|
|
153
|
+
*/
|
|
154
|
+
export type LogEntry<C extends LogCategory = LogCategory> = {
|
|
155
|
+
id: string;
|
|
156
|
+
timestamp: string;
|
|
157
|
+
source: LogSource;
|
|
158
|
+
category: C;
|
|
159
|
+
level: LogLevel;
|
|
160
|
+
message: string;
|
|
161
|
+
context?: CategoryContextMap[C];
|
|
162
|
+
};
|
|
163
|
+
export declare class LogManager {
|
|
164
|
+
private static instance;
|
|
165
|
+
private logs;
|
|
166
|
+
private maxLogs;
|
|
167
|
+
private logListeners;
|
|
168
|
+
private constructor();
|
|
169
|
+
/**
|
|
170
|
+
* Get the singleton instance
|
|
171
|
+
*/
|
|
172
|
+
static getInstance(): LogManager;
|
|
173
|
+
/**
|
|
174
|
+
* Core log method - accepts type-safe log entries
|
|
175
|
+
*/
|
|
176
|
+
log<C extends LogCategory>(entry: Omit<LogEntry<C>, 'id' | 'timestamp'>): void;
|
|
177
|
+
/**
|
|
178
|
+
* Convenience methods with type-safe contexts
|
|
179
|
+
*/
|
|
180
|
+
debug<C extends LogCategory>(source: LogSource, category: C, message: string, context?: CategoryContextMap[C]): void;
|
|
181
|
+
info<C extends LogCategory>(source: LogSource, category: C, message: string, context?: CategoryContextMap[C]): void;
|
|
182
|
+
warn<C extends LogCategory>(source: LogSource, category: C, message: string, context?: CategoryContextMap[C]): void;
|
|
183
|
+
error<C extends LogCategory>(source: LogSource, category: C, message: string, context?: CategoryContextMap[C]): void;
|
|
184
|
+
/**
|
|
185
|
+
* Specialized convenience method for function execution
|
|
186
|
+
*/
|
|
187
|
+
logFunctionExecution(functionId: string, status: 'started' | 'success' | 'error', details?: Partial<FunctionLogContext>): void;
|
|
188
|
+
/**
|
|
189
|
+
* Specialized convenience method for lifecycle execution
|
|
190
|
+
*/
|
|
191
|
+
logLifecycleExecution(hookName: string, status: 'started' | 'success' | 'error', details?: Partial<LifecycleLogContext>): void;
|
|
192
|
+
/**
|
|
193
|
+
* Specialized convenience method for destination execution
|
|
194
|
+
*/
|
|
195
|
+
logDestinationExecution(destinationId: string, operation: 'ready' | 'deliver' | 'schema', status: 'started' | 'success' | 'error', details?: Partial<DestinationLogContext>): void;
|
|
196
|
+
/**
|
|
197
|
+
* Specialized convenience method for build events
|
|
198
|
+
*/
|
|
199
|
+
logBuildEvent(status: 'started' | 'success' | 'error', details?: any): void;
|
|
200
|
+
/**
|
|
201
|
+
* Log function output/console logs
|
|
202
|
+
*/
|
|
203
|
+
logFunctionOutput(functionId: string, output: string, isError?: boolean): void;
|
|
204
|
+
/**
|
|
205
|
+
* Log build output
|
|
206
|
+
*/
|
|
207
|
+
logBuildOutput(output: string, isError?: boolean): void;
|
|
208
|
+
/**
|
|
209
|
+
* Log source execution events
|
|
210
|
+
*/
|
|
211
|
+
logSourceExecution(sourceId: string, operation: string, status: 'started' | 'success' | 'error', additionalContext?: any): void;
|
|
212
|
+
/**
|
|
213
|
+
* Get logs with optional filtering
|
|
214
|
+
*/
|
|
215
|
+
getLogs(options?: {
|
|
216
|
+
limit?: number;
|
|
217
|
+
source?: LogSource;
|
|
218
|
+
level?: LogLevel;
|
|
219
|
+
since?: string;
|
|
220
|
+
category?: LogCategory;
|
|
221
|
+
}): LogEntry[];
|
|
222
|
+
/**
|
|
223
|
+
* Clear all logs
|
|
224
|
+
*/
|
|
225
|
+
clearLogs(): void;
|
|
226
|
+
/**
|
|
227
|
+
* Add a listener for new log entries
|
|
228
|
+
*/
|
|
229
|
+
addListener(listener: (log: LogEntry) => void): () => void;
|
|
230
|
+
/**
|
|
231
|
+
* Generate a unique ID for log entries
|
|
232
|
+
*/
|
|
233
|
+
private generateId;
|
|
234
|
+
/**
|
|
235
|
+
* Log to console with new format
|
|
236
|
+
*/
|
|
237
|
+
private logToConsole;
|
|
238
|
+
/**
|
|
239
|
+
* Get log statistics
|
|
240
|
+
*/
|
|
241
|
+
getStats(): {
|
|
242
|
+
total: number;
|
|
243
|
+
bySource: Record<string, number>;
|
|
244
|
+
byLevel: Record<string, number>;
|
|
245
|
+
};
|
|
246
|
+
}
|
|
@@ -0,0 +1,343 @@
|
|
|
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 = exports.LogCategory = exports.LogSource = void 0;
|
|
8
|
+
// ===== TYPE DEFINITIONS =====
|
|
9
|
+
/**
|
|
10
|
+
* Log source types - reduced to 2 sources
|
|
11
|
+
*/
|
|
12
|
+
var LogSource;
|
|
13
|
+
(function (LogSource) {
|
|
14
|
+
LogSource["App"] = "app";
|
|
15
|
+
LogSource["System"] = "system";
|
|
16
|
+
})(LogSource || (exports.LogSource = LogSource = {}));
|
|
17
|
+
/**
|
|
18
|
+
* Log category types - specific categories for different log types
|
|
19
|
+
*/
|
|
20
|
+
var LogCategory;
|
|
21
|
+
(function (LogCategory) {
|
|
22
|
+
// Core application
|
|
23
|
+
LogCategory["Build"] = "build";
|
|
24
|
+
LogCategory["Function"] = "function";
|
|
25
|
+
LogCategory["Lifecycle"] = "lifecycle";
|
|
26
|
+
LogCategory["Destination"] = "destination";
|
|
27
|
+
LogCategory["Source"] = "source";
|
|
28
|
+
LogCategory["Jobs"] = "jobs";
|
|
29
|
+
LogCategory["Notifications"] = "notifications";
|
|
30
|
+
// System infrastructure
|
|
31
|
+
LogCategory["KVStore"] = "kvstore";
|
|
32
|
+
LogCategory["Settings"] = "settings";
|
|
33
|
+
LogCategory["Secrets"] = "secrets";
|
|
34
|
+
LogCategory["Config"] = "config";
|
|
35
|
+
LogCategory["AppRunner"] = "app-runner";
|
|
36
|
+
})(LogCategory || (exports.LogCategory = LogCategory = {}));
|
|
37
|
+
// ===== LOG MANAGER =====
|
|
38
|
+
class LogManager {
|
|
39
|
+
constructor() {
|
|
40
|
+
this.logs = [];
|
|
41
|
+
this.maxLogs = 1000; // Keep last 1000 logs
|
|
42
|
+
this.logListeners = [];
|
|
43
|
+
// Private constructor for singleton
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Get the singleton instance
|
|
47
|
+
*/
|
|
48
|
+
static getInstance() {
|
|
49
|
+
if (!this.instance) {
|
|
50
|
+
this.instance = new LogManager();
|
|
51
|
+
}
|
|
52
|
+
return this.instance;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Core log method - accepts type-safe log entries
|
|
56
|
+
*/
|
|
57
|
+
log(entry) {
|
|
58
|
+
const logEntry = {
|
|
59
|
+
...entry,
|
|
60
|
+
id: this.generateId(),
|
|
61
|
+
timestamp: new Date().toISOString()
|
|
62
|
+
};
|
|
63
|
+
this.logs.push(logEntry);
|
|
64
|
+
if (this.logs.length > this.maxLogs) {
|
|
65
|
+
this.logs = this.logs.slice(-this.maxLogs);
|
|
66
|
+
}
|
|
67
|
+
this.logListeners.forEach(listener => {
|
|
68
|
+
try {
|
|
69
|
+
listener(logEntry);
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
console.error('Error notifying log listener:', error);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
this.logToConsole(logEntry);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Convenience methods with type-safe contexts
|
|
79
|
+
*/
|
|
80
|
+
debug(source, category, message, context) {
|
|
81
|
+
this.log({ source, category, level: 'debug', message, context });
|
|
82
|
+
}
|
|
83
|
+
info(source, category, message, context) {
|
|
84
|
+
this.log({ source, category, level: 'info', message, context });
|
|
85
|
+
}
|
|
86
|
+
warn(source, category, message, context) {
|
|
87
|
+
this.log({ source, category, level: 'warn', message, context });
|
|
88
|
+
}
|
|
89
|
+
error(source, category, message, context) {
|
|
90
|
+
this.log({ source, category, level: 'error', message, context });
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Specialized convenience method for function execution
|
|
94
|
+
*/
|
|
95
|
+
logFunctionExecution(functionId, status, details) {
|
|
96
|
+
const messages = {
|
|
97
|
+
started: 'Function execution started',
|
|
98
|
+
success: 'Function execution completed successfully',
|
|
99
|
+
error: 'Function execution failed'
|
|
100
|
+
};
|
|
101
|
+
this.log({
|
|
102
|
+
source: LogSource.App,
|
|
103
|
+
category: LogCategory.Function,
|
|
104
|
+
level: status === 'error' ? 'error' : 'info',
|
|
105
|
+
message: messages[status],
|
|
106
|
+
context: {
|
|
107
|
+
id: functionId,
|
|
108
|
+
...details
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Specialized convenience method for lifecycle execution
|
|
114
|
+
*/
|
|
115
|
+
logLifecycleExecution(hookName, status, details) {
|
|
116
|
+
const messages = {
|
|
117
|
+
started: 'Lifecycle hook execution started',
|
|
118
|
+
success: 'Lifecycle hook execution completed successfully',
|
|
119
|
+
error: 'Lifecycle hook execution failed'
|
|
120
|
+
};
|
|
121
|
+
this.log({
|
|
122
|
+
source: LogSource.App,
|
|
123
|
+
category: LogCategory.Lifecycle,
|
|
124
|
+
level: status === 'error' ? 'error' : 'info',
|
|
125
|
+
message: messages[status],
|
|
126
|
+
context: {
|
|
127
|
+
id: hookName,
|
|
128
|
+
...details
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Specialized convenience method for destination execution
|
|
134
|
+
*/
|
|
135
|
+
logDestinationExecution(destinationId, operation, status, details) {
|
|
136
|
+
const messages = {
|
|
137
|
+
started: {
|
|
138
|
+
ready: 'Executing ready() for destination',
|
|
139
|
+
deliver: 'Delivering batch to destination',
|
|
140
|
+
schema: 'Loading schema for destination'
|
|
141
|
+
},
|
|
142
|
+
success: {
|
|
143
|
+
ready: 'Destination ready() completed successfully',
|
|
144
|
+
deliver: 'Batch delivered successfully',
|
|
145
|
+
schema: 'Schema loaded successfully'
|
|
146
|
+
},
|
|
147
|
+
error: {
|
|
148
|
+
ready: 'Destination ready() failed',
|
|
149
|
+
deliver: 'Batch delivery failed',
|
|
150
|
+
schema: 'Schema loading failed'
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
this.log({
|
|
154
|
+
source: LogSource.System,
|
|
155
|
+
category: LogCategory.AppRunner,
|
|
156
|
+
level: status === 'error' ? 'error' : 'info',
|
|
157
|
+
message: messages[status][operation],
|
|
158
|
+
context: {
|
|
159
|
+
id: destinationId,
|
|
160
|
+
operation,
|
|
161
|
+
...details
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Specialized convenience method for build events
|
|
167
|
+
*/
|
|
168
|
+
logBuildEvent(status, details) {
|
|
169
|
+
const messages = {
|
|
170
|
+
started: 'Build started',
|
|
171
|
+
success: 'Build completed successfully',
|
|
172
|
+
error: 'Build failed'
|
|
173
|
+
};
|
|
174
|
+
this.log({
|
|
175
|
+
source: LogSource.System,
|
|
176
|
+
category: LogCategory.Build,
|
|
177
|
+
level: status === 'error' ? 'error' : 'info',
|
|
178
|
+
message: messages[status],
|
|
179
|
+
context: {
|
|
180
|
+
id: 'build',
|
|
181
|
+
...details
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Log function output/console logs
|
|
187
|
+
*/
|
|
188
|
+
logFunctionOutput(functionId, output, isError = false) {
|
|
189
|
+
const lines = output.split('\n').filter(line => line.trim());
|
|
190
|
+
lines.forEach(line => {
|
|
191
|
+
this.log({
|
|
192
|
+
source: LogSource.App,
|
|
193
|
+
category: LogCategory.Function,
|
|
194
|
+
level: isError ? 'error' : 'info',
|
|
195
|
+
message: line.trim(),
|
|
196
|
+
context: { id: functionId }
|
|
197
|
+
});
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Log build output
|
|
202
|
+
*/
|
|
203
|
+
logBuildOutput(output, isError = false) {
|
|
204
|
+
const lines = output.split('\n').filter(line => line.trim());
|
|
205
|
+
lines.forEach(line => {
|
|
206
|
+
this.log({
|
|
207
|
+
source: LogSource.System,
|
|
208
|
+
category: LogCategory.Build,
|
|
209
|
+
level: isError ? 'error' : 'info',
|
|
210
|
+
message: line.trim(),
|
|
211
|
+
context: { id: 'build' }
|
|
212
|
+
});
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Log source execution events
|
|
217
|
+
*/
|
|
218
|
+
logSourceExecution(sourceId, operation, status, additionalContext) {
|
|
219
|
+
const level = status === 'error' ? 'error' : 'info';
|
|
220
|
+
const message = `Source ${operation} ${status}`;
|
|
221
|
+
this.log({
|
|
222
|
+
source: LogSource.System,
|
|
223
|
+
category: LogCategory.Source,
|
|
224
|
+
level,
|
|
225
|
+
message,
|
|
226
|
+
context: {
|
|
227
|
+
id: sourceId,
|
|
228
|
+
operation,
|
|
229
|
+
...additionalContext
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Get logs with optional filtering
|
|
235
|
+
*/
|
|
236
|
+
getLogs(options) {
|
|
237
|
+
let filteredLogs = this.logs;
|
|
238
|
+
// Apply filters
|
|
239
|
+
if (options?.source) {
|
|
240
|
+
filteredLogs = filteredLogs.filter(log => log.source === options.source);
|
|
241
|
+
}
|
|
242
|
+
if (options?.level) {
|
|
243
|
+
const levels = ['debug', 'info', 'warn', 'error'];
|
|
244
|
+
const minLevelIndex = levels.indexOf(options.level);
|
|
245
|
+
filteredLogs = filteredLogs.filter(log => levels.indexOf(log.level) >= minLevelIndex);
|
|
246
|
+
}
|
|
247
|
+
if (options?.since) {
|
|
248
|
+
const sinceTime = new Date(options.since).getTime();
|
|
249
|
+
filteredLogs = filteredLogs.filter(log => new Date(log.timestamp).getTime() >= sinceTime);
|
|
250
|
+
}
|
|
251
|
+
if (options?.category) {
|
|
252
|
+
filteredLogs = filteredLogs.filter(log => log.category === options.category);
|
|
253
|
+
}
|
|
254
|
+
// Apply limit
|
|
255
|
+
const limit = options?.limit || 100;
|
|
256
|
+
return filteredLogs.slice(-limit);
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Clear all logs
|
|
260
|
+
*/
|
|
261
|
+
clearLogs() {
|
|
262
|
+
this.logs = [];
|
|
263
|
+
this.info(LogSource.System, LogCategory.AppRunner, 'Logs cleared', { id: 'unknown' });
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Add a listener for new log entries
|
|
267
|
+
*/
|
|
268
|
+
addListener(listener) {
|
|
269
|
+
this.logListeners.push(listener);
|
|
270
|
+
// Return unsubscribe function
|
|
271
|
+
return () => {
|
|
272
|
+
const index = this.logListeners.indexOf(listener);
|
|
273
|
+
if (index > -1) {
|
|
274
|
+
this.logListeners.splice(index, 1);
|
|
275
|
+
}
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Generate a unique ID for log entries
|
|
280
|
+
*/
|
|
281
|
+
generateId() {
|
|
282
|
+
return `${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Log to console with new format
|
|
286
|
+
*/
|
|
287
|
+
logToConsole(entry) {
|
|
288
|
+
if (process.env.DISABLE_LOGMANAGER_CONSOLE === 'true') {
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
291
|
+
// New format: [timestamp] - [source:category:id] - [level] - [message]
|
|
292
|
+
const timestamp = entry.timestamp;
|
|
293
|
+
const id = entry.context?.id || 'unknown';
|
|
294
|
+
const sourceCategoryId = `${entry.source}:${entry.category}:${id}`;
|
|
295
|
+
const level = entry.level;
|
|
296
|
+
const prefix = `[${timestamp}] - [${sourceCategoryId}] - [${level}]`;
|
|
297
|
+
// Escape newlines for single-line console output
|
|
298
|
+
const escapedMessage = entry.message
|
|
299
|
+
.replace(/\n/g, '\\n')
|
|
300
|
+
.replace(/\r/g, '\\r');
|
|
301
|
+
// Include context if present (excluding id since it's in the prefix)
|
|
302
|
+
let contextStr = '';
|
|
303
|
+
if (entry.context && Object.keys(entry.context).length > 0) {
|
|
304
|
+
const { id: _, ...contextWithoutId } = entry.context;
|
|
305
|
+
if (Object.keys(contextWithoutId).length > 0) {
|
|
306
|
+
contextStr = ` ${JSON.stringify(contextWithoutId)}`;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
const fullMessage = `${prefix} - ${escapedMessage}${contextStr}`;
|
|
310
|
+
switch (entry.level) {
|
|
311
|
+
case 'error':
|
|
312
|
+
console.error(fullMessage);
|
|
313
|
+
break;
|
|
314
|
+
case 'warn':
|
|
315
|
+
console.warn(fullMessage);
|
|
316
|
+
break;
|
|
317
|
+
case 'debug':
|
|
318
|
+
console.debug(fullMessage);
|
|
319
|
+
break;
|
|
320
|
+
default:
|
|
321
|
+
console.log(fullMessage);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Get log statistics
|
|
326
|
+
*/
|
|
327
|
+
getStats() {
|
|
328
|
+
const bySource = {};
|
|
329
|
+
const byLevel = {};
|
|
330
|
+
this.logs.forEach(log => {
|
|
331
|
+
bySource[log.source] = (bySource[log.source] || 0) + 1;
|
|
332
|
+
byLevel[log.level] = (byLevel[log.level] || 0) + 1;
|
|
333
|
+
});
|
|
334
|
+
return {
|
|
335
|
+
total: this.logs.length,
|
|
336
|
+
bySource,
|
|
337
|
+
byLevel
|
|
338
|
+
};
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
exports.LogManager = LogManager;
|
|
342
|
+
LogManager.instance = null;
|
|
343
|
+
//# 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 { AppWatcher } from '../../executor/watcher';
|
|
4
|
+
/**
|
|
5
|
+
* Create API routes for destination testing
|
|
6
|
+
*/
|
|
7
|
+
export declare function createDestinationRoutes(app: App, watcher?: AppWatcher): express.Router;
|