@motiadev/stream-client-node 0.12.1-beta.158 → 0.13.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 CHANGED
@@ -27,7 +27,10 @@ npm install @motiadev/stream-client-node
27
27
  ```typescript
28
28
  import { Stream } from '@motiadev/stream-client-node'
29
29
 
30
- const stream = new Stream('wss://your-stream-server')
30
+ const token = process.env.MOTIA_STREAM_TOKEN
31
+ const protocols = token ? ['Authorization', token] : undefined
32
+
33
+ const stream = new Stream('wss://your-stream-server', { protocols })
31
34
  ```
32
35
 
33
36
  ### 2. Subscribing to an Item Stream
@@ -69,10 +72,10 @@ stream.close()
69
72
 
70
73
  ### `Stream`
71
74
 
72
- - **constructor(address: string, onReady: () => void)**
75
+ - **constructor(address: string, options?: { protocols?: string | string[] })**
73
76
 
74
77
  - Establishes a WebSocket connection to the given address.
75
- - Calls `onReady` when the connection is open.
78
+ - Passes any `protocols` directly to the underlying `WebSocket` constructor (useful for sending `Sec-WebSocket-Protocol: Authorization,<token>`).
76
79
 
77
80
  - **subscribeItem<T>(streamName: string, id: string): StreamItemSubscription<T>**
78
81
 
