elsabro 2.3.0 → 3.7.0

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 (67) hide show
  1. package/README.md +668 -20
  2. package/bin/install.js +0 -0
  3. package/flows/development-flow.json +452 -0
  4. package/flows/quick-flow.json +118 -0
  5. package/package.json +3 -2
  6. package/references/SYSTEM_INDEX.md +379 -5
  7. package/references/agent-marketplace.md +2274 -0
  8. package/references/agent-protocol.md +1126 -0
  9. package/references/ai-code-suggestions.md +2413 -0
  10. package/references/checkpointing.md +595 -0
  11. package/references/collaboration-patterns.md +851 -0
  12. package/references/collaborative-sessions.md +1081 -0
  13. package/references/configuration-management.md +1810 -0
  14. package/references/cost-tracking.md +1095 -0
  15. package/references/enterprise-sso.md +2001 -0
  16. package/references/error-contracts-v2.md +968 -0
  17. package/references/event-driven.md +1031 -0
  18. package/references/flow-orchestration.md +940 -0
  19. package/references/flow-visualization.md +1557 -0
  20. package/references/ide-integrations.md +3513 -0
  21. package/references/interrupt-system.md +681 -0
  22. package/references/kubernetes-deployment.md +3099 -0
  23. package/references/memory-system.md +683 -0
  24. package/references/mobile-companion.md +3236 -0
  25. package/references/multi-llm-providers.md +2494 -0
  26. package/references/multi-project-memory.md +1182 -0
  27. package/references/observability.md +793 -0
  28. package/references/output-schemas.md +858 -0
  29. package/references/performance-profiler.md +955 -0
  30. package/references/plugin-system.md +1526 -0
  31. package/references/prompt-management.md +292 -0
  32. package/references/sandbox-execution.md +303 -0
  33. package/references/security-system.md +1253 -0
  34. package/references/streaming.md +696 -0
  35. package/references/testing-framework.md +1151 -0
  36. package/references/time-travel.md +802 -0
  37. package/references/tool-registry.md +886 -0
  38. package/references/voice-commands.md +3296 -0
  39. package/templates/agent-marketplace-config.json +220 -0
  40. package/templates/agent-protocol-config.json +136 -0
  41. package/templates/ai-suggestions-config.json +100 -0
  42. package/templates/checkpoint-state.json +61 -0
  43. package/templates/collaboration-config.json +157 -0
  44. package/templates/collaborative-sessions-config.json +153 -0
  45. package/templates/configuration-config.json +245 -0
  46. package/templates/cost-tracking-config.json +148 -0
  47. package/templates/enterprise-sso-config.json +438 -0
  48. package/templates/events-config.json +148 -0
  49. package/templates/flow-visualization-config.json +196 -0
  50. package/templates/ide-integrations-config.json +442 -0
  51. package/templates/kubernetes-config.json +764 -0
  52. package/templates/memory-state.json +84 -0
  53. package/templates/mobile-companion-config.json +600 -0
  54. package/templates/multi-llm-config.json +544 -0
  55. package/templates/multi-project-memory-config.json +145 -0
  56. package/templates/observability-config.json +109 -0
  57. package/templates/performance-profiler-config.json +125 -0
  58. package/templates/plugin-config.json +170 -0
  59. package/templates/prompt-management-config.json +86 -0
  60. package/templates/sandbox-config.json +185 -0
  61. package/templates/schemas-config.json +65 -0
  62. package/templates/security-config.json +120 -0
  63. package/templates/streaming-config.json +72 -0
  64. package/templates/testing-config.json +81 -0
  65. package/templates/timetravel-config.json +62 -0
  66. package/templates/tool-registry-config.json +109 -0
  67. package/templates/voice-commands-config.json +658 -0
