@interactive-inc/claude-funnel 0.63.0 → 0.64.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 +141 -141
- package/dist/{channels-B8RQPrVq.d.ts → channels-CRGb6B5_.d.ts} +1 -1
- package/dist/claude.d.ts +2 -2
- package/dist/claude.js +1 -1
- package/dist/{connector-descriptor-ClEEbuW3.d.ts → connector-descriptor-BFIhyTfa.d.ts} +1 -1
- package/dist/connectors/discord.d.ts +2 -2
- package/dist/connectors/gh.d.ts +2 -2
- package/dist/connectors/schedule.d.ts +1 -1
- package/dist/connectors/slack.d.ts +43 -9
- package/dist/connectors/slack.js +1 -1
- package/dist/{file-process-guard-DGHxALfI.d.ts → file-process-guard-tVcgckH6.d.ts} +1 -1
- package/dist/{flume-source-listener-Dim5szHG.d.ts → flume-source-listener-BNyAII7N.d.ts} +1 -1
- package/dist/gateway/daemon.js +24 -24
- package/dist/gateway.d.ts +2 -2
- package/dist/{index-DxRikYmu.d.ts → index-Ds6sHhA-.d.ts} +2 -2
- package/dist/index.d.ts +5 -5
- package/dist/local-config.d.ts +1 -1
- package/dist/{memory-token-prompter-DP_YV9xX.d.ts → memory-token-prompter-BoV8Hf-n.d.ts} +1 -1
- package/dist/{slack-connector-BU86fIge.js → slack-connector-CxpWagbT.js} +35 -6
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as ChannelDeliveryMode, t as ChannelConfig } from "./settings-schema-BL_c2Udm.js";
|
|
2
2
|
import { n as FunnelIdGenerator, t as FunnelSettingsReader } from "./settings-reader-BNxjsxCB.js";
|
|
3
|
-
import { B as FunnelProcessRunner, I as BaseConnectorConfig, N as CallInput, P as FunnelConnectorAdapter, W as FunnelLogger, _ as ConnectorDiagnosticLog, c as FunnelClock, j as FunnelConnectorListener, l as FunnelHttpClient, n as ConnectorBuildContext, o as ConnectorOperationContext, r as ConnectorDescriptor, s as ConnectorUpdateContext } from "./connector-descriptor-
|
|
3
|
+
import { B as FunnelProcessRunner, I as BaseConnectorConfig, N as CallInput, P as FunnelConnectorAdapter, W as FunnelLogger, _ as ConnectorDiagnosticLog, c as FunnelClock, j as FunnelConnectorListener, l as FunnelHttpClient, n as ConnectorBuildContext, o as ConnectorOperationContext, r as ConnectorDescriptor, s as ConnectorUpdateContext } from "./connector-descriptor-BFIhyTfa.js";
|
|
4
4
|
import { n as FunnelFileSystem } from "./file-system-VhwwXZbm.js";
|
|
5
5
|
|
|
6
6
|
//#region lib/engine/connectors/connector-registry.d.ts
|
package/dist/claude.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as ProcessGuard, c as ChannelResolver, i as SessionStore, n as FunnelClaude, o as McpInstaller, r as LaunchOptions, s as GatewayController, t as FunnelFileProcessGuard } from "./file-process-guard-
|
|
2
|
-
import { r as ConnectorDescriptor } from "./connector-descriptor-
|
|
1
|
+
import { a as ProcessGuard, c as ChannelResolver, i as SessionStore, n as FunnelClaude, o as McpInstaller, r as LaunchOptions, s as GatewayController, t as FunnelFileProcessGuard } from "./file-process-guard-tVcgckH6.js";
|
|
2
|
+
import { r as ConnectorDescriptor } from "./connector-descriptor-BFIhyTfa.js";
|
|
3
3
|
import { n as FunnelFileSystem } from "./file-system-VhwwXZbm.js";
|
|
4
4
|
import { t as FunnelProfiles } from "./profiles-cVZQkM69.js";
|
|
5
5
|
|
package/dist/claude.js
CHANGED
|
@@ -7,7 +7,7 @@ import { t as FunnelProfiles } from "./profiles-ZHLONml4.js";
|
|
|
7
7
|
import { t as discordConnector } from "./discord-connector-DIFkYBbi.js";
|
|
8
8
|
import { t as ghConnector } from "./gh-connector-BUGCOEWS.js";
|
|
9
9
|
import { t as scheduleConnector } from "./schedule-connector-9k3gOIgl.js";
|
|
10
|
-
import { t as slackConnector } from "./slack-connector-
|
|
10
|
+
import { t as slackConnector } from "./slack-connector-CxpWagbT.js";
|
|
11
11
|
import { join } from "node:path";
|
|
12
12
|
import { existsSync, readFileSync } from "node:fs";
|
|
13
13
|
import { homedir } from "node:os";
|
|
@@ -185,10 +185,10 @@ declare const connectorConnectionEventSchema: z.ZodObject<{
|
|
|
185
185
|
channel_id: z.ZodNullable<z.ZodString>;
|
|
186
186
|
status: z.ZodEnum<{
|
|
187
187
|
error: "error";
|
|
188
|
-
"auth-failed": "auth-failed";
|
|
189
188
|
started: "started";
|
|
190
189
|
connected: "connected";
|
|
191
190
|
disconnected: "disconnected";
|
|
191
|
+
"auth-failed": "auth-failed";
|
|
192
192
|
stopped: "stopped";
|
|
193
193
|
}>;
|
|
194
194
|
detail: z.ZodString;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { M as NotifyFn, N as CallInput, P as FunnelConnectorAdapter, W as FunnelLogger, _ as ConnectorDiagnosticLog, l as FunnelHttpClient, r as ConnectorDescriptor } from "../connector-descriptor-
|
|
1
|
+
import { M as NotifyFn, N as CallInput, P as FunnelConnectorAdapter, W as FunnelLogger, _ as ConnectorDiagnosticLog, l as FunnelHttpClient, r as ConnectorDescriptor } from "../connector-descriptor-BFIhyTfa.js";
|
|
2
2
|
import { n as discordConnectorSchema, t as DiscordConnectorConfig } from "../discord-connector-schema-D-bOVAKt.js";
|
|
3
|
-
import { t as FunnelFlumeSourceListener } from "../flume-source-listener-
|
|
3
|
+
import { t as FunnelFlumeSourceListener } from "../flume-source-listener-BNyAII7N.js";
|
|
4
4
|
import { FlumeRuntimeDeps } from "@interactive-inc/flume";
|
|
5
5
|
|
|
6
6
|
//#region lib/engine/connectors/discord-adapter.d.ts
|
package/dist/connectors/gh.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { B as FunnelProcessRunner, M as NotifyFn, N as CallInput, P as FunnelConnectorAdapter, W as FunnelLogger, _ as ConnectorDiagnosticLog, r as ConnectorDescriptor } from "../connector-descriptor-
|
|
2
|
-
import { t as FunnelFlumeSourceListener } from "../flume-source-listener-
|
|
1
|
+
import { B as FunnelProcessRunner, M as NotifyFn, N as CallInput, P as FunnelConnectorAdapter, W as FunnelLogger, _ as ConnectorDiagnosticLog, r as ConnectorDescriptor } from "../connector-descriptor-BFIhyTfa.js";
|
|
2
|
+
import { t as FunnelFlumeSourceListener } from "../flume-source-listener-BNyAII7N.js";
|
|
3
3
|
import { n as ghConnectorSchema, t as GhConnectorConfig } from "../gh-connector-schema-DWQaB6gX.js";
|
|
4
4
|
import { FlumeRuntimeDeps } from "@interactive-inc/flume";
|
|
5
5
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { M as NotifyFn, W as FunnelLogger, _ as ConnectorDiagnosticLog, j as FunnelConnectorListener, r as ConnectorDescriptor } from "../connector-descriptor-
|
|
1
|
+
import { M as NotifyFn, W as FunnelLogger, _ as ConnectorDiagnosticLog, j as FunnelConnectorListener, r as ConnectorDescriptor } from "../connector-descriptor-BFIhyTfa.js";
|
|
2
2
|
import { n as FunnelFileSystem } from "../file-system-VhwwXZbm.js";
|
|
3
3
|
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";
|
|
4
4
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { M as NotifyFn, N as CallInput, P as FunnelConnectorAdapter, W as FunnelLogger, _ as ConnectorDiagnosticLog, l as FunnelHttpClient, r as ConnectorDescriptor } from "../connector-descriptor-
|
|
2
|
-
import { t as FunnelFlumeSourceListener } from "../flume-source-listener-
|
|
1
|
+
import { M as NotifyFn, N as CallInput, P as FunnelConnectorAdapter, W as FunnelLogger, _ as ConnectorDiagnosticLog, l as FunnelHttpClient, r as ConnectorDescriptor } from "../connector-descriptor-BFIhyTfa.js";
|
|
2
|
+
import { t as FunnelFlumeSourceListener } from "../flume-source-listener-BNyAII7N.js";
|
|
3
3
|
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";
|
|
4
4
|
import { FlumeRuntimeDeps } from "@interactive-inc/flume";
|
|
5
5
|
|
|
@@ -48,6 +48,24 @@ declare class FunnelSlackAdapter extends FunnelConnectorAdapter {
|
|
|
48
48
|
* are all valid uses.
|
|
49
49
|
*/
|
|
50
50
|
type SlackPreprocessEvent = (event: SlackRawEvent) => SlackRawEvent | null | Promise<SlackRawEvent | null>;
|
|
51
|
+
/**
|
|
52
|
+
* Optional host hook for Slack interactivity (`block_actions`,
|
|
53
|
+
* `view_submission`, `view_closed`, `message_action`, `shortcut`) delivered
|
|
54
|
+
* via Socket Mode under the `interactive` envelope type. Funnel auto-acks
|
|
55
|
+
* the envelope for the host (flume's socket layer sends `{envelope_id}` back
|
|
56
|
+
* regardless of payload), so the host can take its time responding via the
|
|
57
|
+
* Slack web API (`views.open`, `chat.update`, …). Returning is enough — the
|
|
58
|
+
* return value is unused. Thrown errors land in the funnel logger and the
|
|
59
|
+
* connector's diagnostic log but never bubble up to flume's queue.
|
|
60
|
+
*
|
|
61
|
+
* Payload shape is intentionally `Record<string, unknown>` because Slack's
|
|
62
|
+
* interactive payload is a wide discriminated union (`type: "block_actions" |
|
|
63
|
+
* "view_submission" | "view_closed" | "message_action" | "shortcut"`) whose
|
|
64
|
+
* narrowest accurate type would couple funnel to Slack's API revisions.
|
|
65
|
+
* Hosts that need a typed payload should parse it with their own zod schema
|
|
66
|
+
* scoped to the interaction types they care about.
|
|
67
|
+
*/
|
|
68
|
+
type SlackInteractiveHandler = (payload: Record<string, unknown>) => void | Promise<void>;
|
|
51
69
|
type Deps = {
|
|
52
70
|
config: SlackConnectorConfig;
|
|
53
71
|
channelId?: string;
|
|
@@ -57,7 +75,8 @@ type Deps = {
|
|
|
57
75
|
flumeDeps?: Partial<FlumeRuntimeDeps>; /** HTTP client for `auth.test` and `reactions.add`. Defaults to NodeFunnelHttpClient. */
|
|
58
76
|
http?: FunnelHttpClient; /** Shutdown signal forwarded to the underlying Flume. */
|
|
59
77
|
signal?: AbortSignal; /** See `SlackPreprocessEvent`. Default: identity (no preprocessing). */
|
|
60
|
-
preprocessEvent?: SlackPreprocessEvent;
|
|
78
|
+
preprocessEvent?: SlackPreprocessEvent; /** See `SlackInteractiveHandler`. Default: drop interactive envelopes silently. */
|
|
79
|
+
onInteractive?: SlackInteractiveHandler;
|
|
61
80
|
};
|
|
62
81
|
/**
|
|
63
82
|
* Slack listener backed by `@interactive-inc/flume`'s `FlumeSlackSource` (raw
|
|
@@ -76,11 +95,13 @@ declare class FunnelFlumeSlackListener extends FunnelFlumeSourceListener {
|
|
|
76
95
|
private readonly http;
|
|
77
96
|
private readonly signal;
|
|
78
97
|
private readonly preprocessEvent;
|
|
98
|
+
private readonly onInteractive;
|
|
79
99
|
private processor;
|
|
80
100
|
private botToken;
|
|
81
101
|
constructor(deps: Deps);
|
|
82
102
|
start(notify: NotifyFn): Promise<void>;
|
|
83
103
|
protected onStop(): void;
|
|
104
|
+
private handleInteractive;
|
|
84
105
|
private callAuthTest;
|
|
85
106
|
private handleEvent;
|
|
86
107
|
private deliver;
|
|
@@ -101,18 +122,31 @@ type SlackConnectorOptions = {
|
|
|
101
122
|
* way to drop an event for a reason the processor's gates do not cover.
|
|
102
123
|
*/
|
|
103
124
|
preprocessEvent?: SlackPreprocessEvent;
|
|
125
|
+
/**
|
|
126
|
+
* Optional host handler for Slack interactivity (button clicks, modal
|
|
127
|
+
* submissions, message actions, global shortcuts) delivered via Socket
|
|
128
|
+
* Mode under the `interactive` envelope type. Funnel auto-acks the
|
|
129
|
+
* envelope for the host, so the handler can take its time and respond via
|
|
130
|
+
* the Slack web API. Setting this is the supported alternative to running
|
|
131
|
+
* a parallel Bolt app alongside funnel just for interactivity.
|
|
132
|
+
*/
|
|
133
|
+
onInteractive?: SlackInteractiveHandler;
|
|
104
134
|
};
|
|
105
135
|
/**
|
|
106
136
|
* Slack connector descriptor. Pass `slackConnector()` to
|
|
107
137
|
* `new Funnel({ connectors: [...] })` to enable the type.
|
|
108
138
|
*
|
|
109
139
|
* The listener is backed by `@interactive-inc/flume`'s `FlumeSlackSource`
|
|
110
|
-
* (raw Socket Mode WebSocket).
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
140
|
+
* (raw Socket Mode WebSocket). Both the `events_api` envelope (messages,
|
|
141
|
+
* mentions, reactions, …) and the `interactive` envelope (block actions,
|
|
142
|
+
* view submissions, message actions, shortcuts) are delivered — the former
|
|
143
|
+
* runs through the funnel processor and emits notifications, the latter is
|
|
144
|
+
* handed to the optional `onInteractive` host hook (funnel auto-acks the
|
|
145
|
+
* envelope, so the host can respond via the Slack web API at its leisure).
|
|
146
|
+
* Slash commands (`slash_commands` envelope) and Bolt's middleware chain
|
|
147
|
+
* have no equivalent here yet — wire those via the Slack HTTP endpoints if
|
|
148
|
+
* needed.
|
|
115
149
|
*/
|
|
116
150
|
declare const slackConnector: (options?: SlackConnectorOptions) => ConnectorDescriptor;
|
|
117
151
|
//#endregion
|
|
118
|
-
export { FunnelFlumeSlackListener, FunnelSlackAdapter, FunnelSlackEventProcessor, SlackConnectorConfig, SlackConnectorOptions, SlackEvent, SlackMessageEvent, SlackPreprocessEvent, SlackProcessed, SlackProcessedEmit, SlackProcessedSkip, SlackRawEvent, SlackReactionEvent, SlackSkipReason, slackConnector, slackConnectorSchema };
|
|
152
|
+
export { FunnelFlumeSlackListener, FunnelSlackAdapter, FunnelSlackEventProcessor, SlackConnectorConfig, SlackConnectorOptions, SlackEvent, SlackInteractiveHandler, SlackMessageEvent, SlackPreprocessEvent, SlackProcessed, SlackProcessedEmit, SlackProcessedSkip, SlackRawEvent, SlackReactionEvent, SlackSkipReason, slackConnector, slackConnectorSchema };
|
package/dist/connectors/slack.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { t as slackConnectorSchema } from "../slack-connector-schema-Dem8to4P.js";
|
|
2
2
|
import { t as FunnelSlackEventProcessor } from "../slack-event-processor-xFDG3US0.js";
|
|
3
|
-
import { n as FunnelFlumeSlackListener, r as FunnelSlackAdapter, t as slackConnector } from "../slack-connector-
|
|
3
|
+
import { n as FunnelFlumeSlackListener, r as FunnelSlackAdapter, t as slackConnector } from "../slack-connector-CxpWagbT.js";
|
|
4
4
|
export { FunnelFlumeSlackListener, FunnelSlackAdapter, FunnelSlackEventProcessor, slackConnector, slackConnectorSchema };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as ChannelConfig } from "./settings-schema-BL_c2Udm.js";
|
|
2
2
|
import { n as FunnelIdGenerator } from "./settings-reader-BNxjsxCB.js";
|
|
3
|
-
import { B as FunnelProcessRunner, W as FunnelLogger } from "./connector-descriptor-
|
|
3
|
+
import { B as FunnelProcessRunner, W as FunnelLogger } from "./connector-descriptor-BFIhyTfa.js";
|
|
4
4
|
import { n as FunnelFileSystem } from "./file-system-VhwwXZbm.js";
|
|
5
5
|
|
|
6
6
|
//#region lib/engine/claude/channel-resolver.d.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { W as FunnelLogger, _ as ConnectorDiagnosticLog, g as ConnectorConnectionStatus, j as FunnelConnectorListener } from "./connector-descriptor-
|
|
1
|
+
import { W as FunnelLogger, _ as ConnectorDiagnosticLog, g as ConnectorConnectionStatus, j as FunnelConnectorListener } from "./connector-descriptor-BFIhyTfa.js";
|
|
2
2
|
import { FlumeEventHandler, FlumeLogHandler, FlumeReconnectOptions, FlumeRunning, FlumeRuntimeDeps, FlumeSource, FlumeStatus } from "@interactive-inc/flume";
|
|
3
3
|
|
|
4
4
|
//#region lib/engine/connectors/connector-diagnostics-recorder.d.ts
|