@parall/sdk 1.55.4 → 1.55.5
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/attachment-client.d.ts +14 -0
- package/dist/attachment-client.d.ts.map +1 -0
- package/dist/attachment-client.js +38 -0
- package/dist/attachment-endpoints.d.ts +7 -0
- package/dist/attachment-endpoints.d.ts.map +1 -0
- package/dist/attachment-endpoints.js +8 -0
- package/dist/attachment-types.d.ts +33 -0
- package/dist/attachment-types.d.ts.map +1 -0
- package/dist/attachment-types.js +1 -0
- package/dist/client.d.ts +59 -11
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +120 -14
- package/dist/constants.d.ts +73 -54
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +21 -3
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/types.d.ts +361 -23
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +12 -0
- package/package.json +1 -1
- package/src/attachment-client.ts +56 -0
- package/src/attachment-endpoints.ts +8 -0
- package/src/attachment-types.ts +36 -0
- package/src/client.ts +267 -27
- package/src/constants.ts +36 -3
- package/src/index.ts +1 -0
- package/src/types.ts +429 -25
package/src/types.ts
CHANGED
|
@@ -4,6 +4,13 @@ import type {
|
|
|
4
4
|
LabelDeletedData,
|
|
5
5
|
LabelUpdatedData,
|
|
6
6
|
} from './task-label-types.js';
|
|
7
|
+
export type {
|
|
8
|
+
CompletedUploadPart,
|
|
9
|
+
FileUrlResponse,
|
|
10
|
+
PresignedUploadPart,
|
|
11
|
+
PresignResponse,
|
|
12
|
+
PresignUploadRequest,
|
|
13
|
+
} from './attachment-types.js';
|
|
7
14
|
|
|
8
15
|
// ============================================================
|
|
9
16
|
// Entity Types — mirror server data model
|
|
@@ -60,12 +67,31 @@ export interface Chat {
|
|
|
60
67
|
pinned: boolean;
|
|
61
68
|
hidden: boolean;
|
|
62
69
|
my_notification_level?: NotificationLevel;
|
|
70
|
+
/**
|
|
71
|
+
* Resolved per-(agent, chat) reply policy for an AGENT caller: override →
|
|
72
|
+
* room default → mentions_only floor, gated on the runtime capability.
|
|
73
|
+
* Absent for human callers, DMs, and smart chats — a runtime reading
|
|
74
|
+
* nothing here falls back to its legacy agent_routing_mode check.
|
|
75
|
+
*/
|
|
76
|
+
my_agent_reply_policy?: AgentReplyPolicy;
|
|
63
77
|
}
|
|
64
78
|
|
|
65
79
|
export type ChatMemberRole = 'owner' | 'admin' | 'member';
|
|
66
80
|
|
|
67
81
|
export type NotificationLevel = 'all' | 'mentions_only' | 'none';
|
|
68
82
|
|
|
83
|
+
/** Trigger axis of the per-(agent, chat) reply policy. No 'none': @mentions
|
|
84
|
+
* are an unsuppressible floor, so it would equal 'mentions_only'. */
|
|
85
|
+
export type AgentReplyTrigger = 'all' | 'mentions_only';
|
|
86
|
+
|
|
87
|
+
/** Reply-form axis; V1 defines only 'full'. */
|
|
88
|
+
export type AgentReplyForm = 'full';
|
|
89
|
+
|
|
90
|
+
export interface AgentReplyPolicy {
|
|
91
|
+
trigger: AgentReplyTrigger;
|
|
92
|
+
form: AgentReplyForm;
|
|
93
|
+
}
|
|
94
|
+
|
|
69
95
|
// Push notification subscription
|
|
70
96
|
export interface PushSubscribeRequest {
|
|
71
97
|
platform: 'web' | 'ios' | 'android';
|
|
@@ -101,6 +127,14 @@ export interface ChatMember {
|
|
|
101
127
|
pinned: boolean;
|
|
102
128
|
hidden: boolean;
|
|
103
129
|
joined_at: string;
|
|
130
|
+
/**
|
|
131
|
+
* Per-(agent, chat) trigger override on an AGENT member row; absent/null =
|
|
132
|
+
* follow the room default. Writable by chat owners/admins and org admins
|
|
133
|
+
* only — never by the agent itself.
|
|
134
|
+
*/
|
|
135
|
+
agent_reply_trigger?: AgentReplyTrigger | null;
|
|
136
|
+
/** Reply-form axis; always 'full' in V1. Absent on older servers. */
|
|
137
|
+
agent_reply_form?: AgentReplyForm;
|
|
104
138
|
/** Org-scoped public title. Omitted by older servers and for former DM peers. */
|
|
105
139
|
title?: string;
|
|
106
140
|
user?: User;
|
|
@@ -111,6 +145,11 @@ export interface UpdateChatMemberRequest {
|
|
|
111
145
|
pinned?: boolean;
|
|
112
146
|
hidden?: boolean;
|
|
113
147
|
notification_level?: NotificationLevel;
|
|
148
|
+
/** 'all' | 'mentions_only' sets the override; '' clears it (follow the
|
|
149
|
+
* room default). Chat-governance authz — agents can never write it. */
|
|
150
|
+
agent_reply_trigger?: AgentReplyTrigger | '';
|
|
151
|
+
/** V1 accepts only 'full'. */
|
|
152
|
+
agent_reply_form?: AgentReplyForm;
|
|
114
153
|
}
|
|
115
154
|
|
|
116
155
|
export interface TransferChatOwnershipRequest {
|
|
@@ -237,6 +276,8 @@ export interface ApprovalCardContent {
|
|
|
237
276
|
display: {
|
|
238
277
|
title: string;
|
|
239
278
|
description?: string;
|
|
279
|
+
request_reason?: string;
|
|
280
|
+
resource_label?: string;
|
|
240
281
|
requester?: { id: string; name: string };
|
|
241
282
|
};
|
|
242
283
|
interaction: {
|
|
@@ -248,6 +289,7 @@ export interface ApprovalCardContent {
|
|
|
248
289
|
status: string;
|
|
249
290
|
decided_by?: string;
|
|
250
291
|
decided_at?: string;
|
|
292
|
+
decision_reason?: string | null;
|
|
251
293
|
execution_status?: ExecutionStatus | null;
|
|
252
294
|
execution_error?: string | null;
|
|
253
295
|
executed_at?: string | null;
|
|
@@ -289,6 +331,7 @@ export interface SystemContent {
|
|
|
289
331
|
actor_name: string;
|
|
290
332
|
target_id?: string;
|
|
291
333
|
target_name?: string;
|
|
334
|
+
decision_reason?: string;
|
|
292
335
|
}
|
|
293
336
|
|
|
294
337
|
export type MessageContent =
|
|
@@ -381,9 +424,12 @@ export interface Approval {
|
|
|
381
424
|
resource_uri: string;
|
|
382
425
|
action_payload: Record<string, unknown>;
|
|
383
426
|
title: string;
|
|
427
|
+
request_reason?: string | null;
|
|
428
|
+
resource_label?: string | null;
|
|
384
429
|
requester_id: string;
|
|
385
430
|
decided_by: string | null;
|
|
386
431
|
decided_at: string | null;
|
|
432
|
+
decision_reason?: string | null;
|
|
387
433
|
status: ApprovalStatus;
|
|
388
434
|
expires_at: string | null;
|
|
389
435
|
execution_status?: ExecutionStatus | null;
|
|
@@ -412,6 +458,9 @@ export interface Organization {
|
|
|
412
458
|
avatar_url: string | null;
|
|
413
459
|
is_personal: boolean;
|
|
414
460
|
member_limit: number | null;
|
|
461
|
+
attachment_max_file_size_bytes?: number | null;
|
|
462
|
+
attachment_storage_limit_bytes?: number | null;
|
|
463
|
+
attachment_storage_used_bytes?: number;
|
|
415
464
|
/** Org-level default smart routing strategy: 'llm' | 'agent' | null. */
|
|
416
465
|
smart_routing_strategy: string | null;
|
|
417
466
|
/** Agent ID for strategy='agent'. NULL when strategy is 'llm' or unset. */
|
|
@@ -699,12 +748,6 @@ export interface CheckEmailResponse {
|
|
|
699
748
|
pending_verification?: boolean;
|
|
700
749
|
}
|
|
701
750
|
|
|
702
|
-
export interface PresignResponse {
|
|
703
|
-
upload_url: string;
|
|
704
|
-
attachment_id: string;
|
|
705
|
-
expires_in: number;
|
|
706
|
-
}
|
|
707
|
-
|
|
708
751
|
export interface WsTicketResponse {
|
|
709
752
|
ticket: string;
|
|
710
753
|
expires_at: string;
|
|
@@ -1536,23 +1579,6 @@ export interface LaunchCredentialResponse {
|
|
|
1536
1579
|
agent_id: string;
|
|
1537
1580
|
}
|
|
1538
1581
|
|
|
1539
|
-
export interface PresignUploadRequest {
|
|
1540
|
-
file_name: string;
|
|
1541
|
-
file_size: number;
|
|
1542
|
-
mime_type?: string;
|
|
1543
|
-
}
|
|
1544
|
-
|
|
1545
|
-
export interface FileUrlResponse {
|
|
1546
|
-
url: string;
|
|
1547
|
-
is_proxy_url?: boolean;
|
|
1548
|
-
expires_in: number;
|
|
1549
|
-
width?: number;
|
|
1550
|
-
height?: number;
|
|
1551
|
-
file_name: string;
|
|
1552
|
-
file_size: number;
|
|
1553
|
-
mime_type: string;
|
|
1554
|
-
}
|
|
1555
|
-
|
|
1556
1582
|
export interface AvatarUploadResponse {
|
|
1557
1583
|
avatar_url: string;
|
|
1558
1584
|
}
|
|
@@ -2255,10 +2281,35 @@ export type WikiChangesetStatus =
|
|
|
2255
2281
|
| 'superseded'
|
|
2256
2282
|
| 'conflict';
|
|
2257
2283
|
|
|
2284
|
+
export type WikiAccessTier = 'public' | 'restricted' | 'private';
|
|
2285
|
+
export type WikiMemberRole = 'viewer' | 'editor' | 'manager';
|
|
2286
|
+
|
|
2287
|
+
export interface WikiAccessPolicyMember {
|
|
2288
|
+
subject: string; // usr_* or team ID
|
|
2289
|
+
role: WikiMemberRole;
|
|
2290
|
+
}
|
|
2291
|
+
|
|
2292
|
+
/** GET/PUT shape of the who-can-access projection (membership design §4).
|
|
2293
|
+
* PUT must echo the revision from the latest GET (409 POLICY_REVISION_STALE
|
|
2294
|
+
* on mismatch). Container policy bits ride the root ('' path) PUT only. */
|
|
2295
|
+
export interface WikiAccessPolicy {
|
|
2296
|
+
path: string;
|
|
2297
|
+
general_access: WikiAccessTier | 'inherit';
|
|
2298
|
+
default_role?: 'editor' | 'viewer';
|
|
2299
|
+
discoverable: boolean;
|
|
2300
|
+
members: WikiAccessPolicyMember[];
|
|
2301
|
+
revision: string;
|
|
2302
|
+
/** Stored rows the projection cannot express — route to the advanced rules surface. */
|
|
2303
|
+
advanced?: boolean;
|
|
2304
|
+
editors_can_invite?: boolean;
|
|
2305
|
+
viewers_can_download?: boolean;
|
|
2306
|
+
}
|
|
2307
|
+
|
|
2258
2308
|
export interface Wiki {
|
|
2259
2309
|
id: string;
|
|
2260
2310
|
org_id: string;
|
|
2261
|
-
|
|
2311
|
+
/** Absent on degraded listing entries (discoverable-but-unreadable). */
|
|
2312
|
+
slug?: string;
|
|
2262
2313
|
name: string;
|
|
2263
2314
|
repo_owner: string;
|
|
2264
2315
|
repo_name: string;
|
|
@@ -2279,6 +2330,14 @@ export interface Wiki {
|
|
|
2279
2330
|
purge_eligible_at?: string | null;
|
|
2280
2331
|
/** Server-computed restore availability for recycle-bin rows. */
|
|
2281
2332
|
restorable?: boolean | null;
|
|
2333
|
+
/** Derived from the root path rules (never stored): public | restricted | private. */
|
|
2334
|
+
access_tier?: 'public' | 'restricted' | 'private';
|
|
2335
|
+
/** Caller's explicit membership at the library root: none | viewer | editor | manager. */
|
|
2336
|
+
my_membership?: 'none' | 'viewer' | 'editor' | 'manager';
|
|
2337
|
+
/** True for discoverable-but-unreadable listing entries: only id, name and
|
|
2338
|
+
* access_tier are populated — enough to request to join, nothing else.
|
|
2339
|
+
* Degraded entries must not be mounted, synced or treated as content. */
|
|
2340
|
+
degraded?: boolean;
|
|
2282
2341
|
}
|
|
2283
2342
|
|
|
2284
2343
|
export interface WikiFileChange {
|
|
@@ -2316,6 +2375,12 @@ export interface WikiTreeEntry {
|
|
|
2316
2375
|
* entry; use it to badge private folders, never for access decisions.
|
|
2317
2376
|
*/
|
|
2318
2377
|
restricted?: boolean;
|
|
2378
|
+
/**
|
|
2379
|
+
* Committer date (RFC3339) of the newest default-branch commit touching this
|
|
2380
|
+
* entry — the listing's "Last published" value. Present only when the tree
|
|
2381
|
+
* was requested with `last_commit: true` and the lookup succeeded.
|
|
2382
|
+
*/
|
|
2383
|
+
last_commit_at?: string;
|
|
2319
2384
|
}
|
|
2320
2385
|
|
|
2321
2386
|
export interface WikiTreeResponse {
|
|
@@ -2858,6 +2923,7 @@ export interface CardUpdateData {
|
|
|
2858
2923
|
execution_status?: ExecutionStatus | null;
|
|
2859
2924
|
decided_by?: string;
|
|
2860
2925
|
decided_at?: string;
|
|
2926
|
+
decision_reason?: string | null;
|
|
2861
2927
|
executed_at?: string | null;
|
|
2862
2928
|
execution_error?: string | null;
|
|
2863
2929
|
}
|
|
@@ -2873,7 +2939,7 @@ export interface WatchingData {
|
|
|
2873
2939
|
export interface MembershipChangedData {
|
|
2874
2940
|
chat_id: string;
|
|
2875
2941
|
user_id: string;
|
|
2876
|
-
action: 'added' | 'removed' | 'role_changed';
|
|
2942
|
+
action: 'added' | 'removed' | 'role_changed' | 'policy_changed';
|
|
2877
2943
|
}
|
|
2878
2944
|
|
|
2879
2945
|
/**
|
|
@@ -5015,6 +5081,12 @@ export interface EdgeBrowserProfile {
|
|
|
5015
5081
|
edge_id: string;
|
|
5016
5082
|
name: string;
|
|
5017
5083
|
is_default: boolean;
|
|
5084
|
+
/** Stable compare-and-swap revision for Local BYOC Profile operations. */
|
|
5085
|
+
version: number;
|
|
5086
|
+
/** Stable configuration binding used by Alias readiness and execution. */
|
|
5087
|
+
config_revision: number;
|
|
5088
|
+
/** Authoritative persisted Profile operation lifecycle. */
|
|
5089
|
+
lifecycle_state: 'active' | 'pending_create' | 'pending_rename' | 'pending_delete';
|
|
5018
5090
|
created_at: string;
|
|
5019
5091
|
updated_at: string;
|
|
5020
5092
|
/**
|
|
@@ -5026,6 +5098,338 @@ export interface EdgeBrowserProfile {
|
|
|
5026
5098
|
proxy_configured?: boolean;
|
|
5027
5099
|
}
|
|
5028
5100
|
|
|
5101
|
+
export type EdgeProfileOperationAction = 'create' | 'rename' | 'delete';
|
|
5102
|
+
export type EdgeProfileOperationStatus =
|
|
5103
|
+
| 'confirmation_required'
|
|
5104
|
+
| 'pending'
|
|
5105
|
+
| 'retryable'
|
|
5106
|
+
| 'rejected'
|
|
5107
|
+
| 'outcome_unknown'
|
|
5108
|
+
| 'succeeded';
|
|
5109
|
+
export type EdgeProfileOperationOutcome = 'applied' | 'retryable' | 'rejected';
|
|
5110
|
+
|
|
5111
|
+
export type EdgeProfileOperationErrorCode =
|
|
5112
|
+
| 'JWT_REQUIRED'
|
|
5113
|
+
| 'HUMAN_REQUIRED'
|
|
5114
|
+
| 'EDGE_NOT_FOUND'
|
|
5115
|
+
| 'EDGE_OFFLINE'
|
|
5116
|
+
| 'EDGE_STATUS_UNAVAILABLE'
|
|
5117
|
+
| 'PROFILE_NOT_FOUND'
|
|
5118
|
+
| 'PROFILE_VERSION_CONFLICT'
|
|
5119
|
+
| 'PROFILE_OPERATION_IN_PROGRESS'
|
|
5120
|
+
| 'PROFILE_OPERATION_NOT_FOUND'
|
|
5121
|
+
| 'PROFILE_OPERATION_CONFLICT'
|
|
5122
|
+
| 'PROFILE_DELETE_IMPACT_CHANGED'
|
|
5123
|
+
| 'IDEMPOTENCY_CONFLICT'
|
|
5124
|
+
| 'INVALID_IDEMPOTENCY_KEY'
|
|
5125
|
+
| 'INVALID_INPUT';
|
|
5126
|
+
|
|
5127
|
+
export type EdgeProfileOperationRequest =
|
|
5128
|
+
| { action: 'create'; name: string }
|
|
5129
|
+
| { action: 'rename'; profile_id: string; expected_version: number; name: string }
|
|
5130
|
+
| { action: 'delete'; profile_id: string; expected_version: number };
|
|
5131
|
+
|
|
5132
|
+
export interface EdgeProfileOperationConfirmRequest {
|
|
5133
|
+
impact_hash: string;
|
|
5134
|
+
confirmation_token: string;
|
|
5135
|
+
}
|
|
5136
|
+
|
|
5137
|
+
export interface EdgeProfileDeleteImpact {
|
|
5138
|
+
profile_id: string;
|
|
5139
|
+
profile_version: number;
|
|
5140
|
+
aliases: Array<{ alias_id: string; name: string }>;
|
|
5141
|
+
/** Classified legacy rows block confirmation; they are never silently deleted. */
|
|
5142
|
+
legacy_connections: Array<{ connection_id: string; classification: string }>;
|
|
5143
|
+
grants_count: number;
|
|
5144
|
+
accepted_or_running_executions: number;
|
|
5145
|
+
impact_hash: string;
|
|
5146
|
+
confirmation_token: string;
|
|
5147
|
+
}
|
|
5148
|
+
|
|
5149
|
+
export interface EdgeProfileOperationReceipt {
|
|
5150
|
+
operation_id: string;
|
|
5151
|
+
edge_id: string;
|
|
5152
|
+
profile_id: string;
|
|
5153
|
+
action: EdgeProfileOperationAction;
|
|
5154
|
+
status: EdgeProfileOperationStatus;
|
|
5155
|
+
expected_version?: number;
|
|
5156
|
+
target_version: number;
|
|
5157
|
+
attempt: number;
|
|
5158
|
+
name_before?: string;
|
|
5159
|
+
name_after?: string;
|
|
5160
|
+
impact?: EdgeProfileDeleteImpact;
|
|
5161
|
+
/** Present only while a Delete is awaiting the explicit strong confirmation. */
|
|
5162
|
+
confirmation_token?: string;
|
|
5163
|
+
/** Exact Edge outcome only; Server-private lifecycle evidence is never exposed here. */
|
|
5164
|
+
edge_outcome?: EdgeProfileOperationOutcome;
|
|
5165
|
+
error?: { code: string; message?: string };
|
|
5166
|
+
created_at: string;
|
|
5167
|
+
updated_at: string;
|
|
5168
|
+
completed_at?: string;
|
|
5169
|
+
}
|
|
5170
|
+
|
|
5171
|
+
export interface BrowserAliasCreateRequest {
|
|
5172
|
+
name: string;
|
|
5173
|
+
clip_id: string;
|
|
5174
|
+
edge_id: string;
|
|
5175
|
+
profile_id: string;
|
|
5176
|
+
idempotency_key: string;
|
|
5177
|
+
}
|
|
5178
|
+
|
|
5179
|
+
export interface BrowserAliasRenameRequest {
|
|
5180
|
+
name: string;
|
|
5181
|
+
expected_version: number;
|
|
5182
|
+
idempotency_key: string;
|
|
5183
|
+
}
|
|
5184
|
+
|
|
5185
|
+
export interface BrowserAliasDeleteRequest {
|
|
5186
|
+
expected_version: number;
|
|
5187
|
+
idempotency_key: string;
|
|
5188
|
+
}
|
|
5189
|
+
|
|
5190
|
+
export type BrowserAliasErrorCode =
|
|
5191
|
+
| 'JWT_REQUIRED'
|
|
5192
|
+
| 'HUMAN_REQUIRED'
|
|
5193
|
+
| 'INVALID_REQUEST'
|
|
5194
|
+
| 'INVALID_ALIAS_NAME'
|
|
5195
|
+
| 'CLIP_NOT_AVAILABLE'
|
|
5196
|
+
| 'PROFILE_NOT_FOUND'
|
|
5197
|
+
| 'ALIAS_NOT_FOUND'
|
|
5198
|
+
| 'ALIAS_NOT_READY'
|
|
5199
|
+
| 'ALIAS_NAME_TAKEN'
|
|
5200
|
+
| 'ALIAS_STALE'
|
|
5201
|
+
| 'PROFILE_OPERATION_IN_PROGRESS'
|
|
5202
|
+
| 'IDEMPOTENCY_CONFLICT'
|
|
5203
|
+
| 'EDGE_OFFLINE'
|
|
5204
|
+
| 'EDGE_STATUS_UNAVAILABLE';
|
|
5205
|
+
|
|
5206
|
+
export interface BrowserAliasVersion {
|
|
5207
|
+
id: string;
|
|
5208
|
+
version_seq: number;
|
|
5209
|
+
source_kind: 'publisher_working_copy' | 'approved_public_snapshot';
|
|
5210
|
+
source_clip_version_id?: string;
|
|
5211
|
+
source_working_revision?: string;
|
|
5212
|
+
version_label?: string;
|
|
5213
|
+
artifact_digest?: string;
|
|
5214
|
+
preparation_status: 'pending' | 'preparing' | 'ready' | 'failed';
|
|
5215
|
+
preparation_result?: Record<string, unknown>;
|
|
5216
|
+
created_at: string;
|
|
5217
|
+
updated_at: string;
|
|
5218
|
+
}
|
|
5219
|
+
|
|
5220
|
+
export type BrowserAliasReadinessStatus =
|
|
5221
|
+
| 'checking'
|
|
5222
|
+
| 'ready'
|
|
5223
|
+
| 'needs_action'
|
|
5224
|
+
| 'unavailable'
|
|
5225
|
+
| 'error';
|
|
5226
|
+
|
|
5227
|
+
export const BROWSER_ALIAS_READINESS_REASON_CODES = [
|
|
5228
|
+
'edge_offline',
|
|
5229
|
+
'profile_not_found',
|
|
5230
|
+
'profile_damaged',
|
|
5231
|
+
'artifact_invalid',
|
|
5232
|
+
'runtime_incompatible',
|
|
5233
|
+
'needs_login',
|
|
5234
|
+
'target_service_unavailable',
|
|
5235
|
+
'readiness_check_running',
|
|
5236
|
+
'readiness_check_timeout',
|
|
5237
|
+
'readiness_contract_error',
|
|
5238
|
+
] as const;
|
|
5239
|
+
|
|
5240
|
+
export type BrowserAliasReadinessReasonCode = (typeof BROWSER_ALIAS_READINESS_REASON_CODES)[number];
|
|
5241
|
+
|
|
5242
|
+
export interface BrowserAliasReadinessReason {
|
|
5243
|
+
code: BrowserAliasReadinessReasonCode;
|
|
5244
|
+
status: BrowserAliasReadinessStatus;
|
|
5245
|
+
hint: string;
|
|
5246
|
+
observed_at: string;
|
|
5247
|
+
retry_after_ms?: number;
|
|
5248
|
+
}
|
|
5249
|
+
|
|
5250
|
+
export interface BrowserAliasReadiness {
|
|
5251
|
+
alias_id: string;
|
|
5252
|
+
status: BrowserAliasReadinessStatus;
|
|
5253
|
+
blocking_reasons: BrowserAliasReadinessReason[];
|
|
5254
|
+
primary_reason?: BrowserAliasReadinessReasonCode;
|
|
5255
|
+
hint?: string;
|
|
5256
|
+
observed_at: string;
|
|
5257
|
+
source: 'server' | 'edge';
|
|
5258
|
+
retry_after_ms?: number;
|
|
5259
|
+
alias_revision: number;
|
|
5260
|
+
active_alias_version_id?: string;
|
|
5261
|
+
profile_revision: number;
|
|
5262
|
+
profile_config_revision: number;
|
|
5263
|
+
generation: number;
|
|
5264
|
+
updated_at: string;
|
|
5265
|
+
}
|
|
5266
|
+
|
|
5267
|
+
export interface BrowserAliasReadinessCheckRequest {
|
|
5268
|
+
idempotency_key: string;
|
|
5269
|
+
}
|
|
5270
|
+
|
|
5271
|
+
export type BrowserAliasReadinessCheckStatus = 'pending' | 'dispatched' | 'succeeded' | 'rejected';
|
|
5272
|
+
|
|
5273
|
+
export interface BrowserAliasReadinessCheckReceipt {
|
|
5274
|
+
check_id: string;
|
|
5275
|
+
alias_id: string;
|
|
5276
|
+
status: BrowserAliasReadinessCheckStatus;
|
|
5277
|
+
error_code?: 'REPORT_STALE';
|
|
5278
|
+
generation: number;
|
|
5279
|
+
attempt: number;
|
|
5280
|
+
readiness?: BrowserAliasReadiness;
|
|
5281
|
+
created_at: string;
|
|
5282
|
+
updated_at: string;
|
|
5283
|
+
dispatched_at?: string;
|
|
5284
|
+
completed_at?: string;
|
|
5285
|
+
}
|
|
5286
|
+
|
|
5287
|
+
export interface BrowserAlias {
|
|
5288
|
+
id: string;
|
|
5289
|
+
name: string;
|
|
5290
|
+
version: number;
|
|
5291
|
+
lifecycle: 'preparing' | 'active' | 'update_preparing' | 'update_failed' | 'deleting';
|
|
5292
|
+
edge: { id: string; name: string; status: 'online' | 'offline'; placement: 'byoc' | 'hosted' };
|
|
5293
|
+
profile: {
|
|
5294
|
+
id: string;
|
|
5295
|
+
name: string;
|
|
5296
|
+
version: number;
|
|
5297
|
+
config_revision: number;
|
|
5298
|
+
lifecycle_state: string;
|
|
5299
|
+
};
|
|
5300
|
+
clip: { id: string; name: string; version?: string };
|
|
5301
|
+
desired_version?: BrowserAliasVersion;
|
|
5302
|
+
active_version?: BrowserAliasVersion;
|
|
5303
|
+
active_artifact_digest?: string;
|
|
5304
|
+
preparation_result?: Record<string, unknown>;
|
|
5305
|
+
update_result?: Record<string, unknown>;
|
|
5306
|
+
readiness?: BrowserAliasReadiness;
|
|
5307
|
+
created_at: string;
|
|
5308
|
+
updated_at: string;
|
|
5309
|
+
}
|
|
5310
|
+
|
|
5311
|
+
export interface BrowserAliasDeleteProof {
|
|
5312
|
+
alias_deleted: true;
|
|
5313
|
+
grants_deleted: number;
|
|
5314
|
+
name_released: true;
|
|
5315
|
+
}
|
|
5316
|
+
|
|
5317
|
+
export interface BrowserAliasCommandContractSnapshot {
|
|
5318
|
+
command_name: string;
|
|
5319
|
+
input_schema: Record<string, unknown>;
|
|
5320
|
+
output_schema: Record<string, unknown> | null;
|
|
5321
|
+
side_effect_level: string;
|
|
5322
|
+
data_scopes: string[];
|
|
5323
|
+
allowed_domains: string[];
|
|
5324
|
+
required_capabilities: string[];
|
|
5325
|
+
}
|
|
5326
|
+
|
|
5327
|
+
export interface BrowserAliasGrantContractEvidence {
|
|
5328
|
+
contract_hash: string;
|
|
5329
|
+
contract_snapshot: BrowserAliasCommandContractSnapshot;
|
|
5330
|
+
}
|
|
5331
|
+
|
|
5332
|
+
export interface BrowserAliasGrantCommand {
|
|
5333
|
+
command_name: string;
|
|
5334
|
+
status: 'missing' | 'active' | 'review_required';
|
|
5335
|
+
authorized?: BrowserAliasGrantContractEvidence;
|
|
5336
|
+
current: BrowserAliasGrantContractEvidence;
|
|
5337
|
+
delta?: { changed_fields: string[] };
|
|
5338
|
+
}
|
|
5339
|
+
|
|
5340
|
+
export interface BrowserAliasGrantSet {
|
|
5341
|
+
key_id: string;
|
|
5342
|
+
alias: { id: string; name: string; clip: BrowserAlias['clip'] };
|
|
5343
|
+
/** Zero means this Key+Alias set has never been written. */
|
|
5344
|
+
version: number;
|
|
5345
|
+
commands: BrowserAliasGrantCommand[];
|
|
5346
|
+
updated_at?: string;
|
|
5347
|
+
}
|
|
5348
|
+
|
|
5349
|
+
export interface BrowserAliasGrantReplaceRequest {
|
|
5350
|
+
expected_version: number;
|
|
5351
|
+
idempotency_key: string;
|
|
5352
|
+
commands: Array<{
|
|
5353
|
+
command_name: string;
|
|
5354
|
+
authorized_contract_hash: string;
|
|
5355
|
+
authorized_contract_snapshot: BrowserAliasCommandContractSnapshot;
|
|
5356
|
+
}>;
|
|
5357
|
+
}
|
|
5358
|
+
|
|
5359
|
+
export interface ManagedBrowserAliasSummary {
|
|
5360
|
+
id: string;
|
|
5361
|
+
name: string;
|
|
5362
|
+
clip: BrowserAlias['clip'];
|
|
5363
|
+
readiness?: BrowserAliasReadiness;
|
|
5364
|
+
commands: string[];
|
|
5365
|
+
needs_owner_review: string[];
|
|
5366
|
+
}
|
|
5367
|
+
|
|
5368
|
+
export interface ManagedBrowserAliasCommand {
|
|
5369
|
+
name: string;
|
|
5370
|
+
status: 'active';
|
|
5371
|
+
description: string;
|
|
5372
|
+
input_schema: Record<string, unknown>;
|
|
5373
|
+
output_schema: Record<string, unknown> | null;
|
|
5374
|
+
side_effect_level: string;
|
|
5375
|
+
data_scopes: string[];
|
|
5376
|
+
allowed_domains: string[];
|
|
5377
|
+
required_capabilities: string[];
|
|
5378
|
+
}
|
|
5379
|
+
|
|
5380
|
+
export interface ManagedBrowserAliasReviewRequiredCommand {
|
|
5381
|
+
name: string;
|
|
5382
|
+
status: 'review_required';
|
|
5383
|
+
hint: string;
|
|
5384
|
+
}
|
|
5385
|
+
|
|
5386
|
+
export interface ManagedBrowserAliasInfo {
|
|
5387
|
+
id: string;
|
|
5388
|
+
name: string;
|
|
5389
|
+
clip: BrowserAlias['clip'];
|
|
5390
|
+
readiness?: BrowserAliasReadiness;
|
|
5391
|
+
commands: ManagedBrowserAliasCommand[];
|
|
5392
|
+
needs_owner_review: ManagedBrowserAliasReviewRequiredCommand[];
|
|
5393
|
+
}
|
|
5394
|
+
|
|
5395
|
+
export type BrowserAliasExecutionStatus =
|
|
5396
|
+
| 'accepted'
|
|
5397
|
+
| 'running'
|
|
5398
|
+
| 'succeeded'
|
|
5399
|
+
| 'failed'
|
|
5400
|
+
| 'outcome_unknown';
|
|
5401
|
+
|
|
5402
|
+
export interface BrowserAliasExecutionRequest {
|
|
5403
|
+
request_id: string;
|
|
5404
|
+
alias: string;
|
|
5405
|
+
command: string;
|
|
5406
|
+
args: Record<string, unknown>;
|
|
5407
|
+
}
|
|
5408
|
+
|
|
5409
|
+
export interface BrowserAliasExecutionError {
|
|
5410
|
+
code: string;
|
|
5411
|
+
message: string;
|
|
5412
|
+
hint?: string;
|
|
5413
|
+
}
|
|
5414
|
+
|
|
5415
|
+
/** Redacted managed-key/Owner recovery DTO. It never contains target IDs,
|
|
5416
|
+
* hashes, dispatch claims or Edge-ledger evidence. */
|
|
5417
|
+
export interface BrowserAliasExecutionReceipt {
|
|
5418
|
+
request_id: string;
|
|
5419
|
+
alias: string;
|
|
5420
|
+
command: string;
|
|
5421
|
+
status: BrowserAliasExecutionStatus;
|
|
5422
|
+
dispatched: true;
|
|
5423
|
+
command_timeout_ms: number;
|
|
5424
|
+
execution_deadline: string;
|
|
5425
|
+
result?: Record<string, unknown>;
|
|
5426
|
+
error?: BrowserAliasExecutionError;
|
|
5427
|
+
accepted_at: string;
|
|
5428
|
+
running_at?: string;
|
|
5429
|
+
terminal_at?: string;
|
|
5430
|
+
updated_at: string;
|
|
5431
|
+
}
|
|
5432
|
+
|
|
5029
5433
|
/**
|
|
5030
5434
|
* Sanitized per-profile egress proxy status (hosted Cloud Profiles) — the GET
|
|
5031
5435
|
* response and the PUT/DELETE result. NEVER carries the password; `password_set`
|