@pidgeon-ai/sdk 1.19.2 → 1.21.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 CHANGED
@@ -1985,6 +1985,12 @@ type IdentitiesCreateData = {
1985
1985
  */
1986
1986
  pod_id?: string | null;
1987
1987
  };
1988
+ headers?: {
1989
+ /**
1990
+ * Any string unique to this attempt, reused on its retries. A repeat with the same key and the same request returns the first answer with `Idempotent-Replay: true` and does nothing — no second email. The same key with a different request is a `409`. Kept for 24 hours; a failure is not kept, so a retry after one runs.
1991
+ */
1992
+ 'Idempotency-Key'?: string;
1993
+ };
1988
1994
  path?: never;
1989
1995
  query?: never;
1990
1996
  url: '/identities';
@@ -2011,7 +2017,7 @@ type IdentitiesCreateErrors = {
2011
2017
  */
2012
2018
  404: Error;
2013
2019
  /**
2014
- * It conflicts with what is there: it already exists, or the `etag` you sent is not the current one.
2020
+ * This `Idempotency-Key` was used with a different request, or that request is still running. Nothing was sent by this call.
2015
2021
  */
2016
2022
  409: Error;
2017
2023
  /**
@@ -2828,6 +2834,12 @@ type PodsCreateData = {
2828
2834
  */
2829
2835
  client_id?: string | null;
2830
2836
  };
2837
+ headers?: {
2838
+ /**
2839
+ * Any string unique to this attempt, reused on its retries. A repeat with the same key and the same request returns the first answer with `Idempotent-Replay: true` and does nothing — no second email. The same key with a different request is a `409`. Kept for 24 hours; a failure is not kept, so a retry after one runs.
2840
+ */
2841
+ 'Idempotency-Key'?: string;
2842
+ };
2831
2843
  path?: never;
2832
2844
  query?: never;
2833
2845
  url: '/pods';
@@ -2854,7 +2866,7 @@ type PodsCreateErrors = {
2854
2866
  */
2855
2867
  404: Error;
2856
2868
  /**
2857
- * It conflicts with what is there: it already exists, or the `etag` you sent is not the current one.
2869
+ * This `Idempotency-Key` was used with a different request, or that request is still running. Nothing was sent by this call.
2858
2870
  */
2859
2871
  409: Error;
2860
2872
  /**
@@ -3056,6 +3068,12 @@ type LabelsCreateData = {
3056
3068
  name: string;
3057
3069
  colour?: 'slate' | 'red' | 'amber' | 'green' | 'teal' | 'blue' | 'violet' | 'pink';
3058
3070
  };
3071
+ headers?: {
3072
+ /**
3073
+ * Any string unique to this attempt, reused on its retries. A repeat with the same key and the same request returns the first answer with `Idempotent-Replay: true` and does nothing — no second email. The same key with a different request is a `409`. Kept for 24 hours; a failure is not kept, so a retry after one runs.
3074
+ */
3075
+ 'Idempotency-Key'?: string;
3076
+ };
3059
3077
  path?: never;
3060
3078
  query?: never;
3061
3079
  url: '/labels';
@@ -3078,7 +3096,7 @@ type LabelsCreateErrors = {
3078
3096
  */
3079
3097
  404: Error;
3080
3098
  /**
3081
- * It conflicts with what is there: it already exists, or the `etag` you sent is not the current one.
3099
+ * This `Idempotency-Key` was used with a different request, or that request is still running. Nothing was sent by this call.
3082
3100
  */
3083
3101
  409: Error;
3084
3102
  /**
@@ -3487,6 +3505,12 @@ type MessagesSendData = {
3487
3505
  */
3488
3506
  in_reply_to_message_id?: string | null;
3489
3507
  };
3508
+ headers?: {
3509
+ /**
3510
+ * Any string unique to this attempt, reused on its retries. A repeat with the same key and the same request returns the first answer with `Idempotent-Replay: true` and does nothing — no second email. The same key with a different request is a `409`. Kept for 24 hours; a failure is not kept, so a retry after one runs.
3511
+ */
3512
+ 'Idempotency-Key'?: string;
3513
+ };
3490
3514
  path?: never;
