@livestore/utils 0.4.0-dev.2 → 0.4.0-dev.20

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 (184) hide show
  1. package/dist/.tsbuildinfo.json +1 -1
  2. package/dist/NoopTracer.d.ts.map +1 -1
  3. package/dist/NoopTracer.js +1 -0
  4. package/dist/NoopTracer.js.map +1 -1
  5. package/dist/browser/Opfs/Opfs.d.ts +51 -0
  6. package/dist/browser/Opfs/Opfs.d.ts.map +1 -0
  7. package/dist/browser/Opfs/Opfs.js +345 -0
  8. package/dist/browser/Opfs/Opfs.js.map +1 -0
  9. package/dist/browser/Opfs/debug-utils.d.ts +20 -0
  10. package/dist/browser/Opfs/debug-utils.d.ts.map +1 -0
  11. package/dist/browser/Opfs/debug-utils.js +94 -0
  12. package/dist/browser/Opfs/debug-utils.js.map +1 -0
  13. package/dist/browser/Opfs/mod.d.ts +4 -0
  14. package/dist/browser/Opfs/mod.d.ts.map +1 -0
  15. package/dist/browser/Opfs/mod.js +4 -0
  16. package/dist/browser/Opfs/mod.js.map +1 -0
  17. package/dist/browser/Opfs/utils.d.ts +68 -0
  18. package/dist/browser/Opfs/utils.d.ts.map +1 -0
  19. package/dist/browser/Opfs/utils.js +206 -0
  20. package/dist/browser/Opfs/utils.js.map +1 -0
  21. package/dist/browser/QuotaExceededError.d.ts +59 -0
  22. package/dist/browser/QuotaExceededError.d.ts.map +1 -0
  23. package/dist/browser/QuotaExceededError.js +2 -0
  24. package/dist/browser/QuotaExceededError.js.map +1 -0
  25. package/dist/browser/WebChannelBrowser.d.ts +22 -0
  26. package/dist/browser/WebChannelBrowser.d.ts.map +1 -0
  27. package/dist/browser/WebChannelBrowser.js +76 -0
  28. package/dist/browser/WebChannelBrowser.js.map +1 -0
  29. package/dist/browser/WebError.d.ts +425 -0
  30. package/dist/browser/WebError.d.ts.map +1 -0
  31. package/dist/browser/WebError.js +414 -0
  32. package/dist/browser/WebError.js.map +1 -0
  33. package/dist/browser/WebError.test.d.ts +2 -0
  34. package/dist/browser/WebError.test.d.ts.map +1 -0
  35. package/dist/browser/WebError.test.js +46 -0
  36. package/dist/browser/WebError.test.js.map +1 -0
  37. package/dist/browser/WebLock.d.ts.map +1 -0
  38. package/dist/browser/WebLock.js.map +1 -0
  39. package/dist/{browser.d.ts → browser/detect.d.ts} +1 -1
  40. package/dist/browser/detect.d.ts.map +1 -0
  41. package/dist/{browser.js → browser/detect.js} +1 -1
  42. package/dist/browser/detect.js.map +1 -0
  43. package/dist/browser/mod.d.ts +8 -0
  44. package/dist/browser/mod.d.ts.map +1 -0
  45. package/dist/browser/mod.js +8 -0
  46. package/dist/browser/mod.js.map +1 -0
  47. package/dist/effect/Debug.d.ts +38 -0
  48. package/dist/effect/Debug.d.ts.map +1 -0
  49. package/dist/effect/Debug.js +287 -0
  50. package/dist/effect/Debug.js.map +1 -0
  51. package/dist/effect/Effect.d.ts +9 -3
  52. package/dist/effect/Effect.d.ts.map +1 -1
  53. package/dist/effect/Effect.js +4 -2
  54. package/dist/effect/Effect.js.map +1 -1
  55. package/dist/effect/Error.d.ts +1 -1
  56. package/dist/effect/Error.js.map +1 -1
  57. package/dist/effect/Logger.d.ts +4 -1
  58. package/dist/effect/Logger.d.ts.map +1 -1
  59. package/dist/effect/Logger.js +12 -3
  60. package/dist/effect/Logger.js.map +1 -1
  61. package/dist/effect/OtelTracer.d.ts +5 -0
  62. package/dist/effect/OtelTracer.d.ts.map +1 -0
  63. package/dist/effect/OtelTracer.js +8 -0
  64. package/dist/effect/OtelTracer.js.map +1 -0
  65. package/dist/effect/RpcClient.d.ts +32 -0
  66. package/dist/effect/RpcClient.d.ts.map +1 -0
  67. package/dist/effect/RpcClient.js +149 -0
  68. package/dist/effect/RpcClient.js.map +1 -0
  69. package/dist/effect/Schema/index.d.ts +2 -2
  70. package/dist/effect/Schema/index.d.ts.map +1 -1
  71. package/dist/effect/Schema/index.js +12 -2
  72. package/dist/effect/Schema/index.js.map +1 -1
  73. package/dist/effect/Stream.d.ts +73 -2
  74. package/dist/effect/Stream.d.ts.map +1 -1
  75. package/dist/effect/Stream.js +68 -1
  76. package/dist/effect/Stream.js.map +1 -1
  77. package/dist/effect/Stream.test.d.ts +2 -0
  78. package/dist/effect/Stream.test.d.ts.map +1 -0
  79. package/dist/effect/Stream.test.js +84 -0
  80. package/dist/effect/Stream.test.js.map +1 -0
  81. package/dist/effect/SubscriptionRef.d.ts +2 -2
  82. package/dist/effect/SubscriptionRef.d.ts.map +1 -1
  83. package/dist/effect/SubscriptionRef.js +6 -1
  84. package/dist/effect/SubscriptionRef.js.map +1 -1
  85. package/dist/effect/WebChannel/WebChannel.d.ts +2 -21
  86. package/dist/effect/WebChannel/WebChannel.d.ts.map +1 -1
  87. package/dist/effect/WebChannel/WebChannel.js +5 -81
  88. package/dist/effect/WebChannel/WebChannel.js.map +1 -1
  89. package/dist/effect/WebChannel/WebChannel.test.js +1 -1
  90. package/dist/effect/WebChannel/WebChannel.test.js.map +1 -1
  91. package/dist/effect/WebChannel/common.d.ts +1 -1
  92. package/dist/effect/WebChannel/common.d.ts.map +1 -1
  93. package/dist/effect/WebSocket.d.ts.map +1 -1
  94. package/dist/effect/WebSocket.js +12 -12
  95. package/dist/effect/WebSocket.js.map +1 -1
  96. package/dist/effect/mod.d.ts +32 -0
  97. package/dist/effect/mod.d.ts.map +1 -0
  98. package/dist/effect/mod.js +35 -0
  99. package/dist/effect/mod.js.map +1 -0
  100. package/dist/global.d.ts +1 -0
  101. package/dist/global.d.ts.map +1 -1
  102. package/dist/global.js.map +1 -1
  103. package/dist/misc.js +1 -1
  104. package/dist/misc.js.map +1 -1
  105. package/dist/mod.d.ts +3 -1
  106. package/dist/mod.d.ts.map +1 -1
  107. package/dist/mod.js +5 -1
  108. package/dist/mod.js.map +1 -1
  109. package/dist/node/ChildProcessRunner/ChildProcessRunner.d.ts.map +1 -1
  110. package/dist/node/ChildProcessRunner/ChildProcessRunner.js +66 -10
  111. package/dist/node/ChildProcessRunner/ChildProcessRunner.js.map +1 -1
  112. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.js +177 -3
  113. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.js.map +1 -1
  114. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/schema.d.ts +14 -5
  115. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/schema.d.ts.map +1 -1
  116. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/schema.js +7 -1
  117. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/schema.js.map +1 -1
  118. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.js +13 -3
  119. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.js.map +1 -1
  120. package/dist/node/ChildProcessRunner/ChildProcessWorker.d.ts +16 -0
  121. package/dist/node/ChildProcessRunner/ChildProcessWorker.d.ts.map +1 -1
  122. package/dist/node/ChildProcessRunner/ChildProcessWorker.js +98 -2
  123. package/dist/node/ChildProcessRunner/ChildProcessWorker.js.map +1 -1
  124. package/dist/node/mod.d.ts +8 -2
  125. package/dist/node/mod.d.ts.map +1 -1
  126. package/dist/node/mod.js +11 -3
  127. package/dist/node/mod.js.map +1 -1
  128. package/dist/qr.d.ts +38 -0
  129. package/dist/qr.d.ts.map +1 -0
  130. package/dist/qr.js +109 -0
  131. package/dist/qr.js.map +1 -0
  132. package/package.json +54 -44
  133. package/src/NoopTracer.ts +1 -0
  134. package/src/browser/Opfs/Opfs.ts +428 -0
  135. package/src/browser/Opfs/debug-utils.ts +151 -0
  136. package/src/browser/Opfs/mod.ts +3 -0
  137. package/src/browser/Opfs/utils.ts +270 -0
  138. package/src/browser/QuotaExceededError.ts +59 -0
  139. package/src/browser/WebChannelBrowser.ts +131 -0
  140. package/src/browser/WebError.test.ts +66 -0
  141. package/src/browser/WebError.ts +599 -0
  142. package/src/browser/mod.ts +8 -0
  143. package/src/effect/Debug.ts +375 -0
  144. package/src/effect/Effect.ts +31 -4
  145. package/src/effect/Error.ts +1 -1
  146. package/src/effect/Logger.ts +14 -4
  147. package/src/effect/OtelTracer.ts +11 -0
  148. package/src/effect/RpcClient.ts +212 -0
  149. package/src/effect/Schema/index.ts +17 -3
  150. package/src/effect/Stream.test.ts +127 -0
  151. package/src/effect/Stream.ts +111 -2
  152. package/src/effect/SubscriptionRef.ts +14 -2
  153. package/src/effect/WebChannel/WebChannel.test.ts +1 -1
  154. package/src/effect/WebChannel/WebChannel.ts +13 -135
  155. package/src/effect/WebChannel/common.ts +1 -1
  156. package/src/effect/WebSocket.ts +11 -10
  157. package/src/effect/{index.ts → mod.ts} +42 -15
  158. package/src/global.ts +1 -0
  159. package/src/misc.ts +1 -1
  160. package/src/mod.ts +10 -1
  161. package/src/node/ChildProcessRunner/ChildProcessRunner.ts +71 -10
  162. package/src/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.ts +258 -3
  163. package/src/node/ChildProcessRunner/ChildProcessRunnerTest/schema.ts +14 -1
  164. package/src/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.ts +16 -3
  165. package/src/node/ChildProcessRunner/ChildProcessWorker.ts +111 -3
  166. package/src/node/mod.ts +13 -6
  167. package/src/qr.ts +125 -0
  168. package/dist/browser.d.ts.map +0 -1
  169. package/dist/browser.js.map +0 -1
  170. package/dist/effect/Schema/msgpack.d.ts +0 -3
  171. package/dist/effect/Schema/msgpack.d.ts.map +0 -1
  172. package/dist/effect/Schema/msgpack.js +0 -7
  173. package/dist/effect/Schema/msgpack.js.map +0 -1
  174. package/dist/effect/WebLock.d.ts.map +0 -1
  175. package/dist/effect/WebLock.js.map +0 -1
  176. package/dist/effect/index.d.ts +0 -27
  177. package/dist/effect/index.d.ts.map +0 -1
  178. package/dist/effect/index.js +0 -31
  179. package/dist/effect/index.js.map +0 -1
  180. package/src/effect/Schema/msgpack.ts +0 -8
  181. /package/dist/{effect → browser}/WebLock.d.ts +0 -0
  182. /package/dist/{effect → browser}/WebLock.js +0 -0
  183. /package/src/{effect → browser}/WebLock.ts +0 -0
  184. /package/src/{browser.ts → browser/detect.ts} +0 -0
