@noresponse/node 2.0.28 → 2.0.30

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.
Files changed (141) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +1 -1
  3. package/dist/commonjs/client.d.ts +29 -3
  4. package/dist/commonjs/client.d.ts.map +1 -1
  5. package/dist/commonjs/client.js +47 -3
  6. package/dist/commonjs/client.js.map +1 -1
  7. package/dist/commonjs/funcs/webhook-endpoints-list-deliveries.d.ts +21 -0
  8. package/dist/commonjs/funcs/webhook-endpoints-list-deliveries.d.ts.map +1 -0
  9. package/dist/commonjs/funcs/webhook-endpoints-list-deliveries.js +182 -0
  10. package/dist/commonjs/funcs/webhook-endpoints-list-deliveries.js.map +1 -0
  11. package/dist/commonjs/funcs/webhook-endpoints-replay-delivery.d.ts +18 -0
  12. package/dist/commonjs/funcs/webhook-endpoints-replay-delivery.d.ts.map +1 -0
  13. package/dist/commonjs/funcs/webhook-endpoints-replay-delivery.js +146 -0
  14. package/dist/commonjs/funcs/webhook-endpoints-replay-delivery.js.map +1 -0
  15. package/dist/commonjs/index.d.ts +1 -1
  16. package/dist/commonjs/index.d.ts.map +1 -1
  17. package/dist/commonjs/index.js.map +1 -1
  18. package/dist/commonjs/lib/config.d.ts +2 -2
  19. package/dist/commonjs/lib/config.js +2 -2
  20. package/dist/commonjs/models/event-type.d.ts +9 -0
  21. package/dist/commonjs/models/event-type.d.ts.map +1 -0
  22. package/dist/commonjs/models/event-type.js +43 -0
  23. package/dist/commonjs/models/event-type.js.map +1 -0
  24. package/dist/commonjs/models/failure.d.ts +21 -0
  25. package/dist/commonjs/models/failure.d.ts.map +1 -0
  26. package/dist/commonjs/models/failure.js +53 -0
  27. package/dist/commonjs/models/failure.js.map +1 -0
  28. package/dist/commonjs/models/index.d.ts +7 -0
  29. package/dist/commonjs/models/index.d.ts.map +1 -1
  30. package/dist/commonjs/models/index.js +7 -0
  31. package/dist/commonjs/models/index.js.map +1 -1
  32. package/dist/commonjs/models/operations/index.d.ts +2 -0
  33. package/dist/commonjs/models/operations/index.d.ts.map +1 -1
  34. package/dist/commonjs/models/operations/index.js +2 -0
  35. package/dist/commonjs/models/operations/index.js.map +1 -1
  36. package/dist/commonjs/models/operations/list-webhook-deliveries.d.ts +37 -0
  37. package/dist/commonjs/models/operations/list-webhook-deliveries.d.ts.map +1 -0
  38. package/dist/commonjs/models/operations/list-webhook-deliveries.js +69 -0
  39. package/dist/commonjs/models/operations/list-webhook-deliveries.js.map +1 -0
  40. package/dist/commonjs/models/operations/replay-webhook-delivery.d.ts +34 -0
  41. package/dist/commonjs/models/operations/replay-webhook-delivery.d.ts.map +1 -0
  42. package/dist/commonjs/models/operations/replay-webhook-delivery.js +70 -0
  43. package/dist/commonjs/models/operations/replay-webhook-delivery.js.map +1 -0
  44. package/dist/commonjs/models/webhook-delivery-attempt-status.d.ts +16 -0
  45. package/dist/commonjs/models/webhook-delivery-attempt-status.d.ts.map +1 -0
  46. package/dist/commonjs/models/webhook-delivery-attempt-status.js +47 -0
  47. package/dist/commonjs/models/webhook-delivery-attempt-status.js.map +1 -0
  48. package/dist/commonjs/models/webhook-delivery-attempt.d.ts +45 -0
  49. package/dist/commonjs/models/webhook-delivery-attempt.d.ts.map +1 -0
  50. package/dist/commonjs/models/webhook-delivery-attempt.js +68 -0
  51. package/dist/commonjs/models/webhook-delivery-attempt.js.map +1 -0
  52. package/dist/commonjs/models/webhook-delivery-list.d.ts +22 -0
  53. package/dist/commonjs/models/webhook-delivery-list.d.ts.map +1 -0
  54. package/dist/commonjs/models/webhook-delivery-list.js +57 -0
  55. package/dist/commonjs/models/webhook-delivery-list.js.map +1 -0
  56. package/dist/commonjs/models/webhook-replay-request.d.ts +11 -0
  57. package/dist/commonjs/models/webhook-replay-request.d.ts.map +1 -0
  58. package/dist/commonjs/models/webhook-replay-request.js +44 -0
  59. package/dist/commonjs/models/webhook-replay-request.js.map +1 -0
  60. package/dist/commonjs/models/webhook-replay.d.ts +22 -0
  61. package/dist/commonjs/models/webhook-replay.d.ts.map +1 -0
  62. package/dist/commonjs/models/webhook-replay.js +58 -0
  63. package/dist/commonjs/models/webhook-replay.js.map +1 -0
  64. package/dist/commonjs/sdk/webhook-endpoints.d.ts +17 -0
  65. package/dist/commonjs/sdk/webhook-endpoints.d.ts.map +1 -1
  66. package/dist/commonjs/sdk/webhook-endpoints.js +21 -0
  67. package/dist/commonjs/sdk/webhook-endpoints.js.map +1 -1
  68. package/dist/commonjs/wait.d.ts +9 -3
  69. package/dist/commonjs/wait.d.ts.map +1 -1
  70. package/dist/commonjs/wait.js +27 -11
  71. package/dist/commonjs/wait.js.map +1 -1
  72. package/dist/esm/client.d.ts +29 -3
  73. package/dist/esm/client.d.ts.map +1 -1
  74. package/dist/esm/client.js +47 -3
  75. package/dist/esm/client.js.map +1 -1
  76. package/dist/esm/funcs/webhook-endpoints-list-deliveries.d.ts +21 -0
  77. package/dist/esm/funcs/webhook-endpoints-list-deliveries.d.ts.map +1 -0
  78. package/dist/esm/funcs/webhook-endpoints-list-deliveries.js +146 -0
  79. package/dist/esm/funcs/webhook-endpoints-list-deliveries.js.map +1 -0
  80. package/dist/esm/funcs/webhook-endpoints-replay-delivery.d.ts +18 -0
  81. package/dist/esm/funcs/webhook-endpoints-replay-delivery.d.ts.map +1 -0
  82. package/dist/esm/funcs/webhook-endpoints-replay-delivery.js +110 -0
  83. package/dist/esm/funcs/webhook-endpoints-replay-delivery.js.map +1 -0
  84. package/dist/esm/index.d.ts +1 -1
  85. package/dist/esm/index.d.ts.map +1 -1
  86. package/dist/esm/index.js.map +1 -1
  87. package/dist/esm/lib/config.d.ts +2 -2
  88. package/dist/esm/lib/config.js +2 -2
  89. package/dist/esm/models/event-type.d.ts +9 -0
  90. package/dist/esm/models/event-type.d.ts.map +1 -0
  91. package/dist/esm/models/event-type.js +7 -0
  92. package/dist/esm/models/event-type.js.map +1 -0
  93. package/dist/esm/models/failure.d.ts +21 -0
  94. package/dist/esm/models/failure.d.ts.map +1 -0
  95. package/dist/esm/models/failure.js +17 -0
  96. package/dist/esm/models/failure.js.map +1 -0
  97. package/dist/esm/models/index.d.ts +7 -0
  98. package/dist/esm/models/index.d.ts.map +1 -1
  99. package/dist/esm/models/index.js +7 -0
  100. package/dist/esm/models/index.js.map +1 -1
  101. package/dist/esm/models/operations/index.d.ts +2 -0
  102. package/dist/esm/models/operations/index.d.ts.map +1 -1
  103. package/dist/esm/models/operations/index.js +2 -0
  104. package/dist/esm/models/operations/index.js.map +1 -1
  105. package/dist/esm/models/operations/list-webhook-deliveries.d.ts +37 -0
  106. package/dist/esm/models/operations/list-webhook-deliveries.d.ts.map +1 -0
  107. package/dist/esm/models/operations/list-webhook-deliveries.js +31 -0
  108. package/dist/esm/models/operations/list-webhook-deliveries.js.map +1 -0
  109. package/dist/esm/models/operations/replay-webhook-delivery.d.ts +34 -0
  110. package/dist/esm/models/operations/replay-webhook-delivery.d.ts.map +1 -0
  111. package/dist/esm/models/operations/replay-webhook-delivery.js +32 -0
  112. package/dist/esm/models/operations/replay-webhook-delivery.js.map +1 -0
  113. package/dist/esm/models/webhook-delivery-attempt-status.d.ts +16 -0
  114. package/dist/esm/models/webhook-delivery-attempt-status.d.ts.map +1 -0
  115. package/dist/esm/models/webhook-delivery-attempt-status.js +11 -0
  116. package/dist/esm/models/webhook-delivery-attempt-status.js.map +1 -0
  117. package/dist/esm/models/webhook-delivery-attempt.d.ts +45 -0
  118. package/dist/esm/models/webhook-delivery-attempt.d.ts.map +1 -0
  119. package/dist/esm/models/webhook-delivery-attempt.js +31 -0
  120. package/dist/esm/models/webhook-delivery-attempt.js.map +1 -0
  121. package/dist/esm/models/webhook-delivery-list.d.ts +22 -0
  122. package/dist/esm/models/webhook-delivery-list.d.ts.map +1 -0
  123. package/dist/esm/models/webhook-delivery-list.js +20 -0
  124. package/dist/esm/models/webhook-delivery-list.js.map +1 -0
  125. package/dist/esm/models/webhook-replay-request.d.ts +11 -0
  126. package/dist/esm/models/webhook-replay-request.d.ts.map +1 -0
  127. package/dist/esm/models/webhook-replay-request.js +7 -0
  128. package/dist/esm/models/webhook-replay-request.js.map +1 -0
  129. package/dist/esm/models/webhook-replay.d.ts +22 -0
  130. package/dist/esm/models/webhook-replay.d.ts.map +1 -0
  131. package/dist/esm/models/webhook-replay.js +21 -0
  132. package/dist/esm/models/webhook-replay.js.map +1 -0
  133. package/dist/esm/sdk/webhook-endpoints.d.ts +17 -0
  134. package/dist/esm/sdk/webhook-endpoints.d.ts.map +1 -1
  135. package/dist/esm/sdk/webhook-endpoints.js +21 -0
  136. package/dist/esm/sdk/webhook-endpoints.js.map +1 -1
  137. package/dist/esm/wait.d.ts +9 -3
  138. package/dist/esm/wait.d.ts.map +1 -1
  139. package/dist/esm/wait.js +27 -11
  140. package/dist/esm/wait.js.map +1 -1
  141. package/package.json +3 -3
