@tangle-network/sandbox 0.1.2 → 0.2.1

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.
@@ -1,2 +1,2 @@
1
- import { _ as CollaborationTransportConfig, a as CollaborationClient, c as CollaborationClientConfig, d as CollaborationDocumentRef, f as CollaborationFileBridgeOptions, g as CollaborationTokenRefreshResponse, h as CollaborationTokenRefreshRequest, i as parseCollaborationDocumentId, l as CollaborationDocumentAdapter, m as CollaborationPermissions, n as buildCollaborationDocumentId, o as CollaborationBootstrapRequest, p as CollaborationFileEvent, r as normalizeCollaborationPath, s as CollaborationBootstrapResponse, t as CollaborationFileBridge, u as CollaborationDocumentChange, v as SaveCollaborationSnapshotRequest, y as SaveCollaborationSnapshotResponse } from "../index-BuS8nl3b.js";
1
+ import { _ as CollaborationTransportConfig, a as CollaborationClient, c as CollaborationClientConfig, d as CollaborationDocumentRef, f as CollaborationFileBridgeOptions, g as CollaborationTokenRefreshResponse, h as CollaborationTokenRefreshRequest, i as parseCollaborationDocumentId, l as CollaborationDocumentAdapter, m as CollaborationPermissions, n as buildCollaborationDocumentId, o as CollaborationBootstrapRequest, p as CollaborationFileEvent, r as normalizeCollaborationPath, s as CollaborationBootstrapResponse, t as CollaborationFileBridge, u as CollaborationDocumentChange, v as SaveCollaborationSnapshotRequest, y as SaveCollaborationSnapshotResponse } from "../index-CCsA3S0D.js";
2
2
  export { CollaborationBootstrapRequest, CollaborationBootstrapResponse, CollaborationClient, CollaborationClientConfig, CollaborationDocumentAdapter, CollaborationDocumentChange, CollaborationDocumentRef, CollaborationFileBridge, CollaborationFileBridgeOptions, CollaborationFileEvent, CollaborationPermissions, CollaborationTokenRefreshRequest, CollaborationTokenRefreshResponse, CollaborationTransportConfig, SaveCollaborationSnapshotRequest, SaveCollaborationSnapshotResponse, buildCollaborationDocumentId, normalizeCollaborationPath, parseCollaborationDocumentId };
