docs-i18n 0.7.2 → 0.7.4

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.
@@ -0,0 +1,50 @@
1
+ import { t as createServerFn } from "../server.js";
2
+ import { t as createServerRpc } from "./createServerRpc-CMjjCE8A.js";
3
+ import { ensureInit, l as jobManager } from "./init-AJSQ7K_l.js";
4
+ //#region server/functions/jobs.ts?tss-serverfn-split
5
+ var fetchJobs_createServerFn_handler = createServerRpc({
6
+ id: "421de02ce39dde6e27cf4689e837ec072cbd01e63f8cdd5c2a3f42f0bd5ca613",
7
+ name: "fetchJobs",
8
+ filename: "server/functions/jobs.ts"
9
+ }, (opts) => fetchJobs.__executeServer(opts));
10
+ var fetchJobs = createServerFn({ method: "GET" }).handler(fetchJobs_createServerFn_handler, async () => {
11
+ await ensureInit();
12
+ return jobManager.list().map((j) => ({
13
+ ...j,
14
+ logLines: (j.logLines ?? []).slice(-20)
15
+ }));
16
+ });
17
+ var createJob_createServerFn_handler = createServerRpc({
18
+ id: "c08559ac758aa0d315deaca7a0d7d923a9a44d997c8cb811151417c1f221ddd6",
19
+ name: "createJob",
20
+ filename: "server/functions/jobs.ts"
21
+ }, (opts) => createJob.__executeServer(opts));
22
+ var createJob = createServerFn({ method: "POST" }).inputValidator((d) => d).handler(createJob_createServerFn_handler, async ({ data }) => {
23
+ await ensureInit();
24
+ if (!data.lang || !data.version) throw new Error("Missing lang or version");
25
+ return jobManager.start(data);
26
+ });
27
+ var fetchJob_createServerFn_handler = createServerRpc({
28
+ id: "8a56694c9d7b29422a3e7d2f6b803be100d79d3853d92d465cb55ed572781e62",
29
+ name: "fetchJob",
30
+ filename: "server/functions/jobs.ts"
31
+ }, (opts) => fetchJob.__executeServer(opts));
32
+ var fetchJob = createServerFn({ method: "GET" }).inputValidator((d) => d).handler(fetchJob_createServerFn_handler, async ({ data }) => {
33
+ const job = jobManager.get(data.id);
34
+ if (!job) throw new Error("Job not found");
35
+ return job;
36
+ });
37
+ var deleteJob_createServerFn_handler = createServerRpc({
38
+ id: "88c2855c84e91504070bfecc50ddfa50339d22c305626800b6d9b05d79385d71",
39
+ name: "deleteJob",
40
+ filename: "server/functions/jobs.ts"
41
+ }, (opts) => deleteJob.__executeServer(opts));
42
+ var deleteJob = createServerFn({ method: "POST" }).inputValidator((d) => d).handler(deleteJob_createServerFn_handler, async ({ data }) => {
43
+ const job = jobManager.get(data.id);
44
+ if (!job) throw new Error("Job not found");
45
+ if (job.status === "running") jobManager.cancel(data.id);
46
+ else jobManager.remove(data.id);
47
+ return { ok: true };
48
+ });
49
+ //#endregion
50
+ export { createJob_createServerFn_handler, deleteJob_createServerFn_handler, fetchJob_createServerFn_handler, fetchJobs_createServerFn_handler };
@@ -0,0 +1,94 @@
1
+ import { t as createServerFn } from "../server.js";
2
+ import { t as createServerRpc } from "./createServerRpc-CMjjCE8A.js";
3
+ import { c as getPackageVersion, ensureInit, getConfig } from "./init-AJSQ7K_l.js";
4
+ import { spawn } from "node:child_process";
5
+ import { existsSync, readFileSync } from "node:fs";
6
+ import { resolve } from "node:path";
7
+ //#region server/functions/misc.ts?tss-serverfn-split
8
+ var fetchVersion_createServerFn_handler = createServerRpc({
9
+ id: "a3d81974aeece150d4b02be5b91590b8187442ebea56be4a89dcbf053626d22b",
10
+ name: "fetchVersion",
11
+ filename: "server/functions/misc.ts"
12
+ }, (opts) => fetchVersion.__executeServer(opts));
13
+ var fetchVersion = createServerFn({ method: "GET" }).handler(fetchVersion_createServerFn_handler, async () => {
14
+ return { version: getPackageVersion() };
15
+ });
16
+ var fetchLlmConfig_createServerFn_handler = createServerRpc({
17
+ id: "3bf4ba50ca8ccc3c8c60d8f2e53307a320940d68c478df494552066904c5cd74",
18
+ name: "fetchLlmConfig",
19
+ filename: "server/functions/misc.ts"
20
+ }, (opts) => fetchLlmConfig.__executeServer(opts));
21
+ var fetchLlmConfig = createServerFn({ method: "GET" }).handler(fetchLlmConfig_createServerFn_handler, async () => {
22
+ await ensureInit();
23
+ const llm = getConfig()?.llm;
24
+ let envVars = {};
25
+ try {
26
+ const { getProjectRoot } = await import("./init-AJSQ7K_l.js");
27
+ const envPath = resolve(getProjectRoot(), ".env");
28
+ if (existsSync(envPath)) {
29
+ const envContent = readFileSync(envPath, "utf-8");
30
+ for (const line of envContent.split("\n")) {
31
+ const match = line.match(/^\s*([A-Z_][A-Z0-9_]*)\s*=\s*(.*)\s*$/);
32
+ if (match) envVars[match[1]] = match[2];
33
+ }
34
+ }
35
+ } catch {}
36
+ const hasApiKey = !!(llm?.apiKey || process.env.OPENROUTER_API_KEY || process.env.OPENAI_API_KEY || envVars.OPENROUTER_API_KEY || envVars.OPENAI_API_KEY);
37
+ return {
38
+ model: llm?.model || process.env.OPENROUTER_MODEL || envVars.OPENROUTER_MODEL || "deepseek/deepseek-chat-v3-0324:free",
39
+ provider: llm?.provider || "openrouter",
40
+ hasApiKey
41
+ };
42
+ });
43
+ var fetchConfig_createServerFn_handler = createServerRpc({
44
+ id: "e0b4116f6b2c8d096830102e36458acf9c616a056fcdddda956a4d66984ef58c",
45
+ name: "fetchConfig",
46
+ filename: "server/functions/misc.ts"
47
+ }, (opts) => fetchConfig.__executeServer(opts));
48
+ var fetchConfig = createServerFn({ method: "GET" }).handler(fetchConfig_createServerFn_handler, async () => {
49
+ return { projectRoot: process.cwd() };
50
+ });
51
+ var openFile_createServerFn_handler = createServerRpc({
52
+ id: "a054a04356fe9987891efee8b7a11cd2dedb00f6b2e8f26d1c642e001e553d53",
53
+ name: "openFile",
54
+ filename: "server/functions/misc.ts"
55
+ }, (opts) => openFile.__executeServer(opts));
56
+ var openFile = createServerFn({ method: "POST" }).inputValidator((d) => d).handler(openFile_createServerFn_handler, async ({ data }) => {
57
+ const { file } = data;
58
+ if (!file) throw new Error("Missing file");
59
+ const fullPath = resolve(process.cwd(), file);
60
+ if (!fullPath.startsWith(process.cwd())) throw new Error("Invalid path");
61
+ const candidates = process.env.EDITOR_CMD ? [process.env.EDITOR_CMD] : [
62
+ "code",
63
+ "cursor",
64
+ "zed"
65
+ ];
66
+ for (const cmd of candidates) if (await new Promise((r) => {
67
+ const p = spawn("which", [cmd], { stdio: "ignore" });
68
+ p.on("exit", (code) => r(code === 0));
69
+ p.on("error", () => r(false));
70
+ })) {
71
+ spawn(cmd, [fullPath], {
72
+ stdio: "ignore",
73
+ detached: true
74
+ }).unref();
75
+ return {
76
+ opened: fullPath,
77
+ editor: cmd
78
+ };
79
+ }
80
+ const fallback = {
81
+ darwin: "open",
82
+ win32: "start"
83
+ }[process.platform] || "xdg-open";
84
+ spawn(fallback, [fullPath], {
85
+ stdio: "ignore",
86
+ detached: true
87
+ }).unref();
88
+ return {
89
+ opened: fullPath,
90
+ editor: fallback
91
+ };
92
+ });
93
+ //#endregion
94
+ export { fetchConfig_createServerFn_handler, fetchLlmConfig_createServerFn_handler, fetchVersion_createServerFn_handler, openFile_createServerFn_handler };
@@ -0,0 +1,49 @@
1
+ import { t as createServerFn } from "../server.js";
2
+ import { t as createServerRpc } from "./createServerRpc-CMjjCE8A.js";
3
+ //#region server/functions/models.ts?tss-serverfn-split
4
+ var cachedResult = null;
5
+ var cacheTime = 0;
6
+ var CACHE_TTL = 300 * 1e3;
7
+ function formatModels(models) {
8
+ return models.filter((m) => {
9
+ if (!m.pricing) return false;
10
+ const pp = Number.parseFloat(m.pricing.prompt);
11
+ const cp = Number.parseFloat(m.pricing.completion);
12
+ if (pp < 0 || cp < 0) return false;
13
+ if (!m.architecture?.modality?.startsWith("text")) return false;
14
+ if (!m.architecture.output_modalities?.includes("text")) return false;
15
+ return true;
16
+ }).map((m) => {
17
+ const pp = Number.parseFloat(m.pricing.prompt) * 1e6;
18
+ const cp = Number.parseFloat(m.pricing.completion) * 1e6;
19
+ return {
20
+ id: m.id,
21
+ name: m.name,
22
+ promptPrice: pp,
23
+ completionPrice: cp,
24
+ contextLength: m.context_length,
25
+ maxOutput: m.top_provider?.max_completion_tokens ?? 0,
26
+ isFree: pp === 0 && cp === 0,
27
+ supportsJson: m.supported_parameters?.includes("response_format") || m.supported_parameters?.includes("structured_outputs"),
28
+ supportsTools: m.supported_parameters?.includes("tools"),
29
+ provider: m.id.split("/")[0]
30
+ };
31
+ }).sort((a, b) => a.promptPrice - b.promptPrice);
32
+ }
33
+ var fetchModels_createServerFn_handler = createServerRpc({
34
+ id: "5080dc3f2f2309ec6981b94c431969637130c657e8a1dfb10400b4614eecc1ea",
35
+ name: "fetchModels",
36
+ filename: "server/functions/models.ts"
37
+ }, (opts) => fetchModels.__executeServer(opts));
38
+ var fetchModels = createServerFn({ method: "GET" }).handler(fetchModels_createServerFn_handler, async () => {
39
+ const now = Date.now();
40
+ if (cachedResult && now - cacheTime < CACHE_TTL) return cachedResult;
41
+ const res = await fetch("https://openrouter.ai/api/v1/models");
42
+ if (!res.ok) throw new Error(`OpenRouter API error: ${res.status}`);
43
+ const { data } = await res.json();
44
+ cachedResult = formatModels(data);
45
+ cacheTime = now;
46
+ return cachedResult;
47
+ });
48
+ //#endregion
49
+ export { fetchModels_createServerFn_handler };
@@ -0,0 +1,67 @@
1
+ import { t as Route$1 } from "./routes-C2UFxDWZ.js";
2
+ import "react";
3
+ import { HeadContent, Outlet, Scripts, createRootRouteWithContext, createRouter } from "@tanstack/react-router";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
6
+ //#region app/styles.css?url
7
+ var styles_default = "/assets/styles-DJ6QEJmN.css";
8
+ //#endregion
9
+ //#region app/routes/__root.tsx
10
+ var Route = createRootRouteWithContext()({
11
+ head: () => ({
12
+ meta: [{ charSet: "utf-8" }, {
13
+ name: "viewport",
14
+ content: "width=device-width, initial-scale=1"
15
+ }],
16
+ links: [{
17
+ rel: "stylesheet",
18
+ href: styles_default
19
+ }]
20
+ }),
21
+ component: RootComponent,
22
+ notFoundComponent: () => /* @__PURE__ */ jsx("div", {
23
+ style: { padding: 20 },
24
+ children: "Page not found"
25
+ })
26
+ });
27
+ function RootComponent() {
28
+ const { queryClient } = Route.useRouteContext();
29
+ return /* @__PURE__ */ jsx(RootDocument, { children: /* @__PURE__ */ jsx(QueryClientProvider, {
30
+ client: queryClient,
31
+ children: /* @__PURE__ */ jsx(Outlet, {})
32
+ }) });
33
+ }
34
+ function RootDocument({ children }) {
35
+ return /* @__PURE__ */ jsxs("html", {
36
+ lang: "en",
37
+ "data-theme": "dark",
38
+ suppressHydrationWarning: true,
39
+ children: [/* @__PURE__ */ jsx("head", { children: /* @__PURE__ */ jsx(HeadContent, {}) }), /* @__PURE__ */ jsxs("body", { children: [
40
+ /* @__PURE__ */ jsx("script", { dangerouslySetInnerHTML: { __html: `document.documentElement.dataset.theme=localStorage.getItem('theme')||'dark'` } }),
41
+ children,
42
+ /* @__PURE__ */ jsx(Scripts, {})
43
+ ] })]
44
+ });
45
+ }
46
+ //#endregion
47
+ //#region app/routeTree.gen.ts
48
+ var rootRouteChildren = { IndexRoute: Route$1.update({
49
+ id: "/",
50
+ path: "/",
51
+ getParentRoute: () => Route
52
+ }) };
53
+ var routeTree = Route._addFileChildren(rootRouteChildren)._addFileTypes();
54
+ //#endregion
55
+ //#region app/router.tsx
56
+ function getRouter() {
57
+ return createRouter({
58
+ routeTree,
59
+ context: { queryClient: new QueryClient({ defaultOptions: { queries: {
60
+ refetchOnWindowFocus: false,
61
+ retry: 1
62
+ } } }) },
63
+ scrollRestoration: true
64
+ });
65
+ }
66
+ //#endregion
67
+ export { getRouter };
@@ -0,0 +1,24 @@
1
+ import { createFileRoute, lazyRouteComponent } from "@tanstack/react-router";
2
+ //#region app/routes/index.tsx
3
+ var $$splitComponentImporter = () => import("./routes-vEKXnl0r.js");
4
+ /**
5
+ * Parse version keys into project/version structure.
6
+ * Multi-project keys look like "query/v5", single-project keys look like "v5".
7
+ */
8
+ var Route = createFileRoute("/")({
9
+ validateSearch: (search) => ({
10
+ project: search.project || void 0,
11
+ v: search.v || void 0,
12
+ lang: search.lang || void 0,
13
+ file: search.file || void 0,
14
+ files: search.files || void 0,
15
+ view: search.view || void 0,
16
+ toc: search.toc || void 0,
17
+ nodes: search.nodes || void 0,
18
+ status: search.status || void 0,
19
+ section: search.section || void 0
20
+ }),
21
+ component: lazyRouteComponent($$splitComponentImporter, "component")
22
+ });
23
+ //#endregion
24
+ export { Route as t };