@@ -1,6 +1,7 @@
1
1
  import { ClientSDK, RequestOptions } from "../lib/sdks.js";
2
2
  import * as models from "../models/index.js";
3
3
  import * as operations from "../models/operations/index.js";
4
+ import { PageIterator } from "../types/operations.js";
4
5
  export declare class WebhookEndpoints extends ClientSDK {
5
6
  /**
6
7
  * List the tenant's webhook endpoints.
@@ -37,5 +38,21 @@ export declare class WebhookEndpoints extends ClientSDK {
37
38
  * endpoint.verification sends a signed challenge now and answers whether the endpoint echoed it within 5 seconds; an echo verifies the endpoint, including a disabled one. assessment.updated queues one signed event with test: true and a fixed example assessment in the endpoint's response mode, delivered and retried like any other event; the endpoint must be verified. Both use the endpoint's current signing key. Requires the webhooks scope.
38
39
  */
39
40
  sendTestEvent(request: operations.SendWebhookTestEventRequest, options?: RequestOptions): Promise<operations.SendWebhookTestEventResponse>;
41
+ /**
42
+ * List an endpoint's delivery attempts.
43
+ *
44
+ * @remarks
45
+ * Every POST the endpoint received, newest first: the event id and type, which attempt it was, whether it was a replay, delivered or failed, the response code, why it failed and how long it took. Attempts are kept for 30 days, or your retention_days when that is shorter, and are deleted with the assessment they carried. Requires the webhooks scope. Read-only and safe to retry. The cursor is opaque and bound to your tenant and the endpoint; a tampered or expired cursor answers 400 invalid_cursor.
46
+ */
47
+ listDeliveries(request: operations.ListWebhookDeliveriesRequest, options?: RequestOptions): Promise<PageIterator<operations.ListWebhookDeliveriesResponse, {
48
+ cursor: string;
49
+ }>>;
50
+ /**
51
+ * Send one delivery again.
52
+ *
53
+ * @remarks
54
+ * Queues the event for the endpoint again: the same event id and body it received, with a new NR-Webhook-Timestamp and a signature from the endpoint's current signing key, retried like any other delivery and listed with replay: true. Your receiver deduplicates on the event id. The endpoint must be verified. Requires the webhooks scope. Not idempotent: each call, a retry included, sends the event again.
55
+ */
56
+ replayDelivery(request: operations.ReplayWebhookDeliveryRequest, options?: RequestOptions): Promise<operations.ReplayWebhookDeliveryResponse>;
40
57
  }
