@w6w/sdk 0.9.13 → 0.9.16

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 (41) hide show
  1. package/README.md +21 -16
  2. package/dist/mod.d.ts +2 -2
  3. package/dist/mod.d.ts.map +1 -1
  4. package/dist/mod.js +1 -1
  5. package/dist/mod.js.map +1 -1
  6. package/dist/src/client.d.ts +3 -3
  7. package/dist/src/client.js +3 -3
  8. package/dist/src/config.d.ts +14 -8
  9. package/dist/src/config.d.ts.map +1 -1
  10. package/dist/src/config.js +15 -9
  11. package/dist/src/config.js.map +1 -1
  12. package/dist/src/console/apps.d.ts +40 -11
  13. package/dist/src/console/apps.d.ts.map +1 -1
  14. package/dist/src/console/apps.js +45 -11
  15. package/dist/src/console/apps.js.map +1 -1
  16. package/dist/src/console/endpoints.d.ts +26 -6
  17. package/dist/src/console/endpoints.d.ts.map +1 -1
  18. package/dist/src/console/endpoints.js +23 -7
  19. package/dist/src/console/endpoints.js.map +1 -1
  20. package/dist/src/console/functions.d.ts +37 -6
  21. package/dist/src/console/functions.d.ts.map +1 -1
  22. package/dist/src/console/functions.js +26 -8
  23. package/dist/src/console/functions.js.map +1 -1
  24. package/dist/src/console/mod.d.ts +2 -2
  25. package/dist/src/console/mod.d.ts.map +1 -1
  26. package/dist/src/console/mod.js.map +1 -1
  27. package/dist/src/errors.d.ts +2 -2
  28. package/dist/src/errors.js +2 -2
  29. package/dist/src/functions.d.ts +49 -20
  30. package/dist/src/functions.d.ts.map +1 -1
  31. package/dist/src/functions.js +38 -17
  32. package/dist/src/functions.js.map +1 -1
  33. package/dist/src/server/mod.d.ts +11 -10
  34. package/dist/src/server/mod.d.ts.map +1 -1
  35. package/dist/src/server/mod.js +11 -9
  36. package/dist/src/server/mod.js.map +1 -1
  37. package/dist/src/types.d.ts +2 -0
  38. package/dist/src/types.d.ts.map +1 -1
  39. package/dist/src/types.js.map +1 -1
  40. package/dist/src/version.js +1 -1
  41. package/package.json +1 -1
@@ -219,6 +219,12 @@ export interface EndpointSummary {
219
219
  description: string;
220
220
  updatedAt: string;
221
221
  invokeUrl: string;
222
+ /** `"ready"` when the stored definition is runnable, else `"draft"`. */
223
+ status: "draft" | "ready";
224
+ /** `true` when `status` is not `"ready"`. */
225
+ incomplete: boolean;
226
+ /** ISO-8601 archive time; `null` when the Endpoint is live. */
227
+ archivedAt: string | null;
222
228
  }
223
229
  /**
224
230
  * What {@linkcode EndpointsApi.invoke} resolves to — the discriminated result
@@ -265,8 +271,9 @@ export declare class EndpointsApi {
265
271
  * configured secret comes back masked with {@linkcode SECRET_MASK}, never
266
272
  * as plaintext or ciphertext.
267
273
  *
268
- * **Returns the response body VERBATIM — a three-key top-level shape, NOT
269
- * merged.** `invokeUrl`/`invokeUrlByKey` are never spliced into `endpoint`;
274
+ * **Returns the response body VERBATIM — a top-level shape (`endpoint`,
275
+ * `invokeUrl`, `invokeUrlByKey?`, and the read-only `updatedAt` concurrency
276
+ * token, a top-level sibling like the URLs), NOT merged.** `invokeUrl`/`invokeUrlByKey` are never spliced into `endpoint`;
270
277
  * this mirrors `console.workflows.get`'s "no envelope key to peel, multiple
271
278
  * top-level siblings" precedent, deliberately NOT
272
279
  * `console.functions.get`'s merge — these are two different,
@@ -286,33 +293,46 @@ export declare class EndpointsApi {
286
293
  endpoint: EndpointDef;
287
294
  invokeUrl: string;
288
295
  invokeUrlByKey?: string;
296
+ updatedAt: string;
289
297
  }>;
290
298
  /**
291
299
  * Register (create or overwrite) an Endpoint definition.
292
300
  *
293
301
  * `definition` is the whole definition, sent verbatim as the request body —
294
302
  * not wrapped in an envelope key. **Returns the response body VERBATIM**,
295
- * same three-key shape as {@linkcode get} — no merge, no `unwrap()`.
303
+ * same top-level shape as {@linkcode get} (including the new top-level
304
+ * `updatedAt`) — no merge, no flattening, no `unwrap()`.
305
+ *
306
+ * Never send back read-only keys: `updatedAt` and `valid` are removed from
307
+ * `definition` before the POST (shallow, top level only; the caller's object
308
+ * is never mutated). `options.ifUnmodifiedSince`, when truthy, is sent as
309
+ * `x-w6w-if-unmodified-since` (never as an empty or `"null"` string).
296
310
  *
297
311
  * None of the four error codes below need special client-side handling —
298
312
  * they propagate as an ordinary `ApiError` with the server's own
299
313
  * `.message`, exactly like every other write in this package; this method
300
314
  * does not branch on any of them.
301
315
  *
302
- * @param definition - The whole Endpoint definition, forwarded verbatim.
303
- * @returns The new/updated Endpoint's id and key, plus its callable URL(s).
316
+ * @param definition - The whole Endpoint definition, forwarded verbatim apart from the read-only keys above.
317
+ * @param options - `ifUnmodifiedSince` is the concurrency precondition.
318
+ * @returns The new/updated Endpoint's id and key, its callable URL(s), and the new `updatedAt`.
304
319
  * @throws {ApiError} `400 invalid_endpoint` — structurally invalid body, or (first save only) a malformed `key`.
320
+ * @throws {ApiError} `400 invalid_precondition` — the token is not a readable timestamp.
321
+ * @throws {ApiError} `409 endpoint_stale` — the precondition did not match the stored `updatedAt`. Recoverable by reloading.
305
322
  * @throws {ApiError} `409 key_immutable` — `key` differs from the already-stored row's `key`.
306
323
  * @throws {ApiError} `409 endpoint_conflict` — another `(tenant,subject)` owns this id.
307
324
  * @throws {ApiError} `409 endpoint_key_conflict` — another Endpoint already holds this `key`.
308
325
  */