3491
3515
  query?: never;
3492
3516
  url: '/messages';
@@ -3722,7 +3746,10 @@ type MessagesAwaitData = {
3722
3746
  * Also return a matching message filed as spam. Without it, one is counted in `held_back` instead, with its id.
3723
3747
  */
3724
3748
  include_spam?: 'true' | 'false';
3725
- after?: string;
3749
+ /**
3750
+ * Only messages that arrived after this: the `cursor` a previous call returned, or `now`. Without it, the wait first looks back 2 minutes and returns the newest matching message from then, so a code that beat you to the call is not missed.
3751
+ */
3752
+ after?: 'now' | string;
3726
3753
  timeout?: number;
3727
3754
  };
3728
3755
  url: '/messages/await';
@@ -3911,6 +3938,12 @@ type MessagesReplyData = {
3911
3938
  */
3912
3939
  attachment_ids?: Array<string>;
3913
3940
  };
3941
+ headers?: {
3942
+ /**
3943
+ * Any string unique to this attempt, reused on its retries. A repeat with the same key and the same request returns the first answer with `Idempotent-Replay: true` and does nothing — no second email. The same key with a different request is a `409`. Kept for 24 hours; a failure is not kept, so a retry after one runs.
3944
+ */
3945
+ 'Idempotency-Key'?: string;
3946
+ };
3914
3947
  path: {
3915
3948
  id: string;
3916
3949
  };
@@ -3935,7 +3968,7 @@ type MessagesReplyErrors = {
3935
3968
  */
3936
3969
  404: Error;
3937
3970
  /**
3938
- * It conflicts with what is there: it already exists, or the `etag` you sent is not the current one.
3971
+ * This `Idempotency-Key` was used with a different request, or that request is still running. Nothing was sent by this call.
3939
3972
  */
3940
3973
  409: Error;
3941
3974
  /**
@@ -3988,6 +4021,12 @@ type MessagesReplyAllData = {
3988
4021
  */
3989
4022
  attachment_ids?: Array<string>;
3990
4023
  };
4024
+ headers?: {
4025
+ /**
4026
+ * Any string unique to this attempt, reused on its retries. A repeat with the same key and the same request returns the first answer with `Idempotent-Replay: true` and does nothing — no second email. The same key with a different request is a `409`. Kept for 24 hours; a failure is not kept, so a retry after one runs.
4027
+ */
4028
+ 'Idempotency-Key'?: string;
4029
+ };
3991
4030
  path: {
3992
4031
  id: string;
3993
4032
  };
@@ -4012,7 +4051,7 @@ type MessagesReplyAllErrors = {
4012
4051
  */
4013
4052
  404: Error;
4014
4053
  /**
4015
- * It conflicts with what is there: it already exists, or the `etag` you sent is not the current one.
4054
+ * This `Idempotency-Key` was used with a different request, or that request is still running. Nothing was sent by this call.
4016
4055
  */
4017
4056
  409: Error;
4018
4057
  /**
@@ -4065,6 +4104,12 @@ type MessagesForwardData = {
4065
4104
  */
4066
4105
  attachment_ids?: Array<string>;
4067
4106
  };
4107
+ headers?: {
4108
+ /**
4109
+ * Any string unique to this attempt, reused on its retries. A repeat with the same key and the same request returns the first answer with `Idempotent-Replay: true` and does nothing — no second email. The same key with a different request is a `409`. Kept for 24 hours; a failure is not kept, so a retry after one runs.
4110
+ */
4111
+ 'Idempotency-Key'?: string;
4112
+ };
4068
4113
  path: {
4069
4114
  id: string;
4070
4115
  };
