@docrouter/sdk 0.2.2 → 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/dist/.tsbuildinfo CHANGED
@@ -1 +1 @@
1
- {"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/axios/index.d.ts","../src/types/index.ts","../src/http-client.ts","../src/docrouter-account.ts","../src/docrouter-org.ts","../src/index.ts","../node_modules/bson/bson.d.ts","../node_modules/mongodb/mongodb.d.ts","../tests/setup/mongodb-setup.ts","../tests/setup/test-fixtures.ts","../tests/setup/jest-setup.ts","../tests/integration/account-apis.test.ts","../tests/integration/auth.test.ts","../tests/integration/documents.test.ts","../tests/integration/forms.test.ts","../tests/integration/llm.test.ts","../tests/integration/prompts.test.ts","../tests/integration/schemas.test.ts","../tests/integration/sdk-functionality.test.ts","../tests/integration/tags.test.ts","../tests/integration/users.test.ts","../tests/setup/test-server.ts","../tests/setup/global-setup.ts","../tests/setup/global-teardown.ts","../tests/unit/account-apis.test.ts","../tests/unit/sdk-clients.test.ts","../node_modules/@jest/expect-utils/build/index.d.ts","../node_modules/chalk/index.d.ts","../node_modules/@sinclair/typebox/typebox.d.ts","../node_modules/@jest/schemas/build/index.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/expect/build/index.d.ts","../node_modules/@types/jest/index.d.ts","../node_modules/@types/node/compatibility/disposable.d.ts","../node_modules/@types/node/compatibility/indexable.d.ts","../node_modules/@types/node/compatibility/iterators.d.ts","../node_modules/@types/node/compatibility/index.d.ts","../node_modules/@types/node/globals.typedarray.d.ts","../node_modules/@types/node/buffer.buffer.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/web-globals/abortcontroller.d.ts","../node_modules/@types/node/web-globals/domexception.d.ts","../node_modules/@types/node/web-globals/events.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/web-globals/fetch.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.generated.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/sea.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/index.d.ts"],"fileIdsList":[[87,133],[75,87,133],[77,80,87,133],[87,130,133],[87,132,133],[133],[87,133,138,166],[87,133,134,139,144,152,163,174],[87,133,134,135,144,152],[82,83,84,87,133],[87,133,136,175],[87,133,137,138,145,153],[87,133,138,163,171],[87,133,139,141,144,152],[87,132,133,140],[87,133,141,142],[87,133,143,144],[87,132,133,144],[87,133,144,145,146,163,174],[87,133,144,145,146,159,163,166],[87,133,141,144,147,152,163,174],[87,133,144,145,147,148,152,163,171,174],[87,133,147,149,163,171,174],[85,86,87,88,89,90,91,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180],[87,133,144,150],[87,133,151,174,179],[87,133,141,144,152,163],[87,133,153],[87,133,154],[87,132,133,155],[87,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180],[87,133,157],[87,133,158],[87,133,144,159,160],[87,133,159,161,175,177],[87,133,144,163,164,166],[87,133,165,166],[87,133,163,164],[87,133,166],[87,133,167],[87,130,133,163,168],[87,133,144,169,170],[87,133,169,170],[87,133,138,152,163,171],[87,133,172],[87,133,152,173],[87,133,147,158,174],[87,133,138,175],[87,133,163,176],[87,133,151,177],[87,133,178],[87,128,133],[87,128,133,144,146,155,163,166,174,177,179],[87,133,163,180],[73,79,87,133],[77,87,133],[74,78,87,133],[53,87,133,141,144,152,163,171],[76,87,133],[87,100,104,133,174],[87,100,133,163,174],[87,95,133],[87,97,100,133,171,174],[87,133,152,171],[87,133,181],[87,95,133,181],[87,97,100,133,152,174],[87,92,93,96,99,133,144,163,174],[87,100,107,133],[87,92,98,133],[87,100,121,122,133],[87,96,100,133,166,174,181],[87,121,133,181],[87,94,95,133,181],[87,100,133],[87,94,95,96,97,98,99,100,101,102,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,133],[87,100,115,133],[87,100,107,108,133],[87,98,100,108,109,133],[87,99,133],[87,92,95,100,133],[87,100,104,108,109,133],[87,104,133],[87,98,100,103,133,174],[87,92,97,100,107,133],[87,133,163],[87,95,100,121,133,179,181],[48,49,87,133],[47,48,87,133],[48,49,50,51,87,133],[52,57,87,133],[52,87,133],[55,68,87,133,145,154],[87,133,145,154],[54,55,56,87,133,145,154],[54,87,133],[47,54,87,133,138],[54,87,133,134,145,154,170],[49,52,87,133]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"7584239b853f690c6629ae8bb683ded6ff33104e7835778bbca5ee1b1d9a0a91","impliedFormat":99},{"version":"742cd343455932eedde514c5b0dd807ad8fb3fa9cf1e60592c25232cd1196699","signature":"ddf55715cf252cef627cf5589a1c8aa72cd50fbd506c6fb6223a56b10ad5d9c2"},"1fbde7d126571e378689161617a481e4fb67954c09cd4c75f2102706baa0c1ec",{"version":"958f5e69355cef86433b6f71020107df5e72e1312f68a45344073b286ae7d327","signature":"d3ec9cf1ce149a060b18b607f9f47c57e1a87a096afcc92a3304400f92972c87"},"535429e8a272cfe438fa7398d4df9bfab4ad200476d6ea086d48e167d0dc400e","92bf3e34a41c7ec998670d1434bdb707d666de999d7c5be6e15b56313b0d4133",{"version":"359e7188a3ad226e902c43443a45f17bd53bf279596aece7761dc72ffa22b30d","impliedFormat":1},{"version":"aa50d0691c396fb3677d7240e8fb0b842ebf7e113a14ef092833717e3cb2f7fa","impliedFormat":1},"3cf5728c3dc05eaf3cda84d3c4184c234874f2a2738fc06765882967860a8149","5821a46a4c6605b00484903eea5ff0cab75aa3b9dcef8d5482277fc71f84a6e2","d4762a54f81b995d336e1953b2791c7c3da2acaa94fc2a19c8f36a4d6cf99646","263dcce17e0ca21198e549d230d7671ab9c33fdbce46e176f77bdc32f60c97a2","32a3b147fd6a05a6352a1ef82c14404f54406bed5858f276d4d9842d49b61634","0c53f93c18c03d88f99bd350eb72a4042a45fc7eabe3a6d043409a882d40b563","15ce2686a190d496c6cb4f742cc1c4b0e8957eb405b54ab348ac2c38ab01d6d4","1c1bb21a690a99f6a09854ed02f141f4d1d67433026772c903d7bb7be5286d3e","511715c4c6c949c466cdc4a3cac7c627e67a2b9ec02869ccdd27418565298667","1cca1de48b2030a02698b7a7f5a34e9731699670f50b6d9b90d299f111697117","0806ef8db30e9af0753e50e9f55fc85c5b8fde1cd67e273ce03d054a9d4c5740","058a615824b0275037892a9350a5e219c58ec2c36b4acaf1d69ebee5ee71c537","4d6de750aa02356b404ac71ab7e25aa8c5dd7cfce8c38dd42a36e6ed92959823",{"version":"323b83baa5b22e3679b1210a80cff308ec681c094716d2a059244a62d2fa4501","signature":"427d45ee1df62a1270a503a7191bbdb1a69f7b7e3df1c7d2e98802fdc6853142"},"ed816fb621903082f43444ec8be52bd0d922d857c520a4b37c9e9694fb8afd30","f2e6ff8fe97c5fcebf9182004b274dccb1d2d482df59bf3eb2a05f25c71282b3",{"version":"334fe75b38fb2a3dcc73e581e5babb2cb3664855c06825282ea23964f3f4eea1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"f60ae536bd0674fdd187f0e3a1a154a7b3249c2b23497818e5d53d642a70652b",{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"f8db4fea512ab759b2223b90ecbbe7dae919c02f8ce95ec03f7fb1cf757cfbeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"49a5a44f2e68241a1d2bd9ec894535797998841c09729e506a7cbfcaa40f2180","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d9ef24f9a22a88e3e9b3b3d8c40ab1ddb0853f1bfbd5c843c37800138437b61","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"2cbe0621042e2a68c7cbce5dfed3906a1862a16a7d496010636cdbdb91341c0f","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2677634fe27e87348825bb041651e22d50a613e2fdf6a4a3ade971d71bac37e","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8c0bcd6c6b67b4b503c11e91a1fb91522ed585900eab2ab1f61bba7d7caa9d6f","impliedFormat":1},{"version":"567b7f607f400873151d7bc63a049514b53c3c00f5f56e9e95695d93b66a138e","affectsGlobalScope":true,"impliedFormat":1},{"version":"68ba7d7e4a34414e812c3fc77727366da26afe1ee575455628db0ba3a1e0ae63","impliedFormat":1},{"version":"b9b881045ea548a057056c0dea01cbed5db634356a5440b715040f5d260bdf68","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"eff99fb8e69bff92fd8e6c18e4ebf3f762926c498d155729d28dfb2bddfe428c","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d04e3640dd9eb67f7f1e5bd3d0bf96c784666f7aefc8ac1537af6f2d38d4c29","impliedFormat":1},{"version":"9d19808c8c291a9010a6c788e8532a2da70f811adb431c97520803e0ec649991","impliedFormat":1},{"version":"87aad3dd9752067dc875cfaa466fc44246451c0c560b820796bdd528e29bef40","impliedFormat":1},{"version":"4aacb0dd020eeaef65426153686cc639a78ec2885dc72ad220be1d25f1a439df","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"8db0ae9cb14d9955b14c214f34dae1b9ef2baee2fe4ce794a4cd3ac2531e3255","affectsGlobalScope":true,"impliedFormat":1},{"version":"881a94bbc18ad3616e93c5063bb03e702d82dd9ac4bc286e992e16a931a4f146","impliedFormat":1},{"version":"685657a3ec619ef12aa7f754eee3b28598d3bf9749da89839a72a343fffef5ff","impliedFormat":1},{"version":"f053e5d4a5e7e50c07fced3b13f6aef66c49f92e92c3e83da0da5e025f915543","impliedFormat":1},{"version":"d51990e06fce43eb05e638f1df07558126d588b3b7f92f398b83ec15cfa7e196","impliedFormat":1},{"version":"e1d94cb75140795ba8881a50563ed2872fb6d5954ab21717256fdbcf66a2ac6a","impliedFormat":1},{"version":"5650cf3dace09e7c25d384e3e6b818b938f68f4e8de96f52d9c5a1b3db068e86","impliedFormat":1},{"version":"1354ca5c38bd3fd3836a68e0f7c9f91f172582ba30ab15bb8c075891b91502b7","affectsGlobalScope":true,"impliedFormat":1},{"version":"a87ea9de0593dbcc5d3969188f96b2fdcf55d40b5dd0e89257e5be72d2a548c0","impliedFormat":1},{"version":"e9abad184aca454f338338c8018e5d4dab634cea2d6db7a69ff315d9b8647477","impliedFormat":1},{"version":"afbe24ab0d74694372baa632ecb28bb375be53f3be53f9b07ecd7fc994907de5","impliedFormat":1},{"version":"ca867399f7db82df981d6915bcbb2d81131d7d1ef683bc782b59f71dda59bc85","affectsGlobalScope":true,"impliedFormat":1},{"version":"d846dd3e94a1d15d89e13456d32fbcc1126cd7d08218b7b5e98140da3d206d13","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"b4f70ec656a11d570e1a9edce07d118cd58d9760239e2ece99306ee9dfe61d02","impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","impliedFormat":1},{"version":"6e70e9570e98aae2b825b533aa6292b6abd542e8d9f6e9475e88e1d7ba17c866","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"47ab634529c5955b6ad793474ae188fce3e6163e3a3fb5edd7e0e48f14435333","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"0225ecb9ed86bdb7a2c7fd01f1556906902929377b44483dc4b83e03b3ef227d","affectsGlobalScope":true,"impliedFormat":1},{"version":"1851a3b4db78664f83901bb9cac9e45e03a37bb5933cc5bf37e10bb7e91ab4eb","impliedFormat":1},{"version":"5eab9b3dc9b34f185417342436ec3f106898da5f4801992d8ff38ab3aff346b5","impliedFormat":1},{"version":"12ed4559eba17cd977aa0db658d25c4047067444b51acfdcbf38470630642b23","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3ffabc95802521e1e4bcba4c88d8615176dc6e09111d920c7a213bdda6e1d65","impliedFormat":1},{"version":"e04b85e2b08f6e659387bd37953e89afb219cd2fa9883c7565b61aea84335915","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"dfb96ba5177b68003deec9e773c47257da5c4c8a74053d8956389d832df72002","affectsGlobalScope":true,"impliedFormat":1},{"version":"92d3070580cf72b4bb80959b7f16ede9a3f39e6f4ef2ac87cfa4561844fdc69f","affectsGlobalScope":true,"impliedFormat":1},{"version":"09913a6464bdeae74e00d7cc7d5921847178d74c1eadd3bf14b72988cca15f77","impliedFormat":1},{"version":"3c61ec39cb462f6d1f8598e0ecef780705300409b27e0ed103301d761109d227","impliedFormat":1},{"version":"d91a7d8b5655c42986f1bdfe2105c4408f472831c8f20cf11a8c3345b6b56c8c","impliedFormat":1},{"version":"ed59add13139f84da271cafd32e2171876b0a0af2f798d0c663e8eeb867732cf","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8a979b8af001c9fc2e774e7809d233c8ca955a28756f52ee5dee88ccb0611d2","impliedFormat":1},{"version":"b1810689b76fd473bd12cc9ee219f8e62f54a7d08019a235d07424afbf074d25","impliedFormat":1}],"root":[[48,52],[55,72]],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":99,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"target":7,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[73,1],[76,2],[75,1],[81,3],[130,4],[131,4],[132,5],[87,6],[133,7],[134,8],[135,9],[82,1],[85,10],[83,1],[84,1],[136,11],[137,12],[138,13],[139,14],[140,15],[141,16],[142,16],[143,17],[144,18],[145,19],[146,20],[88,1],[86,1],[147,21],[148,22],[149,23],[181,24],[150,25],[151,26],[152,27],[153,28],[154,29],[155,30],[156,31],[157,32],[158,33],[159,34],[160,34],[161,35],[162,1],[163,36],[165,37],[164,38],[166,39],[167,40],[168,41],[169,42],[170,43],[171,44],[172,45],[173,46],[174,47],[175,48],[176,49],[177,50],[178,51],[89,1],[90,1],[91,1],[129,52],[179,53],[180,54],[47,1],[53,1],[74,1],[80,55],[78,56],[79,57],[54,58],[77,59],[45,1],[46,1],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[19,1],[20,1],[4,1],[21,1],[25,1],[22,1],[23,1],[24,1],[26,1],[27,1],[28,1],[5,1],[29,1],[30,1],[31,1],[32,1],[6,1],[36,1],[33,1],[34,1],[35,1],[37,1],[7,1],[38,1],[43,1],[44,1],[39,1],[40,1],[41,1],[42,1],[1,1],[107,60],[117,61],[106,60],[127,62],[98,63],[97,64],[126,65],[120,66],[125,67],[100,68],[114,69],[99,70],[123,71],[95,72],[94,65],[124,73],[96,74],[101,75],[102,1],[105,75],[92,1],[128,76],[118,77],[109,78],[110,79],[112,80],[108,81],[111,82],[121,65],[103,83],[104,84],[113,85],[93,86],[116,77],[115,75],[119,1],[122,87],[50,88],[51,88],[49,89],[52,90],[48,1],[58,91],[59,91],[60,91],[61,91],[62,91],[63,91],[64,91],[65,92],[66,91],[67,91],[69,93],[70,94],[57,95],[55,96],[56,97],[68,98],[71,99],[72,92]],"affectedFilesPendingEmit":[[50,51],[51,51],[49,51],[52,51],[48,51],[58,51],[59,51],[60,51],[61,51],[62,51],[63,51],[64,51],[65,51],[66,51],[67,51],[69,51],[70,51],[57,51],[55,51],[56,51],[68,51],[71,51],[72,51]],"version":"5.9.3"}
1
+ {"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/axios/index.d.ts","../src/types/index.ts","../src/http-client.ts","../src/docrouter-account.ts","../src/docrouter-org.ts","../src/index.ts","../node_modules/bson/bson.d.ts","../node_modules/mongodb/mongodb.d.ts","../tests/setup/mongodb-setup.ts","../tests/setup/test-fixtures.ts","../tests/setup/jest-setup.ts","../tests/integration/account-apis.test.ts","../tests/integration/auth.test.ts","../tests/integration/documents.test.ts","../tests/integration/forms.test.ts","../tests/integration/llm.test.ts","../tests/integration/prompts.test.ts","../tests/integration/schemas.test.ts","../tests/integration/sdk-functionality.test.ts","../tests/integration/tags.test.ts","../tests/integration/users.test.ts","../tests/setup/test-server.ts","../tests/setup/global-setup.ts","../tests/setup/global-teardown.ts","../tests/unit/account-apis.test.ts","../tests/unit/sdk-clients.test.ts","../node_modules/@jest/expect-utils/build/index.d.ts","../node_modules/chalk/index.d.ts","../node_modules/@sinclair/typebox/typebox.d.ts","../node_modules/@jest/schemas/build/index.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/expect/build/index.d.ts","../node_modules/@types/jest/index.d.ts","../node_modules/@types/node/compatibility/disposable.d.ts","../node_modules/@types/node/compatibility/indexable.d.ts","../node_modules/@types/node/compatibility/iterators.d.ts","../node_modules/@types/node/compatibility/index.d.ts","../node_modules/@types/node/globals.typedarray.d.ts","../node_modules/@types/node/buffer.buffer.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/web-globals/abortcontroller.d.ts","../node_modules/@types/node/web-globals/domexception.d.ts","../node_modules/@types/node/web-globals/events.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/web-globals/fetch.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.generated.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/sea.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/index.d.ts"],"fileIdsList":[[87,133],[75,87,133],[77,80,87,133],[87,130,133],[87,132,133],[133],[87,133,138,166],[87,133,134,139,144,152,163,174],[87,133,134,135,144,152],[82,83,84,87,133],[87,133,136,175],[87,133,137,138,145,153],[87,133,138,163,171],[87,133,139,141,144,152],[87,132,133,140],[87,133,141,142],[87,133,143,144],[87,132,133,144],[87,133,144,145,146,163,174],[87,133,144,145,146,159,163,166],[87,133,141,144,147,152,163,174],[87,133,144,145,147,148,152,163,171,174],[87,133,147,149,163,171,174],[85,86,87,88,89,90,91,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180],[87,133,144,150],[87,133,151,174,179],[87,133,141,144,152,163],[87,133,153],[87,133,154],[87,132,133,155],[87,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180],[87,133,157],[87,133,158],[87,133,144,159,160],[87,133,159,161,175,177],[87,133,144,163,164,166],[87,133,165,166],[87,133,163,164],[87,133,166],[87,133,167],[87,130,133,163,168],[87,133,144,169,170],[87,133,169,170],[87,133,138,152,163,171],[87,133,172],[87,133,152,173],[87,133,147,158,174],[87,133,138,175],[87,133,163,176],[87,133,151,177],[87,133,178],[87,128,133],[87,128,133,144,146,155,163,166,174,177,179],[87,133,163,180],[73,79,87,133],[77,87,133],[74,78,87,133],[53,87,133,141,144,152,163,171],[76,87,133],[87,100,104,133,174],[87,100,133,163,174],[87,95,133],[87,97,100,133,171,174],[87,133,152,171],[87,133,181],[87,95,133,181],[87,97,100,133,152,174],[87,92,93,96,99,133,144,163,174],[87,100,107,133],[87,92,98,133],[87,100,121,122,133],[87,96,100,133,166,174,181],[87,121,133,181],[87,94,95,133,181],[87,100,133],[87,94,95,96,97,98,99,100,101,102,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,133],[87,100,115,133],[87,100,107,108,133],[87,98,100,108,109,133],[87,99,133],[87,92,95,100,133],[87,100,104,108,109,133],[87,104,133],[87,98,100,103,133,174],[87,92,97,100,107,133],[87,133,163],[87,95,100,121,133,179,181],[48,49,87,133],[47,48,87,133],[48,49,50,51,87,133],[52,57,87,133],[52,87,133],[55,68,87,133,145,154],[87,133,145,154],[54,55,56,87,133,145,154],[54,87,133],[47,54,87,133,138],[54,87,133,134,145,154,170],[49,52,87,133]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"7584239b853f690c6629ae8bb683ded6ff33104e7835778bbca5ee1b1d9a0a91","impliedFormat":99},{"version":"6b1080339ffc902bcbebe4a61140692f8fe23b037e1794336c540152a48f0287","signature":"9c8b2813061d24c413859ed121179b02599994b671797e2a5204414d55494ff0"},"1fbde7d126571e378689161617a481e4fb67954c09cd4c75f2102706baa0c1ec","958f5e69355cef86433b6f71020107df5e72e1312f68a45344073b286ae7d327",{"version":"8cd24e596106b18e372022bc94659d53c1178ce4bd11b327cd87d13b1b3f584e","signature":"10323c657db573b69e9d9e90b8c418c43f2f24fbaf19b9218a96ed4d011e21b3"},"92bf3e34a41c7ec998670d1434bdb707d666de999d7c5be6e15b56313b0d4133",{"version":"359e7188a3ad226e902c43443a45f17bd53bf279596aece7761dc72ffa22b30d","impliedFormat":1},{"version":"aa50d0691c396fb3677d7240e8fb0b842ebf7e113a14ef092833717e3cb2f7fa","impliedFormat":1},"3cf5728c3dc05eaf3cda84d3c4184c234874f2a2738fc06765882967860a8149","5821a46a4c6605b00484903eea5ff0cab75aa3b9dcef8d5482277fc71f84a6e2","d4762a54f81b995d336e1953b2791c7c3da2acaa94fc2a19c8f36a4d6cf99646",{"version":"2367a13dc4a5fdd786311177af3c4eb93ba056b966a6b9e938eea10bbac1a7b0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"32a3b147fd6a05a6352a1ef82c14404f54406bed5858f276d4d9842d49b61634","0c53f93c18c03d88f99bd350eb72a4042a45fc7eabe3a6d043409a882d40b563","15ce2686a190d496c6cb4f742cc1c4b0e8957eb405b54ab348ac2c38ab01d6d4",{"version":"a15039aa92b36f8dfc6bb4697f59ba2e1859b05803a1244085f32fbef0d5dfc7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"511715c4c6c949c466cdc4a3cac7c627e67a2b9ec02869ccdd27418565298667","1cca1de48b2030a02698b7a7f5a34e9731699670f50b6d9b90d299f111697117","0806ef8db30e9af0753e50e9f55fc85c5b8fde1cd67e273ce03d054a9d4c5740","058a615824b0275037892a9350a5e219c58ec2c36b4acaf1d69ebee5ee71c537","4d6de750aa02356b404ac71ab7e25aa8c5dd7cfce8c38dd42a36e6ed92959823",{"version":"323b83baa5b22e3679b1210a80cff308ec681c094716d2a059244a62d2fa4501","signature":"427d45ee1df62a1270a503a7191bbdb1a69f7b7e3df1c7d2e98802fdc6853142"},"ed816fb621903082f43444ec8be52bd0d922d857c520a4b37c9e9694fb8afd30","f2e6ff8fe97c5fcebf9182004b274dccb1d2d482df59bf3eb2a05f25c71282b3","334fe75b38fb2a3dcc73e581e5babb2cb3664855c06825282ea23964f3f4eea1","f60ae536bd0674fdd187f0e3a1a154a7b3249c2b23497818e5d53d642a70652b",{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"f8db4fea512ab759b2223b90ecbbe7dae919c02f8ce95ec03f7fb1cf757cfbeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"49a5a44f2e68241a1d2bd9ec894535797998841c09729e506a7cbfcaa40f2180","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d9ef24f9a22a88e3e9b3b3d8c40ab1ddb0853f1bfbd5c843c37800138437b61","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"2cbe0621042e2a68c7cbce5dfed3906a1862a16a7d496010636cdbdb91341c0f","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2677634fe27e87348825bb041651e22d50a613e2fdf6a4a3ade971d71bac37e","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8c0bcd6c6b67b4b503c11e91a1fb91522ed585900eab2ab1f61bba7d7caa9d6f","impliedFormat":1},{"version":"567b7f607f400873151d7bc63a049514b53c3c00f5f56e9e95695d93b66a138e","affectsGlobalScope":true,"impliedFormat":1},{"version":"68ba7d7e4a34414e812c3fc77727366da26afe1ee575455628db0ba3a1e0ae63","impliedFormat":1},{"version":"b9b881045ea548a057056c0dea01cbed5db634356a5440b715040f5d260bdf68","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"eff99fb8e69bff92fd8e6c18e4ebf3f762926c498d155729d28dfb2bddfe428c","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d04e3640dd9eb67f7f1e5bd3d0bf96c784666f7aefc8ac1537af6f2d38d4c29","impliedFormat":1},{"version":"9d19808c8c291a9010a6c788e8532a2da70f811adb431c97520803e0ec649991","impliedFormat":1},{"version":"87aad3dd9752067dc875cfaa466fc44246451c0c560b820796bdd528e29bef40","impliedFormat":1},{"version":"4aacb0dd020eeaef65426153686cc639a78ec2885dc72ad220be1d25f1a439df","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"8db0ae9cb14d9955b14c214f34dae1b9ef2baee2fe4ce794a4cd3ac2531e3255","affectsGlobalScope":true,"impliedFormat":1},{"version":"881a94bbc18ad3616e93c5063bb03e702d82dd9ac4bc286e992e16a931a4f146","impliedFormat":1},{"version":"685657a3ec619ef12aa7f754eee3b28598d3bf9749da89839a72a343fffef5ff","impliedFormat":1},{"version":"f053e5d4a5e7e50c07fced3b13f6aef66c49f92e92c3e83da0da5e025f915543","impliedFormat":1},{"version":"d51990e06fce43eb05e638f1df07558126d588b3b7f92f398b83ec15cfa7e196","impliedFormat":1},{"version":"e1d94cb75140795ba8881a50563ed2872fb6d5954ab21717256fdbcf66a2ac6a","impliedFormat":1},{"version":"5650cf3dace09e7c25d384e3e6b818b938f68f4e8de96f52d9c5a1b3db068e86","impliedFormat":1},{"version":"1354ca5c38bd3fd3836a68e0f7c9f91f172582ba30ab15bb8c075891b91502b7","affectsGlobalScope":true,"impliedFormat":1},{"version":"a87ea9de0593dbcc5d3969188f96b2fdcf55d40b5dd0e89257e5be72d2a548c0","impliedFormat":1},{"version":"e9abad184aca454f338338c8018e5d4dab634cea2d6db7a69ff315d9b8647477","impliedFormat":1},{"version":"afbe24ab0d74694372baa632ecb28bb375be53f3be53f9b07ecd7fc994907de5","impliedFormat":1},{"version":"ca867399f7db82df981d6915bcbb2d81131d7d1ef683bc782b59f71dda59bc85","affectsGlobalScope":true,"impliedFormat":1},{"version":"d846dd3e94a1d15d89e13456d32fbcc1126cd7d08218b7b5e98140da3d206d13","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"b4f70ec656a11d570e1a9edce07d118cd58d9760239e2ece99306ee9dfe61d02","impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","impliedFormat":1},{"version":"6e70e9570e98aae2b825b533aa6292b6abd542e8d9f6e9475e88e1d7ba17c866","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"47ab634529c5955b6ad793474ae188fce3e6163e3a3fb5edd7e0e48f14435333","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"0225ecb9ed86bdb7a2c7fd01f1556906902929377b44483dc4b83e03b3ef227d","affectsGlobalScope":true,"impliedFormat":1},{"version":"1851a3b4db78664f83901bb9cac9e45e03a37bb5933cc5bf37e10bb7e91ab4eb","impliedFormat":1},{"version":"5eab9b3dc9b34f185417342436ec3f106898da5f4801992d8ff38ab3aff346b5","impliedFormat":1},{"version":"12ed4559eba17cd977aa0db658d25c4047067444b51acfdcbf38470630642b23","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3ffabc95802521e1e4bcba4c88d8615176dc6e09111d920c7a213bdda6e1d65","impliedFormat":1},{"version":"e04b85e2b08f6e659387bd37953e89afb219cd2fa9883c7565b61aea84335915","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"dfb96ba5177b68003deec9e773c47257da5c4c8a74053d8956389d832df72002","affectsGlobalScope":true,"impliedFormat":1},{"version":"92d3070580cf72b4bb80959b7f16ede9a3f39e6f4ef2ac87cfa4561844fdc69f","affectsGlobalScope":true,"impliedFormat":1},{"version":"09913a6464bdeae74e00d7cc7d5921847178d74c1eadd3bf14b72988cca15f77","impliedFormat":1},{"version":"3c61ec39cb462f6d1f8598e0ecef780705300409b27e0ed103301d761109d227","impliedFormat":1},{"version":"d91a7d8b5655c42986f1bdfe2105c4408f472831c8f20cf11a8c3345b6b56c8c","impliedFormat":1},{"version":"ed59add13139f84da271cafd32e2171876b0a0af2f798d0c663e8eeb867732cf","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8a979b8af001c9fc2e774e7809d233c8ca955a28756f52ee5dee88ccb0611d2","impliedFormat":1},{"version":"b1810689b76fd473bd12cc9ee219f8e62f54a7d08019a235d07424afbf074d25","impliedFormat":1}],"root":[[48,52],[55,72]],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":99,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"target":7,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[73,1],[76,2],[75,1],[81,3],[130,4],[131,4],[132,5],[87,6],[133,7],[134,8],[135,9],[82,1],[85,10],[83,1],[84,1],[136,11],[137,12],[138,13],[139,14],[140,15],[141,16],[142,16],[143,17],[144,18],[145,19],[146,20],[88,1],[86,1],[147,21],[148,22],[149,23],[181,24],[150,25],[151,26],[152,27],[153,28],[154,29],[155,30],[156,31],[157,32],[158,33],[159,34],[160,34],[161,35],[162,1],[163,36],[165,37],[164,38],[166,39],[167,40],[168,41],[169,42],[170,43],[171,44],[172,45],[173,46],[174,47],[175,48],[176,49],[177,50],[178,51],[89,1],[90,1],[91,1],[129,52],[179,53],[180,54],[47,1],[53,1],[74,1],[80,55],[78,56],[79,57],[54,58],[77,59],[45,1],[46,1],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[19,1],[20,1],[4,1],[21,1],[25,1],[22,1],[23,1],[24,1],[26,1],[27,1],[28,1],[5,1],[29,1],[30,1],[31,1],[32,1],[6,1],[36,1],[33,1],[34,1],[35,1],[37,1],[7,1],[38,1],[43,1],[44,1],[39,1],[40,1],[41,1],[42,1],[1,1],[107,60],[117,61],[106,60],[127,62],[98,63],[97,64],[126,65],[120,66],[125,67],[100,68],[114,69],[99,70],[123,71],[95,72],[94,65],[124,73],[96,74],[101,75],[102,1],[105,75],[92,1],[128,76],[118,77],[109,78],[110,79],[112,80],[108,81],[111,82],[121,65],[103,83],[104,84],[113,85],[93,86],[116,77],[115,75],[119,1],[122,87],[50,88],[51,88],[49,89],[52,90],[48,1],[58,91],[59,91],[60,91],[61,91],[62,91],[63,91],[64,91],[65,92],[66,91],[67,91],[69,93],[70,94],[57,95],[55,96],[56,97],[68,98],[71,99],[72,92]],"affectedFilesPendingEmit":[[50,51],[51,51],[49,51],[52,51],[48,51],[58,51],[59,51],[60,51],[61,51],[62,51],[63,51],[64,51],[65,51],[66,51],[67,51],[69,51],[70,51],[57,51],[55,51],[56,51],[68,51],[71,51],[72,51]],"version":"5.9.3"}
package/dist/index.d.mts CHANGED
@@ -47,14 +47,16 @@ interface AccessToken {
47
47
  interface ListAccessTokensResponse {
48
48
  access_tokens: AccessToken[];
49
49
  }
50
- interface TokenOrganizationResponse {
51
- organization_id: string | null;
52
- }
53
50
  interface OrganizationMember {
54
51
  user_id: string;
55
52
  role: 'admin' | 'user';
56
53
  }
57
54
  type OrganizationType = 'individual' | 'team' | 'enterprise';
55
+ interface TokenOrganizationResponse {
56
+ organization_id: string | null;
57
+ organization_name: string | null;
58
+ organization_type: OrganizationType | null;
59
+ }
58
60
  interface Organization {
59
61
  id: string;
60
62
  name: string;
@@ -243,6 +245,9 @@ interface LLMModel {
243
245
  interface ListLLMModelsResponse {
244
246
  models: LLMModel[];
245
247
  }
248
+ interface ListOrgLLMModelsResponse {
249
+ models: string[];
250
+ }
246
251
  interface LLMProvider {
247
252
  name: string;
248
253
  display_name: string;
@@ -849,6 +854,9 @@ declare class DocRouterOrg {
849
854
  deletePrompt(params: Omit<DeletePromptParams, 'organizationId'>): Promise<{
850
855
  message: string;
851
856
  }>;
857
+ listPromptVersions(params: {
858
+ promptId: string;
859
+ }): Promise<ListPromptsResponse>;
852
860
  createTag(params: {
853
861
  tag: Omit<Tag, 'id' | 'created_at' | 'updated_at'>;
854
862
  }): Promise<Tag>;
@@ -876,6 +884,9 @@ declare class DocRouterOrg {
876
884
  deleteForm(params: Omit<DeleteFormParams, 'organizationId'>): Promise<{
877
885
  message: string;
878
886
  }>;
887
+ listFormVersions(params: {
888
+ formId: string;
889
+ }): Promise<ListFormsResponse>;
879
890
  submitForm(params: Omit<SubmitFormParams, 'organizationId'>): Promise<FormSubmission>;
880
891
  getFormSubmission(params: Omit<GetFormSubmissionParams, 'organizationId'>): Promise<FormSubmission | null>;
881
892
  deleteFormSubmission(params: Omit<DeleteFormSubmissionParams, 'organizationId'>): Promise<void>;
@@ -893,6 +904,9 @@ declare class DocRouterOrg {
893
904
  valid: boolean;
894
905
  errors?: string[];
895
906
  }>;
907
+ listSchemaVersions(params: {
908
+ schemaId: string;
909
+ }): Promise<ListSchemasResponse>;
896
910
  getCustomerPortal(): Promise<PortalSessionResponse>;
897
911
  getSubscription(): Promise<SubscriptionResponse>;
898
912
  activateSubscription(): Promise<{
@@ -914,6 +928,7 @@ declare class DocRouterOrg {
914
928
  getUsageRange(request: UsageRangeRequest): Promise<UsageRangeResponse>;
915
929
  createCheckoutSession(planId: string): Promise<PortalSessionResponse>;
916
930
  runLLMChat(request: LLMChatRequest): Promise<LLMChatResponse>;
931
+ listLLMModels(): Promise<ListOrgLLMModelsResponse>;
917
932
  runLLMChatStream(request: LLMChatRequest, onChunk: (chunk: LLMChatStreamChunk | LLMChatStreamError) => void, onError?: (error: Error) => void, abortSignal?: AbortSignal): Promise<void>;
918
933
  /**
919
934
  * Get the current HTTP client (for advanced usage)
@@ -921,4 +936,4 @@ declare class DocRouterOrg {
921
936
  getHttpClient(): HttpClient;
922
937
  }
923
938
 
924
- export { type AWSConfig, type AcceptInvitationRequest, type AccessToken, type ApiError, type CreateFormParams, type CreateInvitationRequest, type CreateOrganizationRequest, type CreatePromptParams, type CreateSchemaParams, type CreateTagParams, type CreateTokenRequest, type CreditConfig, type CreditUpdateResponse, type DeleteDocumentParams, type DeleteFormParams, type DeleteFormSubmissionParams, type DeleteLLMResultParams, type DeletePromptParams, type DeleteSchemaParams, type DeleteTagParams, DocRouterAccount, type DocRouterAccountConfig, type DocRouterConfig, DocRouterOrg, type DocRouterOrgConfig, type Document, type FieldMapping, type FieldMappingSource, type Form, type FormResponseFormat, type FormSubmission, type GetDocumentParams, type GetDocumentResponse, type GetFormParams, type GetFormSubmissionParams, type GetLLMResultParams, type GetLLMResultResponse, type GetOCRBlocksParams, type GetOCRMetadataParams, type GetOCRMetadataResponse, type GetOCRTextParams, type GetPromptParams, type GetSchemaParams, HttpClient, type InvitationResponse, type JsonValue, type LLMChatChoice, type LLMChatRequest, type LLMChatResponse, type LLMChatStreamChunk, type LLMChatStreamError, type LLMChatUsage, type LLMMessage, type LLMModel, type LLMProvider, type ListAccessTokensResponse, type ListDocumentsParams, type ListDocumentsResponse, type ListFormsParams, type ListFormsResponse, type ListInvitationsParams, type ListInvitationsResponse, type ListLLMModelsParams, type ListLLMModelsResponse, type ListLLMProvidersResponse, type ListOrganizationsResponse, type ListPromptsParams, type ListPromptsResponse, type ListSchemasParams, type ListSchemasResponse, type ListTagsParams, type ListTagsResponse, type ListUsersParams, type ListUsersResponse, type OCRBlock, type OCRGeometry, type Organization, type OrganizationMember, type OrganizationType, type PortalSessionResponse, type Prompt, type RunLLMParams, type RunLLMResponse, type Schema, type SchemaConfig, type SchemaProperty, type SchemaResponseFormat, type SetLLMProviderConfigRequest, type SubmitFormParams, type SubscriptionPlan, type SubscriptionResponse, type Tag, type TokenOrganizationResponse, type UpdateDocumentParams, type UpdateFormParams, type UpdateOrganizationRequest, type UpdatePromptParams, type UpdateSchemaParams, type UpdateTagParams, type UploadDocument, type UploadDocumentsParams, type UploadDocumentsResponse, type UploadedDocument, type UsageData, type UsageDataPoint, type UsageRangeRequest, type UsageRangeResponse, type UsageResponse, type User, type UserCreate, type UserUpdate };
939
+ export { type AWSConfig, type AcceptInvitationRequest, type AccessToken, type ApiError, type CreateFormParams, type CreateInvitationRequest, type CreateOrganizationRequest, type CreatePromptParams, type CreateSchemaParams, type CreateTagParams, type CreateTokenRequest, type CreditConfig, type CreditUpdateResponse, type DeleteDocumentParams, type DeleteFormParams, type DeleteFormSubmissionParams, type DeleteLLMResultParams, type DeletePromptParams, type DeleteSchemaParams, type DeleteTagParams, DocRouterAccount, type DocRouterAccountConfig, type DocRouterConfig, DocRouterOrg, type DocRouterOrgConfig, type Document, type FieldMapping, type FieldMappingSource, type Form, type FormResponseFormat, type FormSubmission, type GetDocumentParams, type GetDocumentResponse, type GetFormParams, type GetFormSubmissionParams, type GetLLMResultParams, type GetLLMResultResponse, type GetOCRBlocksParams, type GetOCRMetadataParams, type GetOCRMetadataResponse, type GetOCRTextParams, type GetPromptParams, type GetSchemaParams, HttpClient, type InvitationResponse, type JsonValue, type LLMChatChoice, type LLMChatRequest, type LLMChatResponse, type LLMChatStreamChunk, type LLMChatStreamError, type LLMChatUsage, type LLMMessage, type LLMModel, type LLMProvider, type ListAccessTokensResponse, type ListDocumentsParams, type ListDocumentsResponse, type ListFormsParams, type ListFormsResponse, type ListInvitationsParams, type ListInvitationsResponse, type ListLLMModelsParams, type ListLLMModelsResponse, type ListLLMProvidersResponse, type ListOrgLLMModelsResponse, type ListOrganizationsResponse, type ListPromptsParams, type ListPromptsResponse, type ListSchemasParams, type ListSchemasResponse, type ListTagsParams, type ListTagsResponse, type ListUsersParams, type ListUsersResponse, type OCRBlock, type OCRGeometry, type Organization, type OrganizationMember, type OrganizationType, type PortalSessionResponse, type Prompt, type RunLLMParams, type RunLLMResponse, type Schema, type SchemaConfig, type SchemaProperty, type SchemaResponseFormat, type SetLLMProviderConfigRequest, type SubmitFormParams, type SubscriptionPlan, type SubscriptionResponse, type Tag, type TokenOrganizationResponse, type UpdateDocumentParams, type UpdateFormParams, type UpdateOrganizationRequest, type UpdatePromptParams, type UpdateSchemaParams, type UpdateTagParams, type UploadDocument, type UploadDocumentsParams, type UploadDocumentsResponse, type UploadedDocument, type UsageData, type UsageDataPoint, type UsageRangeRequest, type UsageRangeResponse, type UsageResponse, type User, type UserCreate, type UserUpdate };
package/dist/index.d.ts CHANGED
@@ -47,14 +47,16 @@ interface AccessToken {
47
47
  interface ListAccessTokensResponse {
48
48
  access_tokens: AccessToken[];
49
49
  }
50
- interface TokenOrganizationResponse {
51
- organization_id: string | null;
52
- }
53
50
  interface OrganizationMember {
54
51
  user_id: string;
55
52
  role: 'admin' | 'user';
56
53
  }
57
54
  type OrganizationType = 'individual' | 'team' | 'enterprise';
55
+ interface TokenOrganizationResponse {
56
+ organization_id: string | null;
57
+ organization_name: string | null;
58
+ organization_type: OrganizationType | null;
59
+ }
58
60
  interface Organization {
59
61
  id: string;
60
62
  name: string;
@@ -243,6 +245,9 @@ interface LLMModel {
243
245
  interface ListLLMModelsResponse {
244
246
  models: LLMModel[];
245
247
  }
248
+ interface ListOrgLLMModelsResponse {
249
+ models: string[];
250
+ }
246
251
  interface LLMProvider {
247
252
  name: string;
248
253
  display_name: string;
@@ -849,6 +854,9 @@ declare class DocRouterOrg {
849
854
  deletePrompt(params: Omit<DeletePromptParams, 'organizationId'>): Promise<{
850
855
  message: string;
851
856
  }>;
857
+ listPromptVersions(params: {
858
+ promptId: string;
859
+ }): Promise<ListPromptsResponse>;
852
860
  createTag(params: {
853
861
  tag: Omit<Tag, 'id' | 'created_at' | 'updated_at'>;
854
862
  }): Promise<Tag>;
@@ -876,6 +884,9 @@ declare class DocRouterOrg {
876
884
  deleteForm(params: Omit<DeleteFormParams, 'organizationId'>): Promise<{
877
885
  message: string;
878
886
  }>;
887
+ listFormVersions(params: {
888
+ formId: string;
889
+ }): Promise<ListFormsResponse>;
879
890
  submitForm(params: Omit<SubmitFormParams, 'organizationId'>): Promise<FormSubmission>;
880
891
  getFormSubmission(params: Omit<GetFormSubmissionParams, 'organizationId'>): Promise<FormSubmission | null>;
881
892
  deleteFormSubmission(params: Omit<DeleteFormSubmissionParams, 'organizationId'>): Promise<void>;
@@ -893,6 +904,9 @@ declare class DocRouterOrg {
893
904
  valid: boolean;
894
905
  errors?: string[];
895
906
  }>;
907
+ listSchemaVersions(params: {
908
+ schemaId: string;
909
+ }): Promise<ListSchemasResponse>;
896
910
  getCustomerPortal(): Promise<PortalSessionResponse>;
897
911
  getSubscription(): Promise<SubscriptionResponse>;
898
912
  activateSubscription(): Promise<{
@@ -914,6 +928,7 @@ declare class DocRouterOrg {
914
928
  getUsageRange(request: UsageRangeRequest): Promise<UsageRangeResponse>;
915
929
  createCheckoutSession(planId: string): Promise<PortalSessionResponse>;
916
930
  runLLMChat(request: LLMChatRequest): Promise<LLMChatResponse>;
931
+ listLLMModels(): Promise<ListOrgLLMModelsResponse>;
917
932
  runLLMChatStream(request: LLMChatRequest, onChunk: (chunk: LLMChatStreamChunk | LLMChatStreamError) => void, onError?: (error: Error) => void, abortSignal?: AbortSignal): Promise<void>;
918
933
  /**
919
934
  * Get the current HTTP client (for advanced usage)
@@ -921,4 +936,4 @@ declare class DocRouterOrg {
921
936
  getHttpClient(): HttpClient;
922
937
  }
923
938
 
924
- export { type AWSConfig, type AcceptInvitationRequest, type AccessToken, type ApiError, type CreateFormParams, type CreateInvitationRequest, type CreateOrganizationRequest, type CreatePromptParams, type CreateSchemaParams, type CreateTagParams, type CreateTokenRequest, type CreditConfig, type CreditUpdateResponse, type DeleteDocumentParams, type DeleteFormParams, type DeleteFormSubmissionParams, type DeleteLLMResultParams, type DeletePromptParams, type DeleteSchemaParams, type DeleteTagParams, DocRouterAccount, type DocRouterAccountConfig, type DocRouterConfig, DocRouterOrg, type DocRouterOrgConfig, type Document, type FieldMapping, type FieldMappingSource, type Form, type FormResponseFormat, type FormSubmission, type GetDocumentParams, type GetDocumentResponse, type GetFormParams, type GetFormSubmissionParams, type GetLLMResultParams, type GetLLMResultResponse, type GetOCRBlocksParams, type GetOCRMetadataParams, type GetOCRMetadataResponse, type GetOCRTextParams, type GetPromptParams, type GetSchemaParams, HttpClient, type InvitationResponse, type JsonValue, type LLMChatChoice, type LLMChatRequest, type LLMChatResponse, type LLMChatStreamChunk, type LLMChatStreamError, type LLMChatUsage, type LLMMessage, type LLMModel, type LLMProvider, type ListAccessTokensResponse, type ListDocumentsParams, type ListDocumentsResponse, type ListFormsParams, type ListFormsResponse, type ListInvitationsParams, type ListInvitationsResponse, type ListLLMModelsParams, type ListLLMModelsResponse, type ListLLMProvidersResponse, type ListOrganizationsResponse, type ListPromptsParams, type ListPromptsResponse, type ListSchemasParams, type ListSchemasResponse, type ListTagsParams, type ListTagsResponse, type ListUsersParams, type ListUsersResponse, type OCRBlock, type OCRGeometry, type Organization, type OrganizationMember, type OrganizationType, type PortalSessionResponse, type Prompt, type RunLLMParams, type RunLLMResponse, type Schema, type SchemaConfig, type SchemaProperty, type SchemaResponseFormat, type SetLLMProviderConfigRequest, type SubmitFormParams, type SubscriptionPlan, type SubscriptionResponse, type Tag, type TokenOrganizationResponse, type UpdateDocumentParams, type UpdateFormParams, type UpdateOrganizationRequest, type UpdatePromptParams, type UpdateSchemaParams, type UpdateTagParams, type UploadDocument, type UploadDocumentsParams, type UploadDocumentsResponse, type UploadedDocument, type UsageData, type UsageDataPoint, type UsageRangeRequest, type UsageRangeResponse, type UsageResponse, type User, type UserCreate, type UserUpdate };
939
+ export { type AWSConfig, type AcceptInvitationRequest, type AccessToken, type ApiError, type CreateFormParams, type CreateInvitationRequest, type CreateOrganizationRequest, type CreatePromptParams, type CreateSchemaParams, type CreateTagParams, type CreateTokenRequest, type CreditConfig, type CreditUpdateResponse, type DeleteDocumentParams, type DeleteFormParams, type DeleteFormSubmissionParams, type DeleteLLMResultParams, type DeletePromptParams, type DeleteSchemaParams, type DeleteTagParams, DocRouterAccount, type DocRouterAccountConfig, type DocRouterConfig, DocRouterOrg, type DocRouterOrgConfig, type Document, type FieldMapping, type FieldMappingSource, type Form, type FormResponseFormat, type FormSubmission, type GetDocumentParams, type GetDocumentResponse, type GetFormParams, type GetFormSubmissionParams, type GetLLMResultParams, type GetLLMResultResponse, type GetOCRBlocksParams, type GetOCRMetadataParams, type GetOCRMetadataResponse, type GetOCRTextParams, type GetPromptParams, type GetSchemaParams, HttpClient, type InvitationResponse, type JsonValue, type LLMChatChoice, type LLMChatRequest, type LLMChatResponse, type LLMChatStreamChunk, type LLMChatStreamError, type LLMChatUsage, type LLMMessage, type LLMModel, type LLMProvider, type ListAccessTokensResponse, type ListDocumentsParams, type ListDocumentsResponse, type ListFormsParams, type ListFormsResponse, type ListInvitationsParams, type ListInvitationsResponse, type ListLLMModelsParams, type ListLLMModelsResponse, type ListLLMProvidersResponse, type ListOrgLLMModelsResponse, type ListOrganizationsResponse, type ListPromptsParams, type ListPromptsResponse, type ListSchemasParams, type ListSchemasResponse, type ListTagsParams, type ListTagsResponse, type ListUsersParams, type ListUsersResponse, type OCRBlock, type OCRGeometry, type Organization, type OrganizationMember, type OrganizationType, type PortalSessionResponse, type Prompt, type RunLLMParams, type RunLLMResponse, type Schema, type SchemaConfig, type SchemaProperty, type SchemaResponseFormat, type SetLLMProviderConfigRequest, type SubmitFormParams, type SubscriptionPlan, type SubscriptionResponse, type Tag, type TokenOrganizationResponse, type UpdateDocumentParams, type UpdateFormParams, type UpdateOrganizationRequest, type UpdatePromptParams, type UpdateSchemaParams, type UpdateTagParams, type UploadDocument, type UploadDocumentsParams, type UploadDocumentsResponse, type UploadedDocument, type UsageData, type UsageDataPoint, type UsageRangeRequest, type UsageRangeResponse, type UsageResponse, type User, type UserCreate, type UserUpdate };
package/dist/index.js CHANGED
@@ -585,6 +585,10 @@ var DocRouterOrg = class {
585
585
  const { promptId } = params;
586
586
  return this.http.delete(`/v0/orgs/${this.organizationId}/prompts/${promptId}`);
587
587
  }
588
+ async listPromptVersions(params) {
589
+ const { promptId } = params;
590
+ return this.http.get(`/v0/orgs/${this.organizationId}/prompts/${promptId}/versions`);
591
+ }
588
592
  // ---------------- Tags ----------------
589
593
  async createTag(params) {
590
594
  const { tag } = params;
@@ -630,6 +634,10 @@ var DocRouterOrg = class {
630
634
  const { formId } = params;
631
635
  return this.http.delete(`/v0/orgs/${this.organizationId}/forms/${formId}`);
632
636
  }
637
+ async listFormVersions(params) {
638
+ const { formId } = params;
639
+ return this.http.get(`/v0/orgs/${this.organizationId}/forms/${formId}/versions`);
640
+ }
633
641
  async submitForm(params) {
634
642
  const { documentId, formRevId, submission_data, submitted_by } = params;
635
643
  return this.http.post(`/v0/orgs/${this.organizationId}/forms/submissions/${documentId}`, {
@@ -672,6 +680,10 @@ var DocRouterOrg = class {
672
680
  const { schemaRevId, data } = params;
673
681
  return this.http.post(`/v0/orgs/${this.organizationId}/schemas/${schemaRevId}/validate`, { data });
674
682
  }
683
+ async listSchemaVersions(params) {
684
+ const { schemaId } = params;
685
+ return this.http.get(`/v0/orgs/${this.organizationId}/schemas/${schemaId}/versions`);
686
+ }
675
687
  // ---------------- Payments ----------------
676
688
  async getCustomerPortal() {
677
689
  return this.http.post(`/v0/orgs/${this.organizationId}/payments/customer-portal`, {});
@@ -707,6 +719,10 @@ var DocRouterOrg = class {
707
719
  async runLLMChat(request) {
708
720
  return this.http.post(`/v0/orgs/${this.organizationId}/llm/run`, request);
709
721
  }
722
+ // ---------------- LLM Models (Org) ----------------
723
+ async listLLMModels() {
724
+ return this.http.get(`/v0/orgs/${this.organizationId}/llm/models`);
725
+ }
710
726
  async runLLMChatStream(request, onChunk, onError, abortSignal) {
711
727
  const streamingRequest = { ...request, stream: true };
712
728
  return this.http.stream(`/v0/orgs/${this.organizationId}/llm/run`, streamingRequest, onChunk, onError, abortSignal);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/http-client.ts","../src/docrouter-account.ts","../src/docrouter-org.ts"],"names":["axios","isAxiosError"],"mappings":"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","file":"index.js","sourcesContent":["import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse, isAxiosError } from 'axios';\nimport { DocRouterConfig, ApiError, LLMChatStreamChunk, LLMChatStreamError } from './types';\n\nexport class HttpClient {\n private axios: AxiosInstance;\n private config: DocRouterConfig;\n private isRefreshing = false;\n private failedQueue: Array<{\n resolve: (value?: unknown) => void;\n reject: (error: Error) => void;\n }> = [];\n\n constructor(config: DocRouterConfig) {\n this.config = config;\n this.axios = axios.create({\n baseURL: config.baseURL,\n timeout: config.timeout || 30000,\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n this.setupInterceptors();\n }\n\n private setupInterceptors(): void {\n // Request interceptor for auth\n this.axios.interceptors.request.use(\n async (config) => {\n const token = await this.getToken();\n if (token) {\n config.headers.Authorization = `Bearer ${token}`;\n }\n return config;\n },\n (error) => Promise.reject(error)\n );\n\n // Response interceptor for error handling\n this.axios.interceptors.response.use(\n (response) => response,\n async (error) => {\n const originalRequest = error.config;\n\n // Handle 401 errors (unauthorized)\n if (error.response?.status === 401 && !originalRequest._retry) {\n if (this.isRefreshing) {\n return new Promise((resolve, reject) => {\n this.failedQueue.push({ resolve, reject });\n })\n .then(() => this.axios(originalRequest))\n .catch((err) => {\n this.handleAuthError(err);\n return Promise.reject(err);\n });\n }\n\n originalRequest._retry = true;\n this.isRefreshing = true;\n\n try {\n // Try to get a new token\n const newToken = await this.getToken();\n if (newToken) {\n originalRequest.headers.Authorization = `Bearer ${newToken}`;\n this.processQueue();\n return this.axios(originalRequest);\n } else {\n this.handleAuthError(error);\n return Promise.reject(this.createApiError(error));\n }\n } catch (refreshError) {\n this.processQueue(refreshError instanceof Error ? refreshError : new Error('Token refresh failed'));\n this.handleAuthError(error);\n return Promise.reject(this.createApiError(error));\n } finally {\n this.isRefreshing = false;\n }\n }\n\n return Promise.reject(this.createApiError(error));\n }\n );\n }\n\n private async getToken(): Promise<string | null> {\n if (this.config.token) {\n return this.config.token;\n }\n \n if (this.config.tokenProvider) {\n try {\n return await this.config.tokenProvider();\n } catch (error) {\n console.warn('Token provider failed:', error);\n return null;\n }\n }\n\n return null;\n }\n\n private processQueue(error: Error | null = null): void {\n this.failedQueue.forEach(prom => {\n if (error) {\n prom.reject(error);\n } else {\n prom.resolve();\n }\n });\n this.failedQueue = [];\n }\n\n private handleAuthError(error: unknown): void {\n if (this.config.onAuthError) {\n this.config.onAuthError(error instanceof Error ? error : new Error('Authentication failed'));\n }\n }\n\n private createApiError(error: unknown): ApiError {\n if (isAxiosError(error)) {\n const message = error.response?.data?.detail || error.message || 'Request failed';\n const apiError: ApiError = new Error(message);\n apiError.status = error.response?.status;\n apiError.code = error.code;\n apiError.details = error.response?.data;\n return apiError;\n }\n\n if (error instanceof Error) {\n const apiError: ApiError = error;\n return apiError;\n }\n\n return new Error('Unknown error occurred');\n }\n\n // Public methods\n async get<T = unknown>(url: string, config?: AxiosRequestConfig): Promise<T> {\n const response: AxiosResponse<T> = await this.axios.get(url, config);\n return response.data;\n }\n\n async post<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): Promise<T> {\n const response: AxiosResponse<T> = await this.axios.post(url, data, config);\n return response.data;\n }\n\n async put<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): Promise<T> {\n const response: AxiosResponse<T> = await this.axios.put(url, data, config);\n return response.data;\n }\n\n async delete<T = unknown>(url: string, config?: AxiosRequestConfig): Promise<T> {\n const response: AxiosResponse<T> = await this.axios.delete(url, config);\n return response.data;\n }\n\n async request<T = unknown>(config: AxiosRequestConfig): Promise<T> {\n const response: AxiosResponse<T> = await this.axios.request(config);\n return response.data;\n }\n\n // For streaming requests\n async stream(\n url: string,\n data: unknown,\n onChunk: (chunk: LLMChatStreamChunk | LLMChatStreamError) => void,\n onError?: (error: Error) => void,\n abortSignal?: AbortSignal\n ): Promise<void> {\n try {\n const token = await this.getToken();\n if (!token) {\n throw new Error('No token available for streaming request');\n }\n\n const response = await fetch(`${this.config.baseURL}${url}`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${token}`,\n 'Accept': 'text/plain',\n 'Cache-Control': 'no-cache',\n },\n body: JSON.stringify(data),\n signal: abortSignal,\n });\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n\n if (!response.body) {\n throw new Error('Response body is not available for streaming');\n }\n\n const reader = response.body.getReader();\n const decoder = new TextDecoder();\n let buffer = '';\n\n try {\n while (true) {\n const { done, value } = await reader.read();\n \n if (done) {\n break;\n }\n\n // Decode the chunk and add to buffer\n buffer += decoder.decode(value, { stream: true });\n \n // Process complete lines from buffer\n const lines = buffer.split('\\n');\n buffer = lines.pop() || ''; // Keep incomplete line in buffer\n \n for (const line of lines) {\n if (line.startsWith('data: ')) {\n try {\n const chunkData = JSON.parse(line.slice(6));\n onChunk(chunkData);\n \n // Stop if we're done\n if (chunkData.done) {\n return;\n }\n } catch (parseError) {\n console.warn('Failed to parse streaming chunk:', parseError);\n }\n }\n }\n }\n } finally {\n reader.releaseLock();\n }\n } catch (error) {\n if (onError) {\n onError(error instanceof Error ? error : new Error('Streaming request failed'));\n } else {\n throw error;\n }\n }\n }\n\n // Update token\n updateToken(token: string): void {\n this.config.token = token;\n }\n\n // Update token provider\n updateTokenProvider(provider: () => Promise<string>): void {\n this.config.tokenProvider = provider;\n }\n}\n","import { HttpClient } from './http-client';\nimport {\n DocRouterAccountConfig,\n AccessToken,\n ListOrganizationsResponse,\n Organization,\n CreateOrganizationRequest,\n UpdateOrganizationRequest,\n CreateTokenRequest,\n ListAccessTokensResponse,\n TokenOrganizationResponse,\n ListLLMModelsParams,\n ListLLMModelsResponse,\n ListLLMProvidersResponse,\n SetLLMProviderConfigRequest,\n LLMChatRequest,\n LLMChatResponse,\n LLMChatStreamChunk,\n LLMChatStreamError,\n ListUsersParams,\n ListUsersResponse,\n UserCreate,\n UserUpdate,\n User,\n AWSConfig,\n // Invitation types\n InvitationResponse,\n CreateInvitationRequest,\n ListInvitationsParams,\n ListInvitationsResponse,\n AcceptInvitationRequest,\n // Payment types\n PortalSessionResponse,\n SubscriptionResponse,\n UsageResponse,\n CreditConfig,\n CreditUpdateResponse,\n UsageRangeRequest,\n UsageRangeResponse,\n} from './types';\n\n/**\n * DocRouterAccount - For account-level operations with account tokens\n * Use this for server-to-server integrations that need full account access\n */\nexport class DocRouterAccount {\n private http: HttpClient;\n\n constructor(config: DocRouterAccountConfig) {\n this.http = new HttpClient({\n baseURL: config.baseURL,\n token: config.accountToken,\n timeout: config.timeout,\n retries: config.retries,\n onAuthError: config.onAuthError,\n });\n }\n\n /**\n * Update the account token\n */\n updateToken(token: string): void {\n this.http.updateToken(token);\n }\n\n // --------------- Organizations ---------------\n async listOrganizations(params?: { \n userId?: string;\n organizationId?: string;\n nameSearch?: string;\n memberSearch?: string;\n skip?: number;\n limit?: number;\n }): Promise<ListOrganizationsResponse> {\n const queryParams = new URLSearchParams();\n if (params?.userId) queryParams.append('user_id', params.userId);\n if (params?.organizationId) queryParams.append('organization_id', params.organizationId);\n if (params?.nameSearch) queryParams.append('name_search', params.nameSearch);\n if (params?.memberSearch) queryParams.append('member_search', params.memberSearch);\n if (params?.skip !== undefined) queryParams.append('skip', String(params.skip));\n if (params?.limit !== undefined) queryParams.append('limit', String(params.limit));\n return this.http.get<ListOrganizationsResponse>(`/v0/account/organizations?${queryParams.toString()}`);\n }\n\n async getOrganization(organizationId: string): Promise<Organization> {\n const response = await this.listOrganizations({ organizationId });\n return response.organizations[0];\n }\n\n async createOrganization(organization: CreateOrganizationRequest): Promise<Organization> {\n const response = await this.http.post<{\n _id?: string;\n id: string;\n name: string;\n members: Organization['members'];\n type: Organization['type'];\n created_at: string;\n updated_at: string;\n }>(`/v0/account/organizations`, organization);\n return {\n id: response._id || response.id,\n name: response.name,\n members: response.members,\n type: response.type,\n created_at: response.created_at,\n updated_at: response.updated_at,\n };\n }\n\n async updateOrganization(organizationId: string, update: UpdateOrganizationRequest): Promise<Organization> {\n return this.http.put(`/v0/account/organizations/${organizationId}`, update);\n }\n\n async deleteOrganization(organizationId: string) {\n return this.http.delete(`/v0/account/organizations/${organizationId}`);\n }\n\n // --------------- Tokens ---------------\n async createAccountToken(request: CreateTokenRequest): Promise<AccessToken> {\n return this.http.post(`/v0/account/access_tokens`, request);\n }\n\n async getAccountTokens(): Promise<AccessToken[]> {\n const resp = await this.http.get<ListAccessTokensResponse | AccessToken[]>(`/v0/account/access_tokens`);\n // Normalize to array for SDK consumers/tests\n return Array.isArray(resp) ? resp : (resp as ListAccessTokensResponse).access_tokens;\n }\n\n async deleteAccountToken(tokenId: string): Promise<void> {\n return this.http.delete(`/v0/account/access_tokens/${tokenId}`);\n }\n\n async createOrganizationToken(request: CreateTokenRequest, organizationId: string): Promise<AccessToken> {\n return this.http.post(`/v0/orgs/${organizationId}/access_tokens`, request);\n }\n\n async getOrganizationTokens(organizationId: string): Promise<AccessToken[]> {\n const resp = await this.http.get<ListAccessTokensResponse | AccessToken[]>(`/v0/orgs/${organizationId}/access_tokens`);\n // Normalize to array for SDK consumers/tests\n return Array.isArray(resp) ? resp : (resp as ListAccessTokensResponse).access_tokens;\n }\n\n async deleteOrganizationToken(tokenId: string, organizationId: string): Promise<void> {\n return this.http.delete(`/v0/orgs/${organizationId}/access_tokens/${tokenId}`);\n }\n\n /**\n * Get the organization ID associated with an API token\n * @param token The API token to resolve\n * @returns The organization ID for org-specific tokens, or null for account-level tokens\n */\n async getOrganizationFromToken(token: string): Promise<TokenOrganizationResponse> {\n return this.http.get<TokenOrganizationResponse>(`/v0/account/token/organization?token=${encodeURIComponent(token)}`);\n }\n\n // --------------- LLM (account-level) ---------------\n async listLLMModels(params: ListLLMModelsParams): Promise<ListLLMModelsResponse> {\n return this.http.get<ListLLMModelsResponse>('/v0/account/llm/models', {\n params: {\n provider_name: params.providerName,\n provider_enabled: params.providerEnabled,\n llm_enabled: params.llmEnabled,\n }\n });\n }\n\n async listLLMProviders(): Promise<ListLLMProvidersResponse> {\n return this.http.get<ListLLMProvidersResponse>('/v0/account/llm/providers');\n }\n\n async setLLMProviderConfig(providerName: string, request: SetLLMProviderConfigRequest) {\n return this.http.put<SetLLMProviderConfigRequest>(`/v0/account/llm/provider/${providerName}`, request);\n }\n\n // --------------- Users ---------------\n async listUsers(params?: ListUsersParams): Promise<ListUsersResponse> {\n const queryParams = new URLSearchParams();\n if (params?.skip) queryParams.append('skip', String(params.skip));\n if (params?.limit) queryParams.append('limit', String(params.limit));\n if (params?.organization_id) queryParams.append('organization_id', params.organization_id);\n if (params?.user_id) queryParams.append('user_id', params.user_id);\n if (params?.search_name) queryParams.append('search_name', params.search_name);\n return this.http.get<ListUsersResponse>(`/v0/account/users?${queryParams.toString()}`);\n }\n\n async getUser(userId: string): Promise<User> {\n const response = await this.listUsers({ user_id: userId });\n return response.users[0];\n }\n\n async createUser(user: UserCreate): Promise<User> {\n return this.http.post<User>('/v0/account/users', user);\n }\n\n async updateUser(userId: string, update: UserUpdate): Promise<User> {\n return this.http.put<User>(`/v0/account/users/${userId}`, update);\n }\n\n async deleteUser(userId: string): Promise<void> {\n await this.http.delete(`/v0/account/users/${userId}`);\n }\n\n // --------------- Email Verification ---------------\n async sendVerificationEmail(userId: string) {\n return this.http.post(`/v0/account/email/verification/send/${userId}`);\n }\n\n async sendRegistrationVerificationEmail(userId: string) {\n return this.http.post(`/v0/account/email/verification/register/${userId}`);\n }\n\n async verifyEmail(token: string) {\n return this.http.post(`/v0/account/email/verification/${token}`);\n }\n\n // --------------- AWS Config ---------------\n async createAWSConfig(config: Omit<AWSConfig, 'created_at'>): Promise<AWSConfig> {\n return this.http.post('/v0/account/aws_config', config);\n }\n\n async getAWSConfig(): Promise<AWSConfig> {\n return this.http.get('/v0/account/aws_config');\n }\n\n async deleteAWSConfig(): Promise<void> {\n return this.http.delete('/v0/account/aws_config');\n }\n\n // --------------- Invitations ---------------\n async createInvitation(invitation: CreateInvitationRequest): Promise<InvitationResponse> {\n return this.http.post<InvitationResponse>('/v0/account/email/invitations', invitation);\n }\n\n async getInvitations(params?: ListInvitationsParams): Promise<ListInvitationsResponse> {\n const queryParams = new URLSearchParams();\n if (params?.skip !== undefined) queryParams.append('skip', String(params.skip));\n if (params?.limit !== undefined) queryParams.append('limit', String(params.limit));\n return this.http.get<ListInvitationsResponse>(`/v0/account/email/invitations?${queryParams.toString()}`);\n }\n\n async getInvitation(token: string): Promise<InvitationResponse> {\n return this.http.get<InvitationResponse>(`/v0/account/email/invitations/${token}`);\n }\n\n async acceptInvitation(token: string, data: AcceptInvitationRequest): Promise<{ message: string }> {\n return this.http.post<{ message: string }>(`/v0/account/email/invitations/${token}/accept`, data);\n }\n\n // --------------- Payments & Subscriptions ---------------\n async getCustomerPortal(orgId: string): Promise<PortalSessionResponse> {\n return this.http.post<PortalSessionResponse>(`/v0/orgs/${orgId}/payments/customer-portal`);\n }\n\n async getSubscription(orgId: string): Promise<SubscriptionResponse> {\n return this.http.get<SubscriptionResponse>(`/v0/orgs/${orgId}/payments/subscription`);\n }\n\n async activateSubscription(orgId: string): Promise<{ status: string; message: string }> {\n return this.http.put<{ status: string; message: string }>(`/v0/orgs/${orgId}/payments/subscription`);\n }\n\n async cancelSubscription(orgId: string): Promise<{ status: string; message: string }> {\n return this.http.delete<{ status: string; message: string }>(`/v0/orgs/${orgId}/payments/subscription`);\n }\n\n async getCurrentUsage(orgId: string): Promise<UsageResponse> {\n return this.http.get<UsageResponse>(`/v0/orgs/${orgId}/payments/usage`);\n }\n\n async addCredits(orgId: string, amount: number): Promise<CreditUpdateResponse> {\n return this.http.post<CreditUpdateResponse>(`/v0/orgs/${orgId}/payments/credits/add`, { amount });\n }\n\n async getCreditConfig(orgId: string): Promise<CreditConfig> {\n return this.http.get<CreditConfig>(`/v0/orgs/${orgId}/payments/credits/config`);\n }\n\n async purchaseCredits(orgId: string, request: { credits: number; success_url: string; cancel_url: string }): Promise<{ checkout_url: string; session_id: string }> {\n return this.http.post<{ checkout_url: string; session_id: string }>(`/v0/orgs/${orgId}/payments/credits/purchase`, request);\n }\n\n async getUsageRange(orgId: string, request: UsageRangeRequest): Promise<UsageRangeResponse> {\n const queryParams = new URLSearchParams();\n if (request.start_date) queryParams.append('start_date', request.start_date);\n if (request.end_date) queryParams.append('end_date', request.end_date);\n return this.http.get<UsageRangeResponse>(`/v0/orgs/${orgId}/payments/usage/range?${queryParams.toString()}`);\n }\n\n async createCheckoutSession(orgId: string, planId: string): Promise<PortalSessionResponse> {\n return this.http.post<PortalSessionResponse>(`/v0/orgs/${orgId}/payments/checkout-session`, { plan_id: planId });\n }\n\n /**\n * Run LLM chat (account level)\n */\n async runLLMChat(request: LLMChatRequest): Promise<LLMChatResponse> {\n return this.http.post('/v0/account/llm/run', request);\n }\n\n /**\n * Run LLM chat with streaming (account level)\n */\n async runLLMChatStream(\n request: LLMChatRequest,\n onChunk: (chunk: LLMChatStreamChunk | LLMChatStreamError) => void,\n onError?: (error: Error) => void,\n abortSignal?: AbortSignal\n ): Promise<void> {\n const streamingRequest = { ...request, stream: true };\n return this.http.stream('/v0/account/llm/run', streamingRequest, onChunk, onError, abortSignal);\n }\n\n /**\n * Get the current HTTP client (for advanced usage)\n */\n getHttpClient(): HttpClient {\n return this.http;\n }\n}\n","import { HttpClient } from './http-client';\nimport {\n DocRouterOrgConfig,\n UploadDocumentsResponse,\n ListDocumentsResponse,\n GetDocumentResponse,\n GetOCRMetadataResponse,\n RunLLMResponse,\n GetLLMResultResponse,\n ListTagsResponse,\n JsonValue,\n Tag,\n OCRBlock,\n // Forms\n CreateFormParams,\n ListFormsParams,\n ListFormsResponse,\n GetFormParams,\n UpdateFormParams,\n DeleteFormParams,\n SubmitFormParams,\n GetFormSubmissionParams,\n DeleteFormSubmissionParams,\n Form,\n FormSubmission,\n // Prompts\n CreatePromptParams,\n ListPromptsParams,\n ListPromptsResponse,\n GetPromptParams,\n UpdatePromptParams,\n DeletePromptParams,\n Prompt,\n // Schemas\n CreateSchemaParams,\n ListSchemasParams,\n ListSchemasResponse,\n GetSchemaParams,\n UpdateSchemaParams,\n DeleteSchemaParams,\n Schema,\n // Payments\n PortalSessionResponse,\n SubscriptionResponse,\n UsageResponse,\n CreditConfig,\n CreditUpdateResponse,\n UsageRangeRequest,\n UsageRangeResponse,\n // LLM Chat\n LLMChatRequest,\n LLMChatResponse,\n LLMChatStreamChunk,\n LLMChatStreamError,\n} from './types';\n\n/**\n * DocRouterOrg - For organization-scoped operations with org tokens\n * Use this when you have an organization token and want to work within that org\n */\nexport class DocRouterOrg {\n public readonly organizationId: string;\n private http: HttpClient;\n\n constructor(config: DocRouterOrgConfig) {\n this.organizationId = config.organizationId;\n this.http = new HttpClient({\n baseURL: config.baseURL,\n token: config.orgToken,\n timeout: config.timeout,\n retries: config.retries,\n onAuthError: config.onAuthError,\n });\n }\n\n /**\n * Update the organization token\n */\n updateToken(token: string): void {\n this.http.updateToken(token);\n }\n\n // ---------------- Documents ----------------\n\n async uploadDocuments(params: { documents: Array<{ name: string; content: string; tag_ids?: string[]; metadata?: Record<string, string>; }>; }): Promise<UploadDocumentsResponse> {\n const documentsPayload = params.documents.map(doc => {\n // Handle both plain base64 and data URLs\n let base64Content: string;\n if (doc.content.startsWith('data:')) {\n // Extract base64 from data URL (e.g., \"data:application/pdf;base64,JVBERi0xLjQK...\")\n base64Content = doc.content.split(',')[1];\n } else {\n // Plain base64 string\n base64Content = doc.content;\n }\n\n const payload: {\n name: string;\n content: string;\n tag_ids?: string[];\n metadata?: Record<string, string>;\n } = {\n name: doc.name,\n content: base64Content,\n };\n if (doc.tag_ids && doc.tag_ids.length > 0) payload.tag_ids = doc.tag_ids;\n if (doc.metadata) payload.metadata = doc.metadata;\n return payload;\n });\n\n return this.http.post<UploadDocumentsResponse>(\n `/v0/orgs/${this.organizationId}/documents`,\n { documents: documentsPayload }\n );\n }\n\n async listDocuments(params?: { skip?: number; limit?: number; tagIds?: string; nameSearch?: string; metadataSearch?: string; }): Promise<ListDocumentsResponse> {\n const queryParams: Record<string, string | number | undefined> = {\n skip: params?.skip || 0,\n limit: params?.limit || 10,\n };\n if (params?.tagIds) queryParams.tag_ids = params.tagIds;\n if (params?.nameSearch) queryParams.name_search = params.nameSearch;\n if (params?.metadataSearch) queryParams.metadata_search = params.metadataSearch;\n\n return this.http.get<ListDocumentsResponse>(`/v0/orgs/${this.organizationId}/documents`, {\n params: queryParams\n });\n }\n\n async getDocument(params: { documentId: string; fileType: string; }): Promise<GetDocumentResponse> {\n const { documentId, fileType } = params;\n const response = await this.http.get<{\n id: string;\n pdf_id: string;\n document_name: string;\n upload_date: string;\n uploaded_by: string;\n state: string;\n tag_ids: string[];\n type: string;\n metadata: Record<string, string>;\n content: string;\n }>(`/v0/orgs/${this.organizationId}/documents/${documentId}?file_type=${fileType}`);\n\n const binaryContent = atob(response.content);\n const len = binaryContent.length;\n const bytes = new Uint8Array(len);\n for (let i = 0; i < len; i++) {\n bytes[i] = binaryContent.charCodeAt(i);\n }\n\n return {\n id: response.id,\n pdf_id: response.pdf_id,\n document_name: response.document_name,\n upload_date: response.upload_date,\n uploaded_by: response.uploaded_by,\n state: response.state,\n tag_ids: response.tag_ids,\n type: response.type,\n metadata: response.metadata,\n content: bytes.buffer\n };\n }\n\n async updateDocument(params: { documentId: string; documentName?: string; tagIds?: string[]; metadata?: Record<string, string>; }) {\n const { documentId, documentName, tagIds, metadata } = params;\n const updateData: { tag_ids?: string[]; document_name?: string; metadata?: Record<string, string> } = {};\n if (documentName !== undefined) updateData.document_name = documentName;\n if (tagIds !== undefined) updateData.tag_ids = tagIds;\n if (metadata !== undefined) updateData.metadata = metadata;\n return this.http.put(`/v0/orgs/${this.organizationId}/documents/${documentId}`, updateData);\n }\n\n async deleteDocument(params: { documentId: string; }) {\n const { documentId } = params;\n return this.http.delete(`/v0/orgs/${this.organizationId}/documents/${documentId}`);\n }\n\n // ---------------- OCR ----------------\n\n async getOCRBlocks(params: { documentId: string; }): Promise<OCRBlock[]> {\n const { documentId } = params;\n return this.http.get<OCRBlock[]>(`/v0/orgs/${this.organizationId}/ocr/download/blocks/${documentId}`);\n }\n\n async getOCRText(params: { documentId: string; pageNum?: number; }): Promise<string> {\n const { documentId, pageNum } = params;\n const url = `/v0/orgs/${this.organizationId}/ocr/download/text/${documentId}${pageNum ? `?page_num=${pageNum}` : ''}`;\n return this.http.get<string>(url);\n }\n\n async getOCRMetadata(params: { documentId: string; }): Promise<GetOCRMetadataResponse> {\n const { documentId } = params;\n return this.http.get<GetOCRMetadataResponse>(`/v0/orgs/${this.organizationId}/ocr/download/metadata/${documentId}`);\n }\n\n // ---------------- LLM ----------------\n\n async runLLM(params: { documentId: string; promptRevId: string; force?: boolean; }): Promise<RunLLMResponse> {\n const { documentId, promptRevId, force } = params;\n return this.http.post<RunLLMResponse>(\n `/v0/orgs/${this.organizationId}/llm/run/${documentId}`,\n {},\n { params: { prompt_revid: promptRevId, force } }\n );\n }\n\n async getLLMResult(params: { documentId: string; promptRevId: string; fallback?: boolean; }): Promise<GetLLMResultResponse> {\n const { documentId, promptRevId, fallback } = params;\n return this.http.get<GetLLMResultResponse>(\n `/v0/orgs/${this.organizationId}/llm/result/${documentId}`,\n { params: { prompt_revid: promptRevId, fallback } }\n );\n }\n\n async updateLLMResult({\n documentId,\n promptId,\n result,\n isVerified = false\n }: { documentId: string; promptId: string; result: Record<string, JsonValue>; isVerified?: boolean; }): Promise<GetLLMResultResponse> {\n const response = await this.http.put<GetLLMResultResponse>(\n `/v0/orgs/${this.organizationId}/llm/result/${documentId}`,\n { updated_llm_result: result, is_verified: isVerified },\n { params: { prompt_revid: promptId } }\n );\n return response;\n }\n\n async deleteLLMResult(params: { documentId: string; promptId: string; }) {\n const { documentId, promptId } = params;\n return this.http.delete(\n `/v0/orgs/${this.organizationId}/llm/result/${documentId}`,\n { params: { prompt_revid: promptId } }\n );\n }\n\n async downloadAllLLMResults(params: { documentId: string; }) {\n const { documentId } = params;\n return this.http.get(\n `/v0/orgs/${this.organizationId}/llm/results/${documentId}/download`,\n { responseType: 'blob' as const }\n );\n }\n\n // ---------------- Prompts ----------------\n\n async createPrompt(params: Omit<CreatePromptParams, 'organizationId'>): Promise<Prompt> {\n const { prompt } = params;\n return this.http.post<Prompt>(`/v0/orgs/${this.organizationId}/prompts`, prompt);\n }\n\n async listPrompts(params?: Omit<ListPromptsParams, 'organizationId'>): Promise<ListPromptsResponse> {\n const { skip, limit, document_id, tag_ids, nameSearch } = params || {};\n return this.http.get<ListPromptsResponse>(`/v0/orgs/${this.organizationId}/prompts`, {\n params: {\n skip: skip || 0,\n limit: limit || 10,\n document_id,\n tag_ids,\n name_search: nameSearch\n }\n });\n }\n\n async getPrompt(params: Omit<GetPromptParams, 'organizationId'>): Promise<Prompt> {\n const { promptRevId } = params;\n return this.http.get<Prompt>(`/v0/orgs/${this.organizationId}/prompts/${promptRevId}`);\n }\n\n async updatePrompt(params: Omit<UpdatePromptParams, 'organizationId'>): Promise<Prompt> {\n const { promptId, prompt } = params;\n return this.http.put<Prompt>(`/v0/orgs/${this.organizationId}/prompts/${promptId}`, prompt);\n }\n\n async deletePrompt(params: Omit<DeletePromptParams, 'organizationId'>): Promise<{ message: string }> {\n const { promptId } = params;\n return this.http.delete<{ message: string }>(`/v0/orgs/${this.organizationId}/prompts/${promptId}`);\n }\n\n // ---------------- Tags ----------------\n\n async createTag(params: { tag: Omit<Tag, 'id' | 'created_at' | 'updated_at'>; }): Promise<Tag> {\n const { tag } = params;\n return this.http.post<Tag>(`/v0/orgs/${this.organizationId}/tags`, tag);\n }\n\n async getTag({ tagId }: { tagId: string; }): Promise<Tag> {\n return this.http.get<Tag>(`/v0/orgs/${this.organizationId}/tags/${tagId}`);\n }\n\n async listTags(params?: { skip?: number; limit?: number; nameSearch?: string; }): Promise<ListTagsResponse> {\n const { skip, limit, nameSearch } = params || {};\n return this.http.get<ListTagsResponse>(`/v0/orgs/${this.organizationId}/tags`, {\n params: { skip: skip || 0, limit: limit || 10, name_search: nameSearch }\n });\n }\n\n async updateTag(params: { tagId: string; tag: Partial<Omit<Tag, 'id' | 'created_at' | 'updated_at'>>; }): Promise<Tag> {\n const { tagId, tag } = params;\n return this.http.put<Tag>(`/v0/orgs/${this.organizationId}/tags/${tagId}`, tag);\n }\n\n async deleteTag(params: { tagId: string; }): Promise<{ message: string }> {\n const { tagId } = params;\n return this.http.delete<{ message: string }>(`/v0/orgs/${this.organizationId}/tags/${tagId}`);\n }\n\n // ---------------- Forms ----------------\n\n async createForm(form: Omit<CreateFormParams, 'organizationId'>): Promise<Form> {\n const { name, response_format } = form;\n return this.http.post<Form>(`/v0/orgs/${this.organizationId}/forms`, { name, response_format });\n }\n\n async listForms(params?: Omit<ListFormsParams, 'organizationId'>): Promise<ListFormsResponse> {\n const { skip, limit, tag_ids } = params || {};\n return this.http.get<ListFormsResponse>(`/v0/orgs/${this.organizationId}/forms`, {\n params: { skip: skip || 0, limit: limit || 10, tag_ids }\n });\n }\n\n async getForm(params: Omit<GetFormParams, 'organizationId'>): Promise<Form> {\n const { formRevId } = params;\n return this.http.get<Form>(`/v0/orgs/${this.organizationId}/forms/${formRevId}`);\n }\n\n async updateForm(params: Omit<UpdateFormParams, 'organizationId'>): Promise<Form> {\n const { formId, form } = params;\n return this.http.put<Form>(`/v0/orgs/${this.organizationId}/forms/${formId}`, form);\n }\n\n async deleteForm(params: Omit<DeleteFormParams, 'organizationId'>): Promise<{ message: string }> {\n const { formId } = params;\n return this.http.delete<{ message: string }>(`/v0/orgs/${this.organizationId}/forms/${formId}`);\n }\n\n async submitForm(params: Omit<SubmitFormParams, 'organizationId'>): Promise<FormSubmission> {\n const { documentId, formRevId, submission_data, submitted_by } = params;\n return this.http.post<FormSubmission>(`/v0/orgs/${this.organizationId}/forms/submissions/${documentId}`, {\n form_revid: formRevId,\n submission_data: submission_data,\n submitted_by: submitted_by\n });\n }\n\n async getFormSubmission(params: Omit<GetFormSubmissionParams, 'organizationId'>): Promise<FormSubmission | null> {\n const { documentId, formRevId } = params;\n return this.http.get<FormSubmission | null>(`/v0/orgs/${this.organizationId}/forms/submissions/${documentId}?form_revid=${formRevId}`);\n }\n\n async deleteFormSubmission(params: Omit<DeleteFormSubmissionParams, 'organizationId'>): Promise<void> {\n const { documentId, formRevId } = params;\n await this.http.delete(`/v0/orgs/${this.organizationId}/forms/submissions/${documentId}`, { params: { form_revid: formRevId } });\n }\n\n\n // ---------------- Schemas ----------------\n\n async createSchema(schema: Omit<CreateSchemaParams, 'organizationId'>): Promise<Schema> {\n return this.http.post<Schema>(`/v0/orgs/${this.organizationId}/schemas`, schema);\n }\n\n async listSchemas(params: Omit<ListSchemasParams, 'organizationId'>): Promise<ListSchemasResponse> {\n const { skip, limit, nameSearch } = params || {};\n return this.http.get<ListSchemasResponse>(`/v0/orgs/${this.organizationId}/schemas`, {\n params: { skip: skip || 0, limit: limit || 10, name_search: nameSearch }\n });\n }\n\n async getSchema(params: Omit<GetSchemaParams, 'organizationId'>): Promise<Schema> {\n const { schemaRevId } = params;\n return this.http.get<Schema>(`/v0/orgs/${this.organizationId}/schemas/${schemaRevId}`);\n }\n\n async updateSchema(params: Omit<UpdateSchemaParams, 'organizationId'>): Promise<Schema> {\n const { schemaId, schema } = params;\n return this.http.put<Schema>(`/v0/orgs/${this.organizationId}/schemas/${schemaId}`, schema);\n }\n\n async deleteSchema(params: Omit<DeleteSchemaParams, 'organizationId'>): Promise<{ message: string }> {\n const { schemaId } = params;\n return this.http.delete<{ message: string }>(`/v0/orgs/${this.organizationId}/schemas/${schemaId}`);\n }\n\n async validateAgainstSchema(params: { schemaRevId: string; data: Record<string, unknown> }): Promise<{ valid: boolean; errors?: string[] }> {\n const { schemaRevId, data } = params;\n return this.http.post<{ valid: boolean; errors?: string[] }>(`/v0/orgs/${this.organizationId}/schemas/${schemaRevId}/validate`, { data });\n }\n\n // ---------------- Payments ----------------\n\n async getCustomerPortal(): Promise<PortalSessionResponse> {\n return this.http.post<PortalSessionResponse>(`/v0/orgs/${this.organizationId}/payments/customer-portal`, {});\n }\n\n async getSubscription(): Promise<SubscriptionResponse> {\n return this.http.get<SubscriptionResponse>(`/v0/orgs/${this.organizationId}/payments/subscription`);\n }\n\n async activateSubscription(): Promise<{ status: string; message: string }> {\n return this.http.put<{ status: string; message: string }>(`/v0/orgs/${this.organizationId}/payments/subscription`, {});\n }\n\n async cancelSubscription(): Promise<{ status: string; message: string }> {\n return this.http.delete<{ status: string; message: string }>(`/v0/orgs/${this.organizationId}/payments/subscription`);\n }\n\n\n async getCurrentUsage(): Promise<UsageResponse> {\n return this.http.get<UsageResponse>(`/v0/orgs/${this.organizationId}/payments/usage`);\n }\n\n async addCredits(amount: number): Promise<CreditUpdateResponse> {\n return this.http.post<CreditUpdateResponse>(`/v0/orgs/${this.organizationId}/payments/credits/add`, { amount });\n }\n\n async getCreditConfig(): Promise<CreditConfig> {\n return this.http.get<CreditConfig>(`/v0/orgs/${this.organizationId}/payments/credits/config`);\n }\n\n async purchaseCredits(request: { credits: number; success_url: string; cancel_url: string; }) {\n return this.http.post(`/v0/orgs/${this.organizationId}/payments/credits/purchase`, request);\n }\n\n async getUsageRange(request: UsageRangeRequest): Promise<UsageRangeResponse> {\n return this.http.get<UsageRangeResponse>(`/v0/orgs/${this.organizationId}/payments/usage/range`, { params: request });\n }\n\n async createCheckoutSession(planId: string): Promise<PortalSessionResponse> {\n return this.http.post<PortalSessionResponse>(`/v0/orgs/${this.organizationId}/payments/checkout-session`, { plan_id: planId });\n }\n\n // ---------------- LLM Chat (Org) ----------------\n\n async runLLMChat(request: LLMChatRequest): Promise<LLMChatResponse> {\n return this.http.post(`/v0/orgs/${this.organizationId}/llm/run`, request);\n }\n\n async runLLMChatStream(\n request: LLMChatRequest,\n onChunk: (chunk: LLMChatStreamChunk | LLMChatStreamError) => void,\n onError?: (error: Error) => void,\n abortSignal?: AbortSignal\n ): Promise<void> {\n const streamingRequest = { ...request, stream: true };\n return this.http.stream(`/v0/orgs/${this.organizationId}/llm/run`, streamingRequest, onChunk, onError, abortSignal);\n }\n\n /**\n * Get the current HTTP client (for advanced usage)\n */\n getHttpClient(): HttpClient {\n return this.http;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/http-client.ts","../src/docrouter-account.ts","../src/docrouter-org.ts"],"names":["axios","isAxiosError"],"mappings":"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","file":"index.js","sourcesContent":["import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse, isAxiosError } from 'axios';\nimport { DocRouterConfig, ApiError, LLMChatStreamChunk, LLMChatStreamError } from './types';\n\nexport class HttpClient {\n private axios: AxiosInstance;\n private config: DocRouterConfig;\n private isRefreshing = false;\n private failedQueue: Array<{\n resolve: (value?: unknown) => void;\n reject: (error: Error) => void;\n }> = [];\n\n constructor(config: DocRouterConfig) {\n this.config = config;\n this.axios = axios.create({\n baseURL: config.baseURL,\n timeout: config.timeout || 30000,\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n this.setupInterceptors();\n }\n\n private setupInterceptors(): void {\n // Request interceptor for auth\n this.axios.interceptors.request.use(\n async (config) => {\n const token = await this.getToken();\n if (token) {\n config.headers.Authorization = `Bearer ${token}`;\n }\n return config;\n },\n (error) => Promise.reject(error)\n );\n\n // Response interceptor for error handling\n this.axios.interceptors.response.use(\n (response) => response,\n async (error) => {\n const originalRequest = error.config;\n\n // Handle 401 errors (unauthorized)\n if (error.response?.status === 401 && !originalRequest._retry) {\n if (this.isRefreshing) {\n return new Promise((resolve, reject) => {\n this.failedQueue.push({ resolve, reject });\n })\n .then(() => this.axios(originalRequest))\n .catch((err) => {\n this.handleAuthError(err);\n return Promise.reject(err);\n });\n }\n\n originalRequest._retry = true;\n this.isRefreshing = true;\n\n try {\n // Try to get a new token\n const newToken = await this.getToken();\n if (newToken) {\n originalRequest.headers.Authorization = `Bearer ${newToken}`;\n this.processQueue();\n return this.axios(originalRequest);\n } else {\n this.handleAuthError(error);\n return Promise.reject(this.createApiError(error));\n }\n } catch (refreshError) {\n this.processQueue(refreshError instanceof Error ? refreshError : new Error('Token refresh failed'));\n this.handleAuthError(error);\n return Promise.reject(this.createApiError(error));\n } finally {\n this.isRefreshing = false;\n }\n }\n\n return Promise.reject(this.createApiError(error));\n }\n );\n }\n\n private async getToken(): Promise<string | null> {\n if (this.config.token) {\n return this.config.token;\n }\n \n if (this.config.tokenProvider) {\n try {\n return await this.config.tokenProvider();\n } catch (error) {\n console.warn('Token provider failed:', error);\n return null;\n }\n }\n\n return null;\n }\n\n private processQueue(error: Error | null = null): void {\n this.failedQueue.forEach(prom => {\n if (error) {\n prom.reject(error);\n } else {\n prom.resolve();\n }\n });\n this.failedQueue = [];\n }\n\n private handleAuthError(error: unknown): void {\n if (this.config.onAuthError) {\n this.config.onAuthError(error instanceof Error ? error : new Error('Authentication failed'));\n }\n }\n\n private createApiError(error: unknown): ApiError {\n if (isAxiosError(error)) {\n const message = error.response?.data?.detail || error.message || 'Request failed';\n const apiError: ApiError = new Error(message);\n apiError.status = error.response?.status;\n apiError.code = error.code;\n apiError.details = error.response?.data;\n return apiError;\n }\n\n if (error instanceof Error) {\n const apiError: ApiError = error;\n return apiError;\n }\n\n return new Error('Unknown error occurred');\n }\n\n // Public methods\n async get<T = unknown>(url: string, config?: AxiosRequestConfig): Promise<T> {\n const response: AxiosResponse<T> = await this.axios.get(url, config);\n return response.data;\n }\n\n async post<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): Promise<T> {\n const response: AxiosResponse<T> = await this.axios.post(url, data, config);\n return response.data;\n }\n\n async put<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): Promise<T> {\n const response: AxiosResponse<T> = await this.axios.put(url, data, config);\n return response.data;\n }\n\n async delete<T = unknown>(url: string, config?: AxiosRequestConfig): Promise<T> {\n const response: AxiosResponse<T> = await this.axios.delete(url, config);\n return response.data;\n }\n\n async request<T = unknown>(config: AxiosRequestConfig): Promise<T> {\n const response: AxiosResponse<T> = await this.axios.request(config);\n return response.data;\n }\n\n // For streaming requests\n async stream(\n url: string,\n data: unknown,\n onChunk: (chunk: LLMChatStreamChunk | LLMChatStreamError) => void,\n onError?: (error: Error) => void,\n abortSignal?: AbortSignal\n ): Promise<void> {\n try {\n const token = await this.getToken();\n if (!token) {\n throw new Error('No token available for streaming request');\n }\n\n const response = await fetch(`${this.config.baseURL}${url}`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${token}`,\n 'Accept': 'text/plain',\n 'Cache-Control': 'no-cache',\n },\n body: JSON.stringify(data),\n signal: abortSignal,\n });\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n\n if (!response.body) {\n throw new Error('Response body is not available for streaming');\n }\n\n const reader = response.body.getReader();\n const decoder = new TextDecoder();\n let buffer = '';\n\n try {\n while (true) {\n const { done, value } = await reader.read();\n \n if (done) {\n break;\n }\n\n // Decode the chunk and add to buffer\n buffer += decoder.decode(value, { stream: true });\n \n // Process complete lines from buffer\n const lines = buffer.split('\\n');\n buffer = lines.pop() || ''; // Keep incomplete line in buffer\n \n for (const line of lines) {\n if (line.startsWith('data: ')) {\n try {\n const chunkData = JSON.parse(line.slice(6));\n onChunk(chunkData);\n \n // Stop if we're done\n if (chunkData.done) {\n return;\n }\n } catch (parseError) {\n console.warn('Failed to parse streaming chunk:', parseError);\n }\n }\n }\n }\n } finally {\n reader.releaseLock();\n }\n } catch (error) {\n if (onError) {\n onError(error instanceof Error ? error : new Error('Streaming request failed'));\n } else {\n throw error;\n }\n }\n }\n\n // Update token\n updateToken(token: string): void {\n this.config.token = token;\n }\n\n // Update token provider\n updateTokenProvider(provider: () => Promise<string>): void {\n this.config.tokenProvider = provider;\n }\n}\n","import { HttpClient } from './http-client';\nimport {\n DocRouterAccountConfig,\n AccessToken,\n ListOrganizationsResponse,\n Organization,\n CreateOrganizationRequest,\n UpdateOrganizationRequest,\n CreateTokenRequest,\n ListAccessTokensResponse,\n TokenOrganizationResponse,\n ListLLMModelsParams,\n ListLLMModelsResponse,\n ListLLMProvidersResponse,\n SetLLMProviderConfigRequest,\n LLMChatRequest,\n LLMChatResponse,\n LLMChatStreamChunk,\n LLMChatStreamError,\n ListUsersParams,\n ListUsersResponse,\n UserCreate,\n UserUpdate,\n User,\n AWSConfig,\n // Invitation types\n InvitationResponse,\n CreateInvitationRequest,\n ListInvitationsParams,\n ListInvitationsResponse,\n AcceptInvitationRequest,\n // Payment types\n PortalSessionResponse,\n SubscriptionResponse,\n UsageResponse,\n CreditConfig,\n CreditUpdateResponse,\n UsageRangeRequest,\n UsageRangeResponse,\n} from './types';\n\n/**\n * DocRouterAccount - For account-level operations with account tokens\n * Use this for server-to-server integrations that need full account access\n */\nexport class DocRouterAccount {\n private http: HttpClient;\n\n constructor(config: DocRouterAccountConfig) {\n this.http = new HttpClient({\n baseURL: config.baseURL,\n token: config.accountToken,\n timeout: config.timeout,\n retries: config.retries,\n onAuthError: config.onAuthError,\n });\n }\n\n /**\n * Update the account token\n */\n updateToken(token: string): void {\n this.http.updateToken(token);\n }\n\n // --------------- Organizations ---------------\n async listOrganizations(params?: { \n userId?: string;\n organizationId?: string;\n nameSearch?: string;\n memberSearch?: string;\n skip?: number;\n limit?: number;\n }): Promise<ListOrganizationsResponse> {\n const queryParams = new URLSearchParams();\n if (params?.userId) queryParams.append('user_id', params.userId);\n if (params?.organizationId) queryParams.append('organization_id', params.organizationId);\n if (params?.nameSearch) queryParams.append('name_search', params.nameSearch);\n if (params?.memberSearch) queryParams.append('member_search', params.memberSearch);\n if (params?.skip !== undefined) queryParams.append('skip', String(params.skip));\n if (params?.limit !== undefined) queryParams.append('limit', String(params.limit));\n return this.http.get<ListOrganizationsResponse>(`/v0/account/organizations?${queryParams.toString()}`);\n }\n\n async getOrganization(organizationId: string): Promise<Organization> {\n const response = await this.listOrganizations({ organizationId });\n return response.organizations[0];\n }\n\n async createOrganization(organization: CreateOrganizationRequest): Promise<Organization> {\n const response = await this.http.post<{\n _id?: string;\n id: string;\n name: string;\n members: Organization['members'];\n type: Organization['type'];\n created_at: string;\n updated_at: string;\n }>(`/v0/account/organizations`, organization);\n return {\n id: response._id || response.id,\n name: response.name,\n members: response.members,\n type: response.type,\n created_at: response.created_at,\n updated_at: response.updated_at,\n };\n }\n\n async updateOrganization(organizationId: string, update: UpdateOrganizationRequest): Promise<Organization> {\n return this.http.put(`/v0/account/organizations/${organizationId}`, update);\n }\n\n async deleteOrganization(organizationId: string) {\n return this.http.delete(`/v0/account/organizations/${organizationId}`);\n }\n\n // --------------- Tokens ---------------\n async createAccountToken(request: CreateTokenRequest): Promise<AccessToken> {\n return this.http.post(`/v0/account/access_tokens`, request);\n }\n\n async getAccountTokens(): Promise<AccessToken[]> {\n const resp = await this.http.get<ListAccessTokensResponse | AccessToken[]>(`/v0/account/access_tokens`);\n // Normalize to array for SDK consumers/tests\n return Array.isArray(resp) ? resp : (resp as ListAccessTokensResponse).access_tokens;\n }\n\n async deleteAccountToken(tokenId: string): Promise<void> {\n return this.http.delete(`/v0/account/access_tokens/${tokenId}`);\n }\n\n async createOrganizationToken(request: CreateTokenRequest, organizationId: string): Promise<AccessToken> {\n return this.http.post(`/v0/orgs/${organizationId}/access_tokens`, request);\n }\n\n async getOrganizationTokens(organizationId: string): Promise<AccessToken[]> {\n const resp = await this.http.get<ListAccessTokensResponse | AccessToken[]>(`/v0/orgs/${organizationId}/access_tokens`);\n // Normalize to array for SDK consumers/tests\n return Array.isArray(resp) ? resp : (resp as ListAccessTokensResponse).access_tokens;\n }\n\n async deleteOrganizationToken(tokenId: string, organizationId: string): Promise<void> {\n return this.http.delete(`/v0/orgs/${organizationId}/access_tokens/${tokenId}`);\n }\n\n /**\n * Get the organization ID associated with an API token\n * @param token The API token to resolve\n * @returns The organization ID for org-specific tokens, or null for account-level tokens\n */\n async getOrganizationFromToken(token: string): Promise<TokenOrganizationResponse> {\n return this.http.get<TokenOrganizationResponse>(`/v0/account/token/organization?token=${encodeURIComponent(token)}`);\n }\n\n // --------------- LLM (account-level) ---------------\n async listLLMModels(params: ListLLMModelsParams): Promise<ListLLMModelsResponse> {\n return this.http.get<ListLLMModelsResponse>('/v0/account/llm/models', {\n params: {\n provider_name: params.providerName,\n provider_enabled: params.providerEnabled,\n llm_enabled: params.llmEnabled,\n }\n });\n }\n\n async listLLMProviders(): Promise<ListLLMProvidersResponse> {\n return this.http.get<ListLLMProvidersResponse>('/v0/account/llm/providers');\n }\n\n async setLLMProviderConfig(providerName: string, request: SetLLMProviderConfigRequest) {\n return this.http.put<SetLLMProviderConfigRequest>(`/v0/account/llm/provider/${providerName}`, request);\n }\n\n // --------------- Users ---------------\n async listUsers(params?: ListUsersParams): Promise<ListUsersResponse> {\n const queryParams = new URLSearchParams();\n if (params?.skip) queryParams.append('skip', String(params.skip));\n if (params?.limit) queryParams.append('limit', String(params.limit));\n if (params?.organization_id) queryParams.append('organization_id', params.organization_id);\n if (params?.user_id) queryParams.append('user_id', params.user_id);\n if (params?.search_name) queryParams.append('search_name', params.search_name);\n return this.http.get<ListUsersResponse>(`/v0/account/users?${queryParams.toString()}`);\n }\n\n async getUser(userId: string): Promise<User> {\n const response = await this.listUsers({ user_id: userId });\n return response.users[0];\n }\n\n async createUser(user: UserCreate): Promise<User> {\n return this.http.post<User>('/v0/account/users', user);\n }\n\n async updateUser(userId: string, update: UserUpdate): Promise<User> {\n return this.http.put<User>(`/v0/account/users/${userId}`, update);\n }\n\n async deleteUser(userId: string): Promise<void> {\n await this.http.delete(`/v0/account/users/${userId}`);\n }\n\n // --------------- Email Verification ---------------\n async sendVerificationEmail(userId: string) {\n return this.http.post(`/v0/account/email/verification/send/${userId}`);\n }\n\n async sendRegistrationVerificationEmail(userId: string) {\n return this.http.post(`/v0/account/email/verification/register/${userId}`);\n }\n\n async verifyEmail(token: string) {\n return this.http.post(`/v0/account/email/verification/${token}`);\n }\n\n // --------------- AWS Config ---------------\n async createAWSConfig(config: Omit<AWSConfig, 'created_at'>): Promise<AWSConfig> {\n return this.http.post('/v0/account/aws_config', config);\n }\n\n async getAWSConfig(): Promise<AWSConfig> {\n return this.http.get('/v0/account/aws_config');\n }\n\n async deleteAWSConfig(): Promise<void> {\n return this.http.delete('/v0/account/aws_config');\n }\n\n // --------------- Invitations ---------------\n async createInvitation(invitation: CreateInvitationRequest): Promise<InvitationResponse> {\n return this.http.post<InvitationResponse>('/v0/account/email/invitations', invitation);\n }\n\n async getInvitations(params?: ListInvitationsParams): Promise<ListInvitationsResponse> {\n const queryParams = new URLSearchParams();\n if (params?.skip !== undefined) queryParams.append('skip', String(params.skip));\n if (params?.limit !== undefined) queryParams.append('limit', String(params.limit));\n return this.http.get<ListInvitationsResponse>(`/v0/account/email/invitations?${queryParams.toString()}`);\n }\n\n async getInvitation(token: string): Promise<InvitationResponse> {\n return this.http.get<InvitationResponse>(`/v0/account/email/invitations/${token}`);\n }\n\n async acceptInvitation(token: string, data: AcceptInvitationRequest): Promise<{ message: string }> {\n return this.http.post<{ message: string }>(`/v0/account/email/invitations/${token}/accept`, data);\n }\n\n // --------------- Payments & Subscriptions ---------------\n async getCustomerPortal(orgId: string): Promise<PortalSessionResponse> {\n return this.http.post<PortalSessionResponse>(`/v0/orgs/${orgId}/payments/customer-portal`);\n }\n\n async getSubscription(orgId: string): Promise<SubscriptionResponse> {\n return this.http.get<SubscriptionResponse>(`/v0/orgs/${orgId}/payments/subscription`);\n }\n\n async activateSubscription(orgId: string): Promise<{ status: string; message: string }> {\n return this.http.put<{ status: string; message: string }>(`/v0/orgs/${orgId}/payments/subscription`);\n }\n\n async cancelSubscription(orgId: string): Promise<{ status: string; message: string }> {\n return this.http.delete<{ status: string; message: string }>(`/v0/orgs/${orgId}/payments/subscription`);\n }\n\n async getCurrentUsage(orgId: string): Promise<UsageResponse> {\n return this.http.get<UsageResponse>(`/v0/orgs/${orgId}/payments/usage`);\n }\n\n async addCredits(orgId: string, amount: number): Promise<CreditUpdateResponse> {\n return this.http.post<CreditUpdateResponse>(`/v0/orgs/${orgId}/payments/credits/add`, { amount });\n }\n\n async getCreditConfig(orgId: string): Promise<CreditConfig> {\n return this.http.get<CreditConfig>(`/v0/orgs/${orgId}/payments/credits/config`);\n }\n\n async purchaseCredits(orgId: string, request: { credits: number; success_url: string; cancel_url: string }): Promise<{ checkout_url: string; session_id: string }> {\n return this.http.post<{ checkout_url: string; session_id: string }>(`/v0/orgs/${orgId}/payments/credits/purchase`, request);\n }\n\n async getUsageRange(orgId: string, request: UsageRangeRequest): Promise<UsageRangeResponse> {\n const queryParams = new URLSearchParams();\n if (request.start_date) queryParams.append('start_date', request.start_date);\n if (request.end_date) queryParams.append('end_date', request.end_date);\n return this.http.get<UsageRangeResponse>(`/v0/orgs/${orgId}/payments/usage/range?${queryParams.toString()}`);\n }\n\n async createCheckoutSession(orgId: string, planId: string): Promise<PortalSessionResponse> {\n return this.http.post<PortalSessionResponse>(`/v0/orgs/${orgId}/payments/checkout-session`, { plan_id: planId });\n }\n\n /**\n * Run LLM chat (account level)\n */\n async runLLMChat(request: LLMChatRequest): Promise<LLMChatResponse> {\n return this.http.post('/v0/account/llm/run', request);\n }\n\n /**\n * Run LLM chat with streaming (account level)\n */\n async runLLMChatStream(\n request: LLMChatRequest,\n onChunk: (chunk: LLMChatStreamChunk | LLMChatStreamError) => void,\n onError?: (error: Error) => void,\n abortSignal?: AbortSignal\n ): Promise<void> {\n const streamingRequest = { ...request, stream: true };\n return this.http.stream('/v0/account/llm/run', streamingRequest, onChunk, onError, abortSignal);\n }\n\n /**\n * Get the current HTTP client (for advanced usage)\n */\n getHttpClient(): HttpClient {\n return this.http;\n }\n}\n","import { HttpClient } from './http-client';\nimport {\n DocRouterOrgConfig,\n UploadDocumentsResponse,\n ListDocumentsResponse,\n GetDocumentResponse,\n GetOCRMetadataResponse,\n RunLLMResponse,\n GetLLMResultResponse,\n ListTagsResponse,\n JsonValue,\n Tag,\n OCRBlock,\n // Forms\n CreateFormParams,\n ListFormsParams,\n ListFormsResponse,\n GetFormParams,\n UpdateFormParams,\n DeleteFormParams,\n SubmitFormParams,\n GetFormSubmissionParams,\n DeleteFormSubmissionParams,\n Form,\n FormSubmission,\n // Prompts\n CreatePromptParams,\n ListPromptsParams,\n ListPromptsResponse,\n GetPromptParams,\n UpdatePromptParams,\n DeletePromptParams,\n Prompt,\n // Schemas\n CreateSchemaParams,\n ListSchemasParams,\n ListSchemasResponse,\n GetSchemaParams,\n UpdateSchemaParams,\n DeleteSchemaParams,\n Schema,\n // Payments\n PortalSessionResponse,\n SubscriptionResponse,\n UsageResponse,\n CreditConfig,\n CreditUpdateResponse,\n UsageRangeRequest,\n UsageRangeResponse,\n // LLM Chat\n LLMChatRequest,\n LLMChatResponse,\n LLMChatStreamChunk,\n LLMChatStreamError,\n // LLM Models\n ListOrgLLMModelsResponse,\n} from './types';\n\n/**\n * DocRouterOrg - For organization-scoped operations with org tokens\n * Use this when you have an organization token and want to work within that org\n */\nexport class DocRouterOrg {\n public readonly organizationId: string;\n private http: HttpClient;\n\n constructor(config: DocRouterOrgConfig) {\n this.organizationId = config.organizationId;\n this.http = new HttpClient({\n baseURL: config.baseURL,\n token: config.orgToken,\n timeout: config.timeout,\n retries: config.retries,\n onAuthError: config.onAuthError,\n });\n }\n\n /**\n * Update the organization token\n */\n updateToken(token: string): void {\n this.http.updateToken(token);\n }\n\n // ---------------- Documents ----------------\n\n async uploadDocuments(params: { documents: Array<{ name: string; content: string; tag_ids?: string[]; metadata?: Record<string, string>; }>; }): Promise<UploadDocumentsResponse> {\n const documentsPayload = params.documents.map(doc => {\n // Handle both plain base64 and data URLs\n let base64Content: string;\n if (doc.content.startsWith('data:')) {\n // Extract base64 from data URL (e.g., \"data:application/pdf;base64,JVBERi0xLjQK...\")\n base64Content = doc.content.split(',')[1];\n } else {\n // Plain base64 string\n base64Content = doc.content;\n }\n\n const payload: {\n name: string;\n content: string;\n tag_ids?: string[];\n metadata?: Record<string, string>;\n } = {\n name: doc.name,\n content: base64Content,\n };\n if (doc.tag_ids && doc.tag_ids.length > 0) payload.tag_ids = doc.tag_ids;\n if (doc.metadata) payload.metadata = doc.metadata;\n return payload;\n });\n\n return this.http.post<UploadDocumentsResponse>(\n `/v0/orgs/${this.organizationId}/documents`,\n { documents: documentsPayload }\n );\n }\n\n async listDocuments(params?: { skip?: number; limit?: number; tagIds?: string; nameSearch?: string; metadataSearch?: string; }): Promise<ListDocumentsResponse> {\n const queryParams: Record<string, string | number | undefined> = {\n skip: params?.skip || 0,\n limit: params?.limit || 10,\n };\n if (params?.tagIds) queryParams.tag_ids = params.tagIds;\n if (params?.nameSearch) queryParams.name_search = params.nameSearch;\n if (params?.metadataSearch) queryParams.metadata_search = params.metadataSearch;\n\n return this.http.get<ListDocumentsResponse>(`/v0/orgs/${this.organizationId}/documents`, {\n params: queryParams\n });\n }\n\n async getDocument(params: { documentId: string; fileType: string; }): Promise<GetDocumentResponse> {\n const { documentId, fileType } = params;\n const response = await this.http.get<{\n id: string;\n pdf_id: string;\n document_name: string;\n upload_date: string;\n uploaded_by: string;\n state: string;\n tag_ids: string[];\n type: string;\n metadata: Record<string, string>;\n content: string;\n }>(`/v0/orgs/${this.organizationId}/documents/${documentId}?file_type=${fileType}`);\n\n const binaryContent = atob(response.content);\n const len = binaryContent.length;\n const bytes = new Uint8Array(len);\n for (let i = 0; i < len; i++) {\n bytes[i] = binaryContent.charCodeAt(i);\n }\n\n return {\n id: response.id,\n pdf_id: response.pdf_id,\n document_name: response.document_name,\n upload_date: response.upload_date,\n uploaded_by: response.uploaded_by,\n state: response.state,\n tag_ids: response.tag_ids,\n type: response.type,\n metadata: response.metadata,\n content: bytes.buffer\n };\n }\n\n async updateDocument(params: { documentId: string; documentName?: string; tagIds?: string[]; metadata?: Record<string, string>; }) {\n const { documentId, documentName, tagIds, metadata } = params;\n const updateData: { tag_ids?: string[]; document_name?: string; metadata?: Record<string, string> } = {};\n if (documentName !== undefined) updateData.document_name = documentName;\n if (tagIds !== undefined) updateData.tag_ids = tagIds;\n if (metadata !== undefined) updateData.metadata = metadata;\n return this.http.put(`/v0/orgs/${this.organizationId}/documents/${documentId}`, updateData);\n }\n\n async deleteDocument(params: { documentId: string; }) {\n const { documentId } = params;\n return this.http.delete(`/v0/orgs/${this.organizationId}/documents/${documentId}`);\n }\n\n // ---------------- OCR ----------------\n\n async getOCRBlocks(params: { documentId: string; }): Promise<OCRBlock[]> {\n const { documentId } = params;\n return this.http.get<OCRBlock[]>(`/v0/orgs/${this.organizationId}/ocr/download/blocks/${documentId}`);\n }\n\n async getOCRText(params: { documentId: string; pageNum?: number; }): Promise<string> {\n const { documentId, pageNum } = params;\n const url = `/v0/orgs/${this.organizationId}/ocr/download/text/${documentId}${pageNum ? `?page_num=${pageNum}` : ''}`;\n return this.http.get<string>(url);\n }\n\n async getOCRMetadata(params: { documentId: string; }): Promise<GetOCRMetadataResponse> {\n const { documentId } = params;\n return this.http.get<GetOCRMetadataResponse>(`/v0/orgs/${this.organizationId}/ocr/download/metadata/${documentId}`);\n }\n\n // ---------------- LLM ----------------\n\n async runLLM(params: { documentId: string; promptRevId: string; force?: boolean; }): Promise<RunLLMResponse> {\n const { documentId, promptRevId, force } = params;\n return this.http.post<RunLLMResponse>(\n `/v0/orgs/${this.organizationId}/llm/run/${documentId}`,\n {},\n { params: { prompt_revid: promptRevId, force } }\n );\n }\n\n async getLLMResult(params: { documentId: string; promptRevId: string; fallback?: boolean; }): Promise<GetLLMResultResponse> {\n const { documentId, promptRevId, fallback } = params;\n return this.http.get<GetLLMResultResponse>(\n `/v0/orgs/${this.organizationId}/llm/result/${documentId}`,\n { params: { prompt_revid: promptRevId, fallback } }\n );\n }\n\n async updateLLMResult({\n documentId,\n promptId,\n result,\n isVerified = false\n }: { documentId: string; promptId: string; result: Record<string, JsonValue>; isVerified?: boolean; }): Promise<GetLLMResultResponse> {\n const response = await this.http.put<GetLLMResultResponse>(\n `/v0/orgs/${this.organizationId}/llm/result/${documentId}`,\n { updated_llm_result: result, is_verified: isVerified },\n { params: { prompt_revid: promptId } }\n );\n return response;\n }\n\n async deleteLLMResult(params: { documentId: string; promptId: string; }) {\n const { documentId, promptId } = params;\n return this.http.delete(\n `/v0/orgs/${this.organizationId}/llm/result/${documentId}`,\n { params: { prompt_revid: promptId } }\n );\n }\n\n async downloadAllLLMResults(params: { documentId: string; }) {\n const { documentId } = params;\n return this.http.get(\n `/v0/orgs/${this.organizationId}/llm/results/${documentId}/download`,\n { responseType: 'blob' as const }\n );\n }\n\n // ---------------- Prompts ----------------\n\n async createPrompt(params: Omit<CreatePromptParams, 'organizationId'>): Promise<Prompt> {\n const { prompt } = params;\n return this.http.post<Prompt>(`/v0/orgs/${this.organizationId}/prompts`, prompt);\n }\n\n async listPrompts(params?: Omit<ListPromptsParams, 'organizationId'>): Promise<ListPromptsResponse> {\n const { skip, limit, document_id, tag_ids, nameSearch } = params || {};\n return this.http.get<ListPromptsResponse>(`/v0/orgs/${this.organizationId}/prompts`, {\n params: {\n skip: skip || 0,\n limit: limit || 10,\n document_id,\n tag_ids,\n name_search: nameSearch\n }\n });\n }\n\n async getPrompt(params: Omit<GetPromptParams, 'organizationId'>): Promise<Prompt> {\n const { promptRevId } = params;\n return this.http.get<Prompt>(`/v0/orgs/${this.organizationId}/prompts/${promptRevId}`);\n }\n\n async updatePrompt(params: Omit<UpdatePromptParams, 'organizationId'>): Promise<Prompt> {\n const { promptId, prompt } = params;\n return this.http.put<Prompt>(`/v0/orgs/${this.organizationId}/prompts/${promptId}`, prompt);\n }\n\n async deletePrompt(params: Omit<DeletePromptParams, 'organizationId'>): Promise<{ message: string }> {\n const { promptId } = params;\n return this.http.delete<{ message: string }>(`/v0/orgs/${this.organizationId}/prompts/${promptId}`);\n }\n\n async listPromptVersions(params: { promptId: string }): Promise<ListPromptsResponse> {\n const { promptId } = params;\n return this.http.get<ListPromptsResponse>(`/v0/orgs/${this.organizationId}/prompts/${promptId}/versions`);\n }\n\n // ---------------- Tags ----------------\n\n async createTag(params: { tag: Omit<Tag, 'id' | 'created_at' | 'updated_at'>; }): Promise<Tag> {\n const { tag } = params;\n return this.http.post<Tag>(`/v0/orgs/${this.organizationId}/tags`, tag);\n }\n\n async getTag({ tagId }: { tagId: string; }): Promise<Tag> {\n return this.http.get<Tag>(`/v0/orgs/${this.organizationId}/tags/${tagId}`);\n }\n\n async listTags(params?: { skip?: number; limit?: number; nameSearch?: string; }): Promise<ListTagsResponse> {\n const { skip, limit, nameSearch } = params || {};\n return this.http.get<ListTagsResponse>(`/v0/orgs/${this.organizationId}/tags`, {\n params: { skip: skip || 0, limit: limit || 10, name_search: nameSearch }\n });\n }\n\n async updateTag(params: { tagId: string; tag: Partial<Omit<Tag, 'id' | 'created_at' | 'updated_at'>>; }): Promise<Tag> {\n const { tagId, tag } = params;\n return this.http.put<Tag>(`/v0/orgs/${this.organizationId}/tags/${tagId}`, tag);\n }\n\n async deleteTag(params: { tagId: string; }): Promise<{ message: string }> {\n const { tagId } = params;\n return this.http.delete<{ message: string }>(`/v0/orgs/${this.organizationId}/tags/${tagId}`);\n }\n\n // ---------------- Forms ----------------\n\n async createForm(form: Omit<CreateFormParams, 'organizationId'>): Promise<Form> {\n const { name, response_format } = form;\n return this.http.post<Form>(`/v0/orgs/${this.organizationId}/forms`, { name, response_format });\n }\n\n async listForms(params?: Omit<ListFormsParams, 'organizationId'>): Promise<ListFormsResponse> {\n const { skip, limit, tag_ids } = params || {};\n return this.http.get<ListFormsResponse>(`/v0/orgs/${this.organizationId}/forms`, {\n params: { skip: skip || 0, limit: limit || 10, tag_ids }\n });\n }\n\n async getForm(params: Omit<GetFormParams, 'organizationId'>): Promise<Form> {\n const { formRevId } = params;\n return this.http.get<Form>(`/v0/orgs/${this.organizationId}/forms/${formRevId}`);\n }\n\n async updateForm(params: Omit<UpdateFormParams, 'organizationId'>): Promise<Form> {\n const { formId, form } = params;\n return this.http.put<Form>(`/v0/orgs/${this.organizationId}/forms/${formId}`, form);\n }\n\n async deleteForm(params: Omit<DeleteFormParams, 'organizationId'>): Promise<{ message: string }> {\n const { formId } = params;\n return this.http.delete<{ message: string }>(`/v0/orgs/${this.organizationId}/forms/${formId}`);\n }\n\n async listFormVersions(params: { formId: string }): Promise<ListFormsResponse> {\n const { formId } = params;\n return this.http.get<ListFormsResponse>(`/v0/orgs/${this.organizationId}/forms/${formId}/versions`);\n }\n\n async submitForm(params: Omit<SubmitFormParams, 'organizationId'>): Promise<FormSubmission> {\n const { documentId, formRevId, submission_data, submitted_by } = params;\n return this.http.post<FormSubmission>(`/v0/orgs/${this.organizationId}/forms/submissions/${documentId}`, {\n form_revid: formRevId,\n submission_data: submission_data,\n submitted_by: submitted_by\n });\n }\n\n async getFormSubmission(params: Omit<GetFormSubmissionParams, 'organizationId'>): Promise<FormSubmission | null> {\n const { documentId, formRevId } = params;\n return this.http.get<FormSubmission | null>(`/v0/orgs/${this.organizationId}/forms/submissions/${documentId}?form_revid=${formRevId}`);\n }\n\n async deleteFormSubmission(params: Omit<DeleteFormSubmissionParams, 'organizationId'>): Promise<void> {\n const { documentId, formRevId } = params;\n await this.http.delete(`/v0/orgs/${this.organizationId}/forms/submissions/${documentId}`, { params: { form_revid: formRevId } });\n }\n\n\n // ---------------- Schemas ----------------\n\n async createSchema(schema: Omit<CreateSchemaParams, 'organizationId'>): Promise<Schema> {\n return this.http.post<Schema>(`/v0/orgs/${this.organizationId}/schemas`, schema);\n }\n\n async listSchemas(params: Omit<ListSchemasParams, 'organizationId'>): Promise<ListSchemasResponse> {\n const { skip, limit, nameSearch } = params || {};\n return this.http.get<ListSchemasResponse>(`/v0/orgs/${this.organizationId}/schemas`, {\n params: { skip: skip || 0, limit: limit || 10, name_search: nameSearch }\n });\n }\n\n async getSchema(params: Omit<GetSchemaParams, 'organizationId'>): Promise<Schema> {\n const { schemaRevId } = params;\n return this.http.get<Schema>(`/v0/orgs/${this.organizationId}/schemas/${schemaRevId}`);\n }\n\n async updateSchema(params: Omit<UpdateSchemaParams, 'organizationId'>): Promise<Schema> {\n const { schemaId, schema } = params;\n return this.http.put<Schema>(`/v0/orgs/${this.organizationId}/schemas/${schemaId}`, schema);\n }\n\n async deleteSchema(params: Omit<DeleteSchemaParams, 'organizationId'>): Promise<{ message: string }> {\n const { schemaId } = params;\n return this.http.delete<{ message: string }>(`/v0/orgs/${this.organizationId}/schemas/${schemaId}`);\n }\n\n async validateAgainstSchema(params: { schemaRevId: string; data: Record<string, unknown> }): Promise<{ valid: boolean; errors?: string[] }> {\n const { schemaRevId, data } = params;\n return this.http.post<{ valid: boolean; errors?: string[] }>(`/v0/orgs/${this.organizationId}/schemas/${schemaRevId}/validate`, { data });\n }\n\n async listSchemaVersions(params: { schemaId: string }): Promise<ListSchemasResponse> {\n const { schemaId } = params;\n return this.http.get<ListSchemasResponse>(`/v0/orgs/${this.organizationId}/schemas/${schemaId}/versions`);\n }\n\n // ---------------- Payments ----------------\n\n async getCustomerPortal(): Promise<PortalSessionResponse> {\n return this.http.post<PortalSessionResponse>(`/v0/orgs/${this.organizationId}/payments/customer-portal`, {});\n }\n\n async getSubscription(): Promise<SubscriptionResponse> {\n return this.http.get<SubscriptionResponse>(`/v0/orgs/${this.organizationId}/payments/subscription`);\n }\n\n async activateSubscription(): Promise<{ status: string; message: string }> {\n return this.http.put<{ status: string; message: string }>(`/v0/orgs/${this.organizationId}/payments/subscription`, {});\n }\n\n async cancelSubscription(): Promise<{ status: string; message: string }> {\n return this.http.delete<{ status: string; message: string }>(`/v0/orgs/${this.organizationId}/payments/subscription`);\n }\n\n\n async getCurrentUsage(): Promise<UsageResponse> {\n return this.http.get<UsageResponse>(`/v0/orgs/${this.organizationId}/payments/usage`);\n }\n\n async addCredits(amount: number): Promise<CreditUpdateResponse> {\n return this.http.post<CreditUpdateResponse>(`/v0/orgs/${this.organizationId}/payments/credits/add`, { amount });\n }\n\n async getCreditConfig(): Promise<CreditConfig> {\n return this.http.get<CreditConfig>(`/v0/orgs/${this.organizationId}/payments/credits/config`);\n }\n\n async purchaseCredits(request: { credits: number; success_url: string; cancel_url: string; }) {\n return this.http.post(`/v0/orgs/${this.organizationId}/payments/credits/purchase`, request);\n }\n\n async getUsageRange(request: UsageRangeRequest): Promise<UsageRangeResponse> {\n return this.http.get<UsageRangeResponse>(`/v0/orgs/${this.organizationId}/payments/usage/range`, { params: request });\n }\n\n async createCheckoutSession(planId: string): Promise<PortalSessionResponse> {\n return this.http.post<PortalSessionResponse>(`/v0/orgs/${this.organizationId}/payments/checkout-session`, { plan_id: planId });\n }\n\n // ---------------- LLM Chat (Org) ----------------\n\n async runLLMChat(request: LLMChatRequest): Promise<LLMChatResponse> {\n return this.http.post(`/v0/orgs/${this.organizationId}/llm/run`, request);\n }\n\n // ---------------- LLM Models (Org) ----------------\n\n async listLLMModels(): Promise<ListOrgLLMModelsResponse> {\n return this.http.get<ListOrgLLMModelsResponse>(`/v0/orgs/${this.organizationId}/llm/models`);\n }\n\n async runLLMChatStream(\n request: LLMChatRequest,\n onChunk: (chunk: LLMChatStreamChunk | LLMChatStreamError) => void,\n onError?: (error: Error) => void,\n abortSignal?: AbortSignal\n ): Promise<void> {\n const streamingRequest = { ...request, stream: true };\n return this.http.stream(`/v0/orgs/${this.organizationId}/llm/run`, streamingRequest, onChunk, onError, abortSignal);\n }\n\n /**\n * Get the current HTTP client (for advanced usage)\n */\n getHttpClient(): HttpClient {\n return this.http;\n }\n}\n"]}
package/dist/index.mjs CHANGED
@@ -579,6 +579,10 @@ var DocRouterOrg = class {
579
579
  const { promptId } = params;
580
580
  return this.http.delete(`/v0/orgs/${this.organizationId}/prompts/${promptId}`);
581
581
  }
582
+ async listPromptVersions(params) {
583
+ const { promptId } = params;
584
+ return this.http.get(`/v0/orgs/${this.organizationId}/prompts/${promptId}/versions`);
585
+ }
582
586
  // ---------------- Tags ----------------
583
587
  async createTag(params) {
584
588
  const { tag } = params;
@@ -624,6 +628,10 @@ var DocRouterOrg = class {
624
628
  const { formId } = params;
625
629
  return this.http.delete(`/v0/orgs/${this.organizationId}/forms/${formId}`);
626
630
  }
631
+ async listFormVersions(params) {
632
+ const { formId } = params;
633
+ return this.http.get(`/v0/orgs/${this.organizationId}/forms/${formId}/versions`);
634
+ }
627
635
  async submitForm(params) {
628
636
  const { documentId, formRevId, submission_data, submitted_by } = params;
629
637
  return this.http.post(`/v0/orgs/${this.organizationId}/forms/submissions/${documentId}`, {
@@ -666,6 +674,10 @@ var DocRouterOrg = class {
666
674
  const { schemaRevId, data } = params;
667
675
  return this.http.post(`/v0/orgs/${this.organizationId}/schemas/${schemaRevId}/validate`, { data });
668
676
  }
677
+ async listSchemaVersions(params) {
678
+ const { schemaId } = params;
679
+ return this.http.get(`/v0/orgs/${this.organizationId}/schemas/${schemaId}/versions`);
680
+ }
669
681
  // ---------------- Payments ----------------
670
682
  async getCustomerPortal() {
671
683
  return this.http.post(`/v0/orgs/${this.organizationId}/payments/customer-portal`, {});
@@ -701,6 +713,10 @@ var DocRouterOrg = class {
701
713
  async runLLMChat(request) {
702
714
  return this.http.post(`/v0/orgs/${this.organizationId}/llm/run`, request);
703
715
  }
716
+ // ---------------- LLM Models (Org) ----------------
717
+ async listLLMModels() {
718
+ return this.http.get(`/v0/orgs/${this.organizationId}/llm/models`);
719
+ }
704
720
  async runLLMChatStream(request, onChunk, onError, abortSignal) {
705
721
  const streamingRequest = { ...request, stream: true };
706
722
  return this.http.stream(`/v0/orgs/${this.organizationId}/llm/run`, streamingRequest, onChunk, onError, abortSignal);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/http-client.ts","../src/docrouter-account.ts","../src/docrouter-org.ts"],"names":[],"mappings":"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","file":"index.mjs","sourcesContent":["import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse, isAxiosError } from 'axios';\nimport { DocRouterConfig, ApiError, LLMChatStreamChunk, LLMChatStreamError } from './types';\n\nexport class HttpClient {\n private axios: AxiosInstance;\n private config: DocRouterConfig;\n private isRefreshing = false;\n private failedQueue: Array<{\n resolve: (value?: unknown) => void;\n reject: (error: Error) => void;\n }> = [];\n\n constructor(config: DocRouterConfig) {\n this.config = config;\n this.axios = axios.create({\n baseURL: config.baseURL,\n timeout: config.timeout || 30000,\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n this.setupInterceptors();\n }\n\n private setupInterceptors(): void {\n // Request interceptor for auth\n this.axios.interceptors.request.use(\n async (config) => {\n const token = await this.getToken();\n if (token) {\n config.headers.Authorization = `Bearer ${token}`;\n }\n return config;\n },\n (error) => Promise.reject(error)\n );\n\n // Response interceptor for error handling\n this.axios.interceptors.response.use(\n (response) => response,\n async (error) => {\n const originalRequest = error.config;\n\n // Handle 401 errors (unauthorized)\n if (error.response?.status === 401 && !originalRequest._retry) {\n if (this.isRefreshing) {\n return new Promise((resolve, reject) => {\n this.failedQueue.push({ resolve, reject });\n })\n .then(() => this.axios(originalRequest))\n .catch((err) => {\n this.handleAuthError(err);\n return Promise.reject(err);\n });\n }\n\n originalRequest._retry = true;\n this.isRefreshing = true;\n\n try {\n // Try to get a new token\n const newToken = await this.getToken();\n if (newToken) {\n originalRequest.headers.Authorization = `Bearer ${newToken}`;\n this.processQueue();\n return this.axios(originalRequest);\n } else {\n this.handleAuthError(error);\n return Promise.reject(this.createApiError(error));\n }\n } catch (refreshError) {\n this.processQueue(refreshError instanceof Error ? refreshError : new Error('Token refresh failed'));\n this.handleAuthError(error);\n return Promise.reject(this.createApiError(error));\n } finally {\n this.isRefreshing = false;\n }\n }\n\n return Promise.reject(this.createApiError(error));\n }\n );\n }\n\n private async getToken(): Promise<string | null> {\n if (this.config.token) {\n return this.config.token;\n }\n \n if (this.config.tokenProvider) {\n try {\n return await this.config.tokenProvider();\n } catch (error) {\n console.warn('Token provider failed:', error);\n return null;\n }\n }\n\n return null;\n }\n\n private processQueue(error: Error | null = null): void {\n this.failedQueue.forEach(prom => {\n if (error) {\n prom.reject(error);\n } else {\n prom.resolve();\n }\n });\n this.failedQueue = [];\n }\n\n private handleAuthError(error: unknown): void {\n if (this.config.onAuthError) {\n this.config.onAuthError(error instanceof Error ? error : new Error('Authentication failed'));\n }\n }\n\n private createApiError(error: unknown): ApiError {\n if (isAxiosError(error)) {\n const message = error.response?.data?.detail || error.message || 'Request failed';\n const apiError: ApiError = new Error(message);\n apiError.status = error.response?.status;\n apiError.code = error.code;\n apiError.details = error.response?.data;\n return apiError;\n }\n\n if (error instanceof Error) {\n const apiError: ApiError = error;\n return apiError;\n }\n\n return new Error('Unknown error occurred');\n }\n\n // Public methods\n async get<T = unknown>(url: string, config?: AxiosRequestConfig): Promise<T> {\n const response: AxiosResponse<T> = await this.axios.get(url, config);\n return response.data;\n }\n\n async post<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): Promise<T> {\n const response: AxiosResponse<T> = await this.axios.post(url, data, config);\n return response.data;\n }\n\n async put<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): Promise<T> {\n const response: AxiosResponse<T> = await this.axios.put(url, data, config);\n return response.data;\n }\n\n async delete<T = unknown>(url: string, config?: AxiosRequestConfig): Promise<T> {\n const response: AxiosResponse<T> = await this.axios.delete(url, config);\n return response.data;\n }\n\n async request<T = unknown>(config: AxiosRequestConfig): Promise<T> {\n const response: AxiosResponse<T> = await this.axios.request(config);\n return response.data;\n }\n\n // For streaming requests\n async stream(\n url: string,\n data: unknown,\n onChunk: (chunk: LLMChatStreamChunk | LLMChatStreamError) => void,\n onError?: (error: Error) => void,\n abortSignal?: AbortSignal\n ): Promise<void> {\n try {\n const token = await this.getToken();\n if (!token) {\n throw new Error('No token available for streaming request');\n }\n\n const response = await fetch(`${this.config.baseURL}${url}`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${token}`,\n 'Accept': 'text/plain',\n 'Cache-Control': 'no-cache',\n },\n body: JSON.stringify(data),\n signal: abortSignal,\n });\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n\n if (!response.body) {\n throw new Error('Response body is not available for streaming');\n }\n\n const reader = response.body.getReader();\n const decoder = new TextDecoder();\n let buffer = '';\n\n try {\n while (true) {\n const { done, value } = await reader.read();\n \n if (done) {\n break;\n }\n\n // Decode the chunk and add to buffer\n buffer += decoder.decode(value, { stream: true });\n \n // Process complete lines from buffer\n const lines = buffer.split('\\n');\n buffer = lines.pop() || ''; // Keep incomplete line in buffer\n \n for (const line of lines) {\n if (line.startsWith('data: ')) {\n try {\n const chunkData = JSON.parse(line.slice(6));\n onChunk(chunkData);\n \n // Stop if we're done\n if (chunkData.done) {\n return;\n }\n } catch (parseError) {\n console.warn('Failed to parse streaming chunk:', parseError);\n }\n }\n }\n }\n } finally {\n reader.releaseLock();\n }\n } catch (error) {\n if (onError) {\n onError(error instanceof Error ? error : new Error('Streaming request failed'));\n } else {\n throw error;\n }\n }\n }\n\n // Update token\n updateToken(token: string): void {\n this.config.token = token;\n }\n\n // Update token provider\n updateTokenProvider(provider: () => Promise<string>): void {\n this.config.tokenProvider = provider;\n }\n}\n","import { HttpClient } from './http-client';\nimport {\n DocRouterAccountConfig,\n AccessToken,\n ListOrganizationsResponse,\n Organization,\n CreateOrganizationRequest,\n UpdateOrganizationRequest,\n CreateTokenRequest,\n ListAccessTokensResponse,\n TokenOrganizationResponse,\n ListLLMModelsParams,\n ListLLMModelsResponse,\n ListLLMProvidersResponse,\n SetLLMProviderConfigRequest,\n LLMChatRequest,\n LLMChatResponse,\n LLMChatStreamChunk,\n LLMChatStreamError,\n ListUsersParams,\n ListUsersResponse,\n UserCreate,\n UserUpdate,\n User,\n AWSConfig,\n // Invitation types\n InvitationResponse,\n CreateInvitationRequest,\n ListInvitationsParams,\n ListInvitationsResponse,\n AcceptInvitationRequest,\n // Payment types\n PortalSessionResponse,\n SubscriptionResponse,\n UsageResponse,\n CreditConfig,\n CreditUpdateResponse,\n UsageRangeRequest,\n UsageRangeResponse,\n} from './types';\n\n/**\n * DocRouterAccount - For account-level operations with account tokens\n * Use this for server-to-server integrations that need full account access\n */\nexport class DocRouterAccount {\n private http: HttpClient;\n\n constructor(config: DocRouterAccountConfig) {\n this.http = new HttpClient({\n baseURL: config.baseURL,\n token: config.accountToken,\n timeout: config.timeout,\n retries: config.retries,\n onAuthError: config.onAuthError,\n });\n }\n\n /**\n * Update the account token\n */\n updateToken(token: string): void {\n this.http.updateToken(token);\n }\n\n // --------------- Organizations ---------------\n async listOrganizations(params?: { \n userId?: string;\n organizationId?: string;\n nameSearch?: string;\n memberSearch?: string;\n skip?: number;\n limit?: number;\n }): Promise<ListOrganizationsResponse> {\n const queryParams = new URLSearchParams();\n if (params?.userId) queryParams.append('user_id', params.userId);\n if (params?.organizationId) queryParams.append('organization_id', params.organizationId);\n if (params?.nameSearch) queryParams.append('name_search', params.nameSearch);\n if (params?.memberSearch) queryParams.append('member_search', params.memberSearch);\n if (params?.skip !== undefined) queryParams.append('skip', String(params.skip));\n if (params?.limit !== undefined) queryParams.append('limit', String(params.limit));\n return this.http.get<ListOrganizationsResponse>(`/v0/account/organizations?${queryParams.toString()}`);\n }\n\n async getOrganization(organizationId: string): Promise<Organization> {\n const response = await this.listOrganizations({ organizationId });\n return response.organizations[0];\n }\n\n async createOrganization(organization: CreateOrganizationRequest): Promise<Organization> {\n const response = await this.http.post<{\n _id?: string;\n id: string;\n name: string;\n members: Organization['members'];\n type: Organization['type'];\n created_at: string;\n updated_at: string;\n }>(`/v0/account/organizations`, organization);\n return {\n id: response._id || response.id,\n name: response.name,\n members: response.members,\n type: response.type,\n created_at: response.created_at,\n updated_at: response.updated_at,\n };\n }\n\n async updateOrganization(organizationId: string, update: UpdateOrganizationRequest): Promise<Organization> {\n return this.http.put(`/v0/account/organizations/${organizationId}`, update);\n }\n\n async deleteOrganization(organizationId: string) {\n return this.http.delete(`/v0/account/organizations/${organizationId}`);\n }\n\n // --------------- Tokens ---------------\n async createAccountToken(request: CreateTokenRequest): Promise<AccessToken> {\n return this.http.post(`/v0/account/access_tokens`, request);\n }\n\n async getAccountTokens(): Promise<AccessToken[]> {\n const resp = await this.http.get<ListAccessTokensResponse | AccessToken[]>(`/v0/account/access_tokens`);\n // Normalize to array for SDK consumers/tests\n return Array.isArray(resp) ? resp : (resp as ListAccessTokensResponse).access_tokens;\n }\n\n async deleteAccountToken(tokenId: string): Promise<void> {\n return this.http.delete(`/v0/account/access_tokens/${tokenId}`);\n }\n\n async createOrganizationToken(request: CreateTokenRequest, organizationId: string): Promise<AccessToken> {\n return this.http.post(`/v0/orgs/${organizationId}/access_tokens`, request);\n }\n\n async getOrganizationTokens(organizationId: string): Promise<AccessToken[]> {\n const resp = await this.http.get<ListAccessTokensResponse | AccessToken[]>(`/v0/orgs/${organizationId}/access_tokens`);\n // Normalize to array for SDK consumers/tests\n return Array.isArray(resp) ? resp : (resp as ListAccessTokensResponse).access_tokens;\n }\n\n async deleteOrganizationToken(tokenId: string, organizationId: string): Promise<void> {\n return this.http.delete(`/v0/orgs/${organizationId}/access_tokens/${tokenId}`);\n }\n\n /**\n * Get the organization ID associated with an API token\n * @param token The API token to resolve\n * @returns The organization ID for org-specific tokens, or null for account-level tokens\n */\n async getOrganizationFromToken(token: string): Promise<TokenOrganizationResponse> {\n return this.http.get<TokenOrganizationResponse>(`/v0/account/token/organization?token=${encodeURIComponent(token)}`);\n }\n\n // --------------- LLM (account-level) ---------------\n async listLLMModels(params: ListLLMModelsParams): Promise<ListLLMModelsResponse> {\n return this.http.get<ListLLMModelsResponse>('/v0/account/llm/models', {\n params: {\n provider_name: params.providerName,\n provider_enabled: params.providerEnabled,\n llm_enabled: params.llmEnabled,\n }\n });\n }\n\n async listLLMProviders(): Promise<ListLLMProvidersResponse> {\n return this.http.get<ListLLMProvidersResponse>('/v0/account/llm/providers');\n }\n\n async setLLMProviderConfig(providerName: string, request: SetLLMProviderConfigRequest) {\n return this.http.put<SetLLMProviderConfigRequest>(`/v0/account/llm/provider/${providerName}`, request);\n }\n\n // --------------- Users ---------------\n async listUsers(params?: ListUsersParams): Promise<ListUsersResponse> {\n const queryParams = new URLSearchParams();\n if (params?.skip) queryParams.append('skip', String(params.skip));\n if (params?.limit) queryParams.append('limit', String(params.limit));\n if (params?.organization_id) queryParams.append('organization_id', params.organization_id);\n if (params?.user_id) queryParams.append('user_id', params.user_id);\n if (params?.search_name) queryParams.append('search_name', params.search_name);\n return this.http.get<ListUsersResponse>(`/v0/account/users?${queryParams.toString()}`);\n }\n\n async getUser(userId: string): Promise<User> {\n const response = await this.listUsers({ user_id: userId });\n return response.users[0];\n }\n\n async createUser(user: UserCreate): Promise<User> {\n return this.http.post<User>('/v0/account/users', user);\n }\n\n async updateUser(userId: string, update: UserUpdate): Promise<User> {\n return this.http.put<User>(`/v0/account/users/${userId}`, update);\n }\n\n async deleteUser(userId: string): Promise<void> {\n await this.http.delete(`/v0/account/users/${userId}`);\n }\n\n // --------------- Email Verification ---------------\n async sendVerificationEmail(userId: string) {\n return this.http.post(`/v0/account/email/verification/send/${userId}`);\n }\n\n async sendRegistrationVerificationEmail(userId: string) {\n return this.http.post(`/v0/account/email/verification/register/${userId}`);\n }\n\n async verifyEmail(token: string) {\n return this.http.post(`/v0/account/email/verification/${token}`);\n }\n\n // --------------- AWS Config ---------------\n async createAWSConfig(config: Omit<AWSConfig, 'created_at'>): Promise<AWSConfig> {\n return this.http.post('/v0/account/aws_config', config);\n }\n\n async getAWSConfig(): Promise<AWSConfig> {\n return this.http.get('/v0/account/aws_config');\n }\n\n async deleteAWSConfig(): Promise<void> {\n return this.http.delete('/v0/account/aws_config');\n }\n\n // --------------- Invitations ---------------\n async createInvitation(invitation: CreateInvitationRequest): Promise<InvitationResponse> {\n return this.http.post<InvitationResponse>('/v0/account/email/invitations', invitation);\n }\n\n async getInvitations(params?: ListInvitationsParams): Promise<ListInvitationsResponse> {\n const queryParams = new URLSearchParams();\n if (params?.skip !== undefined) queryParams.append('skip', String(params.skip));\n if (params?.limit !== undefined) queryParams.append('limit', String(params.limit));\n return this.http.get<ListInvitationsResponse>(`/v0/account/email/invitations?${queryParams.toString()}`);\n }\n\n async getInvitation(token: string): Promise<InvitationResponse> {\n return this.http.get<InvitationResponse>(`/v0/account/email/invitations/${token}`);\n }\n\n async acceptInvitation(token: string, data: AcceptInvitationRequest): Promise<{ message: string }> {\n return this.http.post<{ message: string }>(`/v0/account/email/invitations/${token}/accept`, data);\n }\n\n // --------------- Payments & Subscriptions ---------------\n async getCustomerPortal(orgId: string): Promise<PortalSessionResponse> {\n return this.http.post<PortalSessionResponse>(`/v0/orgs/${orgId}/payments/customer-portal`);\n }\n\n async getSubscription(orgId: string): Promise<SubscriptionResponse> {\n return this.http.get<SubscriptionResponse>(`/v0/orgs/${orgId}/payments/subscription`);\n }\n\n async activateSubscription(orgId: string): Promise<{ status: string; message: string }> {\n return this.http.put<{ status: string; message: string }>(`/v0/orgs/${orgId}/payments/subscription`);\n }\n\n async cancelSubscription(orgId: string): Promise<{ status: string; message: string }> {\n return this.http.delete<{ status: string; message: string }>(`/v0/orgs/${orgId}/payments/subscription`);\n }\n\n async getCurrentUsage(orgId: string): Promise<UsageResponse> {\n return this.http.get<UsageResponse>(`/v0/orgs/${orgId}/payments/usage`);\n }\n\n async addCredits(orgId: string, amount: number): Promise<CreditUpdateResponse> {\n return this.http.post<CreditUpdateResponse>(`/v0/orgs/${orgId}/payments/credits/add`, { amount });\n }\n\n async getCreditConfig(orgId: string): Promise<CreditConfig> {\n return this.http.get<CreditConfig>(`/v0/orgs/${orgId}/payments/credits/config`);\n }\n\n async purchaseCredits(orgId: string, request: { credits: number; success_url: string; cancel_url: string }): Promise<{ checkout_url: string; session_id: string }> {\n return this.http.post<{ checkout_url: string; session_id: string }>(`/v0/orgs/${orgId}/payments/credits/purchase`, request);\n }\n\n async getUsageRange(orgId: string, request: UsageRangeRequest): Promise<UsageRangeResponse> {\n const queryParams = new URLSearchParams();\n if (request.start_date) queryParams.append('start_date', request.start_date);\n if (request.end_date) queryParams.append('end_date', request.end_date);\n return this.http.get<UsageRangeResponse>(`/v0/orgs/${orgId}/payments/usage/range?${queryParams.toString()}`);\n }\n\n async createCheckoutSession(orgId: string, planId: string): Promise<PortalSessionResponse> {\n return this.http.post<PortalSessionResponse>(`/v0/orgs/${orgId}/payments/checkout-session`, { plan_id: planId });\n }\n\n /**\n * Run LLM chat (account level)\n */\n async runLLMChat(request: LLMChatRequest): Promise<LLMChatResponse> {\n return this.http.post('/v0/account/llm/run', request);\n }\n\n /**\n * Run LLM chat with streaming (account level)\n */\n async runLLMChatStream(\n request: LLMChatRequest,\n onChunk: (chunk: LLMChatStreamChunk | LLMChatStreamError) => void,\n onError?: (error: Error) => void,\n abortSignal?: AbortSignal\n ): Promise<void> {\n const streamingRequest = { ...request, stream: true };\n return this.http.stream('/v0/account/llm/run', streamingRequest, onChunk, onError, abortSignal);\n }\n\n /**\n * Get the current HTTP client (for advanced usage)\n */\n getHttpClient(): HttpClient {\n return this.http;\n }\n}\n","import { HttpClient } from './http-client';\nimport {\n DocRouterOrgConfig,\n UploadDocumentsResponse,\n ListDocumentsResponse,\n GetDocumentResponse,\n GetOCRMetadataResponse,\n RunLLMResponse,\n GetLLMResultResponse,\n ListTagsResponse,\n JsonValue,\n Tag,\n OCRBlock,\n // Forms\n CreateFormParams,\n ListFormsParams,\n ListFormsResponse,\n GetFormParams,\n UpdateFormParams,\n DeleteFormParams,\n SubmitFormParams,\n GetFormSubmissionParams,\n DeleteFormSubmissionParams,\n Form,\n FormSubmission,\n // Prompts\n CreatePromptParams,\n ListPromptsParams,\n ListPromptsResponse,\n GetPromptParams,\n UpdatePromptParams,\n DeletePromptParams,\n Prompt,\n // Schemas\n CreateSchemaParams,\n ListSchemasParams,\n ListSchemasResponse,\n GetSchemaParams,\n UpdateSchemaParams,\n DeleteSchemaParams,\n Schema,\n // Payments\n PortalSessionResponse,\n SubscriptionResponse,\n UsageResponse,\n CreditConfig,\n CreditUpdateResponse,\n UsageRangeRequest,\n UsageRangeResponse,\n // LLM Chat\n LLMChatRequest,\n LLMChatResponse,\n LLMChatStreamChunk,\n LLMChatStreamError,\n} from './types';\n\n/**\n * DocRouterOrg - For organization-scoped operations with org tokens\n * Use this when you have an organization token and want to work within that org\n */\nexport class DocRouterOrg {\n public readonly organizationId: string;\n private http: HttpClient;\n\n constructor(config: DocRouterOrgConfig) {\n this.organizationId = config.organizationId;\n this.http = new HttpClient({\n baseURL: config.baseURL,\n token: config.orgToken,\n timeout: config.timeout,\n retries: config.retries,\n onAuthError: config.onAuthError,\n });\n }\n\n /**\n * Update the organization token\n */\n updateToken(token: string): void {\n this.http.updateToken(token);\n }\n\n // ---------------- Documents ----------------\n\n async uploadDocuments(params: { documents: Array<{ name: string; content: string; tag_ids?: string[]; metadata?: Record<string, string>; }>; }): Promise<UploadDocumentsResponse> {\n const documentsPayload = params.documents.map(doc => {\n // Handle both plain base64 and data URLs\n let base64Content: string;\n if (doc.content.startsWith('data:')) {\n // Extract base64 from data URL (e.g., \"data:application/pdf;base64,JVBERi0xLjQK...\")\n base64Content = doc.content.split(',')[1];\n } else {\n // Plain base64 string\n base64Content = doc.content;\n }\n\n const payload: {\n name: string;\n content: string;\n tag_ids?: string[];\n metadata?: Record<string, string>;\n } = {\n name: doc.name,\n content: base64Content,\n };\n if (doc.tag_ids && doc.tag_ids.length > 0) payload.tag_ids = doc.tag_ids;\n if (doc.metadata) payload.metadata = doc.metadata;\n return payload;\n });\n\n return this.http.post<UploadDocumentsResponse>(\n `/v0/orgs/${this.organizationId}/documents`,\n { documents: documentsPayload }\n );\n }\n\n async listDocuments(params?: { skip?: number; limit?: number; tagIds?: string; nameSearch?: string; metadataSearch?: string; }): Promise<ListDocumentsResponse> {\n const queryParams: Record<string, string | number | undefined> = {\n skip: params?.skip || 0,\n limit: params?.limit || 10,\n };\n if (params?.tagIds) queryParams.tag_ids = params.tagIds;\n if (params?.nameSearch) queryParams.name_search = params.nameSearch;\n if (params?.metadataSearch) queryParams.metadata_search = params.metadataSearch;\n\n return this.http.get<ListDocumentsResponse>(`/v0/orgs/${this.organizationId}/documents`, {\n params: queryParams\n });\n }\n\n async getDocument(params: { documentId: string; fileType: string; }): Promise<GetDocumentResponse> {\n const { documentId, fileType } = params;\n const response = await this.http.get<{\n id: string;\n pdf_id: string;\n document_name: string;\n upload_date: string;\n uploaded_by: string;\n state: string;\n tag_ids: string[];\n type: string;\n metadata: Record<string, string>;\n content: string;\n }>(`/v0/orgs/${this.organizationId}/documents/${documentId}?file_type=${fileType}`);\n\n const binaryContent = atob(response.content);\n const len = binaryContent.length;\n const bytes = new Uint8Array(len);\n for (let i = 0; i < len; i++) {\n bytes[i] = binaryContent.charCodeAt(i);\n }\n\n return {\n id: response.id,\n pdf_id: response.pdf_id,\n document_name: response.document_name,\n upload_date: response.upload_date,\n uploaded_by: response.uploaded_by,\n state: response.state,\n tag_ids: response.tag_ids,\n type: response.type,\n metadata: response.metadata,\n content: bytes.buffer\n };\n }\n\n async updateDocument(params: { documentId: string; documentName?: string; tagIds?: string[]; metadata?: Record<string, string>; }) {\n const { documentId, documentName, tagIds, metadata } = params;\n const updateData: { tag_ids?: string[]; document_name?: string; metadata?: Record<string, string> } = {};\n if (documentName !== undefined) updateData.document_name = documentName;\n if (tagIds !== undefined) updateData.tag_ids = tagIds;\n if (metadata !== undefined) updateData.metadata = metadata;\n return this.http.put(`/v0/orgs/${this.organizationId}/documents/${documentId}`, updateData);\n }\n\n async deleteDocument(params: { documentId: string; }) {\n const { documentId } = params;\n return this.http.delete(`/v0/orgs/${this.organizationId}/documents/${documentId}`);\n }\n\n // ---------------- OCR ----------------\n\n async getOCRBlocks(params: { documentId: string; }): Promise<OCRBlock[]> {\n const { documentId } = params;\n return this.http.get<OCRBlock[]>(`/v0/orgs/${this.organizationId}/ocr/download/blocks/${documentId}`);\n }\n\n async getOCRText(params: { documentId: string; pageNum?: number; }): Promise<string> {\n const { documentId, pageNum } = params;\n const url = `/v0/orgs/${this.organizationId}/ocr/download/text/${documentId}${pageNum ? `?page_num=${pageNum}` : ''}`;\n return this.http.get<string>(url);\n }\n\n async getOCRMetadata(params: { documentId: string; }): Promise<GetOCRMetadataResponse> {\n const { documentId } = params;\n return this.http.get<GetOCRMetadataResponse>(`/v0/orgs/${this.organizationId}/ocr/download/metadata/${documentId}`);\n }\n\n // ---------------- LLM ----------------\n\n async runLLM(params: { documentId: string; promptRevId: string; force?: boolean; }): Promise<RunLLMResponse> {\n const { documentId, promptRevId, force } = params;\n return this.http.post<RunLLMResponse>(\n `/v0/orgs/${this.organizationId}/llm/run/${documentId}`,\n {},\n { params: { prompt_revid: promptRevId, force } }\n );\n }\n\n async getLLMResult(params: { documentId: string; promptRevId: string; fallback?: boolean; }): Promise<GetLLMResultResponse> {\n const { documentId, promptRevId, fallback } = params;\n return this.http.get<GetLLMResultResponse>(\n `/v0/orgs/${this.organizationId}/llm/result/${documentId}`,\n { params: { prompt_revid: promptRevId, fallback } }\n );\n }\n\n async updateLLMResult({\n documentId,\n promptId,\n result,\n isVerified = false\n }: { documentId: string; promptId: string; result: Record<string, JsonValue>; isVerified?: boolean; }): Promise<GetLLMResultResponse> {\n const response = await this.http.put<GetLLMResultResponse>(\n `/v0/orgs/${this.organizationId}/llm/result/${documentId}`,\n { updated_llm_result: result, is_verified: isVerified },\n { params: { prompt_revid: promptId } }\n );\n return response;\n }\n\n async deleteLLMResult(params: { documentId: string; promptId: string; }) {\n const { documentId, promptId } = params;\n return this.http.delete(\n `/v0/orgs/${this.organizationId}/llm/result/${documentId}`,\n { params: { prompt_revid: promptId } }\n );\n }\n\n async downloadAllLLMResults(params: { documentId: string; }) {\n const { documentId } = params;\n return this.http.get(\n `/v0/orgs/${this.organizationId}/llm/results/${documentId}/download`,\n { responseType: 'blob' as const }\n );\n }\n\n // ---------------- Prompts ----------------\n\n async createPrompt(params: Omit<CreatePromptParams, 'organizationId'>): Promise<Prompt> {\n const { prompt } = params;\n return this.http.post<Prompt>(`/v0/orgs/${this.organizationId}/prompts`, prompt);\n }\n\n async listPrompts(params?: Omit<ListPromptsParams, 'organizationId'>): Promise<ListPromptsResponse> {\n const { skip, limit, document_id, tag_ids, nameSearch } = params || {};\n return this.http.get<ListPromptsResponse>(`/v0/orgs/${this.organizationId}/prompts`, {\n params: {\n skip: skip || 0,\n limit: limit || 10,\n document_id,\n tag_ids,\n name_search: nameSearch\n }\n });\n }\n\n async getPrompt(params: Omit<GetPromptParams, 'organizationId'>): Promise<Prompt> {\n const { promptRevId } = params;\n return this.http.get<Prompt>(`/v0/orgs/${this.organizationId}/prompts/${promptRevId}`);\n }\n\n async updatePrompt(params: Omit<UpdatePromptParams, 'organizationId'>): Promise<Prompt> {\n const { promptId, prompt } = params;\n return this.http.put<Prompt>(`/v0/orgs/${this.organizationId}/prompts/${promptId}`, prompt);\n }\n\n async deletePrompt(params: Omit<DeletePromptParams, 'organizationId'>): Promise<{ message: string }> {\n const { promptId } = params;\n return this.http.delete<{ message: string }>(`/v0/orgs/${this.organizationId}/prompts/${promptId}`);\n }\n\n // ---------------- Tags ----------------\n\n async createTag(params: { tag: Omit<Tag, 'id' | 'created_at' | 'updated_at'>; }): Promise<Tag> {\n const { tag } = params;\n return this.http.post<Tag>(`/v0/orgs/${this.organizationId}/tags`, tag);\n }\n\n async getTag({ tagId }: { tagId: string; }): Promise<Tag> {\n return this.http.get<Tag>(`/v0/orgs/${this.organizationId}/tags/${tagId}`);\n }\n\n async listTags(params?: { skip?: number; limit?: number; nameSearch?: string; }): Promise<ListTagsResponse> {\n const { skip, limit, nameSearch } = params || {};\n return this.http.get<ListTagsResponse>(`/v0/orgs/${this.organizationId}/tags`, {\n params: { skip: skip || 0, limit: limit || 10, name_search: nameSearch }\n });\n }\n\n async updateTag(params: { tagId: string; tag: Partial<Omit<Tag, 'id' | 'created_at' | 'updated_at'>>; }): Promise<Tag> {\n const { tagId, tag } = params;\n return this.http.put<Tag>(`/v0/orgs/${this.organizationId}/tags/${tagId}`, tag);\n }\n\n async deleteTag(params: { tagId: string; }): Promise<{ message: string }> {\n const { tagId } = params;\n return this.http.delete<{ message: string }>(`/v0/orgs/${this.organizationId}/tags/${tagId}`);\n }\n\n // ---------------- Forms ----------------\n\n async createForm(form: Omit<CreateFormParams, 'organizationId'>): Promise<Form> {\n const { name, response_format } = form;\n return this.http.post<Form>(`/v0/orgs/${this.organizationId}/forms`, { name, response_format });\n }\n\n async listForms(params?: Omit<ListFormsParams, 'organizationId'>): Promise<ListFormsResponse> {\n const { skip, limit, tag_ids } = params || {};\n return this.http.get<ListFormsResponse>(`/v0/orgs/${this.organizationId}/forms`, {\n params: { skip: skip || 0, limit: limit || 10, tag_ids }\n });\n }\n\n async getForm(params: Omit<GetFormParams, 'organizationId'>): Promise<Form> {\n const { formRevId } = params;\n return this.http.get<Form>(`/v0/orgs/${this.organizationId}/forms/${formRevId}`);\n }\n\n async updateForm(params: Omit<UpdateFormParams, 'organizationId'>): Promise<Form> {\n const { formId, form } = params;\n return this.http.put<Form>(`/v0/orgs/${this.organizationId}/forms/${formId}`, form);\n }\n\n async deleteForm(params: Omit<DeleteFormParams, 'organizationId'>): Promise<{ message: string }> {\n const { formId } = params;\n return this.http.delete<{ message: string }>(`/v0/orgs/${this.organizationId}/forms/${formId}`);\n }\n\n async submitForm(params: Omit<SubmitFormParams, 'organizationId'>): Promise<FormSubmission> {\n const { documentId, formRevId, submission_data, submitted_by } = params;\n return this.http.post<FormSubmission>(`/v0/orgs/${this.organizationId}/forms/submissions/${documentId}`, {\n form_revid: formRevId,\n submission_data: submission_data,\n submitted_by: submitted_by\n });\n }\n\n async getFormSubmission(params: Omit<GetFormSubmissionParams, 'organizationId'>): Promise<FormSubmission | null> {\n const { documentId, formRevId } = params;\n return this.http.get<FormSubmission | null>(`/v0/orgs/${this.organizationId}/forms/submissions/${documentId}?form_revid=${formRevId}`);\n }\n\n async deleteFormSubmission(params: Omit<DeleteFormSubmissionParams, 'organizationId'>): Promise<void> {\n const { documentId, formRevId } = params;\n await this.http.delete(`/v0/orgs/${this.organizationId}/forms/submissions/${documentId}`, { params: { form_revid: formRevId } });\n }\n\n\n // ---------------- Schemas ----------------\n\n async createSchema(schema: Omit<CreateSchemaParams, 'organizationId'>): Promise<Schema> {\n return this.http.post<Schema>(`/v0/orgs/${this.organizationId}/schemas`, schema);\n }\n\n async listSchemas(params: Omit<ListSchemasParams, 'organizationId'>): Promise<ListSchemasResponse> {\n const { skip, limit, nameSearch } = params || {};\n return this.http.get<ListSchemasResponse>(`/v0/orgs/${this.organizationId}/schemas`, {\n params: { skip: skip || 0, limit: limit || 10, name_search: nameSearch }\n });\n }\n\n async getSchema(params: Omit<GetSchemaParams, 'organizationId'>): Promise<Schema> {\n const { schemaRevId } = params;\n return this.http.get<Schema>(`/v0/orgs/${this.organizationId}/schemas/${schemaRevId}`);\n }\n\n async updateSchema(params: Omit<UpdateSchemaParams, 'organizationId'>): Promise<Schema> {\n const { schemaId, schema } = params;\n return this.http.put<Schema>(`/v0/orgs/${this.organizationId}/schemas/${schemaId}`, schema);\n }\n\n async deleteSchema(params: Omit<DeleteSchemaParams, 'organizationId'>): Promise<{ message: string }> {\n const { schemaId } = params;\n return this.http.delete<{ message: string }>(`/v0/orgs/${this.organizationId}/schemas/${schemaId}`);\n }\n\n async validateAgainstSchema(params: { schemaRevId: string; data: Record<string, unknown> }): Promise<{ valid: boolean; errors?: string[] }> {\n const { schemaRevId, data } = params;\n return this.http.post<{ valid: boolean; errors?: string[] }>(`/v0/orgs/${this.organizationId}/schemas/${schemaRevId}/validate`, { data });\n }\n\n // ---------------- Payments ----------------\n\n async getCustomerPortal(): Promise<PortalSessionResponse> {\n return this.http.post<PortalSessionResponse>(`/v0/orgs/${this.organizationId}/payments/customer-portal`, {});\n }\n\n async getSubscription(): Promise<SubscriptionResponse> {\n return this.http.get<SubscriptionResponse>(`/v0/orgs/${this.organizationId}/payments/subscription`);\n }\n\n async activateSubscription(): Promise<{ status: string; message: string }> {\n return this.http.put<{ status: string; message: string }>(`/v0/orgs/${this.organizationId}/payments/subscription`, {});\n }\n\n async cancelSubscription(): Promise<{ status: string; message: string }> {\n return this.http.delete<{ status: string; message: string }>(`/v0/orgs/${this.organizationId}/payments/subscription`);\n }\n\n\n async getCurrentUsage(): Promise<UsageResponse> {\n return this.http.get<UsageResponse>(`/v0/orgs/${this.organizationId}/payments/usage`);\n }\n\n async addCredits(amount: number): Promise<CreditUpdateResponse> {\n return this.http.post<CreditUpdateResponse>(`/v0/orgs/${this.organizationId}/payments/credits/add`, { amount });\n }\n\n async getCreditConfig(): Promise<CreditConfig> {\n return this.http.get<CreditConfig>(`/v0/orgs/${this.organizationId}/payments/credits/config`);\n }\n\n async purchaseCredits(request: { credits: number; success_url: string; cancel_url: string; }) {\n return this.http.post(`/v0/orgs/${this.organizationId}/payments/credits/purchase`, request);\n }\n\n async getUsageRange(request: UsageRangeRequest): Promise<UsageRangeResponse> {\n return this.http.get<UsageRangeResponse>(`/v0/orgs/${this.organizationId}/payments/usage/range`, { params: request });\n }\n\n async createCheckoutSession(planId: string): Promise<PortalSessionResponse> {\n return this.http.post<PortalSessionResponse>(`/v0/orgs/${this.organizationId}/payments/checkout-session`, { plan_id: planId });\n }\n\n // ---------------- LLM Chat (Org) ----------------\n\n async runLLMChat(request: LLMChatRequest): Promise<LLMChatResponse> {\n return this.http.post(`/v0/orgs/${this.organizationId}/llm/run`, request);\n }\n\n async runLLMChatStream(\n request: LLMChatRequest,\n onChunk: (chunk: LLMChatStreamChunk | LLMChatStreamError) => void,\n onError?: (error: Error) => void,\n abortSignal?: AbortSignal\n ): Promise<void> {\n const streamingRequest = { ...request, stream: true };\n return this.http.stream(`/v0/orgs/${this.organizationId}/llm/run`, streamingRequest, onChunk, onError, abortSignal);\n }\n\n /**\n * Get the current HTTP client (for advanced usage)\n */\n getHttpClient(): HttpClient {\n return this.http;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/http-client.ts","../src/docrouter-account.ts","../src/docrouter-org.ts"],"names":[],"mappings":"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","file":"index.mjs","sourcesContent":["import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse, isAxiosError } from 'axios';\nimport { DocRouterConfig, ApiError, LLMChatStreamChunk, LLMChatStreamError } from './types';\n\nexport class HttpClient {\n private axios: AxiosInstance;\n private config: DocRouterConfig;\n private isRefreshing = false;\n private failedQueue: Array<{\n resolve: (value?: unknown) => void;\n reject: (error: Error) => void;\n }> = [];\n\n constructor(config: DocRouterConfig) {\n this.config = config;\n this.axios = axios.create({\n baseURL: config.baseURL,\n timeout: config.timeout || 30000,\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n this.setupInterceptors();\n }\n\n private setupInterceptors(): void {\n // Request interceptor for auth\n this.axios.interceptors.request.use(\n async (config) => {\n const token = await this.getToken();\n if (token) {\n config.headers.Authorization = `Bearer ${token}`;\n }\n return config;\n },\n (error) => Promise.reject(error)\n );\n\n // Response interceptor for error handling\n this.axios.interceptors.response.use(\n (response) => response,\n async (error) => {\n const originalRequest = error.config;\n\n // Handle 401 errors (unauthorized)\n if (error.response?.status === 401 && !originalRequest._retry) {\n if (this.isRefreshing) {\n return new Promise((resolve, reject) => {\n this.failedQueue.push({ resolve, reject });\n })\n .then(() => this.axios(originalRequest))\n .catch((err) => {\n this.handleAuthError(err);\n return Promise.reject(err);\n });\n }\n\n originalRequest._retry = true;\n this.isRefreshing = true;\n\n try {\n // Try to get a new token\n const newToken = await this.getToken();\n if (newToken) {\n originalRequest.headers.Authorization = `Bearer ${newToken}`;\n this.processQueue();\n return this.axios(originalRequest);\n } else {\n this.handleAuthError(error);\n return Promise.reject(this.createApiError(error));\n }\n } catch (refreshError) {\n this.processQueue(refreshError instanceof Error ? refreshError : new Error('Token refresh failed'));\n this.handleAuthError(error);\n return Promise.reject(this.createApiError(error));\n } finally {\n this.isRefreshing = false;\n }\n }\n\n return Promise.reject(this.createApiError(error));\n }\n );\n }\n\n private async getToken(): Promise<string | null> {\n if (this.config.token) {\n return this.config.token;\n }\n \n if (this.config.tokenProvider) {\n try {\n return await this.config.tokenProvider();\n } catch (error) {\n console.warn('Token provider failed:', error);\n return null;\n }\n }\n\n return null;\n }\n\n private processQueue(error: Error | null = null): void {\n this.failedQueue.forEach(prom => {\n if (error) {\n prom.reject(error);\n } else {\n prom.resolve();\n }\n });\n this.failedQueue = [];\n }\n\n private handleAuthError(error: unknown): void {\n if (this.config.onAuthError) {\n this.config.onAuthError(error instanceof Error ? error : new Error('Authentication failed'));\n }\n }\n\n private createApiError(error: unknown): ApiError {\n if (isAxiosError(error)) {\n const message = error.response?.data?.detail || error.message || 'Request failed';\n const apiError: ApiError = new Error(message);\n apiError.status = error.response?.status;\n apiError.code = error.code;\n apiError.details = error.response?.data;\n return apiError;\n }\n\n if (error instanceof Error) {\n const apiError: ApiError = error;\n return apiError;\n }\n\n return new Error('Unknown error occurred');\n }\n\n // Public methods\n async get<T = unknown>(url: string, config?: AxiosRequestConfig): Promise<T> {\n const response: AxiosResponse<T> = await this.axios.get(url, config);\n return response.data;\n }\n\n async post<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): Promise<T> {\n const response: AxiosResponse<T> = await this.axios.post(url, data, config);\n return response.data;\n }\n\n async put<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): Promise<T> {\n const response: AxiosResponse<T> = await this.axios.put(url, data, config);\n return response.data;\n }\n\n async delete<T = unknown>(url: string, config?: AxiosRequestConfig): Promise<T> {\n const response: AxiosResponse<T> = await this.axios.delete(url, config);\n return response.data;\n }\n\n async request<T = unknown>(config: AxiosRequestConfig): Promise<T> {\n const response: AxiosResponse<T> = await this.axios.request(config);\n return response.data;\n }\n\n // For streaming requests\n async stream(\n url: string,\n data: unknown,\n onChunk: (chunk: LLMChatStreamChunk | LLMChatStreamError) => void,\n onError?: (error: Error) => void,\n abortSignal?: AbortSignal\n ): Promise<void> {\n try {\n const token = await this.getToken();\n if (!token) {\n throw new Error('No token available for streaming request');\n }\n\n const response = await fetch(`${this.config.baseURL}${url}`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${token}`,\n 'Accept': 'text/plain',\n 'Cache-Control': 'no-cache',\n },\n body: JSON.stringify(data),\n signal: abortSignal,\n });\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n\n if (!response.body) {\n throw new Error('Response body is not available for streaming');\n }\n\n const reader = response.body.getReader();\n const decoder = new TextDecoder();\n let buffer = '';\n\n try {\n while (true) {\n const { done, value } = await reader.read();\n \n if (done) {\n break;\n }\n\n // Decode the chunk and add to buffer\n buffer += decoder.decode(value, { stream: true });\n \n // Process complete lines from buffer\n const lines = buffer.split('\\n');\n buffer = lines.pop() || ''; // Keep incomplete line in buffer\n \n for (const line of lines) {\n if (line.startsWith('data: ')) {\n try {\n const chunkData = JSON.parse(line.slice(6));\n onChunk(chunkData);\n \n // Stop if we're done\n if (chunkData.done) {\n return;\n }\n } catch (parseError) {\n console.warn('Failed to parse streaming chunk:', parseError);\n }\n }\n }\n }\n } finally {\n reader.releaseLock();\n }\n } catch (error) {\n if (onError) {\n onError(error instanceof Error ? error : new Error('Streaming request failed'));\n } else {\n throw error;\n }\n }\n }\n\n // Update token\n updateToken(token: string): void {\n this.config.token = token;\n }\n\n // Update token provider\n updateTokenProvider(provider: () => Promise<string>): void {\n this.config.tokenProvider = provider;\n }\n}\n","import { HttpClient } from './http-client';\nimport {\n DocRouterAccountConfig,\n AccessToken,\n ListOrganizationsResponse,\n Organization,\n CreateOrganizationRequest,\n UpdateOrganizationRequest,\n CreateTokenRequest,\n ListAccessTokensResponse,\n TokenOrganizationResponse,\n ListLLMModelsParams,\n ListLLMModelsResponse,\n ListLLMProvidersResponse,\n SetLLMProviderConfigRequest,\n LLMChatRequest,\n LLMChatResponse,\n LLMChatStreamChunk,\n LLMChatStreamError,\n ListUsersParams,\n ListUsersResponse,\n UserCreate,\n UserUpdate,\n User,\n AWSConfig,\n // Invitation types\n InvitationResponse,\n CreateInvitationRequest,\n ListInvitationsParams,\n ListInvitationsResponse,\n AcceptInvitationRequest,\n // Payment types\n PortalSessionResponse,\n SubscriptionResponse,\n UsageResponse,\n CreditConfig,\n CreditUpdateResponse,\n UsageRangeRequest,\n UsageRangeResponse,\n} from './types';\n\n/**\n * DocRouterAccount - For account-level operations with account tokens\n * Use this for server-to-server integrations that need full account access\n */\nexport class DocRouterAccount {\n private http: HttpClient;\n\n constructor(config: DocRouterAccountConfig) {\n this.http = new HttpClient({\n baseURL: config.baseURL,\n token: config.accountToken,\n timeout: config.timeout,\n retries: config.retries,\n onAuthError: config.onAuthError,\n });\n }\n\n /**\n * Update the account token\n */\n updateToken(token: string): void {\n this.http.updateToken(token);\n }\n\n // --------------- Organizations ---------------\n async listOrganizations(params?: { \n userId?: string;\n organizationId?: string;\n nameSearch?: string;\n memberSearch?: string;\n skip?: number;\n limit?: number;\n }): Promise<ListOrganizationsResponse> {\n const queryParams = new URLSearchParams();\n if (params?.userId) queryParams.append('user_id', params.userId);\n if (params?.organizationId) queryParams.append('organization_id', params.organizationId);\n if (params?.nameSearch) queryParams.append('name_search', params.nameSearch);\n if (params?.memberSearch) queryParams.append('member_search', params.memberSearch);\n if (params?.skip !== undefined) queryParams.append('skip', String(params.skip));\n if (params?.limit !== undefined) queryParams.append('limit', String(params.limit));\n return this.http.get<ListOrganizationsResponse>(`/v0/account/organizations?${queryParams.toString()}`);\n }\n\n async getOrganization(organizationId: string): Promise<Organization> {\n const response = await this.listOrganizations({ organizationId });\n return response.organizations[0];\n }\n\n async createOrganization(organization: CreateOrganizationRequest): Promise<Organization> {\n const response = await this.http.post<{\n _id?: string;\n id: string;\n name: string;\n members: Organization['members'];\n type: Organization['type'];\n created_at: string;\n updated_at: string;\n }>(`/v0/account/organizations`, organization);\n return {\n id: response._id || response.id,\n name: response.name,\n members: response.members,\n type: response.type,\n created_at: response.created_at,\n updated_at: response.updated_at,\n };\n }\n\n async updateOrganization(organizationId: string, update: UpdateOrganizationRequest): Promise<Organization> {\n return this.http.put(`/v0/account/organizations/${organizationId}`, update);\n }\n\n async deleteOrganization(organizationId: string) {\n return this.http.delete(`/v0/account/organizations/${organizationId}`);\n }\n\n // --------------- Tokens ---------------\n async createAccountToken(request: CreateTokenRequest): Promise<AccessToken> {\n return this.http.post(`/v0/account/access_tokens`, request);\n }\n\n async getAccountTokens(): Promise<AccessToken[]> {\n const resp = await this.http.get<ListAccessTokensResponse | AccessToken[]>(`/v0/account/access_tokens`);\n // Normalize to array for SDK consumers/tests\n return Array.isArray(resp) ? resp : (resp as ListAccessTokensResponse).access_tokens;\n }\n\n async deleteAccountToken(tokenId: string): Promise<void> {\n return this.http.delete(`/v0/account/access_tokens/${tokenId}`);\n }\n\n async createOrganizationToken(request: CreateTokenRequest, organizationId: string): Promise<AccessToken> {\n return this.http.post(`/v0/orgs/${organizationId}/access_tokens`, request);\n }\n\n async getOrganizationTokens(organizationId: string): Promise<AccessToken[]> {\n const resp = await this.http.get<ListAccessTokensResponse | AccessToken[]>(`/v0/orgs/${organizationId}/access_tokens`);\n // Normalize to array for SDK consumers/tests\n return Array.isArray(resp) ? resp : (resp as ListAccessTokensResponse).access_tokens;\n }\n\n async deleteOrganizationToken(tokenId: string, organizationId: string): Promise<void> {\n return this.http.delete(`/v0/orgs/${organizationId}/access_tokens/${tokenId}`);\n }\n\n /**\n * Get the organization ID associated with an API token\n * @param token The API token to resolve\n * @returns The organization ID for org-specific tokens, or null for account-level tokens\n */\n async getOrganizationFromToken(token: string): Promise<TokenOrganizationResponse> {\n return this.http.get<TokenOrganizationResponse>(`/v0/account/token/organization?token=${encodeURIComponent(token)}`);\n }\n\n // --------------- LLM (account-level) ---------------\n async listLLMModels(params: ListLLMModelsParams): Promise<ListLLMModelsResponse> {\n return this.http.get<ListLLMModelsResponse>('/v0/account/llm/models', {\n params: {\n provider_name: params.providerName,\n provider_enabled: params.providerEnabled,\n llm_enabled: params.llmEnabled,\n }\n });\n }\n\n async listLLMProviders(): Promise<ListLLMProvidersResponse> {\n return this.http.get<ListLLMProvidersResponse>('/v0/account/llm/providers');\n }\n\n async setLLMProviderConfig(providerName: string, request: SetLLMProviderConfigRequest) {\n return this.http.put<SetLLMProviderConfigRequest>(`/v0/account/llm/provider/${providerName}`, request);\n }\n\n // --------------- Users ---------------\n async listUsers(params?: ListUsersParams): Promise<ListUsersResponse> {\n const queryParams = new URLSearchParams();\n if (params?.skip) queryParams.append('skip', String(params.skip));\n if (params?.limit) queryParams.append('limit', String(params.limit));\n if (params?.organization_id) queryParams.append('organization_id', params.organization_id);\n if (params?.user_id) queryParams.append('user_id', params.user_id);\n if (params?.search_name) queryParams.append('search_name', params.search_name);\n return this.http.get<ListUsersResponse>(`/v0/account/users?${queryParams.toString()}`);\n }\n\n async getUser(userId: string): Promise<User> {\n const response = await this.listUsers({ user_id: userId });\n return response.users[0];\n }\n\n async createUser(user: UserCreate): Promise<User> {\n return this.http.post<User>('/v0/account/users', user);\n }\n\n async updateUser(userId: string, update: UserUpdate): Promise<User> {\n return this.http.put<User>(`/v0/account/users/${userId}`, update);\n }\n\n async deleteUser(userId: string): Promise<void> {\n await this.http.delete(`/v0/account/users/${userId}`);\n }\n\n // --------------- Email Verification ---------------\n async sendVerificationEmail(userId: string) {\n return this.http.post(`/v0/account/email/verification/send/${userId}`);\n }\n\n async sendRegistrationVerificationEmail(userId: string) {\n return this.http.post(`/v0/account/email/verification/register/${userId}`);\n }\n\n async verifyEmail(token: string) {\n return this.http.post(`/v0/account/email/verification/${token}`);\n }\n\n // --------------- AWS Config ---------------\n async createAWSConfig(config: Omit<AWSConfig, 'created_at'>): Promise<AWSConfig> {\n return this.http.post('/v0/account/aws_config', config);\n }\n\n async getAWSConfig(): Promise<AWSConfig> {\n return this.http.get('/v0/account/aws_config');\n }\n\n async deleteAWSConfig(): Promise<void> {\n return this.http.delete('/v0/account/aws_config');\n }\n\n // --------------- Invitations ---------------\n async createInvitation(invitation: CreateInvitationRequest): Promise<InvitationResponse> {\n return this.http.post<InvitationResponse>('/v0/account/email/invitations', invitation);\n }\n\n async getInvitations(params?: ListInvitationsParams): Promise<ListInvitationsResponse> {\n const queryParams = new URLSearchParams();\n if (params?.skip !== undefined) queryParams.append('skip', String(params.skip));\n if (params?.limit !== undefined) queryParams.append('limit', String(params.limit));\n return this.http.get<ListInvitationsResponse>(`/v0/account/email/invitations?${queryParams.toString()}`);\n }\n\n async getInvitation(token: string): Promise<InvitationResponse> {\n return this.http.get<InvitationResponse>(`/v0/account/email/invitations/${token}`);\n }\n\n async acceptInvitation(token: string, data: AcceptInvitationRequest): Promise<{ message: string }> {\n return this.http.post<{ message: string }>(`/v0/account/email/invitations/${token}/accept`, data);\n }\n\n // --------------- Payments & Subscriptions ---------------\n async getCustomerPortal(orgId: string): Promise<PortalSessionResponse> {\n return this.http.post<PortalSessionResponse>(`/v0/orgs/${orgId}/payments/customer-portal`);\n }\n\n async getSubscription(orgId: string): Promise<SubscriptionResponse> {\n return this.http.get<SubscriptionResponse>(`/v0/orgs/${orgId}/payments/subscription`);\n }\n\n async activateSubscription(orgId: string): Promise<{ status: string; message: string }> {\n return this.http.put<{ status: string; message: string }>(`/v0/orgs/${orgId}/payments/subscription`);\n }\n\n async cancelSubscription(orgId: string): Promise<{ status: string; message: string }> {\n return this.http.delete<{ status: string; message: string }>(`/v0/orgs/${orgId}/payments/subscription`);\n }\n\n async getCurrentUsage(orgId: string): Promise<UsageResponse> {\n return this.http.get<UsageResponse>(`/v0/orgs/${orgId}/payments/usage`);\n }\n\n async addCredits(orgId: string, amount: number): Promise<CreditUpdateResponse> {\n return this.http.post<CreditUpdateResponse>(`/v0/orgs/${orgId}/payments/credits/add`, { amount });\n }\n\n async getCreditConfig(orgId: string): Promise<CreditConfig> {\n return this.http.get<CreditConfig>(`/v0/orgs/${orgId}/payments/credits/config`);\n }\n\n async purchaseCredits(orgId: string, request: { credits: number; success_url: string; cancel_url: string }): Promise<{ checkout_url: string; session_id: string }> {\n return this.http.post<{ checkout_url: string; session_id: string }>(`/v0/orgs/${orgId}/payments/credits/purchase`, request);\n }\n\n async getUsageRange(orgId: string, request: UsageRangeRequest): Promise<UsageRangeResponse> {\n const queryParams = new URLSearchParams();\n if (request.start_date) queryParams.append('start_date', request.start_date);\n if (request.end_date) queryParams.append('end_date', request.end_date);\n return this.http.get<UsageRangeResponse>(`/v0/orgs/${orgId}/payments/usage/range?${queryParams.toString()}`);\n }\n\n async createCheckoutSession(orgId: string, planId: string): Promise<PortalSessionResponse> {\n return this.http.post<PortalSessionResponse>(`/v0/orgs/${orgId}/payments/checkout-session`, { plan_id: planId });\n }\n\n /**\n * Run LLM chat (account level)\n */\n async runLLMChat(request: LLMChatRequest): Promise<LLMChatResponse> {\n return this.http.post('/v0/account/llm/run', request);\n }\n\n /**\n * Run LLM chat with streaming (account level)\n */\n async runLLMChatStream(\n request: LLMChatRequest,\n onChunk: (chunk: LLMChatStreamChunk | LLMChatStreamError) => void,\n onError?: (error: Error) => void,\n abortSignal?: AbortSignal\n ): Promise<void> {\n const streamingRequest = { ...request, stream: true };\n return this.http.stream('/v0/account/llm/run', streamingRequest, onChunk, onError, abortSignal);\n }\n\n /**\n * Get the current HTTP client (for advanced usage)\n */\n getHttpClient(): HttpClient {\n return this.http;\n }\n}\n","import { HttpClient } from './http-client';\nimport {\n DocRouterOrgConfig,\n UploadDocumentsResponse,\n ListDocumentsResponse,\n GetDocumentResponse,\n GetOCRMetadataResponse,\n RunLLMResponse,\n GetLLMResultResponse,\n ListTagsResponse,\n JsonValue,\n Tag,\n OCRBlock,\n // Forms\n CreateFormParams,\n ListFormsParams,\n ListFormsResponse,\n GetFormParams,\n UpdateFormParams,\n DeleteFormParams,\n SubmitFormParams,\n GetFormSubmissionParams,\n DeleteFormSubmissionParams,\n Form,\n FormSubmission,\n // Prompts\n CreatePromptParams,\n ListPromptsParams,\n ListPromptsResponse,\n GetPromptParams,\n UpdatePromptParams,\n DeletePromptParams,\n Prompt,\n // Schemas\n CreateSchemaParams,\n ListSchemasParams,\n ListSchemasResponse,\n GetSchemaParams,\n UpdateSchemaParams,\n DeleteSchemaParams,\n Schema,\n // Payments\n PortalSessionResponse,\n SubscriptionResponse,\n UsageResponse,\n CreditConfig,\n CreditUpdateResponse,\n UsageRangeRequest,\n UsageRangeResponse,\n // LLM Chat\n LLMChatRequest,\n LLMChatResponse,\n LLMChatStreamChunk,\n LLMChatStreamError,\n // LLM Models\n ListOrgLLMModelsResponse,\n} from './types';\n\n/**\n * DocRouterOrg - For organization-scoped operations with org tokens\n * Use this when you have an organization token and want to work within that org\n */\nexport class DocRouterOrg {\n public readonly organizationId: string;\n private http: HttpClient;\n\n constructor(config: DocRouterOrgConfig) {\n this.organizationId = config.organizationId;\n this.http = new HttpClient({\n baseURL: config.baseURL,\n token: config.orgToken,\n timeout: config.timeout,\n retries: config.retries,\n onAuthError: config.onAuthError,\n });\n }\n\n /**\n * Update the organization token\n */\n updateToken(token: string): void {\n this.http.updateToken(token);\n }\n\n // ---------------- Documents ----------------\n\n async uploadDocuments(params: { documents: Array<{ name: string; content: string; tag_ids?: string[]; metadata?: Record<string, string>; }>; }): Promise<UploadDocumentsResponse> {\n const documentsPayload = params.documents.map(doc => {\n // Handle both plain base64 and data URLs\n let base64Content: string;\n if (doc.content.startsWith('data:')) {\n // Extract base64 from data URL (e.g., \"data:application/pdf;base64,JVBERi0xLjQK...\")\n base64Content = doc.content.split(',')[1];\n } else {\n // Plain base64 string\n base64Content = doc.content;\n }\n\n const payload: {\n name: string;\n content: string;\n tag_ids?: string[];\n metadata?: Record<string, string>;\n } = {\n name: doc.name,\n content: base64Content,\n };\n if (doc.tag_ids && doc.tag_ids.length > 0) payload.tag_ids = doc.tag_ids;\n if (doc.metadata) payload.metadata = doc.metadata;\n return payload;\n });\n\n return this.http.post<UploadDocumentsResponse>(\n `/v0/orgs/${this.organizationId}/documents`,\n { documents: documentsPayload }\n );\n }\n\n async listDocuments(params?: { skip?: number; limit?: number; tagIds?: string; nameSearch?: string; metadataSearch?: string; }): Promise<ListDocumentsResponse> {\n const queryParams: Record<string, string | number | undefined> = {\n skip: params?.skip || 0,\n limit: params?.limit || 10,\n };\n if (params?.tagIds) queryParams.tag_ids = params.tagIds;\n if (params?.nameSearch) queryParams.name_search = params.nameSearch;\n if (params?.metadataSearch) queryParams.metadata_search = params.metadataSearch;\n\n return this.http.get<ListDocumentsResponse>(`/v0/orgs/${this.organizationId}/documents`, {\n params: queryParams\n });\n }\n\n async getDocument(params: { documentId: string; fileType: string; }): Promise<GetDocumentResponse> {\n const { documentId, fileType } = params;\n const response = await this.http.get<{\n id: string;\n pdf_id: string;\n document_name: string;\n upload_date: string;\n uploaded_by: string;\n state: string;\n tag_ids: string[];\n type: string;\n metadata: Record<string, string>;\n content: string;\n }>(`/v0/orgs/${this.organizationId}/documents/${documentId}?file_type=${fileType}`);\n\n const binaryContent = atob(response.content);\n const len = binaryContent.length;\n const bytes = new Uint8Array(len);\n for (let i = 0; i < len; i++) {\n bytes[i] = binaryContent.charCodeAt(i);\n }\n\n return {\n id: response.id,\n pdf_id: response.pdf_id,\n document_name: response.document_name,\n upload_date: response.upload_date,\n uploaded_by: response.uploaded_by,\n state: response.state,\n tag_ids: response.tag_ids,\n type: response.type,\n metadata: response.metadata,\n content: bytes.buffer\n };\n }\n\n async updateDocument(params: { documentId: string; documentName?: string; tagIds?: string[]; metadata?: Record<string, string>; }) {\n const { documentId, documentName, tagIds, metadata } = params;\n const updateData: { tag_ids?: string[]; document_name?: string; metadata?: Record<string, string> } = {};\n if (documentName !== undefined) updateData.document_name = documentName;\n if (tagIds !== undefined) updateData.tag_ids = tagIds;\n if (metadata !== undefined) updateData.metadata = metadata;\n return this.http.put(`/v0/orgs/${this.organizationId}/documents/${documentId}`, updateData);\n }\n\n async deleteDocument(params: { documentId: string; }) {\n const { documentId } = params;\n return this.http.delete(`/v0/orgs/${this.organizationId}/documents/${documentId}`);\n }\n\n // ---------------- OCR ----------------\n\n async getOCRBlocks(params: { documentId: string; }): Promise<OCRBlock[]> {\n const { documentId } = params;\n return this.http.get<OCRBlock[]>(`/v0/orgs/${this.organizationId}/ocr/download/blocks/${documentId}`);\n }\n\n async getOCRText(params: { documentId: string; pageNum?: number; }): Promise<string> {\n const { documentId, pageNum } = params;\n const url = `/v0/orgs/${this.organizationId}/ocr/download/text/${documentId}${pageNum ? `?page_num=${pageNum}` : ''}`;\n return this.http.get<string>(url);\n }\n\n async getOCRMetadata(params: { documentId: string; }): Promise<GetOCRMetadataResponse> {\n const { documentId } = params;\n return this.http.get<GetOCRMetadataResponse>(`/v0/orgs/${this.organizationId}/ocr/download/metadata/${documentId}`);\n }\n\n // ---------------- LLM ----------------\n\n async runLLM(params: { documentId: string; promptRevId: string; force?: boolean; }): Promise<RunLLMResponse> {\n const { documentId, promptRevId, force } = params;\n return this.http.post<RunLLMResponse>(\n `/v0/orgs/${this.organizationId}/llm/run/${documentId}`,\n {},\n { params: { prompt_revid: promptRevId, force } }\n );\n }\n\n async getLLMResult(params: { documentId: string; promptRevId: string; fallback?: boolean; }): Promise<GetLLMResultResponse> {\n const { documentId, promptRevId, fallback } = params;\n return this.http.get<GetLLMResultResponse>(\n `/v0/orgs/${this.organizationId}/llm/result/${documentId}`,\n { params: { prompt_revid: promptRevId, fallback } }\n );\n }\n\n async updateLLMResult({\n documentId,\n promptId,\n result,\n isVerified = false\n }: { documentId: string; promptId: string; result: Record<string, JsonValue>; isVerified?: boolean; }): Promise<GetLLMResultResponse> {\n const response = await this.http.put<GetLLMResultResponse>(\n `/v0/orgs/${this.organizationId}/llm/result/${documentId}`,\n { updated_llm_result: result, is_verified: isVerified },\n { params: { prompt_revid: promptId } }\n );\n return response;\n }\n\n async deleteLLMResult(params: { documentId: string; promptId: string; }) {\n const { documentId, promptId } = params;\n return this.http.delete(\n `/v0/orgs/${this.organizationId}/llm/result/${documentId}`,\n { params: { prompt_revid: promptId } }\n );\n }\n\n async downloadAllLLMResults(params: { documentId: string; }) {\n const { documentId } = params;\n return this.http.get(\n `/v0/orgs/${this.organizationId}/llm/results/${documentId}/download`,\n { responseType: 'blob' as const }\n );\n }\n\n // ---------------- Prompts ----------------\n\n async createPrompt(params: Omit<CreatePromptParams, 'organizationId'>): Promise<Prompt> {\n const { prompt } = params;\n return this.http.post<Prompt>(`/v0/orgs/${this.organizationId}/prompts`, prompt);\n }\n\n async listPrompts(params?: Omit<ListPromptsParams, 'organizationId'>): Promise<ListPromptsResponse> {\n const { skip, limit, document_id, tag_ids, nameSearch } = params || {};\n return this.http.get<ListPromptsResponse>(`/v0/orgs/${this.organizationId}/prompts`, {\n params: {\n skip: skip || 0,\n limit: limit || 10,\n document_id,\n tag_ids,\n name_search: nameSearch\n }\n });\n }\n\n async getPrompt(params: Omit<GetPromptParams, 'organizationId'>): Promise<Prompt> {\n const { promptRevId } = params;\n return this.http.get<Prompt>(`/v0/orgs/${this.organizationId}/prompts/${promptRevId}`);\n }\n\n async updatePrompt(params: Omit<UpdatePromptParams, 'organizationId'>): Promise<Prompt> {\n const { promptId, prompt } = params;\n return this.http.put<Prompt>(`/v0/orgs/${this.organizationId}/prompts/${promptId}`, prompt);\n }\n\n async deletePrompt(params: Omit<DeletePromptParams, 'organizationId'>): Promise<{ message: string }> {\n const { promptId } = params;\n return this.http.delete<{ message: string }>(`/v0/orgs/${this.organizationId}/prompts/${promptId}`);\n }\n\n async listPromptVersions(params: { promptId: string }): Promise<ListPromptsResponse> {\n const { promptId } = params;\n return this.http.get<ListPromptsResponse>(`/v0/orgs/${this.organizationId}/prompts/${promptId}/versions`);\n }\n\n // ---------------- Tags ----------------\n\n async createTag(params: { tag: Omit<Tag, 'id' | 'created_at' | 'updated_at'>; }): Promise<Tag> {\n const { tag } = params;\n return this.http.post<Tag>(`/v0/orgs/${this.organizationId}/tags`, tag);\n }\n\n async getTag({ tagId }: { tagId: string; }): Promise<Tag> {\n return this.http.get<Tag>(`/v0/orgs/${this.organizationId}/tags/${tagId}`);\n }\n\n async listTags(params?: { skip?: number; limit?: number; nameSearch?: string; }): Promise<ListTagsResponse> {\n const { skip, limit, nameSearch } = params || {};\n return this.http.get<ListTagsResponse>(`/v0/orgs/${this.organizationId}/tags`, {\n params: { skip: skip || 0, limit: limit || 10, name_search: nameSearch }\n });\n }\n\n async updateTag(params: { tagId: string; tag: Partial<Omit<Tag, 'id' | 'created_at' | 'updated_at'>>; }): Promise<Tag> {\n const { tagId, tag } = params;\n return this.http.put<Tag>(`/v0/orgs/${this.organizationId}/tags/${tagId}`, tag);\n }\n\n async deleteTag(params: { tagId: string; }): Promise<{ message: string }> {\n const { tagId } = params;\n return this.http.delete<{ message: string }>(`/v0/orgs/${this.organizationId}/tags/${tagId}`);\n }\n\n // ---------------- Forms ----------------\n\n async createForm(form: Omit<CreateFormParams, 'organizationId'>): Promise<Form> {\n const { name, response_format } = form;\n return this.http.post<Form>(`/v0/orgs/${this.organizationId}/forms`, { name, response_format });\n }\n\n async listForms(params?: Omit<ListFormsParams, 'organizationId'>): Promise<ListFormsResponse> {\n const { skip, limit, tag_ids } = params || {};\n return this.http.get<ListFormsResponse>(`/v0/orgs/${this.organizationId}/forms`, {\n params: { skip: skip || 0, limit: limit || 10, tag_ids }\n });\n }\n\n async getForm(params: Omit<GetFormParams, 'organizationId'>): Promise<Form> {\n const { formRevId } = params;\n return this.http.get<Form>(`/v0/orgs/${this.organizationId}/forms/${formRevId}`);\n }\n\n async updateForm(params: Omit<UpdateFormParams, 'organizationId'>): Promise<Form> {\n const { formId, form } = params;\n return this.http.put<Form>(`/v0/orgs/${this.organizationId}/forms/${formId}`, form);\n }\n\n async deleteForm(params: Omit<DeleteFormParams, 'organizationId'>): Promise<{ message: string }> {\n const { formId } = params;\n return this.http.delete<{ message: string }>(`/v0/orgs/${this.organizationId}/forms/${formId}`);\n }\n\n async listFormVersions(params: { formId: string }): Promise<ListFormsResponse> {\n const { formId } = params;\n return this.http.get<ListFormsResponse>(`/v0/orgs/${this.organizationId}/forms/${formId}/versions`);\n }\n\n async submitForm(params: Omit<SubmitFormParams, 'organizationId'>): Promise<FormSubmission> {\n const { documentId, formRevId, submission_data, submitted_by } = params;\n return this.http.post<FormSubmission>(`/v0/orgs/${this.organizationId}/forms/submissions/${documentId}`, {\n form_revid: formRevId,\n submission_data: submission_data,\n submitted_by: submitted_by\n });\n }\n\n async getFormSubmission(params: Omit<GetFormSubmissionParams, 'organizationId'>): Promise<FormSubmission | null> {\n const { documentId, formRevId } = params;\n return this.http.get<FormSubmission | null>(`/v0/orgs/${this.organizationId}/forms/submissions/${documentId}?form_revid=${formRevId}`);\n }\n\n async deleteFormSubmission(params: Omit<DeleteFormSubmissionParams, 'organizationId'>): Promise<void> {\n const { documentId, formRevId } = params;\n await this.http.delete(`/v0/orgs/${this.organizationId}/forms/submissions/${documentId}`, { params: { form_revid: formRevId } });\n }\n\n\n // ---------------- Schemas ----------------\n\n async createSchema(schema: Omit<CreateSchemaParams, 'organizationId'>): Promise<Schema> {\n return this.http.post<Schema>(`/v0/orgs/${this.organizationId}/schemas`, schema);\n }\n\n async listSchemas(params: Omit<ListSchemasParams, 'organizationId'>): Promise<ListSchemasResponse> {\n const { skip, limit, nameSearch } = params || {};\n return this.http.get<ListSchemasResponse>(`/v0/orgs/${this.organizationId}/schemas`, {\n params: { skip: skip || 0, limit: limit || 10, name_search: nameSearch }\n });\n }\n\n async getSchema(params: Omit<GetSchemaParams, 'organizationId'>): Promise<Schema> {\n const { schemaRevId } = params;\n return this.http.get<Schema>(`/v0/orgs/${this.organizationId}/schemas/${schemaRevId}`);\n }\n\n async updateSchema(params: Omit<UpdateSchemaParams, 'organizationId'>): Promise<Schema> {\n const { schemaId, schema } = params;\n return this.http.put<Schema>(`/v0/orgs/${this.organizationId}/schemas/${schemaId}`, schema);\n }\n\n async deleteSchema(params: Omit<DeleteSchemaParams, 'organizationId'>): Promise<{ message: string }> {\n const { schemaId } = params;\n return this.http.delete<{ message: string }>(`/v0/orgs/${this.organizationId}/schemas/${schemaId}`);\n }\n\n async validateAgainstSchema(params: { schemaRevId: string; data: Record<string, unknown> }): Promise<{ valid: boolean; errors?: string[] }> {\n const { schemaRevId, data } = params;\n return this.http.post<{ valid: boolean; errors?: string[] }>(`/v0/orgs/${this.organizationId}/schemas/${schemaRevId}/validate`, { data });\n }\n\n async listSchemaVersions(params: { schemaId: string }): Promise<ListSchemasResponse> {\n const { schemaId } = params;\n return this.http.get<ListSchemasResponse>(`/v0/orgs/${this.organizationId}/schemas/${schemaId}/versions`);\n }\n\n // ---------------- Payments ----------------\n\n async getCustomerPortal(): Promise<PortalSessionResponse> {\n return this.http.post<PortalSessionResponse>(`/v0/orgs/${this.organizationId}/payments/customer-portal`, {});\n }\n\n async getSubscription(): Promise<SubscriptionResponse> {\n return this.http.get<SubscriptionResponse>(`/v0/orgs/${this.organizationId}/payments/subscription`);\n }\n\n async activateSubscription(): Promise<{ status: string; message: string }> {\n return this.http.put<{ status: string; message: string }>(`/v0/orgs/${this.organizationId}/payments/subscription`, {});\n }\n\n async cancelSubscription(): Promise<{ status: string; message: string }> {\n return this.http.delete<{ status: string; message: string }>(`/v0/orgs/${this.organizationId}/payments/subscription`);\n }\n\n\n async getCurrentUsage(): Promise<UsageResponse> {\n return this.http.get<UsageResponse>(`/v0/orgs/${this.organizationId}/payments/usage`);\n }\n\n async addCredits(amount: number): Promise<CreditUpdateResponse> {\n return this.http.post<CreditUpdateResponse>(`/v0/orgs/${this.organizationId}/payments/credits/add`, { amount });\n }\n\n async getCreditConfig(): Promise<CreditConfig> {\n return this.http.get<CreditConfig>(`/v0/orgs/${this.organizationId}/payments/credits/config`);\n }\n\n async purchaseCredits(request: { credits: number; success_url: string; cancel_url: string; }) {\n return this.http.post(`/v0/orgs/${this.organizationId}/payments/credits/purchase`, request);\n }\n\n async getUsageRange(request: UsageRangeRequest): Promise<UsageRangeResponse> {\n return this.http.get<UsageRangeResponse>(`/v0/orgs/${this.organizationId}/payments/usage/range`, { params: request });\n }\n\n async createCheckoutSession(planId: string): Promise<PortalSessionResponse> {\n return this.http.post<PortalSessionResponse>(`/v0/orgs/${this.organizationId}/payments/checkout-session`, { plan_id: planId });\n }\n\n // ---------------- LLM Chat (Org) ----------------\n\n async runLLMChat(request: LLMChatRequest): Promise<LLMChatResponse> {\n return this.http.post(`/v0/orgs/${this.organizationId}/llm/run`, request);\n }\n\n // ---------------- LLM Models (Org) ----------------\n\n async listLLMModels(): Promise<ListOrgLLMModelsResponse> {\n return this.http.get<ListOrgLLMModelsResponse>(`/v0/orgs/${this.organizationId}/llm/models`);\n }\n\n async runLLMChatStream(\n request: LLMChatRequest,\n onChunk: (chunk: LLMChatStreamChunk | LLMChatStreamError) => void,\n onError?: (error: Error) => void,\n abortSignal?: AbortSignal\n ): Promise<void> {\n const streamingRequest = { ...request, stream: true };\n return this.http.stream(`/v0/orgs/${this.organizationId}/llm/run`, streamingRequest, onChunk, onError, abortSignal);\n }\n\n /**\n * Get the current HTTP client (for advanced usage)\n */\n getHttpClient(): HttpClient {\n return this.http;\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docrouter/sdk",
3
- "version": "0.2.2",
3
+ "version": "1.0.0",
4
4
  "description": "TypeScript SDK for DocRouter API",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -42,13 +42,11 @@
42
42
  "author": "Analytiq",
43
43
  "license": "MIT",
44
44
  "devDependencies": {
45
- "@types/bcrypt": "^5.0.2",
46
45
  "@types/jest": "^29.5.0",
47
46
  "@types/jsonwebtoken": "^9.0.0",
48
47
  "@types/node": "^20.0.0",
49
48
  "@typescript-eslint/eslint-plugin": "6.21.0",
50
49
  "@typescript-eslint/parser": "6.21.0",
51
- "bcrypt": "^5.1.1",
52
50
  "bson": "^6.3.0",
53
51
  "eslint": "^8.0.0",
54
52
  "jest": "^29.5.0",