309
- upsert(definition: EndpointDef): Promise<{
326
+ upsert(definition: EndpointDef, options?: {
327
+ ifUnmodifiedSince?: string | null;
328
+ }): Promise<{
310
329
  endpoint: {
311
330
  id: string;
312
331
  key: string;
313
332
  };
314
333
  invokeUrl: string;
315
334
  invokeUrlByKey?: string;
335
+ updatedAt: string;
316
336
  }>;
317
337
  /**
318
338
  * Invoke an Endpoint: dispatches to its configured target (an app Action, a
@@ -1 +1 @@
1
- {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../../src/console/endpoints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../../src/console/endpoints.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,8 @@
43
43
  */
44
44
  import { path } from "../http.js";
45
45
  import { unwrap } from "../types.js";
46
+ /** The precondition header `upsert` sends when `ifUnmodifiedSince` is given. */
47
+ const PRECONDITION_HEADER = "x-w6w-if-unmodified-since";
46
48
  /**
47
49
  * The placeholder a `GET` returns in place of a configured secret, and which
48
50
  * an `upsert` may send back to mean "keep what is stored". Relocated
@@ -83,8 +85,9 @@ export class EndpointsApi {
83
85
  * configured secret comes back masked with {@linkcode SECRET_MASK}, never
84
86
  * as plaintext or ciphertext.
85
87
  *
86
- * **Returns the response body VERBATIM — a three-key top-level shape, NOT
87
- * merged.** `invokeUrl`/`invokeUrlByKey` are never spliced into `endpoint`;
88
+ * **Returns the response body VERBATIM — a top-level shape (`endpoint`,
89
+ * `invokeUrl`, `invokeUrlByKey?`, and the read-only `updatedAt` concurrency
90
+ * token, a top-level sibling like the URLs), NOT merged.** `invokeUrl`/`invokeUrlByKey` are never spliced into `endpoint`;
88
91
  * this mirrors `console.workflows.get`'s "no envelope key to peel, multiple
89
92
  * top-level siblings" precedent, deliberately NOT
90
93
  * `console.functions.get`'s merge — these are two different,
@@ -112,25 +115,38 @@ export class EndpointsApi {
112
115
  *
113
116
  * `definition` is the whole definition, sent verbatim as the request body —
114
117
  * not wrapped in an envelope key. **Returns the response body VERBATIM**,
115
- * same three-key shape as {@linkcode get} — no merge, no `unwrap()`.
118
+ * same top-level shape as {@linkcode get} (including the new top-level
119
+ * `updatedAt`) — no merge, no flattening, no `unwrap()`.
120
+ *
121
+ * Never send back read-only keys: `updatedAt` and `valid` are removed from
122
+ * `definition` before the POST (shallow, top level only; the caller's object
123
+ * is never mutated). `options.ifUnmodifiedSince`, when truthy, is sent as
124
+ * `x-w6w-if-unmodified-since` (never as an empty or `"null"` string).
116
125
  *
117
126
  * None of the four error codes below need special client-side handling —
118
127
  * they propagate as an ordinary `ApiError` with the server's own
119
128
  * `.message`, exactly like every other write in this package; this method
120
129
  * does not branch on any of them.
121
130
  *
122
- * @param definition - The whole Endpoint definition, forwarded verbatim.
123
- * @returns The new/updated Endpoint's id and key, plus its callable URL(s).
131
+ * @param definition - The whole Endpoint definition, forwarded verbatim apart from the read-only keys above.
132
+ * @param options - `ifUnmodifiedSince` is the concurrency precondition.
133
+ * @returns The new/updated Endpoint's id and key, its callable URL(s), and the new `updatedAt`.
124
134
  * @throws {ApiError} `400 invalid_endpoint` — structurally invalid body, or (first save only) a malformed `key`.
135
+ * @throws {ApiError} `400 invalid_precondition` — the token is not a readable timestamp.
136
+ * @throws {ApiError} `409 endpoint_stale` — the precondition did not match the stored `updatedAt`. Recoverable by reloading.
125
137
  * @throws {ApiError} `409 key_immutable` — `key` differs from the already-stored row's `key`.
126
138
  * @throws {ApiError} `409 endpoint_conflict` — another `(tenant,subject)` owns this id.
127
139
  * @throws {ApiError} `409 endpoint_key_conflict` — another Endpoint already holds this `key`.
128
140
  */
129
- async upsert(definition) {
141
+ async upsert(definition, options) {
142
+ const { updatedAt: _updatedAt, valid: _valid, ...body } = definition;
130
143
  const res = await this.#host.request({
131
144
  method: "POST",
132
145
  path: "/endpoints",
133
- body: definition,
146
+ body,
147
+ ...(options?.ifUnmodifiedSince
148
+ ? { headers: { [PRECONDITION_HEADER]: options.ifUnmodifiedSince } }
149
+ : {}),
134
150
  });
135
151
  return res.body;
136
152
  }