@@ -4089,7 +4134,7 @@ type MessagesForwardErrors = {
4089
4134
  */
4090
4135
  404: Error;
4091
4136
  /**
4092
- * It conflicts with what is there: it already exists, or the `etag` you sent is not the current one.
4137
+ * This `Idempotency-Key` was used with a different request, or that request is still running. Nothing was sent by this call.
4093
4138
  */
4094
4139
  409: Error;
4095
4140
  /**
@@ -4461,6 +4506,12 @@ type DomainsCreateData = {
4461
4506
  domain: string;
4462
4507
  inbound_enabled?: boolean;
4463
4508
  };
4509
+ headers?: {
4510
+ /**
4511
+ * Any string unique to this attempt, reused on its retries. A repeat with the same key and the same request returns the first answer with `Idempotent-Replay: true` and does nothing — no second email. The same key with a different request is a `409`. Kept for 24 hours; a failure is not kept, so a retry after one runs.
4512
+ */
4513
+ 'Idempotency-Key'?: string;
4514
+ };
4464
4515
  path?: never;
4465
4516
  query?: never;
4466
4517
  url: '/domains';
@@ -4487,7 +4538,7 @@ type DomainsCreateErrors = {
4487
4538
  */
4488
4539
  404: Error;
4489
4540
  /**
4490
- * It conflicts with what is there: it already exists, or the `etag` you sent is not the current one.
4541
+ * This `Idempotency-Key` was used with a different request, or that request is still running. Nothing was sent by this call.
4491
4542
  */
4492
4543
  409: Error;
4493
4544
  /**
@@ -4906,6 +4957,12 @@ type RoutingCreateData = {
4906
4957
  destination_identity_id?: string;
4907
4958
  destination_webhook_id?: string;
4908
4959
  };
4960
+ headers?: {
4961
+ /**
4962
+ * Any string unique to this attempt, reused on its retries. A repeat with the same key and the same request returns the first answer with `Idempotent-Replay: true` and does nothing — no second email. The same key with a different request is a `409`. Kept for 24 hours; a failure is not kept, so a retry after one runs.
4963
+ */
4964
+ 'Idempotency-Key'?: string;
4965
+ };
4909
4966
  path?: never;
4910
4967
  query?: never;
4911
4968
  url: '/routing-rules';
@@ -4932,7 +4989,7 @@ type RoutingCreateErrors = {
4932
4989
  */
4933
4990
  404: Error;
4934
4991
  /**
4935
- * It conflicts with what is there: it already exists, or the `etag` you sent is not the current one.
4992
+ * This `Idempotency-Key` was used with a different request, or that request is still running. Nothing was sent by this call.
4936
4993
  */
4937
4994
  409: Error;
4938
4995
  /**
@@ -6220,7 +6277,13 @@ type WebhooksCreateData = {
6220
6277
  * The address this belongs to.
6221
6278
  */
6222
6279
  identity_id?: string | null;
6223
- event_types?: Array<'message.received' | 'message.sent' | 'message.delivered' | 'message.bounced' | 'message.rejected' | 'message.complained' | 'message.spam' | 'message.invitation' | 'message.archived' | 'message.deleted' | 'calendar.event.created' | 'calendar.event.updated' | 'calendar.event.deleted' | 'calendar.event.starting' | 'calendar.event.ending' | 'calendar.event.responded' | 'thread.created' | 'thread.updated' | 'thread.assigned' | 'thread.unassigned' | 'identity.created' | 'identity.updated' | 'identity.suspended' | 'identity.transferred' | 'domain.verified'>;
6280
+ event_types?: Array<'message.received' | 'message.sent' | 'message.delivered' | 'message.bounced' | 'message.rejected' | 'message.complained' | 'message.read' | 'message.handed_off' | 'message.spam' | 'message.invitation' | 'message.archived' | 'message.deleted' | 'calendar.event.created' | 'calendar.event.updated' | 'calendar.event.deleted' | 'calendar.event.starting' | 'calendar.event.ending' | 'calendar.event.responded' | 'thread.created' | 'thread.updated' | 'thread.assigned' | 'thread.unassigned' | 'identity.created' | 'identity.updated' | 'identity.suspended' | 'identity.transferred' | 'domain.verified'>;
6281
+ };
6282
+ headers?: {
6283
+ /**
6284
+ * Any string unique to this attempt, reused on its retries. A repeat with the same key and the same request returns the first answer with `Idempotent-Replay: true` and does nothing — no second email. The same key with a different request is a `409`. Kept for 24 hours; a failure is not kept, so a retry after one runs.
6285
+ */
6286
+ 'Idempotency-Key'?: string;
6224
6287
  };
