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.
Files changed (225) hide show
  1. package/.github/workflows/ci.yml +36 -0
  2. package/CONVERSION_PLAN.md +191 -0
  3. package/README.md +67 -0
  4. package/dist/agents/dew.d.ts +15 -0
  5. package/dist/agents/dew.d.ts.map +1 -0
  6. package/dist/agents/dew.js +74 -0
  7. package/dist/agents/dew.js.map +1 -0
  8. package/dist/agents/fair.d.ts +15 -0
  9. package/dist/agents/fair.d.ts.map +1 -0
  10. package/dist/agents/fair.js +106 -0
  11. package/dist/agents/fair.js.map +1 -0
  12. package/dist/agents/fog.d.ts +15 -0
  13. package/dist/agents/fog.d.ts.map +1 -0
  14. package/dist/agents/fog.js +52 -0
  15. package/dist/agents/fog.js.map +1 -0
  16. package/dist/agents/frost.d.ts +15 -0
  17. package/dist/agents/frost.d.ts.map +1 -0
  18. package/dist/agents/frost.js +54 -0
  19. package/dist/agents/frost.js.map +1 -0
  20. package/dist/agents/rain.d.ts +15 -0
  21. package/dist/agents/rain.d.ts.map +1 -0
  22. package/dist/agents/rain.js +54 -0
  23. package/dist/agents/rain.js.map +1 -0
  24. package/dist/agents/snow.d.ts +27 -0
  25. package/dist/agents/snow.d.ts.map +1 -0
  26. package/dist/agents/snow.js +226 -0
  27. package/dist/agents/snow.js.map +1 -0
  28. package/dist/cli/main.d.ts +7 -0
  29. package/dist/cli/main.d.ts.map +1 -0
  30. package/dist/cli/main.js +402 -0
  31. package/dist/cli/main.js.map +1 -0
  32. package/dist/cli/mode.d.ts +17 -0
  33. package/dist/cli/mode.d.ts.map +1 -0
  34. package/dist/cli/mode.js +56 -0
  35. package/dist/cli/mode.js.map +1 -0
  36. package/dist/core/agent.d.ts +174 -0
  37. package/dist/core/agent.d.ts.map +1 -0
  38. package/dist/core/agent.js +1332 -0
  39. package/dist/core/agent.js.map +1 -0
  40. package/dist/core/agent_helpers.d.ts +51 -0
  41. package/dist/core/agent_helpers.d.ts.map +1 -0
  42. package/dist/core/agent_helpers.js +477 -0
  43. package/dist/core/agent_helpers.js.map +1 -0
  44. package/dist/core/bus.d.ts +99 -0
  45. package/dist/core/bus.d.ts.map +1 -0
  46. package/dist/core/bus.js +191 -0
  47. package/dist/core/bus.js.map +1 -0
  48. package/dist/core/cache.d.ts +63 -0
  49. package/dist/core/cache.d.ts.map +1 -0
  50. package/dist/core/cache.js +121 -0
  51. package/dist/core/cache.js.map +1 -0
  52. package/dist/core/checkpoint.d.ts +19 -0
  53. package/dist/core/checkpoint.d.ts.map +1 -0
  54. package/dist/core/checkpoint.js +120 -0
  55. package/dist/core/checkpoint.js.map +1 -0
  56. package/dist/core/circuit_breaker.d.ts +46 -0
  57. package/dist/core/circuit_breaker.d.ts.map +1 -0
  58. package/dist/core/circuit_breaker.js +99 -0
  59. package/dist/core/circuit_breaker.js.map +1 -0
  60. package/dist/core/config.d.ts +97 -0
  61. package/dist/core/config.d.ts.map +1 -0
  62. package/dist/core/config.js +281 -0
  63. package/dist/core/config.js.map +1 -0
  64. package/dist/core/constants.d.ts +78 -0
  65. package/dist/core/constants.d.ts.map +1 -0
  66. package/dist/core/constants.js +84 -0
  67. package/dist/core/constants.js.map +1 -0
  68. package/dist/core/factory.d.ts +63 -0
  69. package/dist/core/factory.d.ts.map +1 -0
  70. package/dist/core/factory.js +537 -0
  71. package/dist/core/factory.js.map +1 -0
  72. package/dist/core/icons.d.ts +28 -0
  73. package/dist/core/icons.d.ts.map +1 -0
  74. package/dist/core/icons.js +86 -0
  75. package/dist/core/icons.js.map +1 -0
  76. package/dist/core/index.d.ts +29 -0
  77. package/dist/core/index.d.ts.map +1 -0
  78. package/dist/core/index.js +54 -0
  79. package/dist/core/index.js.map +1 -0
  80. package/dist/core/llm.d.ts +121 -0
  81. package/dist/core/llm.d.ts.map +1 -0
  82. package/dist/core/llm.js +532 -0
  83. package/dist/core/llm.js.map +1 -0
  84. package/dist/core/logger.d.ts +57 -0
  85. package/dist/core/logger.d.ts.map +1 -0
  86. package/dist/core/logger.js +122 -0
  87. package/dist/core/logger.js.map +1 -0
  88. package/dist/core/mcp.d.ts +190 -0
  89. package/dist/core/mcp.d.ts.map +1 -0
  90. package/dist/core/mcp.js +822 -0
  91. package/dist/core/mcp.js.map +1 -0
  92. package/dist/core/mcp_server.d.ts +26 -0
  93. package/dist/core/mcp_server.d.ts.map +1 -0
  94. package/dist/core/mcp_server.js +211 -0
  95. package/dist/core/mcp_server.js.map +1 -0
  96. package/dist/core/memory.d.ts +190 -0
  97. package/dist/core/memory.d.ts.map +1 -0
  98. package/dist/core/memory.js +988 -0
  99. package/dist/core/memory.js.map +1 -0
  100. package/dist/core/middleware.d.ts +114 -0
  101. package/dist/core/middleware.d.ts.map +1 -0
  102. package/dist/core/middleware.js +248 -0
  103. package/dist/core/middleware.js.map +1 -0
  104. package/dist/core/pipelines.d.ts +87 -0
  105. package/dist/core/pipelines.d.ts.map +1 -0
  106. package/dist/core/pipelines.js +301 -0
  107. package/dist/core/pipelines.js.map +1 -0
  108. package/dist/core/profile.d.ts +23 -0
  109. package/dist/core/profile.d.ts.map +1 -0
  110. package/dist/core/profile.js +289 -0
  111. package/dist/core/profile.js.map +1 -0
  112. package/dist/core/router.d.ts +24 -0
  113. package/dist/core/router.d.ts.map +1 -0
  114. package/dist/core/router.js +111 -0
  115. package/dist/core/router.js.map +1 -0
  116. package/dist/core/schemas.d.ts +82 -0
  117. package/dist/core/schemas.d.ts.map +1 -0
  118. package/dist/core/schemas.js +200 -0
  119. package/dist/core/schemas.js.map +1 -0
  120. package/dist/core/semantic.d.ts +92 -0
  121. package/dist/core/semantic.d.ts.map +1 -0
  122. package/dist/core/semantic.js +175 -0
  123. package/dist/core/semantic.js.map +1 -0
  124. package/dist/core/skill.d.ts +68 -0
  125. package/dist/core/skill.d.ts.map +1 -0
  126. package/dist/core/skill.js +350 -0
  127. package/dist/core/skill.js.map +1 -0
  128. package/dist/core/tool.d.ts +99 -0
  129. package/dist/core/tool.d.ts.map +1 -0
  130. package/dist/core/tool.js +341 -0
  131. package/dist/core/tool.js.map +1 -0
  132. package/dist/core/tool_router.d.ts +29 -0
  133. package/dist/core/tool_router.d.ts.map +1 -0
  134. package/dist/core/tool_router.js +172 -0
  135. package/dist/core/tool_router.js.map +1 -0
  136. package/dist/core/workspace.d.ts +48 -0
  137. package/dist/core/workspace.d.ts.map +1 -0
  138. package/dist/core/workspace.js +179 -0
  139. package/dist/core/workspace.js.map +1 -0
  140. package/dist/plugins/loader.d.ts +17 -0
  141. package/dist/plugins/loader.d.ts.map +1 -0
  142. package/dist/plugins/loader.js +96 -0
  143. package/dist/plugins/loader.js.map +1 -0
  144. package/dist/skills/loader.d.ts +9 -0
  145. package/dist/skills/loader.d.ts.map +1 -0
  146. package/dist/skills/loader.js +78 -0
  147. package/dist/skills/loader.js.map +1 -0
  148. package/dist/tools/builtin.d.ts +10 -0
  149. package/dist/tools/builtin.d.ts.map +1 -0
  150. package/dist/tools/builtin.js +414 -0
  151. package/dist/tools/builtin.js.map +1 -0
  152. package/dist/tools/computer.d.ts +12 -0
  153. package/dist/tools/computer.d.ts.map +1 -0
  154. package/dist/tools/computer.js +326 -0
  155. package/dist/tools/computer.js.map +1 -0
  156. package/dist/tools/delegate.d.ts +10 -0
  157. package/dist/tools/delegate.d.ts.map +1 -0
  158. package/dist/tools/delegate.js +45 -0
  159. package/dist/tools/delegate.js.map +1 -0
  160. package/dist/web/server.d.ts +5 -0
  161. package/dist/web/server.d.ts.map +1 -0
  162. package/dist/web/server.js +647 -0
  163. package/dist/web/server.js.map +1 -0
  164. package/dist/web/tts.d.ts +33 -0
  165. package/dist/web/tts.d.ts.map +1 -0
  166. package/dist/web/tts.js +69 -0
  167. package/dist/web/tts.js.map +1 -0
  168. package/package.json +60 -0
  169. package/scripts/install.js +48 -0
  170. package/scripts/link.js +10 -0
  171. package/setup.bat +79 -0
  172. package/skill-test-ty2fOA/test.md +10 -0
  173. package/src/agents/dew.ts +70 -0
  174. package/src/agents/fair.ts +102 -0
  175. package/src/agents/fog.ts +48 -0
  176. package/src/agents/frost.ts +50 -0
  177. package/src/agents/rain.ts +50 -0
  178. package/src/agents/snow.ts +239 -0
  179. package/src/cli/main.ts +405 -0
  180. package/src/cli/mode.ts +58 -0
  181. package/src/core/agent.ts +1506 -0
  182. package/src/core/agent_helpers.ts +461 -0
  183. package/src/core/bus.ts +221 -0
  184. package/src/core/cache.ts +153 -0
  185. package/src/core/checkpoint.ts +94 -0
  186. package/src/core/circuit_breaker.ts +119 -0
  187. package/src/core/config.ts +341 -0
  188. package/src/core/constants.ts +95 -0
  189. package/src/core/factory.ts +627 -0
  190. package/src/core/icons.ts +53 -0
  191. package/src/core/index.ts +31 -0
  192. package/src/core/llm.ts +724 -0
  193. package/src/core/logger.ts +144 -0
  194. package/src/core/mcp.ts +953 -0
  195. package/src/core/mcp_server.ts +176 -0
  196. package/src/core/memory.ts +1169 -0
  197. package/src/core/middleware.ts +350 -0
  198. package/src/core/pipelines.ts +424 -0
  199. package/src/core/profile.ts +255 -0
  200. package/src/core/router.ts +124 -0
  201. package/src/core/schemas.ts +282 -0
  202. package/src/core/semantic.ts +211 -0
  203. package/src/core/skill.ts +342 -0
  204. package/src/core/tool.ts +427 -0
  205. package/src/core/tool_router.ts +193 -0
  206. package/src/core/workspace.ts +150 -0
  207. package/src/plugins/loader.ts +66 -0
  208. package/src/skills/loader.ts +46 -0
  209. package/src/sql.js.d.ts +29 -0
  210. package/src/tools/builtin.ts +382 -0
  211. package/src/tools/computer.ts +269 -0
  212. package/src/tools/delegate.ts +49 -0
  213. package/src/web/server.ts +634 -0
  214. package/src/web/tts.ts +93 -0
  215. package/tests/bus.test.ts +121 -0
  216. package/tests/icons.test.ts +45 -0
  217. package/tests/router.test.ts +86 -0
  218. package/tests/schemas.test.ts +51 -0
  219. package/tests/semantic.test.ts +83 -0
  220. package/tests/setup.ts +10 -0
  221. package/tests/skill.test.ts +172 -0
  222. package/tests/tool.test.ts +108 -0
  223. package/tests/tool_router.test.ts +71 -0
  224. package/tsconfig.json +37 -0
  225. 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"}