@moku-labs/worker 0.8.1 → 0.9.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.
@@ -119,6 +119,25 @@ type WebBuild = () => Promise<unknown>;
119
119
  * ```
120
120
  */
121
121
  type OnChange = (changes: readonly string[]) => Promise<unknown>;
122
+ /**
123
+ * The remote seed wired into `deploy({ seed: true })`: which SQL file to load into the REMOTE D1
124
+ * AFTER a successful deploy (+ migration), and which cached KV keys to clear afterwards so the app
125
+ * rebuilds them from the freshly-seeded rows. Declarative — the deploy plugin runs no app code, so
126
+ * the app-specific seed lives in `pluginConfigs.deploy.seed` (config) rather than a deploy hook.
127
+ *
128
+ * @example
129
+ * ```ts
130
+ * deploy: { seed: { file: "db/seed.sql", resetKv: [{ binding: "BOARDS_KV", key: "boards:index" }] } }
131
+ * ```
132
+ */
133
+ type SeedConfig = {
134
+ /** SQL file executed against the remote D1 (e.g. "db/seed.sql"). */file: string; /** The d1 binding to target when more than one database is configured (e.g. "DB"); the sole one otherwise. */
135
+ binding?: string; /** Cached KV keys to delete after seeding so reads rebuild from the freshly-seeded DB. */
136
+ resetKv?: {
137
+ binding: string;
138
+ key: string;
139
+ }[];
140
+ };
122
141
  /** deploy plugin configuration. Flat; complete defaults so omission never yields undefined. */
123
142
  type Config$1 = {
124
143
  /**
@@ -169,6 +188,12 @@ type Config$1 = {
169
188
  buildCommand: string; /** Apply local D1 migrations before serving when a d1 manifest is present. */
170
189
  migrateLocal: boolean; /** Debounce window (ms) coalescing rapid file changes into one rebuild. */
171
190
  debounceMs: number;
191
+ /**
192
+ * The remote seed `deploy({ seed: true })` loads AFTER a successful deploy (+ migration): the SQL
193
+ * file and the cached KV keys to reset. Omit it and `deploy({ seed: true })` reports a clear
194
+ * "no seed configured" error instead of silently doing nothing.
195
+ */
196
+ seed?: SeedConfig;
172
197
  };
173
198
  /**
174
199
  * Discriminated union of per-INSTANCE resource descriptors. Each resource plugin's `deployManifest()`
@@ -249,6 +274,32 @@ type ProvisionResult = {
249
274
  failed: ProvisionFailure[]; /** Merged binding → Cloudflare id map (existing + created) for writeWranglerConfig. */
250
275
  ids: Record<string, string>;
251
276
  };
277
+ /**
278
+ * Structured outcome of a deploy run (the value `run()` / `cli.deploy()` now resolve to, replacing
279
+ * the old `void`) so a script can branch on the result instead of guessing from a thrown error. It
280
+ * is also WHY the post-deploy migration + seed live inside `run()`: the report's `status` is the
281
+ * single source of truth for whether the worker actually went live, so those remote-DB steps run
282
+ * only on a successful deploy and never on an aborted one.
283
+ *
284
+ * `ok` is true only when the worker is live AND every requested post-step (migration, seed) also
285
+ * succeeded. `status` is the coarse outcome: `"deployed"` (live, all post-steps ok), `"aborted"`
286
+ * (a gate was declined or auth was never set up — nothing shipped), `"failed"` (a step errored).
287
+ */
288
+ type DeployReport = {
289
+ /** True only when the worker is live and every requested post-step (migration, seed) succeeded. */ok: boolean; /** Coarse outcome: "deployed" (live + post-steps ok), "aborted" (a gate declined / auth not set up), "failed" (a step errored). */
290
+ status: "deployed" | "aborted" | "failed"; /** The resolved deploy stage (resource-name suffix; "production" is bare). */
291
+ stage: string; /** The live worker URL once `wrangler deploy` succeeded — set even if a later migration/seed failed. */
292
+ url?: string; /** Provisioning tally: resources created, already-existing, and failed to create. */
293
+ resources?: {
294
+ created: number;
295
+ exists: number;
296
+ failed: number;
297
+ }; /** Remote D1 migration outcome — "skipped" (not requested), "applied", or "failed". */
298
+ migration: "skipped" | "applied" | "failed"; /** Remote seed outcome — "skipped" (not requested), "applied", or "failed". */
299
+ seed: "skipped" | "applied" | "failed"; /** Wall-clock duration of the whole run (ms). */
300
+ elapsedMs: number; /** Branded failure message(s) — empty when `ok`; one per failed step otherwise. */
301
+ errors: string[];
302
+ };
252
303
  /** Result of verifying the `.env` Cloudflare API token and resolving its account. */
253
304
  type AuthStatus = {
254
305
  /** Whether the token is present and active. */ok: boolean; /** Resolved account display name (or id when the name is unknown). */
@@ -294,10 +345,12 @@ type Api = {
294
345
  * per-change rebuild when `onChange` is omitted.
295
346
  * @param opts.onChange - Incremental per-change rebuild (e.g. `changes => webApp.cli.update(changes)`),
296
347
  * so each change rebuilds only the changed paths instead of a full `webBuild()` every keystroke.
348
+ * @param opts.seed - Load the configured seed (`pluginConfigs.deploy.seed`) into the LOCAL D1 and
349
+ * reset its cached KV keys before serving — the local analogue of `deploy({ seed: true })`.
297
350
  * @returns Resolves when the dev session ends.
298
351
  * @example
299
352
  * ```ts
