siclaw 0.1.0 → 0.1.1

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/README.md CHANGED
@@ -6,6 +6,7 @@
6
6
 
7
7
  **AI Agent platform for SRE — the collaborative AI foundation for your team**
8
8
 
9
+ [![npm](https://img.shields.io/npm/v/siclaw?logo=npm)](https://www.npmjs.com/package/siclaw)
9
10
  [![CI](https://github.com/scitix/siclaw/actions/workflows/ci.yml/badge.svg)](https://github.com/scitix/siclaw/actions/workflows/ci.yml)
10
11
  [![Node.js](https://img.shields.io/badge/Node.js-%3E%3D22-339933?logo=node.js&logoColor=white)](https://nodejs.org/)
11
12
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.9-3178C6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
@@ -19,7 +19,7 @@ export declare class ModelConfigRepository {
19
19
  authHeader: boolean;
20
20
  modelCount: number;
21
21
  }[]>;
22
- saveProvider(providerName: string, baseUrl?: string, apiKey?: string): Promise<void>;
22
+ saveProvider(providerName: string, baseUrl?: string, apiKey?: string, api?: string, authHeader?: boolean): Promise<void>;
23
23
  deleteProvider(providerName: string): Promise<void>;
24
24
  listModels(providerName?: string): Promise<{
25
25
  id: string;
@@ -27,29 +27,38 @@ export class ModelConfigRepository {
27
27
  }
28
28
  // ─── Providers ─────────────────────────────────
29
29
  async listProviders() {
30
- const rows = await this.db
30
+ const provRows = await this.db
31
31
  .select({
32
+ id: modelProviders.id,
32
33
  name: modelProviders.name,
33
34
  baseUrl: modelProviders.baseUrl,
34
35
  apiKey: modelProviders.apiKey,
35
36
  api: modelProviders.api,
36
37
  authHeader: modelProviders.authHeader,
37
38
  sortOrder: modelProviders.sortOrder,
38
- modelCount: sql `(SELECT COUNT(*) FROM model_entries WHERE provider_id = ${modelProviders.id})`,
39
39
  })
40
40
  .from(modelProviders)
41
41
  .orderBy(modelProviders.sortOrder);
42
- return rows.map((r) => ({
42
+ // Count models per provider (avoids sql.js subquery issues)
43
+ const countRows = await this.db
44
+ .select({
45
+ providerId: modelEntries.providerId,
46
+ count: sql `COUNT(*)`,
47
+ })
48
+ .from(modelEntries)
49
+ .groupBy(modelEntries.providerId);
50
+ const countMap = new Map(countRows.map((r) => [r.providerId, Number(r.count)]));
51
+ return provRows.map((r) => ({
43
52
  name: r.name,
44
53
  baseUrl: r.baseUrl ?? "",
45
54
  apiKey: r.apiKey ? "••••••" + (r.apiKey.length > 6 ? r.apiKey.slice(-4) : "") : "",
46
55
  apiKeySet: !!r.apiKey,
47
56
  api: r.api,
48
57
  authHeader: r.authHeader,
49
- modelCount: Number(r.modelCount),
58
+ modelCount: countMap.get(r.id) ?? 0,
50
59
  }));
51
60
  }
52
- async saveProvider(providerName, baseUrl, apiKey) {
61
+ async saveProvider(providerName, baseUrl, apiKey, api, authHeader) {
53
62
  const rows = await this.db
54
63
  .select()
55
64
  .from(modelProviders)
@@ -62,8 +71,8 @@ export class ModelConfigRepository {
62
71
  name: providerName,
63
72
  baseUrl: baseUrl ?? null,
64
73
  apiKey: apiKey ?? null,
65
- api: "openai-completions",
66
- authHeader: false,
74
+ api: api ?? "openai-completions",
75
+ authHeader: authHeader ?? false,
67
76
  sortOrder: 0,
68
77
  });
69
78
  return;
@@ -74,6 +83,10 @@ export class ModelConfigRepository {
74
83
  updates.baseUrl = baseUrl;
75
84
  if (apiKey !== undefined)
76
85
  updates.apiKey = apiKey;
86
+ if (api !== undefined)
87
+ updates.api = api;
88
+ if (authHeader !== undefined)
89
+ updates.authHeader = authHeader;
77
90
  await this.db
78
91
  .update(modelProviders)
79
92
  .set(updates)
@@ -1 +1 @@
1
- {"version":3,"file":"model-config-repo.js","sourceRoot":"","sources":["../../../../src/gateway/db/repositories/model-config-repo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-config-repo.js","sourceRoot":"","sources":["../../../../src/gateway/db/repositories/model-config-repo.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@
7
7
  import crypto from "node:crypto";
8
8
  import fs from "node:fs";
9
9
  import path from "node:path";
10
+ import { fileURLToPath } from "node:url";
10
11
  import { AgentBoxClient } from "./agentbox/client.js";
11
12
  import { ChatRepository } from "./db/repositories/chat-repo.js";
12
13
  import { SkillRepository } from "./db/repositories/skill-repo.js";
@@ -127,10 +128,13 @@ export function createRpcMethods(agentBoxManager, broadcast, db, sendToUser, act
127
128
  .catch((err) => {
128
129
  console.error("[rpc] Failed to initialize skills:", err);
129
130
  });
130
- // Resolve core/extension skills directory: prefer baked-in image path over NFS
131
- const builtinCoreDir = path.join(process.cwd(), "skills", "core");
131
+ // Resolve core/extension skills directory: prefer baked-in package path over NFS
132
+ // Use import.meta.url to locate the npm package root (dist/gateway/rpc-methods.js package root)
133
+ const __rpcDirname = path.dirname(fileURLToPath(import.meta.url));
134
+ const packageRoot = path.resolve(__rpcDirname, "..", "..");
135
+ const builtinCoreDir = path.join(packageRoot, "skills", "core");
132
136
  const coreSkillsDir = fs.existsSync(builtinCoreDir) ? builtinCoreDir : path.join(skillsDir, "core");
133
- const builtinExtDir = path.join(process.cwd(), "skills", "extension");
137
+ const builtinExtDir = path.join(packageRoot, "skills", "extension");
134
138
  const extSkillsDir = fs.existsSync(builtinExtDir) ? builtinExtDir : path.join(skillsDir, "extension");
135
139
  /** Resolve the filesystem dir for a builtin skill dirName (core first, then extension) */
136
140
  function resolveBuiltinSkillDir(dirName) {
@@ -595,9 +599,11 @@ export function createRpcMethods(agentBoxManager, broadcast, db, sendToUser, act
595
599
  const providerName = params.provider;
596
600
  const baseUrl = params.baseUrl;
597
601
  const apiKey = params.apiKey;
602
+ const api = params.api;
603
+ const authHeader = params.authHeader;
598
604
  if (!providerName)
599
605
  throw new Error("Missing provider name");
600
- await modelConfigRepo.saveProvider(providerName, baseUrl, apiKey);
606
+ await modelConfigRepo.saveProvider(providerName, baseUrl, apiKey, api, authHeader);
601
607
  return { ok: true };
602
608
  });
603
609
  methods.set("provider.delete", async (params, context) => {
@@ -643,6 +649,113 @@ export function createRpcMethods(agentBoxManager, broadcast, db, sendToUser, act
643
649
  await modelConfigRepo.removeModel(providerName, modelId);
644
650
  return { ok: true };
645
651
  });
652
+ methods.set("provider.testConnection", async (params, context) => {
653
+ requireAdmin(context);
654
+ const baseUrl = params.baseUrl;
655
+ const apiKey = params.apiKey;
656
+ const api = params.api ?? "openai-completions";
657
+ if (!baseUrl || !apiKey)
658
+ throw new Error("Missing required params: baseUrl, apiKey");
659
+ const controller = new AbortController();
660
+ const timeout = setTimeout(() => controller.abort(), 10000);
661
+ const base = baseUrl.replace(/\/+$/, "");
662
+ try {
663
+ if (api === "anthropic") {
664
+ // Anthropic: auth-only check via counting message tokens (free, no completion)
665
+ const res = await fetch(`${base}/v1/messages/count_tokens`, {
666
+ method: "POST",
667
+ headers: {
668
+ "Content-Type": "application/json",
669
+ "x-api-key": apiKey,
670
+ "anthropic-version": "2023-06-01",
671
+ },
672
+ body: JSON.stringify({
673
+ model: "claude-sonnet-4-20250514",
674
+ messages: [{ role: "user", content: "hi" }],
675
+ }),
676
+ signal: controller.signal,
677
+ });
678
+ if (res.ok)
679
+ return { ok: true, message: "Connection successful" };
680
+ // 404 means endpoint not available — try a simple auth header check
681
+ if (res.status === 404) {
682
+ // Any authenticated GET that returns non-401 means key is valid
683
+ const fallback = await fetch(`${base}/v1/models`, {
684
+ headers: { "x-api-key": apiKey, "anthropic-version": "2023-06-01" },
685
+ signal: controller.signal,
686
+ });
687
+ if (fallback.status !== 401 && fallback.status !== 403) {
688
+ return { ok: true, message: "Connection successful" };
689
+ }
690
+ }
691
+ const body = await res.text().catch(() => "");
692
+ return { ok: false, message: `HTTP ${res.status}: ${body.slice(0, 200)}` };
693
+ }
694
+ // OpenAI-compatible: try GET /models (auth-only, no completion)
695
+ const modelsPaths = [`${base}/models`, `${base}/v1/models`];
696
+ for (const url of modelsPaths) {
697
+ const res = await fetch(url, {
698
+ headers: { Authorization: `Bearer ${apiKey}` },
699
+ signal: controller.signal,
700
+ });
701
+ if (res.ok) {
702
+ return { ok: true, message: "Connection successful" };
703
+ }
704
+ // 401/403 = bad key — definitive failure
705
+ if (res.status === 401 || res.status === 403) {
706
+ const body = await res.text().catch(() => "");
707
+ return { ok: false, message: `Authentication failed (HTTP ${res.status})` };
708
+ }
709
+ // 404 = endpoint not found but server responded — try next path
710
+ }
711
+ // All paths returned 404: server is reachable and didn't reject the key
712
+ return { ok: true, message: "Connection successful" };
713
+ }
714
+ catch (err) {
715
+ const msg = err instanceof Error ? err.message : String(err);
716
+ return { ok: false, message: msg.includes("abort") ? "Connection timed out (10s)" : msg };
717
+ }
718
+ finally {
719
+ clearTimeout(timeout);
720
+ }
721
+ });
722
+ methods.set("provider.quickSetup", async (params, context) => {
723
+ requireAdmin(context);
724
+ if (!modelConfigRepo)
725
+ throw new Error("Database not available");
726
+ const providerName = params.provider;
727
+ const baseUrl = params.baseUrl;
728
+ const apiKey = params.apiKey;
729
+ const api = params.api ?? "openai-completions";
730
+ const authHeader = params.authHeader ?? false;
731
+ const model = params.model;
732
+ const setAsDefault = params.setAsDefault ?? true;
733
+ if (!providerName)
734
+ throw new Error("Missing provider name");
735
+ // 1. Save provider
736
+ await modelConfigRepo.saveProvider(providerName, baseUrl, apiKey, api, authHeader);
737
+ // 2. Add model if provided
738
+ if (model?.id && model?.name) {
739
+ try {
740
+ await modelConfigRepo.addModel(providerName, {
741
+ id: model.id,
742
+ name: model.name,
743
+ reasoning: model.reasoning ?? false,
744
+ contextWindow: model.contextWindow ?? 128000,
745
+ maxTokens: model.maxTokens ?? 65536,
746
+ category: model.category ?? "llm",
747
+ });
748
+ }
749
+ catch {
750
+ // Model may already exist (e.g. re-running quick setup) — that's fine
751
+ }
752
+ // 3. Set as default
753
+ if (setAsDefault) {
754
+ await modelConfigRepo.setDefault(providerName, model.id);
755
+ }
756
+ }
757
+ return { ok: true };
758
+ });
646
759
  methods.set("config.getDefaultModel", async (_params, context) => {
647
760
  requireAuth(context);
648
761
  if (!modelConfigRepo)
@@ -726,20 +839,20 @@ export function createRpcMethods(agentBoxManager, broadcast, db, sendToUser, act
726
839
  })),
727
840
  };
728
841
  }
729
- // Fallback: read from settings.json mcpServers (CLI / no-DB mode)
842
+ // Fallback: read local file (CLI / no-DB mode)
843
+ const mcpConfigPath = path.resolve(process.cwd(), "config", "mcp-servers.json");
730
844
  try {
731
- const { loadConfig } = await import("../core/config.js");
732
- const config = loadConfig();
845
+ const raw = fs.readFileSync(mcpConfigPath, "utf-8");
846
+ const config = JSON.parse(raw);
733
847
  const servers = [];
734
848
  for (const [name, serverConfig] of Object.entries(config.mcpServers ?? {})) {
735
- const cfg = serverConfig;
736
849
  servers.push({
737
850
  id: name,
738
851
  name,
739
- url: cfg.url,
740
- transport: cfg.transport ?? (cfg.url ? "streamable-http" : "stdio"),
852
+ url: serverConfig.url,
853
+ transport: serverConfig.transport ?? (serverConfig.url ? "streamable-http" : "stdio"),
741
854
  enabled: true,
742
- source: "settings",
855
+ source: "file",
743
856
  });
744
857
  }
745
858
  return { servers };