@@ -1 +1 @@
1
- {"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../../../src/console/endpoints.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EAAqB,IAAI,EAAuB,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAmHrC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC;AA2ExC;;;;;;;;;GASG;AACH,MAAM,OAAO,YAAY;IACd,KAAK,CAAgB;IAE9B;;OAEG;IACH,YAAY,IAAmB;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAU,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QACrF,OAAO,MAAM,CAAoB,GAAG,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,CAAC,GAAG,CACP,EAAU;QAEV,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAElC;YACA,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAA,cAAc,EAAE,EAAE;SAC7B,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,MAAM,CACV,UAAuB;QAIvB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAElC;YACA,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,KAA8B;QACrD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAuB;YACzD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAA,cAAc,EAAE,SAAS;YACnC,IAAI,EAAE,EAAE,KAAK,EAAE;SAChB,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;CACF"}
1
+ {"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../../../src/console/endpoints.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EAAqB,IAAI,EAAuB,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,gFAAgF;AAChF,MAAM,mBAAmB,GAAG,2BAA2B,CAAC;AAmHxD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC;AAiFxC;;;;;;;;;GASG;AACH,MAAM,OAAO,YAAY;IACd,KAAK,CAAgB;IAE9B;;OAEG;IACH,YAAY,IAAmB;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAU,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QACrF,OAAO,MAAM,CAAoB,GAAG,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,CAAC,GAAG,CACP,EAAU;QAIV,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAElC;YACA,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAA,cAAc,EAAE,EAAE;SAC7B,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,KAAK,CAAC,MAAM,CACV,UAAuB,EACvB,OAA+C;QAS/C,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,UAE/B,CAAC;QAC5B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAOlC;YACA,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,YAAY;YAClB,IAAI;YACJ,GAAG,CAAC,OAAO,EAAE,iBAAiB;gBAC5B,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC,iBAAiB,EAAE,EAAE;gBACnE,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,KAA8B;QACrD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAuB;YACzD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAA,cAAc,EAAE,SAAS;YACnC,IAAI,EAAE,EAAE,KAAK,EAAE;SAChB,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;CACF"}
@@ -123,6 +123,24 @@ export interface FunctionDef {
123
123
  /** Server-computed, spliced in by `console.functions.get` — see above. Read-only. */
124
124
  valid: boolean;
125
125
  }
126
+ /**
127
+ * What {@linkcode FunctionsApi.get} returns: the definition plus the read-only
128
+ * concurrency token. `updatedAt` is NOT on {@linkcode FunctionDef} — that is the
129
+ * `upsert` INPUT type, and a token belongs to a read, never to a save body.
130
+ */
131
+ export type FunctionRead = FunctionDef & {
132
+ updatedAt: string;
133
+ };
134
+ /** Per-call options for `console.functions.upsert`. */
135
+ export interface FunctionUpsertOptions {
136
+ /**
137
+ * The exact `updatedAt` this client last saw ({@linkcode FunctionsApi.get} or a
138
+ * prior save). When truthy it is sent as `x-w6w-if-unmodified-since` and the
139
+ * server answers `409 function_stale` if the row has moved on. Absent or
140
+ * `null`, no header is sent and the save is last-write-wins.
141
+ */
142
+ ifUnmodifiedSince?: string | null;
143
+ }
126
144
  /** One row of `list`'s result — a Function's summary, not its full definition. */
