skyloom 1.14.8 → 1.15.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 (156) hide show
  1. package/.github/workflows/ci.yml +2 -2
  2. package/.github/workflows/publish.yml +51 -4
  3. package/CONVERSION_PLAN.md +191 -191
  4. package/config/default.yaml +46 -43
  5. package/config/models.yaml +928 -155
  6. package/config/providers.yaml +109 -6
  7. package/dist/agents/snow.d.ts +2 -0
  8. package/dist/agents/snow.d.ts.map +1 -1
  9. package/dist/agents/snow.js +36 -5
  10. package/dist/agents/snow.js.map +1 -1
  11. package/dist/cli/loom_chat.d.ts.map +1 -1
  12. package/dist/cli/loom_chat.js +207 -1
  13. package/dist/cli/loom_chat.js.map +1 -1
  14. package/dist/cli/main.js +190 -40
  15. package/dist/cli/main.js.map +1 -1
  16. package/dist/cli/tui.d.ts.map +1 -1
  17. package/dist/cli/tui.js +6 -31
  18. package/dist/cli/tui.js.map +1 -1
  19. package/dist/core/agent.d.ts +6 -4
  20. package/dist/core/agent.d.ts.map +1 -1
  21. package/dist/core/agent.js +61 -20
  22. package/dist/core/agent.js.map +1 -1
  23. package/dist/core/catalog.d.ts.map +1 -1
  24. package/dist/core/catalog.js +30 -9
  25. package/dist/core/catalog.js.map +1 -1
  26. package/dist/core/commands.d.ts +110 -0
  27. package/dist/core/commands.d.ts.map +1 -0
  28. package/dist/core/commands.js +633 -0
  29. package/dist/core/commands.js.map +1 -0
  30. package/dist/core/concurrency.d.ts +38 -0
  31. package/dist/core/concurrency.d.ts.map +1 -0
  32. package/dist/core/concurrency.js +65 -0
  33. package/dist/core/concurrency.js.map +1 -0
  34. package/dist/core/factory.js +16 -16
  35. package/dist/core/file_checkpoint.d.ts +9 -0
  36. package/dist/core/file_checkpoint.d.ts.map +1 -1
  37. package/dist/core/file_checkpoint.js +33 -1
  38. package/dist/core/file_checkpoint.js.map +1 -1
  39. package/dist/core/llm.d.ts.map +1 -1
  40. package/dist/core/llm.js +66 -13
  41. package/dist/core/llm.js.map +1 -1
  42. package/dist/core/memory.js +51 -51
  43. package/dist/core/schemas.d.ts +16 -0
  44. package/dist/core/schemas.d.ts.map +1 -1
  45. package/dist/core/schemas.js +32 -0
  46. package/dist/core/schemas.js.map +1 -1
  47. package/dist/core/security.d.ts.map +1 -1
  48. package/dist/core/security.js +27 -0
  49. package/dist/core/security.js.map +1 -1
  50. package/dist/core/skymd.js +14 -14
  51. package/dist/core/trace.d.ts +105 -0
  52. package/dist/core/trace.d.ts.map +1 -0
  53. package/dist/core/trace.js +213 -0
  54. package/dist/core/trace.js.map +1 -0
  55. package/dist/tools/builtin.d.ts +2 -6
  56. package/dist/tools/builtin.d.ts.map +1 -1
  57. package/dist/tools/builtin.js +18 -111
  58. package/dist/tools/builtin.js.map +1 -1
  59. package/dist/tools/extra.d.ts +13 -0
  60. package/dist/tools/extra.d.ts.map +1 -0
  61. package/dist/tools/extra.js +827 -0
  62. package/dist/tools/extra.js.map +1 -0
  63. package/dist/tools/guards.d.ts +12 -0
  64. package/dist/tools/guards.d.ts.map +1 -0
  65. package/dist/tools/guards.js +143 -0
  66. package/dist/tools/guards.js.map +1 -0
  67. package/dist/tools/model_tool.d.ts.map +1 -1
  68. package/dist/tools/model_tool.js +24 -4
  69. package/dist/tools/model_tool.js.map +1 -1
  70. package/dist/web/markdown.d.ts +32 -0
  71. package/dist/web/markdown.d.ts.map +1 -0
  72. package/dist/web/markdown.js +202 -0
  73. package/dist/web/markdown.js.map +1 -0
  74. package/dist/web/server.d.ts +4 -0
  75. package/dist/web/server.d.ts.map +1 -1
  76. package/dist/web/server.js +14 -582
  77. package/dist/web/server.js.map +1 -1
  78. package/dist/web/ui.d.ts +31 -0
  79. package/dist/web/ui.d.ts.map +1 -0
  80. package/dist/web/ui.js +1009 -0
  81. package/dist/web/ui.js.map +1 -0
  82. package/docs/AESTHETIC_DESIGN.md +152 -152
  83. package/docs/OPTIMIZATION_PLAN.md +178 -178
  84. package/package.json +1 -1
  85. package/src/agents/snow.ts +38 -5
  86. package/src/cli/commands_md.ts +112 -112
  87. package/src/cli/input_macros.ts +83 -83
  88. package/src/cli/loom.ts +1041 -1041
  89. package/src/cli/loom_chat.ts +772 -603
  90. package/src/cli/main.ts +853 -723
  91. package/src/cli/tui.ts +264 -289
  92. package/src/core/agent/guard.ts +133 -133
  93. package/src/core/agent/task.ts +100 -100
  94. package/src/core/agent.ts +1630 -1590
  95. package/src/core/agent_helpers.ts +500 -500
  96. package/src/core/bus.ts +221 -221
  97. package/src/core/cache.ts +153 -153
  98. package/src/core/catalog.ts +199 -178
  99. package/src/core/circuit_breaker.ts +119 -119
  100. package/src/core/commands.ts +704 -0
  101. package/src/core/concurrency.ts +73 -0
  102. package/src/core/config.ts +365 -365
  103. package/src/core/constants.ts +95 -95
  104. package/src/core/factory.ts +656 -656
  105. package/src/core/file_checkpoint.ts +163 -136
  106. package/src/core/hooks.ts +126 -126
  107. package/src/core/llm.ts +972 -915
  108. package/src/core/logger.ts +143 -143
  109. package/src/core/mcp.ts +1001 -1001
  110. package/src/core/memory.ts +1201 -1201
  111. package/src/core/middleware.ts +350 -350
  112. package/src/core/model_config.ts +159 -159
  113. package/src/core/pipelines.ts +424 -424
  114. package/src/core/schemas.ts +319 -282
  115. package/src/core/security.ts +27 -0
  116. package/src/core/semantic.ts +211 -211
  117. package/src/core/skill.ts +384 -384
  118. package/src/core/skymd.ts +143 -143
  119. package/src/core/theme.ts +65 -65
  120. package/src/core/tool.ts +457 -457
  121. package/src/core/trace.ts +236 -0
  122. package/src/core/verify.ts +71 -71
  123. package/src/plugins/loader.ts +91 -91
  124. package/src/skills/loader.ts +75 -75
  125. package/src/tools/builtin.ts +571 -642
  126. package/src/tools/computer.ts +279 -279
  127. package/src/tools/extra.ts +662 -0
  128. package/src/tools/guards.ts +82 -0
  129. package/src/tools/model_tool.ts +93 -74
  130. package/src/tools/todo.ts +76 -76
  131. package/src/web/markdown.ts +193 -0
  132. package/src/web/server.ts +117 -693
  133. package/src/web/ui.ts +949 -0
  134. package/tests/agent.test.ts +211 -159
  135. package/tests/agent_helpers.test.ts +48 -48
  136. package/tests/catalog.test.ts +86 -86
  137. package/tests/checkpoint_commands.test.ts +124 -124
  138. package/tests/claude_compat.test.ts +110 -110
  139. package/tests/commands.test.ts +103 -0
  140. package/tests/concurrency.test.ts +102 -0
  141. package/tests/config.test.ts +41 -41
  142. package/tests/extra_tools.test.ts +212 -0
  143. package/tests/fence_plugin.test.ts +52 -52
  144. package/tests/guard.test.ts +75 -75
  145. package/tests/loom.test.ts +337 -337
  146. package/tests/memory.test.ts +170 -170
  147. package/tests/model_config.test.ts +109 -109
  148. package/tests/skymd.test.ts +146 -146
  149. package/tests/ssrf.test.ts +38 -38
  150. package/tests/structured_retry.test.ts +87 -0
  151. package/tests/task.test.ts +60 -60
  152. package/tests/todo_toolstats.test.ts +94 -94
  153. package/tests/trace.test.ts +128 -0
  154. package/tests/tui.test.ts +67 -67
  155. package/tests/web.test.ts +169 -0
  156. package/tsconfig.json +38 -38
