@interactive-inc/claude-funnel 0.65.0 → 0.67.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 (87) hide show
  1. package/README.md +8 -4
  2. package/dist/bin.js +275 -372
  3. package/dist/channel.d.ts +185 -0
  4. package/dist/channel.js +238 -0
  5. package/dist/{channels-CRGb6B5_.d.ts → channels-BBA3GTAa.d.ts} +5 -5
  6. package/dist/claude.d.ts +11 -8
  7. package/dist/claude.js +31 -15
  8. package/dist/{connector-descriptor-BFIhyTfa.d.ts → connector-descriptor-F75ZI8Fh.d.ts} +27 -39
  9. package/dist/{connector-diagnostics-recorder-COtNEmUp.js → connector-diagnostics-recorder-BmOijU1p.js} +1 -0
  10. package/dist/connectors/discord.d.ts +10 -7
  11. package/dist/connectors/discord.js +2 -2
  12. package/dist/connectors/gh.d.ts +6 -5
  13. package/dist/connectors/gh.js +2 -2
  14. package/dist/connectors/schedule.d.ts +10 -7
  15. package/dist/connectors/schedule.js +2 -2
  16. package/dist/connectors/slack.d.ts +14 -9
  17. package/dist/connectors/slack.js +3 -3
  18. package/dist/diagnostics.d.ts +1 -1
  19. package/dist/diagnostics.js +1 -1
  20. package/dist/{discord-connector-DXARcO6w.js → discord-connector-CdjwPoty.js} +6 -6
  21. package/dist/{discord-connector-schema-D-bOVAKt.d.ts → discord-connector-schema-BaBZYHxK.d.ts} +0 -1
  22. package/dist/docs.d.ts +1 -1
  23. package/dist/docs.js +1 -1
  24. package/dist/doctor.d.ts +1 -1
  25. package/dist/doctor.js +1 -1
  26. package/dist/{file-process-guard-tVcgckH6.d.ts → file-process-guard-DAYe9Ndt.d.ts} +22 -17
  27. package/dist/{file-system-VhwwXZbm.d.ts → file-system-BNtl997T.d.ts} +2 -1
  28. package/dist/{flume-source-listener-BNyAII7N.d.ts → flume-source-listener-CLtsdcT2.d.ts} +8 -5
  29. package/dist/{funnel-diagnostics-Cvk6Sk4x.js → funnel-diagnostics-B-PCuv_E.js} +4 -3
  30. package/dist/{funnel-diagnostics-b9ar0Ing.d.ts → funnel-diagnostics-CnKus3Jg.d.ts} +8 -5
  31. package/dist/{funnel-docs-C-ge0MuB.js → funnel-docs-BFcqITFA.js} +4 -0
  32. package/dist/{funnel-doctor-XrI2GBH8.js → funnel-doctor-Csw5qjcH.js} +1 -0
  33. package/dist/{funnel-doctor-CnRQi4kM.d.ts → funnel-doctor-CviUTINw.d.ts} +20 -9
  34. package/dist/{funnel-error-0t1MK1R6.js → funnel-error-DoSBCogD.js} +13 -0
  35. package/dist/{funnel-log-sqlite-sink-DLYkY0pZ.js → funnel-log-sqlite-sink-CXbs3qQp.js} +1 -1
  36. package/dist/{funnel-recovery-CMhY8Jfk.d.ts → funnel-recovery-BwcSNNSN.d.ts} +1 -2
  37. package/dist/{funnel-recovery-DKnEutUS.js → funnel-recovery-DYbSYGWC.js} +1 -0
  38. package/dist/gateway/daemon.js +66 -125
  39. package/dist/gateway.d.ts +2 -2
  40. package/dist/gateway.js +2 -2
  41. package/dist/{gh-connector-BUGCOEWS.js → gh-connector-D-iyjl-d.js} +5 -5
  42. package/dist/{gh-connector-schema-DWQaB6gX.d.ts → gh-connector-schema-BrNsCl1T.d.ts} +0 -1
  43. package/dist/{index-Ds6sHhA-.d.ts → index-B4RvEaW-.d.ts} +78 -46
  44. package/dist/index.d.ts +115 -107
  45. package/dist/index.js +123 -32
  46. package/dist/{local-config-json-schema-DexV8vX3.js → local-config-json-schema-_-YVHX4c.js} +4 -4
  47. package/dist/local-config.d.ts +2 -3
  48. package/dist/local-config.js +1 -1
  49. package/dist/logger-mMZvblTx.d.ts +25 -0
  50. package/dist/logger.d.ts +29 -13
  51. package/dist/logger.js +1 -1
  52. package/dist/{memory-token-prompter-BoV8Hf-n.d.ts → memory-token-prompter-D3R_kgM_.d.ts} +2 -3
  53. package/dist/{node-file-system-BOXIHW_Q.js → node-file-system-xJx7dymE.js} +11 -3
  54. package/dist/{profiles-cVZQkM69.d.ts → profiles-CePRnv3F.d.ts} +3 -4
  55. package/dist/{profiles-ZHLONml4.js → profiles-KpN7_gBw.js} +19 -5
  56. package/dist/profiles.d.ts +1 -1
  57. package/dist/profiles.js +1 -1
  58. package/dist/recovery.d.ts +1 -1
  59. package/dist/recovery.js +1 -1
  60. package/dist/{schedule-connector-schema-Z0RXLgPI.d.ts → schedule-connector-schema-DBko_Bf7.d.ts} +0 -1
  61. package/dist/{schedule-connector-9k3gOIgl.js → schedule-connector-teeDMHUe.js} +5 -5
  62. package/dist/{settings-reader-BNxjsxCB.d.ts → settings-reader-CyTpbAre.d.ts} +1 -2
  63. package/dist/{settings-schema-BL_c2Udm.d.ts → settings-schema-B-CKLuST.d.ts} +0 -1
  64. package/dist/{settings-store-ccv291GV.js → settings-store-ZFWBhOnp.js} +12 -3
  65. package/dist/{slack-connector-CxpWagbT.js → slack-connector-BE0KAjCs.js} +10 -9
  66. package/dist/{slack-event-processor-xFDG3US0.js → slack-event-processor-Cs_YuI3w.js} +2 -2
  67. package/dist/{slack-event-processor-BhCf5Wiy.d.ts → slack-event-processor-DmAlq4cV.d.ts} +0 -1
  68. package/dist/{slot-fields-D-pvMgTK.js → slot-fields-5ERhytIA.js} +3 -3
  69. package/dist/{sqlite-diagnostic-log-CwhXE9Qh.js → sqlite-diagnostic-log-BDxfXGZy.js} +42 -19
  70. package/dist/{yaml-render-DVEtYuF1.js → yaml-render-DxxRQT-V.js} +3 -3
  71. package/package.json +15 -10
  72. package/dist/file-system-Wvzc2ePY.js +0 -9
  73. package/dist/logger-B6iyNbxM.js +0 -9
  74. package/dist/settings-reader-9FcX3qS1.js +0 -11
  75. /package/dist/{connector-adapter-Dvs8N7ew.js → connector-adapter-BL2ehMej.js} +0 -0
  76. /package/dist/{connector-listener-mPGZYa8e.js → connector-listener-BcQMzY6Q.js} +0 -0
  77. /package/dist/{diagnostic-sql-reader-oXZnWFf_.js → diagnostic-sql-reader-CoBk_EFF.js} +0 -0
  78. /package/dist/{discord-connector-schema-B4YpWpR3.js → discord-connector-schema-saAGuPmJ.js} +0 -0
  79. /package/dist/{error-message-of-ColuYmAk.js → error-message-of-BG4ezZ_s.js} +0 -0
  80. /package/dist/{funnel-docs-CNklHvbt.d.ts → funnel-docs-BJWawfWI.d.ts} +0 -0
  81. /package/dist/{gh-connector-schema-CAqIhzGr.js → gh-connector-schema-DmZTrzUu.js} +0 -0
  82. /package/dist/{loopback-fetch-CVNuN3YZ.js → loopback-fetch-HP-bo9Kv.js} +0 -0
  83. /package/dist/{node-http-client-u00atiKx.js → node-http-client-SX3xFh4h.js} +0 -0
  84. /package/dist/{node-process-runner-DxTvycoK.js → node-process-runner-D4rzPl8Q.js} +0 -0
  85. /package/dist/{resolve-connector-token-DxDG9mhf.js → resolve-connector-token-BwiJCu82.js} +0 -0
  86. /package/dist/{schedule-connector-schema-DKEPZnVv.js → schedule-connector-schema-C2AChpwX.js} +0 -0
  87. /package/dist/{slack-connector-schema-Dem8to4P.js → slack-connector-schema-EGVuuqSX.js} +0 -0
