@flowrensic/node 0.6.34 → 0.6.36
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/dist/cjs/client-interceptor.js +2 -2
- package/dist/cjs/client-interceptor.js.map +1 -1
- package/dist/cjs/client.d.ts +8 -1
- package/dist/cjs/client.d.ts.map +1 -1
- package/dist/cjs/client.js +14 -1
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/activity_metrics_pb.d.ts +12 -0
- package/dist/cjs/gen/flowrensic/v1/activity_metrics_pb.d.ts.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/activity_metrics_pb.js +1 -1
- package/dist/cjs/gen/flowrensic/v1/activity_metrics_pb.js.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/catalog_pb.d.ts.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/catalog_pb.js +1 -1
- package/dist/cjs/gen/flowrensic/v1/catalog_pb.js.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/client_calls_pb.d.ts +22 -0
- package/dist/cjs/gen/flowrensic/v1/client_calls_pb.d.ts.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/client_calls_pb.js +1 -1
- package/dist/cjs/gen/flowrensic/v1/client_calls_pb.js.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/cost_pb.d.ts.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/cost_pb.js +1 -1
- package/dist/cjs/gen/flowrensic/v1/cost_pb.js.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/deploy_pb.d.ts.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/deploy_pb.js +1 -1
- package/dist/cjs/gen/flowrensic/v1/deploy_pb.js.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/env_instance_pb.d.ts.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/env_instance_pb.js +1 -1
- package/dist/cjs/gen/flowrensic/v1/env_instance_pb.js.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/finding_pb.d.ts +120 -2
- package/dist/cjs/gen/flowrensic/v1/finding_pb.d.ts.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/finding_pb.js +68 -4
- package/dist/cjs/gen/flowrensic/v1/finding_pb.js.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/job_pb.d.ts +104 -0
- package/dist/cjs/gen/flowrensic/v1/job_pb.d.ts.map +1 -0
- package/dist/cjs/gen/flowrensic/v1/job_pb.js +28 -0
- package/dist/cjs/gen/flowrensic/v1/job_pb.js.map +1 -0
- package/dist/cjs/gen/flowrensic/v1/remediation_pb.d.ts.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/remediation_pb.js +1 -1
- package/dist/cjs/gen/flowrensic/v1/remediation_pb.js.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/replay_pb.d.ts +10 -3
- package/dist/cjs/gen/flowrensic/v1/replay_pb.d.ts.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/replay_pb.js +1 -1
- package/dist/cjs/gen/flowrensic/v1/replay_pb.js.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/reset_pb.d.ts.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/reset_pb.js +1 -1
- package/dist/cjs/gen/flowrensic/v1/reset_pb.js.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/server_config_pb.d.ts.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/server_config_pb.js +1 -1
- package/dist/cjs/gen/flowrensic/v1/server_config_pb.js.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/services_pb.d.ts +32 -3
- package/dist/cjs/gen/flowrensic/v1/services_pb.d.ts.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/services_pb.js +10 -2
- package/dist/cjs/gen/flowrensic/v1/services_pb.js.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/stored_data_pb.d.ts.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/stored_data_pb.js +1 -1
- package/dist/cjs/gen/flowrensic/v1/stored_data_pb.js.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/workflow_history_pb.d.ts.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/workflow_history_pb.js +1 -1
- package/dist/cjs/gen/flowrensic/v1/workflow_history_pb.js.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/workflow_types_pb.d.ts.map +1 -1
- package/dist/cjs/gen/flowrensic/v1/workflow_types_pb.js +1 -1
- package/dist/cjs/gen/flowrensic/v1/workflow_types_pb.js.map +1 -1
- package/dist/cjs/index.d.ts +4 -3
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/query-sink.js +2 -2
- package/dist/cjs/query-sink.js.map +1 -1
- package/dist/cjs/replay.d.ts +9 -3
- package/dist/cjs/replay.d.ts.map +1 -1
- package/dist/cjs/replay.js +46 -26
- package/dist/cjs/replay.js.map +1 -1
- package/dist/cjs/sink.d.ts +10 -2
- package/dist/cjs/sink.d.ts.map +1 -1
- package/dist/cjs/sink.js +80 -29
- package/dist/cjs/sink.js.map +1 -1
- package/dist/esm/client-interceptor.js +2 -2
- package/dist/esm/client-interceptor.js.map +1 -1
- package/dist/esm/client.d.ts +8 -1
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +13 -1
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/gen/flowrensic/v1/activity_metrics_pb.d.ts +12 -0
- package/dist/esm/gen/flowrensic/v1/activity_metrics_pb.d.ts.map +1 -1
- package/dist/esm/gen/flowrensic/v1/activity_metrics_pb.js +1 -1
- package/dist/esm/gen/flowrensic/v1/activity_metrics_pb.js.map +1 -1
- package/dist/esm/gen/flowrensic/v1/catalog_pb.d.ts.map +1 -1
- package/dist/esm/gen/flowrensic/v1/catalog_pb.js +1 -1
- package/dist/esm/gen/flowrensic/v1/catalog_pb.js.map +1 -1
- package/dist/esm/gen/flowrensic/v1/client_calls_pb.d.ts +22 -0
- package/dist/esm/gen/flowrensic/v1/client_calls_pb.d.ts.map +1 -1
- package/dist/esm/gen/flowrensic/v1/client_calls_pb.js +1 -1
- package/dist/esm/gen/flowrensic/v1/client_calls_pb.js.map +1 -1
- package/dist/esm/gen/flowrensic/v1/cost_pb.d.ts.map +1 -1
- package/dist/esm/gen/flowrensic/v1/cost_pb.js +1 -1
- package/dist/esm/gen/flowrensic/v1/cost_pb.js.map +1 -1
- package/dist/esm/gen/flowrensic/v1/deploy_pb.d.ts.map +1 -1
- package/dist/esm/gen/flowrensic/v1/deploy_pb.js +1 -1
- package/dist/esm/gen/flowrensic/v1/deploy_pb.js.map +1 -1
- package/dist/esm/gen/flowrensic/v1/env_instance_pb.d.ts.map +1 -1
- package/dist/esm/gen/flowrensic/v1/env_instance_pb.js +1 -1
- package/dist/esm/gen/flowrensic/v1/env_instance_pb.js.map +1 -1
- package/dist/esm/gen/flowrensic/v1/finding_pb.d.ts +120 -2
- package/dist/esm/gen/flowrensic/v1/finding_pb.d.ts.map +1 -1
- package/dist/esm/gen/flowrensic/v1/finding_pb.js +67 -3
- package/dist/esm/gen/flowrensic/v1/finding_pb.js.map +1 -1
- package/dist/esm/gen/flowrensic/v1/job_pb.d.ts +104 -0
- package/dist/esm/gen/flowrensic/v1/job_pb.d.ts.map +1 -0
- package/dist/esm/gen/flowrensic/v1/job_pb.js +25 -0
- package/dist/esm/gen/flowrensic/v1/job_pb.js.map +1 -0
- package/dist/esm/gen/flowrensic/v1/remediation_pb.d.ts.map +1 -1
- package/dist/esm/gen/flowrensic/v1/remediation_pb.js +1 -1
- package/dist/esm/gen/flowrensic/v1/remediation_pb.js.map +1 -1
- package/dist/esm/gen/flowrensic/v1/replay_pb.d.ts +10 -3
- package/dist/esm/gen/flowrensic/v1/replay_pb.d.ts.map +1 -1
- package/dist/esm/gen/flowrensic/v1/replay_pb.js +1 -1
- package/dist/esm/gen/flowrensic/v1/replay_pb.js.map +1 -1
- package/dist/esm/gen/flowrensic/v1/reset_pb.d.ts.map +1 -1
- package/dist/esm/gen/flowrensic/v1/reset_pb.js +1 -1
- package/dist/esm/gen/flowrensic/v1/reset_pb.js.map +1 -1
- package/dist/esm/gen/flowrensic/v1/server_config_pb.d.ts.map +1 -1
- package/dist/esm/gen/flowrensic/v1/server_config_pb.js +1 -1
- package/dist/esm/gen/flowrensic/v1/server_config_pb.js.map +1 -1
- package/dist/esm/gen/flowrensic/v1/services_pb.d.ts +32 -3
- package/dist/esm/gen/flowrensic/v1/services_pb.d.ts.map +1 -1
- package/dist/esm/gen/flowrensic/v1/services_pb.js +9 -1
- package/dist/esm/gen/flowrensic/v1/services_pb.js.map +1 -1
- package/dist/esm/gen/flowrensic/v1/stored_data_pb.d.ts.map +1 -1
- package/dist/esm/gen/flowrensic/v1/stored_data_pb.js +1 -1
- package/dist/esm/gen/flowrensic/v1/stored_data_pb.js.map +1 -1
- package/dist/esm/gen/flowrensic/v1/workflow_history_pb.d.ts.map +1 -1
- package/dist/esm/gen/flowrensic/v1/workflow_history_pb.js +1 -1
- package/dist/esm/gen/flowrensic/v1/workflow_history_pb.js.map +1 -1
- package/dist/esm/gen/flowrensic/v1/workflow_types_pb.d.ts.map +1 -1
- package/dist/esm/gen/flowrensic/v1/workflow_types_pb.js +1 -1
- package/dist/esm/gen/flowrensic/v1/workflow_types_pb.js.map +1 -1
- package/dist/esm/index.d.ts +4 -3
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/query-sink.js +2 -2
- package/dist/esm/query-sink.js.map +1 -1
- package/dist/esm/replay.d.ts +9 -3
- package/dist/esm/replay.d.ts.map +1 -1
- package/dist/esm/replay.js +47 -27
- package/dist/esm/replay.js.map +1 -1
- package/dist/esm/sink.d.ts +10 -2
- package/dist/esm/sink.d.ts.map +1 -1
- package/dist/esm/sink.js +80 -29
- package/dist/esm/sink.js.map +1 -1
- package/package.json +1 -1
package/dist/esm/sink.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
1
2
|
import { hostname } from 'node:os';
|
|
2
3
|
import { Code, ConnectError, createClient } from '@connectrpc/connect';
|
|
3
4
|
import { createConnectTransport } from '@connectrpc/connect-node';
|
|
@@ -21,6 +22,16 @@ export function createRecordBuffer(target, options = {}) {
|
|
|
21
22
|
// The waiting records, oldest first, from head on.
|
|
22
23
|
let queue = [];
|
|
23
24
|
let head = 0;
|
|
25
|
+
// A send that went back, kept whole and sent again with its number before
|
|
26
|
+
// any newer record.
|
|
27
|
+
let kept;
|
|
28
|
+
// A report that was not answered, sent again as it was.
|
|
29
|
+
let keptReport;
|
|
30
|
+
const senderId = randomUUID();
|
|
31
|
+
const recordsSender = `${senderId}/records`;
|
|
32
|
+
const reportsSender = `${senderId}/reports`;
|
|
33
|
+
let sendNumber = 0n;
|
|
34
|
+
let reportNumber = 0n;
|
|
24
35
|
const waitingByEnv = new Map();
|
|
25
36
|
// Counted since the last report that was answered.
|
|
26
37
|
const dropped = new Map();
|
|
@@ -35,7 +46,8 @@ export function createRecordBuffer(target, options = {}) {
|
|
|
35
46
|
// Set while the last send went back to waiting. Until a send is answered,
|
|
36
47
|
// only the tick starts one.
|
|
37
48
|
let failing = false;
|
|
38
|
-
const
|
|
49
|
+
const queued = () => queue.length - head;
|
|
50
|
+
const waitingCount = () => queued() + (kept?.records.length ?? 0);
|
|
39
51
|
const drop = (env, n) => {
|
|
40
52
|
add(dropped, env, n);
|
|
41
53
|
droppedTotal += n;
|
|
@@ -61,22 +73,37 @@ export function createRecordBuffer(target, options = {}) {
|
|
|
61
73
|
head = 0;
|
|
62
74
|
}
|
|
63
75
|
};
|
|
76
|
+
// Past the limit the oldest queued records go, never the kept send, which
|
|
77
|
+
// Flowrensic may already hold. The kept send does not count toward it.
|
|
64
78
|
const dropOldest = () => {
|
|
65
|
-
const excess =
|
|
79
|
+
const excess = queued() - maxWaiting;
|
|
66
80
|
if (excess <= 0)
|
|
67
81
|
return;
|
|
68
82
|
for (const one of take(excess))
|
|
69
83
|
drop(target.envOf(one), 1);
|
|
70
84
|
};
|
|
71
|
-
// A batch with no answer
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
queue = [...records, ...queue.slice(head)];
|
|
75
|
-
head = 0;
|
|
85
|
+
// A batch with no answer is kept whole, to be sent again with its number.
|
|
86
|
+
const putBack = (records, id) => {
|
|
87
|
+
kept = { records, id };
|
|
76
88
|
for (const one of records)
|
|
77
89
|
add(waitingByEnv, target.envOf(one), 1);
|
|
78
90
|
dropOldest();
|
|
79
91
|
};
|
|
92
|
+
// The next send: the kept one, or a new batch of the oldest waiting
|
|
93
|
+
// records.
|
|
94
|
+
const nextSend = () => {
|
|
95
|
+
if (kept !== undefined) {
|
|
96
|
+
const out = kept;
|
|
97
|
+
kept = undefined;
|
|
98
|
+
for (const one of out.records)
|
|
99
|
+
add(waitingByEnv, target.envOf(one), -1);
|
|
100
|
+
return out;
|
|
101
|
+
}
|
|
102
|
+
const records = take(Math.min(maxBatchSize, queued()));
|
|
103
|
+
compact();
|
|
104
|
+
sendNumber += 1n;
|
|
105
|
+
return { records, id: { sender: recordsSender, sendNumber } };
|
|
106
|
+
};
|
|
80
107
|
// One send at a time. Once it is answered the next starts right away while
|
|
81
108
|
// records wait. A send with no answer, or answered try again later, goes
|
|
82
109
|
// back and is tried again at the next tick. A send refused for any other
|
|
@@ -84,11 +111,10 @@ export function createRecordBuffer(target, options = {}) {
|
|
|
84
111
|
const startSend = () => {
|
|
85
112
|
if (sending !== undefined || waitingCount() === 0)
|
|
86
113
|
return;
|
|
87
|
-
const records =
|
|
88
|
-
compact();
|
|
114
|
+
const { records, id } = nextSend();
|
|
89
115
|
sending = (async () => {
|
|
90
116
|
try {
|
|
91
|
-
await target.send(records, sendTimeoutMs);
|
|
117
|
+
await target.send(records, sendTimeoutMs, id);
|
|
92
118
|
failing = false;
|
|
93
119
|
}
|
|
94
120
|
catch (error) {
|
|
@@ -100,7 +126,7 @@ export function createRecordBuffer(target, options = {}) {
|
|
|
100
126
|
}
|
|
101
127
|
if (sendAgain(error)) {
|
|
102
128
|
failing = true;
|
|
103
|
-
putBack(records);
|
|
129
|
+
putBack(records, id);
|
|
104
130
|
}
|
|
105
131
|
else {
|
|
106
132
|
for (const one of records)
|
|
@@ -123,16 +149,13 @@ export function createRecordBuffer(target, options = {}) {
|
|
|
123
149
|
startSend();
|
|
124
150
|
});
|
|
125
151
|
};
|
|
126
|
-
//
|
|
127
|
-
//
|
|
128
|
-
const
|
|
129
|
-
const sendReport = target.report?.bind(target);
|
|
130
|
-
if (sendReport === undefined || reporting !== undefined)
|
|
131
|
-
return;
|
|
152
|
+
// A new report, when a count changed since the last report that was
|
|
153
|
+
// answered, with what was counted since.
|
|
154
|
+
const nextReport = () => {
|
|
132
155
|
const envs = new Set([...dropped.keys(), ...timedOut.keys(), ...waitingByEnv.keys(), ...reportedWaiting.keys()]);
|
|
133
156
|
const changed = [...envs].some((env) => dropped.has(env) || timedOut.has(env) || (waitingByEnv.get(env) ?? 0) !== (reportedWaiting.get(env) ?? 0));
|
|
134
157
|
if (!changed)
|
|
135
|
-
return;
|
|
158
|
+
return undefined;
|
|
136
159
|
const sentDropped = new Map(dropped);
|
|
137
160
|
const sentTimedOut = new Map(timedOut);
|
|
138
161
|
const sentWaiting = new Map(waitingByEnv);
|
|
@@ -143,17 +166,38 @@ export function createRecordBuffer(target, options = {}) {
|
|
|
143
166
|
sendsTimedOut: BigInt(sentTimedOut.get(env) ?? 0),
|
|
144
167
|
recordsWaiting: BigInt(sentWaiting.get(env) ?? 0),
|
|
145
168
|
}));
|
|
169
|
+
reportNumber += 1n;
|
|
170
|
+
return {
|
|
171
|
+
reports,
|
|
172
|
+
id: { sender: reportsSender, sendNumber: reportNumber },
|
|
173
|
+
dropped: sentDropped,
|
|
174
|
+
timedOut: sentTimedOut,
|
|
175
|
+
waiting: sentWaiting,
|
|
176
|
+
};
|
|
177
|
+
};
|
|
178
|
+
// At most one report at a time. A report that was not answered is sent
|
|
179
|
+
// again as it was. Otherwise one goes only when a count changed since the
|
|
180
|
+
// last report that was answered, and carries what was counted since.
|
|
181
|
+
const report = () => {
|
|
182
|
+
const sendReport = target.report?.bind(target);
|
|
183
|
+
if (sendReport === undefined || reporting !== undefined)
|
|
184
|
+
return;
|
|
185
|
+
keptReport ??= nextReport();
|
|
186
|
+
if (keptReport === undefined)
|
|
187
|
+
return;
|
|
188
|
+
const one = keptReport;
|
|
146
189
|
reporting = (async () => {
|
|
147
190
|
try {
|
|
148
|
-
await sendReport(reports, sendTimeoutMs);
|
|
149
|
-
for (const [env, n] of
|
|
191
|
+
await sendReport(one.reports, sendTimeoutMs, one.id);
|
|
192
|
+
for (const [env, n] of one.dropped)
|
|
150
193
|
add(dropped, env, -n);
|
|
151
|
-
for (const [env, n] of
|
|
194
|
+
for (const [env, n] of one.timedOut)
|
|
152
195
|
add(timedOut, env, -n);
|
|
153
|
-
reportedWaiting =
|
|
196
|
+
reportedWaiting = one.waiting;
|
|
197
|
+
keptReport = undefined;
|
|
154
198
|
}
|
|
155
199
|
catch {
|
|
156
|
-
// Kept, and sent again
|
|
200
|
+
// Kept, and sent again as it was.
|
|
157
201
|
}
|
|
158
202
|
finally {
|
|
159
203
|
reporting = undefined;
|
|
@@ -198,8 +242,15 @@ export function createRecordBuffer(target, options = {}) {
|
|
|
198
242
|
async close() {
|
|
199
243
|
clearInterval(timer);
|
|
200
244
|
await flush();
|
|
201
|
-
// What still waits will not be sent.
|
|
202
|
-
|
|
245
|
+
// What still waits will not be sent, the kept send too.
|
|
246
|
+
if (kept !== undefined) {
|
|
247
|
+
for (const one of kept.records) {
|
|
248
|
+
add(waitingByEnv, target.envOf(one), -1);
|
|
249
|
+
drop(target.envOf(one), 1);
|
|
250
|
+
}
|
|
251
|
+
kept = undefined;
|
|
252
|
+
}
|
|
253
|
+
for (const one of take(queued()))
|
|
203
254
|
drop(target.envOf(one), 1);
|
|
204
255
|
compact();
|
|
205
256
|
report();
|
|
@@ -219,12 +270,12 @@ export function createAttemptSink(options) {
|
|
|
219
270
|
interceptors: options.envKey === undefined ? [] : [envKeyInterceptor(options.envKey)],
|
|
220
271
|
}));
|
|
221
272
|
return createRecordBuffer({
|
|
222
|
-
async send(events, timeoutMs) {
|
|
223
|
-
await ingest.ingestActivityEvents({ events, workerId }, { timeoutMs });
|
|
273
|
+
async send(events, timeoutMs, id) {
|
|
274
|
+
await ingest.ingestActivityEvents({ events, workerId, ...id }, { timeoutMs });
|
|
224
275
|
},
|
|
225
276
|
envOf: (one) => one.env,
|
|
226
|
-
async report(reports, timeoutMs) {
|
|
227
|
-
await ingest.ingestActivityEvents({ workerId, reports }, { timeoutMs });
|
|
277
|
+
async report(reports, timeoutMs, id) {
|
|
278
|
+
await ingest.ingestActivityEvents({ workerId, reports, ...id }, { timeoutMs });
|
|
228
279
|
},
|
|
229
280
|
}, options);
|
|
230
281
|
}
|
package/dist/esm/sink.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sink.js","sourceRoot":"","sources":["../../src/sink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAe,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAgDnE,SAAS,GAAG,CAAC,MAA2B,EAAE,GAAW,EAAE,CAAS;IAC9D,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,GAAG,KAAK,CAAC;QAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;;QAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC5B,CAAC;
|
|
1
|
+
{"version":3,"file":"sink.js","sourceRoot":"","sources":["../../src/sink.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED