@elizaos/app-core 2.0.3-beta.4 → 2.0.3-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/api/i18n-locale-routes.d.ts +7 -0
  2. package/api/i18n-locale-routes.d.ts.map +1 -0
  3. package/api/i18n-locale-routes.js +58 -0
  4. package/api/ios-local-agent-transport.d.ts +3 -0
  5. package/api/ios-local-agent-transport.d.ts.map +1 -1
  6. package/api/ios-local-agent-transport.js +22 -1
  7. package/api/server.d.ts.map +1 -1
  8. package/api/server.js +5 -0
  9. package/benchmark/cerebras-autowire.d.ts.map +1 -1
  10. package/benchmark/cerebras-autowire.js +9 -2
  11. package/package.json +36 -36
  12. package/packaging/debian/rules +1 -1
  13. package/packaging/flatpak/generate-sources.sh +6 -1
  14. package/packaging/snap/snapcraft.yaml +15 -11
  15. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaAgentService.java +2 -1
  16. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaNativeBridge.java +5 -0
  17. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaStartupTrace.java +28 -0
  18. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaVoicePlugin.java +1 -1
  19. package/platforms/android/app/src/main/java/ai/elizaos/app/MainActivity.java +1 -0
  20. package/platforms/electrobun/package.json +10 -10
  21. package/platforms/electrobun/remotes/local-model/README.md +2 -5
  22. package/platforms/electrobun/remotes/local-model/src/bun/eliza1-catalog.ts +0 -16
  23. package/platforms/electrobun/remotes/local-model/src/dev/phase8-smoke.ts +0 -2
  24. package/platforms/electrobun/scripts/smoke-test.sh +8 -2
  25. package/platforms/electrobun/scripts/stage-macos-release-artifacts.sh +8 -2
  26. package/platforms/electrobun/src/bridge/electrobun-boot-config.ts +8 -0
  27. package/platforms/electrobun/src/bridge/electrobun-crypto-ready.ts +5 -1
  28. package/platforms/electrobun/src/bridge/electrobun-direct-rpc.ts +5 -11
  29. package/platforms/electrobun/src/preload.js +1 -1
  30. package/platforms/ios/App/App/Base.lproj/Main.storyboard +1 -1
  31. package/platforms/ios/App/App/ElizaBridgeViewController.swift +22 -0
  32. package/platforms/ios/App/App/ElizaStartupTrace.swift +12 -0
  33. package/platforms/ios/App/App.xcodeproj/project.pbxproj +8 -0
  34. package/runtime/eliza.d.ts.map +1 -1
  35. package/runtime/eliza.js +18 -0
  36. package/runtime/voice-warmup.d.ts +4 -4
  37. package/runtime/voice-warmup.d.ts.map +1 -1
  38. package/runtime/voice-warmup.js +4 -4
  39. package/scripts/aosp/compile-libllama.mjs +25 -5
  40. package/scripts/aosp/compile-libllama.test.mjs +17 -1
  41. package/scripts/assert-required-bundled-packages.test.ts +24 -2
  42. package/scripts/build-bundled-agent-skills-artifact.mjs +32 -8
  43. package/scripts/build-bundled-orchestrator-artifact.mjs +34 -12
  44. package/scripts/build-llama-cpp-mtp.mjs +27 -3
  45. package/scripts/build-patched-electrobun-cli.mjs +30 -2
  46. package/scripts/bun-riscv64/bun-version.json +1 -1
  47. package/scripts/bun-riscv64/validate.sh +21 -8
  48. package/scripts/check-real-local-reset.ts +13 -1
  49. package/scripts/check-sms-gateway-completion-audit.mjs +96 -31
  50. package/scripts/check-sms-gateway-readiness.mjs +54 -17
  51. package/scripts/clean-repo.mjs +21 -3
  52. package/scripts/copy-runtime-node-modules.ts +68 -63
  53. package/scripts/desktop-build.mjs +46 -5
  54. package/scripts/dev-platform-no-install.test.mjs +19 -0
  55. package/scripts/dev-platform.mjs +6 -2
  56. package/scripts/disable-local-eliza-workspace.mjs +23 -1
  57. package/scripts/docker-ci-smoke.sh +6 -5
  58. package/scripts/ensure-avatars.mjs +18 -5
  59. package/scripts/ensure-bundled-workspaces.mjs +4 -15
  60. package/scripts/ensure-type-package-aliases.mjs +47 -3
  61. package/scripts/ffi-stub/Makefile +5 -2
  62. package/scripts/ios-xcframework/build-xcframework.mjs +22 -11
  63. package/scripts/ios-xcframework/run-physical-device-smoke.mjs +99 -6
  64. package/scripts/ios-xcframework/runtime-symbol-shim.c +560 -105
  65. package/scripts/lib/agent-source-watcher.test.mjs +24 -4
  66. package/scripts/lib/apple-entitlement-audit.test.mjs +19 -2
  67. package/scripts/lib/artifact-staleness.test.mts +18 -1
  68. package/scripts/lib/patch-bun-exports.mjs +20 -2
  69. package/scripts/lib/patch-bun-exports.test.mjs +108 -4
  70. package/scripts/lib/renderer-build-manifest.test.mts +18 -1
  71. package/scripts/lib/stage-android-agent.mjs +16 -3
  72. package/scripts/lib/verify-ondevice-artifact.test.mts +18 -1
  73. package/scripts/link-docker-local-app-packages.mjs +26 -1
  74. package/scripts/mas-smoke.test.mjs +25 -9
  75. package/scripts/omnivoice-fuse/prepare.mjs +27 -4
  76. package/scripts/package-electrobun-linux.mjs +22 -7
  77. package/scripts/patch-deps.mjs +18 -5
  78. package/scripts/playwright-ui-live-stack.ts +16 -3
  79. package/scripts/playwright-ui-smoke-api-stub.mjs +167 -2
  80. package/scripts/prepare-ios-cocoapods.sh +5 -1
  81. package/scripts/prune-cdn-local-assets.mjs +52 -5
  82. package/scripts/run-mobile-build-android-app-actions.test.mjs +19 -1
  83. package/scripts/run-mobile-build-mtp-staleness.test.mts +20 -4
  84. package/scripts/run-mobile-build.mjs +63 -2
  85. package/scripts/stage-android-agent.test.mjs +19 -1
  86. package/scripts/stage-desktop-fused-lib.mjs +26 -1
  87. package/scripts/sync-desktop-renderer.mjs +53 -12
  88. package/scripts/test-sms-gateway-software.mjs +20 -4
  89. package/cli/command-format.d.ts +0 -2
  90. package/cli/command-format.d.ts.map +0 -1
  91. package/cli/command-format.js +0 -20
  92. package/register-runtime-hooks.d.ts +0 -2
  93. package/register-runtime-hooks.d.ts.map +0 -1
  94. 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;AA6DD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,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;AAoHD,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"}
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: IOS_FULL_BUN_ENV,
357
+ env: iosFullBunEnv(),
337
358
  });