6225
6288
  path?: never;
6226
6289
  query?: never;
@@ -6248,7 +6311,7 @@ type WebhooksCreateErrors = {
6248
6311
  */
6249
6312
  404: Error;
6250
6313
  /**
6251
- * It conflicts with what is there: it already exists, or the `etag` you sent is not the current one.
6314
+ * This `Idempotency-Key` was used with a different request, or that request is still running. Nothing was sent by this call.
6252
6315
  */
6253
6316
  409: Error;
6254
6317
  /**
@@ -6655,6 +6718,12 @@ type MessagesRespondToInvitationData = {
6655
6718
  status: 'accepted' | 'declined' | 'tentative';
6656
6719
  comment?: string;
6657
6720
  };
6721
+ headers?: {
6722
+ /**
6723
+ * Any string unique to this attempt, reused on its retries. A repeat with the same key and the same request returns the first answer with `Idempotent-Replay: true` and does nothing — no second email. The same key with a different request is a `409`. Kept for 24 hours; a failure is not kept, so a retry after one runs.
6724
+ */
6725
+ 'Idempotency-Key'?: string;
6726
+ };
6658
6727
  path: {
6659
6728
  id: string;
6660
6729
  };
@@ -6679,7 +6748,7 @@ type MessagesRespondToInvitationErrors = {
6679
6748
  */
6680
6749
  404: Error;
6681
6750
  /**
6682
- * It conflicts with what is there: it already exists, or the `etag` you sent is not the current one.
6751
+ * This `Idempotency-Key` was used with a different request, or that request is still running. Nothing was sent by this call.
6683
6752
  */
6684
6753
  409: Error;
6685
6754
  /**
@@ -6916,6 +6985,12 @@ type CalendarCreateEventData = {
6916
6985
  rdates?: Array<string>;
6917
6986
  } | null;
6918
6987
  };
6988
+ headers?: {
6989
+ /**
6990
+ * Any string unique to this attempt, reused on its retries. A repeat with the same key and the same request returns the first answer with `Idempotent-Replay: true` and does nothing — no second email. The same key with a different request is a `409`. Kept for 24 hours; a failure is not kept, so a retry after one runs.
6991
+ */
6992
+ 'Idempotency-Key'?: string;
6993
+ };
6919
6994
  path: {
6920
6995
  id: string;
6921
6996
  };
@@ -6940,7 +7015,7 @@ type CalendarCreateEventErrors = {
6940
7015
  */
6941
7016
  404: Error;
6942
7017
  /**
6943
- * It conflicts with what is there: it already exists, or the `etag` you sent is not the current one.
7018
+ * This `Idempotency-Key` was used with a different request, or that request is still running. Nothing was sent by this call.
6944
7019
  */
6945
7020
  409: Error;
6946
7021
  /**
@@ -6977,6 +7052,10 @@ type CalendarRespondToEventData = {
6977
7052
  * The `etag` you last read. A stale one is a `409` naming the current version — two agents on one mailbox is the case this product is for, and last-write-wins loses a meeting.
6978
7053
  */
6979
7054
  'If-Match'?: string;
7055
+ /**
7056
+ * Any string unique to this attempt, reused on its retries. A repeat with the same key and the same request returns the first answer with `Idempotent-Replay: true` and does nothing — no second email. The same key with a different request is a `409`. Kept for 24 hours; a failure is not kept, so a retry after one runs.
7057
+ */
7058
+ 'Idempotency-Key'?: string;
6980
7059
  };
