@elizaos/core 2.0.0-alpha.14 → 2.0.0-alpha.140

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 (2) hide show
  1. package/README.md +10 -7
  2. package/package.json +64 -27
package/README.md CHANGED
@@ -43,10 +43,10 @@ The `@elizaos/core` package features a dual build system that provides optimized
43
43
  - **Node.js Build**: Full API surface with all features including server utilities
44
44
  - **Browser Build**: Optimized, minified build with browser-safe APIs and polyfills
45
45
 
46
- The correct build is automatically selected based on your environment through package.json conditional exports. For browser usage, ensure you have the necessary polyfills installed:
46
+ The correct build is automatically selected based on your environment through package.json conditional exports. For browser usage, ensure your app provides the standard platform primitives it depends on, such as `Buffer` where needed.
47
47
 
48
48
  ```bash
49
- npm install buffer crypto-browserify stream-browserify events
49
+ npm install buffer
50
50
  ```
51
51
 
52
52
  The dual build system uses conditional exports in package.json to automatically select the appropriate build based on the runtime environment.
@@ -68,9 +68,9 @@ The following environment variables are used by `@elizaos/core`. Configure them
68
68
  - `SENTRY_TRACES_SAMPLE_RATE`: Sentry performance tracing sample rate (0.0 - 1.0).
69
69
  - `SENTRY_SEND_DEFAULT_PII`: Send Personally Identifiable Information to Sentry (`true`/`false`).
70
70
  - `LOG_FILE`: When set to `true`/`1` or a path, enables file logging: `output.log`, `prompts.log`, and `chat.log` (in cwd or at the given path). **Why:** Lets you inspect full prompts and chat flow without scraping console; ANSI is stripped so files stay grep-friendly.
71
- - `BOOTSTRAP_KEEP_RESP`: When `true`, the message service does not discard a response when a newer message is being processed (avoids "stale reply" race). **Why:** Some deployments want to keep or display every response; this is the config equivalent of passing `keepExistingResponses: true` in options.
71
+ - `BASIC_CAPABILITIES_KEEP_RESP`: When `true`, the message service does not discard a response when a newer message is being processed (avoids "stale reply" race). **Why:** Some deployments want to keep or display every response; this is the config equivalent of passing `keepExistingResponses: true` in options.
72
72
  - `SHOULD_RESPOND_MODEL`: Which model size to use for the "should I respond?" decision (`small` or `large`). Defaults from runtime settings if not set in options.
73
- - `DISABLE_MEMORY_CREATION` / `ALLOW_MEMORY_SOURCE_IDS`: Bootstrap-related; see plugin docs. Shown in the bootstrap banner when set.
73
+ - `DISABLE_MEMORY_CREATION` / `ALLOW_MEMORY_SOURCE_IDS`: Basic-capabilities-related; see plugin docs. Shown in the basic-capabilities banner when set.
74
74
 
75
75
  **Example `.env`:**
76
76
 
@@ -95,9 +95,10 @@ SENTRY_SEND_DEFAULT_PII=true
95
95
 
96
96
  Key behaviors and APIs are documented with their **reasons** so future changes stay consistent with intent:
97
97
 
