@oneshot-agent/sdk 0.62.0 → 0.63.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.
@@ -55,5 +55,16 @@ export type PredictInput = {
55
55
  floor?: number | undefined;
56
56
  };
57
57
  time_limit_s?: number | undefined;
58
+ } | {
59
+ model: "alignment";
60
+ alignment: {
61
+ mode: "pairwise" | "search";
62
+ sequences: {
63
+ id: string;
64
+ sequence: string;
65
+ }[];
66
+ sequence_type?: "auto" | "protein" | "nucleotide" | undefined;
67
+ };
68
+ time_limit_s?: number | undefined;
58
69
  };
59
70
  //# sourceMappingURL=predict-input.generated.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"predict-input.generated.d.ts","sourceRoot":"","sources":["../src/predict-input.generated.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,YAAY,GAAG;IACvB,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE;QACR,SAAS,EAAE;YACP,EAAE,EAAE,MAAM,CAAC;YACX,YAAY,EAAE;gBACV,IAAI,EAAE,OAAO,CAAC;gBACd,KAAK,EAAE,MAAM,CAAC;aACjB,GAAG;gBACA,IAAI,EAAE,SAAS,CAAC;gBAChB,GAAG,EAAE,MAAM,CAAC;gBACZ,GAAG,EAAE,MAAM,CAAC;aACf,GAAG;gBACA,IAAI,EAAE,QAAQ,CAAC;gBACf,IAAI,EAAE,MAAM,CAAC;gBACb,EAAE,EAAE,MAAM,CAAC;aACd,GAAG;gBACA,IAAI,EAAE,WAAW,CAAC;gBAClB,QAAQ,EAAE,MAAM,CAAC;gBACjB,MAAM,EAAE,MAAM,CAAC;aAClB,GAAG;gBACA,IAAI,EAAE,YAAY,CAAC;gBACnB,GAAG,EAAE,MAAM,CAAC;gBACZ,IAAI,EAAE,MAAM,CAAC;gBACb,GAAG,EAAE,MAAM,CAAC;aACf,GAAG;gBACA,IAAI,EAAE,WAAW,CAAC;gBAClB,CAAC,EAAE,MAAM,CAAC;aACb,GAAG;gBACA,IAAI,EAAE,UAAU,CAAC;gBACjB,MAAM,EAAE,MAAM,EAAE,CAAC;gBACjB,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;aAClC,CAAC;SACL,EAAE,CAAC;QACJ,OAAO,EAAE;YACL,EAAE,EAAE,MAAM,CAAC;YACX,UAAU,EAAE,MAAM,CAAC;SACtB,EAAE,CAAC;QACJ,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;KACtC,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC,GAAG;IACA,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE;QACN,MAAM,EAAE;YACJ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;YACnB,CAAC,EAAE,MAAM,CAAC;SACb,EAAE,CAAC;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;QAC3F,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACrC,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QACvC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC9B,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC,CAAC"}
1
+ {"version":3,"file":"predict-input.generated.d.ts","sourceRoot":"","sources":["../src/predict-input.generated.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,YAAY,GAAG;IACvB,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE;QACR,SAAS,EAAE;YACP,EAAE,EAAE,MAAM,CAAC;YACX,YAAY,EAAE;gBACV,IAAI,EAAE,OAAO,CAAC;gBACd,KAAK,EAAE,MAAM,CAAC;aACjB,GAAG;gBACA,IAAI,EAAE,SAAS,CAAC;gBAChB,GAAG,EAAE,MAAM,CAAC;gBACZ,GAAG,EAAE,MAAM,CAAC;aACf,GAAG;gBACA,IAAI,EAAE,QAAQ,CAAC;gBACf,IAAI,EAAE,MAAM,CAAC;gBACb,EAAE,EAAE,MAAM,CAAC;aACd,GAAG;gBACA,IAAI,EAAE,WAAW,CAAC;gBAClB,QAAQ,EAAE,MAAM,CAAC;gBACjB,MAAM,EAAE,MAAM,CAAC;aAClB,GAAG;gBACA,IAAI,EAAE,YAAY,CAAC;gBACnB,GAAG,EAAE,MAAM,CAAC;gBACZ,IAAI,EAAE,MAAM,CAAC;gBACb,GAAG,EAAE,MAAM,CAAC;aACf,GAAG;gBACA,IAAI,EAAE,WAAW,CAAC;gBAClB,CAAC,EAAE,MAAM,CAAC;aACb,GAAG;gBACA,IAAI,EAAE,UAAU,CAAC;gBACjB,MAAM,EAAE,MAAM,EAAE,CAAC;gBACjB,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;aAClC,CAAC;SACL,EAAE,CAAC;QACJ,OAAO,EAAE;YACL,EAAE,EAAE,MAAM,CAAC;YACX,UAAU,EAAE,MAAM,CAAC;SACtB,EAAE,CAAC;QACJ,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;KACtC,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC,GAAG;IACA,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE;QACN,MAAM,EAAE;YACJ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;YACnB,CAAC,EAAE,MAAM,CAAC;SACb,EAAE,CAAC;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;QAC3F,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACrC,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QACvC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC9B,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC,GAAG;IACA,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE;QACP,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAC;QAC5B,SAAS,EAAE;YACP,EAAE,EAAE,MAAM,CAAC;YACX,QAAQ,EAAE,MAAM,CAAC;SACpB,EAAE,CAAC;QACJ,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAAC;KACjE,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC,CAAC"}
package/dist/predict.d.ts CHANGED
@@ -92,6 +92,45 @@ export type PredictForecastResult = PredictBase<'forecast'> & {
92
92
  };
93
93
  };
