@streamotter/gateway 0.1.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +158 -0
  3. package/dist/index.d.ts +12 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +17 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/internals.d.ts +6 -0
  8. package/dist/internals.d.ts.map +1 -0
  9. package/dist/internals.js +6 -0
  10. package/dist/internals.js.map +1 -0
  11. package/dist/management/index.d.ts +26 -0
  12. package/dist/management/index.d.ts.map +1 -0
  13. package/dist/management/index.js +354 -0
  14. package/dist/management/index.js.map +1 -0
  15. package/dist/runtime/budget.d.ts +24 -0
  16. package/dist/runtime/budget.d.ts.map +1 -0
  17. package/dist/runtime/budget.js +56 -0
  18. package/dist/runtime/budget.js.map +1 -0
  19. package/dist/runtime/core.d.ts +67 -0
  20. package/dist/runtime/core.d.ts.map +1 -0
  21. package/dist/runtime/core.js +34 -0
  22. package/dist/runtime/core.js.map +1 -0
  23. package/dist/runtime/gateway.d.ts +117 -0
  24. package/dist/runtime/gateway.d.ts.map +1 -0
  25. package/dist/runtime/gateway.js +881 -0
  26. package/dist/runtime/gateway.js.map +1 -0
  27. package/dist/runtime/identity.d.ts +28 -0
  28. package/dist/runtime/identity.d.ts.map +1 -0
  29. package/dist/runtime/identity.js +92 -0
  30. package/dist/runtime/identity.js.map +1 -0
  31. package/dist/runtime/session.d.ts +49 -0
  32. package/dist/runtime/session.d.ts.map +1 -0
  33. package/dist/runtime/session.js +299 -0
  34. package/dist/runtime/session.js.map +1 -0
  35. package/dist/runtime/subscription.d.ts +65 -0
  36. package/dist/runtime/subscription.d.ts.map +1 -0
  37. package/dist/runtime/subscription.js +482 -0
  38. package/dist/runtime/subscription.js.map +1 -0
  39. package/dist/runtime/traces.d.ts +26 -0
  40. package/dist/runtime/traces.d.ts.map +1 -0
  41. package/dist/runtime/traces.js +98 -0
  42. package/dist/runtime/traces.js.map +1 -0
  43. package/dist/runtime/util.d.ts +50 -0
  44. package/dist/runtime/util.d.ts.map +1 -0
  45. package/dist/runtime/util.js +148 -0
  46. package/dist/runtime/util.js.map +1 -0
  47. package/dist/sources/fixture.d.ts +27 -0
  48. package/dist/sources/fixture.d.ts.map +1 -0
  49. package/dist/sources/fixture.js +89 -0
  50. package/dist/sources/fixture.js.map +1 -0
  51. package/dist/sources/kafka.d.ts +63 -0
  52. package/dist/sources/kafka.d.ts.map +1 -0
  53. package/dist/sources/kafka.js +418 -0
  54. package/dist/sources/kafka.js.map +1 -0
  55. package/dist/sources/kafkajs-patch.d.ts +11 -0
  56. package/dist/sources/kafkajs-patch.d.ts.map +1 -0
  57. package/dist/sources/kafkajs-patch.js +34 -0
  58. package/dist/sources/kafkajs-patch.js.map +1 -0
  59. package/dist/sources/types.d.ts +46 -0
  60. package/dist/sources/types.d.ts.map +1 -0
  61. package/dist/sources/types.js +2 -0
  62. package/dist/sources/types.js.map +1 -0
  63. package/dist/transport/socketio.d.ts +44 -0
  64. package/dist/transport/socketio.d.ts.map +1 -0
  65. package/dist/transport/socketio.js +80 -0
  66. package/dist/transport/socketio.js.map +1 -0
  67. package/dist/transport/types.d.ts +10 -0
  68. package/dist/transport/types.d.ts.map +1 -0
  69. package/dist/transport/types.js +2 -0
  70. package/dist/transport/types.js.map +1 -0
  71. package/package.json +61 -0
  72. package/src/index.ts +20 -0
  73. package/src/internals.ts +5 -0
  74. package/src/management/index.ts +371 -0
  75. package/src/runtime/budget.ts +60 -0
  76. package/src/runtime/core.ts +101 -0
  77. package/src/runtime/gateway.ts +892 -0
  78. package/src/runtime/identity.ts +99 -0
  79. package/src/runtime/session.ts +329 -0
  80. package/src/runtime/subscription.ts +531 -0
  81. package/src/runtime/traces.ts +102 -0
  82. package/src/runtime/util.ts +157 -0
  83. package/src/sources/fixture.ts +95 -0
  84. package/src/sources/kafka.ts +440 -0
  85. package/src/sources/kafkajs-patch.ts +41 -0
  86. package/src/sources/types.ts +42 -0
  87. package/src/transport/socketio.ts +125 -0
  88. package/src/transport/types.ts +10 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/management/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Hierarchical byte budget: subscription → connection → gateway. A reservation
