@interactive-inc/claude-funnel 0.65.0 → 0.66.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.
- package/dist/bin.js +127 -127
- package/dist/broadcaster-DVNcw00K.d.ts +138 -0
- package/dist/channel.d.ts +161 -0
- package/dist/channel.js +203 -0
- package/dist/{channels-CRGb6B5_.d.ts → channels-DR90RmUP.d.ts} +5 -4
- package/dist/claude.d.ts +4 -4
- package/dist/{connector-descriptor-BFIhyTfa.d.ts → connector-descriptor-CmyHlEiT.d.ts} +3 -26
- package/dist/connectors/discord.d.ts +4 -3
- package/dist/connectors/gh.d.ts +4 -3
- package/dist/connectors/schedule.d.ts +4 -3
- package/dist/connectors/slack.d.ts +4 -3
- package/dist/diagnostics.d.ts +1 -1
- package/dist/docs.d.ts +1 -1
- package/dist/doctor.d.ts +1 -1
- package/dist/{file-process-guard-tVcgckH6.d.ts → file-process-guard-CiBwXjzm.d.ts} +5 -4
- package/dist/{flume-source-listener-BNyAII7N.d.ts → flume-source-listener-FzR5lGpL.d.ts} +2 -1
- package/dist/{funnel-diagnostics-b9ar0Ing.d.ts → funnel-diagnostics-kbd27d7I.d.ts} +1 -1
- package/dist/{funnel-doctor-CnRQi4kM.d.ts → funnel-doctor-CVTNUtDn.d.ts} +2 -2
- package/dist/{funnel-recovery-CMhY8Jfk.d.ts → funnel-recovery-D8MkiTpk.d.ts} +1 -1
- package/dist/gateway/daemon.js +16 -16
- package/dist/gateway.d.ts +3 -2
- package/dist/{index-Ds6sHhA-.d.ts → index-BU1TtuFy.d.ts} +6 -139
- package/dist/index.d.ts +19 -17
- package/dist/local-config.d.ts +2 -2
- package/dist/logger-Bc_Ooypb.d.ts +25 -0
- package/dist/{memory-token-prompter-BoV8Hf-n.d.ts → memory-token-prompter-D0kIdhar.d.ts} +2 -2
- package/dist/{profiles-cVZQkM69.d.ts → profiles-M24JrcOh.d.ts} +3 -3
- package/dist/profiles.d.ts +1 -1
- package/dist/recovery.d.ts +1 -1
- package/dist/{settings-reader-BNxjsxCB.d.ts → settings-reader-BnKIbmsD.d.ts} +1 -1
- package/package.json +7 -2
- /package/dist/{discord-connector-schema-D-bOVAKt.d.ts → discord-connector-schema-D1dyxhXk.d.ts} +0 -0
- /package/dist/{file-system-VhwwXZbm.d.ts → file-system-DHgbuTFb.d.ts} +0 -0
- /package/dist/{funnel-docs-CNklHvbt.d.ts → funnel-docs-Cd66sKyV.d.ts} +0 -0
- /package/dist/{gh-connector-schema-DWQaB6gX.d.ts → gh-connector-schema-BCHEqpUg.d.ts} +0 -0
- /package/dist/{schedule-connector-schema-Z0RXLgPI.d.ts → schedule-connector-schema-D7ZEKvit.d.ts} +0 -0
- /package/dist/{settings-schema-BL_c2Udm.d.ts → settings-schema-IShSMm5G.d.ts} +0 -0
- /package/dist/{slack-event-processor-BhCf5Wiy.d.ts → slack-event-processor-BDTr62cN.d.ts} +0 -0
package/dist/gateway.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { i as ReplayableEvent, n as BroadcastSubscriber, r as FunnelBroadcaster, t as BroadcastEvent } from "./broadcaster-DVNcw00K.js";
|
|
2
|
+
import { C as ConnectorRawRecord, D as connectorConnectionEventSchema, E as StoredRawEvent, O as connectorProcessedEventSchema, S as ConnectorRawQuery, T as StoredProcessedEvent, _ as ConnectorProcessedEvent, b as ConnectorQuery, d as CONNECTOR_CONNECTION_STATUSES, f as ConnectorConnectionEvent, g as ConnectorDiagnosticLog, h as ConnectorConnectionStatus, k as connectorRawEventSchema, m as ConnectorConnectionRecord, p as ConnectorConnectionQuery, v as ConnectorProcessedQuery, w as StoredConnectionEvent, x as ConnectorRawEvent, y as ConnectorProcessedRecord } from "./connector-descriptor-CmyHlEiT.js";
|
|
3
|
+
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, x as FunnelEventLog, y as GatewayEventStore } from "./index-BU1TtuFy.js";
|
|
3
4
|
export { BroadcastEvent, BroadcastSubscriber, CONNECTOR_CONNECTION_STATUSES, ChannelWsUrlInput, ConnectorConnectionEvent, ConnectorConnectionQuery, ConnectorConnectionRecord, ConnectorConnectionStatus, ConnectorDiagnosticLog, ConnectorProcessedEvent, ConnectorProcessedQuery, ConnectorProcessedRecord, ConnectorQuery, ConnectorRawEvent, ConnectorRawQuery, ConnectorRawRecord, DEFAULT_GATEWAY_TOKEN_PATH, FunnelBroadcaster, FunnelChannelPublisher, FunnelEvent, FunnelEventLog, FunnelEventRecord, FunnelGatewayServer, FunnelGatewayToken, FunnelListenerRegistry, type GatewayApp, type GatewayEmitInput, GatewayEventStore, type GatewayRouteDeps, type Env as GatewayServerEnv, MemoryConnectorDiagnosticLog, MemoryFunnelEventLog, PublishRequest, PublishResponse, PublishResult, ReplayableEvent, SqliteConnectorDiagnosticLog, SqliteFunnelEventLog, StoredConnectionEvent, StoredProcessedEvent, StoredRawEvent, channelWsProtocols, channelWsUrl, connectorConnectionEventSchema, connectorProcessedEventSchema, connectorRawEventSchema, funnelEventSchema, gatewayLoopbackUrl, publishRequestSchema, publishResponseSchema };
|
|
@@ -1,147 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as FunnelFileSystem } from "./file-system-
|
|
3
|
-
import { n as
|
|
1
|
+
import { n as FunnelClock, t as FunnelLogger } from "./logger-Bc_Ooypb.js";
|
|
2
|
+
import { n as FunnelFileSystem } from "./file-system-DHgbuTFb.js";
|
|
3
|
+
import { a as OnFunnelError, i as ReplayableEvent, n as BroadcastSubscriber, r as FunnelBroadcaster } from "./broadcaster-DVNcw00K.js";
|
|
4
|
+
import { A as FunnelConnectorListener, C as ConnectorRawRecord, E as StoredRawEvent, F as BaseConnectorConfig, S as ConnectorRawQuery, T as StoredProcessedEvent, g as ConnectorDiagnosticLog, m as ConnectorConnectionRecord, p as ConnectorConnectionQuery, v as ConnectorProcessedQuery, w as StoredConnectionEvent, y as ConnectorProcessedRecord, z as FunnelProcessRunner } from "./connector-descriptor-CmyHlEiT.js";
|
|
5
|
+
import { n as ChannelConnectorView, r as FunnelChannels } from "./channels-DR90RmUP.js";
|
|
4
6
|
import { z } from "zod";
|
|
5
7
|
import { Hono } from "hono";
|
|
6
|
-
import { ServerWebSocket } from "bun";
|
|
7
8
|
import * as _$hono_utils_http_status0 from "hono/utils/http-status";
|
|
8
9
|
import * as _$hono_utils_types0 from "hono/utils/types";
|
|
9
10
|
import * as _$hono_hono_base0 from "hono/hono-base";
|
|
10
11
|
|
|
11
|
-
//#region lib/engine/error/on-funnel-error.d.ts
|
|
12
|
-
/**
|
|
13
|
-
* Host integration hook called when Funnel catches an exception that would
|
|
14
|
-
* otherwise be silently swallowed (subscriber throw, listener start failure,
|
|
15
|
-
* MCP forward failure, etc.). Pass `Sentry.captureException` from the host to
|
|
16
|
-
* pipe these into your error reporter. Defaults to a no-op when omitted.
|
|
17
|
-
*
|
|
18
|
-
* `context` carries the component name and any extra metadata the caller had
|
|
19
|
-
* at the catch site (channel / connector / subscriber id when available).
|
|
20
|
-
*/
|
|
21
|
-
type OnFunnelError = (error: Error, context?: Record<string, unknown>) => void;
|
|
22
|
-
//#endregion
|
|
23
|
-
//#region lib/gateway/broadcaster.d.ts
|
|
24
|
-
type ClientData = {
|
|
25
|
-
/** Stable channel id (uuid) that the WS client subscribed to. */channel: string; /** Human-facing channel name resolved at upgrade time, kept for log readability. */
|
|
26
|
-
channelName?: string | null; /** Connector names belonging to that channel. */
|
|
27
|
-
connectors: string[]; /** Routing mode resolved from channel config at upgrade time. Defaults to fanout. */
|
|
28
|
-
delivery?: "fanout" | "exclusive";
|
|
29
|
-
/**
|
|
30
|
-
* Opaque per-client id declared at upgrade time (`?id=<subscriberId>`). When an
|
|
31
|
-
* event carries `meta.target`, only the client whose `subscriberId` equals it
|
|
32
|
-
* receives the event among that channel's regular subscribers. Targeted delivery
|
|
33
|
-
* is how a publisher addresses one specific instance (e.g. a single agent
|
|
34
|
-
* session) without every subscriber having to receive and discard it.
|
|
35
|
-
*/
|
|
36
|
-
subscriberId?: string;
|
|
37
|
-
};
|
|
38
|
-
type BroadcastEvent = {
|
|
39
|
-
content: string;
|
|
40
|
-
meta?: Record<string, string>;
|
|
41
|
-
};
|
|
42
|
-
type ReplayableEvent = BroadcastEvent & {
|
|
43
|
-
offset: number;
|
|
44
|
-
};
|
|
45
|
-
type BroadcastSubscriber = (event: ReplayableEvent) => void;
|
|
46
|
-
/**
|
|
47
|
-
* Optional persistent replay source. Wired in by the gateway-server with a
|
|
48
|
-
* `FunnelEventLog` (SQLite-backed by default) so reconnects across daemon
|
|
49
|
-
* restarts can recover events older than the in-memory buffer via an indexed
|
|
50
|
-
* `seq > since` range scan.
|
|
51
|
-
*/
|
|
52
|
-
type ReplaySource = {
|
|
53
|
-
loadSince(since: number): ReplayableEvent[];
|
|
54
|
-
};
|
|
55
|
-
type Deps$4 = {
|
|
56
|
-
logger?: FunnelLogger; /** Host hook for surfacing subscriber-throw exceptions. Defaults to no-op. */
|
|
57
|
-
onError?: OnFunnelError;
|
|
58
|
-
maxBufferedBytes?: number;
|
|
59
|
-
now?: () => number; /** Number of recent events kept in the in-memory replay buffer. */
|
|
60
|
-
replayBufferSize?: number; /** Hard byte cap on replay buffer payloads. Older events are evicted FIFO until under this cap. */
|
|
61
|
-
replayBufferMaxBytes?: number; /** Persistent replay source consulted when the in-memory buffer cannot satisfy `since`. */
|
|
62
|
-
persistentReplay?: ReplaySource;
|
|
63
|
-
};
|
|
64
|
-
type BroadcasterMetrics = {
|
|
65
|
-
clients: number;
|
|
66
|
-
subscribers: number;
|
|
67
|
-
eventsBroadcast: number;
|
|
68
|
-
droppedSlowClients: number;
|
|
69
|
-
lastBroadcastAt: string | null; /** Latest emitted offset. Clients can `?since=<offset>` to ask for events strictly after this point. */
|
|
70
|
-
latestOffset: number; /** Oldest offset still held in the replay buffer. Older values cannot be replayed and trigger a full resync. */
|
|
71
|
-
oldestReplayableOffset: number | null;
|
|
72
|
-
};
|
|
73
|
-
/**
|
|
74
|
-
* In-process pub/sub for connector events.
|
|
75
|
-
*
|
|
76
|
-
* Two outbound paths:
|
|
77
|
-
* - WS clients connected via the gateway's `/ws` endpoint, scoped per channel
|
|
78
|
-
* - In-process subscribers registered via `subscribe()` (programmable API)
|
|
79
|
-
*
|
|
80
|
-
* Backpressure: if a WS client's `bufferedAmount` exceeds `maxBufferedBytes`
|
|
81
|
-
* (default 1 MiB), the client is closed with code 1009 and dropped from the
|
|
82
|
-
* registry to keep one slow consumer from blocking the daemon.
|
|
83
|
-
*
|
|
84
|
-
* Replay: every emitted event gets a strictly increasing `offset`. The latest
|
|
85
|
-
* `replayBufferSize` events are kept in memory; reconnecting WS clients can
|
|
86
|
-
* pass `?since=<offset>` and the broadcaster resends matching events before
|
|
87
|
-
* resuming the live stream. The in-memory ring covers short reconnects;
|
|
88
|
-
* older history is served from the event log wired in as `persistentReplay`.
|
|
89
|
-
*/
|
|
90
|
-
declare class FunnelBroadcaster {
|
|
91
|
-
private readonly clients;
|
|
92
|
-
private readonly subscribers;
|
|
93
|
-
private readonly logger;
|
|
94
|
-
private readonly onError;
|
|
95
|
-
private readonly maxBufferedBytes;
|
|
96
|
-
private readonly now;
|
|
97
|
-
private readonly replayBufferSize;
|
|
98
|
-
private readonly replayBufferMaxBytes;
|
|
99
|
-
private readonly replayBuffer;
|
|
100
|
-
private readonly persistentReplay;
|
|
101
|
-
private readonly exclusiveCursor;
|
|
102
|
-
private replayBufferBytes;
|
|
103
|
-
private eventsBroadcast;
|
|
104
|
-
private droppedSlowClients;
|
|
105
|
-
private lastBroadcastAt;
|
|
106
|
-
private latestOffset;
|
|
107
|
-
constructor(deps?: Deps$4);
|
|
108
|
-
getMetrics(): BroadcasterMetrics;
|
|
109
|
-
/**
|
|
110
|
-
* Returns events with offset > since, filtered by the connector subscription
|
|
111
|
-
* rules of `data`. Used at WS upgrade time when the client passes `?since=<offset>`.
|
|
112
|
-
*
|
|
113
|
-
* Two-tier lookup:
|
|
114
|
-
* 1. The in-memory ring buffer (covers short reconnects, last `replayBufferSize` events).
|
|
115
|
-
* 2. If `since` predates the oldest in-memory entry and a persistent replay source
|
|
116
|
-
* is wired in (SQLite by default), the gap is filled from it. This covers reconnects
|
|
117
|
-
* across daemon restarts where the in-memory buffer was lost.
|
|
118
|
-
*
|
|
119
|
-
* Result is sorted ascending by offset and de-duplicated against the in-memory buffer.
|
|
120
|
-
*/
|
|
121
|
-
replaySince(since: number, data: ClientData): ReplayableEvent[];
|
|
122
|
-
private matchesClient;
|
|
123
|
-
/**
|
|
124
|
-
* Returns the list of WS clients that should receive `event`. For each per-channel group:
|
|
125
|
-
* - fanout → every matching client receives
|
|
126
|
-
* - exclusive → exactly one client receives, picked round-robin per channel
|
|
127
|
-
*
|
|
128
|
-
* `meta.target` narrows the recipient set via `matchesClient`: only the subscriber
|
|
129
|
-
* whose `subscriberId` equals `target` receives a targeted event.
|
|
130
|
-
*/
|
|
131
|
-
private pickRecipients;
|
|
132
|
-
addClient(ws: ServerWebSocket<unknown>, data: ClientData): void;
|
|
133
|
-
removeClient(ws: ServerWebSocket<unknown>): void;
|
|
134
|
-
getClientCount(): number;
|
|
135
|
-
listChannels(): {
|
|
136
|
-
channel: string;
|
|
137
|
-
connectors: string[];
|
|
138
|
-
}[];
|
|
139
|
-
subscribe(handler: BroadcastSubscriber): () => void;
|
|
140
|
-
broadcast(content: string, meta?: Record<string, string>): ReplayableEvent;
|
|
141
|
-
/** Forward-seed the offset counter (used at startup from the persisted event store). */
|
|
142
|
-
seedLatestOffset(offset: number): void;
|
|
143
|
-
}
|
|
144
|
-
//#endregion
|
|
145
12
|
//#region lib/gateway/listener-registry.d.ts
|
|
146
13
|
type ConnectorRegistry = {
|
|
147
14
|
listAllConnectors(): ChannelConnectorView[];
|
|
@@ -1072,4 +939,4 @@ declare function buildGatewayRoutes(): _$hono_hono_base0.HonoBase<Env, {
|
|
|
1072
939
|
};
|
|
1073
940
|
}, "/", "/channels/:channel/publish">;
|
|
1074
941
|
//#endregion
|
|
1075
|
-
export {
|
|
942
|
+
export { funnelEventSchema as C, FunnelListenerRegistry as D, GatewayRouteDeps as E, FunnelEventRecord as S, GatewayEmitInput as T, channelWsUrl as _, SqliteFunnelEventLog as a, FunnelEvent as b, PublishResponse as c, publishResponseSchema as d, DEFAULT_GATEWAY_TOKEN_PATH as f, channelWsProtocols as g, ChannelWsUrlInput as h, MemoryFunnelEventLog as i, PublishResult as l, gatewayLoopbackUrl as m, MemoryConnectorDiagnosticLog as n, FunnelChannelPublisher as o, FunnelGatewayToken as p, SqliteConnectorDiagnosticLog as r, PublishRequest as s, GatewayApp as t, publishRequestSchema as u, FunnelGatewayServer as v, Env as w, FunnelEventLog as x, GatewayEventStore as y };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as
|
|
3
|
-
import { n as
|
|
4
|
-
import {
|
|
5
|
-
import { n as
|
|
6
|
-
import { t as
|
|
7
|
-
import { a as
|
|
8
|
-
import {
|
|
9
|
-
import { a as
|
|
10
|
-
import { n as
|
|
11
|
-
import { n as
|
|
12
|
-
import { n as
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import { i as
|
|
16
|
-
import {
|
|
17
|
-
import { i as
|
|
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";
|
|
18
20
|
import { hc } from "hono/client";
|
|
19
21
|
import { z } from "zod";
|
|
20
22
|
import * as _$hono_factory0 from "hono/factory";
|
package/dist/local-config.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as FunnelFileSystem } from "./file-system-
|
|
2
|
-
import { a as LocalConfigSyncResult, c as ChannelSpec, d as LocalConfig, f as ProfileSpec, g as profileSpecSchema, h as localConfigSchema, i as FunnelLocalConfigSync, l as ConnectorSpec, m as connectorSpecSchema, n as NodeFunnelTokenPrompter, o as FunnelTokenPrompter, p as channelSpecSchema, r as ConnectorSyncOutcome, s as FunnelLocalConfig, t as MemoryFunnelTokenPrompter, u as LOCAL_CONFIG_FILENAME } from "./memory-token-prompter-
|
|
1
|
+
import { n as FunnelFileSystem } from "./file-system-DHgbuTFb.js";
|
|
2
|
+
import { a as LocalConfigSyncResult, c as ChannelSpec, d as LocalConfig, f as ProfileSpec, g as profileSpecSchema, h as localConfigSchema, i as FunnelLocalConfigSync, l as ConnectorSpec, m as connectorSpecSchema, n as NodeFunnelTokenPrompter, o as FunnelTokenPrompter, p as channelSpecSchema, r as ConnectorSyncOutcome, s as FunnelLocalConfig, t as MemoryFunnelTokenPrompter, u as LOCAL_CONFIG_FILENAME } from "./memory-token-prompter-D0kIdhar.js";
|
|
3
3
|
|
|
4
4
|
//#region lib/services/local-config/local-config-json-schema.d.ts
|
|
5
5
|
/**
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
//#region lib/engine/time/clock.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Time boundary. Default NodeFunnelClock returns `new Date()`; MemoryFunnelClock
|
|
4
|
+
* is settable and `advance(ms)`-able for deterministic schedule / timeout tests.
|
|
5
|
+
*/
|
|
6
|
+
declare abstract class FunnelClock {
|
|
7
|
+
abstract now(): Date;
|
|
8
|
+
millis(): number;
|
|
9
|
+
iso(): string;
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
//#region lib/engine/logger/logger.d.ts
|
|
13
|
+
/**
|
|
14
|
+
* Structured logger with three levels and an optional log-file path.
|
|
15
|
+
* Defaults to NodeFunnelLogger (appends to `<os.tmpdir()>/funnel/funnel.log`);
|
|
16
|
+
* MemoryFunnelLogger captures entries in memory and NoopFunnelLogger silences output.
|
|
17
|
+
*/
|
|
18
|
+
declare abstract class FunnelLogger {
|
|
19
|
+
abstract info(message: string, meta?: Record<string, unknown>): void;
|
|
20
|
+
abstract warn(message: string, meta?: Record<string, unknown>): void;
|
|
21
|
+
abstract error(message: string, meta?: Record<string, unknown>): void;
|
|
22
|
+
abstract readonly file: string | null;
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
export { FunnelClock as n, FunnelLogger as t };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as FunnelFileSystem } from "./file-system-
|
|
2
|
-
import { r as FunnelChannels } from "./channels-
|
|
1
|
+
import { n as FunnelFileSystem } from "./file-system-DHgbuTFb.js";
|
|
2
|
+
import { r as FunnelChannels } from "./channels-DR90RmUP.js";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
|
|
5
5
|
//#region lib/services/local-config/local-config-schema.d.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { n as
|
|
1
|
+
import { n as FunnelFileSystem } from "./file-system-DHgbuTFb.js";
|
|
2
|
+
import { r as ProfileConfig } from "./settings-schema-IShSMm5G.js";
|
|
3
|
+
import { n as FunnelIdGenerator, t as FunnelSettingsReader } from "./settings-reader-BnKIbmsD.js";
|
|
4
4
|
|
|
5
5
|
//#region lib/engine/profiles/profiles.d.ts
|
|
6
6
|
type Deps = {
|
package/dist/profiles.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as FunnelProfiles } from "./profiles-
|
|
1
|
+
import { t as FunnelProfiles } from "./profiles-M24JrcOh.js";
|
|
2
2
|
export { FunnelProfiles };
|
package/dist/recovery.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as RecoveryListenerControl, i as RecoveryGatewayControl, n as RecoveryAction, o as RecoveryResult, r as RecoveryChannelSource, t as FunnelRecovery } from "./funnel-recovery-
|
|
1
|
+
import { a as RecoveryListenerControl, i as RecoveryGatewayControl, n as RecoveryAction, o as RecoveryResult, r as RecoveryChannelSource, t as FunnelRecovery } from "./funnel-recovery-D8MkiTpk.js";
|
|
2
2
|
export { FunnelRecovery, RecoveryAction, RecoveryChannelSource, RecoveryGatewayControl, RecoveryListenerControl, RecoveryResult };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@interactive-inc/claude-funnel",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.66.0",
|
|
4
4
|
"description": "Hub CLI that routes external events (Slack / GitHub / Discord) to Claude Code agents through subscription channels over MCP.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"bun",
|
|
@@ -107,6 +107,11 @@
|
|
|
107
107
|
"import": "./dist/logger.js",
|
|
108
108
|
"default": "./dist/logger.js"
|
|
109
109
|
},
|
|
110
|
+
"./channel": {
|
|
111
|
+
"types": "./dist/channel.d.ts",
|
|
112
|
+
"import": "./dist/channel.js",
|
|
113
|
+
"default": "./dist/channel.js"
|
|
114
|
+
},
|
|
110
115
|
"./bin": "./dist/bin.js",
|
|
111
116
|
"./package.json": "./package.json"
|
|
112
117
|
},
|
|
@@ -118,7 +123,7 @@
|
|
|
118
123
|
},
|
|
119
124
|
"dependencies": {
|
|
120
125
|
"@hono/zod-validator": "0.8.0",
|
|
121
|
-
"@interactive-inc/flume": "^0.
|
|
126
|
+
"@interactive-inc/flume": "^0.10.0",
|
|
122
127
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
123
128
|
"hono": "^4.12.19",
|
|
124
129
|
"yaml": "^2.9.0",
|
/package/dist/{discord-connector-schema-D-bOVAKt.d.ts → discord-connector-schema-D1dyxhXk.d.ts}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/{schedule-connector-schema-Z0RXLgPI.d.ts → schedule-connector-schema-D7ZEKvit.d.ts}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|