@ironflow/browser 0.1.0-test.2

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Browser client configuration
3
+ */
4
+ import type { Logger } from "@ironflow/core";
5
+ /**
6
+ * Reconnection configuration
7
+ */
8
+ export interface ReconnectConfig {
9
+ /** Enable automatic reconnection (default: true) */
10
+ enabled: boolean;
11
+ /** Maximum reconnection attempts (-1 for infinite, default: 10) */
12
+ maxAttempts: number;
13
+ /** Backoff configuration */
14
+ backoff: {
15
+ /** Initial delay in milliseconds (default: 1000) */
16
+ initial: number;
17
+ /** Maximum delay in milliseconds (default: 30000) */
18
+ max: number;
19
+ /** Backoff multiplier (default: 2) */
20
+ multiplier: number;
21
+ };
22
+ }
23
+ /**
24
+ * Tab visibility configuration
25
+ */
26
+ export interface VisibilityConfig {
27
+ /** Pause subscriptions when tab is hidden (default: true) */
28
+ pauseOnHidden: boolean;
29
+ /** Reconnect when tab becomes visible (default: true) */
30
+ reconnectOnVisible: boolean;
31
+ }
32
+ /**
33
+ * Authentication configuration (future expansion)
34
+ */
35
+ export interface AuthConfig {
36
+ /** API key for authentication */
37
+ apiKey?: string;
38
+ /** Bearer token */
39
+ token?: string;
40
+ }
41
+ /**
42
+ * Browser client configuration
43
+ */
44
+ export interface IronflowConfig {
45
+ /** Ironflow server URL (default: http://localhost:9123) */
46
+ serverUrl: string;
47
+ /** Transport type (default: "connectrpc") */
48
+ transport: "connectrpc" | "websocket";
49
+ /** Authentication configuration */
50
+ auth?: AuthConfig;
51
+ /** Reconnection configuration */
52
+ reconnect: ReconnectConfig;
53
+ /** Tab visibility configuration */
54
+ visibility: VisibilityConfig;
55
+ /** Logger instance (set to false to disable) */
56
+ logger?: Logger | false;
57
+ /** Request timeout in milliseconds (default: 30000) */
58
+ timeout?: number;
59
+ }
60
+ /**
61
+ * User-provided configuration options (all optional with defaults)
62
+ */
63
+ export interface IronflowConfigOptions {
64
+ /** Ironflow server URL */
65
+ serverUrl?: string;
66
+ /** Transport type */
67
+ transport?: "connectrpc" | "websocket";
68
+ /** Authentication configuration */
69
+ auth?: AuthConfig;
70
+ /** Reconnection configuration */
71
+ reconnect?: Partial<ReconnectConfig> | boolean;
72
+ /** Tab visibility configuration */
73
+ visibility?: Partial<VisibilityConfig>;
74
+ /** Logger instance (set to false to disable) */
75
+ logger?: Logger | false;
76
+ /** Request timeout in milliseconds */
77
+ timeout?: number;
78
+ }
79
+ /**
80
+ * Default configuration values
81
+ */
82
+ export declare const DEFAULT_CONFIG: IronflowConfig;
83
+ /**
84
+ * Merge user config with defaults
85
+ */
86
+ export declare function mergeConfig(options: IronflowConfigOptions): IronflowConfig;
87
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAG7C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,OAAO,EAAE;QACP,oDAAoD;QACpD,OAAO,EAAE,MAAM,CAAC;QAChB,qDAAqD;QACrD,GAAG,EAAE,MAAM,CAAC;QACZ,sCAAsC;QACtC,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6DAA6D;IAC7D,aAAa,EAAE,OAAO,CAAC;IACvB,yDAAyD;IACzD,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,SAAS,EAAE,YAAY,GAAG,WAAW,CAAC;IACtC,mCAAmC;IACnC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,iCAAiC;IACjC,SAAS,EAAE,eAAe,CAAC;IAC3B,mCAAmC;IACnC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACxB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,SAAS,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;IACvC,mCAAmC;IACnC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,iCAAiC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC;IAC/C,mCAAmC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvC,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACxB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,cAgB5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,qBAAqB,GAAG,cAAc,CA0B1E"}
package/dist/config.js ADDED
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Browser client configuration
3
+ */
4
+ import { DEFAULT_SERVER_URL, DEFAULT_RECONNECT } from "@ironflow/core";
5
+ /**
6
+ * Default configuration values
7
+ */
8
+ export const DEFAULT_CONFIG = {
9
+ serverUrl: DEFAULT_SERVER_URL,
10
+ transport: "connectrpc",
11
+ reconnect: {
12
+ enabled: DEFAULT_RECONNECT.ENABLED,
13
+ maxAttempts: DEFAULT_RECONNECT.MAX_ATTEMPTS,
14
+ backoff: {
15
+ initial: DEFAULT_RECONNECT.INITIAL_DELAY_MS,
16
+ max: DEFAULT_RECONNECT.MAX_DELAY_MS,
17
+ multiplier: DEFAULT_RECONNECT.MULTIPLIER,
18
+ },
19
+ },
20
+ visibility: {
21
+ pauseOnHidden: true,
22
+ reconnectOnVisible: true,
23
+ },
24
+ };
25
+ /**
26
+ * Merge user config with defaults
27
+ */
28
+ export function mergeConfig(options) {
29
+ const reconnect = typeof options.reconnect === "boolean"
30
+ ? { ...DEFAULT_CONFIG.reconnect, enabled: options.reconnect }
31
+ : {
32
+ enabled: options.reconnect?.enabled ?? DEFAULT_CONFIG.reconnect.enabled,
33
+ maxAttempts: options.reconnect?.maxAttempts ?? DEFAULT_CONFIG.reconnect.maxAttempts,
34
+ backoff: {
35
+ initial: options.reconnect?.backoff?.initial ?? DEFAULT_CONFIG.reconnect.backoff.initial,
36
+ max: options.reconnect?.backoff?.max ?? DEFAULT_CONFIG.reconnect.backoff.max,
37
+ multiplier: options.reconnect?.backoff?.multiplier ?? DEFAULT_CONFIG.reconnect.backoff.multiplier,
38
+ },
39
+ };
40
+ return {
41
+ serverUrl: options.serverUrl ?? DEFAULT_CONFIG.serverUrl,
42
+ transport: options.transport ?? DEFAULT_CONFIG.transport,
43
+ auth: options.auth,
44
+ reconnect,
45
+ visibility: {
46
+ pauseOnHidden: options.visibility?.pauseOnHidden ?? DEFAULT_CONFIG.visibility.pauseOnHidden,
47
+ reconnectOnVisible: options.visibility?.reconnectOnVisible ?? DEFAULT_CONFIG.visibility.reconnectOnVisible,
48
+ },
49
+ logger: options.logger,
50
+ timeout: options.timeout,
51
+ };
52
+ }
53
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAiFvE;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,SAAS,EAAE,kBAAkB;IAC7B,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE;QACT,OAAO,EAAE,iBAAiB,CAAC,OAAO;QAClC,WAAW,EAAE,iBAAiB,CAAC,YAAY;QAC3C,OAAO,EAAE;YACP,OAAO,EAAE,iBAAiB,CAAC,gBAAgB;YAC3C,GAAG,EAAE,iBAAiB,CAAC,YAAY;YACnC,UAAU,EAAE,iBAAiB,CAAC,UAAU;SACzC;KACF;IACD,UAAU,EAAE;QACV,aAAa,EAAE,IAAI;QACnB,kBAAkB,EAAE,IAAI;KACzB;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAA8B;IACxD,MAAM,SAAS,GACb,OAAO,OAAO,CAAC,SAAS,KAAK,SAAS;QACpC,CAAC,CAAC,EAAE,GAAG,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE;QAC7D,CAAC,CAAC;YACE,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,IAAI,cAAc,CAAC,SAAS,CAAC,OAAO;YACvE,WAAW,EAAE,OAAO,CAAC,SAAS,EAAE,WAAW,IAAI,cAAc,CAAC,SAAS,CAAC,WAAW;YACnF,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,IAAI,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO;gBACxF,GAAG,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG;gBAC5E,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,IAAI,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU;aAClG;SACF,CAAC;IAER,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS;QACxD,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS;QACxD,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS;QACT,UAAU,EAAE;YACV,aAAa,EAAE,OAAO,CAAC,UAAU,EAAE,aAAa,IAAI,cAAc,CAAC,UAAU,CAAC,aAAa;YAC3F,kBAAkB,EAAE,OAAO,CAAC,UAAU,EAAE,kBAAkB,IAAI,cAAc,CAAC,UAAU,CAAC,kBAAkB;SAC3G;QACD,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @ironflow/browser
3
+ *
4
+ * Browser client for Ironflow workflow engine.
5
+ * Provides real-time subscriptions, workflow triggers, and event emission.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { ironflow } from '@ironflow/browser';
10
+ *
11
+ * // Configure once at app startup
12
+ * ironflow.configure({
13
+ * serverUrl: 'https://ironflow.example.com',
14
+ * });
15
+ *
16
+ * // Connect and subscribe
17
+ * await ironflow.connect();
18
+ *
19
+ * const sub = ironflow.subscribe('events:order.*', {
20
+ * onEvent: (event) => console.log(event),
21
+ * onError: (error) => console.error(error),
22
+ * });
23
+ *
24
+ * // Trigger workflows
25
+ * const run = await ironflow.trigger('process-order', {
26
+ * data: { orderId: '123' }
27
+ * });
28
+ *
29
+ * // Emit events
30
+ * await ironflow.emit('order.approved', { orderId: '123' });
31
+ *
32
+ * // Cleanup
33
+ * sub.unsubscribe();
34
+ * ironflow.disconnect();
35
+ * ```
36
+ *
37
+ * @packageDocumentation
38
+ */
39
+ export { ironflow, IronflowClient } from "./client.js";
40
+ export type { IronflowConfig, IronflowConfigOptions, ReconnectConfig, VisibilityConfig, AuthConfig, } from "./config.js";
41
+ export { DEFAULT_CONFIG, mergeConfig } from "./config.js";
42
+ export type { BrowserSubscribeOptions, SubscriptionGroup, } from "./subscription.js";
43
+ export { SubscriptionManager } from "./subscription.js";
44
+ export type { Transport, TransportCallbacks, TransportFactory, TransportOptions, } from "./transport/index.js";
45
+ export { WebSocketTransport, createWebSocketTransport } from "./transport/index.js";
46
+ export type { Run, RunStatus, RunInfo, ListRunsOptions, ListRunsResult, IronflowEvent, EmitOptions, EmitResult, TriggerResult, TriggerSyncOptions, TriggerSyncResult, SubscribeOptions, Subscription, AckableSubscription, SubscriptionEvent, SubscriptionErrorInfo, SubscriptionCallbacks, ConnectionState, AckHandle, ConsumerGroup, ConsumerGroupConfig, ConsumerGroupStatus, AckMode, BackpressureMode, Logger, } from "@ironflow/core";
47
+ export { patterns, DEFAULT_SERVER_URL, DEFAULT_WS_URL, DEFAULT_TIMEOUTS, getServerUrl, getWebSocketUrl, } from "@ironflow/core";
48
+ export { IronflowError, ConnectionError, SubscriptionError, TimeoutError, ValidationError, NotConfiguredError, isRetryable, isIronflowError, } from "@ironflow/core";
49
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAGH,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGvD,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1D,YAAY,EACV,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD,YAAY,EACV,SAAS,EACT,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAGpF,YAAY,EAEV,GAAG,EACH,SAAS,EACT,OAAO,EACP,eAAe,EACf,cAAc,EAGd,aAAa,EACb,WAAW,EACX,UAAU,EAGV,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EAGjB,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,SAAS,EAGT,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,OAAO,EACP,gBAAgB,EAGhB,MAAM,GACP,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,eAAe,GAChB,MAAM,gBAAgB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @ironflow/browser
3
+ *
4
+ * Browser client for Ironflow workflow engine.
5
+ * Provides real-time subscriptions, workflow triggers, and event emission.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { ironflow } from '@ironflow/browser';
10
+ *
11
+ * // Configure once at app startup
12
+ * ironflow.configure({
13
+ * serverUrl: 'https://ironflow.example.com',
14
+ * });
15
+ *
16
+ * // Connect and subscribe
17
+ * await ironflow.connect();
18
+ *
19
+ * const sub = ironflow.subscribe('events:order.*', {
20
+ * onEvent: (event) => console.log(event),
21
+ * onError: (error) => console.error(error),
22
+ * });
23
+ *
24
+ * // Trigger workflows
25
+ * const run = await ironflow.trigger('process-order', {
26
+ * data: { orderId: '123' }
27
+ * });
28
+ *
29
+ * // Emit events
30
+ * await ironflow.emit('order.approved', { orderId: '123' });
31
+ *
32
+ * // Cleanup
33
+ * sub.unsubscribe();
34
+ * ironflow.disconnect();
35
+ * ```
36
+ *
37
+ * @packageDocumentation
38
+ */
39
+ // Main client export
40
+ export { ironflow, IronflowClient } from "./client.js";
41
+ export { DEFAULT_CONFIG, mergeConfig } from "./config.js";
42
+ export { SubscriptionManager } from "./subscription.js";
43
+ export { WebSocketTransport, createWebSocketTransport } from "./transport/index.js";
44
+ // Re-export utilities
45
+ export { patterns, DEFAULT_SERVER_URL, DEFAULT_WS_URL, DEFAULT_TIMEOUTS, getServerUrl, getWebSocketUrl, } from "@ironflow/core";
46
+ // Re-export error types
47
+ export { IronflowError, ConnectionError, SubscriptionError, TimeoutError, ValidationError, NotConfiguredError, isRetryable, isIronflowError, } from "@ironflow/core";
48
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,qBAAqB;AACrB,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAUvD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAO1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AASxD,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AA0CpF,sBAAsB;AACtB,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,wBAAwB;AACxB,OAAO,EACL,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,eAAe,GAChB,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Subscription management for browser client
3
+ */
4
+ import type { SubscriptionErrorInfo, ConnectionState, SubscribeOptions, Subscription, AckableSubscription, SubscriptionCallbacks, Logger } from "@ironflow/core";
5
+ import type { Transport } from "./transport/types.js";
6
+ /**
7
+ * Extended subscription options for the browser client
8
+ */
9
+ export interface BrowserSubscribeOptions extends SubscribeOptions {
10
+ /** Track last event for state access */
11
+ trackState?: boolean;
12
+ }
13
+ /**
14
+ * Subscription group for batch management
15
+ */
16
+ export interface SubscriptionGroup {
17
+ /** Add a subscription to the group */
18
+ add<T = unknown>(pattern: string, callbacks: SubscriptionCallbacks<T> & BrowserSubscribeOptions): Promise<Subscription | AckableSubscription>;
19
+ /** Unsubscribe all subscriptions in the group */
20
+ unsubscribeAll(): void;
21
+ }
22
+ /**
23
+ * Subscription manager handles all active subscriptions
24
+ */
25
+ export declare class SubscriptionManager {
26
+ private transport;
27
+ private _logger;
28
+ private subscriptions;
29
+ private patternToId;
30
+ private pendingPatterns;
31
+ private connectionChangeCallbacks;
32
+ private errorCallbacks;
33
+ constructor(transport: Transport, logger?: Logger | false);
34
+ /**
35
+ * Subscribe to events matching a pattern
36
+ */
37
+ subscribe<T = unknown>(pattern: string | string[], callbacksAndOptions: SubscriptionCallbacks<T> & BrowserSubscribeOptions): Promise<Subscription | AckableSubscription>;
38
+ private subscribeSingle;
39
+ /**
40
+ * Unsubscribe by pattern
41
+ */
42
+ unsubscribeByPattern(pattern: string): void;
43
+ /**
44
+ * Unsubscribe by subscription ID
45
+ */
46
+ unsubscribeById(subscriptionId: string): void;
47
+ /**
48
+ * Create a subscription group for batch management
49
+ */
50
+ createGroup(): SubscriptionGroup;
51
+ /**
52
+ * Add a global connection change callback
53
+ */
54
+ onConnectionChange(callback: (state: ConnectionState) => void): () => void;
55
+ /**
56
+ * Add a global error callback
57
+ */
58
+ onError(callback: (error: SubscriptionErrorInfo) => void): () => void;
59
+ /**
60
+ * Get current connection state
61
+ */
62
+ get connectionState(): ConnectionState;
63
+ /**
64
+ * Connect to the server
65
+ */
66
+ connect(): Promise<void>;
67
+ /**
68
+ * Disconnect from the server
69
+ */
70
+ disconnect(): void;
71
+ /**
72
+ * Pause subscriptions (for tab visibility)
73
+ */
74
+ pause(): void;
75
+ /**
76
+ * Resume subscriptions
77
+ */
78
+ resume(): void;
79
+ private handleEvent;
80
+ private handleError;
81
+ private handleConnectionChange;
82
+ private handleSubscribed;
83
+ private handleSubscribeFailed;
84
+ }
85
+ //# sourceMappingURL=subscription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../src/subscription.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAEV,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,MAAM,EACP,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,SAAS,EAAsB,MAAM,sBAAsB,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,wCAAwC;IACxC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAgBD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,sCAAsC;IACtC,GAAG,CAAC,CAAC,GAAG,OAAO,EACb,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,uBAAuB,GAC5D,OAAO,CAAC,YAAY,GAAG,mBAAmB,CAAC,CAAC;IAC/C,iDAAiD;IACjD,cAAc,IAAI,IAAI,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,SAAS,CAAY;IAE7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAA6C;IAClE,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,eAAe,CAA6C;IACpE,OAAO,CAAC,yBAAyB,CAAoD;IACrF,OAAO,CAAC,cAAc,CAA0D;gBAEpE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK;IAgBzD;;OAEG;IACG,SAAS,CAAC,CAAC,GAAG,OAAO,EACzB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,uBAAuB,GACtE,OAAO,CAAC,YAAY,GAAG,mBAAmB,CAAC;YAiChC,eAAe;IAqD7B;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAW3C;;OAEG;IACH,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAW7C;;OAEG;IACH,WAAW,IAAI,iBAAiB;IAqBhC;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,MAAM,IAAI;IAK1E;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,GAAG,MAAM,IAAI;IAKrE;;OAEG;IACH,IAAI,eAAe,IAAI,eAAe,CAErC;IAED;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;OAEG;IACH,UAAU,IAAI,IAAI;IAOlB;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,MAAM,IAAI,IAAI;IAId,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,gBAAgB;IAyCxB,OAAO,CAAC,qBAAqB;CAS9B"}
@@ -0,0 +1,263 @@
1
+ /**
2
+ * Subscription management for browser client
3
+ */
4
+ import { generateId, createNoopLogger } from "@ironflow/core";
5
+ /**
6
+ * Subscription manager handles all active subscriptions
7
+ */
8
+ export class SubscriptionManager {
9
+ transport;
10
+ // Logger is stored for future use (debugging, diagnostics)
11
+ _logger;
12
+ subscriptions = new Map();
13
+ patternToId = new Map();
14
+ pendingPatterns = new Map();
15
+ connectionChangeCallbacks = new Set();
16
+ errorCallbacks = new Set();
17
+ constructor(transport, logger) {
18
+ this.transport = transport;
19
+ this._logger = logger === false ? createNoopLogger() : (logger ?? createNoopLogger());
20
+ this._logger.debug("SubscriptionManager initialized");
21
+ // Set up transport callbacks
22
+ const callbacks = {
23
+ onEvent: this.handleEvent.bind(this),
24
+ onError: this.handleError.bind(this),
25
+ onConnectionChange: this.handleConnectionChange.bind(this),
26
+ onSubscribed: this.handleSubscribed.bind(this),
27
+ onSubscribeFailed: this.handleSubscribeFailed.bind(this),
28
+ };
29
+ this.transport.setCallbacks(callbacks);
30
+ }
31
+ /**
32
+ * Subscribe to events matching a pattern
33
+ */
34
+ async subscribe(pattern, callbacksAndOptions) {
35
+ // Handle array of patterns
36
+ if (Array.isArray(pattern)) {
37
+ // For multiple patterns, we create a single logical subscription
38
+ // that receives events from all patterns
39
+ const combinedPattern = pattern.join(",");
40
+ // Subscribe to each pattern but combine into one subscription object
41
+ const subscriptions = [];
42
+ for (const p of pattern) {
43
+ const sub = await this.subscribeSingle(p, callbacksAndOptions);
44
+ subscriptions.push(sub);
45
+ }
46
+ // Return a combined subscription
47
+ const combinedId = generateId();
48
+ const combinedSub = {
49
+ id: combinedId,
50
+ pattern: combinedPattern,
51
+ connectionState: this.transport.connectionState,
52
+ unsubscribe: () => {
53
+ for (const sub of subscriptions) {
54
+ sub.unsubscribe();
55
+ }
56
+ },
57
+ };
58
+ return combinedSub;
59
+ }
60
+ return this.subscribeSingle(pattern, callbacksAndOptions);
61
+ }
62
+ async subscribeSingle(pattern, callbacksAndOptions) {
63
+ // Check if already subscribed
64
+ if (this.patternToId.has(pattern)) {
65
+ throw new Error(`Already subscribed to pattern: ${pattern}`);
66
+ }
67
+ // Extract options and callbacks
68
+ const { replay, includeMetadata, filter, namespace, consumerGroup, ackMode, backpressure, trackState, ...callbacks } = callbacksAndOptions;
69
+ const options = {
70
+ replay,
71
+ includeMetadata,
72
+ filter,
73
+ namespace,
74
+ consumerGroup,
75
+ ackMode,
76
+ backpressure,
77
+ trackState,
78
+ };
79
+ return new Promise((resolve, reject) => {
80
+ const tempId = generateId();
81
+ const state = {
82
+ id: tempId,
83
+ pattern,
84
+ options,
85
+ callbacks: callbacks,
86
+ connectionState: this.transport.connectionState,
87
+ resolve: resolve,
88
+ reject,
89
+ };
90
+ this.pendingPatterns.set(pattern, state);
91
+ // Send subscribe request
92
+ this.transport.subscribe(pattern, options);
93
+ });
94
+ }
95
+ /**
96
+ * Unsubscribe by pattern
97
+ */
98
+ unsubscribeByPattern(pattern) {
99
+ const subscriptionId = this.patternToId.get(pattern);
100
+ if (!subscriptionId) {
101
+ return;
102
+ }
103
+ this.transport.unsubscribe(subscriptionId);
104
+ this.subscriptions.delete(subscriptionId);
105
+ this.patternToId.delete(pattern);
106
+ }
107
+ /**
108
+ * Unsubscribe by subscription ID
109
+ */
110
+ unsubscribeById(subscriptionId) {
111
+ const state = this.subscriptions.get(subscriptionId);
112
+ if (!state) {
113
+ return;
114
+ }
115
+ this.transport.unsubscribe(subscriptionId);
116
+ this.subscriptions.delete(subscriptionId);
117
+ this.patternToId.delete(state.pattern);
118
+ }
119
+ /**
120
+ * Create a subscription group for batch management
121
+ */
122
+ createGroup() {
123
+ const subscriptions = [];
124
+ return {
125
+ add: async (pattern, callbacks) => {
126
+ const sub = await this.subscribe(pattern, callbacks);
127
+ subscriptions.push(sub);
128
+ return sub;
129
+ },
130
+ unsubscribeAll: () => {
131
+ for (const sub of subscriptions) {
132
+ sub.unsubscribe();
133
+ }
134
+ subscriptions.length = 0;
135
+ },
136
+ };
137
+ }
138
+ /**
139
+ * Add a global connection change callback
140
+ */
141
+ onConnectionChange(callback) {
142
+ this.connectionChangeCallbacks.add(callback);
143
+ return () => this.connectionChangeCallbacks.delete(callback);
144
+ }
145
+ /**
146
+ * Add a global error callback
147
+ */
148
+ onError(callback) {
149
+ this.errorCallbacks.add(callback);
150
+ return () => this.errorCallbacks.delete(callback);
151
+ }
152
+ /**
153
+ * Get current connection state
154
+ */
155
+ get connectionState() {
156
+ return this.transport.connectionState;
157
+ }
158
+ /**
159
+ * Connect to the server
160
+ */
161
+ async connect() {
162
+ await this.transport.connect();
163
+ }
164
+ /**
165
+ * Disconnect from the server
166
+ */
167
+ disconnect() {
168
+ this.transport.disconnect();
169
+ this.subscriptions.clear();
170
+ this.patternToId.clear();
171
+ this.pendingPatterns.clear();
172
+ }
173
+ /**
174
+ * Pause subscriptions (for tab visibility)
175
+ */
176
+ pause() {
177
+ this.transport.pause();
178
+ }
179
+ /**
180
+ * Resume subscriptions
181
+ */
182
+ resume() {
183
+ this.transport.resume();
184
+ }
185
+ handleEvent(subscriptionId, event) {
186
+ const state = this.subscriptions.get(subscriptionId);
187
+ if (!state) {
188
+ return;
189
+ }
190
+ // Track last event if enabled
191
+ if (state.options?.trackState) {
192
+ state.lastEvent = event;
193
+ }
194
+ state.callbacks.onEvent?.(event);
195
+ }
196
+ handleError(subscriptionId, error) {
197
+ // Call global error handlers
198
+ for (const callback of this.errorCallbacks) {
199
+ callback(error);
200
+ }
201
+ // Call subscription-specific error handler
202
+ if (subscriptionId) {
203
+ const state = this.subscriptions.get(subscriptionId);
204
+ state?.callbacks.onError?.(error);
205
+ }
206
+ }
207
+ handleConnectionChange(state) {
208
+ // Update all subscription states
209
+ for (const sub of this.subscriptions.values()) {
210
+ sub.connectionState = state;
211
+ sub.callbacks.onStateChange?.(state);
212
+ }
213
+ // Call global callbacks
214
+ for (const callback of this.connectionChangeCallbacks) {
215
+ callback(state);
216
+ }
217
+ }
218
+ handleSubscribed(pattern, subscriptionId) {
219
+ const pending = this.pendingPatterns.get(pattern);
220
+ if (!pending) {
221
+ return;
222
+ }
223
+ this.pendingPatterns.delete(pattern);
224
+ // Update state with real subscription ID
225
+ pending.id = subscriptionId;
226
+ this.subscriptions.set(subscriptionId, pending);
227
+ this.patternToId.set(pattern, subscriptionId);
228
+ // Create subscription object
229
+ const isManualAck = pending.options?.ackMode === "manual";
230
+ if (isManualAck) {
231
+ const ackableSub = {
232
+ id: subscriptionId,
233
+ pattern,
234
+ connectionState: pending.connectionState,
235
+ lastEvent: pending.lastEvent,
236
+ unsubscribe: () => this.unsubscribeById(subscriptionId),
237
+ ack: (eventId) => this.transport.ack(eventId, "ack"),
238
+ nak: (eventId, delay) => this.transport.ack(eventId, "nak", delay),
239
+ term: (eventId) => this.transport.ack(eventId, "term"),
240
+ };
241
+ pending.resolve?.(ackableSub);
242
+ }
243
+ else {
244
+ const sub = {
245
+ id: subscriptionId,
246
+ pattern,
247
+ connectionState: pending.connectionState,
248
+ lastEvent: pending.lastEvent,
249
+ unsubscribe: () => this.unsubscribeById(subscriptionId),
250
+ };
251
+ pending.resolve?.(sub);
252
+ }
253
+ }
254
+ handleSubscribeFailed(pattern, error) {
255
+ const pending = this.pendingPatterns.get(pattern);
256
+ if (!pending) {
257
+ return;
258
+ }
259
+ this.pendingPatterns.delete(pattern);
260
+ pending.reject?.(error);
261
+ }
262
+ }
263
+ //# sourceMappingURL=subscription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription.js","sourceRoot":"","sources":["../src/subscription.ts"],"names":[],"mappings":"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"}