@kaitranntt/ccs 7.75.0-dev.7 → 7.75.0-dev.9
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/dist/config/config-loader-facade.d.ts +57 -0
- package/dist/config/config-loader-facade.d.ts.map +1 -0
- package/dist/config/config-loader-facade.js +131 -0
- package/dist/config/config-loader-facade.js.map +1 -0
- package/dist/config/schemas/auth.d.ts +97 -0
- package/dist/config/schemas/auth.d.ts.map +1 -0
- package/dist/config/schemas/auth.js +25 -0
- package/dist/config/schemas/auth.js.map +1 -0
- package/dist/config/schemas/browser.d.ts +53 -0
- package/dist/config/schemas/browser.d.ts.map +1 -0
- package/dist/config/schemas/browser.js +27 -0
- package/dist/config/schemas/browser.js.map +1 -0
- package/dist/config/schemas/channels.d.ts +27 -0
- package/dist/config/schemas/channels.d.ts.map +1 -0
- package/dist/config/schemas/channels.js +19 -0
- package/dist/config/schemas/channels.js.map +1 -0
- package/dist/config/schemas/cliproxy.d.ts +140 -0
- package/dist/config/schemas/cliproxy.d.ts.map +1 -0
- package/dist/config/schemas/cliproxy.js +18 -0
- package/dist/config/schemas/cliproxy.js.map +1 -0
- package/dist/config/schemas/copilot-cursor.d.ts +75 -0
- package/dist/config/schemas/copilot-cursor.d.ts.map +1 -0
- package/dist/config/schemas/copilot-cursor.js +36 -0
- package/dist/config/schemas/copilot-cursor.js.map +1 -0
- package/dist/config/schemas/index.d.ts +28 -0
- package/dist/config/schemas/index.d.ts.map +1 -0
- package/dist/config/schemas/index.js +51 -0
- package/dist/config/schemas/index.js.map +1 -0
- package/dist/config/schemas/logging.d.ts +43 -0
- package/dist/config/schemas/logging.d.ts.map +1 -0
- package/dist/config/schemas/logging.js +23 -0
- package/dist/config/schemas/logging.js.map +1 -0
- package/dist/config/schemas/providers.d.ts +14 -0
- package/dist/config/schemas/providers.d.ts.map +1 -0
- package/dist/config/schemas/providers.js +21 -0
- package/dist/config/schemas/providers.js.map +1 -0
- package/dist/config/schemas/proxy-server.d.ts +141 -0
- package/dist/config/schemas/proxy-server.d.ts.map +1 -0
- package/dist/config/schemas/proxy-server.js +71 -0
- package/dist/config/schemas/proxy-server.js.map +1 -0
- package/dist/config/schemas/quota.d.ts +88 -0
- package/dist/config/schemas/quota.d.ts.map +1 -0
- package/dist/config/schemas/quota.js +47 -0
- package/dist/config/schemas/quota.js.map +1 -0
- package/dist/config/schemas/thinking.d.ts +50 -0
- package/dist/config/schemas/thinking.d.ts.map +1 -0
- package/dist/config/schemas/thinking.js +26 -0
- package/dist/config/schemas/thinking.js.map +1 -0
- package/dist/config/schemas/unified-config.d.ts +74 -0
- package/dist/config/schemas/unified-config.d.ts.map +1 -0
- package/dist/config/schemas/unified-config.js +131 -0
- package/dist/config/schemas/unified-config.js.map +1 -0
- package/dist/config/schemas/version.d.ts +23 -0
- package/dist/config/schemas/version.d.ts.map +1 -0
- package/dist/config/schemas/version.js +26 -0
- package/dist/config/schemas/version.js.map +1 -0
- package/dist/config/schemas/websearch.d.ts +138 -0
- package/dist/config/schemas/websearch.d.ts.map +1 -0
- package/dist/config/schemas/websearch.js +12 -0
- package/dist/config/schemas/websearch.js.map +1 -0
- package/dist/config/unified-config-types.d.ts +3 -818
- package/dist/config/unified-config-types.d.ts.map +1 -1
- package/dist/config/unified-config-types.js +19 -319
- package/dist/config/unified-config-types.js.map +1 -1
- package/dist/errors/error-types.d.ts +9 -0
- package/dist/errors/error-types.d.ts.map +1 -1
- package/dist/errors/error-types.js +15 -1
- package/dist/errors/error-types.js.map +1 -1
- package/dist/errors/index.d.ts +1 -1
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +3 -1
- package/dist/errors/index.js.map +1 -1
- package/dist/utils/retry-strategy.d.ts +37 -0
- package/dist/utils/retry-strategy.d.ts.map +1 -0
- package/dist/utils/retry-strategy.js +99 -0
- package/dist/utils/retry-strategy.js.map +1 -0
- package/package.json +1 -1
- package/scripts/run-test-bucket.js +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quota.d.ts","sourceRoot":"","sources":["../../../src/config/schemas/quota.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,oEAAoE;IACpE,eAAe,EAAE,OAAO,CAAC;IACzB,uEAAuE;IACvE,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wEAAwE;IACxE,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,kEAAkE;IAClE,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB,0EAA0E;IAC1E,uBAAuB,EAAE,MAAM,CAAC;IAChC,0EAA0E;IAC1E,yBAAyB,EAAE,MAAM,CAAC;IAClC,0EAA0E;IAC1E,cAAc,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,oBAAoB,EAAE,MAAM,CAAC;IAC7B,yDAAyD;IACzD,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,+DAA+D;IAC/D,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iCAAiC;IACjC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE/D;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,wCAAwC;IACxC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,yBAAyB;IACzB,IAAI,EAAE,eAAe,CAAC;IACtB,2BAA2B;IAC3B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,+BAA+B;IAC/B,eAAe,EAAE,oBAAoB,CAAC;CACvC;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,eAKvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,iBAIzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,oBAO5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,+BAA+B,EAAE,qBAK7C,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Quota management configuration types and defaults.
|
|
4
|
+
*
|
|
5
|
+
* Controls hybrid auto+manual account selection for multi-account setups.
|
|
6
|
+
* Version 7+ feature.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.DEFAULT_QUOTA_MANAGEMENT_CONFIG = exports.DEFAULT_RUNTIME_MONITOR_CONFIG = exports.DEFAULT_MANUAL_QUOTA_CONFIG = exports.DEFAULT_AUTO_QUOTA_CONFIG = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* Default auto quota configuration.
|
|
12
|
+
*/
|
|
13
|
+
exports.DEFAULT_AUTO_QUOTA_CONFIG = {
|
|
14
|
+
preflight_check: true,
|
|
15
|
+
exhaustion_threshold: 5,
|
|
16
|
+
tier_priority: ['ultra', 'pro', 'free'],
|
|
17
|
+
cooldown_minutes: 5,
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Default manual quota configuration.
|
|
21
|
+
*/
|
|
22
|
+
exports.DEFAULT_MANUAL_QUOTA_CONFIG = {
|
|
23
|
+
paused_accounts: [],
|
|
24
|
+
forced_default: null,
|
|
25
|
+
tier_lock: null,
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Default runtime monitor configuration.
|
|
29
|
+
*/
|
|
30
|
+
exports.DEFAULT_RUNTIME_MONITOR_CONFIG = {
|
|
31
|
+
enabled: true,
|
|
32
|
+
normal_interval_seconds: 300,
|
|
33
|
+
critical_interval_seconds: 60,
|
|
34
|
+
warn_threshold: 20,
|
|
35
|
+
exhaustion_threshold: 5,
|
|
36
|
+
cooldown_minutes: 5,
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Default quota management configuration.
|
|
40
|
+
*/
|
|
41
|
+
exports.DEFAULT_QUOTA_MANAGEMENT_CONFIG = {
|
|
42
|
+
mode: 'hybrid',
|
|
43
|
+
auto: { ...exports.DEFAULT_AUTO_QUOTA_CONFIG },
|
|
44
|
+
manual: { ...exports.DEFAULT_MANUAL_QUOTA_CONFIG },
|
|
45
|
+
runtime_monitor: { ...exports.DEFAULT_RUNTIME_MONITOR_CONFIG },
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=quota.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quota.js","sourceRoot":"","sources":["../../../src/config/schemas/quota.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AA4EH;;GAEG;AACU,QAAA,yBAAyB,GAAoB;IACxD,eAAe,EAAE,IAAI;IACrB,oBAAoB,EAAE,CAAC;IACvB,aAAa,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC;IACvC,gBAAgB,EAAE,CAAC;CACpB,CAAC;AAEF;;GAEG;AACU,QAAA,2BAA2B,GAAsB;IAC5D,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE,IAAI;IACpB,SAAS,EAAE,IAAI;CAChB,CAAC;AAEF;;GAEG;AACU,QAAA,8BAA8B,GAAyB;IAClE,OAAO,EAAE,IAAI;IACb,uBAAuB,EAAE,GAAG;IAC5B,yBAAyB,EAAE,EAAE;IAC7B,cAAc,EAAE,EAAE;IAClB,oBAAoB,EAAE,CAAC;IACvB,gBAAgB,EAAE,CAAC;CACpB,CAAC;AAEF;;GAEG;AACU,QAAA,+BAA+B,GAA0B;IACpE,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,EAAE,GAAG,iCAAyB,EAAE;IACtC,MAAM,EAAE,EAAE,GAAG,mCAA2B,EAAE;IAC1C,eAAe,EAAE,EAAE,GAAG,sCAA8B,EAAE;CACvD,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thinking/reasoning budget configuration types and defaults.
|
|
3
|
+
*
|
|
4
|
+
* Controls thinking budget injection for CLIProxy providers.
|
|
5
|
+
* Version 8+ feature.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Thinking mode for auto/manual/off control.
|
|
9
|
+
* - auto: Apply tier-based defaults (opus→high, sonnet→medium, haiku→low)
|
|
10
|
+
* - off: Disable thinking entirely
|
|
11
|
+
* - manual: Use explicit override value
|
|
12
|
+
*/
|
|
13
|
+
export type ThinkingMode = 'auto' | 'off' | 'manual';
|
|
14
|
+
/**
|
|
15
|
+
* Tier-to-thinking level defaults.
|
|
16
|
+
* Maps Claude tier names to thinking level names.
|
|
17
|
+
*/
|
|
18
|
+
export interface ThinkingTierDefaults {
|
|
19
|
+
/** Thinking level for opus tier (default: 'high') */
|
|
20
|
+
opus: string;
|
|
21
|
+
/** Thinking level for sonnet tier (default: 'medium') */
|
|
22
|
+
sonnet: string;
|
|
23
|
+
/** Thinking level for haiku tier (default: 'low') */
|
|
24
|
+
haiku: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Thinking configuration section.
|
|
28
|
+
* Controls thinking/reasoning budget injection for CLIProxy providers.
|
|
29
|
+
*/
|
|
30
|
+
export interface ThinkingConfig {
|
|
31
|
+
/** Thinking mode (default: 'auto') */
|
|
32
|
+
mode: ThinkingMode;
|
|
33
|
+
/** Manual override value (level name or budget number) */
|
|
34
|
+
override?: string | number;
|
|
35
|
+
/** Tier-to-level mapping */
|
|
36
|
+
tier_defaults: ThinkingTierDefaults;
|
|
37
|
+
/** Per-provider overrides (e.g., { gemini: { opus: 'high' } }) */
|
|
38
|
+
provider_overrides?: Record<string, Partial<ThinkingTierDefaults>>;
|
|
39
|
+
/** Show warning when values are clamped (default: true) */
|
|
40
|
+
show_warnings?: boolean;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Default thinking tier defaults.
|
|
44
|
+
*/
|
|
45
|
+
export declare const DEFAULT_THINKING_TIER_DEFAULTS: ThinkingTierDefaults;
|
|
46
|
+
/**
|
|
47
|
+
* Default thinking configuration.
|
|
48
|
+
*/
|
|
49
|
+
export declare const DEFAULT_THINKING_CONFIG: ThinkingConfig;
|
|
50
|
+
//# sourceMappingURL=thinking.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thinking.d.ts","sourceRoot":"","sources":["../../../src/config/schemas/thinking.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AAErD;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,IAAI,EAAE,YAAY,CAAC;IACnB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,4BAA4B;IAC5B,aAAa,EAAE,oBAAoB,CAAC;IACpC,kEAAkE;IAClE,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACnE,2DAA2D;IAC3D,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,oBAI5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,cAIrC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Thinking/reasoning budget configuration types and defaults.
|
|
4
|
+
*
|
|
5
|
+
* Controls thinking budget injection for CLIProxy providers.
|
|
6
|
+
* Version 8+ feature.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.DEFAULT_THINKING_CONFIG = exports.DEFAULT_THINKING_TIER_DEFAULTS = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* Default thinking tier defaults.
|
|
12
|
+
*/
|
|
13
|
+
exports.DEFAULT_THINKING_TIER_DEFAULTS = {
|
|
14
|
+
opus: 'high',
|
|
15
|
+
sonnet: 'medium',
|
|
16
|
+
haiku: 'low',
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Default thinking configuration.
|
|
20
|
+
*/
|
|
21
|
+
exports.DEFAULT_THINKING_CONFIG = {
|
|
22
|
+
mode: 'auto',
|
|
23
|
+
tier_defaults: { ...exports.DEFAULT_THINKING_TIER_DEFAULTS },
|
|
24
|
+
show_warnings: true,
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=thinking.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thinking.js","sourceRoot":"","sources":["../../../src/config/schemas/thinking.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AA4CH;;GAEG;AACU,QAAA,8BAA8B,GAAyB;IAClE,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,KAAK;CACb,CAAC;AAEF;;GAEG;AACU,QAAA,uBAAuB,GAAmB;IACrD,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,EAAE,GAAG,sCAA8B,EAAE;IACpD,aAAa,EAAE,IAAI;CACpB,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Main unified configuration interface, factory, and type guard.
|
|
3
|
+
*
|
|
4
|
+
* The UnifiedConfig type is the root of the entire config.yaml schema.
|
|
5
|
+
* This file imports all section types from their respective schema modules.
|
|
6
|
+
*/
|
|
7
|
+
import type { AccountConfig, ProfileConfig, DashboardAuthConfig } from './auth';
|
|
8
|
+
import type { CLIProxyConfig } from './cliproxy';
|
|
9
|
+
import type { LoggingConfig, PreferencesConfig } from './logging';
|
|
10
|
+
import type { WebSearchConfig } from './websearch';
|
|
11
|
+
import type { GlobalEnvConfig, ContinuityConfig, CopilotConfig, CursorConfig, CliproxyServerConfig, OpenAICompatProxyConfig, ImageAnalysisConfig } from './providers';
|
|
12
|
+
import type { QuotaManagementConfig } from './quota';
|
|
13
|
+
import type { ThinkingConfig } from './thinking';
|
|
14
|
+
import type { OfficialChannelsConfig } from './channels';
|
|
15
|
+
import type { BrowserConfig } from './browser';
|
|
16
|
+
/**
|
|
17
|
+
* Main unified configuration structure.
|
|
18
|
+
* Stored in ~/.ccs/config.yaml
|
|
19
|
+
*/
|
|
20
|
+
export interface UnifiedConfig {
|
|
21
|
+
/** Config version */
|
|
22
|
+
version: number;
|
|
23
|
+
/** Flag indicating setup wizard has been completed */
|
|
24
|
+
setup_completed?: boolean;
|
|
25
|
+
/** Default profile name to use when none specified */
|
|
26
|
+
default?: string;
|
|
27
|
+
/** Account-based profiles (isolated Claude instances) */
|
|
28
|
+
accounts: Record<string, AccountConfig>;
|
|
29
|
+
/** API-based profiles (env var injection) */
|
|
30
|
+
profiles: Record<string, ProfileConfig>;
|
|
31
|
+
/** CLIProxy configuration */
|
|
32
|
+
cliproxy: CLIProxyConfig;
|
|
33
|
+
/** OpenAI-compatible local proxy configuration */
|
|
34
|
+
proxy?: OpenAICompatProxyConfig;
|
|
35
|
+
/** CCS-owned structured logging configuration */
|
|
36
|
+
logging?: LoggingConfig;
|
|
37
|
+
/** User preferences */
|
|
38
|
+
preferences: PreferencesConfig;
|
|
39
|
+
/** WebSearch configuration */
|
|
40
|
+
websearch?: WebSearchConfig;
|
|
41
|
+
/** Global environment variables for all non-Claude subscription profiles */
|
|
42
|
+
global_env?: GlobalEnvConfig;
|
|
43
|
+
/** Cross-profile continuity inheritance mapping */
|
|
44
|
+
continuity?: ContinuityConfig;
|
|
45
|
+
/** Copilot API configuration (GitHub Copilot proxy) */
|
|
46
|
+
copilot?: CopilotConfig;
|
|
47
|
+
/** Cursor IDE configuration (Cursor proxy daemon) */
|
|
48
|
+
cursor?: CursorConfig;
|
|
49
|
+
/** CLIProxy server configuration for remote/local mode */
|
|
50
|
+
cliproxy_server?: CliproxyServerConfig;
|
|
51
|
+
/** Quota management configuration (v7+) */
|
|
52
|
+
quota_management?: QuotaManagementConfig;
|
|
53
|
+
/** Thinking/reasoning budget configuration (v8+) */
|
|
54
|
+
thinking?: ThinkingConfig;
|
|
55
|
+
/** Official Channels runtime auto-enable preferences (v11+) */
|
|
56
|
+
channels?: OfficialChannelsConfig;
|
|
57
|
+
/** Dashboard authentication configuration (optional) */
|
|
58
|
+
dashboard_auth?: DashboardAuthConfig;
|
|
59
|
+
/** Browser automation configuration */
|
|
60
|
+
browser?: BrowserConfig;
|
|
61
|
+
/** Image analysis configuration (vision via CLIProxy) */
|
|
62
|
+
image_analysis?: ImageAnalysisConfig;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Create an empty unified config with defaults.
|
|
66
|
+
*/
|
|
67
|
+
export declare function createEmptyUnifiedConfig(): UnifiedConfig;
|
|
68
|
+
/**
|
|
69
|
+
* Type guard for UnifiedConfig.
|
|
70
|
+
* Relaxed validation: accepts configs with version >= 1 and any subset of sections.
|
|
71
|
+
* Missing sections will be filled with defaults during merge.
|
|
72
|
+
*/
|
|
73
|
+
export declare function isUnifiedConfig(obj: unknown): obj is UnifiedConfig;
|
|
74
|
+
//# sourceMappingURL=unified-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-config.d.ts","sourceRoot":"","sources":["../../../src/config/schemas/unified-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAEhF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAElE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAUrB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG/C;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACxC,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACxC,6BAA6B;IAC7B,QAAQ,EAAE,cAAc,CAAC;IACzB,kDAAkD;IAClD,KAAK,CAAC,EAAE,uBAAuB,CAAC;IAChC,iDAAiD;IACjD,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,uBAAuB;IACvB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,8BAA8B;IAC9B,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,mDAAmD;IACnD,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,uDAAuD;IACvD,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,qDAAqD;IACrD,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,0DAA0D;IAC1D,eAAe,CAAC,EAAE,oBAAoB,CAAC;IACvC,2CAA2C;IAC3C,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IACzC,oDAAoD;IACpD,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,wDAAwD;IACxD,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,uCAAuC;IACvC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,yDAAyD;IACzD,cAAc,CAAC,EAAE,mBAAmB,CAAC;CACtC;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,aAAa,CA6FxD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,aAAa,CAMlE"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Main unified configuration interface, factory, and type guard.
|
|
4
|
+
*
|
|
5
|
+
* The UnifiedConfig type is the root of the entire config.yaml schema.
|
|
6
|
+
* This file imports all section types from their respective schema modules.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.isUnifiedConfig = exports.createEmptyUnifiedConfig = void 0;
|
|
10
|
+
const auth_1 = require("./auth");
|
|
11
|
+
const cliproxy_1 = require("./cliproxy");
|
|
12
|
+
const logging_1 = require("./logging");
|
|
13
|
+
const providers_1 = require("./providers");
|
|
14
|
+
const version_1 = require("./version");
|
|
15
|
+
const quota_1 = require("./quota");
|
|
16
|
+
const thinking_1 = require("./thinking");
|
|
17
|
+
const channels_1 = require("./channels");
|
|
18
|
+
const browser_1 = require("./browser");
|
|
19
|
+
/**
|
|
20
|
+
* Create an empty unified config with defaults.
|
|
21
|
+
*/
|
|
22
|
+
function createEmptyUnifiedConfig() {
|
|
23
|
+
return {
|
|
24
|
+
version: version_1.UNIFIED_CONFIG_VERSION,
|
|
25
|
+
default: undefined,
|
|
26
|
+
accounts: {},
|
|
27
|
+
profiles: {},
|
|
28
|
+
cliproxy: {
|
|
29
|
+
backend: 'original',
|
|
30
|
+
oauth_accounts: {},
|
|
31
|
+
providers: [...cliproxy_1.CLIPROXY_SUPPORTED_PROVIDERS],
|
|
32
|
+
variants: {},
|
|
33
|
+
logging: {
|
|
34
|
+
enabled: false,
|
|
35
|
+
request_log: false,
|
|
36
|
+
},
|
|
37
|
+
safety: { ...cliproxy_1.DEFAULT_CLIPROXY_SAFETY_CONFIG },
|
|
38
|
+
auto_sync: true,
|
|
39
|
+
routing: {
|
|
40
|
+
strategy: 'round-robin',
|
|
41
|
+
session_affinity: false,
|
|
42
|
+
session_affinity_ttl: '1h',
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
proxy: {
|
|
46
|
+
port: providers_1.DEFAULT_OPENAI_COMPAT_PROXY_CONFIG.port,
|
|
47
|
+
profile_ports: { ...providers_1.DEFAULT_OPENAI_COMPAT_PROXY_CONFIG.profile_ports },
|
|
48
|
+
routing: {
|
|
49
|
+
...providers_1.DEFAULT_OPENAI_COMPAT_PROXY_CONFIG.routing,
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
logging: { ...logging_1.DEFAULT_LOGGING_CONFIG },
|
|
53
|
+
preferences: {
|
|
54
|
+
theme: 'system',
|
|
55
|
+
telemetry: false,
|
|
56
|
+
auto_update: true,
|
|
57
|
+
},
|
|
58
|
+
websearch: {
|
|
59
|
+
enabled: true,
|
|
60
|
+
providers: {
|
|
61
|
+
exa: {
|
|
62
|
+
enabled: false,
|
|
63
|
+
max_results: 5,
|
|
64
|
+
},
|
|
65
|
+
tavily: {
|
|
66
|
+
enabled: false,
|
|
67
|
+
max_results: 5,
|
|
68
|
+
},
|
|
69
|
+
brave: {
|
|
70
|
+
enabled: false,
|
|
71
|
+
max_results: 5,
|
|
72
|
+
},
|
|
73
|
+
searxng: {
|
|
74
|
+
enabled: false,
|
|
75
|
+
url: '',
|
|
76
|
+
max_results: 5,
|
|
77
|
+
},
|
|
78
|
+
duckduckgo: {
|
|
79
|
+
enabled: true,
|
|
80
|
+
max_results: 5,
|
|
81
|
+
},
|
|
82
|
+
gemini: {
|
|
83
|
+
enabled: false,
|
|
84
|
+
model: 'gemini-2.5-flash',
|
|
85
|
+
timeout: 55,
|
|
86
|
+
},
|
|
87
|
+
opencode: {
|
|
88
|
+
enabled: false,
|
|
89
|
+
model: 'opencode/grok-code',
|
|
90
|
+
timeout: 90,
|
|
91
|
+
},
|
|
92
|
+
grok: {
|
|
93
|
+
enabled: false,
|
|
94
|
+
timeout: 55,
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
global_env: {
|
|
99
|
+
enabled: true,
|
|
100
|
+
env: { ...providers_1.DEFAULT_GLOBAL_ENV },
|
|
101
|
+
},
|
|
102
|
+
copilot: { ...providers_1.DEFAULT_COPILOT_CONFIG },
|
|
103
|
+
cursor: { ...providers_1.DEFAULT_CURSOR_CONFIG },
|
|
104
|
+
cliproxy_server: { ...providers_1.DEFAULT_CLIPROXY_SERVER_CONFIG },
|
|
105
|
+
quota_management: { ...quota_1.DEFAULT_QUOTA_MANAGEMENT_CONFIG },
|
|
106
|
+
thinking: { ...thinking_1.DEFAULT_THINKING_CONFIG },
|
|
107
|
+
channels: { ...channels_1.DEFAULT_OFFICIAL_CHANNELS_CONFIG },
|
|
108
|
+
dashboard_auth: { ...auth_1.DEFAULT_DASHBOARD_AUTH_CONFIG },
|
|
109
|
+
browser: {
|
|
110
|
+
claude: { ...browser_1.DEFAULT_BROWSER_CONFIG.claude },
|
|
111
|
+
codex: { ...browser_1.DEFAULT_BROWSER_CONFIG.codex },
|
|
112
|
+
},
|
|
113
|
+
image_analysis: { ...providers_1.DEFAULT_IMAGE_ANALYSIS_CONFIG },
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
exports.createEmptyUnifiedConfig = createEmptyUnifiedConfig;
|
|
117
|
+
/**
|
|
118
|
+
* Type guard for UnifiedConfig.
|
|
119
|
+
* Relaxed validation: accepts configs with version >= 1 and any subset of sections.
|
|
120
|
+
* Missing sections will be filled with defaults during merge.
|
|
121
|
+
*/
|
|
122
|
+
function isUnifiedConfig(obj) {
|
|
123
|
+
if (typeof obj !== 'object' || obj === null)
|
|
124
|
+
return false;
|
|
125
|
+
const config = obj;
|
|
126
|
+
// Only require version to be a number >= 1 (allow future versions)
|
|
127
|
+
// Sections are optional - will be merged with defaults in loadOrCreateUnifiedConfig
|
|
128
|
+
return typeof config.version === 'number' && config.version >= 1;
|
|
129
|
+
}
|
|
130
|
+
exports.isUnifiedConfig = isUnifiedConfig;
|
|
131
|
+
//# sourceMappingURL=unified-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-config.js","sourceRoot":"","sources":["../../../src/config/schemas/unified-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified config version constant.
|
|
3
|
+
*
|
|
4
|
+
* Central source of truth for the current config schema version.
|
|
5
|
+
* Incremented whenever new sections are added to config.yaml.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Unified config version.
|
|
9
|
+
* Version 2 = YAML unified format
|
|
10
|
+
* Version 3 = WebSearch config with model configuration for Gemini/OpenCode
|
|
11
|
+
* Version 4 = Copilot API integration (GitHub Copilot proxy)
|
|
12
|
+
* Version 5 = Remote proxy configuration (connect to remote CLIProxyAPI)
|
|
13
|
+
* Version 6 = Customizable auth tokens (API key and management secret)
|
|
14
|
+
* Version 7 = Quota management for hybrid auto+manual account control
|
|
15
|
+
* Version 8 = Thinking/reasoning budget configuration
|
|
16
|
+
* Version 9 = Real WebSearch backends (DuckDuckGo/Brave) with legacy CLI fallback
|
|
17
|
+
* Version 10 = Exa + Tavily WebSearch backends
|
|
18
|
+
* Version 11 = Discord Channels runtime auto-enable preferences
|
|
19
|
+
* Version 12 = Official Channels multi-provider support (Telegram, Discord, iMessage)
|
|
20
|
+
* Version 13 = Browser automation defaults to safe manual/off exposure
|
|
21
|
+
*/
|
|
22
|
+
export declare const UNIFIED_CONFIG_VERSION = 13;
|
|
23
|
+
//# sourceMappingURL=version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/config/schemas/version.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Unified config version constant.
|
|
4
|
+
*
|
|
5
|
+
* Central source of truth for the current config schema version.
|
|
6
|
+
* Incremented whenever new sections are added to config.yaml.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.UNIFIED_CONFIG_VERSION = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* Unified config version.
|
|
12
|
+
* Version 2 = YAML unified format
|
|
13
|
+
* Version 3 = WebSearch config with model configuration for Gemini/OpenCode
|
|
14
|
+
* Version 4 = Copilot API integration (GitHub Copilot proxy)
|
|
15
|
+
* Version 5 = Remote proxy configuration (connect to remote CLIProxyAPI)
|
|
16
|
+
* Version 6 = Customizable auth tokens (API key and management secret)
|
|
17
|
+
* Version 7 = Quota management for hybrid auto+manual account control
|
|
18
|
+
* Version 8 = Thinking/reasoning budget configuration
|
|
19
|
+
* Version 9 = Real WebSearch backends (DuckDuckGo/Brave) with legacy CLI fallback
|
|
20
|
+
* Version 10 = Exa + Tavily WebSearch backends
|
|
21
|
+
* Version 11 = Discord Channels runtime auto-enable preferences
|
|
22
|
+
* Version 12 = Official Channels multi-provider support (Telegram, Discord, iMessage)
|
|
23
|
+
* Version 13 = Browser automation defaults to safe manual/off exposure
|
|
24
|
+
*/
|
|
25
|
+
exports.UNIFIED_CONFIG_VERSION = 13;
|
|
26
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/config/schemas/version.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH;;;;;;;;;;;;;;GAcG;AACU,QAAA,sBAAsB,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WebSearch backend configuration types.
|
|
3
|
+
*
|
|
4
|
+
* Covers all supported search backends:
|
|
5
|
+
* - API-backed: Exa, Tavily, Brave
|
|
6
|
+
* - Self-hosted: SearXNG
|
|
7
|
+
* - Zero-setup: DuckDuckGo
|
|
8
|
+
* - Legacy CLI fallbacks: Gemini, Grok, OpenCode
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* DuckDuckGo WebSearch configuration.
|
|
12
|
+
*/
|
|
13
|
+
export interface DuckDuckGoWebSearchConfig {
|
|
14
|
+
/** Enable DuckDuckGo HTML search fallback (default: true) */
|
|
15
|
+
enabled?: boolean;
|
|
16
|
+
/** Number of results to fetch (default: 5) */
|
|
17
|
+
max_results?: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Brave WebSearch configuration.
|
|
21
|
+
*/
|
|
22
|
+
export interface BraveWebSearchConfig {
|
|
23
|
+
/** Enable Brave Search when BRAVE_API_KEY is available (default: false) */
|
|
24
|
+
enabled?: boolean;
|
|
25
|
+
/** Number of results to fetch (default: 5) */
|
|
26
|
+
max_results?: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Exa WebSearch configuration.
|
|
30
|
+
*/
|
|
31
|
+
export interface ExaWebSearchConfig {
|
|
32
|
+
/** Enable Exa Search when EXA_API_KEY is available (default: false) */
|
|
33
|
+
enabled?: boolean;
|
|
34
|
+
/** Number of results to fetch (default: 5) */
|
|
35
|
+
max_results?: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Tavily WebSearch configuration.
|
|
39
|
+
*/
|
|
40
|
+
export interface TavilyWebSearchConfig {
|
|
41
|
+
/** Enable Tavily Search when TAVILY_API_KEY is available (default: false) */
|
|
42
|
+
enabled?: boolean;
|
|
43
|
+
/** Number of results to fetch (default: 5) */
|
|
44
|
+
max_results?: number;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* SearXNG WebSearch configuration.
|
|
48
|
+
*/
|
|
49
|
+
export interface SearxngWebSearchConfig {
|
|
50
|
+
/** Enable SearXNG JSON search backend (default: false) */
|
|
51
|
+
enabled?: boolean;
|
|
52
|
+
/** Base SearXNG URL, e.g. https://search.example.com (default: '') */
|
|
53
|
+
url?: string;
|
|
54
|
+
/** Number of results to fetch (default: 5) */
|
|
55
|
+
max_results?: number;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Gemini CLI WebSearch configuration.
|
|
59
|
+
*/
|
|
60
|
+
export interface GeminiWebSearchConfig {
|
|
61
|
+
/** Enable Gemini CLI legacy fallback (default: false) */
|
|
62
|
+
enabled?: boolean;
|
|
63
|
+
/** Model to use (default: gemini-2.5-flash) */
|
|
64
|
+
model?: string;
|
|
65
|
+
/** Timeout in seconds (default: 55) */
|
|
66
|
+
timeout?: number;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Grok CLI WebSearch configuration.
|
|
70
|
+
*/
|
|
71
|
+
export interface GrokWebSearchConfig {
|
|
72
|
+
/** Enable Grok CLI legacy fallback (default: false - requires GROK_API_KEY) */
|
|
73
|
+
enabled?: boolean;
|
|
74
|
+
/** Timeout in seconds (default: 55) */
|
|
75
|
+
timeout?: number;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* OpenCode CLI WebSearch configuration.
|
|
79
|
+
*/
|
|
80
|
+
export interface OpenCodeWebSearchConfig {
|
|
81
|
+
/** Enable OpenCode CLI legacy fallback (default: false) */
|
|
82
|
+
enabled?: boolean;
|
|
83
|
+
/** Model to use (default: opencode/grok-code) */
|
|
84
|
+
model?: string;
|
|
85
|
+
/** Timeout in seconds (default: 60) */
|
|
86
|
+
timeout?: number;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* WebSearch providers configuration.
|
|
90
|
+
* Uses deterministic search backends first, with optional legacy CLI fallback.
|
|
91
|
+
*/
|
|
92
|
+
export interface WebSearchProvidersConfig {
|
|
93
|
+
/** Exa Search API - API-backed search with strong relevance and content extraction */
|
|
94
|
+
exa?: ExaWebSearchConfig;
|
|
95
|
+
/** Tavily Search API - API-backed search optimized for agent/tool usage */
|
|
96
|
+
tavily?: TavilyWebSearchConfig;
|
|
97
|
+
/** Brave Search API - higher quality results when BRAVE_API_KEY is set */
|
|
98
|
+
brave?: BraveWebSearchConfig;
|
|
99
|
+
/** SearXNG JSON search - self-hosted or public instance backend */
|
|
100
|
+
searxng?: SearxngWebSearchConfig;
|
|
101
|
+
/** DuckDuckGo HTML search - zero setup default backend */
|
|
102
|
+
duckduckgo?: DuckDuckGoWebSearchConfig;
|
|
103
|
+
/** Gemini CLI - optional legacy LLM fallback */
|
|
104
|
+
gemini?: GeminiWebSearchConfig;
|
|
105
|
+
/** Grok CLI - optional legacy LLM fallback */
|
|
106
|
+
grok?: GrokWebSearchConfig;
|
|
107
|
+
/** OpenCode - optional legacy LLM fallback */
|
|
108
|
+
opencode?: OpenCodeWebSearchConfig;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* WebSearch configuration.
|
|
112
|
+
* Uses deterministic local backends for third-party profiles.
|
|
113
|
+
* Legacy AI CLI fallbacks remain available for compatibility only.
|
|
114
|
+
*/
|
|
115
|
+
export interface WebSearchConfig {
|
|
116
|
+
/** Master switch - enable/disable WebSearch (default: true) */
|
|
117
|
+
enabled?: boolean;
|
|
118
|
+
/** Individual provider configurations */
|
|
119
|
+
providers?: WebSearchProvidersConfig;
|
|
120
|
+
/** @deprecated Use providers.gemini instead */
|
|
121
|
+
gemini?: {
|
|
122
|
+
enabled?: boolean;
|
|
123
|
+
timeout?: number;
|
|
124
|
+
};
|
|
125
|
+
/** @deprecated Unused */
|
|
126
|
+
mode?: 'sequential' | 'parallel';
|
|
127
|
+
/** @deprecated Unused */
|
|
128
|
+
provider?: 'auto' | 'web-search-prime' | 'brave' | 'tavily';
|
|
129
|
+
/** @deprecated Unused */
|
|
130
|
+
fallback?: boolean;
|
|
131
|
+
/** @deprecated Unused */
|
|
132
|
+
webSearchPrimeUrl?: string;
|
|
133
|
+
/** @deprecated Unused */
|
|
134
|
+
selectedProviders?: string[];
|
|
135
|
+
/** @deprecated Unused */
|
|
136
|
+
customMcp?: unknown[];
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=websearch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websearch.d.ts","sourceRoot":"","sources":["../../../src/config/schemas/websearch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* WebSearch backend configuration types.
|
|
4
|
+
*
|
|
5
|
+
* Covers all supported search backends:
|
|
6
|
+
* - API-backed: Exa, Tavily, Brave
|
|
7
|
+
* - Self-hosted: SearXNG
|
|
8
|
+
* - Zero-setup: DuckDuckGo
|
|
9
|
+
* - Legacy CLI fallbacks: Gemini, Grok, OpenCode
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
//# sourceMappingURL=websearch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websearch.js","sourceRoot":"","sources":["../../../src/config/schemas/websearch.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG"}
|