orkajs 1.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/CHANGELOG.md +120 -0
- package/LICENSE +21 -0
- package/README.md +83 -0
- package/dist/adapters/anthropic.cjs +12 -0
- package/dist/adapters/anthropic.cjs.map +1 -0
- package/dist/adapters/anthropic.d.cts +22 -0
- package/dist/adapters/anthropic.d.ts +22 -0
- package/dist/adapters/anthropic.js +3 -0
- package/dist/adapters/anthropic.js.map +1 -0
- package/dist/adapters/chroma.cjs +12 -0
- package/dist/adapters/chroma.cjs.map +1 -0
- package/dist/adapters/chroma.d.cts +21 -0
- package/dist/adapters/chroma.d.ts +21 -0
- package/dist/adapters/chroma.js +3 -0
- package/dist/adapters/chroma.js.map +1 -0
- package/dist/adapters/memory.cjs +12 -0
- package/dist/adapters/memory.cjs.map +1 -0
- package/dist/adapters/memory.d.cts +21 -0
- package/dist/adapters/memory.d.ts +21 -0
- package/dist/adapters/memory.js +3 -0
- package/dist/adapters/memory.js.map +1 -0
- package/dist/adapters/mistral.cjs +12 -0
- package/dist/adapters/mistral.cjs.map +1 -0
- package/dist/adapters/mistral.d.cts +23 -0
- package/dist/adapters/mistral.d.ts +23 -0
- package/dist/adapters/mistral.js +3 -0
- package/dist/adapters/mistral.js.map +1 -0
- package/dist/adapters/ollama.cjs +12 -0
- package/dist/adapters/ollama.cjs.map +1 -0
- package/dist/adapters/ollama.d.cts +20 -0
- package/dist/adapters/ollama.d.ts +20 -0
- package/dist/adapters/ollama.js +3 -0
- package/dist/adapters/ollama.js.map +1 -0
- package/dist/adapters/openai.cjs +12 -0
- package/dist/adapters/openai.cjs.map +1 -0
- package/dist/adapters/openai.d.cts +24 -0
- package/dist/adapters/openai.d.ts +24 -0
- package/dist/adapters/openai.js +3 -0
- package/dist/adapters/openai.js.map +1 -0
- package/dist/adapters/pinecone.cjs +12 -0
- package/dist/adapters/pinecone.cjs.map +1 -0
- package/dist/adapters/pinecone.d.cts +20 -0
- package/dist/adapters/pinecone.d.ts +20 -0
- package/dist/adapters/pinecone.js +3 -0
- package/dist/adapters/pinecone.js.map +1 -0
- package/dist/adapters/qdrant.cjs +12 -0
- package/dist/adapters/qdrant.cjs.map +1 -0
- package/dist/adapters/qdrant.d.cts +20 -0
- package/dist/adapters/qdrant.d.ts +20 -0
- package/dist/adapters/qdrant.js +3 -0
- package/dist/adapters/qdrant.js.map +1 -0
- package/dist/agent/index.cjs +47 -0
- package/dist/agent/index.cjs.map +1 -0
- package/dist/agent/index.d.cts +12 -0
- package/dist/agent/index.d.ts +12 -0
- package/dist/agent/index.js +10 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/openai-functions.cjs +13 -0
- package/dist/agent/openai-functions.cjs.map +1 -0
- package/dist/agent/openai-functions.d.cts +17 -0
- package/dist/agent/openai-functions.d.ts +17 -0
- package/dist/agent/openai-functions.js +4 -0
- package/dist/agent/openai-functions.js.map +1 -0
- package/dist/agent/plan-and-execute.cjs +12 -0
- package/dist/agent/plan-and-execute.cjs.map +1 -0
- package/dist/agent/plan-and-execute.d.cts +20 -0
- package/dist/agent/plan-and-execute.d.ts +20 -0
- package/dist/agent/plan-and-execute.js +3 -0
- package/dist/agent/plan-and-execute.js.map +1 -0
- package/dist/agent/react.cjs +13 -0
- package/dist/agent/react.cjs.map +1 -0
- package/dist/agent/react.d.cts +16 -0
- package/dist/agent/react.d.ts +16 -0
- package/dist/agent/react.js +4 -0
- package/dist/agent/react.js.map +1 -0
- package/dist/agent/structured-chat.cjs +13 -0
- package/dist/agent/structured-chat.cjs.map +1 -0
- package/dist/agent/structured-chat.d.cts +16 -0
- package/dist/agent/structured-chat.d.ts +16 -0
- package/dist/agent/structured-chat.js +4 -0
- package/dist/agent/structured-chat.js.map +1 -0
- package/dist/agent/toolkits/csv.cjs +12 -0
- package/dist/agent/toolkits/csv.cjs.map +1 -0
- package/dist/agent/toolkits/csv.d.cts +22 -0
- package/dist/agent/toolkits/csv.d.ts +22 -0
- package/dist/agent/toolkits/csv.js +3 -0
- package/dist/agent/toolkits/csv.js.map +1 -0
- package/dist/agent/toolkits/sql.cjs +12 -0
- package/dist/agent/toolkits/sql.cjs.map +1 -0
- package/dist/agent/toolkits/sql.d.cts +23 -0
- package/dist/agent/toolkits/sql.d.ts +23 -0
- package/dist/agent/toolkits/sql.js +3 -0
- package/dist/agent/toolkits/sql.js.map +1 -0
- package/dist/agent-CEhm_T9r.d.cts +21 -0
- package/dist/agent-w0NX6-Li.d.ts +21 -0
- package/dist/base-agent-BlAOno3g.d.cts +52 -0
- package/dist/base-agent-T9yoshsJ.d.ts +52 -0
- package/dist/cache/cached-embeddings.cjs +12 -0
- package/dist/cache/cached-embeddings.cjs.map +1 -0
- package/dist/cache/cached-embeddings.d.cts +15 -0
- package/dist/cache/cached-embeddings.d.ts +15 -0
- package/dist/cache/cached-embeddings.js +3 -0
- package/dist/cache/cached-embeddings.js.map +1 -0
- package/dist/cache/cached-llm.cjs +12 -0
- package/dist/cache/cached-llm.cjs.map +1 -0
- package/dist/cache/cached-llm.d.cts +18 -0
- package/dist/cache/cached-llm.d.ts +18 -0
- package/dist/cache/cached-llm.js +3 -0
- package/dist/cache/cached-llm.js.map +1 -0
- package/dist/cache/index.cjs +27 -0
- package/dist/cache/index.cjs.map +1 -0
- package/dist/cache/index.d.cts +6 -0
- package/dist/cache/index.d.ts +6 -0
- package/dist/cache/index.js +6 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cache/memory-cache.cjs +12 -0
- package/dist/cache/memory-cache.cjs.map +1 -0
- package/dist/cache/memory-cache.d.cts +21 -0
- package/dist/cache/memory-cache.d.ts +21 -0
- package/dist/cache/memory-cache.js +3 -0
- package/dist/cache/memory-cache.js.map +1 -0
- package/dist/cache/redis-cache.cjs +12 -0
- package/dist/cache/redis-cache.cjs.map +1 -0
- package/dist/cache/redis-cache.d.cts +24 -0
- package/dist/cache/redis-cache.d.ts +24 -0
- package/dist/cache/redis-cache.js +3 -0
- package/dist/cache/redis-cache.js.map +1 -0
- package/dist/chains/conversational-retrieval.cjs +12 -0
- package/dist/chains/conversational-retrieval.cjs.map +1 -0
- package/dist/chains/conversational-retrieval.d.cts +21 -0
- package/dist/chains/conversational-retrieval.d.ts +21 -0
- package/dist/chains/conversational-retrieval.js +3 -0
- package/dist/chains/conversational-retrieval.js.map +1 -0
- package/dist/chains/index.cjs +27 -0
- package/dist/chains/index.cjs.map +1 -0
- package/dist/chains/index.d.cts +7 -0
- package/dist/chains/index.d.ts +7 -0
- package/dist/chains/index.js +6 -0
- package/dist/chains/index.js.map +1 -0
- package/dist/chains/qa.cjs +12 -0
- package/dist/chains/qa.cjs.map +1 -0
- package/dist/chains/qa.d.cts +20 -0
- package/dist/chains/qa.d.ts +20 -0
- package/dist/chains/qa.js +3 -0
- package/dist/chains/qa.js.map +1 -0
- package/dist/chains/retrieval-qa.cjs +12 -0
- package/dist/chains/retrieval-qa.cjs.map +1 -0
- package/dist/chains/retrieval-qa.d.cts +16 -0
- package/dist/chains/retrieval-qa.d.ts +16 -0
- package/dist/chains/retrieval-qa.js +3 -0
- package/dist/chains/retrieval-qa.js.map +1 -0
- package/dist/chains/summarization.cjs +12 -0
- package/dist/chains/summarization.cjs.map +1 -0
- package/dist/chains/summarization.d.cts +20 -0
- package/dist/chains/summarization.d.ts +20 -0
- package/dist/chains/summarization.js +3 -0
- package/dist/chains/summarization.js.map +1 -0
- package/dist/chunk-2UTLSB2D.cjs +84 -0
- package/dist/chunk-2UTLSB2D.cjs.map +1 -0
- package/dist/chunk-2UTXL4UI.cjs +134 -0
- package/dist/chunk-2UTXL4UI.cjs.map +1 -0
- package/dist/chunk-37ZKQRCK.js +184 -0
- package/dist/chunk-37ZKQRCK.js.map +1 -0
- package/dist/chunk-3A7BCCAI.cjs +129 -0
- package/dist/chunk-3A7BCCAI.cjs.map +1 -0
- package/dist/chunk-3FCEQZKB.cjs +76 -0
- package/dist/chunk-3FCEQZKB.cjs.map +1 -0
- package/dist/chunk-3NN43ENJ.cjs +65 -0
- package/dist/chunk-3NN43ENJ.cjs.map +1 -0
- package/dist/chunk-3XELDGJA.js +137 -0
- package/dist/chunk-3XELDGJA.js.map +1 -0
- package/dist/chunk-4CLTJN6H.js +90 -0
- package/dist/chunk-4CLTJN6H.js.map +1 -0
- package/dist/chunk-4EBSDFBS.js +65 -0
- package/dist/chunk-4EBSDFBS.js.map +1 -0
- package/dist/chunk-4IT37CSA.js +54 -0
- package/dist/chunk-4IT37CSA.js.map +1 -0
- package/dist/chunk-4NMX7YMQ.cjs +185 -0
- package/dist/chunk-4NMX7YMQ.cjs.map +1 -0
- package/dist/chunk-4SX4Q35P.js +106 -0
- package/dist/chunk-4SX4Q35P.js.map +1 -0
- package/dist/chunk-4VMVFWFG.js +158 -0
- package/dist/chunk-4VMVFWFG.js.map +1 -0
- package/dist/chunk-5DZJHA4Q.cjs +139 -0
- package/dist/chunk-5DZJHA4Q.cjs.map +1 -0
- package/dist/chunk-5ETYLWDI.js +96 -0
- package/dist/chunk-5ETYLWDI.js.map +1 -0
- package/dist/chunk-5GUZ2DXX.cjs +77 -0
- package/dist/chunk-5GUZ2DXX.cjs.map +1 -0
- package/dist/chunk-5HKDN5OM.js +114 -0
- package/dist/chunk-5HKDN5OM.js.map +1 -0
- package/dist/chunk-5KZT57M6.js +61 -0
- package/dist/chunk-5KZT57M6.js.map +1 -0
- package/dist/chunk-5PY2DAI6.cjs +199 -0
- package/dist/chunk-5PY2DAI6.cjs.map +1 -0
- package/dist/chunk-63MDLTE6.cjs +53 -0
- package/dist/chunk-63MDLTE6.cjs.map +1 -0
- package/dist/chunk-6N2TFYDF.cjs +143 -0
- package/dist/chunk-6N2TFYDF.cjs.map +1 -0
- package/dist/chunk-6OFW3LCS.js +124 -0
- package/dist/chunk-6OFW3LCS.js.map +1 -0
- package/dist/chunk-7ADDQ53B.js +88 -0
- package/dist/chunk-7ADDQ53B.js.map +1 -0
- package/dist/chunk-7CS4NTB4.cjs +118 -0
- package/dist/chunk-7CS4NTB4.cjs.map +1 -0
- package/dist/chunk-7MCLKMJP.cjs +57 -0
- package/dist/chunk-7MCLKMJP.cjs.map +1 -0
- package/dist/chunk-7NVGLURS.js +141 -0
- package/dist/chunk-7NVGLURS.js.map +1 -0
- package/dist/chunk-AD2GLQK7.js +34 -0
- package/dist/chunk-AD2GLQK7.js.map +1 -0
- package/dist/chunk-BBUZ6P5S.cjs +16 -0
- package/dist/chunk-BBUZ6P5S.cjs.map +1 -0
- package/dist/chunk-BDIK4SAE.cjs +65 -0
- package/dist/chunk-BDIK4SAE.cjs.map +1 -0
- package/dist/chunk-BFEKP6EW.js +104 -0
- package/dist/chunk-BFEKP6EW.js.map +1 -0
- package/dist/chunk-BSMRVGTA.js +110 -0
- package/dist/chunk-BSMRVGTA.js.map +1 -0
- package/dist/chunk-BYWWYIMI.js +132 -0
- package/dist/chunk-BYWWYIMI.js.map +1 -0
- package/dist/chunk-CFJ5UTGH.js +147 -0
- package/dist/chunk-CFJ5UTGH.js.map +1 -0
- package/dist/chunk-DDLPO4YY.cjs +30 -0
- package/dist/chunk-DDLPO4YY.cjs.map +1 -0
- package/dist/chunk-DI2UCZBJ.js +195 -0
- package/dist/chunk-DI2UCZBJ.js.map +1 -0
- package/dist/chunk-DQKAPJQH.cjs +57 -0
- package/dist/chunk-DQKAPJQH.cjs.map +1 -0
- package/dist/chunk-DSOJ45F4.js +53 -0
- package/dist/chunk-DSOJ45F4.js.map +1 -0
- package/dist/chunk-DUN3CUY5.cjs +105 -0
- package/dist/chunk-DUN3CUY5.cjs.map +1 -0
- package/dist/chunk-DWFNM3KU.js +204 -0
- package/dist/chunk-DWFNM3KU.js.map +1 -0
- package/dist/chunk-DXJ5DNZP.cjs +58 -0
- package/dist/chunk-DXJ5DNZP.cjs.map +1 -0
- package/dist/chunk-E4VE4C7Q.js +63 -0
- package/dist/chunk-E4VE4C7Q.js.map +1 -0
- package/dist/chunk-EAMPIWJ6.js +122 -0
- package/dist/chunk-EAMPIWJ6.js.map +1 -0
- package/dist/chunk-EDDKTQDL.js +56 -0
- package/dist/chunk-EDDKTQDL.js.map +1 -0
- package/dist/chunk-EEZO2BKZ.cjs +29 -0
- package/dist/chunk-EEZO2BKZ.cjs.map +1 -0
- package/dist/chunk-EHRXFND7.js +146 -0
- package/dist/chunk-EHRXFND7.js.map +1 -0
- package/dist/chunk-EIOBOUO4.js +33 -0
- package/dist/chunk-EIOBOUO4.js.map +1 -0
- package/dist/chunk-ELOJDXHJ.js +210 -0
- package/dist/chunk-ELOJDXHJ.js.map +1 -0
- package/dist/chunk-EMZEOYAV.js +93 -0
- package/dist/chunk-EMZEOYAV.js.map +1 -0
- package/dist/chunk-EP2AK6AD.cjs +61 -0
- package/dist/chunk-EP2AK6AD.cjs.map +1 -0
- package/dist/chunk-ETDWZZ63.cjs +72 -0
- package/dist/chunk-ETDWZZ63.cjs.map +1 -0
- package/dist/chunk-EUBPWXYT.cjs +35 -0
- package/dist/chunk-EUBPWXYT.cjs.map +1 -0
- package/dist/chunk-EZPMQMSN.js +67 -0
- package/dist/chunk-EZPMQMSN.js.map +1 -0
- package/dist/chunk-F2MR5MS7.cjs +63 -0
- package/dist/chunk-F2MR5MS7.cjs.map +1 -0
- package/dist/chunk-FLXIGY5M.cjs +91 -0
- package/dist/chunk-FLXIGY5M.cjs.map +1 -0
- package/dist/chunk-G5C7KNJX.cjs +108 -0
- package/dist/chunk-G5C7KNJX.cjs.map +1 -0
- package/dist/chunk-GBHG2LY2.js +139 -0
- package/dist/chunk-GBHG2LY2.js.map +1 -0
- package/dist/chunk-GDCFS2XB.js +75 -0
- package/dist/chunk-GDCFS2XB.js.map +1 -0
- package/dist/chunk-GGEFJM2I.cjs +75 -0
- package/dist/chunk-GGEFJM2I.cjs.map +1 -0
- package/dist/chunk-GQ362USF.js +103 -0
- package/dist/chunk-GQ362USF.js.map +1 -0
- package/dist/chunk-GR7SLZJJ.cjs +59 -0
- package/dist/chunk-GR7SLZJJ.cjs.map +1 -0
- package/dist/chunk-GZQAPKRD.js +105 -0
- package/dist/chunk-GZQAPKRD.js.map +1 -0
- package/dist/chunk-H7RWKHQR.js +70 -0
- package/dist/chunk-H7RWKHQR.js.map +1 -0
- package/dist/chunk-HDOI5I46.cjs +107 -0
- package/dist/chunk-HDOI5I46.cjs.map +1 -0
- package/dist/chunk-HK6VWJ6T.js +109 -0
- package/dist/chunk-HK6VWJ6T.js.map +1 -0
- package/dist/chunk-HW4O3SWN.cjs +124 -0
- package/dist/chunk-HW4O3SWN.cjs.map +1 -0
- package/dist/chunk-ICGZILUW.js +24 -0
- package/dist/chunk-ICGZILUW.js.map +1 -0
- package/dist/chunk-IFWFYVCZ.js +63 -0
- package/dist/chunk-IFWFYVCZ.js.map +1 -0
- package/dist/chunk-IKNCIY5E.js +70 -0
- package/dist/chunk-IKNCIY5E.js.map +1 -0
- package/dist/chunk-JCUAZYXS.cjs +111 -0
- package/dist/chunk-JCUAZYXS.cjs.map +1 -0
- package/dist/chunk-JOLXQZLP.cjs +64 -0
- package/dist/chunk-JOLXQZLP.cjs.map +1 -0
- package/dist/chunk-JRNGDZZB.js +117 -0
- package/dist/chunk-JRNGDZZB.js.map +1 -0
- package/dist/chunk-K54JGTPQ.js +86 -0
- package/dist/chunk-K54JGTPQ.js.map +1 -0
- package/dist/chunk-K56H7CX7.js +199 -0
- package/dist/chunk-K56H7CX7.js.map +1 -0
- package/dist/chunk-KEUY45KU.cjs +225 -0
- package/dist/chunk-KEUY45KU.cjs.map +1 -0
- package/dist/chunk-KFPQL35S.cjs +211 -0
- package/dist/chunk-KFPQL35S.cjs.map +1 -0
- package/dist/chunk-KJCF6HNO.js +83 -0
- package/dist/chunk-KJCF6HNO.js.map +1 -0
- package/dist/chunk-KXVNH7ZX.cjs +149 -0
- package/dist/chunk-KXVNH7ZX.cjs.map +1 -0
- package/dist/chunk-L2VBPZTO.js +58 -0
- package/dist/chunk-L2VBPZTO.js.map +1 -0
- package/dist/chunk-LBU7ZGOB.cjs +160 -0
- package/dist/chunk-LBU7ZGOB.cjs.map +1 -0
- package/dist/chunk-LDF6ZMRA.js +72 -0
- package/dist/chunk-LDF6ZMRA.js.map +1 -0
- package/dist/chunk-LGJVBZ7V.js +59 -0
- package/dist/chunk-LGJVBZ7V.js.map +1 -0
- package/dist/chunk-M7MVFPKB.cjs +201 -0
- package/dist/chunk-M7MVFPKB.cjs.map +1 -0
- package/dist/chunk-MEX4HRX3.js +183 -0
- package/dist/chunk-MEX4HRX3.js.map +1 -0
- package/dist/chunk-MNBS3X7K.js +33 -0
- package/dist/chunk-MNBS3X7K.js.map +1 -0
- package/dist/chunk-MO6VDGU4.js +55 -0
- package/dist/chunk-MO6VDGU4.js.map +1 -0
- package/dist/chunk-MTKBI5ZE.js +130 -0
- package/dist/chunk-MTKBI5ZE.js.map +1 -0
- package/dist/chunk-MZOKIILC.cjs +98 -0
- package/dist/chunk-MZOKIILC.cjs.map +1 -0
- package/dist/chunk-N5YD7SQI.cjs +60 -0
- package/dist/chunk-N5YD7SQI.cjs.map +1 -0
- package/dist/chunk-NDVI6RHN.js +44 -0
- package/dist/chunk-NDVI6RHN.js.map +1 -0
- package/dist/chunk-NGNRG7HH.js +74 -0
- package/dist/chunk-NGNRG7HH.js.map +1 -0
- package/dist/chunk-NWRGL5BX.cjs +105 -0
- package/dist/chunk-NWRGL5BX.cjs.map +1 -0
- package/dist/chunk-NWWV35EG.cjs +74 -0
- package/dist/chunk-NWWV35EG.cjs.map +1 -0
- package/dist/chunk-NXJHLGFP.js +103 -0
- package/dist/chunk-NXJHLGFP.js.map +1 -0
- package/dist/chunk-O6HAPSSM.cjs +182 -0
- package/dist/chunk-O6HAPSSM.cjs.map +1 -0
- package/dist/chunk-OBO2U2ZZ.js +180 -0
- package/dist/chunk-OBO2U2ZZ.js.map +1 -0
- package/dist/chunk-P5TZEGVM.js +51 -0
- package/dist/chunk-P5TZEGVM.js.map +1 -0
- package/dist/chunk-PACJCRH6.cjs +36 -0
- package/dist/chunk-PACJCRH6.cjs.map +1 -0
- package/dist/chunk-Q4UAHOZ4.cjs +94 -0
- package/dist/chunk-Q4UAHOZ4.cjs.map +1 -0
- package/dist/chunk-QBAICRFT.cjs +69 -0
- package/dist/chunk-QBAICRFT.cjs.map +1 -0
- package/dist/chunk-QKPJHKLW.cjs +106 -0
- package/dist/chunk-QKPJHKLW.cjs.map +1 -0
- package/dist/chunk-QPL7SRL7.js +55 -0
- package/dist/chunk-QPL7SRL7.js.map +1 -0
- package/dist/chunk-QQAP3IF5.js +122 -0
- package/dist/chunk-QQAP3IF5.js.map +1 -0
- package/dist/chunk-RDA76ELY.cjs +116 -0
- package/dist/chunk-RDA76ELY.cjs.map +1 -0
- package/dist/chunk-RUBOHBL2.cjs +55 -0
- package/dist/chunk-RUBOHBL2.cjs.map +1 -0
- package/dist/chunk-RY7UFBIL.js +89 -0
- package/dist/chunk-RY7UFBIL.js.map +1 -0
- package/dist/chunk-S5BTSY2T.cjs +132 -0
- package/dist/chunk-S5BTSY2T.cjs.map +1 -0
- package/dist/chunk-SNXMGG75.cjs +124 -0
- package/dist/chunk-SNXMGG75.cjs.map +1 -0
- package/dist/chunk-STW4N4DQ.cjs +73 -0
- package/dist/chunk-STW4N4DQ.cjs.map +1 -0
- package/dist/chunk-T3WBONBO.js +14 -0
- package/dist/chunk-T3WBONBO.js.map +1 -0
- package/dist/chunk-TKZY4TPA.js +77 -0
- package/dist/chunk-TKZY4TPA.js.map +1 -0
- package/dist/chunk-TLJKOZ4E.cjs +127 -0
- package/dist/chunk-TLJKOZ4E.cjs.map +1 -0
- package/dist/chunk-TMWVWAPX.js +83 -0
- package/dist/chunk-TMWVWAPX.js.map +1 -0
- package/dist/chunk-TR3GHYQX.js +129 -0
- package/dist/chunk-TR3GHYQX.js.map +1 -0
- package/dist/chunk-UD4MKZJV.cjs +95 -0
- package/dist/chunk-UD4MKZJV.cjs.map +1 -0
- package/dist/chunk-UFPB3XV6.cjs +46 -0
- package/dist/chunk-UFPB3XV6.cjs.map +1 -0
- package/dist/chunk-UIYOWY5S.js +222 -0
- package/dist/chunk-UIYOWY5S.js.map +1 -0
- package/dist/chunk-UJLSWZZJ.js +127 -0
- package/dist/chunk-UJLSWZZJ.js.map +1 -0
- package/dist/chunk-UM2SW3BM.js +73 -0
- package/dist/chunk-UM2SW3BM.js.map +1 -0
- package/dist/chunk-UVMJ5QSD.js +125 -0
- package/dist/chunk-UVMJ5QSD.js.map +1 -0
- package/dist/chunk-VN37YLPA.cjs +112 -0
- package/dist/chunk-VN37YLPA.cjs.map +1 -0
- package/dist/chunk-WBY26NUR.js +57 -0
- package/dist/chunk-WBY26NUR.js.map +1 -0
- package/dist/chunk-WCA6OGSB.cjs +133 -0
- package/dist/chunk-WCA6OGSB.cjs.map +1 -0
- package/dist/chunk-WJKJ3FQH.cjs +26 -0
- package/dist/chunk-WJKJ3FQH.cjs.map +1 -0
- package/dist/chunk-WS6ZI7WT.cjs +119 -0
- package/dist/chunk-WS6ZI7WT.cjs.map +1 -0
- package/dist/chunk-WU7PHQZ2.cjs +90 -0
- package/dist/chunk-WU7PHQZ2.cjs.map +1 -0
- package/dist/chunk-XAKPLGNG.cjs +197 -0
- package/dist/chunk-XAKPLGNG.cjs.map +1 -0
- package/dist/chunk-XD4CTIN2.cjs +131 -0
- package/dist/chunk-XD4CTIN2.cjs.map +1 -0
- package/dist/chunk-XENO7X2J.js +197 -0
- package/dist/chunk-XENO7X2J.js.map +1 -0
- package/dist/chunk-XJBJFFY4.js +79 -0
- package/dist/chunk-XJBJFFY4.js.map +1 -0
- package/dist/chunk-XN4NV5XR.cjs +79 -0
- package/dist/chunk-XN4NV5XR.cjs.map +1 -0
- package/dist/chunk-XPMSMFRX.cjs +74 -0
- package/dist/chunk-XPMSMFRX.cjs.map +1 -0
- package/dist/chunk-XRVLGLR3.cjs +148 -0
- package/dist/chunk-XRVLGLR3.cjs.map +1 -0
- package/dist/chunk-XZEBNX2T.cjs +88 -0
- package/dist/chunk-XZEBNX2T.cjs.map +1 -0
- package/dist/chunk-XZHU4DL6.js +28 -0
- package/dist/chunk-XZHU4DL6.js.map +1 -0
- package/dist/chunk-Y2Z5KXY4.cjs +85 -0
- package/dist/chunk-Y2Z5KXY4.cjs.map +1 -0
- package/dist/chunk-Y5EM3P55.cjs +148 -0
- package/dist/chunk-Y5EM3P55.cjs.map +1 -0
- package/dist/chunk-Y5EZRC45.js +82 -0
- package/dist/chunk-Y5EZRC45.js.map +1 -0
- package/dist/chunk-YHPGD3QE.cjs +141 -0
- package/dist/chunk-YHPGD3QE.cjs.map +1 -0
- package/dist/chunk-YHXXZIW5.js +62 -0
- package/dist/chunk-YHXXZIW5.js.map +1 -0
- package/dist/chunk-YK33JS36.cjs +56 -0
- package/dist/chunk-YK33JS36.cjs.map +1 -0
- package/dist/chunk-YORGHHHZ.cjs +85 -0
- package/dist/chunk-YORGHHHZ.cjs.map +1 -0
- package/dist/chunk-YQZXK74D.js +27 -0
- package/dist/chunk-YQZXK74D.js.map +1 -0
- package/dist/chunk-YTFRKPLP.cjs +186 -0
- package/dist/chunk-YTFRKPLP.cjs.map +1 -0
- package/dist/chunk-Z3PDDIE6.cjs +81 -0
- package/dist/chunk-Z3PDDIE6.cjs.map +1 -0
- package/dist/chunk-Z67QS23K.js +116 -0
- package/dist/chunk-Z67QS23K.js.map +1 -0
- package/dist/chunk-ZB3MX53N.js +146 -0
- package/dist/chunk-ZB3MX53N.js.map +1 -0
- package/dist/chunk-ZBKMTCXW.js +57 -0
- package/dist/chunk-ZBKMTCXW.js.map +1 -0
- package/dist/chunk-ZCYDKKG3.js +43 -0
- package/dist/chunk-ZCYDKKG3.js.map +1 -0
- package/dist/chunk-ZEVZV5JA.cjs +212 -0
- package/dist/chunk-ZEVZV5JA.cjs.map +1 -0
- package/dist/chunk-ZPGQ5AP3.cjs +35 -0
- package/dist/chunk-ZPGQ5AP3.cjs.map +1 -0
- package/dist/chunk-ZSLSLTIG.cjs +59 -0
- package/dist/chunk-ZSLSLTIG.cjs.map +1 -0
- package/dist/chunk-ZTWDX2E4.cjs +45 -0
- package/dist/chunk-ZTWDX2E4.cjs.map +1 -0
- package/dist/core/chunker.cjs +16 -0
- package/dist/core/chunker.cjs.map +1 -0
- package/dist/core/chunker.d.cts +11 -0
- package/dist/core/chunker.d.ts +11 -0
- package/dist/core/chunker.js +3 -0
- package/dist/core/chunker.js.map +1 -0
- package/dist/core/knowledge.cjs +14 -0
- package/dist/core/knowledge.cjs.map +1 -0
- package/dist/core/knowledge.d.cts +30 -0
- package/dist/core/knowledge.d.ts +30 -0
- package/dist/core/knowledge.js +5 -0
- package/dist/core/knowledge.js.map +1 -0
- package/dist/core/orka.cjs +30 -0
- package/dist/core/orka.cjs.map +1 -0
- package/dist/core/orka.d.cts +17 -0
- package/dist/core/orka.d.ts +17 -0
- package/dist/core/orka.js +17 -0
- package/dist/core/orka.js.map +1 -0
- package/dist/errors/index.cjs +75 -0
- package/dist/errors/index.cjs.map +1 -0
- package/dist/errors/index.d.cts +38 -0
- package/dist/errors/index.d.ts +38 -0
- package/dist/errors/index.js +72 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/evaluation/assertions.cjs +40 -0
- package/dist/evaluation/assertions.cjs.map +1 -0
- package/dist/evaluation/assertions.d.cts +29 -0
- package/dist/evaluation/assertions.d.ts +29 -0
- package/dist/evaluation/assertions.js +3 -0
- package/dist/evaluation/assertions.js.map +1 -0
- package/dist/evaluation/evaluator.cjs +13 -0
- package/dist/evaluation/evaluator.cjs.map +1 -0
- package/dist/evaluation/evaluator.d.cts +17 -0
- package/dist/evaluation/evaluator.d.ts +17 -0
- package/dist/evaluation/evaluator.js +4 -0
- package/dist/evaluation/evaluator.js.map +1 -0
- package/dist/evaluation/index.cjs +17 -0
- package/dist/evaluation/index.cjs.map +1 -0
- package/dist/evaluation/index.d.cts +17 -0
- package/dist/evaluation/index.d.ts +17 -0
- package/dist/evaluation/index.js +4 -0
- package/dist/evaluation/index.js.map +1 -0
- package/dist/evaluation/metrics.cjs +12 -0
- package/dist/evaluation/metrics.cjs.map +1 -0
- package/dist/evaluation/metrics.d.cts +47 -0
- package/dist/evaluation/metrics.d.ts +47 -0
- package/dist/evaluation/metrics.js +3 -0
- package/dist/evaluation/metrics.js.map +1 -0
- package/dist/evaluation/reporters.cjs +20 -0
- package/dist/evaluation/reporters.cjs.map +1 -0
- package/dist/evaluation/reporters.d.cts +50 -0
- package/dist/evaluation/reporters.d.ts +50 -0
- package/dist/evaluation/reporters.js +3 -0
- package/dist/evaluation/reporters.js.map +1 -0
- package/dist/evaluation/test-runner.cjs +14 -0
- package/dist/evaluation/test-runner.cjs.map +1 -0
- package/dist/evaluation/test-runner.d.cts +17 -0
- package/dist/evaluation/test-runner.d.ts +17 -0
- package/dist/evaluation/test-runner.js +5 -0
- package/dist/evaluation/test-runner.js.map +1 -0
- package/dist/graph/graph-workflow.cjs +12 -0
- package/dist/graph/graph-workflow.cjs.map +1 -0
- package/dist/graph/graph-workflow.d.cts +29 -0
- package/dist/graph/graph-workflow.d.ts +29 -0
- package/dist/graph/graph-workflow.js +3 -0
- package/dist/graph/graph-workflow.js.map +1 -0
- package/dist/graph/helpers.cjs +40 -0
- package/dist/graph/helpers.cjs.map +1 -0
- package/dist/graph/helpers.d.cts +26 -0
- package/dist/graph/helpers.d.ts +26 -0
- package/dist/graph/helpers.js +3 -0
- package/dist/graph/helpers.js.map +1 -0
- package/dist/graph/index.cjs +45 -0
- package/dist/graph/index.cjs.map +1 -0
- package/dist/graph/index.d.cts +5 -0
- package/dist/graph/index.d.ts +5 -0
- package/dist/graph/index.js +4 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/index-8bLog_oR.d.ts +167 -0
- package/dist/index-HyHJwtzW.d.cts +167 -0
- package/dist/index.cjs +458 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +84 -0
- package/dist/index.d.ts +84 -0
- package/dist/index.js +77 -0
- package/dist/index.js.map +1 -0
- package/dist/loaders/csv-loader.cjs +13 -0
- package/dist/loaders/csv-loader.cjs.map +1 -0
- package/dist/loaders/csv-loader.d.cts +12 -0
- package/dist/loaders/csv-loader.d.ts +12 -0
- package/dist/loaders/csv-loader.js +4 -0
- package/dist/loaders/csv-loader.js.map +1 -0
- package/dist/loaders/directory-loader.cjs +17 -0
- package/dist/loaders/directory-loader.cjs.map +1 -0
- package/dist/loaders/directory-loader.d.cts +13 -0
- package/dist/loaders/directory-loader.d.ts +13 -0
- package/dist/loaders/directory-loader.js +8 -0
- package/dist/loaders/directory-loader.js.map +1 -0
- package/dist/loaders/index.cjs +38 -0
- package/dist/loaders/index.cjs.map +1 -0
- package/dist/loaders/index.d.cts +8 -0
- package/dist/loaders/index.d.ts +8 -0
- package/dist/loaders/index.js +9 -0
- package/dist/loaders/index.js.map +1 -0
- package/dist/loaders/json-loader.cjs +13 -0
- package/dist/loaders/json-loader.cjs.map +1 -0
- package/dist/loaders/json-loader.d.cts +12 -0
- package/dist/loaders/json-loader.d.ts +12 -0
- package/dist/loaders/json-loader.js +4 -0
- package/dist/loaders/json-loader.js.map +1 -0
- package/dist/loaders/markdown-loader.cjs +13 -0
- package/dist/loaders/markdown-loader.cjs.map +1 -0
- package/dist/loaders/markdown-loader.d.cts +16 -0
- package/dist/loaders/markdown-loader.d.ts +16 -0
- package/dist/loaders/markdown-loader.js +4 -0
- package/dist/loaders/markdown-loader.js.map +1 -0
- package/dist/loaders/pdf-loader.cjs +13 -0
- package/dist/loaders/pdf-loader.cjs.map +1 -0
- package/dist/loaders/pdf-loader.d.cts +11 -0
- package/dist/loaders/pdf-loader.d.ts +11 -0
- package/dist/loaders/pdf-loader.js +4 -0
- package/dist/loaders/pdf-loader.js.map +1 -0
- package/dist/loaders/text-loader.cjs +13 -0
- package/dist/loaders/text-loader.cjs.map +1 -0
- package/dist/loaders/text-loader.d.cts +11 -0
- package/dist/loaders/text-loader.d.ts +11 -0
- package/dist/loaders/text-loader.js +4 -0
- package/dist/loaders/text-loader.js.map +1 -0
- package/dist/memory/index.cjs +17 -0
- package/dist/memory/index.cjs.map +1 -0
- package/dist/memory/index.d.cts +2 -0
- package/dist/memory/index.d.ts +2 -0
- package/dist/memory/index.js +4 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/memory.cjs +12 -0
- package/dist/memory/memory.cjs.map +1 -0
- package/dist/memory/memory.d.cts +31 -0
- package/dist/memory/memory.d.ts +31 -0
- package/dist/memory/memory.js +3 -0
- package/dist/memory/memory.js.map +1 -0
- package/dist/memory/session-memory.cjs +13 -0
- package/dist/memory/session-memory.cjs.map +1 -0
- package/dist/memory/session-memory.d.cts +19 -0
- package/dist/memory/session-memory.d.ts +19 -0
- package/dist/memory/session-memory.js +4 -0
- package/dist/memory/session-memory.js.map +1 -0
- package/dist/observability/index.cjs +13 -0
- package/dist/observability/index.cjs.map +1 -0
- package/dist/observability/index.d.cts +63 -0
- package/dist/observability/index.d.ts +63 -0
- package/dist/observability/index.js +4 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/tracer.cjs +13 -0
- package/dist/observability/tracer.cjs.map +1 -0
- package/dist/observability/tracer.d.cts +1 -0
- package/dist/observability/tracer.d.ts +1 -0
- package/dist/observability/tracer.js +4 -0
- package/dist/observability/tracer.js.map +1 -0
- package/dist/orchestration/consensus.cjs +12 -0
- package/dist/orchestration/consensus.cjs.map +1 -0
- package/dist/orchestration/consensus.d.cts +18 -0
- package/dist/orchestration/consensus.d.ts +18 -0
- package/dist/orchestration/consensus.js +3 -0
- package/dist/orchestration/consensus.js.map +1 -0
- package/dist/orchestration/index.cjs +27 -0
- package/dist/orchestration/index.cjs.map +1 -0
- package/dist/orchestration/index.d.cts +6 -0
- package/dist/orchestration/index.d.ts +6 -0
- package/dist/orchestration/index.js +6 -0
- package/dist/orchestration/index.js.map +1 -0
- package/dist/orchestration/load-balancer.cjs +12 -0
- package/dist/orchestration/load-balancer.cjs.map +1 -0
- package/dist/orchestration/load-balancer.d.cts +21 -0
- package/dist/orchestration/load-balancer.d.ts +21 -0
- package/dist/orchestration/load-balancer.js +3 -0
- package/dist/orchestration/load-balancer.js.map +1 -0
- package/dist/orchestration/race.cjs +12 -0
- package/dist/orchestration/race.cjs.map +1 -0
- package/dist/orchestration/race.d.cts +13 -0
- package/dist/orchestration/race.d.ts +13 -0
- package/dist/orchestration/race.js +3 -0
- package/dist/orchestration/race.js.map +1 -0
- package/dist/orchestration/router.cjs +12 -0
- package/dist/orchestration/router.cjs.map +1 -0
- package/dist/orchestration/router.d.cts +14 -0
- package/dist/orchestration/router.d.ts +14 -0
- package/dist/orchestration/router.js +3 -0
- package/dist/orchestration/router.js.map +1 -0
- package/dist/parsers/auto-fix-parser.cjs +12 -0
- package/dist/parsers/auto-fix-parser.cjs.map +1 -0
- package/dist/parsers/auto-fix-parser.d.cts +14 -0
- package/dist/parsers/auto-fix-parser.d.ts +14 -0
- package/dist/parsers/auto-fix-parser.js +3 -0
- package/dist/parsers/auto-fix-parser.js.map +1 -0
- package/dist/parsers/comma-separated-list-parser.cjs +12 -0
- package/dist/parsers/comma-separated-list-parser.cjs.map +1 -0
- package/dist/parsers/comma-separated-list-parser.d.cts +15 -0
- package/dist/parsers/comma-separated-list-parser.d.ts +15 -0
- package/dist/parsers/comma-separated-list-parser.js +3 -0
- package/dist/parsers/comma-separated-list-parser.js.map +1 -0
- package/dist/parsers/csv-parser.cjs +12 -0
- package/dist/parsers/csv-parser.cjs.map +1 -0
- package/dist/parsers/csv-parser.d.cts +19 -0
- package/dist/parsers/csv-parser.d.ts +19 -0
- package/dist/parsers/csv-parser.js +3 -0
- package/dist/parsers/csv-parser.js.map +1 -0
- package/dist/parsers/index.cjs +42 -0
- package/dist/parsers/index.cjs.map +1 -0
- package/dist/parsers/index.d.cts +8 -0
- package/dist/parsers/index.d.ts +8 -0
- package/dist/parsers/index.js +9 -0
- package/dist/parsers/index.js.map +1 -0
- package/dist/parsers/json-parser.cjs +12 -0
- package/dist/parsers/json-parser.cjs.map +1 -0
- package/dist/parsers/json-parser.d.cts +11 -0
- package/dist/parsers/json-parser.d.ts +11 -0
- package/dist/parsers/json-parser.js +3 -0
- package/dist/parsers/json-parser.js.map +1 -0
- package/dist/parsers/list-parser.cjs +12 -0
- package/dist/parsers/list-parser.cjs.map +1 -0
- package/dist/parsers/list-parser.d.cts +11 -0
- package/dist/parsers/list-parser.d.ts +11 -0
- package/dist/parsers/list-parser.js +3 -0
- package/dist/parsers/list-parser.js.map +1 -0
- package/dist/parsers/structured-output-parser.cjs +12 -0
- package/dist/parsers/structured-output-parser.cjs.map +1 -0
- package/dist/parsers/structured-output-parser.d.cts +16 -0
- package/dist/parsers/structured-output-parser.d.ts +16 -0
- package/dist/parsers/structured-output-parser.js +3 -0
- package/dist/parsers/structured-output-parser.js.map +1 -0
- package/dist/parsers/xml-parser.cjs +12 -0
- package/dist/parsers/xml-parser.cjs.map +1 -0
- package/dist/parsers/xml-parser.d.cts +16 -0
- package/dist/parsers/xml-parser.d.ts +16 -0
- package/dist/parsers/xml-parser.js +3 -0
- package/dist/parsers/xml-parser.js.map +1 -0
- package/dist/prompts/file-persistence.cjs +12 -0
- package/dist/prompts/file-persistence.cjs.map +1 -0
- package/dist/prompts/file-persistence.d.cts +10 -0
- package/dist/prompts/file-persistence.d.ts +10 -0
- package/dist/prompts/file-persistence.js +3 -0
- package/dist/prompts/file-persistence.js.map +1 -0
- package/dist/prompts/index.cjs +18 -0
- package/dist/prompts/index.cjs.map +1 -0
- package/dist/prompts/index.d.cts +3 -0
- package/dist/prompts/index.d.ts +3 -0
- package/dist/prompts/index.js +5 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/registry.cjs +13 -0
- package/dist/prompts/registry.cjs.map +1 -0
- package/dist/prompts/registry.d.cts +22 -0
- package/dist/prompts/registry.d.ts +22 -0
- package/dist/prompts/registry.js +4 -0
- package/dist/prompts/registry.js.map +1 -0
- package/dist/resilience/fallback.cjs +12 -0
- package/dist/resilience/fallback.cjs.map +1 -0
- package/dist/resilience/fallback.d.cts +16 -0
- package/dist/resilience/fallback.d.ts +16 -0
- package/dist/resilience/fallback.js +3 -0
- package/dist/resilience/fallback.js.map +1 -0
- package/dist/resilience/index.cjs +22 -0
- package/dist/resilience/index.cjs.map +1 -0
- package/dist/resilience/index.d.cts +4 -0
- package/dist/resilience/index.d.ts +4 -0
- package/dist/resilience/index.js +5 -0
- package/dist/resilience/index.js.map +1 -0
- package/dist/resilience/resilient-llm.cjs +13 -0
- package/dist/resilience/resilient-llm.cjs.map +1 -0
- package/dist/resilience/resilient-llm.d.cts +19 -0
- package/dist/resilience/resilient-llm.d.ts +19 -0
- package/dist/resilience/resilient-llm.js +4 -0
- package/dist/resilience/resilient-llm.js.map +1 -0
- package/dist/resilience/retry.cjs +12 -0
- package/dist/resilience/retry.cjs.map +1 -0
- package/dist/resilience/retry.d.cts +11 -0
- package/dist/resilience/retry.d.ts +11 -0
- package/dist/resilience/retry.js +3 -0
- package/dist/resilience/retry.js.map +1 -0
- package/dist/retrievers/bm25-retriever.cjs +12 -0
- package/dist/retrievers/bm25-retriever.cjs.map +1 -0
- package/dist/retrievers/bm25-retriever.d.cts +30 -0
- package/dist/retrievers/bm25-retriever.d.ts +30 -0
- package/dist/retrievers/bm25-retriever.js +3 -0
- package/dist/retrievers/bm25-retriever.js.map +1 -0
- package/dist/retrievers/contextual-compression-retriever.cjs +12 -0
- package/dist/retrievers/contextual-compression-retriever.cjs.map +1 -0
- package/dist/retrievers/contextual-compression-retriever.d.cts +11 -0
- package/dist/retrievers/contextual-compression-retriever.d.ts +11 -0
- package/dist/retrievers/contextual-compression-retriever.js +3 -0
- package/dist/retrievers/contextual-compression-retriever.js.map +1 -0
- package/dist/retrievers/ensemble-retriever.cjs +12 -0
- package/dist/retrievers/ensemble-retriever.cjs.map +1 -0
- package/dist/retrievers/ensemble-retriever.d.cts +12 -0
- package/dist/retrievers/ensemble-retriever.d.ts +12 -0
- package/dist/retrievers/ensemble-retriever.js +3 -0
- package/dist/retrievers/ensemble-retriever.js.map +1 -0
- package/dist/retrievers/index.cjs +42 -0
- package/dist/retrievers/index.cjs.map +1 -0
- package/dist/retrievers/index.d.cts +9 -0
- package/dist/retrievers/index.d.ts +9 -0
- package/dist/retrievers/index.js +9 -0
- package/dist/retrievers/index.js.map +1 -0
- package/dist/retrievers/multi-query-retriever.cjs +12 -0
- package/dist/retrievers/multi-query-retriever.cjs.map +1 -0
- package/dist/retrievers/multi-query-retriever.d.cts +12 -0
- package/dist/retrievers/multi-query-retriever.d.ts +12 -0
- package/dist/retrievers/multi-query-retriever.js +3 -0
- package/dist/retrievers/multi-query-retriever.js.map +1 -0
- package/dist/retrievers/parent-document-retriever.cjs +12 -0
- package/dist/retrievers/parent-document-retriever.cjs.map +1 -0
- package/dist/retrievers/parent-document-retriever.d.cts +14 -0
- package/dist/retrievers/parent-document-retriever.d.ts +14 -0
- package/dist/retrievers/parent-document-retriever.js +3 -0
- package/dist/retrievers/parent-document-retriever.js.map +1 -0
- package/dist/retrievers/self-query-retriever.cjs +12 -0
- package/dist/retrievers/self-query-retriever.cjs.map +1 -0
- package/dist/retrievers/self-query-retriever.d.cts +29 -0
- package/dist/retrievers/self-query-retriever.d.ts +29 -0
- package/dist/retrievers/self-query-retriever.js +3 -0
- package/dist/retrievers/self-query-retriever.js.map +1 -0
- package/dist/retrievers/vector-retriever.cjs +12 -0
- package/dist/retrievers/vector-retriever.cjs.map +1 -0
- package/dist/retrievers/vector-retriever.d.cts +19 -0
- package/dist/retrievers/vector-retriever.d.ts +19 -0
- package/dist/retrievers/vector-retriever.js +3 -0
- package/dist/retrievers/vector-retriever.js.map +1 -0
- package/dist/splitters/code-text-splitter.cjs +13 -0
- package/dist/splitters/code-text-splitter.cjs.map +1 -0
- package/dist/splitters/code-text-splitter.d.cts +11 -0
- package/dist/splitters/code-text-splitter.d.ts +11 -0
- package/dist/splitters/code-text-splitter.js +4 -0
- package/dist/splitters/code-text-splitter.js.map +1 -0
- package/dist/splitters/index.cjs +27 -0
- package/dist/splitters/index.cjs.map +1 -0
- package/dist/splitters/index.d.cts +6 -0
- package/dist/splitters/index.d.ts +6 -0
- package/dist/splitters/index.js +6 -0
- package/dist/splitters/index.js.map +1 -0
- package/dist/splitters/markdown-text-splitter.cjs +13 -0
- package/dist/splitters/markdown-text-splitter.cjs.map +1 -0
- package/dist/splitters/markdown-text-splitter.d.cts +11 -0
- package/dist/splitters/markdown-text-splitter.d.ts +11 -0
- package/dist/splitters/markdown-text-splitter.js +4 -0
- package/dist/splitters/markdown-text-splitter.js.map +1 -0
- package/dist/splitters/recursive-character-text-splitter.cjs +12 -0
- package/dist/splitters/recursive-character-text-splitter.cjs.map +1 -0
- package/dist/splitters/recursive-character-text-splitter.d.cts +18 -0
- package/dist/splitters/recursive-character-text-splitter.d.ts +18 -0
- package/dist/splitters/recursive-character-text-splitter.js +3 -0
- package/dist/splitters/recursive-character-text-splitter.js.map +1 -0
- package/dist/splitters/token-text-splitter.cjs +12 -0
- package/dist/splitters/token-text-splitter.cjs.map +1 -0
- package/dist/splitters/token-text-splitter.d.cts +13 -0
- package/dist/splitters/token-text-splitter.d.ts +13 -0
- package/dist/splitters/token-text-splitter.js +3 -0
- package/dist/splitters/token-text-splitter.js.map +1 -0
- package/dist/templates/chat-prompt-template.cjs +13 -0
- package/dist/templates/chat-prompt-template.cjs.map +1 -0
- package/dist/templates/chat-prompt-template.d.cts +17 -0
- package/dist/templates/chat-prompt-template.d.ts +17 -0
- package/dist/templates/chat-prompt-template.js +4 -0
- package/dist/templates/chat-prompt-template.js.map +1 -0
- package/dist/templates/few-shot-prompt-template.cjs +13 -0
- package/dist/templates/few-shot-prompt-template.cjs.map +1 -0
- package/dist/templates/few-shot-prompt-template.d.cts +21 -0
- package/dist/templates/few-shot-prompt-template.d.ts +21 -0
- package/dist/templates/few-shot-prompt-template.js +4 -0
- package/dist/templates/few-shot-prompt-template.js.map +1 -0
- package/dist/templates/index.cjs +22 -0
- package/dist/templates/index.cjs.map +1 -0
- package/dist/templates/index.d.cts +5 -0
- package/dist/templates/index.d.ts +5 -0
- package/dist/templates/index.js +5 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/templates/prompt-template.cjs +12 -0
- package/dist/templates/prompt-template.cjs.map +1 -0
- package/dist/templates/prompt-template.d.cts +18 -0
- package/dist/templates/prompt-template.d.ts +18 -0
- package/dist/templates/prompt-template.js +3 -0
- package/dist/templates/prompt-template.js.map +1 -0
- package/dist/types/index.cjs +4 -0
- package/dist/types/index.cjs.map +1 -0
- package/dist/types/index.d.cts +149 -0
- package/dist/types/index.d.ts +149 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types-0sTm-82H.d.cts +34 -0
- package/dist/types-0sTm-82H.d.ts +34 -0
- package/dist/types-8NBD4dQH.d.cts +62 -0
- package/dist/types-8NBD4dQH.d.ts +62 -0
- package/dist/types-B4UAH86O.d.cts +52 -0
- package/dist/types-BAR-Rjlg.d.cts +39 -0
- package/dist/types-BLcg9dP2.d.ts +47 -0
- package/dist/types-BOtPFeGu.d.cts +31 -0
- package/dist/types-Bpr6Mq8H.d.ts +60 -0
- package/dist/types-C6ECq49L.d.ts +37 -0
- package/dist/types-CE-enj7A.d.cts +47 -0
- package/dist/types-CJFtM2H2.d.cts +36 -0
- package/dist/types-CJFtM2H2.d.ts +36 -0
- package/dist/types-D1nxKbZC.d.cts +60 -0
- package/dist/types-D_0MABWj.d.cts +46 -0
- package/dist/types-DlK2Z6wF.d.ts +31 -0
- package/dist/types-DsOo4p3H.d.ts +52 -0
- package/dist/types-DxUxY78w.d.ts +46 -0
- package/dist/types-ZpM642VC.d.cts +148 -0
- package/dist/types-hvrMBxDL.d.cts +37 -0
- package/dist/types-khmzyluO.d.ts +39 -0
- package/dist/types-q1PSyGEh.d.ts +148 -0
- package/dist/types-q3EkxHXf.d.cts +38 -0
- package/dist/types-q3EkxHXf.d.ts +38 -0
- package/dist/utils/id.cjs +12 -0
- package/dist/utils/id.cjs.map +1 -0
- package/dist/utils/id.d.cts +3 -0
- package/dist/utils/id.d.ts +3 -0
- package/dist/utils/id.js +3 -0
- package/dist/utils/id.js.map +1 -0
- package/dist/workflow/index.cjs +37 -0
- package/dist/workflow/index.cjs.map +1 -0
- package/dist/workflow/index.d.cts +5 -0
- package/dist/workflow/index.d.ts +5 -0
- package/dist/workflow/index.js +4 -0
- package/dist/workflow/index.js.map +1 -0
- package/dist/workflow/steps.cjs +32 -0
- package/dist/workflow/steps.cjs.map +1 -0
- package/dist/workflow/steps.d.cts +25 -0
- package/dist/workflow/steps.d.ts +25 -0
- package/dist/workflow/steps.js +3 -0
- package/dist/workflow/steps.js.map +1 -0
- package/dist/workflow/workflow.cjs +12 -0
- package/dist/workflow/workflow.cjs.map +1 -0
- package/dist/workflow/workflow.d.cts +17 -0
- package/dist/workflow/workflow.d.ts +17 -0
- package/dist/workflow/workflow.js +3 -0
- package/dist/workflow/workflow.js.map +1 -0
- package/package.json +550 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/chains/qa-chain.ts"],"names":[],"mappings":"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","file":"chunk-K56H7CX7.js","sourcesContent":["import type { Retriever } from '../retrievers/types.js';\nimport type { LLMAdapter, VectorSearchResult } from '../types/index.js';\nimport type { ChainResult, QAChainOptions } from './types.js';\n\nexport class QAChain {\n private llm: LLMAdapter;\n private retriever: Retriever;\n private collection: string;\n private systemPrompt: string;\n private returnSources: boolean;\n private strategy: 'stuff' | 'map-reduce' | 'refine';\n private maxSourceTokens: number;\n\n constructor(options: QAChainOptions) {\n this.llm = options.llm;\n this.retriever = options.retriever;\n this.collection = options.collection;\n this.returnSources = options.returnSources ?? true;\n this.strategy = options.strategy ?? 'stuff';\n this.maxSourceTokens = options.maxSourceTokens ?? 3000;\n this.systemPrompt = options.systemPrompt ??\n 'You are a helpful assistant. Answer the question based ONLY on the provided documents. Cite specific parts of the documents when possible. If the documents do not contain the answer, say so.';\n }\n\n async call(question: string): Promise<ChainResult> {\n const steps: ChainResult['intermediateSteps'] = [];\n\n // Step 1: Retrieve\n const retrieveStart = Date.now();\n const sources = await this.retriever.retrieve(question, this.collection);\n steps.push({\n name: 'retrieve',\n input: question,\n output: `Found ${sources.length} documents`,\n latencyMs: Date.now() - retrieveStart,\n });\n\n if (sources.length === 0) {\n return {\n answer: 'No relevant documents found to answer this question.',\n sources: [],\n intermediateSteps: steps,\n };\n }\n\n // Step 2: Answer based on strategy\n let answer: string;\n let usage = { promptTokens: 0, completionTokens: 0, totalTokens: 0 };\n\n switch (this.strategy) {\n case 'stuff':\n ({ answer, usage } = await this.stuffQA(question, sources, steps));\n break;\n case 'map-reduce':\n ({ answer, usage } = await this.mapReduceQA(question, sources, steps));\n break;\n case 'refine':\n ({ answer, usage } = await this.refineQA(question, sources, steps));\n break;\n }\n\n return {\n answer,\n sources: this.returnSources ? sources : undefined,\n intermediateSteps: steps,\n usage,\n };\n }\n\n private async stuffQA(\n question: string,\n sources: VectorSearchResult[],\n steps: ChainResult['intermediateSteps']\n ): Promise<{ answer: string; usage: ChainResult['usage'] & Record<string, number> }> {\n let context = '';\n let tokenEstimate = 0;\n\n for (const source of sources) {\n const text = source.content ?? '';\n const est = Math.ceil(text.length / 4);\n if (tokenEstimate + est > this.maxSourceTokens) break;\n context += `[Document ${source.id}]:\\n${text}\\n\\n`;\n tokenEstimate += est;\n }\n\n const prompt = `Documents:\\n${context}\\nQuestion: ${question}\\n\\nProvide a detailed answer based on the documents above:`;\n\n const start = Date.now();\n const result = await this.llm.generate(prompt, {\n systemPrompt: this.systemPrompt,\n temperature: 0.3,\n });\n steps!.push({\n name: 'stuff_answer',\n input: `${sources.length} docs, question: ${question}`,\n output: result.content.slice(0, 200),\n latencyMs: Date.now() - start,\n });\n\n return { answer: result.content, usage: result.usage };\n }\n\n private async mapReduceQA(\n question: string,\n sources: VectorSearchResult[],\n steps: ChainResult['intermediateSteps']\n ): Promise<{ answer: string; usage: ChainResult['usage'] & Record<string, number> }> {\n const totalUsage = { promptTokens: 0, completionTokens: 0, totalTokens: 0 };\n\n // Map: extract relevant info from each document\n const partialAnswers: string[] = [];\n\n for (let i = 0; i < sources.length; i++) {\n const text = sources[i].content ?? '';\n if (!text) continue;\n\n const prompt = `Document:\\n${text}\\n\\nQuestion: ${question}\\n\\nExtract any information from this document that is relevant to answering the question:`;\n\n const start = Date.now();\n const result = await this.llm.generate(prompt, {\n systemPrompt: 'Extract relevant information concisely.',\n temperature: 0,\n maxTokens: 512,\n });\n\n partialAnswers.push(result.content);\n totalUsage.promptTokens += result.usage.promptTokens;\n totalUsage.completionTokens += result.usage.completionTokens;\n totalUsage.totalTokens += result.usage.totalTokens;\n\n steps!.push({\n name: `map_doc_${i}`,\n input: text.slice(0, 100) + '...',\n output: result.content.slice(0, 100),\n latencyMs: Date.now() - start,\n });\n }\n\n // Reduce: combine partial answers\n const combined = partialAnswers.join('\\n\\n');\n const reducePrompt = `Based on the following extracted information, provide a comprehensive answer to the question.\\n\\nExtracted Information:\\n${combined}\\n\\nQuestion: ${question}\\n\\nAnswer:`;\n\n const reduceStart = Date.now();\n const finalResult = await this.llm.generate(reducePrompt, {\n systemPrompt: this.systemPrompt,\n temperature: 0.3,\n });\n\n totalUsage.promptTokens += finalResult.usage.promptTokens;\n totalUsage.completionTokens += finalResult.usage.completionTokens;\n totalUsage.totalTokens += finalResult.usage.totalTokens;\n\n steps!.push({\n name: 'reduce_answer',\n input: `${partialAnswers.length} partial answers`,\n output: finalResult.content.slice(0, 200),\n latencyMs: Date.now() - reduceStart,\n });\n\n return { answer: finalResult.content, usage: totalUsage };\n }\n\n private async refineQA(\n question: string,\n sources: VectorSearchResult[],\n steps: ChainResult['intermediateSteps']\n ): Promise<{ answer: string; usage: ChainResult['usage'] & Record<string, number> }> {\n const totalUsage = { promptTokens: 0, completionTokens: 0, totalTokens: 0 };\n\n // Initial answer from first document\n const firstText = sources[0]?.content ?? '';\n const initialPrompt = `Document:\\n${firstText}\\n\\nQuestion: ${question}\\n\\nAnswer based on this document:`;\n\n const initialStart = Date.now();\n const initialResult = await this.llm.generate(initialPrompt, {\n systemPrompt: this.systemPrompt,\n temperature: 0.3,\n });\n\n let currentAnswer = initialResult.content;\n totalUsage.promptTokens += initialResult.usage.promptTokens;\n totalUsage.completionTokens += initialResult.usage.completionTokens;\n totalUsage.totalTokens += initialResult.usage.totalTokens;\n\n steps!.push({\n name: 'initial_answer',\n input: firstText.slice(0, 100) + '...',\n output: currentAnswer.slice(0, 100),\n latencyMs: Date.now() - initialStart,\n });\n\n // Refine with each subsequent document\n for (let i = 1; i < sources.length; i++) {\n const text = sources[i].content ?? '';\n if (!text) continue;\n\n const refinePrompt = `Existing answer:\\n${currentAnswer}\\n\\nNew document:\\n${text}\\n\\nQuestion: ${question}\\n\\nRefine the existing answer using the new document. If the new document adds relevant information, incorporate it. If not, keep the existing answer:`;\n\n const refineStart = Date.now();\n const refineResult = await this.llm.generate(refinePrompt, {\n systemPrompt: this.systemPrompt,\n temperature: 0.3,\n });\n\n currentAnswer = refineResult.content;\n totalUsage.promptTokens += refineResult.usage.promptTokens;\n totalUsage.completionTokens += refineResult.usage.completionTokens;\n totalUsage.totalTokens += refineResult.usage.totalTokens;\n\n steps!.push({\n name: `refine_${i}`,\n input: text.slice(0, 100) + '...',\n output: currentAnswer.slice(0, 100),\n latencyMs: Date.now() - refineStart,\n });\n }\n\n return { answer: currentAnswer, usage: totalUsage };\n }\n}\n"]}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkQBAICRFT_cjs = require('./chunk-QBAICRFT.cjs');
|
|
4
|
+
var chunk2UTXL4UI_cjs = require('./chunk-2UTXL4UI.cjs');
|
|
5
|
+
var chunk5DZJHA4Q_cjs = require('./chunk-5DZJHA4Q.cjs');
|
|
6
|
+
var chunk4NMX7YMQ_cjs = require('./chunk-4NMX7YMQ.cjs');
|
|
7
|
+
var chunkSNXMGG75_cjs = require('./chunk-SNXMGG75.cjs');
|
|
8
|
+
var chunkJOLXQZLP_cjs = require('./chunk-JOLXQZLP.cjs');
|
|
9
|
+
var chunkG5C7KNJX_cjs = require('./chunk-G5C7KNJX.cjs');
|
|
10
|
+
var chunkXAKPLGNG_cjs = require('./chunk-XAKPLGNG.cjs');
|
|
11
|
+
var chunkXD4CTIN2_cjs = require('./chunk-XD4CTIN2.cjs');
|
|
12
|
+
var chunkYTFRKPLP_cjs = require('./chunk-YTFRKPLP.cjs');
|
|
13
|
+
|
|
14
|
+
// src/core/orka.ts
|
|
15
|
+
var Orka = class {
|
|
16
|
+
llm;
|
|
17
|
+
vectorDB;
|
|
18
|
+
database;
|
|
19
|
+
defaults;
|
|
20
|
+
knowledge;
|
|
21
|
+
tracer;
|
|
22
|
+
prompts;
|
|
23
|
+
_memory;
|
|
24
|
+
_sessionMemory;
|
|
25
|
+
constructor(config) {
|
|
26
|
+
this.llm = config.llm;
|
|
27
|
+
this.vectorDB = config.vectorDB;
|
|
28
|
+
this.database = config.database;
|
|
29
|
+
this.defaults = config.defaults ?? {};
|
|
30
|
+
if (!this.vectorDB) {
|
|
31
|
+
throw new Error("VectorDB adapter is required. Use MemoryVectorAdapter for quick start.");
|
|
32
|
+
}
|
|
33
|
+
this.knowledge = new chunk4NMX7YMQ_cjs.Knowledge(this.llm, this.vectorDB, this.defaults);
|
|
34
|
+
this.tracer = new chunkXD4CTIN2_cjs.Tracer(config.observability);
|
|
35
|
+
this.prompts = new chunk2UTXL4UI_cjs.PromptRegistry(config.prompts);
|
|
36
|
+
if (config.memory) {
|
|
37
|
+
this._memory = new chunkG5C7KNJX_cjs.Memory(config.memory);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Ask a question using the knowledge base
|
|
42
|
+
* @param options - Ask options
|
|
43
|
+
* @returns Ask result
|
|
44
|
+
*/
|
|
45
|
+
async ask(options) {
|
|
46
|
+
const startTime = Date.now();
|
|
47
|
+
const {
|
|
48
|
+
knowledge,
|
|
49
|
+
question,
|
|
50
|
+
systemPrompt,
|
|
51
|
+
topK = this.defaults.topK ?? 5,
|
|
52
|
+
temperature = this.defaults.temperature ?? 0.7,
|
|
53
|
+
maxTokens = this.defaults.maxTokens ?? 1024,
|
|
54
|
+
includeContext = false
|
|
55
|
+
} = options;
|
|
56
|
+
let context = [];
|
|
57
|
+
let contextText = "";
|
|
58
|
+
if (knowledge) {
|
|
59
|
+
const results = await this.knowledge.search(knowledge, question, { topK });
|
|
60
|
+
context = results.map((r) => ({
|
|
61
|
+
content: r.content ?? "",
|
|
62
|
+
score: r.score,
|
|
63
|
+
metadata: r.metadata
|
|
64
|
+
}));
|
|
65
|
+
contextText = context.map((c) => c.content).join("\n\n---\n\n");
|
|
66
|
+
}
|
|
67
|
+
const prompt = this.buildPrompt(question, contextText, systemPrompt);
|
|
68
|
+
const result = await this.llm.generate(prompt, {
|
|
69
|
+
temperature,
|
|
70
|
+
maxTokens,
|
|
71
|
+
systemPrompt: systemPrompt ?? this.getDefaultSystemPrompt(!!knowledge)
|
|
72
|
+
});
|
|
73
|
+
const latencyMs = Date.now() - startTime;
|
|
74
|
+
const askResult = {
|
|
75
|
+
answer: result.content,
|
|
76
|
+
usage: {
|
|
77
|
+
promptTokens: result.usage.promptTokens,
|
|
78
|
+
completionTokens: result.usage.completionTokens,
|
|
79
|
+
totalTokens: result.usage.totalTokens
|
|
80
|
+
},
|
|
81
|
+
latencyMs
|
|
82
|
+
};
|
|
83
|
+
if (includeContext) {
|
|
84
|
+
askResult.context = context;
|
|
85
|
+
}
|
|
86
|
+
return askResult;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Generate a response using the LLM
|
|
90
|
+
* @param prompt - The prompt to generate a response for
|
|
91
|
+
* @param options - Generation options
|
|
92
|
+
* @returns Generated response
|
|
93
|
+
*/
|
|
94
|
+
async generate(prompt, options) {
|
|
95
|
+
const result = await this.llm.generate(prompt, {
|
|
96
|
+
temperature: options?.temperature ?? this.defaults.temperature ?? 0.7,
|
|
97
|
+
maxTokens: options?.maxTokens ?? this.defaults.maxTokens ?? 1024,
|
|
98
|
+
systemPrompt: options?.systemPrompt
|
|
99
|
+
});
|
|
100
|
+
return result.content;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Embed text using the LLM
|
|
104
|
+
* @param text - The text to embed
|
|
105
|
+
* @returns Embeddings
|
|
106
|
+
*/
|
|
107
|
+
async embed(text) {
|
|
108
|
+
const texts = Array.isArray(text) ? text : [text];
|
|
109
|
+
return this.llm.embed(texts);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Create a new workflow
|
|
113
|
+
* @param config - Workflow configuration
|
|
114
|
+
* @returns Workflow instance
|
|
115
|
+
*/
|
|
116
|
+
workflow(config) {
|
|
117
|
+
return new chunkQBAICRFT_cjs.Workflow(config, this.llm, this.vectorDB, this.knowledge);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Create a new agent
|
|
121
|
+
* @param config - Agent configuration
|
|
122
|
+
* @returns Agent instance
|
|
123
|
+
*/
|
|
124
|
+
agent(config) {
|
|
125
|
+
return new chunkYTFRKPLP_cjs.Agent(config, this.llm, this.vectorDB, this.knowledge, this._memory);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Evaluate a workflow or agent
|
|
129
|
+
* @param options - Evaluation options
|
|
130
|
+
* @returns Evaluation summary
|
|
131
|
+
*/
|
|
132
|
+
async evaluate(options) {
|
|
133
|
+
const evaluator = new chunkSNXMGG75_cjs.Evaluator(this, this.llm);
|
|
134
|
+
return evaluator.evaluate(options);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Get or create memory instance
|
|
138
|
+
* @returns Memory instance
|
|
139
|
+
*/
|
|
140
|
+
memory() {
|
|
141
|
+
if (!this._memory) {
|
|
142
|
+
this._memory = new chunkG5C7KNJX_cjs.Memory();
|
|
143
|
+
}
|
|
144
|
+
return this._memory;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Get or create session memory instance
|
|
148
|
+
* @returns SessionMemory instance
|
|
149
|
+
*/
|
|
150
|
+
sessions() {
|
|
151
|
+
if (!this._sessionMemory) {
|
|
152
|
+
this._sessionMemory = new chunkJOLXQZLP_cjs.SessionMemory();
|
|
153
|
+
}
|
|
154
|
+
return this._sessionMemory;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Get database adapter
|
|
158
|
+
* @returns Database adapter or undefined
|
|
159
|
+
*/
|
|
160
|
+
getDatabase() {
|
|
161
|
+
return this.database;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Create a new graph workflow
|
|
165
|
+
* @param config - Graph configuration
|
|
166
|
+
* @returns GraphWorkflow instance
|
|
167
|
+
*/
|
|
168
|
+
graph(config) {
|
|
169
|
+
return new chunkXAKPLGNG_cjs.GraphWorkflow(config, this.llm, this.vectorDB, this.knowledge);
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Run a test suite
|
|
173
|
+
* @param config - Test suite configuration
|
|
174
|
+
* @returns Test suite report
|
|
175
|
+
*/
|
|
176
|
+
async test(config) {
|
|
177
|
+
const runner = new chunk5DZJHA4Q_cjs.TestRunner(this);
|
|
178
|
+
return runner.run(config);
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Get the LLM adapter
|
|
182
|
+
* @returns LLM adapter
|
|
183
|
+
*/
|
|
184
|
+
getLLM() {
|
|
185
|
+
return this.llm;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Build a prompt from question and context
|
|
189
|
+
* @param question - The question to answer
|
|
190
|
+
* @param context - The context to use
|
|
191
|
+
* @param _systemPrompt - The system prompt to use (unused)
|
|
192
|
+
* @returns The built prompt
|
|
193
|
+
*/
|
|
194
|
+
buildPrompt(question, context, _systemPrompt) {
|
|
195
|
+
if (!context) {
|
|
196
|
+
return question;
|
|
197
|
+
}
|
|
198
|
+
return `Context information:
|
|
199
|
+
---
|
|
200
|
+
${context}
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
Based on the context above, please answer the following question:
|
|
204
|
+
${question}`;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Get the default system prompt
|
|
208
|
+
* @param hasContext - Whether context is available
|
|
209
|
+
* @returns The default system prompt
|
|
210
|
+
*/
|
|
211
|
+
getDefaultSystemPrompt(hasContext) {
|
|
212
|
+
if (hasContext) {
|
|
213
|
+
return `You are a helpful assistant. Answer questions based on the provided context. If the context doesn't contain enough information to answer the question, say so clearly. Do not make up information.`;
|
|
214
|
+
}
|
|
215
|
+
return `You are a helpful assistant.`;
|
|
216
|
+
}
|
|
217
|
+
};
|
|
218
|
+
function createOrka(config) {
|
|
219
|
+
return new Orka(config);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
exports.Orka = Orka;
|
|
223
|
+
exports.createOrka = createOrka;
|
|
224
|
+
//# sourceMappingURL=chunk-KEUY45KU.cjs.map
|
|
225
|
+
//# sourceMappingURL=chunk-KEUY45KU.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/orka.ts"],"names":["Knowledge","Tracer","PromptRegistry","Memory","Workflow","Agent","Evaluator","SessionMemory","GraphWorkflow","TestRunner"],"mappings":"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","file":"chunk-KEUY45KU.cjs","sourcesContent":["import type { \n OrkaConfig, \n AskOptions, \n AskResult,\n RetrievedContext,\n LLMAdapter,\n VectorDBAdapter,\n DatabaseAdapter,\n OrkaDefaults\n} from '../types/index.js';\nimport { Knowledge } from './knowledge.js';\nimport { Workflow } from '../workflow/workflow.js';\nimport type { WorkflowConfig } from '../workflow/types.js';\nimport { Evaluator } from '../evaluation/evaluator.js';\nimport type { EvaluateOptions } from '../evaluation/evaluator.js';\nimport type { EvalSummary } from '../evaluation/metrics.js';\nimport { Agent } from '../agent/agent.js';\nimport type { AgentConfig } from '../agent/types.js';\nimport { Memory, type MemoryConfig } from '../memory/memory.js';\nimport { SessionMemory } from '../memory/session-memory.js';\nimport { Tracer } from '../observability/tracer.js';\nimport type { ObservabilityHook, LogLevel } from '../observability/types.js';\nimport { GraphWorkflow } from '../graph/graph-workflow.js';\nimport type { GraphConfig } from '../graph/types.js';\nimport { PromptRegistry } from '../prompts/registry.js';\nimport type { PromptRegistryConfig } from '../prompts/types.js';\nimport { TestRunner } from '../evaluation/test-runner.js';\nimport type { TestSuiteConfig } from '../evaluation/test-runner.js';\nimport type { TestSuiteReport } from '../evaluation/reporters.js';\n\nexport interface OrkaFullConfig extends OrkaConfig {\n observability?: {\n logLevel?: LogLevel;\n hooks?: ObservabilityHook[];\n };\n memory?: MemoryConfig;\n prompts?: PromptRegistryConfig;\n}\n\nexport class Orka {\n private llm: LLMAdapter;\n private vectorDB?: VectorDBAdapter;\n private database?: DatabaseAdapter;\n private defaults: OrkaDefaults;\n \n public readonly knowledge: Knowledge;\n public readonly tracer: Tracer;\n public readonly prompts: PromptRegistry;\n private _memory?: Memory;\n private _sessionMemory?: SessionMemory;\n\n constructor(config: OrkaFullConfig) {\n this.llm = config.llm;\n this.vectorDB = config.vectorDB;\n this.database = config.database;\n this.defaults = config.defaults ?? {};\n\n if (!this.vectorDB) {\n throw new Error('VectorDB adapter is required. Use MemoryVectorAdapter for quick start.');\n }\n\n this.knowledge = new Knowledge(this.llm, this.vectorDB, this.defaults);\n this.tracer = new Tracer(config.observability);\n\n this.prompts = new PromptRegistry(config.prompts);\n\n if (config.memory) {\n this._memory = new Memory(config.memory);\n }\n }\n\n /**\n * Ask a question using the knowledge base\n * @param options - Ask options\n * @returns Ask result\n */\n async ask(options: AskOptions): Promise<AskResult> {\n const startTime = Date.now();\n const {\n knowledge,\n question,\n systemPrompt,\n topK = this.defaults.topK ?? 5,\n temperature = this.defaults.temperature ?? 0.7,\n maxTokens = this.defaults.maxTokens ?? 1024,\n includeContext = false,\n } = options;\n\n let context: RetrievedContext[] = [];\n let contextText = '';\n\n if (knowledge) {\n const results = await this.knowledge.search(knowledge, question, { topK });\n context = results.map(r => ({\n content: r.content ?? '',\n score: r.score,\n metadata: r.metadata,\n }));\n contextText = context.map(c => c.content).join('\\n\\n---\\n\\n');\n }\n\n const prompt = this.buildPrompt(question, contextText, systemPrompt);\n \n const result = await this.llm.generate(prompt, {\n temperature,\n maxTokens,\n systemPrompt: systemPrompt ?? this.getDefaultSystemPrompt(!!knowledge),\n });\n\n const latencyMs = Date.now() - startTime;\n\n const askResult: AskResult = {\n answer: result.content,\n usage: {\n promptTokens: result.usage.promptTokens,\n completionTokens: result.usage.completionTokens,\n totalTokens: result.usage.totalTokens,\n },\n latencyMs,\n };\n\n if (includeContext) {\n askResult.context = context;\n }\n\n return askResult;\n }\n\n /**\n * Generate a response using the LLM\n * @param prompt - The prompt to generate a response for\n * @param options - Generation options\n * @returns Generated response\n */\n async generate(prompt: string, options?: { temperature?: number; maxTokens?: number; systemPrompt?: string }): Promise<string> {\n const result = await this.llm.generate(prompt, {\n temperature: options?.temperature ?? this.defaults.temperature ?? 0.7,\n maxTokens: options?.maxTokens ?? this.defaults.maxTokens ?? 1024,\n systemPrompt: options?.systemPrompt,\n });\n return result.content;\n }\n\n /**\n * Embed text using the LLM\n * @param text - The text to embed\n * @returns Embeddings\n */\n async embed(text: string | string[]): Promise<number[][]> {\n const texts = Array.isArray(text) ? text : [text];\n return this.llm.embed(texts);\n }\n\n /**\n * Create a new workflow\n * @param config - Workflow configuration \n * @returns Workflow instance\n */\n workflow(config: WorkflowConfig): Workflow {\n return new Workflow(config, this.llm, this.vectorDB, this.knowledge);\n }\n\n /**\n * Create a new agent\n * @param config - Agent configuration\n * @returns Agent instance\n */\n agent(config: AgentConfig): Agent {\n return new Agent(config, this.llm, this.vectorDB, this.knowledge, this._memory);\n }\n\n /**\n * Evaluate a workflow or agent\n * @param options - Evaluation options\n * @returns Evaluation summary\n */\n async evaluate(options: EvaluateOptions): Promise<EvalSummary> {\n const evaluator = new Evaluator(this, this.llm);\n return evaluator.evaluate(options);\n }\n\n /**\n * Get or create memory instance\n * @returns Memory instance\n */\n memory(): Memory {\n if (!this._memory) {\n this._memory = new Memory();\n }\n return this._memory;\n }\n\n /**\n * Get or create session memory instance\n * @returns SessionMemory instance\n */\n sessions(): SessionMemory {\n if (!this._sessionMemory) {\n this._sessionMemory = new SessionMemory();\n }\n return this._sessionMemory;\n }\n\n /**\n * Get database adapter\n * @returns Database adapter or undefined\n */\n getDatabase(): DatabaseAdapter | undefined {\n return this.database;\n }\n\n /**\n * Create a new graph workflow\n * @param config - Graph configuration\n * @returns GraphWorkflow instance\n */\n graph(config: GraphConfig): GraphWorkflow {\n return new GraphWorkflow(config, this.llm, this.vectorDB, this.knowledge);\n }\n\n /**\n * Run a test suite\n * @param config - Test suite configuration\n * @returns Test suite report\n */\n async test(config: TestSuiteConfig): Promise<TestSuiteReport> {\n const runner = new TestRunner(this);\n return runner.run(config);\n }\n\n /**\n * Get the LLM adapter\n * @returns LLM adapter\n */\n getLLM(): LLMAdapter {\n return this.llm;\n }\n\n /**\n * Build a prompt from question and context\n * @param question - The question to answer\n * @param context - The context to use\n * @param _systemPrompt - The system prompt to use (unused)\n * @returns The built prompt\n */\n private buildPrompt(question: string, context: string, _systemPrompt?: string): string {\n if (!context) {\n return question;\n }\n\n return `Context information:\n---\n${context}\n---\n\nBased on the context above, please answer the following question:\n${question}`;\n }\n\n /**\n * Get the default system prompt\n * @param hasContext - Whether context is available\n * @returns The default system prompt\n */\n private getDefaultSystemPrompt(hasContext: boolean): string {\n if (hasContext) {\n return `You are a helpful assistant. Answer questions based on the provided context. If the context doesn't contain enough information to answer the question, say so clearly. Do not make up information.`;\n }\n return `You are a helpful assistant.`;\n }\n}\n\n/**\n * Create a new Orka instance\n * @param config - Orka configuration\n * @returns Orka instance\n */\nexport function createOrka(config: OrkaFullConfig): Orka {\n return new Orka(config);\n}\n"]}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// src/workflow/steps.ts
|
|
4
|
+
function plan(options = {}) {
|
|
5
|
+
return {
|
|
6
|
+
name: "plan",
|
|
7
|
+
async execute(ctx) {
|
|
8
|
+
const startTime = Date.now();
|
|
9
|
+
const prompt = options.prompt ?? `Analyze the following request and create a brief plan to answer it. Be concise.
|
|
10
|
+
|
|
11
|
+
Request: ${ctx.input}`;
|
|
12
|
+
const result = await ctx.llm.generate(prompt, {
|
|
13
|
+
temperature: 0.3,
|
|
14
|
+
maxTokens: 512,
|
|
15
|
+
systemPrompt: "You are a planning assistant. Create concise, actionable plans."
|
|
16
|
+
});
|
|
17
|
+
ctx.output = result.content;
|
|
18
|
+
ctx.metadata.plan = result.content;
|
|
19
|
+
ctx.history.push({
|
|
20
|
+
stepName: "plan",
|
|
21
|
+
output: result.content,
|
|
22
|
+
latencyMs: Date.now() - startTime,
|
|
23
|
+
usage: {
|
|
24
|
+
promptTokens: result.usage.promptTokens,
|
|
25
|
+
completionTokens: result.usage.completionTokens,
|
|
26
|
+
totalTokens: result.usage.totalTokens
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
return ctx;
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function retrieve(knowledgeName, options = {}) {
|
|
34
|
+
return {
|
|
35
|
+
name: "retrieve",
|
|
36
|
+
async execute(ctx) {
|
|
37
|
+
const startTime = Date.now();
|
|
38
|
+
if (!ctx.knowledge) {
|
|
39
|
+
throw new Error("Knowledge module not available in workflow context");
|
|
40
|
+
}
|
|
41
|
+
const query = ctx.metadata.plan ?? ctx.input;
|
|
42
|
+
const results = await ctx.knowledge.search(knowledgeName, query, {
|
|
43
|
+
topK: options.topK ?? 5,
|
|
44
|
+
minScore: options.minScore
|
|
45
|
+
});
|
|
46
|
+
ctx.context = results.map((r) => ({
|
|
47
|
+
content: r.content ?? "",
|
|
48
|
+
score: r.score,
|
|
49
|
+
metadata: r.metadata
|
|
50
|
+
}));
|
|
51
|
+
const contextText = ctx.context.map((c) => c.content).join("\n---\n");
|
|
52
|
+
ctx.output = contextText;
|
|
53
|
+
ctx.metadata.retrievedCount = results.length;
|
|
54
|
+
ctx.history.push({
|
|
55
|
+
stepName: "retrieve",
|
|
56
|
+
output: `Retrieved ${results.length} documents`,
|
|
57
|
+
latencyMs: Date.now() - startTime,
|
|
58
|
+
metadata: { documentCount: results.length }
|
|
59
|
+
});
|
|
60
|
+
return ctx;
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
function generate(options = {}) {
|
|
65
|
+
return {
|
|
66
|
+
name: "generate",
|
|
67
|
+
async execute(ctx) {
|
|
68
|
+
const startTime = Date.now();
|
|
69
|
+
let prompt = ctx.input;
|
|
70
|
+
if (ctx.context.length > 0) {
|
|
71
|
+
const contextText = ctx.context.map((c) => c.content).join("\n\n---\n\n");
|
|
72
|
+
prompt = `Context information:
|
|
73
|
+
---
|
|
74
|
+
${contextText}
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
Based on the context above, please answer:
|
|
78
|
+
${ctx.input}`;
|
|
79
|
+
}
|
|
80
|
+
const result = await ctx.llm.generate(prompt, {
|
|
81
|
+
temperature: options.temperature ?? 0.7,
|
|
82
|
+
maxTokens: options.maxTokens ?? 1024,
|
|
83
|
+
systemPrompt: options.systemPrompt ?? "You are a helpful assistant. Answer based on the provided context. Do not make up information."
|
|
84
|
+
});
|
|
85
|
+
ctx.output = result.content;
|
|
86
|
+
ctx.history.push({
|
|
87
|
+
stepName: "generate",
|
|
88
|
+
output: result.content,
|
|
89
|
+
latencyMs: Date.now() - startTime,
|
|
90
|
+
usage: {
|
|
91
|
+
promptTokens: result.usage.promptTokens,
|
|
92
|
+
completionTokens: result.usage.completionTokens,
|
|
93
|
+
totalTokens: result.usage.totalTokens
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
return ctx;
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
function verify(options = {}) {
|
|
101
|
+
return {
|
|
102
|
+
name: "verify",
|
|
103
|
+
async execute(ctx) {
|
|
104
|
+
const startTime = Date.now();
|
|
105
|
+
const lastOutput = ctx.output;
|
|
106
|
+
const criteriaText = options.criteria?.length ? options.criteria.map((c, i) => `${i + 1}. ${c}`).join("\n") : "1. The answer is relevant to the question\n2. The answer is based on provided context\n3. The answer does not contain hallucinated information";
|
|
107
|
+
const contextText = ctx.context.length > 0 ? `
|
|
108
|
+
Context:
|
|
109
|
+
${ctx.context.map((c) => c.content).join("\n---\n")}` : "";
|
|
110
|
+
const prompt = `You are a quality verification judge. Evaluate the following answer.
|
|
111
|
+
|
|
112
|
+
Question: ${ctx.input}
|
|
113
|
+
${contextText}
|
|
114
|
+
Answer: ${lastOutput}
|
|
115
|
+
|
|
116
|
+
Criteria:
|
|
117
|
+
${criteriaText}
|
|
118
|
+
|
|
119
|
+
Respond in this exact JSON format:
|
|
120
|
+
{"pass": true/false, "score": 0.0-1.0, "issues": ["issue1", "issue2"]}`;
|
|
121
|
+
const result = await ctx.llm.generate(prompt, {
|
|
122
|
+
temperature: 0,
|
|
123
|
+
maxTokens: 256,
|
|
124
|
+
systemPrompt: "You are a strict quality judge. Respond only with valid JSON."
|
|
125
|
+
});
|
|
126
|
+
let verification;
|
|
127
|
+
try {
|
|
128
|
+
const jsonMatch = result.content.match(/\{[\s\S]*\}/);
|
|
129
|
+
verification = JSON.parse(jsonMatch?.[0] ?? result.content);
|
|
130
|
+
} catch {
|
|
131
|
+
verification = { pass: true, score: 0.5, issues: ["Could not parse verification result"] };
|
|
132
|
+
}
|
|
133
|
+
ctx.metadata.verification = verification;
|
|
134
|
+
ctx.history.push({
|
|
135
|
+
stepName: "verify",
|
|
136
|
+
output: JSON.stringify(verification),
|
|
137
|
+
latencyMs: Date.now() - startTime,
|
|
138
|
+
usage: {
|
|
139
|
+
promptTokens: result.usage.promptTokens,
|
|
140
|
+
completionTokens: result.usage.completionTokens,
|
|
141
|
+
totalTokens: result.usage.totalTokens
|
|
142
|
+
},
|
|
143
|
+
metadata: verification
|
|
144
|
+
});
|
|
145
|
+
return ctx;
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
function improve(options = {}) {
|
|
150
|
+
return {
|
|
151
|
+
name: "improve",
|
|
152
|
+
async execute(ctx) {
|
|
153
|
+
const startTime = Date.now();
|
|
154
|
+
const verification = ctx.metadata.verification;
|
|
155
|
+
if (!verification || verification.pass) {
|
|
156
|
+
ctx.history.push({
|
|
157
|
+
stepName: "improve",
|
|
158
|
+
output: "No improvement needed",
|
|
159
|
+
latencyMs: Date.now() - startTime
|
|
160
|
+
});
|
|
161
|
+
return ctx;
|
|
162
|
+
}
|
|
163
|
+
const maxIter = options.maxIterations ?? 1;
|
|
164
|
+
let currentOutput = ctx.output;
|
|
165
|
+
for (let i = 0; i < maxIter; i++) {
|
|
166
|
+
const issues = verification.issues?.join("\n- ") ?? "Quality issues detected";
|
|
167
|
+
const contextText = ctx.context.length > 0 ? `
|
|
168
|
+
Context:
|
|
169
|
+
${ctx.context.map((c) => c.content).join("\n---\n")}` : "";
|
|
170
|
+
const prompt = `The following answer has quality issues that need to be fixed.
|
|
171
|
+
|
|
172
|
+
Question: ${ctx.input}
|
|
173
|
+
${contextText}
|
|
174
|
+
Current answer: ${currentOutput}
|
|
175
|
+
|
|
176
|
+
Issues to fix:
|
|
177
|
+
- ${issues}
|
|
178
|
+
|
|
179
|
+
Please provide an improved answer that addresses all the issues. Only output the improved answer, nothing else.`;
|
|
180
|
+
const result = await ctx.llm.generate(prompt, {
|
|
181
|
+
temperature: 0.3,
|
|
182
|
+
maxTokens: 1024,
|
|
183
|
+
systemPrompt: "You are a helpful assistant. Improve the answer based on the feedback."
|
|
184
|
+
});
|
|
185
|
+
currentOutput = result.content;
|
|
186
|
+
}
|
|
187
|
+
ctx.output = currentOutput;
|
|
188
|
+
ctx.history.push({
|
|
189
|
+
stepName: "improve",
|
|
190
|
+
output: currentOutput,
|
|
191
|
+
latencyMs: Date.now() - startTime
|
|
192
|
+
});
|
|
193
|
+
return ctx;
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
function custom(name, fn) {
|
|
198
|
+
return {
|
|
199
|
+
name,
|
|
200
|
+
execute: fn
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
exports.custom = custom;
|
|
205
|
+
exports.generate = generate;
|
|
206
|
+
exports.improve = improve;
|
|
207
|
+
exports.plan = plan;
|
|
208
|
+
exports.retrieve = retrieve;
|
|
209
|
+
exports.verify = verify;
|
|
210
|
+
//# sourceMappingURL=chunk-KFPQL35S.cjs.map
|
|
211
|
+
//# sourceMappingURL=chunk-KFPQL35S.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/workflow/steps.ts"],"names":[],"mappings":"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","file":"chunk-KFPQL35S.cjs","sourcesContent":["import type { WorkflowStep, WorkflowContext } from './types.js';\n\nexport function plan(options: { prompt?: string } = {}): WorkflowStep {\n return {\n name: 'plan',\n async execute(ctx: WorkflowContext): Promise<WorkflowContext> {\n const startTime = Date.now();\n const prompt = options.prompt ?? \n `Analyze the following request and create a brief plan to answer it. Be concise.\\n\\nRequest: ${ctx.input}`;\n\n const result = await ctx.llm.generate(prompt, {\n temperature: 0.3,\n maxTokens: 512,\n systemPrompt: 'You are a planning assistant. Create concise, actionable plans.',\n });\n\n ctx.output = result.content;\n ctx.metadata.plan = result.content;\n ctx.history.push({\n stepName: 'plan',\n output: result.content,\n latencyMs: Date.now() - startTime,\n usage: {\n promptTokens: result.usage.promptTokens,\n completionTokens: result.usage.completionTokens,\n totalTokens: result.usage.totalTokens,\n },\n });\n\n return ctx;\n },\n };\n}\n\nexport function retrieve(knowledgeName: string, options: { topK?: number; minScore?: number } = {}): WorkflowStep {\n return {\n name: 'retrieve',\n async execute(ctx: WorkflowContext): Promise<WorkflowContext> {\n const startTime = Date.now();\n\n if (!ctx.knowledge) {\n throw new Error('Knowledge module not available in workflow context');\n }\n\n const query = ctx.metadata.plan as string ?? ctx.input;\n const results = await ctx.knowledge.search(knowledgeName, query, {\n topK: options.topK ?? 5,\n minScore: options.minScore,\n });\n\n ctx.context = results.map(r => ({\n content: r.content ?? '',\n score: r.score,\n metadata: r.metadata,\n }));\n\n const contextText = ctx.context.map(c => c.content).join('\\n---\\n');\n ctx.output = contextText;\n ctx.metadata.retrievedCount = results.length;\n\n ctx.history.push({\n stepName: 'retrieve',\n output: `Retrieved ${results.length} documents`,\n latencyMs: Date.now() - startTime,\n metadata: { documentCount: results.length },\n });\n\n return ctx;\n },\n };\n}\n\nexport function generate(options: { systemPrompt?: string; temperature?: number; maxTokens?: number } = {}): WorkflowStep {\n return {\n name: 'generate',\n async execute(ctx: WorkflowContext): Promise<WorkflowContext> {\n const startTime = Date.now();\n\n let prompt = ctx.input;\n if (ctx.context.length > 0) {\n const contextText = ctx.context.map(c => c.content).join('\\n\\n---\\n\\n');\n prompt = `Context information:\\n---\\n${contextText}\\n---\\n\\nBased on the context above, please answer:\\n${ctx.input}`;\n }\n\n const result = await ctx.llm.generate(prompt, {\n temperature: options.temperature ?? 0.7,\n maxTokens: options.maxTokens ?? 1024,\n systemPrompt: options.systemPrompt ?? 'You are a helpful assistant. Answer based on the provided context. Do not make up information.',\n });\n\n ctx.output = result.content;\n ctx.history.push({\n stepName: 'generate',\n output: result.content,\n latencyMs: Date.now() - startTime,\n usage: {\n promptTokens: result.usage.promptTokens,\n completionTokens: result.usage.completionTokens,\n totalTokens: result.usage.totalTokens,\n },\n });\n\n return ctx;\n },\n };\n}\n\nexport function verify(options: { criteria?: string[] } = {}): WorkflowStep {\n return {\n name: 'verify',\n async execute(ctx: WorkflowContext): Promise<WorkflowContext> {\n const startTime = Date.now();\n const lastOutput = ctx.output;\n\n const criteriaText = options.criteria?.length\n ? options.criteria.map((c, i) => `${i + 1}. ${c}`).join('\\n')\n : '1. The answer is relevant to the question\\n2. The answer is based on provided context\\n3. The answer does not contain hallucinated information';\n\n const contextText = ctx.context.length > 0\n ? `\\nContext:\\n${ctx.context.map(c => c.content).join('\\n---\\n')}`\n : '';\n\n const prompt = `You are a quality verification judge. Evaluate the following answer.\n\nQuestion: ${ctx.input}\n${contextText}\nAnswer: ${lastOutput}\n\nCriteria:\n${criteriaText}\n\nRespond in this exact JSON format:\n{\"pass\": true/false, \"score\": 0.0-1.0, \"issues\": [\"issue1\", \"issue2\"]}`;\n\n const result = await ctx.llm.generate(prompt, {\n temperature: 0,\n maxTokens: 256,\n systemPrompt: 'You are a strict quality judge. Respond only with valid JSON.',\n });\n\n let verification: { pass: boolean; score: number; issues: string[] };\n try {\n const jsonMatch = result.content.match(/\\{[\\s\\S]*\\}/);\n verification = JSON.parse(jsonMatch?.[0] ?? result.content);\n } catch {\n verification = { pass: true, score: 0.5, issues: ['Could not parse verification result'] };\n }\n\n ctx.metadata.verification = verification;\n ctx.history.push({\n stepName: 'verify',\n output: JSON.stringify(verification),\n latencyMs: Date.now() - startTime,\n usage: {\n promptTokens: result.usage.promptTokens,\n completionTokens: result.usage.completionTokens,\n totalTokens: result.usage.totalTokens,\n },\n metadata: verification,\n });\n\n return ctx;\n },\n };\n}\n\nexport function improve(options: { maxIterations?: number } = {}): WorkflowStep {\n return {\n name: 'improve',\n async execute(ctx: WorkflowContext): Promise<WorkflowContext> {\n const startTime = Date.now();\n const verification = ctx.metadata.verification as { pass: boolean; score: number; issues: string[] } | undefined;\n\n if (!verification || verification.pass) {\n ctx.history.push({\n stepName: 'improve',\n output: 'No improvement needed',\n latencyMs: Date.now() - startTime,\n });\n return ctx;\n }\n\n const maxIter = options.maxIterations ?? 1;\n let currentOutput = ctx.output;\n\n for (let i = 0; i < maxIter; i++) {\n const issues = verification.issues?.join('\\n- ') ?? 'Quality issues detected';\n const contextText = ctx.context.length > 0\n ? `\\nContext:\\n${ctx.context.map(c => c.content).join('\\n---\\n')}`\n : '';\n\n const prompt = `The following answer has quality issues that need to be fixed.\n\nQuestion: ${ctx.input}\n${contextText}\nCurrent answer: ${currentOutput}\n\nIssues to fix:\n- ${issues}\n\nPlease provide an improved answer that addresses all the issues. Only output the improved answer, nothing else.`;\n\n const result = await ctx.llm.generate(prompt, {\n temperature: 0.3,\n maxTokens: 1024,\n systemPrompt: 'You are a helpful assistant. Improve the answer based on the feedback.',\n });\n\n currentOutput = result.content;\n }\n\n ctx.output = currentOutput;\n ctx.history.push({\n stepName: 'improve',\n output: currentOutput,\n latencyMs: Date.now() - startTime,\n });\n\n return ctx;\n },\n };\n}\n\nexport function custom(name: string, fn: (ctx: WorkflowContext) => Promise<WorkflowContext>): WorkflowStep {\n return {\n name,\n execute: fn,\n };\n}\n"]}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
// src/orchestration/load-balancer.ts
|
|
2
|
+
var LoadBalancerLLM = class {
|
|
3
|
+
name = "load-balancer";
|
|
4
|
+
adapters;
|
|
5
|
+
strategy;
|
|
6
|
+
currentIndex = 0;
|
|
7
|
+
tokenCounts = /* @__PURE__ */ new Map();
|
|
8
|
+
constructor(config) {
|
|
9
|
+
if (config.adapters.length === 0) {
|
|
10
|
+
throw new Error("LoadBalancerLLM requires at least 1 adapter");
|
|
11
|
+
}
|
|
12
|
+
this.adapters = config.adapters;
|
|
13
|
+
this.strategy = config.strategy;
|
|
14
|
+
for (const adapter of this.adapters) {
|
|
15
|
+
this.tokenCounts.set(adapter.name, 0);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
async generate(prompt, options) {
|
|
19
|
+
const adapter = this.selectAdapter();
|
|
20
|
+
const result = await adapter.generate(prompt, options);
|
|
21
|
+
this.tokenCounts.set(
|
|
22
|
+
adapter.name,
|
|
23
|
+
(this.tokenCounts.get(adapter.name) ?? 0) + result.usage.totalTokens
|
|
24
|
+
);
|
|
25
|
+
return {
|
|
26
|
+
...result,
|
|
27
|
+
model: `lb/${adapter.name}/${result.model}`
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
async embed(texts) {
|
|
31
|
+
const adapter = this.selectAdapter();
|
|
32
|
+
return adapter.embed(texts);
|
|
33
|
+
}
|
|
34
|
+
getStats() {
|
|
35
|
+
const stats = {};
|
|
36
|
+
for (const [name, tokens] of this.tokenCounts.entries()) {
|
|
37
|
+
stats[name] = tokens;
|
|
38
|
+
}
|
|
39
|
+
return stats;
|
|
40
|
+
}
|
|
41
|
+
resetStats() {
|
|
42
|
+
for (const adapter of this.adapters) {
|
|
43
|
+
this.tokenCounts.set(adapter.name, 0);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
selectAdapter() {
|
|
47
|
+
switch (this.strategy) {
|
|
48
|
+
case "round_robin":
|
|
49
|
+
return this.roundRobin();
|
|
50
|
+
case "random":
|
|
51
|
+
return this.random();
|
|
52
|
+
case "least_tokens":
|
|
53
|
+
return this.leastTokens();
|
|
54
|
+
default:
|
|
55
|
+
return this.roundRobin();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
roundRobin() {
|
|
59
|
+
const adapter = this.adapters[this.currentIndex % this.adapters.length];
|
|
60
|
+
this.currentIndex++;
|
|
61
|
+
return adapter;
|
|
62
|
+
}
|
|
63
|
+
random() {
|
|
64
|
+
const idx = Math.floor(Math.random() * this.adapters.length);
|
|
65
|
+
return this.adapters[idx];
|
|
66
|
+
}
|
|
67
|
+
leastTokens() {
|
|
68
|
+
let minTokens = Infinity;
|
|
69
|
+
let selected = this.adapters[0];
|
|
70
|
+
for (const adapter of this.adapters) {
|
|
71
|
+
const tokens = this.tokenCounts.get(adapter.name) ?? 0;
|
|
72
|
+
if (tokens < minTokens) {
|
|
73
|
+
minTokens = tokens;
|
|
74
|
+
selected = adapter;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return selected;
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export { LoadBalancerLLM };
|
|
82
|
+
//# sourceMappingURL=chunk-KJCF6HNO.js.map
|
|
83
|
+
//# sourceMappingURL=chunk-KJCF6HNO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/orchestration/load-balancer.ts"],"names":[],"mappings":"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","file":"chunk-KJCF6HNO.js","sourcesContent":["import type { LLMAdapter, LLMGenerateOptions, LLMResult } from '../types/index.js';\nimport type { LoadBalancerConfig } from './types.js';\n\nexport class LoadBalancerLLM implements LLMAdapter {\n readonly name = 'load-balancer';\n private adapters: LLMAdapter[];\n private strategy: LoadBalancerConfig['strategy'];\n private currentIndex = 0;\n private tokenCounts: Map<string, number> = new Map();\n\n constructor(config: LoadBalancerConfig) {\n if (config.adapters.length === 0) {\n throw new Error('LoadBalancerLLM requires at least 1 adapter');\n }\n this.adapters = config.adapters;\n this.strategy = config.strategy;\n for (const adapter of this.adapters) {\n this.tokenCounts.set(adapter.name, 0);\n }\n }\n\n async generate(prompt: string, options?: LLMGenerateOptions): Promise<LLMResult> {\n const adapter = this.selectAdapter();\n const result = await adapter.generate(prompt, options);\n\n this.tokenCounts.set(\n adapter.name,\n (this.tokenCounts.get(adapter.name) ?? 0) + result.usage.totalTokens,\n );\n\n return {\n ...result,\n model: `lb/${adapter.name}/${result.model}`,\n };\n }\n\n async embed(texts: string | string[]): Promise<number[][]> {\n const adapter = this.selectAdapter();\n return adapter.embed(texts);\n }\n\n getStats(): Record<string, number> {\n const stats: Record<string, number> = {};\n for (const [name, tokens] of this.tokenCounts.entries()) {\n stats[name] = tokens;\n }\n return stats;\n }\n\n resetStats(): void {\n for (const adapter of this.adapters) {\n this.tokenCounts.set(adapter.name, 0);\n }\n }\n\n private selectAdapter(): LLMAdapter {\n switch (this.strategy) {\n case 'round_robin':\n return this.roundRobin();\n case 'random':\n return this.random();\n case 'least_tokens':\n return this.leastTokens();\n default:\n return this.roundRobin();\n }\n }\n\n private roundRobin(): LLMAdapter {\n const adapter = this.adapters[this.currentIndex % this.adapters.length];\n this.currentIndex++;\n return adapter;\n }\n\n private random(): LLMAdapter {\n const idx = Math.floor(Math.random() * this.adapters.length);\n return this.adapters[idx];\n }\n\n private leastTokens(): LLMAdapter {\n let minTokens = Infinity;\n let selected = this.adapters[0];\n\n for (const adapter of this.adapters) {\n const tokens = this.tokenCounts.get(adapter.name) ?? 0;\n if (tokens < minTokens) {\n minTokens = tokens;\n selected = adapter;\n }\n }\n\n return selected;\n }\n}\n"]}
|