@interactive-inc/claude-funnel 0.66.0 → 0.68.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 (97) hide show
  1. package/README.md +31 -6
  2. package/dist/bin.js +292 -383
  3. package/dist/channel.d.ts +76 -52
  4. package/dist/channel.js +82 -47
  5. package/dist/{channels-DR90RmUP.d.ts → channels-B0cifCfw.d.ts} +6 -6
  6. package/dist/claude.d.ts +11 -8
  7. package/dist/claude.js +31 -15
  8. package/dist/connector-descriptor-D4XtEsH8.d.ts +215 -0
  9. package/dist/{connector-diagnostics-recorder-COtNEmUp.js → connector-diagnostics-recorder-BmOijU1p.js} +1 -0
  10. package/dist/connectors/discord.d.ts +11 -8
  11. package/dist/connectors/discord.js +2 -2
  12. package/dist/connectors/gh.d.ts +7 -6
  13. package/dist/connectors/gh.js +2 -2
  14. package/dist/connectors/schedule.d.ts +21 -17
  15. package/dist/connectors/schedule.js +3 -3
  16. package/dist/connectors/slack.d.ts +15 -10
  17. package/dist/connectors/slack.js +3 -3
  18. package/dist/diagnostic-event-CxMM5Bl2.js +78 -0
  19. package/dist/diagnostic-log-BsAg5qZK.d.ts +186 -0
  20. package/dist/diagnostics.d.ts +2 -2
  21. package/dist/diagnostics.js +3 -2
  22. package/dist/{discord-connector-DXARcO6w.js → discord-connector-CAcWifJn.js} +6 -6
  23. package/dist/{discord-connector-schema-D1dyxhXk.d.ts → discord-connector-schema-BaBZYHxK.d.ts} +0 -1
  24. package/dist/docs.d.ts +1 -1
  25. package/dist/docs.js +1 -1
  26. package/dist/doctor.d.ts +1 -1
  27. package/dist/doctor.js +1 -1
  28. package/dist/event-log.d.ts +2 -0
  29. package/dist/event-log.js +3 -0
  30. package/dist/{file-process-guard-CiBwXjzm.d.ts → file-process-guard-D-QatrwL.d.ts} +22 -18
  31. package/dist/{file-system-DHgbuTFb.d.ts → file-system-BNtl997T.d.ts} +2 -1
  32. package/dist/{flume-source-listener-FzR5lGpL.d.ts → flume-source-listener-Ba8_1Mg-.d.ts} +9 -6
  33. package/dist/{funnel-diagnostics-Cvk6Sk4x.js → funnel-diagnostics-CAG7hJP0.js} +85 -141
  34. package/dist/{funnel-diagnostics-kbd27d7I.d.ts → funnel-diagnostics-CDrZznTB.d.ts} +18 -18
  35. package/dist/{funnel-docs-C-ge0MuB.js → funnel-docs-CI4hMkhq.js} +12 -3
  36. package/dist/{funnel-doctor-CVTNUtDn.d.ts → funnel-doctor-CY4S5cnz.d.ts} +20 -9
  37. package/dist/{funnel-doctor-XrI2GBH8.js → funnel-doctor-Csw5qjcH.js} +1 -0
  38. package/dist/{funnel-error-0t1MK1R6.js → funnel-error-DoSBCogD.js} +13 -0
  39. package/dist/{funnel-recovery-D8MkiTpk.d.ts → funnel-recovery-BwcSNNSN.d.ts} +1 -2
  40. package/dist/{funnel-recovery-DKnEutUS.js → funnel-recovery-DYbSYGWC.js} +1 -0
  41. package/dist/gateway/daemon.js +60 -139
  42. package/dist/gateway.d.ts +2 -3
  43. package/dist/gateway.js +2 -2
  44. package/dist/{gh-connector-BUGCOEWS.js → gh-connector-DMwI6zJA.js} +5 -5
  45. package/dist/{gh-connector-schema-BCHEqpUg.d.ts → gh-connector-schema-BrNsCl1T.d.ts} +0 -1
  46. package/dist/{index-BU1TtuFy.d.ts → index-fHrKn4jm.d.ts} +210 -40
  47. package/dist/index.d.ts +125 -115
  48. package/dist/index.js +242 -57
  49. package/dist/{local-config-json-schema-DexV8vX3.js → local-config-json-schema-_-YVHX4c.js} +4 -4
  50. package/dist/local-config.d.ts +2 -3
  51. package/dist/local-config.js +1 -1
  52. package/dist/logger.d.ts +17 -265
  53. package/dist/logger.js +6 -141
  54. package/dist/memory-event-log-BY8XjFzi.js +147 -0
  55. package/dist/{memory-token-prompter-D0kIdhar.d.ts → memory-token-prompter-B20tl_aU.d.ts} +2 -3
  56. package/dist/{node-file-system-BOXIHW_Q.js → node-file-system-xJx7dymE.js} +11 -3
  57. package/dist/{profiles-M24JrcOh.d.ts → profiles-CePRnv3F.d.ts} +3 -4
  58. package/dist/{profiles-ZHLONml4.js → profiles-KpN7_gBw.js} +19 -5
  59. package/dist/profiles.d.ts +1 -1
  60. package/dist/profiles.js +1 -1
  61. package/dist/recovery.d.ts +1 -1
  62. package/dist/recovery.js +1 -1
  63. package/dist/{schedule-connector-9k3gOIgl.js → schedule-connector-BXUOYgwZ.js} +63 -99
  64. package/dist/schedule-connector-schema-CNV8PgWX.js +137 -0
  65. package/dist/schedule-connector-schema-Tq5kJul-.d.ts +127 -0
  66. package/dist/{settings-reader-BnKIbmsD.d.ts → settings-reader-CyTpbAre.d.ts} +1 -2
  67. package/dist/{settings-schema-IShSMm5G.d.ts → settings-schema-B-CKLuST.d.ts} +0 -1
  68. package/dist/{settings-store-ccv291GV.js → settings-store-ZFWBhOnp.js} +12 -3
  69. package/dist/{slack-connector-CxpWagbT.js → slack-connector-CC3V2VXQ.js} +10 -9
  70. package/dist/{slack-event-processor-xFDG3US0.js → slack-event-processor-Cs_YuI3w.js} +2 -2
  71. package/dist/{slack-event-processor-BDTr62cN.d.ts → slack-event-processor-DmAlq4cV.d.ts} +0 -1
  72. package/dist/{slot-fields-D-pvMgTK.js → slot-fields-eCWizJqS.js} +4 -4
  73. package/dist/{sqlite-diagnostic-log-CwhXE9Qh.js → sqlite-diagnostic-log-Qs4cf9I_.js} +92 -100
  74. package/dist/sqlite-event-log-BYgCFMxC.d.ts +284 -0
  75. package/dist/{funnel-log-sqlite-sink-DLYkY0pZ.js → sqlite-event-log-eZuXKszJ.js} +53 -12
  76. package/dist/{yaml-render-DVEtYuF1.js → yaml-render-DxxRQT-V.js} +3 -3
  77. package/package.json +25 -10
  78. package/dist/broadcaster-DVNcw00K.d.ts +0 -138
  79. package/dist/connector-descriptor-CmyHlEiT.d.ts +0 -380
  80. package/dist/diagnostic-sql-reader-oXZnWFf_.js +0 -83
  81. package/dist/file-system-Wvzc2ePY.js +0 -9
  82. package/dist/logger-B6iyNbxM.js +0 -9
  83. package/dist/schedule-connector-schema-D7ZEKvit.d.ts +0 -49
  84. package/dist/schedule-connector-schema-DKEPZnVv.js +0 -31
  85. package/dist/settings-reader-9FcX3qS1.js +0 -11
  86. /package/dist/{connector-adapter-Dvs8N7ew.js → connector-adapter-BL2ehMej.js} +0 -0
  87. /package/dist/{connector-listener-mPGZYa8e.js → connector-listener-BcQMzY6Q.js} +0 -0
  88. /package/dist/{discord-connector-schema-B4YpWpR3.js → discord-connector-schema-saAGuPmJ.js} +0 -0
  89. /package/dist/{error-message-of-ColuYmAk.js → error-message-of-BG4ezZ_s.js} +0 -0
  90. /package/dist/{funnel-docs-Cd66sKyV.d.ts → funnel-docs-BJWawfWI.d.ts} +0 -0
  91. /package/dist/{gh-connector-schema-CAqIhzGr.js → gh-connector-schema-DmZTrzUu.js} +0 -0
  92. /package/dist/{logger-Bc_Ooypb.d.ts → logger-mMZvblTx.d.ts} +0 -0
  93. /package/dist/{loopback-fetch-CVNuN3YZ.js → loopback-fetch-HP-bo9Kv.js} +0 -0
  94. /package/dist/{node-http-client-u00atiKx.js → node-http-client-SX3xFh4h.js} +0 -0
  95. /package/dist/{node-process-runner-DxTvycoK.js → node-process-runner-D4rzPl8Q.js} +0 -0
  96. /package/dist/{resolve-connector-token-DxDG9mhf.js → resolve-connector-token-BwiJCu82.js} +0 -0
  97. /package/dist/{slack-connector-schema-Dem8to4P.js → slack-connector-schema-EGVuuqSX.js} +0 -0