127
145
  export interface FunctionSummary {
128
146
  id: string;
@@ -131,6 +149,8 @@ export interface FunctionSummary {
131
149
  description: string;
132
150
  updatedAt: string;
133
151
  valid: boolean;
152
+ /** ISO-8601 archive time; `null` when the Function is live. Always present on the wire. */
153
+ archivedAt: string | null;
134
154
  }
135
155
  /**
136
156
  * The `console.functions` namespace on a `W6WClient`.
@@ -173,24 +193,35 @@ export declare class FunctionsApi {
173
193
  * in this package except `console.schedules.get`'s documented exception.
174
194
  *
175
195
  * @param id - The `fn_…` id.
176
- * @returns The Function definition with `valid` merged in at the top level.
196
+ * `updatedAt` (the concurrency token for {@linkcode upsert}) is spliced in the
197
+ * same way. Both top-level values are spread LAST, so a stale copy of either
198
+ * echoed into a stored definition can never win.
199
+ *
200
+ * @returns The Function definition with `valid` and `updatedAt` merged in at the top level.
177
201
  * @throws {ApiError} `404 unknown_function` when there is no such id.
178
202
  */
179
- get(id: string): Promise<FunctionDef>;
203
+ get(id: string): Promise<FunctionRead>;
180
204
  /**
181
205
  * Register (create or overwrite) a Function definition.
182
206
  *
183
207
  * `definition` is the whole definition, sent verbatim as the request body —
184
- * not wrapped in an envelope key.
208
+ * not wrapped in an envelope key — except that the read-only keys
209
+ * {@linkcode get} splices in (`updatedAt`, `valid`) are removed first
210
+ * (shallow, top level only; the caller's object is never mutated), so a
211
+ * `get` → edit → `upsert` round trip cannot store them.
185
212
  *
186
- * @param definition - The whole Function definition, forwarded verbatim.
187
- * @returns The new/updated Function's id and key.
213
+ * @param definition - The whole Function definition (a {@linkcode get} result is fine).
214
+ * @param options - `ifUnmodifiedSince` is the concurrency precondition.
215
+ * @returns The new/updated Function's id, key and new `updatedAt` (a top-level sibling of the `function` envelope on the wire).
188
216
  * @throws {ApiError} `400 invalid_function` — structurally invalid body.
217
+ * @throws {ApiError} `400 invalid_precondition` — the token is not a readable timestamp.
189
218
  * @throws {ApiError} `409 function_conflict` — another `(tenant,subject)` owns this id.
219
+ * @throws {ApiError} `409 function_stale` — the precondition did not match the stored `updatedAt`. Recoverable by reloading.
190
220
  */
191
- upsert(definition: FunctionDef): Promise<{
221
+ upsert(definition: FunctionDef | FunctionRead, options?: FunctionUpsertOptions): Promise<{
192
222
  id: string;
193
223
  key: string;
224
+ updatedAt: string;
194
225
  }>;
195
226
  }
196
227
  //# sourceMappingURL=functions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../../src/console/functions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,EAAE,KAAK,YAAY,EAAQ,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1E,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE9F;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,2BAA2B;IAC3B,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/D;AAED,6CAA6C;AAC7C,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,uDAAuD;AACvD,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;mEACmE;AACnE,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED;gDACgD;AAChD,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,CAAC;AAEF;wCACwC;AACxC,MAAM,MAAM,YAAY,GAAG,kBAAkB,GAAG,oBAAoB,CAAC;AAErE,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,IAAI,oBAAoB,CAE/E;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC/B,IAAI,EAAE,YAAY,CAAC;IACnB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,iFAAiF;IACjF,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,0CAA0C;IAC1C,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,qFAAqF;IACrF,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,kFAAkF;AAClF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,qBAAa,YAAY;;IAGvB;;OAEG;gBACS,IAAI,EAAE,aAAa;IAI/B;;;;;;;;OAQG;IACG,IAAI,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAKxC;;;;;;;;;;;;;;;;;OAiBG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAQ3C;;;;;;;;;;OAUG;IACG,MAAM,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAQ5E"}
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../../src/console/functions.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,8 @@
47
47
  */
48
48
  import { path } from "../http.js";
49
49
  import { unwrap } from "../types.js";
50
+ /** The precondition header `upsert` sends when `ifUnmodifiedSince` is given. */
51
+ const PRECONDITION_HEADER = "x-w6w-if-unmodified-since";
50
52
  /** The ONE discriminator every consumer branches on — never re-derive it. */
51
53
  export function isCallableImpl(impl) {
52
54
  return impl.kind === "function" || impl.kind === "workflow";
@@ -97,7 +99,11 @@ export class FunctionsApi {
97
99
  * in this package except `console.schedules.get`'s documented exception.
98
100
  *
99
101
  * @param id - The `fn_…` id.
100
- * @returns The Function definition with `valid` merged in at the top level.
102
+ * `updatedAt` (the concurrency token for {@linkcode upsert}) is spliced in the
103
+ * same way. Both top-level values are spread LAST, so a stale copy of either
104
+ * echoed into a stored definition can never win.
105
+ *
106
+ * @returns The Function definition with `valid` and `updatedAt` merged in at the top level.
101
107
  * @throws {ApiError} `404 unknown_function` when there is no such id.
102
108
  */
103
109
  async get(id) {
@@ -105,26 +111,38 @@ export class FunctionsApi {
105
111
  method: "GET",
106
112
  path: path `/functions/${id}`,
107
113
  });
108
- return { ...res.body.function, valid: res.body.valid };
114
+ return { ...res.body.function, valid: res.body.valid, updatedAt: res.body.updatedAt };
109
115
  }
110
116
  /**
111
117
  * Register (create or overwrite) a Function definition.
112
118
  *
113
119
  * `definition` is the whole definition, sent verbatim as the request body —
114
- * not wrapped in an envelope key.
120
+ * not wrapped in an envelope key — except that the read-only keys
121
+ * {@linkcode get} splices in (`updatedAt`, `valid`) are removed first
122
+ * (shallow, top level only; the caller's object is never mutated), so a
123
+ * `get` → edit → `upsert` round trip cannot store them.
115
124
  *
116
- * @param definition - The whole Function definition, forwarded verbatim.
117
- * @returns The new/updated Function's id and key.
125
+ * @param definition - The whole Function definition (a {@linkcode get} result is fine).
126
+ * @param options - `ifUnmodifiedSince` is the concurrency precondition.
127
+ * @returns The new/updated Function's id, key and new `updatedAt` (a top-level sibling of the `function` envelope on the wire).
118
128
  * @throws {ApiError} `400 invalid_function` — structurally invalid body.
129
+ * @throws {ApiError} `400 invalid_precondition` — the token is not a readable timestamp.
119
130
  * @throws {ApiError} `409 function_conflict` — another `(tenant,subject)` owns this id.
131
+ * @throws {ApiError} `409 function_stale` — the precondition did not match the stored `updatedAt`. Recoverable by reloading.
120
132
  */
121
- async upsert(definition) {
133
+ async upsert(definition, options) {
134
+ const { updatedAt: _updatedAt, valid: _valid, ...body } = definition;
122
135
  const res = await this.#host.request({
123
136
  method: "POST",
124
137
  path: "/functions",
125
- body: definition,
138
+ body,
139
+ ...(options?.ifUnmodifiedSince
140
+ ? { headers: { [PRECONDITION_HEADER]: options.ifUnmodifiedSince } }
141
+ : {}),
126
142
  });
127
- return unwrap(res, "function");
143
+ const saved = unwrap(res, "function");
144
+ const { updatedAt } = res.body;
145
+ return { id: saved.id, key: saved.key, updatedAt };
128
146
  }
129
147
  }
