{"_id":"@everworker/oneringai","_rev":"50-6820004ef5bdcdbf6742f68fb5d6fee8","name":"@everworker/oneringai","dist-tags":{"latest":"1.2.3"},"versions":{"0.1.0":{"name":"@everworker/oneringai","version":"0.1.0","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.1.0","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://github.com/Integrail/oneringai#readme","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"f916c7b293ffb87e4791500d30cb42aef6b898fa","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.1.0.tgz","fileCount":27,"integrity":"sha512-K5loArvfdra+jxz8betvB7nTIF04qOl7fGppU6mX54slmk0zaXQxAQHA2PrLHm4J4TEac50gIR7t600DiJ6ffA==","signatures":[{"sig":"MEQCIG9duG3xIcFpXvcbMaB32LSxG8zDJPwnOH83LzIJZkpAAiAHEknvqyXEsxTCLEzQcdZd1fKDHRGsyBA6Sjt70EicDA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12142016},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"}},"gitHead":"347a2038e46b7859c61ada83149bb652c17d696d","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","dotenv":"^17.2.3","openai":"^6.16.0","cheerio":"^1.1.2","turndown":"^7.2.2","clipboardy":"^5.0.2","simple-icons":"^16.7.0","@google/genai":"^1.34.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.30.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"optionalDependencies":{"puppeteer":"^24.34.0"},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.1.0_1770296225164_0.018037073089332","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@everworker/oneringai","version":"0.1.1","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.1.1","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://github.com/Integrail/oneringai#readme","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"473ea3185f28f2550056384f8ab6c846f2762e45","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.1.1.tgz","fileCount":27,"integrity":"sha512-ogBe+OIMNyIatGiM9Bsz0VxSrQ9RTGUdsT7orInsrgcRmEm7tXh0Hq6z9BTqwcSDCSU45KlUwyZYYmylUe8tEw==","signatures":[{"sig":"MEUCIQC2MU+ZLtcQnz8UNroANItpfNgupfJxt+oxPfUaPpcABwIgN8FKoLYbbZ88fvwXbK4PBbZ+vLNNPAS5dkyXJawXOD0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12307099},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"}},"gitHead":"83df7837043b437a80af0bfde0fa4f4f3862275b","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","dotenv":"^17.2.3","openai":"^6.16.0","cheerio":"^1.1.2","turndown":"^7.2.2","clipboardy":"^5.0.2","simple-icons":"^16.7.0","@google/genai":"^1.34.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.30.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"optionalDependencies":{"puppeteer":"^24.34.0"},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.1.1_1770389907414_0.13708425067946428","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@everworker/oneringai","version":"0.1.2","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.1.2","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://github.com/Integrail/oneringai#readme","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"f932da4387513644f7f4d5be7eb2cefe2d33a357","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.1.2.tgz","fileCount":27,"integrity":"sha512-SP5Tx7/TOi/8MQDmh7ZsaGXDpSxJcZ0gy1ZjEJlfpfTd80pa2FoQpAJUJ+OznjTfflpVaRDNz2FFvW4TMtjSwA==","signatures":[{"sig":"MEUCIQCV69wKTXY12498vCiFD7YwUDeypXJlrwAfkblrN1KCVQIgJmeRJsbhULEE5hqUgaHqvB/HTiKfdd7jXslpDpD+1Y4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12105898},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"}},"gitHead":"0013607b6b4ebe93b1d15259e6c54d7691e6cb41","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","dotenv":"^17.2.3","openai":"^6.16.0","cheerio":"^1.1.2","turndown":"^7.2.2","clipboardy":"^5.0.2","simple-icons":"^16.7.0","@google/genai":"^1.34.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.30.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"optionalDependencies":{"puppeteer":"^24.34.0"},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.1.2_1770414085344_0.5931083257969503","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@everworker/oneringai","version":"0.1.3","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.1.3","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://github.com/Integrail/oneringai#readme","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"702b4495bf701db2844a8cc2531c7dce15a3534f","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.1.3.tgz","fileCount":27,"integrity":"sha512-Kvu5Lq9M/H7ma0KQkhydj4oqR/ogL9eOnOpLG4h0oRBz6d8PuPC0AcQSRG80bJZLnCjBNovU4cS8Au2IutGc9A==","signatures":[{"sig":"MEUCIE6cGdrbjaH8mve4L1nAkvRyQvomNuNHtoPNDb2NLxv5AiEA+Mm0WaWk6mmRwwRXyR/QsP0WN14OHjO89BXjFiHdd0A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12150652},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"}},"gitHead":"0eb1ea0f49f7fefb088eaafb5b87047e3de888ad","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","dotenv":"^17.2.3","openai":"^6.16.0","cheerio":"^1.1.2","turndown":"^7.2.2","clipboardy":"^5.0.2","simple-icons":"^16.7.0","@google/genai":"^1.34.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.30.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"optionalDependencies":{"puppeteer":"^24.34.0"},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.1.3_1770454585573_0.518251007457154","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@everworker/oneringai","version":"0.1.4","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.1.4","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://github.com/Integrail/oneringai#readme","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"a5d78d2e79bf584d16b0325fc1ffebdc3611d362","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.1.4.tgz","fileCount":35,"integrity":"sha512-EZmAJIAaCfJZCzcZsPzKx47dq81Ur3i9BW5MymAe1ivCYQieraiMb2H84R/yyY+pTnIrRrYESbQKwnVE+rlfEQ==","signatures":[{"sig":"MEUCIFsG2LdzqFxmhZw3byF8crHfDhgqeydk+5vlBvJzX1adAiEA5GY4NeKTXCgagixOHAa49ie7kNbjnP1YS+INHFk8X9w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12732234},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"eaa1f56ff0e7450aa4fd80c6f7a470f10982dfda","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","dotenv":"^17.2.3","openai":"^6.16.0","cheerio":"^1.1.2","turndown":"^7.2.2","clipboardy":"^5.0.2","simple-icons":"^16.7.0","@google/genai":"^1.34.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.30.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"optionalDependencies":{"puppeteer":"^24.34.0"},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.1.4_1770586325461_0.5070384441856453","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@everworker/oneringai","version":"0.2.0","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.2.0","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://github.com/Integrail/oneringai#readme","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"af60e3a2d386ef9c80092e0ab025ad13d3b65535","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.2.0.tgz","fileCount":35,"integrity":"sha512-gig3aA8jSs3Faa/WVKrwngLB4ZNoL0JunKr6PfSerRk2r/5ku/1SQG/8mEE+tyGu93BunnGc3z4INVA4qEDEjg==","signatures":[{"sig":"MEYCIQDnMuC+1193LwXEOaq+pHDsZmQ0Ahol67/rSF6b8u6OmwIhAIYJUs2E+EHEdfUPXFmu7xuz55Ar1sQqMBY/ZxSDlw0V","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12740214},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"c58c15186ac5b28a2cd9c586644d244d6b031fdb","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","dotenv":"^17.2.3","openai":"^6.16.0","cheerio":"^1.1.2","turndown":"^7.2.2","clipboardy":"^5.0.2","simple-icons":"^16.7.0","@google/genai":"^1.34.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.30.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.2.0_1770669032535_0.9911223127134756","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@everworker/oneringai","version":"0.2.1","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.2.1","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://github.com/Integrail/oneringai#readme","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"43c7d623c46e6551009f5b2c74e5279e13218e8d","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.2.1.tgz","fileCount":35,"integrity":"sha512-l6w7gUG1BHJ2RNIt/aW3hN8UqrZN+bR34h81m3w+4+nplyl0uq5z5yi4/mOt9y9tHM17X3Z0S2CinzpKchl/kA==","signatures":[{"sig":"MEYCIQDPn/7B+ZVmc4n1Veoww5zeb3S541QMNGsw5748WjM/rAIhAOYWcs/ycBgFS5dbKDo/ll1SLiLQSAEzp/TBdeB9rAmw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13364099},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"285c2379d7913077cabce83c5bf50b7cfbf29e4a","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.16.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.34.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.30.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.2.1_1770825046238_0.6356339745888346","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@everworker/oneringai","version":"0.2.2","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.2.2","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://github.com/Integrail/oneringai#readme","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"1b3787672ead84d0ccd2decd8013d6010eca54b0","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.2.2.tgz","fileCount":35,"integrity":"sha512-kFrBZd4v8okoYDbYxhcj4a3AUVnzKVK8J3jHeATZ4LTQfG5NzpBnba/3iki21RblP/Y62EeeZpRTth4XXSz+xg==","signatures":[{"sig":"MEYCIQCF/gTaz93otmer+1tPMCnf6FqZZqykxIEug+Nbuh9w7QIhAJAopblEMcGyZEFP40VeOYYjmpQl+Cpyq2OxmaT8fiBv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13460396},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"d60acb20eb39f9ceec756224c6ad3f92af13bd5c","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.16.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.34.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.30.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.2.2_1771262710514_0.7015128720262169","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@everworker/oneringai","version":"0.2.3","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.2.3","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"4aaf8b3953286fa8d168e73587b6909711588d44","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.2.3.tgz","fileCount":35,"integrity":"sha512-pigwheFR+qKy+98SifPGnSaOjurUQH39/wwm9dAbXEcgfXLqcQ/wexInz6whkWFbtfy0aUD4OKpvCSxdTd27Lw==","signatures":[{"sig":"MEQCIAjTgNj09Oe3N34mP7/LX4fqVVWrKz6wwed4B7f/BZkJAiAJ2LFuDxoL+0RuNf2ENRmluDldlnnVExJjtsiKE0zz+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13698375},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"ab903fdf328776c60e73792401505da28c4954df","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.16.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.34.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.30.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.2.3_1771360328166_0.2615026512619838","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@everworker/oneringai","version":"0.3.0","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.3.0","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"73216477f1c82aadbe877f91cba97b12edd38b85","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.3.0.tgz","fileCount":35,"integrity":"sha512-B/U4lGob9Ao28zs3WnXBYQ/TRxyQO/56eOQPUcP87CymSuHVKXbSuaBaQ6r0HtBmXKfAhf/eun9Nr0vgEmGNRQ==","signatures":[{"sig":"MEQCIDsCEr3FQp8v8QdJ/c3jXCoGNZxsLNV+cXymAIpMR2akAiAdO1ClHFbCkcym4jEmaOiDbCUUekGy0bCzH+RwDZxXmg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12443588},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"aa1d7dba360ef1c5e170a99b612250b37d640517","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.76.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.3.0_1771430684966_0.2300906006374015","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@everworker/oneringai","version":"0.3.1","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.3.1","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"ca4c7a982b02ede29955610190ab6dac9b0e4d24","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.3.1.tgz","fileCount":35,"integrity":"sha512-jHc3b2xnxsUzxsM2gcw9PpWRAwulRIsX1Q1abMBc35cHpn0UBLGGWyRjgbVcOKUiEEkWAUSwofDObwjo3sdKpw==","signatures":[{"sig":"MEUCIQCUBD3GpCWOaRyY7J5gZheF1Z3u5EVsGAJo9K6IBBNwkQIgLBjOBOC0KiS/0rwo+CQmj1sjFRO+irSxaxlqq5jzKs4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12447177},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"97fcb39d16529b089005bc4961e627c605b7a6d9","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.76.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.3.1_1771448883697_0.129756729228923","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@everworker/oneringai","version":"0.3.2","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.3.2","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"8af7396dc239acd4a018e3fe24f148c6119ea47c","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.3.2.tgz","fileCount":35,"integrity":"sha512-+2rTtMWiMVG2xPrLUgBFrpWVTV8KjSk3dz1xY+Xv2cJNgK9+dl8ZEVfO5W2R1Al0fDjJ2plKEcUKHfIYmf1c6Q==","signatures":[{"sig":"MEQCIC/6FaSpQoVs1IkCiWKjAnney2dQwa2UpIV1TMfjxL/VAiBfhFfQrmrXEQ+wq44MIIMTrXhR7kCT7Pku360iH8EVkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12603294},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"95a9abf97bae46a6f1f785640b5aeb7e0c810d40","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.76.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.3.2_1771506946822_0.3761904609249873","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@everworker/oneringai","version":"0.4.0","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.4.0","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"74d9bb0927b26f816ebfb554017d2d5d1947637a","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.4.0.tgz","fileCount":35,"integrity":"sha512-z98SmSwX1soXvdeamydeU0m1f8jVVMFuN2AfFTL4QZpC+vQP3dsDp8RSpDcQbHgW/1ubW053uaHu07LeX+b2pg==","signatures":[{"sig":"MEQCIHnEUZ0xydHOmhoCLd8IwMEjByLX82d/Fanx9Dg3MHa9AiBmteID42ji/99Wc+Dxm4pJLMRO0yS5NXCPAlmmGYGPog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13066548},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"8a51a6b4c5df37eb362433bc844ddcd1ebc22ad6","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.76.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.4.0_1771609579135_0.8732081382193013","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@everworker/oneringai","version":"0.4.1","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.4.1","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"f549f5b06629ff0dbd2aa07d9eba51bc4124377b","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.4.1.tgz","fileCount":35,"integrity":"sha512-TD86JMLKuGumuwBbRfG9pj5rUFH14W8HYD+GMSpq4Bxodc6/UfjHTlLUsEuiwTZAeVEqEw6cO/gPZCEZ2d0IxA==","signatures":[{"sig":"MEQCIB509FUE8/nYjGO/JB+rpTiXz7z8nZ9/QadLFm1kEOfHAiAboP5E5u5JkqvgRA/HRoUrDdUOObkXuUj20x7aXGKotg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13101217},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"c603b40e69c11c945843c0a3cef4723f44ea44f7","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.76.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.4.1_1771615814132_0.5124514465399341","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@everworker/oneringai","version":"0.4.2","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.4.2","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"1162f3cbda7f0297c8064f15db9fcbac00284a3c","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.4.2.tgz","fileCount":35,"integrity":"sha512-eYxfnNK7d8v4NBNtNlfymNxa1mQiLHkpP1BH63GdpptHu7p6HqHo5+dMZKtAw4VzDKe1DLr0lCJxXLOZps4L+g==","signatures":[{"sig":"MEQCIF6srB1ay1YdCEGkqva1yOuX36Z+lciaHmJhlndnSqG7AiB118MQhhdNNddo3rTTeAta6+GgrDpzVfPKCnn1TZXM7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13276508},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"a7784ca0cc2fbdce85f8b9b51690ba885e55cbd8","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.76.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.4.2_1771797369204_0.3643075611191817","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@everworker/oneringai","version":"0.4.3","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.4.3","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"8bd665d01f86474194e91be1569cfb694ae8f2c1","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.4.3.tgz","fileCount":35,"integrity":"sha512-ir0vgcCHxY7ePZqD/gXyccv8Zud2Y6UhNGBpFQDQxTjoGq7yKn5IeKEHiKa6FReP4Uzd/iNpz/89oy0iobaDyw==","signatures":[{"sig":"MEUCICgLSW8w1yUiJ2Ie0zYAHSSS7tbxXttGMwXuGCIjD8MCAiEA+pLg0ephtwpLMDVfnWHBHmew3OVPN8KF3iChbprdFhI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13596431},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"aa1eaaba3e0b5ca3339b804eb1008bf59de7ee70","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix packages/react-ui build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.76.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.4.3_1772051618028_0.018521698234330586","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@everworker/oneringai","version":"0.4.4","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.4.4","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"cd33809fc70daf5ac97893d277e723604bcad581","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.4.4.tgz","fileCount":35,"integrity":"sha512-+WS/+annTTEg6Br6tgIX97iLUpE6jvX+TeCoyiUarZem0SBCcw7tWdxR0RqMghqkD1bbwjlwimM6avcf9nbSWw==","signatures":[{"sig":"MEMCH0vGm5u3Y6rLCwcK8nbVqFruQ5Okf0PRWROfxpyDRxECIHLvzRoNGi8Cq1WW8AYiRQNZfwHSbnW4Weox5pWMaaL9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14337224},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"0997c1b826818066dff2e922954b437afa0ab25a","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix packages/react-ui build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.76.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.4.4_1772142392826_0.9924910745692601","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@everworker/oneringai","version":"0.4.5","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.4.5","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"8b1f82c8c72b0b4925492bfe1d9c27d7e0492738","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.4.5.tgz","fileCount":35,"integrity":"sha512-HINDha6kx+5OjrZT30pjfABOkJez0+QxXbjovNrDYyUMf/3j5OO+215LqaQxbOXLt0SEpQzQFhwvD2B+sSK19A==","signatures":[{"sig":"MEUCIFDo3v4JCAs8UQeZU4xvb6iyPt9kJUXc/VfU3OqN+ch8AiEAu+APW5lrKcYbGYoHE45ESrVqaToPCO019eiulmQZTv0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14341920},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"a9d6a0618719fe54f31e0ae00173e332baacb978","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix packages/react-ui build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.76.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.4.5_1772230519714_0.11776748752900623","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@everworker/oneringai","version":"0.4.6","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.4.6","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"26d65a039d0921bf25f87ce03a8519171ffae1a5","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.4.6.tgz","fileCount":35,"integrity":"sha512-Awcf1I1MsmnGVmkkA5LQ6gZeCaJnqURNl3ewpwKniHpHi4eOYoMxjiLD3Zsg8WyB9L59XByOrWC2Xy/LrzZ+Cg==","signatures":[{"sig":"MEYCIQCY1Si9TAfUhobern4UqCnA8P1OBHDtfwPQU4kRLSmNuQIhAJyyAj/qGc4JZIF/mHBMa9h2K6S0pW54s1O+ollH2Wjo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14686570},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"fddf5b89f7a279f142e226a982c567564bb493f4","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix packages/react-ui build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.76.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.4.6_1772645194704_0.472219829245347","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"@everworker/oneringai","version":"0.4.7","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.4.7","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"9ffe9fb6cb14d1f38d3bb3da8bf391625555e94d","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.4.7.tgz","fileCount":35,"integrity":"sha512-/3k6Gk59MiZK9I+wk7fGixMcTzArOQ+l74FSOkiwHw2zuzp/mWWu7szpQdmB8yEZd9rzq4htv2VxD3kKmysGkw==","signatures":[{"sig":"MEUCICyncDq72IN0Y6aPua+vOPbC4WXvuSSAPuUrLvylIXKoAiEAlhnbHLMKpoCcSrMGxsPZOEGbr9BxzArc0iOGfv+ouGo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14879558},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"0242433f91300e877d46a1d95f85985f2d5ea368","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.76.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.4.7_1773178635451_0.7182023948198692","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"@everworker/oneringai","version":"0.4.8","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.4.8","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"4538859bdb477a5bfa6cbff9c68d915b2ae18a11","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.4.8.tgz","fileCount":35,"integrity":"sha512-7erLtvlw23C6suiDzwDXnSRx5/bfa1hkCQs+L2NHI435jbZ4SU+UikvG247wQidAj16e83ug48N9WUrObg2W3A==","signatures":[{"sig":"MEUCIQCrgeHrOuDBg7B2cN8GGIa46o0+u8ztRQ0moiYYBu1u9QIgLFnqXLpyLFrJm4g7xn7zEsBX0wGf+0ekQ8b4xl7hxtM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15270050},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"06455b7a31771c29d3d3658b3e4d6594fe2a6bce","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.76.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.4.8_1773341236362_0.6991574294167158","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@everworker/oneringai","version":"0.5.0","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.5.0","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"453c9b80ba8871a53b7beeb20c0095984d453890","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.5.0.tgz","fileCount":37,"integrity":"sha512-duFdKYLlZQSdsu0wlkzc6zUB2Ind1QlSUypXD8PoOHp5YCy2NX4sy3BuR8SSLlTuxYhgiFywA1Fg0ZSDe4T57Q==","signatures":[{"sig":"MEUCIFAq/GYzmpG4qYDfoZp4qhYDrI7qJ6Rtn1ulpc+eDtCUAiEAq0uWO1nWUdpJO/+XxYC+iBLoaScSMCwCIWyohT/vBNg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18144216},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"d23d6cbd27ff08436b2c0af73ebf8ea654184da0","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.76.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.5.0_1773740089599_0.4492787915187335","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@everworker/oneringai","version":"0.5.1","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.5.1","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"2441abf0cdc7b0b2cd2857cc48d003a4073820fb","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.5.1.tgz","fileCount":43,"integrity":"sha512-bXDeSHjqvR8Jh0HKjCpT7CwTRE5B/455zcDBrqV/K1Q7S6Rc2mxs/92123yl4+kklrkylG79rKBQmi9PxUQBTQ==","signatures":[{"sig":"MEYCIQCZsBM1RLFYgWYSwerT6m5MkieifsuT/QMwL+GMNsnspAIhANzPg7hs9r+qeGEwrDdVoOh0OPlzLLXK3WVdwh/+pUy3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20802419},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"e38e6be0764003d507daa8705c0dd7c7e6e3ff2d","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.76.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.5.1_1775087666180_0.4022568692127395","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@everworker/oneringai","version":"0.5.2","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.5.2","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"69ad286ace5e11ea578d65bc393115fca8165915","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.5.2.tgz","fileCount":43,"integrity":"sha512-2/TDULV9nvy6BXeFuqLnEmj5ZgkOrF7zKShpexaWjvmnwui/qs2FXJr98aPf62abou8UjKKQqG6gZZFplYSinA==","signatures":[{"sig":"MEUCIE8oS98D5jjBVpvcfmXX0PeKh4oeWjHWszvhqBr2lPaEAiEAuY1CWy3jo2VP0atdz4FMcHm9fZ2+LF7TlgXE7OP/JE8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21227428},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"e04534c0b387d146300453c9ab4d8974b9d0a1d7","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.76.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.5.2_1775656714902_0.14198935780277866","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@everworker/oneringai","version":"0.5.3","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.5.3","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"a1777320530134975e5150b269c6dc195d9b1c1c","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.5.3.tgz","fileCount":43,"integrity":"sha512-fpHMHzuCGnyWbpV/3xBdK2E0Kb8GpJd5G3uxOHqElx4n2j6o3kNOWfE5I11t1pGh+fDgXSWw0XjcoCducDZDdQ==","signatures":[{"sig":"MEYCIQC81cmf/eU1eFn6WmlJkJQYO2o7drrQbUSlSXSc+SVC/gIhAIKzwWPkJvnxqY+2OqwzcJz5zpzNqrYOHAJZ2tNIzqmN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22625688},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"69b05dee3648c11840a4439b3c591dadf1ed6064","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.76.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.5.3_1775855204366_0.6308517825558433","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"@everworker/oneringai","version":"0.5.4","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.5.4","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/Integrail/oneringai/issues"},"dist":{"shasum":"7b86d904b6e6891b50872c3a78e611350cfad51f","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.5.4.tgz","fileCount":43,"integrity":"sha512-rrjJWsxAP7T0MwkMQpLM8BJp1Qm6AT4jFyt1VPKp3eBNh9RJG0Sr55vXn9/3IHaeqBETiK3Fl3eLqn1TzKRkzQ==","signatures":[{"sig":"MEUCIQDJGf2a3/ePeIGbl3/ID1BUZ6w3fWzZIdk/1OJ1S22SwQIgBB4wKDt1rXOMfGENKSNTWEHoJqV83jj9AMFh23pkYe4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22836650},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"67765bdf56957355a94d2cc0e9156e0a337af8bf","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/Integrail/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.76.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.5.4_1776015302944_0.5808387107817146","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"@everworker/oneringai","version":"0.5.5","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.5.5","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/aantich/oneringai/issues"},"dist":{"shasum":"3cec552e7fed04865854989966eea24e4bed174b","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.5.5.tgz","fileCount":43,"integrity":"sha512-vQtBPszsI/p/qkEINx36MEWl8x3DfJkY6BH9Mf9glI1r6jCfUXOA3BjcjbNkOgLM+F9T0dSxzDGONPztZ1AsNA==","signatures":[{"sig":"MEYCIQDUmHNma7tuSqxy5SjHSWfMfavjrOPza+sGi1UpCaDf8QIhAJtUSkrU6HwPnGREL73FZI7++a4GAiz97I30TX2xvvQw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22919853},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"1807f07b29b5b25bd1d9f98fc36803389ad97ce5","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/aantich/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.76.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.5.5_1776183207006_0.550140148985393","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@everworker/oneringai","version":"0.6.0","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.6.0","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/aantich/oneringai/issues"},"dist":{"shasum":"5d0161a32348db3a5f489e9c505c20f7e4d9469a","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.6.0.tgz","fileCount":43,"integrity":"sha512-l7RAo8tN+At/EJdLK7UdlniqOuseYYeG95cxZqAPlk/2wO/LZOjTmJIsMEBgRxloeyWGmAC3YJQcEwYQum+G3g==","signatures":[{"sig":"MEYCIQCvdx7XSv5xmkODY9PxUIPoM/J5hyXNWIK35GW0k2GQ/QIhAPOxmyyKVDw6UwhUGsQIwWF3AmS/nC97isq03nZMVaer","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26850431},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"5f48189426d1f2a784c1386a0938e746f3c2aba1","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/aantich/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.90.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"mongodb":">=5.0.0","@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"mongodb":{"optional":true},"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.6.0_1777140461866_0.5686857916732775","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@everworker/oneringai","version":"0.6.1","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.6.1","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/aantich/oneringai/issues"},"dist":{"shasum":"c9dbacb451e9e6eb1114ff3fa3b59e8de2cd6c86","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.6.1.tgz","fileCount":43,"integrity":"sha512-0bPtAIdyf/4CJX8fX/srlE+9CNikSw8dz9fh62mjsR4VDLaL45Pcsl+9EwHgMYoY1kfP/5bOygDknpnQx29ooQ==","signatures":[{"sig":"MEYCIQDMWS8Pfu8jMLRp9ud9Ok3teHFiUZpmW6WtlhNmCsZL/QIhAONA0nuElV1GB/0mvwAbcxkKMHusbMsuTtz1c8nsHnpm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27622063},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"5b971e81f9afd09822d45519438d9dfd1d091421","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/aantich/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.90.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"mongodb":">=5.0.0","@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"mongodb":{"optional":true},"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.6.1_1778772101549_0.3292166394713545","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@everworker/oneringai","version":"0.7.0","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.7.0","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/aantich/oneringai/issues"},"dist":{"shasum":"c9544853c00572ebe4a424a7fcdc78e815600cd8","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.7.0.tgz","fileCount":43,"integrity":"sha512-CmIBfjPMLuqlSZ5Obh7nV/URdOiWiznoCJuNLz/3j9l+auvIfcWPN5usPsiEH0CPCHwOMwVMUSrtqo5q0InnBA==","signatures":[{"sig":"MEUCIQD1fbS+E3wlwVVdyCcvEE0mq+Qo5fD/FuK/AMdXQUNzxQIgV+kFVA9uW2RzBYbj8j7TqMrW3D7KM/yRXgPHhps9k+g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28398450},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"50b5cc691fff07ea321af00b6bb074e30ba729d6","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/aantich/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.90.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"mongodb":">=5.0.0","@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"mongodb":{"optional":true},"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.7.0_1779468733387_0.5833338444967373","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@everworker/oneringai","version":"0.10.0","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.10.0","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/aantich/oneringai/issues"},"dist":{"shasum":"7a478daa84c5b5a2e9aeaaa643e9a71466f579dc","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.10.0.tgz","fileCount":43,"integrity":"sha512-BwkN8nCAjsijAqPLDE7nM+EmkbNADqAaYgJLqDTmC4arMxMmwAHDJ5hLqgyOEO3NHwyZFGxBtIWMagf+KyC4BQ==","signatures":[{"sig":"MEQCIFI+UpUnPLHnsj1+UoRnX//Zk2mOFJGtj+7LwVUVYBiNAiBkvBbCyWJGdCJRQP9JNor55yHiT2c6fU3HJrJ6hPKRuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29295252},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"9e75e6014a0da281fcbbd7be053403862585c4e2","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/aantich/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.90.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"mongodb":">=5.0.0","@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"mongodb":{"optional":true},"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.10.0_1779893146562_0.9940246396219095","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@everworker/oneringai","version":"0.10.1","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.10.1","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/aantich/oneringai/issues"},"dist":{"shasum":"da455bf80687cc54dbaed4f2083aa7b40735cb8c","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.10.1.tgz","fileCount":43,"integrity":"sha512-zl0ZdGPUS1MHADg47UMClgYs12aVcApgCBIXMGQIVeVF3JFh/1/dsDwgw2A4ewWNiEK/c/DnndcSqruK3MTD7g==","signatures":[{"sig":"MEYCIQDZj+BH/m51x3fR55fYJD0VaFz04xFChhjy3kptgG9p2wIhAIUlV3n1zyKeCxYMIlcx5ccILR1sB58k1KvCTvQhiFAE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30184198},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"631b0ec1fe7b08cc91ad2d1ebc2fc76141b357ba","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/aantich/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.90.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"mongodb":">=5.0.0","@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"mongodb":{"optional":true},"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.10.1_1783076700022_0.5327386280991675","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"@everworker/oneringai","version":"0.10.2","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.10.2","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/aantich/oneringai/issues"},"dist":{"shasum":"226030b7c198de188817ca4bd362500e3c4644fa","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.10.2.tgz","fileCount":43,"integrity":"sha512-jQsS2j8cGDHXjZ1pwr6wtp+1RJr8FyX1ybN+kC+DEFw/V2cIgizUKDE47KbOY6fGz7cXjX/W6rs5aSmlYw2WSg==","signatures":[{"sig":"MEUCIDavqhvj7z+sHVlXrL6k2jXTtNpNlgCP3feLrvC+aHbFAiEAsJIH5Oj/2bFoHTUhH0rpagrwuXPNd4Sdy9rlFg5q6xI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30279249},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"299d5e1dd12dd138c654df84fff394acf1dfe91b","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/aantich/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.90.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"mongodb":">=5.0.0","@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"mongodb":{"optional":true},"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.10.2_1783173902433_0.2687886982549996","host":"s3://npm-registry-packages-npm-production"}},"0.10.3":{"name":"@everworker/oneringai","version":"0.10.3","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.10.3","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/aantich/oneringai/issues"},"dist":{"shasum":"e559904c65d7e777b307ec9941782e98898f87f5","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.10.3.tgz","fileCount":43,"integrity":"sha512-Mh+fcBn0xe8jqGvpL0ffJwkTyOApBDij3uO3npQZWADxoxPXKFBQR7FwA5o7Zfl/uIHBKwDJkN9L7zS5ENLTYA==","signatures":[{"sig":"MEUCIQD/ZkoBsV2djjpC3ux7JBdcIVmdYe39YAeiCJHl5Px66AIgEVttRSmEx/h/GgmwDVIU12gyhzzYuxVjmUi+V83kABk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30279852},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"11a65000e79750ad30bd418d4b8bc1a6396866ce","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint src","test":"vitest run","build":"npm run generate && tsup","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/aantich/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.90.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1"},"peerDependencies":{"mongodb":">=5.0.0","@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"mongodb":{"optional":true},"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.10.3_1783345569439_0.5318224466287937","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@everworker/oneringai","version":"0.11.0","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@0.11.0","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/aantich/oneringai/issues"},"dist":{"shasum":"4b69408686f921fcda1105c347095854be1bfa2e","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-0.11.0.tgz","fileCount":45,"integrity":"sha512-6mAVOHH882sBrDJ6E0tmlw0rPZ5i6TLljq9AyiH5kCzLhTDQRH9hjw2QZEyuhpLVQJJneouNAU4Rw0gGtHpCqQ==","signatures":[{"sig":"MEYCIQDRBKVuxyREdTJ1cpeU5PW2nuedPnknzvvCWMyOTk9aGAIhALEf3mGyyawMeBv7yyd0ReSeZ5R7gyQTjW7XejYJIrcc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31809194},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"8c4b31f176d4015012813386b125cfd126f8dfb6","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint \"src/**/*.ts\"","test":"vitest run","build":"npm run generate && tsup","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/aantich/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor support for text generation, image generation, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^6.22.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^1.41.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.90.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^20.11.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"mongodb":">=5.0.0","@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"mongodb":{"optional":true},"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_0.11.0_1784924458807_0.432882666278515","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@everworker/oneringai","version":"1.0.0","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@1.0.0","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/aantich/oneringai/issues"},"dist":{"shasum":"c4afec33e1371c3a707de88a7f11bfe36e39cdfc","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-1.0.0.tgz","fileCount":45,"integrity":"sha512-Q5RZXbKJy0dfhpBGE0UtF3aSKs2nNeM9ZjxDUTk4GjNotHnMng8p7A5J1QzeBZDb8CllA4amTRNSj1lOYf5uQw==","signatures":[{"sig":"MEYCIQDzDLTK3tsv4iS022vzljr0p3MuZJLRZ8XFVavQ+pkUFwIhAL0zPEeU33aBRUo8oJaltev1pHCZkACUsbGaZ7GPYv8s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32968386},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"c508d47f6286747232e09600d1604d79025abd40","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint \"src/**/*.ts\"","test":"vitest run","build":"npm run generate && tsup","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run build && git add -A","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push && git push --tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major -m 'Release %s'","release:minor":"npm version minor -m 'Release %s'","release:patch":"npm version patch -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs","example:logging":"tsx examples/logging-demo.ts","example:realtime":"tsx examples/openai-realtime.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/aantich/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor text, image, video, speech, realtime voice, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"ws":"^8.20.0","zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^7.4.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^2.16.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.116.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^22.10.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"mongodb":">=5.0.0","@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"mongodb":{"optional":true},"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_1.0.0_1786217064672_0.6288874893841216","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@everworker/oneringai","version":"1.0.1","keywords":["ai","ai-agents","llm","agents","openai","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@1.0.1","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/aantich/oneringai/issues"},"dist":{"shasum":"21fcba450a4a33ff4a02d5338686ec1e5ec608a1","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-1.0.1.tgz","fileCount":55,"integrity":"sha512-AZwbmZzz9gYsz6pERar7XTrso7o8Z1CC43Y5p7yd4VlooLEYWE89H9dtK5QjpwCFIJ1jNrCJvGmaIBG9lqJGMQ==","signatures":[{"sig":"MEUCIEmj8KV9cfq9Ts6FukRw8jGtu2YYaLcH6exdwYUQddyBAiEA4nNWyXMWv3vP8hH92dk90Q9dLZSnTKyxvj62amQlUO8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34861330},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"}},"gitHead":"6fe566776014a82be9933c0a3e0e9fe277823999","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint \"src/**/*.ts\"","test":"vitest run","build":"npm run generate && tsup","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run generate && npm run docs && git add src/tools/registry.generated.ts src/connectors/vendors/registry.generated.ts API_REFERENCE.md","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push --follow-tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major --git-tag-version=true -m 'Release %s'","release:minor":"npm version minor --git-tag-version=true -m 'Release %s'","release:patch":"npm version patch --git-tag-version=true -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","examples:check":"tsc --noEmit -p examples/tsconfig.json","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs && npm run release:verify-tag","example:logging":"tsx examples/logging-demo.ts","example:realtime":"tsx examples/openai-realtime.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","release:verify-tag":"node scripts/verify-release-tag.mjs","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/aantich/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified AI agent library with multi-vendor text, image, video, speech, realtime voice, and agentic workflows","directories":{},"_nodeVersion":"23.2.0","dependencies":{"ws":"^8.20.0","zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^7.4.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^2.16.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.116.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^22.10.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@vitest/coverage-v8":"^1.6.1","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"mongodb":">=5.0.0","@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"mongodb":{"optional":true},"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_1.0.1_1786276592252_0.45210098909686103","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@everworker/oneringai","version":"1.1.0","keywords":["ai","ai-agents","llm","agents","openai","codex","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","agent-runtime","agent-sdk","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@1.1.0","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/aantich/oneringai/issues"},"dist":{"shasum":"15e6856c0a4d434e5ee525322d917144bfac64d7","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-1.1.0.tgz","fileCount":80,"integrity":"sha512-0j+073RyiLKzdURXXtx+wyF4EaGDIPQJ9tXrWdT/l05ltvhgzr81twCAt2lizbBxGxUjNE2P+A6tnylWQyNXeg==","signatures":[{"sig":"MEUCIQCsxXUs0dnRnTt2rXYheSc6KQshLVgqpJZ8EsKfRNTROQIgUfGKNYxIvIEojvWEqjXfeBNWaV4MbMQZ9arrVF3ViWU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44297477},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"},"./agent-runtime":{"types":"./dist/agent-runtime/index.d.ts","import":"./dist/agent-runtime/index.js","require":"./dist/agent-runtime/index.cjs"},"./agent-runtime/codex":{"types":"./dist/agent-runtime/codex.d.ts","import":"./dist/agent-runtime/codex.js","require":"./dist/agent-runtime/codex.cjs"}},"gitHead":"d745dbd07288272cbaf108e16023933f11b23e1e","scripts":{"dev":"npm run generate && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint \"src/**/*.ts\"","test":"vitest run","build":"npm run generate && tsup","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run generate && npm run docs && git add src/tools/registry.generated.ts src/connectors/vendors/registry.generated.ts API_REFERENCE.md","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push --follow-tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major --git-tag-version=true -m 'Release %s'","release:minor":"npm version minor --git-tag-version=true -m 'Release %s'","release:patch":"npm version patch --git-tag-version=true -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","examples:check":"tsc --noEmit -p examples/tsconfig.json","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs && npm run release:verify-tag","example:logging":"tsx examples/logging-demo.ts","example:realtime":"tsx examples/openai-realtime.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","release:verify-tag":"node scripts/verify-release-tag.mjs","test:unit:coverage":"vitest run tests/unit --coverage","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:agent-runtime":"tsx examples/agent-runtime-local.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/aantich/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified TypeScript AI agent library with multi-vendor models, tools, memory, media, and pluggable OneRingAI/Codex agent runtimes","directories":{},"_nodeVersion":"23.2.0","dependencies":{"ws":"^8.20.0","ajv":"^8.20.0","zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^7.4.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^2.16.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.116.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"],"agent-runtime":["./dist/agent-runtime/index.d.ts"],"agent-runtime/codex":["./dist/agent-runtime/codex.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^22.10.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@openai/codex-sdk":"^0.149.0","@vitest/coverage-v8":"^1.6.1","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"mongodb":">=5.0.0","@openai/codex-sdk":"^0.149.0","@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"mongodb":{"optional":true},"@openai/codex-sdk":{"optional":true},"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_1.1.0_1787593486658_0.9347004335002105","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@everworker/oneringai","version":"1.1.1","keywords":["ai","ai-agents","llm","agents","openai","codex","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","agent-runtime","agent-sdk","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@1.1.1","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/aantich/oneringai/issues"},"dist":{"shasum":"b114e9aa0c67c96ab43d0bdbe5b5555a52fdbae5","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-1.1.1.tgz","fileCount":87,"integrity":"sha512-k8MZl2u9DZ+K8GThBXgTIiTjCUnuWp7wqHX533BfPTj+yw8Q37u4UOavDgXDLf7iXIVJhJXWidJhWB0STgs4hQ==","signatures":[{"sig":"MEYCIQCLnCN4T1WQDtU/2Rr2iBSNkXkhd/UKzjJVqn1+Tfd+hAIhAIT5/t/zA76CR+sqDvNOm6lEln01dZTzztXicKFSuY+B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45165078},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"},"./agent-runtime":{"types":"./dist/agent-runtime/index.d.ts","import":"./dist/agent-runtime/index.js","require":"./dist/agent-runtime/index.cjs"},"./realtime-browser":{"types":"./dist/realtime-browser/index.d.ts","import":"./dist/realtime-browser/index.js","require":"./dist/realtime-browser/index.cjs"},"./agent-runtime/codex":{"types":"./dist/agent-runtime/codex.d.ts","import":"./dist/agent-runtime/codex.js","require":"./dist/agent-runtime/codex.cjs"}},"gitHead":"4ed6f5b8860f5edf5064293473eee258d27cd5cb","scripts":{"dev":"npm run generate && npm run clean:dist && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint \"src/**/*.ts\"","test":"vitest run","build":"npm run generate && npm run clean:dist && tsup && npm run build:verify-exports","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run generate && npm run docs && git add src/tools/registry.generated.ts src/connectors/vendors/registry.generated.ts API_REFERENCE.md","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","clean:dist":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push --follow-tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major --git-tag-version=true -m 'Release %s'","release:minor":"npm version minor --git-tag-version=true -m 'Release %s'","release:patch":"npm version patch --git-tag-version=true -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","examples:check":"tsc --noEmit -p examples/tsconfig.json","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs && npm run release:verify-tag","example:logging":"tsx examples/logging-demo.ts","example:realtime":"tsx examples/openai-realtime.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","release:verify-tag":"node scripts/verify-release-tag.mjs","test:unit:coverage":"vitest run tests/unit --coverage","build:verify-exports":"node scripts/verify-package-exports.mjs","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:agent-runtime":"tsx examples/agent-runtime-local.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"repository":{"url":"git+https://github.com/aantich/oneringai.git","type":"git"},"_npmVersion":"10.9.0","description":"Unified TypeScript AI agent library with multi-vendor models, tools, memory, media, and pluggable OneRingAI/Codex agent runtimes","directories":{},"_nodeVersion":"23.2.0","dependencies":{"ws":"^8.20.0","ajv":"^8.20.0","zod":"^4.3.6","glob":"^10.0.0","jose":"^6.1.3","jsdom":"^27.0.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^7.4.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","ajv-formats":"^3.0.1","officeparser":"^6.0.4","simple-icons":"^16.7.0","@google/genai":"^2.16.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.116.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"],"agent-runtime":["./dist/agent-runtime/index.d.ts"],"realtime-browser":["./dist/realtime-browser/index.d.ts"],"agent-runtime/codex":["./dist/agent-runtime/codex.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^1.2.0","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^22.10.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@openai/codex-sdk":"^0.149.0","@vitest/coverage-v8":"^1.6.1","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"mongodb":">=5.0.0","@openai/codex-sdk":"^0.149.0","@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"mongodb":{"optional":true},"@openai/codex-sdk":{"optional":true},"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_1.1.1_1787910620511_0.8343921405302872","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@everworker/oneringai","version":"1.1.2","keywords":["ai","ai-agents","llm","agents","openai","codex","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","agent-runtime","agent-sdk","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@1.1.2","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/aantich/oneringai/issues"},"dist":{"shasum":"2c2243571b22063c681d61ac6f2a79dd8d8da8d0","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-1.1.2.tgz","fileCount":87,"integrity":"sha512-y3f0FG3D+4JIG/JS3AJWNQzsDob6mrMU/u3QwuOAq+5nhXeKVVUay1noGJg1eOToruKAC67erEX5xnVSuZBApg==","signatures":[{"sig":"MEQCIHyja2pq+XyQS8t4yRP44tIytGm6sJ4qWw31Dcj74S5hAiAIZEmrwvpB5P9agfgcFtWaT5gDcq6327uxOzVovBE7aA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45503026},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^22.13.0 || >=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"},"./agent-runtime":{"types":"./dist/agent-runtime/index.d.ts","import":"./dist/agent-runtime/index.js","require":"./dist/agent-runtime/index.cjs"},"./realtime-browser":{"types":"./dist/realtime-browser/index.d.ts","import":"./dist/realtime-browser/index.js","require":"./dist/realtime-browser/index.cjs"},"./agent-runtime/codex":{"types":"./dist/agent-runtime/codex.d.ts","import":"./dist/agent-runtime/codex.js","require":"./dist/agent-runtime/codex.cjs"}},"gitHead":"166050216185cf0dc8aaff3024e275fe5ac1f60d","scripts":{"dev":"npm run generate && npm run clean:dist && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint \"src/**/*.ts\"","test":"vitest run","build":"npm run generate && npm run clean:dist && tsup && npm run build:verify-exports","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run generate && npm run docs && git add src/tools/registry.generated.ts src/connectors/vendors/registry.generated.ts API_REFERENCE.md","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","clean:dist":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push --follow-tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major --git-tag-version=true -m 'Release %s'","release:minor":"npm version minor --git-tag-version=true -m 'Release %s'","release:patch":"npm version patch --git-tag-version=true -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","examples:check":"tsc --noEmit -p examples/tsconfig.json","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs && npm run release:verify-tag","example:logging":"tsx examples/logging-demo.ts","example:realtime":"tsx examples/openai-realtime.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","release:verify-tag":"node scripts/verify-release-tag.mjs","test:unit:coverage":"vitest run tests/unit --coverage","build:verify-exports":"node scripts/verify-package-exports.mjs","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:agent-runtime":"tsx examples/agent-runtime-local.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"overrides":{"qs":"^6.16.0","tmp":"^0.2.7","hono":"^4.13.5","undici":"^7.29.0","esbuild":"^0.28.1","exceljs":{"uuid":"^11.1.1"},"js-yaml":"^4.3.1","fast-uri":"^3.1.5","ip-address":"^10.7.0","pdfjs-dist":"^6.3.289","protobufjs":"^7.6.6","body-parser":"^2.3.0","@hono/node-server":"^2.1.1","brace-expansion@<2":"1.1.18","express-rate-limit":"^8.7.0","brace-expansion@>=3":"5.0.9","brace-expansion@>=2 <3":"2.1.4"},"repository":{"url":"git+https://github.com/aantich/oneringai.git","type":"git"},"_npmVersion":"11.19.0","description":"Unified TypeScript AI agent library with multi-vendor models, tools, memory, media, and pluggable OneRingAI/Codex agent runtimes","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"esbuild@0.28.2":true,"fsevents@2.3.3":true,"protobufjs@7.6.6":true,"tesseract.js@7.0.0":true,"@google/genai@2.19.0":true},"dependencies":{"ws":"^8.21.3","ajv":"^8.20.0","zod":"^4.3.6","glob":"^13.0.6","jose":"^6.1.3","jsdom":"^29.1.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^7.8.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","ajv-formats":"^3.0.1","officeparser":"^7.8.0","simple-icons":"^16.7.0","@google/genai":"^2.19.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.116.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"],"agent-runtime":["./dist/agent-runtime/index.d.ts"],"realtime-browser":["./dist/realtime-browser/index.d.ts"],"agent-runtime/codex":["./dist/agent-runtime/codex.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^3.2.7","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^22.10.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@openai/codex-sdk":"^0.149.0","@vitest/coverage-v8":"^3.2.7","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"mongodb":">=5.0.0","@openai/codex-sdk":"^0.149.0","@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"mongodb":{"optional":true},"@openai/codex-sdk":{"optional":true},"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_1.1.2_1788113632255_0.9407770115802361","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@everworker/oneringai","version":"1.1.3","keywords":["ai","ai-agents","llm","agents","openai","codex","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","agent-runtime","agent-sdk","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@1.1.3","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/aantich/oneringai/issues"},"dist":{"shasum":"a211d6d1552e8b850db6aed7ef0a2d428bcb79a3","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-1.1.3.tgz","fileCount":87,"integrity":"sha512-VefhkVAscGz3+jy7zAQB5T2nERUENfO36YACVsrykA44WdtQhlhSVtcmsXmqome6GaXAgCGBitdOB9Vb81EcYg==","signatures":[{"sig":"MEUCIBm/vZXxEpkhH4HGrkDkIKZY1WuZuyC8H5KosZ+tatBpAiEA2cLJ2UCGjMLvLzE2VJ0b+FNNlZZpj7HAUb/B8VyiJpk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45838760},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^22.13.0 || >=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"},"./agent-runtime":{"types":"./dist/agent-runtime/index.d.ts","import":"./dist/agent-runtime/index.js","require":"./dist/agent-runtime/index.cjs"},"./realtime-browser":{"types":"./dist/realtime-browser/index.d.ts","import":"./dist/realtime-browser/index.js","require":"./dist/realtime-browser/index.cjs"},"./agent-runtime/codex":{"types":"./dist/agent-runtime/codex.d.ts","import":"./dist/agent-runtime/codex.js","require":"./dist/agent-runtime/codex.cjs"}},"gitHead":"ba894518308e7d0c8265099d2c62b208e3ab7890","scripts":{"dev":"npm run generate && npm run clean:dist && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint \"src/**/*.ts\"","test":"vitest run","build":"npm run generate && npm run clean:dist && tsup && npm run build:verify-exports","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run generate && npm run docs && git add src/tools/registry.generated.ts src/connectors/vendors/registry.generated.ts API_REFERENCE.md","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","clean:dist":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push --follow-tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major --git-tag-version=true -m 'Release %s'","release:minor":"npm version minor --git-tag-version=true -m 'Release %s'","release:patch":"npm version patch --git-tag-version=true -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","examples:check":"tsc --noEmit -p examples/tsconfig.json","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs && npm run release:verify-tag","example:logging":"tsx examples/logging-demo.ts","example:realtime":"tsx examples/openai-realtime.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","release:verify-tag":"node scripts/verify-release-tag.mjs","test:unit:coverage":"vitest run tests/unit --coverage","build:verify-exports":"node scripts/verify-package-exports.mjs","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:agent-runtime":"tsx examples/agent-runtime-local.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"overrides":{"qs":"^6.16.0","tmp":"^0.2.7","hono":"^4.13.5","undici":"^7.29.0","esbuild":"^0.28.1","exceljs":{"uuid":"^11.1.1"},"js-yaml":"^4.3.1","fast-uri":"^3.1.5","ip-address":"^10.7.0","pdfjs-dist":"^6.3.289","protobufjs":"^7.6.6","body-parser":"^2.3.0","@hono/node-server":"^2.1.1","brace-expansion@<2":"1.1.18","express-rate-limit":"^8.7.0","brace-expansion@>=3":"5.0.9","brace-expansion@>=2 <3":"2.1.4"},"repository":{"url":"git+https://github.com/aantich/oneringai.git","type":"git"},"_npmVersion":"11.19.0","description":"Unified TypeScript AI agent library with multi-vendor models, tools, memory, media, and pluggable OneRingAI/Codex agent runtimes","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"esbuild@0.28.2":true,"fsevents@2.3.3":true,"protobufjs@7.6.6":true,"tesseract.js@7.0.0":true,"@google/genai@2.19.0":true},"dependencies":{"ws":"^8.21.3","ajv":"^8.20.0","zod":"^4.3.6","glob":"^13.0.6","jose":"^6.1.3","jsdom":"^29.1.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^7.8.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","ajv-formats":"^3.0.1","officeparser":"^7.8.0","simple-icons":"^16.7.0","@google/genai":"^2.19.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.116.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"],"agent-runtime":["./dist/agent-runtime/index.d.ts"],"realtime-browser":["./dist/realtime-browser/index.d.ts"],"agent-runtime/codex":["./dist/agent-runtime/codex.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^3.2.7","ts-morph":"^27.0.2","typescript":"^5.3.3","@types/node":"^22.10.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@openai/codex-sdk":"^0.149.0","@vitest/coverage-v8":"^3.2.7","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"mongodb":">=5.0.0","@openai/codex-sdk":"^0.149.0","@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"mongodb":{"optional":true},"@openai/codex-sdk":{"optional":true},"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_1.1.3_1788116561591_0.5653360840348172","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@everworker/oneringai","version":"1.1.4","keywords":["ai","ai-agents","llm","agents","openai","codex","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","agent-runtime","agent-sdk","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@1.1.4","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/aantich/oneringai/issues"},"dist":{"shasum":"1b16bd5b73ad1b0f9f19755bcfce9f041abb3db7","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-1.1.4.tgz","fileCount":87,"integrity":"sha512-/NKEshlXi8uQmYQ4tGvmUm8E6KwIFxd7h92XMQFbqvFs+/A5Cu1Pf2ivmGPSYw/AEt0uzPiOC5jNBaibAAvRNw==","signatures":[{"sig":"MEYCIQCtCPbqcyq5HG0pArVU0uMRxM12bcKBVz6Vj3z8Ji18SAIhAP/NdBz1dKsXomDGs/ZipjWGtyK4dTyw5NtnmaUW5vyb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45881753},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^22.13.0 || >=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"},"./agent-runtime":{"types":"./dist/agent-runtime/index.d.ts","import":"./dist/agent-runtime/index.js","require":"./dist/agent-runtime/index.cjs"},"./realtime-browser":{"types":"./dist/realtime-browser/index.d.ts","import":"./dist/realtime-browser/index.js","require":"./dist/realtime-browser/index.cjs"},"./agent-runtime/codex":{"types":"./dist/agent-runtime/codex.d.ts","import":"./dist/agent-runtime/codex.js","require":"./dist/agent-runtime/codex.cjs"}},"gitHead":"5b50cbc9e4e0070875e8bb576cc8b8f184967f5f","scripts":{"dev":"npm run generate && npm run clean:dist && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint \"src/**/*.ts\"","test":"vitest run","build":"npm run generate && npm run clean:dist && tsup && npm run build:verify-exports","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run generate && npm run docs && git add src/tools/registry.generated.ts src/connectors/vendors/registry.generated.ts API_REFERENCE.md","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","clean:dist":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push --follow-tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major --git-tag-version=true -m 'Release %s'","release:minor":"npm version minor --git-tag-version=true -m 'Release %s'","release:patch":"npm version patch --git-tag-version=true -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","examples:check":"tsc --noEmit -p examples/tsconfig.json","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs && npm run release:verify-tag","example:logging":"tsx examples/logging-demo.ts","example:realtime":"tsx examples/openai-realtime.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:realtime:e2e":"RUN_LIVE_OPENAI_REALTIME_E2E=1 vitest run tests/integration/voice/OpenAIRealtimeVoiceAgent.e2e.integration.test.ts","release:verify-tag":"node scripts/verify-release-tag.mjs","test:unit:coverage":"vitest run tests/unit --coverage","build:verify-exports":"node scripts/verify-package-exports.mjs","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:agent-runtime":"tsx examples/agent-runtime-local.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"overrides":{"qs":"^6.16.0","tmp":"^0.2.7","hono":"^4.13.5","undici":"^7.29.0","esbuild":"^0.28.1","exceljs":{"uuid":"^11.1.1"},"js-yaml":"^4.3.1","fast-uri":"^3.1.5","ip-address":"^10.7.0","pdfjs-dist":"^6.3.289","protobufjs":"^7.6.6","body-parser":"^2.3.0","@hono/node-server":"^2.1.1","brace-expansion@<2":"1.1.18","express-rate-limit":"^8.7.0","brace-expansion@>=3":"5.0.9","brace-expansion@>=2 <3":"2.1.4"},"repository":{"url":"git+https://github.com/aantich/oneringai.git","type":"git"},"_npmVersion":"11.19.0","description":"Unified TypeScript AI agent library with multi-vendor models, tools, memory, media, and pluggable OneRingAI/Codex agent runtimes","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"esbuild@0.28.2":true,"fsevents@2.3.3":true,"protobufjs@7.6.6":true,"tesseract.js@7.0.0":true,"@google/genai@2.19.0":true},"dependencies":{"ws":"^8.21.3","ajv":"^8.20.0","zod":"^4.3.6","glob":"^13.0.6","jose":"^6.1.3","jsdom":"^29.1.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^7.8.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","ajv-formats":"^3.0.1","officeparser":"^7.8.0","simple-icons":"^16.7.0","@google/genai":"^2.19.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.116.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"],"agent-runtime":["./dist/agent-runtime/index.d.ts"],"realtime-browser":["./dist/realtime-browser/index.d.ts"],"agent-runtime/codex":["./dist/agent-runtime/codex.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^3.2.7","ts-morph":"^27.0.2","@types/ws":"^8.18.1","typescript":"^5.3.3","@types/node":"^22.10.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@openai/codex-sdk":"^0.149.0","@vitest/coverage-v8":"^3.2.7","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"mongodb":">=5.0.0","@openai/codex-sdk":"^0.149.0","@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"mongodb":{"optional":true},"@openai/codex-sdk":{"optional":true},"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_1.1.4_1788190147354_0.8540868641797661","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@everworker/oneringai","version":"1.1.5","keywords":["ai","ai-agents","llm","agents","openai","codex","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","agent-runtime","agent-sdk","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@1.1.5","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/aantich/oneringai/issues"},"dist":{"shasum":"7e30aa9bf57105db71f4b9eef4cff8ad591605c0","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-1.1.5.tgz","fileCount":87,"integrity":"sha512-cpumvveLq4uyKnRNuQOPIAaJS9ivqd2ZUjtktJYiW8f3zUgOCZmJvOYh8IQq7/CGhGdXLhjG0uEzjWM/+lMBIw==","signatures":[{"sig":"MEYCIQDQdQoEutn3ALgdQwshAv1SGQNuarFzXV0jj/OKOTBWmQIhAM0SAvWKno3z/6qrK1Xpw6p/EPrPqyTR1gDm0Leq8/Yv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45896021},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^22.13.0 || >=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"},"./agent-runtime":{"types":"./dist/agent-runtime/index.d.ts","import":"./dist/agent-runtime/index.js","require":"./dist/agent-runtime/index.cjs"},"./realtime-browser":{"types":"./dist/realtime-browser/index.d.ts","import":"./dist/realtime-browser/index.js","require":"./dist/realtime-browser/index.cjs"},"./agent-runtime/codex":{"types":"./dist/agent-runtime/codex.d.ts","import":"./dist/agent-runtime/codex.js","require":"./dist/agent-runtime/codex.cjs"}},"gitHead":"e59ab1ac06919825f280aac4ad5dd80d88f965c7","scripts":{"dev":"npm run generate && npm run clean:dist && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint \"src/**/*.ts\"","test":"vitest run","build":"npm run generate && npm run clean:dist && tsup && npm run build:verify-exports","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run generate && npm run docs && git add src/tools/registry.generated.ts src/connectors/vendors/registry.generated.ts API_REFERENCE.md","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","clean:dist":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push --follow-tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major --git-tag-version=true -m 'Release %s'","release:minor":"npm version minor --git-tag-version=true -m 'Release %s'","release:patch":"npm version patch --git-tag-version=true -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","examples:check":"tsc --noEmit -p examples/tsconfig.json","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs && npm run release:verify-tag","example:logging":"tsx examples/logging-demo.ts","example:realtime":"tsx examples/openai-realtime.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:realtime:e2e":"RUN_LIVE_OPENAI_REALTIME_E2E=1 vitest run tests/integration/voice/OpenAIRealtimeVoiceAgent.e2e.integration.test.ts","release:verify-tag":"node scripts/verify-release-tag.mjs","test:unit:coverage":"vitest run tests/unit --coverage","build:verify-exports":"node scripts/verify-package-exports.mjs","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:agent-runtime":"tsx examples/agent-runtime-local.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"overrides":{"qs":"^6.16.0","tmp":"^0.2.7","hono":"^4.13.5","undici":"^7.29.0","esbuild":"^0.28.1","exceljs":{"uuid":"^11.1.1"},"js-yaml":"^4.3.1","fast-uri":"^3.1.5","ip-address":"^10.7.0","pdfjs-dist":"^6.3.289","protobufjs":"^7.6.6","body-parser":"^2.3.0","@hono/node-server":"^2.1.1","brace-expansion@<2":"1.1.18","express-rate-limit":"^8.7.0","brace-expansion@>=3":"5.0.9","brace-expansion@>=2 <3":"2.1.4"},"repository":{"url":"git+https://github.com/aantich/oneringai.git","type":"git"},"_npmVersion":"11.19.0","description":"Unified TypeScript AI agent library with multi-vendor models, tools, memory, media, and pluggable OneRingAI/Codex agent runtimes","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"esbuild@0.28.2":true,"fsevents@2.3.3":true,"protobufjs@7.6.6":true,"tesseract.js@7.0.0":true,"@google/genai@2.19.0":true},"dependencies":{"ws":"^8.21.3","ajv":"^8.20.0","zod":"^4.3.6","glob":"^13.0.6","jose":"^6.1.3","jsdom":"^29.1.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^7.8.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","ajv-formats":"^3.0.1","officeparser":"^7.8.0","simple-icons":"^16.7.0","@google/genai":"^2.19.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.116.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"],"agent-runtime":["./dist/agent-runtime/index.d.ts"],"realtime-browser":["./dist/realtime-browser/index.d.ts"],"agent-runtime/codex":["./dist/agent-runtime/codex.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^3.2.7","ts-morph":"^27.0.2","@types/ws":"^8.18.1","typescript":"^5.3.3","@types/node":"^22.10.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@openai/codex-sdk":"^0.149.0","@vitest/coverage-v8":"^3.2.7","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"mongodb":">=5.0.0","@openai/codex-sdk":"^0.149.0","@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"mongodb":{"optional":true},"@openai/codex-sdk":{"optional":true},"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_1.1.5_1788202016627_0.9163876806797173","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"@everworker/oneringai","version":"1.1.6","keywords":["ai","ai-agents","llm","agents","openai","codex","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","agent-runtime","agent-sdk","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@1.1.6","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/aantich/oneringai/issues"},"dist":{"shasum":"4627f9235754e71bc4539f74b57d147a70c5d815","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-1.1.6.tgz","fileCount":87,"integrity":"sha512-tpeMI69oummGjQYPAl46b4jigWFWKDT4dylfbf+VrJurgvZJjvwoRcRjdgrREyWL4yoArm7ZeahDIg9Ze0yWag==","signatures":[{"sig":"MEYCIQCdzR5rBq7c1d2AAraEF/0Rh045XC6M9Ann2q/8hzkY5gIhAOQUW1CmijVjhXOFsjlGKDYDUujXv0pI70xmNJ7QeOIN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46356647},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^22.13.0 || >=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"},"./agent-runtime":{"types":"./dist/agent-runtime/index.d.ts","import":"./dist/agent-runtime/index.js","require":"./dist/agent-runtime/index.cjs"},"./realtime-browser":{"types":"./dist/realtime-browser/index.d.ts","import":"./dist/realtime-browser/index.js","require":"./dist/realtime-browser/index.cjs"},"./agent-runtime/codex":{"types":"./dist/agent-runtime/codex.d.ts","import":"./dist/agent-runtime/codex.js","require":"./dist/agent-runtime/codex.cjs"}},"gitHead":"e9056674349aaee13483aa3ef451faac9b0f644d","scripts":{"dev":"npm run generate && npm run clean:dist && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint \"src/**/*.ts\"","test":"vitest run","build":"npm run generate && npm run clean:dist && tsup && npm run build:verify-exports","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run generate && npm run docs && git add src/tools/registry.generated.ts src/connectors/vendors/registry.generated.ts API_REFERENCE.md","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","clean:dist":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push --follow-tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major --git-tag-version=true -m 'Release %s'","release:minor":"npm version minor --git-tag-version=true -m 'Release %s'","release:patch":"npm version patch --git-tag-version=true -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","examples:check":"tsc --noEmit -p examples/tsconfig.json","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs && npm run release:verify-tag","example:logging":"tsx examples/logging-demo.ts","example:realtime":"tsx examples/openai-realtime.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:realtime:e2e":"RUN_LIVE_OPENAI_REALTIME_E2E=1 vitest run tests/integration/voice/OpenAIRealtimeVoiceAgent.e2e.integration.test.ts","release:verify-tag":"node scripts/verify-release-tag.mjs","test:unit:coverage":"vitest run tests/unit --coverage","build:verify-exports":"node scripts/verify-package-exports.mjs","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:agent-runtime":"tsx examples/agent-runtime-local.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"overrides":{"qs":"^6.16.0","tmp":"^0.2.7","hono":"^4.13.5","undici":"^7.29.0","esbuild":"^0.28.1","exceljs":{"uuid":"^11.1.1"},"js-yaml":"^4.3.1","fast-uri":"^3.1.5","ip-address":"^10.7.0","pdfjs-dist":"^6.3.289","protobufjs":"^7.6.6","body-parser":"^2.3.0","@hono/node-server":"^2.1.1","brace-expansion@<2":"1.1.18","express-rate-limit":"^8.7.0","brace-expansion@>=3":"5.0.9","brace-expansion@>=2 <3":"2.1.4"},"repository":{"url":"git+https://github.com/aantich/oneringai.git","type":"git"},"_npmVersion":"11.19.0","description":"Unified TypeScript AI agent library with multi-vendor models, tools, memory, media, and pluggable OneRingAI/Codex agent runtimes","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"esbuild@0.28.2":true,"fsevents@2.3.3":true,"protobufjs@7.6.6":true,"tesseract.js@7.0.0":true,"@google/genai@2.19.0":true},"dependencies":{"ws":"^8.21.3","ajv":"^8.20.0","zod":"^4.3.6","glob":"^13.0.6","jose":"^6.1.3","jsdom":"^29.1.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^7.10.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","ajv-formats":"^3.0.1","officeparser":"^7.8.0","simple-icons":"^16.7.0","@google/genai":"^2.19.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.116.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"],"agent-runtime":["./dist/agent-runtime/index.d.ts"],"realtime-browser":["./dist/realtime-browser/index.d.ts"],"agent-runtime/codex":["./dist/agent-runtime/codex.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^3.2.7","ts-morph":"^27.0.2","@types/ws":"^8.18.1","typescript":"^5.3.3","@types/node":"^22.10.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@openai/codex-sdk":"^0.149.0","@vitest/coverage-v8":"^3.2.7","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"mongodb":">=5.0.0","@openai/codex-sdk":"^0.149.0","@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"mongodb":{"optional":true},"@openai/codex-sdk":{"optional":true},"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_1.1.6_1788518856903_0.5176685511373449","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"@everworker/oneringai","version":"1.1.7","keywords":["ai","ai-agents","llm","agents","openai","codex","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","agent-runtime","agent-sdk","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@1.1.7","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/aantich/oneringai/issues"},"dist":{"shasum":"154d3e287ad800c3f702884093a307cbba76b578","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-1.1.7.tgz","fileCount":87,"integrity":"sha512-2+MtWDxJ0P4YP20CMRcaUdmpwRtHhogk+FuoS1IbmIb0Q0RCSbW9NUyBcvctdRKTorlADu7IgLEMLY0MpUuJ9A==","signatures":[{"sig":"MEUCIQDN76f65vZXenjH5FXZopFqZI1B6GZNwJ7JXPpbKkEAAwIgUhCfw1vh4kwo9nvh0KlQ48RxZuORe4TAA7EnZ3BSSLw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46514054},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^22.13.0 || >=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"},"./agent-runtime":{"types":"./dist/agent-runtime/index.d.ts","import":"./dist/agent-runtime/index.js","require":"./dist/agent-runtime/index.cjs"},"./realtime-browser":{"types":"./dist/realtime-browser/index.d.ts","import":"./dist/realtime-browser/index.js","require":"./dist/realtime-browser/index.cjs"},"./agent-runtime/codex":{"types":"./dist/agent-runtime/codex.d.ts","import":"./dist/agent-runtime/codex.js","require":"./dist/agent-runtime/codex.cjs"}},"gitHead":"848524ece1c7e25075da2c7da23e7911e1fe098e","scripts":{"dev":"npm run generate && npm run clean:dist && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint \"src/**/*.ts\"","test":"vitest run","build":"npm run generate && npm run clean:dist && tsup && npm run build:verify-exports","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run generate && npm run docs && git add src/tools/registry.generated.ts src/connectors/vendors/registry.generated.ts API_REFERENCE.md","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","clean:dist":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push --follow-tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major --git-tag-version=true -m 'Release %s'","release:minor":"npm version minor --git-tag-version=true -m 'Release %s'","release:patch":"npm version patch --git-tag-version=true -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","examples:check":"tsc --noEmit -p examples/tsconfig.json","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs && npm run release:verify-tag","example:logging":"tsx examples/logging-demo.ts","example:realtime":"tsx examples/openai-realtime.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:realtime:e2e":"RUN_LIVE_OPENAI_REALTIME_E2E=1 vitest run tests/integration/voice/OpenAIRealtimeVoiceAgent.e2e.integration.test.ts","release:verify-tag":"node scripts/verify-release-tag.mjs","test:unit:coverage":"vitest run tests/unit --coverage","build:verify-exports":"node scripts/verify-package-exports.mjs","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:agent-runtime":"tsx examples/agent-runtime-local.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"overrides":{"qs":"^6.16.0","tmp":"^0.2.7","hono":"^4.13.5","undici":"^7.29.0","esbuild":"^0.28.1","exceljs":{"uuid":"^11.1.1"},"js-yaml":"^4.3.1","fast-uri":"^3.1.5","ip-address":"^10.7.0","pdfjs-dist":"^6.3.289","protobufjs":"^7.6.6","body-parser":"^2.3.0","@hono/node-server":"^2.1.1","brace-expansion@<2":"1.1.18","express-rate-limit":"^8.7.0","brace-expansion@>=3":"5.0.9","brace-expansion@>=2 <3":"2.1.4"},"repository":{"url":"git+https://github.com/aantich/oneringai.git","type":"git"},"_npmVersion":"11.19.0","description":"Unified TypeScript AI agent library with multi-vendor models, tools, memory, media, and pluggable OneRingAI/Codex agent runtimes","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"esbuild@0.28.2":true,"fsevents@2.3.3":true,"protobufjs@7.6.6":true,"tesseract.js@7.0.0":true,"@google/genai@2.19.0":true},"dependencies":{"ws":"^8.21.3","ajv":"^8.20.0","zod":"^4.3.6","glob":"^13.0.6","jose":"^6.1.3","jsdom":"^29.1.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^7.10.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","ajv-formats":"^3.0.1","officeparser":"^7.8.0","simple-icons":"^16.7.0","@google/genai":"^2.19.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.116.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"],"agent-runtime":["./dist/agent-runtime/index.d.ts"],"realtime-browser":["./dist/realtime-browser/index.d.ts"],"agent-runtime/codex":["./dist/agent-runtime/codex.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^3.2.7","ts-morph":"^27.0.2","@types/ws":"^8.18.1","typescript":"^5.3.3","@types/node":"^22.10.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@openai/codex-sdk":"^0.149.0","@vitest/coverage-v8":"^3.2.7","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"mongodb":">=5.0.0","@openai/codex-sdk":"^0.149.0","@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"mongodb":{"optional":true},"@openai/codex-sdk":{"optional":true},"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_1.1.7_1788521849793_0.24696396054559044","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"@everworker/oneringai","version":"1.1.8","keywords":["ai","ai-agents","llm","agents","openai","codex","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","agent-runtime","agent-sdk","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@1.1.8","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/aantich/oneringai/issues"},"dist":{"shasum":"cd5530c07ed37ff5c50b2c65b36bcf0bd189fcbf","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-1.1.8.tgz","fileCount":87,"integrity":"sha512-lV5K9kGfH/YY4Ne3CwOCN+2J4/nH4PalTYuXQTAJVf+CqU5iyMCNw0e6YeXCHLKymAJKDvaoM1lqyDROoYo10g==","signatures":[{"sig":"MEUCIEMXpDT2aci8n/lDgv2RgD/ubofwjXL+0xwIZJIEtGJTAiEAmnDafQ5+8q0Ca7ZRjJ2aWWTAx5pHls3ohlU+ARzxAXs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDrpuAUi3mBjtlFKcQVxY4dCRgqsLESG2SnOrta28AtlgIgBvvBBPWa48r6pctgKejPVSqzD9ojjRKO8B99U4Z7vgs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46576452},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^22.13.0 || >=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"},"./agent-runtime":{"types":"./dist/agent-runtime/index.d.ts","import":"./dist/agent-runtime/index.js","require":"./dist/agent-runtime/index.cjs"},"./realtime-browser":{"types":"./dist/realtime-browser/index.d.ts","import":"./dist/realtime-browser/index.js","require":"./dist/realtime-browser/index.cjs"},"./agent-runtime/codex":{"types":"./dist/agent-runtime/codex.d.ts","import":"./dist/agent-runtime/codex.js","require":"./dist/agent-runtime/codex.cjs"}},"gitHead":"c417eed0e8ffa00ef24dafd2f68517ec6db7cade","scripts":{"dev":"npm run generate && npm run clean:dist && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint \"src/**/*.ts\"","test":"vitest run","build":"npm run generate && npm run clean:dist && tsup && npm run build:verify-exports","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run generate && npm run docs && git add src/tools/registry.generated.ts src/connectors/vendors/registry.generated.ts API_REFERENCE.md","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","clean:dist":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push --follow-tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major --git-tag-version=true -m 'Release %s'","release:minor":"npm version minor --git-tag-version=true -m 'Release %s'","release:patch":"npm version patch --git-tag-version=true -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","examples:check":"tsc --noEmit -p examples/tsconfig.json","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs && npm run release:verify-tag","example:logging":"tsx examples/logging-demo.ts","example:realtime":"tsx examples/openai-realtime.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:realtime:e2e":"RUN_LIVE_OPENAI_REALTIME_E2E=1 vitest run tests/integration/voice/OpenAIRealtimeVoiceAgent.e2e.integration.test.ts","release:verify-tag":"node scripts/verify-release-tag.mjs","test:unit:coverage":"vitest run tests/unit --coverage","build:verify-exports":"node scripts/verify-package-exports.mjs","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:agent-runtime":"tsx examples/agent-runtime-local.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"overrides":{"qs":"^6.16.0","tmp":"^0.2.7","hono":"^4.13.5","undici":"^7.29.0","esbuild":"^0.28.1","exceljs":{"uuid":"^11.1.1"},"js-yaml":"^4.3.1","fast-uri":"^3.1.5","ip-address":"^10.7.0","pdfjs-dist":"^6.3.289","protobufjs":"^7.6.6","body-parser":"^2.3.0","@hono/node-server":"^2.1.1","brace-expansion@<2":"1.1.18","express-rate-limit":"^8.7.0","brace-expansion@>=3":"5.0.9","brace-expansion@>=2 <3":"2.1.4"},"repository":{"url":"git+https://github.com/aantich/oneringai.git","type":"git"},"_npmVersion":"11.19.0","description":"Unified TypeScript AI agent library with multi-vendor models, tools, memory, media, and pluggable OneRingAI/Codex agent runtimes","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"esbuild@0.28.2":true,"fsevents@2.3.3":true,"protobufjs@7.6.6":true,"tesseract.js@7.0.0":true,"@google/genai@2.19.0":true},"dependencies":{"ws":"^8.21.3","ajv":"^8.20.0","zod":"^4.3.6","glob":"^13.0.6","jose":"^6.1.3","jsdom":"^29.1.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^7.10.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","ajv-formats":"^3.0.1","officeparser":"^7.8.0","simple-icons":"^16.7.0","@google/genai":"^2.19.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.116.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"],"agent-runtime":["./dist/agent-runtime/index.d.ts"],"realtime-browser":["./dist/realtime-browser/index.d.ts"],"agent-runtime/codex":["./dist/agent-runtime/codex.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^3.2.7","ts-morph":"^27.0.2","@types/ws":"^8.18.1","typescript":"^5.3.3","@types/node":"^22.10.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@openai/codex-sdk":"^0.149.0","@vitest/coverage-v8":"^3.2.7","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"mongodb":">=5.0.0","@openai/codex-sdk":"^0.149.0","@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"mongodb":{"optional":true},"@openai/codex-sdk":{"optional":true},"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_1.1.8_1790083932994_0.6895360977962859","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@everworker/oneringai","version":"1.2.0","keywords":["ai","ai-agents","llm","agents","openai","codex","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","agent-runtime","agent-sdk","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@1.2.0","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/aantich/oneringai/issues"},"dist":{"shasum":"507e8254a3a35af54cc0509ad0f7cd901fbbb41c","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-1.2.0.tgz","fileCount":87,"integrity":"sha512-8tTC7ohEmQwOF+BZcOsoAGLTBskBQKsksCi0WDXIg9bBxrpi3MQ8U40BAFXQcf/TExRJiPD+yxBi/CDcghFWDA==","signatures":[{"sig":"MEUCIQD9QtXh3wXSaXUBUJs5Y9PPDoYYZzZexgBtMt+hzEWAbAIgPVLsReamFX4ZmA9TBE6MePr8rPEuAiZUiWcc6zCteio=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEnhBYBU9EReAkuc0P8ma4P7JESBtuEGLHayyfFGOqoVAiBjPloZHvMJEuDycKjBKJYYmoonv+VU4HoWWu4xjvaRKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48200639},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^22.13.0 || >=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"},"./agent-runtime":{"types":"./dist/agent-runtime/index.d.ts","import":"./dist/agent-runtime/index.js","require":"./dist/agent-runtime/index.cjs"},"./realtime-browser":{"types":"./dist/realtime-browser/index.d.ts","import":"./dist/realtime-browser/index.js","require":"./dist/realtime-browser/index.cjs"},"./agent-runtime/codex":{"types":"./dist/agent-runtime/codex.d.ts","import":"./dist/agent-runtime/codex.js","require":"./dist/agent-runtime/codex.cjs"}},"gitHead":"43b34cdc96b9cfa1174ea25961d5395589d5b428","scripts":{"dev":"npm run generate && npm run clean:dist && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint \"src/**/*.ts\"","test":"vitest run","build":"npm run generate && npm run clean:dist && tsup && npm run build:verify-exports","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run generate && npm run docs && git add src/tools/registry.generated.ts src/connectors/vendors/registry.generated.ts API_REFERENCE.md","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","clean:dist":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push --follow-tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major --git-tag-version=true -m 'Release %s'","release:minor":"npm version minor --git-tag-version=true -m 'Release %s'","release:patch":"npm version patch --git-tag-version=true -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","examples:check":"tsc --noEmit -p examples/tsconfig.json","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs && npm run release:verify-tag","example:logging":"tsx examples/logging-demo.ts","example:realtime":"tsx examples/openai-realtime.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:realtime:e2e":"RUN_LIVE_OPENAI_REALTIME_E2E=1 vitest run tests/integration/voice/OpenAIRealtimeVoiceAgent.e2e.integration.test.ts","release:verify-tag":"node scripts/verify-release-tag.mjs","test:unit:coverage":"vitest run tests/unit --coverage","build:verify-exports":"node scripts/verify-package-exports.mjs","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:agent-runtime":"tsx examples/agent-runtime-local.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"overrides":{"qs":"^6.16.0","tmp":"^0.2.7","hono":"^4.13.5","undici":"^7.29.0","esbuild":"^0.28.1","exceljs":{"uuid":"^11.1.1"},"js-yaml":"^4.3.1","fast-uri":"^3.1.5","ip-address":"^10.7.0","pdfjs-dist":"^6.3.289","protobufjs":"^7.6.6","body-parser":"^2.3.0","@hono/node-server":"^2.1.1","brace-expansion@<2":"1.1.18","express-rate-limit":"^8.7.0","brace-expansion@>=3":"5.0.9","brace-expansion@>=2 <3":"2.1.4"},"repository":{"url":"git+https://github.com/aantich/oneringai.git","type":"git"},"_npmVersion":"11.19.0","description":"Unified TypeScript AI agent library with multi-vendor models, tools, memory, media, and pluggable OneRingAI/Codex agent runtimes","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"esbuild@0.28.2":true,"fsevents@2.3.3":true,"protobufjs@7.6.6":true,"tesseract.js@7.0.0":true,"@google/genai@2.19.0":true},"dependencies":{"ws":"^8.21.3","ajv":"^8.20.0","zod":"^4.3.6","glob":"^13.0.6","jose":"^6.1.3","jsdom":"^29.1.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^7.30.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","ajv-formats":"^3.0.1","officeparser":"^7.8.0","simple-icons":"^16.7.0","@google/genai":"^2.27.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.131.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"],"agent-runtime":["./dist/agent-runtime/index.d.ts"],"realtime-browser":["./dist/realtime-browser/index.d.ts"],"agent-runtime/codex":["./dist/agent-runtime/codex.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^3.2.7","ts-morph":"^27.0.2","@types/ws":"^8.18.1","typescript":"^5.3.3","@types/node":"^22.10.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@openai/codex-sdk":"^0.149.0","@vitest/coverage-v8":"^3.2.7","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"mongodb":">=5.0.0","@openai/codex-sdk":"^0.149.0","@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"mongodb":{"optional":true},"@openai/codex-sdk":{"optional":true},"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_1.2.0_1791377134540_0.970617748962225","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@everworker/oneringai","version":"1.2.1","keywords":["ai","ai-agents","llm","agents","openai","codex","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","agent-runtime","agent-sdk","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton@everworker.ai"},"license":"MIT","_id":"@everworker/oneringai@1.2.1","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://oneringai.io","bugs":{"url":"https://github.com/aantich/oneringai/issues"},"dist":{"shasum":"cf7d0907b5a00c399b1793bc7b7a14a809a6a146","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-1.2.1.tgz","fileCount":87,"integrity":"sha512-z4hWMZiAnKckEpx7D06Wm91zYLxMXDKfwyboTU1RLWxqhtW07cmH1I0pmMLqCaaqC0g+gBrwwQnQBr+j/5xRzg==","signatures":[{"sig":"MEUCIBHPYdYhcbX43E9nNYwC8XFk04+/ibGGZlUxJG4JE8EOAiEApGsLKcgb4xv3uvJFYO3W7OAOi7BIsMdJ9yH1pTJIVtI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDRwCQkIe+cutMZOcCiNQvR/CyfUy5NnYOzmHWxpuwCHwIhAJoJ1+hSVOUv6oeYnM2lFZrROOTzC1t6uA4jC2Xyf8b4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48118753},"main":"./dist/index.js","type":"module","_from":"file:/private/tmp/oneringai-1.2.1-package/everworker-oneringai-1.2.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^22.13.0 || >=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"},"./agent-runtime":{"types":"./dist/agent-runtime/index.d.ts","import":"./dist/agent-runtime/index.js","require":"./dist/agent-runtime/index.cjs"},"./realtime-browser":{"types":"./dist/realtime-browser/index.d.ts","import":"./dist/realtime-browser/index.js","require":"./dist/realtime-browser/index.cjs"},"./agent-runtime/codex":{"types":"./dist/agent-runtime/codex.d.ts","import":"./dist/agent-runtime/codex.js","require":"./dist/agent-runtime/codex.cjs"}},"scripts":{"dev":"npm run generate && npm run clean:dist && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint \"src/**/*.ts\"","test":"vitest run","build":"npm run generate && npm run clean:dist && tsup && npm run build:verify-exports","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run generate && npm run docs && git add src/tools/registry.generated.ts src/connectors/vendors/registry.generated.ts API_REFERENCE.md","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","clean:dist":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","preversion":"npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push --follow-tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"npm version major --git-tag-version=true -m 'Release %s'","release:minor":"npm version minor --git-tag-version=true -m 'Release %s'","release:patch":"npm version patch --git-tag-version=true -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","examples:check":"tsc --noEmit -p examples/tsconfig.json","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run build && npm run typecheck && npm run test:unit && npm run docs && npm run release:verify-tag","example:logging":"tsx examples/logging-demo.ts","example:realtime":"tsx examples/openai-realtime.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:realtime:e2e":"RUN_LIVE_OPENAI_REALTIME_E2E=1 vitest run tests/integration/voice/OpenAIRealtimeVoiceAgent.e2e.integration.test.ts","release:verify-tag":"node scripts/verify-release-tag.mjs","test:unit:coverage":"vitest run tests/unit --coverage","build:verify-exports":"node scripts/verify-package-exports.mjs","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:agent-runtime":"tsx examples/agent-runtime-local.ts","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"_resolved":"/private/tmp/oneringai-1.2.1-package/everworker-oneringai-1.2.1.tgz","overrides":{"qs":"^6.16.0","tmp":"^0.2.7","hono":"^4.13.5","undici":"^7.29.0","esbuild":"^0.28.1","exceljs":{"uuid":"^11.1.1"},"js-yaml":"^4.3.1","fast-uri":"^3.1.5","ip-address":"^10.7.0","pdfjs-dist":"^6.3.289","protobufjs":"^7.6.6","body-parser":"^2.3.0","@hono/node-server":"^2.1.1","brace-expansion@<2":"1.1.18","express-rate-limit":"^8.7.0","brace-expansion@>=3":"5.0.9","brace-expansion@>=2 <3":"2.1.4"},"_integrity":"sha512-z4hWMZiAnKckEpx7D06Wm91zYLxMXDKfwyboTU1RLWxqhtW07cmH1I0pmMLqCaaqC0g+gBrwwQnQBr+j/5xRzg==","repository":{"url":"git+https://github.com/aantich/oneringai.git","type":"git"},"_npmVersion":"11.6.2","description":"Unified TypeScript AI agent library with multi-vendor models, tools, memory, media, and pluggable OneRingAI/Codex agent runtimes","directories":{},"_nodeVersion":"25.1.0","allowScripts":{"esbuild@0.28.2":true,"fsevents@2.3.3":true,"protobufjs@7.6.6":true,"tesseract.js@7.0.0":true,"@google/genai@2.19.0":true},"dependencies":{"ws":"^8.21.3","ajv":"^8.20.0","zod":"^4.3.6","glob":"^13.0.6","jose":"^6.1.3","jsdom":"^29.1.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^7.30.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","ajv-formats":"^3.0.1","officeparser":"^7.8.0","simple-icons":"^16.7.0","@google/genai":"^2.27.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.131.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"],"agent-runtime":["./dist/agent-runtime/index.d.ts"],"realtime-browser":["./dist/realtime-browser/index.d.ts"],"agent-runtime/codex":["./dist/agent-runtime/codex.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^3.2.7","ts-morph":"^27.0.2","@types/ws":"^8.18.1","typescript":"^5.3.3","@types/node":"^22.10.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@openai/codex-sdk":"^0.149.0","@vitest/coverage-v8":"^3.2.7","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"mongodb":">=5.0.0","@openai/codex-sdk":"^0.149.0","@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"mongodb":{"optional":true},"@openai/codex-sdk":{"optional":true},"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_1.2.1_1793119516368_0.6970639423085776","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@everworker/oneringai","version":"1.2.2","keywords":["ai","ai-agents","llm","agents","openai","codex","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","agent-runtime","agent-sdk","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"author":{"name":"Anton Antic","email":"anton.antich@gmail.com"},"license":"MIT","_id":"@everworker/oneringai@1.2.2","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"homepage":"https://github.com/aantich/oneringai/tree/version1","bugs":{"url":"https://github.com/aantich/oneringai/issues"},"dist":{"shasum":"74c407aeb17e6fa7851f7fca8247f05ed061dd50","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-1.2.2.tgz","fileCount":88,"integrity":"sha512-ifEBdalOASoatBHyVKMftO7vvp1wenpmSMmgjjvytO3KzLPZu3FKbOode/t/A/L2dgO0/f3NhFd0K5AhRG/IWA==","signatures":[{"sig":"MEQCIGnHzsOPpyTokTzE0eLR8nCsxsliK2kjXUBai7BhIDSmAiBFcjTXz3GW9ngHekC9g7zO6MfnKR8CAbTbpDQD6djwEw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBg/Twnviu94LYY8XdSmfZN1csBcQrOGWDA4bsehe9xeAiEAqvXnqdi4UmScPCfV4FLt0z9o8m7Wrw2+1/Pa4NUHlmM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48193842},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^22.13.0 || >=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"},"./agent-runtime":{"types":"./dist/agent-runtime/index.d.ts","import":"./dist/agent-runtime/index.js","require":"./dist/agent-runtime/index.cjs"},"./realtime-browser":{"types":"./dist/realtime-browser/index.d.ts","import":"./dist/realtime-browser/index.js","require":"./dist/realtime-browser/index.cjs"},"./agent-runtime/codex":{"types":"./dist/agent-runtime/codex.d.ts","import":"./dist/agent-runtime/codex.js","require":"./dist/agent-runtime/codex.cjs"}},"scripts":{"dev":"npm run generate && npm run clean:dist && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint \"src/**/*.ts\"","test":"vitest run","build":"npm run generate && npm run clean:dist && tsup && npm run build:verify-exports","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run release:verify-branch && npm run generate && npm run docs && git add src/tools/registry.generated.ts src/connectors/vendors/registry.generated.ts API_REFERENCE.md","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","clean:dist":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","preversion":"npm run release:verify-branch && npm run release:test && npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push --follow-tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","release:test":"node --test tests/release/version1-publishing.test.mjs","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"node -e \"console.error('version1 only publishes @everworker/oneringai 1.x maintenance releases.'); process.exit(1)\"","release:minor":"npm version minor --git-tag-version=true -m 'Release %s'","release:patch":"npm version patch --git-tag-version=true -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","examples:check":"tsc --noEmit -p examples/tsconfig.json","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run release:verify-branch && npm run release:test && npm run build && npm run typecheck && npm run test:unit && npm run docs && npm run release:verify-tag","example:logging":"tsx examples/logging-demo.ts","example:realtime":"tsx examples/openai-realtime.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:realtime:e2e":"RUN_LIVE_OPENAI_REALTIME_E2E=1 vitest run tests/integration/voice/OpenAIRealtimeVoiceAgent.e2e.integration.test.ts","release:verify-tag":"node scripts/verify-release-tag.mjs","test:unit:coverage":"vitest run tests/unit --coverage","build:verify-exports":"node scripts/verify-package-exports.mjs","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:agent-runtime":"tsx examples/agent-runtime-local.ts","release:verify-branch":"node scripts/verify-version1.mjs","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"overrides":{"qs":"^6.16.0","tmp":"^0.2.7","hono":"^4.13.5","undici":"^7.29.0","esbuild":"^0.28.1","exceljs":{"uuid":"^11.1.1"},"js-yaml":"^4.3.1","fast-uri":"^3.1.5","ip-address":"^10.7.0","pdfjs-dist":"^6.3.289","protobufjs":"^7.6.6","body-parser":"^2.3.0","@hono/node-server":"^2.1.1","brace-expansion@<2":"1.1.18","express-rate-limit":"^8.7.0","brace-expansion@>=3":"5.0.9","brace-expansion@>=2 <3":"2.1.4"},"repository":{"url":"git+https://github.com/aantich/oneringai.git#version1","type":"git"},"_npmVersion":"11.19.0","description":"Unified TypeScript AI agent library with multi-vendor models, tools, memory, media, and pluggable OneRingAI/Codex agent runtimes","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"esbuild@0.28.2":true,"fsevents@2.3.3":true,"protobufjs@7.6.6":true,"tesseract.js@7.0.0":true,"@google/genai@2.19.0":true},"dependencies":{"ws":"^8.21.3","ajv":"^8.20.0","zod":"^4.3.6","glob":"^13.0.6","jose":"^6.1.3","jsdom":"^29.1.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^7.30.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","ajv-formats":"^3.0.1","officeparser":"^7.8.0","simple-icons":"^16.7.0","@google/genai":"^2.27.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.131.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"],"agent-runtime":["./dist/agent-runtime/index.d.ts"],"realtime-browser":["./dist/realtime-browser/index.d.ts"],"agent-runtime/codex":["./dist/agent-runtime/codex.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^3.2.7","ts-morph":"^27.0.2","@types/ws":"^8.18.1","typescript":"^5.3.3","@types/node":"^22.10.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@openai/codex-sdk":"^0.149.0","@vitest/coverage-v8":"^3.2.7","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"mongodb":">=5.0.0","@openai/codex-sdk":"^0.149.0","@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"mongodb":{"optional":true},"@openai/codex-sdk":{"optional":true},"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oneringai_1.2.2_1794218200299_0.890899626273718","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"_id":"@everworker/oneringai@1.2.3","bugs":{"url":"https://github.com/aantich/oneringai/issues"},"dist":{"shasum":"9df20b406e3d566941064180281fe5acc3b531bb","tarball":"https://registry.npmjs.org/@everworker/oneringai/-/oneringai-1.2.3.tgz","fileCount":89,"integrity":"sha512-7Pu76TfixyUi0tkNUENU/Oc8b865kaySYV+DYbTHqwzlJQIDJ+JTufc9iinUyiAWHDF/FQUfuy3vTZKx/vrU3w==","signatures":[{"sig":"MEYCIQCFekBbQ97Aj9FnOk6QJo5vVGYRgyz8RU6h39Vs3Z4r7wIhAKysS87D8b+gqPt13ZBnZSAqCFzZCsVDMcqgeD540H/P","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFE6xu52PN5JmuUNnOsKOcIaXtA4L5NK8BgFn3Qs2AHFAiAu3pGXfIMYF2w+XyaJhhf5UfeCepmccIsJBlvBAyXDyw=="}],"unpackedSize":49276138},"main":"./dist/index.js","name":"@everworker/oneringai","type":"module","types":"./dist/index.d.ts","author":{"name":"Anton Antic","email":"anton.antich@gmail.com"},"module":"./dist/index.js","engines":{"node":"^22.13.0 || >=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.js","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/capabilities/agents/index.d.ts","import":"./dist/capabilities/agents/index.js","require":"./dist/capabilities/agents/index.cjs"},"./images":{"types":"./dist/capabilities/images/index.d.ts","import":"./dist/capabilities/images/index.js","require":"./dist/capabilities/images/index.cjs"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.cjs"},"./agent-runtime":{"types":"./dist/agent-runtime/index.d.ts","import":"./dist/agent-runtime/index.js","require":"./dist/agent-runtime/index.cjs"},"./realtime-browser":{"types":"./dist/realtime-browser/index.d.ts","import":"./dist/realtime-browser/index.js","require":"./dist/realtime-browser/index.cjs"},"./agent-runtime/codex":{"types":"./dist/agent-runtime/codex.d.ts","import":"./dist/agent-runtime/codex.js","require":"./dist/agent-runtime/codex.cjs"}},"license":"MIT","scripts":{"dev":"npm run generate && npm run clean:dist && tsup --watch","docs":"tsx scripts/generate-api-docs.ts --mode public","lint":"eslint \"src/**/*.ts\"","test":"vitest run","build":"npm run generate && npm run clean:dist && tsup && npm run build:verify-exports","prepare":"npm run build","test:ui":"vitest --ui","version":"npm run release:verify-branch && npm run generate && npm run docs && git add src/tools/registry.generated.ts src/connectors/vendors/registry.generated.ts API_REFERENCE.md","generate":"npm run generate:tools && npm run generate:vendors","build:all":"npm run build && npm run --prefix apps/amos build && npm run --prefix apps/hosea build && npm run --prefix apps/convert build","docs:full":"mkdir -p docs && tsx scripts/generate-api-docs.ts --mode full","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","clean:dist":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","preversion":"npm run release:verify-branch && npm run release:test && npm run build && npm run typecheck","test:oauth":"vitest run tests/unit/oauth","test:watch":"vitest","docs:public":"tsx scripts/generate-api-docs.ts --mode public","example:web":"tsx examples/web-research-agent.ts","postversion":"git push --follow-tags","example:chat":"tsx examples/interactive-chat.ts","example:text":"tsx examples/simple-text.ts","release:test":"node --test tests/release/version1-publishing.test.mjs","example:agent":"tsx examples/basic-agent.ts","example:hooks":"tsx examples/agent-with-hooks.ts","example:oauth":"tsx examples/oauth-demo.ts","release:major":"node -e \"console.error('version1 only publishes @everworker/oneringai 1.x maintenance releases.'); process.exit(1)\"","release:minor":"npm version minor --git-tag-version=true -m 'Release %s'","release:patch":"npm version patch --git-tag-version=true -m 'Release %s'","test:coverage":"vitest run --coverage","example:vision":"tsx examples/vision-image-input.ts","examples:check":"tsc --noEmit -p examples/tsconfig.json","generate:tools":"tsx scripts/generate-tool-registry.ts","prepublishOnly":"npm run release:verify-branch && npm run release:test && npm run build && npm run typecheck && npm run test:unit && npm run docs && npm run release:verify-tag","example:logging":"tsx examples/logging-demo.ts","example:realtime":"tsx examples/openai-realtime.ts","generate:vendors":"tsx scripts/generate-vendor-registry.ts","test:integration":"vitest run tests/integration","example:json-tool":"tsx examples/json-manipulation-tool.ts","example:providers":"tsx examples/multi-provider-comparison.ts","test:realtime:e2e":"RUN_LIVE_OPENAI_REALTIME_E2E=1 vitest run tests/integration/voice/OpenAIRealtimeVoiceAgent.e2e.integration.test.ts","release:verify-tag":"node scripts/verify-release-tag.mjs","test:unit:coverage":"vitest run tests/unit --coverage","build:verify-exports":"node scripts/verify-package-exports.mjs","example:conversation":"tsx examples/multi-turn-conversation.ts","example:oauth-static":"tsx examples/oauth-static-tokens.ts","example:agent-runtime":"tsx examples/agent-runtime-local.ts","release:verify-branch":"node scripts/verify-version1.mjs","example:oauth-registry":"tsx examples/oauth-registry-demo.ts","example:provider-config":"tsx examples/provider-config-generator.ts","example:oauth-multi-user":"tsx examples/oauth-multi-user.ts","example:custom-infrastructure":"tsx examples/custom-infrastructure.ts","example:oauth-multi-user-fetch":"tsx examples/oauth-multi-user-fetch.ts"},"version":"1.2.3","_npmUser":{"name":"aantich","email":"anton.antich@gmail.com"},"homepage":"https://github.com/aantich/oneringai/tree/version1","keywords":["ai","ai-agents","llm","agents","openai","codex","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","agent-runtime","agent-sdk","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"overrides":{"qs":"^6.16.0","tmp":"^0.2.7","hono":"^4.13.5","undici":"^7.29.0","esbuild":"^0.28.1","exceljs":{"uuid":"^11.1.1"},"js-yaml":"^4.3.1","fast-uri":"^3.1.5","ip-address":"^10.7.0","pdfjs-dist":"^6.3.289","protobufjs":"^7.6.6","body-parser":"^2.3.0","@hono/node-server":"^2.1.1","brace-expansion@<2":"1.1.18","express-rate-limit":"^8.7.0","brace-expansion@>=3":"5.0.9","brace-expansion@>=2 <3":"2.1.4"},"repository":{"url":"git+https://github.com/aantich/oneringai.git#version1","type":"git"},"_npmVersion":"11.19.0","description":"Unified TypeScript AI agent library with multi-vendor models, tools, memory, media, and pluggable OneRingAI/Codex agent runtimes","directories":{},"maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"_nodeVersion":"24.20.0","allowScripts":{"esbuild@0.28.2":true,"fsevents@2.3.3":true,"protobufjs@7.6.6":true,"tesseract.js@7.0.0":true,"@google/genai@2.19.0":true},"dependencies":{"ws":"^8.21.3","ajv":"^8.20.0","zod":"^4.3.6","glob":"^13.0.6","jose":"^6.1.3","jsdom":"^29.1.1","pngjs":"^7.0.0","unpdf":"^1.4.0","dotenv":"^17.2.3","openai":"^7.30.0","cheerio":"^1.1.2","exceljs":"^4.4.0","turndown":"^7.2.2","clipboardy":"^5.0.2","ajv-formats":"^3.0.1","officeparser":"^7.8.0","simple-icons":"^16.7.0","@google/genai":"^2.27.0","eventemitter3":"^5.0.1","readline-async":"^0.1.0","@anthropic-ai/sdk":"^0.131.0","@mozilla/readability":"^0.6.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"types":["./dist/types/index.d.ts"],"agents":["./dist/capabilities/agents/index.d.ts"],"images":["./dist/capabilities/images/index.d.ts"],"shared":["./dist/shared/index.d.ts"],"agent-runtime":["./dist/agent-runtime/index.d.ts"],"realtime-browser":["./dist/realtime-browser/index.d.ts"],"agent-runtime/codex":["./dist/agent-runtime/codex.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.0.1","eslint":"^8.56.0","vitest":"^3.2.7","ts-morph":"^27.0.2","@types/ws":"^8.18.1","typescript":"^5.3.3","@types/node":"^22.10.0","@types/jsdom":"^27.0.0","@types/pngjs":"^6.0.5","@faker-js/faker":"^9.9.0","@types/turndown":"^5.0.6","@openai/codex-sdk":"^0.149.0","@vitest/coverage-v8":"^3.2.7","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"peerDependencies":{"mongodb":">=5.0.0","@openai/codex-sdk":"^0.149.0","@nut-tree-fork/nut-js":">=4.0.0"},"peerDependenciesMeta":{"mongodb":{"optional":true},"@openai/codex-sdk":{"optional":true},"@nut-tree-fork/nut-js":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/oneringai_1.2.3_1794394515780_0.8753290530233688"}}},"time":{"created":"2026-02-05T12:57:05.094Z","modified":"2026-11-11T10:55:16.293Z","0.1.0":"2026-02-05T12:57:05.389Z","0.1.1":"2026-02-06T14:58:27.721Z","0.1.2":"2026-02-06T21:41:25.586Z","0.1.3":"2026-02-07T08:56:25.832Z","0.1.4":"2026-02-08T21:32:05.731Z","0.2.0":"2026-02-09T20:30:32.795Z","0.2.1":"2026-02-11T15:50:46.566Z","0.2.2":"2026-02-16T17:25:10.769Z","0.2.3":"2026-02-17T20:32:08.436Z","0.3.0":"2026-02-18T16:04:45.225Z","0.3.1":"2026-02-18T21:08:04.006Z","0.3.2":"2026-02-19T13:15:47.044Z","0.4.0":"2026-02-20T17:46:19.480Z","0.4.1":"2026-02-20T19:30:14.431Z","0.4.2":"2026-02-22T21:56:09.519Z","0.4.3":"2026-02-25T20:33:38.327Z","0.4.4":"2026-02-26T21:46:33.147Z","0.4.5":"2026-02-27T22:15:20.141Z","0.4.6":"2026-03-04T17:26:35.062Z","0.4.7":"2026-03-10T21:37:15.867Z","0.4.8":"2026-03-12T18:47:16.630Z","0.5.0":"2026-03-17T09:34:49.878Z","0.5.1":"2026-04-01T23:54:26.447Z","0.5.2":"2026-04-08T13:58:35.206Z","0.5.3":"2026-04-10T21:06:44.698Z","0.5.4":"2026-04-12T17:35:03.218Z","0.5.5":"2026-04-14T16:13:27.356Z","0.6.0":"2026-04-25T18:07:42.269Z","0.6.1":"2026-05-14T15:21:41.884Z","0.7.0":"2026-05-22T16:52:13.662Z","0.10.0":"2026-05-27T14:45:46.843Z","0.10.1":"2026-07-03T11:05:00.242Z","0.10.2":"2026-07-04T14:05:02.710Z","0.10.3":"2026-07-06T13:46:09.685Z","0.11.0":"2026-07-24T20:20:59.085Z","1.0.0":"2026-08-08T19:24:24.969Z","1.0.1":"2026-08-09T11:56:32.485Z","1.1.0":"2026-08-24T17:44:47.019Z","1.1.1":"2026-08-28T09:50:20.798Z","1.1.2":"2026-08-30T18:13:52.724Z","1.1.3":"2026-08-30T19:02:41.892Z","1.1.4":"2026-08-31T15:29:07.685Z","1.1.5":"2026-08-31T18:46:56.928Z","1.1.6":"2026-09-04T10:47:37.235Z","1.1.7":"2026-09-04T11:37:30.064Z","1.1.8":"2026-09-22T13:32:13.202Z","1.2.0":"2026-10-07T12:45:34.774Z","1.2.1":"2026-10-27T16:45:16.676Z","1.2.2":"2026-11-09T09:56:40.509Z","1.2.3":"2026-11-11T10:55:16.105Z"},"bugs":{"url":"https://github.com/aantich/oneringai/issues"},"author":{"name":"Anton Antic","email":"anton.antich@gmail.com"},"license":"MIT","homepage":"https://github.com/aantich/oneringai/tree/version1","keywords":["ai","ai-agents","llm","agents","openai","codex","anthropic","claude","gpt","gpt-4","gpt-5","gemini","google-ai","deepseek","groq","ollama","image-generation","dall-e","text-to-speech","speech-to-text","video-generation","sora","tool-calling","function-calling","agentic","agent-runtime","agent-sdk","multi-vendor","mcp","model-context-protocol","rag","chatbot","conversational-ai"],"repository":{"url":"git+https://github.com/aantich/oneringai.git#version1","type":"git"},"description":"Unified TypeScript AI agent library with multi-vendor models, tools, memory, media, and pluggable OneRingAI/Codex agent runtimes","maintainers":[{"name":"aantich","email":"anton.antich@gmail.com"}],"readme":"# @everworker/oneringai\n\n> [!TIP]\n> **OneRingAI v2 beta is here — start your migration!**\n>\n> The next generation is published as **[`oneringai` on npm](https://www.npmjs.com/package/oneringai)**\n> (without the `@everworker/` scope). We recommend v2 for new projects and\n> encourage existing users to try the beta and start migrating.\n>\n> **What's new in v2:**\n>\n> - **Agents in browsers and Node.js:** use the same Agent API, context plugins,\n>   tools, and model budgets in browser pages, Workers, and servers.\n> - **Choose your agent harness:** define your agent and application tools once,\n>   then bind OneRingAI, local Codex/Claude SDKs, or managed OpenAI/Claude agents\n>   per session.\n> - **Stronger long-running agents:** durable evidence, protected task state,\n>   and selectable context strategies retain source observations and\n>   host-confirmed constraints through compaction.\n> - **Control model spending:** named model routes, dedicated helper models,\n>   and shared call/token/cost budgets give your application explicit control.\n> - **More reliable workflows:** inspectable tool outcomes, bounded recovery,\n>   host completion checks, and verified routines help you check actual results.\n>\n> Try the beta with `npm install oneringai@next` (currently\n> [`2.0.0-beta.2`](https://www.npmjs.com/package/oneringai/v/2.0.0-beta.2)).\n> Follow the **[v1 → v2 migration guide](https://github.com/aantich/oneringai/blob/main/docs/PACKAGE_MIGRATION.md)**\n> to replace the package and update imports; explore the\n> **[v2 README](https://github.com/aantich/oneringai#readme)** and\n> **[v2 adoption guide](https://github.com/aantich/oneringai/blob/main/docs/VERSION_2_GUIDE.md)**\n> for examples and feature support boundaries.\n>\n> **v1 remains supported and is not deprecated.** Any deprecation will wait\n> until a stable v2 release. The documentation below is for v1.\n\n**v1 maintenance:** `@everworker/oneringai` is maintained on the\n[`version1` branch](https://github.com/aantich/oneringai/tree/version1),\nwhich receives maintenance fixes during the v2 migration period.\nUse `npm install @everworker/oneringai` to stay on v1. See the\n[maintenance release guide](https://github.com/aantich/oneringai/blob/version1/docs/VERSION1_MAINTENANCE.md).\n\n> **A unified AI agent library with multi-provider support for text generation, image/video generation, audio (TTS/STT), and agentic workflows.**\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.3-blue.svg)](https://www.typescriptlang.org/)\n[![Node.js](https://img.shields.io/badge/Node.js-22.13%2B%20%7C%2024%2B-green.svg)](https://nodejs.org/)\n\n## What's new in 1.2.0\n\nOneRingAI 1.2.0 expands the GPT-6 Astra work into a current,\ncapability-checked API layer for all four major vendors.\n\n- **OpenAI and Astra:** Adds GPT-6.1 Sol, GPT-6 Sol, GPT-6 Luna,\n  GPT-5.6 Cyber, and GPT-Rosalind Research alongside Astra. The Responses\n  integration now preserves ordered text, tool, compaction, and reasoning state\n  through managed tool loops and supports the newest hosted tools. Computer-use\n  screenshot continuations accept either data URLs or uploaded file IDs. GPT-6\n  sampling controls are validated against the effective reasoning effort. New\n  connector-first wrappers cover Decisions, GPT-Live WebSockets, and custom\n  voice creation.\n- **Anthropic:** Adds Claude Opus 5.5 and Sonnet 5.5 with their distinct\n  adaptive-thinking rules, current server-tool versions, deferred tools,\n  programmatic callers, compaction, and native tool search. Provider-owned\n  blocks and distinct signed-thinking blocks are retained in provider order so\n  tool-search continuations can be replayed faithfully.\n- **Google:** Adds Gemini 3.8 Flash and Live variants, Interactions continuation\n  tokens, file search, computer use, background Live status, custom voices,\n  Gemini 3.8 TTS, and Nano Banana 2.1 image generation. Streaming preserves\n  signed thought state and provider usage across continuations.\n- **xAI:** Adds Grok 4.7, native X search and hosted coding tools, reasoning and\n  cost telemetry, plus Grok Voice Transcribe 2.0 through a dedicated provider.\n\nModel and API access can still be organization- or region-gated by each vendor.\nRead the [Astra and current vendor API guide](./USER_GUIDE.md#gpt-6-astra-responses-extensions),\nthe [1.2.0 changelog](./CHANGELOG.md), and the\n[model registry audit](./docs/MODEL_REGISTRY_AUDIT.md).\n\n## Built for coding agents\n\nOneRingAI ships a canonical **[Agent Guide](./AGENTS.md)** that gives Codex,\nClaude Code, and custom coding agents the complete mental model they need to\nwork with the library: connector-first authentication, agents and execution\nmodes, tools, context plugins, memory, multimodal APIs, orchestration, MCP,\ntenancy, persistence, documentation routing, and validation.\n\nIn this repository, `AGENTS.md` is the shared source of truth and\n[`CLAUDE.md`](./CLAUDE.md) directs Claude Code to it. When OneRingAI is installed\nfrom npm, both files—plus the public API reference and specialist memory/tool\nguides—are included in the package. If an agent does not discover the guide\nautomatically, give it this one instruction:\n\n```text\nBefore writing OneRingAI code, read\nnode_modules/@everworker/oneringai/AGENTS.md in full. Follow its connector-first\npatterns, use only public package exports, and consult the specialist document\nit routes you to before guessing an API.\n```\n\nThat is enough to orient an agent before asking it to build something:\n\n```text\nNow create a TypeScript research agent that uses my named OpenAI connector,\nSerper for search, ZenRows for scraping, and the tool catalog. Keep credentials\nout of code and add a runnable smoke test.\n```\n\nCustom agents can load the same file into their system/developer context. The\nguide is deliberately concise enough to load as context while linking to the\nfull User Guide, API reference, connector/tool catalog, memory documentation,\nand runnable examples when deeper work is required.\n\n## Agent Runtime: run complete agents through one API\n\nThe preview **Agent Runtime** is the integration layer for pre-built agent\nsystems—not merely another text-model adapter. It lets an application or\nworkflow select a native OneRingAI agent or an OpenAI Codex SDK agent through\nthe same specification/session/run API while each driver keeps its own agent\nloop, tools, context, and workspace behavior.\n\n| What the runtime normalizes | Current local-preview behavior |\n|-----------------------------|--------------------------------|\n| Drivers | Native OneRingAI agents and the optional Codex TypeScript SDK |\n| Selection | Agent, model, and model-validated reasoning effort at spec or per-run scope |\n| Observation | Live messages, vendor-exposed reasoning, and tool/command/file activity when exposed by the selected driver, plus usage and terminal results |\n| Control | Autonomous, observable runs; approvals and steering are capability-gated and not yet implemented locally |\n| Safety | Explicit policy, bounded output/events, cancellation cleanup, one writer per workspace, and fail-closed workspace quarantine |\n| Placement | Trusted local execution today; isolated container/microVM execution is the planned server backend |\n\nThe example below assumes an OpenAI connector named `openai-main`; install\n`@openai/codex-sdk` when enabling the optional Codex driver.\n\n```typescript\nimport {\n  AgentRuntime,\n  LocalExecutionBackend,\n} from '@everworker/oneringai/agent-runtime';\nimport { CodexSdkDriver }\n  from '@everworker/oneringai/agent-runtime/codex';\n\nconst runtime = new AgentRuntime({\n  backend: new LocalExecutionBackend({ drivers: [new CodexSdkDriver()] }),\n});\n\nconst codingAgent = runtime.agent({\n  id: 'coding-agent',\n  driver: 'openai.codex.sdk',\n  connector: 'openai-main',\n  model: 'gpt-5.3-codex',\n  reasoning: { effort: 'high' },\n});\n```\n\nAutonomous does not mean opaque: callers can consume `run.events()` to render\nthe agent’s ongoing work without pausing it for approval. Unsupported features\nfail in capability preflight instead of silently degrading.\n\nStart with the **[detailed Agent Runtime guide](./USER_GUIDE.md#agent-runtime-preview)**,\nrun the **[local OneRingAI/Codex example](./examples/agent-runtime-local.ts)**,\nand use the **[design document](./docs/designs/AGENT_RUNTIME.md)** for architectural\ndecisions, security boundaries, and the server/App Server/Claude/A2A roadmap.\n\n## Meet AMOS: a terminal agent built with OneRingAI\n\n> **Want to see the library running as a real application?** AMOS is the\n> terminal-based AI assistant in this repository, built entirely on OneRingAI.\n\nAMOS turns the library's core capabilities into an interactive CLI: configure\nnamed connectors, switch vendors and models without restarting, use guarded\nfilesystem and shell tools, search with Serper, scrape with ZenRows, inspect\ncontext usage, and save or resume working sessions.\n\n**[Explore AMOS, its commands, and local setup →](./apps/amos/README.md)**\n\n## Memory is a first-class subsystem\n\nOneRingAI includes a complete, standalone **`MemorySystem`**—not just chat\nhistory and not a thin vector-store wrapper. It models knowledge as typed\nentities and provenance-aware facts, combines graph traversal with vector\nsearch, resolves repeated mentions to stable identities, and turns accumulated\nobservations into evolving profiles. It is substantial enough to be its own\npackage, but ships as part of OneRingAI so agents, connectors, embeddings,\npermissions, and context injection work together without integration glue.\n\n| Capability | What the memory layer provides |\n|------------|--------------------------------|\n| Knowledge model | Entities, atomic and relational facts, typed metadata, aliases, multiple identifiers, confidence, importance, provenance, `contextIds`, supersession, and archival history |\n| Retrieval | Ranked recall, semantic search over embedded facts and documents, N-hop graph traversal, related tasks/events, and bitemporal `asOf` queries |\n| Ingestion | Plain text, email, and calendar signal adapters; deterministic participant seeding; LLM extraction; entity resolution; and custom source/extractor interfaces |\n| Learning | Incremental user-profile generation, optional organization profiles, background conversation ingestion, and per-user-per-agent behavior rules |\n| Storage and scale | Zero-dependency in-memory storage plus Mongo adapters, native `$graphLookup`, Atlas Vector Search, index helpers, and pluggable `IMemoryStore` backends |\n| Security | Required ownership, owner/group/world permissions, optional principal ACLs, storage-level read filtering, write authorization, and LLM-safe scoped tools |\n\nUse it in three ways:\n\n1. **Directly** through `MemorySystem` in a server, worker, migration, or any\n   non-agent application.\n2. **Inside an agent** with `MemoryPluginNextGen` (six read tools and profile\n   injection) plus the optional `MemoryWritePluginNextGen` (six write tools).\n3. **As an ingestion pipeline** with `SignalIngestor` or\n   `SessionIngestorPluginNextGen`, including retrieval-only agents that learn\n   in the background without giving the LLM write access.\n\nStart with the **[Memory Layer Guide](./docs/MEMORY_GUIDE.md)**. The specialist\ndocs cover the [API](./docs/MEMORY_API.md),\n[permissions](./docs/MEMORY_PERMISSIONS.md),\n[predicate vocabulary](./docs/MEMORY_PREDICATES.md), and\n[signal ingestion](./docs/MEMORY_SIGNALS.md).\n\n## Context plugins and tools are modular by design\n\n`AgentContextNextGen` is the runtime composition layer around an agent. Its\ngoal is to let each capability own its instructions, context content, tools,\ntoken accounting, compaction behavior, and persisted state while the context\nmanager assembles one coherent model input. Compaction happens once before the\nLLM call, tool-call/result pairs stay together, and disabled features add no\ntools or prompt content.\n\n| Context feature | Purpose |\n|-----------------|---------|\n| Working memory | External, tiered scratch storage for raw notes, summaries, and findings |\n| In-context memory | Small high-value state kept directly in the prompt—no retrieval call required |\n| Self-learning memory | Profiles, graph/vector retrieval, document search, and optional controlled writes through `memory_*` tools |\n| Tool catalog | Lets agents discover and load only the tool categories needed for the current task |\n| Shared workspace | Versioned coordination board for multi-agent teams |\n| Persistent instructions / user info | Backward-compatible stores; new applications should generally prefer the self-learning memory system |\n\nTools reach an agent from four explicit sources: application-supplied\n`ToolFunction`s, the 39 generated built-ins, feature plugins (`store_*`,\n`memory_*`, catalog tools, and others), and connector-generated tools.\n`ConnectorTools.for(name)` always adds a protected authenticated API tool when\nthe connector has a `baseURL`, then adds a specialized pack where OneRingAI has\none—for example Slack, GitHub, Microsoft, Google Workspace, Telegram, Twilio,\nZoom, web search/scraping, and AI media connectors. Generated names are\nconnector-prefixed, so multiple accounts and vendors can coexist safely.\n\nSee the **[Connector & Tool Catalog](./docs/CONNECTOR_TOOL_CATALOG.md)** for the\ncomplete 50-template matrix, every first-party specialized pack, and discovery\nAPIs. The [Context Management guide](./USER_GUIDE.md#context-management) covers\nplugin lifecycle, stores, compaction, persistence, and custom plugins.\n\n## Table of Contents\n\n- [What's new in 1.2.0](#whats-new-in-120)\n- [Built for coding agents](#built-for-coding-agents)\n- [Agent Runtime: run complete agents through one API](#agent-runtime-run-complete-agents-through-one-api)\n- [Meet AMOS: a terminal agent built with OneRingAI](#meet-amos-a-terminal-agent-built-with-oneringai)\n- [Memory is a first-class subsystem](#memory-is-a-first-class-subsystem)\n- [Context plugins and tools are modular by design](#context-plugins-and-tools-are-modular-by-design)\n- [Features](#features)\n- [Quick Start](#quick-start) — Installation, basic usage, tools, vision, audio, images, video, search, scraping\n- [Supported Providers](#supported-providers)\n- [Key Features](#key-features)\n  - [1. Agent with Plugins](#1-agent-with-plugins)\n  - [2. Dynamic Tool Management](#2-dynamic-tool-management)\n  - [3. Tool Execution Plugins](#3-tool-execution-plugins)\n  - [4. Tool Permissions](#4-tool-permissions)\n  - [5. Session Persistence](#5-session-persistence)\n  - [Storage Registry](#storage-registry)\n  - [6. Working Memory](#6-working-memory)\n  - [7. Research with Search Tools](#7-research-with-search-tools)\n  - [8. Context Management](#8-context-management)\n  - [9. InContextMemory](#9-incontextmemory)\n  - [10. Persistent Instructions](#10-persistent-instructions)\n  - [11. User Info](#11-user-info)\n  - [Self-Learning Memory — plugin + tools](#self-learning-memory--plugin--tools) — `MemoryPluginNextGen` + `MemoryWritePluginNextGen` with **12 `memory_*` LLM tools** (6 read incl. `memory_search_documents` + 6 write incl. `memory_set_agent_rule`)\n  - [12. Direct LLM Access](#12-direct-llm-access)\n  - [Advanced Inference](#advanced-inference-caching-batches-and-provider-hosted-tools) — Prompt caching, async batches, provider-hosted tools, telemetry, and data policy\n  - [13. Audio Capabilities](#13-audio-capabilities)\n  - [Embeddings](#embeddings) — Multi-vendor text and multimodal embeddings with MRL dimension control\n  - [14. Model Registry](#14-model-registry)\n  - [15. Streaming](#15-streaming)\n  - [16. OAuth for External APIs](#16-oauth-for-external-apis)\n  - [17. Developer Tools](#17-developer-tools)\n  - [18. Custom Tool Generation](#18-custom-tool-generation) — Agents create, test, and persist their own tools\n  - [19. Desktop Automation Tools](#19-desktop-automation-tools) — Screenshot, mouse, keyboard, window control for computer use agents\n  - [20. Document Reader](#20-document-reader) — PDF, DOCX, XLSX, PPTX, CSV, HTML, images\n  - [21. Routine Execution](#21-routine-execution) — Multi-step workflows with task dependencies, validation, and memory bridging\n  - [22. External API Integration](#22-external-api-integration) — Scoped Registry, Vendor Templates, Tool Discovery\n  - [23. Microsoft Graph Connector Tools](#23-microsoft-graph-connector-tools) — Email, calendar, meetings, and Teams transcripts\n  - [24. Tool Catalog](#24-tool-catalog) — Dynamic discovery and loading for large tool sets\n  - [25. Async (Non-Blocking) Tools](#25-async-non-blocking-tools) — Background tool execution with auto-continuation\n  - [26. Long-Running Sessions (Suspend/Resume)](#26-long-running-sessions-suspendresume) — Suspend agent loops waiting for external input, resume days later\n  - [27. Agent Registry](#27-agent-registry) — Global tracking, deep inspection, parent/child hierarchy, event fan-in, external control\n  - [28. Agent Orchestrator](#28-agent-orchestrator) — Multi-agent teams with shared workspace, delegation, and async execution\n  - [29. Telegram Connector Tools](#29-telegram-connector-tools) — Bot API tools for messaging, updates, and webhooks\n  - [30. Twilio Connector Tools](#30-twilio-connector-tools) — SMS and WhatsApp messaging tools\n  - [31. Google Workspace Connector Tools](#31-google-workspace-connector-tools) — Gmail, Calendar, Meet, and Drive tools\n  - [32. Zoom Connector Tools](#32-zoom-connector-tools) — Meeting management and transcripts\n  - [33. Unified Calendar](#33-unified-calendar) — Cross-provider meeting slot finder (Google + Microsoft)\n  - [34. Multi-Account Connectors](#34-multi-account-connectors) — Multiple accounts per vendor with automatic routing\n  - [35. Integration Testing](#35-integration-testing) — Reusable test suites for connector tools\n  - [36. Instruction Templates](#36-instruction-templates) — `{{DATE}}`, `{{AGENT_ID}}`, custom `{{COMMAND:arg}}` with extensible registry\n- [MCP Integration](#mcp-model-context-protocol-integration)\n- [Documentation](#documentation)\n- [Examples](#examples)\n- [Development](#development)\n- [Architecture](#architecture)\n- [Troubleshooting](#troubleshooting)\n- [Contributing](#contributing)\n- [License](#license)\n\n<!-- For in-depth guides and full API reference, see the docs section below -->\n\n## Documentation\n\n> **Start here if you're looking for detailed docs or the full API reference.**\n\n| Document | Description |\n|----------|-------------|\n| **[Agent Guide](./AGENTS.md)** | Canonical context file for Codex, Claude Code, and custom coding agents: architecture, recipes, capability routing, safety invariants, and documentation map |\n| **[Agent Runtime Guide](./USER_GUIDE.md#agent-runtime-preview)** | Detailed usage guide for interchangeable OneRingAI/Codex agents, model and reasoning controls, live observation, capabilities, policy, lifecycle, and cleanup |\n| **[Agent Runtime Design](./docs/designs/AGENT_RUNTIME.md)** | Implemented local preview for OneRingAI and Codex SDK agents: generic model/reasoning controls, live observable autonomous runs, capabilities, policy, and the isolated-server roadmap |\n| **[User Guide](./USER_GUIDE.md)** | Comprehensive guide covering every feature with examples — connectors, agents, context, plugins, audio, video, search, MCP, OAuth, and more |\n| **[API Reference](./API_REFERENCE.md)** | Auto-generated reference for all public exports — classes, interfaces, types, and functions with signatures |\n| **[Memory Layer Guide](./docs/MEMORY_GUIDE.md)** | Standalone entity/fact memory system: graph and vector retrieval, ingestion, resolution, profiles, adapters, scaling, and agent integration |\n| **[Memory API & Security](./docs/MEMORY_API.md)** | Complete `MemorySystem` API, with dedicated [permissions](./docs/MEMORY_PERMISSIONS.md), [predicates](./docs/MEMORY_PREDICATES.md), and [signals](./docs/MEMORY_SIGNALS.md) guides |\n| **[Connector & Tool Catalog](./docs/CONNECTOR_TOOL_CATALOG.md)** | All 50 connector templates, generic authenticated API behavior, specialized tool packs, built-ins, plugin tools, and discovery APIs |\n| **[Runnable Examples](https://github.com/aantich/oneringai/blob/main/examples/README.md)** | Every example program, what it demonstrates, required credentials, side effects, and exact run command |\n| **[1.0.0 Upgrade Guide](./USER_GUIDE.md#upgrading-to-100)** | Breaking changes, compatibility guarantees, migration checklist, and before/after examples |\n| [Model Registry Audit](./docs/MODEL_REGISTRY_AUDIT.md) | Vendor-by-vendor gaps, implemented status, model snapshot, API boundaries, and official sources |\n| [CHANGELOG](./CHANGELOG.md#100--2026-08-08) | Full 1.0.0 release notes, breaking changes, validation, and version history |\n\n---\n\n## Tutorial / Architecture Series\n\n**Part 0**. [One Lib to Rule Them All: Why We Built OneRingAI](https://medium.com/superstringtheory/one-library-to-rule-them-all-why-we-built-oneringai-689f904874d6): introduction and architecture overview\n\n**Part 1**. [Your AI Agent Forgets Everything. Here’s How We Fixed It.](https://medium.com/superstringtheory/your-ai-agent-forgets-everything-heres-how-we-fixed-it-276b39aedbb3): context management plugins\n\n\n## YOUetal\n\nShowcasing another amazing \"built with oneringai\": [\"no saas\" agentic business team](https://youetal.ai)\n\n## Features\n\n- ✨ **Unified API** - One interface for 12 AI providers (OpenAI, Anthropic, Google, Vertex, Groq, Together, Perplexity, Grok, DeepSeek, Mistral, Ollama, Custom)\n- 🧩 **[Agent Runtime preview](./USER_GUIDE.md#agent-runtime-preview)** - Plug-compatible OneRingAI/Codex agent drivers with model and thinking selection, live reasoning/activity events, and capability-gated future interaction\n- 🔑 **Connector-First Architecture** - Single auth system with support for multiple keys per vendor\n- 📊 **Model Registry v2** - Lifecycle, aliases, endpoints, official sources, and modality-aware pricing for current text/realtime models plus dedicated image, video, voice, STT, and embedding registries\n- 🎤 **Audio Capabilities** - Text-to-Speech and Speech-to-Text with OpenAI, Google, and xAI, including xAI WebSocket streaming\n- ☎️ **[OpenAI Realtime API](./USER_GUIDE.md#openai-realtime-api)** - GA voice agents, live transcription, and speech translation over WebSocket/WebRTC, plus SIP call control, tools, VAD, and Twilio bridging\n- 🧭 **[GPT-6 Astra Responses extensions](./USER_GUIDE.md#gpt-6-astra-responses-extensions)** - Async tools, WebSocket steering, persistent reasoning/compaction state, safety alerts, Decisions, GPT-Live, and custom voices\n- 📞 **[xAI Voice Agent API](./USER_GUIDE.md#xai-realtime-voice-agent-api)** - JSON or binary audio, browser credentials, conversation resumption, reasoning controls, and SIP refer/hangup\n- 🖼️ **Image Generation** - GPT Image 2.5 Sunburst/Flare, Gemini Nano Banana 2.1, Imagen, and Grok Imagine generation/editing\n- 🎬 **Video Generation** - Google Veo/Omni and Grok Imagine Video 1.5; retired OpenAI Sora APIs report local migration errors\n- 🔢 **Embeddings** - Text and multimodal embedding generation, including Gemini Embedding 2 for text, image, audio, video, and documents\n- 🔍 **Web Search** - Connector-based search with Serper, Brave, Tavily, and RapidAPI providers\n- 🔌 **NextGen Context** - Clean, plugin-based context management with `AgentContextNextGen`\n- 🎛️ **Dynamic Tool Management** - Enable/disable tools at runtime, namespaces, priority-based selection\n- 🔌 **Tool Execution Plugins** - Pluggable pipeline for logging, analytics, UI updates, custom behavior\n- 💾 **Session Persistence** - Save and resume conversations with full state restoration\n- ⏸️ **Long-Running Sessions** - Suspend agent loops via `SuspendSignal`, resume hours/days later with `Agent.hydrate()`\n- 👤 **Multi-User Support** - Set `userId` once, flows automatically to all tool executions and session metadata\n- 🔒 **Auth Identities** - Restrict agents to specific connectors (and accounts), composable with access policies\n- 🤖 **Universal Agent** - ⚠️ *Deprecated* - Use `Agent` with plugins instead\n- 🤖 **Task Agents** - ⚠️ *Deprecated* - Use `Agent` with `WorkingMemoryPluginNextGen`\n- 🔬 **Research Agent** - ⚠️ *Deprecated* - Use `Agent` with search tools\n- 🎯 **Context Management** - Algorithmic compaction with tool-result-to-memory offloading\n- 📌 **InContextMemory** - Live key-value storage directly in LLM context with optional UI display (`showInUI`)\n- 📝 **Persistent Instructions** - ⚠️ *Deprecated* in favour of `MemoryPluginNextGen` (self-learning memory). Still works unchanged.\n- 👤 **User Info Plugin** - ⚠️ *Deprecated* in favour of `MemoryPluginNextGen`. Still works unchanged.\n- 🧠 **Self-Learning Memory** - `MemoryPluginNextGen` + `MemoryWritePluginNextGen` + 12 `memory_*` tools — brain-like entity/fact store with three-principal permissions, semantic search, graph queries, LLM-synthesised profiles that evolve from observations, user-driven behavior rules, optional background ingestion via `SessionIngestorPluginNextGen`\n- 🛠️ **Agentic Workflows** - Built-in tool calling and multi-turn conversations\n- 🔧 **Developer Tools** - Filesystem and shell tools for coding assistants (read, write, edit, grep, glob, bash)\n- 🧰 **Custom Tool Generation** - Let agents create, test, and persist their own reusable tools at runtime — complete meta-tool system with VM sandbox\n- 🖥️ **Desktop Automation** - OS-level computer use — screenshot, mouse, keyboard, and window control for vision-driven agent loops\n- 📄 **Document Reader** - Universal file-to-text converter — PDF, DOCX, XLSX, PPTX, CSV, HTML, images auto-converted to markdown\n- 🔌 **MCP Integration** - Model Context Protocol client for seamless tool discovery from local and remote servers\n- 👁️ **Vision Support** - Analyze images with AI across all providers\n- 📋 **Clipboard Integration** - Paste screenshots directly (like Claude Code!)\n- 🔐 **Scoped Connector Registry** - Pluggable access control for multi-tenant connector isolation\n- 💾 **StorageRegistry** - Centralized storage configuration — swap all backends (sessions, media, custom tools, etc.) with one `configure()` call\n- 🔐 **OAuth 2.0** - Full OAuth support for external APIs with encrypted token storage\n- 📦 **Vendor Templates** - Pre-configured auth templates for 50 services (GitHub, Slack, Stripe, etc.)\n- 📧 **Microsoft Graph Tools** - Email, calendar, meetings, and Teams transcripts via Microsoft Graph API\n- 🔁 **Routine Execution** - Multi-step workflows with task dependencies, LLM validation, retry logic, and memory bridging between tasks\n- 📊 **Execution Recording** - Persist full routine execution history with `createExecutionRecorder()` — replaces manual hook wiring\n- ⏰ **Scheduling & Triggers** - `SimpleScheduler` for interval/one-time schedules, `EventEmitterTrigger` for webhook/queue-driven execution\n- 📦 **Tool Catalog** - Dynamic tool loading/unloading — agents discover and load only the categories they need at runtime\n- **Async Tools** - Non-blocking tool execution — long-running tools run in background while the agent continues reasoning, with auto-continuation when results arrive\n- 📡 **Agent Registry** - Global tracking of all active agents — deep inspection, parent/child hierarchy, event fan-in, external control\n- 📱 **Telegram Tools** - 6 Telegram Bot API tools — send messages/photos, get updates, webhooks, chat info\n- 📞 **Twilio Tools** - 4 Twilio tools — SMS, WhatsApp messaging, message listing and details\n- 📧 **Google Workspace Tools** - 11 tools for Gmail, Calendar, Meet transcripts, and Drive (read, search, list files)\n- 🎥 **Zoom Tools** - 3 Zoom tools — create/update meetings, get cloud recording transcripts\n- 📅 **Unified Calendar** - Cross-provider meeting slot finder aggregating Google + Microsoft calendars\n- 👥 **Multi-Account Connectors** - Multiple accounts per vendor (e.g., work + personal) with automatic routing\n- 🧪 **Integration Testing** - Reusable test suite framework for connector tools with 10 built-in suites\n- 📝 **Instruction Templates** - `{{DATE}}`, `{{AGENT_ID}}`, `{{RANDOM:1:10}}` and custom `{{COMMAND:arg}}` in agent instructions — extensible registry with async support\n- 🔄 **Streaming** - Real-time responses with event streams\n- ⚡ **Advanced Inference** - Provider-aware prompt caching, asynchronous text batches, provider-hosted tools, detailed usage telemetry, and explicit data-handling policy\n- 📝 **TypeScript** - Full type safety and IntelliSense support\n\n> **Multi-User Support:** Set `userId` once on an agent and it automatically flows to all tool executions, OAuth token retrieval, session metadata, and connector scoping. Combine with `identities` and access policies for complete multi-tenant isolation. See [Multi-User Support](./USER_GUIDE.md#multi-user-support-userid) and [Auth Identities](./USER_GUIDE.md#auth-identities-identities) in the User Guide.\n\n## Quick Start\n\n### Installation\n\n```bash\nnpm install @everworker/oneringai\n```\n\n### Basic Usage\n\n```typescript\nimport { Connector, Agent, Vendor } from '@everworker/oneringai';\n\n// 1. Create a connector (authentication)\nConnector.create({\n  name: 'openai',\n  vendor: Vendor.OpenAI,\n  auth: { type: 'api_key', apiKey: process.env.OPENAI_API_KEY! },\n});\n\n// 2. Create an agent\nconst agent = Agent.create({\n  connector: 'openai',\n  model: 'gpt-5.6-terra',\n});\n\n// 3. Run\nconst response = await agent.run('What is the capital of France?');\nconsole.log(response.output_text);\n// Output: \"The capital of France is Paris.\"\n```\n\n### With Tools\n\n```typescript\nimport { ToolFunction } from '@everworker/oneringai';\n\nconst weatherTool: ToolFunction = {\n  definition: {\n    type: 'function',\n    function: {\n      name: 'get_weather',\n      description: 'Get current weather',\n      parameters: {\n        type: 'object',\n        properties: {\n          location: { type: 'string' },\n        },\n        required: ['location'],\n      },\n    },\n  },\n  execute: async (args) => {\n    return { temp: 72, location: args.location };\n  },\n};\n\nconst agent = Agent.create({\n  connector: 'openai',\n  model: 'gpt-5.6-terra',\n  tools: [weatherTool],\n});\n\nawait agent.run('What is the weather in Paris?');\n```\n\n### Vision\n\n```typescript\nimport { createMessageWithImages } from '@everworker/oneringai';\n\nconst agent = Agent.create({\n  connector: 'openai',\n  model: 'gpt-5.6-terra',\n});\n\nconst response = await agent.run(\n  createMessageWithImages('What is in this image?', ['./photo.jpg'])\n);\n```\n\n### Audio\n\n```typescript\nimport { TextToSpeech, SpeechToText } from '@everworker/oneringai';\n\n// Text-to-Speech — built-in voice\nconst tts = TextToSpeech.create({\n  connector: 'openai',\n  model: 'tts-1-hd',\n  voice: 'nova', // alloy | ash | ballad | coral | echo | fable | onyx | nova | sage | shimmer | verse | marin | cedar\n});\n\nawait tts.toFile('Hello, world!', './output.mp3');\n\n// Text-to-Speech — custom voice (OpenAI). Pass the `voice_…` id you got\n// when registering the voice in the OpenAI dashboard; the SDK call is\n// handled automatically.\nconst customTts = TextToSpeech.create({\n  connector: 'openai',\n  model: 'gpt-4o-mini-tts',\n  voice: 'voice_1234abcd',\n});\nawait customTts.toFile('Spoken in your bespoke voice.', './brand.mp3');\n\n// Speech-to-Text\nconst stt = SpeechToText.create({\n  connector: 'openai',\n  model: 'gpt-transcribe',\n});\n\nconst result = await stt.transcribeFile('./audio.mp3');\nconsole.log(result.text);\n\n// Headerless raw telephony PCM must identify its wire format.\nconst phoneResult = await stt.transcribe(pcm16le8kBuffer, {\n  encoding: 'pcm',\n  sampleRate: 8000,\n});\n```\n\n### Image Generation\n\n```typescript\nimport { ImageGeneration } from '@everworker/oneringai';\n\n// OpenAI GPT Image\nconst imageGen = ImageGeneration.create({ connector: 'openai' });\n\nconst result = await imageGen.generate({\n  prompt: 'A futuristic city at sunset',\n  model: 'gpt-image-2.5-sunburst',\n  size: '1024x1024',\n  quality: 'high',\n});\n\n// Save to file\nconst buffer = Buffer.from(result.data[0].b64_json!, 'base64');\nawait fs.writeFile('./output.png', buffer);\n\n// Google Gemini native image\nconst googleGen = ImageGeneration.create({ connector: 'google' });\n\nconst googleResult = await googleGen.generate({\n  prompt: 'A colorful butterfly in a garden',\n  model: 'gemini-nano-banana-2.1',\n  size: '2048x2048',\n  aspectRatio: '16:9',\n  n: 2,\n});\n```\n\nOpenAI image variations were retired with DALL-E 2 on 2026-05-12.\n`createVariation()` now rejects locally with `ProviderError` (status 410).\nUse `imageGen.edit({ image, prompt: 'Create a variation with warmer lighting' })`\nfor a prompt-based alternative with the current GPT Image default. Generation\nand editing with explicitly selected `dall-e-2` or `dall-e-3` also reject locally.\n\n### Video Generation\n\n```typescript\nimport { VideoGeneration } from '@everworker/oneringai';\n\n// Use a named Google connector configured with Vendor.Google.\nconst videoGen = VideoGeneration.create({ connector: 'google' });\n\nconst job = await videoGen.generate({\n  prompt: 'A cinematic shot of a sunrise over mountains',\n  model: 'veo-3.1-lite-generate-preview',\n  duration: 8,\n});\n\nconst result = await videoGen.waitForCompletion(job.jobId);\nconst videoBuffer = await videoGen.download(job.jobId);\nawait fs.writeFile('./output.mp4', videoBuffer);\n```\n\nOpenAI retired the Videos API, `sora-2`, and `sora-2-pro` on\n2026-09-24, with no replacement listed. The existing OpenAI video APIs remain\nexported for compatibility and reject locally with `ProviderError` (status 410);\nmodel discovery returns no OpenAI video models, and cancellation returns `false`.\nChoose a named Google or Grok connector explicitly; credentials and jobs do not\ntransfer between vendors. See the [User Guide](./USER_GUIDE.md#video-generation)\nand [OpenAI's retirement notice](https://developers.openai.com/api/docs/deprecations).\n\n### Embeddings\n\n```typescript\nimport { Embeddings } from '@everworker/oneringai';\n\n// OpenAI embeddings\nconst embeddings = Embeddings.create({ connector: 'openai' });\n\nconst result = await embeddings.embed(['Hello world', 'How are you?'], {\n  model: 'text-embedding-3-small',\n  dimensions: 512,  // MRL: reduce dimensions for faster search\n});\n\nconsole.log(result.embeddings.length);     // 2\nconsole.log(result.embeddings[0].length);  // 512\n\n// Ollama (local, free)\nconst local = Embeddings.create({ connector: 'ollama-local' });\nconst localResult = await local.embed('search query');\n// Uses embeddinggemma by default (compact, multilingual, 768 dims)\n```\n\n### Document Reader\n\nRead any document format — agents automatically get markdown text from PDFs, Word docs, spreadsheets, and more:\n\n```typescript\nimport { Agent, developerTools } from '@everworker/oneringai';\n\nconst agent = Agent.create({\n  connector: 'openai',\n  model: 'gpt-4.1',\n  tools: developerTools,\n});\n\n// read_file auto-converts binary documents to markdown\nawait agent.run('Read /path/to/report.pdf and summarize the key findings');\nawait agent.run('Read /path/to/data.xlsx and describe the trends');\nawait agent.run('Read /path/to/presentation.pptx and list all slides');\n```\n\n**Programmatic usage:**\n\n```typescript\nimport { DocumentReader, readDocumentAsContent } from '@everworker/oneringai';\n\n// Read any file to markdown pieces\nconst reader = DocumentReader.create();\nconst result = await reader.read('/path/to/report.pdf');\nconsole.log(result.pieces); // DocumentPiece[] (text + images)\n\n// One-call conversion to LLM Content[] (for multimodal input)\nconst content = await readDocumentAsContent('/path/to/slides.pptx', {\n  imageFilter: { minWidth: 100, minHeight: 100 },\n  imageDetail: 'auto',\n});\n\nconst response = await agent.run([\n  { type: 'input_text', text: 'Analyze this document:' },\n  ...content,\n]);\n```\n\n**Supported Formats:**\n- **Office**: DOCX, PPTX, ODT, ODP, ODS, RTF (via `officeparser`)\n- **Spreadsheets**: XLSX, CSV (via `exceljs`)\n- **PDF** (via `unpdf`)\n- **HTML** (via Readability + Turndown)\n- **Text**: TXT, MD, JSON, XML, YAML\n- **Images**: PNG, JPG, GIF, WEBP, SVG (pass-through as base64)\n\n### Web Search\n\nConnector-based web search with multiple providers:\n\n```typescript\nimport { Connector, SearchProvider, ConnectorTools, Services, Agent, tools } from '@everworker/oneringai';\n\n// Create search connector\nConnector.create({\n  name: 'serper-main',\n  serviceType: Services.Serper,\n  auth: { type: 'api_key', apiKey: process.env.SERPER_API_KEY! },\n  baseURL: 'https://google.serper.dev',\n});\n\n// Option 1: Use SearchProvider directly\nconst search = SearchProvider.create({ connector: 'serper-main' });\nconst results = await search.search('latest AI developments 2026', {\n  numResults: 10,\n  country: 'us',\n  language: 'en',\n});\n\n// Option 2: Use with Agent via ConnectorTools\nconst searchTools = ConnectorTools.for('serper-main');\n\nconst agent = Agent.create({\n  connector: 'openai',\n  model: 'gpt-4.1',\n  tools: [...searchTools, tools.webFetch],\n});\n\nawait agent.run('Search for quantum computing news and summarize');\n```\n\n**Supported Search Providers:**\n- **Serper** - Google search via Serper.dev (2,500 free queries)\n- **Brave** - Independent search index (privacy-focused)\n- **Tavily** - AI-optimized search with summaries\n- **RapidAPI** - Real-time web search (various pricing)\n\n### Web Scraping\n\nEnterprise web scraping with automatic fallback and bot protection bypass:\n\n```typescript\nimport { Connector, ScrapeProvider, ConnectorTools, Services, Agent, tools } from '@everworker/oneringai';\n\n// Create ZenRows connector for bot-protected sites\nConnector.create({\n  name: 'zenrows',\n  serviceType: Services.Zenrows,\n  auth: { type: 'api_key', apiKey: process.env.ZENROWS_API_KEY! },\n  baseURL: 'https://api.zenrows.com/v1',\n});\n\n// Option 1: Use ScrapeProvider directly\nconst scraper = ScrapeProvider.create({ connector: 'zenrows' });\nconst result = await scraper.scrape('https://protected-site.com', {\n  includeMarkdown: true,\n  vendorOptions: {\n    jsRender: true,        // JavaScript rendering\n    premiumProxy: true,    // Residential IPs\n  },\n});\n\n// Option 2: Use web_scrape tool with Agent via ConnectorTools\nconst scrapeTools = ConnectorTools.for('zenrows');\n\nconst agent = Agent.create({\n  connector: 'openai',\n  model: 'gpt-4.1',\n  tools: [...scrapeTools, tools.webFetch],\n});\n\n// web_scrape auto-falls back: native → API\nawait agent.run('Scrape https://example.com and summarize');\n```\n\n**Supported Scrape Providers:**\n- **ZenRows** - Enterprise scraping with JS rendering, residential proxies, anti-bot bypass\n- **Jina Reader** - Clean content extraction with AI-powered readability\n- **Firecrawl** - Web scraping with JavaScript rendering\n- **ScrapingBee** - Headless browser scraping with proxy rotation\n\n## Supported Providers\n\n| Provider | Text | Vision | TTS | STT | Image | Video | Tools | Context |\n|----------|------|--------|-----|-----|-------|-------|-------|---------|\n| **OpenAI** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | 1.05M |\n| **Anthropic (Claude)** | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | 1M |\n| **Google (Gemini)** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | 1M |\n| **Google Vertex AI** | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | 1M |\n| **Grok (xAI)** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | 1M |\n| **Groq** | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | 128K |\n| **Together AI** | ✅ | Some | ❌ | ❌ | ❌ | ❌ | ✅ | 128K |\n| **DeepSeek** | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | 1M |\n| **Mistral** | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | 32K |\n| **Perplexity** | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | 128K |\n| **Ollama** | ✅ | Varies | ❌ | ❌ | ❌ | ❌ | ✅ | Varies |\n| **Custom** | ✅ | Varies | ❌ | ❌ | ❌ | ❌ | ✅ | Varies |\n\nDeepSeek has a dedicated adapter rather than the generic OpenAI path. It\nsupports Chat Completions, Responses, streaming, reasoning replay across tool\nturns, JSON/JSON Schema where the selected transport supports it, model\nlisting, connector-backed FIM/balance access, and first-party native web search. The connector\ncan target the official API or a known hosted endpoint:\n\n```typescript\nimport { Agent, Connector, Vendor } from '@everworker/oneringai';\n\nConnector.create({\n  name: 'deepseek-openrouter',\n  vendor: Vendor.DeepSeek,\n  auth: { type: 'api_key', apiKey: process.env.OPENROUTER_API_KEY! },\n  options: { deepseekHost: 'openrouter' },\n});\n\nconst agent = Agent.create({\n  connector: 'deepseek-openrouter',\n  model: 'deepseek-v4-pro', // mapped to the host's model ID\n});\n```\n\nBuilt-in hosts are `official`, `openrouter`, `together`, `fireworks`,\n`deepinfra`, `nvidia-nim`, and `azure-foundry`. Use `custom` plus an explicit\n`baseURL` for another OpenAI-compatible deployment. Host-specific model IDs and\nlimits are resolved separately from the canonical DeepSeek model registry.\n\n## Key Features\n\n### 1. Agent with Plugins\n\nThe **Agent** class is the primary agent type, supporting all features through composable plugins:\n\n```typescript\nimport { Agent, createFileContextStorage } from '@everworker/oneringai';\n\n// Create storage for session persistence\nconst storage = createFileContextStorage('my-assistant');\n\nconst agent = Agent.create({\n  connector: 'openai',\n  model: 'gpt-4.1',\n  userId: 'user-123',            // Flows to all tool executions automatically\n  identities: [                   // Only these connectors visible to tools\n    { connector: 'github' },\n    { connector: 'slack' },\n  ],\n  tools: [weatherTool, emailTool],\n  context: {\n    features: {\n      workingMemory: true,      // Store/retrieve data across turns\n      inContextMemory: true,    // Key-value pairs directly in context\n      persistentInstructions: true,  // Agent instructions that persist to disk\n    },\n    agentId: 'my-assistant',\n    storage,\n  },\n});\n\n// Run the agent\nconst response = await agent.run('Check weather and email me the report');\nconsole.log(response.output_text);\n\n// Save session for later\nawait agent.context.save('session-001');\n```\n\n**Features:**\n- 🔧 **Plugin Architecture** - Enable/disable features via `context.features`\n- 💾 **Session Persistence** - Save/load full state with `ctx.save()` and `ctx.load()`\n- 📝 **Working Memory** - Store findings with automatic eviction\n- 📌 **InContextMemory** - Key-value pairs visible directly to LLM\n- 🔄 **Persistent Instructions** - Agent instructions that persist across sessions\n\n### 2. Dynamic Tool Management\n\nControl tools at runtime. **AgentContextNextGen is the single source of truth** - `agent.tools` and `agent.context.tools` are the same ToolManager instance:\n\n```typescript\nimport { Agent } from '@everworker/oneringai';\n\nconst agent = Agent.create({\n  connector: 'openai',\n  model: 'gpt-4.1',\n  tools: [weatherTool, emailTool, databaseTool],\n});\n\n// Disable tool temporarily\nagent.tools.disable('database_tool');\n\n// Enable later\nagent.tools.enable('database_tool');\n\n// UNIFIED ACCESS: Both paths access the same ToolManager\nconsole.log(agent.tools === agent.context.tools);  // true\n\n// Changes via either path are immediately reflected\nagent.context.tools.disable('email_tool');\nconsole.log(agent.tools.listEnabled().includes('email_tool'));  // false\n\n// Context-aware selection\nconst selected = agent.tools.selectForContext({\n  mode: 'interactive',\n  currentTask: 'send-invoice',\n});\n\n// Backward compatible\nagent.addTool(newTool);        // Still works!\nagent.removeTool('old_tool');  // Still works!\n```\n\n### 3. Tool Execution Plugins\n\nExtend tool execution with custom behavior through a pluggable pipeline architecture. Add logging, analytics, UI updates, permission prompts, or any custom logic:\n\n```typescript\nimport { Agent, LoggingPlugin, type IToolExecutionPlugin } from '@everworker/oneringai';\n\nconst agent = Agent.create({\n  connector: 'openai',\n  model: 'gpt-4.1',\n  tools: [weatherTool],\n});\n\n// Add built-in logging plugin\nagent.tools.executionPipeline.use(new LoggingPlugin());\n\n// Create a custom plugin\nconst analyticsPlugin: IToolExecutionPlugin = {\n  name: 'analytics',\n  priority: 100,\n\n  async beforeExecute(ctx) {\n    console.log(`Starting ${ctx.toolName}`);\n  },\n\n  async afterExecute(ctx, result) {\n    const duration = Date.now() - ctx.startTime;\n    trackToolUsage(ctx.toolName, duration);\n    return result; // Must return result (can transform it)\n  },\n\n  async onError(ctx, error) {\n    reportError(ctx.toolName, error);\n    return undefined; // Let error propagate (or return value to recover)\n  },\n};\n\nagent.tools.executionPipeline.use(analyticsPlugin);\n```\n\n**Plugin Lifecycle:**\n1. `beforeExecute` - Modify args, abort execution, or pass through\n2. Tool execution\n3. `afterExecute` - Transform results (runs in reverse priority order)\n4. `onError` - Handle/recover from errors\n\n**Plugin Context (`PluginExecutionContext`):**\n```typescript\ninterface PluginExecutionContext {\n  toolName: string;           // Name of the tool being executed\n  args: unknown;              // Original arguments (read-only)\n  mutableArgs: unknown;       // Modifiable arguments\n  metadata: Map<string, unknown>; // Share data between plugins\n  startTime: number;          // Execution start timestamp\n  tool: ToolFunction;         // The tool being executed\n  executionId: string;        // Unique ID for this execution\n}\n```\n\n**Built-in Plugins:**\n- `LoggingPlugin` - Logs tool execution with timing and result summaries\n\n**Pipeline Management:**\n```typescript\n// Add plugin\nagent.tools.executionPipeline.use(myPlugin);\n\n// Remove plugin\nagent.tools.executionPipeline.remove('plugin-name');\n\n// Check if registered\nagent.tools.executionPipeline.has('plugin-name');\n\n// Get plugin\nconst plugin = agent.tools.executionPipeline.get('plugin-name');\n\n// List all plugins\nconst plugins = agent.tools.executionPipeline.list();\n```\n\n### 4. Tool Permissions\n\nPolicy-based permission system with per-user rules, argument inspection, and pluggable storage. Permissions are enforced at the ToolManager pipeline level -- **all tool execution paths are gated**.\n\n#### Zero-Config (Backward Compatible)\n\nExisting code works unchanged. Tools that declare `scope: 'always'` (including\nthe built-in read-only filesystem tools) execute immediately. Tools declaring\n`'session'` or `'once'` use the approval flow; without an\n`onApprovalRequired` callback they are denied rather than silently allowed:\n\n```typescript\nconst agent = Agent.create({\n  connector: 'openai',\n  model: 'gpt-4.1',\n  tools: [readFile, bash],\n  permissions: {\n    onApprovalRequired: async (ctx) => showApprovalDialog(ctx),\n  },\n});\n\n// read_file executes immediately (in DEFAULT_ALLOWLIST)\n// bash triggers approval flow (write/shell tools require approval by default)\n```\n\n#### Per-User Permission Rules\n\nUser rules have the **highest priority** -- they override all built-in policies. Rules support argument inspection with conditions:\n\n```typescript\nimport { PermissionPolicyManager } from '@everworker/oneringai';\n\nconst manager = new PermissionPolicyManager();\n\n// Allow bash, but only in the project directory\nawait manager.userRules.addRule({\n  id: '1', toolName: 'bash', action: 'allow', enabled: true,\n  createdBy: 'user', createdAt: new Date().toISOString(), updatedAt: new Date().toISOString(),\n  conditions: [{ argName: 'command', operator: 'not_contains', value: 'rm -rf' }],\n});\n\n// Block all web tools unconditionally\nawait manager.userRules.addRule({\n  id: '2', toolName: 'web_fetch', action: 'deny', enabled: true, unconditional: true,\n  createdBy: 'admin', createdAt: new Date().toISOString(), updatedAt: new Date().toISOString(),\n});\n```\n\nCondition operators: `starts_with`, `not_starts_with`, `contains`, `not_contains`, `equals`, `not_equals`, `matches` (regex), `not_matches`.\n\n#### Policy Model\n\nOneRingAI evaluates composable policies in priority order (`deny`\nshort-circuits). The package root exports `IPermissionPolicy`,\n`PermissionPolicyManager`, user-rule storage, and the legacy-compatible\nallowlist/blocklist configuration. The source tree also contains the following\ninternal policy implementations:\n\n| Policy | Description |\n|--------|-------------|\n| **AllowlistPolicy** | Auto-allow tools in the allowlist (read-only, memory, catalog) |\n| **BlocklistPolicy** | Hard-block tools in the blocklist (no approval possible) |\n| **SessionApprovalPolicy** | Cache approvals per-session with optional argument-scoped keys |\n| **PathRestrictionPolicy** | Restrict file tools to allowed directory roots |\n| **BashFilterPolicy** | Block/flag dangerous shell commands by pattern |\n| **UrlAllowlistPolicy** | Restrict web tools to allowed URL domains |\n| **RolePolicy** | Role-based access control (map user roles to tool permissions) |\n| **RateLimitPolicy** | Limit tool invocations per time window |\n\nThe concrete classes in that table are not package-root exports in 1.0.0. Use\nthe public allowlist/blocklist options, or implement `IPermissionPolicy`:\n\n```typescript\nimport type { IPermissionPolicy } from '@everworker/oneringai';\n\nconst noPrivilegedShell: IPermissionPolicy = {\n  name: 'app:no-privileged-shell',\n  priority: 50,\n  evaluate(ctx) {\n    const command = String(ctx.args.command ?? '');\n    return ctx.toolName === 'bash' && /\\b(?:sudo|rm\\s+-rf)\\b/.test(command)\n      ? {\n          verdict: 'deny',\n          reason: 'Privileged and recursive-delete commands are blocked',\n          policyName: 'app:no-privileged-shell',\n        }\n      : {\n          verdict: 'abstain',\n          reason: 'Not applicable',\n          policyName: 'app:no-privileged-shell',\n        };\n  },\n};\n\nconst agent = Agent.create({\n  connector: 'openai', model: 'gpt-4.1',\n  permissions: {\n    policies: [noPrivilegedShell],\n  },\n});\n```\n\n#### Approval Dialog Integration\n\nWhen a tool needs approval, the `onApprovalRequired` callback fires. Return a `createRule` to persist the decision:\n\n```typescript\nconst agent = Agent.create({\n  connector: 'openai', model: 'gpt-4.1',\n  permissions: {\n    onApprovalRequired: async (ctx) => {\n      const userChoice = await showApprovalDialog(ctx.toolName, ctx.args);\n\n      return {\n        approved: userChoice.allow,\n        // Persist as a user rule so it won't ask again\n        createRule: userChoice.remember ? {\n          description: `Auto-allow ${ctx.toolName}`,\n          conditions: [{ argName: 'path', operator: 'starts_with', value: '/workspace' }],\n        } : undefined,\n      };\n    },\n  },\n});\n```\n\n#### Tool Self-Declaration\n\nTool authors declare permission defaults on the tool definition. App developers can override at registration:\n\n```typescript\nconst myTool: ToolFunction = {\n  definition: { type: 'function', function: { name: 'deploy', description: '...', parameters: {} } },\n  execute: async (args) => { /* ... */ },\n  // Author-declared defaults\n  permission: {\n    scope: 'once',\n    riskLevel: 'high',\n    approvalMessage: 'This will deploy to production',\n    sensitiveArgs: ['environment', 'version'],\n  },\n};\n\n// App developer can override at registration\nagent.tools.register(myTool, {\n  permission: { scope: 'session' },  // Relax to session-level approval\n});\n```\n\nFor complete documentation, see the [User Guide](./USER_GUIDE.md#tool-permissions).\n\n### 5. Session Persistence\n\nSave and resume full context state including conversation history and plugin states:\n\n```typescript\nimport { AgentContextNextGen, createFileContextStorage } from '@everworker/oneringai';\n\n// Create storage for the agent\nconst storage = createFileContextStorage('my-assistant');\n\n// Create context with storage\nconst ctx = AgentContextNextGen.create({\n  model: 'gpt-4.1',\n  features: { workingMemory: true },\n  storage,\n});\n\n// Build up state\nctx.addUserMessage('Remember: my favorite color is blue');\nawait ctx.memory?.store('user_color', 'User favorite color', 'blue');\n\n// Save session with metadata\nawait ctx.save('session-001', { title: 'User Preferences' });\n\n// Later... load session\nconst ctx2 = AgentContextNextGen.create({ model: 'gpt-4.1', storage });\nconst loaded = await ctx2.load('session-001');\n\nif (loaded) {\n  // Full state restored: conversation, plugin states, etc.\n  const color = await ctx2.memory?.retrieve('user_color');\n  console.log(color); // 'blue'\n}\n```\n\n**What's Persisted:**\n- Complete conversation history\n- All plugin states (WorkingMemory entries, InContextMemory, etc.)\n- System prompt\n\n**Storage Location:** `~/.oneringai/agents/<agentId>/sessions/<sessionId>.json`\n\n### Storage Registry\n\nSwap all storage backends (sessions, media, custom tools, OAuth tokens, etc.) with a single `configure()` call at init time. No breaking changes — all existing APIs continue to work.\n\n```typescript\nimport { StorageRegistry } from '@everworker/oneringai';\n\nStorageRegistry.configure({\n  media: new S3MediaStorage(),\n  oauthTokens: new EncryptedFileTokenStorage(),\n  // Context-aware factories — optional StorageContext for multi-tenant partitioning\n  customTools: (ctx) => new MongoCustomToolStorage(ctx?.userId),\n  sessions: (agentId, ctx) => new RedisContextStorage(agentId, ctx?.tenantId),\n  persistentInstructions: (agentId, ctx) => new DBInstructionsStorage(agentId, ctx?.userId),\n  workingMemory: (ctx) => new RedisMemoryStorage(ctx?.tenantId),\n  routineDefinitions: (ctx) => new MongoRoutineStorage(ctx?.userId),\n});\n\n// All agents and tools automatically use these backends\nconst agent = Agent.create({ connector: 'openai', model: 'gpt-4.1' });\n```\n\n**Resolution order:** explicit constructor param > `StorageRegistry` > file-based default.\n\n**Multi-tenant:** Factories receive an optional `StorageContext` (opaque, like `ConnectorAccessContext`). Set via `StorageRegistry.setContext({ userId, tenantId })` — auto-forwarded to all factory calls for per-user/per-tenant storage partitioning.\n\nSee the [User Guide](./USER_GUIDE.md#centralized-storage-registry) for full documentation.\n\n### 6. Working Memory\n\nUse the `WorkingMemoryPluginNextGen` for agents that need to store and retrieve data:\n\n```typescript\nimport { Agent } from '@everworker/oneringai';\n\nconst agent = Agent.create({\n  connector: 'openai',\n  model: 'gpt-4.1',\n  tools: [weatherTool, emailTool],\n  context: {\n    features: { workingMemory: true },\n  },\n});\n\n// Agent now has unified store_get, store_set, store_delete, store_list, store_action tools\nawait agent.run('Check weather for SF and remember the result');\n```\n\n**Features:**\n- 📝 **Working Memory** - Store and retrieve data with priority-based eviction\n- 🏗️ **Hierarchical Memory** - Raw → Summary → Findings tiers for research tasks\n- 🧠 **Context Management** - Automatic handling of context limits\n- 💾 **Session Persistence** - Save/load via `ctx.save()` and `ctx.load()`\n\n### 7. Research with Search Tools\n\nUse `Agent` with search tools and `WorkingMemoryPluginNextGen` for research workflows:\n\n```typescript\nimport { Agent, ConnectorTools, Connector, Services, tools } from '@everworker/oneringai';\n\n// Setup search connector\nConnector.create({\n  name: 'serper-main',\n  serviceType: Services.Serper,\n  auth: { type: 'api_key', apiKey: process.env.SERPER_API_KEY! },\n  baseURL: 'https://google.serper.dev',\n});\n\n// Create agent with search and memory\nconst searchTools = ConnectorTools.for('serper-main');\n\nconst agent = Agent.create({\n  connector: 'openai',\n  model: 'gpt-4.1',\n  tools: [...searchTools, tools.webFetch],\n  context: {\n    features: { workingMemory: true },\n  },\n});\n\n// Agent can search and store findings in memory\nawait agent.run('Research AI developments in 2026 and store key findings');\n```\n\n**Features:**\n- 🔍 **Web Search** - SearchProvider with Serper, Brave, Tavily, RapidAPI\n- 📝 **Working Memory** - Store findings with priority-based eviction\n- 🏗️ **Tiered Memory** - Raw → Summary → Findings pattern\n\n### 8. Context Management\n\n**AgentContextNextGen** is the modern, plugin-based context manager. It provides clean separation of concerns with composable plugins:\n\n```typescript\nimport { Agent, AgentContextNextGen } from '@everworker/oneringai';\n\n// Option 1: Use AgentContextNextGen directly (standalone)\nconst ctx = AgentContextNextGen.create({\n  model: 'gpt-4.1',\n  systemPrompt: 'You are a helpful assistant.',\n  features: { workingMemory: true, inContextMemory: true },\n});\n\nctx.addUserMessage('What is the weather in Paris?');\nconst { input, budget } = await ctx.prepare(); // Ready for LLM call\n\n// Option 2: Via Agent.create\nconst agent = Agent.create({\n  connector: 'openai',\n  model: 'gpt-4.1',\n  context: {\n    features: { workingMemory: true },\n  },\n});\n\n// Agent uses AgentContextNextGen internally\nawait agent.run('Check the weather');\n```\n\n#### Feature Configuration\n\nEnable/disable features independently. Disabled features = no associated tools registered:\n\n```typescript\n// Minimal stateless agent (no memory)\nconst agent = Agent.create({\n  connector: 'openai',\n  model: 'gpt-4.1',\n  context: {\n    features: { workingMemory: false }\n  }\n});\n\n// Full-featured agent with all plugins\nconst agent = Agent.create({\n  connector: 'openai',\n  model: 'gpt-4.1',\n  context: {\n    features: {\n      workingMemory: true,\n      inContextMemory: true,\n      persistentInstructions: true\n    },\n    agentId: 'my-assistant',  // Required for persistentInstructions\n  }\n});\n```\n\n**Available Features:**\n| Feature | Default | Plugin | Associated Tools |\n|---------|---------|--------|------------------|\n| `workingMemory` | `true` | WorkingMemoryPluginNextGen | Unified `store_*` tools (store=\"notes\"). Actions: cleanup_raw, query |\n| `inContextMemory` | `true` | InContextMemoryPluginNextGen | Unified `store_*` tools (store=\"whiteboard\") |\n| `persistentInstructions` | `false` | PersistentInstructionsPluginNextGen | Unified `store_*` tools (store=\"instructions\"). Actions: clear |\n| `userInfo` | `false` | UserInfoPluginNextGen | Unified `store_*` tools (store=\"user_info\") + `todo_add/update/remove` |\n| `toolCatalog` | `false` | ToolCatalogPluginNextGen | `tool_catalog_search/load/unload` |\n| `sharedWorkspace` | `false` | SharedWorkspacePluginNextGen | Unified `store_*` tools (store=\"workspace\"). Actions: log, history, archive, clear |\n| `memory` | `false` | MemoryPluginNextGen | 6 read tools: `memory_recall`, `memory_graph`, `memory_search`, `memory_search_documents`, `memory_find_entity`, `memory_list_facts`. Requires `plugins.memory.memory: MemorySystem`. |\n| `memoryWrite` | `false` | MemoryWritePluginNextGen | 6 write tools: `memory_remember`, `memory_link`, `memory_upsert_entity`, `memory_forget`, `memory_restore`, `memory_set_agent_rule`. Requires `memory: true`. |\n\n**AgentContextNextGen architecture:**\n- **Plugin-first design** - All features are composable plugins\n- **ToolManager** - Tool registration, execution, circuit breakers\n- **Single system message** - All context components combined\n- **Smart compaction** - Happens once, right before LLM call\n\n**Compaction strategy:**\n- **algorithmic** (default) - Moves large tool results to Working Memory, limits tool pairs, and applies a rolling window after the configured critical threshold is crossed.\n\n**Context preparation:**\n```typescript\nconst { input, budget, compacted, compactionLog } = await ctx.prepare();\n\nconsole.log(budget.totalUsed);           // Total tokens used\nconsole.log(budget.available);           // Remaining tokens\nconsole.log(budget.utilizationPercent);  // Usage percentage\n```\n\n**Forced provider-session rollover:** automatic compaction is token-triggered;\n`rolloverContext()` is an explicit semantic checkpoint for a provider lifetime\nboundary such as OpenAI Realtime's 60-minute limit:\n\n```typescript\nconst result = await agent.rolloverContext({\n  preserveRecentTurns: 8, // exact messages, including complete tool pairs\n  reason: 'provider-session-expiring',\n});\n```\n\nThe Agent summarizes the older prefix with a tool-free direct call, replaces it\natomically with a continuity brief, leaves plugin state and the append-only\nhistory journal untouched, and checkpoints automatically when session storage\nis configured. It cannot race `run()`, `stream()`, async continuation, or an\nactive Realtime execution. A host may provide `summarize` to use a separate\ntrusted summarizer or proxy. Standalone contexts expose the lower-level\n`ctx.rollover({ summarize, preserveRecentTurns })` API.\n\n### 9. InContextMemory\n\nStore key-value pairs **directly in context** for instant LLM access without retrieval calls:\n\n```typescript\nimport { AgentContextNextGen } from '@everworker/oneringai';\n\nconst ctx = AgentContextNextGen.create({\n  model: 'gpt-4.1',\n  features: { inContextMemory: true },\n  plugins: {\n    inContextMemory: { maxEntries: 20 },\n  },\n});\n\n// Access the plugin\nconst plugin = ctx.getPlugin('in_context_memory');\n\n// Store data - immediately visible to LLM\nplugin.set('current_state', 'Task processing state', { step: 2, status: 'active' });\nplugin.set('user_prefs', 'User preferences', { verbose: true }, 'high');\n\n// Store host-owned UI metadata through the direct API\nplugin.set('dashboard', 'Progress dashboard', '## Progress\\n- [x] Step 1\\n- [ ] Step 2', 'normal', true);\n\n// LLM uses unified store tools: store_set(\"whiteboard\", ...), store_get(\"whiteboard\", ...), etc.\n// Or access directly via plugin API\nconst state = plugin.get('current_state');  // { step: 2, status: 'active' }\n```\n\n**Key Difference from WorkingMemory:**\n- **WorkingMemory**: External storage + index → requires `store_get(\"notes\", key)` for values\n- **InContextMemory**: Full values in context → instant access, no retrieval needed\n\n**UI metadata (`showInUI`):** OneRingAI stores, serializes, and reports this\nflag, but does not render a sidebar or implement pinning. The built-in\n`store_set` schema intentionally does not advertise the field to the LLM; host\ncode can set it through the direct API or expose it deliberately in a custom UI\nintegration. See the [User Guide](./USER_GUIDE.md#ui-display-showinui).\n\n**Use cases:** Session state, user preferences, counters, flags, small accumulated results, live dashboards.\n\n### 10. Persistent Instructions\n\nStore agent-level custom instructions that persist across sessions on disk:\n\n```typescript\nimport { Agent } from '@everworker/oneringai';\n\nconst agent = Agent.create({\n  connector: 'openai',\n  model: 'gpt-4.1',\n  context: {\n    agentId: 'my-assistant',  // Required for storage path\n    features: {\n      persistentInstructions: true,\n    },\n  },\n});\n\n// LLM uses unified store tools: store_set(\"instructions\", ...), store_delete(\"instructions\", ...), etc.\n// Instructions persist to ~/.oneringai/agents/my-assistant/custom_instructions.json\n```\n\n**Key Features:**\n- 📁 **Disk Persistence** - Instructions survive process restarts and sessions\n- 🔧 **LLM-Modifiable** - Agent can update its own instructions during execution\n- 🔄 **Auto-Load** - Instructions loaded automatically on agent start\n- 🛡️ **Never Compacted** - Critical instructions always preserved in context\n\n**Store Tools (via unified `store_*` interface):**\n- `store_set(\"instructions\", key, { content })` - Add or update a single instruction by key\n- `store_delete(\"instructions\", key)` - Remove a single instruction by key\n- `store_list(\"instructions\")` - List all instructions with keys and content\n- `store_action(\"instructions\", \"clear\", { confirm: true })` - Remove all instructions\n\n**Use cases:** Agent personality/behavior, user preferences, learned rules, tool usage patterns.\n\n### 11. User Info\n\nStore user-specific preferences and context that are automatically injected into the LLM system message:\n\n```typescript\nimport { Agent } from '@everworker/oneringai';\n\nconst agent = Agent.create({\n  connector: 'openai',\n  model: 'gpt-4.1',\n  userId: 'alice',  // Optional — defaults to 'default' user\n  context: {\n    features: {\n      userInfo: true,\n    },\n  },\n});\n\n// LLM uses unified store tools: store_set(\"user_info\", ...), store_get(\"user_info\", ...), etc.\n// Data persists to ~/.oneringai/users/alice/user_info.json\n// All entries are automatically shown in context — no need to call store_get each turn\n```\n\n**Key Features:**\n- 📁 **Disk Persistence** - User info survives process restarts and sessions\n- 🔄 **Auto-Inject** - Entries rendered as markdown and included in the system message automatically\n- 👥 **User-Scoped** - Data is per-user, not per-agent — different agents share the same user data\n- 🔧 **LLM-Modifiable** - Agent can update user info during execution\n\n**Store Tools (via unified `store_*` interface):**\n- `store_set(\"user_info\", key, { value, description? })` - Store/update user information\n- `store_get(\"user_info\", key?)` - Retrieve one entry or all entries\n- `store_delete(\"user_info\", key)` - Remove a specific entry\n- `store_action(\"user_info\", \"clear\", { confirm: true })` - Clear all entries\n\n**TODO Tools** (built into the same plugin):\n- `todo_add` - Create a TODO (`title`, `description?`, `people?`, `dueDate?`, `tags?`)\n- `todo_update` - Update a TODO (`id`, plus any fields to change including `status: 'done'`)\n- `todo_remove` - Delete a TODO by id\n\nTODOs are stored alongside user info and rendered in a separate **\"Current TODOs\"** checklist in context. The agent proactively suggests creating TODOs when conversation implies action items, reminds about due/overdue items once per day, and auto-cleans completed TODOs after 48 hours.\n\n**Use cases:** User preferences (theme, language, timezone), user context (role, location), accumulated knowledge about the user, task/TODO tracking with deadlines and people.\n\n> ⚠️ **Deprecated** in favour of the Self-Learning Memory plugin below. `UserInfoPluginNextGen` + `PersistentInstructionsPluginNextGen` keep working unchanged for existing integrations — no breaking change — but new code should prefer `MemoryPluginNextGen`.\n\n### Self-Learning Memory — plugin + tools\n\nA brain-like, queryable knowledge store built on the [memory layer](./docs/MEMORY_GUIDE.md). Two cooperating context plugins + **12 LLM-callable tools** turn the agent into a learning system: it bootstraps a `person` entity for t","readmeFilename":"README.md"}