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

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.
@@ -86,11 +86,35 @@ var mapToolDefinitions = (tools) => tools.map((tool) => ({
86
86
  },
87
87
  type: "function"
88
88
  }));
89
+ var convertMessage = (msg) => {
90
+ if (typeof msg.content === "string") {
91
+ return [{ content: msg.content, role: msg.role }];
92
+ }
93
+ const results = [];
94
+ const toolUseBlocks = msg.content.filter((block) => block.type === "tool_use");
95
+ const toolResultBlocks = msg.content.filter((block) => block.type === "tool_result");
96
+ if (toolUseBlocks.length > 0) {
97
+ results.push({
98
+ content: "",
99
+ role: "assistant",
100
+ tool_calls: toolUseBlocks.map((block) => ({
101
+ function: {
102
+ arguments: typeof block.input === "object" && block.input !== null ? block.input : {},
103
+ name: block.name
104
+ }
105
+ }))
106
+ });
107
+ }
108
+ for (const block of toolResultBlocks) {
109
+ results.push({
110
+ content: typeof block.content === "string" ? block.content : "",
111
+ role: "tool"
112
+ });
113
+ }
114
+ return results;
115
+ };
89
116
  var buildRequestBody = (params) => {
90
- const messages = params.messages.map((msg) => ({
91
- content: typeof msg.content === "string" ? msg.content : "",
92
- role: msg.role
93
- }));
117
+ const messages = params.messages.flatMap(convertMessage);
94
118
  if (params.systemPrompt) {
95
119
  messages.unshift({ content: params.systemPrompt, role: "system" });
96
120
  }
@@ -260,5 +284,5 @@ export {
260
284
  ollama
261
285
  };
262
286
 
263
- //# debugId=E8F4A4EDC34E55D264756E2164756E21
287
+ //# debugId=BE23827957FF8E3C64756E2164756E21
264
288
  //# 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\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"
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' | 'tool' | 'user';\n\ttool_calls?: Array<{\n\t\tfunction: { arguments: Record<string, unknown>; name: string };\n\t}>;\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 convertMessage = (msg: AIProviderStreamParams['messages'][number]): OllamaMessage[] => {\n\tif (typeof msg.content === 'string') {\n\t\treturn [{ content: msg.content, role: msg.role }];\n\t}\n\n\tconst results: OllamaMessage[] = [];\n\tconst toolUseBlocks = msg.content.filter((block) => block.type === 'tool_use');\n\tconst toolResultBlocks = msg.content.filter((block) => block.type === 'tool_result');\n\n\tif (toolUseBlocks.length > 0) {\n\t\tresults.push({\n\t\t\tcontent: '',\n\t\t\trole: 'assistant',\n\t\t\ttool_calls: toolUseBlocks.map((block) => ({\n\t\t\t\tfunction: {\n\t\t\t\t\targuments: typeof block.input === 'object' && block.input !== null\n\t\t\t\t\t\t? block.input as Record<string, unknown>\n\t\t\t\t\t\t: {},\n\t\t\t\t\tname: block.name\n\t\t\t\t}\n\t\t\t}))\n\t\t});\n\t}\n\n\tfor (const block of toolResultBlocks) {\n\t\tresults.push({\n\t\t\tcontent: typeof block.content === 'string' ? block.content : '',\n\t\t\trole: 'tool'\n\t\t});\n\t}\n\n\treturn results;\n};\n\nconst buildRequestBody = (params: AIProviderStreamParams) => {\n\tconst messages: OllamaMessage[] = params.messages.flatMap(convertMessage);\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": "E8F4A4EDC34E55D264756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "BE23827957FF8E3C64756E2164756E21",
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.238"
256
+ "version": "0.19.0-beta.239"
257
257
  }