@@ -0,0 +1,544 @@
1
+ {
2
+ "multiLLMProviders": {
3
+ "enabled": true,
4
+ "version": "1.0.0",
5
+
6
+ "defaultModel": "claude-sonnet-4",
7
+ "defaultProvider": "claude",
8
+
9
+ "providers": {
10
+ "claude": {
11
+ "enabled": true,
12
+ "priority": 1,
13
+ "config": {
14
+ "apiKey": "${ANTHROPIC_API_KEY}",
15
+ "baseUrl": "https://api.anthropic.com",
16
+ "defaultModel": "claude-sonnet-4",
17
+ "timeout": 120000,
18
+ "maxRetries": 3,
19
+ "retryDelay": 1000,
20
+ "betaHeaders": []
21
+ },
22
+ "models": {
23
+ "claude-opus-4-5": {
24
+ "id": "claude-opus-4-5-20251101",
25
+ "contextWindow": 200000,
26
+ "maxOutput": 32000,
27
+ "inputPrice": 15.0,
28
+ "outputPrice": 75.0,
29
+ "capabilities": ["vision", "tools", "extended_thinking", "streaming"]
30
+ },
31
+ "claude-sonnet-4": {
32
+ "id": "claude-sonnet-4-20250514",
33
+ "contextWindow": 200000,
34
+ "maxOutput": 64000,
35
+ "inputPrice": 3.0,
36
+ "outputPrice": 15.0,
37
+ "capabilities": ["vision", "tools", "computer_use", "streaming"]
38
+ },
39
+ "claude-3-5-haiku": {
40
+ "id": "claude-3-5-haiku-20241022",
41
+ "contextWindow": 200000,
42
+ "maxOutput": 8192,
43
+ "inputPrice": 0.80,
44
+ "outputPrice": 4.0,
45
+ "capabilities": ["vision", "tools", "streaming"]
46
+ }
47
+ },
48
+ "rateLimit": {
49
+ "requestsPerMinute": 50,
50
+ "tokensPerMinute": 100000,
51
+ "tokensPerDay": 5000000,
52
+ "concurrent": 5
53
+ }
54
+ },
55
+
56
+ "openai": {
57
+ "enabled": true,
58
+ "priority": 2,
59
+ "config": {
60
+ "apiKey": "${OPENAI_API_KEY}",
61
+ "organization": "${OPENAI_ORG_ID}",
62
+ "baseUrl": "https://api.openai.com/v1",
63
+ "defaultModel": "gpt-4o",
64
+ "timeout": 120000,
65
+ "maxRetries": 3,
66
+ "retryDelay": 1000
67
+ },
68
+ "models": {
69
+ "gpt-4o": {
70
+ "id": "gpt-4o",
71
+ "contextWindow": 128000,
72
+ "maxOutput": 16384,
73
+ "inputPrice": 2.50,
74
+ "outputPrice": 10.0,
75
+ "capabilities": ["vision", "tools", "json_mode", "streaming"]
76
+ },
77
+ "gpt-4-turbo": {
78
+ "id": "gpt-4-turbo",
79
+ "contextWindow": 128000,
80
+ "maxOutput": 4096,
81
+ "inputPrice": 10.0,
82
+ "outputPrice": 30.0,
83
+ "capabilities": ["vision", "tools", "json_mode", "streaming"]
84
+ },
85
+ "gpt-4o-mini": {
86
+ "id": "gpt-4o-mini",
87
+ "contextWindow": 128000,
88
+ "maxOutput": 16384,
89
+ "inputPrice": 0.15,
90
+ "outputPrice": 0.60,
91
+ "capabilities": ["vision", "tools", "json_mode", "streaming"]
92
+ },
93
+ "gpt-3.5-turbo": {
94
+ "id": "gpt-3.5-turbo",
95
+ "contextWindow": 16385,
96
+ "maxOutput": 4096,
97
+ "inputPrice": 0.50,
98
+ "outputPrice": 1.50,
99
+ "capabilities": ["tools", "json_mode", "streaming"]
100
+ }
101
+ },
102
+ "rateLimit": {
103
+ "requestsPerMinute": 60,
104
+ "tokensPerMinute": 150000,
105
+ "tokensPerDay": 10000000,
106
+ "concurrent": 10
107
+ }
108
+ },
109
+
110
+ "gemini": {
111
+ "enabled": true,
112
+ "priority": 3,
113
+ "config": {
114
+ "apiKey": "${GOOGLE_API_KEY}",
115
+ "baseUrl": "https://generativelanguage.googleapis.com",
116
+ "defaultModel": "gemini-2.0-flash",
117
+ "timeout": 120000,
118
+ "maxRetries": 3,
119
+ "retryDelay": 1000
120
+ },
121
+ "models": {
122
+ "gemini-2.0-flash": {
123
+ "id": "gemini-2.0-flash",
124
+ "contextWindow": 1000000,
125
+ "maxOutput": 8192,
126
+ "inputPrice": 0.075,
127
+ "outputPrice": 0.30,
128
+ "capabilities": ["vision", "tools", "grounding", "streaming"]
129
+ },
130
+ "gemini-1.5-pro": {
131
+ "id": "gemini-1.5-pro",
132
+ "contextWindow": 2000000,
133
+ "maxOutput": 8192,
134
+ "inputPrice": 1.25,
135
+ "outputPrice": 5.0,
136
+ "capabilities": ["vision", "tools", "grounding", "code_execution", "streaming"]
137
+ },
138
+ "gemini-1.5-flash": {
139
+ "id": "gemini-1.5-flash",
140
+ "contextWindow": 1000000,
141
+ "maxOutput": 8192,
142
+ "inputPrice": 0.075,
143
+ "outputPrice": 0.30,
144
+ "capabilities": ["vision", "tools", "streaming"]
145
+ }
146
+ },
147
+ "rateLimit": {
148
+ "requestsPerMinute": 60,
149
+ "tokensPerMinute": 1000000,
150
+ "tokensPerDay": null,
151
+ "concurrent": 10
152
+ }
153
+ },
154
+
155
+ "local": {
156
+ "enabled": false,
157
+ "priority": 10,
158
+ "config": {
159
+ "baseUrl": "http://localhost:11434",
160
+ "defaultModel": "llama3",
161
+ "timeout": 300000,
162
+ "maxRetries": 1,
163
+ "retryDelay": 0
164
+ },
165
+ "models": {
166
+ "llama3": {
167
+ "id": "llama3:latest",
168
+ "contextWindow": 8192,
169
+ "maxOutput": 4096,
170
+ "inputPrice": 0,
171
+ "outputPrice": 0,
172
+ "capabilities": ["tools"]
173
+ },
174
+ "llama3.2": {
175
+ "id": "llama3.2:latest",
176
+ "contextWindow": 128000,
177
+ "maxOutput": 4096,
178
+ "inputPrice": 0,
179
+ "outputPrice": 0,
180
+ "capabilities": ["tools", "vision"]
181
+ },
182
+ "mistral": {
183
+ "id": "mistral:latest",
184
+ "contextWindow": 32768,
185
+ "maxOutput": 4096,
186
+ "inputPrice": 0,
187
+ "outputPrice": 0,
188
+ "capabilities": ["tools"]
189
+ },
190
+ "codellama": {
191
+ "id": "codellama:latest",
192
+ "contextWindow": 16384,
193
+ "maxOutput": 4096,
194
+ "inputPrice": 0,
195
+ "outputPrice": 0,
196
+ "capabilities": ["code"]
197
+ },
198
+ "deepseek-coder": {
199
+ "id": "deepseek-coder:latest",
200
+ "contextWindow": 16384,
201
+ "maxOutput": 4096,
202
+ "inputPrice": 0,
203
+ "outputPrice": 0,
204
+ "capabilities": ["code"]
205
+ }
206
+ },
207
+ "rateLimit": {
208
+ "requestsPerMinute": null,
209
+ "tokensPerMinute": null,
210
+ "tokensPerDay": null,
211
+ "concurrent": 1
212
+ }
213
+ },
214
+
215
+ "azure": {
216
+ "enabled": false,
217
+ "priority": 2,
218
+ "config": {
219
+ "apiKey": "${AZURE_OPENAI_API_KEY}",
220
+ "endpoint": "${AZURE_OPENAI_ENDPOINT}",
221
+ "apiVersion": "2024-02-01",
222
+ "timeout": 120000,
223
+ "maxRetries": 3,
224
+ "retryDelay": 1000,
225
+ "deployments": {
226
+ "gpt-4o": "gpt-4o-deployment",
227
+ "gpt-4-turbo": "gpt-4-turbo-deployment",
228
+ "gpt-3.5-turbo": "gpt-35-turbo-deployment"
229
+ }
230
+ },
231
+ "models": {
232
+ "gpt-4o": {
233
+ "contextWindow": 128000,
234
+ "maxOutput": 16384,
235
+ "inputPrice": 2.50,
236
+ "outputPrice": 10.0,
237
+ "capabilities": ["vision", "tools", "json_mode", "streaming"]
238
+ },
239
+ "gpt-4-turbo": {
240
+ "contextWindow": 128000,
241
+ "maxOutput": 4096,
242
+ "inputPrice": 10.0,
243
+ "outputPrice": 30.0,
244
+ "capabilities": ["vision", "tools", "json_mode", "streaming"]
245
+ },
246
+ "gpt-3.5-turbo": {
247
+ "contextWindow": 16385,
248
+ "maxOutput": 4096,
249
+ "inputPrice": 0.50,
250
+ "outputPrice": 1.50,
251
+ "capabilities": ["tools", "json_mode", "streaming"]
252
+ }
253
+ },
254
+ "rateLimit": {
255
+ "requestsPerMinute": 60,
256
+ "tokensPerMinute": 150000,
257
+ "tokensPerDay": null,
258
+ "concurrent": 10
259
+ }
260
+ }
261
+ },
262
+
263
+ "router": {
264
+ "enabled": true,
265
+ "strategy": "intelligent",
266
+
267
+ "rules": [
268
+ {
269
+ "id": "quick-tasks",
270
+ "name": "Route quick tasks to fast models",
271
+ "conditions": [
272
+ { "type": "task_type", "operator": "eq", "value": "quick_task" }
273
+ ],
274
+ "target": { "type": "alias", "value": "fast" },
275
+ "priority": 100,
276
+ "enabled": true
277
+ },
278
+ {
279
+ "id": "code-generation-large",
280
+ "name": "Route large code generation to smart models",
281
+ "conditions": [
282
+ { "type": "task_type", "operator": "eq", "value": "code_generation" },
283
+ { "type": "token_count", "operator": "gt", "value": 1000 }
284
+ ],
285
+ "target": { "type": "alias", "value": "smart" },
286
+ "priority": 90,
287
+ "enabled": true
288
+ },
289
+ {
290
+ "id": "complex-reasoning",
291
+ "name": "Route complex reasoning to best models",
292
+ "conditions": [
293
+ { "type": "task_type", "operator": "eq", "value": "reasoning" }
294
+ ],
295
+ "target": { "type": "model", "value": "claude-opus-4-5" },
296
+ "priority": 95,
297
+ "enabled": true
298
+ },
299
+ {
300
+ "id": "cost-sensitive",
301
+ "name": "Route cost-sensitive requests to cheap models",
302
+ "conditions": [
303
+ { "type": "cost_limit", "operator": "lt", "value": 0.01 }
304
+ ],
305
+ "target": { "type": "alias", "value": "cheap" },
306
+ "priority": 80,
307
+ "enabled": true
308
+ },
309
+ {
310
+ "id": "vision-tasks",
311
+ "name": "Route vision tasks to vision-capable models",
312
+ "conditions": [
313
+ { "type": "capability", "operator": "contains", "value": "vision" }
314
+ ],
315
+ "target": { "type": "fallback_chain", "value": ["gpt-4o", "claude-sonnet-4", "gemini-2.0-flash"] },
316
+ "priority": 85,
317
+ "enabled": true
318
+ },
319
+ {
320
+ "id": "long-context",
321
+ "name": "Route long context to high-context models",
322
+ "conditions": [
323
+ { "type": "token_count", "operator": "gt", "value": 100000 }
324
+ ],
325
+ "target": { "type": "fallback_chain", "value": ["gemini-1.5-pro", "claude-sonnet-4"] },
326
+ "priority": 88,
327
+ "enabled": true
328
+ }
329
+ ],
330
+
331
+ "aliases": {
332
+ "fast": "claude-3-5-haiku",
333
+ "smart": "claude-sonnet-4",
334
+ "best": "claude-opus-4-5",
335
+ "cheap": "gpt-4o-mini",
336
+ "local": "llama3",
337
+ "code": "claude-sonnet-4",
338
+ "vision": "gpt-4o",
339
+ "long-context": "gemini-1.5-pro"
340
+ },
341
+
342
+ "fallbackChains": {
343
+ "claude-opus-4-5": ["claude-sonnet-4", "gpt-4o", "gemini-1.5-pro"],
344
+ "claude-sonnet-4": ["gpt-4o", "gemini-2.0-flash", "claude-3-5-haiku"],
345
+ "claude-3-5-haiku": ["gpt-4o-mini", "gemini-2.0-flash", "llama3"],
346
+ "gpt-4o": ["claude-sonnet-4", "gemini-1.5-pro", "gpt-4-turbo"],
347
+ "gpt-4o-mini": ["claude-3-5-haiku", "gemini-2.0-flash", "gpt-3.5-turbo"],
348
+ "gemini-1.5-pro": ["claude-sonnet-4", "gpt-4o", "gemini-2.0-flash"],
349
+ "default": ["claude-sonnet-4", "gpt-4o", "gemini-2.0-flash", "llama3"]
350
+ },
351
+
352
+ "defaultFallbackChain": ["claude-sonnet-4", "gpt-4o", "gemini-2.0-flash"],
353
+
354
+ "loadBalancing": {
355
+ "enabled": true,
356
+ "strategy": "least_loaded",
357
+ "healthWeight": 0.3,
358
+ "latencyWeight": 0.3,
359
+ "costWeight": 0.2,
360
+ "successRateWeight": 0.2
361
+ },
362
+
363
+ "costOptimization": {
364
+ "enabled": true,
365
+ "preferCheaper": true,
366
+ "maxCostPerRequest": null,
367
+ "dailyBudget": null,
368
+ "alertThreshold": 0.8
369
+ }
370
+ },
371
+
372
+ "healthCheck": {
373
+ "enabled": true,
374
+ "intervalMs": 30000,
375
+ "timeoutMs": 10000,
376
+ "unhealthyThreshold": 3,
377
+ "healthyThreshold": 1,
378
+ "endpoints": {
379
+ "claude": "/v1/messages",
380
+ "openai": "/v1/models",
381
+ "gemini": "/v1/models",
382
+ "local": "/api/tags",
383
+ "azure": "/openai/deployments"
384
+ }
385
+ },
386
+
387
+ "rateLimiting": {
388
+ "enabled": true,
389
+ "strategy": "token_bucket",
390
+ "globalLimits": {
391
+ "requestsPerMinute": 100,
392
+ "tokensPerMinute": 500000,
393
+ "concurrent": 20
394
+ },
395
+ "perProviderLimits": true,
396
+ "perModelLimits": true,
397
+ "queueOverflow": "reject",
398
+ "queueMaxSize": 100,
399
+ "queueTimeoutMs": 30000
400
+ },
401
+
402
+ "caching": {
403
+ "enabled": true,
404
+ "strategy": "semantic",
405
+ "ttl": 3600000,
406
+ "maxSize": 1000,
407
+ "minSimilarity": 0.95,
408
+ "excludeModels": ["claude-opus-4-5"],
409
+ "excludeTaskTypes": ["creative", "reasoning"]
410
+ },
411
+
412
+ "retry": {
413
+ "enabled": true,
414
+ "maxRetries": 3,
415
+ "initialDelayMs": 1000,
416
+ "maxDelayMs": 30000,
417
+ "backoffMultiplier": 2,
418
+ "retryableErrors": [
419
+ "rate_limit_exceeded",
420
+ "server_error",
421
+ "timeout",
422
+ "service_unavailable"
423
+ ],
424
+ "nonRetryableErrors": [
425
+ "invalid_api_key",
426
+ "content_policy_violation",
427
+ "invalid_request"
428
+ ]
429
+ },
430
+
431
+ "logging": {
432
+ "enabled": true,
433
+ "level": "info",
434
+ "includePrompts": false,
435
+ "includeResponses": false,
436
+ "includeTokenCounts": true,
437
+ "includeCosts": true,
438
+ "includeLatency": true,
439
+ "redactApiKeys": true
440
+ },
441
+
442
+ "metrics": {
443
+ "enabled": true,
444
+ "collectUsage": true,
445
+ "collectLatency": true,
446
+ "collectCosts": true,
447
+ "collectErrors": true,
448
+ "historySize": 10000,
449
+ "aggregationIntervalMs": 60000,
450
+ "exportFormat": "prometheus"
451
+ },
452
+
453
+ "events": {
454
+ "enabled": true,
455
+ "emit": [
456
+ "provider.registered",
457
+ "provider.unregistered",
458
+ "provider.health_changed",
459
+ "provider.status_changed",
460
+ "llm.completion",
461
+ "llm.stream_start",
462
+ "llm.stream_end",
463
+ "llm.error",
464
+ "llm.fallback",
465
+ "llm.rate_limited",
466
+ "router.rule_matched",
467
+ "cost.threshold_exceeded"
468
+ ]
469
+ },
470
+
471
+ "taskTypeMapping": {
472
+ "code_generation": {
473
+ "preferredModels": ["claude-sonnet-4", "gpt-4o"],
474
+ "requiredCapabilities": ["tools"],
475
+ "maxCost": null,
476
+ "temperature": 0.2
477
+ },
478
+ "code_review": {
479
+ "preferredModels": ["claude-sonnet-4", "gpt-4o"],
480
+ "requiredCapabilities": ["tools"],
481
+ "maxCost": null,
482
+ "temperature": 0.1
483
+ },
484
+ "documentation": {
485
+ "preferredModels": ["claude-sonnet-4", "gpt-4o"],
486
+ "requiredCapabilities": [],
487
+ "maxCost": null,
488
+ "temperature": 0.3
489
+ },
490
+ "analysis": {
491
+ "preferredModels": ["claude-opus-4-5", "gpt-4o"],
492
+ "requiredCapabilities": [],
493
+ "maxCost": null,
494
+ "temperature": 0.2
495
+ },
496
+ "conversation": {
497
+ "preferredModels": ["claude-sonnet-4", "gpt-4o"],
498
+ "requiredCapabilities": [],
499
+ "maxCost": null,
500
+ "temperature": 0.7
501
+ },
502
+ "summarization": {
503
+ "preferredModels": ["claude-3-5-haiku", "gpt-4o-mini"],
504
+ "requiredCapabilities": [],
505
+ "maxCost": 0.01,
506
+ "temperature": 0.3
507
+ },
508
+ "translation": {
509
+ "preferredModels": ["gpt-4o", "claude-sonnet-4"],
510
+ "requiredCapabilities": [],
511
+ "maxCost": null,
512
+ "temperature": 0.2
513
+ },
514
+ "creative": {
515
+ "preferredModels": ["claude-opus-4-5", "gpt-4o"],
516
+ "requiredCapabilities": [],
517
+ "maxCost": null,
518
+ "temperature": 0.9
519
+ },
520
+ "reasoning": {
521
+ "preferredModels": ["claude-opus-4-5", "gpt-4o"],
522
+ "requiredCapabilities": [],
523
+ "maxCost": null,
524
+ "temperature": 0.1
525
+ },
526
+ "quick_task": {
527
+ "preferredModels": ["claude-3-5-haiku", "gpt-4o-mini", "gemini-2.0-flash"],
528
+ "requiredCapabilities": [],
529
+ "maxCost": 0.001,
530
+ "temperature": 0.5
531
+ }
532
+ },
533
+
534
+ "unifiedAPI": {
535
+ "responseNormalization": true,
536
+ "tokenCountingMethod": "provider_native",
537
+ "streamingBufferSize": 1024,
538
+ "defaultTemperature": 0.7,
539
+ "defaultMaxTokens": 4096,
540
+ "includeMetadata": true,
541
+ "timeoutMs": 120000
542
+ }
543
+ }
544
+ }
@@ -0,0 +1,145 @@
1
+ {
2
+ "multiProjectMemory": {
3
+ "enabled": true,
4
+ "version": "1.0.0",
5
+
6
+ "hub": {
7
+ "storagePath": "~/.elsabro/shared-memory",
8
+ "maxEntries": 10000,
9
+ "maxNamespaces": 100,
10
+ "defaultNamespace": "default",
11
+ "enableSemanticSearch": true,
12
+ "embeddingModel": "text-embedding-ada-002",
13
+ "autoBackup": true,
14
+ "backupInterval": 86400000
15
+ },
16
+
17
+ "namespaces": {
18
+ "default": {
19
+ "visibility": "private",
20
+ "description": "Personal knowledge base"
21
+ },
22
+ "team": {
23
+ "visibility": "team",
24
+ "description": "Shared team knowledge"
25
+ }
26
+ },
27
+
28
+ "entryTypes": {
29
+ "pattern": {
30
+ "description": "Reusable code patterns and architectures",
31
+ "icon": "📐",
32
+ "autoExtract": true
33
+ },
34
+ "mistake": {
35
+ "description": "Common mistakes to avoid",
36
+ "icon": "⚠️",
37
+ "autoExtract": true
38
+ },
39
+ "preference": {
40
+ "description": "Project and coding preferences",
41
+ "icon": "⭐",
42
+ "autoExtract": true
43
+ },
44
+ "snippet": {
45
+ "description": "Reusable code snippets",
46
+ "icon": "📝",
47
+ "autoExtract": false
48
+ },
49
+ "architecture": {
50
+ "description": "Architecture decisions and diagrams",
51
+ "icon": "🏗️",
52
+ "autoExtract": false
53
+ },
54
+ "dependency": {
55
+ "description": "Dependency configurations and notes",
56
+ "icon": "📦",
57
+ "autoExtract": true
58
+ }
59
+ },
60
+
61
+ "linker": {
62
+ "autoDiscoverProjects": true,
63
+ "discoveryPaths": [
64
+ "~/projects",
65
+ "~/work",
66
+ "~/code"
67
+ ],
68
+ "maxLinks": 50,
69
+ "defaultPermissions": {
70
+ "canRead": true,
71
+ "canWrite": false,
72
+ "canDelete": false,
73
+ "canShare": true
74
+ }
75
+ },
76
+
77
+ "sync": {
78
+ "enabled": true,
79
+ "autoSync": false,
80
+ "syncInterval": 3600000,
81
+ "conflictResolution": "prompt",
82
+ "maxRetries": 3,
83
+ "retryDelay": 5000,
84
+ "webhooks": {
85
+ "enabled": false,
86
+ "timeout": 10000,
87
+ "retryOnFailure": true
88
+ }
89
+ },
90
+
91
+ "search": {
92
+ "minRelevance": 0.3,
93
+ "maxResults": 50,
94
+ "useSemanticSearch": true,
95
+ "semanticWeight": 0.6,
96
+ "textWeight": 0.4,
97
+ "boostRecentUsage": true,
98
+ "usageBoostFactor": 0.1
99
+ },
100
+
101
+ "extraction": {
102
+ "enabled": true,
103
+ "autoExtract": true,
104
+ "minConfidence": 0.7,
105
+ "sources": {
106
+ "code": true,
107
+ "conversation": true,
108
+ "commit": true,
109
+ "review": true
110
+ },
111
+ "patterns": {
112
+ "correction": "no,?\\s+(use|do|prefer|always|never)",
113
+ "teaching": "in this project,?\\s+we\\s+(always|never|prefer)",
114
+ "reminder": "remember to\\s+|don't forget\\s+",
115
+ "pattern": "the pattern here is\\s+"
116
+ }
117
+ },
118
+
119
+ "cleanup": {
120
+ "enabled": true,
121
+ "removeUnused": true,
122
+ "unusedThreshold": 180,
123
+ "archiveOld": true,
124
+ "archiveAfterDays": 365,
125
+ "maxVersions": 10
126
+ },
127
+
128
+ "privacy": {
129
+ "excludePatterns": [
130
+ "**/.env*",
131
+ "**/secrets/**",
132
+ "**/credentials/**"
133
+ ],
134
+ "anonymizeByDefault": false,
135
+ "requireExplicitShare": true
136
+ },
137
+
138
+ "ui": {
139
+ "showDashboard": true,
140
+ "showSuggestions": true,
141
+ "maxSuggestions": 5,
142
+ "highlightMatches": true
143
+ }
144
+ }
145
+ }