@absolutejs/ai 0.0.18 → 0.0.20
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/dist/ai/index.js +65 -1
- package/dist/ai/index.js.map +3 -3
- package/dist/src/ai/client/actions.d.ts +1 -1
- package/dist/src/ai/generateAI.d.ts +23 -1
- package/dist/src/ai/index.d.ts +2 -2
- package/dist/types/ai.d.ts +74 -4398
- package/package.json +6 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AIProviderConfig, AIProviderMessage, AIProviderResponseFormat, AIProviderToolChoice, AIProviderToolDefinition, AIUsage, ReasoningConfig } from "../../types/ai";
|
|
1
|
+
import type { AIProviderConfig, AIProviderMessage, AIProviderResponseFormat, AIProviderToolChoice, AIProviderToolDefinition, AIToolMap, AIUsage, ReasoningConfig } from "../../types/ai";
|
|
2
2
|
export type GenerateAIToolCall = {
|
|
3
3
|
id: string;
|
|
4
4
|
name: string;
|
|
@@ -33,6 +33,28 @@ export type GenerateAIResult = {
|
|
|
33
33
|
* JSON-parsed by the provider), and final token usage.
|
|
34
34
|
*/
|
|
35
35
|
export declare const generateAI: (options: GenerateAIOptions) => Promise<GenerateAIResult>;
|
|
36
|
+
export type GenerateAIWithToolsOptions = Omit<GenerateAIOptions, "tools" | "toolChoice"> & {
|
|
37
|
+
/** Tools the model may call — each with a `handler` the loop runs on its behalf. */
|
|
38
|
+
tools: AIToolMap;
|
|
39
|
+
/** Max model⇄tool round-trips before forcing a final answer. Default 6. */
|
|
40
|
+
maxTurns?: number;
|
|
41
|
+
/** Observe each executed tool call (name, parsed input, string result). */
|
|
42
|
+
onToolUse?: (name: string, input: unknown, result: string) => void;
|
|
43
|
+
};
|
|
44
|
+
export type GenerateAIWithToolsResult = {
|
|
45
|
+
text: string;
|
|
46
|
+
toolCalls: GenerateAIToolCall[];
|
|
47
|
+
usage?: AIUsage;
|
|
48
|
+
/** The full message thread incl. assistant tool_use + tool_result turns. */
|
|
49
|
+
messages: AIProviderMessage[];
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Agentic, non-streaming generation: the model may call the provided handler tools, this
|
|
53
|
+
* runs them, feeds the results back, and loops until the model answers (or `maxTurns`).
|
|
54
|
+
* Transport-agnostic — usable from HTTP/SSE/generator paths, unlike the WebSocket `streamAI`.
|
|
55
|
+
* Returns the final text, every tool call made, summed usage, and the full message thread.
|
|
56
|
+
*/
|
|
57
|
+
export declare const generateAIWithTools: (options: GenerateAIWithToolsOptions) => Promise<GenerateAIWithToolsResult>;
|
|
36
58
|
export type GenerateObjectAIOptions<T> = {
|
|
37
59
|
provider: AIProviderConfig;
|
|
38
60
|
model: string;
|
package/dist/src/ai/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { aiChat } from "../plugins/aiChat";
|
|
2
2
|
export { streamAI } from "./streamAI";
|
|
3
3
|
export { streamAIToSSE } from "./streamAIToSSE";
|
|
4
|
-
export { generateAI, generateObjectAI } from "./generateAI";
|
|
5
|
-
export type { GenerateAIOptions, GenerateAIResult, GenerateAIToolCall, GenerateObjectAIOptions, GenerateObjectAIResult, } from "./generateAI";
|
|
4
|
+
export { generateAI, generateAIWithTools, generateObjectAI, } from "./generateAI";
|
|
5
|
+
export type { GenerateAIOptions, GenerateAIResult, GenerateAIToolCall, GenerateAIWithToolsOptions, GenerateAIWithToolsResult, GenerateObjectAIOptions, GenerateObjectAIResult, } from "./generateAI";
|
|
6
6
|
export { createConversationManager } from "./conversationManager";
|
|
7
7
|
export { resolveRenderers } from "./htmxRenderers";
|
|
8
8
|
export { createMemoryStore } from "./memoryStore";
|