130
148
  //# sourceMappingURL=functions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/console/functions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,EAAqB,IAAI,EAAuB,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAmDrC,6EAA6E;AAC7E,MAAM,UAAU,cAAc,CAAC,IAAkB;IAC/C,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC;AAC9D,CAAC;AAyCD;;;;;;;;;GASG;AACH,MAAM,OAAO,YAAY;IACd,KAAK,CAAgB;IAE9B;;OAEG;IACH,YAAY,IAAmB;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAU,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QACrF,OAAO,MAAM,CAAoB,GAAG,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4C;YAC9E,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAA,cAAc,EAAE,EAAE;SAC7B,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACzD,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,MAAM,CAAC,UAAuB;QAClC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAU;YAC5C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;QACH,OAAO,MAAM,CAA8B,GAAG,EAAE,UAAU,CAAC,CAAC;IAC9D,CAAC;CACF"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/console/functions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,EAAqB,IAAI,EAAuB,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,gFAAgF;AAChF,MAAM,mBAAmB,GAAG,2BAA2B,CAAC;AAkDxD,6EAA6E;AAC7E,MAAM,UAAU,cAAc,CAAC,IAAkB;IAC/C,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC;AAC9D,CAAC;AA6DD;;;;;;;;;GASG;AACH,MAAM,OAAO,YAAY;IACd,KAAK,CAAgB;IAE9B;;OAEG;IACH,YAAY,IAAmB;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAU,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QACrF,OAAO,MAAM,CAAoB,GAAG,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAElC;YACA,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAA,cAAc,EAAE,EAAE;SAC7B,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACxF,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,MAAM,CACV,UAAsC,EACtC,OAA+B;QAE/B,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,UAE/B,CAAC;QAC5B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAU;YAC5C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,YAAY;YAClB,IAAI;YACJ,GAAG,CAAC,OAAO,EAAE,iBAAiB;gBAC5B,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC,iBAAiB,EAAE,EAAE;gBACnE,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAA8B,GAAG,EAAE,UAAU,CAAC,CAAC;QACnE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,IAA6B,CAAC;QACxD,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC;IACrD,CAAC;CACF"}
