@nodetool-ai/websocket 0.7.0-rc.11

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 (261) hide show
  1. package/dist/agent/agent-runtime.d.ts +47 -0
  2. package/dist/agent/agent-runtime.d.ts.map +1 -0
  3. package/dist/agent/agent-runtime.js +577 -0
  4. package/dist/agent/agent-runtime.js.map +1 -0
  5. package/dist/agent/codex-agent.d.ts +41 -0
  6. package/dist/agent/codex-agent.d.ts.map +1 -0
  7. package/dist/agent/codex-agent.js +334 -0
  8. package/dist/agent/codex-agent.js.map +1 -0
  9. package/dist/agent/index.d.ts +6 -0
  10. package/dist/agent/index.d.ts.map +1 -0
  11. package/dist/agent/index.js +4 -0
  12. package/dist/agent/index.js.map +1 -0
  13. package/dist/agent/llm-agent.d.ts +51 -0
  14. package/dist/agent/llm-agent.d.ts.map +1 -0
  15. package/dist/agent/llm-agent.js +526 -0
  16. package/dist/agent/llm-agent.js.map +1 -0
  17. package/dist/agent/mcp-tool-server.d.ts +33 -0
  18. package/dist/agent/mcp-tool-server.d.ts.map +1 -0
  19. package/dist/agent/mcp-tool-server.js +292 -0
  20. package/dist/agent/mcp-tool-server.js.map +1 -0
  21. package/dist/agent/opencode-agent.d.ts +32 -0
  22. package/dist/agent/opencode-agent.d.ts.map +1 -0
  23. package/dist/agent/opencode-agent.js +332 -0
  24. package/dist/agent/opencode-agent.js.map +1 -0
  25. package/dist/agent/pi-agent.d.ts +42 -0
  26. package/dist/agent/pi-agent.d.ts.map +1 -0
  27. package/dist/agent/pi-agent.js +429 -0
  28. package/dist/agent/pi-agent.js.map +1 -0
  29. package/dist/agent/sdk-provider.d.ts +46 -0
  30. package/dist/agent/sdk-provider.d.ts.map +1 -0
  31. package/dist/agent/sdk-provider.js +50 -0
  32. package/dist/agent/sdk-provider.js.map +1 -0
  33. package/dist/agent/socket-route.d.ts +11 -0
  34. package/dist/agent/socket-route.d.ts.map +1 -0
  35. package/dist/agent/socket-route.js +262 -0
  36. package/dist/agent/socket-route.js.map +1 -0
  37. package/dist/agent/transport.d.ts +39 -0
  38. package/dist/agent/transport.d.ts.map +1 -0
  39. package/dist/agent/transport.js +17 -0
  40. package/dist/agent/transport.js.map +1 -0
  41. package/dist/agent/types.d.ts +11 -0
  42. package/dist/agent/types.d.ts.map +1 -0
  43. package/dist/agent/types.js +10 -0
  44. package/dist/agent/types.js.map +1 -0
  45. package/dist/collection-api.d.ts +14 -0
  46. package/dist/collection-api.d.ts.map +1 -0
  47. package/dist/collection-api.js +75 -0
  48. package/dist/collection-api.js.map +1 -0
  49. package/dist/error-codes.d.ts +3 -0
  50. package/dist/error-codes.d.ts.map +1 -0
  51. package/dist/error-codes.js +2 -0
  52. package/dist/error-codes.js.map +1 -0
  53. package/dist/file-api.d.ts +12 -0
  54. package/dist/file-api.d.ts.map +1 -0
  55. package/dist/file-api.js +76 -0
  56. package/dist/file-api.js.map +1 -0
  57. package/dist/http-api.d.ts +94 -0
  58. package/dist/http-api.d.ts.map +1 -0
  59. package/dist/http-api.js +1472 -0
  60. package/dist/http-api.js.map +1 -0
  61. package/dist/index.d.ts +6 -0
  62. package/dist/index.d.ts.map +1 -0
  63. package/dist/index.js +6 -0
  64. package/dist/index.js.map +1 -0
  65. package/dist/lib/asset-paths.d.ts +10 -0
  66. package/dist/lib/asset-paths.d.ts.map +1 -0
  67. package/dist/lib/asset-paths.js +45 -0
  68. package/dist/lib/asset-paths.js.map +1 -0
  69. package/dist/lib/bridge.d.ts +8 -0
  70. package/dist/lib/bridge.d.ts.map +1 -0
  71. package/dist/lib/bridge.js +70 -0
  72. package/dist/lib/bridge.js.map +1 -0
  73. package/dist/mcp-server.d.ts +32 -0
  74. package/dist/mcp-server.d.ts.map +1 -0
  75. package/dist/mcp-server.js +842 -0
  76. package/dist/mcp-server.js.map +1 -0
  77. package/dist/models-api.d.ts +12 -0
  78. package/dist/models-api.d.ts.map +1 -0
  79. package/dist/models-api.js +730 -0
  80. package/dist/models-api.js.map +1 -0
  81. package/dist/oauth-api.d.ts +28 -0
  82. package/dist/oauth-api.d.ts.map +1 -0
  83. package/dist/oauth-api.js +681 -0
  84. package/dist/oauth-api.js.map +1 -0
  85. package/dist/openai-api.d.ts +63 -0
  86. package/dist/openai-api.d.ts.map +1 -0
  87. package/dist/openai-api.js +359 -0
  88. package/dist/openai-api.js.map +1 -0
  89. package/dist/plugins/websocket.d.ts +14 -0
  90. package/dist/plugins/websocket.d.ts.map +1 -0
  91. package/dist/plugins/websocket.js +431 -0
  92. package/dist/plugins/websocket.js.map +1 -0
  93. package/dist/resolve-media-urls.d.ts +19 -0
  94. package/dist/resolve-media-urls.d.ts.map +1 -0
  95. package/dist/resolve-media-urls.js +109 -0
  96. package/dist/resolve-media-urls.js.map +1 -0
  97. package/dist/routes/assets.d.ts +22 -0
  98. package/dist/routes/assets.d.ts.map +1 -0
  99. package/dist/routes/assets.js +168 -0
  100. package/dist/routes/assets.js.map +1 -0
  101. package/dist/routes/collections.d.ts +16 -0
  102. package/dist/routes/collections.d.ts.map +1 -0
  103. package/dist/routes/collections.js +32 -0
  104. package/dist/routes/collections.js.map +1 -0
  105. package/dist/routes/files.d.ts +12 -0
  106. package/dist/routes/files.d.ts.map +1 -0
  107. package/dist/routes/files.js +11 -0
  108. package/dist/routes/files.js.map +1 -0
  109. package/dist/routes/health.d.ts +4 -0
  110. package/dist/routes/health.d.ts.map +1 -0
  111. package/dist/routes/health.js +41 -0
  112. package/dist/routes/health.js.map +1 -0
  113. package/dist/routes/jobs.d.ts +16 -0
  114. package/dist/routes/jobs.d.ts.map +1 -0
  115. package/dist/routes/jobs.js +25 -0
  116. package/dist/routes/jobs.js.map +1 -0
  117. package/dist/routes/nodes.d.ts +8 -0
  118. package/dist/routes/nodes.d.ts.map +1 -0
  119. package/dist/routes/nodes.js +124 -0
  120. package/dist/routes/nodes.js.map +1 -0
  121. package/dist/routes/oauth.d.ts +8 -0
  122. package/dist/routes/oauth.d.ts.map +1 -0
  123. package/dist/routes/oauth.js +19 -0
  124. package/dist/routes/oauth.js.map +1 -0
  125. package/dist/routes/openai.d.ts +8 -0
  126. package/dist/routes/openai.d.ts.map +1 -0
  127. package/dist/routes/openai.js +20 -0
  128. package/dist/routes/openai.js.map +1 -0
  129. package/dist/routes/storage.d.ts +12 -0
  130. package/dist/routes/storage.d.ts.map +1 -0
  131. package/dist/routes/storage.js +13 -0
  132. package/dist/routes/storage.js.map +1 -0
  133. package/dist/routes/workflows.d.ts +18 -0
  134. package/dist/routes/workflows.d.ts.map +1 -0
  135. package/dist/routes/workflows.js +25 -0
  136. package/dist/routes/workflows.js.map +1 -0
  137. package/dist/routes/workspace.d.ts +15 -0
  138. package/dist/routes/workspace.d.ts.map +1 -0
  139. package/dist/routes/workspace.js +24 -0
  140. package/dist/routes/workspace.js.map +1 -0
  141. package/dist/screenshot-server.d.ts +21 -0
  142. package/dist/screenshot-server.d.ts.map +1 -0
  143. package/dist/screenshot-server.js +222 -0
  144. package/dist/screenshot-server.js.map +1 -0
  145. package/dist/server.d.ts +10 -0
  146. package/dist/server.d.ts.map +1 -0
  147. package/dist/server.js +783 -0
  148. package/dist/server.js.map +1 -0
  149. package/dist/settings-registry.d.ts +29 -0
  150. package/dist/settings-registry.d.ts.map +1 -0
  151. package/dist/settings-registry.js +117 -0
  152. package/dist/settings-registry.js.map +1 -0
  153. package/dist/storage-api.d.ts +5 -0
  154. package/dist/storage-api.d.ts.map +1 -0
  155. package/dist/storage-api.js +221 -0
  156. package/dist/storage-api.js.map +1 -0
  157. package/dist/test-ui-server.d.ts +19 -0
  158. package/dist/test-ui-server.d.ts.map +1 -0
  159. package/dist/test-ui-server.js +1256 -0
  160. package/dist/test-ui-server.js.map +1 -0
  161. package/dist/trpc/context.d.ts +21 -0
  162. package/dist/trpc/context.d.ts.map +1 -0
  163. package/dist/trpc/context.js +10 -0
  164. package/dist/trpc/context.js.map +1 -0
  165. package/dist/trpc/error-formatter.d.ts +18 -0
  166. package/dist/trpc/error-formatter.d.ts.map +1 -0
  167. package/dist/trpc/error-formatter.js +41 -0
  168. package/dist/trpc/error-formatter.js.map +1 -0
  169. package/dist/trpc/index.d.ts +18 -0
  170. package/dist/trpc/index.d.ts.map +1 -0
  171. package/dist/trpc/index.js +13 -0
  172. package/dist/trpc/index.js.map +1 -0
  173. package/dist/trpc/middleware.d.ts +8 -0
  174. package/dist/trpc/middleware.d.ts.map +1 -0
  175. package/dist/trpc/middleware.js +12 -0
  176. package/dist/trpc/middleware.js.map +1 -0
  177. package/dist/trpc/router.d.ts +2543 -0
  178. package/dist/trpc/router.d.ts.map +1 -0
  179. package/dist/trpc/router.js +43 -0
  180. package/dist/trpc/router.js.map +1 -0
  181. package/dist/trpc/routers/assets.d.ts +229 -0
  182. package/dist/trpc/routers/assets.d.ts.map +1 -0
  183. package/dist/trpc/routers/assets.js +263 -0
  184. package/dist/trpc/routers/assets.js.map +1 -0
  185. package/dist/trpc/routers/collections.d.ts +88 -0
  186. package/dist/trpc/routers/collections.d.ts.map +1 -0
  187. package/dist/trpc/routers/collections.js +166 -0
  188. package/dist/trpc/routers/collections.js.map +1 -0
  189. package/dist/trpc/routers/costs.d.ts +129 -0
  190. package/dist/trpc/routers/costs.d.ts.map +1 -0
  191. package/dist/trpc/routers/costs.js +95 -0
  192. package/dist/trpc/routers/costs.js.map +1 -0
  193. package/dist/trpc/routers/files.d.ts +34 -0
  194. package/dist/trpc/routers/files.d.ts.map +1 -0
  195. package/dist/trpc/routers/files.js +92 -0
  196. package/dist/trpc/routers/files.js.map +1 -0
  197. package/dist/trpc/routers/jobs.d.ts +92 -0
  198. package/dist/trpc/routers/jobs.d.ts.map +1 -0
  199. package/dist/trpc/routers/jobs.js +100 -0
  200. package/dist/trpc/routers/jobs.js.map +1 -0
  201. package/dist/trpc/routers/mcp-config.d.ts +69 -0
  202. package/dist/trpc/routers/mcp-config.d.ts.map +1 -0
  203. package/dist/trpc/routers/mcp-config.js +290 -0
  204. package/dist/trpc/routers/mcp-config.js.map +1 -0
  205. package/dist/trpc/routers/messages.d.ts +121 -0
  206. package/dist/trpc/routers/messages.d.ts.map +1 -0
  207. package/dist/trpc/routers/messages.js +113 -0
  208. package/dist/trpc/routers/messages.js.map +1 -0
  209. package/dist/trpc/routers/models.d.ts +748 -0
  210. package/dist/trpc/routers/models.d.ts.map +1 -0
  211. package/dist/trpc/routers/models.js +1107 -0
  212. package/dist/trpc/routers/models.js.map +1 -0
  213. package/dist/trpc/routers/nodes.d.ts +48 -0
  214. package/dist/trpc/routers/nodes.d.ts.map +1 -0
  215. package/dist/trpc/routers/nodes.js +57 -0
  216. package/dist/trpc/routers/nodes.js.map +1 -0
  217. package/dist/trpc/routers/sandboxes.d.ts +64 -0
  218. package/dist/trpc/routers/sandboxes.d.ts.map +1 -0
  219. package/dist/trpc/routers/sandboxes.js +327 -0
  220. package/dist/trpc/routers/sandboxes.js.map +1 -0
  221. package/dist/trpc/routers/settings.d.ts +113 -0
  222. package/dist/trpc/routers/settings.d.ts.map +1 -0
  223. package/dist/trpc/routers/settings.js +193 -0
  224. package/dist/trpc/routers/settings.js.map +1 -0
  225. package/dist/trpc/routers/skills.d.ts +41 -0
  226. package/dist/trpc/routers/skills.d.ts.map +1 -0
  227. package/dist/trpc/routers/skills.js +194 -0
  228. package/dist/trpc/routers/skills.js.map +1 -0
  229. package/dist/trpc/routers/storage.d.ts +44 -0
  230. package/dist/trpc/routers/storage.d.ts.map +1 -0
  231. package/dist/trpc/routers/storage.js +153 -0
  232. package/dist/trpc/routers/storage.js.map +1 -0
  233. package/dist/trpc/routers/threads.d.ts +95 -0
  234. package/dist/trpc/routers/threads.d.ts.map +1 -0
  235. package/dist/trpc/routers/threads.js +150 -0
  236. package/dist/trpc/routers/threads.js.map +1 -0
  237. package/dist/trpc/routers/users.d.ts +79 -0
  238. package/dist/trpc/routers/users.d.ts.map +1 -0
  239. package/dist/trpc/routers/users.js +125 -0
  240. package/dist/trpc/routers/users.js.map +1 -0
  241. package/dist/trpc/routers/workflows.d.ts +681 -0
  242. package/dist/trpc/routers/workflows.d.ts.map +1 -0
  243. package/dist/trpc/routers/workflows.js +725 -0
  244. package/dist/trpc/routers/workflows.js.map +1 -0
  245. package/dist/trpc/routers/workspace.d.ts +127 -0
  246. package/dist/trpc/routers/workspace.d.ts.map +1 -0
  247. package/dist/trpc/routers/workspace.js +203 -0
  248. package/dist/trpc/routers/workspace.js.map +1 -0
  249. package/dist/unified-websocket-runner.d.ts +280 -0
  250. package/dist/unified-websocket-runner.d.ts.map +1 -0
  251. package/dist/unified-websocket-runner.js +3840 -0
  252. package/dist/unified-websocket-runner.js.map +1 -0
  253. package/dist/workspace-api.d.ts +14 -0
  254. package/dist/workspace-api.d.ts.map +1 -0
  255. package/dist/workspace-api.js +104 -0
  256. package/dist/workspace-api.js.map +1 -0
  257. package/dist/ws-adapter.d.ts +25 -0
  258. package/dist/ws-adapter.d.ts.map +1 -0
  259. package/dist/ws-adapter.js +63 -0
  260. package/dist/ws-adapter.js.map +1 -0
  261. package/package.json +92 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Settings registry + defaults — shared between the tRPC settings router,