@@ -1 +1,2 @@
1
- (function(_0x4c73e9,_0x50dc77){var _0x1a6b4c=a0_0xefbe,_0x235316=_0x4c73e9();while(!![]){try{var _0xd9bf9b=-parseInt(_0x1a6b4c(0x7d))/0x1*(-parseInt(_0x1a6b4c(0x7e))/0x2)+-parseInt(_0x1a6b4c(0x82))/0x3*(parseInt(_0x1a6b4c(0x85))/0x4)+-parseInt(_0x1a6b4c(0x86))/0x5+parseInt(_0x1a6b4c(0x84))/0x6+-parseInt(_0x1a6b4c(0x7f))/0x7*(-parseInt(_0x1a6b4c(0x83))/0x8)+-parseInt(_0x1a6b4c(0x80))/0x9*(parseInt(_0x1a6b4c(0x87))/0xa)+parseInt(_0x1a6b4c(0x81))/0xb;if(_0xd9bf9b===_0x50dc77)break;else _0x235316['push'](_0x235316['shift']());}catch(_0x30f80c){_0x235316['push'](_0x235316['shift']());}}}(a0_0x1479,0xa7770));import{a as a0_0x376b51,i as a0_0x400ab8,n as a0_0x811aab,r as a0_0x408f3d,t as a0_0x4284a6}from'\x2e\x2e\x2f\x63\x6f\x6c\x6c\x61\x62\x6f\x72\x61\x74\x69\x6f\x6e\x2d\x43\x56\x76\x68\x50\x55\x38\x4d\x2e\x6a\x73';function a0_0x1479(){var _0x6daaf3=['\x6d\x74\x4b\x30\x72\x4c\x62\x6c\x43\x67\x6a\x6f','\x6e\x31\x50\x65\x72\x4b\x66\x58\x71\x57','\x6f\x77\x58\x41\x42\x4e\x48\x7a\x74\x57','\x6d\x4a\x43\x59\x6e\x5a\x47\x57\x6d\x4b\x7a\x52\x44\x67\x31\x4c\x75\x47','\x6d\x4a\x79\x33\x79\x75\x76\x4f\x72\x78\x66\x79','\x6e\x4a\x75\x35\x6d\x4a\x4b\x34\x6e\x65\x7a\x4a\x42\x30\x72\x67\x72\x57','\x6e\x74\x65\x59\x6e\x74\x6d\x30\x6e\x68\x44\x7a\x42\x32\x39\x30\x74\x71','\x6d\x74\x65\x57\x6e\x4a\x48\x36\x72\x4d\x31\x6b\x75\x32\x57','\x6d\x5a\x47\x5a\x6e\x4a\x69\x59\x6d\x66\x50\x48\x43\x32\x48\x48\x79\x57','\x6e\x74\x65\x33\x6f\x74\x47\x5a\x6d\x66\x66\x4e\x41\x30\x6a\x58\x77\x47','\x6d\x5a\x61\x57\x6d\x75\x66\x59\x76\x68\x66\x71\x76\x47'];a0_0x1479=function(){return _0x6daaf3;};return a0_0x1479();}function a0_0xefbe(_0x451671,_0xceb1dd){_0x451671=_0x451671-0x7d;var _0x147975=a0_0x1479();var _0xefbe2d=_0x147975[_0x451671];if(a0_0xefbe['\x75\x74\x6f\x65\x54\x68']===undefined){var _0x106b8e=function(_0x172c9c){var _0x2a2c7f='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';var _0x376b51='',_0x400ab8='';for(var _0x811aab=0x0,_0x408f3d,_0x4284a6,_0x3e175f=0x0;_0x4284a6=_0x172c9c['\x63\x68\x61\x72\x41\x74'](_0x3e175f++);~_0x4284a6&&(_0x408f3d=_0x811aab%0x4?_0x408f3d*0x40+_0x4284a6:_0x4284a6,_0x811aab++%0x4)?_0x376b51+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0xff&_0x408f3d>>(-0x2*_0x811aab&0x6)):0x0){_0x4284a6=_0x2a2c7f['\x69\x6e\x64\x65\x78\x4f\x66'](_0x4284a6);}for(var _0x39ce33=0x0,_0x272134=_0x376b51['\x6c\x65\x6e\x67\x74\x68'];_0x39ce33<_0x272134;_0x39ce33++){_0x400ab8+='\x25'+('\x30\x30'+_0x376b51['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x39ce33)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x10))['\x73\x6c\x69\x63\x65'](-0x2);}return decodeURIComponent(_0x400ab8);};a0_0xefbe['\x4f\x78\x79\x6d\x67\x66']=_0x106b8e,a0_0xefbe['\x56\x6b\x68\x79\x58\x4a']={},a0_0xefbe['\x75\x74\x6f\x65\x54\x68']=!![];}var _0x460f8f=_0x147975[0x0],_0x120442=_0x451671+_0x460f8f,_0x2eedca=a0_0xefbe['\x56\x6b\x68\x79\x58\x4a'][_0x120442];return!_0x2eedca?(_0xefbe2d=a0_0xefbe['\x4f\x78\x79\x6d\x67\x66'](_0xefbe2d),a0_0xefbe['\x56\x6b\x68\x79\x58\x4a'][_0x120442]=_0xefbe2d):_0xefbe2d=_0x2eedca,_0xefbe2d;}export{a0_0x376b51 as CollaborationClient,a0_0x4284a6 as CollaborationFileBridge,a0_0x811aab as buildCollaborationDocumentId,a0_0x408f3d as normalizeCollaborationPath,a0_0x400ab8 as parseCollaborationDocumentId};
1
+ import { a as CollaborationClient, i as parseCollaborationDocumentId, n as buildCollaborationDocumentId, r as normalizeCollaborationPath, t as CollaborationFileBridge } from "../collaboration-CRyb5e8F.js";
2
+ export { CollaborationClient, CollaborationFileBridge, buildCollaborationDocumentId, normalizeCollaborationPath, parseCollaborationDocumentId };
@@ -0,0 +1,201 @@
1
+ import { f as parseErrorResponse, r as NetworkError, u as TimeoutError } from "./errors-CljiGR__.js";
2
+ //#region src/collaboration/client.ts
3
+ const DEFAULT_TIMEOUT_MS = 3e4;
4
+ function normalizeBaseUrl(url) {
5
+ return url.replace(/\/+$/, "");
6
+ }
7
+ var CollaborationClient = class {
8
+ baseUrl;
9
+ timeoutMs;
10
+ fetchImpl;
11
+ headers;
12
+ constructor(config) {
13
+ this.baseUrl = normalizeBaseUrl(config.baseUrl);
14
+ this.timeoutMs = config.timeoutMs ?? DEFAULT_TIMEOUT_MS;
15
+ this.fetchImpl = config.fetch ?? globalThis.fetch.bind(globalThis);
16
+ this.headers = config.headers;
17
+ }
18
+ async bootstrap(request) {
19
+ return this.requestJson("/api/collaboration/bootstrap", {
20
+ method: "POST",
21
+ body: JSON.stringify(request)
22
+ });
23
+ }
24
+ async refreshToken(request) {
25
+ return this.requestJson("/api/collaboration/token", {
26
+ method: "POST",
27
+ body: JSON.stringify(request)
28
+ });
29
+ }
30
+ async saveSnapshot(request) {
31
+ return this.requestJson("/api/collaboration/snapshot", {
32
+ method: "POST",
33
+ body: JSON.stringify(request)
34
+ });
35
+ }
36
+ async requestJson(path, init) {
37
+ const controller = new AbortController();
38
+ const timeoutId = setTimeout(() => controller.abort(), this.timeoutMs);
39
+ try {
40
+ const headers = new Headers(await this.resolveHeaders());
41
+ if (!headers.has("Content-Type")) headers.set("Content-Type", "application/json");
42
+ const response = await this.fetchImpl(`${this.baseUrl}${path}`, {
43
+ ...init,
44
+ headers,
45
+ signal: init.signal ?? controller.signal
46
+ });
47
+ if (!response.ok) {
48
+ const body = await response.text();
49
+ throw parseErrorResponse(response.status, body, {
50
+ method: init.method,
51
+ path
52
+ }, response.headers);
53
+ }
54
+ return response.json();
55
+ } catch (error) {
56
+ if (error instanceof Error && error.name === "AbortError") throw new TimeoutError(this.timeoutMs);
57
+ if (error instanceof Error && "code" in error) throw error;
58
+ throw new NetworkError(`Failed to connect to collaboration API: ${error instanceof Error ? error.message : String(error)}`, error instanceof Error ? error : void 0);
59
+ } finally {
60
+ clearTimeout(timeoutId);
61
+ }
62
+ }
63
+ async resolveHeaders() {
64
+ if (typeof this.headers === "function") return this.headers();
65
+ return this.headers;
66
+ }
67
+ };
68
+ //#endregion
69
+ //#region src/collaboration/document-id.ts
70
+ const DOCUMENT_PREFIX = "workspace:";
71
+ const FILE_SEGMENT = ":file:";
72
+ function assertValidWorkspaceId(workspaceId) {
73
+ if (!workspaceId) throw new Error("workspaceId is required");
74
+ if (workspaceId.includes("/") || workspaceId.includes("\\") || workspaceId.includes("\0")) throw new Error("workspaceId must not contain path separators or null bytes");
75
+ }
76
+ function normalizeCollaborationPath(path) {
77
+ if (!path) throw new Error("relativePath is required");
78
+ const normalized = path.replace(/\\/g, "/").split("/").filter((segment) => segment.length > 0 && segment !== ".");
79
+ if (normalized.length === 0) throw new Error("relativePath must not be empty");
80
+ for (const segment of normalized) {
81
+ if (segment === "..") throw new Error("relativePath must not contain \"..\"");
82
+ if (segment.includes("\0")) throw new Error("relativePath must not contain null bytes");
83
+ }
84
+ return normalized.join("/");
85
+ }
86
+ function buildCollaborationDocumentId(ref) {
87
+ assertValidWorkspaceId(ref.workspaceId);
88
+ const relativePath = normalizeCollaborationPath(ref.relativePath);
89
+ return `${DOCUMENT_PREFIX}${ref.workspaceId}${FILE_SEGMENT}${relativePath}`;
90
+ }
91
+ function parseCollaborationDocumentId(documentId) {
92
+ if (!documentId.startsWith(DOCUMENT_PREFIX)) return null;
93
+ const separatorIndex = documentId.indexOf(FILE_SEGMENT, 10);
94
+ if (separatorIndex === -1) return null;
95
+ const workspaceId = documentId.slice(10, separatorIndex);
96
+ const relativePath = documentId.slice(separatorIndex + 6);
97
+ try {
98
+ assertValidWorkspaceId(workspaceId);
99
+ return {
100
+ workspaceId,
101
+ relativePath: normalizeCollaborationPath(relativePath)
102
+ };
103
+ } catch {
104
+ return null;
105
+ }
106
+ }
107
+ //#endregion
108
+ //#region src/collaboration/file-bridge.ts
109
+ const DEFAULT_DEBOUNCE_MS = 500;
110
+ const FILE_ORIGIN = "bridge:file";
111
+ /**
112
+ * Headless bridge between a collaborative document adapter and the sandbox
113
+ * filesystem. Keeps this package free of direct Yjs assumptions.
114
+ */
115
+ var CollaborationFileBridge = class {
116
+ debounceMs;
117
+ options;
118
+ adapter = null;
119
+ unsubscribeDocument = null;
120
+ unsubscribeFileEvents = null;
121
+ pendingWriteTimer = null;
122
+ destroyed = false;
123
+ boundPath;
124
+ lastWrittenContent = null;
125
+ constructor(options) {
126
+ this.options = options;
127
+ this.boundPath = options.relativePath;
128
+ this.debounceMs = options.debounceMs ?? DEFAULT_DEBOUNCE_MS;
129
+ }
130
+ bind(adapter) {
131
+ this.destroy();
132
+ this.destroyed = false;
133
+ this.adapter = adapter;
134
+ this.boundPath = this.options.relativePath;
135
+ this.unsubscribeDocument = adapter.subscribe((change) => {
136
+ if (change.origin === FILE_ORIGIN) return;
137
+ if (this.lastWrittenContent !== null && change.content === this.lastWrittenContent) return;
138
+ this.scheduleWrite(change.content);
139
+ });
140
+ this.unsubscribeFileEvents = this.options.subscribeToFileEvents(this.boundPath, (event) => {
141
+ this.handleFileEvent(event);
142
+ });
143
+ }
144
+ async flush() {
145
+ if (!this.adapter) return;
146
+ if (this.pendingWriteTimer) {
147
+ clearTimeout(this.pendingWriteTimer);
148
+ this.pendingWriteTimer = null;
149
+ }
150
+ const content = this.adapter.getContent();
151
+ await this.write(content);
152
+ }
153
+ getPath() {
154
+ return this.boundPath;
155
+ }
156
+ destroy() {
157
+ this.destroyed = true;
158
+ if (this.pendingWriteTimer) {
159
+ clearTimeout(this.pendingWriteTimer);
160
+ this.pendingWriteTimer = null;
161
+ }
162
+ this.unsubscribeDocument?.();
163
+ this.unsubscribeDocument = null;
164
+ this.unsubscribeFileEvents?.();
165
+ this.unsubscribeFileEvents = null;
166
+ this.adapter = null;
167
+ }
168
+ scheduleWrite(content) {
169
+ if (this.pendingWriteTimer) clearTimeout(this.pendingWriteTimer);
170
+ this.pendingWriteTimer = setTimeout(() => {
171
+ this.pendingWriteTimer = null;
172
+ this.write(content);
173
+ }, this.debounceMs);
174
+ }
175
+ async write(content) {
176
+ if (this.destroyed) return;
177
+ this.lastWrittenContent = content;
178
+ await this.options.writeFile(this.boundPath, content);
179
+ }
180
+ handleFileEvent(event) {
181
+ if (!this.adapter || this.destroyed) return;
182
+ if (event.type === "renamed" && event.nextPath) {
183
+ this.boundPath = event.nextPath;
184
+ this.options.onFileRenamed?.(event);
185
+ return;
186
+ }
187
+ if (event.type === "deleted") {
188
+ this.options.onFileDeleted?.(event);
189
+ return;
190
+ }
191
+ if (event.type !== "updated" || typeof event.content !== "string") return;
192
+ if (event.content === this.adapter.getContent()) return;
193
+ if (this.lastWrittenContent !== null && event.content === this.lastWrittenContent) return;
194
+ this.adapter.replaceContent(event.content, {
195
+ origin: FILE_ORIGIN,
196
+ version: event.version
197
+ });
198
+ }
199
+ };
200
+ //#endregion
201
+ export { CollaborationClient as a, parseCollaborationDocumentId as i, buildCollaborationDocumentId as n, normalizeCollaborationPath as r, CollaborationFileBridge as t };
package/dist/core.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { A as ExecResult, Q as PreviewLinkManager, Z as PreviewLinkInfo, b as CreateSandboxOptions, k as ExecOptions, mt as SandboxClientConfig, n as SandboxInstance, q as NetworkConfig, vt as SandboxInfo, xt as SandboxStatus } from "./sandbox-BvZ0-Iv7.js";
2
- import { a as SandboxError, c as TimeoutError, f as SandboxClient, i as QuotaError, l as ValidationError, n as NetworkError, o as ServerError, r as NotFoundError, s as StateError, t as AuthError } from "./errors-AIT8qikt.js";
3
- export { AuthError, type CreateSandboxOptions, type ExecOptions, type ExecResult, type NetworkConfig, NetworkError, NotFoundError, type PreviewLinkInfo, type PreviewLinkManager, QuotaError, SandboxClient as Sandbox, SandboxClient, type SandboxClientConfig, SandboxError, type SandboxInfo, SandboxInstance, type SandboxStatus, ServerError, StateError, TimeoutError, ValidationError };
1
+ import { _ as SandboxClient, a as PartialFailureError, c as SandboxErrorJson, d as StateError, f as TimeoutError, i as NotFoundError, l as SandboxFailureDetail, n as CapabilityError, o as QuotaError, p as ValidationError, r as NetworkError, s as SandboxError, t as AuthError, u as ServerError } from "./errors-BI75IXOM.js";
2
+ import { At as PreviewLinkManager, G as ExecOptions, K as ExecResult, Ln as SandboxStatus, Nn as SandboxInfo, P as CreateSandboxOptions, Tt as NetworkConfig, kt as PreviewLinkInfo, n as SandboxInstance, nn as SandboxClientConfig } from "./sandbox-aBpWqler.js";
3
+ export { AuthError, CapabilityError, type CreateSandboxOptions, type ExecOptions, type ExecResult, type NetworkConfig, NetworkError, NotFoundError, PartialFailureError, type PreviewLinkInfo, type PreviewLinkManager, QuotaError, SandboxClient as Sandbox, SandboxClient, type SandboxClientConfig, SandboxError, type SandboxErrorJson, type SandboxFailureDetail, type SandboxInfo, SandboxInstance, type SandboxStatus, ServerError, StateError, TimeoutError, ValidationError };
package/dist/core.js CHANGED
@@ -1 +1,4 @@
1
- (function(_0x2e4c30,_0x48ee37){var _0x4e5715=a0_0xea46,_0x285c6d=_0x2e4c30();while(!![]){try{var _0x6f7992=parseInt(_0x4e5715(0x1fe))/0x1*(parseInt(_0x4e5715(0x1fd))/0x2)+parseInt(_0x4e5715(0x1f2))/0x3*(-parseInt(_0x4e5715(0x1fa))/0x4)+-parseInt(_0x4e5715(0x1f7))/0x5+parseInt(_0x4e5715(0x1f5))/0x6*(-parseInt(_0x4e5715(0x1f9))/0x7)+parseInt(_0x4e5715(0x1f8))/0x8*(-parseInt(_0x4e5715(0x1f3))/0x9)+-parseInt(_0x4e5715(0x1f4))/0xa*(-parseInt(_0x4e5715(0x1fb))/0xb)+-parseInt(_0x4e5715(0x1fc))/0xc*(-parseInt(_0x4e5715(0x1f6))/0xd);if(_0x6f7992===_0x48ee37)break;else _0x285c6d['push'](_0x285c6d['shift']());}catch(_0x3d3e15){_0x285c6d['push'](_0x285c6d['shift']());}}}(a0_0x2aa2,0x3cbcb));import{a as a0_0x2331bf,c as a0_0x5296be,i as a0_0x2e2239,l as a0_0x3d5139,n as a0_0x38bd57,o as a0_0x4d90a0,r as a0_0x2cf5ac,s as a0_0x6f10c1,t as a0_0x1f299d}from'\x2e\x2f\x65\x72\x72\x6f\x72\x73\x2d\x43\x64\x4d\x54\x76\x37\x75\x47\x2e\x6a\x73';import{t as a0_0x1e8585}from'\x2e\x2f\x73\x61\x6e\x64\x62\x6f\x78\x2d\x44\x31\x4a\x6e\x51\x49\x4a\x78\x2e\x6a\x73';import{t as a0_0x1f07ae}from'\x2e\x2f\x63\x6c\x69\x65\x6e\x74\x2d\x43\x63\x52\x76\x71\x74\x38\x35\x2e\x6a\x73';function a0_0x2aa2(){var _0x526590=['\x6d\x74\x47\x35\x6e\x4b\x31\x6a\x76\x32\x48\x56\x73\x61','\x6f\x65\x76\x48\x45\x4d\x39\x6c\x73\x71','\x6d\x4a\x75\x31\x6e\x64\x62\x4a\x7a\x4e\x48\x72\x44\x32\x6d','\x6d\x74\x4b\x59\x6e\x64\x6a\x54\x72\x33\x66\x4d\x72\x66\x4f','\x6d\x4a\x47\x33\x6d\x64\x43\x32\x6e\x4d\x58\x6c\x43\x32\x72\x6b\x73\x57','\x6f\x74\x75\x30\x6d\x66\x7a\x4d\x77\x68\x6a\x57\x74\x61','\x6e\x64\x6a\x6f\x74\x32\x58\x67\x76\x4d\x75','\x6e\x5a\x65\x57\x6f\x64\x72\x4c\x7a\x77\x76\x64\x77\x4b\x65','\x6d\x74\x43\x30\x6d\x74\x61\x34\x6d\x65\x39\x6f\x41\x77\x39\x72\x43\x47','\x6f\x65\x66\x59\x71\x4c\x44\x71\x76\x71','\x6d\x5a\x69\x30\x6e\x74\x4c\x6a\x45\x68\x44\x34\x44\x32\x79','\x6d\x74\x61\x34\x71\x4b\x76\x70\x7a\x78\x48\x63','\x6d\x74\x43\x35\x6d\x30\x4c\x57\x73\x4d\x4c\x30\x43\x71'];a0_0x2aa2=function(){return _0x526590;};return a0_0x2aa2();}function a0_0xea46(_0x1c9b4c,_0x47130d){_0x1c9b4c=_0x1c9b4c-0x1f2;var _0x2aa227=a0_0x2aa2();var _0xea46b0=_0x2aa227[_0x1c9b4c];if(a0_0xea46['\x47\x53\x6d\x4d\x78\x68']===undefined){var _0x3a9951=function(_0x4b06e5){var _0x377251='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';var _0x2331bf='',_0x5296be='';for(var _0x2e2239=0x0,_0x3d5139,_0x38bd57,_0x4d90a0=0x0;_0x38bd57=_0x4b06e5['\x63\x68\x61\x72\x41\x74'](_0x4d90a0++);~_0x38bd57&&(_0x3d5139=_0x2e2239%0x4?_0x3d5139*0x40+_0x38bd57:_0x38bd57,_0x2e2239++%0x4)?_0x2331bf+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0xff&_0x3d5139>>(-0x2*_0x2e2239&0x6)):0x0){_0x38bd57=_0x377251['\x69\x6e\x64\x65\x78\x4f\x66'](_0x38bd57);}for(var _0x2cf5ac=0x0,_0x6f10c1=_0x2331bf['\x6c\x65\x6e\x67\x74\x68'];_0x2cf5ac<_0x6f10c1;_0x2cf5ac++){_0x5296be+='\x25'+('\x30\x30'+_0x2331bf['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x2cf5ac)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x10))['\x73\x6c\x69\x63\x65'](-0x2);}return decodeURIComponent(_0x5296be);};a0_0xea46['\x79\x6c\x67\x52\x47\x77']=_0x3a9951,a0_0xea46['\x4b\x4e\x71\x56\x53\x57']={},a0_0xea46['\x47\x53\x6d\x4d\x78\x68']=!![];}var _0x12a8ee=_0x2aa227[0x0],_0x5ab1f2=_0x1c9b4c+_0x12a8ee,_0x465a84=a0_0xea46['\x4b\x4e\x71\x56\x53\x57'][_0x5ab1f2];return!_0x465a84?(_0xea46b0=a0_0xea46['\x79\x6c\x67\x52\x47\x77'](_0xea46b0),a0_0xea46['\x4b\x4e\x71\x56\x53\x57'][_0x5ab1f2]=_0xea46b0):_0xea46b0=_0x465a84,_0xea46b0;}export{a0_0x1f299d as AuthError,a0_0x38bd57 as NetworkError,a0_0x2cf5ac as NotFoundError,a0_0x2e2239 as QuotaError,a0_0x1f07ae as Sandbox,a0_0x1f07ae as SandboxClient,a0_0x2331bf as SandboxError,a0_0x1e8585 as SandboxInstance,a0_0x4d90a0 as ServerError,a0_0x6f10c1 as StateError,a0_0x5296be as TimeoutError,a0_0x3d5139 as ValidationError};
1
+ import { a as PartialFailureError, c as ServerError, d as ValidationError, i as NotFoundError, l as StateError, n as CapabilityError, o as QuotaError, r as NetworkError, s as SandboxError, t as AuthError, u as TimeoutError } from "./errors-CljiGR__.js";
2
+ import { t as SandboxInstance } from "./sandbox-ksXTNlo-.js";
3
+ import { n as SandboxClient } from "./client-Uve6A5C6.js";
4
+ export { AuthError, CapabilityError, NetworkError, NotFoundError, PartialFailureError, QuotaError, SandboxClient as Sandbox, SandboxClient, SandboxError, SandboxInstance, ServerError, StateError, TimeoutError, ValidationError };