@absolutejs/absolute 0.19.0-beta.237 → 0.19.0-beta.238

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.
@@ -78,6 +78,14 @@ var __require = import.meta.require;
78
78
  var DEFAULT_BASE_URL = "http://localhost:11434";
79
79
  var ZERO_TOKENS = 0;
80
80
  var DONE_CHUNK = { type: "done" };
81
+ var mapToolDefinitions = (tools) => tools.map((tool) => ({
82
+ function: {
83
+ description: tool.description,
84
+ name: tool.name,
85
+ parameters: tool.input_schema
86
+ },
87
+ type: "function"
88
+ }));
81
89
  var buildRequestBody = (params) => {
82
90
  const messages = params.messages.map((msg) => ({
83
91
  content: typeof msg.content === "string" ? msg.content : "",
@@ -86,11 +94,15 @@ var buildRequestBody = (params) => {
86
94
  if (params.systemPrompt) {
87
95
  messages.unshift({ content: params.systemPrompt, role: "system" });
88
96
  }
89
- return {
97
+ const body = {
90
98
  messages,
91
99
  model: params.model,
92
100
  stream: true
93
101
  };
102
+ if (params.tools && params.tools.length > 0) {
103
+ body.tools = mapToolDefinitions(params.tools);
104
+ }
105
+ return body;
94
106
  };
95
107
  var isRecord = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
96
108
  var tryParseJSON = (text) => {
@@ -130,32 +142,51 @@ var buildTextChunk = (content) => ({
130
142
  content,
131
143
  type: "text"
132
144
  });
133
- var extractTextChunk = (parsed) => {
145
+ var extractToolCalls = (message) => {
146
+ const toolCalls = message.tool_calls;
147
+ if (!Array.isArray(toolCalls) || toolCalls.length === 0) {
148
+ return [];
149
+ }
150
+ return toolCalls.filter(isRecord).filter((tc) => isRecord(tc.function)).map((tc) => {
151
+ const func = tc.function;
152
+ return {
153
+ id: crypto.randomUUID(),
154
+ input: func.arguments ?? {},
155
+ name: typeof func.name === "string" ? func.name : "",
156
+ type: "tool_use"
157
+ };
158
+ });
159
+ };
160
+ var extractChunks = (parsed) => {
134
161
  const { message } = parsed;
135
162
  if (!isRecord(message)) {
136
- return null;
163
+ return [];
164
+ }
165
+ const toolChunks = extractToolCalls(message);
166
+ if (toolChunks.length > 0) {
167
+ return toolChunks;
137
168
  }
138
169
  const { content } = message;
139
170
  if (typeof content !== "string" || !content) {
140
- return null;
171
+ return [];
141
172
  }
142
- return buildTextChunk(content);
173
+ return [buildTextChunk(content)];
143
174
  };
144
175
  var processLine = (line) => {
145
176
  const trimmed = line.trim();
146
177
  if (!trimmed) {
147
- return null;
178
+ return [];
148
179
  }
149
180
  const parsed = tryParseJSON(trimmed);
150
181
  if (!parsed) {
151
- return null;
182
+ return [];
152
183
  }
153
184
  if (parsed.done === true) {
154
- return buildDoneChunk(parsed);
185
+ return [buildDoneChunk(parsed)];
155
186
  }
156
- return extractTextChunk(parsed);
187
+ return extractChunks(parsed);
157
188
  };
158
- var processBufferedLines = (lines) => lines.map(processLine).filter((chunk) => chunk !== null);
189
+ var processBufferedLines = (lines) => lines.flatMap(processLine);
159
190
  var readStreamChunks = async (reader, decoder, buffer, signal) => {
160
191
  const emptyChunks = [];
161
192
  if (signal?.aborted) {
@@ -229,5 +260,5 @@ export {
229
260
  ollama
230
261
  };
231
262
 
232
- //# debugId=7579757CE08DC46864756E2164756E21
263
+ //# debugId=E8F4A4EDC34E55D264756E2164756E21
233
264
  //# sourceMappingURL=ollama.js.map
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/ai/providers/ollama.ts"],
4
4
  "sourcesContent": [
5
- "import type {\n\tAIChunk,\n\tAIDoneChunk,\n\tAIProviderConfig,\n\tAIProviderStreamParams\n} from '../../../types/ai';\n\ntype OllamaConfig = {\n\tbaseUrl?: string;\n};\n\ntype OllamaMessage = {\n\tcontent: string;\n\trole: 'assistant' | 'system' | 'user';\n};\n\nconst DEFAULT_BASE_URL = 'http://localhost:11434';\nconst ZERO_TOKENS = 0;\n\nconst DONE_CHUNK: AIChunk = { type: 'done' };\n\nconst buildRequestBody = (params: AIProviderStreamParams) => {\n\tconst messages: OllamaMessage[] = params.messages.map((msg) => ({\n\t\tcontent: typeof msg.content === 'string' ? msg.content : '',\n\t\trole: msg.role\n\t}));\n\n\tif (params.systemPrompt) {\n\t\tmessages.unshift({ content: params.systemPrompt, role: 'system' });\n\t}\n\n\treturn {\n\t\tmessages,\n\t\tmodel: params.model,\n\t\tstream: true\n\t};\n};\n\nconst isRecord = (val: unknown): val is Record<string, unknown> =>\n\tval !== null && typeof val === 'object' && !Array.isArray(val);\n\nconst tryParseJSON = (text: string) => {\n\ttry {\n\t\tconst result: unknown = JSON.parse(text);\n\t\tif (isRecord(result)) {\n\t\t\treturn result;\n\t\t}\n\n\t\treturn null;\n\t} catch {\n\t\treturn null;\n\t}\n};\n\nconst buildDoneChunk = (parsed: Record<string, unknown>): AIDoneChunk => {\n\tconst promptEvalCount =\n\t\ttypeof parsed.prompt_eval_count === 'number'\n\t\t\t? parsed.prompt_eval_count\n\t\t\t: undefined;\n\tconst evalCount =\n\t\ttypeof parsed.eval_count === 'number' ? parsed.eval_count : undefined;\n\tconst totalDuration =\n\t\ttypeof parsed.total_duration === 'number'\n\t\t\t? parsed.total_duration\n\t\t\t: undefined;\n\n\tconst hasTokenCounts =\n\t\tpromptEvalCount !== undefined || evalCount !== undefined;\n\tif (hasTokenCounts) {\n\t\treturn {\n\t\t\ttype: 'done',\n\t\t\tusage: {\n\t\t\t\tinputTokens: promptEvalCount ?? ZERO_TOKENS,\n\t\t\t\toutputTokens: evalCount ?? ZERO_TOKENS\n\t\t\t}\n\t\t};\n\t}\n\n\tif (totalDuration !== undefined) {\n\t\treturn {\n\t\t\ttype: 'done',\n\t\t\tusage: { inputTokens: ZERO_TOKENS, outputTokens: ZERO_TOKENS }\n\t\t};\n\t}\n\n\treturn { type: 'done' };\n};\n\nconst buildTextChunk = (content: string): AIChunk => ({\n\tcontent,\n\ttype: 'text'\n});\n\nconst extractTextChunk = (parsed: Record<string, unknown>) => {\n\tconst { message } = parsed;\n\tif (!isRecord(message)) {\n\t\treturn null;\n\t}\n\n\tconst { content } = message;\n\tif (typeof content !== 'string' || !content) {\n\t\treturn null;\n\t}\n\n\treturn buildTextChunk(content);\n};\n\nconst processLine = (line: string) => {\n\tconst trimmed = line.trim();\n\tif (!trimmed) {\n\t\treturn null;\n\t}\n\n\tconst parsed = tryParseJSON(trimmed);\n\tif (!parsed) {\n\t\treturn null;\n\t}\n\n\tif (parsed.done === true) {\n\t\treturn buildDoneChunk(parsed);\n\t}\n\n\treturn extractTextChunk(parsed);\n};\n\nconst processBufferedLines = (lines: string[]) =>\n\tlines.map(processLine).filter((chunk): chunk is AIChunk => chunk !== null);\n\nconst readStreamChunks = async (\n\treader: ReadableStreamDefaultReader<Uint8Array>,\n\tdecoder: TextDecoder,\n\tbuffer: string,\n\tsignal?: AbortSignal\n) => {\n\tconst emptyChunks: AIChunk[] = [];\n\n\tif (signal?.aborted) {\n\t\treturn {\n\t\t\tallChunks: emptyChunks,\n\t\t\tcurrentBuffer: buffer,\n\t\t\tfinished: true\n\t\t};\n\t}\n\n\tconst result = await reader.read();\n\tconst { done, value } = result;\n\n\tif (done) {\n\t\treturn {\n\t\t\tallChunks: emptyChunks,\n\t\t\tcurrentBuffer: buffer,\n\t\t\tfinished: true\n\t\t};\n\t}\n\n\tconst currentBuffer = buffer + decoder.decode(value, { stream: true });\n\tconst lines = currentBuffer.split('\\n');\n\tconst remainder = lines.pop() ?? '';\n\tconst allChunks = processBufferedLines(lines);\n\tconst finished = allChunks.some((c) => c.type === 'done');\n\n\treturn { allChunks, currentBuffer: remainder, finished };\n};\n\nconst parseNDJSONStream = async function* (\n\tbody: ReadableStream<Uint8Array>,\n\tsignal?: AbortSignal\n) {\n\tconst reader = body.getReader();\n\n\ttry {\n\t\tyield* parseNDJSONStreamInner(reader, signal);\n\t} finally {\n\t\treader.releaseLock();\n\t}\n};\n\nconst parseNDJSONStreamInner = async function* (\n\treader: ReadableStreamDefaultReader<Uint8Array>,\n\tsignal?: AbortSignal\n) {\n\tconst decoder = new TextDecoder();\n\tlet buffer = '';\n\tlet done = false;\n\n\twhile (!done) {\n\t\t// eslint-disable-next-line no-await-in-loop\n\t\tconst result = await readStreamChunks(reader, decoder, buffer, signal);\n\t\tbuffer = result.currentBuffer;\n\t\tdone = result.finished;\n\n\t\tyield* result.allChunks;\n\t}\n\n\tyield DONE_CHUNK;\n};\n\nconst fetchAndStream = async function* (\n\tbaseUrl: string,\n\tparams: AIProviderStreamParams\n) {\n\tconst requestBody = buildRequestBody(params);\n\n\tconst response = await fetch(`${baseUrl}/api/chat`, {\n\t\tbody: JSON.stringify(requestBody),\n\t\theaders: { 'Content-Type': 'application/json' },\n\t\tmethod: 'POST',\n\t\tsignal: params.signal\n\t});\n\n\tif (!response.ok) {\n\t\tconst errorText = await response.text();\n\t\tthrow new Error(`Ollama API error ${response.status}: ${errorText}`);\n\t}\n\n\tif (!response.body) {\n\t\tthrow new Error('Ollama API returned no response body');\n\t}\n\n\tyield* parseNDJSONStream(response.body, params.signal);\n};\n\nexport const ollama = (config: OllamaConfig = {}): AIProviderConfig => {\n\tconst baseUrl = config.baseUrl ?? DEFAULT_BASE_URL;\n\n\treturn {\n\t\tstream: (params: AIProviderStreamParams) =>\n\t\t\tfetchAndStream(baseUrl, params)\n\t};\n};\n"
5
+ "import type {\n\tAIChunk,\n\tAIDoneChunk,\n\tAIProviderConfig,\n\tAIProviderStreamParams,\n\tAIProviderToolDefinition\n} from '../../../types/ai';\n\ntype OllamaConfig = {\n\tbaseUrl?: string;\n};\n\ntype OllamaMessage = {\n\tcontent: string;\n\trole: 'assistant' | 'system' | 'user';\n};\n\nconst DEFAULT_BASE_URL = 'http://localhost:11434';\nconst ZERO_TOKENS = 0;\n\nconst DONE_CHUNK: AIChunk = { type: 'done' };\n\nconst mapToolDefinitions = (tools: AIProviderToolDefinition[]) =>\n\ttools.map((tool) => ({\n\t\tfunction: {\n\t\t\tdescription: tool.description,\n\t\t\tname: tool.name,\n\t\t\tparameters: tool.input_schema\n\t\t},\n\t\ttype: 'function'\n\t}));\n\nconst buildRequestBody = (params: AIProviderStreamParams) => {\n\tconst messages: OllamaMessage[] = params.messages.map((msg) => ({\n\t\tcontent: typeof msg.content === 'string' ? msg.content : '',\n\t\trole: msg.role\n\t}));\n\n\tif (params.systemPrompt) {\n\t\tmessages.unshift({ content: params.systemPrompt, role: 'system' });\n\t}\n\n\tconst body: Record<string, unknown> = {\n\t\tmessages,\n\t\tmodel: params.model,\n\t\tstream: true\n\t};\n\n\tif (params.tools && params.tools.length > 0) {\n\t\tbody.tools = mapToolDefinitions(params.tools);\n\t}\n\n\treturn body;\n};\n\nconst isRecord = (val: unknown): val is Record<string, unknown> =>\n\tval !== null && typeof val === 'object' && !Array.isArray(val);\n\nconst tryParseJSON = (text: string) => {\n\ttry {\n\t\tconst result: unknown = JSON.parse(text);\n\t\tif (isRecord(result)) {\n\t\t\treturn result;\n\t\t}\n\n\t\treturn null;\n\t} catch {\n\t\treturn null;\n\t}\n};\n\nconst buildDoneChunk = (parsed: Record<string, unknown>): AIDoneChunk => {\n\tconst promptEvalCount =\n\t\ttypeof parsed.prompt_eval_count === 'number'\n\t\t\t? parsed.prompt_eval_count\n\t\t\t: undefined;\n\tconst evalCount =\n\t\ttypeof parsed.eval_count === 'number' ? parsed.eval_count : undefined;\n\tconst totalDuration =\n\t\ttypeof parsed.total_duration === 'number'\n\t\t\t? parsed.total_duration\n\t\t\t: undefined;\n\n\tconst hasTokenCounts =\n\t\tpromptEvalCount !== undefined || evalCount !== undefined;\n\tif (hasTokenCounts) {\n\t\treturn {\n\t\t\ttype: 'done',\n\t\t\tusage: {\n\t\t\t\tinputTokens: promptEvalCount ?? ZERO_TOKENS,\n\t\t\t\toutputTokens: evalCount ?? ZERO_TOKENS\n\t\t\t}\n\t\t};\n\t}\n\n\tif (totalDuration !== undefined) {\n\t\treturn {\n\t\t\ttype: 'done',\n\t\t\tusage: { inputTokens: ZERO_TOKENS, outputTokens: ZERO_TOKENS }\n\t\t};\n\t}\n\n\treturn { type: 'done' };\n};\n\nconst buildTextChunk = (content: string): AIChunk => ({\n\tcontent,\n\ttype: 'text'\n});\n\nconst extractToolCalls = (message: Record<string, unknown>): AIChunk[] => {\n\tconst toolCalls = message.tool_calls;\n\n\tif (!Array.isArray(toolCalls) || toolCalls.length === 0) {\n\t\treturn [];\n\t}\n\n\treturn toolCalls\n\t\t.filter(isRecord)\n\t\t.filter((tc) => isRecord(tc.function))\n\t\t.map((tc) => {\n\t\t\tconst func = tc.function as Record<string, unknown>;\n\n\t\t\treturn {\n\t\t\t\tid: crypto.randomUUID(),\n\t\t\t\tinput: func.arguments ?? {},\n\t\t\t\tname: typeof func.name === 'string' ? func.name : '',\n\t\t\t\ttype: 'tool_use' as const\n\t\t\t};\n\t\t});\n};\n\nconst extractChunks = (parsed: Record<string, unknown>): AIChunk[] => {\n\tconst { message } = parsed;\n\n\tif (!isRecord(message)) {\n\t\treturn [];\n\t}\n\n\tconst toolChunks = extractToolCalls(message);\n\n\tif (toolChunks.length > 0) {\n\t\treturn toolChunks;\n\t}\n\n\tconst { content } = message;\n\n\tif (typeof content !== 'string' || !content) {\n\t\treturn [];\n\t}\n\n\treturn [buildTextChunk(content)];\n};\n\nconst extractTextChunk = (parsed: Record<string, unknown>) => {\n\tconst { message } = parsed;\n\tif (!isRecord(message)) {\n\t\treturn null;\n\t}\n\n\tconst { content } = message;\n\tif (typeof content !== 'string' || !content) {\n\t\treturn null;\n\t}\n\n\treturn buildTextChunk(content);\n};\n\nconst processLine = (line: string): AIChunk[] => {\n\tconst trimmed = line.trim();\n\n\tif (!trimmed) {\n\t\treturn [];\n\t}\n\n\tconst parsed = tryParseJSON(trimmed);\n\n\tif (!parsed) {\n\t\treturn [];\n\t}\n\n\tif (parsed.done === true) {\n\t\treturn [buildDoneChunk(parsed)];\n\t}\n\n\treturn extractChunks(parsed);\n};\n\nconst processBufferedLines = (lines: string[]) =>\n\tlines.flatMap(processLine);\n\nconst readStreamChunks = async (\n\treader: ReadableStreamDefaultReader<Uint8Array>,\n\tdecoder: TextDecoder,\n\tbuffer: string,\n\tsignal?: AbortSignal\n) => {\n\tconst emptyChunks: AIChunk[] = [];\n\n\tif (signal?.aborted) {\n\t\treturn {\n\t\t\tallChunks: emptyChunks,\n\t\t\tcurrentBuffer: buffer,\n\t\t\tfinished: true\n\t\t};\n\t}\n\n\tconst result = await reader.read();\n\tconst { done, value } = result;\n\n\tif (done) {\n\t\treturn {\n\t\t\tallChunks: emptyChunks,\n\t\t\tcurrentBuffer: buffer,\n\t\t\tfinished: true\n\t\t};\n\t}\n\n\tconst currentBuffer = buffer + decoder.decode(value, { stream: true });\n\tconst lines = currentBuffer.split('\\n');\n\tconst remainder = lines.pop() ?? '';\n\tconst allChunks = processBufferedLines(lines);\n\tconst finished = allChunks.some((c) => c.type === 'done');\n\n\treturn { allChunks, currentBuffer: remainder, finished };\n};\n\nconst parseNDJSONStream = async function* (\n\tbody: ReadableStream<Uint8Array>,\n\tsignal?: AbortSignal\n) {\n\tconst reader = body.getReader();\n\n\ttry {\n\t\tyield* parseNDJSONStreamInner(reader, signal);\n\t} finally {\n\t\treader.releaseLock();\n\t}\n};\n\nconst parseNDJSONStreamInner = async function* (\n\treader: ReadableStreamDefaultReader<Uint8Array>,\n\tsignal?: AbortSignal\n) {\n\tconst decoder = new TextDecoder();\n\tlet buffer = '';\n\tlet done = false;\n\n\twhile (!done) {\n\t\t// eslint-disable-next-line no-await-in-loop\n\t\tconst result = await readStreamChunks(reader, decoder, buffer, signal);\n\t\tbuffer = result.currentBuffer;\n\t\tdone = result.finished;\n\n\t\tyield* result.allChunks;\n\t}\n\n\tyield DONE_CHUNK;\n};\n\nconst fetchAndStream = async function* (\n\tbaseUrl: string,\n\tparams: AIProviderStreamParams\n) {\n\tconst requestBody = buildRequestBody(params);\n\n\tconst response = await fetch(`${baseUrl}/api/chat`, {\n\t\tbody: JSON.stringify(requestBody),\n\t\theaders: { 'Content-Type': 'application/json' },\n\t\tmethod: 'POST',\n\t\tsignal: params.signal\n\t});\n\n\tif (!response.ok) {\n\t\tconst errorText = await response.text();\n\t\tthrow new Error(`Ollama API error ${response.status}: ${errorText}`);\n\t}\n\n\tif (!response.body) {\n\t\tthrow new Error('Ollama API returned no response body');\n\t}\n\n\tyield* parseNDJSONStream(response.body, params.signal);\n};\n\nexport const ollama = (config: OllamaConfig = {}): AIProviderConfig => {\n\tconst baseUrl = config.baseUrl ?? DEFAULT_BASE_URL;\n\n\treturn {\n\t\tstream: (params: AIProviderStreamParams) =>\n\t\t\tfetchAndStream(baseUrl, params)\n\t};\n};\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "7579757CE08DC46864756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "E8F4A4EDC34E55D264756E2164756E21",
9
9
  "names": []
10
10
  }
package/package.json CHANGED
@@ -253,5 +253,5 @@
253
253
  "typecheck": "bun run src/cli/index.ts typecheck --config example/absolute.config.ts"
254
254
  },
255
255
  "types": "./dist/src/index.d.ts",
256
- "version": "0.19.0-beta.237"
256
+ "version": "0.19.0-beta.238"
257
257
  }