@interactive-inc/claude-funnel 0.8.1 → 0.10.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/README.md +179 -80
- package/dist/bin.js +724 -656
- package/dist/connector-adapter-CXB-q_XC.d.ts +11 -0
- package/dist/connector-adapter-D5Utumgz.js +4 -0
- package/dist/connectors/discord.d.ts +76 -0
- package/dist/connectors/discord.js +2 -0
- package/dist/connectors/gh.d.ts +38 -0
- package/dist/connectors/gh.js +2 -0
- package/dist/connectors/schedule.d.ts +53 -0
- package/dist/connectors/schedule.js +2 -0
- package/dist/connectors/slack.d.ts +62 -0
- package/dist/connectors/slack.js +2 -0
- package/dist/discord-connector-schema-Dww2I4zH.d.ts +14 -0
- package/dist/discord-connector-schema-ygf5Df-2.js +173 -0
- package/dist/file-system-Co60LrmR.d.ts +74 -0
- package/dist/gateway/daemon.js +233 -183
- package/dist/gh-connector-schema-2ml29MBC.js +218 -0
- package/dist/gh-connector-schema-BZFAS-p-.d.ts +45 -0
- package/dist/index.d.ts +3888 -36
- package/dist/index.js +6206 -3485
- package/dist/logger-CTlXs7z4.d.ts +33 -0
- package/dist/node-logger-DQz_BGOD.js +61 -0
- package/dist/schedule-connector-schema-CkuIQ0JQ.js +325 -0
- package/dist/slack-connector-schema-Cd22WiHB.js +153 -0
- package/dist/slack-connector-schema-D7zAHN8k.d.ts +15 -0
- package/lib/bin.ts +1 -76
- package/lib/cli/index.ts +85 -0
- package/lib/cli/router/to-request.ts +1 -0
- package/lib/cli/routes/channels.$channel.publish.ts +52 -0
- package/lib/cli/routes/claude.ts +1 -0
- package/lib/cli/routes/index.ts +35 -18
- package/lib/cli/routes/profiles.add.$profile.ts +5 -2
- package/lib/cli/routes/profiles.set.$profile.ts +10 -11
- package/lib/connectors/discord.ts +4 -0
- package/lib/connectors/gh.ts +3 -0
- package/lib/connectors/schedule.ts +4 -0
- package/lib/connectors/slack.ts +4 -0
- package/lib/engine/claude/claude.ts +6 -0
- package/lib/engine/mcp/channel-server.ts +34 -115
- package/lib/engine/mcp/channel-subscriber.ts +82 -0
- package/lib/engine/mcp/read-channel-connectors.ts +34 -0
- package/lib/engine/mcp/read-gateway-token.ts +16 -0
- package/lib/engine/mcp/usage-hint-for-type.ts +15 -0
- package/lib/engine/settings/settings-schema.ts +2 -0
- package/lib/funnel.ts +162 -55
- package/lib/gateway/broadcaster.ts +1 -1
- package/lib/gateway/channel-publisher.ts +67 -0
- package/lib/gateway/gateway-server.ts +28 -16
- package/lib/gateway/publish-schema.ts +27 -0
- package/lib/gateway/routes/channels.publish.ts +44 -0
- package/lib/gateway/routes/index.ts +2 -0
- package/lib/gateway/routes/route-deps.ts +8 -0
- package/lib/index.ts +15 -0
- package/package.json +34 -23
- package/dist/cli/factory.d.ts +0 -7
- package/dist/cli/router/query-to-cli-args.d.ts +0 -1
- package/dist/cli/router/to-request.d.ts +0 -5
- package/dist/cli/router/validator.d.ts +0 -5
- package/dist/cli/routes/channels.$channel.connectors.$connector.d.ts +0 -42
- package/dist/cli/routes/channels.$channel.connectors.$connector.rename.$newName.d.ts +0 -46
- package/dist/cli/routes/channels.$channel.connectors.$connector.request.d.ts +0 -54
- package/dist/cli/routes/channels.$channel.connectors.$connector.schedules.add.$id.d.ts +0 -66
- package/dist/cli/routes/channels.$channel.connectors.$connector.schedules.d.ts +0 -42
- package/dist/cli/routes/channels.$channel.connectors.$connector.schedules.remove.$id.d.ts +0 -46
- package/dist/cli/routes/channels.$channel.connectors.add.$connector.d.ts +0 -90
- package/dist/cli/routes/channels.$channel.connectors.d.ts +0 -38
- package/dist/cli/routes/channels.$channel.connectors.remove.$connector.d.ts +0 -42
- package/dist/cli/routes/channels.$channel.connectors.set.$connector.d.ts +0 -62
- package/dist/cli/routes/channels.$channel.d.ts +0 -38
- package/dist/cli/routes/channels.$channel.rename.$newName.d.ts +0 -42
- package/dist/cli/routes/channels.$channel.set.delivery.$mode.d.ts +0 -28
- package/dist/cli/routes/channels.add.$channel.d.ts +0 -46
- package/dist/cli/routes/channels.d.ts +0 -16
- package/dist/cli/routes/channels.remove.$channel.d.ts +0 -38
- package/dist/cli/routes/claude.d.ts +0 -32
- package/dist/cli/routes/gateway.d.ts +0 -20
- package/dist/cli/routes/gateway.listeners.d.ts +0 -17
- package/dist/cli/routes/gateway.logs.d.ts +0 -24
- package/dist/cli/routes/gateway.restart.d.ts +0 -24
- package/dist/cli/routes/gateway.run.d.ts +0 -24
- package/dist/cli/routes/gateway.start.d.ts +0 -24
- package/dist/cli/routes/gateway.status.d.ts +0 -13
- package/dist/cli/routes/gateway.stop.d.ts +0 -16
- package/dist/cli/routes/index.d.ts +0 -1222
- package/dist/cli/routes/profiles.$profile.as-default.d.ts +0 -38
- package/dist/cli/routes/profiles.$profile.rename.$newName.d.ts +0 -42
- package/dist/cli/routes/profiles.$profile.run.d.ts +0 -46
- package/dist/cli/routes/profiles.add.$profile.d.ts +0 -54
- package/dist/cli/routes/profiles.d.ts +0 -16
- package/dist/cli/routes/profiles.remove.$profile.d.ts +0 -38
- package/dist/cli/routes/profiles.set.$profile.d.ts +0 -54
- package/dist/cli/routes/status.d.ts +0 -16
- package/dist/cli/routes/update.d.ts +0 -16
- package/dist/connectors/connector-adapter.d.ts +0 -8
- package/dist/connectors/connector-config-schema.d.ts +0 -43
- package/dist/connectors/connector-factory.d.ts +0 -32
- package/dist/connectors/connector-listener.d.ts +0 -17
- package/dist/connectors/discord-adapter.d.ts +0 -14
- package/dist/connectors/discord-connector-schema.d.ts +0 -10
- package/dist/connectors/discord-event-processor.d.ts +0 -26
- package/dist/connectors/discord-listener.d.ts +0 -17
- package/dist/connectors/gh-adapter.d.ts +0 -11
- package/dist/connectors/gh-connector-schema.d.ts +0 -10
- package/dist/connectors/gh-listener.d.ts +0 -26
- package/dist/connectors/match-cron.d.ts +0 -1
- package/dist/connectors/schedule-connector-schema.d.ts +0 -45
- package/dist/connectors/schedule-listener.d.ts +0 -30
- package/dist/connectors/schedule-state-store.d.ts +0 -19
- package/dist/connectors/slack-adapter.d.ts +0 -15
- package/dist/connectors/slack-connector-schema.d.ts +0 -11
- package/dist/connectors/slack-event-processor.d.ts +0 -27
- package/dist/connectors/slack-listener.d.ts +0 -17
- package/dist/engine/channels/channels.d.ts +0 -106
- package/dist/engine/claude/claude.d.ts +0 -49
- package/dist/engine/claude/gateway-controller.d.ts +0 -6
- package/dist/engine/fs/file-system.d.ts +0 -24
- package/dist/engine/fs/memory-file-system.d.ts +0 -31
- package/dist/engine/fs/node-file-system.d.ts +0 -15
- package/dist/engine/http/http-client.d.ts +0 -15
- package/dist/engine/http/memory-http-client.d.ts +0 -12
- package/dist/engine/http/node-http-client.d.ts +0 -5
- package/dist/engine/id/id-generator.d.ts +0 -7
- package/dist/engine/id/memory-id-generator.d.ts +0 -11
- package/dist/engine/id/node-id-generator.d.ts +0 -4
- package/dist/engine/logger/logger.d.ts +0 -11
- package/dist/engine/logger/memory-logger.d.ts +0 -14
- package/dist/engine/logger/node-logger.d.ts +0 -15
- package/dist/engine/logger/noop-logger.d.ts +0 -7
- package/dist/engine/mcp/channel-server.d.ts +0 -1
- package/dist/engine/mcp/mcp.d.ts +0 -22
- package/dist/engine/process/memory-process-runner.d.ts +0 -43
- package/dist/engine/process/node-process-runner.d.ts +0 -9
- package/dist/engine/process/process-runner.d.ts +0 -29
- package/dist/engine/profiles/profile-channel-checker.d.ts +0 -7
- package/dist/engine/profiles/profiles.d.ts +0 -31
- package/dist/engine/settings/mock-settings-reader.d.ts +0 -9
- package/dist/engine/settings/settings-reader.d.ts +0 -5
- package/dist/engine/settings/settings-schema.d.ts +0 -132
- package/dist/engine/settings/settings-store.d.ts +0 -18
- package/dist/engine/time/clock.d.ts +0 -9
- package/dist/engine/time/memory-clock.d.ts +0 -12
- package/dist/engine/time/node-clock.d.ts +0 -4
- package/dist/funnel.d.ts +0 -95
- package/dist/gateway/auth-middleware.d.ts +0 -14
- package/dist/gateway/broadcaster.d.ts +0 -122
- package/dist/gateway/daemon.d.ts +0 -2
- package/dist/gateway/factory.d.ts +0 -7
- package/dist/gateway/funnel-event-store.d.ts +0 -81
- package/dist/gateway/gateway-server.d.ts +0 -94
- package/dist/gateway/gateway-token.d.ts +0 -33
- package/dist/gateway/gateway.d.ts +0 -58
- package/dist/gateway/kill-competing-slack-gateways.d.ts +0 -9
- package/dist/gateway/listener-supervisor.d.ts +0 -85
- package/dist/gateway/listeners-client.d.ts +0 -53
- package/dist/gateway/resolve-daemon-script.d.ts +0 -11
- package/dist/gateway/routes/channels.connectors.call.d.ts +0 -41
- package/dist/gateway/routes/health.d.ts +0 -17
- package/dist/gateway/routes/index.d.ts +0 -209
- package/dist/gateway/routes/listeners.list.d.ts +0 -14
- package/dist/gateway/routes/listeners.restart.d.ts +0 -34
- package/dist/gateway/routes/listeners.start.d.ts +0 -34
- package/dist/gateway/routes/listeners.stop.d.ts +0 -34
- package/dist/gateway/routes/route-deps.d.ts +0 -10
- package/dist/gateway/routes/status.d.ts +0 -30
- package/dist/gateway/routes/validator.d.ts +0 -19
- package/dist/logger/leuco-human-file-writer.d.ts +0 -33
- package/dist/logger/leuco-human-logger.d.ts +0 -46
- package/dist/logger/leuco-human-record.d.ts +0 -15
- package/dist/logger/leuco-human-stdout-writer.d.ts +0 -20
- package/dist/logger/leuco-human-writer.d.ts +0 -13
- package/dist/logger/leuco-logger-memory-sink.d.ts +0 -33
- package/dist/logger/leuco-logger-record.d.ts +0 -13
- package/dist/logger/leuco-logger-sink.d.ts +0 -34
- package/dist/logger/leuco-logger-sqlite-sink.d.ts +0 -102
- package/dist/logger/leuco-logger.d.ts +0 -56
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
export declare const setHelp = "funnel channels <channel> connectors set <connector> \u2014 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";
|
|
2
|
-
export declare const channelsConnectorsSetHandler: [import("hono/types").H<import("hono").Env, string, {
|
|
3
|
-
in: {
|
|
4
|
-
param: {
|
|
5
|
-
channel: string;
|
|
6
|
-
connector: string;
|
|
7
|
-
};
|
|
8
|
-
};
|
|
9
|
-
out: {
|
|
10
|
-
param: {
|
|
11
|
-
channel: string;
|
|
12
|
-
connector: string;
|
|
13
|
-
};
|
|
14
|
-
};
|
|
15
|
-
}, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("hono").Env, string, {
|
|
16
|
-
in: {
|
|
17
|
-
query: {
|
|
18
|
-
[x: string]: string | string[];
|
|
19
|
-
"bot-token"?: string | undefined;
|
|
20
|
-
"app-token"?: string | undefined;
|
|
21
|
-
"poll-interval"?: string | string[] | undefined;
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
out: {
|
|
25
|
-
query: {
|
|
26
|
-
[x: string]: unknown;
|
|
27
|
-
"bot-token"?: string | undefined;
|
|
28
|
-
"app-token"?: string | undefined;
|
|
29
|
-
"poll-interval"?: number | undefined;
|
|
30
|
-
};
|
|
31
|
-
};
|
|
32
|
-
}, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("../factory").Env, string, {
|
|
33
|
-
in: {
|
|
34
|
-
param: {
|
|
35
|
-
channel: string;
|
|
36
|
-
connector: string;
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
out: {
|
|
40
|
-
param: {
|
|
41
|
-
channel: string;
|
|
42
|
-
connector: string;
|
|
43
|
-
};
|
|
44
|
-
};
|
|
45
|
-
} & {
|
|
46
|
-
in: {
|
|
47
|
-
query: {
|
|
48
|
-
[x: string]: string | string[];
|
|
49
|
-
"bot-token"?: string | undefined;
|
|
50
|
-
"app-token"?: string | undefined;
|
|
51
|
-
"poll-interval"?: string | string[] | undefined;
|
|
52
|
-
};
|
|
53
|
-
};
|
|
54
|
-
out: {
|
|
55
|
-
query: {
|
|
56
|
-
[x: string]: unknown;
|
|
57
|
-
"bot-token"?: string | undefined;
|
|
58
|
-
"app-token"?: string | undefined;
|
|
59
|
-
"poll-interval"?: number | undefined;
|
|
60
|
-
};
|
|
61
|
-
};
|
|
62
|
-
}, Promise<Response & import("hono").TypedResponse<`updated connector "${string}" in channel "${string}"`, import("hono/utils/http-status").ContentfulStatusCode, "text">>>];
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
export declare const showHelp = "funnel channels <name> \u2014 show channel details";
|
|
2
|
-
export declare const channelsShowHandler: [import("hono/types").H<import("hono").Env, string, {
|
|
3
|
-
in: {
|
|
4
|
-
param: {
|
|
5
|
-
channel: string;
|
|
6
|
-
};
|
|
7
|
-
};
|
|
8
|
-
out: {
|
|
9
|
-
param: {
|
|
10
|
-
channel: string;
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
}, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("hono").Env, string, {
|
|
14
|
-
in: {
|
|
15
|
-
query: Record<string, never>;
|
|
16
|
-
};
|
|
17
|
-
out: {
|
|
18
|
-
query: Record<string, never>;
|
|
19
|
-
};
|
|
20
|
-
}, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("../factory").Env, string, {
|
|
21
|
-
in: {
|
|
22
|
-
param: {
|
|
23
|
-
channel: string;
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
out: {
|
|
27
|
-
param: {
|
|
28
|
-
channel: string;
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
} & {
|
|
32
|
-
in: {
|
|
33
|
-
query: Record<string, never>;
|
|
34
|
-
};
|
|
35
|
-
out: {
|
|
36
|
-
query: Record<string, never>;
|
|
37
|
-
};
|
|
38
|
-
}, Response & import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>];
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
export declare const renameHelp = "funnel channels rename \u2014 rename a channel\n\nusage:\n funnel channels rename <old> <new>\n funnel channels <old> rename <new>";
|
|
2
|
-
export declare const channelsRenameHandler: [import("hono/types").H<import("hono").Env, string, {
|
|
3
|
-
in: {
|
|
4
|
-
param: {
|
|
5
|
-
channel: string;
|
|
6
|
-
newName: string;
|
|
7
|
-
};
|
|
8
|
-
};
|
|
9
|
-
out: {
|
|
10
|
-
param: {
|
|
11
|
-
channel: string;
|
|
12
|
-
newName: string;
|
|
13
|
-
};
|
|
14
|
-
};
|
|
15
|
-
}, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("hono").Env, string, {
|
|
16
|
-
in: {
|
|
17
|
-
query: Record<string, never>;
|
|
18
|
-
};
|
|
19
|
-
out: {
|
|
20
|
-
query: Record<string, never>;
|
|
21
|
-
};
|
|
22
|
-
}, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("../factory").Env, string, {
|
|
23
|
-
in: {
|
|
24
|
-
param: {
|
|
25
|
-
channel: string;
|
|
26
|
-
newName: string;
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
out: {
|
|
30
|
-
param: {
|
|
31
|
-
channel: string;
|
|
32
|
-
newName: string;
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
} & {
|
|
36
|
-
in: {
|
|
37
|
-
query: Record<string, never>;
|
|
38
|
-
};
|
|
39
|
-
out: {
|
|
40
|
-
query: Record<string, never>;
|
|
41
|
-
};
|
|
42
|
-
}, Response & import("hono").TypedResponse<`renamed channel "${string}" to "${string}"`, import("hono/utils/http-status").ContentfulStatusCode, "text">>];
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
export declare const setDeliveryHelp = "funnel channels <name> set delivery <mode> \u2014 change a channel's routing mode\n\nusage: funnel channels <name> set delivery fanout | exclusive\n\nmodes:\n fanout every connected WS client receives every event (default)\n exclusive each event is delivered to exactly one connected client (round-robin)\n\ntap=all clients (TUI dashboard, debugging) always receive regardless of mode.\n";
|
|
2
|
-
export declare const channelsSetDeliveryHandler: [import("hono/types").H<import("hono").Env, string, {
|
|
3
|
-
in: {
|
|
4
|
-
param: {
|
|
5
|
-
channel: string;
|
|
6
|
-
mode: "fanout" | "exclusive";
|
|
7
|
-
};
|
|
8
|
-
};
|
|
9
|
-
out: {
|
|
10
|
-
param: {
|
|
11
|
-
channel: string;
|
|
12
|
-
mode: "fanout" | "exclusive";
|
|
13
|
-
};
|
|
14
|
-
};
|
|
15
|
-
}, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("../factory").Env, string, {
|
|
16
|
-
in: {
|
|
17
|
-
param: {
|
|
18
|
-
channel: string;
|
|
19
|
-
mode: "fanout" | "exclusive";
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
|
-
out: {
|
|
23
|
-
param: {
|
|
24
|
-
channel: string;
|
|
25
|
-
mode: "fanout" | "exclusive";
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
|
-
}, Response & import("hono").TypedResponse<`channel "${string}" delivery set to fanout` | `channel "${string}" delivery set to exclusive`, import("hono/utils/http-status").ContentfulStatusCode, "text">>];
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
export declare const addHelp = "funnel channels add \u2014 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)";
|
|
2
|
-
export declare const channelsAddHandler: [import("hono/types").H<import("hono").Env, string, {
|
|
3
|
-
in: {
|
|
4
|
-
param: {
|
|
5
|
-
channel: string;
|
|
6
|
-
};
|
|
7
|
-
};
|
|
8
|
-
out: {
|
|
9
|
-
param: {
|
|
10
|
-
channel: string;
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
}, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("hono").Env, string, {
|
|
14
|
-
in: {
|
|
15
|
-
query: {
|
|
16
|
-
delivery?: "fanout" | "exclusive" | undefined;
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
out: {
|
|
20
|
-
query: {
|
|
21
|
-
delivery?: "fanout" | "exclusive" | undefined;
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
}, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("../factory").Env, string, {
|
|
25
|
-
in: {
|
|
26
|
-
param: {
|
|
27
|
-
channel: string;
|
|
28
|
-
};
|
|
29
|
-
};
|
|
30
|
-
out: {
|
|
31
|
-
param: {
|
|
32
|
-
channel: string;
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
} & {
|
|
36
|
-
in: {
|
|
37
|
-
query: {
|
|
38
|
-
delivery?: "fanout" | "exclusive" | undefined;
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
|
-
out: {
|
|
42
|
-
query: {
|
|
43
|
-
delivery?: "fanout" | "exclusive" | undefined;
|
|
44
|
-
};
|
|
45
|
-
};
|
|
46
|
-
}, Response & import("hono").TypedResponse<`added channel "${string}" (id: ${string})`, import("hono/utils/http-status").ContentfulStatusCode, "text">>];
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export declare const groupHelp = "funnel channels \u2014 manage subscription boxes\n\nusage: funnel channels [subcommand]\n\nsubcommands:\n (none) list\n add <name> add\n remove <name> remove\n <name> show details\n <name> connectors list connectors\n <name> connectors add <c> --type=... add a connector\n\nexamples:\n funnel channels add prod-inbox\n funnel channels prod-inbox connectors add prod-slack --type=slack --bot-token=xoxb-... --app-token=xapp-...\n funnel channels prod-inbox";
|
|
2
|
-
export declare const channelsGroupHandler: [import("hono/types").H<import("hono").Env, string, {
|
|
3
|
-
in: {
|
|
4
|
-
query: Record<string, never>;
|
|
5
|
-
};
|
|
6
|
-
out: {
|
|
7
|
-
query: Record<string, never>;
|
|
8
|
-
};
|
|
9
|
-
}, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("../factory").Env, string, {
|
|
10
|
-
in: {
|
|
11
|
-
query: Record<string, never>;
|
|
12
|
-
};
|
|
13
|
-
out: {
|
|
14
|
-
query: Record<string, never>;
|
|
15
|
-
};
|
|
16
|
-
}, Response & import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>];
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
export declare const removeHelp = "funnel channels remove \u2014 remove a channel\n\nusage: funnel channels remove <name>";
|
|
2
|
-
export declare const channelsRemoveHandler: [import("hono/types").H<import("hono").Env, string, {
|
|
3
|
-
in: {
|
|
4
|
-
param: {
|
|
5
|
-
channel: string;
|
|
6
|
-
};
|
|
7
|
-
};
|
|
8
|
-
out: {
|
|
9
|
-
param: {
|
|
10
|
-
channel: string;
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
}, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("hono").Env, string, {
|
|
14
|
-
in: {
|
|
15
|
-
query: Record<string, never>;
|
|
16
|
-
};
|
|
17
|
-
out: {
|
|
18
|
-
query: Record<string, never>;
|
|
19
|
-
};
|
|
20
|
-
}, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("../factory").Env, string, {
|
|
21
|
-
in: {
|
|
22
|
-
param: {
|
|
23
|
-
channel: string;
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
out: {
|
|
27
|
-
param: {
|
|
28
|
-
channel: string;
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
} & {
|
|
32
|
-
in: {
|
|
33
|
-
query: Record<string, never>;
|
|
34
|
-
};
|
|
35
|
-
out: {
|
|
36
|
-
query: Record<string, never>;
|
|
37
|
-
};
|
|
38
|
-
}, Response & import("hono").TypedResponse<`removed channel "${string}"`, import("hono/utils/http-status").ContentfulStatusCode, "text">>];
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
export declare const claudeHelp = "funnel claude \u2014 launch Claude Code\n\nusage:\n funnel claude launch the default profile (first in the list)\n funnel claude -p <name> launch a named profile\n funnel claude --profile <name> (long form)\n funnel claude --channel <name> raw launch (no profile, cwd = current dir)\n\noptions:\n -p, --profile profile name to launch\n --channel channel name (raw launch, ignored when --profile is given)\n\nAny other arguments are forwarded to the claude CLI.\nOn launch the FUNNEL_CHANNEL_ID env var is set and MCP connects to the gateway.";
|
|
2
|
-
export declare const claudeHandler: [import("hono/types").H<import("hono").Env, string, {
|
|
3
|
-
in: {
|
|
4
|
-
query: {
|
|
5
|
-
[x: string]: string | string[];
|
|
6
|
-
profile?: string | undefined;
|
|
7
|
-
channel?: string | undefined;
|
|
8
|
-
};
|
|
9
|
-
};
|
|
10
|
-
out: {
|
|
11
|
-
query: {
|
|
12
|
-
[x: string]: unknown;
|
|
13
|
-
profile?: string | undefined;
|
|
14
|
-
channel?: string | undefined;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
}, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("../factory").Env, string, {
|
|
18
|
-
in: {
|
|
19
|
-
query: {
|
|
20
|
-
[x: string]: string | string[];
|
|
21
|
-
profile?: string | undefined;
|
|
22
|
-
channel?: string | undefined;
|
|
23
|
-
};
|
|
24
|
-
};
|
|
25
|
-
out: {
|
|
26
|
-
query: {
|
|
27
|
-
[x: string]: unknown;
|
|
28
|
-
profile?: string | undefined;
|
|
29
|
-
channel?: string | undefined;
|
|
30
|
-
};
|
|
31
|
-
};
|
|
32
|
-
}, Promise<Response & import("hono").TypedResponse<"funnel claude — launch Claude Code\n\nusage:\n funnel claude launch the default profile (first in the list)\n funnel claude -p <name> launch a named profile\n funnel claude --profile <name> (long form)\n funnel claude --channel <name> raw launch (no profile, cwd = current dir)\n\noptions:\n -p, --profile profile name to launch\n --channel channel name (raw launch, ignored when --profile is given)\n\nAny other arguments are forwarded to the claude CLI.\nOn launch the FUNNEL_CHANNEL_ID env var is set and MCP connects to the gateway.", import("hono/utils/http-status").ContentfulStatusCode, "text">>>];
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { Context } from "hono";
|
|
2
|
-
import type { Env } from "../factory";
|
|
3
|
-
export declare const groupHelp = "funnel gateway \u2014 manage the funnel daemon\n\nThe gateway daemon hosts the WebSocket /ws (used by Claude MCP), the\nlocal web UI at /, and the listener supervisor that runs every\nconnector. One daemon, one port (9742), one PID file.\n\nusage: funnel gateway [subcommand]\n\nsubcommands:\n status show running status (default)\n start start in background\n stop stop\n restart stop then start\n run start in foreground (for developers)\n logs [-n <N>] show event logs\n listeners list running connector listeners (alive / dead)\n\nexamples:\n funnel gateway check status\n funnel gateway restart restart";
|
|
4
|
-
export declare const renderGatewayStatus: (c: Context<Env>) => Promise<(Response & import("hono").TypedResponse<"funnel gateway: running (pid null) — health check failed" | `funnel gateway: running (pid ${number}) \u2014 health check failed`, import("hono/utils/http-status").ContentfulStatusCode, "text">) | (Response & import("hono").TypedResponse<`funnel gateway: running (pid null)
|
|
5
|
-
port: ${number}
|
|
6
|
-
clients: ${string}` | `funnel gateway: running (pid ${number})
|
|
7
|
-
port: ${number}
|
|
8
|
-
clients: ${string}`, import("hono/utils/http-status").ContentfulStatusCode, "text">)>;
|
|
9
|
-
export declare const gatewayGroupHandler: [import("hono/types").H<import("hono").Env, string, {
|
|
10
|
-
in: {
|
|
11
|
-
query: Record<string, never>;
|
|
12
|
-
};
|
|
13
|
-
out: {
|
|
14
|
-
query: Record<string, never>;
|
|
15
|
-
};
|
|
16
|
-
}, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<Env, string, {}, Promise<(Response & import("hono").TypedResponse<"funnel gateway: running (pid null) — health check failed" | `funnel gateway: running (pid ${number}) \u2014 health check failed`, import("hono/utils/http-status").ContentfulStatusCode, "text">) | (Response & import("hono").TypedResponse<`funnel gateway: running (pid null)
|
|
17
|
-
port: ${number}
|
|
18
|
-
clients: ${string}` | `funnel gateway: running (pid ${number})
|
|
19
|
-
port: ${number}
|
|
20
|
-
clients: ${string}`, import("hono/utils/http-status").ContentfulStatusCode, "text">)>>];
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export declare const listenersHelp = "funnel gateway listeners \u2014 show running connector listeners\n\nusage: funnel gateway listeners\n\nReads /listeners from the running gateway daemon and prints the live registry.\n\nexamples:\n funnel gateway listeners";
|
|
2
|
-
export declare const gatewayListenersHandler: [import("hono/types").H<import("hono").Env, string, {
|
|
3
|
-
in: {
|
|
4
|
-
query: Record<string, never>;
|
|
5
|
-
};
|
|
6
|
-
out: {
|
|
7
|
-
query: Record<string, never>;
|
|
8
|
-
};
|
|
9
|
-
}, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("../factory").Env, string, {
|
|
10
|
-
in: {
|
|
11
|
-
query: Record<string, never>;
|
|
12
|
-
};
|
|
13
|
-
out: {
|
|
14
|
-
query: Record<string, never>;
|
|
15
|
-
};
|
|
16
|
-
}, Promise<(Response & import("hono").TypedResponse<"funnel gateway: no running listeners", import("hono/utils/http-status").ContentfulStatusCode, "text">) | (Response & import("hono").TypedResponse<`funnel gateway: running listeners
|
|
17
|
-
${string}`, import("hono/utils/http-status").ContentfulStatusCode, "text">)>>];
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export declare const logsHelp = "funnel gateway logs \u2014 tail diagnostic logs\n\nusage: funnel gateway logs [-n <N>]\n\noptions:\n -n <N> number of trailing lines to show (default: 20)\n\nTails /tmp/funnel/funnel.log (the daemon's diagnostic stream \u2014 gateway\nlifecycle, channel connect/disconnect, listener boot). Exit with SIGINT.\nOutput is formatted as YAML.\n\nDomain events fanned out to WebSocket clients live in the SQLite event\nstore (<logDir>/events.db); they are not shown here. Subscribe via the\nWS endpoint or query the store directly.\n\nexamples:\n funnel gateway logs\n funnel gateway logs -n 100";
|
|
2
|
-
export declare const gatewayLogsHandler: [import("hono/types").H<import("hono").Env, string, {
|
|
3
|
-
in: {
|
|
4
|
-
query: {
|
|
5
|
-
n?: string | undefined;
|
|
6
|
-
};
|
|
7
|
-
};
|
|
8
|
-
out: {
|
|
9
|
-
query: {
|
|
10
|
-
n?: string | undefined;
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
}, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("../factory").Env, string, {
|
|
14
|
-
in: {
|
|
15
|
-
query: {
|
|
16
|
-
n?: string | undefined;
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
out: {
|
|
20
|
-
query: {
|
|
21
|
-
n?: string | undefined;
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
}, Promise<Response & import("hono").TypedResponse<"no logs", import("hono/utils/http-status").ContentfulStatusCode, "text">>>];
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export declare const restartHelp = "funnel gateway restart \u2014 restart the gateway\n\nusage: funnel gateway restart [--no-caffeine]\n\nStops the running process then starts it again in background.\nOn macOS wraps with caffeinate -i by default. Use --no-caffeine to disable.\n\nexamples:\n funnel gateway restart\n funnel gateway restart --no-caffeine";
|
|
2
|
-
export declare const gatewayRestartHandler: [import("hono/types").H<import("hono").Env, string, {
|
|
3
|
-
in: {
|
|
4
|
-
query: {
|
|
5
|
-
"no-caffeine"?: string | undefined;
|
|
6
|
-
};
|
|
7
|
-
};
|
|
8
|
-
out: {
|
|
9
|
-
query: {
|
|
10
|
-
"no-caffeine"?: string | undefined;
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
}, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("../factory").Env, string, {
|
|
14
|
-
in: {
|
|
15
|
-
query: {
|
|
16
|
-
"no-caffeine"?: string | undefined;
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
out: {
|
|
20
|
-
query: {
|
|
21
|
-
"no-caffeine"?: string | undefined;
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
}, Promise<Response & import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>>];
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export declare const runHelp = "funnel gateway run \u2014 run the gateway in foreground\n\nusage: funnel gateway run [--no-caffeine]\n\nFor developers. The process is tied to the current terminal and exits on SIGINT / SIGTERM.\nOn macOS wraps with caffeinate -i by default. Use --no-caffeine to disable.\n\nFor normal usage prefer funnel gateway start.\n\nexamples:\n funnel gateway run\n funnel gateway run --no-caffeine";
|
|
2
|
-
export declare const gatewayRunHandler: [import("hono/types").H<import("hono").Env, string, {
|
|
3
|
-
in: {
|
|
4
|
-
query: {
|
|
5
|
-
"no-caffeine"?: string | undefined;
|
|
6
|
-
};
|
|
7
|
-
};
|
|
8
|
-
out: {
|
|
9
|
-
query: {
|
|
10
|
-
"no-caffeine"?: string | undefined;
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
}, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("../factory").Env, string, {
|
|
14
|
-
in: {
|
|
15
|
-
query: {
|
|
16
|
-
"no-caffeine"?: string | undefined;
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
out: {
|
|
20
|
-
query: {
|
|
21
|
-
"no-caffeine"?: string | undefined;
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
}, Promise<never>>];
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export declare const startHelp = "funnel gateway start \u2014 start the gateway in background\n\nusage: funnel gateway start [--no-caffeine]\n\nDaemonized with nohup, so it keeps running after the terminal is closed.\nOn macOS wraps the process with caffeinate -i by default to prevent idle sleep.\nUse --no-caffeine to disable caffeinate.\n\nport: 9742 (override via FUNNEL_PORT)\npid: ~/.funnel/gateway.pid\nlog: /tmp/funnel/gateway.log\n\nexamples:\n funnel gateway start\n funnel gateway start --no-caffeine";
|
|
2
|
-
export declare const gatewayStartHandler: [import("hono/types").H<import("hono").Env, string, {
|
|
3
|
-
in: {
|
|
4
|
-
query: {
|
|
5
|
-
"no-caffeine"?: string | undefined;
|
|
6
|
-
};
|
|
7
|
-
};
|
|
8
|
-
out: {
|
|
9
|
-
query: {
|
|
10
|
-
"no-caffeine"?: string | undefined;
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
}, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("../factory").Env, string, {
|
|
14
|
-
in: {
|
|
15
|
-
query: {
|
|
16
|
-
"no-caffeine"?: string | undefined;
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
out: {
|
|
20
|
-
query: {
|
|
21
|
-
"no-caffeine"?: string | undefined;
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
}, Promise<(Response & import("hono").TypedResponse<"funnel gateway: already running (pid null)" | `funnel gateway: already running (pid ${number})`, import("hono/utils/http-status").ContentfulStatusCode, "text">) | (Response & import("hono").TypedResponse<"funnel gateway: started", import("hono/utils/http-status").ContentfulStatusCode, "text">)>>];
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export declare const statusHelp = "funnel gateway status \u2014 show gateway running status\n\nusage: funnel gateway status\n\nWhen running, prints PID, port, and connected channel count. When not running, exits with 503.\n\nexamples:\n funnel gateway status\n funnel gateway";
|
|
2
|
-
export declare const gatewayStatusHandler: [import("hono/types").H<import("hono").Env, string, {
|
|
3
|
-
in: {
|
|
4
|
-
query: Record<string, never>;
|
|
5
|
-
};
|
|
6
|
-
out: {
|
|
7
|
-
query: Record<string, never>;
|
|
8
|
-
};
|
|
9
|
-
}, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("../factory").Env, string, {}, Promise<(Response & import("hono").TypedResponse<"funnel gateway: running (pid null) — health check failed" | `funnel gateway: running (pid ${number}) \u2014 health check failed`, import("hono/utils/http-status").ContentfulStatusCode, "text">) | (Response & import("hono").TypedResponse<`funnel gateway: running (pid null)
|
|
10
|
-
port: ${number}
|
|
11
|
-
clients: ${string}` | `funnel gateway: running (pid ${number})
|
|
12
|
-
port: ${number}
|
|
13
|
-
clients: ${string}`, import("hono/utils/http-status").ContentfulStatusCode, "text">)>>];
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export declare const stopHelp = "funnel gateway stop \u2014 stop the gateway\n\nusage: funnel gateway stop\n\nTerminates the process whose PID is stored in ~/.funnel/gateway.pid.\n\nexamples:\n funnel gateway stop";
|
|
2
|
-
export declare const gatewayStopHandler: [import("hono/types").H<import("hono").Env, string, {
|
|
3
|
-
in: {
|
|
4
|
-
query: Record<string, never>;
|
|
5
|
-
};
|
|
6
|
-
out: {
|
|
7
|
-
query: Record<string, never>;
|
|
8
|
-
};
|
|
9
|
-
}, import("hono").TypedResponse<string, import("hono/utils/http-status").ContentfulStatusCode, "text">>, import("hono/types").H<import("../factory").Env, string, {
|
|
10
|
-
in: {
|
|
11
|
-
query: Record<string, never>;
|
|
12
|
-
};
|
|
13
|
-
out: {
|
|
14
|
-
query: Record<string, never>;
|
|
15
|
-
};
|
|
16
|
-
}, Promise<(Response & import("hono").TypedResponse<"funnel gateway: no running process", import("hono/utils/http-status").ContentfulStatusCode, "text">) | (Response & import("hono").TypedResponse<"funnel gateway: stopped", import("hono/utils/http-status").ContentfulStatusCode, "text">)>>];
|