300
- * await app.cli.dev({ stage: "dev", port: 7878, webBuild: () => web.cli.build(), onChange: c => web.cli.update(c) });
353
+ * await app.cli.dev({ stage: "dev", port: 7878, seed: true, webBuild: () => web.cli.build(), onChange: c => web.cli.update(c) });
301
354
  * ```
302
355
  */
303
356
  dev(opts?: {
@@ -305,30 +358,38 @@ type Api = {
305
358
  stage?: string;
306
359
  webBuild?: WebBuild;
307
360
  onChange?: OnChange;
361
+ seed?: boolean;
308
362
  }): Promise<void>;
309
363
  /**
310
- * One-command Cloudflare deploy (delegates to deploy.run). Guided/interactive by default; pass
311
- * `{ ci: true }` for the automated/non-interactive path (CI). A failure renders a branded `✗`
312
- * line and sets a non-zero exit code rather than throwing a raw stack trace.
364
+ * One-command Cloudflare deploy (delegates to deploy.run), then only on a successful deploy —
365
+ * the requested post-deploy remote steps (migration, seed). Guided/interactive by default; pass
366
+ * `{ ci: true }` for the automated/non-interactive path (CI). Unlike the other verbs this RETURNS
367
+ * the structured {@link DeployReport} (so a script can branch on the outcome) AND, on a failure,
368
+ * renders a branded `✗` line + sets a non-zero exit code rather than throwing a raw stack trace.
313
369
  *
314
- * @param opts - Optional ci flag, stage, and a web build hook.
370
+ * @param opts - Optional ci flag, stage, a web build hook, and the post-deploy migration/seed flags.
315
371
  * @param opts.ci - Automated mode: never prompts, auto-confirms. Omit/false → guided on a TTY.
316
372
  * @param opts.stage - Stage for the generated wrangler config's resource names (e.g. "production",
317
373
  * "staging"). Falls back to the `--stage` CLI flag, then the app's configured stage. Pass it
318
374
  * explicitly from a script for a self-documenting `deploy({ stage })` instead of the hidden flag.
319
375
  * @param opts.webBuild - Build the web site first (e.g. `() => webApp.cli.build()`), before deploy.
320
- * @returns Resolves once the deploy completes (or after a failure is rendered).
376
+ * @param opts.migration - Apply pending remote D1 migrations after a successful deploy (skipped on abort).
377
+ * @param opts.seed - Load the configured remote seed (`pluginConfigs.deploy.seed`) after a
378
+ * successful deploy (+ migration); skipped on an aborted deploy.
379
+ * @returns The deploy report (status, url, resource tally, migration/seed outcome, errors).
321
380
  * @example
322
381
  * ```ts