package/dist/index.d.ts CHANGED
@@ -1,29 +1,25 @@
1
- import { n as FunnelClock, t as FunnelLogger } from "./logger-Bc_Ooypb.js";
2
- import { n as FunnelFileSystem, t as FileStat } from "./file-system-DHgbuTFb.js";
3
- import { a as OnFunnelError, i as ReplayableEvent, n as BroadcastSubscriber, r as FunnelBroadcaster, t as BroadcastEvent } from "./broadcaster-DVNcw00K.js";
4
- import { a as Settings, c as profileConfigSchema, i as SETTINGS_VERSION, l as settingsSchema, n as ChannelDeliveryMode, o as channelConfigSchema, r as ProfileConfig, s as channelDeliveryModeSchema, t as ChannelConfig } from "./settings-schema-IShSMm5G.js";
5
- import { n as FunnelClaude, t as FunnelFileProcessGuard } from "./file-process-guard-CiBwXjzm.js";
6
- import { n as FunnelIdGenerator, t as FunnelSettingsReader } from "./settings-reader-BnKIbmsD.js";
7
- import { A as FunnelConnectorListener, B as ProcessSnapshot, C as ConnectorRawRecord, D as connectorConnectionEventSchema, E as StoredRawEvent, F as BaseConnectorConfig, H as RunResult, I as baseConnectorConfigSchema, L as AttachOptions, M as CallInput, N as FunnelConnectorAdapter, O as connectorProcessedEventSchema, P as JsonValue, R as DetachOptions, S as ConnectorRawQuery, T as StoredProcessedEvent, V as RunOptions, _ as ConnectorProcessedEvent, a as ConnectorOperation, b as ConnectorQuery, c as FunnelHttpClient, d as CONNECTOR_CONNECTION_STATUSES, f as ConnectorConnectionEvent, g as ConnectorDiagnosticLog, h as ConnectorConnectionStatus, i as ConnectorListenerDeps, j as NotifyFn, k as connectorRawEventSchema, l as HttpRequest, m as ConnectorConnectionRecord, n as ConnectorBuildContext, o as ConnectorOperationContext, p as ConnectorConnectionQuery, r as ConnectorDescriptor, s as ConnectorUpdateContext, t as ConnectorAdapterDeps, u as HttpResponse, v as ConnectorProcessedQuery, w as StoredConnectionEvent, x as ConnectorRawEvent, y as ConnectorProcessedRecord, z as FunnelProcessRunner } from "./connector-descriptor-CmyHlEiT.js";
8
- import { t as FunnelProfiles } from "./profiles-M24JrcOh.js";
9
- import { a as DiagnosticsGatewayProbe, c as FunnelDiagnostics, d as DiagnosticEvent, f as previewOf, g as ConnectorDiagnosticSqlReader, h as toDiagnosticEvent, i as DiagnosticsChannelSource, l as ReplayResult, m as toDiagnosticConnectionError, n as DiagnoseAllReport, o as DiagnosticsPublisher, p as queryRows, r as DiagnosisStatus, s as DiagnosticsTokenReader, t as ChannelDiagnosis, u as DiagnosticConnectionError } from "./funnel-diagnostics-kbd27d7I.js";
10
- import { n as FunnelDocs, t as DocsTopicListing } from "./funnel-docs-Cd66sKyV.js";
11
- import { a as RecoveryListenerControl, i as RecoveryGatewayControl, n as RecoveryAction, o as RecoveryResult, r as RecoveryChannelSource, t as FunnelRecovery } from "./funnel-recovery-D8MkiTpk.js";
12
- import { n as DoctorReport, r as FunnelDoctor, t as DoctorFixMode } from "./funnel-doctor-CVTNUtDn.js";
13
- import { n as discordConnectorSchema, t as DiscordConnectorConfig } from "./discord-connector-schema-D1dyxhXk.js";
14
- import { n as ghConnectorSchema, t as GhConnectorConfig } from "./gh-connector-schema-BCHEqpUg.js";
15
- import { a as scheduleConnectorSchema, i as scheduleCatchupPolicySchema, n as ScheduleConnectorConfig, o as scheduleEntrySchema, r as ScheduleEntry, t as ScheduleCatchupPolicy } from "./schedule-connector-schema-D7ZEKvit.js";
16
- import { a as SlackRawEvent, c as SlackMessageEvent, d as slackConnectorSchema, i as SlackProcessedSkip, l as SlackReactionEvent, n as SlackProcessed, o as SlackSkipReason, r as SlackProcessedEmit, s as SlackEvent, t as FunnelSlackEventProcessor, u as SlackConnectorConfig } from "./slack-event-processor-BDTr62cN.js";
17
- import { i as FunnelConnectorRegistry, n as ChannelConnectorView, r as FunnelChannels, t as AddConnectorInput } from "./channels-DR90RmUP.js";
18
- import { C as funnelEventSchema, D as FunnelListenerRegistry, E as GatewayRouteDeps, S as FunnelEventRecord, T as GatewayEmitInput, _ as channelWsUrl, a as SqliteFunnelEventLog, b as FunnelEvent, c as PublishResponse, d as publishResponseSchema, f as DEFAULT_GATEWAY_TOKEN_PATH, g as channelWsProtocols, h as ChannelWsUrlInput, i as MemoryFunnelEventLog, l as PublishResult, m as gatewayLoopbackUrl, n as MemoryConnectorDiagnosticLog, o as FunnelChannelPublisher, p as FunnelGatewayToken, r as SqliteConnectorDiagnosticLog, s as PublishRequest, t as GatewayApp, u as publishRequestSchema, v as FunnelGatewayServer, w as Env$1, x as FunnelEventLog, y as GatewayEventStore } from "./index-BU1TtuFy.js";
19
- import { i as FunnelLocalConfigSync, n as NodeFunnelTokenPrompter, o as FunnelTokenPrompter, s as FunnelLocalConfig, t as MemoryFunnelTokenPrompter } from "./memory-token-prompter-D0kIdhar.js";
1
+ import { n as FunnelClock, t as FunnelLogger } from "./logger-mMZvblTx.js";
2
+ import { n as FunnelFileSystem, t as FileStat } from "./file-system-BNtl997T.js";
3
+ import { a as Settings, c as profileConfigSchema, i as SETTINGS_VERSION, l as settingsSchema, n as ChannelDeliveryMode, o as channelConfigSchema, r as ProfileConfig, s as channelDeliveryModeSchema, t as ChannelConfig } from "./settings-schema-B-CKLuST.js";
4
+ import { n as FunnelClaude, t as FunnelFileProcessGuard } from "./file-process-guard-D-QatrwL.js";
5
+ import { n as FunnelIdGenerator, t as FunnelSettingsReader } from "./settings-reader-CyTpbAre.js";
6
+ import { C as RunResult, S as RunOptions, _ as baseConnectorConfigSchema, a as ConnectorOperation, b as FunnelProcessRunner, c as FunnelHttpClient, d as FunnelConnectorListener, f as NotifyFn, g as BaseConnectorConfig, h as JsonValue, i as ConnectorListenerDeps, l as HttpRequest, m as FunnelConnectorAdapter, n as ConnectorBuildContext, o as ConnectorOperationContext, p as CallInput, r as ConnectorDescriptor, s as ConnectorUpdateContext, t as ConnectorAdapterDeps, u as HttpResponse, v as AttachOptions, x as ProcessSnapshot, y as DetachOptions } from "./connector-descriptor-D4XtEsH8.js";
7
+ 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-BsAg5qZK.js";
8
+ import { t as FunnelProfiles } from "./profiles-CePRnv3F.js";
9
+ import { _ as toDiagnosticConnectionError, a as DiagnosticsGatewayProbe, c as FunnelDiagnostics, d as DiagnosticEvent, f as diagnosticConnectionEventOf, g as queryRows, h as previewOf, i as DiagnosticsChannelSource, l as ReplayResult, m as diagnosticEventOfRaw, n as DiagnoseAllReport, o as DiagnosticsPublisher, p as diagnosticEventOfProcessed, r as DiagnosisStatus, s as DiagnosticsTokenReader, t as ChannelDiagnosis, u as DiagnosticConnectionError, v as toDiagnosticEvent, y as ConnectorDiagnosticSqlReader } from "./funnel-diagnostics-CDrZznTB.js";
10
+ import { n as FunnelDocs, t as DocsTopicListing } from "./funnel-docs-BJWawfWI.js";
11
+ import { a as RecoveryListenerControl, i as RecoveryGatewayControl, n as RecoveryAction, o as RecoveryResult, r as RecoveryChannelSource, t as FunnelRecovery } from "./funnel-recovery-BwcSNNSN.js";
12
+ import { n as DoctorReport, r as FunnelDoctor, t as DoctorFixMode } from "./funnel-doctor-CY4S5cnz.js";
13
+ import { n as discordConnectorSchema, t as DiscordConnectorConfig } from "./discord-connector-schema-BaBZYHxK.js";
14
+ import { n as ghConnectorSchema, t as GhConnectorConfig } from "./gh-connector-schema-BrNsCl1T.js";
15
+ import { a as ScheduleEntry, c as cronScheduleEntrySchema, d as scheduleConnectorSchema, f as scheduleEntryInputSchema, i as ScheduleConnectorConfig, l as onceScheduleEntrySchema, n as OnceScheduleEntry, o as ScheduleEntryInput, p as scheduleEntrySchema, r as ScheduleCatchupPolicy, s as cronExpressionSchema, t as CronScheduleEntry, u as scheduleCatchupPolicySchema } from "./schedule-connector-schema-Tq5kJul-.js";
16
+ import { a as SlackRawEvent, c as SlackMessageEvent, d as slackConnectorSchema, i as SlackProcessedSkip, l as SlackReactionEvent, n as SlackProcessed, o as SlackSkipReason, r as SlackProcessedEmit, s as SlackEvent, t as FunnelSlackEventProcessor, u as SlackConnectorConfig } from "./slack-event-processor-DmAlq4cV.js";
17
+ import { i as FunnelConnectorRegistry, n as ChannelConnectorView, r as FunnelChannels, t as AddConnectorInput } from "./channels-B0cifCfw.js";
18
+ import { A as FunnelBroadcaster, C as funnelEventSchema, D as FunnelListenerRegistry, E as GatewayRouteDeps, M as OnFunnelError, O as BroadcastEvent, S as FunnelEventRecord, T as GatewayEmitInput, _ as channelWsUrl, a as SqliteFunnelEventLog, b as FunnelEvent, c as PublishResponse, d as publishResponseSchema, f as DEFAULT_GATEWAY_TOKEN_PATH, g as channelWsProtocols, h as ChannelWsUrlInput, i as MemoryFunnelEventLog, j as ReplayableEvent, k as BroadcastSubscriber, l as PublishResult, m as gatewayLoopbackUrl, n as MemoryConnectorDiagnosticLog, o as FunnelChannelPublisher, p as FunnelGatewayToken, r as SqliteConnectorDiagnosticLog, s as PublishRequest, t as GatewayApp, u as publishRequestSchema, v as FunnelGatewayServer, w as Env$1, x as FunnelEventLog, y as GatewayEventStore } from "./index-fHrKn4jm.js";
19
+ import { i as FunnelLocalConfigSync, n as NodeFunnelTokenPrompter, o as FunnelTokenPrompter, s as FunnelLocalConfig, t as MemoryFunnelTokenPrompter } from "./memory-token-prompter-B20tl_aU.js";
20
20
  import { hc } from "hono/client";
