@parall/daemon 1.56.0 → 1.56.2
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/bundle/manifest.json +11 -11
- package/bundle/parall-browser-pod.js +139 -40
- package/bundle/parall-claude-agent.js +202 -67
- package/bundle/parall-codex-agent.js +202 -67
- package/bundle/parall-daemon.js +165 -54
- package/package.json +6 -6
package/bundle/parall-daemon.js
CHANGED
|
@@ -225,6 +225,8 @@ var init_constants = __esm({
|
|
|
225
225
|
// Users
|
|
226
226
|
USERS_ME: `${API_BASE}/users/me`,
|
|
227
227
|
USER_AVATAR: `${API_BASE}/users/me/avatar`,
|
|
228
|
+
PERSONAL_API_KEYS: `${API_BASE}/users/me/api-keys`,
|
|
229
|
+
PERSONAL_API_KEY: (keyId) => `${API_BASE}/users/me/api-keys/${keyId}`,
|
|
228
230
|
USER: (id) => `${API_BASE}/users/${id}`,
|
|
229
231
|
// WebSocket ticket
|
|
230
232
|
WS_TICKET: `${API_BASE}/ws/ticket`,
|
|
@@ -1061,14 +1063,110 @@ var init_attachment_client = __esm({
|
|
|
1061
1063
|
}
|
|
1062
1064
|
});
|
|
1063
1065
|
|
|
1064
|
-
// ts/sdk/dist/
|
|
1066
|
+
// ts/sdk/dist/wiki-upload.js
|
|
1067
|
+
function createWikiUploadFormData(params) {
|
|
1068
|
+
const form = new FormData();
|
|
1069
|
+
form.append("path", params.path);
|
|
1070
|
+
form.append("file", params.file);
|
|
1071
|
+
if (params.message)
|
|
1072
|
+
form.append("message", params.message);
|
|
1073
|
+
if (params.uploadId)
|
|
1074
|
+
form.append("upload_id", params.uploadId);
|
|
1075
|
+
if (params.conflict)
|
|
1076
|
+
form.append("conflict", params.conflict);
|
|
1077
|
+
if ("contentRoute" in params && params.contentRoute) {
|
|
1078
|
+
form.append("content_route", params.contentRoute);
|
|
1079
|
+
}
|
|
1080
|
+
return form;
|
|
1081
|
+
}
|
|
1082
|
+
function sendMultipartRequest(options) {
|
|
1083
|
+
if (options.onProgress && typeof XMLHttpRequest !== "undefined") {
|
|
1084
|
+
return multipartXHR(options, options.onProgress);
|
|
1085
|
+
}
|
|
1086
|
+
const timeoutSignal = AbortSignal.timeout(options.timeoutMs);
|
|
1087
|
+
const signal = options.signal ? AbortSignal.any([options.signal, timeoutSignal]) : timeoutSignal;
|
|
1088
|
+
return fetch(options.url, {
|
|
1089
|
+
method: options.method,
|
|
1090
|
+
headers: options.headers,
|
|
1091
|
+
body: options.body,
|
|
1092
|
+
signal
|
|
1093
|
+
});
|
|
1094
|
+
}
|
|
1095
|
+
function multipartXHR(options, onProgress) {
|
|
1096
|
+
return new Promise((resolve9, reject) => {
|
|
1097
|
+
const xhr = new XMLHttpRequest();
|
|
1098
|
+
let settled = false;
|
|
1099
|
+
const finish = (fn) => {
|
|
1100
|
+
if (settled)
|
|
1101
|
+
return;
|
|
1102
|
+
settled = true;
|
|
1103
|
+
options.signal?.removeEventListener("abort", abortFromSignal);
|
|
1104
|
+
fn();
|
|
1105
|
+
};
|
|
1106
|
+
const abortFromSignal = () => xhr.abort();
|
|
1107
|
+
xhr.open(options.method, options.url, true);
|
|
1108
|
+
xhr.timeout = options.timeoutMs;
|
|
1109
|
+
for (const [name, value] of Object.entries(options.headers)) {
|
|
1110
|
+
xhr.setRequestHeader(name, value);
|
|
1111
|
+
}
|
|
1112
|
+
xhr.upload.onprogress = (event) => {
|
|
1113
|
+
try {
|
|
1114
|
+
onProgress(event.loaded, event.lengthComputable ? event.total : 0);
|
|
1115
|
+
} catch {
|
|
1116
|
+
}
|
|
1117
|
+
};
|
|
1118
|
+
xhr.onload = () => finish(() => {
|
|
1119
|
+
const responseHeaders = new Headers();
|
|
1120
|
+
for (const line of xhr.getAllResponseHeaders().trim().split(/[\r\n]+/)) {
|
|
1121
|
+
if (!line)
|
|
1122
|
+
continue;
|
|
1123
|
+
const separator = line.indexOf(":");
|
|
1124
|
+
if (separator > 0) {
|
|
1125
|
+
responseHeaders.append(line.slice(0, separator).trim(), line.slice(separator + 1).trim());
|
|
1126
|
+
}
|
|
1127
|
+
}
|
|
1128
|
+
const responseBody = xhr.status === 204 || xhr.responseText === "" ? null : xhr.responseText;
|
|
1129
|
+
resolve9(new Response(responseBody, {
|
|
1130
|
+
status: xhr.status,
|
|
1131
|
+
statusText: xhr.statusText,
|
|
1132
|
+
headers: responseHeaders
|
|
1133
|
+
}));
|
|
1134
|
+
});
|
|
1135
|
+
xhr.onerror = () => finish(() => reject(new TypeError("Network request failed")));
|
|
1136
|
+
xhr.ontimeout = () => finish(() => reject(new DOMException("Request timed out", "TimeoutError")));
|
|
1137
|
+
xhr.onabort = () => finish(() => reject(new DOMException("Request aborted", "AbortError")));
|
|
1138
|
+
if (options.signal?.aborted) {
|
|
1139
|
+
finish(() => reject(new DOMException("Request aborted", "AbortError")));
|
|
1140
|
+
return;
|
|
1141
|
+
}
|
|
1142
|
+
options.signal?.addEventListener("abort", abortFromSignal, { once: true });
|
|
1143
|
+
xhr.send(options.body);
|
|
1144
|
+
});
|
|
1145
|
+
}
|
|
1146
|
+
var init_wiki_upload = __esm({
|
|
1147
|
+
"ts/sdk/dist/wiki-upload.js"() {
|
|
1148
|
+
"use strict";
|
|
1149
|
+
}
|
|
1150
|
+
});
|
|
1151
|
+
|
|
1152
|
+
// ts/sdk/dist/wiki-changeset.js
|
|
1065
1153
|
function normalizeWikiChangeset(changeset) {
|
|
1066
1154
|
return {
|
|
1067
1155
|
...changeset,
|
|
1156
|
+
head_branch: changeset.head_branch ?? null,
|
|
1157
|
+
base_commit: changeset.base_commit ?? null,
|
|
1158
|
+
merge_commit: changeset.merge_commit ?? null,
|
|
1068
1159
|
changed_paths: changeset.changed_paths ?? [],
|
|
1069
1160
|
file_changes: changeset.file_changes ?? []
|
|
1070
1161
|
};
|
|
1071
1162
|
}
|
|
1163
|
+
var init_wiki_changeset = __esm({
|
|
1164
|
+
"ts/sdk/dist/wiki-changeset.js"() {
|
|
1165
|
+
"use strict";
|
|
1166
|
+
}
|
|
1167
|
+
});
|
|
1168
|
+
|
|
1169
|
+
// ts/sdk/dist/client.js
|
|
1072
1170
|
function buildApiError(res, rawErrorBody) {
|
|
1073
1171
|
const errorBody = rawErrorBody !== null && typeof rawErrorBody === "object" ? rawErrorBody : {};
|
|
1074
1172
|
const errorObj = errorBody.error && typeof errorBody.error === "object" ? errorBody.error : void 0;
|
|
@@ -1106,6 +1204,8 @@ var init_client = __esm({
|
|
|
1106
1204
|
init_browser_viewer();
|
|
1107
1205
|
init_constants();
|
|
1108
1206
|
init_attachment_client();
|
|
1207
|
+
init_wiki_upload();
|
|
1208
|
+
init_wiki_changeset();
|
|
1109
1209
|
ParallClient = class _ParallClient extends AttachmentClient {
|
|
1110
1210
|
baseUrl;
|
|
1111
1211
|
wikiBaseUrl;
|
|
@@ -1310,23 +1410,27 @@ var init_client = __esm({
|
|
|
1310
1410
|
* Multipart upload variant of `request`. Same auth / refresh / error
|
|
1311
1411
|
* handling, but lets the caller hand us a prepared `FormData` (file +
|
|
1312
1412
|
* text fields) and skips the JSON content-type. Used by
|
|
1313
|
-
* uploadWikiFile / uploadWikiFileToChangeset — wiki
|
|
1413
|
+
* uploadWikiFile / uploadWikiFileToChangeset — wiki file uploads can
|
|
1314
1414
|
* hit the 100 MiB cap, so a longer 5-minute timeout is used so a
|
|
1315
1415
|
* 50 MiB blob on a slow connection doesn't get chopped at 15 s.
|
|
1316
1416
|
*/
|
|
1317
|
-
async multipartRequest(method, path23, body, retried = false) {
|
|
1417
|
+
async multipartRequest(method, path23, body, retried = false, opts) {
|
|
1318
1418
|
if (!retried) {
|
|
1319
1419
|
await this.ensureFreshToken(path23);
|
|
1320
1420
|
}
|
|
1321
1421
|
const { "Content-Type": _drop, ...headers } = this.buildHeaders(path23);
|
|
1322
1422
|
void _drop;
|
|
1423
|
+
const timeoutMs = opts?.timeoutMs ?? 5 * 60 * 1e3;
|
|
1323
1424
|
let res;
|
|
1324
1425
|
try {
|
|
1325
|
-
res = await
|
|
1426
|
+
res = await sendMultipartRequest({
|
|
1326
1427
|
method,
|
|
1428
|
+
url: `${this.baseUrlFor(path23)}${path23}`,
|
|
1327
1429
|
headers,
|
|
1328
1430
|
body,
|
|
1329
|
-
|
|
1431
|
+
timeoutMs,
|
|
1432
|
+
signal: opts?.signal,
|
|
1433
|
+
onProgress: opts?.onProgress
|
|
1330
1434
|
});
|
|
1331
1435
|
} catch (err) {
|
|
1332
1436
|
throw _ParallClient.normalizeFetchError(err);
|
|
@@ -1337,7 +1441,7 @@ var init_client = __esm({
|
|
|
1337
1441
|
if (!retried && !isAuthPath && this.getRefreshToken) {
|
|
1338
1442
|
const refreshed = await this.tryRefresh();
|
|
1339
1443
|
if (refreshed) {
|
|
1340
|
-
return this.multipartRequest(method, path23, body, true);
|
|
1444
|
+
return this.multipartRequest(method, path23, body, true, opts);
|
|
1341
1445
|
}
|
|
1342
1446
|
}
|
|
1343
1447
|
if (this.onTokenExpired && !isAuthPath) {
|
|
@@ -1416,6 +1520,18 @@ var init_client = __esm({
|
|
|
1416
1520
|
async deleteAvatar() {
|
|
1417
1521
|
return this.request("DELETE", ENDPOINTS.USER_AVATAR);
|
|
1418
1522
|
}
|
|
1523
|
+
// ---- Personal API keys (org-scoped; JWT session required) ----
|
|
1524
|
+
/** Mints an org-scoped personal API key. The plaintext is returned once and never again. */
|
|
1525
|
+
async createPersonalApiKey(req) {
|
|
1526
|
+
return this.request("POST", ENDPOINTS.PERSONAL_API_KEYS, req);
|
|
1527
|
+
}
|
|
1528
|
+
async listPersonalApiKeys() {
|
|
1529
|
+
const res = await this.request("GET", ENDPOINTS.PERSONAL_API_KEYS);
|
|
1530
|
+
return res.data;
|
|
1531
|
+
}
|
|
1532
|
+
async revokePersonalApiKey(keyId) {
|
|
1533
|
+
return this.request("DELETE", ENDPOINTS.PERSONAL_API_KEY(keyId));
|
|
1534
|
+
}
|
|
1419
1535
|
async uploadAgentAvatar(orgId, agentId, file) {
|
|
1420
1536
|
const fd = new FormData();
|
|
1421
1537
|
fd.append("file", file);
|
|
@@ -2634,26 +2750,21 @@ var init_client = __esm({
|
|
|
2634
2750
|
* through createWikiChangeset / updateWikiChangeset.
|
|
2635
2751
|
*/
|
|
2636
2752
|
async uploadWikiFile(orgId, wikiId, params) {
|
|
2637
|
-
const fd =
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
return this.multipartRequest("POST", ENDPOINTS.WIKI_UPLOADS(orgId, wikiId), fd);
|
|
2753
|
+
const fd = createWikiUploadFormData(params);
|
|
2754
|
+
return this.multipartRequest("POST", ENDPOINTS.WIKI_UPLOADS(orgId, wikiId), fd, false, {
|
|
2755
|
+
signal: params.signal,
|
|
2756
|
+
onProgress: params.onProgress
|
|
2757
|
+
});
|
|
2643
2758
|
}
|
|
2644
2759
|
/**
|
|
2645
|
-
* Upload a
|
|
2646
|
-
* author-only).
|
|
2647
|
-
*
|
|
2648
|
-
*
|
|
2760
|
+
* Upload a file into a changeset's feature branch (read scope +
|
|
2761
|
+
* author-only). The default remains binary-only; contentRoute `auto`
|
|
2762
|
+
* opts into reviewable text for the Web library upload flow. On merge the
|
|
2763
|
+
* branch contents squash into the default branch.
|
|
2649
2764
|
*/
|
|
2650
2765
|
async uploadWikiFileToChangeset(orgId, wikiId, changesetId, params) {
|
|
2651
|
-
const fd =
|
|
2652
|
-
|
|
2653
|
-
fd.append("file", params.file);
|
|
2654
|
-
if (params.message)
|
|
2655
|
-
fd.append("message", params.message);
|
|
2656
|
-
return this.multipartRequest("POST", ENDPOINTS.WIKI_CHANGESET_FILES(orgId, wikiId, changesetId), fd);
|
|
2766
|
+
const fd = createWikiUploadFormData(params);
|
|
2767
|
+
return this.multipartRequest("POST", ENDPOINTS.WIKI_CHANGESET_FILES(orgId, wikiId, changesetId), fd, false, { signal: params.signal, onProgress: params.onProgress });
|
|
2657
2768
|
}
|
|
2658
2769
|
/** Remove a binary file from the default branch. Text files must use a
|
|
2659
2770
|
* changeset delete action. The blob stays reachable via git history. */
|
|
@@ -48686,7 +48797,7 @@ var require_headers = __commonJS({
|
|
|
48686
48797
|
}
|
|
48687
48798
|
}
|
|
48688
48799
|
};
|
|
48689
|
-
var
|
|
48800
|
+
var Headers2 = class _Headers {
|
|
48690
48801
|
#guard;
|
|
48691
48802
|
/**
|
|
48692
48803
|
* @type {HeadersList}
|
|
@@ -48827,13 +48938,13 @@ var require_headers = __commonJS({
|
|
|
48827
48938
|
target.#headersList = list;
|
|
48828
48939
|
}
|
|
48829
48940
|
};
|
|
48830
|
-
var { getHeadersGuard, setHeadersGuard, getHeadersList, setHeadersList } =
|
|
48831
|
-
Reflect.deleteProperty(
|
|
48832
|
-
Reflect.deleteProperty(
|
|
48833
|
-
Reflect.deleteProperty(
|
|
48834
|
-
Reflect.deleteProperty(
|
|
48835
|
-
iteratorMixin("Headers",
|
|
48836
|
-
Object.defineProperties(
|
|
48941
|
+
var { getHeadersGuard, setHeadersGuard, getHeadersList, setHeadersList } = Headers2;
|
|
48942
|
+
Reflect.deleteProperty(Headers2, "getHeadersGuard");
|
|
48943
|
+
Reflect.deleteProperty(Headers2, "setHeadersGuard");
|
|
48944
|
+
Reflect.deleteProperty(Headers2, "getHeadersList");
|
|
48945
|
+
Reflect.deleteProperty(Headers2, "setHeadersList");
|
|
48946
|
+
iteratorMixin("Headers", Headers2, headersListSortAndCombine, 0, 1);
|
|
48947
|
+
Object.defineProperties(Headers2.prototype, {
|
|
48837
48948
|
append: kEnumerableProperty,
|
|
48838
48949
|
delete: kEnumerableProperty,
|
|
48839
48950
|
get: kEnumerableProperty,
|
|
@@ -48851,7 +48962,7 @@ var require_headers = __commonJS({
|
|
|
48851
48962
|
webidl.converters.HeadersInit = function(V, prefix, argument) {
|
|
48852
48963
|
if (webidl.util.Type(V) === webidl.util.Types.OBJECT) {
|
|
48853
48964
|
const iterator = Reflect.get(V, Symbol.iterator);
|
|
48854
|
-
if (!util.types.isProxy(V) && iterator ===
|
|
48965
|
+
if (!util.types.isProxy(V) && iterator === Headers2.prototype.entries) {
|
|
48855
48966
|
try {
|
|
48856
48967
|
return getHeadersList(V).entriesList;
|
|
48857
48968
|
} catch {
|
|
@@ -48872,7 +48983,7 @@ var require_headers = __commonJS({
|
|
|
48872
48983
|
fill,
|
|
48873
48984
|
// for test.
|
|
48874
48985
|
compareHeaderName,
|
|
48875
|
-
Headers,
|
|
48986
|
+
Headers: Headers2,
|
|
48876
48987
|
HeadersList,
|
|
48877
48988
|
getHeadersGuard,
|
|
48878
48989
|
setHeadersGuard,
|
|
@@ -48886,7 +48997,7 @@ var require_headers = __commonJS({
|
|
|
48886
48997
|
var require_response = __commonJS({
|
|
48887
48998
|
"ts/node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
|
|
48888
48999
|
"use strict";
|
|
48889
|
-
var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers();
|
|
49000
|
+
var { Headers: Headers2, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers();
|
|
48890
49001
|
var { extractBody, cloneBody, mixinBody, streamRegistry, bodyUnusable } = require_body();
|
|
48891
49002
|
var util = require_util2();
|
|
48892
49003
|
var nodeUtil = __require("node:util");
|
|
@@ -48908,7 +49019,7 @@ var require_response = __commonJS({
|
|
|
48908
49019
|
var assert = __require("node:assert");
|
|
48909
49020
|
var { isomorphicEncode, serializeJavascriptValueToJSONString } = require_infra();
|
|
48910
49021
|
var textEncoder = new TextEncoder("utf-8");
|
|
48911
|
-
var
|
|
49022
|
+
var Response2 = class _Response {
|
|
48912
49023
|
/** @type {Headers} */
|
|
48913
49024
|
#headers;
|
|
48914
49025
|
#state;
|
|
@@ -48962,7 +49073,7 @@ var require_response = __commonJS({
|
|
|
48962
49073
|
}
|
|
48963
49074
|
init = webidl.converters.ResponseInit(init);
|
|
48964
49075
|
this.#state = makeResponse({});
|
|
48965
|
-
this.#headers = new
|
|
49076
|
+
this.#headers = new Headers2(kConstruct);
|
|
48966
49077
|
setHeadersGuard(this.#headers, "response");
|
|
48967
49078
|
setHeadersList(this.#headers, this.#state.headersList);
|
|
48968
49079
|
let bodyWithType = null;
|
|
@@ -49080,13 +49191,13 @@ var require_response = __commonJS({
|
|
|
49080
49191
|
response.#state = newState;
|
|
49081
49192
|
}
|
|
49082
49193
|
};
|
|
49083
|
-
var { getResponseHeaders, setResponseHeaders, getResponseState, setResponseState } =
|
|
49084
|
-
Reflect.deleteProperty(
|
|
49085
|
-
Reflect.deleteProperty(
|
|
49086
|
-
Reflect.deleteProperty(
|
|
49087
|
-
Reflect.deleteProperty(
|
|
49088
|
-
mixinBody(
|
|
49089
|
-
Object.defineProperties(
|
|
49194
|
+
var { getResponseHeaders, setResponseHeaders, getResponseState, setResponseState } = Response2;
|
|
49195
|
+
Reflect.deleteProperty(Response2, "getResponseHeaders");
|
|
49196
|
+
Reflect.deleteProperty(Response2, "setResponseHeaders");
|
|
49197
|
+
Reflect.deleteProperty(Response2, "getResponseState");
|
|
49198
|
+
Reflect.deleteProperty(Response2, "setResponseState");
|
|
49199
|
+
mixinBody(Response2, getResponseState);
|
|
49200
|
+
Object.defineProperties(Response2.prototype, {
|
|
49090
49201
|
type: kEnumerableProperty,
|
|
49091
49202
|
url: kEnumerableProperty,
|
|
49092
49203
|
status: kEnumerableProperty,
|
|
@@ -49102,7 +49213,7 @@ var require_response = __commonJS({
|
|
|
49102
49213
|
configurable: true
|
|
49103
49214
|
}
|
|
49104
49215
|
});
|
|
49105
|
-
Object.defineProperties(
|
|
49216
|
+
Object.defineProperties(Response2, {
|
|
49106
49217
|
json: kEnumerableProperty,
|
|
49107
49218
|
redirect: kEnumerableProperty,
|
|
49108
49219
|
error: kEnumerableProperty
|
|
@@ -49235,9 +49346,9 @@ var require_response = __commonJS({
|
|
|
49235
49346
|
}
|
|
49236
49347
|
}
|
|
49237
49348
|
function fromInnerResponse(innerResponse, guard) {
|
|
49238
|
-
const response = new
|
|
49349
|
+
const response = new Response2(kConstruct);
|
|
49239
49350
|
setResponseState(response, innerResponse);
|
|
49240
|
-
const headers = new
|
|
49351
|
+
const headers = new Headers2(kConstruct);
|
|
49241
49352
|
setResponseHeaders(response, headers);
|
|
49242
49353
|
setHeadersList(headers, innerResponse.headersList);
|
|
49243
49354
|
setHeadersGuard(headers, guard);
|
|
@@ -49289,14 +49400,14 @@ var require_response = __commonJS({
|
|
|
49289
49400
|
converter: webidl.converters.HeadersInit
|
|
49290
49401
|
}
|
|
49291
49402
|
]);
|
|
49292
|
-
webidl.is.Response = webidl.util.MakeTypeAssertion(
|
|
49403
|
+
webidl.is.Response = webidl.util.MakeTypeAssertion(Response2);
|
|
49293
49404
|
module2.exports = {
|
|
49294
49405
|
isNetworkError,
|
|
49295
49406
|
makeNetworkError,
|
|
49296
49407
|
makeResponse,
|
|
49297
49408
|
makeAppropriateNetworkError,
|
|
49298
49409
|
filterResponse,
|
|
49299
|
-
Response,
|
|
49410
|
+
Response: Response2,
|
|
49300
49411
|
cloneResponse,
|
|
49301
49412
|
fromInnerResponse,
|
|
49302
49413
|
getResponseState
|
|
@@ -49309,7 +49420,7 @@ var require_request2 = __commonJS({
|
|
|
49309
49420
|
"ts/node_modules/.pnpm/undici@7.24.8/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
|
|
49310
49421
|
"use strict";
|
|
49311
49422
|
var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body();
|
|
49312
|
-
var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers();
|
|
49423
|
+
var { Headers: Headers2, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers();
|
|
49313
49424
|
var util = require_util2();
|
|
49314
49425
|
var nodeUtil = __require("node:util");
|
|
49315
49426
|
var {
|
|
@@ -49578,7 +49689,7 @@ var require_request2 = __commonJS({
|
|
|
49578
49689
|
requestFinalizer.register(ac, { signal, abort }, abort);
|
|
49579
49690
|
}
|
|
49580
49691
|
}
|
|
49581
|
-
this.#headers = new
|
|
49692
|
+
this.#headers = new Headers2(kConstruct);
|
|
49582
49693
|
setHeadersList(this.#headers, request3.headersList);
|
|
49583
49694
|
setHeadersGuard(this.#headers, "request");
|
|
49584
49695
|
if (mode === "no-cors") {
|
|
@@ -49919,7 +50030,7 @@ var require_request2 = __commonJS({
|
|
|
49919
50030
|
setRequestState(request3, innerRequest);
|
|
49920
50031
|
setRequestDispatcher(request3, dispatcher);
|
|
49921
50032
|
setRequestSignal(request3, signal);
|
|
49922
|
-
const headers = new
|
|
50033
|
+
const headers = new Headers2(kConstruct);
|
|
49923
50034
|
setRequestHeaders(request3, headers);
|
|
49924
50035
|
setHeadersList(headers, innerRequest.headersList);
|
|
49925
50036
|
setHeadersGuard(headers, guard);
|
|
@@ -52363,8 +52474,8 @@ var require_cookies = __commonJS({
|
|
|
52363
52474
|
var { parseSetCookie } = require_parse2();
|
|
52364
52475
|
var { stringify } = require_util5();
|
|
52365
52476
|
var { webidl } = require_webidl();
|
|
52366
|
-
var { Headers } = require_headers();
|
|
52367
|
-
var brandChecks = webidl.brandCheckMultiple([
|
|
52477
|
+
var { Headers: Headers2 } = require_headers();
|
|
52478
|
+
var brandChecks = webidl.brandCheckMultiple([Headers2, globalThis.Headers].filter(Boolean));
|
|
52368
52479
|
function getCookies(headers) {
|
|
52369
52480
|
webidl.argumentLengthCheck(arguments, 1, "getCookies");
|
|
52370
52481
|
brandChecks(headers);
|
|
@@ -53105,7 +53216,7 @@ var require_connection = __commonJS({
|
|
|
53105
53216
|
var { parseExtensions, isClosed, isClosing, isEstablished, isConnecting, validateCloseCodeAndReason } = require_util6();
|
|
53106
53217
|
var { makeRequest } = require_request2();
|
|
53107
53218
|
var { fetching } = require_fetch();
|
|
53108
|
-
var { Headers, getHeadersList } = require_headers();
|
|
53219
|
+
var { Headers: Headers2, getHeadersList } = require_headers();
|
|
53109
53220
|
var { getDecodeSplit } = require_util3();
|
|
53110
53221
|
var { WebsocketFrameSend } = require_frame();
|
|
53111
53222
|
var assert = __require("node:assert");
|
|
@@ -53127,7 +53238,7 @@ var require_connection = __commonJS({
|
|
|
53127
53238
|
useURLCredentials: true
|
|
53128
53239
|
});
|
|
53129
53240
|
if (options.headers) {
|
|
53130
|
-
const headersList = getHeadersList(new
|
|
53241
|
+
const headersList = getHeadersList(new Headers2(options.headers));
|
|
53131
53242
|
request3.headersList = headersList;
|
|
53132
53243
|
}
|
|
53133
53244
|
const keyValue = crypto2.randomBytes(16).toString("base64");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@parall/daemon",
|
|
3
|
-
"version": "1.56.
|
|
3
|
+
"version": "1.56.2",
|
|
4
4
|
"description": "Parall local agent runtime — daemon supervisor + bridge runtimes, bundled as standalone JS files",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -33,11 +33,11 @@
|
|
|
33
33
|
"@aws-sdk/client-s3": "3.984.0",
|
|
34
34
|
"@pinixai/bb-browser-pro": "0.15.0",
|
|
35
35
|
"ws": "^8.18.0",
|
|
36
|
-
"@parall/agent-core": "1.56.
|
|
37
|
-
"@parall/
|
|
38
|
-
"@parall/
|
|
39
|
-
"@parall/
|
|
40
|
-
"@parall/openclaw-agent": "1.56.
|
|
36
|
+
"@parall/agent-core": "1.56.2",
|
|
37
|
+
"@parall/claude-agent": "1.56.2",
|
|
38
|
+
"@parall/codex-agent": "1.56.2",
|
|
39
|
+
"@parall/sdk": "1.56.2",
|
|
40
|
+
"@parall/openclaw-agent": "1.56.2"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@types/node": "^22.0.0",
|