@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.
- package/README.md +165 -0
- package/dist/package.json +104 -0
- package/dist/public/bundle.da978bb5437cd82e6d37.js +3 -0
- package/dist/public/bundle.da978bb5437cd82e6d37.js.LICENSE.txt +49 -0
- package/dist/public/bundle.da978bb5437cd82e6d37.js.map +1 -0
- package/dist/public/index.html +1 -0
- package/dist/src/cli.d.ts +2 -0
- package/dist/src/cli.js +88 -0
- package/dist/src/cli.js.map +1 -0
- package/dist/src/executor/FunctionExecutor.d.ts +56 -0
- package/dist/src/executor/FunctionExecutor.js +175 -0
- package/dist/src/executor/FunctionExecutor.js.map +1 -0
- package/dist/src/executor/JobExecutor.d.ts +60 -0
- package/dist/src/executor/JobExecutor.js +203 -0
- package/dist/src/executor/JobExecutor.js.map +1 -0
- package/dist/src/executor/LifecycleExecutor.d.ts +45 -0
- package/dist/src/executor/LifecycleExecutor.js +153 -0
- package/dist/src/executor/LifecycleExecutor.js.map +1 -0
- package/dist/src/executor/watcher.d.ts +63 -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/LocalNotifier.d.ts +10 -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 +79 -0
- package/dist/src/local_engine/local-engine-child-base.js +304 -0
- package/dist/src/local_engine/local-engine-child-base.js.map +1 -0
- package/dist/src/local_engine/local-engine-client.d.ts +80 -0
- package/dist/src/local_engine/local-engine-client.js +333 -0
- package/dist/src/local_engine/local-engine-client.js.map +1 -0
- package/dist/src/local_engine/local-engine-types.d.ts +132 -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 +40 -0
- package/dist/src/local_engine/local-engine-unified.js +406 -0
- package/dist/src/local_engine/local-engine-unified.js.map +1 -0
- package/dist/src/local_engine/local-engine-utils.d.ts +70 -0
- package/dist/src/local_engine/local-engine-utils.js +192 -0
- package/dist/src/local_engine/local-engine-utils.js.map +1 -0
- package/dist/src/local_engine/localSDKConfig.d.ts +30 -0
- package/dist/src/local_engine/localSDKConfig.js +392 -0
- package/dist/src/local_engine/localSDKConfig.js.map +1 -0
- package/dist/src/local_engine/storage/LocalConfigStore.d.ts +56 -0
- package/dist/src/local_engine/storage/LocalConfigStore.js +129 -0
- package/dist/src/local_engine/storage/LocalConfigStore.js.map +1 -0
- package/dist/src/local_engine/storage/LocalJobStore.d.ts +110 -0
- package/dist/src/local_engine/storage/LocalJobStore.js +239 -0
- package/dist/src/local_engine/storage/LocalJobStore.js.map +1 -0
- package/dist/src/local_engine/storage/LocalKVStore.d.ts +105 -0
- package/dist/src/local_engine/storage/LocalKVStore.js +1002 -0
- package/dist/src/local_engine/storage/LocalKVStore.js.map +1 -0
- package/dist/src/local_engine/storage/LocalNotificationStore.d.ts +27 -0
- package/dist/src/local_engine/storage/LocalNotificationStore.js +125 -0
- package/dist/src/local_engine/storage/LocalNotificationStore.js.map +1 -0
- package/dist/src/local_engine/storage/LocalSecretsStore.d.ts +114 -0
- package/dist/src/local_engine/storage/LocalSecretsStore.js +319 -0
- package/dist/src/local_engine/storage/LocalSecretsStore.js.map +1 -0
- package/dist/src/local_engine/storage/LocalSettingsStore.d.ts +161 -0
- package/dist/src/local_engine/storage/LocalSettingsStore.js +417 -0
- package/dist/src/local_engine/storage/LocalSettingsStore.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/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 +52 -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 +31 -0
- package/dist/src/local_engine/utils.js +126 -0
- package/dist/src/local_engine/utils.js.map +1 -0
- package/dist/src/logging/LogManager.d.ts +89 -0
- package/dist/src/logging/LogManager.js +237 -0
- package/dist/src/logging/LogManager.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 +8 -0
- package/dist/src/server/api/jobs.js +242 -0
- package/dist/src/server/api/jobs.js.map +1 -0
- package/dist/src/server/api/lifecycle.d.ts +6 -0
- package/dist/src/server/api/lifecycle.js +73 -0
- package/dist/src/server/api/lifecycle.js.map +1 -0
- package/dist/src/server/api/settings.d.ts +6 -0
- package/dist/src/server/api/settings.js +117 -0
- package/dist/src/server/api/settings.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 +711 -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 +154 -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 +81 -0
- package/dist/src/server/app-discovery.js.map +1 -0
- package/dist/src/server/config.d.ts +21 -0
- package/dist/src/server/config.js +100 -0
- package/dist/src/server/config.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 +546 -0
- package/dist/src/server.js.map +1 -0
- package/dist/src/types/app.d.ts +155 -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 +255 -0
- package/dist/src/ui/components/App.js.map +1 -0
- package/dist/src/ui/components/FunctionsView.d.ts +6 -0
- package/dist/src/ui/components/FunctionsView.js +217 -0
- package/dist/src/ui/components/FunctionsView.js.map +1 -0
- package/dist/src/ui/components/JobsView.d.ts +6 -0
- package/dist/src/ui/components/JobsView.js +257 -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/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/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 +15 -0
- package/dist/src/ui/components/TabbedConsole.js +93 -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/index.d.ts +1 -0
- package/dist/src/ui/index.js +20 -0
- package/dist/src/ui/index.js.map +1 -0
- package/package.json +104 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalSecretsStore.js","sourceRoot":"","sources":["../../../../src/local_engine/storage/LocalSecretsStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interface for local app settings
|
|
3
|
+
*/
|
|
4
|
+
export interface LocalAppSettings {
|
|
5
|
+
[key: string]: any;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Interface for settings field metadata
|
|
9
|
+
*/
|
|
10
|
+
export interface SettingsFieldSchema {
|
|
11
|
+
type?: string;
|
|
12
|
+
secret?: boolean;
|
|
13
|
+
required?: boolean;
|
|
14
|
+
description?: string;
|
|
15
|
+
default?: any;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Interface for settings section schema
|
|
19
|
+
*/
|
|
20
|
+
export interface SettingsSectionSchema {
|
|
21
|
+
[fieldName: string]: SettingsFieldSchema;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Interface for complete settings schema
|
|
25
|
+
*/
|
|
26
|
+
export interface SettingsSchema {
|
|
27
|
+
[sectionName: string]: SettingsSectionSchema;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Interface for settings field with metadata
|
|
31
|
+
*/
|
|
32
|
+
export interface SettingsFieldWithMetadata {
|
|
33
|
+
value: any;
|
|
34
|
+
isSecret: boolean;
|
|
35
|
+
isFromYml: boolean;
|
|
36
|
+
hasLocalValue: boolean;
|
|
37
|
+
fieldSchema?: SettingsFieldSchema;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Local settings store that manages app settings in .ocp-local/settings.json
|
|
41
|
+
* Implements singleton pattern to ensure consistent state across wrapper and API
|
|
42
|
+
*/
|
|
43
|
+
export declare class LocalSettingsStore {
|
|
44
|
+
private static instances;
|
|
45
|
+
private settingsPath;
|
|
46
|
+
private configDirPath;
|
|
47
|
+
private appRootDir;
|
|
48
|
+
private settingsYmlSections;
|
|
49
|
+
private settingsSchema;
|
|
50
|
+
private constructor();
|
|
51
|
+
/**
|
|
52
|
+
* Get or create a singleton instance for the given app directory
|
|
53
|
+
*/
|
|
54
|
+
static getInstance(appRootDir: string): LocalSettingsStore;
|
|
55
|
+
/**
|
|
56
|
+
* Clear singleton instance for the given app directory (useful for testing)
|
|
57
|
+
*/
|
|
58
|
+
static clearInstance(appRootDir: string): void;
|
|
59
|
+
/**
|
|
60
|
+
* Clear all singleton instances (useful for testing)
|
|
61
|
+
*/
|
|
62
|
+
static clearAllInstances(): void;
|
|
63
|
+
/**
|
|
64
|
+
* Parse settings.yml file to extract sections and field schemas
|
|
65
|
+
*/
|
|
66
|
+
private parseSettingsYml;
|
|
67
|
+
/**
|
|
68
|
+
* Parse field schema from settings.yml fields array
|
|
69
|
+
*/
|
|
70
|
+
private parseFieldsSchema;
|
|
71
|
+
/**
|
|
72
|
+
* Parse field schema from JSON Schema style properties
|
|
73
|
+
*/
|
|
74
|
+
private parseJsonSchemaFields;
|
|
75
|
+
/**
|
|
76
|
+
* Create default settings structure based on sections from settings.yml
|
|
77
|
+
*/
|
|
78
|
+
private createDefaultSettings;
|
|
79
|
+
/**
|
|
80
|
+
* Ensure settings file exists with default structure
|
|
81
|
+
*/
|
|
82
|
+
private ensureSettingsFileExists;
|
|
83
|
+
/**
|
|
84
|
+
* Load settings from disk every time
|
|
85
|
+
*/
|
|
86
|
+
private loadSettingsFromDisk;
|
|
87
|
+
/**
|
|
88
|
+
* Save settings to disk
|
|
89
|
+
*/
|
|
90
|
+
private saveSettingsToDisk;
|
|
91
|
+
/**
|
|
92
|
+
* Get all current settings
|
|
93
|
+
*/
|
|
94
|
+
getSettings(): LocalAppSettings;
|
|
95
|
+
/**
|
|
96
|
+
* Get settings as JSON string for API response
|
|
97
|
+
*/
|
|
98
|
+
getSettingsAsJson(): string;
|
|
99
|
+
/**
|
|
100
|
+
* Get a specific setting value
|
|
101
|
+
*/
|
|
102
|
+
getSetting(key: string): any;
|
|
103
|
+
/**
|
|
104
|
+
* Set a specific setting value
|
|
105
|
+
*/
|
|
106
|
+
setSetting(key: string, value: any): void;
|
|
107
|
+
/**
|
|
108
|
+
* Update multiple settings at once
|
|
109
|
+
*/
|
|
110
|
+
updateSettings(newSettings: Partial<LocalAppSettings>): void;
|
|
111
|
+
/**
|
|
112
|
+
* Update settings from JSON string
|
|
113
|
+
*/
|
|
114
|
+
updateSettingsFromJson(jsonString: string): void;
|
|
115
|
+
/**
|
|
116
|
+
* Clear all settings (reset to empty)
|
|
117
|
+
*/
|
|
118
|
+
clearSettings(): void;
|
|
119
|
+
/**
|
|
120
|
+
* Check if settings are empty
|
|
121
|
+
*/
|
|
122
|
+
isEmpty(): boolean;
|
|
123
|
+
/**
|
|
124
|
+
* Remove a specific setting
|
|
125
|
+
*/
|
|
126
|
+
removeSetting(key: string): boolean;
|
|
127
|
+
/**
|
|
128
|
+
* Get the list of sections parsed from settings.yml
|
|
129
|
+
*/
|
|
130
|
+
getSections(): string[];
|
|
131
|
+
/**
|
|
132
|
+
* Get settings for a specific section
|
|
133
|
+
*/
|
|
134
|
+
getSectionSettings(sectionName: string): any;
|
|
135
|
+
/**
|
|
136
|
+
* Update settings for a specific section
|
|
137
|
+
*/
|
|
138
|
+
updateSectionSettings(sectionName: string, sectionSettings: any): void;
|
|
139
|
+
/**
|
|
140
|
+
* Get the parsed settings schema from settings.yml
|
|
141
|
+
*/
|
|
142
|
+
getSettingsSchema(): SettingsSchema;
|
|
143
|
+
/**
|
|
144
|
+
* Get schema for a specific section
|
|
145
|
+
*/
|
|
146
|
+
getSectionSchema(sectionName: string): SettingsSectionSchema;
|
|
147
|
+
/**
|
|
148
|
+
* Get settings for a section with metadata about each field
|
|
149
|
+
*/
|
|
150
|
+
getSectionSettingsWithMetadata(sectionName: string): {
|
|
151
|
+
[fieldName: string]: SettingsFieldWithMetadata;
|
|
152
|
+
};
|
|
153
|
+
/**
|
|
154
|
+
* Get all settings with metadata organized by section
|
|
155
|
+
*/
|
|
156
|
+
getAllSettingsWithMetadata(): {
|
|
157
|
+
[sectionName: string]: {
|
|
158
|
+
[fieldName: string]: SettingsFieldWithMetadata;
|
|
159
|
+
};
|
|
160
|
+
};
|
|
161
|
+
}
|
|
@@ -0,0 +1,417 @@
|
|
|
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.LocalSettingsStore = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
10
|
+
/**
|
|
11
|
+
* Default settings - empty object
|
|
12
|
+
*/
|
|
13
|
+
const DEFAULT_SETTINGS = {};
|
|
14
|
+
/**
|
|
15
|
+
* Local settings store that manages app settings in .ocp-local/settings.json
|
|
16
|
+
* Implements singleton pattern to ensure consistent state across wrapper and API
|
|
17
|
+
*/
|
|
18
|
+
class LocalSettingsStore {
|
|
19
|
+
constructor(appRootDir) {
|
|
20
|
+
this.settingsYmlSections = [];
|
|
21
|
+
this.settingsSchema = {};
|
|
22
|
+
this.appRootDir = appRootDir;
|
|
23
|
+
this.configDirPath = path_1.default.join(appRootDir, '.ocp-local');
|
|
24
|
+
this.settingsPath = path_1.default.join(this.configDirPath, 'settings.json');
|
|
25
|
+
this.parseSettingsYml();
|
|
26
|
+
// Initialize settings file if it doesn't exist
|
|
27
|
+
this.ensureSettingsFileExists();
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Get or create a singleton instance for the given app directory
|
|
31
|
+
*/
|
|
32
|
+
static getInstance(appRootDir) {
|
|
33
|
+
const normalizedPath = path_1.default.resolve(appRootDir);
|
|
34
|
+
if (!this.instances.has(normalizedPath)) {
|
|
35
|
+
this.instances.set(normalizedPath, new LocalSettingsStore(normalizedPath));
|
|
36
|
+
}
|
|
37
|
+
return this.instances.get(normalizedPath);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Clear singleton instance for the given app directory (useful for testing)
|
|
41
|
+
*/
|
|
42
|
+
static clearInstance(appRootDir) {
|
|
43
|
+
const normalizedPath = path_1.default.resolve(appRootDir);
|
|
44
|
+
this.instances.delete(normalizedPath);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Clear all singleton instances (useful for testing)
|
|
48
|
+
*/
|
|
49
|
+
static clearAllInstances() {
|
|
50
|
+
this.instances.clear();
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Parse settings.yml file to extract sections and field schemas
|
|
54
|
+
*/
|
|
55
|
+
parseSettingsYml() {
|
|
56
|
+
try {
|
|
57
|
+
const settingsYmlPath = path_1.default.join(this.appRootDir, 'forms', 'settings.yml');
|
|
58
|
+
if (!fs_1.default.existsSync(settingsYmlPath)) {
|
|
59
|
+
console.warn(`No settings.yml found at ${settingsYmlPath}, using default sections`);
|
|
60
|
+
// Set default sections and empty schema when no settings.yml exists
|
|
61
|
+
this.settingsYmlSections = ['general', 'authentication', 'configuration'];
|
|
62
|
+
this.settingsSchema = {};
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const yamlContent = fs_1.default.readFileSync(settingsYmlPath, 'utf-8');
|
|
66
|
+
const parsed = js_yaml_1.default.load(yamlContent);
|
|
67
|
+
if (!parsed || typeof parsed !== 'object') {
|
|
68
|
+
console.warn('Invalid settings.yml format');
|
|
69
|
+
this.settingsYmlSections = [];
|
|
70
|
+
this.settingsSchema = {};
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
// Extract sections and build schema
|
|
74
|
+
const sections = [];
|
|
75
|
+
const schema = {};
|
|
76
|
+
// Handle different settings.yml formats
|
|
77
|
+
if (parsed.sections && Array.isArray(parsed.sections)) {
|
|
78
|
+
// Format 1: sections array with field definitions
|
|
79
|
+
parsed.sections.forEach((section) => {
|
|
80
|
+
if (typeof section === 'object' && (section.key || section.name)) {
|
|
81
|
+
const sectionName = section.key || section.name;
|
|
82
|
+
sections.push(sectionName);
|
|
83
|
+
schema[sectionName] = this.parseFieldsSchema(section.fields || []);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
else if (parsed.properties && typeof parsed.properties === 'object') {
|
|
88
|
+
// Format 2: JSON Schema style with properties
|
|
89
|
+
Object.entries(parsed.properties).forEach(([sectionName, sectionDef]) => {
|
|
90
|
+
sections.push(sectionName);
|
|
91
|
+
if (sectionDef.properties) {
|
|
92
|
+
schema[sectionName] = this.parseJsonSchemaFields(sectionDef.properties);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
schema[sectionName] = {};
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
// Format 3: Direct section objects or sections as object keys
|
|
101
|
+
if (parsed.sections && typeof parsed.sections === 'object') {
|
|
102
|
+
// sections as object with keys
|
|
103
|
+
Object.keys(parsed.sections).forEach(sectionName => {
|
|
104
|
+
sections.push(sectionName);
|
|
105
|
+
const sectionDef = parsed.sections[sectionName];
|
|
106
|
+
if (sectionDef && typeof sectionDef === 'object' && sectionDef.fields) {
|
|
107
|
+
schema[sectionName] = this.parseFieldsSchema(sectionDef.fields);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
schema[sectionName] = {};
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
// Look for top-level keys that might be sections
|
|
116
|
+
Object.entries(parsed).forEach(([key, value]) => {
|
|
117
|
+
// Skip metadata keys
|
|
118
|
+
if (!['version', 'title', 'description', 'type', 'schema'].includes(key.toLowerCase())) {
|
|
119
|
+
sections.push(key);
|
|
120
|
+
if (value && typeof value === 'object' && value.fields) {
|
|
121
|
+
schema[key] = this.parseFieldsSchema(value.fields);
|
|
122
|
+
}
|
|
123
|
+
else if (value && typeof value === 'object') {
|
|
124
|
+
// Assume direct field definitions
|
|
125
|
+
schema[key] = this.parseJsonSchemaFields(value);
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
schema[key] = {};
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
this.settingsYmlSections = sections;
|
|
135
|
+
this.settingsSchema = schema;
|
|
136
|
+
console.log(`Found sections in settings.yml: ${sections.join(', ')}`);
|
|
137
|
+
console.log(`Parsed schema for ${Object.keys(schema).length} sections`);
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
console.warn(`Error parsing settings.yml:`, error);
|
|
141
|
+
this.settingsYmlSections = [];
|
|
142
|
+
this.settingsSchema = {};
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Parse field schema from settings.yml fields array
|
|
147
|
+
*/
|
|
148
|
+
parseFieldsSchema(fields) {
|
|
149
|
+
const schema = {};
|
|
150
|
+
if (!Array.isArray(fields))
|
|
151
|
+
return schema;
|
|
152
|
+
fields.forEach((field) => {
|
|
153
|
+
if (field && typeof field === 'object' && (field.name || field.key)) {
|
|
154
|
+
const fieldName = field.name || field.key;
|
|
155
|
+
schema[fieldName] = {
|
|
156
|
+
type: field.type || 'string',
|
|
157
|
+
secret: field.secret === true || field.type === 'password',
|
|
158
|
+
required: field.required === true,
|
|
159
|
+
description: field.description || field.label,
|
|
160
|
+
default: field.default
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
return schema;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Parse field schema from JSON Schema style properties
|
|
168
|
+
*/
|
|
169
|
+
parseJsonSchemaFields(properties) {
|
|
170
|
+
const schema = {};
|
|
171
|
+
if (!properties || typeof properties !== 'object')
|
|
172
|
+
return schema;
|
|
173
|
+
Object.entries(properties).forEach(([fieldName, fieldDef]) => {
|
|
174
|
+
if (fieldDef && typeof fieldDef === 'object') {
|
|
175
|
+
schema[fieldName] = {
|
|
176
|
+
type: fieldDef.type || 'string',
|
|
177
|
+
secret: fieldDef.secret === true || fieldDef.format === 'password' || fieldName.toLowerCase().includes('password') || fieldName.toLowerCase().includes('secret'),
|
|
178
|
+
required: fieldDef.required === true,
|
|
179
|
+
description: fieldDef.description || fieldDef.title,
|
|
180
|
+
default: fieldDef.default
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
return schema;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Create default settings structure based on sections from settings.yml
|
|
188
|
+
*/
|
|
189
|
+
createDefaultSettings() {
|
|
190
|
+
const defaultSettings = {};
|
|
191
|
+
// Create an empty object for each section found in settings.yml
|
|
192
|
+
this.settingsYmlSections.forEach(section => {
|
|
193
|
+
defaultSettings[section] = {};
|
|
194
|
+
});
|
|
195
|
+
return defaultSettings;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Ensure settings file exists with default structure
|
|
199
|
+
*/
|
|
200
|
+
ensureSettingsFileExists() {
|
|
201
|
+
try {
|
|
202
|
+
// Ensure the .ocp-local directory exists
|
|
203
|
+
if (!fs_1.default.existsSync(this.configDirPath)) {
|
|
204
|
+
fs_1.default.mkdirSync(this.configDirPath, { recursive: true });
|
|
205
|
+
}
|
|
206
|
+
// Create default settings file if it doesn't exist
|
|
207
|
+
if (!fs_1.default.existsSync(this.settingsPath)) {
|
|
208
|
+
const defaultSettings = this.createDefaultSettings();
|
|
209
|
+
this.saveSettingsToDisk(defaultSettings);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
catch (error) {
|
|
213
|
+
console.warn(`Failed to ensure settings file exists at ${this.settingsPath}:`, error);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Load settings from disk every time
|
|
218
|
+
*/
|
|
219
|
+
loadSettingsFromDisk() {
|
|
220
|
+
try {
|
|
221
|
+
if (fs_1.default.existsSync(this.settingsPath)) {
|
|
222
|
+
const settingsData = fs_1.default.readFileSync(this.settingsPath, 'utf-8');
|
|
223
|
+
const existingSettings = JSON.parse(settingsData);
|
|
224
|
+
// Merge with section-based defaults to ensure all sections exist
|
|
225
|
+
const defaultSettings = this.createDefaultSettings();
|
|
226
|
+
return { ...defaultSettings, ...existingSettings };
|
|
227
|
+
}
|
|
228
|
+
// Return default settings if file doesn't exist
|
|
229
|
+
return this.createDefaultSettings();
|
|
230
|
+
}
|
|
231
|
+
catch (error) {
|
|
232
|
+
console.warn(`Failed to load settings from ${this.settingsPath}:`, error);
|
|
233
|
+
return this.createDefaultSettings();
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Save settings to disk
|
|
238
|
+
*/
|
|
239
|
+
saveSettingsToDisk(settings) {
|
|
240
|
+
try {
|
|
241
|
+
// Ensure the .ocp-local directory exists
|
|
242
|
+
if (!fs_1.default.existsSync(this.configDirPath)) {
|
|
243
|
+
fs_1.default.mkdirSync(this.configDirPath, { recursive: true });
|
|
244
|
+
}
|
|
245
|
+
// Write settings to file
|
|
246
|
+
fs_1.default.writeFileSync(this.settingsPath, JSON.stringify(settings, null, 2), 'utf-8');
|
|
247
|
+
}
|
|
248
|
+
catch (error) {
|
|
249
|
+
console.error(`Failed to save settings to ${this.settingsPath}:`, error);
|
|
250
|
+
throw error;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Get all current settings
|
|
255
|
+
*/
|
|
256
|
+
getSettings() {
|
|
257
|
+
const settings = this.loadSettingsFromDisk();
|
|
258
|
+
return { ...settings };
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Get settings as JSON string for API response
|
|
262
|
+
*/
|
|
263
|
+
getSettingsAsJson() {
|
|
264
|
+
const settings = this.loadSettingsFromDisk();
|
|
265
|
+
return JSON.stringify(settings);
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Get a specific setting value
|
|
269
|
+
*/
|
|
270
|
+
getSetting(key) {
|
|
271
|
+
const settings = this.loadSettingsFromDisk();
|
|
272
|
+
return settings[key];
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Set a specific setting value
|
|
276
|
+
*/
|
|
277
|
+
setSetting(key, value) {
|
|
278
|
+
const settings = this.loadSettingsFromDisk();
|
|
279
|
+
settings[key] = value;
|
|
280
|
+
this.saveSettingsToDisk(settings);
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Update multiple settings at once
|
|
284
|
+
*/
|
|
285
|
+
updateSettings(newSettings) {
|
|
286
|
+
const settings = this.loadSettingsFromDisk();
|
|
287
|
+
const updatedSettings = { ...settings, ...newSettings };
|
|
288
|
+
this.saveSettingsToDisk(updatedSettings);
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Update settings from JSON string
|
|
292
|
+
*/
|
|
293
|
+
updateSettingsFromJson(jsonString) {
|
|
294
|
+
try {
|
|
295
|
+
const parsedSettings = JSON.parse(jsonString);
|
|
296
|
+
this.updateSettings(parsedSettings);
|
|
297
|
+
}
|
|
298
|
+
catch (error) {
|
|
299
|
+
throw new Error(`Invalid JSON provided: ${error instanceof Error ? error.message : String(error)}`);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Clear all settings (reset to empty)
|
|
304
|
+
*/
|
|
305
|
+
clearSettings() {
|
|
306
|
+
const defaultSettings = this.createDefaultSettings();
|
|
307
|
+
this.saveSettingsToDisk(defaultSettings);
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Check if settings are empty
|
|
311
|
+
*/
|
|
312
|
+
isEmpty() {
|
|
313
|
+
const settings = this.loadSettingsFromDisk();
|
|
314
|
+
return Object.keys(settings).length === 0;
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Remove a specific setting
|
|
318
|
+
*/
|
|
319
|
+
removeSetting(key) {
|
|
320
|
+
const settings = this.loadSettingsFromDisk();
|
|
321
|
+
if (key in settings) {
|
|
322
|
+
delete settings[key];
|
|
323
|
+
this.saveSettingsToDisk(settings);
|
|
324
|
+
return true;
|
|
325
|
+
}
|
|
326
|
+
return false;
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Get the list of sections parsed from settings.yml
|
|
330
|
+
*/
|
|
331
|
+
getSections() {
|
|
332
|
+
return [...this.settingsYmlSections];
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Get settings for a specific section
|
|
336
|
+
*/
|
|
337
|
+
getSectionSettings(sectionName) {
|
|
338
|
+
const settings = this.loadSettingsFromDisk();
|
|
339
|
+
return settings[sectionName] || {};
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Update settings for a specific section
|
|
343
|
+
*/
|
|
344
|
+
updateSectionSettings(sectionName, sectionSettings) {
|
|
345
|
+
console.log(`[LocalSettingsStore] Updating section "${sectionName}" with:`, sectionSettings);
|
|
346
|
+
const settings = this.loadSettingsFromDisk();
|
|
347
|
+
settings[sectionName] = { ...settings[sectionName], ...sectionSettings };
|
|
348
|
+
console.log(`[LocalSettingsStore] Section "${sectionName}" now contains:`, settings[sectionName]);
|
|
349
|
+
this.saveSettingsToDisk(settings);
|
|
350
|
+
console.log(`[LocalSettingsStore] Settings saved to disk`);
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Get the parsed settings schema from settings.yml
|
|
354
|
+
*/
|
|
355
|
+
getSettingsSchema() {
|
|
356
|
+
return { ...this.settingsSchema };
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Get schema for a specific section
|
|
360
|
+
*/
|
|
361
|
+
getSectionSchema(sectionName) {
|
|
362
|
+
return { ...this.settingsSchema[sectionName] || {} };
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* Get settings for a section with metadata about each field
|
|
366
|
+
*/
|
|
367
|
+
getSectionSettingsWithMetadata(sectionName) {
|
|
368
|
+
const localSettings = this.loadSettingsFromDisk();
|
|
369
|
+
const sectionSettings = localSettings[sectionName] || {};
|
|
370
|
+
const sectionSchema = this.settingsSchema[sectionName] || {};
|
|
371
|
+
const result = {};
|
|
372
|
+
// Process all fields from schema (including those not in local settings)
|
|
373
|
+
Object.entries(sectionSchema).forEach(([fieldName, fieldSchema]) => {
|
|
374
|
+
const hasLocalValue = fieldName in sectionSettings;
|
|
375
|
+
const value = hasLocalValue ? sectionSettings[fieldName] : (fieldSchema.default || '');
|
|
376
|
+
result[fieldName] = {
|
|
377
|
+
value,
|
|
378
|
+
isSecret: fieldSchema.secret || false,
|
|
379
|
+
isFromYml: true,
|
|
380
|
+
hasLocalValue,
|
|
381
|
+
fieldSchema
|
|
382
|
+
};
|
|
383
|
+
});
|
|
384
|
+
// Process fields that exist in local settings but not in schema
|
|
385
|
+
Object.entries(sectionSettings).forEach(([fieldName, value]) => {
|
|
386
|
+
if (!(fieldName in sectionSchema)) {
|
|
387
|
+
result[fieldName] = {
|
|
388
|
+
value,
|
|
389
|
+
isSecret: false,
|
|
390
|
+
isFromYml: false,
|
|
391
|
+
hasLocalValue: true,
|
|
392
|
+
fieldSchema: undefined
|
|
393
|
+
};
|
|
394
|
+
}
|
|
395
|
+
});
|
|
396
|
+
return result;
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* Get all settings with metadata organized by section
|
|
400
|
+
*/
|
|
401
|
+
getAllSettingsWithMetadata() {
|
|
402
|
+
const result = {};
|
|
403
|
+
// Get all sections from both schema and local settings
|
|
404
|
+
const allSections = new Set([
|
|
405
|
+
...Object.keys(this.settingsSchema),
|
|
406
|
+
...this.settingsYmlSections,
|
|
407
|
+
...Object.keys(this.loadSettingsFromDisk())
|
|
408
|
+
]);
|
|
409
|
+
allSections.forEach(sectionName => {
|
|
410
|
+
result[sectionName] = this.getSectionSettingsWithMetadata(sectionName);
|
|
411
|
+
});
|
|
412
|
+
return result;
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
exports.LocalSettingsStore = LocalSettingsStore;
|
|
416
|
+
LocalSettingsStore.instances = new Map();
|
|
417
|
+
//# sourceMappingURL=LocalSettingsStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalSettingsStore.js","sourceRoot":"","sources":["../../../../src/local_engine/storage/LocalSettingsStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NumberSet - A Set implementation specifically for numbers
|
|
3
|
+
* Extends the built-in Set class to provide type-safe operations for numeric values
|
|
4
|
+
*/
|
|
5
|
+
export declare class NumberSet extends Set<number> {
|
|
6
|
+
constructor(values?: Iterable<number>);
|
|
7
|
+
/**
|
|
8
|
+
* Convert to JSON representation for serialization
|
|
9
|
+
*/
|
|
10
|
+
toJSON(): {
|
|
11
|
+
_type: string;
|
|
12
|
+
values: number[];
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Create NumberSet from JSON representation
|
|
16
|
+
*/
|
|
17
|
+
static fromJSON(json: {
|
|
18
|
+
_type: string;
|
|
19
|
+
values: number[];
|
|
20
|
+
}): NumberSet;
|
|
21
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NumberSet = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* NumberSet - A Set implementation specifically for numbers
|
|
6
|
+
* Extends the built-in Set class to provide type-safe operations for numeric values
|
|
7
|
+
*/
|
|
8
|
+
class NumberSet extends Set {
|
|
9
|
+
constructor(values) {
|
|
10
|
+
super(values);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Convert to JSON representation for serialization
|
|
14
|
+
*/
|
|
15
|
+
toJSON() {
|
|
16
|
+
return {
|
|
17
|
+
_type: 'NumberSet',
|
|
18
|
+
values: Array.from(this)
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Create NumberSet from JSON representation
|
|
23
|
+
*/
|
|
24
|
+
static fromJSON(json) {
|
|
25
|
+
if (json._type !== 'NumberSet') {
|
|
26
|
+
throw new Error('Invalid NumberSet JSON representation');
|
|
27
|
+
}
|
|
28
|
+
return new NumberSet(json.values);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.NumberSet = NumberSet;
|
|
32
|
+
//# sourceMappingURL=NumberSet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumberSet.js","sourceRoot":"","sources":["../../../../src/local_engine/storage/NumberSet.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"}
|