@essentialai/cogent-bridge 3.5.10 → 3.6.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.
Files changed (47) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/backend/file-backend.d.ts +1 -1
  3. package/dist/backend/file-backend.d.ts.map +1 -1
  4. package/dist/backend/file-backend.js +2 -2
  5. package/dist/backend/file-backend.js.map +1 -1
  6. package/dist/backend/http-backend.d.ts +1 -1
  7. package/dist/backend/http-backend.d.ts.map +1 -1
  8. package/dist/backend/http-backend.js +14 -1
  9. package/dist/backend/http-backend.js.map +1 -1
  10. package/dist/backend/storage-backend.d.ts +5 -1
  11. package/dist/backend/storage-backend.d.ts.map +1 -1
  12. package/dist/config.d.ts +3 -0
  13. package/dist/config.d.ts.map +1 -1
  14. package/dist/config.js +9 -0
  15. package/dist/config.js.map +1 -1
  16. package/dist/services/auto-relay.d.ts +50 -0
  17. package/dist/services/auto-relay.d.ts.map +1 -1
  18. package/dist/services/auto-relay.js +177 -45
  19. package/dist/services/auto-relay.js.map +1 -1
  20. package/dist/services/cc-cli.d.ts +11 -0
  21. package/dist/services/cc-cli.d.ts.map +1 -1
  22. package/dist/services/cc-cli.js +69 -0
  23. package/dist/services/cc-cli.js.map +1 -1
  24. package/dist/services/claude-preflight.d.ts.map +1 -1
  25. package/dist/services/claude-preflight.js +1 -0
  26. package/dist/services/claude-preflight.js.map +1 -1
  27. package/dist/services/codex-cli.d.ts.map +1 -1
  28. package/dist/services/codex-cli.js +18 -4
  29. package/dist/services/codex-cli.js.map +1 -1
  30. package/dist/services/durable-identity.d.ts +11 -0
  31. package/dist/services/durable-identity.d.ts.map +1 -0
  32. package/dist/services/durable-identity.js +14 -0
  33. package/dist/services/durable-identity.js.map +1 -0
  34. package/dist/services/peer-registry.d.ts +1 -1
  35. package/dist/services/peer-registry.d.ts.map +1 -1
  36. package/dist/services/peer-registry.js +8 -1
  37. package/dist/services/peer-registry.js.map +1 -1
  38. package/dist/startup.d.ts.map +1 -1
  39. package/dist/startup.js +8 -1
  40. package/dist/startup.js.map +1 -1
  41. package/dist/tools/register-peer.d.ts.map +1 -1
  42. package/dist/tools/register-peer.js +29 -3
  43. package/dist/tools/register-peer.js.map +1 -1
  44. package/dist/types.d.ts +30 -0
  45. package/dist/types.d.ts.map +1 -1
  46. package/package.json +1 -1
  47. package/server.json +2 -2
@@ -8,6 +8,7 @@ import { logger } from "../logger.js";
8
8
  import { heartbeat } from "../services/heartbeat.js";
9
9
  import { autoRelay } from "../services/auto-relay.js";
10
10
  import { resolveSession } from "../services/session-resolver.js";
11
+ import { deriveWorkspaceId } from "../services/durable-identity.js";
11
12
  import { CLIENT_VERSION } from "../constants.js";
12
13
  import { getLastNudge } from "../backend/npm-update-check.js";
