@elizaos/app-core 2.0.3-beta.4 → 2.0.3-beta.6
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/api/i18n-locale-routes.d.ts +7 -0
- package/api/i18n-locale-routes.d.ts.map +1 -0
- package/api/i18n-locale-routes.js +58 -0
- package/api/ios-local-agent-transport.d.ts +3 -0
- package/api/ios-local-agent-transport.d.ts.map +1 -1
- package/api/ios-local-agent-transport.js +22 -1
- package/api/server.d.ts.map +1 -1
- package/api/server.js +5 -0
- package/benchmark/cerebras-autowire.d.ts.map +1 -1
- package/benchmark/cerebras-autowire.js +9 -2
- package/package.json +36 -36
- package/packaging/debian/rules +1 -1
- package/packaging/flatpak/generate-sources.sh +6 -1
- package/packaging/snap/snapcraft.yaml +15 -11
- package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaAgentService.java +2 -1
- package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaNativeBridge.java +5 -0
- package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaStartupTrace.java +28 -0
- package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaVoicePlugin.java +1 -1
- package/platforms/android/app/src/main/java/ai/elizaos/app/MainActivity.java +1 -0
- package/platforms/electrobun/electrobun.config.ts +31 -1
- package/platforms/electrobun/package.json +10 -10
- package/platforms/electrobun/remotes/local-model/README.md +2 -5
- package/platforms/electrobun/remotes/local-model/src/bun/eliza1-catalog.ts +0 -16
- package/platforms/electrobun/remotes/local-model/src/dev/phase8-smoke.ts +0 -2
- package/platforms/electrobun/scripts/smoke-test.sh +8 -2
- package/platforms/electrobun/scripts/stage-macos-release-artifacts.sh +8 -2
- package/platforms/electrobun/scripts/sync-web-assets.mjs +31 -2
- package/platforms/electrobun/src/bridge/electrobun-boot-config.ts +8 -0
- package/platforms/electrobun/src/bridge/electrobun-crypto-ready.ts +5 -1
- package/platforms/electrobun/src/bridge/electrobun-direct-rpc.ts +5 -11
- package/platforms/electrobun/src/preload.js +1 -1
- package/platforms/ios/App/App/Base.lproj/Main.storyboard +1 -1
- package/platforms/ios/App/App/ElizaBridgeViewController.swift +22 -0
- package/platforms/ios/App/App/ElizaStartupTrace.swift +12 -0
- package/platforms/ios/App/App.xcodeproj/project.pbxproj +8 -0
- package/runtime/eliza.d.ts.map +1 -1
- package/runtime/eliza.js +18 -0
- package/runtime/voice-warmup.d.ts +4 -4
- package/runtime/voice-warmup.d.ts.map +1 -1
- package/runtime/voice-warmup.js +4 -4
- package/scripts/aosp/compile-libllama.mjs +25 -5
- package/scripts/aosp/compile-libllama.test.mjs +17 -1
- package/scripts/assert-required-bundled-packages.test.ts +24 -2
- package/scripts/benchmark-preflight.mjs +31 -2
- package/scripts/build-bundled-agent-skills-artifact.mjs +32 -8
- package/scripts/build-bundled-orchestrator-artifact.mjs +34 -12
- package/scripts/build-llama-cpp-mtp.mjs +27 -3
- package/scripts/build-patched-electrobun-cli.mjs +30 -2
- package/scripts/bun-riscv64/bun-version.json +1 -1
- package/scripts/bun-riscv64/validate.sh +21 -8
- package/scripts/check-real-local-reset.ts +13 -1
- package/scripts/check-sms-gateway-completion-audit.mjs +96 -31
- package/scripts/check-sms-gateway-readiness.mjs +54 -17
- package/scripts/clean-repo.mjs +21 -3
- package/scripts/copy-runtime-node-modules.ts +68 -63
- package/scripts/desktop-build.mjs +46 -5
- package/scripts/dev-platform-no-install.test.mjs +19 -0
- package/scripts/dev-platform.mjs +6 -2
- package/scripts/disable-local-eliza-workspace.mjs +23 -1
- package/scripts/docker-ci-smoke.sh +6 -5
- package/scripts/ensure-avatars.mjs +18 -5
- package/scripts/ensure-bundled-workspaces.mjs +4 -15
- package/scripts/ensure-type-package-aliases.mjs +47 -3
- package/scripts/ffi-stub/Makefile +5 -2
- package/scripts/ios-xcframework/build-xcframework.mjs +22 -11
- package/scripts/ios-xcframework/run-physical-device-smoke.mjs +99 -6
- package/scripts/ios-xcframework/runtime-symbol-shim.c +560 -105
- package/scripts/lib/agent-source-watcher.test.mjs +24 -4
- package/scripts/lib/apple-entitlement-audit.test.mjs +19 -2
- package/scripts/lib/artifact-staleness.test.mts +18 -1
- package/scripts/lib/patch-bun-exports.mjs +20 -2
- package/scripts/lib/patch-bun-exports.test.mjs +108 -4
- package/scripts/lib/renderer-build-manifest.test.mts +18 -1
- package/scripts/lib/stage-android-agent.mjs +16 -3
- package/scripts/lib/verify-ondevice-artifact.test.mts +18 -1
- package/scripts/link-docker-local-app-packages.mjs +26 -1
- package/scripts/mas-smoke.test.mjs +25 -9
- package/scripts/omnivoice-fuse/prepare.mjs +27 -4
- package/scripts/package-electrobun-linux.mjs +22 -7
- package/scripts/patch-deps.mjs +18 -5
- package/scripts/playwright-ui-live-stack.ts +16 -3
- package/scripts/playwright-ui-smoke-api-stub.mjs +167 -2
- package/scripts/prepare-ios-cocoapods.sh +5 -1
- package/scripts/prune-cdn-local-assets.mjs +52 -5
- package/scripts/run-mobile-build-android-app-actions.test.mjs +19 -1
- package/scripts/run-mobile-build-mtp-staleness.test.mts +20 -4
- package/scripts/run-mobile-build.mjs +74 -16
- package/scripts/stage-android-agent.test.mjs +19 -1
- package/scripts/stage-desktop-fused-lib.mjs +26 -1
- package/scripts/sync-desktop-renderer.mjs +53 -12
- package/scripts/test-sms-gateway-software.mjs +20 -4
- package/cli/command-format.d.ts +0 -2
- package/cli/command-format.d.ts.map +0 -1
- package/cli/command-format.js +0 -20
- package/register-runtime-hooks.d.ts +0 -2
- package/register-runtime-hooks.d.ts.map +0 -1
- package/register-runtime-hooks.js +0 -19
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type http from "node:http";
|
|
2
|
+
export declare function resolveSuggestedUiLanguage(options: {
|
|
3
|
+
acceptLanguage?: string | string[];
|
|
4
|
+
configuredLanguage?: unknown;
|
|
5
|
+
}): string;
|
|
6
|
+
export declare function handleI18nLocaleRoute(req: http.IncomingMessage, res: http.ServerResponse): boolean;
|
|
7
|
+
//# sourceMappingURL=i18n-locale-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n-locale-routes.d.ts","sourceRoot":"","sources":["../../../../../src/api/i18n-locale-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AA+BlC,wBAAgB,0BAA0B,CAAC,OAAO,EAAE;IAClD,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,GAAG,MAAM,CAYT;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,GACvB,OAAO,CAuBT"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { loadElizaConfig } from "@elizaos/agent";
|
|
2
|
+
import { normalizeLanguage } from "@elizaos/ui/i18n";
|
|
3
|
+
import { sendJson as sendJsonResponse } from "./response.js";
|
|
4
|
+
function parseAcceptLanguage(value) {
|
|
5
|
+
const raw = Array.isArray(value) ? value.join(",") : (value ?? "");
|
|
6
|
+
return raw
|
|
7
|
+
.split(",")
|
|
8
|
+
.map((part, index) => {
|
|
9
|
+
const [tagPart, ...params] = part.trim().split(";");
|
|
10
|
+
const tag = tagPart.trim();
|
|
11
|
+
if (!tag)
|
|
12
|
+
return null;
|
|
13
|
+
const qParam = params
|
|
14
|
+
.map((param) => param.trim())
|
|
15
|
+
.find((param) => param.toLowerCase().startsWith("q="));
|
|
16
|
+
const q = qParam ? Number(qParam.slice(2)) : 1;
|
|
17
|
+
if (!Number.isFinite(q) || q <= 0)
|
|
18
|
+
return null;
|
|
19
|
+
return { index, q, tag };
|
|
20
|
+
})
|
|
21
|
+
.filter((candidate) => candidate != null)
|
|
22
|
+
.sort((left, right) => right.q - left.q || left.index - right.index)
|
|
23
|
+
.map((candidate) => candidate.tag);
|
|
24
|
+
}
|
|
25
|
+
export function resolveSuggestedUiLanguage(options) {
|
|
26
|
+
const configured = normalizeLanguage(options.configuredLanguage);
|
|
27
|
+
if (configured !== "en")
|
|
28
|
+
return configured;
|
|
29
|
+
for (const tag of parseAcceptLanguage(options.acceptLanguage)) {
|
|
30
|
+
const normalized = normalizeLanguage(tag);
|
|
31
|
+
if (normalized !== "en" || tag.toLowerCase().startsWith("en")) {
|
|
32
|
+
return normalized;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return "en";
|
|
36
|
+
}
|
|
37
|
+
export function handleI18nLocaleRoute(req, res) {
|
|
38
|
+
const method = (req.method ?? "GET").toUpperCase();
|
|
39
|
+
const url = new URL(req.url ?? "/", "http://localhost");
|
|
40
|
+
if (method !== "GET" || url.pathname !== "/api/i18n/locale") {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
let configuredLanguage;
|
|
44
|
+
try {
|
|
45
|
+
configuredLanguage = loadElizaConfig()
|
|
46
|
+
.ui?.language;
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
configuredLanguage = undefined;
|
|
50
|
+
}
|
|
51
|
+
sendJsonResponse(res, 200, {
|
|
52
|
+
language: resolveSuggestedUiLanguage({
|
|
53
|
+
acceptLanguage: req.headers["accept-language"],
|
|
54
|
+
configuredLanguage,
|
|
55
|
+
}),
|
|
56
|
+
});
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
@@ -19,10 +19,12 @@ export interface IosLocalAgentNativeRequestResult {
|
|
|
19
19
|
bodyBase64?: string | null;
|
|
20
20
|
bodyEncoding?: string;
|
|
21
21
|
}
|
|
22
|
+
declare const STARTUP_TRACE_ID_WINDOW_KEY = "__ELIZA_STARTUP_TRACE_ID__";
|
|
22
23
|
declare global {
|
|
23
24
|
interface Window {
|
|
24
25
|
__ELIZA_API_BASE__?: string;
|
|
25
26
|
__ELIZAOS_API_BASE__?: string;
|
|
27
|
+
[STARTUP_TRACE_ID_WINDOW_KEY]?: string;
|
|
26
28
|
__ELIZA_IOS_LOCAL_AGENT_REQUEST__?: (options: IosLocalAgentNativeRequestOptions) => Promise<IosLocalAgentNativeRequestResult>;
|
|
27
29
|
}
|
|
28
30
|
}
|
|
@@ -33,4 +35,5 @@ export declare function handleIosLocalAgentNativeRequest(options: IosLocalAgentN
|
|
|
33
35
|
export declare function installIosLocalAgentNativeRequestBridge(): void;
|
|
34
36
|
export declare function installIosLocalAgentFetchBridge(): void;
|
|
35
37
|
export declare function iosInProcessAgentTransportForUrl(url: string): Promise<AgentRequestTransport | null>;
|
|
38
|
+
export {};
|
|
36
39
|
//# sourceMappingURL=ios-local-agent-transport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ios-local-agent-transport.d.ts","sourceRoot":"","sources":["../../../../../src/api/ios-local-agent-transport.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAuBvE,MAAM,WAAW,iCAAiC;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gCAAgC;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"ios-local-agent-transport.d.ts","sourceRoot":"","sources":["../../../../../src/api/ios-local-agent-transport.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAuBvE,MAAM,WAAW,iCAAiC;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gCAAgC;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA0DD,QAAA,MAAM,2BAA2B,+BAA+B,CAAC;AAKjE,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,CAAC,2BAA2B,CAAC,CAAC,EAAE,MAAM,CAAC;QACvC,iCAAiC,CAAC,EAAE,CAClC,OAAO,EAAE,iCAAiC,KACvC,OAAO,CAAC,gCAAgC,CAAC,CAAC;KAChD;CACF;AAoPD,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAkBhE;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACjC,OAAO,CAKT;AA8ID,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAM7D;AAkFD,wBAAsB,gCAAgC,CACpD,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,gCAAgC,CAAC,CAyD3C;AAED,wBAAgB,uCAAuC,IAAI,IAAI,CAK9D;AA0CD,wBAAgB,+BAA+B,IAAI,IAAI,CAyCtD;AAED,wBAAsB,gCAAgC,CACpD,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAQvC"}
|
|
@@ -37,6 +37,8 @@ const IOS_FULL_BUN_ENV = {
|
|
|
37
37
|
ELIZA_IOS_BRIDGE_TRANSPORT: "bun-host-ipc",
|
|
38
38
|
LOG_LEVEL: "error",
|
|
39
39
|
};
|
|
40
|
+
const STARTUP_TRACE_ID_WINDOW_KEY = "__ELIZA_STARTUP_TRACE_ID__";
|
|
41
|
+
const STARTUP_TRACE_WINDOW_KEY = "__ELIZA_STARTUP_TRACE__";
|
|
40
42
|
function viteEnv() {
|
|
41
43
|
const metaEnv = import.meta.env ?? {};
|
|
42
44
|
const processEnv = typeof process === "undefined" ? {} : process.env;
|
|
@@ -307,6 +309,25 @@ function normalizeNativeResult(value) {
|
|
|
307
309
|
bodyEncoding: typeof record.bodyEncoding === "string" ? record.bodyEncoding : undefined,
|
|
308
310
|
};
|
|
309
311
|
}
|
|
312
|
+
function normalizeStartupTraceId(value) {
|
|
313
|
+
if (typeof value !== "string")
|
|
314
|
+
return undefined;
|
|
315
|
+
const trimmed = value.trim();
|
|
316
|
+
return trimmed.length > 0 ? trimmed : undefined;
|
|
317
|
+
}
|
|
318
|
+
function readStartupTraceId() {
|
|
319
|
+
if (typeof window === "undefined")
|
|
320
|
+
return undefined;
|
|
321
|
+
const startupTrace = window[STARTUP_TRACE_WINDOW_KEY];
|
|
322
|
+
return (normalizeStartupTraceId(window[STARTUP_TRACE_ID_WINDOW_KEY]) ??
|
|
323
|
+
normalizeStartupTraceId(startupTrace?.traceId));
|
|
324
|
+
}
|
|
325
|
+
function iosFullBunEnv() {
|
|
326
|
+
const startupTraceId = readStartupTraceId();
|
|
327
|
+
return startupTraceId
|
|
328
|
+
? { ...IOS_FULL_BUN_ENV, ELIZA_STARTUP_TRACE_ID: startupTraceId }
|
|
329
|
+
: IOS_FULL_BUN_ENV;
|
|
330
|
+
}
|
|
310
331
|
async function getFullBunRuntime() {
|
|
311
332
|
const strict = shouldRequireFullBunRuntime();
|
|
312
333
|
if (!isNativeIos() && !strict)
|
|
@@ -333,7 +354,7 @@ async function getFullBunRuntime() {
|
|
|
333
354
|
const started = await runtime.start({
|
|
334
355
|
engine: "bun",
|
|
335
356
|
argv: IOS_FULL_BUN_ARGV,
|
|
336
|
-
env:
|
|
357
|
+
env: iosFullBunEnv(),
|
|
337
358
|
});
|
|
338
359
|
if (!started.ok) {
|
|
339
360
|
throw new Error(started.error ?? "runtime start returned ok=false");
|
package/api/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../../src/api/server.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,KAAK,gBAAgB,EAErB,6BAA6B,EAC7B,wBAAwB,EACxB,2BAA2B,EAC3B,KAAK,WAAW,EAChB,gBAAgB,EAChB,qBAAqB,EAGrB,aAAa,EACb,YAAY,EAEZ,mBAAmB,EACnB,4BAA4B,EAE5B,0BAA0B,EAC1B,qCAAqC,EAErC,uBAAuB,EAEvB,+BAA+B,EAC/B,cAAc,IAAI,sBAAsB,EACxC,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,KAAK,YAAY,EAA2B,MAAM,eAAe,CAAC;AAS3E,OAAO,EACL,KAAK,kBAAkB,EAGxB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,mCAAmC,GACpC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,KAAK,kBAAkB,EACvB,4BAA4B,EAC5B,4BAA4B,EAC5B,+BAA+B,EAC/B,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EACL,yBAAyB,EACzB,wCAAwC,EACxC,0BAA0B,EAC1B,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,KAAK,gBAAgB,EACrB,6BAA6B,EAC7B,wBAAwB,EACxB,2BAA2B,EAC3B,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,4BAA4B,EAC5B,0BAA0B,EAC1B,qCAAqC,EACrC,uBAAuB,EACvB,+BAA+B,EAC/B,uBAAuB,GACxB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../../src/api/server.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,KAAK,gBAAgB,EAErB,6BAA6B,EAC7B,wBAAwB,EACxB,2BAA2B,EAC3B,KAAK,WAAW,EAChB,gBAAgB,EAChB,qBAAqB,EAGrB,aAAa,EACb,YAAY,EAEZ,mBAAmB,EACnB,4BAA4B,EAE5B,0BAA0B,EAC1B,qCAAqC,EAErC,uBAAuB,EAEvB,+BAA+B,EAC/B,cAAc,IAAI,sBAAsB,EACxC,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,KAAK,YAAY,EAA2B,MAAM,eAAe,CAAC;AAS3E,OAAO,EACL,KAAK,kBAAkB,EAGxB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,mCAAmC,GACpC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,KAAK,kBAAkB,EACvB,4BAA4B,EAC5B,4BAA4B,EAC5B,+BAA+B,EAC/B,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EACL,yBAAyB,EACzB,wCAAwC,EACxC,0BAA0B,EAC1B,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,KAAK,gBAAgB,EACrB,6BAA6B,EAC7B,wBAAwB,EACxB,2BAA2B,EAC3B,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,4BAA4B,EAC5B,0BAA0B,EAC1B,qCAAqC,EACrC,uBAAuB,EACvB,+BAA+B,EAC/B,uBAAuB,GACxB,CAAC;AA2JF,wBAAgB,qBAAqB,IAAI,IAAI,CAsC5C;AAoBD;;;;;;;;;;GAUG;AACH,iBAAe,wBAAwB,CACrC,OAAO,EAAE,YAAY,GAAG,IAAI,EAC5B,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CAwDf;AAED,eAAO,MAAM,iCAAiC,iCAA2B,CAAC;AA8hB1E,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,OAAO,CAAC,CAElB;AAiBD,wBAAgB,2BAA2B,IAAI,kBAAkB,CAEhE;AAED,wBAAgB,8BAA8B,IAAI,MAAM,IAAI,CA0J3D;AAED,wBAAsB,cAAc,CAClC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,GACjD,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAgF7D"}
|
package/api/server.js
CHANGED
|
@@ -48,6 +48,7 @@ import { handleDevCompatRoutes } from "./dev-compat-routes.js";
|
|
|
48
48
|
import { handleDropStatusCompatRoute } from "./drop-status-compat-route.js";
|
|
49
49
|
import { handleFirstRunRoute } from "./first-run-routes.js";
|
|
50
50
|
import { handleFirstRunTtsRoute } from "./first-run-tts-route.js";
|
|
51
|
+
import { handleI18nLocaleRoute } from "./i18n-locale-routes.js";
|
|
51
52
|
import { handleInternalWakeRoute } from "./internal-routes.js";
|
|
52
53
|
import { isPerfInstrumentEnabled, normalizeRouteKey, recordRouteTiming, } from "./perf-instrument.js";
|
|
53
54
|
import { handleSecretsInventoryRoute } from "./secrets-inventory-routes.js";
|
|
@@ -439,6 +440,10 @@ async function handleCompatRouteInner(req, res, state) {
|
|
|
439
440
|
// useRuntimeMode() hook.
|
|
440
441
|
if (await handleRuntimeModeRoute(req, res, state))
|
|
441
442
|
return true;
|
|
443
|
+
// First-paint UI language suggestion. Public/advisory only; the client
|
|
444
|
+
// falls back to English when it is absent, but serving it avoids noisy 404s.
|
|
445
|
+
if (handleI18nLocaleRoute(req, res))
|
|
446
|
+
return true;
|
|
442
447
|
// Eliza Cloud thin-client proxy (compat agents, jobs, OAuth, …). Keep this
|
|
443
448
|
// before the local /api/cloud handler so /api/cloud/v1/* forwards to Cloud.
|
|
444
449
|
if (url.pathname.startsWith("/api/cloud/compat/") ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cerebras-autowire.d.ts","sourceRoot":"","sources":["../../../../../src/benchmark/cerebras-autowire.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cerebras-autowire.d.ts","sourceRoot":"","sources":["../../../../../src/benchmark/cerebras-autowire.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CA0CvC"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import { elizaLogger } from "@elizaos/core";
|
|
2
|
+
const KNOWN_CEREBRAS_BARE_MODELS = new Set([
|
|
3
|
+
"gpt-oss-120b",
|
|
4
|
+
"zai-glm-4.7",
|
|
5
|
+
"gemma-4-31b",
|
|
6
|
+
]);
|
|
7
|
+
function isKnownCerebrasBareModel(model) {
|
|
8
|
+
return KNOWN_CEREBRAS_BARE_MODELS.has(model.trim().toLowerCase());
|
|
9
|
+
}
|
|
2
10
|
/**
|
|
3
11
|
* Auto-wire the `@elizaos/plugin-openai` env keys from a `CEREBRAS_API_KEY`
|
|
4
12
|
* when no competing OpenAI-compat configuration is present.
|
|
@@ -33,8 +41,7 @@ export function autoWireCerebras() {
|
|
|
33
41
|
const selectedModel = process.env.BENCHMARK_MODEL_NAME?.trim() ||
|
|
34
42
|
process.env.CEREBRAS_MODEL?.trim() ||
|
|
35
43
|
"";
|
|
36
|
-
const modelIsCerebras = selectedModel
|
|
37
|
-
selectedModel === "qwen-3-235b-a22b-instruct-2507";
|
|
44
|
+
const modelIsCerebras = isKnownCerebrasBareModel(selectedModel);
|
|
38
45
|
const explicitCerebras = process.env.BENCHMARK_MODEL_PROVIDER?.trim().toLowerCase() === "cerebras" ||
|
|
39
46
|
process.env.ELIZA_PROVIDER?.trim().toLowerCase() === "cerebras" ||
|
|
40
47
|
process.env.OPENAI_BASE_URL?.includes("cerebras.ai") === true ||
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elizaos/app-core",
|
|
3
|
-
"version": "2.0.3-beta.
|
|
3
|
+
"version": "2.0.3-beta.6",
|
|
4
4
|
"description": "Shared application core for elizaOS white-label agent apps.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -155,22 +155,22 @@
|
|
|
155
155
|
"three": "^0.184.0"
|
|
156
156
|
},
|
|
157
157
|
"optionalDependencies": {
|
|
158
|
-
"@elizaos/capacitor-appblocker": "2.0.3-beta.
|
|
159
|
-
"@elizaos/capacitor-bun-runtime": "2.0.3-beta.
|
|
160
|
-
"@elizaos/capacitor-camera": "2.0.3-beta.
|
|
161
|
-
"@elizaos/capacitor-canvas": "2.0.3-beta.
|
|
162
|
-
"@elizaos/capacitor-contacts": "2.0.3-beta.
|
|
163
|
-
"@elizaos/capacitor-gateway": "2.0.3-beta.
|
|
164
|
-
"@elizaos/capacitor-location": "2.0.3-beta.
|
|
165
|
-
"@elizaos/capacitor-messages": "2.0.3-beta.
|
|
166
|
-
"@elizaos/capacitor-mobile-agent-bridge": "2.0.3-beta.
|
|
167
|
-
"@elizaos/capacitor-mobile-signals": "2.0.3-beta.
|
|
168
|
-
"@elizaos/capacitor-phone": "2.0.3-beta.
|
|
169
|
-
"@elizaos/capacitor-screencapture": "2.0.3-beta.
|
|
170
|
-
"@elizaos/capacitor-swabble": "2.0.3-beta.
|
|
171
|
-
"@elizaos/capacitor-system": "2.0.3-beta.
|
|
172
|
-
"@elizaos/capacitor-talkmode": "2.0.3-beta.
|
|
173
|
-
"@elizaos/capacitor-websiteblocker": "2.0.3-beta.
|
|
158
|
+
"@elizaos/capacitor-appblocker": "2.0.3-beta.6",
|
|
159
|
+
"@elizaos/capacitor-bun-runtime": "2.0.3-beta.6",
|
|
160
|
+
"@elizaos/capacitor-camera": "2.0.3-beta.6",
|
|
161
|
+
"@elizaos/capacitor-canvas": "2.0.3-beta.6",
|
|
162
|
+
"@elizaos/capacitor-contacts": "2.0.3-beta.6",
|
|
163
|
+
"@elizaos/capacitor-gateway": "2.0.3-beta.6",
|
|
164
|
+
"@elizaos/capacitor-location": "2.0.3-beta.6",
|
|
165
|
+
"@elizaos/capacitor-messages": "2.0.3-beta.6",
|
|
166
|
+
"@elizaos/capacitor-mobile-agent-bridge": "2.0.3-beta.6",
|
|
167
|
+
"@elizaos/capacitor-mobile-signals": "2.0.3-beta.6",
|
|
168
|
+
"@elizaos/capacitor-phone": "2.0.3-beta.6",
|
|
169
|
+
"@elizaos/capacitor-screencapture": "2.0.3-beta.6",
|
|
170
|
+
"@elizaos/capacitor-swabble": "2.0.3-beta.6",
|
|
171
|
+
"@elizaos/capacitor-system": "2.0.3-beta.6",
|
|
172
|
+
"@elizaos/capacitor-talkmode": "2.0.3-beta.6",
|
|
173
|
+
"@elizaos/capacitor-websiteblocker": "2.0.3-beta.6",
|
|
174
174
|
"sharp": "^0.34.5"
|
|
175
175
|
},
|
|
176
176
|
"dependencies": {
|
|
@@ -184,24 +184,24 @@
|
|
|
184
184
|
"@capacitor/preferences": "^8.0.1",
|
|
185
185
|
"@capacitor/push-notifications": "^8.0.0",
|
|
186
186
|
"@clack/prompts": "^1.0.0",
|
|
187
|
-
"@elizaos/core": "2.0.3-beta.
|
|
188
|
-
"@elizaos/plugin-anthropic": "2.0.3-beta.
|
|
189
|
-
"@elizaos/plugin-browser": "2.0.3-beta.
|
|
190
|
-
"@elizaos/plugin-edge-tts": "2.0.3-beta.
|
|
191
|
-
"@elizaos/plugin-elizacloud": "2.0.3-beta.
|
|
192
|
-
"@elizaos/plugin-groq": "2.0.3-beta.
|
|
193
|
-
"@elizaos/plugin-health": "2.0.3-beta.
|
|
194
|
-
"@elizaos/plugin-local-inference": "2.0.3-beta.
|
|
195
|
-
"@elizaos/plugin-openai": "2.0.3-beta.
|
|
196
|
-
"@elizaos/plugin-registry": "2.0.3-beta.
|
|
197
|
-
"@elizaos/plugin-sql": "2.0.3-beta.
|
|
198
|
-
"@elizaos/plugin-wechat": "2.0.3-beta.
|
|
199
|
-
"@elizaos/plugin-workflow": "2.0.3-beta.
|
|
200
|
-
"@elizaos/registry": "2.0.3-beta.
|
|
201
|
-
"@elizaos/shared": "2.0.3-beta.
|
|
202
|
-
"@elizaos/skills": "2.0.3-beta.
|
|
203
|
-
"@elizaos/ui": "2.0.3-beta.
|
|
204
|
-
"@elizaos/vault": "2.0.3-beta.
|
|
187
|
+
"@elizaos/core": "2.0.3-beta.6",
|
|
188
|
+
"@elizaos/plugin-anthropic": "2.0.3-beta.6",
|
|
189
|
+
"@elizaos/plugin-browser": "2.0.3-beta.6",
|
|
190
|
+
"@elizaos/plugin-edge-tts": "2.0.3-beta.6",
|
|
191
|
+
"@elizaos/plugin-elizacloud": "2.0.3-beta.6",
|
|
192
|
+
"@elizaos/plugin-groq": "2.0.3-beta.6",
|
|
193
|
+
"@elizaos/plugin-health": "2.0.3-beta.6",
|
|
194
|
+
"@elizaos/plugin-local-inference": "2.0.3-beta.6",
|
|
195
|
+
"@elizaos/plugin-openai": "2.0.3-beta.6",
|
|
196
|
+
"@elizaos/plugin-registry": "2.0.3-beta.6",
|
|
197
|
+
"@elizaos/plugin-sql": "2.0.3-beta.6",
|
|
198
|
+
"@elizaos/plugin-wechat": "2.0.3-beta.6",
|
|
199
|
+
"@elizaos/plugin-workflow": "2.0.3-beta.6",
|
|
200
|
+
"@elizaos/registry": "2.0.3-beta.6",
|
|
201
|
+
"@elizaos/shared": "2.0.3-beta.6",
|
|
202
|
+
"@elizaos/skills": "2.0.3-beta.6",
|
|
203
|
+
"@elizaos/ui": "2.0.3-beta.6",
|
|
204
|
+
"@elizaos/vault": "2.0.3-beta.6",
|
|
205
205
|
"@node-rs/argon2": "^2.0.2",
|
|
206
206
|
"@upstash/redis": "^1.37.0",
|
|
207
207
|
"chalk": "^5.3.0",
|
|
@@ -222,5 +222,5 @@
|
|
|
222
222
|
},
|
|
223
223
|
"module": "./index.js",
|
|
224
224
|
"types": "./index.d.ts",
|
|
225
|
-
"gitHead": "
|
|
225
|
+
"gitHead": "990dc996172b3e0fb525a75052a5ac28a4cd4de5"
|
|
226
226
|
}
|
package/packaging/debian/rules
CHANGED
|
@@ -22,6 +22,8 @@
|
|
|
22
22
|
set -euo pipefail
|
|
23
23
|
|
|
24
24
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
25
|
+
REPO_ROOT="$(cd "${SCRIPT_DIR}/../../../.." && pwd)"
|
|
26
|
+
RM_PATH_RECURSIVE="${REPO_ROOT}/packages/scripts/rm-path-recursive.mjs"
|
|
25
27
|
OUT_DIR="${1:-$SCRIPT_DIR}"
|
|
26
28
|
OUT_FILE="$OUT_DIR/node-sources.json"
|
|
27
29
|
|
|
@@ -39,7 +41,10 @@ fi
|
|
|
39
41
|
# packaging dir, so synthesize one from a fresh install of the latest
|
|
40
42
|
# published `elizaos` CLI in a temp dir.
|
|
41
43
|
WORK_DIR="$(mktemp -d)"
|
|
42
|
-
|
|
44
|
+
cleanup() {
|
|
45
|
+
node "${RM_PATH_RECURSIVE}" "${WORK_DIR}"
|
|
46
|
+
}
|
|
47
|
+
trap cleanup EXIT
|
|
43
48
|
|
|
44
49
|
echo "[generate-sources] Resolving elizaos dependency closure in $WORK_DIR" >&2
|
|
45
50
|
(
|
|
@@ -111,6 +111,7 @@ parts:
|
|
|
111
111
|
APP_CORE_DIR="packages/app-core"
|
|
112
112
|
PACKAGES_DIR="packages"
|
|
113
113
|
APP_CORE_SCRIPTS_DIR="$APP_CORE_DIR/scripts"
|
|
114
|
+
RM_PATH_RECURSIVE="packages/scripts/rm-path-recursive.mjs"
|
|
114
115
|
|
|
115
116
|
# Skip building local upstreams and native Capacitor plugins in the snap build.
|
|
116
117
|
export ELIZAOS_APP_SKIP_LOCAL_UPSTREAMS=1
|
|
@@ -312,7 +313,9 @@ parts:
|
|
|
312
313
|
# a surviving manifest declares them. Link the local workspace explicitly
|
|
313
314
|
# so app-core's declaration build can resolve those compatibility imports.
|
|
314
315
|
mkdir -p node_modules/@elizaos "$APP_CORE_DIR/node_modules/@elizaos"
|
|
315
|
-
|
|
316
|
+
node "$RM_PATH_RECURSIVE" \
|
|
317
|
+
node_modules/@elizaos/plugin-wallet \
|
|
318
|
+
"$APP_CORE_DIR/node_modules/@elizaos/plugin-wallet"
|
|
316
319
|
ln -s ../../plugins/plugin-wallet node_modules/@elizaos/plugin-wallet
|
|
317
320
|
ln -s ../../../../plugins/plugin-wallet "$APP_CORE_DIR/node_modules/@elizaos/plugin-wallet"
|
|
318
321
|
|
|
@@ -344,16 +347,17 @@ parts:
|
|
|
344
347
|
# source tree during the snap production build.
|
|
345
348
|
mkdir -p "$APP_CORE_DIR/node_modules"
|
|
346
349
|
if [ ! -d "$APP_CORE_DIR/node_modules/tailwindcss" ]; then
|
|
350
|
+
TW_EXTRACT_DIR="/tmp/tw_extract"
|
|
347
351
|
TAILWIND_URL=$(npm view tailwindcss dist.tarball 2>/dev/null || true)
|
|
348
352
|
if [ -z "$TAILWIND_URL" ]; then
|
|
349
353
|
echo "Failed to resolve tailwindcss tarball URL" >&2
|
|
350
354
|
exit 1
|
|
351
355
|
fi
|
|
352
|
-
|
|
353
|
-
mkdir -p
|
|
354
|
-
curl -fsSL "$TAILWIND_URL" | tar xz -C
|
|
355
|
-
|
|
356
|
-
mv /
|
|
356
|
+
node "$RM_PATH_RECURSIVE" "$TW_EXTRACT_DIR"
|
|
357
|
+
mkdir -p "$TW_EXTRACT_DIR"
|
|
358
|
+
curl -fsSL "$TAILWIND_URL" | tar xz -C "$TW_EXTRACT_DIR"
|
|
359
|
+
node "$RM_PATH_RECURSIVE" "$APP_CORE_DIR/node_modules/tailwindcss"
|
|
360
|
+
mv "$TW_EXTRACT_DIR/package" "$APP_CORE_DIR/node_modules/tailwindcss"
|
|
357
361
|
fi
|
|
358
362
|
|
|
359
363
|
# Fresh snap builds also need generated i18n keyword data; the
|
|
@@ -369,7 +373,7 @@ parts:
|
|
|
369
373
|
react react-dom jsdom pg qrcode three ws
|
|
370
374
|
stats.js tough-cookie webxr
|
|
371
375
|
"
|
|
372
|
-
|
|
376
|
+
node "$RM_PATH_RECURSIVE" "$SNAP_BUILD_TYPES_DIR"
|
|
373
377
|
mkdir -p "$SNAP_BUILD_TYPES_DIR/@types"
|
|
374
378
|
for type_pkg in $(printf '%s\n' "$SNAP_BUILD_TYPE_PACKAGES"); do
|
|
375
379
|
type_target=""
|
|
@@ -402,12 +406,12 @@ parts:
|
|
|
402
406
|
echo "Failed to restore @types/$type_pkg after patch-deps" >&2
|
|
403
407
|
exit 1
|
|
404
408
|
fi
|
|
405
|
-
|
|
409
|
+
node "$RM_PATH_RECURSIVE" "node_modules/@types/$type_pkg"
|
|
406
410
|
cp -aL "$type_target" "node_modules/@types/$type_pkg"
|
|
407
411
|
done
|
|
408
412
|
mkdir -p "$APP_CORE_DIR/node_modules/@types"
|
|
409
413
|
for type_pkg in react react-dom three ws; do
|
|
410
|
-
|
|
414
|
+
node "$RM_PATH_RECURSIVE" "$APP_CORE_DIR/node_modules/@types/$type_pkg"
|
|
411
415
|
cp -aL "$SNAP_BUILD_TYPES_DIR/@types/$type_pkg" "$APP_CORE_DIR/node_modules/@types/$type_pkg"
|
|
412
416
|
done
|
|
413
417
|
|
|
@@ -506,8 +510,8 @@ parts:
|
|
|
506
510
|
--filter=@elizaos/plugin-wechat \
|
|
507
511
|
--filter=@elizaos/plugin-whatsapp \
|
|
508
512
|
--filter=@elizaos/scenario-runner
|
|
509
|
-
|
|
510
|
-
|
|
513
|
+
node "$RM_PATH_RECURSIVE" node_modules/@types
|
|
514
|
+
node "$RM_PATH_RECURSIVE" "$SNAP_BUILD_TYPES_DIR"
|
|
511
515
|
|
|
512
516
|
# Install into snap
|
|
513
517
|
mkdir -p "$CRAFT_PART_INSTALL/lib/elizaos-app"
|
|
@@ -1369,6 +1369,7 @@ public class ElizaAgentService extends Service {
|
|
|
1369
1369
|
agentEnv.put("ELIZA_STATE_DIR", agentStateDir().getAbsolutePath());
|
|
1370
1370
|
agentEnv.put("ELIZA_PLATFORM", "android");
|
|
1371
1371
|
agentEnv.put("ELIZA_MOBILE_PLATFORM", "android");
|
|
1372
|
+
agentEnv.put("ELIZA_STARTUP_TRACE_ID", ElizaStartupTrace.currentId());
|
|
1372
1373
|
agentEnv.put("ELIZA_RUNTIME_MODE", "local-yolo");
|
|
1373
1374
|
agentEnv.put("AGENT_COMMAND", "android-bridge");
|
|
1374
1375
|
agentEnv.put("ELIZA_DISABLE_DIRECT_RUN", "1");
|
|
@@ -1588,7 +1589,7 @@ public class ElizaAgentService extends Service {
|
|
|
1588
1589
|
|
|
1589
1590
|
// Keep decode chunks bounded for stock APK runs while avoiding
|
|
1590
1591
|
// unnecessary multi-chunk prompt prefill. Pixel validation on
|
|
1591
|
-
// eliza-1-
|
|
1592
|
+
// eliza-1-2b showed 256-token chunks reduce native prefill
|
|
1592
1593
|
// time versus the older 64-token default, without blocking
|
|
1593
1594
|
// health/startup probes because the HTTP server binds after
|
|
1594
1595
|
// model prewarm. Branded AOSP keeps the historical 512-token
|
|
@@ -43,6 +43,11 @@ public final class ElizaNativeBridge {
|
|
|
43
43
|
return trimmed.isEmpty() ? null : trimmed;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
+
@JavascriptInterface
|
|
47
|
+
public String getStartupTraceId() {
|
|
48
|
+
return ElizaStartupTrace.currentId();
|
|
49
|
+
}
|
|
50
|
+
|
|
46
51
|
@JavascriptInterface
|
|
47
52
|
public String getAndroidVirtualization() {
|
|
48
53
|
return AndroidVirtualizationBridge.probeJson(appContext);
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
package ai.elizaos.app;
|
|
2
|
+
|
|
3
|
+
import java.util.UUID;
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Process-local startup trace id shared by the Android host, WebView renderer,
|
|
7
|
+
* and spawned local agent env.
|
|
8
|
+
*/
|
|
9
|
+
public final class ElizaStartupTrace {
|
|
10
|
+
|
|
11
|
+
private static final String PREFIX = "android-";
|
|
12
|
+
private static volatile String currentId;
|
|
13
|
+
|
|
14
|
+
private ElizaStartupTrace() {}
|
|
15
|
+
|
|
16
|
+
public static String currentId() {
|
|
17
|
+
String existing = currentId;
|
|
18
|
+
if (existing != null) {
|
|
19
|
+
return existing;
|
|
20
|
+
}
|
|
21
|
+
synchronized (ElizaStartupTrace.class) {
|
|
22
|
+
if (currentId == null) {
|
|
23
|
+
currentId = PREFIX + System.currentTimeMillis() + "-" + UUID.randomUUID();
|
|
24
|
+
}
|
|
25
|
+
return currentId;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -198,7 +198,7 @@ public class ElizaVoicePlugin extends Plugin {
|
|
|
198
198
|
if (!ensureLoadedOrReject(call)) return;
|
|
199
199
|
String bundleDir = resolveBundleDir(call.getString("bundleDir"));
|
|
200
200
|
String prompt = call.getString("prompt",
|
|
201
|
-
"
|
|
201
|
+
"<start_of_turn>user\nWrite one sentence about the ocean.<end_of_turn>\n<start_of_turn>model\n");
|
|
202
202
|
Integer maxTokens = call.getInt("maxTokens", 48);
|
|
203
203
|
try {
|
|
204
204
|
String json = ElizaVoiceNative.nativeLlmSelfTest(
|
|
@@ -114,6 +114,7 @@ public class MainActivity extends BridgeActivity {
|
|
|
114
114
|
// for the dead-Handler bug it works around.
|
|
115
115
|
getBridge().getWebView().addJavascriptInterface(
|
|
116
116
|
new ElizaNativeBridge(this), ElizaNativeBridge.JS_NAME);
|
|
117
|
+
Log.i(TAG, "startupTraceId=" + ElizaStartupTrace.currentId());
|
|
117
118
|
ElizaAndroidSystemBridge.install(getBridge().getWebView(), this);
|
|
118
119
|
publishGestureInset();
|
|
119
120
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { spawnSync } from "node:child_process";
|
|
1
2
|
import fs from "node:fs";
|
|
2
3
|
import path from "node:path";
|
|
3
4
|
import { fileURLToPath } from "node:url";
|
|
@@ -178,6 +179,13 @@ const workspacePackagesRoot = fs.existsSync(
|
|
|
178
179
|
)
|
|
179
180
|
? path.join(repoRoot, "packages")
|
|
180
181
|
: path.join(repoRoot, "eliza", "packages");
|
|
182
|
+
const elizaWorkspaceRoot = path.dirname(workspacePackagesRoot);
|
|
183
|
+
const rmPathRecursiveScript = path.join(
|
|
184
|
+
elizaWorkspaceRoot,
|
|
185
|
+
"packages",
|
|
186
|
+
"scripts",
|
|
187
|
+
"rm-path-recursive.mjs",
|
|
188
|
+
);
|
|
181
189
|
const sharedSourceDir = path.join(workspacePackagesRoot, "shared", "src");
|
|
182
190
|
const coreNodeEntry = fs.existsSync(
|
|
183
191
|
path.join(workspacePackagesRoot, "core", "dist", "node", "index.node.js"),
|
|
@@ -216,7 +224,7 @@ function resolveRuntimeBundleSourcePath(rootDir: string): string {
|
|
|
216
224
|
".generated",
|
|
217
225
|
"runtime-dist",
|
|
218
226
|
);
|
|
219
|
-
|
|
227
|
+
rmRecursive(sanitizedDistPath);
|
|
220
228
|
fs.mkdirSync(sanitizedDistPath, { recursive: true });
|
|
221
229
|
for (const entry of fs.readdirSync(runtimeDistPath)) {
|
|
222
230
|
if (entry === "node_modules") continue;
|
|
@@ -232,6 +240,28 @@ function resolveRuntimeBundleSourcePath(rootDir: string): string {
|
|
|
232
240
|
return sanitizedDistPath;
|
|
233
241
|
}
|
|
234
242
|
|
|
243
|
+
function rmRecursive(pathToRemove: string): void {
|
|
244
|
+
const result = spawnSync(
|
|
245
|
+
process.execPath,
|
|
246
|
+
[rmPathRecursiveScript, path.resolve(pathToRemove)],
|
|
247
|
+
{
|
|
248
|
+
cwd: elizaWorkspaceRoot,
|
|
249
|
+
encoding: "utf8",
|
|
250
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
251
|
+
},
|
|
252
|
+
);
|
|
253
|
+
if (result.status !== 0) {
|
|
254
|
+
const reason =
|
|
255
|
+
result.stderr?.trim() ||
|
|
256
|
+
result.stdout?.trim() ||
|
|
257
|
+
result.error?.message ||
|
|
258
|
+
`exit status ${String(result.status)}`;
|
|
259
|
+
throw new Error(
|
|
260
|
+
`Failed to recursively remove sanitized Electrobun runtime dist ${pathToRemove}: ${reason}`,
|
|
261
|
+
);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
|
|
235
265
|
const runtimeBundleSourcePath = resolveRuntimeBundleSourcePath(repoRoot);
|
|
236
266
|
const runtimeBundleDistDir = path.relative(
|
|
237
267
|
electrobunDir,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elizaos/electrobun",
|
|
3
|
-
"version": "2.0.3-beta.
|
|
3
|
+
"version": "2.0.3-beta.6",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"assets",
|
|
@@ -25,14 +25,14 @@
|
|
|
25
25
|
"build:native-effects": "bash scripts/build-macos-effects.sh"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@elizaos/agent": "2.0.3-beta.
|
|
29
|
-
"@elizaos/app-core": "2.0.3-beta.
|
|
30
|
-
"@elizaos/plugin-browser": "2.0.3-beta.
|
|
31
|
-
"@elizaos/plugin-capacitor-bridge": "2.0.3-beta.
|
|
32
|
-
"@elizaos/plugin-registry": "2.0.3-beta.
|
|
33
|
-
"@elizaos/plugin-remote-manifest": "2.0.3-beta.
|
|
34
|
-
"@elizaos/plugin-streaming": "2.0.3-beta.
|
|
35
|
-
"@elizaos/shared": "2.0.3-beta.
|
|
28
|
+
"@elizaos/agent": "2.0.3-beta.6",
|
|
29
|
+
"@elizaos/app-core": "2.0.3-beta.6",
|
|
30
|
+
"@elizaos/plugin-browser": "2.0.3-beta.6",
|
|
31
|
+
"@elizaos/plugin-capacitor-bridge": "2.0.3-beta.6",
|
|
32
|
+
"@elizaos/plugin-registry": "2.0.3-beta.6",
|
|
33
|
+
"@elizaos/plugin-remote-manifest": "2.0.3-beta.6",
|
|
34
|
+
"@elizaos/plugin-streaming": "2.0.3-beta.6",
|
|
35
|
+
"@elizaos/shared": "2.0.3-beta.6",
|
|
36
36
|
"bonjour-service": "1.4.2",
|
|
37
37
|
"electrobun": "^1.18.1"
|
|
38
38
|
},
|
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
"publishConfig": {
|
|
47
47
|
"access": "public"
|
|
48
48
|
},
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "990dc996172b3e0fb525a75052a5ac28a4cd4de5"
|
|
50
50
|
}
|
|
@@ -4,18 +4,15 @@
|
|
|
4
4
|
|
|
5
5
|
## Eliza-1 Source
|
|
6
6
|
|
|
7
|
-
Phase 8 is Eliza-1 first. The canonical model repository is `elizaos/eliza-1`; runtime bundles live under `bundles/<tier>/`. The Remote
|
|
7
|
+
Phase 8 is Eliza-1 first. The canonical model repository is `elizaos/eliza-1`; runtime bundles live under `bundles/<tier>/`. The Remote exposes the active runtime bundle tiers:
|
|
8
8
|
|
|
9
|
-
- `0_6b`
|
|
10
|
-
- `0_8b`
|
|
11
|
-
- `1_7b`
|
|
12
9
|
- `2b`
|
|
13
10
|
- `4b`
|
|
14
11
|
- `9b`
|
|
15
12
|
- `27b`
|
|
16
13
|
- `27b-256k`
|
|
17
14
|
|
|
18
|
-
The local app catalog
|
|
15
|
+
The local app catalog marks the active Eliza-1 line as `2b`, `4b`, `9b`, `27b`, and `27b-256k`. Historical `0_6b`, `0_8b`, and `1_7b` bundle experiments are not exposed by this Remote.
|
|
19
16
|
|
|
20
17
|
The default published runtime artifact is `Q4_K_M`. `Q6_K` and `Q8_0` are tracked as higher-precision variants when the repo or local catalog reports them.
|
|
21
18
|
|
|
@@ -27,22 +27,6 @@ type TierSnapshot = {
|
|
|
27
27
|
const LOCAL_CATALOG_PATH = resolveLocalCatalogPath();
|
|
28
28
|
|
|
29
29
|
const TIER_SNAPSHOTS: TierSnapshot[] = [
|
|
30
|
-
{
|
|
31
|
-
tier: "0_6b",
|
|
32
|
-
params: "0.6B",
|
|
33
|
-
displayName: "Eliza-1 0.6B",
|
|
34
|
-
activeTier: false,
|
|
35
|
-
roles: ["chat"],
|
|
36
|
-
capabilities: ["text-generation"],
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
tier: "1_7b",
|
|
40
|
-
params: "1.7B",
|
|
41
|
-
displayName: "Eliza-1 1.7B",
|
|
42
|
-
activeTier: false,
|
|
43
|
-
roles: ["chat"],
|
|
44
|
-
capabilities: ["text-generation"],
|
|
45
|
-
},
|
|
46
30
|
{
|
|
47
31
|
tier: "2b",
|
|
48
32
|
params: "2B",
|