siclaw 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/README.md +75 -114
  2. package/dist/agentbox/gateway-client.d.ts +2 -1
  3. package/dist/agentbox/gateway-client.js +6 -2
  4. package/dist/agentbox/gateway-client.js.map +1 -1
  5. package/dist/agentbox/http-server.js +184 -19
  6. package/dist/agentbox/http-server.js.map +1 -1
  7. package/dist/agentbox/resource-handlers.d.ts +1 -0
  8. package/dist/agentbox/resource-handlers.js +23 -23
  9. package/dist/agentbox/resource-handlers.js.map +1 -1
  10. package/dist/agentbox/session.js +85 -5
  11. package/dist/agentbox/session.js.map +1 -1
  12. package/dist/agentbox-main.d.ts +2 -1
  13. package/dist/agentbox-main.js +65 -18
  14. package/dist/agentbox-main.js.map +1 -1
  15. package/dist/cli-credentials.d.ts +1 -0
  16. package/dist/cli-credentials.js +109 -0
  17. package/dist/cli-credentials.js.map +1 -0
  18. package/dist/cli-first-run.d.ts +11 -0
  19. package/dist/cli-first-run.js +99 -0
  20. package/dist/cli-first-run.js.map +1 -0
  21. package/dist/cli-main.js +33 -11
  22. package/dist/cli-main.js.map +1 -1
  23. package/dist/cli-setup.d.ts +5 -11
  24. package/dist/cli-setup.js +12 -225
  25. package/dist/cli-setup.js.map +1 -1
  26. package/dist/core/agent-factory.d.ts +4 -0
  27. package/dist/core/agent-factory.js +102 -151
  28. package/dist/core/agent-factory.js.map +1 -1
  29. package/dist/core/config.d.ts +10 -3
  30. package/dist/core/config.js +11 -95
  31. package/dist/core/config.js.map +1 -1
  32. package/dist/core/extensions/deep-investigation.d.ts +2 -1
  33. package/dist/core/extensions/deep-investigation.js +144 -24
  34. package/dist/core/extensions/deep-investigation.js.map +1 -1
  35. package/dist/core/extensions/setup.d.ts +8 -0
  36. package/dist/core/extensions/setup.js +669 -0
  37. package/dist/core/extensions/setup.js.map +1 -0
  38. package/dist/core/llm-proxy.js +7 -3
  39. package/dist/core/llm-proxy.js.map +1 -1
  40. package/dist/core/mcp-client.d.ts +0 -10
  41. package/dist/core/mcp-client.js +0 -65
  42. package/dist/core/mcp-client.js.map +1 -1
  43. package/dist/core/prompt.d.ts +1 -1
  44. package/dist/core/prompt.js +42 -5
  45. package/dist/core/prompt.js.map +1 -1
  46. package/dist/core/provider-presets.d.ts +14 -0
  47. package/dist/core/provider-presets.js +81 -0
  48. package/dist/core/provider-presets.js.map +1 -0
  49. package/dist/cron/cron-coordinator.d.ts +2 -0
  50. package/dist/cron/cron-coordinator.js +46 -14
  51. package/dist/cron/cron-coordinator.js.map +1 -1
  52. package/dist/cron/cron-executor.js +33 -8
  53. package/dist/cron/cron-executor.js.map +1 -1
  54. package/dist/cron/cron-scheduler.d.ts +1 -1
  55. package/dist/cron/gateway-client.d.ts +5 -0
  56. package/dist/cron/gateway-client.js +43 -8
  57. package/dist/cron/gateway-client.js.map +1 -1
  58. package/dist/cron-main.js +39 -9
  59. package/dist/cron-main.js.map +1 -1
  60. package/dist/gateway/agentbox/client.d.ts +11 -0
  61. package/dist/gateway/agentbox/client.js +18 -0
  62. package/dist/gateway/agentbox/client.js.map +1 -1
  63. package/dist/gateway/agentbox/k8s-spawner.d.ts +11 -2
  64. package/dist/gateway/agentbox/k8s-spawner.js +95 -52
  65. package/dist/gateway/agentbox/k8s-spawner.js.map +1 -1
  66. package/dist/gateway/agentbox/local-spawner.d.ts +1 -1
  67. package/dist/gateway/agentbox/local-spawner.js +4 -2
  68. package/dist/gateway/agentbox/local-spawner.js.map +1 -1
  69. package/dist/gateway/agentbox/manager.d.ts +0 -10
  70. package/dist/gateway/agentbox/manager.js +11 -30
  71. package/dist/gateway/agentbox/manager.js.map +1 -1
  72. package/dist/gateway/agentbox/types.d.ts +6 -4
  73. package/dist/gateway/cron/cron-service.d.ts +49 -0
  74. package/dist/gateway/cron/cron-service.js +259 -0
  75. package/dist/gateway/cron/cron-service.js.map +1 -0
  76. package/dist/gateway/db/init-schema.js +44 -0
  77. package/dist/gateway/db/init-schema.js.map +1 -1
  78. package/dist/gateway/db/migrate-sqlite.js +73 -4
  79. package/dist/gateway/db/migrate-sqlite.js.map +1 -1
  80. package/dist/gateway/db/repositories/chat-repo.d.ts +56 -2
  81. package/dist/gateway/db/repositories/chat-repo.js +132 -2
  82. package/dist/gateway/db/repositories/chat-repo.js.map +1 -1
  83. package/dist/gateway/db/repositories/config-repo.d.ts +31 -2
  84. package/dist/gateway/db/repositories/config-repo.js +57 -7
  85. package/dist/gateway/db/repositories/config-repo.js.map +1 -1
  86. package/dist/gateway/db/repositories/env-repo.d.ts +14 -0
  87. package/dist/gateway/db/repositories/env-repo.js +15 -2
  88. package/dist/gateway/db/repositories/env-repo.js.map +1 -1
  89. package/dist/gateway/db/repositories/model-config-repo.d.ts +1 -1
  90. package/dist/gateway/db/repositories/model-config-repo.js +26 -12
  91. package/dist/gateway/db/repositories/model-config-repo.js.map +1 -1
  92. package/dist/gateway/db/repositories/skill-repo.d.ts +0 -5
  93. package/dist/gateway/db/repositories/skill-review-repo.d.ts +1 -0
  94. package/dist/gateway/db/repositories/skill-review-repo.js +4 -1
  95. package/dist/gateway/db/repositories/skill-review-repo.js.map +1 -1
  96. package/dist/gateway/db/repositories/skill-version-repo.js +0 -1
  97. package/dist/gateway/db/repositories/skill-version-repo.js.map +1 -1
  98. package/dist/gateway/db/repositories/system-config-repo.d.ts +1 -1
  99. package/dist/gateway/db/repositories/system-config-repo.js +2 -1
  100. package/dist/gateway/db/repositories/system-config-repo.js.map +1 -1
  101. package/dist/gateway/db/repositories/user-env-config-repo.d.ts +13 -0
  102. package/dist/gateway/db/repositories/user-env-config-repo.js +11 -0
  103. package/dist/gateway/db/repositories/user-env-config-repo.js.map +1 -1
  104. package/dist/gateway/db/repositories/workspace-repo.d.ts +3 -2
  105. package/dist/gateway/db/repositories/workspace-repo.js +6 -2
  106. package/dist/gateway/db/repositories/workspace-repo.js.map +1 -1
  107. package/dist/gateway/db/schema-mysql.d.ts +473 -51
  108. package/dist/gateway/db/schema-mysql.js +35 -4
  109. package/dist/gateway/db/schema-mysql.js.map +1 -1
  110. package/dist/gateway/db/schema-sqlite.d.ts +522 -57
  111. package/dist/gateway/db/schema-sqlite.js +38 -6
  112. package/dist/gateway/db/schema-sqlite.js.map +1 -1
  113. package/dist/gateway/db/schema.d.ts +471 -51
  114. package/dist/gateway/db/schema.js +1 -1
  115. package/dist/gateway/db/schema.js.map +1 -1
  116. package/dist/gateway/metrics-aggregator.d.ts +65 -0
  117. package/dist/gateway/metrics-aggregator.js +244 -0
  118. package/dist/gateway/metrics-aggregator.js.map +1 -0
  119. package/dist/gateway/plugins/channel-bridge.d.ts +4 -1
  120. package/dist/gateway/plugins/channel-bridge.js +78 -86
  121. package/dist/gateway/plugins/channel-bridge.js.map +1 -1
  122. package/dist/gateway/rpc-methods.d.ts +4 -2
  123. package/dist/gateway/rpc-methods.js +962 -163
  124. package/dist/gateway/rpc-methods.js.map +1 -1
  125. package/dist/gateway/security/cert-manager.d.ts +2 -2
  126. package/dist/gateway/security/cert-manager.js +4 -2
  127. package/dist/gateway/security/cert-manager.js.map +1 -1
  128. package/dist/gateway/server.d.ts +4 -8
  129. package/dist/gateway/server.js +297 -261
  130. package/dist/gateway/server.js.map +1 -1
  131. package/dist/gateway/skills/file-writer.js +17 -11
  132. package/dist/gateway/skills/file-writer.js.map +1 -1
  133. package/dist/gateway/skills/script-evaluator.js +12 -9
  134. package/dist/gateway/skills/script-evaluator.js.map +1 -1
  135. package/dist/gateway/web/dist/assets/index-0p17ZeTP.js +740 -0
  136. package/dist/gateway/web/dist/assets/index-9eP6nPUq.js +741 -0
  137. package/dist/gateway/web/dist/assets/index-9eP6nPUq.js.map +1 -0
  138. package/dist/gateway/web/dist/assets/index-CAmSY91d.js +675 -0
  139. package/dist/gateway/web/dist/assets/index-DMFEh8Pp.css +1 -0
  140. package/dist/gateway/web/dist/assets/index-DyowBCEj.css +1 -0
  141. package/dist/gateway/web/dist/assets/index-PDK5JJDO.css +1 -0
  142. package/dist/gateway/web/dist/index.html +2 -2
  143. package/dist/gateway-main.js +27 -10
  144. package/dist/gateway-main.js.map +1 -1
  145. package/dist/memory/embeddings.js +5 -4
  146. package/dist/memory/embeddings.js.map +1 -1
  147. package/dist/memory/indexer.d.ts +23 -3
  148. package/dist/memory/indexer.js +235 -23
  149. package/dist/memory/indexer.js.map +1 -1
  150. package/dist/memory/schema.js +15 -1
  151. package/dist/memory/schema.js.map +1 -1
  152. package/dist/memory/types.d.ts +18 -0
  153. package/dist/memory/types.js +6 -1
  154. package/dist/memory/types.js.map +1 -1
  155. package/dist/shared/detect-language.d.ts +12 -0
  156. package/dist/shared/detect-language.js +78 -0
  157. package/dist/shared/detect-language.js.map +1 -0
  158. package/dist/shared/diagnostic-events.d.ts +70 -0
  159. package/dist/shared/diagnostic-events.js +38 -0
  160. package/dist/shared/diagnostic-events.js.map +1 -0
  161. package/dist/shared/local-collector.d.ts +56 -0
  162. package/dist/shared/local-collector.js +284 -0
  163. package/dist/shared/local-collector.js.map +1 -0
  164. package/dist/shared/metrics-types.d.ts +64 -0
  165. package/dist/shared/metrics-types.js +25 -0
  166. package/dist/shared/metrics-types.js.map +1 -0
  167. package/dist/shared/metrics.d.ts +19 -0
  168. package/dist/shared/metrics.js +185 -0
  169. package/dist/shared/metrics.js.map +1 -0
  170. package/dist/shared/path-utils.d.ts +15 -0
  171. package/dist/shared/path-utils.js +23 -0
  172. package/dist/shared/path-utils.js.map +1 -0
  173. package/dist/shared/retry.d.ts +35 -0
  174. package/dist/shared/retry.js +61 -0
  175. package/dist/shared/retry.js.map +1 -0
  176. package/dist/tools/command-sets.d.ts +18 -2
  177. package/dist/tools/command-sets.js +207 -32
  178. package/dist/tools/command-sets.js.map +1 -1
  179. package/dist/tools/command-validator.d.ts +56 -0
  180. package/dist/tools/command-validator.js +357 -0
  181. package/dist/tools/command-validator.js.map +1 -0
  182. package/dist/tools/create-skill.js +26 -1
  183. package/dist/tools/create-skill.js.map +1 -1
  184. package/dist/tools/credential-list.js +1 -23
  185. package/dist/tools/credential-list.js.map +1 -1
  186. package/dist/tools/credential-manager.d.ts +98 -0
  187. package/dist/tools/credential-manager.js +313 -0
  188. package/dist/tools/credential-manager.js.map +1 -0
  189. package/dist/tools/deep-search/engine.js +184 -127
  190. package/dist/tools/deep-search/engine.js.map +1 -1
  191. package/dist/tools/deep-search/prompts.d.ts +10 -2
  192. package/dist/tools/deep-search/prompts.js +37 -36
  193. package/dist/tools/deep-search/prompts.js.map +1 -1
  194. package/dist/tools/deep-search/schemas.d.ts +87 -0
  195. package/dist/tools/deep-search/schemas.js +85 -0
  196. package/dist/tools/deep-search/schemas.js.map +1 -0
  197. package/dist/tools/deep-search/sub-agent.d.ts +21 -0
  198. package/dist/tools/deep-search/sub-agent.js +153 -4
  199. package/dist/tools/deep-search/sub-agent.js.map +1 -1
  200. package/dist/tools/deep-search/tool.js +1 -0
  201. package/dist/tools/deep-search/tool.js.map +1 -1
  202. package/dist/tools/deep-search/types.d.ts +2 -0
  203. package/dist/tools/deep-search/types.js.map +1 -1
  204. package/dist/tools/dp-tools.js +29 -5
  205. package/dist/tools/dp-tools.js.map +1 -1
  206. package/dist/tools/exec-utils.d.ts +85 -0
  207. package/dist/tools/exec-utils.js +294 -0
  208. package/dist/tools/exec-utils.js.map +1 -0
  209. package/dist/tools/fork-skill.js +14 -2
  210. package/dist/tools/fork-skill.js.map +1 -1
  211. package/dist/tools/investigation-feedback.d.ts +3 -0
  212. package/dist/tools/investigation-feedback.js +71 -0
  213. package/dist/tools/investigation-feedback.js.map +1 -0
  214. package/dist/tools/manage-schedule.js +16 -6
  215. package/dist/tools/manage-schedule.js.map +1 -1
  216. package/dist/tools/netns-script.js +27 -281
  217. package/dist/tools/netns-script.js.map +1 -1
  218. package/dist/tools/node-exec.d.ts +2 -14
  219. package/dist/tools/node-exec.js +18 -225
  220. package/dist/tools/node-exec.js.map +1 -1
  221. package/dist/tools/node-script.js +14 -168
  222. package/dist/tools/node-script.js.map +1 -1
  223. package/dist/tools/pod-exec.d.ts +1 -1
  224. package/dist/tools/pod-exec.js +10 -26
  225. package/dist/tools/pod-exec.js.map +1 -1
  226. package/dist/tools/pod-nsenter-exec.js +21 -225
  227. package/dist/tools/pod-nsenter-exec.js.map +1 -1
  228. package/dist/tools/pod-script.js +10 -19
  229. package/dist/tools/pod-script.js.map +1 -1
  230. package/dist/tools/restricted-bash.d.ts +1 -17
  231. package/dist/tools/restricted-bash.js +38 -252
  232. package/dist/tools/restricted-bash.js.map +1 -1
  233. package/dist/tools/run-skill.d.ts +3 -1
  234. package/dist/tools/run-skill.js +21 -1
  235. package/dist/tools/run-skill.js.map +1 -1
  236. package/dist/tools/script-resolver.d.ts +3 -1
  237. package/dist/tools/script-resolver.js +74 -30
  238. package/dist/tools/script-resolver.js.map +1 -1
  239. package/dist/tools/update-skill.js +17 -6
  240. package/dist/tools/update-skill.js.map +1 -1
  241. package/package.json +8 -6
  242. package/siclaw.mjs +10 -1
  243. package/skills/core/cluster-events/SKILL.md +1 -1
  244. package/skills/core/deep-investigation/SKILL.md +11 -0
  245. package/skills/core/deployment-rollout-debug/SKILL.md +1 -1
  246. package/skills/core/dns-debug/SKILL.md +1 -0
  247. package/skills/core/meta.json +12 -1
  248. package/skills/core/networkpolicy-debug/SKILL.md +332 -0
  249. package/skills/core/node-logs/scripts/get-node-logs.sh +19 -9
  250. package/skills/core/pod-pending-debug/SKILL.md +1 -0
  251. package/skills/core/quota-debug/SKILL.md +203 -0
  252. package/skills/core/service-debug/SKILL.md +1 -0
  253. package/skills/core/statefulset-debug/SKILL.md +280 -0
  254. package/skills/core/volcano-diagnose-pod/SKILL.md +196 -0
  255. package/skills/core/volcano-diagnose-pod/scripts/diagnose-pod.sh +175 -0
  256. package/skills/core/volcano-gang-scheduling/SKILL.md +299 -0
  257. package/skills/core/volcano-job-diagnose/SKILL.md +319 -0
  258. package/skills/core/volcano-job-diagnose/scripts/diagnose-job.sh +253 -0
  259. package/skills/core/volcano-node-resources/SKILL.md +334 -0
  260. package/skills/core/volcano-node-resources/scripts/get-node-resources.sh +281 -0
  261. package/skills/core/volcano-queue-diagnose/SKILL.md +294 -0
  262. package/skills/core/volcano-queue-diagnose/scripts/diagnose-queue.sh +283 -0
  263. package/skills/core/volcano-resource-insufficient/SKILL.md +315 -0
  264. package/skills/core/volcano-scheduler-config/SKILL.md +371 -0
  265. package/skills/core/volcano-scheduler-config/scripts/get-scheduler-config.sh +297 -0
  266. package/skills/core/volcano-scheduler-logs/SKILL.md +241 -0
  267. package/skills/core/volcano-scheduler-logs/scripts/get-scheduler-logs.sh +159 -0
  268. package/skills/platform/create-skill/SKILL.md +35 -3
  269. package/skills/platform/manage-skill/SKILL.md +9 -2
  270. package/skills/platform/update-skill/SKILL.md +17 -6