338
359
  if (!started.ok) {
339
360
  throw new Error(started.error ?? "runtime start returned ok=false");
@@ -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;AA0JF,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;AA0hB1E,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"}
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":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CA4CvC"}
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 === "gpt-oss-120b" ||
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.4",
3
+ "version": "2.0.3-beta.5",
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.4",
159
- "@elizaos/capacitor-bun-runtime": "2.0.3-beta.4",
160
- "@elizaos/capacitor-camera": "2.0.3-beta.4",
161
- "@elizaos/capacitor-canvas": "2.0.3-beta.4",
162
- "@elizaos/capacitor-contacts": "2.0.3-beta.4",
163
- "@elizaos/capacitor-gateway": "2.0.3-beta.4",
164
- "@elizaos/capacitor-location": "2.0.3-beta.4",
165
- "@elizaos/capacitor-messages": "2.0.3-beta.4",
166
- "@elizaos/capacitor-mobile-agent-bridge": "2.0.3-beta.4",
167
- "@elizaos/capacitor-mobile-signals": "2.0.3-beta.4",
168
- "@elizaos/capacitor-phone": "2.0.3-beta.4",
169
- "@elizaos/capacitor-screencapture": "2.0.3-beta.4",
170
- "@elizaos/capacitor-swabble": "2.0.3-beta.4",
171
- "@elizaos/capacitor-system": "2.0.3-beta.4",
172
- "@elizaos/capacitor-talkmode": "2.0.3-beta.4",
173
- "@elizaos/capacitor-websiteblocker": "2.0.3-beta.4",
158
+ "@elizaos/capacitor-appblocker": "2.0.3-beta.5",
159
+ "@elizaos/capacitor-bun-runtime": "2.0.3-beta.5",
160
+ "@elizaos/capacitor-camera": "2.0.3-beta.5",
161
+ "@elizaos/capacitor-canvas": "2.0.3-beta.5",
162
+ "@elizaos/capacitor-contacts": "2.0.3-beta.5",
163
+ "@elizaos/capacitor-gateway": "2.0.3-beta.5",
164
+ "@elizaos/capacitor-location": "2.0.3-beta.5",
165
+ "@elizaos/capacitor-messages": "2.0.3-beta.5",
166
+ "@elizaos/capacitor-mobile-agent-bridge": "2.0.3-beta.5",
167
+ "@elizaos/capacitor-mobile-signals": "2.0.3-beta.5",
168
+ "@elizaos/capacitor-phone": "2.0.3-beta.5",
169
+ "@elizaos/capacitor-screencapture": "2.0.3-beta.5",
170
+ "@elizaos/capacitor-swabble": "2.0.3-beta.5",
171
+ "@elizaos/capacitor-system": "2.0.3-beta.5",
172
+ "@elizaos/capacitor-talkmode": "2.0.3-beta.5",
173
+ "@elizaos/capacitor-websiteblocker": "2.0.3-beta.5",
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.4",
188
- "@elizaos/plugin-anthropic": "2.0.3-beta.4",
189
- "@elizaos/plugin-browser": "2.0.3-beta.4",
190
- "@elizaos/plugin-edge-tts": "2.0.3-beta.4",
191
- "@elizaos/plugin-elizacloud": "2.0.3-beta.4",
192
- "@elizaos/plugin-groq": "2.0.3-beta.4",
193
- "@elizaos/plugin-health": "2.0.3-beta.4",
194
- "@elizaos/plugin-local-inference": "2.0.3-beta.4",
195
- "@elizaos/plugin-openai": "2.0.3-beta.4",
196
- "@elizaos/plugin-registry": "2.0.3-beta.4",
197
- "@elizaos/plugin-sql": "2.0.3-beta.4",
198
- "@elizaos/plugin-wechat": "2.0.3-beta.4",
199
- "@elizaos/plugin-workflow": "2.0.3-beta.4",
200
- "@elizaos/registry": "2.0.3-beta.4",
201
- "@elizaos/shared": "2.0.3-beta.4",
202
- "@elizaos/skills": "2.0.3-beta.4",
203
- "@elizaos/ui": "2.0.3-beta.4",
204
- "@elizaos/vault": "2.0.3-beta.4",
187
+ "@elizaos/core": "2.0.3-beta.5",
188
+ "@elizaos/plugin-anthropic": "2.0.3-beta.5",
189
+ "@elizaos/plugin-browser": "2.0.3-beta.5",
190
+ "@elizaos/plugin-edge-tts": "2.0.3-beta.5",
191
+ "@elizaos/plugin-elizacloud": "2.0.3-beta.5",
192
+ "@elizaos/plugin-groq": "2.0.3-beta.5",
193
+ "@elizaos/plugin-health": "2.0.3-beta.5",
194
+ "@elizaos/plugin-local-inference": "2.0.3-beta.5",
195
+ "@elizaos/plugin-openai": "2.0.3-beta.5",
196
+ "@elizaos/plugin-registry": "2.0.3-beta.5",
197
+ "@elizaos/plugin-sql": "2.0.3-beta.5",
198
+ "@elizaos/plugin-wechat": "2.0.3-beta.5",
199
+ "@elizaos/plugin-workflow": "2.0.3-beta.5",
200
+ "@elizaos/registry": "2.0.3-beta.5",
201
+ "@elizaos/shared": "2.0.3-beta.5",
202
+ "@elizaos/skills": "2.0.3-beta.5",
203
+ "@elizaos/ui": "2.0.3-beta.5",
204
+ "@elizaos/vault": "2.0.3-beta.5",
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": "f76f55793a0fb8d6b869dd8ddce03970de061e34"
225
+ "gitHead": "ff6157011c9459670021cc28a6797592a78b8817"
226
226
  }
