@parall/daemon 1.40.0 → 1.42.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.
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "1.40.0",
3
- "built_at": "2026-07-09T08:34:15.226Z",
2
+ "version": "1.42.0",
3
+ "built_at": "2026-07-10T09:34:01.969Z",
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": "d3980c23446eeed7fd912cda4a198aee354387e3c5c4b2c7cc9bd1b24e3a1dcf",
20
- "size": 1698869
19
+ "sha256": "95562798926fb0b723619f889fa4d2be99eae8b773a97e29c2a8de3ede4d490c",
20
+ "size": 1699242
21
21
  },
22
22
  "parall-claude-agent.js": {
23
- "sha256": "354ba346da7db4c5ced616c27bc0b04936b0231f1e78dd317c44cea4119d92eb",
24
- "size": 1624014
23
+ "sha256": "f20a92d1684f4046fd310357722ad6d43f9dd1268c4978310a731c0c992db951",
24
+ "size": 1624387
25
25
  },
26
26
  "parall-codex-agent.js": {
27
- "sha256": "ad82b60f2758e8173f8124e71d6399a119764eccd51e73ddcbb2cff5e52ca5e9",
28
- "size": 1654824
27
+ "sha256": "53d270ff246e67c5ee79bc8de7fb4dbcca9134e1857ebae302f8e4d8eaa778f3",
28
+ "size": 1655487
29
29
  },
30
30
  "parall-daemon.js": {
31
- "sha256": "3d1bf453aedd04a896ca20970c92e7646fa7c76fba06d057e1f4a729cb153e2f",
32
- "size": 1719122
31
+ "sha256": "5b6717af1c711311b785ce5ff299f96a098e10cb25bb3e79becf8738c7307fb4",
32
+ "size": 1719527
33
33
  },
34
34
  "parall-openclaw-agent.js": {
35
35
  "sha256": "505433b4bf3a4b8dbb7b96978d8693d6c48079f4513282ff1ee59a6d13b3eddf",
36
36
  "size": 9801
37
37
  }
38
38
  },
39
- "signature": "Qjl/CNbyfJt4UfV4DxlPWA1/E3U+uppQdFASA+oV7h6b66j7NT+v57Ib4rNYcRSAtoj71e6Fx0e1ATvXLPeqDA=="
39
+ "signature": "MApDqG7PjEmduRtY9CnyY09hqAinVVhySX4+YBD78NkTdTHfs3pkK+6bqY90ChQQbIjCnNtP9dPmX/KFWDtqDg=="
40
40
  }
