@parall/daemon 1.50.0 → 1.51.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.
Files changed (38) hide show
  1. package/bundle/manifest.json +11 -11
  2. package/bundle/parall-browser-pod.js +293 -107
  3. package/bundle/parall-claude-agent.js +51 -21
  4. package/bundle/parall-codex-agent.js +51 -21
  5. package/bundle/parall-daemon.js +343 -187
  6. package/dist/browser-pod.d.ts.map +1 -1
  7. package/dist/browser-pod.js +9 -14
  8. package/dist/browser-profile-viewer-control.d.ts +15 -0
  9. package/dist/browser-profile-viewer-control.d.ts.map +1 -0
  10. package/dist/browser-profile-viewer-control.js +27 -0
  11. package/dist/clip-runtime/bb-viewer-command-client.d.ts +19 -0
  12. package/dist/clip-runtime/bb-viewer-command-client.d.ts.map +1 -0
  13. package/dist/clip-runtime/bb-viewer-command-client.js +89 -0
  14. package/dist/clip-runtime/browser-profile-manager.d.ts +3 -1
  15. package/dist/clip-runtime/browser-profile-manager.d.ts.map +1 -1
  16. package/dist/clip-runtime/browser-profile-manager.js +2 -2
  17. package/dist/clip-runtime/browser-viewer-streamer.d.ts +7 -7
  18. package/dist/clip-runtime/browser-viewer-streamer.d.ts.map +1 -1
  19. package/dist/clip-runtime/browser-viewer-streamer.js +39 -47
  20. package/dist/clip-runtime/clip-provider.d.ts +3 -2
  21. package/dist/clip-runtime/clip-provider.d.ts.map +1 -1
  22. package/dist/clip-runtime/clip-provider.js +13 -6
  23. package/dist/clip-runtime/hosted-viewer-command-queue.d.ts +43 -0
  24. package/dist/clip-runtime/hosted-viewer-command-queue.d.ts.map +1 -0
  25. package/dist/clip-runtime/hosted-viewer-command-queue.js +72 -0
  26. package/dist/clip-runtime/index.d.ts +1 -0
  27. package/dist/clip-runtime/index.d.ts.map +1 -1
  28. package/dist/clip-runtime/index.js +1 -0
  29. package/dist/clip-runtime/viewer-command-deadline.d.ts +14 -0
  30. package/dist/clip-runtime/viewer-command-deadline.d.ts.map +1 -0
  31. package/dist/clip-runtime/viewer-command-deadline.js +29 -0
  32. package/dist/clip-runtime/viewer-command-error.d.ts +18 -0
  33. package/dist/clip-runtime/viewer-command-error.d.ts.map +1 -0
  34. package/dist/clip-runtime/viewer-command-error.js +23 -0
  35. package/dist/supervisor.d.ts +0 -8
  36. package/dist/supervisor.d.ts.map +1 -1
  37. package/dist/supervisor.js +3 -32
  38. package/package.json +6 -6
@@ -51291,18 +51291,15 @@ function laneContextFilePath(contextDir, targetUri, threadRootId) {
51291
51291
  return path.join(contextDir, `${laneKeyForTarget(targetUri, threadRootId)}.json`);
51292
51292
  }
51293
51293
 
51294
- // ts/sdk/dist/types.js
51295
- var MENTION_ALL_USER_ID = "all";
51296
- var MENTION_ALL_HUMANS_USER_ID = "allhuman";
51297
- var MENTION_ALL_AGENTS_USER_ID = "allagent";
51298
- function mentionTargetsUser(mentionUserId, userId, userType) {
51299
- if (mentionUserId === userId || mentionUserId === MENTION_ALL_USER_ID)
51300
- return true;
51301
- if (mentionUserId === MENTION_ALL_HUMANS_USER_ID)
51302
- return userType === "human";
51303
- if (mentionUserId === MENTION_ALL_AGENTS_USER_ID)
51304
- return userType === "agent";
51305
- return false;
51294
+ // ts/sdk/dist/browser-viewer.js
51295
+ var BROWSER_VIEWER_READINESS_TIMEOUT_MS = 6e4;
51296
+ function browserViewerRequestOptions(command, opts) {
51297
+ if (command !== "stream.answer" && command !== "stream.switch")
51298
+ return opts;
51299
+ return {
51300
+ ...opts,
51301
+ timeoutMs: Math.max(opts?.timeoutMs ?? 0, BROWSER_VIEWER_READINESS_TIMEOUT_MS)
51302
+ };
51306
51303
  }
51307
51304
 
51308
51305
  // ts/sdk/dist/constants.js
@@ -51633,6 +51630,9 @@ var ENDPOINTS = {
51633
51630
  TEMPLATE: (orgId, templateId) => `${API_BASE}/orgs/${orgId}/templates/${templateId}`,
51634
51631
  TEMPLATE_DEPLOYMENTS: (orgId) => `${API_BASE}/orgs/${orgId}/template-deployments`,
51635
51632
  TEMPLATE_DEPLOYMENT: (orgId, deploymentId) => `${API_BASE}/orgs/${orgId}/template-deployments/${deploymentId}`,
51633
+ CLIP_DEPENDENCIES_CHECK: (orgId) => `${API_BASE}/orgs/${orgId}/clip-dependencies/check`,
51634
+ // Onboarding wizard progress (org-scoped, self)
51635
+ ONBOARDING_PROGRESS: (orgId) => `${API_BASE}/orgs/${orgId}/onboarding`,
51636
51636
  // Billing & Credits (org-scoped)
51637
51637
  BILLING: (orgId) => `${API_BASE}/orgs/${orgId}/billing`,
51638
51638
  BILLING_TRANSACTIONS: (orgId) => `${API_BASE}/orgs/${orgId}/billing/transactions`,
@@ -52187,8 +52187,10 @@ var ParallClient = class _ParallClient {
52187
52187
  q.limit = String(params.limit);
52188
52188
  return this.request("GET", ENDPOINTS.ORG_MEMBER_CHATS(orgId, memberId), void 0, q);
52189
52189
  }
52190
- // Pending tasks (todo + in_progress) assigned to a member. Powers both
52191
- // member profile Activity and the agent startup catch-up flow.
52190
+ // Pending tasks (todo + in_progress) assigned to a member. On-demand listing
52191
+ // (member profile Activity; agents via `parall tasks`) — startup catch-up
52192
+ // runs on dispatch redrive, not this endpoint. Self-assigned tasks appear
52193
+ // here without any dispatch WorkItem (self-assign is deliberately silent).
52192
52194
  async getMemberTasks(orgId, memberId, params) {
52193
52195
  const q = {};
52194
52196
  if (params?.cursor)
@@ -52530,7 +52532,12 @@ var ParallClient = class _ParallClient {
52530
52532
  async getAgentRuntimeRelease(orgId, agentId, tag) {
52531
52533
  return this.request("GET", ENDPOINTS.AGENT_RUNTIME_RELEASE(orgId, agentId, tag));
52532
52534
  }
52533
- /** Fetch all pending tasks (todo/in_progress) assigned to an agent. Pages automatically. */
52535
+ /**
52536
+ * Fetch all pending tasks (todo/in_progress) assigned to an agent. Pages
52537
+ * automatically. On-demand listing only — not a dispatch source: startup
52538
+ * catch-up runs on dispatch redrive, and self-assigned tasks listed here
52539
+ * deliberately have no WorkItem behind them.
52540
+ */
52534
52541
  async getAgentTasks(orgId, agentId) {
52535
52542
  const all = [];
52536
52543
  let cursor;
@@ -52734,11 +52741,7 @@ var ParallClient = class _ParallClient {
52734
52741
  async postBrowseResponse(requestId, response) {
52735
52742
  return this.request("POST", ENDPOINTS.MACHINES_ME_BROWSE_RESPONSE(requestId), response);
52736
52743
  }
52737
- /**
52738
- * `POST /machines/me/browser-profiles/viewer-response/{requestId}` — daemon
52739
- * reply to a `machine.browser_profile.viewer` control command. Wakes the
52740
- * api-server request/reply bridge (mirrors {@link postBrowseResponse}).
52741
- */
52744
+ /** Reply to `machine.browser_profile.viewer` and wake its request/reply bridge. */
52742
52745
  async postBrowserProfileViewerResponse(requestId, response) {
52743
52746
  return this.request("POST", ENDPOINTS.MACHINES_ME_BROWSER_PROFILE_VIEWER_RESPONSE(requestId), response);
52744
52747
  }
@@ -52748,7 +52751,7 @@ var ParallClient = class _ParallClient {
52748
52751
  * owner or org admin. api-server brokers the command to the host daemon.
52749
52752
  */
52750
52753
  async browserViewerCommand(orgId, profileId, req, opts) {
52751
- return this.request("POST", ENDPOINTS.BROWSER_PROFILE_VIEWER_COMMAND(orgId, profileId), req, void 0, false, opts);
52754
+ return this.request("POST", ENDPOINTS.BROWSER_PROFILE_VIEWER_COMMAND(orgId, profileId), req, void 0, false, browserViewerRequestOptions(req.command, opts));
52752
52755
  }
52753
52756
  /**
52754
52757
  * Drive the Cloud Edge live viewer (V1b, design §6): WebRTC signaling + input +
@@ -53536,6 +53539,19 @@ var ParallClient = class _ParallClient {
53536
53539
  async getTemplateDeployment(orgId, deploymentId) {
53537
53540
  return this.request("GET", ENDPOINTS.TEMPLATE_DEPLOYMENT(orgId, deploymentId));
53538
53541
  }
53542
+ /** Pre-deploy dependency connection state (wizard S3). Live answer, no
53543
+ * cache — poll it the way getTemplateDeployment is polled. */
53544
+ async checkClipDependencies(orgId, refs) {
53545
+ const response = await this.request("POST", ENDPOINTS.CLIP_DEPENDENCIES_CHECK(orgId), { refs });
53546
+ return response.results ?? [];
53547
+ }
53548
+ // ---- Onboarding wizard progress (org-scoped, self) ----
53549
+ async getOnboardingProgress(orgId) {
53550
+ return this.request("GET", ENDPOINTS.ONBOARDING_PROGRESS(orgId));
53551
+ }
53552
+ async updateOnboardingProgress(orgId, request3) {
53553
+ return this.request("PATCH", ENDPOINTS.ONBOARDING_PROGRESS(orgId), request3);
53554
+ }
53539
53555
  // ---- Billing & Credits (org-scoped) ----
53540
53556
  async getBilling(orgId) {
53541
53557
  return this.request("GET", ENDPOINTS.BILLING(orgId));
@@ -53932,6 +53948,20 @@ function buildApiError(res, rawErrorBody) {
53932
53948
  return apiError;
53933
53949
  }
53934
53950
 
53951
+ // ts/sdk/dist/types.js
53952
+ var MENTION_ALL_USER_ID = "all";
53953
+ var MENTION_ALL_HUMANS_USER_ID = "allhuman";
53954
+ var MENTION_ALL_AGENTS_USER_ID = "allagent";
53955
+ function mentionTargetsUser(mentionUserId, userId, userType) {
53956
+ if (mentionUserId === userId || mentionUserId === MENTION_ALL_USER_ID)
53957
+ return true;
53958
+ if (mentionUserId === MENTION_ALL_HUMANS_USER_ID)
53959
+ return userType === "human";
53960
+ if (mentionUserId === MENTION_ALL_AGENTS_USER_ID)
53961
+ return userType === "agent";
53962
+ return false;
53963
+ }
53964
+
53935
53965
  // ts/sdk/dist/ws.js
53936
53966
  function isRetryableNetworkError(err) {
53937
53967
  return err instanceof Error && err.name === "ApiError" && "status" in err && err.status === 0;
@@ -51291,18 +51291,15 @@ function laneContextFilePath(contextDir, targetUri, threadRootId) {
51291
51291
  return path.join(contextDir, `${laneKeyForTarget(targetUri, threadRootId)}.json`);
51292
51292
  }
51293
51293
 
51294
- // ts/sdk/dist/types.js
51295
- var MENTION_ALL_USER_ID = "all";
51296
- var MENTION_ALL_HUMANS_USER_ID = "allhuman";
51297
- var MENTION_ALL_AGENTS_USER_ID = "allagent";
51298
- function mentionTargetsUser(mentionUserId, userId, userType) {
51299
- if (mentionUserId === userId || mentionUserId === MENTION_ALL_USER_ID)
51300
- return true;
51301
- if (mentionUserId === MENTION_ALL_HUMANS_USER_ID)
51302
- return userType === "human";
51303
- if (mentionUserId === MENTION_ALL_AGENTS_USER_ID)
51304
- return userType === "agent";
51305
- return false;
51294
+ // ts/sdk/dist/browser-viewer.js
51295
+ var BROWSER_VIEWER_READINESS_TIMEOUT_MS = 6e4;
51296
+ function browserViewerRequestOptions(command, opts) {
51297
+ if (command !== "stream.answer" && command !== "stream.switch")
51298
+ return opts;
51299
+ return {
51300
+ ...opts,
51301
+ timeoutMs: Math.max(opts?.timeoutMs ?? 0, BROWSER_VIEWER_READINESS_TIMEOUT_MS)
51302
+ };
51306
51303
  }
51307
51304
 
51308
51305
  // ts/sdk/dist/constants.js
@@ -51633,6 +51630,9 @@ var ENDPOINTS = {
51633
51630
  TEMPLATE: (orgId, templateId) => `${API_BASE}/orgs/${orgId}/templates/${templateId}`,
51634
51631
  TEMPLATE_DEPLOYMENTS: (orgId) => `${API_BASE}/orgs/${orgId}/template-deployments`,
51635
51632
  TEMPLATE_DEPLOYMENT: (orgId, deploymentId) => `${API_BASE}/orgs/${orgId}/template-deployments/${deploymentId}`,
51633
+ CLIP_DEPENDENCIES_CHECK: (orgId) => `${API_BASE}/orgs/${orgId}/clip-dependencies/check`,
51634
+ // Onboarding wizard progress (org-scoped, self)
51635
+ ONBOARDING_PROGRESS: (orgId) => `${API_BASE}/orgs/${orgId}/onboarding`,
51636
51636
  // Billing & Credits (org-scoped)
51637
51637
  BILLING: (orgId) => `${API_BASE}/orgs/${orgId}/billing`,
51638
51638
  BILLING_TRANSACTIONS: (orgId) => `${API_BASE}/orgs/${orgId}/billing/transactions`,
@@ -52187,8 +52187,10 @@ var ParallClient = class _ParallClient {
52187
52187
  q.limit = String(params.limit);
52188
52188
  return this.request("GET", ENDPOINTS.ORG_MEMBER_CHATS(orgId, memberId), void 0, q);
52189
52189
  }
52190
- // Pending tasks (todo + in_progress) assigned to a member. Powers both
52191
- // member profile Activity and the agent startup catch-up flow.
52190
+ // Pending tasks (todo + in_progress) assigned to a member. On-demand listing
52191
+ // (member profile Activity; agents via `parall tasks`) — startup catch-up
52192
+ // runs on dispatch redrive, not this endpoint. Self-assigned tasks appear
52193
+ // here without any dispatch WorkItem (self-assign is deliberately silent).
52192
52194
  async getMemberTasks(orgId, memberId, params) {
52193
52195
  const q = {};
52194
52196
  if (params?.cursor)
@@ -52530,7 +52532,12 @@ var ParallClient = class _ParallClient {
52530
52532
  async getAgentRuntimeRelease(orgId, agentId, tag) {
52531
52533
  return this.request("GET", ENDPOINTS.AGENT_RUNTIME_RELEASE(orgId, agentId, tag));
52532
52534
  }
52533
- /** Fetch all pending tasks (todo/in_progress) assigned to an agent. Pages automatically. */
52535
+ /**
52536
+ * Fetch all pending tasks (todo/in_progress) assigned to an agent. Pages
52537
+ * automatically. On-demand listing only — not a dispatch source: startup
52538
+ * catch-up runs on dispatch redrive, and self-assigned tasks listed here
52539
+ * deliberately have no WorkItem behind them.
52540
+ */
52534
52541
  async getAgentTasks(orgId, agentId) {
52535
52542
  const all = [];
52536
52543
  let cursor;
@@ -52734,11 +52741,7 @@ var ParallClient = class _ParallClient {
52734
52741
  async postBrowseResponse(requestId, response) {
52735
52742
  return this.request("POST", ENDPOINTS.MACHINES_ME_BROWSE_RESPONSE(requestId), response);
52736
52743
  }
52737
- /**
52738
- * `POST /machines/me/browser-profiles/viewer-response/{requestId}` — daemon
52739
- * reply to a `machine.browser_profile.viewer` control command. Wakes the
52740
- * api-server request/reply bridge (mirrors {@link postBrowseResponse}).
52741
- */
52744
+ /** Reply to `machine.browser_profile.viewer` and wake its request/reply bridge. */
52742
52745
  async postBrowserProfileViewerResponse(requestId, response) {
52743
52746
  return this.request("POST", ENDPOINTS.MACHINES_ME_BROWSER_PROFILE_VIEWER_RESPONSE(requestId), response);
52744
52747
  }
@@ -52748,7 +52751,7 @@ var ParallClient = class _ParallClient {
52748
52751
  * owner or org admin. api-server brokers the command to the host daemon.
52749
52752
  */
52750
52753
  async browserViewerCommand(orgId, profileId, req, opts) {
52751
- return this.request("POST", ENDPOINTS.BROWSER_PROFILE_VIEWER_COMMAND(orgId, profileId), req, void 0, false, opts);
52754
+ return this.request("POST", ENDPOINTS.BROWSER_PROFILE_VIEWER_COMMAND(orgId, profileId), req, void 0, false, browserViewerRequestOptions(req.command, opts));
52752
52755
  }
52753
52756
  /**
52754
52757
  * Drive the Cloud Edge live viewer (V1b, design §6): WebRTC signaling + input +
@@ -53536,6 +53539,19 @@ var ParallClient = class _ParallClient {
53536
53539
  async getTemplateDeployment(orgId, deploymentId) {
53537
53540
  return this.request("GET", ENDPOINTS.TEMPLATE_DEPLOYMENT(orgId, deploymentId));
53538
53541
  }
53542
+ /** Pre-deploy dependency connection state (wizard S3). Live answer, no
53543
+ * cache — poll it the way getTemplateDeployment is polled. */
53544
+ async checkClipDependencies(orgId, refs) {
53545
+ const response = await this.request("POST", ENDPOINTS.CLIP_DEPENDENCIES_CHECK(orgId), { refs });
53546
+ return response.results ?? [];
53547
+ }
53548
+ // ---- Onboarding wizard progress (org-scoped, self) ----
53549
+ async getOnboardingProgress(orgId) {
53550
+ return this.request("GET", ENDPOINTS.ONBOARDING_PROGRESS(orgId));
53551
+ }
53552
+ async updateOnboardingProgress(orgId, request3) {
53553
+ return this.request("PATCH", ENDPOINTS.ONBOARDING_PROGRESS(orgId), request3);
53554
+ }
53539
53555
  // ---- Billing & Credits (org-scoped) ----
53540
53556
  async getBilling(orgId) {
53541
53557
  return this.request("GET", ENDPOINTS.BILLING(orgId));
@@ -53932,6 +53948,20 @@ function buildApiError(res, rawErrorBody) {
53932
53948
  return apiError;
53933
53949
  }
53934
53950
 
53951
+ // ts/sdk/dist/types.js
53952
+ var MENTION_ALL_USER_ID = "all";
53953
+ var MENTION_ALL_HUMANS_USER_ID = "allhuman";
53954
+ var MENTION_ALL_AGENTS_USER_ID = "allagent";
53955
+ function mentionTargetsUser(mentionUserId, userId, userType) {
53956
+ if (mentionUserId === userId || mentionUserId === MENTION_ALL_USER_ID)
53957
+ return true;
53958
+ if (mentionUserId === MENTION_ALL_HUMANS_USER_ID)
53959
+ return userType === "human";
53960
+ if (mentionUserId === MENTION_ALL_AGENTS_USER_ID)
53961
+ return userType === "agent";
53962
+ return false;
53963
+ }
53964
+
53935
53965
  // ts/sdk/dist/ws.js
53936
53966
  function isRetryableNetworkError(err) {
53937
53967
  return err instanceof Error && err.name === "ApiError" && "status" in err && err.status === 0;