package/dist/cli-setup.js CHANGED
@@ -1,125 +1,14 @@
1
1
  /**
2
- * Interactive first-run setup for TUI mode.
2
+ * Setup helpers for TUI mode.
3
3
  *
4
- * Uses Node.js readline (no pi-agent dependency) because InteractiveMode
5
- * hasn't started yet when this runs.
4
+ * The interactive setup wizard has moved to `cli-first-run.ts` (pre-session,
5
+ * @clack/prompts) and `core/extensions/setup.ts` (in-session /setup command).
6
+ * This file only exports `needsSetup()` for the startup check.
6
7
  */
7
8
  import fs from "node:fs";
8
- import readline from "node:readline";
9
- import { getConfigPath, reloadConfig } from "./core/config.js";
10
- const PRESETS = [
11
- {
12
- label: "OpenAI (GPT-4o, GPT-4o-mini)",
13
- key: "openai",
14
- baseUrl: "https://api.openai.com/v1",
15
- api: "openai-completions",
16
- models: [
17
- {
18
- id: "gpt-4o",
19
- name: "GPT-4o",
20
- reasoning: false,
21
- input: ["text"],
22
- cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
23
- contextWindow: 128000,
24
- maxTokens: 16384,
25
- compat: { supportsDeveloperRole: true, supportsUsageInStreaming: true, maxTokensField: "max_tokens" },
26
- },
27
- {
28
- id: "gpt-4o-mini",
29
- name: "GPT-4o-mini",
30
- reasoning: false,
31
- input: ["text"],
32
- cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
33
- contextWindow: 128000,
34
- maxTokens: 16384,
35
- compat: { supportsDeveloperRole: true, supportsUsageInStreaming: true, maxTokensField: "max_tokens" },
36
- },
37
- ],
38
- },
39
- {
40
- label: "Anthropic (Claude Sonnet 4, Claude Opus 4)",
41
- key: "anthropic",
42
- baseUrl: "https://api.anthropic.com/v1",
43
- api: "anthropic",
44
- models: [
45
- {
46
- id: "claude-sonnet-4-20250514",
47
- name: "Claude Sonnet 4",
48
- reasoning: true,
49
- input: ["text"],
50
- cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
51
- contextWindow: 200000,
52
- maxTokens: 16000,
53
- compat: { supportsDeveloperRole: false, supportsUsageInStreaming: true, maxTokensField: "max_tokens" },
54
- },
55
- {
56
- id: "claude-opus-4-20250514",
57
- name: "Claude Opus 4",
58
- reasoning: true,
59
- input: ["text"],
60
- cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
61
- contextWindow: 200000,
62
- maxTokens: 16000,
63
- compat: { supportsDeveloperRole: false, supportsUsageInStreaming: true, maxTokensField: "max_tokens" },
64
- },
65
- ],
66
- },
67
- {
68
- label: "Compatible API (Qwen, DeepSeek, Ollama, etc.)",
69
- key: "compatible",
70
- baseUrl: "",
71
- api: "openai-completions",
72
- needsBaseUrl: true,
73
- models: [
74
- {
75
- id: "default",
76
- name: "Default Model",
77
- reasoning: false,
78
- input: ["text"],
79
- cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
80
- contextWindow: 128000,
81
- maxTokens: 8192,
82
- compat: { supportsDeveloperRole: true, supportsUsageInStreaming: true, maxTokensField: "max_tokens" },
83
- },
84
- ],
85
- },
86
- ];
87
- // ---------------------------------------------------------------------------
88
- // Readline helpers
89
- // ---------------------------------------------------------------------------
90
- function createRl() {
91
- return readline.createInterface({ input: process.stdin, output: process.stdout });
92
- }
93
- function ask(rl, question) {
94
- return new Promise((resolve) => rl.question(question, (answer) => resolve(answer.trim())));
95
- }
96
- function askSelect(rl, prompt, options) {
97
- return new Promise((resolve) => {
98
- console.log(prompt);
99
- for (let i = 0; i < options.length; i++) {
100
- console.log(` ${i + 1}) ${options[i]}`);
101
- }
102
- const doAsk = () => {
103
- rl.question(`Choose [1-${options.length}]: `, (answer) => {
104
- const num = parseInt(answer.trim(), 10);
105
- if (num >= 1 && num <= options.length) {
106
- resolve(num - 1);
107
- }
108
- else {
109
- doAsk();
110
- }
111
- });
112
- };
113
- doAsk();
114
- });
115
- }
116
- // ---------------------------------------------------------------------------
117
- // Public API
118
- // ---------------------------------------------------------------------------
9
+ import { getConfigPath } from "./core/config.js";
119
10
  /**
120
- * Returns true if interactive setup should run:
121
- * - settings.json does not exist, OR
122
- * - providers object is empty
11
+ * Returns true if the user has no usable LLM configuration in settings.json.
123
12
  */
