@noresponse/node 3.0.2 → 3.0.4

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 (123) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +34 -0
  3. package/dist/commonjs/client.d.ts +20 -0
  4. package/dist/commonjs/client.d.ts.map +1 -1
  5. package/dist/commonjs/client.js +37 -2
  6. package/dist/commonjs/client.js.map +1 -1
  7. package/dist/commonjs/funcs/key-usage-record.d.ts +18 -0
  8. package/dist/commonjs/funcs/key-usage-record.d.ts.map +1 -0
  9. package/dist/commonjs/funcs/key-usage-record.js +149 -0
  10. package/dist/commonjs/funcs/key-usage-record.js.map +1 -0
  11. package/dist/commonjs/index.d.ts +4 -3
  12. package/dist/commonjs/index.d.ts.map +1 -1
  13. package/dist/commonjs/index.js +9 -1
  14. package/dist/commonjs/index.js.map +1 -1
  15. package/dist/commonjs/key-usage.d.ts +89 -0
  16. package/dist/commonjs/key-usage.d.ts.map +1 -0
  17. package/dist/commonjs/key-usage.js +221 -0
  18. package/dist/commonjs/key-usage.js.map +1 -0
  19. package/dist/commonjs/lib/config.d.ts +2 -2
  20. package/dist/commonjs/lib/config.js +2 -2
  21. package/dist/commonjs/models/account.d.ts +1 -1
  22. package/dist/commonjs/models/assessment.d.ts +1 -1
  23. package/dist/commonjs/models/index.d.ts +3 -0
  24. package/dist/commonjs/models/index.d.ts.map +1 -1
  25. package/dist/commonjs/models/index.js +3 -0
  26. package/dist/commonjs/models/index.js.map +1 -1
  27. package/dist/commonjs/models/key-usage-batch-request.d.ts +16 -0
  28. package/dist/commonjs/models/key-usage-batch-request.d.ts.map +1 -0
  29. package/dist/commonjs/models/key-usage-batch-request.js +47 -0
  30. package/dist/commonjs/models/key-usage-batch-request.js.map +1 -0
  31. package/dist/commonjs/models/key-usage-batch.d.ts +28 -0
  32. package/dist/commonjs/models/key-usage-batch.d.ts.map +1 -0
  33. package/dist/commonjs/models/key-usage-batch.js +56 -0
  34. package/dist/commonjs/models/key-usage-batch.js.map +1 -0
  35. package/dist/commonjs/models/key-usage-event.d.ts +53 -0
  36. package/dist/commonjs/models/key-usage-event.d.ts.map +1 -0
  37. package/dist/commonjs/models/key-usage-event.js +63 -0
  38. package/dist/commonjs/models/key-usage-event.js.map +1 -0
  39. package/dist/commonjs/models/operations/index.d.ts +1 -0
  40. package/dist/commonjs/models/operations/index.d.ts.map +1 -1
  41. package/dist/commonjs/models/operations/index.js +1 -0
  42. package/dist/commonjs/models/operations/index.js.map +1 -1
  43. package/dist/commonjs/models/operations/record-key-usage.d.ts +29 -0
  44. package/dist/commonjs/models/operations/record-key-usage.d.ts.map +1 -0
  45. package/dist/commonjs/models/operations/record-key-usage.js +68 -0
  46. package/dist/commonjs/models/operations/record-key-usage.js.map +1 -0
  47. package/dist/commonjs/models/reason-code.d.ts +1 -0
  48. package/dist/commonjs/models/reason-code.d.ts.map +1 -1
  49. package/dist/commonjs/models/reason-code.js +1 -0
  50. package/dist/commonjs/models/reason-code.js.map +1 -1
  51. package/dist/commonjs/sdk/key-usage.d.ts +12 -0
  52. package/dist/commonjs/sdk/key-usage.d.ts.map +1 -0
  53. package/dist/commonjs/sdk/key-usage.js +19 -0
  54. package/dist/commonjs/sdk/key-usage.js.map +1 -0
  55. package/dist/commonjs/sdk/sdk.d.ts +3 -0
  56. package/dist/commonjs/sdk/sdk.d.ts.map +1 -1
  57. package/dist/commonjs/sdk/sdk.js +5 -0
  58. package/dist/commonjs/sdk/sdk.js.map +1 -1
  59. package/dist/commonjs/webhooks.d.ts +36 -1
  60. package/dist/commonjs/webhooks.d.ts.map +1 -1
  61. package/dist/commonjs/webhooks.js +19 -0
  62. package/dist/commonjs/webhooks.js.map +1 -1
  63. package/dist/esm/client.d.ts +20 -0
  64. package/dist/esm/client.d.ts.map +1 -1
  65. package/dist/esm/client.js +35 -1
  66. package/dist/esm/client.js.map +1 -1
  67. package/dist/esm/funcs/key-usage-record.d.ts +18 -0
  68. package/dist/esm/funcs/key-usage-record.d.ts.map +1 -0
  69. package/dist/esm/funcs/key-usage-record.js +113 -0
  70. package/dist/esm/funcs/key-usage-record.js.map +1 -0
  71. package/dist/esm/index.d.ts +4 -3
  72. package/dist/esm/index.d.ts.map +1 -1
  73. package/dist/esm/index.js +2 -1
  74. package/dist/esm/index.js.map +1 -1
  75. package/dist/esm/key-usage.d.ts +89 -0
  76. package/dist/esm/key-usage.d.ts.map +1 -0
  77. package/dist/esm/key-usage.js +217 -0
  78. package/dist/esm/key-usage.js.map +1 -0
  79. package/dist/esm/lib/config.d.ts +2 -2
  80. package/dist/esm/lib/config.js +2 -2
  81. package/dist/esm/models/account.d.ts +1 -1
  82. package/dist/esm/models/assessment.d.ts +1 -1
  83. package/dist/esm/models/index.d.ts +3 -0
  84. package/dist/esm/models/index.d.ts.map +1 -1
  85. package/dist/esm/models/index.js +3 -0
  86. package/dist/esm/models/index.js.map +1 -1
  87. package/dist/esm/models/key-usage-batch-request.d.ts +16 -0
  88. package/dist/esm/models/key-usage-batch-request.d.ts.map +1 -0
  89. package/dist/esm/models/key-usage-batch-request.js +10 -0
  90. package/dist/esm/models/key-usage-batch-request.js.map +1 -0
  91. package/dist/esm/models/key-usage-batch.d.ts +28 -0
  92. package/dist/esm/models/key-usage-batch.d.ts.map +1 -0
  93. package/dist/esm/models/key-usage-batch.js +19 -0
  94. package/dist/esm/models/key-usage-batch.js.map +1 -0
  95. package/dist/esm/models/key-usage-event.d.ts +53 -0
  96. package/dist/esm/models/key-usage-event.d.ts.map +1 -0
  97. package/dist/esm/models/key-usage-event.js +26 -0
  98. package/dist/esm/models/key-usage-event.js.map +1 -0
  99. package/dist/esm/models/operations/index.d.ts +1 -0
  100. package/dist/esm/models/operations/index.d.ts.map +1 -1
  101. package/dist/esm/models/operations/index.js +1 -0
  102. package/dist/esm/models/operations/index.js.map +1 -1
  103. package/dist/esm/models/operations/record-key-usage.d.ts +29 -0
  104. package/dist/esm/models/operations/record-key-usage.d.ts.map +1 -0
  105. package/dist/esm/models/operations/record-key-usage.js +30 -0
  106. package/dist/esm/models/operations/record-key-usage.js.map +1 -0
  107. package/dist/esm/models/reason-code.d.ts +1 -0
  108. package/dist/esm/models/reason-code.d.ts.map +1 -1
  109. package/dist/esm/models/reason-code.js +1 -0
  110. package/dist/esm/models/reason-code.js.map +1 -1
  111. package/dist/esm/sdk/key-usage.d.ts +12 -0
  112. package/dist/esm/sdk/key-usage.d.ts.map +1 -0
  113. package/dist/esm/sdk/key-usage.js +15 -0
  114. package/dist/esm/sdk/key-usage.js.map +1 -0
  115. package/dist/esm/sdk/sdk.d.ts +3 -0
  116. package/dist/esm/sdk/sdk.d.ts.map +1 -1
  117. package/dist/esm/sdk/sdk.js +5 -0
  118. package/dist/esm/sdk/sdk.js.map +1 -1
  119. package/dist/esm/webhooks.d.ts +36 -1
  120. package/dist/esm/webhooks.d.ts.map +1 -1
  121. package/dist/esm/webhooks.js +19 -0
  122. package/dist/esm/webhooks.js.map +1 -1
  123. package/package.json +1 -1
