@rpckit/core 0.9.99

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 (58) hide show
  1. package/README.md +131 -0
  2. package/dist/batch.d.ts +17 -0
  3. package/dist/batch.d.ts.map +1 -0
  4. package/dist/batch.js +59 -0
  5. package/dist/batch.js.map +1 -0
  6. package/dist/electrum-cash/index.d.ts +3 -0
  7. package/dist/electrum-cash/index.d.ts.map +1 -0
  8. package/dist/electrum-cash/index.js +2 -0
  9. package/dist/electrum-cash/index.js.map +1 -0
  10. package/dist/electrum-cash/parse.d.ts +27 -0
  11. package/dist/electrum-cash/parse.d.ts.map +1 -0
  12. package/dist/electrum-cash/parse.js +32 -0
  13. package/dist/electrum-cash/parse.js.map +1 -0
  14. package/dist/electrum-cash/schema.d.ts +517 -0
  15. package/dist/electrum-cash/schema.d.ts.map +1 -0
  16. package/dist/electrum-cash/schema.js +2 -0
  17. package/dist/electrum-cash/schema.js.map +1 -0
  18. package/dist/ethereum/index.d.ts +3 -0
  19. package/dist/ethereum/index.d.ts.map +1 -0
  20. package/dist/ethereum/index.js +2 -0
  21. package/dist/ethereum/index.js.map +1 -0
  22. package/dist/ethereum/parse.d.ts +22 -0
  23. package/dist/ethereum/parse.d.ts.map +1 -0
  24. package/dist/ethereum/parse.js +26 -0
  25. package/dist/ethereum/parse.js.map +1 -0
  26. package/dist/ethereum/schema.d.ts +530 -0
  27. package/dist/ethereum/schema.d.ts.map +1 -0
  28. package/dist/ethereum/schema.js +8 -0
  29. package/dist/ethereum/schema.js.map +1 -0
  30. package/dist/index.d.ts +10 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +4 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/parse.d.ts +74 -0
  35. package/dist/parse.d.ts.map +1 -0
  36. package/dist/parse.js +310 -0
  37. package/dist/parse.js.map +1 -0
  38. package/dist/protocol.d.ts +22 -0
  39. package/dist/protocol.d.ts.map +1 -0
  40. package/dist/protocol.js +2 -0
  41. package/dist/protocol.js.map +1 -0
  42. package/dist/retry.d.ts +9 -0
  43. package/dist/retry.d.ts.map +1 -0
  44. package/dist/retry.js +26 -0
  45. package/dist/retry.js.map +1 -0
  46. package/dist/schema-utils.d.ts +28 -0
  47. package/dist/schema-utils.d.ts.map +1 -0
  48. package/dist/schema-utils.js +2 -0
  49. package/dist/schema-utils.js.map +1 -0
  50. package/dist/schema.d.ts +32 -0
  51. package/dist/schema.d.ts.map +1 -0
  52. package/dist/schema.js +2 -0
  53. package/dist/schema.js.map +1 -0
  54. package/dist/types.d.ts +187 -0
  55. package/dist/types.d.ts.map +1 -0
  56. package/dist/types.js +2 -0
  57. package/dist/types.js.map +1 -0
  58. package/package.json +51 -0
