claude-flow-novice 1.5.13 → 1.5.14
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/.claude/agents/analysis/code-review/analyze-code-quality.md +160 -177
- package/.claude/agents/architecture/system-design/arch-system-design.md +118 -153
- package/.claude-flow-novice/dist/src/cli/simple-commands/init/templates/CLAUDE.md +2 -1
- package/.claude-flow-novice/dist/src/config/web-portal-config.js +2 -1
- package/.claude-flow-novice/dist/src/config/web-portal-config.js.map +1 -1
- package/.claude-flow-novice/dist/src/preferences/user-preference-manager.js +371 -0
- package/.claude-flow-novice/dist/src/preferences/user-preference-manager.js.map +1 -0
- package/.claude-flow-novice/dist/src/validators/index.js +8 -8
- package/.claude-flow-novice/dist/src/validators/todowrite-batching-validator.js +70 -70
- package/.claude-flow-novice/dist/src/validators/todowrite-batching-validator.js.map +1 -1
- package/.claude-flow-novice/dist/src/validators/todowrite-integration.js +49 -49
- package/.claude-flow-novice/dist/src/validators/todowrite-integration.js.map +1 -1
- package/.claude-flow-novice/dist/src/web/portal-server.js +12 -5
- package/.claude-flow-novice/dist/src/web/portal-server.js.map +1 -1
- package/config/hooks/post-edit-pipeline.js +231 -10
- package/package.json +3 -1
- package/scripts/src/web/frontend/.claude-flow/metrics/agent-metrics.json +1 -0
- package/scripts/src/web/frontend/.claude-flow/metrics/performance.json +9 -0
- package/scripts/src/web/frontend/.claude-flow/metrics/task-metrics.json +10 -0
- package/src/cli/simple-commands/init/templates/CLAUDE.md +4 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/config/web-portal-config.ts"],"names":["path","fs","os","defaultConfig","server","host","process","env","WEB_PORTAL_HOST","port","parseInt","WEB_PORTAL_PORT","environment","NODE_ENV","cluster","WEB_PORTAL_CLUSTER","workers","WEB_PORTAL_WORKERS","String","cpus","length","mcp","claudeFlow","enabled","CLAUDE_FLOW_ENABLED","command","args","timeout","CLAUDE_FLOW_TIMEOUT","retryAttempts","CLAUDE_FLOW_RETRY_ATTEMPTS","retryDelay","CLAUDE_FLOW_RETRY_DELAY","ruvSwarm","RUV_SWARM_ENABLED","RUV_SWARM_TIMEOUT","RUV_SWARM_RETRY_ATTEMPTS","RUV_SWARM_RETRY_DELAY","websocket","WEBSOCKET_ENABLED","WEBSOCKET_PATH","updateInterval","WEBSOCKET_UPDATE_INTERVAL","maxConnections","WEBSOCKET_MAX_CONNECTIONS","pingTimeout","WEBSOCKET_PING_TIMEOUT","pingInterval","WEBSOCKET_PING_INTERVAL","database","type","DB_TYPE","connection","filename","DB_FILENAME","join","cwd","DB_HOST","DB_PORT","DB_NAME","username","DB_USER","password","DB_PASSWORD","pool","min","DB_POOL_MIN","max","DB_POOL_MAX","acquireTimeoutMillis","DB_ACQUIRE_TIMEOUT","idleTimeoutMillis","DB_IDLE_TIMEOUT","migrations","directory","DB_MIGRATIONS_DIR","tableName","DB_MIGRATIONS_TABLE","security","jwt","secret","JWT_SECRET","generateSecretKey","expiresIn","JWT_EXPIRES_IN","issuer","JWT_ISSUER","rateLimit","windowMs","RATE_LIMIT_WINDOW","maxRequests","RATE_LIMIT_MAX","skipSuccessfulRequests","RATE_LIMIT_SKIP_SUCCESS","encryption","algorithm","ENCRYPTION_ALGORITHM","keyLength","ENCRYPTION_KEY_LENGTH","session","SESSION_SECRET","maxAge","SESSION_MAX_AGE","secure","SESSION_SECURE","httpOnly","SESSION_HTTP_ONLY","frontend","FRONTEND_ENABLED","buildPath","FRONTEND_BUILD_PATH","staticPath","FRONTEND_STATIC_PATH","indexFile","FRONTEND_INDEX_FILE","devServer","FRONTEND_DEV_PORT","proxy","FRONTEND_DEV_PROXY","cors","CORS_ENABLED","allowedOrigins","CORS_ALLOWED_ORIGINS","split","allowedMethods","CORS_ALLOWED_METHODS","allowedHeaders","CORS_ALLOWED_HEADERS","credentials","CORS_CREDENTIALS","CORS_MAX_AGE","logging","level","LOG_LEVEL","format","LOG_FORMAT","outputs","LOG_OUTPUTS","files","error","LOG_ERROR_FILE","combined","LOG_COMBINED_FILE","maxSize","LOG_MAX_SIZE","maxFiles","LOG_MAX_FILES","monitoring","metrics","METRICS_ENABLED","interval","METRICS_INTERVAL","retention","METRICS_RETENTION","health","HEALTH_CHECK_ENABLED","endpoint","HEALTH_CHECK_ENDPOINT","checks","HEALTH_CHECKS","profiling","PROFILING_ENABLED","PROFILING_INTERVAL","loadConfig","configPath","config","existsSync","fileConfig","JSON","parse","readFileSync","mergeDeep","console","packageConfigPath","packageConfig","validateConfig","saveConfig","configDir","dirname","mkdirSync","recursive","writeFileSync","stringify","Error","warn","includes","getEnvironmentConfig","envConfig","Object","keys","forEach","key","startsWith","configKey","replace","toLowerCase","value","parsedValue","test","parseFloat","setNestedValue","require","randomBytes","toString","target","source","Array","isArray","obj","current","i","developmentConfig","productionConfig","testConfig"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/config/web-portal-config.ts"],"names":["path","fs","os","crypto","defaultConfig","server","host","process","env","WEB_PORTAL_HOST","port","parseInt","WEB_PORTAL_PORT","environment","NODE_ENV","cluster","WEB_PORTAL_CLUSTER","workers","WEB_PORTAL_WORKERS","String","cpus","length","mcp","claudeFlow","enabled","CLAUDE_FLOW_ENABLED","command","args","timeout","CLAUDE_FLOW_TIMEOUT","retryAttempts","CLAUDE_FLOW_RETRY_ATTEMPTS","retryDelay","CLAUDE_FLOW_RETRY_DELAY","ruvSwarm","RUV_SWARM_ENABLED","RUV_SWARM_TIMEOUT","RUV_SWARM_RETRY_ATTEMPTS","RUV_SWARM_RETRY_DELAY","websocket","WEBSOCKET_ENABLED","WEBSOCKET_PATH","updateInterval","WEBSOCKET_UPDATE_INTERVAL","maxConnections","WEBSOCKET_MAX_CONNECTIONS","pingTimeout","WEBSOCKET_PING_TIMEOUT","pingInterval","WEBSOCKET_PING_INTERVAL","database","type","DB_TYPE","connection","filename","DB_FILENAME","join","cwd","DB_HOST","DB_PORT","DB_NAME","username","DB_USER","password","DB_PASSWORD","pool","min","DB_POOL_MIN","max","DB_POOL_MAX","acquireTimeoutMillis","DB_ACQUIRE_TIMEOUT","idleTimeoutMillis","DB_IDLE_TIMEOUT","migrations","directory","DB_MIGRATIONS_DIR","tableName","DB_MIGRATIONS_TABLE","security","jwt","secret","JWT_SECRET","generateSecretKey","expiresIn","JWT_EXPIRES_IN","issuer","JWT_ISSUER","rateLimit","windowMs","RATE_LIMIT_WINDOW","maxRequests","RATE_LIMIT_MAX","skipSuccessfulRequests","RATE_LIMIT_SKIP_SUCCESS","encryption","algorithm","ENCRYPTION_ALGORITHM","keyLength","ENCRYPTION_KEY_LENGTH","session","SESSION_SECRET","maxAge","SESSION_MAX_AGE","secure","SESSION_SECURE","httpOnly","SESSION_HTTP_ONLY","frontend","FRONTEND_ENABLED","buildPath","FRONTEND_BUILD_PATH","staticPath","FRONTEND_STATIC_PATH","indexFile","FRONTEND_INDEX_FILE","devServer","FRONTEND_DEV_PORT","proxy","FRONTEND_DEV_PROXY","cors","CORS_ENABLED","allowedOrigins","CORS_ALLOWED_ORIGINS","split","allowedMethods","CORS_ALLOWED_METHODS","allowedHeaders","CORS_ALLOWED_HEADERS","credentials","CORS_CREDENTIALS","CORS_MAX_AGE","logging","level","LOG_LEVEL","format","LOG_FORMAT","outputs","LOG_OUTPUTS","files","error","LOG_ERROR_FILE","combined","LOG_COMBINED_FILE","maxSize","LOG_MAX_SIZE","maxFiles","LOG_MAX_FILES","monitoring","metrics","METRICS_ENABLED","interval","METRICS_INTERVAL","retention","METRICS_RETENTION","health","HEALTH_CHECK_ENABLED","endpoint","HEALTH_CHECK_ENDPOINT","checks","HEALTH_CHECKS","profiling","PROFILING_ENABLED","PROFILING_INTERVAL","loadConfig","configPath","config","existsSync","fileConfig","JSON","parse","readFileSync","mergeDeep","console","packageConfigPath","packageConfig","validateConfig","saveConfig","configDir","dirname","mkdirSync","recursive","writeFileSync","stringify","Error","warn","includes","getEnvironmentConfig","envConfig","Object","keys","forEach","key","startsWith","configKey","replace","toLowerCase","value","parsedValue","test","parseFloat","setNestedValue","randomBytes","toString","target","source","Array","isArray","obj","current","i","developmentConfig","productionConfig","testConfig"],"mappings":"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"}
|
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User Preference Storage Manager
|
|
3
|
+
*
|
|
4
|
+
* A simple preference manager for storing user-specific settings.
|
|
5
|
+
* Follows the architecture patterns from config-manager.ts
|
|
6
|
+
*
|
|
7
|
+
* @module UserPreferenceManager
|
|
8
|
+
*/ import { promises as fs } from "fs";
|
|
9
|
+
import path from "path";
|
|
10
|
+
import os from "os";
|
|
11
|
+
import { EventEmitter } from "events";
|
|
12
|
+
/**
|
|
13
|
+
* Custom error for preference operations
|
|
14
|
+
*/ export class PreferenceError extends Error {
|
|
15
|
+
constructor(message){
|
|
16
|
+
super(message);
|
|
17
|
+
this.name = "PreferenceError";
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Default preferences for new installations
|
|
22
|
+
*/ const DEFAULT_PREFERENCES = {
|
|
23
|
+
theme: "light",
|
|
24
|
+
language: "en",
|
|
25
|
+
notifications: true,
|
|
26
|
+
autoSave: true,
|
|
27
|
+
maxHistoryItems: 50
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* User Preference Manager
|
|
31
|
+
*
|
|
32
|
+
* Manages user-specific preferences with automatic persistence,
|
|
33
|
+
* error handling, and type safety.
|
|
34
|
+
*/ export class UserPreferenceManager extends EventEmitter {
|
|
35
|
+
preferences;
|
|
36
|
+
storagePath;
|
|
37
|
+
autoSave;
|
|
38
|
+
cacheEnabled;
|
|
39
|
+
isInitialized;
|
|
40
|
+
/**
|
|
41
|
+
* Creates a new UserPreferenceManager instance
|
|
42
|
+
*
|
|
43
|
+
* @param options - Configuration options for the preference manager
|
|
44
|
+
*/ constructor(options = {}){
|
|
45
|
+
super();
|
|
46
|
+
this.preferences = new Map();
|
|
47
|
+
this.storagePath = options.storagePath || path.join(os.homedir(), ".claude-flow", "user-preferences.json");
|
|
48
|
+
this.autoSave = options.autoSave ?? true;
|
|
49
|
+
this.cacheEnabled = options.cacheEnabled ?? true;
|
|
50
|
+
this.isInitialized = false;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Initializes the preference manager and loads existing preferences
|
|
54
|
+
*
|
|
55
|
+
* @returns Promise that resolves when initialization is complete
|
|
56
|
+
* @throws {PreferenceError} If initialization fails
|
|
57
|
+
*/ async initialize() {
|
|
58
|
+
try {
|
|
59
|
+
// Ensure storage directory exists
|
|
60
|
+
const dir = path.dirname(this.storagePath);
|
|
61
|
+
await fs.mkdir(dir, {
|
|
62
|
+
recursive: true
|
|
63
|
+
});
|
|
64
|
+
// Load existing preferences or create defaults
|
|
65
|
+
try {
|
|
66
|
+
await this.load();
|
|
67
|
+
} catch (error) {
|
|
68
|
+
// No existing preferences file, load defaults
|
|
69
|
+
await this.loadDefaults();
|
|
70
|
+
if (this.autoSave) {
|
|
71
|
+
await this.save();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
this.isInitialized = true;
|
|
75
|
+
this.emit("initialized", {
|
|
76
|
+
timestamp: new Date()
|
|
77
|
+
});
|
|
78
|
+
} catch (error) {
|
|
79
|
+
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
80
|
+
throw new PreferenceError(`Failed to initialize preference manager: ${errorMessage}`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Retrieves a preference value by key
|
|
85
|
+
*
|
|
86
|
+
* @param key - The preference key to retrieve
|
|
87
|
+
* @param defaultValue - Optional default value if preference doesn't exist
|
|
88
|
+
* @returns The preference value or defaultValue if not found
|
|
89
|
+
* @throws {PreferenceError} If manager is not initialized
|
|
90
|
+
*/ getPreference(key, defaultValue) {
|
|
91
|
+
this.ensureInitialized();
|
|
92
|
+
try {
|
|
93
|
+
const preference = this.preferences.get(key);
|
|
94
|
+
if (!preference) {
|
|
95
|
+
this.emit("preferenceNotFound", {
|
|
96
|
+
key,
|
|
97
|
+
timestamp: new Date()
|
|
98
|
+
});
|
|
99
|
+
return defaultValue;
|
|
100
|
+
}
|
|
101
|
+
this.emit("preferenceRetrieved", {
|
|
102
|
+
key,
|
|
103
|
+
type: preference.type,
|
|
104
|
+
timestamp: new Date()
|
|
105
|
+
});
|
|
106
|
+
return preference.value;
|
|
107
|
+
} catch (error) {
|
|
108
|
+
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
109
|
+
throw new PreferenceError(`Failed to get preference '${key}': ${errorMessage}`);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Sets a preference value
|
|
114
|
+
*
|
|
115
|
+
* @param key - The preference key to set
|
|
116
|
+
* @param value - The value to store
|
|
117
|
+
* @returns Promise that resolves when preference is set (and saved if autoSave is enabled)
|
|
118
|
+
* @throws {PreferenceError} If manager is not initialized or value is invalid
|
|
119
|
+
*/ async setPreference(key, value) {
|
|
120
|
+
this.ensureInitialized();
|
|
121
|
+
try {
|
|
122
|
+
// Validate input
|
|
123
|
+
if (!key || typeof key !== "string") {
|
|
124
|
+
throw new PreferenceError("Preference key must be a non-empty string");
|
|
125
|
+
}
|
|
126
|
+
if (value === undefined) {
|
|
127
|
+
throw new PreferenceError("Preference value cannot be undefined");
|
|
128
|
+
}
|
|
129
|
+
// Determine value type
|
|
130
|
+
const valueType = this.determineType(value);
|
|
131
|
+
// Create preference object
|
|
132
|
+
const preference = {
|
|
133
|
+
key,
|
|
134
|
+
value,
|
|
135
|
+
type: valueType,
|
|
136
|
+
timestamp: Date.now()
|
|
137
|
+
};
|
|
138
|
+
// Store in map
|
|
139
|
+
const oldValue = this.preferences.get(key);
|
|
140
|
+
this.preferences.set(key, preference);
|
|
141
|
+
// Emit change event
|
|
142
|
+
this.emit("preferenceChanged", {
|
|
143
|
+
key,
|
|
144
|
+
oldValue: oldValue?.value,
|
|
145
|
+
newValue: value,
|
|
146
|
+
timestamp: new Date()
|
|
147
|
+
});
|
|
148
|
+
// Auto-save if enabled
|
|
149
|
+
if (this.autoSave) {
|
|
150
|
+
await this.save();
|
|
151
|
+
}
|
|
152
|
+
} catch (error) {
|
|
153
|
+
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
154
|
+
throw new PreferenceError(`Failed to set preference '${key}': ${errorMessage}`);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Removes a preference by key
|
|
159
|
+
*
|
|
160
|
+
* @param key - The preference key to remove
|
|
161
|
+
* @returns Promise that resolves when preference is removed
|
|
162
|
+
* @throws {PreferenceError} If manager is not initialized
|
|
163
|
+
*/ async removePreference(key) {
|
|
164
|
+
this.ensureInitialized();
|
|
165
|
+
try {
|
|
166
|
+
const existed = this.preferences.has(key);
|
|
167
|
+
if (existed) {
|
|
168
|
+
const preference = this.preferences.get(key);
|
|
169
|
+
this.preferences.delete(key);
|
|
170
|
+
this.emit("preferenceRemoved", {
|
|
171
|
+
key,
|
|
172
|
+
value: preference?.value,
|
|
173
|
+
timestamp: new Date()
|
|
174
|
+
});
|
|
175
|
+
if (this.autoSave) {
|
|
176
|
+
await this.save();
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
return existed;
|
|
180
|
+
} catch (error) {
|
|
181
|
+
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
182
|
+
throw new PreferenceError(`Failed to remove preference '${key}': ${errorMessage}`);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Loads default preferences
|
|
187
|
+
*
|
|
188
|
+
* @returns Promise that resolves when defaults are loaded
|
|
189
|
+
* @throws {PreferenceError} If loading defaults fails
|
|
190
|
+
*/ async loadDefaults() {
|
|
191
|
+
try {
|
|
192
|
+
this.preferences.clear();
|
|
193
|
+
for (const [key, value] of Object.entries(DEFAULT_PREFERENCES)){
|
|
194
|
+
const preference = {
|
|
195
|
+
key,
|
|
196
|
+
value,
|
|
197
|
+
type: this.determineType(value),
|
|
198
|
+
timestamp: Date.now()
|
|
199
|
+
};
|
|
200
|
+
this.preferences.set(key, preference);
|
|
201
|
+
}
|
|
202
|
+
this.emit("defaultsLoaded", {
|
|
203
|
+
count: this.preferences.size,
|
|
204
|
+
timestamp: new Date()
|
|
205
|
+
});
|
|
206
|
+
} catch (error) {
|
|
207
|
+
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
208
|
+
throw new PreferenceError(`Failed to load defaults: ${errorMessage}`);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Saves preferences to storage
|
|
213
|
+
*
|
|
214
|
+
* @returns Promise that resolves when save is complete
|
|
215
|
+
* @throws {PreferenceError} If save operation fails
|
|
216
|
+
*/ async save() {
|
|
217
|
+
try {
|
|
218
|
+
// Convert Map to serializable object
|
|
219
|
+
const data = {};
|
|
220
|
+
for (const [key, preference] of this.preferences.entries()){
|
|
221
|
+
data[key] = preference;
|
|
222
|
+
}
|
|
223
|
+
// Write to file
|
|
224
|
+
const content = JSON.stringify(data, null, 2);
|
|
225
|
+
await fs.writeFile(this.storagePath, content, "utf8");
|
|
226
|
+
this.emit("preferencesSaved", {
|
|
227
|
+
count: this.preferences.size,
|
|
228
|
+
path: this.storagePath,
|
|
229
|
+
timestamp: new Date()
|
|
230
|
+
});
|
|
231
|
+
} catch (error) {
|
|
232
|
+
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
233
|
+
throw new PreferenceError(`Failed to save preferences: ${errorMessage}`);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Loads preferences from storage
|
|
238
|
+
*
|
|
239
|
+
* @returns Promise that resolves when load is complete
|
|
240
|
+
* @throws {PreferenceError} If load operation fails
|
|
241
|
+
*/ async load() {
|
|
242
|
+
try {
|
|
243
|
+
const content = await fs.readFile(this.storagePath, "utf8");
|
|
244
|
+
const data = JSON.parse(content);
|
|
245
|
+
this.preferences.clear();
|
|
246
|
+
for (const [key, preference] of Object.entries(data)){
|
|
247
|
+
// Validate loaded preference structure
|
|
248
|
+
if (this.isValidPreference(preference)) {
|
|
249
|
+
this.preferences.set(key, preference);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
this.emit("preferencesLoaded", {
|
|
253
|
+
count: this.preferences.size,
|
|
254
|
+
path: this.storagePath,
|
|
255
|
+
timestamp: new Date()
|
|
256
|
+
});
|
|
257
|
+
} catch (error) {
|
|
258
|
+
if (error.code === "ENOENT") {
|
|
259
|
+
throw new PreferenceError(`Preferences file not found: ${this.storagePath}`);
|
|
260
|
+
}
|
|
261
|
+
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
262
|
+
throw new PreferenceError(`Failed to load preferences: ${errorMessage}`);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Gets all preferences as a plain object
|
|
267
|
+
*
|
|
268
|
+
* @returns Object containing all preferences
|
|
269
|
+
*/ getAllPreferences() {
|
|
270
|
+
this.ensureInitialized();
|
|
271
|
+
const result = {};
|
|
272
|
+
for (const [key, preference] of this.preferences.entries()){
|
|
273
|
+
result[key] = preference.value;
|
|
274
|
+
}
|
|
275
|
+
return result;
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Resets all preferences to defaults
|
|
279
|
+
*
|
|
280
|
+
* @returns Promise that resolves when reset is complete
|
|
281
|
+
*/ async reset() {
|
|
282
|
+
this.ensureInitialized();
|
|
283
|
+
await this.loadDefaults();
|
|
284
|
+
if (this.autoSave) {
|
|
285
|
+
await this.save();
|
|
286
|
+
}
|
|
287
|
+
this.emit("preferencesReset", {
|
|
288
|
+
timestamp: new Date()
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Checks if a preference exists
|
|
293
|
+
*
|
|
294
|
+
* @param key - The preference key to check
|
|
295
|
+
* @returns True if preference exists, false otherwise
|
|
296
|
+
*/ hasPreference(key) {
|
|
297
|
+
this.ensureInitialized();
|
|
298
|
+
return this.preferences.has(key);
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Gets the storage path
|
|
302
|
+
*
|
|
303
|
+
* @returns The current storage path
|
|
304
|
+
*/ getStoragePath() {
|
|
305
|
+
return this.storagePath;
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Gets preference count
|
|
309
|
+
*
|
|
310
|
+
* @returns Number of stored preferences
|
|
311
|
+
*/ getPreferenceCount() {
|
|
312
|
+
return this.preferences.size;
|
|
313
|
+
}
|
|
314
|
+
// Private helper methods
|
|
315
|
+
/**
|
|
316
|
+
* Ensures the manager is initialized before operations
|
|
317
|
+
*
|
|
318
|
+
* @throws {PreferenceError} If not initialized
|
|
319
|
+
*/ ensureInitialized() {
|
|
320
|
+
if (!this.isInitialized) {
|
|
321
|
+
throw new PreferenceError("PreferenceManager not initialized. Call initialize() first.");
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Determines the type of a value
|
|
326
|
+
*
|
|
327
|
+
* @param value - Value to check
|
|
328
|
+
* @returns Type string
|
|
329
|
+
*/ determineType(value) {
|
|
330
|
+
if (typeof value === "string") return "string";
|
|
331
|
+
if (typeof value === "number") return "number";
|
|
332
|
+
if (typeof value === "boolean") return "boolean";
|
|
333
|
+
return "object";
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Validates a preference object structure
|
|
337
|
+
*
|
|
338
|
+
* @param preference - Preference to validate
|
|
339
|
+
* @returns True if valid, false otherwise
|
|
340
|
+
*/ isValidPreference(preference) {
|
|
341
|
+
return preference && typeof preference === "object" && typeof preference.key === "string" && preference.value !== undefined && [
|
|
342
|
+
"string",
|
|
343
|
+
"number",
|
|
344
|
+
"boolean",
|
|
345
|
+
"object"
|
|
346
|
+
].includes(preference.type) && typeof preference.timestamp === "number";
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Export singleton instance factory
|
|
351
|
+
*/ let defaultInstance = null;
|
|
352
|
+
/**
|
|
353
|
+
* Gets the default preference manager instance
|
|
354
|
+
*
|
|
355
|
+
* @returns Singleton instance of UserPreferenceManager
|
|
356
|
+
*/ export function getDefaultPreferenceManager() {
|
|
357
|
+
if (!defaultInstance) {
|
|
358
|
+
defaultInstance = new UserPreferenceManager();
|
|
359
|
+
}
|
|
360
|
+
return defaultInstance;
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* Creates a new preference manager instance
|
|
364
|
+
*
|
|
365
|
+
* @param options - Configuration options
|
|
366
|
+
* @returns New UserPreferenceManager instance
|
|
367
|
+
*/ export function createPreferenceManager(options) {
|
|
368
|
+
return new UserPreferenceManager(options);
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
//# sourceMappingURL=user-preference-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/preferences/user-preference-manager.ts"],"names":["promises","fs","path","os","EventEmitter","PreferenceError","Error","message","name","DEFAULT_PREFERENCES","theme","language","notifications","autoSave","maxHistoryItems","UserPreferenceManager","preferences","storagePath","cacheEnabled","isInitialized","options","Map","join","homedir","initialize","dir","dirname","mkdir","recursive","load","error","loadDefaults","save","emit","timestamp","Date","errorMessage","getPreference","key","defaultValue","ensureInitialized","preference","get","type","value","setPreference","undefined","valueType","determineType","now","oldValue","set","newValue","removePreference","existed","has","delete","clear","Object","entries","count","size","data","content","JSON","stringify","writeFile","readFile","parse","isValidPreference","code","getAllPreferences","result","reset","hasPreference","getStoragePath","getPreferenceCount","includes","defaultInstance","getDefaultPreferenceManager","createPreferenceManager"],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Validators Module
|
|
3
|
-
*
|
|
4
|
-
* Provides validation functionality for enforcing best practices and detecting anti-patterns.
|
|
5
|
-
*
|
|
6
|
-
* @module validators
|
|
1
|
+
/**
|
|
2
|
+
* Validators Module
|
|
3
|
+
*
|
|
4
|
+
* Provides validation functionality for enforcing best practices and detecting anti-patterns.
|
|
5
|
+
*
|
|
6
|
+
* @module validators
|
|
7
7
|
*/ // TodoWrite Batching Validator
|
|
8
|
-
export { TodoWriteValidator, getGlobalValidator, resetGlobalValidator } from
|
|
8
|
+
export { TodoWriteValidator, getGlobalValidator, resetGlobalValidator } from "./todowrite-batching-validator";
|
|
9
9
|
// TodoWrite Integration
|
|
10
|
-
export { isValidationEnabled, getIntegrationConfig, validateTodoWrite, parseValidationFlags, displayValidationHelp, todoWriteWithValidation, createValidationMiddleware, getValidationStatus } from
|
|
10
|
+
export { isValidationEnabled, getIntegrationConfig, validateTodoWrite, parseValidationFlags, displayValidationHelp, todoWriteWithValidation, createValidationMiddleware, getValidationStatus } from "./todowrite-integration";
|
|
11
11
|
|
|
12
12
|
//# sourceMappingURL=index.js.map
|