3
+ * http-api.ts (for /api/settings/secrets handlers), and unified-websocket-runner.ts
4
+ * (for getSetting()).
5
+ */
6
+ export interface SettingWithValue {
7
+ package_name: string;
8
+ env_var: string;
9
+ group: string;
10
+ description: string;
11
+ enum: string[] | null;
12
+ value: unknown;
13
+ is_secret: boolean;
14
+ }
15
+ export interface SettingDefinition {
16
+ packageName: string;
17
+ envVar: string;
18
+ group: string;
19
+ description: string;
20
+ enum?: string[];
21
+ isSecret?: boolean;
22
+ }
23
+ /** Register a setting definition. Called by packages at startup. */
24
+ export declare function registerSetting(def: SettingDefinition): void;
25
+ /** Get all registered definitions. */
26
+ export declare function getRegisteredSettings(): SettingDefinition[];
27
+ /** Get a single setting value from DB, then env var. */
28
+ export declare function getSetting(key: string): Promise<string | null>;
29
+ //# sourceMappingURL=settings-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-registry.d.ts","sourceRoot":"","sources":["../src/settings-registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAMD,oEAAoE;AACpE,wBAAgB,eAAe,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAI5D;AAED,sCAAsC;AACtC,wBAAgB,qBAAqB,IAAI,iBAAiB,EAAE,CAE3D;AAED,wDAAwD;AACxD,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMpE"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Settings registry + defaults — shared between the tRPC settings router,
3
+ * http-api.ts (for /api/settings/secrets handlers), and unified-websocket-runner.ts
4
+ * (for getSetting()).
5
+ */
6
+ import { Setting } from "@nodetool-ai/models";
7
+ // ── Registry ───────────────────────────────────────────────────────
8
+ const registry = [];
9
+ /** Register a setting definition. Called by packages at startup. */
10
+ export function registerSetting(def) {
11
+ if (!registry.some((s) => s.envVar === def.envVar)) {
12
+ registry.push(def);
13
+ }
14
+ }
15
+ /** Get all registered definitions. */
16
+ export function getRegisteredSettings() {
17
+ return registry;
18
+ }
19
+ /** Get a single setting value from DB, then env var. */
20
+ export async function getSetting(key) {
21
+ const setting = await Setting.find("1", key);
22
+ if (setting && setting.value.length > 0)
23
+ return setting.value;
24
+ const envVal = process.env[key];
25
+ if (envVal !== undefined && envVal.length > 0)
26
+ return envVal;
27
+ return null;
28
+ }
29
+ // ── Default settings (ported from nodetool/config/settings.py) ────
30
+ function s(envVar, group, description, enumValues) {
31
+ registerSetting({
32
+ packageName: "nodetool",
33
+ envVar,
34
+ group,
35
+ description,
36
+ enum: enumValues
37
+ });
38
+ }
39
+ function sec(envVar, group, description) {
40
+ registerSetting({
41
+ packageName: "nodetool",
42
+ envVar,
43
+ group,
44
+ description,
45
+ isSecret: true
46
+ });
47
+ }
48
+ // Folders / paths
49
+ s("FONT_PATH", "Folders", "Location of font folder used by image processing nodes like RenderText. If not specified, the system will use default fonts.");
50
+ s("VECTORSTORE_DB_PATH", "Folders", "Location of the sqlite-vec vector database file. Used to store and retrieve embeddings for semantic search and RAG applications.");
51
+ s("USERS_FILE", "Folders", "Path to users.yaml file for multi-user bearer token authentication. Defaults to ~/.config/nodetool/users.yaml for local deployments.");
52
+ s("TRANSFORMERS_JS_CACHE_DIR", "TransformersJs", "Cache directory for Transformers.js (@huggingface/transformers) model downloads. Defaults to <data-dir>/transformers-js-cache. This is separate from the Python HuggingFace Hub cache because the on-disk layout differs.");
53
+ // Autosave
54
+ s("AUTOSAVE_ENABLED", "Autosave", "Enable automatic saving of workflow versions (default: true)", ["true", "false"]);
55
+ s("AUTOSAVE_INTERVAL_MINUTES", "Autosave", "Interval in minutes between automatic workflow autosaves (default: 5, range: 1-60)");
56
+ s("AUTOSAVE_MIN_INTERVAL_SECONDS", "Autosave", "Minimum interval in seconds between autosaves to prevent duplicates (default: 30)");
57
+ s("AUTOSAVE_MAX_VERSIONS_PER_WORKFLOW", "Autosave", "Maximum number of autosave versions to keep per workflow (default: 20)");
58
+ s("AUTOSAVE_KEEP_DAYS", "Autosave", "Number of days to keep autosave versions before cleanup (default: 7)");
59
+ // ComfyUI
60
+ s("COMFYUI_ADDR", "ComfyUI", "ComfyUI server address for API/WebSocket access (e.g., 127.0.0.1:8188).");
61
+ // Provider endpoints
62
+ s("VLLM_BASE_URL", "vLLM", "Base URL for the vLLM OpenAI-compatible server (e.g., http://localhost:7777)");
63
+ s("OLLAMA_CONTEXT_LENGTH", "Ollama", "Context window size (in tokens) for Ollama models. If not set, the provider will query the model for its default context length.");
64
+ s("LLAMA_CPP_URL", "LlamaCpp", "Base URL for the llama.cpp server (e.g., http://127.0.0.1:8080).");
65
+ s("LLAMA_CPP_CONTEXT_LENGTH", "LlamaCpp", "Context window size (in tokens) for llama.cpp models. Defaults to 128000.");
66
+ s("LMSTUDIO_API_URL", "LMStudio", "Base URL for the LM Studio OpenAI-compatible server (e.g., http://localhost:1234)");
67
+ // NodeSupabase
68
+ s("NODE_SUPABASE_URL", "NodeSupabase", "Supabase project URL used by user-provided nodes (separate from core SUPABASE_URL)");
69
+ s("NODE_SUPABASE_SCHEMA", "NodeSupabase", "Optional schema for user/node Supabase tables (defaults to public when unset)");
70
+ s("NODE_SUPABASE_TABLE_PREFIX", "NodeSupabase", "Optional prefix applied to user/node Supabase tables to avoid clashes with core tables");
71
+ // Observability
72
+ s("TRACELOOP_ENABLED", "Observability", "Enable Traceloop OpenLLMetry tracing", ["true", "false"]);
73
+ s("TRACELOOP_APP_NAME", "Observability", "Override the OpenLLMetry application name (defaults to service name)");
74
+ s("TRACELOOP_BASE_URL", "Observability", "Override the Traceloop OTLP base URL");
75
+ s("TRACELOOP_DISABLE_BATCH", "Observability", "Disable Traceloop batch span processing for local development", ["true", "false"]);
76
+ // SERP
77
+ s("SERP_PROVIDER", "SERP", "Select which SERP provider to use for search operations. Options: 'serpapi', 'apify', 'dataforseo'.", ["serpapi", "apify", "dataforseo"]);
78
+ s("ZAI_USE_CODING_PLAN", "ZAI", "Use Z.AI coding plan endpoint instead of normal endpoint", ["true", "false"]);
79
+ // Secrets (value shown as "****" when env var is set, null otherwise)
80
+ sec("OPENAI_API_KEY", "OpenAI", "OpenAI API key for accessing GPT models, DALL-E, and other OpenAI services");
81
+ sec("OPENROUTER_API_KEY", "OpenRouter", "OpenRouter API key for accessing multiple AI models through a unified API");
82
+ sec("ANTHROPIC_API_KEY", "Anthropic", "Anthropic API key for accessing Claude models and other Anthropic services");
83
+ sec("CEREBRAS_API_KEY", "Cerebras", "Cerebras API key for accessing fast LLM inference on Cerebras hardware");
84
+ sec("TOGETHER_API_KEY", "Together", "Together AI API key for accessing open-source LLMs through Together's inference API");
85
+ sec("DEEPSEEK_API_KEY", "DeepSeek", "DeepSeek API key for accessing DeepSeek-V3 chat and DeepSeek-R1 reasoning models");
86
+ sec("XAI_API_KEY", "xAI", "xAI API key for accessing Grok models via xAI's OpenAI-compatible API");
87
+ sec("GROQ_API_KEY", "Groq", "Groq API key for accessing ultra-fast LLM inference on Groq's LPU hardware");
88
+ sec("ZHIPU_API_KEY", "ZAI", "Z.AI API key for accessing GLM models through Z.AI's OpenAI-compatible API");
89
+ sec("MISTRAL_API_KEY", "Mistral", "Mistral API key for accessing Mistral AI models");
90
+ sec("KIMI_API_KEY", "Kimi", "Kimi (Moonshot) API key for accessing Kimi models via the Claude-compatible endpoint");
91
+ sec("MINIMAX_API_KEY", "MiniMax", "MiniMax API key for accessing MiniMax AI models");
92
+ sec("AKI_API_KEY", "AKI", "AKI.IO API key for accessing the AKI AI Model Hub");
93
+ sec("GEMINI_API_KEY", "Gemini", "Gemini API key for accessing Google's Gemini AI models");
94
+ sec("HF_TOKEN", "HF", "Token for HuggingFace Inference Providers");
95
+ sec("LLAMA_API_KEY", "LlamaCpp", "API key for authenticating with llama-server");
96
+ sec("REPLICATE_API_TOKEN", "Replicate", "Replicate API Token for running models on Replicate's cloud infrastructure");
97
+ sec("AIME_API_KEY", "Aime", "Aime API key for accessing Aime AI services");
98
+ sec("GOOGLE_MAIL_USER", "Google", "Google mail user for email integration features");
99
+ sec("GOOGLE_APP_PASSWORD", "Google", "Google app password for secure authentication with Google services");
100
+ sec("ELEVENLABS_API_KEY", "ElevenLabs", "ElevenLabs API key for high-quality text-to-speech services");
101
+ sec("FAL_API_KEY", "FAL", "FAL API key for accessing FAL.ai's serverless AI infrastructure");
102
+ sec("SERPAPI_API_KEY", "SerpAPI", "API key for accessing SerpAPI scraping infrastructure");
103
+ sec("APIFY_API_KEY", "Apify", "API key for accessing Apify's web scraping and automation platform");
104
+ sec("BROWSER_URL", "Browser", "Browser URL for accessing a browser instance");
105
+ sec("RUNPOD_API_KEY", "RunPod", "RunPod API key for accessing serverless endpoints");
106
+ sec("NODE_SUPABASE_KEY", "NodeSupabase", "Supabase service key for user-provided nodes");
107
+ sec("DATA_FOR_SEO_LOGIN", "DataForSEO", "DataForSEO login for accessing DataForSEO's API");
108
+ sec("DATA_FOR_SEO_PASSWORD", "DataForSEO", "DataForSEO password for accessing DataForSEO's API");
109
+ sec("TRACELOOP_API_KEY", "Observability", "Traceloop API key for OpenLLMetry trace export");
110
+ sec("KIE_API_KEY", "KIE", "KIE API key for accessing kie.ai");
111
+ s("KIE_TIMEOUT_SECONDS", "KIE", "Global timeout in seconds for Kie.ai API calls (0 = use default per-model timeout)");
112
+ sec("MESHY_API_KEY", "Meshy", "Meshy AI API key for 3D model generation");
113
+ sec("RODIN_API_KEY", "Rodin", "Rodin AI API key for 3D model generation");
114
+ sec("GITHUB_CLIENT_ID", "GitHub", "GitHub OAuth App Client ID for OAuth PKCE authentication flow");
115
+ sec("GITHUB_CLIENT_SECRET", "GitHub", "GitHub OAuth App Client Secret for OAuth PKCE authentication flow");
116
+ sec("SERVER_AUTH_TOKEN", "Deployment", "Bearer auth token for securing NodeTool server endpoints in deployment. If unset, bearer auth is disabled.");
117
+ //# sourceMappingURL=settings-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-registry.js","sourceRoot":"","sources":["../src/settings-registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAuB9C,sEAAsE;AAEtE,MAAM,QAAQ,GAAwB,EAAE,CAAC;AAEzC,oEAAoE;AACpE,MAAM,UAAU,eAAe,CAAC,GAAsB;IACpD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;AACH,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,qBAAqB;IACnC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,wDAAwD;AACxD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAW;IAC1C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7C,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC;IAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IAC7D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,qEAAqE;AAErE,SAAS,CAAC,CACR,MAAc,EACd,KAAa,EACb,WAAmB,EACnB,UAAqB;IAErB,eAAe,CAAC;QACd,WAAW,EAAE,UAAU;QACvB,MAAM;QACN,KAAK;QACL,WAAW;QACX,IAAI,EAAE,UAAU;KACjB,CAAC,CAAC;AACL,CAAC;AACD,SAAS,GAAG,CAAC,MAAc,EAAE,KAAa,EAAE,WAAmB;IAC7D,eAAe,CAAC;QACd,WAAW,EAAE,UAAU;QACvB,MAAM;QACN,KAAK;QACL,WAAW;QACX,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;AACL,CAAC;AAED,kBAAkB;AAClB,CAAC,CACC,WAAW,EACX,SAAS,EACT,8HAA8H,CAC/H,CAAC;AACF,CAAC,CACC,qBAAqB,EACrB,SAAS,EACT,kIAAkI,CACnI,CAAC;AACF,CAAC,CACC,YAAY,EACZ,SAAS,EACT,sIAAsI,CACvI,CAAC;AACF,CAAC,CACC,2BAA2B,EAC3B,gBAAgB,EAChB,2NAA2N,CAC5N,CAAC;AAEF,WAAW;AACX,CAAC,CACC,kBAAkB,EAClB,UAAU,EACV,8DAA8D,EAC9D,CAAC,MAAM,EAAE,OAAO,CAAC,CAClB,CAAC;AACF,CAAC,CACC,2BAA2B,EAC3B,UAAU,EACV,oFAAoF,CACrF,CAAC;AACF,CAAC,CACC,+BAA+B,EAC/B,UAAU,EACV,mFAAmF,CACpF,CAAC;AACF,CAAC,CACC,oCAAoC,EACpC,UAAU,EACV,wEAAwE,CACzE,CAAC;AACF,CAAC,CACC,oBAAoB,EACpB,UAAU,EACV,sEAAsE,CACvE,CAAC;AAEF,UAAU;AACV,CAAC,CACC,cAAc,EACd,SAAS,EACT,yEAAyE,CAC1E,CAAC;AAEF,qBAAqB;AACrB,CAAC,CACC,eAAe,EACf,MAAM,EACN,8EAA8E,CAC/E,CAAC;AACF,CAAC,CACC,uBAAuB,EACvB,QAAQ,EACR,kIAAkI,CACnI,CAAC;AACF,CAAC,CACC,eAAe,EACf,UAAU,EACV,kEAAkE,CACnE,CAAC;AACF,CAAC,CACC,0BAA0B,EAC1B,UAAU,EACV,2EAA2E,CAC5E,CAAC;AACF,CAAC,CACC,kBAAkB,EAClB,UAAU,EACV,mFAAmF,CACpF,CAAC;AAEF,eAAe;AACf,CAAC,CACC,mBAAmB,EACnB,cAAc,EACd,oFAAoF,CACrF,CAAC;AACF,CAAC,CACC,sBAAsB,EACtB,cAAc,EACd,+EAA+E,CAChF,CAAC;AACF,CAAC,CACC,4BAA4B,EAC5B,cAAc,EACd,wFAAwF,CACzF,CAAC;AAEF,gBAAgB;AAChB,CAAC,CACC,mBAAmB,EACnB,eAAe,EACf,sCAAsC,EACtC,CAAC,MAAM,EAAE,OAAO,CAAC,CAClB,CAAC;AACF,CAAC,CACC,oBAAoB,EACpB,eAAe,EACf,sEAAsE,CACvE,CAAC;AACF,CAAC,CACC,oBAAoB,EACpB,eAAe,EACf,sCAAsC,CACvC,CAAC;AACF,CAAC,CACC,yBAAyB,EACzB,eAAe,EACf,+DAA+D,EAC/D,CAAC,MAAM,EAAE,OAAO,CAAC,CAClB,CAAC;AAEF,OAAO;AACP,CAAC,CACC,eAAe,EACf,MAAM,EACN,qGAAqG,EACrG,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CACnC,CAAC;AACF,CAAC,CACC,qBAAqB,EACrB,KAAK,EACL,0DAA0D,EAC1D,CAAC,MAAM,EAAE,OAAO,CAAC,CAClB,CAAC;AAEF,sEAAsE;AACtE,GAAG,CACD,gBAAgB,EAChB,QAAQ,EACR,4EAA4E,CAC7E,CAAC;AACF,GAAG,CACD,oBAAoB,EACpB,YAAY,EACZ,2EAA2E,CAC5E,CAAC;AACF,GAAG,CACD,mBAAmB,EACnB,WAAW,EACX,4EAA4E,CAC7E,CAAC;AACF,GAAG,CACD,kBAAkB,EAClB,UAAU,EACV,wEAAwE,CACzE,CAAC;AACF,GAAG,CACD,kBAAkB,EAClB,UAAU,EACV,qFAAqF,CACtF,CAAC;AACF,GAAG,CACD,kBAAkB,EAClB,UAAU,EACV,kFAAkF,CACnF,CAAC;AACF,GAAG,CACD,aAAa,EACb,KAAK,EACL,uEAAuE,CACxE,CAAC;AACF,GAAG,CACD,cAAc,EACd,MAAM,EACN,4EAA4E,CAC7E,CAAC;AACF,GAAG,CACD,eAAe,EACf,KAAK,EACL,4EAA4E,CAC7E,CAAC;AACF,GAAG,CACD,iBAAiB,EACjB,SAAS,EACT,iDAAiD,CAClD,CAAC;AACF,GAAG,CACD,cAAc,EACd,MAAM,EACN,sFAAsF,CACvF,CAAC;AACF,GAAG,CACD,iBAAiB,EACjB,SAAS,EACT,iDAAiD,CAClD,CAAC;AACF,GAAG,CACD,aAAa,EACb,KAAK,EACL,mDAAmD,CACpD,CAAC;AACF,GAAG,CACD,gBAAgB,EAChB,QAAQ,EACR,wDAAwD,CACzD,CAAC;AACF,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,2CAA2C,CAAC,CAAC;AACnE,GAAG,CACD,eAAe,EACf,UAAU,EACV,8CAA8C,CAC/C,CAAC;AACF,GAAG,CACD,qBAAqB,EACrB,WAAW,EACX,4EAA4E,CAC7E,CAAC;AACF,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,6CAA6C,CAAC,CAAC;AAC3E,GAAG,CACD,kBAAkB,EAClB,QAAQ,EACR,iDAAiD,CAClD,CAAC;AACF,GAAG,CACD,qBAAqB,EACrB,QAAQ,EACR,oEAAoE,CACrE,CAAC;AACF,GAAG,CACD,oBAAoB,EACpB,YAAY,EACZ,6DAA6D,CAC9D,CAAC;AACF,GAAG,CACD,aAAa,EACb,KAAK,EACL,iEAAiE,CAClE,CAAC;AACF,GAAG,CACD,iBAAiB,EACjB,SAAS,EACT,uDAAuD,CACxD,CAAC;AACF,GAAG,CACD,eAAe,EACf,OAAO,EACP,oEAAoE,CACrE,CAAC;AACF,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,8CAA8C,CAAC,CAAC;AAC9E,GAAG,CACD,gBAAgB,EAChB,QAAQ,EACR,mDAAmD,CACpD,CAAC;AACF,GAAG,CACD,mBAAmB,EACnB,cAAc,EACd,8CAA8C,CAC/C,CAAC;AACF,GAAG,CACD,oBAAoB,EACpB,YAAY,EACZ,iDAAiD,CAClD,CAAC;AACF,GAAG,CACD,uBAAuB,EACvB,YAAY,EACZ,oDAAoD,CACrD,CAAC;AACF,GAAG,CACD,mBAAmB,EACnB,eAAe,EACf,gDAAgD,CACjD,CAAC;AACF,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,kCAAkC,CAAC,CAAC;AAC9D,CAAC,CACC,qBAAqB,EACrB,KAAK,EACL,oFAAoF,CACrF,CAAC;AACF,GAAG,CAAC,eAAe,EAAE,OAAO,EAAE,0CAA0C,CAAC,CAAC;AAC1E,GAAG,CAAC,eAAe,EAAE,OAAO,EAAE,0CAA0C,CAAC,CAAC;AAC1E,GAAG,CACD,kBAAkB,EAClB,QAAQ,EACR,+DAA+D,CAChE,CAAC;AACF,GAAG,CACD,sBAAsB,EACtB,QAAQ,EACR,mEAAmE,CACpE,CAAC;AACF,GAAG,CACD,mBAAmB,EACnB,YAAY,EACZ,4GAA4G,CAC7G,CAAC"}
@@ -0,0 +1,5 @@
1
+ export interface StorageHandlerOptions {
2
+ storagePath?: string;
3
+ }
4
+ export declare function createStorageHandler(opts?: StorageHandlerOptions): (request: Request) => Promise<Response>;
5
+ //# sourceMappingURL=storage-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-api.d.ts","sourceRoot":"","sources":["../src/storage-api.ts"],"names":[],"mappings":"AAkPA,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,oBAAoB,CAClC,IAAI,CAAC,EAAE,qBAAqB,GAC3B,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAqBzC"}
@@ -0,0 +1,221 @@
1
+ /**
2
+ * Storage REST API — binary PUT/GET/HEAD only.
3
+ * JSON ops (list, metadata, delete) have moved to the tRPC `storage` router.
4
+ */
5
+ import { createReadStream } from "node:fs";
6
+ import { mkdir, stat, writeFile } from "node:fs/promises";
7
+ import path, { extname } from "node:path";
8
+ import { getDefaultAssetsPath } from "@nodetool-ai/config";
9
+ // ── MIME types ────────────────────────────────────────────────────
10
+ const MIME_TYPES = {
11
+ ".jpg": "image/jpeg",
12
+ ".jpeg": "image/jpeg",
13
+ ".png": "image/png",
14
+ ".gif": "image/gif",
15
+ ".webp": "image/webp",
16
+ ".mp4": "video/mp4",
17
+ ".mp3": "audio/mpeg",
18
+ ".wav": "audio/wav",
19
+ ".json": "application/json",
20
+ ".txt": "text/plain",
21
+ ".pdf": "application/pdf"
22
+ };
23
+ function getMimeType(filePath) {
24
+ return (MIME_TYPES[extname(filePath).toLowerCase()] ?? "application/octet-stream");
25
+ }
26
+ // ── Key validation ────────────────────────────────────────────────
27
+ function validateStorageKey(key) {
28
+ if (!key)
29
+ return "Key is required";
30
+ if (key.startsWith("/"))
31
+ return "Key must not be absolute path";
32
+ const parts = key
33
+ .replace(/\\/g, "/")
34
+ .split("/")
35
+ .filter((p) => p && p !== ".");
36
+ if (parts.some((p) => p === ".."))
37
+ return "Key must not contain path traversal";
38
+ return null; // valid
39
+ }
40
+ function resolveStoragePath(rootDir, key) {
41
+ const normalized = key
42
+ .replace(/\\/g, "/")
43
+ .split("/")
44
+ .filter((p) => p && p !== ".")
45
+ .join("/");
46
+ return path.join(rootDir, normalized);
47
+ }
48
+ function parseRangeHeader(rangeHeader, fileSize) {
49
+ const match = rangeHeader.match(/^bytes=(\d*)-(\d*)$/);
50
+ if (!match)
51
+ return null;
52
+ const startStr = match[1];
53
+ const endStr = match[2];
54
+ let start;
55
+ let end;
56
+ if (startStr === "" && endStr !== "") {
57
+ // suffix range: bytes=-500
58
+ const suffixLength = Number.parseInt(endStr, 10);
59
+ start = Math.max(0, fileSize - suffixLength);
60
+ end = fileSize - 1;
61
+ }
62
+ else if (startStr !== "" && endStr === "") {
63
+ // open-ended range: bytes=500-
64
+ start = Number.parseInt(startStr, 10);
65
+ end = fileSize - 1;
66
+ }
67
+ else if (startStr !== "" && endStr !== "") {
68
+ start = Number.parseInt(startStr, 10);
69
+ end = Number.parseInt(endStr, 10);
70
+ }
71
+ else {
72
+ return null;
73
+ }
74
+ if (start > end || end >= fileSize || start < 0)
75
+ return null;
76
+ return { start, end };
77
+ }
78
+ // ── Node.js ReadableStream wrapper around fs.createReadStream ─────
79
+ function nodeStreamToWebStream(filePath, options) {
80
+ const nodeStream = createReadStream(filePath, options);
81
+ return new ReadableStream({
82
+ start(controller) {
83
+ nodeStream.on("data", (chunk) => {
84
+ if (typeof chunk === "string") {
85
+ controller.enqueue(Buffer.from(chunk));
86
+ }
87
+ else {
88
+ controller.enqueue(chunk);
89
+ }
90
+ });
91
+ nodeStream.on("end", () => controller.close());
92
+ nodeStream.on("error", (err) => controller.error(err));
93
+ },
94
+ cancel() {
95
+ nodeStream.destroy();
96
+ }
97
+ });
98
+ }
99
+ // ── Per-store handler ─────────────────────────────────────────────
100
+ async function handleStorageRequest(request, rootDir, key) {
101
+ const validationError = validateStorageKey(key);
102
+ if (validationError) {
103
+ return new Response(JSON.stringify({ detail: validationError }), {
104
+ status: 400,
105
+ headers: { "content-type": "application/json" }
106
+ });
107
+ }
108
+ const filePath = resolveStoragePath(rootDir, key);
109
+ // HEAD
110
+ if (request.method === "HEAD") {
111
+ let fileStat;
112
+ try {
113
+ fileStat = await stat(filePath);
114
+ }
115
+ catch {
116
+ return new Response(null, { status: 404 });
117
+ }
118
+ return new Response(null, {
119
+ status: 200,
120
+ headers: {
121
+ "Last-Modified": fileStat.mtime.toUTCString(),
122
+ "Content-Length": String(fileStat.size),
123
+ "Content-Type": getMimeType(filePath)
124
+ }
125
+ });
126
+ }
127
+ // GET
128
+ if (request.method === "GET") {
129
+ let fileStat;
130
+ try {
131
+ fileStat = await stat(filePath);
132
+ }
133
+ catch {
134
+ return new Response(JSON.stringify({ detail: "Not found" }), {
135
+ status: 404,
136
+ headers: { "content-type": "application/json" }
137
+ });
138
+ }
139
+ const mtime = fileStat.mtime;
140
+ const lastModified = mtime.toUTCString();
141
+ const fileSize = fileStat.size;
142
+ const contentType = getMimeType(filePath);
143
+ // If-Modified-Since check
144
+ const ifModifiedSince = request.headers.get("If-Modified-Since");
145
+ if (ifModifiedSince) {
146
+ const ifModifiedSinceDate = new Date(ifModifiedSince);
147
+ if (!Number.isNaN(ifModifiedSinceDate.getTime()) &&
148
+ mtime <= ifModifiedSinceDate) {
149
+ return new Response(null, { status: 304 });
150
+ }
151
+ }
152
+ // Range request
153
+ const rangeHeader = request.headers.get("Range");
154
+ if (rangeHeader) {
155
+ const range = parseRangeHeader(rangeHeader, fileSize);
156
+ if (!range) {
157
+ return new Response(JSON.stringify({ detail: "Range Not Satisfiable" }), {
158
+ status: 416,
159
+ headers: {
160
+ "content-type": "application/json",
161
+ "Content-Range": `bytes */${fileSize}`
162
+ }
163
+ });
164
+ }
165
+ const { start, end } = range;
166
+ const chunkSize = end - start + 1;
167
+ const body = nodeStreamToWebStream(filePath, { start, end });
168
+ return new Response(body, {
169
+ status: 206,
170
+ headers: {
171
+ "Content-Type": contentType,
172
+ "Content-Length": String(chunkSize),
173
+ "Content-Range": `bytes ${start}-${end}/${fileSize}`,
174
+ "Last-Modified": lastModified,
175
+ "Accept-Ranges": "bytes"
176
+ }
177
+ });
178
+ }
179
+ // Full file
180
+ const body = nodeStreamToWebStream(filePath);
181
+ return new Response(body, {
182
+ status: 200,
183
+ headers: {
184
+ "Content-Type": contentType,
185
+ "Content-Length": String(fileSize),
186
+ "Last-Modified": lastModified,
187
+ "Accept-Ranges": "bytes"
188
+ }
189
+ });
190
+ }
191
+ // PUT
192
+ if (request.method === "PUT") {
193
+ await mkdir(path.dirname(filePath), { recursive: true });
194
+ const bodyBuffer = await request.arrayBuffer();
195
+ await writeFile(filePath, Buffer.from(bodyBuffer));
196
+ return new Response(null, { status: 200 });
197
+ }
198
+ return new Response(JSON.stringify({ detail: "Method not allowed" }), {
199
+ status: 405,
200
+ headers: { "content-type": "application/json" }
201
+ });
202
+ }
203
+ export function createStorageHandler(opts) {
204
+ const storagePath = opts?.storagePath ?? getDefaultAssetsPath();
205
+ return async (request) => {
206
+ const url = new URL(request.url);
207
+ const pathname = url.pathname;
208
+ const PERM_PREFIX = "/api/storage/";
209
+ // All storage requests (including temp/) are served from the assets root.
210
+ // temp/ files are stored as assets/temp/{uuid}.ext by the FileStorageAdapter.
211
+ if (pathname.startsWith(PERM_PREFIX)) {
212
+ const key = decodeURIComponent(pathname.slice(PERM_PREFIX.length));
213
+ return handleStorageRequest(request, storagePath, key);
214
+ }
215
+ return new Response(JSON.stringify({ detail: "Not found" }), {
216
+ status: 404,
217
+ headers: { "content-type": "application/json" }
218
+ });
219
+ };
220
+ }
221
+ //# sourceMappingURL=storage-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-api.js","sourceRoot":"","sources":["../src/storage-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { type IncomingMessage, type ServerResponse } from "node:http";
2
+ import { type HttpApiOptions } from "./http-api.js";
3
+ export interface TestUiServerOptions extends HttpApiOptions {
4
+ port?: number;
5
+ host?: string;
6
+ examplesDir?: string;
7
+ }
8
+ export declare function createTestUiServer(options?: TestUiServerOptions): {
9
+ server: import("http").Server<typeof IncomingMessage, typeof ServerResponse>;
10
+ listen: () => Promise<void>;
11
+ close: () => Promise<void>;
12
+ info: {
13
+ host: string;
14
+ port: number;
15
+ metadataRoots: string[];
16
+ metadataCount: number;
17
+ };
18
+ };
19
+ //# sourceMappingURL=test-ui-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-ui-server.d.ts","sourceRoot":"","sources":["../src/test-ui-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,WAAW,CAAC;AAenB,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAk2B3E,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA8QD,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,mBAAwB;;;;;;;;;;EA2JnE"}