@interactive-inc/claude-funnel 0.58.1 → 0.59.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.
@@ -1,4 +1,4 @@
1
- import { t as ghConnectorSchema } from "./gh-connector-schema-DUcZgN2Q.js";
1
+ import { t as ghConnectorSchema } from "./gh-connector-schema-ClPLSYD9.js";
2
2
  import { t as NodeFunnelFileSystem } from "./node-file-system-BcrmWN9I.js";
3
3
  import { n as FunnelIdGenerator, t as FunnelSettingsReader } from "./settings-reader-DPqrpV7s.js";
4
4
  import { t as discordConnectorSchema } from "./discord-connector-schema-B_N6IXLz.js";
package/dist/gateway.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import { _ as connectorConnectionEventSchema, a as ConnectorConnectionStatus, c as ConnectorProcessedQuery, d as ConnectorRawEvent, f as ConnectorRawQuery, g as StoredRawEvent, h as StoredProcessedEvent, i as ConnectorConnectionRecord, l as ConnectorProcessedRecord, m as StoredConnectionEvent, n as ConnectorConnectionEvent, o as ConnectorDiagnosticLog, p as ConnectorRawRecord, r as ConnectorConnectionQuery, s as ConnectorProcessedEvent, t as CONNECTOR_CONNECTION_STATUSES, u as ConnectorQuery, v as connectorProcessedEventSchema, y as connectorRawEventSchema } from "./diagnostic-log-Cb3v8P7p.js";
2
- import { $ as PublishResult, J as MemoryFunnelEventLog, K as MemoryConnectorDiagnosticLog, Q as PublishResponse, X as FunnelChannelPublisher, Y as SqliteFunnelEventLog, Z as PublishRequest, _t as FunnelListenerSupervisor, at as ChannelWsUrlInput, bt as FunnelBroadcaster, ct as FunnelGatewayServer, dt as FunnelEventLog, et as publishRequestSchema, ft as FunnelEventRecord, gt as GatewayRouteDeps, ht as GatewayEmitInput, it as gatewayLoopbackUrl, lt as GatewayEventStore, mt as Env, nt as DEFAULT_GATEWAY_TOKEN_PATH, ot as channelWsProtocols, pt as funnelEventSchema, q as SqliteConnectorDiagnosticLog, rt as FunnelGatewayToken, st as channelWsUrl, t as GatewayApp, tt as publishResponseSchema, ut as FunnelEvent, vt as BroadcastEvent, xt as ReplayableEvent, yt as BroadcastSubscriber } from "./index-B9iyugar.js";
2
+ import { $ as PublishResponse, J as SqliteConnectorDiagnosticLog, Q as PublishRequest, St as ReplayableEvent, X as SqliteFunnelEventLog, Y as MemoryFunnelEventLog, Z as FunnelChannelPublisher, _t as GatewayRouteDeps, at as gatewayLoopbackUrl, bt as BroadcastSubscriber, ct as channelWsUrl, dt as FunnelEvent, et as PublishResult, ft as FunnelEventLog, gt as GatewayEmitInput, ht as Env, it as FunnelGatewayToken, lt as FunnelGatewayServer, mt as funnelEventSchema, nt as publishResponseSchema, ot as ChannelWsUrlInput, pt as FunnelEventRecord, q as MemoryConnectorDiagnosticLog, rt as DEFAULT_GATEWAY_TOKEN_PATH, st as channelWsProtocols, t as GatewayApp, tt as publishRequestSchema, ut as GatewayEventStore, vt as FunnelListenerSupervisor, xt as FunnelBroadcaster, yt as BroadcastEvent } from "./index-D7mjirUL.js";
3
3
  export { BroadcastEvent, BroadcastSubscriber, CONNECTOR_CONNECTION_STATUSES, ChannelWsUrlInput, ConnectorConnectionEvent, ConnectorConnectionQuery, ConnectorConnectionRecord, ConnectorConnectionStatus, ConnectorDiagnosticLog, ConnectorProcessedEvent, ConnectorProcessedQuery, ConnectorProcessedRecord, ConnectorQuery, ConnectorRawEvent, ConnectorRawQuery, ConnectorRawRecord, DEFAULT_GATEWAY_TOKEN_PATH, FunnelBroadcaster, FunnelChannelPublisher, FunnelEvent, FunnelEventLog, FunnelEventRecord, FunnelGatewayServer, FunnelGatewayToken, FunnelListenerSupervisor, type GatewayApp, type GatewayEmitInput, GatewayEventStore, type GatewayRouteDeps, type Env as GatewayServerEnv, MemoryConnectorDiagnosticLog, MemoryFunnelEventLog, PublishRequest, PublishResponse, PublishResult, ReplayableEvent, SqliteConnectorDiagnosticLog, SqliteFunnelEventLog, StoredConnectionEvent, StoredProcessedEvent, StoredRawEvent, channelWsProtocols, channelWsUrl, connectorConnectionEventSchema, connectorProcessedEventSchema, connectorRawEventSchema, funnelEventSchema, gatewayLoopbackUrl, publishRequestSchema, publishResponseSchema };
