@elizaos/ui 2.0.0-alpha.526 → 2.0.0-alpha.528
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/apps/app-elizamaker/src/index.d.ts +2 -0
- package/apps/app-elizamaker/src/index.d.ts.map +1 -1
- package/apps/app-elizamaker/src/index.js +2 -0
- package/apps/app-elizamaker/src/init-registry-services.d.ts +18 -0
- package/apps/app-elizamaker/src/init-registry-services.d.ts.map +1 -0
- package/apps/app-elizamaker/src/init-registry-services.js +63 -0
- package/apps/app-elizamaker/src/plugin.d.ts.map +1 -1
- package/apps/app-elizamaker/src/plugin.js +7 -0
- package/apps/app-elizamaker/src/registry-service-registry.d.ts +4 -0
- package/apps/app-elizamaker/src/registry-service-registry.d.ts.map +1 -0
- package/apps/app-elizamaker/src/registry-service-registry.js +7 -0
- package/apps/app-lifeops/src/automation-node-contributor.d.ts +2 -0
- package/apps/app-lifeops/src/automation-node-contributor.d.ts.map +1 -0
- package/apps/app-lifeops/src/automation-node-contributor.js +93 -0
- package/apps/app-lifeops/src/public.d.ts.map +1 -1
- package/apps/app-lifeops/src/public.js +2 -0
- package/apps/app-training/src/services/training-service-registry.d.ts +4 -0
- package/apps/app-training/src/services/training-service-registry.d.ts.map +1 -0
- package/apps/app-training/src/services/training-service-registry.js +7 -0
- package/package.json +1 -1
- package/packages/agent/src/api/agent-status-routes.d.ts +3 -23
- package/packages/agent/src/api/agent-status-routes.d.ts.map +1 -1
- package/packages/agent/src/api/agent-status-routes.js +7 -40
- package/packages/agent/src/api/coordinator-wiring.d.ts.map +1 -0
- package/packages/agent/src/api/misc-routes.d.ts.map +1 -1
- package/packages/agent/src/api/misc-routes.js +3 -37
- package/packages/agent/src/api/nfa-routes.d.ts.map +1 -1
- package/packages/agent/src/api/nfa-routes.js +1 -9
- package/packages/agent/src/api/provider-switch-routes.d.ts +8 -7
- package/packages/agent/src/api/provider-switch-routes.d.ts.map +1 -1
- package/packages/agent/src/api/provider-switch-routes.js +41 -26
- package/packages/agent/src/api/server-types.d.ts +0 -6
- package/packages/agent/src/api/server-types.d.ts.map +1 -1
- package/packages/agent/src/api/server.d.ts.map +1 -1
- package/packages/agent/src/api/server.js +31 -138
- package/packages/agent/src/api/stream-routes.d.ts.map +1 -1
- package/packages/agent/src/api/stream-routes.js +6 -8
- package/packages/agent/src/api/wallet-trading-profile.d.ts.map +1 -1
- package/packages/agent/src/api/wallet-trading-profile.js +2 -23
- package/packages/agent/src/auth/account-storage.d.ts.map +1 -1
- package/packages/agent/src/auth/account-storage.js +4 -15
- package/packages/agent/src/runtime/eliza.d.ts.map +1 -1
- package/packages/agent/src/runtime/eliza.js +2 -6
- package/packages/agent/src/runtime/first-time-setup.d.ts.map +1 -1
- package/packages/agent/src/runtime/first-time-setup.js +1 -7
- package/packages/agent/src/runtime/operations/cold-strategy.d.ts +4 -4
- package/packages/agent/src/runtime/operations/cold-strategy.d.ts.map +1 -1
- package/packages/agent/src/runtime/operations/cold-strategy.js +13 -46
- package/packages/agent/src/runtime/operations/health-checks.d.ts +1 -0
- package/packages/agent/src/runtime/operations/health-checks.d.ts.map +1 -1
- package/packages/agent/src/runtime/operations/health-checks.js +1 -1
- package/packages/agent/src/runtime/operations/health.d.ts.map +1 -1
- package/packages/agent/src/runtime/operations/health.js +1 -13
- package/packages/agent/src/runtime/operations/index.d.ts +1 -0
- package/packages/agent/src/runtime/operations/index.d.ts.map +1 -1
- package/packages/agent/src/runtime/operations/index.js +1 -0
- package/packages/agent/src/runtime/operations/manager.d.ts +2 -0
- package/packages/agent/src/runtime/operations/manager.d.ts.map +1 -1
- package/packages/agent/src/runtime/operations/manager.js +27 -7
- package/packages/agent/src/runtime/operations/reload-hot.d.ts +4 -1
- package/packages/agent/src/runtime/operations/reload-hot.d.ts.map +1 -1
- package/packages/agent/src/runtime/operations/reload-hot.js +46 -41
- package/packages/agent/src/runtime/operations/repository.d.ts +30 -8
- package/packages/agent/src/runtime/operations/repository.d.ts.map +1 -1
- package/packages/agent/src/runtime/operations/repository.js +140 -54
- package/packages/agent/src/runtime/operations/types.d.ts +26 -24
- package/packages/agent/src/runtime/operations/types.d.ts.map +1 -1
- package/packages/agent/src/runtime/operations/types.js +8 -20
- package/packages/agent/src/runtime/operations/vault-bridge.d.ts +60 -0
- package/packages/agent/src/runtime/operations/vault-bridge.d.ts.map +1 -0
- package/packages/agent/src/runtime/operations/vault-bridge.js +80 -0
- package/packages/agent/src/runtime/plugin-resolver.d.ts.map +1 -1
- package/packages/agent/src/runtime/plugin-resolver.js +1 -3
- package/packages/agent/src/runtime/plugin-types.d.ts.map +1 -1
- package/packages/agent/src/runtime/plugin-types.js +1 -3
- package/packages/agent/src/services/app-package-modules.d.ts.map +1 -1
- package/packages/agent/src/services/app-package-modules.js +1 -8
- package/packages/agent/src/services/app-run-store.d.ts.map +1 -1
- package/packages/agent/src/services/app-run-store.js +2 -23
- package/packages/agent/src/services/registry-client-local.d.ts.map +1 -1
- package/packages/agent/src/services/registry-client-local.js +1 -9
- package/packages/agent/src/utils/atomic-json.d.ts +37 -0
- package/packages/agent/src/utils/atomic-json.d.ts.map +1 -0
- package/packages/agent/src/utils/atomic-json.js +98 -0
- package/packages/app-core/src/api/automation-node-contributors.d.ts +14 -0
- package/packages/app-core/src/api/automation-node-contributors.d.ts.map +1 -0
- package/packages/app-core/src/api/automation-node-contributors.js +14 -0
- package/packages/app-core/src/api/client-agent.d.ts +627 -0
- package/packages/app-core/src/api/client-agent.d.ts.map +1 -0
- package/packages/app-core/src/api/client-agent.js +1442 -0
- package/packages/app-core/src/api/client-automations.d.ts +8 -0
- package/packages/app-core/src/api/client-automations.d.ts.map +1 -0
- package/packages/app-core/src/api/client-automations.js +7 -0
- package/packages/app-core/src/api/client-base.d.ts +82 -0
- package/packages/app-core/src/api/client-base.d.ts.map +1 -0
- package/packages/app-core/src/api/client-base.js +729 -0
- package/packages/app-core/src/api/client-browser-workspace.d.ts +25 -0
- package/packages/app-core/src/api/client-browser-workspace.d.ts.map +1 -0
- package/packages/app-core/src/api/client-browser-workspace.js +98 -0
- package/packages/app-core/src/api/client-chat.d.ts +355 -0
- package/packages/app-core/src/api/client-chat.d.ts.map +1 -0
- package/packages/app-core/src/api/client-chat.js +582 -0
- package/packages/app-core/src/api/client-cloud.d.ts +286 -0
- package/packages/app-core/src/api/client-cloud.d.ts.map +1 -0
- package/packages/app-core/src/api/client-cloud.js +410 -0
- package/packages/app-core/src/api/client-computeruse.d.ts +32 -0
- package/packages/app-core/src/api/client-computeruse.d.ts.map +1 -0
- package/packages/app-core/src/api/client-computeruse.js +16 -0
- package/packages/app-core/src/api/client-imessage.d.ts +68 -0
- package/packages/app-core/src/api/client-imessage.d.ts.map +1 -0
- package/packages/app-core/src/api/client-imessage.js +74 -0
- package/packages/app-core/src/api/client-local-inference.d.ts +62 -0
- package/packages/app-core/src/api/client-local-inference.d.ts.map +1 -0
- package/packages/app-core/src/api/client-local-inference.js +87 -0
- package/packages/app-core/src/api/client-n8n.d.ts +27 -0
- package/packages/app-core/src/api/client-n8n.d.ts.map +1 -0
- package/packages/app-core/src/api/client-n8n.js +61 -0
- package/packages/app-core/src/api/client-skills.d.ts +475 -0
- package/packages/app-core/src/api/client-skills.d.ts.map +1 -0
- package/packages/app-core/src/api/client-skills.js +608 -0
- package/packages/app-core/src/api/client-types-babylon.d.ts +254 -0
- package/packages/app-core/src/api/client-types-babylon.d.ts.map +1 -0
- package/packages/app-core/src/api/client-types-babylon.js +2 -0
- package/packages/app-core/src/api/client-types-character.d.ts +39 -0
- package/packages/app-core/src/api/client-types-character.d.ts.map +1 -0
- package/packages/app-core/src/api/client-types-character.js +1 -0
- package/packages/app-core/src/api/client-types-chat.d.ts +428 -0
- package/packages/app-core/src/api/client-types-chat.d.ts.map +1 -0
- package/packages/app-core/src/api/client-types-chat.js +9 -0
- package/packages/app-core/src/api/client-types-config.d.ts +587 -0
- package/packages/app-core/src/api/client-types-config.d.ts.map +1 -0
- package/packages/app-core/src/api/client-types-config.js +5 -0
- package/packages/app-core/src/api/client-types-experience.d.ts +97 -0
- package/packages/app-core/src/api/client-types-experience.d.ts.map +1 -0
- package/packages/app-core/src/api/client-types-experience.js +1 -0
- package/packages/app-core/src/api/client-types-relationships.d.ts +181 -0
- package/packages/app-core/src/api/client-types-relationships.d.ts.map +1 -0
- package/packages/app-core/src/api/client-types-relationships.js +1 -0
- package/packages/app-core/src/api/client-types-steward.d.ts +85 -0
- package/packages/app-core/src/api/client-types-steward.d.ts.map +1 -0
- package/packages/app-core/src/api/client-types-steward.js +9 -0
- package/packages/app-core/src/api/client-types.d.ts +9 -0
- package/packages/app-core/src/api/client-types.d.ts.map +1 -0
- package/packages/app-core/src/api/client-types.js +12 -0
- package/packages/app-core/src/api/client-wallet.d.ts +130 -0
- package/packages/app-core/src/api/client-wallet.d.ts.map +1 -0
- package/packages/app-core/src/api/client-wallet.js +228 -0
- package/packages/app-core/src/api/client.d.ts +36 -0
- package/packages/app-core/src/api/client.d.ts.map +1 -0
- package/packages/app-core/src/api/client.js +36 -0
- package/packages/app-core/src/api/index.d.ts +2 -0
- package/packages/app-core/src/api/index.d.ts.map +1 -0
- package/packages/app-core/src/api/index.js +1 -0
- package/packages/app-core/src/bridge/electrobun-rpc.d.ts +57 -0
- package/packages/app-core/src/bridge/electrobun-rpc.d.ts.map +1 -0
- package/packages/app-core/src/bridge/electrobun-rpc.js +87 -0
- package/packages/app-core/src/bridge/electrobun-runtime.d.ts +3 -0
- package/packages/app-core/src/bridge/electrobun-runtime.d.ts.map +1 -0
- package/packages/app-core/src/bridge/electrobun-runtime.js +34 -0
- package/packages/app-core/src/bridge/native-plugins.d.ts +504 -0
- package/packages/app-core/src/bridge/native-plugins.d.ts.map +1 -0
- package/packages/app-core/src/bridge/native-plugins.js +67 -0
- package/packages/app-core/src/chat/coding-agent-session-state.d.ts +16 -0
- package/packages/app-core/src/chat/coding-agent-session-state.d.ts.map +1 -0
- package/packages/app-core/src/chat/coding-agent-session-state.js +27 -0
- package/packages/app-core/src/components/pages/browser-workspace-wallet.d.ts +80 -0
- package/packages/app-core/src/components/pages/browser-workspace-wallet.d.ts.map +1 -0
- package/packages/app-core/src/components/pages/browser-workspace-wallet.js +135 -0
- package/packages/app-core/src/services/account-pool.d.ts +98 -0
- package/packages/app-core/src/services/account-pool.d.ts.map +1 -0
- package/packages/app-core/src/services/account-pool.js +506 -0
- package/packages/app-core/src/services/account-usage.d.ts +75 -0
- package/packages/app-core/src/services/account-usage.d.ts.map +1 -0
- package/packages/app-core/src/services/account-usage.js +179 -0
- package/packages/app-core/src/services/local-inference/active-model.d.ts +59 -0
- package/packages/app-core/src/services/local-inference/active-model.d.ts.map +1 -0
- package/packages/app-core/src/services/local-inference/active-model.js +120 -0
- package/packages/app-core/src/services/local-inference/device-bridge.d.ts +131 -0
- package/packages/app-core/src/services/local-inference/device-bridge.d.ts.map +1 -0
- package/packages/app-core/src/services/local-inference/device-bridge.js +748 -0
- package/packages/app-core/src/services/local-inference/engine.d.ts +52 -0
- package/packages/app-core/src/services/local-inference/engine.d.ts.map +1 -0
- package/packages/app-core/src/services/local-inference/engine.js +138 -0
- package/packages/app-core/src/services/local-inference/external-scanner.d.ts +17 -0
- package/packages/app-core/src/services/local-inference/external-scanner.d.ts.map +1 -0
- package/packages/app-core/src/services/local-inference/external-scanner.js +261 -0
- package/packages/app-core/src/services/local-inference/handler-registry.d.ts +72 -0
- package/packages/app-core/src/services/local-inference/handler-registry.d.ts.map +1 -0
- package/packages/app-core/src/services/local-inference/handler-registry.js +160 -0
- package/packages/app-core/src/services/local-inference/paths.d.ts +24 -0
- package/packages/app-core/src/services/local-inference/paths.d.ts.map +1 -0
- package/packages/app-core/src/services/local-inference/paths.js +41 -0
- package/packages/app-core/src/services/local-inference/providers.d.ts +61 -0
- package/packages/app-core/src/services/local-inference/providers.d.ts.map +1 -0
- package/packages/app-core/src/services/local-inference/providers.js +277 -0
- package/packages/app-core/src/services/local-inference/registry.d.ts +35 -0
- package/packages/app-core/src/services/local-inference/registry.d.ts.map +1 -0
- package/packages/app-core/src/services/local-inference/registry.js +108 -0
- package/packages/app-core/src/services/local-inference/routing-preferences.d.ts +31 -0
- package/packages/app-core/src/services/local-inference/routing-preferences.d.ts.map +1 -0
- package/packages/app-core/src/services/local-inference/routing-preferences.js +72 -0
- package/packages/app-core/src/services/local-inference/types.d.ts +121 -0
- package/packages/app-core/src/services/local-inference/types.d.ts.map +1 -0
- package/packages/app-core/src/services/local-inference/types.js +14 -0
- package/packages/app-core/src/services/local-inference/verify.d.ts +39 -0
- package/packages/app-core/src/services/local-inference/verify.d.ts.map +1 -0
- package/packages/app-core/src/services/local-inference/verify.js +104 -0
- package/packages/app-core/src/types/index.d.ts +658 -0
- package/packages/app-core/src/types/index.d.ts.map +1 -0
- package/packages/app-core/src/types/index.js +4 -0
- package/packages/app-core/src/utils/assistant-text.d.ts +2 -0
- package/packages/app-core/src/utils/assistant-text.d.ts.map +1 -0
- package/packages/app-core/src/utils/assistant-text.js +167 -0
- package/packages/app-core/src/utils/eliza-globals.d.ts +15 -0
- package/packages/app-core/src/utils/eliza-globals.d.ts.map +1 -0
- package/packages/app-core/src/utils/eliza-globals.js +50 -0
- package/packages/app-core/src/utils/streaming-text.d.ts +9 -0
- package/packages/app-core/src/utils/streaming-text.d.ts.map +1 -0
- package/packages/app-core/src/utils/streaming-text.js +112 -0
- package/packages/shared/src/format-error.d.ts +14 -0
- package/packages/shared/src/format-error.d.ts.map +1 -0
- package/packages/shared/src/format-error.js +17 -0
- package/packages/shared/src/index.d.ts +1 -0
- package/packages/shared/src/index.d.ts.map +1 -1
- package/packages/shared/src/index.js +1 -0
- package/packages/typescript/src/runtime.d.ts +14 -0
- package/packages/typescript/src/runtime.d.ts.map +1 -1
- package/packages/typescript/src/runtime.js +42 -0
- package/packages/typescript/src/services/message.d.ts +8 -0
- package/packages/typescript/src/services/message.d.ts.map +1 -1
- package/packages/typescript/src/services/message.js +51 -0
- package/packages/typescript/src/services/task.d.ts +1 -0
- package/packages/typescript/src/services/task.d.ts.map +1 -1
- package/packages/typescript/src/services/task.js +26 -3
- package/apps/app-task-coordinator/src/api/coordinator-wiring.d.ts.map +0 -1
- /package/{apps/app-task-coordinator → packages/agent}/src/api/coordinator-wiring.d.ts +0 -0
- /package/{apps/app-task-coordinator → packages/agent}/src/api/coordinator-wiring.js +0 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standalone llama.cpp engine.
|
|
3
|
+
*
|
|
4
|
+
* Owns one `Llama` binding instance, at most one loaded `LlamaModel`, and
|
|
5
|
+
* a cached `LlamaChatSession` that wraps it. Model swap is unload-then-load
|
|
6
|
+
* so we never double-allocate VRAM.
|
|
7
|
+
*
|
|
8
|
+
* Two consumption paths:
|
|
9
|
+
* 1. The Model Hub UI calls `load()` / `unload()` to make "Activate" work.
|
|
10
|
+
* 2. The agent runtime calls `generate()` via the registered
|
|
11
|
+
* `ModelType.TEXT_SMALL` / `TEXT_LARGE` handlers (see
|
|
12
|
+
* `ensure-local-inference-handler.ts`).
|
|
13
|
+
*
|
|
14
|
+
* Dynamic import keeps the binding optional: if `node-llama-cpp` is not
|
|
15
|
+
* installed, `available()` returns false and callers surface a clear error
|
|
16
|
+
* instead of crashing the process.
|
|
17
|
+
*/
|
|
18
|
+
export interface GenerateArgs {
|
|
19
|
+
prompt: string;
|
|
20
|
+
stopSequences?: string[];
|
|
21
|
+
/** Upper bound on output tokens; defaults to 2048. */
|
|
22
|
+
maxTokens?: number;
|
|
23
|
+
/** 0..1; 0.7 default. */
|
|
24
|
+
temperature?: number;
|
|
25
|
+
/** nucleus sampling; defaults to 0.9. */
|
|
26
|
+
topP?: number;
|
|
27
|
+
}
|
|
28
|
+
export declare class LocalInferenceEngine {
|
|
29
|
+
private llama;
|
|
30
|
+
private loadedModel;
|
|
31
|
+
private loadedContext;
|
|
32
|
+
private loadedSession;
|
|
33
|
+
private loadedPath;
|
|
34
|
+
private bindingChecked;
|
|
35
|
+
private bindingModule;
|
|
36
|
+
/** Serialises generate calls so concurrent requests don't corrupt session state. */
|
|
37
|
+
private generationQueue;
|
|
38
|
+
available(): Promise<boolean>;
|
|
39
|
+
currentModelPath(): string | null;
|
|
40
|
+
hasLoadedModel(): boolean;
|
|
41
|
+
unload(): Promise<void>;
|
|
42
|
+
load(modelPath: string): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Generate text from the loaded model. Serialised — a new call waits for
|
|
45
|
+
* any in-flight generation to finish so the chat session's internal state
|
|
46
|
+
* stays consistent.
|
|
47
|
+
*/
|
|
48
|
+
generate(args: GenerateArgs): Promise<string>;
|
|
49
|
+
private loadBinding;
|
|
50
|
+
}
|
|
51
|
+
export declare const localInferenceEngine: LocalInferenceEngine;
|
|
52
|
+
//# sourceMappingURL=engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../../../../../app-core/src/services/local-inference/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAoDD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAmC;IACxD,oFAAoF;IACpF,OAAO,CAAC,eAAe,CAAuC;IAExD,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAQnC,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC,cAAc,IAAI,OAAO;IAInB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBvB,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC5C;;;;OAIG;IACG,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;YA0BrC,WAAW;CAiB1B;AAED,eAAO,MAAM,oBAAoB,sBAA6B,CAAC"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standalone llama.cpp engine.
|
|
3
|
+
*
|
|
4
|
+
* Owns one `Llama` binding instance, at most one loaded `LlamaModel`, and
|
|
5
|
+
* a cached `LlamaChatSession` that wraps it. Model swap is unload-then-load
|
|
6
|
+
* so we never double-allocate VRAM.
|
|
7
|
+
*
|
|
8
|
+
* Two consumption paths:
|
|
9
|
+
* 1. The Model Hub UI calls `load()` / `unload()` to make "Activate" work.
|
|
10
|
+
* 2. The agent runtime calls `generate()` via the registered
|
|
11
|
+
* `ModelType.TEXT_SMALL` / `TEXT_LARGE` handlers (see
|
|
12
|
+
* `ensure-local-inference-handler.ts`).
|
|
13
|
+
*
|
|
14
|
+
* Dynamic import keeps the binding optional: if `node-llama-cpp` is not
|
|
15
|
+
* installed, `available()` returns false and callers surface a clear error
|
|
16
|
+
* instead of crashing the process.
|
|
17
|
+
*/
|
|
18
|
+
export class LocalInferenceEngine {
|
|
19
|
+
llama = null;
|
|
20
|
+
loadedModel = null;
|
|
21
|
+
loadedContext = null;
|
|
22
|
+
loadedSession = null;
|
|
23
|
+
loadedPath = null;
|
|
24
|
+
bindingChecked = false;
|
|
25
|
+
bindingModule = null;
|
|
26
|
+
/** Serialises generate calls so concurrent requests don't corrupt session state. */
|
|
27
|
+
generationQueue = Promise.resolve();
|
|
28
|
+
async available() {
|
|
29
|
+
if (!this.bindingChecked) {
|
|
30
|
+
this.bindingModule = await this.loadBinding();
|
|
31
|
+
this.bindingChecked = true;
|
|
32
|
+
}
|
|
33
|
+
return this.bindingModule !== null;
|
|
34
|
+
}
|
|
35
|
+
currentModelPath() {
|
|
36
|
+
return this.loadedPath;
|
|
37
|
+
}
|
|
38
|
+
hasLoadedModel() {
|
|
39
|
+
return this.loadedModel !== null;
|
|
40
|
+
}
|
|
41
|
+
async unload() {
|
|
42
|
+
if (!this.loadedModel)
|
|
43
|
+
return;
|
|
44
|
+
const session = this.loadedSession;
|
|
45
|
+
const context = this.loadedContext;
|
|
46
|
+
const model = this.loadedModel;
|
|
47
|
+
this.loadedSession = null;
|
|
48
|
+
this.loadedContext = null;
|
|
49
|
+
this.loadedModel = null;
|
|
50
|
+
this.loadedPath = null;
|
|
51
|
+
// Dispose bottom-up: session first, then context, then the model. Each
|
|
52
|
+
// dispose is wrapped because a partial failure must not strand state.
|
|
53
|
+
try {
|
|
54
|
+
await session?.dispose?.();
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
/* best effort */
|
|
58
|
+
}
|
|
59
|
+
try {
|
|
60
|
+
await context?.dispose();
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
/* best effort */
|
|
64
|
+
}
|
|
65
|
+
await model.dispose();
|
|
66
|
+
}
|
|
67
|
+
async load(modelPath) {
|
|
68
|
+
if (this.loadedPath === modelPath && this.loadedModel)
|
|
69
|
+
return;
|
|
70
|
+
if (!(await this.available()) || !this.bindingModule) {
|
|
71
|
+
throw new Error("node-llama-cpp is not installed in this build; add it as a dependency to enable local inference");
|
|
72
|
+
}
|
|
73
|
+
if (this.loadedModel) {
|
|
74
|
+
await this.unload();
|
|
75
|
+
}
|
|
76
|
+
if (!this.llama) {
|
|
77
|
+
this.llama = await this.bindingModule.getLlama({ gpu: "auto" });
|
|
78
|
+
}
|
|
79
|
+
const model = await this.llama.loadModel({
|
|
80
|
+
modelPath,
|
|
81
|
+
gpuLayers: "auto",
|
|
82
|
+
});
|
|
83
|
+
const context = await model.createContext();
|
|
84
|
+
const sequence = context.getSequence();
|
|
85
|
+
const session = new this.bindingModule.LlamaChatSession({
|
|
86
|
+
contextSequence: sequence,
|
|
87
|
+
});
|
|
88
|
+
this.loadedModel = model;
|
|
89
|
+
this.loadedContext = context;
|
|
90
|
+
this.loadedSession = session;
|
|
91
|
+
this.loadedPath = modelPath;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Generate text from the loaded model. Serialised — a new call waits for
|
|
95
|
+
* any in-flight generation to finish so the chat session's internal state
|
|
96
|
+
* stays consistent.
|
|
97
|
+
*/
|
|
98
|
+
async generate(args) {
|
|
99
|
+
if (!this.loadedSession) {
|
|
100
|
+
throw new Error("No local model is active. Select one in Settings → Local models before using local inference.");
|
|
101
|
+
}
|
|
102
|
+
const session = this.loadedSession;
|
|
103
|
+
const run = async () => {
|
|
104
|
+
// Agent model handlers are stateless per call. Drop any prior chat
|
|
105
|
+
// history so sequential prompts don't thread through accumulated
|
|
106
|
+
// context and drift output quality.
|
|
107
|
+
await session.resetChatHistory?.();
|
|
108
|
+
return session.prompt(args.prompt, {
|
|
109
|
+
maxTokens: args.maxTokens ?? 2048,
|
|
110
|
+
temperature: args.temperature ?? 0.7,
|
|
111
|
+
topP: args.topP ?? 0.9,
|
|
112
|
+
customStopTriggers: args.stopSequences,
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
const job = this.generationQueue.then(run, run);
|
|
116
|
+
this.generationQueue = job.catch(() => {
|
|
117
|
+
/* swallow so queue remains usable after a failure */
|
|
118
|
+
});
|
|
119
|
+
return job;
|
|
120
|
+
}
|
|
121
|
+
async loadBinding() {
|
|
122
|
+
try {
|
|
123
|
+
const mod = (await import("node-llama-cpp"));
|
|
124
|
+
if (mod &&
|
|
125
|
+
typeof mod === "object" &&
|
|
126
|
+
"getLlama" in mod &&
|
|
127
|
+
"LlamaChatSession" in mod &&
|
|
128
|
+
typeof mod.getLlama === "function") {
|
|
129
|
+
return mod;
|
|
130
|
+
}
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
export const localInferenceEngine = new LocalInferenceEngine();
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Discover GGUF files already on disk from other local-inference tools.
|
|
3
|
+
*
|
|
4
|
+
* Users often have LM Studio, Jan, Ollama, or raw HuggingFace downloads
|
|
5
|
+
* lying around. We scan their default cache paths and surface those models
|
|
6
|
+
* in the Model Hub with `source: "external-scan"` so Milady can load them
|
|
7
|
+
* without re-downloading. Milady never modifies or deletes these files —
|
|
8
|
+
* the uninstall endpoint refuses when `source !== "milady-download"`.
|
|
9
|
+
*
|
|
10
|
+
* Ollama is special: its blobs live under `models/blobs/sha256-*` with no
|
|
11
|
+
* `.gguf` extension, and the human name only exists in adjacent manifests.
|
|
12
|
+
* We parse the manifests to recover the mapping; blobs we can't map stay
|
|
13
|
+
* hidden rather than surfacing as opaque hashes.
|
|
14
|
+
*/
|
|
15
|
+
import type { InstalledModel } from "./types";
|
|
16
|
+
export declare function scanExternalModels(): Promise<InstalledModel[]>;
|
|
17
|
+
//# sourceMappingURL=external-scanner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-scanner.d.ts","sourceRoot":"","sources":["../../../../../../../app-core/src/services/local-inference/external-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AA6P9C,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAuCpE"}
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Discover GGUF files already on disk from other local-inference tools.
|
|
3
|
+
*
|
|
4
|
+
* Users often have LM Studio, Jan, Ollama, or raw HuggingFace downloads
|
|
5
|
+
* lying around. We scan their default cache paths and surface those models
|
|
6
|
+
* in the Model Hub with `source: "external-scan"` so Milady can load them
|
|
7
|
+
* without re-downloading. Milady never modifies or deletes these files —
|
|
8
|
+
* the uninstall endpoint refuses when `source !== "milady-download"`.
|
|
9
|
+
*
|
|
10
|
+
* Ollama is special: its blobs live under `models/blobs/sha256-*` with no
|
|
11
|
+
* `.gguf` extension, and the human name only exists in adjacent manifests.
|
|
12
|
+
* We parse the manifests to recover the mapping; blobs we can't map stay
|
|
13
|
+
* hidden rather than surfacing as opaque hashes.
|
|
14
|
+
*/
|
|
15
|
+
import fs from "node:fs/promises";
|
|
16
|
+
import os from "node:os";
|
|
17
|
+
import path from "node:path";
|
|
18
|
+
function candidateRoots() {
|
|
19
|
+
const home = os.homedir();
|
|
20
|
+
const platform = process.platform;
|
|
21
|
+
const roots = [];
|
|
22
|
+
// ── LM Studio ──────────────────────────────────────────────────────
|
|
23
|
+
roots.push({
|
|
24
|
+
origin: "lm-studio",
|
|
25
|
+
dir: path.join(home, ".lmstudio", "models"),
|
|
26
|
+
kind: "flat",
|
|
27
|
+
}, {
|
|
28
|
+
origin: "lm-studio",
|
|
29
|
+
dir: path.join(home, ".cache", "lm-studio", "models"),
|
|
30
|
+
kind: "flat",
|
|
31
|
+
});
|
|
32
|
+
// ── Jan ─────────────────────────────────────────────────────────────
|
|
33
|
+
if (platform === "darwin") {
|
|
34
|
+
roots.push({
|
|
35
|
+
origin: "jan",
|
|
36
|
+
dir: path.join(home, "Library", "Application Support", "Jan", "data", "models"),
|
|
37
|
+
kind: "flat",
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
else if (platform === "win32") {
|
|
41
|
+
const appdata = process.env.APPDATA ?? path.join(home, "AppData", "Roaming");
|
|
42
|
+
roots.push({
|
|
43
|
+
origin: "jan",
|
|
44
|
+
dir: path.join(appdata, "Jan", "data", "models"),
|
|
45
|
+
kind: "flat",
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
const xdg = process.env.XDG_CONFIG_HOME ?? path.join(home, ".config");
|
|
50
|
+
roots.push({
|
|
51
|
+
origin: "jan",
|
|
52
|
+
dir: path.join(xdg, "Jan", "data", "models"),
|
|
53
|
+
kind: "flat",
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
// Legacy Jan path, still seen on older installs.
|
|
57
|
+
roots.push({
|
|
58
|
+
origin: "jan",
|
|
59
|
+
dir: path.join(home, "jan", "models"),
|
|
60
|
+
kind: "flat",
|
|
61
|
+
});
|
|
62
|
+
// ── Ollama ──────────────────────────────────────────────────────────
|
|
63
|
+
const ollamaOverride = process.env.OLLAMA_MODELS?.trim();
|
|
64
|
+
if (ollamaOverride) {
|
|
65
|
+
roots.push({ origin: "ollama", dir: ollamaOverride, kind: "ollama" });
|
|
66
|
+
}
|
|
67
|
+
roots.push({
|
|
68
|
+
origin: "ollama",
|
|
69
|
+
dir: path.join(home, ".ollama", "models"),
|
|
70
|
+
kind: "ollama",
|
|
71
|
+
});
|
|
72
|
+
if (platform === "linux") {
|
|
73
|
+
roots.push({
|
|
74
|
+
origin: "ollama",
|
|
75
|
+
dir: "/usr/share/ollama/.ollama/models",
|
|
76
|
+
kind: "ollama",
|
|
77
|
+
}, {
|
|
78
|
+
origin: "ollama",
|
|
79
|
+
dir: "/var/lib/ollama/.ollama/models",
|
|
80
|
+
kind: "ollama",
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
// ── HuggingFace hub ────────────────────────────────────────────────
|
|
84
|
+
const hfOverride = process.env.HF_HUB_CACHE?.trim() ||
|
|
85
|
+
(process.env.HF_HOME ? path.join(process.env.HF_HOME, "hub") : null);
|
|
86
|
+
const hfDefault = path.join(home, ".cache", "huggingface", "hub");
|
|
87
|
+
roots.push({
|
|
88
|
+
origin: "huggingface",
|
|
89
|
+
dir: hfOverride || hfDefault,
|
|
90
|
+
kind: "hf-snapshots",
|
|
91
|
+
});
|
|
92
|
+
// ── text-generation-webui ──────────────────────────────────────────
|
|
93
|
+
// Best-effort common install locations; users can symlink anything they
|
|
94
|
+
// want under here. We only pick up `.gguf` files.
|
|
95
|
+
roots.push({
|
|
96
|
+
origin: "text-gen-webui",
|
|
97
|
+
dir: path.join(home, "text-generation-webui", "user_data", "models"),
|
|
98
|
+
kind: "flat",
|
|
99
|
+
}, {
|
|
100
|
+
origin: "text-gen-webui",
|
|
101
|
+
dir: path.join(home, "text-generation-webui", "models"),
|
|
102
|
+
kind: "flat",
|
|
103
|
+
});
|
|
104
|
+
return roots;
|
|
105
|
+
}
|
|
106
|
+
async function dirExists(dir) {
|
|
107
|
+
try {
|
|
108
|
+
const stat = await fs.stat(dir);
|
|
109
|
+
return stat.isDirectory();
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
async function* walkForGgufs(root, maxDepth = 6) {
|
|
116
|
+
const stack = [
|
|
117
|
+
{ dir: root, depth: 0 },
|
|
118
|
+
];
|
|
119
|
+
while (stack.length > 0) {
|
|
120
|
+
const frame = stack.pop();
|
|
121
|
+
if (!frame)
|
|
122
|
+
break;
|
|
123
|
+
const { dir, depth } = frame;
|
|
124
|
+
let entries;
|
|
125
|
+
try {
|
|
126
|
+
entries = await fs.readdir(dir, { withFileTypes: true });
|
|
127
|
+
}
|
|
128
|
+
catch {
|
|
129
|
+
continue;
|
|
130
|
+
}
|
|
131
|
+
for (const entry of entries) {
|
|
132
|
+
const full = path.join(dir, entry.name);
|
|
133
|
+
if (entry.isDirectory()) {
|
|
134
|
+
if (depth < maxDepth)
|
|
135
|
+
stack.push({ dir: full, depth: depth + 1 });
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
// HF snapshots are symlinks into ../blobs/; follow them.
|
|
139
|
+
const isLink = entry.isSymbolicLink();
|
|
140
|
+
if (!isLink && !entry.isFile())
|
|
141
|
+
continue;
|
|
142
|
+
if (!full.toLowerCase().endsWith(".gguf"))
|
|
143
|
+
continue;
|
|
144
|
+
try {
|
|
145
|
+
const realPath = isLink ? await fs.realpath(full) : full;
|
|
146
|
+
const stat = await fs.stat(realPath);
|
|
147
|
+
if (!stat.isFile())
|
|
148
|
+
continue;
|
|
149
|
+
yield {
|
|
150
|
+
absPath: full,
|
|
151
|
+
realPath,
|
|
152
|
+
size: stat.size,
|
|
153
|
+
mtimeMs: stat.mtimeMs,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
catch {
|
|
157
|
+
// Broken symlink or permission issue; skip silently.
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
async function scanOllama(root) {
|
|
163
|
+
const manifestsRoot = path.join(root, "manifests");
|
|
164
|
+
const blobsRoot = path.join(root, "blobs");
|
|
165
|
+
if (!(await dirExists(manifestsRoot)) || !(await dirExists(blobsRoot))) {
|
|
166
|
+
return [];
|
|
167
|
+
}
|
|
168
|
+
const results = [];
|
|
169
|
+
const stack = [manifestsRoot];
|
|
170
|
+
while (stack.length > 0) {
|
|
171
|
+
const dir = stack.pop();
|
|
172
|
+
if (!dir)
|
|
173
|
+
break;
|
|
174
|
+
let entries;
|
|
175
|
+
try {
|
|
176
|
+
entries = await fs.readdir(dir, { withFileTypes: true });
|
|
177
|
+
}
|
|
178
|
+
catch {
|
|
179
|
+
continue;
|
|
180
|
+
}
|
|
181
|
+
for (const entry of entries) {
|
|
182
|
+
const full = path.join(dir, entry.name);
|
|
183
|
+
if (entry.isDirectory()) {
|
|
184
|
+
stack.push(full);
|
|
185
|
+
continue;
|
|
186
|
+
}
|
|
187
|
+
if (!entry.isFile())
|
|
188
|
+
continue;
|
|
189
|
+
let manifest;
|
|
190
|
+
try {
|
|
191
|
+
const raw = await fs.readFile(full, "utf8");
|
|
192
|
+
manifest = JSON.parse(raw);
|
|
193
|
+
}
|
|
194
|
+
catch {
|
|
195
|
+
continue;
|
|
196
|
+
}
|
|
197
|
+
const modelLayer = manifest.layers?.find((l) => l.mediaType?.includes("model"));
|
|
198
|
+
if (!modelLayer?.digest)
|
|
199
|
+
continue;
|
|
200
|
+
const digest = modelLayer.digest.replace("sha256:", "sha256-");
|
|
201
|
+
const blobPath = path.join(blobsRoot, digest);
|
|
202
|
+
let size = modelLayer.size;
|
|
203
|
+
try {
|
|
204
|
+
const stat = await fs.stat(blobPath);
|
|
205
|
+
size = stat.size;
|
|
206
|
+
}
|
|
207
|
+
catch {
|
|
208
|
+
continue;
|
|
209
|
+
}
|
|
210
|
+
const relativeManifest = path.relative(manifestsRoot, full);
|
|
211
|
+
const displayName = `ollama: ${relativeManifest.split(path.sep).slice(-2).join(":")}`;
|
|
212
|
+
results.push({
|
|
213
|
+
id: `external-ollama-${digest}`,
|
|
214
|
+
displayName,
|
|
215
|
+
path: blobPath,
|
|
216
|
+
sizeBytes: size,
|
|
217
|
+
installedAt: new Date().toISOString(),
|
|
218
|
+
lastUsedAt: null,
|
|
219
|
+
source: "external-scan",
|
|
220
|
+
externalOrigin: "ollama",
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
return results;
|
|
225
|
+
}
|
|
226
|
+
export async function scanExternalModels() {
|
|
227
|
+
const roots = candidateRoots();
|
|
228
|
+
const seenRealPaths = new Set();
|
|
229
|
+
const results = [];
|
|
230
|
+
await Promise.all(roots.map(async (root) => {
|
|
231
|
+
if (!(await dirExists(root.dir)))
|
|
232
|
+
return;
|
|
233
|
+
if (root.kind === "ollama") {
|
|
234
|
+
const ollamaModels = await scanOllama(root.dir);
|
|
235
|
+
for (const model of ollamaModels) {
|
|
236
|
+
if (seenRealPaths.has(model.path))
|
|
237
|
+
continue;
|
|
238
|
+
seenRealPaths.add(model.path);
|
|
239
|
+
results.push(model);
|
|
240
|
+
}
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
for await (const found of walkForGgufs(root.dir)) {
|
|
244
|
+
if (seenRealPaths.has(found.realPath))
|
|
245
|
+
continue;
|
|
246
|
+
seenRealPaths.add(found.realPath);
|
|
247
|
+
const displayName = path.basename(found.absPath, ".gguf");
|
|
248
|
+
results.push({
|
|
249
|
+
id: `external-${root.origin}-${Buffer.from(found.realPath).toString("base64url").slice(0, 16)}`,
|
|
250
|
+
displayName: `${displayName} (${root.origin})`,
|
|
251
|
+
path: found.realPath,
|
|
252
|
+
sizeBytes: found.size,
|
|
253
|
+
installedAt: new Date(found.mtimeMs).toISOString(),
|
|
254
|
+
lastUsedAt: null,
|
|
255
|
+
source: "external-scan",
|
|
256
|
+
externalOrigin: root.origin,
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
}));
|
|
260
|
+
return results;
|
|
261
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Side-registry of model handlers registered on an AgentRuntime.
|
|
3
|
+
*
|
|
4
|
+
* The elizaOS core exposes `runtime.registerModel(type, handler, provider,
|
|
5
|
+
* priority)` but no way to list who registered what. This module intercepts
|
|
6
|
+
* `registerModel` at runtime to record every registration in a Map keyed by
|
|
7
|
+
* model type, plus fires status listeners so the UI can render a live
|
|
8
|
+
* [ModelType × Provider] routing table.
|
|
9
|
+
*
|
|
10
|
+
* Because we monkey-patch `registerModel` we also keep the original
|
|
11
|
+
* handler reference — the router-handler (see `router-handler.ts`) uses
|
|
12
|
+
* this to dispatch inference calls by policy without going through
|
|
13
|
+
* `runtime.useModel` (which would loop back to us and recurse).
|
|
14
|
+
*/
|
|
15
|
+
import { AgentRuntime, type IAgentRuntime } from "@elizaos/core";
|
|
16
|
+
export interface HandlerRegistration {
|
|
17
|
+
modelType: string;
|
|
18
|
+
provider: string;
|
|
19
|
+
priority: number;
|
|
20
|
+
registeredAt: string;
|
|
21
|
+
/**
|
|
22
|
+
* The original handler function. Captured so the router-handler can
|
|
23
|
+
* dispatch to it directly, bypassing `runtime.useModel` which would
|
|
24
|
+
* re-enter the router itself.
|
|
25
|
+
*/
|
|
26
|
+
handler: (runtime: IAgentRuntime, params: Record<string, unknown>) => Promise<unknown>;
|
|
27
|
+
}
|
|
28
|
+
type Listener = (registrations: HandlerRegistration[]) => void;
|
|
29
|
+
declare class HandlerRegistry {
|
|
30
|
+
private readonly registrations;
|
|
31
|
+
private readonly listeners;
|
|
32
|
+
private installedOn;
|
|
33
|
+
/**
|
|
34
|
+
* Snapshot of all registrations grouped by model type, sorted by
|
|
35
|
+
* priority descending inside each group (matches core's selection
|
|
36
|
+
* order). Callers must not mutate the returned array.
|
|
37
|
+
*/
|
|
38
|
+
getAll(): HandlerRegistration[];
|
|
39
|
+
/** All registrations for a given model type, sorted by priority desc. */
|
|
40
|
+
getForType(modelType: string): HandlerRegistration[];
|
|
41
|
+
/**
|
|
42
|
+
* Registrations excluding a specific provider. Used by the router-handler
|
|
43
|
+
* to find "all providers except me" when dispatching.
|
|
44
|
+
*/
|
|
45
|
+
getForTypeExcluding(modelType: string, excludeProvider: string): HandlerRegistration[];
|
|
46
|
+
subscribe(listener: Listener): () => void;
|
|
47
|
+
private emit;
|
|
48
|
+
private record;
|
|
49
|
+
/**
|
|
50
|
+
* Install the interception on a runtime. Idempotent per runtime instance.
|
|
51
|
+
* For most boot paths the prototype-level patch below already covers the
|
|
52
|
+
* runtime before any plugin registers; this method is the belt-and-braces
|
|
53
|
+
* fallback for runtimes constructed before the patch ran.
|
|
54
|
+
*/
|
|
55
|
+
installOn(runtime: AgentRuntime): void;
|
|
56
|
+
/** Exposed so the prototype patch can record through the singleton. */
|
|
57
|
+
recordFromPrototype(reg: HandlerRegistration): void;
|
|
58
|
+
}
|
|
59
|
+
export declare const handlerRegistry: HandlerRegistry;
|
|
60
|
+
/**
|
|
61
|
+
* Public type used by the API/UI — omits the handler function for
|
|
62
|
+
* serialisation and to prevent UI code from accidentally calling it.
|
|
63
|
+
*/
|
|
64
|
+
export interface PublicRegistration {
|
|
65
|
+
modelType: string;
|
|
66
|
+
provider: string;
|
|
67
|
+
priority: number;
|
|
68
|
+
registeredAt: string;
|
|
69
|
+
}
|
|
70
|
+
export declare function toPublicRegistration(reg: HandlerRegistration): PublicRegistration;
|
|
71
|
+
export {};
|
|
72
|
+
//# sourceMappingURL=handler-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handler-registry.d.ts","sourceRoot":"","sources":["../../../../../../../app-core/src/services/local-inference/handler-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAEjE,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,OAAO,EAAE,CACP,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,OAAO,CAAC,CAAC;CACvB;AAED,KAAK,QAAQ,GAAG,CAAC,aAAa,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAC;AAE/D,cAAM,eAAe;IACnB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4C;IAC1E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IACjD,OAAO,CAAC,WAAW,CAAkC;IAErD;;;;OAIG;IACH,MAAM,IAAI,mBAAmB,EAAE;IAQ/B,yEAAyE;IACzE,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,EAAE;IAKpD;;;OAGG;IACH,mBAAmB,CACjB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,GACtB,mBAAmB,EAAE;IAMxB,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,IAAI;IAOzC,OAAO,CAAC,IAAI;IAWZ,OAAO,CAAC,MAAM;IAYd;;;;;OAKG;IACH,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IA8CtC,uEAAuE;IACvE,mBAAmB,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI;CAGpD;AAwDD,eAAO,MAAM,eAAe,iBAAwB,CAAC;AAErD;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,mBAAmB,GACvB,kBAAkB,CAOpB"}
|