@interactive-inc/claude-funnel 0.66.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 (88) hide show
  1. package/README.md +8 -4
  2. package/dist/bin.js +275 -372
  3. package/dist/channel.d.ts +76 -52
  4. package/dist/channel.js +82 -47
  5. package/dist/{channels-DR90RmUP.d.ts → channels-BBA3GTAa.d.ts} +5 -6
  6. package/dist/claude.d.ts +11 -8
  7. package/dist/claude.js +31 -15
  8. package/dist/{connector-descriptor-CmyHlEiT.d.ts → connector-descriptor-F75ZI8Fh.d.ts} +26 -15
  9. package/dist/{connector-diagnostics-recorder-COtNEmUp.js → connector-diagnostics-recorder-BmOijU1p.js} +1 -0
  10. package/dist/connectors/discord.d.ts +10 -8
  11. package/dist/connectors/discord.js +2 -2
  12. package/dist/connectors/gh.d.ts +6 -6
  13. package/dist/connectors/gh.js +2 -2
  14. package/dist/connectors/schedule.d.ts +10 -8
  15. package/dist/connectors/schedule.js +2 -2
  16. package/dist/connectors/slack.d.ts +14 -10
  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-D1dyxhXk.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-CiBwXjzm.d.ts → file-process-guard-DAYe9Ndt.d.ts} +22 -18
  27. package/dist/{file-system-DHgbuTFb.d.ts → file-system-BNtl997T.d.ts} +2 -1
  28. package/dist/{flume-source-listener-FzR5lGpL.d.ts → flume-source-listener-CLtsdcT2.d.ts} +8 -6
  29. package/dist/{funnel-diagnostics-Cvk6Sk4x.js → funnel-diagnostics-B-PCuv_E.js} +4 -3
  30. package/dist/{funnel-diagnostics-kbd27d7I.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-CVTNUtDn.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-D8MkiTpk.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 -3
  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-BCHEqpUg.d.ts → gh-connector-schema-BrNsCl1T.d.ts} +0 -1
  43. package/dist/{index-BU1TtuFy.d.ts → index-B4RvEaW-.d.ts} +205 -40
  44. package/dist/index.d.ts +115 -109
  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.d.ts +29 -13
  50. package/dist/logger.js +1 -1
  51. package/dist/{memory-token-prompter-D0kIdhar.d.ts → memory-token-prompter-D3R_kgM_.d.ts} +2 -3
  52. package/dist/{node-file-system-BOXIHW_Q.js → node-file-system-xJx7dymE.js} +11 -3
  53. package/dist/{profiles-M24JrcOh.d.ts → profiles-CePRnv3F.d.ts} +3 -4
  54. package/dist/{profiles-ZHLONml4.js → profiles-KpN7_gBw.js} +19 -5
  55. package/dist/profiles.d.ts +1 -1
  56. package/dist/profiles.js +1 -1
  57. package/dist/recovery.d.ts +1 -1
  58. package/dist/recovery.js +1 -1
  59. package/dist/{schedule-connector-schema-D7ZEKvit.d.ts → schedule-connector-schema-DBko_Bf7.d.ts} +0 -1
  60. package/dist/{schedule-connector-9k3gOIgl.js → schedule-connector-teeDMHUe.js} +5 -5
  61. package/dist/{settings-reader-BnKIbmsD.d.ts → settings-reader-CyTpbAre.d.ts} +1 -2
  62. package/dist/{settings-schema-IShSMm5G.d.ts → settings-schema-B-CKLuST.d.ts} +0 -1
  63. package/dist/{settings-store-ccv291GV.js → settings-store-ZFWBhOnp.js} +12 -3
  64. package/dist/{slack-connector-CxpWagbT.js → slack-connector-BE0KAjCs.js} +10 -9
  65. package/dist/{slack-event-processor-xFDG3US0.js → slack-event-processor-Cs_YuI3w.js} +2 -2
  66. package/dist/{slack-event-processor-BDTr62cN.d.ts → slack-event-processor-DmAlq4cV.d.ts} +0 -1
  67. package/dist/{slot-fields-D-pvMgTK.js → slot-fields-5ERhytIA.js} +3 -3
  68. package/dist/{sqlite-diagnostic-log-CwhXE9Qh.js → sqlite-diagnostic-log-BDxfXGZy.js} +42 -19
  69. package/dist/{yaml-render-DVEtYuF1.js → yaml-render-DxxRQT-V.js} +3 -3
  70. package/package.json +10 -10
  71. package/dist/broadcaster-DVNcw00K.d.ts +0 -138
  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-Cd66sKyV.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/{logger-Bc_Ooypb.d.ts → logger-mMZvblTx.d.ts} +0 -0
  83. /package/dist/{loopback-fetch-CVNuN3YZ.js → loopback-fetch-HP-bo9Kv.js} +0 -0
  84. /package/dist/{node-http-client-u00atiKx.js → node-http-client-SX3xFh4h.js} +0 -0
  85. /package/dist/{node-process-runner-DxTvycoK.js → node-process-runner-D4rzPl8Q.js} +0 -0
  86. /package/dist/{resolve-connector-token-DxDG9mhf.js → resolve-connector-token-BwiJCu82.js} +0 -0
  87. /package/dist/{schedule-connector-schema-DKEPZnVv.js → schedule-connector-schema-C2AChpwX.js} +0 -0
  88. /package/dist/{slack-connector-schema-Dem8to4P.js → slack-connector-schema-EGVuuqSX.js} +0 -0
