@dxos/protocols 0.8.4-main.c4373fc → 0.8.4-main.c85a9c8dae

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) hide show
  1. package/README.md +1 -1
  2. package/dist/src/FeedProtocol.d.ts +528 -0
  3. package/dist/src/FeedProtocol.d.ts.map +1 -0
  4. package/dist/src/FeedProtocol.js +237 -0
  5. package/dist/src/FeedProtocol.js.map +1 -0
  6. package/dist/src/FunctionProtocol.d.ts +82 -0
  7. package/dist/src/FunctionProtocol.d.ts.map +1 -0
  8. package/dist/src/FunctionProtocol.js +4 -0
  9. package/dist/src/FunctionProtocol.js.map +1 -0
  10. package/dist/src/automerge.d.ts +8 -0
  11. package/dist/src/automerge.d.ts.map +1 -1
  12. package/dist/src/automerge.js.map +1 -1
  13. package/dist/src/buf/proto/gen/dxos/client/queue_pb.d.ts +231 -0
  14. package/dist/src/buf/proto/gen/dxos/client/queue_pb.d.ts.map +1 -0
  15. package/dist/src/buf/proto/gen/dxos/client/queue_pb.js +44 -0
  16. package/dist/src/buf/proto/gen/dxos/client/queue_pb.js.map +1 -0
  17. package/dist/src/buf/proto/gen/dxos/client/services_pb.d.ts +69 -19
  18. package/dist/src/buf/proto/gen/dxos/client/services_pb.d.ts.map +1 -1
  19. package/dist/src/buf/proto/gen/dxos/client/services_pb.js +31 -22
  20. package/dist/src/buf/proto/gen/dxos/client/services_pb.js.map +1 -1
  21. package/dist/src/buf/proto/gen/dxos/echo/query_pb.d.ts +12 -2
  22. package/dist/src/buf/proto/gen/dxos/echo/query_pb.d.ts.map +1 -1
  23. package/dist/src/buf/proto/gen/dxos/echo/query_pb.js +1 -1
  24. package/dist/src/buf/proto/gen/dxos/echo/query_pb.js.map +1 -1
  25. package/dist/src/buf/proto/gen/dxos/echo/service_pb.d.ts +55 -9
  26. package/dist/src/buf/proto/gen/dxos/echo/service_pb.d.ts.map +1 -1
  27. package/dist/src/buf/proto/gen/dxos/echo/service_pb.js +15 -5
  28. package/dist/src/buf/proto/gen/dxos/echo/service_pb.js.map +1 -1
  29. package/dist/src/buf/proto/gen/dxos/google_pb.js +1 -1
  30. package/dist/src/buf/proto/gen/dxos/google_pb.js.map +1 -1
  31. package/dist/src/buf/proto/gen/dxos/iframe_pb.d.ts +1 -0
  32. package/dist/src/buf/proto/gen/dxos/iframe_pb.d.ts.map +1 -1
  33. package/dist/src/buf/proto/gen/dxos/iframe_pb.js.map +1 -1
  34. package/dist/src/buf/proto/gen/dxos/tracing_pb.js +1 -1
  35. package/dist/src/buf/proto/gen/dxos/tracing_pb.js.map +1 -1
  36. package/dist/src/codec.test.js +1 -1
  37. package/dist/src/edge/EdgeFunctionEnv.d.ts +121 -0
  38. package/dist/src/edge/EdgeFunctionEnv.d.ts.map +1 -0
  39. package/dist/src/edge/EdgeFunctionEnv.js +4 -0
  40. package/dist/src/edge/EdgeFunctionEnv.js.map +1 -0
  41. package/dist/src/{edge.d.ts → edge/edge.d.ts} +117 -10
  42. package/dist/src/edge/edge.d.ts.map +1 -0
  43. package/dist/src/edge/edge.js +169 -0
  44. package/dist/src/edge/edge.js.map +1 -0
  45. package/dist/src/edge/errors.d.ts +29 -0
  46. package/dist/src/edge/errors.d.ts.map +1 -0
  47. package/dist/src/edge/errors.js +69 -0
  48. package/dist/src/edge/errors.js.map +1 -0
  49. package/dist/src/edge/index.d.ts +4 -0
  50. package/dist/src/edge/index.d.ts.map +1 -0
  51. package/dist/src/edge/index.js +7 -0
  52. package/dist/src/edge/index.js.map +1 -0
  53. package/dist/src/errors/base-errors.d.ts +86 -8
  54. package/dist/src/errors/base-errors.d.ts.map +1 -1
  55. package/dist/src/errors/base-errors.js +4 -20
  56. package/dist/src/errors/base-errors.js.map +1 -1
  57. package/dist/src/errors/encoding.d.ts +2 -2
  58. package/dist/src/errors/encoding.d.ts.map +1 -1
  59. package/dist/src/errors/encoding.js +1 -1
  60. package/dist/src/errors/errors.d.ts +619 -42
  61. package/dist/src/errors/errors.d.ts.map +1 -1
  62. package/dist/src/errors/errors.js +50 -104
  63. package/dist/src/errors/errors.js.map +1 -1
  64. package/dist/src/errors/errors.test.js +2 -2
  65. package/dist/src/errors/errors.test.js.map +1 -1
  66. package/dist/src/errors/helpers.d.ts +9 -5
  67. package/dist/src/errors/helpers.d.ts.map +1 -1
  68. package/dist/src/errors/helpers.js +3 -3
  69. package/dist/src/errors/helpers.js.map +1 -1
  70. package/dist/src/errors/index.d.ts +5 -5
  71. package/dist/src/errors/index.js +5 -5
  72. package/dist/src/feed-replication.d.ts.map +1 -1
  73. package/dist/src/index.d.ts +12 -12
  74. package/dist/src/index.d.ts.map +1 -1
  75. package/dist/src/index.js +11 -11
  76. package/dist/src/index.js.map +1 -1
  77. package/dist/src/indexing.test.js +1 -1
  78. package/dist/src/messenger.d.ts +16 -0
  79. package/dist/src/messenger.d.ts.map +1 -0
  80. package/dist/src/messenger.js +4 -0
  81. package/dist/src/messenger.js.map +1 -0
  82. package/dist/src/proto/gen/dxos/client/services.d.ts +300 -145
  83. package/dist/src/proto/gen/dxos/client/services.d.ts.map +1 -1
  84. package/dist/src/proto/gen/dxos/client/services.js +37 -33
  85. package/dist/src/proto/gen/dxos/client/services.js.map +1 -1
  86. package/dist/src/proto/gen/dxos/devtools/host.d.ts +31 -31
  87. package/dist/src/proto/gen/dxos/devtools/host.d.ts.map +1 -1
  88. package/dist/src/proto/gen/dxos/echo/query.d.ts +17 -1
  89. package/dist/src/proto/gen/dxos/echo/query.d.ts.map +1 -1
  90. package/dist/src/proto/gen/dxos/echo/query.js.map +1 -1
  91. package/dist/src/proto/gen/dxos/echo/service.d.ts +34 -8
  92. package/dist/src/proto/gen/dxos/echo/service.d.ts.map +1 -1
  93. package/dist/src/proto/gen/google/protobuf.d.ts +31 -31
  94. package/dist/src/proto/gen/google/protobuf.d.ts.map +1 -1
  95. package/dist/src/proto/gen/google/protobuf.js.map +1 -1
  96. package/dist/src/proto/gen/index.d.ts +10 -0
  97. package/dist/src/proto/gen/index.d.ts.map +1 -1
  98. package/dist/src/proto/gen/index.js +1 -1
  99. package/dist/src/proto/gen/index.js.map +1 -1
  100. package/dist/src/proto/index.d.ts +2 -2
  101. package/dist/src/proto/index.js +1 -1
  102. package/dist/src/proto/types.d.ts +1 -1
  103. package/dist/src/types.d.ts +2 -2
  104. package/dist/tsconfig.tsbuildinfo +1 -1
  105. package/package.json +19 -15
  106. package/src/FeedProtocol.ts +320 -0
  107. package/src/FunctionProtocol.ts +102 -0
  108. package/src/automerge.ts +8 -0
  109. package/src/buf/proto/gen/dxos/agent/dashboard_pb.ts +1 -1
  110. package/src/buf/proto/gen/dxos/agent/echo-proxy_pb.ts +1 -1
  111. package/src/buf/proto/gen/dxos/agent/epoch_pb.ts +1 -1
  112. package/src/buf/proto/gen/dxos/agent/functions_pb.ts +1 -1
  113. package/src/buf/proto/gen/dxos/bot_pb.ts +1 -1
  114. package/src/buf/proto/gen/dxos/client/invitation_pb.ts +1 -1
  115. package/src/buf/proto/gen/dxos/client/logging_pb.ts +1 -1
  116. package/src/buf/proto/gen/dxos/client/queue_pb.ts +280 -0
  117. package/src/buf/proto/gen/dxos/client/services_pb.ts +87 -27
  118. package/src/buf/proto/gen/dxos/config_pb.ts +1 -1
  119. package/src/buf/proto/gen/dxos/devtools/diagnostics_pb.ts +1 -1
  120. package/src/buf/proto/gen/dxos/devtools/host_pb.ts +1 -1
  121. package/src/buf/proto/gen/dxos/devtools/swarm_pb.ts +1 -1
  122. package/src/buf/proto/gen/dxos/echo/blob_pb.ts +1 -1
  123. package/src/buf/proto/gen/dxos/echo/feed_pb.ts +1 -1
  124. package/src/buf/proto/gen/dxos/echo/filter_pb.ts +1 -1
  125. package/src/buf/proto/gen/dxos/echo/indexing_pb.ts +1 -1
  126. package/src/buf/proto/gen/dxos/echo/metadata_pb.ts +1 -1
  127. package/src/buf/proto/gen/dxos/echo/model/document_pb.ts +1 -1
  128. package/src/buf/proto/gen/dxos/echo/model/messenger_pb.ts +1 -1
  129. package/src/buf/proto/gen/dxos/echo/model/text_pb.ts +1 -1
  130. package/src/buf/proto/gen/dxos/echo/object_pb.ts +1 -1
  131. package/src/buf/proto/gen/dxos/echo/query_pb.ts +16 -4
  132. package/src/buf/proto/gen/dxos/echo/service_pb.ts +68 -16
  133. package/src/buf/proto/gen/dxos/echo/snapshot_pb.ts +1 -1
  134. package/src/buf/proto/gen/dxos/echo/timeframe_pb.ts +1 -1
  135. package/src/buf/proto/gen/dxos/edge/calls_pb.ts +1 -1
  136. package/src/buf/proto/gen/dxos/edge/messenger_pb.ts +1 -1
  137. package/src/buf/proto/gen/dxos/edge/signal_pb.ts +1 -1
  138. package/src/buf/proto/gen/dxos/error_pb.ts +1 -1
  139. package/src/buf/proto/gen/dxos/field_options_pb.ts +1 -1
  140. package/src/buf/proto/gen/dxos/google_pb.ts +1 -1
  141. package/src/buf/proto/gen/dxos/gravity_pb.ts +1 -1
  142. package/src/buf/proto/gen/dxos/halo/credentials/auth_pb.ts +1 -1
  143. package/src/buf/proto/gen/dxos/halo/credentials/greet_pb.ts +1 -1
  144. package/src/buf/proto/gen/dxos/halo/credentials/identity_pb.ts +1 -1
  145. package/src/buf/proto/gen/dxos/halo/credentials_pb.ts +1 -1
  146. package/src/buf/proto/gen/dxos/halo/invitations_pb.ts +1 -1
  147. package/src/buf/proto/gen/dxos/halo/keyring_pb.ts +1 -1
  148. package/src/buf/proto/gen/dxos/halo/keys_pb.ts +1 -1
  149. package/src/buf/proto/gen/dxos/halo/signed_pb.ts +1 -1
  150. package/src/buf/proto/gen/dxos/iframe_pb.ts +2 -1
  151. package/src/buf/proto/gen/dxos/keys_pb.ts +1 -1
  152. package/src/buf/proto/gen/dxos/mesh/bridge_pb.ts +1 -1
  153. package/src/buf/proto/gen/dxos/mesh/broadcast_pb.ts +1 -1
  154. package/src/buf/proto/gen/dxos/mesh/messaging_pb.ts +1 -1
  155. package/src/buf/proto/gen/dxos/mesh/muxer_pb.ts +1 -1
  156. package/src/buf/proto/gen/dxos/mesh/presence_pb.ts +1 -1
  157. package/src/buf/proto/gen/dxos/mesh/protocol_pb.ts +1 -1
  158. package/src/buf/proto/gen/dxos/mesh/replicator_pb.ts +1 -1
  159. package/src/buf/proto/gen/dxos/mesh/signal_pb.ts +1 -1
  160. package/src/buf/proto/gen/dxos/mesh/swarm_pb.ts +1 -1
  161. package/src/buf/proto/gen/dxos/mesh/teleport/admission-discovery_pb.ts +1 -1
  162. package/src/buf/proto/gen/dxos/mesh/teleport/auth_pb.ts +1 -1
  163. package/src/buf/proto/gen/dxos/mesh/teleport/automerge_pb.ts +1 -1
  164. package/src/buf/proto/gen/dxos/mesh/teleport/blobsync_pb.ts +1 -1
  165. package/src/buf/proto/gen/dxos/mesh/teleport/control_pb.ts +1 -1
  166. package/src/buf/proto/gen/dxos/mesh/teleport/gossip_pb.ts +1 -1
  167. package/src/buf/proto/gen/dxos/mesh/teleport/notarization_pb.ts +1 -1
  168. package/src/buf/proto/gen/dxos/mesh/teleport/replicator_pb.ts +1 -1
  169. package/src/buf/proto/gen/dxos/registry_pb.ts +1 -1
  170. package/src/buf/proto/gen/dxos/rpc_pb.ts +1 -1
  171. package/src/buf/proto/gen/dxos/service/agentmanager_pb.ts +1 -1
  172. package/src/buf/proto/gen/dxos/service/publisher_pb.ts +1 -1
  173. package/src/buf/proto/gen/dxos/service/supervisor_pb.ts +1 -1
  174. package/src/buf/proto/gen/dxos/service/tunnel_pb.ts +1 -1
  175. package/src/buf/proto/gen/dxos/tracing_pb.ts +1 -1
  176. package/src/buf/proto/gen/dxos/type_pb.ts +1 -1
  177. package/src/buf/proto/gen/dxos/value_pb.ts +1 -1
  178. package/src/buf/proto/gen/example/testing/data_pb.ts +1 -1
  179. package/src/buf/proto/gen/example/testing/rpc_pb.ts +1 -1
  180. package/src/codec.test.ts +1 -1
  181. package/src/edge/EdgeFunctionEnv.ts +203 -0
  182. package/src/edge/edge.ts +493 -0
  183. package/src/edge/errors.ts +85 -0
  184. package/src/edge/index.ts +7 -0
  185. package/src/errors/base-errors.ts +4 -22
  186. package/src/errors/encoding.ts +2 -2
  187. package/src/errors/errors.test.ts +2 -2
  188. package/src/errors/errors.ts +57 -123
  189. package/src/errors/helpers.ts +6 -7
  190. package/src/errors/index.ts +5 -5
  191. package/src/feed-replication.ts +1 -0
  192. package/src/index.ts +12 -12
  193. package/src/indexing.test.ts +1 -1
  194. package/src/messenger.ts +22 -0
  195. package/src/proto/dxos/client/queue.proto +78 -0
  196. package/src/proto/dxos/client/services.proto +21 -3
  197. package/src/proto/dxos/echo/query.proto +4 -1
  198. package/src/proto/dxos/echo/service.proto +27 -6
  199. package/src/proto/dxos/iframe.proto +1 -0
  200. package/src/proto/gen/dxos/client/services.ts +300 -145
  201. package/src/proto/gen/dxos/devtools/host.ts +31 -31
  202. package/src/proto/gen/dxos/echo/query.ts +17 -1
  203. package/src/proto/gen/dxos/echo/service.ts +33 -8
  204. package/src/proto/gen/google/protobuf.ts +31 -31
  205. package/src/proto/gen/index.ts +11 -1
  206. package/src/proto/index.ts +2 -2
  207. package/src/proto/types.ts +1 -1
  208. package/src/types.ts +2 -2
  209. package/dist/src/edge-error.d.ts +0 -26
  210. package/dist/src/edge-error.d.ts.map +0 -1
  211. package/dist/src/edge-error.js +0 -102
  212. package/dist/src/edge-error.js.map +0 -1
  213. package/dist/src/edge.d.ts.map +0 -1
  214. package/dist/src/edge.js +0 -49
  215. package/dist/src/edge.js.map +0 -1
  216. package/dist/src/query.d.ts +0 -5
  217. package/dist/src/query.d.ts.map +0 -1
  218. package/dist/src/query.js +0 -8
  219. package/dist/src/query.js.map +0 -1
  220. package/dist/src/queue.d.ts +0 -28
  221. package/dist/src/queue.d.ts.map +0 -1
  222. package/dist/src/queue.js +0 -8
  223. package/dist/src/queue.js.map +0 -1
  224. package/src/edge-error.ts +0 -134
  225. package/src/edge.ts +0 -279
  226. package/src/query.ts +0 -8
  227. package/src/queue.ts +0 -38
