kojee-mcp 0.7.5-staging.13 → 0.7.5-staging.14

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.
@@ -80,7 +80,18 @@ async function startEventStream(opts) {
80
80
  let stopped = false;
81
81
  const streamDispatcher = new Agent({
82
82
  bodyTimeout: UNDICI_DEFAULT_BODY_TIMEOUT_MS,
83
- headersTimeout: UNDICI_DEFAULT_BODY_TIMEOUT_MS
83
+ headersTimeout: UNDICI_DEFAULT_BODY_TIMEOUT_MS,
84
+ // FORCE HTTP/1.1 FOR THE SSE STREAM. undici 8.x defaults `allowH2: true`, so on a
85
+ // TLS connection ALPN negotiates HTTP/2 to the ALB. The ALB then RSTs the long-lived
86
+ // SSE stream with NGHTTP_INTERNAL_ERROR (H2 idle / per-stream lifetime limits), which
87
+ // undici surfaces as ERR_HTTP2_STREAM_ERROR — a mid-connection stream reset the
88
+ // reconnect loop can't recover from: it wedges (connected=false for 90s) → the
89
+ // liveness watchdog self-exits(1) → systemd restarts → a fresh session that may
90
+ // subscribe to a partial room-set. Observed fleet-wide (inst-clauron/henry/
91
+ // shakshuka-dev), 25 recorded flaps all with this signature. HTTP/1.1 keeps the SSE
92
+ // connection open indefinitely (nginx/ALB 3600s idle timeout + our heartbeats).
93
+ // Root-caused by Backend-Dev, 2026-08-04.
94
+ allowH2: false
84
95
  });
85
96
  const cursors = /* @__PURE__ */ new Map();
86
97
  let currentController = new AbortController();
@@ -296,7 +296,7 @@ async function startProxy(config) {
296
296
  console.error(`[kojee-mcp] Tandem memberships: ${tandemMembershipCount === -1 ? "unknown" : tandemMembershipCount}`);
297
297
  let server;
298
298
  const isHeadlessDaemon = !!process.env["KOJEE_HEADLESS"] || !!process.env["KOJEE_WEBHOOK_EXPECTED"];
299
- const { selectDelivery } = await import("./registry-KUVPZBB4.js");
299
+ const { selectDelivery } = await import("./registry-CRP2FZ2K.js");
300
300
  const delivery = selectDelivery(adapter.runtime, {
301
301
  supportsChannels: adapter.supportsChannels,
302
302
  headless: isHeadlessDaemon,
package/dist/cli.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-EIAUW6KO.js";
5
5
  import {
6
6
  startProxy
7
- } from "./chunk-FURFKXPF.js";
7
+ } from "./chunk-NB27RPXG.js";
8
8
  import "./chunk-CCVRXJJ2.js";
9
9
  import {
10
10
  pairedConfigPath
@@ -134,7 +134,7 @@ program.command("tail <path>").description("Stream a file's appends and follow (
134
134
  "--replay",
135
135
  "Replay the whole file from the start before following (default: follow from EOF, no replay)"
136
136
  ).action(async (filePath, opts) => {
137
- const { runTail } = await import("./tail-stream-LPOUQW2A.js");
137
+ const { runTail } = await import("./tail-stream-CLYQVDWM.js");
138
138
  try {
139
139
  await runTail(filePath, { wakeOnly: opts.wakeOnly === true, replay: opts.replay === true });
140
140
  } catch (err) {
@@ -11,7 +11,7 @@ import {
11
11
  startEventStream,
12
12
  statusReason,
13
13
  undiciFetch
14
- } from "./chunk-WNDYMWVI.js";
14
+ } from "./chunk-DIV6CXJ4.js";
15
15
  import "./chunk-Z5LPNJQ6.js";
16
16
  import "./chunk-MIEI4PLB.js";
17
17
  export {
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  listTandemIds,
3
3
  startProxy
4
- } from "./chunk-FURFKXPF.js";
4
+ } from "./chunk-NB27RPXG.js";
5
5
  import "./chunk-CCVRXJJ2.js";
6
6
  import "./chunk-TBVJOXIR.js";
7
7
  import "./chunk-Z5LPNJQ6.js";
package/dist/lib.js CHANGED
@@ -2,7 +2,7 @@ import {
2
2
  normalizeBackendEvent,
3
3
  sanitizeDisplayname,
4
4
  startEventStream
5
- } from "./chunk-WNDYMWVI.js";
5
+ } from "./chunk-DIV6CXJ4.js";
6
6
  import {
7
7
  resubscribeMemberships
8
8
  } from "./chunk-OT2GILXC.js";
@@ -125,7 +125,7 @@ function createClaudeCodeDelivery() {
125
125
  const { resubscribeMemberships } = await import("./resubscribe-G5OGDZJD.js");
126
126
  const { resolveWebhookConfig } = await import("./webhook-config-O4WMQ532.js");
127
127
  const { createWebhookSink } = await import("./webhook-sink-N6AUTFL3.js");
128
- const { startEventStream } = await import("./event-stream-L57IAFYG.js");
128
+ const { startEventStream } = await import("./event-stream-6LN5E5NM.js");
129
129
  const { createMcpServer } = await import("./server-VM3ZIGSZ.js");
130
130
  const { deriveDiscoveryKey } = await import("./ancestry-A2F5KQ6A.js");
131
131
  const { resolveSharedSessionId } = await import("./cc-session-id-NNCZCHZZ.js");
@@ -322,7 +322,7 @@ function createWebhookDelivery(name, pendingLedger) {
322
322
  const { resolveWebhookConfig } = await import("./webhook-config-O4WMQ532.js");
323
323
  const { createWebhookSink } = await import("./webhook-sink-N6AUTFL3.js");
324
324
  const { resubscribeMemberships } = await import("./resubscribe-G5OGDZJD.js");
325
- const { startEventStream } = await import("./event-stream-L57IAFYG.js");
325
+ const { startEventStream } = await import("./event-stream-6LN5E5NM.js");
326
326
  const { createMcpServer } = await import("./server-VM3ZIGSZ.js");
327
327
  sweepStaleEventLogs();
328
328
  eventLog = startEventLog({
@@ -515,7 +515,7 @@ function createOpenclawDelivery(deps = {}) {
515
515
  async start(ctx) {
516
516
  const { startEventLog, sweepStaleEventLogs } = await import("./event-log-M22X3FAI.js");
517
517
  const { resubscribeMemberships } = await import("./resubscribe-G5OGDZJD.js");
518
- const { startEventStream } = await import("./event-stream-L57IAFYG.js");
518
+ const { startEventStream } = await import("./event-stream-6LN5E5NM.js");
519
519
  const { createMcpServer } = await import("./server-VM3ZIGSZ.js");
520
520
  sweepStaleEventLogs();
521
521
  eventLog = startEventLog({
@@ -9,7 +9,7 @@ import {
9
9
  LOG_HEARTBEAT_INTERVAL_MS,
10
10
  UNARMED_FALLBACK_MS,
11
11
  createAdaptiveWatchdog
12
- } from "./chunk-WNDYMWVI.js";
12
+ } from "./chunk-DIV6CXJ4.js";
13
13
  import "./chunk-Z5LPNJQ6.js";
14
14
  import "./chunk-MIEI4PLB.js";
15
15
  import "./chunk-U5HHHRXA.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kojee-mcp",
3
- "version": "0.7.5-staging.13",
3
+ "version": "0.7.5-staging.14",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "exports": {