323
- * await app.cli.deploy({ stage: "production", webBuild: () => web.cli.build() }); // guided
324
- * await app.cli.deploy({ ci: true, webBuild: () => web.cli.build() }); // CI
382
+ * const report = await app.cli.deploy({ webBuild: () => web.cli.build(), migration: true, seed: true });
383
+ * if (report.status === "aborted") return; // creds not set up yet — nothing shipped
325
384
  * ```
326
385
  */
327
386
  deploy(opts?: {
328
387
  ci?: boolean;
329
388
  stage?: string;
330
389
  webBuild?: WebBuild;
331
- }): Promise<void>;
390
+ migration?: boolean;
391
+ seed?: boolean;
392
+ }): Promise<DeployReport>;
332
393
  /**
333
394
  * Seed a configured D1 database from a SQL file (delegates to deploy.seed). Local by default
334
395
  * (applies the database's migrations first so its tables exist, then executes the file);
@@ -431,12 +492,15 @@ declare const deployPlugin: import("@moku-labs/core").PluginInstance<"deploy", C
431
492
  stage?: string;
432
493
  webBuild?: WebBuild;
433
494
  manifest?: ExternalManifest;
434
- }): Promise<void>;
495
+ migration?: boolean;
496
+ seed?: boolean;
497
+ }): Promise<DeployReport>;
435
498
  dev(opts?: {
436
499
  port?: number;
437
500
  stage?: string;
438
501
  webBuild?: WebBuild;
439
502
  onChange?: OnChange;
503
+ seed?: boolean;
440
504
  }): Promise<void>;
441
505
  seed(sqlFile: string, opts?: {
442
506
  stage?: string;
@@ -455,4 +519,4 @@ declare const deployPlugin: import("@moku-labs/core").PluginInstance<"deploy", C
455
519
  wrangler: (args: string[]) => Promise<void>;
456
520
  }, {}> & Record<never, never>;
457
521
  //#endregion
458
- export { WorkerConfig as a, WorkerPluginCtx as c, ResourceManifest as i, cliPlugin as n, WorkerEnv as o, ExternalManifest as r, WorkerEvents as s, deployPlugin as t };
522
+ export { ResourceManifest as a, WorkerEnv as c, ExternalManifest as i, WorkerEvents as l, cliPlugin as n, SeedConfig as o, DeployReport as r, WorkerConfig as s, deployPlugin as t, WorkerPluginCtx as u };
@@ -119,6 +119,25 @@ type WebBuild = () => Promise<unknown>;
119
119
  * ```
120
120
  */
121
121
  type OnChange = (changes: readonly string[]) => Promise<unknown>;
122
+ /**
123
+ * The remote seed wired into `deploy({ seed: true })`: which SQL file to load into the REMOTE D1
124
+ * AFTER a successful deploy (+ migration), and which cached KV keys to clear afterwards so the app
125
+ * rebuilds them from the freshly-seeded rows. Declarative — the deploy plugin runs no app code, so
126
+ * the app-specific seed lives in `pluginConfigs.deploy.seed` (config) rather than a deploy hook.
127
+ *
128
+ * @example
129
+ * ```ts
130
+ * deploy: { seed: { file: "db/seed.sql", resetKv: [{ binding: "BOARDS_KV", key: "boards:index" }] } }
131
+ * ```
132
+ */
133
+ type SeedConfig = {
134
+ /** SQL file executed against the remote D1 (e.g. "db/seed.sql"). */file: string; /** The d1 binding to target when more than one database is configured (e.g. "DB"); the sole one otherwise. */
135
+ binding?: string; /** Cached KV keys to delete after seeding so reads rebuild from the freshly-seeded DB. */
136
+ resetKv?: {
137
+ binding: string;
138
+ key: string;
139
+ }[];
140
+ };
122
141
  /** deploy plugin configuration. Flat; complete defaults so omission never yields undefined. */