package/dist/index.d.ts CHANGED
@@ -1,29 +1,24 @@
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-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";
20
19
  import { hc } from "hono/client";
21
20
  import { z } from "zod";
22
- import * as _$hono_factory0 from "hono/factory";
23
21
  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
22
  //#region lib/gateway/gateway.d.ts
28
23
  type Deps$3 = {
29
24
  process?: FunnelProcessRunner;
@@ -82,7 +77,8 @@ declare class FunnelGateway {
82
77
  //#region lib/gateway/listeners-client.d.ts
83
78
  type Deps$2 = {
84
79
  port: number;
85
- 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`. */
86
82
  getToken?: () => string | null;
87
83
  };
88
84
  declare const listenerEntrySchema: z.ZodObject<{
@@ -133,13 +129,21 @@ declare class FunnelListenersClient {
133
129
  //#endregion
134
130
  //#region lib/funnel.d.ts
135
131
  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`. */
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`. */
143
147
  tmpDir?: string;
144
148
  /**
145
149
  * Connector types this funnel handles, passed as descriptors. Core imports no
@@ -197,7 +201,8 @@ type GatewayServerOptions = GatewayEventStore & {
197
201
  port?: number;
198
202
  hostname?: string;
199
203
  killCompetingSlack?: boolean;
200
- 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. */
201
206
  allowInsecureHost?: boolean;
202
207
  extraRoutes?: Hono<Env$1>;
203
208
  };
@@ -656,7 +661,8 @@ declare class FunnelTokenCollisionError extends FunnelError {
656
661
  //#region lib/gateway/service-routes.d.ts
657
662
  type Deps = {
658
663
  diagnostics: FunnelDiagnostics;
659
- 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). */
660
666
  token: string;
661
667
  };
662
668
  /**
@@ -679,7 +685,7 @@ type Env = {
679
685
  localConfigSync: FunnelLocalConfigSync;
680
686
  };
681
687
  };
682
- declare const factory: _$hono_factory0.Factory<Env, string>;
688
+ declare const factory: import("hono/factory").Factory<Env, string>;
683
689
  //#endregion
684
690
  //#region lib/cli/router/to-request.d.ts
685
691
  declare const toRequest: (args: string[]) => {
@@ -692,7 +698,7 @@ declare const toRequest: (args: string[]) => {
692
698
  declare const queryToCliArgs: (url: string, reservedKeys?: string[]) => string[];
693
699
  //#endregion
694
700
  //#region lib/cli/routes/index.d.ts
695
- declare const routes: _$hono_hono_base0.HonoBase<Env, {
701
+ declare const routes: import("hono/hono-base").HonoBase<Env, {
696
702
  "/claude": {
697
703
  $get: {
698
704
  input: {
@@ -704,7 +710,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
704
710
  };
705
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 })";
706
712
  outputFormat: "text";
707
- status: _$hono_utils_http_status0.ContentfulStatusCode;
713
+ status: import("hono/utils/http-status").ContentfulStatusCode;
708
714
  };
709
715
  };
710
716
  } & {
@@ -713,7 +719,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
713
719
  input: {};
714
720
  output: string;
715
721
  outputFormat: "text";
716
- status: _$hono_utils_http_status0.ContentfulStatusCode;
722
+ status: import("hono/utils/http-status").ContentfulStatusCode;
717
723
  };
718
724
  };
719
725
  } & {
@@ -722,7 +728,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
722
728
  input: {};
723
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";
724
730
  outputFormat: "text";
725
- status: _$hono_utils_http_status0.ContentfulStatusCode;
731
+ status: import("hono/utils/http-status").ContentfulStatusCode;
726
732
  };
727
733
  };
728
734
  } & {
@@ -739,7 +745,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
739
745
  };
740
746
  output: `added channel "${string}" (id: ${string})`;
741
747
  outputFormat: "text";
742
- status: _$hono_utils_http_status0.ContentfulStatusCode;
748
+ status: import("hono/utils/http-status").ContentfulStatusCode;
743
749
  };
744
750
  };
745
751
  } & {
@@ -748,7 +754,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
748
754
  input: {};
749
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";
750
756
  outputFormat: "text";
751
- status: _$hono_utils_http_status0.ContentfulStatusCode;
757
+ status: import("hono/utils/http-status").ContentfulStatusCode;
752
758
  };
753
759
  };
754
760
  } & {
@@ -763,7 +769,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
763
769
  };
764
770
  output: `removed channel "${string}"`;
765
771
  outputFormat: "text";
766
- status: _$hono_utils_http_status0.ContentfulStatusCode;
772
+ status: import("hono/utils/http-status").ContentfulStatusCode;
767
773
  };
768
774
  };
769
775
  } & {
@@ -779,7 +785,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
779
785
  };
780
786
  output: `renamed channel "${string}" to "${string}"`;
781
787
  outputFormat: "text";
782
- status: _$hono_utils_http_status0.ContentfulStatusCode;
788
+ status: import("hono/utils/http-status").ContentfulStatusCode;
783
789
  };
784
790
  };
785
791
  } & {
@@ -795,7 +801,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
795
801
  };
796
802
  output: `renamed channel "${string}" to "${string}"`;
797
803
  outputFormat: "text";
798
- status: _$hono_utils_http_status0.ContentfulStatusCode;
804
+ status: import("hono/utils/http-status").ContentfulStatusCode;
799
805
  };
800
806
  };
801
807
  } & {
@@ -804,7 +810,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
804
810
  input: {};
805
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>";
806
812
  outputFormat: "text";
807
- status: _$hono_utils_http_status0.ContentfulStatusCode;
813
+ status: import("hono/utils/http-status").ContentfulStatusCode;
808
814
  };
809
815
  };
810
816
  } & {
@@ -817,7 +823,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
817
823
  };
818
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>";
819
825
  outputFormat: "text";
820
- status: _$hono_utils_http_status0.ContentfulStatusCode;
826
+ status: import("hono/utils/http-status").ContentfulStatusCode;
821
827
  };
822
828
  };
823
829
  } & {
@@ -831,7 +837,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
831
837
  };
832
838
  output: `channel "${string}" delivery set to fanout` | `channel "${string}" delivery set to exclusive`;
833
839
  outputFormat: "text";
834
- status: _$hono_utils_http_status0.ContentfulStatusCode;
840
+ status: import("hono/utils/http-status").ContentfulStatusCode;
835
841
  };
836
842
  };
837
843
  } & {
@@ -840,7 +846,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
840
846
  input: {};
841
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";
842
848
  outputFormat: "text";
843
- status: _$hono_utils_http_status0.ContentfulStatusCode;
849
+ status: import("hono/utils/http-status").ContentfulStatusCode;
844
850
  };
845
851
  };
846
852
  } & {
@@ -859,7 +865,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
859
865
  };
860
866
  output: `published (offset=${number})`;
861
867
  outputFormat: "text";
862
- status: _$hono_utils_http_status0.ContentfulStatusCode;
868
+ status: import("hono/utils/http-status").ContentfulStatusCode;
863
869
  };
864
870
  };
865
871
  } & {
@@ -874,7 +880,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
874
880
  };
875
881
  output: string;
876
882
  outputFormat: "text";
877
- status: _$hono_utils_http_status0.ContentfulStatusCode;
883
+ status: import("hono/utils/http-status").ContentfulStatusCode;
878
884
  };
879
885
  };
880
886
  } & {
@@ -883,7 +889,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
883
889
  input: {};
884
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";
885
891
  outputFormat: "text";
886
- status: _$hono_utils_http_status0.ContentfulStatusCode;
892
+ status: import("hono/utils/http-status").ContentfulStatusCode;
887
893
  };
888
894
  };
889
895
  } & {
@@ -896,7 +902,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
896
902
  };
897
903
  output: string;
898
904
  outputFormat: "text";
899
- status: _$hono_utils_http_status0.ContentfulStatusCode;
905
+ status: import("hono/utils/http-status").ContentfulStatusCode;
900
906
  };
901
907
  };
902
908
  } & {
@@ -909,7 +915,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
909
915
  };
910
916
  output: string;
911
917
  outputFormat: "text";
912
- status: _$hono_utils_http_status0.ContentfulStatusCode;
918
+ status: import("hono/utils/http-status").ContentfulStatusCode;
913
919
  };
914
920
  };
915
921
  } & {
@@ -922,7 +928,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
922
928
  };
923
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";
924
930
  outputFormat: "text";
925
- status: _$hono_utils_http_status0.ContentfulStatusCode;
931
+ status: import("hono/utils/http-status").ContentfulStatusCode;
926
932
  };
927
933
  };
928
934
  } & {
@@ -950,7 +956,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
950
956
  };
951
957
  output: `added slack connector "${string}" to channel "${string}"`;
952
958
  outputFormat: "text";
953
- status: _$hono_utils_http_status0.ContentfulStatusCode;
959
+ status: import("hono/utils/http-status").ContentfulStatusCode;
954
960
  } | {
955
961
  input: {
956
962
  param: {
@@ -974,7 +980,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
974
980
  };
975
981
  output: `added gh connector "${string}" to channel "${string}"`;
976
982
  outputFormat: "text";
977
- status: _$hono_utils_http_status0.ContentfulStatusCode;
983
+ status: import("hono/utils/http-status").ContentfulStatusCode;
978
984
  } | {
979
985
  input: {
980
986
  param: {
@@ -998,7 +1004,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
998
1004
  };
999
1005
  output: `added discord connector "${string}" to channel "${string}"`;
1000
1006
  outputFormat: "text";
1001
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1007
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1002
1008
  } | {
1003
1009
  input: {
1004
1010
  param: {
@@ -1022,7 +1028,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1022
1028
  };
1023
1029
  output: `added schedule connector "${string}" to channel "${string}"`;
1024
1030
  outputFormat: "text";
1025
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1031
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1026
1032
  };
1027
1033
  };
1028
1034
  } & {
@@ -1035,7 +1041,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1035
1041
  };
1036
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";
1037
1043
  outputFormat: "text";
1038
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1044
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1039
1045
  };
1040
1046
  };
1041
1047
  } & {
@@ -1051,7 +1057,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1051
1057
  };
1052
1058
  output: `removed connector "${string}" from channel "${string}"`;
1053
1059
  outputFormat: "text";
1054
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1060
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1055
1061
  };
1056
1062
  };
1057
1063
  } & {
@@ -1064,7 +1070,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1064
1070
  };
1065
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";
1066
1072
  outputFormat: "text";
1067
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1073
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1068
1074
  };
1069
1075
  };
1070
1076
  } & {
@@ -1085,7 +1091,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1085
1091
  };
1086
1092
  output: `updated connector "${string}" in channel "${string}"`;
1087
1093
  outputFormat: "text";
1088
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1094
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1089
1095
  };
1090
1096
  };
1091
1097
  } & {
@@ -1102,7 +1108,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1102
1108
  };
1103
1109
  output: `renamed connector "${string}" to "${string}"`;
1104
1110
  outputFormat: "text";
1105
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1111
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1106
1112
  };
1107
1113
  };
1108
1114
  } & {
@@ -1119,7 +1125,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1119
1125
  };
1120
1126
  output: `renamed connector "${string}" to "${string}"`;
1121
1127
  outputFormat: "text";
1122
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1128
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1123
1129
  };
1124
1130
  };
1125
1131
  } & {
@@ -1132,7 +1138,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1132
1138
  };
1133
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";
1134
1140
  outputFormat: "text";
1135
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1141
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1136
1142
  };
1137
1143
  };
1138
1144
  } & {
@@ -1147,7 +1153,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1147
1153
  };
1148
1154
  output: "funnel channels <channel> connectors rename <connector> <new-name>\n\nusage: funnel channels <channel> connectors rename <connector> <new-name>";
1149
1155
  outputFormat: "text";
1150
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1156
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1151
1157
  };
1152
1158
  };
1153
1159
  } & {
@@ -1167,7 +1173,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1167
1173
  };
1168
1174
  output: string;
1169
1175
  outputFormat: "text";
1170
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1176
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1171
1177
  };
1172
1178
  };
1173
1179
  } & {
@@ -1181,7 +1187,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1181
1187
  };
1182
1188
  output: string;
1183
1189
  outputFormat: "text";
1184
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1190
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1185
1191
  };
1186
1192
  };
1187
1193
  } & {
@@ -1195,7 +1201,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1195
1201
  };
1196
1202
  output: string;
1197
1203
  outputFormat: "text";
1198
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1204
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1199
1205
  };
1200
1206
  };
1201
1207
  } & {
@@ -1210,7 +1216,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1210
1216
  };
1211
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)";
1212
1218
  outputFormat: "text";
1213
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1219
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1214
1220
  };
1215
1221
  };
1216
1222
  } & {
@@ -1232,7 +1238,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1232
1238
  };
1233
1239
  output: `added schedule entry "${string}"`;
1234
1240
  outputFormat: "text";
1235
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1241
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1236
1242
  };
1237
1243
  };
1238
1244
  } & {
@@ -1247,7 +1253,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1247
1253
  };
1248
1254
  output: "funnel channels <ch> connectors <conn> schedules remove <id>\n\nusage: funnel channels <ch> connectors <conn> schedules remove <id>";
1249
1255
  outputFormat: "text";
1250
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1256
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1251
1257
  };
1252
1258
  };
1253
1259
  } & {
@@ -1264,7 +1270,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1264
1270
  };
1265
1271
  output: `removed schedule entry "${string}"`;
1266
1272
  outputFormat: "text";
1267
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1273
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1268
1274
  };
1269
1275
  };
1270
1276
  } & {
@@ -1273,7 +1279,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1273
1279
  input: {};
1274
1280
  output: string;
1275
1281
  outputFormat: "text";
1276
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1282
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1277
1283
  };
1278
1284
  };
1279
1285
  } & {
@@ -1282,7 +1288,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1282
1288
  input: {};
1283
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).";
1284
1290
  outputFormat: "text";
1285
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1291
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1286
1292
  };
1287
1293
  };
1288
1294
  } & {
@@ -1305,7 +1311,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1305
1311
  };
1306
1312
  output: `added profile "${string}"`;
1307
1313
  outputFormat: "text";
1308
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1314
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1309
1315
  };
1310
1316
  };
1311
1317
  } & {
@@ -1314,7 +1320,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1314
1320
  input: {};
1315
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.";
1316
1322
  outputFormat: "text";
1317
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1323
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1318
1324
  };
1319
1325
  };
1320
1326
  } & {
@@ -1337,7 +1343,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1337
1343
  };
1338
1344
  output: `updated profile "${string}"`;
1339
1345
  outputFormat: "text";
1340
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1346
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1341
1347
  };
1342
1348
  };
1343
1349
  } & {
@@ -1346,7 +1352,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1346
1352
  input: {};
1347
1353
  output: "funnel profiles remove — remove a profile\n\nusage: funnel profiles remove <name>";
1348
1354
  outputFormat: "text";
1349
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1355
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1350
1356
  };
1351
1357
  };
1352
1358
  } & {
@@ -1361,7 +1367,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1361
1367
  };
1362
1368
  output: `removed profile "${string}"`;
1363
1369
  outputFormat: "text";
1364
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1370
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1365
1371
  };
1366
1372
  };
1367
1373
  } & {
@@ -1377,7 +1383,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1377
1383
  };
1378
1384
  output: `renamed profile "${string}" to "${string}"`;
1379
1385
  outputFormat: "text";
1380
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1386
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1381
1387
  };
1382
1388
  };
1383
1389
  } & {
@@ -1393,7 +1399,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1393
1399
  };
1394
1400
  output: `renamed profile "${string}" to "${string}"`;
1395
1401
  outputFormat: "text";
1396
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1402
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1397
1403
  };
1398
1404
  };
1399
1405
  } & {
@@ -1402,7 +1408,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1402
1408
  input: {};
1403
1409
  output: "funnel profiles rename — rename a profile\n\nusage:\n funnel profiles rename <old> <new>\n funnel profiles <old> rename <new>";
1404
1410
  outputFormat: "text";
1405
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1411
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1406
1412
  };
1407
1413
  };
1408
1414
  } & {
@@ -1415,7 +1421,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1415
1421
  };
1416
1422
  output: "funnel profiles rename — rename a profile\n\nusage:\n funnel profiles rename <old> <new>\n funnel profiles <old> rename <new>";
1417
1423
  outputFormat: "text";
1418
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1424
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1419
1425
  };
1420
1426
  };
1421
1427
  } & {
@@ -1428,7 +1434,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1428
1434
  };
1429
1435
  output: `profile "${string}" is now the default`;
1430
1436
  outputFormat: "text";
1431
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1437
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1432
1438
  };
1433
1439
  };
1434
1440
  } & {
@@ -1437,7 +1443,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1437
1443
  input: {};
1438
1444
  output: string;
1439
1445
  outputFormat: "text";
1440
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1446
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1441
1447
  };
1442
1448
  };
1443
1449
  } & {
@@ -1446,7 +1452,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1446
1452
  input: {};
1447
1453
  output: string;
1448
1454
  outputFormat: "text";
1449
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1455
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1450
1456
  };
1451
1457
  };
1452
1458
  } & {
@@ -1459,7 +1465,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1459
1465
  };
1460
1466
  output: "funnel gateway: already running (pid null)" | `funnel gateway: already running (pid ${number})`;
1461
1467
  outputFormat: "text";
1462
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1468
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1463
1469
  } | {
1464
1470
  input: {
1465
1471
  query: {
@@ -1468,7 +1474,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1468
1474
  };
1469
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\``;
1470
1476
  outputFormat: "text";
1471
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1477
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1472
1478
  } | {
1473
1479
  input: {
1474
1480
  query: {
@@ -1477,7 +1483,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1477
1483
  };
1478
1484
  output: `funnel gateway: started (pid null, port ${number})` | `funnel gateway: started (pid ${number}, port ${number})`;
1479
1485
  outputFormat: "text";
1480
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1486
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1481
1487
  };
1482
1488
  };
1483
1489
  } & {
@@ -1486,12 +1492,12 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1486
1492
  input: {};
1487
1493
  output: "funnel gateway: no running process";
1488
1494
  outputFormat: "text";
1489
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1495
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1490
1496
  } | {
1491
1497
  input: {};
1492
1498
  output: "funnel gateway: stopped";
1493
1499
  outputFormat: "text";
1494
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1500
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1495
1501
  };
1496
1502
  };
