@interactive-inc/claude-funnel 0.27.0 → 0.29.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 +18 -20
- package/dist/bin.js +875 -880
- package/dist/{connector-diagnostic-log-Clb2sCcz.d.ts → connector-diagnostic-log-OPpPi9V9.d.ts} +2 -0
- package/dist/connectors/discord.d.ts +1 -1
- package/dist/connectors/gh.d.ts +1 -1
- package/dist/connectors/schedule.d.ts +1 -1
- package/dist/connectors/slack.d.ts +1 -1
- package/dist/gateway/daemon.js +225 -260
- package/dist/index.d.ts +45 -73
- package/dist/index.js +130 -107
- package/dist/{schedule-listener-C2-KqHQc.d.ts → schedule-listener-3M6WkH1Y.d.ts} +1 -1
- package/dist/{slack-listener-BMknoyVr.d.ts → slack-listener-CLTiOEJw.d.ts} +1 -1
- package/funnel.schema.json +3 -30
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { n as FunnelConnectorAdapter, t as CallInput } from "./connector-adapter-VA6undzc.js";
|
|
2
2
|
import { n as discordConnectorSchema, t as DiscordConnectorConfig } from "./discord-connector-schema-Df_McRJI.js";
|
|
3
|
-
import { S as NotifyFn, _ as connectorConnectionEventSchema, a as ConnectorConnectionStatus, b as FunnelLogger, c as ConnectorProcessedQuery, d as ConnectorRawEvent, f as ConnectorRawQuery, g as StoredRawEvent, h as StoredProcessedEvent, i as ConnectorConnectionRecord, l as ConnectorProcessedRecord, m as StoredConnectionEvent, n as ConnectorConnectionEvent, o as ConnectorDiagnosticLog, p as ConnectorRawRecord, r as ConnectorConnectionQuery, s as ConnectorProcessedEvent, t as CONNECTOR_CONNECTION_STATUSES, u as ConnectorQuery, v as connectorProcessedEventSchema, x as FunnelConnectorListener, y as connectorRawEventSchema } from "./connector-diagnostic-log-
|
|
3
|
+
import { S as NotifyFn, _ as connectorConnectionEventSchema, a as ConnectorConnectionStatus, b as FunnelLogger, c as ConnectorProcessedQuery, d as ConnectorRawEvent, f as ConnectorRawQuery, g as StoredRawEvent, h as StoredProcessedEvent, i as ConnectorConnectionRecord, l as ConnectorProcessedRecord, m as StoredConnectionEvent, n as ConnectorConnectionEvent, o as ConnectorDiagnosticLog, p as ConnectorRawRecord, r as ConnectorConnectionQuery, s as ConnectorProcessedEvent, t as CONNECTOR_CONNECTION_STATUSES, u as ConnectorQuery, v as connectorProcessedEventSchema, x as FunnelConnectorListener, y as connectorRawEventSchema } from "./connector-diagnostic-log-OPpPi9V9.js";
|
|
4
4
|
import { a as FunnelProcessRunner, c as RunResult, i as DetachOptions, n as ghConnectorSchema, o as ProcessSnapshot, r as AttachOptions, s as RunOptions, t as GhConnectorConfig } from "./gh-connector-schema-CQmEWzdV.js";
|
|
5
|
-
import { a as FunnelFileSystem, c as ScheduleEntry, d as scheduleEntrySchema, i as FileStat, l as scheduleCatchupPolicySchema, n as ScheduleOnFired, o as ScheduleCatchupPolicy, s as ScheduleConnectorConfig, u as scheduleConnectorSchema } from "./schedule-listener-
|
|
6
|
-
import { a as SlackProcessed, c as SlackRawEvent, d as slackConnectorSchema, i as FunnelSlackEventProcessor, l as SlackSkipReason, n as SlackOnAppCreated, o as SlackProcessedEmit, r as SlackPreprocessEvent, s as SlackProcessedSkip, u as SlackConnectorConfig } from "./slack-listener-
|
|
5
|
+
import { a as FunnelFileSystem, c as ScheduleEntry, d as scheduleEntrySchema, i as FileStat, l as scheduleCatchupPolicySchema, n as ScheduleOnFired, o as ScheduleCatchupPolicy, s as ScheduleConnectorConfig, u as scheduleConnectorSchema } from "./schedule-listener-3M6WkH1Y.js";
|
|
6
|
+
import { a as SlackProcessed, c as SlackRawEvent, d as slackConnectorSchema, i as FunnelSlackEventProcessor, l as SlackSkipReason, n as SlackOnAppCreated, o as SlackProcessedEmit, r as SlackPreprocessEvent, s as SlackProcessedSkip, u as SlackConnectorConfig } from "./slack-listener-CLTiOEJw.js";
|
|
7
7
|
import { z } from "zod";
|
|
8
8
|
import * as _$hono_factory0 from "hono/factory";
|
|
9
9
|
import { Hono } from "hono";
|
|
@@ -570,40 +570,14 @@ declare class FunnelClaude {
|
|
|
570
570
|
*/
|
|
571
571
|
type OnFunnelError = (error: Error, context?: Record<string, unknown>) => void;
|
|
572
572
|
//#endregion
|
|
573
|
-
//#region lib/engine/local-config/dotenv-reader.d.ts
|
|
574
|
-
type Deps$10 = {
|
|
575
|
-
fs: FunnelFileSystem;
|
|
576
|
-
};
|
|
577
|
-
/**
|
|
578
|
-
* Minimal `.env.local` parser. Supports `KEY=value` lines, blank lines, and
|
|
579
|
-
* `#` comments. Strips matching surrounding single or double quotes. No
|
|
580
|
-
* interpolation, no `export` prefix — anything fancier should live in a real
|
|
581
|
-
* env file loaded by the shell.
|
|
582
|
-
*/
|
|
583
|
-
declare class FunnelDotenvReader {
|
|
584
|
-
private readonly fs;
|
|
585
|
-
constructor(deps: Deps$10);
|
|
586
|
-
read(cwd: string): Record<string, string>;
|
|
587
|
-
}
|
|
588
|
-
//#endregion
|
|
589
573
|
//#region lib/engine/local-config/local-config-schema.d.ts
|
|
590
574
|
declare const connectorSpecSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
591
575
|
type: z.ZodLiteral<"slack">;
|
|
592
576
|
name: z.ZodString;
|
|
593
|
-
botToken: z.ZodOptional<z.ZodString>;
|
|
594
|
-
appToken: z.ZodOptional<z.ZodString>;
|
|
595
577
|
minify: z.ZodOptional<z.ZodBoolean>;
|
|
596
|
-
env: z.ZodOptional<z.ZodObject<{
|
|
597
|
-
botToken: z.ZodOptional<z.ZodString>;
|
|
598
|
-
appToken: z.ZodOptional<z.ZodString>;
|
|
599
|
-
}, z.core.$strip>>;
|
|
600
578
|
}, z.core.$strip>, z.ZodObject<{
|
|
601
579
|
type: z.ZodLiteral<"discord">;
|
|
602
580
|
name: z.ZodString;
|
|
603
|
-
botToken: z.ZodOptional<z.ZodString>;
|
|
604
|
-
env: z.ZodOptional<z.ZodObject<{
|
|
605
|
-
botToken: z.ZodOptional<z.ZodString>;
|
|
606
|
-
}, z.core.$strip>>;
|
|
607
581
|
}, z.core.$strip>, z.ZodObject<{
|
|
608
582
|
type: z.ZodLiteral<"gh">;
|
|
609
583
|
name: z.ZodString;
|
|
@@ -618,20 +592,10 @@ declare const channelSpecSchema: z.ZodObject<{
|
|
|
618
592
|
connectors: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
619
593
|
type: z.ZodLiteral<"slack">;
|
|
620
594
|
name: z.ZodString;
|
|
621
|
-
botToken: z.ZodOptional<z.ZodString>;
|
|
622
|
-
appToken: z.ZodOptional<z.ZodString>;
|
|
623
595
|
minify: z.ZodOptional<z.ZodBoolean>;
|
|
624
|
-
env: z.ZodOptional<z.ZodObject<{
|
|
625
|
-
botToken: z.ZodOptional<z.ZodString>;
|
|
626
|
-
appToken: z.ZodOptional<z.ZodString>;
|
|
627
|
-
}, z.core.$strip>>;
|
|
628
596
|
}, z.core.$strip>, z.ZodObject<{
|
|
629
597
|
type: z.ZodLiteral<"discord">;
|
|
630
598
|
name: z.ZodString;
|
|
631
|
-
botToken: z.ZodOptional<z.ZodString>;
|
|
632
|
-
env: z.ZodOptional<z.ZodObject<{
|
|
633
|
-
botToken: z.ZodOptional<z.ZodString>;
|
|
634
|
-
}, z.core.$strip>>;
|
|
635
599
|
}, z.core.$strip>, z.ZodObject<{
|
|
636
600
|
type: z.ZodLiteral<"gh">;
|
|
637
601
|
name: z.ZodString;
|
|
@@ -651,25 +615,16 @@ declare const profileSpecSchema: z.ZodObject<{
|
|
|
651
615
|
type ProfileSpec = z.infer<typeof profileSpecSchema>;
|
|
652
616
|
declare const localConfigSchema: z.ZodObject<{
|
|
653
617
|
$schema: z.ZodOptional<z.ZodString>;
|
|
618
|
+
id: z.ZodOptional<z.ZodString>;
|
|
654
619
|
channels: z.ZodArray<z.ZodObject<{
|
|
655
620
|
name: z.ZodString;
|
|
656
621
|
connectors: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
657
622
|
type: z.ZodLiteral<"slack">;
|
|
658
623
|
name: z.ZodString;
|
|
659
|
-
botToken: z.ZodOptional<z.ZodString>;
|
|
660
|
-
appToken: z.ZodOptional<z.ZodString>;
|
|
661
624
|
minify: z.ZodOptional<z.ZodBoolean>;
|
|
662
|
-
env: z.ZodOptional<z.ZodObject<{
|
|
663
|
-
botToken: z.ZodOptional<z.ZodString>;
|
|
664
|
-
appToken: z.ZodOptional<z.ZodString>;
|
|
665
|
-
}, z.core.$strip>>;
|
|
666
625
|
}, z.core.$strip>, z.ZodObject<{
|
|
667
626
|
type: z.ZodLiteral<"discord">;
|
|
668
627
|
name: z.ZodString;
|
|
669
|
-
botToken: z.ZodOptional<z.ZodString>;
|
|
670
|
-
env: z.ZodOptional<z.ZodObject<{
|
|
671
|
-
botToken: z.ZodOptional<z.ZodString>;
|
|
672
|
-
}, z.core.$strip>>;
|
|
673
628
|
}, z.core.$strip>, z.ZodObject<{
|
|
674
629
|
type: z.ZodLiteral<"gh">;
|
|
675
630
|
name: z.ZodString;
|
|
@@ -688,10 +643,9 @@ declare const localConfigSchema: z.ZodObject<{
|
|
|
688
643
|
}, z.core.$strip>;
|
|
689
644
|
type LocalConfig = z.infer<typeof localConfigSchema>;
|
|
690
645
|
declare const LOCAL_CONFIG_FILENAME = "funnel.json";
|
|
691
|
-
declare const LOCAL_ENV_FILENAME = ".env.local";
|
|
692
646
|
//#endregion
|
|
693
647
|
//#region lib/engine/local-config/local-config.d.ts
|
|
694
|
-
type Deps$
|
|
648
|
+
type Deps$10 = {
|
|
695
649
|
fs: FunnelFileSystem;
|
|
696
650
|
};
|
|
697
651
|
/**
|
|
@@ -702,7 +656,7 @@ type Deps$9 = {
|
|
|
702
656
|
*/
|
|
703
657
|
declare class FunnelLocalConfig {
|
|
704
658
|
private readonly fs;
|
|
705
|
-
constructor(deps: Deps$
|
|
659
|
+
constructor(deps: Deps$10);
|
|
706
660
|
read(cwd: string): LocalConfig | null;
|
|
707
661
|
private assertProfilesValid;
|
|
708
662
|
}
|
|
@@ -719,11 +673,9 @@ declare abstract class FunnelTokenPrompter {
|
|
|
719
673
|
}
|
|
720
674
|
//#endregion
|
|
721
675
|
//#region lib/engine/local-config/local-config-sync.d.ts
|
|
722
|
-
type Deps$
|
|
676
|
+
type Deps$9 = {
|
|
723
677
|
channels: FunnelChannels;
|
|
724
|
-
dotenv: FunnelDotenvReader;
|
|
725
678
|
prompter: FunnelTokenPrompter;
|
|
726
|
-
env?: NodeJS.ProcessEnv;
|
|
727
679
|
};
|
|
728
680
|
type ConnectorSyncOutcome = {
|
|
729
681
|
name: string;
|
|
@@ -754,11 +706,9 @@ type LocalConfigSyncResult = {
|
|
|
754
706
|
*/
|
|
755
707
|
declare class FunnelLocalConfigSync {
|
|
756
708
|
private readonly channels;
|
|
757
|
-
private readonly dotenv;
|
|
758
709
|
private readonly prompter;
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
ensure(channel: ChannelSpec, cwd: string): Promise<LocalConfigSyncResult>;
|
|
710
|
+
constructor(deps: Deps$9);
|
|
711
|
+
ensure(channel: ChannelSpec): Promise<LocalConfigSyncResult>;
|
|
762
712
|
private ensureConnector;
|
|
763
713
|
private ensureSlack;
|
|
764
714
|
private ensureDiscord;
|
|
@@ -768,20 +718,33 @@ declare class FunnelLocalConfigSync {
|
|
|
768
718
|
private findExistingDiscord;
|
|
769
719
|
private removeExtras;
|
|
770
720
|
/**
|
|
771
|
-
* Decides how a single token slot is stored in settings.json
|
|
772
|
-
*
|
|
773
|
-
*
|
|
774
|
-
*
|
|
775
|
-
*
|
|
776
|
-
*
|
|
777
|
-
* - literal → `{ token: "<secret>" }`.
|
|
778
|
-
* - neither, but a prior value exists → carry it over verbatim (whichever
|
|
779
|
-
* form it already was), so a tokenless re-sync is a no-op.
|
|
780
|
-
* - nothing at all → prompt for a literal (TTY only; throws otherwise).
|
|
721
|
+
* Decides how a single token slot is stored in settings.json. funnel.json
|
|
722
|
+
* never carries tokens, so the only sources are a value already in
|
|
723
|
+
* settings.json (carried over verbatim, whichever form it was — literal or an
|
|
724
|
+
* `env`-var reference set via the CLI) or, on first sync, a TTY prompt for a
|
|
725
|
+
* literal (throws when stdin is not a TTY). Either way the secret lands in the
|
|
726
|
+
* repo-scoped settings, never in the repo itself.
|
|
781
727
|
*/
|
|
782
728
|
private resolveSlot;
|
|
783
729
|
}
|
|
784
730
|
//#endregion
|
|
731
|
+
//#region lib/engine/local-config/local-config-writer.d.ts
|
|
732
|
+
type Deps$8 = {
|
|
733
|
+
fs: FunnelFileSystem;
|
|
734
|
+
};
|
|
735
|
+
/**
|
|
736
|
+
* The one path that mutates the repo-committed funnel.json, and it only ever
|
|
737
|
+
* inserts `id`. On first launch a repo has no `id`; funnel generates one and
|
|
738
|
+
* writes it back here so future launches resolve the same `~/.funnel/projects/<id>/`.
|
|
739
|
+
* Idempotent — a no-op once `id` is present. Kept separate from the read-only
|
|
740
|
+
* FunnelLocalConfig so reads stay side-effect free.
|
|
741
|
+
*/
|
|
742
|
+
declare class FunnelLocalConfigWriter {
|
|
743
|
+
private readonly fs;
|
|
744
|
+
constructor(deps: Deps$8);
|
|
745
|
+
ensureId(cwd: string, id: string): void;
|
|
746
|
+
}
|
|
747
|
+
//#endregion
|
|
785
748
|
//#region lib/gateway/publish-schema.d.ts
|
|
786
749
|
/**
|
|
787
750
|
* Shared schema for `POST /channels/:channel/publish` — used by both the
|
|
@@ -1094,6 +1057,9 @@ declare abstract class FunnelEventLog {
|
|
|
1094
1057
|
abstract record(record: FunnelEventRecord): void;
|
|
1095
1058
|
abstract loadSince(since: number): ReplayableEvent[];
|
|
1096
1059
|
abstract findMaxOffset(): number;
|
|
1060
|
+
/** Drop every stored event and reclaim the file. The broadcaster's in-memory
|
|
1061
|
+
* offset counter is unaffected, so offsets keep increasing after a clear. */
|
|
1062
|
+
abstract clear(): void;
|
|
1097
1063
|
abstract close(): void;
|
|
1098
1064
|
}
|
|
1099
1065
|
//#endregion
|
|
@@ -1447,8 +1413,8 @@ declare class Funnel {
|
|
|
1447
1413
|
get profiles(): FunnelProfiles;
|
|
1448
1414
|
/** Reads `funnel.json` from a cwd. `fnl claude` consults it before falling back to the default profile. */
|
|
1449
1415
|
get localConfig(): FunnelLocalConfig;
|
|
1450
|
-
/**
|
|
1451
|
-
get
|
|
1416
|
+
/** Writes the stable `id` into funnel.json on first launch so state can be scoped to `~/.funnel/projects/<id>/`. */
|
|
1417
|
+
get localConfigWriter(): FunnelLocalConfigWriter;
|
|
1452
1418
|
/** Secret prompter. Defaults to a TTY-only stdin reader; tests inject MemoryFunnelTokenPrompter. */
|
|
1453
1419
|
get tokenPrompter(): FunnelTokenPrompter;
|
|
1454
1420
|
/** Reconciles funnel.json's channel + connectors with `~/.funnel/settings.json` on launch. */
|
|
@@ -1773,7 +1739,9 @@ type Props$2 = {
|
|
|
1773
1739
|
/** SQLite database file path. Created on first write. ":memory:" for tests. */path: string; /** Override for tests. Defaults to `Date.now`. */
|
|
1774
1740
|
now?: () => number; /** Optional row cap. Pruned on every insert. */
|
|
1775
1741
|
maxRows?: number; /** Optional age cap in ms. Pruned on every insert. */
|
|
1776
|
-
maxAgeMs?: number;
|
|
1742
|
+
maxAgeMs?: number; /** Optional on-disk byte cap. Checked periodically; on overflow the oldest rows are dropped toward targetBytes and the file is VACUUMed. */
|
|
1743
|
+
maxBytes?: number; /** Shrink target when maxBytes is exceeded. Defaults to maxBytes/4. */
|
|
1744
|
+
targetBytes?: number;
|
|
1777
1745
|
};
|
|
1778
1746
|
/**
|
|
1779
1747
|
* SQLite-backed `FunnelEventLog`. One indexed table holds every broadcaster
|
|
@@ -1820,6 +1788,7 @@ declare class SqliteFunnelEventLog extends FunnelEventLog {
|
|
|
1820
1788
|
limit?: number;
|
|
1821
1789
|
}): ReplayableEvent[];
|
|
1822
1790
|
findMaxOffset(): number;
|
|
1791
|
+
clear(): void;
|
|
1823
1792
|
close(): void;
|
|
1824
1793
|
}
|
|
1825
1794
|
//#endregion
|
|
@@ -1837,6 +1806,7 @@ declare class MemoryFunnelEventLog extends FunnelEventLog {
|
|
|
1837
1806
|
record(record: FunnelEventRecord): void;
|
|
1838
1807
|
loadSince(since: number): ReplayableEvent[];
|
|
1839
1808
|
findMaxOffset(): number;
|
|
1809
|
+
clear(): void;
|
|
1840
1810
|
close(): void;
|
|
1841
1811
|
}
|
|
1842
1812
|
//#endregion
|
|
@@ -1884,6 +1854,7 @@ declare class SqliteConnectorDiagnosticLog extends ConnectorDiagnosticLog {
|
|
|
1884
1854
|
queryRaw(query: ConnectorRawQuery): StoredRawEvent[];
|
|
1885
1855
|
queryProcessed(query: ConnectorProcessedQuery): StoredProcessedEvent[];
|
|
1886
1856
|
queryConnection(query: ConnectorConnectionQuery): StoredConnectionEvent[];
|
|
1857
|
+
clear(): void;
|
|
1887
1858
|
close(): void;
|
|
1888
1859
|
}
|
|
1889
1860
|
//#endregion
|
|
@@ -1910,6 +1881,7 @@ declare class MemoryConnectorDiagnosticLog extends ConnectorDiagnosticLog {
|
|
|
1910
1881
|
queryRaw(query: ConnectorRawQuery): StoredRawEvent[];
|
|
1911
1882
|
queryProcessed(query: ConnectorProcessedQuery): StoredProcessedEvent[];
|
|
1912
1883
|
queryConnection(query: ConnectorConnectionQuery): StoredConnectionEvent[];
|
|
1884
|
+
clear(): void;
|
|
1913
1885
|
close(): void;
|
|
1914
1886
|
}
|
|
1915
1887
|
//#endregion
|
|
@@ -4606,4 +4578,4 @@ ${string}`;
|
|
|
4606
4578
|
//#region lib/tui/tui.d.ts
|
|
4607
4579
|
declare function launchTui(funnel: Funnel): Promise<void>;
|
|
4608
4580
|
//#endregion
|
|
4609
|
-
export { AliveStub, AttachOptions, BroadcastEvent, BroadcastSubscriber, CONNECTOR_CONNECTION_STATUSES, ChannelConfig, ChannelConnectorView, ChannelDeliveryMode, ChannelServerOptions, ChannelSpec, ConnectorConfig, ConnectorConnectionEvent, ConnectorConnectionQuery, ConnectorConnectionRecord, ConnectorConnectionStatus, ConnectorDiagnosticLog, ConnectorDiagnosticSqlReader, ConnectorProcessedEvent, ConnectorProcessedQuery, ConnectorProcessedRecord, ConnectorQuery, ConnectorRawEvent, ConnectorRawQuery, ConnectorRawRecord, ConnectorSpec, ConnectorSyncOutcome, ConnectorType, DEFAULT_GATEWAY_TOKEN_PATH, DetachOptions, DiscordConnectorConfig, Env, FUNNEL_DIR, FUNNEL_MCP_COMMAND, FUNNEL_MCP_NAME, FileStat, Funnel, FunnelBroadcaster, FunnelChannelPublisher, FunnelChannels, FunnelClaude, FunnelClock, FunnelConnectorFactory, FunnelConnectorListener,
|
|
4581
|
+
export { AliveStub, AttachOptions, BroadcastEvent, BroadcastSubscriber, CONNECTOR_CONNECTION_STATUSES, ChannelConfig, ChannelConnectorView, ChannelDeliveryMode, ChannelServerOptions, ChannelSpec, ConnectorConfig, ConnectorConnectionEvent, ConnectorConnectionQuery, ConnectorConnectionRecord, ConnectorConnectionStatus, ConnectorDiagnosticLog, ConnectorDiagnosticSqlReader, ConnectorProcessedEvent, ConnectorProcessedQuery, ConnectorProcessedRecord, ConnectorQuery, ConnectorRawEvent, ConnectorRawQuery, ConnectorRawRecord, ConnectorSpec, ConnectorSyncOutcome, ConnectorType, DEFAULT_GATEWAY_TOKEN_PATH, DetachOptions, DiscordConnectorConfig, Env, FUNNEL_DIR, FUNNEL_MCP_COMMAND, FUNNEL_MCP_NAME, FileStat, Funnel, FunnelBroadcaster, FunnelChannelPublisher, FunnelChannels, FunnelClaude, FunnelClock, FunnelConnectorFactory, FunnelConnectorListener, FunnelEvent, FunnelEventLog, FunnelEventRecord, FunnelFileSystem, FunnelGateway, FunnelGatewayServer, FunnelGatewayToken, FunnelIdGenerator, FunnelListenerSupervisor, FunnelListenersClient, FunnelLocalConfig, FunnelLocalConfigSync, FunnelLocalConfigWriter, FunnelLogger, FunnelMcp, FunnelProcessRunner, FunnelProfiles, FunnelSettingsReader, FunnelSettingsStore, FunnelSlackEventProcessor, FunnelTokenPrompter, type GatewayEmitInput, type GatewayRouteDeps, type Env$1 as GatewayServerEnv, GhConnectorConfig, LOCAL_CONFIG_FILENAME, LaunchOptions, ListListenersResult, ListenerEntry, ListenerOpResult, LocalConfig, LocalConfigSyncResult, LogEntry, MemoryConnectorDiagnosticLog, MemoryFunnelClock, MemoryFunnelEventLog, MemoryFunnelFileSystem, MemoryFunnelIdGenerator, MemoryFunnelLogger, MemoryFunnelProcessRunner, MemoryFunnelTokenPrompter, MemoryProcessCall, MemoryProcessHandler, MemoryProcessResponse, MemoryProcessSyncHandler, MockFunnelSettingsReader, NodeFunnelClock, NodeFunnelFileSystem, NodeFunnelIdGenerator, NodeFunnelLogger, NodeFunnelProcessRunner, NodeFunnelTokenPrompter, NoopFunnelLogger, NotifyFn, OnFunnelError, ProcessListStub, ProcessSnapshot, ProfileConfig, ProfileSpec, PublishRequest, PublishResponse, PublishResult, ReplayableEvent, RunOptions, RunResult, SETTINGS_PATH, SETTINGS_VERSION, ScheduleCatchupPolicy, ScheduleConnectorConfig, ScheduleEntry, ScheduleListenerOptions, Settings, SlackConnectorConfig, SlackListenerOptions, SlackProcessed, SlackProcessedEmit, SlackProcessedSkip, SlackRawEvent, SlackSkipReason, SqliteConnectorDiagnosticLog, SqliteFunnelEventLog, StoredConnectionEvent, StoredProcessedEvent, StoredRawEvent, channelConfigSchema, channelDeliveryModeSchema, channelSpecSchema, app as cliApp, connectorConfigSchema, connectorConnectionEventSchema, connectorProcessedEventSchema, connectorRawEventSchema, connectorSpecSchema, createCliApp, createSettings, discordConnectorSchema, factory, funnelEventSchema, funnelJsonSchema, ghConnectorSchema, launchTui, localConfigSchema, profileConfigSchema, profileSpecSchema, publishRequestSchema, publishResponseSchema, queryToCliArgs, resolveFunnelDir, scheduleCatchupPolicySchema, scheduleConnectorSchema, scheduleEntrySchema, settingsSchema, slackConnectorSchema, startChannelServer, toRequest };
|