@creatornader/agent-bridge 0.6.1 → 0.6.2
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 +12 -0
- package/README.md +3 -1
- package/ROADMAP.md +9 -2
- package/dist/cli.js +4 -4
- package/dist/cli.js.map +1 -1
- package/docs/deployment.md +6 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,18 @@ All notable changes to agent-bridge are documented in this file.
|
|
|
4
4
|
|
|
5
5
|
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## [0.6.2] - 2026-07-21
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- Compare endpoint-migration edge file identifiers as 64-bit integers so distinct
|
|
12
|
+
Windows files cannot alias after number precision loss.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- Record the deployed 0.6.1 production proof and require a release-specific workspace
|
|
17
|
+
when the proof creates fresh sender and receiver principals.
|
|
18
|
+
|
|
7
19
|
## [0.6.1] - 2026-07-21
|
|
8
20
|
|
|
9
21
|
### Added
|
package/README.md
CHANGED
|
@@ -126,7 +126,9 @@ deployment gate passes. GitHub must run it from `main` in the protected
|
|
|
126
126
|
offline outbox replay, exact idempotency, claim, and acknowledgment. The workflow then
|
|
127
127
|
restarts the single Fly machine, requires a later successful machine start event, and
|
|
128
128
|
verifies the message and settled delivery with a fresh receiver instance and a new
|
|
129
|
-
SQLite edge file.
|
|
129
|
+
SQLite edge file. Use a new proof workspace for each release run. Owner provisioning
|
|
130
|
+
refuses a second agent with the same principal in one workspace, and revoked proof
|
|
131
|
+
credentials cannot be rotated.
|
|
130
132
|
Its versioned receipts contain only identifiers, times, principal and workspace labels,
|
|
131
133
|
the gateway origin, checks, and SHA-256 host evidence. They omit credentials, database
|
|
132
134
|
URLs, message content, and SQLite files.
|
package/ROADMAP.md
CHANGED
|
@@ -151,9 +151,16 @@ The published npm version is the authority for whether this package line has shi
|
|
|
151
151
|
- Public descriptions explain what an agent can do before introducing protocol and
|
|
152
152
|
storage terminology.
|
|
153
153
|
|
|
154
|
+
### 0.6.2 package contents
|
|
155
|
+
|
|
156
|
+
- Endpoint migration compares Windows edge file identifiers as 64-bit integers so
|
|
157
|
+
distinct SQLite files cannot alias after number precision loss.
|
|
158
|
+
- Production proof guidance records the deployed 0.6.1 evidence and uses a
|
|
159
|
+
release-specific workspace for fresh proof principals.
|
|
160
|
+
|
|
154
161
|
### Production validation and adoption
|
|
155
162
|
|
|
156
|
-
Completed through the published and deployed 0.6.
|
|
163
|
+
Completed through the published and deployed 0.6.1 package:
|
|
157
164
|
|
|
158
165
|
- Migrated the project authority from the legacy Supabase schema to the canonical
|
|
159
166
|
PostgreSQL schema after a write freeze, exact-major backup, and restore drill. The
|
|
@@ -181,7 +188,7 @@ Completed through the published and deployed 0.6.0 package:
|
|
|
181
188
|
|
|
182
189
|
The production proof is repeatable release evidence, not a permanent certification.
|
|
183
190
|
Every gateway release must match its package version and source revision before the
|
|
184
|
-
workflow runs with disposable credentials.
|
|
191
|
+
workflow runs with disposable credentials in a release-specific proof workspace.
|
|
185
192
|
|
|
186
193
|
## Near-term work
|
|
187
194
|
|
package/dist/cli.js
CHANGED
|
@@ -6228,15 +6228,15 @@ function targetCurrent(request, env, execute) {
|
|
|
6228
6228
|
function edgeIdentity(path) {
|
|
6229
6229
|
if (!existsSync7(path)) return null;
|
|
6230
6230
|
verifyPrivatePathAccess(path, "file");
|
|
6231
|
-
const details = lstatSync6(path);
|
|
6231
|
+
const details = lstatSync6(path, { bigint: true });
|
|
6232
6232
|
if (!details.isFile() || details.isSymbolicLink()) fail3("EDGE_ALIAS", "edge database is not a private regular file");
|
|
6233
6233
|
return { dev: details.dev, ino: details.ino, nlink: details.nlink };
|
|
6234
6234
|
}
|
|
6235
6235
|
function edgeIdentitiesAlias(left, right) {
|
|
6236
|
-
const leftHasFileId = left.dev !==
|
|
6237
|
-
const rightHasFileId = right.dev !==
|
|
6236
|
+
const leftHasFileId = left.dev !== 0n || left.ino !== 0n;
|
|
6237
|
+
const rightHasFileId = right.dev !== 0n || right.ino !== 0n;
|
|
6238
6238
|
if (leftHasFileId && rightHasFileId) return left.dev === right.dev && left.ino === right.ino;
|
|
6239
|
-
if (left.nlink >
|
|
6239
|
+
if (left.nlink > 1n && right.nlink > 1n) {
|
|
6240
6240
|
fail3("EDGE_ALIAS", "edge file identity is ambiguous on this platform");
|
|
6241
6241
|
}
|
|
6242
6242
|
return false;
|