@parall/sdk 1.36.0 → 1.37.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 +84 -13
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +131 -8
- package/dist/constants.d.ts +66 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +100 -8
- package/dist/types.d.ts +362 -6
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/client.ts +235 -8
- package/src/constants.ts +117 -8
- package/src/types.ts +415 -6
package/dist/types.d.ts
CHANGED
|
@@ -611,11 +611,17 @@ export interface Machine {
|
|
|
611
611
|
clip_provider_url?: string;
|
|
612
612
|
daemon_version?: string | null;
|
|
613
613
|
self_update_capable?: boolean;
|
|
614
|
+
detected_runtimes?: DetectedRuntime[] | null;
|
|
614
615
|
region: string | null;
|
|
615
616
|
created_by: string;
|
|
616
617
|
created_at: string;
|
|
617
618
|
updated_at: string;
|
|
618
619
|
}
|
|
620
|
+
export interface DetectedRuntime {
|
|
621
|
+
runtime_type: string;
|
|
622
|
+
version?: string;
|
|
623
|
+
status: 'ok' | 'broken';
|
|
624
|
+
}
|
|
619
625
|
export type DaemonWorkspaceMode = 'default' | 'local_path' | 'git';
|
|
620
626
|
export type DaemonWorkspaceSetupRunOn = 'first_attach' | 'config_change';
|
|
621
627
|
export interface DaemonWorkspaceGitConfig {
|
|
@@ -670,7 +676,7 @@ export interface AgentProfile {
|
|
|
670
676
|
model_management: string | null;
|
|
671
677
|
permissions: string[];
|
|
672
678
|
machine_id: string | null;
|
|
673
|
-
hosting_mode?: 'hosted' | 'self_hosted';
|
|
679
|
+
hosting_mode?: 'hosted' | 'self_hosted' | 'platform_runtime';
|
|
674
680
|
runtime_type: string;
|
|
675
681
|
description: string | null;
|
|
676
682
|
thinking_effort: string | null;
|
|
@@ -724,6 +730,11 @@ export interface MachineConfigUpdatedData {
|
|
|
724
730
|
llm_source?: string;
|
|
725
731
|
provider_enabled?: boolean;
|
|
726
732
|
}
|
|
733
|
+
export interface MachineAgentConfigUpdatedData {
|
|
734
|
+
machine_id: string;
|
|
735
|
+
agent_id: string;
|
|
736
|
+
llm_source: string;
|
|
737
|
+
}
|
|
727
738
|
export interface MachineWorkspaceSetupRequestedData {
|
|
728
739
|
machine_id: string;
|
|
729
740
|
agent_id: string;
|
|
@@ -754,6 +765,14 @@ export interface MachineBrowserProfileLifecycleData {
|
|
|
754
765
|
profile_id: string;
|
|
755
766
|
action: BrowserProfileLifecycleAction;
|
|
756
767
|
start_url?: string;
|
|
768
|
+
/** Profile's lifecycle_generation after this transition's bump (PR #1650). The
|
|
769
|
+
* daemon acts under it and echoes it in its status report so the server can
|
|
770
|
+
* reject a stale report. Absent/0 from a pre-generation server. */
|
|
771
|
+
generation?: number;
|
|
772
|
+
/** Profile's reset_generation after this transition (bumped only by `reset`). On
|
|
773
|
+
* an online reset the daemon records it in its per-profile sidecar so a later
|
|
774
|
+
* reconnect doesn't redundantly re-wipe. */
|
|
775
|
+
reset_generation?: number;
|
|
757
776
|
}
|
|
758
777
|
/**
|
|
759
778
|
* Live-viewer control command relayed to the host daemon over `machine:{id}`.
|
|
@@ -850,6 +869,13 @@ export interface Task {
|
|
|
850
869
|
canceled_at: string | null;
|
|
851
870
|
archived_at?: string | null;
|
|
852
871
|
deleted_at?: string | null;
|
|
872
|
+
/**
|
|
873
|
+
* Per-viewer: whether the requesting user may manage OTHER members' comment
|
|
874
|
+
* subscriptions for this task (creator / assignee / project lead / org
|
|
875
|
+
* owner-admin). Populated on single-task GET; undefined elsewhere. Read this to
|
|
876
|
+
* gate subscriber-management UI — do not re-derive the rule client-side.
|
|
877
|
+
*/
|
|
878
|
+
can_manage_subscribers?: boolean;
|
|
853
879
|
}
|
|
854
880
|
export interface TaskWatcher {
|
|
855
881
|
task_id: string;
|
|
@@ -1239,6 +1265,19 @@ export interface Wiki {
|
|
|
1239
1265
|
created_by: string;
|
|
1240
1266
|
created_at: string;
|
|
1241
1267
|
updated_at: string;
|
|
1268
|
+
/** Protected default wiki — cannot be deleted. */
|
|
1269
|
+
is_default?: boolean | null;
|
|
1270
|
+
/** Set when the wiki is soft-deleted (recoverable). */
|
|
1271
|
+
deleted_at?: string | null;
|
|
1272
|
+
/** User who soft-deleted the wiki. */
|
|
1273
|
+
deleted_by?: string | null;
|
|
1274
|
+
/** Set once purge is claimed — the wiki can no longer be restored. */
|
|
1275
|
+
purge_started_at?: string | null;
|
|
1276
|
+
/** deleted_at + retention window (server-computed) — the recycle-bin countdown
|
|
1277
|
+
* source. Past this, restore is rejected with 410 WIKI_RETENTION_EXPIRED. */
|
|
1278
|
+
purge_eligible_at?: string | null;
|
|
1279
|
+
/** Server-computed restore availability for recycle-bin rows. */
|
|
1280
|
+
restorable?: boolean | null;
|
|
1242
1281
|
}
|
|
1243
1282
|
export interface WikiFileChange {
|
|
1244
1283
|
path: string;
|
|
@@ -1267,10 +1306,18 @@ export interface WikiTreeEntry {
|
|
|
1267
1306
|
path: string;
|
|
1268
1307
|
type: 'tree' | 'blob';
|
|
1269
1308
|
size?: number;
|
|
1309
|
+
/**
|
|
1310
|
+
* Entry sits inside a read-gated private subtree (path restriction). Advisory
|
|
1311
|
+
* display flag — the caller already passed read authorization to receive the
|
|
1312
|
+
* entry; use it to badge private folders, never for access decisions.
|
|
1313
|
+
*/
|
|
1314
|
+
restricted?: boolean;
|
|
1270
1315
|
}
|
|
1271
1316
|
export interface WikiTreeResponse {
|
|
1272
1317
|
data: WikiTreeEntry[];
|
|
1273
1318
|
path: string;
|
|
1319
|
+
/** Whether the listed directory itself sits inside a read-gated private subtree. */
|
|
1320
|
+
path_restricted?: boolean;
|
|
1274
1321
|
}
|
|
1275
1322
|
export interface WikiFileManifestEntry {
|
|
1276
1323
|
path: string;
|
|
@@ -1491,6 +1538,7 @@ export interface CreateWikiPathRestrictionRequest {
|
|
|
1491
1538
|
level?: 'read' | 'maintain' | 'admin';
|
|
1492
1539
|
subjects: string[];
|
|
1493
1540
|
apply_to_admins?: boolean;
|
|
1541
|
+
create_only?: boolean;
|
|
1494
1542
|
}
|
|
1495
1543
|
export interface WikiAccessStatus {
|
|
1496
1544
|
path: string;
|
|
@@ -1518,6 +1566,22 @@ export interface WikiOperationsResponse {
|
|
|
1518
1566
|
data: WikiOperation[];
|
|
1519
1567
|
has_more: boolean;
|
|
1520
1568
|
}
|
|
1569
|
+
/**
|
|
1570
|
+
* Copy one wiki file to another path as an independent snapshot (no ongoing
|
|
1571
|
+
* sync). Primary use: "share a private file out" — copy from the caller's
|
|
1572
|
+
* personal namespace (`users/{userId}/…`) into the public wiki so the whole
|
|
1573
|
+
* org can read + edit the copy, leaving the private original untouched.
|
|
1574
|
+
*/
|
|
1575
|
+
export interface CopyWikiFileRequest {
|
|
1576
|
+
source_path: string;
|
|
1577
|
+
dest_path: string;
|
|
1578
|
+
message?: string;
|
|
1579
|
+
}
|
|
1580
|
+
export interface CopyWikiFileResponse {
|
|
1581
|
+
source_path: string;
|
|
1582
|
+
dest_path: string;
|
|
1583
|
+
commit_sha: string;
|
|
1584
|
+
}
|
|
1521
1585
|
export interface WikiBlob {
|
|
1522
1586
|
path: string;
|
|
1523
1587
|
ref: string;
|
|
@@ -1527,6 +1591,8 @@ export interface WikiBlob {
|
|
|
1527
1591
|
content?: string;
|
|
1528
1592
|
line_count?: number;
|
|
1529
1593
|
sha256?: string;
|
|
1594
|
+
/** File sits inside a read-gated private subtree — advisory display flag. */
|
|
1595
|
+
restricted?: boolean;
|
|
1530
1596
|
mime?: string;
|
|
1531
1597
|
is_lfs?: boolean;
|
|
1532
1598
|
content_sha?: string;
|
|
@@ -1636,6 +1702,15 @@ export interface MembershipChangedData {
|
|
|
1636
1702
|
user_id: string;
|
|
1637
1703
|
action: 'added' | 'removed' | 'role_changed';
|
|
1638
1704
|
}
|
|
1705
|
+
/**
|
|
1706
|
+
* A member was removed from an org — kicked by an admin or self-removal
|
|
1707
|
+
* ("leave org"). Delivered on org:{orgId} (remaining members refresh the
|
|
1708
|
+
* directory) and user:{userId} (the removed user's clients drop the org).
|
|
1709
|
+
*/
|
|
1710
|
+
export interface OrgMemberRemovedData {
|
|
1711
|
+
org_id: string;
|
|
1712
|
+
user_id: string;
|
|
1713
|
+
}
|
|
1639
1714
|
export type TaskActivityAction = 'created' | 'field_changed' | 'commented';
|
|
1640
1715
|
export interface TaskComment {
|
|
1641
1716
|
id: string;
|
|
@@ -1757,6 +1832,13 @@ export type WikiChangesetCreatedData = WikiChangeset & {
|
|
|
1757
1832
|
export type WikiChangesetUpdatedData = WikiChangeset & {
|
|
1758
1833
|
org_id: string;
|
|
1759
1834
|
};
|
|
1835
|
+
export interface WikiDeletedData {
|
|
1836
|
+
org_id: string;
|
|
1837
|
+
wiki_id: string;
|
|
1838
|
+
slug: string;
|
|
1839
|
+
name: string;
|
|
1840
|
+
}
|
|
1841
|
+
export type WikiRestoredData = WikiDeletedData;
|
|
1760
1842
|
export interface Comment {
|
|
1761
1843
|
id: string;
|
|
1762
1844
|
org_id: string;
|
|
@@ -1811,7 +1893,114 @@ export interface InboxItem {
|
|
|
1811
1893
|
created_at: string;
|
|
1812
1894
|
updated_at: string;
|
|
1813
1895
|
}
|
|
1814
|
-
export type
|
|
1896
|
+
export type ChannelProvider = 'feishu' | 'slack';
|
|
1897
|
+
export type ChannelConnectionStatus = 'pending' | 'active' | 'disabled';
|
|
1898
|
+
/**
|
|
1899
|
+
* Inbound transport for a connection. Defaults to the provider's lowest-
|
|
1900
|
+
* onboarding-cost mode server-side (Feishu → socket, Slack → webhook) when
|
|
1901
|
+
* omitted on create; can be overridden per connection.
|
|
1902
|
+
*/
|
|
1903
|
+
export type ChannelIngressMode = 'webhook' | 'socket';
|
|
1904
|
+
export type ChannelMessageStatus = 'received' | 'dispatched' | 'failed';
|
|
1905
|
+
export interface ChannelConnection {
|
|
1906
|
+
id: string;
|
|
1907
|
+
org_id: string;
|
|
1908
|
+
agent_id: string;
|
|
1909
|
+
provider: ChannelProvider;
|
|
1910
|
+
ingress_mode: ChannelIngressMode;
|
|
1911
|
+
display_name: string;
|
|
1912
|
+
created_by: string;
|
|
1913
|
+
status: ChannelConnectionStatus;
|
|
1914
|
+
external_app_id?: string;
|
|
1915
|
+
external_team_id?: string;
|
|
1916
|
+
archived_at?: string | null;
|
|
1917
|
+
archive_reason?: string | null;
|
|
1918
|
+
/** Returned once at mint time (create / token regeneration). */
|
|
1919
|
+
ingress_url?: string;
|
|
1920
|
+
/** Returned once at mint time (create / token regeneration). */
|
|
1921
|
+
ingress_token?: string;
|
|
1922
|
+
created_at: string;
|
|
1923
|
+
updated_at: string;
|
|
1924
|
+
}
|
|
1925
|
+
export interface ChannelCredentialsInput {
|
|
1926
|
+
app_id: string;
|
|
1927
|
+
app_secret: string;
|
|
1928
|
+
verification_token?: string;
|
|
1929
|
+
encrypt_key?: string;
|
|
1930
|
+
team_id?: string;
|
|
1931
|
+
}
|
|
1932
|
+
export interface CreateChannelConnectionInput {
|
|
1933
|
+
agent_id: string;
|
|
1934
|
+
provider: ChannelProvider;
|
|
1935
|
+
display_name: string;
|
|
1936
|
+
/** Override the provider's default inbound transport (optional). */
|
|
1937
|
+
ingress_mode?: ChannelIngressMode;
|
|
1938
|
+
/** Manual provisioning: activates the connection immediately. */
|
|
1939
|
+
credentials?: ChannelCredentialsInput;
|
|
1940
|
+
}
|
|
1941
|
+
export interface UpdateChannelConnectionInput {
|
|
1942
|
+
display_name?: string;
|
|
1943
|
+
status?: 'active' | 'disabled';
|
|
1944
|
+
}
|
|
1945
|
+
export interface ChannelConversation {
|
|
1946
|
+
id: string;
|
|
1947
|
+
org_id: string;
|
|
1948
|
+
connection_id: string;
|
|
1949
|
+
agent_id: string;
|
|
1950
|
+
agent_session_id?: string | null;
|
|
1951
|
+
external_conversation_id: string;
|
|
1952
|
+
external_thread_id: string;
|
|
1953
|
+
conversation_type: string;
|
|
1954
|
+
external_user_id: string;
|
|
1955
|
+
external_user_name: string;
|
|
1956
|
+
last_inbound_at?: string | null;
|
|
1957
|
+
created_at: string;
|
|
1958
|
+
updated_at: string;
|
|
1959
|
+
}
|
|
1960
|
+
export interface ChannelMessage {
|
|
1961
|
+
id: string;
|
|
1962
|
+
org_id: string;
|
|
1963
|
+
connection_id: string;
|
|
1964
|
+
conversation_id: string;
|
|
1965
|
+
external_message_id: string;
|
|
1966
|
+
text: string;
|
|
1967
|
+
external_user_id: string;
|
|
1968
|
+
external_user_name: string;
|
|
1969
|
+
status: ChannelMessageStatus;
|
|
1970
|
+
received_at: string;
|
|
1971
|
+
created_at: string;
|
|
1972
|
+
}
|
|
1973
|
+
/**
|
|
1974
|
+
* Feishu one-click provisioning session (OAuth device flow). The client
|
|
1975
|
+
* renders `verification_url` as a QR code and lazily polls the status
|
|
1976
|
+
* endpoint every `poll_interval_seconds` — each poll may forward one
|
|
1977
|
+
* provider poll server-side, so respect the interval.
|
|
1978
|
+
*/
|
|
1979
|
+
export type ChannelProvisioningStatus = 'pending' | 'polling' | 'done' | 'expired' | 'denied' | 'canceled' | 'failed';
|
|
1980
|
+
export interface ChannelProvisioningSession {
|
|
1981
|
+
id: string;
|
|
1982
|
+
org_id: string;
|
|
1983
|
+
agent_id: string;
|
|
1984
|
+
provider: ChannelProvider;
|
|
1985
|
+
created_by: string;
|
|
1986
|
+
status: ChannelProvisioningStatus;
|
|
1987
|
+
poll_interval_seconds: number;
|
|
1988
|
+
/** Set when status = 'done': the minted connection. */
|
|
1989
|
+
connection_id?: string;
|
|
1990
|
+
/** Terminal detail: access_denied / expired_token / domain_switched / connection_exists / alias_conflict / internal. */
|
|
1991
|
+
error_code?: string;
|
|
1992
|
+
expires_at: string;
|
|
1993
|
+
created_at: string;
|
|
1994
|
+
updated_at: string;
|
|
1995
|
+
/** QR target — present on live (pending/polling) sessions only. */
|
|
1996
|
+
verification_url?: string;
|
|
1997
|
+
user_code?: string;
|
|
1998
|
+
}
|
|
1999
|
+
export interface InitiateChannelProvisioningInput {
|
|
2000
|
+
agent_id: string;
|
|
2001
|
+
provider: ChannelProvider;
|
|
2002
|
+
}
|
|
2003
|
+
export type DispatchEventType = 'message' | 'task_assign' | 'task_update' | 'task_comment' | 'wiki_comment' | 'schedule.fire' | 'external_trigger' | 'approval_decided' | 'channel_message';
|
|
1815
2004
|
export type DispatchStatus = 'pending' | 'received' | 'acked';
|
|
1816
2005
|
export type DispatchDeliveryReason = 'mention' | 'watcher' | 'assignee' | 'creator';
|
|
1817
2006
|
export interface DispatchEvent {
|
|
@@ -1924,10 +2113,13 @@ export type WsEventMap = {
|
|
|
1924
2113
|
'invitation.revoked': InvitationRevokedEventData;
|
|
1925
2114
|
'org.join_request.new': OrgJoinRequestNewEventData;
|
|
1926
2115
|
'org.invite_link.joined': OrgInviteLinkJoinedEventData;
|
|
2116
|
+
'org.member.removed': OrgMemberRemovedData;
|
|
1927
2117
|
'agent_config.update': AgentConfigUpdateData;
|
|
1928
2118
|
'presence.update': PresenceUpdateData;
|
|
1929
2119
|
'wiki.changeset.created': WikiChangesetCreatedData;
|
|
1930
2120
|
'wiki.changeset.updated': WikiChangesetUpdatedData;
|
|
2121
|
+
'wiki.deleted': WikiDeletedData;
|
|
2122
|
+
'wiki.restored': WikiRestoredData;
|
|
1931
2123
|
'comment.created': CommentCreatedData;
|
|
1932
2124
|
'comment.updated': CommentUpdatedData;
|
|
1933
2125
|
'comment.deleted': CommentDeletedData;
|
|
@@ -1951,6 +2143,7 @@ export type WsEventMap = {
|
|
|
1951
2143
|
'machine.agent.attached': MachineAgentAttachedData;
|
|
1952
2144
|
'machine.agent.detached': MachineAgentDetachedData;
|
|
1953
2145
|
'machine.config.updated': MachineConfigUpdatedData;
|
|
2146
|
+
'machine.agent_config.updated': MachineAgentConfigUpdatedData;
|
|
1954
2147
|
'machine.workspace.setup.requested': MachineWorkspaceSetupRequestedData;
|
|
1955
2148
|
'machine.stop': MachineStopData;
|
|
1956
2149
|
'machine.filesystem.browse': MachineFilesystemBrowseData;
|
|
@@ -2008,7 +2201,14 @@ export interface PlatformConfigResponse {
|
|
|
2008
2201
|
version: string;
|
|
2009
2202
|
schema_version: number;
|
|
2010
2203
|
min_plugin_version?: string;
|
|
2204
|
+
/** @deprecated V1-compat only — old bridges read this for override-vs-floor. New bridges read `model_is_pin`. */
|
|
2011
2205
|
mode?: string;
|
|
2206
|
+
/**
|
|
2207
|
+
* Whether the delivered model is an operator PIN (override, beats the runtime's
|
|
2208
|
+
* env/default) vs a catalog FLOOR (loses to env). Optional: an old server omits
|
|
2209
|
+
* it and the bridge falls back to the legacy `model_management`-derived signal.
|
|
2210
|
+
*/
|
|
2211
|
+
model_is_pin?: boolean;
|
|
2012
2212
|
config: Record<string, unknown>;
|
|
2013
2213
|
}
|
|
2014
2214
|
export interface AgentConfigUpdateData {
|
|
@@ -2091,6 +2291,35 @@ export interface BacklinksResponse {
|
|
|
2091
2291
|
backlinks: BacklinkItem[];
|
|
2092
2292
|
next_cursor?: string;
|
|
2093
2293
|
}
|
|
2294
|
+
/**
|
|
2295
|
+
* One entity in a multi-hop ref-graph traversal (GET /refs/graph). `id`/`uri` are
|
|
2296
|
+
* the ref_links endpoint identifier: a bare prll:// entity id for most nodes
|
|
2297
|
+
* (`tsk_abc` → `prll://tsk_abc`), but a wiki_file source node carries its file
|
|
2298
|
+
* path (`wik_abc/docs/a.md` → `prll://wik_abc/docs/a.md`, type `wik`). The query
|
|
2299
|
+
* root must be entity-level (refined path/anchor URIs are rejected 400), yet
|
|
2300
|
+
* interior wiki_file nodes can legitimately be path-bearing.
|
|
2301
|
+
*/
|
|
2302
|
+
export interface RefGraphNode {
|
|
2303
|
+
uri: string;
|
|
2304
|
+
type: string;
|
|
2305
|
+
id: string;
|
|
2306
|
+
depth: number;
|
|
2307
|
+
}
|
|
2308
|
+
/** One directed prll:// reference between two nodes in the graph. */
|
|
2309
|
+
export interface RefGraphEdge {
|
|
2310
|
+
source_uri: string;
|
|
2311
|
+
target_uri: string;
|
|
2312
|
+
source_type: string;
|
|
2313
|
+
target_type: string;
|
|
2314
|
+
context?: string;
|
|
2315
|
+
}
|
|
2316
|
+
export interface RefGraphResponse {
|
|
2317
|
+
root: string;
|
|
2318
|
+
depth: number;
|
|
2319
|
+
nodes: RefGraphNode[];
|
|
2320
|
+
edges: RefGraphEdge[];
|
|
2321
|
+
truncated: boolean;
|
|
2322
|
+
}
|
|
2094
2323
|
export interface BrokenRefItem {
|
|
2095
2324
|
ref_link_id: string;
|
|
2096
2325
|
source_type: string;
|
|
@@ -2238,6 +2467,58 @@ export interface ComputePricing {
|
|
|
2238
2467
|
created_at: string;
|
|
2239
2468
|
}
|
|
2240
2469
|
export type ComputePricingResponse = Record<string, ComputePricing>;
|
|
2470
|
+
/**
|
|
2471
|
+
* Per-runtime capability row from GET /api/v1/runtimes (public, no auth).
|
|
2472
|
+
* Server SSOT: server/pkg/hosting/capabilities.go RuntimeCapability — the
|
|
2473
|
+
* data source for the create/settings interlock (which compute × intelligence
|
|
2474
|
+
* × model combinations are offerable per runtime).
|
|
2475
|
+
*/
|
|
2476
|
+
export interface RuntimeCapability {
|
|
2477
|
+
runtime: string;
|
|
2478
|
+
/** Where the runtime can run: "hosted" and/or "local". Hermes is cloud-only. */
|
|
2479
|
+
compute_modes: string[];
|
|
2480
|
+
/**
|
|
2481
|
+
* Provider family the runtime's OWN credentials can serve ("anthropic" /
|
|
2482
|
+
* "openai"), or "any" for family-agnostic runtimes. Own-route restriction
|
|
2483
|
+
* only — see cross_family_via_parall.
|
|
2484
|
+
*/
|
|
2485
|
+
native_model_family: string;
|
|
2486
|
+
/** On the Parall proxy route any catalog model is allowed regardless of family. */
|
|
2487
|
+
cross_family_via_parall: boolean;
|
|
2488
|
+
/** Whether a pinned model is delivered when the agent runs on its own credentials. */
|
|
2489
|
+
own_route_model_pin: boolean;
|
|
2490
|
+
/** Catalog default the UI pre-selects for this runtime. */
|
|
2491
|
+
recommended_model: string;
|
|
2492
|
+
}
|
|
2493
|
+
/**
|
|
2494
|
+
* Catalog entry from GET /api/v1/models (public, no auth) — the DB-backed
|
|
2495
|
+
* platform model catalog. Server SSOT: handler.PlatformModelDTO
|
|
2496
|
+
* (docs/engineering-design/model-catalog-design.md §6.1). Replaces the
|
|
2497
|
+
* compile-time PLATFORM_MODELS constant as the picker data source.
|
|
2498
|
+
*/
|
|
2499
|
+
export interface PlatformModelInfo {
|
|
2500
|
+
id: string;
|
|
2501
|
+
name: string;
|
|
2502
|
+
/** Provider family ("anthropic", "openai", "google", ...). */
|
|
2503
|
+
family: string;
|
|
2504
|
+
contextWindow: number;
|
|
2505
|
+
maxTokens: number;
|
|
2506
|
+
effortLevels?: string[];
|
|
2507
|
+
/** Runtime type → runtime-native CLI model name. */
|
|
2508
|
+
runtime_names?: Record<string, string>;
|
|
2509
|
+
/** Set on client-behavior variants (the "(1M)" entries) — see isPlatformModelSelectableForRuntime. */
|
|
2510
|
+
upstream_id?: string;
|
|
2511
|
+
/** Display hints: "recommended" / "new" / "beta". */
|
|
2512
|
+
tags?: string[];
|
|
2513
|
+
sort_order: number;
|
|
2514
|
+
/** True only for a legacy entry appended via include_model (not in the active catalog). */
|
|
2515
|
+
hidden?: boolean;
|
|
2516
|
+
}
|
|
2517
|
+
export interface PlatformModelsResponse {
|
|
2518
|
+
data: PlatformModelInfo[];
|
|
2519
|
+
/** Catalog content hash — changes whenever the catalog changes. */
|
|
2520
|
+
version: string;
|
|
2521
|
+
}
|
|
2241
2522
|
export interface MachinePreset {
|
|
2242
2523
|
key: string;
|
|
2243
2524
|
cpu_cores: number;
|
|
@@ -2292,7 +2573,8 @@ export interface BillingMachineStoppedEvent {
|
|
|
2292
2573
|
export interface BillingInsufficientEvent {
|
|
2293
2574
|
org_id: string;
|
|
2294
2575
|
}
|
|
2295
|
-
export type ClipSourceType = 'registry' | 'custom' | 'builtin';
|
|
2576
|
+
export type ClipSourceType = 'registry' | 'custom' | 'builtin' | 'channel';
|
|
2577
|
+
export type UserClipSourceType = 'registry' | 'custom' | 'builtin';
|
|
2296
2578
|
export type ClipStatus = 'active' | 'disabled';
|
|
2297
2579
|
export interface Clip {
|
|
2298
2580
|
id: string;
|
|
@@ -2324,7 +2606,7 @@ export interface CreateClipRequest {
|
|
|
2324
2606
|
display_name?: string;
|
|
2325
2607
|
description?: string;
|
|
2326
2608
|
manifest?: Record<string, unknown>;
|
|
2327
|
-
source_type?:
|
|
2609
|
+
source_type?: UserClipSourceType;
|
|
2328
2610
|
source_ref?: string;
|
|
2329
2611
|
version?: string;
|
|
2330
2612
|
machine_id: string;
|
|
@@ -2387,6 +2669,14 @@ export type BrowserProfileStatus = 'pending' | 'running' | 'stopped' | 'error' |
|
|
|
2387
2669
|
* required), `hosted` runs on the platform pool (machine_id null).
|
|
2388
2670
|
*/
|
|
2389
2671
|
export type BrowserPlacement = 'byoc' | 'hosted';
|
|
2672
|
+
/** Deployment-wide hosted browser runtime availability (the controller startup
|
|
2673
|
+
* gate). Drives whether the create UI offers the platform-hosted placement; it
|
|
2674
|
+
* is org-scoped only for auth — the value itself is the same for every org.
|
|
2675
|
+
* Fail-closed: the server reports `available: false` if it cannot verify. */
|
|
2676
|
+
export interface BrowserRuntimeStatus {
|
|
2677
|
+
available: boolean;
|
|
2678
|
+
reason?: string;
|
|
2679
|
+
}
|
|
2390
2680
|
export interface BrowserProfile {
|
|
2391
2681
|
id: string;
|
|
2392
2682
|
org_id: string;
|
|
@@ -2407,6 +2697,14 @@ export interface BrowserProfile {
|
|
|
2407
2697
|
* or control gate and owner/admin can always control. The org-wide list uses
|
|
2408
2698
|
* {@link BrowserProfileListItem.can_open} (per-viewer) instead. */
|
|
2409
2699
|
can_open?: boolean;
|
|
2700
|
+
/** Per-profile outbound proxy (BYO provider credentials). Returned to the owner /
|
|
2701
|
+
* org admin (Get) for the edit form. The password is NEVER returned —
|
|
2702
|
+
* {@link proxy_password_set} reports only whether one is configured. */
|
|
2703
|
+
proxy_server?: string | null;
|
|
2704
|
+
proxy_username?: string | null;
|
|
2705
|
+
/** True when a proxy password is stored. Drives the edit form's "leave blank to
|
|
2706
|
+
* keep" affordance; the value itself is never sent to a human-facing client. */
|
|
2707
|
+
proxy_password_set?: boolean;
|
|
2410
2708
|
}
|
|
2411
2709
|
/** Sanitized row from `GET /orgs/{orgId}/browser-profiles` (org-wide discovery).
|
|
2412
2710
|
* Carries only the fields the Browser Profiles tab needs to render + gate
|
|
@@ -2429,6 +2727,34 @@ export interface BrowserProfileListItem {
|
|
|
2429
2727
|
can_open?: boolean;
|
|
2430
2728
|
error_msg?: string | null;
|
|
2431
2729
|
last_seen?: string | null;
|
|
2730
|
+
/** Non-sensitive discovery flag: does this profile egress through a proxy. The
|
|
2731
|
+
* proxy server / credentials are NOT in the org-wide list (owner/admin Get only). */
|
|
2732
|
+
proxy_configured?: boolean;
|
|
2733
|
+
}
|
|
2734
|
+
/** Daemon-facing browser profile returned by `GET /machines/me/browser-profiles`
|
|
2735
|
+
* (mck_-authed, machine-scoped). Unlike {@link BrowserProfile} it carries
|
|
2736
|
+
* `proxy_password`: the local BYOC daemon must replay it to bb-browser. This is the
|
|
2737
|
+
* single intended channel for the credential to leave the server — never surface it
|
|
2738
|
+
* on a human-facing path. */
|
|
2739
|
+
export interface MachineBrowserProfile {
|
|
2740
|
+
id: string;
|
|
2741
|
+
org_id: string;
|
|
2742
|
+
placement: BrowserPlacement;
|
|
2743
|
+
machine_id: string | null;
|
|
2744
|
+
owner_user_id: string;
|
|
2745
|
+
display_name: string;
|
|
2746
|
+
status: BrowserProfileStatus;
|
|
2747
|
+
error_msg?: string | null;
|
|
2748
|
+
last_seen?: string | null;
|
|
2749
|
+
proxy_server?: string | null;
|
|
2750
|
+
proxy_username?: string | null;
|
|
2751
|
+
proxy_password?: string | null;
|
|
2752
|
+
/** Per-profile fencing tokens (PR #1650): lifecycle_generation bumps on every
|
|
2753
|
+
* open/stop/reset (daemon reports under it; stale reports rejected);
|
|
2754
|
+
* reset_generation bumps only on reset (daemon wipes local state on reconnect
|
|
2755
|
+
* when this is newer than what it last applied). Default 0. */
|
|
2756
|
+
lifecycle_generation: number;
|
|
2757
|
+
reset_generation: number;
|
|
2432
2758
|
}
|
|
2433
2759
|
export interface BrowserProfileConsent {
|
|
2434
2760
|
id: string;
|
|
@@ -2447,9 +2773,20 @@ export interface CreateBrowserProfileRequest {
|
|
|
2447
2773
|
machine_id?: string | null;
|
|
2448
2774
|
owner_user_id: string;
|
|
2449
2775
|
display_name: string;
|
|
2776
|
+
/** Optional BYO proxy. Omit all for direct egress. proxy_server is `host:port`
|
|
2777
|
+
* (optional http/https/socks5 scheme); proxy_username/password are sent together. */
|
|
2778
|
+
proxy_server?: string | null;
|
|
2779
|
+
proxy_username?: string | null;
|
|
2780
|
+
proxy_password?: string | null;
|
|
2450
2781
|
}
|
|
2451
2782
|
export interface UpdateBrowserProfileRequest {
|
|
2452
2783
|
display_name?: string;
|
|
2784
|
+
/** Per-field proxy edit (tri-state): omit = leave unchanged, "" = clear (an empty
|
|
2785
|
+
* proxy_server clears the whole proxy), value = set. Omitting proxy_password keeps
|
|
2786
|
+
* the stored one (never re-entered / echoed). */
|
|
2787
|
+
proxy_server?: string | null;
|
|
2788
|
+
proxy_username?: string | null;
|
|
2789
|
+
proxy_password?: string | null;
|
|
2453
2790
|
}
|
|
2454
2791
|
export interface BrowserProfileLifecycleRequest {
|
|
2455
2792
|
start_url?: string;
|
|
@@ -2540,12 +2877,25 @@ export interface ClipRemovedData {
|
|
|
2540
2877
|
clip_id: string;
|
|
2541
2878
|
org_id: string;
|
|
2542
2879
|
}
|
|
2543
|
-
export
|
|
2880
|
+
export type SearchParams = {
|
|
2544
2881
|
q: string;
|
|
2882
|
+
/** Entity selector CSV: message / task / wiki. Distinct from `wiki_type`. */
|
|
2545
2883
|
types?: string;
|
|
2546
2884
|
chat_id?: string;
|
|
2547
2885
|
limit?: number;
|
|
2548
|
-
|
|
2886
|
+
/** Page offset into the per-type candidate pool (default 0). Reachability is capped — past the pool, results are empty with `has_more` false. */
|
|
2887
|
+
offset?: number;
|
|
2888
|
+
/** Wiki document-type facet (frontmatter `type`) — a separate axis from `types`. */
|
|
2889
|
+
wiki_type?: string;
|
|
2890
|
+
/** RFC3339 or YYYY-MM-DD lower bound; narrows messages (created_at) and tasks (updated_at). Not applied to wiki. */
|
|
2891
|
+
since?: string;
|
|
2892
|
+
/** Sender filter (Slack `from:`) — user id. Messages only; tasks/wiki carry no sender. */
|
|
2893
|
+
from?: string;
|
|
2894
|
+
/** Result order: `relevance` (default, RRF hybrid) or `recent` (newest-first). Recent applies to messages/tasks; wiki stays relevance (no authored timestamp). */
|
|
2895
|
+
order?: 'relevance' | 'recent';
|
|
2896
|
+
/** Collapse cross-chat message results to one hit per chat (default true). Pass false on the full results page to page every match. No effect when `chat_id` is set. */
|
|
2897
|
+
collapse_by_chat?: boolean;
|
|
2898
|
+
};
|
|
2549
2899
|
export interface SearchMessageResult {
|
|
2550
2900
|
message_id: string;
|
|
2551
2901
|
chat_id: string;
|
|
@@ -2585,6 +2935,12 @@ export interface SearchResponse {
|
|
|
2585
2935
|
messages: SearchMessageResult[];
|
|
2586
2936
|
tasks: SearchTaskResult[];
|
|
2587
2937
|
wiki: SearchWikiResult[];
|
|
2938
|
+
/** Per-type flag: more results remain past the returned page (within the reachable pool). Lets a tabbed results UI page each type independently. Optional for resilience to older payloads; clients default to all-false. */
|
|
2939
|
+
has_more?: {
|
|
2940
|
+
messages: boolean;
|
|
2941
|
+
tasks: boolean;
|
|
2942
|
+
wiki: boolean;
|
|
2943
|
+
};
|
|
2588
2944
|
}
|
|
2589
2945
|
export {};
|
|
2590
2946
|
//# sourceMappingURL=types.d.ts.map
|