alchemy 0.84.0 → 0.85.1

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 (155) hide show
  1. package/bin/alchemy.js +32 -23
  2. package/lib/cloudflare/account-api-token.d.ts +5 -0
  3. package/lib/cloudflare/account-api-token.d.ts.map +1 -1
  4. package/lib/cloudflare/account-api-token.js +13 -2
  5. package/lib/cloudflare/account-api-token.js.map +1 -1
  6. package/lib/cloudflare/ai-crawler.d.ts +27 -0
  7. package/lib/cloudflare/ai-crawler.d.ts.map +1 -0
  8. package/lib/cloudflare/ai-crawler.js +75 -0
  9. package/lib/cloudflare/ai-crawler.js.map +1 -0
  10. package/lib/cloudflare/ai-search-token.d.ts +150 -0
  11. package/lib/cloudflare/ai-search-token.d.ts.map +1 -0
  12. package/lib/cloudflare/ai-search-token.js +171 -0
  13. package/lib/cloudflare/ai-search-token.js.map +1 -0
  14. package/lib/cloudflare/ai-search.d.ts +397 -0
  15. package/lib/cloudflare/ai-search.d.ts.map +1 -0
  16. package/lib/cloudflare/ai-search.js +307 -0
  17. package/lib/cloudflare/ai-search.js.map +1 -0
  18. package/lib/cloudflare/api-error.d.ts +11 -0
  19. package/lib/cloudflare/api-error.d.ts.map +1 -1
  20. package/lib/cloudflare/api-error.js +11 -0
  21. package/lib/cloudflare/api-error.js.map +1 -1
  22. package/lib/cloudflare/api.js +1 -1
  23. package/lib/cloudflare/api.js.map +1 -1
  24. package/lib/cloudflare/auth.d.ts +3 -2
  25. package/lib/cloudflare/auth.d.ts.map +1 -1
  26. package/lib/cloudflare/auth.js +17 -14
  27. package/lib/cloudflare/auth.js.map +1 -1
  28. package/lib/cloudflare/bindings.d.ts +12 -2
  29. package/lib/cloudflare/bindings.d.ts.map +1 -1
  30. package/lib/cloudflare/bindings.js.map +1 -1
  31. package/lib/cloudflare/bound.d.ts +2 -1
  32. package/lib/cloudflare/bound.d.ts.map +1 -1
  33. package/lib/cloudflare/bucket-custom-domain.d.ts.map +1 -1
  34. package/lib/cloudflare/bucket-custom-domain.js +4 -2
  35. package/lib/cloudflare/bucket-custom-domain.js.map +1 -1
  36. package/lib/cloudflare/bucket.d.ts.map +1 -1
  37. package/lib/cloudflare/bucket.js +8 -2
  38. package/lib/cloudflare/bucket.js.map +1 -1
  39. package/lib/cloudflare/d1-database.d.ts.map +1 -1
  40. package/lib/cloudflare/d1-database.js +9 -1
  41. package/lib/cloudflare/d1-database.js.map +1 -1
  42. package/lib/cloudflare/index.d.ts +4 -0
  43. package/lib/cloudflare/index.d.ts.map +1 -1
  44. package/lib/cloudflare/index.js +4 -0
  45. package/lib/cloudflare/index.js.map +1 -1
  46. package/lib/cloudflare/miniflare/build-worker-options.d.ts.map +1 -1
  47. package/lib/cloudflare/miniflare/build-worker-options.js +15 -0
  48. package/lib/cloudflare/miniflare/build-worker-options.js.map +1 -1
  49. package/lib/cloudflare/miniflare/miniflare-controller.d.ts +1 -1
  50. package/lib/cloudflare/miniflare/miniflare-controller.d.ts.map +1 -1
  51. package/lib/cloudflare/miniflare/miniflare-worker-proxy.d.ts.map +1 -1
  52. package/lib/cloudflare/miniflare/miniflare-worker-proxy.js +41 -3
  53. package/lib/cloudflare/miniflare/miniflare-worker-proxy.js.map +1 -1
  54. package/lib/cloudflare/permission-groups.d.ts +5 -0
  55. package/lib/cloudflare/permission-groups.d.ts.map +1 -1
  56. package/lib/cloudflare/permission-groups.js +6 -0
  57. package/lib/cloudflare/permission-groups.js.map +1 -1
  58. package/lib/cloudflare/vpc-service.d.ts +288 -0
  59. package/lib/cloudflare/vpc-service.d.ts.map +1 -0
  60. package/lib/cloudflare/vpc-service.js +238 -0
  61. package/lib/cloudflare/vpc-service.js.map +1 -0
  62. package/lib/cloudflare/worker-metadata.d.ts +1 -0
  63. package/lib/cloudflare/worker-metadata.d.ts.map +1 -1
  64. package/lib/cloudflare/worker-metadata.js +8 -0
  65. package/lib/cloudflare/worker-metadata.js.map +1 -1
  66. package/lib/cloudflare/worker.d.ts +9 -0
  67. package/lib/cloudflare/worker.d.ts.map +1 -1
  68. package/lib/cloudflare/worker.js.map +1 -1
  69. package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
  70. package/lib/cloudflare/wrangler.json.js +9 -0
  71. package/lib/cloudflare/wrangler.json.js.map +1 -1
  72. package/lib/planetscale/api/sdk.gen.d.ts +874 -190
  73. package/lib/planetscale/api/sdk.gen.d.ts.map +1 -1
  74. package/lib/planetscale/api/sdk.gen.js +1250 -306
  75. package/lib/planetscale/api/sdk.gen.js.map +1 -1
  76. package/lib/planetscale/api/types.gen.d.ts +8241 -4128
  77. package/lib/planetscale/api/types.gen.d.ts.map +1 -1
  78. package/lib/planetscale/branch.js +4 -4
  79. package/lib/planetscale/branch.js.map +1 -1
  80. package/lib/planetscale/database.d.ts +43 -24
  81. package/lib/planetscale/database.d.ts.map +1 -1
  82. package/lib/planetscale/database.js +39 -18
  83. package/lib/planetscale/database.js.map +1 -1
  84. package/lib/planetscale/default-role.d.ts +51 -0
  85. package/lib/planetscale/default-role.d.ts.map +1 -0
  86. package/lib/planetscale/default-role.js +100 -0
  87. package/lib/planetscale/default-role.js.map +1 -0
  88. package/lib/planetscale/index.d.ts +1 -0
  89. package/lib/planetscale/index.d.ts.map +1 -1
  90. package/lib/planetscale/index.js +1 -0
  91. package/lib/planetscale/index.js.map +1 -1
  92. package/lib/planetscale/organization.js +1 -1
  93. package/lib/planetscale/organization.js.map +1 -1
  94. package/lib/planetscale/role.d.ts +1 -1
  95. package/lib/planetscale/role.d.ts.map +1 -1
  96. package/lib/planetscale/role.js +1 -1
  97. package/lib/planetscale/role.js.map +1 -1
  98. package/lib/planetscale/utils.d.ts +1 -1
  99. package/lib/planetscale/utils.d.ts.map +1 -1
  100. package/lib/planetscale/utils.js +9 -10
  101. package/lib/planetscale/utils.js.map +1 -1
  102. package/lib/scope.d.ts +1 -1
  103. package/lib/scope.d.ts.map +1 -1
  104. package/lib/scope.js +10 -5
  105. package/lib/scope.js.map +1 -1
  106. package/lib/state/sqlite-state-store.js +2 -0
  107. package/lib/state/sqlite-state-store.js.map +1 -1
  108. package/lib/test/bun.d.ts +17 -0
  109. package/lib/test/bun.d.ts.map +1 -1
  110. package/lib/test/bun.js +1 -0
  111. package/lib/test/bun.js.map +1 -1
  112. package/lib/test/vitest.d.ts +17 -0
  113. package/lib/test/vitest.d.ts.map +1 -1
  114. package/lib/test/vitest.js +3 -0
  115. package/lib/test/vitest.js.map +1 -1
  116. package/lib/util/snake-to-camel.d.ts +21 -0
  117. package/lib/util/snake-to-camel.d.ts.map +1 -0
  118. package/lib/util/snake-to-camel.js +34 -0
  119. package/lib/util/snake-to-camel.js.map +1 -0
  120. package/package.json +2 -2
  121. package/src/cloudflare/account-api-token.ts +23 -6
  122. package/src/cloudflare/ai-crawler.ts +89 -0
  123. package/src/cloudflare/ai-search-token.ts +324 -0
  124. package/src/cloudflare/ai-search.ts +952 -0
  125. package/src/cloudflare/api-error.ts +19 -0
  126. package/src/cloudflare/api.ts +1 -1
  127. package/src/cloudflare/auth.ts +17 -14
  128. package/src/cloudflare/bindings.ts +15 -2
  129. package/src/cloudflare/bound.ts +6 -3
  130. package/src/cloudflare/bucket-custom-domain.ts +4 -1
  131. package/src/cloudflare/bucket.ts +9 -2
  132. package/src/cloudflare/d1-database.ts +11 -4
  133. package/src/cloudflare/index.ts +4 -0
  134. package/src/cloudflare/miniflare/build-worker-options.ts +30 -18
  135. package/src/cloudflare/miniflare/miniflare-worker-proxy.ts +47 -2
  136. package/src/cloudflare/permission-groups.ts +6 -0
  137. package/src/cloudflare/vpc-service.ts +466 -0
  138. package/src/cloudflare/worker-metadata.ts +8 -0
  139. package/src/cloudflare/worker.ts +9 -0
  140. package/src/cloudflare/wrangler.json.ts +8 -0
  141. package/src/planetscale/api/sdk.gen.ts +2331 -987
  142. package/src/planetscale/api/types.gen.ts +8980 -4574
  143. package/src/planetscale/branch.ts +4 -4
  144. package/src/planetscale/database.ts +87 -46
  145. package/src/planetscale/default-role.ts +162 -0
  146. package/src/planetscale/index.ts +1 -0
  147. package/src/planetscale/organization.ts +1 -1
  148. package/src/planetscale/role.ts +3 -2
  149. package/src/planetscale/utils.ts +10 -10
  150. package/src/scope.ts +14 -5
  151. package/src/state/sqlite-state-store.ts +2 -0
  152. package/src/test/bun.ts +25 -0
  153. package/src/test/vitest.ts +33 -0
  154. package/src/util/snake-to-camel.ts +59 -0
  155. package/workers/tunnel-proxy.js +1 -1
