skyloom 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/ci.yml +36 -0
- package/CONVERSION_PLAN.md +191 -0
- package/README.md +67 -0
- package/dist/agents/dew.d.ts +15 -0
- package/dist/agents/dew.d.ts.map +1 -0
- package/dist/agents/dew.js +74 -0
- package/dist/agents/dew.js.map +1 -0
- package/dist/agents/fair.d.ts +15 -0
- package/dist/agents/fair.d.ts.map +1 -0
- package/dist/agents/fair.js +106 -0
- package/dist/agents/fair.js.map +1 -0
- package/dist/agents/fog.d.ts +15 -0
- package/dist/agents/fog.d.ts.map +1 -0
- package/dist/agents/fog.js +52 -0
- package/dist/agents/fog.js.map +1 -0
- package/dist/agents/frost.d.ts +15 -0
- package/dist/agents/frost.d.ts.map +1 -0
- package/dist/agents/frost.js +54 -0
- package/dist/agents/frost.js.map +1 -0
- package/dist/agents/rain.d.ts +15 -0
- package/dist/agents/rain.d.ts.map +1 -0
- package/dist/agents/rain.js +54 -0
- package/dist/agents/rain.js.map +1 -0
- package/dist/agents/snow.d.ts +27 -0
- package/dist/agents/snow.d.ts.map +1 -0
- package/dist/agents/snow.js +226 -0
- package/dist/agents/snow.js.map +1 -0
- package/dist/cli/main.d.ts +7 -0
- package/dist/cli/main.d.ts.map +1 -0
- package/dist/cli/main.js +402 -0
- package/dist/cli/main.js.map +1 -0
- package/dist/cli/mode.d.ts +17 -0
- package/dist/cli/mode.d.ts.map +1 -0
- package/dist/cli/mode.js +56 -0
- package/dist/cli/mode.js.map +1 -0
- package/dist/core/agent.d.ts +174 -0
- package/dist/core/agent.d.ts.map +1 -0
- package/dist/core/agent.js +1332 -0
- package/dist/core/agent.js.map +1 -0
- package/dist/core/agent_helpers.d.ts +51 -0
- package/dist/core/agent_helpers.d.ts.map +1 -0
- package/dist/core/agent_helpers.js +477 -0
- package/dist/core/agent_helpers.js.map +1 -0
- package/dist/core/bus.d.ts +99 -0
- package/dist/core/bus.d.ts.map +1 -0
- package/dist/core/bus.js +191 -0
- package/dist/core/bus.js.map +1 -0
- package/dist/core/cache.d.ts +63 -0
- package/dist/core/cache.d.ts.map +1 -0
- package/dist/core/cache.js +121 -0
- package/dist/core/cache.js.map +1 -0
- package/dist/core/checkpoint.d.ts +19 -0
- package/dist/core/checkpoint.d.ts.map +1 -0
- package/dist/core/checkpoint.js +120 -0
- package/dist/core/checkpoint.js.map +1 -0
- package/dist/core/circuit_breaker.d.ts +46 -0
- package/dist/core/circuit_breaker.d.ts.map +1 -0
- package/dist/core/circuit_breaker.js +99 -0
- package/dist/core/circuit_breaker.js.map +1 -0
- package/dist/core/config.d.ts +97 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +281 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/constants.d.ts +78 -0
- package/dist/core/constants.d.ts.map +1 -0
- package/dist/core/constants.js +84 -0
- package/dist/core/constants.js.map +1 -0
- package/dist/core/factory.d.ts +63 -0
- package/dist/core/factory.d.ts.map +1 -0
- package/dist/core/factory.js +537 -0
- package/dist/core/factory.js.map +1 -0
- package/dist/core/icons.d.ts +28 -0
- package/dist/core/icons.d.ts.map +1 -0
- package/dist/core/icons.js +86 -0
- package/dist/core/icons.js.map +1 -0
- package/dist/core/index.d.ts +29 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +54 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/llm.d.ts +121 -0
- package/dist/core/llm.d.ts.map +1 -0
- package/dist/core/llm.js +532 -0
- package/dist/core/llm.js.map +1 -0
- package/dist/core/logger.d.ts +57 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +122 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/mcp.d.ts +190 -0
- package/dist/core/mcp.d.ts.map +1 -0
- package/dist/core/mcp.js +822 -0
- package/dist/core/mcp.js.map +1 -0
- package/dist/core/mcp_server.d.ts +26 -0
- package/dist/core/mcp_server.d.ts.map +1 -0
- package/dist/core/mcp_server.js +211 -0
- package/dist/core/mcp_server.js.map +1 -0
- package/dist/core/memory.d.ts +190 -0
- package/dist/core/memory.d.ts.map +1 -0
- package/dist/core/memory.js +988 -0
- package/dist/core/memory.js.map +1 -0
- package/dist/core/middleware.d.ts +114 -0
- package/dist/core/middleware.d.ts.map +1 -0
- package/dist/core/middleware.js +248 -0
- package/dist/core/middleware.js.map +1 -0
- package/dist/core/pipelines.d.ts +87 -0
- package/dist/core/pipelines.d.ts.map +1 -0
- package/dist/core/pipelines.js +301 -0
- package/dist/core/pipelines.js.map +1 -0
- package/dist/core/profile.d.ts +23 -0
- package/dist/core/profile.d.ts.map +1 -0
- package/dist/core/profile.js +289 -0
- package/dist/core/profile.js.map +1 -0
- package/dist/core/router.d.ts +24 -0
- package/dist/core/router.d.ts.map +1 -0
- package/dist/core/router.js +111 -0
- package/dist/core/router.js.map +1 -0
- package/dist/core/schemas.d.ts +82 -0
- package/dist/core/schemas.d.ts.map +1 -0
- package/dist/core/schemas.js +200 -0
- package/dist/core/schemas.js.map +1 -0
- package/dist/core/semantic.d.ts +92 -0
- package/dist/core/semantic.d.ts.map +1 -0
- package/dist/core/semantic.js +175 -0
- package/dist/core/semantic.js.map +1 -0
- package/dist/core/skill.d.ts +68 -0
- package/dist/core/skill.d.ts.map +1 -0
- package/dist/core/skill.js +350 -0
- package/dist/core/skill.js.map +1 -0
- package/dist/core/tool.d.ts +99 -0
- package/dist/core/tool.d.ts.map +1 -0
- package/dist/core/tool.js +341 -0
- package/dist/core/tool.js.map +1 -0
- package/dist/core/tool_router.d.ts +29 -0
- package/dist/core/tool_router.d.ts.map +1 -0
- package/dist/core/tool_router.js +172 -0
- package/dist/core/tool_router.js.map +1 -0
- package/dist/core/workspace.d.ts +48 -0
- package/dist/core/workspace.d.ts.map +1 -0
- package/dist/core/workspace.js +179 -0
- package/dist/core/workspace.js.map +1 -0
- package/dist/plugins/loader.d.ts +17 -0
- package/dist/plugins/loader.d.ts.map +1 -0
- package/dist/plugins/loader.js +96 -0
- package/dist/plugins/loader.js.map +1 -0
- package/dist/skills/loader.d.ts +9 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +78 -0
- package/dist/skills/loader.js.map +1 -0
- package/dist/tools/builtin.d.ts +10 -0
- package/dist/tools/builtin.d.ts.map +1 -0
- package/dist/tools/builtin.js +414 -0
- package/dist/tools/builtin.js.map +1 -0
- package/dist/tools/computer.d.ts +12 -0
- package/dist/tools/computer.d.ts.map +1 -0
- package/dist/tools/computer.js +326 -0
- package/dist/tools/computer.js.map +1 -0
- package/dist/tools/delegate.d.ts +10 -0
- package/dist/tools/delegate.d.ts.map +1 -0
- package/dist/tools/delegate.js +45 -0
- package/dist/tools/delegate.js.map +1 -0
- package/dist/web/server.d.ts +5 -0
- package/dist/web/server.d.ts.map +1 -0
- package/dist/web/server.js +647 -0
- package/dist/web/server.js.map +1 -0
- package/dist/web/tts.d.ts +33 -0
- package/dist/web/tts.d.ts.map +1 -0
- package/dist/web/tts.js +69 -0
- package/dist/web/tts.js.map +1 -0
- package/package.json +60 -0
- package/scripts/install.js +48 -0
- package/scripts/link.js +10 -0
- package/setup.bat +79 -0
- package/skill-test-ty2fOA/test.md +10 -0
- package/src/agents/dew.ts +70 -0
- package/src/agents/fair.ts +102 -0
- package/src/agents/fog.ts +48 -0
- package/src/agents/frost.ts +50 -0
- package/src/agents/rain.ts +50 -0
- package/src/agents/snow.ts +239 -0
- package/src/cli/main.ts +405 -0
- package/src/cli/mode.ts +58 -0
- package/src/core/agent.ts +1506 -0
- package/src/core/agent_helpers.ts +461 -0
- package/src/core/bus.ts +221 -0
- package/src/core/cache.ts +153 -0
- package/src/core/checkpoint.ts +94 -0
- package/src/core/circuit_breaker.ts +119 -0
- package/src/core/config.ts +341 -0
- package/src/core/constants.ts +95 -0
- package/src/core/factory.ts +627 -0
- package/src/core/icons.ts +53 -0
- package/src/core/index.ts +31 -0
- package/src/core/llm.ts +724 -0
- package/src/core/logger.ts +144 -0
- package/src/core/mcp.ts +953 -0
- package/src/core/mcp_server.ts +176 -0
- package/src/core/memory.ts +1169 -0
- package/src/core/middleware.ts +350 -0
- package/src/core/pipelines.ts +424 -0
- package/src/core/profile.ts +255 -0
- package/src/core/router.ts +124 -0
- package/src/core/schemas.ts +282 -0
- package/src/core/semantic.ts +211 -0
- package/src/core/skill.ts +342 -0
- package/src/core/tool.ts +427 -0
- package/src/core/tool_router.ts +193 -0
- package/src/core/workspace.ts +150 -0
- package/src/plugins/loader.ts +66 -0
- package/src/skills/loader.ts +46 -0
- package/src/sql.js.d.ts +29 -0
- package/src/tools/builtin.ts +382 -0
- package/src/tools/computer.ts +269 -0
- package/src/tools/delegate.ts +49 -0
- package/src/web/server.ts +634 -0
- package/src/web/tts.ts +93 -0
- package/tests/bus.test.ts +121 -0
- package/tests/icons.test.ts +45 -0
- package/tests/router.test.ts +86 -0
- package/tests/schemas.test.ts +51 -0
- package/tests/semantic.test.ts +83 -0
- package/tests/setup.ts +10 -0
- package/tests/skill.test.ts +172 -0
- package/tests/tool.test.ts +108 -0
- package/tests/tool_router.test.ts +71 -0
- package/tsconfig.json +37 -0
- package/vitest.config.ts +17 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../src/core/checkpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Circuit breaker pattern for fault tolerance
|
|
3
|
+
*/
|
|
4
|
+
export interface CircuitBreakerConfig {
|
|
5
|
+
name: string;
|
|
6
|
+
failureThreshold?: number;
|
|
7
|
+
successThreshold?: number;
|
|
8
|
+
resetTimeout?: number;
|
|
9
|
+
}
|
|
10
|
+
export type CircuitBreakerState = "closed" | "open" | "half_open";
|
|
11
|
+
/**
|
|
12
|
+
* Circuit breaker implementation
|
|
13
|
+
*/
|
|
14
|
+
export declare class CircuitBreaker {
|
|
15
|
+
private state;
|
|
16
|
+
private failureCount;
|
|
17
|
+
private successCount;
|
|
18
|
+
private lastFailureTime;
|
|
19
|
+
private failureThreshold;
|
|
20
|
+
private successThreshold;
|
|
21
|
+
private resetTimeout;
|
|
22
|
+
constructor(config: CircuitBreakerConfig);
|
|
23
|
+
/**
|
|
24
|
+
* Check if execution is allowed
|
|
25
|
+
*/
|
|
26
|
+
canExecute(): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Record a successful execution
|
|
29
|
+
*/
|
|
30
|
+
recordSuccess(): void;
|
|
31
|
+
/**
|
|
32
|
+
* Record a failed execution
|
|
33
|
+
*/
|
|
34
|
+
recordFailure(): void;
|
|
35
|
+
/**
|
|
36
|
+
* Get current state
|
|
37
|
+
*/
|
|
38
|
+
getState(): CircuitBreakerState;
|
|
39
|
+
/**
|
|
40
|
+
* Reset the circuit breaker
|
|
41
|
+
*/
|
|
42
|
+
reset(): void;
|
|
43
|
+
}
|
|
44
|
+
export declare function getBreaker(name: string, config?: CircuitBreakerConfig): CircuitBreaker;
|
|
45
|
+
export declare function clearBreakers(): void;
|
|
46
|
+
//# sourceMappingURL=circuit_breaker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"circuit_breaker.d.ts","sourceRoot":"","sources":["../../src/core/circuit_breaker.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAElE;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,YAAY,CAAS;gBAEjB,MAAM,EAAE,oBAAoB;IAMxC;;OAEG;IACH,UAAU,IAAI,OAAO;IAmBrB;;OAEG;IACH,aAAa,IAAI,IAAI;IAYrB;;OAEG;IACH,aAAa,IAAI,IAAI;IAerB;;OAEG;IACH,QAAQ,IAAI,mBAAmB;IAI/B;;OAEG;IACH,KAAK,IAAI,IAAI;CAMd;AAOD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,oBAAoB,GAAG,cAAc,CAKtF;AAED,wBAAgB,aAAa,IAAI,IAAI,CAEpC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Circuit breaker pattern for fault tolerance
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.CircuitBreaker = void 0;
|
|
7
|
+
exports.getBreaker = getBreaker;
|
|
8
|
+
exports.clearBreakers = clearBreakers;
|
|
9
|
+
/**
|
|
10
|
+
* Circuit breaker implementation
|
|
11
|
+
*/
|
|
12
|
+
class CircuitBreaker {
|
|
13
|
+
constructor(config) {
|
|
14
|
+
this.state = "closed";
|
|
15
|
+
this.failureCount = 0;
|
|
16
|
+
this.successCount = 0;
|
|
17
|
+
this.lastFailureTime = 0;
|
|
18
|
+
this.failureThreshold = config.failureThreshold ?? 5;
|
|
19
|
+
this.successThreshold = config.successThreshold ?? 3;
|
|
20
|
+
this.resetTimeout = config.resetTimeout ?? 60000; // 60 seconds
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Check if execution is allowed
|
|
24
|
+
*/
|
|
25
|
+
canExecute() {
|
|
26
|
+
if (this.state === "closed") {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
if (this.state === "open") {
|
|
30
|
+
const timeSinceLastFailure = Date.now() - this.lastFailureTime;
|
|
31
|
+
if (timeSinceLastFailure > this.resetTimeout) {
|
|
32
|
+
this.state = "half_open";
|
|
33
|
+
this.successCount = 0;
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
// half_open state allows attempts
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Record a successful execution
|
|
43
|
+
*/
|
|
44
|
+
recordSuccess() {
|
|
45
|
+
this.failureCount = 0;
|
|
46
|
+
if (this.state === "half_open") {
|
|
47
|
+
this.successCount++;
|
|
48
|
+
if (this.successCount >= this.successThreshold) {
|
|
49
|
+
this.state = "closed";
|
|
50
|
+
this.successCount = 0;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Record a failed execution
|
|
56
|
+
*/
|
|
57
|
+
recordFailure() {
|
|
58
|
+
this.lastFailureTime = Date.now();
|
|
59
|
+
this.failureCount++;
|
|
60
|
+
if (this.failureCount >= this.failureThreshold) {
|
|
61
|
+
this.state = "open";
|
|
62
|
+
this.failureCount = 0;
|
|
63
|
+
}
|
|
64
|
+
if (this.state === "half_open") {
|
|
65
|
+
this.state = "open";
|
|
66
|
+
this.failureCount = 0;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Get current state
|
|
71
|
+
*/
|
|
72
|
+
getState() {
|
|
73
|
+
return this.state;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Reset the circuit breaker
|
|
77
|
+
*/
|
|
78
|
+
reset() {
|
|
79
|
+
this.state = "closed";
|
|
80
|
+
this.failureCount = 0;
|
|
81
|
+
this.successCount = 0;
|
|
82
|
+
this.lastFailureTime = 0;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.CircuitBreaker = CircuitBreaker;
|
|
86
|
+
/**
|
|
87
|
+
* Get or create a circuit breaker for a service
|
|
88
|
+
*/
|
|
89
|
+
const breakers = new Map();
|
|
90
|
+
function getBreaker(name, config) {
|
|
91
|
+
if (!breakers.has(name)) {
|
|
92
|
+
breakers.set(name, new CircuitBreaker(config ?? { name }));
|
|
93
|
+
}
|
|
94
|
+
return breakers.get(name);
|
|
95
|
+
}
|
|
96
|
+
function clearBreakers() {
|
|
97
|
+
breakers.clear();
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=circuit_breaker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"circuit_breaker.js","sourceRoot":"","sources":["../../src/core/circuit_breaker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration management for Skyloom
|
|
3
|
+
*/
|
|
4
|
+
export declare const USER_CONFIG_DIR: string;
|
|
5
|
+
export declare const CONFIG_DIR: string;
|
|
6
|
+
/**
|
|
7
|
+
* Memory configuration
|
|
8
|
+
*/
|
|
9
|
+
export interface MemoryConfig {
|
|
10
|
+
dbPath: string;
|
|
11
|
+
shortTermLimit: number;
|
|
12
|
+
maxPersistedMessages?: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* All agent names — single source of truth
|
|
16
|
+
*/
|
|
17
|
+
export declare const AGENT_NAMES: readonly ["fog", "rain", "frost", "snow", "dew", "fair"];
|
|
18
|
+
/**
|
|
19
|
+
* Model catalog entry
|
|
20
|
+
*/
|
|
21
|
+
export interface ModelEntry {
|
|
22
|
+
name: string;
|
|
23
|
+
provider?: string;
|
|
24
|
+
context_window?: number;
|
|
25
|
+
max_output?: number;
|
|
26
|
+
input_cost_per_1k?: number;
|
|
27
|
+
output_cost_per_1k?: number;
|
|
28
|
+
fallback?: string[];
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Load available models from models.yaml
|
|
32
|
+
*/
|
|
33
|
+
export declare function loadModelCatalog(): Record<string, ModelEntry[]>;
|
|
34
|
+
/**
|
|
35
|
+
* Provider catalog entry
|
|
36
|
+
*/
|
|
37
|
+
export interface ProviderEntry {
|
|
38
|
+
env_var?: string;
|
|
39
|
+
region?: string;
|
|
40
|
+
docs_url?: string;
|
|
41
|
+
base_url?: string;
|
|
42
|
+
aliases?: string[];
|
|
43
|
+
[key: string]: unknown;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Load provider catalog from providers.yaml
|
|
47
|
+
*/
|
|
48
|
+
export declare function loadProviderCatalog(): Record<string, ProviderEntry>;
|
|
49
|
+
/**
|
|
50
|
+
* Agent configuration
|
|
51
|
+
*/
|
|
52
|
+
export interface AgentConfig {
|
|
53
|
+
model: string;
|
|
54
|
+
provider: string;
|
|
55
|
+
temperature?: number;
|
|
56
|
+
top_p?: number;
|
|
57
|
+
max_tokens?: number;
|
|
58
|
+
system_prompt?: string;
|
|
59
|
+
tools?: string[];
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Skyloom configuration
|
|
63
|
+
*/
|
|
64
|
+
export interface SkyloomConfig {
|
|
65
|
+
agents: Record<string, AgentConfig>;
|
|
66
|
+
providers?: Record<string, ProviderEntry>;
|
|
67
|
+
models?: Record<string, ModelEntry[]>;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Load default configuration
|
|
71
|
+
*/
|
|
72
|
+
export declare function loadDefaultConfig(): SkyloomConfig;
|
|
73
|
+
/**
|
|
74
|
+
* Load user configuration (from ~/.skyloom/config.yaml)
|
|
75
|
+
*/
|
|
76
|
+
export declare function loadUserConfig(): SkyloomConfig | null;
|
|
77
|
+
/**
|
|
78
|
+
* Merge user config on top of default config
|
|
79
|
+
*/
|
|
80
|
+
export declare function mergeConfigs(defaultCfg: SkyloomConfig, userCfg: SkyloomConfig | null): SkyloomConfig;
|
|
81
|
+
/**
|
|
82
|
+
* Load the complete configuration
|
|
83
|
+
*/
|
|
84
|
+
export declare function loadConfig(): SkyloomConfig;
|
|
85
|
+
/**
|
|
86
|
+
* Save user configuration
|
|
87
|
+
*/
|
|
88
|
+
export declare function saveUserConfig(config: SkyloomConfig): void;
|
|
89
|
+
/**
|
|
90
|
+
* Get an agent configuration
|
|
91
|
+
*/
|
|
92
|
+
export declare function getAgentConfig(config: SkyloomConfig, agentName: string): AgentConfig | null;
|
|
93
|
+
/**
|
|
94
|
+
* Format models for display
|
|
95
|
+
*/
|
|
96
|
+
export declare function formatModelsForDisplay(catalog: Record<string, ModelEntry[]>): string;
|
|
97
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAwCH,eAAO,MAAM,eAAe,QAAyB,CAAC;AAuBtD,eAAO,MAAM,UAAU,QAAkB,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,0DAA2D,CAAC;AAwBpF;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CA6B/D;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAID;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAoCnE;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,aAAa,CASjD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,aAAa,GAAG,IAAI,CASrD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,GAAG,aAAa,CAmBpG;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,aAAa,CAI1C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAW1D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAE3F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,GAAG,MAAM,CA0BpF"}
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Configuration management for Skyloom
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.AGENT_NAMES = exports.CONFIG_DIR = exports.USER_CONFIG_DIR = void 0;
|
|
40
|
+
exports.loadModelCatalog = loadModelCatalog;
|
|
41
|
+
exports.loadProviderCatalog = loadProviderCatalog;
|
|
42
|
+
exports.loadDefaultConfig = loadDefaultConfig;
|
|
43
|
+
exports.loadUserConfig = loadUserConfig;
|
|
44
|
+
exports.mergeConfigs = mergeConfigs;
|
|
45
|
+
exports.loadConfig = loadConfig;
|
|
46
|
+
exports.saveUserConfig = saveUserConfig;
|
|
47
|
+
exports.getAgentConfig = getAgentConfig;
|
|
48
|
+
exports.formatModelsForDisplay = formatModelsForDisplay;
|
|
49
|
+
const fs = __importStar(require("fs"));
|
|
50
|
+
const path = __importStar(require("path"));
|
|
51
|
+
const os = __importStar(require("os"));
|
|
52
|
+
const yaml = __importStar(require("yaml"));
|
|
53
|
+
const logger_1 = require("./logger");
|
|
54
|
+
const log = (0, logger_1.getLogger)("config");
|
|
55
|
+
/**
|
|
56
|
+
* Configuration directory paths
|
|
57
|
+
*/
|
|
58
|
+
const LEGACY_CONFIG_DIR = path.join(os.homedir(), ".weather-agents");
|
|
59
|
+
/**
|
|
60
|
+
* Resolve the user configuration directory
|
|
61
|
+
* Migrates from legacy ~/.weather-agents to ~/.skyloom if needed
|
|
62
|
+
*/
|
|
63
|
+
function resolveUserConfigDir() {
|
|
64
|
+
const newDir = path.join(os.homedir(), ".skyloom");
|
|
65
|
+
if (!fs.existsSync(newDir) && fs.existsSync(LEGACY_CONFIG_DIR)) {
|
|
66
|
+
try {
|
|
67
|
+
fs.renameSync(LEGACY_CONFIG_DIR, newDir);
|
|
68
|
+
log.info("Migrated config directory", {
|
|
69
|
+
from: LEGACY_CONFIG_DIR,
|
|
70
|
+
to: newDir,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
log.warn("Failed to migrate config directory", {
|
|
75
|
+
error: error.message,
|
|
76
|
+
});
|
|
77
|
+
return LEGACY_CONFIG_DIR;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return newDir;
|
|
81
|
+
}
|
|
82
|
+
exports.USER_CONFIG_DIR = resolveUserConfigDir();
|
|
83
|
+
/**
|
|
84
|
+
* Find the config directory (bundled or user-provided)
|
|
85
|
+
*/
|
|
86
|
+
function findConfigDir() {
|
|
87
|
+
// Try bundled config directory (relative to src or dist)
|
|
88
|
+
const possiblePaths = [
|
|
89
|
+
path.join(__dirname, "..", "..", "..", "config"),
|
|
90
|
+
path.join(__dirname, "..", "config"),
|
|
91
|
+
path.join(process.cwd(), "config"),
|
|
92
|
+
];
|
|
93
|
+
for (const configPath of possiblePaths) {
|
|
94
|
+
if (fs.existsSync(path.join(configPath, "default.yaml"))) {
|
|
95
|
+
return configPath;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// Fall back to user config directory
|
|
99
|
+
return path.join(exports.USER_CONFIG_DIR, "config");
|
|
100
|
+
}
|
|
101
|
+
exports.CONFIG_DIR = findConfigDir();
|
|
102
|
+
/**
|
|
103
|
+
* All agent names — single source of truth
|
|
104
|
+
*/
|
|
105
|
+
exports.AGENT_NAMES = ["fog", "rain", "frost", "snow", "dew", "fair"];
|
|
106
|
+
/**
|
|
107
|
+
* Load a YAML file safely
|
|
108
|
+
*/
|
|
109
|
+
function loadYaml(filePath) {
|
|
110
|
+
try {
|
|
111
|
+
if (!fs.existsSync(filePath)) {
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
const content = fs.readFileSync(filePath, "utf-8");
|
|
115
|
+
const data = yaml.parse(content);
|
|
116
|
+
return typeof data === "object" && data !== null ? data : {};
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
log.error("Failed to load YAML file", {
|
|
120
|
+
file: filePath,
|
|
121
|
+
error: error.message,
|
|
122
|
+
});
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Load available models from models.yaml
|
|
128
|
+
*/
|
|
129
|
+
function loadModelCatalog() {
|
|
130
|
+
const modelPath = path.join(exports.CONFIG_DIR, "models.yaml");
|
|
131
|
+
const data = loadYaml(modelPath);
|
|
132
|
+
if (!data) {
|
|
133
|
+
return {};
|
|
134
|
+
}
|
|
135
|
+
const catalog = {};
|
|
136
|
+
for (const [provider, models] of Object.entries(data)) {
|
|
137
|
+
if (typeof models === "object" && models !== null) {
|
|
138
|
+
catalog[provider] = [];
|
|
139
|
+
for (const [name, info] of Object.entries(models)) {
|
|
140
|
+
const entry = { name };
|
|
141
|
+
if (typeof info === "object" && info !== null) {
|
|
142
|
+
Object.assign(entry, info);
|
|
143
|
+
}
|
|
144
|
+
else if (typeof info === "string") {
|
|
145
|
+
entry.provider = info;
|
|
146
|
+
}
|
|
147
|
+
catalog[provider].push(entry);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return catalog;
|
|
152
|
+
}
|
|
153
|
+
let providerCatalogCache = null;
|
|
154
|
+
/**
|
|
155
|
+
* Load provider catalog from providers.yaml
|
|
156
|
+
*/
|
|
157
|
+
function loadProviderCatalog() {
|
|
158
|
+
if (providerCatalogCache) {
|
|
159
|
+
return providerCatalogCache;
|
|
160
|
+
}
|
|
161
|
+
const catalog = {};
|
|
162
|
+
// Load bundled providers
|
|
163
|
+
const bundledPath = path.join(exports.CONFIG_DIR, "providers.yaml");
|
|
164
|
+
const bundledData = loadYaml(bundledPath);
|
|
165
|
+
if (bundledData) {
|
|
166
|
+
for (const [key, value] of Object.entries(bundledData)) {
|
|
167
|
+
if (typeof value === "object" && value !== null) {
|
|
168
|
+
catalog[key] = { ...value };
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
// Load user overrides
|
|
173
|
+
const userPath = path.join(exports.USER_CONFIG_DIR, "providers.yaml");
|
|
174
|
+
const userData = loadYaml(userPath);
|
|
175
|
+
if (userData) {
|
|
176
|
+
for (const [key, value] of Object.entries(userData)) {
|
|
177
|
+
if (typeof value === "object" && value !== null) {
|
|
178
|
+
catalog[key] = {
|
|
179
|
+
...catalog[key],
|
|
180
|
+
...value,
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
providerCatalogCache = catalog;
|
|
186
|
+
return catalog;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Load default configuration
|
|
190
|
+
*/
|
|
191
|
+
function loadDefaultConfig() {
|
|
192
|
+
const defaultPath = path.join(exports.CONFIG_DIR, "default.yaml");
|
|
193
|
+
const data = loadYaml(defaultPath);
|
|
194
|
+
if (!data) {
|
|
195
|
+
return { agents: {} };
|
|
196
|
+
}
|
|
197
|
+
return data;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Load user configuration (from ~/.skyloom/config.yaml)
|
|
201
|
+
*/
|
|
202
|
+
function loadUserConfig() {
|
|
203
|
+
const userPath = path.join(exports.USER_CONFIG_DIR, "config.yaml");
|
|
204
|
+
const data = loadYaml(userPath);
|
|
205
|
+
if (!data) {
|
|
206
|
+
return null;
|
|
207
|
+
}
|
|
208
|
+
return data;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Merge user config on top of default config
|
|
212
|
+
*/
|
|
213
|
+
function mergeConfigs(defaultCfg, userCfg) {
|
|
214
|
+
if (!userCfg) {
|
|
215
|
+
return defaultCfg;
|
|
216
|
+
}
|
|
217
|
+
return {
|
|
218
|
+
agents: {
|
|
219
|
+
...defaultCfg.agents,
|
|
220
|
+
...userCfg.agents,
|
|
221
|
+
},
|
|
222
|
+
providers: {
|
|
223
|
+
...defaultCfg.providers,
|
|
224
|
+
...userCfg.providers,
|
|
225
|
+
},
|
|
226
|
+
models: {
|
|
227
|
+
...defaultCfg.models,
|
|
228
|
+
...userCfg.models,
|
|
229
|
+
},
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Load the complete configuration
|
|
234
|
+
*/
|
|
235
|
+
function loadConfig() {
|
|
236
|
+
const defaultCfg = loadDefaultConfig();
|
|
237
|
+
const userCfg = loadUserConfig();
|
|
238
|
+
return mergeConfigs(defaultCfg, userCfg);
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Save user configuration
|
|
242
|
+
*/
|
|
243
|
+
function saveUserConfig(config) {
|
|
244
|
+
// Ensure user config directory exists
|
|
245
|
+
if (!fs.existsSync(exports.USER_CONFIG_DIR)) {
|
|
246
|
+
fs.mkdirSync(exports.USER_CONFIG_DIR, { recursive: true });
|
|
247
|
+
}
|
|
248
|
+
const userPath = path.join(exports.USER_CONFIG_DIR, "config.yaml");
|
|
249
|
+
const content = yaml.stringify(config);
|
|
250
|
+
fs.writeFileSync(userPath, content, "utf-8");
|
|
251
|
+
log.info("Saved user configuration", { path: userPath });
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Get an agent configuration
|
|
255
|
+
*/
|
|
256
|
+
function getAgentConfig(config, agentName) {
|
|
257
|
+
return config.agents[agentName] || null;
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Format models for display
|
|
261
|
+
*/
|
|
262
|
+
function formatModelsForDisplay(catalog) {
|
|
263
|
+
const lines = [];
|
|
264
|
+
for (const [provider, models] of Object.entries(catalog)) {
|
|
265
|
+
lines.push(` [${provider.toUpperCase()}]`);
|
|
266
|
+
for (const m of models) {
|
|
267
|
+
const costParts = [];
|
|
268
|
+
if (m.input_cost_per_1k) {
|
|
269
|
+
costParts.push(`$${m.input_cost_per_1k.toFixed(4)}/1k in`);
|
|
270
|
+
}
|
|
271
|
+
if (m.output_cost_per_1k) {
|
|
272
|
+
costParts.push(`$${m.output_cost_per_1k.toFixed(4)}/1k out`);
|
|
273
|
+
}
|
|
274
|
+
const costStr = costParts.length > 0 ? ` cost=(${costParts.join(", ")})` : "";
|
|
275
|
+
const fallbackStr = m.fallback && m.fallback.length > 0 ? ` fallback->${m.fallback.join(" > ")}` : "";
|
|
276
|
+
lines.push(` ${m.name} (ctx=${m.context_window || "?"}, max=${m.max_output || "?"})${costStr}${fallbackStr}`);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
return lines.join("\n");
|
|
280
|
+
}
|
|
281
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared constants across the Skyloom framework.
|
|
3
|
+
* Central home for values that cross module boundaries — keeps
|
|
4
|
+
* circular imports in check and avoids duplication.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Sentinel returned by the task_done tool. When the LLM calls
|
|
8
|
+
* task_done, the chat-stream loop detects this value in the tool
|
|
9
|
+
* result and terminates the turn cleanly (no truncation warning).
|
|
10
|
+
*/
|
|
11
|
+
export declare const TASK_DONE_SENTINEL = "__TASK_DONE__";
|
|
12
|
+
/**
|
|
13
|
+
* Valid agent names in the system
|
|
14
|
+
*/
|
|
15
|
+
export declare const VALID_AGENTS: Readonly<{
|
|
16
|
+
readonly fog: "fog";
|
|
17
|
+
readonly rain: "rain";
|
|
18
|
+
readonly frost: "frost";
|
|
19
|
+
readonly snow: "snow";
|
|
20
|
+
readonly dew: "dew";
|
|
21
|
+
readonly fair: "fair";
|
|
22
|
+
}>;
|
|
23
|
+
/**
|
|
24
|
+
* Agent type union
|
|
25
|
+
*/
|
|
26
|
+
export type AgentType = keyof typeof VALID_AGENTS;
|
|
27
|
+
/**
|
|
28
|
+
* Agent roles and descriptions
|
|
29
|
+
*/
|
|
30
|
+
export declare const AGENT_DESCRIPTIONS: Record<AgentType, string>;
|
|
31
|
+
/**
|
|
32
|
+
* Default tool timeout in milliseconds
|
|
33
|
+
*/
|
|
34
|
+
export declare const DEFAULT_TOOL_TIMEOUT = 30000;
|
|
35
|
+
/**
|
|
36
|
+
* Maximum retries for tool execution
|
|
37
|
+
*/
|
|
38
|
+
export declare const MAX_TOOL_RETRIES = 3;
|
|
39
|
+
/**
|
|
40
|
+
* Memory layer configuration
|
|
41
|
+
*/
|
|
42
|
+
export declare const MEMORY_LAYERS: Readonly<{
|
|
43
|
+
readonly SHORT_TERM: "short_term";
|
|
44
|
+
readonly WORKING: "working";
|
|
45
|
+
readonly LONG_TERM: "long_term";
|
|
46
|
+
}>;
|
|
47
|
+
/**
|
|
48
|
+
* Response types
|
|
49
|
+
*/
|
|
50
|
+
export declare const RESPONSE_TYPES: Readonly<{
|
|
51
|
+
readonly TEXT: "text";
|
|
52
|
+
readonly TOOL_CALL: "tool_call";
|
|
53
|
+
readonly TOOL_RESULT: "tool_result";
|
|
54
|
+
readonly ERROR: "error";
|
|
55
|
+
}>;
|
|
56
|
+
/**
|
|
57
|
+
* Log levels
|
|
58
|
+
*/
|
|
59
|
+
export declare const LOG_LEVELS: Readonly<{
|
|
60
|
+
readonly DEBUG: 0;
|
|
61
|
+
readonly INFO: 1;
|
|
62
|
+
readonly WARN: 2;
|
|
63
|
+
readonly ERROR: 3;
|
|
64
|
+
}>;
|
|
65
|
+
/**
|
|
66
|
+
* Maximum context window (tokens)
|
|
67
|
+
*/
|
|
68
|
+
export declare const MAX_CONTEXT_TOKENS = 100000;
|
|
69
|
+
/**
|
|
70
|
+
* Routing modes for CLI
|
|
71
|
+
*/
|
|
72
|
+
export declare const ROUTING_MODES: Readonly<{
|
|
73
|
+
readonly DIRECT: "direct";
|
|
74
|
+
readonly SINGLE: "single";
|
|
75
|
+
readonly ORCHESTRATE: "orchestrate";
|
|
76
|
+
readonly AUTO: "auto";
|
|
77
|
+
}>;
|
|
78
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;EAOd,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,YAAY,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAOxD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC;;GAEG;AACH,eAAO,MAAM,aAAa;;;;EAIf,CAAC;AAEZ;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;EAKhB,CAAC;AAEZ;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;EAKZ,CAAC;AAEZ;;GAEG;AACH,eAAO,MAAM,kBAAkB,SAAS,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;EAKf,CAAC"}
|