@dxos/functions-runtime-cloudflare 0.8.4-main.422d1c7879 → 0.8.4-main.4f23b4e393

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.
@@ -17,6 +17,7 @@ import { log } from "@dxos/log";
17
17
  var copyUint8Array = (value) => new Uint8Array(value);
18
18
 
19
19
  // src/internal/data-service-impl.ts
20
+ var __dxlog_file = "/__w/dxos/dxos/packages/core/compute/functions-runtime-cloudflare/src/internal/data-service-impl.ts";
20
21
  function _ts_add_disposable_resource(env, value, async) {
21
22
  if (value !== null && value !== void 0) {
22
23
  if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
@@ -82,7 +83,6 @@ function _ts_dispose_resources(env) {
82
83
  return next();
83
84
  })(env);
84
85
  }
85
- var __dxlog_file = "/__w/dxos/dxos/packages/core/functions-runtime-cloudflare/src/internal/data-service-impl.ts";
86
86
  var DataServiceImpl = class {
87
87
  _executionContext;
88
88
  _dataService;
@@ -93,15 +93,7 @@ var DataServiceImpl = class {
93
93
  }
94
94
  subscribe({ subscriptionId, spaceId }) {
95
95
  return new Stream(({ next }) => {
96
- invariant(SpaceId.isValid(spaceId), void 0, {
97
- F: __dxlog_file,
98
- L: 39,
99
- S: this,
100
- A: [
101
- "SpaceId.isValid(spaceId)",
102
- ""
103
- ]
104
- });
96
+ invariant(SpaceId.isValid(spaceId), void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 86, S: this, A: ["SpaceId.isValid(spaceId)", ""] });
105
97
  this.dataSubscriptions.set(subscriptionId, {
106
98
  spaceId,
107
99
  next
@@ -121,12 +113,7 @@ var DataServiceImpl = class {
121
113
  if (addIds) {
122
114
  log.info("request documents", {
123
115
  count: addIds.length
124
- }, {
125
- F: __dxlog_file,
126
- L: 59,
127
- S: this,
128
- C: (f, a) => f(...a)
129
- });
116
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 104, S: this });
130
117
  for (const documentId of addIds) {
131
118
  const env = {
132
119
  stack: [],
@@ -139,21 +126,11 @@ var DataServiceImpl = class {
139
126
  documentId,
140
127
  spaceId: sub.spaceId,
141
128
  found: !!document
142
- }, {
143
- F: __dxlog_file,
144
- L: 63,
145
- S: this,
146
- C: (f, a) => f(...a)
147
- });
129
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 116, S: this });
148
130
  if (!document) {
149
131
  log.warn("not found", {
150
132
  documentId
151
- }, {
152
- F: __dxlog_file,
153
- L: 65,
154
- S: this,
155
- C: (f, a) => f(...a)
156
- });
133
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 122, S: this });
157
134
  continue;
158
135
  }
159
136
  sub.next({
@@ -182,15 +159,7 @@ var DataServiceImpl = class {
182
159
  hasError: false
183
160
  };
184
161
  try {
185
- invariant(SpaceId.isValid(spaceId), void 0, {
186
- F: __dxlog_file,
187
- L: 83,
188
- S: this,
189
- A: [
190
- "SpaceId.isValid(spaceId)",
191
- ""
192
- ]
193
- });
162
+ invariant(SpaceId.isValid(spaceId), void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 153, S: this, A: ["SpaceId.isValid(spaceId)", ""] });
194
163
  const response = _ts_add_disposable_resource(env, await this._dataService.createDocument(this._executionContext, spaceId, initialValue), false);
195
164
  return {
196
165
  documentId: response.documentId
@@ -241,12 +210,7 @@ var DataServiceImpl = class {
241
210
  });
242
211
  }
243
212
  async updateIndexes() {
244
- log.error("updateIndexes is not available in EDGE env.", void 0, {
245
- F: __dxlog_file,
246
- L: 134,
247
- S: this,
248
- C: (f, a) => f(...a)
249
- });
213
+ log.error("updateIndexes is not available in EDGE env.", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 206, S: this });
250
214
  }
251
215
  async waitUntilHeadsReplicated({ heads: _heads }) {
252
216
  throw new NotImplementedError({
@@ -259,6 +223,7 @@ var DataServiceImpl = class {
259
223
  import { Stream as Stream2 } from "@dxos/codec-protobuf/stream";
260
224
  import { NotImplementedError as NotImplementedError2, RuntimeServiceError as RuntimeServiceError2 } from "@dxos/errors";
261
225
  import { log as log2 } from "@dxos/log";
226
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/core/compute/functions-runtime-cloudflare/src/internal/query-service-impl.ts";
262
227
  function _ts_add_disposable_resource2(env, value, async) {
263
228
  if (value !== null && value !== void 0) {
264
229
  if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
@@ -324,7 +289,6 @@ function _ts_dispose_resources2(env) {
324
289
  return next();
325
290
  })(env);
326
291
  }
327
- var __dxlog_file2 = "/__w/dxos/dxos/packages/core/functions-runtime-cloudflare/src/internal/query-service-impl.ts";
328
292
  var QueryServiceImpl = class {
329
293
  _executionContext;
330
294
  _dataService;
@@ -336,12 +300,7 @@ var QueryServiceImpl = class {
336
300
  execQuery(request) {
337
301
  log2.info("execQuery", {
338
302
  request
339
- }, {
340
- F: __dxlog_file2,
341
- L: 20,
342
- S: this,
343
- C: (f, a) => f(...a)
344
- });
303
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 81, S: this });
345
304
  return Stream2.fromPromise((async () => {
346
305
  try {
347
306
  const env = {
@@ -353,21 +312,11 @@ var QueryServiceImpl = class {
353
312
  this._queryCount++;
354
313
  log2.info("begin query", {
355
314
  request
356
- }, {
357
- F: __dxlog_file2,
358
- L: 26,
359
- S: this,
360
- C: (f, a) => f(...a)
361
- });
315
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 93, S: this });
362
316
  const queryResponse = _ts_add_disposable_resource2(env, await this._dataService.execQuery(this._executionContext, request), false);
363
317
  log2.info("query response", {
364
318
  resultCount: queryResponse.results?.length
365
- }, {
366
- F: __dxlog_file2,
367
- L: 28,
368
- S: this,
369
- C: (f, a) => f(...a)
370
- });
319
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 97, S: this });
371
320
  return structuredClone(queryResponse);
372
321
  } catch (e) {
373
322
  env.error = e;
@@ -378,12 +327,7 @@ var QueryServiceImpl = class {
378
327
  } catch (error) {
379
328
  log2.error("query failed", {
380
329
  err: error
381
- }, {
382
- F: __dxlog_file2,
383
- L: 31,
384
- S: this,
385
- C: (f, a) => f(...a)
386
- });
330
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 108, S: this });
387
331
  throw new RuntimeServiceError2({
388
332
  message: `Query execution failed (queryCount=${this._queryCount})`,
389
333
  context: {
@@ -723,7 +667,7 @@ import { PublicKey } from "@dxos/keys";
723
667
 
724
668
  // src/queues-api.ts
725
669
  import { log as log3 } from "@dxos/log";
726
- var __dxlog_file3 = "/__w/dxos/dxos/packages/core/functions-runtime-cloudflare/src/queues-api.ts";
670
+ var __dxlog_file3 = "/__w/dxos/dxos/packages/core/compute/functions-runtime-cloudflare/src/queues-api.ts";
727
671
  var QueuesAPIImpl = class {
728
672
  _serviceContainer;
729
673
  _spaceId;
@@ -742,12 +686,7 @@ var QueuesAPIImpl = class {
742
686
  log3.verbose("queue object JSON parse failed; object ignored", {
743
687
  encoded,
744
688
  error: err
745
- }, {
746
- F: __dxlog_file3,
747
- L: 42,
748
- S: this,
749
- C: (f, a) => f(...a)
750
- });
689
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 22, S: this });
751
690
  return [];
752
691
  }
753
692
  });
@@ -763,7 +702,7 @@ var QueuesAPIImpl = class {
763
702
  };
764
703
 
765
704
  // src/space-proxy.ts
766
- var __dxlog_file4 = "/__w/dxos/dxos/packages/core/functions-runtime-cloudflare/src/space-proxy.ts";
705
+ var __dxlog_file4 = "/__w/dxos/dxos/packages/core/compute/functions-runtime-cloudflare/src/space-proxy.ts";
767
706
  var SpaceProxy = class extends Resource {
768
707
  _serviceContainer;
769
708
  _echoClient;
@@ -778,30 +717,14 @@ var SpaceProxy = class extends Resource {
778
717
  return this._id;
779
718
  }
780
719
  get db() {
781
- invariant2(this._db, void 0, {
782
- F: __dxlog_file4,
783
- L: 35,
784
- S: this,
785
- A: [
786
- "this._db",
787
- ""
788
- ]
789
- });
720
+ invariant2(this._db, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 24, S: this, A: ["this._db", ""] });
790
721
  return this._db;
791
722
  }
792
723
  /**
793
724
  * @deprecated Use db API.
794
725
  */
795
726
  get crud() {
796
- invariant2(this._db, void 0, {
797
- F: __dxlog_file4,
798
- L: 43,
799
- S: this,
800
- A: [
801
- "this._db",
802
- ""
803
- ]
804
- });
727
+ invariant2(this._db, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 30, S: this, A: ["this._db", ""] });
805
728
  return this._db.coreDatabase;
806
729
  }
807
730
  get queues() {
@@ -825,7 +748,7 @@ var SpaceProxy = class extends Resource {
825
748
  };
826
749
 
827
750
  // src/functions-client.ts
828
- var __dxlog_file5 = "/__w/dxos/dxos/packages/core/functions-runtime-cloudflare/src/functions-client.ts";
751
+ var __dxlog_file5 = "/__w/dxos/dxos/packages/core/compute/functions-runtime-cloudflare/src/functions-client.ts";
829
752
  var FunctionsClient = class extends Resource2 {
830
753
  _serviceContainer;
831
754
  _echoClient;
@@ -833,24 +756,8 @@ var FunctionsClient = class extends Resource2 {
833
756
  _spaces = /* @__PURE__ */ new Map();
834
757
  constructor(services) {
835
758
  super();
836
- invariant3(typeof services.dataService !== "undefined", "DataService is required", {
837
- F: __dxlog_file5,
838
- L: 33,
839
- S: this,
840
- A: [
841
- "typeof services.dataService !== 'undefined'",
842
- "'DataService is required'"
843
- ]
844
- });
845
- invariant3(typeof services.queueService !== "undefined", "QueueService is required", {
846
- F: __dxlog_file5,
847
- L: 34,
848
- S: this,
849
- A: [
850
- "typeof services.queueService !== 'undefined'",
851
- "'QueueService is required'"
852
- ]
853
- });
759
+ invariant3(typeof services.dataService !== "undefined", "DataService is required", { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 19, S: this, A: ["typeof services.dataService !== 'undefined'", "'DataService is required'"] });
760
+ invariant3(typeof services.queueService !== "undefined", "QueueService is required", { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 20, S: this, A: ["typeof services.queueService !== 'undefined'", "'QueueService is required'"] });
854
761
  this._serviceContainer = new ServiceContainer(this._executionContext, services.dataService, services.queueService, services.functionsAiService);
855
762
  this._echoClient = new EchoClient({});
856
763
  }
@@ -904,7 +811,7 @@ import { invariant as invariant4 } from "@dxos/invariant";
904
811
  import { SpaceId as SpaceId2 } from "@dxos/keys";
905
812
  import { log as log4 } from "@dxos/log";
906
813
  import { EdgeResponse } from "@dxos/protocols";
907
- var __dxlog_file6 = "/__w/dxos/dxos/packages/core/functions-runtime-cloudflare/src/wrap-handler-for-cloudflare.ts";
814
+ var __dxlog_file6 = "/__w/dxos/dxos/packages/core/compute/functions-runtime-cloudflare/src/wrap-handler-for-cloudflare.ts";
908
815
  var wrapHandlerForCloudflare = (func) => {
909
816
  return async (request, env) => {
910
817
  if (request.headers.get(FUNCTION_ROUTE_HEADER) === FunctionRouteValue.Meta) {
@@ -929,12 +836,7 @@ var wrapHandlerForCloudflare = (func) => {
929
836
  log4.error("error invoking function", {
930
837
  error,
931
838
  stack: error.stack
932
- }, {
933
- F: __dxlog_file6,
934
- L: 44,
935
- S: void 0,
936
- C: (f, a) => f(...a)
937
- });
839
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 37, S: void 0 });
938
840
  return EdgeResponse.failure({
939
841
  message: error?.message ?? "Internal error",
940
842
  error
@@ -967,12 +869,7 @@ var decodeRequest = async (request) => {
967
869
  }
968
870
  };
969
871
  } catch (err) {
970
- log4.catch(err, void 0, {
971
- F: __dxlog_file6,
972
- L: 79,
973
- S: void 0,
974
- C: (f, a) => f(...a)
975
- });
872
+ log4.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 76, S: void 0 });
976
873
  return {
977
874
  data: {
978
875
  bodyText,
@@ -1005,15 +902,7 @@ var createFunctionContext = async ({ serviceContainer, contextSpaceId }) => {
1005
902
  throw new Error(`Space not found: ${contextSpaceId}`);
1006
903
  }
1007
904
  spaceKey = meta.spaceKey;
1008
- invariant4(!meta.rootDocumentId.startsWith("automerge:"), void 0, {
1009
- F: __dxlog_file6,
1010
- L: 117,
1011
- S: void 0,
1012
- A: [
1013
- "!meta.rootDocumentId.startsWith('automerge:')",
1014
- ""
1015
- ]
1016
- });
905
+ invariant4(!meta.rootDocumentId.startsWith("automerge:"), void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 109, S: void 0, A: ["!meta.rootDocumentId.startsWith('automerge:')", ""] });
1017
906
  rootUrl = `automerge:${meta.rootDocumentId}`;
1018
907
  }
1019
908
  return {
@@ -1073,6 +962,7 @@ export {
1073
962
  FunctionsClient,
1074
963
  ServiceContainer,
1075
964
  createClientFromEnv,
965
+ createFunctionContext,
1076
966
  setupFunctionsLogger,
1077
967
  wrapHandlerForCloudflare
1078
968
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/functions-client.ts", "../../../src/internal/data-service-impl.ts", "../../../src/internal/utils.ts", "../../../src/internal/query-service-impl.ts", "../../../src/internal/queue-service-impl.ts", "../../../src/internal/service-container.ts", "../../../src/space-proxy.ts", "../../../src/queues-api.ts", "../../../src/types.ts", "../../../src/wrap-handler-for-cloudflare.ts", "../../../src/logger.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Resource } from '@dxos/context';\nimport { EchoClient } from '@dxos/echo-db';\nimport { invariant } from '@dxos/invariant';\nimport { type SpaceId } from '@dxos/keys';\nimport { type EdgeFunctionEnv } from '@dxos/protocols';\n\nimport { ServiceContainer } from './internal';\nimport { SpaceProxy } from './space-proxy';\n\ntype Services = {\n dataService: EdgeFunctionEnv.DataService;\n queueService: EdgeFunctionEnv.QueueService;\n functionsAiService: EdgeFunctionEnv.FunctionsAiService;\n};\n\n/**\n * API for functions to integrate with ECHO and HALO.\n * @deprecated\n */\nexport class FunctionsClient extends Resource {\n private readonly _serviceContainer;\n private readonly _echoClient;\n private readonly _executionContext: EdgeFunctionEnv.TraceContext = {};\n\n private readonly _spaces = new Map<SpaceId, SpaceProxy>();\n\n constructor(services: Services) {\n super();\n invariant(typeof services.dataService !== 'undefined', 'DataService is required');\n invariant(typeof services.queueService !== 'undefined', 'QueueService is required');\n this._serviceContainer = new ServiceContainer(\n this._executionContext,\n services.dataService,\n services.queueService,\n services.functionsAiService,\n );\n this._echoClient = new EchoClient({});\n }\n\n get echo(): EchoClient {\n return this._echoClient;\n }\n\n protected override async _open() {\n const { dataService, queryService } = await this._serviceContainer.createServices();\n this._echoClient.connectToService({ dataService, queryService });\n await this._echoClient.open();\n }\n\n protected override async _close() {\n for (const space of this._spaces.values()) {\n await space.close();\n }\n this._spaces.clear();\n\n await this._echoClient.close();\n }\n\n async getSpace(spaceId: SpaceId): Promise<SpaceProxy> {\n if (!this._spaces.has(spaceId)) {\n const space = new SpaceProxy(this._serviceContainer, this._echoClient, spaceId);\n this._spaces.set(spaceId, space);\n }\n const space = this._spaces.get(spaceId)!;\n await space.open(); // No-op if already open.\n return space;\n }\n}\n\nexport const createClientFromEnv = async (env: any): Promise<FunctionsClient> => {\n const client = new FunctionsClient({\n dataService: env.DATA_SERVICE,\n queueService: env.QUEUE_SERVICE,\n functionsAiService: env.FUNCTIONS_AI_SERVICE,\n });\n await client.open();\n return client;\n};\n\n/**\n - Provides data access capabilities for user functions.\n - No real-time replication or reactive queries -- function receives a snapshot.\n - Function event contains the metadata but doesn't need to include the data.\n */\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport type { RequestOptions } from '@dxos/codec-protobuf';\nimport { Stream } from '@dxos/codec-protobuf/stream';\nimport { raise } from '@dxos/debug';\nimport { NotImplementedError, RuntimeServiceError } from '@dxos/errors';\nimport { invariant } from '@dxos/invariant';\nimport { SpaceId } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { type EdgeFunctionEnv } from '@dxos/protocols';\nimport type {\n BatchedDocumentUpdates,\n CreateDocumentRequest,\n CreateDocumentResponse,\n DataService as DataServiceProto,\n GetDocumentHeadsRequest,\n GetDocumentHeadsResponse,\n GetSpaceSyncStateRequest,\n ReIndexHeadsRequest,\n SpaceSyncState,\n UpdateRequest,\n UpdateSubscriptionRequest,\n} from '@dxos/protocols/proto/dxos/echo/service';\n\nimport { copyUint8Array } from './utils';\n\nexport class DataServiceImpl implements DataServiceProto {\n private dataSubscriptions = new Map<string, { spaceId: SpaceId; next: (msg: BatchedDocumentUpdates) => void }>();\n\n constructor(\n private _executionContext: EdgeFunctionEnv.TraceContext,\n private _dataService: EdgeFunctionEnv.DataService,\n ) {}\n\n subscribe({ subscriptionId, spaceId }: { subscriptionId: string; spaceId: string }): Stream<BatchedDocumentUpdates> {\n return new Stream(({ next }) => {\n invariant(SpaceId.isValid(spaceId));\n this.dataSubscriptions.set(subscriptionId, { spaceId, next });\n\n return () => {\n this.dataSubscriptions.delete(subscriptionId);\n };\n });\n }\n\n async updateSubscription({ subscriptionId, addIds }: UpdateSubscriptionRequest): Promise<void> {\n const sub =\n this.dataSubscriptions.get(subscriptionId) ??\n raise(\n new RuntimeServiceError({\n message: 'Subscription not found.',\n context: { subscriptionId },\n }),\n );\n\n if (addIds) {\n log.info('request documents', { count: addIds.length });\n // TODO(dmaretskyi): Batch.\n for (const documentId of addIds) {\n using document = await this._dataService.getDocument(this._executionContext, sub.spaceId, documentId);\n log.info('document loaded', { documentId, spaceId: sub.spaceId, found: !!document });\n if (!document) {\n log.warn('not found', { documentId });\n continue;\n }\n sub.next({\n updates: [\n {\n documentId,\n // Copy returned object to avoid hanging RPC stub\n // See https://developers.cloudflare.com/workers/runtime-apis/rpc/lifecycle/\n mutation: copyUint8Array(document.data),\n },\n ],\n });\n }\n }\n }\n\n async createDocument({ spaceId, initialValue }: CreateDocumentRequest): Promise<CreateDocumentResponse> {\n invariant(SpaceId.isValid(spaceId));\n using response = await this._dataService.createDocument(this._executionContext, spaceId, initialValue);\n return { documentId: response.documentId };\n }\n\n async update({ updates, subscriptionId }: UpdateRequest): Promise<void> {\n const sub =\n this.dataSubscriptions.get(subscriptionId) ??\n raise(\n new RuntimeServiceError({\n message: 'Subscription not found.',\n context: { subscriptionId },\n }),\n );\n // TODO(dmaretskyi): Batch.\n try {\n for (const update of updates ?? []) {\n await this._dataService.changeDocument(this._executionContext, sub.spaceId, update.documentId, update.mutation);\n }\n } catch (error) {\n throw RuntimeServiceError.wrap({\n message: 'Failed to apply document updates.',\n context: { subscriptionId },\n ifTypeDiffers: true,\n })(error);\n }\n }\n\n async flush(): Promise<void> {\n // No-op.\n }\n\n subscribeSpaceSyncState(_request: GetSpaceSyncStateRequest, _options?: RequestOptions): Stream<SpaceSyncState> {\n throw new NotImplementedError({\n message: 'subscribeSpaceSyncState is not implemented.',\n });\n }\n\n async getDocumentHeads({ documentIds: _documentIds }: GetDocumentHeadsRequest): Promise<GetDocumentHeadsResponse> {\n throw new NotImplementedError({\n message: 'getDocumentHeads is not implemented.',\n });\n }\n\n async reIndexHeads({ documentIds: _documentIds }: ReIndexHeadsRequest): Promise<void> {\n throw new NotImplementedError({\n message: 'reIndexHeads is not implemented.',\n });\n }\n\n async updateIndexes(): Promise<void> {\n log.error('updateIndexes is not available in EDGE env.');\n // No-op.\n }\n\n async waitUntilHeadsReplicated({ heads: _heads }: { heads: any }): Promise<void> {\n throw new NotImplementedError({\n message: 'waitUntilHeadsReplicated is not implemented.',\n });\n }\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nexport const copyUint8Array = (value: Uint8Array): Uint8Array => new Uint8Array(value);\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Stream } from '@dxos/codec-protobuf/stream';\nimport { NotImplementedError, RuntimeServiceError } from '@dxos/errors';\nimport { log } from '@dxos/log';\nimport { type EdgeFunctionEnv } from '@dxos/protocols';\nimport { type QueryRequest, type QueryResponse, type QueryService } from '@dxos/protocols/proto/dxos/echo/query';\n\nexport class QueryServiceImpl implements QueryService {\n private _queryCount = 0;\n\n constructor(\n private readonly _executionContext: EdgeFunctionEnv.TraceContext,\n private readonly _dataService: EdgeFunctionEnv.DataService,\n ) {}\n\n execQuery(request: QueryRequest): Stream<QueryResponse> {\n log.info('execQuery', { request });\n\n return Stream.fromPromise<QueryResponse>(\n (async () => {\n try {\n this._queryCount++;\n log.info('begin query', { request });\n using queryResponse = await this._dataService.execQuery(this._executionContext, request);\n log.info('query response', { resultCount: queryResponse.results?.length });\n return structuredClone(queryResponse);\n } catch (error) {\n log.error('query failed', { err: error });\n throw new RuntimeServiceError({\n message: `Query execution failed (queryCount=${this._queryCount})`,\n context: { queryCount: this._queryCount },\n cause: error,\n });\n }\n })(),\n );\n }\n\n async reindex() {\n throw new NotImplementedError({\n message: 'Reindex is not implemented.',\n });\n }\n\n async setConfig() {\n throw new NotImplementedError({\n message: 'SetConfig is not implemented.',\n });\n }\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { RuntimeServiceError } from '@dxos/errors';\nimport { type EdgeFunctionEnv, type FeedProtocol } from '@dxos/protocols';\n\nexport class QueueServiceImpl implements FeedProtocol.QueueService {\n constructor(\n protected _ctx: EdgeFunctionEnv.TraceContext,\n private readonly _queueService: EdgeFunctionEnv.QueueService,\n ) {}\n\n async queryQueue(request: FeedProtocol.QueryQueueRequest): Promise<FeedProtocol.QueryResult> {\n try {\n using result = await this._queueService.queryQueue(this._ctx, request);\n // Copy to avoid hanging RPC stub (Workers RPC lifecycle).\n return {\n objects: structuredClone(result.objects),\n nextCursor: result.nextCursor,\n prevCursor: result.prevCursor,\n };\n } catch (error) {\n const { query } = request;\n throw RuntimeServiceError.wrap({\n message: 'Queue query failed.',\n context: {\n subspaceTag: query?.queuesNamespace,\n spaceId: query?.spaceId,\n queueId: query?.queueIds?.[0],\n },\n ifTypeDiffers: true,\n })(error);\n }\n }\n\n async insertIntoQueue(request: FeedProtocol.InsertIntoQueueRequest): Promise<void> {\n try {\n using _ = await this._queueService.insertIntoQueue(this._ctx, request);\n } catch (error) {\n const { subspaceTag, spaceId, queueId } = request;\n throw RuntimeServiceError.wrap({\n message: 'Queue append failed.',\n context: { subspaceTag, spaceId, queueId },\n ifTypeDiffers: true,\n })(error);\n }\n }\n\n async deleteFromQueue(request: FeedProtocol.DeleteFromQueueRequest): Promise<void> {\n try {\n using _ = await this._queueService.deleteFromQueue(this._ctx, request);\n } catch (error) {\n const { subspaceTag, spaceId, queueId } = request;\n throw RuntimeServiceError.wrap({\n message: 'Queue delete failed.',\n context: { subspaceTag, spaceId, queueId },\n ifTypeDiffers: true,\n })(error);\n }\n }\n\n async syncQueue(_: FeedProtocol.SyncQueueRequest): Promise<void> {\n // No-op in Cloudflare runtime.\n }\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type AnyEntity } from '@dxos/echo/internal';\nimport { type DXN, type SpaceId } from '@dxos/keys';\nimport { type EdgeFunctionEnv, type FeedProtocol } from '@dxos/protocols';\nimport { type QueryService as QueryServiceProto } from '@dxos/protocols/proto/dxos/echo/query';\nimport type { DataService as DataServiceProto } from '@dxos/protocols/proto/dxos/echo/service';\n\nimport { DataServiceImpl } from './data-service-impl';\nimport { QueryServiceImpl } from './query-service-impl';\nimport { QueueServiceImpl } from './queue-service-impl';\n\n/**\n * TODO: make this implement DataService and QueryService to unify API over edge and web backend\n */\nexport class ServiceContainer {\n constructor(\n private readonly _executionContext: EdgeFunctionEnv.TraceContext,\n private readonly _dataService: EdgeFunctionEnv.DataService,\n private readonly _queueService: EdgeFunctionEnv.QueueService,\n private readonly _functionsService: EdgeFunctionEnv.FunctionsAiService,\n ) {}\n\n async getSpaceMeta(spaceId: SpaceId): Promise<EdgeFunctionEnv.SpaceMeta | undefined> {\n using result = await this._dataService.getSpaceMeta(this._executionContext, spaceId);\n // Copy returned object to avoid hanging RPC stub\n // See https://developers.cloudflare.com/workers/runtime-apis/rpc/lifecycle/\n return result\n ? {\n spaceKey: result.spaceKey,\n rootDocumentId: result.rootDocumentId,\n }\n : undefined;\n }\n\n async createServices(): Promise<{\n dataService: DataServiceProto;\n queryService: QueryServiceProto;\n queueService: FeedProtocol.QueueService;\n functionsAiService: EdgeFunctionEnv.FunctionsAiService;\n }> {\n const dataService = new DataServiceImpl(this._executionContext, this._dataService);\n const queryService = new QueryServiceImpl(this._executionContext, this._dataService);\n const queueService = new QueueServiceImpl(this._executionContext, this._queueService);\n\n return {\n dataService,\n queryService,\n queueService,\n functionsAiService: this._functionsService,\n };\n }\n\n async queryQueue(queue: DXN): Promise<FeedProtocol.QueryResult> {\n const parts = queue.asQueueDXN();\n if (!parts) {\n throw new Error('Invalid queue DXN');\n }\n const { subspaceTag, spaceId, queueId } = parts;\n const result = await this._queueService.queryQueue(this._executionContext, {\n query: {\n spaceId,\n queuesNamespace: subspaceTag,\n queueIds: [queueId],\n },\n });\n return {\n objects: structuredClone(result.objects),\n nextCursor: result.nextCursor ?? null,\n prevCursor: result.prevCursor ?? null,\n };\n }\n\n async insertIntoQueue(queue: DXN, objects: AnyEntity[]): Promise<void> {\n const parts = queue.asQueueDXN();\n if (!parts) {\n throw new Error('Invalid queue DXN');\n }\n const { subspaceTag, spaceId, queueId } = parts;\n await this._queueService.insertIntoQueue(this._executionContext, {\n subspaceTag,\n spaceId,\n queueId,\n objects: objects.map((obj) => JSON.stringify(obj)),\n });\n }\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Resource } from '@dxos/context';\nimport { type Database } from '@dxos/echo';\nimport { type CoreDatabase, type EchoClient, type EchoDatabaseImpl } from '@dxos/echo-db';\nimport { invariant } from '@dxos/invariant';\nimport { PublicKey, type SpaceId } from '@dxos/keys';\n\nimport type { ServiceContainer } from './internal';\nimport { type QueuesAPI, QueuesAPIImpl } from './queues-api';\n\n/**\n * @deprecated\n */\nexport class SpaceProxy extends Resource {\n private _db?: EchoDatabaseImpl = undefined;\n private _queuesApi: QueuesAPIImpl;\n\n constructor(\n private readonly _serviceContainer: ServiceContainer,\n private readonly _echoClient: EchoClient,\n private readonly _id: SpaceId,\n ) {\n super();\n this._queuesApi = new QueuesAPIImpl(this._serviceContainer, this._id);\n }\n\n get id(): SpaceId {\n return this._id;\n }\n\n get db(): Database.Database {\n invariant(this._db);\n return this._db;\n }\n\n /**\n * @deprecated Use db API.\n */\n get crud(): CoreDatabase {\n invariant(this._db);\n return this._db.coreDatabase;\n }\n\n get queues(): QueuesAPI {\n return this._queuesApi;\n }\n\n protected override async _open() {\n const meta = await this._serviceContainer.getSpaceMeta(this._id);\n if (!meta) {\n throw new Error(`Space not found: ${this._id}`);\n }\n\n this._db = this._echoClient.constructDatabase({\n spaceId: this._id,\n spaceKey: PublicKey.from(meta.spaceKey),\n reactiveSchemaQuery: false,\n owningObject: this,\n });\n\n await this._db.coreDatabase.open(this._ctx, { rootUrl: meta.rootDocumentId });\n }\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type AnyEntity } from '@dxos/echo/internal';\nimport type { DXN, SpaceId } from '@dxos/keys';\nimport { log } from '@dxos/log';\n\nimport type { ServiceContainer } from './internal';\n\nexport interface QueuesQueryResult {\n objects: AnyEntity[];\n nextCursor: string | null;\n prevCursor: string | null;\n}\n\n// TODO(dmaretskyi): Temporary API to get the queues working.\n// TODO(dmaretskyi): To be replaced with integrating queues into echo.\n/**\n * @deprecated\n */\nexport interface QueuesAPI {\n queryQueue(queue: DXN, options?: {}): Promise<QueuesQueryResult>;\n insertIntoQueue(queue: DXN, objects: AnyEntity[]): Promise<void>;\n}\n\n/**\n * @deprecated\n */\nexport class QueuesAPIImpl implements QueuesAPI {\n constructor(\n private readonly _serviceContainer: ServiceContainer,\n private readonly _spaceId: SpaceId,\n ) {}\n\n async queryQueue(queue: DXN, options?: {}): Promise<QueuesQueryResult> {\n const result = await this._serviceContainer.queryQueue(queue);\n const objects = (result.objects ?? []).flatMap((encoded): AnyEntity[] => {\n try {\n return [JSON.parse(encoded) as AnyEntity];\n } catch (err) {\n log.verbose('queue object JSON parse failed; object ignored', { encoded, error: err });\n return [];\n }\n });\n return {\n objects,\n nextCursor: result.nextCursor ?? null,\n prevCursor: result.prevCursor ?? null,\n };\n }\n\n insertIntoQueue(queue: DXN, objects: AnyEntity[]): Promise<void> {\n // TODO(dmaretskyi): Ugly.\n return this._serviceContainer.insertIntoQueue(queue, JSON.parse(JSON.stringify(objects)));\n }\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport type { JsonSchemaType } from '@dxos/echo/internal';\n\n/**\n * Is used for to route the request to the metadata handler instead of the main handler.\n */\nexport const FUNCTION_ROUTE_HEADER = 'X-DXOS-Function-Route';\n\nexport enum FunctionRouteValue {\n Meta = 'meta',\n}\n\nexport type FunctionMetadata = {\n /**\n * FQN.\n */\n key: string;\n /**\n * Human-readable name.\n */\n name?: string;\n\n /**\n * Description.\n */\n description?: string;\n\n /**\n * Input schema.\n */\n inputSchema?: JsonSchemaType;\n\n /**\n * Output schema.\n */\n outputSchema?: JsonSchemaType;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport type { JsonSchemaType } from '@dxos/echo/internal';\nimport { invariant } from '@dxos/invariant';\nimport { SpaceId } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { EdgeResponse } from '@dxos/protocols';\nimport type { EdgeFunctionEnv, FunctionProtocol } from '@dxos/protocols';\n\nimport { ServiceContainer } from './internal';\nimport { FUNCTION_ROUTE_HEADER, type FunctionMetadata, FunctionRouteValue } from './types';\n\n/**\n * Wraps a user function in a Cloudflare-compatible handler.\n */\nexport const wrapHandlerForCloudflare = (func: FunctionProtocol.Func): ExportedHandlerFetchHandler<any> => {\n return async (request: Request, env: EdgeFunctionEnv.Env): Promise<Response> => {\n // TODO(dmaretskyi): Should theÓ scope name reflect the function name?\n // TODO(mykola): Wrap in withCleanAutomergeWasmState;\n // TODO(mykola): Wrap in withNewExecutionContext;\n // Meta route is used to get the input schema of the function by the functions service.\n if (request.headers.get(FUNCTION_ROUTE_HEADER) === FunctionRouteValue.Meta) {\n return handleFunctionMetaCall(func, request);\n }\n\n try {\n const spaceId = new URL(request.url).searchParams.get('spaceId');\n if (spaceId) {\n if (!SpaceId.isValid(spaceId)) {\n return new Response('Invalid spaceId', { status: 400 });\n }\n }\n\n const serviceContainer = new ServiceContainer({}, env.DATA_SERVICE, env.QUEUE_SERVICE, env.FUNCTIONS_AI_SERVICE);\n const context = await createFunctionContext({\n serviceContainer,\n contextSpaceId: spaceId as SpaceId | undefined,\n });\n\n return EdgeResponse.success(await invokeFunction(func, context, request));\n } catch (error: any) {\n log.error('error invoking function', { error, stack: error.stack });\n return EdgeResponse.failure({\n message: error?.message ?? 'Internal error',\n error,\n });\n }\n };\n};\n\nconst invokeFunction = async (func: FunctionProtocol.Func, context: FunctionProtocol.Context, request: Request) => {\n // TODO(dmaretskyi): For some reason requests get wrapped like this.\n const { data } = await decodeRequest(request);\n\n return func.handler({\n context,\n data,\n });\n};\n\nconst decodeRequest = async (request: Request) => {\n const {\n data: { bodyText, ...rest },\n trigger,\n } = (await request.json()) as any;\n\n if (!bodyText) {\n return { data: rest, trigger };\n }\n\n // Webhook passed body as bodyText. Use it as function input if a well-formatted JSON\n // TODO: better trigger input mapping\n try {\n const data = JSON.parse(bodyText);\n return { data, trigger: { ...trigger, ...rest } };\n } catch (err) {\n log.catch(err);\n return { data: { bodyText, ...rest } };\n }\n};\n\nconst handleFunctionMetaCall = (functionDefinition: FunctionProtocol.Func, request: Request): Response => {\n const response: FunctionMetadata = {\n key: functionDefinition.meta.key,\n name: functionDefinition.meta.name,\n description: functionDefinition.meta.description,\n inputSchema: functionDefinition.meta.inputSchema as JsonSchemaType | undefined,\n outputSchema: functionDefinition.meta.outputSchema as JsonSchemaType | undefined,\n };\n\n return new Response(JSON.stringify(response), {\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n};\n\nconst createFunctionContext = async ({\n serviceContainer,\n contextSpaceId,\n}: {\n serviceContainer: ServiceContainer;\n contextSpaceId: SpaceId | undefined;\n}): Promise<FunctionProtocol.Context> => {\n const { dataService, queryService, queueService, functionsAiService } = await serviceContainer.createServices();\n\n let spaceKey: string | undefined;\n let rootUrl: string | undefined;\n if (contextSpaceId) {\n const meta = await serviceContainer.getSpaceMeta(contextSpaceId);\n if (!meta) {\n throw new Error(`Space not found: ${contextSpaceId}`);\n }\n spaceKey = meta.spaceKey;\n invariant(!meta.rootDocumentId.startsWith('automerge:'));\n rootUrl = `automerge:${meta.rootDocumentId}`;\n }\n\n return {\n services: {\n dataService,\n queryService,\n queueService,\n functionsAiService,\n },\n spaceId: contextSpaceId,\n spaceKey,\n spaceRootUrl: rootUrl,\n } as any; // TODO(dmaretskyi): Link and fix before merging\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\n/* eslint-disable no-console */\n\nimport { LogLevel, type LogProcessor, log, shouldLog } from '@dxos/log';\n\nexport const setupFunctionsLogger = () => {\n log.runtimeConfig.processors.length = 0;\n log.runtimeConfig.processors.push(functionLogProcessor);\n};\n\nconst functionLogProcessor: LogProcessor = (config, entry) => {\n if (!shouldLog(entry, config.filters)) {\n return;\n }\n\n const context = entry.computedContext;\n const error = entry.computedError;\n const extras = [Object.keys(context).length > 0 ? context : undefined, error].filter((value) => value !== undefined);\n\n switch (entry.level) {\n case LogLevel.DEBUG:\n case LogLevel.TRACE:\n console.debug(entry.message, ...extras);\n break;\n case LogLevel.VERBOSE:\n console.log(entry.message, ...extras);\n break;\n case LogLevel.INFO:\n console.info(entry.message, ...extras);\n break;\n case LogLevel.WARN:\n console.warn(entry.message, ...extras);\n break;\n case LogLevel.ERROR:\n console.error(entry.message, ...extras);\n break;\n default:\n console.log(entry.message, ...extras);\n break;\n }\n};\n"],
5
- "mappings": "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",
6
- "names": ["Resource", "EchoClient", "invariant", "Stream", "raise", "NotImplementedError", "RuntimeServiceError", "invariant", "SpaceId", "log", "copyUint8Array", "value", "Uint8Array", "DataServiceImpl", "dataSubscriptions", "Map", "_executionContext", "_dataService", "subscribe", "subscriptionId", "spaceId", "Stream", "next", "invariant", "SpaceId", "isValid", "set", "delete", "updateSubscription", "addIds", "sub", "get", "raise", "RuntimeServiceError", "message", "context", "log", "info", "count", "length", "documentId", "document", "getDocument", "found", "warn", "updates", "mutation", "copyUint8Array", "data", "createDocument", "initialValue", "response", "update", "changeDocument", "error", "wrap", "ifTypeDiffers", "flush", "subscribeSpaceSyncState", "_request", "_options", "NotImplementedError", "getDocumentHeads", "documentIds", "_documentIds", "reIndexHeads", "updateIndexes", "waitUntilHeadsReplicated", "heads", "_heads", "Stream", "NotImplementedError", "RuntimeServiceError", "log", "QueryServiceImpl", "_queryCount", "_executionContext", "_dataService", "execQuery", "request", "info", "fromPromise", "queryResponse", "resultCount", "results", "length", "structuredClone", "error", "err", "message", "context", "queryCount", "cause", "reindex", "setConfig", "RuntimeServiceError", "QueueServiceImpl", "_ctx", "_queueService", "queryQueue", "request", "result", "objects", "structuredClone", "nextCursor", "prevCursor", "error", "query", "RuntimeServiceError", "wrap", "message", "context", "subspaceTag", "queuesNamespace", "spaceId", "queueId", "queueIds", "ifTypeDiffers", "insertIntoQueue", "_", "deleteFromQueue", "syncQueue", "ServiceContainer", "_executionContext", "_dataService", "_queueService", "_functionsService", "getSpaceMeta", "spaceId", "result", "spaceKey", "rootDocumentId", "undefined", "createServices", "dataService", "DataServiceImpl", "queryService", "QueryServiceImpl", "queueService", "QueueServiceImpl", "functionsAiService", "queryQueue", "queue", "parts", "asQueueDXN", "Error", "subspaceTag", "queueId", "query", "queuesNamespace", "queueIds", "objects", "structuredClone", "nextCursor", "prevCursor", "insertIntoQueue", "map", "obj", "JSON", "stringify", "Resource", "invariant", "PublicKey", "log", "QueuesAPIImpl", "_serviceContainer", "_spaceId", "queryQueue", "queue", "options", "result", "objects", "flatMap", "encoded", "JSON", "parse", "err", "verbose", "error", "nextCursor", "prevCursor", "insertIntoQueue", "stringify", "SpaceProxy", "Resource", "_db", "undefined", "_queuesApi", "_serviceContainer", "_echoClient", "_id", "QueuesAPIImpl", "id", "db", "invariant", "crud", "coreDatabase", "queues", "_open", "meta", "getSpaceMeta", "Error", "constructDatabase", "spaceId", "spaceKey", "PublicKey", "from", "reactiveSchemaQuery", "owningObject", "open", "_ctx", "rootUrl", "rootDocumentId", "FunctionsClient", "Resource", "_serviceContainer", "_echoClient", "_executionContext", "_spaces", "Map", "services", "invariant", "dataService", "queueService", "ServiceContainer", "functionsAiService", "EchoClient", "echo", "_open", "queryService", "createServices", "connectToService", "open", "_close", "space", "values", "close", "clear", "getSpace", "spaceId", "has", "SpaceProxy", "set", "get", "createClientFromEnv", "env", "client", "DATA_SERVICE", "QUEUE_SERVICE", "FUNCTIONS_AI_SERVICE", "FUNCTION_ROUTE_HEADER", "FunctionRouteValue", "invariant", "SpaceId", "log", "EdgeResponse", "wrapHandlerForCloudflare", "func", "request", "env", "headers", "get", "FUNCTION_ROUTE_HEADER", "FunctionRouteValue", "Meta", "handleFunctionMetaCall", "spaceId", "URL", "url", "searchParams", "SpaceId", "isValid", "Response", "status", "serviceContainer", "ServiceContainer", "DATA_SERVICE", "QUEUE_SERVICE", "FUNCTIONS_AI_SERVICE", "context", "createFunctionContext", "contextSpaceId", "EdgeResponse", "success", "invokeFunction", "error", "log", "stack", "failure", "message", "data", "decodeRequest", "handler", "bodyText", "rest", "trigger", "json", "JSON", "parse", "err", "catch", "functionDefinition", "response", "key", "meta", "name", "description", "inputSchema", "outputSchema", "stringify", "dataService", "queryService", "queueService", "functionsAiService", "createServices", "spaceKey", "rootUrl", "getSpaceMeta", "Error", "invariant", "rootDocumentId", "startsWith", "services", "spaceRootUrl", "LogLevel", "log", "shouldLog", "setupFunctionsLogger", "log", "runtimeConfig", "processors", "length", "push", "functionLogProcessor", "config", "entry", "shouldLog", "filters", "context", "computedContext", "error", "computedError", "extras", "Object", "keys", "undefined", "filter", "value", "level", "LogLevel", "DEBUG", "TRACE", "console", "debug", "message", "VERBOSE", "INFO", "info", "WARN", "warn", "ERROR"]
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Resource } from '@dxos/context';\nimport { EchoClient } from '@dxos/echo-db';\nimport { invariant } from '@dxos/invariant';\nimport { type SpaceId } from '@dxos/keys';\nimport { type EdgeFunctionEnv } from '@dxos/protocols';\n\nimport { ServiceContainer } from './internal';\nimport { SpaceProxy } from './space-proxy';\n\ntype Services = {\n dataService: EdgeFunctionEnv.DataService;\n queueService: EdgeFunctionEnv.QueueService;\n functionsAiService: EdgeFunctionEnv.FunctionsAiService;\n};\n\n/**\n * API for functions to integrate with ECHO and HALO.\n * @deprecated\n */\nexport class FunctionsClient extends Resource {\n private readonly _serviceContainer;\n private readonly _echoClient;\n private readonly _executionContext: EdgeFunctionEnv.TraceContext = {};\n\n private readonly _spaces = new Map<SpaceId, SpaceProxy>();\n\n constructor(services: Services) {\n super();\n invariant(typeof services.dataService !== 'undefined', 'DataService is required');\n invariant(typeof services.queueService !== 'undefined', 'QueueService is required');\n this._serviceContainer = new ServiceContainer(\n this._executionContext,\n services.dataService,\n services.queueService,\n services.functionsAiService,\n );\n this._echoClient = new EchoClient({});\n }\n\n get echo(): EchoClient {\n return this._echoClient;\n }\n\n protected override async _open() {\n const { dataService, queryService } = await this._serviceContainer.createServices();\n this._echoClient.connectToService({ dataService, queryService });\n await this._echoClient.open();\n }\n\n protected override async _close() {\n for (const space of this._spaces.values()) {\n await space.close();\n }\n this._spaces.clear();\n\n await this._echoClient.close();\n }\n\n async getSpace(spaceId: SpaceId): Promise<SpaceProxy> {\n if (!this._spaces.has(spaceId)) {\n const space = new SpaceProxy(this._serviceContainer, this._echoClient, spaceId);\n this._spaces.set(spaceId, space);\n }\n const space = this._spaces.get(spaceId)!;\n await space.open(); // No-op if already open.\n return space;\n }\n}\n\nexport const createClientFromEnv = async (env: any): Promise<FunctionsClient> => {\n const client = new FunctionsClient({\n dataService: env.DATA_SERVICE,\n queueService: env.QUEUE_SERVICE,\n functionsAiService: env.FUNCTIONS_AI_SERVICE,\n });\n await client.open();\n return client;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport type { RequestOptions } from '@dxos/codec-protobuf';\nimport { Stream } from '@dxos/codec-protobuf/stream';\nimport { raise } from '@dxos/debug';\nimport { NotImplementedError, RuntimeServiceError } from '@dxos/errors';\nimport { invariant } from '@dxos/invariant';\nimport { SpaceId } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { type EdgeFunctionEnv } from '@dxos/protocols';\nimport type {\n BatchedDocumentUpdates,\n CreateDocumentRequest,\n CreateDocumentResponse,\n DataService as DataServiceProto,\n GetDocumentHeadsRequest,\n GetDocumentHeadsResponse,\n GetSpaceSyncStateRequest,\n ReIndexHeadsRequest,\n SpaceSyncState,\n UpdateRequest,\n UpdateSubscriptionRequest,\n} from '@dxos/protocols/proto/dxos/echo/service';\n\nimport { copyUint8Array } from './utils';\n\nexport class DataServiceImpl implements DataServiceProto {\n private dataSubscriptions = new Map<string, { spaceId: SpaceId; next: (msg: BatchedDocumentUpdates) => void }>();\n\n constructor(\n private _executionContext: EdgeFunctionEnv.TraceContext,\n private _dataService: EdgeFunctionEnv.DataService,\n ) {}\n\n subscribe({ subscriptionId, spaceId }: { subscriptionId: string; spaceId: string }): Stream<BatchedDocumentUpdates> {\n return new Stream(({ next }) => {\n invariant(SpaceId.isValid(spaceId));\n this.dataSubscriptions.set(subscriptionId, { spaceId, next });\n\n return () => {\n this.dataSubscriptions.delete(subscriptionId);\n };\n });\n }\n\n async updateSubscription({ subscriptionId, addIds }: UpdateSubscriptionRequest): Promise<void> {\n const sub =\n this.dataSubscriptions.get(subscriptionId) ??\n raise(\n new RuntimeServiceError({\n message: 'Subscription not found.',\n context: { subscriptionId },\n }),\n );\n\n if (addIds) {\n log.info('request documents', { count: addIds.length });\n // TODO(dmaretskyi): Batch.\n for (const documentId of addIds) {\n using document = await this._dataService.getDocument(this._executionContext, sub.spaceId, documentId);\n log.info('document loaded', { documentId, spaceId: sub.spaceId, found: !!document });\n if (!document) {\n log.warn('not found', { documentId });\n continue;\n }\n sub.next({\n updates: [\n {\n documentId,\n // Copy returned object to avoid hanging RPC stub\n // See https://developers.cloudflare.com/workers/runtime-apis/rpc/lifecycle/\n mutation: copyUint8Array(document.data),\n },\n ],\n });\n }\n }\n }\n\n async createDocument({ spaceId, initialValue }: CreateDocumentRequest): Promise<CreateDocumentResponse> {\n invariant(SpaceId.isValid(spaceId));\n using response = await this._dataService.createDocument(this._executionContext, spaceId, initialValue);\n return { documentId: response.documentId };\n }\n\n async update({ updates, subscriptionId }: UpdateRequest): Promise<void> {\n const sub =\n this.dataSubscriptions.get(subscriptionId) ??\n raise(\n new RuntimeServiceError({\n message: 'Subscription not found.',\n context: { subscriptionId },\n }),\n );\n // TODO(dmaretskyi): Batch.\n try {\n for (const update of updates ?? []) {\n await this._dataService.changeDocument(this._executionContext, sub.spaceId, update.documentId, update.mutation);\n }\n } catch (error) {\n throw RuntimeServiceError.wrap({\n message: 'Failed to apply document updates.',\n context: { subscriptionId },\n ifTypeDiffers: true,\n })(error);\n }\n }\n\n async flush(): Promise<void> {\n // No-op.\n }\n\n subscribeSpaceSyncState(_request: GetSpaceSyncStateRequest, _options?: RequestOptions): Stream<SpaceSyncState> {\n throw new NotImplementedError({\n message: 'subscribeSpaceSyncState is not implemented.',\n });\n }\n\n async getDocumentHeads({ documentIds: _documentIds }: GetDocumentHeadsRequest): Promise<GetDocumentHeadsResponse> {\n throw new NotImplementedError({\n message: 'getDocumentHeads is not implemented.',\n });\n }\n\n async reIndexHeads({ documentIds: _documentIds }: ReIndexHeadsRequest): Promise<void> {\n throw new NotImplementedError({\n message: 'reIndexHeads is not implemented.',\n });\n }\n\n async updateIndexes(): Promise<void> {\n log.error('updateIndexes is not available in EDGE env.');\n // No-op.\n }\n\n async waitUntilHeadsReplicated({ heads: _heads }: { heads: any }): Promise<void> {\n throw new NotImplementedError({\n message: 'waitUntilHeadsReplicated is not implemented.',\n });\n }\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nexport const copyUint8Array = (value: Uint8Array): Uint8Array => new Uint8Array(value);\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Stream } from '@dxos/codec-protobuf/stream';\nimport { NotImplementedError, RuntimeServiceError } from '@dxos/errors';\nimport { log } from '@dxos/log';\nimport { type EdgeFunctionEnv } from '@dxos/protocols';\nimport { type QueryRequest, type QueryResponse, type QueryService } from '@dxos/protocols/proto/dxos/echo/query';\n\nexport class QueryServiceImpl implements QueryService {\n private _queryCount = 0;\n\n constructor(\n private readonly _executionContext: EdgeFunctionEnv.TraceContext,\n private readonly _dataService: EdgeFunctionEnv.DataService,\n ) {}\n\n execQuery(request: QueryRequest): Stream<QueryResponse> {\n log.info('execQuery', { request });\n\n return Stream.fromPromise<QueryResponse>(\n (async () => {\n try {\n this._queryCount++;\n log.info('begin query', { request });\n using queryResponse = await this._dataService.execQuery(this._executionContext, request);\n log.info('query response', { resultCount: queryResponse.results?.length });\n return structuredClone(queryResponse);\n } catch (error) {\n log.error('query failed', { err: error });\n throw new RuntimeServiceError({\n message: `Query execution failed (queryCount=${this._queryCount})`,\n context: { queryCount: this._queryCount },\n cause: error,\n });\n }\n })(),\n );\n }\n\n async reindex() {\n throw new NotImplementedError({\n message: 'Reindex is not implemented.',\n });\n }\n\n async setConfig() {\n throw new NotImplementedError({\n message: 'SetConfig is not implemented.',\n });\n }\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { RuntimeServiceError } from '@dxos/errors';\nimport { type EdgeFunctionEnv, type FeedProtocol } from '@dxos/protocols';\n\nexport class QueueServiceImpl implements FeedProtocol.QueueService {\n constructor(\n protected _ctx: EdgeFunctionEnv.TraceContext,\n private readonly _queueService: EdgeFunctionEnv.QueueService,\n ) {}\n\n async queryQueue(request: FeedProtocol.QueryQueueRequest): Promise<FeedProtocol.QueryResult> {\n try {\n using result = await this._queueService.queryQueue(this._ctx, request);\n // Copy to avoid hanging RPC stub (Workers RPC lifecycle).\n return {\n objects: structuredClone(result.objects),\n nextCursor: result.nextCursor,\n prevCursor: result.prevCursor,\n };\n } catch (error) {\n const { query } = request;\n throw RuntimeServiceError.wrap({\n message: 'Queue query failed.',\n context: {\n subspaceTag: query?.queuesNamespace,\n spaceId: query?.spaceId,\n queueId: query?.queueIds?.[0],\n },\n ifTypeDiffers: true,\n })(error);\n }\n }\n\n async insertIntoQueue(request: FeedProtocol.InsertIntoQueueRequest): Promise<void> {\n try {\n using _ = await this._queueService.insertIntoQueue(this._ctx, request);\n } catch (error) {\n const { subspaceTag, spaceId, queueId } = request;\n throw RuntimeServiceError.wrap({\n message: 'Queue append failed.',\n context: { subspaceTag, spaceId, queueId },\n ifTypeDiffers: true,\n })(error);\n }\n }\n\n async deleteFromQueue(request: FeedProtocol.DeleteFromQueueRequest): Promise<void> {\n try {\n using _ = await this._queueService.deleteFromQueue(this._ctx, request);\n } catch (error) {\n const { subspaceTag, spaceId, queueId } = request;\n throw RuntimeServiceError.wrap({\n message: 'Queue delete failed.',\n context: { subspaceTag, spaceId, queueId },\n ifTypeDiffers: true,\n })(error);\n }\n }\n\n async syncQueue(_: FeedProtocol.SyncQueueRequest): Promise<void> {\n // No-op in Cloudflare runtime.\n }\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type AnyEntity } from '@dxos/echo/internal';\nimport { type DXN, type SpaceId } from '@dxos/keys';\nimport { type EdgeFunctionEnv, type FeedProtocol } from '@dxos/protocols';\nimport { type QueryService as QueryServiceProto } from '@dxos/protocols/proto/dxos/echo/query';\nimport type { DataService as DataServiceProto } from '@dxos/protocols/proto/dxos/echo/service';\n\nimport { DataServiceImpl } from './data-service-impl';\nimport { QueryServiceImpl } from './query-service-impl';\nimport { QueueServiceImpl } from './queue-service-impl';\n\n/**\n * TODO: make this implement DataService and QueryService to unify API over edge and web backend\n */\nexport class ServiceContainer {\n constructor(\n private readonly _executionContext: EdgeFunctionEnv.TraceContext,\n private readonly _dataService: EdgeFunctionEnv.DataService,\n private readonly _queueService: EdgeFunctionEnv.QueueService,\n private readonly _functionsService: EdgeFunctionEnv.FunctionsAiService,\n ) {}\n\n async getSpaceMeta(spaceId: SpaceId): Promise<EdgeFunctionEnv.SpaceMeta | undefined> {\n using result = await this._dataService.getSpaceMeta(this._executionContext, spaceId);\n // Copy returned object to avoid hanging RPC stub\n // See https://developers.cloudflare.com/workers/runtime-apis/rpc/lifecycle/\n return result\n ? {\n spaceKey: result.spaceKey,\n rootDocumentId: result.rootDocumentId,\n }\n : undefined;\n }\n\n async createServices(): Promise<{\n dataService: DataServiceProto;\n queryService: QueryServiceProto;\n queueService: FeedProtocol.QueueService;\n functionsAiService: EdgeFunctionEnv.FunctionsAiService;\n }> {\n const dataService = new DataServiceImpl(this._executionContext, this._dataService);\n const queryService = new QueryServiceImpl(this._executionContext, this._dataService);\n const queueService = new QueueServiceImpl(this._executionContext, this._queueService);\n\n return {\n dataService,\n queryService,\n queueService,\n functionsAiService: this._functionsService,\n };\n }\n\n async queryQueue(queue: DXN): Promise<FeedProtocol.QueryResult> {\n const parts = queue.asQueueDXN();\n if (!parts) {\n throw new Error('Invalid queue DXN');\n }\n const { subspaceTag, spaceId, queueId } = parts;\n const result = await this._queueService.queryQueue(this._executionContext, {\n query: {\n spaceId,\n queuesNamespace: subspaceTag,\n queueIds: [queueId],\n },\n });\n return {\n objects: structuredClone(result.objects),\n nextCursor: result.nextCursor ?? null,\n prevCursor: result.prevCursor ?? null,\n };\n }\n\n async insertIntoQueue(queue: DXN, objects: AnyEntity[]): Promise<void> {\n const parts = queue.asQueueDXN();\n if (!parts) {\n throw new Error('Invalid queue DXN');\n }\n const { subspaceTag, spaceId, queueId } = parts;\n await this._queueService.insertIntoQueue(this._executionContext, {\n subspaceTag,\n spaceId,\n queueId,\n objects: objects.map((obj) => JSON.stringify(obj)),\n });\n }\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Resource } from '@dxos/context';\nimport { type Database } from '@dxos/echo';\nimport { type CoreDatabase, type EchoClient, type EchoDatabaseImpl } from '@dxos/echo-db';\nimport { invariant } from '@dxos/invariant';\nimport { PublicKey, type SpaceId } from '@dxos/keys';\n\nimport type { ServiceContainer } from './internal';\nimport { type QueuesAPI, QueuesAPIImpl } from './queues-api';\n\n/**\n * @deprecated\n */\nexport class SpaceProxy extends Resource {\n private _db?: EchoDatabaseImpl = undefined;\n private _queuesApi: QueuesAPIImpl;\n\n constructor(\n private readonly _serviceContainer: ServiceContainer,\n private readonly _echoClient: EchoClient,\n private readonly _id: SpaceId,\n ) {\n super();\n this._queuesApi = new QueuesAPIImpl(this._serviceContainer, this._id);\n }\n\n get id(): SpaceId {\n return this._id;\n }\n\n get db(): Database.Database {\n invariant(this._db);\n return this._db;\n }\n\n /**\n * @deprecated Use db API.\n */\n get crud(): CoreDatabase {\n invariant(this._db);\n return this._db.coreDatabase;\n }\n\n get queues(): QueuesAPI {\n return this._queuesApi;\n }\n\n protected override async _open() {\n const meta = await this._serviceContainer.getSpaceMeta(this._id);\n if (!meta) {\n throw new Error(`Space not found: ${this._id}`);\n }\n\n this._db = this._echoClient.constructDatabase({\n spaceId: this._id,\n spaceKey: PublicKey.from(meta.spaceKey),\n reactiveSchemaQuery: false,\n owningObject: this,\n });\n\n await this._db.coreDatabase.open(this._ctx, { rootUrl: meta.rootDocumentId });\n }\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type AnyEntity } from '@dxos/echo/internal';\nimport type { DXN, SpaceId } from '@dxos/keys';\nimport { log } from '@dxos/log';\n\nimport type { ServiceContainer } from './internal';\n\nexport interface QueuesQueryResult {\n objects: AnyEntity[];\n nextCursor: string | null;\n prevCursor: string | null;\n}\n\n// TODO(dmaretskyi): Temporary API to get the queues working.\n// TODO(dmaretskyi): To be replaced with integrating queues into echo.\n/**\n * @deprecated\n */\nexport interface QueuesAPI {\n queryQueue(queue: DXN, options?: {}): Promise<QueuesQueryResult>;\n insertIntoQueue(queue: DXN, objects: AnyEntity[]): Promise<void>;\n}\n\n/**\n * @deprecated\n */\nexport class QueuesAPIImpl implements QueuesAPI {\n constructor(\n private readonly _serviceContainer: ServiceContainer,\n private readonly _spaceId: SpaceId,\n ) {}\n\n async queryQueue(queue: DXN, options?: {}): Promise<QueuesQueryResult> {\n const result = await this._serviceContainer.queryQueue(queue);\n const objects = (result.objects ?? []).flatMap((encoded): AnyEntity[] => {\n try {\n return [JSON.parse(encoded) as AnyEntity];\n } catch (err) {\n log.verbose('queue object JSON parse failed; object ignored', { encoded, error: err });\n return [];\n }\n });\n return {\n objects,\n nextCursor: result.nextCursor ?? null,\n prevCursor: result.prevCursor ?? null,\n };\n }\n\n insertIntoQueue(queue: DXN, objects: AnyEntity[]): Promise<void> {\n // TODO(dmaretskyi): Ugly.\n return this._serviceContainer.insertIntoQueue(queue, JSON.parse(JSON.stringify(objects)));\n }\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport type { JsonSchemaType } from '@dxos/echo/internal';\n\n/**\n * Is used for to route the request to the metadata handler instead of the main handler.\n */\nexport const FUNCTION_ROUTE_HEADER = 'X-DXOS-Function-Route';\n\nexport enum FunctionRouteValue {\n Meta = 'meta',\n}\n\nexport type FunctionMetadata = {\n /**\n * FQN.\n */\n key: string;\n /**\n * Human-readable name.\n */\n name?: string;\n\n /**\n * Description.\n */\n description?: string;\n\n /**\n * Input schema.\n */\n inputSchema?: JsonSchemaType;\n\n /**\n * Output schema.\n */\n outputSchema?: JsonSchemaType;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport type { JsonSchemaType } from '@dxos/echo/internal';\nimport { invariant } from '@dxos/invariant';\nimport { SpaceId } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { EdgeResponse } from '@dxos/protocols';\nimport type { EdgeFunctionEnv, FunctionProtocol } from '@dxos/protocols';\n\nimport { ServiceContainer } from './internal';\nimport { FUNCTION_ROUTE_HEADER, type FunctionMetadata, FunctionRouteValue } from './types';\n\n/**\n * Wraps a user function in a Cloudflare-compatible handler.\n */\nexport const wrapHandlerForCloudflare = (func: FunctionProtocol.Func): ExportedHandlerFetchHandler<any> => {\n return async (request: Request, env: EdgeFunctionEnv.Env): Promise<Response> => {\n // TODO(dmaretskyi): Should theÓ scope name reflect the function name?\n // TODO(mykola): Wrap in withCleanAutomergeWasmState;\n // TODO(mykola): Wrap in withNewExecutionContext;\n // Meta route is used to get the input schema of the function by the functions service.\n if (request.headers.get(FUNCTION_ROUTE_HEADER) === FunctionRouteValue.Meta) {\n return handleFunctionMetaCall(func, request);\n }\n\n try {\n const spaceId = new URL(request.url).searchParams.get('spaceId');\n if (spaceId) {\n if (!SpaceId.isValid(spaceId)) {\n return new Response('Invalid spaceId', { status: 400 });\n }\n }\n\n const serviceContainer = new ServiceContainer({}, env.DATA_SERVICE, env.QUEUE_SERVICE, env.FUNCTIONS_AI_SERVICE);\n const context = await createFunctionContext({\n serviceContainer,\n contextSpaceId: spaceId as SpaceId | undefined,\n });\n\n return EdgeResponse.success(await invokeFunction(func, context, request));\n } catch (error: any) {\n log.error('error invoking function', { error, stack: error.stack });\n return EdgeResponse.failure({\n message: error?.message ?? 'Internal error',\n error,\n });\n }\n };\n};\n\nconst invokeFunction = async (func: FunctionProtocol.Func, context: FunctionProtocol.Context, request: Request) => {\n // TODO(dmaretskyi): For some reason requests get wrapped like this.\n const { data } = await decodeRequest(request);\n\n return func.handler({\n context,\n data,\n });\n};\n\nconst decodeRequest = async (request: Request) => {\n const {\n data: { bodyText, ...rest },\n trigger,\n } = (await request.json()) as any;\n\n if (!bodyText) {\n return { data: rest, trigger };\n }\n\n // Webhook passed body as bodyText. Use it as function input if a well-formatted JSON\n // TODO: better trigger input mapping\n try {\n const data = JSON.parse(bodyText);\n return { data, trigger: { ...trigger, ...rest } };\n } catch (err) {\n log.catch(err);\n return { data: { bodyText, ...rest } };\n }\n};\n\nconst handleFunctionMetaCall = (functionDefinition: FunctionProtocol.Func, request: Request): Response => {\n const response: FunctionMetadata = {\n key: functionDefinition.meta.key,\n name: functionDefinition.meta.name,\n description: functionDefinition.meta.description,\n inputSchema: functionDefinition.meta.inputSchema as JsonSchemaType | undefined,\n outputSchema: functionDefinition.meta.outputSchema as JsonSchemaType | undefined,\n };\n\n return new Response(JSON.stringify(response), {\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n};\n\nexport const createFunctionContext = async ({\n serviceContainer,\n contextSpaceId,\n}: {\n serviceContainer: ServiceContainer;\n contextSpaceId: SpaceId | undefined;\n}): Promise<FunctionProtocol.Context> => {\n const { dataService, queryService, queueService, functionsAiService } = await serviceContainer.createServices();\n\n let spaceKey: string | undefined;\n let rootUrl: string | undefined;\n if (contextSpaceId) {\n const meta = await serviceContainer.getSpaceMeta(contextSpaceId);\n if (!meta) {\n throw new Error(`Space not found: ${contextSpaceId}`);\n }\n spaceKey = meta.spaceKey;\n invariant(!meta.rootDocumentId.startsWith('automerge:'));\n rootUrl = `automerge:${meta.rootDocumentId}`;\n }\n\n return {\n services: {\n dataService,\n queryService,\n queueService,\n functionsAiService,\n },\n spaceId: contextSpaceId,\n spaceKey,\n spaceRootUrl: rootUrl,\n } as any; // TODO(dmaretskyi): Link and fix before merging\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\n/* eslint-disable no-console */\n\nimport { LogLevel, type LogProcessor, log, shouldLog } from '@dxos/log';\n\nexport const setupFunctionsLogger = () => {\n log.runtimeConfig.processors.length = 0;\n log.runtimeConfig.processors.push(functionLogProcessor);\n};\n\nconst functionLogProcessor: LogProcessor = (config, entry) => {\n if (!shouldLog(entry, config.filters)) {\n return;\n }\n\n const context = entry.computedContext;\n const error = entry.computedError;\n const extras = [Object.keys(context).length > 0 ? context : undefined, error].filter((value) => value !== undefined);\n\n switch (entry.level) {\n case LogLevel.DEBUG:\n case LogLevel.TRACE:\n console.debug(entry.message, ...extras);\n break;\n case LogLevel.VERBOSE:\n console.log(entry.message, ...extras);\n break;\n case LogLevel.INFO:\n console.info(entry.message, ...extras);\n break;\n case LogLevel.WARN:\n console.warn(entry.message, ...extras);\n break;\n case LogLevel.ERROR:\n console.error(entry.message, ...extras);\n break;\n default:\n console.log(entry.message, ...extras);\n break;\n }\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Resource", "EchoClient", "invariant", "raise", "NotImplementedError", "invariant", "SpaceId", "log", "copyUint8Array", "copyUint8Array", "value", "Uint8Array", "dataSubscriptions", "_executionContext", "_dataService", "subscribe", "next", "invariant", "SpaceId", "isValid", "spaceId", "subscriptionId", "message", "context", "log", "count", "info", "documentId", "found", "document", "sub", "updates", "response", "createDocument", "initialValue", "get", "changeDocument", "RuntimeServiceError", "ifTypeDiffers", "error", "subscribeSpaceSyncState", "NotImplementedError", "NotImplementedError", "log", "RuntimeServiceError", "QueryServiceImpl", "__dxlog_file", "_queryCount", "_executionContext", "_dataService", "execQuery", "info", "request", "fromPromise", "Stream", "queryResponse", "_ts_add_disposable_resource", "resultCount", "structuredClone", "error", "err", "message", "context", "queryCount", "cause", "RuntimeServiceError", "QueueServiceImpl", "_ctx", "_queueService", "queryQueue", "request", "result", "objects", "structuredClone", "nextCursor", "prevCursor", "error", "query", "wrap", "message", "context", "subspaceTag", "queuesNamespace", "spaceId", "queueId", "queueIds", "ifTypeDiffers", "insertIntoQueue", "_", "deleteFromQueue", "syncQueue", "ServiceContainer", "_executionContext", "_dataService", "_queueService", "_functionsService", "getSpaceMeta", "spaceId", "result", "spaceKey", "rootDocumentId", "undefined", "createServices", "dataService", "DataServiceImpl", "queryService", "QueryServiceImpl", "queueService", "QueueServiceImpl", "functionsAiService", "queryQueue", "queue", "parts", "asQueueDXN", "Error", "subspaceTag", "queueId", "query", "queuesNamespace", "queueIds", "objects", "structuredClone", "nextCursor", "prevCursor", "insertIntoQueue", "map", "obj", "JSON", "stringify", "Resource", "invariant", "PublicKey", "log", "__dxlog_file", "_spaceId", "queryQueue", "queue", "objects", "result", "err", "encoded", "error", "nextCursor", "prevCursor", "insertIntoQueue", "_serviceContainer", "__dxlog_file", "_db", "_queuesApi", "QueuesAPIImpl", "_serviceContainer", "id", "db", "invariant", "queues", "_open", "meta", "Error", "_echoClient", "constructDatabase", "spaceKey", "PublicKey", "reactiveSchemaQuery", "owningObject", "coreDatabase", "__dxlog_file", "_echoClient", "Resource", "_executionContext", "_spaces", "invariant", "services", "_serviceContainer", "ServiceContainer", "dataService", "queueService", "functionsAiService", "EchoClient", "echo", "_open", "queryService", "_close", "space", "clear", "getSpace", "spaceId", "set", "DATA_SERVICE", "env", "FUNCTION_ROUTE_HEADER", "FunctionRouteValue", "invariant", "SpaceId", "log", "EdgeResponse", "__dxlog_file", "SpaceId", "isValid", "spaceId", "status", "serviceContainer", "contextSpaceId", "success", "log", "error", "stack", "EdgeResponse", "message", "decodeRequest", "request", "context", "data", "rest", "trigger", "functionDefinition", "meta", "name", "description", "inputSchema", "outputSchema", "Response", "response", "spaceKey", "rootUrl", "Error", "invariant", "queryService", "queueService", "functionsAiService", "spaceRootUrl", "LogLevel", "log", "shouldLog", "log", "runtimeConfig", "push", "functionLogProcessor", "config", "entry", "extras", "Object", "keys", "context", "error", "filter", "value", "undefined", "LogLevel", "DEBUG", "TRACE", "console", "debug", "VERBOSE", "INFO", "WARN", "ERROR"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"src/internal/utils.ts":{"bytes":692,"imports":[],"format":"esm"},"src/internal/data-service-impl.ts":{"bytes":19959,"imports":[{"path":"@dxos/codec-protobuf/stream","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/errors","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/internal/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/internal/query-service-impl.ts":{"bytes":9761,"imports":[{"path":"@dxos/codec-protobuf/stream","kind":"import-statement","external":true},{"path":"@dxos/errors","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/internal/queue-service-impl.ts":{"bytes":11363,"imports":[{"path":"@dxos/errors","kind":"import-statement","external":true}],"format":"esm"},"src/internal/service-container.ts":{"bytes":13064,"imports":[{"path":"src/internal/data-service-impl.ts","kind":"import-statement","original":"./data-service-impl"},{"path":"src/internal/query-service-impl.ts","kind":"import-statement","original":"./query-service-impl"},{"path":"src/internal/queue-service-impl.ts","kind":"import-statement","original":"./queue-service-impl"}],"format":"esm"},"src/internal/index.ts":{"bytes":503,"imports":[{"path":"src/internal/service-container.ts","kind":"import-statement","original":"./service-container"}],"format":"esm"},"src/queues-api.ts":{"bytes":5096,"imports":[{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/space-proxy.ts":{"bytes":6303,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"src/queues-api.ts","kind":"import-statement","original":"./queues-api"}],"format":"esm"},"src/functions-client.ts":{"bytes":9322,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"src/internal/index.ts","kind":"import-statement","original":"./internal"},{"path":"src/space-proxy.ts","kind":"import-statement","original":"./space-proxy"}],"format":"esm"},"src/types.ts":{"bytes":1696,"imports":[],"format":"esm"},"src/wrap-handler-for-cloudflare.ts":{"bytes":15375,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"src/internal/index.ts","kind":"import-statement","original":"./internal"},{"path":"src/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/logger.ts":{"bytes":4865,"imports":[{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":879,"imports":[{"path":"src/functions-client.ts","kind":"import-statement","original":"./functions-client"},{"path":"src/internal/index.ts","kind":"import-statement","original":"./internal"},{"path":"src/types.ts","kind":"import-statement","original":"./types"},{"path":"src/wrap-handler-for-cloudflare.ts","kind":"import-statement","original":"./wrap-handler-for-cloudflare"},{"path":"src/logger.ts","kind":"import-statement","original":"./logger"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":41347},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf/stream","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/errors","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf/stream","kind":"import-statement","external":true},{"path":"@dxos/errors","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/errors","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["FUNCTION_ROUTE_HEADER","FunctionRouteValue","FunctionsClient","ServiceContainer","createClientFromEnv","setupFunctionsLogger","wrapHandlerForCloudflare"],"entryPoint":"src/index.ts","inputs":{"src/functions-client.ts":{"bytesInOutput":2163},"src/internal/data-service-impl.ts":{"bytesInOutput":7263},"src/internal/utils.ts":{"bytesInOutput":55},"src/internal/query-service-impl.ts":{"bytesInOutput":4571},"src/internal/queue-service-impl.ts":{"bytesInOutput":4790},"src/internal/service-container.ts":{"bytesInOutput":4452},"src/space-proxy.ts":{"bytesInOutput":1557},"src/queues-api.ts":{"bytesInOutput":1124},"src/index.ts":{"bytesInOutput":0},"src/types.ts":{"bytesInOutput":205},"src/wrap-handler-for-cloudflare.ts":{"bytesInOutput":3517},"src/logger.ts":{"bytesInOutput":1064}},"bytes":31476}}}
1
+ {"inputs":{"src/internal/utils.ts":{"bytes":590,"imports":[],"format":"esm"},"src/internal/data-service-impl.ts":{"bytes":19264,"imports":[{"path":"@dxos/codec-protobuf/stream","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/errors","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/internal/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/internal/query-service-impl.ts":{"bytes":9332,"imports":[{"path":"@dxos/codec-protobuf/stream","kind":"import-statement","external":true},{"path":"@dxos/errors","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/internal/queue-service-impl.ts":{"bytes":11248,"imports":[{"path":"@dxos/errors","kind":"import-statement","external":true}],"format":"esm"},"src/internal/service-container.ts":{"bytes":12950,"imports":[{"path":"src/internal/data-service-impl.ts","kind":"import-statement","original":"./data-service-impl"},{"path":"src/internal/query-service-impl.ts","kind":"import-statement","original":"./query-service-impl"},{"path":"src/internal/queue-service-impl.ts","kind":"import-statement","original":"./queue-service-impl"}],"format":"esm"},"src/internal/index.ts":{"bytes":401,"imports":[{"path":"src/internal/service-container.ts","kind":"import-statement","original":"./service-container"}],"format":"esm"},"src/queues-api.ts":{"bytes":4993,"imports":[{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/space-proxy.ts":{"bytes":6106,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"src/queues-api.ts","kind":"import-statement","original":"./queues-api"}],"format":"esm"},"src/functions-client.ts":{"bytes":8574,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"src/internal/index.ts","kind":"import-statement","original":"./internal"},{"path":"src/space-proxy.ts","kind":"import-statement","original":"./space-proxy"}],"format":"esm"},"src/types.ts":{"bytes":1603,"imports":[],"format":"esm"},"src/wrap-handler-for-cloudflare.ts":{"bytes":15148,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"src/internal/index.ts","kind":"import-statement","original":"./internal"},{"path":"src/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/logger.ts":{"bytes":4872,"imports":[{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":786,"imports":[{"path":"src/functions-client.ts","kind":"import-statement","original":"./functions-client"},{"path":"src/internal/index.ts","kind":"import-statement","original":"./internal"},{"path":"src/types.ts","kind":"import-statement","original":"./types"},{"path":"src/wrap-handler-for-cloudflare.ts","kind":"import-statement","original":"./wrap-handler-for-cloudflare"},{"path":"src/logger.ts","kind":"import-statement","original":"./logger"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":39370},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf/stream","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/errors","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf/stream","kind":"import-statement","external":true},{"path":"@dxos/errors","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/errors","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["FUNCTION_ROUTE_HEADER","FunctionRouteValue","FunctionsClient","ServiceContainer","createClientFromEnv","createFunctionContext","setupFunctionsLogger","wrapHandlerForCloudflare"],"entryPoint":"src/index.ts","inputs":{"src/functions-client.ts":{"bytesInOutput":2115},"src/internal/data-service-impl.ts":{"bytesInOutput":7003},"src/internal/utils.ts":{"bytesInOutput":55},"src/internal/query-service-impl.ts":{"bytesInOutput":4396},"src/internal/queue-service-impl.ts":{"bytesInOutput":4790},"src/internal/service-container.ts":{"bytesInOutput":4452},"src/space-proxy.ts":{"bytesInOutput":1509},"src/queues-api.ts":{"bytesInOutput":1086},"src/index.ts":{"bytesInOutput":0},"src/types.ts":{"bytesInOutput":205},"src/wrap-handler-for-cloudflare.ts":{"bytesInOutput":3435},"src/logger.ts":{"bytesInOutput":1064}},"bytes":30850}}}
@@ -25,9 +25,4 @@ export declare class FunctionsClient extends Resource {
25
25
  }
26
26
  export declare const createClientFromEnv: (env: any) => Promise<FunctionsClient>;
27
27
  export {};
28
- /**
29
- - Provides data access capabilities for user functions.
30
- - No real-time replication or reactive queries -- function receives a snapshot.
31
- - Function event contains the metadata but doesn't need to include the data.
32
- */
33
28
  //# sourceMappingURL=functions-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"functions-client.d.ts","sourceRoot":"","sources":["../../../src/functions-client.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,KAAK,QAAQ,GAAG;IACd,WAAW,EAAE,eAAe,CAAC,WAAW,CAAC;IACzC,YAAY,EAAE,eAAe,CAAC,YAAY,CAAC;IAC3C,kBAAkB,EAAE,eAAe,CAAC,kBAAkB,CAAC;CACxD,CAAC;AAEF;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,QAAQ;IAC3C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoC;IAEtE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;gBAE9C,QAAQ,EAAE,QAAQ;IAa9B,IAAI,IAAI,IAAI,UAAU,CAErB;cAEwB,KAAK;cAML,MAAM;IASzB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;CAStD;AAED,eAAO,MAAM,mBAAmB,GAAU,KAAK,GAAG,KAAG,OAAO,CAAC,eAAe,CAQ3E,CAAC;;AAEF;;;;GAIG"}
1
+ {"version":3,"file":"functions-client.d.ts","sourceRoot":"","sources":["../../../src/functions-client.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,KAAK,QAAQ,GAAG;IACd,WAAW,EAAE,eAAe,CAAC,WAAW,CAAC;IACzC,YAAY,EAAE,eAAe,CAAC,YAAY,CAAC;IAC3C,kBAAkB,EAAE,eAAe,CAAC,kBAAkB,CAAC;CACxD,CAAC;AAEF;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,QAAQ;IAC3C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoC;IAEtE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAE1D,YAAY,QAAQ,EAAE,QAAQ,EAW7B;IAED,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,UAAyB,KAAK,kBAI7B;IAED,UAAyB,MAAM,kBAO9B;IAEK,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAQpD;CACF;AAED,eAAO,MAAM,mBAAmB,QAAe,GAAG,KAAG,OAAO,CAAC,eAAe,CAQ3E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"data-service-impl.d.ts","sourceRoot":"","sources":["../../../../src/internal/data-service-impl.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAMrD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,WAAW,IAAI,gBAAgB,EAC/B,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,yBAAyB,EAC1B,MAAM,yCAAyC,CAAC;AAIjD,qBAAa,eAAgB,YAAW,gBAAgB;IAIpD,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,YAAY;IAJtB,OAAO,CAAC,iBAAiB,CAAwF;gBAGvG,iBAAiB,EAAE,eAAe,CAAC,YAAY,EAC/C,YAAY,EAAE,eAAe,CAAC,WAAW;IAGnD,SAAS,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,sBAAsB,CAAC;IAW7G,kBAAkB,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCxF,cAAc,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAMjG,MAAM,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBjE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,uBAAuB,CAAC,QAAQ,EAAE,wBAAwB,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IAMxG,gBAAgB,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAM3G,YAAY,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/E,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B,wBAAwB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAAE,KAAK,EAAE,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAKjF"}
1
+ {"version":3,"file":"data-service-impl.d.ts","sourceRoot":"","sources":["../../../../src/internal/data-service-impl.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAMrD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,WAAW,IAAI,gBAAgB,EAC/B,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,yBAAyB,EAC1B,MAAM,yCAAyC,CAAC;AAIjD,qBAAa,eAAgB,YAAW,gBAAgB;IAIpD,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,YAAY;IAJtB,OAAO,CAAC,iBAAiB,CAAwF;IAEjH,YACU,iBAAiB,EAAE,eAAe,CAAC,YAAY,EAC/C,YAAY,EAAE,eAAe,CAAC,WAAW,EAC/C;IAEJ,SAAS,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,sBAAsB,CAAC,CASlH;IAEK,kBAAkB,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC7F;IAEK,cAAc,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAItG;IAEK,MAAM,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBtE;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3B;IAED,uBAAuB,CAAC,QAAQ,EAAE,wBAAwB,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,CAI7G;IAEK,gBAAgB,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAIhH;IAEK,YAAY,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAIpF;IAEK,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAGnC;IAEK,wBAAwB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAAE,KAAK,EAAE,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/E;CACF"}