@parall/sdk 1.53.0 → 1.55.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/dist/client.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { browserViewerRequestOptions } from './browser-viewer.js';
2
2
  import { API_BASE, ENDPOINTS, WIKI_BASE } from './constants.js';
3
- export class ParallClient {
3
+ import { TaskLabelClient } from './task-label-client.js';
4
+ export class ParallClient extends TaskLabelClient {
4
5
  baseUrl;
5
6
  wikiBaseUrl;
6
7
  token;
@@ -66,6 +67,7 @@ export class ParallClient {
66
67
  return headers;
67
68
  }
68
69
  constructor(options = {}) {
70
+ super();
69
71
  this.baseUrl = options.baseUrl ?? '';
70
72
  // Defaults to baseUrl so existing single-origin consumers (web, desktop,
71
73
  // hosted agents behind one gateway) are unchanged; only split api/wiki
@@ -383,6 +385,44 @@ export class ParallClient {
383
385
  const res = await this.request('GET', ENDPOINTS.TEAMS(orgId));
384
386
  return res.data;
385
387
  }
388
+ async getTeam(orgId, teamId) {
389
+ return this.request('GET', ENDPOINTS.TEAM(orgId, teamId));
390
+ }
391
+ /** Creating, renaming and deleting a team are org-admin actions. */
392
+ async createTeam(orgId, req) {
393
+ return this.request('POST', ENDPOINTS.TEAMS(orgId), req);
394
+ }
395
+ /**
396
+ * Renames a team. The slug cannot be changed — wiki ACL rows reference it as
397
+ * `@slug`, so the server answers 400 SLUG_IMMUTABLE if one is sent.
398
+ */
399
+ async updateTeam(orgId, teamId, req) {
400
+ return this.request('PATCH', ENDPOINTS.TEAM(orgId, teamId), req);
401
+ }
402
+ async deleteTeam(orgId, teamId) {
403
+ return this.request('DELETE', ENDPOINTS.TEAM(orgId, teamId));
404
+ }
405
+ /** Roster with display info; members who left the org are already excluded. */
406
+ async getTeamMembers(orgId, teamId) {
407
+ const res = await this.request('GET', ENDPOINTS.TEAM_MEMBERS(orgId, teamId));
408
+ return res.data;
409
+ }
410
+ /**
411
+ * Adds an org member (human or agent) to a team. Org admins and that team's
412
+ * managers may add ordinary members; adding straight to `manager` is an
413
+ * org-admin action.
414
+ */
415
+ async addTeamMember(orgId, teamId, req) {
416
+ return this.request('POST', ENDPOINTS.TEAM_MEMBERS(orgId, teamId), req);
417
+ }
418
+ /** Appointing or demoting a manager is org-admin only. */
419
+ async updateTeamMember(orgId, teamId, userId, req) {
420
+ return this.request('PATCH', ENDPOINTS.TEAM_MEMBER(orgId, teamId, userId), req);
421
+ }
422
+ /** A team manager may remove ordinary members; removing a peer manager is org-admin only. */
423
+ async removeTeamMember(orgId, teamId, userId) {
424
+ return this.request('DELETE', ENDPOINTS.TEAM_MEMBER(orgId, teamId, userId));
425
+ }
386
426
  async getOnlineMembers(orgId) {
387
427
  const res = await this.request('GET', ENDPOINTS.ORG_MEMBERS_ONLINE(orgId));
388
428
  return res.user_ids ?? [];
@@ -1191,117 +1231,6 @@ export class ParallClient {
1191
1231
  }
1192
1232
  return res.json();
1193
1233
  }
1194
- // ---- Tasks (org-scoped) ----
1195
- async createTask(orgId, data) {
1196
- return this.request('POST', ENDPOINTS.TASKS(orgId), data);
1197
- }
1198
- async getTasks(orgId, params) {
1199
- return this.request('GET', ENDPOINTS.TASKS(orgId), undefined, params);
1200
- }
1201
- async getTask(orgId, taskId) {
1202
- return this.request('GET', ENDPOINTS.TASK(orgId, taskId));
1203
- }
1204
- async updateTask(orgId, taskId, data) {
1205
- return this.request('PATCH', ENDPOINTS.TASK(orgId, taskId), data);
1206
- }
1207
- async deleteTask(orgId, taskId, opts) {
1208
- return this.request('DELETE', ENDPOINTS.TASK(orgId, taskId), undefined, opts?.force ? { force: 'true' } : undefined);
1209
- }
1210
- async archiveTask(orgId, taskId) {
1211
- return this.request('POST', ENDPOINTS.TASK_ARCHIVE(orgId, taskId));
1212
- }
1213
- async restoreTask(orgId, taskId) {
1214
- return this.request('POST', ENDPOINTS.TASK_RESTORE(orgId, taskId));
1215
- }
1216
- async watchTask(orgId, taskId) {
1217
- return this.request('POST', ENDPOINTS.TASK_WATCH(orgId, taskId));
1218
- }
1219
- async unwatchTask(orgId, taskId) {
1220
- return this.request('DELETE', ENDPOINTS.TASK_WATCH(orgId, taskId));
1221
- }
1222
- async getTaskWatchers(orgId, taskId) {
1223
- const res = await this.request('GET', ENDPOINTS.TASK_WATCHERS(orgId, taskId));
1224
- return res.data;
1225
- }
1226
- async subscribeTaskMember(orgId, taskId, userId) {
1227
- return this.request('PUT', ENDPOINTS.TASK_SUBSCRIBER(orgId, taskId, userId));
1228
- }
1229
- async unsubscribeTaskMember(orgId, taskId, userId) {
1230
- return this.request('DELETE', ENDPOINTS.TASK_SUBSCRIBER(orgId, taskId, userId));
1231
- }
1232
- async watchThread(threadRootId) {
1233
- return this.request('POST', ENDPOINTS.MESSAGE_WATCH(threadRootId));
1234
- }
1235
- async unwatchThread(threadRootId) {
1236
- return this.request('DELETE', ENDPOINTS.MESSAGE_WATCH(threadRootId));
1237
- }
1238
- async getThreadWatchers(threadRootId) {
1239
- const res = await this.request('GET', ENDPOINTS.MESSAGE_WATCHERS(threadRootId));
1240
- return res.data;
1241
- }
1242
- async isWatchingThread(threadRootId) {
1243
- const res = await this.request('GET', ENDPOINTS.MESSAGE_WATCHING(threadRootId));
1244
- return res.watching;
1245
- }
1246
- async getSubtasks(orgId, taskId) {
1247
- const res = await this.request('GET', ENDPOINTS.TASK_SUBTASKS(orgId, taskId));
1248
- return res.data;
1249
- }
1250
- async createTaskRelation(orgId, taskId, data) {
1251
- return this.request('POST', ENDPOINTS.TASK_RELATIONS(orgId, taskId), data);
1252
- }
1253
- async getTaskRelations(orgId, taskId) {
1254
- const res = await this.request('GET', ENDPOINTS.TASK_RELATIONS(orgId, taskId));
1255
- return res.data;
1256
- }
1257
- async listTaskRelationsByTarget(orgId, params) {
1258
- const query = new URLSearchParams({
1259
- target_type: params.target_type,
1260
- target_id: params.target_id,
1261
- });
1262
- const res = await this.request('GET', `${ENDPOINTS.TASK_RELATIONS_BY_TARGET(orgId)}?${query.toString()}`);
1263
- return res.data;
1264
- }
1265
- async deleteTaskRelation(orgId, taskId, relationId) {
1266
- return this.request('DELETE', ENDPOINTS.TASK_RELATION(orgId, taskId, relationId));
1267
- }
1268
- // ---- Task Comments ----
1269
- async getTaskComments(orgId, taskId, params) {
1270
- return this.request('GET', ENDPOINTS.TASK_COMMENTS(orgId, taskId), undefined, params);
1271
- }
1272
- async getTaskComment(orgId, taskId, commentId) {
1273
- return this.request('GET', ENDPOINTS.TASK_COMMENT(orgId, taskId, commentId));
1274
- }
1275
- async createTaskComment(orgId, taskId, data) {
1276
- return this.request('POST', ENDPOINTS.TASK_COMMENTS(orgId, taskId), data);
1277
- }
1278
- async updateTaskComment(orgId, taskId, commentId, data) {
1279
- return this.request('PATCH', ENDPOINTS.TASK_COMMENT(orgId, taskId, commentId), data);
1280
- }
1281
- async deleteTaskComment(orgId, taskId, commentId) {
1282
- return this.request('DELETE', ENDPOINTS.TASK_COMMENT(orgId, taskId, commentId));
1283
- }
1284
- // ---- Task Activities ----
1285
- async getTaskActivities(orgId, taskId, params) {
1286
- return this.request('GET', ENDPOINTS.TASK_ACTIVITIES(orgId, taskId), undefined, params);
1287
- }
1288
- // ---- Projects (org-scoped) ----
1289
- async createProject(orgId, data) {
1290
- return this.request('POST', ENDPOINTS.PROJECTS(orgId), data);
1291
- }
1292
- async getProjects(orgId) {
1293
- const res = await this.request('GET', ENDPOINTS.PROJECTS(orgId));
1294
- return res.data;
1295
- }
1296
- async getProject(orgId, projectId) {
1297
- return this.request('GET', ENDPOINTS.PROJECT(orgId, projectId));
1298
- }
1299
- async updateProject(orgId, projectId, data) {
1300
- return this.request('PATCH', ENDPOINTS.PROJECT(orgId, projectId), data);
1301
- }
1302
- async deleteProject(orgId, projectId) {
1303
- return this.request('DELETE', ENDPOINTS.PROJECT(orgId, projectId));
1304
- }
1305
1234
  // ---- Schedules (org-scoped) ----
1306
1235
  async createSchedule(orgId, input) {
1307
1236
  return this.request('POST', ENDPOINTS.SCHEDULES(orgId), input);
@@ -1439,12 +1368,26 @@ export class ParallClient {
1439
1368
  }
1440
1369
  /**
1441
1370
  * WeChat tier-B read verb (agent-only; internal research preview): the
1442
- * account's address book — friend wxids, saved group room ids, followed
1443
- * official accounts. Same live gate as the send verb.
1371
+ * account's address book — friends/chatrooms enriched with display names,
1372
+ * followed official accounts. Same live gate as the send verb.
1444
1373
  */
1445
1374
  async listWechatContacts(orgId) {
1446
1375
  return this.request('GET', ENDPOINTS.WECHAT_CONTACTS(orgId));
1447
1376
  }
1377
+ /**
1378
+ * WeChat tier-B read verb (agent-only): the connected account's identity
1379
+ * (wxid / alias / nickName / app id).
1380
+ */
1381
+ async wechatProfile(orgId) {
1382
+ return this.request('GET', ENDPOINTS.WECHAT_PROFILE(orgId));
1383
+ }
1384
+ /**
1385
+ * WeChat tier-B read verb (agent-only): live online probe + identity +
1386
+ * the platform's offline record.
1387
+ */
1388
+ async wechatStatus(orgId) {
1389
+ return this.request('GET', ENDPOINTS.WECHAT_STATUS(orgId));
1390
+ }
1448
1391
  async listChannelConversations(orgId, connectionId) {
1449
1392
  return this.request('GET', ENDPOINTS.CHANNEL_CONNECTION_CONVERSATIONS(orgId, connectionId));
1450
1393
  }
@@ -1786,6 +1729,7 @@ export class ParallClient {
1786
1729
  return this.request('PATCH', ENDPOINTS.NOTIFICATION_PREFERENCES, { prefs });
1787
1730
  }
1788
1731
  // ---- Feature Flags (org-scoped, server-evaluated) ----
1732
+ /** Omit orgId to resolve deployment capabilities before joining an org. */
1789
1733
  async getFeatureFlags(orgId) {
1790
1734
  return this.request('GET', ENDPOINTS.FEATURE_FLAGS(orgId));
1791
1735
  }
@@ -1806,6 +1750,52 @@ export class ParallClient {
1806
1750
  timeoutMs: 185_000,
1807
1751
  });
1808
1752
  }
1753
+ /** Queue a template deployment and poll its durable deployment row. Each
1754
+ * request is short-lived; closing the client does not cancel server work. */
1755
+ async deployTemplateAsync(orgId, request, idempotencyKey) {
1756
+ const queue = () => this.request('POST', ENDPOINTS.TEMPLATE_DEPLOYMENTS(orgId), {
1757
+ ...request,
1758
+ async: true,
1759
+ idempotency_key: idempotencyKey,
1760
+ });
1761
+ let result;
1762
+ for (let attempt = 0; attempt < 2 && result === undefined; attempt += 1) {
1763
+ try {
1764
+ result = await queue();
1765
+ }
1766
+ catch (error) {
1767
+ // A lost response or transient server failure is safe to retry because
1768
+ // the key resolves to the same deployment row rather than starting a
1769
+ // second team. A second transient failure remains outcome-unknown.
1770
+ if (!(error instanceof ApiError) || (error.status !== 0 && error.status < 500))
1771
+ throw error;
1772
+ }
1773
+ }
1774
+ if (result === undefined) {
1775
+ throw new ApiError(0, 'Template deployment request outcome is unknown', 'NETWORK_ERROR');
1776
+ }
1777
+ const deadline = Date.now() + 30 * 60 * 1000;
1778
+ while (result.status === 'queued' || result.status === 'deploying') {
1779
+ if (Date.now() >= deadline) {
1780
+ throw new ApiError(0, 'Template deployment is still running', 'REQUEST_TIMEOUT');
1781
+ }
1782
+ await new Promise((resolve) => setTimeout(resolve, 2000));
1783
+ try {
1784
+ result = await this.request('GET', ENDPOINTS.TEMPLATE_DEPLOYMENT(orgId, result.deployment_id));
1785
+ }
1786
+ catch (error) {
1787
+ if (!(error instanceof ApiError) || (error.status !== 0 && error.status < 500))
1788
+ throw error;
1789
+ // A network failure or transient server error does not change the
1790
+ // durable deployment. Keep polling instead of presenting a definite
1791
+ // failure that could make a fresh-key retry create another team.
1792
+ }
1793
+ }
1794
+ if (result.status !== 'deployed') {
1795
+ throw new ApiError(500, result.error?.message ?? 'Template deployment failed', result.error?.code);
1796
+ }
1797
+ return result;
1798
+ }
1809
1799
  async getTemplateDeployment(orgId, deploymentId) {
1810
1800
  return this.request('GET', ENDPOINTS.TEMPLATE_DEPLOYMENT(orgId, deploymentId));
1811
1801
  }
@@ -2022,6 +2012,11 @@ export class ParallClient {
2022
2012
  async uninstallRegistryClip(orgId, clipId) {
2023
2013
  await this.request('DELETE', ENDPOINTS.ORG_CLIP_UNINSTALL(orgId, clipId));
2024
2014
  }
2015
+ /** Best-effort provider revoke followed by atomic local removal of an
2016
+ * installed Official MCP Clip and all org-owned connection state. */
2017
+ async removeOfficialMCPClip(orgId, clipId) {
2018
+ return this.request('DELETE', ENDPOINTS.ORG_CLIP_MCP_REMOVE(orgId, clipId));
2019
+ }
2025
2020
  /** List the org's installed registry clips (full entries). */
2026
2021
  async listInstalledRegistryClips(orgId) {
2027
2022
  const resp = await this.request('GET', ENDPOINTS.ORG_CLIPS_INSTALLED(orgId));
@@ -2225,12 +2220,14 @@ export class ParallClient {
2225
2220
  async deleteClipConnection(orgId, connId) {
2226
2221
  return this.request('DELETE', ENDPOINTS.CLIP_CONNECTION(orgId, connId));
2227
2222
  }
2228
- // ---- MCP clip server config (cap:clip-mcp; publisher-org only) ----
2223
+ // ---- MCP clip server config (same-org or reviewed Official OAuth) ----
2229
2224
  /**
2230
- * Read the redacted MCP config. 404 NOT_FOUND when the clip has none yet;
2231
- * 403 MCP_CROSS_ORG_DISABLED for a cross-org installed clip (the whole
2232
- * mcp-config family is publisher-org property, reads included). `version`
2233
- * is the CAS token the mutations echo via If-Match.
2225
+ * Read the redacted MCP config. 404 NOT_FOUND when the clip has none yet
2226
+ * and also when a cross-org clip is not public + approved + installed, which
2227
+ * reads as nonexistent rather than refused (same existence-hiding as exec).
2228
+ * A cross-org clip that IS installed and approved reads fine regardless of
2229
+ * auth shape; what may then be configured is decided per credential owner.
2230
+ * `version` is the CAS token the mutations echo via If-Match.
2234
2231
  */
2235
2232
  async getClipMCPConfig(orgId, clipId) {
2236
2233
  return this.request('GET', ENDPOINTS.ORG_CLIP_MCP_CONFIG(orgId, clipId));
@@ -2263,6 +2260,30 @@ export class ParallClient {
2263
2260
  async deleteClipMCPConfig(orgId, clipId, expectedVersion) {
2264
2261
  return this.request('DELETE', ENDPOINTS.ORG_CLIP_MCP_CONFIG(orgId, clipId), undefined, undefined, false, { headers: { 'If-Match': `"${expectedVersion}"` } });
2265
2262
  }
2263
+ /**
2264
+ * List the org's MCP connections for a clip, default first — one row per
2265
+ * connection (credential slot), WITHOUT the tools snapshot (`tool_count`
2266
+ * summarizes it; the per-config GET carries the full snapshot). Same
2267
+ * family-wide fence as the singular GET: same-org clips, or a cross-org clip
2268
+ * that is public + approved + installed; anything else reads as
2269
+ * `404 NOT_FOUND`. An installed cross-org clip with no connection yet lists
2270
+ * as an empty array — including one whose approved auth mode cannot be
2271
+ * configured at all (auth=none), which the write path is what refuses. With
2272
+ * `cap:clip-mcp` off the route is not registered at all.
2273
+ */
2274
+ async listClipMCPConnections(orgId, clipId) {
2275
+ return this.request('GET', ENDPOINTS.ORG_CLIP_MCP_CONFIGS(orgId, clipId));
2276
+ }
2277
+ /** Start a new Official OAuth MCP connection with the platform-owned app.
2278
+ * Omitting oauth_client is load-bearing: the server resolves the exact
2279
+ * reviewed-version binding and never falls back to DCR/CIMD cross-org. */
2280
+ async createClipMCPOAuthConnection(orgId, clipId, serverUrl, alias) {
2281
+ return this.request('POST', ENDPOINTS.ORG_CLIP_MCP_CONFIGS(orgId, clipId), {
2282
+ server_url: serverUrl,
2283
+ auth_type: 'oauth',
2284
+ ...(alias ? { alias } : {}),
2285
+ });
2286
+ }
2266
2287
  /**
2267
2288
  * Re-run tools/list and replace the cached snapshot (org-admin only).
2268
2289
  * Deliberately does NOT advance the CAS version, so an in-flight edit in
@@ -359,6 +359,9 @@ export declare const ENDPOINTS: {
359
359
  readonly ORG_MEMBERS: (orgId: string) => string;
360
360
  readonly ORG_MEMBERS_FORMER: (orgId: string) => string;
361
361
  readonly TEAMS: (orgId: string) => string;
362
+ readonly TEAM: (orgId: string, teamId: string) => string;
363
+ readonly TEAM_MEMBERS: (orgId: string, teamId: string) => string;
364
+ readonly TEAM_MEMBER: (orgId: string, teamId: string, userId: string) => string;
362
365
  readonly ORG_MEMBERS_ONLINE: (orgId: string) => string;
363
366
  readonly ORG_MEMBER: (orgId: string, userId: string) => string;
364
367
  readonly ORG_MEMBER_CHATS: (orgId: string, memberId: string) => string;
@@ -456,6 +459,7 @@ export declare const ENDPOINTS: {
456
459
  readonly MACHINES_ME_BROWSE_RESPONSE: (requestId: string) => string;
457
460
  readonly MACHINES_ME_BROWSER_PROFILE_VIEWER_RESPONSE: (requestId: string) => string;
458
461
  readonly TASKS: (orgId: string) => string;
462
+ readonly TASK_SUBTASK_SUMMARY: (orgId: string) => string;
459
463
  readonly TASK: (orgId: string, taskId: string) => string;
460
464
  readonly TASK_ARCHIVE: (orgId: string, taskId: string) => string;
461
465
  readonly TASK_RESTORE: (orgId: string, taskId: string) => string;
@@ -469,7 +473,12 @@ export declare const ENDPOINTS: {
469
473
  readonly TASK_COMMENTS: (orgId: string, taskId: string) => string;
470
474
  readonly TASK_COMMENT: (orgId: string, taskId: string, commentId: string) => string;
471
475
  readonly TASK_ACTIVITIES: (orgId: string, taskId: string) => string;
476
+ readonly TASK_LABELS: (orgId: string, taskId: string) => string;
477
+ readonly TASK_LABEL: (orgId: string, taskId: string, labelId: string) => string;
478
+ readonly LABELS: (orgId: string) => string;
479
+ readonly LABEL: (orgId: string, labelId: string) => string;
472
480
  readonly PROJECTS: (orgId: string) => string;
481
+ readonly PROJECT_TASK_SUMMARY: (orgId: string) => string;
473
482
  readonly PROJECT: (orgId: string, projectId: string) => string;
474
483
  readonly SCHEDULES: (orgId: string) => string;
475
484
  readonly SCHEDULE: (orgId: string, id: string) => string;
@@ -508,6 +517,8 @@ export declare const ENDPOINTS: {
508
517
  readonly SLACK_MEMBERS: (orgId: string) => string;
509
518
  readonly SLACK_STATUS: (orgId: string) => string;
510
519
  readonly WECHAT_CONTACTS: (orgId: string) => string;
520
+ readonly WECHAT_PROFILE: (orgId: string) => string;
521
+ readonly WECHAT_STATUS: (orgId: string) => string;
511
522
  readonly ORG_INVITATIONS: (orgId: string) => string;
512
523
  readonly ORG_INVITATION: (orgId: string, invId: string) => string;
513
524
  readonly ORG_INVITATION_RESEND: (orgId: string, invId: string) => string;
@@ -598,7 +609,7 @@ export declare const ENDPOINTS: {
598
609
  readonly PUSH_VAPID_KEY: "/api/v1/push/vapid-key";
599
610
  readonly NOTIFICATION_PREFERENCES: "/api/v1/notification-preferences";
600
611
  readonly SEARCH: (orgId: string) => string;
601
- readonly FEATURE_FLAGS: (orgId: string) => string;
612
+ readonly FEATURE_FLAGS: (orgId?: string) => string;
602
613
  readonly TEMPLATES: (orgId: string) => string;
603
614
  readonly TEMPLATE: (orgId: string, templateId: string) => string;
604
615
  readonly TEMPLATE_DEPLOYMENTS: (orgId: string) => string;
@@ -647,10 +658,15 @@ export declare const ENDPOINTS: {
647
658
  readonly ORG_CLIP_INSTALL: (orgId: string) => string;
648
659
  readonly ORG_CLIPS_INSTALLED: (orgId: string) => string;
649
660
  readonly ORG_CLIP_UNINSTALL: (orgId: string, clipId: string) => string;
661
+ readonly ORG_CLIP_MCP_REMOVE: (orgId: string, clipId: string) => string;
650
662
  readonly ORG_CLIP_EXEC_ACCESS: (orgId: string, clipId: string) => string;
651
663
  readonly ORG_CLIP_MCP_CONFIG: (orgId: string, clipId: string) => string;
652
664
  readonly ORG_CLIP_MCP_TOOLS_REFRESH: (orgId: string, clipId: string) => string;
653
665
  readonly ORG_CLIP_MCP_OAUTH_DISCONNECT: (orgId: string, clipId: string) => string;
666
+ readonly ORG_CLIP_MCP_CONFIGS: (orgId: string, clipId: string) => string;
667
+ readonly ORG_CLIP_MCP_CONFIG_BY_ID: (orgId: string, clipId: string, configId: string) => string;
668
+ readonly ORG_CLIP_MCP_TOOLS_REFRESH_BY_ID: (orgId: string, clipId: string, configId: string) => string;
669
+ readonly ORG_CLIP_MCP_OAUTH_DISCONNECT_BY_ID: (orgId: string, clipId: string, configId: string) => string;
654
670
  };
655
671
  /**
656
672
  * Wiki personal-namespace prefix — the path subtree a member owns for
@@ -706,6 +722,9 @@ export declare const WS_EVENTS: {
706
722
  readonly PROJECT_CREATED: "project.created";
707
723
  readonly PROJECT_UPDATED: "project.updated";
708
724
  readonly PROJECT_DELETED: "project.deleted";
725
+ readonly LABEL_CREATED: "label.created";
726
+ readonly LABEL_UPDATED: "label.updated";
727
+ readonly LABEL_DELETED: "label.deleted";
709
728
  readonly AGENT_SESSION_NEW: "agent_session.new";
710
729
  readonly AGENT_SESSION_UPDATE: "agent_session.update";
711
730
  readonly AGENT_STEP_NEW: "agent_step.new";
@@ -716,6 +735,7 @@ export declare const WS_EVENTS: {
716
735
  readonly ORG_JOIN_REQUEST_NEW: "org.join_request.new";
717
736
  readonly ORG_INVITE_LINK_JOINED: "org.invite_link.joined";
718
737
  readonly ORG_MEMBER_REMOVED: "org.member.removed";
738
+ readonly ORG_MEMBER_PROFILE_UPDATED: "org.member.profile.updated";
719
739
  readonly AGENT_CONFIG_UPDATE: "agent_config.update";
720
740
  readonly PRESENCE_UPDATE: "presence.update";
721
741
  readonly WIKI_CHANGESET_CREATED: "wiki.changeset.created";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
package/dist/constants.js CHANGED
@@ -358,6 +358,9 @@ export const ENDPOINTS = {
358
358
  ORG_MEMBERS: (orgId) => `${API_BASE}/orgs/${orgId}/members`,
359
359
  ORG_MEMBERS_FORMER: (orgId) => `${API_BASE}/orgs/${orgId}/members/former`,
360
360
  TEAMS: (orgId) => `${API_BASE}/orgs/${orgId}/teams`,
361
+ TEAM: (orgId, teamId) => `${API_BASE}/orgs/${orgId}/teams/${teamId}`,
362
+ TEAM_MEMBERS: (orgId, teamId) => `${API_BASE}/orgs/${orgId}/teams/${teamId}/members`,
363
+ TEAM_MEMBER: (orgId, teamId, userId) => `${API_BASE}/orgs/${orgId}/teams/${teamId}/members/${userId}`,
361
364
  ORG_MEMBERS_ONLINE: (orgId) => `${API_BASE}/orgs/${orgId}/members/online`,
362
365
  ORG_MEMBER: (orgId, userId) => `${API_BASE}/orgs/${orgId}/members/${userId}`,
363
366
  ORG_MEMBER_CHATS: (orgId, memberId) => `${API_BASE}/orgs/${orgId}/members/${memberId}/chats`,
@@ -480,6 +483,7 @@ export const ENDPOINTS = {
480
483
  MACHINES_ME_BROWSER_PROFILE_VIEWER_RESPONSE: (requestId) => `${API_BASE}/machines/me/browser-profiles/viewer-response/${requestId}`,
481
484
  // Tasks (org-scoped)
482
485
  TASKS: (orgId) => `${API_BASE}/orgs/${orgId}/tasks`,
486
+ TASK_SUBTASK_SUMMARY: (orgId) => `${API_BASE}/orgs/${orgId}/tasks/subtask-summary`,
483
487
  TASK: (orgId, taskId) => `${API_BASE}/orgs/${orgId}/tasks/${taskId}`,
484
488
  TASK_ARCHIVE: (orgId, taskId) => `${API_BASE}/orgs/${orgId}/tasks/${taskId}/archive`,
485
489
  TASK_RESTORE: (orgId, taskId) => `${API_BASE}/orgs/${orgId}/tasks/${taskId}/restore`,
@@ -493,8 +497,14 @@ export const ENDPOINTS = {
493
497
  TASK_COMMENTS: (orgId, taskId) => `${API_BASE}/orgs/${orgId}/tasks/${taskId}/comments`,
494
498
  TASK_COMMENT: (orgId, taskId, commentId) => `${API_BASE}/orgs/${orgId}/tasks/${taskId}/comments/${commentId}`,
495
499
  TASK_ACTIVITIES: (orgId, taskId) => `${API_BASE}/orgs/${orgId}/tasks/${taskId}/activities`,
500
+ TASK_LABELS: (orgId, taskId) => `${API_BASE}/orgs/${orgId}/tasks/${taskId}/labels`,
501
+ TASK_LABEL: (orgId, taskId, labelId) => `${API_BASE}/orgs/${orgId}/tasks/${taskId}/labels/${labelId}`,
502
+ // Labels (org-scoped vocabulary; writes are admin-gated)
503
+ LABELS: (orgId) => `${API_BASE}/orgs/${orgId}/labels`,
504
+ LABEL: (orgId, labelId) => `${API_BASE}/orgs/${orgId}/labels/${labelId}`,
496
505
  // Projects (org-scoped)
497
506
  PROJECTS: (orgId) => `${API_BASE}/orgs/${orgId}/projects`,
507
+ PROJECT_TASK_SUMMARY: (orgId) => `${API_BASE}/orgs/${orgId}/projects/task-summary`,
498
508
  PROJECT: (orgId, projectId) => `${API_BASE}/orgs/${orgId}/projects/${projectId}`,
499
509
  // Schedules (org-scoped, platform time trigger primitive)
500
510
  SCHEDULES: (orgId) => `${API_BASE}/orgs/${orgId}/schedules`,
@@ -537,8 +547,10 @@ export const ENDPOINTS = {
537
547
  SLACK_HISTORY: (orgId) => `${API_BASE}/orgs/${orgId}/agents/me/slack/history`,
538
548
  SLACK_MEMBERS: (orgId) => `${API_BASE}/orgs/${orgId}/agents/me/slack/members`,
539
549
  SLACK_STATUS: (orgId) => `${API_BASE}/orgs/${orgId}/agents/me/slack/status`,
540
- // WeChat tier-B read verb (agent-only; internal research preview).
550
+ // WeChat tier-B read verbs (agent-only; internal research preview).
541
551
  WECHAT_CONTACTS: (orgId) => `${API_BASE}/orgs/${orgId}/agents/me/wechat/contacts`,
552
+ WECHAT_PROFILE: (orgId) => `${API_BASE}/orgs/${orgId}/agents/me/wechat/profile`,
553
+ WECHAT_STATUS: (orgId) => `${API_BASE}/orgs/${orgId}/agents/me/wechat/status`,
542
554
  // Invitations (org-scoped, admin)
543
555
  ORG_INVITATIONS: (orgId) => `${API_BASE}/orgs/${orgId}/invitations`,
544
556
  ORG_INVITATION: (orgId, invId) => `${API_BASE}/orgs/${orgId}/invitations/${invId}`,
@@ -652,8 +664,10 @@ export const ENDPOINTS = {
652
664
  NOTIFICATION_PREFERENCES: `${API_BASE}/notification-preferences`,
653
665
  // Unified search (messages + tasks + wiki, org-scoped)
654
666
  SEARCH: (orgId) => `${API_BASE}/orgs/${orgId}/search`,
655
- // Feature flags (org-scoped, server-evaluated)
656
- FEATURE_FLAGS: (orgId) => `${API_BASE}/orgs/${orgId}/feature-flags`,
667
+ // Feature flags (server-evaluated). Org-scoped by default; omit the org for
668
+ // the pre-org form, which resolves "cap:" capabilities only (PostHog flags
669
+ // are org-scoped and absent there) for callers that have no org yet.
670
+ FEATURE_FLAGS: (orgId) => orgId ? `${API_BASE}/orgs/${orgId}/feature-flags` : `${API_BASE}/feature-flags`,
657
671
  // Team templates (org-scoped, owner/admin only)
658
672
  TEMPLATES: (orgId) => `${API_BASE}/orgs/${orgId}/templates`,
659
673
  TEMPLATE: (orgId, templateId) => `${API_BASE}/orgs/${orgId}/templates/${templateId}`,
@@ -725,13 +739,21 @@ export const ENDPOINTS = {
725
739
  ORG_CLIP_INSTALL: (orgId) => `/api/v1/orgs/${orgId}/clips/install`,
726
740
  ORG_CLIPS_INSTALLED: (orgId) => `/api/v1/orgs/${orgId}/clips/installed`,
727
741
  ORG_CLIP_UNINSTALL: (orgId, clipId) => `/api/v1/orgs/${orgId}/clips/${clipId}/uninstall`,
742
+ ORG_CLIP_MCP_REMOVE: (orgId, clipId) => `/api/v1/orgs/${orgId}/clips/${clipId}/mcp-remove`,
728
743
  // Per-org agent exec access for one clip (default all agents; PUT human-only)
729
744
  ORG_CLIP_EXEC_ACCESS: (orgId, clipId) => `/api/v1/orgs/${orgId}/clips/${clipId}/exec-access`,
730
- // MCP clip server config (cap:clip-mcp; publisher-org only cross-org gets
731
- // 403 MCP_CROSS_ORG_DISABLED on the whole family, reads included)
745
+ // MCP clip server config (cap:clip-mcp; cross-org is limited to installed,
746
+ // reviewed Official OAuth Clips). The
747
+ // singular family addresses the org's DEFAULT connection (pre-165
748
+ // back-compat shim); the plural family is the multi-connection surface —
749
+ // one config row (credential slot) per connection, addressed by config id.
732
750
  ORG_CLIP_MCP_CONFIG: (orgId, clipId) => `/api/v1/orgs/${orgId}/clip-registry/${clipId}/mcp-config`,
733
751
  ORG_CLIP_MCP_TOOLS_REFRESH: (orgId, clipId) => `/api/v1/orgs/${orgId}/clip-registry/${clipId}/mcp-config/tools/refresh`,
734
752
  ORG_CLIP_MCP_OAUTH_DISCONNECT: (orgId, clipId) => `/api/v1/orgs/${orgId}/clip-registry/${clipId}/mcp-config/oauth/disconnect`,
753
+ ORG_CLIP_MCP_CONFIGS: (orgId, clipId) => `/api/v1/orgs/${orgId}/clip-registry/${clipId}/mcp-configs`,
754
+ ORG_CLIP_MCP_CONFIG_BY_ID: (orgId, clipId, configId) => `/api/v1/orgs/${orgId}/clip-registry/${clipId}/mcp-configs/${configId}`,
755
+ ORG_CLIP_MCP_TOOLS_REFRESH_BY_ID: (orgId, clipId, configId) => `/api/v1/orgs/${orgId}/clip-registry/${clipId}/mcp-configs/${configId}/tools/refresh`,
756
+ ORG_CLIP_MCP_OAUTH_DISCONNECT_BY_ID: (orgId, clipId, configId) => `/api/v1/orgs/${orgId}/clip-registry/${clipId}/mcp-configs/${configId}/oauth/disconnect`,
735
757
  };
736
758
  /**
737
759
  * Wiki personal-namespace prefix — the path subtree a member owns for
@@ -799,6 +821,9 @@ export const WS_EVENTS = {
799
821
  PROJECT_CREATED: 'project.created',
800
822
  PROJECT_UPDATED: 'project.updated',
801
823
  PROJECT_DELETED: 'project.deleted',
824
+ LABEL_CREATED: 'label.created',
825
+ LABEL_UPDATED: 'label.updated',
826
+ LABEL_DELETED: 'label.deleted',
802
827
  AGENT_SESSION_NEW: 'agent_session.new',
803
828
  AGENT_SESSION_UPDATE: 'agent_session.update',
804
829
  AGENT_STEP_NEW: 'agent_step.new',
@@ -809,6 +834,7 @@ export const WS_EVENTS = {
809
834
  ORG_JOIN_REQUEST_NEW: 'org.join_request.new',
810
835
  ORG_INVITE_LINK_JOINED: 'org.invite_link.joined',
811
836
  ORG_MEMBER_REMOVED: 'org.member.removed',
837
+ ORG_MEMBER_PROFILE_UPDATED: 'org.member.profile.updated',
812
838
  AGENT_CONFIG_UPDATE: 'agent_config.update',
813
839
  PRESENCE_UPDATE: 'presence.update',
814
840
  WIKI_CHANGESET_CREATED: 'wiki.changeset.created',
package/dist/index.d.ts CHANGED
@@ -2,6 +2,8 @@ export * from './browser-viewer.js';
2
2
  export type { ParallClientOptions } from './client.js';
3
3
  export { ApiError, ParallClient } from './client.js';
4
4
  export * from './constants.js';
5
+ export * from './subject.js';
6
+ export * from './task-label-types.js';
5
7
  export * from './types.js';
6
8
  export type { ParallWsOptions, WsClientEventMap, WsConnectionState, WsEventHandler, WsEventType, } from './ws.js';
7
9
  export { ParallWs } from './ws.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACrD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,WAAW,GACZ,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACrD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,WAAW,GACZ,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  export * from './browser-viewer.js';
2
2
  export { ApiError, ParallClient } from './client.js';
3
3
  export * from './constants.js';
4
+ export * from './subject.js';
5
+ export * from './task-label-types.js';
4
6
  export * from './types.js';
5
7
  export { ParallWs } from './ws.js';
@@ -0,0 +1,69 @@
1
+ import type { CreateProjectRequest, CreateTaskCommentRequest, CreateTaskRelationRequest, CreateTaskRequest, PaginatedResponse, Project, ProjectTaskSummaryResponse, Task, TaskActivity, TaskComment, TaskRelation, TaskRelationTargetType, TaskSubtaskSummaryResponse, TaskWatcher, ThreadWatcher, UpdateProjectRequest, UpdateTaskCommentRequest, UpdateTaskRequest } from './types.js';
2
+ /** Project and task REST methods shared by every ParallClient instance. */
3
+ export declare abstract class ProjectTaskClient {
4
+ protected abstract request<T>(method: string, path: string, body?: unknown, query?: Record<string, string | number | boolean | undefined>): Promise<T>;
5
+ createTask(orgId: string, data: CreateTaskRequest): Promise<Task>;
6
+ getTasks(orgId: string, params?: {
7
+ q?: string;
8
+ status?: string;
9
+ priority?: string;
10
+ assignee_id?: string;
11
+ parent_id?: string;
12
+ project_id?: string;
13
+ /** Comma-separated label IDs; matching uses any-of semantics. */
14
+ label_ids?: string;
15
+ limit?: number;
16
+ cursor?: string;
17
+ sort?: string;
18
+ order?: string;
19
+ scope?: 'active' | 'archived' | 'all';
20
+ }): Promise<PaginatedResponse<Task>>;
21
+ getTaskSubtaskSummary(orgId: string, params?: {
22
+ assignee_id?: string;
23
+ project_id?: string;
24
+ }): Promise<TaskSubtaskSummaryResponse>;
25
+ getTask(orgId: string, taskId: string): Promise<Task>;
26
+ updateTask(orgId: string, taskId: string, data: UpdateTaskRequest): Promise<Task>;
27
+ deleteTask(orgId: string, taskId: string, opts?: {
28
+ force?: boolean;
29
+ }): Promise<void>;
30
+ archiveTask(orgId: string, taskId: string): Promise<void>;
31
+ restoreTask(orgId: string, taskId: string): Promise<void>;
32
+ watchTask(orgId: string, taskId: string): Promise<void>;
33
+ unwatchTask(orgId: string, taskId: string): Promise<void>;
34
+ getTaskWatchers(orgId: string, taskId: string): Promise<TaskWatcher[]>;
35
+ subscribeTaskMember(orgId: string, taskId: string, userId: string): Promise<void>;
36
+ unsubscribeTaskMember(orgId: string, taskId: string, userId: string): Promise<void>;
37
+ watchThread(threadRootId: string): Promise<void>;
38
+ unwatchThread(threadRootId: string): Promise<void>;
39
+ getThreadWatchers(threadRootId: string): Promise<ThreadWatcher[]>;
40
+ isWatchingThread(threadRootId: string): Promise<boolean>;
41
+ getSubtasks(orgId: string, taskId: string): Promise<Task[]>;
42
+ createTaskRelation(orgId: string, taskId: string, data: CreateTaskRelationRequest): Promise<TaskRelation>;
43
+ getTaskRelations(orgId: string, taskId: string): Promise<TaskRelation[]>;
44
+ listTaskRelationsByTarget(orgId: string, params: {
45
+ target_type: TaskRelationTargetType;
46
+ target_id: string;
47
+ }): Promise<TaskRelation[]>;
48
+ deleteTaskRelation(orgId: string, taskId: string, relationId: string): Promise<void>;
49
+ getTaskComments(orgId: string, taskId: string, params?: {
50
+ limit?: number;
51
+ cursor?: string;
52
+ order?: string;
53
+ }): Promise<PaginatedResponse<TaskComment>>;
54
+ getTaskComment(orgId: string, taskId: string, commentId: string): Promise<TaskComment>;
55
+ createTaskComment(orgId: string, taskId: string, data: CreateTaskCommentRequest): Promise<TaskComment>;
56
+ updateTaskComment(orgId: string, taskId: string, commentId: string, data: UpdateTaskCommentRequest): Promise<TaskComment>;
57
+ deleteTaskComment(orgId: string, taskId: string, commentId: string): Promise<void>;
58
+ getTaskActivities(orgId: string, taskId: string, params?: {
59
+ limit?: number;
60
+ cursor?: string;
61
+ }): Promise<PaginatedResponse<TaskActivity>>;
62
+ createProject(orgId: string, data: CreateProjectRequest): Promise<Project>;
63
+ getProjects(orgId: string): Promise<Project[]>;
64
+ getProjectTaskSummary(orgId: string): Promise<ProjectTaskSummaryResponse>;
65
+ getProject(orgId: string, projectId: string): Promise<Project>;
66
+ updateProject(orgId: string, projectId: string, data: UpdateProjectRequest): Promise<Project>;
67
+ deleteProject(orgId: string, projectId: string): Promise<void>;
68
+ }
69
+ //# sourceMappingURL=project-task-client.d.ts.map