{"_id":"@amatelic/oa","_rev":"5-b6b7e4b142030910bc3c43f5af0a7cbf","name":"@amatelic/oa","dist-tags":{"latest":"0.0.203"},"versions":{"0.0.1":{"name":"@amatelic/oa","version":"0.0.1","keywords":["ai","ollama"],"author":{"name":"Anže Matelič"},"license":"MIT","_id":"@amatelic/oa@0.0.1","maintainers":[{"name":"amatelic","email":"amatelic93@gmail.com"}],"homepage":"https://github.com/amatelic/ao#readme","bugs":{"url":"https://github.com/amatelic/ao/issues"},"dist":{"shasum":"9cc8bbe0f8249bd3050befa6a3bb8400b729ea98","tarball":"https://registry.npmjs.org/@amatelic/oa/-/oa-0.0.1.tgz","fileCount":8,"integrity":"sha512-DBbI4TKFKVqHZmN+z/9E1v0DEzxekE4qcExowL/01rTSMS+GpG4wrD5m+gMkdomD/+x3GOPZUDCSi8XfhaVFFQ==","signatures":[{"sig":"MEUCIQDManFMhrsb0ZVCygA6e+6kwbLxstpjcOjdmx+yHqeB7gIgEby7GhNhSfkx5sfZAJ8sdj6pB7C1PtDqA5b0hRD1o74=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44058},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"0e1f1a8a8269d9d1f42897de19d42977616b5c5a","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","prepack":"npm run build","test:watch":"vitest --watch"},"_npmUser":{"name":"amatelic","email":"amatelic93@gmail.com"},"repository":{"url":"git+https://github.com/amatelic/ao.git","type":"git"},"_npmVersion":"11.6.2","description":"Basic libary for creating llm agents","directories":{},"_nodeVersion":"25.0.0","dependencies":{"zod":"^4.1.12","envdot":"^0.0.3","ollama":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.8.1"},"_npmOperationalInternal":{"tmp":"tmp/oa_0.0.1_1761749781758_0.651851976530696","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@amatelic/oa","version":"0.0.2","keywords":["ai","ollama"],"author":{"name":"Anže Matelič"},"license":"MIT","_id":"@amatelic/oa@0.0.2","maintainers":[{"name":"amatelic","email":"amatelic93@gmail.com"}],"homepage":"https://github.com/amatelic/ao#readme","bugs":{"url":"https://github.com/amatelic/ao/issues"},"dist":{"shasum":"0cef935bcf19eb516deeac7e9e0fdd8202a3630e","tarball":"https://registry.npmjs.org/@amatelic/oa/-/oa-0.0.2.tgz","fileCount":8,"integrity":"sha512-IS/Ovp04l+PMWC5BYdx/nQEevTN8ecDMQcmnWXqGwZrYIR1QPWl9GQ7FNR9j5oQKXLKzSRkHGi7WYAy9lrToyg==","signatures":[{"sig":"MEUCICAagUHRFAqJrj+BQDNZS+Zwcerk2unUwXC8oTbCvUcfAiEA/85JYuLKWCaTW2iUIHjMxplkHtt3ss/yZCScIZ/znBo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88710},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"a17dd3e8147f586d4c4def79a4495c4cdfd04993","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","prepack":"npm run build","test:watch":"vitest --watch"},"_npmUser":{"name":"amatelic","email":"amatelic93@gmail.com"},"repository":{"url":"git+https://github.com/amatelic/ao.git","type":"git"},"_npmVersion":"11.6.2","description":"Basic libary for creating llm agents","directories":{},"_nodeVersion":"25.0.0","dependencies":{"zod":"^4.1.12","envdot":"^0.0.3","ollama":"^0.6.0","html-to-text":"^9.0.5"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.8.1"},"_npmOperationalInternal":{"tmp":"tmp/oa_0.0.2_1762372744495_0.6886582831979142","host":"s3://npm-registry-packages-npm-production"}},"0.0.201":{"name":"@amatelic/oa","version":"0.0.201","keywords":["ai","ollama"],"author":{"name":"Anže Matelič"},"license":"MIT","_id":"@amatelic/oa@0.0.201","maintainers":[{"name":"amatelic","email":"amatelic93@gmail.com"}],"homepage":"https://github.com/amatelic/ao#readme","bugs":{"url":"https://github.com/amatelic/ao/issues"},"dist":{"shasum":"a80aaeeaba93c2ff475712cec5731e913438107d","tarball":"https://registry.npmjs.org/@amatelic/oa/-/oa-0.0.201.tgz","fileCount":8,"integrity":"sha512-NLevZFu/KTwkZUG7ij3gNQyKtlXaf7wILbR1D4p3UzaRBGQlK9XXdP7h8b8Dci16KAEAeQUqQKx01YWTe28FCA==","signatures":[{"sig":"MEYCIQDq04wNL7simaO4nzImjP15kyCt5Y4lImCHyla0AONjKQIhAKysR8J+qgh1wbrsFWJQwJNgWNh9NYYVoTCyOasbt3kF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101998},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"2c957717de9ff40c4777afa4e3c8f62466157e52","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","prepack":"npm run build","test:watch":"vitest --watch"},"_npmUser":{"name":"amatelic","email":"amatelic93@gmail.com"},"repository":{"url":"git+https://github.com/amatelic/ao.git","type":"git"},"_npmVersion":"11.6.2","description":"Basic libary for creating llm agents","directories":{},"_nodeVersion":"25.0.0","dependencies":{"zod":"^4.1.12","envdot":"^0.0.3","ollama":"^0.6.2","html-to-text":"^9.0.5"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.8.1"},"_npmOperationalInternal":{"tmp":"tmp/oa_0.0.201_1763129547839_0.1422897478740417","host":"s3://npm-registry-packages-npm-production"}},"0.0.202":{"name":"@amatelic/oa","version":"0.0.202","keywords":["ai","ollama"],"author":{"name":"Anže Matelič"},"license":"MIT","_id":"@amatelic/oa@0.0.202","maintainers":[{"name":"amatelic","email":"amatelic93@gmail.com"}],"homepage":"https://github.com/amatelic/ao#readme","bugs":{"url":"https://github.com/amatelic/ao/issues"},"dist":{"shasum":"ef8757cbfb6f5123883006f4d2aa495717f13c46","tarball":"https://registry.npmjs.org/@amatelic/oa/-/oa-0.0.202.tgz","fileCount":8,"integrity":"sha512-BjiyqpRfeYnoqKVJlntU5OkPGrCoSshIYtQrGKuSsUXRE/Vmq6YBKwuEGbTFEqR0afoc11Bbw5PY+ab3D5m3Mg==","signatures":[{"sig":"MEYCIQCalXXf3saD/ucBt59hFli0LL7jBQzmxRwhqu2Vj/wJIQIhAJSJtFP9GuNlUVKSIQWDCKUBtWA3UHaXPeFA4S3UDVCO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":165809},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"bb081844bdb4b843bf60115d895683aa58e1ce71","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","prepack":"npm run build","publish":"npm publish --access public","test:watch":"vitest --watch"},"_npmUser":{"name":"amatelic","email":"amatelic93@gmail.com"},"repository":{"url":"git+https://github.com/amatelic/ao.git","type":"git"},"_npmVersion":"11.6.2","description":"Libary for easies interaction with Ollama api","directories":{},"_nodeVersion":"25.0.0","dependencies":{"zod":"^4.1.12","envdot":"^0.0.3","ollama":"^0.6.2","html-to-text":"^9.0.5","@types/html-to-text":"^9.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.8.1"},"_npmOperationalInternal":{"tmp":"tmp/oa_0.0.202_1765983761867_0.6735403964281297","host":"s3://npm-registry-packages-npm-production"}},"0.0.203":{"name":"@amatelic/oa","version":"0.0.203","description":"Libary for easies interaction with Ollama api","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","scripts":{"build":"tsup","dev":"tsup --watch","test":"vitest run","test:watch":"vitest --watch","prepack":"npm run build","publish":"npm publish --access public"},"keywords":["ai","ollama"],"author":{"name":"Anže Matelič"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/amatelic/ao.git"},"bugs":{"url":"https://github.com/amatelic/ao/issues"},"homepage":"https://github.com/amatelic/ao#readme","devDependencies":{"@types/node":"^24.8.1","tsup":"^8.5.0","typescript":"^5.9.3","vitest":"^3.2.4"},"dependencies":{"@types/html-to-text":"^9.0.4","envdot":"^0.0.3","html-to-text":"^9.0.5","ollama":"^0.6.2","zod":"^4.1.12"},"gitHead":"29a335c2dcd80343b2fdbd16cd21090654a90056","_id":"@amatelic/oa@0.0.203","_nodeVersion":"25.0.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-tMmpCM4+fzowzsUr05JXq9TaOgcyIZKhm2sqb90fi3yuzQqtnSUTiTQHB+wFk0G0WKoNrqB6oIYCYn92tD2omQ==","shasum":"fa72a2cae9f97b53b47d263075c24df6b1545263","tarball":"https://registry.npmjs.org/@amatelic/oa/-/oa-0.0.203.tgz","fileCount":8,"unpackedSize":165809,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEeK5RmXnplKz37lrxwpdunIQ5N+e25vzIKHnNlF7qdyAiEA6ArZYCrQCQTPTxmfrEVtvCuTN9GS2z2FPLg5vOOtjO0="}]},"_npmUser":{"name":"amatelic","email":"amatelic93@gmail.com"},"directories":{},"maintainers":[{"name":"amatelic","email":"amatelic93@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/oa_0.0.203_1765983861271_0.23571456243383326"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-29T14:56:21.636Z","modified":"2025-12-17T15:04:21.594Z","0.0.1":"2025-10-29T14:56:21.935Z","0.0.2":"2025-11-05T19:59:04.707Z","0.0.201":"2025-11-14T14:12:28.053Z","0.0.202":"2025-12-17T15:02:42.030Z","0.0.203":"2025-12-17T15:04:21.417Z"},"bugs":{"url":"https://github.com/amatelic/ao/issues"},"author":{"name":"Anže Matelič"},"license":"MIT","homepage":"https://github.com/amatelic/ao#readme","keywords":["ai","ollama"],"repository":{"type":"git","url":"git+https://github.com/amatelic/ao.git"},"description":"Libary for easies interaction with Ollama api","maintainers":[{"name":"amatelic","email":"amatelic93@gmail.com"}],"readme":"# OA\n\nA library for easier construction and interaction with Ollama.\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Basic Usage](#basic-usage)\n- [Tool Calling](#tool-calling)\n- [Data Sources](#data-sources)\n- [Ollama Search](#ollama-search)\n\n## Installation\n\n```bash\nnpm install @amatelic/oa\n```\n\n## Basi Usage\n\nThe api supports two types of responses. Streaming and non-streaming.\nBelow you can see the example of the streaming version\n\n### Streaming Response\n\n```js\nimport { oa } from \"@amatelic/oa\";\n\nasync function main() {\n  const { prompt } = await oa({\n    model: \"qwen2.5vl:3b\",\n    stream: true,\n  });\n\n  const iterator = await prompt(\"What is the capital of Slovenia?\").call();\n\n  for await (const part of iterator) {\n    console.log(part);\n  }\n}\n\nmain();\n```\n\n### Non-Streaming Response\n\n```js\n// non streaming version\nimport { oa } from \"@amatelic/oa\";\n\nasync function main() {\n  const { prompt } = await oa({\n    model: \"qwen2.5vl:3b\",\n    stream: false,\n  });\n\n  const prompt = await prompt(\"What is the capital of Slovenia?\").call();\n  console.log(promptConfig.message.content));\n}\n\nmain()\n\n```\n\n## Tool Calling\n\n```js\nconst { tool, prompt } = await oa({\n  ...config,\n  model: \"qwen3:4b\",\n  stream: false,\n});\n\nconst weatherTool = {\n  type: \"string\",\n  function: {\n    name: \"weather\",\n    description: \"Get the weather for a given city\",\n    parameters: {\n      type: \"object\",\n      properties: {\n        city: {\n          type: \"string\",\n          description: \"The city to get the weather for\",\n        },\n      },\n      required: [\"city\"],\n    },\n  },\n};\n\nconst weatherToolPrompt = tool({\n  tools: [weatherTool],\n  exec: {\n    [weatherTool.function.name]: (args: { city: string }) => {\n      return Promise.resolve(args.city);\n    },\n  },\n});\n\nconst response = await weatherToolPrompt(\n  prompt(\"Get the weather for New York\"),\n);\nconsole.log(response.message.content) // \"New York\"\n```\n\n## Data Sources\n\nUtility functions for importing data into prompts:\n\n- **search**: Get multiple links related to the query (uses Ollama API)\n\n```js\nimport { oa, source, utils } from \"@amatelic/oa\";\n\n  const { search } = source;\n  const { pipe } = utils;\n\n    const { prompt } = await oa({\n      model: \"qwen2.5-coder:7b\",\n      stream: false,\n    });\n    const url = \"https://gdo-studio.si\";\n    const data = await pipe(search(url), [\n      prompt(\"Make a readme for the links\"),\n    ]);\n    \n  ```\n\n- **web**: Get content from a single website (uses Ollama API)\n- **csv**: Support for importing CSV files to prompts\n- **generateText**: Helper function for generating random text\n\n## Ollama Search\n\nTo use Ollama search functionality, you need to provide an Ollama API key.\n\n### Generate API Key\nYou can generate an API key at [ollama.ai](https://ollama.com/settings/keys)\n\n\n### Environment Variable\n\n```\nOLLAMA_KEY=your_api_key_here\n```\n","readmeFilename":"readme.md"}