@@ -0,0 +1,169 @@
1
+ //
2
+ // Copyright 2024 DXOS.org
3
+ //
4
+ import * as Schema from 'effect/Schema';
5
+ import { BaseError } from '@dxos/errors';
6
+ import { invariant } from '@dxos/invariant';
7
+ import { SpaceId } from '@dxos/keys';
8
+ // TODO(burdon): Rename EdgerRouterEndpoint.
9
+ // If we would rename it, we need to be careful to not break composer production.
10
+ export var EdgeService;
11
+ (function (EdgeService) {
12
+ EdgeService["AUTOMERGE_REPLICATOR"] = "automerge-replicator";
13
+ /**
14
+ * Control feed replicator (hypercore append only logs) for the space.
15
+ */
16
+ // TODO(mykola): Remove once we migrate to keyhive for access control.
17
+ EdgeService["FEED_REPLICATOR"] = "feed-replicator";
18
+ /**
19
+ * Feed replicator (ordered data list) for the space.
20
+ */
21
+ // TODO(mykola): Rename to FEED_REPLICATOR when we migrate to keyhive for access control.
22
+ EdgeService["QUEUE_REPLICATOR"] = "queue-replicator";
23
+ EdgeService["SWARM"] = "swarm";
24
+ EdgeService["SIGNAL"] = "signal";
25
+ EdgeService["STATUS"] = "status";
26
+ })(EdgeService || (EdgeService = {}));
27
+ const _SerializedError = Schema.Struct({
28
+ name: Schema.optional(Schema.String),
29
+ message: Schema.optional(Schema.String),
30
+ context: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),
31
+ stack: Schema.optional(Schema.String),
32
+ cause: Schema.optional(Schema.suspend(() => SerializedError)),
33
+ });
34
+ export const SerializedError = _SerializedError;
35
+ /**
36
+ * Use this to create a response from the Edge service.
37
+ */
38
+ export const EdgeResponse = Object.freeze({
39
+ success: (data, status = 200) => {
40
+ invariant(status >= 200 && status < 300, 'Status code must be in the 2xx range');
41
+ const headers = new Headers({ 'Content-Type': 'application/json' });
42
+ return new Response(JSON.stringify({
43
+ success: true,
44
+ data,
45
+ }), {
46
+ status,
47
+ headers,
48
+ });
49
+ },
50
+ failure: ({ message, error, errorEncoded, data, shouldRetryAfter, status = 500, }) => {
51
+ const headers = new Headers({ 'Content-Type': 'application/json' });
52
+ if (shouldRetryAfter) {
53
+ headers.set('Retry-After', String(shouldRetryAfter));
54
+ }
55
+ return new Response(JSON.stringify({
56
+ success: false,
57
+ message,
58
+ data,
59
+ error: error ? ErrorCodec.encode(error) : errorEncoded,
60
+ }), {
61
+ status,
62
+ headers,
63
+ });
64
+ },
65
+ });
66
+ /**
67
+ * Note: Do not change the values of these enums, this values are stored in the FunctionVersions database.
68
+ */
69
+ export const FunctionRuntimeKind = Schema.Enums({
70
+ // https://developers.cloudflare.com/cloudflare-for-platforms/workers-for-platforms/
71
+ WORKERS_FOR_PLATFORMS: 'WORKERS_FOR_PLATFORMS',
72
+ // https://developers.cloudflare.com/workers/runtime-apis/bindings/worker-loader/
73
+ WORKER_LOADER: 'WORKER_LOADER',
74
+ });
75
+ export var EdgeAgentStatus;
76
+ (function (EdgeAgentStatus) {
77
+ EdgeAgentStatus["ACTIVE"] = "active";
78
+ EdgeAgentStatus["INACTIVE"] = "inactive";
79
+ EdgeAgentStatus["NOT_FOUND"] = "not_found";
80
+ })(EdgeAgentStatus || (EdgeAgentStatus = {}));
81
+ export var OAuthProvider;
82
+ (function (OAuthProvider) {
83
+ OAuthProvider["GOOGLE"] = "google";
84
+ OAuthProvider["BLUESKY"] = "bluesky";
85
+ })(OAuthProvider || (OAuthProvider = {}));
86
+ export const InitiateOAuthFlowRequestSchema = Schema.Struct({
87
+ provider: Schema.Enums(OAuthProvider),
88
+ spaceId: Schema.String.pipe(Schema.filter(SpaceId.isValid)), // TODO(burdon): Use SpaceId.
89
+ accessTokenId: Schema.String,
90
+ scopes: Schema.mutable(Schema.Array(Schema.String)),
91
+ // Set to true if we don't want periodic token refreshes in background, for cases like account connect
92
+ noRefresh: Schema.optional(Schema.Boolean),
93
+ // Provider-specific (user handle or did for bluesky) hint for auth server resolution
94
+ loginHint: Schema.optional(Schema.String),
95
+ });
96
+ export var EdgeWebsocketProtocol;
97
+ (function (EdgeWebsocketProtocol) {
98
+ EdgeWebsocketProtocol["V0"] = "edge-ws-v0";
99
+ /**
100
+ * Enables message framing and muxing by service-id.
101
+ */
102
+ EdgeWebsocketProtocol["V1"] = "edge-ws-v1";
103
+ })(EdgeWebsocketProtocol || (EdgeWebsocketProtocol = {}));
104
+ export const DocumentCodec = Object.freeze({
105
+ encode: (doc) => Buffer.from(doc).toString('base64'),
106
+ decode: (doc) => new Uint8Array(Buffer.from(doc, 'base64')),
107
+ });
108
+ const MAX_ERROR_DEPTH = 3;
109
+ /**
110
+ * Codec for serializing and deserializing Edge Errors.
111
+ */
112
+ export const ErrorCodec = Object.freeze({
113
+ encode: (err, depth = 0) => ({
114
+ name: 'name' in err ? err.name : err.code || 'Error',
115
+ message: err.message,
116
+ stack: err.stack,
117
+ cause: err.cause instanceof Error && depth < MAX_ERROR_DEPTH ? ErrorCodec.encode(err.cause, depth + 1) : undefined,
118
+ }),
119
+ decode: (serializedError, depth = 0) => {
120
+ let err;
121
+ if (typeof serializedError.name === 'string') {
122
+ err = new BaseError(serializedError.name, {
123
+ message: serializedError.message ?? 'Unknown error',
124
+ cause: serializedError.cause && depth < MAX_ERROR_DEPTH
125
+ ? ErrorCodec.decode(serializedError.cause, depth + 1)
126
+ : undefined,
127
+ context: serializedError.context,
128
+ });
129
+ if (serializedError.stack) {
130
+ Object.defineProperty(err, 'stack', {
131
+ value: serializedError.stack,
132
+ });
133
+ }
134
+ }
135
+ else {
136
+ err = new Error(serializedError.message ?? 'Unknown error', {
137
+ cause: serializedError.cause && depth < MAX_ERROR_DEPTH
138
+ ? ErrorCodec.decode(serializedError.cause, depth + 1)
139
+ : undefined,
140
+ });
141
+ if (serializedError.stack) {
142
+ Object.defineProperty(err, 'stack', {
143
+ value: serializedError.stack,
144
+ });
145
+ }
146
+ }
147
+ return err;
148
+ },
149
+ });
150
+ /**
151
+ * Codec for serializing and deserializing Edge unhandled HTTP errors.
152
+ */
153
+ export const EdgeHttpErrorCodec = Object.freeze({
154
+ encode: (err) => new Response(JSON.stringify({
155
+ error: ErrorCodec.encode(err),
156
+ }), { status: 500 }),
157
+ decode: async (response) => {
158
+ if (response.headers.get('Content-Type') !== 'application/json') {
159
+ const body = await response.clone().text();
160
+ return new Error(body.slice(0, 256));
161
+ }
162
+ const body = await response.clone().json();
163
+ if (!('error' in body)) {
164
+ return undefined;
165
+ }
166
+ return ErrorCodec.decode(body.error);
167
+ },
168
+ });
169
+ //# sourceMappingURL=edge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edge.js","sourceRoot":"","sources":["../../../src/edge/edge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { type EdgeErrorData, type EdgeFailure } from './edge.ts';
2
+ /**
3
+ * Error thrown when a call to the Edge service fails.
4
+ * There 3 possible sources of failure:
5
+ * 1. EdgeFailure (JSON body with { success: false }) -> Processing the request failed and was gracefully handled by EDGE service.
6
+ * 2. Http failure (non-ok code) -> The HTTP request failed (e.g. timeout, network error).
7
+ * -> Unhandled exception on EDGE side, EDGE would provide serialized error in the response body.
8
+ * 3. Processing failure -> Unhandled exception on client side while processing the response.
9
+ */
10
+ export declare class EdgeCallFailedError extends Error {
11
+ static fromUnsuccessfulResponse(response: Response, body: EdgeFailure): EdgeCallFailedError;
12
+ static fromHttpFailure(response: Response): Promise<EdgeCallFailedError>;
13
+ static fromProcessingFailureCause(cause: Error): EdgeCallFailedError;
14
+ readonly data?: EdgeErrorData;
15
+ readonly isRetryable?: boolean;
16
+ readonly retryAfterMs?: number;
17
+ constructor(args: {
18
+ message: string;
19
+ isRetryable?: boolean;
20
+ data?: EdgeErrorData;
21
+ retryAfterMs?: number;
22
+ cause?: Error;
23
+ });
24
+ }
25
+ export declare class EdgeAuthChallengeError extends EdgeCallFailedError {
26
+ readonly challenge: string;
27
+ constructor(challenge: string, data: EdgeErrorData);
28
+ }
29
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/edge/errors.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAkC,MAAM,WAAW,CAAC;AAGjG;;;;;;;GAOG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;WAC9B,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,GAAG,mBAAmB;WAY9E,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,mBAAmB,CAAC;WASvE,0BAA0B,CAAC,KAAK,EAAE,KAAK,GAAG,mBAAmB;IAQ3E,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;gBAEnB,IAAI,EAAE;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,IAAI,CAAC,EAAE,aAAa,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,KAAK,CAAC;KACf;CAOF;AAED,qBAAa,sBAAuB,SAAQ,mBAAmB;aAE3C,SAAS,EAAE,MAAM;gBAAjB,SAAS,EAAE,MAAM,EACjC,IAAI,EAAE,aAAa;CAItB"}
@@ -0,0 +1,69 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+ import { EdgeHttpErrorCodec, ErrorCodec } from "./edge.js";
5
+ // TODO(burdon): Reconcile with @dxos/errors.
6
+ /**
7
+ * Error thrown when a call to the Edge service fails.
8
+ * There 3 possible sources of failure:
9
+ * 1. EdgeFailure (JSON body with { success: false }) -> Processing the request failed and was gracefully handled by EDGE service.
10
+ * 2. Http failure (non-ok code) -> The HTTP request failed (e.g. timeout, network error).
11
+ * -> Unhandled exception on EDGE side, EDGE would provide serialized error in the response body.
12
+ * 3. Processing failure -> Unhandled exception on client side while processing the response.
13
+ */
14
+ export class EdgeCallFailedError extends Error {
15
+ static fromUnsuccessfulResponse(response, body) {
16
+ const error = new EdgeCallFailedError({
17
+ message: body.message,
18
+ data: body.data,
19
+ isRetryable: body.data == null && response.headers.has('Retry-After'),
20
+ retryAfterMs: getRetryAfterMillis(response),
21
+ cause: body.error ? ErrorCodec.decode(body.error) : undefined,
22
+ });
23
+ return error;
24
+ }
25
+ static async fromHttpFailure(response) {
26
+ return new EdgeCallFailedError({
27
+ message: `HTTP code ${response.status}: ${response.statusText}.`,
28
+ isRetryable: isRetryableCode(response.status),
29
+ retryAfterMs: getRetryAfterMillis(response),
30
+ cause: await EdgeHttpErrorCodec.decode(response),
31
+ });
32
+ }
33
+ static fromProcessingFailureCause(cause) {
34
+ return new EdgeCallFailedError({
35
+ message: 'Error processing request.',
36
+ isRetryable: true,
37
+ cause,
38
+ });
39
+ }
40
+ data;
41
+ isRetryable;
42
+ retryAfterMs;
43
+ constructor(args) {
44
+ super(args.message, { cause: args.cause });
45
+ this.message = args.message;
46
+ this.data = args.data;
47
+ this.retryAfterMs = args.retryAfterMs;
48
+ this.isRetryable = Boolean(args.isRetryable);
49
+ }
50
+ }
51
+ export class EdgeAuthChallengeError extends EdgeCallFailedError {
52
+ challenge;
53
+ constructor(challenge, data) {
54
+ super({ message: 'Auth challenge.', data, isRetryable: false });
55
+ this.challenge = challenge;
56
+ }
57
+ }
58
+ const getRetryAfterMillis = (response) => {
59
+ const retryAfter = Number(response.headers.get('Retry-After'));
60
+ return Number.isNaN(retryAfter) || retryAfter === 0 ? undefined : retryAfter * 1000;
61
+ };
62
+ const isRetryableCode = (status) => {
63
+ if (status === 501) {
64
+ // Not Implemented
65
+ return false;
66
+ }
67
+ return !(status >= 400 && status < 500);
68
+ };
69
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/edge/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './edge.ts';
2
+ export * as EdgeFunctionEnv from './EdgeFunctionEnv.ts';
3
+ export * from './errors.ts';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/edge/index.ts"],"names":[],"mappings":"AAIA,cAAc,WAAW,CAAC;AAC1B,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAC;AACxD,cAAc,aAAa,CAAC"}
@@ -0,0 +1,7 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+ export * from "./edge.js";
5
+ export * as EdgeFunctionEnv from "./EdgeFunctionEnv.js";
6
+ export * from "./errors.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/edge/index.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,cAAc,WAAW,CAAC;AAC1B,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAC;AACxD,cAAc,aAAa,CAAC"}
@@ -2,26 +2,104 @@
2
2
  * NOTE: Messages should be sentences (Start with a capital letter and end with a period).