21
21
  import { z } from "zod";
22
- import * as _$hono_factory0 from "hono/factory";
23
22
  import { Hono } from "hono";
24
- import * as _$hono_utils_http_status0 from "hono/utils/http-status";
25
- import * as _$hono_hono_base0 from "hono/hono-base";
26
-
27
23
  //#region lib/gateway/gateway.d.ts
28
24
  type Deps$3 = {
29
25
  process?: FunnelProcessRunner;
@@ -82,7 +78,8 @@ declare class FunnelGateway {
82
78
  //#region lib/gateway/listeners-client.d.ts
83
79
  type Deps$2 = {
84
80
  port: number;
85
- isDaemonRunning: () => boolean; /** Returns the daemon's gateway token, or null if unavailable. Sent as `Authorization: Bearer`. */
81
+ isDaemonRunning: () => boolean;
82
+ /** Returns the daemon's gateway token, or null if unavailable. Sent as `Authorization: Bearer`. */
86
83
  getToken?: () => string | null;
87
84
  };
88
85
  declare const listenerEntrySchema: z.ZodObject<{
@@ -133,13 +130,21 @@ declare class FunnelListenersClient {
133
130
  //#endregion
134
131
  //#region lib/funnel.d.ts
135
132
  type Props$4 = {
136
- /** Settings persistence (channels with nested connectors / profiles). Defaults to a FunnelSettingsStore rooted at `dir`. */store?: FunnelSettingsReader; /** Filesystem boundary. Replace with MemoryFunnelFileSystem to sandbox all disk I/O. */
137
- fs?: FunnelFileSystem; /** Process runner used by gateway / claude / gh listener. Replace with MemoryFunnelProcessRunner for tests. */
138
- process?: FunnelProcessRunner; /** Logger flowed into every facet. Replace with MemoryFunnelLogger or NoopFunnelLogger to silence/inspect. */
139
- logger?: FunnelLogger; /** Clock used by schedule listener, gh poll watermarks, and gateway timeouts. */
140
- clock?: FunnelClock; /** ID generator for channel and connector ids. Use MemoryFunnelIdGenerator for deterministic tests. */
141
- idGenerator?: FunnelIdGenerator; /** Funnel home directory (settings.json + per-channel/per-connector dirs). Defaults to ~/.funnel. */
142
- dir?: string; /** Temp / runtime directory (gateway logs and PID adjacent files). Defaults to `<os.tmpdir()>/funnel`. */
133
+ /** Settings persistence (channels with nested connectors / profiles). Defaults to a FunnelSettingsStore rooted at `dir`. */
134
+ store?: FunnelSettingsReader;
135
+ /** Filesystem boundary. Replace with MemoryFunnelFileSystem to sandbox all disk I/O. */
136
+ fs?: FunnelFileSystem;
137
+ /** Process runner used by gateway / claude / gh listener. Replace with MemoryFunnelProcessRunner for tests. */
138
+ process?: FunnelProcessRunner;
139
+ /** Logger flowed into every facet. Replace with MemoryFunnelLogger or NoopFunnelLogger to silence/inspect. */
140
+ logger?: FunnelLogger;
141
+ /** Clock used by schedule listener, gh poll watermarks, and gateway timeouts. */
142
+ clock?: FunnelClock;
143
+ /** ID generator for channel and connector ids. Use MemoryFunnelIdGenerator for deterministic tests. */
144
+ idGenerator?: FunnelIdGenerator;
145
+ /** Funnel home directory (settings.json + per-channel/per-connector dirs). Defaults to ~/.funnel. */
146
+ dir?: string;
147
+ /** Temp / runtime directory (gateway logs and PID adjacent files). Defaults to `<os.tmpdir()>/funnel`. */
143
148
  tmpDir?: string;
144
149
  /**
145
150
  * Connector types this funnel handles, passed as descriptors. Core imports no
@@ -153,9 +158,10 @@ type Props$4 = {
153
158
  connectors?: ConnectorDescriptor[];
154
159
  /**
155
160
  * Diagnostic log of inbound connector traffic (raw events before filtering
156
- * and the processor's verdict after). Threaded into listeners that record
157
- * it. Only the gateway daemon injects a `SqliteConnectorDiagnosticLog`; everywhere
158
- * else this stays absent and recording is a no-op.
161
+ * and the processor's verdict after). The same instance is threaded into
162
+ * listeners for writes and `funnel.diagnostics` for reads, so custom storage
163
+ * paths remain opaque to the service layer. Omit it to disable event
164
+ * diagnostics for this facade.
159
165
  */
160
166
  diagnosticLog?: ConnectorDiagnosticLog;
161
167
  /**
@@ -197,7 +203,8 @@ type GatewayServerOptions = GatewayEventStore & {
197
203
  port?: number;
198
204
  hostname?: string;
199
205
  killCompetingSlack?: boolean;
200
- token?: string; /** Permit a non-loopback `hostname` without a token. See FunnelGatewayServer. */
206
+ token?: string;
207
+ /** Permit a non-loopback `hostname` without a token. See FunnelGatewayServer. */
201
208
  allowInsecureHost?: boolean;
202
209
  extraRoutes?: Hono<Env$1>;
203
210
  };
@@ -246,6 +253,7 @@ declare class Funnel {
246
253
  private readonly clock;
247
254
  private readonly http;
248
255
  private readonly onError;
256
+ private readonly diagnosticLog;
249
257
  constructor(props?: Props$4);
250
258
  /**
251
259
  * Sandboxed Funnel wired with in-memory implementations for every IO
@@ -656,7 +664,8 @@ declare class FunnelTokenCollisionError extends FunnelError {
656
664
  //#region lib/gateway/service-routes.d.ts
657
665
  type Deps = {
658
666
  diagnostics: FunnelDiagnostics;
659
- doctor: FunnelDoctor; /** Bearer token to gate every endpoint. Empty string disables auth (tests only). */
667
+ doctor: FunnelDoctor;
668
+ /** Bearer token to gate every endpoint. Empty string disables auth (tests only). */
660
669
  token: string;
661
670
  };
662
671
  /**
@@ -679,7 +688,7 @@ type Env = {
679
688
  localConfigSync: FunnelLocalConfigSync;
680
689
  };
681
690
  };
682
- declare const factory: _$hono_factory0.Factory<Env, string>;
691
+ declare const factory: import("hono/factory").Factory<Env, string>;
683
692
  //#endregion
684
693
  //#region lib/cli/router/to-request.d.ts
685
694
  declare const toRequest: (args: string[]) => {
@@ -692,7 +701,7 @@ declare const toRequest: (args: string[]) => {
692
701
  declare const queryToCliArgs: (url: string, reservedKeys?: string[]) => string[];
693
702
  //#endregion
694
703
  //#region lib/cli/routes/index.d.ts
695
- declare const routes: _$hono_hono_base0.HonoBase<Env, {
704
+ declare const routes: import("hono/hono-base").HonoBase<Env, {
696
705
  "/claude": {
697
706
  $get: {
698
707
  input: {
@@ -704,7 +713,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
704
713
  };
705
714
  output: "funnel claude — launch Claude Code\n\nusage:\n funnel claude launch the first channel from funnel.json, or the default profile\n funnel claude --channel <name> with funnel.json: select that channel; without: raw launch\n funnel claude -p <name> launch a named profile\n funnel claude --profile <name> (long form)\n funnel claude [...] any other argument is forwarded to the claude CLI\n\nresolution order:\n 1. --help print this help\n 2. --profile <name> named profile (ignores funnel.json)\n 3. ./funnel.json in the current directory + --channel selects (or first wins)\n 4. --channel <name> with no funnel.json → raw launch using an existing settings.json channel\n 5. the default profile (first entry in fnl profiles)\n\nfunnel-specific options (everything else passes through to claude verbatim):\n -p, --profile profile name to launch\n --channel channel name (selects from funnel.json, or raw-launches if no funnel.json)\n -h, --help show this help\n\nPositional args, unknown short flags (e.g. -c, -r), and claude's own flags\n(--agent, --resume, --model, --print, --output-format ...) are all forwarded.\nOn launch the FUNNEL_CHANNEL_ID env var is set and MCP connects to the gateway.\n\nsee also:\n fnl docs claude full resolution order, side effects, double-launch guard\n fnl docs mcp what the MCP server exposes once Claude is up\n fnl docs debugging the diagnose → recover → verify loop\n\nprogrammable: funnel.claude.launch({ profileId | channelId, options, env, resume })";
706
715
  outputFormat: "text";
707
- status: _$hono_utils_http_status0.ContentfulStatusCode;
716
+ status: import("hono/utils/http-status").ContentfulStatusCode;
708
717
  };
709
718
  };
710
719
  } & {
@@ -713,7 +722,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
713
722
  input: {};
714
723
  output: string;
715
724
  outputFormat: "text";
716
- status: _$hono_utils_http_status0.ContentfulStatusCode;
725
+ status: import("hono/utils/http-status").ContentfulStatusCode;
717
726
  };
718
727
  };
719
728
  } & {
@@ -722,7 +731,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
722
731
  input: {};
723
732
  output: "funnel channels add — add a channel\n\nusage: funnel channels add <name> [--delivery fanout|exclusive]\n\noptions:\n --delivery routing mode (default fanout):\n fanout every connected client receives every event\n exclusive each event delivered to exactly one client (round-robin)\n\nA channel is a named event stream. After creating it, add connectors\n(Slack, Discord, GitHub, schedule) to feed events into it, then connect\nClaude Code clients to consume them.\n\nexamples:\n funnel channels add production\n funnel channels add ci-events --delivery exclusive\n\nsee also: funnel channels, funnel channels <name> connectors add";
724
733
  outputFormat: "text";
725
- status: _$hono_utils_http_status0.ContentfulStatusCode;
734
+ status: import("hono/utils/http-status").ContentfulStatusCode;
726
735
  };
727
736
  };
728
737
  } & {
@@ -739,7 +748,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
739
748
  };
740
749
  output: `added channel "${string}" (id: ${string})`;
741
750
  outputFormat: "text";
742
- status: _$hono_utils_http_status0.ContentfulStatusCode;
751
+ status: import("hono/utils/http-status").ContentfulStatusCode;
743
752
  };
744
753
  };
745
754
  } & {
@@ -748,7 +757,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
748
757
  input: {};
749
758
  output: "funnel channels remove — remove a channel and all its connectors\n\nusage: funnel channels remove <name>\n\nThe channel, its connectors, and their schedules are deleted from the\nconfiguration file. The gateway drops the channel on the next reload.\nNo external resources (Slack apps, Discord bots, etc.) are touched.\n\nexamples:\n funnel channels remove staging\n\nsee also: funnel channels, funnel channels add";
750
759
  outputFormat: "text";
751
- status: _$hono_utils_http_status0.ContentfulStatusCode;
760
+ status: import("hono/utils/http-status").ContentfulStatusCode;
752
761
  };
753
762
  };
754
763
  } & {
@@ -763,7 +772,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
763
772
  };
764
773
  output: `removed channel "${string}"`;
765
774
  outputFormat: "text";
766
- status: _$hono_utils_http_status0.ContentfulStatusCode;
775
+ status: import("hono/utils/http-status").ContentfulStatusCode;
767
776
  };
768
777
  };
769
778
  } & {
@@ -779,7 +788,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
779
788
  };
780
789
  output: `renamed channel "${string}" to "${string}"`;
781
790
  outputFormat: "text";
782
- status: _$hono_utils_http_status0.ContentfulStatusCode;
791
+ status: import("hono/utils/http-status").ContentfulStatusCode;
783
792
  };
784
793
  };
785
794
  } & {
@@ -795,7 +804,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
795
804
  };
796
805
  output: `renamed channel "${string}" to "${string}"`;
797
806
  outputFormat: "text";
798
- status: _$hono_utils_http_status0.ContentfulStatusCode;
807
+ status: import("hono/utils/http-status").ContentfulStatusCode;
799
808
  };
800
809
  };
801
810
  } & {
@@ -804,7 +813,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
804
813
  input: {};
805
814
  output: "funnel channels rename — rename a channel\n\nusage:\n funnel channels rename <old-channel-name> <new-channel-name>\n funnel channels <old-channel-name> rename <new-channel-name>\n\nRenames the channel in the configuration file. Connectors, schedules,\nand delivery mode are preserved. The gateway picks up the new name on\nthe next reload.\n\nexamples:\n funnel channels rename staging production\n funnel channels staging rename production\n\nsee also: funnel channels, funnel channels <name>";
806
815
  outputFormat: "text";
807
- status: _$hono_utils_http_status0.ContentfulStatusCode;
816
+ status: import("hono/utils/http-status").ContentfulStatusCode;
808
817
  };
809
818
  };
810
819
  } & {
@@ -817,7 +826,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
817
826
  };
818
827
  output: "funnel channels rename — rename a channel\n\nusage:\n funnel channels rename <old-channel-name> <new-channel-name>\n funnel channels <old-channel-name> rename <new-channel-name>\n\nRenames the channel in the configuration file. Connectors, schedules,\nand delivery mode are preserved. The gateway picks up the new name on\nthe next reload.\n\nexamples:\n funnel channels rename staging production\n funnel channels staging rename production\n\nsee also: funnel channels, funnel channels <name>";
819
828
  outputFormat: "text";
820
- status: _$hono_utils_http_status0.ContentfulStatusCode;
829
+ status: import("hono/utils/http-status").ContentfulStatusCode;
821
830
  };
822
831
  };
823
832
  } & {
@@ -831,7 +840,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
831
840
  };
832
841
  output: `channel "${string}" delivery set to fanout` | `channel "${string}" delivery set to exclusive`;
833
842
  outputFormat: "text";
834
- status: _$hono_utils_http_status0.ContentfulStatusCode;
843
+ status: import("hono/utils/http-status").ContentfulStatusCode;
835
844
  };
836
845
  };
837
846
  } & {
@@ -840,7 +849,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
840
849
  input: {};
841
850
  output: "funnel channels <channel> publish — push arbitrary content into a channel\n\nusage: funnel channels <channel> publish --content=\"<text>\" [--connector=<name>] [--meta-<key>=<value> ...]\n\noptions:\n --content Required. The event body delivered to subscribers.\n --connector Optional. Stamp the event with a connector name (resolved to id when found).\n --meta-<key> Optional. Repeatable. Added to meta. Example: --meta-source=cron";
842
851
  outputFormat: "text";
843
- status: _$hono_utils_http_status0.ContentfulStatusCode;
852
+ status: import("hono/utils/http-status").ContentfulStatusCode;
844
853
  };
845
854
  };
846
855
  } & {
@@ -859,7 +868,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
859
868
  };
860
869
  output: `published (offset=${number})`;
861
870
  outputFormat: "text";
862
- status: _$hono_utils_http_status0.ContentfulStatusCode;
871
+ status: import("hono/utils/http-status").ContentfulStatusCode;
863
872
  };
864
873
  };
865
874
  } & {
@@ -874,7 +883,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
874
883
  };
875
884
  output: string;
876
885
  outputFormat: "text";
877
- status: _$hono_utils_http_status0.ContentfulStatusCode;
886
+ status: import("hono/utils/http-status").ContentfulStatusCode;
878
887
  };
879
888
  };
880
889
  } & {
@@ -883,7 +892,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
883
892
  input: {};
884
893
  output: "funnel channels <channel> validate — check connector configuration\n\nusage: funnel channels <channel> validate [--json]\n\noptions:\n --json output as JSON\n\nChecks that each connector has the required tokens and fields set.\nDoes not make any network calls — static config check only.\n\nexamples:\n funnel channels open-karte validate\n funnel channels open-karte validate --json";
885
894
  outputFormat: "text";
886
- status: _$hono_utils_http_status0.ContentfulStatusCode;
895
+ status: import("hono/utils/http-status").ContentfulStatusCode;
887
896
  };
888
897
  };
889
898
  } & {
@@ -896,7 +905,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
896
905
  };
897
906
  output: string;
898
907
  outputFormat: "text";
899
- status: _$hono_utils_http_status0.ContentfulStatusCode;
908
+ status: import("hono/utils/http-status").ContentfulStatusCode;
900
909
  };
901
910
  };
902
911
  } & {
@@ -909,7 +918,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
909
918
  };
910
919
  output: string;
911
920
  outputFormat: "text";
912
- status: _$hono_utils_http_status0.ContentfulStatusCode;
921
+ status: import("hono/utils/http-status").ContentfulStatusCode;
913
922
  };
914
923
  };
915
924
  } & {
@@ -922,7 +931,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
922
931
  };
923
932
  output: "funnel channels <channel> connectors add <name> — add a connector to a channel\n\nusage:\n funnel channels <channel> connectors add <name> --type=slack --bot-token=xoxb-... --app-token=xapp-...\n funnel channels <channel> connectors add <name> --type=gh [--poll-interval=60]\n funnel channels <channel> connectors add <name> --type=discord --bot-token=...\n funnel channels <channel> connectors add <name> --type=schedule\n\nconnector types:\n slack Slack Socket Mode (requires bot-token + app-token)\n gh GitHub webhook polling\n discord Discord bot gateway\n schedule cron / one-shot timer (no external service)\n\nToken uniqueness is enforced across all channels — the same bot-token\ncannot appear in two connectors.\n\nexamples:\n funnel channels prod connectors add main-slack --type=slack --bot-token=xoxb-... --app-token=xapp-...\n funnel channels ci connectors add gh-events --type=gh --poll-interval=30\n funnel channels alerts connectors add daily --type=schedule\n\nsee also: funnel channels <channel> connectors, funnel channels <channel> connectors remove";
924
933
  outputFormat: "text";
925
- status: _$hono_utils_http_status0.ContentfulStatusCode;
934
+ status: import("hono/utils/http-status").ContentfulStatusCode;
926
935
  };
927
936
  };
928
937
  } & {
@@ -950,7 +959,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
950
959
  };
951
960
  output: `added slack connector "${string}" to channel "${string}"`;
952
961
  outputFormat: "text";
953
- status: _$hono_utils_http_status0.ContentfulStatusCode;
962
+ status: import("hono/utils/http-status").ContentfulStatusCode;
954
963
  } | {
955
964
  input: {
956
965
  param: {
@@ -974,7 +983,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
974
983
  };
975
984
  output: `added gh connector "${string}" to channel "${string}"`;
976
985
  outputFormat: "text";
977
- status: _$hono_utils_http_status0.ContentfulStatusCode;
986
+ status: import("hono/utils/http-status").ContentfulStatusCode;
978
987
  } | {
979
988
  input: {
980
989
  param: {
@@ -998,7 +1007,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
998
1007
  };
999
1008
  output: `added discord connector "${string}" to channel "${string}"`;
1000
1009
  outputFormat: "text";
1001
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1010
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1002
1011
  } | {
1003
1012
  input: {
1004
1013
  param: {
@@ -1022,7 +1031,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1022
1031
  };
1023
1032
  output: `added schedule connector "${string}" to channel "${string}"`;
1024
1033
  outputFormat: "text";
1025
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1034
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1026
1035
  };
1027
1036
  };
1028
1037
  } & {
@@ -1035,7 +1044,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1035
1044
  };
1036
1045
  output: "funnel channels <channel> connectors remove <connector> — remove a connector\n\nusage: funnel channels <channel> connectors remove <connector>\n\nRemoves the connector from the channel configuration. The gateway drops\nit on the next reload. No external resources (Slack apps, Discord bots,\nGitHub webhooks) are touched.\n\nexamples:\n funnel channels production connectors remove slack-main\n\nsee also: funnel channels <channel> connectors, funnel channels <channel> connectors add";
1037
1046
  outputFormat: "text";
1038
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1047
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1039
1048
  };
1040
1049
  };
1041
1050
  } & {
@@ -1051,7 +1060,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1051
1060
  };
1052
1061
  output: `removed connector "${string}" from channel "${string}"`;
1053
1062
  outputFormat: "text";
1054
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1063
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1055
1064
  };
1056
1065
  };
1057
1066
  } & {
@@ -1064,7 +1073,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1064
1073
  };
1065
1074
  output: "funnel channels <channel> connectors set <connector> — update connector fields\n\nusage:\n funnel channels <ch> connectors set <conn> [--bot-token=...] [--app-token=...] # slack\n funnel channels <ch> connectors set <conn> [--bot-token=...] # discord\n funnel channels <ch> connectors set <conn> [--poll-interval=N] # gh";
1066
1075
  outputFormat: "text";
1067
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1076
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1068
1077
  };
1069
1078
  };
1070
1079
  } & {
@@ -1085,7 +1094,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1085
1094
  };
1086
1095
  output: `updated connector "${string}" in channel "${string}"`;
1087
1096
  outputFormat: "text";
1088
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1097
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1089
1098
  };
1090
1099
  };
1091
1100
  } & {
@@ -1102,7 +1111,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1102
1111
  };
1103
1112
  output: `renamed connector "${string}" to "${string}"`;
1104
1113
  outputFormat: "text";
1105
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1114
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1106
1115
  };
1107
1116
  };
1108
1117
  } & {
@@ -1119,7 +1128,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1119
1128
  };
1120
1129
  output: `renamed connector "${string}" to "${string}"`;
1121
1130
  outputFormat: "text";
1122
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1131
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1123
1132
  };
1124
1133
  };
1125
1134
  } & {
@@ -1132,7 +1141,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1132
1141
  };
1133
1142
  output: "funnel channels <channel> connectors rename <old-connector-name> <new-connector-name> — rename a connector\n\nusage: funnel channels <channel> connectors rename <old-connector-name> <new-connector-name>\n\nRenames the connector in the configuration file. Tokens, type, and\nschedules are preserved. The gateway picks up the new name on the\nnext reload.\n\nexamples:\n funnel channels production connectors rename slack-1 slack-main\n\nsee also: funnel channels <channel> connectors";
1134
1143
  outputFormat: "text";
1135
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1144
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1136
1145
  };
1137
1146
  };
1138
1147
  } & {
@@ -1147,7 +1156,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1147
1156
  };
1148
1157
  output: "funnel channels <channel> connectors rename <connector> <new-name>\n\nusage: funnel channels <channel> connectors rename <connector> <new-name>";
1149
1158
  outputFormat: "text";
1150
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1159
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1151
1160
  };
1152
1161
  };
1153
1162
  } & {
@@ -1167,7 +1176,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1167
1176
  };
1168
1177
  output: string;
1169
1178
  outputFormat: "text";
1170
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1179
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1171
1180
  };
1172
1181
  };
1173
1182
  } & {
@@ -1181,7 +1190,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1181
1190
  };
1182
1191
  output: string;
1183
1192
  outputFormat: "text";
1184
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1193
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1185
1194
  };
1186
1195
  };
1187
1196
  } & {
@@ -1195,7 +1204,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1195
1204
  };
1196
1205
  output: string;
1197
1206
  outputFormat: "text";
1198
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1207
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1199
1208
  };
1200
1209
  };
1201
1210
  } & {
@@ -1208,9 +1217,9 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1208
1217
  connector: string;
1209
1218
  };
1210
1219
  };
1211
- output: "funnel channels <ch> connectors <conn> schedules add <id> — add a schedule entry\n\nusage: funnel channels <ch> connectors <conn> schedules add <id> --cron=\"*/5 * * * *\" --prompt=\"...\" [--enabled|--enabled=false] [--catchup-policy=latest|all|skip]\n\noptions:\n --cron <expr> / 5-field cron expression (required)\n --prompt <text> / prompt delivered on each fire (required)\n --enabled / fire on schedule (default: true; --enabled=false stores it disabled)\n --catchup-policy latest|all|skip / how missed fires are replayed after downtime (default: latest)";
1220
+ output: "funnel channels <ch> connectors <conn> schedules add <id> — add a schedule entry\n\nusage: funnel channels <ch> connectors <conn> schedules add <id> (--cron=\"*/5 * * * *\" | --run-at=\"2026-08-01T09:00:00+09:00\") --prompt=\"...\" [--enabled|--enabled=false] [--catchup-policy=latest|all|skip]\n\noptions:\n --cron <expr> / 5-field cron expression (exclusive with --run-at)\n --run-at <ISO datetime> / fire once at or after this instant (exclusive with --cron)\n --prompt <text> / prompt delivered on each fire (required)\n --enabled / fire on schedule (default: true; --enabled=false stores it disabled)\n --catchup-policy latest|all|skip / how missed fires are replayed after downtime (default: latest)";
1212
1221
  outputFormat: "text";
1213
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1222
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1214
1223
  };
1215
1224
  };
1216
1225
  } & {
@@ -1224,15 +1233,16 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1224
1233
  };
1225
1234
  } & {
1226
1235
  query: {
1227
- cron: string;
1228
1236
  prompt: string;
1237
+ cron?: string | undefined;
1238
+ "run-at"?: string | undefined;
1229
1239
  enabled?: "" | "true" | "false" | undefined;
1230
1240
  "catchup-policy"?: "latest" | "all" | "skip" | undefined;
1231
1241
  };
1232
1242
  };
