@dork-labs/cloud-api 0.83.0 → 0.88.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.
Files changed (55) hide show
  1. package/README.md +210 -22
  2. package/dist/billing.d.ts +225 -12
  3. package/dist/billing.d.ts.map +1 -1
  4. package/dist/billing.js +159 -36
  5. package/dist/billing.js.map +1 -1
  6. package/dist/connections.d.ts +19 -0
  7. package/dist/connections.d.ts.map +1 -1
  8. package/dist/connections.js +16 -0
  9. package/dist/connections.js.map +1 -1
  10. package/dist/display.d.ts +172 -0
  11. package/dist/display.d.ts.map +1 -0
  12. package/dist/display.js +431 -0
  13. package/dist/display.js.map +1 -0
  14. package/dist/primitives.d.ts +63 -0
  15. package/dist/primitives.d.ts.map +1 -1
  16. package/dist/primitives.js +78 -1
  17. package/dist/primitives.js.map +1 -1
  18. package/dist/problem.d.ts +22 -0
  19. package/dist/problem.d.ts.map +1 -1
  20. package/dist/problem.js +26 -2
  21. package/dist/problem.js.map +1 -1
  22. package/dist/remote.d.ts +151 -1
  23. package/dist/remote.d.ts.map +1 -1
  24. package/dist/remote.js +163 -8
  25. package/dist/remote.js.map +1 -1
  26. package/dist/routes.d.ts +16 -1
  27. package/dist/routes.d.ts.map +1 -1
  28. package/dist/routes.js +16 -1
  29. package/dist/routes.js.map +1 -1
  30. package/dist/seats.d.ts +43 -2
  31. package/dist/seats.d.ts.map +1 -1
  32. package/dist/seats.js +29 -3
  33. package/dist/seats.js.map +1 -1
  34. package/fixtures/v1/billing/balance-denominated.json +20 -0
  35. package/fixtures/v1/billing/entitlements-denominated.json +38 -0
  36. package/fixtures/v1/billing/nudge-denominated.json +13 -0
  37. package/fixtures/v1/billing/offers-empty.json +3 -0
  38. package/fixtures/v1/billing/offers.json +48 -0
  39. package/fixtures/v1/billing/price-list-cache-rates.json +19 -0
  40. package/fixtures/v1/billing/statement-itemised.json +35 -0
  41. package/fixtures/v1/billing/usage-denominated.json +25 -0
  42. package/fixtures/v1/index.json +20 -0
  43. package/fixtures/v1/problem/malformed-identifier.json +7 -0
  44. package/fixtures/v1/problem/malformed-request.json +7 -0
  45. package/fixtures/v1/remote/credential-with-hosts.json +8 -0
  46. package/fixtures/v1/remote/designation-current.json +5 -0
  47. package/fixtures/v1/remote/designation-none.json +5 -0
  48. package/fixtures/v1/remote/events-batch-spans.json +15 -0
  49. package/fixtures/v1/remote/events-batch.json +5 -0
  50. package/fixtures/v1/remote/status-open-with-instance.json +10 -0
  51. package/fixtures/v1/remote/usage-fresh.json +17 -0
  52. package/fixtures/v1/remote/usage.json +39 -0
  53. package/fixtures/v1/seats/agent-approved-claim.json +8 -0
  54. package/fixtures/v1/seats/agent-pending-claim.json +9 -0
  55. package/package.json +5 -1
package/dist/problem.d.ts CHANGED
@@ -5,6 +5,26 @@ import { z } from 'zod';
5
5
  * These are mechanism, not catalog: they name what went wrong with a request,
6
6
  * which is a property of the protocol and is published on purpose. Nothing here
7
7
  * names a plan, a model, a supplier or an amount.
8
+ *
9
+ * Two request-shape codes answer two different facts, so a client can tell
10
+ * whether the thing a request was about exists without parsing the path:
11
+ *
12
+ * - `malformed_identifier`: **the address named nothing.** An identifier in
13
+ * the path is not one the service could ever have issued
14
+ * (`GET /v1/seats/not-an-id`). There is no such thing to talk about, so the
15
+ * honest sentence is that it does not exist.
16
+ * - `malformed_request`: **the address resolves, and the request to it could
17
+ * not be read.** A bad cursor, limit, window, period or body, including an
18
+ * identifier carried in the query or the body (`GET /v1/usage?from=nonsense`,
19
+ * `GET /v1/seats/{seatId}/inbox?cursor=stale`). A corrected request can
20
+ * succeed.
21
+ *
22
+ * `not_found` is the third answer beside them: a well-formed identifier that
23
+ * names nothing the caller can see.
24
+ *
25
+ * `malformed_identifier` arrived after `malformed_request`. A service that
26
+ * predates it sends `malformed_request` for both facts, so a client that meets
27
+ * `malformed_request` from an older service cannot rule out the first fact.
8
28
  */
