@elizaos/app-core 2.0.3-beta.5 → 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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elizaos/app-core",
3
- "version": "2.0.3-beta.5",
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.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",
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.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",
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": "ff6157011c9459670021cc28a6797592a78b8817"
225
+ "gitHead": "990dc996172b3e0fb525a75052a5ac28a4cd4de5"
226
226
  }
@@ -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
- fs.rmSync(sanitizedDistPath, { recursive: true, force: true });
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.5",
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.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",
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": "ff6157011c9459670021cc28a6797592a78b8817"
49
+ "gitHead": "990dc996172b3e0fb525a75052a5ac28a4cd4de5"
50
50
  }
@@ -9,7 +9,8 @@
9
9
  * Resolves the host app via the standard elizaOS layout; run after
10
10
  * `bun run build:web` (or equivalent).
11
11
  */
12
- import { cp, mkdir, rm, stat } from "node:fs/promises";
12
+ import { spawnSync } from "node:child_process";
13
+ import { cp, mkdir, stat } from "node:fs/promises";
13
14
  import path from "node:path";
14
15
  import {
15
16
  resolveElectrobunDir,
@@ -22,6 +23,12 @@ const appRoot = resolveMainAppDir(repoRoot, "app");
22
23
  const electrobunRoot = resolveElectrobunDir(repoRoot);
23
24
  const sourceDir = path.join(appRoot, "dist");
24
25
  const targetDir = path.join(electrobunRoot, "app");
26
+ const rmPathRecursiveScript = path.join(
27
+ repoRoot,
28
+ "packages",
29
+ "scripts",
30
+ "rm-path-recursive.mjs",
31
+ );
25
32
  const LOG_PREFIX = "[Electrobun]";
26
33
 
27
34
  async function ensureDirExists(dir) {
@@ -33,6 +40,28 @@ async function ensureDirExists(dir) {
33
40
  }
34
41
  }
35
42
 
43
+ function rmRecursive(pathToRemove) {
44
+ const result = spawnSync(
45
+ process.execPath,
46
+ [rmPathRecursiveScript, path.resolve(pathToRemove)],
47
+ {
48
+ cwd: repoRoot,
49
+ encoding: "utf8",
50
+ stdio: ["ignore", "pipe", "pipe"],
51
+ },
52
+ );
53
+ if (result.status !== 0) {
54
+ const reason =
55
+ result.stderr?.trim() ||
56
+ result.stdout?.trim() ||
57
+ result.error?.message ||
58
+ `exit status ${String(result.status)}`;
59
+ throw new Error(
60
+ `${LOG_PREFIX} failed to recursively remove ${pathToRemove}: ${reason}`,
61
+ );
62
+ }
63
+ }
64
+
36
65
  if (!(await ensureDirExists(sourceDir))) {
37
66
  console.error(`${LOG_PREFIX} Web build output not found: ${sourceDir}`);
38
67
  console.error(
@@ -41,7 +70,7 @@ if (!(await ensureDirExists(sourceDir))) {
41
70
  process.exit(1);
42
71
  }
43
72
 
44
- await rm(targetDir, { recursive: true, force: true });
73
+ rmRecursive(targetDir);
45
74
  await mkdir(targetDir, { recursive: true });
46
75
  await cp(sourceDir, targetDir, { recursive: true, force: true });
47
76
 
@@ -1,8 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  import { spawnSync } from "node:child_process";
3
3
  import { existsSync } from "node:fs";
4
- import { mkdir, rm } from "node:fs/promises";
4
+ import { mkdir } from "node:fs/promises";
5
5
  import path from "node:path";
6
+ import { fileURLToPath } from "node:url";
7
+
8
+ const scriptDir = path.dirname(fileURLToPath(import.meta.url));
9
+ const rmPathRecursiveScript = path.resolve(
10
+ scriptDir,
11
+ "..",
12
+ "..",
13
+ "scripts",
14
+ "rm-path-recursive.mjs",
15
+ );
6
16
 
7
17
  function parseArgs(argv) {
8
18
  const args = {
@@ -48,6 +58,25 @@ function runCommand(command, commandArgs, cwd, dryRun = false) {
48
58
  }
49
59
  }
50
60
 
61
+ function rmRecursive(pathToRemove) {
62
+ const result = spawnSync(
63
+ process.execPath,
64
+ [rmPathRecursiveScript, path.resolve(pathToRemove)],
65
+ {
66
+ encoding: "utf8",
67
+ stdio: ["ignore", "pipe", "pipe"],
68
+ },
69
+ );
70
+ if (result.status !== 0) {
71
+ const reason =
72
+ result.stderr?.trim() ||
73
+ result.stdout?.trim() ||
74
+ result.error?.message ||
75
+ `exit status ${String(result.status)}`;
76
+ fail(`failed to recursively remove ${pathToRemove}: ${reason}`);
77
+ }
78
+ }
79
+
51
80
  function shellQuote(value) {
52
81
  return `'${value.replaceAll("'", "'\\''")}'`;
53
82
  }
@@ -127,7 +156,7 @@ async function main() {
127
156
  if (args.dryRun) {
128
157
  console.log(`[dry-run] rm -rf ${venvPath}`);
129
158
  } else {
130
- await rm(venvPath, { recursive: true, force: true });
159
+ rmRecursive(venvPath);
131
160
  }
132
161
  }
133
162
 
@@ -1469,7 +1469,7 @@ function mirrorCapacitorWebPayloadIntoAndroidDir() {
1469
1469
  fs.realpathSync(syncedAssets) === fs.realpathSync(targetAssets);
1470
1470
  if (hasSyncedPublic && !sameTree) {
1471
1471
  fs.mkdirSync(targetAssets, { recursive: true });
1472
- fs.rmSync(targetPublic, { recursive: true, force: true });
1472
+ rmRecursive(targetPublic);
1473
1473
  fs.cpSync(syncedPublic, targetPublic, { recursive: true });
1474
1474
  for (const cfg of ["capacitor.config.json", "capacitor.plugins.json"]) {
1475
1475
  const src = path.join(syncedAssets, cfg);
@@ -1508,10 +1508,7 @@ function mirrorCapacitorWebPayloadIntoAndroidDir() {
1508
1508
  fs.existsSync(targetAssets)
1509
1509
  ) {
1510
1510
  fs.mkdirSync(targetPublic, { recursive: true });
1511
- fs.rmSync(path.join(targetPublic, "assets"), {
1512
- recursive: true,
1513
- force: true,
1514
- });
1511
+ rmRecursive(path.join(targetPublic, "assets"));
1515
1512
  fs.cpSync(freshWeb, targetPublic, { recursive: true });
1516
1513
  console.log(
1517
1514
  `[mobile-build] Stale-web guard: overlaid fresh ${path.relative(repoRoot, freshWeb)} → ${path.relative(repoRoot, targetPublic)}`,
@@ -2536,7 +2533,7 @@ function removeStaleAndroidJavaSourceRoots(
2536
2533
  shouldRemoveAndroidJavaSourceRoot(candidate, dstJava, protectedRoots) &&
2537
2534
  fs.existsSync(candidate)
2538
2535
  ) {
2539
- fs.rmSync(candidate, { recursive: true, force: true });
2536
+ rmRecursive(candidate);
2540
2537
  }
2541
2538
  }
2542
2539
  }
@@ -3058,7 +3055,7 @@ function overlayAndroid({ includeAospRoleLaunchers = false } = {}) {
3058
3055
  protectedJavaRoots,
3059
3056
  )
3060
3057
  ) {
3061
- fs.rmSync(staleJava, { recursive: true, force: true });
3058
+ rmRecursive(staleJava);
3062
3059
  }
3063
3060
  }
3064
3061
  fs.mkdirSync(dstJava, { recursive: true });
@@ -3135,7 +3132,7 @@ function overlayAndroid({ includeAospRoleLaunchers = false } = {}) {
3135
3132
  path.resolve(srcJava) !== path.resolve(templateJava) &&
3136
3133
  path.resolve(srcJava) !== path.resolve(dstJava)
3137
3134
  ) {
3138
- fs.rmSync(srcJava, { recursive: true, force: true });
3135
+ rmRecursive(srcJava);
3139
3136
  }
3140
3137
  console.log("[mobile-build] Overlaid Android Java sources.");
3141
3138
  }
@@ -5166,7 +5163,7 @@ async function ensureIosLlamaCppVendoredFramework({
5166
5163
  await ensureMtpIosTarget(simulatorTarget);
5167
5164
 
5168
5165
  fs.mkdirSync(xcframeworksDir, { recursive: true });
5169
- fs.rmSync(xcframeworkDir, { recursive: true, force: true });
5166
+ rmRecursive(xcframeworkDir);
5170
5167
  await run("node", [
5171
5168
  IOS_XCFRAMEWORK_BUILD_SCRIPT,
5172
5169
  "--output",
@@ -5197,7 +5194,7 @@ async function ensureIosLlamaCppVendoredFramework({
5197
5194
  "ios",
5198
5195
  `.${path.basename(stale, ".framework")}-stock-archive`,
5199
5196
  );
5200
- fs.rmSync(archived, { recursive: true, force: true });
5197
+ rmRecursive(archived);
5201
5198
  fs.renameSync(stale, archived);
5202
5199
  console.log(
5203
5200
  `[mobile-build] Archived stock npm framework: ${stale} -> ${archived} ` +
@@ -5532,7 +5529,7 @@ function stageIosFullBunEngineForPodspec(framework) {
5532
5529
  console.log(
5533
5530
  `[mobile-build] staging external iOS full Bun engine for CocoaPods: ${resolved} -> ${defaultIosBunEngineXcframework}`,
5534
5531
  );
5535
- fs.rmSync(defaultIosBunEngineXcframework, { recursive: true, force: true });
5532
+ rmRecursive(defaultIosBunEngineXcframework);
5536
5533
  fs.mkdirSync(path.dirname(defaultIosBunEngineXcframework), {
5537
5534
  recursive: true,
5538
5535
  });
@@ -6117,7 +6114,7 @@ export function removeInactiveAndroidJavaSourceRoots(javaRoots, activeRoot) {
6117
6114
  if (resolved === active || seen.has(resolved)) continue;
6118
6115
  seen.add(resolved);
6119
6116
  if (!fs.existsSync(root)) continue;
6120
- fs.rmSync(root, { recursive: true, force: true });
6117
+ rmRecursive(root);
6121
6118
  removed += 1;
6122
6119
  }
6123
6120
  return removed;
@@ -6127,7 +6124,7 @@ function removeCloudNativeArtifacts() {
6127
6124
  const assetsRoot = path.join(androidDir, "app", "src", "main", "assets");
6128
6125
  const stagedAgentAssets = path.join(assetsRoot, "agent");
6129
6126
  if (fs.existsSync(stagedAgentAssets)) {
6130
- fs.rmSync(stagedAgentAssets, { recursive: true, force: true });
6127
+ rmRecursive(stagedAgentAssets);
6131
6128
  console.log(
6132
6129
  "[mobile-build] Removed staged on-device agent runtime under assets/agent/.",
6133
6130
  );
@@ -7478,7 +7475,7 @@ function writeAndroidSystemProvenance(apkPath) {
7478
7475
  );
7479
7476
  }
7480
7477
  } finally {
7481
- fs.rmSync(tmpDir, { recursive: true, force: true });
7478
+ rmRecursive(tmpDir);
7482
7479
  }
7483
7480
  }
7484
7481