1497
1503
  } & {
@@ -1504,7 +1510,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1504
1510
  };
1505
1511
  output: string;
1506
1512
  outputFormat: "text";
1507
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1513
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1508
1514
  };
1509
1515
  };
1510
1516
  } & {
@@ -1518,7 +1524,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1518
1524
  };
1519
1525
  output: "no logs";
1520
1526
  outputFormat: "text";
1521
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1527
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1522
1528
  };
1523
1529
  };
1524
1530
  } & {
@@ -1534,7 +1540,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1534
1540
  };
1535
1541
  output: string;
1536
1542
  outputFormat: "text";
1537
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1543
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1538
1544
  };
1539
1545
  };
1540
1546
  } & {
@@ -1543,7 +1549,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1543
1549
  input: {};
1544
1550
  output: string;
1545
1551
  outputFormat: "text";
1546
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1552
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1547
1553
  };
1548
1554
  };
1549
1555
  } & {
@@ -1558,7 +1564,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1558
1564
  };
1559
1565
  output: string;
1560
1566
  outputFormat: "text";
1561
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1567
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1562
1568
  };
1563
1569
  };
1564
1570
  } & {
@@ -1573,7 +1579,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1573
1579
  };
1574
1580
  output: string;
1575
1581
  outputFormat: "text";
