@cat-factory/server 0.138.12 → 0.138.15

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.
@@ -4,7 +4,7 @@ import { isLocalRunner } from '@cat-factory/contracts';
4
4
  import { fetchLocalRunner } from '@cat-factory/integrations';
5
5
  import { contextWindowFor } from '@cat-factory/kernel';
6
6
  import { openAiCompatibleBaseUrlError } from '../../agents/providerErrors.js';
7
- import { ContainerSessionService } from '../../containers/ContainerSessionService.js';
7
+ import { ContainerSessionService, } from '../../containers/ContainerSessionService.js';
8
8
  import { makeWaitUntil } from '../../http/waitUntil.js';
9
9
  import { logger } from '../../observability/logger.js';
10
10
  // The OpenAI Chat Completions-compatible proxy that implementation containers
@@ -72,6 +72,274 @@ function bearer(header) {
72
72
  const match = /^Bearer\s+(.+)$/i.exec(header.trim());
73
73
  return match ? match[1].trim() : null;
74
74
  }
75
+ /**
76
+ * Apply the workers-ai output-token ceiling to `payload` in place and return the `max_tokens`
77
+ * value we actually applied (so the recorded metric reflects the effective ceiling, not the
78
+ * often-absent asked value). A no-op that returns `current` for every other provider.
79
+ *
80
+ * Give container agents (Pi) generous output room for in-process Workers AI models (which clamp
81
+ * to their large ceilings gracefully). Other providers keep Pi's value to respect their stricter
82
+ * upstream output caps.
83
+ */
84
+ function applyWorkersAiCeiling(session, payload, promptText, current) {
85
+ if (session.provider !== 'workers-ai')
86
+ return current;
87
+ const asked = typeof payload.max_tokens === 'number' ? payload.max_tokens : 0;
88
+ const toolsText = Array.isArray(payload.tools) ? JSON.stringify(payload.tools) : '';
89
+ const floored = workersAiOutputCeiling({
90
+ asked,
91
+ contextWindow: contextWindowFor({ provider: session.provider, model: session.model }),
92
+ inputChars: promptText.length + toolsText.length,
93
+ });
94
+ payload.max_tokens = floored;
95
+ // Record the ceiling we actually applied, not the (often absent) asked value.
96
+ return floored;
97
+ }
98
+ /**
99
+ * Workers AI (and any binding-reached provider) has no external upstream: run it in-process via
100
+ * the facade's gateway, which owns the model timing and reports its own observation via
101
+ * `recordMetric`. We only observe here when the dispatch itself is unavailable or throws.
102
+ */
103
+ async function dispatchInProcess(c, ctx) {
104
+ const { session, payload, streaming, gateways, log, observe, record, waitUntil } = ctx;
105
+ const dispatchAt = Date.now();
106
+ const inProcess = gateways.llmUpstream.runInProcess({
107
+ model: session.model,
108
+ payload,
109
+ streaming,
110
+ record,
111
+ recordMetric: observe,
112
+ waitUntil,
113
+ log,
114
+ });
115
+ if (!inProcess) {
116
+ log.error('llm proxy: in-process provider is not available in this runtime');
117
+ observe({
118
+ usage: null,
119
+ finishReason: null,
120
+ responseText: '',
121
+ ok: false,
122
+ httpStatus: 502,
123
+ errorMessage: `Provider '${session.provider}' is not available`,
124
+ upstreamMs: 0,
125
+ });
126
+ return c.json({ error: { message: `Provider '${session.provider}' is not available` } }, 502);
127
+ }
128
+ try {
129
+ return await inProcess;
130
+ }
131
+ catch (err) {
132
+ const message = err instanceof Error ? err.message : String(err);
133
+ log.error({ err: message }, 'llm proxy: in-process call failed');
134
+ observe({
135
+ usage: null,
136
+ finishReason: null,
137
+ responseText: '',
138
+ ok: false,
139
+ httpStatus: 502,
140
+ errorMessage: message,
141
+ upstreamMs: Date.now() - dispatchAt,
142
+ });
143
+ return c.json({ error: { message: `In-process call failed for model '${session.model}': ${message}` } }, 502);
144
+ }
145
+ }
146
+ /**
147
+ * Resolve the upstream base URL + bearer key. Two paths:
148
+ * - LOCAL runners (Ollama / LM Studio / …): the endpoint is configured PER USER, so resolve it
149
+ * by the run INITIATOR (`session.userId`) and use its optional key directly — NO DB key lease
150
+ * (these runners are keyless by default; a placeholder bearer is harmless). `leasedApiKeyId`
151
+ * stays null so no spend key is attributed.
152
+ * - Cloud providers: resolve the base URL from the gateway and lease the key from the DB-backed
153
+ * pool (workspace + account + initiator).
154
+ *
155
+ * Returns a ready-to-return failure `Response` (already observed) when the provider is
156
+ * unavailable / the key store is missing / no key could be leased.
157
+ */
158
+ async function resolveUpstreamTarget(c, ctx) {
159
+ const { session, gateways, apiKeys, localModelEndpoints, log, observe } = ctx;
160
+ const localRunner = isLocalRunner(session.provider);
161
+ if (localRunner) {
162
+ const resolved = session.userId && localModelEndpoints
163
+ ? await localModelEndpoints.resolve(session.userId, session.provider)
164
+ : null;
165
+ if (!resolved) {
166
+ log.error('llm proxy: no local runner endpoint configured for the run initiator');
167
+ observe({
168
+ usage: null,
169
+ finishReason: null,
170
+ responseText: '',
171
+ ok: false,
172
+ httpStatus: 502,
173
+ errorMessage: `No local runner '${session.provider}' configured for this run`,
174
+ upstreamMs: 0,
175
+ });
176
+ return {
177
+ failure: c.json({ error: { message: `No local runner '${session.provider}' configured for this run` } }, 502),
178
+ };
179
+ }
180
+ // Most local runners ignore auth; the SDK/fetch still emit an Authorization header.
181
+ return {
182
+ baseURL: resolved.baseUrl.replace(/\/+$/, ''),
183
+ apiKey: resolved.apiKey || 'local',
184
+ leasedApiKeyId: null,
185
+ localRunner,
186
+ };
187
+ }
188
+ const upstream = gateways.llmUpstream.resolveOpenAiCompatible(session.provider);
189
+ if (!upstream) {
190
+ log.error('llm proxy: provider is not available (no base URL resolved)');
191
+ const message = openAiCompatibleBaseUrlError(session.provider);
192
+ observe({
193
+ usage: null,
194
+ finishReason: null,
195
+ responseText: '',
196
+ ok: false,
197
+ httpStatus: 502,
198
+ errorMessage: message,
199
+ upstreamMs: 0,
200
+ });
201
+ return { failure: c.json({ error: { message } }, 502) };
202
+ }
203
+ // Lease the API key for this provider from the DB-backed pool (workspace + owning account + the
204
+ // run initiator), scoped from the signed session claims. Keys are no longer env-baked: an empty
205
+ // pool means the provider is not configured.
206
+ if (!apiKeys) {
207
+ log.error('llm proxy: API-key store is not configured');
208
+ observe({
209
+ usage: null,
210
+ finishReason: null,
211
+ responseText: '',
212
+ ok: false,
213
+ httpStatus: 502,
214
+ errorMessage: 'API-key store is not configured',
215
+ upstreamMs: 0,
216
+ });
217
+ return { failure: c.json({ error: { message: 'API-key store is not configured' } }, 502) };
218
+ }
219
+ try {
220
+ const leased = await apiKeys.lease(session.workspaceId, session.provider, {
221
+ accountId: session.accountId,
222
+ userId: session.userId,
223
+ });
224
+ return {
225
+ baseURL: upstream.baseURL,
226
+ apiKey: leased.secret,
227
+ leasedApiKeyId: leased.keyId,
228
+ localRunner,
229
+ };
230
+ }
231
+ catch (err) {
232
+ const message = err instanceof Error ? err.message : String(err);
233
+ log.error({ err: message }, 'llm proxy: no API key configured for provider');
234
+ observe({
235
+ usage: null,
236
+ finishReason: null,
237
+ responseText: '',
238
+ ok: false,
239
+ httpStatus: 502,
240
+ errorMessage: message,
241
+ upstreamMs: 0,
242
+ });
243
+ return {
244
+ failure: c.json({ error: { message: `No API key configured for provider '${session.provider}'` } }, 502),
245
+ };
246
+ }
247
+ }
248
+ /**
249
+ * Forward the hardened request to the resolved upstream and meter the response. The local-runner
250
+ * base URL is user-supplied and forwarded server-side, so follow redirects manually and re-validate
251
+ * every hop against the SSRF allow-list (`fetchLocalRunner`); cloud providers use a trusted,
252
+ * hardcoded base URL, so they keep plain `fetch`. Non-2xx is passed straight back (nothing to
253
+ * meter); a streamed body is teed through {@link observationStream} so spend + the observation are
254
+ * recorded off the response path; a buffered body is metered then relayed verbatim.
255
+ */
256
+ async function relayUpstream(c, ctx, target) {
257
+ const { payload, streaming, log, observe, record, waitUntil } = ctx;
258
+ const { baseURL, apiKey, localRunner } = target;
259
+ if (streaming) {
260
+ payload.stream_options = { include_usage: true };
261
+ }
262
+ // Upstream-dispatch clock: the slice between here and the response is the model's execution;
263
+ // the rest of the proxy's time is transport overhead.
264
+ const dispatchAt = Date.now();
265
+ const upstreamUrl = `${baseURL}/chat/completions`;
266
+ const upstreamInit = {
267
+ method: 'POST',
268
+ headers: {
269
+ authorization: `Bearer ${apiKey}`,
270
+ 'content-type': 'application/json',
271
+ },
272
+ body: JSON.stringify(payload),
273
+ };
274
+ let upstreamRes;
275
+ if (localRunner) {
276
+ try {
277
+ upstreamRes = await fetchLocalRunner(upstreamUrl, upstreamInit);
278
+ }
279
+ catch (err) {
280
+ const message = err instanceof Error ? err.message : String(err);
281
+ log.error({ err: message }, 'llm proxy: local runner request blocked');
282
+ observe({
283
+ usage: null,
284
+ finishReason: null,
285
+ responseText: '',
286
+ ok: false,
287
+ httpStatus: 502,
288
+ errorMessage: message,
289
+ upstreamMs: Date.now() - dispatchAt,
290
+ });
291
+ return c.json({ error: { message } }, 502);
292
+ }
293
+ }
294
+ else {
295
+ upstreamRes = await fetch(upstreamUrl, upstreamInit);
296
+ }
297
+ // Non-2xx: pass the upstream error straight back, nothing to meter.
298
+ if (!upstreamRes.ok || !upstreamRes.body) {
299
+ log.error({ status: upstreamRes.status }, 'llm proxy: upstream returned non-2xx');
300
+ observe({
301
+ usage: null,
302
+ finishReason: null,
303
+ responseText: '',
304
+ ok: false,
305
+ httpStatus: upstreamRes.status,
306
+ errorMessage: `Upstream returned ${upstreamRes.status}`,
307
+ upstreamMs: Date.now() - dispatchAt,
308
+ });
309
+ return new Response(upstreamRes.body, {
310
+ status: upstreamRes.status,
311
+ headers: { 'content-type': upstreamRes.headers.get('content-type') ?? 'application/json' },
312
+ });
313
+ }
314
+ if (streaming) {
315
+ // Tee the SSE stream so we can scrape the trailing `usage` chunk + finish
316
+ // reason + assistant text without buffering the response, then meter spend and
317
+ // record the observation (off the response path) once it ends.
318
+ const body = upstreamRes.body.pipeThrough(observationStream(dispatchAt, (obs) => {
319
+ waitUntil(record(obs.usage));
320
+ observe(obs);
321
+ }));
322
+ return new Response(body, {
323
+ status: upstreamRes.status,
324
+ headers: { 'content-type': 'text/event-stream' },
325
+ });
326
+ }
327
+ // Buffered JSON: read usage, meter, record the observation, and relay verbatim.
328
+ const json = (await upstreamRes.json());
329
+ const upstreamMs = Date.now() - dispatchAt;
330
+ await record(json.usage ?? null);
331
+ observe({
332
+ usage: json.usage ?? null,
333
+ finishReason: json.choices?.[0]?.finish_reason ?? null,
334
+ responseText: assistantTextFromCompletion(json),
335
+ reasoningText: reasoningTextFromCompletion(json),
336
+ ok: true,
337
+ httpStatus: upstreamRes.status,
338
+ errorMessage: null,
339
+ upstreamMs,
340
+ });
341
+ return c.json(json);
342
+ }
75
343
  export function llmProxyController() {
76
344
  const app = new Hono();
77
345
  app.post('/v1/chat/completions', async (c) => {
@@ -229,21 +497,9 @@ export function llmProxyController() {
229
497
  });
230
498
  return c.json({ error: { message: 'Spend budget exhausted' } }, 402);
231
499
  }
232
- // Give container agents (Pi) generous output room for in-process Workers AI models
233
- // (which clamp to their large ceilings gracefully). Other providers keep Pi's value
234
- // to respect their stricter upstream output caps.
235
- if (session.provider === 'workers-ai') {
236
- const asked = typeof payload.max_tokens === 'number' ? payload.max_tokens : 0;
237
- const toolsText = Array.isArray(payload.tools) ? JSON.stringify(payload.tools) : '';
238
- const floored = workersAiOutputCeiling({
239
- asked,
240
- contextWindow: contextWindowFor({ provider: session.provider, model: session.model }),
241
- inputChars: promptText.length + toolsText.length,
242
- });
243
- payload.max_tokens = floored;
244
- // Record the ceiling we actually applied, not the (often absent) asked value.
245
- requestMaxTokens = floored;
246
- }
500
+ // Give container agents generous output room for in-process Workers AI models (a no-op
501
+ // for other providers); records the ceiling actually applied so the metric is accurate.
502
+ requestMaxTokens = applyWorkersAiCeiling(session, payload, promptText, requestMaxTokens);
247
503
  // The pooled API key leased for this call (non-binding providers), so usage can be
248
504
  // folded back into its rolling-window rotation counters when the call completes.
249
505
  let leasedApiKeyId = null;
@@ -266,227 +522,32 @@ export function llmProxyController() {
266
522
  usage: { inputTokens, outputTokens },
267
523
  });
