@essentialai/cogent-server 3.1.6 → 3.2.1
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 +24 -0
- package/dist/routes/messages.d.ts.map +1 -1
- package/dist/routes/messages.js +77 -1
- package/dist/routes/messages.js.map +1 -1
- package/dist/routes/peers.d.ts +17 -2
- package/dist/routes/peers.d.ts.map +1 -1
- package/dist/routes/peers.js +21 -3
- package/dist/routes/peers.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [3.2.1] - 2026-05-17
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- **FIX-INFERRED-ECHO: opt-in dedup of untagged auto-relay echoes (Phase 18 light).** `LocalGetHistoryQuerySchema` accepts new optional `dedupInferredEchoes: boolean` (preprocess coerces `"true"` string → boolean). When `true`, GET `/api/sessions/:id/messages` suppresses M[i] when `M[i].message === M[i-1].response`, `fromPeerId`/`toPeerId` are swapped, AND `Δt < 120s`. Catches the ~13% of echo records that bypass the `isRelayEcho` tag (peer-driven `cogent_send_message` re-broadcasts after autoRelay's execClaude returns). Filter applies BEFORE peerId narrowing so the M[i] vs M[i-1] pairing sees the full timeline. Opt-in keeps existing callers untouched. See `server/src/routes/messages.ts`.
|
|
7
|
+
|
|
8
|
+
### Changed
|
|
9
|
+
- **PATCH `/api/sessions/:sessionId/messages/:messageId` accepts `response: null`.** `UpdateMessageResponseSchema` changed `response: z.string()` → `response: z.string().nullable()`. Lets cloud clients explicitly mark timed-out sends — the message record's `response` stays `null` instead of holding a bridge-generated stub that LLMs would misread as the recipient's reply. See `server/src/routes/messages.ts`. Paired with client `src/tools/send-message.ts` FIX-TIMEOUT-UX in cogent-bridge 3.2.1.
|
|
10
|
+
|
|
11
|
+
### Internal
|
|
12
|
+
- 5 new tests under `src/__tests__/routes/messages.test.ts` `describe("dedupInferredEchoes (FIX-INFERRED-ECHO, 3.2.1)")` — covers happy-path suppression, default-off backward compat, content-mismatch no-op, direction-mismatch no-op, and the `"true"` string preprocess coercion.
|
|
13
|
+
|
|
14
|
+
## [3.2.0] - 2026-05-12
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
- **Server-side acceptance of `mode` on POST `/peers` (OBS-01 / OBS-02).** `ExtendedRegisterPeerRequestSchema` now accepts optional `mode: z.enum(["observer", "agent"])`. `StoredPeerInfo` widened with optional `mode`. Persistence uses conditional-set (no `{ mode: undefined }` placeholder); GET `/peers` returns it on records where it was supplied. See `server/src/routes/peers.ts`.
|
|
18
|
+
- **Server-side `metadataOnly` projection on GET `/api/sessions/:id/messages` (HIST-02).** `LocalGetHistoryQuerySchema` accepts `metadataOnly` (preprocess coerces `"true"` string → boolean) and the GET handler projects each record to the 7-key shape `{id, fromPeerId, toPeerId, timestamp, durationMs, isRelayEcho, success}` before `c.json`. Built via object literal so `message`/`response`/`error` keys are physically absent. Server is the source of truth for the wire shape in cloud mode. See `server/src/routes/messages.ts`.
|
|
19
|
+
|
|
20
|
+
### Internal
|
|
21
|
+
- Drift-snapshot tripwire test extended to include `"mode"` in the expected key set alongside `"clientVersion"`. Both fields remain server-side extensions in the same drift-budget as `clientVersion` until Phase 18 retires the mirror via `.extend()` against a bumped `@essentialai/cogent` shared-types package.
|
|
22
|
+
- 5 new tests under `server/src/__tests__/routes/peers.test.ts` `describe("OBS-01 / OBS-02 mode field")` covering POST/GET with `mode: "observer" | "agent"`, absence-as-legacy compat, and validator rejection of garbage values.
|
|
23
|
+
- 4 new tests under `server/src/__tests__/routes/messages.test.ts` `describe("metadataOnly (HIST-02)")` covering 7-key projection, end-to-end response.text() size ratio ≤ 0.10, preprocess coercion, and default/false passthrough.
|
|
24
|
+
|
|
25
|
+
Planning: `.planning/phases/17-observer-mode-and-history-hygiene/`
|
|
26
|
+
|
|
3
27
|
## [3.1.3] - 2026-05-05
|
|
4
28
|
|
|
5
29
|
### Fixed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/routes/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAS5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAK7C;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,YAAY,CAAC,EAAE,mBAAmB,EAClC,eAAe,CAAC,EAAE,eAAe,GAChC,IAAI,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/routes/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAS5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAK7C;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,YAAY,CAAC,EAAE,mBAAmB,EAClC,eAAe,CAAC,EAAE,eAAe,GAChC,IAAI,CAAC,SAAS,CAAC,CAiYjB"}
|
package/dist/routes/messages.js
CHANGED
|
@@ -49,6 +49,24 @@ export function createMessageRoutes(sessionStore, authService, maxMessages, conn
|
|
|
49
49
|
.preprocess((v) => v === "true" || v === true, z.boolean())
|
|
50
50
|
.optional()
|
|
51
51
|
.default(false),
|
|
52
|
+
// HIST-02 (3.2): when true, response records are projected to a 7-key
|
|
53
|
+
// metadata-only shape (no message/response bodies). Mirrors the
|
|
54
|
+
// includeRelayEchoes preprocess so "true" / true both coerce to boolean.
|
|
55
|
+
metadataOnly: z
|
|
56
|
+
.preprocess((v) => v === "true" || v === true, z.boolean())
|
|
57
|
+
.optional()
|
|
58
|
+
.default(false),
|
|
59
|
+
// FIX-INFERRED-ECHO (3.2.1, Phase 18 light): when true, suppress untagged
|
|
60
|
+
// auto-relay echoes via content-and-direction heuristic — drop M[i] when
|
|
61
|
+
// M[i].message === M[i-1].response AND fromPeerId/toPeerId are swapped
|
|
62
|
+
// AND Δt < 120s. Catches the ~13% of echo records that bypass the
|
|
63
|
+
// isRelayEcho tag (peer-driven cogent_send_message re-broadcasts).
|
|
64
|
+
// Opt-in to avoid surprise behavior change for callers still relying on
|
|
65
|
+
// the legacy untagged stream.
|
|
66
|
+
dedupInferredEchoes: z
|
|
67
|
+
.preprocess((v) => v === "true" || v === true, z.boolean())
|
|
68
|
+
.optional()
|
|
69
|
+
.default(false),
|
|
52
70
|
})
|
|
53
71
|
.strict();
|
|
54
72
|
/**
|
|
@@ -186,6 +204,8 @@ export function createMessageRoutes(sessionStore, authService, maxMessages, conn
|
|
|
186
204
|
const limit = query.limit ?? 300;
|
|
187
205
|
const offset = query.offset ?? 0;
|
|
188
206
|
const includeRelayEchoes = query.includeRelayEchoes ?? false;
|
|
207
|
+
const metadataOnly = query.metadataOnly ?? false;
|
|
208
|
+
const dedupInferredEchoes = query.dedupInferredEchoes ?? false;
|
|
189
209
|
// Fresh read from store (not cached from auth middleware)
|
|
190
210
|
const session = await sessionStore.getSession(authSessionId);
|
|
191
211
|
if (!session) {
|
|
@@ -199,6 +219,35 @@ export function createMessageRoutes(sessionStore, authService, maxMessages, conn
|
|
|
199
219
|
if (!includeRelayEchoes) {
|
|
200
220
|
filtered = filtered.filter((m) => m.isRelayEcho !== true);
|
|
201
221
|
}
|
|
222
|
+
// FIX-INFERRED-ECHO (3.2.1, Phase 18 light): suppress untagged
|
|
223
|
+
// auto-relay echoes. Apply BEFORE peerId narrowing so the pairing
|
|
224
|
+
// (M[i] vs M[i-1]) sees the full timeline. Heuristic:
|
|
225
|
+
// - same content: M[i].message === M[i-1].response
|
|
226
|
+
// - swapped direction: fromPeerId/toPeerId are inverted
|
|
227
|
+
// - tight window: Δt < 120s
|
|
228
|
+
// M[i].response may be anything (real reply or null) -- we only need
|
|
229
|
+
// the message-side to be a content duplicate of M[i-1]'s response.
|
|
230
|
+
if (dedupInferredEchoes && filtered.length > 1) {
|
|
231
|
+
const INFERRED_ECHO_WINDOW_MS = 120_000;
|
|
232
|
+
filtered = filtered.filter((msg, i) => {
|
|
233
|
+
if (i === 0)
|
|
234
|
+
return true;
|
|
235
|
+
const prev = filtered[i - 1];
|
|
236
|
+
if (!prev.response)
|
|
237
|
+
return true;
|
|
238
|
+
if (msg.message !== prev.response)
|
|
239
|
+
return true;
|
|
240
|
+
if (msg.fromPeerId !== prev.toPeerId)
|
|
241
|
+
return true;
|
|
242
|
+
if (msg.toPeerId !== prev.fromPeerId)
|
|
243
|
+
return true;
|
|
244
|
+
const dt = Date.parse(msg.timestamp) - Date.parse(prev.timestamp);
|
|
245
|
+
if (!Number.isFinite(dt) || dt < 0 || dt > INFERRED_ECHO_WINDOW_MS) {
|
|
246
|
+
return true;
|
|
247
|
+
}
|
|
248
|
+
return false;
|
|
249
|
+
});
|
|
250
|
+
}
|
|
202
251
|
// Filter messages by peer if specified
|
|
203
252
|
if (peerId) {
|
|
204
253
|
filtered = filtered.filter((msg) => msg.fromPeerId === peerId ||
|
|
@@ -214,6 +263,30 @@ export function createMessageRoutes(sessionStore, authService, maxMessages, conn
|
|
|
214
263
|
const endPos = Math.max(0, filtered.length - offset);
|
|
215
264
|
const startPos = Math.max(0, endPos - limit);
|
|
216
265
|
const paginated = filtered.slice(startPos, endPos);
|
|
266
|
+
// HIST-02: when metadataOnly is true, project each record to the
|
|
267
|
+
// 7-key contract shape BEFORE serialization. Built via object literal
|
|
268
|
+
// (not delete-on-clone) so the keys "message" and "response" are
|
|
269
|
+
// absent from the JSON (not nulled, not truncated). isRelayEcho is
|
|
270
|
+
// emitted explicitly as boolean (older records without the field
|
|
271
|
+
// get false) so the contract is stable on every record.
|
|
272
|
+
if (metadataOnly) {
|
|
273
|
+
const projected = paginated.map((m) => {
|
|
274
|
+
const rec = m;
|
|
275
|
+
return {
|
|
276
|
+
id: rec.id,
|
|
277
|
+
fromPeerId: rec.fromPeerId,
|
|
278
|
+
toPeerId: rec.toPeerId,
|
|
279
|
+
timestamp: rec.timestamp,
|
|
280
|
+
durationMs: rec.durationMs,
|
|
281
|
+
isRelayEcho: rec.isRelayEcho === true,
|
|
282
|
+
success: rec.success,
|
|
283
|
+
};
|
|
284
|
+
});
|
|
285
|
+
return c.json({
|
|
286
|
+
messages: projected,
|
|
287
|
+
total,
|
|
288
|
+
});
|
|
289
|
+
}
|
|
217
290
|
return c.json({
|
|
218
291
|
messages: paginated,
|
|
219
292
|
total,
|
|
@@ -227,8 +300,11 @@ export function createMessageRoutes(sessionStore, authService, maxMessages, conn
|
|
|
227
300
|
* messageId does not exist, succeeds silently (message may have been
|
|
228
301
|
* trimmed by the cap).
|
|
229
302
|
*/
|
|
303
|
+
// v3.2.1 (FIX-TIMEOUT-UX): accept null response so cloud clients can mark
|
|
304
|
+
// timed-out sends explicitly (record's response stays null instead of
|
|
305
|
+
// holding a bridge-generated stub that LLMs would misread as the reply).
|
|
230
306
|
const UpdateMessageResponseSchema = z.object({
|
|
231
|
-
response: z.string(),
|
|
307
|
+
response: z.string().nullable(),
|
|
232
308
|
durationMs: z.number().optional(),
|
|
233
309
|
});
|
|
234
310
|
messages.patch("/:sessionId/messages/:messageId", auth, zValidator("json", UpdateMessageResponseSchema, validationHook), async (c) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/routes/messages.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/routes/messages.ts"],"names":[],"mappings":"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"}
|
package/dist/routes/peers.d.ts
CHANGED
|
@@ -11,12 +11,18 @@ import type { ServerEnv } from "../types.js";
|
|
|
11
11
|
* The published schema is typed as `z.ZodType<RegisterPeerRequest>` in its .d.ts,
|
|
12
12
|
* which prevents a TS-clean `.extend()` here without first bumping the shared
|
|
13
13
|
* types package to 3.0.1 (deferred — see audit M1, Path B). Until then, this
|
|
14
|
-
* file mirrors the shape verbatim and adds
|
|
14
|
+
* file mirrors the shape verbatim and adds server-side extensions:
|
|
15
|
+
* - `clientVersion` (server 3.1.4+ / observability)
|
|
16
|
+
* - `mode` (server 3.2.0+ / Phase 17 OBS-01: observer-mode peers)
|
|
17
|
+
*
|
|
18
|
+
* Both extensions ship ahead of the shared-types bump; Phase 18 retires this
|
|
19
|
+
* local mirror in favor of an `.extend()` against the shared schema once
|
|
20
|
+
* @essentialai/cogent 3.0.1+ is published.
|
|
15
21
|
*
|
|
16
22
|
* Drift is guarded by a structural snapshot test in peers.test.ts that imports
|
|
17
23
|
* THIS schema directly and asserts:
|
|
18
24
|
* Object.keys(ExtendedRegisterPeerRequestSchema.shape).sort()
|
|
19
|
-
* === [...Object.keys(publishedShape), "clientVersion"].sort()
|
|
25
|
+
* === [...Object.keys(publishedShape), "clientVersion", "mode"].sort()
|
|
20
26
|
* Failure means @essentialai/cogent shipped a new field on its
|
|
21
27
|
* RegisterPeerRequestSchema and this mirror needs the same addition.
|
|
22
28
|
* The test cannot be silenced by editing a payload — it reads the live schemas.
|
|
@@ -27,6 +33,11 @@ import type { ServerEnv } from "../types.js";
|
|
|
27
33
|
* clientVersion shape (audit L3): loose semver MAJOR.MINOR.PATCH with optional
|
|
28
34
|
* pre-release suffix; rejects free-form strings, whitespace, and typos like
|
|
29
35
|
* "client v3.1.6". Defense-in-depth — the field is observability-only.
|
|
36
|
+
*
|
|
37
|
+
* mode (Phase 17 OBS-01): "observer" registers a passive watcher that
|
|
38
|
+
* receives WS frames and remains targetable but never auto-replies. "agent"
|
|
39
|
+
* (default when absent) is the standard CC peer behavior. Pre-3.2.0 clients
|
|
40
|
+
* omit the field entirely; pre-3.2.0 servers reject it (strict schema).
|
|
30
41
|
*/
|
|
31
42
|
export declare const ExtendedRegisterPeerRequestSchema: z.ZodObject<{
|
|
32
43
|
peerId: z.ZodString;
|
|
@@ -50,6 +61,10 @@ export declare const ExtendedRegisterPeerRequestSchema: z.ZodObject<{
|
|
|
50
61
|
}>>;
|
|
51
62
|
platformIdentity: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
52
63
|
clientVersion: z.ZodOptional<z.ZodString>;
|
|
64
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
65
|
+
agent: "agent";
|
|
66
|
+
observer: "observer";
|
|
67
|
+
}>>;
|
|
53
68
|
}, z.core.$strict>;
|
|
54
69
|
/**
|
|
55
70
|
* Create peer management routes sub-router.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peers.d.ts","sourceRoot":"","sources":["../../src/routes/peers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQ7C
|
|
1
|
+
{"version":3,"file":"peers.d.ts","sourceRoot":"","sources":["../../src/routes/peers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQ7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;kBAmBnC,CAAC;AAsBZ;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,IAAI,CAAC,SAAS,CAAC,CAsOjB"}
|
package/dist/routes/peers.js
CHANGED
|
@@ -12,12 +12,18 @@ import { createPeerConnectedFrame, createPeerDisconnectedFrame, } from "../ws/fr
|
|
|
12
12
|
* The published schema is typed as `z.ZodType<RegisterPeerRequest>` in its .d.ts,
|
|
13
13
|
* which prevents a TS-clean `.extend()` here without first bumping the shared
|
|
14
14
|
* types package to 3.0.1 (deferred — see audit M1, Path B). Until then, this
|
|
15
|
-
* file mirrors the shape verbatim and adds
|
|
15
|
+
* file mirrors the shape verbatim and adds server-side extensions:
|
|
16
|
+
* - `clientVersion` (server 3.1.4+ / observability)
|
|
17
|
+
* - `mode` (server 3.2.0+ / Phase 17 OBS-01: observer-mode peers)
|
|
18
|
+
*
|
|
19
|
+
* Both extensions ship ahead of the shared-types bump; Phase 18 retires this
|
|
20
|
+
* local mirror in favor of an `.extend()` against the shared schema once
|
|
21
|
+
* @essentialai/cogent 3.0.1+ is published.
|
|
16
22
|
*
|
|
17
23
|
* Drift is guarded by a structural snapshot test in peers.test.ts that imports
|
|
18
24
|
* THIS schema directly and asserts:
|
|
19
25
|
* Object.keys(ExtendedRegisterPeerRequestSchema.shape).sort()
|
|
20
|
-
* === [...Object.keys(publishedShape), "clientVersion"].sort()
|
|
26
|
+
* === [...Object.keys(publishedShape), "clientVersion", "mode"].sort()
|
|
21
27
|
* Failure means @essentialai/cogent shipped a new field on its
|
|
22
28
|
* RegisterPeerRequestSchema and this mirror needs the same addition.
|
|
23
29
|
* The test cannot be silenced by editing a payload — it reads the live schemas.
|
|
@@ -28,6 +34,11 @@ import { createPeerConnectedFrame, createPeerDisconnectedFrame, } from "../ws/fr
|
|
|
28
34
|
* clientVersion shape (audit L3): loose semver MAJOR.MINOR.PATCH with optional
|
|
29
35
|
* pre-release suffix; rejects free-form strings, whitespace, and typos like
|
|
30
36
|
* "client v3.1.6". Defense-in-depth — the field is observability-only.
|
|
37
|
+
*
|
|
38
|
+
* mode (Phase 17 OBS-01): "observer" registers a passive watcher that
|
|
39
|
+
* receives WS frames and remains targetable but never auto-replies. "agent"
|
|
40
|
+
* (default when absent) is the standard CC peer behavior. Pre-3.2.0 clients
|
|
41
|
+
* omit the field entirely; pre-3.2.0 servers reject it (strict schema).
|
|
31
42
|
*/
|
|
32
43
|
export const ExtendedRegisterPeerRequestSchema = z
|
|
33
44
|
.object({
|
|
@@ -43,6 +54,7 @@ export const ExtendedRegisterPeerRequestSchema = z
|
|
|
43
54
|
.regex(/^\d+\.\d+\.\d+(?:-[a-z0-9.-]+)?$/, "clientVersion must be loose semver (e.g. 3.1.7 or 3.1.7-rc1)")
|
|
44
55
|
.max(64)
|
|
45
56
|
.optional(),
|
|
57
|
+
mode: z.enum(["observer", "agent"]).optional(),
|
|
46
58
|
})
|
|
47
59
|
.strict();
|
|
48
60
|
/**
|
|
@@ -82,7 +94,7 @@ export function createPeerRoutes(sessionStore, authService, connectionManager) {
|
|
|
82
94
|
const pathSessionId = c.req.param("sessionId");
|
|
83
95
|
const authSessionId = c.get("sessionId");
|
|
84
96
|
verifySessionMatch(pathSessionId, authSessionId);
|
|
85
|
-
const { peerId, cwd, label, platform, type: peerType, transport, platformIdentity, clientVersion, } = c.req.valid("json");
|
|
97
|
+
const { peerId, cwd, label, platform, type: peerType, transport, platformIdentity, clientVersion, mode, } = c.req.valid("json");
|
|
86
98
|
const now = new Date().toISOString();
|
|
87
99
|
const peerInfo = {
|
|
88
100
|
peerId,
|
|
@@ -102,6 +114,12 @@ export function createPeerRoutes(sessionStore, authService, connectionManager) {
|
|
|
102
114
|
if (clientVersion !== undefined) {
|
|
103
115
|
peerInfo.clientVersion = clientVersion;
|
|
104
116
|
}
|
|
117
|
+
// Same conditional-set pattern for the 3.2.0 mode field (Phase 17 OBS-01).
|
|
118
|
+
// Pre-3.2.0 clients omit the field; we MUST NOT serialize { mode: undefined }
|
|
119
|
+
// into the session state — list-peers consumers expect absent === "agent".
|
|
120
|
+
if (mode !== undefined) {
|
|
121
|
+
peerInfo.mode = mode;
|
|
122
|
+
}
|
|
105
123
|
await sessionStore.updateSession(authSessionId, (state) => {
|
|
106
124
|
// Add peer to session
|
|
107
125
|
state.peers[peerId] = peerInfo;
|
package/dist/routes/peers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peers.js","sourceRoot":"","sources":["../../src/routes/peers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,WAAW,EACX,SAAS,GACV,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AAEzB
|
|
1
|
+
{"version":3,"file":"peers.js","sourceRoot":"","sources":["../../src/routes/peers.ts"],"names":[],"mappings":"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"}
|