@@ -49,7 +49,7 @@ export type { DashboardHost, DashboardStats, DashboardStatsParams } from "./dash
49
49
  export { CommerceApi } from "./commerce.ts";
50
50
  export type { AccountAllowance, AccountAllowanceCredits, AccountAllowanceLimits, AllowanceValue, BillingInterval, ChangeSubscriptionInput, CheckoutInput, CheckoutInterval, CheckoutResult, CommerceHost, CommerceSubscription, ConfirmCheckoutInput, ContactSalesInput, ContactSalesResult, Invoice, MonitorLimit, Plan, PlanCapabilities, PlanLimits, PlanPrice, PlanPricePoint, PlanQuotas, Quota, RetentionLimit, SelfHostLicence, SubscriptionChangePreview, SubscriptionChangeResult, SupportLevel, } from "./commerce.ts";
51
51
  export { ReliabilityApi } from "./reliability.ts";
52
- export type { ReliabilityComponentReport, ReliabilityErrorMix, ReliabilityHost, ReliabilityService, ReliabilityServices, ReliabilityState, ReliabilityTimelineEntry, ReliabilityUptimeDay, ReliabilityVendorStatus, } from "./reliability.ts";
52
+ export type { ReliabilityComponentReport, ReliabilityErrorMix, ReliabilityHost, ReliabilityService, ReliabilityServiceMembers, ReliabilityServices, ReliabilityState, ReliabilityTimelineEntry, ReliabilityUptimeDay, ReliabilityVendorStatus, } from "./reliability.ts";
53
53
  export { ProjectsApi } from "./projects.ts";
54
54
  export type { Project, ProjectsHost } from "./projects.ts";
55
55
  export { SchedulesApi } from "./schedules.ts";
@@ -69,7 +69,7 @@ export type { SecretValue, VaultHost, VaultSecretSummary } from "./vault.ts";
69
69
  export { TokensApi } from "./tokens.ts";
70
70
  export type { ApiToken, ApiTokenStatus, CreateTokenResponse, TokensHost } from "./tokens.ts";
71
71
  export { FunctionsApi, isCallableImpl } from "./functions.ts";
72
- export type { FunctionActionImpl, FunctionCallableImpl, FunctionDef, FunctionImpl, FunctionInput, FunctionOutputField, FunctionsHost, FunctionSummary, } from "./functions.ts";
72
+ export type { FunctionActionImpl, FunctionCallableImpl, FunctionDef, FunctionImpl, FunctionInput, FunctionOutputField, FunctionRead, FunctionsHost, FunctionSummary, FunctionUpsertOptions, } from "./functions.ts";
73
73
  export { EndpointsApi, SECRET_MASK } from "./endpoints.ts";
74
74
  export type { ActionTarget, CallableOnError, CallableRef, EndpointAuthMode, EndpointDef, EndpointInput, EndpointInvokeResult, EndpointRefTarget, EndpointSecurity, EndpointsHost, EndpointSummary, EndpointTarget, ErrorHandlerTarget, ErrorReroute, Exposure, RetryPolicy, } from "./endpoints.ts";
75
75
  export { AliasesApi } from "./aliases.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/console/mod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/console/mod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EACV,WAAW,EACX,QAAQ,EACR,yBAAyB,EACzB,SAAS,EACT,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,yBAAyB,EACzB,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,UAAU,EACV,wBAAwB,EACxB,kBAAkB,EAClB,IAAI,EACJ,WAAW,GACZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EACV,yBAAyB,EACzB,OAAO,EACP,mCAAmC,EACnC,sBAAsB,EACtB,YAAY,EACZ,WAAW,EACX,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,OAAO,EACP,YAAY,EACZ,IAAI,EACJ,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,cAAc,EACd,UAAU,EACV,KAAK,EACL,cAAc,EACd,eAAe,EACf,yBAAyB,EACzB,wBAAwB,EACxB,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EACV,0BAA0B,EAC1B,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EACV,SAAS,EACT,WAAW,EACX,aAAa,EACb,SAAS,EACT,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,OAAO,EACP,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,cAAc,EACd,WAAW,EACX,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACV,sBAAsB,GACvB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC9D,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC3D,YAAY,EACV,YAAY,EACZ,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,QAAQ,EACR,WAAW,GACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EACV,YAAY,EACZ,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EACV,gCAAgC,EAChC,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,YAAY,EACV,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,2BAA2B;IAC3B,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/D;AAED;;;;;;;;GAQG;AACH,qBAAa,UAAU;IACrB,+BAA+B;IAC/B,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IACrC,wBAAwB;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,6BAA6B;IAC7B,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,4BAA4B;IAC5B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,4BAA4B;IAC5B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,6BAA6B;IAC7B,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,wBAAwB;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,+BAA+B;IAC/B,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IACrC,6BAA6B;IAC7B,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,8BAA8B;IAC9B,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,6BAA6B;IAC7B,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,yBAAyB;IACzB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,0BAA0B;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,6BAA6B;IAC7B,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,6BAA6B;IAC7B,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,2BAA2B;IAC3B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,iCAAiC;IACjC,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC;IACzC,4BAA4B;IAC5B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,6FAA6F;IAC7F,QAAQ,CAAC,eAAe,EAAE,kBAAkB,CAAC;IAC7C,4BAA4B;IAC5B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,+EAA+E;IAC/E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,8FAA8F;IAC9F,QAAQ,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;IAE/C;;OAEG;gBACS,IAAI,EAAE,WAAW;CAwB9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../src/console/mod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../src/console/mod.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  * `docs/implementation.md` §3, and raised by exactly the three failure modes
