ai-functions 0.2.19 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +5 -0
- package/.turbo/turbo-test.log +105 -0
- package/README.md +232 -37
- package/TODO.md +138 -0
- package/dist/ai-promise.d.ts +219 -0
- package/dist/ai-promise.d.ts.map +1 -0
- package/dist/ai-promise.js +610 -0
- package/dist/ai-promise.js.map +1 -0
- package/dist/ai.d.ts +285 -0
- package/dist/ai.d.ts.map +1 -0
- package/dist/ai.js +842 -0
- package/dist/ai.js.map +1 -0
- package/dist/batch/anthropic.d.ts +23 -0
- package/dist/batch/anthropic.d.ts.map +1 -0
- package/dist/batch/anthropic.js +257 -0
- package/dist/batch/anthropic.js.map +1 -0
- package/dist/batch/bedrock.d.ts +64 -0
- package/dist/batch/bedrock.d.ts.map +1 -0
- package/dist/batch/bedrock.js +586 -0
- package/dist/batch/bedrock.js.map +1 -0
- package/dist/batch/cloudflare.d.ts +37 -0
- package/dist/batch/cloudflare.d.ts.map +1 -0
- package/dist/batch/cloudflare.js +289 -0
- package/dist/batch/cloudflare.js.map +1 -0
- package/dist/batch/google.d.ts +41 -0
- package/dist/batch/google.d.ts.map +1 -0
- package/dist/batch/google.js +360 -0
- package/dist/batch/google.js.map +1 -0
- package/dist/batch/index.d.ts +31 -0
- package/dist/batch/index.d.ts.map +1 -0
- package/dist/batch/index.js +31 -0
- package/dist/batch/index.js.map +1 -0
- package/dist/batch/memory.d.ts +44 -0
- package/dist/batch/memory.d.ts.map +1 -0
- package/dist/batch/memory.js +188 -0
- package/dist/batch/memory.js.map +1 -0
- package/dist/batch/openai.d.ts +37 -0
- package/dist/batch/openai.d.ts.map +1 -0
- package/dist/batch/openai.js +403 -0
- package/dist/batch/openai.js.map +1 -0
- package/dist/batch-map.d.ts +125 -0
- package/dist/batch-map.d.ts.map +1 -0
- package/dist/batch-map.js +406 -0
- package/dist/batch-map.js.map +1 -0
- package/dist/batch-queue.d.ts +273 -0
- package/dist/batch-queue.d.ts.map +1 -0
- package/dist/batch-queue.js +271 -0
- package/dist/batch-queue.js.map +1 -0
- package/dist/context.d.ts +133 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +267 -0
- package/dist/context.js.map +1 -0
- package/dist/embeddings.d.ts +123 -0
- package/dist/embeddings.d.ts.map +1 -0
- package/dist/embeddings.js +170 -0
- package/dist/embeddings.js.map +1 -0
- package/dist/eval/index.d.ts +8 -0
- package/dist/eval/index.d.ts.map +1 -0
- package/dist/eval/index.js +8 -0
- package/dist/eval/index.js.map +1 -0
- package/dist/eval/models.d.ts +66 -0
- package/dist/eval/models.d.ts.map +1 -0
- package/dist/eval/models.js +120 -0
- package/dist/eval/models.js.map +1 -0
- package/dist/eval/runner.d.ts +64 -0
- package/dist/eval/runner.d.ts.map +1 -0
- package/dist/eval/runner.js +148 -0
- package/dist/eval/runner.js.map +1 -0
- package/dist/generate.d.ts +168 -0
- package/dist/generate.d.ts.map +1 -0
- package/dist/generate.js +174 -0
- package/dist/generate.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +54 -0
- package/dist/index.js.map +1 -0
- package/dist/primitives.d.ts +292 -0
- package/dist/primitives.d.ts.map +1 -0
- package/dist/primitives.js +471 -0
- package/dist/primitives.js.map +1 -0
- package/dist/providers/cloudflare.d.ts +9 -0
- package/dist/providers/cloudflare.d.ts.map +1 -0
- package/dist/providers/cloudflare.js +9 -0
- package/dist/providers/cloudflare.js.map +1 -0
- package/dist/providers/index.d.ts +9 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +9 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/schema.d.ts +54 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +109 -0
- package/dist/schema.js.map +1 -0
- package/dist/template.d.ts +73 -0
- package/dist/template.d.ts.map +1 -0
- package/dist/template.js +129 -0
- package/dist/template.js.map +1 -0
- package/dist/types.d.ts +481 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/evalite.config.ts +19 -0
- package/evals/README.md +212 -0
- package/evals/classification.eval.ts +108 -0
- package/evals/marketing.eval.ts +370 -0
- package/evals/math.eval.ts +94 -0
- package/evals/run-evals.ts +166 -0
- package/evals/structured-output.eval.ts +143 -0
- package/evals/writing.eval.ts +117 -0
- package/examples/batch-blog-posts.ts +160 -0
- package/package.json +59 -43
- package/src/ai-promise.ts +784 -0
- package/src/ai.ts +1183 -0
- package/src/batch/anthropic.ts +375 -0
- package/src/batch/bedrock.ts +801 -0
- package/src/batch/cloudflare.ts +421 -0
- package/src/batch/google.ts +491 -0
- package/src/batch/index.ts +31 -0
- package/src/batch/memory.ts +253 -0
- package/src/batch/openai.ts +557 -0
- package/src/batch-map.ts +534 -0
- package/src/batch-queue.ts +493 -0
- package/src/context.ts +332 -0
- package/src/embeddings.ts +244 -0
- package/src/eval/index.ts +8 -0
- package/src/eval/models.ts +158 -0
- package/src/eval/runner.ts +217 -0
- package/src/generate.ts +245 -0
- package/src/index.ts +154 -0
- package/src/primitives.ts +612 -0
- package/src/providers/cloudflare.ts +15 -0
- package/src/providers/index.ts +14 -0
- package/src/schema.ts +147 -0
- package/src/template.ts +209 -0
- package/src/types.ts +540 -0
- package/test/README.md +105 -0
- package/test/ai-proxy.test.ts +192 -0
- package/test/async-iterators.test.ts +327 -0
- package/test/batch-background.test.ts +482 -0
- package/test/batch-blog-posts.test.ts +387 -0
- package/test/blog-generation.test.ts +510 -0
- package/test/browse-read.test.ts +611 -0
- package/test/core-functions.test.ts +694 -0
- package/test/decide.test.ts +393 -0
- package/test/define.test.ts +274 -0
- package/test/e2e-bedrock-manual.ts +163 -0
- package/test/e2e-bedrock.test.ts +191 -0
- package/test/e2e-flex-gateway.ts +157 -0
- package/test/e2e-flex-manual.ts +183 -0
- package/test/e2e-flex.test.ts +209 -0
- package/test/e2e-google-manual.ts +178 -0
- package/test/e2e-google.test.ts +216 -0
- package/test/embeddings.test.ts +284 -0
- package/test/evals/define-function.eval.test.ts +379 -0
- package/test/evals/primitives.eval.test.ts +384 -0
- package/test/function-types.test.ts +492 -0
- package/test/generate-core.test.ts +319 -0
- package/test/generate.test.ts +163 -0
- package/test/implicit-batch.test.ts +422 -0
- package/test/schema.test.ts +109 -0
- package/test/tagged-templates.test.ts +302 -0
- package/tsconfig.json +8 -6
- package/vitest.config.ts +42 -0
- package/LICENSE +0 -21
- package/db/cache.ts +0 -6
- package/db/mongo.ts +0 -75
- package/dist/mjs/db/cache.d.ts +0 -1
- package/dist/mjs/db/cache.js +0 -5
- package/dist/mjs/db/mongo.d.ts +0 -31
- package/dist/mjs/db/mongo.js +0 -48
- package/dist/mjs/examples/data.d.ts +0 -1105
- package/dist/mjs/examples/data.js +0 -1105
- package/dist/mjs/functions/ai.d.ts +0 -20
- package/dist/mjs/functions/ai.js +0 -83
- package/dist/mjs/functions/ai.test.d.ts +0 -1
- package/dist/mjs/functions/ai.test.js +0 -29
- package/dist/mjs/functions/gpt.d.ts +0 -4
- package/dist/mjs/functions/gpt.js +0 -10
- package/dist/mjs/functions/list.d.ts +0 -7
- package/dist/mjs/functions/list.js +0 -72
- package/dist/mjs/index.d.ts +0 -3
- package/dist/mjs/index.js +0 -3
- package/dist/mjs/queue/kafka.d.ts +0 -0
- package/dist/mjs/queue/kafka.js +0 -1
- package/dist/mjs/queue/memory.d.ts +0 -0
- package/dist/mjs/queue/memory.js +0 -1
- package/dist/mjs/queue/mongo.d.ts +0 -30
- package/dist/mjs/queue/mongo.js +0 -42
- package/dist/mjs/streams/kafka.d.ts +0 -0
- package/dist/mjs/streams/kafka.js +0 -1
- package/dist/mjs/streams/memory.d.ts +0 -0
- package/dist/mjs/streams/memory.js +0 -1
- package/dist/mjs/streams/mongo.d.ts +0 -0
- package/dist/mjs/streams/mongo.js +0 -1
- package/dist/mjs/streams/types.d.ts +0 -0
- package/dist/mjs/streams/types.js +0 -1
- package/dist/mjs/types.d.ts +0 -11
- package/dist/mjs/types.js +0 -1
- package/dist/mjs/utils/completion.d.ts +0 -9
- package/dist/mjs/utils/completion.js +0 -20
- package/dist/mjs/utils/schema.d.ts +0 -10
- package/dist/mjs/utils/schema.js +0 -72
- package/dist/mjs/utils/schema.test.d.ts +0 -1
- package/dist/mjs/utils/schema.test.js +0 -60
- package/dist/mjs/utils/state.d.ts +0 -1
- package/dist/mjs/utils/state.js +0 -19
- package/examples/data.ts +0 -1105
- package/fixup +0 -11
- package/functions/ai.test.ts +0 -41
- package/functions/ai.ts +0 -115
- package/functions/gpt.ts +0 -12
- package/functions/list.ts +0 -84
- package/index.ts +0 -3
- package/queue/kafka.ts +0 -0
- package/queue/memory.ts +0 -0
- package/queue/mongo.ts +0 -88
- package/streams/kafka.ts +0 -0
- package/streams/memory.ts +0 -0
- package/streams/mongo.ts +0 -0
- package/streams/types.ts +0 -0
- package/tsconfig-backup.json +0 -105
- package/tsconfig-base.json +0 -26
- package/tsconfig-cjs.json +0 -8
- package/types.ts +0 -12
- package/utils/completion.ts +0 -28
- package/utils/schema.test.ts +0 -69
- package/utils/schema.ts +0 -74
- package/utils/state.ts +0 -23
package/src/index.ts
ADDED
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ai-functions - Core AI primitives for building intelligent applications
|
|
3
|
+
*
|
|
4
|
+
* This is the foundational package that all other primitives depend on.
|
|
5
|
+
* It provides:
|
|
6
|
+
* - RPC primitives via rpc.do
|
|
7
|
+
* - AI function types and interfaces
|
|
8
|
+
* - Core AI() and ai() constructors
|
|
9
|
+
* - Embedding utilities from AI SDK
|
|
10
|
+
* - Cloudflare Workers AI provider (default for embeddings)
|
|
11
|
+
* - Tagged template literal support for all functions
|
|
12
|
+
* - Async iterator support for list/extract
|
|
13
|
+
*
|
|
14
|
+
* @packageDocumentation
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
// Re-export RPC primitives from rpc.do
|
|
18
|
+
export * from 'rpc.do'
|
|
19
|
+
|
|
20
|
+
// Export AI function types and interfaces
|
|
21
|
+
export * from './types.js'
|
|
22
|
+
export * from './ai.js'
|
|
23
|
+
|
|
24
|
+
// Export embedding utilities
|
|
25
|
+
export * from './embeddings.js'
|
|
26
|
+
|
|
27
|
+
// Export generation functions with smart model routing
|
|
28
|
+
export { generateObject, generateText, streamObject, streamText } from './generate.js'
|
|
29
|
+
|
|
30
|
+
// Export simplified schema helper
|
|
31
|
+
export { schema, type SimpleSchema } from './schema.js'
|
|
32
|
+
|
|
33
|
+
// Export providers
|
|
34
|
+
export * from './providers/index.js'
|
|
35
|
+
|
|
36
|
+
// Export template utilities
|
|
37
|
+
export {
|
|
38
|
+
parseTemplate,
|
|
39
|
+
createTemplateFunction,
|
|
40
|
+
createChainablePromise,
|
|
41
|
+
createStreamableList,
|
|
42
|
+
withBatch,
|
|
43
|
+
type FunctionOptions,
|
|
44
|
+
type TemplateFunction,
|
|
45
|
+
type BatchableFunction,
|
|
46
|
+
type StreamableList,
|
|
47
|
+
type ChainablePromise,
|
|
48
|
+
} from './template.js'
|
|
49
|
+
|
|
50
|
+
// Export AIPromise utilities for promise pipelining
|
|
51
|
+
export {
|
|
52
|
+
AIPromise,
|
|
53
|
+
isAIPromise,
|
|
54
|
+
getRawPromise,
|
|
55
|
+
createTextPromise,
|
|
56
|
+
createObjectPromise,
|
|
57
|
+
createListPromise,
|
|
58
|
+
createListsPromise,
|
|
59
|
+
createBooleanPromise,
|
|
60
|
+
createExtractPromise,
|
|
61
|
+
createAITemplateFunction,
|
|
62
|
+
parseTemplateWithDependencies,
|
|
63
|
+
AI_PROMISE_SYMBOL,
|
|
64
|
+
RAW_PROMISE_SYMBOL,
|
|
65
|
+
type AIPromiseOptions,
|
|
66
|
+
} from './ai-promise.js'
|
|
67
|
+
|
|
68
|
+
// Export AI primitives
|
|
69
|
+
export {
|
|
70
|
+
// Core generate primitive
|
|
71
|
+
generate,
|
|
72
|
+
type GenerateType,
|
|
73
|
+
type GenerateOptions,
|
|
74
|
+
|
|
75
|
+
// Generative functions
|
|
76
|
+
ai as aiPrompt, // Renamed to avoid conflict with AIProxy from ai.ts
|
|
77
|
+
write,
|
|
78
|
+
code,
|
|
79
|
+
list,
|
|
80
|
+
lists,
|
|
81
|
+
extract,
|
|
82
|
+
summarize,
|
|
83
|
+
is,
|
|
84
|
+
diagram,
|
|
85
|
+
slides,
|
|
86
|
+
image,
|
|
87
|
+
video,
|
|
88
|
+
|
|
89
|
+
// Agentic functions
|
|
90
|
+
do,
|
|
91
|
+
research,
|
|
92
|
+
|
|
93
|
+
// Web functions
|
|
94
|
+
read,
|
|
95
|
+
browse,
|
|
96
|
+
|
|
97
|
+
// Decision functions
|
|
98
|
+
decide,
|
|
99
|
+
|
|
100
|
+
// Human-in-the-loop functions
|
|
101
|
+
ask,
|
|
102
|
+
approve,
|
|
103
|
+
review,
|
|
104
|
+
type HumanOptions,
|
|
105
|
+
type HumanResult,
|
|
106
|
+
} from './primitives.js'
|
|
107
|
+
|
|
108
|
+
// Export batch processing
|
|
109
|
+
export {
|
|
110
|
+
BatchQueue,
|
|
111
|
+
createBatch,
|
|
112
|
+
withBatch as withBatchQueue,
|
|
113
|
+
registerBatchAdapter,
|
|
114
|
+
getBatchAdapter,
|
|
115
|
+
isBatchMode,
|
|
116
|
+
deferToBatch,
|
|
117
|
+
BATCH_MODE_SYMBOL,
|
|
118
|
+
type BatchMode as BatchQueueMode,
|
|
119
|
+
type BatchProvider,
|
|
120
|
+
type BatchStatus,
|
|
121
|
+
type BatchItem,
|
|
122
|
+
type BatchJob,
|
|
123
|
+
type BatchResult,
|
|
124
|
+
type BatchSubmitResult,
|
|
125
|
+
type BatchAdapter,
|
|
126
|
+
type BatchQueueOptions,
|
|
127
|
+
type DeferredOptions,
|
|
128
|
+
} from './batch-queue.js'
|
|
129
|
+
|
|
130
|
+
// Export batch map for automatic batching
|
|
131
|
+
export {
|
|
132
|
+
BatchMapPromise,
|
|
133
|
+
createBatchMap,
|
|
134
|
+
isBatchMapPromise,
|
|
135
|
+
BATCH_MAP_SYMBOL,
|
|
136
|
+
type CapturedOperation,
|
|
137
|
+
type BatchMapOptions,
|
|
138
|
+
} from './batch-map.js'
|
|
139
|
+
|
|
140
|
+
// Export execution context
|
|
141
|
+
export {
|
|
142
|
+
configure,
|
|
143
|
+
getContext,
|
|
144
|
+
withContext,
|
|
145
|
+
getGlobalContext,
|
|
146
|
+
resetContext,
|
|
147
|
+
getModel,
|
|
148
|
+
getProvider,
|
|
149
|
+
getBatchMode,
|
|
150
|
+
getBatchThreshold,
|
|
151
|
+
shouldUseBatchAPI,
|
|
152
|
+
type ExecutionContext,
|
|
153
|
+
type BatchMode,
|
|
154
|
+
} from './context.js'
|