1233
1243
  output: `added schedule entry "${string}"`;
1234
1244
  outputFormat: "text";
1235
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1245
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1236
1246
  };
1237
1247
  };
1238
1248
  } & {
@@ -1247,7 +1257,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1247
1257
  };
1248
1258
  output: "funnel channels <ch> connectors <conn> schedules remove <id>\n\nusage: funnel channels <ch> connectors <conn> schedules remove <id>";
1249
1259
  outputFormat: "text";
1250
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1260
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1251
1261
  };
1252
1262
  };
1253
1263
  } & {
@@ -1264,7 +1274,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1264
1274
  };
1265
1275
  output: `removed schedule entry "${string}"`;
1266
1276
  outputFormat: "text";
1267
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1277
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1268
1278
  };
1269
1279
  };
1270
1280
  } & {
@@ -1273,7 +1283,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1273
1283
  input: {};
1274
1284
  output: string;
1275
1285
  outputFormat: "text";
1276
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1286
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1277
1287
  };
1278
1288
  };
1279
1289
  } & {
@@ -1282,7 +1292,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1282
1292
  input: {};
1283
1293
  output: "funnel profiles add — add a profile\n\nusage: funnel profiles add <name> --path <path> --channel <channel-name> [recipe]\n\noptions:\n --path working directory passed to claude as cwd\n --channel channel name (resolved to channel id internally)\n --agent sub-agent name, prepended to the launch argv as --agent <name>\n --options extra launch argv as one whitespace-split string (e.g. \"--brief\")\n --env env vars layered under the process, as \"KEY=VAL,KEY2=VAL2\"\n --no-resume start a fresh claude session every launch (default resumes)\n\nThe launch recipe (--agent / --options / --env / --resume) lives on the\nprofile; the channel only declares transport (connectors / delivery).";
1284
1294
  outputFormat: "text";
1285
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1295
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1286
1296
  };