268
524
  };
269
- // Workers AI (and any binding-reached provider) has no external upstream: run it
270
- // in-process via the facade's gateway. Null means this runtime can't (e.g. Node) →
271
- // the provider is unavailable.
272
- if (session.provider === 'workers-ai') {
273
- // The in-process gateway reports its own observation via `recordMetric` (it
274
- // owns the model timing). We only record here when the dispatch itself fails.
275
- const dispatchAt = Date.now();
276
- const inProcess = gateways.llmUpstream.runInProcess({
277
- model: session.model,
278
- payload,
279
- streaming,
280
- record,
281
- recordMetric: observe,
282
- waitUntil,
283
- log,
284
- });
285
- if (!inProcess) {
286
- log.error('llm proxy: in-process provider is not available in this runtime');
287
- observe({
288
- usage: null,
289
- finishReason: null,
290
- responseText: '',
291
- ok: false,
292
- httpStatus: 502,
293
- errorMessage: `Provider '${session.provider}' is not available`,
294
- upstreamMs: 0,
295
- });
296
- return c.json({ error: { message: `Provider '${session.provider}' is not available` } }, 502);
297
- }
298
- try {
299
- return await inProcess;
300
- }
301
- catch (err) {
302
- const message = err instanceof Error ? err.message : String(err);
303
- log.error({ err: message }, 'llm proxy: in-process call failed');
304
- observe({
305
- usage: null,
306
- finishReason: null,
307
- responseText: '',
308
- ok: false,
309
- httpStatus: 502,
310
- errorMessage: message,
311
- upstreamMs: Date.now() - dispatchAt,
312
- });
313
- return c.json({ error: { message: `In-process call failed for model '${session.model}': ${message}` } }, 502);
314
- }
315
- }
316
- // Resolve the upstream base URL + bearer key. Two paths:
317
- // - LOCAL runners (Ollama / LM Studio / …): the endpoint is configured PER USER, so
318
- // resolve it by the run INITIATOR (`session.userId`) and use its optional key
319
- // directly — NO DB key lease (these runners are keyless by default; a placeholder
320
- // bearer is harmless). `leasedApiKeyId` stays undefined so no spend key is attributed.
321
- // - Cloud providers: resolve the base URL from the gateway and lease the key from the
322
- // DB-backed pool (workspace + account + initiator).
323
- let baseURL;
324
- let apiKey;
325
- const localRunner = isLocalRunner(session.provider);
326
- if (localRunner) {
327
- const resolved = session.userId && localModelEndpoints
328
- ? await localModelEndpoints.resolve(session.userId, session.provider)
329
- : null;
330
- if (!resolved) {
331
- log.error('llm proxy: no local runner endpoint configured for the run initiator');
332
- observe({
333
- usage: null,
334
- finishReason: null,
335
- responseText: '',
336
- ok: false,
337
- httpStatus: 502,
338
- errorMessage: `No local runner '${session.provider}' configured for this run`,
339
- upstreamMs: 0,
340
- });
341
- return c.json({ error: { message: `No local runner '${session.provider}' configured for this run` } }, 502);
342
- }
343
- baseURL = resolved.baseUrl.replace(/\/+$/, '');
344
- // Most local runners ignore auth; the SDK/fetch still emit an Authorization header.
345
- apiKey = resolved.apiKey || 'local';
346
- }
347
- else {
348
- const upstream = gateways.llmUpstream.resolveOpenAiCompatible(session.provider);
349
- if (!upstream) {
350
- log.error('llm proxy: provider is not available (no base URL resolved)');
351
- const message = openAiCompatibleBaseUrlError(session.provider);
352
- observe({
353
- usage: null,
354
- finishReason: null,
355
- responseText: '',
356
- ok: false,
357
- httpStatus: 502,
358
- errorMessage: message,
359
- upstreamMs: 0,
360
- });
361
- return c.json({ error: { message } }, 502);
362
- }
363
- // Lease the API key for this provider from the DB-backed pool (workspace + owning
364
- // account + the run initiator), scoped from the signed session claims. Keys are no
365
- // longer env-baked: an empty pool means the provider is not configured.
366
- if (!apiKeys) {
367
- log.error('llm proxy: API-key store is not configured');
368
- observe({
369
- usage: null,
370
- finishReason: null,
371
- responseText: '',
372
- ok: false,
373
- httpStatus: 502,
374
- errorMessage: 'API-key store is not configured',
375
- upstreamMs: 0,
376
- });
377
- return c.json({ error: { message: 'API-key store is not configured' } }, 502);
378
- }
379
- try {
380
- const leased = await apiKeys.lease(session.workspaceId, session.provider, {
381
- accountId: session.accountId,
382
- userId: session.userId,
383
- });
384
- leasedApiKeyId = leased.keyId;
385
- apiKey = leased.secret;
386
- }
387
- catch (err) {
388
- const message = err instanceof Error ? err.message : String(err);
389
- log.error({ err: message }, 'llm proxy: no API key configured for provider');
390
- observe({
391
- usage: null,
392
- finishReason: null,
393
- responseText: '',
394
- ok: false,
395
- httpStatus: 502,
396
- errorMessage: message,
397
- upstreamMs: 0,
398
- });
399
- return c.json({ error: { message: `No API key configured for provider '${session.provider}'` } }, 502);
400
- }
401
- baseURL = upstream.baseURL;
402
- }
403
- if (streaming) {
404
- payload.stream_options = { include_usage: true };
405
- }
406
- // Upstream-dispatch clock: the slice between here and the response is the model's
407
- // execution; the rest of the proxy's time is transport overhead.
408
- const dispatchAt = Date.now();
409
- const upstreamUrl = `${baseURL}/chat/completions`;
410
- const upstreamInit = {
411
- method: 'POST',
412
- headers: {
413
- authorization: `Bearer ${apiKey}`,
414
- 'content-type': 'application/json',
415
- },
416
- body: JSON.stringify(payload),
525
+ // The per-call state the dispatch helpers below thread through; `observe` / `record` stay
526
+ // bound to this handler's mutable `requestMaxTokens` / `leasedApiKeyId`.
527
+ const ctx = {
528
+ session,
529
+ payload,
530
+ streaming,
531
+ promptText,
532
+ log,
533
+ gateways,
534
+ apiKeys,
535
+ localModelEndpoints,
536
+ waitUntil,
537
+ observe,
538
+ record,
417
539
  };
418
- let upstreamRes;
419
- if (localRunner) {
420
- // The local-runner base URL is user-supplied and forwarded server-side, so follow
421
- // redirects manually and re-validate every hop against the SSRF allow-list — a
422
- // reachable runner must not 302 us into the cloud-metadata endpoint or a public
423
- // host. Cloud providers use a trusted, hardcoded base URL, so they keep plain fetch.
424
- try {
425
- upstreamRes = await fetchLocalRunner(upstreamUrl, upstreamInit);
426
- }
427
- catch (err) {
428
- const message = err instanceof Error ? err.message : String(err);
429
- log.error({ err: message }, 'llm proxy: local runner request blocked');
430
- observe({
431
- usage: null,
432
- finishReason: null,
433
- responseText: '',
434
- ok: false,
435
- httpStatus: 502,
436
- errorMessage: message,
437
- upstreamMs: Date.now() - dispatchAt,
438
- });
439
- return c.json({ error: { message } }, 502);
440
- }
441
- }
442
- else {
443
- upstreamRes = await fetch(upstreamUrl, upstreamInit);
444
- }
445
- // Non-2xx: pass the upstream error straight back, nothing to meter.
446
- if (!upstreamRes.ok || !upstreamRes.body) {
447
- log.error({ status: upstreamRes.status }, 'llm proxy: upstream returned non-2xx');
448
- observe({
449
- usage: null,
450
- finishReason: null,
451
- responseText: '',
452
- ok: false,
453
- httpStatus: upstreamRes.status,
454
- errorMessage: `Upstream returned ${upstreamRes.status}`,
455
- upstreamMs: Date.now() - dispatchAt,
456
- });
457
- return new Response(upstreamRes.body, {
458
- status: upstreamRes.status,
459
- headers: { 'content-type': upstreamRes.headers.get('content-type') ?? 'application/json' },
460
- });
461
- }
462
- if (streaming) {
463
- // Tee the SSE stream so we can scrape the trailing `usage` chunk + finish
464
- // reason + assistant text without buffering the response, then meter spend and
465
- // record the observation (off the response path) once it ends.
466
- const body = upstreamRes.body.pipeThrough(observationStream(dispatchAt, (obs) => {
467
- waitUntil(record(obs.usage));
468
- observe(obs);
469
- }));
470
- return new Response(body, {
471
- status: upstreamRes.status,
472
- headers: { 'content-type': 'text/event-stream' },
473
- });
474
- }
475
- // Buffered JSON: read usage, meter, record the observation, and relay verbatim.
476
- const json = (await upstreamRes.json());
477
- const upstreamMs = Date.now() - dispatchAt;
478
- await record(json.usage ?? null);
479
- observe({
480
- usage: json.usage ?? null,
481
- finishReason: json.choices?.[0]?.finish_reason ?? null,
482
- responseText: assistantTextFromCompletion(json),
483
- reasoningText: reasoningTextFromCompletion(json),
484
- ok: true,
485
- httpStatus: upstreamRes.status,
486
- errorMessage: null,
487
- upstreamMs,
488
- });
489
- return c.json(json);
540
+ // Workers AI (and any binding-reached provider) has no external upstream: run it in-process
541
+ // via the facade's gateway. Null-provider (e.g. Node can't) surfaces as unavailable.
542
+ if (session.provider === 'workers-ai')
543
+ return dispatchInProcess(c, ctx);
544
+ // Resolve the upstream base URL + bearer key (local runner vs the DB-backed key pool), then
545
+ // forward + meter. A failure is already observed and returned ready-to-send.
546
+ const target = await resolveUpstreamTarget(c, ctx);
547
+ if ('failure' in target)
548
+ return target.failure;
549
+ leasedApiKeyId = target.leasedApiKeyId;
550
+ return relayUpstream(c, ctx, target);
490
551
  });
491
552
  return app;
492
553
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LlmProxyController.js","sourceRoot":"","sources":["../../../src/modules/llmProxy/LlmProxyController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LlmProxyController.js","sourceRoot":"","sources":["../../../src/modules/llmProxy/LlmProxyController.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/persistence/rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/persistence/rpc.ts"],"names":[],"mappings":"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"}