domani 1.0.5 → 1.1.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/index.d.ts +1132 -56
- package/dist/index.js +243 -14
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export interface Error {
|
|
|
18
18
|
/** Human-readable error message */
|
|
19
19
|
error: string;
|
|
20
20
|
/** Machine-readable error code */
|
|
21
|
-
code: "MISSING_API_KEY" | "INVALID_API_KEY" | "EXPIRED_API_KEY" | "MISSING_PARAMETER" | "INVALID_DOMAIN" | "PAYMENT_REQUIRED" | "DOMAIN_UNAVAILABLE" | "RATE_LIMIT_EXCEEDED" | "USER_EXISTS" | "NOT_FOUND" | "UNKNOWN_PROVIDER" | "UNKNOWN_METHOD" | "TARGET_REQUIRED" | "INVALID_PARAMETER" | "CONTACT_REQUIRED" | "INVALID_CONTACT" | "INSUFFICIENT_SCOPE" | "SCOPE_ESCALATION" | "DOMAIN_EXISTS" | "DOMAIN_NOT_ACTIVE" | "UNSUPPORTED_TLD" | "NOT_AVAILABLE" | "ALREADY_REGISTERED" | "TRANSFER_NOT_ELIGIBLE" | "ALREADY_LISTED" | "LISTING_SOLD" | "SELF_PURCHASE" | "DESCRIPTION_TOO_LONG" | "DEAL_NOT_FOUND" | "INVALID_DEAL_STATE" | "EPP_ATTEMPTS_EXCEEDED" | "ACTIVE_DEAL_EXISTS" | "AGENT_IDENTITY_NOT_FOUND" | "AGENT_IDENTITY_ESCALATION" | "CREDENTIAL_REVOKE_FAILED" | "INVALID_IDEMPOTENCY_KEY" | "IDEMPOTENCY_KEY_MISMATCH" | "IDEMPOTENCY_KEY_REUSED" | "OPERATION_IN_PROGRESS" | "OPERATION_SUPERSEDED" | "INVALID_OPERATION_RECEIPT" | "WORKSPACE_ADMIN_REQUIRED" | "PRINCIPAL_NOT_IN_WORKSPACE" | "MAILBOX_NOT_IN_WORKSPACE" | "GROUP_NOT_IN_WORKSPACE" | "COLLECTION_NOT_IN_WORKSPACE" | "ACCESS_VERSION_CONFLICT" | "ACCESS_OFFER_INVALID" | "ACCESS_OFFER_EMAIL_MISMATCH" | "MAIL_DOMAIN_CAPACITY_EXHAUSTED" | "MAIL_PROVIDER_ERROR";
|
|
21
|
+
code: "MISSING_API_KEY" | "INVALID_API_KEY" | "EXPIRED_API_KEY" | "MISSING_PARAMETER" | "INVALID_DOMAIN" | "PAYMENT_REQUIRED" | "DOMAIN_UNAVAILABLE" | "RATE_LIMIT_EXCEEDED" | "USER_EXISTS" | "NOT_FOUND" | "UNKNOWN_PROVIDER" | "UNKNOWN_METHOD" | "TARGET_REQUIRED" | "INVALID_PARAMETER" | "CONTACT_REQUIRED" | "INVALID_CONTACT" | "INSUFFICIENT_SCOPE" | "SCOPE_ESCALATION" | "DOMAIN_EXISTS" | "DOMAIN_NOT_ACTIVE" | "UNSUPPORTED_TLD" | "NOT_AVAILABLE" | "ALREADY_REGISTERED" | "TRANSFER_NOT_ELIGIBLE" | "ALREADY_LISTED" | "LISTING_SOLD" | "SELF_PURCHASE" | "DESCRIPTION_TOO_LONG" | "DEAL_NOT_FOUND" | "INVALID_DEAL_STATE" | "EPP_ATTEMPTS_EXCEEDED" | "ACTIVE_DEAL_EXISTS" | "AGENT_IDENTITY_NOT_FOUND" | "AGENT_IDENTITY_ESCALATION" | "CREDENTIAL_REVOKE_FAILED" | "INVALID_IDEMPOTENCY_KEY" | "IDEMPOTENCY_KEY_MISMATCH" | "IDEMPOTENCY_KEY_REUSED" | "OPERATION_IN_PROGRESS" | "OPERATION_SUPERSEDED" | "INVALID_OPERATION_RECEIPT" | "WORKSPACE_ADMIN_REQUIRED" | "WORKSPACE_OWNER_REQUIRED" | "PRINCIPAL_NOT_IN_WORKSPACE" | "MAILBOX_NOT_IN_WORKSPACE" | "GROUP_NOT_IN_WORKSPACE" | "COLLECTION_NOT_IN_WORKSPACE" | "ACCESS_VERSION_CONFLICT" | "ACCESS_OFFER_INVALID" | "ACCESS_OFFER_EMAIL_MISMATCH" | "MAIL_DOMAIN_CAPACITY_EXHAUSTED" | "MAIL_PROVIDER_ERROR" | "INVALID_HTTP_ROUTE_HOSTNAME" | "INVALID_HTTP_ROUTE_UPSTREAM" | "INVALID_HTTP_ROUTE_UPSTREAM_HEADERS" | "INVALID_HTTP_ROUTE_LEASE" | "INVALID_HTTP_ROUTE_POLICY" | "INVALID_HOSTNAME_BINDING" | "HTTP_ROUTE_HOSTNAME_NOT_ALLOWED" | "HTTP_ROUTE_HOSTNAME_REQUIRED" | "HTTP_ROUTE_HOSTNAME_RESERVED" | "HTTP_ROUTE_HOSTNAME_UNAVAILABLE" | "HTTP_ROUTE_CONCURRENCY_LIMIT" | "HTTP_ROUTE_WORKSPACE_LIMIT" | "HTTP_ROUTE_DOMAIN_NOT_OWNED" | "HTTP_ROUTE_TERMINAL" | "HTTP_ROUTE_VERIFICATION_NOT_ENABLED" | "HTTP_ROUTE_VERIFICATION_REQUIRES_HTTPS" | "HTTP_ROUTE_POLICY_WITHOUT_SCOPE" | "HTTP_ROUTE_POLICY_REQUIRED" | "HTTP_ROUTE_AGENT_IDENTITY_REQUIRED" | "HTTP_ROUTE_POLICY_ESCALATION" | "HOSTNAME_BINDING_NOT_ACTIVE" | "HOSTNAME_BINDING_DNS_CONFLICT" | "HOSTNAME_BINDING_ACK_REQUIRED" | "HOSTNAME_BINDING_BROWSER_MODE_MISMATCH" | "HOSTNAME_DNS_CONFLICT" | "ZONE_READ_FAILED" | "DNS_VERSION_CONFLICT" | "UNAUTHORIZED" | "APEX_WEB_MODE_CONFLICT" | "APEX_DELEGATION_ACK_REQUIRED" | "VERIFICATION_COOLDOWN" | "VERIFICATION_SEND_FAILED";
|
|
22
22
|
/** Actionable recovery guidance for the caller */
|
|
23
23
|
hint?: string;
|
|
24
24
|
/** CLI command to resolve the error (e.g. 'domani login', 'domani billing'). Present in CLI --json output. */
|
|
@@ -31,6 +31,8 @@ export interface Error {
|
|
|
31
31
|
fix_url?: string;
|
|
32
32
|
/** Seconds until retry is allowed (present on 429 responses) */
|
|
33
33
|
retry_after?: number;
|
|
34
|
+
/** Minutes until another verification email may be requested */
|
|
35
|
+
retry_after_minutes?: number;
|
|
34
36
|
/** Whether retrying after the external condition changes is safe */
|
|
35
37
|
retryable?: boolean;
|
|
36
38
|
}
|
|
@@ -87,6 +89,89 @@ export interface DsRecord {
|
|
|
87
89
|
/** Hex digest of the DNSKEY */
|
|
88
90
|
digest: string;
|
|
89
91
|
}
|
|
92
|
+
export interface HostnameBinding {
|
|
93
|
+
id: string;
|
|
94
|
+
hostname_pattern: string;
|
|
95
|
+
kind: "exact" | "wildcard";
|
|
96
|
+
browser_mode: "stateless" | "dedicated_site" | "trusted_same_site";
|
|
97
|
+
status: "manual_setup_required" | "pending_dns" | "pending_certificate" | "active" | "degraded" | "disabled" | "suspended";
|
|
98
|
+
certificate_status: string;
|
|
99
|
+
installed_records: DnsRecord[];
|
|
100
|
+
last_verified_at?: string | null;
|
|
101
|
+
created_at: string;
|
|
102
|
+
updated_at: string;
|
|
103
|
+
}
|
|
104
|
+
export interface HostnameBindingPlan {
|
|
105
|
+
hostname_pattern: string;
|
|
106
|
+
kind: "exact" | "wildcard";
|
|
107
|
+
browser_mode: "stateless" | "dedicated_site" | "trusted_same_site";
|
|
108
|
+
managed_dns: boolean;
|
|
109
|
+
zone_version: string;
|
|
110
|
+
certificate_kind: "exact" | "wildcard";
|
|
111
|
+
required_records: DnsRecord[];
|
|
112
|
+
conflicts: ({
|
|
113
|
+
code: "HOSTNAME_BINDING_DNS_CONFLICT" | "APEX_WEB_MODE_CONFLICT";
|
|
114
|
+
message: string;
|
|
115
|
+
record?: DnsRecord;
|
|
116
|
+
})[];
|
|
117
|
+
required_acknowledgements: string[];
|
|
118
|
+
warnings: string[];
|
|
119
|
+
}
|
|
120
|
+
export interface HostnameBindingReceipt {
|
|
121
|
+
hostname_binding: HostnameBinding;
|
|
122
|
+
idempotency_key: string;
|
|
123
|
+
idempotent_replay: boolean;
|
|
124
|
+
pending?: boolean;
|
|
125
|
+
manual_records?: DnsRecord[];
|
|
126
|
+
}
|
|
127
|
+
export interface HttpRoute {
|
|
128
|
+
id: string;
|
|
129
|
+
url: string;
|
|
130
|
+
hostname: string;
|
|
131
|
+
domain: string;
|
|
132
|
+
upstream: string;
|
|
133
|
+
/** Names of write-only headers injected toward the upstream; values are never returned */
|
|
134
|
+
upstream_header_names: string[];
|
|
135
|
+
host_header: "public" | "upstream";
|
|
136
|
+
browser_mode: "stateless" | "dedicated_site" | "trusted_same_site";
|
|
137
|
+
upstream_verification: {
|
|
138
|
+
mode: "none" | "signed_headers";
|
|
139
|
+
secret?: string;
|
|
140
|
+
};
|
|
141
|
+
status: "active" | "expired" | "deleted" | "suspended";
|
|
142
|
+
revision: number;
|
|
143
|
+
expires_at: string;
|
|
144
|
+
created_at: string;
|
|
145
|
+
updated_at?: string;
|
|
146
|
+
created_by: {
|
|
147
|
+
type: "user" | "agent" | "token";
|
|
148
|
+
id: string;
|
|
149
|
+
label: string;
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
export interface HttpRouteReceipt {
|
|
153
|
+
http_route: HttpRoute;
|
|
154
|
+
idempotency_key: string;
|
|
155
|
+
idempotent_replay: boolean;
|
|
156
|
+
hint?: string;
|
|
157
|
+
}
|
|
158
|
+
export interface HttpRouteVerificationReceipt {
|
|
159
|
+
http_route: HttpRoute;
|
|
160
|
+
upstream_verification: {
|
|
161
|
+
mode: "signed_headers";
|
|
162
|
+
secret: string;
|
|
163
|
+
};
|
|
164
|
+
idempotency_key: string;
|
|
165
|
+
idempotent_replay: boolean;
|
|
166
|
+
hint?: string;
|
|
167
|
+
}
|
|
168
|
+
export interface HttpRouteHeadersReceipt {
|
|
169
|
+
http_route: HttpRoute;
|
|
170
|
+
upstream_header_names: string[];
|
|
171
|
+
idempotency_key: string;
|
|
172
|
+
idempotent_replay: boolean;
|
|
173
|
+
hint?: string;
|
|
174
|
+
}
|
|
90
175
|
export interface AgentIdentity {
|
|
91
176
|
/** Stable identity id used to bind scoped API tokens */
|
|
92
177
|
id: string;
|
|
@@ -147,7 +232,7 @@ export interface MailRule {
|
|
|
147
232
|
match_field?: "from" | "to" | "subject" | "body";
|
|
148
233
|
match_op?: "contains" | "equals" | "regex";
|
|
149
234
|
match_value?: string;
|
|
150
|
-
action?: "drop" | "mark_read" | "forward" | "webhook_only" | "label";
|
|
235
|
+
action?: "drop" | "mark_read" | "forward" | "webhook_only" | "label" | "escalate";
|
|
151
236
|
action_arg?: string | null;
|
|
152
237
|
enabled?: boolean;
|
|
153
238
|
created_at?: string;
|
|
@@ -157,7 +242,7 @@ export interface MailboxOperationReceipt {
|
|
|
157
242
|
idempotency_key: string;
|
|
158
243
|
/** True when this response reused the immutable completed receipt and performed no new mutation. */
|
|
159
244
|
idempotent_replay: boolean;
|
|
160
|
-
action: "move" | "mark_read" | "star" | "restore" | "delete_permanently";
|
|
245
|
+
action: "move" | "mark_read" | "star" | "restore" | "delete_permanently" | "label";
|
|
161
246
|
status: "succeeded" | "partial";
|
|
162
247
|
results: ({
|
|
163
248
|
message_id: string;
|
|
@@ -183,7 +268,7 @@ export interface LegacyMailboxOperationReceipt {
|
|
|
183
268
|
idempotency_key: string;
|
|
184
269
|
/** True when this response reused the immutable completed receipt and performed no new mutation. */
|
|
185
270
|
idempotent_replay: boolean;
|
|
186
|
-
action: "move" | "mark_read" | "star" | "restore" | "delete_permanently";
|
|
271
|
+
action: "move" | "mark_read" | "star" | "restore" | "delete_permanently" | "label";
|
|
187
272
|
status: "succeeded" | "partial";
|
|
188
273
|
results: ({
|
|
189
274
|
message_id: string;
|
|
@@ -219,6 +304,138 @@ export interface WorkspaceSummary {
|
|
|
219
304
|
}[];
|
|
220
305
|
created_at: string;
|
|
221
306
|
}
|
|
307
|
+
export interface AssistantSettings {
|
|
308
|
+
enabled?: boolean;
|
|
309
|
+
shadow_enabled?: boolean;
|
|
310
|
+
paused?: boolean;
|
|
311
|
+
mailbox_ids?: string[];
|
|
312
|
+
/** Mailboxes operated by your agents. Their items appear in the agents section of Today instead of Needs you. */
|
|
313
|
+
agent_mailbox_ids?: string[];
|
|
314
|
+
/** Your agent identities, for delegation. */
|
|
315
|
+
agents?: ({
|
|
316
|
+
slug?: string;
|
|
317
|
+
name?: string;
|
|
318
|
+
emoji?: string | null;
|
|
319
|
+
})[];
|
|
320
|
+
/** Mailboxes whose mail is searched by words only: their messages are never sent to the embedding model. */
|
|
321
|
+
search_opt_out_mailbox_ids?: string[];
|
|
322
|
+
history_window_days?: number;
|
|
323
|
+
privacy_route?: "private_cloud";
|
|
324
|
+
attachment_vision?: boolean;
|
|
325
|
+
pipeline_version?: string;
|
|
326
|
+
consent?: {
|
|
327
|
+
required_version?: string;
|
|
328
|
+
accepted_version?: string | null;
|
|
329
|
+
accepted_at?: string | null;
|
|
330
|
+
};
|
|
331
|
+
mailboxes?: ({
|
|
332
|
+
id?: string;
|
|
333
|
+
slug?: string;
|
|
334
|
+
domain?: string;
|
|
335
|
+
name?: string | null;
|
|
336
|
+
kind?: string;
|
|
337
|
+
address?: string;
|
|
338
|
+
})[];
|
|
339
|
+
}
|
|
340
|
+
export interface AssistantWorkItem {
|
|
341
|
+
id?: string;
|
|
342
|
+
version?: number;
|
|
343
|
+
status?: "open" | "needs_judgment" | "snoozed" | "waiting" | "handled" | "ignored";
|
|
344
|
+
title?: string;
|
|
345
|
+
summary?: string;
|
|
346
|
+
/** The single thing the owner must do or decide, or null. */
|
|
347
|
+
ask?: string | null;
|
|
348
|
+
sender?: {
|
|
349
|
+
address?: string;
|
|
350
|
+
name?: string | null;
|
|
351
|
+
kind?: "human" | "automated" | "self" | "harness";
|
|
352
|
+
} | null;
|
|
353
|
+
/** How often this same situation came back: one item, N messages. */
|
|
354
|
+
recurrence?: {
|
|
355
|
+
count?: number;
|
|
356
|
+
first_seen_at?: string | null;
|
|
357
|
+
last_seen_at?: string | null;
|
|
358
|
+
};
|
|
359
|
+
mailbox?: {
|
|
360
|
+
id?: string;
|
|
361
|
+
address?: string;
|
|
362
|
+
name?: string | null;
|
|
363
|
+
operator?: "human" | "agent";
|
|
364
|
+
agent?: {
|
|
365
|
+
name?: string;
|
|
366
|
+
emoji?: string | null;
|
|
367
|
+
} | null;
|
|
368
|
+
};
|
|
369
|
+
opened_at?: string | null;
|
|
370
|
+
/** The slug of the agent the owner handed this item to, or null. */
|
|
371
|
+
delegated_to?: string | null;
|
|
372
|
+
/** True until the owner opens the item after its latest change. */
|
|
373
|
+
unread?: boolean;
|
|
374
|
+
/** The source messages behind this item, newest first. */
|
|
375
|
+
messages?: ({
|
|
376
|
+
id?: string;
|
|
377
|
+
subject?: string | null;
|
|
378
|
+
from?: string;
|
|
379
|
+
received_at?: string;
|
|
380
|
+
conversation_id?: string | null;
|
|
381
|
+
})[];
|
|
382
|
+
/** What already happened in this matter, oldest first: one line per earlier message. */
|
|
383
|
+
history?: {
|
|
384
|
+
message_id?: string;
|
|
385
|
+
occurred_at?: string;
|
|
386
|
+
sender?: string;
|
|
387
|
+
title?: string;
|
|
388
|
+
}[];
|
|
389
|
+
source?: {
|
|
390
|
+
type?: string;
|
|
391
|
+
conversation_id?: string | null;
|
|
392
|
+
event_id?: string;
|
|
393
|
+
revision?: number;
|
|
394
|
+
};
|
|
395
|
+
attention?: {
|
|
396
|
+
level?: "now" | "needs_you" | "fyi" | "quiet";
|
|
397
|
+
reason?: string;
|
|
398
|
+
confidence?: string;
|
|
399
|
+
deadline?: string | null;
|
|
400
|
+
};
|
|
401
|
+
analysis?: {
|
|
402
|
+
coverage?: string;
|
|
403
|
+
warnings?: string[];
|
|
404
|
+
};
|
|
405
|
+
evidence_refs?: string[];
|
|
406
|
+
entity_refs?: string[];
|
|
407
|
+
snoozed_until?: string | null;
|
|
408
|
+
decision?: {
|
|
409
|
+
id?: string;
|
|
410
|
+
version?: number;
|
|
411
|
+
status?: string;
|
|
412
|
+
question?: string;
|
|
413
|
+
options?: {
|
|
414
|
+
id?: string;
|
|
415
|
+
label?: string;
|
|
416
|
+
recommended?: boolean;
|
|
417
|
+
outcome?: string;
|
|
418
|
+
}[];
|
|
419
|
+
} | null;
|
|
420
|
+
plan?: {
|
|
421
|
+
id?: string;
|
|
422
|
+
status?: string;
|
|
423
|
+
expires_at?: string;
|
|
424
|
+
} | null;
|
|
425
|
+
}
|
|
426
|
+
export interface AssistantTodayView {
|
|
427
|
+
type?: "today";
|
|
428
|
+
as_of?: string;
|
|
429
|
+
projection_lag_ms?: number;
|
|
430
|
+
sections?: {
|
|
431
|
+
now?: AssistantWorkItem[];
|
|
432
|
+
needs_you?: AssistantWorkItem[];
|
|
433
|
+
agents?: AssistantWorkItem[];
|
|
434
|
+
waiting?: AssistantWorkItem[];
|
|
435
|
+
upcoming?: AssistantWorkItem[];
|
|
436
|
+
handled?: AssistantWorkItem[];
|
|
437
|
+
};
|
|
438
|
+
}
|
|
222
439
|
export type MailboxEffectiveCapabilities = ("mail.read" | "mail.search" | "mail.auth.read" | "mail.seen.write" | "mail.lifecycle.write" | "mail.delete.permanent" | "draft.create" | "mail.submit" | "conversation.read" | "conversation.assign" | "conversation.note" | "conversation.close" | "mailbox.manage" | "routing.manage" | "delivery.manage" | "mail.client.connect" | "mail.credentials.create_self" | "mail.credentials.revoke_self" | "workspace.members.manage" | "workspace.billing.manage")[];
|
|
223
440
|
export interface WorkspaceDetail {
|
|
224
441
|
id: string;
|
|
@@ -378,6 +595,197 @@ export interface MailActivity {
|
|
|
378
595
|
metadata: Record<string, unknown>;
|
|
379
596
|
created_at: string;
|
|
380
597
|
}
|
|
598
|
+
export interface EmailThread {
|
|
599
|
+
/** Thread id, the id of its first message */
|
|
600
|
+
id: string;
|
|
601
|
+
/** Subject of the first message */
|
|
602
|
+
subject?: string | null;
|
|
603
|
+
/** Every address that wrote or received in the thread */
|
|
604
|
+
participants: string[];
|
|
605
|
+
message_count: number;
|
|
606
|
+
/** Unread inbound messages */
|
|
607
|
+
unread_count: number;
|
|
608
|
+
starred: boolean;
|
|
609
|
+
has_attachments: boolean;
|
|
610
|
+
first_message_at: string;
|
|
611
|
+
last_message_at: string;
|
|
612
|
+
last_message: {
|
|
613
|
+
id: string;
|
|
614
|
+
direction: "in" | "out";
|
|
615
|
+
from: string;
|
|
616
|
+
to: string;
|
|
617
|
+
subject?: string | null;
|
|
618
|
+
snippet: string;
|
|
619
|
+
folder: string;
|
|
620
|
+
is_read: boolean;
|
|
621
|
+
created_at: string;
|
|
622
|
+
};
|
|
623
|
+
}
|
|
624
|
+
export interface AssistantBrief {
|
|
625
|
+
id: string;
|
|
626
|
+
version: number;
|
|
627
|
+
generated_at: string;
|
|
628
|
+
title: string;
|
|
629
|
+
summary: string;
|
|
630
|
+
ask?: string | null;
|
|
631
|
+
mailbox?: {
|
|
632
|
+
id?: string;
|
|
633
|
+
address?: string;
|
|
634
|
+
name?: string | null;
|
|
635
|
+
operator?: "human" | "agent";
|
|
636
|
+
};
|
|
637
|
+
delegated_to?: string | null;
|
|
638
|
+
situation: {
|
|
639
|
+
key?: string;
|
|
640
|
+
status?: string;
|
|
641
|
+
attention?: {
|
|
642
|
+
level?: string;
|
|
643
|
+
reason?: string;
|
|
644
|
+
confidence?: string;
|
|
645
|
+
deadline?: string | null;
|
|
646
|
+
};
|
|
647
|
+
occurrences?: number;
|
|
648
|
+
first_seen_at?: string | null;
|
|
649
|
+
last_seen_at?: string | null;
|
|
650
|
+
sender?: {
|
|
651
|
+
address?: string;
|
|
652
|
+
name?: string | null;
|
|
653
|
+
kind?: string;
|
|
654
|
+
} | null;
|
|
655
|
+
};
|
|
656
|
+
/** Every mail of the situation, oldest first, with the one-line title the analysis gave it */
|
|
657
|
+
story: {
|
|
658
|
+
message_id?: string;
|
|
659
|
+
occurred_at?: string;
|
|
660
|
+
sender?: string;
|
|
661
|
+
title?: string;
|
|
662
|
+
analysed?: boolean;
|
|
663
|
+
}[];
|
|
664
|
+
facts: ({
|
|
665
|
+
key?: string | null;
|
|
666
|
+
subject?: string | null;
|
|
667
|
+
predicate?: string | null;
|
|
668
|
+
object?: string | null;
|
|
669
|
+
value?: {
|
|
670
|
+
type?: string;
|
|
671
|
+
value?: string | null;
|
|
672
|
+
currency?: string | null;
|
|
673
|
+
} | null;
|
|
674
|
+
basis?: string | null;
|
|
675
|
+
confidence?: number | null;
|
|
676
|
+
valid_from?: string | null;
|
|
677
|
+
valid_until?: string | null;
|
|
678
|
+
sensitivity?: string;
|
|
679
|
+
evidence_refs?: string[];
|
|
680
|
+
seen_at?: string;
|
|
681
|
+
})[];
|
|
682
|
+
entities: {
|
|
683
|
+
kind?: string;
|
|
684
|
+
name?: string;
|
|
685
|
+
aliases?: string[];
|
|
686
|
+
ref?: string;
|
|
687
|
+
}[];
|
|
688
|
+
/** Open promises made by the owner's side */
|
|
689
|
+
commitments: ({
|
|
690
|
+
id?: string;
|
|
691
|
+
who?: string;
|
|
692
|
+
owed_to?: string | null;
|
|
693
|
+
what?: string;
|
|
694
|
+
due_at?: string | null;
|
|
695
|
+
overdue?: boolean;
|
|
696
|
+
status?: string;
|
|
697
|
+
})[];
|
|
698
|
+
/** Open things awaited from others */
|
|
699
|
+
expectations: ({
|
|
700
|
+
id?: string;
|
|
701
|
+
who?: string;
|
|
702
|
+
what?: string;
|
|
703
|
+
due_at?: string | null;
|
|
704
|
+
overdue?: boolean;
|
|
705
|
+
status?: string;
|
|
706
|
+
})[];
|
|
707
|
+
/** Closed loops and receipts, newest first */
|
|
708
|
+
settled: ({
|
|
709
|
+
kind?: "commitment" | "expectation" | "receipt";
|
|
710
|
+
who?: string;
|
|
711
|
+
what?: string;
|
|
712
|
+
status?: string;
|
|
713
|
+
at?: string;
|
|
714
|
+
})[];
|
|
715
|
+
awaiting: ({
|
|
716
|
+
who?: string;
|
|
717
|
+
what?: string;
|
|
718
|
+
since?: string;
|
|
719
|
+
due_at?: string | null;
|
|
720
|
+
overdue?: boolean;
|
|
721
|
+
})[];
|
|
722
|
+
/** The current prepared Decision with its options */
|
|
723
|
+
decision?: Record<string, unknown> | null;
|
|
724
|
+
suggested_next: {
|
|
725
|
+
action?: string;
|
|
726
|
+
reason?: string;
|
|
727
|
+
source?: "decision" | "rule";
|
|
728
|
+
} | null;
|
|
729
|
+
evidence: ({
|
|
730
|
+
id?: string;
|
|
731
|
+
subject?: string | null;
|
|
732
|
+
from?: string;
|
|
733
|
+
received_at?: string;
|
|
734
|
+
conversation_id?: string | null;
|
|
735
|
+
})[];
|
|
736
|
+
evidence_refs?: string[];
|
|
737
|
+
}
|
|
738
|
+
export interface Fact {
|
|
739
|
+
key?: string | null;
|
|
740
|
+
subject?: string | null;
|
|
741
|
+
predicate?: string | null;
|
|
742
|
+
object?: string | null;
|
|
743
|
+
value?: {
|
|
744
|
+
type?: "string" | "date" | "money";
|
|
745
|
+
value?: string | null;
|
|
746
|
+
currency?: string | null;
|
|
747
|
+
} | null;
|
|
748
|
+
basis?: "source_explicit" | "source_implied" | "model_inference" | null | null;
|
|
749
|
+
confidence?: number | null;
|
|
750
|
+
valid_from?: string | null;
|
|
751
|
+
valid_until?: string | null;
|
|
752
|
+
sensitivity?: string;
|
|
753
|
+
evidence_refs?: string[];
|
|
754
|
+
seen_at?: string;
|
|
755
|
+
}
|
|
756
|
+
export interface MessageFacts {
|
|
757
|
+
message_id: string;
|
|
758
|
+
thread_id: string;
|
|
759
|
+
analysed: boolean;
|
|
760
|
+
/** Only when analysed is false */
|
|
761
|
+
reason?: "not_enabled" | "not_analysed";
|
|
762
|
+
analysis?: {
|
|
763
|
+
id?: string;
|
|
764
|
+
generated_at?: string;
|
|
765
|
+
coverage?: string;
|
|
766
|
+
warnings?: string[];
|
|
767
|
+
pipeline_version?: string;
|
|
768
|
+
};
|
|
769
|
+
facts: Fact[];
|
|
770
|
+
entities: {
|
|
771
|
+
kind?: string;
|
|
772
|
+
name?: string;
|
|
773
|
+
aliases?: string[];
|
|
774
|
+
ref?: string;
|
|
775
|
+
}[];
|
|
776
|
+
commitments: ({
|
|
777
|
+
who?: string;
|
|
778
|
+
what?: string;
|
|
779
|
+
due_at?: string | null;
|
|
780
|
+
evidence_refs?: string[];
|
|
781
|
+
})[];
|
|
782
|
+
expectations: ({
|
|
783
|
+
who?: string;
|
|
784
|
+
what?: string;
|
|
785
|
+
due_at?: string | null;
|
|
786
|
+
evidence_refs?: string[];
|
|
787
|
+
})[];
|
|
788
|
+
}
|
|
381
789
|
export interface MailboxChange {
|
|
382
790
|
/** Monotonic sequence serialized as a string */
|
|
383
791
|
sequence: string;
|
|
@@ -458,6 +866,7 @@ export interface DomainBrief {
|
|
|
458
866
|
detectedAt: string;
|
|
459
867
|
type: "identity" | "content" | "redirect" | "registration";
|
|
460
868
|
summary: string;
|
|
869
|
+
data?: Record<string, unknown>;
|
|
461
870
|
evidenceIds: string[];
|
|
462
871
|
})[];
|
|
463
872
|
};
|
|
@@ -523,6 +932,7 @@ export interface DomainBrief {
|
|
|
523
932
|
claimKey: string;
|
|
524
933
|
label: string;
|
|
525
934
|
value: string;
|
|
935
|
+
data?: Record<string, unknown>;
|
|
526
936
|
source: string;
|
|
527
937
|
sourceUrl?: string;
|
|
528
938
|
confidence: "high" | "medium" | "low";
|
|
@@ -559,11 +969,57 @@ export interface Backorder {
|
|
|
559
969
|
caught_at?: string | null;
|
|
560
970
|
/** ID of the Domain created when caught */
|
|
561
971
|
registered_domain_id?: string | null;
|
|
562
|
-
|
|
972
|
+
/** Stable, language-independent failure code. Internal registrar prose is never returned. */
|
|
973
|
+
failure_reason?: "price_cap" | "registration_race" | "marketplace_listing" | "payment" | "registrar" | "unavailable" | "unexpected" | "unspecified" | null;
|
|
563
974
|
/** When the watch window ends */
|
|
564
975
|
expires_at?: string;
|
|
565
976
|
created_at?: string;
|
|
566
977
|
}
|
|
978
|
+
export interface BuyDomainItem {
|
|
979
|
+
domain: string;
|
|
980
|
+
status: "active" | "provisioning";
|
|
981
|
+
expires?: string | null;
|
|
982
|
+
price: number;
|
|
983
|
+
currency: string;
|
|
984
|
+
years: number;
|
|
985
|
+
payment_method: "card" | "balance" | "x402" | "crypto";
|
|
986
|
+
payment_tx?: string;
|
|
987
|
+
auto_renew: boolean;
|
|
988
|
+
marketplace_purchase?: boolean;
|
|
989
|
+
}
|
|
990
|
+
export interface BuyDomainFailure {
|
|
991
|
+
domain: string;
|
|
992
|
+
error: string;
|
|
993
|
+
failure_code: "registration_race" | "payment" | "registrar" | "unexpected" | "marketplace_listing";
|
|
994
|
+
}
|
|
995
|
+
export interface BuyDomainRegistrationError {
|
|
996
|
+
error: string;
|
|
997
|
+
code: "REGISTRATION_FAILED";
|
|
998
|
+
failure_code: "payment" | "registrar" | "unexpected";
|
|
999
|
+
refunded?: boolean;
|
|
1000
|
+
hint?: string;
|
|
1001
|
+
documentation_url?: string;
|
|
1002
|
+
}
|
|
1003
|
+
export interface BuyDomainAvailabilityError {
|
|
1004
|
+
error: string;
|
|
1005
|
+
code: "DOMAIN_UNAVAILABLE";
|
|
1006
|
+
failure_code: "registration_race";
|
|
1007
|
+
hint?: string;
|
|
1008
|
+
documentation_url?: string;
|
|
1009
|
+
}
|
|
1010
|
+
export interface BuyDomainBulkResult {
|
|
1011
|
+
results: BuyDomainItem[];
|
|
1012
|
+
errors: BuyDomainFailure[];
|
|
1013
|
+
summary: {
|
|
1014
|
+
total: number;
|
|
1015
|
+
succeeded: number;
|
|
1016
|
+
failed: number;
|
|
1017
|
+
charged: number;
|
|
1018
|
+
refunded: number;
|
|
1019
|
+
};
|
|
1020
|
+
hint: string;
|
|
1021
|
+
next_steps: string[];
|
|
1022
|
+
}
|
|
567
1023
|
export interface DealInvoice {
|
|
568
1024
|
deal_id?: string;
|
|
569
1025
|
domain?: string;
|
|
@@ -668,7 +1124,7 @@ export interface TokenInfo {
|
|
|
668
1124
|
/** Whether this token has expired */
|
|
669
1125
|
expired?: boolean;
|
|
670
1126
|
/** Permission scopes granted to this token. ['*'] means full access. */
|
|
671
|
-
scopes
|
|
1127
|
+
scopes: string[];
|
|
672
1128
|
createdAt: string;
|
|
673
1129
|
/** Per-transaction spend cap in USD (null = uncapped) */
|
|
674
1130
|
max_per_tx?: number | null;
|
|
@@ -678,6 +1134,9 @@ export interface TokenInfo {
|
|
|
678
1134
|
spent_this_month?: number;
|
|
679
1135
|
/** Id of the token that minted this one (null = created via dashboard/session) */
|
|
680
1136
|
parent_token_id?: string | null;
|
|
1137
|
+
/** Mailbox ids this token is confined to. Empty means no mailbox-id confinement. */
|
|
1138
|
+
mailbox_ids: string[];
|
|
1139
|
+
http_route_policy: HttpRoutePolicy | null;
|
|
681
1140
|
/** Agent identity represented by this token. Its mail actions are attributed to this agent. */
|
|
682
1141
|
agent_identity?: {
|
|
683
1142
|
id?: string;
|
|
@@ -685,6 +1144,19 @@ export interface TokenInfo {
|
|
|
685
1144
|
slug?: string;
|
|
686
1145
|
} | null;
|
|
687
1146
|
}
|
|
1147
|
+
export interface HttpRoutePolicy {
|
|
1148
|
+
hostname_rules: ({
|
|
1149
|
+
domain: string;
|
|
1150
|
+
kind: "exact";
|
|
1151
|
+
hostname: string;
|
|
1152
|
+
} | {
|
|
1153
|
+
domain: string;
|
|
1154
|
+
kind: "subdomain_prefix";
|
|
1155
|
+
prefix: string;
|
|
1156
|
+
})[];
|
|
1157
|
+
max_concurrent: number;
|
|
1158
|
+
max_lease_seconds: number;
|
|
1159
|
+
}
|
|
688
1160
|
export interface Contact {
|
|
689
1161
|
/** Contact name */
|
|
690
1162
|
name?: string | null;
|
|
@@ -757,6 +1229,9 @@ export interface AccountInfo {
|
|
|
757
1229
|
domain_count: number;
|
|
758
1230
|
/** Number of active API tokens */
|
|
759
1231
|
token_count: number;
|
|
1232
|
+
/** Feature flags enabled for this account (GA features plus the preview features granted to the user), e.g. mailzero_assistant */
|
|
1233
|
+
features?: string[];
|
|
1234
|
+
is_admin?: boolean;
|
|
760
1235
|
created_at: string;
|
|
761
1236
|
}
|
|
762
1237
|
export interface ActivationProjection {
|
|
@@ -798,19 +1273,26 @@ export declare class Domani {
|
|
|
798
1273
|
request<T = unknown>(method: string, path: string, opts?: {
|
|
799
1274
|
query?: Record<string, unknown>;
|
|
800
1275
|
body?: unknown;
|
|
1276
|
+
headers?: Record<string, string | undefined>;
|
|
801
1277
|
}): Promise<T>;
|
|
1278
|
+
/** Open a server-sent event stream; read `response.body` with an SSE parser. */
|
|
1279
|
+
stream(method: string, path: string, opts?: {
|
|
1280
|
+
query?: Record<string, unknown>;
|
|
1281
|
+
headers?: Record<string, string | undefined>;
|
|
1282
|
+
signal?: AbortSignal;
|
|
1283
|
+
}): Promise<Response>;
|
|
802
1284
|
/** Accept an access or ownership offer (POST /api/workspaces/access/offers/accept) */
|
|
803
1285
|
acceptWorkspaceAccessOffer(body: {
|
|
804
1286
|
token: string;
|
|
805
|
-
}): Promise<
|
|
1287
|
+
}): Promise<void>;
|
|
806
1288
|
/** Accept a workspace invitation (POST /api/workspaces/invitations/accept) */
|
|
807
1289
|
acceptWorkspaceInvitation(body: {
|
|
808
1290
|
token: string;
|
|
809
|
-
}): Promise<
|
|
1291
|
+
}): Promise<void>;
|
|
810
1292
|
/** Accept workspace ownership (POST /api/workspaces/ownership-transfers/accept) */
|
|
811
1293
|
acceptWorkspaceOwnershipTransfer(body: {
|
|
812
1294
|
token: string;
|
|
813
|
-
}): Promise<
|
|
1295
|
+
}): Promise<void>;
|
|
814
1296
|
/** Add a private conversation note (POST /api/email/collaboration/{id}/notes) */
|
|
815
1297
|
addConversationNote(id: string, body: {
|
|
816
1298
|
body: string;
|
|
@@ -837,7 +1319,7 @@ export declare class Domani {
|
|
|
837
1319
|
match_field: "from" | "to" | "subject" | "body";
|
|
838
1320
|
match_op: "contains" | "equals" | "regex";
|
|
839
1321
|
match_value: string;
|
|
840
|
-
action: "drop" | "mark_read" | "forward" | "webhook_only" | "label";
|
|
1322
|
+
action: "drop" | "mark_read" | "forward" | "webhook_only" | "label" | "escalate";
|
|
841
1323
|
action_arg?: string;
|
|
842
1324
|
priority?: number;
|
|
843
1325
|
enabled?: boolean;
|
|
@@ -856,7 +1338,7 @@ export declare class Domani {
|
|
|
856
1338
|
/** Adopt an owned mailbox into a workspace (POST /api/workspaces/{id}/mailboxes) */
|
|
857
1339
|
attachWorkspaceMailbox(id: string, body: {
|
|
858
1340
|
mailbox_id: string;
|
|
859
|
-
}): Promise<
|
|
1341
|
+
}): Promise<void>;
|
|
860
1342
|
/** Buy an aftermarket domain (POST /api/domains/{domain}/buy-aftermarket) */
|
|
861
1343
|
buyAftermarket(domain: string, body?: {
|
|
862
1344
|
max_price?: number;
|
|
@@ -884,17 +1366,7 @@ export declare class Domani {
|
|
|
884
1366
|
years?: number;
|
|
885
1367
|
max_price?: number;
|
|
886
1368
|
ref?: string;
|
|
887
|
-
}): Promise<
|
|
888
|
-
domain?: string;
|
|
889
|
-
status?: "active";
|
|
890
|
-
expires?: string;
|
|
891
|
-
price?: number;
|
|
892
|
-
currency?: string;
|
|
893
|
-
years?: number;
|
|
894
|
-
payment_method?: "card" | "x402" | "crypto";
|
|
895
|
-
payment_tx?: string;
|
|
896
|
-
marketplace_purchase?: boolean;
|
|
897
|
-
}>;
|
|
1369
|
+
}, paymentSignature?: string): Promise<BuyDomainItem | BuyDomainBulkResult>;
|
|
898
1370
|
/** Cancel a backorder (DELETE /api/backorders/{id}) */
|
|
899
1371
|
cancelBackorder(id: string): Promise<{
|
|
900
1372
|
id?: string;
|
|
@@ -1047,6 +1519,33 @@ export declare class Domani {
|
|
|
1047
1519
|
next_steps?: string[];
|
|
1048
1520
|
diff?: Record<string, unknown>;
|
|
1049
1521
|
}>;
|
|
1522
|
+
/** Give an agent its own API key in one call (POST /api/agents/identity/{slug}/tokens) */
|
|
1523
|
+
createAgentToken(slug: string, body?: {
|
|
1524
|
+
name?: string;
|
|
1525
|
+
scopes?: string[];
|
|
1526
|
+
mailboxes?: string[];
|
|
1527
|
+
expires_in?: number;
|
|
1528
|
+
}): Promise<{
|
|
1529
|
+
success?: boolean;
|
|
1530
|
+
token?: {
|
|
1531
|
+
id?: string;
|
|
1532
|
+
name?: string;
|
|
1533
|
+
key?: string;
|
|
1534
|
+
scopes?: string[];
|
|
1535
|
+
mailbox_ids?: string[];
|
|
1536
|
+
expires_at?: string | null;
|
|
1537
|
+
agent_identity?: {
|
|
1538
|
+
id?: string;
|
|
1539
|
+
name?: string | null;
|
|
1540
|
+
slug?: string;
|
|
1541
|
+
} | null;
|
|
1542
|
+
};
|
|
1543
|
+
agent?: {
|
|
1544
|
+
slug?: string;
|
|
1545
|
+
name?: string | null;
|
|
1546
|
+
};
|
|
1547
|
+
hint?: string;
|
|
1548
|
+
}>;
|
|
1050
1549
|
/** Place a backorder on a taken domain (POST /api/backorders) */
|
|
1051
1550
|
createBackorder(body: {
|
|
1052
1551
|
domain: string;
|
|
@@ -1080,6 +1579,22 @@ export declare class Domani {
|
|
|
1080
1579
|
}): Promise<{
|
|
1081
1580
|
brief: DomainBrief;
|
|
1082
1581
|
}>;
|
|
1582
|
+
/** Create an HTTP hostname binding (POST /api/domains/{domain}/hostname-bindings) */
|
|
1583
|
+
createHostnameBinding(domain: string, body: {
|
|
1584
|
+
hostname: string;
|
|
1585
|
+
browser_mode?: "stateless" | "dedicated_site" | "trusted_same_site";
|
|
1586
|
+
expected_zone_version?: string;
|
|
1587
|
+
acknowledgements?: string[];
|
|
1588
|
+
}, idempotencyKey: string): Promise<HostnameBindingReceipt>;
|
|
1589
|
+
/** Publish a leased HTTP route (POST /api/http-routes) */
|
|
1590
|
+
createHttpRoute(body: {
|
|
1591
|
+
hostname?: string;
|
|
1592
|
+
upstream: string;
|
|
1593
|
+
expires_in?: number;
|
|
1594
|
+
host_header?: "public" | "upstream";
|
|
1595
|
+
upstream_verification?: "none" | "signed_headers";
|
|
1596
|
+
upstream_headers?: Record<string, string>;
|
|
1597
|
+
}, idempotencyKey: string): Promise<HttpRouteReceipt>;
|
|
1083
1598
|
/** List a domain for sale (PUT /api/domains/{domain}/for-sale) */
|
|
1084
1599
|
createListing(domain: string, body: {
|
|
1085
1600
|
price: number;
|
|
@@ -1180,6 +1695,21 @@ export declare class Domani {
|
|
|
1180
1695
|
max_per_tx?: number;
|
|
1181
1696
|
max_per_month?: number;
|
|
1182
1697
|
agent_identity_id?: string;
|
|
1698
|
+
http_route_policy?: {
|
|
1699
|
+
hostname_rules: ({
|
|
1700
|
+
domain: string;
|
|
1701
|
+
kind: "exact";
|
|
1702
|
+
hostname: string;
|
|
1703
|
+
} | {
|
|
1704
|
+
domain: string;
|
|
1705
|
+
kind: "subdomain_prefix";
|
|
1706
|
+
prefix: string;
|
|
1707
|
+
})[];
|
|
1708
|
+
max_concurrent?: number;
|
|
1709
|
+
max_lease_seconds?: number;
|
|
1710
|
+
acknowledge_apex_delegation?: boolean;
|
|
1711
|
+
};
|
|
1712
|
+
mailboxes?: string[];
|
|
1183
1713
|
}): Promise<{
|
|
1184
1714
|
id?: string;
|
|
1185
1715
|
name?: string;
|
|
@@ -1189,6 +1719,8 @@ export declare class Domani {
|
|
|
1189
1719
|
createdAt?: string;
|
|
1190
1720
|
max_per_tx?: number | null;
|
|
1191
1721
|
max_per_month?: number | null;
|
|
1722
|
+
mailbox_ids?: string[];
|
|
1723
|
+
http_route_policy?: HttpRoutePolicy | null;
|
|
1192
1724
|
agent_identity?: {
|
|
1193
1725
|
id?: string;
|
|
1194
1726
|
name?: string | null;
|
|
@@ -1199,7 +1731,7 @@ export declare class Domani {
|
|
|
1199
1731
|
createWebhook(body: {
|
|
1200
1732
|
url: string;
|
|
1201
1733
|
events: string[];
|
|
1202
|
-
headers?: Record<string,
|
|
1734
|
+
headers?: Record<string, string>;
|
|
1203
1735
|
}): Promise<{
|
|
1204
1736
|
id?: string;
|
|
1205
1737
|
url?: string;
|
|
@@ -1213,7 +1745,7 @@ export declare class Domani {
|
|
|
1213
1745
|
/** Create a workspace (POST /api/workspaces) */
|
|
1214
1746
|
createWorkspace(body: {
|
|
1215
1747
|
name: string;
|
|
1216
|
-
}): Promise<
|
|
1748
|
+
}): Promise<void>;
|
|
1217
1749
|
/** Offer mailbox access or workspace ownership (POST /api/workspaces/{id}/access/offers) */
|
|
1218
1750
|
createWorkspaceAccessOffer(id: string, body: {
|
|
1219
1751
|
email: string;
|
|
@@ -1221,7 +1753,7 @@ export declare class Domani {
|
|
|
1221
1753
|
ownership_disposition?: "unchanged" | "claim";
|
|
1222
1754
|
creator_disposition?: "stay" | "stay_admin" | "leave";
|
|
1223
1755
|
billing_disposition?: "unchanged" | "sponsor" | "transfer";
|
|
1224
|
-
}): Promise<
|
|
1756
|
+
}): Promise<void>;
|
|
1225
1757
|
/** Start Mailzero workspace checkout (POST /api/workspaces/{id}/billing/checkout) */
|
|
1226
1758
|
createWorkspaceCheckout(id: string, body: {
|
|
1227
1759
|
plan: "mail_solo" | "mail_team" | "mail_business";
|
|
@@ -1235,6 +1767,19 @@ export declare class Domani {
|
|
|
1235
1767
|
deleted?: boolean;
|
|
1236
1768
|
hint?: string;
|
|
1237
1769
|
}>;
|
|
1770
|
+
/** Delete assistant-derived data (DELETE /api/assistant/data) */
|
|
1771
|
+
deleteAssistantData(): Promise<{
|
|
1772
|
+
ok?: boolean;
|
|
1773
|
+
deleted?: {
|
|
1774
|
+
work_items?: number;
|
|
1775
|
+
claims?: number;
|
|
1776
|
+
entities?: number;
|
|
1777
|
+
jobs?: number;
|
|
1778
|
+
};
|
|
1779
|
+
source_mail_deleted?: false;
|
|
1780
|
+
}>;
|
|
1781
|
+
/** Delete a contact (DELETE /api/contacts/{address}) */
|
|
1782
|
+
deleteContact(address: string): Promise<void>;
|
|
1238
1783
|
/** Remove a DNSSEC DS record (disable DNSSEC) (DELETE /api/domains/{domain}/dnssec) */
|
|
1239
1784
|
deleteDnssecRecord(domain: string, query?: {
|
|
1240
1785
|
keyTag: string;
|
|
@@ -1244,10 +1789,18 @@ export declare class Domani {
|
|
|
1244
1789
|
enabled?: boolean;
|
|
1245
1790
|
records?: DsRecord[];
|
|
1246
1791
|
}>;
|
|
1792
|
+
/** Disable an HTTP hostname binding (DELETE /api/domains/{domain}/hostname-bindings/{id}) */
|
|
1793
|
+
deleteHostnameBinding(domain: string, id: string): Promise<{
|
|
1794
|
+
disabled: boolean;
|
|
1795
|
+
cleanup_pending: boolean;
|
|
1796
|
+
manual_cleanup_records?: DnsRecord[];
|
|
1797
|
+
}>;
|
|
1798
|
+
/** Terminate a route without releasing its hostname claim (DELETE /api/http-routes/{id}) */
|
|
1799
|
+
deleteHttpRoute(id: string): Promise<void>;
|
|
1247
1800
|
/** Delete a mailbox (DELETE /api/emails/{address}) */
|
|
1248
1801
|
deleteMailboxByAddress(address: string, body?: {
|
|
1249
1802
|
confirm?: boolean;
|
|
1250
|
-
}): Promise<
|
|
1803
|
+
}): Promise<void>;
|
|
1251
1804
|
/** Delete a message (DELETE /api/emails/{address}/messages/{id}) */
|
|
1252
1805
|
deleteMessageByAddress(address: string, id: string): Promise<{
|
|
1253
1806
|
id?: string;
|
|
@@ -1257,7 +1810,7 @@ export declare class Domani {
|
|
|
1257
1810
|
deleteMessagesByAddress(address: string, body?: {
|
|
1258
1811
|
message_ids: string[];
|
|
1259
1812
|
idempotency_key?: string;
|
|
1260
|
-
}): Promise<LegacyMailboxOperationReceipt>;
|
|
1813
|
+
}, idempotencyKey?: string): Promise<LegacyMailboxOperationReceipt>;
|
|
1261
1814
|
/** Delete webhook (DELETE /api/webhooks/{id}) */
|
|
1262
1815
|
deleteWebhook(id: string): Promise<{
|
|
1263
1816
|
success?: boolean;
|
|
@@ -1272,6 +1825,48 @@ export declare class Domani {
|
|
|
1272
1825
|
taken?: string[];
|
|
1273
1826
|
candidates?: string[];
|
|
1274
1827
|
}>;
|
|
1828
|
+
/** Flag a message for a human (POST /api/emails/{address}/messages/{id}/escalate) */
|
|
1829
|
+
escalateMessageByAddress(address: string, id: string, body?: {
|
|
1830
|
+
reason?: string;
|
|
1831
|
+
clear?: boolean;
|
|
1832
|
+
}): Promise<{
|
|
1833
|
+
id?: string;
|
|
1834
|
+
needs_human?: boolean;
|
|
1835
|
+
escalation_reason?: string | null;
|
|
1836
|
+
thread_key?: string;
|
|
1837
|
+
}>;
|
|
1838
|
+
/** OAuth token endpoint (POST /api/oauth/token) */
|
|
1839
|
+
exchangeOAuthToken(): Promise<{
|
|
1840
|
+
access_token?: string;
|
|
1841
|
+
token_type?: string;
|
|
1842
|
+
expires_in?: number;
|
|
1843
|
+
refresh_token?: string;
|
|
1844
|
+
scope?: string;
|
|
1845
|
+
}>;
|
|
1846
|
+
/** Export derived assistant data (GET /api/assistant/data) */
|
|
1847
|
+
exportAssistantData(): Promise<{
|
|
1848
|
+
format?: "mailzero-derived-export.v1";
|
|
1849
|
+
exported_at?: string;
|
|
1850
|
+
note?: string;
|
|
1851
|
+
}>;
|
|
1852
|
+
/** Extract the fields you need from a message with your own schema (POST /api/emails/{address}/messages/{id}/extract) */
|
|
1853
|
+
extractFromEmailMessage(address: string, id: string, body: {
|
|
1854
|
+
schema: Record<string, unknown>;
|
|
1855
|
+
instructions?: string;
|
|
1856
|
+
}): Promise<{
|
|
1857
|
+
message_id: string;
|
|
1858
|
+
data: Record<string, unknown>;
|
|
1859
|
+
confidence: number;
|
|
1860
|
+
evidence_quotes: string[];
|
|
1861
|
+
model: string;
|
|
1862
|
+
cached: boolean;
|
|
1863
|
+
generated_at: string;
|
|
1864
|
+
usage?: {
|
|
1865
|
+
input_tokens?: number;
|
|
1866
|
+
output_tokens?: number;
|
|
1867
|
+
latency_ms?: number;
|
|
1868
|
+
};
|
|
1869
|
+
}>;
|
|
1275
1870
|
/** Finalize an agreed negotiation (pay) (POST /api/negotiations/{id}/finalize) */
|
|
1276
1871
|
finalizeNegotiation(id: string, body?: {
|
|
1277
1872
|
payment_method?: "card" | "usdc" | "balance";
|
|
@@ -1295,6 +1890,127 @@ export declare class Domani {
|
|
|
1295
1890
|
getAccount(): Promise<AccountInfo>;
|
|
1296
1891
|
/** Get truthful activation state and recommended next actions (GET /api/me/activation) */
|
|
1297
1892
|
getActivation(): Promise<ActivationProjection>;
|
|
1893
|
+
/** Get the exact action preview by opaque ID (GET /api/assistant/action-plans/{id}) */
|
|
1894
|
+
getAssistantActionPlan(id: string): Promise<{
|
|
1895
|
+
id?: string;
|
|
1896
|
+
status?: "proposed" | "approved" | "executed" | "stale" | "expired";
|
|
1897
|
+
expires_at?: string;
|
|
1898
|
+
source_revision?: number;
|
|
1899
|
+
effects?: ({
|
|
1900
|
+
kind?: "reply";
|
|
1901
|
+
mailbox_id?: string;
|
|
1902
|
+
reply_to_message_id?: string;
|
|
1903
|
+
body?: string;
|
|
1904
|
+
commitments?: Record<string, unknown>[];
|
|
1905
|
+
expected_reply?: Record<string, unknown> | null;
|
|
1906
|
+
})[];
|
|
1907
|
+
}>;
|
|
1908
|
+
/** Get content-minimized assistant Activity (GET /api/assistant/activity) */
|
|
1909
|
+
getAssistantActivity(query?: {
|
|
1910
|
+
limit?: number;
|
|
1911
|
+
}): Promise<{
|
|
1912
|
+
type?: "activity";
|
|
1913
|
+
as_of?: string;
|
|
1914
|
+
events?: ({
|
|
1915
|
+
id?: string;
|
|
1916
|
+
kind?: "interaction" | "receipt";
|
|
1917
|
+
action?: string;
|
|
1918
|
+
status?: string;
|
|
1919
|
+
actor?: string;
|
|
1920
|
+
work_item?: {
|
|
1921
|
+
id?: string;
|
|
1922
|
+
title?: string;
|
|
1923
|
+
};
|
|
1924
|
+
occurred_at?: string;
|
|
1925
|
+
})[];
|
|
1926
|
+
}>;
|
|
1927
|
+
/** Get background history-import progress (GET /api/assistant/backfill) */
|
|
1928
|
+
getAssistantBackfill(): Promise<{
|
|
1929
|
+
backfill?: {
|
|
1930
|
+
id?: string;
|
|
1931
|
+
status?: "queued" | "scanning" | "processing" | "completed" | "cancelled";
|
|
1932
|
+
phase?: string;
|
|
1933
|
+
paused?: boolean;
|
|
1934
|
+
processed?: number;
|
|
1935
|
+
total?: number;
|
|
1936
|
+
failed?: number;
|
|
1937
|
+
percent?: number | null;
|
|
1938
|
+
estimated_seconds_remaining?: number | null;
|
|
1939
|
+
estimated_completion_at?: string | null;
|
|
1940
|
+
can_close_app?: boolean;
|
|
1941
|
+
started_at?: string;
|
|
1942
|
+
completed_at?: string | null;
|
|
1943
|
+
} | null;
|
|
1944
|
+
}>;
|
|
1945
|
+
/** Read the situation brief for a correspondent (GET /api/assistant/brief) */
|
|
1946
|
+
getAssistantCorrespondentBrief(query?: {
|
|
1947
|
+
correspondent: string;
|
|
1948
|
+
mailbox?: string;
|
|
1949
|
+
}): Promise<{
|
|
1950
|
+
correspondent: string;
|
|
1951
|
+
mailboxes: string[];
|
|
1952
|
+
brief: AssistantBrief | unknown;
|
|
1953
|
+
related: {
|
|
1954
|
+
id?: string;
|
|
1955
|
+
title?: string;
|
|
1956
|
+
status?: string;
|
|
1957
|
+
attention_level?: string;
|
|
1958
|
+
occurrences?: number;
|
|
1959
|
+
last_seen_at?: string;
|
|
1960
|
+
}[];
|
|
1961
|
+
recent_mail: ({
|
|
1962
|
+
id?: string;
|
|
1963
|
+
thread_id?: string;
|
|
1964
|
+
subject?: string | null;
|
|
1965
|
+
mailbox?: string;
|
|
1966
|
+
received_at?: string;
|
|
1967
|
+
})[];
|
|
1968
|
+
generated_at: string;
|
|
1969
|
+
}>;
|
|
1970
|
+
/** Get Mailzero assistant settings (GET /api/assistant/settings) */
|
|
1971
|
+
getAssistantSettings(): Promise<AssistantSettings>;
|
|
1972
|
+
/** Get the grounded Today decision queue (GET /api/assistant/today) */
|
|
1973
|
+
getAssistantToday(query?: {
|
|
1974
|
+
agent?: string;
|
|
1975
|
+
}): Promise<AssistantTodayView>;
|
|
1976
|
+
/** Get one assistant Work item and exact current plan (GET /api/assistant/work-items/{id}) */
|
|
1977
|
+
getAssistantWorkItem(id: string): Promise<AssistantWorkItem>;
|
|
1978
|
+
/** Read the situation brief of a Work item (GET /api/assistant/work-items/{id}/brief) */
|
|
1979
|
+
getAssistantWorkItemBrief(id: string): Promise<AssistantBrief>;
|
|
1980
|
+
/** Read the facts behind a Work item (GET /api/assistant/work-items/{id}/facts) */
|
|
1981
|
+
getAssistantWorkItemFacts(id: string): Promise<{
|
|
1982
|
+
work_item_id: string;
|
|
1983
|
+
version?: number;
|
|
1984
|
+
analysed: boolean;
|
|
1985
|
+
analyses?: {
|
|
1986
|
+
id?: string;
|
|
1987
|
+
generated_at?: string;
|
|
1988
|
+
coverage?: string;
|
|
1989
|
+
}[];
|
|
1990
|
+
facts: Fact[];
|
|
1991
|
+
entities: {
|
|
1992
|
+
kind?: string;
|
|
1993
|
+
name?: string;
|
|
1994
|
+
aliases?: string[];
|
|
1995
|
+
ref?: string;
|
|
1996
|
+
}[];
|
|
1997
|
+
commitments: ({
|
|
1998
|
+
id?: string;
|
|
1999
|
+
who?: string;
|
|
2000
|
+
owed_to?: string | null;
|
|
2001
|
+
what?: string;
|
|
2002
|
+
due_at?: string | null;
|
|
2003
|
+
status?: string;
|
|
2004
|
+
})[];
|
|
2005
|
+
expectations: ({
|
|
2006
|
+
id?: string;
|
|
2007
|
+
who?: string;
|
|
2008
|
+
what?: string;
|
|
2009
|
+
due_at?: string | null;
|
|
2010
|
+
status?: string;
|
|
2011
|
+
})[];
|
|
2012
|
+
evidence_refs?: string[];
|
|
2013
|
+
}>;
|
|
1298
2014
|
/** Get EPP auth code (GET /api/domains/{domain}/auth-code) */
|
|
1299
2015
|
getAuthCode(domain: string): Promise<{
|
|
1300
2016
|
domain: string;
|
|
@@ -1440,7 +2156,7 @@ export declare class Domani {
|
|
|
1440
2156
|
}[];
|
|
1441
2157
|
};
|
|
1442
2158
|
sending_health: {
|
|
1443
|
-
recipients?: Record<string,
|
|
2159
|
+
recipients?: Record<string, number>;
|
|
1444
2160
|
rates?: {
|
|
1445
2161
|
bounce?: number;
|
|
1446
2162
|
complaint?: number;
|
|
@@ -1466,6 +2182,16 @@ export declare class Domani {
|
|
|
1466
2182
|
})[];
|
|
1467
2183
|
caveats?: string[];
|
|
1468
2184
|
}>;
|
|
2185
|
+
/** Read what the assistant established about a message (GET /api/emails/{address}/messages/{id}/facts) */
|
|
2186
|
+
getEmailMessageFacts(address: string, id: string): Promise<MessageFacts>;
|
|
2187
|
+
/** Get an HTTP hostname binding (GET /api/domains/{domain}/hostname-bindings/{id}) */
|
|
2188
|
+
getHostnameBinding(domain: string, id: string): Promise<{
|
|
2189
|
+
hostname_binding: HostnameBinding;
|
|
2190
|
+
}>;
|
|
2191
|
+
/** Get a leased HTTP route (GET /api/http-routes/{id}) */
|
|
2192
|
+
getHttpRoute(id: string): Promise<{
|
|
2193
|
+
http_route: HttpRoute;
|
|
2194
|
+
}>;
|
|
1469
2195
|
/** Get mailbox avatar info (GET /api/emails/{address}/avatar) */
|
|
1470
2196
|
getMailboxAvatarByAddress(address: string): Promise<{
|
|
1471
2197
|
address?: string;
|
|
@@ -1509,18 +2235,52 @@ export declare class Domani {
|
|
|
1509
2235
|
};
|
|
1510
2236
|
hint?: string;
|
|
1511
2237
|
}>;
|
|
2238
|
+
/** Read one conversation, oldest message first (GET /api/emails/{address}/threads/{id}) */
|
|
2239
|
+
getMailboxThread(address: string, id: string): Promise<{
|
|
2240
|
+
id: string;
|
|
2241
|
+
subject?: string | null;
|
|
2242
|
+
participants: string[];
|
|
2243
|
+
message_count: number;
|
|
2244
|
+
unread_count: number;
|
|
2245
|
+
first_message_at?: string;
|
|
2246
|
+
last_message_at?: string;
|
|
2247
|
+
messages: ({
|
|
2248
|
+
id?: string;
|
|
2249
|
+
thread_id?: string;
|
|
2250
|
+
labels?: string[];
|
|
2251
|
+
message_id?: string | null;
|
|
2252
|
+
direction?: "in" | "out";
|
|
2253
|
+
from?: string;
|
|
2254
|
+
to?: string;
|
|
2255
|
+
cc?: string | null;
|
|
2256
|
+
subject?: string | null;
|
|
2257
|
+
text?: string | null;
|
|
2258
|
+
html?: string | null;
|
|
2259
|
+
in_reply_to?: string | null;
|
|
2260
|
+
references?: string | null;
|
|
2261
|
+
folder?: string;
|
|
2262
|
+
is_read?: boolean;
|
|
2263
|
+
starred?: boolean;
|
|
2264
|
+
label?: string | null;
|
|
2265
|
+
status?: string;
|
|
2266
|
+
created_at?: string;
|
|
2267
|
+
})[];
|
|
2268
|
+
}>;
|
|
1512
2269
|
/** Get mailbox webhook config (GET /api/emails/{address}/webhook) */
|
|
1513
2270
|
getMailboxWebhook(address: string): Promise<{
|
|
1514
2271
|
address?: string;
|
|
1515
2272
|
webhook_url?: string | null;
|
|
1516
2273
|
signing_secret?: string | null;
|
|
1517
2274
|
has_webhook?: boolean;
|
|
2275
|
+
events?: string[];
|
|
1518
2276
|
header_names?: string[];
|
|
1519
2277
|
hint?: string;
|
|
1520
2278
|
}>;
|
|
1521
2279
|
/** Get a message (GET /api/emails/{address}/messages/{id}) */
|
|
1522
2280
|
getMessageByAddress(address: string, id: string): Promise<{
|
|
1523
2281
|
id?: string;
|
|
2282
|
+
thread_id?: string;
|
|
2283
|
+
labels?: string[];
|
|
1524
2284
|
thread_key?: string;
|
|
1525
2285
|
thread_aliases?: string[];
|
|
1526
2286
|
message_id?: string | null;
|
|
@@ -1656,7 +2416,7 @@ export declare class Domani {
|
|
|
1656
2416
|
/** Get workspace members and mailboxes (GET /api/workspaces/{id}) */
|
|
1657
2417
|
getWorkspace(id: string): Promise<WorkspaceDetail>;
|
|
1658
2418
|
/** Get the canonical workspace access graph (GET /api/workspaces/{id}/access) */
|
|
1659
|
-
getWorkspaceAccess(id: string): Promise<
|
|
2419
|
+
getWorkspaceAccess(id: string): Promise<void>;
|
|
1660
2420
|
/** Heartbeat viewing or composing presence (PUT /api/email/collaboration/coordination) */
|
|
1661
2421
|
heartbeatConversationPresence(body: {
|
|
1662
2422
|
mailbox_id: string;
|
|
@@ -1680,15 +2440,37 @@ export declare class Domani {
|
|
|
1680
2440
|
};
|
|
1681
2441
|
hint?: string;
|
|
1682
2442
|
}>;
|
|
2443
|
+
/** Record a fenced human Decision (POST /api/assistant/work-items/{id}/interactions) */
|
|
2444
|
+
interactWithAssistantWorkItem(id: string, body: {
|
|
2445
|
+
scope?: "item" | "sender" | "sender_domain" | "situation";
|
|
2446
|
+
type: "choose" | "instruct" | "take_over" | "snooze" | "ignore" | "correct" | "delegate";
|
|
2447
|
+
agent_slug?: string | null;
|
|
2448
|
+
work_item_version: number;
|
|
2449
|
+
decision_id?: string;
|
|
2450
|
+
decision_version?: number;
|
|
2451
|
+
option_id?: string;
|
|
2452
|
+
instruction?: string;
|
|
2453
|
+
until?: string;
|
|
2454
|
+
remind_at?: string;
|
|
2455
|
+
field?: string;
|
|
2456
|
+
correction?: string;
|
|
2457
|
+
idempotency_key: string;
|
|
2458
|
+
}): Promise<{
|
|
2459
|
+
ok?: boolean;
|
|
2460
|
+
work_item?: AssistantWorkItem;
|
|
2461
|
+
plan_id?: string | null;
|
|
2462
|
+
}>;
|
|
1683
2463
|
/** Invite a workspace member (POST /api/workspaces/{id}/invitations) */
|
|
1684
2464
|
inviteWorkspaceMember(id: string, body: {
|
|
1685
2465
|
email: string;
|
|
1686
2466
|
role?: "admin" | "member";
|
|
1687
2467
|
mailbox_ids?: string[];
|
|
1688
2468
|
mailbox_role?: "viewer" | "responder" | "manager";
|
|
1689
|
-
}): Promise<
|
|
2469
|
+
}): Promise<void>;
|
|
1690
2470
|
/** Leave a workspace (DELETE /api/workspaces/{id}/members/me) */
|
|
1691
|
-
leaveWorkspace(id: string): Promise<
|
|
2471
|
+
leaveWorkspace(id: string): Promise<void>;
|
|
2472
|
+
/** List the API tokens of an agent identity (GET /api/agents/identity/{slug}/tokens) */
|
|
2473
|
+
listAgentTokens(slug: string): Promise<unknown>;
|
|
1692
2474
|
/** List security audit events (GET /api/audit) */
|
|
1693
2475
|
listAuditEvents(query?: {
|
|
1694
2476
|
limit?: number;
|
|
@@ -1727,6 +2509,24 @@ export declare class Domani {
|
|
|
1727
2509
|
email?: Record<string, unknown>[];
|
|
1728
2510
|
};
|
|
1729
2511
|
}>;
|
|
2512
|
+
/** List contacts (GET /api/contacts) */
|
|
2513
|
+
listContacts(query?: {
|
|
2514
|
+
q?: string;
|
|
2515
|
+
limit?: number;
|
|
2516
|
+
cursor?: string;
|
|
2517
|
+
}): Promise<{
|
|
2518
|
+
contacts?: ({
|
|
2519
|
+
address?: string;
|
|
2520
|
+
name?: string | null;
|
|
2521
|
+
notes?: string | null;
|
|
2522
|
+
source?: "auto" | "manual";
|
|
2523
|
+
message_count?: number;
|
|
2524
|
+
first_seen_at?: string;
|
|
2525
|
+
last_seen_at?: string;
|
|
2526
|
+
last_direction?: string | null;
|
|
2527
|
+
})[];
|
|
2528
|
+
next_cursor?: string | null;
|
|
2529
|
+
}>;
|
|
1730
2530
|
/** List attributed conversation activity (GET /api/email/collaboration/{id}/activity) */
|
|
1731
2531
|
listConversationActivity(id: string): Promise<{
|
|
1732
2532
|
activity: MailActivity[];
|
|
@@ -1778,7 +2578,7 @@ export declare class Domani {
|
|
|
1778
2578
|
unread?: number;
|
|
1779
2579
|
})[];
|
|
1780
2580
|
views?: ({
|
|
1781
|
-
id?: "starred" | "all";
|
|
2581
|
+
id?: "starred" | "all" | "needs_human";
|
|
1782
2582
|
total?: number;
|
|
1783
2583
|
unread?: number;
|
|
1784
2584
|
})[];
|
|
@@ -1790,7 +2590,8 @@ export declare class Domani {
|
|
|
1790
2590
|
limit?: number;
|
|
1791
2591
|
direction?: "in" | "out" | "all";
|
|
1792
2592
|
folder?: "inbox" | "archive" | "sent" | "spam" | "trash";
|
|
1793
|
-
|
|
2593
|
+
label?: string;
|
|
2594
|
+
view?: "starred" | "all" | "needs_human";
|
|
1794
2595
|
since?: string;
|
|
1795
2596
|
from?: string;
|
|
1796
2597
|
to?: string;
|
|
@@ -1802,6 +2603,8 @@ export declare class Domani {
|
|
|
1802
2603
|
}): Promise<{
|
|
1803
2604
|
messages?: ({
|
|
1804
2605
|
id?: string;
|
|
2606
|
+
thread_id?: string;
|
|
2607
|
+
labels?: string[];
|
|
1805
2608
|
thread_key?: string;
|
|
1806
2609
|
thread_aliases?: string[];
|
|
1807
2610
|
message_id?: string | null;
|
|
@@ -1809,6 +2612,10 @@ export declare class Domani {
|
|
|
1809
2612
|
folder?: "inbox" | "archive" | "sent" | "spam" | "trash";
|
|
1810
2613
|
read?: boolean;
|
|
1811
2614
|
starred?: boolean;
|
|
2615
|
+
needs_human?: boolean;
|
|
2616
|
+
escalation_reason?: string | null;
|
|
2617
|
+
remind_at?: string | null;
|
|
2618
|
+
reminder_note?: string | null;
|
|
1812
2619
|
answered?: boolean;
|
|
1813
2620
|
forwarded?: boolean;
|
|
1814
2621
|
spam_detected?: boolean;
|
|
@@ -1828,6 +2635,21 @@ export declare class Domani {
|
|
|
1828
2635
|
})[];
|
|
1829
2636
|
next_cursor?: string | null;
|
|
1830
2637
|
}>;
|
|
2638
|
+
/** List HTTP hostname bindings (GET /api/domains/{domain}/hostname-bindings) */
|
|
2639
|
+
listHostnameBindings(domain: string): Promise<{
|
|
2640
|
+
hostname_bindings: HostnameBinding[];
|
|
2641
|
+
}>;
|
|
2642
|
+
/** List visible leased HTTP routes (GET /api/http-routes) */
|
|
2643
|
+
listHttpRoutes(query?: {
|
|
2644
|
+
domain?: string;
|
|
2645
|
+
hostname?: string;
|
|
2646
|
+
status?: "active" | "expired" | "deleted" | "suspended" | "all";
|
|
2647
|
+
limit?: number;
|
|
2648
|
+
cursor?: string;
|
|
2649
|
+
}): Promise<{
|
|
2650
|
+
http_routes: HttpRoute[];
|
|
2651
|
+
next_cursor: string | null;
|
|
2652
|
+
}>;
|
|
1831
2653
|
/** List your agent identities (GET /api/agents/identity) */
|
|
1832
2654
|
listIdentities(): Promise<{
|
|
1833
2655
|
identities?: AgentIdentity[];
|
|
@@ -1927,6 +2749,18 @@ export declare class Domani {
|
|
|
1927
2749
|
storage_measured_at?: string | null;
|
|
1928
2750
|
})[];
|
|
1929
2751
|
}>;
|
|
2752
|
+
/** List the conversations of a mailbox (GET /api/emails/{address}/threads) */
|
|
2753
|
+
listMailboxThreads(address: string, query?: {
|
|
2754
|
+
folder?: "all" | "inbox" | "archive" | "sent" | "spam" | "trash";
|
|
2755
|
+
since?: string;
|
|
2756
|
+
limit?: number;
|
|
2757
|
+
cursor?: string;
|
|
2758
|
+
label?: string;
|
|
2759
|
+
}): Promise<{
|
|
2760
|
+
threads: EmailThread[];
|
|
2761
|
+
next_cursor: string | null;
|
|
2762
|
+
has_more: boolean;
|
|
2763
|
+
}>;
|
|
1930
2764
|
/** List inbound mail rules (GET /api/emails/{address}/rules) */
|
|
1931
2765
|
listMailRules(address: string): Promise<{
|
|
1932
2766
|
mailbox?: string;
|
|
@@ -2063,13 +2897,19 @@ export declare class Domani {
|
|
|
2063
2897
|
message_ids: string[];
|
|
2064
2898
|
read: boolean;
|
|
2065
2899
|
idempotency_key?: string;
|
|
2066
|
-
}): Promise<LegacyMailboxOperationReceipt>;
|
|
2900
|
+
}, idempotencyKey?: string): Promise<LegacyMailboxOperationReceipt>;
|
|
2067
2901
|
/** Mark notification as read (PATCH /api/notifications/{id}) */
|
|
2068
2902
|
markNotificationRead(id: string, body: {
|
|
2069
2903
|
read: boolean;
|
|
2070
2904
|
}): Promise<{
|
|
2071
2905
|
ok?: boolean;
|
|
2072
2906
|
}>;
|
|
2907
|
+
/** Mark a Work item as opened (POST /api/assistant/work-items/{id}/open) */
|
|
2908
|
+
openAssistantWorkItem(id: string): Promise<{
|
|
2909
|
+
ok?: boolean;
|
|
2910
|
+
opened_at?: string;
|
|
2911
|
+
unread?: boolean;
|
|
2912
|
+
}>;
|
|
2073
2913
|
/** Plan how to adopt an existing domain (GET /api/domains/adoption-plan) */
|
|
2074
2914
|
planDomainAdoption(query?: {
|
|
2075
2915
|
domain: string;
|
|
@@ -2087,6 +2927,7 @@ export declare class Domani {
|
|
|
2087
2927
|
nameservers: string[];
|
|
2088
2928
|
dns_provider: string;
|
|
2089
2929
|
dnssec_enabled: boolean;
|
|
2930
|
+
checked_at: string | null;
|
|
2090
2931
|
};
|
|
2091
2932
|
options: {
|
|
2092
2933
|
connect?: {
|
|
@@ -2111,6 +2952,12 @@ export declare class Domani {
|
|
|
2111
2952
|
reason?: string;
|
|
2112
2953
|
code?: string;
|
|
2113
2954
|
eligible_at?: string;
|
|
2955
|
+
guidance?: {
|
|
2956
|
+
managed_via: string;
|
|
2957
|
+
unlock: string;
|
|
2958
|
+
auth_code: string;
|
|
2959
|
+
notes: string[];
|
|
2960
|
+
};
|
|
2114
2961
|
next_action?: {
|
|
2115
2962
|
method?: string;
|
|
2116
2963
|
path?: string;
|
|
@@ -2120,6 +2967,11 @@ export declare class Domani {
|
|
|
2120
2967
|
invariants: string[];
|
|
2121
2968
|
warnings: string[];
|
|
2122
2969
|
}>;
|
|
2970
|
+
/** Plan an HTTP hostname binding (POST /api/domains/{domain}/hostname-bindings/plan) */
|
|
2971
|
+
planHostnameBinding(domain: string, body: {
|
|
2972
|
+
hostname: string;
|
|
2973
|
+
browser_mode?: "stateless" | "dedicated_site" | "trusted_same_site";
|
|
2974
|
+
}): Promise<HostnameBindingPlan>;
|
|
2123
2975
|
/** Provide EPP/auth code (seller) (PATCH /api/deals/{id}) */
|
|
2124
2976
|
provideEppCode(id: string, body: {
|
|
2125
2977
|
auth_code: string;
|
|
@@ -2142,11 +2994,50 @@ export declare class Domani {
|
|
|
2142
2994
|
payment_tx?: string;
|
|
2143
2995
|
payment_chain?: "base" | "ethereum";
|
|
2144
2996
|
years?: number;
|
|
2145
|
-
}): Promise<ProvisionAgentResult>;
|
|
2997
|
+
}, paymentSignature?: string): Promise<ProvisionAgentResult>;
|
|
2146
2998
|
/** Refresh a domain brief from live sources (POST /api/domain-briefs/{id}/refresh) */
|
|
2147
2999
|
refreshDomainBrief(id: string): Promise<{
|
|
2148
3000
|
brief: DomainBrief;
|
|
2149
3001
|
}>;
|
|
3002
|
+
/** Refresh a route lease (PATCH /api/http-routes/{id}) */
|
|
3003
|
+
refreshHttpRoute(id: string, body: {
|
|
3004
|
+
expires_in: number;
|
|
3005
|
+
}, idempotencyKey: string): Promise<HttpRouteReceipt>;
|
|
3006
|
+
/** Register a device for redacted Now alerts (POST /api/assistant/devices) */
|
|
3007
|
+
registerAssistantDevice(body: {
|
|
3008
|
+
installation_id: string;
|
|
3009
|
+
platform: "ios" | "android";
|
|
3010
|
+
environment: "development" | "preview" | "production";
|
|
3011
|
+
push_token: string;
|
|
3012
|
+
locale: string;
|
|
3013
|
+
lock_screen_detail?: "redacted" | "sender_only";
|
|
3014
|
+
}): Promise<{
|
|
3015
|
+
ok?: boolean;
|
|
3016
|
+
device?: {
|
|
3017
|
+
id?: string;
|
|
3018
|
+
platform?: string;
|
|
3019
|
+
environment?: string;
|
|
3020
|
+
locale?: string;
|
|
3021
|
+
lockScreenDetail?: string;
|
|
3022
|
+
};
|
|
3023
|
+
}>;
|
|
3024
|
+
/** Register an OAuth client (RFC 7591) (POST /api/oauth/register) */
|
|
3025
|
+
registerOAuthClient(body: {
|
|
3026
|
+
redirect_uris: string[];
|
|
3027
|
+
client_name?: string;
|
|
3028
|
+
token_endpoint_auth_method?: "none" | "client_secret_post" | "client_secret_basic";
|
|
3029
|
+
client_uri?: string;
|
|
3030
|
+
logo_uri?: string;
|
|
3031
|
+
}): Promise<{
|
|
3032
|
+
client_id?: string;
|
|
3033
|
+
client_name?: string;
|
|
3034
|
+
redirect_uris?: string[];
|
|
3035
|
+
token_endpoint_auth_method?: string;
|
|
3036
|
+
grant_types?: string[];
|
|
3037
|
+
response_types?: string[];
|
|
3038
|
+
client_id_issued_at?: number;
|
|
3039
|
+
client_secret?: string;
|
|
3040
|
+
}>;
|
|
2150
3041
|
/** Create a new account (POST /api/auth/register) */
|
|
2151
3042
|
registerUser(body: {
|
|
2152
3043
|
email: string;
|
|
@@ -2173,12 +3064,18 @@ export declare class Domani {
|
|
|
2173
3064
|
slug?: string;
|
|
2174
3065
|
released?: boolean;
|
|
2175
3066
|
}>;
|
|
3067
|
+
/** Revoke a device registration (DELETE /api/assistant/devices) */
|
|
3068
|
+
removeAssistantDevice(query?: {
|
|
3069
|
+
installation_id: string;
|
|
3070
|
+
}): Promise<{
|
|
3071
|
+
ok?: boolean;
|
|
3072
|
+
}>;
|
|
2176
3073
|
/** Remove saved payment method (DELETE /api/billing/card) */
|
|
2177
3074
|
removeCard(): Promise<{
|
|
2178
3075
|
removed?: boolean;
|
|
2179
3076
|
}>;
|
|
2180
3077
|
/** Remove email from a domain (DELETE /api/domains/{domain}/email/setup) */
|
|
2181
|
-
removeDomainEmail(domain: string): Promise<
|
|
3078
|
+
removeDomainEmail(domain: string): Promise<void>;
|
|
2182
3079
|
/** Remove a mailbox alias (DELETE /api/emails/{address}/aliases/{alias}) */
|
|
2183
3080
|
removeMailboxAlias(address: string, alias: string): Promise<{
|
|
2184
3081
|
address?: string;
|
|
@@ -2188,13 +3085,14 @@ export declare class Domani {
|
|
|
2188
3085
|
/** Remove a member mailbox permission (DELETE /api/workspaces/{id}/mailboxes/{mailboxId}/grants) */
|
|
2189
3086
|
removeMailboxGrant(id: string, mailboxId: string, body: {
|
|
2190
3087
|
membership_id: string;
|
|
2191
|
-
}): Promise<
|
|
3088
|
+
}): Promise<void>;
|
|
2192
3089
|
/** Remove mailbox webhook (DELETE /api/emails/{address}/webhook) */
|
|
2193
3090
|
removeMailboxWebhook(address: string): Promise<{
|
|
2194
3091
|
address?: string;
|
|
2195
3092
|
webhook_url?: string | null;
|
|
2196
3093
|
signing_secret?: string | null;
|
|
2197
3094
|
has_webhook?: boolean;
|
|
3095
|
+
events?: string[];
|
|
2198
3096
|
header_names?: string[];
|
|
2199
3097
|
hint?: string;
|
|
2200
3098
|
}>;
|
|
@@ -2211,7 +3109,7 @@ export declare class Domani {
|
|
|
2211
3109
|
hint?: string;
|
|
2212
3110
|
}>;
|
|
2213
3111
|
/** Remove a workspace member (DELETE /api/workspaces/{id}/members/{membershipId}) */
|
|
2214
|
-
removeWorkspaceMember(id: string, membershipId: string): Promise<
|
|
3112
|
+
removeWorkspaceMember(id: string, membershipId: string): Promise<void>;
|
|
2215
3113
|
/** Renew a domain (POST /api/domains/{domain}/renew) */
|
|
2216
3114
|
renewDomain(domain: string, body?: {
|
|
2217
3115
|
years?: number;
|
|
@@ -2256,7 +3154,7 @@ export declare class Domani {
|
|
|
2256
3154
|
lease_id: string;
|
|
2257
3155
|
expected_reply_version: number;
|
|
2258
3156
|
};
|
|
2259
|
-
}): Promise<{
|
|
3157
|
+
}, idempotencyKey?: string): Promise<{
|
|
2260
3158
|
id?: string;
|
|
2261
3159
|
message_id?: string;
|
|
2262
3160
|
from?: string;
|
|
@@ -2267,7 +3165,7 @@ export declare class Domani {
|
|
|
2267
3165
|
/** Request a workspace ownership transfer (POST /api/workspaces/{id}/ownership-transfer) */
|
|
2268
3166
|
requestWorkspaceOwnershipTransfer(id: string, body: {
|
|
2269
3167
|
membership_id: string;
|
|
2270
|
-
}): Promise<
|
|
3168
|
+
}): Promise<void>;
|
|
2271
3169
|
/** Research or refresh a public domain profile (POST /api/domains/{domain}/profile) */
|
|
2272
3170
|
researchPublicDomainProfile(domain: string, query?: {
|
|
2273
3171
|
depth?: "instant" | "deep";
|
|
@@ -2321,6 +3219,16 @@ export declare class Domani {
|
|
|
2321
3219
|
dry_run?: boolean;
|
|
2322
3220
|
would_apply?: DnsRecord[];
|
|
2323
3221
|
}>;
|
|
3222
|
+
/** Retry failed history-import messages (POST /api/assistant/backfill) */
|
|
3223
|
+
retryAssistantBackfillFailures(): Promise<{
|
|
3224
|
+
ok?: boolean;
|
|
3225
|
+
retried?: number;
|
|
3226
|
+
}>;
|
|
3227
|
+
/** Revoke an agent's API token (DELETE /api/agents/identity/{slug}/tokens/{id}) */
|
|
3228
|
+
revokeAgentToken(slug: string, id: string): Promise<{
|
|
3229
|
+
success?: boolean;
|
|
3230
|
+
hint?: string;
|
|
3231
|
+
}>;
|
|
2324
3232
|
/** Revoke an app password (hosted) (DELETE /api/emails/{address}/credentials/{id}) */
|
|
2325
3233
|
revokeMailboxCredential(address: string, id: string): Promise<{
|
|
2326
3234
|
id?: string;
|
|
@@ -2334,11 +3242,17 @@ export declare class Domani {
|
|
|
2334
3242
|
/** Revoke an access grant and its credentials (DELETE /api/workspaces/{id}/access/grants/{grantId}) */
|
|
2335
3243
|
revokeWorkspaceAccess(id: string, grantId: string, body?: {
|
|
2336
3244
|
expected_version?: number;
|
|
2337
|
-
}): Promise<
|
|
3245
|
+
}): Promise<void>;
|
|
2338
3246
|
/** Revoke a pending invitation (DELETE /api/workspaces/{id}/invitations/{invitationId}) */
|
|
2339
|
-
revokeWorkspaceInvitation(id: string, invitationId: string): Promise<
|
|
3247
|
+
revokeWorkspaceInvitation(id: string, invitationId: string): Promise<void>;
|
|
2340
3248
|
/** Revoke a pending ownership transfer (DELETE /api/workspaces/{id}/ownership-transfer/{transferId}) */
|
|
2341
|
-
revokeWorkspaceOwnershipTransfer(id: string, transferId: string): Promise<
|
|
3249
|
+
revokeWorkspaceOwnershipTransfer(id: string, transferId: string): Promise<void>;
|
|
3250
|
+
/** Replace write-only upstream authentication headers (PUT /api/http-routes/{id}/upstream-headers) */
|
|
3251
|
+
rotateHttpRouteUpstreamHeaders(id: string, body: {
|
|
3252
|
+
upstream_headers: Record<string, string>;
|
|
3253
|
+
}, idempotencyKey: string): Promise<HttpRouteHeadersReceipt>;
|
|
3254
|
+
/** Rotate the upstream verification secret (POST /api/http-routes/{id}/upstream-verification/rotate) */
|
|
3255
|
+
rotateHttpRouteUpstreamVerification(id: string, idempotencyKey: string): Promise<HttpRouteVerificationReceipt>;
|
|
2342
3256
|
/** Rotate webhook signing secret (POST /api/emails/{address}/webhook/rotate) */
|
|
2343
3257
|
rotateMailboxWebhookSecret(address: string): Promise<{
|
|
2344
3258
|
address?: string;
|
|
@@ -2356,6 +3270,75 @@ export declare class Domani {
|
|
|
2356
3270
|
source?: "all" | "primary" | "secondary";
|
|
2357
3271
|
order?: "asc" | "desc";
|
|
2358
3272
|
}): Promise<SearchResult>;
|
|
3273
|
+
/** Search mail by meaning and by words (GET /api/emails/search) */
|
|
3274
|
+
searchEmailMessages(query?: {
|
|
3275
|
+
mailbox?: string;
|
|
3276
|
+
q: string;
|
|
3277
|
+
mode?: "hybrid" | "semantic" | "keyword";
|
|
3278
|
+
limit?: number;
|
|
3279
|
+
since?: string;
|
|
3280
|
+
until?: string;
|
|
3281
|
+
folder?: "inbox" | "archive" | "sent" | "spam" | "trash";
|
|
3282
|
+
from?: string;
|
|
3283
|
+
label?: string;
|
|
3284
|
+
}): Promise<{
|
|
3285
|
+
results?: ({
|
|
3286
|
+
message?: {
|
|
3287
|
+
id?: string;
|
|
3288
|
+
mailbox?: string;
|
|
3289
|
+
thread_key?: string;
|
|
3290
|
+
direction?: string;
|
|
3291
|
+
from?: string;
|
|
3292
|
+
to?: string;
|
|
3293
|
+
subject?: string | null;
|
|
3294
|
+
snippet?: string;
|
|
3295
|
+
created_at?: string;
|
|
3296
|
+
folder?: string;
|
|
3297
|
+
is_read?: boolean;
|
|
3298
|
+
};
|
|
3299
|
+
score?: number;
|
|
3300
|
+
why?: "words" | "meaning" | "both";
|
|
3301
|
+
highlight?: string | null;
|
|
3302
|
+
})[];
|
|
3303
|
+
mode?: "hybrid" | "semantic" | "keyword";
|
|
3304
|
+
query?: string;
|
|
3305
|
+
took_ms?: number;
|
|
3306
|
+
hint?: string;
|
|
3307
|
+
}>;
|
|
3308
|
+
/** Search one mailbox by meaning and by words (GET /api/emails/{address}/search) */
|
|
3309
|
+
searchEmailMessagesByAddress(address: string, query?: {
|
|
3310
|
+
q: string;
|
|
3311
|
+
mode?: "hybrid" | "semantic" | "keyword";
|
|
3312
|
+
limit?: number;
|
|
3313
|
+
since?: string;
|
|
3314
|
+
until?: string;
|
|
3315
|
+
folder?: "inbox" | "archive" | "sent" | "spam" | "trash";
|
|
3316
|
+
from?: string;
|
|
3317
|
+
label?: string;
|
|
3318
|
+
}): Promise<{
|
|
3319
|
+
results?: ({
|
|
3320
|
+
message?: {
|
|
3321
|
+
id?: string;
|
|
3322
|
+
mailbox?: string;
|
|
3323
|
+
thread_key?: string;
|
|
3324
|
+
direction?: string;
|
|
3325
|
+
from?: string;
|
|
3326
|
+
to?: string;
|
|
3327
|
+
subject?: string | null;
|
|
3328
|
+
snippet?: string;
|
|
3329
|
+
created_at?: string;
|
|
3330
|
+
folder?: string;
|
|
3331
|
+
is_read?: boolean;
|
|
3332
|
+
};
|
|
3333
|
+
score?: number;
|
|
3334
|
+
why?: "words" | "meaning" | "both";
|
|
3335
|
+
highlight?: string | null;
|
|
3336
|
+
})[];
|
|
3337
|
+
mode?: "hybrid" | "semantic" | "keyword";
|
|
3338
|
+
query?: string;
|
|
3339
|
+
took_ms?: number;
|
|
3340
|
+
hint?: string;
|
|
3341
|
+
}>;
|
|
2359
3342
|
/** List a domain for sale (open marketplace) (POST /api/domains/sell) */
|
|
2360
3343
|
sellDomain(body: {
|
|
2361
3344
|
domain: string;
|
|
@@ -2390,6 +3373,7 @@ export declare class Domani {
|
|
|
2390
3373
|
in_reply_to?: string;
|
|
2391
3374
|
references?: string;
|
|
2392
3375
|
idempotency_key?: string;
|
|
3376
|
+
send_at?: string;
|
|
2393
3377
|
coordination?: {
|
|
2394
3378
|
thread_key: string;
|
|
2395
3379
|
client_id: string;
|
|
@@ -2402,7 +3386,7 @@ export declare class Domani {
|
|
|
2402
3386
|
filename: string;
|
|
2403
3387
|
content_type?: string;
|
|
2404
3388
|
}[];
|
|
2405
|
-
}): Promise<{
|
|
3389
|
+
}, idempotencyKey?: string): Promise<{
|
|
2406
3390
|
id?: string;
|
|
2407
3391
|
message_id?: string;
|
|
2408
3392
|
from?: string;
|
|
@@ -2446,19 +3430,31 @@ export declare class Domani {
|
|
|
2446
3430
|
setMailboxGrant(id: string, mailboxId: string, body: {
|
|
2447
3431
|
membership_id: string;
|
|
2448
3432
|
role: "viewer" | "responder" | "manager";
|
|
2449
|
-
}): Promise<
|
|
3433
|
+
}): Promise<void>;
|
|
2450
3434
|
/** Set mailbox webhook (PUT /api/emails/{address}/webhook) */
|
|
2451
3435
|
setMailboxWebhook(address: string, body: {
|
|
2452
3436
|
url: string;
|
|
2453
|
-
|
|
3437
|
+
events?: ("email.received" | "email.delivered" | "email.bounced" | "email.failed" | "email.suppressed" | "email.complained" | "email.delayed" | "assistant.item.delegated" | "assistant.item.recalled")[];
|
|
3438
|
+
headers?: Record<string, string>;
|
|
2454
3439
|
}): Promise<{
|
|
2455
3440
|
address?: string;
|
|
2456
3441
|
webhook_url?: string;
|
|
2457
3442
|
signing_secret?: string;
|
|
2458
3443
|
has_webhook?: boolean;
|
|
3444
|
+
events?: string[];
|
|
2459
3445
|
header_names?: string[];
|
|
2460
3446
|
hint?: string;
|
|
2461
3447
|
}>;
|
|
3448
|
+
/** Set a follow-up reminder (POST /api/emails/{address}/messages/{id}/remind) */
|
|
3449
|
+
setMessageReminderByAddress(address: string, id: string, body?: {
|
|
3450
|
+
remind_at?: string;
|
|
3451
|
+
note?: string;
|
|
3452
|
+
clear?: boolean;
|
|
3453
|
+
}): Promise<{
|
|
3454
|
+
id?: string;
|
|
3455
|
+
remind_at?: string | null;
|
|
3456
|
+
reminder_note?: string | null;
|
|
3457
|
+
}>;
|
|
2462
3458
|
/** Set nameservers for a domain (PUT /api/domains/{domain}/nameservers) */
|
|
2463
3459
|
setNameservers(domain: string, body: {
|
|
2464
3460
|
nameservers: string[];
|
|
@@ -2503,7 +3499,7 @@ export declare class Domani {
|
|
|
2503
3499
|
};
|
|
2504
3500
|
expected_version?: number;
|
|
2505
3501
|
reason?: string;
|
|
2506
|
-
}): Promise<
|
|
3502
|
+
}): Promise<void>;
|
|
2507
3503
|
/** Capture a DNS snapshot (POST /api/domains/{domain}/dns/snapshot) */
|
|
2508
3504
|
snapshotDns(domain: string, body?: {
|
|
2509
3505
|
extra_subdomains?: string[];
|
|
@@ -2514,10 +3510,29 @@ export declare class Domani {
|
|
|
2514
3510
|
sources?: string[];
|
|
2515
3511
|
capturedAt?: string;
|
|
2516
3512
|
}>;
|
|
3513
|
+
/** Consent to and start a background history import (POST /api/assistant/preview) */
|
|
3514
|
+
startAssistantPreview(body: {
|
|
3515
|
+
mailbox_ids: string[];
|
|
3516
|
+
history_window_days?: number;
|
|
3517
|
+
consent: true;
|
|
3518
|
+
consent_version: "mailzero-personal-ai.v1";
|
|
3519
|
+
}): Promise<{
|
|
3520
|
+
ok?: boolean;
|
|
3521
|
+
preview?: {
|
|
3522
|
+
mailbox_ids?: string[];
|
|
3523
|
+
history_window_days?: number;
|
|
3524
|
+
background?: boolean;
|
|
3525
|
+
backfill_id?: string;
|
|
3526
|
+
};
|
|
3527
|
+
}>;
|
|
2517
3528
|
/** Start bank payout onboarding (POST /api/billing/connect) */
|
|
2518
3529
|
startPayoutOnboarding(): Promise<{
|
|
2519
3530
|
url?: string;
|
|
2520
3531
|
}>;
|
|
3532
|
+
/** Stream mailbox events (server-sent events) (GET /api/emails/{address}/events) */
|
|
3533
|
+
streamMailboxEvents(address: string, lastEventId?: string, query?: {
|
|
3534
|
+
since?: string;
|
|
3535
|
+
}): Promise<Response>;
|
|
2521
3536
|
/** AI-powered domain suggestions with availability (GET /api/domains/suggest) */
|
|
2522
3537
|
suggestDomains(query?: {
|
|
2523
3538
|
prompt: string;
|
|
@@ -2545,14 +3560,14 @@ export declare class Domani {
|
|
|
2545
3560
|
id: string;
|
|
2546
3561
|
label: string;
|
|
2547
3562
|
})[];
|
|
2548
|
-
}): Promise<
|
|
3563
|
+
}): Promise<void>;
|
|
2549
3564
|
/** Create or replace an explicit mailbox collection (PUT /api/workspaces/{id}/access/collections) */
|
|
2550
3565
|
syncMailboxCollection(id: string, body: {
|
|
2551
3566
|
id?: string;
|
|
2552
3567
|
name: string;
|
|
2553
3568
|
description?: string | null;
|
|
2554
3569
|
mailbox_ids: string[];
|
|
2555
|
-
}): Promise<
|
|
3570
|
+
}): Promise<void>;
|
|
2556
3571
|
/** Test mailbox webhook (POST /api/emails/{address}/webhook/test) */
|
|
2557
3572
|
testMailboxWebhook(address: string): Promise<{
|
|
2558
3573
|
address?: string;
|
|
@@ -2569,7 +3584,29 @@ export declare class Domani {
|
|
|
2569
3584
|
payment_tx?: string;
|
|
2570
3585
|
payment_chain?: "base" | "ethereum";
|
|
2571
3586
|
extra_subdomains?: string[];
|
|
2572
|
-
}): Promise<
|
|
3587
|
+
}): Promise<{
|
|
3588
|
+
domain: string;
|
|
3589
|
+
status: "pending" | "active";
|
|
3590
|
+
expires: string;
|
|
3591
|
+
price: number;
|
|
3592
|
+
currency: string;
|
|
3593
|
+
payment_method: string;
|
|
3594
|
+
payment_tx?: string;
|
|
3595
|
+
auto_renew?: boolean;
|
|
3596
|
+
hint: string;
|
|
3597
|
+
dns_snapshot?: {
|
|
3598
|
+
record_count?: number;
|
|
3599
|
+
subdomain_count?: number;
|
|
3600
|
+
};
|
|
3601
|
+
nameservers_preserved: true;
|
|
3602
|
+
dns_migration: "not_requested";
|
|
3603
|
+
continuity: {
|
|
3604
|
+
nameservers?: string[];
|
|
3605
|
+
dns_provider?: string;
|
|
3606
|
+
dnssec_enabled?: boolean;
|
|
3607
|
+
verification_status?: "verified" | "repaired" | "degraded" | "unknown";
|
|
3608
|
+
};
|
|
3609
|
+
}>;
|
|
2573
3610
|
/** Update account preferences (PUT /api/me) */
|
|
2574
3611
|
updateAccount(body: {
|
|
2575
3612
|
preferred_payment_method?: "card" | "usdc" | null;
|
|
@@ -2586,9 +3623,27 @@ export declare class Domani {
|
|
|
2586
3623
|
dismissed_version: number;
|
|
2587
3624
|
hint: string;
|
|
2588
3625
|
}>;
|
|
3626
|
+
/** Update Mailzero assistant settings (PUT /api/assistant/settings) */
|
|
3627
|
+
updateAssistantSettings(body: {
|
|
3628
|
+
enabled?: boolean;
|
|
3629
|
+
shadow_enabled?: boolean;
|
|
3630
|
+
paused?: boolean;
|
|
3631
|
+
mailbox_ids?: string[];
|
|
3632
|
+
agent_mailbox_ids?: string[];
|
|
3633
|
+
history_window_days?: number;
|
|
3634
|
+
attachment_vision?: boolean;
|
|
3635
|
+
}): Promise<{
|
|
3636
|
+
ok?: boolean;
|
|
3637
|
+
enabled?: boolean;
|
|
3638
|
+
shadow_enabled?: boolean;
|
|
3639
|
+
paused?: boolean;
|
|
3640
|
+
mailbox_ids?: string[];
|
|
3641
|
+
}>;
|
|
2589
3642
|
/** Assign or update a shared inbox conversation (PATCH /api/email/collaboration) */
|
|
2590
3643
|
updateConversationState(body: {
|
|
2591
3644
|
mailbox_id: string;
|
|
3645
|
+
thread_id?: string;
|
|
3646
|
+
labels?: string[];
|
|
2592
3647
|
thread_key: string;
|
|
2593
3648
|
thread_aliases?: string[];
|
|
2594
3649
|
subject?: string | null;
|
|
@@ -2614,12 +3669,20 @@ export declare class Domani {
|
|
|
2614
3669
|
/** Apply a lifecycle action to messages (POST /api/emails/{address}/messages/actions) */
|
|
2615
3670
|
updateEmailMessagesByAddress(address: string, body: {
|
|
2616
3671
|
message_ids: string[];
|
|
2617
|
-
action: "move" | "mark_read" | "star" | "restore" | "delete_permanently";
|
|
3672
|
+
action: "move" | "mark_read" | "star" | "restore" | "delete_permanently" | "label";
|
|
2618
3673
|
destination?: "inbox" | "archive" | "sent" | "spam" | "trash";
|
|
2619
3674
|
read?: boolean;
|
|
2620
3675
|
starred?: boolean;
|
|
3676
|
+
add?: string[];
|
|
3677
|
+
remove?: string[];
|
|
3678
|
+
set?: string[];
|
|
2621
3679
|
idempotency_key?: string;
|
|
2622
|
-
}): Promise<MailboxOperationReceipt>;
|
|
3680
|
+
}, idempotencyKey?: string): Promise<MailboxOperationReceipt>;
|
|
3681
|
+
/** Update binding browser mode (PATCH /api/domains/{domain}/hostname-bindings/{id}) */
|
|
3682
|
+
updateHostnameBinding(domain: string, id: string, body: {
|
|
3683
|
+
browser_mode: "stateless" | "dedicated_site" | "trusted_same_site";
|
|
3684
|
+
acknowledgements?: string[];
|
|
3685
|
+
}, idempotencyKey: string): Promise<HostnameBindingReceipt>;
|
|
2623
3686
|
/** Update an agent identity (PATCH /api/agents/identity/{slug}) */
|
|
2624
3687
|
updateIdentity(slug: string, body: {
|
|
2625
3688
|
name?: string;
|
|
@@ -2653,6 +3716,7 @@ export declare class Domani {
|
|
|
2653
3716
|
webhook_url?: string | null;
|
|
2654
3717
|
forward_to?: string | null;
|
|
2655
3718
|
drop_spam?: boolean;
|
|
3719
|
+
tone_notes?: string | null;
|
|
2656
3720
|
}): Promise<{
|
|
2657
3721
|
id?: string;
|
|
2658
3722
|
address?: string;
|
|
@@ -2661,6 +3725,7 @@ export declare class Domani {
|
|
|
2661
3725
|
name?: string | null;
|
|
2662
3726
|
webhook_url?: string | null;
|
|
2663
3727
|
forward_to?: string | null;
|
|
3728
|
+
tone_notes?: string | null;
|
|
2664
3729
|
signing_secret?: string;
|
|
2665
3730
|
}>;
|
|
2666
3731
|
/** Update notification preferences (PUT /api/notifications/preferences) */
|
|
@@ -2689,7 +3754,7 @@ export declare class Domani {
|
|
|
2689
3754
|
url?: string;
|
|
2690
3755
|
events?: string[];
|
|
2691
3756
|
active?: boolean;
|
|
2692
|
-
headers?: Record<string,
|
|
3757
|
+
headers?: Record<string, string>;
|
|
2693
3758
|
}): Promise<{
|
|
2694
3759
|
id?: string;
|
|
2695
3760
|
url?: string;
|
|
@@ -2701,11 +3766,17 @@ export declare class Domani {
|
|
|
2701
3766
|
/** Rename a workspace (PATCH /api/workspaces/{id}) */
|
|
2702
3767
|
updateWorkspace(id: string, body: {
|
|
2703
3768
|
name: string;
|
|
2704
|
-
}): Promise<
|
|
3769
|
+
}): Promise<void>;
|
|
2705
3770
|
/** Change a member role (PATCH /api/workspaces/{id}/members/{membershipId}) */
|
|
2706
3771
|
updateWorkspaceMember(id: string, membershipId: string, body: {
|
|
2707
3772
|
role: "admin" | "member";
|
|
2708
|
-
}): Promise<
|
|
3773
|
+
}): Promise<void>;
|
|
3774
|
+
/** Create or update a contact (POST /api/contacts) */
|
|
3775
|
+
upsertContact(body: {
|
|
3776
|
+
address: string;
|
|
3777
|
+
name?: string | null;
|
|
3778
|
+
notes?: string | null;
|
|
3779
|
+
}): Promise<void>;
|
|
2709
3780
|
/** Verify that a provider connection is working (POST /api/domains/{domain}/verify) */
|
|
2710
3781
|
verifyConnection(domain: string, body: {
|
|
2711
3782
|
target?: string;
|
|
@@ -2720,6 +3791,11 @@ export declare class Domani {
|
|
|
2720
3791
|
hint?: string;
|
|
2721
3792
|
next_steps?: string[];
|
|
2722
3793
|
}>;
|
|
3794
|
+
/** Verify binding DNS and certificate (POST /api/domains/{domain}/hostname-bindings/{id}/verify) */
|
|
3795
|
+
verifyHostnameBinding(domain: string, id: string): Promise<{
|
|
3796
|
+
hostname_binding: HostnameBinding;
|
|
3797
|
+
pending: boolean;
|
|
3798
|
+
}>;
|
|
2723
3799
|
/** Verify and complete domain import (POST /api/domains/import/verify) */
|
|
2724
3800
|
verifyImport(body: {
|
|
2725
3801
|
domain: string;
|
|
@@ -2734,7 +3810,7 @@ export declare class Domani {
|
|
|
2734
3810
|
/** Verify a magic link token (GET /api/auth/verify) */
|
|
2735
3811
|
verifyMagicLink(query?: {
|
|
2736
3812
|
token: string;
|
|
2737
|
-
}): Promise<
|
|
3813
|
+
}): Promise<void>;
|
|
2738
3814
|
/** Verify TXT ownership for external listing (POST /api/domains/sell/verify) */
|
|
2739
3815
|
verifySellListing(body: {
|
|
2740
3816
|
domain: string;
|