94
94
  };
95
- export type PredictResultFor<M extends PredictModel> = M extends 'simulation' ? PredictSimulationResult : PredictForecastResult;
95
+ export type PredictAlignmentResult = PredictBase<'alignment'> & {
96
+ prediction: {
97
+ queries: Array<{
98
+ id: string;
99
+ hits: Array<{
100
+ target_id: string;
101
+ identity: number;
102
+ coverage: {
103
+ query: number;
104
+ target: number;
105
+ };
106
+ e_value: number;
107
+ bit_score: number;
108
+ aligned_region: {
109
+ query_start: number;
110
+ query_end: number;
111
+ target_start: number;
112
+ target_end: number;
113
+ strand: 'forward' | 'reverse' | 'none';
114
+ frame: number | null;
115
+ query_aligned: string;
116
+ target_aligned: string;
117
+ };
118
+ reference_release: string | null;
119
+ }>;
120
+ }>;
121
+ } | null;
122
+ uncertainty: null;
123
+ meta: PredictMeta<'alignment'> & {
124
+ mode: 'pairwise' | 'search';
125
+ sequence_type: 'protein' | 'nucleotide';
126
+ type_source: 'stated' | 'detected';
127
+ total_residues: number;
128
+ reference_release: string | null;
129
+ reference_attribution: string | null;
130
+ comparisons_requested: number;
131
+ comparisons_completed: number;
132
+ };
133
+ };
134
+ export type PredictResultFor<M extends PredictModel> = M extends 'simulation' ? PredictSimulationResult : M extends 'forecast' ? PredictForecastResult : PredictAlignmentResult;
96
135
  export type PredictResult = PredictResultFor<PredictModel>;
97
136
  //# sourceMappingURL=predict.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"predict.d.ts","sourceRoot":"","sources":["../src/predict.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"predict.d.ts","sourceRoot":"","sources":["../src/predict.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- export type DurableRecoveryEndpoint = 'lookup/person-profile' | 'lookup/person-email' | 'lookup/person-email-status' | 'lookup/place-permits' | 'lookup/company-private-raises' | 'physical-mail/send' | 'solve' | 'predict';
1
+ export type DurableRecoveryEndpoint = 'lookup/person-profile' | 'lookup/person-email' | 'lookup/person-email-status' | 'lookup/place-permits' | 'lookup/company-private-raises' | 'lookup/company-fund-holdings' | 'physical-mail/send' | 'solve' | 'predict';
2
2
  /** Endpoint names accepted by GET /v1/submissions/recover. */