@@ -0,0 +1,217 @@
1
+ /**
2
+ * The key usage buffer. Hand-written; not generated.
3
+ *
4
+ * Your API gateway calls `record` once per request made with a key your signup
5
+ * gate issued. The buffer keeps the facts in memory and sends them to POST
6
+ * /v1/key_usage/batches in the background: when `batchSize` facts are queued,
7
+ * every `flushIntervalMs`, and on `flush()` or `close()`. `record` never
8
+ * blocks and never throws. When the queue is full the oldest fact is dropped
9
+ * and counted. A raw key passed as `key` is hashed here and never sent.
10
+ */
11
+ import { hashIssuedCredential } from "./issued-credential.js";
12
+ /** Most events in one batch, and most bytes in one batch body. */
13
+ export const MAX_BATCH_EVENTS = 500;
14
+ export const MAX_BATCH_BYTES = 256 * 1024;
15
+ export const DEFAULT_BATCH_SIZE = 100;
16
+ export const DEFAULT_FLUSH_INTERVAL_MS = 5000;
17
+ export const DEFAULT_MAX_QUEUE = 10000;
18
+ const MAX_USER_AGENT = 512;
19
+ const MAX_TOKENS = 1000000000;
20
+ const SHA256 = /^[0-9a-f]{64}$/;
21
+ const MODEL = /^[A-Za-z0-9][A-Za-z0-9._:/@+-]{0,127}$/;
22
+ // The server reads at most MAX_BATCH_BYTES; keep a little room for the envelope.
23
+ const BODY_BUDGET = MAX_BATCH_BYTES - 64;
24
+ const ENVELOPE_BYTES = '{"events":[]}'.length;
25
+ function wireSize(event) {
26
+ const wire = { key_sha256: event.keySha256, ip: event.ip, occurred_at: event.occurredAt };
27
+ if (event.userAgent !== undefined)
28
+ wire["user_agent"] = event.userAgent;
29
+ if (event.model !== undefined)
30
+ wire["model"] = event.model;
31
+ if (event.inputTokens !== undefined)
32
+ wire["input_tokens"] = event.inputTokens;
33
+ if (event.outputTokens !== undefined)
34
+ wire["output_tokens"] = event.outputTokens;
35
+ // The generated client sends sample_rate always, 1 by default.
36
+ wire["sample_rate"] = event.sampleRate ?? 1;
37
+ // Byte length of the UTF-8 encoding, plus the separating comma.
38
+ return new TextEncoder().encode(JSON.stringify(wire)).length + 1;
39
+ }
40
+ function tokens(value) {
41
+ return typeof value === "number" && Number.isInteger(value) && value >= 0 && value <= MAX_TOKENS ? value : undefined;
42
+ }
43
+ function userAgent(value) {
44
+ if (typeof value !== "string")
45
+ return undefined;
46
+ // eslint-disable-next-line no-control-regex
47
+ const cleaned = Array.from(value.replace(/[\u0000-\u001f\u007f]/g, " ")).slice(0, MAX_USER_AGENT).join("").trim();
48
+ return cleaned === "" ? undefined : cleaned;
49
+ }
50
+ function occurred(value) {
51
+ if (value === undefined)
52
+ return new Date().toISOString();
53
+ const date = value instanceof Date ? value : typeof value === "string" ? new Date(value) : undefined;
54
+ if (!date || Number.isNaN(date.getTime()))
55
+ return undefined;
56
+ return date.toISOString();
57
+ }
58
+ function toEvent(fact, sampleRate) {
59
+ let keySha256;
60
+ if (typeof fact.keySha256 === "string" && SHA256.test(fact.keySha256.toLowerCase())) {
61
+ keySha256 = fact.keySha256.toLowerCase();
62
+ }
63
+ else if (typeof fact.key === "string" && fact.key !== "") {
64
+ keySha256 = hashIssuedCredential(fact.key);
65
+ }
66
+ if (keySha256 === undefined)
67
+ return undefined;
68
+ if (typeof fact.ip !== "string")
69
+ return undefined;
70
+ const ip = fact.ip.trim();
71
+ // eslint-disable-next-line no-control-regex
72
+ if (ip.length < 2 || ip.length > 64 || /[\u0000-\u001f\u007f]/.test(ip))
73
+ return undefined;
74
+ const occurredAt = occurred(fact.occurredAt);
75
+ if (occurredAt === undefined)
76
+ return undefined;
77
+ const event = { keySha256, ip, occurredAt };
78
+ const agent = userAgent(fact.userAgent);
79
+ if (agent !== undefined)
80
+ event.userAgent = agent;
81
+ if (typeof fact.model === "string" && MODEL.test(fact.model))
82
+ event.model = fact.model;
83
+ const input = tokens(fact.inputTokens);
84
+ if (input !== undefined)
85
+ event.inputTokens = input;
86
+ const output = tokens(fact.outputTokens);
87
+ if (output !== undefined)
88
+ event.outputTokens = output;
89
+ if (sampleRate < 1)
90
+ event.sampleRate = sampleRate;
91
+ return event;
92
+ }
93
+ function positiveInteger(value, fallback, name, max = Number.MAX_SAFE_INTEGER) {
94
+ if (value === undefined)
95
+ return fallback;
96
+ if (!Number.isInteger(value) || value <= 0 || value > max)
97
+ throw new TypeError(`${name} must be an integer from 1 to ${max}`);
98
+ return value;
99
+ }
100
+ /**
101
+ * Buffers key usage and sends it to POST /v1/key_usage/batches in the
102
+ * background. Create one per process with `client.keyUsage.buffer()`, call
103
+ * `record` on every request made with an issued key, and `close()` on
104
+ * shutdown.
105
+ */
106
+ export class KeyUsageBuffer {
107
+ sender;
108
+ queue = [];
109
+ batchSize;
110
+ maxQueue;
111
+ sampleRate;
112
+ onError;
113
+ random;
114
+ timer;
115
+ inflight = null;
116
+ closed = false;
117
+ counts = { sent: 0, dropped: 0, failed: 0, invalid: 0 };
118
+ constructor(sender, options = {}) {
119
+ this.sender = sender;
120
+ this.batchSize = positiveInteger(options.batchSize, DEFAULT_BATCH_SIZE, "batchSize", MAX_BATCH_EVENTS);
121
+ this.maxQueue = positiveInteger(options.maxQueue, DEFAULT_MAX_QUEUE, "maxQueue");
122
+ const interval = positiveInteger(options.flushIntervalMs, DEFAULT_FLUSH_INTERVAL_MS, "flushIntervalMs");
123
+ const rate = options.sampleRate ?? 1;
124
+ if (typeof rate !== "number" || !(rate > 0 && rate <= 1))
125
+ throw new TypeError("sampleRate must be above 0 and at most 1");
126
+ this.sampleRate = rate;
127
+ this.onError = options.onError;
128
+ this.random = options.random ?? Math.random;
129
+ this.timer = setInterval(() => {
130
+ if (this.queue.length > 0)
131
+ void this.pump();
132
+ }, interval);
133
+ this.timer.unref?.();
134
+ }
135
+ /** Queue one fact. Never blocks and never throws; a fact without a key, an IP or a readable time is counted in `invalid`. */
136
+ record(fact) {
137
+ try {
138
+ if (this.closed) {
139
+ this.counts.dropped++;
140
+ return;
141
+ }
142
+ if (this.sampleRate < 1 && this.random() >= this.sampleRate)
143
+ return;
144
+ const event = toEvent(fact, this.sampleRate);
145
+ if (event === undefined) {
146
+ this.counts.invalid++;
147
+ return;
148
+ }
149
+ while (this.queue.length >= this.maxQueue) {
150
+ this.queue.shift();
151
+ this.counts.dropped++;
152
+ }
153
+ this.queue.push({ event, bytes: wireSize(event) });
154
+ if (this.queue.length >= this.batchSize && this.inflight === null)
155
+ void this.pump();
156
+ }
157
+ catch {
158
+ this.counts.invalid++;
159
+ }
160
+ }
161
+ /** Send everything queued now, and resolve once it has been sent or has failed. */
162
+ async flush() {
163
+ while (this.inflight !== null || this.queue.length > 0)
164
+ await this.pump();
165
+ }
166
+ /** Stop the timer, send what is queued and refuse further facts (counted as dropped). */
167
+ async close() {
168
+ this.closed = true;
169
+ if (this.timer !== undefined)
170
+ clearInterval(this.timer);
171
+ await this.flush();
172
+ }
173
+ stats() {
174
+ return { queued: this.queue.length, ...this.counts };
175
+ }
176
+ /** One send loop at a time; it drains the queue in batches. */
177
+ pump() {
178
+ if (this.inflight === null) {
179
+ this.inflight = this.drain().finally(() => {
180
+ this.inflight = null;
181
+ });
182
+ }
183
+ return this.inflight;
184
+ }
185
+ async drain() {
186
+ while (this.queue.length > 0) {
187
+ const batch = this.take();
188
+ try {
189
+ await this.sender.record({ events: batch.map((item) => item.event) }, { idempotencyKey: globalThis.crypto.randomUUID() });
190
+ this.counts.sent += batch.length;
191
+ }
192
+ catch (error) {
193
+ this.counts.failed += batch.length;
194
+ try {
195
+ this.onError?.(error);
196
+ }
197
+ catch {
198
+ // A failing callback must not stop the buffer.
199
+ }
200
+ }
201
+ }
202
+ }
203
+ /** The oldest facts that fit one batch: at most 500 events and MAX_BATCH_BYTES of body. */
204
+ take() {
205
+ let bytes = ENVELOPE_BYTES;
206
+ let count = 0;
207
+ while (count < this.queue.length && count < MAX_BATCH_EVENTS) {
208
+ const next = this.queue[count].bytes;
209
+ if (count > 0 && bytes + next > BODY_BUDGET)
210
+ break;
211
+ bytes += next;
212
+ count++;
213
+ }
214
+ return this.queue.splice(0, count);
215
+ }
216
+ }
217
+ //# sourceMappingURL=key-usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-usage.js","sourceRoot":"","sources":["../../src/key-usage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,kEAAkE;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,GAAG,IAAI,CAAC;AAC1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AACtC,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAK,CAAC;AAC/C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAM,CAAC;AAExC,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,UAAU,GAAG,UAAa,CAAC;AACjC,MAAM,MAAM,GAAG,gBAAgB,CAAC;AAChC,MAAM,KAAK,GAAG,wCAAwC,CAAC;AACvD,iFAAiF;AACjF,MAAM,WAAW,GAAG,eAAe,GAAG,EAAE,CAAC;AACzC,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC;AAuD9C,SAAS,QAAQ,CAAC,KAA2B,EAAU;IACrD,MAAM,IAAI,GAA4B,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;IACnH,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;QAAE,IAAI,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC;IACxE,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;IAC3D,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC;IAC9E,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS;QAAE,IAAI,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC;IACjF,+DAA+D;IAC/D,IAAI,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;IAC5C,gEAAgE;IAChE,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAAA,CAClE;AAED,SAAS,MAAM,CAAC,KAAc,EAAsB;IAClD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAAA,CACtH;AAED,SAAS,SAAS,CAAC,KAAc,EAAsB;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChD,4CAA4C;IAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClH,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;AAAA,CAC7C;AAED,SAAS,QAAQ,CAAC,KAAc,EAAsB;IACpD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzD,MAAM,IAAI,GAAG,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5D,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AAAA,CAC3B;AAED,SAAS,OAAO,CAAC,IAAkB,EAAE,UAAkB,EAAoC;IACzF,IAAI,SAA6B,CAAC;IAClC,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QACpF,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;IAC3C,CAAC;SAAM,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC;QAC3D,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC9C,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAClD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IAC1B,4CAA4C;IAC5C,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE,IAAI,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1F,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC/C,MAAM,KAAK,GAAyB,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;IAClE,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,KAAK,KAAK,SAAS;QAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;IACjD,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACvF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvC,IAAI,KAAK,KAAK,SAAS;QAAE,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,MAAM,KAAK,SAAS;QAAE,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC;IACtD,IAAI,UAAU,GAAG,CAAC;QAAE,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;IAClD,OAAO,KAAK,CAAC;AAAA,CACd;AAED,SAAS,eAAe,CAAC,KAAyB,EAAE,QAAgB,EAAE,IAAY,EAAE,GAAG,GAAG,MAAM,CAAC,gBAAgB,EAAU;IACzH,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,GAAG;QAAE,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,iCAAiC,GAAG,EAAE,CAAC,CAAC;IAC9H,OAAO,KAAK,CAAC;AAAA,CACd;AAED;;;;;GAKG;AACH,MAAM,OAAO,cAAc;IAYI,MAAM;IAXlB,KAAK,GAAa,EAAE,CAAC;IACrB,SAAS,CAAS;IAClB,QAAQ,CAAS;IACjB,UAAU,CAAS;IACnB,OAAO,CAAyC;IAChD,MAAM,CAAe;IACrB,KAAK,CAA6C;IAC3D,QAAQ,GAAyB,IAAI,CAAC;IACtC,MAAM,GAAG,KAAK,CAAC;IACf,MAAM,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAEhE,YAA6B,MAAsB,EAAE,OAAO,GAA0B,EAAE,EAAE;sBAA7D,MAAM;QACjC,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;QACvG,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;QACjF,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,eAAe,EAAE,yBAAyB,EAAE,iBAAiB,CAAC,CAAC;QACxG,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC;QACrC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;QAC1H,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QAAA,CAC7C,EAAE,QAAQ,CAAC,CAAC;QACZ,IAAI,CAAC,KAAgC,CAAC,KAAK,EAAE,EAAE,CAAC;IAAA,CAClD;IAED,6HAA6H;IAC7H,MAAM,CAAC,IAAkB,EAAQ;QAC/B,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACtB,OAAO;YACT,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU;gBAAE,OAAO;YACpE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACtB,OAAO;YACT,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC1C,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACxB,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;gBAAE,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACtF,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC;IAAA,CACF;IAED,mFAAmF;IACnF,KAAK,CAAC,KAAK,GAAkB;QAC3B,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IAAA,CAC3E;IAED,yFAAyF;IACzF,KAAK,CAAC,KAAK,GAAkB;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IAAA,CACpB;IAED,KAAK,GAAkB;QACrB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAAA,CACtD;IAED,+DAA+D;IACvD,IAAI,GAAkB;QAC5B,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YAAA,CACtB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IAAA,CACtB;IAEO,KAAK,CAAC,KAAK,GAAkB;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBAC1H,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;gBACnC,IAAI,CAAC;oBACH,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC;gBAAC,MAAM,CAAC;oBACP,+CAA+C;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;IAAA,CACF;IAED,2FAA2F;IACnF,IAAI,GAAa;QACvB,IAAI,KAAK,GAAG,cAAc,CAAC;QAC3B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,GAAG,gBAAgB,EAAE,CAAC;YAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC,KAAK,CAAC;YACtC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,GAAG,WAAW;gBAAE,MAAM;YACnD,KAAK,IAAI,IAAI,CAAC;YACd,KAAK,EAAE,CAAC;QACV,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAAA,CACpC;CACF"}
@@ -31,8 +31,8 @@ export declare function serverURLFromOptions(options: SDKOptions): URL | null;
31
31
  export declare const SDK_METADATA: {
32
32
  readonly language: "typescript";
33
33
  readonly openapiDocVersion: "1";
34
- readonly sdkVersion: "3.0.2";
34
+ readonly sdkVersion: "3.0.4";
35
35
  readonly genVersion: "internal";
36
- readonly userAgent: "noresponse-sdk/typescript 3.0.2 internal 1 @noresponse/node";
36
+ readonly userAgent: "noresponse-sdk/typescript 3.0.4 internal 1 @noresponse/node";
37
37
  };
