devflare 1.0.0-next.44 → 1.0.0-next.46

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 (38) hide show
  1. package/LLM.md +19 -14
  2. package/dist/_chunks/{build-MzQbenXE.js → build-B6vCBDdQ.js} +1 -1
  3. package/dist/_chunks/{build-artifacts-tD45Rwmx.js → build-artifacts-CaSTDXLE.js} +1 -1
  4. package/dist/_chunks/{cli-BiDDz-RY.js → cli-Ba6JBLOz.js} +3 -3
  5. package/dist/_chunks/{deploy-BmtstRbc.js → deploy-0w_38g8h.js} +1 -1
  6. package/dist/_chunks/{dev-wVHYCbZF.js → dev-DaREvpZf.js} +9 -3
  7. package/dist/_chunks/{routes-5OnFhKR2.js → routes-C4S8x2HU.js} +26 -2
  8. package/dist/_chunks/{vite-DLUELS0D.js → vite-D5dfVb6G.js} +1 -1
  9. package/dist/bridge/miniflare.d.ts +7 -0
  10. package/dist/bridge/miniflare.d.ts.map +1 -1
  11. package/dist/cli/index.js +1 -1
  12. package/dist/dev-server/miniflare-bindings.d.ts +16 -0
  13. package/dist/dev-server/miniflare-bindings.d.ts.map +1 -1
  14. package/dist/dev-server/miniflare-dev-config.d.ts.map +1 -1
  15. package/dist/dev-server/miniflare-worker-config.d.ts +5 -1
  16. package/dist/dev-server/miniflare-worker-config.d.ts.map +1 -1
  17. package/dist/index.js +1 -1
  18. package/dist/test/alarm.d.ts +55 -0
  19. package/dist/test/alarm.d.ts.map +1 -0
  20. package/dist/test/cf.d.ts +22 -0
  21. package/dist/test/cf.d.ts.map +1 -1
  22. package/dist/test/index.d.ts +3 -1
  23. package/dist/test/index.d.ts.map +1 -1
  24. package/dist/test/index.js +356 -51
  25. package/dist/test/offline-bindings.d.ts +47 -15
  26. package/dist/test/offline-bindings.d.ts.map +1 -1
  27. package/dist/test/simple-context-mfconfig.d.ts.map +1 -1
  28. package/dist/test/simple-context-multi-worker.d.ts.map +1 -1
  29. package/dist/test/utilities/analytics-engine.d.ts +22 -0
  30. package/dist/test/utilities/analytics-engine.d.ts.map +1 -0
  31. package/dist/test/utilities/env.d.ts +3 -0
  32. package/dist/test/utilities/env.d.ts.map +1 -1
  33. package/dist/test/utilities/vectorize.d.ts +38 -0
  34. package/dist/test/utilities/vectorize.d.ts.map +1 -0
  35. package/dist/test/utilities.d.ts +2 -0
  36. package/dist/test/utilities.d.ts.map +1 -1
  37. package/dist/vite/index.js +1 -1
  38. package/package.json +1 -1
package/LLM.md CHANGED
@@ -350,7 +350,7 @@ Every native binding or platform lane in the binding docs is listed here with it
350
350
  - **Vectorize** — Native config, generated types, preview-aware resource naming, and remote-mode tests are supported. Real index semantics and similarity results require Cloudflare. ([link](/docs/bindings/vectorize))
351
351
  - **Hyperdrive** — Config, name resolution, local connection strings, and Miniflare-backed Hyperdrive bindings support ordinary app queries through the populated connection fields. The raw socket `connect()` is the one named gap — the local shim throws there, and Miniflare establishes real Hyperdrive sockets only inside a `createTestContext()` run. Hosted pooling, placement, credentials, and production routing remain Cloudflare behavior. ([link](/docs/bindings/hyperdrive))
352
352
  - **Browser Rendering** — Native config, generated typing, route examples, and bridge-backed dev-server support through the local browser-rendering shim. Live view, human-in-the-loop, recordings, and external CDP stay hosted, so the local contract is intentionally narrower than the deployed product. ([link](/docs/bindings/browser-rendering))
353
- - **Analytics Engine** — Dataset bindings are configured in Devflare and compiled for deploy. Local delivery is not yet wired into the dev/test Miniflare config; Miniflare ships a native Analytics Engine plugin whose `writeDataPoint()` is a write-shape-only no-op (it records nothing), so it is not an inherent remote boundary production ingestion and query behavior remain hosted. ([link](/docs/bindings/analytics-engine))
353
+ - **Analytics Engine** — Dataset bindings are configured in Devflare, compiled for deploy, and wired into the dev/test Miniflare config: Miniflare ships a native Analytics Engine plugin whose `writeDataPoint()` is a write-shape-only no-op (it records nothing), so the local binding runs the call shape without crashing while production ingestion and query behavior remain hosted. ([link](/docs/bindings/analytics-engine))
354
354
  - **Send Email** — Outbound email bindings have native config, local support, and test access through the env binding. Inbound email handlers are a separate Worker surface. ([link](/docs/bindings/send-email))
355
355
  - **Rate Limiting** — Native fixed-window config, Miniflare-backed local behavior, generated typing, and pure mocks support deterministic application-level rate-limit tests. ([link](/docs/bindings/rate-limiting))
356
356
  - **Version Metadata** — Native config, deterministic local metadata, and test helpers support version-aware responses and diagnostics without requiring Cloudflare state. ([link](/docs/bindings/version-metadata))
@@ -4411,6 +4411,8 @@ That is the main reason the built-in harness scales: the same config and file co
4411
4411
 
4412
4412
  These helpers are runtime-shaped and context-accurate for handler logic, but they do not try to recreate every internal Cloudflare dispatch step byte for byte. Their timing rules are documented explicitly instead of being left to guesswork.
4413
4413
 
4414
+ Each surface is also exported standalone for tree-shaking — `cf.alarm.trigger()` is the same function as the named `alarm` export, just as `cf.queue` mirrors `queue`. The Durable Object `alarm` helper takes a DO instance you construct in the test (not a handler file path), mirroring how the runtime wrapper invokes `alarm()`.
4415
+
4414
4416
  ##### Reference table
4415
4417
 
4416
4418
  | Helper | Current behavior |
@@ -4420,6 +4422,7 @@ These helpers are runtime-shaped and context-accurate for handler logic, but the
4420
4422
  | `cf.scheduled.trigger()` | Waits for scheduled background work before it returns. |
4421
4423
  | `cf.email.send()` | In `createTestContext()` tests, directly invokes the configured local email handler and waits for its queued `waitUntil()` work; otherwise it falls back to the local email endpoint. |
4422
4424
  | `cf.tail.trigger()` | Works when `src/tail.ts` exists, supports a default or named `tail` export, and waits for the handler plus its `waitUntil()` work before it returns. |