package/dist/index.d.ts CHANGED
@@ -1,27 +1,24 @@
1
- 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-BL_c2Udm.js";
2
- import { n as FunnelClaude, t as FunnelFileProcessGuard } from "./file-process-guard-tVcgckH6.js";
3
- import { n as FunnelIdGenerator, t as FunnelSettingsReader } from "./settings-reader-BNxjsxCB.js";
4
- import { A as connectorRawEventSchema, B as FunnelProcessRunner, C as ConnectorRawQuery, D as StoredRawEvent, E as StoredProcessedEvent, F as JsonValue, H as RunOptions, I as BaseConnectorConfig, L as baseConnectorConfigSchema, M as NotifyFn, N as CallInput, O as connectorConnectionEventSchema, P as FunnelConnectorAdapter, R as AttachOptions, S as ConnectorRawEvent, T as StoredConnectionEvent, U as RunResult, V as ProcessSnapshot, W as FunnelLogger, _ as ConnectorDiagnosticLog, a as ConnectorOperation, b as ConnectorProcessedRecord, c as FunnelClock, d as HttpResponse, f as CONNECTOR_CONNECTION_STATUSES, g as ConnectorConnectionStatus, h as ConnectorConnectionRecord, i as ConnectorListenerDeps, j as FunnelConnectorListener, k as connectorProcessedEventSchema, l as FunnelHttpClient, m as ConnectorConnectionQuery, n as ConnectorBuildContext, o as ConnectorOperationContext, p as ConnectorConnectionEvent, r as ConnectorDescriptor, s as ConnectorUpdateContext, t as ConnectorAdapterDeps, u as HttpRequest, v as ConnectorProcessedEvent, w as ConnectorRawRecord, x as ConnectorQuery, y as ConnectorProcessedQuery, z as DetachOptions } from "./connector-descriptor-BFIhyTfa.js";
5
- import { n as FunnelFileSystem, t as FileStat } from "./file-system-VhwwXZbm.js";
6
- import { t as FunnelProfiles } from "./profiles-cVZQkM69.js";
7
- 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-b9ar0Ing.js";
8
- import { n as FunnelDocs, t as DocsTopicListing } from "./funnel-docs-CNklHvbt.js";
9
- import { a as RecoveryListenerControl, i as RecoveryGatewayControl, n as RecoveryAction, o as RecoveryResult, r as RecoveryChannelSource, t as FunnelRecovery } from "./funnel-recovery-CMhY8Jfk.js";
10
- import { n as DoctorReport, r as FunnelDoctor, t as DoctorFixMode } from "./funnel-doctor-CnRQi4kM.js";
11
- import { n as discordConnectorSchema, t as DiscordConnectorConfig } from "./discord-connector-schema-D-bOVAKt.js";
12
- import { n as ghConnectorSchema, t as GhConnectorConfig } from "./gh-connector-schema-DWQaB6gX.js";
13
- import { a as scheduleConnectorSchema, i as scheduleCatchupPolicySchema, n as ScheduleConnectorConfig, o as scheduleEntrySchema, r as ScheduleEntry, t as ScheduleCatchupPolicy } from "./schedule-connector-schema-Z0RXLgPI.js";
14
- 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-BhCf5Wiy.js";
15
- import { i as FunnelConnectorRegistry, n as ChannelConnectorView, r as FunnelChannels, t as AddConnectorInput } from "./channels-CRGb6B5_.js";
16
- 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-Ds6sHhA-.js";
17
- import { i as FunnelLocalConfigSync, n as NodeFunnelTokenPrompter, o as FunnelTokenPrompter, s as FunnelLocalConfig, t as MemoryFunnelTokenPrompter } from "./memory-token-prompter-BoV8Hf-n.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-DAYe9Ndt.js";
5
+ import { n as FunnelIdGenerator, t as FunnelSettingsReader } from "./settings-reader-CyTpbAre.js";
6
+ 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-F75ZI8Fh.js";
7
+ import { t as FunnelProfiles } from "./profiles-CePRnv3F.js";
8
+ 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-CnKus3Jg.js";
9
+ import { n as FunnelDocs, t as DocsTopicListing } from "./funnel-docs-BJWawfWI.js";
10
+ import { a as RecoveryListenerControl, i as RecoveryGatewayControl, n as RecoveryAction, o as RecoveryResult, r as RecoveryChannelSource, t as FunnelRecovery } from "./funnel-recovery-BwcSNNSN.js";
11
+ import { n as DoctorReport, r as FunnelDoctor, t as DoctorFixMode } from "./funnel-doctor-CviUTINw.js";
12
+ import { n as discordConnectorSchema, t as DiscordConnectorConfig } from "./discord-connector-schema-BaBZYHxK.js";
13
+ import { n as ghConnectorSchema, t as GhConnectorConfig } from "./gh-connector-schema-BrNsCl1T.js";
14
+ import { a as scheduleConnectorSchema, i as scheduleCatchupPolicySchema, n as ScheduleConnectorConfig, o as scheduleEntrySchema, r as ScheduleEntry, t as ScheduleCatchupPolicy } from "./schedule-connector-schema-DBko_Bf7.js";
15
+ 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";
16
+ import { i as FunnelConnectorRegistry, n as ChannelConnectorView, r as FunnelChannels, t as AddConnectorInput } from "./channels-BBA3GTAa.js";
17
+ 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-B4RvEaW-.js";
18
+ import { i as FunnelLocalConfigSync, n as NodeFunnelTokenPrompter, o as FunnelTokenPrompter, s as FunnelLocalConfig, t as MemoryFunnelTokenPrompter } from "./memory-token-prompter-D3R_kgM_.js";
18
19
  import { hc } from "hono/client";
