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.
Files changed (20) hide show
  1. package/.claude/agents/analysis/code-review/analyze-code-quality.md +160 -177
  2. package/.claude/agents/architecture/system-design/arch-system-design.md +118 -153
  3. package/.claude-flow-novice/dist/src/cli/simple-commands/init/templates/CLAUDE.md +2 -1
  4. package/.claude-flow-novice/dist/src/config/web-portal-config.js +2 -1
  5. package/.claude-flow-novice/dist/src/config/web-portal-config.js.map +1 -1
  6. package/.claude-flow-novice/dist/src/preferences/user-preference-manager.js +371 -0
  7. package/.claude-flow-novice/dist/src/preferences/user-preference-manager.js.map +1 -0
  8. package/.claude-flow-novice/dist/src/validators/index.js +8 -8
  9. package/.claude-flow-novice/dist/src/validators/todowrite-batching-validator.js +70 -70
  10. package/.claude-flow-novice/dist/src/validators/todowrite-batching-validator.js.map +1 -1
  11. package/.claude-flow-novice/dist/src/validators/todowrite-integration.js +49 -49
  12. package/.claude-flow-novice/dist/src/validators/todowrite-integration.js.map +1 -1
  13. package/.claude-flow-novice/dist/src/web/portal-server.js +12 -5
  14. package/.claude-flow-novice/dist/src/web/portal-server.js.map +1 -1
  15. package/config/hooks/post-edit-pipeline.js +231 -10
  16. package/package.json +3 -1
  17. package/scripts/src/web/frontend/.claude-flow/metrics/agent-metrics.json +1 -0
  18. package/scripts/src/web/frontend/.claude-flow/metrics/performance.json +9 -0
  19. package/scripts/src/web/frontend/.claude-flow/metrics/task-metrics.json +10 -0
  20. 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 './todowrite-batching-validator';
8
+ export { TodoWriteValidator, getGlobalValidator, resetGlobalValidator } from "./todowrite-batching-validator";
9
9
  // TodoWrite Integration
10
- export { isValidationEnabled, getIntegrationConfig, validateTodoWrite, parseValidationFlags, displayValidationHelp, todoWriteWithValidation, createValidationMiddleware, getValidationStatus } from './todowrite-integration';
10
+ export { isValidationEnabled, getIntegrationConfig, validateTodoWrite, parseValidationFlags, displayValidationHelp, todoWriteWithValidation, createValidationMiddleware, getValidationStatus } from "./todowrite-integration";
11
11
 
12
12
  //# sourceMappingURL=index.js.map