4425
+ | `cf.alarm.trigger(instance)` | Fires a Durable Object instance’s `alarm()` handler under a `durable-object-alarm` event context (the standalone `alarm` export is the same trigger) and awaits it, returning `{ success, error? }`. |
4423
4426
 
4424
4427
  > **Warning — Do not assert the wrong timing contract**
4425
4428
  >
@@ -4739,8 +4742,8 @@ The `devflare/test` entrypoint intentionally has multiple lanes: runtime-shaped
4739
4742
  | Export family | Smallest use | Status |
4740
4743
  | --- | --- | --- |
4741
4744
  | `createTestContext`, `env`, `cf` | Runtime-shaped Worker tests with cleanup. | Recommended |
4742
- | `cf.worker`, `cf.queue`, `cf.scheduled`, `cf.email`, `cf.tail` | Trigger the matching Worker surface directly. | Recommended |
4743
- | `worker`, `queue`, `scheduled`, `email`, `tail` | Direct helper modules behind the unified `cf` API. | Advanced |
4745
+ | `cf.worker`, `cf.queue`, `cf.scheduled`, `cf.email`, `cf.tail`, `cf.alarm` | Trigger the matching Worker (or Durable Object alarm) surface directly. | Recommended |
4746
+ | `worker`, `queue`, `scheduled`, `email`, `tail`, `alarm` | Direct helper modules behind the unified `cf` API. | Advanced |
4744
4747
  | `createOfflineEnv`, `createOfflineBindings`, `describeOfflineSupport`, `getOfflineSupportMatrix` | Pure config-derived binding fixtures without runtime startup. | Recommended for offline-first unit tests |
4745
4748
  | `createMockKV`, `createMockD1`, `createMockR2`, `createMockQueue`, `createMockEnv` | Small pure unit tests without Miniflare. | Recommended when runtime dispatch is irrelevant |
4746
4749
  | `createMockRateLimit`, `createMockVersionMetadata`, `createMockWorkerLoader`, `createMockSecretsStoreSecret` | Pure fixture for one platform-shaped binding. | Recommended |
@@ -4758,12 +4761,13 @@ The `devflare/test` entrypoint intentionally has multiple lanes: runtime-shaped
4758
4761
  | --- | --- |
4759
4762
  | `createTestContext` | Boot the nearest Devflare config in the test harness. |
4760
4763
  | `env` | Read bindings and call `env.dispose()` in harness tests. |
4761
- | `cf` | Unified Worker, queue, scheduled, email, and tail trigger API. |
4764
+ | `cf` | Unified Worker, queue, scheduled, email, tail, and DO alarm trigger API. |
4762
4765
  | `worker` | Direct Worker fetch helper behind `cf.worker`. |
4763
4766
  | `queue` | Direct queue helper behind `cf.queue`. |
4764
4767
  | `scheduled` | Direct scheduled helper behind `cf.scheduled`. |
4765
4768
  | `email` | Direct email helper behind `cf.email`. |
4766
4769
  | `tail` | Direct tail helper behind `cf.tail`. |
4770
+ | `alarm` | Direct Durable Object alarm helper behind `cf.alarm`. |
4767
4771
  | `shouldSkip` | Skip Cloudflare-auth, paid, remote, or local engine tests explicitly. |
4768
4772
  | `containers` | Default Docker/Podman-backed container manager. |
4769
4773
  | `createContainerManager` | Create an isolated container manager for tests. |
@@ -4794,6 +4798,8 @@ The `devflare/test` entrypoint intentionally has multiple lanes: runtime-shaped
4794
4798
  | `createMockStreamBinding` | Mock a Stream binding. |
4795
4799
  | `createMockFlagshipBinding` | Mock a Flagship feature-flag binding. |
4796
4800
  | `createMockArtifacts` | Mock Artifacts repo APIs. |
4801
+ | `createMockVectorize` | Mock a Vectorize index (in-memory cosine query). |
4802
+ | `createMockAnalyticsEngine` | Mock an Analytics Engine dataset (write-only recording stub). |
4797
4803
  | `createMockSecretsStoreSecret` | Mock a Secrets Store secret. |
4798
4804
  | `createMockEnv` | Create a pure env with selected mock bindings. |
4799
4805
  | `hasServiceBindings` | Advanced/internal service-binding resolution predicate. |