123
142
  type Config$1 = {
124
143
  /**
@@ -169,6 +188,12 @@ type Config$1 = {
169
188
  buildCommand: string; /** Apply local D1 migrations before serving when a d1 manifest is present. */
170
189
  migrateLocal: boolean; /** Debounce window (ms) coalescing rapid file changes into one rebuild. */
171
190
  debounceMs: number;
191
+ /**
192
+ * The remote seed `deploy({ seed: true })` loads AFTER a successful deploy (+ migration): the SQL
193
+ * file and the cached KV keys to reset. Omit it and `deploy({ seed: true })` reports a clear
194
+ * "no seed configured" error instead of silently doing nothing.
195
+ */
196
+ seed?: SeedConfig;
172
197
  };
173
198
  /**
174
199
  * Discriminated union of per-INSTANCE resource descriptors. Each resource plugin's `deployManifest()`
@@ -249,6 +274,32 @@ type ProvisionResult = {
249
274
  failed: ProvisionFailure[]; /** Merged binding → Cloudflare id map (existing + created) for writeWranglerConfig. */
250
275
  ids: Record<string, string>;
251
276
  };
277
+ /**
278
+ * Structured outcome of a deploy run (the value `run()` / `cli.deploy()` now resolve to, replacing
279
+ * the old `void`) so a script can branch on the result instead of guessing from a thrown error. It
280
+ * is also WHY the post-deploy migration + seed live inside `run()`: the report's `status` is the
281
+ * single source of truth for whether the worker actually went live, so those remote-DB steps run
282
+ * only on a successful deploy and never on an aborted one.
283
+ *
284
+ * `ok` is true only when the worker is live AND every requested post-step (migration, seed) also
285
+ * succeeded. `status` is the coarse outcome: `"deployed"` (live, all post-steps ok), `"aborted"`
286
+ * (a gate was declined or auth was never set up — nothing shipped), `"failed"` (a step errored).
287
+ */
288
+ type DeployReport = {
289
+ /** True only when the worker is live and every requested post-step (migration, seed) succeeded. */ok: boolean; /** Coarse outcome: "deployed" (live + post-steps ok), "aborted" (a gate declined / auth not set up), "failed" (a step errored). */
290
+ status: "deployed" | "aborted" | "failed"; /** The resolved deploy stage (resource-name suffix; "production" is bare). */
291
+ stage: string; /** The live worker URL once `wrangler deploy` succeeded — set even if a later migration/seed failed. */
292
+ url?: string; /** Provisioning tally: resources created, already-existing, and failed to create. */
293
+ resources?: {
294
+ created: number;
295
+ exists: number;
296
+ failed: number;
297
+ }; /** Remote D1 migration outcome — "skipped" (not requested), "applied", or "failed". */
298
+ migration: "skipped" | "applied" | "failed"; /** Remote seed outcome — "skipped" (not requested), "applied", or "failed". */
299
+ seed: "skipped" | "applied" | "failed"; /** Wall-clock duration of the whole run (ms). */
300
+ elapsedMs: number; /** Branded failure message(s) — empty when `ok`; one per failed step otherwise. */
301
+ errors: string[];
302
+ };
252
303
  /** Result of verifying the `.env` Cloudflare API token and resolving its account. */