3
+ * succeeds only if every level has room, and is applied to every level.
4
+ */
5
+ export declare class ByteBudget {
6
+ #private;
7
+ readonly limit: number;
8
+ readonly parent: ByteBudget | null;
9
+ constructor(limit: number, parent?: ByteBudget | null);
10
+ get used(): number;
11
+ tryReserve(bytes: number): boolean;
12
+ release(bytes: number): void;
13
+ }
14
+ /** Per-subscription budget: a frame count plus a byte budget chained to its connection. */
15
+ export declare class SubscriptionBudget {
16
+ #private;
17
+ readonly bytes: ByteBudget;
18
+ readonly maxFrames: number;
19
+ constructor(maxFrames: number, maxBytes: number, parent: ByteBudget);
20
+ get frames(): number;
21
+ tryReserve(bytes: number): boolean;
22
+ release(bytes: number): void;
23
+ }
24
+ //# sourceMappingURL=budget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"budget.d.ts","sourceRoot":"","sources":["../../src/runtime/budget.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,UAAU;;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;gBAGvB,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,UAAU,GAAG,IAAW;IAK3D,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAQlC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAK7B;AAED,2FAA2F;AAC3F,qBAAa,kBAAkB;;IAC7B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAGf,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU;IAKnE,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAOlC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAI7B"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Hierarchical byte budget: subscription → connection → gateway. A reservation
3
+ * succeeds only if every level has room, and is applied to every level.
4
+ */
5
+ export class ByteBudget {
6
+ limit;
7
+ parent;
8
+ #used = 0;
9
+ constructor(limit, parent = null) {
10
+ this.limit = limit;
11
+ this.parent = parent;
12
+ }
13
+ get used() {
14
+ return this.#used;
15
+ }
16
+ tryReserve(bytes) {
17
+ for (let node = this; node !== null; node = node.parent) {
18
+ if (node.#used + bytes > node.limit)
19
+ return false;
20
+ }
21
+ for (let node = this; node !== null; node = node.parent)
22
+ node.#used += bytes;
23
+ return true;
24
+ }
25
+ release(bytes) {
26
+ for (let node = this; node !== null; node = node.parent) {
27
+ node.#used = Math.max(0, node.#used - bytes);
28
+ }
29
+ }
30
+ }
31
+ /** Per-subscription budget: a frame count plus a byte budget chained to its connection. */
32
+ export class SubscriptionBudget {
33
+ bytes;
34
+ maxFrames;
35
+ #frames = 0;
36
+ constructor(maxFrames, maxBytes, parent) {
37
+ this.maxFrames = maxFrames;
38
+ this.bytes = new ByteBudget(maxBytes, parent);
39
+ }
40
+ get frames() {
41
+ return this.#frames;
42
+ }
43
+ tryReserve(bytes) {
44
+ if (this.#frames + 1 > this.maxFrames)
45
+ return false;
46
+ if (!this.bytes.tryReserve(bytes))
47
+ return false;
48
+ this.#frames++;
49
+ return true;
50
+ }
51
+ release(bytes) {
52
+ this.#frames = Math.max(0, this.#frames - 1);
53
+ this.bytes.release(bytes);
54
+ }
55
+ }
56
+ //# sourceMappingURL=budget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"budget.js","sourceRoot":"","sources":["../../src/runtime/budget.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,UAAU;IACZ,KAAK,CAAS;IACd,MAAM,CAAoB;IACnC,KAAK,GAAG,CAAC,CAAC;IAEV,YAAY,KAAa,EAAE,SAA4B,IAAI;QACzD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,UAAU,CAAC,KAAa;QACtB,KAAK,IAAI,IAAI,GAAsB,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3E,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK;gBAAE,OAAO,KAAK,CAAC;QACpD,CAAC;QACD,KAAK,IAAI,IAAI,GAAsB,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;QAChG,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,KAAK,IAAI,IAAI,GAAsB,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;CACF;AAED,2FAA2F;AAC3F,MAAM,OAAO,kBAAkB;IACpB,KAAK,CAAa;IAClB,SAAS,CAAS;IAC3B,OAAO,GAAG,CAAC,CAAC;IAEZ,YAAY,SAAiB,EAAE,QAAgB,EAAE,MAAkB;QACjE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,UAAU,CAAC,KAAa;QACtB,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAChD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;CACF"}
@@ -0,0 +1,67 @@
1
+ import type { ChannelContract, ChannelHandlers, DataFrame, ErrorCode, ErrorFrame, GatewayLogger, Limits, Principal, Schema, Source, SourceStatus, SubscriptionFrame } from "@streamotter/contracts";
2
+ import type { ByteBudget } from "./budget.ts";
3
+ import type { RevocationLog } from "./identity.ts";
4
+ import type { TraceBuffer } from "./traces.ts";
5
+ import type { Semaphore } from "./util.ts";
6
+ import type { SourceAdapter } from "../sources/types.ts";
7
+ /** Shared services every runtime component needs. */
8
+ export interface GatewayCore {
9
+ readonly projectId: string;
10
+ readonly mode: "development" | "production";
11
+ readonly limits: Limits;
12
+ readonly traces: TraceBuffer;
13
+ readonly router: Router;
14
+ readonly snapshots: Semaphore;
15
+ readonly revocations: RevocationLog;
16
+ readonly logger: GatewayLogger;
17
+ readonly gatewayBudget: ByteBudget;
18
+ }
19
+ export interface RoutedSubscription {
20
+ readonly routingKey: string;
21
+ }
22
+ /** Routing index from routing identity to the subscriptions capturing it. */
23
+ export declare class Router<S extends RoutedSubscription = RoutedSubscription> {
24
+ #private;
25
+ add(subscription: S): void;
26
+ remove(subscription: S): void;
27
+ get(routingKey: string): ReadonlySet<S> | undefined;
28
+ get size(): number;
29
+ }
30
+ /** Routing identity: (project, channel, version, verified tenant, canonical parameters). */
31
+ export declare function routingKey(channel: string, version: number, tenantId: string, canonicalParams: string): string;
32
+ export interface ChannelRuntime {
33
+ readonly name: string;
34
+ readonly version: number;
35
+ readonly handlers: ChannelHandlers<ChannelContract>;
36
+ readonly paramsSchema: Schema;
37
+ readonly payloadSchema: Schema;
38
+ readonly source: SourceRuntime;
39
+ readonly subscriptions: Set<SubscriptionLike>;
40
+ }
41
+ export interface SubscriptionLike {
42
+ onSourceUnavailable(reason: ErrorCode): void;
43
+ onSourceReady(): void;
44
+ }
45
+ export interface SourceRuntime {
46
+ readonly id: string;
47
+ readonly config: Source;
48
+ readonly channels: ChannelRuntime[];
49
+ adapter: SourceAdapter | null;
50
+ status: SourceStatus["status"];
51
+ reason: ErrorCode | undefined;
52
+ readonly ready: boolean;
53
+ }
54
+ /** What a subscription needs from the connection that owns it. */
55
+ export interface SubscriptionHost {
56
+ readonly connectionId: string;
57
+ readonly principal: Principal;
58
+ readonly connectionBudget: ByteBudget;
59
+ sendState(frame: SubscriptionFrame): void;
60
+ sendData(frame: DataFrame): void;
61
+ sendError(frame: ErrorFrame): void;
62
+ /** False once the connection closed or its authentication expired. */
63
+ canDeliver(): boolean;
64
+ receiptTimedOut(): void;
65
+ removeSubscription(subscriptionId: string): void;
66
+ }
67
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/runtime/core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /** Routing index from routing identity to the subscriptions capturing it. */
2
+ export class Router {
3
+ #byKey = new Map();
4
+ add(subscription) {
5
+ let set = this.#byKey.get(subscription.routingKey);
6
+ if (set === undefined) {
7
+ set = new Set();
8
+ this.#byKey.set(subscription.routingKey, set);
9
+ }
10
+ set.add(subscription);
11
+ }
12
+ remove(subscription) {
13
+ const set = this.#byKey.get(subscription.routingKey);
14
+ if (set === undefined)
15
+ return;
16
+ set.delete(subscription);
17
+ if (set.size === 0)
18
+ this.#byKey.delete(subscription.routingKey);
19
+ }
20
+ get(routingKey) {
21
+ return this.#byKey.get(routingKey);
22
+ }
23
+ get size() {
24
+ let total = 0;
25
+ for (const set of this.#byKey.values())
26
+ total += set.size;
27
+ return total;
28
+ }
29
+ }
30
+ /** Routing identity: (project, channel, version, verified tenant, canonical parameters). */
31
+ export function routingKey(channel, version, tenantId, canonicalParams) {
32
+ return JSON.stringify([channel, version, tenantId, canonicalParams]);
33
+ }
34
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/runtime/core.ts"],"names":[],"mappings":"AA2BA,6EAA6E;AAC7E,MAAM,OAAO,MAAM;IACR,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE5C,GAAG,CAAC,YAAe;QACjB,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAChD,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,YAAe;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO;QAC9B,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACzB,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAClE,CAAC;IAED,GAAG,CAAC,UAAkB;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,IAAI;QACN,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,4FAA4F;AAC5F,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,OAAe,EAAE,QAAgB,EAAE,eAAuB;IACpG,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;AACvE,CAAC"}
@@ -0,0 +1,117 @@
1
+ import { type ChannelMap, type ChannelSummary, type DevelopmentPrincipalSummary, type DiagnosticStep, type ErrorCode, type Gateway, type GatewayLogger, type GatewayOptions, type Page, type ProjectConfig, type Revocation, type SourceRecord, type SourceStatus, type StreamError, type Trace } from "@streamotter/contracts";
2
+ import { type ChannelRuntime, type GatewayCore, type SourceRuntime } from "./core.ts";
3
+ import { ClientSession, type SessionOwner } from "./session.ts";
4
+ import { type TraceQuery } from "./traces.ts";
5
+ import type { SourceAdapter } from "../sources/types.ts";
6
+ import { type HandshakeResult } from "../transport/socketio.ts";
7
+ import type { ConnectionTransport } from "../transport/types.ts";
8
+ declare class SourceRuntimeImpl implements SourceRuntime {
9
+ readonly id: string;
10
+ readonly config: ProjectConfig["sources"][string];
11
+ readonly channels: ChannelRuntime[];
12
+ adapter: SourceAdapter | null;
13
+ status: SourceStatus["status"];
14
+ reason: ErrorCode | undefined;
15
+ constructor(id: string, config: ProjectConfig["sources"][string]);
16
+ get ready(): boolean;
17
+ summary(): SourceStatus;
18
+ }
19
+ /** Test-only instrumentation; not reachable through the public createGateway(). */
20
+ export interface InternalGatewayOptions {
21
+ /** Awaited after a Kafka record is processed and before its offset is committed. */
22
+ beforeCommit?: (sourceId: string, position: SourceRecord["position"]) => Promise<void>;
23
+ }
24
+ /** Development and management access to a running gateway; never exposed to browsers. */
25
+ export interface GatewayInternals {
26
+ readonly mode: "development" | "production";
27
+ readonly config: ProjectConfig;
28
+ readonly fingerprint: string;
29
+ readonly limits: GatewayCore["limits"];
30
+ readonly logger: GatewayLogger;
31
+ readonly running: boolean;
32
+ address(): {
33
+ origin: string;
34
+ path: string;
35
+ } | null;
36
+ health(): {
37
+ ready: boolean;
38
+ sources: SourceStatus[];
39
+ };
40
+ sources(): SourceStatus[];
41
+ channels(): ChannelSummary[];
42
+ traces(query: TraceQuery): Page<Trace>;
43
+ checkSource(sourceId: string): Promise<DiagnosticStep[]>;
44
+ checkAllSources(): Promise<{
45
+ sourceId: string;
46
+ steps: DiagnosticStep[];
47
+ }[]>;
48
+ resumeSource(sourceId: string): Promise<SourceStatus>;
49
+ allowDevelopmentOrigin(origin: string): void;
50
+ developmentPrincipals(): DevelopmentPrincipalSummary[];
51
+ createPreviewSession(principalRef: string): {
52
+ token: string;
53
+ expiresAt: string;
54
+ previewSessionId: string;
55
+ };
56
+ disconnectPreviewSession(previewSessionId: string): void;
57
+ advanceFixture(sourceId: string, count: number): Promise<number>;
58
+ onStop(callback: () => Promise<void> | void): void;
59
+ connectionCount(): number;
60
+ subscriptionCount(): number;
61
+ pendingBytes(): number;
62
+ }
63
+ export declare function getGatewayInternals(gateway: Gateway): GatewayInternals;
64
+ /** The V1 single-process gateway. Construct with createGateway(). */
65
+ export declare class GatewayRuntime implements SessionOwner {
66
+ #private;
67
+ readonly core: GatewayCore;
68
+ readonly config: ProjectConfig;
69
+ readonly fingerprint: string;
70
+ readonly mode: "development" | "production";
71
+ constructor(options: GatewayOptions<ChannelMap>, internal?: InternalGatewayOptions);
72
+ start(): Promise<{
73
+ origin: string;
74
+ path: string;
75
+ }>;
76
+ stop(options?: {
77
+ timeoutMs?: number;
78
+ }): Promise<void>;
79
+ revoke(request: Revocation): Promise<{
80
+ closedSubscriptions: number;
81
+ closedConnections: number;
82
+ }>;
83
+ resumeSource(sourceId: string): Promise<SourceStatus>;
84
+ channel(name: string): ChannelRuntime | undefined;
85
+ sessionClosed(session: ClientSession): void;
86
+ authenticateHandshake(input: {
87
+ auth: unknown;
88
+ origin: string | undefined;
89
+ }): Promise<{
90
+ ok: true;
91
+ value: HandshakeResult;
92
+ } | {
93
+ ok: false;
94
+ error: StreamError;
95
+ }>;
96
+ openSession(result: HandshakeResult, transport: ConnectionTransport): ClientSession;
97
+ /**
98
+ * Staged diagnostics. Works whether or not the gateway started, so a failing
99
+ * connection profile can be diagnosed; resolves secrets without reporting them.
100
+ */
101
+ checkSource(source: SourceRuntimeImpl): Promise<DiagnosticStep[]>;
102
+ /** Diagnostics for every source, for startup failure reports. */
103
+ checkAllSources(): Promise<{
104
+ sourceId: string;
105
+ steps: DiagnosticStep[];
106
+ }[]>;
107
+ /** Called by adapters after a commit so the trace reflects actual source progress. */
108
+ recordCommit(sourceId: string): void;
109
+ internals(): GatewayInternals;
110
+ }
111
+ /** Constructs a gateway without opening connections. */
112
+ export declare function createGatewayRuntime<C extends ChannelMap>(options: GatewayOptions<C>, internal?: InternalGatewayOptions): {
113
+ gateway: Gateway;
114
+ runtime: GatewayRuntime;
115
+ };
116
+ export {};
117
+ //# sourceMappingURL=gateway.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/runtime/gateway.ts"],"names":[],"mappings":"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"}