3
3
  * Errors can optionally include a JSON context object.
4
4
  */
5
- export declare class BaseError extends Error {
6
- readonly code: string;
7
- readonly context?: Record<string, any> | undefined;
8
- constructor(code: string, message?: string, context?: Record<string, any> | undefined);
9
- }
5
+ import { BaseError } from '@dxos/errors';
6
+ declare const ApiError_base: {
7
+ new (options?: import("@dxos/errors").BaseErrorOptions): {
8
+ name: "ApiError";
9
+ context: Record<string, unknown>;
10
+ readonly message: string;
11
+ readonly _tag: "ApiError";
12
+ stack?: string;
13
+ cause?: unknown;
14
+ };
15
+ name: "ApiError";
16
+ is(error: unknown): error is BaseError;
17
+ wrap(options?: Omit<import("@dxos/errors").BaseErrorOptions, "cause"> & {
18
+ ifTypeDiffers?: boolean;
19
+ }): (error: unknown) => {
20
+ name: "ApiError";
21
+ context: Record<string, unknown>;
22
+ readonly message: string;
23
+ readonly _tag: "ApiError";
24
+ stack?: string;
25
+ cause?: unknown;
26
+ };
27
+ extend<Name extends string = string>(name: Name, message?: string): any;
28
+ isError(error: unknown): error is Error;
29
+ captureStackTrace(targetObject: object, constructorOpt?: Function): void;
30
+ prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
31
+ stackTraceLimit: number;
32
+ };
10
33
  /**
11
34
  * User facing API Errors.
12
35
  * E.g., something was misconfigured.
13
36
  */
