@tianshu-ai/tianshu 0.46.0 → 0.46.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tianshu-ai/tianshu",
3
- "version": "0.46.0",
3
+ "version": "0.46.2",
4
4
  "description": "An open AI agent platform with a sidecar browser. Built in public.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/tianshu-ai/tianshu",
@@ -86,5 +86,8 @@
86
86
  },
87
87
  "bundleDependencies": [
88
88
  "@tianshu-ai/plugin-sdk"
89
- ]
89
+ ],
90
+ "optionalDependencies": {
91
+ "sherpa-onnx-node": "^1.13.7"
92
+ }
90
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"asr-admin.d.ts","sourceRoot":"","sources":["../../src/boot/asr-admin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,OAAO,EAA+B,MAAM,SAAS,CAAC;AA6FpE,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAsHtD"}
1
+ {"version":3,"file":"asr-admin.d.ts","sourceRoot":"","sources":["../../src/boot/asr-admin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,OAAO,EAA+B,MAAM,SAAS,CAAC;AAwGpE,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CA8ItD"}
@@ -9,6 +9,7 @@ import * as fs from "node:fs";
9
9
  import * as path from "node:path";
10
10
  import { createWriteStream } from "node:fs";
11
11
  import { execSync } from "node:child_process";
12
+ import { getTianshuHome } from "../core/paths.js";
12
13
  const MODELS = [
13
14
  {
14
15
  id: "paraformer-zh-small",
@@ -49,20 +50,33 @@ const MODELS = [
49
50
  ];
50
51
  // Download state
51
52
  const downloads = new Map();
53
+ /** Walk up from server dist to find the top-level package.json with the bin field. */
54
+ function findPackageRoot() {
55
+ let dir = path.resolve(import.meta.dirname ?? process.cwd());
56
+ for (let i = 0; i < 10; i++) {
57
+ const pkg = path.join(dir, "package.json");
58
+ if (fs.existsSync(pkg)) {
59
+ try {
60
+ const json = JSON.parse(fs.readFileSync(pkg, "utf8"));
61
+ if (json.bin?.tianshu || json.name === "@tianshu-ai/tianshu")
62
+ return dir;
63
+ }
64
+ catch { }
65
+ }
66
+ const parent = path.dirname(dir);
67
+ if (parent === dir)
68
+ break;
69
+ dir = parent;
70
+ }
71
+ return process.cwd();
72
+ }
52
73
  function getModelsDir() {
53
- // Try monorepo root first, then cwd
54
- for (const base of [
55
- path.resolve(process.cwd(), "..", ".."),
56
- process.cwd(),
57
- ]) {
58
- const dir = path.join(base, "models");
59
- if (fs.existsSync(dir))
60
- return dir;
74
+ // Primary: <TIANSHU_HOME>/models (works for both dev and production)
75
+ const homeDir = path.join(getTianshuHome(), "models");
76
+ if (!fs.existsSync(homeDir)) {
77
+ fs.mkdirSync(homeDir, { recursive: true });
61
78
  }
62
- // Create at monorepo root
63
- const dir = path.resolve(process.cwd(), "..", "..", "models");
64
- fs.mkdirSync(dir, { recursive: true });
65
- return dir;
79
+ return homeDir;
66
80
  }
67
81
  function isInstalled(model) {
68
82
  const modelsDir = getModelsDir();
@@ -172,6 +186,31 @@ export function mountAsrAdminRoutes(app) {
172
186
  return res.json({ status: "idle" });
173
187
  res.json(state);
174
188
  });
189
+ // Install sherpa-onnx-node runtime
190
+ app.post("/api/admin/asr/install-runtime", async (_req, res) => {
191
+ try {
192
+ // Find the tianshu package root (where package.json lives)
193
+ const pkgRoot = findPackageRoot();
194
+ if (!pkgRoot) {
195
+ res.status(500).json({ error: "Cannot find tianshu package root" });
196
+ return;
197
+ }
198
+ res.json({ ok: true, message: "installing" });
199
+ // Run in background — don't block the response
200
+ const { exec } = await import("node:child_process");
201
+ exec(`npm install sherpa-onnx-node`, { cwd: pkgRoot, timeout: 120_000 }, (err) => {
202
+ if (err) {
203
+ console.error("[asr-admin] runtime install failed:", err.message);
204
+ }
205
+ else {
206
+ console.log("[asr-admin] sherpa-onnx-node installed successfully");
207
+ }
208
+ });
209
+ }
210
+ catch (e) {
211
+ res.status(500).json({ error: String(e) });
212
+ }
213
+ });
175
214
  // Activate model
176
215
  app.post("/api/admin/asr/models/:id/activate", async (req, res) => {
177
216
  const paramId = Array.isArray(req.params.id) ? req.params.id[0] : req.params.id;
@@ -1 +1 @@
1
- {"version":3,"file":"asr-admin.js","sourceRoot":"","sources":["../../src/boot/asr-admin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asr-admin.js","sourceRoot":"","sources":["../../src/boot/asr-admin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAYlD,MAAM,MAAM,GAAe;IACzB;QACE,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,uHAAuH;QAC5H,GAAG,EAAE,4CAA4C;QACjD,WAAW,EAAE,EAAE;KAChB;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,iHAAiH;QACtH,GAAG,EAAE,sCAAsC;QAC3C,WAAW,EAAE,EAAE;KAChB;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,8BAA8B;QACpC,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,+HAA+H;QACpI,GAAG,EAAE,oDAAoD;QACzD,WAAW,EAAE,EAAE;KAChB;IACD;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,qGAAqG;QAC1G,GAAG,EAAE,0BAA0B;QAC/B,WAAW,EAAE,EAAE;KAChB;CACF,CAAC;AAEF,iBAAiB;AACjB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAwH,CAAC;AAElJ,sFAAsF;AACtF,SAAS,eAAe;IACtB,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAC3C,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;gBACtD,IAAI,IAAI,CAAC,GAAG,EAAE,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB;oBAAE,OAAO,GAAG,CAAC;YAC3E,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;AACvB,CAAC;AAED,SAAS,YAAY;IACnB,qEAAqE;IACrE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,CAAC,CAAC;IACtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAC,KAAe;IAClC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,gBAAgB;IACvB,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,sBAAsB,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;IACnG,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AAC1B,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAiB;IACzC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,sBAAsB,CAAC,CAAC;IAC5D,IAAI,EAAE;QAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;;QACnC,IAAI,CAAC;YAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,cAAc;IACd,GAAG,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QAChE,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9B,GAAG,CAAC;YACJ,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;YACzB,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,QAAQ;YACzB,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,aAAa,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,YAAY;YAC1G,gBAAgB,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;SAC9C,CAAC,CAAC,CAAC;QACJ,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,mBAAmB;IACnB,GAAG,CAAC,IAAI,CAAC,oCAAoC,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QACnF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAChF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK;YAAE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;QACpE,IAAI,WAAW,CAAC,KAAK,CAAC;YAAE,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAEpF,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,aAAa,IAAI,QAAQ,CAAC,MAAM,KAAK,YAAY,CAAC,EAAE,CAAC;YACxF,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,4BAA4B;QAC5B,MAAM,KAAK,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,aAAsB,EAAE,CAAC;QACxE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC/B,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAEpD,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC;QAE5D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAE/E,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAClD,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAExC,iDAAiD;YACjD,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,IAAI,QAAQ,GAAG,CAAC,CAAC;YAEjB,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI;oBAAE,MAAM;gBAChB,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACxB,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC;gBAC7B,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC5B,CAAC;YACD,UAAU,CAAC,GAAG,EAAE,CAAC;YACjB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YAEvE,UAAU;YACV,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAE,CAAC;YACpC,EAAE,CAAC,MAAM,GAAG,YAAY,CAAC;YACzB,QAAQ,CAAC,YAAY,OAAO,SAAS,SAAS,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACzE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEvB,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC;YACnB,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC;YACvD,yDAAyD;YACzD,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBACxB,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,gBAAgB,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;gBACpC,MAAM,cAAc,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAE,CAAC;YACpC,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC;YACpB,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,mCAAmC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YACjE,IAAI,CAAC;gBAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QAC1C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,oBAAoB;IACpB,GAAG,CAAC,GAAG,CAAC,kCAAkC,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QAC1E,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5E,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK;YAAE,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAChD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,mCAAmC;IACnC,GAAG,CAAC,IAAI,CAAC,gCAAgC,EAAE,KAAK,EAAE,IAAa,EAAE,GAAa,EAAE,EAAE;QAChF,IAAI,CAAC;YACH,2DAA2D;YAC3D,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC,CAAC;gBACpE,OAAO;YACT,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;YAC9C,+CAA+C;YAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACpD,IAAI,CAAC,8BAA8B,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC/E,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBACpE,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,iBAAiB;IACjB,GAAG,CAAC,IAAI,CAAC,oCAAoC,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QACnF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAChF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK;YAAE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAAE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACvF,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3B,2DAA2D;QAC3D,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;QACtC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,eAAe;IACf,GAAG,CAAC,MAAM,CAAC,2BAA2B,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAC5E,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK;YAAE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3B,2DAA2D;QAC3D,IAAI,gBAAgB,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;YACpC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvB,MAAM,cAAc,EAAE,CAAC,CAAC,wCAAwC;QAClE,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"asr.d.ts","sourceRoot":"","sources":["../../src/boot/asr.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,OAAO,EAA+B,MAAM,SAAS,CAAC;AAWpE,yEAAyE;AACzE,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAGvD;AA6ID,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAqDhD"}
1
+ {"version":3,"file":"asr.d.ts","sourceRoot":"","sources":["../../src/boot/asr.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,OAAO,EAA+B,MAAM,SAAS,CAAC;AASpE,yEAAyE;AACzE,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAGvD;AAkID,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAyDhD"}
@@ -10,8 +10,7 @@ import { execSync } from "node:child_process";
10
10
  import * as fs from "node:fs";
11
11
  import * as path from "node:path";
12
12
  import * as os from "node:os";
13
- import { fileURLToPath } from "node:url";
14
- const __dirname = path.dirname(fileURLToPath(import.meta.url));
13
+ import { getTianshuHome } from "../core/paths.js";
15
14
  let recognizer = null;
16
15
  /** Force reload the recognizer (called when admin activates a model). */
17
16
  export async function reloadAsrModel() {
@@ -26,45 +25,34 @@ const MODEL_CANDIDATES = [
26
25
  ];
27
26
  function getModelsRoots() {
28
27
  return [
29
- path.join(process.cwd(), "models"),
30
- path.join(process.cwd(), "..", "..", "models"),
31
- path.join(process.cwd(), "..", "models"),
32
- path.resolve(__dirname, "..", "..", "..", "..", "models"),
28
+ path.join(getTianshuHome(), "models"),
33
29
  ];
34
30
  }
35
31
  function findBestModel() {
36
- const roots = getModelsRoots();
32
+ const modelsRoot = getModelsRoots()[0];
37
33
  // Check if admin selected a specific model
38
- for (const root of roots) {
39
- const activeFile = path.join(root, "active-asr-model.txt");
40
- if (fs.existsSync(activeFile)) {
41
- const activeId = fs.readFileSync(activeFile, "utf8").trim();
42
- const selected = MODEL_CANDIDATES.find((c) => c.dirName.includes(activeId) || activeId.includes(c.dirName.split("-202")[0]));
43
- // Match by id from admin page
44
- const byId = {
45
- "paraformer-zh-small": MODEL_CANDIDATES[2],
46
- "paraformer-zh": MODEL_CANDIDATES[1],
47
- "sense-voice-zh": MODEL_CANDIDATES[0],
48
- "whisper-tiny": MODEL_CANDIDATES[3],
49
- };
50
- const pick = byId[activeId] ?? selected;
51
- if (pick) {
52
- for (const root2 of roots) {
53
- const dir = path.join(root2, pick.dirName);
54
- if (fs.existsSync(path.join(dir, pick.model))) {
55
- return { dir, type: pick.type, model: pick.model, tokens: "tokens.txt" };
56
- }
57
- }
34
+ const activeFile = path.join(modelsRoot, "active-asr-model.txt");
35
+ if (fs.existsSync(activeFile)) {
36
+ const activeId = fs.readFileSync(activeFile, "utf8").trim();
37
+ const byId = {
38
+ "paraformer-zh-small": MODEL_CANDIDATES[2],
39
+ "paraformer-zh": MODEL_CANDIDATES[1],
40
+ "sense-voice-zh": MODEL_CANDIDATES[0],
41
+ "whisper-tiny": MODEL_CANDIDATES[3],
42
+ };
43
+ const pick = byId[activeId];
44
+ if (pick) {
45
+ const dir = path.join(modelsRoot, pick.dirName);
46
+ if (fs.existsSync(path.join(dir, pick.model))) {
47
+ return { dir, type: pick.type, model: pick.model, tokens: "tokens.txt" };
58
48
  }
59
49
  }
60
50
  }
61
51
  // Fallback: auto-select best available
62
52
  for (const c of MODEL_CANDIDATES) {
63
- for (const root of roots) {
64
- const dir = path.join(root, c.dirName);
65
- if (fs.existsSync(path.join(dir, c.model)) && fs.existsSync(path.join(dir, "tokens.txt"))) {
66
- return { dir, type: c.type, model: c.model, tokens: "tokens.txt" };
67
- }
53
+ const dir = path.join(modelsRoot, c.dirName);
54
+ if (fs.existsSync(path.join(dir, c.model)) && fs.existsSync(path.join(dir, "tokens.txt"))) {
55
+ return { dir, type: c.type, model: c.model, tokens: "tokens.txt" };
68
56
  }
69
57
  }
70
58
  return null;
@@ -147,8 +135,17 @@ export function mountAsrRoute(app) {
147
135
  console.log("[asr] POST /api/transcribe ready");
148
136
  });
149
137
  // Lightweight check — frontend hides mic button when ASR is unavailable
150
- app.get("/api/transcribe/status", (_req, res) => {
151
- res.json({ available: !!recognizer });
138
+ app.get("/api/transcribe/status", async (_req, res) => {
139
+ // Check if sherpa-onnx-node is installed
140
+ let runtimeInstalled = true;
141
+ // @ts-ignore
142
+ try {
143
+ await import("sherpa-onnx-node");
144
+ }
145
+ catch {
146
+ runtimeInstalled = false;
147
+ }
148
+ res.json({ available: !!recognizer, runtimeInstalled });
152
149
  });
153
150
  app.post("/api/transcribe", async (req, res) => {
154
151
  if (!recognizer && !(await initRecognizer())) {
@@ -1 +1 @@
1
- {"version":3,"file":"asr.js","sourceRoot":"","sources":["../../src/boot/asr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asr.js","sourceRoot":"","sources":["../../src/boot/asr.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{_ as t,c as n,d as r,f as i,g as a,h as o,l as s,m as c,p as l,u,y as d}from"./index-DpyTrcwj.js";var f=e(d(),1),p=s(),m=[{id:`neo4j`,name:`Neo4j`,fields:[{key:`uri`,label:`URI`,placeholder:`bolt://localhost:7687`,required:!0},{key:`username`,label:`Username`,placeholder:`neo4j`,required:!0},{key:`password`,label:`Password`,secret:!0,required:!0},{key:`database`,label:`Database`,placeholder:`neo4j`}]},{id:`mysql`,name:`MySQL`,fields:[{key:`host`,label:`Host`,placeholder:`localhost`,required:!0},{key:`port`,label:`Port`,placeholder:`3306`},{key:`username`,label:`Username`,placeholder:`root`,required:!0},{key:`password`,label:`Password`,secret:!0,required:!0},{key:`database`,label:`Database`,required:!0}]}],h=`w-full rounded-md border border-border-default bg-bg-elevated px-3 py-1.5 text-[12px] text-fg-default outline-none placeholder:text-fg-fainter focus:border-brand-500`;function g({plugin:e}){let s=n(),d=a(e=>e.setPlugins),[g,_]=(0,f.useState)(m),[v,y]=(0,f.useState)({}),[b,x]=(0,f.useState)(!1),[S,C]=(0,f.useState)(!1),[w,T]=(0,f.useState)(null),[E,D]=(0,f.useState)({}),[O,k]=(0,f.useState)(!1),[A,j]=(0,f.useState)(``),[M,N]=(0,f.useState)(m[0]?.id??``);(0,f.useEffect)(()=>{fetch(`/api/p/datasource/types`,{credentials:`include`}).then(e=>e.ok?e.json():null).then(e=>{e?.types?.length>0&&(_(e.types),N(t=>t||e.types[0].id))}).catch(()=>{})},[]),(0,f.useEffect)(()=>{let t=e.config?.connections;t&&typeof t==`object`&&y(t)},[e.config]);function P(e,t,n){y(r=>({...r,[e]:{...r[e],[t]:n}})),x(!0)}function F(e){y(t=>{let n={...t};return delete n[e],n}),x(!0)}function I(){let e=A.trim().replace(/[^a-zA-Z0-9_-]/g,`-`);!e||v[e]||(y(t=>({...t,[e]:{type:M,description:``}})),j(``),k(!1),x(!0))}async function L(){C(!0),T(null);try{let e=await t.setPluginConfig(`datasource`,{connections:v});d(e.plugins),x(!1)}catch(e){T(e instanceof Error?e.message:String(e))}finally{C(!1)}}async function R(e){D(t=>({...t,[e]:{ok:!1,msg:`Testing...`}}));try{let t=await(await fetch(`/api/p/datasource/test/${encodeURIComponent(e)}`,{method:`POST`,credentials:`include`})).json();D(n=>({...n,[e]:{ok:!!t.ok,msg:t.ok?`Connected`:t.error||`Failed`}}))}catch(t){D(n=>({...n,[e]:{ok:!1,msg:t instanceof Error?t.message:String(t)}}))}}let z=Object.keys(v);return(0,p.jsxs)(`div`,{className:`space-y-4`,children:[z.length===0&&!O&&(0,p.jsx)(`p`,{className:`text-[12px] text-fg-faint`,children:`No data sources configured.`}),z.map(e=>{let t=v[e],n=g.find(e=>e.id===t.type),i=E[e];return(0,p.jsxs)(`div`,{className:`rounded-lg border border-border-subtle p-3 space-y-2`,children:[(0,p.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,p.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,p.jsx)(`span`,{className:`text-[13px] font-medium text-fg-default`,children:e}),(0,p.jsx)(`span`,{className:`rounded bg-bg-raised px-1.5 py-0.5 text-[10px] text-fg-faint`,children:t.type})]}),(0,p.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,p.jsxs)(`button`,{type:`button`,onClick:()=>R(e),disabled:b,className:`inline-flex items-center gap-1 rounded px-2 py-1 text-[11px] text-fg-muted hover:bg-bg-raised disabled:opacity-40`,title:b?`Save first`:`Test connection`,children:[(0,p.jsx)(u,{size:12}),` Test`]}),(0,p.jsx)(`button`,{type:`button`,onClick:()=>F(e),className:`rounded p-1 text-fg-faint hover:bg-bg-raised hover:text-danger`,children:(0,p.jsx)(r,{size:12})})]})]}),i&&(0,p.jsxs)(`div`,{className:`flex items-center gap-1 text-[11px] ${i.ok?`text-success`:`text-danger`}`,children:[i.ok?(0,p.jsx)(o,{size:12}):(0,p.jsx)(c,{size:12}),i.msg]}),(0,p.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,p.jsxs)(`div`,{children:[(0,p.jsx)(`label`,{className:`mb-0.5 block text-[11px] text-fg-faint`,children:`Description`}),(0,p.jsx)(`input`,{className:h,value:String(t.description??``),onChange:t=>P(e,`description`,t.target.value),placeholder:`Optional description`,autoComplete:`off`})]}),n?.fields.map(n=>(0,p.jsxs)(`div`,{children:[(0,p.jsxs)(`label`,{className:`mb-0.5 block text-[11px] text-fg-faint`,children:[n.label,n.required?` *`:``]}),(0,p.jsx)(`input`,{className:h,type:n.secret?`password`:`text`,value:String(t[n.key]??``),onChange:t=>P(e,n.key,t.target.value),placeholder:n.placeholder,autoComplete:`off`,"data-1p-ignore":!0,"data-lpignore":`true`})]},n.key))]})]},e)}),O?(0,p.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border border-dashed border-border-default p-3`,children:[(0,p.jsx)(`input`,{className:h+` max-w-[160px]`,value:A,onChange:e=>j(e.target.value),placeholder:`Connection name`,autoComplete:`off`,autoFocus:!0,onKeyDown:e=>e.key===`Enter`&&I()}),(0,p.jsx)(`select`,{className:h+` max-w-[120px]`,value:M,onChange:e=>N(e.target.value),children:g.map(e=>(0,p.jsx)(`option`,{value:e.id,children:e.name},e.id))}),(0,p.jsx)(`button`,{type:`button`,onClick:I,disabled:!A.trim(),className:`rounded-md bg-brand-600 px-3 py-1.5 text-[12px] font-medium text-white hover:bg-brand-500 disabled:opacity-40`,children:`Add`}),(0,p.jsx)(`button`,{type:`button`,onClick:()=>k(!1),className:`text-[12px] text-fg-faint hover:text-fg-default`,children:`Cancel`})]}):(0,p.jsxs)(`button`,{type:`button`,onClick:()=>k(!0),className:`inline-flex items-center gap-1 rounded-md border border-dashed border-border-default px-3 py-1.5 text-[12px] text-fg-muted hover:bg-bg-raised`,children:[(0,p.jsx)(i,{size:12}),` Add Data Source`]}),w&&(0,p.jsx)(`div`,{className:`rounded-md border border-rose-700/50 bg-rose-950/40 px-3 py-2 text-[12px] text-danger`,children:w}),(0,p.jsx)(`div`,{className:`flex items-center gap-2 border-t border-border-subtle pt-3`,children:(0,p.jsxs)(`button`,{type:`button`,onClick:L,disabled:!b||S,className:`inline-flex items-center gap-1.5 rounded-md bg-brand-600 px-3 py-1.5 text-[12px] font-medium text-white hover:bg-brand-500 disabled:cursor-not-allowed disabled:opacity-50`,children:[S?(0,p.jsx)(l,{className:`inline h-3 w-3 animate-spin`}):null,s(`common.save`)]})})]})}export{g as DataSourceConfigForm};
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{_ as t,c as n,d as r,f as i,g as a,h as o,l as s,m as c,p as l,u,y as d}from"./index-C-8gHF3A.js";var f=e(d(),1),p=s(),m=[{id:`neo4j`,name:`Neo4j`,fields:[{key:`uri`,label:`URI`,placeholder:`bolt://localhost:7687`,required:!0},{key:`username`,label:`Username`,placeholder:`neo4j`,required:!0},{key:`password`,label:`Password`,secret:!0,required:!0},{key:`database`,label:`Database`,placeholder:`neo4j`}]},{id:`mysql`,name:`MySQL`,fields:[{key:`host`,label:`Host`,placeholder:`localhost`,required:!0},{key:`port`,label:`Port`,placeholder:`3306`},{key:`username`,label:`Username`,placeholder:`root`,required:!0},{key:`password`,label:`Password`,secret:!0,required:!0},{key:`database`,label:`Database`,required:!0}]}],h=`w-full rounded-md border border-border-default bg-bg-elevated px-3 py-1.5 text-[12px] text-fg-default outline-none placeholder:text-fg-fainter focus:border-brand-500`;function g({plugin:e}){let s=n(),d=a(e=>e.setPlugins),[g,_]=(0,f.useState)(m),[v,y]=(0,f.useState)({}),[b,x]=(0,f.useState)(!1),[S,C]=(0,f.useState)(!1),[w,T]=(0,f.useState)(null),[E,D]=(0,f.useState)({}),[O,k]=(0,f.useState)(!1),[A,j]=(0,f.useState)(``),[M,N]=(0,f.useState)(m[0]?.id??``);(0,f.useEffect)(()=>{fetch(`/api/p/datasource/types`,{credentials:`include`}).then(e=>e.ok?e.json():null).then(e=>{e?.types?.length>0&&(_(e.types),N(t=>t||e.types[0].id))}).catch(()=>{})},[]),(0,f.useEffect)(()=>{let t=e.config?.connections;t&&typeof t==`object`&&y(t)},[e.config]);function P(e,t,n){y(r=>({...r,[e]:{...r[e],[t]:n}})),x(!0)}function F(e){y(t=>{let n={...t};return delete n[e],n}),x(!0)}function I(){let e=A.trim().replace(/[^a-zA-Z0-9_-]/g,`-`);!e||v[e]||(y(t=>({...t,[e]:{type:M,description:``}})),j(``),k(!1),x(!0))}async function L(){C(!0),T(null);try{let e=await t.setPluginConfig(`datasource`,{connections:v});d(e.plugins),x(!1)}catch(e){T(e instanceof Error?e.message:String(e))}finally{C(!1)}}async function R(e){D(t=>({...t,[e]:{ok:!1,msg:`Testing...`}}));try{let t=await(await fetch(`/api/p/datasource/test/${encodeURIComponent(e)}`,{method:`POST`,credentials:`include`})).json();D(n=>({...n,[e]:{ok:!!t.ok,msg:t.ok?`Connected`:t.error||`Failed`}}))}catch(t){D(n=>({...n,[e]:{ok:!1,msg:t instanceof Error?t.message:String(t)}}))}}let z=Object.keys(v);return(0,p.jsxs)(`div`,{className:`space-y-4`,children:[z.length===0&&!O&&(0,p.jsx)(`p`,{className:`text-[12px] text-fg-faint`,children:`No data sources configured.`}),z.map(e=>{let t=v[e],n=g.find(e=>e.id===t.type),i=E[e];return(0,p.jsxs)(`div`,{className:`rounded-lg border border-border-subtle p-3 space-y-2`,children:[(0,p.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,p.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,p.jsx)(`span`,{className:`text-[13px] font-medium text-fg-default`,children:e}),(0,p.jsx)(`span`,{className:`rounded bg-bg-raised px-1.5 py-0.5 text-[10px] text-fg-faint`,children:t.type})]}),(0,p.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,p.jsxs)(`button`,{type:`button`,onClick:()=>R(e),disabled:b,className:`inline-flex items-center gap-1 rounded px-2 py-1 text-[11px] text-fg-muted hover:bg-bg-raised disabled:opacity-40`,title:b?`Save first`:`Test connection`,children:[(0,p.jsx)(u,{size:12}),` Test`]}),(0,p.jsx)(`button`,{type:`button`,onClick:()=>F(e),className:`rounded p-1 text-fg-faint hover:bg-bg-raised hover:text-danger`,children:(0,p.jsx)(r,{size:12})})]})]}),i&&(0,p.jsxs)(`div`,{className:`flex items-center gap-1 text-[11px] ${i.ok?`text-success`:`text-danger`}`,children:[i.ok?(0,p.jsx)(o,{size:12}):(0,p.jsx)(c,{size:12}),i.msg]}),(0,p.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,p.jsxs)(`div`,{children:[(0,p.jsx)(`label`,{className:`mb-0.5 block text-[11px] text-fg-faint`,children:`Description`}),(0,p.jsx)(`input`,{className:h,value:String(t.description??``),onChange:t=>P(e,`description`,t.target.value),placeholder:`Optional description`,autoComplete:`off`})]}),n?.fields.map(n=>(0,p.jsxs)(`div`,{children:[(0,p.jsxs)(`label`,{className:`mb-0.5 block text-[11px] text-fg-faint`,children:[n.label,n.required?` *`:``]}),(0,p.jsx)(`input`,{className:h,type:n.secret?`password`:`text`,value:String(t[n.key]??``),onChange:t=>P(e,n.key,t.target.value),placeholder:n.placeholder,autoComplete:`off`,"data-1p-ignore":!0,"data-lpignore":`true`})]},n.key))]})]},e)}),O?(0,p.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border border-dashed border-border-default p-3`,children:[(0,p.jsx)(`input`,{className:h+` max-w-[160px]`,value:A,onChange:e=>j(e.target.value),placeholder:`Connection name`,autoComplete:`off`,autoFocus:!0,onKeyDown:e=>e.key===`Enter`&&I()}),(0,p.jsx)(`select`,{className:h+` max-w-[120px]`,value:M,onChange:e=>N(e.target.value),children:g.map(e=>(0,p.jsx)(`option`,{value:e.id,children:e.name},e.id))}),(0,p.jsx)(`button`,{type:`button`,onClick:I,disabled:!A.trim(),className:`rounded-md bg-brand-600 px-3 py-1.5 text-[12px] font-medium text-white hover:bg-brand-500 disabled:opacity-40`,children:`Add`}),(0,p.jsx)(`button`,{type:`button`,onClick:()=>k(!1),className:`text-[12px] text-fg-faint hover:text-fg-default`,children:`Cancel`})]}):(0,p.jsxs)(`button`,{type:`button`,onClick:()=>k(!0),className:`inline-flex items-center gap-1 rounded-md border border-dashed border-border-default px-3 py-1.5 text-[12px] text-fg-muted hover:bg-bg-raised`,children:[(0,p.jsx)(i,{size:12}),` Add Data Source`]}),w&&(0,p.jsx)(`div`,{className:`rounded-md border border-rose-700/50 bg-rose-950/40 px-3 py-2 text-[12px] text-danger`,children:w}),(0,p.jsx)(`div`,{className:`flex items-center gap-2 border-t border-border-subtle pt-3`,children:(0,p.jsxs)(`button`,{type:`button`,onClick:L,disabled:!b||S,className:`inline-flex items-center gap-1.5 rounded-md bg-brand-600 px-3 py-1.5 text-[12px] font-medium text-white hover:bg-brand-500 disabled:cursor-not-allowed disabled:opacity-50`,children:[S?(0,p.jsx)(l,{className:`inline h-3 w-3 animate-spin`}):null,s(`common.save`)]})})]})}export{g as DataSourceConfigForm};