Skip to content

Commit 76761ab

Browse files
Copilothotlong
andauthored
docs: update CHANGELOG.md and README.md for metadata persistence fix
Agent-Logs-Url: https://github.com/objectstack-ai/framework/sessions/12f98d90-59fd-4398-acd1-e267ef7256cc Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
1 parent c06e669 commit 76761ab

File tree

3 files changed

+13
-2
lines changed

3 files changed

+13
-2
lines changed

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
88
## [Unreleased]
99

1010
### Fixed
11+
- **MetadataPlugin: Driver bridging for database-backed persistence**`MetadataPlugin.start()`
12+
now discovers registered driver services (`driver.*`) from the kernel service registry and
13+
calls `manager.setDatabaseDriver()` to enable `DatabaseLoader`. Previously, no code bridged
14+
the kernel's database driver to the `MetadataManager`, leaving `DatabaseLoader` unconfigured
15+
and metadata persistence limited to the filesystem only.
16+
- **MetadataManager: register() no longer writes to FilesystemLoader**`register()` now
17+
persists metadata only to `datasource:` protocol loaders (i.e. `DatabaseLoader`), skipping
18+
`file:` protocol loaders (`FilesystemLoader`). Previously, `register()` broadcast writes to
19+
all loaders indiscriminately, causing crashes in read-only environments (e.g. serverless,
20+
containerized deployments) when `FilesystemLoader.save()` attempted to write to disk.
21+
The same protocol filter is applied to `unregister()` for consistency.
1122
- **Agent Chat: Vercel SSE Data Stream support** — The agent chat endpoint
1223
(`/api/v1/ai/agents/:agentName/chat`) now returns Vercel AI SDK v6 UI Message Stream Protocol
1324
(SSE) by default, matching the general chat endpoint behaviour. Previously, the agent chat route

packages/metadata/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ Loaders are pluggable data sources that know how to read/write metadata from dif
6161
| `FilesystemLoader` | `file:` |||| Implemented |
6262
| `MemoryLoader` | `memory:` |||| Implemented |
6363
| `RemoteLoader` | `http:` |||| Implemented |
64-
| `DatabaseLoader` | `datasource:` ||| | Planned |
64+
| `DatabaseLoader` | `datasource:` ||| | Implemented |
6565

6666
### 3. Serializers
6767

packages/metadata/src/plugin.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ export class MetadataPlugin implements Plugin {
8080
driverService: serviceName,
8181
});
8282
this.manager.setDatabaseDriver(service);
83-
break; // Use the first available driver
83+
break; // Use the first discovered driver — typically only one driver is registered per deployment
8484
}
8585
}
8686
} catch (e: any) {

0 commit comments

Comments
 (0)