1287
1297
  };
1288
1298
  } & {
@@ -1305,7 +1315,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1305
1315
  };
1306
1316
  output: `added profile "${string}"`;
1307
1317
  outputFormat: "text";
1308
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1318
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1309
1319
  };
1310
1320
  };
1311
1321
  } & {
@@ -1314,7 +1324,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1314
1324
  input: {};
1315
1325
  output: "funnel profiles <name> set — update a profile\n\nusage: funnel profiles <name> set [--path <path>] [--channel <channel-name>] [recipe]\n\noptions:\n --path working directory passed to claude as cwd\n --channel channel name (resolved to channel id internally)\n --agent sub-agent name, prepended to the launch argv as --agent <name>\n --options extra launch argv as one whitespace-split string (e.g. \"--brief\")\n --env env vars layered under the process, as \"KEY=VAL,KEY2=VAL2\"\n --resume / --no-resume toggle claude session reuse\n\nOnly the flags you pass are changed; --agent and --options together replace\nthe profile's whole options list.";
1316
1326
  outputFormat: "text";
1317
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1327
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1318
1328
  };
1319
1329
  };
1320
1330
  } & {
@@ -1337,7 +1347,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1337
1347
  };
1338
1348
  output: `updated profile "${string}"`;
1339
1349
  outputFormat: "text";