9
29
  export declare const ProblemCodeSchema: z.ZodEnum<{
10
30
  unauthenticated: "unauthenticated";
@@ -13,6 +33,7 @@ export declare const ProblemCodeSchema: z.ZodEnum<{
13
33
  forbidden: "forbidden";
14
34
  scope_required: "scope_required";
15
35
  malformed_request: "malformed_request";
36
+ malformed_identifier: "malformed_identifier";
16
37
  unsupported_wire_version: "unsupported_wire_version";
17
38
  not_found: "not_found";
18
39
  conflict: "conflict";
@@ -68,6 +89,7 @@ export declare const ProblemSchema: z.ZodObject<{
68
89
  forbidden: "forbidden";
69
90
  scope_required: "scope_required";
70
91
  malformed_request: "malformed_request";
92
+ malformed_identifier: "malformed_identifier";
71
93
  unsupported_wire_version: "unsupported_wire_version";
72
94
  not_found: "not_found";
73
95
  conflict: "conflict";
@@ -1 +1 @@
1
- {"version":3,"file":"problem.d.ts","sourceRoot":"","sources":["../src/problem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4C3B,CAAC;AAEJ,sEAAsE;AACtE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkDvB,CAAC;AAEJ,8EAA8E;AAC9E,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAE1D"}
1
+ {"version":3,"file":"problem.d.ts","sourceRoot":"","sources":["../src/problem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgD3B,CAAC;AAEJ,sEAAsE;AACtE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkDvB,CAAC;AAEJ,8EAA8E;AAC9E,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAE1D"}
package/dist/problem.js CHANGED
@@ -6,6 +6,26 @@ import { HttpsUrlSchema, IdSchema, TimestampSchema } from './primitives.js';
6
6
  * These are mechanism, not catalog: they name what went wrong with a request,
7
7
  * which is a property of the protocol and is published on purpose. Nothing here
8
8
  * names a plan, a model, a supplier or an amount.
9
+ *
10
+ * Two request-shape codes answer two different facts, so a client can tell
11
+ * whether the thing a request was about exists without parsing the path:
12
+ *
13
+ * - `malformed_identifier`: **the address named nothing.** An identifier in
14
+ * the path is not one the service could ever have issued
15
+ * (`GET /v1/seats/not-an-id`). There is no such thing to talk about, so the
16
+ * honest sentence is that it does not exist.
17
+ * - `malformed_request`: **the address resolves, and the request to it could
18
+ * not be read.** A bad cursor, limit, window, period or body, including an
19
+ * identifier carried in the query or the body (`GET /v1/usage?from=nonsense`,
20
+ * `GET /v1/seats/{seatId}/inbox?cursor=stale`). A corrected request can
21
+ * succeed.
22
+ *
23
+ * `not_found` is the third answer beside them: a well-formed identifier that
24
+ * names nothing the caller can see.
25
+ *
26
+ * `malformed_identifier` arrived after `malformed_request`. A service that
27
+ * predates it sends `malformed_request` for both facts, so a client that meets
28
+ * `malformed_request` from an older service cannot rule out the first fact.
9
29
  */
10
30
  export const ProblemCodeSchema = z
11
31
  .enum([
@@ -15,8 +35,10 @@ export const ProblemCodeSchema = z
15
35
  'expired_token',
16
36
  'forbidden',
17
37
  'scope_required',
18
- // Request shape.
38
+ // Request shape. `malformed_request`: the request about a real thing could
39
+ // not be read. `malformed_identifier`: the address named nothing at all.
19
40
  'malformed_request',
41
+ 'malformed_identifier',
20
42
  'unsupported_wire_version',
21
43
  'not_found',
22
44
  'conflict',
@@ -36,6 +58,8 @@ export const ProblemCodeSchema = z
36
58
  'quota_exceeded',
37
59
  'topup_below_minimum',
38
60
  'first_purchase_cap',
61
+ // No longer sent: it belonged to the withdrawn refunds route. Kept because
62
+ // removing a member narrows a published type, which is a `/v2` change.
39
63
  'refund_window_closed',
40
64
  // Remote access.
41
65
  'enrolment_required',
@@ -49,7 +73,7 @@ export const ProblemCodeSchema = z
49
73
  'internal_error',
50
74
  'temporarily_unavailable',
51
75
  ])
52
- .describe('The machine-readable failure code. Codes describe the mechanism of a refusal and never identify a plan, a model or a supplier.');
76
+ .describe('The machine-readable failure code. Codes describe the mechanism of a refusal and never identify a plan, a model or a supplier. `malformed_identifier` means the address named nothing: an identifier in the path is not one the service could have issued. `malformed_request` means the address resolves and the request to it (a cursor, limit, window, period or body, including an identifier in the query or body) could not be read. A service older than `malformed_identifier` sends `malformed_request` for both.');
53
77
  /**
54
78
  * The single error envelope every endpoint in this contract returns.
55
79
  *
@@ -1 +1 @@
1
- {"version":3,"file":"problem.js","sourceRoot":"","sources":["../src/problem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE5E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,IAAI,CAAC;IACJ,oCAAoC;IACpC,iBAAiB;IACjB,eAAe;IACf,eAAe;IACf,WAAW;IACX,gBAAgB;IAChB,iBAAiB;IACjB,mBAAmB;IACnB,0BAA0B;IAC1B,WAAW;IACX,UAAU;IACV,qBAAqB;IACrB,cAAc;IACd,4BAA4B;IAC5B,sBAAsB;IACtB,kBAAkB;IAClB,cAAc;IACd,iBAAiB;IACjB,mBAAmB;IACnB,oBAAoB;IACpB,YAAY;IACZ,oCAAoC;IACpC,sBAAsB;IACtB,mBAAmB;IACnB,gBAAgB;IAChB,qBAAqB;IACrB,oBAAoB;IACpB,sBAAsB;IACtB,iBAAiB;IACjB,oBAAoB;IACpB,iBAAiB;IACjB,qBAAqB;IACrB,sBAAsB;IACtB,sBAAsB;IACtB,yBAAyB;IACzB,kBAAkB;IAClB,2BAA2B;IAC3B,gBAAgB;IAChB,yBAAyB;CAC1B,CAAC;KACD,QAAQ,CACP,gIAAgI,CACjI,CAAC;AAKJ;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN,IAAI,EAAE,iBAAiB;IACvB,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,GAAG,CAAC;SACR,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CAAC,gDAAgD,CAAC;IAC7D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;IACrF,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0EAA0E,CAAC;IACvF,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACpC,mEAAmE,CACpE;IACD,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,GAAG,EAAE;SACL,WAAW,EAAE;SACb,QAAQ,EAAE;SACV,QAAQ,CAAC,kEAAkE,CAAC;IAC/E,cAAc,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC1C,6IAA6I,CAC9I;IACD,uBAAuB,EAAE,CAAC;SACvB,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;IACvE,OAAO,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC1C,kEAAkE,CACnE;IACD,SAAS,EAAE,cAAc,CAAC,QAAQ,EAAE;SACjC,KAAK,CAAC,SAAS,CAAC;SAChB,QAAQ,CACP,iLAAiL,CAClL;IACH,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,EAAE;SACV,KAAK,CAAC,SAAS,CAAC;SAChB,QAAQ,CACP,qGAAqG,CACtG;CACJ,CAAC;KACD,QAAQ,CACP,0FAA0F,CAC3F,CAAC;AAKJ;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"problem.js","sourceRoot":"","sources":["../src/problem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,IAAI,CAAC;IACJ,oCAAoC;IACpC,iBAAiB;IACjB,eAAe;IACf,eAAe;IACf,WAAW;IACX,gBAAgB;IAChB,2EAA2E;IAC3E,yEAAyE;IACzE,mBAAmB;IACnB,sBAAsB;IACtB,0BAA0B;IAC1B,WAAW;IACX,UAAU;IACV,qBAAqB;IACrB,cAAc;IACd,4BAA4B;IAC5B,sBAAsB;IACtB,kBAAkB;IAClB,cAAc;IACd,iBAAiB;IACjB,mBAAmB;IACnB,oBAAoB;IACpB,YAAY;IACZ,oCAAoC;IACpC,sBAAsB;IACtB,mBAAmB;IACnB,gBAAgB;IAChB,qBAAqB;IACrB,oBAAoB;IACpB,2EAA2E;IAC3E,uEAAuE;IACvE,sBAAsB;IACtB,iBAAiB;IACjB,oBAAoB;IACpB,iBAAiB;IACjB,qBAAqB;IACrB,sBAAsB;IACtB,sBAAsB;IACtB,yBAAyB;IACzB,kBAAkB;IAClB,2BAA2B;IAC3B,gBAAgB;IAChB,yBAAyB;CAC1B,CAAC;KACD,QAAQ,CACP,4fAA4f,CAC7f,CAAC;AAKJ;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN,IAAI,EAAE,iBAAiB;IACvB,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,GAAG,CAAC;SACR,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CAAC,gDAAgD,CAAC;IAC7D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;IACrF,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0EAA0E,CAAC;IACvF,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACpC,mEAAmE,CACpE;IACD,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,GAAG,EAAE;SACL,WAAW,EAAE;SACb,QAAQ,EAAE;SACV,QAAQ,CAAC,kEAAkE,CAAC;IAC/E,cAAc,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC1C,6IAA6I,CAC9I;IACD,uBAAuB,EAAE,CAAC;SACvB,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;IACvE,OAAO,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC1C,kEAAkE,CACnE;IACD,SAAS,EAAE,cAAc,CAAC,QAAQ,EAAE;SACjC,KAAK,CAAC,SAAS,CAAC;SAChB,QAAQ,CACP,iLAAiL,CAClL;IACH,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,EAAE;SACV,KAAK,CAAC,SAAS,CAAC;SAChB,QAAQ,CACP,qGAAqG,CACtG;CACJ,CAAC;KACD,QAAQ,CACP,0FAA0F,CAC3F,CAAC;AAKJ;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AAChD,CAAC"}
package/dist/remote.d.ts CHANGED
@@ -26,6 +26,7 @@ export declare const RemoteStateSchema: z.ZodEnum<{
26
26
  * promise and never sees a subscription identifier to derive it from.
27
27
  */
28
28
  export declare const RemoteStatusSchema: z.ZodObject<{
29
+ instanceId: z.ZodOptional<z.ZodString>;
29
30
  mode: z.ZodEnum<{
30
31
  byo: "byo";
31
32
  managed: "managed";
@@ -167,6 +168,112 @@ export declare const RemoteDesignationSchema: z.ZodObject<{
167
168
  effectiveAt: z.ZodISODateTime;
168
169
  cooldownUntil: z.ZodISODateTime;
169
170
  }, z.core.$strip>;
171
+ /**
172
+ * `GET /v1/orgs/{orgId}/remote/designation` — which instance the organization
173
+ * keeps always available, if any.
174
+ *
175
+ * The same fields the `POST` answers, each nullable, so "nobody holds it" is a
176
+ * state rather than a 404. An organization whose designated instance was
177
+ * unlinked has none until somebody names another; that is a normal state.
178
+ * `cooldownUntil` says when the designation may next change, so a page can say
179
+ * so before anybody tries. There is no route that withdraws a designation.
180
+ */
181
+ export declare const RemoteDesignationStatusSchema: z.ZodObject<{
182
+ instanceId: z.ZodNullable<z.ZodString>;
183
+ effectiveAt: z.ZodNullable<z.ZodISODateTime>;
184
+ cooldownUntil: z.ZodNullable<z.ZodISODateTime>;
185
+ }, z.core.$strip>;
186
+ /** Which instance an organization keeps always available, if any. */
187
+ export type RemoteDesignationStatus = z.infer<typeof RemoteDesignationStatusSchema>;
188
+ /** What a remote-usage figure is counted in: hours, gigabytes, or a count. */
189
+ export declare const RemoteCeilingUnitSchema: z.ZodEnum<{
190
+ hours: "hours";
191
+ GB: "GB";
192
+ count: "count";
193
+ }>;
194
+ /** Where an account stands against one fair-use limit. */
195
+ export declare const RemoteCeilingStateSchema: z.ZodEnum<{
196
+ clear: "clear";
197
+ alert: "alert";
198
+ reached: "reached";
199
+ }>;
200
+ /**
201
+ * Where one account stands against one published remote-access limit, this
202
+ * period.
203
+ *
204
+ * The server converts and the server divides. `limit` and `used` are already in
205
+ * `unit`, and `fraction` is on the wire, so no two clients can round a
206
+ * percentage differently from the service that enforces it. It is a fair-use
207
+ * report, not a bill: nothing here is money.
208
+ *
209
+ * `unit` and `state` are tolerant: a value added in a later release reads as
210
+ * `unrecognised`, so one new unit on one entry cannot fail the whole report.
211
+ * Generate the JSON Schema with `{ io: 'input' }`.
212
+ */
213
+ export declare const RemoteCeilingSchema: z.ZodObject<{
214
+ ceiling: z.ZodString;
215
+ limit: z.ZodNumber;
216
+ used: z.ZodNumber;
217
+ unit: z.ZodUnion<readonly [z.ZodEnum<{
218
+ hours: "hours";
219
+ GB: "GB";
220
+ count: "count";
221
+ }>, z.ZodPipe<z.ZodString, z.ZodTransform<"unrecognised", string>>]>;
222
+ fraction: z.ZodNumber;
223
+ alertFraction: z.ZodNumber;
224
+ state: z.ZodUnion<readonly [z.ZodEnum<{
225
+ clear: "clear";
226
+ alert: "alert";
227
+ reached: "reached";
228
+ }>, z.ZodPipe<z.ZodString, z.ZodTransform<"unrecognised", string>>]>;
229
+ enforceable: z.ZodBoolean;
230
+ provenance: z.ZodObject<{
231
+ source: z.ZodString;
232
+ measuredAt: z.ZodNullable<z.ZodISODateTime>;
233
+ }, z.core.$strip>;
234
+ }, z.core.$strip>;
235
+ /** Where one account stands against one published remote-access limit. */
236
+ export type RemoteCeiling = z.infer<typeof RemoteCeilingSchema>;
237
+ /**
238
+ * `GET /v1/remote/usage` — where the caller's account stands against every
239
+ * published remote-access limit this period.
240
+ *
241
+ * A bearer token or the person's own browser session, and always the caller's
242
+ * own account: nothing in the request names another. An account that has used
243
+ * nothing gets 200 and zeroes, never a 404.
244
+ *
245
+ * Beside `/v1/remote/**` rather than under `/v1/usage` on purpose: these figures
246
+ * are reachability counted per period and are not money, where `/v1/usage` is
247
+ * inference for a window, denominated in money and credits.
248
+ */
249
+ export declare const RemoteUsageResponseSchema: z.ZodObject<{
250
+ orgId: z.ZodString;
251
+ period: z.ZodString;
252
+ ceilings: z.ZodArray<z.ZodObject<{
253
+ ceiling: z.ZodString;
254
+ limit: z.ZodNumber;
255
+ used: z.ZodNumber;
256
+ unit: z.ZodUnion<readonly [z.ZodEnum<{
257
+ hours: "hours";
258
+ GB: "GB";
259
+ count: "count";
260
+ }>, z.ZodPipe<z.ZodString, z.ZodTransform<"unrecognised", string>>]>;
261
+ fraction: z.ZodNumber;
262
+ alertFraction: z.ZodNumber;
263
+ state: z.ZodUnion<readonly [z.ZodEnum<{
264
+ clear: "clear";
265
+ alert: "alert";
266
+ reached: "reached";
267
+ }>, z.ZodPipe<z.ZodString, z.ZodTransform<"unrecognised", string>>]>;
268
+ enforceable: z.ZodBoolean;
269
+ provenance: z.ZodObject<{
270
+ source: z.ZodString;
271
+ measuredAt: z.ZodNullable<z.ZodISODateTime>;
272
+ }, z.core.$strip>;
273
+ }, z.core.$strip>>;
274
+ }, z.core.$strip>;
275
+ /** Where the caller's account stands against every published remote-access limit. */
276
+ export type RemoteUsageResponse = z.infer<typeof RemoteUsageResponseSchema>;
170
277
  /**
171
278
  * `POST /v1/remote/credentials/issue` — an instance asks for a tunnel
172
279
  * credential.
@@ -184,6 +291,7 @@ export declare const RemoteCredentialSchema: z.ZodObject<{
184
291
  value: z.ZodString;
185
292
  fingerprint: z.ZodString;
186
293
  acl: z.ZodArray<z.ZodString>;
294
+ hosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
187
295
  }, z.core.$strip>;
188
296
  /** A freshly issued tunnel credential. */
189
297
  export type RemoteCredential = z.infer<typeof RemoteCredentialSchema>;
@@ -283,7 +391,45 @@ export declare const RemoteCommandAckRequestSchema: z.ZodObject<{
283
391
  export declare const RemoteCommandAckResponseSchema: z.ZodObject<{
284
392
  acknowledged: z.ZodNumber;
285
393
  }, z.core.$strip>;
286
- /** `POST /v1/remote/events` — batched activity from an instance. */
394
+ /**
395
+ * A count of bytes, as a base-10 integer string.
396
+ *
397
+ * A string for the reason amounts are: a long window moves more bytes than a
398
+ * JavaScript number holds exactly, and a string cannot silently lose digits.
399
+ * Parse it with `BigInt`, never `Number`. Its length is bounded far beyond
400
+ * anything a window can move, so a runaway value is refused.
401
+ */
402
+ export declare const ByteCountSchema: z.ZodString;
403
+ /**
404
+ * The request header that names one `POST /v1/remote/events` batch.
405
+ *
406
+ * Every batch carries it, and the service refuses a batch without it with
407
+ * `malformed_request`. A batch retried after a lost acknowledgement reuses its
408
+ * key; a batch with new contents gets a new one. A key whose batch the service
409
+ * already accepted from the same instance (the one the request's API key
410
+ * belongs to) is answered `200` with an `accepted` count of zero: the batch was
411
+ * already applied, and nothing in it is counted again. A batch that was refused
412
+ * or failed was not accepted, so a retry with its key is applied as new.
413
+ *
414
+ * A header rather than a body field so the body stays exactly what instances
415
+ * already send: a new required body field would refuse every one of them.
416
+ */
417
+ export declare const REMOTE_EVENTS_IDEMPOTENCY_HEADER: "Idempotency-Key";
418
+ /** The value of {@link REMOTE_EVENTS_IDEMPOTENCY_HEADER}. */
419
+ export declare const RemoteEventBatchKeySchema: z.ZodString;
420
+ /**
421
+ * `POST /v1/remote/events` — batched activity from an instance.
422
+ *
423
+ * The request carries the batch's key in the
424
+ * {@link REMOTE_EVENTS_IDEMPOTENCY_HEADER} header ({@link RemoteEventBatchKeySchema}),
425
+ * not in this body.
426
+ *
427
+ * Each close report names the span it covers: `openedAt` beside the existing
428
+ * `at` (when the tunnel closed), the requests that crossed it in that span, and
429
+ * the bytes in each direction. All four are optional, so a batch from an
430
+ * instance that predates them is accepted as it always was, at lower
431
+ * precision. `activity[].requests` is unchanged and still a running counter.
432
+ */
287
433
  export declare const RemoteEventBatchSchema: z.ZodObject<{
288
434
  instanceId: z.ZodString;
289
435
  activity: z.ZodArray<z.ZodObject<{
@@ -294,6 +440,10 @@ export declare const RemoteEventBatchSchema: z.ZodObject<{
294
440
  at: z.ZodISODateTime;
295
441
  reason: z.ZodString;
296
442
  wakeId: z.ZodNullable<z.ZodString>;
443
+ openedAt: z.ZodOptional<z.ZodISODateTime>;
444
+ requests: z.ZodOptional<z.ZodNumber>;
445
+ bytesIn: z.ZodOptional<z.ZodString>;
446
+ bytesOut: z.ZodOptional<z.ZodString>;
297
447
  }, z.core.$strip>>;
298
448
  }, z.core.$strip>;
299
449
  /** How many events were accepted. */
@@ -1 +1 @@
1
- {"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../src/remote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;;;;EAEgE,CAAC;AAE9F,4CAA4C;AAC5C,eAAO,MAAM,iBAAiB;;;;;;EAEsB,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;iBAmCgC,CAAC;AAEhE,uDAAuD;AACvD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB;;;iBASjC,CAAC;AAEJ,iCAAiC;AACjC,eAAO,MAAM,wBAAwB;;;;;;;;;;iBAUqD,CAAC;AAE3F,+BAA+B;AAC/B,eAAO,MAAM,yBAAyB;;;;;;;;iBAE+B,CAAC;AAEtE;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;;;iBAMuD,CAAC;AAE1F;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;iBAMiE,CAAC;AAEpG,mDAAmD;AACnD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,kFAAkF;AAClF,eAAO,MAAM,8BAA8B;;iBAEkD,CAAC;AAE9F,iFAAiF;AACjF,eAAO,MAAM,mBAAmB;;;;iBAMiC,CAAC;AAElE,+CAA+C;AAC/C,eAAO,MAAM,yBAAyB;;;;;EAEiB,CAAC;AAExD,gDAAgD;AAChD,eAAO,MAAM,sBAAsB;;;;;;EAEqB,CAAC;AAEzD,2DAA2D;AAC3D,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;iBAcwD,CAAC;AAE/F,yCAAyC;AACzC,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,uFAAuF;AACvF,eAAO,MAAM,8BAA8B;;iBAEoC,CAAC;AAEhF,gCAAgC;AAChC,eAAO,MAAM,uBAAuB;;;;iBAMqC,CAAC;AAE1E;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC;;;iBAUkC,CAAC;AAElF,0CAA0C;AAC1C,eAAO,MAAM,sBAAsB;;;;;;iBAUqD,CAAC;AAEzF,0CAA0C;AAC1C,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,6FAA6F;AAC7F,eAAO,MAAM,oCAAoC;;iBAEwB,CAAC;AAE1E,wBAAwB;AACxB,eAAO,MAAM,qCAAqC;;;iBAEkB,CAAC;AAErE;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAmF7B,CAAC;AAEJ,gDAAgD;AAChD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,0BAA0B;;;;+CAIpC,CAAC;AAEJ,uDAAuD;AACvD,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,sCAAsC;AACtC,eAAO,MAAM,6BAA6B;;;;;;;;;;iBAa6B,CAAC;AAExE,4CAA4C;AAC5C,eAAO,MAAM,8BAA8B;;iBAEe,CAAC;AAE3D,oEAAoE;AACpE,eAAO,MAAM,sBAAsB;;;;;;;;;;;iBAUkD,CAAC;AAEtF,qCAAqC;AACrC,eAAO,MAAM,8BAA8B;;iBAEwB,CAAC"}
1
+ {"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../src/remote.ts"],"names":[],"mappings":"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"}
package/dist/remote.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { IdSchema, SecretValueSchema, TimestampSchema } from './primitives.js';
2
+ import { IdSchema, SecretValueSchema, TimestampSchema, tolerantEnum } from './primitives.js';
3
3
  import { HandleSchema } from './seats.js';
4
4
  /**
5
5
  * How remote access is arranged for an instance.
@@ -23,6 +23,7 @@ export const RemoteStateSchema = z
23
23
  */
24
24
  export const RemoteStatusSchema = z
25
25
  .object({
26
+ instanceId: IdSchema.optional().describe('The instance this status is about, echoed from the request so an answer can be matched to its instance. Absent from an older service.'),
26
27
  mode: RemoteModeSchema,
27
28
  state: RemoteStateSchema,
28
29
  address: z.string().describe('The address this instance is reachable at.'),
@@ -153,6 +154,96 @@ export const RemoteDesignationSchema = z
153
154
  cooldownUntil: TimestampSchema.describe('Until when the designation cannot be changed again.'),
154
155
  })
155
156
  .describe('The accepted designation, and when it may next be changed.');
157
+ /**
158
+ * `GET /v1/orgs/{orgId}/remote/designation` — which instance the organization
159
+ * keeps always available, if any.
160
+ *
161
+ * The same fields the `POST` answers, each nullable, so "nobody holds it" is a
162
+ * state rather than a 404. An organization whose designated instance was
163
+ * unlinked has none until somebody names another; that is a normal state.
164
+ * `cooldownUntil` says when the designation may next change, so a page can say
165
+ * so before anybody tries. There is no route that withdraws a designation.
166
+ */
167
+ export const RemoteDesignationStatusSchema = z
168
+ .object({
169
+ instanceId: IdSchema.nullable().describe('The designated instance, or null when the organization has none.'),
170
+ effectiveAt: TimestampSchema.nullable().describe('When the current designation took effect, or null when there is none.'),
171
+ cooldownUntil: TimestampSchema.nullable().describe('Until when the designation cannot be changed, or null when it can be changed now.'),
172
+ })
173
+ .describe('Which instance an organization keeps always available, if any, and when that may next change.');
174
+ /** What a remote-usage figure is counted in: hours, gigabytes, or a count. */
175
+ export const RemoteCeilingUnitSchema = z
176
+ .enum(['hours', 'GB', 'count'])
177
+ .describe('What a remote-usage figure is counted in: hours, gigabytes, or a plain count.');
178
+ /** Where an account stands against one fair-use limit. */
179
+ export const RemoteCeilingStateSchema = z
180
+ .enum(['clear', 'alert', 'reached'])
181
+ .describe('Where an account stands against one limit: well within it, past the warning point, or at it.');
182
+ /**
183
+ * Where one account stands against one published remote-access limit, this
184
+ * period.
185
+ *
186
+ * The server converts and the server divides. `limit` and `used` are already in
187
+ * `unit`, and `fraction` is on the wire, so no two clients can round a
188
+ * percentage differently from the service that enforces it. It is a fair-use
189
+ * report, not a bill: nothing here is money.
190
+ *
191
+ * `unit` and `state` are tolerant: a value added in a later release reads as
192
+ * `unrecognised`, so one new unit on one entry cannot fail the whole report.
193
+ * Generate the JSON Schema with `{ io: 'input' }`.
194
+ */
195
+ export const RemoteCeilingSchema = z
196
+ .object({
197
+ ceiling: z
198
+ .string()
199
+ .describe('Which limit, as a server-supplied mechanism name. Render the rest of the entry; a name this client does not know is still a valid entry.'),
200
+ limit: z.number().nonnegative().describe('The published limit, in `unit`.'),
201
+ used: z.number().nonnegative().describe('What the account has used this period, in `unit`.'),
202
+ unit: tolerantEnum(RemoteCeilingUnitSchema).describe('What `limit` and `used` are counted in. A unit this release does not know reads as unrecognised.'),
203
+ fraction: z
204
+ .number()
205
+ .nonnegative()
206
+ .describe('`used / limit`, as the server computed it. May exceed 1. Never recompute it.'),
207
+ alertFraction: z
208
+ .number()
209
+ .nonnegative()
210
+ .describe('The fraction at which the published copy says a warning fires.'),
211
+ state: tolerantEnum(RemoteCeilingStateSchema).describe('Where the account stands against this limit. A state this release does not know reads as unrecognised.'),
212
+ enforceable: z
213
+ .boolean()
214
+ .describe('False when `used` is the period`s high-water mark rather than a figure for now. Such a limit frees as soon as the usage ends, so do not present the peak as a present count.'),
215
+ provenance: z
216
+ .object({
217
+ source: z
218
+ .string()
219
+ .describe('How the limit was arrived at, as a server-supplied string. Render it.'),
220
+ measuredAt: TimestampSchema.nullable().describe('When it was measured, or null when nothing measured it.'),
221
+ })
222
+ .describe('Where this limit came from.'),
223
+ })
224
+ .describe('Where one account stands against one published remote-access limit, this period.');
225
+ /**
226
+ * `GET /v1/remote/usage` — where the caller's account stands against every
227
+ * published remote-access limit this period.
228
+ *
229
+ * A bearer token or the person's own browser session, and always the caller's
230
+ * own account: nothing in the request names another. An account that has used
231
+ * nothing gets 200 and zeroes, never a 404.
232
+ *
233
+ * Beside `/v1/remote/**` rather than under `/v1/usage` on purpose: these figures
234
+ * are reachability counted per period and are not money, where `/v1/usage` is
235
+ * inference for a window, denominated in money and credits.
236
+ */
237
+ export const RemoteUsageResponseSchema = z
238
+ .object({
239
+ orgId: IdSchema.describe('The account the figures were counted against, in the same space as `/v1/orgs`.'),
240
+ period: z
241
+ .string()
242
+ .regex(/^\d{4}-(0[1-9]|1[0-2])$/, 'must be YYYY-MM')
243
+ .describe('The service`s own period, a calendar month in UTC, as YYYY-MM.'),
244
+ ceilings: z.array(RemoteCeilingSchema),
245
+ })
246
+ .describe('Where the caller`s account stands against every published remote-access limit this period. An account that used nothing gets zeroes, never a 404.');
156
247
  /**
157
248
  * `POST /v1/remote/credentials/issue` — an instance asks for a tunnel
158
249
  * credential.
@@ -178,6 +269,11 @@ export const RemoteCredentialSchema = z
178
269
  acl: z
179
270
  .array(z.string())
180
271
  .describe('What this credential may do, as opaque server-supplied strings.'),
272
+ hosts: z
273
+ .array(z.string().min(1))
274
+ .min(1)
275
+ .optional()
276
+ .describe('Every hostname this credential lets the instance serve: its own address first, then any custom hostname its organization added. The instance serves each one, and stops serving any hostname it served before that is not in the list. Compare hostnames without regard to case. Read this rather than `acl`, which stays opaque. When the field is absent, keep serving as before: absent is not an empty list, and a present list is never empty.'),
181
277
  })
182
278
  .describe('A freshly issued tunnel credential. The `value` is returned exactly once.');
183
279
  /** `POST /v1/remote/credentials/confirm` — the instance reports it stored the credential. */
@@ -236,9 +332,9 @@ export const RemoteCommandSchema = z
236
332
  kind: z.literal('rotate'),
237
333
  id: IdSchema,
238
334
  leaseToken: z.string().min(1),
239
- credentialId: IdSchema,
335
+ credentialId: IdSchema.describe('An issue key, not a credential id. Present it as the `idempotencyKey` of `POST /v1/remote/credentials/issue` to receive the replacement, then confirm the replacement with the `credentialId` that call returns. If that call is refused, keep using the current credential; the service may offer another replacement later.'),
240
336
  })
241
- .describe('Replace the tunnel credential.'),
337
+ .describe('Replace the tunnel credential. Nothing is created until the instance asks for it, with the id this command carries.'),
242
338
  z
243
339
  .object({
244
340
  kind: z.literal('revoke'),
@@ -309,7 +405,53 @@ export const RemoteCommandAckRequestSchema = z
309
405
  export const RemoteCommandAckResponseSchema = z
310
406
  .object({ acknowledged: z.number().int().nonnegative() })
311
407
  .describe('How many command leases the server settled.');
312
- /** `POST /v1/remote/events` — batched activity from an instance. */
408
+ /**
409
+ * A count of bytes, as a base-10 integer string.
410
+ *
411
+ * A string for the reason amounts are: a long window moves more bytes than a
412
+ * JavaScript number holds exactly, and a string cannot silently lose digits.
413
+ * Parse it with `BigInt`, never `Number`. Its length is bounded far beyond
414
+ * anything a window can move, so a runaway value is refused.
415
+ */
416
+ export const ByteCountSchema = z
417
+ .string()
418
+ .max(30)
419
+ .regex(/^(0|[1-9][0-9]*)$/, 'must be a non-negative base-10 integer with no leading zeros')
420
+ .describe('A count of bytes, as a base-10 integer string. Parse it with BigInt, never Number.');
421
+ /**
422
+ * The request header that names one `POST /v1/remote/events` batch.
423
+ *
424
+ * Every batch carries it, and the service refuses a batch without it with
425
+ * `malformed_request`. A batch retried after a lost acknowledgement reuses its
426
+ * key; a batch with new contents gets a new one. A key whose batch the service
427
+ * already accepted from the same instance (the one the request's API key
428
+ * belongs to) is answered `200` with an `accepted` count of zero: the batch was
429
+ * already applied, and nothing in it is counted again. A batch that was refused
430
+ * or failed was not accepted, so a retry with its key is applied as new.
431
+ *
432
+ * A header rather than a body field so the body stays exactly what instances
433
+ * already send: a new required body field would refuse every one of them.
434
+ */
435
+ export const REMOTE_EVENTS_IDEMPOTENCY_HEADER = 'Idempotency-Key';
436
+ /** The value of {@link REMOTE_EVENTS_IDEMPOTENCY_HEADER}. */
437
+ export const RemoteEventBatchKeySchema = z
438
+ .string()
439
+ .min(1)
440
+ .max(200)
441
+ .describe('The Idempotency-Key header of a POST /v1/remote/events batch: an opaque string the instance chooses, one per batch, at most 200 characters. Reuse it to retry the same batch. A key whose batch was already accepted from the same instance is answered { accepted: 0 } and counts nothing again; a batch that was refused or failed was not accepted, so its retry is applied as new.');
442
+ /**
443
+ * `POST /v1/remote/events` — batched activity from an instance.
444
+ *
445
+ * The request carries the batch's key in the
446
+ * {@link REMOTE_EVENTS_IDEMPOTENCY_HEADER} header ({@link RemoteEventBatchKeySchema}),
447
+ * not in this body.
448
+ *
449
+ * Each close report names the span it covers: `openedAt` beside the existing
450
+ * `at` (when the tunnel closed), the requests that crossed it in that span, and
451
+ * the bytes in each direction. All four are optional, so a batch from an
452
+ * instance that predates them is accepted as it always was, at lower
453
+ * precision. `activity[].requests` is unchanged and still a running counter.
454
+ */
313
455
  export const RemoteEventBatchSchema = z
314
456
  .object({
315
457
  instanceId: IdSchema,
@@ -317,12 +459,25 @@ export const RemoteEventBatchSchema = z
317
459
  .array(z.object({ at: TimestampSchema, requests: z.number().int().nonnegative() }))
318
460
  .describe('Windowed request counters.'),
319
461
  closeReports: z
320
- .array(z.object({ at: TimestampSchema, reason: z.string(), wakeId: IdSchema.nullable() }))
321
- .describe('Why and when the tunnel closed itself.'),
462
+ .array(z.object({
463
+ at: TimestampSchema.describe('When the tunnel closed.'),
464
+ reason: z.string(),
465
+ wakeId: IdSchema.nullable(),
466
+ openedAt: TimestampSchema.optional().describe('When the tunnel this report closes was opened, so the report names a span. Absent from an older instance.'),
467
+ requests: z
468
+ .number()
469
+ .int()
470
+ .nonnegative()
471
+ .optional()
472
+ .describe('How many requests crossed the tunnel between `openedAt` and `at`. Scoped to this span, unlike the running `activity[].requests`.'),
473
+ bytesIn: ByteCountSchema.optional().describe('Bytes received through the tunnel in this span.'),
474
+ bytesOut: ByteCountSchema.optional().describe('Bytes sent through the tunnel in this span.'),
475
+ }))
476
+ .describe('Why and when the tunnel closed itself, and what crossed it while it was open.'),
322
477
  })
323
- .describe('Batched activity, close reports and window counters from one instance.');
478
+ .describe('Batched activity, close reports and window counters from one instance. The request names the batch in its Idempotency-Key header.');
324
479
  /** How many events were accepted. */
325
480
  export const RemoteEventBatchResponseSchema = z
326
481
  .object({ accepted: z.number().int().nonnegative() })
327
- .describe('How many of the reported events the server accepted.');
482
+ .describe('How many of the reported events the server accepted. Zero for a batch whose Idempotency-Key was already accepted from the same instance, and for an empty batch, so zero alone does not say which.');
328
483
  //# sourceMappingURL=remote.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"remote.js","sourceRoot":"","sources":["../src/remote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote.js","sourceRoot":"","sources":["../src/remote.ts"],"names":[],"mappings":"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"}
package/dist/routes.d.ts CHANGED
@@ -29,9 +29,16 @@ export declare const V1_ROUTES: {
29
29
  readonly usage: "/v1/usage";
30
30
  readonly priceList: "/v1/price-list";
31
31
  readonly nudge: "/v1/nudge";
32
+ /** Everything the service will sell the caller, answered with `OffersResponseSchema`. */
33
+ readonly offers: "/v1/offers";
32
34
  readonly checkout: "/v1/checkout";
33
35
  readonly topup: "/v1/topup";
34
36
  readonly portal: "/v1/portal";
37
+ /**
38
+ * @deprecated Withdrawn. DorkOS Cloud does not offer refunds through this
39
+ * API, and the service answers `not_found` here. Kept so `/v1` code that
40
+ * names it still compiles; removed in `/v2`.
41
+ */
35
42
  readonly refunds: "/v1/refunds";
36
43
  readonly statement: "/v1/statement";
37
44
  readonly inferenceTokens: "/v1/inference/tokens";
@@ -49,7 +56,13 @@ export declare const V1_ROUTES: {
49
56
  readonly remoteCredentialsConfirm: "/v1/remote/credentials/confirm";
50
57
  readonly remoteCommands: "/v1/remote/commands";
51
58
  readonly remoteCommandsAck: "/v1/remote/commands/ack";
59
+ /**
60
+ * Batched activity from an instance. Every request names its batch in the
61
+ * `REMOTE_EVENTS_IDEMPOTENCY_HEADER` header.
62
+ */
52
63
  readonly remoteEvents: "/v1/remote/events";
64
+ /** Where the caller's account stands against the remote limits, answered with `RemoteUsageResponseSchema`. */
65
+ readonly remoteUsage: "/v1/remote/usage";
53
66
  readonly communities: "/v1/communities";
54
67
  readonly communitiesNameCheck: "/v1/communities/name-check";
55
68
  readonly communitiesMoves: "/v1/communities/moves";
@@ -176,7 +189,9 @@ export declare const v1Path: {
176
189
  */
177
190
  readonly orgAgents: (orgId: string) => string;
178
191
  /**
179
- * The remote-designation route for one organization.
192
+ * The remote-designation route for one organization. `POST` designates an
193
+ * instance (`RemoteDesignationRequestSchema` → `RemoteDesignationSchema`);
194
+ * `GET` reads the current one (`RemoteDesignationStatusSchema`).
180
195
  *
181
196
  * @param orgId - The organization's opaque identifier.
182
197
  */
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,mDAAmD;AACnD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CZ,CAAC;AAEX,oCAAoC;AACpC,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAEjE;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM;IACjB;;;;OAIG;wCACwB,MAAM;IACjC;;;;OAIG;6CAC6B,MAAM;IACtC;;;;OAIG;uCACuB,MAAM;IAChC;;;;OAIG;0CAC0B,MAAM;IACnC;;;;OAIG;sCACsB,MAAM;IAC/B;;;;OAIG;0CAC0B,MAAM;IACnC;;;;OAIG;2CAC2B,MAAM;IACpC;;;;OAIG;oCACoB,MAAM;IAC7B;;;;OAIG;uCACuB,MAAM;IAChC;;;;OAIG;6CAC6B,MAAM;IACtC;;;;OAIG;0BACU,MAAM;IACnB;;;;OAIG;iCACiB,MAAM;IAC1B;;;;;OAKG;gCACgB,MAAM,YAAY,MAAM;IAC3C;;;;OAIG;qCACqB,MAAM;IAC9B;;;;;OAKG;oCACoB,MAAM,gBAAgB,MAAM;IAEnD;;;;OAIG;8CAC8B,MAAM;IACvC;;;;OAIG;+BACe,MAAM;IACxB;;;;OAIG;gCACgB,MAAM;IACzB;;;;OAIG;2CAC2B,MAAM;IACpC;;;;OAIG;8BACc,MAAM;IACvB;;;;;OAKG;0CAC0B,MAAM,WAAW,MAAM;IAEpD;;;;OAIG;4BACY,MAAM;IACrB;;;;OAIG;kCACkB,MAAM;IAC3B;;;;OAIG;mCACmB,MAAM;IAC5B;;;;OAIG;kCACkB,MAAM;IAC3B;;;;OAIG;mCACmB,MAAM;IAC5B;;;;OAIG;kCACkB,MAAM;IAC3B;;;;OAIG;kCACkB,MAAM;IAC3B;;;;;OAKG;iCACiB,MAAM,QAAQ,MAAM;IACxC;;;;OAIG;iCACiB,MAAM;IAC1B;;;;OAIG;qCACqB,MAAM;IAC9B;;;;OAIG;oCACoB,MAAM;IAC7B;;;;OAIG;oCACoB,MAAM;IAC7B;;;;OAIG;kCACkB,MAAM;IAC3B;;;;;;;OAOG;+CAC+B,MAAM;IAExC;;;;;;OAMG;0CAC0B,MAAM;IACnC;;;;;;;OAOG;6CAC6B,MAAM;IACtC;;;;OAIG;qCACqB,MAAM;IAC9B;;;;;;OAMG;2CAC2B,MAAM;CAC5B,CAAC"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,mDAAmD;AACnD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;IAsBpB,yFAAyF;;;;;IAKzF;;;;OAIG;;;;;;;;;;;;;;;;;;IAkBH;;;OAGG;;IAEH,8GAA8G;;;;;CAKtG,CAAC;AAEX,oCAAoC;AACpC,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAEjE;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM;IACjB;;;;OAIG;wCACwB,MAAM;IACjC;;;;OAIG;6CAC6B,MAAM;IACtC;;;;OAIG;uCACuB,MAAM;IAChC;;;;OAIG;0CAC0B,MAAM;IACnC;;;;OAIG;sCACsB,MAAM;IAC/B;;;;OAIG;0CAC0B,MAAM;IACnC;;;;OAIG;2CAC2B,MAAM;IACpC;;;;OAIG;oCACoB,MAAM;IAC7B;;;;OAIG;uCACuB,MAAM;IAChC;;;;OAIG;6CAC6B,MAAM;IACtC;;;;OAIG;0BACU,MAAM;IACnB;;;;OAIG;iCACiB,MAAM;IAC1B;;;;;OAKG;gCACgB,MAAM,YAAY,MAAM;IAC3C;;;;OAIG;qCACqB,MAAM;IAC9B;;;;;OAKG;oCACoB,MAAM,gBAAgB,MAAM;IAEnD;;;;OAIG;8CAC8B,MAAM;IACvC;;;;OAIG;+BACe,MAAM;IACxB;;;;OAIG;gCACgB,MAAM;IACzB;;;;;;OAMG;2CAC2B,MAAM;IACpC;;;;OAIG;8BACc,MAAM;IACvB;;;;;OAKG;0CAC0B,MAAM,WAAW,MAAM;IAEpD;;;;OAIG;4BACY,MAAM;IACrB;;;;OAIG;kCACkB,MAAM;IAC3B;;;;OAIG;mCACmB,MAAM;IAC5B;;;;OAIG;kCACkB,MAAM;IAC3B;;;;OAIG;mCACmB,MAAM;IAC5B;;;;OAIG;kCACkB,MAAM;IAC3B;;;;OAIG;kCACkB,MAAM;IAC3B;;;;;OAKG;iCACiB,MAAM,QAAQ,MAAM;IACxC;;;;OAIG;iCACiB,MAAM;IAC1B;;;;OAIG;qCACqB,MAAM;IAC9B;;;;OAIG;oCACoB,MAAM;IAC7B;;;;OAIG;oCACoB,MAAM;IAC7B;;;;OAIG;kCACkB,MAAM;IAC3B;;;;;;;OAOG;+CAC+B,MAAM;IAExC;;;;;;OAMG;0CAC0B,MAAM;IACnC;;;;;;;OAOG;6CAC6B,MAAM;IACtC;;;;OAIG;qCACqB,MAAM;IAC9B;;;;;;OAMG;2CAC2B,MAAM;CAC5B,CAAC"}