@parall/daemon 1.37.0 → 1.39.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 +72 -1
- package/bundle/parall-claude-agent.js +887 -224
- package/bundle/parall-codex-agent.js +894 -233
- package/bundle/parall-daemon.js +100 -1
- 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.39.0",
|
|
3
|
+
"built_at": "2026-07-08T06:56:38.067Z",
|
|
4
4
|
"min_node_version": "20.0.0",
|
|
5
5
|
"files": {
|
|
6
6
|
"bb-browser-daemon.js": {
|
|
@@ -16,25 +16,25 @@
|
|
|
16
16
|
"size": 18
|
|
17
17
|
},
|
|
18
18
|
"parall-browser-pod.js": {
|
|
19
|
-
"sha256": "
|
|
20
|
-
"size":
|
|
19
|
+
"sha256": "8ee53a7d1f36fb5e5836f12d0d2952a5404701cd48d45b6e0efff0d22d2807c3",
|
|
20
|
+
"size": 1698250
|
|
21
21
|
},
|
|
22
22
|
"parall-claude-agent.js": {
|
|
23
|
-
"sha256": "
|
|
24
|
-
"size":
|
|
23
|
+
"sha256": "5b7b94ad606cefe88bc5a51be832bfd39b0037b230458d5d943b9e501d2666cb",
|
|
24
|
+
"size": 1618184
|
|
25
25
|
},
|
|
26
26
|
"parall-codex-agent.js": {
|
|
27
|
-
"sha256": "
|
|
28
|
-
"size":
|
|
27
|
+
"sha256": "a44fcdea43520167c5ca83d4c8fc295d8f179a1eb4b070d4adb209741b6928df",
|
|
28
|
+
"size": 1648994
|
|
29
29
|
},
|
|
30
30
|
"parall-daemon.js": {
|
|
31
|
-
"sha256": "
|
|
32
|
-
"size":
|
|
31
|
+
"sha256": "7def6d2fe8827a5cbbff88798dcd4e71d3f10c876b7546216a3a621bce79f76a",
|
|
32
|
+
"size": 1718426
|
|
33
33
|
},
|
|
34
34
|
"parall-openclaw-agent.js": {
|
|
35
35
|
"sha256": "505433b4bf3a4b8dbb7b96978d8693d6c48079f4513282ff1ee59a6d13b3eddf",
|
|
36
36
|
"size": 9801
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
|
-
"signature": "
|
|
39
|
+
"signature": "cnULsVTs+DpKRBsW+td5wD3CX/TCRCzSOsAL8qktWe3t9sZBvLWLwtFxmokmWVPlHQI4+YSkVt1FbKRiAhF/Cw=="
|
|
40
40
|
}
|
|
@@ -35356,6 +35356,11 @@ var ENDPOINTS = {
|
|
|
35356
35356
|
DISPATCH_ACK_BY_ID: (orgId, id) => `${API_BASE}/orgs/${orgId}/dispatch/${id}/ack`,
|
|
35357
35357
|
DISPATCH_EXPIRE: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/expire`,
|
|
35358
35358
|
DISPATCH_BY_MESSAGES: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/by-messages`,
|
|
35359
|
+
DISPATCH_CLAIM: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/claim`,
|
|
35360
|
+
DISPATCH_STEER: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/steer`,
|
|
35361
|
+
DISPATCH_COMPLETE: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/complete`,
|
|
35362
|
+
DISPATCH_RELEASE: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/release`,
|
|
35363
|
+
DISPATCH_HEARTBEAT: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/heartbeat`,
|
|
35359
35364
|
// Unread
|
|
35360
35365
|
UNREAD: `${API_BASE}/me/unread`,
|
|
35361
35366
|
ORG_UNREAD: (orgId) => `${API_BASE}/orgs/${orgId}/unread`,
|
|
@@ -35417,7 +35422,13 @@ var ENDPOINTS = {
|
|
|
35417
35422
|
// the machine control-plane request/reply bridge that lives in api-server.
|
|
35418
35423
|
BROWSER_PROFILE_VIEWER_COMMAND: (orgId, profileId) => `${API_BASE}/orgs/${orgId}/browser-profiles/${profileId}/viewer/command`,
|
|
35419
35424
|
// Clip registry (global, served by clip-service → Pinix Hub proxy)
|
|
35420
|
-
CLIP_REGISTRY: () => `${CLIP_BASE}/registry/clips
|
|
35425
|
+
CLIP_REGISTRY: () => `${CLIP_BASE}/registry/clips`,
|
|
35426
|
+
// Edge device endpoints
|
|
35427
|
+
ORG_EDGE_DEVICES: (orgId) => `/api/v1/orgs/${orgId}/edge/devices`,
|
|
35428
|
+
ORG_EDGE_ONBOARDING: (orgId) => `/api/v1/orgs/${orgId}/edge/onboarding`,
|
|
35429
|
+
ORG_EDGE_PROFILES: (orgId, edgeId) => `/api/v1/orgs/${orgId}/edge/${edgeId}/profiles`,
|
|
35430
|
+
CLIP_CONNECTIONS: (orgId, clipId) => `/api/v1/orgs/${orgId}/clip-registry/${clipId}/connections`,
|
|
35431
|
+
CLIP_CONNECTION: (orgId, connId) => `/api/v1/orgs/${orgId}/clip-connections/${connId}`
|
|
35421
35432
|
};
|
|
35422
35433
|
|
|
35423
35434
|
// ts/sdk/dist/client.js
|
|
@@ -35601,6 +35612,7 @@ var ParallClient = class _ParallClient {
|
|
|
35601
35612
|
const rawErrorBody = await res.json().catch(() => ({}));
|
|
35602
35613
|
throw buildApiError(res, rawErrorBody);
|
|
35603
35614
|
}
|
|
35615
|
+
opts?.onStatus?.(res.status);
|
|
35604
35616
|
if (res.status === 204)
|
|
35605
35617
|
return void 0;
|
|
35606
35618
|
if (res.status === 202) {
|
|
@@ -35934,6 +35946,21 @@ var ParallClient = class _ParallClient {
|
|
|
35934
35946
|
async sendMessage(orgId, chatId, req) {
|
|
35935
35947
|
return this.request("POST", ENDPOINTS.CHAT_MESSAGES(orgId, chatId), req);
|
|
35936
35948
|
}
|
|
35949
|
+
/**
|
|
35950
|
+
* sendMessage variant that also reports whether the server answered with an
|
|
35951
|
+
* idempotent replay (HTTP 200 — the message already existed for this
|
|
35952
|
+
* idempotency/effect key) instead of a fresh create (201). Used by the CLI
|
|
35953
|
+
* to surface "already sent by a previous run (deduplicated)".
|
|
35954
|
+
*/
|
|
35955
|
+
async sendMessageDetailed(orgId, chatId, req) {
|
|
35956
|
+
let status = 0;
|
|
35957
|
+
const message = await this.request("POST", ENDPOINTS.CHAT_MESSAGES(orgId, chatId), req, void 0, false, {
|
|
35958
|
+
onStatus: (s) => {
|
|
35959
|
+
status = s;
|
|
35960
|
+
}
|
|
35961
|
+
});
|
|
35962
|
+
return { message, deduplicated: status === 200 };
|
|
35963
|
+
}
|
|
35937
35964
|
async getMessages(orgId, chatId, params) {
|
|
35938
35965
|
return this.request("GET", ENDPOINTS.CHAT_MESSAGES(orgId, chatId), void 0, params);
|
|
35939
35966
|
}
|
|
@@ -36395,6 +36422,30 @@ var ParallClient = class _ParallClient {
|
|
|
36395
36422
|
const params = maxAgeHours !== void 0 ? { max_age_hours: String(maxAgeHours) } : void 0;
|
|
36396
36423
|
return this.request("POST", ENDPOINTS.DISPATCH_EXPIRE(orgId), void 0, params);
|
|
36397
36424
|
}
|
|
36425
|
+
/**
|
|
36426
|
+
* Claim a dispatch lane (explicit consume endpoint). Occupies the
|
|
36427
|
+
* (agent, target, thread) lane and folds claimable WorkItems into it;
|
|
36428
|
+
* `claimed: false` means a healthy incumbent holds the lane.
|
|
36429
|
+
*/
|
|
36430
|
+
async claimDispatch(orgId, req) {
|
|
36431
|
+
return this.request("POST", ENDPOINTS.DISPATCH_CLAIM(orgId), req);
|
|
36432
|
+
}
|
|
36433
|
+
/** Fold a pending same-target WorkItem into a live lane (409 STALE_LANE when dethroned). */
|
|
36434
|
+
async steerDispatch(orgId, req) {
|
|
36435
|
+
return this.request("POST", ENDPOINTS.DISPATCH_STEER(orgId), req);
|
|
36436
|
+
}
|
|
36437
|
+
/** End a turn: no_action sweep of the lane's members + lane release + re-drive check. */
|
|
36438
|
+
async completeDispatch(orgId, req) {
|
|
36439
|
+
return this.request("POST", ENDPOINTS.DISPATCH_COMPLETE(orgId), req);
|
|
36440
|
+
}
|
|
36441
|
+
/** Release a lane on graceful shutdown — members return to pending immediately. */
|
|
36442
|
+
async releaseDispatchLane(orgId, lane) {
|
|
36443
|
+
return this.request("POST", ENDPOINTS.DISPATCH_RELEASE(orgId), { lane });
|
|
36444
|
+
}
|
|
36445
|
+
/** Renew a live lane's lease (long-turn keepalive). 409 STALE_LANE when dethroned. */
|
|
36446
|
+
async heartbeatDispatchLane(orgId, req) {
|
|
36447
|
+
return this.request("POST", ENDPOINTS.DISPATCH_HEARTBEAT(orgId), req);
|
|
36448
|
+
}
|
|
36398
36449
|
async getDispatchByMessages(orgId, chatId, messageIds) {
|
|
36399
36450
|
const params = { chat_id: chatId, message_ids: messageIds.join(",") };
|
|
36400
36451
|
return this.request("GET", ENDPOINTS.DISPATCH_BY_MESSAGES(orgId), void 0, params);
|
|
@@ -37122,6 +37173,26 @@ var ParallClient = class _ParallClient {
|
|
|
37122
37173
|
const resp = await this.request("GET", url);
|
|
37123
37174
|
return resp.data;
|
|
37124
37175
|
}
|
|
37176
|
+
// ---- Edge devices ----
|
|
37177
|
+
async listEdgeDevices(orgId) {
|
|
37178
|
+
return this.request("GET", ENDPOINTS.ORG_EDGE_DEVICES(orgId));
|
|
37179
|
+
}
|
|
37180
|
+
async getEdgeOnboarding(orgId) {
|
|
37181
|
+
return this.request("GET", ENDPOINTS.ORG_EDGE_ONBOARDING(orgId));
|
|
37182
|
+
}
|
|
37183
|
+
async listEdgeProfiles(orgId, edgeId) {
|
|
37184
|
+
return this.request("GET", ENDPOINTS.ORG_EDGE_PROFILES(orgId, edgeId));
|
|
37185
|
+
}
|
|
37186
|
+
// ---- Clip connections ----
|
|
37187
|
+
async listClipConnections(orgId, clipId) {
|
|
37188
|
+
return this.request("GET", ENDPOINTS.CLIP_CONNECTIONS(orgId, clipId));
|
|
37189
|
+
}
|
|
37190
|
+
async createClipConnection(orgId, clipId, input) {
|
|
37191
|
+
return this.request("POST", ENDPOINTS.CLIP_CONNECTIONS(orgId, clipId), input);
|
|
37192
|
+
}
|
|
37193
|
+
async deleteClipConnection(orgId, connId) {
|
|
37194
|
+
return this.request("DELETE", ENDPOINTS.CLIP_CONNECTION(orgId, connId));
|
|
37195
|
+
}
|
|
37125
37196
|
};
|
|
37126
37197
|
function normalizeWikiChangeset(changeset) {
|
|
37127
37198
|
return {
|