@@ -0,0 +1,287 @@
1
+ import * as C from '@effect/experimental/DevTools/Client';
2
+ import { Duration, Schedule } from 'effect';
3
+ import * as Console from 'effect/Console';
4
+ import * as Effect from 'effect/Effect';
5
+ import { pipe } from 'effect/Function';
6
+ import * as Graph from 'effect/Graph';
7
+ import * as Layer from 'effect/Layer';
8
+ import * as Option from 'effect/Option';
9
+ class DebugInfo extends Effect.Service()('@mattiamanzati/debug/DebugInfo', {
10
+ effect: Effect.sync(() => ({
11
+ mutableGraph: Graph.beginMutation(Graph.directed()),
12
+ nodeIdBySpanId: new Map(),
13
+ })),
14
+ }) {
15
+ }
16
+ const layerClientInMemoryGraph = Layer.effect(C.Client, Effect.gen(function* () {
17
+ const { mutableGraph, nodeIdBySpanId } = yield* DebugInfo;
18
+ function ensureNode(traceId, spanId) {
19
+ const existingNodeId = nodeIdBySpanId.get(spanId);
20
+ if (existingNodeId !== undefined)
21
+ return existingNodeId;
22
+ const nodeId = Graph.addNode(mutableGraph, {
23
+ span: { _tag: 'ExternalSpan', spanId, traceId, sampled: false },
24
+ events: [],
25
+ });
26
+ nodeIdBySpanId.set(spanId, nodeId);
27
+ return nodeId;
28
+ }
29
+ function upgradeInfo(prev, next) {
30
+ if (prev._tag === 'ExternalSpan' && next._tag === 'Span')
31
+ return [next, true];
32
+ if (prev._tag === 'Span' && next._tag === 'ExternalSpan')
33
+ return [prev, false];
34
+ if (prev._tag === 'Span' && prev.status._tag === 'Ended')
35
+ return [prev, false];
36
+ return [next, false];
37
+ }
38
+ function addNode(span) {
39
+ const nodeId = ensureNode(span.traceId, span.spanId);
40
+ Graph.updateNode(mutableGraph, nodeId, (previousInfo) => {
41
+ const [latestInfo, upgraded] = upgradeInfo(previousInfo.span, span);
42
+ if (upgraded && latestInfo._tag === 'Span' && Option.isSome(latestInfo.parent)) {
43
+ const parentNodeId = addNode(latestInfo.parent.value);
44
+ Graph.addEdge(mutableGraph, parentNodeId, nodeId, undefined);
45
+ }
46
+ return { ...previousInfo, span: latestInfo };
47
+ });
48
+ return nodeId;
49
+ }
50
+ function addEvent(event) {
51
+ const nodeId = ensureNode(event.traceId, event.spanId);
52
+ Graph.updateNode(mutableGraph, nodeId, (previousInfo) => ({
53
+ ...previousInfo,
54
+ events: [...previousInfo.events, event],
55
+ }));
56
+ }
57
+ return C.Client.of({
58
+ unsafeAddSpan: (span) => {
59
+ switch (span._tag) {
60
+ case 'SpanEvent':
61
+ return addEvent(span);
62
+ case 'Span':
63
+ return addNode(span);
64
+ }
65
+ },
66
+ });
67
+ }));
68
+ export const layerDebug = pipe(C.makeTracer, Effect.map(Layer.setTracer), Layer.unwrapEffect, Layer.provide(layerClientInMemoryGraph), Layer.provideMerge(DebugInfo.Default));
69
+ function formatDuration(startTime, endTime) {
70
+ if (endTime === undefined)
71
+ return 'running';
72
+ const durationMs = Number(endTime - startTime) / 1000000; // Convert nanoseconds to milliseconds
73
+ if (durationMs < 1000)
74
+ return `${durationMs.toFixed(0)}ms`;
75
+ if (durationMs < 60000)
76
+ return `${(durationMs / 1000).toFixed(2)}s`;
77
+ return `${(durationMs / 60000).toFixed(2)}m`;
78
+ }
79
+ function getSpanName(span) {
80
+ if (span._tag === 'ExternalSpan')
81
+ return `[external] ${span.spanId}`;
82
+ return span.name;
83
+ }
84
+ function getSpanStatus(span) {
85
+ if (span._tag === 'ExternalSpan')
86
+ return '?';
87
+ if (span.status._tag === 'Ended')
88
+ return '✓';
89
+ return '●';
90
+ }
91
+ function getSpanDuration(span) {
92
+ if (span._tag === 'ExternalSpan')
93
+ return '';
94
+ const endTime = span.status._tag === 'Ended' ? span.status.endTime : undefined;
95
+ return formatDuration(span.status.startTime, endTime);
96
+ }
97
+ /**
98
+ * Filters a graph by keeping only nodes that match the predicate or have descendants that match.
99
+ * This ensures parent nodes are included even if they don't match, as long as they have matching descendants.
100
+ *
101
+ * @param graph - The graph to filter
102
+ * @param predicate - A function that tests whether a node should be included
103
+ * @returns A new filtered graph containing only matching nodes and their ancestors
104
+ */
105
+ function filterGraphWithAncestors(graph, predicate) {
106
+ // Find all root nodes (nodes with no incoming edges)
107
+ const rootNodes = Array.from(Graph.indices(Graph.externals(graph, { direction: 'incoming' })));
108
+ const shouldInclude = new Map();
109
+ // Use postorder DFS to evaluate children before parents
110
+ for (const rootId of rootNodes) {
111
+ for (const nodeId of Graph.indices(Graph.dfsPostOrder(graph, { startNodes: [rootId], direction: 'outgoing' }))) {
112
+ const node = Graph.getNode(graph, nodeId);
113
+ if (Option.isNone(node))
114
+ continue;
115
+ const matchesPredicate = predicate(node.value, nodeId);
116
+ // Check if any children should be included
117
+ const children = Graph.neighborsDirected(graph, nodeId, 'outgoing');
118
+ const hasMatchingChildren = children.some((childId) => shouldInclude.get(childId) === true);
119
+ const include = matchesPredicate || hasMatchingChildren;
120
+ shouldInclude.set(nodeId, include);
121
+ }
122
+ }
123
+ // Create a filtered copy of the graph
124
+ return Graph.mutate(graph, (mutable) => {
125
+ for (const [nodeId] of mutable.nodes) {
126
+ if (shouldInclude.get(nodeId) === true)
127
+ continue;
128
+ Graph.removeNode(mutable, nodeId);
129
+ }
130
+ });
131
+ }
132
+ function renderNode(graph, nodeId, prefix = '', isLast = true) {
133
+ const node = Graph.getNode(graph, nodeId);
134
+ if (Option.isNone(node))
135
+ return [];
136
+ const info = node.value;
137
+ const status = getSpanStatus(info.span);
138
+ const name = getSpanName(info.span);
139
+ const duration = getSpanDuration(info.span);
140
+ const durationStr = duration ? ` ${duration}` : '';
141
+ const connector = isLast ? '└─ ' : '├─ ';
142
+ const lines = [`${prefix}${connector}${status} ${name}${durationStr}`];
143
+ // Get children
144
+ const children = Graph.neighborsDirected(graph, nodeId, 'outgoing');
145
+ const childCount = children.length;
146
+ children.forEach((childId, index) => {
147
+ const isLastChild = index === childCount - 1;
148
+ const childPrefix = prefix + (isLast ? ' ' : '│ ');
149
+ const childLines = renderNode(graph, childId, childPrefix, isLastChild);
150
+ lines.push(...childLines);
151
+ });
152
+ return lines;
153
+ }
154
+ /**
155
+ * Converts a span node to Chrome Trace Events (Begin and End)
156
+ */
157
+ function spanToTraceEvents(span, _nodeId, processId = 1) {
158
+ const events = [];
159
+ if (span._tag === 'ExternalSpan') {
160
+ // External spans don't have timing info, skip them
161
+ return events;
162
+ }
163
+ const name = span.name;
164
+ const threadId = 1; // Could use spanId hash or other identifier
165
+ // Begin event
166
+ const startTimeUs = Number(span.status.startTime) / 1000; // Convert nanoseconds to microseconds
167
+ events.push({
168
+ name,
169
+ cat: 'span',
170
+ ph: 'B',
171
+ ts: startTimeUs,
172
+ pid: processId,
173
+ tid: threadId,
174
+ args: {
175
+ spanId: span.spanId,
176
+ traceId: span.traceId,
177
+ attributes: Object.fromEntries(span.attributes),
178
+ },
179
+ });
180
+ // End event (only if span has ended)
181
+ if (span.status._tag === 'Ended') {
182
+ const endTimeUs = Number(span.status.endTime) / 1000; // Convert nanoseconds to microseconds
183
+ events.push({
184
+ name,
185
+ cat: 'span',
186
+ ph: 'E',
187
+ ts: endTimeUs,
188
+ pid: processId,
189
+ tid: threadId,
190
+ });
191
+ }
192
+ return events;
193
+ }
194
+ /**
195
+ * Traverses the graph and collects all trace events
196
+ */
197
+ function collectTraceEvents(graph, rootNodes) {
198
+ const events = [];
199
+ // Use DFS to traverse all nodes
200
+ for (const rootId of rootNodes) {
201
+ for (const nodeId of Graph.indices(Graph.dfs(graph, { startNodes: [rootId], direction: 'outgoing' }))) {
202
+ const node = Graph.getNode(graph, nodeId);
203
+ if (Option.isNone(node))
204
+ continue;
205
+ const nodeEvents = spanToTraceEvents(node.value.span, nodeId);
206
+ events.push(...nodeEvents);
207
+ }
208
+ }
209
+ // Sort events by timestamp
210
+ events.sort((a, b) => a.ts - b.ts);
211
+ return events;
212
+ }
213
+ export const logTree = (options = {}) => Effect.gen(function* () {
214
+ const maybeInfo = yield* Effect.serviceOption(DebugInfo);
215
+ if (Option.isNone(maybeInfo))
216
+ return yield* Console.log('(no debug info provided! To show the tree, provide the layerDebug layer in the root of your program)');
217
+ const { mutableGraph } = maybeInfo.value;
218
+ const graph = Graph.endMutation(mutableGraph);
219
+ // Find root nodes (nodes with no incoming edges) using externals
220
+ const rootNodes = Array.from(Graph.indices(Graph.externals(graph, { direction: 'incoming' })));
221
+ if (rootNodes.length === 0) {
222
+ return yield* Console.log('(empty trace)');
223
+ }
224
+ // Apply filter to create a filtered copy of the graph
225
+ const filteredGraph = options.regex
226
+ ? filterGraphWithAncestors(graph, (nodeData, _nodeId) => {
227
+ const name = getSpanName(nodeData.span);
228
+ return options.regex.test(name);
229
+ })
230
+ : graph;
231
+ // Find root nodes in the filtered graph
232
+ const filteredRootNodes = Array.from(Graph.indices(Graph.externals(filteredGraph, { direction: 'incoming' })));
233
+ if (filteredRootNodes.length === 0) {
234
+ return yield* Console.log(options.title ? `${options.title}\n(no matches)` : '(no matches)');
235
+ }
236
+ const lines = [];
237
+ // Add title if provided
238
+ if (options.title) {
239
+ lines.push(options.title);
240
+ }
241
+ // Render root nodes using the same logic as regular children
242
+ const rootCount = filteredRootNodes.length;
243
+ filteredRootNodes.forEach((rootId, index) => {
244
+ const isLastRoot = index === rootCount - 1;
245
+ const rootLines = renderNode(filteredGraph, rootId, '', isLastRoot);
246
+ lines.push(...rootLines);
247
+ });
248
+ return yield* Console.log(lines.join('\n'));
249
+ });
250
+ /**
251
+ * Logs the span tree in Chrome Performance Trace Event Format.
252
+ * The output can be loaded in Chrome DevTools Performance tab or chrome://tracing
253
+ *
254
+ * @see https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU/preview
255
+ */
256
+ export const logPerformanceTrace = (options = {}) => Effect.gen(function* () {
257
+ const maybeInfo = yield* Effect.serviceOption(DebugInfo);
258
+ if (Option.isNone(maybeInfo)) {
259
+ return yield* Console.log('(no debug info provided! To show the trace, provide the layerDebug layer in the root of your program)');
260
+ }
261
+ const { mutableGraph } = maybeInfo.value;
262
+ const graph = Graph.endMutation(mutableGraph);
263
+ // Find root nodes (nodes with no incoming edges) using externals
264
+ const rootNodes = Array.from(Graph.indices(Graph.externals(graph, { direction: 'incoming' })));
265
+ if (rootNodes.length === 0) {
266
+ return yield* Console.log('[]');
267
+ }
268
+ // Apply filter if provided
269
+ const filteredGraph = options.regex
270
+ ? filterGraphWithAncestors(graph, (nodeData, _nodeId) => {
271
+ const name = getSpanName(nodeData.span);
272
+ return options.regex.test(name);
273
+ })
274
+ : graph;
275
+ // Find root nodes in the filtered graph
276
+ const filteredRootNodes = Array.from(Graph.indices(Graph.externals(filteredGraph, { direction: 'incoming' })));
277
+ // Collect all trace events
278
+ const events = collectTraceEvents(filteredGraph, filteredRootNodes);
279
+ // Output as compact JSON array
280
+ const json = JSON.stringify(events);
281
+ return yield* Console.log(json);
282
+ });
283
+ export const logScopeState = ({ label }) => Effect.gen(function* () {
284
+ const scope = yield* Effect.scope;
285
+ yield* Effect.log(`scope.state[${label}]`, scope.state._tag).pipe(Effect.repeat({ schedule: Schedule.fixed(Duration.millis(100)) }), Effect.forkScoped);
286
+ });
287
+ //# sourceMappingURL=Debug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Debug.js","sourceRoot":"","sources":["../../src/effect/Debug.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import type { Context, Duration, Stream } from 'effect';
2
- import { Deferred, Effect, Scope } from 'effect';
1
+ import { type Context, Deferred, Duration, Effect, Scope, type Stream } from 'effect';
3
2
  import type { UnknownException } from 'effect/Cause';
