agenr 3.1.0 → 3.3.0
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/CHANGELOG.md +55 -0
- package/README.md +7 -5
- package/dist/adapters/skeln/index.d.ts +62 -4
- package/dist/adapters/skeln/index.js +2629 -85
- package/dist/{chunk-V5CDMHRN.js → chunk-KH52KJSJ.js} +1 -1
- package/dist/{chunk-EEEL53X4.js → chunk-M5M65AYP.js} +1 -2
- package/dist/{chunk-NOIZQRQV.js → chunk-RYMSM3OS.js} +10 -8
- package/dist/{chunk-NNO2V4GH.js → chunk-Z5X7T4QZ.js} +163 -190
- package/dist/{ports-CpzWESmZ.d.ts → claim-slot-policy-CQ-h0GaV.d.ts} +10 -55
- package/dist/cli.js +1352 -158
- package/dist/core/recall/index.d.ts +2 -3
- package/dist/internal-eval-server.js +3 -4
- package/dist/internal-recall-eval-server.js +3 -4
- package/package.json +8 -5
- package/dist/adapters/openclaw/index.d.ts +0 -32
- package/dist/adapters/openclaw/index.js +0 -3112
- package/dist/chunk-E2DHUFZK.js +0 -2660
- package/dist/chunk-GELCEVFA.js +0 -14
- package/dist/chunk-JSVQILB3.js +0 -1207
- package/dist/claim-slot-policy-CdrW_1l4.d.ts +0 -13
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,61 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [3.3.0] - 2026-06-02
|
|
6
|
+
|
|
7
|
+
Feature flag defaults, Skeln install policy, and OpenClaw package cleanup release.
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **Init now records every known feature flag as enabled.** First-run `agenr init` writes the full current feature surface into `config.json`, making staged working-memory, session-tree, and goal-continuation flags explicit.
|
|
12
|
+
- **Fresh Skeln installs now carry a memory-policy default.** The Skeln plugin manifest seeds a conservative `memoryPolicy` that keeps session-start and before-turn injection off while leaving working context available.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- **The OpenClaw plugin package now publishes as `@agenr/openclaw-plugin`.** Install docs, build filters, smoke tests, and package metadata were aligned with the new scoped package name.
|
|
17
|
+
- **OpenClaw runtime dependencies now stay with the plugin package.** The root `agenr` package no longer carries OpenClaw as a runtime dependency, while plugin builds and package smoke tests still cover the OpenClaw integration.
|
|
18
|
+
- **Repository release metadata is slimmer.** GitHub Actions CI and the synced release procedure were removed in favor of the local release workflow.
|
|
19
|
+
|
|
20
|
+
### Validation
|
|
21
|
+
|
|
22
|
+
Changes since last push to `origin/master`:
|
|
23
|
+
|
|
24
|
+
- Remove OpenClaw from root runtime dependencies and keep plugin build coverage intact
|
|
25
|
+
- Rename the OpenClaw plugin package to `@agenr/openclaw-plugin` across install docs, build filters, smoke tests, and package metadata
|
|
26
|
+
- Drop GitHub Actions CI and the synced release procedure from the repository
|
|
27
|
+
- Add canonical feature flag keys and have first-run init write every current feature flag as enabled
|
|
28
|
+
- Add a Skeln plugin `memoryPolicy` install default with setup, manifest, and regression coverage
|
|
29
|
+
|
|
30
|
+
## [3.2.0] - 2026-06-02
|
|
31
|
+
|
|
32
|
+
Cross-platform packaging, CI smoke coverage, and path handling hardening release.
|
|
33
|
+
|
|
34
|
+
### Added
|
|
35
|
+
|
|
36
|
+
- **Repository checks now cover package smoke workflows across platforms.** The release adds local package smoke tooling, Windows simulation, Docker-based Linux checks, and a slimmer Windows CI workflow.
|
|
37
|
+
- **Path handling now has focused cross-platform helpers and tests.** Shared filesystem path utilities and test helpers cover Windows, Linux, and local temporary-path behavior.
|
|
38
|
+
|
|
39
|
+
### Changed
|
|
40
|
+
|
|
41
|
+
- **Package build and smoke scripts are more portable.** Root and plugin package scripts now avoid shell-specific assumptions and handle install paths consistently across supported platforms.
|
|
42
|
+
- **Skeln adapter imports now use explicit shared host types.** The Skeln adapter has a dedicated type boundary for host-facing imports, reducing package-resolution friction during plugin builds.
|
|
43
|
+
|
|
44
|
+
### Fixed
|
|
45
|
+
|
|
46
|
+
- **Windows package smoke tests are quoting-safe.** Smoke commands now pass arguments separately, preserve path quotes, avoid `npx`, and restore the `cmd.exe` npm shim path needed by Windows runs.
|
|
47
|
+
- **SQLite and temp-path tests now clean up safely on Windows.** Database and test cleanup paths avoid platform-sensitive deletion and quoting failures.
|
|
48
|
+
- **Line-ending and packaging behavior is more deterministic.** Repository checkout and packaging paths are hardened for Linux and Windows release validation.
|
|
49
|
+
|
|
50
|
+
### Validation
|
|
51
|
+
|
|
52
|
+
Changes since last push to `origin/master`:
|
|
53
|
+
|
|
54
|
+
- Add local package smoke, Windows simulation, and Docker Linux test runners
|
|
55
|
+
- Add a slim Windows CI workflow and deterministic LF checkout configuration
|
|
56
|
+
- Harden package smoke command quoting, argument passing, and npm shim handling on Windows
|
|
57
|
+
- Add shared filesystem path helpers and cross-platform test temp-path helpers
|
|
58
|
+
- Harden SQLite, temp path, Skeln adapter, and plugin build paths for cross-platform package validation
|
|
59
|
+
|
|
5
60
|
## [3.1.0] - 2026-05-31
|
|
6
61
|
|
|
7
62
|
Memory fetch tools, Skeln episode lifecycle hardening, and repository packaging cleanup release.
|
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@ agenr gives agents a persistent brain: a local SQLite database of durable knowle
|
|
|
18
18
|
|
|
19
19
|
It exists because most agent runtimes forget everything important between sessions. Even when a tool has a built-in memory feature, it is often lossy, file-based, or tightly coupled to one surface. agenr keeps memory structured and queryable: facts, decisions, preferences, lessons, milestones, relationships, and session-level episodes live in one local store instead of getting flattened into prompt text.
|
|
20
20
|
|
|
21
|
-
What makes agenr different is the combination of local-first storage, semantic embeddings, hybrid recall, episodic temporal memory, and adapter-friendly architecture. The core is hexagonal, so multiple agent systems can share the same brain over time. Today the production host adapters are the OpenClaw memory plugin (`@agenr/
|
|
21
|
+
What makes agenr different is the combination of local-first storage, semantic embeddings, hybrid recall, episodic temporal memory, and adapter-friendly architecture. The core is hexagonal, so multiple agent systems can share the same brain over time. Today the production host adapters are the OpenClaw memory plugin (`@agenr/openclaw-plugin`) and the Skeln extension (`@agenr/skeln-plugin`). The CLI provides offline ingest, recall, and maintenance against that same database.
|
|
22
22
|
|
|
23
23
|
## Features
|
|
24
24
|
|
|
@@ -59,16 +59,18 @@ Run `agenr init` again any time you want to re-run onboarding, reinstall the plu
|
|
|
59
59
|
If you already have agenr configured, or you want to install the plugin separately:
|
|
60
60
|
|
|
61
61
|
```bash
|
|
62
|
-
openclaw plugins install @agenr/
|
|
62
|
+
openclaw plugins install @agenr/openclaw-plugin
|
|
63
63
|
openclaw gateway restart
|
|
64
64
|
```
|
|
65
65
|
|
|
66
|
+
The main `agenr` CLI package does not depend on the OpenClaw SDK at runtime. OpenClaw installs should use the plugin package above.
|
|
67
|
+
|
|
66
68
|
`agenr init` normally does this for you, updates `openclaw.json`, and offers an initial ingest pass over existing sessions.
|
|
67
69
|
The OpenClaw plugin id remains `agenr`, so `plugins.entries.agenr`, `plugins.slots.memory`, and existing plugin config keys do not change.
|
|
68
70
|
After the plugin is installed, `openclaw plugins update agenr` continues to target that same plugin id.
|
|
69
71
|
If `plugins.entries.agenr.config` is omitted, the plugin falls back to agenr's normal config resolution: `AGENR_CONFIG_PATH`, then `~/.agenr/config.json`, and the `dbPath` from that config or `~/.agenr/knowledge.db`.
|
|
70
72
|
|
|
71
|
-
If you want to pin an exact plugin release, install a versioned package spec such as `openclaw plugins install @agenr/
|
|
73
|
+
If you want to pin an exact plugin release, install a versioned package spec such as `openclaw plugins install @agenr/openclaw-plugin@3.0.0`.
|
|
72
74
|
|
|
73
75
|
For local development or a custom build path, run `pnpm build` first and point OpenClaw at the plugin package root:
|
|
74
76
|
|
|
@@ -94,7 +96,7 @@ If `config.json` is not next to `dbPath`, add `"configPath": "/path/to/config.js
|
|
|
94
96
|
|
|
95
97
|
Migration note:
|
|
96
98
|
|
|
97
|
-
- Existing users who originally installed the plugin from the `agenr` package should reinstall once with `openclaw plugins install @agenr/
|
|
99
|
+
- Existing users who originally installed the plugin from the `agenr` package should reinstall once with `openclaw plugins install @agenr/openclaw-plugin` so OpenClaw records the new npm package source.
|
|
98
100
|
- After that reinstall, `openclaw plugins update agenr` should continue to work because updates key off the plugin id `agenr`.
|
|
99
101
|
|
|
100
102
|
## Quick Start - Skeln Plugin (manual)
|
|
@@ -254,7 +256,7 @@ agenr scenarios run --kind store --preserve --verbose
|
|
|
254
256
|
| Problem | What to check |
|
|
255
257
|
| ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
256
258
|
| `agenr init` cannot complete setup | Re-run `agenr setup` and verify the selected auth method is actually available. Subscription flows depend on the relevant external login being present, and non-OpenAI extraction setups still need a separate OpenAI embedding key. |
|
|
257
|
-
| `openclaw plugins install @agenr/
|
|
259
|
+
| `openclaw plugins install @agenr/openclaw-plugin` fails | Make sure the `openclaw` CLI is installed and on `PATH`. For local development, run `pnpm build` and use `plugins.load.paths` instead. |
|
|
258
260
|
| `agenr recall` or `agenr_recall` fails with embedding/auth errors | Embeddings always use OpenAI. Confirm `credentials.openaiApiKey` is configured, or re-run `agenr setup` to set the embedding key explicitly. |
|
|
259
261
|
| SQLite says the database is locked | Avoid running multiple writers against the same DB at once. Stop overlapping ingest/reset runs, restart the OpenClaw gateway if needed, then retry. |
|
|
260
262
|
| OpenClaw does not pick up the plugin | Restart the gateway, confirm `plugins.slots.memory` is `agenr`, confirm `plugins.allow` contains `agenr`, and for dev installs confirm `plugins.load.paths` points at the built `packages/openclaw-plugin` directory. |
|
|
@@ -1,7 +1,65 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { E as EntryType,
|
|
4
|
-
|
|
1
|
+
import { TSchema } from 'typebox';
|
|
2
|
+
import { AgentToolResult, AgentMessage } from '@earendil-works/pi-agent-core';
|
|
3
|
+
import { E as EntryType, c as RecallPorts, P as ProcedureDatabasePort, C as ClaimSlotPolicyConfig, t as Entry, u as ClaimSlotPolicy, v as DatabasePort, w as EpisodeDatabasePort, x as EmbeddingPort, L as LlmPort } from '../../claim-slot-policy-CQ-h0GaV.js';
|
|
4
|
+
|
|
5
|
+
/** Minimal branch-entry shape needed for before-turn visibility filtering. */
|
|
6
|
+
interface SkelnBranchEntryLike {
|
|
7
|
+
/** Session tree entry discriminator. */
|
|
8
|
+
type?: unknown;
|
|
9
|
+
/** Session tree entry id. */
|
|
10
|
+
id?: unknown;
|
|
11
|
+
/** Parent id retained for compatibility with Skeln entries. */
|
|
12
|
+
parentId?: unknown;
|
|
13
|
+
/** Message payload when this is a message entry. */
|
|
14
|
+
message?: unknown;
|
|
15
|
+
/** First replayed entry after compaction when this is a compaction entry. */
|
|
16
|
+
firstKeptEntryId?: unknown;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** Minimal Skeln extension API surface used by the agenr adapter. */
|
|
20
|
+
interface ExtensionAPI {
|
|
21
|
+
/** Reads one extension setting supplied by Skeln config. */
|
|
22
|
+
getSetting(key: string): unknown;
|
|
23
|
+
/** Registers one model-facing tool with the Skeln runtime. */
|
|
24
|
+
registerTool(tool: SkelnToolDefinition): void;
|
|
25
|
+
}
|
|
26
|
+
/** Minimal Skeln session manager surface used by the agenr adapter. */
|
|
27
|
+
interface SkelnSessionManager {
|
|
28
|
+
/** Returns the active Skeln session id. */
|
|
29
|
+
getSessionId(): string | number;
|
|
30
|
+
/** Returns the active session working directory. */
|
|
31
|
+
getCwd(): string;
|
|
32
|
+
/** Returns the active session JSONL file path when available. */
|
|
33
|
+
getSessionFile(): string;
|
|
34
|
+
/** Returns active branch entries visible to before-turn recall. */
|
|
35
|
+
getBranch(): SkelnBranchEntryLike[];
|
|
36
|
+
}
|
|
37
|
+
/** Minimal Skeln extension context surface used by the agenr adapter. */
|
|
38
|
+
interface ExtensionContext {
|
|
39
|
+
/** Current working directory when provided directly by newer Skeln hosts. */
|
|
40
|
+
cwd?: string;
|
|
41
|
+
/** Session manager for identity, cwd fallback, and transcript location. */
|
|
42
|
+
sessionManager: SkelnSessionManager;
|
|
43
|
+
}
|
|
44
|
+
/** Tool-update callback shape accepted by Skeln tool handlers. */
|
|
45
|
+
type SkelnToolUpdateCallback = (update: unknown) => void;
|
|
46
|
+
/** Minimal Skeln tool definition shape registered by the agenr adapter. */
|
|
47
|
+
interface SkelnToolDefinition {
|
|
48
|
+
/** Tool name exposed to the model. */
|
|
49
|
+
name: string;
|
|
50
|
+
/** Human-readable label shown by host UI. */
|
|
51
|
+
label?: string;
|
|
52
|
+
/** Tool description shown to the model and host UI. */
|
|
53
|
+
description: string;
|
|
54
|
+
/** Optional prompt snippet injected by Skeln. */
|
|
55
|
+
promptSnippet?: string;
|
|
56
|
+
/** Optional model-facing usage guidelines injected by Skeln. */
|
|
57
|
+
promptGuidelines?: string[];
|
|
58
|
+
/** TypeBox-compatible parameter schema. */
|
|
59
|
+
parameters?: TSchema;
|
|
60
|
+
/** Executes one Skeln tool call. */
|
|
61
|
+
execute(toolCallId: string, params: unknown, signal: AbortSignal | undefined, onUpdate: SkelnToolUpdateCallback | undefined, context: ExtensionContext): AgentToolResult<Record<string, unknown>> | Promise<AgentToolResult<Record<string, unknown>>>;
|
|
62
|
+
}
|
|
5
63
|
|
|
6
64
|
/**
|
|
7
65
|
* Canonical feature flags for staged working-memory, session-memory, and goal rollout.
|