14
- export declare class ApiError extends BaseError {
37
+ export declare class ApiError extends ApiError_base {
15
38
  }
39
+ declare const SystemError_base: {
40
+ new (options?: import("@dxos/errors").BaseErrorOptions): {
41
+ name: "SystemError";
42
+ context: Record<string, unknown>;
43
+ readonly message: string;
44
+ readonly _tag: "SystemError";
45
+ stack?: string;
46
+ cause?: unknown;
47
+ };
48
+ name: "SystemError";
49
+ is(error: unknown): error is BaseError;
50
+ wrap(options?: Omit<import("@dxos/errors").BaseErrorOptions, "cause"> & {
51
+ ifTypeDiffers?: boolean;
52
+ }): (error: unknown) => {
53
+ name: "SystemError";
54
+ context: Record<string, unknown>;
55
+ readonly message: string;
56
+ readonly _tag: "SystemError";
57
+ stack?: string;
58
+ cause?: unknown;
59
+ };
60
+ extend<Name extends string = string>(name: Name, message?: string): any;
61
+ isError(error: unknown): error is Error;
62
+ captureStackTrace(targetObject: object, constructorOpt?: Function): void;
63
+ prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
64
+ stackTraceLimit: number;
65
+ };
16
66
  /**
17
67
  * Internal system errors.
18
68
  * E.g., unexpected/unrecoverable runtime error.
19
69
  */
20
- export declare class SystemError extends BaseError {
70
+ export declare class SystemError extends SystemError_base {
21
71
  }
72
+ declare const DatabaseError_base: {
73
+ new (options?: import("@dxos/errors").BaseErrorOptions): {
74
+ name: "DatabaseError";
75
+ context: Record<string, unknown>;
76
+ readonly message: string;
77
+ readonly _tag: "DatabaseError";
78
+ stack?: string;
79
+ cause?: unknown;
80
+ };
81
+ name: "DatabaseError";
82
+ is(error: unknown): error is BaseError;
83
+ wrap(options?: Omit<import("@dxos/errors").BaseErrorOptions, "cause"> & {
84
+ ifTypeDiffers?: boolean;
85
+ }): (error: unknown) => {
86
+ name: "DatabaseError";
87
+ context: Record<string, unknown>;
88
+ readonly message: string;
89
+ readonly _tag: "DatabaseError";
90
+ stack?: string;
91
+ cause?: unknown;
92
+ };
93
+ extend<Name extends string = string>(name: Name, message?: string): any;
94
+ isError(error: unknown): error is Error;
95
+ captureStackTrace(targetObject: object, constructorOpt?: Function): void;
96
+ prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
97
+ stackTraceLimit: number;
98
+ };
22
99
  /**
23
100
  * Database errors.
24
101
  */
25
- export declare class DatabaseError extends BaseError {
102
+ export declare class DatabaseError extends DatabaseError_base {
26
103
  }
104
+ export {};
27
105
  //# sourceMappingURL=base-errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-errors.d.ts","sourceRoot":"","sources":["../../../src/errors/base-errors.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAEhC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAErB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;gBAF7B,IAAI,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,MAAM,EACP,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YAAA;CAQzC;AAKD;;;GAGG;AACH,qBAAa,QAAS,SAAQ,SAAS;CAAG;AAE1C;;;GAGG;AACH,qBAAa,WAAY,SAAQ,SAAS;CAAG;AAE7C;;GAEG;AAEH,qBAAa,aAAc,SAAQ,SAAS;CAAG"}
1
+ {"version":3,"file":"base-errors.d.ts","sourceRoot":"","sources":["../../../src/errors/base-errors.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;;;;;;;;;;;;;qBAkB6c,CAAC;;;;;;;;;;;;;;;AAhBvf;;;GAGG;AACH,qBAAa,QAAS,SAAQ,aAA4B;CAAG;;;;;;;;;;;;;qBAYyb,CAAC;;;;;;;;;;;;;;;AAVvf;;;GAGG;AACH,qBAAa,WAAY,SAAQ,gBAA+B;CAAG;;;;;;;;;;;;;qBAMmb,CAAC;;;;;;;;;;;;;;;AAJvf;;GAEG;AACH,qBAAa,aAAc,SAAQ,kBAAiC;CAAG"}
@@ -1,42 +1,26 @@
1
1
  //
2
2
  // Copyright 2021 DXOS.org
3
3
  //
4
- // TODO(dmaretskyi): Reconcile with @dxos/errors
5
4
  /**
6
5
  * NOTE: Messages should be sentences (Start with a capital letter and end with a period).
7
6
  * Errors can optionally include a JSON context object.
8
7
  */
9
- export class BaseError extends Error {
10
- code;
11
- context;
12
- constructor(code, message, context) {
13
- // TODO(dmaretskyi): Error.cause.
14
- super(message ?? code);
15
- this.code = code;
16
- this.context = context;
17
- this.name = code;
18
- // NOTE: Restores prototype chain (https://stackoverflow.com/a/48342359).
19
- Object.setPrototypeOf(this, new.target.prototype);
20
- }
21
- }
22
- // TODO(dmaretskyi): Consider common error classes with error codes:
23
- // throw new SystemError(ERROR_CODE_OUT_OF_MEMORY, 'Out of memory', { a: 1, b: 2 });
8
+ import { BaseError } from '@dxos/errors';
24
9
  /**
25
10
  * User facing API Errors.
26
11
  * E.g., something was misconfigured.
27
12
  */
28
- export class ApiError extends BaseError {
13
+ export class ApiError extends BaseError.extend('ApiError') {
29
14
  }
30
15
  /**
31
16
  * Internal system errors.
32
17
  * E.g., unexpected/unrecoverable runtime error.
33
18
  */
34
- export class SystemError extends BaseError {
19
+ export class SystemError extends BaseError.extend('SystemError') {
35
20
  }
36
21
  /**
37
22
  * Database errors.
38
23
  */
39
- // TODO(wittjosiah): Same as ApiError?
40
- export class DatabaseError extends BaseError {
24
+ export class DatabaseError extends BaseError.extend('DatabaseError') {
41
25
  }
42
26
  //# sourceMappingURL=base-errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-errors.js","sourceRoot":"","sources":["../../../src/errors/base-errors.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,gDAAgD;AAEhD;;;GAGG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAEvB;IAEA;IAHX,YACW,IAAY,EACrB,OAAgB,EACP,OAA6B;QAEtC,iCAAiC;QACjC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QALd,SAAI,GAAJ,IAAI,CAAQ;QAEZ,YAAO,GAAP,OAAO,CAAsB;QAItC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,yEAAyE;QACzE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAED,oEAAoE;AACpE,oFAAoF;AAEpF;;;GAGG;AACH,MAAM,OAAO,QAAS,SAAQ,SAAS;CAAG;AAE1C;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,SAAS;CAAG;AAE7C;;GAEG;AACH,sCAAsC;AACtC,MAAM,OAAO,aAAc,SAAQ,SAAS;CAAG"}
1
+ {"version":3,"file":"base-errors.js","sourceRoot":"","sources":["../../../src/errors/base-errors.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;;GAGG;AACH,MAAM,OAAO,QAAS,SAAQ,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;CAAG;AAE7D;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC;CAAG;AAEnE;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC;CAAG"}
@@ -1,7 +1,7 @@
1
- import { type Error as SerializedErrorProto } from '../proto/gen/dxos/error.js';
1
+ import { type Error as SerializedErrorProto } from '../proto/gen/dxos/error.ts';
2
2
  export declare const encodeError: (err: any) => SerializedErrorProto;
3
3
  export type DecodeOptions = {
4
4
  appendStack?: string;
5
5
  };
6
- export declare const decodeError: (err: SerializedErrorProto, { appendStack }?: DecodeOptions) => Error;
6
+ export declare const decodeError: (err: SerializedErrorProto, { appendStack }?: DecodeOptions) => Error | import("@dxos/errors").BaseError<string>;
7
7
  //# sourceMappingURL=encoding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../../src/errors/encoding.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,IAAI,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAIhF,eAAO,MAAM,WAAW,GAAI,KAAK,GAAG,KAAG,oBAiBtC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,KAAK,oBAAoB,EAAE,kBAAiB,aAAkB,UASzF,CAAC"}
1
+ {"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../../src/errors/encoding.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,IAAI,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAIhF,eAAO,MAAM,WAAW,GAAI,KAAK,GAAG,KAAG,oBAiBtC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,KAAK,oBAAoB,EAAE,kBAAiB,aAAkB,qDASzF,CAAC"}
@@ -1,7 +1,7 @@
1
1
  //
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
- import { reconstructError } from './helpers.js';
4
+ import { reconstructError } from "./helpers.js";
5
5
  export const encodeError = (err) => {
6
6
  if (typeof err === 'object' && err?.message) {
7
7
  return {