@nodetool-ai/websocket 0.8.1 → 0.8.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/dist/.nodetool-build-stamp +1 -1
- package/dist/collection-api.d.ts.map +1 -1
- package/dist/collection-api.js +41 -4
- package/dist/collection-api.js.map +1 -1
- package/dist/error-traces.d.ts +56 -0
- package/dist/error-traces.d.ts.map +1 -0
- package/dist/error-traces.js +179 -0
- package/dist/error-traces.js.map +1 -0
- package/dist/fake-runtime.d.ts.map +1 -1
- package/dist/fake-runtime.js +40 -3
- package/dist/fake-runtime.js.map +1 -1
- package/dist/generation-recovery.d.ts.map +1 -1
- package/dist/generation-recovery.js +26 -4
- package/dist/generation-recovery.js.map +1 -1
- package/dist/http-api.d.ts.map +1 -1
- package/dist/http-api.js +15 -0
- package/dist/http-api.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/interrupted-jobs.d.ts +14 -0
- package/dist/interrupted-jobs.d.ts.map +1 -0
- package/dist/interrupted-jobs.js +28 -0
- package/dist/interrupted-jobs.js.map +1 -0
- package/dist/lib/app-debug-service.js +1 -1
- package/dist/lib/app-debug-service.js.map +1 -1
- package/dist/lib/app-instances-service.d.ts +1284 -0
- package/dist/lib/app-instances-service.d.ts.map +1 -0
- package/dist/lib/app-instances-service.js +378 -0
- package/dist/lib/app-instances-service.js.map +1 -0
- package/dist/lib/app-run-cancellation.d.ts +4 -0
- package/dist/lib/app-run-cancellation.d.ts.map +1 -0
- package/dist/lib/app-run-cancellation.js +28 -0
- package/dist/lib/app-run-cancellation.js.map +1 -0
- package/dist/lib/applications-service.d.ts +182 -1
- package/dist/lib/applications-service.d.ts.map +1 -1
- package/dist/lib/applications-service.js +20 -4
- package/dist/lib/applications-service.js.map +1 -1
- package/dist/lib/asset-paths.d.ts +7 -11
- package/dist/lib/asset-paths.d.ts.map +1 -1
- package/dist/lib/asset-paths.js +8 -56
- package/dist/lib/asset-paths.js.map +1 -1
- package/dist/lib/asset-response.d.ts.map +1 -1
- package/dist/lib/asset-response.js +2 -1
- package/dist/lib/asset-response.js.map +1 -1
- package/dist/lib/audio-peaks.d.ts.map +1 -1
- package/dist/lib/audio-peaks.js +5 -1
- package/dist/lib/audio-peaks.js.map +1 -1
- package/dist/lib/bridge.d.ts.map +1 -1
- package/dist/lib/bridge.js.map +1 -1
- package/dist/lib/document-model-interfaces.d.ts.map +1 -1
- package/dist/lib/document-model-interfaces.js +9 -8
- package/dist/lib/document-model-interfaces.js.map +1 -1
- package/dist/lib/example-apps.d.ts +9 -0
- package/dist/lib/example-apps.d.ts.map +1 -1
- package/dist/lib/example-apps.js +61 -14
- package/dist/lib/example-apps.js.map +1 -1
- package/dist/lib/http-tracing.d.ts +12 -0
- package/dist/lib/http-tracing.d.ts.map +1 -0
- package/dist/lib/http-tracing.js +81 -0
- package/dist/lib/http-tracing.js.map +1 -0
- package/dist/lib/media.d.ts +1 -6
- package/dist/lib/media.d.ts.map +1 -1
- package/dist/lib/media.js +8 -44
- package/dist/lib/media.js.map +1 -1
- package/dist/lib/public-routes.d.ts +7 -0
- package/dist/lib/public-routes.d.ts.map +1 -1
- package/dist/lib/public-routes.js +14 -0
- package/dist/lib/public-routes.js.map +1 -1
- package/dist/lib/public-workflow-share.d.ts +20 -0
- package/dist/lib/public-workflow-share.d.ts.map +1 -0
- package/dist/lib/public-workflow-share.js +45 -0
- package/dist/lib/public-workflow-share.js.map +1 -0
- package/dist/lib/run-trace-live-delivery.d.ts +25 -0
- package/dist/lib/run-trace-live-delivery.d.ts.map +1 -0
- package/dist/lib/run-trace-live-delivery.js +91 -0
- package/dist/lib/run-trace-live-delivery.js.map +1 -0
- package/dist/lib/test-ui-run-routes.d.ts +8 -0
- package/dist/lib/test-ui-run-routes.d.ts.map +1 -0
- package/dist/lib/test-ui-run-routes.js +42 -0
- package/dist/lib/test-ui-run-routes.js.map +1 -0
- package/dist/lib/thumbnail.d.ts.map +1 -1
- package/dist/lib/thumbnail.js +12 -9
- package/dist/lib/thumbnail.js.map +1 -1
- package/dist/lib/timeline-bundle.d.ts +148 -16
- package/dist/lib/timeline-bundle.d.ts.map +1 -1
- package/dist/lib/timeline-bundle.js +12 -0
- package/dist/lib/timeline-bundle.js.map +1 -1
- package/dist/lib/video-proxy.d.ts.map +1 -1
- package/dist/lib/video-proxy.js +3 -2
- package/dist/lib/video-proxy.js.map +1 -1
- package/dist/lib/workflow-service.d.ts.map +1 -1
- package/dist/lib/workflow-service.js +4 -1
- package/dist/lib/workflow-service.js.map +1 -1
- package/dist/mcp-agent-tools.d.ts.map +1 -1
- package/dist/mcp-agent-tools.js +93 -162
- package/dist/mcp-agent-tools.js.map +1 -1
- package/dist/mcp-client-config.d.ts +64 -0
- package/dist/mcp-client-config.d.ts.map +1 -0
- package/dist/mcp-client-config.js +353 -0
- package/dist/mcp-client-config.js.map +1 -0
- package/dist/models-api.d.ts +10 -0
- package/dist/models-api.d.ts.map +1 -1
- package/dist/models-api.js +23 -0
- package/dist/models-api.js.map +1 -1
- package/dist/node-registry-setup.d.ts +1 -1
- package/dist/node-registry-setup.d.ts.map +1 -1
- package/dist/node-registry-setup.js +21 -114
- package/dist/node-registry-setup.js.map +1 -1
- package/dist/plugins/websocket.d.ts.map +1 -1
- package/dist/plugins/websocket.js +20 -57
- package/dist/plugins/websocket.js.map +1 -1
- package/dist/python-bridge-gate.d.ts +28 -0
- package/dist/python-bridge-gate.d.ts.map +1 -0
- package/dist/python-bridge-gate.js +36 -0
- package/dist/python-bridge-gate.js.map +1 -0
- package/dist/routes/app-runs.d.ts +4 -0
- package/dist/routes/app-runs.d.ts.map +1 -0
- package/dist/routes/app-runs.js +173 -0
- package/dist/routes/app-runs.js.map +1 -0
- package/dist/routes/js-scripts.d.ts +9 -3
- package/dist/routes/js-scripts.d.ts.map +1 -1
- package/dist/routes/js-scripts.js +450 -68
- package/dist/routes/js-scripts.js.map +1 -1
- package/dist/routes/nodes.d.ts.map +1 -1
- package/dist/routes/nodes.js +32 -1
- package/dist/routes/nodes.js.map +1 -1
- package/dist/routes/public-shared-workflows.d.ts +16 -0
- package/dist/routes/public-shared-workflows.d.ts.map +1 -0
- package/dist/routes/public-shared-workflows.js +55 -0
- package/dist/routes/public-shared-workflows.js.map +1 -0
- package/dist/routes/run-spans.d.ts +4 -0
- package/dist/routes/run-spans.d.ts.map +1 -0
- package/dist/routes/run-spans.js +53 -0
- package/dist/routes/run-spans.js.map +1 -0
- package/dist/routes/timeline-fonts.d.ts +22 -0
- package/dist/routes/timeline-fonts.d.ts.map +1 -1
- package/dist/routes/timeline-fonts.js +138 -7
- package/dist/routes/timeline-fonts.js.map +1 -1
- package/dist/screenshot-server.js +4 -5
- package/dist/screenshot-server.js.map +1 -1
- package/dist/sdk/sdk-model-download-service.d.ts.map +1 -1
- package/dist/sdk/sdk-model-download-service.js +5 -2
- package/dist/sdk/sdk-model-download-service.js.map +1 -1
- package/dist/server.js +86 -19
- package/dist/server.js.map +1 -1
- package/dist/session/app-run-fold.d.ts +7 -0
- package/dist/session/app-run-fold.d.ts.map +1 -0
- package/dist/session/app-run-fold.js +45 -0
- package/dist/session/app-run-fold.js.map +1 -0
- package/dist/session/chat-prompt.d.ts.map +1 -1
- package/dist/session/chat-prompt.js +37 -15
- package/dist/session/chat-prompt.js.map +1 -1
- package/dist/session/chat-turn.d.ts +1 -0
- package/dist/session/chat-turn.d.ts.map +1 -1
- package/dist/session/chat-turn.js +203 -107
- package/dist/session/chat-turn.js.map +1 -1
- package/dist/session/commands.d.ts.map +1 -1
- package/dist/session/commands.js +6 -0
- package/dist/session/commands.js.map +1 -1
- package/dist/session/inference.d.ts +5 -0
- package/dist/session/inference.d.ts.map +1 -1
- package/dist/session/inference.js +80 -9
- package/dist/session/inference.js.map +1 -1
- package/dist/session/job-execution.d.ts +7 -0
- package/dist/session/job-execution.d.ts.map +1 -1
- package/dist/session/job-execution.js +297 -7
- package/dist/session/job-execution.js.map +1 -1
- package/dist/session/model-interfaces.d.ts +2 -1
- package/dist/session/model-interfaces.d.ts.map +1 -1
- package/dist/session/model-interfaces.js +1 -0
- package/dist/session/model-interfaces.js.map +1 -1
- package/dist/storage-retention.d.ts +5 -0
- package/dist/storage-retention.d.ts.map +1 -1
- package/dist/storage-retention.js +22 -1
- package/dist/storage-retention.js.map +1 -1
- package/dist/test-ui-server.d.ts.map +1 -1
- package/dist/test-ui-server.js +21 -3
- package/dist/test-ui-server.js.map +1 -1
- package/dist/timeline-generation-recovery.d.ts +4 -0
- package/dist/timeline-generation-recovery.d.ts.map +1 -0
- package/dist/timeline-generation-recovery.js +72 -0
- package/dist/timeline-generation-recovery.js.map +1 -0
- package/dist/triggers/dispatcher.js +2 -2
- package/dist/triggers/dispatcher.js.map +1 -1
- package/dist/triggers/stores.js +8 -8
- package/dist/triggers/stores.js.map +1 -1
- package/dist/triggers/webhook-route.js +2 -2
- package/dist/triggers/webhook-route.js.map +1 -1
- package/dist/trpc/error-logging.d.ts +10 -0
- package/dist/trpc/error-logging.d.ts.map +1 -1
- package/dist/trpc/error-logging.js +21 -0
- package/dist/trpc/error-logging.js.map +1 -1
- package/dist/trpc/router.d.ts +100 -31028
- package/dist/trpc/router.d.ts.map +1 -1
- package/dist/trpc/router.js +12 -3
- package/dist/trpc/router.js.map +1 -1
- package/dist/trpc/routers/app-instances.d.ts +2269 -0
- package/dist/trpc/routers/app-instances.d.ts.map +1 -0
- package/dist/trpc/routers/app-instances.js +52 -0
- package/dist/trpc/routers/app-instances.js.map +1 -0
- package/dist/trpc/routers/app-runs.d.ts +1092 -0
- package/dist/trpc/routers/app-runs.d.ts.map +1 -0
- package/dist/trpc/routers/app-runs.js +28 -0
- package/dist/trpc/routers/app-runs.js.map +1 -0
- package/dist/trpc/routers/applications.d.ts +1095 -0
- package/dist/trpc/routers/applications.d.ts.map +1 -1
- package/dist/trpc/routers/applications.js +5 -2
- package/dist/trpc/routers/applications.js.map +1 -1
- package/dist/trpc/routers/assets.d.ts +10 -0
- package/dist/trpc/routers/assets.d.ts.map +1 -1
- package/dist/trpc/routers/assets.js +4 -0
- package/dist/trpc/routers/assets.js.map +1 -1
- package/dist/trpc/routers/bug-reports.d.ts +33 -0
- package/dist/trpc/routers/bug-reports.d.ts.map +1 -0
- package/dist/trpc/routers/bug-reports.js +69 -0
- package/dist/trpc/routers/bug-reports.js.map +1 -0
- package/dist/trpc/routers/documents.d.ts.map +1 -1
- package/dist/trpc/routers/documents.js +8 -2
- package/dist/trpc/routers/documents.js.map +1 -1
- package/dist/trpc/routers/error-traces.d.ts +132 -0
- package/dist/trpc/routers/error-traces.d.ts.map +1 -0
- package/dist/trpc/routers/error-traces.js +118 -0
- package/dist/trpc/routers/error-traces.js.map +1 -0
- package/dist/trpc/routers/extension.d.ts +3 -3
- package/dist/trpc/routers/extension.js +6 -6
- package/dist/trpc/routers/extension.js.map +1 -1
- package/dist/trpc/routers/gameDraftHistory.d.ts +8 -0
- package/dist/trpc/routers/gameDraftHistory.d.ts.map +1 -0
- package/dist/trpc/routers/gameDraftHistory.js +40 -0
- package/dist/trpc/routers/gameDraftHistory.js.map +1 -0
- package/dist/trpc/routers/games.d.ts +23691 -4799
- package/dist/trpc/routers/games.d.ts.map +1 -1
- package/dist/trpc/routers/games.js +301 -83
- package/dist/trpc/routers/games.js.map +1 -1
- package/dist/trpc/routers/jobs.d.ts +35 -0
- package/dist/trpc/routers/jobs.d.ts.map +1 -1
- package/dist/trpc/routers/jobs.js +84 -1
- package/dist/trpc/routers/jobs.js.map +1 -1
- package/dist/trpc/routers/mcp-config.d.ts +3 -1
- package/dist/trpc/routers/mcp-config.d.ts.map +1 -1
- package/dist/trpc/routers/mcp-config.js +46 -208
- package/dist/trpc/routers/mcp-config.js.map +1 -1
- package/dist/trpc/routers/models.d.ts +130 -0
- package/dist/trpc/routers/models.d.ts.map +1 -1
- package/dist/trpc/routers/models.js +99 -31
- package/dist/trpc/routers/models.js.map +1 -1
- package/dist/trpc/routers/runs.d.ts +472 -0
- package/dist/trpc/routers/runs.d.ts.map +1 -0
- package/dist/trpc/routers/runs.js +40 -0
- package/dist/trpc/routers/runs.js.map +1 -0
- package/dist/trpc/routers/settings.d.ts +3 -0
- package/dist/trpc/routers/settings.d.ts.map +1 -1
- package/dist/trpc/routers/settings.js +2 -0
- package/dist/trpc/routers/settings.js.map +1 -1
- package/dist/trpc/routers/sketch.d.ts +14 -0
- package/dist/trpc/routers/sketch.d.ts.map +1 -1
- package/dist/trpc/routers/storyboards.d.ts +732 -0
- package/dist/trpc/routers/storyboards.d.ts.map +1 -1
- package/dist/trpc/routers/timeline.d.ts +632 -63
- package/dist/trpc/routers/timeline.d.ts.map +1 -1
- package/dist/trpc/routers/timeline.js +178 -2
- package/dist/trpc/routers/timeline.js.map +1 -1
- package/dist/trpc/routers/worker.d.ts +10 -9
- package/dist/trpc/routers/worker.d.ts.map +1 -1
- package/dist/trpc/routers/worker.js +3 -2
- package/dist/trpc/routers/worker.js.map +1 -1
- package/dist/trpc/routers/workflows.d.ts +56 -3
- package/dist/trpc/routers/workflows.d.ts.map +1 -1
- package/dist/trpc/routers/workflows.js +23 -2
- package/dist/trpc/routers/workflows.js.map +1 -1
- package/dist/trpc/sandbox-coverage.d.ts.map +1 -1
- package/dist/trpc/sandbox-coverage.js +90 -0
- package/dist/trpc/sandbox-coverage.js.map +1 -1
- package/dist/websocket-client-session.d.ts +2 -0
- package/dist/websocket-client-session.d.ts.map +1 -1
- package/dist/websocket-client-session.js +14 -0
- package/dist/websocket-client-session.js.map +1 -1
- package/package.json +56 -41
- package/dist/extension-cdp-bridge.d.ts +0 -85
- package/dist/extension-cdp-bridge.d.ts.map +0 -1
- package/dist/extension-cdp-bridge.js +0 -163
- package/dist/extension-cdp-bridge.js.map +0 -1
|
@@ -81,6 +81,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
81
81
|
repo_id: string;
|
|
82
82
|
revision?: string | null | undefined;
|
|
83
83
|
path?: string | null | undefined;
|
|
84
|
+
allow_patterns?: string[] | null | undefined;
|
|
85
|
+
model_type?: string | null | undefined;
|
|
84
86
|
} | null | undefined;
|
|
85
87
|
} | null | undefined;
|
|
86
88
|
execution?: {
|
|
@@ -97,6 +99,15 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
97
99
|
}[];
|
|
98
100
|
meta: object;
|
|
99
101
|
}>;
|
|
102
|
+
/**
|
|
103
|
+
* Every ranked route as a `<provider>:<model_id>` key, best model first.
|
|
104
|
+
* The model menu orders an empty query with it.
|
|
105
|
+
*/
|
|
106
|
+
rankedKeys: import("@trpc/server").TRPCQueryProcedure<{
|
|
107
|
+
input: void;
|
|
108
|
+
output: string[];
|
|
109
|
+
meta: object;
|
|
110
|
+
}>;
|
|
100
111
|
recommendedImageTextToImage: import("@trpc/server").TRPCQueryProcedure<{
|
|
101
112
|
input: void;
|
|
102
113
|
output: {
|
|
@@ -140,6 +151,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
140
151
|
repo_id: string;
|
|
141
152
|
revision?: string | null | undefined;
|
|
142
153
|
path?: string | null | undefined;
|
|
154
|
+
allow_patterns?: string[] | null | undefined;
|
|
155
|
+
model_type?: string | null | undefined;
|
|
143
156
|
} | null | undefined;
|
|
144
157
|
} | null | undefined;
|
|
145
158
|
execution?: {
|
|
@@ -199,6 +212,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
199
212
|
repo_id: string;
|
|
200
213
|
revision?: string | null | undefined;
|
|
201
214
|
path?: string | null | undefined;
|
|
215
|
+
allow_patterns?: string[] | null | undefined;
|
|
216
|
+
model_type?: string | null | undefined;
|
|
202
217
|
} | null | undefined;
|
|
203
218
|
} | null | undefined;
|
|
204
219
|
execution?: {
|
|
@@ -258,6 +273,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
258
273
|
repo_id: string;
|
|
259
274
|
revision?: string | null | undefined;
|
|
260
275
|
path?: string | null | undefined;
|
|
276
|
+
allow_patterns?: string[] | null | undefined;
|
|
277
|
+
model_type?: string | null | undefined;
|
|
261
278
|
} | null | undefined;
|
|
262
279
|
} | null | undefined;
|
|
263
280
|
execution?: {
|
|
@@ -317,6 +334,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
317
334
|
repo_id: string;
|
|
318
335
|
revision?: string | null | undefined;
|
|
319
336
|
path?: string | null | undefined;
|
|
337
|
+
allow_patterns?: string[] | null | undefined;
|
|
338
|
+
model_type?: string | null | undefined;
|
|
320
339
|
} | null | undefined;
|
|
321
340
|
} | null | undefined;
|
|
322
341
|
execution?: {
|
|
@@ -376,6 +395,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
376
395
|
repo_id: string;
|
|
377
396
|
revision?: string | null | undefined;
|
|
378
397
|
path?: string | null | undefined;
|
|
398
|
+
allow_patterns?: string[] | null | undefined;
|
|
399
|
+
model_type?: string | null | undefined;
|
|
379
400
|
} | null | undefined;
|
|
380
401
|
} | null | undefined;
|
|
381
402
|
execution?: {
|
|
@@ -435,6 +456,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
435
456
|
repo_id: string;
|
|
436
457
|
revision?: string | null | undefined;
|
|
437
458
|
path?: string | null | undefined;
|
|
459
|
+
allow_patterns?: string[] | null | undefined;
|
|
460
|
+
model_type?: string | null | undefined;
|
|
438
461
|
} | null | undefined;
|
|
439
462
|
} | null | undefined;
|
|
440
463
|
execution?: {
|
|
@@ -494,6 +517,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
494
517
|
repo_id: string;
|
|
495
518
|
revision?: string | null | undefined;
|
|
496
519
|
path?: string | null | undefined;
|
|
520
|
+
allow_patterns?: string[] | null | undefined;
|
|
521
|
+
model_type?: string | null | undefined;
|
|
497
522
|
} | null | undefined;
|
|
498
523
|
} | null | undefined;
|
|
499
524
|
execution?: {
|
|
@@ -561,6 +586,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
561
586
|
repo_id: string;
|
|
562
587
|
revision?: string | null | undefined;
|
|
563
588
|
path?: string | null | undefined;
|
|
589
|
+
allow_patterns?: string[] | null | undefined;
|
|
590
|
+
model_type?: string | null | undefined;
|
|
564
591
|
} | null | undefined;
|
|
565
592
|
} | null | undefined;
|
|
566
593
|
execution?: {
|
|
@@ -623,6 +650,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
623
650
|
repo_id: string;
|
|
624
651
|
revision?: string | null | undefined;
|
|
625
652
|
path?: string | null | undefined;
|
|
653
|
+
allow_patterns?: string[] | null | undefined;
|
|
654
|
+
model_type?: string | null | undefined;
|
|
626
655
|
} | null | undefined;
|
|
627
656
|
} | null | undefined;
|
|
628
657
|
execution?: {
|
|
@@ -688,6 +717,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
688
717
|
repo_id: string;
|
|
689
718
|
revision?: string | null | undefined;
|
|
690
719
|
path?: string | null | undefined;
|
|
720
|
+
allow_patterns?: string[] | null | undefined;
|
|
721
|
+
model_type?: string | null | undefined;
|
|
691
722
|
} | null | undefined;
|
|
692
723
|
} | null | undefined;
|
|
693
724
|
execution?: {
|
|
@@ -765,6 +796,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
765
796
|
repo_id: string;
|
|
766
797
|
revision?: string | null | undefined;
|
|
767
798
|
path?: string | null | undefined;
|
|
799
|
+
allow_patterns?: string[] | null | undefined;
|
|
800
|
+
model_type?: string | null | undefined;
|
|
768
801
|
} | null | undefined;
|
|
769
802
|
} | null | undefined;
|
|
770
803
|
execution?: {
|
|
@@ -833,6 +866,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
833
866
|
repo_id: string;
|
|
834
867
|
revision?: string | null | undefined;
|
|
835
868
|
path?: string | null | undefined;
|
|
869
|
+
allow_patterns?: string[] | null | undefined;
|
|
870
|
+
model_type?: string | null | undefined;
|
|
836
871
|
} | null | undefined;
|
|
837
872
|
} | null | undefined;
|
|
838
873
|
execution?: {
|
|
@@ -898,6 +933,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
898
933
|
repo_id: string;
|
|
899
934
|
revision?: string | null | undefined;
|
|
900
935
|
path?: string | null | undefined;
|
|
936
|
+
allow_patterns?: string[] | null | undefined;
|
|
937
|
+
model_type?: string | null | undefined;
|
|
901
938
|
} | null | undefined;
|
|
902
939
|
} | null | undefined;
|
|
903
940
|
execution?: {
|
|
@@ -968,6 +1005,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
968
1005
|
repo_id: string;
|
|
969
1006
|
revision?: string | null | undefined;
|
|
970
1007
|
path?: string | null | undefined;
|
|
1008
|
+
allow_patterns?: string[] | null | undefined;
|
|
1009
|
+
model_type?: string | null | undefined;
|
|
971
1010
|
} | null | undefined;
|
|
972
1011
|
} | null | undefined;
|
|
973
1012
|
execution?: {
|
|
@@ -1037,6 +1076,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
1037
1076
|
repo_id: string;
|
|
1038
1077
|
revision?: string | null | undefined;
|
|
1039
1078
|
path?: string | null | undefined;
|
|
1079
|
+
allow_patterns?: string[] | null | undefined;
|
|
1080
|
+
model_type?: string | null | undefined;
|
|
1040
1081
|
} | null | undefined;
|
|
1041
1082
|
} | null | undefined;
|
|
1042
1083
|
execution?: {
|
|
@@ -1122,6 +1163,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
1122
1163
|
repo_id: string;
|
|
1123
1164
|
revision?: string | null | undefined;
|
|
1124
1165
|
path?: string | null | undefined;
|
|
1166
|
+
allow_patterns?: string[] | null | undefined;
|
|
1167
|
+
model_type?: string | null | undefined;
|
|
1125
1168
|
} | null | undefined;
|
|
1126
1169
|
} | null | undefined;
|
|
1127
1170
|
execution?: {
|
|
@@ -1201,6 +1244,71 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
1201
1244
|
repo_id: string;
|
|
1202
1245
|
revision?: string | null | undefined;
|
|
1203
1246
|
path?: string | null | undefined;
|
|
1247
|
+
allow_patterns?: string[] | null | undefined;
|
|
1248
|
+
model_type?: string | null | undefined;
|
|
1249
|
+
} | null | undefined;
|
|
1250
|
+
} | null | undefined;
|
|
1251
|
+
execution?: {
|
|
1252
|
+
kind: "api" | "local" | "server" | "unavailable";
|
|
1253
|
+
state: "download_required" | "ready" | "unavailable";
|
|
1254
|
+
label: "API" | "Local" | "Server" | "Unavailable";
|
|
1255
|
+
reason?: string | null | undefined;
|
|
1256
|
+
execution_site?: "nodetool_host" | "provider" | null | undefined;
|
|
1257
|
+
runtime_name?: string | null | undefined;
|
|
1258
|
+
} | null | undefined;
|
|
1259
|
+
durations?: number[] | null | undefined;
|
|
1260
|
+
resolutions?: string[] | null | undefined;
|
|
1261
|
+
aspect_ratios?: string[] | null | undefined;
|
|
1262
|
+
}[];
|
|
1263
|
+
meta: object;
|
|
1264
|
+
}>;
|
|
1265
|
+
rerankByProvider: import("@trpc/server").TRPCQueryProcedure<{
|
|
1266
|
+
input: {
|
|
1267
|
+
provider: string;
|
|
1268
|
+
};
|
|
1269
|
+
output: {
|
|
1270
|
+
id: string;
|
|
1271
|
+
type?: string | null | undefined;
|
|
1272
|
+
name: string;
|
|
1273
|
+
provider?: string | null | undefined;
|
|
1274
|
+
repo_id?: string | null | undefined;
|
|
1275
|
+
path?: string | null | undefined;
|
|
1276
|
+
artifact_family?: string | null | undefined;
|
|
1277
|
+
artifact_component?: string | null | undefined;
|
|
1278
|
+
artifact_confidence?: number | null | undefined;
|
|
1279
|
+
artifact_evidence?: string[] | null | undefined;
|
|
1280
|
+
cache_path?: string | null | undefined;
|
|
1281
|
+
allow_patterns?: string[] | null | undefined;
|
|
1282
|
+
ignore_patterns?: string[] | null | undefined;
|
|
1283
|
+
description?: string | null | undefined;
|
|
1284
|
+
readme?: string | null | undefined;
|
|
1285
|
+
downloaded?: boolean | null | undefined;
|
|
1286
|
+
size_on_disk?: number | null | undefined;
|
|
1287
|
+
pipeline_tag?: string | null | undefined;
|
|
1288
|
+
tags?: string[] | null | undefined;
|
|
1289
|
+
has_model_index?: boolean | null | undefined;
|
|
1290
|
+
downloads?: number | null | undefined;
|
|
1291
|
+
likes?: number | null | undefined;
|
|
1292
|
+
supported_tasks?: string[] | null | undefined;
|
|
1293
|
+
trending_score?: number | null | undefined;
|
|
1294
|
+
image?: string | null | undefined;
|
|
1295
|
+
supports_tools?: boolean | null | undefined;
|
|
1296
|
+
voices?: string[] | null | undefined;
|
|
1297
|
+
capabilities?: string[] | null | undefined;
|
|
1298
|
+
languages?: string[] | null | undefined;
|
|
1299
|
+
sample_rate?: number | null | undefined;
|
|
1300
|
+
requires_reference_text?: boolean | null | undefined;
|
|
1301
|
+
adapter?: {
|
|
1302
|
+
state: "installed" | "missing_dependency" | "unknown";
|
|
1303
|
+
reason_code?: string | null | undefined;
|
|
1304
|
+
reason?: string | null | undefined;
|
|
1305
|
+
artifact_ref?: {
|
|
1306
|
+
source: "huggingface";
|
|
1307
|
+
repo_id: string;
|
|
1308
|
+
revision?: string | null | undefined;
|
|
1309
|
+
path?: string | null | undefined;
|
|
1310
|
+
allow_patterns?: string[] | null | undefined;
|
|
1311
|
+
model_type?: string | null | undefined;
|
|
1204
1312
|
} | null | undefined;
|
|
1205
1313
|
} | null | undefined;
|
|
1206
1314
|
execution?: {
|
|
@@ -1260,6 +1368,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
1260
1368
|
repo_id: string;
|
|
1261
1369
|
revision?: string | null | undefined;
|
|
1262
1370
|
path?: string | null | undefined;
|
|
1371
|
+
allow_patterns?: string[] | null | undefined;
|
|
1372
|
+
model_type?: string | null | undefined;
|
|
1263
1373
|
} | null | undefined;
|
|
1264
1374
|
} | null | undefined;
|
|
1265
1375
|
execution?: {
|
|
@@ -1321,6 +1431,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
1321
1431
|
repo_id: string;
|
|
1322
1432
|
revision?: string | null | undefined;
|
|
1323
1433
|
path?: string | null | undefined;
|
|
1434
|
+
allow_patterns?: string[] | null | undefined;
|
|
1435
|
+
model_type?: string | null | undefined;
|
|
1324
1436
|
} | null | undefined;
|
|
1325
1437
|
} | null | undefined;
|
|
1326
1438
|
execution?: {
|
|
@@ -1380,6 +1492,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
1380
1492
|
repo_id: string;
|
|
1381
1493
|
revision?: string | null | undefined;
|
|
1382
1494
|
path?: string | null | undefined;
|
|
1495
|
+
allow_patterns?: string[] | null | undefined;
|
|
1496
|
+
model_type?: string | null | undefined;
|
|
1383
1497
|
} | null | undefined;
|
|
1384
1498
|
} | null | undefined;
|
|
1385
1499
|
execution?: {
|
|
@@ -1441,6 +1555,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
1441
1555
|
repo_id: string;
|
|
1442
1556
|
revision?: string | null | undefined;
|
|
1443
1557
|
path?: string | null | undefined;
|
|
1558
|
+
allow_patterns?: string[] | null | undefined;
|
|
1559
|
+
model_type?: string | null | undefined;
|
|
1444
1560
|
} | null | undefined;
|
|
1445
1561
|
} | null | undefined;
|
|
1446
1562
|
execution?: {
|
|
@@ -1500,6 +1616,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
1500
1616
|
repo_id: string;
|
|
1501
1617
|
revision?: string | null | undefined;
|
|
1502
1618
|
path?: string | null | undefined;
|
|
1619
|
+
allow_patterns?: string[] | null | undefined;
|
|
1620
|
+
model_type?: string | null | undefined;
|
|
1503
1621
|
} | null | undefined;
|
|
1504
1622
|
} | null | undefined;
|
|
1505
1623
|
execution?: {
|
|
@@ -1561,6 +1679,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
1561
1679
|
repo_id: string;
|
|
1562
1680
|
revision?: string | null | undefined;
|
|
1563
1681
|
path?: string | null | undefined;
|
|
1682
|
+
allow_patterns?: string[] | null | undefined;
|
|
1683
|
+
model_type?: string | null | undefined;
|
|
1564
1684
|
} | null | undefined;
|
|
1565
1685
|
} | null | undefined;
|
|
1566
1686
|
execution?: {
|
|
@@ -1620,6 +1740,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
1620
1740
|
repo_id: string;
|
|
1621
1741
|
revision?: string | null | undefined;
|
|
1622
1742
|
path?: string | null | undefined;
|
|
1743
|
+
allow_patterns?: string[] | null | undefined;
|
|
1744
|
+
model_type?: string | null | undefined;
|
|
1623
1745
|
} | null | undefined;
|
|
1624
1746
|
} | null | undefined;
|
|
1625
1747
|
execution?: {
|
|
@@ -1681,6 +1803,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
1681
1803
|
repo_id: string;
|
|
1682
1804
|
revision?: string | null | undefined;
|
|
1683
1805
|
path?: string | null | undefined;
|
|
1806
|
+
allow_patterns?: string[] | null | undefined;
|
|
1807
|
+
model_type?: string | null | undefined;
|
|
1684
1808
|
} | null | undefined;
|
|
1685
1809
|
} | null | undefined;
|
|
1686
1810
|
execution?: {
|
|
@@ -1740,6 +1864,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
1740
1864
|
repo_id: string;
|
|
1741
1865
|
revision?: string | null | undefined;
|
|
1742
1866
|
path?: string | null | undefined;
|
|
1867
|
+
allow_patterns?: string[] | null | undefined;
|
|
1868
|
+
model_type?: string | null | undefined;
|
|
1743
1869
|
} | null | undefined;
|
|
1744
1870
|
} | null | undefined;
|
|
1745
1871
|
execution?: {
|
|
@@ -1801,6 +1927,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
1801
1927
|
repo_id: string;
|
|
1802
1928
|
revision?: string | null | undefined;
|
|
1803
1929
|
path?: string | null | undefined;
|
|
1930
|
+
allow_patterns?: string[] | null | undefined;
|
|
1931
|
+
model_type?: string | null | undefined;
|
|
1804
1932
|
} | null | undefined;
|
|
1805
1933
|
} | null | undefined;
|
|
1806
1934
|
execution?: {
|
|
@@ -1862,6 +1990,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
1862
1990
|
repo_id: string;
|
|
1863
1991
|
revision?: string | null | undefined;
|
|
1864
1992
|
path?: string | null | undefined;
|
|
1993
|
+
allow_patterns?: string[] | null | undefined;
|
|
1994
|
+
model_type?: string | null | undefined;
|
|
1865
1995
|
} | null | undefined;
|
|
1866
1996
|
} | null | undefined;
|
|
1867
1997
|
execution?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/trpc/routers/models.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/trpc/routers/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { router } from "../index.js";
|
|
|
2
2
|
import { protectedProcedure } from "../middleware.js";
|
|
3
3
|
import { TRPCError } from "@trpc/server";
|
|
4
4
|
import { createLogger } from "@nodetool-ai/config";
|
|
5
|
+
import { discoverASRModels, discoverVadModels } from "@nodetool-ai/whisper-cpp";
|
|
5
6
|
import { getProvider, getRegisteredProvider, isProviderConfigured, listRegisteredProviderIds, RECOMMENDED_MODELS, OLLAMA_DEFAULT_URL, OllamaProvider, LMSTUDIO_DEFAULT_URL } from "@nodetool-ai/runtime";
|
|
6
7
|
import { getSecret as getStoredSecret } from "@nodetool-ai/models";
|
|
7
8
|
import { syncCustomProviderRegistry } from "../../custom-providers.js";
|
|
@@ -12,6 +13,7 @@ const log = createLogger("nodetool.websocket.trpc.models");
|
|
|
12
13
|
import { readCachedHfModels, searchCachedHfModels, getModelsByHfType, filterModelsByHfType, deleteCachedHfModel } from "@nodetool-ai/huggingface";
|
|
13
14
|
import { getTransformersJsCacheDir, recommendedFor, scanTransformersJsCache, TJS_MODEL_TYPES } from "@nodetool-ai/transformers-js-nodes";
|
|
14
15
|
import { MODEL_SEARCH_KINDS } from "@nodetool-ai/protocol";
|
|
16
|
+
import { rankedModelKeys } from "../../models-api.js";
|
|
15
17
|
import { access, readdir } from "node:fs/promises";
|
|
16
18
|
import { constants as fsConstants } from "node:fs";
|
|
17
19
|
import { homedir } from "node:os";
|
|
@@ -23,7 +25,9 @@ const modelArtifactRefSchema = z.object({
|
|
|
23
25
|
source: z.literal("huggingface"),
|
|
24
26
|
repo_id: z.string(),
|
|
25
27
|
revision: z.string().nullish(),
|
|
26
|
-
path: z.string().nullish()
|
|
28
|
+
path: z.string().nullish(),
|
|
29
|
+
allow_patterns: z.array(z.string()).nullish(),
|
|
30
|
+
model_type: z.string().nullish()
|
|
27
31
|
});
|
|
28
32
|
const modelAdapterInfoSchema = z.object({
|
|
29
33
|
state: z.enum(["installed", "missing_dependency", "unknown"]),
|
|
@@ -474,8 +478,25 @@ async function serverAllowsModel(model, servers, userId) {
|
|
|
474
478
|
return await isProviderConfigured(model.provider, secretResolverFor(userId));
|
|
475
479
|
return true;
|
|
476
480
|
}
|
|
481
|
+
async function withWhisperDownloadStatus(models, userId) {
|
|
482
|
+
const modelsDir = await secretResolverFor(userId)("WHISPER_CPP_MODELS_DIR");
|
|
483
|
+
const whisperFiles = new Map((await Promise.all([
|
|
484
|
+
discoverASRModels(modelsDir),
|
|
485
|
+
discoverVadModels(modelsDir)
|
|
486
|
+
]))
|
|
487
|
+
.flat()
|
|
488
|
+
.map((model) => [model.id.split(/[\\/]/).at(-1), model.id]));
|
|
489
|
+
return Promise.all(models.map(async (model) => model.provider === "whisper_cpp" && model.repo_id && model.path
|
|
490
|
+
? {
|
|
491
|
+
...model,
|
|
492
|
+
id: whisperFiles.get(model.path) ?? model.id,
|
|
493
|
+
downloaded: whisperFiles.has(model.path) ||
|
|
494
|
+
(await repoFileInCache(model.repo_id, model.path))
|
|
495
|
+
}
|
|
496
|
+
: model));
|
|
497
|
+
}
|
|
477
498
|
async function getRecommendedModels(checkServers, userId) {
|
|
478
|
-
const models = [...RECOMMENDED_MODELS];
|
|
499
|
+
const models = await withWhisperDownloadStatus([...RECOMMENDED_MODELS], userId);
|
|
479
500
|
if (!checkServers)
|
|
480
501
|
return models;
|
|
481
502
|
const servers = await getServerAvailability(userId);
|
|
@@ -602,7 +623,10 @@ function toUnifiedModel(model, type) {
|
|
|
602
623
|
provider: model.provider,
|
|
603
624
|
repo_id: null,
|
|
604
625
|
path: null,
|
|
605
|
-
downloaded: model.provider === "ollama" ||
|
|
626
|
+
downloaded: model.provider === "ollama" ||
|
|
627
|
+
model.provider === "llama_cpp" ||
|
|
628
|
+
model.provider === "whisper_cpp" ||
|
|
629
|
+
model.provider === "whisper_cpp_server",
|
|
606
630
|
tags: [model.provider],
|
|
607
631
|
voices: model.voices ?? null,
|
|
608
632
|
capabilities: model.capabilities ?? null,
|
|
@@ -619,7 +643,9 @@ function toUnifiedModel(model, type) {
|
|
|
619
643
|
source: model.adapter.artifactRef.source,
|
|
620
644
|
repo_id: model.adapter.artifactRef.repoId,
|
|
621
645
|
revision: model.adapter.artifactRef.revision ?? null,
|
|
622
|
-
path: model.adapter.artifactRef.path ?? null
|
|
646
|
+
path: model.adapter.artifactRef.path ?? null,
|
|
647
|
+
allow_patterns: model.adapter.artifactRef.allowPatterns ?? null,
|
|
648
|
+
model_type: model.adapter.artifactRef.modelType ?? null
|
|
623
649
|
}
|
|
624
650
|
: null
|
|
625
651
|
}
|
|
@@ -669,11 +695,20 @@ async function resolveProviderModelExecution(models, configuredProviderIds) {
|
|
|
669
695
|
catch {
|
|
670
696
|
// A failed cache scan means local adapters remain download-required.
|
|
671
697
|
}
|
|
698
|
+
if (models.some((model) => model.adapter?.artifact_ref?.model_type?.startsWith("tjs."))) {
|
|
699
|
+
try {
|
|
700
|
+
const cached = await scanTransformersJsCache(getTransformersJsCacheDir());
|
|
701
|
+
cachedModels.push(...cached.map((c) => tjsRefToUnified({ repo_id: c.repo_id }, "tjs.cached", true, c.size_bytes)));
|
|
702
|
+
}
|
|
703
|
+
catch {
|
|
704
|
+
// Transformers.js adapters remain download-required.
|
|
705
|
+
}
|
|
706
|
+
}
|
|
672
707
|
return resolveModelExecutionAvailability([...models, ...cachedModels], providerExecutionMap(configuredProviderIds)).slice(0, models.length);
|
|
673
708
|
}
|
|
674
709
|
export async function getAllModels(userId) {
|
|
675
710
|
const all = [];
|
|
676
|
-
all.push(...
|
|
711
|
+
all.push(...(await getRecommendedModels(false, userId)));
|
|
677
712
|
const availableIds = await getAvailableProviderIds(userId);
|
|
678
713
|
const providerModelsPromises = availableIds.map(async (providerId) => {
|
|
679
714
|
try {
|
|
@@ -848,7 +883,9 @@ function curatedForKind(kind) {
|
|
|
848
883
|
const taskRequired = kind !== "text_to_speech" &&
|
|
849
884
|
kind !== "speech_to_text" &&
|
|
850
885
|
kind !== "text_to_music";
|
|
851
|
-
return RECOMMENDED_MODELS.filter((r) => r.modality === modality &&
|
|
886
|
+
return RECOMMENDED_MODELS.filter((r) => r.modality === modality &&
|
|
887
|
+
r.type !== "hf.whisper_cpp_vad" &&
|
|
888
|
+
(!taskRequired || r.task === kind));
|
|
852
889
|
}
|
|
853
890
|
// ── Router ─────────────────────────────────────────────────────────
|
|
854
891
|
export const modelsRouter = router({
|
|
@@ -892,6 +929,13 @@ export const modelsRouter = router({
|
|
|
892
929
|
.query(async ({ input, ctx }) => {
|
|
893
930
|
return getRecommendedModels(input.check_servers ?? false, ctx.userId);
|
|
894
931
|
}),
|
|
932
|
+
/**
|
|
933
|
+
* Every ranked route as a `<provider>:<model_id>` key, best model first.
|
|
934
|
+
* The model menu orders an empty query with it.
|
|
935
|
+
*/
|
|
936
|
+
rankedKeys: protectedProcedure
|
|
937
|
+
.output(z.array(z.string()))
|
|
938
|
+
.query(() => rankedModelKeys()),
|
|
895
939
|
recommendedImageTextToImage: protectedProcedure
|
|
896
940
|
.output(modelsListOutput)
|
|
897
941
|
.query(() => selectRecommended("image", "text_to_image")),
|
|
@@ -901,9 +945,7 @@ export const modelsRouter = router({
|
|
|
901
945
|
recommendedLanguageEmbedding: protectedProcedure
|
|
902
946
|
.output(modelsListOutput)
|
|
903
947
|
.query(() => selectRecommended("language", "embedding")),
|
|
904
|
-
recommendedAsr: protectedProcedure
|
|
905
|
-
.output(modelsListOutput)
|
|
906
|
-
.query(() => selectRecommended("asr")),
|
|
948
|
+
recommendedAsr: protectedProcedure.output(modelsListOutput).query(({ ctx }) => withWhisperDownloadStatus(selectRecommended("asr").filter((model) => model.type !== "hf.whisper_cpp_vad"), ctx.userId)),
|
|
907
949
|
recommendedTts: protectedProcedure
|
|
908
950
|
.output(modelsListOutput)
|
|
909
951
|
.query(() => selectRecommended("tts")),
|
|
@@ -1170,13 +1212,33 @@ export const modelsRouter = router({
|
|
|
1170
1212
|
imageByProvider: protectedProcedure
|
|
1171
1213
|
.input(providerInput)
|
|
1172
1214
|
.output(modelsListOutput)
|
|
1173
|
-
.query(async ({ ctx, input }) =>
|
|
1174
|
-
const
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1215
|
+
.query(async ({ ctx, input }) => {
|
|
1216
|
+
const models = await safeProviderCall("imageByProvider", { provider: input.provider, userId: ctx.userId }, async () => {
|
|
1217
|
+
const instance = await instantiateProvider(input.provider, ctx.userId);
|
|
1218
|
+
if (!instance)
|
|
1219
|
+
return [];
|
|
1220
|
+
const models = await instance.getAvailableImageModels();
|
|
1221
|
+
return models.map((m) => toUnifiedModel(m, "image_model"));
|
|
1222
|
+
}, []);
|
|
1223
|
+
// Only a local model has files to download. Remote catalogs keep the
|
|
1224
|
+
// execution state that toUnifiedModel gave them.
|
|
1225
|
+
return models.some((model) => model.adapter)
|
|
1226
|
+
? resolveProviderModelExecution(models, [input.provider])
|
|
1227
|
+
: models;
|
|
1228
|
+
}),
|
|
1229
|
+
rerankByProvider: protectedProcedure
|
|
1230
|
+
.input(providerInput)
|
|
1231
|
+
.output(modelsListOutput)
|
|
1232
|
+
.query(async ({ ctx, input }) => {
|
|
1233
|
+
const models = await safeProviderCall("rerankByProvider", { provider: input.provider, userId: ctx.userId }, async () => {
|
|
1234
|
+
const instance = await instantiateProvider(input.provider, ctx.userId);
|
|
1235
|
+
if (!instance)
|
|
1236
|
+
return [];
|
|
1237
|
+
const models = await instance.getAvailableRerankModels();
|
|
1238
|
+
return models.map((m) => toUnifiedModel(m, "rerank_model"));
|
|
1239
|
+
}, []);
|
|
1240
|
+
return resolveProviderModelExecution(models, [input.provider]);
|
|
1241
|
+
}),
|
|
1180
1242
|
tts: protectedProcedure.output(modelsListOutput).query(async ({ ctx }) => {
|
|
1181
1243
|
const availableIds = await getAvailableProviderIds(ctx.userId);
|
|
1182
1244
|
const results = await Promise.all(availableIds.map((providerId) => safeProviderCall("tts (aggregate)", { provider: providerId, userId: ctx.userId }, async () => {
|
|
@@ -1254,18 +1316,21 @@ export const modelsRouter = router({
|
|
|
1254
1316
|
const models = await instance.getAvailableASRModels();
|
|
1255
1317
|
return models.map((m) => toUnifiedModel(m, "asr_model"));
|
|
1256
1318
|
}, [])));
|
|
1257
|
-
return results.flat();
|
|
1319
|
+
return resolveProviderModelExecution(results.flat(), availableIds);
|
|
1258
1320
|
}),
|
|
1259
1321
|
asrByProvider: protectedProcedure
|
|
1260
1322
|
.input(providerInput)
|
|
1261
1323
|
.output(modelsListOutput)
|
|
1262
|
-
.query(async ({ ctx, input }) =>
|
|
1263
|
-
const
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1324
|
+
.query(async ({ ctx, input }) => {
|
|
1325
|
+
const models = await safeProviderCall("asrByProvider", { provider: input.provider, userId: ctx.userId }, async () => {
|
|
1326
|
+
const instance = await instantiateProvider(input.provider, ctx.userId);
|
|
1327
|
+
if (!instance)
|
|
1328
|
+
return [];
|
|
1329
|
+
const models = await instance.getAvailableASRModels();
|
|
1330
|
+
return models.map((m) => toUnifiedModel(m, "asr_model"));
|
|
1331
|
+
}, []);
|
|
1332
|
+
return resolveProviderModelExecution(models, [input.provider]);
|
|
1333
|
+
}),
|
|
1269
1334
|
video: protectedProcedure.output(modelsListOutput).query(async ({ ctx }) => {
|
|
1270
1335
|
const availableIds = await getAvailableProviderIds(ctx.userId);
|
|
1271
1336
|
const results = await Promise.all(availableIds.map((providerId) => safeProviderCall("video (aggregate)", { provider: providerId, userId: ctx.userId }, async () => {
|
|
@@ -1290,13 +1355,16 @@ export const modelsRouter = router({
|
|
|
1290
1355
|
embeddingByProvider: protectedProcedure
|
|
1291
1356
|
.input(providerInput)
|
|
1292
1357
|
.output(modelsListOutput)
|
|
1293
|
-
.query(async ({ ctx, input }) =>
|
|
1294
|
-
const
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1358
|
+
.query(async ({ ctx, input }) => {
|
|
1359
|
+
const models = await safeProviderCall("embeddingByProvider", { provider: input.provider, userId: ctx.userId }, async () => {
|
|
1360
|
+
const instance = await instantiateProvider(input.provider, ctx.userId);
|
|
1361
|
+
if (!instance)
|
|
1362
|
+
return [];
|
|
1363
|
+
const models = await instance.getAvailableEmbeddingModels();
|
|
1364
|
+
return models.map((m) => toUnifiedModel(m, "embedding_model"));
|
|
1365
|
+
}, []);
|
|
1366
|
+
return resolveProviderModelExecution(models, [input.provider]);
|
|
1367
|
+
}),
|
|
1300
1368
|
/**
|
|
1301
1369
|
* Fast batch cache status check for multiple models.
|
|
1302
1370
|
*/
|