@typia/vercel 12.0.0-dev.20260306 → 12.0.0-dev.20260307-2
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/README.md +2 -2
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.mjs +1 -1
- package/lib/internal/VercelToolsRegistrar.js +4 -3
- package/lib/internal/VercelToolsRegistrar.js.map +1 -1
- package/lib/internal/VercelToolsRegistrar.mjs +5 -4
- package/lib/internal/VercelToolsRegistrar.mjs.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +1 -1
- package/src/internal/VercelToolsRegistrar.ts +5 -4
package/README.md
CHANGED
|
@@ -70,7 +70,7 @@ Use `typia.llm.parameters<T>()` with Vercel's `jsonSchema()` to generate structu
|
|
|
70
70
|
```typescript
|
|
71
71
|
import { openai } from "@ai-sdk/openai";
|
|
72
72
|
import { generateObject, jsonSchema } from "ai";
|
|
73
|
-
import { dedent,
|
|
73
|
+
import { dedent, LlmJson } from "@typia/utils";
|
|
74
74
|
import typia, { tags } from "typia";
|
|
75
75
|
|
|
76
76
|
interface IMember {
|
|
@@ -89,7 +89,7 @@ const { object } = await generateObject({
|
|
|
89
89
|
if (result.success) return { success: true, value: result.data };
|
|
90
90
|
return {
|
|
91
91
|
success: false,
|
|
92
|
-
error: new Error(
|
|
92
|
+
error: new Error(LlmJson.stringify(result)),
|
|
93
93
|
};
|
|
94
94
|
},
|
|
95
95
|
}),
|
package/lib/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { IHttpLlmController, ILlmController } from "@typia/interface";
|
|
|
8
8
|
* can be used with any LLM provider (OpenAI, Anthropic, Google, etc.).
|
|
9
9
|
*
|
|
10
10
|
* Every tool call is validated by typia. If the LLM provides invalid arguments,
|
|
11
|
-
* returns a validation error formatted by {@link
|
|
11
|
+
* returns a validation error formatted by {@link LlmJson.stringify}
|
|
12
12
|
* so the LLM can auto-correct in the next turn.
|
|
13
13
|
*
|
|
14
14
|
* ## Example with OpenAI
|
package/lib/index.js
CHANGED
|
@@ -10,7 +10,7 @@ const VercelToolsRegistrar_1 = require("./internal/VercelToolsRegistrar");
|
|
|
10
10
|
* can be used with any LLM provider (OpenAI, Anthropic, Google, etc.).
|
|
11
11
|
*
|
|
12
12
|
* Every tool call is validated by typia. If the LLM provides invalid arguments,
|
|
13
|
-
* returns a validation error formatted by {@link
|
|
13
|
+
* returns a validation error formatted by {@link LlmJson.stringify}
|
|
14
14
|
* so the LLM can auto-correct in the next turn.
|
|
15
15
|
*
|
|
16
16
|
* ## Example with OpenAI
|
package/lib/index.mjs
CHANGED
|
@@ -8,7 +8,7 @@ import { VercelToolsRegistrar } from './internal/VercelToolsRegistrar.mjs';
|
|
|
8
8
|
* can be used with any LLM provider (OpenAI, Anthropic, Google, etc.).
|
|
9
9
|
*
|
|
10
10
|
* Every tool call is validated by typia. If the LLM provides invalid arguments,
|
|
11
|
-
* returns a validation error formatted by {@link
|
|
11
|
+
* returns a validation error formatted by {@link LlmJson.stringify}
|
|
12
12
|
* so the LLM can auto-correct in the next turn.
|
|
13
13
|
*
|
|
14
14
|
* ## Example with OpenAI
|
|
@@ -102,13 +102,14 @@ var VercelToolsRegistrar;
|
|
|
102
102
|
// Convert ILlmSchema.IParameters to Vercel jsonSchema
|
|
103
103
|
parameters: (0, ai_1.jsonSchema)(convertParameters(func.parameters)),
|
|
104
104
|
execute: (args) => __awaiter(this, void 0, void 0, function* () {
|
|
105
|
-
//
|
|
106
|
-
const
|
|
105
|
+
// Coerce and validate using typia's built-in functions
|
|
106
|
+
const coerced = utils_1.LlmJson.coerce(args, func.parameters);
|
|
107
|
+
const validation = func.validate(coerced);
|
|
107
108
|
if (!validation.success) {
|
|
108
109
|
// Return validation error in LLM-friendly format
|
|
109
110
|
return {
|
|
110
111
|
error: true,
|
|
111
|
-
message:
|
|
112
|
+
message: utils_1.LlmJson.stringify(validation),
|
|
112
113
|
};
|
|
113
114
|
}
|
|
114
115
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VercelToolsRegistrar.js","sourceRoot":"","sources":["../../src/internal/VercelToolsRegistrar.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2BAAsC;AAWtC,
|
|
1
|
+
{"version":3,"file":"VercelToolsRegistrar.js","sourceRoot":"","sources":["../../src/internal/VercelToolsRegistrar.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { tool, jsonSchema } from 'ai';
|
|
2
|
-
import {
|
|
2
|
+
import { LlmJson, HttpLlm } from '@typia/utils';
|
|
3
3
|
|
|
4
4
|
var VercelToolsRegistrar;
|
|
5
5
|
(function (VercelToolsRegistrar) {
|
|
@@ -90,13 +90,14 @@ var VercelToolsRegistrar;
|
|
|
90
90
|
// Convert ILlmSchema.IParameters to Vercel jsonSchema
|
|
91
91
|
parameters: jsonSchema(convertParameters(func.parameters)),
|
|
92
92
|
execute: async (args) => {
|
|
93
|
-
//
|
|
94
|
-
const
|
|
93
|
+
// Coerce and validate using typia's built-in functions
|
|
94
|
+
const coerced = LlmJson.coerce(args, func.parameters);
|
|
95
|
+
const validation = func.validate(coerced);
|
|
95
96
|
if (!validation.success) {
|
|
96
97
|
// Return validation error in LLM-friendly format
|
|
97
98
|
return {
|
|
98
99
|
error: true,
|
|
99
|
-
message:
|
|
100
|
+
message: LlmJson.stringify(validation),
|
|
100
101
|
};
|
|
101
102
|
}
|
|
102
103
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VercelToolsRegistrar.mjs","sources":["../../src/internal/VercelToolsRegistrar.ts"],"sourcesContent":[null],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"VercelToolsRegistrar.mjs","sources":["../../src/internal/VercelToolsRegistrar.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typia/vercel",
|
|
3
|
-
"version": "12.0.0-dev.
|
|
3
|
+
"version": "12.0.0-dev.20260307-2",
|
|
4
4
|
"description": "Vercel AI SDK integration for typia",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"exports": {
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
},
|
|
23
23
|
"homepage": "https://typia.io",
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@typia/
|
|
26
|
-
"@typia/
|
|
25
|
+
"@typia/utils": "^12.0.0-dev.20260307-2",
|
|
26
|
+
"@typia/interface": "^12.0.0-dev.20260307-2"
|
|
27
27
|
},
|
|
28
28
|
"peerDependencies": {
|
|
29
29
|
"ai": ">=4.0.0"
|
package/src/index.ts
CHANGED
|
@@ -11,7 +11,7 @@ import { VercelToolsRegistrar } from "./internal/VercelToolsRegistrar";
|
|
|
11
11
|
* can be used with any LLM provider (OpenAI, Anthropic, Google, etc.).
|
|
12
12
|
*
|
|
13
13
|
* Every tool call is validated by typia. If the LLM provides invalid arguments,
|
|
14
|
-
* returns a validation error formatted by {@link
|
|
14
|
+
* returns a validation error formatted by {@link LlmJson.stringify}
|
|
15
15
|
* so the LLM can auto-correct in the next turn.
|
|
16
16
|
*
|
|
17
17
|
* ## Example with OpenAI
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
ILlmSchema,
|
|
10
10
|
IValidation,
|
|
11
11
|
} from "@typia/interface";
|
|
12
|
-
import { HttpLlm,
|
|
12
|
+
import { HttpLlm, LlmJson } from "@typia/utils";
|
|
13
13
|
|
|
14
14
|
export namespace VercelToolsRegistrar {
|
|
15
15
|
/**
|
|
@@ -135,13 +135,14 @@ export namespace VercelToolsRegistrar {
|
|
|
135
135
|
),
|
|
136
136
|
|
|
137
137
|
execute: async (args: object) => {
|
|
138
|
-
//
|
|
139
|
-
const
|
|
138
|
+
// Coerce and validate using typia's built-in functions
|
|
139
|
+
const coerced: unknown = LlmJson.coerce(args, func.parameters);
|
|
140
|
+
const validation: IValidation<unknown> = func.validate(coerced);
|
|
140
141
|
if (!validation.success) {
|
|
141
142
|
// Return validation error in LLM-friendly format
|
|
142
143
|
return {
|
|
143
144
|
error: true,
|
|
144
|
-
message:
|
|
145
|
+
message: LlmJson.stringify(validation),
|
|
145
146
|
};
|
|
146
147
|
}
|
|
147
148
|
|