@phpsandbox/sdk 0.0.33 → 0.0.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/phpsandbox-sdk.esm.js +97 -3
- package/dist/browser/phpsandbox-sdk.esm.js.map +3 -3
- package/dist/browser/phpsandbox-sdk.esm.min.js +2 -2
- package/dist/browser/phpsandbox-sdk.esm.min.js.map +4 -4
- package/dist/browser/phpsandbox-sdk.iife.js +97 -3
- package/dist/browser/phpsandbox-sdk.iife.js.map +3 -3
- package/dist/browser/phpsandbox-sdk.iife.min.js +2 -2
- package/dist/browser/phpsandbox-sdk.iife.min.js.map +4 -4
- package/dist/index.d.ts +0 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/socket/index.d.ts +2 -2
- package/dist/socket/index.d.ts.map +1 -1
- package/dist/socket/index.js +11 -6
- package/dist/socket/index.js.map +1 -1
- package/dist/utils/websocket.d.ts +2 -0
- package/dist/utils/websocket.d.ts.map +1 -0
- package/dist/utils/websocket.js +87 -0
- package/dist/utils/websocket.js.map +1 -0
- package/package.json +1 -1
|
@@ -3102,6 +3102,89 @@ var ReconnectingWebSocket = (
|
|
|
3102
3102
|
);
|
|
3103
3103
|
var reconnecting_websocket_mjs_default = ReconnectingWebSocket;
|
|
3104
3104
|
|
|
3105
|
+
// src/utils/websocket.ts
|
|
3106
|
+
var getReadyStateLabel = (state) => {
|
|
3107
|
+
if (typeof state !== "number") {
|
|
3108
|
+
return void 0;
|
|
3109
|
+
}
|
|
3110
|
+
return {
|
|
3111
|
+
0: "CONNECTING",
|
|
3112
|
+
1: "OPEN",
|
|
3113
|
+
2: "CLOSING",
|
|
3114
|
+
3: "CLOSED"
|
|
3115
|
+
}[state] ?? `STATE_${state}`;
|
|
3116
|
+
};
|
|
3117
|
+
var sanitizeWebSocketUrl = (value) => {
|
|
3118
|
+
try {
|
|
3119
|
+
const url = new URL(value);
|
|
3120
|
+
return `${url.origin}${url.pathname}`;
|
|
3121
|
+
} catch {
|
|
3122
|
+
return value;
|
|
3123
|
+
}
|
|
3124
|
+
};
|
|
3125
|
+
var extractNestedErrorMessage = (value) => {
|
|
3126
|
+
if (value instanceof Error) {
|
|
3127
|
+
return value.message ? `${value.name}: ${value.message}` : value.name;
|
|
3128
|
+
}
|
|
3129
|
+
if (typeof value === "string") {
|
|
3130
|
+
return value;
|
|
3131
|
+
}
|
|
3132
|
+
if (!value || typeof value !== "object") {
|
|
3133
|
+
return void 0;
|
|
3134
|
+
}
|
|
3135
|
+
const record = value;
|
|
3136
|
+
const message = typeof record.message === "string" && record.message ? record.message : typeof record.reason === "string" && record.reason ? record.reason : void 0;
|
|
3137
|
+
if (!message) {
|
|
3138
|
+
return void 0;
|
|
3139
|
+
}
|
|
3140
|
+
const name = typeof record.name === "string" && record.name ? record.name : void 0;
|
|
3141
|
+
return name ? `${name}: ${message}` : message;
|
|
3142
|
+
};
|
|
3143
|
+
var describeWebSocketEvent = (event) => {
|
|
3144
|
+
if (event instanceof Error) {
|
|
3145
|
+
return event.message ? `${event.name}: ${event.message}` : event.name;
|
|
3146
|
+
}
|
|
3147
|
+
if (typeof event === "string") {
|
|
3148
|
+
return event;
|
|
3149
|
+
}
|
|
3150
|
+
if (!event || typeof event !== "object") {
|
|
3151
|
+
return String(event);
|
|
3152
|
+
}
|
|
3153
|
+
const record = event;
|
|
3154
|
+
const parts = [];
|
|
3155
|
+
const topLevelMessage = extractNestedErrorMessage(record);
|
|
3156
|
+
if (topLevelMessage) {
|
|
3157
|
+
parts.push(topLevelMessage);
|
|
3158
|
+
}
|
|
3159
|
+
const nestedErrorMessage = extractNestedErrorMessage(record.error);
|
|
3160
|
+
if (nestedErrorMessage && nestedErrorMessage !== topLevelMessage) {
|
|
3161
|
+
parts.push(`error=${nestedErrorMessage}`);
|
|
3162
|
+
}
|
|
3163
|
+
if (typeof record.type === "string" && record.type) {
|
|
3164
|
+
parts.push(`type=${record.type}`);
|
|
3165
|
+
}
|
|
3166
|
+
if (typeof record.code === "number") {
|
|
3167
|
+
parts.push(`code=${record.code}`);
|
|
3168
|
+
}
|
|
3169
|
+
if (typeof record.reason === "string" && record.reason && record.reason !== topLevelMessage) {
|
|
3170
|
+
parts.push(`reason=${record.reason}`);
|
|
3171
|
+
}
|
|
3172
|
+
if (typeof record.wasClean === "boolean") {
|
|
3173
|
+
parts.push(`wasClean=${record.wasClean}`);
|
|
3174
|
+
}
|
|
3175
|
+
const target = record.target ?? record.currentTarget;
|
|
3176
|
+
if (target && typeof target === "object") {
|
|
3177
|
+
if (typeof target.url === "string" && target.url) {
|
|
3178
|
+
parts.push(`url=${sanitizeWebSocketUrl(target.url)}`);
|
|
3179
|
+
}
|
|
3180
|
+
const readyState = getReadyStateLabel(target.readyState);
|
|
3181
|
+
if (readyState) {
|
|
3182
|
+
parts.push(`readyState=${readyState}`);
|
|
3183
|
+
}
|
|
3184
|
+
}
|
|
3185
|
+
return parts.length > 0 ? parts.join(" | ") : "Unknown websocket event";
|
|
3186
|
+
};
|
|
3187
|
+
|
|
3105
3188
|
// node_modules/isomorphic-ws/browser.js
|
|
3106
3189
|
var ws = null;
|
|
3107
3190
|
if (typeof WebSocket !== "undefined") {
|
|
@@ -3139,6 +3222,13 @@ var NamedDisposable = class {
|
|
|
3139
3222
|
};
|
|
3140
3223
|
|
|
3141
3224
|
// src/socket/index.ts
|
|
3225
|
+
var ConnectionFailedError = class extends Error {
|
|
3226
|
+
constructor(message, originalError) {
|
|
3227
|
+
super(message);
|
|
3228
|
+
this.originalError = originalError;
|
|
3229
|
+
this.name = "ConnectionFailedError";
|
|
3230
|
+
}
|
|
3231
|
+
};
|
|
3142
3232
|
var InvalidMessageError = class extends Error {
|
|
3143
3233
|
constructor(message, data) {
|
|
3144
3234
|
super(message);
|
|
@@ -3505,7 +3595,8 @@ var Transport = class {
|
|
|
3505
3595
|
reject(new RateLimitError(_ev.reason || "Rate limit exceeded", _ev));
|
|
3506
3596
|
return;
|
|
3507
3597
|
}
|
|
3508
|
-
|
|
3598
|
+
const detail = describeWebSocketEvent(_ev);
|
|
3599
|
+
reject(this.terminalError || new ConnectionFailedError(`Connection lost to the notebook during request: ${detail}`, _ev));
|
|
3509
3600
|
};
|
|
3510
3601
|
this.rws.addEventListener("close", closeHandler);
|
|
3511
3602
|
this.rws.addEventListener("error", closeHandler);
|
|
@@ -3693,8 +3784,10 @@ var Transport = class {
|
|
|
3693
3784
|
});
|
|
3694
3785
|
this.rws.addEventListener("error", (event) => {
|
|
3695
3786
|
this.connectionStats.totalErrors++;
|
|
3787
|
+
const detail = describeWebSocketEvent(event);
|
|
3696
3788
|
this.log("error", "Connection error", {
|
|
3697
|
-
error:
|
|
3789
|
+
error: detail,
|
|
3790
|
+
rawError: event,
|
|
3698
3791
|
totalErrors: this.connectionStats.totalErrors
|
|
3699
3792
|
});
|
|
3700
3793
|
});
|
|
@@ -3967,7 +4060,8 @@ connect_fn = function() {
|
|
|
3967
4060
|
this.rws.removeEventListener("error", errorHandler);
|
|
3968
4061
|
clearTimeout(timeoutId);
|
|
3969
4062
|
this.connectPromise = null;
|
|
3970
|
-
|
|
4063
|
+
const detail = describeWebSocketEvent(error);
|
|
4064
|
+
reject(new ConnectionFailedError(`WebSocket connection failed: ${detail}`, error));
|
|
3971
4065
|
};
|
|
3972
4066
|
timeoutId = setTimeout(() => {
|
|
3973
4067
|
this.rws.removeEventListener("open", openHandler);
|