@@ -1,95 +1,95 @@
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
- /**
8
- * Sentinel returned by the task_done tool. When the LLM calls
9
- * task_done, the chat-stream loop detects this value in the tool
10
- * result and terminates the turn cleanly (no truncation warning).
11
- */
12
- export const TASK_DONE_SENTINEL = "__TASK_DONE__";
13
-
14
- /**
15
- * Valid agent names in the system
16
- */
17
- export const VALID_AGENTS = Object.freeze({
18
- fog: "fog",
19
- rain: "rain",
20
- frost: "frost",
21
- snow: "snow",
22
- dew: "dew",
23
- fair: "fair",
24
- } as const);
25
-
26
- /**
27
- * Agent type union
28
- */
29
- export type AgentType = keyof typeof VALID_AGENTS;
30
-
31
- /**
32
- * Agent roles and descriptions
33
- */
34
- export const AGENT_DESCRIPTIONS: Record<AgentType, string> = {
35
- fog: "Research & Analysis — explore, investigate, analyze",
36
- rain: "Code Generation — create, implement, generate",
37
- frost: "Review & Optimization — critique, optimize, verify",
38
- snow: "Planning & Orchestration — plan, decompose, coordinate",
39
- dew: "DevOps & Execution — operate, deploy, execute",
40
- fair: "Emotional Companion — comfort, encourage, advise",
41
- };
42
-
43
- /**
44
- * Default tool timeout in milliseconds
45
- */
46
- export const DEFAULT_TOOL_TIMEOUT = 30000; // 30 seconds
47
-
48
- /**
49
- * Maximum retries for tool execution
50
- */
51
- export const MAX_TOOL_RETRIES = 3;
52
-
53
- /**
54
- * Memory layer configuration
55
- */
56
- export const MEMORY_LAYERS = Object.freeze({
57
- SHORT_TERM: "short_term",
58
- WORKING: "working",
59
- LONG_TERM: "long_term",
60
- } as const);
61
-
62
- /**
63
- * Response types
64
- */
65
- export const RESPONSE_TYPES = Object.freeze({
66
- TEXT: "text",
67
- TOOL_CALL: "tool_call",
68
- TOOL_RESULT: "tool_result",
69
- ERROR: "error",
70
- } as const);
71
-
72
- /**
73
- * Log levels
74
- */
75
- export const LOG_LEVELS = Object.freeze({
76
- DEBUG: 0,
77
- INFO: 1,
78
- WARN: 2,
79
- ERROR: 3,
80
- } as const);
81
-
82
- /**
83
- * Maximum context window (tokens)
84
- */
85
- export const MAX_CONTEXT_TOKENS = 100000;
86
-
87
- /**
88
- * Routing modes for CLI
89
- */
90
- export const ROUTING_MODES = Object.freeze({
91
- DIRECT: "direct",
92
- SINGLE: "single",
93
- ORCHESTRATE: "orchestrate",
94
- AUTO: "auto",
95
- } as const);
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
+ /**
8
+ * Sentinel returned by the task_done tool. When the LLM calls
9
+ * task_done, the chat-stream loop detects this value in the tool
10
+ * result and terminates the turn cleanly (no truncation warning).
11
+ */
12
+ export const TASK_DONE_SENTINEL = "__TASK_DONE__";
13
+
14
+ /**
15
+ * Valid agent names in the system
16
+ */
17
+ export const VALID_AGENTS = Object.freeze({
18
+ fog: "fog",
19
+ rain: "rain",
20
+ frost: "frost",
21
+ snow: "snow",
22
+ dew: "dew",
23
+ fair: "fair",
24
+ } as const);
25
+
26
+ /**
27
+ * Agent type union
28
+ */
29
+ export type AgentType = keyof typeof VALID_AGENTS;
30
+
31
+ /**
32
+ * Agent roles and descriptions
33
+ */
34
+ export const AGENT_DESCRIPTIONS: Record<AgentType, string> = {
35
+ fog: "Research & Analysis — explore, investigate, analyze",
36
+ rain: "Code Generation — create, implement, generate",
37
+ frost: "Review & Optimization — critique, optimize, verify",
38
+ snow: "Planning & Orchestration — plan, decompose, coordinate",
39
+ dew: "DevOps & Execution — operate, deploy, execute",
40
+ fair: "Emotional Companion — comfort, encourage, advise",
41
+ };
42
+
43
+ /**
44
+ * Default tool timeout in milliseconds
45
+ */
46
+ export const DEFAULT_TOOL_TIMEOUT = 30000; // 30 seconds
47
+
48
+ /**
49
+ * Maximum retries for tool execution
50
+ */
51
+ export const MAX_TOOL_RETRIES = 3;
52
+
53
+ /**
54
+ * Memory layer configuration
55
+ */
56
+ export const MEMORY_LAYERS = Object.freeze({
57
+ SHORT_TERM: "short_term",
58
+ WORKING: "working",
59
+ LONG_TERM: "long_term",
60
+ } as const);
61
+
62
+ /**
63
+ * Response types
64
+ */
65
+ export const RESPONSE_TYPES = Object.freeze({
66
+ TEXT: "text",
67
+ TOOL_CALL: "tool_call",
68
+ TOOL_RESULT: "tool_result",
69
+ ERROR: "error",
70
+ } as const);
71
+
72
+ /**
73
+ * Log levels
74
+ */
75
+ export const LOG_LEVELS = Object.freeze({
76
+ DEBUG: 0,
77
+ INFO: 1,
78
+ WARN: 2,
79
+ ERROR: 3,
80
+ } as const);
81
+
82
+ /**
83
+ * Maximum context window (tokens)
84
+ */
85
+ export const MAX_CONTEXT_TOKENS = 100000;
86
+
87
+ /**
88
+ * Routing modes for CLI
89
+ */
90
+ export const ROUTING_MODES = Object.freeze({
91
+ DIRECT: "direct",
92
+ SINGLE: "single",
93
+ ORCHESTRATE: "orchestrate",
94
+ AUTO: "auto",
95
+ } as const);