4
- import type { LazyArg } from 'effect/Function';
3
+ import { type LazyArg } from 'effect/Function';
4
+ import type { Predicate, Refinement } from 'effect/Predicate';
5
5
  export * from 'effect/Effect';
6
6
  /** Same as `Effect.scopeWith` but with a `CloseableScope` instead of a `Scope`. */
7
7
  export declare const scopeWithCloseable: <R, E, A>(fn: (scope: Scope.CloseableScope) => Effect.Effect<A, E, R | Scope.Scope>) => Effect.Effect<A, E, R | Scope.Scope>;
@@ -12,6 +12,12 @@ export declare const addFinalizerLog: (...msgs: any[]) => Effect.Effect<void, ne
12
12
  export declare const logBefore: (...msgs: any[]) => <A, E, R>(eff: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
13
13
  /** Logs both on errors and defects */
14
14
  export declare const tapCauseLogPretty: <R, E, A>(eff: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
15
+ export declare const ignoreIf: {
16
+ <E, EB extends E>(refinement: Refinement<NoInfer<E>, EB>): <A, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<void, Exclude<E, EB>, R>;
17
+ <E>(predicate: Predicate<NoInfer<E>>): <A, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<void, E, R>;
18
+ <A, E, R, EB extends E>(self: Effect.Effect<A, E, R>, refinement: Refinement<E, EB>): Effect.Effect<void, Exclude<E, EB>, R>;
19
+ <A, E, R>(self: Effect.Effect<A, E, R>, predicate: Predicate<E>): Effect.Effect<void, E, R>;
20
+ };
15
21
  export declare const eventListener: <TEvent = unknown>(target: Stream.EventListener<TEvent>, type: string, handler: (event: TEvent) => Effect.Effect<void, never, never>, options?: {
16
22
  once?: boolean;
17
23
  }) => Effect.Effect<void, never, Scope.Scope>;
@@ -1 +1 @@
1
- {"version":3,"file":"Effect.d.ts","sourceRoot":"","sources":["../../src/effect/Effect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Effect.d.ts","sourceRoot":"","sources":["../../src/effect/Effect.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import * as OtelTracer from '@effect/opentelemetry/Tracer';
2
- import { Cause, Deferred, Effect, Fiber, FiberRef, HashSet, Logger, pipe, Scope } from 'effect';
2
+ import { Cause, Deferred, Duration, Effect, Fiber, FiberRef, HashSet, Logger, pipe, Scope, } from 'effect';
3
3
  import { log } from 'effect/Console';
4
+ import { dual } from 'effect/Function';
4
5
  import { isPromise } from "../mod.js";
5
6
  import { UnknownError } from "./Error.js";
6
7
  export * from 'effect/Effect';
@@ -44,6 +45,7 @@ export const tapCauseLogPretty = (eff) => Effect.tapErrorCause(eff, (cause) => E
44
45
  ? _
45
46
  : Effect.annotateLogs({ spanId: span.spanContext().spanId, traceId: span.spanContext().traceId })(_));
46
47
  }));
48
+ export const ignoreIf = dual(2, (self, predicate) => self.pipe(Effect.catchIf(predicate, () => Effect.void)));
47
49
  export const eventListener = (target, type, handler, options) => Effect.gen(function* () {
48
50
  const runtime = yield* Effect.runtime();
49
51
  const handlerFn = (event) => handler(event).pipe(Effect.provide(runtime), Effect.runFork);
@@ -78,7 +80,7 @@ export const logDuration = (label) => (eff) => Effect.gen(function* () {
78
80
  const start = Date.now();
79
81
  const res = yield* eff;
80
82
  const end = Date.now();
81
- yield* Effect.log(`${label}: ${end - start}ms`);
83
+ yield* Effect.log(`${label}: ${Duration.format(end - start)}`);
82
84
  return res;
83
85
  });
84
86
  export const tapSync = (tapFn) => (eff) => Effect.tap(eff, (a) => Effect.sync(() => tapFn(a)));
@@ -1 +1 @@
1
- {"version":3,"file":"Effect.js","sourceRoot":"","sources":["../../src/effect/Effect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Effect.js","sourceRoot":"","sources":["../../src/effect/Effect.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Schema } from 'effect';
2
- declare const UnknownError_base: Schema.TaggedErrorClass<"UnknownError", "UnknownError", {
2
+ declare const UnknownError_base: Schema.TaggedErrorClass<UnknownError, "UnknownError", {
3
3
  readonly _tag: Schema.tag<"UnknownError">;
4
4
  } & {
5
5
  cause: typeof Schema.Any;
@@ -1 +1 @@
1
- {"version":3,"file":"Error.js","sourceRoot":"","sources":["../../src/effect/Error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,MAAM,OAAO,YAAa,SAAQ,MAAM,CAAC,WAAW,EAAkB,CAAC,cAAc,EAAE;IACrF,KAAK,EAAE,MAAM,CAAC,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;CACrC,CAAC;CAAG"}
1
+ {"version":3,"file":"Error.js","sourceRoot":"","sources":["../../src/effect/Error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,MAAM,OAAO,YAAa,SAAQ,MAAM,CAAC,WAAW,EAAgB,CAAC,cAAc,EAAE;IACnF,KAAK,EAAE,MAAM,CAAC,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;CACrC,CAAC;CAAG"}
@@ -1,5 +1,8 @@
1
1
  import { Logger } from 'effect';
2
2
  export * from 'effect/Logger';
3
- export declare const prettyWithThread: (threadName: string) => import("effect/Layer").Layer<never, never, never>;
3
+ export declare const prettyWithThread: (threadName: string, options?: {
4
+ mode?: "tty" | "browser";
5
+ }) => import("effect/Layer").Layer<never, never, never>;
4
6
  export declare const consoleLogger: (threadName: string) => Logger.Logger<unknown, void>;
7
+ export declare const consoleWithThread: (threadName: string) => import("effect/Layer").Layer<never, never, never>;
5
8
  //# sourceMappingURL=Logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/effect/Logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,MAAM,EAAY,MAAM,QAAQ,CAAA;AAEzD,cAAc,eAAe,CAAA;AAQ7B,eAAO,MAAM,gBAAgB,GAAI,YAAY,MAAM,sDAOhD,CAAA;AAEH,eAAO,MAAM,aAAa,GAAI,YAAY,MAAM,iCAmB5C,CAAA"}
1
+ {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/effect/Logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,MAAM,EAAY,MAAM,QAAQ,CAAA;AAEzD,cAAc,eAAe,CAAA;AAQ7B,eAAO,MAAM,gBAAgB,GAAI,YAAY,MAAM,EAAE,UAAS;IAAE,IAAI,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;CAAO,sDAO5F,CAAA;AAEH,eAAO,MAAM,aAAa,GAAI,YAAY,MAAM,iCA2B5C,CAAA;AAEJ,eAAO,MAAM,iBAAiB,GAAI,YAAY,MAAM,sDAAoE,CAAA"}
@@ -4,12 +4,17 @@ const defaultDateFormat = (date) => `${date.getHours().toString().padStart(2, '0
4
4
  .getSeconds()
5
5
  .toString()
6
6
  .padStart(2, '0')}.${date.getMilliseconds().toString().padStart(3, '0')}`;
7
- export const prettyWithThread = (threadName) => Logger.replace(Logger.defaultLogger, Logger.prettyLogger({
7
+ export const prettyWithThread = (threadName, options = {}) => Logger.replace(Logger.defaultLogger, Logger.prettyLogger({
8
8
  formatDate: (date) => `${defaultDateFormat(date)} ${threadName}`,
9
+ mode: options.mode,
9
10
  }));
10
11
  export const consoleLogger = (threadName) => Logger.make(({ message, annotations, date, logLevel, cause }) => {
12
+ const isCloudflareWorker = typeof navigator !== 'undefined' && navigator.userAgent === 'Cloudflare-Workers';
11
13
  const consoleFn = logLevel === LogLevel.Debug
12
- ? console.debug
14
+ ? // Cloudflare Workers doesn't support console.debug 🤷
15
+ isCloudflareWorker
16
+ ? console.log
17
+ : console.debug
13
18
  : logLevel === LogLevel.Info
14
19
  ? console.info
15
20
  : logLevel === LogLevel.Warning
@@ -20,6 +25,10 @@ export const consoleLogger = (threadName) => Logger.make(({ message, annotations
20
25
  if (Cause.isEmpty(cause) === false) {
21
26
  messages.push(Cause.pretty(cause, { renderErrorCause: true }));
22
27
  }
23
- consoleFn(`[${defaultDateFormat(date)} ${threadName}]`, ...messages, annotationsObj);
28
+ if (Object.keys(annotationsObj).length > 0) {
29
+ messages.push(annotationsObj);
30
+ }
31
+ consoleFn(`[${defaultDateFormat(date)} ${threadName}]`, ...messages);
24
32
  });
33
+ export const consoleWithThread = (threadName) => Logger.replace(Logger.defaultLogger, consoleLogger(threadName));
25
34
  //# sourceMappingURL=Logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/effect/Logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEzD,cAAc,eAAe,CAAA;AAE7B,MAAM,iBAAiB,GAAG,CAAC,IAAU,EAAU,EAAE,CAC/C,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI;KACpG,UAAU,EAAE;KACZ,QAAQ,EAAE;KACV,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAA;AAE7E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,UAAkB,EAAE,EAAE,CACrD,MAAM,CAAC,OAAO,CACZ,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,YAAY,CAAC;IAClB,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,UAAU,EAAE;CACjE,CAAC,CAEH,CAAA;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,UAAkB,EAAE,EAAE,CAClD,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;IAC9D,MAAM,SAAS,GACb,QAAQ,KAAK,QAAQ,CAAC,KAAK;QACzB,CAAC,CAAC,OAAO,CAAC,KAAK;QACf,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI;YAC1B,CAAC,CAAC,OAAO,CAAC,IAAI;YACd,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,OAAO;gBAC7B,CAAC,CAAC,OAAO,CAAC,IAAI;gBACd,CAAC,CAAC,OAAO,CAAC,KAAK,CAAA;IAEvB,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;IAEvE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,SAAS,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,UAAU,GAAG,EAAE,GAAG,QAAQ,EAAE,cAAc,CAAC,CAAA;AACtF,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/effect/Logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEzD,cAAc,eAAe,CAAA;AAE7B,MAAM,iBAAiB,GAAG,CAAC,IAAU,EAAU,EAAE,CAC/C,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI;KACpG,UAAU,EAAE;KACZ,QAAQ,EAAE;KACV,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAA;AAE7E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,UAAkB,EAAE,UAAwC,EAAE,EAAE,EAAE,CACjG,MAAM,CAAC,OAAO,CACZ,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,YAAY,CAAC;IAClB,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,UAAU,EAAE;IAChE,IAAI,EAAE,OAAO,CAAC,IAAI;CACnB,CAAC,CACH,CAAA;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,UAAkB,EAAE,EAAE,CAClD,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;IAC9D,MAAM,kBAAkB,GAAG,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,SAAS,KAAK,oBAAoB,CAAA;IAC3G,MAAM,SAAS,GACb,QAAQ,KAAK,QAAQ,CAAC,KAAK;QACzB,CAAC,CAAC,sDAAsD;YACtD,kBAAkB;gBAClB,CAAC,CAAC,OAAO,CAAC,GAAG;gBACb,CAAC,CAAC,OAAO,CAAC,KAAK;QACjB,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI;YAC1B,CAAC,CAAC,OAAO,CAAC,IAAI;YACd,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,OAAO;gBAC7B,CAAC,CAAC,OAAO,CAAC,IAAI;gBACd,CAAC,CAAC,OAAO,CAAC,KAAK,CAAA;IAEvB,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;IAEvE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC/B,CAAC;IAED,SAAS,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,UAAU,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAA;AACtE,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ import type { Link as OtelSpanLink } from '@opentelemetry/api';
2
+ import type { SpanLink as EffectSpanLink } from 'effect/Tracer';
3
+ export * from '@effect/opentelemetry/Tracer';
4
+ export declare const makeSpanLink: (otelSpanLink: OtelSpanLink) => EffectSpanLink;
5
+ //# sourceMappingURL=OtelTracer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OtelTracer.d.ts","sourceRoot":"","sources":["../../src/effect/OtelTracer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,eAAe,CAAA;AAE/D,cAAc,8BAA8B,CAAA;AAE5C,eAAO,MAAM,YAAY,GAAI,cAAc,YAAY,KAAG,cAIxD,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { makeExternalSpan } from '@effect/opentelemetry/Tracer';
2
+ export * from '@effect/opentelemetry/Tracer';
3
+ export const makeSpanLink = (otelSpanLink) => ({
4
+ _tag: 'SpanLink',
5
+ span: makeExternalSpan(otelSpanLink.context),
6
+ attributes: otelSpanLink.attributes ?? {},
7
+ });
8
+ //# sourceMappingURL=OtelTracer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OtelTracer.js","sourceRoot":"","sources":["../../src/effect/OtelTracer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAI/D,cAAc,8BAA8B,CAAA;AAE5C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,YAA0B,EAAkB,EAAE,CAAC,CAAC;IAC3E,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC;IAC5C,UAAU,EAAE,YAAY,CAAC,UAAU,IAAI,EAAE;CAC1C,CAAC,CAAA"}
@@ -0,0 +1,32 @@
1
+ export * from '@effect/rpc/RpcClient';
2
+ import { Socket } from '@effect/platform';
3
+ import { RpcClient, RpcSerialization } from '@effect/rpc';
4
+ import { Protocol } from '@effect/rpc/RpcClient';
5
+ import { Effect, Layer, Schedule, type Scope } from 'effect';
6
+ import * as SubscriptionRef from './SubscriptionRef.ts';
7
+ export declare const layerProtocolSocketWithIsConnected: (options: {
8
+ readonly url: string;
9
+ readonly retryTransientErrors?: Schedule.Schedule<unknown> | undefined;
10
+ readonly isConnected: SubscriptionRef.SubscriptionRef<boolean>;
11
+ readonly pingSchedule?: Schedule.Schedule<unknown> | undefined;
12
+ }) => Layer.Layer<Protocol, never, RpcSerialization.RpcSerialization | Socket.Socket>;
13
+ export declare const makeProtocolSocketWithIsConnected: (options: {
14
+ readonly url: string;
15
+ readonly retryTransientErrors?: Schedule.Schedule<unknown> | undefined;
16
+ readonly isConnected: SubscriptionRef.SubscriptionRef<boolean>;
17
+ readonly pingSchedule?: Schedule.Schedule<unknown> | undefined;
18
+ }) => Effect.Effect<Protocol["Type"], never, Scope.Scope | RpcSerialization.RpcSerialization | Socket.Socket>;
19
+ export declare const SocketPinger: Effect.Effect<{
20
+ readonly timeout: Effect.Effect<void, never, never>;
21
+ readonly reset: () => void;
22
+ readonly onPong: () => void;
23
+ readonly ping: Effect.Effect<void, never, never>;
24
+ }, never, RpcClient.Protocol>;
25
+ export type SocketPinger = Effect.Effect.Success<ReturnType<typeof makePinger>>;
26
+ declare const makePinger: <A, E, R>(writePing: Effect.Effect<A, E, R>, pingSchedule?: Schedule.Schedule<unknown, unknown, never> | undefined) => Effect.Effect<{
27
+ readonly timeout: Effect.Effect<void, never, never>;
28
+ readonly reset: () => void;
29
+ readonly onPong: () => void;
30
+ readonly ping: Effect.Effect<void, never, never>;
31
+ }, never, Scope.Scope | R>;
32
+ //# sourceMappingURL=RpcClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RpcClient.d.ts","sourceRoot":"","sources":["../../src/effect/RpcClient.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAkB,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEhD,OAAO,EAAmB,MAAM,EAAE,KAAK,EAAU,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAA;AAErF,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAOvD,eAAO,MAAM,kCAAkC,GAAI,SAAS;IAC1D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;IACtE,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IAC9D,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;CAC/D,KAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,gBAAgB,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CACd,CAAA;AAEpE,eAAO,MAAM,iCAAiC,GAAI,SAAS;IACzD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;IAEtE,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IAE9D,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;CAC/D,KAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,gBAAgB,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAoIvG,CAAA;AAEH,eAAO,MAAM,YAAY;;;;;6BAAyF,CAAA;AAElH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAA;AAE/E,QAAA,MAAM,UAAU,GAAgC,CAAC,EAAE,CAAC,EAAE,CAAC;;;;;0BA2CrD,CAAA"}