253
304
  type AuthStatus = {
254
305
  /** Whether the token is present and active. */ok: boolean; /** Resolved account display name (or id when the name is unknown). */
@@ -294,10 +345,12 @@ type Api = {
294
345
  * per-change rebuild when `onChange` is omitted.
295
346
  * @param opts.onChange - Incremental per-change rebuild (e.g. `changes => webApp.cli.update(changes)`),
296
347
  * so each change rebuilds only the changed paths instead of a full `webBuild()` every keystroke.
348
+ * @param opts.seed - Load the configured seed (`pluginConfigs.deploy.seed`) into the LOCAL D1 and
349
+ * reset its cached KV keys before serving — the local analogue of `deploy({ seed: true })`.
297
350
  * @returns Resolves when the dev session ends.
298
351
  * @example
299
352
  * ```ts
300
- * await app.cli.dev({ stage: "dev", port: 7878, webBuild: () => web.cli.build(), onChange: c => web.cli.update(c) });
353
+ * await app.cli.dev({ stage: "dev", port: 7878, seed: true, webBuild: () => web.cli.build(), onChange: c => web.cli.update(c) });
301
354
  * ```
302
355
  */
303
356
  dev(opts?: {
@@ -305,30 +358,38 @@ type Api = {
305
358
  stage?: string;
306
359
  webBuild?: WebBuild;
307
360
  onChange?: OnChange;
361
+ seed?: boolean;
308
362
  }): Promise<void>;
309
363
  /**
310
- * One-command Cloudflare deploy (delegates to deploy.run). Guided/interactive by default; pass
311
- * `{ ci: true }` for the automated/non-interactive path (CI). A failure renders a branded `✗`
312
- * line and sets a non-zero exit code rather than throwing a raw stack trace.
364
+ * One-command Cloudflare deploy (delegates to deploy.run), then only on a successful deploy —
365
+ * the requested post-deploy remote steps (migration, seed). Guided/interactive by default; pass
366
+ * `{ ci: true }` for the automated/non-interactive path (CI). Unlike the other verbs this RETURNS
367
+ * the structured {@link DeployReport} (so a script can branch on the outcome) AND, on a failure,
368
+ * renders a branded `✗` line + sets a non-zero exit code rather than throwing a raw stack trace.
313
369
  *
314
- * @param opts - Optional ci flag, stage, and a web build hook.
370
+ * @param opts - Optional ci flag, stage, a web build hook, and the post-deploy migration/seed flags.
315
371
  * @param opts.ci - Automated mode: never prompts, auto-confirms. Omit/false → guided on a TTY.
316
372
  * @param opts.stage - Stage for the generated wrangler config's resource names (e.g. "production",
317
373
  * "staging"). Falls back to the `--stage` CLI flag, then the app's configured stage. Pass it
318
374
  * explicitly from a script for a self-documenting `deploy({ stage })` instead of the hidden flag.
319
375
  * @param opts.webBuild - Build the web site first (e.g. `() => webApp.cli.build()`), before deploy.
320
- * @returns Resolves once the deploy completes (or after a failure is rendered).
376
+ * @param opts.migration - Apply pending remote D1 migrations after a successful deploy (skipped on abort).
377
+ * @param opts.seed - Load the configured remote seed (`pluginConfigs.deploy.seed`) after a
378
+ * successful deploy (+ migration); skipped on an aborted deploy.
379
+ * @returns The deploy report (status, url, resource tally, migration/seed outcome, errors).
321
380
  * @example
322
381
  * ```ts
323
- * await app.cli.deploy({ stage: "production", webBuild: () => web.cli.build() }); // guided
324
- * await app.cli.deploy({ ci: true, webBuild: () => web.cli.build() }); // CI
382
+ * const report = await app.cli.deploy({ webBuild: () => web.cli.build(), migration: true, seed: true });
383
+ * if (report.status === "aborted") return; // creds not set up yet — nothing shipped
325
384
  * ```
326
385
  */
327
386
  deploy(opts?: {
328
387
  ci?: boolean;
329
388
  stage?: string;
330
389
  webBuild?: WebBuild;
331
- }): Promise<void>;
390
+ migration?: boolean;
391
+ seed?: boolean;
392
+ }): Promise<DeployReport>;
332
393
  /**
333
394
  * Seed a configured D1 database from a SQL file (delegates to deploy.seed). Local by default
334
395
  * (applies the database's migrations first so its tables exist, then executes the file);
@@ -431,12 +492,15 @@ declare const deployPlugin: import("@moku-labs/core").PluginInstance<"deploy", C
431
492
  stage?: string;
432
493
  webBuild?: WebBuild;
433
494
  manifest?: ExternalManifest;
434
- }): Promise<void>;
495
+ migration?: boolean;
496
+ seed?: boolean;
497
+ }): Promise<DeployReport>;
435
498
  dev(opts?: {
436
499
  port?: number;
437
500
  stage?: string;
438
501
  webBuild?: WebBuild;
439
502
  onChange?: OnChange;
503
+ seed?: boolean;
440
504
  }): Promise<void>;
441
505
  seed(sqlFile: string, opts?: {
442
506
  stage?: string;
@@ -455,4 +519,4 @@ declare const deployPlugin: import("@moku-labs/core").PluginInstance<"deploy", C
455
519
  wrangler: (args: string[]) => Promise<void>;
456
520
  }, {}> & Record<never, never>;
457
521
  //#endregion
458
- export { WorkerConfig as a, WorkerPluginCtx as c, ResourceManifest as i, cliPlugin as n, WorkerEnv as o, ExternalManifest as r, WorkerEvents as s, deployPlugin as t };
522
+ export { ResourceManifest as a, WorkerEnv as c, ExternalManifest as i, WorkerEvents as l, cliPlugin as n, SeedConfig as o, DeployReport as r, WorkerConfig as s, deployPlugin as t, WorkerPluginCtx as u };
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_cli = require("./cli-l-AOWzhR.cjs");
2
+ const require_cli = require("./cli-CfgYgnzW.cjs");
3
3
  let _moku_labs_common = require("@moku-labs/common");
4
4
  //#region src/env-provider.ts
5
5
  /**
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { a as WorkerConfig, c as WorkerPluginCtx, i as ResourceManifest, n as cliPlugin, o as WorkerEnv, r as ExternalManifest, s as WorkerEvents, t as deployPlugin } from "./index-BDkgen4r.cjs";
1
+ import { a as ResourceManifest, c as WorkerEnv, i as ExternalManifest, l as WorkerEvents, n as cliPlugin, o as SeedConfig, r as DeployReport, s as WorkerConfig, t as deployPlugin, u as WorkerPluginCtx } from "./index-Cb3vzZte.cjs";
2
2
  import { envPlugin, logPlugin } from "@moku-labs/common";
3
3
  import { PluginCtx, PluginCtx as PluginCtx$1, PluginInstance } from "@moku-labs/core";
4
4
 
@@ -1237,4 +1237,4 @@ declare const boundCreateApp: <const ExtraPlugins extends readonly import("@moku
1237
1237
  */
1238
1238
  declare const createApp: typeof boundCreateApp;
1239
1239
  //#endregion
1240
- export { type types_d_exports as Bindings, type types_d_exports$1 as D1, type types_d_exports$2 as DurableObjects, type ExternalManifest, type PluginCtx, type types_d_exports$3 as Queues, type ResourceManifest, type types_d_exports$4 as Server, type StageApi, type types_d_exports$5 as Storage, type WorkerConfig, type WorkerEnv, type WorkerEvents, type WorkerPluginCtx, bindingsPlugin, cliPlugin, createApp, createPlugin, d1Plugin, defineDurableObject, deployPlugin, durableObjectsPlugin, endpoint, envPlugin, kvPlugin, logPlugin, queuesPlugin, serverPlugin, stagePlugin, storagePlugin };
1240
+ export { type types_d_exports as Bindings, type types_d_exports$1 as D1, type DeployReport, type types_d_exports$2 as DurableObjects, type ExternalManifest, type PluginCtx, type types_d_exports$3 as Queues, type ResourceManifest, type SeedConfig, type types_d_exports$4 as Server, type StageApi, type types_d_exports$5 as Storage, type WorkerConfig, type WorkerEnv, type WorkerEvents, type WorkerPluginCtx, bindingsPlugin, cliPlugin, createApp, createPlugin, d1Plugin, defineDurableObject, deployPlugin, durableObjectsPlugin, endpoint, envPlugin, kvPlugin, logPlugin, queuesPlugin, serverPlugin, stagePlugin, storagePlugin };
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { a as WorkerConfig, c as WorkerPluginCtx, i as ResourceManifest, n as cliPlugin, o as WorkerEnv, r as ExternalManifest, s as WorkerEvents, t as deployPlugin } from "./index-BDkgen4r.mjs";
1
+ import { a as ResourceManifest, c as WorkerEnv, i as ExternalManifest, l as WorkerEvents, n as cliPlugin, o as SeedConfig, r as DeployReport, s as WorkerConfig, t as deployPlugin, u as WorkerPluginCtx } from "./index-Cb3vzZte.mjs";
2
2
  import { envPlugin, logPlugin } from "@moku-labs/common";
3
3
  import { PluginCtx, PluginCtx as PluginCtx$1, PluginInstance } from "@moku-labs/core";
4
4
 
@@ -1237,4 +1237,4 @@ declare const boundCreateApp: <const ExtraPlugins extends readonly import("@moku
1237
1237
  */
1238
1238
  declare const createApp: typeof boundCreateApp;
1239
1239
  //#endregion
1240
- export { type types_d_exports as Bindings, type types_d_exports$1 as D1, type types_d_exports$2 as DurableObjects, type ExternalManifest, type PluginCtx, type types_d_exports$3 as Queues, type ResourceManifest, type types_d_exports$4 as Server, type StageApi, type types_d_exports$5 as Storage, type WorkerConfig, type WorkerEnv, type WorkerEvents, type WorkerPluginCtx, bindingsPlugin, cliPlugin, createApp, createPlugin, d1Plugin, defineDurableObject, deployPlugin, durableObjectsPlugin, endpoint, envPlugin, kvPlugin, logPlugin, queuesPlugin, serverPlugin, stagePlugin, storagePlugin };
1240
+ export { type types_d_exports as Bindings, type types_d_exports$1 as D1, type DeployReport, type types_d_exports$2 as DurableObjects, type ExternalManifest, type PluginCtx, type types_d_exports$3 as Queues, type ResourceManifest, type SeedConfig, type types_d_exports$4 as Server, type StageApi, type types_d_exports$5 as Storage, type WorkerConfig, type WorkerEnv, type WorkerEvents, type WorkerPluginCtx, bindingsPlugin, cliPlugin, createApp, createPlugin, d1Plugin, defineDurableObject, deployPlugin, durableObjectsPlugin, endpoint, envPlugin, kvPlugin, logPlugin, queuesPlugin, serverPlugin, stagePlugin, storagePlugin };
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { a as kvPlugin, c as d1Plugin, d as createCore, f as createPlugin$1, i as queuesPlugin, l as bindingsPlugin, n as deployPlugin, o as durableObjectsPlugin, p as stagePlugin, r as storagePlugin, s as defineDurableObject, t as cliPlugin, u as coreConfig } from "./cli-DNW8_355.mjs";
1
+ import { a as kvPlugin, c as d1Plugin, d as createCore, f as createPlugin$1, i as queuesPlugin, l as bindingsPlugin, n as deployPlugin, o as durableObjectsPlugin, p as stagePlugin, r as storagePlugin, s as defineDurableObject, t as cliPlugin, u as coreConfig } from "./cli-Cs3R3Jhr.mjs";
2
2
  import { envPlugin, logPlugin } from "@moku-labs/common";
3
3
  //#region src/env-provider.ts
4
4
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moku-labs/worker",
3
- "version": "0.8.1",
3
+ "version": "0.9.0",
4
4
  "description": "Cloudflare Worker framework for Moku — Durable Objects, Queues, R2, D1, and KV plugins that compose with Moku Web.",
5
5
  "repository": {
6
6
  "type": "git",