3
- export type RecoveryEndpoint = DurableRecoveryEndpoint | 'sms' | 'sms/send' | 'voice' | 'voice/call' | 'email' | 'email/send' | 'linkedin' | 'linkedin/reply' | 'linkedin/message' | 'linkedin/profile-view' | 'linkedin/react' | 'linkedin/invite' | 'linkedin/invite/withdraw' | 'crm/notes' | 'commerce/buy' | 'browser';
3
+ export type RecoveryEndpoint = DurableRecoveryEndpoint | 'sms' | 'sms/send' | 'voice' | 'voice/call' | 'email' | 'email/send' | 'linkedin' | 'linkedin/reply' | 'linkedin/message' | 'linkedin/profile-view' | 'linkedin/react' | 'linkedin/invite' | 'linkedin/invite/withdraw' | 'crm/notes' | 'crm/contacts/upsert' | 'crm/deals/update' | 'crm/tasks' | 'commerce/buy' | 'browser';
4
4
  /** Generic tools retain their original envelope; inline tools need not have job handles. */
5
5
  export interface RecoveryResponse {
6
6
  request_id?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../src/recovery.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAC/B,uBAAuB,GAAG,qBAAqB,GAAG,4BAA4B,GAC9E,sBAAsB,GAAG,+BAA+B,GAAG,oBAAoB,GAAG,OAAO,GAAG,SAAS,CAAC;AAE1G,8DAA8D;AAC9D,MAAM,MAAM,gBAAgB,GAAG,uBAAuB,GAClD,KAAK,GAAG,UAAU,GAAG,OAAO,GAAG,YAAY,GAAG,OAAO,GAAG,YAAY,GACpE,UAAU,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,uBAAuB,GAC5E,gBAAgB,GAAG,iBAAiB,GAAG,0BAA0B,GACjE,WAAW,GAAG,cAAc,GAAG,SAAS,CAAC;AAE7C,4FAA4F;AAC5F,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
1
+ {"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../src/recovery.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAC/B,uBAAuB,GAAG,qBAAqB,GAAG,4BAA4B,GAC9E,sBAAsB,GAAG,+BAA+B,GAAG,8BAA8B,GAAG,oBAAoB,GAAG,OAAO,GAAG,SAAS,CAAC;AAE3I,8DAA8D;AAC9D,MAAM,MAAM,gBAAgB,GAAG,uBAAuB,GAClD,KAAK,GAAG,UAAU,GAAG,OAAO,GAAG,YAAY,GAAG,OAAO,GAAG,YAAY,GACpE,UAAU,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,uBAAuB,GAC5E,gBAAgB,GAAG,iBAAiB,GAAG,0BAA0B,GACjE,WAAW,GAAG,qBAAqB,GAAG,kBAAkB,GAAG,WAAW,GAAG,cAAc,GAAG,SAAS,CAAC;AAExG,4FAA4F;AAC5F,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
package/dist/types.d.ts CHANGED
@@ -288,39 +288,19 @@ export interface EmailToolOptions extends ToolOptions {
288
288
  reply_to_email_id?: string;
289
289
  from_domain?: string;
290
290
  /**
291
- * Sender mailbox / local-part. Defaults to `agent` (i.e. agent@from_domain).
292
- * Requires `from_domain` to be set - pinning `from_mailbox` alone throws a
293
- * `ValidationError` (there is no default domain to attach it to). You may
294
- * use any local-part - a new address is auto-provisioned on first use
295
- * (and starts unwarmed, building reputation over time). See the email
296
- * "list domains" tool for each domain's `default_from` and existing `addresses`.
291
+ * Sender address / local-part on `from_domain`. Defaults to the domain's main
292
+ * address (its `default_from` in `listDomains()`). Requires `from_domain` -
293
+ * pinning `from_mailbox` alone throws a `ValidationError`. The address must be
294
+ * one the domain has: an address it does not have answers
295
+ * `status: 'confirmation_required'` with the quote that adds it (see
296
+ * `quoteDomain`), and nothing is sent.
297
297
  */
298
298
  from_mailbox?: string;
299
299
  /**
300
- * How this domain sends (provider-neutral):
301
- * - `'relay'` (default) - header/relay send; any from-address works with nothing
302
- * provisioned per address (no mailbox fee).
303
- * - `'mailbox'` - a real per-address mailbox; each new from-address provisions +
304
- * warms a dedicated mailbox (one-time `mailbox_provisioning_fee` on the quote).
305
- * Only honored when the domain is first set up - an already-provisioned domain
306
- * keeps the mode it was created with. Use `'mailbox'` on a new `from_domain`.
307
- *
308
- * Which means omitting this is NOT a way to avoid the fee: a domain created in
309
- * mailbox mode bills `mailbox_provisioning_fee` for every address that isn't
310
- * already `active` on it - the default `agent@` included - whatever you pass
311
- * here, and `from_mailbox` doesn't change that either. Read `mailbox_mode` per
312
- * domain from `listDomains()` to see which of yours charge.
313
- */
314
- mailbox_mode?: 'relay' | 'mailbox';
315
- /**
316
- * Only meaningful when `from_domain` is a domain the agent doesn't own yet.
317
- * A call with such a `from_domain` always stops after quoting - no charge,
318
- * no send - and returns `status: 'confirmation_required'` with the exact
319
- * total and its `quote_id`. Pass that `quote_id` here on the repeat call to
320
- * register the domain, pay exactly that quote's total, and send in one call:
321
- * the SDK sends against the stored quote instead of quoting again, so the
322
- * amount charged is the amount shown. A bare `true` names no amount
323
- * and only re-quotes. An expired or used quote is refused by the server.
300
+ * Accept the exact setup quote (a new domain, or an address added to one).
301
+ * Buys setup only; no email is sent. Wait for setup to finish, then call
302
+ * email again without this option. A bare true is not confirmation; expired
303
+ * or used quotes are refused.
324
304
  */
325
305
  confirmNewDomain?: string;
326
306
  /** Display name shown to the recipient, e.g. "Jane Doe" → "Jane Doe <jane@domain>". */
@@ -519,6 +499,7 @@ export interface WebReadResult extends UntrustedContent {
519
499
  receipt_id?: string;
520
500
  url: string;
521
501
  markdown: string;
502
+ /** Private org artifacts: authenticated GET returns download_url/expires_at; GET that URL with the same org session within five minutes. */
522
503
  screenshot_url?: string;
523
504
  metadata?: {
524
505
  title: string;
@@ -647,11 +628,100 @@ export interface ResearchResult {
647
628
  memo?: string;
648
629
  cost?: number;
649
630
  }
631
+ /**
632
+ * How a domain's addresses work, chosen when the domain is bought and fixed after:
633
+ * - `relay` (default): each address sends and receives through the platform, with no hosted inbox. Free per address.
634
+ * - `mailbox`: each address is a hosted inbox, warmed before it joins rotation. Each carries a one-time per-address fee.
635
+ */
636
+ export type MailboxMode = 'relay' | 'mailbox';
637
+ /** What to buy with a domain: its mode and the addresses it has. */
638
+ export interface DomainSetupChoice {
639
+ /** Defaults to `relay`. On a domain the agent already has, the domain's own mode applies. */
640
+ mailbox_mode?: MailboxMode;
641
+ /**
642
+ * Local parts, such as `['sales', 'support']`: 1 to 10, lowercased, unique. The first is the main
643
+ * address that rotation and goals send from. Defaults to `['agent']`. The domain has exactly these
644
+ * addresses: mail to any other is dropped, and a send from one is refused with `address_not_set_up`.
645
+ * On a verified domain the agent already has, the quote prices only the addresses it does not have yet.
646
+ */
647
+ addresses?: string[];
648
+ }
649
+ export interface DomainSetupQuote {
650
+ domain: string;
651
+ /** Absent on an address purchase for a domain the agent already has. */
652
+ available?: boolean;
653
+ premium?: boolean;
654
+ purchasable: boolean;
655
+ reason?: string;
656
+ /** `sending_domain` buys the domain; `domain_addresses` adds addresses to one the agent already has. */
657
+ setup?: 'sending_domain' | 'domain_addresses';
658
+ mailbox_mode?: MailboxMode;
659
+ /** The local parts this quote buys. */
660
+ addresses?: string[];
661
+ /** Named addresses the domain already has; not charged. */
662
+ already_set_up?: string[];
663
+ registration_fee?: number;
664
+ /** The per-address fee times the number of addresses; 0 on relay. */
665
+ mailbox_provisioning_fee?: number;
666
+ quote_id?: string;
667
+ total_cost?: number;
668
+ currency?: string;
669
+ expires_at?: string;
670
+ billing?: {
671
+ one_time: boolean;
672
+ term_years: number;
673
+ renewal_charged: boolean;
674
+ summary: string;
675
+ };
676
+ }
677
+ export interface DomainSetupPurchase {
678
+ request_id?: string;
679
+ receipt_id?: string;
680
+ /** Present on the queued response; completed job results report domain_status instead. */
681
+ status?: string;
682
+ setup?: 'sending_domain' | 'domain_addresses';
683
+ domain?: string;
684
+ mailbox_mode?: MailboxMode;
685
+ addresses?: string[];
686
+ domain_status?: string | null;
687
+ registered?: boolean | null;
688
+ message?: string;
689
+ }
690
+ /** Account setup a call needs before it can run, as `/email/quote` reports it. */
691
+ export interface SetupRequirement {
692
+ kind: string;
693
+ state: string;
694
+ action_url?: string;
695
+ setup?: {
696
+ price: number;
697
+ currency: 'USD';
698
+ estimated: boolean;
699
+ choice?: 'domain_name';
700
+ choices?: Array<'domain_name' | 'mailbox_mode' | 'addresses'>;
701
+ domain?: string;
702
+ addresses?: string[];
703
+ alternatives?: Array<{
704
+ action_url: string;
705
+ price: number;
706
+ currency: 'USD';
707
+ choice: 'domain_name';
708
+ choices?: Array<'domain_name' | 'mailbox_mode' | 'addresses'>;
709
+ }>;
710
+ };
711
+ [key: string]: unknown;
712
+ }
650
713
  export interface EmailResult {
714
+ /** Account setup is separate from this email; inspect its quote or purchase result. */
715
+ setup?: DomainSetupQuote | DomainSetupPurchase;
716
+ /**
717
+ * On `status: 'setup_required'` or `'setup_pending'`: the setup the send needs, from the server's
718
+ * `no_sending_domain` or `address_not_set_up` answer. Nothing was charged.
719
+ */
720
+ requirements?: SetupRequirement[];
651
721
  request_id?: string;
652
722
  /** On `status: 'confirmation_required'`: the quote to pass back as `confirmNewDomain` to accept exactly this cost. */
653
723
  quote_id?: string;
654
- /** On `status: 'confirmation_required'`: the explanation to relay, with the exact cost and the confirming call. */
724
+ /** On `status: 'confirmation_required'`: the setup instructions; the exact cost and billing terms are in setup. */
655
725
  message?: string;
656
726
  /** Receipt id (`rcpt_…`) for this call. Pass to `tagReceiptValue` to annotate value later. */
657
727
  receipt_id?: string;
@@ -662,8 +732,8 @@ export interface EmailResult {
662
732
  * Non-blocking advisory from the server. Values:
663
733
  * - `pinned_domain_warming` - a pinned sender's domain is still warming (low warmup score)
664
734
  * - `pinned_over_limit` - a pinned sender's domain is over its daily_send_limit
665
- * The send still proceeds; read this to back off / defer. (Note: an un-pinned
666
- * send with no eligible owned domain is a hard `400 no_sending_domain`, not a
735
+ * The send still proceeds; read this to back off / defer. (A send with no
736
+ * verified domain answers `status: 'setup_required'` with `requirements`, not a
667
737
  * warning - there is no shared fallback sender.)
668
738
  */
669
739
  warning?: string;
@@ -680,47 +750,37 @@ export interface EmailResult {
680
750
  memo?: string;
681
751
  cost?: number;
682
752
  }
683
- /** Reputation health, orthogonal to rotation eligibility. */
684
- export type DomainWarmupState = 'warming' | 'warmed' | 'degraded';
753
+ /**
754
+ * Reputation health, orthogonal to rotation eligibility. `not_warmed`: a relay domain or address, which is
755
+ * never warmed and joins rotation at once on a daily limit that rises with the domain's age.
756
+ */
757
+ export type DomainWarmupState = 'warming' | 'warmed' | 'degraded' | 'not_warmed';
685
758
  /** Why a domain is out of rotation (null when active). 'low_reputation' auto-recovers; 'manual' needs a resume. */
686
759
  export type DomainPauseReason = 'warming' | 'low_reputation' | 'manual' | null;
687
- /** A mailbox already provisioned on a domain (from `/email/domains` `addresses[]`). */
760
+ /** An address on a domain (from `/email/domains` `addresses[]`). */
688
761
  export interface DomainAddressEntry {
689
762
  /** Full email address, lowercased - e.g. `sales@yourdomain.com`. */
690
763
  address: string;
691
- /** Mailbox provisioning state. Only `active` counts as already-provisioned (free to send from). */
764
+ /** Only `active` addresses send and receive. `provisioning` is being set up; `failed` was refunded and can be bought again. */
692
765
  status: 'active' | 'provisioning' | 'failed';
693
- /** Per-address reputation health (each provisioned address is warmed individually). */
766
+ /** Per-address reputation health: mailbox addresses are warmed one by one; relay addresses are `not_warmed`. */
694
767
  warmup_state: DomainWarmupState;
695
768
  }
696
769
  export interface DomainPoolEntry {
697
770
  domain: string;
698
- /**
699
- * Canonical sending address for this domain (e.g. `agent@yourdomain.com`) - the
700
- * default mailbox when you don't pick one. Like any address, the first send from
701
- * it incurs the one-time `mailbox_provisioning_fee`; free once it's `active`.
702
- */
771
+ /** The domain's main address (e.g. `agent@yourdomain.com`): rotation and goals send from it. */
703
772
  default_from: string;
704
773
  /**
705
- * Mailboxes already provisioned on this domain. Empty = none yet; you can still
706
- * send from any address - a new one is provisioned (and billed
707
- * `mailbox_provisioning_fee`) on first use.
774
+ * The addresses this domain has. It sends and receives only at these; add more with
775
+ * `quoteDomain(domain, { addresses })` and `buyDomain`.
708
776
  */
709
777
  addresses: DomainAddressEntry[];
710
778
  /**
711
- * Which side of the provisioning fee this domain sits on.
712
- *
713
- * `mailbox` - a real mailbox is provisioned per address, so every address
714
- * that isn't already `active` in `addresses[]` bills the one-time
715
- * `mailbox_provisioning_fee` on its first send. That includes the canonical
716
- * `default_from`; nothing is exempt.
717
- * `relay` - header-only send, nothing provisioned, no per-address fee.
718
- *
719
- * This is a property of the DOMAIN, fixed when it was set up - not of the
720
- * call. Omitting `mailbox_mode` on a quote does not make the send relay; the
721
- * domain's own mode always wins. Check here before you quote.
779
+ * The domain's mode, fixed when it was bought. `mailbox`: each address is a hosted inbox, with a
780
+ * one-time per-address fee when it is added. `relay`: addresses send and receive with no hosted
781
+ * inbox, free to add.
722
782
  */
723
- mailbox_mode: 'relay' | 'mailbox';
783
+ mailbox_mode: MailboxMode;
724
784
  /** Rotation eligibility - the selector only picks `active`. */
725
785
  pool_status: 'active' | 'paused' | 'removed';
726
786
  /** Reputation health - a domain can be `paused` AND still `warming`/recovering. */
@@ -1661,13 +1721,37 @@ export type ComputeDoneCheck =
1661
1721
  owner_required_for?: string[];
1662
1722
  min_cases?: number;
1663
1723
  }
1724
+ /**
1725
+ * A named person accepts proof the agent submits (a document, photo, link or extracted fields). `verifier` needs an
1726
+ * email or a phone number. With `fields`, the proof's document is read first and a field that is missing or breaks
1727
+ * its constraint means the verifier is not asked.
1728
+ */
1729
+ | {
1730
+ kind: 'evidence';
1731
+ verifier: {
1732
+ name: string;
1733
+ email?: string;
1734
+ phone?: string;
1735
+ timezone?: string;
1736
+ };
1737
+ accepts: string;
1738
+ fields?: Array<{
1739
+ name: string;
1740
+ description: string;
1741
+ type: 'string' | 'number' | 'boolean';
1742
+ equals?: string | number | boolean;
1743
+ one_of?: string[];
1744
+ at_least?: number;
1745
+ at_most?: number;
1746
+ }>;
1747
+ }
1664
1748
  /** No check can be written: you confirm with `confirmComputeGoal`. */
1665
1749
  | {
1666
1750
  kind: 'owner';
1667
1751
  };
1668
1752
  /** What an evaluation of the done-check found. */
1669
1753
  export interface ComputeCheckResult {
1670
- kind: 'count' | 'tool_result' | 'cases' | 'owner';
1754
+ kind: 'count' | 'tool_result' | 'cases' | 'evidence' | 'owner';
1671
1755
  /** `null` while waiting for the owner. */
1672
1756
  passed: boolean | null;
1673
1757
  observed?: unknown;
@@ -1676,16 +1760,16 @@ export interface ComputeCheckResult {
1676
1760
  evaluated_at: string;
1677
1761
  attempt?: number;
1678
1762
  }
1679
- export type ComputeEndReason = 'check_passed' | 'owner_confirmed' | 'check_failed' | 'budget_exhausted' | 'deadline_passed' | 'planner_failed' | 'impossible' | 'impossible_unverified' | 'connection_timeout' | 'tool_timeout';
1763
+ export type ComputeEndReason = 'check_passed' | 'owner_confirmed' | 'check_failed' | 'budget_exhausted' | 'deadline_passed' | 'planner_failed' | 'impossible' | 'impossible_unverified' | 'connection_timeout' | 'tool_timeout' | 'setup_timeout' | 'runner_retired';
1680
1764
  export interface ComputeApprovals {
1681
1765
  /** Hold any single call whose cost exceeds this many USDC. */
1682
1766
  spend_over_usdc?: number;
1683
1767
  /** Hold every call of these tools, whatever the cost (e.g. ["commerce_buy", "physical_mail", "voice", "soul_hire"]). */
1684
1768
  tools?: string[];
1685
1769
  }
1686
- /** A connected system a goal needs, as the quote read it from the objective. */
1770
+ /** A connected system, or the agent's LinkedIn account, required by the scoped tools or read from the objective. */
1687
1771
  export interface ComputeRequirement {
1688
- family: 'crm' | 'ledger' | 'shipping' | 'tax' | 'procurement' | 'meetings' | 'mailbox' | 'files' | 'repository';
1772
+ family: 'crm' | 'ledger' | 'shipping' | 'tax' | 'procurement' | 'meetings' | 'mailbox' | 'files' | 'field_service' | 'repository' | 'linkedin';
1689
1773
  /** The product the objective names (e.g. "QuickBooks"); null when only the kind of system was named. */
1690
1774
  product: string | null;
1691
1775
  /** The system can be connected on OneShot right now. */
@@ -1703,7 +1787,7 @@ export interface ComputeRequirement {
1703
1787
  export interface ComputeFeasibility {
1704
1788
  verdict: 'accept' | 'hold' | 'refuse';
1705
1789
  reasons: {
1706
- code: 'system_unsupported' | 'deadline_in_past' | 'infeasible_input' | 'connection_checked_at_payment';
1790
+ code: 'system_unsupported' | 'deadline_in_past' | 'infeasible_input' | 'verifier_unreachable' | 'connection_checked_at_payment';
1707
1791
  message: string;
1708
1792
  conflicts?: {
1709
1793
  constraints: {
@@ -1715,7 +1799,7 @@ export interface ComputeFeasibility {
1715
1799
  }[];
1716
1800
  }[];
1717
1801
  warnings: {
1718
- code: 'no_tool_matched' | 'tight_deadline' | 'finish_line_unknowable' | 'product_unverified' | 'similar_goal_was_impossible';
1802
+ code: 'need_limit_exceeded' | 'no_tool_matched' | 'tight_deadline' | 'finish_line_unknowable' | 'product_unverified' | 'similar_goal_was_impossible';
1719
1803
  message: string;
1720
1804
  }[];
1721
1805
  finish_line?: {
@@ -1736,6 +1820,8 @@ export interface ComputeScopeUse {
1736
1820
  tool: string;
1737
1821
  qty: number;
1738
1822
  max_attempts: number;
1823
+ /** Request sizes (recipients, segments, pages, minutes, problem size); never prices. */
1824
+ drivers?: Record<string, number | boolean | string>;
1739
1825
  /** Whom or what the use is pointed at, in your words. */
1740
1826
  target?: string;
1741
1827
  persistence?: {
@@ -1757,7 +1843,7 @@ export interface ComputeGoalScope {
1757
1843
  done: string[];
1758
1844
  };
1759
1845
  overhead: {
1760
- uses: Pick<ComputeScopeUse, 'tool' | 'qty' | 'max_attempts'>[];
1846
+ uses: Pick<ComputeScopeUse, 'tool' | 'qty' | 'max_attempts' | 'drivers'>[];
1761
1847
  step_allowance: number;
1762
1848
  };
1763
1849
  volume: {
@@ -1793,6 +1879,9 @@ export interface ComputeScopePrice {
1793
1879
  unmeasured: string[];
1794
1880
  }
1795
1881
  export interface ComputeQuote {
1882
+ /** Account prerequisites, observed without reserving capacity. Setup is purchased separately. */
1883
+ requirements: ComputeToolRequirement[];
1884
+ connection_requirements: ComputeRequirement[];
1796
1885
  quote_id: string;
1797
1886
  objective_summary: string;
1798
1887
  estimated_phases: number;
@@ -1814,8 +1903,35 @@ export interface ComputeQuote {
1814
1903
  max_runs?: number;
1815
1904
  projected_runs?: number;
1816
1905
  }
1906
+ export interface ComputeToolRequirement {
1907
+ kind: 'sending_domain' | 'caller_number' | 'browser_login' | 'connection';
1908
+ family?: ComputeRequirement['family'];
1909
+ product?: string | null;
1910
+ state: 'ready' | 'setup' | 'owner';
1911
+ checked_at_payment?: boolean;
1912
+ action_url?: string;
1913
+ /** Account setup the owner completes at `action_url`. With no `choice`, code picks what is bought. */
1914
+ setup?: {
1915
+ price: number;
1916
+ currency: 'USD';
1917
+ estimated: boolean;
1918
+ choice?: 'domain_name';
1919
+ alternatives?: {
1920
+ action_url: string;
1921
+ price: number;
1922
+ currency: 'USD';
1923
+ choice: 'domain_name';
1924
+ }[];
1925
+ };
1926
+ limit?: {
1927
+ daily: number;
1928
+ remaining: number;
1929
+ requested: number;
1930
+ warming: boolean;
1931
+ };
1932
+ }
1817
1933
  export interface ComputeGoalResult {
1818
- requires?: ComputeRequirement[];
1934
+ requires?: Array<ComputeRequirement | ComputeToolRequirement>;
1819
1935
  goal_id: string;
1820
1936
  request_id: string;
1821
1937
  receipt_id?: string;
@@ -1833,7 +1949,7 @@ export interface ComputeGoalResult {
1833
1949
  next_run_at?: string;
1834
1950
  };
1835
1951
  }
1836
- export type GoalStatus = 'active' | 'paused' | 'completed' | 'failed' | 'cancelled' | 'awaiting_confirmation' | 'awaiting_connection' | 'awaiting_budget' | 'awaiting_tool';
1952
+ export type GoalStatus = 'active' | 'paused' | 'completed' | 'failed' | 'cancelled' | 'awaiting_confirmation' | 'awaiting_connection' | 'awaiting_budget' | 'awaiting_tool' | 'awaiting_setup';
1837
1953
  export interface ComputeGoalClaimSource {
1838
1954
  tool: string;
1839
1955
  input_summary: string;
@@ -1858,6 +1974,10 @@ export interface ComputeGoalStatus {
1858
1974
  status: 'open' | 'queued' | 'filed' | 'building' | 'shipped' | 'declined' | 'matched_existing' | 'duplicate';
1859
1975
  tool_name?: string;
1860
1976
  }>;
1977
+ setup_hold?: {
1978
+ since: string;
1979
+ requires: ComputeToolRequirement[];
1980
+ } | null;
1861
1981
  connection_hold?: {
1862
1982
  since: string;
1863
1983
  requires: ComputeRequirement[];
@@ -1948,6 +2068,19 @@ export interface ComputeTask {
1948
2068
  completed_at: string | null;
1949
2069
  created_at: string;
1950
2070
  }
2071
+ export interface ComputeTaskListOptions {
2072
+ /** Only tasks with this status. */
2073
+ status?: 'pending' | 'running' | 'waiting' | 'completed' | 'failed' | 'cancelled';
2074
+ /** Tasks per page, 1 to 500 (default 100). */
2075
+ limit?: number;
2076
+ /** The `next_cursor` of the previous page. */
2077
+ cursor?: string;
2078
+ }
2079
+ export interface ComputeTaskPage {
2080
+ tasks: ComputeTask[];
2081
+ /** Pass as `cursor` for the next page; null on the last one. */
2082
+ next_cursor: string | null;
2083
+ }
1951
2084
  export interface ComputeBudgetStatus {
1952
2085
  budgetId: string;
1953
2086
  goalId: string;