1576
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1582
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1577
1583
  };
1578
1584
  };
1579
1585
  } & {
@@ -1588,7 +1594,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1588
1594
  };
1589
1595
  output: string;
1590
1596
  outputFormat: "text";
1591
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1597
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1592
1598
  };
1593
1599
  };
1594
1600
  } & {
@@ -1603,7 +1609,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1603
1609
  };
1604
1610
  output: string;
1605
1611
  outputFormat: "text";
1606
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1612
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1607
1613
  };
1608
1614
  };
1609
1615
  } & {
@@ -1617,7 +1623,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1617
1623
  };
1618
1624
  output: string;
1619
1625
  outputFormat: "text";
1620
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1626
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1621
1627
  };
1622
1628
  };
1623
1629
  } & {
@@ -1632,7 +1638,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1632
1638
  };
1633
1639
  output: string;
1634
1640
  outputFormat: "text";
1635
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1641
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1636
1642
  };
1637
1643
  };
1638
1644
  } & {
@@ -1647,7 +1653,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1647
1653
  };
1648
1654
  output: string;
1649
1655
  outputFormat: "text";
1650
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1656
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1651
1657
  };
1652
1658
  };
1653
1659
  } & {
@@ -1661,7 +1667,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1661
1667
  };
1662
1668
  output: string;