1340
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1350
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1341
1351
  };
1342
1352
  };
1343
1353
  } & {
@@ -1346,7 +1356,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1346
1356
  input: {};
1347
1357
  output: "funnel profiles remove — remove a profile\n\nusage: funnel profiles remove <name>";
1348
1358
  outputFormat: "text";
1349
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1359
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1350
1360
  };
1351
1361
  };
1352
1362
  } & {
@@ -1361,7 +1371,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1361
1371
  };
1362
1372
  output: `removed profile "${string}"`;
1363
1373
  outputFormat: "text";
1364
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1374
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1365
1375
  };
1366
1376
  };
1367
1377
  } & {
@@ -1377,7 +1387,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1377
1387
  };
1378
1388
  output: `renamed profile "${string}" to "${string}"`;
1379
1389
  outputFormat: "text";
1380
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1390
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1381
1391
  };
1382
1392
  };
1383
1393
  } & {
@@ -1393,7 +1403,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1393
1403
  };
1394
1404
  output: `renamed profile "${string}" to "${string}"`;
1395
1405
  outputFormat: "text";
1396
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1406
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1397
1407
  };
1398
1408
  };
1399
1409
  } & {
@@ -1402,7 +1412,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1402
1412
  input: {};
1403
1413
  output: "funnel profiles rename — rename a profile\n\nusage:\n funnel profiles rename <old> <new>\n funnel profiles <old> rename <new>";
1404
1414
  outputFormat: "text";
1405
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1415
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1406
1416
  };
1407
1417
  };
1408
1418
  } & {
@@ -1415,7 +1425,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1415
1425
  };
1416
1426
  output: "funnel profiles rename — rename a profile\n\nusage:\n funnel profiles rename <old> <new>\n funnel profiles <old> rename <new>";
1417
1427
  outputFormat: "text";
1418
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1428
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1419
1429
  };
1420
1430
  };
1421
1431
  } & {
@@ -1428,7 +1438,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1428
1438
  };