package/dist/gateway.js CHANGED
@@ -1,3 +1,3 @@
1
- import { t as gatewayLoopbackUrl } from "./gateway-base-url-6foMXfFf.js";
2
- import { S as publishResponseSchema, _ as funnelEventSchema, a as connectorConnectionEventSchema, b as FunnelChannelPublisher, c as MemoryFunnelEventLog, d as DEFAULT_GATEWAY_TOKEN_PATH, f as FunnelGatewayToken, g as FunnelEventLog, h as SqliteFunnelEventLog, i as ConnectorDiagnosticLog, l as channelWsProtocols, m as FunnelListenerSupervisor, n as SqliteConnectorDiagnosticLog, o as connectorProcessedEventSchema, p as FunnelGatewayServer, r as CONNECTOR_CONNECTION_STATUSES, s as connectorRawEventSchema, t as MemoryConnectorDiagnosticLog, u as channelWsUrl, v as FunnelBroadcaster, x as publishRequestSchema } from "./memory-diagnostic-log-5LzwJ_F7.js";
1
+ import { t as gatewayLoopbackUrl } from "./gateway-base-url-DxVjjDoW.js";
2
+ import { S as publishResponseSchema, _ as funnelEventSchema, a as connectorConnectionEventSchema, b as FunnelChannelPublisher, c as MemoryFunnelEventLog, d as DEFAULT_GATEWAY_TOKEN_PATH, f as FunnelGatewayToken, g as FunnelEventLog, h as SqliteFunnelEventLog, i as ConnectorDiagnosticLog, l as channelWsProtocols, m as FunnelListenerSupervisor, n as SqliteConnectorDiagnosticLog, o as connectorProcessedEventSchema, p as FunnelGatewayServer, r as CONNECTOR_CONNECTION_STATUSES, s as connectorRawEventSchema, t as MemoryConnectorDiagnosticLog, u as channelWsUrl, v as FunnelBroadcaster, x as publishRequestSchema } from "./memory-diagnostic-log-B9Us7X05.js";
3
3
  export { CONNECTOR_CONNECTION_STATUSES, ConnectorDiagnosticLog, DEFAULT_GATEWAY_TOKEN_PATH, FunnelBroadcaster, FunnelChannelPublisher, FunnelEventLog, FunnelGatewayServer, FunnelGatewayToken, FunnelListenerSupervisor, MemoryConnectorDiagnosticLog, MemoryFunnelEventLog, SqliteConnectorDiagnosticLog, SqliteFunnelEventLog, channelWsProtocols, channelWsUrl, connectorConnectionEventSchema, connectorProcessedEventSchema, connectorRawEventSchema, funnelEventSchema, gatewayLoopbackUrl, publishRequestSchema, publishResponseSchema };
@@ -10,7 +10,9 @@ import { z } from "zod";
10
10
  * callers do not branch on `process.platform`. `isAlive` checks whether a PID
11
11
  * names a live (non-zombie) process; `listProcessesContaining` enumerates
12
12
  * processes whose command line includes `marker`, used for funnel-gateway tag
13
- * matching across daemons that share a home dir.
13
+ * matching across daemons that share a home dir. `getStartTime` returns a
14
+ * stable string identifying when a PID was started, used to detect PID reuse
15
+ * after the original process died abnormally (no exit hook fired).
14
16
  */
15
17
  var FunnelProcessRunner = class {};
16
18
  //#endregion
@@ -145,6 +147,11 @@ var NodeFunnelProcessRunner = class extends FunnelProcessRunner {
145
147
  if (isWindows()) return this.listProcessesContainingWindows(marker);
146
148
  return this.listProcessesContainingPosix(marker);
147
149
  }
150
+ getStartTime(pid) {
151
+ if (!Number.isInteger(pid) || pid <= 0) return null;
152
+ if (isWindows()) return this.getStartTimeWindows(pid);
153
+ return this.getStartTimePosix(pid);
154
+ }
148
155
  isAlivePosix(pid) {
149
156
  const result = this.runSync([
150
157
  "ps",
@@ -195,6 +202,32 @@ var NodeFunnelProcessRunner = class extends FunnelProcessRunner {
195
202
  }
196
203
  return snapshots;
197
204
  }
205
+ getStartTimePosix(pid) {
206
+ const result = this.runSync([
207
+ "ps",
208
+ "-p",
209
+ String(pid),
210
+ "-o",
211
+ "lstart="
212
+ ]);
213
+ if (result.exitCode !== 0) return null;
214
+ const value = result.stdout.trim();
215
+ if (!value) return null;
216
+ return value;
217
+ }
218
+ getStartTimeWindows(pid) {
219
+ const script = `Get-CimInstance Win32_Process -Filter "ProcessId=${pid}" | Select-Object -ExpandProperty CreationDate | ForEach-Object { $_.ToString("o") }`;
220
+ const result = this.runSync([
221
+ "powershell",
222
+ "-NoProfile",
223
+ "-Command",
224
+ script
225
+ ]);
226
+ if (result.exitCode !== 0) return null;
227
+ const value = result.stdout.trim();
228
+ if (!value) return null;
229
+ return value;
230
+ }
198
231
  listProcessesContainingWindows(marker) {
199
232
  const result = this.runSync([
200
233
  "powershell",
@@ -1,6 +1,6 @@
1
1
  import { t as FunnelConnectorAdapter } from "./connector-adapter-qwXLjQId.js";
2
2
  import { t as FunnelConnectorListener } from "./connector-listener-CpHBecCj.js";
3
- import { n as NodeFunnelProcessRunner } from "./gh-connector-schema-DUcZgN2Q.js";
3
+ import { n as NodeFunnelProcessRunner } from "./gh-connector-schema-ClPLSYD9.js";
4
4
  import { z } from "zod";
5
5
  //#region lib/engine/connectors/gh-adapter.ts
6
6
  const defaultProcess$1 = new NodeFunnelProcessRunner();