@@ -161,7 +164,10 @@ All types are exported from `stream.types.ts` for advanced usage and type safety
161
164
  ```typescript
162
165
  import { Stream } from '@motiadev/stream-client-node'
163
166
 
164
- const stream = new Stream('wss://example.com')
167
+ const token = process.env.MOTIA_STREAM_TOKEN
168
+ const protocols = token ? ['Authorization', token] : undefined
169
+
170
+ const stream = new Stream('wss://example.com', { protocols })
165
171
  const userSub = stream.subscribeItem<{ id: string; name: string }>('users', 'user-1')
166
172
 
167
173
  userSub.addChangeListener((user) => {
@@ -1,2 +1,4 @@
1
1
  export { StreamGroupSubscription, StreamItemSubscription, StreamSubscription } from '@motiadev/stream-client';
2
+ export type { NodeStreamOptions } from './src/stream';
2
3
  export { Stream } from './src/stream';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC7G,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA"}
@@ -2,7 +2,7 @@ import type { SocketAdapter } from '@motiadev/stream-client';
2
2
  export declare class StreamSocketAdapter implements SocketAdapter {
3
3
  private address;
4
4
  private ws;
5
- constructor(address: string);
5
+ constructor(address: string, protocols?: string | string[] | undefined);
6
6
  connect(): void;
7
7
  send(message: string): void;
8
8
  onMessage(callback: (message: string) => void): void;
@@ -11,3 +11,4 @@ export declare class StreamSocketAdapter implements SocketAdapter {
11
11
  close(): void;
12
12
  isOpen(): boolean;
13
13
  }
14
+ //# sourceMappingURL=stream-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-adapter.d.ts","sourceRoot":"","sources":["../../../src/stream-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAG5D,qBAAa,mBAAoB,YAAW,aAAa;IAIrD,OAAO,CAAC,OAAO;IAHjB,OAAO,CAAC,EAAE,CAAW;gBAGX,OAAO,EAAE,MAAM,EACvB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;IAK3C,OAAO,IAAI,IAAI;IAEf,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAMpD,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAIlC,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAInC,KAAK,IAAI,IAAI;IAKb,MAAM,IAAI,OAAO;CAGlB"}
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StreamSocketAdapter = void 0;
4
4
  const ws_1 = require("ws");
5
5
  class StreamSocketAdapter {
6
- constructor(address) {
6
+ constructor(address, protocols) {
7
7
  this.address = address;
8
- this.ws = new ws_1.WebSocket(this.address);
8
+ this.ws = new ws_1.WebSocket(this.address, protocols);
9
9
  }
10
10
  connect() { }
11
11
  send(message) {
@@ -1,4 +1,8 @@
1
1
  import { Stream as StreamClient } from '@motiadev/stream-client';
2
+ export type NodeStreamOptions = {
3
+ protocols?: string | string[] | undefined;
4
+ };
2
5
  export declare class Stream extends StreamClient {
3
- constructor(address: string);
6
+ constructor(address: string, options?: NodeStreamOptions);
4
7
  }
8
+ //# sourceMappingURL=stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../src/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAGhE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;CAC1C,CAAA;AAED,qBAAa,MAAO,SAAQ,YAAY;gBAC1B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB;CAGzD"}
@@ -4,8 +4,8 @@ exports.Stream = void 0;
4
4
  const stream_client_1 = require("@motiadev/stream-client");
5
5
  const stream_adapter_1 = require("./stream-adapter");
6
6
  class Stream extends stream_client_1.Stream {
7
- constructor(address) {
8
- super(() => new stream_adapter_1.StreamSocketAdapter(address));
7
+ constructor(address, options) {
8
+ super(() => new stream_adapter_1.StreamSocketAdapter(address, options?.protocols));
9
9
  }
10
10
  }
11
11
  exports.Stream = Stream;
@@ -1,2 +1,4 @@
1
1
  export { StreamGroupSubscription, StreamItemSubscription, StreamSubscription } from '@motiadev/stream-client';
2
+ export type { NodeStreamOptions } from './src/stream';
2
3
  export { Stream } from './src/stream';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC7G,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA"}
@@ -2,7 +2,7 @@ import type { SocketAdapter } from '@motiadev/stream-client';
2
2
  export declare class StreamSocketAdapter implements SocketAdapter {
3
3
  private address;
4
4
  private ws;
5
- constructor(address: string);
5
+ constructor(address: string, protocols?: string | string[] | undefined);
6
6
  connect(): void;
7
7
  send(message: string): void;
8
8
  onMessage(callback: (message: string) => void): void;
@@ -11,3 +11,4 @@ export declare class StreamSocketAdapter implements SocketAdapter {
11
11
  close(): void;
12
12
  isOpen(): boolean;
13
13
  }
14
+ //# sourceMappingURL=stream-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-adapter.d.ts","sourceRoot":"","sources":["../../../src/stream-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAG5D,qBAAa,mBAAoB,YAAW,aAAa;IAIrD,OAAO,CAAC,OAAO;IAHjB,OAAO,CAAC,EAAE,CAAW;gBAGX,OAAO,EAAE,MAAM,EACvB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;IAK3C,OAAO,IAAI,IAAI;IAEf,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAMpD,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAIlC,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAInC,KAAK,IAAI,IAAI;IAKb,MAAM,IAAI,OAAO;CAGlB"}
@@ -1,8 +1,8 @@
1
1
  import { WebSocket } from 'ws';
2
2
  export class StreamSocketAdapter {
3
- constructor(address) {
3
+ constructor(address, protocols) {
4
4
  this.address = address;
5
- this.ws = new WebSocket(this.address);
5
+ this.ws = new WebSocket(this.address, protocols);
6
6
  }
7
7
  connect() { }
8
8
  send(message) {
@@ -1,4 +1,8 @@
1
1
  import { Stream as StreamClient } from '@motiadev/stream-client';
2
+ export type NodeStreamOptions = {
3
+ protocols?: string | string[] | undefined;
4
+ };
2
5
  export declare class Stream extends StreamClient {
3
- constructor(address: string);
6
+ constructor(address: string, options?: NodeStreamOptions);
4
7
  }
8
+ //# sourceMappingURL=stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../src/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAGhE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;CAC1C,CAAA;AAED,qBAAa,MAAO,SAAQ,YAAY;gBAC1B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB;CAGzD"}
@@ -1,7 +1,7 @@
1
1
  import { Stream as StreamClient } from '@motiadev/stream-client';
2
2
  import { StreamSocketAdapter } from './stream-adapter';
3
3
  export class Stream extends StreamClient {
4
- constructor(address) {
5
- super(() => new StreamSocketAdapter(address));
4
+ constructor(address, options) {
5
+ super(() => new StreamSocketAdapter(address, options?.protocols));
6
6
  }
7
7
  }
@@ -1,2 +1,4 @@
1
1
  export { StreamGroupSubscription, StreamItemSubscription, StreamSubscription } from '@motiadev/stream-client';
2
+ export type { NodeStreamOptions } from './src/stream';
2
3
  export { Stream } from './src/stream';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC7G,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA"}
@@ -2,7 +2,7 @@ import type { SocketAdapter } from '@motiadev/stream-client';
2
2
  export declare class StreamSocketAdapter implements SocketAdapter {
3
3
  private address;
4
4
  private ws;
5
- constructor(address: string);
5
+ constructor(address: string, protocols?: string | string[] | undefined);
6
6
  connect(): void;
7
7
  send(message: string): void;
8
8
  onMessage(callback: (message: string) => void): void;
@@ -11,3 +11,4 @@ export declare class StreamSocketAdapter implements SocketAdapter {
11
11
  close(): void;
12
12
  isOpen(): boolean;
13
13
  }
14
+ //# sourceMappingURL=stream-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-adapter.d.ts","sourceRoot":"","sources":["../../../src/stream-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAG5D,qBAAa,mBAAoB,YAAW,aAAa;IAIrD,OAAO,CAAC,OAAO;IAHjB,OAAO,CAAC,EAAE,CAAW;gBAGX,OAAO,EAAE,MAAM,EACvB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;IAK3C,OAAO,IAAI,IAAI;IAEf,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAMpD,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAIlC,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAInC,KAAK,IAAI,IAAI;IAKb,MAAM,IAAI,OAAO;CAGlB"}
@@ -1,4 +1,8 @@
1
1
  import { Stream as StreamClient } from '@motiadev/stream-client';
2
+ export type NodeStreamOptions = {
3
+ protocols?: string | string[] | undefined;
4
+ };
2
5
  export declare class Stream extends StreamClient {
3
- constructor(address: string);
6
+ constructor(address: string, options?: NodeStreamOptions);
4
7
  }
8
+ //# sourceMappingURL=stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../src/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAGhE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;CAC1C,CAAA;AAED,qBAAa,MAAO,SAAQ,YAAY;gBAC1B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB;CAGzD"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@motiadev/stream-client-node",
3
3
  "description": "Motia Stream Client Package – Responsible for managing streams of data.",
4
- "version": "0.12.1-beta.158",
4
+ "version": "0.13.0",
5
5
  "license": "MIT",
6
6
  "main": "dist/cjs/index.js",
7
7
  "module": "dist/esm/index.js",
@@ -21,7 +21,7 @@
21
21
  "dependencies": {
22
22
  "uuid": "^11.1.0",
23
23
  "ws": "^8.18.2",
24
- "@motiadev/stream-client": "0.12.1-beta.158"
24
+ "@motiadev/stream-client": "0.13.0"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@types/jest": "^29.5.14",