@@ -9921,7 +9927,7 @@ describe.skipIf(skipVectorize)('Vectorize binding', () => {
9921
9927
 
9922
9928
  - Use `shouldSkip.vectorize` so missing remote prerequisites are explicit instead of noisy.
9923
9929
  - Keep the vector size and index name close to the test so the contract remains visible.
9924
- - If the surrounding app only needs a demo path locally, mock above the worker boundary instead of pretending the remote index was exercised.
9930
+ - For app-level paths, `createMockVectorize()` (or `createMockEnv({ vectorize })` / `createOfflineEnv()`) is a deterministic in-memory index: `insert`/`upsert`/`delete`/`getByIds` plus a real cosine-ranked `query()` honoring `topK`, `returnValues`, `returnMetadata`, `namespace`, and metadata `filter`. It models the binding shape and ranking math, not Cloudflare’s hosted indexing/relevance/scale — use the remote smoke test for those.
9925
9931
 
9926
9932
  #### When to move beyond the default harness
9927
9933
 
@@ -10821,7 +10827,7 @@ Use Cloudflare when analytics delivery itself is a release-critical guarantee. T
10821
10827
 
10822
10828
  ##### Key points
10823
10829
 
10824
- - The repo does not show a dedicated analytics helper surface comparable to `cf.queue.trigger()` or `env.DB.prepare()`.
10830
+ - For app-level tests, `createMockAnalyticsEngine()` (or `createMockEnv({ analyticsEngine })` / `createOfflineEnv()`) is a write-only recording stub: it records every `writeDataPoint()` into `.writtenDataPoints` so you can assert what the worker emitted. Analytics Engine has no in-worker read API, so the stub records writes — it does not query.
10825
10831
  - Preview-scoped dataset names can be materialized, but Devflare does not provision or delete datasets because Analytics Engine creates them on first write.
10826
10832
  - Tests should focus on event-producing behavior rather than pretending you need a full local analytics backend.
10827
10833
 
@@ -10966,17 +10972,16 @@ If you later need stronger end-to-end confidence, add a higher-level integration
10966
10972
 
10967
10973
  ```ts
10968
10974
  import { expect, test } from 'bun:test'
10969
-
10970
- const writes: unknown[] = []
10971
- const analytics = {
10972
- writeDataPoint(point: unknown) {
10973
- writes.push(point)
10974
- }
10975
- }
10975
+ import { createMockAnalyticsEngine } from 'devflare/test'
10976
10976
 
10977
10977
  test('records an analytics point', () => {
10978
+ const analytics = createMockAnalyticsEngine()
10979
+
10978
10980
  analytics.writeDataPoint({ indexes: ['search'], blobs: ['devflare'] })
10979
- expect(writes).toHaveLength(1)
10981
+
10982
+ expect(analytics.writtenDataPoints).toEqual([
10983
+ { indexes: ['search'], blobs: ['devflare'] }
10984
+ ])
10980
10985
  })
10981
10986
  ```
10982
10987
 
@@ -1,5 +1,5 @@
1
1
  import { a as cyanBold, f as logLine, o as dim, r as createCliTheme } from "./ui-BUoZApvE.js";
2
- import { t as prepareBuildArtifacts } from "./build-artifacts-tD45Rwmx.js";
2
+ import { t as prepareBuildArtifacts } from "./build-artifacts-CaSTDXLE.js";
3
3
  //#region src/cli/commands/build.ts
4
4
  async function runBuildCommand(parsed, logger, options) {
5
5
  const theme = createCliTheme(parsed.options);
@@ -4,7 +4,7 @@ import { c as writeWranglerConfig, i as isolateViteBuildOutputPaths$1, o as reba
4
4
  import { f as logLine } from "./ui-BUoZApvE.js";
5
5
  import { n as getPackageVersion } from "./package-metadata-DjHBLB-z.js";
6
6
  import { t as resolvePackageSpecifier } from "./resolve-package-qizBfCIm.js";
7
- import { i as writeGeneratedViteConfig, l as prepareComposedWorkerEntrypoint, n as resolveEffectiveViteProject } from "./vite-DLUELS0D.js";
7
+ import { i as writeGeneratedViteConfig, l as prepareComposedWorkerEntrypoint, n as resolveEffectiveViteProject } from "./vite-D5dfVb6G.js";
8
8
  import { t as bundleWorkerEntry } from "./worker-bundler-dTTnYU3n.js";
9
9
  import { t as detectViteProject } from "./vite-utils-OVLMV605.js";
10
10
  import { t as getDependencies } from "./dependencies-C2oxFjU_.js";
@@ -1062,15 +1062,15 @@ async function runInit(parsed, logger, options) {
1062
1062
  return runInitCommand(parsed, logger, options);
1063
1063
  }
1064
1064
  async function runDev(parsed, logger, options) {
1065
- const { runDevCommand } = await import("./dev-wVHYCbZF.js");
1065
+ const { runDevCommand } = await import("./dev-DaREvpZf.js");
1066
1066
  return runDevCommand(parsed, logger, options);
1067
1067
  }
1068
1068
  async function runBuild(parsed, logger, options) {
1069
- const { runBuildCommand } = await import("./build-MzQbenXE.js");
1069
+ const { runBuildCommand } = await import("./build-B6vCBDdQ.js");
1070
1070
  return runBuildCommand(parsed, logger, options);
1071
1071
  }
1072
1072
  async function runDeploy(parsed, logger, options) {
1073
- const { runDeployCommand } = await import("./deploy-BmtstRbc.js");
1073
+ const { runDeployCommand } = await import("./deploy-0w_38g8h.js");
1074
1074
  return runDeployCommand(parsed, logger, {
1075
1075
  ...options,
1076
1076
  requireExplicitDeployTarget: true
@@ -7,7 +7,7 @@ import { _ as yellowBold, d as green, f as logLine, g as yellow, o as dim, r as
7
7
  import { n as getPackageVersion } from "./package-metadata-DjHBLB-z.js";
8
8
  import { t as resolvePackageSpecifier } from "./resolve-package-qizBfCIm.js";
9
9
  import { t as asOptionalString } from "./command-utils-C48hJMln.js";
10
- import { a as createBuildManifest, i as compareManifests, n as applyDeploymentStrategy, o as formatDriftWarning, r as describeDeploymentStrategy, s as readBuildManifest, t as prepareBuildArtifacts } from "./build-artifacts-tD45Rwmx.js";
10
+ import { a as createBuildManifest, i as compareManifests, n as applyDeploymentStrategy, o as formatDriftWarning, r as describeDeploymentStrategy, s as readBuildManifest, t as prepareBuildArtifacts } from "./build-artifacts-CaSTDXLE.js";
11
11
  import { t as getDependencies } from "./dependencies-C2oxFjU_.js";
12
12
  import { n as preparePreviewScopedResourcesForDeploy } from "./preview-resources-xziKCynb.js";
13
13
  import { mkdir, open, readFile, rm, writeFile } from "node:fs/promises";
@@ -4,10 +4,10 @@ import { g as normalizeR2Binding, n as getLocalKVNamespaceIdentifier, r as getSi
4
4
  import { t as applyLocalDevVarsToConfig } from "./local-dev-vars-CTSa-wvF.js";
5
5
  import { a as cyanBold, f as logLine, g as yellow, o as dim, r as createCliTheme } from "./ui-BUoZApvE.js";
6
6
  import { clearLocalSendEmailBindings, setLocalSendEmailBindings } from "../utils/send-email.js";
7
- import { C as buildStreamConfig, E as buildWorkflowsConfig, S as buildSendEmailConfig, T as buildWorkerLoadersConfig, _ as buildPipelinesConfig, b as buildRateLimitsConfig, c as buildAiSearchInstancesConfig, d as buildDispatchNamespacesConfig, f as buildFlagshipConfig, g as buildMtlsCertificatesConfig, h as buildMediaConfig, l as buildAiSearchNamespacesConfig, m as buildImagesConfig, n as getRouteDirectoryCandidate, p as buildHyperdrivesConfig, s as resolveServiceBindings, t as discoverRoutes, u as buildArtifactsConfig, v as buildQueueConsumers, w as buildVersionMetadataConfig, x as buildSecretsStoreConfig, y as buildQueueProducers } from "./routes-5OnFhKR2.js";
7
+ import { C as buildSendEmailConfig, D as buildWorkerLoadersConfig, E as buildVersionMetadataConfig, O as buildWorkflowsConfig, S as buildSecretsStoreConfig, T as buildTailConsumersConfig, _ as buildMtlsCertificatesConfig, b as buildQueueProducers, c as buildAiSearchInstancesConfig, d as buildArtifactsConfig, f as buildDispatchNamespacesConfig, g as buildMediaConfig, h as buildImagesConfig, l as buildAiSearchNamespacesConfig, m as buildHyperdrivesConfig, n as getRouteDirectoryCandidate, p as buildFlagshipConfig, s as resolveServiceBindings, t as discoverRoutes, u as buildAnalyticsEngineConfig, v as buildPipelinesConfig, w as buildStreamConfig, x as buildRateLimitsConfig, y as buildQueueConsumers } from "./routes-C4S8x2HU.js";
8
8
  import { r as transformDurableObject } from "./durable-object-DMtH0XYX.js";
9
9
  import { i as findFiles } from "./glob-CmQOvunB.js";
10
- import { d as DEFAULT_FETCH_ENTRY_FILES, f as DEFAULT_QUEUE_ENTRY_FILES, g as discoverDurableObjectFiles, h as resolveWorkerSurfacePaths, i as writeGeneratedViteConfig, l as prepareComposedWorkerEntrypoint, m as hasWorkerSurfacePaths, n as resolveEffectiveViteProject, p as DEFAULT_SCHEDULED_ENTRY_FILES, u as DEFAULT_EMAIL_ENTRY_FILES } from "./vite-DLUELS0D.js";
10
+ import { d as DEFAULT_FETCH_ENTRY_FILES, f as DEFAULT_QUEUE_ENTRY_FILES, g as discoverDurableObjectFiles, h as resolveWorkerSurfacePaths, i as writeGeneratedViteConfig, l as prepareComposedWorkerEntrypoint, m as hasWorkerSurfacePaths, n as resolveEffectiveViteProject, p as DEFAULT_SCHEDULED_ENTRY_FILES, u as DEFAULT_EMAIL_ENTRY_FILES } from "./vite-D5dfVb6G.js";
11
11
  import { a as createWorkerdBundlerDefaults, i as writeWorkerCompatibleBundle, n as ensureDebugShim, r as resolveWorkerCompatibleRolldownConfig, t as bundleWorkerEntry } from "./worker-bundler-dTTnYU3n.js";
12
12
  import { t as bundleWorkflowEntrypointScript } from "./local-workflow-entrypoints-Cq_WJajd.js";
13
13
  import { n as buildLocalSecretWrappedBindingConfig } from "./local-secrets-DMPkmOn3.js";
@@ -1905,7 +1905,7 @@ function buildServiceBindings(bindings, extraBindings = {}) {
1905
1905
  * All inputs are passed explicitly (no closures over the caller's locals).
1906
1906
  */
1907
1907
  function makeMiniflareWorker(context, options) {
1908
- const { cwd, loadedConfig, bindings, sendEmailConfig, rateLimitsConfig, versionMetadataConfig, workerLoadersConfig, mtlsCertificatesConfig, dispatchNamespacesConfig, workflowsConfig, pipelinesConfig, hyperdrivesConfig, imagesConfig, mediaConfig, streamConfig, flagshipConfig, artifactsConfig, aiSearchNamespacesConfig, aiSearchInstancesConfig, secretsStoreConfig, localSecretWrappedBindingConfig, queueProducers } = context;
1908
+ const { cwd, loadedConfig, bindings, sendEmailConfig, rateLimitsConfig, versionMetadataConfig, workerLoadersConfig, mtlsCertificatesConfig, dispatchNamespacesConfig, workflowsConfig, pipelinesConfig, hyperdrivesConfig, imagesConfig, mediaConfig, streamConfig, flagshipConfig, analyticsEngineConfig, tailConsumersConfig, artifactsConfig, aiSearchNamespacesConfig, aiSearchInstancesConfig, secretsStoreConfig, localSecretWrappedBindingConfig, queueProducers } = context;
1909
1909
  const baseFlags = loadedConfig.compatibilityFlags ?? [];
1910
1910
  const compatFlags = baseFlags.includes("nodejs_compat") ? baseFlags : [...baseFlags, "nodejs_compat"];
1911
1911
  const workerBindings = loadedConfig.vars ?? {};
@@ -1938,6 +1938,8 @@ function makeMiniflareWorker(context, options) {
1938
1938
  ...mediaConfig && { media: mediaConfig },
1939
1939
  ...streamConfig && { stream: streamConfig },
1940
1940
  ...flagshipConfig && { flagship: flagshipConfig },
1941
+ ...analyticsEngineConfig && { analyticsEngineDatasets: analyticsEngineConfig },
1942
+ ...tailConsumersConfig && { tails: tailConsumersConfig },
1941
1943
  ...artifactsConfig && { artifacts: artifactsConfig },
1942
1944
  ...aiSearchNamespacesConfig && { aiSearchNamespaces: aiSearchNamespacesConfig },
1943
1945
  ...aiSearchInstancesConfig && { aiSearchInstances: aiSearchInstancesConfig },
@@ -2035,6 +2037,8 @@ function buildMiniflareDevConfig(input) {
2035
2037
  const mediaConfig = bindings.media ? void 0 : buildMediaConfig(bindings);
2036
2038
  const streamConfig = buildStreamConfig(bindings);
2037
2039
  const flagshipConfig = buildFlagshipConfig(bindings);
2040
+ const analyticsEngineConfig = buildAnalyticsEngineConfig(bindings);
2041
+ const tailConsumersConfig = buildTailConsumersConfig(loadedConfig);
2038
2042
  const artifactsConfig = buildArtifactsConfig(bindings);
2039
2043
  const aiSearchNamespacesConfig = buildAiSearchNamespacesConfig(bindings);
2040
2044
  const aiSearchInstancesConfig = buildAiSearchInstancesConfig(bindings);
@@ -2057,6 +2061,8 @@ function buildMiniflareDevConfig(input) {
2057
2061
  mediaConfig,
2058
2062
  streamConfig,
2059
2063
  flagshipConfig,
2064
+ analyticsEngineConfig,
2065
+ tailConsumersConfig,
2060
2066
  artifactsConfig,
2061
2067
  aiSearchNamespacesConfig,
2062
2068
  aiSearchInstancesConfig,
@@ -44,7 +44,11 @@ function buildWorkerLoadersConfig(bindings) {
44
44
  function buildMtlsCertificatesConfig(bindings) {
45
45
  if (!bindings.mtlsCertificates) return;
46
46
  return Object.fromEntries(Object.entries(bindings.mtlsCertificates).map(([bindingName, binding]) => {
47
- return [bindingName, { certificate_id: normalizeMtlsCertificateBinding(binding).certificateId }];
47
+ const normalized = normalizeMtlsCertificateBinding(binding);
48
+ return [bindingName, {
49
+ certificate_id: normalized.certificateId,
50
+ ...normalized.remote !== void 0 && { remote: normalized.remote }
51
+ }];
48
52
  }));
49
53
  }
50
54
  function buildDispatchNamespacesConfig(bindings) {
@@ -114,6 +118,10 @@ function buildFlagshipConfig(bindings) {
114
118
  return [bindingName, { app_id: normalizeFlagshipBinding(binding).appId }];
115
119
  }));
116
120
  }
121
+ function buildAnalyticsEngineConfig(bindings) {
122
+ if (!bindings.analyticsEngine) return;
123
+ return Object.fromEntries(Object.entries(bindings.analyticsEngine).map(([bindingName, binding]) => [bindingName, { dataset: binding.dataset }]));
124
+ }
117
125
  function buildArtifactsConfig(bindings) {
118
126
  if (!bindings.artifacts) return;
119
127
  return Object.fromEntries(Object.entries(bindings.artifacts).map(([bindingName, binding]) => {
@@ -149,6 +157,22 @@ function buildSendEmailConfig(bindings) {
149
157
  ...binding.allowedSenderAddresses && { allowed_sender_addresses: binding.allowedSenderAddresses }
150
158
  })) };
151
159
  }
160
+ /**
161
+ * Translate the top-level `tailConsumers` config into Miniflare's per-worker
162
+ * `tails` option (an array of service designators). Each tail consumer points
163
+ * at ANOTHER Worker by service name; Miniflare delivers tail events to that
164
+ * Worker only when it is present in the same Miniflare `workers` array. In
165
+ * single-worker local dev the consumer Worker is typically absent, in which
166
+ * case the designator simply resolves to nothing — local delivery degrades
167
+ * cleanly (no crash) and live delivery works only when the consumer Worker is
168
+ * also run locally. The tail *handler* on a Worker is wired separately and is
169
+ * always testable (`cf.tail.trigger()`).
170
+ */
171
+ function buildTailConsumersConfig(config) {
172
+ if (!config.tailConsumers || config.tailConsumers.length === 0) return;
173
+ const tails = config.tailConsumers.map((consumer) => typeof consumer === "string" ? consumer : consumer.service);
174
+ return tails.length > 0 ? tails : void 0;
175
+ }
152
176
  //#endregion
153
177
  //#region src/test/resolve-service-bindings.ts
154
178
  function getBunRuntime() {
@@ -806,4 +830,4 @@ async function discoverRoutes(cwd, config) {
806
830
  };
807
831
  }
808
832
  //#endregion
809
- export { buildStreamConfig as C, buildWorkflowsConfig as E, buildSendEmailConfig as S, buildWorkerLoadersConfig as T, buildPipelinesConfig as _, hasServiceBindings as a, buildRateLimitsConfig as b, buildAiSearchInstancesConfig as c, buildDispatchNamespacesConfig as d, buildFlagshipConfig as f, buildMtlsCertificatesConfig as g, buildMediaConfig as h, hasCrossWorkerDOs as i, buildAiSearchNamespacesConfig as l, buildImagesConfig as m, getRouteDirectoryCandidate as n, resolveDOBindings as o, buildHyperdrivesConfig as p, clearBundleCache as r, resolveServiceBindings as s, discoverRoutes as t, buildArtifactsConfig as u, buildQueueConsumers as v, buildVersionMetadataConfig as w, buildSecretsStoreConfig as x, buildQueueProducers as y };
833
+ export { buildSendEmailConfig as C, buildWorkerLoadersConfig as D, buildVersionMetadataConfig as E, buildWorkflowsConfig as O, buildSecretsStoreConfig as S, buildTailConsumersConfig as T, buildMtlsCertificatesConfig as _, hasServiceBindings as a, buildQueueProducers as b, buildAiSearchInstancesConfig as c, buildArtifactsConfig as d, buildDispatchNamespacesConfig as f, buildMediaConfig as g, buildImagesConfig as h, hasCrossWorkerDOs as i, buildAiSearchNamespacesConfig as l, buildHyperdrivesConfig as m, getRouteDirectoryCandidate as n, resolveDOBindings as o, buildFlagshipConfig as p, clearBundleCache as r, resolveServiceBindings as s, discoverRoutes as t, buildAnalyticsEngineConfig as u, buildPipelinesConfig as v, buildStreamConfig as w, buildRateLimitsConfig as x, buildQueueConsumers as y };
@@ -2,7 +2,7 @@ import { d as resolveConfigEnvVars } from "./preview-C3Cdr8an.js";
2
2
  import { i as resolveConfigPath, o as loadResolvedConfig, r as loadConfig, s as resolveResources, u as resolveConfigForEnvironment } from "./loader-RZhqzsRJ.js";
3
3
  import { o as normalizeDOBinding } from "./schema-normalization-BCwTLTGp.js";
4
4
  import { c as writeWranglerConfig, i as isolateViteBuildOutputPaths, n as compileConfig, o as rebaseWranglerConfigPaths, r as compileToProgrammaticConfig, t as compileBuildConfig } from "./compiler-Dc97FkBg.js";
5
- import { s as resolveServiceBindings, t as discoverRoutes } from "./routes-5OnFhKR2.js";
5
+ import { s as resolveServiceBindings, t as discoverRoutes } from "./routes-C4S8x2HU.js";
6
6
  import { n as findDurableObjectClasses } from "./durable-object-DMtH0XYX.js";
7
7
  import { r as SUPPORTED_WORKER_EXTENSIONS } from "./worker-entrypoint-CQW77lG8.js";
8
8
  import { i as findFiles, t as DEFAULT_DO_PATTERN } from "./glob-CmQOvunB.js";
@@ -60,6 +60,7 @@ export interface MiniflareOptions {
60
60
  /** mTLS Certificate bindings */
61
61
  mtlsCertificates?: Record<string, {
62
62
  certificate_id: string;
63
+ remote?: boolean;
63
64
  }>;
64
65
  /** Dispatch Namespace bindings */
65
66
  dispatchNamespaces?: Record<string, {
@@ -84,6 +85,12 @@ export interface MiniflareOptions {
84
85
  media?: {
85
86
  binding: string;
86
87
  };
88
+ /** Analytics Engine dataset bindings */
89
+ analyticsEngine?: Record<string, {
90
+ dataset: string;
91
+ }>;
92
+ /** Tail consumer service names (cross-Worker tail delivery) */
93
+ tailConsumers?: string[];
87
94
  /** Artifacts bindings */
88
95
  artifacts?: Record<string, {
89
96
  namespace: string;
@@ -1 +1 @@
1
- {"version":3,"file":"miniflare.d.ts","sourceRoot":"","sources":["../../src/bridge/miniflare.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"miniflare.d.ts","sourceRoot":"","sources":["../../src/bridge/miniflare.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import { n as runCli, t as parseArgs } from "../_chunks/cli-BiDDz-RY.js";
1
+ import { n as runCli, t as parseArgs } from "../_chunks/cli-Ba6JBLOz.js";
2
2
  export { parseArgs, runCli };
@@ -14,6 +14,7 @@ export declare function buildVersionMetadataConfig(bindings: Bindings): string |
14
14
  export declare function buildWorkerLoadersConfig(bindings: Bindings): Record<string, Record<string, never>> | undefined;
15
15
  export declare function buildMtlsCertificatesConfig(bindings: Bindings): Record<string, {
16
16
  certificate_id: string;
17
+ remote?: boolean;
17
18
  }> | undefined;
18
19
  export declare function buildDispatchNamespacesConfig(bindings: Bindings): Record<string, {
19
20
  namespace: string;
@@ -40,6 +41,9 @@ export declare function buildStreamConfig(bindings: Bindings): {
40
41
  export declare function buildFlagshipConfig(bindings: Bindings): Record<string, {
41
42
  app_id: string;
42
43
  }> | undefined;
44
+ export declare function buildAnalyticsEngineConfig(bindings: Bindings): Record<string, {
45
+ dataset: string;
46
+ }> | undefined;
43
47
  export declare function buildArtifactsConfig(bindings: Bindings): Record<string, {
44
48
  namespace: string;
45
49
  }> | undefined;
@@ -61,5 +65,17 @@ export declare function buildSendEmailConfig(bindings: Bindings): {
61
65
  allowed_sender_addresses?: string[];
62
66
  }>;
63
67
  } | undefined;
68
+ /**
69
+ * Translate the top-level `tailConsumers` config into Miniflare's per-worker
70
+ * `tails` option (an array of service designators). Each tail consumer points
71
+ * at ANOTHER Worker by service name; Miniflare delivers tail events to that
72
+ * Worker only when it is present in the same Miniflare `workers` array. In
73
+ * single-worker local dev the consumer Worker is typically absent, in which
74
+ * case the designator simply resolves to nothing — local delivery degrades
75
+ * cleanly (no crash) and live delivery works only when the consumer Worker is
76
+ * also run locally. The tail *handler* on a Worker is wired separately and is
77
+ * always testable (`cf.tail.trigger()`).
78
+ */
79
+ export declare function buildTailConsumersConfig(config: Pick<DevflareConfig, 'tailConsumers'>): string[] | undefined;
64
80
  export {};
65
81
  //# sourceMappingURL=miniflare-bindings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"miniflare-bindings.d.ts","sourceRoot":"","sources":["../../src/dev-server/miniflare-bindings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"miniflare-bindings.d.ts","sourceRoot":"","sources":["../../src/dev-server/miniflare-bindings.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"miniflare-dev-config.d.ts","sourceRoot":"","sources":["../../src/dev-server/miniflare-dev-config.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAI/C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AAC9E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AA6BlE,OAAO,EAAE,KAAK,kBAAkB,EAAyB,MAAM,wBAAwB,CAAA;AAGvF,KAAK,wBAAwB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAA;AAElF,MAAM,WAAW,4BAA4B;IAC5C,MAAM,EAAE,cAAc,CAAA;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,EAAE,OAAO,CAAA;IACd,sBAAsB,EAAE,kBAAkB,CAAA;IAC1C,gBAAgB,EAAE,oBAAoB,GAAG,IAAI,CAAA;IAC7C,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1C,wBAAwB,EAAE,MAAM,CAAA;IAChC,eAAe,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAA;IAC/B,wBAAwB,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAA;IAC1D,MAAM,CAAC,EAAE,eAAe,CAAA;CACxB;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,GAAG,GAAG,CA+NhF"}
1
+ {"version":3,"file":"miniflare-dev-config.d.ts","sourceRoot":"","sources":["../../src/dev-server/miniflare-dev-config.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAI/C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AAC9E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AA+BlE,OAAO,EAAE,KAAK,kBAAkB,EAAyB,MAAM,wBAAwB,CAAA;AAGvF,KAAK,wBAAwB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAA;AAElF,MAAM,WAAW,4BAA4B;IAC5C,MAAM,EAAE,cAAc,CAAA;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,EAAE,OAAO,CAAA;IACd,sBAAsB,EAAE,kBAAkB,CAAA;IAC1C,gBAAgB,EAAE,oBAAoB,GAAG,IAAI,CAAA;IAC7C,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1C,wBAAwB,EAAE,MAAM,CAAA;IAChC,eAAe,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAA;IAC/B,wBAAwB,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAA;IAC1D,MAAM,CAAC,EAAE,eAAe,CAAA;CACxB;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,GAAG,GAAG,CAmOhF"}
@@ -1,6 +1,6 @@
1
1
  import type { DevflareConfig } from '../config/index.js';
2
2
  import type { LocalSecretWrappedBindingConfig } from '../secrets/local-secrets.js';
3
- import type { buildAiSearchInstancesConfig, buildAiSearchNamespacesConfig, buildArtifactsConfig, buildDispatchNamespacesConfig, buildFlagshipConfig, buildHyperdrivesConfig, buildImagesConfig, buildMediaConfig, buildMtlsCertificatesConfig, buildPipelinesConfig, buildRateLimitsConfig, buildSecretsStoreConfig, buildSendEmailConfig, buildStreamConfig, buildVersionMetadataConfig, buildWorkerLoadersConfig, buildWorkflowsConfig } from './miniflare-bindings.js';
3
+ import type { buildAiSearchInstancesConfig, buildAiSearchNamespacesConfig, buildAnalyticsEngineConfig, buildArtifactsConfig, buildDispatchNamespacesConfig, buildFlagshipConfig, buildHyperdrivesConfig, buildImagesConfig, buildMediaConfig, buildMtlsCertificatesConfig, buildPipelinesConfig, buildRateLimitsConfig, buildSecretsStoreConfig, buildSendEmailConfig, buildStreamConfig, buildTailConsumersConfig, buildVersionMetadataConfig, buildWorkerLoadersConfig, buildWorkflowsConfig } from './miniflare-bindings.js';
4
4
  type Bindings = NonNullable<DevflareConfig['bindings']>;
5
5
  type SendEmailConfig = ReturnType<typeof buildSendEmailConfig>;
6
6
  type RateLimitsConfig = ReturnType<typeof buildRateLimitsConfig>;
@@ -15,6 +15,8 @@ type ImagesConfig = ReturnType<typeof buildImagesConfig>;
15
15
  type MediaConfig = ReturnType<typeof buildMediaConfig>;
16
16
  type StreamConfig = ReturnType<typeof buildStreamConfig>;
17
17
  type FlagshipConfig = ReturnType<typeof buildFlagshipConfig>;
18
+ type AnalyticsEngineConfig = ReturnType<typeof buildAnalyticsEngineConfig>;
19
+ type TailConsumersConfig = ReturnType<typeof buildTailConsumersConfig>;
18
20
  type ArtifactsConfig = ReturnType<typeof buildArtifactsConfig>;
19
21
  type AiSearchNamespacesConfig = ReturnType<typeof buildAiSearchNamespacesConfig>;
20
22
  type AiSearchInstancesConfig = ReturnType<typeof buildAiSearchInstancesConfig>;
@@ -60,6 +62,8 @@ export interface MakeMiniflareWorkerContext {
60
62
  mediaConfig: MediaConfig;
61
63
  streamConfig: StreamConfig;
62
64
  flagshipConfig: FlagshipConfig;
65
+ analyticsEngineConfig: AnalyticsEngineConfig;
66
+ tailConsumersConfig: TailConsumersConfig;
63
67
  artifactsConfig: ArtifactsConfig;
64
68
  aiSearchNamespacesConfig: AiSearchNamespacesConfig;
65
69
  aiSearchInstancesConfig: AiSearchInstancesConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"miniflare-worker-config.d.ts","sourceRoot":"","sources":["../../src/dev-server/miniflare-worker-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"miniflare-worker-config.d.ts","sourceRoot":"","sources":["../../src/dev-server/miniflare-worker-config.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -4,6 +4,6 @@ import { a as ConfigResourceResolutionError, d as configSchema, n as ConfigValid
4
4
  import { n as compileConfig, s as stringifyConfig } from "./_chunks/compiler-Dc97FkBg.js";
5
5
  import { t as workerName } from "./_chunks/workerName-CFJsLZA-.js";
6
6
  import { n as getDurableObjectOptions, t as durableObject } from "./_chunks/decorators-QmV57ixr.js";
7
- import { n as runCli, t as parseArgs } from "./_chunks/cli-BiDDz-RY.js";
7
+ import { n as runCli, t as parseArgs } from "./_chunks/cli-Ba6JBLOz.js";
8
8
  import { i as vars, r as env } from "./_chunks/env-S0_nMVz1.js";
9
9
  export { ConfigNotFoundError, ConfigResourceResolutionError, ConfigValidationError, compileConfig, configSchema, defineConfig as default, defineConfig, durableObject, env, getDurableObjectOptions, loadConfig, loadResolvedConfig, parseArgs, preview, ref, runCli, stringifyConfig, vars, workerName };
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Minimal shape a Durable Object instance must satisfy to have its alarm fired:
3
+ * an `alarm()` method, plus the `state`/`ctx` and `env` the runtime injects.
4
+ * Matches the wrapper the Devflare DO transform generates around `alarm()`.
5
+ */
6
+ export interface AlarmTriggerTarget {
7
+ alarm?: (...args: unknown[]) => unknown;
8
+ state?: DurableObjectState;
9
+ ctx?: DurableObjectState;
10
+ env?: unknown;
11
+ }
12
+ export interface AlarmTriggerOptions {
13
+ /**
14
+ * Durable Object state to attach to the alarm event. Defaults to the
15
+ * instance's `state` (or `ctx`) when present.
16
+ */
17
+ state?: DurableObjectState;
18
+ /**
19
+ * Env to attach to the alarm event. Defaults to the instance's `env` when
20
+ * present, otherwise an empty object.
21
+ */
22
+ env?: unknown;
23
+ }
24
+ export interface AlarmTriggerResult {
25
+ /** Whether the alarm handler completed successfully. */
26
+ success: boolean;
27
+ /** Error message if the handler threw. */
28
+ error?: string;
29
+ }
30
+ /**
31
+ * Trigger a Durable Object's `alarm()` handler.
32
+ *
33
+ * This mirrors how the Devflare runtime invokes a DO alarm: it builds a
34
+ * `durable-object-alarm` event with the instance's env + state, installs it into
35
+ * AsyncLocalStorage via `runWithEventContext`, and calls the instance's
36
+ * `alarm()` with that event (so `getDurableObjectAlarmEvent()` works inside the
37
+ * handler). The instance keeps using its own `this.env` / `this.ctx`; the event
38
+ * is supplied for context-aware code paths.
39
+ *
40
+ * @param target - The Durable Object instance whose `alarm()` should be fired.
41
+ * @param options - Optional explicit `state`/`env` for the alarm event.
42
+ * @returns Result object with success status.
43
+ *
44
+ * @example
45
+ * const counter = new Counter(state, env)
46
+ * await counter.scheduleAlarm()
47
+ * const result = await cf.alarm.trigger(counter)
48
+ * expect(result.success).toBe(true)
49
+ */
50
+ declare function trigger(target: AlarmTriggerTarget, options?: AlarmTriggerOptions): Promise<AlarmTriggerResult>;
51
+ export declare const alarm: {
52
+ trigger: typeof trigger;
53
+ };
54
+ export {};
55
+ //# sourceMappingURL=alarm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alarm.d.ts","sourceRoot":"","sources":["../../src/test/alarm.ts"],"names":[],"mappings":"AAqBA;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAClC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAA;IACvC,KAAK,CAAC,EAAE,kBAAkB,CAAA;IAC1B,GAAG,CAAC,EAAE,kBAAkB,CAAA;IACxB,GAAG,CAAC,EAAE,OAAO,CAAA;CACb;AAED,MAAM,WAAW,mBAAmB;IACnC;;;OAGG;IACH,KAAK,CAAC,EAAE,kBAAkB,CAAA;IAC1B;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAA;CACb;AAED,MAAM,WAAW,kBAAkB;IAClC,wDAAwD;IACxD,OAAO,EAAE,OAAO,CAAA;IAChB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,iBAAe,OAAO,CACrB,MAAM,EAAE,kBAAkB,EAC1B,OAAO,GAAE,mBAAwB,GAC/B,OAAO,CAAC,kBAAkB,CAAC,CAuB7B;AAMD,eAAO,MAAM,KAAK;;CAEjB,CAAA"}
package/dist/test/cf.d.ts CHANGED
@@ -1,8 +1,10 @@
1
+ export { alarm } from './alarm.js';
1
2
  export { email } from './email.js';
2
3
  export { queue } from './queue.js';
3
4
  export { scheduled } from './scheduled.js';
4
5
  export { worker } from './worker.js';
5
6
  export { tail } from './tail.js';
7
+ export type { AlarmTriggerTarget, AlarmTriggerOptions, AlarmTriggerResult } from './alarm.js';
6
8
  export type { EmailSendOptions, ReceivedEmail, EmailReceiveCallback } from './email.js';
7
9
  export type { QueueMessageOptions, QueueTriggerResult } from './queue.js';
8
10
  export type { ScheduledTriggerOptions, ScheduledTriggerResult } from './scheduled.js';
@@ -17,6 +19,7 @@ export type { TraceItemOptions, TailTriggerResult } from './tail.js';
17
19
  * - `cf.scheduled` — Cron/scheduled handler testing
18
20
  * - `cf.worker` — Fetch handler testing
19
21
  * - `cf.tail` — Tail helper surface (uses `files.tail`, or auto-detects `src/tail.ts` when present)
22
+ * - `cf.alarm` — Durable Object alarm handler testing (fires a DO instance's `alarm()`)
20
23
  *
21
24
  * The helpers use the real Miniflare-backed bindings created by `createTestContext()`,
22
25
  * but several helper surfaces still synthesize event/controller objects around those
@@ -140,5 +143,24 @@ export declare const cf: {
140
143
  trigger: (items: Array<import("@cloudflare/workers-types").TraceItem | import("./tail.js").TraceItemOptions>) => Promise<import("./tail.js").TailTriggerResult>;
141
144
  create: (options?: import("./tail.js").TraceItemOptions) => import("@cloudflare/workers-types").TraceItem;
142
145
  };
146
+ /**
147
+ * Durable Object alarm handler testing.
148
+ *
149
+ * - `cf.alarm.trigger(instance, options?)` — Fire a DO instance's `alarm()`
150
+ * handler under a `durable-object-alarm` event context and assert effects.
151
+ *
152
+ * Unlike the other surfaces this operates directly on a Durable Object
153
+ * instance you construct in the test (it does not resolve a handler file),
154
+ * mirroring how the Devflare DO wrapper invokes `alarm()` at runtime.
155
+ *
156
+ * @example
157
+ * const counter = new Counter(state, env)
158
+ * await counter.scheduleAlarm()
159
+ * const result = await cf.alarm.trigger(counter)
160
+ * expect(result.success).toBe(true)
161
+ */
162
+ alarm: {
163
+ trigger: (target: import("./alarm.js").AlarmTriggerTarget, options?: import("./alarm.js").AlarmTriggerOptions) => Promise<import("./alarm.js").AlarmTriggerResult>;
164
+ };
143
165
  };
144
166
  //# sourceMappingURL=cf.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cf.d.ts","sourceRoot":"","sources":["../../src/test/cf.ts"],"names":[],"mappings":"AAiCA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAG7B,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AACpF,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AACtE,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAClF,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAClD,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,eAAO,MAAM,EAAE;IACd;;;;;;;;;;;OAWG;;;;;;;IAGH;;;;;;;OAOG;;;;;IAGH;;;;;;;;;OASG;;;;IAGH;;;;;;;;;;;;OAYG;;;;;;;;;IAGH;;;;;;;;OAQG;;;;;CAEH,CAAA"}
1
+ {"version":3,"file":"cf.d.ts","sourceRoot":"","sources":["../../src/test/cf.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAG7B,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC1F,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AACpF,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AACtE,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAClF,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAClD,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,eAAO,MAAM,EAAE;IACd;;;;;;;;;;;OAWG;;;;;;;IAGH;;;;;;;OAOG;;;;;IAGH;;;;;;;;;OASG;;;;IAGH;;;;;;;;;;;;OAYG;;;;;;;;;IAGH;;;;;;;;OAQG;;;;;IAGH;;;;;;;;;;;;;;;OAeG;;;;CAEH,CAAA"}
@@ -1,10 +1,12 @@
1
1
  export { createTestContext, env, type DevflareEnv, type TestEnv } from './simple-context.js';
2
2
  export { cf } from './cf.js';
3
+ export { alarm } from './alarm.js';
3
4
  export { email } from './email.js';
4
5
  export { queue } from './queue.js';
5
6
  export { scheduled } from './scheduled.js';
6
7
  export { worker } from './worker.js';
7
8
  export { tail } from './tail.js';
9
+ export type { AlarmTriggerTarget, AlarmTriggerOptions, AlarmTriggerResult } from './alarm.js';
8
10
  export type { EmailSendOptions, ReceivedEmail, EmailReceiveCallback } from './email.js';
9
11
  export type { QueueMessageOptions, QueueTriggerResult } from './queue.js';
10
12
  export type { ScheduledTriggerOptions, ScheduledTriggerResult } from './scheduled.js';
@@ -15,5 +17,5 @@ export { shouldSkip } from './should-skip.js';
15
17
  export { containers, createContainerManager, detectContainerEngine, getContainerSkipReason, stopActiveContainers, type ContainerCommandResult, type ContainerCommandRunner, type ContainerEngineCheck, type ContainerEngineName, type ContainerEnginePreference, type ContainerEngineStatus, type ContainerManager, type ContainerManagerOptions, type DevflareContainerInstance, type LocalContainerState, type StartContainerOptions } from './containers.js';
16
18
  export { createOfflineBindings, createOfflineEnv, describeOfflineSupport, getOfflineSupportMatrix, type OfflineBindingFixtures, type OfflineBindingsResult, type OfflineMissingFixture, type OfflineRemoteBoundary, type OfflineSupportEntry, type OfflineSupportTier } from './offline-bindings.js';
17
19
  export { createMockAISearchInstance, createMockAISearchNamespace, type MockAISearchInstance, type MockAISearchInstanceOptions, type MockAISearchItemFixture, type MockAISearchNamespace, type MockAISearchNamespaceOptions } from './ai-search.js';
18
- export { createMockTestContext, createMockKV, createMockD1, createMockR2, createMockQueue, createMockRateLimit, createMockVersionMetadata, createMockHyperdrive, createMockWorkerLoader, createMockMTLSCertificate, createMockDispatchNamespace, createMockWorkflow, createMockPipeline, createMockImagesBinding, createMockMediaBinding, createMockStreamBinding, createMockFlagshipBinding, createMockArtifacts, createMockSecretsStoreSecret, createMockEnv, withTestContext, type TestContext, type TestContextOptions, type MockEnvOptions, type MockRateLimitOptions, type MockWorkerLoaderOptions, type MockFetchInput, type MockFetcherHandler, type MockDispatchNamespaceOptions, type MockWorkflowOptions, type MockWorkflowInstanceOptions, type MockPipeline, type MockImagesBindingOptions, type MockMediaBindingOptions, type MockStreamBindingOptions, type MockFlagshipBindingOptions, type MockArtifactsOptions } from './utilities.js';
20
+ export { createMockTestContext, createMockKV, createMockD1, createMockR2, createMockQueue, createMockRateLimit, createMockVersionMetadata, createMockHyperdrive, createMockWorkerLoader, createMockMTLSCertificate, createMockDispatchNamespace, createMockWorkflow, createMockPipeline, createMockImagesBinding, createMockMediaBinding, createMockStreamBinding, createMockFlagshipBinding, createMockArtifacts, createMockVectorize, createMockAnalyticsEngine, createMockSecretsStoreSecret, createMockEnv, withTestContext, type TestContext, type TestContextOptions, type MockEnvOptions, type MockRateLimitOptions, type MockWorkerLoaderOptions, type MockFetchInput, type MockFetcherHandler, type MockDispatchNamespaceOptions, type MockWorkflowOptions, type MockWorkflowInstanceOptions, type MockPipeline, type MockImagesBindingOptions, type MockMediaBindingOptions, type MockStreamBindingOptions, type MockFlagshipBindingOptions, type MockArtifactsOptions, type MockVectorizeOptions, type MockVectorizeIndex, type MockAnalyticsEngineDataset } from './utilities.js';
19
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACN,iBAAiB,EACjB,GAAG,EACH,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAG7B,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AACpF,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AACtE,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAClF,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAClD,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAGjE,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,MAAM,4BAA4B,CAAA;AAGnC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG1C,OAAO,EACN,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,MAAM,cAAc,CAAA;AAGrB,OAAO,EACN,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACN,0BAA0B,EAC1B,2BAA2B,EAC3B,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,MAAM,aAAa,CAAA;AAGpB,OAAO,EACN,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,4BAA4B,EAC5B,aAAa,EACb,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAChC,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,KAAK,oBAAoB,EACzB,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACN,iBAAiB,EACjB,GAAG,EACH,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAG7B,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC1F,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AACpF,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AACtE,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAClF,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAClD,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAGjE,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,MAAM,4BAA4B,CAAA;AAGnC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG1C,OAAO,EACN,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,MAAM,cAAc,CAAA;AAGrB,OAAO,EACN,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACN,0BAA0B,EAC1B,2BAA2B,EAC3B,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,MAAM,aAAa,CAAA;AAGpB,OAAO,EACN,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,4BAA4B,EAC5B,aAAa,EACb,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAChC,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,MAAM,aAAa,CAAA"}