6981
7060
  path: {
6982
7061
  id: string;
@@ -7003,7 +7082,7 @@ type CalendarRespondToEventErrors = {
7003
7082
  */
7004
7083
  404: Error;
7005
7084
  /**
7006
- * It conflicts with what is there: it already exists, or the `etag` you sent is not the current one.
7085
+ * This `Idempotency-Key` was used with a different request, or that request is still running. Nothing was sent by this call.
7007
7086
  */
7008
7087
  409: Error;
7009
7088
  /**
@@ -7168,6 +7247,10 @@ type CalendarDeleteEventData = {
7168
7247
  * The `etag` you last read. A stale one is a `409` naming the current version — two agents on one mailbox is the case this product is for, and last-write-wins loses a meeting.
7169
7248
  */
7170
7249
  'If-Match'?: string;
7250
+ /**
7251
+ * Any string unique to this attempt, reused on its retries. A repeat with the same key and the same request returns the first answer with `Idempotent-Replay: true` and does nothing — no second email. The same key with a different request is a `409`. Kept for 24 hours; a failure is not kept, so a retry after one runs.
7252
+ */
7253
+ 'Idempotency-Key'?: string;
7171
7254
  };
7172
7255
  path: {
7173
7256
  id: string;
@@ -7199,7 +7282,7 @@ type CalendarDeleteEventErrors = {
7199
7282
  */
7200
7283
  404: Error;
7201
7284
  /**
7202
- * It conflicts with what is there: it already exists, or the `etag` you sent is not the current one.
7285
+ * This `Idempotency-Key` was used with a different request, or that request is still running. Nothing was sent by this call.
7203
7286
  */
7204
7287
  409: Error;
7205
7288
  /**
@@ -7318,6 +7401,10 @@ type CalendarUpdateEventData = {
7318
7401
  * The `etag` you last read. A stale one is a `409` naming the current version — two agents on one mailbox is the case this product is for, and last-write-wins loses a meeting.
7319
7402
  */
7320
7403
  'If-Match'?: string;
7404
+ /**
7405
+ * Any string unique to this attempt, reused on its retries. A repeat with the same key and the same request returns the first answer with `Idempotent-Replay: true` and does nothing — no second email. The same key with a different request is a `409`. Kept for 24 hours; a failure is not kept, so a retry after one runs.
7406
+ */
7407
+ 'Idempotency-Key'?: string;
7321
7408
  };
7322
7409
  path: {
7323
7410
  id: string;
@@ -7349,7 +7436,7 @@ type CalendarUpdateEventErrors = {
7349
7436
  */
7350
7437
  404: Error;
7351
7438
  /**
7352
- * It conflicts with what is there: it already exists, or the `etag` you sent is not the current one.
7439
+ * This `Idempotency-Key` was used with a different request, or that request is still running. Nothing was sent by this call.
7353
7440
  */
7354
7441
  409: Error;
7355
7442
  /**
@@ -7480,6 +7567,12 @@ type DraftsCreateData = {
7480
7567
  */
7481
7568
  attachment_ids?: Array<string>;
7482
7569
  };
7570
+ headers?: {
7571
+ /**
7572
+ * Any string unique to this attempt, reused on its retries. A repeat with the same key and the same request returns the first answer with `Idempotent-Replay: true` and does nothing — no second email. The same key with a different request is a `409`. Kept for 24 hours; a failure is not kept, so a retry after one runs.
7573
+ */
7574
+ 'Idempotency-Key'?: string;
7575
+ };
7483
7576
  path?: never;
7484
7577
  query?: never;
7485
7578
  url: '/drafts';
@@ -7502,7 +7595,7 @@ type DraftsCreateErrors = {
7502
7595
  */
7503
7596
  404: Error;
7504
7597
  /**
7505
- * It conflicts with what is there: it already exists, or the `etag` you sent is not the current one.
7598
+ * This `Idempotency-Key` was used with a different request, or that request is still running. Nothing was sent by this call.
7506
7599
  */
7507
7600
  409: Error;
7508
7601
  /**
@@ -7715,6 +7808,12 @@ type DraftsUpdateResponses = {
7715
7808
  type DraftsUpdateResponse = DraftsUpdateResponses[keyof DraftsUpdateResponses];
7716
7809
  type DraftsSendData = {
7717
7810
  body?: never;
7811
+ headers?: {
7812
+ /**
7813
+ * Any string unique to this attempt, reused on its retries. A repeat with the same key and the same request returns the first answer with `Idempotent-Replay: true` and does nothing — no second email. The same key with a different request is a `409`. Kept for 24 hours; a failure is not kept, so a retry after one runs.
7814
+ */
7815
+ 'Idempotency-Key'?: string;
7816
+ };
7718
7817
  path: {
7719
7818
  id: string;
7720
7819
  };
@@ -7739,7 +7838,7 @@ type DraftsSendErrors = {
7739
7838
  */
7740
7839
  404: Error;
7741
7840
  /**
7742
- * It conflicts with what is there: it already exists, or the `etag` you sent is not the current one.
7841
+ * This `Idempotency-Key` was used with a different request, or that request is still running. Nothing was sent by this call.
7743
7842
  */
7744
7843
  409: Error;
7745
7844
  /**
@@ -7821,6 +7920,12 @@ type DraftsScheduleData = {
7821
7920
  body: {
7822
7921
  send_at: string;
7823
7922
  };
7923
+ headers?: {
7924
+ /**
7925
+ * Any string unique to this attempt, reused on its retries. A repeat with the same key and the same request returns the first answer with `Idempotent-Replay: true` and does nothing — no second email. The same key with a different request is a `409`. Kept for 24 hours; a failure is not kept, so a retry after one runs.
7926
+ */
7927
+ 'Idempotency-Key'?: string;
7928
+ };
7824
7929
  path: {
7825
7930
  id: string;
7826
7931
  };
@@ -7845,7 +7950,7 @@ type DraftsScheduleErrors = {
7845
7950
  */
7846
7951
  404: Error;
7847
7952
  /**
7848
- * It conflicts with what is there: it already exists, or the `etag` you sent is not the current one.
7953
+ * This `Idempotency-Key` was used with a different request, or that request is still running. Nothing was sent by this call.
7849
7954
  */
7850
7955
  409: Error;
7851
7956
  /**
@@ -8354,7 +8459,7 @@ declare const messagesUndo: <ThrowOnError extends boolean = false>(options: Opti
8354
8459
  /**
8355
8460
  * Wait for the next message
8356
8461
  *
8357
- * Holds the request open until a message matching the filters arrives at the address, or `timeout` seconds pass — one call where you would otherwise poll. The message carries `extracted`: verification codes and links, most likely first. Pass the returned `cursor` as `after` on the next call so nothing arriving between calls is missed. Answers 200 with `message: null` and `timed_out: true` when nothing came. A matching message filed as spam is not returned unless you pass `include_spam=true`; it is counted in `held_back`, with its id, so a timeout never hides mail that arrived.
8462
+ * Holds the request open until a message matching the filters arrives at the address, or `timeout` seconds pass — one call where you would otherwise poll. The message carries `extracted`: verification codes and links, most likely first. Without `after`, it first looks back 2 minutes and returns the newest matching message from then, because a code often lands before the call is made; narrow it with `from`, `subject_contains` or `has_code` so an earlier email is not taken for the one you want, or pass `after=now` to wait only for new mail. Pass the returned `cursor` as `after` on the next call so nothing arriving between calls is missed. Answers 200 with `message: null` and `timed_out: true` when nothing came. A matching message filed as spam is not returned unless you pass `include_spam=true`; it is counted in `held_back`, with its id, so a timeout never hides mail that arrived.
8358
8463
  */
8359
8464
  declare const messagesAwait: <ThrowOnError extends boolean = false>(options: Options<MessagesAwaitData, ThrowOnError>) => RequestResult<MessagesAwaitResponses, MessagesAwaitErrors, ThrowOnError>;
8360
8465
  /**