@@ -40,5 +40,5 @@ override_dh_auto_test:
40
40
  true
41
41
 
42
42
  override_dh_auto_clean:
43
- rm -rf dist/ node_modules/
43
+ node ../scripts/rm-path-recursive.mjs dist node_modules
44
44
  dh_auto_clean
@@ -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
- trap 'rm -rf "$WORK_DIR"' EXIT
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
- rm -rf node_modules/@elizaos/plugin-wallet "$APP_CORE_DIR/node_modules/@elizaos/plugin-wallet"
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
- rm -rf /tmp/tw_extract
353
- mkdir -p /tmp/tw_extract
354
- curl -fsSL "$TAILWIND_URL" | tar xz -C /tmp/tw_extract
355
- rm -rf "$APP_CORE_DIR/node_modules/tailwindcss"
356
- mv /tmp/tw_extract/package "$APP_CORE_DIR/node_modules/tailwindcss"
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
- rm -rf "$SNAP_BUILD_TYPES_DIR"
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
- rm -rf "node_modules/@types/$type_pkg"
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
- rm -rf "$APP_CORE_DIR/node_modules/@types/$type_pkg"
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
- rm -rf node_modules/@types
510
- rm -rf "$SNAP_BUILD_TYPES_DIR"
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-0_8b showed 256-token chunks reduce native prefill
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
- "<|im_start|>user\nWrite one sentence about the ocean.<|im_end|>\n<|im_start|>assistant\n");
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,6 +1,6 @@
1
1
  {
2
2
  "name": "@elizaos/electrobun",
3
- "version": "2.0.3-beta.4",
3
+ "version": "2.0.3-beta.5",
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.4",
29
- "@elizaos/app-core": "2.0.3-beta.4",
30
- "@elizaos/plugin-browser": "2.0.3-beta.4",
31
- "@elizaos/plugin-capacitor-bridge": "2.0.3-beta.4",
32
- "@elizaos/plugin-registry": "2.0.3-beta.4",
33
- "@elizaos/plugin-remote-manifest": "2.0.3-beta.4",
34
- "@elizaos/plugin-streaming": "2.0.3-beta.4",
35
- "@elizaos/shared": "2.0.3-beta.4",
28
+ "@elizaos/agent": "2.0.3-beta.5",
29
+ "@elizaos/app-core": "2.0.3-beta.5",
30
+ "@elizaos/plugin-browser": "2.0.3-beta.5",
31
+ "@elizaos/plugin-capacitor-bridge": "2.0.3-beta.5",
32
+ "@elizaos/plugin-registry": "2.0.3-beta.5",
33
+ "@elizaos/plugin-remote-manifest": "2.0.3-beta.5",
34
+ "@elizaos/plugin-streaming": "2.0.3-beta.5",
35
+ "@elizaos/shared": "2.0.3-beta.5",
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": "f76f55793a0fb8d6b869dd8ddce03970de061e34"
49
+ "gitHead": "ff6157011c9459670021cc28a6797592a78b8817"
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 represents the HF-visible bundle tiers:
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 currently marks the active Eliza-1 line as `0_8b`, `2b`, `4b`, `9b`, `27b`, and `27b-256k`. The HF-visible `0_6b` and `1_7b` tiers remain represented as visible remote tiers until the local catalog activates them.
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",
@@ -4,8 +4,6 @@ import { ModelRemoteService } from "../bun/model-service.ts";
4
4
  process.env.ELIZA_MODEL_HF_DISABLE_NETWORK ??= "1";
5
5
 
6
6
  const REQUIRED_TIERS = [
7
- "0_6b",
8
- "1_7b",
9
7
  "2b",
10
8
  "4b",
11
9
  "9b",
@@ -74,6 +74,12 @@ if ! has_electrobun_workspace_root "$REPO_ROOT"; then
74
74
  echo "ERROR: ELIZA_ELECTROBUN_REPO_ROOT is not an Electrobun workspace root: $REPO_ROOT" >&2
75
75
  exit 1
76
76
  fi
77
+ RM_PATH_RECURSIVE="$REPO_ROOT/packages/scripts/rm-path-recursive.mjs"
78
+
79
+ remove_path_recursive() {
80
+ node "$RM_PATH_RECURSIVE" "$@"
81
+ }
82
+
77
83
  APP_DIR="${ELIZA_ELECTROBUN_APP_DIR:-}"
78
84
  if [[ -z "$APP_DIR" ]]; then
79
85
  if [[ -f "$REPO_ROOT/packages/app/package.json" ]]; then
@@ -163,7 +169,7 @@ cleanup() {
163
169
  fi
164
170
  done
165
171
  if [[ -n "$LAUNCH_APP_BUNDLE" && "$LAUNCH_APP_BUNDLE" == /tmp/* && -d "$LAUNCH_APP_BUNDLE" ]]; then
166
- rm -rf "$LAUNCH_APP_BUNDLE"
172
+ remove_path_recursive "$LAUNCH_APP_BUNDLE"
167
173
  fi
168
174
  if [[ -n "$MOUNT_POINT" && -d "$MOUNT_POINT" ]]; then
169
175
  hdiutil detach "$MOUNT_POINT" >/dev/null 2>&1 || true
@@ -619,7 +625,7 @@ EOF
619
625
  process.stdout.write("1");
620
626
  ' "$probe_exec"
621
627
  )"
622
- rm -rf "$probe_root"
628
+ remove_path_recursive "$probe_root"
623
629
 
624
630
  [[ "$MAC_DIRECT_EXEC_PROBE_RC" == "0" ]]
625
631
  }