124
13
  export function needsSetup() {
125
14
  const configPath = getConfigPath();
@@ -131,117 +20,15 @@ export function needsSetup() {
131
20
  if (!providers || typeof providers !== "object" || Object.keys(providers).length === 0) {
132
21
  return true;
133
22
  }
23
+ // Check that at least one provider has an apiKey
24
+ for (const p of Object.values(providers)) {
25
+ if (p.apiKey)
26
+ return false;
27
+ }
28
+ return true;
134
29
  }
135
30
  catch {
136
31
  return true;
137
32
  }
138
- return false;
139
- }
140
- /**
141
- * Interactive provider configuration wizard.
142
- * Writes result to `.siclaw/config/settings.json`.
143
- */
144
- export async function runInteractiveSetup() {
145
- const rl = createRl();
146
- try {
147
- console.log("");
148
- console.log(" Welcome to Siclaw! Let's configure your AI provider.");
149
- console.log("");
150
- // 1. Select provider type
151
- const presetIdx = await askSelect(rl, " Select provider type:", PRESETS.map((p) => p.label));
152
- const preset = PRESETS[presetIdx];
153
- // 2. API Key
154
- const apiKeyInput = await ask(rl, ` API Key: `);
155
- if (!apiKeyInput) {
156
- console.log(" API key is required. Setup aborted.");
157
- return;
158
- }
159
- // Offer env-var reference storage (recommended for security)
160
- let apiKey;
161
- if (!apiKeyInput.startsWith("$")) {
162
- const storageChoice = await askSelect(rl, " How to store the API key?", [
163
- "As environment variable reference (recommended — key stays out of config files)",
164
- "Store directly in settings.json (simple but less secure)",
165
- ]);
166
- if (storageChoice === 0) {
167
- const envVarName = preset.key === "compatible"
168
- ? "SICLAW_PROVIDER_API_KEY"
169
- : `${preset.key.toUpperCase()}_API_KEY`;
170
- const suggestedName = await ask(rl, ` Env var name [${envVarName}]: `);
171
- const finalName = suggestedName || envVarName;
172
- apiKey = `$${finalName}`;
173
- console.log("");
174
- console.log(` Will store "$${finalName}" in config.`);
175
- console.log(` Make sure to set the env var before running siclaw:`);
176
- console.log(` export ${finalName}=${apiKeyInput}`);
177
- console.log("");
178
- }
179
- else {
180
- apiKey = apiKeyInput;
181
- }
182
- }
183
- else {
184
- // User already provided a $VAR reference
185
- apiKey = apiKeyInput;
186
- }
187
- // 3. Base URL (only if needed or custom)
188
- let baseUrl = preset.baseUrl;
189
- if (preset.needsBaseUrl) {
190
- const entered = await ask(rl, ` Base URL: `);
191
- if (entered)
192
- baseUrl = entered;
193
- if (!baseUrl) {
194
- console.log(" Base URL is required for compatible providers. Setup aborted.");
195
- return;
196
- }
197
- }
198
- else {
199
- const entered = await ask(rl, ` Base URL [${preset.baseUrl}]: `);
200
- if (entered)
201
- baseUrl = entered;
202
- }
203
- // 4. Model ID for compatible provider
204
- let models = preset.models;
205
- if (preset.key === "compatible") {
206
- const modelId = await ask(rl, ` Model ID [default]: `);
207
- if (modelId) {
208
- models = [{ ...models[0], id: modelId, name: modelId }];
209
- }
210
- }
211
- // 5. Build and write config
212
- const provider = {
213
- baseUrl,
214
- apiKey,
215
- api: preset.api,
216
- authHeader: true,
217
- models,
218
- };
219
- // Load existing config or start from defaults
220
- const configPath = getConfigPath();
221
- let existing = {};
222
- if (fs.existsSync(configPath)) {
223
- try {
224
- existing = JSON.parse(fs.readFileSync(configPath, "utf-8"));
225
- }
226
- catch { /* start fresh */ }
227
- }
228
- const providers = existing.providers ?? {};
229
- providers["default"] = provider;
230
- const configDir = configPath.replace(/[/\\][^/\\]+$/, "");
231
- if (!fs.existsSync(configDir)) {
232
- fs.mkdirSync(configDir, { recursive: true });
233
- }
234
- fs.writeFileSync(configPath, JSON.stringify({ ...existing, providers }, null, 2) + "\n");
235
- // Reload config cache so loadConfig() picks up the new settings
236
- reloadConfig();
237
- const modelName = models[0].name || models[0].id;
238
- console.log("");
239
- console.log(` Saved to ${configPath}`);
240
- console.log(` Model: ${modelName} | Provider: ${preset.label.split(" (")[0]}`);
241
- console.log("");
242
- }
243
- finally {
244
- rl.close();
245
- }
246
33
  }
247
34
  //# sourceMappingURL=cli-setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-setup.js","sourceRoot":"","sources":["../src/cli-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-setup.js","sourceRoot":"","sources":["../src/cli-setup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAE5C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,iDAAiD;QACjD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAU,EAAE,CAAC;YAClD,IAAI,CAAC,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;QAC7B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -48,5 +48,9 @@ export interface SiclawSessionResult {
48
48
  memoryIndexer?: MemoryIndexer;
49
49
  /** Mutable DP state — only set for SDK brain (pi-agent uses extension state) */
50
50
  dpState?: DpState;
51
+ /** Mutable ref — populated when session ID is assigned (for skill_call events) */
52
+ sessionIdRef: {
53
+ current: string;
54
+ };
51
55
  }
52
56
  export declare function createSiclawSession(opts?: CreateSiclawSessionOpts): Promise<SiclawSessionResult>;