19
20
  import { z } from "zod";
20
- import * as _$hono_factory0 from "hono/factory";
21
21
  import { Hono } from "hono";
22
- import * as _$hono_utils_http_status0 from "hono/utils/http-status";
23
- import * as _$hono_hono_base0 from "hono/hono-base";
24
-
25
22
  //#region lib/gateway/gateway.d.ts
26
23
  type Deps$3 = {
27
24
  process?: FunnelProcessRunner;
@@ -80,7 +77,8 @@ declare class FunnelGateway {
80
77
  //#region lib/gateway/listeners-client.d.ts
81
78
  type Deps$2 = {
82
79
  port: number;
83
- isDaemonRunning: () => boolean; /** Returns the daemon's gateway token, or null if unavailable. Sent as `Authorization: Bearer`. */
80
+ isDaemonRunning: () => boolean;
81
+ /** Returns the daemon's gateway token, or null if unavailable. Sent as `Authorization: Bearer`. */
84
82
  getToken?: () => string | null;
85
83
  };
86
84
  declare const listenerEntrySchema: z.ZodObject<{
@@ -131,13 +129,21 @@ declare class FunnelListenersClient {
131
129
  //#endregion
132
130
  //#region lib/funnel.d.ts
133
131
  type Props$4 = {
134
- /** 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. */
135
- fs?: FunnelFileSystem; /** Process runner used by gateway / claude / gh listener. Replace with MemoryFunnelProcessRunner for tests. */
136
- process?: FunnelProcessRunner; /** Logger flowed into every facet. Replace with MemoryFunnelLogger or NoopFunnelLogger to silence/inspect. */
137
- logger?: FunnelLogger; /** Clock used by schedule listener, gh poll watermarks, and gateway timeouts. */
138
- clock?: FunnelClock; /** ID generator for channel and connector ids. Use MemoryFunnelIdGenerator for deterministic tests. */
139
- idGenerator?: FunnelIdGenerator; /** Funnel home directory (settings.json + per-channel/per-connector dirs). Defaults to ~/.funnel. */
140
- dir?: string; /** Temp / runtime directory (gateway logs and PID adjacent files). Defaults to `<os.tmpdir()>/funnel`. */
132
+ /** Settings persistence (channels with nested connectors / profiles). Defaults to a FunnelSettingsStore rooted at `dir`. */
133
+ store?: FunnelSettingsReader;
134
+ /** Filesystem boundary. Replace with MemoryFunnelFileSystem to sandbox all disk I/O. */
135
+ fs?: FunnelFileSystem;
136
+ /** Process runner used by gateway / claude / gh listener. Replace with MemoryFunnelProcessRunner for tests. */
137
+ process?: FunnelProcessRunner;
138
+ /** Logger flowed into every facet. Replace with MemoryFunnelLogger or NoopFunnelLogger to silence/inspect. */
139
+ logger?: FunnelLogger;
140
+ /** Clock used by schedule listener, gh poll watermarks, and gateway timeouts. */
141
+ clock?: FunnelClock;
142
+ /** ID generator for channel and connector ids. Use MemoryFunnelIdGenerator for deterministic tests. */
143
+ idGenerator?: FunnelIdGenerator;
144
+ /** Funnel home directory (settings.json + per-channel/per-connector dirs). Defaults to ~/.funnel. */
145
+ dir?: string;
146
+ /** Temp / runtime directory (gateway logs and PID adjacent files). Defaults to `<os.tmpdir()>/funnel`. */
141
147
  tmpDir?: string;
142
148
  /**
143
149
  * Connector types this funnel handles, passed as descriptors. Core imports no
@@ -195,7 +201,8 @@ type GatewayServerOptions = GatewayEventStore & {
195
201
  port?: number;
196
202
  hostname?: string;
197
203
  killCompetingSlack?: boolean;
198
- token?: string; /** Permit a non-loopback `hostname` without a token. See FunnelGatewayServer. */
204
+ token?: string;
205
+ /** Permit a non-loopback `hostname` without a token. See FunnelGatewayServer. */
199
206
  allowInsecureHost?: boolean;
200
207
  extraRoutes?: Hono<Env$1>;
201
208
  };
@@ -654,7 +661,8 @@ declare class FunnelTokenCollisionError extends FunnelError {
654
661
  //#region lib/gateway/service-routes.d.ts
655
662
  type Deps = {
656
663
  diagnostics: FunnelDiagnostics;
657
- doctor: FunnelDoctor; /** Bearer token to gate every endpoint. Empty string disables auth (tests only). */
664
+ doctor: FunnelDoctor;
665
+ /** Bearer token to gate every endpoint. Empty string disables auth (tests only). */
658
666
  token: string;
659
667
  };
660
668
  /**
@@ -677,7 +685,7 @@ type Env = {
677
685
  localConfigSync: FunnelLocalConfigSync;
678
686
  };
679
687
  };
680
- declare const factory: _$hono_factory0.Factory<Env, string>;
688
+ declare const factory: import("hono/factory").Factory<Env, string>;
681
689
  //#endregion
682
690
  //#region lib/cli/router/to-request.d.ts
683
691
  declare const toRequest: (args: string[]) => {
@@ -690,7 +698,7 @@ declare const toRequest: (args: string[]) => {
690
698
  declare const queryToCliArgs: (url: string, reservedKeys?: string[]) => string[];
691
699
  //#endregion
692
700
  //#region lib/cli/routes/index.d.ts
693
- declare const routes: _$hono_hono_base0.HonoBase<Env, {
701
+ declare const routes: import("hono/hono-base").HonoBase<Env, {
694
702
  "/claude": {
695
703
  $get: {
696
704
  input: {
@@ -702,7 +710,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
702
710
  };
703
711
  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 })";
704
712
  outputFormat: "text";
705
- status: _$hono_utils_http_status0.ContentfulStatusCode;
713
+ status: import("hono/utils/http-status").ContentfulStatusCode;
706
714
  };
707
715
  };
708
716
  } & {
@@ -711,7 +719,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
711
719
  input: {};
712
720
  output: string;
713
721
  outputFormat: "text";
714
- status: _$hono_utils_http_status0.ContentfulStatusCode;
722
+ status: import("hono/utils/http-status").ContentfulStatusCode;
715
723
  };
716
724
  };
717
725
  } & {
@@ -720,7 +728,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
720
728
  input: {};
721
729
  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";
722
730
  outputFormat: "text";
723
- status: _$hono_utils_http_status0.ContentfulStatusCode;
731
+ status: import("hono/utils/http-status").ContentfulStatusCode;
724
732
  };
725
733
  };
726
734
  } & {
@@ -737,7 +745,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
737
745
  };
738
746
  output: `added channel "${string}" (id: ${string})`;
739
747
  outputFormat: "text";
740
- status: _$hono_utils_http_status0.ContentfulStatusCode;
748
+ status: import("hono/utils/http-status").ContentfulStatusCode;
741
749
  };
742
750
  };
743
751
  } & {
@@ -746,7 +754,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
746
754
  input: {};
747
755
  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";
748
756
  outputFormat: "text";
749
- status: _$hono_utils_http_status0.ContentfulStatusCode;
757
+ status: import("hono/utils/http-status").ContentfulStatusCode;
750
758
  };
751
759
  };
752
760
  } & {
@@ -761,7 +769,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
761
769
  };
762
770
  output: `removed channel "${string}"`;
763
771
  outputFormat: "text";
764
- status: _$hono_utils_http_status0.ContentfulStatusCode;
772
+ status: import("hono/utils/http-status").ContentfulStatusCode;
765
773
  };
766
774
  };
767
775
  } & {
@@ -777,7 +785,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
777
785
  };
778
786
  output: `renamed channel "${string}" to "${string}"`;
779
787
  outputFormat: "text";
780
- status: _$hono_utils_http_status0.ContentfulStatusCode;
788
+ status: import("hono/utils/http-status").ContentfulStatusCode;
781
789
  };
782
790
  };
783
791
  } & {
@@ -793,7 +801,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
793
801
  };
794
802
  output: `renamed channel "${string}" to "${string}"`;
795
803
  outputFormat: "text";
796
- status: _$hono_utils_http_status0.ContentfulStatusCode;
804
+ status: import("hono/utils/http-status").ContentfulStatusCode;
797
805
  };
798
806
  };
799
807
  } & {
@@ -802,7 +810,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
802
810
  input: {};
803
811
  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>";
804
812
  outputFormat: "text";
805
- status: _$hono_utils_http_status0.ContentfulStatusCode;
813
+ status: import("hono/utils/http-status").ContentfulStatusCode;
806
814
  };
807
815
  };
808
816
  } & {
@@ -815,7 +823,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
815
823
  };
816
824
  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>";
817
825
  outputFormat: "text";
818
- status: _$hono_utils_http_status0.ContentfulStatusCode;
826
+ status: import("hono/utils/http-status").ContentfulStatusCode;
819
827
  };
820
828
  };
821
829
  } & {
@@ -829,7 +837,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
829
837
  };
830
838
  output: `channel "${string}" delivery set to fanout` | `channel "${string}" delivery set to exclusive`;
831
839
  outputFormat: "text";
832
- status: _$hono_utils_http_status0.ContentfulStatusCode;
840
+ status: import("hono/utils/http-status").ContentfulStatusCode;
833
841
  };
834
842
  };
835
843
  } & {
@@ -838,7 +846,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
838
846
  input: {};
839
847
  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";
840
848
  outputFormat: "text";
841
- status: _$hono_utils_http_status0.ContentfulStatusCode;
849
+ status: import("hono/utils/http-status").ContentfulStatusCode;
842
850
  };
843
851
  };
844
852
  } & {
@@ -857,7 +865,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
857
865
  };
858
866
  output: `published (offset=${number})`;
859
867
  outputFormat: "text";
860
- status: _$hono_utils_http_status0.ContentfulStatusCode;
868
+ status: import("hono/utils/http-status").ContentfulStatusCode;
861
869
  };
862
870
  };
863
871
  } & {
@@ -872,7 +880,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
872
880
  };
873
881
  output: string;
874
882
  outputFormat: "text";
875
- status: _$hono_utils_http_status0.ContentfulStatusCode;
883
+ status: import("hono/utils/http-status").ContentfulStatusCode;
876
884
  };
877
885
  };
878
886
  } & {
@@ -881,7 +889,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
881
889
  input: {};
882
890
  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";
883
891
  outputFormat: "text";
884
- status: _$hono_utils_http_status0.ContentfulStatusCode;
892
+ status: import("hono/utils/http-status").ContentfulStatusCode;
885
893
  };
886
894
  };
887
895
  } & {
@@ -894,7 +902,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
894
902
  };
895
903
  output: string;
896
904
  outputFormat: "text";
897
- status: _$hono_utils_http_status0.ContentfulStatusCode;
905
+ status: import("hono/utils/http-status").ContentfulStatusCode;
898
906
  };
899
907
  };
900
908
  } & {
@@ -907,7 +915,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
907
915
  };
908
916
  output: string;
909
917
  outputFormat: "text";
910
- status: _$hono_utils_http_status0.ContentfulStatusCode;
918
+ status: import("hono/utils/http-status").ContentfulStatusCode;
911
919
  };
912
920
  };
913
921
  } & {
@@ -920,7 +928,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
920
928
  };
921
929
  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";
922
930
  outputFormat: "text";
923
- status: _$hono_utils_http_status0.ContentfulStatusCode;
931
+ status: import("hono/utils/http-status").ContentfulStatusCode;
924
932
  };
925
933
  };
926
934
  } & {
@@ -948,7 +956,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
948
956
  };
949
957
  output: `added slack connector "${string}" to channel "${string}"`;
950
958
  outputFormat: "text";
951
- status: _$hono_utils_http_status0.ContentfulStatusCode;
959
+ status: import("hono/utils/http-status").ContentfulStatusCode;
952
960
  } | {
953
961
  input: {
954
962
  param: {
@@ -972,7 +980,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
972
980
  };
973
981
  output: `added gh connector "${string}" to channel "${string}"`;
974
982
  outputFormat: "text";
975
- status: _$hono_utils_http_status0.ContentfulStatusCode;
983
+ status: import("hono/utils/http-status").ContentfulStatusCode;
976
984
  } | {
977
985
  input: {
978
986
  param: {
@@ -996,7 +1004,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
996
1004
  };
997
1005
  output: `added discord connector "${string}" to channel "${string}"`;
998
1006
  outputFormat: "text";
999
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1007
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1000
1008
  } | {
1001
1009
  input: {
1002
1010
  param: {
@@ -1020,7 +1028,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1020
1028
  };
1021
1029
  output: `added schedule connector "${string}" to channel "${string}"`;
1022
1030
  outputFormat: "text";
1023
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1031
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1024
1032
  };
1025
1033
  };
1026
1034
  } & {
@@ -1033,7 +1041,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1033
1041
  };
1034
1042
  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";
1035
1043
  outputFormat: "text";
1036
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1044
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1037
1045
  };
1038
1046
  };
1039
1047
  } & {
@@ -1049,7 +1057,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1049
1057
  };
1050
1058
  output: `removed connector "${string}" from channel "${string}"`;
1051
1059
  outputFormat: "text";
1052
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1060
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1053
1061
  };
1054
1062
  };
1055
1063
  } & {
@@ -1062,7 +1070,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1062
1070
  };
1063
1071
  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";
1064
1072
  outputFormat: "text";
1065
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1073
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1066
1074
  };
1067
1075
  };
1068
1076
  } & {
@@ -1083,7 +1091,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1083
1091
  };
1084
1092
  output: `updated connector "${string}" in channel "${string}"`;
1085
1093
  outputFormat: "text";
1086
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1094
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1087
1095
  };
1088
1096
  };
1089
1097
  } & {
@@ -1100,7 +1108,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1100
1108
  };
1101
1109
  output: `renamed connector "${string}" to "${string}"`;
1102
1110
  outputFormat: "text";
1103
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1111
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1104
1112
  };
1105
1113
  };
1106
1114
  } & {
@@ -1117,7 +1125,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1117
1125
  };
1118
1126
  output: `renamed connector "${string}" to "${string}"`;
1119
1127
  outputFormat: "text";
1120
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1128
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1121
1129
  };
1122
1130
  };
1123
1131
  } & {
@@ -1130,7 +1138,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1130
1138
  };
1131
1139
  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";
1132
1140
  outputFormat: "text";
1133
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1141
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1134
1142
  };
1135
1143
  };
1136
1144
  } & {
@@ -1145,7 +1153,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1145
1153
  };
1146
1154
  output: "funnel channels <channel> connectors rename <connector> <new-name>\n\nusage: funnel channels <channel> connectors rename <connector> <new-name>";
1147
1155
  outputFormat: "text";
1148
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1156
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1149
1157
  };
1150
1158
  };
1151
1159
  } & {
@@ -1165,7 +1173,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1165
1173
  };
1166
1174
  output: string;
1167
1175
  outputFormat: "text";
1168
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1176
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1169
1177
  };
1170
1178
  };
1171
1179
  } & {
@@ -1179,7 +1187,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1179
1187
  };
1180
1188
  output: string;
1181
1189
  outputFormat: "text";
1182
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1190
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1183
1191
  };
1184
1192
  };
1185
1193
  } & {
@@ -1193,7 +1201,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1193
1201
  };
1194
1202
  output: string;
1195
1203
  outputFormat: "text";
1196
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1204
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1197
1205
  };
1198
1206
  };
1199
1207
  } & {
@@ -1208,7 +1216,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1208
1216
  };
1209
1217
  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)";
1210
1218
  outputFormat: "text";
1211
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1219
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1212
1220
  };
1213
1221
  };
1214
1222
  } & {
@@ -1230,7 +1238,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1230
1238
  };
1231
1239
  output: `added schedule entry "${string}"`;
1232
1240
  outputFormat: "text";
1233
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1241
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1234
1242
  };
1235
1243
  };
1236
1244
  } & {
@@ -1245,7 +1253,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1245
1253
  };
1246
1254
  output: "funnel channels <ch> connectors <conn> schedules remove <id>\n\nusage: funnel channels <ch> connectors <conn> schedules remove <id>";
1247
1255
  outputFormat: "text";
1248
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1256
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1249
1257
  };
1250
1258
  };
1251
1259
  } & {
@@ -1262,7 +1270,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1262
1270
  };
1263
1271
  output: `removed schedule entry "${string}"`;
1264
1272
  outputFormat: "text";
1265
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1273
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1266
1274
  };
1267
1275
  };
1268
1276
  } & {
@@ -1271,7 +1279,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1271
1279
  input: {};
1272
1280
  output: string;
1273
1281
  outputFormat: "text";
1274
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1282
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1275
1283
  };
1276
1284
  };
1277
1285
  } & {
@@ -1280,7 +1288,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1280
1288
  input: {};
1281
1289
  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).";
1282
1290
  outputFormat: "text";
1283
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1291
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1284
1292
  };
1285
1293
  };
1286
1294
  } & {
@@ -1303,7 +1311,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1303
1311
  };
1304
1312
  output: `added profile "${string}"`;
1305
1313
  outputFormat: "text";
1306
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1314
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1307
1315
  };
1308
1316
  };
1309
1317
  } & {
@@ -1312,7 +1320,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1312
1320
  input: {};
1313
1321
  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.";
1314
1322
  outputFormat: "text";
1315
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1323
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1316
1324
  };
1317
1325
  };
1318
1326
  } & {
@@ -1335,7 +1343,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1335
1343
  };
1336
1344
  output: `updated profile "${string}"`;
1337
1345
  outputFormat: "text";
1338
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1346
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1339
1347
  };
1340
1348
  };
1341
1349
  } & {
@@ -1344,7 +1352,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1344
1352
  input: {};
1345
1353
  output: "funnel profiles remove — remove a profile\n\nusage: funnel profiles remove <name>";
1346
1354
  outputFormat: "text";
1347
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1355
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1348
1356
  };
1349
1357
  };
1350
1358
  } & {
@@ -1359,7 +1367,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1359
1367
  };
1360
1368
  output: `removed profile "${string}"`;
1361
1369
  outputFormat: "text";
1362
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1370
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1363
1371
  };
1364
1372
  };
1365
1373
  } & {
@@ -1375,7 +1383,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1375
1383
  };
1376
1384
  output: `renamed profile "${string}" to "${string}"`;
1377
1385
  outputFormat: "text";
1378
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1386
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1379
1387
  };
1380
1388
  };
1381
1389
  } & {
@@ -1391,7 +1399,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1391
1399
  };
1392
1400
  output: `renamed profile "${string}" to "${string}"`;
1393
1401
  outputFormat: "text";
1394
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1402
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1395
1403
  };
1396
1404
  };
1397
1405
  } & {
@@ -1400,7 +1408,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1400
1408
  input: {};
1401
1409
  output: "funnel profiles rename — rename a profile\n\nusage:\n funnel profiles rename <old> <new>\n funnel profiles <old> rename <new>";
1402
1410
  outputFormat: "text";
1403
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1411
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1404
1412
  };
1405
1413
  };
1406
1414
  } & {
@@ -1413,7 +1421,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1413
1421
  };
1414
1422
  output: "funnel profiles rename — rename a profile\n\nusage:\n funnel profiles rename <old> <new>\n funnel profiles <old> rename <new>";
1415
1423
  outputFormat: "text";
1416
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1424
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1417
1425
  };
1418
1426
  };
1419
1427
  } & {
@@ -1426,7 +1434,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1426
1434
  };
1427
1435
  output: `profile "${string}" is now the default`;
1428
1436
  outputFormat: "text";
1429
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1437
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1430
1438
  };
1431
1439
  };
1432
1440
  } & {
@@ -1435,7 +1443,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1435
1443
  input: {};
1436
1444
  output: string;
1437
1445
  outputFormat: "text";
1438
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1446
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1439
1447
  };
1440
1448
  };
1441
1449
  } & {
@@ -1444,7 +1452,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1444
1452
  input: {};
1445
1453
  output: string;
1446
1454
  outputFormat: "text";
1447
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1455
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1448
1456
  };
1449
1457
  };
1450
1458
  } & {
@@ -1457,7 +1465,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1457
1465
  };
1458
1466
  output: "funnel gateway: already running (pid null)" | `funnel gateway: already running (pid ${number})`;
1459
1467
  outputFormat: "text";
1460
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1468
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1461
1469
  } | {
1462
1470
  input: {
1463
1471
  query: {
@@ -1466,7 +1474,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1466
1474
  };
1467
1475
  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\``;
1468
1476
  outputFormat: "text";
1469
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1477
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1470
1478
  } | {
1471
1479
  input: {
1472
1480
  query: {
@@ -1475,7 +1483,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1475
1483
  };
1476
1484
  output: `funnel gateway: started (pid null, port ${number})` | `funnel gateway: started (pid ${number}, port ${number})`;
1477
1485
  outputFormat: "text";
1478
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1486
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1479
1487
  };
1480
1488
  };
1481
1489
  } & {
@@ -1484,12 +1492,12 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1484
1492
  input: {};
1485
1493
  output: "funnel gateway: no running process";
1486
1494
  outputFormat: "text";
1487
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1495
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1488
1496
  } | {
1489
1497
  input: {};
1490
1498
  output: "funnel gateway: stopped";
1491
1499
  outputFormat: "text";
1492
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1500
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1493
1501
  };
1494
1502
  };
1495
1503
  } & {
@@ -1502,7 +1510,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1502
1510
  };
1503
1511
  output: string;
1504
1512
  outputFormat: "text";
1505
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1513
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1506
1514
  };
1507
1515
  };
1508
1516
  } & {
@@ -1516,7 +1524,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1516
1524
  };
1517
1525
  output: "no logs";
1518
1526
  outputFormat: "text";
1519
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1527
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1520
1528
  };
1521
1529
  };
1522
1530
  } & {
@@ -1532,7 +1540,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1532
1540
  };
1533
1541
  output: string;
1534
1542
  outputFormat: "text";
1535
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1543
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1536
1544
  };
1537
1545
  };
1538
1546
  } & {
@@ -1541,7 +1549,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1541
1549
  input: {};
1542
1550
  output: string;
1543
1551
  outputFormat: "text";
1544
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1552
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1545
1553
  };
1546
1554
  };
1547
1555
  } & {
@@ -1556,7 +1564,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1556
1564
  };
1557
1565
  output: string;
1558
1566
  outputFormat: "text";
1559
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1567
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1560
1568
  };
1561
1569
  };
1562
1570
  } & {
@@ -1571,7 +1579,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1571
1579
  };
1572
1580
  output: string;
1573
1581
  outputFormat: "text";
1574
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1582
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1575
1583
  };
1576
1584
  };
1577
1585
  } & {
@@ -1586,7 +1594,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1586
1594
  };
1587
1595
  output: string;
1588
1596
  outputFormat: "text";
1589
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1597
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1590
1598
  };
1591
1599
  };
1592
1600
  } & {
@@ -1601,7 +1609,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1601
1609
  };
1602
1610
  output: string;
1603
1611
  outputFormat: "text";
1604
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1612
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1605
1613
  };
1606
1614
  };
1607
1615
  } & {
@@ -1615,7 +1623,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1615
1623
  };
1616
1624
  output: string;
1617
1625
  outputFormat: "text";
1618
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1626
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1619
1627
  };
1620
1628
  };
1621
1629
  } & {
@@ -1630,7 +1638,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1630
1638
  };
1631
1639
  output: string;
1632
1640
  outputFormat: "text";
1633
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1641
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1634
1642
  };
1635
1643
  };
1636
1644
  } & {
@@ -1645,7 +1653,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1645
1653
  };
1646
1654
  output: string;
1647
1655
  outputFormat: "text";
1648
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1656
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1649
1657
  };
1650
1658
  };
1651
1659
  } & {
@@ -1659,7 +1667,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1659
1667
  };
1660
1668
  output: string;
1661
1669
  outputFormat: "text";
1662
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1670
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1663
1671
  };
1664
1672
  };
1665
1673
  } & {
@@ -1668,7 +1676,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1668
1676
  input: {};
1669
1677
  output: string;
1670
1678
  outputFormat: "text";
1671
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1679
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1672
1680
  };
1673
1681
  };
1674
1682
  } & {
@@ -1681,7 +1689,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1681
1689
  };
1682
1690
  output: string;
1683
1691
  outputFormat: "text";
1684
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1692
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1685
1693
  };
1686
1694
  };
1687
1695
  } & {
@@ -1695,7 +1703,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1695
1703
  };
1696
1704
  output: string;
1697
1705
  outputFormat: "text";
1698
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1706
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1699
1707
  };
1700
1708
  };
1701
1709
  } & {
@@ -1705,7 +1713,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1705
1713
  output: `${string}
1706
1714
  `;
1707
1715
  outputFormat: "text";
1708
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1716
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1709
1717
  };
1710
1718
  };
1711
1719
  } & {
@@ -1719,7 +1727,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1719
1727
  };
1720
1728
  output: string;
1721
1729
  outputFormat: "text";
1722
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1730
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1723
1731
  };
1724
1732
  };
1725
1733
  } & {
@@ -1728,7 +1736,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1728
1736
  input: {};
1729
1737
  output: "updated @interactive-inc/claude-funnel";
1730
1738
  outputFormat: "text";
1731
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1739
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1732
1740
  };
1733
1741
  };
1734
1742
  }, "/", "/update">;