@ax-llm/ax 9.0.0
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/LICENSE +201 -0
- package/README.md +547 -0
- package/build/module/docs/assets/icons.d.ts +1 -0
- package/build/module/docs/assets/icons.js +19 -0
- package/build/module/docs/assets/icons.js.map +1 -0
- package/build/module/docs/assets/main.d.ts +1 -0
- package/build/module/docs/assets/main.js +629 -0
- package/build/module/docs/assets/main.js.map +1 -0
- package/build/module/docs/assets/navigation.d.ts +1 -0
- package/build/module/docs/assets/navigation.js +3 -0
- package/build/module/docs/assets/navigation.js.map +1 -0
- package/build/module/docs/assets/search.d.ts +1 -0
- package/build/module/docs/assets/search.js +3 -0
- package/build/module/docs/assets/search.js.map +1 -0
- package/build/module/src/ai/anthropic/api.d.ts +24 -0
- package/build/module/src/ai/anthropic/api.js +188 -0
- package/build/module/src/ai/anthropic/api.js.map +1 -0
- package/build/module/src/ai/anthropic/index.d.ts +2 -0
- package/build/module/src/ai/anthropic/index.js +3 -0
- package/build/module/src/ai/anthropic/index.js.map +1 -0
- package/build/module/src/ai/anthropic/info.d.ts +2 -0
- package/build/module/src/ai/anthropic/info.js +34 -0
- package/build/module/src/ai/anthropic/info.js.map +1 -0
- package/build/module/src/ai/anthropic/types.d.ts +140 -0
- package/build/module/src/ai/anthropic/types.js +13 -0
- package/build/module/src/ai/anthropic/types.js.map +1 -0
- package/build/module/src/ai/azure-openai/api.d.ts +34 -0
- package/build/module/src/ai/azure-openai/api.js +42 -0
- package/build/module/src/ai/azure-openai/api.js.map +1 -0
- package/build/module/src/ai/azure-openai/index.d.ts +1 -0
- package/build/module/src/ai/azure-openai/index.js +2 -0
- package/build/module/src/ai/azure-openai/index.js.map +1 -0
- package/build/module/src/ai/balance.d.ts +26 -0
- package/build/module/src/ai/balance.js +87 -0
- package/build/module/src/ai/balance.js.map +1 -0
- package/build/module/src/ai/base.d.ts +56 -0
- package/build/module/src/ai/base.js +328 -0
- package/build/module/src/ai/base.js.map +1 -0
- package/build/module/src/ai/cohere/api.d.ts +35 -0
- package/build/module/src/ai/cohere/api.js +214 -0
- package/build/module/src/ai/cohere/api.js.map +1 -0
- package/build/module/src/ai/cohere/index.d.ts +2 -0
- package/build/module/src/ai/cohere/index.js +3 -0
- package/build/module/src/ai/cohere/index.js.map +1 -0
- package/build/module/src/ai/cohere/info.d.ts +2 -0
- package/build/module/src/ai/cohere/info.js +52 -0
- package/build/module/src/ai/cohere/info.js.map +1 -0
- package/build/module/src/ai/cohere/types.d.ts +85 -0
- package/build/module/src/ai/cohere/types.js +23 -0
- package/build/module/src/ai/cohere/types.js.map +1 -0
- package/build/module/src/ai/deepseek/api.d.ts +27 -0
- package/build/module/src/ai/deepseek/api.js +38 -0
- package/build/module/src/ai/deepseek/api.js.map +1 -0
- package/build/module/src/ai/deepseek/index.d.ts +2 -0
- package/build/module/src/ai/deepseek/index.js +3 -0
- package/build/module/src/ai/deepseek/index.js.map +1 -0
- package/build/module/src/ai/deepseek/info.d.ts +2 -0
- package/build/module/src/ai/deepseek/info.js +16 -0
- package/build/module/src/ai/deepseek/info.js.map +1 -0
- package/build/module/src/ai/deepseek/types.d.ts +8 -0
- package/build/module/src/ai/deepseek/types.js +10 -0
- package/build/module/src/ai/deepseek/types.js.map +1 -0
- package/build/module/src/ai/google-gemini/api.d.ts +34 -0
- package/build/module/src/ai/google-gemini/api.js +268 -0
- package/build/module/src/ai/google-gemini/api.js.map +1 -0
- package/build/module/src/ai/google-gemini/index.d.ts +2 -0
- package/build/module/src/ai/google-gemini/index.js +3 -0
- package/build/module/src/ai/google-gemini/index.js.map +1 -0
- package/build/module/src/ai/google-gemini/info.d.ts +6 -0
- package/build/module/src/ai/google-gemini/info.js +29 -0
- package/build/module/src/ai/google-gemini/info.js.map +1 -0
- package/build/module/src/ai/google-gemini/types.d.ts +151 -0
- package/build/module/src/ai/google-gemini/types.js +38 -0
- package/build/module/src/ai/google-gemini/types.js.map +1 -0
- package/build/module/src/ai/groq/api.d.ts +22 -0
- package/build/module/src/ai/groq/api.js +29 -0
- package/build/module/src/ai/groq/api.js.map +1 -0
- package/build/module/src/ai/groq/index.d.ts +1 -0
- package/build/module/src/ai/groq/index.js +2 -0
- package/build/module/src/ai/groq/index.js.map +1 -0
- package/build/module/src/ai/huggingface/api.d.ts +32 -0
- package/build/module/src/ai/huggingface/api.js +99 -0
- package/build/module/src/ai/huggingface/api.js.map +1 -0
- package/build/module/src/ai/huggingface/index.d.ts +2 -0
- package/build/module/src/ai/huggingface/index.js +3 -0
- package/build/module/src/ai/huggingface/index.js.map +1 -0
- package/build/module/src/ai/huggingface/info.d.ts +6 -0
- package/build/module/src/ai/huggingface/info.js +6 -0
- package/build/module/src/ai/huggingface/info.js.map +1 -0
- package/build/module/src/ai/huggingface/types.d.ts +42 -0
- package/build/module/src/ai/huggingface/types.js +9 -0
- package/build/module/src/ai/huggingface/types.js.map +1 -0
- package/build/module/src/ai/index.d.ts +28 -0
- package/build/module/src/ai/index.js +54 -0
- package/build/module/src/ai/index.js.map +1 -0
- package/build/module/src/ai/mistral/api.d.ts +27 -0
- package/build/module/src/ai/mistral/api.js +38 -0
- package/build/module/src/ai/mistral/api.js.map +1 -0
- package/build/module/src/ai/mistral/index.d.ts +2 -0
- package/build/module/src/ai/mistral/index.js +3 -0
- package/build/module/src/ai/mistral/index.js.map +1 -0
- package/build/module/src/ai/mistral/info.d.ts +2 -0
- package/build/module/src/ai/mistral/info.js +34 -0
- package/build/module/src/ai/mistral/info.js.map +1 -0
- package/build/module/src/ai/mistral/types.d.ts +18 -0
- package/build/module/src/ai/mistral/types.js +21 -0
- package/build/module/src/ai/mistral/types.js.map +1 -0
- package/build/module/src/ai/ollama/api.d.ts +24 -0
- package/build/module/src/ai/ollama/api.js +28 -0
- package/build/module/src/ai/ollama/api.js.map +1 -0
- package/build/module/src/ai/ollama/index.d.ts +1 -0
- package/build/module/src/ai/ollama/index.js +2 -0
- package/build/module/src/ai/ollama/index.js.map +1 -0
- package/build/module/src/ai/openai/api.d.ts +49 -0
- package/build/module/src/ai/openai/api.js +333 -0
- package/build/module/src/ai/openai/api.js.map +1 -0
- package/build/module/src/ai/openai/index.d.ts +2 -0
- package/build/module/src/ai/openai/index.js +3 -0
- package/build/module/src/ai/openai/index.js.map +1 -0
- package/build/module/src/ai/openai/info.d.ts +6 -0
- package/build/module/src/ai/openai/info.js +50 -0
- package/build/module/src/ai/openai/info.js.map +1 -0
- package/build/module/src/ai/openai/types.d.ts +192 -0
- package/build/module/src/ai/openai/types.js +35 -0
- package/build/module/src/ai/openai/types.js.map +1 -0
- package/build/module/src/ai/together/api.d.ts +22 -0
- package/build/module/src/ai/together/api.js +29 -0
- package/build/module/src/ai/together/api.js.map +1 -0
- package/build/module/src/ai/together/index.d.ts +1 -0
- package/build/module/src/ai/together/index.js +2 -0
- package/build/module/src/ai/together/index.js.map +1 -0
- package/build/module/src/ai/together/info.d.ts +2 -0
- package/build/module/src/ai/together/info.js +2 -0
- package/build/module/src/ai/together/info.js.map +1 -0
- package/build/module/src/ai/types.d.ts +70 -0
- package/build/module/src/ai/types.js +2 -0
- package/build/module/src/ai/types.js.map +1 -0
- package/build/module/src/ai/util.d.ts +13 -0
- package/build/module/src/ai/util.js +112 -0
- package/build/module/src/ai/util.js.map +1 -0
- package/build/module/src/db/base.d.ts +24 -0
- package/build/module/src/db/base.js +90 -0
- package/build/module/src/db/base.js.map +1 -0
- package/build/module/src/db/cloudflare.d.ts +20 -0
- package/build/module/src/db/cloudflare.js +98 -0
- package/build/module/src/db/cloudflare.js.map +1 -0
- package/build/module/src/db/index.d.ts +12 -0
- package/build/module/src/db/index.js +23 -0
- package/build/module/src/db/index.js.map +1 -0
- package/build/module/src/db/memory.d.ts +23 -0
- package/build/module/src/db/memory.js +125 -0
- package/build/module/src/db/memory.js.map +1 -0
- package/build/module/src/db/pinecone.d.ts +20 -0
- package/build/module/src/db/pinecone.js +71 -0
- package/build/module/src/db/pinecone.js.map +1 -0
- package/build/module/src/db/types.d.ts +35 -0
- package/build/module/src/db/types.js +3 -0
- package/build/module/src/db/types.js.map +1 -0
- package/build/module/src/db/weaviate.d.ts +20 -0
- package/build/module/src/db/weaviate.js +127 -0
- package/build/module/src/db/weaviate.js.map +1 -0
- package/build/module/src/docs/index.d.ts +4 -0
- package/build/module/src/docs/index.js +5 -0
- package/build/module/src/docs/index.js.map +1 -0
- package/build/module/src/docs/manager.d.ts +45 -0
- package/build/module/src/docs/manager.js +159 -0
- package/build/module/src/docs/manager.js.map +1 -0
- package/build/module/src/docs/reranker.d.ts +7 -0
- package/build/module/src/docs/reranker.js +26 -0
- package/build/module/src/docs/reranker.js.map +1 -0
- package/build/module/src/docs/rewriter.d.ts +4 -0
- package/build/module/src/docs/rewriter.js +9 -0
- package/build/module/src/docs/rewriter.js.map +1 -0
- package/build/module/src/docs/tika.d.ts +21 -0
- package/build/module/src/docs/tika.js +46 -0
- package/build/module/src/docs/tika.js.map +1 -0
- package/build/module/src/dsp/asserts.d.ts +32 -0
- package/build/module/src/dsp/asserts.js +88 -0
- package/build/module/src/dsp/asserts.js.map +1 -0
- package/build/module/src/dsp/eval.d.ts +62 -0
- package/build/module/src/dsp/eval.js +120 -0
- package/build/module/src/dsp/eval.js.map +1 -0
- package/build/module/src/dsp/evaluate.d.ts +12 -0
- package/build/module/src/dsp/evaluate.js +32 -0
- package/build/module/src/dsp/evaluate.js.map +1 -0
- package/build/module/src/dsp/extract.d.ts +25 -0
- package/build/module/src/dsp/extract.js +152 -0
- package/build/module/src/dsp/extract.js.map +1 -0
- package/build/module/src/dsp/generate.d.ts +52 -0
- package/build/module/src/dsp/generate.js +335 -0
- package/build/module/src/dsp/generate.js.map +1 -0
- package/build/module/src/dsp/generate.test.d.ts +1 -0
- package/build/module/src/dsp/generate.test.js +41 -0
- package/build/module/src/dsp/generate.test.js.map +1 -0
- package/build/module/src/dsp/index.d.ts +14 -0
- package/build/module/src/dsp/index.js +10 -0
- package/build/module/src/dsp/index.js.map +1 -0
- package/build/module/src/dsp/loader.d.ts +25 -0
- package/build/module/src/dsp/loader.js +87 -0
- package/build/module/src/dsp/loader.js.map +1 -0
- package/build/module/src/dsp/optimize.d.ts +29 -0
- package/build/module/src/dsp/optimize.js +100 -0
- package/build/module/src/dsp/optimize.js.map +1 -0
- package/build/module/src/dsp/parser.d.ts +86 -0
- package/build/module/src/dsp/parser.js +1437 -0
- package/build/module/src/dsp/parser.js.map +1 -0
- package/build/module/src/dsp/program.d.ts +64 -0
- package/build/module/src/dsp/program.js +129 -0
- package/build/module/src/dsp/program.js.map +1 -0
- package/build/module/src/dsp/prompt.d.ts +25 -0
- package/build/module/src/dsp/prompt.js +178 -0
- package/build/module/src/dsp/prompt.js.map +1 -0
- package/build/module/src/dsp/registry.d.ts +6 -0
- package/build/module/src/dsp/registry.js +15 -0
- package/build/module/src/dsp/registry.js.map +1 -0
- package/build/module/src/dsp/router.d.ts +24 -0
- package/build/module/src/dsp/router.js +72 -0
- package/build/module/src/dsp/router.js.map +1 -0
- package/build/module/src/dsp/sig.d.ts +37 -0
- package/build/module/src/dsp/sig.js +160 -0
- package/build/module/src/dsp/sig.js.map +1 -0
- package/build/module/src/dsp/sig.test.d.ts +1 -0
- package/build/module/src/dsp/sig.test.js +25 -0
- package/build/module/src/dsp/sig.test.js.map +1 -0
- package/build/module/src/dsp/stopwords.d.ts +1 -0
- package/build/module/src/dsp/stopwords.js +1163 -0
- package/build/module/src/dsp/stopwords.js.map +1 -0
- package/build/module/src/dsp/strutil.d.ts +9 -0
- package/build/module/src/dsp/strutil.js +52 -0
- package/build/module/src/dsp/strutil.js.map +1 -0
- package/build/module/src/dsp/util.d.ts +1 -0
- package/build/module/src/dsp/util.js +14 -0
- package/build/module/src/dsp/util.js.map +1 -0
- package/build/module/src/examples/agent.d.ts +1 -0
- package/build/module/src/examples/agent.js +24 -0
- package/build/module/src/examples/agent.js.map +1 -0
- package/build/module/src/examples/chain-of-thought.d.ts +1 -0
- package/build/module/src/examples/chain-of-thought.js +18 -0
- package/build/module/src/examples/chain-of-thought.js.map +1 -0
- package/build/module/src/examples/customer-support.d.ts +1 -0
- package/build/module/src/examples/customer-support.js +22 -0
- package/build/module/src/examples/customer-support.js.map +1 -0
- package/build/module/src/examples/fibonacci.d.ts +1 -0
- package/build/module/src/examples/fibonacci.js +9 -0
- package/build/module/src/examples/fibonacci.js.map +1 -0
- package/build/module/src/examples/food-search.d.ts +1 -0
- package/build/module/src/examples/food-search.js +137 -0
- package/build/module/src/examples/food-search.js.map +1 -0
- package/build/module/src/examples/marketing.d.ts +1 -0
- package/build/module/src/examples/marketing.js +26 -0
- package/build/module/src/examples/marketing.js.map +1 -0
- package/build/module/src/examples/meetings.d.ts +1 -0
- package/build/module/src/examples/meetings.js +149 -0
- package/build/module/src/examples/meetings.js.map +1 -0
- package/build/module/src/examples/qna-tune.d.ts +1 -0
- package/build/module/src/examples/qna-tune.js +29 -0
- package/build/module/src/examples/qna-tune.js.map +1 -0
- package/build/module/src/examples/qna-use-tuned.d.ts +1 -0
- package/build/module/src/examples/qna-use-tuned.js +25 -0
- package/build/module/src/examples/qna-use-tuned.js.map +1 -0
- package/build/module/src/examples/rag-docs.d.ts +1 -0
- package/build/module/src/examples/rag-docs.js +14 -0
- package/build/module/src/examples/rag-docs.js.map +1 -0
- package/build/module/src/examples/rag.d.ts +1 -0
- package/build/module/src/examples/rag.js +14 -0
- package/build/module/src/examples/rag.js.map +1 -0
- package/build/module/src/examples/react.d.ts +1 -0
- package/build/module/src/examples/react.js +36 -0
- package/build/module/src/examples/react.js.map +1 -0
- package/build/module/src/examples/routing.d.ts +1 -0
- package/build/module/src/examples/routing.js +48 -0
- package/build/module/src/examples/routing.js.map +1 -0
- package/build/module/src/examples/streaming1.d.ts +1 -0
- package/build/module/src/examples/streaming1.js +15 -0
- package/build/module/src/examples/streaming1.js.map +1 -0
- package/build/module/src/examples/streaming2.d.ts +1 -0
- package/build/module/src/examples/streaming2.js +24 -0
- package/build/module/src/examples/streaming2.js.map +1 -0
- package/build/module/src/examples/summarize.d.ts +1 -0
- package/build/module/src/examples/summarize.js +27 -0
- package/build/module/src/examples/summarize.js.map +1 -0
- package/build/module/src/examples/vectordb.d.ts +1 -0
- package/build/module/src/examples/vectordb.js +14 -0
- package/build/module/src/examples/vectordb.js.map +1 -0
- package/build/module/src/funcs/code.d.ts +10 -0
- package/build/module/src/funcs/code.js +63 -0
- package/build/module/src/funcs/code.js.map +1 -0
- package/build/module/src/funcs/embed.d.ts +8 -0
- package/build/module/src/funcs/embed.js +29 -0
- package/build/module/src/funcs/embed.js.map +1 -0
- package/build/module/src/funcs/index.d.ts +2 -0
- package/build/module/src/funcs/index.js +3 -0
- package/build/module/src/funcs/index.js.map +1 -0
- package/build/module/src/index.d.ts +9 -0
- package/build/module/src/index.js +15 -0
- package/build/module/src/index.js.map +1 -0
- package/build/module/src/prompts/agent.d.ts +24 -0
- package/build/module/src/prompts/agent.js +65 -0
- package/build/module/src/prompts/agent.js.map +1 -0
- package/build/module/src/prompts/cot.d.ts +9 -0
- package/build/module/src/prompts/cot.js +17 -0
- package/build/module/src/prompts/cot.js.map +1 -0
- package/build/module/src/prompts/index.d.ts +4 -0
- package/build/module/src/prompts/index.js +5 -0
- package/build/module/src/prompts/index.js.map +1 -0
- package/build/module/src/prompts/prompts.test.d.ts +1 -0
- package/build/module/src/prompts/prompts.test.js +48 -0
- package/build/module/src/prompts/prompts.test.js.map +1 -0
- package/build/module/src/prompts/rag.d.ts +23 -0
- package/build/module/src/prompts/rag.js +30 -0
- package/build/module/src/prompts/rag.js.map +1 -0
- package/build/module/src/prompts/react.d.ts +8 -0
- package/build/module/src/prompts/react.js +22 -0
- package/build/module/src/prompts/react.js.map +1 -0
- package/build/module/src/text/functions.d.ts +25 -0
- package/build/module/src/text/functions.js +55 -0
- package/build/module/src/text/functions.js.map +1 -0
- package/build/module/src/text/index.d.ts +3 -0
- package/build/module/src/text/index.js +4 -0
- package/build/module/src/text/index.js.map +1 -0
- package/build/module/src/text/jsonschema.d.ts +2 -0
- package/build/module/src/text/jsonschema.js +96 -0
- package/build/module/src/text/jsonschema.js.map +1 -0
- package/build/module/src/text/memory.d.ts +21 -0
- package/build/module/src/text/memory.js +73 -0
- package/build/module/src/text/memory.js.map +1 -0
- package/build/module/src/text/types.d.ts +57 -0
- package/build/module/src/text/types.js +2 -0
- package/build/module/src/text/types.js.map +1 -0
- package/build/module/src/trace/index.d.ts +171 -0
- package/build/module/src/trace/index.js +67 -0
- package/build/module/src/trace/index.js.map +1 -0
- package/build/module/src/types/index.d.ts +81 -0
- package/build/module/src/types/index.js +2 -0
- package/build/module/src/types/index.js.map +1 -0
- package/build/module/src/util/apicall.d.ts +21 -0
- package/build/module/src/util/apicall.js +137 -0
- package/build/module/src/util/apicall.js.map +1 -0
- package/build/module/src/util/log.d.ts +14 -0
- package/build/module/src/util/log.js +30 -0
- package/build/module/src/util/log.js.map +1 -0
- package/build/module/src/util/other.d.ts +1 -0
- package/build/module/src/util/other.js +4 -0
- package/build/module/src/util/other.js.map +1 -0
- package/build/module/src/util/stream.d.ts +10 -0
- package/build/module/src/util/stream.js +28 -0
- package/build/module/src/util/stream.js.map +1 -0
- package/build/module/src/util/transform.d.ts +8 -0
- package/build/module/src/util/transform.js +57 -0
- package/build/module/src/util/transform.js.map +1 -0
- package/package.json +111 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type FunctionJSONSchema } from '../text/functions.js';
|
|
2
|
+
export interface Field {
|
|
3
|
+
name: string;
|
|
4
|
+
title?: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
type?: {
|
|
7
|
+
name: 'string' | 'number' | 'boolean' | 'json';
|
|
8
|
+
isArray: boolean;
|
|
9
|
+
};
|
|
10
|
+
isOptional?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export type IField = Omit<Field, 'title'> & {
|
|
13
|
+
title: string;
|
|
14
|
+
};
|
|
15
|
+
export declare class Signature {
|
|
16
|
+
private description?;
|
|
17
|
+
private inputFields;
|
|
18
|
+
private outputFields;
|
|
19
|
+
private sigHash;
|
|
20
|
+
private sigString;
|
|
21
|
+
constructor(signature: Readonly<Signature | string>);
|
|
22
|
+
private parseParsedField;
|
|
23
|
+
private parseField;
|
|
24
|
+
setDescription: (desc: string) => void;
|
|
25
|
+
addInputField: (field: Readonly<Field>) => void;
|
|
26
|
+
addOutputField: (field: Readonly<Field>) => void;
|
|
27
|
+
setInputFields: (fields: readonly Field[]) => void;
|
|
28
|
+
setOutputFields: (fields: readonly Field[]) => void;
|
|
29
|
+
getInputFields: () => Readonly<IField[]>;
|
|
30
|
+
getOutputFields: () => Readonly<IField[]>;
|
|
31
|
+
getDescription: () => string | undefined;
|
|
32
|
+
private toTitle;
|
|
33
|
+
toJSONSchema: () => FunctionJSONSchema;
|
|
34
|
+
private updateHash;
|
|
35
|
+
hash: () => string;
|
|
36
|
+
toString: () => string;
|
|
37
|
+
}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { createHash } from 'crypto';
|
|
2
|
+
import {} from '../text/functions.js';
|
|
3
|
+
import { parse } from './parser.js';
|
|
4
|
+
export class Signature {
|
|
5
|
+
description;
|
|
6
|
+
inputFields;
|
|
7
|
+
outputFields;
|
|
8
|
+
sigHash;
|
|
9
|
+
sigString;
|
|
10
|
+
constructor(signature) {
|
|
11
|
+
if (typeof signature === 'string') {
|
|
12
|
+
let sig;
|
|
13
|
+
try {
|
|
14
|
+
sig = parse(signature);
|
|
15
|
+
}
|
|
16
|
+
catch (e) {
|
|
17
|
+
throw new Error('invalid signature string: ' + signature);
|
|
18
|
+
}
|
|
19
|
+
this.description = sig.desc;
|
|
20
|
+
this.inputFields = sig.inputs.map((v) => this.parseParsedField(v));
|
|
21
|
+
this.outputFields = sig.outputs.map((v) => this.parseParsedField(v));
|
|
22
|
+
[this.sigHash, this.sigString] = this.updateHash();
|
|
23
|
+
}
|
|
24
|
+
else if (signature instanceof Signature) {
|
|
25
|
+
this.description = signature.getDescription();
|
|
26
|
+
this.inputFields = structuredClone(signature.getInputFields());
|
|
27
|
+
this.outputFields = structuredClone(signature.getOutputFields());
|
|
28
|
+
this.sigHash = signature.hash();
|
|
29
|
+
this.sigString = signature.toString();
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
throw new Error('invalid signature argument: ' + signature);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
parseParsedField = (field) => {
|
|
36
|
+
if (!field.name || field.name.length === 0) {
|
|
37
|
+
throw new Error('Field name is required.');
|
|
38
|
+
}
|
|
39
|
+
const title = this.toTitle(field.name);
|
|
40
|
+
return {
|
|
41
|
+
name: field.name,
|
|
42
|
+
title,
|
|
43
|
+
description: field.desc,
|
|
44
|
+
isOptional: field.isOptional,
|
|
45
|
+
type: field.type ?? { name: 'string', isArray: false }
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
parseField = (field) => {
|
|
49
|
+
if (!field.name || field.name.length === 0) {
|
|
50
|
+
throw new Error('Field name is required.');
|
|
51
|
+
}
|
|
52
|
+
const title = !field.title || field.title.length === 0
|
|
53
|
+
? this.toTitle(field.name)
|
|
54
|
+
: field.title;
|
|
55
|
+
if (field.type && (!field.type.name || field.type.name.length === 0)) {
|
|
56
|
+
throw new Error('Field type name is required: ' + field.name);
|
|
57
|
+
}
|
|
58
|
+
return { ...field, title };
|
|
59
|
+
};
|
|
60
|
+
setDescription = (desc) => {
|
|
61
|
+
this.description = desc;
|
|
62
|
+
this.updateHash();
|
|
63
|
+
};
|
|
64
|
+
addInputField = (field) => {
|
|
65
|
+
this.inputFields.push(this.parseField(field));
|
|
66
|
+
this.updateHash();
|
|
67
|
+
};
|
|
68
|
+
addOutputField = (field) => {
|
|
69
|
+
this.outputFields.push(this.parseField(field));
|
|
70
|
+
this.updateHash();
|
|
71
|
+
};
|
|
72
|
+
setInputFields = (fields) => {
|
|
73
|
+
this.inputFields = fields.map((v) => this.parseField(v));
|
|
74
|
+
this.updateHash();
|
|
75
|
+
};
|
|
76
|
+
setOutputFields = (fields) => {
|
|
77
|
+
this.outputFields = fields.map((v) => this.parseField(v));
|
|
78
|
+
this.updateHash();
|
|
79
|
+
};
|
|
80
|
+
getInputFields = () => this.inputFields;
|
|
81
|
+
getOutputFields = () => this.outputFields;
|
|
82
|
+
getDescription = () => this.description;
|
|
83
|
+
toTitle = (name) => {
|
|
84
|
+
let result = name.replaceAll('_', ' ');
|
|
85
|
+
result = result.replace(/([A-Z]|[0-9]+)/g, ' $1').trim();
|
|
86
|
+
return result.charAt(0).toUpperCase() + result.slice(1);
|
|
87
|
+
};
|
|
88
|
+
toJSONSchema = () => {
|
|
89
|
+
const properties = {};
|
|
90
|
+
const required = [];
|
|
91
|
+
for (const f of this.inputFields) {
|
|
92
|
+
const type = f.type ? f.type.name : 'string';
|
|
93
|
+
if (f.type?.isArray) {
|
|
94
|
+
properties[f.name] = {
|
|
95
|
+
title: f.title,
|
|
96
|
+
description: f.description,
|
|
97
|
+
type: 'array',
|
|
98
|
+
items: {
|
|
99
|
+
type: type,
|
|
100
|
+
description: f.description
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
properties[f.name] = {
|
|
106
|
+
description: f.description,
|
|
107
|
+
type: type
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
if (!f.isOptional) {
|
|
111
|
+
required.push(f.name);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
const schema = {
|
|
115
|
+
type: 'object',
|
|
116
|
+
properties: properties,
|
|
117
|
+
required: required
|
|
118
|
+
};
|
|
119
|
+
return schema;
|
|
120
|
+
};
|
|
121
|
+
updateHash = () => {
|
|
122
|
+
this.sigHash = createHash('sha256')
|
|
123
|
+
.update(this.description ?? '')
|
|
124
|
+
.update(JSON.stringify(this.inputFields))
|
|
125
|
+
.update(JSON.stringify(this.outputFields))
|
|
126
|
+
.digest('hex');
|
|
127
|
+
this.sigString = renderSignature(this.description, this.inputFields, this.outputFields);
|
|
128
|
+
return [this.sigHash, this.sigString];
|
|
129
|
+
};
|
|
130
|
+
hash = () => this.sigHash;
|
|
131
|
+
toString = () => this.sigString;
|
|
132
|
+
}
|
|
133
|
+
function renderField(field) {
|
|
134
|
+
let result = field.name;
|
|
135
|
+
if (field.isOptional) {
|
|
136
|
+
result += '?';
|
|
137
|
+
}
|
|
138
|
+
if (field.type) {
|
|
139
|
+
result += ':' + field.type.name;
|
|
140
|
+
if (field.type.isArray) {
|
|
141
|
+
result += '[]';
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
// Check if description exists and append it.
|
|
145
|
+
if (field.description) {
|
|
146
|
+
result += ` "${field.description}"`;
|
|
147
|
+
}
|
|
148
|
+
return result;
|
|
149
|
+
}
|
|
150
|
+
function renderSignature(description, inputFields, outputFields) {
|
|
151
|
+
// Prepare the description part of the signature.
|
|
152
|
+
const descriptionPart = description ? `"${description}"` : '';
|
|
153
|
+
// Render each input field into a comma-separated list.
|
|
154
|
+
const inputFieldsRendered = inputFields.map(renderField).join(', ');
|
|
155
|
+
// Render each output field into a comma-separated list.
|
|
156
|
+
const outputFieldsRendered = outputFields.map(renderField).join(', ');
|
|
157
|
+
// Combine all parts into the final signature.
|
|
158
|
+
return `${descriptionPart} ${inputFieldsRendered} -> ${outputFieldsRendered}`;
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=sig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sig.js","sourceRoot":"","sources":["../../../../src/dsp/sig.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import test from 'ava';
|
|
2
|
+
import { parse } from './parser.js';
|
|
3
|
+
test('new Signature() builds a signature', (t) => {
|
|
4
|
+
const sig = parse(`"hello world" context?:string "some context", query:string 'some query' -> answers:string[]`);
|
|
5
|
+
t.is(sig.desc, 'hello world');
|
|
6
|
+
t.deepEqual(sig.inputs[0], {
|
|
7
|
+
desc: 'some context',
|
|
8
|
+
name: 'context',
|
|
9
|
+
type: { name: 'string', isArray: false },
|
|
10
|
+
isOptional: true
|
|
11
|
+
});
|
|
12
|
+
t.deepEqual(sig.inputs[1], {
|
|
13
|
+
desc: 'some query',
|
|
14
|
+
name: 'query',
|
|
15
|
+
type: { name: 'string', isArray: false },
|
|
16
|
+
isOptional: undefined
|
|
17
|
+
});
|
|
18
|
+
t.deepEqual(sig.outputs[0], {
|
|
19
|
+
desc: undefined,
|
|
20
|
+
name: 'answers',
|
|
21
|
+
type: { name: 'string', isArray: true },
|
|
22
|
+
isOptional: undefined
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=sig.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sig.test.js","sourceRoot":"","sources":["../../../../src/dsp/sig.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AAEvB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,IAAI,CAAC,oCAAoC,EAAE,CAAC,CAAC,EAAE,EAAE;IAC/C,MAAM,GAAG,GAAG,KAAK,CACf,6FAA6F,CAC9F,CAAC;IACF,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAE9B,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QACzB,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;QACxC,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IAEH,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QACzB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;QACxC,UAAU,EAAE,SAAS;KACtB,CAAC,CAAC;IAEH,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QAC1B,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE;QACvC,UAAU,EAAE,SAAS;KACtB,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const stopwords: Set<string>;
|