@parall/sdk 1.36.1 → 1.38.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,13 @@
1
1
  export declare const API_BASE = "/api/v1";
2
2
  export declare const WIKI_BASE = "/wiki/v1";
3
3
  export declare const CLIP_BASE = "/clip/v1";
4
+ /**
5
+ * @deprecated The catalog is DB-backed — fetch it via `client.getModels()`
6
+ * (GET /api/v1/models). This constant is a frozen degraded-mode fallback and
7
+ * will be removed after one release cycle. Still structurally consumed by
8
+ * FALLBACK_CATALOG (`@parall/app` agent-interlock) — do not delete before
9
+ * that fallback strategy changes (PR-3).
10
+ */
4
11
  export declare const PLATFORM_MODELS: readonly [{
5
12
  readonly id: "anthropic/claude-fable-5";
6
13
  readonly name: "Claude Fable 5";
@@ -227,6 +234,12 @@ export declare const PLATFORM_MODELS: readonly [{
227
234
  readonly provider: "qwen";
228
235
  readonly effortLevels: readonly [];
229
236
  }];
237
+ /**
238
+ * @deprecated Fetch via `client.getModels(currentModelId)` — the include_model
239
+ * parameter serves the legacy-pin case. Frozen degraded-mode fallback only.
240
+ * Still structurally consumed by FALLBACK_CATALOG (`@parall/app`
241
+ * agent-interlock) — do not delete before that fallback changes (PR-3).
242
+ */
230
243
  export declare const PLATFORM_LEGACY_MODELS: readonly [{
231
244
  readonly id: "openai/gpt-5.4-mini";
232
245
  readonly name: "GPT-5.4 Mini";
@@ -310,6 +323,10 @@ export declare const PLATFORM_LEGACY_MODELS: readonly [{
310
323
  readonly provider: "qwen";
311
324
  readonly effortLevels: readonly [];
312
325
  }];
326
+ /**
327
+ * @deprecated Read `recommended_model` from `client.getRuntimes()` instead.
328
+ * Frozen degraded-mode fallback only.
329
+ */
313
330
  export declare const PLATFORM_DEFAULT_MODEL_BY_RUNTIME: {
314
331
  readonly openclaw: "anthropic/claude-sonnet-4.6";
315
332
  readonly 'claude-code': "anthropic/claude-sonnet-4.6";
@@ -339,6 +356,7 @@ export declare const ENDPOINTS: {
339
356
  readonly ORGS: "/api/v1/orgs";
340
357
  readonly ORG: (orgId: string) => string;
341
358
  readonly ORG_MEMBERS: (orgId: string) => string;
359
+ readonly ORG_MEMBERS_FORMER: (orgId: string) => string;
342
360
  readonly TEAMS: (orgId: string) => string;
343
361
  readonly ORG_MEMBERS_ONLINE: (orgId: string) => string;
344
362
  readonly ORG_MEMBER: (orgId: string, userId: string) => string;
@@ -464,6 +482,18 @@ export declare const ENDPOINTS: {
464
482
  readonly EXTERNAL_TRIGGER: (orgId: string, triggerId: string) => string;
465
483
  readonly EXTERNAL_TRIGGER_RUNS: (orgId: string) => string;
466
484
  readonly EXTERNAL_TRIGGER_RUN: (orgId: string, runId: string) => string;
485
+ readonly CHANNEL_CONNECTIONS: (orgId: string) => string;
486
+ readonly CHANNEL_CONNECTION: (orgId: string, connectionId: string) => string;
487
+ readonly CHANNEL_CONNECTION_CREDENTIALS: (orgId: string, connectionId: string) => string;
488
+ readonly CHANNEL_CONNECTION_INGRESS_TOKEN_REGENERATE: (orgId: string, connectionId: string) => string;
489
+ readonly CHANNEL_CONNECTION_CONVERSATIONS: (orgId: string, connectionId: string) => string;
490
+ readonly CHANNEL_CONVERSATION: (orgId: string, conversationId: string) => string;
491
+ readonly CHANNEL_CONVERSATION_MESSAGES: (orgId: string, conversationId: string) => string;
492
+ readonly CHANNEL_CONVERSATION_SESSION: (orgId: string, conversationId: string) => string;
493
+ readonly CHANNEL_MESSAGE: (orgId: string, messageId: string) => string;
494
+ readonly CHANNEL_PROVISIONING: (orgId: string) => string;
495
+ readonly CHANNEL_PROVISIONING_SESSION: (orgId: string, sessionId: string) => string;
496
+ readonly CHANNEL_PROVISIONING_CANCEL: (orgId: string, sessionId: string) => string;
467
497
  readonly ORG_INVITATIONS: (orgId: string) => string;
468
498
  readonly ORG_INVITATION: (orgId: string, invId: string) => string;
469
499
  readonly ORG_INVITATION_RESEND: (orgId: string, invId: string) => string;
@@ -477,9 +507,12 @@ export declare const ENDPOINTS: {
477
507
  readonly ORG_INVITE_LINK_JOIN_REQUEST_DECIDE: (orgId: string, jrId: string) => string;
478
508
  readonly INVITE_LINK_JOIN: "/api/v1/invite-link/join";
479
509
  readonly WIKIS: (orgId: string) => string;
510
+ readonly WIKIS_DELETED: (orgId: string) => string;
480
511
  readonly WIKI: (orgId: string, wikiId: string) => string;
512
+ readonly WIKI_RESTORE: (orgId: string, wikiId: string) => string;
481
513
  readonly WIKI_TREE: (orgId: string, wikiId: string) => string;
482
514
  readonly WIKI_BLOB: (orgId: string, wikiId: string) => string;
515
+ readonly WIKI_COPY: (orgId: string, wikiId: string) => string;
483
516
  readonly WIKI_NODE_SECTIONS: (orgId: string, wikiId: string) => string;
484
517
  readonly WIKI_SEARCH: (orgId: string, wikiId: string) => string;
485
518
  readonly WIKI_PAGE_INDEX: (orgId: string, wikiId: string) => string;
@@ -524,6 +557,11 @@ export declare const ENDPOINTS: {
524
557
  readonly DISPATCH_ACK_BY_ID: (orgId: string, id: string) => string;
525
558
  readonly DISPATCH_EXPIRE: (orgId: string) => string;
526
559
  readonly DISPATCH_BY_MESSAGES: (orgId: string) => string;
560
+ readonly DISPATCH_CLAIM: (orgId: string) => string;
561
+ readonly DISPATCH_STEER: (orgId: string) => string;
562
+ readonly DISPATCH_COMPLETE: (orgId: string) => string;
563
+ readonly DISPATCH_RELEASE: (orgId: string) => string;
564
+ readonly DISPATCH_HEARTBEAT: (orgId: string) => string;
527
565
  readonly UNREAD: "/api/v1/me/unread";
528
566
  readonly ORG_UNREAD: (orgId: string) => string;
529
567
  readonly CHAT_READ: (orgId: string, chatId: string) => string;
@@ -545,6 +583,8 @@ export declare const ENDPOINTS: {
545
583
  readonly BILLING_AUTO_RELOAD: (orgId: string) => string;
546
584
  readonly BILLING_SETUP_INTENT: (orgId: string) => string;
547
585
  readonly COMPUTE_PRICING: () => string;
586
+ readonly RUNTIMES: () => string;
587
+ readonly MODELS: (includeModel?: string) => string;
548
588
  readonly CLIPS: (orgId: string) => string;
549
589
  readonly CLIP: (orgId: string, clipId: string) => string;
550
590
  readonly CLIPS_BULK_METADATA: (orgId: string) => string;
@@ -553,6 +593,7 @@ export declare const ENDPOINTS: {
553
593
  readonly AGENT_CLIP: (orgId: string, agentId: string, clipId: string) => string;
554
594
  readonly CLIP_INVOKE: (orgId: string) => string;
555
595
  readonly CLIP_ONLINE: (orgId: string) => string;
596
+ readonly BROWSER_RUNTIME_STATUS: (orgId: string) => string;
556
597
  readonly BROWSER_PROFILES: (orgId: string) => string;
557
598
  readonly BROWSER_PROFILE: (orgId: string, profileId: string) => string;
558
599
  readonly BROWSER_PROFILE_OPEN: (orgId: string, profileId: string) => string;
@@ -563,6 +604,31 @@ export declare const ENDPOINTS: {
563
604
  readonly BROWSER_PROFILE_VIEWER_COMMAND: (orgId: string, profileId: string) => string;
564
605
  readonly CLIP_REGISTRY: () => string;
565
606
  };
607
+ /**
608
+ * Wiki personal-namespace prefix — the path subtree a member owns for
609
+ * self-service private spaces: `users/{userId}/`. SSOT mirror of the
610
+ * wiki-service `personalNamespacePrefix` (server/internal/wiki/handler/acl.go):
611
+ * a member may create/manage path restrictions anywhere under this prefix
612
+ * without org/path admin. The trailing slash is load-bearing — it keeps a user
613
+ * ID that is a string prefix of another from matching across namespaces.
614
+ */
615
+ export declare function wikiPersonalNamespacePrefix(userId: string): string;
616
+ /**
617
+ * Whether `path` falls inside `userId`'s personal namespace (the namespace root
618
+ * itself or any descendant). Mirrors the server's `ownsPersonalNamespacePath`;
619
+ * use it for UI affordance gating only — the wiki-service stays the security
620
+ * SSOT and re-checks on every mutation.
621
+ */
622
+ export declare function isInWikiPersonalNamespace(userId: string, path: string): boolean;
623
+ /**
624
+ * Whether `path` falls inside ANY user's personal namespace (`users/{id}/…`),
625
+ * regardless of whose. UI affordance helper — e.g. badging member personal-space
626
+ * restriction rows in the admin Access tab, or keeping "copy to shared wiki"
627
+ * destinations out of personal namespaces. Matches by shape (`users/<segment>/`
628
+ * or the bare `users/<segment>`), deliberately broader than
629
+ * `isInWikiPersonalNamespace`.
630
+ */
631
+ export declare function isWikiPersonalNamespacePath(path: string): boolean;
566
632
  export declare const WS_EVENTS: {
567
633
  readonly PING: "ping";
568
634
  readonly TYPING: "typing";
@@ -600,10 +666,13 @@ export declare const WS_EVENTS: {
600
666
  readonly INVITATION_REVOKED: "invitation.revoked";
601
667
  readonly ORG_JOIN_REQUEST_NEW: "org.join_request.new";
602
668
  readonly ORG_INVITE_LINK_JOINED: "org.invite_link.joined";
669
+ readonly ORG_MEMBER_REMOVED: "org.member.removed";
603
670
  readonly AGENT_CONFIG_UPDATE: "agent_config.update";
604
671
  readonly PRESENCE_UPDATE: "presence.update";
605
672
  readonly WIKI_CHANGESET_CREATED: "wiki.changeset.created";
606
673
  readonly WIKI_CHANGESET_UPDATED: "wiki.changeset.updated";
674
+ readonly WIKI_DELETED: "wiki.deleted";
675
+ readonly WIKI_RESTORED: "wiki.restored";
607
676
  readonly COMMENT_CREATED: "comment.created";
608
677
  readonly COMMENT_UPDATED: "comment.updated";
609
678
  readonly COMMENT_DELETED: "comment.deleted";
@@ -614,6 +683,7 @@ export declare const WS_EVENTS: {
614
683
  readonly READ_POSITION_UPDATED: "read_position.updated";
615
684
  readonly DISPATCH_NEW: "dispatch.new";
616
685
  readonly DISPATCH_RECEIVED: "dispatch.received";
686
+ readonly DISPATCH_RESOLVED: "dispatch.resolved";
617
687
  readonly SCHEDULE_CREATED: "schedule.created";
618
688
  readonly SCHEDULE_UPDATED: "schedule.updated";
619
689
  readonly SCHEDULE_DELETED: "schedule.deleted";
@@ -631,6 +701,7 @@ export declare const WS_EVENTS: {
631
701
  readonly MACHINE_FILESYSTEM_BROWSE: "machine.filesystem.browse";
632
702
  readonly MACHINE_UPDATE: "machine.update";
633
703
  readonly MACHINE_CONFIG_UPDATED: "machine.config.updated";
704
+ readonly MACHINE_AGENT_CONFIG_UPDATED: "machine.agent_config.updated";
634
705
  readonly MACHINE_CLIP_SYNC: "machine.clip.sync";
635
706
  readonly MACHINE_BROWSER_PROFILE_LIFECYCLE: "machine.browser_profile.lifecycle";
636
707
  readonly MACHINE_BROWSER_PROFILE_VIEWER: "machine.browser_profile.viewer";
@@ -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
@@ -4,11 +4,17 @@ export const API_BASE = '/api/v1';
4
4
  export const WIKI_BASE = '/wiki/v1';
5
5
  // Clip-service base path (served by clip-service, routed via LB path rules)
6
6
  export const CLIP_BASE = '/clip/v1';
7
- // LLM model catalog — mirrors server/pkg/llmproxy/models.go DefaultModels.
8
- // SSOT is the Go side; keep this list in sync when models change. `provider`
9
- // is used by clients to filter runtime-specific pickers. `runtime_names` is
10
- // included for catalog completeness and agent runtime delivery; product UI
11
- // should continue to display canonical model IDs/names.
7
+ // LLM model catalog — frozen compile-time mirror of the catalog at the time
8
+ // the DB-backed source shipped (docs/engineering-design/model-catalog-design.md).
9
+ // Kept ONLY as the offline/degraded fallback for pickers; it is NOT updated
10
+ // when models are added through the admin catalog.
11
+ /**
12
+ * @deprecated The catalog is DB-backed — fetch it via `client.getModels()`
13
+ * (GET /api/v1/models). This constant is a frozen degraded-mode fallback and
14
+ * will be removed after one release cycle. Still structurally consumed by
15
+ * FALLBACK_CATALOG (`@parall/app` agent-interlock) — do not delete before
16
+ * that fallback strategy changes (PR-3).
17
+ */
12
18
  export const PLATFORM_MODELS = [
13
19
  // Fable 5 rejects an explicit thinking "disabled" param (400) — bridges must
14
20
  // omit the thinking config entirely instead of disabling it.
@@ -207,6 +213,12 @@ export const PLATFORM_MODELS = [
207
213
  ];
208
214
  // Hidden from new-agent pickers, but available to editors so persisted Beta
209
215
  // agent defaults remain representable.
216
+ /**
217
+ * @deprecated Fetch via `client.getModels(currentModelId)` — the include_model
218
+ * parameter serves the legacy-pin case. Frozen degraded-mode fallback only.
219
+ * Still structurally consumed by FALLBACK_CATALOG (`@parall/app`
220
+ * agent-interlock) — do not delete before that fallback changes (PR-3).
221
+ */
210
222
  export const PLATFORM_LEGACY_MODELS = [
211
223
  {
212
224
  id: 'openai/gpt-5.4-mini',
@@ -279,9 +291,13 @@ export const PLATFORM_LEGACY_MODELS = [
279
291
  effortLevels: [],
280
292
  },
281
293
  ];
282
- // Mirrors server/pkg/llmproxy/models.go DefaultModelIDForRuntime. Go remains
283
- // the SSOT; keep this client-side fallback in sync until the catalog is codegen
284
- // or fetched before render.
294
+ // Frozen mirror of the per-runtime defaults at ship time of the DB-backed
295
+ // catalog (llm_runtime_defaults). Live values arrive as recommended_model on
296
+ // GET /runtimes.
297
+ /**
298
+ * @deprecated Read `recommended_model` from `client.getRuntimes()` instead.
299
+ * Frozen degraded-mode fallback only.
300
+ */
285
301
  export const PLATFORM_DEFAULT_MODEL_BY_RUNTIME = {
286
302
  openclaw: 'anthropic/claude-sonnet-4.6',
287
303
  'claude-code': 'anthropic/claude-sonnet-4.6',
@@ -303,6 +319,11 @@ export function platformDefaultModelForRuntime(runtime) {
303
319
  case '':
304
320
  case 'openclaw':
305
321
  case 'claude-code':
322
+ // hermes / parel route through the Parall proxy and accept any model; the
323
+ // server (DefaultModelIDForRuntime) recommends the platform default, so
324
+ // mirror it.
325
+ case 'hermes':
326
+ case 'parel':
306
327
  return PLATFORM_DEFAULT_MODEL_BY_RUNTIME.openclaw;
307
328
  case 'codex':
308
329
  return PLATFORM_DEFAULT_MODEL_BY_RUNTIME.codex;
@@ -334,6 +355,7 @@ export const ENDPOINTS = {
334
355
  // Org-scoped
335
356
  ORG: (orgId) => `${API_BASE}/orgs/${orgId}`,
336
357
  ORG_MEMBERS: (orgId) => `${API_BASE}/orgs/${orgId}/members`,
358
+ ORG_MEMBERS_FORMER: (orgId) => `${API_BASE}/orgs/${orgId}/members/former`,
337
359
  TEAMS: (orgId) => `${API_BASE}/orgs/${orgId}/teams`,
338
360
  ORG_MEMBERS_ONLINE: (orgId) => `${API_BASE}/orgs/${orgId}/members/online`,
339
361
  ORG_MEMBER: (orgId, userId) => `${API_BASE}/orgs/${orgId}/members/${userId}`,
@@ -483,6 +505,19 @@ export const ENDPOINTS = {
483
505
  EXTERNAL_TRIGGER: (orgId, triggerId) => `${API_BASE}/orgs/${orgId}/external-triggers/${triggerId}`,
484
506
  EXTERNAL_TRIGGER_RUNS: (orgId) => `${API_BASE}/orgs/${orgId}/external-trigger-runs`,
485
507
  EXTERNAL_TRIGGER_RUN: (orgId, runId) => `${API_BASE}/orgs/${orgId}/external-trigger-runs/${runId}`,
508
+ // External IM channel (org-scoped, platform-mediated Feishu/Slack)
509
+ CHANNEL_CONNECTIONS: (orgId) => `${API_BASE}/orgs/${orgId}/channel-connections`,
510
+ CHANNEL_CONNECTION: (orgId, connectionId) => `${API_BASE}/orgs/${orgId}/channel-connections/${connectionId}`,
511
+ CHANNEL_CONNECTION_CREDENTIALS: (orgId, connectionId) => `${API_BASE}/orgs/${orgId}/channel-connections/${connectionId}/credentials`,
512
+ CHANNEL_CONNECTION_INGRESS_TOKEN_REGENERATE: (orgId, connectionId) => `${API_BASE}/orgs/${orgId}/channel-connections/${connectionId}/ingress-token/regenerate`,
513
+ CHANNEL_CONNECTION_CONVERSATIONS: (orgId, connectionId) => `${API_BASE}/orgs/${orgId}/channel-connections/${connectionId}/conversations`,
514
+ CHANNEL_CONVERSATION: (orgId, conversationId) => `${API_BASE}/orgs/${orgId}/channel-conversations/${conversationId}`,
515
+ CHANNEL_CONVERSATION_MESSAGES: (orgId, conversationId) => `${API_BASE}/orgs/${orgId}/channel-conversations/${conversationId}/messages`,
516
+ CHANNEL_CONVERSATION_SESSION: (orgId, conversationId) => `${API_BASE}/orgs/${orgId}/channel-conversations/${conversationId}/session`,
517
+ CHANNEL_MESSAGE: (orgId, messageId) => `${API_BASE}/orgs/${orgId}/channel-messages/${messageId}`,
518
+ CHANNEL_PROVISIONING: (orgId) => `${API_BASE}/orgs/${orgId}/channel-provisioning`,
519
+ CHANNEL_PROVISIONING_SESSION: (orgId, sessionId) => `${API_BASE}/orgs/${orgId}/channel-provisioning/${sessionId}`,
520
+ CHANNEL_PROVISIONING_CANCEL: (orgId, sessionId) => `${API_BASE}/orgs/${orgId}/channel-provisioning/${sessionId}/cancel`,
486
521
  // Invitations (org-scoped, admin)
487
522
  ORG_INVITATIONS: (orgId) => `${API_BASE}/orgs/${orgId}/invitations`,
488
523
  ORG_INVITATION: (orgId, invId) => `${API_BASE}/orgs/${orgId}/invitations/${invId}`,
@@ -500,9 +535,16 @@ export const ENDPOINTS = {
500
535
  INVITE_LINK_JOIN: `${API_BASE}/invite-link/join`,
501
536
  // Wikis (org-scoped, served by wiki-service)
502
537
  WIKIS: (orgId) => `${WIKI_BASE}/orgs/${orgId}/wikis`,
538
+ // Recycle bin — soft-deleted wikis (owner only). Must precede WIKI in the
539
+ // backend router so `deleted` isn't captured as a {wikiId}; the SDK builder
540
+ // is just a string.
541
+ WIKIS_DELETED: (orgId) => `${WIKI_BASE}/orgs/${orgId}/wikis/deleted`,
542
+ // Detail URL — also reused for DELETE (soft-delete) and `${WIKI}/restore`.
503
543
  WIKI: (orgId, wikiId) => `${WIKI_BASE}/orgs/${orgId}/wikis/${wikiId}`,
544
+ WIKI_RESTORE: (orgId, wikiId) => `${WIKI_BASE}/orgs/${orgId}/wikis/${wikiId}/restore`,
504
545
  WIKI_TREE: (orgId, wikiId) => `${WIKI_BASE}/orgs/${orgId}/wikis/${wikiId}/tree`,
505
546
  WIKI_BLOB: (orgId, wikiId) => `${WIKI_BASE}/orgs/${orgId}/wikis/${wikiId}/blob`,
547
+ WIKI_COPY: (orgId, wikiId) => `${WIKI_BASE}/orgs/${orgId}/wikis/${wikiId}/copy`,
506
548
  WIKI_NODE_SECTIONS: (orgId, wikiId) => `${WIKI_BASE}/orgs/${orgId}/wikis/${wikiId}/node-sections`,
507
549
  WIKI_SEARCH: (orgId, wikiId) => `${WIKI_BASE}/orgs/${orgId}/wikis/${wikiId}/search`,
508
550
  WIKI_PAGE_INDEX: (orgId, wikiId) => `${WIKI_BASE}/orgs/${orgId}/wikis/${wikiId}/page-index`,
@@ -556,6 +598,11 @@ export const ENDPOINTS = {
556
598
  DISPATCH_ACK_BY_ID: (orgId, id) => `${API_BASE}/orgs/${orgId}/dispatch/${id}/ack`,
557
599
  DISPATCH_EXPIRE: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/expire`,
558
600
  DISPATCH_BY_MESSAGES: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/by-messages`,
601
+ DISPATCH_CLAIM: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/claim`,
602
+ DISPATCH_STEER: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/steer`,
603
+ DISPATCH_COMPLETE: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/complete`,
604
+ DISPATCH_RELEASE: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/release`,
605
+ DISPATCH_HEARTBEAT: (orgId) => `${API_BASE}/orgs/${orgId}/dispatch/heartbeat`,
559
606
  // Unread
560
607
  UNREAD: `${API_BASE}/me/unread`,
561
608
  ORG_UNREAD: (orgId) => `${API_BASE}/orgs/${orgId}/unread`,
@@ -585,6 +632,16 @@ export const ENDPOINTS = {
585
632
  BILLING_AUTO_RELOAD: (orgId) => `${API_BASE}/orgs/${orgId}/billing/auto-reload`,
586
633
  BILLING_SETUP_INTENT: (orgId) => `${API_BASE}/orgs/${orgId}/billing/setup-intent`,
587
634
  COMPUTE_PRICING: () => `${API_BASE}/billing/compute-pricing`,
635
+ // Runtime capability table (public, no auth) — SSOT for the create/settings
636
+ // interlock: per-runtime compute modes, native model family, cross-family
637
+ // availability, and recommended model.
638
+ RUNTIMES: () => `${API_BASE}/runtimes`,
639
+ // Model catalog (public, no auth) — served from the server's DB-backed
640
+ // snapshot. Optional include_model keeps an agent's pinned hidden legacy
641
+ // model representable in settings pickers.
642
+ MODELS: (includeModel) => includeModel
643
+ ? `${API_BASE}/models?include_model=${encodeURIComponent(includeModel)}`
644
+ : `${API_BASE}/models`,
588
645
  // ADMIN_GRANTS intentionally NOT exported here — it sits under the
589
646
  // unauthenticated `/internal/admin/*` surface and must not bleed into the
590
647
  // public SDK. Admin dashboard hits the URL directly from its own client.
@@ -597,6 +654,7 @@ export const ENDPOINTS = {
597
654
  AGENT_CLIP: (orgId, agentId, clipId) => `${CLIP_BASE}/orgs/${orgId}/agents/${agentId}/clips/${clipId}`,
598
655
  CLIP_INVOKE: (orgId) => `${CLIP_BASE}/orgs/${orgId}/invoke`,
599
656
  CLIP_ONLINE: (orgId) => `${CLIP_BASE}/orgs/${orgId}/online`,
657
+ BROWSER_RUNTIME_STATUS: (orgId) => `${CLIP_BASE}/orgs/${orgId}/browser-runtime/status`,
600
658
  BROWSER_PROFILES: (orgId) => `${CLIP_BASE}/orgs/${orgId}/browser-profiles`,
601
659
  BROWSER_PROFILE: (orgId, profileId) => `${CLIP_BASE}/orgs/${orgId}/browser-profiles/${profileId}`,
602
660
  BROWSER_PROFILE_OPEN: (orgId, profileId) => `${CLIP_BASE}/orgs/${orgId}/browser-profiles/${profileId}/open`,
@@ -610,6 +668,40 @@ export const ENDPOINTS = {
610
668
  // Clip registry (global, served by clip-service → Pinix Hub proxy)
611
669
  CLIP_REGISTRY: () => `${CLIP_BASE}/registry/clips`,
612
670
  };
671
+ /**
672
+ * Wiki personal-namespace prefix — the path subtree a member owns for
673
+ * self-service private spaces: `users/{userId}/`. SSOT mirror of the
674
+ * wiki-service `personalNamespacePrefix` (server/internal/wiki/handler/acl.go):
675
+ * a member may create/manage path restrictions anywhere under this prefix
676
+ * without org/path admin. The trailing slash is load-bearing — it keeps a user
677
+ * ID that is a string prefix of another from matching across namespaces.
678
+ */
679
+ export function wikiPersonalNamespacePrefix(userId) {
680
+ return `users/${userId}/`;
681
+ }
682
+ /**
683
+ * Whether `path` falls inside `userId`'s personal namespace (the namespace root
684
+ * itself or any descendant). Mirrors the server's `ownsPersonalNamespacePath`;
685
+ * use it for UI affordance gating only — the wiki-service stays the security
686
+ * SSOT and re-checks on every mutation.
687
+ */
688
+ export function isInWikiPersonalNamespace(userId, path) {
689
+ if (!userId)
690
+ return false;
691
+ const prefix = wikiPersonalNamespacePrefix(userId);
692
+ return path === prefix || path.startsWith(prefix);
693
+ }
694
+ /**
695
+ * Whether `path` falls inside ANY user's personal namespace (`users/{id}/…`),
696
+ * regardless of whose. UI affordance helper — e.g. badging member personal-space
697
+ * restriction rows in the admin Access tab, or keeping "copy to shared wiki"
698
+ * destinations out of personal namespaces. Matches by shape (`users/<segment>/`
699
+ * or the bare `users/<segment>`), deliberately broader than
700
+ * `isInWikiPersonalNamespace`.
701
+ */
702
+ export function isWikiPersonalNamespacePath(path) {
703
+ return /^users\/[^/]+(\/|$)/.test(path);
704
+ }
613
705
  // WebSocket event types
614
706
  export const WS_EVENTS = {
615
707
  // Client -> Server
@@ -650,10 +742,13 @@ export const WS_EVENTS = {
650
742
  INVITATION_REVOKED: 'invitation.revoked',
651
743
  ORG_JOIN_REQUEST_NEW: 'org.join_request.new',
652
744
  ORG_INVITE_LINK_JOINED: 'org.invite_link.joined',
745
+ ORG_MEMBER_REMOVED: 'org.member.removed',
653
746
  AGENT_CONFIG_UPDATE: 'agent_config.update',
654
747
  PRESENCE_UPDATE: 'presence.update',
655
748
  WIKI_CHANGESET_CREATED: 'wiki.changeset.created',
656
749
  WIKI_CHANGESET_UPDATED: 'wiki.changeset.updated',
750
+ WIKI_DELETED: 'wiki.deleted',
751
+ WIKI_RESTORED: 'wiki.restored',
657
752
  COMMENT_CREATED: 'comment.created',
658
753
  COMMENT_UPDATED: 'comment.updated',
659
754
  COMMENT_DELETED: 'comment.deleted',
@@ -664,6 +759,7 @@ export const WS_EVENTS = {
664
759
  READ_POSITION_UPDATED: 'read_position.updated',
665
760
  DISPATCH_NEW: 'dispatch.new',
666
761
  DISPATCH_RECEIVED: 'dispatch.received',
762
+ DISPATCH_RESOLVED: 'dispatch.resolved',
667
763
  SCHEDULE_CREATED: 'schedule.created',
668
764
  SCHEDULE_UPDATED: 'schedule.updated',
669
765
  SCHEDULE_DELETED: 'schedule.deleted',
@@ -681,6 +777,7 @@ export const WS_EVENTS = {
681
777
  MACHINE_FILESYSTEM_BROWSE: 'machine.filesystem.browse',
682
778
  MACHINE_UPDATE: 'machine.update',
683
779
  MACHINE_CONFIG_UPDATED: 'machine.config.updated',
780
+ MACHINE_AGENT_CONFIG_UPDATED: 'machine.agent_config.updated',
684
781
  MACHINE_CLIP_SYNC: 'machine.clip.sync',
685
782
  MACHINE_BROWSER_PROFILE_LIFECYCLE: 'machine.browser_profile.lifecycle',
686
783
  MACHINE_BROWSER_PROFILE_VIEWER: 'machine.browser_profile.viewer',