98
- - **[docs/DESIGN.md](docs/DESIGN.md)** — Design decisions: message races, provider timeout, keepExistingResponses, JSON5, formatPosts fallbacks, HandlerCallback actionName, anxiety provider, file logging, and what we don’t do.
98
+ - **[docs/DESIGN.md](docs/DESIGN.md)** — Design decisions: message races, provider timeout, keepExistingResponses, JSON5, formatPosts fallbacks, HandlerCallback actionName, anxiety provider, file logging, batch-queue consolidation, and what we don’t do.
99
+ - **[docs/BATCH_QUEUE.md](docs/BATCH_QUEUE.md)** — Why `utils/batch-queue` exists (forward-looking consolidation vs one-line fixes), layer breakdown (`PriorityQueue` / `BatchProcessor` / `TaskDrain` / `BatchQueue`), and where each is used. Published copy: [docs.elizaos.ai/runtime/batch-queue](https://docs.elizaos.ai/runtime/batch-queue).
99
100
  - **[CHANGELOG.md](CHANGELOG.md)** — Per-change notes with WHY for each addition or fix.
100
- - **[ROADMAP.md](ROADMAP.md)** — Planned work and rationale (observability, robustness, API consistency, performance).
101
+ - **[ROADMAP.md](ROADMAP.md)** — Planned work and rationale (observability, robustness, API consistency, performance). Shipped items remain documented in CHANGELOG and design docs.
101
102
 
102
103
  When adding or changing behavior, update these docs so the WHY stays accurate.
103
104
 
@@ -251,7 +252,7 @@ Relevant runtime knobs:
251
252
  - `PROMPT_MAX_PARALLEL_CALLS`
252
253
  - `PROMPT_MODEL_SEPARATION`
253
254
 
254
- For the deeper design rationale and rollout details, see `DESIGN.md`, `ROADMAP.md`, and `CHANGELOG.md` in this package.
255
+ For the deeper design rationale and rollout details, see `DESIGN.md`, `docs/BATCH_QUEUE.md`, `ROADMAP.md`, and `CHANGELOG.md` in this package.
255
256
 
256
257
  ### Task system
257
258
 
@@ -265,6 +266,8 @@ The **task system** is the single place for *when* scheduled work runs. Only tas
265
266
 
266
267
  - Tasks with `tags: ["queue"]` are fetched every tick. Non-repeat tasks run when `now >= dueAt` (or `metadata.scheduledAt`) then are deleted; repeat tasks use `updateInterval`/`baseInterval` and `metadata.updatedAt` as last-run time. **Why:** One-shot "run at time X" (e.g. follow-up) uses `dueAt`; interval-based scheduling covers batcher drains and recurring use.
267
268
 
269
+ **Why `utils/batch-queue`’s `TaskDrain`:** several services create the same style of repeat drain task (`queue` + `repeat`, `maxFailures: -1`, interval metadata). Centralizing find/create/update/delete avoids each caller re-implementing JSON/metadata edge cases and keeps worker registration rules explicit (`skipRegisterWorker` when TaskService already owns the worker name). See `docs/BATCH_QUEUE.md`.
270
+
268
271
  **Cross-runtime scheduling (three modes):**
269
272
 
270
273
  1. **Local timer (default):** One `setInterval` per TaskService; each runtime fetches its own queue tasks every tick. **Why:** Zero config for single-process apps.
package/package.json CHANGED
@@ -1,60 +1,80 @@
1
1
  {
2
2
  "name": "@elizaos/core",
3
- "version": "2.0.0-alpha.14",
3
+ "version": "2.0.0-alpha.140",
4
4
  "description": "",
5
5
  "type": "module",
6
- "main": "dist/index.js",
7
- "module": "dist/index.js",
8
- "types": "dist/node/index.d.ts",
9
- "browser": "dist/browser/index.browser.js",
6
+ "main": "./dist/index.node.js",
7
+ "module": "./dist/index.node.js",
8
+ "types": "./dist/index.d.ts",
9
+ "browser": "./dist/index.browser.js",
10
10
  "sideEffects": false,
11
11
  "exports": {
12
12
  "./package.json": "./package.json",
13
13
  ".": {
14
- "types": "./dist/node/index.d.ts",
14
+ "types": "./dist/index.d.ts",
15
15
  "browser": {
16
- "types": "./dist/browser/index.d.ts",
17
- "import": "./dist/browser/index.browser.js",
18
- "default": "./dist/browser/index.browser.js"
16
+ "types": "./dist/index.browser.d.ts",
17
+ "import": "./dist/index.browser.js",
18
+ "default": "./dist/index.browser.js"
19
19
  },
20
20
  "node": {
21
- "types": "./dist/node/index.d.ts",
22
- "import": "./dist/node/index.node.js",
23
- "default": "./dist/node/index.node.js"
21
+ "types": "./dist/index.node.d.ts",
22
+ "import": "./dist/index.node.js",
23
+ "default": "./dist/index.node.js"
24
24
  },
25
25
  "bun": {
26
- "types": "./dist/node/index.d.ts",
27
- "default": "./dist/node/index.node.js"
26
+ "types": "./dist/index.node.d.ts",
27
+ "default": "./dist/index.node.js"
28
28
  },
29
- "default": "./dist/node/index.node.js"
29
+ "default": "./dist/index.node.js"
30
30
  },
31
31
  "./node": {
32
- "types": "./dist/node/index.d.ts",
33
- "import": "./dist/node/index.node.js",
34
- "default": "./dist/node/index.node.js"
32
+ "types": "./dist/index.node.d.ts",
33
+ "import": "./dist/index.node.js",
34
+ "default": "./dist/index.node.js"
35
35
  },
36
36
  "./browser": {
37
- "types": "./dist/browser/index.d.ts",
38
- "import": "./dist/browser/index.browser.js",
39
- "default": "./dist/browser/index.browser.js"
37
+ "types": "./dist/index.browser.d.ts",
38
+ "import": "./dist/index.browser.js",
39
+ "default": "./dist/index.browser.js"
40
+ },
41
+ "./roles": {
42
+ "types": "./dist/roles.d.ts",
43
+ "import": "./dist/roles.js",
44
+ "default": "./dist/roles.js"
40
45
  },
41
46
  "./testing": {
47
+ "types": "./src/testing/index.ts",
42
48
  "import": "./dist/testing/index.js",
43
49
  "default": "./dist/testing/index.js"
50
+ },
51
+ "./orchestrator": {
52
+ "types": "./src/features/orchestrator/index.ts",
53
+ "import": "./dist/index.node.js",
54
+ "default": "./dist/index.node.js"
55
+ },
56
+ "./advanced-capabilities/clipboard/index": {
57
+ "types": "./src/features/advanced-capabilities/clipboard/index.ts",
58
+ "import": "./dist/node/features/advanced-capabilities/clipboard/index.js",
59
+ "default": "./dist/node/features/advanced-capabilities/clipboard/index.js"
44
60
  }
45
61
  },
46
62
  "files": [
47
63
  "dist"
48
64
  ],
49
65
  "scripts": {
66
+ "postinstall": "node ./scripts/ensure-node-pty.mjs",
67
+ "prebuild": "[ -d src/types/generated ] || (cd ../schemas && bunx buf generate)",
50
68
  "build": "bun run build.ts",
69
+ "build:node": "bun run build.ts --node-only",
51
70
  "build:watch": "bun run build.ts --watch",
52
71
  "dev": "bun run build:watch",
53
- "clean": "rm -rf dist .turbo node_modules .turbo-tsconfig.json *.tsbuildinfo && find src -type f \\( -name '*.js' -o -name '*.d.ts' -o -name '*.d.ts.map' \\) -delete 2>/dev/null || true",
72
+ "clean": "rm -rf dist .turbo node_modules .turbo-tsconfig.json *.tsbuildinfo && find src -type f \\( -name '*.js' -o -name '*.d.ts' -o -name '*.d.ts.map' \\) ! -path 'src/types/generated/*' -delete 2>/dev/null || true",
54
73
  "perf:settings": "bun run scripts/perf-settings.ts",
55
- "test": "vitest run --coverage",
56
- "test:coverage": "vitest run --coverage",
74
+ "test": "vitest run",
75
+ "test:coverage": "mkdir -p coverage/.tmp && vitest run --coverage",
57
76
  "test:e2e": "npx playwright test",
77
+ "test:e2e:smoke": "node scripts/run-e2e-smoke.mjs",
58
78
  "test:watch": "vitest",
59
79
  "lint": "bunx @biomejs/biome check --write ./src",
60
80
  "lint:check": "bunx @biomejs/biome check ./src",
@@ -66,37 +86,54 @@
66
86
  "author": "elizaOS",
67
87
  "license": "MIT",
68
88
  "devDependencies": {
89
+ "@elizaos/plugin-sql": "workspace:*",
90
+ "@elizaos/schemas": "2.0.0-alpha.140",
69
91
  "@playwright/test": "^1.52.0",
70
92
  "@types/bun": "^1.3.5",
71
93
  "@types/fast-redact": "^3.0.4",
94
+ "@types/fs-extra": "^11.0.4",
72
95
  "@types/markdown-it": "^14.1.2",
73
96
  "@types/node": "^25.0.3",
74
97
  "@types/uuid": "^11.0.0",
75
98
  "@vitest/coverage-v8": "^4.0.0",
76
99
  "esbuild": "^0.25.0",
77
- "sharp": "^0.33.0",
100
+ "sharp": "^0.34.5",
78
101
  "typescript": "^5.9.3",
79
102
  "vitest": "^4.0.0"
80
103
  },
81
104
  "dependencies": {
105
+ "@ai-sdk/anthropic": "^3.0.13",
106
+ "@ai-sdk/google": "^3.0.8",
107
+ "@ai-sdk/openai": "^3.0.9",
82
108
  "@anthropic-ai/sdk": "^0.32.1",
83
109
  "@bufbuild/protobuf": "^2.11.0",
84
110
  "@langchain/core": "^1.1.12",
85
111
  "@langchain/textsplitters": "^1.0.1",
112
+ "@noble/ciphers": "^1.3.0",
113
+ "@noble/hashes": "^1.8.0",
114
+ "@openrouter/ai-sdk-provider": "^1.2.0",
115
+ "@toon-format/toon": "^2.1.0",
86
116
  "adze": "^2.2.5",
87
- "crypto-browserify": "^3.12.0",
117
+ "ai": "^6.0.30",
118
+ "coding-agent-adapters": "0.16.3",
88
119
  "dedent": "^1.7.1",
89
120
  "dotenv": "^17.2.3",
90
121
  "drizzle-orm": "^0.45.1",
91
122
  "fast-redact": "^3.5.0",
92
123
  "file-type": "^21.3.0",
124
+ "git-workspace-service": "0.4.5",
93
125
  "glob": "^13.0.0",
94
126
  "handlebars": "^4.7.8",
95
127
  "json5": "^2.2.3",
128
+ "mammoth": "^1.9.0",
96
129
  "markdown-it": "^14.1.0",
97
130
  "pdfjs-dist": "^5.4.530",
131
+ "pty-console": "0.3.1",
132
+ "pty-manager": "1.11.0",
133
+ "pty-state-capture": "0.2.0",
98
134
  "undici": "^7.0.0",
99
135
  "unique-names-generator": "^4.7.1",
136
+ "unpdf": "^1.4.0",
100
137
  "uuid": "^13.0.0",
101
138
  "yaml": "^2.7.0",
102
139
  "zod": "^4.3.6"
@@ -104,5 +141,5 @@
104
141
  "publishConfig": {
105
142
  "access": "public"
106
143
  },
107
- "gitHead": "4eb31c47081d48bec956e6b9751f3c9aee3eb38d"
144
+ "gitHead": "57b56f972cb133837ea846aefc42c44261ea804a"
108
145
  }