ai-functions 2.1.1 → 2.3.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 +1 -4
- package/CHANGELOG.md +68 -1
- package/README.md +397 -157
- package/dist/ai-promise.d.ts +50 -3
- package/dist/ai-promise.d.ts.map +1 -1
- package/dist/ai-promise.js +410 -51
- package/dist/ai-promise.js.map +1 -1
- package/dist/ai-schemas.d.ts +56 -0
- package/dist/ai-schemas.d.ts.map +1 -0
- package/dist/ai-schemas.js +53 -0
- package/dist/ai-schemas.js.map +1 -0
- package/dist/ai.d.ts +16 -242
- package/dist/ai.d.ts.map +1 -1
- package/dist/ai.js +54 -837
- package/dist/ai.js.map +1 -1
- package/dist/batch/anthropic.d.ts +6 -4
- package/dist/batch/anthropic.d.ts.map +1 -1
- package/dist/batch/anthropic.js +83 -145
- package/dist/batch/anthropic.js.map +1 -1
- package/dist/batch/bedrock.d.ts +8 -30
- package/dist/batch/bedrock.d.ts.map +1 -1
- package/dist/batch/bedrock.js +155 -338
- package/dist/batch/bedrock.js.map +1 -1
- package/dist/batch/cloudflare.d.ts +8 -20
- package/dist/batch/cloudflare.d.ts.map +1 -1
- package/dist/batch/cloudflare.js +68 -189
- package/dist/batch/cloudflare.js.map +1 -1
- package/dist/batch/google.d.ts +6 -20
- package/dist/batch/google.d.ts.map +1 -1
- package/dist/batch/google.js +70 -238
- package/dist/batch/google.js.map +1 -1
- package/dist/batch/index.d.ts +4 -1
- package/dist/batch/index.d.ts.map +1 -1
- package/dist/batch/index.js +4 -1
- package/dist/batch/index.js.map +1 -1
- package/dist/batch/memory.d.ts +1 -1
- package/dist/batch/memory.d.ts.map +1 -1
- package/dist/batch/memory.js +14 -10
- package/dist/batch/memory.js.map +1 -1
- package/dist/batch/openai.d.ts +11 -14
- package/dist/batch/openai.d.ts.map +1 -1
- package/dist/batch/openai.js +52 -156
- package/dist/batch/openai.js.map +1 -1
- package/dist/batch/provider.d.ts +111 -0
- package/dist/batch/provider.d.ts.map +1 -0
- package/dist/batch/provider.js +233 -0
- package/dist/batch/provider.js.map +1 -0
- package/dist/batch-map.d.ts.map +1 -1
- package/dist/batch-map.js +23 -17
- package/dist/batch-map.js.map +1 -1
- package/dist/batch-queue.d.ts +65 -0
- package/dist/batch-queue.d.ts.map +1 -1
- package/dist/batch-queue.js +169 -14
- package/dist/batch-queue.js.map +1 -1
- package/dist/budget.d.ts +272 -0
- package/dist/budget.d.ts.map +1 -0
- package/dist/budget.js +513 -0
- package/dist/budget.js.map +1 -0
- package/dist/cache.d.ts +295 -0
- package/dist/cache.d.ts.map +1 -0
- package/dist/cache.js +433 -0
- package/dist/cache.js.map +1 -0
- package/dist/context.d.ts +42 -8
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +64 -62
- package/dist/context.js.map +1 -1
- package/dist/digital-objects-registry.d.ts +229 -0
- package/dist/digital-objects-registry.d.ts.map +1 -0
- package/dist/digital-objects-registry.js +617 -0
- package/dist/digital-objects-registry.js.map +1 -0
- package/dist/embeddings.d.ts +2 -2
- package/dist/embeddings.d.ts.map +1 -1
- package/dist/errors.d.ts +22 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +35 -0
- package/dist/errors.js.map +1 -0
- package/dist/eval/runner.d.ts +10 -1
- package/dist/eval/runner.d.ts.map +1 -1
- package/dist/eval/runner.js +41 -35
- package/dist/eval/runner.js.map +1 -1
- package/dist/eval-log/in-memory.d.ts +34 -0
- package/dist/eval-log/in-memory.d.ts.map +1 -0
- package/dist/eval-log/in-memory.js +84 -0
- package/dist/eval-log/in-memory.js.map +1 -0
- package/dist/eval-log/index.d.ts +29 -0
- package/dist/eval-log/index.d.ts.map +1 -0
- package/dist/eval-log/index.js +39 -0
- package/dist/eval-log/index.js.map +1 -0
- package/dist/eval-log/types.d.ts +101 -0
- package/dist/eval-log/types.d.ts.map +1 -0
- package/dist/eval-log/types.js +16 -0
- package/dist/eval-log/types.js.map +1 -0
- package/dist/function-registry.d.ts +116 -0
- package/dist/function-registry.d.ts.map +1 -0
- package/dist/function-registry.js +546 -0
- package/dist/function-registry.js.map +1 -0
- package/dist/generate.d.ts +9 -3
- package/dist/generate.d.ts.map +1 -1
- package/dist/generate.js +18 -22
- package/dist/generate.js.map +1 -1
- package/dist/index.d.ts +35 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +89 -42
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +118 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +187 -0
- package/dist/logger.js.map +1 -0
- package/dist/middleware/budget.d.ts +84 -0
- package/dist/middleware/budget.d.ts.map +1 -0
- package/dist/middleware/budget.js +110 -0
- package/dist/middleware/budget.js.map +1 -0
- package/dist/middleware/cache.d.ts +103 -0
- package/dist/middleware/cache.d.ts.map +1 -0
- package/dist/middleware/cache.js +228 -0
- package/dist/middleware/cache.js.map +1 -0
- package/dist/middleware/embed-cache.d.ts +99 -0
- package/dist/middleware/embed-cache.d.ts.map +1 -0
- package/dist/middleware/embed-cache.js +128 -0
- package/dist/middleware/embed-cache.js.map +1 -0
- package/dist/middleware/index.d.ts +11 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +11 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/middleware/trace.d.ts +103 -0
- package/dist/middleware/trace.d.ts.map +1 -0
- package/dist/middleware/trace.js +176 -0
- package/dist/middleware/trace.js.map +1 -0
- package/dist/primitives.d.ts +120 -1
- package/dist/primitives.d.ts.map +1 -1
- package/dist/primitives.js +398 -26
- package/dist/primitives.js.map +1 -1
- package/dist/retry.d.ts +368 -0
- package/dist/retry.d.ts.map +1 -0
- package/dist/retry.js +646 -0
- package/dist/retry.js.map +1 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +2 -10
- package/dist/schema.js.map +1 -1
- package/dist/telemetry.d.ts +128 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +285 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/template.d.ts.map +1 -1
- package/dist/template.js +6 -1
- package/dist/template.js.map +1 -1
- package/dist/tool-orchestration.d.ts +453 -0
- package/dist/tool-orchestration.d.ts.map +1 -0
- package/dist/tool-orchestration.js +763 -0
- package/dist/tool-orchestration.js.map +1 -0
- package/dist/type-guards.d.ts +28 -0
- package/dist/type-guards.d.ts.map +1 -0
- package/dist/type-guards.js +29 -0
- package/dist/type-guards.js.map +1 -0
- package/dist/types.d.ts +135 -17
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +36 -1
- package/dist/types.js.map +1 -1
- package/dist/wrap-for-v3.d.ts +80 -0
- package/dist/wrap-for-v3.d.ts.map +1 -0
- package/dist/wrap-for-v3.js +89 -0
- package/dist/wrap-for-v3.js.map +1 -0
- package/examples/00-quickstart.ts +232 -0
- package/examples/01-rag-chatbot.ts +212 -0
- package/examples/02-multi-agent-research.ts +290 -0
- package/examples/03-email-classification.ts +379 -0
- package/examples/04-content-moderation.ts +400 -0
- package/examples/05-document-extraction.ts +455 -0
- package/examples/06-streaming-chat-nextjs.ts +437 -0
- package/examples/07-cloudflare-worker.ts +483 -0
- package/examples/08-batch-processing.ts +491 -0
- package/examples/09-budget-constrained.ts +527 -0
- package/examples/10-tool-orchestration.ts +565 -0
- package/examples/11-retry-resilience.ts +403 -0
- package/examples/12-caching-strategies.ts +422 -0
- package/examples/README.md +145 -0
- package/package.json +10 -6
- package/src/ai-promise.ts +528 -99
- package/src/ai-schemas.ts +122 -0
- package/src/ai.ts +69 -1153
- package/src/batch/anthropic.ts +96 -161
- package/src/batch/bedrock.ts +203 -454
- package/src/batch/cloudflare.ts +99 -282
- package/src/batch/google.ts +91 -297
- package/src/batch/index.ts +4 -1
- package/src/batch/memory.ts +15 -10
- package/src/batch/openai.ts +65 -193
- package/src/batch/provider.ts +336 -0
- package/src/batch-map.ts +29 -24
- package/src/batch-queue.ts +200 -11
- package/src/budget.ts +740 -0
- package/src/cache.ts +681 -0
- package/src/context.ts +122 -76
- package/src/digital-objects-registry.ts +750 -0
- package/src/errors.ts +37 -0
- package/src/eval/runner.ts +63 -38
- package/src/eval-log/in-memory.ts +90 -0
- package/src/eval-log/index.ts +46 -0
- package/src/eval-log/types.ts +110 -0
- package/src/function-registry.ts +671 -0
- package/src/generate.ts +33 -33
- package/src/index.ts +325 -49
- package/src/logger.ts +232 -0
- package/src/middleware/budget.ts +171 -0
- package/src/middleware/cache.ts +299 -0
- package/src/middleware/embed-cache.ts +195 -0
- package/src/middleware/index.ts +23 -0
- package/src/middleware/trace.ts +248 -0
- package/src/primitives.ts +589 -62
- package/src/retry.ts +902 -0
- package/src/schema.ts +8 -17
- package/src/telemetry.ts +403 -0
- package/src/template.ts +8 -4
- package/src/tool-orchestration.ts +1173 -0
- package/src/type-guards.ts +31 -0
- package/src/types.ts +164 -25
- package/src/wrap-for-v3.ts +105 -0
- package/test/ai-promise.test.ts +1080 -0
- package/test/ai-proxy.test.ts +1 -1
- package/test/backward-compat.test.ts +147 -0
- package/test/batch-autosubmit-errors.test.ts +610 -0
- package/test/batch-blog-posts.test.ts +87 -129
- package/test/budget-tracking.test.ts +800 -0
- package/test/cache.test.ts +712 -0
- package/test/context-isolation.test.ts +687 -0
- package/test/core-functions.test.ts +183 -579
- package/test/decide.test.ts +154 -322
- package/test/define.test.ts +211 -8
- package/test/digital-objects-registry.test.ts +760 -0
- package/test/embedding-cache-middleware.test.ts +140 -0
- package/test/evals/deterministic.eval.test.ts +376 -0
- package/test/generate-core.test.ts +140 -229
- package/test/implicit-batch.test.ts +22 -65
- package/test/json-parse-error-handling.test.ts +463 -0
- package/test/retry-policy-integration.test.ts +117 -0
- package/test/retry.test.ts +1016 -0
- package/test/schema.test.ts +55 -19
- package/test/streaming.test.ts +316 -0
- package/test/template.test.ts +1164 -0
- package/test/tool-orchestration.test.ts +1040 -0
- package/test/wrap-for-v3.test.ts +612 -0
- package/vitest.config.js +6 -0
- package/vitest.config.ts +20 -0
- package/dist/rpc/auth.d.ts +0 -69
- package/dist/rpc/auth.d.ts.map +0 -1
- package/dist/rpc/auth.js +0 -136
- package/dist/rpc/auth.js.map +0 -1
- package/dist/rpc/client.d.ts +0 -62
- package/dist/rpc/client.d.ts.map +0 -1
- package/dist/rpc/client.js +0 -103
- package/dist/rpc/client.js.map +0 -1
- package/dist/rpc/deferred.d.ts +0 -60
- package/dist/rpc/deferred.d.ts.map +0 -1
- package/dist/rpc/deferred.js +0 -96
- package/dist/rpc/deferred.js.map +0 -1
- package/dist/rpc/index.d.ts +0 -22
- package/dist/rpc/index.d.ts.map +0 -1
- package/dist/rpc/index.js +0 -38
- package/dist/rpc/index.js.map +0 -1
- package/dist/rpc/local.d.ts +0 -42
- package/dist/rpc/local.d.ts.map +0 -1
- package/dist/rpc/local.js +0 -50
- package/dist/rpc/local.js.map +0 -1
- package/dist/rpc/server.d.ts +0 -165
- package/dist/rpc/server.d.ts.map +0 -1
- package/dist/rpc/server.js +0 -405
- package/dist/rpc/server.js.map +0 -1
- package/dist/rpc/session.d.ts +0 -32
- package/dist/rpc/session.d.ts.map +0 -1
- package/dist/rpc/session.js +0 -43
- package/dist/rpc/session.js.map +0 -1
- package/dist/rpc/transport.d.ts +0 -306
- package/dist/rpc/transport.d.ts.map +0 -1
- package/dist/rpc/transport.js +0 -731
- package/dist/rpc/transport.js.map +0 -1
- package/src/batch/anthropic.js +0 -256
- package/src/batch/bedrock.js +0 -584
- package/src/batch/cloudflare.js +0 -287
- package/src/batch/google.js +0 -359
- package/src/batch/index.js +0 -30
- package/src/batch/memory.js +0 -187
- package/src/batch/openai.js +0 -402
- package/src/eval/index.js +0 -7
- package/src/eval/models.js +0 -119
- package/src/eval/runner.js +0 -147
- package/test/schema.test.js +0 -96
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-orchestration.js","sourceRoot":"","sources":["../src/tool-orchestration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type Guards for AI Functions
|
|
3
|
+
*
|
|
4
|
+
* Shared type guard utilities used across AI packages.
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
*/
|
|
8
|
+
import type { ZodTypeAny } from 'zod';
|
|
9
|
+
/**
|
|
10
|
+
* Check if value is a Zod schema
|
|
11
|
+
*
|
|
12
|
+
* Uses duck-typing to detect Zod schemas by checking for the
|
|
13
|
+
* `_def` property (internal Zod schema definition) and `parse` method.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* import { isZodSchema } from 'ai-functions'
|
|
18
|
+
* import { z } from 'zod'
|
|
19
|
+
*
|
|
20
|
+
* const schema = z.object({ name: z.string() })
|
|
21
|
+
* if (isZodSchema(schema)) {
|
|
22
|
+
* // TypeScript knows schema is ZodTypeAny
|
|
23
|
+
* schema.parse({ name: 'test' })
|
|
24
|
+
* }
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare function isZodSchema(value: unknown): value is ZodTypeAny;
|
|
28
|
+
//# sourceMappingURL=type-guards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-guards.d.ts","sourceRoot":"","sources":["../src/type-guards.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAErC;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAE/D"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type Guards for AI Functions
|
|
3
|
+
*
|
|
4
|
+
* Shared type guard utilities used across AI packages.
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Check if value is a Zod schema
|
|
10
|
+
*
|
|
11
|
+
* Uses duck-typing to detect Zod schemas by checking for the
|
|
12
|
+
* `_def` property (internal Zod schema definition) and `parse` method.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* import { isZodSchema } from 'ai-functions'
|
|
17
|
+
* import { z } from 'zod'
|
|
18
|
+
*
|
|
19
|
+
* const schema = z.object({ name: z.string() })
|
|
20
|
+
* if (isZodSchema(schema)) {
|
|
21
|
+
* // TypeScript knows schema is ZodTypeAny
|
|
22
|
+
* schema.parse({ name: 'test' })
|
|
23
|
+
* }
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export function isZodSchema(value) {
|
|
27
|
+
return value !== null && typeof value === 'object' && '_def' in value && 'parse' in value;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=type-guards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-guards.js","sourceRoot":"","sources":["../src/type-guards.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,IAAI,KAAK,CAAA;AAC3F,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,6 +1,77 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Core types for AI functions
|
|
3
3
|
*/
|
|
4
|
+
/**
|
|
5
|
+
* Symbol used to identify pending human function results
|
|
6
|
+
*/
|
|
7
|
+
export declare const PENDING_HUMAN_RESULT_SYMBOL: unique symbol;
|
|
8
|
+
/**
|
|
9
|
+
* Human interaction channels
|
|
10
|
+
*
|
|
11
|
+
* - chat: Real-time messaging (WebSocket, in-app)
|
|
12
|
+
* - email: Async email communication
|
|
13
|
+
* - phone: Voice calls
|
|
14
|
+
* - sms: SMS text messages
|
|
15
|
+
* - workspace: Team collaboration platforms (Slack, Teams, Discord)
|
|
16
|
+
* - web: Web-based interface (browser, web app)
|
|
17
|
+
*/
|
|
18
|
+
export type HumanChannel = 'chat' | 'email' | 'phone' | 'sms' | 'workspace' | 'web';
|
|
19
|
+
/**
|
|
20
|
+
* Pending human function result returned when human input is not yet available.
|
|
21
|
+
*
|
|
22
|
+
* This is returned by human functions that need actual human input but are running
|
|
23
|
+
* in a placeholder mode (e.g., during testing or when channel integrations are not configured).
|
|
24
|
+
*
|
|
25
|
+
* Use `isPendingHumanResult()` to check if a result is pending before using it.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* const result = await approveRefund({ amount: 500, reason: 'Duplicate charge' })
|
|
30
|
+
*
|
|
31
|
+
* if (isPendingHumanResult(result)) {
|
|
32
|
+
* console.log('Waiting for human approval via:', result.channel)
|
|
33
|
+
* // Handle pending state - queue for later, show UI, etc.
|
|
34
|
+
* } else {
|
|
35
|
+
* // result is the actual TOutput type
|
|
36
|
+
* console.log('Approved:', result.approved)
|
|
37
|
+
* }
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export interface HumanFunctionPending<TExpected = unknown> {
|
|
41
|
+
/** Symbol marker for type identification */
|
|
42
|
+
readonly [PENDING_HUMAN_RESULT_SYMBOL]: true;
|
|
43
|
+
/** Indicates this is a pending placeholder, not actual human response */
|
|
44
|
+
readonly _pending: true;
|
|
45
|
+
/** The channel where human input was requested */
|
|
46
|
+
readonly channel: HumanChannel;
|
|
47
|
+
/** Generated UI/content artifacts for the channel */
|
|
48
|
+
readonly artifacts: unknown;
|
|
49
|
+
/** The expected response type schema */
|
|
50
|
+
readonly expectedResponseType: TExpected;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Type guard to check if a result is a pending human function result.
|
|
54
|
+
*
|
|
55
|
+
* Use this to safely handle cases where human input is not yet available.
|
|
56
|
+
*
|
|
57
|
+
* @param value - The value to check
|
|
58
|
+
* @returns True if the value is a HumanFunctionPending object
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```ts
|
|
62
|
+
* const result = await reviewDocument({ docId: '123' })
|
|
63
|
+
*
|
|
64
|
+
* if (isPendingHumanResult(result)) {
|
|
65
|
+
* // result is HumanFunctionPending - human input needed
|
|
66
|
+
* console.warn('Human review pending:', result.channel)
|
|
67
|
+
* return { status: 'pending', channel: result.channel }
|
|
68
|
+
* }
|
|
69
|
+
*
|
|
70
|
+
* // result is ReviewResult - actual human response
|
|
71
|
+
* return { status: 'reviewed', approved: result.approved }
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
export declare function isPendingHumanResult<T>(value: T | HumanFunctionPending): value is HumanFunctionPending;
|
|
4
75
|
/**
|
|
5
76
|
* A function definition that can be called by AI
|
|
6
77
|
*
|
|
@@ -172,17 +243,6 @@ export type CodeLanguage = 'typescript' | 'javascript' | 'python' | 'go' | 'rust
|
|
|
172
243
|
* Output types for generative functions
|
|
173
244
|
*/
|
|
174
245
|
export type GenerativeOutputType = 'string' | 'object' | 'image' | 'video';
|
|
175
|
-
/**
|
|
176
|
-
* Human interaction channels
|
|
177
|
-
*
|
|
178
|
-
* - chat: Real-time messaging (WebSocket, in-app)
|
|
179
|
-
* - email: Async email communication
|
|
180
|
-
* - phone: Voice calls
|
|
181
|
-
* - sms: SMS text messages
|
|
182
|
-
* - workspace: Team collaboration platforms (Slack, Teams, Discord)
|
|
183
|
-
* - web: Web-based interface (browser, web app)
|
|
184
|
-
*/
|
|
185
|
-
export type HumanChannel = 'chat' | 'email' | 'phone' | 'sms' | 'workspace' | 'web';
|
|
186
246
|
/**
|
|
187
247
|
* Legacy channel type for backwards compatibility
|
|
188
248
|
* @deprecated Use HumanChannel instead
|
|
@@ -231,12 +291,24 @@ export interface BaseFunctionDefinition<TOutput = unknown, TInput = unknown> {
|
|
|
231
291
|
returnType?: TOutput;
|
|
232
292
|
}
|
|
233
293
|
/**
|
|
234
|
-
* Code function -
|
|
294
|
+
* Code function - a **deterministic** handler.
|
|
295
|
+
*
|
|
296
|
+
* `Code` is the deterministic kind: a fetch/transform/rule handler that runs
|
|
297
|
+
* the **same logic every time** with no model in the execution path. When
|
|
298
|
+
* called, it invokes the supplied {@link CodeFunctionDefinition.handler}
|
|
299
|
+
* (or evaluates the inline {@link CodeFunctionDefinition.code} body) and
|
|
300
|
+
* returns the result directly — no LLM is consulted at call time.
|
|
235
301
|
*
|
|
236
|
-
*
|
|
237
|
-
*
|
|
238
|
-
*
|
|
239
|
-
*
|
|
302
|
+
* This is the contract consumers bind to (e.g. ADR-0033's
|
|
303
|
+
* "Code = deterministic"). If you want a model to *author* code, that is a
|
|
304
|
+
* generation task: use {@link generateCode} / the `generate('code', …)`
|
|
305
|
+
* primitive, or define a `Generative` function whose output is source text.
|
|
306
|
+
* See the migration note in the package README.
|
|
307
|
+
*
|
|
308
|
+
* Exactly one of `handler` or `code` should be supplied. `handler` is the
|
|
309
|
+
* canonical form (a native function reference); `code` is an inline source
|
|
310
|
+
* body, deterministically compiled by the consumer's runtime — never sent to
|
|
311
|
+
* a model.
|
|
240
312
|
*
|
|
241
313
|
* @example
|
|
242
314
|
* ```ts
|
|
@@ -248,7 +320,7 @@ export interface BaseFunctionDefinition<TOutput = unknown, TInput = unknown> {
|
|
|
248
320
|
* rate: 'Tax rate as decimal (number)',
|
|
249
321
|
* },
|
|
250
322
|
* returnType: 'The calculated tax amount (number)',
|
|
251
|
-
*
|
|
323
|
+
* handler: ({ amount, rate }) => amount * rate,
|
|
252
324
|
* })
|
|
253
325
|
* ```
|
|
254
326
|
*
|
|
@@ -257,6 +329,50 @@ export interface BaseFunctionDefinition<TOutput = unknown, TInput = unknown> {
|
|
|
257
329
|
*/
|
|
258
330
|
export interface CodeFunctionDefinition<TOutput = unknown, TInput = unknown> extends BaseFunctionDefinition<TOutput, TInput> {
|
|
259
331
|
type: 'code';
|
|
332
|
+
/**
|
|
333
|
+
* The deterministic handler invoked on every call. Receives the parsed
|
|
334
|
+
* `args` and returns (or resolves to) the result. No LLM is involved.
|
|
335
|
+
*
|
|
336
|
+
* Either `handler` or {@link CodeFunctionDefinition.code} must be provided;
|
|
337
|
+
* `handler` takes precedence when both are present.
|
|
338
|
+
*/
|
|
339
|
+
handler?: (input: TInput) => TOutput | Promise<TOutput>;
|
|
340
|
+
/**
|
|
341
|
+
* Inline source body for the handler, as a string. Deterministically
|
|
342
|
+
* compiled by the consumer's runtime (it is **not** generated by a model).
|
|
343
|
+
* Used when a handler cannot be passed by reference (e.g. a definition
|
|
344
|
+
* loaded from storage). The body receives the `args` in scope and should
|
|
345
|
+
* `return` the result.
|
|
346
|
+
*
|
|
347
|
+
* Either `code` or {@link CodeFunctionDefinition.handler} must be provided.
|
|
348
|
+
*/
|
|
349
|
+
code?: string;
|
|
350
|
+
/** Target programming language of `code` (default: `'typescript'`). Metadata only. */
|
|
351
|
+
language?: CodeLanguage;
|
|
352
|
+
/** Optional human-readable note about what the handler does. Metadata only. */
|
|
353
|
+
instructions?: string;
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* Definition for a code-**authoring** request — the explicit, opt-in path for
|
|
357
|
+
* having a model *write* code. This is the behavior `type: 'code'` used to
|
|
358
|
+
* have implicitly; it has been split out so that `Code` can mean
|
|
359
|
+
* "deterministic handler" without a silent change of meaning.
|
|
360
|
+
*
|
|
361
|
+
* This is **not** part of the {@link FunctionDefinition} union and never
|
|
362
|
+
* executes deterministically — calling it consults a model. Drive it via
|
|
363
|
+
* {@link generateCode}.
|
|
364
|
+
*
|
|
365
|
+
* @typeParam TInput - The arguments schema describing the code to author
|
|
366
|
+
*/
|
|
367
|
+
export interface CodeGenerationDefinition<TInput = unknown> {
|
|
368
|
+
/** Name of the function/query to author */
|
|
369
|
+
name: string;
|
|
370
|
+
/** Human-readable description of what the code should do */
|
|
371
|
+
description?: string;
|
|
372
|
+
/** Arguments/spec schema describing the code to generate */
|
|
373
|
+
args: TInput;
|
|
374
|
+
/** Return type schema the authored code should produce (optional) */
|
|
375
|
+
returnType?: unknown;
|
|
260
376
|
/** Target programming language */
|
|
261
377
|
language?: CodeLanguage;
|
|
262
378
|
/** Additional context or requirements for code generation */
|
|
@@ -265,6 +381,8 @@ export interface CodeFunctionDefinition<TOutput = unknown, TInput = unknown> ext
|
|
|
265
381
|
includeTests?: boolean;
|
|
266
382
|
/** Whether to include example usage (default: true) */
|
|
267
383
|
includeExamples?: boolean;
|
|
384
|
+
/** Model to use for authoring (defaults to 'sonnet') */
|
|
385
|
+
model?: string;
|
|
268
386
|
}
|
|
269
387
|
/**
|
|
270
388
|
* Code function result with generated artifacts
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -1,5 +1,40 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Core types for AI functions
|
|
3
3
|
*/
|
|
4
|
-
|
|
4
|
+
// ============================================================================
|
|
5
|
+
// Human Function Pending Types
|
|
6
|
+
// ============================================================================
|
|
7
|
+
/**
|
|
8
|
+
* Symbol used to identify pending human function results
|
|
9
|
+
*/
|
|
10
|
+
export const PENDING_HUMAN_RESULT_SYMBOL = Symbol.for('HumanFunctionPending');
|
|
11
|
+
/**
|
|
12
|
+
* Type guard to check if a result is a pending human function result.
|
|
13
|
+
*
|
|
14
|
+
* Use this to safely handle cases where human input is not yet available.
|
|
15
|
+
*
|
|
16
|
+
* @param value - The value to check
|
|
17
|
+
* @returns True if the value is a HumanFunctionPending object
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```ts
|
|
21
|
+
* const result = await reviewDocument({ docId: '123' })
|
|
22
|
+
*
|
|
23
|
+
* if (isPendingHumanResult(result)) {
|
|
24
|
+
* // result is HumanFunctionPending - human input needed
|
|
25
|
+
* console.warn('Human review pending:', result.channel)
|
|
26
|
+
* return { status: 'pending', channel: result.channel }
|
|
27
|
+
* }
|
|
28
|
+
*
|
|
29
|
+
* // result is ReviewResult - actual human response
|
|
30
|
+
* return { status: 'reviewed', approved: result.approved }
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export function isPendingHumanResult(value) {
|
|
34
|
+
return (value !== null &&
|
|
35
|
+
typeof value === 'object' &&
|
|
36
|
+
'_pending' in value &&
|
|
37
|
+
value._pending === true &&
|
|
38
|
+
PENDING_HUMAN_RESULT_SYMBOL in value);
|
|
39
|
+
}
|
|
5
40
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;AAgD7E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAA+B;IAE/B,OAAO,CACL,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,UAAU,IAAI,KAAK;QACnB,KAAK,CAAC,QAAQ,KAAK,IAAI;QACvB,2BAA2B,IAAI,KAAK,CACrC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* wrapForV3 — convenience composer for the v3 cascade-walker / evaluator-panel
|
|
3
|
+
* use case.
|
|
4
|
+
*
|
|
5
|
+
* Composes `cacheMiddleware`, `budgetMiddleware`, and `traceMiddleware` in a
|
|
6
|
+
* single `wrapLanguageModel` call so callers in services-as-software (round
|
|
7
|
+
* 15+ swap) can replace their existing post-hoc duck-typing in
|
|
8
|
+
* `cost-estimate.ts` with a single wrap call:
|
|
9
|
+
*
|
|
10
|
+
* ```ts
|
|
11
|
+
* import { wrapForV3, BudgetTracker, getEvalLogStore } from 'ai-functions'
|
|
12
|
+
*
|
|
13
|
+
* const tracker = new BudgetTracker({ maxCost: 1.0 })
|
|
14
|
+
* const store = getEvalLogStore()
|
|
15
|
+
*
|
|
16
|
+
* const wrapped = wrapForV3(openai('gpt-4o'), {
|
|
17
|
+
* cache: { store: 'disk', ttlMs: 86_400_000 },
|
|
18
|
+
* budget: { tracker },
|
|
19
|
+
* trace: { emit: (e) => store.record({ ...e, costUsd: e.costUsd ?? 0 }) },
|
|
20
|
+
* })
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* **Composition order:**
|
|
24
|
+
* 1. **cache** — first so cache hits skip budget+trace network cost. The
|
|
25
|
+
* cached payload's usage still flows downstream so budget records the
|
|
26
|
+
* cost on hits AND misses.
|
|
27
|
+
* 2. **budget** — second so it sees the wrapped result regardless of
|
|
28
|
+
* cache hit/miss; tracker.recordUsage fires either way.
|
|
29
|
+
* 3. **trace** — last so the event sees the final outcome (post-cache,
|
|
30
|
+
* post-budget). Errors from `emit` are swallowed.
|
|
31
|
+
*
|
|
32
|
+
* AI SDK 6 ordering semantics (per the wrapLanguageModel JSDoc): "the first
|
|
33
|
+
* middleware will transform the input first, and the last middleware will
|
|
34
|
+
* be wrapped directly around the model." So when we hand the array
|
|
35
|
+
* `[cache, budget, trace]`, the runtime call order is
|
|
36
|
+
* `cache → budget → trace → model` on the way in, and the reverse on the
|
|
37
|
+
* way out. Cache sees the call first; if it has a hit, downstream layers
|
|
38
|
+
* never run their `wrapGenerate` body for that call. Budget and trace each
|
|
39
|
+
* get their own post-completion hook on the result the layer below them
|
|
40
|
+
* returned — so on a cache hit, neither budget nor trace runs (because
|
|
41
|
+
* cache short-circuits via `return cached`). To get budget + trace on
|
|
42
|
+
* cache hits, the budgetMiddleware/traceMiddleware would need to wrap the
|
|
43
|
+
* cache middleware (i.e. install AFTER it in the chain). Per the spec
|
|
44
|
+
* above, "later in the array = closer to the model" → install order
|
|
45
|
+
* matters: callers who want cache-hit cost recording should pass
|
|
46
|
+
* `[budget, trace, cache]`. We use `[cache, budget, trace]` as the default
|
|
47
|
+
* because the eval-fixture use case wants the 5x verify-time win and is
|
|
48
|
+
* happy to skip the cost record on the hit path (the original miss already
|
|
49
|
+
* recorded it).
|
|
50
|
+
*
|
|
51
|
+
* @packageDocumentation
|
|
52
|
+
*/
|
|
53
|
+
import { type LanguageModel } from 'ai';
|
|
54
|
+
import { type CacheMiddlewareOptions } from './middleware/cache.js';
|
|
55
|
+
import { type BudgetMiddlewareOptions } from './middleware/budget.js';
|
|
56
|
+
import { type TraceMiddlewareOptions } from './middleware/trace.js';
|
|
57
|
+
/**
|
|
58
|
+
* Options for {@link wrapForV3}. All three middleware sections are
|
|
59
|
+
* optional — pass only what you need.
|
|
60
|
+
*/
|
|
61
|
+
export interface WrapForV3Options {
|
|
62
|
+
/** Cache config (see {@link CacheMiddlewareOptions}). */
|
|
63
|
+
cache?: CacheMiddlewareOptions;
|
|
64
|
+
/** Budget tracking config (see {@link BudgetMiddlewareOptions}). */
|
|
65
|
+
budget?: BudgetMiddlewareOptions;
|
|
66
|
+
/** Trace emission config (see {@link TraceMiddlewareOptions}). */
|
|
67
|
+
trace?: TraceMiddlewareOptions;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Wrap a {@link LanguageModel} with the v3-cascade middleware stack
|
|
71
|
+
* (cache → budget → trace, in install order).
|
|
72
|
+
*
|
|
73
|
+
* Returns the wrapped model with the same shape as the input; downstream
|
|
74
|
+
* `generateText` / `generateObject` / `streamText` calls treat it as a
|
|
75
|
+
* regular model.
|
|
76
|
+
*
|
|
77
|
+
* @see WrapForV3Options for partial-config behaviour
|
|
78
|
+
*/
|
|
79
|
+
export declare function wrapForV3(model: LanguageModel, opts?: WrapForV3Options): LanguageModel;
|
|
80
|
+
//# sourceMappingURL=wrap-for-v3.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrap-for-v3.d.ts","sourceRoot":"","sources":["../src/wrap-for-v3.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,IAAI,CAAA;AAE1D,OAAO,EAAmB,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AACpF,OAAO,EAAoB,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AACvF,OAAO,EAAmB,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAMpF;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yDAAyD;IACzD,KAAK,CAAC,EAAE,sBAAsB,CAAA;IAC9B,oEAAoE;IACpE,MAAM,CAAC,EAAE,uBAAuB,CAAA;IAChC,kEAAkE;IAClE,KAAK,CAAC,EAAE,sBAAsB,CAAA;CAC/B;AAMD;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,GAAE,gBAAqB,GAAG,aAAa,CAc1F"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* wrapForV3 — convenience composer for the v3 cascade-walker / evaluator-panel
|
|
3
|
+
* use case.
|
|
4
|
+
*
|
|
5
|
+
* Composes `cacheMiddleware`, `budgetMiddleware`, and `traceMiddleware` in a
|
|
6
|
+
* single `wrapLanguageModel` call so callers in services-as-software (round
|
|
7
|
+
* 15+ swap) can replace their existing post-hoc duck-typing in
|
|
8
|
+
* `cost-estimate.ts` with a single wrap call:
|
|
9
|
+
*
|
|
10
|
+
* ```ts
|
|
11
|
+
* import { wrapForV3, BudgetTracker, getEvalLogStore } from 'ai-functions'
|
|
12
|
+
*
|
|
13
|
+
* const tracker = new BudgetTracker({ maxCost: 1.0 })
|
|
14
|
+
* const store = getEvalLogStore()
|
|
15
|
+
*
|
|
16
|
+
* const wrapped = wrapForV3(openai('gpt-4o'), {
|
|
17
|
+
* cache: { store: 'disk', ttlMs: 86_400_000 },
|
|
18
|
+
* budget: { tracker },
|
|
19
|
+
* trace: { emit: (e) => store.record({ ...e, costUsd: e.costUsd ?? 0 }) },
|
|
20
|
+
* })
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* **Composition order:**
|
|
24
|
+
* 1. **cache** — first so cache hits skip budget+trace network cost. The
|
|
25
|
+
* cached payload's usage still flows downstream so budget records the
|
|
26
|
+
* cost on hits AND misses.
|
|
27
|
+
* 2. **budget** — second so it sees the wrapped result regardless of
|
|
28
|
+
* cache hit/miss; tracker.recordUsage fires either way.
|
|
29
|
+
* 3. **trace** — last so the event sees the final outcome (post-cache,
|
|
30
|
+
* post-budget). Errors from `emit` are swallowed.
|
|
31
|
+
*
|
|
32
|
+
* AI SDK 6 ordering semantics (per the wrapLanguageModel JSDoc): "the first
|
|
33
|
+
* middleware will transform the input first, and the last middleware will
|
|
34
|
+
* be wrapped directly around the model." So when we hand the array
|
|
35
|
+
* `[cache, budget, trace]`, the runtime call order is
|
|
36
|
+
* `cache → budget → trace → model` on the way in, and the reverse on the
|
|
37
|
+
* way out. Cache sees the call first; if it has a hit, downstream layers
|
|
38
|
+
* never run their `wrapGenerate` body for that call. Budget and trace each
|
|
39
|
+
* get their own post-completion hook on the result the layer below them
|
|
40
|
+
* returned — so on a cache hit, neither budget nor trace runs (because
|
|
41
|
+
* cache short-circuits via `return cached`). To get budget + trace on
|
|
42
|
+
* cache hits, the budgetMiddleware/traceMiddleware would need to wrap the
|
|
43
|
+
* cache middleware (i.e. install AFTER it in the chain). Per the spec
|
|
44
|
+
* above, "later in the array = closer to the model" → install order
|
|
45
|
+
* matters: callers who want cache-hit cost recording should pass
|
|
46
|
+
* `[budget, trace, cache]`. We use `[cache, budget, trace]` as the default
|
|
47
|
+
* because the eval-fixture use case wants the 5x verify-time win and is
|
|
48
|
+
* happy to skip the cost record on the hit path (the original miss already
|
|
49
|
+
* recorded it).
|
|
50
|
+
*
|
|
51
|
+
* @packageDocumentation
|
|
52
|
+
*/
|
|
53
|
+
import { wrapLanguageModel } from 'ai';
|
|
54
|
+
import { cacheMiddleware } from './middleware/cache.js';
|
|
55
|
+
import { budgetMiddleware } from './middleware/budget.js';
|
|
56
|
+
import { traceMiddleware } from './middleware/trace.js';
|
|
57
|
+
// ============================================================================
|
|
58
|
+
// Composer
|
|
59
|
+
// ============================================================================
|
|
60
|
+
/**
|
|
61
|
+
* Wrap a {@link LanguageModel} with the v3-cascade middleware stack
|
|
62
|
+
* (cache → budget → trace, in install order).
|
|
63
|
+
*
|
|
64
|
+
* Returns the wrapped model with the same shape as the input; downstream
|
|
65
|
+
* `generateText` / `generateObject` / `streamText` calls treat it as a
|
|
66
|
+
* regular model.
|
|
67
|
+
*
|
|
68
|
+
* @see WrapForV3Options for partial-config behaviour
|
|
69
|
+
*/
|
|
70
|
+
export function wrapForV3(model, opts = {}) {
|
|
71
|
+
const middleware = [];
|
|
72
|
+
if (opts.cache)
|
|
73
|
+
middleware.push(cacheMiddleware(opts.cache));
|
|
74
|
+
if (opts.budget)
|
|
75
|
+
middleware.push(budgetMiddleware(opts.budget));
|
|
76
|
+
if (opts.trace)
|
|
77
|
+
middleware.push(traceMiddleware(opts.trace));
|
|
78
|
+
if (middleware.length === 0)
|
|
79
|
+
return model;
|
|
80
|
+
// wrapLanguageModel currently accepts LanguageModelV3 — at the AI SDK 6
|
|
81
|
+
// surface, `LanguageModel` is the wider union. The runtime is V3
|
|
82
|
+
// everywhere in the published providers; the cast is the same one the
|
|
83
|
+
// wrapLanguageModel cookbook uses.
|
|
84
|
+
return wrapLanguageModel({
|
|
85
|
+
model: model,
|
|
86
|
+
middleware,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=wrap-for-v3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrap-for-v3.js","sourceRoot":"","sources":["../src/wrap-for-v3.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,OAAO,EAAE,iBAAiB,EAAsB,MAAM,IAAI,CAAA;AAE1D,OAAO,EAAE,eAAe,EAA+B,MAAM,uBAAuB,CAAA;AACpF,OAAO,EAAE,gBAAgB,EAAgC,MAAM,wBAAwB,CAAA;AACvF,OAAO,EAAE,eAAe,EAA+B,MAAM,uBAAuB,CAAA;AAmBpF,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CAAC,KAAoB,EAAE,OAAyB,EAAE;IACzE,MAAM,UAAU,GAAgC,EAAE,CAAA;IAClD,IAAI,IAAI,CAAC,KAAK;QAAE,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5D,IAAI,IAAI,CAAC,MAAM;QAAE,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/D,IAAI,IAAI,CAAC,KAAK;QAAE,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACzC,wEAAwE;IACxE,iEAAiE;IACjE,sEAAsE;IACtE,mCAAmC;IACnC,OAAO,iBAAiB,CAAC;QACvB,KAAK,EAAE,KAAwB;QAC/B,UAAU;KACX,CAAkB,CAAA;AACrB,CAAC"}
|