@@ -0,0 +1,397 @@
1
+ import type { Context } from "../context.ts";
2
+ import { type SnakeToCamel } from "../util/snake-to-camel.ts";
3
+ import { AiSearchToken } from "./ai-search-token.ts";
4
+ import { type CloudflareApi, type CloudflareApiOptions } from "./api.ts";
5
+ import { type R2Bucket, type R2BucketJurisdiction } from "./bucket.ts";
6
+ interface BaseAiSearchProps extends CloudflareApiOptions {
7
+ /**
8
+ * Name of the AI Search instance
9
+ * @default `${app}-${stage}-${id}`
10
+ * @minLength 1
11
+ * @maxLength 32
12
+ */
13
+ name?: string;
14
+ /**
15
+ * Data source for indexing.
16
+ * Can be an R2Bucket directly, an R2 source config, or a web crawler config.
17
+ */
18
+ source: R2Bucket | AiSearchR2Source | AiSearchWebCrawlerSource;
19
+ /**
20
+ * Text generation model for AI responses
21
+ *
22
+ * @default "@cf/meta/llama-3.3-70b-instruct-fp8-fast"
23
+ */
24
+ aiSearchModel?: AiSearch.Model;
25
+ /**
26
+ * Embedding model for vectorization
27
+ *
28
+ * @default "@cf/baai/bge-m3"
29
+ */
30
+ embeddingModel?: AiSearch.EmbeddingModel;
31
+ /**
32
+ * Enable chunking of source documents
33
+ *
34
+ * @default true
35
+ */
36
+ chunk?: boolean;
37
+ /**
38
+ * Size of each chunk (minimum 64)
39
+ *
40
+ * @default 256
41
+ */
42
+ chunkSize?: number;
43
+ /**
44
+ * Overlap between chunks (0-30)
45
+ *
46
+ * @default 10
47
+ */
48
+ chunkOverlap?: number;
49
+ /**
50
+ * Maximum search results (1-50)
51
+ *
52
+ * @default 10
53
+ */
54
+ maxNumResults?: number;
55
+ /**
56
+ * Minimum match score (0-1)
57
+ *
58
+ * @default 0.4
59
+ */
60
+ scoreThreshold?: number;
61
+ /**
62
+ * Enable result reranking
63
+ *
64
+ * @default false
65
+ */
66
+ reranking?: boolean;
67
+ /**
68
+ * Reranking model
69
+ *
70
+ * @default "@cf/baai/bge-reranker-base"
71
+ */
72
+ rerankingModel?: AiSearch.RerankingModel;
73
+ /**
74
+ * Enable query rewriting for better retrieval
75
+ *
76
+ * @default false
77
+ */
78
+ rewriteQuery?: boolean;
79
+ /**
80
+ * Query rewriting model
81
+ *
82
+ * @default "@cf/meta/llama-3.3-70b-instruct-fp8-fast"
83
+ */
84
+ rewriteModel?: AiSearch.Model;
85
+ /**
86
+ * Enable similarity caching
87
+ *
88
+ * @default false
89
+ */
90
+ cache?: boolean;
91
+ /**
92
+ * Cache similarity threshold
93
+ *
94
+ * @default "close_enough"
95
+ */
96
+ cacheThreshold?: "super_strict_match" | "close_enough" | "flexible_friend" | "anything_goes";
97
+ /**
98
+ * Custom metadata
99
+ */
100
+ metadata?: Record<string, unknown>;
101
+ /**
102
+ * Whether to index the source documents when the AI Search instance is created
103
+ * @default true
104
+ */
105
+ indexOnCreate?: boolean;
106
+ /**
107
+ * Whether to delete the AI Search instance when removed from Alchemy
108
+ * @default true
109
+ */
110
+ delete?: boolean;
111
+ /**
112
+ * Whether to adopt the AI Search instance if it already exists
113
+ * @default false
114
+ */
115
+ adopt?: boolean;
116
+ }
117
+ export type AiSearchProps = BaseAiSearchProps & ({
118
+ token?: AiSearchToken;
119
+ } | {
120
+ tokenId: string;
121
+ });
122
+ export interface AiSearchR2Source {
123
+ /**
124
+ * Source type
125
+ */
126
+ type: "r2";
127
+ /**
128
+ * R2 bucket - can be bucket name string or R2Bucket resource
129
+ */
130
+ bucket: string | R2Bucket;
131
+ /**
132
+ * Jurisdiction for the R2 bucket
133
+ * @default "default"
134
+ */
135
+ jurisdiction?: R2BucketJurisdiction;
136
+ /**
137
+ * Prefix for included items from the R2 bucket
138
+ */
139
+ prefix?: string;
140
+ /**
141
+ * Path patterns to include in the R2 bucket (up to 10 patterns).
142
+ * Supports wildcards: `*` matches any characters except `/`, `**` matches any characters including `/`.
143
+ */
144
+ includePaths?: string[];
145
+ /**
146
+ * Path patterns to exclude from the R2 bucket (up to 10 patterns).
147
+ * Supports wildcards: `*` matches any characters except `/`, `**` matches any characters including `/`.
148
+ */
149
+ excludePaths?: string[];
150
+ }
151
+ export interface AiSearchWebCrawlerSource {
152
+ /**
153
+ * Source type
154
+ */
155
+ type: "web-crawler";
156
+ /**
157
+ * Domain to crawl. Must be a domain that is onboarded to your Cloudflare account
158
+ * (added as a zone with active nameservers pointing to Cloudflare).
159
+ *
160
+ * Can be provided as just the domain (e.g., "docs.example.com") or with protocol
161
+ * (e.g., "https://docs.example.com") - the protocol will be stripped automatically.
162
+ *
163
+ * @example "docs.example.com"
164
+ * @example "https://example.com" // Protocol will be stripped
165
+ */
166
+ domain: string;
167
+ /**
168
+ * Path patterns to include in crawling (up to 10 patterns).
169
+ * Supports wildcards: `*` matches any characters except `/`, `**` matches any characters including `/`.
170
+ */
171
+ includePaths?: string[];
172
+ /**
173
+ * Path patterns to exclude from crawling (up to 10 patterns).
174
+ * Supports wildcards: `*` matches any characters except `/`, `**` matches any characters including `/`.
175
+ */
176
+ excludePaths?: string[];
177
+ parseOptions?: {
178
+ include_headers?: Record<string, string>;
179
+ include_images?: boolean;
180
+ specific_sitemaps?: string[];
181
+ use_browser_rendering?: boolean;
182
+ };
183
+ parseType?: "sitemap" | "feed-rss";
184
+ storeOptions?: {
185
+ storage_id: string;
186
+ jurisdiction?: R2BucketJurisdiction;
187
+ storage_type?: "r2";
188
+ };
189
+ }
190
+ export type AiSearch = SnakeToCamel<AiSearch.ApiResponse> & {
191
+ /**
192
+ * The name of the AI Search instance (this is an alias for the `id` property)
193
+ */
194
+ name: string;
195
+ };
196
+ export declare const AiSearch: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context<AiSearch>, id: string, props: AiSearchProps) => Promise<AiSearch>);
197
+ export declare namespace AiSearch {
198
+ type Model = "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | (string & {});
199
+ type EmbeddingModel = "@cf/qwen/qwen3-embedding-0.6b" | "@cf/baai/bge-m3" | "@cf/baai/bge-large-en-v1.5" | "@cf/google/embeddinggemma-300m" | "google-ai-studio/gemini-embedding-001" | "openai/text-embedding-3-small" | "openai/text-embedding-3-large" | (string & {});
200
+ type RerankingModel = "@cf/baai/bge-reranker-base" | (string & {});
201
+ interface ApiPayload {
202
+ id: string;
203
+ source: string;
204
+ type: "r2" | "web-crawler";
205
+ ai_gateway_id?: string;
206
+ ai_search_model?: Model;
207
+ cache?: boolean;
208
+ cache_threshold?: "super_strict_match" | "close_enough" | "flexible_friend" | "anything_goes";
209
+ chunk?: boolean;
210
+ chunk_overlap?: number;
211
+ chunk_size?: number;
212
+ custom_metadata?: Array<{
213
+ data_type: "text" | "number" | "boolean";
214
+ /**
215
+ * @minLength 1
216
+ * @maxLength 64
217
+ */
218
+ field_name: string;
219
+ }>;
220
+ embedding_model?: EmbeddingModel;
221
+ hybrid_search_enabled?: boolean;
222
+ max_num_results?: number;
223
+ metadata?: {
224
+ created_from_aisearch_wizard?: boolean;
225
+ worker_domain?: string;
226
+ };
227
+ public_endpoint_params?: {
228
+ authorized_hosts?: string[];
229
+ chat_completions_endpoint?: {
230
+ disabled?: boolean;
231
+ };
232
+ enabled?: boolean;
233
+ mcp?: {
234
+ disabled?: boolean;
235
+ };
236
+ rate_limit?: {
237
+ /**
238
+ * Maximum: 3,600,000, Minimum: 60,000
239
+ */
240
+ period_ms?: number;
241
+ /**
242
+ * Minimum: 1
243
+ */
244
+ requests?: number;
245
+ technique?: "fixed" | "sliding";
246
+ };
247
+ search_endpoint?: {
248
+ disabled?: boolean;
249
+ };
250
+ };
251
+ reranking?: boolean;
252
+ reranking_model?: RerankingModel;
253
+ rewrite_model?: Model;
254
+ rewrite_query?: boolean;
255
+ /**
256
+ * Maximum: 1, Minimum: 0, Default: 0.4
257
+ */
258
+ score_threshold?: number;
259
+ source_params?: {
260
+ exclude_items?: string[];
261
+ include_items?: string[];
262
+ prefix?: string;
263
+ r2_jurisdiction?: string;
264
+ web_crawler?: {
265
+ /**
266
+ * Default: {"parse_type":"sitemap"}
267
+ */
268
+ parse_options?: {
269
+ include_headers?: Record<string, string>;
270
+ include_images?: boolean;
271
+ specific_sitemaps?: string[];
272
+ use_browser_rendering?: boolean;
273
+ };
274
+ parse_type?: "sitemap" | "feed-rss";
275
+ store_options?: {
276
+ storage_id: string;
277
+ r2_jurisdiction?: string;
278
+ storage_type?: "r2";
279
+ };
280
+ };
281
+ };
282
+ token_id?: string;
283
+ }
284
+ interface ApiResponse {
285
+ id: string;
286
+ account_id: string;
287
+ account_tag: string;
288
+ created_at: string;
289
+ internal_id: string;
290
+ modified_at: string;
291
+ source: string;
292
+ type: "r2" | "web-crawler";
293
+ vectorize_name: string;
294
+ ai_gateway_id?: string;
295
+ ai_search_model?: Model;
296
+ cache?: boolean;
297
+ cache_threshold?: "super_strict_match" | "close_enough" | "flexible_friend" | "anything_goes";
298
+ chunk?: boolean;
299
+ chunk_overlap?: number;
300
+ chunk_size?: number;
301
+ created_by?: string;
302
+ custom_metadata?: Array<{
303
+ data_type: "text" | "number" | "boolean";
304
+ field_name: string;
305
+ }>;
306
+ embedding_model?: EmbeddingModel;
307
+ enable?: boolean;
308
+ engine_version?: number;
309
+ hybrid_search_enabled?: boolean;
310
+ last_activity?: string;
311
+ max_num_results?: number;
312
+ metadata?: {
313
+ created_from_aisearch_wizard?: boolean;
314
+ worker_domain?: string;
315
+ };
316
+ modified_by?: string;
317
+ paused?: boolean;
318
+ public_endpoint_id?: string;
319
+ public_endpoint_params?: {
320
+ authorized_hosts?: string[];
321
+ chat_completions_endpoint?: {
322
+ disabled?: boolean;
323
+ };
324
+ enabled?: boolean;
325
+ mcp?: {
326
+ disabled?: boolean;
327
+ };
328
+ rate_limit?: {
329
+ period_ms?: number;
330
+ requests?: number;
331
+ technique?: "fixed" | "sliding";
332
+ };
333
+ search_endpoint?: {
334
+ disabled?: boolean;
335
+ };
336
+ };
337
+ reranking?: boolean;
338
+ reranking_model?: RerankingModel;
339
+ rewrite_model?: Model;
340
+ rewrite_query?: boolean;
341
+ score_threshold?: number;
342
+ source_params?: {
343
+ exclude_items?: string[];
344
+ include_items?: string[];
345
+ prefix?: string;
346
+ r2_jurisdiction?: string;
347
+ web_crawler?: {
348
+ parse_options?: {
349
+ include_headers?: Record<string, string>;
350
+ include_images?: boolean;
351
+ specific_sitemaps?: string[];
352
+ use_browser_rendering?: boolean;
353
+ };
354
+ parse_type?: "sitemap" | "feed-rss";
355
+ store_options?: {
356
+ storage_id: string;
357
+ r2_jurisdiction?: string;
358
+ storage_type?: "r2";
359
+ };
360
+ };
361
+ };
362
+ status?: "waiting" | "ready" | "indexing" | "error";
363
+ summarization?: boolean;
364
+ summarization_model?: "@cf/meta/llama-3.3-70b-instruct-fp8-fast" | "@cf/meta/llama-3.1-8b-instruct-fast" | "@cf/meta/llama-3.1-8b-instruct-fp8" | "@cf/meta/llama-4-scout-17b-16e-instruct" | "@cf/qwen/qwen3-30b-a3b-fp8" | "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b" | "@cf/moonshotai/kimi-k2-instruct" | "anthropic/claude-3-7-sonnet" | "anthropic/claude-sonnet-4" | "anthropic/claude-opus-4" | "anthropic/claude-3-5-haiku" | "cerebras/qwen-3-235b-a22b-instruct" | "cerebras/qwen-3-235b-a22b-thinking" | "cerebras/llama-3.3-70b" | "cerebras/llama-4-maverick-17b-128e-instruct" | "cerebras/llama-4-scout-17b-16e-instruct" | "cerebras/gpt-oss-120b" | "google-ai-studio/gemini-2.5-flash" | "google-ai-studio/gemini-2.5-pro" | "grok/grok-4" | "groq/llama-3.3-70b-versatile" | "groq/llama-3.1-8b-instant" | "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | (string & {});
365
+ system_prompt_ai_search?: string;
366
+ system_prompt_index_summarization?: string;
367
+ system_prompt_rewrite_query?: string;
368
+ token_id?: string;
369
+ vectorize_active_namespace?: string;
370
+ }
371
+ }
372
+ export declare function listAiSearchInstances(api: CloudflareApi): Promise<AiSearch.ApiResponse[]>;
373
+ export declare function createAiSearchInstance(api: CloudflareApi, payload: AiSearch.ApiPayload): Promise<AiSearch.ApiResponse>;
374
+ export declare function getAiSearchInstance(api: CloudflareApi, id: string): Promise<AiSearch.ApiResponse>;
375
+ export declare function updateAiSearchInstance(api: CloudflareApi, id: string, payload: AiSearch.ApiPayload): Promise<AiSearch.ApiResponse>;
376
+ export declare function deleteAiSearchInstance(api: CloudflareApi, id: string): Promise<void>;
377
+ interface AiSearchJobApiResponse {
378
+ id: string;
379
+ source: "user" | "schedule";
380
+ end_reason: string | null;
381
+ ended_at: string | null;
382
+ last_seen_at: string | null;
383
+ started_at: string | null;
384
+ }
385
+ export declare function listAiSearchJobs(api: CloudflareApi, aiSearchId: string): Promise<AiSearchJobApiResponse[]>;
386
+ export declare function createAiSearchJob(api: CloudflareApi, aiSearchId: string): Promise<AiSearchJobApiResponse>;
387
+ export declare function getAiSearchJob(api: CloudflareApi, aiSearchId: string, jobId: string): Promise<AiSearchJobApiResponse>;
388
+ interface AiSearchJobLogItem {
389
+ id: number;
390
+ created_at: number;
391
+ message: string;
392
+ message_type: number;
393
+ }
394
+ export declare function listAiSearchJobLogs(api: CloudflareApi, aiSearchId: string, jobId: string): Promise<AiSearchJobLogItem[]>;
395
+ export declare function runAiSearchJob(api: CloudflareApi, aiSearchId: string, log: (message: string) => void): Promise<void>;
396
+ export {};
397
+ //# sourceMappingURL=ai-search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-search.d.ts","sourceRoot":"","sources":["../../src/cloudflare/ai-search.ts"],"names":[],"mappings":"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"}