@@ -35360,6 +35360,7 @@ var ENDPOINTS = {
35360
35360
  DISPATCH_CLAIM: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/claim`,
35361
35361
  DISPATCH_STEER: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/steer`,
35362
35362
  DISPATCH_COMPLETE: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/complete`,
35363
+ DISPATCH_COMPLETE_SOURCES: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/complete-sources`,
35363
35364
  DISPATCH_RELEASE: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/release`,
35364
35365
  DISPATCH_HEARTBEAT: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/heartbeat`,
35365
35366
  // Unread
@@ -36069,9 +36070,8 @@ var ParallClient = class _ParallClient {
36069
36070
  * Wipe a managed agent's entity state — sandbox filesystem, AGENT.md,
36070
36071
  * long-term memory — while keeping the conversation line and channel
36071
36072
  * binding. The destructive counterpart of New Session under the
36072
- * conversation/entity split (managed/parel agents only; 409 NOT_MIGRATED
36073
- * for agents still on the legacy surface, 409 SHARED_AGENT for
36074
- * multi-org memberships).
36073
+ * conversation/entity split (managed/parel agents only; 409 SHARED_AGENT
36074
+ * for multi-org memberships).
36075
36075
  */
36076
36076
  async deepResetAgent(orgId, agentId) {
36077
36077
  return this.request("POST", ENDPOINTS.AGENT_DEEP_RESET(orgId, agentId));
@@ -36450,6 +36450,14 @@ var ParallClient = class _ParallClient {
36450
36450
  async completeDispatch(orgId, req) {
36451
36451
  return this.request("POST", ENDPOINTS.DISPATCH_COMPLETE(orgId), req);
36452
36452
  }
36453
+ /**
36454
+ * End a turn for a lane-less runtime: resolve the turn's folded WorkItems
36455
+ * by source — broad-cover to the turn's reply Effect when one exists,
36456
+ * no_action sweep otherwise. Idempotent.
36457
+ */
36458
+ async completeDispatchSources(orgId, req) {
36459
+ return this.request("POST", ENDPOINTS.DISPATCH_COMPLETE_SOURCES(orgId), req);
36460
+ }
36453
36461
  /** Release a lane on graceful shutdown — members return to pending immediately. */
36454
36462
  async releaseDispatchLane(orgId, lane) {
36455
36463
  return this.request("POST", ENDPOINTS.DISPATCH_RELEASE(orgId), { lane });
@@ -27475,6 +27475,7 @@ var ENDPOINTS = {
27475
27475
  DISPATCH_CLAIM: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/claim`,
27476
27476
  DISPATCH_STEER: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/steer`,
27477
27477
  DISPATCH_COMPLETE: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/complete`,
27478
+ DISPATCH_COMPLETE_SOURCES: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/complete-sources`,
27478
27479
  DISPATCH_RELEASE: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/release`,
27479
27480
  DISPATCH_HEARTBEAT: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/heartbeat`,
27480
27481
  // Unread
@@ -28268,9 +28269,8 @@ var ParallClient = class _ParallClient {
28268
28269
  * Wipe a managed agent's entity state — sandbox filesystem, AGENT.md,
28269
28270
  * long-term memory — while keeping the conversation line and channel
28270
28271
  * binding. The destructive counterpart of New Session under the
28271
- * conversation/entity split (managed/parel agents only; 409 NOT_MIGRATED
28272
- * for agents still on the legacy surface, 409 SHARED_AGENT for
28273
- * multi-org memberships).
28272
+ * conversation/entity split (managed/parel agents only; 409 SHARED_AGENT
28273
+ * for multi-org memberships).
28274
28274
  */
28275
28275
  async deepResetAgent(orgId, agentId) {
28276
28276
  return this.request("POST", ENDPOINTS.AGENT_DEEP_RESET(orgId, agentId));
@@ -28649,6 +28649,14 @@ var ParallClient = class _ParallClient {
28649
28649
  async completeDispatch(orgId, req) {
28650
28650
  return this.request("POST", ENDPOINTS.DISPATCH_COMPLETE(orgId), req);
28651
28651
  }
28652
+ /**
28653
+ * End a turn for a lane-less runtime: resolve the turn's folded WorkItems
28654
+ * by source — broad-cover to the turn's reply Effect when one exists,
28655
+ * no_action sweep otherwise. Idempotent.
28656
+ */
28657
+ async completeDispatchSources(orgId, req) {
28658
+ return this.request("POST", ENDPOINTS.DISPATCH_COMPLETE_SOURCES(orgId), req);
28659
+ }
28652
28660
  /** Release a lane on graceful shutdown — members return to pending immediately. */
28653
28661
  async releaseDispatchLane(orgId, lane) {
28654
28662
  return this.request("POST", ENDPOINTS.DISPATCH_RELEASE(orgId), { lane });
@@ -27475,6 +27475,7 @@ var ENDPOINTS = {
27475
27475
  DISPATCH_CLAIM: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/claim`,
27476
27476
  DISPATCH_STEER: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/steer`,
27477
27477
  DISPATCH_COMPLETE: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/complete`,
27478
+ DISPATCH_COMPLETE_SOURCES: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/complete-sources`,
27478
27479
  DISPATCH_RELEASE: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/release`,
27479
27480
  DISPATCH_HEARTBEAT: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/heartbeat`,
27480
27481
  // Unread
@@ -28268,9 +28269,8 @@ var ParallClient = class _ParallClient {
28268
28269
  * Wipe a managed agent's entity state — sandbox filesystem, AGENT.md,
28269
28270
  * long-term memory — while keeping the conversation line and channel
28270
28271
  * binding. The destructive counterpart of New Session under the
28271
- * conversation/entity split (managed/parel agents only; 409 NOT_MIGRATED
28272
- * for agents still on the legacy surface, 409 SHARED_AGENT for
28273
- * multi-org memberships).
28272
+ * conversation/entity split (managed/parel agents only; 409 SHARED_AGENT
28273
+ * for multi-org memberships).
28274
28274
  */
28275
28275
  async deepResetAgent(orgId, agentId) {
28276
28276
  return this.request("POST", ENDPOINTS.AGENT_DEEP_RESET(orgId, agentId));
@@ -28649,6 +28649,14 @@ var ParallClient = class _ParallClient {
28649
28649
  async completeDispatch(orgId, req) {
28650
28650
  return this.request("POST", ENDPOINTS.DISPATCH_COMPLETE(orgId), req);
28651
28651
  }
28652
+ /**
28653
+ * End a turn for a lane-less runtime: resolve the turn's folded WorkItems
28654
+ * by source — broad-cover to the turn's reply Effect when one exists,
28655
+ * no_action sweep otherwise. Idempotent.
28656
+ */
28657
+ async completeDispatchSources(orgId, req) {
28658
+ return this.request("POST", ENDPOINTS.DISPATCH_COMPLETE_SOURCES(orgId), req);
28659
+ }
28652
28660
  /** Release a lane on graceful shutdown — members return to pending immediately. */
28653
28661
  async releaseDispatchLane(orgId, lane) {
28654
28662
  return this.request("POST", ENDPOINTS.DISPATCH_RELEASE(orgId), { lane });
@@ -33362,10 +33370,12 @@ function normalizeApprovalPolicy(value) {
33362
33370
  never: "never",
33363
33371
  "on-request": "on-request",
33364
33372
  onrequest: "on-request",
33365
- "unless-trusted": "unless-trusted",
33366
- unlesstrusted: "unless-trusted",
33367
- "on-failure": "on-failure",
33368
- onfailure: "on-failure"
33373
+ untrusted: "untrusted",
33374
+ "unless-trusted": "untrusted",
33375
+ unlesstrusted: "untrusted",
33376
+ granular: "granular",
33377
+ "on-failure": "on-request",
33378
+ onfailure: "on-request"
33369
33379
  };
33370
33380
  return map[value.toLowerCase()] ?? value;
33371
33381
  }
@@ -34498,10 +34508,17 @@ var CodexAppServerAdapter = class {
34498
34508
  log2?.warn?.(`failed to prepare local attachments: ${errToString(err)}`);
34499
34509
  }
34500
34510
  const turnInput = buildTurnInput(preparedBody, preparedImages);
34501
- const startTurn = (targetThreadId) => client.sendRequest("turn/start", {
34502
- threadId: targetThreadId,
34503
- input: turnInput
34504
- });
34511
+ const startTurn = (targetThreadId) => {
34512
+ const turnParams = {
34513
+ threadId: targetThreadId,
34514
+ input: turnInput
34515
+ };
34516
+ if (this.opts.model)
34517
+ turnParams.model = this.opts.model;
34518
+ if (this.opts.reasoningEffort)
34519
+ turnParams.effort = this.opts.reasoningEffort;
34520
+ return client.sendRequest("turn/start", turnParams);
34521
+ };
34505
34522
  let turnStartResult;
34506
34523
  try {
34507
34524
  turnStartResult = await startTurn(threadId);
@@ -34618,7 +34635,7 @@ var CodexAppServerAdapter = class {
34618
34635
  if (this.opts.model)
34619
34636
  forkParams.model = this.opts.model;
34620
34637
  if (this.opts.reasoningEffort) {
34621
- forkParams.config = { modelReasoningEffort: this.opts.reasoningEffort };
34638
+ forkParams.config = { model_reasoning_effort: this.opts.reasoningEffort };
34622
34639
  }
34623
34640
  const result = await client.sendRequest("thread/fork", forkParams);
34624
34641
  const forkedThreadId = extractThreadId(result);
@@ -34772,7 +34789,7 @@ var CodexAppServerAdapter = class {
34772
34789
  if (this.opts.model)
34773
34790
  commonParams.model = this.opts.model;
34774
34791
  if (this.opts.reasoningEffort) {
34775
- commonParams.config = { modelReasoningEffort: this.opts.reasoningEffort };
34792
+ commonParams.config = { model_reasoning_effort: this.opts.reasoningEffort };
34776
34793
  }
34777
34794
  const method = opts.resumeId ? "thread/resume" : "thread/start";
34778
34795
  const params = opts.resumeId ? { threadId: opts.resumeId, ...commonParams } : { cwd: this.opts.workspaceDir, ...commonParams };
@@ -461,6 +461,7 @@ var init_constants = __esm({
461
461
  DISPATCH_CLAIM: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/claim`,
462
462
  DISPATCH_STEER: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/steer`,
463
463
  DISPATCH_COMPLETE: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/complete`,
464
+ DISPATCH_COMPLETE_SOURCES: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/complete-sources`,
464
465
  DISPATCH_RELEASE: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/release`,
465
466
  DISPATCH_HEARTBEAT: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/heartbeat`,
466
467
  // Unread
@@ -1295,9 +1296,8 @@ var init_client = __esm({
1295
1296
  * Wipe a managed agent's entity state — sandbox filesystem, AGENT.md,
1296
1297
  * long-term memory — while keeping the conversation line and channel
1297
1298
  * binding. The destructive counterpart of New Session under the
1298
- * conversation/entity split (managed/parel agents only; 409 NOT_MIGRATED
1299
- * for agents still on the legacy surface, 409 SHARED_AGENT for
1300
- * multi-org memberships).
1299
+ * conversation/entity split (managed/parel agents only; 409 SHARED_AGENT
1300
+ * for multi-org memberships).
1301
1301
  */
1302
1302
  async deepResetAgent(orgId, agentId) {
1303
1303
  return this.request("POST", ENDPOINTS.AGENT_DEEP_RESET(orgId, agentId));
@@ -1676,6 +1676,14 @@ var init_client = __esm({
1676
1676
  async completeDispatch(orgId, req) {
1677
1677
  return this.request("POST", ENDPOINTS.DISPATCH_COMPLETE(orgId), req);
1678
1678
  }
1679
+ /**
1680
+ * End a turn for a lane-less runtime: resolve the turn's folded WorkItems
1681
+ * by source — broad-cover to the turn's reply Effect when one exists,
1682
+ * no_action sweep otherwise. Idempotent.
1683
+ */
1684
+ async completeDispatchSources(orgId, req) {
1685
+ return this.request("POST", ENDPOINTS.DISPATCH_COMPLETE_SOURCES(orgId), req);
1686
+ }
1679
1687
  /** Release a lane on graceful shutdown — members return to pending immediately. */
1680
1688
  async releaseDispatchLane(orgId, lane) {
1681
1689
  return this.request("POST", ENDPOINTS.DISPATCH_RELEASE(orgId), { lane });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@parall/daemon",
3
- "version": "1.40.0",
3
+ "version": "1.42.0",
4
4
  "description": "Parall local agent runtime — daemon supervisor + bridge runtimes, bundled as standalone JS files",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -32,11 +32,11 @@
32
32
  "dependencies": {
33
33
  "@aws-sdk/client-s3": "3.984.0",
34
34
  "@pinixai/bb-browser-pro": "0.15.0",
35
- "@parall/sdk": "1.40.0",
36
- "@parall/agent-core": "1.40.0",
37
- "@parall/claude-agent": "1.40.0",
38
- "@parall/codex-agent": "1.40.0",
39
- "@parall/openclaw-agent": "1.40.0"
35
+ "@parall/agent-core": "1.42.0",
36
+ "@parall/sdk": "1.42.0",
37
+ "@parall/claude-agent": "1.42.0",
38
+ "@parall/codex-agent": "1.42.0",
39
+ "@parall/openclaw-agent": "1.42.0"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/node": "^22.0.0",