9
9
  * in `src/http.ts`.
10
10
  * - {@linkcode ConfigError} — the client was never in a position to make a
11
- * request: no base URL, or no token. No HTTP exchange happened, so an
11
+ * request: an explicitly blank base URL, or no token. No HTTP exchange happened, so an
12
12
  * `ApiError`'s `status` and `code` would have to be invented; `status: 0` in
13
13
  * particular is already spoken for by `network_error`, and conflating "your
14
14
  * server is unreachable" with "you have not configured a server" is exactly
@@ -65,7 +65,7 @@ export declare class ApiError extends Error {
65
65
  /**
66
66
  * The client is not configured well enough to make a request.
67
67
  *
68
- * Raised at construction when there is no base URL, and on the first request
68
+ * Raised at construction when an explicit base URL is blank or malformed, and on the first request
69
69
  * when there is no token — a client with no token can still be *built*, so a
70
70
  * CLI's `--help` and `--version` work offline (`docs/implementation.md` §2).
71
71
  *
@@ -8,7 +8,7 @@
8
8
  * `docs/implementation.md` §3, and raised by exactly the three failure modes
9
9
  * in `src/http.ts`.
10
10
  * - {@linkcode ConfigError} — the client was never in a position to make a
11
- * request: no base URL, or no token. No HTTP exchange happened, so an
11
+ * request: an explicitly blank base URL, or no token. No HTTP exchange happened, so an
12
12
  * `ApiError`'s `status` and `code` would have to be invented; `status: 0` in
13
13
  * particular is already spoken for by `network_error`, and conflating "your
14
14
  * server is unreachable" with "you have not configured a server" is exactly
@@ -71,7 +71,7 @@ export class ApiError extends Error {
71
71
  /**
72
72
  * The client is not configured well enough to make a request.
73
73
  *
74
- * Raised at construction when there is no base URL, and on the first request
74
+ * Raised at construction when an explicit base URL is blank or malformed, and on the first request
75
75
  * when there is no token — a client with no token can still be *built*, so a
76
76
  * CLI's `--help` and `--version` work offline (`docs/implementation.md` §2).
77
77
  *
@@ -104,6 +104,32 @@ export interface FunctionDetail {
104
104
  * the object a caller sends back to {@linkcode FunctionsApi.update}.
105
105
  */
106
106
  valid: boolean;
107
+ /**
108
+ * The concurrency token — pass it to {@linkcode FunctionsApi.update} as
109
+ * `ifUnmodifiedSince` to make the next save refuse a stale write. **A
110
+ * top-level sibling of `function`, like {@linkcode valid}**, never a field
111
+ * inside the stored definition.
112
+ */
113
+ updatedAt: string;
114
+ }
115
+ /** What `functions.create` and `functions.update` return. */
116
+ export interface FunctionSaveResult {
117
+ /** The saved Function's id. */
118
+ id: string;
119
+ /** The saved Function's key. */
120
+ key: string;
121
+ /** The new concurrency token, so a caller can chain saves without a re-`get`. */
122
+ updatedAt: string;
123
+ }
124
+ /** Per-call options for `functions.update`. */
125
+ export interface FunctionWriteOptions {
126
+ /**
127
+ * The exact `updatedAt` this client last saw. When given, the server refuses
128
+ * the write with `409 function_stale` if the stored row has moved on since —
129
+ * recoverable by re-reading and re-saving. Omitted (or `null`), the save is
130
+ * last-write-wins and the header is not sent.
131
+ */
132
+ ifUnmodifiedSince?: string | null;
107
133
  }
108
134
  /**
109
135
  * The `functions` namespace on a `W6WClient`.
@@ -165,13 +191,13 @@ export declare class FunctionsApi {
165
191
  /**
166
192
  * Fetch one Function's stored definition.
167
193
  *
168
- * Returns the whole body — `{function, valid}` — rather than splicing `valid`
169
- * into the definition. See {@linkcode FunctionDetail.valid} for why that
194
+ * Returns the whole body — `{function, valid, updatedAt}` — rather than
195
+ * splicing `valid` or `updatedAt` into the definition. See {@linkcode FunctionDetail.valid} for why that
170
196
  * placement matters on the way back OUT of this method.
171
197
  *
172
198
  * @param id - The `fn_…` id, or the Function's `key`. Percent-encoded into the path.
173
199
  * @param options - Optional per-call transport options (`signal` to abort).
174
- * @returns The definition and the server's runnability verdict.
200
+ * @returns The definition, the server's runnability verdict and the concurrency token.
175
201
  * @throws {ApiError} `404 unknown_function` when there is no such Function for this caller.
176
202
  */
