@oneshot-agent/sdk 0.62.0 → 0.64.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. */
@@ -1611,6 +1671,12 @@ export interface ComputeOptions extends ToolOptions {
1611
1671
  * sandbox default-deny on gets the same for all its goals.
1612
1672
  */
1613
1673
  egress_allowlist?: string[];
1674
+ /**
1675
+ * The most you would pay for one purchase, all in: product, shipping, tax and fee. It is added to
1676
+ * the total and unused money comes back as credit. A live total above it waits for your approval.
1677
+ * Without it, the quote does not fund purchases and the goal pauses at one it can't afford.
1678
+ */
1679
+ purchase_limit_usdc?: number;
1614
1680
  /**
1615
1681
  * Your reading of the goal: the unit, how a unit starts, what each unit needs, the overhead, the
1616
1682
  * volume and what no price list covers. It replaces the quote's reading and is priced again in
@@ -1661,13 +1727,37 @@ export type ComputeDoneCheck =
1661
1727
  owner_required_for?: string[];
1662
1728
  min_cases?: number;
1663
1729
  }
1730
+ /**
1731
+ * A named person accepts proof the agent submits (a document, photo, link or extracted fields). `verifier` needs an
1732
+ * email or a phone number. With `fields`, the proof's document is read first and a field that is missing or breaks
1733
+ * its constraint means the verifier is not asked.
1734
+ */
1735
+ | {
1736
+ kind: 'evidence';
1737
+ verifier: {
1738
+ name: string;
1739
+ email?: string;
1740
+ phone?: string;
1741
+ timezone?: string;
1742
+ };
1743
+ accepts: string;
1744
+ fields?: Array<{
1745
+ name: string;
1746
+ description: string;
1747
+ type: 'string' | 'number' | 'boolean';
1748
+ equals?: string | number | boolean;
1749
+ one_of?: string[];
1750
+ at_least?: number;
1751
+ at_most?: number;
1752
+ }>;
1753
+ }
1664
1754
  /** No check can be written: you confirm with `confirmComputeGoal`. */
1665
1755
  | {
1666
1756
  kind: 'owner';
1667
1757
  };
1668
1758
  /** What an evaluation of the done-check found. */
1669
1759
  export interface ComputeCheckResult {
1670
- kind: 'count' | 'tool_result' | 'cases' | 'owner';
1760
+ kind: 'count' | 'tool_result' | 'cases' | 'evidence' | 'owner';
1671
1761
  /** `null` while waiting for the owner. */
1672
1762
  passed: boolean | null;
1673
1763
  observed?: unknown;
@@ -1676,16 +1766,16 @@ export interface ComputeCheckResult {
1676
1766
  evaluated_at: string;
1677
1767
  attempt?: number;
1678
1768
  }
1679
- export type ComputeEndReason = 'check_passed' | 'owner_confirmed' | 'check_failed' | 'budget_exhausted' | 'deadline_passed' | 'planner_failed' | 'impossible' | 'impossible_unverified' | 'connection_timeout' | 'tool_timeout';
1769
+ 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
1770
  export interface ComputeApprovals {
1681
1771
  /** Hold any single call whose cost exceeds this many USDC. */
1682
1772
  spend_over_usdc?: number;
1683
1773
  /** Hold every call of these tools, whatever the cost (e.g. ["commerce_buy", "physical_mail", "voice", "soul_hire"]). */
1684
1774
  tools?: string[];
1685
1775
  }
1686
- /** A connected system a goal needs, as the quote read it from the objective. */
1776
+ /** A connected system, or the agent's LinkedIn account, required by the scoped tools or read from the objective. */
1687
1777
  export interface ComputeRequirement {
1688
- family: 'crm' | 'ledger' | 'shipping' | 'tax' | 'procurement' | 'meetings' | 'mailbox' | 'files' | 'repository';
1778
+ family: 'crm' | 'ledger' | 'shipping' | 'tax' | 'procurement' | 'meetings' | 'mailbox' | 'files' | 'field_service' | 'matters' | 'client_work' | 'portfolio' | 'practice' | 'repository' | 'linkedin';
1689
1779
  /** The product the objective names (e.g. "QuickBooks"); null when only the kind of system was named. */
1690
1780
  product: string | null;
1691
1781
  /** The system can be connected on OneShot right now. */
@@ -1703,7 +1793,7 @@ export interface ComputeRequirement {
1703
1793
  export interface ComputeFeasibility {
1704
1794
  verdict: 'accept' | 'hold' | 'refuse';
1705
1795
  reasons: {
1706
- code: 'system_unsupported' | 'deadline_in_past' | 'infeasible_input' | 'connection_checked_at_payment';
1796
+ code: 'system_unsupported' | 'deadline_in_past' | 'infeasible_input' | 'verifier_unreachable' | 'connection_checked_at_payment';
1707
1797
  message: string;
1708
1798
  conflicts?: {
1709
1799
  constraints: {
@@ -1715,7 +1805,7 @@ export interface ComputeFeasibility {
1715
1805
  }[];
1716
1806
  }[];
1717
1807
  warnings: {
1718
- code: 'no_tool_matched' | 'tight_deadline' | 'finish_line_unknowable' | 'product_unverified' | 'similar_goal_was_impossible';
1808
+ code: 'need_limit_exceeded' | 'no_tool_matched' | 'tight_deadline' | 'finish_line_unknowable' | 'product_unverified' | 'similar_goal_was_impossible' | 'purchase_limit_over_budget';
1719
1809
  message: string;
1720
1810
  }[];
1721
1811
  finish_line?: {
@@ -1736,6 +1826,8 @@ export interface ComputeScopeUse {
1736
1826
  tool: string;
1737
1827
  qty: number;
1738
1828
  max_attempts: number;
1829
+ /** Request sizes (recipients, segments, pages, minutes, problem size); never prices. */
1830
+ drivers?: Record<string, number | boolean | string>;
1739
1831
  /** Whom or what the use is pointed at, in your words. */
1740
1832
  target?: string;
1741
1833
  persistence?: {
@@ -1757,7 +1849,7 @@ export interface ComputeGoalScope {
1757
1849
  done: string[];
1758
1850
  };
1759
1851
  overhead: {
1760
- uses: Pick<ComputeScopeUse, 'tool' | 'qty' | 'max_attempts'>[];
1852
+ uses: Pick<ComputeScopeUse, 'tool' | 'qty' | 'max_attempts' | 'drivers'>[];
1761
1853
  step_allowance: number;
1762
1854
  };
1763
1855
  volume: {
@@ -1771,6 +1863,17 @@ export interface ComputeGoalScope {
1771
1863
  reason: 'connection' | 'quoted_tool';
1772
1864
  assumption?: string;
1773
1865
  }[];
1866
+ /** The most per purchase, all in. `purchase_limit_usdc` on the request wins over this. */
1867
+ purchase_limit_usdc?: number;
1868
+ }
1869
+ /** A bound soul's public identity and service, with the fixed price read by the server. */
1870
+ export interface ComputeQuotedHire {
1871
+ need: string | null;
1872
+ soul_slug: string;
1873
+ display_name: string;
1874
+ service_slug: string;
1875
+ service_name: string;
1876
+ price_usd: number;
1774
1877
  }
1775
1878
  /** What a quote prices: one unit, the overhead, the whole goal or the units a budget covers, and what it cannot price. */
1776
1879
  export interface ComputeScopePrice {
@@ -1791,8 +1894,19 @@ export interface ComputeScopePrice {
1791
1894
  units_covered?: number | null;
1792
1895
  unpriced: ComputeGoalScope['unpriced'];
1793
1896
  unmeasured: string[];
1897
+ hires?: ComputeQuotedHire[];
1898
+ /** What the amounts above include to fund purchases, at your limit per purchase. */
1899
+ purchases?: {
1900
+ limit_usdc: number;
1901
+ per_unit: number;
1902
+ overhead: number;
1903
+ total: number;
1904
+ };
1794
1905
  }
1795
1906
  export interface ComputeQuote {
1907
+ /** Account prerequisites and unmatched specialist decisions. Setup is purchased separately. */
1908
+ requirements: ComputeToolRequirement[];
1909
+ connection_requirements: ComputeRequirement[];
1796
1910
  quote_id: string;
1797
1911
  objective_summary: string;
1798
1912
  estimated_phases: number;
@@ -1814,8 +1928,38 @@ export interface ComputeQuote {
1814
1928
  max_runs?: number;
1815
1929
  projected_runs?: number;
1816
1930
  }
1931
+ export interface ComputeToolRequirement {
1932
+ kind: 'sending_domain' | 'caller_number' | 'browser_login' | 'connection' | 'specialist';
1933
+ /** For a specialist: the step's need and the owner's choice to proceed without one. */
1934
+ need?: string;
1935
+ question?: string;
1936
+ family?: ComputeRequirement['family'];
1937
+ product?: string | null;
1938
+ state: 'ready' | 'setup' | 'owner';
1939
+ checked_at_payment?: boolean;
1940
+ action_url?: string;
1941
+ /** Account setup the owner completes at `action_url`. With no `choice`, code picks what is bought. */
1942
+ setup?: {
1943
+ price: number;
1944
+ currency: 'USD';
1945
+ estimated: boolean;
1946
+ choice?: 'domain_name';
1947
+ alternatives?: {
1948
+ action_url: string;
1949
+ price: number;
1950
+ currency: 'USD';
1951
+ choice: 'domain_name';
1952
+ }[];
1953
+ };
1954
+ limit?: {
1955
+ daily: number;
1956
+ remaining: number;
1957
+ requested: number;
1958
+ warming: boolean;
1959
+ };
1960
+ }
1817
1961
  export interface ComputeGoalResult {
1818
- requires?: ComputeRequirement[];
1962
+ requires?: Array<ComputeRequirement | ComputeToolRequirement>;
1819
1963
  goal_id: string;
1820
1964
  request_id: string;
1821
1965
  receipt_id?: string;
@@ -1833,7 +1977,7 @@ export interface ComputeGoalResult {
1833
1977
  next_run_at?: string;
1834
1978
  };
1835
1979
  }
1836
- export type GoalStatus = 'active' | 'paused' | 'completed' | 'failed' | 'cancelled' | 'awaiting_confirmation' | 'awaiting_connection' | 'awaiting_budget' | 'awaiting_tool';
1980
+ export type GoalStatus = 'active' | 'paused' | 'completed' | 'failed' | 'cancelled' | 'awaiting_confirmation' | 'awaiting_connection' | 'awaiting_budget' | 'awaiting_tool' | 'awaiting_setup';
1837
1981
  export interface ComputeGoalClaimSource {
1838
1982
  tool: string;
1839
1983
  input_summary: string;
@@ -1858,6 +2002,10 @@ export interface ComputeGoalStatus {
1858
2002
  status: 'open' | 'queued' | 'filed' | 'building' | 'shipped' | 'declined' | 'matched_existing' | 'duplicate';
1859
2003
  tool_name?: string;
1860
2004
  }>;
2005
+ setup_hold?: {
2006
+ since: string;
2007
+ requires: ComputeToolRequirement[];
2008
+ } | null;
1861
2009
  connection_hold?: {
1862
2010
  since: string;
1863
2011
  requires: ComputeRequirement[];
@@ -1885,6 +2033,12 @@ export interface ComputeGoalStatus {
1885
2033
  units_left?: number;
1886
2034
  cost_to_finish?: number;
1887
2035
  price_per_unit?: number;
2036
+ blocked_call?: {
2037
+ tool: string;
2038
+ label: string;
2039
+ amount_usdc: number;
2040
+ shortfall_usdc: number;
2041
+ };
1888
2042
  } | null;
1889
2043
  /** Why the goal ended. Budget exhaustion holds for 7 days before ending `budget_exhausted`. */
1890
2044
  end_reason?: ComputeEndReason | null;
@@ -1948,6 +2102,19 @@ export interface ComputeTask {
1948
2102
  completed_at: string | null;
1949
2103
  created_at: string;
1950
2104
  }
2105
+ export interface ComputeTaskListOptions {
2106
+ /** Only tasks with this status. */
2107
+ status?: 'pending' | 'running' | 'waiting' | 'completed' | 'failed' | 'cancelled';
2108
+ /** Tasks per page, 1 to 500 (default 100). */
2109
+ limit?: number;
2110
+ /** The `next_cursor` of the previous page. */
2111
+ cursor?: string;
2112
+ }
2113
+ export interface ComputeTaskPage {
2114
+ tasks: ComputeTask[];
2115
+ /** Pass as `cursor` for the next page; null on the last one. */
2116
+ next_cursor: string | null;
2117
+ }
1951
2118
  export interface ComputeBudgetStatus {
1952
2119
  budgetId: string;
1953
2120
  goalId: string;