@ax-llm/ax 9.0.21 → 9.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ai/anthropic/api.d.ts +19 -0
- package/ai/anthropic/api.js +326 -0
- package/ai/anthropic/api.js.map +1 -0
- package/ai/anthropic/index.d.ts +2 -0
- package/ai/anthropic/index.js +3 -0
- package/ai/anthropic/index.js.map +1 -0
- package/ai/anthropic/info.d.ts +2 -0
- package/ai/anthropic/info.js +40 -0
- package/ai/anthropic/info.js.map +1 -0
- package/ai/anthropic/types.d.ts +171 -0
- package/ai/anthropic/types.js +10 -0
- package/ai/anthropic/types.js.map +1 -0
- package/ai/azure-openai/api.d.ts +19 -0
- package/ai/azure-openai/api.js +30 -0
- package/ai/azure-openai/api.js.map +1 -0
- package/ai/azure-openai/index.d.ts +1 -0
- package/ai/azure-openai/index.js +2 -0
- package/ai/azure-openai/index.js.map +1 -0
- package/ai/balance.d.ts +23 -0
- package/ai/balance.js +87 -0
- package/ai/balance.js.map +1 -0
- package/ai/base.d.ts +55 -0
- package/ai/base.js +343 -0
- package/ai/base.js.map +1 -0
- package/ai/cohere/api.d.ts +22 -0
- package/ai/cohere/api.js +264 -0
- package/ai/cohere/api.js.map +1 -0
- package/ai/cohere/index.d.ts +2 -0
- package/ai/cohere/index.js +3 -0
- package/ai/cohere/index.js.map +1 -0
- package/ai/cohere/info.d.ts +2 -0
- package/ai/cohere/info.js +52 -0
- package/ai/cohere/info.js.map +1 -0
- package/ai/cohere/types.d.ts +102 -0
- package/ai/cohere/types.js +23 -0
- package/ai/cohere/types.js.map +1 -0
- package/ai/deepseek/api.d.ts +16 -0
- package/ai/deepseek/api.js +32 -0
- package/ai/deepseek/api.js.map +1 -0
- package/ai/deepseek/index.d.ts +2 -0
- package/ai/deepseek/index.js +3 -0
- package/ai/deepseek/index.js.map +1 -0
- package/ai/deepseek/info.d.ts +2 -0
- package/ai/deepseek/info.js +16 -0
- package/ai/deepseek/info.js.map +1 -0
- package/ai/deepseek/types.d.ts +8 -0
- package/ai/deepseek/types.js +10 -0
- package/ai/deepseek/types.js.map +1 -0
- package/ai/google-gemini/api.d.ts +36 -0
- package/ai/google-gemini/api.js +299 -0
- package/ai/google-gemini/api.js.map +1 -0
- package/ai/google-gemini/index.d.ts +2 -0
- package/ai/google-gemini/index.js +3 -0
- package/ai/google-gemini/index.js.map +1 -0
- package/ai/google-gemini/info.d.ts +6 -0
- package/ai/google-gemini/info.js +29 -0
- package/ai/google-gemini/info.js.map +1 -0
- package/ai/google-gemini/types.d.ts +146 -0
- package/ai/google-gemini/types.js +27 -0
- package/ai/google-gemini/types.js.map +1 -0
- package/ai/groq/api.d.ts +18 -0
- package/ai/groq/api.js +52 -0
- package/ai/groq/api.js.map +1 -0
- package/ai/groq/index.d.ts +1 -0
- package/ai/groq/index.js +2 -0
- package/ai/groq/index.js.map +1 -0
- package/ai/groq/types.d.ts +6 -0
- package/ai/groq/types.js +8 -0
- package/ai/groq/types.js.map +1 -0
- package/ai/huggingface/api.d.ts +19 -0
- package/ai/huggingface/api.js +115 -0
- package/ai/huggingface/api.js.map +1 -0
- package/ai/huggingface/index.d.ts +2 -0
- package/ai/huggingface/index.js +3 -0
- package/ai/huggingface/index.js.map +1 -0
- package/ai/huggingface/info.d.ts +6 -0
- package/ai/huggingface/info.js +6 -0
- package/ai/huggingface/info.js.map +1 -0
- package/ai/huggingface/types.d.ts +34 -0
- package/ai/huggingface/types.js +5 -0
- package/ai/huggingface/types.js.map +1 -0
- package/ai/index.d.ts +16 -0
- package/ai/index.js +16 -0
- package/ai/index.js.map +1 -0
- package/ai/mistral/api.d.ts +16 -0
- package/ai/mistral/api.js +32 -0
- package/ai/mistral/api.js.map +1 -0
- package/ai/mistral/index.d.ts +2 -0
- package/ai/mistral/index.js +3 -0
- package/ai/mistral/index.js.map +1 -0
- package/ai/mistral/info.d.ts +2 -0
- package/ai/mistral/info.js +34 -0
- package/ai/mistral/info.js.map +1 -0
- package/ai/mistral/types.d.ts +10 -0
- package/ai/mistral/types.js +13 -0
- package/ai/mistral/types.js.map +1 -0
- package/ai/ollama/api.d.ts +22 -0
- package/ai/ollama/api.js +32 -0
- package/ai/ollama/api.js.map +1 -0
- package/ai/ollama/index.d.ts +1 -0
- package/ai/ollama/index.js +2 -0
- package/ai/ollama/index.js.map +1 -0
- package/ai/openai/api.d.ts +29 -0
- package/ai/openai/api.js +283 -0
- package/ai/openai/api.js.map +1 -0
- package/ai/openai/index.d.ts +2 -0
- package/ai/openai/index.js +3 -0
- package/ai/openai/index.js.map +1 -0
- package/ai/openai/info.d.ts +6 -0
- package/ai/openai/info.js +50 -0
- package/ai/openai/info.js.map +1 -0
- package/ai/openai/types.d.ts +165 -0
- package/ai/openai/types.js +18 -0
- package/ai/openai/types.js.map +1 -0
- package/ai/together/api.d.ts +15 -0
- package/ai/together/api.js +28 -0
- package/ai/together/api.js.map +1 -0
- package/ai/together/index.d.ts +1 -0
- package/ai/together/index.js +2 -0
- package/ai/together/index.js.map +1 -0
- package/ai/together/info.d.ts +2 -0
- package/ai/together/info.js +2 -0
- package/ai/together/info.js.map +1 -0
- package/ai/types.d.ts +159 -0
- package/ai/types.js +2 -0
- package/ai/types.js.map +1 -0
- package/ai/util.d.ts +12 -0
- package/ai/util.js +63 -0
- package/ai/util.js.map +1 -0
- package/ai/wrap.d.ts +47 -0
- package/ai/wrap.js +95 -0
- package/ai/wrap.js.map +1 -0
- package/cjs/ai/anthropic/api.d.ts +19 -0
- package/cjs/ai/anthropic/api.js +331 -0
- package/cjs/ai/anthropic/api.js.map +1 -0
- package/cjs/ai/anthropic/index.d.ts +2 -0
- package/cjs/ai/anthropic/index.js +19 -0
- package/cjs/ai/anthropic/index.js.map +1 -0
- package/cjs/ai/anthropic/info.d.ts +2 -0
- package/cjs/ai/anthropic/info.js +43 -0
- package/cjs/ai/anthropic/info.js.map +1 -0
- package/cjs/ai/anthropic/types.d.ts +171 -0
- package/cjs/ai/anthropic/types.js +13 -0
- package/cjs/ai/anthropic/types.js.map +1 -0
- package/cjs/ai/azure-openai/api.d.ts +19 -0
- package/cjs/ai/azure-openai/api.js +34 -0
- package/cjs/ai/azure-openai/api.js.map +1 -0
- package/cjs/ai/azure-openai/index.d.ts +1 -0
- package/cjs/ai/azure-openai/index.js +18 -0
- package/cjs/ai/azure-openai/index.js.map +1 -0
- package/cjs/ai/balance.d.ts +23 -0
- package/cjs/ai/balance.js +91 -0
- package/cjs/ai/balance.js.map +1 -0
- package/cjs/ai/base.d.ts +55 -0
- package/cjs/ai/base.js +349 -0
- package/cjs/ai/base.js.map +1 -0
- package/cjs/ai/cohere/api.d.ts +22 -0
- package/cjs/ai/cohere/api.js +270 -0
- package/cjs/ai/cohere/api.js.map +1 -0
- package/cjs/ai/cohere/index.d.ts +2 -0
- package/cjs/ai/cohere/index.js +19 -0
- package/cjs/ai/cohere/index.js.map +1 -0
- package/cjs/ai/cohere/info.d.ts +2 -0
- package/cjs/ai/cohere/info.js +55 -0
- package/cjs/ai/cohere/info.js.map +1 -0
- package/cjs/ai/cohere/types.d.ts +102 -0
- package/cjs/ai/cohere/types.js +26 -0
- package/cjs/ai/cohere/types.js.map +1 -0
- package/cjs/ai/deepseek/api.d.ts +16 -0
- package/cjs/ai/deepseek/api.js +38 -0
- package/cjs/ai/deepseek/api.js.map +1 -0
- package/cjs/ai/deepseek/index.d.ts +2 -0
- package/cjs/ai/deepseek/index.js +19 -0
- package/cjs/ai/deepseek/index.js.map +1 -0
- package/cjs/ai/deepseek/info.d.ts +2 -0
- package/cjs/ai/deepseek/info.js +19 -0
- package/cjs/ai/deepseek/info.js.map +1 -0
- package/cjs/ai/deepseek/types.d.ts +8 -0
- package/cjs/ai/deepseek/types.js +13 -0
- package/cjs/ai/deepseek/types.js.map +1 -0
- package/cjs/ai/google-gemini/api.d.ts +36 -0
- package/cjs/ai/google-gemini/api.js +305 -0
- package/cjs/ai/google-gemini/api.js.map +1 -0
- package/cjs/ai/google-gemini/index.d.ts +2 -0
- package/cjs/ai/google-gemini/index.js +19 -0
- package/cjs/ai/google-gemini/index.js.map +1 -0
- package/cjs/ai/google-gemini/info.d.ts +6 -0
- package/cjs/ai/google-gemini/info.js +32 -0
- package/cjs/ai/google-gemini/info.js.map +1 -0
- package/cjs/ai/google-gemini/types.d.ts +146 -0
- package/cjs/ai/google-gemini/types.js +30 -0
- package/cjs/ai/google-gemini/types.js.map +1 -0
- package/cjs/ai/groq/api.d.ts +18 -0
- package/cjs/ai/groq/api.js +56 -0
- package/cjs/ai/groq/api.js.map +1 -0
- package/cjs/ai/groq/index.d.ts +1 -0
- package/cjs/ai/groq/index.js +18 -0
- package/cjs/ai/groq/index.js.map +1 -0
- package/cjs/ai/groq/types.d.ts +6 -0
- package/cjs/ai/groq/types.js +11 -0
- package/cjs/ai/groq/types.js.map +1 -0
- package/cjs/ai/huggingface/api.d.ts +19 -0
- package/cjs/ai/huggingface/api.js +121 -0
- package/cjs/ai/huggingface/api.js.map +1 -0
- package/cjs/ai/huggingface/index.d.ts +2 -0
- package/cjs/ai/huggingface/index.js +19 -0
- package/cjs/ai/huggingface/index.js.map +1 -0
- package/cjs/ai/huggingface/info.d.ts +6 -0
- package/cjs/ai/huggingface/info.js +9 -0
- package/cjs/ai/huggingface/info.js.map +1 -0
- package/cjs/ai/huggingface/types.d.ts +34 -0
- package/cjs/ai/huggingface/types.js +8 -0
- package/cjs/ai/huggingface/types.js.map +1 -0
- package/cjs/ai/index.d.ts +16 -0
- package/cjs/ai/index.js +32 -0
- package/cjs/ai/index.js.map +1 -0
- package/cjs/ai/mistral/api.d.ts +16 -0
- package/cjs/ai/mistral/api.js +38 -0
- package/cjs/ai/mistral/api.js.map +1 -0
- package/cjs/ai/mistral/index.d.ts +2 -0
- package/cjs/ai/mistral/index.js +19 -0
- package/cjs/ai/mistral/index.js.map +1 -0
- package/cjs/ai/mistral/info.d.ts +2 -0
- package/cjs/ai/mistral/info.js +37 -0
- package/cjs/ai/mistral/info.js.map +1 -0
- package/cjs/ai/mistral/types.d.ts +10 -0
- package/cjs/ai/mistral/types.js +16 -0
- package/cjs/ai/mistral/types.js.map +1 -0
- package/cjs/ai/ollama/api.d.ts +22 -0
- package/cjs/ai/ollama/api.js +38 -0
- package/cjs/ai/ollama/api.js.map +1 -0
- package/cjs/ai/ollama/index.d.ts +1 -0
- package/cjs/ai/ollama/index.js +18 -0
- package/cjs/ai/ollama/index.js.map +1 -0
- package/cjs/ai/openai/api.d.ts +29 -0
- package/cjs/ai/openai/api.js +291 -0
- package/cjs/ai/openai/api.js.map +1 -0
- package/cjs/ai/openai/index.d.ts +2 -0
- package/cjs/ai/openai/index.js +19 -0
- package/cjs/ai/openai/index.js.map +1 -0
- package/cjs/ai/openai/info.d.ts +6 -0
- package/cjs/ai/openai/info.js +53 -0
- package/cjs/ai/openai/info.js.map +1 -0
- package/cjs/ai/openai/types.d.ts +165 -0
- package/cjs/ai/openai/types.js +21 -0
- package/cjs/ai/openai/types.js.map +1 -0
- package/cjs/ai/together/api.d.ts +15 -0
- package/cjs/ai/together/api.js +33 -0
- package/cjs/ai/together/api.js.map +1 -0
- package/cjs/ai/together/index.d.ts +1 -0
- package/cjs/ai/together/index.js +18 -0
- package/cjs/ai/together/index.js.map +1 -0
- package/cjs/ai/together/info.d.ts +2 -0
- package/cjs/ai/together/info.js +5 -0
- package/cjs/ai/together/info.js.map +1 -0
- package/cjs/ai/types.d.ts +159 -0
- package/cjs/ai/types.js +3 -0
- package/cjs/ai/types.js.map +1 -0
- package/cjs/ai/util.d.ts +12 -0
- package/cjs/ai/util.js +71 -0
- package/cjs/ai/util.js.map +1 -0
- package/cjs/ai/wrap.d.ts +47 -0
- package/cjs/ai/wrap.js +99 -0
- package/cjs/ai/wrap.js.map +1 -0
- package/cjs/db/base.d.ts +23 -0
- package/cjs/db/base.js +91 -0
- package/cjs/db/base.js.map +1 -0
- package/cjs/db/cloudflare.d.ts +21 -0
- package/cjs/db/cloudflare.js +102 -0
- package/cjs/db/cloudflare.js.map +1 -0
- package/cjs/db/index.d.ts +6 -0
- package/cjs/db/index.js +23 -0
- package/cjs/db/index.js.map +1 -0
- package/cjs/db/memory.d.ts +21 -0
- package/cjs/db/memory.js +103 -0
- package/cjs/db/memory.js.map +1 -0
- package/cjs/db/pinecone.d.ts +21 -0
- package/cjs/db/pinecone.js +75 -0
- package/cjs/db/pinecone.js.map +1 -0
- package/cjs/db/types.d.ts +35 -0
- package/cjs/db/types.js +4 -0
- package/cjs/db/types.js.map +1 -0
- package/cjs/db/weaviate.d.ts +21 -0
- package/cjs/db/weaviate.js +131 -0
- package/cjs/db/weaviate.js.map +1 -0
- package/cjs/db/wrap.d.ts +13 -0
- package/cjs/db/wrap.js +39 -0
- package/cjs/db/wrap.js.map +1 -0
- package/cjs/docs/index.d.ts +4 -0
- package/cjs/docs/index.js +21 -0
- package/cjs/docs/index.js.map +1 -0
- package/cjs/docs/manager.d.ts +45 -0
- package/cjs/docs/manager.js +162 -0
- package/cjs/docs/manager.js.map +1 -0
- package/cjs/docs/reranker.d.ts +7 -0
- package/cjs/docs/reranker.js +30 -0
- package/cjs/docs/reranker.js.map +1 -0
- package/cjs/docs/rewriter.d.ts +4 -0
- package/cjs/docs/rewriter.js +13 -0
- package/cjs/docs/rewriter.js.map +1 -0
- package/cjs/docs/tika.d.ts +18 -0
- package/cjs/docs/tika.js +50 -0
- package/cjs/docs/tika.js.map +1 -0
- package/cjs/dsp/asserts.d.ts +32 -0
- package/cjs/dsp/asserts.js +98 -0
- package/cjs/dsp/asserts.js.map +1 -0
- package/cjs/dsp/eval.d.ts +43 -0
- package/cjs/dsp/eval.js +128 -0
- package/cjs/dsp/eval.js.map +1 -0
- package/cjs/dsp/evaluate.d.ts +12 -0
- package/cjs/dsp/evaluate.js +36 -0
- package/cjs/dsp/evaluate.js.map +1 -0
- package/cjs/dsp/extract.d.ts +25 -0
- package/cjs/dsp/extract.js +164 -0
- package/cjs/dsp/extract.js.map +1 -0
- package/cjs/dsp/generate.d.ts +55 -0
- package/cjs/dsp/generate.js +314 -0
- package/cjs/dsp/generate.js.map +1 -0
- package/cjs/dsp/index.d.ts +15 -0
- package/cjs/dsp/index.js +27 -0
- package/cjs/dsp/index.js.map +1 -0
- package/cjs/dsp/loader.d.ts +30 -0
- package/cjs/dsp/loader.js +85 -0
- package/cjs/dsp/loader.js.map +1 -0
- package/cjs/dsp/optimize.d.ts +27 -0
- package/cjs/dsp/optimize.js +99 -0
- package/cjs/dsp/optimize.js.map +1 -0
- package/cjs/dsp/parser.d.ts +87 -0
- package/cjs/dsp/parser.js +1545 -0
- package/cjs/dsp/parser.js.map +1 -0
- package/cjs/dsp/program.d.ts +73 -0
- package/cjs/dsp/program.js +120 -0
- package/cjs/dsp/program.js.map +1 -0
- package/cjs/dsp/prompt.d.ts +48 -0
- package/cjs/dsp/prompt.js +263 -0
- package/cjs/dsp/prompt.js.map +1 -0
- package/cjs/dsp/registry.d.ts +6 -0
- package/cjs/dsp/registry.js +19 -0
- package/cjs/dsp/registry.js.map +1 -0
- package/cjs/dsp/router.d.ts +26 -0
- package/cjs/dsp/router.js +76 -0
- package/cjs/dsp/router.js.map +1 -0
- package/cjs/dsp/sig.d.ts +37 -0
- package/cjs/dsp/sig.js +197 -0
- package/cjs/dsp/sig.js.map +1 -0
- package/cjs/dsp/stopwords.d.ts +1 -0
- package/cjs/dsp/stopwords.js +1167 -0
- package/cjs/dsp/stopwords.js.map +1 -0
- package/cjs/dsp/strutil.d.ts +11 -0
- package/cjs/dsp/strutil.js +63 -0
- package/cjs/dsp/strutil.js.map +1 -0
- package/cjs/dsp/util.d.ts +5 -0
- package/cjs/dsp/util.js +82 -0
- package/cjs/dsp/util.js.map +1 -0
- package/cjs/funcs/code.d.ts +9 -0
- package/cjs/funcs/code.js +90 -0
- package/cjs/funcs/code.js.map +1 -0
- package/cjs/funcs/embed.d.ts +6 -0
- package/cjs/funcs/embed.js +33 -0
- package/cjs/funcs/embed.js.map +1 -0
- package/cjs/funcs/functions.d.ts +16 -0
- package/cjs/funcs/functions.js +62 -0
- package/cjs/funcs/functions.js.map +1 -0
- package/cjs/funcs/index.d.ts +3 -0
- package/cjs/funcs/index.js +20 -0
- package/cjs/funcs/index.js.map +1 -0
- package/cjs/funcs/jsonschema.d.ts +2 -0
- package/cjs/funcs/jsonschema.js +101 -0
- package/cjs/funcs/jsonschema.js.map +1 -0
- package/cjs/index.d.ts +9 -0
- package/cjs/index.js +34 -0
- package/cjs/index.js.map +1 -0
- package/cjs/mem/index.d.ts +2 -0
- package/cjs/mem/index.js +19 -0
- package/cjs/mem/index.js.map +1 -0
- package/cjs/mem/memory.d.ts +16 -0
- package/cjs/mem/memory.js +81 -0
- package/cjs/mem/memory.js.map +1 -0
- package/cjs/mem/types.d.ts +10 -0
- package/cjs/mem/types.js +3 -0
- package/cjs/mem/types.js.map +1 -0
- package/cjs/prompts/agent.d.ts +34 -0
- package/cjs/prompts/agent.js +110 -0
- package/cjs/prompts/agent.js.map +1 -0
- package/cjs/prompts/cot.d.ts +9 -0
- package/cjs/prompts/cot.js +21 -0
- package/cjs/prompts/cot.js.map +1 -0
- package/cjs/prompts/index.d.ts +4 -0
- package/cjs/prompts/index.js +21 -0
- package/cjs/prompts/index.js.map +1 -0
- package/cjs/prompts/rag.d.ts +23 -0
- package/cjs/prompts/rag.js +33 -0
- package/cjs/prompts/rag.js.map +1 -0
- package/cjs/prompts/react.d.ts +8 -0
- package/cjs/prompts/react.js +26 -0
- package/cjs/prompts/react.js.map +1 -0
- package/cjs/trace/index.d.ts +171 -0
- package/cjs/trace/index.js +70 -0
- package/cjs/trace/index.js.map +1 -0
- package/cjs/util/apicall.d.ts +18 -0
- package/cjs/util/apicall.js +57 -0
- package/cjs/util/apicall.js.map +1 -0
- package/cjs/util/log.d.ts +14 -0
- package/cjs/util/log.js +35 -0
- package/cjs/util/log.js.map +1 -0
- package/cjs/util/other.d.ts +1 -0
- package/cjs/util/other.js +8 -0
- package/cjs/util/other.js.map +1 -0
- package/cjs/util/rate-limit.d.ts +24 -0
- package/cjs/util/rate-limit.js +53 -0
- package/cjs/util/rate-limit.js.map +1 -0
- package/cjs/util/stream.d.ts +9 -0
- package/cjs/util/stream.js +33 -0
- package/cjs/util/stream.js.map +1 -0
- package/cjs/util/transform.d.ts +7 -0
- package/cjs/util/transform.js +64 -0
- package/cjs/util/transform.js.map +1 -0
- package/db/base.d.ts +23 -0
- package/db/base.js +87 -0
- package/db/base.js.map +1 -0
- package/db/cloudflare.d.ts +21 -0
- package/db/cloudflare.js +98 -0
- package/db/cloudflare.js.map +1 -0
- package/db/index.d.ts +6 -0
- package/db/index.js +7 -0
- package/db/index.js.map +1 -0
- package/db/memory.d.ts +21 -0
- package/db/memory.js +99 -0
- package/db/memory.js.map +1 -0
- package/db/pinecone.d.ts +21 -0
- package/db/pinecone.js +71 -0
- package/db/pinecone.js.map +1 -0
- package/db/types.d.ts +35 -0
- package/db/types.js +3 -0
- package/db/types.js.map +1 -0
- package/db/weaviate.d.ts +21 -0
- package/db/weaviate.js +127 -0
- package/db/weaviate.js.map +1 -0
- package/db/wrap.d.ts +13 -0
- package/db/wrap.js +35 -0
- package/db/wrap.js.map +1 -0
- package/docs/index.d.ts +4 -0
- package/docs/index.js +5 -0
- package/docs/index.js.map +1 -0
- package/docs/manager.d.ts +45 -0
- package/docs/manager.js +159 -0
- package/docs/manager.js.map +1 -0
- package/docs/reranker.d.ts +7 -0
- package/docs/reranker.js +26 -0
- package/docs/reranker.js.map +1 -0
- package/docs/rewriter.d.ts +4 -0
- package/docs/rewriter.js +9 -0
- package/docs/rewriter.js.map +1 -0
- package/docs/tika.d.ts +18 -0
- package/docs/tika.js +46 -0
- package/docs/tika.js.map +1 -0
- package/dsp/asserts.d.ts +32 -0
- package/dsp/asserts.js +91 -0
- package/dsp/asserts.js.map +1 -0
- package/dsp/eval.d.ts +43 -0
- package/dsp/eval.js +125 -0
- package/dsp/eval.js.map +1 -0
- package/dsp/evaluate.d.ts +12 -0
- package/dsp/evaluate.js +32 -0
- package/dsp/evaluate.js.map +1 -0
- package/dsp/extract.d.ts +25 -0
- package/dsp/extract.js +153 -0
- package/dsp/extract.js.map +1 -0
- package/dsp/generate.d.ts +55 -0
- package/dsp/generate.js +311 -0
- package/dsp/generate.js.map +1 -0
- package/dsp/index.d.ts +15 -0
- package/dsp/index.js +11 -0
- package/dsp/index.js.map +1 -0
- package/dsp/loader.d.ts +30 -0
- package/dsp/loader.js +81 -0
- package/dsp/loader.js.map +1 -0
- package/dsp/optimize.d.ts +27 -0
- package/dsp/optimize.js +95 -0
- package/dsp/optimize.js.map +1 -0
- package/dsp/parser.d.ts +87 -0
- package/dsp/parser.js +1542 -0
- package/dsp/parser.js.map +1 -0
- package/dsp/program.d.ts +73 -0
- package/dsp/program.js +116 -0
- package/dsp/program.js.map +1 -0
- package/dsp/prompt.d.ts +48 -0
- package/dsp/prompt.js +260 -0
- package/dsp/prompt.js.map +1 -0
- package/dsp/registry.d.ts +6 -0
- package/dsp/registry.js +15 -0
- package/dsp/registry.js.map +1 -0
- package/dsp/router.d.ts +26 -0
- package/dsp/router.js +71 -0
- package/dsp/router.js.map +1 -0
- package/dsp/sig.d.ts +37 -0
- package/dsp/sig.js +193 -0
- package/dsp/sig.js.map +1 -0
- package/dsp/stopwords.d.ts +1 -0
- package/dsp/stopwords.js +1164 -0
- package/dsp/stopwords.js.map +1 -0
- package/dsp/strutil.d.ts +11 -0
- package/dsp/strutil.js +60 -0
- package/dsp/strutil.js.map +1 -0
- package/dsp/util.d.ts +5 -0
- package/dsp/util.js +76 -0
- package/dsp/util.js.map +1 -0
- package/funcs/code.d.ts +9 -0
- package/funcs/code.js +63 -0
- package/funcs/code.js.map +1 -0
- package/funcs/embed.d.ts +6 -0
- package/funcs/embed.js +29 -0
- package/funcs/embed.js.map +1 -0
- package/funcs/functions.d.ts +16 -0
- package/funcs/functions.js +55 -0
- package/funcs/functions.js.map +1 -0
- package/funcs/index.d.ts +3 -0
- package/funcs/index.js +4 -0
- package/funcs/index.js.map +1 -0
- package/funcs/jsonschema.d.ts +2 -0
- package/funcs/jsonschema.js +97 -0
- package/funcs/jsonschema.js.map +1 -0
- package/index.d.ts +9 -0
- package/index.js.map +1 -0
- package/mem/index.d.ts +2 -0
- package/mem/index.js +3 -0
- package/mem/index.js.map +1 -0
- package/mem/memory.d.ts +16 -0
- package/mem/memory.js +77 -0
- package/mem/memory.js.map +1 -0
- package/mem/types.d.ts +10 -0
- package/mem/types.js +2 -0
- package/mem/types.js.map +1 -0
- package/package.json +4 -7
- package/prompts/agent.d.ts +34 -0
- package/prompts/agent.js +108 -0
- package/prompts/agent.js.map +1 -0
- package/prompts/cot.d.ts +9 -0
- package/prompts/cot.js +17 -0
- package/prompts/cot.js.map +1 -0
- package/prompts/index.d.ts +4 -0
- package/prompts/index.js +5 -0
- package/prompts/index.js.map +1 -0
- package/prompts/rag.d.ts +23 -0
- package/prompts/rag.js +30 -0
- package/prompts/rag.js.map +1 -0
- package/prompts/react.d.ts +8 -0
- package/prompts/react.js +22 -0
- package/prompts/react.js.map +1 -0
- package/trace/index.d.ts +171 -0
- package/trace/index.js +67 -0
- package/trace/index.js.map +1 -0
- package/util/apicall.d.ts +18 -0
- package/util/apicall.js +50 -0
- package/util/apicall.js.map +1 -0
- package/util/log.d.ts +14 -0
- package/util/log.js +31 -0
- package/util/log.js.map +1 -0
- package/util/other.d.ts +1 -0
- package/util/other.js +5 -0
- package/util/other.js.map +1 -0
- package/util/rate-limit.d.ts +24 -0
- package/util/rate-limit.js +49 -0
- package/util/rate-limit.js.map +1 -0
- package/util/stream.d.ts +9 -0
- package/util/stream.js +29 -0
- package/util/stream.js.map +1 -0
- package/util/transform.d.ts +7 -0
- package/util/transform.js +59 -0
- package/util/transform.js.map +1 -0
package/db/cloudflare.js
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { apiCall } from '../util/apicall.js';
|
|
2
|
+
import { AxDBBase } from './base.js';
|
|
3
|
+
const baseURL = 'https://api.cloudflare.com/client/v4/accounts/';
|
|
4
|
+
/**
|
|
5
|
+
* Cloudflare: DB Service
|
|
6
|
+
* @export
|
|
7
|
+
*/
|
|
8
|
+
export class AxDBCloudflare extends AxDBBase {
|
|
9
|
+
apiKey;
|
|
10
|
+
accountId;
|
|
11
|
+
constructor({ apiKey, accountId, fetch, tracer }) {
|
|
12
|
+
if (!apiKey || !accountId) {
|
|
13
|
+
throw new Error('Cloudflare credentials not set');
|
|
14
|
+
}
|
|
15
|
+
super({ name: 'Cloudflare', fetch, tracer });
|
|
16
|
+
this.apiKey = apiKey;
|
|
17
|
+
this.accountId = accountId;
|
|
18
|
+
}
|
|
19
|
+
_upsert = async (req, update, options) => {
|
|
20
|
+
const res = (await apiCall({
|
|
21
|
+
url: new URL(`${this.accountId}/vectorize/indexes/${req.table}/upsert`, baseURL),
|
|
22
|
+
headers: {
|
|
23
|
+
'X-Auth-Key': this.apiKey
|
|
24
|
+
},
|
|
25
|
+
fetch: this.fetch,
|
|
26
|
+
span: options?.span
|
|
27
|
+
}, {
|
|
28
|
+
id: req.id,
|
|
29
|
+
values: req.values,
|
|
30
|
+
namespace: req.namespace,
|
|
31
|
+
metadata: req.metadata
|
|
32
|
+
}));
|
|
33
|
+
if (res.errors) {
|
|
34
|
+
throw new Error(`Cloudflare upsert failed: ${res.errors.map(({ message }) => message).join(', ')}`);
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
ids: res.result.ids
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
batchUpsert = async (batchReq, update, options) => {
|
|
41
|
+
if (update) {
|
|
42
|
+
throw new Error('Weaviate does not support batch update');
|
|
43
|
+
}
|
|
44
|
+
if (batchReq.length < 1) {
|
|
45
|
+
throw new Error('Batch request is empty');
|
|
46
|
+
}
|
|
47
|
+
if (!batchReq[0] || !batchReq[0].table) {
|
|
48
|
+
throw new Error('Table name is empty');
|
|
49
|
+
}
|
|
50
|
+
const table = batchReq[0].table;
|
|
51
|
+
const res = (await apiCall({
|
|
52
|
+
url: new URL(`${this.accountId}/vectorize/indexes/${table}/upsert`, baseURL),
|
|
53
|
+
headers: {
|
|
54
|
+
'X-Auth-Key': this.apiKey
|
|
55
|
+
},
|
|
56
|
+
fetch: this.fetch,
|
|
57
|
+
span: options?.span
|
|
58
|
+
}, batchReq.map((req) => ({
|
|
59
|
+
id: req.id,
|
|
60
|
+
values: req.values,
|
|
61
|
+
namespace: req.namespace,
|
|
62
|
+
metadata: req.metadata
|
|
63
|
+
}))));
|
|
64
|
+
if (res.errors) {
|
|
65
|
+
throw new Error(`Cloudflare batch upsert failed: ${res.errors
|
|
66
|
+
.map(({ message }) => message)
|
|
67
|
+
.join(', ')}`);
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
ids: res.result.ids
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
query = async (req, options) => {
|
|
74
|
+
const res = (await apiCall({
|
|
75
|
+
url: new URL(`${this.accountId}/vectorize/indexes/${req.table}/query`, baseURL),
|
|
76
|
+
headers: {
|
|
77
|
+
'X-Auth-Key': this.apiKey
|
|
78
|
+
},
|
|
79
|
+
fetch: this.fetch,
|
|
80
|
+
span: options?.span
|
|
81
|
+
}, {
|
|
82
|
+
vector: req.values,
|
|
83
|
+
topK: req.limit || 10,
|
|
84
|
+
returnValues: true
|
|
85
|
+
}));
|
|
86
|
+
if (res.errors) {
|
|
87
|
+
throw new Error(`Cloudflare query failed: ${res.errors.map(({ message }) => message).join(', ')}`);
|
|
88
|
+
}
|
|
89
|
+
const matches = res.result.matches.map(({ id, score, values, metadata }) => ({
|
|
90
|
+
id,
|
|
91
|
+
score,
|
|
92
|
+
values,
|
|
93
|
+
metadata
|
|
94
|
+
}));
|
|
95
|
+
return { matches };
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=cloudflare.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudflare.js","sourceRoot":"","sources":["../../db/cloudflare.ts"],"names":[],"mappings":"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"}
|
package/db/index.d.ts
ADDED
package/db/index.js
ADDED
package/db/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../db/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
|
package/db/memory.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { AxDBBase, type AxDBBaseArgs, type AxDBBaseOpOptions } from './base.js';
|
|
2
|
+
import type { AxDBQueryRequest, AxDBQueryResponse, AxDBUpsertRequest, AxDBUpsertResponse } from './types.js';
|
|
3
|
+
export type AxDBMemoryOpOptions = AxDBBaseOpOptions;
|
|
4
|
+
export interface AxDBMemoryArgs extends AxDBBaseArgs {
|
|
5
|
+
name: 'memory';
|
|
6
|
+
}
|
|
7
|
+
export type AxDBState = Record<string, Record<string, AxDBUpsertRequest>>;
|
|
8
|
+
/**
|
|
9
|
+
* MemoryDB: DB Service
|
|
10
|
+
* @export
|
|
11
|
+
*/
|
|
12
|
+
export declare class AxDBMemory extends AxDBBase {
|
|
13
|
+
private state;
|
|
14
|
+
constructor({ tracer }?: Readonly<Omit<AxDBMemoryArgs, 'name'>>);
|
|
15
|
+
_upsert: (req: Readonly<AxDBUpsertRequest>, _update?: boolean, _options?: Readonly<AxDBMemoryOpOptions>) => Promise<AxDBUpsertResponse>;
|
|
16
|
+
_batchUpsert: (batchReq: Readonly<AxDBUpsertRequest[]>, update?: boolean, _options?: Readonly<AxDBMemoryOpOptions>) => Promise<AxDBUpsertResponse>;
|
|
17
|
+
_query: (req: Readonly<AxDBQueryRequest>, _options?: Readonly<AxDBMemoryOpOptions>) => Promise<AxDBQueryResponse>;
|
|
18
|
+
getDB: () => AxDBState;
|
|
19
|
+
setDB: (state: AxDBState) => void;
|
|
20
|
+
clearDB: () => void;
|
|
21
|
+
}
|
package/db/memory.js
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { AxDBBase } from './base.js';
|
|
2
|
+
/**
|
|
3
|
+
* MemoryDB: DB Service
|
|
4
|
+
* @export
|
|
5
|
+
*/
|
|
6
|
+
export class AxDBMemory extends AxDBBase {
|
|
7
|
+
state;
|
|
8
|
+
constructor({ tracer } = {}) {
|
|
9
|
+
super({ name: 'Memory', tracer });
|
|
10
|
+
this.state = {};
|
|
11
|
+
}
|
|
12
|
+
_upsert = async (req,
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
14
|
+
_update,
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
16
|
+
_options) => {
|
|
17
|
+
if (!this.state[req.table]) {
|
|
18
|
+
this.state[req.table] = {
|
|
19
|
+
[req.id]: req
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
const obj = this.state[req.table];
|
|
24
|
+
if (!obj) {
|
|
25
|
+
throw new Error('Table not found: ' + req.table);
|
|
26
|
+
}
|
|
27
|
+
obj[req.id] = req;
|
|
28
|
+
}
|
|
29
|
+
return { ids: [req.id] };
|
|
30
|
+
};
|
|
31
|
+
_batchUpsert = async (batchReq, update,
|
|
32
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
33
|
+
_options) => {
|
|
34
|
+
const ids = [];
|
|
35
|
+
for (const req of batchReq) {
|
|
36
|
+
const res = await this.upsert(req, update);
|
|
37
|
+
ids.push(...res.ids);
|
|
38
|
+
}
|
|
39
|
+
return { ids };
|
|
40
|
+
};
|
|
41
|
+
_query = async (req,
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
43
|
+
_options) => {
|
|
44
|
+
const table = this.state[req.table];
|
|
45
|
+
if (!table) {
|
|
46
|
+
return { matches: [] };
|
|
47
|
+
}
|
|
48
|
+
const matches = [];
|
|
49
|
+
Object.entries(table).forEach(([id, data]) => {
|
|
50
|
+
if (req.values && data.values) {
|
|
51
|
+
const score = distance(req.values, data.values);
|
|
52
|
+
matches.push({ id: id, score: score, metadata: data.metadata });
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
matches.sort((a, b) => a.score - b.score);
|
|
56
|
+
if (req.limit) {
|
|
57
|
+
matches.length = req.limit;
|
|
58
|
+
}
|
|
59
|
+
return { matches };
|
|
60
|
+
};
|
|
61
|
+
getDB = () => {
|
|
62
|
+
return structuredClone(this.state);
|
|
63
|
+
};
|
|
64
|
+
setDB = (state) => {
|
|
65
|
+
this.state = structuredClone(state);
|
|
66
|
+
};
|
|
67
|
+
clearDB = () => {
|
|
68
|
+
this.state = {};
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
const distance = (a, b) => {
|
|
72
|
+
if (a.length !== b.length) {
|
|
73
|
+
throw new Error('Vectors must be of the same length.');
|
|
74
|
+
}
|
|
75
|
+
let dotProduct = 0;
|
|
76
|
+
let normA = 0;
|
|
77
|
+
let normB = 0;
|
|
78
|
+
let zeroVectorA = true;
|
|
79
|
+
let zeroVectorB = true;
|
|
80
|
+
const vectorA = new Float64Array(a);
|
|
81
|
+
const vectorB = new Float64Array(b);
|
|
82
|
+
for (let i = 0; i < vectorA.length; i++) {
|
|
83
|
+
dotProduct += vectorA[i] * vectorB[i];
|
|
84
|
+
normA += vectorA[i] * vectorA[i];
|
|
85
|
+
normB += vectorB[i] * vectorB[i];
|
|
86
|
+
if (vectorA[i] !== 0)
|
|
87
|
+
zeroVectorA = false;
|
|
88
|
+
if (vectorB[i] !== 0)
|
|
89
|
+
zeroVectorB = false;
|
|
90
|
+
}
|
|
91
|
+
if (zeroVectorA || zeroVectorB) {
|
|
92
|
+
return 1; // Return maximum distance if one vector is zero
|
|
93
|
+
}
|
|
94
|
+
const sqrtNormA = Math.sqrt(normA);
|
|
95
|
+
const sqrtNormB = Math.sqrt(normB);
|
|
96
|
+
const similarity = dotProduct / (sqrtNormA * sqrtNormB);
|
|
97
|
+
return 1 - similarity; // Returning distance as 1 - cosine similarity.
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=memory.js.map
|
package/db/memory.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../db/memory.ts"],"names":[],"mappings":"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"}
|
package/db/pinecone.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { AxDBBase, type AxDBBaseArgs, type AxDBBaseOpOptions } from './base.js';
|
|
2
|
+
import type { AxDBQueryRequest, AxDBQueryResponse, AxDBUpsertRequest, AxDBUpsertResponse } from './types.js';
|
|
3
|
+
export type AxDBPineconeOpOptions = AxDBBaseOpOptions;
|
|
4
|
+
export interface AxDBPineconeArgs extends AxDBBaseArgs {
|
|
5
|
+
name: 'pinecone';
|
|
6
|
+
apiKey: string;
|
|
7
|
+
host: string;
|
|
8
|
+
fetch?: typeof fetch;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Pinecone: DB Service
|
|
12
|
+
* @export
|
|
13
|
+
*/
|
|
14
|
+
export declare class AxDBPinecone extends AxDBBase {
|
|
15
|
+
private apiKey;
|
|
16
|
+
private apiURL;
|
|
17
|
+
constructor({ apiKey, host, fetch, tracer }: Readonly<Omit<AxDBPineconeArgs, 'name'>>);
|
|
18
|
+
_upsert: (req: Readonly<AxDBUpsertRequest>, update?: boolean, options?: Readonly<AxDBPineconeOpOptions>) => Promise<AxDBUpsertResponse>;
|
|
19
|
+
_batchUpsert: (batchReq: Readonly<AxDBUpsertRequest[]>, _update?: boolean, options?: Readonly<AxDBPineconeOpOptions>) => Promise<AxDBUpsertResponse>;
|
|
20
|
+
query: (req: Readonly<AxDBQueryRequest>, options?: Readonly<AxDBPineconeOpOptions>) => Promise<AxDBQueryResponse>;
|
|
21
|
+
}
|
package/db/pinecone.js
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { apiCall } from '../util/apicall.js';
|
|
2
|
+
import { AxDBBase } from './base.js';
|
|
3
|
+
const createPineconeQueryRequest = (req) => {
|
|
4
|
+
const pineconeQueryRequest = {
|
|
5
|
+
namespace: req.namespace,
|
|
6
|
+
topK: req.limit || 10,
|
|
7
|
+
filter: {},
|
|
8
|
+
includeValues: true,
|
|
9
|
+
includeMetadata: true,
|
|
10
|
+
vector: req.values ?? [],
|
|
11
|
+
id: req.id
|
|
12
|
+
};
|
|
13
|
+
return pineconeQueryRequest;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Pinecone: DB Service
|
|
17
|
+
* @export
|
|
18
|
+
*/
|
|
19
|
+
export class AxDBPinecone extends AxDBBase {
|
|
20
|
+
apiKey;
|
|
21
|
+
apiURL;
|
|
22
|
+
constructor({ apiKey, host, fetch, tracer }) {
|
|
23
|
+
if (!apiKey || apiKey === '') {
|
|
24
|
+
throw new Error('Pinecone API key not set');
|
|
25
|
+
}
|
|
26
|
+
super({ name: 'Pinecone', fetch, tracer });
|
|
27
|
+
this.apiKey = apiKey;
|
|
28
|
+
this.apiURL = host;
|
|
29
|
+
}
|
|
30
|
+
_upsert = async (req, update, options) => {
|
|
31
|
+
await this._batchUpsert([req], update, options);
|
|
32
|
+
return { ids: [req.id] };
|
|
33
|
+
};
|
|
34
|
+
_batchUpsert = async (batchReq, _update, options) => {
|
|
35
|
+
if (batchReq.length === 0) {
|
|
36
|
+
throw new Error('Batch request is empty');
|
|
37
|
+
}
|
|
38
|
+
await apiCall({
|
|
39
|
+
url: this.apiURL,
|
|
40
|
+
headers: { Authorization: `Bearer ${this.apiKey}` },
|
|
41
|
+
name: '/vectors/upsert',
|
|
42
|
+
fetch: this.fetch,
|
|
43
|
+
span: options?.span
|
|
44
|
+
}, batchReq.map(({ id, values = [], metadata }) => ({
|
|
45
|
+
id,
|
|
46
|
+
values,
|
|
47
|
+
metadata
|
|
48
|
+
})));
|
|
49
|
+
return { ids: batchReq.map(({ id }) => id) };
|
|
50
|
+
};
|
|
51
|
+
query = async (req, options) => {
|
|
52
|
+
if (req.text) {
|
|
53
|
+
throw new Error('Pinecone does not support text');
|
|
54
|
+
}
|
|
55
|
+
const res = (await apiCall({
|
|
56
|
+
url: this.apiURL,
|
|
57
|
+
headers: { Authorization: `Bearer ${this.apiKey}` },
|
|
58
|
+
name: '/query',
|
|
59
|
+
fetch: this.fetch,
|
|
60
|
+
span: options?.span
|
|
61
|
+
}, createPineconeQueryRequest(req)));
|
|
62
|
+
const matches = res.matches.map(({ id, score, values, metadata }) => ({
|
|
63
|
+
id,
|
|
64
|
+
score,
|
|
65
|
+
metadata,
|
|
66
|
+
values
|
|
67
|
+
}));
|
|
68
|
+
return { matches };
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=pinecone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pinecone.js","sourceRoot":"","sources":["../../db/pinecone.ts"],"names":[],"mappings":"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"}
|
package/db/types.d.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export type AxDBUpsertRequest = {
|
|
2
|
+
id: string;
|
|
3
|
+
text?: string;
|
|
4
|
+
values?: readonly number[];
|
|
5
|
+
metadata?: Record<string, string>;
|
|
6
|
+
table: string;
|
|
7
|
+
namespace?: string;
|
|
8
|
+
};
|
|
9
|
+
export type AxDBUpsertResponse = {
|
|
10
|
+
ids: string[];
|
|
11
|
+
};
|
|
12
|
+
export type AxDBQueryRequest = {
|
|
13
|
+
id?: string;
|
|
14
|
+
text?: string;
|
|
15
|
+
values?: readonly number[];
|
|
16
|
+
table: string;
|
|
17
|
+
columns?: string[];
|
|
18
|
+
limit?: number;
|
|
19
|
+
namespace?: string;
|
|
20
|
+
};
|
|
21
|
+
export type AxDBQueryResponse = {
|
|
22
|
+
matches: {
|
|
23
|
+
id: string;
|
|
24
|
+
score: number;
|
|
25
|
+
metadata?: Record<string, string>;
|
|
26
|
+
table?: string;
|
|
27
|
+
}[];
|
|
28
|
+
};
|
|
29
|
+
export interface AxDBService extends AxDBQueryService {
|
|
30
|
+
upsert(req: Readonly<AxDBUpsertRequest>, update?: boolean): Promise<AxDBUpsertResponse>;
|
|
31
|
+
batchUpsert(batchReq: Readonly<AxDBUpsertRequest[]>, update?: boolean): Promise<AxDBUpsertResponse>;
|
|
32
|
+
}
|
|
33
|
+
export interface AxDBQueryService {
|
|
34
|
+
query(req: Readonly<AxDBQueryRequest>): Promise<AxDBQueryResponse>;
|
|
35
|
+
}
|
package/db/types.js
ADDED
package/db/types.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../db/types.ts"],"names":[],"mappings":"AAAA,aAAa"}
|
package/db/weaviate.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { AxDBBase, type AxDBBaseArgs, type AxDBBaseOpOptions } from './base.js';
|
|
2
|
+
import type { AxDBQueryRequest, AxDBQueryResponse, AxDBUpsertRequest, AxDBUpsertResponse } from './types.js';
|
|
3
|
+
export type AxDBWeaviateOpOptions = AxDBBaseOpOptions;
|
|
4
|
+
export interface AxDBWeaviateArgs extends AxDBBaseArgs {
|
|
5
|
+
name: 'weaviate';
|
|
6
|
+
apiKey: string;
|
|
7
|
+
host: string;
|
|
8
|
+
fetch?: typeof fetch;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Weaviate: DB Service
|
|
12
|
+
* @export
|
|
13
|
+
*/
|
|
14
|
+
export declare class AxDBWeaviate extends AxDBBase {
|
|
15
|
+
private apiKey;
|
|
16
|
+
private apiURL;
|
|
17
|
+
constructor({ apiKey, host, fetch, tracer }: Readonly<Omit<AxDBWeaviateArgs, 'name'>>);
|
|
18
|
+
_upsert: (req: Readonly<AxDBUpsertRequest>, update?: boolean, options?: Readonly<AxDBWeaviateOpOptions>) => Promise<AxDBUpsertResponse>;
|
|
19
|
+
_batchUpsert: (batchReq: Readonly<AxDBUpsertRequest[]>, update?: boolean, options?: Readonly<AxDBWeaviateOpOptions>) => Promise<AxDBUpsertResponse>;
|
|
20
|
+
_query: (req: Readonly<AxDBQueryRequest>, options?: Readonly<AxDBWeaviateOpOptions>) => Promise<AxDBQueryResponse>;
|
|
21
|
+
}
|
package/db/weaviate.js
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { apiCall } from '../util/apicall.js';
|
|
2
|
+
import { AxDBBase } from './base.js';
|
|
3
|
+
/**
|
|
4
|
+
* Weaviate: DB Service
|
|
5
|
+
* @export
|
|
6
|
+
*/
|
|
7
|
+
export class AxDBWeaviate extends AxDBBase {
|
|
8
|
+
apiKey;
|
|
9
|
+
apiURL;
|
|
10
|
+
constructor({ apiKey, host, fetch, tracer }) {
|
|
11
|
+
if (!apiKey || apiKey === '') {
|
|
12
|
+
throw new Error('Weaviate API key not set');
|
|
13
|
+
}
|
|
14
|
+
super({ name: 'Weaviate', fetch, tracer });
|
|
15
|
+
this.apiKey = apiKey;
|
|
16
|
+
this.apiURL = host;
|
|
17
|
+
}
|
|
18
|
+
_upsert = async (req, update, options) => {
|
|
19
|
+
const res = (await apiCall({
|
|
20
|
+
url: this.apiURL,
|
|
21
|
+
headers: { Authorization: `Bearer ${this.apiKey}` },
|
|
22
|
+
name: `/v1/objects/${req.table}/${req.id}`,
|
|
23
|
+
put: update ? true : false,
|
|
24
|
+
fetch: this.fetch,
|
|
25
|
+
span: options?.span
|
|
26
|
+
}, {
|
|
27
|
+
id: req.id,
|
|
28
|
+
class: req.table,
|
|
29
|
+
tenant: req.namespace,
|
|
30
|
+
vector: req.values,
|
|
31
|
+
properties: req.metadata ?? {}
|
|
32
|
+
}));
|
|
33
|
+
if (res?.result?.errors) {
|
|
34
|
+
throw new Error(`Weaviate upsert failed: ${res.result.errors.error
|
|
35
|
+
.map(({ message }) => message)
|
|
36
|
+
.join(', ')}`);
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
ids: [res.id]
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
_batchUpsert = async (batchReq, update, options) => {
|
|
43
|
+
if (update) {
|
|
44
|
+
throw new Error('Weaviate does not support batch update');
|
|
45
|
+
}
|
|
46
|
+
if (batchReq.length === 0) {
|
|
47
|
+
throw new Error('Batch request is empty');
|
|
48
|
+
}
|
|
49
|
+
const objects = batchReq.map((req) => ({
|
|
50
|
+
id: req.id,
|
|
51
|
+
class: req.table,
|
|
52
|
+
tenant: req.namespace,
|
|
53
|
+
vector: req.values,
|
|
54
|
+
properties: req.metadata ?? {}
|
|
55
|
+
}));
|
|
56
|
+
const res = (await apiCall({
|
|
57
|
+
url: this.apiURL,
|
|
58
|
+
headers: { Authorization: `Bearer ${this.apiKey}` },
|
|
59
|
+
name: '/v1/batch/objects',
|
|
60
|
+
fetch: this.fetch,
|
|
61
|
+
span: options?.span
|
|
62
|
+
}, { objects }));
|
|
63
|
+
if (res?.some(({ result }) => result?.errors)) {
|
|
64
|
+
throw new Error(`Weaviate batch upsert failed: ${res
|
|
65
|
+
.map(({ result }) => result?.errors?.error.map(({ message }) => message).join(', '))
|
|
66
|
+
.join(', ')}`);
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
ids: res.map(({ id }) => id)
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
_query = async (req, options) => {
|
|
73
|
+
let filter = '';
|
|
74
|
+
if (req.columns && req.columns.length === 0) {
|
|
75
|
+
throw new Error('Weaviate requires at least one column');
|
|
76
|
+
}
|
|
77
|
+
if (req.values) {
|
|
78
|
+
filter = `nearVector: {
|
|
79
|
+
vector: [${req.values.join(',')}],
|
|
80
|
+
}`;
|
|
81
|
+
}
|
|
82
|
+
else if (req.text) {
|
|
83
|
+
filter = `nearText: {
|
|
84
|
+
concepts: ['${req.text}'],
|
|
85
|
+
}`;
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
throw new Error('Weaviate requires either text or values');
|
|
89
|
+
}
|
|
90
|
+
const res = (await apiCall({
|
|
91
|
+
url: this.apiURL,
|
|
92
|
+
headers: { Authorization: `Bearer ${this.apiKey}` },
|
|
93
|
+
name: '/v1/graphql',
|
|
94
|
+
fetch: this.fetch,
|
|
95
|
+
span: options?.span
|
|
96
|
+
}, {
|
|
97
|
+
query: `{
|
|
98
|
+
Get {
|
|
99
|
+
${req.table} (
|
|
100
|
+
limit: ${req.limit || 10},
|
|
101
|
+
${filter}
|
|
102
|
+
) {
|
|
103
|
+
${req.columns?.join('\n')}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}`
|
|
107
|
+
}));
|
|
108
|
+
if (res.errors) {
|
|
109
|
+
throw new Error(`Weaviate query failed: ${res.errors
|
|
110
|
+
.map(({ message }) => message)
|
|
111
|
+
.join(', ')}`);
|
|
112
|
+
}
|
|
113
|
+
const resMatches = res.data.Get[req.table];
|
|
114
|
+
if (!resMatches) {
|
|
115
|
+
return { matches: [] };
|
|
116
|
+
}
|
|
117
|
+
const matches = resMatches.map((match) => {
|
|
118
|
+
return {
|
|
119
|
+
id: match.id,
|
|
120
|
+
score: 1,
|
|
121
|
+
metadata: match
|
|
122
|
+
};
|
|
123
|
+
});
|
|
124
|
+
return { matches };
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=weaviate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"weaviate.js","sourceRoot":"","sources":["../../db/weaviate.ts"],"names":[],"mappings":"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"}
|
package/db/wrap.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type AxDBCloudflareArgs } from './cloudflare.js';
|
|
2
|
+
import { type AxDBMemoryArgs } from './memory.js';
|
|
3
|
+
import { type AxDBPineconeArgs } from './pinecone.js';
|
|
4
|
+
import type { AxDBQueryRequest, AxDBQueryResponse, AxDBService, AxDBUpsertRequest, AxDBUpsertResponse } from './types.js';
|
|
5
|
+
import { type AxDBWeaviateArgs } from './weaviate.js';
|
|
6
|
+
export type AxDBArgs = AxDBCloudflareArgs | AxDBPineconeArgs | AxDBWeaviateArgs | AxDBMemoryArgs;
|
|
7
|
+
export declare class AxDB implements AxDBService {
|
|
8
|
+
private db;
|
|
9
|
+
constructor(args: Readonly<AxDBArgs>);
|
|
10
|
+
upsert(req: Readonly<AxDBUpsertRequest>, update?: boolean): Promise<AxDBUpsertResponse>;
|
|
11
|
+
batchUpsert(batchReq: Readonly<AxDBUpsertRequest[]>, update?: boolean): Promise<AxDBUpsertResponse>;
|
|
12
|
+
query(req: Readonly<AxDBQueryRequest>): Promise<AxDBQueryResponse>;
|
|
13
|
+
}
|
package/db/wrap.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { AxDBCloudflare } from './cloudflare.js';
|
|
2
|
+
import { AxDBMemory } from './memory.js';
|
|
3
|
+
import { AxDBPinecone } from './pinecone.js';
|
|
4
|
+
import { AxDBWeaviate } from './weaviate.js';
|
|
5
|
+
export class AxDB {
|
|
6
|
+
db;
|
|
7
|
+
constructor(args) {
|
|
8
|
+
switch (args.name) {
|
|
9
|
+
case 'weaviate':
|
|
10
|
+
this.db = new AxDBWeaviate(args);
|
|
11
|
+
break;
|
|
12
|
+
case 'pinecone':
|
|
13
|
+
this.db = new AxDBPinecone(args);
|
|
14
|
+
break;
|
|
15
|
+
case 'cloudflare':
|
|
16
|
+
this.db = new AxDBCloudflare(args);
|
|
17
|
+
break;
|
|
18
|
+
case 'memory':
|
|
19
|
+
this.db = new AxDBMemory(args);
|
|
20
|
+
break;
|
|
21
|
+
default:
|
|
22
|
+
throw new Error(`Unknown DB`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
async upsert(req, update) {
|
|
26
|
+
return await this.db.upsert(req, update);
|
|
27
|
+
}
|
|
28
|
+
async batchUpsert(batchReq, update) {
|
|
29
|
+
return await this.db.batchUpsert(batchReq, update);
|
|
30
|
+
}
|
|
31
|
+
async query(req) {
|
|
32
|
+
return await this.db.query(req);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=wrap.js.map
|
package/db/wrap.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrap.js","sourceRoot":"","sources":["../../db/wrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA2B,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAuB,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAyB,MAAM,eAAe,CAAC;AAQpE,OAAO,EAAE,YAAY,EAAyB,MAAM,eAAe,CAAC;AAQpE,MAAM,OAAO,IAAI;IACP,EAAE,CAAc;IACxB,YAAY,IAAwB;QAClC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,UAAU;gBACb,IAAI,CAAC,EAAE,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,EAAE,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,YAAY;gBACf,IAAI,CAAC,EAAE,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,EAAE,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,KAAK,CAAC,MAAM,CACV,GAAgC,EAChC,MAAgB;QAEhB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,WAAW,CACf,QAAuC,EACvC,MAAgB;QAEhB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAA+B;QACzC,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;CACF"}
|
package/docs/index.d.ts
ADDED
package/docs/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../docs/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
|