177
203
  get(id: string, options?: CallOptions): Promise<FunctionDetail>;
@@ -190,43 +216,44 @@ export declare class FunctionsApi {
190
216
  * definition whose id already exists overwrites it.
191
217
  *
192
218
  * @param definition - The whole Function definition, forwarded verbatim apart from a minted `id`.
193
- * @returns The new Function's id and key.
219
+ * @returns The new Function's id, key and first `updatedAt`.
194
220
  * @throws {ApiError} `400 invalid_function` — no `key`, no `inputs` array, or a malformed `impl`.
195
221
  * @throws {ApiError} `409 function_conflict` — another `(tenant, subject)` already owns that id.
196
222
  * @throws {ApiError} `409 function_key_conflict` — that `key` is already taken in this scope.
223
+ * (`create` sends no precondition, so it cannot be `function_stale`.)
197
224
  */
198
- create(definition: FunctionDefinition): Promise<{
199
- id: string;
200
- key: string;
201
- }>;
225
+ create(definition: FunctionDefinition): Promise<FunctionSaveResult>;
202
226
  /**
203
227
  * Overwrite a Function's stored definition.
204
228
  *
205
229
  * **A full replacement, not a patch** — the server has one write route and it
206
230
  * stores what it is given, so read with {@linkcode get}, change what you mean
207
- * to change, and send the whole thing back. There is no concurrency
208
- * precondition on this route (workflows have one; Functions do not), so the
209
- * write is last-write-wins.
231
+ * to change, and send the whole thing back. Pass
232
+ * `options.ifUnmodifiedSince` (the `updatedAt` from {@linkcode get} or a prior
233
+ * save) to make the write refuse a stale base; omitted, the save is
234
+ * last-write-wins and the header is never sent — not as an empty or `"null"`
235
+ * string.
210
236
  *
211
237
  * `id` comes from the FIRST ARGUMENT and is pinned into the body, overriding
212
238
  * any `id` the definition carries — otherwise `update("fn_a", defOfB)` would
213
239
  * quietly write to B.
214
240
  *
215
- * Do not send back the `valid` field: it is not part of the stored document,
216
- * and {@linkcode get} deliberately leaves it outside the definition so that
217
- * a read-modify-write round trip cannot pick it up by accident.
241
+ * Do not send back the `valid` or `updatedAt` fields: they are not part of the
242
+ * stored document, and {@linkcode get} deliberately leaves them outside the
243
+ * definition so that a read-modify-write round trip cannot pick them up by
244
+ * accident.
218
245
  *
219
246
  * @param id - The `fn_…` id to write to.
220
247
  * @param definition - The whole replacement definition.
221
- * @returns The Function's id and key.
248
+ * @param options - `ifUnmodifiedSince` is the concurrency precondition.
249
+ * @returns The Function's id, key and new `updatedAt`.
222
250
  * @throws {ApiError} `400 invalid_function` — structurally invalid body.
251
+ * @throws {ApiError} `400 invalid_precondition` — the token is not a timestamp the server can read.
252
+ * @throws {ApiError} `409 function_stale` — the precondition did not match the stored `updatedAt`. IS recoverable by reloading and re-saving.
223
253
  * @throws {ApiError} `409 function_conflict` — another `(tenant, subject)` owns this id.
224
254
  * @throws {ApiError} `409 function_key_conflict` — the new `key` is already taken in this scope.
225
255
  */
226
- update(id: string, definition: FunctionDefinition): Promise<{
227
- id: string;
228
- key: string;
229
- }>;
256
+ update(id: string, definition: FunctionDefinition, options?: FunctionWriteOptions): Promise<FunctionSaveResult>;
230
257
  /**
231
258
  * Archive a Function.
232
259
  *
@@ -271,7 +298,9 @@ export declare class FunctionsApi {
271
298
  /**
272
299
  * Rewrite the live Function from a published version. Does not publish.
273
300
  *
274
- * Saves remain last-write-wins: Functions have no concurrency precondition.
301
+ * Revert is not itself guarded, but it rewrites the stored row, so its
302
+ * `updatedAt` moves: a token read before a revert is stale after it
303
+ * (`409 function_stale` on the next guarded {@linkcode update}).
275
304
  *
276
305
  * @param id - The `fn_…` id.
277
306
  * @param n - The version to restore.
@@ -1 +1 @@
1
- {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/functions.ts"],"names":[],"mappings":"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"}