@parall/sdk 1.36.1 → 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 +67 -4
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +118 -3
- package/dist/constants.d.ts +65 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +99 -8
- package/dist/types.d.ts +286 -5
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/client.ts +211 -2
- package/src/constants.ts +116 -8
- package/src/types.ts +333 -5
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 {
|
|
@@ -2267,6 +2467,58 @@ export interface ComputePricing {
|
|
|
2267
2467
|
created_at: string;
|
|
2268
2468
|
}
|
|
2269
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
|
+
}
|
|
2270
2522
|
export interface MachinePreset {
|
|
2271
2523
|
key: string;
|
|
2272
2524
|
cpu_cores: number;
|
|
@@ -2321,7 +2573,8 @@ export interface BillingMachineStoppedEvent {
|
|
|
2321
2573
|
export interface BillingInsufficientEvent {
|
|
2322
2574
|
org_id: string;
|
|
2323
2575
|
}
|
|
2324
|
-
export type ClipSourceType = 'registry' | 'custom' | 'builtin';
|
|
2576
|
+
export type ClipSourceType = 'registry' | 'custom' | 'builtin' | 'channel';
|
|
2577
|
+
export type UserClipSourceType = 'registry' | 'custom' | 'builtin';
|
|
2325
2578
|
export type ClipStatus = 'active' | 'disabled';
|
|
2326
2579
|
export interface Clip {
|
|
2327
2580
|
id: string;
|
|
@@ -2353,7 +2606,7 @@ export interface CreateClipRequest {
|
|
|
2353
2606
|
display_name?: string;
|
|
2354
2607
|
description?: string;
|
|
2355
2608
|
manifest?: Record<string, unknown>;
|
|
2356
|
-
source_type?:
|
|
2609
|
+
source_type?: UserClipSourceType;
|
|
2357
2610
|
source_ref?: string;
|
|
2358
2611
|
version?: string;
|
|
2359
2612
|
machine_id: string;
|
|
@@ -2416,6 +2669,14 @@ export type BrowserProfileStatus = 'pending' | 'running' | 'stopped' | 'error' |
|
|
|
2416
2669
|
* required), `hosted` runs on the platform pool (machine_id null).
|
|
2417
2670
|
*/
|
|
2418
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
|
+
}
|
|
2419
2680
|
export interface BrowserProfile {
|
|
2420
2681
|
id: string;
|
|
2421
2682
|
org_id: string;
|
|
@@ -2488,6 +2749,12 @@ export interface MachineBrowserProfile {
|
|
|
2488
2749
|
proxy_server?: string | null;
|
|
2489
2750
|
proxy_username?: string | null;
|
|
2490
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;
|
|
2491
2758
|
}
|
|
2492
2759
|
export interface BrowserProfileConsent {
|
|
2493
2760
|
id: string;
|
|
@@ -2616,10 +2883,18 @@ export type SearchParams = {
|
|
|
2616
2883
|
types?: string;
|
|
2617
2884
|
chat_id?: string;
|
|
2618
2885
|
limit?: number;
|
|
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;
|
|
2619
2888
|
/** Wiki document-type facet (frontmatter `type`) — a separate axis from `types`. */
|
|
2620
2889
|
wiki_type?: string;
|
|
2621
|
-
/** RFC3339 or YYYY-MM-DD; narrows messages (created_at) and tasks (updated_at). Not applied to wiki. */
|
|
2890
|
+
/** RFC3339 or YYYY-MM-DD lower bound; narrows messages (created_at) and tasks (updated_at). Not applied to wiki. */
|
|
2622
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;
|
|
2623
2898
|
};
|
|
2624
2899
|
export interface SearchMessageResult {
|
|
2625
2900
|
message_id: string;
|
|
@@ -2660,6 +2935,12 @@ export interface SearchResponse {
|
|
|
2660
2935
|
messages: SearchMessageResult[];
|
|
2661
2936
|
tasks: SearchTaskResult[];
|
|
2662
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
|
+
};
|
|
2663
2944
|
}
|
|
2664
2945
|
export {};
|
|
2665
2946
|
//# sourceMappingURL=types.d.ts.map
|