@defai.digital/ax-cli 3.7.2 → 3.8.2
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 +148 -53
- package/dist/agent/context-manager.d.ts +15 -1
- package/dist/agent/context-manager.js +50 -19
- package/dist/agent/context-manager.js.map +1 -1
- package/dist/agent/dependency-resolver.js +13 -7
- package/dist/agent/dependency-resolver.js.map +1 -1
- package/dist/agent/llm-agent.d.ts +37 -0
- package/dist/agent/llm-agent.js +318 -98
- package/dist/agent/llm-agent.js.map +1 -1
- package/dist/agent/status-reporter.d.ts +114 -0
- package/dist/agent/status-reporter.js +335 -0
- package/dist/agent/status-reporter.js.map +1 -0
- package/dist/analyzers/best-practices/rules/typescript/no-magic-numbers.js +8 -2
- package/dist/analyzers/best-practices/rules/typescript/no-magic-numbers.js.map +1 -1
- package/dist/analyzers/best-practices/rules/typescript/no-unused-vars.js +3 -1
- package/dist/analyzers/best-practices/rules/typescript/no-unused-vars.js.map +1 -1
- package/dist/analyzers/best-practices/rules/typescript/prefer-const.js +3 -1
- package/dist/analyzers/best-practices/rules/typescript/prefer-const.js.map +1 -1
- package/dist/analyzers/best-practices/rules/typescript/prefer-readonly.js +3 -1
- package/dist/analyzers/best-practices/rules/typescript/prefer-readonly.js.map +1 -1
- package/dist/analyzers/code-smells/detectors/duplicate-code-detector.js +9 -3
- package/dist/analyzers/code-smells/detectors/duplicate-code-detector.js.map +1 -1
- package/dist/analyzers/git/churn-calculator.d.ts +2 -0
- package/dist/analyzers/git/churn-calculator.js +42 -8
- package/dist/analyzers/git/churn-calculator.js.map +1 -1
- package/dist/analyzers/git/hotspot-detector.js +2 -2
- package/dist/analyzers/git/hotspot-detector.js.map +1 -1
- package/dist/analyzers/metrics/metrics-analyzer.js +1 -1
- package/dist/analyzers/metrics/metrics-analyzer.js.map +1 -1
- package/dist/analyzers/security/security-analyzer.js +1 -1
- package/dist/analyzers/security/security-analyzer.js.map +1 -1
- package/dist/checkpoint/manager.d.ts +1 -0
- package/dist/checkpoint/manager.js +49 -9
- package/dist/checkpoint/manager.js.map +1 -1
- package/dist/checkpoint/storage.js +2 -2
- package/dist/checkpoint/storage.js.map +1 -1
- package/dist/commands/mcp-migrate.d.ts +9 -0
- package/dist/commands/mcp-migrate.js +172 -0
- package/dist/commands/mcp-migrate.js.map +1 -0
- package/dist/commands/status.d.ts +7 -0
- package/dist/commands/status.js +211 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/vscode.d.ts +7 -0
- package/dist/commands/vscode.js +363 -0
- package/dist/commands/vscode.js.map +1 -0
- package/dist/index.js +79 -30
- package/dist/index.js.map +1 -1
- package/dist/llm/client.js +33 -4
- package/dist/llm/client.js.map +1 -1
- package/dist/mcp/automatosx-loader.d.ts +84 -0
- package/dist/mcp/automatosx-loader.js +238 -0
- package/dist/mcp/automatosx-loader.js.map +1 -0
- package/dist/mcp/client-mutex-patch.d.ts +36 -0
- package/dist/mcp/client-mutex-patch.js +75 -0
- package/dist/mcp/client-mutex-patch.js.map +1 -0
- package/dist/mcp/client-v2.d.ts +229 -0
- package/dist/mcp/client-v2.js +740 -0
- package/dist/mcp/client-v2.js.map +1 -0
- package/dist/mcp/client.d.ts +111 -13
- package/dist/mcp/client.js +168 -253
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/config-detector-v2.d.ts +83 -0
- package/dist/mcp/config-detector-v2.js +328 -0
- package/dist/mcp/config-detector-v2.js.map +1 -0
- package/dist/mcp/config-detector.d.ts +90 -0
- package/dist/mcp/config-detector.js +242 -0
- package/dist/mcp/config-detector.js.map +1 -0
- package/dist/mcp/config-migrator-v2.d.ts +89 -0
- package/dist/mcp/config-migrator-v2.js +288 -0
- package/dist/mcp/config-migrator-v2.js.map +1 -0
- package/dist/mcp/config-migrator.d.ts +63 -0
- package/dist/mcp/config-migrator.js +269 -0
- package/dist/mcp/config-migrator.js.map +1 -0
- package/dist/mcp/config-v2.d.ts +106 -0
- package/dist/mcp/config-v2.js +417 -0
- package/dist/mcp/config-v2.js.map +1 -0
- package/dist/mcp/config.d.ts +12 -1
- package/dist/mcp/config.js +95 -10
- package/dist/mcp/config.js.map +1 -1
- package/dist/mcp/error-formatter.d.ts +46 -0
- package/dist/mcp/error-formatter.js +244 -0
- package/dist/mcp/error-formatter.js.map +1 -0
- package/dist/mcp/health.d.ts +5 -0
- package/dist/mcp/health.js +22 -2
- package/dist/mcp/health.js.map +1 -1
- package/dist/mcp/invariants.d.ts +141 -0
- package/dist/mcp/invariants.js +243 -0
- package/dist/mcp/invariants.js.map +1 -0
- package/dist/mcp/mutex-safe.d.ts +153 -0
- package/dist/mcp/mutex-safe.js +260 -0
- package/dist/mcp/mutex-safe.js.map +1 -0
- package/dist/mcp/mutex.d.ts +73 -0
- package/dist/mcp/mutex.js +137 -0
- package/dist/mcp/mutex.js.map +1 -0
- package/dist/mcp/reconnection.d.ts +4 -0
- package/dist/mcp/reconnection.js +25 -1
- package/dist/mcp/reconnection.js.map +1 -1
- package/dist/mcp/transports-v2.d.ts +152 -0
- package/dist/mcp/transports-v2.js +481 -0
- package/dist/mcp/transports-v2.js.map +1 -0
- package/dist/mcp/type-safety.d.ts +231 -0
- package/dist/mcp/type-safety.js +273 -0
- package/dist/mcp/type-safety.js.map +1 -0
- package/dist/planner/task-planner.js +13 -0
- package/dist/planner/task-planner.js.map +1 -1
- package/dist/planner/types.d.ts +6 -6
- package/dist/schemas/confirmation-schemas.d.ts +2 -2
- package/dist/schemas/settings-schemas.d.ts +196 -0
- package/dist/schemas/settings-schemas.js +146 -5
- package/dist/schemas/settings-schemas.js.map +1 -1
- package/dist/sdk/index.d.ts +118 -2
- package/dist/sdk/index.js +146 -4
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/testing.d.ts +182 -0
- package/dist/sdk/testing.js +231 -0
- package/dist/sdk/testing.js.map +1 -1
- package/dist/sdk/version.d.ts +114 -15
- package/dist/sdk/version.js +137 -15
- package/dist/sdk/version.js.map +1 -1
- package/dist/tools/bash.js +54 -9
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/registry.d.ts +146 -0
- package/dist/tools/registry.js +170 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/search.js +12 -2
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/text-editor.js +84 -26
- package/dist/tools/text-editor.js.map +1 -1
- package/dist/ui/components/chat-history.js +6 -1
- package/dist/ui/components/chat-history.js.map +1 -1
- package/dist/ui/components/chat-input.d.ts +2 -1
- package/dist/ui/components/chat-input.js +5 -2
- package/dist/ui/components/chat-input.js.map +1 -1
- package/dist/ui/components/chat-interface.js +187 -5
- package/dist/ui/components/chat-interface.js.map +1 -1
- package/dist/ui/components/context-breakdown.d.ts +23 -0
- package/dist/ui/components/context-breakdown.js +124 -0
- package/dist/ui/components/context-breakdown.js.map +1 -0
- package/dist/ui/components/keyboard-help.d.ts +17 -0
- package/dist/ui/components/keyboard-help.js +116 -0
- package/dist/ui/components/keyboard-help.js.map +1 -0
- package/dist/ui/components/keyboard-hints.js +2 -2
- package/dist/ui/components/keyboard-hints.js.map +1 -1
- package/dist/ui/components/quick-actions.js +43 -7
- package/dist/ui/components/quick-actions.js.map +1 -1
- package/dist/ui/components/status-bar.d.ts +3 -0
- package/dist/ui/components/status-bar.js +25 -16
- package/dist/ui/components/status-bar.js.map +1 -1
- package/dist/ui/components/toast-notification.d.ts +42 -0
- package/dist/ui/components/toast-notification.js +30 -2
- package/dist/ui/components/toast-notification.js.map +1 -1
- package/dist/ui/components/tool-group-display.js +34 -4
- package/dist/ui/components/tool-group-display.js.map +1 -1
- package/dist/ui/components/welcome-panel.js +2 -2
- package/dist/ui/components/welcome-panel.js.map +1 -1
- package/dist/ui/hooks/use-enhanced-input.d.ts +9 -1
- package/dist/ui/hooks/use-enhanced-input.js +901 -90
- package/dist/ui/hooks/use-enhanced-input.js.map +1 -1
- package/dist/ui/hooks/use-input-handler.d.ts +11 -1
- package/dist/ui/hooks/use-input-handler.js +67 -3
- package/dist/ui/hooks/use-input-handler.js.map +1 -1
- package/dist/ui/hooks/use-input-history.d.ts +1 -1
- package/dist/ui/hooks/use-input-history.js +50 -14
- package/dist/ui/hooks/use-input-history.js.map +1 -1
- package/dist/ui/utils/bracketed-paste-handler.d.ts +97 -0
- package/dist/ui/utils/bracketed-paste-handler.js +322 -0
- package/dist/ui/utils/bracketed-paste-handler.js.map +1 -0
- package/dist/ui/utils/change-summarizer.js +16 -6
- package/dist/ui/utils/change-summarizer.js.map +1 -1
- package/dist/ui/utils/tool-grouper.d.ts +10 -1
- package/dist/ui/utils/tool-grouper.js +143 -30
- package/dist/ui/utils/tool-grouper.js.map +1 -1
- package/dist/utils/auto-accept-logger.d.ts +173 -0
- package/dist/utils/auto-accept-logger.js +420 -0
- package/dist/utils/auto-accept-logger.js.map +1 -0
- package/dist/utils/background-task-manager.d.ts +11 -0
- package/dist/utils/background-task-manager.js +124 -38
- package/dist/utils/background-task-manager.js.map +1 -1
- package/dist/utils/confirmation-service.d.ts +1 -0
- package/dist/utils/confirmation-service.js +6 -1
- package/dist/utils/confirmation-service.js.map +1 -1
- package/dist/utils/encryption.d.ts +8 -0
- package/dist/utils/encryption.js +44 -27
- package/dist/utils/encryption.js.map +1 -1
- package/dist/utils/enhanced-error-messages.d.ts +33 -0
- package/dist/utils/enhanced-error-messages.js +420 -0
- package/dist/utils/enhanced-error-messages.js.map +1 -0
- package/dist/utils/error-handler.d.ts +13 -3
- package/dist/utils/error-handler.js +16 -4
- package/dist/utils/error-handler.js.map +1 -1
- package/dist/utils/external-editor.d.ts +47 -0
- package/dist/utils/external-editor.js +179 -0
- package/dist/utils/external-editor.js.map +1 -0
- package/dist/utils/history-migration.d.ts +9 -0
- package/dist/utils/history-migration.js +36 -0
- package/dist/utils/history-migration.js.map +1 -0
- package/dist/utils/paste-utils.js +12 -11
- package/dist/utils/paste-utils.js.map +1 -1
- package/dist/utils/rate-limiter.js +20 -1
- package/dist/utils/rate-limiter.js.map +1 -1
- package/dist/utils/safety-rules.d.ts +64 -0
- package/dist/utils/safety-rules.js +225 -0
- package/dist/utils/safety-rules.js.map +1 -0
- package/dist/utils/settings-manager.d.ts +89 -1
- package/dist/utils/settings-manager.js +359 -3
- package/dist/utils/settings-manager.js.map +1 -1
- package/dist/utils/token-counter.d.ts +2 -0
- package/dist/utils/token-counter.js +32 -9
- package/dist/utils/token-counter.js.map +1 -1
- package/dist/utils/version.d.ts +11 -2
- package/dist/utils/version.js +54 -21
- package/dist/utils/version.js.map +1 -1
- package/package.json +2 -1
|
@@ -170,7 +170,8 @@ export class SettingsManager {
|
|
|
170
170
|
apiKey = decrypt(parseResult.data.apiKeyEncrypted);
|
|
171
171
|
}
|
|
172
172
|
catch (error) {
|
|
173
|
-
|
|
173
|
+
// CRITICAL: Don't continue if we can't decrypt existing data - fail fast to prevent data loss
|
|
174
|
+
throw new Error(`Cannot save settings: failed to decrypt existing API key. This would result in data loss. ${error instanceof Error ? error.message : String(error)}`);
|
|
174
175
|
}
|
|
175
176
|
}
|
|
176
177
|
else if (parseResult.data.apiKey) {
|
|
@@ -184,8 +185,8 @@ export class SettingsManager {
|
|
|
184
185
|
};
|
|
185
186
|
}
|
|
186
187
|
else {
|
|
187
|
-
// If file is corrupted,
|
|
188
|
-
|
|
188
|
+
// If file is corrupted, throw error instead of silently discarding user data
|
|
189
|
+
throw new Error(`Cannot save settings: existing file is corrupted. ${parseResult.error || 'Unknown parse error'}`);
|
|
189
190
|
}
|
|
190
191
|
}
|
|
191
192
|
const mergedSettings = { ...existingSettings, ...settings };
|
|
@@ -323,6 +324,27 @@ export class SettingsManager {
|
|
|
323
324
|
const settings = this.loadProjectSettings();
|
|
324
325
|
return settings[key];
|
|
325
326
|
}
|
|
327
|
+
/**
|
|
328
|
+
* Phase 3: Get paste settings with proper defaults
|
|
329
|
+
* Priority: Project settings > User settings > Schema defaults
|
|
330
|
+
* v3.8.0: Now includes bracketed paste mode settings
|
|
331
|
+
*/
|
|
332
|
+
getPasteSettings() {
|
|
333
|
+
const userPaste = this.getUserSetting("paste");
|
|
334
|
+
const projectPaste = this.getProjectSetting("paste");
|
|
335
|
+
const merged = { ...(userPaste || {}), ...(projectPaste || {}) };
|
|
336
|
+
return {
|
|
337
|
+
allowLargePaste: merged.allowLargePaste ?? true, // Changed to true - allow large pastes by default
|
|
338
|
+
maxPasteLength: merged.maxPasteLength ?? 50000, // Increased from 5000 to 50000
|
|
339
|
+
warningThreshold: merged.warningThreshold ?? 10000, // Increased from 1000 to 10000
|
|
340
|
+
// v3.8.0: Bracketed paste mode settings
|
|
341
|
+
enableBracketedPaste: merged.enableBracketedPaste ?? true,
|
|
342
|
+
showPasteIndicator: merged.showPasteIndicator ?? true,
|
|
343
|
+
maxPasteSize: merged.maxPasteSize ?? (100 * 1024 * 1024),
|
|
344
|
+
pasteTimeout: merged.pasteTimeout ?? 30000,
|
|
345
|
+
enableFallback: merged.enableFallback ?? true,
|
|
346
|
+
};
|
|
347
|
+
}
|
|
326
348
|
/**
|
|
327
349
|
* Get the current model with proper fallback logic:
|
|
328
350
|
* 1. Project-specific model setting
|
|
@@ -551,6 +573,340 @@ export class SettingsManager {
|
|
|
551
573
|
getProjectSettingsPath() {
|
|
552
574
|
return this.projectSettingsPath;
|
|
553
575
|
}
|
|
576
|
+
// ==================== Phase 1: Input Configuration ====================
|
|
577
|
+
/**
|
|
578
|
+
* Get input configuration with proper defaults
|
|
579
|
+
* Priority: User settings > Schema defaults
|
|
580
|
+
*/
|
|
581
|
+
getInputConfig() {
|
|
582
|
+
const userSettings = this.loadUserSettings();
|
|
583
|
+
// Return schema defaults if no user config exists
|
|
584
|
+
// FIX: Using 'submit' mode - Enter submits, Shift+Enter inserts newline
|
|
585
|
+
// This is simpler and more reliable than smart mode
|
|
586
|
+
if (!userSettings.input) {
|
|
587
|
+
return {
|
|
588
|
+
enterBehavior: 'submit',
|
|
589
|
+
submitKeys: ['enter'],
|
|
590
|
+
multilineIndicator: '│ ',
|
|
591
|
+
smartDetection: {
|
|
592
|
+
enabled: true,
|
|
593
|
+
checkBrackets: true,
|
|
594
|
+
checkOperators: true,
|
|
595
|
+
checkStatements: true,
|
|
596
|
+
},
|
|
597
|
+
};
|
|
598
|
+
}
|
|
599
|
+
// Merge user config with defaults
|
|
600
|
+
return {
|
|
601
|
+
enterBehavior: userSettings.input.enterBehavior || 'submit',
|
|
602
|
+
submitKeys: userSettings.input.submitKeys || ['enter'],
|
|
603
|
+
multilineIndicator: userSettings.input.multilineIndicator || '│ ',
|
|
604
|
+
smartDetection: {
|
|
605
|
+
enabled: userSettings.input.smartDetection?.enabled ?? true,
|
|
606
|
+
checkBrackets: userSettings.input.smartDetection?.checkBrackets ?? true,
|
|
607
|
+
checkOperators: userSettings.input.smartDetection?.checkOperators ?? true,
|
|
608
|
+
checkStatements: userSettings.input.smartDetection?.checkStatements ?? true,
|
|
609
|
+
},
|
|
610
|
+
};
|
|
611
|
+
}
|
|
612
|
+
/**
|
|
613
|
+
* Update input configuration
|
|
614
|
+
* Merges with existing config and saves to user settings
|
|
615
|
+
*/
|
|
616
|
+
updateInputConfig(config) {
|
|
617
|
+
const userSettings = this.loadUserSettings();
|
|
618
|
+
const currentConfig = this.getInputConfig();
|
|
619
|
+
// Deep merge for nested smartDetection object
|
|
620
|
+
const currentSmart = currentConfig.smartDetection;
|
|
621
|
+
const configSmart = config.smartDetection;
|
|
622
|
+
// Spread operator handles the merge cleanly
|
|
623
|
+
const newConfig = {
|
|
624
|
+
...currentConfig,
|
|
625
|
+
...config,
|
|
626
|
+
smartDetection: configSmart ? { ...currentSmart, ...configSmart } : currentSmart,
|
|
627
|
+
};
|
|
628
|
+
this.saveUserSettings({ ...userSettings, input: newConfig });
|
|
629
|
+
}
|
|
630
|
+
// ==================== Phase 1: Shortcuts Configuration ====================
|
|
631
|
+
/**
|
|
632
|
+
* Get shortcuts configuration with proper defaults
|
|
633
|
+
* Priority: User settings > Schema defaults
|
|
634
|
+
*/
|
|
635
|
+
getShortcutsConfig() {
|
|
636
|
+
const userSettings = this.loadUserSettings();
|
|
637
|
+
// Return schema defaults if no user config exists
|
|
638
|
+
if (!userSettings.shortcuts) {
|
|
639
|
+
return {
|
|
640
|
+
showOnStartup: false,
|
|
641
|
+
hintTimeout: 3000,
|
|
642
|
+
customBindings: {},
|
|
643
|
+
};
|
|
644
|
+
}
|
|
645
|
+
// Merge user config with defaults
|
|
646
|
+
return {
|
|
647
|
+
showOnStartup: userSettings.shortcuts.showOnStartup ?? false,
|
|
648
|
+
hintTimeout: userSettings.shortcuts.hintTimeout ?? 3000,
|
|
649
|
+
customBindings: userSettings.shortcuts.customBindings || {},
|
|
650
|
+
};
|
|
651
|
+
}
|
|
652
|
+
/**
|
|
653
|
+
* Update shortcuts configuration
|
|
654
|
+
* Merges with existing config and saves to user settings
|
|
655
|
+
*/
|
|
656
|
+
updateShortcutsConfig(config) {
|
|
657
|
+
const userSettings = this.loadUserSettings();
|
|
658
|
+
const currentConfig = this.getShortcutsConfig();
|
|
659
|
+
// Deep merge for nested customBindings object
|
|
660
|
+
const currentBindings = currentConfig.customBindings;
|
|
661
|
+
const configBindings = config.customBindings;
|
|
662
|
+
// Spread operator handles the merge cleanly
|
|
663
|
+
const newConfig = {
|
|
664
|
+
...currentConfig,
|
|
665
|
+
...config,
|
|
666
|
+
customBindings: configBindings ? { ...currentBindings, ...configBindings } : currentBindings,
|
|
667
|
+
};
|
|
668
|
+
this.saveUserSettings({ ...userSettings, shortcuts: newConfig });
|
|
669
|
+
}
|
|
670
|
+
// ==================== Phase 1: Paste Configuration ====================
|
|
671
|
+
/**
|
|
672
|
+
* Get paste configuration with proper defaults
|
|
673
|
+
* Priority: User settings > Schema defaults
|
|
674
|
+
*/
|
|
675
|
+
getPasteConfig() {
|
|
676
|
+
const userSettings = this.loadUserSettings();
|
|
677
|
+
// Return schema defaults if no user config exists
|
|
678
|
+
if (!userSettings.paste) {
|
|
679
|
+
return {
|
|
680
|
+
autoCollapse: true,
|
|
681
|
+
collapseThreshold: 20,
|
|
682
|
+
characterThreshold: 500,
|
|
683
|
+
maxCollapsedBlocks: 50,
|
|
684
|
+
showLineCount: true,
|
|
685
|
+
showPreview: true,
|
|
686
|
+
previewLines: 2,
|
|
687
|
+
enableHistory: true,
|
|
688
|
+
maxHistoryItems: 10,
|
|
689
|
+
// v3.8.0: Bracketed paste mode settings
|
|
690
|
+
enableBracketedPaste: true,
|
|
691
|
+
showPasteIndicator: true,
|
|
692
|
+
maxPasteSize: 100 * 1024 * 1024, // 100MB
|
|
693
|
+
pasteTimeout: 30000, // 30 seconds
|
|
694
|
+
enableFallback: true,
|
|
695
|
+
};
|
|
696
|
+
}
|
|
697
|
+
// Merge user config with defaults
|
|
698
|
+
return {
|
|
699
|
+
autoCollapse: userSettings.paste.autoCollapse ?? true,
|
|
700
|
+
collapseThreshold: userSettings.paste.collapseThreshold ?? 20,
|
|
701
|
+
characterThreshold: userSettings.paste.characterThreshold ?? 500,
|
|
702
|
+
maxCollapsedBlocks: userSettings.paste.maxCollapsedBlocks ?? 50,
|
|
703
|
+
showLineCount: userSettings.paste.showLineCount ?? true,
|
|
704
|
+
showPreview: userSettings.paste.showPreview ?? true,
|
|
705
|
+
previewLines: userSettings.paste.previewLines ?? 2,
|
|
706
|
+
enableHistory: userSettings.paste.enableHistory ?? true,
|
|
707
|
+
maxHistoryItems: userSettings.paste.maxHistoryItems ?? 10,
|
|
708
|
+
// v3.8.0: Bracketed paste mode settings
|
|
709
|
+
enableBracketedPaste: userSettings.paste.enableBracketedPaste ?? true,
|
|
710
|
+
showPasteIndicator: userSettings.paste.showPasteIndicator ?? true,
|
|
711
|
+
maxPasteSize: userSettings.paste.maxPasteSize ?? (100 * 1024 * 1024),
|
|
712
|
+
pasteTimeout: userSettings.paste.pasteTimeout ?? 30000,
|
|
713
|
+
enableFallback: userSettings.paste.enableFallback ?? true,
|
|
714
|
+
};
|
|
715
|
+
}
|
|
716
|
+
/**
|
|
717
|
+
* Update paste configuration
|
|
718
|
+
* Merges with existing config and saves to user settings
|
|
719
|
+
*/
|
|
720
|
+
updatePasteConfig(config) {
|
|
721
|
+
const userSettings = this.loadUserSettings();
|
|
722
|
+
const currentConfig = this.getPasteConfig();
|
|
723
|
+
// Spread operator handles the merge cleanly
|
|
724
|
+
const newConfig = {
|
|
725
|
+
...currentConfig,
|
|
726
|
+
...config,
|
|
727
|
+
};
|
|
728
|
+
this.saveUserSettings({ ...userSettings, paste: newConfig });
|
|
729
|
+
}
|
|
730
|
+
// ==================== Phase 2: Status Bar Configuration ====================
|
|
731
|
+
/**
|
|
732
|
+
* Get status bar configuration with proper defaults
|
|
733
|
+
* Priority: User settings > Schema defaults
|
|
734
|
+
*/
|
|
735
|
+
getStatusBarConfig() {
|
|
736
|
+
const userSettings = this.loadUserSettings();
|
|
737
|
+
// Return schema defaults if no user config exists
|
|
738
|
+
if (!userSettings.statusBar) {
|
|
739
|
+
return {
|
|
740
|
+
enabled: true,
|
|
741
|
+
compact: true,
|
|
742
|
+
showCost: true,
|
|
743
|
+
showTokens: true,
|
|
744
|
+
showContext: true,
|
|
745
|
+
showSession: true,
|
|
746
|
+
showModes: true,
|
|
747
|
+
updateInterval: 1000,
|
|
748
|
+
position: 'top',
|
|
749
|
+
};
|
|
750
|
+
}
|
|
751
|
+
// Merge user config with defaults
|
|
752
|
+
return {
|
|
753
|
+
enabled: userSettings.statusBar.enabled ?? true,
|
|
754
|
+
compact: userSettings.statusBar.compact ?? true,
|
|
755
|
+
showCost: userSettings.statusBar.showCost ?? true,
|
|
756
|
+
showTokens: userSettings.statusBar.showTokens ?? true,
|
|
757
|
+
showContext: userSettings.statusBar.showContext ?? true,
|
|
758
|
+
showSession: userSettings.statusBar.showSession ?? true,
|
|
759
|
+
showModes: userSettings.statusBar.showModes ?? true,
|
|
760
|
+
updateInterval: userSettings.statusBar.updateInterval ?? 1000,
|
|
761
|
+
position: userSettings.statusBar.position ?? 'top',
|
|
762
|
+
};
|
|
763
|
+
}
|
|
764
|
+
/**
|
|
765
|
+
* Update status bar configuration
|
|
766
|
+
* Merges with existing config and saves to user settings
|
|
767
|
+
*/
|
|
768
|
+
updateStatusBarConfig(config) {
|
|
769
|
+
const userSettings = this.loadUserSettings();
|
|
770
|
+
const currentConfig = this.getStatusBarConfig();
|
|
771
|
+
// Spread operator handles the merge cleanly
|
|
772
|
+
const newConfig = {
|
|
773
|
+
...currentConfig,
|
|
774
|
+
...config,
|
|
775
|
+
};
|
|
776
|
+
this.saveUserSettings({ ...userSettings, statusBar: newConfig });
|
|
777
|
+
}
|
|
778
|
+
// ==================== Phase 2: Auto-accept Configuration ====================
|
|
779
|
+
/**
|
|
780
|
+
* Get auto-accept configuration with proper defaults
|
|
781
|
+
* Priority: User settings > Schema defaults
|
|
782
|
+
*/
|
|
783
|
+
getAutoAcceptConfig() {
|
|
784
|
+
const userSettings = this.loadUserSettings();
|
|
785
|
+
// Return schema defaults if no user config exists
|
|
786
|
+
if (!userSettings.autoAccept) {
|
|
787
|
+
return {
|
|
788
|
+
enabled: false,
|
|
789
|
+
persistAcrossSessions: false,
|
|
790
|
+
alwaysConfirm: ['git_push_main', 'mass_delete', 'rm_rf', 'npm_publish'],
|
|
791
|
+
scope: 'session',
|
|
792
|
+
auditLog: {
|
|
793
|
+
enabled: true,
|
|
794
|
+
maxEntries: 1000,
|
|
795
|
+
filepath: undefined,
|
|
796
|
+
},
|
|
797
|
+
};
|
|
798
|
+
}
|
|
799
|
+
// Merge user config with defaults
|
|
800
|
+
return {
|
|
801
|
+
enabled: userSettings.autoAccept.enabled ?? false,
|
|
802
|
+
persistAcrossSessions: userSettings.autoAccept.persistAcrossSessions ?? false,
|
|
803
|
+
alwaysConfirm: userSettings.autoAccept.alwaysConfirm || ['git_push_main', 'mass_delete', 'rm_rf', 'npm_publish'],
|
|
804
|
+
scope: userSettings.autoAccept.scope ?? 'session',
|
|
805
|
+
auditLog: {
|
|
806
|
+
enabled: userSettings.autoAccept.auditLog?.enabled ?? true,
|
|
807
|
+
maxEntries: userSettings.autoAccept.auditLog?.maxEntries ?? 1000,
|
|
808
|
+
filepath: userSettings.autoAccept.auditLog?.filepath,
|
|
809
|
+
},
|
|
810
|
+
};
|
|
811
|
+
}
|
|
812
|
+
/**
|
|
813
|
+
* Update auto-accept configuration
|
|
814
|
+
* Merges with existing config and saves to user settings
|
|
815
|
+
*/
|
|
816
|
+
updateAutoAcceptConfig(config) {
|
|
817
|
+
const userSettings = this.loadUserSettings();
|
|
818
|
+
const currentConfig = this.getAutoAcceptConfig();
|
|
819
|
+
// Deep merge for nested auditLog object
|
|
820
|
+
const currentAuditLog = currentConfig.auditLog;
|
|
821
|
+
const configAuditLog = config.auditLog;
|
|
822
|
+
// Spread operator handles the merge cleanly
|
|
823
|
+
const newConfig = {
|
|
824
|
+
...currentConfig,
|
|
825
|
+
...config,
|
|
826
|
+
auditLog: configAuditLog ? { ...currentAuditLog, ...configAuditLog } : currentAuditLog,
|
|
827
|
+
};
|
|
828
|
+
this.saveUserSettings({ ...userSettings, autoAccept: newConfig });
|
|
829
|
+
}
|
|
830
|
+
// ==================== Phase 2: External Editor Configuration ====================
|
|
831
|
+
/**
|
|
832
|
+
* Get external editor configuration with proper defaults
|
|
833
|
+
* Priority: User settings > Schema defaults
|
|
834
|
+
*/
|
|
835
|
+
getExternalEditorConfig() {
|
|
836
|
+
const userSettings = this.loadUserSettings();
|
|
837
|
+
// Return schema defaults if no user config exists
|
|
838
|
+
if (!userSettings.externalEditor) {
|
|
839
|
+
return {
|
|
840
|
+
enabled: true,
|
|
841
|
+
editor: undefined,
|
|
842
|
+
shortcut: 'ctrl+g',
|
|
843
|
+
tempDir: undefined,
|
|
844
|
+
confirmBeforeSubmit: true,
|
|
845
|
+
syntaxHighlighting: true,
|
|
846
|
+
};
|
|
847
|
+
}
|
|
848
|
+
// Merge user config with defaults
|
|
849
|
+
return {
|
|
850
|
+
enabled: userSettings.externalEditor.enabled ?? true,
|
|
851
|
+
editor: userSettings.externalEditor.editor,
|
|
852
|
+
shortcut: userSettings.externalEditor.shortcut ?? 'ctrl+g',
|
|
853
|
+
tempDir: userSettings.externalEditor.tempDir,
|
|
854
|
+
confirmBeforeSubmit: userSettings.externalEditor.confirmBeforeSubmit ?? true,
|
|
855
|
+
syntaxHighlighting: userSettings.externalEditor.syntaxHighlighting ?? true,
|
|
856
|
+
};
|
|
857
|
+
}
|
|
858
|
+
/**
|
|
859
|
+
* Update external editor configuration
|
|
860
|
+
* Merges with existing config and saves to user settings
|
|
861
|
+
*/
|
|
862
|
+
updateExternalEditorConfig(config) {
|
|
863
|
+
const userSettings = this.loadUserSettings();
|
|
864
|
+
const currentConfig = this.getExternalEditorConfig();
|
|
865
|
+
// Spread operator handles the merge cleanly
|
|
866
|
+
const newConfig = {
|
|
867
|
+
...currentConfig,
|
|
868
|
+
...config,
|
|
869
|
+
};
|
|
870
|
+
this.saveUserSettings({ ...userSettings, externalEditor: newConfig });
|
|
871
|
+
}
|
|
872
|
+
// ==================== Phase 2: Thinking Mode Configuration ====================
|
|
873
|
+
/**
|
|
874
|
+
* Get thinking mode configuration with proper defaults
|
|
875
|
+
* Priority: User settings > Schema defaults
|
|
876
|
+
*/
|
|
877
|
+
getThinkingModeConfig() {
|
|
878
|
+
const userSettings = this.loadUserSettings();
|
|
879
|
+
// Return schema defaults if no user config exists
|
|
880
|
+
if (!userSettings.thinkingMode) {
|
|
881
|
+
return {
|
|
882
|
+
enabled: false,
|
|
883
|
+
quickToggle: true,
|
|
884
|
+
showInStatusBar: true,
|
|
885
|
+
budgetTokens: undefined,
|
|
886
|
+
};
|
|
887
|
+
}
|
|
888
|
+
// Merge user config with defaults
|
|
889
|
+
return {
|
|
890
|
+
enabled: userSettings.thinkingMode.enabled ?? false,
|
|
891
|
+
quickToggle: userSettings.thinkingMode.quickToggle ?? true,
|
|
892
|
+
showInStatusBar: userSettings.thinkingMode.showInStatusBar ?? true,
|
|
893
|
+
budgetTokens: userSettings.thinkingMode.budgetTokens,
|
|
894
|
+
};
|
|
895
|
+
}
|
|
896
|
+
/**
|
|
897
|
+
* Update thinking mode configuration
|
|
898
|
+
* Merges with existing config and saves to user settings
|
|
899
|
+
*/
|
|
900
|
+
updateThinkingModeConfig(config) {
|
|
901
|
+
const userSettings = this.loadUserSettings();
|
|
902
|
+
const currentConfig = this.getThinkingModeConfig();
|
|
903
|
+
// Spread operator handles the merge cleanly
|
|
904
|
+
const newConfig = {
|
|
905
|
+
...currentConfig,
|
|
906
|
+
...config,
|
|
907
|
+
};
|
|
908
|
+
this.saveUserSettings({ ...userSettings, thinkingMode: newConfig });
|
|
909
|
+
}
|
|
554
910
|
}
|
|
555
911
|
/**
|
|
556
912
|
* Convenience function to get the singleton instance
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-manager.js","sourceRoot":"","sources":["../../src/utils/settings-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"settings-manager.js","sourceRoot":"","sources":["../../src/utils/settings-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE3F,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAUnD;;;GAGG;AACH,MAAM,qBAAqB,GAA0B;AACnD,iEAAiE;CAClE,CAAC;AAEF;;GAEG;AACH,MAAM,wBAAwB,GAA6B;AACzD,qEAAqE;CACtE,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,eAAe;IAClB,MAAM,CAAC,QAAQ,CAAkB;IAEjC,gBAAgB,CAAS;IACzB,mBAAmB,CAAS;IAEpC,gDAAgD;IACxC,iBAAiB,GAAwB,IAAI,CAAC;IAC9C,oBAAoB,GAA2B,IAAI,CAAC;IACpD,cAAc,GAAG;QACvB,IAAI,EAAE,CAAC;QACP,OAAO,EAAE,CAAC;KACX,CAAC;IACe,SAAS,GAAG,IAAI,CAAC,CAAC,0BAA0B;IAE7D;QACE,4CAA4C;QAC5C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAElE,+CAA+C;QAC/C,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAC7E,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;YAC9B,eAAe,CAAC,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACnD,CAAC;QACD,OAAO,eAAe,CAAC,QAAQ,CAAC;IAClC,CAAC;IAGD;;OAEG;IACK,qBAAqB,CAAC,QAAgB;QAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED;;OAEG;IACI,gBAAgB;QACrB,oBAAoB;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChF,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAChC,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACvC,qDAAqD;gBACrD,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;gBAC7C,MAAM,eAAe,GAAG,EAAE,GAAG,qBAAqB,EAAE,CAAC;gBACrD,mCAAmC;gBACnC,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC;gBACzC,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACtC,OAAO,eAAe,CAAC;YACzB,CAAC;YAED,8CAA8C;YAC9C,MAAM,WAAW,GAAG,aAAa,CAC/B,IAAI,CAAC,gBAAgB,EACrB,kBAAkB,CACnB,CAAC;YAEF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CACV,+BAA+B,EAC/B,WAAW,CAAC,KAAK,CAClB,CAAC;gBACF,MAAM,eAAe,GAAG,EAAE,GAAG,qBAAqB,EAAE,CAAC;gBACrD,oEAAoE;gBACpE,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC;gBACzC,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACtC,OAAO,eAAe,CAAC;YACzB,CAAC;YAED,mDAAmD;YACnD,kDAAkD;YAClD,IAAI,eAAmC,CAAC;YAExC,IAAI,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrC,iCAAiC;gBACjC,IAAI,CAAC;oBACH,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC9D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;oBACtG,8CAA8C;oBAC9C,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;wBAC3E,eAAe,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC5C,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAClF,6CAA6C;gBAC7C,eAAe,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;gBAE1C,8BAA8B;gBAC9B,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;gBACjF,IAAI,CAAC;oBACH,IAAI,CAAC,eAAe,EAAE,CAAC;wBACrB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;oBACtC,CAAC;oBACD,MAAM,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;oBAE3C,6DAA6D;oBAC7D,MAAM,cAAc,GAAG;wBACrB,GAAG,WAAW,CAAC,IAAI;wBACnB,eAAe,EAAE,SAAS;wBAC1B,MAAM,EAAE,SAAS,EAAE,yBAAyB;qBAC7C,CAAC;oBAEF,2BAA2B;oBAC3B,MAAM,WAAW,GAAG,aAAa,CAC/B,IAAI,CAAC,gBAAgB,EACrB,cAAc,EACd,kBAAkB,EAClB,IAAI,CAAC,SAAS;qBACf,CAAC;oBAEF,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;wBACxB,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;oBAC5D,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,CAAC,uCAAuC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC3E,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;oBACzG,4DAA4D;gBAC9D,CAAC;YACH,CAAC;YAED,+CAA+C;YAC/C,MAAM,QAAQ,GAAG;gBACf,GAAG,qBAAqB;gBACxB,GAAG,WAAW,CAAC,IAAI;gBACnB,MAAM,EAAE,eAAe,EAAE,uCAAuC;gBAChE,eAAe,EAAE,SAAS,EAAE,yCAAyC;aACtE,CAAC;YAEF,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;YAClC,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CACV,+BAA+B,EAC/B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CACzD,CAAC;YACF,MAAM,eAAe,GAAG,EAAE,GAAG,qBAAqB,EAAE,CAAC;YACrD,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC;YACzC,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtC,OAAO,eAAe,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,QAA+B;QACrD,IAAI,CAAC;YACH,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAElD,qDAAqD;YACrD,IAAI,gBAAgB,GAAiB,EAAE,GAAG,qBAAqB,EAAE,CAAC;YAClE,IAAI,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACtC,MAAM,WAAW,GAAG,aAAa,CAAe,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACvE,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;oBACxB,+BAA+B;oBAC/B,IAAI,MAA0B,CAAC;oBAC/B,IAAI,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;wBACrC,IAAI,CAAC;4BACH,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;wBACrD,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,8FAA8F;4BAC9F,MAAM,IAAI,KAAK,CAAC,6FAA6F,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBACzK,CAAC;oBACH,CAAC;yBAAM,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;wBACnC,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,MAAgB,CAAC;oBAC7C,CAAC;oBAED,gBAAgB,GAAG;wBACjB,GAAG,qBAAqB;wBACxB,GAAG,WAAW,CAAC,IAAI;wBACnB,MAAM,EAAE,sBAAsB;wBAC9B,eAAe,EAAE,SAAS,EAAE,iCAAiC;qBAC9D,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,6EAA6E;oBAC7E,MAAM,IAAI,KAAK,CAAC,qDAAqD,WAAW,CAAC,KAAK,IAAI,qBAAqB,EAAE,CAAC,CAAC;gBACrH,CAAC;YACH,CAAC;YAED,MAAM,cAAc,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,QAAQ,EAAE,CAAC;YAE5D,0DAA0D;YAC1D,MAAM,cAAc,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC;YAE7C,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC1B,sBAAsB;gBACtB,cAAc,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAChE,6BAA6B;gBAC7B,OAAO,cAAc,CAAC,MAAM,CAAC;YAC/B,CAAC;YAED,+DAA+D;YAC/D,MAAM,WAAW,GAAG,aAAa,CAC/B,IAAI,CAAC,gBAAgB,EACrB,cAAc,EACd,kBAAkB,EAAE,0BAA0B;YAC9C,IAAI,CAAC,SAAS;aACf,CAAC;YAEF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,6BAA6B,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,qCAAqC;YACrC,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YAExC,yDAAyD;YACzD,yDAAyD;YACzD,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC;YACxC,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,+BAA+B,EAC/B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CACzD,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACI,iBAAiB,CACtB,GAAM,EACN,KAAsB;QAEtB,MAAM,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAA2B,CAAC;QAC3D,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACI,cAAc,CAA+B,GAAM;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACI,mBAAmB;QACxB,oBAAoB;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,oBAAoB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YACtF,OAAO,IAAI,CAAC,oBAAoB,CAAC;QACnC,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAC1C,wDAAwD;gBACxD,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;gBACnD,MAAM,eAAe,GAAG,EAAE,GAAG,wBAAwB,EAAE,CAAC;gBACxD,mCAAmC;gBACnC,IAAI,CAAC,oBAAoB,GAAG,eAAe,CAAC;gBAC5C,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACzC,OAAO,eAAe,CAAC;YACzB,CAAC;YAED,8CAA8C;YAC9C,MAAM,WAAW,GAAG,aAAa,CAC/B,IAAI,CAAC,mBAAmB,EACxB,qBAAqB,CACtB,CAAC;YAEF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CACV,kCAAkC,EAClC,WAAW,CAAC,KAAK,CAClB,CAAC;gBACF,MAAM,eAAe,GAAG,EAAE,GAAG,wBAAwB,EAAE,CAAC;gBACxD,oEAAoE;gBACpE,IAAI,CAAC,oBAAoB,GAAG,eAAe,CAAC;gBAC5C,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACzC,OAAO,eAAe,CAAC;YACzB,CAAC;YAED,sBAAsB;YACtB,MAAM,QAAQ,GAAG,EAAE,GAAG,wBAAwB,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;YACtE,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC;YACrC,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CACV,kCAAkC,EAClC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CACzD,CAAC;YACF,MAAM,eAAe,GAAG,EAAE,GAAG,wBAAwB,EAAE,CAAC;YACxD,IAAI,CAAC,oBAAoB,GAAG,eAAe,CAAC;YAC5C,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzC,OAAO,eAAe,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;OAEG;IACI,mBAAmB,CAAC,QAAkC;QAC3D,IAAI,CAAC;YACH,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAErD,qDAAqD;YACrD,IAAI,gBAAgB,GAAoB,EAAE,GAAG,wBAAwB,EAAE,CAAC;YACxE,IAAI,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACzC,MAAM,WAAW,GAAG,aAAa,CAAkB,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAC7E,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;oBACxB,gBAAgB,GAAG,EAAE,GAAG,wBAAwB,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;gBAC1E,CAAC;qBAAM,CAAC;oBACN,qCAAqC;oBACrC,OAAO,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;YAED,MAAM,cAAc,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,QAAQ,EAAE,CAAC;YAE5D,+DAA+D;YAC/D,MAAM,WAAW,GAAG,aAAa,CAC/B,IAAI,CAAC,mBAAmB,EACxB,cAAc,EACd,qBAAqB,EAAE,0BAA0B;YACjD,IAAI,CAAC,SAAS;aACf,CAAC;YAEF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,6BAA6B,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,yDAAyD;YACzD,yDAAyD;YACzD,IAAI,CAAC,oBAAoB,GAAG,cAAc,CAAC;YAC3C,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,kCAAkC,EAClC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CACzD,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACI,oBAAoB,CACzB,GAAM,EACN,KAAyB;QAEzB,MAAM,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAA8B,CAAC;QAC9D,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,iBAAiB,CACtB,GAAM;QAEN,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC5C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACI,gBAAgB;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,CAAC;QAEjE,OAAO;YACL,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI,EAAG,kDAAkD;YACpG,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,KAAK,EAAI,+BAA+B;YACjF,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,KAAK,EAAE,+BAA+B;YACnF,wCAAwC;YACxC,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,IAAI;YACzD,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,IAAI;YACrD,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;YACxD,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,KAAK;YAC1C,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI;SAC9C,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,eAAe;QACpB,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAC7D,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,OAAO,SAAS,CAAC,CAAC,8CAA8C;IAClE,CAAC;IAED;;OAEG;IACI,eAAe,CAAC,KAAa;QAClC,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACI,kBAAkB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO,MAAM,IAAI,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACI,SAAS;QACd,mCAAmC;QACnC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QAC3C,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,2BAA2B;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACI,UAAU;QACf,mCAAmC;QACnC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QAC3C,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,2BAA2B;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACnD,OAAO,WAAW,CAAC,CAAC,8CAA8C;IACpE,CAAC;IAED;;;;;;;;OAQG;IACI,mBAAmB;QACxB,mCAAmC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAE3D,4CAA4C;QAC5C,MAAM,YAAY,GAA4B,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;QAEtG,8CAA8C;QAC9C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QACpC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;QAErC,MAAM,MAAM,GAAyD,EAAE,GAAG,YAAY,EAA0D,CAAC;QAEjJ,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;QACzD,CAAC;QAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACtC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;gBAC7C,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;YACxB,CAAC;QACH,CAAC;QAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;gBAC7D,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;YACxB,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACI,mBAAmB;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC5C,OAAO,QAAQ,EAAE,QAAQ,KAAK,KAAK,CAAC;IACtC,CAAC;IAED;;;;;;;;OAQG;IACI,mBAAmB;QACxB,mCAAmC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAE3D,4CAA4C;QAC5C,MAAM,YAAY,GAA4B,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;QAEtG,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;QAEtC,MAAM,MAAM,GAA0B,EAAE,GAAG,YAAY,EAA2B,CAAC;QAEnF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;QACrD,CAAC;QAED,iEAAiE;QACjE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;OAQG;IACI,oBAAoB;QACzB,mCAAmC;QACnC,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAE7D,4CAA4C;QAC5C,MAAM,aAAa,GAAG,EAAE,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE,CAAC;QAEhF,8CAA8C;QAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;QACrD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAC/C,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;QAEnD,IAAI,MAAM,GAAsB,EAAE,GAAG,aAAa,EAAE,CAAC;QAErD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM;gBAAE,MAAM,GAAG,EAAE,CAAC;YACzB,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;QACvD,CAAC;QAED,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM;gBAAE,MAAM,GAAG,EAAE,CAAC;YACzB,8CAA8C;YAC9C,MAAM,eAAe,GAAG,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAC9D,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;gBAC5B,MAAM,CAAC,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM;gBAAE,MAAM,GAAG,EAAE,CAAC;YACzB,8CAA8C;YAC9C,MAAM,iBAAiB,GAAG,aAAa,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAClE,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;gBAC9B,MAAM,CAAC,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,4BAA4B,cAAc,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,kBAAkB;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9C,OAAO,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACI,eAAe,CAAC,UAAmB;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE9C,+DAA+D;QAC/D,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,yCAAyC;QACzC,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,CAAC,WAAW,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;OAEG;IACI,mBAAmB;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,sBAAsB;QAC3B,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,yEAAyE;IAEzE;;;OAGG;IACI,cAAc;QACnB,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE7C,kDAAkD;QAClD,wEAAwE;QACxE,oDAAoD;QACpD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YACxB,OAAO;gBACL,aAAa,EAAE,QAAQ;gBACvB,UAAU,EAAE,CAAC,OAAO,CAAC;gBACrB,kBAAkB,EAAE,IAAI;gBACxB,cAAc,EAAE;oBACd,OAAO,EAAE,IAAI;oBACb,aAAa,EAAE,IAAI;oBACnB,cAAc,EAAE,IAAI;oBACpB,eAAe,EAAE,IAAI;iBACtB;aACF,CAAC;QACJ,CAAC;QAED,kCAAkC;QAClC,OAAO;YACL,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,aAAa,IAAI,QAAQ;YAC3D,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC;YACtD,kBAAkB,EAAE,YAAY,CAAC,KAAK,CAAC,kBAAkB,IAAI,IAAI;YACjE,cAAc,EAAE;gBACd,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,IAAI,IAAI;gBAC3D,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,cAAc,EAAE,aAAa,IAAI,IAAI;gBACvE,cAAc,EAAE,YAAY,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,IAAI,IAAI;gBACzE,eAAe,EAAE,YAAY,CAAC,KAAK,CAAC,cAAc,EAAE,eAAe,IAAI,IAAI;aAC5E;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,iBAAiB,CAAC,MAA8B;QACrD,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5C,8CAA8C;QAC9C,MAAM,YAAY,GAAG,aAAc,CAAC,cAAe,CAAC;QACpD,MAAM,WAAW,GAAG,MAAO,CAAC,cAAc,CAAC;QAE3C,4CAA4C;QAC5C,MAAM,SAAS,GAAG;YAChB,GAAG,aAAa;YAChB,GAAG,MAAM;YACT,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,YAAY;SAChE,CAAC;QAEnB,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,6EAA6E;IAE7E;;;OAGG;IACI,kBAAkB;QACvB,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE7C,kDAAkD;QAClD,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO;gBACL,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,IAAI;gBACjB,cAAc,EAAE,EAAE;aACnB,CAAC;QACJ,CAAC;QAED,kCAAkC;QAClC,OAAO;YACL,aAAa,EAAE,YAAY,CAAC,SAAS,CAAC,aAAa,IAAI,KAAK;YAC5D,WAAW,EAAE,YAAY,CAAC,SAAS,CAAC,WAAW,IAAI,IAAI;YACvD,cAAc,EAAE,YAAY,CAAC,SAAS,CAAC,cAAc,IAAI,EAAE;SAC5D,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,qBAAqB,CAAC,MAAkC;QAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAEhD,8CAA8C;QAC9C,MAAM,eAAe,GAAG,aAAc,CAAC,cAAe,CAAC;QACvD,MAAM,cAAc,GAAG,MAAO,CAAC,cAAc,CAAC;QAE9C,4CAA4C;QAC5C,MAAM,SAAS,GAAG;YAChB,GAAG,aAAa;YAChB,GAAG,MAAM;YACT,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,eAAe,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC,CAAC,eAAe;SACxE,CAAC;QAEvB,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,yEAAyE;IAEzE;;;OAGG;IACI,cAAc;QACnB,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE7C,kDAAkD;QAClD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YACxB,OAAO;gBACL,YAAY,EAAE,IAAI;gBAClB,iBAAiB,EAAE,EAAE;gBACrB,kBAAkB,EAAE,GAAG;gBACvB,kBAAkB,EAAE,EAAE;gBACtB,aAAa,EAAE,IAAI;gBACnB,WAAW,EAAE,IAAI;gBACjB,YAAY,EAAE,CAAC;gBACf,aAAa,EAAE,IAAI;gBACnB,eAAe,EAAE,EAAE;gBACnB,wCAAwC;gBACxC,oBAAoB,EAAE,IAAI;gBAC1B,kBAAkB,EAAE,IAAI;gBACxB,YAAY,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,QAAQ;gBACzC,YAAY,EAAE,KAAK,EAAE,aAAa;gBAClC,cAAc,EAAE,IAAI;aACrB,CAAC;QACJ,CAAC;QAED,kCAAkC;QAClC,OAAO;YACL,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI;YACrD,iBAAiB,EAAE,YAAY,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE;YAC7D,kBAAkB,EAAE,YAAY,CAAC,KAAK,CAAC,kBAAkB,IAAI,GAAG;YAChE,kBAAkB,EAAE,YAAY,CAAC,KAAK,CAAC,kBAAkB,IAAI,EAAE;YAC/D,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI;YACvD,WAAW,EAAE,YAAY,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI;YACnD,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC;YAClD,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI;YACvD,eAAe,EAAE,YAAY,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE;YACzD,wCAAwC;YACxC,oBAAoB,EAAE,YAAY,CAAC,KAAK,CAAC,oBAAoB,IAAI,IAAI;YACrE,kBAAkB,EAAE,YAAY,CAAC,KAAK,CAAC,kBAAkB,IAAI,IAAI;YACjE,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;YACpE,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK;YACtD,cAAc,EAAE,YAAY,CAAC,KAAK,CAAC,cAAc,IAAI,IAAI;SAC1D,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,iBAAiB,CAAC,MAA8B;QACrD,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5C,4CAA4C;QAC5C,MAAM,SAAS,GAAG;YAChB,GAAG,aAAa;YAChB,GAAG,MAAM;SACO,CAAC;QAEnB,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,8EAA8E;IAE9E;;;OAGG;IACI,kBAAkB;QACvB,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE7C,kDAAkD;QAClD,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,IAAI;gBAChB,WAAW,EAAE,IAAI;gBACjB,WAAW,EAAE,IAAI;gBACjB,SAAS,EAAE,IAAI;gBACf,cAAc,EAAE,IAAI;gBACpB,QAAQ,EAAE,KAAK;aAChB,CAAC;QACJ,CAAC;QAED,kCAAkC;QAClC,OAAO;YACL,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI;YAC/C,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI;YAC/C,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC,QAAQ,IAAI,IAAI;YACjD,UAAU,EAAE,YAAY,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI;YACrD,WAAW,EAAE,YAAY,CAAC,SAAS,CAAC,WAAW,IAAI,IAAI;YACvD,WAAW,EAAE,YAAY,CAAC,SAAS,CAAC,WAAW,IAAI,IAAI;YACvD,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,SAAS,IAAI,IAAI;YACnD,cAAc,EAAE,YAAY,CAAC,SAAS,CAAC,cAAc,IAAI,IAAI;YAC7D,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC,QAAQ,IAAI,KAAK;SACnD,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,qBAAqB,CAAC,MAAkC;QAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAEhD,4CAA4C;QAC5C,MAAM,SAAS,GAAG;YAChB,GAAG,aAAa;YAChB,GAAG,MAAM;SACW,CAAC;QAEvB,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,+EAA+E;IAE/E;;;OAGG;IACI,mBAAmB;QACxB,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE7C,kDAAkD;QAClD,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;YAC7B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,qBAAqB,EAAE,KAAK;gBAC5B,aAAa,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,CAAC;gBACvE,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE;oBACR,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,IAAI;oBAChB,QAAQ,EAAE,SAAS;iBACpB;aACF,CAAC;QACJ,CAAC;QAED,kCAAkC;QAClC,OAAO;YACL,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,OAAO,IAAI,KAAK;YACjD,qBAAqB,EAAE,YAAY,CAAC,UAAU,CAAC,qBAAqB,IAAI,KAAK;YAC7E,aAAa,EAAE,YAAY,CAAC,UAAU,CAAC,aAAa,IAAI,CAAC,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,CAAC;YAChH,KAAK,EAAE,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,SAAS;YACjD,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,IAAI,IAAI;gBAC1D,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,IAAI,IAAI;gBAChE,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ;aACrD;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,sBAAsB,CAAC,MAAmC;QAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEjD,wCAAwC;QACxC,MAAM,eAAe,GAAG,aAAc,CAAC,QAAS,CAAC;QACjD,MAAM,cAAc,GAAG,MAAO,CAAC,QAAQ,CAAC;QAExC,4CAA4C;QAC5C,MAAM,SAAS,GAAG;YAChB,GAAG,aAAa;YAChB,GAAG,MAAM;YACT,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,eAAe,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC,CAAC,eAAe;SACjE,CAAC;QAExB,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,mFAAmF;IAEnF;;;OAGG;IACI,uBAAuB;QAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE7C,kDAAkD;QAClD,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;YACjC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,SAAS;gBACjB,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,SAAS;gBAClB,mBAAmB,EAAE,IAAI;gBACzB,kBAAkB,EAAE,IAAI;aACzB,CAAC;QACJ,CAAC;QAED,kCAAkC;QAClC,OAAO;YACL,OAAO,EAAE,YAAY,CAAC,cAAc,CAAC,OAAO,IAAI,IAAI;YACpD,MAAM,EAAE,YAAY,CAAC,cAAc,CAAC,MAAM;YAC1C,QAAQ,EAAE,YAAY,CAAC,cAAc,CAAC,QAAQ,IAAI,QAAQ;YAC1D,OAAO,EAAE,YAAY,CAAC,cAAc,CAAC,OAAO;YAC5C,mBAAmB,EAAE,YAAY,CAAC,cAAc,CAAC,mBAAmB,IAAI,IAAI;YAC5E,kBAAkB,EAAE,YAAY,CAAC,cAAc,CAAC,kBAAkB,IAAI,IAAI;SAC3E,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,0BAA0B,CAAC,MAAuC;QACvE,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErD,4CAA4C;QAC5C,MAAM,SAAS,GAAG;YAChB,GAAG,aAAa;YAChB,GAAG,MAAM;SACgB,CAAC;QAE5B,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,iFAAiF;IAEjF;;;OAGG;IACI,qBAAqB;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE7C,kDAAkD;QAClD,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;YAC/B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,IAAI;gBACjB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,SAAS;aACxB,CAAC;QACJ,CAAC;QAED,kCAAkC;QAClC,OAAO;YACL,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,OAAO,IAAI,KAAK;YACnD,WAAW,EAAE,YAAY,CAAC,YAAY,CAAC,WAAW,IAAI,IAAI;YAC1D,eAAe,EAAE,YAAY,CAAC,YAAY,CAAC,eAAe,IAAI,IAAI;YAClE,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,YAAY;SACrD,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,wBAAwB,CAAC,MAAqC;QACnE,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAEnD,4CAA4C;QAC5C,MAAM,SAAS,GAAG;YAChB,GAAG,aAAa;YAChB,GAAG,MAAM;SACc,CAAC;QAE1B,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;IACtE,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC;AACvC,CAAC"}
|
|
@@ -3,6 +3,7 @@ export declare class TokenCounter {
|
|
|
3
3
|
private encoder;
|
|
4
4
|
private cache;
|
|
5
5
|
private fingerprintToHashCache;
|
|
6
|
+
private model;
|
|
6
7
|
constructor(model?: string);
|
|
7
8
|
/**
|
|
8
9
|
* Create quick fingerprint to avoid redundant hashing
|
|
@@ -12,6 +13,7 @@ export declare class TokenCounter {
|
|
|
12
13
|
/**
|
|
13
14
|
* Create cache key from text
|
|
14
15
|
* For long texts, use hash to avoid storing large keys in memory
|
|
16
|
+
* CACHE FIX: Include model prefix to prevent cross-model cache pollution
|
|
15
17
|
*/
|
|
16
18
|
private createCacheKey;
|
|
17
19
|
/**
|
|
@@ -6,7 +6,9 @@ export class TokenCounter {
|
|
|
6
6
|
encoder;
|
|
7
7
|
cache;
|
|
8
8
|
fingerprintToHashCache = new Map();
|
|
9
|
+
model; // CACHE FIX: Track model for cache key prefix
|
|
9
10
|
constructor(model = TOKEN_CONFIG.DEFAULT_MODEL) {
|
|
11
|
+
this.model = model;
|
|
10
12
|
try {
|
|
11
13
|
// Try to get encoding for specific model
|
|
12
14
|
this.encoder = encoding_for_model(model);
|
|
@@ -23,26 +25,36 @@ export class TokenCounter {
|
|
|
23
25
|
* Uses length and first/last chars for fast identity check
|
|
24
26
|
*/
|
|
25
27
|
quickFingerprint(text) {
|
|
28
|
+
// LOGIC FIX: Handle edge cases to avoid NaN in fingerprint
|
|
29
|
+
if (text.length === 0)
|
|
30
|
+
return "0:0:0";
|
|
31
|
+
if (text.length === 1)
|
|
32
|
+
return `1:${text.charCodeAt(0)}:${text.charCodeAt(0)}`;
|
|
26
33
|
return `${text.length}:${text.charCodeAt(0)}:${text.charCodeAt(text.length - 1)}`;
|
|
27
34
|
}
|
|
28
35
|
/**
|
|
29
36
|
* Create cache key from text
|
|
30
37
|
* For long texts, use hash to avoid storing large keys in memory
|
|
38
|
+
* CACHE FIX: Include model prefix to prevent cross-model cache pollution
|
|
31
39
|
*/
|
|
32
40
|
createCacheKey(text) {
|
|
41
|
+
// CACHE FIX: Prefix all cache keys with model to ensure cache isolation
|
|
42
|
+
const modelPrefix = `${this.model}:`;
|
|
33
43
|
// For short texts (< 1KB), use text directly as key
|
|
34
44
|
if (text.length < 1024) {
|
|
35
|
-
return text;
|
|
45
|
+
return modelPrefix + text;
|
|
36
46
|
}
|
|
37
47
|
// Use fingerprint to check if we've already hashed this text
|
|
38
48
|
const fingerprint = this.quickFingerprint(text);
|
|
39
|
-
const
|
|
49
|
+
const fingerprintKey = modelPrefix + fingerprint;
|
|
50
|
+
const cached = this.fingerprintToHashCache.get(fingerprintKey);
|
|
40
51
|
if (cached) {
|
|
41
52
|
return cached;
|
|
42
53
|
}
|
|
43
54
|
// For longer texts, use SHA-256 hash to reduce memory footprint
|
|
44
55
|
// A 10KB text becomes a 64-char hash, saving ~9.9KB per cache entry
|
|
45
56
|
const hash = crypto.createHash('sha256').update(text).digest('hex');
|
|
57
|
+
const cacheKey = modelPrefix + hash;
|
|
46
58
|
// Limit fingerprint cache size to prevent unbounded growth
|
|
47
59
|
if (this.fingerprintToHashCache.size > 1000) {
|
|
48
60
|
// More efficient: use iterator instead of Array.from() to avoid creating full array
|
|
@@ -54,13 +66,16 @@ export class TokenCounter {
|
|
|
54
66
|
break;
|
|
55
67
|
}
|
|
56
68
|
}
|
|
57
|
-
|
|
58
|
-
|
|
69
|
+
// CACHE FIX: Store with model-prefixed key
|
|
70
|
+
this.fingerprintToHashCache.set(fingerprintKey, cacheKey);
|
|
71
|
+
return cacheKey;
|
|
59
72
|
}
|
|
60
73
|
/**
|
|
61
74
|
* Count tokens in a string with LRU caching for performance
|
|
62
75
|
*/
|
|
63
76
|
countTokens(text) {
|
|
77
|
+
// CRITICAL FIX: Early return for empty strings without caching
|
|
78
|
+
// Prevents cache pollution where all empty strings share same cache key
|
|
64
79
|
if (!text)
|
|
65
80
|
return 0;
|
|
66
81
|
// Check cache first using efficient key
|
|
@@ -71,8 +86,11 @@ export class TokenCounter {
|
|
|
71
86
|
}
|
|
72
87
|
// Count tokens
|
|
73
88
|
const count = this.encoder.encode(text).length;
|
|
74
|
-
//
|
|
75
|
-
|
|
89
|
+
// CRITICAL FIX: Only cache non-empty strings
|
|
90
|
+
// Empty strings return early above, but this guards against zero-length edge cases
|
|
91
|
+
if (text.length > 0) {
|
|
92
|
+
this.cache.set(cacheKey, count);
|
|
93
|
+
}
|
|
76
94
|
return count;
|
|
77
95
|
}
|
|
78
96
|
/**
|
|
@@ -136,15 +154,20 @@ export class TokenCounter {
|
|
|
136
154
|
* Format token count for display (e.g., 1.2k for 1200)
|
|
137
155
|
*/
|
|
138
156
|
export function formatTokenCount(count) {
|
|
157
|
+
// CRITICAL FIX: Handle edge cases (NaN, Infinity, negative numbers)
|
|
158
|
+
// Prevents potential issues with invalid token counts
|
|
159
|
+
if (!Number.isFinite(count) || count < 0) {
|
|
160
|
+
return '0';
|
|
161
|
+
}
|
|
139
162
|
if (count <= 999) {
|
|
140
|
-
return count.toString();
|
|
163
|
+
return Math.floor(count).toString();
|
|
141
164
|
}
|
|
142
165
|
if (count < 1_000_000) {
|
|
143
166
|
const k = count / 1000;
|
|
144
|
-
return k % 1 === 0 ? `${k}k` : `${k.toFixed(1)}k`;
|
|
167
|
+
return k % 1 === 0 ? `${Math.floor(k)}k` : `${k.toFixed(1)}k`;
|
|
145
168
|
}
|
|
146
169
|
const m = count / 1_000_000;
|
|
147
|
-
return m % 1 === 0 ? `${m}m` : `${m.toFixed(1)}m`;
|
|
170
|
+
return m % 1 === 0 ? `${Math.floor(m)}m` : `${m.toFixed(1)}m`;
|
|
148
171
|
}
|
|
149
172
|
// Singleton instances keyed by model
|
|
150
173
|
const tokenCounterInstances = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-counter.js","sourceRoot":"","sources":["../../src/utils/token-counter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAY,MAAM,UAAU,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,MAAM,OAAO,YAAY;IACf,OAAO,CAAW;IAClB,KAAK,CAA2B;IAChC,sBAAsB,GAAwB,IAAI,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"token-counter.js","sourceRoot":"","sources":["../../src/utils/token-counter.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/version.d.ts
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Get version from package.json
|
|
3
|
-
* This is the
|
|
2
|
+
* Get CLI version from package.json
|
|
3
|
+
* This is the version of the command-line tool
|
|
4
4
|
*/
|
|
5
5
|
export declare function getVersion(): string;
|
|
6
|
+
/**
|
|
7
|
+
* Get SDK version from package.json
|
|
8
|
+
* This is the version of the programmatic API
|
|
9
|
+
*/
|
|
10
|
+
export declare function getSDKVersion(): string;
|
|
11
|
+
/**
|
|
12
|
+
* Get formatted version string showing both CLI and SDK versions
|
|
13
|
+
*/
|
|
14
|
+
export declare function getVersionString(): string;
|