1429
1439
  output: `profile "${string}" is now the default`;
1430
1440
  outputFormat: "text";
1431
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1441
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1432
1442
  };
1433
1443
  };
1434
1444
  } & {
@@ -1437,7 +1447,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1437
1447
  input: {};
1438
1448
  output: string;
1439
1449
  outputFormat: "text";
1440
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1450
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1441
1451
  };
1442
1452
  };
1443
1453
  } & {
@@ -1446,7 +1456,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1446
1456
  input: {};
1447
1457
  output: string;
1448
1458
  outputFormat: "text";
1449
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1459
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1450
1460
  };
1451
1461
  };
1452
1462
  } & {
@@ -1459,7 +1469,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1459
1469
  };
1460
1470
  output: "funnel gateway: already running (pid null)" | `funnel gateway: already running (pid ${number})`;
1461
1471
  outputFormat: "text";
1462
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1472
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1463
1473
  } | {
1464
1474
  input: {
1465
1475
  query: {
@@ -1468,7 +1478,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1468
1478
  };
1469
1479
  output: `funnel gateway: started (pid null, port ${number}) but /health did not respond within ${number}s \u2014 check \`fnl gateway logs\`` | `funnel gateway: started (pid ${number}, port ${number}) but /health did not respond within ${number}s \u2014 check \`fnl gateway logs\``;
1470
1480
  outputFormat: "text";
1471
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1481
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1472
1482
  } | {
1473
1483
  input: {
1474
1484
  query: {
@@ -1477,7 +1487,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1477
1487
  };
1478
1488
  output: `funnel gateway: started (pid null, port ${number})` | `funnel gateway: started (pid ${number}, port ${number})`;
1479
1489
  outputFormat: "text";
1480
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1490
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1481
1491
  };
1482
1492
  };
1483
1493
  } & {
@@ -1486,12 +1496,12 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1486
1496
  input: {};
1487
1497
  output: "funnel gateway: no running process";
1488
1498
  outputFormat: "text";
1489
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1499
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1490
1500
  } | {
1491
1501
  input: {};
1492
1502
  output: "funnel gateway: stopped";
1493
1503
  outputFormat: "text";
1494
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1504
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1495
1505
  };
1496
1506
  };
1497
1507
  } & {
@@ -1504,7 +1514,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1504
1514
  };
1505
1515
  output: string;
1506
1516
  outputFormat: "text";
1507
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1517
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1508
1518
  };
1509
1519
  };
1510
1520
  } & {
@@ -1518,7 +1528,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1518
1528
  };
1519
1529
  output: "no logs";
1520
1530
  outputFormat: "text";
1521
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1531
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1522
1532
  };
1523
1533
  };
1524
1534
  } & {
@@ -1534,7 +1544,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1534
1544
  };
1535
1545
  output: string;
1536
1546
  outputFormat: "text";
1537
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1547
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1538
1548
  };
1539
1549
  };
1540
1550
  } & {
@@ -1543,7 +1553,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1543
1553
  input: {};
1544
1554
  output: string;
1545
1555
  outputFormat: "text";
1546
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1556
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1547
1557
  };
1548
1558
  };
1549
1559
  } & {
@@ -1558,7 +1568,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1558
1568
  };
1559
1569
  output: string;
1560
1570
  outputFormat: "text";
1561
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1571
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1562
1572
  };
1563
1573
  };
1564
1574
  } & {
@@ -1573,7 +1583,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1573
1583
  };
1574
1584
  output: string;
1575
1585
  outputFormat: "text";
1576
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1586
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1577
1587
  };
1578
1588
  };
1579
1589
  } & {
@@ -1588,7 +1598,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1588
1598
  };
1589
1599
  output: string;
1590
1600
  outputFormat: "text";
1591
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1601
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1592
1602
  };
1593
1603
  };
1594
1604
  } & {
@@ -1603,7 +1613,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1603
1613
  };
1604
1614
  output: string;
1605
1615
  outputFormat: "text";
1606
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1616
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1607
1617
  };
1608
1618
  };
1609
1619
  } & {
@@ -1617,7 +1627,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1617
1627
  };
1618
1628
  output: string;
1619
1629
  outputFormat: "text";
1620
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1630
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1621
1631
  };
1622
1632
  };
1623
1633
  } & {
@@ -1632,7 +1642,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1632
1642
  };
1633
1643
  output: string;
1634
1644
  outputFormat: "text";
1635
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1645
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1636
1646
  };
1637
1647
  };
1638
1648
  } & {
@@ -1647,7 +1657,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1647
1657
  };
1648
1658
  output: string;
1649
1659
  outputFormat: "text";
1650
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1660
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1651
1661
  };
1652
1662
  };
1653
1663
  } & {
@@ -1661,7 +1671,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1661
1671
  };
1662
1672
  output: string;
1663
1673
  outputFormat: "text";
1664
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1674
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1665
1675
  };
1666
1676
  };
1667
1677
  } & {
@@ -1670,7 +1680,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1670
1680
  input: {};
1671
1681
  output: string;
1672
1682
  outputFormat: "text";
1673
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1683
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1674
1684
  };
1675
1685
  };
1676
1686
  } & {
@@ -1683,7 +1693,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1683
1693
  };
1684
1694
  output: string;
1685
1695
  outputFormat: "text";
1686
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1696
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1687
1697
  };
1688
1698
  };
1689
1699
  } & {
@@ -1697,7 +1707,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1697
1707
  };
1698
1708
  output: string;
1699
1709
  outputFormat: "text";
1700
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1710
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1701
1711
  };
1702
1712
  };
1703
1713
  } & {
@@ -1707,7 +1717,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1707
1717
  output: `${string}
1708
1718
  `;
1709
1719
  outputFormat: "text";
1710
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1720
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1711
1721
  };
1712
1722
  };
1713
1723
  } & {
@@ -1721,7 +1731,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1721
1731
  };
1722
1732
  output: string;
1723
1733
  outputFormat: "text";
1724
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1734
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1725
1735
  };
1726
1736
  };
1727
1737
  } & {
@@ -1730,10 +1740,10 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1730
1740
  input: {};
1731
1741
  output: "updated @interactive-inc/claude-funnel";
1732
1742
  outputFormat: "text";
1733
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1743
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1734
1744
  };
1735
1745
  };
1736
1746
  }, "/", "/update">;
1737
1747
  type CliApp = typeof routes;
1738
1748
  //#endregion
