@parall/daemon 1.48.0 → 1.50.0
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 +142 -3
- package/bundle/parall-claude-agent.js +209 -25
- package/bundle/parall-codex-agent.js +209 -25
- package/bundle/parall-daemon.js +144 -3
- package/package.json +6 -6
package/bundle/manifest.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.
|
|
3
|
-
"built_at": "2026-07-
|
|
2
|
+
"version": "1.50.0",
|
|
3
|
+
"built_at": "2026-07-27T10:07:52.208Z",
|
|
4
4
|
"min_node_version": "20.0.0",
|
|
5
5
|
"files": {
|
|
6
6
|
"bb-browser-daemon.js": {
|
|
@@ -16,29 +16,29 @@
|
|
|
16
16
|
"size": 18
|
|
17
17
|
},
|
|
18
18
|
"parall-browser-pod.js": {
|
|
19
|
-
"sha256": "
|
|
20
|
-
"size":
|
|
19
|
+
"sha256": "0025fc6f85af4dcfe22a6d532c322bd2bf064f83378d88c77cbcca00a469ed82",
|
|
20
|
+
"size": 2901740
|
|
21
21
|
},
|
|
22
22
|
"parall-channel-exec.js": {
|
|
23
23
|
"sha256": "7c2a6e12483a45e9eb4a42cd7d4cdd3c4fa21dd09ac1347d9a3e177b4ddee930",
|
|
24
24
|
"size": 7220
|
|
25
25
|
},
|
|
26
26
|
"parall-claude-agent.js": {
|
|
27
|
-
"sha256": "
|
|
28
|
-
"size":
|
|
27
|
+
"sha256": "3786edb7e4d2dc22a95f2789416ee1fa1bf191e166d443c868cd8772a6033278",
|
|
28
|
+
"size": 2737538
|
|
29
29
|
},
|
|
30
30
|
"parall-codex-agent.js": {
|
|
31
|
-
"sha256": "
|
|
32
|
-
"size":
|
|
31
|
+
"sha256": "ba13d01de7a89860d75bbc1abd5ea5c9c605cc9104161a8d7960c38f84f7870c",
|
|
32
|
+
"size": 2779278
|
|
33
33
|
},
|
|
34
34
|
"parall-daemon.js": {
|
|
35
|
-
"sha256": "
|
|
36
|
-
"size":
|
|
35
|
+
"sha256": "a135d16586ea01a0ed3aa811dac509827efc76d2eb14de6430e1421590afc70e",
|
|
36
|
+
"size": 2963977
|
|
37
37
|
},
|
|
38
38
|
"parall-openclaw-agent.js": {
|
|
39
39
|
"sha256": "856a1c3a9ae0ffef8efe2481fa1171dbeb1d67cccb88616aa9bf16da96a69355",
|
|
40
40
|
"size": 9923
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
|
-
"signature": "
|
|
43
|
+
"signature": "KflWD7Xe1CWN7YZuBW3BTXirw4TfZITSwiKrRO+SU/OXNfXf3IC0nm4OWsR5zHb9J+y8cmqzpK2Zz8vXXSgwDw=="
|
|
44
44
|
}
|
|
@@ -63529,6 +63529,12 @@ var ENDPOINTS = {
|
|
|
63529
63529
|
ORG_MEMBER: (orgId, userId) => `${API_BASE}/orgs/${orgId}/members/${userId}`,
|
|
63530
63530
|
ORG_MEMBER_CHATS: (orgId, memberId) => `${API_BASE}/orgs/${orgId}/members/${memberId}/chats`,
|
|
63531
63531
|
ORG_MEMBER_TASKS: (orgId, memberId) => `${API_BASE}/orgs/${orgId}/members/${memberId}/tasks`,
|
|
63532
|
+
// Org-scoped public profile (title / description). GET readable by every
|
|
63533
|
+
// active member; PATCH is CAS-guarded (expected_version).
|
|
63534
|
+
ORG_MEMBER_PROFILE: (orgId, userId) => `${API_BASE}/orgs/${orgId}/members/${userId}/profile`,
|
|
63535
|
+
// Private agent Instructions — visibility gated server-side
|
|
63536
|
+
// (agent self + Human org admin/owner). Never cached.
|
|
63537
|
+
AGENT_INSTRUCTIONS: (orgId, agentId) => `${API_BASE}/orgs/${orgId}/agents/${agentId}/instructions`,
|
|
63532
63538
|
REF_SEARCH: (orgId) => `${API_BASE}/orgs/${orgId}/refs/search`,
|
|
63533
63539
|
// Direct messages (org-scoped, atomic find-or-create + send)
|
|
63534
63540
|
DM: (orgId) => `${API_BASE}/orgs/${orgId}/dm`,
|
|
@@ -63552,6 +63558,8 @@ var ENDPOINTS = {
|
|
|
63552
63558
|
MESSAGE_WATCH: (id) => `${API_BASE}/messages/${id}/watch`,
|
|
63553
63559
|
MESSAGE_WATCHERS: (id) => `${API_BASE}/messages/${id}/watchers`,
|
|
63554
63560
|
MESSAGE_WATCHING: (id) => `${API_BASE}/messages/${id}/watching`,
|
|
63561
|
+
MESSAGE_REACTIONS: (id) => `${API_BASE}/messages/${id}/reactions`,
|
|
63562
|
+
MESSAGE_REACTION: (id, emoji) => `${API_BASE}/messages/${id}/reactions/${encodeURIComponent(emoji)}`,
|
|
63555
63563
|
// Upload (org-scoped)
|
|
63556
63564
|
UPLOAD_PRESIGN: (orgId) => `${API_BASE}/orgs/${orgId}/upload/presign`,
|
|
63557
63565
|
UPLOAD_COMPLETE: (orgId) => `${API_BASE}/orgs/${orgId}/upload/complete`,
|
|
@@ -63789,11 +63797,13 @@ var ENDPOINTS = {
|
|
|
63789
63797
|
UNREAD: `${API_BASE}/me/unread`,
|
|
63790
63798
|
ORG_UNREAD: (orgId) => `${API_BASE}/orgs/${orgId}/unread`,
|
|
63791
63799
|
CHAT_READ: (orgId, chatId) => `${API_BASE}/orgs/${orgId}/chats/${chatId}/read`,
|
|
63800
|
+
CHAT_READ_ALL: (orgId, chatId) => `${API_BASE}/orgs/${orgId}/chats/${chatId}/read-all`,
|
|
63792
63801
|
THREAD_UNREAD: (orgId, chatId, threadRootId) => `${API_BASE}/orgs/${orgId}/chats/${chatId}/threads/${threadRootId}/unread`,
|
|
63793
63802
|
THREAD_READ: (orgId, chatId, threadRootId) => `${API_BASE}/orgs/${orgId}/chats/${chatId}/threads/${threadRootId}/read`,
|
|
63794
63803
|
// References (org-scoped)
|
|
63795
63804
|
REFS_RESOLVE: (orgId) => `${API_BASE}/orgs/${orgId}/refs/resolve`,
|
|
63796
63805
|
REFS_BACKLINKS: (orgId) => `${API_BASE}/orgs/${orgId}/refs/backlinks`,
|
|
63806
|
+
REFS_OUTBOUND: (orgId) => `${API_BASE}/orgs/${orgId}/refs/outbound`,
|
|
63797
63807
|
REFS_GRAPH: (orgId) => `${API_BASE}/orgs/${orgId}/refs/graph`,
|
|
63798
63808
|
REFS_CHECK: (orgId) => `${API_BASE}/orgs/${orgId}/refs/check`,
|
|
63799
63809
|
// Platform config (agent-scoped, not org-scoped)
|
|
@@ -63808,6 +63818,11 @@ var ENDPOINTS = {
|
|
|
63808
63818
|
SEARCH: (orgId) => `${API_BASE}/orgs/${orgId}/search`,
|
|
63809
63819
|
// Feature flags (org-scoped, server-evaluated)
|
|
63810
63820
|
FEATURE_FLAGS: (orgId) => `${API_BASE}/orgs/${orgId}/feature-flags`,
|
|
63821
|
+
// Team templates (org-scoped, owner/admin only)
|
|
63822
|
+
TEMPLATES: (orgId) => `${API_BASE}/orgs/${orgId}/templates`,
|
|
63823
|
+
TEMPLATE: (orgId, templateId) => `${API_BASE}/orgs/${orgId}/templates/${templateId}`,
|
|
63824
|
+
TEMPLATE_DEPLOYMENTS: (orgId) => `${API_BASE}/orgs/${orgId}/template-deployments`,
|
|
63825
|
+
TEMPLATE_DEPLOYMENT: (orgId, deploymentId) => `${API_BASE}/orgs/${orgId}/template-deployments/${deploymentId}`,
|
|
63811
63826
|
// Billing & Credits (org-scoped)
|
|
63812
63827
|
BILLING: (orgId) => `${API_BASE}/orgs/${orgId}/billing`,
|
|
63813
63828
|
BILLING_TRANSACTIONS: (orgId) => `${API_BASE}/orgs/${orgId}/billing/transactions`,
|
|
@@ -63855,7 +63870,13 @@ var ENDPOINTS = {
|
|
|
63855
63870
|
ORG_EDGE_DEVICE_UNREGISTER: (orgId, edgeId) => `/api/v1/orgs/${orgId}/edge/${edgeId}/unregister`,
|
|
63856
63871
|
ORG_EDGE_ONBOARDING: (orgId) => `/api/v1/orgs/${orgId}/edge/onboarding`,
|
|
63857
63872
|
ORG_EDGE_PROFILES: (orgId, edgeId) => `/api/v1/orgs/${orgId}/edge/${edgeId}/profiles`,
|
|
63873
|
+
// Per-profile egress proxy (hosted Cloud Profiles; manager-only, human-only).
|
|
63874
|
+
ORG_EDGE_PROFILE_PROXY: (orgId, edgeId, profileName) => `/api/v1/orgs/${orgId}/edge/${edgeId}/profiles/${encodeURIComponent(profileName)}/proxy`,
|
|
63858
63875
|
ORG_EDGE_EXEC: (orgId) => `/api/v1/orgs/${orgId}/edge/exec`,
|
|
63876
|
+
// Cloud Edge live viewer command (V1b) — api-server, gated on cap:edge-viewer.
|
|
63877
|
+
// Same request/reply shape as the v2 browser-profile viewer, on the v3 edge
|
|
63878
|
+
// pipe. Additive: does NOT replace BROWSER_PROFILE_VIEWER_COMMAND.
|
|
63879
|
+
ORG_EDGE_VIEWER_COMMAND: (orgId, edgeId) => `/api/v1/orgs/${orgId}/edge/${edgeId}/viewer/command`,
|
|
63859
63880
|
CLIP_CONNECTIONS: (orgId, clipId) => `/api/v1/orgs/${orgId}/clip-registry/${clipId}/connections`,
|
|
63860
63881
|
CLIP_CONNECTION: (orgId, connId) => `/api/v1/orgs/${orgId}/clip-connections/${connId}`,
|
|
63861
63882
|
// Clip registry (v3, org-scoped, served by api-server — `crg_` entries; the
|
|
@@ -64020,7 +64041,7 @@ var ParallClient = class _ParallClient {
|
|
|
64020
64041
|
if (qs)
|
|
64021
64042
|
url += `?${qs}`;
|
|
64022
64043
|
}
|
|
64023
|
-
const headers = this.buildHeaders(path7);
|
|
64044
|
+
const headers = this.buildHeaders(path7, opts?.headers);
|
|
64024
64045
|
const timeoutSignal = AbortSignal.timeout(opts?.timeoutMs ?? 15e3);
|
|
64025
64046
|
const signal = opts?.signal ? AbortSignal.any([opts.signal, timeoutSignal]) : timeoutSignal;
|
|
64026
64047
|
let res;
|
|
@@ -64236,6 +64257,30 @@ var ParallClient = class _ParallClient {
|
|
|
64236
64257
|
async updateOrgMember(orgId, userId, role) {
|
|
64237
64258
|
return this.request("PATCH", ENDPOINTS.ORG_MEMBER(orgId, userId), { role });
|
|
64238
64259
|
}
|
|
64260
|
+
/** Org-scoped public profile (title / description) of any active member. */
|
|
64261
|
+
async getMemberProfile(orgId, userId) {
|
|
64262
|
+
return this.request("GET", ENDPOINTS.ORG_MEMBER_PROFILE(orgId, userId));
|
|
64263
|
+
}
|
|
64264
|
+
/**
|
|
64265
|
+
* CAS full-replacement of a member's public profile. Humans edit their
|
|
64266
|
+
* own; Human org admins/owners edit agents'. A stale expected_version
|
|
64267
|
+
* gets 409 PROFILE_VERSION_CONFLICT with error.details.current_version.
|
|
64268
|
+
*/
|
|
64269
|
+
async updateMemberProfile(orgId, userId, req) {
|
|
64270
|
+
return this.request("PATCH", ENDPOINTS.ORG_MEMBER_PROFILE(orgId, userId), req);
|
|
64271
|
+
}
|
|
64272
|
+
/** Private agent Instructions — agent self or Human org admin/owner only. */
|
|
64273
|
+
async getAgentInstructions(orgId, agentId) {
|
|
64274
|
+
return this.request("GET", ENDPOINTS.AGENT_INSTRUCTIONS(orgId, agentId));
|
|
64275
|
+
}
|
|
64276
|
+
/**
|
|
64277
|
+
* CAS update of the private Instructions (Human org admin/owner only).
|
|
64278
|
+
* A stale expected_version gets 409 INSTRUCTIONS_VERSION_CONFLICT with
|
|
64279
|
+
* error.details.current_version.
|
|
64280
|
+
*/
|
|
64281
|
+
async updateAgentInstructions(orgId, agentId, req) {
|
|
64282
|
+
return this.request("PATCH", ENDPOINTS.AGENT_INSTRUCTIONS(orgId, agentId), req);
|
|
64283
|
+
}
|
|
64239
64284
|
// Member activity surfaces — chats the member participates in within this org,
|
|
64240
64285
|
// ordered by most recent activity. Powers the member profile Activity tab.
|
|
64241
64286
|
async getMemberChats(orgId, memberId, params) {
|
|
@@ -64426,6 +64471,14 @@ var ParallClient = class _ParallClient {
|
|
|
64426
64471
|
async getMessageReplies(id, params) {
|
|
64427
64472
|
return this.request("GET", ENDPOINTS.MESSAGE_REPLIES(id), void 0, params);
|
|
64428
64473
|
}
|
|
64474
|
+
// ---- Reactions ----
|
|
64475
|
+
async toggleReaction(messageId, emoji) {
|
|
64476
|
+
return this.request("PUT", ENDPOINTS.MESSAGE_REACTION(messageId, emoji));
|
|
64477
|
+
}
|
|
64478
|
+
async listReactions(messageId) {
|
|
64479
|
+
const res = await this.request("GET", ENDPOINTS.MESSAGE_REACTIONS(messageId));
|
|
64480
|
+
return res.reactions;
|
|
64481
|
+
}
|
|
64429
64482
|
// ---- File Upload ----
|
|
64430
64483
|
async getUploadPresignUrl(orgId, req) {
|
|
64431
64484
|
return this.request("POST", ENDPOINTS.UPLOAD_PRESIGN(orgId), req);
|
|
@@ -64801,6 +64854,15 @@ var ParallClient = class _ParallClient {
|
|
|
64801
64854
|
async browserViewerCommand(orgId, profileId, req, opts) {
|
|
64802
64855
|
return this.request("POST", ENDPOINTS.BROWSER_PROFILE_VIEWER_COMMAND(orgId, profileId), req, void 0, false, opts);
|
|
64803
64856
|
}
|
|
64857
|
+
/**
|
|
64858
|
+
* Drive the Cloud Edge live viewer (V1b, design §6): WebRTC signaling + input +
|
|
64859
|
+
* tab nav for a hosted browser (Cloud Profile). Same request/reply shape as
|
|
64860
|
+
* browserViewerCommand, on the v3 edge pipe; additive — the v2 browser-profile
|
|
64861
|
+
* viewer is unchanged.
|
|
64862
|
+
*/
|
|
64863
|
+
async edgeViewerCommand(orgId, edgeId, req, opts) {
|
|
64864
|
+
return this.request("POST", ENDPOINTS.ORG_EDGE_VIEWER_COMMAND(orgId, edgeId), req, void 0, false, opts);
|
|
64865
|
+
}
|
|
64804
64866
|
async resizeMachine(orgId, machineId, spec) {
|
|
64805
64867
|
return this.request("PATCH", ENDPOINTS.MACHINE_SPEC(orgId, machineId), spec);
|
|
64806
64868
|
}
|
|
@@ -64827,14 +64889,23 @@ var ParallClient = class _ParallClient {
|
|
|
64827
64889
|
}
|
|
64828
64890
|
// Wiki mount/token methods removed — wiki-service handles all wiki endpoints.
|
|
64829
64891
|
// ---- Unread ----
|
|
64830
|
-
async getUnreadCounts(orgId) {
|
|
64892
|
+
async getUnreadCounts(orgId, opts) {
|
|
64831
64893
|
const endpoint = orgId ? ENDPOINTS.ORG_UNREAD(orgId) : ENDPOINTS.UNREAD;
|
|
64832
|
-
const res = await this.request("GET", endpoint
|
|
64894
|
+
const res = await this.request("GET", endpoint, void 0, {
|
|
64895
|
+
include_thread_replies: opts?.includeThreadReplies ? "true" : void 0
|
|
64896
|
+
});
|
|
64833
64897
|
return res.data;
|
|
64834
64898
|
}
|
|
64835
64899
|
async markRead(orgId, chatId, messageId) {
|
|
64836
64900
|
return this.request("POST", ENDPOINTS.CHAT_READ(orgId, chatId), { message_id: messageId });
|
|
64837
64901
|
}
|
|
64902
|
+
/** Mark everything in a chat read: the channel cursor jumps to the latest
|
|
64903
|
+
* top-level message and every thread cursor to its latest reply, in one
|
|
64904
|
+
* idempotent call. The server echoes the same per-cursor WS events the
|
|
64905
|
+
* single-cursor routes emit and auto-clears covered inbox items. */
|
|
64906
|
+
async markAllRead(orgId, chatId) {
|
|
64907
|
+
return this.request("POST", ENDPOINTS.CHAT_READ_ALL(orgId, chatId));
|
|
64908
|
+
}
|
|
64838
64909
|
async getThreadUnread(orgId, chatId, threadRootId) {
|
|
64839
64910
|
return this.request("GET", ENDPOINTS.THREAD_UNREAD(orgId, chatId, threadRootId));
|
|
64840
64911
|
}
|
|
@@ -65509,6 +65580,16 @@ var ParallClient = class _ParallClient {
|
|
|
65509
65580
|
async getBacklinks(orgId, params) {
|
|
65510
65581
|
return this.request("GET", ENDPOINTS.REFS_BACKLINKS(orgId), void 0, params);
|
|
65511
65582
|
}
|
|
65583
|
+
/**
|
|
65584
|
+
* Outbound prll:// refs authored in a set of sources, as raw ref_links rows
|
|
65585
|
+
* (dedupe/group client-side). Pass `{ thread_root_id }` to list a whole
|
|
65586
|
+
* thread's refs (root + all replies, resolved server-side — the client's
|
|
65587
|
+
* reply window may be partial), or `{ source_type, source_ids }` for
|
|
65588
|
+
* explicit sources (max 500; v1 accepts only message sources).
|
|
65589
|
+
*/
|
|
65590
|
+
async listOutboundRefs(orgId, req) {
|
|
65591
|
+
return this.request("POST", ENDPOINTS.REFS_OUTBOUND(orgId), req);
|
|
65592
|
+
}
|
|
65512
65593
|
/**
|
|
65513
65594
|
* Bounded multi-hop walk of the prll:// reference graph around `uri`. `uri`
|
|
65514
65595
|
* must be an entity-level prll:// URI — a refined URI (path/query/fragment) is
|
|
@@ -65543,6 +65624,22 @@ var ParallClient = class _ParallClient {
|
|
|
65543
65624
|
async getFeatureFlags(orgId) {
|
|
65544
65625
|
return this.request("GET", ENDPOINTS.FEATURE_FLAGS(orgId));
|
|
65545
65626
|
}
|
|
65627
|
+
// ---- Official Template catalog (org-contextual owner/admin reads + Hire) ----
|
|
65628
|
+
async listOfficialTemplates(orgId) {
|
|
65629
|
+
const response = await this.request("GET", ENDPOINTS.TEMPLATES(orgId));
|
|
65630
|
+
return response.templates ?? [];
|
|
65631
|
+
}
|
|
65632
|
+
async getOfficialTemplate(orgId, templateId) {
|
|
65633
|
+
return this.request("GET", ENDPOINTS.TEMPLATE(orgId, templateId));
|
|
65634
|
+
}
|
|
65635
|
+
async deployTemplate(orgId, request) {
|
|
65636
|
+
return this.request("POST", ENDPOINTS.TEMPLATE_DEPLOYMENTS(orgId), request, void 0, false, {
|
|
65637
|
+
timeoutMs: 185e3
|
|
65638
|
+
});
|
|
65639
|
+
}
|
|
65640
|
+
async getTemplateDeployment(orgId, deploymentId) {
|
|
65641
|
+
return this.request("GET", ENDPOINTS.TEMPLATE_DEPLOYMENT(orgId, deploymentId));
|
|
65642
|
+
}
|
|
65546
65643
|
// ---- Billing & Credits (org-scoped) ----
|
|
65547
65644
|
async getBilling(orgId) {
|
|
65548
65645
|
return this.request("GET", ENDPOINTS.BILLING(orgId));
|
|
@@ -65788,6 +65885,43 @@ var ParallClient = class _ParallClient {
|
|
|
65788
65885
|
async listEdgeProfiles(orgId, edgeId) {
|
|
65789
65886
|
return this.request("GET", ENDPOINTS.ORG_EDGE_PROFILES(orgId, edgeId));
|
|
65790
65887
|
}
|
|
65888
|
+
/**
|
|
65889
|
+
* Read a hosted Cloud Profile's egress-proxy status (manager-only: hosted
|
|
65890
|
+
* human maintainer or org admin). Sanitized — the password never comes back.
|
|
65891
|
+
* Typed errors: `EDGE_NOT_HOSTED` (BYOC device), `PROXY_CONFIG_CORRUPT` /
|
|
65892
|
+
* validation codes as 422 when a stored config no longer passes current rules.
|
|
65893
|
+
* `can_mutate` and `lease_status` are the authoritative idle gate; device
|
|
65894
|
+
* list status is not a substitute.
|
|
65895
|
+
*/
|
|
65896
|
+
async getEdgeProfileProxy(orgId, edgeId, profileName) {
|
|
65897
|
+
return this.request("GET", ENDPOINTS.ORG_EDGE_PROFILE_PROXY(orgId, edgeId, profileName));
|
|
65898
|
+
}
|
|
65899
|
+
/**
|
|
65900
|
+
* Set/replace the profile's egress proxy (full triple every time) — IDLE
|
|
65901
|
+
* ONLY: while the profile's hosted browser is running (a viewer session is
|
|
65902
|
+
* open or a pod is otherwise live) the server answers 409
|
|
65903
|
+
* `EDGE_PROFILE_IN_USE`; close the viewer, wait for idle scale-to-zero, and
|
|
65904
|
+
* retry. The next cold start uses the new egress; browser login state is
|
|
65905
|
+
* preserved across it. Other typed errors: the validation vocabulary
|
|
65906
|
+
* (`INVALID_PROXY_SERVER`, `PROXY_AUTH_INCOMPLETE`,
|
|
65907
|
+
* `PROXY_SERVER_FORBIDDEN_TARGET`, …), `EDGE_DELETING` (409), and
|
|
65908
|
+
* `SECRETBOX_UNCONFIGURED` (503 — server cannot store credentials safely),
|
|
65909
|
+
* and `EDGE_PROFILE_PROXY_STALE` (409 — expectedVersion lost a tab race).
|
|
65910
|
+
*/
|
|
65911
|
+
async setEdgeProfileProxy(orgId, edgeId, profileName, req, expectedVersion) {
|
|
65912
|
+
return this.request("PUT", ENDPOINTS.ORG_EDGE_PROFILE_PROXY(orgId, edgeId, profileName), req, void 0, false, {
|
|
65913
|
+
headers: expectedVersion ? { "If-Match": `"proxy-${expectedVersion}"` } : void 0
|
|
65914
|
+
});
|
|
65915
|
+
}
|
|
65916
|
+
/**
|
|
65917
|
+
* Clear the profile's egress proxy; the next pod start egresses directly.
|
|
65918
|
+
* Idle-only like set — 409 `EDGE_PROFILE_IN_USE` while the browser is live.
|
|
65919
|
+
*/
|
|
65920
|
+
async clearEdgeProfileProxy(orgId, edgeId, profileName, expectedVersion) {
|
|
65921
|
+
return this.request("DELETE", ENDPOINTS.ORG_EDGE_PROFILE_PROXY(orgId, edgeId, profileName), void 0, void 0, false, {
|
|
65922
|
+
headers: expectedVersion ? { "If-Match": `"proxy-${expectedVersion}"` } : void 0
|
|
65923
|
+
});
|
|
65924
|
+
}
|
|
65791
65925
|
/**
|
|
65792
65926
|
* Execute a registry clip command on an Edge device.
|
|
65793
65927
|
*
|
|
@@ -65856,6 +65990,8 @@ var ApiError = class extends Error {
|
|
|
65856
65990
|
status;
|
|
65857
65991
|
code;
|
|
65858
65992
|
extras;
|
|
65993
|
+
/** Retry-After delta seconds when the server supplies one. */
|
|
65994
|
+
retryAfterSeconds;
|
|
65859
65995
|
/** Attempted action (authorization denials) — e.g. "chat.add_member". */
|
|
65860
65996
|
action;
|
|
65861
65997
|
/** Target resource URI that was evaluated — e.g. "prll://cht_…". */
|
|
@@ -65875,6 +66011,9 @@ function buildApiError(res, rawErrorBody) {
|
|
|
65875
66011
|
const errMsg2 = (typeof errorObj?.message === "string" ? errorObj.message : void 0) ?? (typeof errorBody.message === "string" ? errorBody.message : void 0) ?? (typeof errorBody.error === "string" ? errorBody.error : void 0);
|
|
65876
66012
|
const errCode = (typeof errorObj?.code === "string" ? errorObj.code : void 0) ?? (typeof errorBody.code === "string" ? errorBody.code : void 0);
|
|
65877
66013
|
const apiError = new ApiError(res.status, errMsg2 ?? res.statusText, errCode);
|
|
66014
|
+
const retryAfter = Number(res.headers?.get("Retry-After"));
|
|
66015
|
+
if (Number.isFinite(retryAfter) && retryAfter > 0)
|
|
66016
|
+
apiError.retryAfterSeconds = retryAfter;
|
|
65878
66017
|
const anchors = errorObj ?? errorBody;
|
|
65879
66018
|
if (typeof anchors.action === "string")
|
|
65880
66019
|
apiError.action = anchors.action;
|