38
38
  //# sourceMappingURL=config.d.ts.map
@@ -24,8 +24,8 @@ export function serverURLFromOptions(options) {
24
24
  export const SDK_METADATA = {
25
25
  language: "typescript",
26
26
  openapiDocVersion: "1",
27
- sdkVersion: "3.0.2",
27
+ sdkVersion: "3.0.4",
28
28
  genVersion: "internal",
29
- userAgent: "noresponse-sdk/typescript 3.0.2 internal 1 @noresponse/node",
29
+ userAgent: "noresponse-sdk/typescript 3.0.4 internal 1 @noresponse/node",
30
30
  };
31
31
  //# sourceMappingURL=config.js.map
@@ -4,7 +4,7 @@ import { AccountDecisionsByFlow } from "./account-decisions-by-flow.js";
4
4
  import { AccountRisk } from "./account-risk.js";
5
5
  import { SDKValidationError } from "./errors/sdk-validation-error.js";
6
6
  /**
7
- * Body of the 200 answer to GET /v1/accounts/{account_id}: the one current risk of one of the calling tenant's accounts. It is the risk of the account's latest assessment that has a decision (status complete or partial), by created_at and then assessment_id, scored exactly as GET /v1/assessments/{assessment_id} scores that assessment. Its assessments are the account's history (GET /v1/accounts/{account_id}/assessments).
7
+ * Body of the 200 answer to GET /v1/accounts/{account_id}: the one current risk of one of the calling tenant's accounts. It is the risk of the account's latest assessment that has a decision (status complete or partial), by created_at and then assessment_id, scored exactly as GET /v1/assessments/{assessment_id} scores that assessment, plus the account's own reason shared_api_key when a key issued to the account was used from many IP addresses or countries (POST /v1/key_usage/batches). Its assessments are the account's history (GET /v1/accounts/{account_id}/assessments).
8
8
  */
9
9
  export type Account = {
10
10
  /**
@@ -31,7 +31,7 @@ export type Assessment = {
31
31
  */
32
32
  depth: Depth;
33
33
  /**
34
- * Body of the 200 answer to GET /v1/accounts/{account_id}: the one current risk of one of the calling tenant's accounts. It is the risk of the account's latest assessment that has a decision (status complete or partial), by created_at and then assessment_id, scored exactly as GET /v1/assessments/{assessment_id} scores that assessment. Its assessments are the account's history (GET /v1/accounts/{account_id}/assessments).
34
+ * Body of the 200 answer to GET /v1/accounts/{account_id}: the one current risk of one of the calling tenant's accounts. It is the risk of the account's latest assessment that has a decision (status complete or partial), by created_at and then assessment_id, scored exactly as GET /v1/assessments/{assessment_id} scores that assessment, plus the account's own reason shared_api_key when a key issued to the account was used from many IP addresses or countries (POST /v1/key_usage/batches). Its assessments are the account's history (GET /v1/accounts/{account_id}/assessments).
35
35
  */
36
36
  account?: Account | undefined;
37
37
  /**
@@ -55,6 +55,9 @@ export * from "./ip-summary-type.js";
55
55
  export * from "./ip-summary.js";
56
56
  export * from "./key-rotation-request.js";
57
57
  export * from "./key-rotation.js";
58
+ export * from "./key-usage-batch-request.js";
59
+ export * from "./key-usage-batch.js";
60
+ export * from "./key-usage-event.js";
58
61
  export * from "./lane.js";
59
62
  export * from "./line-type.js";
60
63
  export * from "./not-found-error-code.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,9 @@ export * from "./ip-summary-type.js";
55
55
  export * from "./ip-summary.js";
56
56
  export * from "./key-rotation-request.js";
57
57
  export * from "./key-rotation.js";
58
+ export * from "./key-usage-batch-request.js";
59
+ export * from "./key-usage-batch.js";
60
+ export * from "./key-usage-event.js";
58
61
  export * from "./lane.js";
59
62
  export * from "./line-type.js";
60
63
  export * from "./not-found-error-code.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import * as z from "zod/v4-mini";
2
+ import { KeyUsageEvent, KeyUsageEvent$Outbound } from "./key-usage-event.js";
3
+ /**
4
+ * POST /v1/key_usage/batches body: facts about requests made with API keys your signup gate issued to your accounts, one event per request. Each event names the key by the SHA-256 that the assessment's issued_credential.sha256 carried, not the key itself. The SDKs buffer events and send them in the background. A batch holds 1 to 500 events and at most 256 KiB. Idempotency-Key is required and binds the body as on POST /v1/assessments, so a retried batch is counted once.
5
+ */
6
+ export type KeyUsageBatchRequest = {
7
+ events: Array<KeyUsageEvent>;
8
+ };
9
+ /** @internal */
10
+ export type KeyUsageBatchRequest$Outbound = {
11
+ events: Array<KeyUsageEvent$Outbound>;
12
+ };
13
+ /** @internal */
14
+ export declare const KeyUsageBatchRequest$outboundSchema: z.ZodMiniType<KeyUsageBatchRequest$Outbound, KeyUsageBatchRequest>;
15
+ export declare function keyUsageBatchRequestToJSON(keyUsageBatchRequest: KeyUsageBatchRequest): string;
16
+ //# sourceMappingURL=key-usage-batch-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-usage-batch-request.d.ts","sourceRoot":"","sources":["../../../src/models/key-usage-batch-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EACL,aAAa,EACb,sBAAsB,EAEvB,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;CAC9B,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,6BAA6B,GAAG;IAC1C,MAAM,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC;CACvC,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,mCAAmC,EAAE,CAAC,CAAC,WAAW,CAC7D,6BAA6B,EAC7B,oBAAoB,CAGpB,CAAC;AAEH,wBAAgB,0BAA0B,CACxC,oBAAoB,EAAE,oBAAoB,GACzC,MAAM,CAIR"}
@@ -0,0 +1,10 @@
1
+ import * as z from "zod/v4-mini";
2
+ import { KeyUsageEvent$outboundSchema, } from "./key-usage-event.js";
3
+ /** @internal */
4
+ export const KeyUsageBatchRequest$outboundSchema = z.object({
5
+ events: z.array(KeyUsageEvent$outboundSchema),
6
+ });
7
+ export function keyUsageBatchRequestToJSON(keyUsageBatchRequest) {
8
+ return JSON.stringify(KeyUsageBatchRequest$outboundSchema.parse(keyUsageBatchRequest));
9
+ }
10
+ //# sourceMappingURL=key-usage-batch-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-usage-batch-request.js","sourceRoot":"","sources":["../../../src/models/key-usage-batch-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAGL,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAc9B,gBAAgB;AAChB,MAAM,CAAC,MAAM,mCAAmC,GAG5C,CAAC,CAAC,MAAM,CAAC;IACX,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC;CAC9C,CAAC,CAAC;AAEH,MAAM,UAAU,0BAA0B,CACxC,oBAA0C,EAClC;IACR,OAAO,IAAI,CAAC,SAAS,CACnB,mCAAmC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAChE,CAAC;AAAA,CACH"}
@@ -0,0 +1,28 @@
1
+ import * as z from "zod/v4-mini";
2
+ import { Result as SafeParseResult } from "../types/fp.js";
3
+ import { SDKValidationError } from "./errors/sdk-validation-error.js";
4
+ /**
5
+ * The 202 answer of POST /v1/key_usage/batches. A replay with the same Idempotency-Key and body answers the same record and counts nothing again.
6
+ */
7
+ export type KeyUsageBatch = {
8
+ /**
9
+ * Opaque, server-assigned id of the batch: 'kub_' and a 26-character Crockford base32 ULID.
10
+ */
11
+ id: string;
12
+ /**
13
+ * When NoResponse first recorded the batch.
14
+ */
15
+ receivedAt: string;
16
+ /**
17
+ * Events counted.
18
+ */
19
+ accepted: number;
20
+ /**
21
+ * Events that added nothing: a private, reserved or unreadable ip, or an occurred_at more than 24 hours old or more than 5 minutes ahead.
22
+ */
23
+ ignored: number;
24
+ };
25
+ /** @internal */
26
+ export declare const KeyUsageBatch$inboundSchema: z.ZodMiniType<KeyUsageBatch, unknown>;
27
+ export declare function keyUsageBatchFromJSON(jsonString: string): SafeParseResult<KeyUsageBatch, SDKValidationError>;
28
+ //# sourceMappingURL=key-usage-batch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-usage-batch.d.ts","sourceRoot":"","sources":["../../../src/models/key-usage-batch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AAGjC,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,2BAA2B,EAAE,CAAC,CAAC,WAAW,CACrD,aAAa,EACb,OAAO,CAaR,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,GACjB,eAAe,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAMpD"}
@@ -0,0 +1,19 @@
1
+ import * as z from "zod/v4-mini";
2
+ import { remap as remap$ } from "../lib/primitives.js";
3
+ import { safeParse } from "../lib/schemas.js";
4
+ import * as types from "../types/primitives.js";
5
+ /** @internal */
6
+ export const KeyUsageBatch$inboundSchema = z.pipe(z.object({
7
+ id: types.string(),
8
+ received_at: types.string(),
9
+ accepted: types.number(),
10
+ ignored: types.number(),
11
+ }), z.transform((v) => {
12
+ return remap$(v, {
13
+ "received_at": "receivedAt",
14
+ });
15
+ }));
16
+ export function keyUsageBatchFromJSON(jsonString) {
17
+ return safeParse(jsonString, (x) => KeyUsageBatch$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'KeyUsageBatch' from JSON`);
18
+ }
19
+ //# sourceMappingURL=key-usage-batch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-usage-batch.js","sourceRoot":"","sources":["../../../src/models/key-usage-batch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,KAAK,KAAK,MAAM,wBAAwB,CAAC;AAyBhD,gBAAgB;AAChB,MAAM,CAAC,MAAM,2BAA2B,GAGpC,CAAC,CAAC,IAAI,CACR,CAAC,CAAC,MAAM,CAAC;IACP,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE;IAClB,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE;IAC3B,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE;IACxB,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE;CACxB,CAAC,EACF,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACjB,OAAO,MAAM,CAAC,CAAC,EAAE;QACf,aAAa,EAAE,YAAY;KAC5B,CAAC,CAAC;AAAA,CACJ,CAAC,CACH,CAAC;AAEF,MAAM,UAAU,qBAAqB,CACnC,UAAkB,EACkC;IACpD,OAAO,SAAS,CACd,UAAU,EACV,CAAC,CAAC,EAAE,EAAE,CAAC,2BAA2B,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACvD,2CAA2C,CAC5C,CAAC;AAAA,CACH"}
@@ -0,0 +1,53 @@
1
+ import * as z from "zod/v4-mini";
2
+ /**
3
+ * One request made with an issued key. An event whose ip is not a public address, or whose occurred_at is more than 24 hours old or more than 5 minutes ahead, is counted in ignored and adds nothing.
4
+ */
5
+ export type KeyUsageEvent = {
6
+ /**
7
+ * SHA-256 of the issued key's UTF-8 bytes, as 64 lower-case hex characters: the value sent as issued_credential.sha256 when the account was assessed. Each SDK's issued-credential helper computes it.
8
+ */
9
+ keySha256: string;
10
+ /**
11
+ * The client IP address the request came from, IPv4 or IPv6, as your server saw it. Stored only as a keyed digest and its country.
12
+ */
13
+ ip: string;
14
+ /**
15
+ * When the request was made.
16
+ */
17
+ occurredAt: string;
18
+ /**
19
+ * The request's User-Agent header, at most 512 characters. Stored only as a keyed digest.
20
+ */
21
+ userAgent?: string | undefined;
22
+ /**
23
+ * The model or product the request used, such as gpt-4o-mini. Stored only as a keyed digest.
24
+ */
25
+ model?: string | undefined;
26
+ /**
27
+ * Input tokens the request consumed.
28
+ */
29
+ inputTokens?: number | undefined;
30
+ /**
31
+ * Output tokens the request produced.
32
+ */
33
+ outputTokens?: number | undefined;
34
+ /**
35
+ * The share of requests your sampler records, when it records only some: 0.1 means this event stands for 10 requests. Request and token totals are weighted by its inverse. Distinct IP and country counts see only the events sent.
36
+ */
37
+ sampleRate?: number | undefined;
38
+ };
39
+ /** @internal */
40
+ export type KeyUsageEvent$Outbound = {
41
+ key_sha256: string;
42
+ ip: string;
43
+ occurred_at: string;
44
+ user_agent?: string | undefined;
45
+ model?: string | undefined;
46
+ input_tokens?: number | undefined;
47
+ output_tokens?: number | undefined;
48
+ sample_rate: number;
49
+ };
50
+ /** @internal */
51
+ export declare const KeyUsageEvent$outboundSchema: z.ZodMiniType<KeyUsageEvent$Outbound, KeyUsageEvent>;
52
+ export declare function keyUsageEventToJSON(keyUsageEvent: KeyUsageEvent): string;
53
+ //# sourceMappingURL=key-usage-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-usage-event.d.ts","sourceRoot":"","sources":["../../../src/models/key-usage-event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AAGjC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,4BAA4B,EAAE,CAAC,CAAC,WAAW,CACtD,sBAAsB,EACtB,aAAa,CAsBd,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAExE"}
@@ -0,0 +1,26 @@
1
+ import * as z from "zod/v4-mini";
2
+ import { remap as remap$ } from "../lib/primitives.js";
3
+ /** @internal */
4
+ export const KeyUsageEvent$outboundSchema = z.pipe(z.object({
5
+ keySha256: z.string(),
6
+ ip: z.string(),
7
+ occurredAt: z.string(),
8
+ userAgent: z.optional(z.string()),
9
+ model: z.optional(z.string()),
10
+ inputTokens: z.optional(z.int()),
11
+ outputTokens: z.optional(z.int()),
12
+ sampleRate: z._default(z.number(), 1),
13
+ }), z.transform((v) => {
14
+ return remap$(v, {
15
+ keySha256: "key_sha256",
16
+ occurredAt: "occurred_at",
17
+ userAgent: "user_agent",
18
+ inputTokens: "input_tokens",
19
+ outputTokens: "output_tokens",
20
+ sampleRate: "sample_rate",
21
+ });
22
+ }));
23
+ export function keyUsageEventToJSON(keyUsageEvent) {
24
+ return JSON.stringify(KeyUsageEvent$outboundSchema.parse(keyUsageEvent));
25
+ }
26
+ //# sourceMappingURL=key-usage-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-usage-event.js","sourceRoot":"","sources":["../../../src/models/key-usage-event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAoDvD,gBAAgB;AAChB,MAAM,CAAC,MAAM,4BAA4B,GAGrC,CAAC,CAAC,IAAI,CACR,CAAC,CAAC,MAAM,CAAC;IACP,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7B,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IAChC,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACjC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;CACtC,CAAC,EACF,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACjB,OAAO,MAAM,CAAC,CAAC,EAAE;QACf,SAAS,EAAE,YAAY;QACvB,UAAU,EAAE,aAAa;QACzB,SAAS,EAAE,YAAY;QACvB,WAAW,EAAE,cAAc;QAC3B,YAAY,EAAE,eAAe;QAC7B,UAAU,EAAE,aAAa;KAC1B,CAAC,CAAC;AAAA,CACJ,CAAC,CACH,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,aAA4B,EAAU;IACxE,OAAO,IAAI,CAAC,SAAS,CAAC,4BAA4B,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;AAAA,CAC1E"}
@@ -13,6 +13,7 @@ export * from "./list-webhook-deliveries.js";
13
13
  export * from "./list-webhook-endpoints.js";
14
14
  export * from "./query-account-assessments.js";
15
15
  export * from "./record-assessment-outcome.js";
16
+ export * from "./record-key-usage.js";
16
17
  export * from "./replay-webhook-delivery.js";
17
18
  export * from "./rotate-api-key.js";
18
19
  export * from "./rotate-integration-secret.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/models/operations/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/models/operations/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC"}
@@ -13,6 +13,7 @@ export * from "./list-webhook-deliveries.js";
13
13
  export * from "./list-webhook-endpoints.js";
14
14
  export * from "./query-account-assessments.js";
15
15
  export * from "./record-assessment-outcome.js";
16
+ export * from "./record-key-usage.js";
16
17
  export * from "./replay-webhook-delivery.js";
17
18
  export * from "./rotate-api-key.js";
18
19
  export * from "./rotate-integration-secret.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/models/operations/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/models/operations/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC"}
@@ -0,0 +1,29 @@
1
+ import * as z from "zod/v4-mini";
2
+ import { Result as SafeParseResult } from "../../types/fp.js";
3
+ import { SDKValidationError } from "../errors/sdk-validation-error.js";
4
+ import * as models from "../index.js";
5
+ export type RecordKeyUsageRequest = {
6
+ /**
7
+ * Opaque client key, 16 to 128 characters of [A-Za-z0-9._:-] (a UUID or ULID fits). Scoped to the tenant principal and bound to the canonical body for 24 hours.
8
+ */
9
+ idempotencyKey: string;
10
+ body: models.KeyUsageBatchRequest;
11
+ };
12
+ export type RecordKeyUsageResponse = {
13
+ headers: {
14
+ [k: string]: Array<string>;
15
+ };
16
+ result: models.KeyUsageBatch;
17
+ };
18
+ /** @internal */
19
+ export type RecordKeyUsageRequest$Outbound = {
20
+ "Idempotency-Key": string;
21
+ body: models.KeyUsageBatchRequest$Outbound;
22
+ };
23
+ /** @internal */
24
+ export declare const RecordKeyUsageRequest$outboundSchema: z.ZodMiniType<RecordKeyUsageRequest$Outbound, RecordKeyUsageRequest>;
25
+ export declare function recordKeyUsageRequestToJSON(recordKeyUsageRequest: RecordKeyUsageRequest): string;
26
+ /** @internal */
27
+ export declare const RecordKeyUsageResponse$inboundSchema: z.ZodMiniType<RecordKeyUsageResponse, unknown>;
28
+ export declare function recordKeyUsageResponseFromJSON(jsonString: string): SafeParseResult<RecordKeyUsageResponse, SDKValidationError>;
29
+ //# sourceMappingURL=record-key-usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-key-usage.d.ts","sourceRoot":"","sources":["../../../../src/models/operations/record-key-usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AAGjC,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,MAAM,MAAM,qBAAqB,GAAG;IAClC;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC,oBAAoB,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC;CAC9B,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,8BAA8B,GAAG;IAC3C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC,6BAA6B,CAAC;CAC5C,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,oCAAoC,EAAE,CAAC,CAAC,WAAW,CAC9D,8BAA8B,EAC9B,qBAAqB,CAWtB,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,qBAAqB,EAAE,qBAAqB,GAC3C,MAAM,CAIR;AAED,gBAAgB;AAChB,eAAO,MAAM,oCAAoC,EAAE,CAAC,CAAC,WAAW,CAC9D,sBAAsB,EACtB,OAAO,CAYR,CAAC;AAEF,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,MAAM,GACjB,eAAe,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CAM7D"}
@@ -0,0 +1,30 @@
1
+ import * as z from "zod/v4-mini";
2
+ import { remap as remap$ } from "../../lib/primitives.js";
3
+ import { safeParse } from "../../lib/schemas.js";
4
+ import * as models from "../index.js";
5
+ /** @internal */
6
+ export const RecordKeyUsageRequest$outboundSchema = z.pipe(z.object({
7
+ idempotencyKey: z.string(),
8
+ body: models.KeyUsageBatchRequest$outboundSchema,
9
+ }), z.transform((v) => {
10
+ return remap$(v, {
11
+ idempotencyKey: "Idempotency-Key",
12
+ });
13
+ }));
14
+ export function recordKeyUsageRequestToJSON(recordKeyUsageRequest) {
15
+ return JSON.stringify(RecordKeyUsageRequest$outboundSchema.parse(recordKeyUsageRequest));
16
+ }
17
+ /** @internal */
18
+ export const RecordKeyUsageResponse$inboundSchema = z.pipe(z.object({
19
+ Headers: z._default(z.record(z.string(), z.array(z.string())), {}),
20
+ Result: models.KeyUsageBatch$inboundSchema,
21
+ }), z.transform((v) => {
22
+ return remap$(v, {
23
+ "Headers": "headers",
24
+ "Result": "result",
25
+ });
26
+ }));
27
+ export function recordKeyUsageResponseFromJSON(jsonString) {
28
+ return safeParse(jsonString, (x) => RecordKeyUsageResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'RecordKeyUsageResponse' from JSON`);
29
+ }
30
+ //# sourceMappingURL=record-key-usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-key-usage.js","sourceRoot":"","sources":["../../../../src/models/operations/record-key-usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAqBtC,gBAAgB;AAChB,MAAM,CAAC,MAAM,oCAAoC,GAG7C,CAAC,CAAC,IAAI,CACR,CAAC,CAAC,MAAM,CAAC;IACP,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,IAAI,EAAE,MAAM,CAAC,mCAAmC;CACjD,CAAC,EACF,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACjB,OAAO,MAAM,CAAC,CAAC,EAAE;QACf,cAAc,EAAE,iBAAiB;KAClC,CAAC,CAAC;AAAA,CACJ,CAAC,CACH,CAAC;AAEF,MAAM,UAAU,2BAA2B,CACzC,qBAA4C,EACpC;IACR,OAAO,IAAI,CAAC,SAAS,CACnB,oCAAoC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAClE,CAAC;AAAA,CACH;AAED,gBAAgB;AAChB,MAAM,CAAC,MAAM,oCAAoC,GAG7C,CAAC,CAAC,IAAI,CACR,CAAC,CAAC,MAAM,CAAC;IACP,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IAClE,MAAM,EAAE,MAAM,CAAC,2BAA2B;CAC3C,CAAC,EACF,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACjB,OAAO,MAAM,CAAC,CAAC,EAAE;QACf,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;AAAA,CACJ,CAAC,CACH,CAAC;AAEF,MAAM,UAAU,8BAA8B,CAC5C,UAAkB,EAC2C;IAC7D,OAAO,SAAS,CACd,UAAU,EACV,CAAC,CAAC,EAAE,EAAE,CAAC,oCAAoC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAChE,oDAAoD,CACrD,CAAC;AAAA,CACH"}
@@ -40,6 +40,7 @@ export declare const ReasonCode: {
40
40
  readonly ContextLineCountryMismatch: "context_line_country_mismatch";
41
41
  readonly PriorAbuseLink: "prior_abuse_link";
42
42
  readonly TestScenario: "test_scenario";
43
+ readonly SharedApiKey: "shared_api_key";
43
44
  };
44
45
  /**
45
46
  * A stable reason code. New codes may appear; ignore any you do not know.