1663
1669
  outputFormat: "text";
1664
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1670
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1665
1671
  };
1666
1672
  };
1667
1673
  } & {
@@ -1670,7 +1676,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1670
1676
  input: {};
1671
1677
  output: string;
1672
1678
  outputFormat: "text";
1673
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1679
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1674
1680
  };
1675
1681
  };
1676
1682
  } & {
@@ -1683,7 +1689,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1683
1689
  };
1684
1690
  output: string;
1685
1691
  outputFormat: "text";
1686
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1692
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1687
1693
  };
1688
1694
  };
1689
1695
  } & {
@@ -1697,7 +1703,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1697
1703
  };
1698
1704
  output: string;
1699
1705
  outputFormat: "text";
1700
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1706
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1701
1707
  };
1702
1708
  };
1703
1709
  } & {
@@ -1707,7 +1713,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1707
1713
  output: `${string}
1708
1714
  `;
1709
1715
  outputFormat: "text";
1710
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1716
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1711
1717
  };
1712
1718
  };
1713
1719
  } & {
@@ -1721,7 +1727,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1721
1727
  };
1722
1728
  output: string;
1723
1729
  outputFormat: "text";
1724
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1730
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1725
1731
  };
1726
1732
  };
1727
1733
  } & {
@@ -1730,7 +1736,7 @@ declare const routes: _$hono_hono_base0.HonoBase<Env, {
1730
1736
  input: {};
1731
1737
  output: "updated @interactive-inc/claude-funnel";
1732
1738
  outputFormat: "text";
1733
- status: _$hono_utils_http_status0.ContentfulStatusCode;
1739
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1734
1740
  };
1735
1741
  };
1736
1742
  }, "/", "/update">;