41
58
  //# sourceMappingURL=webhook-endpoints.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webhook-endpoints.d.ts","sourceRoot":"","sources":["../../../src/sdk/webhook-endpoints.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAC;AAG5D,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C;;;;;OAKG;IACG,IAAI,CACR,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAKlD;IAED;;;;;OAKG;IACG,MAAM,CACV,OAAO,EAAE,MAAM,CAAC,sBAAsB,EACtC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAMnD;IAED;;;;;OAKG;IACG,MAAM,CACV,OAAO,EAAE,UAAU,CAAC,4BAA4B,EAChD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,6BAA6B,GAAG,SAAS,CAAC,CAM/D;IAED;;;;;OAKG;IACG,gBAAgB,CACpB,OAAO,EAAE,UAAU,CAAC,8BAA8B,EAClD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,+BAA+B,CAAC,CAMrD;IAED;;;;;OAKG;IACG,aAAa,CACjB,OAAO,EAAE,UAAU,CAAC,2BAA2B,EAC/C,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAMlD;CACF"}
1
+ {"version":3,"file":"webhook-endpoints.d.ts","sourceRoot":"","sources":["../../../src/sdk/webhook-endpoints.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAwB,MAAM,wBAAwB,CAAC;AAE5E,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C;;;;;OAKG;IACG,IAAI,CACR,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAKlD;IAED;;;;;OAKG;IACG,MAAM,CACV,OAAO,EAAE,MAAM,CAAC,sBAAsB,EACtC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAMnD;IAED;;;;;OAKG;IACG,MAAM,CACV,OAAO,EAAE,UAAU,CAAC,4BAA4B,EAChD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,6BAA6B,GAAG,SAAS,CAAC,CAM/D;IAED;;;;;OAKG;IACG,gBAAgB,CACpB,OAAO,EAAE,UAAU,CAAC,8BAA8B,EAClD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,+BAA+B,CAAC,CAMrD;IAED;;;;;OAKG;IACG,aAAa,CACjB,OAAO,EAAE,UAAU,CAAC,2BAA2B,EAC/C,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAMlD;IAED;;;;;OAKG;IACG,cAAc,CAClB,OAAO,EAAE,UAAU,CAAC,4BAA4B,EAChD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CACR,YAAY,CAAC,UAAU,CAAC,6BAA6B,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAC3E,CAMA;IAED;;;;;OAKG;IACG,cAAc,CAClB,OAAO,EAAE,UAAU,CAAC,4BAA4B,EAChD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAMnD;CACF"}
@@ -1,10 +1,13 @@
1
1
  import { webhookEndpointsCreate } from "../funcs/webhook-endpoints-create.js";
2
2
  import { webhookEndpointsDelete } from "../funcs/webhook-endpoints-delete.js";
3
+ import { webhookEndpointsListDeliveries } from "../funcs/webhook-endpoints-list-deliveries.js";
3
4
  import { webhookEndpointsList } from "../funcs/webhook-endpoints-list.js";
5
+ import { webhookEndpointsReplayDelivery } from "../funcs/webhook-endpoints-replay-delivery.js";
4
6
  import { webhookEndpointsRotateSigningKey } from "../funcs/webhook-endpoints-rotate-signing-key.js";
5
7
  import { webhookEndpointsSendTestEvent } from "../funcs/webhook-endpoints-send-test-event.js";
6
8
  import { ClientSDK } from "../lib/sdks.js";
7
9
  import { unwrapAsync } from "../types/fp.js";
10
+ import { unwrapResultIterator } from "../types/operations.js";
8
11
  export class WebhookEndpoints extends ClientSDK {
9
12
  /**
10
13
  * List the tenant's webhook endpoints.
@@ -51,5 +54,23 @@ export class WebhookEndpoints extends ClientSDK {
51
54
  async sendTestEvent(request, options) {
52
55
  return unwrapAsync(webhookEndpointsSendTestEvent(this, request, options));
53
56
  }
57
+ /**
58
+ * List an endpoint's delivery attempts.
59
+ *
60
+ * @remarks
61
+ * Every POST the endpoint received, newest first: the event id and type, which attempt it was, whether it was a replay, delivered or failed, the response code, why it failed and how long it took. Attempts are kept for 30 days, or your retention_days when that is shorter, and are deleted with the assessment they carried. Requires the webhooks scope. Read-only and safe to retry. The cursor is opaque and bound to your tenant and the endpoint; a tampered or expired cursor answers 400 invalid_cursor.
62
+ */
63
+ async listDeliveries(request, options) {
64
+ return unwrapResultIterator(webhookEndpointsListDeliveries(this, request, options));
65
+ }
66
+ /**
67
+ * Send one delivery again.
68
+ *
69
+ * @remarks
70
+ * Queues the event for the endpoint again: the same event id and body it received, with a new NR-Webhook-Timestamp and a signature from the endpoint's current signing key, retried like any other delivery and listed with replay: true. Your receiver deduplicates on the event id. The endpoint must be verified. Requires the webhooks scope. Not idempotent: each call, a retry included, sends the event again.
71
+ */
72
+ async replayDelivery(request, options) {
73
+ return unwrapAsync(webhookEndpointsReplayDelivery(this, request, options));
74
+ }
54
75
  }
55
76
  //# sourceMappingURL=webhook-endpoints.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"webhook-endpoints.js","sourceRoot":"","sources":["../../../src/sdk/webhook-endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,gCAAgC,EAAE,MAAM,kDAAkD,CAAC;AACpG,OAAO,EAAE,6BAA6B,EAAE,MAAM,+CAA+C,CAAC;AAC9F,OAAO,EAAE,SAAS,EAAkB,MAAM,gBAAgB,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAC7C;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CACR,OAAwB,EAC0B;QAClD,OAAO,WAAW,CAAC,oBAAoB,CACrC,IAAI,EACJ,OAAO,CACR,CAAC,CAAC;IAAA,CACJ;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CACV,OAAsC,EACtC,OAAwB,EAC2B;QACnD,OAAO,WAAW,CAAC,sBAAsB,CACvC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IAAA,CACJ;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CACV,OAAgD,EAChD,OAAwB,EACuC;QAC/D,OAAO,WAAW,CAAC,sBAAsB,CACvC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IAAA,CACJ;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CACpB,OAAkD,EAClD,OAAwB,EAC6B;QACrD,OAAO,WAAW,CAAC,gCAAgC,CACjD,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IAAA,CACJ;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CACjB,OAA+C,EAC/C,OAAwB,EAC0B;QAClD,OAAO,WAAW,CAAC,6BAA6B,CAC9C,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IAAA,CACJ;CACF"}
1
+ {"version":3,"file":"webhook-endpoints.js","sourceRoot":"","sources":["../../../src/sdk/webhook-endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAC;AAC/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAC;AAC/F,OAAO,EAAE,gCAAgC,EAAE,MAAM,kDAAkD,CAAC;AACpG,OAAO,EAAE,6BAA6B,EAAE,MAAM,+CAA+C,CAAC;AAC9F,OAAO,EAAE,SAAS,EAAkB,MAAM,gBAAgB,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAgB,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE5E,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAC7C;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CACR,OAAwB,EAC0B;QAClD,OAAO,WAAW,CAAC,oBAAoB,CACrC,IAAI,EACJ,OAAO,CACR,CAAC,CAAC;IAAA,CACJ;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CACV,OAAsC,EACtC,OAAwB,EAC2B;QACnD,OAAO,WAAW,CAAC,sBAAsB,CACvC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IAAA,CACJ;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CACV,OAAgD,EAChD,OAAwB,EACuC;QAC/D,OAAO,WAAW,CAAC,sBAAsB,CACvC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IAAA,CACJ;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CACpB,OAAkD,EAClD,OAAwB,EAC6B;QACrD,OAAO,WAAW,CAAC,gCAAgC,CACjD,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IAAA,CACJ;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CACjB,OAA+C,EAC/C,OAAwB,EAC0B;QAClD,OAAO,WAAW,CAAC,6BAA6B,CAC9C,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IAAA,CACJ;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAClB,OAAgD,EAChD,OAAwB,EAGxB;QACA,OAAO,oBAAoB,CAAC,8BAA8B,CACxD,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IAAA,CACJ;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAClB,OAAgD,EAChD,OAAwB,EAC2B;QACnD,OAAO,WAAW,CAAC,8BAA8B,CAC/C,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IAAA,CACJ;CACF"}
@@ -5,7 +5,11 @@ export declare const DEFAULT_WAIT_TIMEOUT_MS = 30000;
5
5
  /** The shortest interval between polls when the server sends no Retry-After. */
6
6
  export declare const MIN_POLL_INTERVAL_MS = 1000;
7
7
  export type WaitOptions = {
8
- /** Give up after this long with an APITimeoutError. Default 30 000 ms. */
8
+ /**
9
+ * Stop polling after this long. Default 30 000 ms. If the latest answer is
10
+ * partial by then, wait returns it (its status stays "partial"); if it is
11
+ * still pending, wait throws an APITimeoutError.
12
+ */
9
13
  timeoutMs?: number;
10
14
  responseMode?: ResponseMode;
11
15
  /** Abort the wait early. */
@@ -17,9 +21,11 @@ export type Getter = (assessmentId: string, options: {
17
21
  timeoutMs?: number;
18
22
  }) => Promise<WithMeta<Assessment>>;
19
23
  /**
20
- * Poll `get` until the assessment is not pending. Each poll waits the
24
+ * Poll `get` until the assessment's status is "complete". Each poll waits the
21
25
  * server's Retry-After, with a 1 second floor, and the whole wait is bounded
22
- * by `timeoutMs` (default 30 s), after which an APITimeoutError is thrown.
26
+ * by `timeoutMs` (default 30 s). When the time runs out, a partial answer is
27
+ * returned as it stands, with status "partial", and a pending one throws an
28
+ * APITimeoutError, because a pending assessment has no recommendation yet.
23
29
  */
24
30
  export declare function waitForAssessment(get: Getter, assessmentId: string, options?: WaitOptions): Promise<WithMeta<Assessment>>;
25
31
  //# sourceMappingURL=wait.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../src/wait.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAC9C,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,OAAQ,CAAC;AAE1C,MAAM,MAAM,WAAW,GAAG;IACxB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,4BAA4B;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,CACnB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE;IAAE,YAAY,CAAC,EAAE,YAAY,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,KAC/E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AAoBnC;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAyB/B"}
1
+ {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../src/wait.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAC9C,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,OAAQ,CAAC;AAE1C,MAAM,MAAM,WAAW,GAAG;IACxB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,4BAA4B;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,CACnB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE;IAAE,YAAY,CAAC,EAAE,YAAY,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,KAC/E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AAoBnC;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAkC/B"}
package/dist/esm/wait.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Poll an assessment until it is no longer pending. Hand-written; not generated.
2
+ * Poll an assessment until it is complete. Hand-written; not generated.
3
3
  */
4
4
  import { RequestTimeoutError } from "./models/errors/http-client-errors.js";
5
5
  export const DEFAULT_WAIT_TIMEOUT_MS = 30000;
@@ -23,9 +23,11 @@ function sleep(ms, signal) {
23
23
  });
24
24
  }
25
25
  /**
26
- * Poll `get` until the assessment is not pending. Each poll waits the
26
+ * Poll `get` until the assessment's status is "complete". Each poll waits the
27
27
  * server's Retry-After, with a 1 second floor, and the whole wait is bounded
28
- * by `timeoutMs` (default 30 s), after which an APITimeoutError is thrown.
28
+ * by `timeoutMs` (default 30 s). When the time runs out, a partial answer is
29
+ * returned as it stands, with status "partial", and a pending one throws an
30
+ * APITimeoutError, because a pending assessment has no recommendation yet.
29
31
  */
30
32
  export async function waitForAssessment(get, assessmentId, options = {}) {
31
33
  const timeoutMs = options.timeoutMs ?? DEFAULT_WAIT_TIMEOUT_MS;
@@ -33,6 +35,12 @@ export async function waitForAssessment(get, assessmentId, options = {}) {
33
35
  throw new TypeError("timeoutMs must be a positive integer");
34
36
  }
35
37
  const deadline = Date.now() + timeoutMs;
38
+ let last;
39
+ const timedOut = () => {
40
+ if (last?.status === "partial")
41
+ return last;
42
+ throw new RequestTimeoutError(`Timed out after ${timeoutMs} ms waiting for assessment ${assessmentId}`);
43
+ };
36
44
  const getOptions = {};
37
45
  if (options.responseMode !== undefined)
38
46
  getOptions.responseMode = options.responseMode;
@@ -40,17 +48,25 @@ export async function waitForAssessment(get, assessmentId, options = {}) {
40
48
  getOptions.signal = options.signal;
41
49
  for (;;) {
42
50
  const requestRemaining = deadline - Date.now();
43
- if (requestRemaining <= 0) {
44
- throw new RequestTimeoutError(`Timed out after ${timeoutMs} ms waiting for assessment ${assessmentId}`);
45
- }
51
+ if (requestRemaining <= 0)
52
+ return timedOut();
46
53
  getOptions.timeoutMs = requestRemaining;
47
- const assessment = await get(assessmentId, getOptions);
48
- if (assessment.status !== "pending")
54
+ let assessment;
55
+ try {
56
+ assessment = await get(assessmentId, getOptions);
57
+ }
58
+ catch (error) {
59
+ // The last poll ran into the deadline: a partial answer still stands.
60
+ if (error instanceof RequestTimeoutError && !options.signal?.aborted && last?.status === "partial")
61
+ return last;
62
+ throw error;
63
+ }
64
+ if (assessment.status === "complete")
49
65
  return assessment;
66
+ last = assessment;
50
67
  const remaining = deadline - Date.now();
51
- if (remaining <= 0) {
52
- throw new RequestTimeoutError(`Timed out after ${timeoutMs} ms waiting for assessment ${assessmentId}`);
53
- }
68
+ if (remaining <= 0)
69
+ return timedOut();
54
70
  const retryAfter = assessment.meta.retryAfter;
55
71
  const delay = Math.max(MIN_POLL_INTERVAL_MS, (retryAfter ?? 0) * 1000);
56
72
  await sleep(Math.min(delay, remaining), options.signal);
@@ -1 +1 @@
1
- {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../src/wait.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../src/wait.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noresponse/node",
3
- "version": "2.0.28",
3
+ "version": "2.0.30",
4
4
  "author": "NoResponse",
5
5
  "bugs": {
6
6
  "url": "https://github.com/noresponsehq/node/issues"
@@ -52,8 +52,8 @@
52
52
  "lint": "oxlint --max-warnings=0 --deny-warnings --no-error-on-unmatched-pattern src",
53
53
  "build": "tshy",
54
54
  "prepublishOnly": "npm run build",
55
- "typecheck": "tsc --noEmit",
56
- "test": "npm run build && tsc -p tests/tsconfig.json && node --test tests/*.test.mjs"
55
+ "test": "npm run build && tsc -p tests/tsconfig.json && node --test tests/*.test.mjs",
56
+ "typecheck": "tsc --noEmit"
57
57
  },
58
58
  "peerDependencies": {},
59
59
  "devDependencies": {