@sanoma-ai/connector-cloudflare 0.1.6 → 0.3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","sourceRoot":"","sources":["../src/driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../src/driver.ts"],"names":[],"mappings":"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"}
package/dist/fake.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type FakeOptions } from "@sanoma-ai/workflows/fake";
2
- import { type Application, type ReadBinding } from "./ops.ts";
2
+ import { type Application, type ReadBinding, type ZoneRecord } from "./ops.ts";
3
3
  /** A `GET /wake` a container answered: when. */
4
4
  export interface FakeWake {
5
5
  at: Date;
@@ -20,6 +20,8 @@ export type StartContainer = (input: {
20
20
  export interface FakeCloudflareOptions extends FakeOptions {
21
21
  /** What a container runs. Default: a stub that answers `/healthz` 200 and `/wake` 204. */
22
22
  start?: StartContainer;
23
+ /** The zones the account holds, by name. Default: every one asked for, as a sandbox's account holds its domains. */
24
+ zones?: readonly string[];
23
25
  }
24
26
  export interface FakeCloudflareState extends Record<string, unknown> {
25
27
  seq: number;
@@ -35,11 +37,24 @@ export interface FakeCloudflareState extends Record<string, unknown> {
35
37
  }>;
36
38
  /** The account's registry: each image copied in, by its pinned reference there, and the image it was copied from. */
37
39
  images: Record<string, string>;
40
+ /** The account's zones looked up so far: each one's id, by name. */
41
+ zones: Record<string, string>;
42
+ /** The Workers' custom domains, by id: the hostname, the Worker it routes to and its zone's id. */
43
+ domains: Record<string, {
44
+ hostname: string;
45
+ service: string;
46
+ zone_id: string;
47
+ }>;
48
+ /** Each zone's DNS records, by the zone's name: any set's, and any added by hand (a test's). */
49
+ dns: Record<string, ZoneRecord[]>;
38
50
  }
39
51
  /**
40
52
  * An in-memory Cloudflare account for tests, as the API answers: Workers in `state.scripts`,
41
53
  * container applications in `state.applications`, the images copied into its registry in
42
- * `state.images` (nothing is pulled), and the account's workers.dev URLs served in
54
+ * `state.images` (nothing is pulled), their custom domains in `state.domains` (every zone held
55
+ * unless `zones` names them), each zone's DNS records in `state.dns`, by the zone's name (a batch
56
+ * is all or nothing: an identical record or one beside a CNAME fails it whole), and the account's
57
+ * workers.dev URLs served in
43
58
  * this process, one server on a port of this machine per Worker name (a name with no Worker
44
59
  * answers workers.dev's 404). Each Worker runs the package's own object code
45
60
  * (`worker/instance.js`) over a `ctx` in this process: its container runs `start`'s runtime
@@ -54,6 +69,7 @@ export interface FakeCloudflareState extends Record<string, unknown> {
54
69
  */
55
70
  export declare function fakeCloudflare(options?: FakeCloudflareOptions): import("@sanoma-ai/workflows/fake").Fake<FakeCloudflareState, import("@sanoma-ai/workflows").OpIdOf<"cloudflare", {
56
71
  container: (typeof import("./connector.ts").container)["ops"];
72
+ records: (typeof import("./connector.ts").records)["ops"];
57
73
  alarm: (typeof import("./connector.ts").alarm)["ops"] & {
58
74
  register: {
59
75
  effect: "write";
package/dist/fake.js CHANGED
@@ -3,8 +3,9 @@ import { createServer } from "node:http";
3
3
  import { DriverError, errorMessage, retryableStatus } from "@sanoma-ai/workflows";
4
4
  import { defineFake } from "@sanoma-ai/workflows/fake";
5
5
  import { NodeRequest, sendNodeResponse } from "srvx/node";
6
- import { cloudflareOps } from "./connector.js";
7
- import { alarmOps, containerOps, scriptOf } from "./ops.js";
6
+ import { caaContent, cloudflareOps } from "./connector.js";
7
+ import { alarmOps, containerOps, inZone, scriptOf, } from "./ops.js";
8
+ import { recordsOps } from "./records.js";
8
9
  import { accountImage, accountPinned, pinImage } from "./registry.js";
9
10
  import { Instance, OBJECT_CLASS, worker } from "./worker.js";
10
11
  /** The fake account's id, which its registry's references name: the fixtures' made-up one. */
@@ -19,6 +20,21 @@ const MAX_DELAY_MS = 2 ** 31 - 1;
19
20
  /** Headers `fetch` refuses to send, or that no longer hold once it decoded a body. */
20
21
  const HOP = ["connection", "keep-alive", "transfer-encoding", "upgrade", "content-length", "content-encoding"];
21
22
  const fail = (status, code, message) => new DriverError(`cloudflare: ${message}`, { retryable: retryableStatus(status), status, vendorCode: String(code) });
23
+ /** A record as the zone `zone` holds a write of it: a CAA record's fields as its content, a name outside the zone refused. */
24
+ function dnsRecordOf(zone, { type, name, ttl, comment, proxied, content, priority, data }) {
25
+ if (!inZone(name, zone)) {
26
+ throw fail(400, 9005, `dns_records/batch: ${name} is not in the zone ${zone}`);
27
+ }
28
+ return {
29
+ type,
30
+ name,
31
+ content: data ? caaContent(data) : (content ?? ""),
32
+ ttl,
33
+ ...(priority !== undefined && { priority }),
34
+ comment,
35
+ proxied,
36
+ };
37
+ }
22
38
  /** workers.dev's answer for a name with no Worker behind it. */
23
39
  const nothingHere = () => new Response("<!doctype html><title>There is nothing here yet</title>", {
24
40
  status: 404,
@@ -219,7 +235,10 @@ function fakeObject(start, images, source, started) {
219
235
  /**
220
236
  * An in-memory Cloudflare account for tests, as the API answers: Workers in `state.scripts`,
221
237
  * container applications in `state.applications`, the images copied into its registry in
222
- * `state.images` (nothing is pulled), and the account's workers.dev URLs served in
238
+ * `state.images` (nothing is pulled), their custom domains in `state.domains` (every zone held
239
+ * unless `zones` names them), each zone's DNS records in `state.dns`, by the zone's name (a batch
240
+ * is all or nothing: an identical record or one beside a CNAME fails it whole), and the account's
241
+ * workers.dev URLs served in
223
242
  * this process, one server on a port of this machine per Worker name (a name with no Worker
224
243
  * answers workers.dev's 404). Each Worker runs the package's own object code
225
244
  * (`worker/instance.js`) over a `ctx` in this process: its container runs `start`'s runtime
@@ -268,6 +287,17 @@ export function fakeCloudflare(options = {}) {
268
287
  };
269
288
  const api = (state) => {
270
289
  const appOf = (script) => Object.values(state.applications).find((a) => a.name === script);
290
+ /** A new id, 32 digits, as Cloudflare's are 32 hexadecimal ones. */
291
+ const nextId = () => String(++state.seq).padStart(32, "0");
292
+ /** The name of the zone of that id among those looked up: a request names a zone by its id. */
293
+ const zoneOf = (zoneId) => Object.entries(state.zones).find(([, id]) => id === zoneId)?.[0];
294
+ const zoneNamed = (zoneId) => {
295
+ const zone = zoneOf(zoneId);
296
+ if (!zone)
297
+ throw fail(404, 7003, `zones/${zoneId}: Could not route to /zones/${zoneId}, perhaps your object identifier is invalid?`);
298
+ return zone;
299
+ };
300
+ const recordsOf = (zoneId) => state.dns[zoneNamed(zoneId)] ?? [];
271
301
  return {
272
302
  workerUrl: (script) => serve(state, script),
273
303
  async bindings(script) {
@@ -299,8 +329,7 @@ export function fakeCloudflare(options = {}) {
299
329
  }
300
330
  envs.set(script, env);
301
331
  // The namespace the first upload made, kept across uploads as Cloudflare keeps it.
302
- const namespace_id = state.scripts[script]?.bindings.find((b) => b.namespace_id)?.namespace_id ??
303
- `${String(++state.seq).padStart(32, "0")}`;
332
+ const namespace_id = state.scripts[script]?.bindings.find((b) => b.namespace_id)?.namespace_id ?? nextId();
304
333
  state.scripts[script] = {
305
334
  bindings: bindings.map(({ type, name, ...rest }) => type === "secret_text"
306
335
  ? { type, name }
@@ -360,6 +389,72 @@ export function fakeCloudflare(options = {}) {
360
389
  if (found)
361
390
  await objects.get(found.name)?.stop();
362
391
  },
392
+ async zone(name) {
393
+ if (options.zones && !options.zones.includes(name))
394
+ return undefined;
395
+ state.zones[name] ??= nextId();
396
+ return state.zones[name];
397
+ },
398
+ async domains(script) {
399
+ return Object.entries(state.domains)
400
+ .filter(([, d]) => d.service === script)
401
+ .map(([id, { hostname }]) => ({ id, hostname }));
402
+ },
403
+ async attachDomain(script, hostname, zone_id) {
404
+ if (!state.scripts[script])
405
+ throw fail(404, 10007, `workers/domains: This Worker does not exist on your account.`);
406
+ const zone = zoneOf(zone_id);
407
+ if (!zone || !inZone(hostname, zone)) {
408
+ throw fail(400, 100117, `workers/domains: ${hostname} is not in the zone ${zone_id}`);
409
+ }
410
+ const id = Object.entries(state.domains).find(([, d]) => d.hostname === hostname)?.[0] ?? nextId();
411
+ state.domains[id] = { hostname, service: script, zone_id };
412
+ },
413
+ async detachDomain(id) {
414
+ delete state.domains[id];
415
+ },
416
+ async dnsRecords(zoneId, comment) {
417
+ // `comment.exact` ignores case, as Cloudflare's does.
418
+ const exact = comment.toLowerCase();
419
+ return structuredClone(recordsOf(zoneId).filter((r) => r.comment?.toLowerCase() === exact));
420
+ },
421
+ async dnsRecordsAt(zoneId, name) {
422
+ return structuredClone(recordsOf(zoneId).filter((r) => r.name === name));
423
+ },
424
+ async writeDns(zoneId, { posts, patches, deletes }) {
425
+ const zone = zoneNamed(zoneId);
426
+ // On a copy, kept only once every change is made: a batch is one transaction.
427
+ const held = structuredClone(state.dns[zone] ?? []);
428
+ const at = (id) => {
429
+ const found = held.findIndex((r) => r.id === id);
430
+ if (found < 0)
431
+ throw fail(404, 81044, `dns_records/batch: Record ${id} does not exist.`);
432
+ return found;
433
+ };
434
+ for (const { id } of deletes)
435
+ held.splice(at(id), 1);
436
+ const patched = patches.map(({ id, ...write }) => {
437
+ const record = { id, ...dnsRecordOf(zone, write) };
438
+ held[at(id)] = record;
439
+ return record;
440
+ });
441
+ const posted = posts.map((write) => {
442
+ const record = { id: nextId(), ...dnsRecordOf(zone, write) };
443
+ held.push(record);
444
+ return record;
445
+ });
446
+ for (const record of [...patched, ...posted]) {
447
+ const beside = held.filter((r) => r.id !== record.id && r.name === record.name);
448
+ if (beside.some((r) => r.type === record.type && r.content === record.content && r.priority === record.priority)) {
449
+ throw fail(400, 81058, "dns_records/batch: An identical record already exists.");
450
+ }
451
+ if (beside.some((r) => r.type === "CNAME" || record.type === "CNAME")) {
452
+ throw fail(400, 81053, "dns_records/batch: An A, AAAA, or CNAME record with that host already exists.");
453
+ }
454
+ }
455
+ state.dns[zone] = held;
456
+ return structuredClone({ patches: patched, posts: posted });
457
+ },
363
458
  async send(url, init) {
364
459
  const script = scriptAt(url);
365
460
  if (!script)
@@ -369,10 +464,19 @@ export function fakeCloudflare(options = {}) {
369
464
  };
370
465
  };
371
466
  const fake = defineFake(cloudflareOps, {
372
- initial: () => ({ seq: 0, scripts: {}, applications: {}, images: {} }),
467
+ initial: () => ({
468
+ seq: 0,
469
+ scripts: {},
470
+ applications: {},
471
+ images: {},
472
+ zones: {},
473
+ domains: {},
474
+ dns: {},
475
+ }),
373
476
  ops: (state) => ({
374
477
  container: containerOps(() => api(state), { startTimeoutMs: 60_000, pollMs: 50 }),
375
478
  alarm: alarmOps(() => api(state)),
479
+ records: recordsOps(() => api(state)),
376
480
  }),
377
481
  }, options);
378
482
  const named = (name) => [...objects].filter(([script]) => name === undefined || script === scriptOf(name)).map(([, o]) => o);
package/dist/fake.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"fake.js","sourceRoot":"","sources":["../src/fake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fake.js","sourceRoot":"","sources":["../src/fake.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Cloudflare: the resource types `cloudflare.container`, the company's Worker and its Container,
3
- * which meets the `Host` contract, and `cloudflare.alarm`, its Durable Object's alarm, which meets
4
- * the `Wakeup` contract (`read`, `import`, `plan`, `create`, `update`, `delete` each), and
3
+ * which meets the `Host` contract, `cloudflare.alarm`, its Durable Object's alarm, which meets
4
+ * the `Wakeup` contract, and `cloudflare.records`, a set of DNS records in one of the account's
5
+ * zones (`read`, `import`, `plan`, `create`, `update`, `delete` each), and
5
6
  * `cloudflare.alarm.register` (effect `write`), which the worker registers each deadline through
6
7
  * before it stops. It carries its live driver (`cloudflareDriver`), which reads its credentials
7
8
  * when called, its fake (`fakeCloudflare`), of which each sandbox run makes its own, and its steps
@@ -9,6 +10,7 @@
9
10
  */
10
11
  export declare const cloudflare: import("@sanoma-ai/workflows").Connector<"cloudflare", {
11
12
  container: (typeof import("./connector.ts").container)["ops"];
13
+ records: (typeof import("./connector.ts").records)["ops"];
12
14
  alarm: (typeof import("./connector.ts").alarm)["ops"] & {
13
15
  register: {
14
16
  effect: "write";
package/dist/index.js CHANGED
@@ -5,8 +5,9 @@ import { fakeCloudflare } from "./fake.js";
5
5
  import { cloudflareSteps } from "./steps.js";
6
6
  /**
7
7
  * Cloudflare: the resource types `cloudflare.container`, the company's Worker and its Container,
8
- * which meets the `Host` contract, and `cloudflare.alarm`, its Durable Object's alarm, which meets
9
- * the `Wakeup` contract (`read`, `import`, `plan`, `create`, `update`, `delete` each), and
8
+ * which meets the `Host` contract, `cloudflare.alarm`, its Durable Object's alarm, which meets
9
+ * the `Wakeup` contract, and `cloudflare.records`, a set of DNS records in one of the account's
10
+ * zones (`read`, `import`, `plan`, `create`, `update`, `delete` each), and
10
11
  * `cloudflare.alarm.register` (effect `write`), which the worker registers each deadline through
11
12
  * before it stops. It carries its live driver (`cloudflareDriver`), which reads its credentials
12
13
  * when called, its fake (`fakeCloudflare`), of which each sandbox run makes its own, and its steps
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,EAAE;IACjD,MAAM,EAAE,gBAAgB;IACxB,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,eAAe;CACvB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,EAAE;IACjD,MAAM,EAAE,gBAAgB;IACxB,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,eAAe;CACvB,CAAC,CAAC"}
package/dist/ops.d.ts CHANGED
@@ -7,11 +7,6 @@ export declare const MIGRATION: {
7
7
  new_tag: string;
8
8
  new_sqlite_classes: string[];
9
9
  };
10
- /**
11
- * The host's own URL, which the Worker gives the container and `alarm.create` stores: where
12
- * `alarm.register` sends the wake, as the registration names no host.
13
- */
14
- export declare const HOST_URL = "SANOMA_HOST_URL";
15
10
  /** A binding as the upload sends it. */
16
11
  export type Binding = {
17
12
  type: "durable_object_namespace";
@@ -62,6 +57,54 @@ export interface Preparation {
62
57
  /** Why it is still pending, or failed. */
63
58
  reason?: string;
64
59
  }
60
+ /** A custom domain attached to a Worker, as the fields read here. */
61
+ export interface AttachedDomain {
62
+ id: string;
63
+ hostname: string;
64
+ }
65
+ /** A DNS record as a zone holds it (`GET /zones/{id}/dns_records`), as the fields read here. */
66
+ export interface ZoneRecord {
67
+ id: string;
68
+ type: string;
69
+ /** The full name, as Cloudflare gives it. */
70
+ name: string;
71
+ /** As Cloudflare shows it: a TXT record's text may be quoted. */
72
+ content: string;
73
+ priority?: number;
74
+ /** In seconds; 1 is automatic. */
75
+ ttl: number;
76
+ comment?: string | null;
77
+ /** Whether its traffic goes through Cloudflare; a set's never does. */
78
+ proxied?: boolean;
79
+ }
80
+ /** A record as a batch writes it: never proxied, its comment the set's mark. */
81
+ export interface RecordWrite {
82
+ type: string;
83
+ name: string;
84
+ ttl: number;
85
+ proxied: false;
86
+ comment: string;
87
+ /** Everything but a CAA record's. */
88
+ content?: string;
89
+ /** An MX record's. */
90
+ priority?: number;
91
+ /** A CAA record's, which Cloudflare takes as fields, not as content. */
92
+ data?: {
93
+ flags: number;
94
+ tag: string;
95
+ value: string;
96
+ };
97
+ }
98
+ /** One batch of DNS changes (`POST /zones/{id}/dns_records/batch`), which Cloudflare runs as one transaction: deletes, patches, then posts. */
99
+ export interface DnsBatch {
100
+ posts: RecordWrite[];
101
+ patches: (RecordWrite & {
102
+ id: string;
103
+ })[];
104
+ deletes: {
105
+ id: string;
106
+ }[];
107
+ }
65
108
  /** Cloudflare, as the operations use it. Each call fails with a `DriverError`, except `send`. */
66
109
  export interface CloudflareApi {
67
110
  /** The Worker's URL: `https://<script>.<account subdomain>.workers.dev`. */
@@ -93,6 +136,23 @@ export interface CloudflareApi {
93
136
  createApplication(name: string, namespaceId: string): Promise<Application>;
94
137
  /** Deletes the application; nothing when there is none. */
95
138
  deleteApplication(id: string): Promise<void>;
139
+ /** The id of the account's zone of that name (`GET /zones?name=&account.id=`); undefined when it holds none. */
140
+ zone(name: string): Promise<string | undefined>;
141
+ /** The custom domains attached to the Worker (`GET …/workers/domains?service=`). */
142
+ domains(script: string): Promise<AttachedDomain[]>;
143
+ /** Attaches `hostname`, of the zone `zoneId`, to the Worker as a custom domain (`PUT …/workers/domains`). */
144
+ attachDomain(script: string, hostname: string, zoneId: string): Promise<void>;
145
+ /** Detaches a custom domain (`DELETE …/workers/domains/{id}`); nothing when it is gone. */
146
+ detachDomain(id: string): Promise<void>;
147
+ /** The zone's records that carry the comment `comment` exactly (`GET /zones/{id}/dns_records?comment.exact=`). */
148
+ dnsRecords(zoneId: string, comment: string): Promise<ZoneRecord[]>;
149
+ /** The zone's records at the full name `name`, whoever's (`GET /zones/{id}/dns_records?name.exact=`). */
150
+ dnsRecordsAt(zoneId: string, name: string): Promise<ZoneRecord[]>;
151
+ /** Writes the batch, all of it or none (`POST /zones/{id}/dns_records/batch`): the records patched and posted, as the zone now holds them. */
152
+ writeDns(zoneId: string, batch: DnsBatch): Promise<{
153
+ patches: ZoneRecord[];
154
+ posts: ZoneRecord[];
155
+ }>;
96
156
  /** A request to a Worker: its answer, or a throw when there is none. */
97
157
  send(url: string, init: RequestInit): Promise<Response>;
98
158
  }
@@ -100,6 +160,8 @@ export interface CloudflareApi {
100
160
  export declare const refused: (message: string, vendorCode?: string) => DriverError;
101
161
  /** The company's Worker, named after it. */
102
162
  export declare const scriptOf: (name: string) => string;
163
+ /** The zone a hostname is looked up in: its last two labels (`www.acme.example` → `acme.example`). */
164
+ export declare const apexOf: (hostname: string) => string;
103
165
  type ContainerState = {
104
166
  id: string | null;
105
167
  name: string;
@@ -113,12 +175,26 @@ type ContainerState = {
113
175
  healthy: boolean;
114
176
  };
115
177
  /** What a plan of a change finds, and the state it planned from. */
116
- interface Planned {
178
+ export interface Planned {
117
179
  action: PlanAction;
118
180
  planned?: Record<string, unknown>;
119
181
  unknown: string[];
120
182
  replace: string[];
121
183
  }
184
+ export declare const NONE: {
185
+ unknown: never[];
186
+ replace: never[];
187
+ };
188
+ /**
189
+ * Refuses an update (`what`) whose plan, made again, is not the one approved (`expect`: its
190
+ * action and replace), or is not an update: `plan_changed`.
191
+ */
192
+ export declare function replanned(what: string, fresh: Pick<Planned, "action" | "replace">, expect?: {
193
+ action: PlanAction;
194
+ replace: string[];
195
+ }): void;
196
+ /** Whether the full name `name` is in the zone `zone`: the zone's apex or a name under it. */
197
+ export declare const inZone: (name: string, zone: string) => boolean;
122
198
  export interface ContainerOptions {
123
199
  /** How long a create or update waits for the Worker to answer at its new revision. */
124
200
  startTimeoutMs: number;
@@ -186,13 +262,16 @@ export declare function containerOps(api: () => CloudflareApi, { startTimeoutMs,
186
262
  };
187
263
  /**
188
264
  * `cloudflare.alarm`'s operations and `alarm.register` over `api().send`: the host's own Worker's
189
- * wake route (`/__sanoma/wake`), each request with the company's `SANOMA_WAKEUP_TOKEN`. `create`
190
- * mints and stores the token when none is, and stores the host's URL as `SANOMA_HOST_URL` for a
191
- * register made off the host (on it, the Worker sets it in the container's environment).
265
+ * wake route (`/__sanoma/wake`), each request with the company's `SANOMA_WAKEUP_TOKEN`, read from
266
+ * the secret the alarm's `token` names (`tokenName`; `register` reads the default). `create`
267
+ * mints and stores the token when none is, and the host's URL as `SANOMA_HOST_URL`. `register`
268
+ * sends to the host's URL from the environment, `SANOMA_HOST_URL`, which the Worker sets in the
269
+ * container's; off the host, from the stored one.
192
270
  */
193
271
  export declare function alarmOps(api: () => Pick<CloudflareApi, "send">): {
194
- import: ({ id }: {
272
+ import: ({ id, state }: {
195
273
  id: string;
274
+ state?: Record<string, unknown>;
196
275
  }, call: CallContext) => Promise<{
197
276
  id: string;
198
277
  gone: boolean;
@@ -201,14 +280,16 @@ export declare function alarmOps(api: () => Pick<CloudflareApi, "send">): {
201
280
  at: string | null;
202
281
  rang: string | null;
203
282
  healthy: boolean;
283
+ token?: string | undefined;
204
284
  };
205
285
  } | {
206
286
  state?: undefined;
207
287
  id: string;
208
288
  gone: boolean;
209
289
  }>;
210
- read: ({ id }: {
290
+ read: ({ id, state }: {
211
291
  id: string;
292
+ state?: Record<string, unknown>;
212
293
  }, call: CallContext) => Promise<{
213
294
  id: string;
214
295
  gone: boolean;
@@ -217,14 +298,16 @@ export declare function alarmOps(api: () => Pick<CloudflareApi, "send">): {
217
298
  at: string | null;
218
299
  rang: string | null;
219
300
  healthy: boolean;
301
+ token?: string | undefined;
220
302
  };
221
303
  } | {
222
304
  state?: undefined;
223
305
  id: string;
224
306
  gone: boolean;
225
307
  }>;
226
- plan: ({ id, desired }: {
308
+ plan: ({ id, state: known, desired }: {
227
309
  id?: string;
310
+ state?: Record<string, unknown>;
228
311
  desired?: Record<string, unknown>;
229
312
  }, call: CallContext) => Promise<Planned>;
230
313
  create: ({ desired }: {
@@ -236,10 +319,12 @@ export declare function alarmOps(api: () => Pick<CloudflareApi, "send">): {
236
319
  at: string | null;
237
320
  rang: string | null;
238
321
  healthy: boolean;
322
+ token?: string | undefined;
239
323
  };
240
324
  }>;
241
- update: ({ id, desired }: {
325
+ update: ({ id, state: known, desired }: {
242
326
  id: string;
327
+ state?: Record<string, unknown>;
243
328
  desired: Record<string, unknown>;
244
329
  }, call: CallContext) => Promise<{
245
330
  id: string;
@@ -248,10 +333,12 @@ export declare function alarmOps(api: () => Pick<CloudflareApi, "send">): {
248
333
  at: string | null;
249
334
  rang: string | null;
250
335
  healthy: boolean;
336
+ token?: string | undefined;
251
337
  };
252
338
  }>;
253
- delete: ({ id }: {
339
+ delete: ({ id, state }: {
254
340
  id: string;
341
+ state?: Record<string, unknown>;
255
342
  }, { secrets }: CallContext) => Promise<{
256
343
  id: string;
257
344
  gone: true;