@@ -0,0 +1,187 @@
1
+ import type { AnySchema, ExtractParams, ExtractRequestMethod, ExtractReturn, ExtractSubscriptionMethod, Schema } from './schema.js';
2
+ export type UnsubscribeCleanup = (context: {
3
+ request: (method: string, ...params: unknown[]) => Promise<unknown>;
4
+ method: string;
5
+ params: unknown[];
6
+ initialResult: unknown;
7
+ }) => Promise<void>;
8
+ export type Unsubscribe = (cleanup?: UnsubscribeCleanup) => Promise<void>;
9
+ export interface Transport<S extends Schema = AnySchema> {
10
+ url: string;
11
+ connect(): Promise<void>;
12
+ request<M extends ExtractRequestMethod<S>>(method: M, ...params: ExtractParams<S, M>): Promise<ExtractReturn<S, M>>;
13
+ subscribe<M extends ExtractSubscriptionMethod<S>>(method: M, ...args: [
14
+ ...ExtractParams<S, M>,
15
+ callback: (data: ExtractReturn<S, M>) => void
16
+ ]): Promise<Unsubscribe>;
17
+ close(): Promise<void>;
18
+ }
19
+ export interface BatchConfig {
20
+ wait?: number;
21
+ batchSize?: number;
22
+ }
23
+ export interface RetryConfig {
24
+ /** Maximum number of retry attempts (default: 3) */
25
+ retryCount?: number;
26
+ /** Base delay between retries in ms (default: 150). Exponential backoff is applied. */
27
+ retryDelay?: number;
28
+ }
29
+ export interface PingConfig {
30
+ interval: number;
31
+ method?: string;
32
+ params?: unknown[];
33
+ }
34
+ export interface HandshakeConfig {
35
+ method: string;
36
+ params?: unknown[];
37
+ }
38
+ export interface WebSocketTransportConfig extends RetryConfig {
39
+ url: string;
40
+ /** Request timeout in milliseconds */
41
+ timeout?: number;
42
+ /** Connection timeout in milliseconds */
43
+ connectTimeout?: number;
44
+ handshake?: HandshakeConfig;
45
+ keepAlive?: number | PingConfig;
46
+ reconnect?: {
47
+ delay: number;
48
+ attempts: number;
49
+ };
50
+ headers?: Record<string, string>;
51
+ batch?: boolean | BatchConfig;
52
+ onUnsubscribe?: UnsubscribeCleanup;
53
+ /**
54
+ * Transform the initial subscription result before delivering to the callback.
55
+ * Useful for normalizing initial results to match the notification format.
56
+ * `result` is the raw value wrapped in a single-element array.
57
+ * For example, Electrum Cash notifications arrive as [...params, ...result]
58
+ * while the initial result is just the raw value `[value]`.
59
+ *
60
+ * Return `undefined` to suppress delivery of the initial result to the callback.
61
+ * This is useful for protocols like Ethereum where the initial result is a
62
+ * subscription ID (metadata) rather than actual data.
63
+ */
64
+ transformInitialResult?: (method: string, params: unknown[], result: unknown[]) => unknown;
65
+ /**
66
+ * Filter notifications before delivery to subscribers. Return true to deliver.
67
+ * Used by protocols like Electrum Cash where multiple subscriptions share the
68
+ * same method name but use different params for routing.
69
+ */
70
+ notificationFilter?: (subscriptionParams: unknown[], notificationParams: unknown[]) => boolean;
71
+ }
72
+ /** Extended WebSocket transport with socket access methods */
73
+ export interface WebSocketTransport<S extends Schema = AnySchema> extends Transport<S> {
74
+ /** Get the underlying WebSocket instance (null if not connected) */
75
+ getSocket(): WebSocket | null;
76
+ /** Get the underlying WebSocket instance, connecting first if needed */
77
+ getSocketAsync(): Promise<WebSocket>;
78
+ }
79
+ /** Extended TCP transport with socket access methods */
80
+ export interface TcpTransport<S extends Schema = AnySchema> extends Transport<S> {
81
+ /** Get the underlying TCP socket (null if not connected) */
82
+ getSocket(): import('node:net').Socket | null;
83
+ /** Get the underlying TCP socket, connecting first if needed */
84
+ getSocketAsync(): Promise<import('node:net').Socket>;
85
+ }
86
+ export type TcpTransportConfig = ({
87
+ url: string;
88
+ tls?: import('tls').ConnectionOptions;
89
+ } & TcpTransportOptions) | ({
90
+ host: string;
91
+ port: number;
92
+ tls?: boolean | import('tls').ConnectionOptions;
93
+ } & TcpTransportOptions);
94
+ export interface TcpTransportOptions extends RetryConfig {
95
+ /** Request timeout in milliseconds */
96
+ timeout?: number;
97
+ /** Connection timeout in milliseconds */
98
+ connectTimeout?: number;
99
+ handshake?: HandshakeConfig;
100
+ keepAlive?: number | PingConfig;
101
+ reconnect?: {
102
+ delay: number;
103
+ attempts: number;
104
+ };
105
+ batch?: boolean | BatchConfig;
106
+ onUnsubscribe?: UnsubscribeCleanup;
107
+ /**
108
+ * Transform the initial subscription result before delivering to the callback.
109
+ * `result` is the raw value wrapped in a single-element array.
110
+ *
111
+ * Return `undefined` to suppress delivery of the initial result to the callback.
112
+ */
113
+ transformInitialResult?: (method: string, params: unknown[], result: unknown[]) => unknown;
114
+ /**
115
+ * Filter notifications before delivery to subscribers. Return true to deliver.
116
+ * Used by protocols like Electrum Cash where multiple subscriptions share the
117
+ * same method name but use different params for routing.
118
+ */
119
+ notificationFilter?: (subscriptionParams: unknown[], notificationParams: unknown[]) => boolean;
120
+ }
121
+ export interface HttpTransportConfig extends RetryConfig {
122
+ url: string;
123
+ /** Request timeout in milliseconds */
124
+ timeout?: number;
125
+ headers?: Record<string, string>;
126
+ batch?: boolean | BatchConfig;
127
+ /** Custom fetch implementation (e.g., node-fetch, undici) */
128
+ fetchFn?: typeof fetch;
129
+ /** Extra options passed to fetch (excluding method, headers, body, signal) */
130
+ fetchOptions?: Omit<RequestInit, 'method' | 'headers' | 'body' | 'signal'>;
131
+ /** Callback before each fetch request */
132
+ onRequest?: (info: {
133
+ url: string;
134
+ body: unknown;
135
+ }) => void;
136
+ /** Callback after each fetch response */
137
+ onResponse?: (info: {
138
+ status: number;
139
+ body: unknown;
140
+ }) => void;
141
+ /** Return RPC errors as results instead of throwing (default: false) */
142
+ raw?: boolean;
143
+ }
144
+ export interface RankConfig<S extends Schema = AnySchema> {
145
+ interval?: number;
146
+ ping?: (transport: Transport<S>) => Promise<unknown>;
147
+ sampleCount?: number;
148
+ timeout?: number;
149
+ weights?: {
150
+ latency?: number;
151
+ stability?: number;
152
+ };
153
+ }
154
+ export interface TransportScore<S extends Schema = AnySchema> {
155
+ transport: Transport<S>;
156
+ score: number;
157
+ latency: number;
158
+ stability: number;
159
+ }
160
+ export interface TransportResponse<S extends Schema = AnySchema> {
161
+ method: string;
162
+ params: unknown[];
163
+ transport: Transport<S>;
164
+ response?: unknown;
165
+ error?: unknown;
166
+ status: 'success' | 'error';
167
+ }
168
+ export interface FallbackTransport<S extends Schema = AnySchema> extends Transport<S> {
169
+ transports: Transport<S>[];
170
+ scores: TransportScore<S>[];
171
+ onScores(listener: (scores: TransportScore<S>[]) => void): () => void;
172
+ onResponse(listener: (info: TransportResponse<S>) => void): () => void;
173
+ }
174
+ export interface ClusterTransport<S extends Schema = AnySchema> extends Transport<S> {
175
+ transports: Transport<S>[];
176
+ onResponse(listener: (info: TransportResponse<S>) => void): () => void;
177
+ }
178
+ export interface FallbackTransportOptions<S extends Schema = AnySchema> {
179
+ shouldThrow?: (error: Error) => boolean | undefined;
180
+ rank?: boolean | RankConfig<S>;
181
+ eagerConnect?: boolean;
182
+ }
183
+ export interface ClusterTransportOptions {
184
+ quorum: number;
185
+ timeout?: number;
186
+ }
187
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "@rpckit/core",
3
+ "version": "0.9.99",
4
+ "description": "Core types, schema utilities, and batch scheduler for JSON-RPC communication",
5
+ "author": "mainnet_pat",
6
+ "license": "MIT",
7
+ "type": "module",
8
+ "sideEffects": false,
9
+ "main": "dist/index.js",
10
+ "types": "dist/index.d.ts",
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/index.d.ts",
14
+ "default": "./dist/index.js"
15
+ },
16
+ "./electrum-cash": {
17
+ "types": "./dist/electrum-cash/index.d.ts",
18
+ "default": "./dist/electrum-cash/index.js"
19
+ },
20
+ "./ethereum": {
21
+ "types": "./dist/ethereum/index.d.ts",
22
+ "default": "./dist/ethereum/index.js"
23
+ }
24
+ },
25
+ "files": [
26
+ "dist"
27
+ ],
28
+ "keywords": [
29
+ "json-rpc",
30
+ "rpc",
31
+ "electrum",
32
+ "electrum-cash",
33
+ "ethereum",
34
+ "typescript"
35
+ ],
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "git+https://github.com/mainnet-pat/rpckit.git",
39
+ "directory": "packages/core"
40
+ },
41
+ "homepage": "https://rpckit.dev",
42
+ "bugs": {
43
+ "url": "https://github.com/mainnet-pat/rpckit/issues"
44
+ },
45
+ "scripts": {
46
+ "build": "tsc"
47
+ },
48
+ "devDependencies": {
49
+ "typescript": "^5.7.0"
50
+ }
51
+ }