13
14
  export function registerRegisterPeerTool(server) {
@@ -36,6 +37,12 @@ export function registerRegisterPeerTool(server) {
36
37
  .describe("Peer participation mode. \"agent\" (default) auto-responds via execClaude on inbound directed messages. " +
37
38
  "\"observer\" registers a passive watcher that receives WS frames and remains targetable but never spawns a subprocess. " +
38
39
  "Useful for operators using their MCP client to monitor a channel without polluting transcript with phantom replies."),
40
+ role: z
41
+ .enum(["implementer", "reviewer", "auditor", "coordinator"])
42
+ .optional()
43
+ .describe("Structured A2A role (Slice 4). Makes multi-agent collaboration explicit rather than noise: " +
44
+ "\"implementer\" writes code, \"reviewer\"/\"auditor\" check it, \"coordinator\" is the single visible task owner. " +
45
+ "Advertised on the peer (surfaced in cogent_list_peers); at most one coordinator per channel by convention."),
39
46
  },
40
47
  annotations: {
41
48
  readOnlyHint: false,
@@ -43,7 +50,7 @@ export function registerRegisterPeerTool(server) {
43
50
  idempotentHint: true,
44
51
  openWorldHint: false,
45
52
  },
46
- }, async ({ peerId, sessionId, cwd, label, mode }) => {
53
+ }, async ({ peerId, sessionId, cwd, label, mode, role }) => {
47
54
  try {
48
55
  const config = getConfig();
49
56
  // Config-based check for auto-create (needs the endpoint URL).
@@ -129,12 +136,31 @@ export function registerRegisterPeerTool(server) {
129
136
  // channelSessionId = the cloud/relay session id, kept distinct from
130
137
  // the local .jsonl id the resolver finds (they used to collide).
131
138
  // capabilities = what this peer can do for the reply contract.
139
+ // Slice 3 (Story 8.4): an agent-mode peer advertises the reply-contract
140
+ // tier it captures with. Both platforms now use the structured
141
+ // machine_readable_event_stream (Claude `--output-format json` `.result`;
142
+ // Codex `-o` last-message file) — the bridge never guesses from raw
143
+ // stdout; a fallback is surfaced as a visible capture_downgrade.
132
144
  const channelSessionId = sessionId;
133
- const capabilities = mode === "observer" ? ["observer"] : ["auto-resume"];
145
+ const capabilities = mode === "observer"
146
+ ? ["observer"]
147
+ : ["auto-resume", "reply:machine_readable_event_stream"];
148
+ // Slice 4 (Story 8.5): advertise the structured A2A role so multi-agent
149
+ // collaboration is explicit (surfaced in cogent_list_peers), not noise.
150
+ if (role) {
151
+ capabilities.push(`role:${role}`);
152
+ }
153
+ // Slice 5 / Story 8.6: derive a DURABLE identity that does not depend on
154
+ // the mutable, lossy cwd hint. workspaceId = stable SHA-256 of the cwd
155
+ // (deriveWorkspaceId — single-sourced so re-register derives it the same);
156
+ // threadId = the session id (the durable conversation thread). Sent on the
157
+ // wire in cloud mode so the relay can route/resolve on them.
158
+ const workspaceId = deriveWorkspaceId(cwd);
159
+ const threadId = sessionId;
134
160
  // Pass our own cogent-bridge npm version so the server (and any
135
161
  // operator inspecting cogent_list_peers) can tell at a glance which
136
162
  // client version each peer is running. Plumbs through to PeerInfo.
137
- const peer = await backend.registerPeer(peerId, sessionId, cwd, label, CLIENT_VERSION, mode, channelSessionId, capabilities);
163
+ const peer = await backend.registerPeer(peerId, sessionId, cwd, label, CLIENT_VERSION, mode, channelSessionId, capabilities, workspaceId, threadId);
138
164
  // Set local peer info for auto-relay (cloud mode: incoming messages trigger local execClaude).
139
165
  // Auto-detect the real local CC session ID from the filesystem — the user/agent may
140
166
  // pass the cloud session ID by mistake, which won't work with `claude --resume`.
@@ -1 +1 @@
1
- {"version":3,"file":"register-peer.js","sourceRoot":"","sources":["../../src/tools/register-peer.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,eAAe,EACf,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,MAAM,UAAU,wBAAwB,CAAC,MAAiB;IACxD,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,gEAAgE;YAChE,+DAA+D;YAC/D,0DAA0D;QAC5D,WAAW,EAAE;YACX,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,CAAC,+DAA+D,CAAC;YAC5E,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,CAAC,6CAA6C,CAAC;YAC1D,GAAG,EAAE,CAAC;iBACH,MAAM,EAAE;iBACR,QAAQ,CAAC,gDAAgD,CAAC;YAC7D,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,CAAC,kEAAkE,CAAC;YAC/E,IAAI,EAAE,CAAC;iBACJ,IAAI,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;iBAC3B,QAAQ,EAAE;iBACV,OAAO,CAAC,OAAO,CAAC;iBAChB,QAAQ,CACP,0GAA0G;gBAC1G,yHAAyH;gBACzH,qHAAqH,CACtH;SACJ;QACD,WAAW,EAAE;YACX,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;QAChD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,+DAA+D;YAC/D,uDAAuD;YACvD,MAAM,sBAAsB,GAC1B,MAAM,CAAC,eAAe;gBACtB,eAAe,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAE1C,qDAAqD;YACrD,IAAI,cAAc,GAAG,KAAK,CAAC;YAC3B,IAAI,cAAkC,CAAC;YACvC,IAAI,UAA8B,CAAC;YAEnC,IAAI,sBAAsB,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;gBACrD,IAAI,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;gBAEtC,kEAAkE;gBAClE,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;gBAC1C,IAAI,UAA8B,CAAC;gBAEnC,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,qEAAqE;oBACrE,sEAAsE;oBACtE,yEAAyE;oBACzE,gEAAgE;oBAChE,MAAM,cAAc,GAClB,kBAAkB,EAAE;wBACpB,OAAO,CAAC,GAAG,CAAC,kCAAkC,KAAK,GAAG,CAAC;oBACzD,IAAI,cAAc,EAAE,CAAC;wBACnB,MAAM,SAAS,GAAG,MAAM,eAAe,EAAE,CAAC;wBAC1C,yEAAyE;wBACzE,iFAAiF;wBACjF,iFAAiF;wBACjF,8EAA8E;wBAC9E,iFAAiF;wBACjF,IACE,SAAS;4BACT,CAAC,SAAS,CAAC,QAAQ,KAAK,MAAM,CAAC,eAAe;gCAC5C,SAAS,CAAC,QAAQ,KAAK,MAAM,CAAC,oBAAoB,CAAC,EACrD,CAAC;4BACD,cAAc,GAAG,SAAS,CAAC,SAAS,CAAC;4BACrC,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC;4BAC7B,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;wBAChC,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,oDAAoD;oBACpD,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACpD,MAAM,IAAI,GAAG,MAAM,KAAK,CACtB,GAAG,QAAQ,eAAe,EAC1B;wBACE,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;wBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,MAAM,EAAE,UAAU;4BAClB,KAAK,EAAE,mBAAmB,KAAK,EAAE;yBAClC,CAAC;qBACH,CACF,CAAC;oBAEF,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;wBACb,OAAO,WAAW,CAChB,IAAI,KAAK,CACP,uCAAuC,IAAI,CAAC,MAAM,EAAE,CACrD,CACF,CAAC;oBACJ,CAAC;oBAED,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAIjC,CAAC;oBACF,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC;oBACnC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;oBAC3B,cAAc,GAAG,IAAI,CAAC;oBAEtB,8BAA8B;oBAC9B,MAAM,eAAe,CAAC;wBACpB,QAAQ;wBACR,SAAS,EAAE,cAAc;wBACzB,KAAK,EAAE,UAAU;wBACjB,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBAClC,CAAC,CAAC;oBAEH,4CAA4C;oBAC5C,+DAA+D;oBAC/D,IAAI,CAAC;wBACH,MAAM,aAAa,GAAG,CAAC,MAAM,MAAM,CACjC,eAAe,CAChB,CAA4B,CAAC;wBAC9B,IACE,OAAO,aAAa,CAAC,kBAAkB,KAAK,UAAU,EACtD,CAAC;4BACD,MACE,aAAa,CAAC,kBAKf,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;wBAC1C,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,uCAAuC;oBACzC,CAAC;oBAED,MAAM,CAAC,IAAI,CACT,8BAA8B,cAAc,EAAE,CAC/C,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,+DAA+D;YAC/D,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/C,qEAAqE;YACrE,uCAAuC;YACvC,sEAAsE;YACtE,qEAAqE;YACrE,iEAAiE;YACjE,MAAM,gBAAgB,GAAG,SAAS,CAAC;YACnC,MAAM,YAAY,GAAG,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAC1E,gEAAgE;YAChE,oEAAoE;YACpE,mEAAmE;YACnE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,YAAY,CACrC,MAAM,EACN,SAAS,EACT,GAAG,EACH,KAAK,EACL,cAAc,EACd,IAAI,EACJ,gBAAgB,EAChB,YAAY,CACb,CAAC;YAEF,+FAA+F;YAC/F,oFAAoF;YACpF,iFAAiF;YACjF,qEAAqE;YACrE,kEAAkE;YAClE,wEAAwE;YACxE,4CAA4C;YAC5C,MAAM,UAAU,GAAG,MAAM,cAAc,CACrC,SAAS,EAAE,CAAC,eAAe,EAC3B,GAAG,EACH,SAAS,CACV,CAAC;YACF,MAAM,cAAc,GAAG,UAAU,CAAC,SAAS,IAAI,SAAS,CAAC;YACzD,MAAM,CAAC,IAAI,CACT,8BAA8B,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,UAAU,GAAG;gBAC3E,IAAI,UAAU,CAAC,cAAc,qBAAqB,cAAc,EAAE,CACrE,CAAC;YACF,qEAAqE;YACrE,wCAAwC;YACxC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;YAEjF,iEAAiE;YACjE,MAAM,MAAM,GAA4B;gBACtC,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY;gBAC3C,IAAI;gBACJ,iBAAiB,EAAE;oBACjB,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,UAAU,EAAE,UAAU,CAAC,UAAU;oBACjC,cAAc,EAAE,UAAU,CAAC,cAAc;iBAC1C;aACF,CAAC;YAEF,0EAA0E;YAC1E,oFAAoF;YACpF,iFAAiF;YACjF,gFAAgF;YAChF,iFAAiF;YACjF,MAAM,aAAa,GAAI,IAAsC,EAAE,QAAQ,CAAC;YACxE,MAAM,WAAW,GACf,CAAC,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,CAAC,IAAI,YAAY,EAAE,CAAC;YACzE,IAAI,WAAW;gBAAE,MAAM,CAAC,eAAe,GAAG,WAAW,CAAC;YAEtD,IAAI,cAAc,IAAI,cAAc,IAAI,UAAU,EAAE,CAAC;gBACnD,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC9B,MAAM,CAAC,WAAW,GAAG;oBACnB,SAAS,EAAE,cAAc;oBACzB,MAAM,EAAE,UAAU;iBACnB,CAAC;gBACF,MAAM,EAAE,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;gBACxC,MAAM,CAAC,cAAc,GAAG;oBACtB,QAAQ,EACN,mBAAmB,EAAE,IAAI;wBACzB,qBAAqB,cAAc,IAAI;wBACvC,iBAAiB,UAAU,EAAE;oBAC/B,UAAU,EAAE;wBACV,QAAQ,EAAE;4BACR,OAAO,EAAE,KAAK;4BACd,IAAI,EAAE,CAAC,4BAA4B,CAAC;4BACpC,GAAG,EAAE;gCACH,eAAe,EAAE,EAAE;gCACnB,iBAAiB,EAAE,cAAc;gCACjC,aAAa,EAAE,UAAU;6BAC1B;yBACF;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,sEAAsE;YACtE,wEAAwE;YACxE,4EAA4E;YAC5E,IAAI,WAAW,EAAE,EAAE,CAAC;gBAClB,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;oBAC9C,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;wBAC1B,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;wBACxC,4FAA4F;wBAC5F,MAAM,CAAC,IAAI,CAAC,2CAA2C,MAAM,EAAE,CAAC,CAAC;oBACnE,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,wDAAwD;oBACxD,MAAM,CAAC,IAAI,CAAC,2CAA2C,GAAG,EAAE,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;YAED,sDAAsD;YACtD,oEAAoE;YACpE,kEAAkE;YAClE,IAAI,OAAiC,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;gBACjD,OAAO,GAAG,UAAU,CAAC,qBAAqB,CAAC;YAC7C,CAAC;YAAC,MAAM,CAAC;gBACP,gDAAgD;YAClD,CAAC;YACD,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAEzC,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YACrD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"register-peer.js","sourceRoot":"","sources":["../../src/tools/register-peer.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -30,6 +30,15 @@ export interface PeerInfo {
30
30
  * for the later relay slice; NOT sent on the wire yet. Added 3.5.9.
31
31
  */
32
32
  capabilities?: string[];
33
+ /**
34
+ * Durable workspace identifier (Slice 5 / Story 8.6). A STABLE id for the
35
+ * workspace that does NOT depend on the mutable, lossy cwd hint. UNLIKE
36
+ * channelSessionId/capabilities, this IS sent on the relay wire (the server
37
+ * .strict() schema was extended in lockstep). Optional; back-compat.
38
+ */
39
+ workspaceId?: string;
40
+ /** Durable thread/conversation identifier (Slice 5 / Story 8.6). On the wire; optional. */
41
+ threadId?: string;
33
42
  }
34
43
  export interface MessageRecord {
35
44
  id: string;
@@ -64,6 +73,14 @@ export interface MessageRecord {
64
73
  * correlation only; NOT sent on the relay wire in this version. Added 3.5.9.
65
74
  */
66
75
  traceId?: string;
76
+ /**
77
+ * Platform this message ORIGINATED from (the relay stamps it, default "cc").
78
+ * Read by Slice 4 (Story 8.5) to distinguish an AGENT-origin broadcast
79
+ * (cc/codex — manual by default, anti-debate) from a HUMAN-origin broadcast
80
+ * (slack/gchat/web — still auto-relays so a Slack user gets an answer).
81
+ * Absent on older records → treated as agent-origin (safe default).
82
+ */
83
+ originPlatform?: "cc" | "codex" | "slack" | "gchat" | "web";
67
84
  }
68
85
  export interface SendMessageResult {
69
86
  success: boolean;
@@ -75,5 +92,18 @@ export interface CliExecResult {
75
92
  stdout: string;
76
93
  stderr: string;
77
94
  exitCode: number | null;
95
+ /**
96
+ * Slice 3 (Story 8.4) — how the reply was captured:
97
+ * - "event_stream": parsed from a structured envelope (Claude `--output-format
98
+ * json` `.result`; Codex `-o` last-message file) — the
99
+ * `machine_readable_event_stream` tier, trusted (`stable:true`).
100
+ * - "stdout_compat": fell back to raw stdout because a structured envelope was
101
+ * unavailable — `stable:false`; the downgrade is surfaced in the wake trace,
102
+ * never disguised as a clean auto-capture (AC3).
103
+ * Absent on non-reply results (timeouts, spawn/CLI errors).
104
+ */
105
+ captureContract?: "event_stream" | "stdout_compat";
106
+ /** Slice 3: true only for a trusted structured capture. */
107
+ stable?: boolean;
78
108
  }
79
109
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAC5B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAC5B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,IAAI,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;CAC7D;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,cAAc,GAAG,eAAe,CAAC;IACnD,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@essentialai/cogent-bridge",
3
- "version": "3.5.10",
3
+ "version": "3.6.0",
4
4
  "description": "MCP server for inter-Claude-Code session communication bridge",
5
5
  "type": "module",
6
6
  "workspaces": [
package/server.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "name": "io.github.eaisdevelopment/cogent",
4
4
  "title": "Cogent Bridge from Essential AI Solutions (essentialai.uk)",
5
5
  "description": "MCP bridge for inter-session communication between Claude Code instances",
6
- "version": "3.5.10",
6
+ "version": "3.6.0",
7
7
  "repository": {
8
8
  "url": "https://github.com/eaisdevelopment/cogent",
9
9
  "source": "github"
@@ -12,7 +12,7 @@
12
12
  {
13
13
  "registryType": "npm",
14
14
  "identifier": "@essentialai/cogent-bridge",
15
- "version": "3.5.10",
15
+ "version": "3.6.0",
16
16
  "runtimeHint": "npx",
17
17
  "transport": {
18
18
  "type": "stdio"