@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.
- package/dist/client.d.ts +97 -4
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +158 -3
- package/dist/constants.d.ts +71 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +105 -8
- package/dist/types.d.ts +399 -6
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/client.ts +287 -3
- package/src/constants.ts +122 -8
- package/src/types.ts +453 -6
package/dist/constants.d.ts
CHANGED
|
@@ -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";
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,QAAQ,YAAY,CAAC;AAGlC,eAAO,MAAM,SAAS,aAAa,CAAC;AAGpC,eAAO,MAAM,SAAS,aAAa,CAAC;
|
|
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 —
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
//
|
|
11
|
-
|
|
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
|
-
//
|
|
283
|
-
//
|
|
284
|
-
//
|
|
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',
|