1739
- export { AddConnectorInput, AliveStub, AttachOptions, BaseConnectorConfig, BroadcastEvent, BroadcastSubscriber, CONNECTOR_CONNECTION_STATUSES, CallInput, ChannelConfig, ChannelConnectorView, ChannelDeliveryMode, ChannelDiagnosis, ChannelWsUrlInput, type CliApp, ConnectorAdapterDeps, ConnectorBuildContext, ConnectorConnectionEvent, ConnectorConnectionQuery, ConnectorConnectionRecord, ConnectorConnectionStatus, ConnectorDescriptor, ConnectorDiagnosticLog, ConnectorDiagnosticSqlReader, ConnectorListenerDeps, ConnectorOperation, ConnectorOperationContext, ConnectorProcessedEvent, ConnectorProcessedQuery, ConnectorProcessedRecord, ConnectorQuery, ConnectorRawEvent, ConnectorRawQuery, ConnectorRawRecord, ConnectorUpdateContext, DEFAULT_GATEWAY_PORT, DEFAULT_GATEWAY_TOKEN_PATH, DetachOptions, DiagnoseAllReport, DiagnosisStatus, DiagnosticConnectionError, DiagnosticEvent, DiagnosticsChannelSource, DiagnosticsGatewayProbe, DiagnosticsPublisher, DiagnosticsTokenReader, DiscordConnectorConfig, DocsTopicListing, DoctorFixMode, DoctorReport, Env, FUNNEL_DIR, FileStat, Funnel, FunnelAuthFailedError, FunnelBroadcaster, FunnelChannelAlreadyExistsError, FunnelChannelNotFoundError, FunnelChannelPublisher, FunnelChannels, FunnelClock, FunnelConnectorAdapter, FunnelConnectorListener, FunnelConnectorNotFoundError, FunnelConnectorRegistry, FunnelConnectorTypeMismatchError, FunnelDiagnostics, FunnelDocs, FunnelDoctor, FunnelError, FunnelEvent, FunnelEventLog, FunnelEventRecord, FunnelFileSystem, FunnelGateway, FunnelGatewayBindError, FunnelGatewayServer, FunnelGatewayToken, FunnelHttpClient, FunnelIdGenerator, FunnelListenerRegistry, FunnelListenersClient, FunnelLogger, FunnelProcessRunner, FunnelRecovery, FunnelSettingsReader, FunnelSettingsStore, FunnelSlackEventProcessor, FunnelTokenCollisionError, FunnelTokenPrompter, type GatewayApp, type GatewayEmitInput, GatewayEventStore, type GatewayRouteDeps, type Env$1 as GatewayServerEnv, GatewayServerOptions, GhConnectorConfig, HttpRequest, HttpResponse, JsonValue, ListListenersResult, ListenerEntry, ListenerOpResult, LogEntry, MemoryConnectorDiagnosticLog, MemoryFunnelClock, MemoryFunnelEventLog, MemoryFunnelFileSystem, MemoryFunnelHttpClient, MemoryFunnelIdGenerator, MemoryFunnelLogger, MemoryFunnelProcessRunner, MemoryFunnelTokenPrompter, MemoryHttpHandler, MemoryHttpResponse, MemoryProcessCall, MemoryProcessHandler, MemoryProcessResponse, MemoryProcessSyncHandler, MockFunnelSettingsReader, NodeFunnelClock, NodeFunnelFileSystem, NodeFunnelHttpClient, NodeFunnelIdGenerator, NodeFunnelLogger, NodeFunnelProcessRunner, NodeFunnelTokenPrompter, NoopFunnelLogger, NotifyFn, OnFunnelError, ProcessListStub, ProcessSnapshot, ProfileConfig, PublishRequest, PublishResponse, PublishResult, RecoveryAction, RecoveryChannelSource, RecoveryGatewayControl, RecoveryListenerControl, RecoveryResult, ReplayResult, ReplayableEvent, RunOptions, RunResult, SETTINGS_PATH, SETTINGS_VERSION, ScheduleCatchupPolicy, ScheduleConnectorConfig, ScheduleEntry, Settings, SlackConnectorConfig, SlackEvent, SlackMessageEvent, SlackProcessed, SlackProcessedEmit, SlackProcessedSkip, SlackRawEvent, SlackReactionEvent, SlackSkipReason, SqliteConnectorDiagnosticLog, SqliteFunnelEventLog, StartTimeStub, StoredConnectionEvent, StoredProcessedEvent, StoredRawEvent, baseConnectorConfigSchema, buildServiceRoutes, channelConfigSchema, channelDeliveryModeSchema, channelWsProtocols, channelWsUrl, routes as cliRoutes, connectorConnectionEventSchema, connectorProcessedEventSchema, connectorRawEventSchema, createSettings, discordConnectorSchema, expandHomeDir, factory, funnelEventSchema, gatewayLoopbackUrl, ghConnectorSchema, previewOf, profileConfigSchema, publishRequestSchema, publishResponseSchema, queryRows, queryToCliArgs, resolveFunnelDir, resolveFunnelPort, scheduleCatchupPolicySchema, scheduleConnectorSchema, scheduleEntrySchema, settingsSchema, slackConnectorSchema, toDiagnosticConnectionError, toDiagnosticEvent, toRequest };
1749
+ export { AddConnectorInput, AliveStub, AttachOptions, BaseConnectorConfig, BroadcastEvent, BroadcastSubscriber, CONNECTOR_CONNECTION_STATUSES, CallInput, ChannelConfig, ChannelConnectorView, ChannelDeliveryMode, ChannelDiagnosis, ChannelWsUrlInput, type CliApp, ConnectorAdapterDeps, ConnectorBuildContext, ConnectorConnectionEvent, ConnectorConnectionQuery, ConnectorConnectionRecord, ConnectorConnectionStatus, ConnectorDescriptor, ConnectorDiagnosticLog, ConnectorDiagnosticSqlReader, ConnectorListenerDeps, ConnectorOperation, ConnectorOperationContext, ConnectorProcessedEvent, ConnectorProcessedQuery, ConnectorProcessedRecord, ConnectorQuery, ConnectorRawEvent, ConnectorRawQuery, ConnectorRawRecord, ConnectorUpdateContext, CronScheduleEntry, DEFAULT_GATEWAY_PORT, DEFAULT_GATEWAY_TOKEN_PATH, DetachOptions, DiagnoseAllReport, DiagnosisStatus, DiagnosticConnectionError, DiagnosticEvent, DiagnosticsChannelSource, DiagnosticsGatewayProbe, DiagnosticsPublisher, DiagnosticsTokenReader, DiscordConnectorConfig, DocsTopicListing, DoctorFixMode, DoctorReport, Env, FUNNEL_DIR, FileStat, Funnel, FunnelAuthFailedError, FunnelBroadcaster, FunnelChannelAlreadyExistsError, FunnelChannelNotFoundError, FunnelChannelPublisher, FunnelChannels, FunnelClock, FunnelConnectorAdapter, FunnelConnectorListener, FunnelConnectorNotFoundError, FunnelConnectorRegistry, FunnelConnectorTypeMismatchError, FunnelDiagnostics, FunnelDocs, FunnelDoctor, FunnelError, FunnelEvent, FunnelEventLog, FunnelEventRecord, FunnelFileSystem, FunnelGateway, FunnelGatewayBindError, FunnelGatewayServer, FunnelGatewayToken, FunnelHttpClient, FunnelIdGenerator, FunnelListenerRegistry, FunnelListenersClient, FunnelLogger, FunnelProcessRunner, FunnelRecovery, FunnelSettingsReader, FunnelSettingsStore, FunnelSlackEventProcessor, FunnelTokenCollisionError, FunnelTokenPrompter, type GatewayApp, type GatewayEmitInput, GatewayEventStore, type GatewayRouteDeps, type Env$1 as GatewayServerEnv, GatewayServerOptions, GhConnectorConfig, HttpRequest, HttpResponse, JsonValue, ListListenersResult, ListenerEntry, ListenerOpResult, LogEntry, MemoryConnectorDiagnosticLog, MemoryFunnelClock, MemoryFunnelEventLog, MemoryFunnelFileSystem, MemoryFunnelHttpClient, MemoryFunnelIdGenerator, MemoryFunnelLogger, MemoryFunnelProcessRunner, MemoryFunnelTokenPrompter, MemoryHttpHandler, MemoryHttpResponse, MemoryProcessCall, MemoryProcessHandler, MemoryProcessResponse, MemoryProcessSyncHandler, MockFunnelSettingsReader, NodeFunnelClock, NodeFunnelFileSystem, NodeFunnelHttpClient, NodeFunnelIdGenerator, NodeFunnelLogger, NodeFunnelProcessRunner, NodeFunnelTokenPrompter, NoopFunnelLogger, NotifyFn, OnFunnelError, OnceScheduleEntry, ProcessListStub, ProcessSnapshot, ProfileConfig, PublishRequest, PublishResponse, PublishResult, RecoveryAction, RecoveryChannelSource, RecoveryGatewayControl, RecoveryListenerControl, RecoveryResult, ReplayResult, ReplayableEvent, RunOptions, RunResult, SETTINGS_PATH, SETTINGS_VERSION, ScheduleCatchupPolicy, ScheduleConnectorConfig, ScheduleEntry, ScheduleEntryInput, Settings, SlackConnectorConfig, SlackEvent, SlackMessageEvent, SlackProcessed, SlackProcessedEmit, SlackProcessedSkip, SlackRawEvent, SlackReactionEvent, SlackSkipReason, SqliteConnectorDiagnosticLog, SqliteFunnelEventLog, StartTimeStub, StoredConnectionEvent, StoredProcessedEvent, StoredRawEvent, baseConnectorConfigSchema, buildServiceRoutes, channelConfigSchema, channelDeliveryModeSchema, channelWsProtocols, channelWsUrl, routes as cliRoutes, connectorConnectionEventSchema, connectorProcessedEventSchema, connectorRawEventSchema, createSettings, cronExpressionSchema, cronScheduleEntrySchema, diagnosticConnectionEventOf, diagnosticEventOfProcessed, diagnosticEventOfRaw, discordConnectorSchema, expandHomeDir, factory, funnelEventSchema, gatewayLoopbackUrl, ghConnectorSchema, onceScheduleEntrySchema, previewOf, profileConfigSchema, publishRequestSchema, publishResponseSchema, queryRows, queryToCliArgs, resolveFunnelDir, resolveFunnelPort, scheduleCatchupPolicySchema, scheduleConnectorSchema, scheduleEntryInputSchema, scheduleEntrySchema, settingsSchema, slackConnectorSchema, toDiagnosticConnectionError, toDiagnosticEvent, toRequest };