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
@@ -1,7 +1,7 @@
1
1
  import type { Pipeline } from 'cloudflare:pipelines';
2
2
  import { type DevflareConfig } from '../config/index.js';
3
3
  import { type MockAISearchInstanceOptions, type MockAISearchNamespaceOptions } from './ai-search.js';
4
- import { type MockArtifactsOptions, type MockDispatchNamespaceOptions, type MockFetcherHandler, type MockFlagshipBindingOptions, type MockImagesBindingOptions, type MockMediaBindingOptions, type MockStreamBindingOptions, type MockWorkerLoaderOptions, type MockWorkflowOptions } from './utilities.js';
4
+ import { type MockArtifactsOptions, type MockDispatchNamespaceOptions, type MockFetcherHandler, type MockFlagshipBindingOptions, type MockImagesBindingOptions, type MockMediaBindingOptions, type MockStreamBindingOptions, type MockVectorizeOptions, type MockWorkerLoaderOptions, type MockWorkflowOptions } from './utilities.js';
5
5
  export type OfflineSupportTier = 'offline-native' | 'offline-fixture' | 'remote-boundary';
6
6
  export interface OfflineSupportEntry {
7
7
  service: string;
@@ -21,6 +21,36 @@ export interface OfflineMissingFixture {
21
21
  reason: string;
22
22
  }
23
23
  export interface OfflineBindingFixtures {
24
+ /**
25
+ * Explicit KV namespace bindings. Any KV binding in config without an entry
26
+ * here is auto-created with `createMockKV()`.
27
+ */
28
+ kv?: Record<string, KVNamespace>;
29
+ /**
30
+ * Explicit D1 database bindings. Any D1 binding in config without an entry
31
+ * here is auto-created with `createMockD1()`.
32
+ */
33
+ d1?: Record<string, D1Database>;
34
+ /**
35
+ * Explicit R2 bucket bindings. Any R2 binding in config without an entry here
36
+ * is auto-created with `createMockR2()`.
37
+ */
38
+ r2?: Record<string, R2Bucket>;
39
+ /**
40
+ * Explicit queue-producer bindings. Any queue producer in config without an
41
+ * entry here is auto-created with `createMockQueue()`.
42
+ */
43
+ queues?: Record<string, Queue>;
44
+ /**
45
+ * Vectorize index bindings. Any vectorize binding in config without an entry
46
+ * here is auto-created with `createMockVectorize()`.
47
+ */
48
+ vectorize?: Record<string, MockVectorizeOptions | VectorizeIndex>;
49
+ /**
50
+ * Analytics Engine dataset bindings. Any analyticsEngine binding in config
51
+ * without an entry here is auto-created with `createMockAnalyticsEngine()`.
52
+ */
53
+ analyticsEngine?: Record<string, AnalyticsEngineDataset>;
24
54
  secretsStore?: Record<string, string>;
25
55
  workerLoaders?: Record<string, MockWorkerLoaderOptions>;
26
56
  mtlsCertificates?: Record<string, MockFetcherHandler>;
@@ -58,25 +88,27 @@ export declare function describeOfflineSupport(service: string): OfflineSupportE
58
88
  /**
59
89
  * Builds a deterministic, pure-test env object from Devflare config.
60
90
  *
61
- * Covers the bindings that have a pure-offline simulator or fixture (rate
62
- * limits, version metadata, hyperdrive, worker loaders, mTLS, dispatch
63
- * namespaces, workflows, pipelines, images, media, stream, flagship, artifacts,
64
- * secrets store, AI Search). It does **not** create the core storage/wiring bindings
65
- * (`kv`, `d1`, `r2`, `queues`, `durableObjects`, `services`) those require a
66
- * real Miniflare runtime, which only `createTestContext()` provides. When such a
67
- * binding is present in config it is reported in the returned `missingFixtures`
68
- * (its `env` entry is left unset rather than silently faked); use
69
- * `createTestContext()` or a `createMock*()` helper for those bindings.
91
+ * Covers the bindings that have a pure-offline simulator or fixture: the core
92
+ * storage mocks (`kv`, `d1`, `r2`, `queues`) are **auto-created** from the
93
+ * existing `createMock*()` helpers (an explicit `fixtures.{kv,d1,r2,queues}`
94
+ * entry overrides the auto-mock), alongside rate limits, version metadata,
95
+ * hyperdrive, worker loaders, mTLS, dispatch namespaces, workflows, pipelines,
96
+ * images, media, stream, flagship, artifacts, secrets store, AI Search,
97
+ * Vectorize, and Analytics Engine. It does **not** create the wiring bindings
98
+ * (`durableObjects`, `services`) those require a real Miniflare runtime, which
99
+ * only `createTestContext()` provides. When such a binding is present in config
100
+ * it is reported in the returned `missingFixtures` (its `env` entry is left
101
+ * unset rather than silently faked); use `createTestContext()` for those.
70
102
  */
71
103
  export declare function createOfflineBindings(config: OfflineConfig, fixtures?: OfflineBindingFixtures, options?: OfflineBindingOptions): OfflineBindingsResult;
72
104
  /**
73
105
  * Convenience wrapper for callers that only need the derived env object.
74
106
  *
75
- * Note: the core storage/wiring bindings (`kv`, `d1`, `r2`, `queues`,
76
- * `durableObjects`, `services`) are **not** created here and will be
77
- * `undefined` in the returned env — they need a real Miniflare runtime. Use
78
- * `createTestContext()` or a `createMock*()` helper for them, or call
79
- * `createOfflineBindings()` to inspect `missingFixtures` for the exact list.
107
+ * Note: the storage mocks (`kv`, `d1`, `r2`, `queues`) are auto-created here, but
108
+ * the wiring bindings (`durableObjects`, `services`) are **not** they need a
109
+ * real Miniflare runtime and will be `undefined` in the returned env. Use
110
+ * `createTestContext()` for them, or call `createOfflineBindings()` to inspect
111
+ * `missingFixtures` for the exact list.
80
112
  */
81
113
  export declare function createOfflineEnv(config: OfflineConfig, fixtures?: OfflineBindingFixtures, options?: OfflineBindingOptions): Record<string, unknown>;
82
114
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"offline-bindings.d.ts","sourceRoot":"","sources":["../../src/test/offline-bindings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"offline-bindings.d.ts","sourceRoot":"","sources":["../../src/test/offline-bindings.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"simple-context-mfconfig.d.ts","sourceRoot":"","sources":["../../src/test/simple-context-mfconfig.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAK/C,MAAM,WAAW,gCAAgC;IAChD,GAAG,CAAC,EAAE,MAAM,CAAA;CACZ;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACxC,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,gCAAqC,GAC5C,GAAG,CAwPL"}
1
+ {"version":3,"file":"simple-context-mfconfig.d.ts","sourceRoot":"","sources":["../../src/test/simple-context-mfconfig.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAS/C,MAAM,WAAW,gCAAgC;IAChD,GAAG,CAAC,EAAE,MAAM,CAAA;CACZ;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACxC,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,gCAAqC,GAC5C,GAAG,CAmQL"}
@@ -1 +1 @@
1
- {"version":3,"file":"simple-context-multi-worker.d.ts","sourceRoot":"","sources":["../../src/test/simple-context-multi-worker.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAE3F,KAAK,wBAAwB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAA;AAClF,KAAK,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAA;AAExE;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACrC,QAAQ,EAAE,GAAG,EACb,MAAM,EAAE,cAAc,EACtB,wBAAwB,EAAE,wBAAwB,GAAG,IAAI,EACzD,mBAAmB,EAAE,mBAAmB,GAAG,IAAI,GAC7C,IAAI,CAoFN"}
1
+ {"version":3,"file":"simple-context-multi-worker.d.ts","sourceRoot":"","sources":["../../src/test/simple-context-multi-worker.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAE3F,KAAK,wBAAwB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAA;AAClF,KAAK,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAA;AAExE;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACrC,QAAQ,EAAE,GAAG,EACb,MAAM,EAAE,cAAc,EACtB,wBAAwB,EAAE,wBAAwB,GAAG,IAAI,EACzD,mBAAmB,EAAE,mBAAmB,GAAG,IAAI,GAC7C,IAAI,CA0FN"}
@@ -0,0 +1,22 @@
1
+ export type MockAnalyticsEngineDataset = AnalyticsEngineDataset & {
2
+ /** Every data point passed to `writeDataPoint()`, in call order. */
3
+ readonly writtenDataPoints: AnalyticsEngineDataPoint[];
4
+ /** Alias for {@link writtenDataPoints} (parity with other record-only mocks). */
5
+ readonly points: AnalyticsEngineDataPoint[];
6
+ /** Clear the recorded data points. */
7
+ clear(): void;
8
+ };
9
+ /**
10
+ * Creates a write-only Analytics Engine dataset binding for pure unit tests.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const dataset = createMockAnalyticsEngine()
15
+ * dataset.writeDataPoint({ indexes: ['user-1'], doubles: [1], blobs: ['signup'] })
16
+ * expect(dataset.writtenDataPoints).toEqual([
17
+ * { indexes: ['user-1'], doubles: [1], blobs: ['signup'] }
18
+ * ])
19
+ * ```
20
+ */
21
+ export declare function createMockAnalyticsEngine(): MockAnalyticsEngineDataset;
22
+ //# sourceMappingURL=analytics-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics-engine.d.ts","sourceRoot":"","sources":["../../../src/test/utilities/analytics-engine.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,0BAA0B,GAAG,sBAAsB,GAAG;IACjE,oEAAoE;IACpE,QAAQ,CAAC,iBAAiB,EAAE,wBAAwB,EAAE,CAAA;IACtD,iFAAiF;IACjF,QAAQ,CAAC,MAAM,EAAE,wBAAwB,EAAE,CAAA;IAC3C,sCAAsC;IACtC,KAAK,IAAI,IAAI,CAAA;CACb,CAAA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,IAAI,0BAA0B,CAmBtE"}
@@ -1,6 +1,7 @@
1
1
  import type { Pipeline } from 'cloudflare:pipelines';
2
2
  import { type MockArtifactsOptions } from './artifacts.js';
3
3
  import { type MockDispatchNamespaceOptions, type MockFetcherHandler, type MockRateLimitOptions, type MockWorkerLoaderOptions } from './platform.js';
4
+ import { type MockVectorizeOptions } from './vectorize.js';
4
5
  import { type MockWorkflowOptions } from './workflows.js';
5
6
  export interface MockEnvOptions {
6
7
  kv?: string[];
@@ -18,6 +19,8 @@ export interface MockEnvOptions {
18
19
  images?: string | ImagesBinding;
19
20
  media?: string | MediaBinding;
20
21
  artifacts?: string[] | Record<string, MockArtifactsOptions | Artifacts>;
22
+ vectorize?: string[] | Record<string, MockVectorizeOptions | VectorizeIndex>;
23
+ analyticsEngine?: string[];
21
24
  secretsStore?: Record<string, string>;
22
25
  durableObjects?: string[];
23
26
  vars?: Record<string, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/test/utilities/env.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,KAAK,oBAAoB,EAA2C,MAAM,aAAa,CAAA;AAIhG,OAAO,EACN,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAQ5B,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,KAAK,mBAAmB,EAA0C,MAAM,aAAa,CAAA;AAE9F,MAAM,WAAW,cAAc;IAC9B,EAAE,CAAC,EAAE,MAAM,EAAE,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,EAAE,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,EAAE,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;IACjD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,CAAA;IAChD,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;IAClE,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAChE,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAA;IAC5E,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,QAAQ,CAAC,CAAA;IACrE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC/C,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,SAAS,CAAC,CAAA;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,cAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA4JnF"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/test/utilities/env.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAEpD,OAAO,EAAE,KAAK,oBAAoB,EAA2C,MAAM,aAAa,CAAA;AAIhG,OAAO,EACN,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAQ5B,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,KAAK,oBAAoB,EAAuB,MAAM,aAAa,CAAA;AAC5E,OAAO,EAAE,KAAK,mBAAmB,EAA0C,MAAM,aAAa,CAAA;AAE9F,MAAM,WAAW,cAAc;IAC9B,EAAE,CAAC,EAAE,MAAM,EAAE,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,EAAE,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,EAAE,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;IACjD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,CAAA;IAChD,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;IAClE,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAChE,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAA;IAC5E,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,QAAQ,CAAC,CAAA;IACrE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC/C,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,SAAS,CAAC,CAAA;IACvE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,cAAc,CAAC,CAAA;IAC5E,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAoCD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,cAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkKnF"}
@@ -0,0 +1,38 @@
1
+ export interface MockVectorizeOptions {
2
+ /** Index name reported by `describe()` (default `mock-vectorize`). */
3
+ name?: string;
4
+ /** Distance metric reported by `describe()` (default `cosine`). */
5
+ metric?: VectorizeDistanceMetric;
6
+ /**
7
+ * Dimensions reported by `describe()`. When omitted it is inferred from the
8
+ * first inserted/seeded vector; before any vector exists `describe()` reports
9
+ * `0`.
10
+ */
11
+ dimensions?: number;
12
+ /** Vectors seeded into the index up front. */
13
+ vectors?: VectorizeVector[];
14
+ }
15
+ export type MockVectorizeIndex = VectorizeIndex & {
16
+ /** Inspect every stored vector (test helper). */
17
+ _getVectors(): VectorizeVector[];
18
+ /**
19
+ * Delete vectors by id. Convenience alias for `deleteByIds` so tests can call
20
+ * the same verb as KV/R2 mocks.
21
+ */
22
+ delete(ids: string[]): Promise<VectorizeVectorMutation>;
23
+ };
24
+ /**
25
+ * Creates a deterministic in-memory Vectorize index binding for pure unit tests.
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * const index = createMockVectorize({
30
+ * vectors: [{ id: 'a', values: [1, 0], metadata: { topic: 'cats' } }]
31
+ * })
32
+ * await index.insert([{ id: 'b', values: [0, 1] }])
33
+ * const result = await index.query([1, 0], { topK: 1, returnMetadata: true })
34
+ * // result.matches[0].id === 'a'
35
+ * ```
36
+ */
37
+ export declare function createMockVectorize(options?: MockVectorizeOptions): MockVectorizeIndex;
38
+ //# sourceMappingURL=vectorize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vectorize.d.ts","sourceRoot":"","sources":["../../../src/test/utilities/vectorize.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,oBAAoB;IACpC,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,mEAAmE;IACnE,MAAM,CAAC,EAAE,uBAAuB,CAAA;IAChC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,eAAe,EAAE,CAAA;CAC3B;AAED,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG;IACjD,iDAAiD;IACjD,WAAW,IAAI,eAAe,EAAE,CAAA;IAChC;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAA;CACvD,CAAA;AA6HD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,GAAG,kBAAkB,CAkI1F"}
@@ -8,5 +8,7 @@ export * from './utilities/workflows.js';
8
8
  export * from './utilities/media.js';
9
9
  export * from './utilities/stream-flagship.js';
10
10
  export * from './utilities/artifacts.js';
11
+ export * from './utilities/vectorize.js';
12
+ export * from './utilities/analytics-engine.js';
11
13
  export * from './utilities/env.js';
12
14
  //# sourceMappingURL=utilities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/test/utilities.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/test/utilities.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,iBAAiB,CAAA"}
@@ -1,2 +1,2 @@
1
- import { a as devflarePlugin, c as getDevflareConfigs, i as writeGeneratedViteConfig, n as resolveEffectiveViteProject, o as getPluginContext, r as resolveViteUserConfig, s as getCloudflareConfig, t as hasInlineViteConfig } from "../_chunks/vite-DLUELS0D.js";
1
+ import { a as devflarePlugin, c as getDevflareConfigs, i as writeGeneratedViteConfig, n as resolveEffectiveViteProject, o as getPluginContext, r as resolveViteUserConfig, s as getCloudflareConfig, t as hasInlineViteConfig } from "../_chunks/vite-D5dfVb6G.js";
2
2
  export { devflarePlugin as default, devflarePlugin, getCloudflareConfig, getDevflareConfigs, getPluginContext, hasInlineViteConfig, resolveEffectiveViteProject, resolveViteUserConfig, writeGeneratedViteConfig };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "devflare",
3
- "version": "1.0.0-next.44",
3
+ "version": "1.0.0-next.46",
4
4
  "description": "Devflare is a developer-first toolkit for Cloudflare Workers that sits on top of Miniflare and Wrangler-compatible config",
5
5
  "repository": {
6
6
  "type": "git",