@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.
- package/README.md +10 -7
- 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
|
|
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
|
|
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
|
-
- `
|
|
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`:
|
|
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.
|
|
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/
|
|
9
|
-
"browser": "dist/
|
|
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/
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
15
15
|
"browser": {
|
|
16
|
-
"types": "./dist/
|
|
17
|
-
"import": "./dist/
|
|
18
|
-
"default": "./dist/
|
|
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/
|
|
22
|
-
"import": "./dist/
|
|
23
|
-
"default": "./dist/
|
|
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/
|
|
27
|
-
"default": "./dist/
|
|
26
|
+
"types": "./dist/index.node.d.ts",
|
|
27
|
+
"default": "./dist/index.node.js"
|
|
28
28
|
},
|
|
29
|
-
"default": "./dist/
|
|
29
|
+
"default": "./dist/index.node.js"
|
|
30
30
|
},
|
|
31
31
|
"./node": {
|
|
32
|
-
"types": "./dist/
|
|
33
|
-
"import": "./dist/
|
|
34
|
-
"default": "./dist/
|
|
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/
|
|
38
|
-
"import": "./dist/
|
|
39
|
-
"default": "./dist/
|
|
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
|
|
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.
|
|
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
|
-
"
|
|
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": "
|
|
144
|
+
"gitHead": "57b56f972cb133837ea846aefc42c44261ea804a"
|
|
108
145
|
}
|