diff --git a/.npmignore b/.npmignore index cf98a6b..670ac0a 100644 --- a/.npmignore +++ b/.npmignore @@ -5,10 +5,14 @@ !/**/*.ts !/**/*.js !/**/*.mjs -!/**/*.json +!/package.json +!/jsr.json +!/dist/**/*.json +!/esm/**/*.json !/**/*.map /eslint.config.mjs +/.oxlintrc.json /cjs /.tshy /.tshy-* diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 9e1ba85..ff9461e 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,42 +1,42 @@ lockVersion: 2.0.0 id: 7fd487cb-2a73-459e-99e5-2c4e6547175f management: - docChecksum: 4ca2e5a38cd1267ee6f3904ffb919fe6 + docChecksum: c967a46637dee184b6eb9c7e1caaec31 docVersion: 2.0.0 - speakeasyVersion: 1.680.11 - generationVersion: 2.788.15 - releaseVersion: 3.4.1 - configChecksum: 2505d61983a54516502c3199a3877c7c + speakeasyVersion: 1.786.1 + generationVersion: 2.913.3 + releaseVersion: 3.5.0 + configChecksum: d077eae5fd716aba8628b1c387e19483 persistentEdits: - generation_id: c243171f-defa-4e30-9fef-03726035f93a - pristine_commit_hash: acd0fa57347a4055ff5a89cf590b5de329234259 - pristine_tree_hash: afc296ed1d811aa5354b5065995ab67b4ba15949 + generation_id: ba32f099-11a5-459a-8d66-841fc9da64d3 + pristine_commit_hash: 9450a4aa8e2157426aadf6e1a74edba451cff7f9 + pristine_tree_hash: 04e24c2fea24e0b7410fb961b8b14fe9bd978f4e features: typescript: additionalDependencies: 0.1.0 - additionalProperties: 0.1.2 - constsAndDefaults: 0.1.12 - core: 3.26.17 + additionalProperties: 0.1.3 + constsAndDefaults: 0.1.14 + core: 3.31.2 defaultEnabledRetries: 0.1.0 deprecations: 2.81.1 devContainers: 2.90.1 enumUnions: 0.1.0 envVarSecurityUsage: 0.1.2 flattening: 2.82.1 - globalSecurity: 2.82.14 + globalSecurity: 2.82.16 globalSecurityCallbacks: 0.1.0 - globalSecurityFlattening: 0.1.0 - globalServerURLs: 2.83.0 + globalSecurityFlattening: 0.1.1 + globalServerURLs: 2.83.1 groups: 2.81.3 mcpServer: 0.9.4 - nameOverrides: 2.81.2 + nameOverrides: 2.81.4 nullables: 0.1.1 - responseFormat: 0.2.3 - retries: 2.83.0 + responseFormat: 0.3.0 + retries: 2.83.1 sdkHooks: 0.4.0 - serverEvents: 0.1.13 - unions: 2.86.3 - uploadStreams: 0.1.0 + serverEvents: 0.2.3 + unions: 2.86.4 + uploadStreams: 0.1.1 trackedFiles: .devcontainer/devcontainer.json: id: b34062a34eb1 @@ -52,12 +52,12 @@ trackedFiles: pristine_git_object: 113eead5093c17d43a46159132885318f281a68a .npmignore: id: aa70c1f807c3 - last_write_checksum: sha1:3d5eb92f81539175db1ff0280e0aefbdd701f200 - pristine_git_object: cf98a6bf092538eb10ff0edc915102682ce9a6e6 + last_write_checksum: sha1:6572da81f2e7a978ec29c22c2210bf461c5897b2 + pristine_git_object: 670ac0a62d7e568c9d44a14f5deafb8442a255d8 FUNCTIONS.md: id: 21b9df02aaeb - last_write_checksum: sha1:164f4b9e340e0bed87a735067ff9ee6325b20dbe - pristine_git_object: ec252ce92cad20c40514fcf9c664bf29de365020 + last_write_checksum: sha1:879e3845268163770a9de036ee2c6171a5168538 + pristine_git_object: ea95d078748f7952932b9a91fec395e5ed2a3e47 RUNTIMES.md: id: 620c490847b6 last_write_checksum: sha1:e45b854f02c357cbcfdb8c3663000e8339e16505 @@ -76,16 +76,16 @@ trackedFiles: pristine_git_object: 1e607113247f171cb6be61311d2b5fdd1d7aae5c docs/models/annotation.md: id: faab6b24438b - last_write_checksum: sha1:f6067bc0c0fc2b250b442158e69cb3242556d1cb - pristine_git_object: 07491cca1ab4bfca5e617bfb9f96c660ec77310e + last_write_checksum: sha1:b23103866a6d83626f13b39df2d1acd5b04e0c3b + pristine_git_object: 0af955b56c9179b23d42d41148fe8de463aeb3b8 docs/models/annotationurlcitation.md: id: 3a73378fa514 - last_write_checksum: sha1:4f40d5985f539b0ecedcc5c59d1929a5a229830c - pristine_git_object: 30c80ed6f9deb72d25ba1914aa65970a1e8e8750 + last_write_checksum: sha1:eb229a13a12d5756b5d13c99e5460bd50f3404dd + pristine_git_object: ac71e3d1abc74b343e4653693e9f0dc44b69492d docs/models/appapipublicv2functioncallcallfunctionrequest.md: id: 9cf1fdcedc3a - last_write_checksum: sha1:ff18b7f39d61ab6f8e0983fed58249a369f440ce - pristine_git_object: 01d2aa9691c85c520a676d2b65485be4d79cdbd1 + last_write_checksum: sha1:864315eda7151c45dad7c8a451d07ff98c16942c + pristine_git_object: a7deed940f9e0325411d00fc31a3e60e089d89a5 docs/models/appapipublicv2functioncallcallfunctionresponse.md: id: 428a6cce6b14 last_write_checksum: sha1:a51c7a09d03d54f4e4bf299fc1290c01873882d2 @@ -100,8 +100,8 @@ trackedFiles: pristine_git_object: 67b1ba857adfe53c2753c822cffe894667c237de docs/models/audio.md: id: 197ec2b1424a - last_write_checksum: sha1:00b68653717a326ce7f94d71265af195b5067474 - pristine_git_object: 465bfaa884959555796762faab0d8a79b1e64282 + last_write_checksum: sha1:24e3e0979535dc8faa3267b7c7687fd526fdfdb5 + pristine_git_object: cd68d576ef1568692381e8471d7d51e821571c64 docs/models/bodyuploadfileknowledgeknowledgebaseiduploadpost.md: id: 6f240addceef last_write_checksum: sha1:60b8cb814e1413143db30bb3f4ec570b045571ed @@ -112,20 +112,20 @@ trackedFiles: pristine_git_object: 61f52a3a329d9de087d65cff600d713d7c00f11f docs/models/chatcompletion.md: id: 7087ed1b2694 - last_write_checksum: sha1:bb6e9c542aa316ae5a0214b3651c2675025c8300 - pristine_git_object: ffe3c96425fc14559756ce39a9646b7e059ef2fc + last_write_checksum: sha1:a553689261f4c2665d96de6bca73e6fa07e4bb28 + pristine_git_object: ebe54729482eea3a600892edd20a3d504f701e66 docs/models/chatcompletionallowedtoolchoiceparam.md: id: e3fed3e89033 - last_write_checksum: sha1:2afd2d17b64c6a84d63d9f771d8b20c503c0b9a0 - pristine_git_object: 5d911139eff9b1417a52df9c26d21be935a3b29f + last_write_checksum: sha1:1c2154011ba6f713e70b0dc05ea34c1d310df265 + pristine_git_object: fa0507fdbe3916e9b584b6081963790a380a65b6 docs/models/chatcompletionallowedtoolsparam.md: id: 9df48f583aea - last_write_checksum: sha1:b15907a373e4ebbf35d0a888e3cf404274c9a75b - pristine_git_object: e1e8e628e992b1eb54f4a375f2176d08a5702e58 + last_write_checksum: sha1:11b1bef530267de74cc961cb0285494e782db2fd + pristine_git_object: e077949f9afa1bf05f79edf3c933694bcfac45e1 docs/models/chatcompletionassistantmessageparam.md: id: 98527d311b33 - last_write_checksum: sha1:39db0505a978f02b37e04e710a678118a42712bc - pristine_git_object: 45f1715376092c5488ffbcb1311e986b758b0660 + last_write_checksum: sha1:a01835646701ebcb62beec9fee53eef84bdc76ea + pristine_git_object: 91bec88cb38fc3b8f603c26bd8cc8ad75cc06da1 docs/models/chatcompletionassistantmessageparamcontent1.md: id: a9a9724a28b0 last_write_checksum: sha1:cd5d0a552a6819600b3ce68159009f69331f8837 @@ -140,92 +140,92 @@ trackedFiles: pristine_git_object: 712bdabb4f1996c0b61791e4bdbd69c7bde263d4 docs/models/chatcompletionaudio.md: id: 5db9f3e23630 - last_write_checksum: sha1:12757b3264417681c3ea95cd7d1017319006a704 - pristine_git_object: dd83282a080351502bd769602915701cd6221c64 + last_write_checksum: sha1:a0225fec52d38ab3ab2b5dd89f496cffaa15e29d + pristine_git_object: 26cc7c5eb609991af8dbf23b335af3dc717864d1 docs/models/chatcompletionaudioparam.md: id: b86bb9a2ab41 - last_write_checksum: sha1:41a0968439c843b0b403325b8df13bb5c5cf16ba - pristine_git_object: 1162a5ceee2d3ebb80c88df075b85ffe52193d14 + last_write_checksum: sha1:d99db7387f0bebdfe6f21545a1c9fd5131e339bb + pristine_git_object: 6a95ba2bcf9f1a96adac10a897b7cd4f0727b7b8 docs/models/chatcompletionaudioparamformat.md: id: 112ed65cd0ba last_write_checksum: sha1:f7af83fcea963b93079b9474bf275d2f42a76246 pristine_git_object: e5feef365c2b10965c9a605c309e1dfc2288b977 docs/models/chatcompletioncontentpartimageparam.md: id: 69396d282df3 - last_write_checksum: sha1:a729413664105791138466035ae791492571897d - pristine_git_object: 200eb330a8696c841408e0e2ee07b22134c62395 + last_write_checksum: sha1:a567ce7017efa95108a90abab0e645e6e94a007c + pristine_git_object: f6e71b67d9491e9352de6a1e1f946d205f9149a0 docs/models/chatcompletioncontentpartinputaudioparam.md: id: dbf1547a27c9 - last_write_checksum: sha1:99a9c691ad9f5fdf94161d515ba7f151653d817a - pristine_git_object: ef4c72d8d86371f5ee5a2c6f72e182ed4cd61b0d + last_write_checksum: sha1:153ab27b1b0a6227857ff71e85d813ee6100b43b + pristine_git_object: 2ff225acc8499405e0e54c7e1f88a24a2492d397 docs/models/chatcompletioncontentpartrefusalparam.md: id: 9ffb19aaf30b last_write_checksum: sha1:59bc67f2b0965324487948af690ea3b34a5b1355 pristine_git_object: 069a7cab0f60d4a163f63c186c18bc664c45d87b docs/models/chatcompletioncontentparttextparam.md: id: ef2b6560db6d - last_write_checksum: sha1:02967c67627cb259b5a78f3e8474c2f685467454 - pristine_git_object: 28359d7b11786056bebf13dbad6b56a0f2405fb9 + last_write_checksum: sha1:8ebf85d983f613af4281b2e834af94e3ef1fa0ca + pristine_git_object: 98455fa7db10102ef3329160680091e2cbb2a18f docs/models/chatcompletioncustomtoolparam.md: id: 0c02c2d18d4f - last_write_checksum: sha1:c4e8e34806cfb50b9dfbacfb9af9806c94301e04 - pristine_git_object: c3c1fa4d00c1d6194f03f6e3b79458a508083f91 + last_write_checksum: sha1:a0a837740797096d577a39c1f44aef2fdc4b6982 + pristine_git_object: 49d4e0b4d3ec2fb0367a8df9995969afad52884c docs/models/chatcompletiondevelopermessageparam.md: id: 2360c0c7af35 - last_write_checksum: sha1:b93c88d0039e802fa2c763214305e4fbe31a708e - pristine_git_object: 068e2221ad77f4a5a1774081dbd1dc7ca5cd4905 + last_write_checksum: sha1:be5808ba96387cd35f0b9de96d1fd9963de9e556 + pristine_git_object: ca1bb7b154e3c23e10cebfb115f4957d40cf036d docs/models/chatcompletiondevelopermessageparamcontent.md: id: ea72c7b474cf last_write_checksum: sha1:e1ac690f986614df127146bd39537c62e071b2aa pristine_git_object: f57a056c5b26a97f5f519cf4e65e9e8c195909e7 docs/models/chatcompletionfunctioncalloptionparam.md: id: 8b655d293afc - last_write_checksum: sha1:77714372348b224ee3a473747d55ece271b50e05 - pristine_git_object: b49b38a070d1a16968507cc6873f9691cf1b9ead + last_write_checksum: sha1:c4343d94d40ac341cc7ab0220c6ba561bb75909d + pristine_git_object: 48b4c38a3f3571111536b2284a6b39b0de020005 docs/models/chatcompletionfunctionmessageparam.md: id: 9544be788d4f last_write_checksum: sha1:4d47d8c917882c2e771dd72a887604cbd5aa46d7 pristine_git_object: ec7e5aa64f573e484d312ce38f2a2be18b63a7fe docs/models/chatcompletionfunctiontoolparam.md: id: f8029f20961e - last_write_checksum: sha1:afc8b3a55834b4a557af8b50cd97e7a19d83e129 - pristine_git_object: ad9367cf48ab4abf12c03a546580577ee7e478c1 + last_write_checksum: sha1:bf4e960f322128952ad06e2baa8ad5527f65d0c5 + pristine_git_object: 99ebb7011791cbc032aebc0624c1470ac2a6b06c docs/models/chatcompletionmessage.md: id: 980f9e8f8e17 - last_write_checksum: sha1:6c13b00396cd033cea5a2d3cc1996e889b1ea818 - pristine_git_object: 6d214ef0ba34cdb9d6d58c5ac2ccca2db30ae69e + last_write_checksum: sha1:0a1b3ca24349f22932f563439c146aae8bb84245 + pristine_git_object: 79d855d11f52f6c3c7e23225e378136a0b2516d7 docs/models/chatcompletionmessagecustomtoolcall.md: id: ace36cbf55c0 - last_write_checksum: sha1:2b5dc0afadeb2ba9e50c3b206cecba1819f3220d - pristine_git_object: 0e819d2966ca902a25ca024d7157eb3bbb2967e3 + last_write_checksum: sha1:f0bc5625a0bd62da6231c214a06da7e0fe9a223e + pristine_git_object: 4567ad8b6da103f13050f568ecc294643b711c89 docs/models/chatcompletionmessagecustomtoolcallparam.md: id: 195cdbd15b2b - last_write_checksum: sha1:70aa05ce2e0df50924b08ca65ff1dfab557b31dc - pristine_git_object: 32240fc34c0355fbe43cd7034aac00e4802df5d6 + last_write_checksum: sha1:2cd6ca3a0001b5c47fc9b125ed17b8a2f138b374 + pristine_git_object: d7e3faae18b5aaac71724ac57d620f2fb98b8f24 docs/models/chatcompletionmessagefunctiontoolcall.md: id: 84d952e2b078 - last_write_checksum: sha1:fab09ad61ca6ab8b9e28cfa24f474a0f11001cd1 - pristine_git_object: db81f23d3518f19e0d5c87e6aefb25ee8bb262af + last_write_checksum: sha1:79d50179412493ffcd8d2e756851f6cea8e808c8 + pristine_git_object: 8724358deb639c5453dbf9cbcabfb69b7a543f67 docs/models/chatcompletionmessagefunctiontoolcallparam.md: id: df5941860ac6 - last_write_checksum: sha1:ee2ef739051c56afeff00ee6f6c60d5bb466541f - pristine_git_object: 5aa50190f9e8586e682bb94f628eaffff6749fc5 + last_write_checksum: sha1:e78b3494d5556fce811f88f69252a31eb757a1e3 + pristine_git_object: e7b07778497278b16fffc4855e62c49cdffda253 docs/models/chatcompletionmessagetoolcall.md: id: 1f89cd3acd26 last_write_checksum: sha1:67208ed2deeaeffa17195a16e055fb0775d66110 pristine_git_object: c28f3179f096db134a8ec4bb436b233350f57dad docs/models/chatcompletionnamedtoolchoicecustomparam.md: id: 84531c282b97 - last_write_checksum: sha1:6e928bfafd87402a3e97880d04fca4f4bcb83351 - pristine_git_object: c3877acc7b44f58b0990e86fb58c4a32abcc1113 + last_write_checksum: sha1:1c80d837dd3e5b869286e1349e2de5e90b544539 + pristine_git_object: 2c2d8ec56057fe4667c3271bae6f514d8c395c28 docs/models/chatcompletionnamedtoolchoiceparam.md: id: 549a2b573300 - last_write_checksum: sha1:9f5932d83fb5b59746476f1737a3825153f52408 - pristine_git_object: d98357fa039ef976b6a2cd6b009c8b320bce622c + last_write_checksum: sha1:3b60664e4ef6e477f26e269698771e0a65878432 + pristine_git_object: 60c71ee6133e31d62084f67393effa0180359835 docs/models/chatcompletionnonstreaming.md: id: 624dd746fb75 - last_write_checksum: sha1:c1ac084a2f95b02ce98c62358ab6d056ef710eb6 - pristine_git_object: f9909b6fd0576ebb4d3fef8f743c5a389d57ced0 + last_write_checksum: sha1:df6bc08d133957af57d17a2894b1597008bf5f96 + pristine_git_object: db5a338df627a851754a72e9d2eb09165afd308f docs/models/chatcompletionnonstreamingfunctioncallenum.md: id: bbf7f75f7499 last_write_checksum: sha1:0e474645fd98741c94aed0626df669189424a252 @@ -242,10 +242,14 @@ trackedFiles: id: 5a63d9f4a4b6 last_write_checksum: sha1:180739d6fbe0ff4e068042bfc5b4a854fe3a111e pristine_git_object: fca507258a5d733ddb7eda66a8efa85dce0ec15e + docs/models/chatcompletionnonstreamingpromptcacheretention.md: + id: 7e4b3971cdd5 + last_write_checksum: sha1:06637d494f1157548f95e0e6fbeff91f4d625d85 + pristine_git_object: 2682e292efc3b8c9fb0d336dec94666dc6e512a0 docs/models/chatcompletionnonstreamingreasoningeffort.md: id: aecbe7b4f62e - last_write_checksum: sha1:ad62e90bebc30a51ac6477e2ca54d33b136ae511 - pristine_git_object: 96506ba80abc6d5cc46cd0880f59cfea157d62af + last_write_checksum: sha1:881e2b46fe247b2601efaa989eff8261d234bb89 + pristine_git_object: f6ab9cf49dfc4aa55976db928ef0572b07b12ed6 docs/models/chatcompletionnonstreamingresponseformat.md: id: 2a745e49bd9b last_write_checksum: sha1:801621e2f36749a46859d7a6d9fd28054447a48f @@ -276,8 +280,8 @@ trackedFiles: pristine_git_object: f1c50cc34a73619f57664167f07a711cf7878403 docs/models/chatcompletionpredictioncontentparam.md: id: 7f0b8f8ef9d1 - last_write_checksum: sha1:fe1b53931b6f2ba8f57fc096df092754d11944c6 - pristine_git_object: 3ff3198909280f263ae193e71e33cd302b7b79ba + last_write_checksum: sha1:b428154b2c777d1c7d93d470e88417aedfe7b21e + pristine_git_object: f4ec39876e754139db111c5006a0e9d25c1fd2db docs/models/chatcompletionpredictioncontentparamcontent.md: id: 30af0a556b3b last_write_checksum: sha1:b4374bdefe0ca5f7968f437cea6a5ccc7b024696 @@ -288,8 +292,8 @@ trackedFiles: pristine_git_object: 9448b553b6f343bb1793b9b42df09ae979f5fe9c docs/models/chatcompletionstreaming.md: id: ceff166241d9 - last_write_checksum: sha1:26305607feb9b265f4678fc53886acf066cab7c5 - pristine_git_object: 0227faf57da5f61017a4d221d891f66d9f7af0c8 + last_write_checksum: sha1:12a721b8746e27e60bfb1d0331f0008674cc6260 + pristine_git_object: 8878f63d5bf681451a350facb7893df6608bb24f docs/models/chatcompletionstreamingfunctioncallenum.md: id: e39de79e4953 last_write_checksum: sha1:ae16805ea428636bc6e66ebc7cb192106aeb015a @@ -306,10 +310,14 @@ trackedFiles: id: 25a54c2e4907 last_write_checksum: sha1:420f15feae4378d19458b9894e5459272120ea2b pristine_git_object: 774defab741421512df5ef8f9e61651d5316ff13 + docs/models/chatcompletionstreamingpromptcacheretention.md: + id: fedd2efbeb48 + last_write_checksum: sha1:bad9fcddc61ef25b993953c0091e273f3ae9c347 + pristine_git_object: 985f6b0be23f1332d30fbbcbcf40da67cefd4428 docs/models/chatcompletionstreamingreasoningeffort.md: id: 5c0a27f2ce8f - last_write_checksum: sha1:47848ec59be1ada7b387181a2c9048c7ccede5b0 - pristine_git_object: d913d8bc75bb7916b539db763f5c04b976d1208a + last_write_checksum: sha1:140ab6d5fd53a540282fbf70addbe45d3cb3cc2c + pristine_git_object: 21e663aab7a243e2aa6cdacc378435859d6f41b1 docs/models/chatcompletionstreamingresponseformat.md: id: 3a17547cbb6d last_write_checksum: sha1:69abdb4245f8bbe9d40b330d4214479f0e5e318c @@ -340,12 +348,12 @@ trackedFiles: pristine_git_object: bda551b2643935f44876a6201044bb5aaa716e44 docs/models/chatcompletionstreamoptionsparam.md: id: c1d2378c8a7e - last_write_checksum: sha1:f6eaf0e615c27eadae1986fecaf1e7b75cea842a - pristine_git_object: 38ccec431b3d951c81219b9926c6e013b07b7c81 + last_write_checksum: sha1:745cc337568ff50983a92fcb33880ec535993897 + pristine_git_object: ba375a661b4a9f3a2bf0ddee45ae3ba4c7d113ff docs/models/chatcompletionsystemmessageparam.md: id: 814d93e2fd52 - last_write_checksum: sha1:6c2243072a3887ec0d30a5a8e2278891e07fbb0c - pristine_git_object: d0e43a17cf361e61132dfda9eff32d498702dbd5 + last_write_checksum: sha1:d16e97c287ce8ea4e124e2c5fe697ccdf8692096 + pristine_git_object: 05ca2e43b917e65b2640e52c8d1a9fb7dabae33f docs/models/chatcompletionsystemmessageparamcontent.md: id: 6492cc968c4e last_write_checksum: sha1:7045bfe1c255df6348d6b6146820e7de251414f9 @@ -364,8 +372,8 @@ trackedFiles: pristine_git_object: a83217b9f4043382f0616d24046962aa9e427a93 docs/models/chatcompletionusermessageparam.md: id: c3841976f1cd - last_write_checksum: sha1:b9387fa653cb32c35383cf58798c5bc9bea8951b - pristine_git_object: cd77728422e7231c0d280ec8a13b659842028128 + last_write_checksum: sha1:c2325e8a4fc0aa1133794cb7a57de2893583e444 + pristine_git_object: 28f7aaebe2a6de2354e9aa69cde76a90d1169411 docs/models/chatcompletionusermessageparamcontent1.md: id: 9f902bc8a6ed last_write_checksum: sha1:11073d584839f8a14051d72eba6233bac7bfc9c4 @@ -376,20 +384,20 @@ trackedFiles: pristine_git_object: c4fecb8196a26780381df1d2bbba64308edc0051 docs/models/choice.md: id: 7ccf99e7bcf5 - last_write_checksum: sha1:e01523fd33cb80dd3ee013ee01ed0b7912ac9b7a - pristine_git_object: 8c3f0c55f05ac12f8f821a3606da04f3defe3cbe + last_write_checksum: sha1:e2049ea1bc060c5575304eff0574dff0661ad155 + pristine_git_object: 1f6688102b688c509c1feacbfcfd206668881c5a docs/models/choicelogprobs.md: id: e1ec608a588b - last_write_checksum: sha1:25deba25ac1dfd33646040730010a751897401de - pristine_git_object: 311d9d701e0886e135fce7d8d2521c5ea5a84ec2 + last_write_checksum: sha1:327a1529da7477020d38563e950e26b2f125f2c3 + pristine_git_object: ebb611d8e2816fdeb4ced624cf4fbe67a5512489 docs/models/completiontokensdetails.md: id: 72beafa9a4c8 - last_write_checksum: sha1:c98d611efc94301c3f932daad2d2f6255ebbcef0 - pristine_git_object: da95ad701bfd0bd4fb3d3faf26f2fe9bf5c77ee2 + last_write_checksum: sha1:55d66e3e59ea75fdb74c269f5ff90bee656804d8 + pristine_git_object: dc48c65e7a88c97c31bdf48f5dc129efced94eb4 docs/models/completionusage.md: id: 930ebf17acf4 - last_write_checksum: sha1:fc790cd5c2c3745da9ad54deada35b8cd864ee24 - pristine_git_object: 32e14a4ab846c671e3745916e7556724af1b0883 + last_write_checksum: sha1:ecf22d4ab1f292e3c778aa981254cd16f21af174 + pristine_git_object: 1d434571bf3623f85b047ff7e59e781c31e99ffd docs/models/createdatasetentryrequest.md: id: c134b1731b1f last_write_checksum: sha1:1273eb6bb273946c486c956317daddef9e3d00d3 @@ -400,20 +408,20 @@ trackedFiles: pristine_git_object: a11ce844eef9a021e94be162e5454ba67253245d docs/models/createembeddingrequest.md: id: 99ae9a3108fb - last_write_checksum: sha1:d234380fc5dfc0f3d7165a56a6af63d16b192e5f - pristine_git_object: fe86d8c6ec7b407849afc93122baabbc7a6ed4f9 + last_write_checksum: sha1:c68436ba9dc02dcdfcfd3f3795025cd2ec9404d0 + pristine_git_object: ae00ff92687f3be6455ddd5d5b7be54bd5181e56 docs/models/createembeddingresponse.md: id: 73a3c0377574 last_write_checksum: sha1:652ea74624c2c058df0073c366c8e4510d677d27 pristine_git_object: 1e89ac974ad180d724a88c07954a4c07a3fdf57e docs/models/createfunctionrequest.md: id: 17f5e233f96e - last_write_checksum: sha1:20b2c897c188fcc7d60d95a4124ee069f9c0120b - pristine_git_object: 46ce1b5994acc5eff08f79eb537819b429861988 + last_write_checksum: sha1:642483acd05156198270d5dcf21465a387a4536b + pristine_git_object: d4f2364b966d10e69a0e64e2cd8ed0604a09ed4b docs/models/createfunctionresponse.md: id: 4778b1e0ba22 - last_write_checksum: sha1:c63f5d0b41f2718bf02199d48ce55cffed04bebc - pristine_git_object: 2ee7fc3e240ae63010f5bf4d62adc3a1b889251d + last_write_checksum: sha1:ad9cd83a98971e0d52adde9bd0bbd3d7653a0799 + pristine_git_object: 8a2df48e3eca81cc63f9a12987abdc19988673ef docs/models/createknowledgebaserequest.md: id: 38d1edfe105c last_write_checksum: sha1:d56bf8b90f7f76dac8eee8dbbf35a1889186c007 @@ -448,20 +456,20 @@ trackedFiles: pristine_git_object: 2f35a8af0bfd96b8f7c141298a775eb60c4b94c2 docs/models/customformatgrammar.md: id: 30681ed71a99 - last_write_checksum: sha1:cc92425ca869a73e384ef9fd9dd94d271e5ff9ed - pristine_git_object: 16dfeff413c5bd612246cd5a6d201a066308e1bb + last_write_checksum: sha1:17eddef20da5982acab82ba4afcf31bd1b129ea4 + pristine_git_object: 1ca0670cc2cec0bc9bae557a352ec1b5a943d5c1 docs/models/customformatgrammargrammar.md: id: b17337b48814 - last_write_checksum: sha1:f9293e6ed8d9afe1820e99e6e0e6df4edd1e5345 - pristine_git_object: cfe38aaecbde5ff3edb86c27118d8d13186acdca + last_write_checksum: sha1:5cbe99787f9084354bdc65b70d15e3c38fdd6798 + pristine_git_object: 8a1d5fe9ce6eb75bc0800dcb96325d5e77aa10ec docs/models/customformattext.md: id: 98a8bd96a4f8 - last_write_checksum: sha1:6605ccaf1be1d3852cf148aead24fd725d95741c - pristine_git_object: f9b592bde2a88ffc7f8ac2678927a9f2a9108e85 + last_write_checksum: sha1:1f57a67b7f02f3ba5e01b8b957d77af203d6b4ac + pristine_git_object: 31439ae4afb25c15ebe0807f56761f50b0278c88 docs/models/customoutput.md: id: 25722fc766e6 - last_write_checksum: sha1:df170c925b4ecfd5a5be4529aa12b969094f4c85 - pristine_git_object: 461bcbe53391bab15c3c316ff3a2ddc97fd79684 + last_write_checksum: sha1:c00cd84fd8a273500c8d1d8067e9764b2b8e3b29 + pristine_git_object: eaa25b76d7219b9e252311cebc7446b86602bd30 docs/models/deleteknowledgebaserequest.md: id: b5d4f9004c57 last_write_checksum: sha1:cabcb4f9b6d762d75c724e034241b64d770b37bc @@ -474,6 +482,10 @@ trackedFiles: id: bfd4e327e742 last_write_checksum: sha1:530f23623b35a313253293781fa505d964f443e6 pristine_git_object: 8b4218ddb236671c0d75d05fd2c5557ad34f9775 + docs/models/doclingocrextra.md: + id: a4e41b16c610 + last_write_checksum: sha1:20e8e5019f0f4407c8d75cc0346eee634c00db16 + pristine_git_object: d57c5cc5dc6472dd5b49ab8e1eb82e16c99f3cab docs/models/documentsegment.md: id: 93e3b3eb878f last_write_checksum: sha1:e169b11d7818eacf410e07477a003ae18a40eccd @@ -524,8 +536,8 @@ trackedFiles: pristine_git_object: 71ac224dd304bcb236eafa9c92fd767e6abff4eb docs/models/filet.md: id: a3e5d1b56bb6 - last_write_checksum: sha1:3d50897d88d33f200c469cb6b00732428504bd28 - pristine_git_object: 4cbe3e44928be759af1cf9e4b73b6c22448568d0 + last_write_checksum: sha1:557bba50385941c5fd953af644c40bc195839270 + pristine_git_object: ae92489fda35adc5d06d2c4728527eb406b31238 docs/models/filter.md: id: b5c476e3dfbc last_write_checksum: sha1:f0ba09f0f4ab4c8e0eaab0e10d5201e409874bcb @@ -548,24 +560,28 @@ trackedFiles: pristine_git_object: dc51c731e16a12cea47e5236c9b82850e695c9a4 docs/models/functioncallinput.md: id: 4691d850186c - last_write_checksum: sha1:9aa729a8a7e00710ffe12b57502154192741dec7 - pristine_git_object: bc0c33f6764fe2ef25eff03130d93c2b554c04d8 + last_write_checksum: sha1:5aa947064bad09d91d8a6444a858be701e3d7f92 + pristine_git_object: 8b3e9f11e12fb4a65bfdfe92e8df626be13751f7 docs/models/functioncalloutput.md: id: 924916e779e8 - last_write_checksum: sha1:2d362039fcdbb0bc54bd6abec305d4469116c7ee - pristine_git_object: 5ca4368fdd93b7401ef3db5cc4a3e263d92faf17 + last_write_checksum: sha1:1387de1097930bfbebd44b4fa88507c865162e4d + pristine_git_object: 3afb3b4e4e40e36e68245d169004b2e102957ca2 + docs/models/functionconfigresponse.md: + id: ae1a57fbd6ae + last_write_checksum: sha1:334914552581756774b83027845edacdccd46bf3 + pristine_git_object: b221e4bed18b4490ec8b56f7c8cdf141a085d736 docs/models/functiondefinition.md: id: ad3367fb72da last_write_checksum: sha1:52f9e3284180d77b43c246c704047534ba2d180c pristine_git_object: e06b6fa1086389e521382c74e4bee68f328d5206 docs/models/functionoutput.md: id: d9a009ccdb40 - last_write_checksum: sha1:2c4f96b7c910978e90c9c87f299fdf8f5130c87c - pristine_git_object: 4ecdedb4800f5c1392163405f1f55e984186edfd + last_write_checksum: sha1:5c002a11d0442d2810acacec485692fcf3822ce0 + pristine_git_object: 73e133248d65a71116623ab6ca0ee902b970565b docs/models/getcustommodelresponse.md: id: 387b880f5c2a - last_write_checksum: sha1:7ea81cfd97718465747d95c410ebf5ea0970bb89 - pristine_git_object: 3d71d984ddfdeba0b44ac8c06673371440558092 + last_write_checksum: sha1:627191aa02c7ec8a4f170fd0e9e872977b446092 + pristine_git_object: 71cea8c0384d9d30379670ed8165eb0fdd8c9ea1 docs/models/getdatasetentriesresponse.md: id: 417801b8b763 last_write_checksum: sha1:ba69de03eef37cac8ceeb34568014df73cc07aaf @@ -580,8 +596,8 @@ trackedFiles: pristine_git_object: 06c8fc2037afab51b9a54b83b64ccc3608e7816d docs/models/getfunctionresponse.md: id: 10cc62e022f7 - last_write_checksum: sha1:b77a266d46fd9d3f0ee3e45b3872354ec3028b1f - pristine_git_object: 02326a83b26a6bb9b1da65dc5ba1d4f1e11aa5f3 + last_write_checksum: sha1:fb06255583621664621c07b5227341b4f67b9417 + pristine_git_object: 650b3abf1cba82dccf0557da65c857ce0291101a docs/models/getknowledgebaseresponse.md: id: 37a25ffdd460 last_write_checksum: sha1:f7efcf7eaaad19585534e472c60fbe9c8056bd09 @@ -600,8 +616,8 @@ trackedFiles: pristine_git_object: 8b33338646f31bb2bef16baba02245bc9c9a51f9 docs/models/gettraceresponse.md: id: 0479ab4aabd9 - last_write_checksum: sha1:d6503709d40a14e741048486afe6f1bca6e4baa7 - pristine_git_object: 8cbe0d7b68b5b223bd6fe298ac0140bfd80827c6 + last_write_checksum: sha1:b7c1e150569e7f3edd8f164bcd67f0a3c3f9391e + pristine_git_object: b4fa1677f844c06f839a6911e52e882329c521e9 docs/models/getuploadurlresponse.md: id: 24b8eef8ba0a last_write_checksum: sha1:136fa360cc4bc05212dd744aae5c4e388db15d6f @@ -620,8 +636,8 @@ trackedFiles: pristine_git_object: 1fd4fcf2071ab7c78ef13d1ce8953cf888ed1d8e docs/models/input.md: id: 5cbc446a3956 - last_write_checksum: sha1:5e7b69efdd322a3808f933c06f698d0289269513 - pristine_git_object: c73264481890bf7ad5220296da71cb666195d5d1 + last_write_checksum: sha1:3f36c4796fe8b3b67eaab6b9c9cafa41c5f3e3d6 + pristine_git_object: c5b0cb4c0e55539d8dd9349ba4bf47b46511eec2 docs/models/inputaudio.md: id: cf8d2935b1e7 last_write_checksum: sha1:efaaf4f285b8164a2a3e5e07eda51701af60b1b8 @@ -632,16 +648,16 @@ trackedFiles: pristine_git_object: 8f4be0ec1080259bd5f365b36fbab400d30f48e4 docs/models/jsonpayload.md: id: aee262eb3554 - last_write_checksum: sha1:a0068cc3b68f763ae7eaaf2c34229a8d8d6daaf3 - pristine_git_object: 88bb7e79a21fc65823af0e6d25bfc356c9e22e63 + last_write_checksum: sha1:c8b33df0f0e64ea0d0cdee237d1320ea6f9b5b17 + pristine_git_object: bf534e13d0ca499e0f5d72eef6dc4d8b78809cdc docs/models/jsonschema.md: id: a6b15ed6fac8 - last_write_checksum: sha1:20051409db5a492d3b2468e8254aa691cbcf2fb1 - pristine_git_object: b4a1e57694b8da578afbb30b4767e4eb21e01307 + last_write_checksum: sha1:270cc12a4f436a7d943e8f8eb3c1a8979f9801c1 + pristine_git_object: fd1b60dc774d141564fb0d4594bea7e73b04a165 docs/models/listcustommodelsresponseitem.md: id: 35c270b9763b - last_write_checksum: sha1:226faacee420f68c09bcafe6bf92bc8c588a24a4 - pristine_git_object: 49b6f75749c647901694edd32fc1009bc660c58d + last_write_checksum: sha1:ae11fb8a3a9bf1fce056c413135b9176e7728d67 + pristine_git_object: dc1109268179c4975778e4df149c9fe5c959f0c1 docs/models/listfilesresponse.md: id: b15df90d2d59 last_write_checksum: sha1:fa34bc4e7d358a9cb17da97ddbee2e0b13482e7c @@ -652,8 +668,8 @@ trackedFiles: pristine_git_object: 6c62702a3bbe19a26dfe0f468360ee40d6fa687c docs/models/listfunctionsresponseitem.md: id: 924f5235d957 - last_write_checksum: sha1:7032ff57c4517e8bc8165e1f47265fb84d06724d - pristine_git_object: 123df8e389af0c987070b286fcd6435f9a891bac + last_write_checksum: sha1:02b62e34290822d952ded0c296b13f922f7e5650 + pristine_git_object: 7afe0696aac330ca9221cb0568faf3c4f56ad7da docs/models/listknowledgebasesresponse.md: id: 6a43a5968963 last_write_checksum: sha1:503081bd695cf12a2b19bf1b550dae3c901b4e36 @@ -680,8 +696,8 @@ trackedFiles: pristine_git_object: 1e6eedb783da8edd2e36504bea554a7eb190aecf docs/models/listtracesresponse.md: id: f54f6c7c6d3d - last_write_checksum: sha1:fe78fc0132d9d0f5ce99373cdbbeded5794e7247 - pristine_git_object: e4c7d56a32c50693132000fecac6571ab930ace4 + last_write_checksum: sha1:b2c613923311b190dc323daf60b756467903074d + pristine_git_object: c7db3ec1fa723734cb078f04c8aa84dd71281214 docs/models/meta.md: id: b5731935642a last_write_checksum: sha1:0d040b0e04fab41bac8e345559a1bcfaa8949d0c @@ -710,42 +726,46 @@ trackedFiles: id: b3429f9883f5 last_write_checksum: sha1:34fbf4536064bc324cba6e3de5432b7312fbbe00 pristine_git_object: d8071c3181925b36f3cc81d3fc1a295d51963af7 + docs/models/ocrpageelement.md: + id: 12788807e5e0 + last_write_checksum: sha1:d2b06a142cd7f6a4478ea63506f17bb21792683a + pristine_git_object: 36287ac29c2226b5d0fd042b2ac555e5c2823c10 docs/models/ocrpageimage.md: id: 0e23c535060d last_write_checksum: sha1:bd527388928dcad0a2c9cbb9e1516e2d3b371784 pristine_git_object: a37f5ba69bbe551901f76436fa7570998039b70b docs/models/ocrpageresult.md: id: 5f26c00f7101 - last_write_checksum: sha1:5f72e15eb515ddee93fd7b14ee830af0b1ecb14d - pristine_git_object: f21051578619895862d8a92942ff0cb1c70def28 + last_write_checksum: sha1:4909d64d4b76b6c015a5059fc6658c0318a0bd62 + pristine_git_object: 4f334641f7116cbc7ce22cef068d043a4c1c8a15 docs/models/ocrrequestmodel.md: id: d5e1f08c2819 - last_write_checksum: sha1:ddb3f0002cd3da3390315292de708ef6d4e3351c - pristine_git_object: b4583ee68e96238ee9e4e0058ee3d94cc742be21 + last_write_checksum: sha1:e1a076402606b2e53aea4bf67f3eab6b18439bca + pristine_git_object: 3be9625fe576985101f4b40320f92feb4d73031b docs/models/ocrresponsemodel.md: id: 9c6ebe982706 last_write_checksum: sha1:9b0652010739594b0982a05d7af89e542f7235dc pristine_git_object: 8f168281458be66c116d02e406c0e40e8728e31a docs/models/ocrusageinfo.md: id: 419abbb8353a - last_write_checksum: sha1:b07a403a02bd3b588a4aa54637a094d1ba404cdb - pristine_git_object: ac64d22f326e8095da4b7a5047203eba0816adaa + last_write_checksum: sha1:acf29e7c1d840e3ca550d3b38c2016a19a41a5f8 + pristine_git_object: ebadb70626d3137090f75e3bd5992f205725f3e7 docs/models/op.md: id: 4f953e6b890f last_write_checksum: sha1:7b7054f7f873625787643621bac592bdd223c39e pristine_git_object: edcdf2f3555b02461e52243f7d0abb934434a8f7 docs/models/openaitypeschatchatcompletioncustomtoolparamcustom.md: id: 1de782f78209 - last_write_checksum: sha1:30b11473374baf29f4fe74b5f928e0a77a01479f - pristine_git_object: bb0f89007e361677dfff708ad9994a0912a93c5b + last_write_checksum: sha1:80c3518ec47e7312ba3088b0680f72ab26a5187f + pristine_git_object: 4c0feafaac2187b2f5fb8ca63647daad8745b40c docs/models/openaitypeschatchatcompletionmessagecustomtoolcallparamcustom.md: id: 410a88ff8ffb - last_write_checksum: sha1:f52e20f314b55b323a8ad6219793869a35366d3e - pristine_git_object: b8326b43ad391c1357359d4811247e655bd51c86 + last_write_checksum: sha1:9f318073cebec027d16dee2a077b3cbfa0bd47fe + pristine_git_object: 553c61291d0fba2ec56ff256387009c6cce0d804 docs/models/openaitypeschatchatcompletionmessagefunctiontoolcallparamfunction.md: id: e4ecba7535af - last_write_checksum: sha1:629b824364bec1bbfd8101d8dddfcc2eda07a982 - pristine_git_object: 0f16b4b9c42ee1362ebd3485eb4d97c47279fa9e + last_write_checksum: sha1:bb34eb6ceb93cf337c10b784cea0e30ab96fdfcf + pristine_git_object: 4756210a729b576a0bbf74b8bff4c1da8f58af85 docs/models/openaitypeschatchatcompletionnamedtoolchoicecustomparamcustom.md: id: a49a4f65e52d last_write_checksum: sha1:e82c0f9536b0c06ce4194e7bc4038cfde28be32a @@ -816,8 +836,8 @@ trackedFiles: pristine_git_object: b7b8ffa8cf18103974a987cae5ea76f281d22ef4 docs/models/operations/delta.md: id: f7eb7cd6d812 - last_write_checksum: sha1:12a41ef89844cf8428555cbbf1eb45de354e7936 - pristine_git_object: c60cf6c3d9a5d8f63c11bccac122a7904a23ec48 + last_write_checksum: sha1:0a17d39e88bac60d3858b2fef4e0ffc6d7f00201 + pristine_git_object: b7352e286aa8cf5bd546ac598d9d5be6cf39bffb docs/models/operations/functionstreamcallstreampostresponse.md: id: 3f8e26f8f20d last_write_checksum: sha1:0a093a2c741a2bcc2970add003ad2167dc490b8c @@ -854,6 +874,10 @@ trackedFiles: id: fe5014d09f56 last_write_checksum: sha1:1fc1045524680bbe23bfe1de7657e28694cde98c pristine_git_object: 2f2af637156794d01ce6696743d2c8646328a31f + docs/models/operations/getfunctionconfigfunctionsfunctionidconfiggetrequest.md: + id: 237b00f6b593 + last_write_checksum: sha1:137c9dc7af50dc61d40ed506267453ee82ddd513 + pristine_git_object: b1eb89b71854b66c6bfc5b3c998d3f5e848c8ec0 docs/models/operations/getfunctionfunctionsfunctionidgetrequest.md: id: b6178568b761 last_write_checksum: sha1:1f6388228aad177a284d4ca413e6baf72a656f33 @@ -908,8 +932,8 @@ trackedFiles: pristine_git_object: 91112252b9eedbe03e38e73e318ca200245d7fd5 docs/models/operations/listfunctionsfunctionsgetrequest.md: id: a6f850a2717a - last_write_checksum: sha1:e4ef79a4c0309b347ed54c1b4742dea21245e927 - pristine_git_object: 13dca7c7996f82dd3ea086c5dd6274c0a3fc2168 + last_write_checksum: sha1:8ed5f2f6d6c500f2a8ac11d422f3a549753fe895 + pristine_git_object: 9bdf646bb8f107b9695b4ee5f4974cb042e18661 docs/models/operations/listknowledgebasesknowledgegetrequest.md: id: bafa6b15ae0a last_write_checksum: sha1:ff18856396cef1a3705024c4991f969ecd4ef90c @@ -934,6 +958,10 @@ trackedFiles: id: e295f9f27767 last_write_checksum: sha1:d9375e626b8629760d9f26eb636e964efbe83386 pristine_git_object: 6e4a0a29914f7ecea935afeced1ce888c447460f + docs/models/operations/putsteeringfunctionsfunctionidconfigsteeringputrequest.md: + id: b98c89e58bc3 + last_write_checksum: sha1:2a24ebabb1cf30f4dad127e0b9d359b97d1c0dc5 + pristine_git_object: 4739ae2ed119b84fb35e2841dde13d972ddada62 docs/models/operations/querydatasetentriesdatasetsdatasetidentriesquerypostrequest.md: id: a72d43681dd5 last_write_checksum: sha1:798a70d0c5d0847e0afe8b0376fafb1608f76c58 @@ -984,8 +1012,8 @@ trackedFiles: pristine_git_object: fb0c12d9f87a74bbd209eba6f68c008095e10994 docs/models/operations/streamingchunk.md: id: 43820fd4da37 - last_write_checksum: sha1:ce370dc8f1effaff9e128da3632529dcd992d157 - pristine_git_object: b6f84fa0754398f1a04dd719e5897c49f1ef50de + last_write_checksum: sha1:3fe6ef9c78b62e6a6dc0080284136291a02db55e + pristine_git_object: 5b5795b3b0af9331beabbf47879681e97b377aaa docs/models/operations/submitspanfeedbackspansspanidfeedbackpostrequest.md: id: fb2df8275897 last_write_checksum: sha1:41af4cf56499ff42a2998b25e8bf029f83fa937a @@ -1012,16 +1040,16 @@ trackedFiles: pristine_git_object: b91b7fbdba7b1d4a82692d7b29f9cd3f9f890170 docs/models/operations/updatespanspansspanidpatchrequest.md: id: 3807d912b962 - last_write_checksum: sha1:3832cb1143b4a8ea9dcb0809b032942d8e720def - pristine_git_object: 0da6d5c0bf13d7af9b4bb7603a9693bc60f33d61 + last_write_checksum: sha1:cbb012eeeb2767d38213da36905507a8aadf3f8a + pristine_git_object: 5c00ecec5d7aabfc5ce90bb3cdfe5b20562b9a1e docs/models/operations/uploadfileknowledgeknowledgebaseiduploadpostrequest.md: id: 660a4bf8bd1e last_write_checksum: sha1:d3db44f9870a08cad951ee61a78ef0c1f9d9f8b5 pristine_git_object: a69d1b9e03811d11c1d644db8460a99ca31b0417 docs/models/operations/usageanalyticsusagegetrequest.md: id: 43853db5aff3 - last_write_checksum: sha1:9551939ea8dffd42046720c2e73034c091546c43 - pristine_git_object: 9bae35d1aec4c272ba21b08cd3cd8b48089c6878 + last_write_checksum: sha1:ff1b15699e3fc50a59acbcf9a928ecf358fea83e + pristine_git_object: 63d08226f82eb7920df6acff448d4ffcfc2ba0e7 docs/models/paginatedresponsegetdatasetentriesresponse.md: id: f3d1e4810f8f last_write_checksum: sha1:bbb1d7e42f0d7be92b0c73e0600eef84e39ee230 @@ -1072,8 +1100,8 @@ trackedFiles: pristine_git_object: 916a3ae2d02911ce0d708b461d3032fadb900876 docs/models/prompttokensdetails.md: id: 1391892fce0a - last_write_checksum: sha1:2d6311e0e08a90137512da380b37c5f7be89aa32 - pristine_git_object: cefdd05280457cb17456e73bb99976d1c1a4d18f + last_write_checksum: sha1:a04094a1fea87d74f0278e04a5e0a7f1cb2439c0 + pristine_git_object: 723d0fb8b633ad103af4316a0a044bee3715a237 docs/models/querydatasetentriesresponse.md: id: 05ce0dd5285d last_write_checksum: sha1:fd8c0aa7f67fdb9b6f24a34ed2f7fb35cb583bc0 @@ -1088,12 +1116,12 @@ trackedFiles: pristine_git_object: 08c0f984abd14a6eb1407e46cf6900d777834c9b docs/models/registercustommodelrequest.md: id: 47bf493498a1 - last_write_checksum: sha1:db0ef71acbacdce47e73975d591abb654fc4394b - pristine_git_object: bdad6e82c0f6c0971cf5a9276f41dcf1206d83ad + last_write_checksum: sha1:2b6495f65cb600f5ad7d5ea5d367e3f8a1b1fe37 + pristine_git_object: 4bd89ddf6e5991898bd363f6186e561c232f0741 docs/models/registercustommodelresponse.md: id: 171aa4c89a04 - last_write_checksum: sha1:dac9728dd43c797c5de6e14174e9a666eeaa7eb6 - pristine_git_object: 7adbbde1a42a1e632ad6210ede926b286189ca76 + last_write_checksum: sha1:b5a35f55d7d803be6b5018b3e712b725dd740d2d + pristine_git_object: feaff9df631fefad3ea8e345f32ba28cbb6c751b docs/models/registerfileuploadrequest.md: id: bb0ff9105db7 last_write_checksum: sha1:1dcb06fa676b38f75546a82e9539b348f6ba86fe @@ -1124,16 +1152,16 @@ trackedFiles: pristine_git_object: e2d15675ce4bdc929bdc68e3a6072e8cd586cd42 docs/models/responseformatjsonobject.md: id: 83559bf262cc - last_write_checksum: sha1:3abe8f3dbd0054e2a46280b92cfcc2d5b69ef615 - pristine_git_object: dfc925fe9e422057a56261328651fbd70c402fe4 + last_write_checksum: sha1:cd14a5578273127ef3b3d088133d6ddf1b3e139c + pristine_git_object: eb1624a84698df14bf445a45d825f779a2e6fd55 docs/models/responseformatjsonschema.md: id: 3a7c34c63fa5 - last_write_checksum: sha1:77f15d97af01270d0af0b3cfc88e15a4ebd3f3a6 - pristine_git_object: 3665d7fdb031189a82fa04b5a3c14b1f01346ddf + last_write_checksum: sha1:8652765f3bbd153fc986918d8b7763c974b2ac30 + pristine_git_object: 5499077af5ae65bfe281c5642df4b8d9038630db docs/models/responseformattext.md: id: e80abf091260 - last_write_checksum: sha1:d4ca0b8c390da2e38e1dfb6976754ca696ab5aad - pristine_git_object: 2d35bbb0f64ed43496b1c8b6eb29890f8463ada0 + last_write_checksum: sha1:754a4847782d2044b087519e86a281c79d06bc5d + pristine_git_object: bdcc515606fd0a224d7af28acc2eb787d417ba5b docs/models/savetodatasetresponse.md: id: 2f5ea3c90a84 last_write_checksum: sha1:79ef8bb26d4a0a0b7658973f0072d015434f0aee @@ -1152,16 +1180,20 @@ trackedFiles: pristine_git_object: fed0468d1f5e87d44e047257649e5624c7e89a95 docs/models/spanmetricdata.md: id: 4d20ea29d518 - last_write_checksum: sha1:fc2a528f59fb437864689b3f191b0da9d38ef34d - pristine_git_object: 53683d146592ec64982deb7383dcf785a74f86cf + last_write_checksum: sha1:77bf07eb52d90df58db9cd6e5fe219d4bbbc4ac9 + pristine_git_object: 63870e7c98f04ff88c42165520ca1c2215be4a32 docs/models/spanschema.md: id: 012f0324df98 - last_write_checksum: sha1:0d23e37874ff215df75051e12a40ab1ed1396401 - pristine_git_object: 3e09a16b30bd29c4810657b1cdc49f81ce3bbd94 + last_write_checksum: sha1:8d4eb60eef629a7ee5ca8c938468ba4d03dbb8a3 + pristine_git_object: 6faf85c0af69c185cee5f8179fc25cbda96662b1 + docs/models/steeringconfig.md: + id: 5c877f40ffe6 + last_write_checksum: sha1:e216f2acd11b73eb6e70c74a83101a5fc6ba97c6 + pristine_git_object: 84aa199f5e28d053bc57f4e2f0673dc8d08e294d docs/models/submitfeedbackrequest.md: id: 2a3d59a40ce1 - last_write_checksum: sha1:2fe61cff028054d0aba9da2ad191e9a1ab575f45 - pristine_git_object: aa031561bed555ba91415788459bf5ce87c36006 + last_write_checksum: sha1:2d9de7a4bbc776cc5cbf5c1023f9d3c94b81feaa + pristine_git_object: 0921aef00349f13cdd28248ab46123a28849a240 docs/models/submitfeedbackresponse.md: id: c1452e90e063 last_write_checksum: sha1:696e0727a8119c5eaad2647df3b07477b4e19b8f @@ -1192,8 +1224,8 @@ trackedFiles: pristine_git_object: 8147ae6c2e676133c4c5b202ba19914fa3639ff9 docs/models/updatecustommodelresponse.md: id: 57981f380bfa - last_write_checksum: sha1:fd60beec5508fb5f4d4fb51de65a0a385a482b41 - pristine_git_object: aacdbe697b7295147c2ae1ca2cd1562f669c4a5d + last_write_checksum: sha1:d41fcdbefc47f5f9bd85562b21586a287a8ff8d3 + pristine_git_object: 2ae39a1f7234d2ad31b1ca30af226bd050620947 docs/models/updatedatasetentryrequest.md: id: 1eb32690c7d9 last_write_checksum: sha1:e5d41f749546b4c6a3a28f6f28b469cfcbd7832b @@ -1204,12 +1236,12 @@ trackedFiles: pristine_git_object: ebceb76acbb8496b0c9934a5cc92d7bf01bb2361 docs/models/updatefunctionrequest.md: id: 90c80384e8df - last_write_checksum: sha1:cf4f86280681f2feabfa633708a817e06f75a0c7 - pristine_git_object: 40fbc8e8b4497ad893bcac4df91a19f8c1e08b72 + last_write_checksum: sha1:faab908ac54c6c651f9353a4683cf28bff4a31ba + pristine_git_object: 328e1f143fa8bddfc54204ec3b75867eb841bc04 docs/models/updatefunctionresponse.md: id: cbf47276a63c - last_write_checksum: sha1:ce88eb71d25b2d3b739589ca4d0cf890ac4badb4 - pristine_git_object: 3c9da6903349317c8231d4fc1c6640ead41a9afe + last_write_checksum: sha1:1c8b54399dc496b5baf1a12be4d390e8bfc0ad90 + pristine_git_object: 0859450e1106565c191f70c136a8d220fe5af1bf docs/models/updatemodelaliasrequest.md: id: d8fcc898a0f2 last_write_checksum: sha1:06b59c8e17eea14c5193b2e2b89a965a3a997b45 @@ -1228,8 +1260,8 @@ trackedFiles: pristine_git_object: 475ebf38d243b062fd2522c7848c7c5136d47ec0 docs/models/updatespanrequest.md: id: 0cc273f44164 - last_write_checksum: sha1:b19db8375d6f1b813bd81d5c810fdc29a64cc863 - pristine_git_object: f2a8f24129932c94124888a5c80a493c564823ec + last_write_checksum: sha1:0fa8dc5333a7c3dacf985c3f552210f52edb5f2c + pristine_git_object: 5ee2d4f779d9305e5d944513fb1f1310811c035f docs/models/updatespanresponse.md: id: 163e62c13f3d last_write_checksum: sha1:0f1aa3c4814eb509f0fa5f0ba8f6cb9e51542a76 @@ -1244,28 +1276,28 @@ trackedFiles: pristine_git_object: f65d35b31b21a815e5f64ef7c7d691616a73ed5e docs/models/value2.md: id: 4eceb26154e6 - last_write_checksum: sha1:a013299bcce3d7ed2a7806abc83ca5d827335b82 - pristine_git_object: 5922b98610d9999f3cabce4c2fe294df3cb76df0 + last_write_checksum: sha1:69ac57c059160b4ccc17a9f73cc84e54ccc0c2f1 + pristine_git_object: 21c866c85a52548aa7d03c95957b00f150817290 docs/models/voice.md: id: f73e25e55a5a - last_write_checksum: sha1:019a12acdca992e3e341f25396cd2ee66d72ac35 - pristine_git_object: c984de7214dea953a60d917d7b2d765e4445df67 + last_write_checksum: sha1:3973d1acb41e3f00be546f91ec368c552bbee3fe + pristine_git_object: 3432a25d23f33690d0ec31df9eacb9a7b96cd023 docs/models/voiceenum.md: id: d02cf0fcfde0 - last_write_checksum: sha1:6a374770186ee33b43f38f74a101d0f259743d69 - pristine_git_object: 4d65af285dbc583cb01e21330411f30cd30ed904 + last_write_checksum: sha1:a91ab6269998584fa66acdc860bc37a306ef6ca0 + pristine_git_object: 94bca1600de08e72f9f466d3c66ef5769e815817 docs/models/websearchoptions.md: id: 0302a3b16daf - last_write_checksum: sha1:a29a5f239347c74b8f45a9919975f7b99ef01b22 - pristine_git_object: a1af0edaa6a7585f1cbeb3acca5858c8011ee21e + last_write_checksum: sha1:96f0b94194757907930afc2d6ccc19de6cc1cb95 + pristine_git_object: 8a2d5e372e22d3c08754e41123570f5136f39571 docs/models/websearchoptionsuserlocation.md: id: 978bc53b300c - last_write_checksum: sha1:fd6e175a530a957093b367a17d24b122cd948c60 - pristine_git_object: 3839aa9e6fda7abd74e8c2fdd60ef0c960b00772 + last_write_checksum: sha1:6ad4eaaa5f4c1a030f6c79b3e6998306c5897841 + pristine_git_object: 5d6c03c42d33bc1e8e5cae2a6a4c246cd570d445 docs/models/websearchoptionsuserlocationapproximate.md: id: c66bd4d46038 - last_write_checksum: sha1:f099221c775fd2109556ac3639c7612c48fae8cf - pristine_git_object: 2daeee0ba3640083d1cadd900a168f7d3aa9f106 + last_write_checksum: sha1:03acc3bed99b3553ff1f170f520d4f31c060a277 + pristine_git_object: 5d8ac85c787de7da613ec7c2650279bb50d4e956 eslint.config.mjs: id: 461c8d07f6da last_write_checksum: sha1:9398f326377fe47f67af2df6eb6370750c0790b4 @@ -1284,288 +1316,296 @@ trackedFiles: pristine_git_object: fe49b0d036cb4737c253de7bdd79294bb45c2890 jsr.json: id: 7f6ab7767282 - last_write_checksum: sha1:a32844da90a797c5ecd7aedc7aca129389648baf - pristine_git_object: 029e1aba29ef99d1b6bc463c75dd5a67073e318f + last_write_checksum: sha1:87006d9e52311ca86d0f4fb322939e5bd6836065 + pristine_git_object: ef608e7bd40a4aef8ec425b34b23f8014c0fccf1 package.json: id: 7030d0b2f71b - last_write_checksum: sha1:5e9dc44d73656fa94a07bbd579d7258fd8613481 - pristine_git_object: dbe4d6769292c1dcc94898c4d5ced43ee83894ee + last_write_checksum: sha1:e808be3c32a1bab16df759bdeda6533bf0f5ae69 + pristine_git_object: 3c6513c6ea5b80c896ebaa2d921e7a7d2b578bbf src/core.ts: id: f431fdbcd144 last_write_checksum: sha1:7fe1d083a687c984082d7324a6c70efa04ac3019 pristine_git_object: defe2a4ee48225ac28b00a5956fad5d377b9c635 src/funcs/analyticsGetUsage.ts: id: ea496d360a53 - last_write_checksum: sha1:d95f5849c113190b7716f80ba15e6491c705e232 - pristine_git_object: 1b6c999e1fb3bf64003026e9d624ebaa7d9f2544 + last_write_checksum: sha1:f61d6c53f5079162ad64b19932b241eceaef5b62 + pristine_git_object: 142d1b49f7711df4f20df6a523c4c8e44ec23e4c src/funcs/call.ts: id: 4e1ce51400a7 - last_write_checksum: sha1:4d376fa7c3f8fd1256ef4916035a421afe5ca13e - pristine_git_object: 068898d82c97b65e58cb8c21e9f9dfb917eb4c92 + last_write_checksum: sha1:0fb515ce77cea8b3917a3d278db7b2e28bf19059 + pristine_git_object: a59cbe230c7f3f0b8e00d741d83c4a5624f2b763 src/funcs/datasetsCreateEntry.ts: id: 0f3184b43501 - last_write_checksum: sha1:b4e714c80a3f3ff5b6f10e398308053f6324bcb5 - pristine_git_object: 6eeb23aa67649f7b21a6eda019e15a2f7c050dc4 + last_write_checksum: sha1:9f197af3a93ae9ee79200647e357ed122207e794 + pristine_git_object: 5128ad2d1aaabf6a8a34695c8b365d1f0630901c src/funcs/datasetsDeleteEntry.ts: id: 38c944c9265a - last_write_checksum: sha1:e50887d230273fce1aa843f06b04936b74a188a9 - pristine_git_object: 1dba3dcb7fb24ac78584d829844266cbd57f0e62 + last_write_checksum: sha1:9ed1cb01f9d66ab9ae3b3853460406edb77dbee2 + pristine_git_object: 7e036067aeef9fea41f8a7b68f372a573f4971d6 src/funcs/datasetsEntriesUpdate.ts: id: 6a879cc7a961 - last_write_checksum: sha1:3c8bd966538beeec10263e10993bc1ec98a21231 - pristine_git_object: 2de3d489c64bf2e717083b7a990096a8740d6c3f + last_write_checksum: sha1:033c85de9fd6eacc84cd542064f02eaa4c9a9661 + pristine_git_object: fa04a19fe4bd3f08e17a9d243a91a6b0cb0880ca src/funcs/datasetsGetEntry.ts: id: 958948811b42 - last_write_checksum: sha1:e34a688938ea8d98bc8c00f303bba1d94e19e405 - pristine_git_object: 95d4ddca3d5c68e6194e993ca6c3e66e544d1106 + last_write_checksum: sha1:b97d4b59ecae477706b680906e0429a98c7dae0a + pristine_git_object: 6a393ecf01d31b42d36725ea179a4afa054c8493 src/funcs/datasetsListEntries.ts: id: dcb2c43c2578 - last_write_checksum: sha1:449bb5edbc5b8f165304d3e3c296009831332d8c - pristine_git_object: f228b5d72c1bfea2924b429234a77d24185d98b0 + last_write_checksum: sha1:9742af1e46fb881f5318024275da2d5d7b8ca2fc + pristine_git_object: 9f9afdc77018652e7651aacc83a4809c387e5fa8 src/funcs/datasetsQueryEntries.ts: id: d092ac3eba31 - last_write_checksum: sha1:c7406842c6fd4b33b09326be64cb9433c3a0fa2b - pristine_git_object: cd7e09617786beb0ec0f60899cb967730ce76d69 + last_write_checksum: sha1:48de9ad55bbaf227c9d1ef748a15280f611c5823 + pristine_git_object: 99b3efed8a35ff3bd57dc4e505008b8c0388e41a src/funcs/embeddingsCreate.ts: id: 565c0f1ab77f - last_write_checksum: sha1:eeab0953342f622edb60191d806b719996f36e0a - pristine_git_object: 3b63c19c4761dfe8c5ee625686c6d079d0d28a21 + last_write_checksum: sha1:0aab75b23cf4464e4014a62704bf9334d3d0232d + pristine_git_object: 7b2706a8df5432c5762ca563315a7213190f170a + src/funcs/functionConfigGetFunctionConfigFunctionsFunctionIdConfigGet.ts: + id: 866cd81e9f00 + last_write_checksum: sha1:d8e86a0b76ae29d778fc48493e5ed384d321e4cc + pristine_git_object: ee783eaaac51316be0047eae4e0ecce837eaf1ed + src/funcs/functionConfigPutSteeringFunctionsFunctionIdConfigSteeringPut.ts: + id: a5d19e920b89 + last_write_checksum: sha1:bdb61b1c6ad2d3a129758553c633788e18152b34 + pristine_git_object: 7d187218a8717706e184f11ea94a15c7b6e7e8a5 src/funcs/functionsCall.ts: id: b6629434e293 - last_write_checksum: sha1:fea43d3940547c5c77b85b89880c836e6403731a - pristine_git_object: 7e4d888fbf386b9cb0201d402d3a9492fb3b5bc0 + last_write_checksum: sha1:aa92d6a4c8cda21884133e1800b42b4ed485bcf8 + pristine_git_object: d6984963db0d92796f94e21abe29f3be7cd8e368 src/funcs/functionsCallRevision.ts: id: 796938f8e8aa - last_write_checksum: sha1:1e409d439de18183e3bb3f47d83796a19df9f6c3 - pristine_git_object: 64d2c5540c66df206d01f81c51b71c0e2467e35b + last_write_checksum: sha1:be5855ff62b52420227e6d4343f0b4b444ef85c0 + pristine_git_object: 57d360240c31ee8a871d15faaa58312e9bffa0a1 src/funcs/functionsCreate.ts: id: aef7bf511c25 - last_write_checksum: sha1:801c9b52ca76bbd84b95e02b64afa56cd467fa89 - pristine_git_object: 0a9b4659bdefaeeada4be432aeeee77f5e036f54 + last_write_checksum: sha1:c1732cc7daab0b128afc0db35b4cac1d484be425 + pristine_git_object: 6781bf4440ffc57fdc5d52659d8440a3c1a90237 src/funcs/functionsDelete.ts: id: 7d59caafadc9 - last_write_checksum: sha1:3281fe0a370eb6a48dbbccacabab8122ed2f07d5 - pristine_git_object: 5a2dc8d99ca6bc23116de095b4f70e8d2021b393 + last_write_checksum: sha1:8aaf430a992231cafdef9e53efea85f125080e5d + pristine_git_object: 48562fd893103263c06645e7bc004c8e93681a9b src/funcs/functionsGet.ts: id: 45e84e691244 - last_write_checksum: sha1:8c10babe1e4161c1fb1627b6c3562470e5843df2 - pristine_git_object: 739d3eac54ddffd8a37e3ed3e87992757546cae3 + last_write_checksum: sha1:3e1e205fcae006e8306cf83bf32328ba3b1e55e8 + pristine_git_object: fede9ca2d012fe26aad1470a9c93ce53f71184cb src/funcs/functionsGetByName.ts: id: 35f390daf859 - last_write_checksum: sha1:8929eca7ae8d9df2b2d49a4a3477937dae888004 - pristine_git_object: bb79f7dd99b289ea4c1cdd15cb5c8ff3fd363642 + last_write_checksum: sha1:9d5a82eee6cb6c185804df54a74c09c58adc4c32 + pristine_git_object: 268e7e8608c5f547bd1691972824730c49c43456 src/funcs/functionsGetByRevision.ts: id: 5494e18675b9 - last_write_checksum: sha1:d194f46e244da829cb10733ab36302b64b0c8d9f - pristine_git_object: c8c6129569a0a68ccc3448d38e12389d1f4e14c4 + last_write_checksum: sha1:b3467a7f9bd8011920d6df08b60114f477c10163 + pristine_git_object: 18d1db6a67cda519acb15d85d75265b7bf4b3cb3 src/funcs/functionsList.ts: id: c756e4f7f097 - last_write_checksum: sha1:d62757f68359a4f60cdb003bc06b25652eb0818e - pristine_git_object: 657ae9cc61f51fb1dd463674ab2eee6888a33603 + last_write_checksum: sha1:03ccd87b219bf52dfaab0e79ccdc7aa77fad92ae + pristine_git_object: 8a7364866631355fbf12691d0ecdb6b6e1fc9488 src/funcs/functionsRevisionsList.ts: id: 0a86ccdf2a80 - last_write_checksum: sha1:1afd05352aface53f55a7231bcec6992cd166ddc - pristine_git_object: 8efec923d95c2523856818b56431e6b32ac5f285 + last_write_checksum: sha1:1a4b608d66d00c86632f8bc467c9b66db0a953d9 + pristine_git_object: 10a85ba1cc665ec8c242594f70f0368a2f79de96 src/funcs/functionsStream.ts: id: c5f7f605a46f - last_write_checksum: sha1:d626a2c92dc4f6f12292f04eca94270ad03d60a4 - pristine_git_object: 369120fc42c5cedbc94a0fc8a2e9ebf3625ada23 + last_write_checksum: sha1:ff356c5cdf7f21c2356d689522cda8f310bc868e + pristine_git_object: 37a428f4072baa950dcbecc8fcfb284773cd0fa8 src/funcs/functionsStreamRevision.ts: id: b94430efa6b4 - last_write_checksum: sha1:edb1c7c577bd00b217b23112531b301432844158 - pristine_git_object: 97bce5b22ee37a09a129e0e30f15d3be11cfe44b + last_write_checksum: sha1:b8b74517be22c2b11b01423261297a0b3d2a4c46 + pristine_git_object: c61530a14280ac550221223e6e81bd36e2d9094c src/funcs/functionsUpdate.ts: id: ac35d35c28a7 - last_write_checksum: sha1:bf14adbdc8ea4a978bcd4f1a2441030187365dfc - pristine_git_object: 48e7ed257e6bc0e005db7cb2e0aa7440263131b5 + last_write_checksum: sha1:da9335f475b0fdc49a527b032919f2f475e6f7f3 + pristine_git_object: 724664dca76295b21ff75054cc36dddc951231a7 src/funcs/knowledgeAdd.ts: id: bb7e3e531650 - last_write_checksum: sha1:c90fce892b2044c0a2f2ca29826d58cf7d3f0fc3 - pristine_git_object: 2a509f81904860060768c4157882f3d3c30933a9 + last_write_checksum: sha1:880acedaa814feeae136700849852a986cd4fccd + pristine_git_object: f395bf056c9187df5e4f11bcfd0e20e6f0c2a7aa src/funcs/knowledgeCreate.ts: id: 58e60f0bb247 - last_write_checksum: sha1:6e69ddae5360f745ce3408ec4fe88993f7aa17f8 - pristine_git_object: e3f1ee8170ac771e8b48e21f4afcc8fe07bff640 + last_write_checksum: sha1:87d8f8fdf85533b9302b357da2fe8d7f308c31ae + pristine_git_object: 9cc02b01681b444bc3b86de751ccbd56af6c583c src/funcs/knowledgeDelete.ts: id: 2aafedb397e2 - last_write_checksum: sha1:c923c3b6b5bd91ba6df3565e719335e48b0d78cd - pristine_git_object: d1f8b8e4b2622e2816f1fa2de35beb8988d923f0 + last_write_checksum: sha1:5204cbacb0c8c3f0d267232de0194fc3c768a7a1 + pristine_git_object: 38654452ca3ee3af57a1e4dfffa7ec1fec7e1101 src/funcs/knowledgeDeleteDocuments.ts: id: ebdcf19be081 - last_write_checksum: sha1:fb268180ced6dca40226f5d0135e5bfddfffca55 - pristine_git_object: ae61edd9f446209dd8e057ff500e1551ccaf1be0 + last_write_checksum: sha1:836019404cd3366c3c04a13ef7d236d91242a331 + pristine_git_object: ea95a70476b000744e7ada709e2a01d424b807b2 src/funcs/knowledgeDeleteFile.ts: id: 0b36631cf931 - last_write_checksum: sha1:f7b799f50a173a860a4608ff915c249e4e695668 - pristine_git_object: 6cf25aa8d40256400e7d91a7ade915d559b5a547 + last_write_checksum: sha1:291a13cd5ef9a6bd2435f1abb54f962a61f041d0 + pristine_git_object: 9d0876ed4bc200e3e4918036476b96afccd9c76a src/funcs/knowledgeGet.ts: id: 7af06f2c3527 - last_write_checksum: sha1:d49e92a908ead66168d9144195f0d1fec75ad957 - pristine_git_object: f1879f9d865795232e613627e101b18e17d7c3a5 + last_write_checksum: sha1:7a022185e2badec3b3aa9db82148fe8e2d173874 + pristine_git_object: cd29e6f18506c808e8a63e855e61476144be35fc src/funcs/knowledgeGetByName.ts: id: 274e3dacbbde - last_write_checksum: sha1:0495e47c4384f41ea116454ae327fca33f1a0651 - pristine_git_object: 2cf64f312a15e5a8d12b163b3aa1bb50452c216e + last_write_checksum: sha1:374869e21643b2ed652f1c4c101ed536fa42718c + pristine_git_object: cf97d34e24d8ff9ca077fa59d98cb5cb1dbb4b6f src/funcs/knowledgeGetDocumentByKeyKnowledgeKnowledgeBaseIdDocumentsDocumentKeyGet.ts: id: ab1036dd18af - last_write_checksum: sha1:3216bed38f415ad9ed5c3468c42473c23fa8ec62 - pristine_git_object: ea07cc2ac90567dec8b9e73356a47fc87b8cb023 + last_write_checksum: sha1:11f69f88cc954bee705f374ef03cca14b1db8ee1 + pristine_git_object: b010c08dcfdfb695325bd89e67d03e9f5fd6948d src/funcs/knowledgeGetFileDownloadUrl.ts: id: 2b95f71bca74 - last_write_checksum: sha1:e519aa39d92588b42f8120a698e962ac6ca0e2f0 - pristine_git_object: ee124c255e011010c368a59cc55c69030c68a01b + last_write_checksum: sha1:0051ea71e5c53a65049cf3801db59e016500b768 + pristine_git_object: 27463cbb30926ddbbedf0812c8d8d2576d3f3099 src/funcs/knowledgeGetUploadUrl.ts: id: bfdad30610b1 - last_write_checksum: sha1:540cbd1fcce4f14f37a6c129ec350bcfb52f3afd - pristine_git_object: 206d1bdfe9343ca3d3223ba879c5e1407172918a + last_write_checksum: sha1:d8a6134b0ea31878914601d3199133eafc4dc5ee + pristine_git_object: 2a122866d3823dc9517516b1c6b9f48db7468706 src/funcs/knowledgeList.ts: id: 579fd9655fae - last_write_checksum: sha1:4c16986cafb6b29c77e29da5cefc30577d4f8b5a - pristine_git_object: 736a31fbc5318a68b42efb585b0c26a33de81c95 + last_write_checksum: sha1:a9cc1a2f79d4e662b2faa71013b210d8de8dc81e + pristine_git_object: f611b3ac02aecf94e7628b52bd884c1067cbe67c src/funcs/knowledgeListFiles.ts: id: 371bc777d137 - last_write_checksum: sha1:f26e283d854fed89c5cf6a60e47d84d1ea29eff9 - pristine_git_object: 2b5c4874f2fae2f6725bda726118bea14b478ff4 + last_write_checksum: sha1:54e409981557a17eea585a7a516796149356422b + pristine_git_object: cae227fbba54c7e6f704cf1ecdf0b6ee988e6821 src/funcs/knowledgeQuery.ts: id: 962945d13fb4 - last_write_checksum: sha1:5ea28b1ebd95e861f33f19cccc56f600ae75807c - pristine_git_object: 2a4466a845f17a4a66dc5f4470f13eaf1ad32c38 + last_write_checksum: sha1:381ab1834f5976d863e7a4948924f4728de844c9 + pristine_git_object: 845c46c5783894a7f5f5ec2d3fb091a8afc0f75f src/funcs/knowledgeRegisterFileUpload.ts: id: f15a488afd26 - last_write_checksum: sha1:c0dc2c8341c51b4017b07d6072f6d343d15fd136 - pristine_git_object: ab3289b15ae984a61486b8e16d2f0bf0800ce258 + last_write_checksum: sha1:3dba18f751534df5eb5e5526332b6e193a57fefe + pristine_git_object: b8a41fb4e720ffe3a1040b3c7f3232a561fcdfa1 src/funcs/knowledgeUploadFile.ts: id: 0e78211a137a - last_write_checksum: sha1:7cffd1840b6985bdf4ae4c5a4c133178aeca6946 - pristine_git_object: 2d48037d2a83e6780f59634bdcd543de28ecd640 + last_write_checksum: sha1:34c3c73a737d4282787887d6b637fdf06a30f7ea + pristine_git_object: 5059f0a054c49e5a868c7b46ba208fd75430bd1e src/funcs/languageModelsCreateAlias.ts: id: be051e1f22a2 - last_write_checksum: sha1:b1c397df1522a7d31e10a015ad7acfe7081f4741 - pristine_git_object: bb94eea98d48455da12227d74acfabae0c787d94 + last_write_checksum: sha1:79681a453779e0522c069dab071ca44d6cf167a9 + pristine_git_object: 73079abbca42fd034f2d740fa94b8adadc60c9c9 src/funcs/languageModelsDeleteAlias.ts: id: d1eb8e89a25c - last_write_checksum: sha1:e0d965e284b748054bb223064702b0c4d1a900e4 - pristine_git_object: ef8b2a7586e0ef3f283601da9c1f38c2440ac45d + last_write_checksum: sha1:ea578c6bab032a11e94ff72d498d08e13b110981 + pristine_git_object: 5def15b2828198080a7e2ad9db518cfb9ff8746a src/funcs/languageModelsDeleteCustom.ts: id: 7f5e1ca173d2 - last_write_checksum: sha1:fc9347319909fbcc7f2ee13314db975a5c1a0666 - pristine_git_object: 5e094be63b5bf1ebae5242f0d5a388721fc007ad + last_write_checksum: sha1:203ffb67b030ecc43a93da0e7b5dc7bcb11b8b83 + pristine_git_object: a7d448c8d1d32736b3ddb823c87d0d1a4a83f121 src/funcs/languageModelsGetAlias.ts: id: ccbbdf5cb1d3 - last_write_checksum: sha1:0fdc6bf860ca7c85026e3ac2df2e4eff4ea755dc - pristine_git_object: 2be46129bcce99473a49a80481132bdabfb0cb6b + last_write_checksum: sha1:bd29fdfac2d5f67fecece4a8fd6f8e40cf743dce + pristine_git_object: 049378995f43113f6c7bce41328242967b8f4a54 src/funcs/languageModelsGetAliasByName.ts: id: 78083ae700bc - last_write_checksum: sha1:bf40912d76c6cfe562ce43aed1a025dbea72eb78 - pristine_git_object: 078408469cfbbd65ac563cccb8e5cf630005d3d6 + last_write_checksum: sha1:4f11debd9be37fe008b3ef6754658eec2647b1cd + pristine_git_object: 05e706763b80533c6ef6411e1d61b5b72372a759 src/funcs/languageModelsGetCustom.ts: id: 574c99ab473f - last_write_checksum: sha1:36eb98657cbb6742b2ebd8bf0793dfda0ffb2de2 - pristine_git_object: 6fbf013a3f531d9e05d1f512fcd260d53a659682 + last_write_checksum: sha1:8a97c9a9a178894123ef04cbc3c93fd62eefcfc2 + pristine_git_object: 1a90bc49dfc6e79ec0a1eff433ebd10df0968653 src/funcs/languageModelsGetCustomByName.ts: id: 42cae9b7d804 - last_write_checksum: sha1:91fd852eae579389a1f13afed08ac1ba2d30a2f7 - pristine_git_object: 3ddf184fc96bf4bf5dd4136ab0973ddcd2d24228 + last_write_checksum: sha1:940a7bcb509ad910cb817736530402efc51f85b9 + pristine_git_object: 0171241d34d5328f676020452b860b978f328680 src/funcs/languageModelsList.ts: id: 1836f8309f59 - last_write_checksum: sha1:54ed9e4d4d01bc18a9cbd2571b66aa02c18a06ff - pristine_git_object: 1d9bbd6d1a7e1c5dd90431fb91622943b40781aa + last_write_checksum: sha1:50935cc8654232f4706c72aa86731bede9580696 + pristine_git_object: 2541c1f67560fed0c4c2d0d0ee74f9bf98c088df src/funcs/languageModelsListAliases.ts: id: 7ce82e1fe4f1 - last_write_checksum: sha1:32ae8c785eccb69a5019698be88ec2425b417164 - pristine_git_object: dae7b504388cf0e309eabb3f8be0b46522931edc + last_write_checksum: sha1:2ba2e2619bd346021b59dee6839ccb2f8bb6e1aa + pristine_git_object: abe0daccda36158207ebd2fcbc715953ef7519a0 src/funcs/languageModelsListCustom.ts: id: 3a5e3c45fb3d - last_write_checksum: sha1:94dd520d7248513ab92b79ce1e14608553912324 - pristine_git_object: 467c836838529cb35c016bbf632143d33e512c9e + last_write_checksum: sha1:202ce69d2ecbe78b17784d8bc33bf3bc00767516 + pristine_git_object: b92a8ecc40d3ca203684774eca19f508fd3c16cd src/funcs/languageModelsRegisterCustom.ts: id: a78368a1a0d9 - last_write_checksum: sha1:3f56bbf4d82c19bcbfe47a2e11dedb2efebf6874 - pristine_git_object: 91f843c363e2c8c97ab2a1e2c13aea897193c6b5 + last_write_checksum: sha1:1256b285dc7fdd487d8c6ad569a8bbe1e8984d6c + pristine_git_object: 447a786022e9cf97d92a72934d33f8a921b5c5e3 src/funcs/languageModelsUpdateAlias.ts: id: 7d90d517bd39 - last_write_checksum: sha1:b58a472dce51a095d27561b5866405f8f132e3f2 - pristine_git_object: 2422c139dce53b6e236b035621dcebad229892d6 + last_write_checksum: sha1:0c4b8836e1c4456b2ed7e981c3f4990e43e2e053 + pristine_git_object: fd0680b554c4aea181a8e3d58c17c1bbfe0da073 src/funcs/languageModelsUpdateCustom.ts: id: 754dd3fe0dcd - last_write_checksum: sha1:d679447c078f00950b1ee5b4bd555f87a5a637f3 - pristine_git_object: b7b74805419a4d0485c14ea0771c92edb61064b2 + last_write_checksum: sha1:10b2b709c16ba86f9db1798795b9f11691fa48b5 + pristine_git_object: fd1e0dedf6f68a665c55667d651e589d6df3d84f src/funcs/ocrListOcrModelsOcrModelsGet.ts: id: 5e1c3462e76a - last_write_checksum: sha1:1cf061753b4c0933cc685a905c96cbfe9165f57a - pristine_git_object: f5c09da9af990e350a4cee4b9a4c66541cdc1a59 + last_write_checksum: sha1:2ae4c3ab14eaf3d462b5be35df70ace342a50f0e + pristine_git_object: 574cb0dbe4f98de946f94d6e713d604525bdeb1b src/funcs/ocrProcessOcrOcrPost.ts: id: 39f6480ba192 - last_write_checksum: sha1:4b7f1255d1f39dfcf1134607c45da72668f63f4f - pristine_git_object: cd84fb490031cd6c99ed975e66a51b5851009177 + last_write_checksum: sha1:de89cece552293635cb06f9441c8355dd3ffd8f1 + pristine_git_object: ca4a55a4de42e7956d3fd703ba4c412a189c7fef src/funcs/openaiCreateChatCompletion.ts: id: 7aaa4d46a75a - last_write_checksum: sha1:4786e9591a27ef0c8f60d433d335ae10b245ccb5 - pristine_git_object: cb5ba0cacf4c182e38c2bee34d790805b8a9f948 + last_write_checksum: sha1:d7f1bf3b60d89b26fa04eece3c113e497a79914e + pristine_git_object: 9e62b2319b43ad7ed10ad7709d8e8839c9984480 src/funcs/rerankDocuments.ts: id: 5aef5492ced8 - last_write_checksum: sha1:bdacb89aa72e999ce27f9936dfbd0eaf03321072 - pristine_git_object: 6425f4259a1386360b6e781fc3f24cc0e35f8ae5 + last_write_checksum: sha1:53e3b3dff29932fb043eaeb6a08a9cde34e9df2f + pristine_git_object: 0c576c417abfa8fe8f82f2c5fb82e3be0065e9d5 src/funcs/rerankListModels.ts: id: fddd236f9411 - last_write_checksum: sha1:9e52cdb49d78b5c5b5fe99a115271341111f5e1f - pristine_git_object: d2017fc212980e8cb54e7ea81b61e19d2906a01e + last_write_checksum: sha1:03e1435847bc03ce0272299a60eee0df80c5e6a0 + pristine_git_object: c255ac0d725ea0988f67c537a1404e34f056bc91 src/funcs/spanMetricsCreateMetric.ts: id: 9ec9372a5e14 - last_write_checksum: sha1:88270aeef4712722b51b6197cfece49d1daaf3d5 - pristine_git_object: f868425395c177758a575766dcb7985ab85a47c1 + last_write_checksum: sha1:9ee8ca03f6ef533203753969e17ec06c5a39282c + pristine_git_object: fcc008d3dd681bde121f389c5d343aff03463bdd src/funcs/spanMetricsDelete.ts: id: 5000ddab2af5 - last_write_checksum: sha1:6f5cb55fc1897a15dccd51d3e9df54a9f8d8dc65 - pristine_git_object: 0fba99349377af3ef8c78a3fb74da95a1306147c + last_write_checksum: sha1:d70b27e64a6ec7bd43654e8a82da37badba8ef81 + pristine_git_object: befb9660327730ab19a7f55c51db3b9551462406 src/funcs/spanMetricsGet.ts: id: 2cf8eda279fd - last_write_checksum: sha1:192b50559c1c207583ca4876cdf69cfd93ca1a43 - pristine_git_object: afe3fe1e0e117a13cf623714b6030bdcc425960c + last_write_checksum: sha1:f0e659aa4eff5c1a7efa1fad1c3de9f96ba13f80 + pristine_git_object: 3f67fde1bea18965e97a23aa67aec226e5b9304d src/funcs/spanMetricsList.ts: id: 60dc2eea516e - last_write_checksum: sha1:a9b3e63ed1120311f8b4a3362af74a749c9d4944 - pristine_git_object: ee07cec8e783a74be9ccb4d1e1eea1db525e0708 + last_write_checksum: sha1:5ed8fedc7bf55c908902923d6d0d4573d7cf44f4 + pristine_git_object: d6e9741857d898a3967c7af2c68cad19e8446c7d src/funcs/spanMetricsUpdateMetric.ts: id: f00b0e120b3d - last_write_checksum: sha1:4bf368e462e7a5aa2585d07da9145540fbcb78eb - pristine_git_object: 66f0139e16a621c09df39eff2676598521b4e014 + last_write_checksum: sha1:bae3ccd70c01c09c249bdf41a935ba9ccd7d2671 + pristine_git_object: 888a7c46716f30ab8da007047cbf6d3798f1810f src/funcs/spansCreate.ts: id: 8cb667ce79f1 - last_write_checksum: sha1:543bfac6fb9dda965ef8340b329f5a73dcb8373f - pristine_git_object: e4cc72e35802eccb124a436c1714306a07d87017 + last_write_checksum: sha1:49beeeebc067d487909a052e52dbd35f1838a697 + pristine_git_object: 1db65c9348fcc60b694c66b195c2c570e0f804e6 src/funcs/spansDelete.ts: id: 49722e0065e1 - last_write_checksum: sha1:ce523be7ebac20c5182ff2491c172fec23d5db12 - pristine_git_object: e5b0344db2e3e8df08699550634cbeaa0a15fd1b + last_write_checksum: sha1:1b1d5e346dea7dcf2498663b065e6d3ac72588bf + pristine_git_object: abe52f7055b394821e5d3fd21b3934d97bd4f235 src/funcs/spansGet.ts: id: 0df50665eaea - last_write_checksum: sha1:5209f9a1396fedc594b0c3bb28b631fa3ddff2bc - pristine_git_object: 1444f2fa46cc38aa2d7830889193ad48e96a3ad4 + last_write_checksum: sha1:f21ce93e32adb8716382255b25e3871e48bbdc99 + pristine_git_object: e24dd277c38dee29c0c87c0a0af94836bd6d4cac src/funcs/spansSaveExamples.ts: id: 35a3d61db486 - last_write_checksum: sha1:9fab20aee94c1209f0ab78fa7b4977fefe0aefd2 - pristine_git_object: b238f5612e458b2b68592dc6ddf20fd00bb06957 + last_write_checksum: sha1:3323cf6f9ab09dde3cd76af4742b00f424a19641 + pristine_git_object: 1a230dc7de82f41d9ec6e2f5e0547c4b8cca5a1a src/funcs/spansSubmitFeedback.ts: id: 268c7dd42164 - last_write_checksum: sha1:1566881727570118ad42dd93f6a45ac9c95b8f4a - pristine_git_object: 9f46f8d617ca90af19e20ae42f7ff427071ce18a + last_write_checksum: sha1:6b3030c57c2895baa0b8c719b33d0423f0ca3df0 + pristine_git_object: 5ea4ce336960bb98160f6a81d1b6ae4c3513eec5 src/funcs/spansUpdate.ts: id: bc06c0776513 - last_write_checksum: sha1:01afe171ab4773520d0fa43a221f6eaba7d5dceb - pristine_git_object: f1f86b5b0869d96055fd6ce5340f690128fe1441 + last_write_checksum: sha1:7354f502b3c0692160768a070c3640b9733845d8 + pristine_git_object: 48aefaa759ab65df01663322cf5e62b9ec38b192 src/funcs/stream.ts: id: cbe6de6fe85b - last_write_checksum: sha1:171e09db7c1ede33922eb41d95026627610e4d0e - pristine_git_object: 20697093db8ee682747ff005e6d5d1679acafac1 + last_write_checksum: sha1:72b56fa513ddec6f14ce52dd0deb9ec27954108b + pristine_git_object: 659437fe2a7ebe4a85fdab562f0fa0667c595057 src/funcs/tracesGet.ts: id: f68b9e361165 - last_write_checksum: sha1:385ebf632a53f39082bd4d879307302221ba7643 - pristine_git_object: 482896e7aab1345023c655b498a1626abe5ce192 + last_write_checksum: sha1:5c3499428567d7c7253f938e8f67afafed9aa1cc + pristine_git_object: 880cde72f88fa4c1189f74822771707c4e4c5e0a src/funcs/tracesList.ts: id: c3795ac19baf - last_write_checksum: sha1:03886036738b5fe762d844b7afc132c19ea56e4d - pristine_git_object: 5855d5c61b8414bc5ef86c42b847e19e863790dc + last_write_checksum: sha1:0d51d714313aa4064e27af22b1c55bf3cae1b311 + pristine_git_object: 57755c58b4c2324974e49a935b27a6151bd32ba3 src/hooks/hooks.ts: id: a2463fc6f69b last_write_checksum: sha1:7dd975bbcc46a32dd394f86a4652b74ecc70d874 @@ -1576,8 +1616,8 @@ trackedFiles: pristine_git_object: f60ec7acd76141a71d78008c5a362eb0236d8335 src/hooks/types.ts: id: 2a02d86ec24f - last_write_checksum: sha1:27a3444c4839bec58ae89820fd8c2483edafc3f4 - pristine_git_object: 9c36bf01332084f735909a71036c3544cc4c7e3a + last_write_checksum: sha1:8e6a1813e04a0a32009cb07e9772e4166658be1b + pristine_git_object: a6aa5a25df8f60887455e4b54399fe07b7abe095 src/index.ts: id: c5fb850250c7 last_write_checksum: sha1:35c9cde3ae14b18b3f893a1afe8b6c44f8760f24 @@ -1588,68 +1628,60 @@ trackedFiles: pristine_git_object: 0aebd8b0a4867e35cb3348fc52921c3c0b4725b7 src/lib/config.ts: id: 320761608fb3 - last_write_checksum: sha1:6db96ee9f023e595f0af87d37558c21faa713794 - pristine_git_object: 7d8478ec487b3d2f106dafd22c85cf72246ab426 - src/lib/dlv.ts: - id: b1988214835a - last_write_checksum: sha1:1dd3e3fbb4550c4bf31f5ef997faff355d6f3250 - pristine_git_object: e81091f5e536f82739f71379b1fddc2d147c49e2 + last_write_checksum: sha1:fd15d1c25d4480966dc430abc582d9c55a915eca + pristine_git_object: d3c0190b58160ce07367fc4261377137863d0dc3 src/lib/encodings.ts: id: 3bd8ead98afd - last_write_checksum: sha1:d20c131976ab8ac68b22bdde2b7ed84b5b873922 - pristine_git_object: 31cd3733907afbee3641b9ab680ed417247a7d33 + last_write_checksum: sha1:50d9b187dcfc3cca8d3bbd9fe074f865d715d2b0 + pristine_git_object: dcab511b4b4d98f1e4b7dd94866e2b41c478b7f0 src/lib/env.ts: id: c52972a3b198 - last_write_checksum: sha1:1ce0ece44d40814a25d4aca405d5228f6a5513e2 - pristine_git_object: 78f257282dfd5f408f6676899d79a5626716c44e + last_write_checksum: sha1:99565bca8771c52208b7867854b133f68ee63a49 + pristine_git_object: 557c3ec096a48d8037ece8e19e5a9478c9904042 src/lib/event-streams.ts: id: 3f731f808a79 - last_write_checksum: sha1:9bd5e2d69227a5d8e9bd934752f132f1d2b9de17 - pristine_git_object: 3897197423c15313b00f944a9dd6ffeafb3a0fe0 + last_write_checksum: sha1:14599c02625a354d93c64a912ee58a25827753e3 + pristine_git_object: b97f495ed0a47ff15abfb897e7d0a01d4df6d86e src/lib/files.ts: id: e5efa54fcb95 - last_write_checksum: sha1:d0f325f445b8d22e7d73baf052c585ec2dd24841 - pristine_git_object: 0344cd046d033f9e8a55de02f7935c5cec5dc30b + last_write_checksum: sha1:795c14026405d547bfc47012f7ad9666e530fa7f + pristine_git_object: 6ca6b37d35a12448da176ee2517cc036db12c81c src/lib/http.ts: id: 63a80782d37e last_write_checksum: sha1:797cbf16d3c7c4d62d3ba0eedb08617524938457 pristine_git_object: 13cf1fd7894a89f727b8d2db2ad24313a94f68c7 - src/lib/is-plain-object.ts: - id: b9862591096a - last_write_checksum: sha1:df687f25a9590b6fd95d39df41a652ae3fd4e517 - pristine_git_object: 61070d3d7c7e5e95b1ed7e7ea21869eb0767db77 src/lib/logger.ts: id: 7ee7741a02bf last_write_checksum: sha1:0ec9d3a2a34c362746b767e4f9a746c055d57a7b pristine_git_object: d181f2937d4128afbe9b0327e0f81d1fa9c877b7 src/lib/matchers.ts: id: d54b2253b719 - last_write_checksum: sha1:e7587f40d36710d499f8a7e6b610610e55a2cb40 - pristine_git_object: 77d41086d77e53263a3a9ba0ec73aea3df521096 + last_write_checksum: sha1:43e3184df0c1dc3d7ba2d50ccdd7655d3a6697ce + pristine_git_object: efc0928ae61beebe1eff5f15c0cc1305fcbaf194 src/lib/primitives.ts: id: 74859f750b28 - last_write_checksum: sha1:987869fc54790b9c22e9182099103d6aa7c67016 - pristine_git_object: d21f1dc49affa4e6d324bdd60811b470fdfa7eb6 + last_write_checksum: sha1:fe3abb7d6b61596e346873519bcec9b2eaa61467 + pristine_git_object: 8ce65db0f7c0d6b68f5edc3ebf518121e284e954 src/lib/retries.ts: id: b24a69d15639 - last_write_checksum: sha1:f3da74dffcbe2756c69393f8600205aa1dc06e68 - pristine_git_object: e3ce9aba72150fc3c18f3105d39b21aba809377b + last_write_checksum: sha1:42c8f6cc4c875be236230a8c760f4f32d8c1ab68 + pristine_git_object: 21a647e1e9ae64817fcd63b5dd6bb5a51b63d225 src/lib/schemas.ts: id: deb4b531fae1 last_write_checksum: sha1:209cfaabfa7fc1c1310f97453215cb0755619c6e pristine_git_object: 47edb9725c2482c667e2ddc8a56b1fec4285c492 src/lib/sdks.ts: id: 8a6d91f1218d - last_write_checksum: sha1:f7db2d55ac9f5280a24b1b242779b6a231602289 - pristine_git_object: e90348cc7f8959614e2f0e67e89740d9f1415727 + last_write_checksum: sha1:877ab3dc442d8d94e122503681362f40039d4a65 + pristine_git_object: d26241a681da8324f9153acff0fdca24c6777c20 src/lib/security.ts: id: 0502afa7922e - last_write_checksum: sha1:119ceae76323648a76e7e78c3a7cdbeaf9c1ccfd - pristine_git_object: 097234d2520acc4c3f3277e1638bc8ef205731fa + last_write_checksum: sha1:05b31ca0b3fcfcd8028b0facc496798308570696 + pristine_git_object: 6ea61d4db4da8112b8663762d2f1daf9d2482640 src/lib/url.ts: id: b0057e24ed76 - last_write_checksum: sha1:d124050c7e755c0cce233b9e029afb584ff65201 - pristine_git_object: f3a8de6c021de59c991707946cd294596cae954d + last_write_checksum: sha1:3bceadd74bf0b31adf13eb06b7531077c3e07d65 + pristine_git_object: 79e7ce660b3732053e3adcbb5a4cdeb51496e8aa src/mcp-server/build.mts: id: f7a2ed2de4d7 last_write_checksum: sha1:1a7a5dc9ace5a5d707bd8d2339f76719e525e7eb @@ -1664,8 +1696,8 @@ trackedFiles: pristine_git_object: 3edb9ff544237250ca9f43a92f28ca06decb717b src/mcp-server/cli/start/impl.ts: id: 37494f674015 - last_write_checksum: sha1:1d75c0725c304f3402fe9712c03f98df9c4ba3e6 - pristine_git_object: 779f5eb5759d4b6a591159aa5107d87b6e743048 + last_write_checksum: sha1:b659865c9a9b350b652f6bef36c6a223490e17f2 + pristine_git_object: 859d2a9aea7d64e722212032e877ddc9afd25a7f src/mcp-server/console-logger.ts: id: 57aff4ff2e15 last_write_checksum: sha1:66e945860c8318f2a6bb9604a7720a979dacce4b @@ -1676,8 +1708,8 @@ trackedFiles: pristine_git_object: 0955a573c2ce989d63c737410ab8cc28706d9f74 src/mcp-server/mcp-server.ts: id: aabbc4ab07c1 - last_write_checksum: sha1:630b11682e88bac36bbc88ec0ebb43823518b683 - pristine_git_object: 8df222da77bfab5b06933a886c14f53bae5dfbba + last_write_checksum: sha1:57399e71225ee25755be474d655416493804092e + pristine_git_object: 8462c20b6816b7436a614bd37d7ec9aa8f7f945b src/mcp-server/prompts.ts: id: 26f3d73cbf31 last_write_checksum: sha1:aab17727e4e0e625fffd088ba2943d9700e6c049 @@ -1692,20 +1724,20 @@ trackedFiles: pristine_git_object: c25696d4c4f70e081fa5d87ad6891874c509a577 src/mcp-server/server.ts: id: 2784dd48e82a - last_write_checksum: sha1:3ff63519ef2de8f1ea71a2a8d4d8e9ddb43d4e5f - pristine_git_object: 4513112dfd7a8da6011287fa82d88b03ab44943c + last_write_checksum: sha1:cd048ef15966337ae19dbfda0ce8279bff12786f + pristine_git_object: 2b9da188a10440115e764b95d4e26ffd35da392c src/mcp-server/shared.ts: id: 074e80d4be1e - last_write_checksum: sha1:56c73d4429691516e35541825e759a0285747a2b - pristine_git_object: 3e94144d13f0707bc300183ebb4325b367c297dd + last_write_checksum: sha1:d89576cea2bef3856b7fc3e65b868875528be042 + pristine_git_object: bef212f002cac28cb23333a5f291a4ee5ba08521 src/mcp-server/tools.ts: id: 654d5d1f2062 last_write_checksum: sha1:caec04f5fbb9b0ab83ca0db0eb95e624c6771a22 pristine_git_object: 5eadaa3ba93903986531f8fb6b5f7af1e990ffb2 src/mcp-server/tools/analyticsGetUsage.ts: id: ad36aecc74a3 - last_write_checksum: sha1:4f256b7e4833e631668730697606f607ec8ef9e7 - pristine_git_object: 2154577ceb7e8d9cff281b922d22a1c5329dfd11 + last_write_checksum: sha1:d8c122f78b0aa48a8c85e01c49f6dc43d7d4020f + pristine_git_object: 0d1cbcdb177bcaf6c5c39fbb623fac1906f80076 src/mcp-server/tools/call.ts: id: 7ab1495f591e last_write_checksum: sha1:5f17448fa1c0960e93a93a6cddd39a170cc8d418 @@ -1738,14 +1770,22 @@ trackedFiles: id: b10a794fa8b1 last_write_checksum: sha1:1b5a8ad25f9be95051e9dad92d5a83bdec2dd2b3 pristine_git_object: b8c12f8343f4dc75b374591bd885358ee96ae3cd + src/mcp-server/tools/functionConfigGetFunctionConfigFunctionsFunctionIdConfigGet.ts: + id: 7a8619da2884 + last_write_checksum: sha1:f0fc50edc98316df72af349d923e367c0d4f2d16 + pristine_git_object: c193b540d708ba01d024bc7088919ab6f6388af3 + src/mcp-server/tools/functionConfigPutSteeringFunctionsFunctionIdConfigSteeringPut.ts: + id: aeeec2b01540 + last_write_checksum: sha1:e6db92978581ade5c89b1c0bc6c431e58f714e9d + pristine_git_object: 3a80b738f2fb61309677ece27b2747a41cea4598 src/mcp-server/tools/functionsCall.ts: id: ad25c3c2a89a last_write_checksum: sha1:51e8620644422c23591205a7cf50499e09a7db85 pristine_git_object: 819b27c4e2e41bec8446cb25e82888f45803181f src/mcp-server/tools/functionsCallRevision.ts: id: 081a1dde7964 - last_write_checksum: sha1:e20bfc3846a096c351ddba2379167c752e575d62 - pristine_git_object: 6c49ee6249af4d093d0901c6a771375457a00bad + last_write_checksum: sha1:e771de64e2244066b4a5e94ddb8a72e5f500c328 + pristine_git_object: 223b62e8886602b4732a5b025d1892fb7a71842e src/mcp-server/tools/functionsCreate.ts: id: 93593157a808 last_write_checksum: sha1:cf2705683beb9cf72b86c12fe2610f4d70425f1c @@ -1764,24 +1804,24 @@ trackedFiles: pristine_git_object: a3f7bd501ee6d8f4a947871c6f34fdb512f4af3c src/mcp-server/tools/functionsGetByRevision.ts: id: 5d8ef8b27934 - last_write_checksum: sha1:64b745e2f66cb4d4bf16685c38e81378e0224017 - pristine_git_object: fe5a0479ef7a2460ca4bf9b1330fa28137f998cb + last_write_checksum: sha1:86a9d490d55b6d6e346a66d686afb1b63922fd6d + pristine_git_object: 582440abeea2e5d20439b3b0c5bda983e10fe5b1 src/mcp-server/tools/functionsList.ts: id: f134ce367dab last_write_checksum: sha1:38750533ec2d6c5c94a8d67a8c2ab2fbbc8e5406 pristine_git_object: 423d71d1f336a247ed09377290c90318a8b4ea21 src/mcp-server/tools/functionsRevisionsList.ts: id: 6eb1be2c9632 - last_write_checksum: sha1:3897e0a7edae68fa172ea7e9a037b7357255c5e4 - pristine_git_object: c19f57ce225fac48cced2fc33f16d9f941a5171f + last_write_checksum: sha1:6be6099c882ae81dd17f1f289bc888c2ce6586e9 + pristine_git_object: 137b353e3a73be8e3163adf4f53f8a63385738f9 src/mcp-server/tools/functionsStream.ts: id: 9fa0756f3fcc last_write_checksum: sha1:0cffa983755c100ad72dc4112ab93201f1258bcd pristine_git_object: 996c7a0ebc49186025c81c9948ea6fdfce6feafc src/mcp-server/tools/functionsStreamRevision.ts: id: 5f16d49cdb69 - last_write_checksum: sha1:14b380d60765f15c00ef0ac8febf0bd15b34e551 - pristine_git_object: d65a42161023d40ce6131e7d97ef03646d07d367 + last_write_checksum: sha1:7a412f5c9a80fa7b41af8f770bca6010fc1ff800 + pristine_git_object: 6eac4cf85a24e4ff1bb2ab3a3a273259b1d96efb src/mcp-server/tools/functionsUpdate.ts: id: 629d35092770 last_write_checksum: sha1:d9a50ea64e39267788ce272ef1f4070d0b140d7c @@ -1888,16 +1928,16 @@ trackedFiles: pristine_git_object: 3664c834919e5a01313dac926b13ad0c68df2026 src/mcp-server/tools/languageModelsRegisterCustom.ts: id: 00cc3ca2b919 - last_write_checksum: sha1:ab72a02c9f00a784212c2c4c309e648c8170d207 - pristine_git_object: 3a1fb222d7e82b2c6e9519665554610d2d39e860 + last_write_checksum: sha1:2ba93e0ac7a429cf5fb4ec2ed267f29089240add + pristine_git_object: 3b98d3b9e797eb5b4b595127a070312a4e817c9b src/mcp-server/tools/languageModelsUpdateAlias.ts: id: 05d54e42622e last_write_checksum: sha1:eb55099e3a924d2be2817690754d58a885a04250 pristine_git_object: 0181316a419b2a4418c66011430142ce5e504196 src/mcp-server/tools/languageModelsUpdateCustom.ts: id: fbe90be117f8 - last_write_checksum: sha1:ef716aea9e1e69c867708e0524207a6f7ccfe3ab - pristine_git_object: 470ea10a196ed98639761ac44ac4485bb308c975 + last_write_checksum: sha1:ffb56474171b643c36b14200196147dd8df30d5d + pristine_git_object: c01a1774bf990e525589435b471db1b9539f0814 src/mcp-server/tools/ocrListOcrModelsOcrModelsGet.ts: id: 721200f7de9e last_write_checksum: sha1:442a5f7300deda2abb4901aab166a453be3b2ceb @@ -1980,12 +2020,12 @@ trackedFiles: pristine_git_object: 6935e794844a67a791b737da275e75b6427d9e8e src/models/annotation.ts: id: "154996783512" - last_write_checksum: sha1:2fd69c737e40a941ee3950cab7ac685a0ae9c744 - pristine_git_object: ee1fbcd632deb325e3a20a688d0b1c4ac3e5a476 + last_write_checksum: sha1:7b6cba8cc346b274c6f81a80120381afbede3797 + pristine_git_object: 69727692f84d3e3fd033b87911351b89875c0d58 src/models/annotationurlcitation.ts: id: 895bf7dfa898 - last_write_checksum: sha1:f99500a572eeb48526b1b696941eb8362ae90c86 - pristine_git_object: f60420de3f08bdc90eae584fae28fbda93a7e3d0 + last_write_checksum: sha1:7b346f4b4ae152767ed6297572b6f1b5a2b3997c + pristine_git_object: bc6d6036f8e3ed7b6afaf9941c70ebfd5cba3d55 src/models/appapipublicv2functioncallcallfunctionrequest.ts: id: b2209fa1addc last_write_checksum: sha1:f7336623a39952be54505834e5302db55df856d6 @@ -2004,120 +2044,120 @@ trackedFiles: pristine_git_object: bdc3b95d9a0b50ce240e5f28e73bc8b54adfadc3 src/models/audio.ts: id: 4b0a8214f90e - last_write_checksum: sha1:ab7ccb9e3da028e8d174b677c5cd5b495c933265 - pristine_git_object: dc5d9095908ca2b583c8b582366213157ac57d6e + last_write_checksum: sha1:0dd001d86a1b046a043e710eb14b3cd378d4257d + pristine_git_object: 340dc878356c6f433955d68b111a68e0fcb7cab5 src/models/bodyuploadfileknowledgeknowledgebaseiduploadpost.ts: id: 16bf9a5901fb last_write_checksum: sha1:7ab25367090caeb3260862b5e2a3067dee8a17e8 pristine_git_object: 07a13149845ba2a8e85708661cfe2776757c4928 src/models/chatcompletion.ts: id: 92c8e8bb5ac2 - last_write_checksum: sha1:afd602d8f1b3a3d8c78dd639f84634b775c807dd - pristine_git_object: 088a344f8b77d45a66bd22564772775b0612a236 + last_write_checksum: sha1:08203ac4840f5a979b7fda9e05a96fe1121a1c84 + pristine_git_object: b5e0eaf375a61aa39866b76e92cb97830770c616 src/models/chatcompletionallowedtoolchoiceparam.ts: id: 1aa24512d96c - last_write_checksum: sha1:2acf9e16227bdb328bd1f40bf0aa577542fae330 - pristine_git_object: 03882ec6df2aaa7a370c4ef3f65620df1ffe380f + last_write_checksum: sha1:59a1ca92f1059ca61e264fae53f335d341510a07 + pristine_git_object: 832e5eef074d75a3fafb63dacae600da1f6c46de src/models/chatcompletionallowedtoolsparam.ts: id: 3faec20c8037 - last_write_checksum: sha1:2aec299f076f05c95f66b7454eb7129b8d5b91a2 - pristine_git_object: c2f6740ed18b128a7a8a8b49a86dcca48e11496e + last_write_checksum: sha1:64f8fd2ecfc765de8f9dd0b34a0a218413ed4074 + pristine_git_object: fee3108d5e6146225dcbd21d3423b2bb6557592a src/models/chatcompletionassistantmessageparam.ts: id: c7711ad60d84 - last_write_checksum: sha1:cb3f4b40902d20792ae47ae8ad92405f2728ff65 - pristine_git_object: 7f2216b58b371f91c396f8cfb6f68842de17bc0d + last_write_checksum: sha1:4981c2ccd0268f1d1ba4fc41abe655a1007d683c + pristine_git_object: 8f8423908bca7a823d721eb64ee8b4794cf7ac78 src/models/chatcompletionaudio.ts: id: cd4a67ba6dce - last_write_checksum: sha1:a1c287cfe7281a74276b9e66e4c0a98583483bfc - pristine_git_object: 895976f560d13ad1ac26d7016bee8042b3325eec + last_write_checksum: sha1:fa6f94fdce99549f1cffca8090fe1c7c0fff0dcf + pristine_git_object: e0aa378ecfd647beb02f3e2711c476ef5e890f6e src/models/chatcompletionaudioparam.ts: id: ae6eb9bc4505 - last_write_checksum: sha1:5e21693c6772dcf2943d7485935f6c7d3b8762f7 - pristine_git_object: 9f05ab398b6abdd0b35dd922700fe667cbca10fc + last_write_checksum: sha1:2f840e3c95a072578c863d83f33f06b978094612 + pristine_git_object: ee8f36d83a10fcc9d9a312aa279022ac06674dd7 src/models/chatcompletioncontentpartimageparam.ts: id: 21b5ffd74f6f - last_write_checksum: sha1:dfa9d7b64a9be3bdcf46940481e9922aec9d5c21 - pristine_git_object: 106f92d05ef84a2b997cc2d3d5d6dc6dc0db0883 + last_write_checksum: sha1:99ded354afae1bddc5add4710f35aab9f79735ad + pristine_git_object: 4fe3d2ba588b3c44e5d08510d91f40cde3731d8d src/models/chatcompletioncontentpartinputaudioparam.ts: id: 800293d5a9a6 - last_write_checksum: sha1:0fc6ea55c542d080b4089dace8f5902ce03d34ff - pristine_git_object: dbdf214052e7e07c66ed72cdf78be8be4354daa5 + last_write_checksum: sha1:2f30153699bf7c5015c2ecdd1a778be819612f0b + pristine_git_object: 7722f714842a5573b3acb5b1c28050946ed44446 src/models/chatcompletioncontentpartrefusalparam.ts: id: 1c0286d547ed last_write_checksum: sha1:a1370cd5ef80d7fd1193ec17e451046f0af76f97 pristine_git_object: 0e8ae02e009a0e35ef089694937561942ea364fc src/models/chatcompletioncontentparttextparam.ts: id: 09643c36a2d6 - last_write_checksum: sha1:a4d10f227daec64f32803d0362df550951f15318 - pristine_git_object: 76e32320d34e8527706d2c7a188706deb65660d4 + last_write_checksum: sha1:01aa33c14343e32ec762987be7b6f68450841ea2 + pristine_git_object: ba04c044c3d99edf653353254e3f30bf6644e13e src/models/chatcompletioncustomtoolparam.ts: id: fccd964a4304 - last_write_checksum: sha1:85472473b8b3c69ff5b113ece3ef3efe75baa2a0 - pristine_git_object: 297e9cd38dd944b9d148bb8df7883c24d0ed7959 + last_write_checksum: sha1:6bf9b1035f02e57597794bc89be4563b352ff429 + pristine_git_object: 53ec79fc21482639136d3e81c38fc7ac6ee8f9e4 src/models/chatcompletiondevelopermessageparam.ts: id: c30d9cbacaa2 - last_write_checksum: sha1:6c1852e1ba12cc3aeaa4192a31fa50957a248f3a - pristine_git_object: 3e8f7386d4d03117a25eddd9964578ceb7c6cf8a + last_write_checksum: sha1:571393a99d401699fa2d2925082d102a366775fd + pristine_git_object: 582ed4c109462e1c8b123f77e472ce24a531a1ae src/models/chatcompletionfunctioncalloptionparam.ts: id: fc48763beb7e - last_write_checksum: sha1:fb6d43cd583d08ce9ab9f106e5570ab4ac4089f1 - pristine_git_object: 56fbf8e9f185b9936137402c9ca74806db07ccd0 + last_write_checksum: sha1:c271e53dd8898b8c19e0a082043c970a8050670e + pristine_git_object: bebae7f512bf68a5501b3e0999dbfcfb8b948583 src/models/chatcompletionfunctionmessageparam.ts: id: 6cd067be1819 last_write_checksum: sha1:831a52f871f2416a0b38fcabcebcf259023665c7 pristine_git_object: 62238c855689d6d1b4a3b01e3e162be4e8bcfa1e src/models/chatcompletionfunctiontoolparam.ts: id: e45f3050615a - last_write_checksum: sha1:200b5f78a93884025f2cf5a911fbeeb5b8d58b52 - pristine_git_object: 9528caa015a1c72d9bf09e3939d1f139368a795f + last_write_checksum: sha1:59e2a08ef6b2614497a866b16a5227271c591fa9 + pristine_git_object: 45e46498b5ee3b98990702d5d7defeccb0a8f590 src/models/chatcompletionmessage.ts: id: a42b4acd1a1d - last_write_checksum: sha1:c4da04fd280cce7ef2c39f9e87ca7fd1a78099ff - pristine_git_object: cd85096e434c71b007b70d88658cd7c1a01519e3 + last_write_checksum: sha1:3ed897cbc2c356b69cdd9e87ef3087595132c2ac + pristine_git_object: 63b050924fdedc718291f224b38a36f20f4bfc40 src/models/chatcompletionmessagecustomtoolcall.ts: id: 519069b45dd1 - last_write_checksum: sha1:ac24f7d56c687f4b318d5e8a1de84313f81d84c3 - pristine_git_object: c9b7a1e86f722d01728b371e3df9719e778e4eae + last_write_checksum: sha1:b7ac35fc64af107841876e79e901700b07ce84f4 + pristine_git_object: 2d473f73391f08cf013f0abeb059c0feb5e8232a src/models/chatcompletionmessagecustomtoolcallparam.ts: id: 3fa91f2449f1 - last_write_checksum: sha1:ed306e0f9831792271fbd79946a6a4f76d47fc9b - pristine_git_object: 9fa8e1ae6fab0dbaf704111e915388b6ee35fe82 + last_write_checksum: sha1:bee5bbd413f965d13cf8a718d8d29b281826fdf4 + pristine_git_object: 66ee754ca186c11f5e1c5fa8281ff9c30c7299a8 src/models/chatcompletionmessagefunctiontoolcall.ts: id: 88c888125c56 - last_write_checksum: sha1:c57a0e33829b5237a6f54d49ba9c74898fe18d3b - pristine_git_object: ed6beaadc7f231cf21d85f7135eafdd78bdb9502 + last_write_checksum: sha1:7f43c9ec30a401ddf3465d530b5a0603a061da10 + pristine_git_object: 7c258c796a2030aabbea5ec2e7874b3ee83156db src/models/chatcompletionmessagefunctiontoolcallparam.ts: id: ebb57e9df9e5 - last_write_checksum: sha1:f4907a75e8c775436fce535383d4e563817591b3 - pristine_git_object: bc146a118c73df82509b9858234b1c2beec97000 + last_write_checksum: sha1:4230a418c9dead1d98705a71a114e9dd2d528216 + pristine_git_object: 3145fe3d64ff3815ea3604577430734750f63ecf src/models/chatcompletionnamedtoolchoicecustomparam.ts: id: ce9af7e698ad - last_write_checksum: sha1:5c0be99e15ad80e2945d3aa6f338877a6677edbe - pristine_git_object: b1a1b1142ac170e7ae1339c59f855d59ebe53dd1 + last_write_checksum: sha1:50cfe4a7603f9ceaed7828ec98939afa12a368f2 + pristine_git_object: fffd8356ba3781cde5d95647931d5e73e6baaf7d src/models/chatcompletionnamedtoolchoiceparam.ts: id: 6cf82ddeafec - last_write_checksum: sha1:81f3ae850e00a8c7c05cdd4f09bb58af1dba0e36 - pristine_git_object: 18f7b03e34456d1674be2838974ce9656d69a768 + last_write_checksum: sha1:e681fe405df73a855245db0aaa3643035b99be72 + pristine_git_object: c6bdadc40466747875727355219b458716195260 src/models/chatcompletionnonstreaming.ts: id: fac6c1131324 - last_write_checksum: sha1:a6f56012cab520da14cf9052b2ce3a9dc5288786 - pristine_git_object: ea68bd8bc54b54d05d8307fb6074e33ee66e5b31 + last_write_checksum: sha1:acacce07e860ab78eb8f008427977811d9363741 + pristine_git_object: cc2a8e3deff74affb72c044a5e8cd393d7d16180 src/models/chatcompletionpredictioncontentparam.ts: id: 9295c97a4ecb - last_write_checksum: sha1:252cd230390cd7e0a604081931d804b1248884cf - pristine_git_object: 742bedf1b0c017e05140c3ed33cb13825123767c + last_write_checksum: sha1:9795b2fd76b010039743d19846740c648d53b5c5 + pristine_git_object: 7b1b24081226719a27af584377e02299ca327e82 src/models/chatcompletionstreaming.ts: id: edca9474148c - last_write_checksum: sha1:dd0e3ec1b7ffa9a91804ea8939d49a3fb1cd726d - pristine_git_object: cdbbf5100fb0a14d61f64bb2630aa780818845cd + last_write_checksum: sha1:0fade502bcf83b9167f0582ae0ad1eeb1c0d7f78 + pristine_git_object: 8dca463b5048a46daa4cfaa8ad145b8e7ad7fe29 src/models/chatcompletionstreamoptionsparam.ts: id: 8eecbef20df4 - last_write_checksum: sha1:1b910381c9eef245cf110f4691002235ffb129c5 - pristine_git_object: 879167b82ecbf64ad70d60e168ce1984a9a48d0a + last_write_checksum: sha1:6a619699407f7417518443f04b22bf24faa38d62 + pristine_git_object: 226ba9c55c084f49cea60f5684fb66f0063f11e5 src/models/chatcompletionsystemmessageparam.ts: id: 4ba7460abb5c - last_write_checksum: sha1:4200265e07a7ad9862d41006721537a4e852f3b4 - pristine_git_object: 783b5013d370534fc223e96ebcab7271f3c078af + last_write_checksum: sha1:9690308f60fbd6ff015f889aff39b9fbe1c223d6 + pristine_git_object: 57acb7fca467fc083a79d1a99e0792f698cf48bd src/models/chatcompletiontokenlogprob.ts: id: 118f4ff16855 last_write_checksum: sha1:eb41e57939e7fcad543d51004d69188bf12d6e38 @@ -2128,24 +2168,24 @@ trackedFiles: pristine_git_object: 1c717375e13cfc57fe31a39a530f0c8cacf010c7 src/models/chatcompletionusermessageparam.ts: id: 0f2ac198b0c3 - last_write_checksum: sha1:7eb2220d73feed823d7200247a34c089b6f47813 - pristine_git_object: 909ae302e050b96ec1d3a7c74531a7013877884e + last_write_checksum: sha1:101455613b01b8d32be73ab4798689f7b69f4dc9 + pristine_git_object: 8c17b41fd9f6824d13bac9c2dcccf04a9aaf27c4 src/models/choice.ts: id: 72ad68052e8a - last_write_checksum: sha1:a385cf3492b7a26183b1632bcbffb399ddcc7b9d - pristine_git_object: bfae54367b1a4fc46e38bf77a5a2e0bf0b7b2cad + last_write_checksum: sha1:e5c1b2f0f797f6d8b0004949366f29658c80c919 + pristine_git_object: bf450e7327841941daea8d735c8ac659bb87c4b4 src/models/choicelogprobs.ts: id: f2eedd9721a5 - last_write_checksum: sha1:848c3aa60f5f0ace9eb4a3d51600ecea856bbc7f - pristine_git_object: 9dbb1ab4fd47ce4a356d35459902c06ae5abe806 + last_write_checksum: sha1:18f739eeb2a16b68a3364ec6692a9a303ba54b78 + pristine_git_object: a6246ccd7c5f9bed918c477e545e3ad4d68dedf5 src/models/completiontokensdetails.ts: id: cb0229099440 - last_write_checksum: sha1:0fa66ef5d11d5feea3e284428b60bbef55bf50be - pristine_git_object: f3deeb26c65df92e6c92f41adfb3cf88e9b26ea0 + last_write_checksum: sha1:143ae1f18ad2e704f0bc5bf4cfcae644cbf752fc + pristine_git_object: 4e57c875bbf5a1f6b70b23e8772cfcd5fed7cded src/models/completionusage.ts: id: 4a222248409d - last_write_checksum: sha1:2e8ea41f7036fe960d14c4ca5b7542de4846beef - pristine_git_object: 29befa9d7bfabb55c35038b07cdfc854734f4d6c + last_write_checksum: sha1:5a6633afd63dbe19ee23b2c489e2b18f0759597a + pristine_git_object: 6afb7478762c994e960f4aeaf8fbd73a1020db3c src/models/createdatasetentryrequest.ts: id: 7fa20174b22c last_write_checksum: sha1:fc951134f9821a3b282447c39d75ef8c1e725433 @@ -2168,8 +2208,8 @@ trackedFiles: pristine_git_object: 9ccafa2349d0f09e9c8e1ba6760d65030b30f7fd src/models/createfunctionresponse.ts: id: fb8dc344c5ea - last_write_checksum: sha1:41b7dff1e68867dd527e62151b22e835af284082 - pristine_git_object: 92be4824088f0f7d24531ef9ba4ceff05ce817a2 + last_write_checksum: sha1:fac90cc79c5474641b767aee88ca53c0064f1c67 + pristine_git_object: 9c69b9487964dfc6dc07bcbde10b31c4505f4c00 src/models/createknowledgebaserequest.ts: id: 4e53ee982e44 last_write_checksum: sha1:926da3c20aa5d14092b786fc7f3f9a06c4045aeb @@ -2204,20 +2244,20 @@ trackedFiles: pristine_git_object: 7b7f27b1f4b8e4a959c6df99d77fb2035f35eded src/models/customformatgrammar.ts: id: 49af13396242 - last_write_checksum: sha1:b232ee49c93c3cad339f9a0680d97ba70025d3e6 - pristine_git_object: 48bf703d679f8cc2a615439f1c2f8a5014ee7c29 + last_write_checksum: sha1:331a76df2f8235811f45f30f4ff32accb3bc066d + pristine_git_object: f7da55c59a698d87f3e8b9ad12dbfcf585939ee4 src/models/customformatgrammargrammar.ts: id: 5573ba87bb14 - last_write_checksum: sha1:f8579b7351c02e43903b1a650fd6f5776661a46a - pristine_git_object: edf7b0d2611e9e39eecb70fbd1d78890d09dc9d0 + last_write_checksum: sha1:a67b90e817a8ac148bee8ac226f82f852c784ddf + pristine_git_object: 45e1cec42632abde02ed87454fda3d573a1db38b src/models/customformattext.ts: id: 9f4416e3f035 - last_write_checksum: sha1:2b7aa7a982d59376f173c3cc1fa0acc0b454dbb9 - pristine_git_object: 93b34d33504506800a25f4a5051a1ea58a9918ab + last_write_checksum: sha1:8b3d86210c0a0da84334fb4f51046d80f571c90f + pristine_git_object: abe905b1f66f81162504bfcdd7f09eedf306149e src/models/customoutput.ts: id: c5804f582828 - last_write_checksum: sha1:2f62e098af25b24751045500823adb6987abc26f - pristine_git_object: 13953418eebe91741284e7ccf43d7a299553894a + last_write_checksum: sha1:de7e5672893a7b4b0b24ef5a9e6db6d36a58242e + pristine_git_object: f6e928141ea567d8538c45224cec33064624c31f src/models/deleteknowledgebaserequest.ts: id: 9f8bbdfa3098 last_write_checksum: sha1:5e33245f595bded75447648cb87dc7477f6d0d09 @@ -2226,6 +2266,10 @@ trackedFiles: id: 7f2e1c2e2c8c last_write_checksum: sha1:e1d2ab1ac113a21655ffc96c1e50971a55a847f7 pristine_git_object: fa98ae834ef0ca3364ec64a7e50a1b2dd81b1a5f + src/models/doclingocrextra.ts: + id: f4fcc55ebcb8 + last_write_checksum: sha1:8aad78f6c86d662f77f8056554969d0855b83e5a + pristine_git_object: b66e1c661afd908790b6628cb42092a4868cbba0 src/models/documentsegment.ts: id: e7d4c4996307 last_write_checksum: sha1:1b8902f614da5a815a86f9975da78601245f8f70 @@ -2292,8 +2336,8 @@ trackedFiles: pristine_git_object: b922c262bb6133c034a39419f902665debd49595 src/models/file.ts: id: 6b94c427e8dc - last_write_checksum: sha1:9b87b16439bad3a7e88a39cdccf627ef82b3c0db - pristine_git_object: 40138830654e72f6ca9dfd64a0fce3ee997621fd + last_write_checksum: sha1:1bf9dbcff7b934da69a01fa880f248e0b9b756df + pristine_git_object: bfefabaec3a75f5edceb85b865a295a574a0a59c src/models/filedownloadurlresponse.ts: id: e2fefea3b20f last_write_checksum: sha1:459b1cce6b57789650c330c1110291fa0c9fcc95 @@ -2316,24 +2360,28 @@ trackedFiles: pristine_git_object: e7772fac67c3a930e5629aac5c6ab0fda8d9bf01 src/models/functioncallinput.ts: id: 38bd6f9398e2 - last_write_checksum: sha1:0516faba0cb1a5a5ae1d189a7d8fdba87d8e51f2 - pristine_git_object: 917172c95b427f14898a50c12710a7647aac991f + last_write_checksum: sha1:ded54cb14490d04bd090fbbc4355d32c198c088d + pristine_git_object: 136c4729361795ddb9ba4ad642ab4c80525b125f src/models/functioncalloutput.ts: id: 3dacd3bac7e0 - last_write_checksum: sha1:e9b5b836b5f5a031a89d67e97c6edb2011d9105d - pristine_git_object: 929ea76d0f0e93dfc2ce8e97243964d174a793aa + last_write_checksum: sha1:3d8f64ef284e6f3559bfbbab0b7e4ac1fbcc7b97 + pristine_git_object: 3a95d4176ad624c491a21ee3ddf01758637aa2f3 + src/models/functionconfigresponse.ts: + id: d197cf6f8360 + last_write_checksum: sha1:149f3bc28c7009fd5cb6eb0f789439bddcc60894 + pristine_git_object: 1090020347f4ad19296886b49cd933c22bab6225 src/models/functiondefinition.ts: id: 1e19fd0c1e0c last_write_checksum: sha1:097f27eb9bea1a6bfe5a35630a81cac906fdf3fd pristine_git_object: b260b0981fbf0c5c2ffdf1d2d07eace447c18a8a src/models/functionoutput.ts: id: c2760df20cc2 - last_write_checksum: sha1:4dea3016523d8922ad59acbf54314af3b3424b7e - pristine_git_object: 1b8bec55cdf5e9422cd794f82da90daa895f25de + last_write_checksum: sha1:e6db7367013e88cd587da6de702687794cbd414b + pristine_git_object: dbb5265b502f9411e95de565fb941d591b6f92af src/models/getcustommodelresponse.ts: id: d51eeaefed38 - last_write_checksum: sha1:749dcfc6cc5e4ec0389bc076063888644f000cad - pristine_git_object: 306d8195129194372d54f7a9f764a6340271753a + last_write_checksum: sha1:688a64498434b3d0e57a7f7a08eb69254e1d3c54 + pristine_git_object: 2d31a11c3eb5953cb39f38107d7213b44c47b3c9 src/models/getdatasetentriesresponse.ts: id: 71108759f9f9 last_write_checksum: sha1:6298febbc81908c3deabcb45dc441f255fa5cfb3 @@ -2348,8 +2396,8 @@ trackedFiles: pristine_git_object: 3c878e99928016c67629dfb76a587e94490f13c6 src/models/getfunctionresponse.ts: id: 0df2e789559a - last_write_checksum: sha1:2818198a2a23bd8c41b73a9bc05b791e0955ed55 - pristine_git_object: f9b2c0fe9ec9e553661680b85e2d11b44f4f002b + last_write_checksum: sha1:728a6b2f70fddd83e047b8a4164bcc06a3879618 + pristine_git_object: 3eeb5fc8239e657fd76e869c485d50a82b7ff3a2 src/models/getknowledgebaseresponse.ts: id: 670f97ca8d9d last_write_checksum: sha1:698aee1ba5e9b9301cd50a3152681977e1d56027 @@ -2368,8 +2416,8 @@ trackedFiles: pristine_git_object: ca923396375caa35906e65e16ca61315b2fd57ea src/models/gettraceresponse.ts: id: efea4869d0e1 - last_write_checksum: sha1:5702aeebd1db5cadfd28a08126e1365f31a72657 - pristine_git_object: 7ff07dca17d987d0b5678f0a668e943efb2c1871 + last_write_checksum: sha1:3181da17b1b72b250440ad999367f2b9aa186e95 + pristine_git_object: 7add03fffe8bae3de704e10b7a993b9ef5979a62 src/models/getuploadurlresponse.ts: id: 1db2876c469f last_write_checksum: sha1:a6aef4c3ccdffc4af503f18c081b43e215284430 @@ -2388,20 +2436,20 @@ trackedFiles: pristine_git_object: 61690cc62ba68deb1c15e548bf466dbf815de24b src/models/index.ts: id: f93644b0f37e - last_write_checksum: sha1:c26720b1ea4b6e33fc06e2a35d62aed2d25e5a81 - pristine_git_object: 60b3a6acc6559d117716f6b57946a04be5657c68 + last_write_checksum: sha1:2f90b90ce409811578a2df2b6ecda033f3d4eaa3 + pristine_git_object: 19be66eb8b18cd3a732cbee22df20bbff4045eee src/models/inputaudio.ts: id: 9bdc14c7565f last_write_checksum: sha1:cbdd2b85ee862c49ab572f2a402be112b7d21c0a pristine_git_object: d1bbaa90c01ea4d2f8e1b1e4374bc29a676d90eb src/models/jsonschema.ts: id: 847b89e5c5de - last_write_checksum: sha1:014d43719bd8890f606f2fb6c7f7240ebf8cbab4 - pristine_git_object: 670b7291828694a15055c4ac17412f449852809a + last_write_checksum: sha1:d24c610a2dedc852f98d92d5b0552e547781ddf6 + pristine_git_object: 3073f3982e29b7662511abdeab348579f9a250d4 src/models/listcustommodelsresponseitem.ts: id: 5728302b688f - last_write_checksum: sha1:a6f7b770490499e29e95191d9d422b0ba2e0a3e1 - pristine_git_object: ffd7213902003dc09591413a4b47d5a7c293f948 + last_write_checksum: sha1:b4fd88269aa599d2053a82f67f325f4832bbc8cf + pristine_git_object: 242d9089749eabd512ae983cb0df615e8d74d04a src/models/listfilesresponse.ts: id: 3f19c2c29d31 last_write_checksum: sha1:fba174b3060afa3575884961a957ae5898726a74 @@ -2412,8 +2460,8 @@ trackedFiles: pristine_git_object: db91e728d4d38369a6b2d63ad976eec4d02f25d0 src/models/listfunctionsresponseitem.ts: id: 2b0e9897d366 - last_write_checksum: sha1:c67441e71776eff374f5777849fe585cde358e4a - pristine_git_object: 38b34ecf170e1145e3e9895d3b974111fbb92def + last_write_checksum: sha1:fe58fe6fa39745ba4f5ef4ff2429241d575dd9d8 + pristine_git_object: 02f39f02fde9d9c60f62eaa3c747e45517c675cb src/models/listknowledgebasesresponse.ts: id: c87f5f66589f last_write_checksum: sha1:4c9bc50950766d5d9de41cedccc00b3eb21f9905 @@ -2440,8 +2488,8 @@ trackedFiles: pristine_git_object: 40f03011a6e9a83e36b5ba7437ec713edf234136 src/models/listtracesresponse.ts: id: 4d71c48650f9 - last_write_checksum: sha1:8296145edacb65223c6999df05aeb3df9a510732 - pristine_git_object: dd810af0379f2d11b1e4b958a99d9ebad94209b9 + last_write_checksum: sha1:aea395643e1abdc91e39617e69d67cab81b6f7dd + pristine_git_object: ee4aaf340e22b4ef841d0db79d7ec3a862d28c17 src/models/meta.ts: id: 4958d003ef97 last_write_checksum: sha1:e580881867eed6ab0fa680bf674ebaa24e90c981 @@ -2466,42 +2514,46 @@ trackedFiles: id: 933b3121cd4e last_write_checksum: sha1:2824b10f6976e895a06711e169e10887663234f8 pristine_git_object: f7f8525e802c5b8f347944a01a1be2be1f5e0d53 + src/models/ocrpageelement.ts: + id: 43eb85ca6b6e + last_write_checksum: sha1:1e4b559b489fdfb03f77f6c4e1601bbf1b32b1bb + pristine_git_object: 43e85c739cfa75cbd0aa65a6b39a4526f9fa5798 src/models/ocrpageimage.ts: id: dca7b6777d62 last_write_checksum: sha1:2023b73b45ec80a30b75867f47b2053297e9c02a pristine_git_object: b3cbf5aaf985a945776e28351d9b6e9a9f167c37 src/models/ocrpageresult.ts: id: 3efbe38bbfb1 - last_write_checksum: sha1:557549540750769e0969bf2e1fafde435ecb291b - pristine_git_object: 5b3f3a8190189375cba139391e5d58447b717dea + last_write_checksum: sha1:bbeab3cec5084bb1fd780123a3c4f2d9950dd8ea + pristine_git_object: a524fbd2e698513708528769615618d69fa4329a src/models/ocrrequestmodel.ts: id: d82b57c6a800 - last_write_checksum: sha1:3d75b98fe90ff191efb86fc73de9e5d57c3c9046 - pristine_git_object: 1f2f7ab0167480b4a1156d27cfce236691c05c2f + last_write_checksum: sha1:fb0a142b6e04214841c4ec701988f91dd5f801af + pristine_git_object: 3b42466d047b6a0e30e9f21a3cfa03f06762858e src/models/ocrresponsemodel.ts: id: 81c8e1374877 last_write_checksum: sha1:e9200797cbcb52b0b41d6a794e239675ef6550f1 pristine_git_object: f7942e161898c22f1e7e050d6dbb4784d49aa40e src/models/ocrusageinfo.ts: id: 7d0754226ec1 - last_write_checksum: sha1:300245ade9eeb90d35111c85bbc75a32733be0cb - pristine_git_object: ed29d10ebcc33987a3492cbd21901ccae4b72d1c + last_write_checksum: sha1:a4973d088a9f5c20f0aa228113e0a834a83a609a + pristine_git_object: 7e771865f0754f82d394e46423a9cde0377188bd src/models/op.ts: id: 13353dff4828 last_write_checksum: sha1:fd5e444be6ae90f4c6e3d67677ee6ad48a7e5e7d pristine_git_object: 58da15d0c3aaa4713959b65455623f1c20a3abfe src/models/openaitypeschatchatcompletioncustomtoolparamcustom.ts: id: 98b1820d5772 - last_write_checksum: sha1:9ebbc1a90924335608808b8e96021aa60f70d74c - pristine_git_object: b5b8319911eaca1a6a84db6a63e986fad005b28f + last_write_checksum: sha1:909977f07e021a95ef12949c43cdafb9fa0590c7 + pristine_git_object: e3a43fc10062b0684792a1506f48cc7e4bf46a42 src/models/openaitypeschatchatcompletionmessagecustomtoolcallparamcustom.ts: id: 01d98a8fb574 - last_write_checksum: sha1:47202136d49be4eef21874326706957e7500d0b6 - pristine_git_object: c4ba71b219bb70f879cf70cd0f9bf480aeaf3cc8 + last_write_checksum: sha1:f624c5fe220929fda29e8d934cfe3575bf6b1aea + pristine_git_object: 0177e705feb68237c29251263dd704a33526a588 src/models/openaitypeschatchatcompletionmessagefunctiontoolcallparamfunction.ts: id: 65545ebb10b8 - last_write_checksum: sha1:cc24e7f890c4d467f3c5987f1470eac031532f65 - pristine_git_object: c404a07d011443e3f3b825e441f463f9786fe9bc + last_write_checksum: sha1:f0ca261affd7651eb6aba0e683e8edb347a3571f + pristine_git_object: afb7684ec486ef780c131a20f3889c77886096db src/models/openaitypeschatchatcompletionnamedtoolchoicecustomparamcustom.ts: id: eef42d309087 last_write_checksum: sha1:50762cd69cb9e92520361f46ae96428b207d25db @@ -2576,8 +2628,8 @@ trackedFiles: pristine_git_object: b2b2965dce6b4c18c4cb4e8a3aa5dba85a8b7c99 src/models/operations/functionstreamcallstreampost.ts: id: e5a256f310d7 - last_write_checksum: sha1:979e26f8a34dbe5a2a2c6df7007955454886765a - pristine_git_object: 340283f7b9393a8cb847c7f332959584eb20c946 + last_write_checksum: sha1:770add9695286a2ca95d04d1906ecd3d2d34f9ea + pristine_git_object: 7c185984b026669c86edc860b8bbd34f0d709998 src/models/operations/getcustommodelbynamemodelscustombynamenameget.ts: id: 9ed64aa434e1 last_write_checksum: sha1:9086babff32e23ffe5a7d93ffd8646b877c85588 @@ -2606,6 +2658,10 @@ trackedFiles: id: c28b9f02dac6 last_write_checksum: sha1:da9bd7392ec2910bbdc82e872f1d58e1407aedef pristine_git_object: 4cb4e06b6b068dfe5e63311bb58b0dff4c3d3154 + src/models/operations/getfunctionconfigfunctionsfunctionidconfigget.ts: + id: 47a5be058339 + last_write_checksum: sha1:7abecf6089b0dfb8ebf518fe4b02a922b5512199 + pristine_git_object: 722c6a59a3575c0ff22f605e794dd3b5ed80aa50 src/models/operations/getfunctionfunctionsfunctionidget.ts: id: d781517e6f03 last_write_checksum: sha1:cd4806b42811f8780670714649be5f2c3d679352 @@ -2644,8 +2700,8 @@ trackedFiles: pristine_git_object: 57bc33563a2c3273d4ed326de006e49d49d5be10 src/models/operations/index.ts: id: 0d9ffaf774d2 - last_write_checksum: sha1:2615fc64b00b881294b2b4dd135e97a0d65486c9 - pristine_git_object: f2cb907800a7b27a57b17478777cc5260b277c2f + last_write_checksum: sha1:37dd989e72243be5a072b93dc356a0c31492aaef + pristine_git_object: 1cd65f39fa75a6998fe64418728d826d44357a13 src/models/operations/listcustommodelsmodelscustomget.ts: id: e455d05ec0ed last_write_checksum: sha1:630a7362d10d2360cf3fc6c275dccea9c0ef0d58 @@ -2686,6 +2742,10 @@ trackedFiles: id: 6096467ecc48 last_write_checksum: sha1:c64636fb47fe67c57a42884f3e4fcffffc739dd5 pristine_git_object: d5bf83b53b8c7ebc8858e2ce6b3d80252665788a + src/models/operations/putsteeringfunctionsfunctionidconfigsteeringput.ts: + id: 64725d1be4e9 + last_write_checksum: sha1:2a21b8a109c02af6b5b00c9356a923e4e9a3b739 + pristine_git_object: 158c59582f5f715c1d84b9d7951c4e64108e1e99 src/models/operations/querydatasetentriesdatasetsdatasetidentriesquerypost.ts: id: 4a03466b751d last_write_checksum: sha1:d5d5ae89e40faf21d3985a2c0fb52b4f776f9976 @@ -2704,12 +2764,12 @@ trackedFiles: pristine_git_object: e4865764ed20eb001efc709ea404efc2d7ed7633 src/models/operations/streamfunctionfunctionsfunctionidcallstreampost.ts: id: 07b7965e3d2a - last_write_checksum: sha1:ac26e55dde7cbaf0b6c7e656c61c1ccdbf4a1a59 - pristine_git_object: c5e209297c2d6b43b38cfe3957bc5b4b9d715a2a + last_write_checksum: sha1:ff48b2e0cdcb8bb0ca105c70195d13931c439c24 + pristine_git_object: 78867ee70b3912ae4ddeceaf25fb972ae07d9d95 src/models/operations/streamfunctionrevisionfunctionsfunctionidcallstreamrevisionidpost.ts: id: 23b4043d5b3b - last_write_checksum: sha1:c2f12403cdb84b20e2ca77da85804a972c06d8af - pristine_git_object: e4a05eaf485a6acd52649c048a886a784885c6da + last_write_checksum: sha1:c76d85c56559711af4f970369761309982dabcfd + pristine_git_object: 7d119079223d7de618bfa7a25149587bf1ff5e78 src/models/operations/submitspanfeedbackspansspanidfeedbackpost.ts: id: 2d935520f209 last_write_checksum: sha1:bd5106f5bd91eac640a4c4c42bf6f9f29be5ff66 @@ -2744,8 +2804,8 @@ trackedFiles: pristine_git_object: 5ea1b7131a9f32a14c8b277c169dd9fb68d6e1ec src/models/operations/usageanalyticsusageget.ts: id: 142334adf3de - last_write_checksum: sha1:ffc5bed3717c9b3765fd1dc99e3301790ef863ab - pristine_git_object: 23157722ea23491873cbd3ef38a069ebbd082924 + last_write_checksum: sha1:90b37b7348443b1be4fa6b8694637d35adb5a2c2 + pristine_git_object: 5053a5ed3022d81a9e376f17ffbc17b049f0abc4 src/models/paginatedresponsegetdatasetentriesresponse.ts: id: 922012a66625 last_write_checksum: sha1:3ea42a8a4cb068af8bdcd2561c1481301b3d844b @@ -2796,8 +2856,8 @@ trackedFiles: pristine_git_object: 8d99b6e986a59a140377bc0d5d74484512bcaf6b src/models/prompttokensdetails.ts: id: f6a8f5d8d09b - last_write_checksum: sha1:fb3de1157f13f6af8248e148f9c3533e36d8b0c8 - pristine_git_object: d22c01ac4532496741a0ab1440d5b9ddd581170a + last_write_checksum: sha1:1599b4e0ca1213430944f52fb05510d71f2a9f24 + pristine_git_object: 27948556741746940ad4918f2c274dbf1f4d366a src/models/querydatasetentriesresponse.ts: id: 2da742f8ceda last_write_checksum: sha1:bd3c4a08dd5995732090a3a7a8d86b7255030de8 @@ -2812,12 +2872,12 @@ trackedFiles: pristine_git_object: 7143ad0a47ba90a04d7c4684f92f46847f11e89b src/models/registercustommodelrequest.ts: id: af5f2f2e687d - last_write_checksum: sha1:b48e9b96c109fb8675c33a631b3d21c9092fe2c4 - pristine_git_object: dac0d091ee075f5dd6994f41e56d9d854cdf6f50 + last_write_checksum: sha1:785eadebd5d95bdfe8e3377d5f3562c74a074573 + pristine_git_object: 5ab7163d068fa2c036579d662b1cb6f8e72f0a66 src/models/registercustommodelresponse.ts: id: e6417e1d4f02 - last_write_checksum: sha1:8a29f285bfbd694d9c04d65892270d251118090a - pristine_git_object: d50e91ce38a8afebe401116f1652342df7b75505 + last_write_checksum: sha1:75cb94d08e68c23977e7ad42d72f351c8f8f1472 + pristine_git_object: ce26d1daecd68ce67185fa822e8beed75352a69c src/models/registerfileuploadrequest.ts: id: 8b755121c85b last_write_checksum: sha1:e491eb7b7404c402f6583401433cb1848c68e504 @@ -2848,16 +2908,16 @@ trackedFiles: pristine_git_object: da54c9c8efb41414fb977bb99564536c081b6a46 src/models/responseformatjsonobject.ts: id: ae5419a9e494 - last_write_checksum: sha1:33db9a6a8b14bd58d82054d6d9dbcfbeddde41be - pristine_git_object: fb92f4b85059b314634fe1fb180f308dad7a4cbf + last_write_checksum: sha1:51981e7dfc8be0c91bd079f361affa67cdea8005 + pristine_git_object: 409a79d88f71d4fb351cdb79e03fd72c58743566 src/models/responseformatjsonschema.ts: id: ff0b42f802dc - last_write_checksum: sha1:dea26df436f357c5832c1315a701d23402e42a62 - pristine_git_object: 43469a6f57fbc640e1e9d40b7b037bb8d5c98747 + last_write_checksum: sha1:45fad6741fe23ad7ce65786103c98478cbe9c389 + pristine_git_object: e279ed63102c6544aab138eaf70231a046e0f875 src/models/responseformattext.ts: id: 872eaee007ec - last_write_checksum: sha1:2f0c1589b192debb802457255c627598f8264545 - pristine_git_object: fde67810bbcf13d0d9bcbbc6d33f43d656c8d270 + last_write_checksum: sha1:b4491260f451a1ba63c39598e841e4bf5a161110 + pristine_git_object: c8c2c0cfd0315908b92e9ff1e240e70845648aec src/models/savetodatasetresponse.ts: id: bb5a3ad6bfa6 last_write_checksum: sha1:3ccca1e7e001404711af93c14c92fe32dae88e8b @@ -2878,6 +2938,10 @@ trackedFiles: id: 40d088e6153b last_write_checksum: sha1:6ba025a0383066e7225f3816b3b70ef70bfa21c5 pristine_git_object: aa4d6ce56b3b70de8825ccd639a2ce77334b4b25 + src/models/steeringconfig.ts: + id: 9af4215a1c80 + last_write_checksum: sha1:3e766cb8db075d89ad109944384f2d2901e67097 + pristine_git_object: 40a4d0ef1e4f7d786d527b72f3c38714a910a63f src/models/submitfeedbackrequest.ts: id: 8c77927ea6f0 last_write_checksum: sha1:aa6b2ee54df2db9212b7149f43eaee0dace7bee3 @@ -2904,8 +2968,8 @@ trackedFiles: pristine_git_object: e1bc6f2f551bff45f69bd57a62be4df9d09746e7 src/models/updatecustommodelresponse.ts: id: b68982601415 - last_write_checksum: sha1:d075212b6f0f01d277fbebe56ecbee24e1f18ae7 - pristine_git_object: c6496d1dad1f2705845029f71db285d57b421cb9 + last_write_checksum: sha1:359c1430e20f8f8858fa2619b347489caa9889fe + pristine_git_object: d63b44702261fa66f46509b4889e147e782e0689 src/models/updatedatasetentryrequest.ts: id: a7eb1ea68dab last_write_checksum: sha1:7d10d62856d003a204a1c5256abc7f411eebbd2c @@ -2916,12 +2980,12 @@ trackedFiles: pristine_git_object: 8344ab2dac66b73105a18d7fcc81113d067767c4 src/models/updatefunctionrequest.ts: id: 8513ed120b5d - last_write_checksum: sha1:e5100f914c8ab5708980842a2d2cc7d58a497909 - pristine_git_object: 20f638a2ad05539fea1f2d5a0f933efd8b4e10d8 + last_write_checksum: sha1:22f94c21aa016ff6890f2d5ed6b57d5577124986 + pristine_git_object: 50e4083ddefa5b4f665a34aa536c600927f7ffcb src/models/updatefunctionresponse.ts: id: c8d50abcf66b - last_write_checksum: sha1:96087a0754fa9f76d9876e281e20fa232442b080 - pristine_git_object: b4d0ad2d4b89e6d5c3b19436b095391ec12f8c52 + last_write_checksum: sha1:66281035fd6eccf2de13885524f0cd1731cd1282 + pristine_git_object: c909790db3e8ac5c55d0447d27c978d4a3f36c7a src/models/updatemodelaliasrequest.ts: id: 8725185942ba last_write_checksum: sha1:d831eb0d425e7e55f69a63fc963128647be141f0 @@ -2952,20 +3016,20 @@ trackedFiles: pristine_git_object: 2270c556702227bbad7650f8acceff843a41090a src/models/websearchoptions.ts: id: ae8f3959df1c - last_write_checksum: sha1:8a9c3bf41e8409d8efeafd65dc43eef204358c16 - pristine_git_object: 280e0ed7d3e82d492cae6664bb08797f42472598 + last_write_checksum: sha1:ea87f0856262b9039499b4b57bae49152a408d3d + pristine_git_object: a55a3307131883b2d5cbf0cd8f9dd4ef1b4d5b51 src/models/websearchoptionsuserlocation.ts: id: 46d6a153a80a - last_write_checksum: sha1:1c1090b0e3137df955187252f8d76aac1476d873 - pristine_git_object: fb335e9992f7e9cdacad81e870ef1adc8ed67b18 + last_write_checksum: sha1:e58f2bc73c227a205b6d4710769af819d8171fe3 + pristine_git_object: 3013a7cfff62712e2f25aa88f1943a03725f64a6 src/models/websearchoptionsuserlocationapproximate.ts: id: b8d608734838 - last_write_checksum: sha1:a986bfb22e959feffd7a793fcf9f84c98edc7fb3 - pristine_git_object: d8b3d31e1e2748607ef44c52dd76f419b68ea689 + last_write_checksum: sha1:e8741fcc0026e57953aefc75d840c158af6c0406 + pristine_git_object: b5e8543327ddfe40d1b6626fbae241eb78597817 src/sdk/analytics.ts: id: 411d91261be3 - last_write_checksum: sha1:8e9b3ffa697fc48d7d37fedc53709d71d9751fb7 - pristine_git_object: 4e34a767c7eb5b4ed9d63aea2d2feb97c962bb29 + last_write_checksum: sha1:dd1a394f904773d2fcc0f9fc8b56176c70f311e5 + pristine_git_object: 4723ac5595e5839c1f9e6547144ac3a945f43926 src/sdk/datasets.ts: id: 2f1e89a21914 last_write_checksum: sha1:f79bc8ba058001f9a28d01371c7bd3e38327592a @@ -2978,10 +3042,14 @@ trackedFiles: id: 0b5a3a679c57 last_write_checksum: sha1:927dc8eb8ffc5005d16fc542cf25e13bd7ed531a pristine_git_object: 37c2f97fe32b9eec41886eb3e8f157d482339e1d + src/sdk/functionconfig.ts: + id: 19f4b5048599 + last_write_checksum: sha1:a530c2f583be4299d65075d5d60659a61b852bdc + pristine_git_object: 292d4397393de708161ab782d8ed7e0cd1e9978a src/sdk/functions.ts: id: cbc1d38a7d46 - last_write_checksum: sha1:92fb1021fbe6c93c21f0642aaf9099d94c58dfed - pristine_git_object: 062812a1a0ca8f1225a42cd86cfce49d449f35d4 + last_write_checksum: sha1:f4bbfad1046c51b690eb36dcbc8f5db683d7ad18 + pristine_git_object: 32a650ee87025d32cf2fcb6b30cd44f819b74b88 src/sdk/index.ts: id: a857902a703f last_write_checksum: sha1:ed6d64f2a6135349aa8498b8d8cff9ba85c7fb8f @@ -2992,8 +3060,8 @@ trackedFiles: pristine_git_object: abd9031cf31283312ddde69e3e952d63bdfd3296 src/sdk/languagemodels.ts: id: c375504a88ed - last_write_checksum: sha1:2fd11f3b1ddc63587b4e26272342c7b6021ffa7f - pristine_git_object: e8f024e724b2821b97c1b37c20b1a54a9e3d0bae + last_write_checksum: sha1:0b80f27a98189af65dd0888d12b08acab83f758e + pristine_git_object: 8f7efc41b3c4ea94e239a050347ae73b1e035ed7 src/sdk/ocr.ts: id: 75d7fe4f0002 last_write_checksum: sha1:fb5a7c4c608acd6f0f7fc5c07a56dfa55b7f9f26 @@ -3008,12 +3076,12 @@ trackedFiles: pristine_git_object: ed1ed7a0d2166c23923f646fb9e8b0a34ba6c065 src/sdk/revisions.ts: id: 3a714caba039 - last_write_checksum: sha1:c8ff47ee760e2816a56f66d34e4365f1b9838da3 - pristine_git_object: 5869bac1e088a87e0e332d7062fbf06c50dee14d + last_write_checksum: sha1:882e66e80c3f2cfcc940ded2985b66cf68cff519 + pristine_git_object: f913fb98f4291489ebe3dbafe8d53f90b138eb11 src/sdk/sdk.ts: id: 784571af2f69 - last_write_checksum: sha1:74b472a6339a54d166ebb3ae3cd21fa14f907739 - pristine_git_object: 92bc74075d36a8694e762a7fd3d7dc406b95551c + last_write_checksum: sha1:1c96c9395d38a490ab48f6ef3ca003e5b79fd45c + pristine_git_object: cd7ffb5190432bedb0d9cea1b9e5029fbd18bfe0 src/sdk/spanmetrics.ts: id: 273ced1995d4 last_write_checksum: sha1:591300ee66cfb61b181225004ccfa68ddbb05ff6 @@ -3028,8 +3096,8 @@ trackedFiles: pristine_git_object: 76b7c8155a3ca16b5b32067882c14e649e9a4186 src/types/async.ts: id: fac8da972f86 - last_write_checksum: sha1:3ff07b3feaf390ec1aeb18ff938e139c6c4a9585 - pristine_git_object: 689dba5de50e8769e5f3bb913e3f42a146d15bc1 + last_write_checksum: sha1:675d04bb4b4081dc3482f18de98674f9b446e7b4 + pristine_git_object: 1543b95cf7be9b5a871d7395f259dbd65331dc21 src/types/blobs.ts: id: f8ab9b326c86 last_write_checksum: sha1:cf45d78916671cb6345a11c97c633c64402bc27c @@ -3068,8 +3136,8 @@ trackedFiles: pristine_git_object: b7a2a13f3dff50663429df24ae2f55b647ff1084 tsconfig.json: id: 61ebb9fd6e8c - last_write_checksum: sha1:c3ec7996536cdb9a54319e7d1eb3b199b733d34c - pristine_git_object: 0ccdbe286a8780e06a469a9eb7e2fb95322fd507 + last_write_checksum: sha1:79dc1550d921fefec69f8632ed3b24dad41ca2f6 + pristine_git_object: 76110f883cac40bb04fb2f376cd69ea8c8d6d215 examples: function_call_call_post: speakeasy-default-function-call-call-post: @@ -3565,7 +3633,7 @@ examples: application/json: {"name": "my-function", "description": "This function is used to add two numbers and return the result.", "instructions": "You are a calculator that adds two numbers and returns the result.", "input_schema": {"properties": {"x": {"title": "X", "type": "integer"}, "y": {"title": "Y", "type": "integer"}}, "required": ["x", "y"], "title": "OpperInputExample", "type": "object"}, "output_schema": {"properties": {"sum": {"title": "Sum", "type": "integer"}}, "required": ["sum"], "title": "OpperOutputExample", "type": "object"}, "configuration": {"invocation.few_shot.count": 3, "invocation.structured_generation.max_attempts": 5, "invocation.cache.ttl": 0, "beta.invocation.input_validation.enabled": false, "beta.invocation.xml_mode.enabled": false}} responses: "201": - application/json: {"name": "my-function", "description": "This function is used to add two numbers and return the result.", "instructions": "You are a calculator that adds two numbers and returns the result.", "input_schema": {"properties": {"x": {"title": "X", "type": "integer"}, "y": {"title": "Y", "type": "integer"}}, "required": ["x", "y"], "title": "OpperInputExample", "type": "object"}, "output_schema": {"properties": {"sum": {"title": "Sum", "type": "integer"}}, "required": ["sum"], "title": "OpperOutputExample", "type": "object"}, "configuration": {"invocation.few_shot.count": 3, "invocation.structured_generation.max_attempts": 5, "invocation.cache.ttl": 0, "beta.invocation.input_validation.enabled": false, "beta.invocation.xml_mode.enabled": false}, "id": "a246e349-93f1-4ae1-9ed0-d3ca4f954a62", "observer_enabled": true} + application/json: {"name": "my-function", "description": "This function is used to add two numbers and return the result.", "instructions": "You are a calculator that adds two numbers and returns the result.", "input_schema": {"properties": {"x": {"title": "X", "type": "integer"}, "y": {"title": "Y", "type": "integer"}}, "required": ["x", "y"], "title": "OpperInputExample", "type": "object"}, "output_schema": {"properties": {"sum": {"title": "Sum", "type": "integer"}}, "required": ["sum"], "title": "OpperOutputExample", "type": "object"}, "configuration": {"invocation.few_shot.count": 3, "invocation.structured_generation.max_attempts": 5, "invocation.cache.ttl": 0, "beta.invocation.input_validation.enabled": false, "beta.invocation.xml_mode.enabled": false}, "id": "a246e349-93f1-4ae1-9ed0-d3ca4f954a62", "observer_enabled": false, "is_v3": false} "409": application/json: {"type": "ConflictError", "message": "The resource already exists", "detail": "The resource already exists"} "422": @@ -3584,7 +3652,7 @@ examples: sort: "name" responses: "200": - application/json: {"meta": {"total_count": 1}, "data": [{"id": "2a6a54a3-b337-49b3-b66f-09decd0ef965", "name": "my-function", "revision_id": "9e592982-466b-4b6a-891c-890fa7d24892"}, {"id": "2a6a54a3-b337-49b3-b66f-09decd0ef965", "name": "my-function", "revision_id": "9e592982-466b-4b6a-891c-890fa7d24892"}, {"id": "2a6a54a3-b337-49b3-b66f-09decd0ef965", "name": "my-function", "revision_id": "9e592982-466b-4b6a-891c-890fa7d24892"}]} + application/json: {"meta": {"total_count": 1}, "data": [{"id": "2a6a54a3-b337-49b3-b66f-09decd0ef965", "name": "my-function", "revision_id": "9e592982-466b-4b6a-891c-890fa7d24892", "is_v3": false}, {"id": "2a6a54a3-b337-49b3-b66f-09decd0ef965", "name": "my-function", "revision_id": "9e592982-466b-4b6a-891c-890fa7d24892", "is_v3": false}, {"id": "2a6a54a3-b337-49b3-b66f-09decd0ef965", "name": "my-function", "revision_id": "9e592982-466b-4b6a-891c-890fa7d24892", "is_v3": false}]} "422": application/json: {"type": "RequestValidationError", "message": "The request is invalid", "detail": {"input": "input value", "loc": ["path", "to", "error"], "msg": "error message", "type": "type of error"}} "400": @@ -3600,7 +3668,7 @@ examples: function_id: "42016421-16e8-4b50-a2d1-30fc3894763b" responses: "200": - application/json: {"name": "my-function", "description": "This function is used to add two numbers and return the result.", "instructions": "You are a calculator that adds two numbers and returns the result.", "input_schema": {"properties": {"x": {"title": "X", "type": "integer"}, "y": {"title": "Y", "type": "integer"}}, "required": ["x", "y"], "title": "OpperInputExample", "type": "object"}, "output_schema": {"properties": {"sum": {"title": "Sum", "type": "integer"}}, "required": ["sum"], "title": "OpperOutputExample", "type": "object"}, "configuration": {"invocation.few_shot.count": 3, "invocation.structured_generation.max_attempts": 5, "invocation.cache.ttl": 0, "beta.invocation.input_validation.enabled": false, "beta.invocation.xml_mode.enabled": false}, "id": "692b28e0-d3e6-4ea4-adf0-c629aeecfdab", "observer_enabled": true} + application/json: {"name": "my-function", "description": "This function is used to add two numbers and return the result.", "instructions": "You are a calculator that adds two numbers and returns the result.", "input_schema": {"properties": {"x": {"title": "X", "type": "integer"}, "y": {"title": "Y", "type": "integer"}}, "required": ["x", "y"], "title": "OpperInputExample", "type": "object"}, "output_schema": {"properties": {"sum": {"title": "Sum", "type": "integer"}}, "required": ["sum"], "title": "OpperOutputExample", "type": "object"}, "configuration": {"invocation.few_shot.count": 3, "invocation.structured_generation.max_attempts": 5, "invocation.cache.ttl": 0, "beta.invocation.input_validation.enabled": false, "beta.invocation.xml_mode.enabled": false}, "id": "692b28e0-d3e6-4ea4-adf0-c629aeecfdab", "observer_enabled": false, "is_v3": false} "422": application/json: {"type": "RequestValidationError", "message": "The request is invalid", "detail": {"input": "input value", "loc": ["path", "to", "error"], "msg": "error message", "type": "type of error"}} "400": @@ -3618,7 +3686,7 @@ examples: application/json: {"name": "my-function", "description": "This function is used to add two numbers and return the result.", "instructions": "You are a calculator that adds two numbers and returns the result.", "input_schema": {"properties": {"x": {"title": "X", "type": "integer"}, "y": {"title": "Y", "type": "integer"}}, "required": ["x", "y"], "title": "OpperInputExample", "type": "object"}, "output_schema": {"properties": {"sum": {"title": "Sum", "type": "integer"}}, "required": ["sum"], "title": "OpperOutputExample", "type": "object"}, "configuration": {"beta.invocation.input_validation.enabled": false, "beta.invocation.xml_mode.enabled": false, "invocation.cache.ttl": 0, "invocation.few_shot.count": 3, "invocation.structured_generation.max_attempts": 5}} responses: "200": - application/json: {"name": "my-function", "description": "This function is used to add two numbers and return the result.", "instructions": "You are a calculator that adds two numbers and returns the result.", "input_schema": {"properties": {"x": {"title": "X", "type": "integer"}, "y": {"title": "Y", "type": "integer"}}, "required": ["x", "y"], "title": "OpperInputExample", "type": "object"}, "output_schema": {"properties": {"sum": {"title": "Sum", "type": "integer"}}, "required": ["sum"], "title": "OpperOutputExample", "type": "object"}, "configuration": {"invocation.few_shot.count": 3, "invocation.structured_generation.max_attempts": 5, "invocation.cache.ttl": 0, "beta.invocation.input_validation.enabled": false, "beta.invocation.xml_mode.enabled": false}, "id": "7111f9fb-1c8a-4eee-bcaf-a0e751490b7f", "observer_enabled": true} + application/json: {"name": "my-function", "description": "This function is used to add two numbers and return the result.", "instructions": "You are a calculator that adds two numbers and returns the result.", "input_schema": {"properties": {"x": {"title": "X", "type": "integer"}, "y": {"title": "Y", "type": "integer"}}, "required": ["x", "y"], "title": "OpperInputExample", "type": "object"}, "output_schema": {"properties": {"sum": {"title": "Sum", "type": "integer"}}, "required": ["sum"], "title": "OpperOutputExample", "type": "object"}, "configuration": {"invocation.few_shot.count": 3, "invocation.structured_generation.max_attempts": 5, "invocation.cache.ttl": 0, "beta.invocation.input_validation.enabled": false, "beta.invocation.xml_mode.enabled": false}, "id": "7111f9fb-1c8a-4eee-bcaf-a0e751490b7f", "observer_enabled": false, "is_v3": false} "422": application/json: {"type": "RequestValidationError", "message": "The request is invalid", "detail": {"input": "input value", "loc": ["path", "to", "error"], "msg": "error message", "type": "type of error"}} "400": @@ -3649,7 +3717,7 @@ examples: revision_id: "e60c7090-8545-4e1f-84d5-0d9e4be6c0d1" responses: "200": - application/json: {"name": "my-function", "description": "This function is used to add two numbers and return the result.", "instructions": "You are a calculator that adds two numbers and returns the result.", "input_schema": {"properties": {"x": {"title": "X", "type": "integer"}, "y": {"title": "Y", "type": "integer"}}, "required": ["x", "y"], "title": "OpperInputExample", "type": "object"}, "output_schema": {"properties": {"sum": {"title": "Sum", "type": "integer"}}, "required": ["sum"], "title": "OpperOutputExample", "type": "object"}, "configuration": {"invocation.few_shot.count": 3, "invocation.structured_generation.max_attempts": 5, "invocation.cache.ttl": 0, "beta.invocation.input_validation.enabled": false, "beta.invocation.xml_mode.enabled": false}, "id": "1af4e1a9-7f11-4e7c-962d-827d5bc836a1", "observer_enabled": true} + application/json: {"name": "my-function", "description": "This function is used to add two numbers and return the result.", "instructions": "You are a calculator that adds two numbers and returns the result.", "input_schema": {"properties": {"x": {"title": "X", "type": "integer"}, "y": {"title": "Y", "type": "integer"}}, "required": ["x", "y"], "title": "OpperInputExample", "type": "object"}, "output_schema": {"properties": {"sum": {"title": "Sum", "type": "integer"}}, "required": ["sum"], "title": "OpperOutputExample", "type": "object"}, "configuration": {"invocation.few_shot.count": 3, "invocation.structured_generation.max_attempts": 5, "invocation.cache.ttl": 0, "beta.invocation.input_validation.enabled": false, "beta.invocation.xml_mode.enabled": false}, "id": "1af4e1a9-7f11-4e7c-962d-827d5bc836a1", "observer_enabled": false, "is_v3": false} "422": application/json: {"type": "RequestValidationError", "message": "The request is invalid", "detail": {"input": "input value", "loc": ["path", "to", "error"], "msg": "error message", "type": "type of error"}} "400": @@ -3992,7 +4060,7 @@ examples: name: "" responses: "200": - application/json: {"name": "my-function", "description": "This function is used to add two numbers and return the result.", "instructions": "You are a calculator that adds two numbers and returns the result.", "input_schema": {"properties": {"x": {"title": "X", "type": "integer"}, "y": {"title": "Y", "type": "integer"}}, "required": ["x", "y"], "title": "OpperInputExample", "type": "object"}, "output_schema": {"properties": {"sum": {"title": "Sum", "type": "integer"}}, "required": ["sum"], "title": "OpperOutputExample", "type": "object"}, "configuration": {"invocation.few_shot.count": 3, "invocation.structured_generation.max_attempts": 5, "invocation.cache.ttl": 0, "beta.invocation.input_validation.enabled": false, "beta.invocation.xml_mode.enabled": false}, "id": "6f887222-2826-417a-ba23-ddd2b6bc4cbf", "observer_enabled": true} + application/json: {"name": "my-function", "description": "This function is used to add two numbers and return the result.", "instructions": "You are a calculator that adds two numbers and returns the result.", "input_schema": {"properties": {"x": {"title": "X", "type": "integer"}, "y": {"title": "Y", "type": "integer"}}, "required": ["x", "y"], "title": "OpperInputExample", "type": "object"}, "output_schema": {"properties": {"sum": {"title": "Sum", "type": "integer"}}, "required": ["sum"], "title": "OpperOutputExample", "type": "object"}, "configuration": {"invocation.few_shot.count": 3, "invocation.structured_generation.max_attempts": 5, "invocation.cache.ttl": 0, "beta.invocation.input_validation.enabled": false, "beta.invocation.xml_mode.enabled": false}, "id": "6f887222-2826-417a-ba23-ddd2b6bc4cbf", "observer_enabled": false, "is_v3": false} "400": application/json: {"type": "BadRequestError", "message": "The request is invalid", "detail": "The request is invalid"} "401": @@ -4388,7 +4456,7 @@ examples: process_ocr_ocr_post: speakeasy-default-process-ocr-ocr-post: requestBody: - application/json: {"model": "mistral/mistral-ocr-latest", "document": {"type": "document_url"}, "include_image_base64": false} + application/json: {"model": "mistral/mistral-ocr-latest", "document": {"type": "document_url"}, "include_image_base64": false, "docling_extra": null} responses: "200": application/json: {"id": "", "pages": [], "model": "Land Cruiser", "usage_info": {"pages_processed": 811420}} @@ -4413,6 +4481,40 @@ examples: application/json: {"type": "NotFoundError", "message": "The resource was not found", "detail": "Span 123e4567-e89b-12d3-a456-426614174000 not found"} "422": application/json: {"type": "RequestValidationError", "message": "The request is invalid", "detail": {"input": "input value", "loc": ["path", "to", "error"], "msg": "error message", "type": "type of error"}} + get_function_config_functions__function_id__config_get: + speakeasy-default-get-function-config-functions-function-id-config-get: + parameters: + path: + function_id: "35f0ecac-58cd-4c50-933a-f5b219c7a159" + responses: + "200": + application/json: {} + "400": + application/json: {"type": "BadRequestError", "message": "The request is invalid", "detail": "The request is invalid"} + "401": + application/json: {"type": "UnauthorizedError", "message": "The request is unauthorized", "detail": "The API key is invalid"} + "404": + application/json: {"type": "NotFoundError", "message": "The resource was not found", "detail": "Span 123e4567-e89b-12d3-a456-426614174000 not found"} + "422": + application/json: {"type": "RequestValidationError", "message": "The request is invalid", "detail": {"input": "input value", "loc": ["path", "to", "error"], "msg": "error message", "type": "type of error"}} + put_steering_functions__function_id__config_steering_put: + speakeasy-default-put-steering-functions-function-id-config-steering-put: + parameters: + path: + function_id: "275e1f83-d2c9-41a2-b167-a3e5ba89e256" + requestBody: + application/json: {"enabled": false, "fewShotCount": 3, "fewShotStrategy": "semantic", "fewShotInjection": "auto"} + responses: + "200": + application/json: {"key": "", "key1": ""} + "400": + application/json: {"type": "BadRequestError", "message": "The request is invalid", "detail": "The request is invalid"} + "401": + application/json: {"type": "UnauthorizedError", "message": "The request is unauthorized", "detail": "The API key is invalid"} + "404": + application/json: {"type": "NotFoundError", "message": "The resource was not found", "detail": "Span 123e4567-e89b-12d3-a456-426614174000 not found"} + "422": + application/json: {"type": "RequestValidationError", "message": "The request is invalid", "detail": {"input": "input value", "loc": ["path", "to", "error"], "msg": "error message", "type": "type of error"}} examplesVersion: 1.0.2 generatedTests: {} generatedFiles: diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 5de72b5..c1d6ce9 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -16,6 +16,8 @@ generation: requestResponseComponentNamesFeb2024: true securityFeb2025: true sharedErrorComponentsApr2025: true + sharedNestedComponentsJan2026: false + nameOverrideFeb2026: false auth: oAuth2ClientCredentialsEnabled: true oAuth2PasswordEnabled: true @@ -24,13 +26,14 @@ generation: schemas: allOfMergeStrategy: shallowMerge requestBodyFieldName: "" + versioningStrategy: automatic persistentEdits: {} tests: generateTests: true generateNewTests: false skipResponseBodyAssertions: false typescript: - version: 3.4.1 + version: 3.5.0 acceptHeaderEnum: true additionalDependencies: dependencies: {} @@ -42,6 +45,7 @@ typescript: url: https://github.com/opper-ai/opper-node additionalScripts: {} alwaysIncludeInboundAndOutbound: false + apiPromiseHelpers: false author: Speakeasy baseErrorName: OpperError clientServerStatusCodesAsErrors: true @@ -52,7 +56,10 @@ typescript: enableReactQuery: false enumFormat: union envVarPrefix: OPPER + eventStreamClassName: EventStream exportZodModelNamespace: false + fixEnumNameSanitization: false + flatAdditionalProperties: false flattenGlobalSecurity: true flatteningOrder: parameters-first formStringArrayEncodeMode: encoded-string @@ -71,6 +78,7 @@ typescript: inputModelSuffix: input jsonpath: rfc9535 laxMode: strict + legacyFileNaming: true maxMethodParams: 99 methodArguments: require-security-and-request modelPropertyCasing: camel @@ -79,10 +87,15 @@ typescript: outputModelSuffix: output packageName: opperai preApplyUnionDiscriminators: true + preserveModelFieldNames: false + privateIdentifierPrefix: '#' + requestExtras: false responseFormat: flat sseFlatResponse: false templateVersion: v2 unionStrategy: left-to-right usageSDKInitImports: [] useIndexModules: true + useOxlint: false + useTsgo: false zodVersion: v3 diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 40af9e3..085f785 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,9 +1,9 @@ -speakeasyVersion: 1.680.11 +speakeasyVersion: 1.786.1 sources: FastAPI: sourceNamespace: fast-api - sourceRevisionDigest: sha256:68b0cbe004a918df9af2bdb9f14fb8603d166eee2514fe752773b87a0b06a602 - sourceBlobDigest: sha256:9a8a62a66b7d61f0a406be7b4c63c1b2d555b9ce44d9e3f998d10c31df1d5009 + sourceRevisionDigest: sha256:9647a2bf66b77150920b8288ef4bc238f98efa051931d6a0dd5f1d81e8fa7ef3 + sourceBlobDigest: sha256:b98b91fa6d7defae3541da26390d25028a732c84e50bce46ba486529200d28fb tags: - latest - main @@ -12,10 +12,10 @@ targets: opper: source: FastAPI sourceNamespace: fast-api - sourceRevisionDigest: sha256:68b0cbe004a918df9af2bdb9f14fb8603d166eee2514fe752773b87a0b06a602 - sourceBlobDigest: sha256:9a8a62a66b7d61f0a406be7b4c63c1b2d555b9ce44d9e3f998d10c31df1d5009 + sourceRevisionDigest: sha256:9647a2bf66b77150920b8288ef4bc238f98efa051931d6a0dd5f1d81e8fa7ef3 + sourceBlobDigest: sha256:b98b91fa6d7defae3541da26390d25028a732c84e50bce46ba486529200d28fb codeSamplesNamespace: fast-api-typescript-code-samples - codeSamplesRevisionDigest: sha256:5c5b7fb4892a2ddb5a8cf1e04b161f2742e976efee6a8b613f3d666aa8474a96 + codeSamplesRevisionDigest: sha256:aff174581c3b6a84366a9d91a34d709576e1235e6b5f8ad40b8e07c746283216 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/FUNCTIONS.md b/FUNCTIONS.md index ec252ce..ea95d07 100644 --- a/FUNCTIONS.md +++ b/FUNCTIONS.md @@ -1,11 +1,11 @@ # Standalone Functions > [!NOTE] -> This section is useful if you are using a bundler and targetting browsers and +> This section is useful if you are using a bundler and targeting browsers and > runtimes where the size of an application affects performance and load times. Every method in this SDK is also available as a standalone function. This -alternative API is suitable when targetting the browser or serverless runtimes +alternative API is suitable when targeting the browser or serverless runtimes and using a bundler to build your application since all unused functionality will be tree-shaken away. This includes code for unused methods, Zod schemas, encoding helpers and response handlers. The result is dramatically smaller diff --git a/docs/models/annotation.md b/docs/models/annotation.md index 07491cc..0af955b 100644 --- a/docs/models/annotation.md +++ b/docs/models/annotation.md @@ -1,5 +1,7 @@ # Annotation +A URL citation when using web search. + ## Example Usage ```typescript @@ -21,5 +23,5 @@ let value: Annotation = { | Field | Type | Required | Description | | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | | `type` | *"url_citation"* | :heavy_check_mark: | N/A | -| `urlCitation` | [models.AnnotationURLCitation](../models/annotationurlcitation.md) | :heavy_check_mark: | N/A | +| `urlCitation` | [models.AnnotationURLCitation](../models/annotationurlcitation.md) | :heavy_check_mark: | A URL citation when using web search. | | `additionalProperties` | Record | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/annotationurlcitation.md b/docs/models/annotationurlcitation.md index 30c80ed..ac71e3d 100644 --- a/docs/models/annotationurlcitation.md +++ b/docs/models/annotationurlcitation.md @@ -1,5 +1,7 @@ # AnnotationURLCitation +A URL citation when using web search. + ## Example Usage ```typescript diff --git a/docs/models/appapipublicv2functioncallcallfunctionrequest.md b/docs/models/appapipublicv2functioncallcallfunctionrequest.md index 01d2aa9..a7deed9 100644 --- a/docs/models/appapipublicv2functioncallcallfunctionrequest.md +++ b/docs/models/appapipublicv2functioncallcallfunctionrequest.md @@ -68,7 +68,7 @@ let value: AppApiPublicV2FunctionCallCallFunctionRequest = { | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `name` | *string* | :heavy_check_mark: | Provide a unique name of the task. A function with this name will be created in the project. Functions configuration is overridden by the request parameters. | add_numbers | +| `name` | *string* | :heavy_check_mark: | Provide a unique name of the task. A function with this name will be created in the project. Functions configuration is overridden by the request parameters. | **Example 1:** add_numbers
**Example 2:** parse_document
**Example 3:** choose_tool | | `instructions` | *string* | :heavy_minus_sign: | Optionally provide an instruction for the model to complete the task. Recommended to be concise and to the point | Calculate the sum of two numbers | | `inputSchema` | Record | :heavy_minus_sign: | Optionally provide an input schema for the task. Can preferably include field descriptions to allow the model to reason about the input variables. Schema is validated against the input data and issues an error if it does not match. With the Opper SDKs you can define these schemas through libraries like Pydantic and Zod. For schemas with definitions, prefer using '$defs' and '#/$defs/...' references. | {
"properties": {
"x": {
"title": "X",
"type": "integer"
},
"y": {
"title": "Y",
"type": "integer"
}
},
"required": [
"x",
"y"
],
"title": "OpperInputExample",
"type": "object"
} | | `outputSchema` | Record | :heavy_minus_sign: | Optionally provide an output schema for the task. Response is guaranteed to match the schema or throw an error. Can preferably include field descriptions to allow the model to reason about the output variables. With the Opper SDKs you can define these schemas through libraries like Pydantic and Zod. For schemas with definitions, prefer using '$defs' and '#/$defs/...' references.

**Streaming with output_schema:** When used with streaming endpoints, enables precise field tracking via json_path. Each streaming chunk includes the exact schema field being populated (e.g., 'response.people[0].name'), allowing real-time UI updates by routing content to specific components. | {
"properties": {
"sum": {
"title": "Sum",
"type": "integer"
}
},
"required": [
"sum"
],
"title": "OpperOutputExample",
"type": "object"
} | diff --git a/docs/models/audio.md b/docs/models/audio.md index 465bfaa..cd68d57 100644 --- a/docs/models/audio.md +++ b/docs/models/audio.md @@ -1,5 +1,8 @@ # Audio +Data about a previous audio response from the model. +[Learn more](https://platform.openai.com/docs/guides/audio). + ## Example Usage ```typescript diff --git a/docs/models/chatcompletion.md b/docs/models/chatcompletion.md index ffe3c96..ebe5472 100644 --- a/docs/models/chatcompletion.md +++ b/docs/models/chatcompletion.md @@ -1,5 +1,7 @@ # ChatCompletion +Represents a chat completion response returned by model, based on the provided input. + ## Example Usage ```typescript diff --git a/docs/models/chatcompletionallowedtoolchoiceparam.md b/docs/models/chatcompletionallowedtoolchoiceparam.md index 5d91113..fa0507f 100644 --- a/docs/models/chatcompletionallowedtoolchoiceparam.md +++ b/docs/models/chatcompletionallowedtoolchoiceparam.md @@ -1,5 +1,7 @@ # ChatCompletionAllowedToolChoiceParam +Constrains the tools available to the model to a pre-defined set. + ## Example Usage ```typescript @@ -28,5 +30,5 @@ let value: ChatCompletionAllowedToolChoiceParam = { | Field | Type | Required | Description | | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -| `allowedTools` | [models.ChatCompletionAllowedToolsParam](../models/chatcompletionallowedtoolsparam.md) | :heavy_check_mark: | N/A | +| `allowedTools` | [models.ChatCompletionAllowedToolsParam](../models/chatcompletionallowedtoolsparam.md) | :heavy_check_mark: | Constrains the tools available to the model to a pre-defined set. | | `type` | *"allowed_tools"* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/chatcompletionallowedtoolsparam.md b/docs/models/chatcompletionallowedtoolsparam.md index e1e8e62..e077949 100644 --- a/docs/models/chatcompletionallowedtoolsparam.md +++ b/docs/models/chatcompletionallowedtoolsparam.md @@ -1,5 +1,7 @@ # ChatCompletionAllowedToolsParam +Constrains the tools available to the model to a pre-defined set. + ## Example Usage ```typescript diff --git a/docs/models/chatcompletionassistantmessageparam.md b/docs/models/chatcompletionassistantmessageparam.md index 45f1715..91bec88 100644 --- a/docs/models/chatcompletionassistantmessageparam.md +++ b/docs/models/chatcompletionassistantmessageparam.md @@ -1,5 +1,7 @@ # ChatCompletionAssistantMessageParam +Messages sent by the model in response to user messages. + ## Example Usage ```typescript diff --git a/docs/models/chatcompletionaudio.md b/docs/models/chatcompletionaudio.md index dd83282..26cc7c5 100644 --- a/docs/models/chatcompletionaudio.md +++ b/docs/models/chatcompletionaudio.md @@ -1,5 +1,8 @@ # ChatCompletionAudio +If the audio output modality is requested, this object contains data +about the audio response from the model. [Learn more](https://platform.openai.com/docs/guides/audio). + ## Example Usage ```typescript diff --git a/docs/models/chatcompletionaudioparam.md b/docs/models/chatcompletionaudioparam.md index 1162a5c..6a95ba2 100644 --- a/docs/models/chatcompletionaudioparam.md +++ b/docs/models/chatcompletionaudioparam.md @@ -1,5 +1,10 @@ # ChatCompletionAudioParam +Parameters for audio output. + +Required when audio output is requested with +`modalities: ["audio"]`. [Learn more](https://platform.openai.com/docs/guides/audio). + ## Example Usage ```typescript @@ -7,7 +12,7 @@ import { ChatCompletionAudioParam } from "opperai/models"; let value: ChatCompletionAudioParam = { format: "wav", - voice: "shimmer", + voice: "verse", }; ``` diff --git a/docs/models/chatcompletioncontentpartimageparam.md b/docs/models/chatcompletioncontentpartimageparam.md index 200eb33..f6e71b6 100644 --- a/docs/models/chatcompletioncontentpartimageparam.md +++ b/docs/models/chatcompletioncontentpartimageparam.md @@ -1,5 +1,7 @@ # ChatCompletionContentPartImageParam +Learn about [image inputs](https://platform.openai.com/docs/guides/vision). + ## Example Usage ```typescript diff --git a/docs/models/chatcompletioncontentpartinputaudioparam.md b/docs/models/chatcompletioncontentpartinputaudioparam.md index ef4c72d..2ff225a 100644 --- a/docs/models/chatcompletioncontentpartinputaudioparam.md +++ b/docs/models/chatcompletioncontentpartinputaudioparam.md @@ -1,5 +1,7 @@ # ChatCompletionContentPartInputAudioParam +Learn about [audio inputs](https://platform.openai.com/docs/guides/audio). + ## Example Usage ```typescript diff --git a/docs/models/chatcompletioncontentparttextparam.md b/docs/models/chatcompletioncontentparttextparam.md index 28359d7..98455fa 100644 --- a/docs/models/chatcompletioncontentparttextparam.md +++ b/docs/models/chatcompletioncontentparttextparam.md @@ -1,5 +1,7 @@ # ChatCompletionContentPartTextParam +Learn about [text inputs](https://platform.openai.com/docs/guides/text-generation). + ## Example Usage ```typescript diff --git a/docs/models/chatcompletioncustomtoolparam.md b/docs/models/chatcompletioncustomtoolparam.md index c3c1fa4..49d4e0b 100644 --- a/docs/models/chatcompletioncustomtoolparam.md +++ b/docs/models/chatcompletioncustomtoolparam.md @@ -1,5 +1,7 @@ # ChatCompletionCustomToolParam +A custom tool that processes input using a specified format. + ## Example Usage ```typescript @@ -17,5 +19,5 @@ let value: ChatCompletionCustomToolParam = { | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | -| `custom` | [models.OpenaiTypesChatChatCompletionCustomToolParamCustom](../models/openaitypeschatchatcompletioncustomtoolparamcustom.md) | :heavy_check_mark: | N/A | +| `custom` | [models.OpenaiTypesChatChatCompletionCustomToolParamCustom](../models/openaitypeschatchatcompletioncustomtoolparamcustom.md) | :heavy_check_mark: | Properties of the custom tool. | | `type` | *"custom"* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/chatcompletiondevelopermessageparam.md b/docs/models/chatcompletiondevelopermessageparam.md index 068e222..ca1bb7b 100644 --- a/docs/models/chatcompletiondevelopermessageparam.md +++ b/docs/models/chatcompletiondevelopermessageparam.md @@ -1,5 +1,9 @@ # ChatCompletionDeveloperMessageParam +Developer-provided instructions that the model should follow, regardless of +messages sent by the user. With o1 models and newer, `developer` messages +replace the previous `system` messages. + ## Example Usage ```typescript diff --git a/docs/models/chatcompletionfunctioncalloptionparam.md b/docs/models/chatcompletionfunctioncalloptionparam.md index b49b38a..48b4c38 100644 --- a/docs/models/chatcompletionfunctioncalloptionparam.md +++ b/docs/models/chatcompletionfunctioncalloptionparam.md @@ -1,5 +1,7 @@ # ChatCompletionFunctionCallOptionParam +Specifying a particular function via `{"name": "my_function"}` forces the model to call that function. + ## Example Usage ```typescript diff --git a/docs/models/chatcompletionfunctiontoolparam.md b/docs/models/chatcompletionfunctiontoolparam.md index ad9367c..99ebb70 100644 --- a/docs/models/chatcompletionfunctiontoolparam.md +++ b/docs/models/chatcompletionfunctiontoolparam.md @@ -1,5 +1,7 @@ # ChatCompletionFunctionToolParam +A function tool that can be used to generate a response. + ## Example Usage ```typescript diff --git a/docs/models/chatcompletionmessage.md b/docs/models/chatcompletionmessage.md index 6d214ef..79d855d 100644 --- a/docs/models/chatcompletionmessage.md +++ b/docs/models/chatcompletionmessage.md @@ -1,5 +1,7 @@ # ChatCompletionMessage +A chat completion message generated by the model. + ## Example Usage ```typescript diff --git a/docs/models/chatcompletionmessagecustomtoolcall.md b/docs/models/chatcompletionmessagecustomtoolcall.md index 0e819d2..4567ad8 100644 --- a/docs/models/chatcompletionmessagecustomtoolcall.md +++ b/docs/models/chatcompletionmessagecustomtoolcall.md @@ -1,5 +1,7 @@ # ChatCompletionMessageCustomToolCall +A call to a custom tool created by the model. + ## Example Usage ```typescript @@ -20,6 +22,6 @@ let value: ChatCompletionMessageCustomToolCall = { | Field | Type | Required | Description | | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | | `id` | *string* | :heavy_check_mark: | N/A | -| `custom` | [models.CustomOutput](../models/customoutput.md) | :heavy_check_mark: | N/A | +| `custom` | [models.CustomOutput](../models/customoutput.md) | :heavy_check_mark: | The custom tool that the model called. | | `type` | *"custom"* | :heavy_check_mark: | N/A | | `additionalProperties` | Record | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/chatcompletionmessagecustomtoolcallparam.md b/docs/models/chatcompletionmessagecustomtoolcallparam.md index 32240fc..d7e3faa 100644 --- a/docs/models/chatcompletionmessagecustomtoolcallparam.md +++ b/docs/models/chatcompletionmessagecustomtoolcallparam.md @@ -1,5 +1,7 @@ # ChatCompletionMessageCustomToolCallParam +A call to a custom tool created by the model. + ## Example Usage ```typescript @@ -20,5 +22,5 @@ let value: ChatCompletionMessageCustomToolCallParam = { | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *string* | :heavy_check_mark: | N/A | -| `custom` | [models.OpenaiTypesChatChatCompletionMessageCustomToolCallParamCustom](../models/openaitypeschatchatcompletionmessagecustomtoolcallparamcustom.md) | :heavy_check_mark: | N/A | +| `custom` | [models.OpenaiTypesChatChatCompletionMessageCustomToolCallParamCustom](../models/openaitypeschatchatcompletionmessagecustomtoolcallparamcustom.md) | :heavy_check_mark: | The custom tool that the model called. | | `type` | *"custom"* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/chatcompletionmessagefunctiontoolcall.md b/docs/models/chatcompletionmessagefunctiontoolcall.md index db81f23..8724358 100644 --- a/docs/models/chatcompletionmessagefunctiontoolcall.md +++ b/docs/models/chatcompletionmessagefunctiontoolcall.md @@ -1,5 +1,7 @@ # ChatCompletionMessageFunctionToolCall +A call to a function tool created by the model. + ## Example Usage ```typescript @@ -20,6 +22,6 @@ let value: ChatCompletionMessageFunctionToolCall = { | Field | Type | Required | Description | | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | | `id` | *string* | :heavy_check_mark: | N/A | -| `function` | [models.FunctionOutput](../models/functionoutput.md) | :heavy_check_mark: | N/A | +| `function` | [models.FunctionOutput](../models/functionoutput.md) | :heavy_check_mark: | The function that the model called. | | `type` | *"function"* | :heavy_check_mark: | N/A | | `additionalProperties` | Record | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/chatcompletionmessagefunctiontoolcallparam.md b/docs/models/chatcompletionmessagefunctiontoolcallparam.md index 5aa5019..e7b0777 100644 --- a/docs/models/chatcompletionmessagefunctiontoolcallparam.md +++ b/docs/models/chatcompletionmessagefunctiontoolcallparam.md @@ -1,5 +1,7 @@ # ChatCompletionMessageFunctionToolCallParam +A call to a function tool created by the model. + ## Example Usage ```typescript @@ -20,5 +22,5 @@ let value: ChatCompletionMessageFunctionToolCallParam = { | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *string* | :heavy_check_mark: | N/A | -| `function` | [models.OpenaiTypesChatChatCompletionMessageFunctionToolCallParamFunction](../models/openaitypeschatchatcompletionmessagefunctiontoolcallparamfunction.md) | :heavy_check_mark: | N/A | +| `function` | [models.OpenaiTypesChatChatCompletionMessageFunctionToolCallParamFunction](../models/openaitypeschatchatcompletionmessagefunctiontoolcallparamfunction.md) | :heavy_check_mark: | The function that the model called. | | `type` | *"function"* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/chatcompletionnamedtoolchoicecustomparam.md b/docs/models/chatcompletionnamedtoolchoicecustomparam.md index c3877ac..2c2d8ec 100644 --- a/docs/models/chatcompletionnamedtoolchoicecustomparam.md +++ b/docs/models/chatcompletionnamedtoolchoicecustomparam.md @@ -1,5 +1,9 @@ # ChatCompletionNamedToolChoiceCustomParam +Specifies a tool the model should use. + +Use to force the model to call a specific custom tool. + ## Example Usage ```typescript diff --git a/docs/models/chatcompletionnamedtoolchoiceparam.md b/docs/models/chatcompletionnamedtoolchoiceparam.md index d98357f..60c71ee 100644 --- a/docs/models/chatcompletionnamedtoolchoiceparam.md +++ b/docs/models/chatcompletionnamedtoolchoiceparam.md @@ -1,5 +1,9 @@ # ChatCompletionNamedToolChoiceParam +Specifies a tool the model should use. + +Use to force the model to call a specific function. + ## Example Usage ```typescript diff --git a/docs/models/chatcompletionnonstreaming.md b/docs/models/chatcompletionnonstreaming.md index f9909b6..db5a338 100644 --- a/docs/models/chatcompletionnonstreaming.md +++ b/docs/models/chatcompletionnonstreaming.md @@ -16,41 +16,42 @@ let value: ChatCompletionNonStreaming = { ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -| `messages` | *models.ChatCompletionNonStreamingMessage*[] | :heavy_check_mark: | N/A | -| `model` | *models.TModel* | :heavy_minus_sign: | N/A | -| `audio` | [models.ChatCompletionAudioParam](../models/chatcompletionaudioparam.md) | :heavy_minus_sign: | N/A | -| `frequencyPenalty` | *number* | :heavy_minus_sign: | N/A | -| `functionCall` | *models.ChatCompletionNonStreamingFunctionCallUnion* | :heavy_minus_sign: | N/A | -| `functions` | [models.OpenaiTypesChatCompletionCreateParamsFunction](../models/openaitypeschatcompletioncreateparamsfunction.md)[] | :heavy_minus_sign: | N/A | -| `logitBias` | Record | :heavy_minus_sign: | N/A | -| `logprobs` | *boolean* | :heavy_minus_sign: | N/A | -| `maxCompletionTokens` | *number* | :heavy_minus_sign: | N/A | -| `maxTokens` | *number* | :heavy_minus_sign: | N/A | -| `metadata` | Record | :heavy_minus_sign: | N/A | -| `modalities` | [models.ChatCompletionNonStreamingModality](../models/chatcompletionnonstreamingmodality.md)[] | :heavy_minus_sign: | N/A | -| `n` | *number* | :heavy_minus_sign: | N/A | -| `parallelToolCalls` | *boolean* | :heavy_minus_sign: | N/A | -| `prediction` | [models.ChatCompletionPredictionContentParam](../models/chatcompletionpredictioncontentparam.md) | :heavy_minus_sign: | N/A | -| `presencePenalty` | *number* | :heavy_minus_sign: | N/A | -| `promptCacheKey` | *string* | :heavy_minus_sign: | N/A | -| `reasoningEffort` | [models.ChatCompletionNonStreamingReasoningEffort](../models/chatcompletionnonstreamingreasoningeffort.md) | :heavy_minus_sign: | N/A | -| `responseFormat` | *models.ChatCompletionNonStreamingResponseFormat* | :heavy_minus_sign: | N/A | -| `safetyIdentifier` | *string* | :heavy_minus_sign: | N/A | -| `seed` | *number* | :heavy_minus_sign: | N/A | -| `serviceTier` | [models.ChatCompletionNonStreamingServiceTier](../models/chatcompletionnonstreamingservicetier.md) | :heavy_minus_sign: | N/A | -| `stop` | *models.ChatCompletionNonStreamingStop* | :heavy_minus_sign: | N/A | -| `store` | *boolean* | :heavy_minus_sign: | N/A | -| `streamOptions` | [models.ChatCompletionStreamOptionsParam](../models/chatcompletionstreamoptionsparam.md) | :heavy_minus_sign: | N/A | -| `temperature` | *number* | :heavy_minus_sign: | N/A | -| `toolChoice` | *models.ChatCompletionNonStreamingToolChoiceUnion* | :heavy_minus_sign: | N/A | -| `tools` | *models.ChatCompletionNonStreamingTool*[] | :heavy_minus_sign: | N/A | -| `topLogprobs` | *number* | :heavy_minus_sign: | N/A | -| `topP` | *number* | :heavy_minus_sign: | N/A | -| `user` | *string* | :heavy_minus_sign: | N/A | -| `verbosity` | [models.ChatCompletionNonStreamingVerbosity](../models/chatcompletionnonstreamingverbosity.md) | :heavy_minus_sign: | N/A | -| `webSearchOptions` | [models.WebSearchOptions](../models/websearchoptions.md) | :heavy_minus_sign: | N/A | -| `stream` | *false* | :heavy_minus_sign: | N/A | -| `tags` | Record | :heavy_minus_sign: | N/A | -| `parentSpanId` | *string* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `messages` | *models.ChatCompletionNonStreamingMessage*[] | :heavy_check_mark: | N/A | +| `model` | *models.TModel* | :heavy_minus_sign: | N/A | +| `audio` | [models.ChatCompletionAudioParam](../models/chatcompletionaudioparam.md) | :heavy_minus_sign: | N/A | +| `frequencyPenalty` | *number* | :heavy_minus_sign: | N/A | +| `functionCall` | *models.ChatCompletionNonStreamingFunctionCallUnion* | :heavy_minus_sign: | N/A | +| `functions` | [models.OpenaiTypesChatCompletionCreateParamsFunction](../models/openaitypeschatcompletioncreateparamsfunction.md)[] | :heavy_minus_sign: | N/A | +| `logitBias` | Record | :heavy_minus_sign: | N/A | +| `logprobs` | *boolean* | :heavy_minus_sign: | N/A | +| `maxCompletionTokens` | *number* | :heavy_minus_sign: | N/A | +| `maxTokens` | *number* | :heavy_minus_sign: | N/A | +| `metadata` | Record | :heavy_minus_sign: | N/A | +| `modalities` | [models.ChatCompletionNonStreamingModality](../models/chatcompletionnonstreamingmodality.md)[] | :heavy_minus_sign: | N/A | +| `n` | *number* | :heavy_minus_sign: | N/A | +| `parallelToolCalls` | *boolean* | :heavy_minus_sign: | N/A | +| `prediction` | [models.ChatCompletionPredictionContentParam](../models/chatcompletionpredictioncontentparam.md) | :heavy_minus_sign: | N/A | +| `presencePenalty` | *number* | :heavy_minus_sign: | N/A | +| `promptCacheKey` | *string* | :heavy_minus_sign: | N/A | +| `promptCacheRetention` | [models.ChatCompletionNonStreamingPromptCacheRetention](../models/chatcompletionnonstreamingpromptcacheretention.md) | :heavy_minus_sign: | N/A | +| `reasoningEffort` | [models.ChatCompletionNonStreamingReasoningEffort](../models/chatcompletionnonstreamingreasoningeffort.md) | :heavy_minus_sign: | N/A | +| `responseFormat` | *models.ChatCompletionNonStreamingResponseFormat* | :heavy_minus_sign: | N/A | +| `safetyIdentifier` | *string* | :heavy_minus_sign: | N/A | +| `seed` | *number* | :heavy_minus_sign: | N/A | +| `serviceTier` | [models.ChatCompletionNonStreamingServiceTier](../models/chatcompletionnonstreamingservicetier.md) | :heavy_minus_sign: | N/A | +| `stop` | *models.ChatCompletionNonStreamingStop* | :heavy_minus_sign: | N/A | +| `store` | *boolean* | :heavy_minus_sign: | N/A | +| `streamOptions` | [models.ChatCompletionStreamOptionsParam](../models/chatcompletionstreamoptionsparam.md) | :heavy_minus_sign: | N/A | +| `temperature` | *number* | :heavy_minus_sign: | N/A | +| `toolChoice` | *models.ChatCompletionNonStreamingToolChoiceUnion* | :heavy_minus_sign: | N/A | +| `tools` | *models.ChatCompletionNonStreamingTool*[] | :heavy_minus_sign: | N/A | +| `topLogprobs` | *number* | :heavy_minus_sign: | N/A | +| `topP` | *number* | :heavy_minus_sign: | N/A | +| `user` | *string* | :heavy_minus_sign: | N/A | +| `verbosity` | [models.ChatCompletionNonStreamingVerbosity](../models/chatcompletionnonstreamingverbosity.md) | :heavy_minus_sign: | N/A | +| `webSearchOptions` | [models.WebSearchOptions](../models/websearchoptions.md) | :heavy_minus_sign: | This tool searches the web for relevant results to use in a response.
Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search?api-mode=chat). | +| `stream` | *false* | :heavy_minus_sign: | N/A | +| `tags` | Record | :heavy_minus_sign: | N/A | +| `parentSpanId` | *string* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/chatcompletionnonstreamingpromptcacheretention.md b/docs/models/chatcompletionnonstreamingpromptcacheretention.md new file mode 100644 index 0000000..2682e29 --- /dev/null +++ b/docs/models/chatcompletionnonstreamingpromptcacheretention.md @@ -0,0 +1,15 @@ +# ChatCompletionNonStreamingPromptCacheRetention + +## Example Usage + +```typescript +import { ChatCompletionNonStreamingPromptCacheRetention } from "opperai/models"; + +let value: ChatCompletionNonStreamingPromptCacheRetention = "24h"; +``` + +## Values + +```typescript +"in-memory" | "24h" +``` \ No newline at end of file diff --git a/docs/models/chatcompletionnonstreamingreasoningeffort.md b/docs/models/chatcompletionnonstreamingreasoningeffort.md index 96506ba..f6ab9cf 100644 --- a/docs/models/chatcompletionnonstreamingreasoningeffort.md +++ b/docs/models/chatcompletionnonstreamingreasoningeffort.md @@ -5,11 +5,11 @@ ```typescript import { ChatCompletionNonStreamingReasoningEffort } from "opperai/models"; -let value: ChatCompletionNonStreamingReasoningEffort = "high"; +let value: ChatCompletionNonStreamingReasoningEffort = "xhigh"; ``` ## Values ```typescript -"minimal" | "low" | "medium" | "high" +"none" | "minimal" | "low" | "medium" | "high" | "xhigh" ``` \ No newline at end of file diff --git a/docs/models/chatcompletionpredictioncontentparam.md b/docs/models/chatcompletionpredictioncontentparam.md index 3ff3198..f4ec398 100644 --- a/docs/models/chatcompletionpredictioncontentparam.md +++ b/docs/models/chatcompletionpredictioncontentparam.md @@ -1,5 +1,8 @@ # ChatCompletionPredictionContentParam +Static predicted output content, such as the content of a text file that is +being regenerated. + ## Example Usage ```typescript diff --git a/docs/models/chatcompletionstreaming.md b/docs/models/chatcompletionstreaming.md index 0227faf..8878f63 100644 --- a/docs/models/chatcompletionstreaming.md +++ b/docs/models/chatcompletionstreaming.md @@ -18,41 +18,42 @@ let value: ChatCompletionStreaming = { ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -| `messages` | *models.ChatCompletionStreamingMessage*[] | :heavy_check_mark: | N/A | -| `model` | *models.TModel* | :heavy_minus_sign: | N/A | -| `audio` | [models.ChatCompletionAudioParam](../models/chatcompletionaudioparam.md) | :heavy_minus_sign: | N/A | -| `frequencyPenalty` | *number* | :heavy_minus_sign: | N/A | -| `functionCall` | *models.ChatCompletionStreamingFunctionCallUnion* | :heavy_minus_sign: | N/A | -| `functions` | [models.OpenaiTypesChatCompletionCreateParamsFunction](../models/openaitypeschatcompletioncreateparamsfunction.md)[] | :heavy_minus_sign: | N/A | -| `logitBias` | Record | :heavy_minus_sign: | N/A | -| `logprobs` | *boolean* | :heavy_minus_sign: | N/A | -| `maxCompletionTokens` | *number* | :heavy_minus_sign: | N/A | -| `maxTokens` | *number* | :heavy_minus_sign: | N/A | -| `metadata` | Record | :heavy_minus_sign: | N/A | -| `modalities` | [models.ChatCompletionStreamingModality](../models/chatcompletionstreamingmodality.md)[] | :heavy_minus_sign: | N/A | -| `n` | *number* | :heavy_minus_sign: | N/A | -| `parallelToolCalls` | *boolean* | :heavy_minus_sign: | N/A | -| `prediction` | [models.ChatCompletionPredictionContentParam](../models/chatcompletionpredictioncontentparam.md) | :heavy_minus_sign: | N/A | -| `presencePenalty` | *number* | :heavy_minus_sign: | N/A | -| `promptCacheKey` | *string* | :heavy_minus_sign: | N/A | -| `reasoningEffort` | [models.ChatCompletionStreamingReasoningEffort](../models/chatcompletionstreamingreasoningeffort.md) | :heavy_minus_sign: | N/A | -| `responseFormat` | *models.ChatCompletionStreamingResponseFormat* | :heavy_minus_sign: | N/A | -| `safetyIdentifier` | *string* | :heavy_minus_sign: | N/A | -| `seed` | *number* | :heavy_minus_sign: | N/A | -| `serviceTier` | [models.ChatCompletionStreamingServiceTier](../models/chatcompletionstreamingservicetier.md) | :heavy_minus_sign: | N/A | -| `stop` | *models.ChatCompletionStreamingStop* | :heavy_minus_sign: | N/A | -| `store` | *boolean* | :heavy_minus_sign: | N/A | -| `streamOptions` | [models.ChatCompletionStreamOptionsParam](../models/chatcompletionstreamoptionsparam.md) | :heavy_minus_sign: | N/A | -| `temperature` | *number* | :heavy_minus_sign: | N/A | -| `toolChoice` | *models.ChatCompletionStreamingToolChoiceUnion* | :heavy_minus_sign: | N/A | -| `tools` | *models.ChatCompletionStreamingTool*[] | :heavy_minus_sign: | N/A | -| `topLogprobs` | *number* | :heavy_minus_sign: | N/A | -| `topP` | *number* | :heavy_minus_sign: | N/A | -| `user` | *string* | :heavy_minus_sign: | N/A | -| `verbosity` | [models.ChatCompletionStreamingVerbosity](../models/chatcompletionstreamingverbosity.md) | :heavy_minus_sign: | N/A | -| `webSearchOptions` | [models.WebSearchOptions](../models/websearchoptions.md) | :heavy_minus_sign: | N/A | -| `stream` | *true* | :heavy_check_mark: | N/A | -| `tags` | Record | :heavy_minus_sign: | N/A | -| `parentSpanId` | *string* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `messages` | *models.ChatCompletionStreamingMessage*[] | :heavy_check_mark: | N/A | +| `model` | *models.TModel* | :heavy_minus_sign: | N/A | +| `audio` | [models.ChatCompletionAudioParam](../models/chatcompletionaudioparam.md) | :heavy_minus_sign: | N/A | +| `frequencyPenalty` | *number* | :heavy_minus_sign: | N/A | +| `functionCall` | *models.ChatCompletionStreamingFunctionCallUnion* | :heavy_minus_sign: | N/A | +| `functions` | [models.OpenaiTypesChatCompletionCreateParamsFunction](../models/openaitypeschatcompletioncreateparamsfunction.md)[] | :heavy_minus_sign: | N/A | +| `logitBias` | Record | :heavy_minus_sign: | N/A | +| `logprobs` | *boolean* | :heavy_minus_sign: | N/A | +| `maxCompletionTokens` | *number* | :heavy_minus_sign: | N/A | +| `maxTokens` | *number* | :heavy_minus_sign: | N/A | +| `metadata` | Record | :heavy_minus_sign: | N/A | +| `modalities` | [models.ChatCompletionStreamingModality](../models/chatcompletionstreamingmodality.md)[] | :heavy_minus_sign: | N/A | +| `n` | *number* | :heavy_minus_sign: | N/A | +| `parallelToolCalls` | *boolean* | :heavy_minus_sign: | N/A | +| `prediction` | [models.ChatCompletionPredictionContentParam](../models/chatcompletionpredictioncontentparam.md) | :heavy_minus_sign: | N/A | +| `presencePenalty` | *number* | :heavy_minus_sign: | N/A | +| `promptCacheKey` | *string* | :heavy_minus_sign: | N/A | +| `promptCacheRetention` | [models.ChatCompletionStreamingPromptCacheRetention](../models/chatcompletionstreamingpromptcacheretention.md) | :heavy_minus_sign: | N/A | +| `reasoningEffort` | [models.ChatCompletionStreamingReasoningEffort](../models/chatcompletionstreamingreasoningeffort.md) | :heavy_minus_sign: | N/A | +| `responseFormat` | *models.ChatCompletionStreamingResponseFormat* | :heavy_minus_sign: | N/A | +| `safetyIdentifier` | *string* | :heavy_minus_sign: | N/A | +| `seed` | *number* | :heavy_minus_sign: | N/A | +| `serviceTier` | [models.ChatCompletionStreamingServiceTier](../models/chatcompletionstreamingservicetier.md) | :heavy_minus_sign: | N/A | +| `stop` | *models.ChatCompletionStreamingStop* | :heavy_minus_sign: | N/A | +| `store` | *boolean* | :heavy_minus_sign: | N/A | +| `streamOptions` | [models.ChatCompletionStreamOptionsParam](../models/chatcompletionstreamoptionsparam.md) | :heavy_minus_sign: | N/A | +| `temperature` | *number* | :heavy_minus_sign: | N/A | +| `toolChoice` | *models.ChatCompletionStreamingToolChoiceUnion* | :heavy_minus_sign: | N/A | +| `tools` | *models.ChatCompletionStreamingTool*[] | :heavy_minus_sign: | N/A | +| `topLogprobs` | *number* | :heavy_minus_sign: | N/A | +| `topP` | *number* | :heavy_minus_sign: | N/A | +| `user` | *string* | :heavy_minus_sign: | N/A | +| `verbosity` | [models.ChatCompletionStreamingVerbosity](../models/chatcompletionstreamingverbosity.md) | :heavy_minus_sign: | N/A | +| `webSearchOptions` | [models.WebSearchOptions](../models/websearchoptions.md) | :heavy_minus_sign: | This tool searches the web for relevant results to use in a response.
Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search?api-mode=chat). | +| `stream` | *true* | :heavy_check_mark: | N/A | +| `tags` | Record | :heavy_minus_sign: | N/A | +| `parentSpanId` | *string* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/chatcompletionstreamingpromptcacheretention.md b/docs/models/chatcompletionstreamingpromptcacheretention.md new file mode 100644 index 0000000..985f6b0 --- /dev/null +++ b/docs/models/chatcompletionstreamingpromptcacheretention.md @@ -0,0 +1,15 @@ +# ChatCompletionStreamingPromptCacheRetention + +## Example Usage + +```typescript +import { ChatCompletionStreamingPromptCacheRetention } from "opperai/models"; + +let value: ChatCompletionStreamingPromptCacheRetention = "24h"; +``` + +## Values + +```typescript +"in-memory" | "24h" +``` \ No newline at end of file diff --git a/docs/models/chatcompletionstreamingreasoningeffort.md b/docs/models/chatcompletionstreamingreasoningeffort.md index d913d8b..21e663a 100644 --- a/docs/models/chatcompletionstreamingreasoningeffort.md +++ b/docs/models/chatcompletionstreamingreasoningeffort.md @@ -11,5 +11,5 @@ let value: ChatCompletionStreamingReasoningEffort = "low"; ## Values ```typescript -"minimal" | "low" | "medium" | "high" +"none" | "minimal" | "low" | "medium" | "high" | "xhigh" ``` \ No newline at end of file diff --git a/docs/models/chatcompletionstreamoptionsparam.md b/docs/models/chatcompletionstreamoptionsparam.md index 38ccec4..ba375a6 100644 --- a/docs/models/chatcompletionstreamoptionsparam.md +++ b/docs/models/chatcompletionstreamoptionsparam.md @@ -1,5 +1,7 @@ # ChatCompletionStreamOptionsParam +Options for streaming response. Only set this when you set `stream: true`. + ## Example Usage ```typescript diff --git a/docs/models/chatcompletionsystemmessageparam.md b/docs/models/chatcompletionsystemmessageparam.md index d0e43a1..05ca2e4 100644 --- a/docs/models/chatcompletionsystemmessageparam.md +++ b/docs/models/chatcompletionsystemmessageparam.md @@ -1,5 +1,9 @@ # ChatCompletionSystemMessageParam +Developer-provided instructions that the model should follow, regardless of +messages sent by the user. With o1 models and newer, use `developer` messages +for this purpose instead. + ## Example Usage ```typescript diff --git a/docs/models/chatcompletionusermessageparam.md b/docs/models/chatcompletionusermessageparam.md index cd77728..28f7aae 100644 --- a/docs/models/chatcompletionusermessageparam.md +++ b/docs/models/chatcompletionusermessageparam.md @@ -1,5 +1,8 @@ # ChatCompletionUserMessageParam +Messages sent by an end user, containing prompts or additional context +information. + ## Example Usage ```typescript diff --git a/docs/models/choice.md b/docs/models/choice.md index 8c3f0c5..1f66881 100644 --- a/docs/models/choice.md +++ b/docs/models/choice.md @@ -21,5 +21,5 @@ let value: Choice = { | `finishReason` | [models.FinishReason](../models/finishreason.md) | :heavy_check_mark: | N/A | | `index` | *number* | :heavy_check_mark: | N/A | | `logprobs` | [models.ChoiceLogprobs](../models/choicelogprobs.md) | :heavy_minus_sign: | N/A | -| `message` | [models.ChatCompletionMessage](../models/chatcompletionmessage.md) | :heavy_check_mark: | N/A | +| `message` | [models.ChatCompletionMessage](../models/chatcompletionmessage.md) | :heavy_check_mark: | A chat completion message generated by the model. | | `additionalProperties` | Record | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/choicelogprobs.md b/docs/models/choicelogprobs.md index 311d9d7..ebb611d 100644 --- a/docs/models/choicelogprobs.md +++ b/docs/models/choicelogprobs.md @@ -1,5 +1,7 @@ # ChoiceLogprobs +Log probability information for the choice. + ## Example Usage ```typescript diff --git a/docs/models/completiontokensdetails.md b/docs/models/completiontokensdetails.md index da95ad7..dc48c65 100644 --- a/docs/models/completiontokensdetails.md +++ b/docs/models/completiontokensdetails.md @@ -1,5 +1,7 @@ # CompletionTokensDetails +Breakdown of tokens used in a completion. + ## Example Usage ```typescript diff --git a/docs/models/completionusage.md b/docs/models/completionusage.md index 32e14a4..1d43457 100644 --- a/docs/models/completionusage.md +++ b/docs/models/completionusage.md @@ -1,5 +1,7 @@ # CompletionUsage +Usage statistics for the completion request. + ## Example Usage ```typescript diff --git a/docs/models/createembeddingrequest.md b/docs/models/createembeddingrequest.md index fe86d8c..ae00ff9 100644 --- a/docs/models/createembeddingrequest.md +++ b/docs/models/createembeddingrequest.md @@ -15,4 +15,4 @@ let value: CreateEmbeddingRequest = { | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `model` | *models.TModel* | :heavy_minus_sign: | The model to use for the embedding, if not provided, `EmbeddingModel(hosting_provider='Azure', location='EU', identifier='azure/text-embedding-3-large', name='azure/text-embedding-3-large-1536', dimensions=1536, max_tokens=8191, credentials='azure-se', is_default=True, is_public=True, extra={'api_base': 'https://opperopenaiservice.openai.azure.com', 'api_version': '2023-05-15', 'dimensions': 1536})` will be used | | -| `input` | *models.Input* | :heavy_check_mark: | The input to embed, can be a single string or a list of strings | Hello, world! | \ No newline at end of file +| `input` | *models.Input* | :heavy_check_mark: | The input to embed, can be a single string or a list of strings | **Example 1:** Hello, world!
**Example 2:** [
"Hello, world!",
"Hello, world!"
] | \ No newline at end of file diff --git a/docs/models/createfunctionrequest.md b/docs/models/createfunctionrequest.md index 46ce1b5..d4f2364 100644 --- a/docs/models/createfunctionrequest.md +++ b/docs/models/createfunctionrequest.md @@ -50,7 +50,7 @@ let value: CreateFunctionRequest = { | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `name` | *string* | :heavy_check_mark: | The name of the function. Must be unique within the project and can only contain letters, numbers, underscores and hyphens. | my-function | +| `name` | *string* | :heavy_check_mark: | The name of the function. Must be unique within the project and can only contain letters, numbers, underscores and hyphens. | **Example 1:** my-function
**Example 2:** my-namespace.my-sub-function
**Example 3:** my-namespace/my-sub-function | | `description` | *string* | :heavy_minus_sign: | Optional description of the function. This is used to describe the function to a user. | This function is used to add two numbers and return the result. | | `instructions` | *string* | :heavy_check_mark: | The instructions for the function, this is the prompt that will be sent to the model to complete the task. Recommended to be concise and to the point | You are a calculator that adds two numbers and returns the result. | | `inputSchema` | Record | :heavy_minus_sign: | Optional input schema for the function. Can preferably include field descriptions to allow the model to reason about the input variables. Schema is validated against the input data and issues an error if it does not match. With the Opper SDKs you can define these schemas through libraries like Pydantic and Zod. For schemas with definitions, prefer using '$defs' and '#/$defs/...' references. | {
"properties": {
"x": {
"title": "X",
"type": "integer"
},
"y": {
"title": "Y",
"type": "integer"
}
},
"required": [
"x",
"y"
],
"title": "OpperInputExample",
"type": "object"
} | diff --git a/docs/models/createfunctionresponse.md b/docs/models/createfunctionresponse.md index 2ee7fc3..8a2df48 100644 --- a/docs/models/createfunctionresponse.md +++ b/docs/models/createfunctionresponse.md @@ -51,7 +51,7 @@ let value: CreateFunctionResponse = { | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `name` | *string* | :heavy_check_mark: | The name of the function. Must be unique within the project and can only contain letters, numbers, underscores and hyphens. | my-function | +| `name` | *string* | :heavy_check_mark: | The name of the function. Must be unique within the project and can only contain letters, numbers, underscores and hyphens. | **Example 1:** my-function
**Example 2:** my-namespace.my-sub-function
**Example 3:** my-namespace/my-sub-function | | `description` | *string* | :heavy_minus_sign: | Optional description of the function. This is used to describe the function to a user. | This function is used to add two numbers and return the result. | | `instructions` | *string* | :heavy_check_mark: | The instructions for the function, this is the prompt that will be sent to the model to complete the task. Recommended to be concise and to the point | You are a calculator that adds two numbers and returns the result. | | `inputSchema` | Record | :heavy_minus_sign: | Optional input schema for the function. Can preferably include field descriptions to allow the model to reason about the input variables. Schema is validated against the input data and issues an error if it does not match. With the Opper SDKs you can define these schemas through libraries like Pydantic and Zod. For schemas with definitions, prefer using '$defs' and '#/$defs/...' references. | {
"properties": {
"x": {
"title": "X",
"type": "integer"
},
"y": {
"title": "Y",
"type": "integer"
}
},
"required": [
"x",
"y"
],
"title": "OpperInputExample",
"type": "object"
} | @@ -61,4 +61,5 @@ let value: CreateFunctionResponse = { | `id` | *string* | :heavy_check_mark: | The ID of the function | | | `datasetId` | *string* | :heavy_minus_sign: | The ID of the dataset associated with the function | | | `revisionId` | *string* | :heavy_minus_sign: | The ID of the latest revision of the function | | -| `observerEnabled` | *boolean* | :heavy_minus_sign: | Whether the observer is enabled for this function. When enabled, the observer monitors and evaluates all generations. | | \ No newline at end of file +| `observerEnabled` | *boolean* | :heavy_minus_sign: | Whether the observer is enabled for this function. When enabled, the observer monitors and evaluates all generations. | | +| `isV3` | *boolean* | :heavy_minus_sign: | Whether this function has been executed through the v3 API | | \ No newline at end of file diff --git a/docs/models/customformatgrammar.md b/docs/models/customformatgrammar.md index 16dfeff..1ca0670 100644 --- a/docs/models/customformatgrammar.md +++ b/docs/models/customformatgrammar.md @@ -1,5 +1,7 @@ # CustomFormatGrammar +A grammar defined by the user. + ## Example Usage ```typescript @@ -18,5 +20,5 @@ let value: CustomFormatGrammar = { | Field | Type | Required | Description | | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | -| `grammar` | [models.CustomFormatGrammarGrammar](../models/customformatgrammargrammar.md) | :heavy_check_mark: | N/A | +| `grammar` | [models.CustomFormatGrammarGrammar](../models/customformatgrammargrammar.md) | :heavy_check_mark: | Your chosen grammar. | | `type` | *"grammar"* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/customformatgrammargrammar.md b/docs/models/customformatgrammargrammar.md index cfe38aa..8a1d5fe 100644 --- a/docs/models/customformatgrammargrammar.md +++ b/docs/models/customformatgrammargrammar.md @@ -1,5 +1,7 @@ # CustomFormatGrammarGrammar +Your chosen grammar. + ## Example Usage ```typescript diff --git a/docs/models/customformattext.md b/docs/models/customformattext.md index f9b592b..31439ae 100644 --- a/docs/models/customformattext.md +++ b/docs/models/customformattext.md @@ -1,5 +1,7 @@ # CustomFormatText +Unconstrained free-form text. + ## Example Usage ```typescript diff --git a/docs/models/customoutput.md b/docs/models/customoutput.md index 461bcbe..eaa25b7 100644 --- a/docs/models/customoutput.md +++ b/docs/models/customoutput.md @@ -1,5 +1,7 @@ # CustomOutput +The custom tool that the model called. + ## Example Usage ```typescript diff --git a/docs/models/doclingocrextra.md b/docs/models/doclingocrextra.md new file mode 100644 index 0000000..d57c5cc --- /dev/null +++ b/docs/models/doclingocrextra.md @@ -0,0 +1,33 @@ +# DoclingOCRExtra + +Docling-specific OCR parameters for document parsing with layout analysis. + +## Example Usage + +```typescript +import { DoclingOCRExtra } from "opperai/models"; + +let value: DoclingOCRExtra = { + outputFormat: "markdown", + ocrEngine: "easyocr", + lang: [ + "sv", + "en", + ], + tableMode: "fast", + imagesScale: 1, +}; +``` + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `outputFormat` | *string* | :heavy_minus_sign: | Output format: 'markdown' (default) returns clean text with tables, 'json' includes bounding boxes and full document structure. | **Example 1:** markdown
**Example 2:** json | +| `ocrEngine` | *string* | :heavy_minus_sign: | OCR engine: null (auto-select, typically RapidOCR), 'easyocr' (good multilingual support), or 'tesseract' (fast, many languages). | **Example 1:** easyocr
**Example 2:** tesseract | +| `lang` | *string*[] | :heavy_minus_sign: | OCR language(s) to recognise, as ISO 639-1 two-letter codes (e.g. 'sv', 'en', 'de', 'da', 'no', 'fi', 'is'). Opper maps these to the chosen engine internally, so the same codes work for any engine. Requires ocr_engine 'tesseract' or 'easyocr' (the auto/RapidOCR engine ignores it). Pass several for mixed-language documents. Note: 'fi' (Finnish) is only available with 'tesseract'. Defaults to the engine's own default (English) when omitted. | **Example 1:** [
"sv",
"en"
]
**Example 2:** [
"sv",
"en",
"de"
] | +| `forceOcr` | *boolean* | :heavy_minus_sign: | Force OCR on all pages even if text is extractable. Useful for scanned PDFs with embedded but incorrect text layers. | | +| `tableMode` | *string* | :heavy_minus_sign: | Table extraction mode: 'fast' (default) for speed, 'accurate' for complex tables with merged cells or nested structures. | **Example 1:** fast
**Example 2:** accurate | +| `imagesScale` | *number* | :heavy_minus_sign: | Scale factor for extracted images. Default is 1.0. Use 2.0 or higher for better resolution (slower processing). | **Example 1:** 1
**Example 2:** 2 | +| `doFormulaEnrichment` | *boolean* | :heavy_minus_sign: | Enable mathematical formula detection and LaTeX extraction. Equations are converted to LaTeX notation in the output. | | +| `doCodeEnrichment` | *boolean* | :heavy_minus_sign: | Enable code block detection and formatting. Code snippets are wrapped in markdown code fences with language detection. | | \ No newline at end of file diff --git a/docs/models/filet.md b/docs/models/filet.md index 4cbe3e4..ae92489 100644 --- a/docs/models/filet.md +++ b/docs/models/filet.md @@ -1,5 +1,7 @@ # FileT +Learn about [file inputs](https://platform.openai.com/docs/guides/text) for text generation. + ## Example Usage ```typescript diff --git a/docs/models/functioncallinput.md b/docs/models/functioncallinput.md index bc0c33f..8b3e9f1 100644 --- a/docs/models/functioncallinput.md +++ b/docs/models/functioncallinput.md @@ -1,5 +1,9 @@ # FunctionCallInput +Deprecated and replaced by `tool_calls`. + +The name and arguments of a function that should be called, as generated by the model. + ## Example Usage ```typescript diff --git a/docs/models/functioncalloutput.md b/docs/models/functioncalloutput.md index 5ca4368..3afb3b4 100644 --- a/docs/models/functioncalloutput.md +++ b/docs/models/functioncalloutput.md @@ -1,5 +1,9 @@ # FunctionCallOutput +Deprecated and replaced by `tool_calls`. + +The name and arguments of a function that should be called, as generated by the model. + ## Example Usage ```typescript diff --git a/docs/models/functionconfigresponse.md b/docs/models/functionconfigresponse.md new file mode 100644 index 0000000..b221e4b --- /dev/null +++ b/docs/models/functionconfigresponse.md @@ -0,0 +1,15 @@ +# FunctionConfigResponse + +## Example Usage + +```typescript +import { FunctionConfigResponse } from "opperai/models"; + +let value: FunctionConfigResponse = {}; +``` + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | +| `steering` | [models.SteeringConfig](../models/steeringconfig.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/functionoutput.md b/docs/models/functionoutput.md index 4ecdedb..73e1332 100644 --- a/docs/models/functionoutput.md +++ b/docs/models/functionoutput.md @@ -1,5 +1,7 @@ # FunctionOutput +The function that the model called. + ## Example Usage ```typescript diff --git a/docs/models/getcustommodelresponse.md b/docs/models/getcustommodelresponse.md index 3d71d98..71cea8c 100644 --- a/docs/models/getcustommodelresponse.md +++ b/docs/models/getcustommodelresponse.md @@ -14,9 +14,11 @@ let value: GetCustomModelResponse = { ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The ID of the custom language model | -| `name` | *string* | :heavy_check_mark: | The name of the custom language model | -| `identifier` | *string* | :heavy_check_mark: | The identifier of the custom language model | -| `extra` | Record | :heavy_minus_sign: | Extra metadata about the custom language model | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the custom language model | +| `name` | *string* | :heavy_check_mark: | The name of the custom language model | +| `identifier` | *string* | :heavy_check_mark: | The identifier of the custom language model | +| `provider` | *string* | :heavy_minus_sign: | Provider name | +| `type` | *string* | :heavy_minus_sign: | Model type: llm, embedding, or image | +| `extra` | Record | :heavy_minus_sign: | Provider-specific configuration | \ No newline at end of file diff --git a/docs/models/getfunctionresponse.md b/docs/models/getfunctionresponse.md index 02326a8..650b3ab 100644 --- a/docs/models/getfunctionresponse.md +++ b/docs/models/getfunctionresponse.md @@ -51,7 +51,7 @@ let value: GetFunctionResponse = { | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `name` | *string* | :heavy_check_mark: | The name of the function. Must be unique within the project and can only contain letters, numbers, underscores and hyphens. | my-function | +| `name` | *string* | :heavy_check_mark: | The name of the function. Must be unique within the project and can only contain letters, numbers, underscores and hyphens. | **Example 1:** my-function
**Example 2:** my-namespace.my-sub-function
**Example 3:** my-namespace/my-sub-function | | `description` | *string* | :heavy_minus_sign: | Optional description of the function. This is used to describe the function to a user. | This function is used to add two numbers and return the result. | | `instructions` | *string* | :heavy_check_mark: | The instructions for the function, this is the prompt that will be sent to the model to complete the task. Recommended to be concise and to the point | You are a calculator that adds two numbers and returns the result. | | `inputSchema` | Record | :heavy_minus_sign: | Optional input schema for the function. Can preferably include field descriptions to allow the model to reason about the input variables. Schema is validated against the input data and issues an error if it does not match. With the Opper SDKs you can define these schemas through libraries like Pydantic and Zod. For schemas with definitions, prefer using '$defs' and '#/$defs/...' references. | {
"properties": {
"x": {
"title": "X",
"type": "integer"
},
"y": {
"title": "Y",
"type": "integer"
}
},
"required": [
"x",
"y"
],
"title": "OpperInputExample",
"type": "object"
} | @@ -61,4 +61,5 @@ let value: GetFunctionResponse = { | `id` | *string* | :heavy_check_mark: | The ID of the function | | | `datasetId` | *string* | :heavy_minus_sign: | The ID of the dataset associated with the function | | | `revisionId` | *string* | :heavy_minus_sign: | The ID of the latest revision of the function | | -| `observerEnabled` | *boolean* | :heavy_minus_sign: | Whether the observer is enabled for this function. When enabled, the observer monitors and evaluates all generations. | | \ No newline at end of file +| `observerEnabled` | *boolean* | :heavy_minus_sign: | Whether the observer is enabled for this function. When enabled, the observer monitors and evaluates all generations. | | +| `isV3` | *boolean* | :heavy_minus_sign: | Whether this function has been executed through the v3 API | | \ No newline at end of file diff --git a/docs/models/gettraceresponse.md b/docs/models/gettraceresponse.md index 8cbe0d7..b4fa167 100644 --- a/docs/models/gettraceresponse.md +++ b/docs/models/gettraceresponse.md @@ -37,4 +37,8 @@ let value: GetTraceResponse = { | `input` | *string* | :heavy_minus_sign: | The input of the trace, set to the input of the root span of the trace | | `output` | *string* | :heavy_minus_sign: | The output of the trace, set to the output of the root span of the trace | | `totalTokens` | *number* | :heavy_minus_sign: | The total tokens of the trace | +| `spanCount` | *number* | :heavy_minus_sign: | Total number of spans in the trace | +| `generationCount` | *number* | :heavy_minus_sign: | Number of LLM generation spans in the trace | +| `toolCount` | *number* | :heavy_minus_sign: | Number of tool/function call spans in the trace | +| `hasError` | *boolean* | :heavy_minus_sign: | Whether any span in the trace has an error | | `spans` | [models.SpanSchema](../models/spanschema.md)[] | :heavy_minus_sign: | The spans of the trace | \ No newline at end of file diff --git a/docs/models/input.md b/docs/models/input.md index c732644..c5b0cb4 100644 --- a/docs/models/input.md +++ b/docs/models/input.md @@ -16,6 +16,7 @@ const value: string = "Hello, world!"; ```typescript const value: string[] = [ "Hello, world!", + "Hello, world!", ]; ``` diff --git a/docs/models/jsonpayload.md b/docs/models/jsonpayload.md index 88bb7e7..bf534e1 100644 --- a/docs/models/jsonpayload.md +++ b/docs/models/jsonpayload.md @@ -17,9 +17,9 @@ const value: { [k: string]: any } = { ```typescript const value: any[] = [ - { - "sum": 4, - }, + "", + "", + "", ]; ``` diff --git a/docs/models/jsonschema.md b/docs/models/jsonschema.md index b4a1e57..fd1b60d 100644 --- a/docs/models/jsonschema.md +++ b/docs/models/jsonschema.md @@ -1,5 +1,7 @@ # JSONSchema +Structured Outputs configuration options, including a JSON Schema. + ## Example Usage ```typescript diff --git a/docs/models/listcustommodelsresponseitem.md b/docs/models/listcustommodelsresponseitem.md index 49b6f75..dc11092 100644 --- a/docs/models/listcustommodelsresponseitem.md +++ b/docs/models/listcustommodelsresponseitem.md @@ -14,9 +14,11 @@ let value: ListCustomModelsResponseItem = { ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The ID of the custom language model | -| `name` | *string* | :heavy_check_mark: | The name of the custom language model | -| `identifier` | *string* | :heavy_check_mark: | The identifier of the custom language model | -| `extra` | Record | :heavy_minus_sign: | Extra metadata about the custom language model | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the custom language model | +| `name` | *string* | :heavy_check_mark: | The name of the custom language model | +| `identifier` | *string* | :heavy_check_mark: | The identifier of the custom language model | +| `provider` | *string* | :heavy_minus_sign: | Provider name | +| `type` | *string* | :heavy_minus_sign: | Model type: llm, embedding, or image | +| `extra` | Record | :heavy_minus_sign: | Provider-specific configuration | \ No newline at end of file diff --git a/docs/models/listfunctionsresponseitem.md b/docs/models/listfunctionsresponseitem.md index 123df8e..7afe069 100644 --- a/docs/models/listfunctionsresponseitem.md +++ b/docs/models/listfunctionsresponseitem.md @@ -14,11 +14,12 @@ let value: ListFunctionsResponseItem = { ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The ID of the function | | -| `name` | *string* | :heavy_check_mark: | The name of the function | my-function | -| `description` | *string* | :heavy_minus_sign: | The description of the function | | -| `instructions` | *string* | :heavy_minus_sign: | The instructions of the function | | -| `model` | *models.TModel* | :heavy_minus_sign: | The model of the function | | -| `revisionId` | *string* | :heavy_check_mark: | The ID of the latest revision of the function | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the function | | +| `name` | *string* | :heavy_check_mark: | The name of the function | **Example 1:** my-function
**Example 2:** my-namespace.my-sub-function
**Example 3:** my-namespace/my-sub-function | +| `description` | *string* | :heavy_minus_sign: | The description of the function | | +| `instructions` | *string* | :heavy_minus_sign: | The instructions of the function | | +| `model` | *models.TModel* | :heavy_minus_sign: | The model of the function | | +| `revisionId` | *string* | :heavy_check_mark: | The ID of the latest revision of the function | | +| `isV3` | *boolean* | :heavy_minus_sign: | Whether this function has been executed through the v3 API | | \ No newline at end of file diff --git a/docs/models/listtracesresponse.md b/docs/models/listtracesresponse.md index e4c7d56..c7db3ec 100644 --- a/docs/models/listtracesresponse.md +++ b/docs/models/listtracesresponse.md @@ -22,4 +22,8 @@ let value: ListTracesResponse = { | `name` | *string* | :heavy_minus_sign: | The name of the trace, set to the name of the root span of the trace | | `input` | *string* | :heavy_minus_sign: | The input of the trace, set to the input of the root span of the trace | | `output` | *string* | :heavy_minus_sign: | The output of the trace, set to the output of the root span of the trace | -| `totalTokens` | *number* | :heavy_minus_sign: | The total tokens of the trace | \ No newline at end of file +| `totalTokens` | *number* | :heavy_minus_sign: | The total tokens of the trace | +| `spanCount` | *number* | :heavy_minus_sign: | Total number of spans in the trace | +| `generationCount` | *number* | :heavy_minus_sign: | Number of LLM generation spans in the trace | +| `toolCount` | *number* | :heavy_minus_sign: | Number of tool/function call spans in the trace | +| `hasError` | *boolean* | :heavy_minus_sign: | Whether any span in the trace has an error | \ No newline at end of file diff --git a/docs/models/ocrpageelement.md b/docs/models/ocrpageelement.md new file mode 100644 index 0000000..36287ac --- /dev/null +++ b/docs/models/ocrpageelement.md @@ -0,0 +1,23 @@ +# OCRPageElement + +A document element with bounding box (returned in Docling JSON output mode). + +## Example Usage + +```typescript +import { OCRPageElement } from "opperai/models"; + +let value: OCRPageElement = { + type: "", +}; +``` + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | +| `type` | *string* | :heavy_check_mark: | Element type: 'text', 'table', or 'picture' | +| `label` | *string* | :heavy_minus_sign: | Element label (e.g. 'title', 'section_header', 'page_header', 'page_footer', 'caption', 'footnote', 'formula', 'text') | +| `text` | *string* | :heavy_minus_sign: | Text content (for text elements) | +| `bbox` | Record | :heavy_minus_sign: | Bounding box with l, t, r, b coordinates | +| `data` | Record | :heavy_minus_sign: | Table data as dictionary (for table elements) | \ No newline at end of file diff --git a/docs/models/ocrpageresult.md b/docs/models/ocrpageresult.md index f210515..4f33464 100644 --- a/docs/models/ocrpageresult.md +++ b/docs/models/ocrpageresult.md @@ -15,9 +15,10 @@ let value: OCRPageResult = { ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | -| `index` | *number* | :heavy_check_mark: | Page index (0-based) | -| `markdown` | *string* | :heavy_check_mark: | Extracted text in markdown format | -| `dimensions` | [models.OCRPageDimensions](../models/ocrpagedimensions.md) | :heavy_minus_sign: | Page dimensions | -| `images` | [models.OCRPageImage](../models/ocrpageimage.md)[] | :heavy_minus_sign: | Extracted images from the page | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| `index` | *number* | :heavy_check_mark: | Page index (0-based) | +| `markdown` | *string* | :heavy_check_mark: | Extracted text in markdown format | +| `dimensions` | [models.OCRPageDimensions](../models/ocrpagedimensions.md) | :heavy_minus_sign: | Page dimensions | +| `images` | [models.OCRPageImage](../models/ocrpageimage.md)[] | :heavy_minus_sign: | Extracted images from the page | +| `elements` | [models.OCRPageElement](../models/ocrpageelement.md)[] | :heavy_minus_sign: | Document elements with bounding boxes and labels (only returned when using Docling with output_format='json') | \ No newline at end of file diff --git a/docs/models/ocrrequestmodel.md b/docs/models/ocrrequestmodel.md index b4583ee..3be9625 100644 --- a/docs/models/ocrrequestmodel.md +++ b/docs/models/ocrrequestmodel.md @@ -12,17 +12,28 @@ let value: OCRRequestModel = { document: { type: "document_url", }, + doclingExtra: { + outputFormat: "markdown", + ocrEngine: "easyocr", + lang: [ + "sv", + "en", + ], + tableMode: "fast", + imagesScale: 1, + }, }; ``` ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -| `model` | *string* | :heavy_check_mark: | The OCR model to use | mistral/mistral-ocr-latest | -| `document` | [models.OCRDocument](../models/ocrdocument.md) | :heavy_check_mark: | Document specification for OCR processing. | | -| `pages` | *number*[] | :heavy_minus_sign: | Specific page indices to process (0-based). If not specified, all pages are processed. | | -| `includeImageBase64` | *boolean* | :heavy_minus_sign: | Whether to include base64-encoded images in the response | | -| `imageLimit` | *number* | :heavy_minus_sign: | Maximum number of images to extract per page | | -| `imageMinSize` | *number* | :heavy_minus_sign: | Minimum size (width or height in pixels) for images to be included | | -| `mistralExtra` | [models.MistralOCRExtra](../models/mistralocrextra.md) | :heavy_minus_sign: | Mistral-specific OCR parameters | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| `model` | *string* | :heavy_check_mark: | The OCR model to use | mistral/mistral-ocr-latest | +| `document` | [models.OCRDocument](../models/ocrdocument.md) | :heavy_check_mark: | Document specification for OCR processing. | | +| `pages` | *number*[] | :heavy_minus_sign: | Specific page indices to process (0-based). If not specified, all pages are processed. | | +| `includeImageBase64` | *boolean* | :heavy_minus_sign: | Whether to include base64-encoded images in the response | | +| `imageLimit` | *number* | :heavy_minus_sign: | Maximum number of images to extract per page | | +| `imageMinSize` | *number* | :heavy_minus_sign: | Minimum size (width or height in pixels) for images to be included | | +| `mistralExtra` | [models.MistralOCRExtra](../models/mistralocrextra.md) | :heavy_minus_sign: | Mistral-specific OCR parameters | | +| `doclingExtra` | [models.DoclingOCRExtra](../models/doclingocrextra.md) | :heavy_minus_sign: | Docling-specific OCR parameters (output_format, ocr_engine, force_ocr, table_mode, lang) | | \ No newline at end of file diff --git a/docs/models/ocrusageinfo.md b/docs/models/ocrusageinfo.md index ac64d22..ebadb70 100644 --- a/docs/models/ocrusageinfo.md +++ b/docs/models/ocrusageinfo.md @@ -14,7 +14,10 @@ let value: OCRUsageInfo = { ## Fields -| Field | Type | Required | Description | -| ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | -| `pagesProcessed` | *number* | :heavy_check_mark: | Number of pages processed | -| `docSizeBytes` | *number* | :heavy_minus_sign: | Size of the document in bytes | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | +| `pagesProcessed` | *number* | :heavy_check_mark: | Number of pages processed | +| `docSizeBytes` | *number* | :heavy_minus_sign: | Size of the document in bytes | +| `processingTimeSeconds` | *number* | :heavy_minus_sign: | Total processing time in seconds | +| `timePerPageSeconds` | *number* | :heavy_minus_sign: | Average processing time per page in seconds | +| `appliedSettings` | Record | :heavy_minus_sign: | Settings used for processing | \ No newline at end of file diff --git a/docs/models/openaitypeschatchatcompletioncustomtoolparamcustom.md b/docs/models/openaitypeschatchatcompletioncustomtoolparamcustom.md index bb0f890..4c0feaf 100644 --- a/docs/models/openaitypeschatchatcompletioncustomtoolparamcustom.md +++ b/docs/models/openaitypeschatchatcompletioncustomtoolparamcustom.md @@ -1,5 +1,7 @@ # OpenaiTypesChatChatCompletionCustomToolParamCustom +Properties of the custom tool. + ## Example Usage ```typescript diff --git a/docs/models/openaitypeschatchatcompletionmessagecustomtoolcallparamcustom.md b/docs/models/openaitypeschatchatcompletionmessagecustomtoolcallparamcustom.md index b8326b4..553c612 100644 --- a/docs/models/openaitypeschatchatcompletionmessagecustomtoolcallparamcustom.md +++ b/docs/models/openaitypeschatchatcompletionmessagecustomtoolcallparamcustom.md @@ -1,5 +1,7 @@ # OpenaiTypesChatChatCompletionMessageCustomToolCallParamCustom +The custom tool that the model called. + ## Example Usage ```typescript diff --git a/docs/models/openaitypeschatchatcompletionmessagefunctiontoolcallparamfunction.md b/docs/models/openaitypeschatchatcompletionmessagefunctiontoolcallparamfunction.md index 0f16b4b..4756210 100644 --- a/docs/models/openaitypeschatchatcompletionmessagefunctiontoolcallparamfunction.md +++ b/docs/models/openaitypeschatchatcompletionmessagefunctiontoolcallparamfunction.md @@ -1,5 +1,7 @@ # OpenaiTypesChatChatCompletionMessageFunctionToolCallParamFunction +The function that the model called. + ## Example Usage ```typescript diff --git a/docs/models/operations/delta.md b/docs/models/operations/delta.md index c60cf6c..b7352e2 100644 --- a/docs/models/operations/delta.md +++ b/docs/models/operations/delta.md @@ -14,13 +14,13 @@ const value: string = "Hello"; ### `number` ```typescript -const value: number = NaN; +const value: number = 42; ``` ### `number` ```typescript -const value: number = NaN; +const value: number = 42; ``` ### `boolean` diff --git a/docs/models/operations/getfunctionconfigfunctionsfunctionidconfiggetrequest.md b/docs/models/operations/getfunctionconfigfunctionsfunctionidconfiggetrequest.md new file mode 100644 index 0000000..b1eb89b --- /dev/null +++ b/docs/models/operations/getfunctionconfigfunctionsfunctionidconfiggetrequest.md @@ -0,0 +1,17 @@ +# GetFunctionConfigFunctionsFunctionIdConfigGetRequest + +## Example Usage + +```typescript +import { GetFunctionConfigFunctionsFunctionIdConfigGetRequest } from "opperai/models/operations"; + +let value: GetFunctionConfigFunctionsFunctionIdConfigGetRequest = { + functionId: "9efe39c7-bbac-4b7c-a6bb-629bd6ad8400", +}; +``` + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | +| `functionId` | *string* | :heavy_check_mark: | The id of the function whose config to retrieve | \ No newline at end of file diff --git a/docs/models/operations/listfunctionsfunctionsgetrequest.md b/docs/models/operations/listfunctionsfunctionsgetrequest.md index 13dca7c..9bdf646 100644 --- a/docs/models/operations/listfunctionsfunctionsgetrequest.md +++ b/docs/models/operations/listfunctionsfunctionsgetrequest.md @@ -13,9 +13,9 @@ let value: ListFunctionsFunctionsGetRequest = { ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `name` | *string* | :heavy_minus_sign: | Filter functions by name | my-function | -| `sort` | *string* | :heavy_minus_sign: | Sort the functions by name or created_at, use '-' to sort in descending order | name | -| `offset` | *number* | :heavy_minus_sign: | The offset of the page of functions to return when paginating | | -| `limit` | *number* | :heavy_minus_sign: | The number of functions to return per page when paginating | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | +| `name` | *string* | :heavy_minus_sign: | Filter functions by name | **Example 1:** my-function
**Example 2:** my-namespace.my-sub-function
**Example 3:** my-namespace/my-sub-function | +| `sort` | *string* | :heavy_minus_sign: | Sort the functions by name or created_at, use '-' to sort in descending order | **Example 1:** name
**Example 2:** -name
**Example 3:** created
**Example 4:** -created | +| `offset` | *number* | :heavy_minus_sign: | The offset of the page of functions to return when paginating | | +| `limit` | *number* | :heavy_minus_sign: | The number of functions to return per page when paginating | | \ No newline at end of file diff --git a/docs/models/operations/putsteeringfunctionsfunctionidconfigsteeringputrequest.md b/docs/models/operations/putsteeringfunctionsfunctionidconfigsteeringputrequest.md new file mode 100644 index 0000000..4739ae2 --- /dev/null +++ b/docs/models/operations/putsteeringfunctionsfunctionidconfigsteeringputrequest.md @@ -0,0 +1,19 @@ +# PutSteeringFunctionsFunctionIdConfigSteeringPutRequest + +## Example Usage + +```typescript +import { PutSteeringFunctionsFunctionIdConfigSteeringPutRequest } from "opperai/models/operations"; + +let value: PutSteeringFunctionsFunctionIdConfigSteeringPutRequest = { + functionId: "d2ae10d7-4676-46ca-b5a8-3462451ad0df", + steeringConfig: {}, +}; +``` + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| `functionId` | *string* | :heavy_check_mark: | The id of the function whose steering config to update | +| `steeringConfig` | [models.SteeringConfig](../../models/steeringconfig.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/operations/streamingchunk.md b/docs/models/operations/streamingchunk.md index b6f84fa..5b5795b 100644 --- a/docs/models/operations/streamingchunk.md +++ b/docs/models/operations/streamingchunk.md @@ -37,9 +37,9 @@ let value: StreamingChunk = { | Field | Type | Required | Description | Example | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `delta` | *operations.Delta* | :heavy_minus_sign: | Incremental content for streaming. Used for both unstructured text streaming (when no output_schema) and structured streaming (when output_schema is provided). For structured streaming, contains actual field values being streamed to the json_path location. Supports all JSON types: strings, numbers, booleans. | Hello | -| `jsonPath` | *string* | :heavy_minus_sign: | Dot-notation path showing exactly which field in your output_schema is being populated. Enables precise UI updates by routing content to specific components. Format: field[index].nested_field | summary | +| `delta` | *operations.Delta* | :heavy_minus_sign: | Incremental content for streaming. Used for both unstructured text streaming (when no output_schema) and structured streaming (when output_schema is provided). For structured streaming, contains actual field values being streamed to the json_path location. Supports all JSON types: strings, numbers, booleans. | **Example 1:** Hello
**Example 2:** world
**Example 3:** !
**Example 4:** John Doe
**Example 5:** Software Engineer
**Example 6:** Paris is the capital
**Example 7:** 42
**Example 8:** 3.14
**Example 9:** true
**Example 10:** false | +| `jsonPath` | *string* | :heavy_minus_sign: | Dot-notation path showing exactly which field in your output_schema is being populated. Enables precise UI updates by routing content to specific components. Format: field[index].nested_field | **Example 1:** summary
**Example 2:** people[0].name
**Example 3:** people[1].role
**Example 4:** metadata.created_at
**Example 5:** tags[2] | | `spanId` | *string* | :heavy_minus_sign: | Unique identifier for the execution span, included in the first streaming chunk for tracing | 123e4567-e89b-12d3-a456-426614174000 | -| `chunkType` | *string* | :heavy_minus_sign: | Indicates the streaming mode: 'text' for unstructured streaming, 'json' for structured streaming with output_schema, 'error' for error events. Only present when delta content is included. | text | -| `errorType` | *string* | :heavy_minus_sign: | Error type when chunk_type is 'error' | RateLimitError | +| `chunkType` | *string* | :heavy_minus_sign: | Indicates the streaming mode: 'text' for unstructured streaming, 'json' for structured streaming with output_schema, 'error' for error events. Only present when delta content is included. | **Example 1:** text
**Example 2:** json
**Example 3:** error | +| `errorType` | *string* | :heavy_minus_sign: | Error type when chunk_type is 'error' | **Example 1:** RateLimitError
**Example 2:** APIConnectionError | | `errorMessage` | *string* | :heavy_minus_sign: | Error message when chunk_type is 'error' | | \ No newline at end of file diff --git a/docs/models/operations/updatespanspansspanidpatchrequest.md b/docs/models/operations/updatespanspansspanidpatchrequest.md index 0da6d5c..5c00ece 100644 --- a/docs/models/operations/updatespanspansspanidpatchrequest.md +++ b/docs/models/operations/updatespanspansspanidpatchrequest.md @@ -9,9 +9,9 @@ let value: UpdateSpanSpansSpanIdPatchRequest = { spanId: "c4686ca8-5f9f-483e-8cc2-e12731bcf9e5", updateSpanRequest: { name: "my span", - startTime: new Date("2026-01-02T11:36:47.278310Z"), + startTime: new Date("2026-06-29T11:55:36.462574Z"), type: "email_tool", - endTime: new Date("2026-01-02T11:36:47.278372Z"), + endTime: new Date("2026-06-29T11:55:36.462618Z"), input: "Hello, world!", output: "Hello, world!", error: "Exception: This is an error message", diff --git a/docs/models/operations/usageanalyticsusagegetrequest.md b/docs/models/operations/usageanalyticsusagegetrequest.md index 9bae35d..63d0822 100644 --- a/docs/models/operations/usageanalyticsusagegetrequest.md +++ b/docs/models/operations/usageanalyticsusagegetrequest.md @@ -19,10 +19,11 @@ let value: UsageAnalyticsUsageGetRequest = { ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | -| `fromDate` | [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) | :heavy_minus_sign: | Start date for the time range (inclusive). If not provided, defaults to the first day of the current month. | | -| `toDate` | [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) | :heavy_minus_sign: | End date for the time range (exclusive). If not provided, defaults to the last day of the current month. | | -| `granularity` | [models.Granularity](../../models/granularity.md) | :heavy_minus_sign: | Time granularity for grouping (minute, hour, day, month, year) | | -| `fields` | *string*[] | :heavy_minus_sign: | Fields from event_metadata to include and sum | [
"completion_tokens",
"total_tokens"
] | -| `groupBy` | *string*[] | :heavy_minus_sign: | Fields from tags to group by | [
"model",
"project.name"
] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `fromDate` | [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) | :heavy_minus_sign: | Start date for the time range (inclusive). If not provided, defaults to the first day of the current month. | | +| `toDate` | [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) | :heavy_minus_sign: | End date for the time range (exclusive). If not provided, defaults to the last day of the current month. | | +| `granularity` | [models.Granularity](../../models/granularity.md) | :heavy_minus_sign: | Time granularity for grouping (minute, hour, day, month, year) | | +| `fields` | *string*[] | :heavy_minus_sign: | Fields from event_metadata to include and sum | [
"completion_tokens",
"total_tokens"
] | +| `groupBy` | *string*[] | :heavy_minus_sign: | Fields from tags to group by | [
"model",
"project.name"
] | +| `sessionId` | *string* | :heavy_minus_sign: | If provided, narrow the result to events tagged with this session_id (set by the URL-session prefix /v3/session/). Useful for `opper launch` style accounting. | | \ No newline at end of file diff --git a/docs/models/prompttokensdetails.md b/docs/models/prompttokensdetails.md index cefdd05..723d0fb 100644 --- a/docs/models/prompttokensdetails.md +++ b/docs/models/prompttokensdetails.md @@ -1,5 +1,7 @@ # PromptTokensDetails +Breakdown of tokens used in the prompt. + ## Example Usage ```typescript diff --git a/docs/models/registercustommodelrequest.md b/docs/models/registercustommodelrequest.md index bdad6e8..4bd89dd 100644 --- a/docs/models/registercustommodelrequest.md +++ b/docs/models/registercustommodelrequest.md @@ -13,9 +13,11 @@ let value: RegisterCustomModelRequest = { ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | -| `name` | *string* | :heavy_check_mark: | The name of the custom language model | -| `identifier` | *string* | :heavy_check_mark: | The identifier of the custom language model | -| `extra` | Record | :heavy_minus_sign: | Extra metadata about the custom language model | -| `apiKey` | *string* | :heavy_minus_sign: | The API key of the custom language model | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `name` | *string* | :heavy_check_mark: | The name of the custom language model | +| `identifier` | *string* | :heavy_check_mark: | The identifier of the custom language model (e.g. openai/gpt-4o, azure/gpt-5) | +| `provider` | *string* | :heavy_minus_sign: | Provider name (auto-detected from identifier if not specified) | +| `type` | *string* | :heavy_minus_sign: | Model type: 'llm' (default), 'embedding', or 'image' | +| `extra` | Record | :heavy_minus_sign: | Provider-specific configuration (e.g. api_base, api_version, region) | +| `apiKey` | *string* | :heavy_minus_sign: | The API key or credentials for the model | \ No newline at end of file diff --git a/docs/models/registercustommodelresponse.md b/docs/models/registercustommodelresponse.md index 7adbbde..feaff9d 100644 --- a/docs/models/registercustommodelresponse.md +++ b/docs/models/registercustommodelresponse.md @@ -14,9 +14,11 @@ let value: RegisterCustomModelResponse = { ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The ID of the custom language model | -| `name` | *string* | :heavy_check_mark: | The name of the custom language model | -| `identifier` | *string* | :heavy_check_mark: | The identifier of the custom language model | -| `extra` | Record | :heavy_minus_sign: | Extra metadata about the custom language model | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the custom language model | +| `name` | *string* | :heavy_check_mark: | The name of the custom language model | +| `identifier` | *string* | :heavy_check_mark: | The identifier of the custom language model | +| `provider` | *string* | :heavy_minus_sign: | Provider name | +| `type` | *string* | :heavy_minus_sign: | Model type: llm, embedding, or image | +| `extra` | Record | :heavy_minus_sign: | Provider-specific configuration | \ No newline at end of file diff --git a/docs/models/responseformatjsonobject.md b/docs/models/responseformatjsonobject.md index dfc925f..eb1624a 100644 --- a/docs/models/responseformatjsonobject.md +++ b/docs/models/responseformatjsonobject.md @@ -1,5 +1,12 @@ # ResponseFormatJSONObject +JSON object response format. + +An older method of generating JSON responses. +Using `json_schema` is recommended for models that support it. Note that the +model will not generate JSON without a system or user message instructing it +to do so. + ## Example Usage ```typescript diff --git a/docs/models/responseformatjsonschema.md b/docs/models/responseformatjsonschema.md index 3665d7f..5499077 100644 --- a/docs/models/responseformatjsonschema.md +++ b/docs/models/responseformatjsonschema.md @@ -1,5 +1,10 @@ # ResponseFormatJSONSchema +JSON Schema response format. + +Used to generate structured JSON responses. +Learn more about [Structured Outputs](https://platform.openai.com/docs/guides/structured-outputs). + ## Example Usage ```typescript @@ -15,7 +20,7 @@ let value: ResponseFormatJSONSchema = { ## Fields -| Field | Type | Required | Description | -| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -| `jsonSchema` | [models.JSONSchema](../models/jsonschema.md) | :heavy_check_mark: | N/A | -| `type` | *"json_schema"* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | +| `jsonSchema` | [models.JSONSchema](../models/jsonschema.md) | :heavy_check_mark: | Structured Outputs configuration options, including a JSON Schema. | +| `type` | *"json_schema"* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/responseformattext.md b/docs/models/responseformattext.md index 2d35bbb..bdcc515 100644 --- a/docs/models/responseformattext.md +++ b/docs/models/responseformattext.md @@ -1,5 +1,7 @@ # ResponseFormatText +Default response format. Used to generate text responses. + ## Example Usage ```typescript diff --git a/docs/models/spanmetricdata.md b/docs/models/spanmetricdata.md index 53683d1..63870e7 100644 --- a/docs/models/spanmetricdata.md +++ b/docs/models/spanmetricdata.md @@ -16,10 +16,10 @@ let value: SpanMetricData = { ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The id of the metric | | -| `dimension` | *string* | :heavy_check_mark: | The dimension of the metric | latency | -| `value` | *number* | :heavy_check_mark: | The value of the metric | | -| `createdAt` | [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) | :heavy_check_mark: | The timestamp when the metric was created | | -| `comment` | *string* | :heavy_minus_sign: | The comment of the metric, can be used to add additional information about the metric | Expert feedback | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The id of the metric | | +| `dimension` | *string* | :heavy_check_mark: | The dimension of the metric | **Example 1:** latency
**Example 2:** error_rate
**Example 3:** throughput
**Example 4:** cost | +| `value` | *number* | :heavy_check_mark: | The value of the metric | | +| `createdAt` | [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) | :heavy_check_mark: | The timestamp when the metric was created | | +| `comment` | *string* | :heavy_minus_sign: | The comment of the metric, can be used to add additional information about the metric | Expert feedback | \ No newline at end of file diff --git a/docs/models/spanschema.md b/docs/models/spanschema.md index 3e09a16..6faf85c 100644 --- a/docs/models/spanschema.md +++ b/docs/models/spanschema.md @@ -26,7 +26,7 @@ let value: SpanSchema = { | `id` | *string* | :heavy_minus_sign: | The id of the span, set to the uuid of the span | | | `name` | *string* | :heavy_minus_sign: | The name of the span | | | `startTime` | [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) | :heavy_minus_sign: | The start time of the span | | -| `type` | *string* | :heavy_minus_sign: | The type of the span | generation | +| `type` | *string* | :heavy_minus_sign: | The type of the span | **Example 1:** generation
**Example 2:** call
**Example 3:** tool | | `parentId` | *string* | :heavy_minus_sign: | The id of the parent span | | | `endTime` | [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) | :heavy_minus_sign: | The end time of the span | | | `durationMs` | *number* | :heavy_minus_sign: | The duration of the span in milliseconds | | diff --git a/docs/models/steeringconfig.md b/docs/models/steeringconfig.md new file mode 100644 index 0000000..84aa199 --- /dev/null +++ b/docs/models/steeringconfig.md @@ -0,0 +1,18 @@ +# SteeringConfig + +## Example Usage + +```typescript +import { SteeringConfig } from "opperai/models"; + +let value: SteeringConfig = {}; +``` + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `enabled` | *boolean* | :heavy_minus_sign: | N/A | +| `fewShotCount` | *number* | :heavy_minus_sign: | N/A | +| `fewShotStrategy` | *string* | :heavy_minus_sign: | N/A | +| `fewShotInjection` | *string* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/submitfeedbackrequest.md b/docs/models/submitfeedbackrequest.md index aa03156..0921aef 100644 --- a/docs/models/submitfeedbackrequest.md +++ b/docs/models/submitfeedbackrequest.md @@ -15,6 +15,6 @@ let value: SubmitFeedbackRequest = { | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | -| `score` | *number* | :heavy_check_mark: | Feedback score (0.0=negative, 1.0=positive) | 1 | +| `score` | *number* | :heavy_check_mark: | Feedback score (0.0=negative, 1.0=positive) | **Example 1:** 1
**Example 2:** 0 | | `comment` | *string* | :heavy_minus_sign: | Optional comment explaining the feedback | Great output, exactly what I needed | | `saveToDataset` | *boolean* | :heavy_minus_sign: | Force save to dataset (True=force save, False=never save, None=use auto-save config) | | \ No newline at end of file diff --git a/docs/models/updatecustommodelresponse.md b/docs/models/updatecustommodelresponse.md index aacdbe6..2ae39a1 100644 --- a/docs/models/updatecustommodelresponse.md +++ b/docs/models/updatecustommodelresponse.md @@ -14,9 +14,11 @@ let value: UpdateCustomModelResponse = { ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The ID of the custom language model | -| `name` | *string* | :heavy_check_mark: | The name of the custom language model | -| `identifier` | *string* | :heavy_check_mark: | The identifier of the custom language model | -| `extra` | Record | :heavy_minus_sign: | Extra metadata about the custom language model | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the custom language model | +| `name` | *string* | :heavy_check_mark: | The name of the custom language model | +| `identifier` | *string* | :heavy_check_mark: | The identifier of the custom language model | +| `provider` | *string* | :heavy_minus_sign: | Provider name | +| `type` | *string* | :heavy_minus_sign: | Model type: llm, embedding, or image | +| `extra` | Record | :heavy_minus_sign: | Provider-specific configuration | \ No newline at end of file diff --git a/docs/models/updatefunctionrequest.md b/docs/models/updatefunctionrequest.md index 40fbc8e..328e1f1 100644 --- a/docs/models/updatefunctionrequest.md +++ b/docs/models/updatefunctionrequest.md @@ -54,12 +54,12 @@ let value: UpdateFunctionRequest = { ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `name` | *string* | :heavy_minus_sign: | The name of the function. Must be unique within the project and can only contain letters, numbers, underscores and hyphens. | my-function | -| `description` | *string* | :heavy_minus_sign: | Optional description of the function. This is used to describe the function to a user. | This function is used to add two numbers and return the result. | -| `instructions` | *string* | :heavy_minus_sign: | The instructions for the function, this is the prompt that will be sent to the model to complete the task. Recommended to be concise and to the point | You are a calculator that adds two numbers and returns the result. | -| `inputSchema` | Record | :heavy_minus_sign: | Optional input schema for the function. Can preferably include field descriptions to allow the model to reason about the input variables. Schema is validated against the input data and issues an error if it does not match. With the Opper SDKs you can define these schemas through libraries like Pydantic and Zod. For schemas with definitions, prefer using '$defs' and '#/$defs/...' references. | {
"properties": {
"x": {
"title": "X",
"type": "integer"
},
"y": {
"title": "Y",
"type": "integer"
}
},
"required": [
"x",
"y"
],
"title": "OpperInputExample",
"type": "object"
} | -| `outputSchema` | Record | :heavy_minus_sign: | Optional output schema for the function. Can preferably include field descriptions to allow the model to reason about the output variables. Schema is validated against the output data and issues an error if it does not match. With the Opper SDKs you can define these schemas through libraries like Pydantic and Zod. For schemas with definitions, prefer using '$defs' and '#/$defs/...' references. | {
"properties": {
"sum": {
"title": "Sum",
"type": "integer"
}
},
"required": [
"sum"
],
"title": "OpperOutputExample",
"type": "object"
} | -| `model` | *models.TModel* | :heavy_minus_sign: | Optionally provide a model to use for completing the task.
If not provided, a default model will be used. Currently the default model is `azure/gpt-4o-eu`

To specify options for the model, use a dictionary of key-value pairs. The options are passed to the model on invocation.
An example of passing temperature to `gpt-4o-mini` hosted on OpenAI is shown below.

```json
{
"model": "openai/gpt-4o-mini", # the model name
"options": {
"temperature": 0.5 # the options for the model
}
}
```

To specify a fallback model, use a list of models. The models will then be tried in order.
The second model will be used if the first model is not available, and so on.

```json
[
"openai/gpt-4o-mini", # first model to try
"openai/gpt-4.1-nano", # second model to try
]
```
| | -| `configuration` | Record | :heavy_minus_sign: | Optional configuration for the function.Configuration is a dictionary of key-value pairs that can be used to override the default configuration for the function. | {
"beta.invocation.input_validation.enabled": false,
"beta.invocation.xml_mode.enabled": false,
"invocation.cache.ttl": 0,
"invocation.few_shot.count": 3,
"invocation.structured_generation.max_attempts": 5
} | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `name` | *string* | :heavy_minus_sign: | The name of the function. Must be unique within the project and can only contain letters, numbers, underscores and hyphens. | **Example 1:** my-function
**Example 2:** my-namespace.my-sub-function
**Example 3:** my-namespace/my-sub-function | +| `description` | *string* | :heavy_minus_sign: | Optional description of the function. This is used to describe the function to a user. | This function is used to add two numbers and return the result. | +| `instructions` | *string* | :heavy_minus_sign: | The instructions for the function, this is the prompt that will be sent to the model to complete the task. Recommended to be concise and to the point | You are a calculator that adds two numbers and returns the result. | +| `inputSchema` | Record | :heavy_minus_sign: | Optional input schema for the function. Can preferably include field descriptions to allow the model to reason about the input variables. Schema is validated against the input data and issues an error if it does not match. With the Opper SDKs you can define these schemas through libraries like Pydantic and Zod. For schemas with definitions, prefer using '$defs' and '#/$defs/...' references. | {
"properties": {
"x": {
"title": "X",
"type": "integer"
},
"y": {
"title": "Y",
"type": "integer"
}
},
"required": [
"x",
"y"
],
"title": "OpperInputExample",
"type": "object"
} | +| `outputSchema` | Record | :heavy_minus_sign: | Optional output schema for the function. Can preferably include field descriptions to allow the model to reason about the output variables. Schema is validated against the output data and issues an error if it does not match. With the Opper SDKs you can define these schemas through libraries like Pydantic and Zod. For schemas with definitions, prefer using '$defs' and '#/$defs/...' references. | {
"properties": {
"sum": {
"title": "Sum",
"type": "integer"
}
},
"required": [
"sum"
],
"title": "OpperOutputExample",
"type": "object"
} | +| `model` | *models.TModel* | :heavy_minus_sign: | Optionally provide a model to use for completing the task.
If not provided, a default model will be used (e.g. `azure/gpt-4o-eu`).

To specify options for the model, use a dictionary of key-value pairs. The options are passed to the model on invocation.
An example of passing temperature to `gpt-4o-mini` hosted on OpenAI is shown below.

```json
{{
"model": "openai/gpt-4o-mini", # the model name
"options": {{
"temperature": 0.5 # the options for the model
}}
}}
```

To specify a fallback model, use a list of models. The models will then be tried in order.
The second model will be used if the first model is not available, and so on.

```json
[
"openai/gpt-4o-mini", # first model to try
"openai/gpt-4.1-nano", # second model to try
]
```
| | +| `configuration` | Record | :heavy_minus_sign: | Optional configuration for the function.Configuration is a dictionary of key-value pairs that can be used to override the default configuration for the function. | {
"beta.invocation.input_validation.enabled": false,
"beta.invocation.xml_mode.enabled": false,
"invocation.cache.ttl": 0,
"invocation.few_shot.count": 3,
"invocation.structured_generation.max_attempts": 5
} | \ No newline at end of file diff --git a/docs/models/updatefunctionresponse.md b/docs/models/updatefunctionresponse.md index 3c9da69..0859450 100644 --- a/docs/models/updatefunctionresponse.md +++ b/docs/models/updatefunctionresponse.md @@ -51,7 +51,7 @@ let value: UpdateFunctionResponse = { | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `name` | *string* | :heavy_check_mark: | The name of the function. Must be unique within the project and can only contain letters, numbers, underscores and hyphens. | my-function | +| `name` | *string* | :heavy_check_mark: | The name of the function. Must be unique within the project and can only contain letters, numbers, underscores and hyphens. | **Example 1:** my-function
**Example 2:** my-namespace.my-sub-function
**Example 3:** my-namespace/my-sub-function | | `description` | *string* | :heavy_minus_sign: | Optional description of the function. This is used to describe the function to a user. | This function is used to add two numbers and return the result. | | `instructions` | *string* | :heavy_check_mark: | The instructions for the function, this is the prompt that will be sent to the model to complete the task. Recommended to be concise and to the point | You are a calculator that adds two numbers and returns the result. | | `inputSchema` | Record | :heavy_minus_sign: | Optional input schema for the function. Can preferably include field descriptions to allow the model to reason about the input variables. Schema is validated against the input data and issues an error if it does not match. With the Opper SDKs you can define these schemas through libraries like Pydantic and Zod. For schemas with definitions, prefer using '$defs' and '#/$defs/...' references. | {
"properties": {
"x": {
"title": "X",
"type": "integer"
},
"y": {
"title": "Y",
"type": "integer"
}
},
"required": [
"x",
"y"
],
"title": "OpperInputExample",
"type": "object"
} | @@ -61,4 +61,5 @@ let value: UpdateFunctionResponse = { | `id` | *string* | :heavy_check_mark: | The ID of the function | | | `datasetId` | *string* | :heavy_minus_sign: | The ID of the dataset associated with the function | | | `revisionId` | *string* | :heavy_minus_sign: | The ID of the latest revision of the function | | -| `observerEnabled` | *boolean* | :heavy_minus_sign: | Whether the observer is enabled for this function. When enabled, the observer monitors and evaluates all generations. | | \ No newline at end of file +| `observerEnabled` | *boolean* | :heavy_minus_sign: | Whether the observer is enabled for this function. When enabled, the observer monitors and evaluates all generations. | | +| `isV3` | *boolean* | :heavy_minus_sign: | Whether this function has been executed through the v3 API | | \ No newline at end of file diff --git a/docs/models/updatespanrequest.md b/docs/models/updatespanrequest.md index f2a8f24..5ee2d4f 100644 --- a/docs/models/updatespanrequest.md +++ b/docs/models/updatespanrequest.md @@ -7,9 +7,9 @@ import { UpdateSpanRequest } from "opperai/models"; let value: UpdateSpanRequest = { name: "my span", - startTime: new Date("2026-01-02T11:36:47.278310Z"), + startTime: new Date("2026-06-29T11:55:36.462574Z"), type: "email_tool", - endTime: new Date("2026-01-02T11:36:47.278372Z"), + endTime: new Date("2026-06-29T11:55:36.462618Z"), input: "Hello, world!", output: "Hello, world!", error: "Exception: This is an error message", @@ -25,9 +25,9 @@ let value: UpdateSpanRequest = { | Field | Type | Required | Description | Example | | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | | `name` | *string* | :heavy_minus_sign: | The name of the span, something descriptive about the span that will be used to identify it when querying | my span | -| `startTime` | [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) | :heavy_minus_sign: | The start time of the span in UTC | 2026-01-02T11:36:47.278310Z | +| `startTime` | [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) | :heavy_minus_sign: | The start time of the span in UTC | 2026-06-29T11:55:36.462574Z | | `type` | *string* | :heavy_minus_sign: | The type of the span | email_tool | -| `endTime` | [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) | :heavy_minus_sign: | The end time of the span in UTC | 2026-01-02T11:36:47.278372Z | +| `endTime` | [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) | :heavy_minus_sign: | The end time of the span in UTC | 2026-06-29T11:55:36.462618Z | | `input` | *string* | :heavy_minus_sign: | The input of the span | Hello, world! | | `output` | *string* | :heavy_minus_sign: | The output of the span | Hello, world! | | `error` | *string* | :heavy_minus_sign: | In case of an error, the error message | Exception: This is an error message | diff --git a/docs/models/value2.md b/docs/models/value2.md index 5922b98..21c866c 100644 --- a/docs/models/value2.md +++ b/docs/models/value2.md @@ -14,20 +14,18 @@ const value: string = "product"; ### `number` ```typescript -const value: number = NaN; +const value: number = 128403; ``` ### `number` ```typescript -const value: number = NaN; +const value: number = 1284.03; ``` ### `models.Value1[]` ```typescript -const value: models.Value1[] = [ - "product", -]; +const value: models.Value1[] = []; ``` diff --git a/docs/models/voice.md b/docs/models/voice.md index c984de7..3432a25 100644 --- a/docs/models/voice.md +++ b/docs/models/voice.md @@ -12,6 +12,6 @@ const value: string = ""; ### `models.VoiceEnum` ```typescript -const value: models.VoiceEnum = "shimmer"; +const value: models.VoiceEnum = "marin"; ``` diff --git a/docs/models/voiceenum.md b/docs/models/voiceenum.md index 4d65af2..94bca16 100644 --- a/docs/models/voiceenum.md +++ b/docs/models/voiceenum.md @@ -5,11 +5,11 @@ ```typescript import { VoiceEnum } from "opperai/models"; -let value: VoiceEnum = "echo"; +let value: VoiceEnum = "sage"; ``` ## Values ```typescript -"alloy" | "ash" | "ballad" | "coral" | "echo" | "sage" | "shimmer" | "verse" +"alloy" | "ash" | "ballad" | "coral" | "echo" | "sage" | "shimmer" | "verse" | "marin" | "cedar" ``` \ No newline at end of file diff --git a/docs/models/websearchoptions.md b/docs/models/websearchoptions.md index a1af0ed..8a2d5e3 100644 --- a/docs/models/websearchoptions.md +++ b/docs/models/websearchoptions.md @@ -1,5 +1,8 @@ # WebSearchOptions +This tool searches the web for relevant results to use in a response. +Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search?api-mode=chat). + ## Example Usage ```typescript diff --git a/docs/models/websearchoptionsuserlocation.md b/docs/models/websearchoptionsuserlocation.md index 3839aa9..5d6c03c 100644 --- a/docs/models/websearchoptionsuserlocation.md +++ b/docs/models/websearchoptionsuserlocation.md @@ -1,5 +1,7 @@ # WebSearchOptionsUserLocation +Approximate location parameters for the search. + ## Example Usage ```typescript @@ -15,5 +17,5 @@ let value: WebSearchOptionsUserLocation = { | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | -| `approximate` | [models.WebSearchOptionsUserLocationApproximate](../models/websearchoptionsuserlocationapproximate.md) | :heavy_check_mark: | N/A | +| `approximate` | [models.WebSearchOptionsUserLocationApproximate](../models/websearchoptionsuserlocationapproximate.md) | :heavy_check_mark: | Approximate location parameters for the search. | | `type` | *"approximate"* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/websearchoptionsuserlocationapproximate.md b/docs/models/websearchoptionsuserlocationapproximate.md index 2daeee0..5d8ac85 100644 --- a/docs/models/websearchoptionsuserlocationapproximate.md +++ b/docs/models/websearchoptionsuserlocationapproximate.md @@ -1,5 +1,7 @@ # WebSearchOptionsUserLocationApproximate +Approximate location parameters for the search. + ## Example Usage ```typescript diff --git a/examples/package-lock.json b/examples/package-lock.json index 772e8b4..87b076b 100644 --- a/examples/package-lock.json +++ b/examples/package-lock.json @@ -13,29 +13,29 @@ "devDependencies": { "@types/node": "^20.0.0", "dotenv": "^16.4.5", - "tsx": "^4.22.4" + "tsx": "^4.19.2" } }, "..": { "name": "opperai", - "version": "3.4.1", + "version": "3.5.0", "dependencies": { - "@modelcontextprotocol/sdk": "^1.24.0", + "@modelcontextprotocol/sdk": "^1.26.0", "zod": "^3.25.0 || ^4.0.0" }, "bin": { "mcp": "bin/mcp-server.js" }, "devDependencies": { - "@eslint/js": "^9.19.0", + "@eslint/js": "^9.26.0", "@stricli/core": "^1.1.1", "@types/express": "^4.17.21", "bun": "1.2.17", "bun-types": "1.2.17", - "eslint": "^9.19.0", + "eslint": "^9.26.0", "express": "^4.21.2", "globals": "^15.14.0", - "tshy": "^2.0.0", + "tshy": "^3.3.2", "typescript": "~5.8.3", "typescript-eslint": "^8.26.0" } diff --git a/examples/package.json b/examples/package.json index a47bb51..fe49b0d 100644 --- a/examples/package.json +++ b/examples/package.json @@ -10,9 +10,9 @@ "devDependencies": { "@types/node": "^20.0.0", "dotenv": "^16.4.5", - "tsx": "^4.22.4" + "tsx": "^4.19.2" }, "dependencies": { "opperai": "file:.." } -} +} \ No newline at end of file diff --git a/jsr.json b/jsr.json index 029e1ab..ef608e7 100644 --- a/jsr.json +++ b/jsr.json @@ -2,7 +2,7 @@ { "name": "opperai", - "version": "3.4.1", + "version": "3.5.0", "exports": { ".": "./src/index.ts", "./models/errors": "./src/models/errors/index.ts", diff --git a/package-lock.json b/package-lock.json index d0b969c..d0276ca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,29 +1,29 @@ { "name": "opperai", - "version": "3.4.1", + "version": "3.5.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "opperai", - "version": "3.4.1", + "version": "3.5.0", "dependencies": { - "@modelcontextprotocol/sdk": "^1.24.0", + "@modelcontextprotocol/sdk": "^1.26.0", "zod": "^3.25.0 || ^4.0.0" }, "bin": { "mcp": "bin/mcp-server.js" }, "devDependencies": { - "@eslint/js": "^9.19.0", + "@eslint/js": "^9.26.0", "@stricli/core": "^1.1.1", "@types/express": "^4.17.21", "bun": "1.2.17", "bun-types": "1.2.17", - "eslint": "^9.19.0", + "eslint": "^9.26.0", "express": "^4.21.2", "globals": "^15.14.0", - "tshy": "^2.0.0", + "tshy": "^3.3.2", "typescript": "~5.8.3", "typescript-eslint": "^8.26.0" } @@ -183,9 +183,9 @@ } }, "node_modules/@hono/node-server": { - "version": "1.19.7", - "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.7.tgz", - "integrity": "sha512-vUcD0uauS7EU2caukW8z5lJKtoGMokxNbJtBiwHgpqxEXokaHCBkQUmCHhjFB1VUTWdqj25QoMkMKzgjq+uhrw==", + "version": "1.19.14", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.14.tgz", + "integrity": "sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==", "license": "MIT", "engines": { "node": ">=18.14.1" @@ -260,31 +260,13 @@ "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/@modelcontextprotocol/sdk": { - "version": "1.25.1", - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.25.1.tgz", - "integrity": "sha512-yO28oVFFC7EBoiKdAn+VqRm+plcfv4v0xp6osG/VsCB0NlPZWi87ajbCZZ8f/RvOFLEu7//rSRmuZZ7lMoe3gQ==", + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.29.0.tgz", + "integrity": "sha512-zo37mZA9hJWpULgkRpowewez1y6ML5GsXJPY8FI0tBBCd77HEvza4jDqRKOXgHNn867PVGCyTdzqpz0izu5ZjQ==", "license": "MIT", "dependencies": { - "@hono/node-server": "^1.19.7", + "@hono/node-server": "^1.19.9", "ajv": "^8.17.1", "ajv-formats": "^3.0.1", "content-type": "^1.0.5", @@ -292,14 +274,15 @@ "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", - "express": "^5.0.1", - "express-rate-limit": "^7.5.0", - "jose": "^6.1.1", + "express": "^5.2.1", + "express-rate-limit": "^8.2.1", + "hono": "^4.11.4", + "jose": "^6.1.3", "json-schema-typed": "^8.0.2", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.25 || ^4.0", - "zod-to-json-schema": "^3.25.0" + "zod-to-json-schema": "^3.25.1" }, "engines": { "node": ">=18" @@ -347,35 +330,53 @@ } }, "node_modules/@modelcontextprotocol/sdk/node_modules/body-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", - "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.3.0.tgz", + "integrity": "sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==", "license": "MIT", "dependencies": { "bytes": "^3.1.2", - "content-type": "^1.0.5", - "debug": "^4.4.0", - "http-errors": "^2.0.0", - "iconv-lite": "^0.6.3", + "content-type": "^2.0.0", + "debug": "^4.4.3", + "http-errors": "^2.0.1", + "iconv-lite": "^0.7.2", "on-finished": "^2.4.1", - "qs": "^6.14.0", - "raw-body": "^3.0.0", - "type-is": "^2.0.0" + "qs": "^6.15.2", + "raw-body": "^3.0.2", + "type-is": "^2.1.0" }, "engines": { "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/@modelcontextprotocol/sdk/node_modules/content-disposition": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", - "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", + "node_modules/@modelcontextprotocol/sdk/node_modules/body-parser/node_modules/content-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", + "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" + "engines": { + "node": ">=18" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/content-disposition": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", + "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", + "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/@modelcontextprotocol/sdk/node_modules/cookie-signature": { @@ -388,18 +389,19 @@ } }, "node_modules/@modelcontextprotocol/sdk/node_modules/express": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", - "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", + "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", "license": "MIT", "dependencies": { "accepts": "^2.0.0", - "body-parser": "^2.2.0", + "body-parser": "^2.2.1", "content-disposition": "^1.0.0", "content-type": "^1.0.5", "cookie": "^0.7.1", "cookie-signature": "^1.2.1", "debug": "^4.4.0", + "depd": "^2.0.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", @@ -430,9 +432,9 @@ } }, "node_modules/@modelcontextprotocol/sdk/node_modules/finalhandler": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", - "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", "license": "MIT", "dependencies": { "debug": "^4.4.0", @@ -443,7 +445,11 @@ "statuses": "^2.0.1" }, "engines": { - "node": ">= 0.8" + "node": ">= 18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/@modelcontextprotocol/sdk/node_modules/fresh": { @@ -455,16 +461,40 @@ "node": ">= 0.8" } }, + "node_modules/@modelcontextprotocol/sdk/node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/@modelcontextprotocol/sdk/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/@modelcontextprotocol/sdk/node_modules/json-schema-traverse": { @@ -504,15 +534,19 @@ } }, "node_modules/@modelcontextprotocol/sdk/node_modules/mime-types": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", - "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", "license": "MIT", "dependencies": { "mime-db": "^1.54.0" }, "engines": { - "node": ">= 0.6" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/@modelcontextprotocol/sdk/node_modules/negotiator": { @@ -525,12 +559,13 @@ } }, "node_modules/@modelcontextprotocol/sdk/node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "version": "6.15.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.3.tgz", + "integrity": "sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==", "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.1.0" + "es-define-property": "^1.0.1", + "side-channel": "^1.1.1" }, "engines": { "node": ">=0.6" @@ -540,31 +575,35 @@ } }, "node_modules/@modelcontextprotocol/sdk/node_modules/send": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", - "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", "license": "MIT", "dependencies": { - "debug": "^4.3.5", + "debug": "^4.4.3", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", "fresh": "^2.0.0", - "http-errors": "^2.0.0", - "mime-types": "^3.0.1", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", "ms": "^2.1.3", "on-finished": "^2.4.1", "range-parser": "^1.2.1", - "statuses": "^2.0.1" + "statuses": "^2.0.2" }, "engines": { "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/@modelcontextprotocol/sdk/node_modules/serve-static": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", - "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", + "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", "license": "MIT", "dependencies": { "encodeurl": "^2.0.0", @@ -574,20 +613,50 @@ }, "engines": { "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, "node_modules/@modelcontextprotocol/sdk/node_modules/type-is": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", - "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz", + "integrity": "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==", "license": "MIT", "dependencies": { - "content-type": "^1.0.5", + "content-type": "^2.0.0", "media-typer": "^1.1.0", "mime-types": "^3.0.0" }, "engines": { - "node": ">= 0.6" + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/type-is/node_modules/content-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", + "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/@nodelib/fs.scandir": { @@ -782,17 +851,6 @@ "win32" ] }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" - } - }, "node_modules/@stricli/core": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@stricli/core/-/core-1.1.2.tgz", @@ -1179,6 +1237,147 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typescript/native-preview": { + "version": "7.0.0-dev.20260629.1", + "resolved": "https://registry.npmjs.org/@typescript/native-preview/-/native-preview-7.0.0-dev.20260629.1.tgz", + "integrity": "sha512-KImWFkxGUa/V78bUEAgzeJQT+6wKQXDDYHHrOavof8wnbMCpj86KuPNyBIPQMtoHiz2If8aNTums2m50oE3oqw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsgo": "bin/tsgo" + }, + "engines": { + "node": ">=16.20.0" + }, + "optionalDependencies": { + "@typescript/native-preview-darwin-arm64": "7.0.0-dev.20260629.1", + "@typescript/native-preview-darwin-x64": "7.0.0-dev.20260629.1", + "@typescript/native-preview-linux-arm": "7.0.0-dev.20260629.1", + "@typescript/native-preview-linux-arm64": "7.0.0-dev.20260629.1", + "@typescript/native-preview-linux-x64": "7.0.0-dev.20260629.1", + "@typescript/native-preview-win32-arm64": "7.0.0-dev.20260629.1", + "@typescript/native-preview-win32-x64": "7.0.0-dev.20260629.1" + } + }, + "node_modules/@typescript/native-preview-darwin-arm64": { + "version": "7.0.0-dev.20260629.1", + "resolved": "https://registry.npmjs.org/@typescript/native-preview-darwin-arm64/-/native-preview-darwin-arm64-7.0.0-dev.20260629.1.tgz", + "integrity": "sha512-wXRExZJweYoTzE4atRR7T5HwKJYkl6/KHxON0eF0iy2fvgLXDlyq4AQqhmV8mMx10PQKc/4sNbfhD4kjWWvm8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/native-preview-darwin-x64": { + "version": "7.0.0-dev.20260629.1", + "resolved": "https://registry.npmjs.org/@typescript/native-preview-darwin-x64/-/native-preview-darwin-x64-7.0.0-dev.20260629.1.tgz", + "integrity": "sha512-xkL/tETzUuDxfRkk2rD0/CjjjGLyOLHeE103T52rpgj0VNSXMnn7tTiw+TSdxnS61b8ImOrWgQJujhPFTp0jng==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/native-preview-linux-arm": { + "version": "7.0.0-dev.20260629.1", + "resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-arm/-/native-preview-linux-arm-7.0.0-dev.20260629.1.tgz", + "integrity": "sha512-QlTxO+O6yELc0NYZZYIbncZhkhw+K/vBoVg+mKipbEIK5b1E6cwW7ivWIrDp1FfssQ0Wu7zxincPappoci7KNw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/native-preview-linux-arm64": { + "version": "7.0.0-dev.20260629.1", + "resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-arm64/-/native-preview-linux-arm64-7.0.0-dev.20260629.1.tgz", + "integrity": "sha512-y4ey82krq4iLNHML4G1dUObBWY6gNAjVqaUHFDv7+LBu5bfAJy8VClBaLtAJce3siQQeB0/4SkN4XsAa0oZktQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/native-preview-linux-x64": { + "version": "7.0.0-dev.20260629.1", + "resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-x64/-/native-preview-linux-x64-7.0.0-dev.20260629.1.tgz", + "integrity": "sha512-ckb4HyugC5beDpOMPOVpEx1H3l2Z2RgsGPxFOLGMU6LLIHQwlCaSdRjSfH8Hq8yffPgKuotTQLdA89cP1IC8xQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/native-preview-win32-arm64": { + "version": "7.0.0-dev.20260629.1", + "resolved": "https://registry.npmjs.org/@typescript/native-preview-win32-arm64/-/native-preview-win32-arm64-7.0.0-dev.20260629.1.tgz", + "integrity": "sha512-Ktgepu9p0blqrbiryzYrw11ddnbESXPdeGKURDG/wXESoHQETsMNxKWhqAo587ItNnWjKOBFxoEM22eP9OzKnw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/native-preview-win32-x64": { + "version": "7.0.0-dev.20260629.1", + "resolved": "https://registry.npmjs.org/@typescript/native-preview-win32-x64/-/native-preview-win32-x64-7.0.0-dev.20260629.1.tgz", + "integrity": "sha512-b2wmeIpFJs/peej3NG26320ya+iYQz21JzFYDrnvtsEeR/g66rB9uvp4Owo4J1AG/BcmRWC/nuwrBy3Jdb+UDA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=16.20.0" + } + }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -1271,19 +1470,6 @@ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "license": "MIT" }, - "node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -1300,20 +1486,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -1334,19 +1506,6 @@ "dev": true, "license": "MIT" }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/body-parser": { "version": "1.20.3", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", @@ -1536,49 +1695,27 @@ } }, "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", "dev": true, "license": "MIT", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "readdirp": "^4.0.1" }, "engines": { - "node": ">= 8.10.0" + "node": ">= 14.16.0" }, "funding": { "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" } }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -1664,9 +1801,9 @@ } }, "node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -1720,26 +1857,12 @@ "node": ">= 0.4" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true, - "license": "MIT" - }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "license": "MIT" }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "license": "MIT" - }, "node_modules/encodeurl": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", @@ -2029,10 +2152,13 @@ } }, "node_modules/express-rate-limit": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.0.tgz", - "integrity": "sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==", + "version": "8.5.2", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.5.2.tgz", + "integrity": "sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==", "license": "MIT", + "dependencies": { + "ip-address": "^10.2.0" + }, "engines": { "node": ">= 16" }, @@ -2040,7 +2166,7 @@ "url": "https://github.com/sponsors/express-rate-limit" }, "peerDependencies": { - "express": "^4.11 || 5 || ^5.0.0-beta.1" + "express": ">= 4.11" } }, "node_modules/express/node_modules/debug": { @@ -2232,17 +2358,16 @@ "license": "ISC" }, "node_modules/foreground-child": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-4.0.3.tgz", + "integrity": "sha512-yeXZaNbCBGaT9giTpLPBdtedzjwhlJBUoL/R4BVQU5mn0TQXOHwVIl1Q2DMuBIdNno4ktA1abZ7dQFVxD6uHxw==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" }, "engines": { - "node": ">=14" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -2266,21 +2391,6 @@ "node": ">= 0.6" } }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -2328,21 +2438,18 @@ } }, "node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" }, - "bin": { - "glob": "dist/esm/bin.mjs" + "engines": { + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -2361,27 +2468,40 @@ "node": ">=10.13.0" } }, + "node_modules/glob/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.7.tgz", + "integrity": "sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" } }, "node_modules/glob/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^5.0.5" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -2454,11 +2574,10 @@ } }, "node_modules/hono": { - "version": "4.11.3", - "resolved": "https://registry.npmjs.org/hono/-/hono-4.11.3.tgz", - "integrity": "sha512-PmQi306+M/ct/m5s66Hrg+adPnkD5jiO6IjA7WhWw0gSBSo1EcRegwuI1deZ+wd5pzCGynCcn2DprnE4/yEV4w==", + "version": "4.12.27", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.27.tgz", + "integrity": "sha512-1yrb/+w6HWQJrUCLkJ2IF5jNIPvvFkblV5RNOYl6bV+OA6p9GLcMpHFFGTosSvHvcAUibuUukRqhlYI4z32C7Q==", "license": "MIT", - "peer": true, "engines": { "node": ">=16.9.0" } @@ -2534,6 +2653,15 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "license": "ISC" }, + "node_modules/ip-address": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.2.0.tgz", + "integrity": "sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -2543,19 +2671,6 @@ "node": ">= 0.10" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -2566,16 +2681,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -2611,22 +2716,6 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "license": "ISC" }, - "node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, "node_modules/jose": { "version": "6.1.3", "resolved": "https://registry.npmjs.org/jose/-/jose-6.1.3.tgz", @@ -2676,6 +2765,15 @@ "dev": true, "license": "MIT" }, + "node_modules/jsonc-simple-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonc-simple-parser/-/jsonc-simple-parser-3.0.0.tgz", + "integrity": "sha512-0qi9Kuj4JPar4/3b9wZteuPZrTeFzXsQyOZj7hksnReCZN3Vr17Doz7w/i3E9XH7vRkVTHhHES+r1h97I+hfww==", + "dev": true, + "dependencies": { + "reghex": "^3.0.2" + } + }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -2724,11 +2822,14 @@ "license": "MIT" }, "node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "version": "11.5.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.1.tgz", + "integrity": "sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==", "dev": true, - "license": "ISC" + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } }, "node_modules/math-intrinsics": { "version": "1.1.0", @@ -2837,11 +2938,11 @@ } }, "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "engines": { "node": ">=16 || 14 >=14.17" } @@ -2884,16 +2985,6 @@ "node": ">= 0.6" } }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -3035,17 +3126,17 @@ } }, "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" }, "engines": { - "node": ">=16 || 14 >=14.18" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -3171,45 +3262,86 @@ } }, "node_modules/raw-body": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", - "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", + "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.6.3", - "unpipe": "1.0.0" + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.7.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/raw-body/node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" }, "engines": { "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/raw-body/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/raw-body/node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", "dev": true, "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, "engines": { - "node": ">=8.10.0" + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, + "node_modules/reghex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/reghex/-/reghex-3.0.2.tgz", + "integrity": "sha512-Zb9DJ5u6GhgqRSBnxV2QSnLqEwcKxHWFA1N2yUa4ZUAO1P8jlWKYtWZ6/ooV6yylspGXJX0O/uNzEv0xrCtwaA==", + "dev": true, + "license": "MIT" + }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", @@ -3230,17 +3362,17 @@ } }, "node_modules/resolve-import": { - "version": "1.4.6", - "resolved": "https://registry.npmjs.org/resolve-import/-/resolve-import-1.4.6.tgz", - "integrity": "sha512-CIw9e64QcKcCFUj9+KxUCJPy8hYofv6eVfo3U9wdhCm2E4IjvFnZ6G4/yIC4yP3f11+h6uU5b3LdS7O64LgqrA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/resolve-import/-/resolve-import-2.4.0.tgz", + "integrity": "sha512-gLWKdA5tiv5j/D7ipR47u3ovbVfzFPrctTdw2Ulnpmr6PPVVSvPKGNWu09jXVNlOSLLAeD6CA13bjIelpWttSw==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "glob": "^10.3.3", - "walk-up-path": "^3.0.1" + "glob": "^13.0.0", + "walk-up-path": "^4.0.0" }, "engines": { - "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -3258,17 +3390,21 @@ } }, "node_modules/rimraf": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", - "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.3.tgz", + "integrity": "sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "glob": "^10.3.7" + "glob": "^13.0.3", + "package-json-from-dist": "^1.0.1" }, "bin": { "rimraf": "dist/esm/bin.mjs" }, + "engines": { + "node": "20 || >=22" + }, "funding": { "url": "https://github.com/sponsors/isaacs" } @@ -3290,12 +3426,13 @@ } }, "node_modules/router/node_modules/path-to-regexp": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", - "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", + "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", "license": "MIT", - "engines": { - "node": ">=16" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/run-parallel": { @@ -3452,14 +3589,14 @@ } }, "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" }, @@ -3471,13 +3608,13 @@ } }, "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" + "object-inspect": "^1.13.4" }, "engines": { "node": ">= 0.4" @@ -3545,110 +3682,6 @@ "node": ">= 0.8" } }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -3676,22 +3709,22 @@ } }, "node_modules/sync-content": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/sync-content/-/sync-content-1.0.2.tgz", - "integrity": "sha512-znd3rYiiSxU3WteWyS9a6FXkTA/Wjk8WQsOyzHbineeL837dLn3DA4MRhsIX3qGcxDMH6+uuFV4axztssk7wEQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sync-content/-/sync-content-2.0.4.tgz", + "integrity": "sha512-w3ioiBmbaogob33WdLnuwFk+8tpePI58CTWKqtdAgEqc2hfGuSwP02gPETqNX/3PLS5skv5a1wQR0gbaa2W0XQ==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "glob": "^10.2.6", + "glob": "^13.0.1", "mkdirp": "^3.0.1", - "path-scurry": "^1.9.2", - "rimraf": "^5.0.1" + "path-scurry": "^2.0.0", + "rimraf": "^6.0.0" }, "bin": { - "sync-content": "dist/mjs/bin.mjs" + "sync-content": "dist/esm/bin.mjs" }, "engines": { - "node": ">=14" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -3733,45 +3766,60 @@ } }, "node_modules/tshy": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/tshy/-/tshy-2.0.1.tgz", - "integrity": "sha512-U5fC+3pMaGfmULhPTVpxKMd62AcX13yfsFrjhAP/daTLG6LFRLIuxqYOmkejJ4MT/s5bEa29+1Jy/9mXkMiMfA==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/tshy/-/tshy-3.3.2.tgz", + "integrity": "sha512-vOIXkqMtBWNjKUR/c99+6N50LhWdnKG1xE3+5wf8IPdzxx2lcIFPvbGgFdBBgoTMbdNb8mz06MUm7hY+TFnJcw==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "chalk": "^5.3.0", - "chokidar": "^3.6.0", - "foreground-child": "^3.1.1", - "minimatch": "^9.0.4", + "@typescript/native-preview": "^7.0.0-dev.20260218.1", + "chalk": "^5.6.2", + "chokidar": "^4.0.3", + "foreground-child": "^4.0.0", + "jsonc-simple-parser": "^3.0.0", + "minimatch": "^10.0.3", "mkdirp": "^3.0.1", "polite-json": "^5.0.0", - "resolve-import": "^1.4.5", - "rimraf": "^5.0.1", - "sync-content": "^1.0.2", - "typescript": "5", - "walk-up-path": "^3.0.1" + "resolve-import": "^2.4.0", + "rimraf": "^6.1.2", + "sync-content": "^2.0.3", + "typescript": "^5.9.3", + "walk-up-path": "^4.0.0" }, "bin": { - "tshy": "dist/esm/index.js" + "tshy": "dist/esm/bin-min.mjs" }, "engines": { - "node": "16 >=16.17 || 18 >=18.15.0 || >=20.6.1" + "node": "20 || >=22" + } + }, + "node_modules/tshy/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" } }, "node_modules/tshy/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.7.tgz", + "integrity": "sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" } }, "node_modules/tshy/node_modules/chalk": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", - "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", "dev": true, "license": "MIT", "engines": { @@ -3782,21 +3830,35 @@ } }, "node_modules/tshy/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^5.0.5" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/tshy/node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -3905,11 +3967,14 @@ } }, "node_modules/walk-up-path": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-3.0.1.tgz", - "integrity": "sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-4.0.0.tgz", + "integrity": "sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A==", "dev": true, - "license": "ISC" + "license": "ISC", + "engines": { + "node": "20 || >=22" + } }, "node_modules/which": { "version": "2.0.2", @@ -3936,101 +4001,6 @@ "node": ">=0.10.0" } }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", diff --git a/package.json b/package.json index dbe4d67..3c6513c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "opperai", - "version": "3.4.1", + "version": "3.5.0", "author": "Speakeasy", "repository": { "type": "git", @@ -34,20 +34,20 @@ }, "peerDependencies": {}, "devDependencies": { - "@eslint/js": "^9.19.0", + "@eslint/js": "^9.26.0", "@stricli/core": "^1.1.1", "@types/express": "^4.17.21", "bun": "1.2.17", "bun-types": "1.2.17", - "eslint": "^9.19.0", + "eslint": "^9.26.0", "express": "^4.21.2", "globals": "^15.14.0", - "tshy": "^2.0.0", + "tshy": "^3.3.2", "typescript": "~5.8.3", "typescript-eslint": "^8.26.0" }, "dependencies": { - "@modelcontextprotocol/sdk": "^1.24.0", + "@modelcontextprotocol/sdk": "^1.26.0", "zod": "^3.25.0 || ^4.0.0" }, "exports": { diff --git a/src/funcs/analyticsGetUsage.ts b/src/funcs/analyticsGetUsage.ts index 1b6c999..142d1b4 100644 --- a/src/funcs/analyticsGetUsage.ts +++ b/src/funcs/analyticsGetUsage.ts @@ -5,6 +5,7 @@ import * as z from "zod/v3"; import { OpperCore } from "../core.js"; import { encodeFormQuery } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -37,6 +38,7 @@ export function analyticsGetUsage( granularity?: models.Granularity | null | undefined, fields?: Array | null | undefined, groupBy?: Array | null | undefined, + sessionId?: string | null | undefined, options?: RequestOptions, ): APIPromise< Result< @@ -62,6 +64,7 @@ export function analyticsGetUsage( granularity, fields, groupBy, + sessionId, options, )); } @@ -73,6 +76,7 @@ async function $do( granularity?: models.Granularity | null | undefined, fields?: Array | null | undefined, groupBy?: Array | null | undefined, + sessionId?: string | null | undefined, options?: RequestOptions, ): Promise< [ @@ -100,6 +104,7 @@ async function $do( granularity: granularity, fields: fields, groupBy: groupBy, + sessionId: sessionId, }; const parsed = safeParse( @@ -121,6 +126,7 @@ async function $do( "from_date": payload.from_date, "granularity": payload.granularity, "group_by": payload.group_by, + "session_id": payload.session_id, "to_date": payload.to_date, }); @@ -165,7 +171,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -198,7 +205,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/call.ts b/src/funcs/call.ts index 068898d..a59cbe2 100644 --- a/src/funcs/call.ts +++ b/src/funcs/call.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -141,7 +142,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -177,7 +179,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/datasetsCreateEntry.ts b/src/funcs/datasetsCreateEntry.ts index 6eeb23a..5128ad2 100644 --- a/src/funcs/datasetsCreateEntry.ts +++ b/src/funcs/datasetsCreateEntry.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON, encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -110,7 +111,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/datasets/{dataset_id}")(pathParams); const headers = new Headers(compactMap({ @@ -154,7 +154,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -187,7 +188,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/datasetsDeleteEntry.ts b/src/funcs/datasetsDeleteEntry.ts index 1dba3dc..7e03606 100644 --- a/src/funcs/datasetsDeleteEntry.ts +++ b/src/funcs/datasetsDeleteEntry.ts @@ -5,6 +5,7 @@ import * as z from "zod/v3"; import { OpperCore } from "../core.js"; import { encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -115,7 +116,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/datasets/{dataset_id}/entries/{entry_id}")( pathParams, ); @@ -161,7 +161,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -194,7 +195,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/datasetsEntriesUpdate.ts b/src/funcs/datasetsEntriesUpdate.ts index 2de3d48..fa04a19 100644 --- a/src/funcs/datasetsEntriesUpdate.ts +++ b/src/funcs/datasetsEntriesUpdate.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON, encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -120,7 +121,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/datasets/{dataset_id}/entries/{entry_id}")( pathParams, ); @@ -167,7 +167,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -200,7 +201,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/datasetsGetEntry.ts b/src/funcs/datasetsGetEntry.ts index 95d4ddc..6a393ec 100644 --- a/src/funcs/datasetsGetEntry.ts +++ b/src/funcs/datasetsGetEntry.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -114,7 +115,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/datasets/{dataset_id}/entries/{entry_id}")( pathParams, ); @@ -160,7 +160,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -193,7 +194,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/datasetsListEntries.ts b/src/funcs/datasetsListEntries.ts index f228b5d..9f9afdc 100644 --- a/src/funcs/datasetsListEntries.ts +++ b/src/funcs/datasetsListEntries.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeFormQuery, encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -114,7 +115,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/datasets/{dataset_id}/entries")(pathParams); const query = encodeFormQuery({ @@ -163,7 +163,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -199,7 +200,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/datasetsQueryEntries.ts b/src/funcs/datasetsQueryEntries.ts index cd7e096..99b3efe 100644 --- a/src/funcs/datasetsQueryEntries.ts +++ b/src/funcs/datasetsQueryEntries.ts @@ -5,6 +5,7 @@ import * as z from "zod/v3"; import { OpperCore } from "../core.js"; import { encodeFormQuery, encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -115,7 +116,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/datasets/{dataset_id}/entries/query")(pathParams); const query$ = encodeFormQuery({ @@ -165,7 +165,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -198,7 +199,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/embeddingsCreate.ts b/src/funcs/embeddingsCreate.ts index 3b63c19..7b2706a 100644 --- a/src/funcs/embeddingsCreate.ts +++ b/src/funcs/embeddingsCreate.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -137,7 +138,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "502", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -171,7 +173,7 @@ async function $do( M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.ErrorT$inboundSchema), M.jsonErr(502, errors.ErrorT$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/functionConfigGetFunctionConfigFunctionsFunctionIdConfigGet.ts b/src/funcs/functionConfigGetFunctionConfigFunctionsFunctionIdConfigGet.ts new file mode 100644 index 0000000..ee783ea --- /dev/null +++ b/src/funcs/functionConfigGetFunctionConfigFunctionsFunctionIdConfigGet.ts @@ -0,0 +1,194 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +import { OpperCore } from "../core.js"; +import { encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; +import * as M from "../lib/matchers.js"; +import { compactMap } from "../lib/primitives.js"; +import { safeParse } from "../lib/schemas.js"; +import { RequestOptions } from "../lib/sdks.js"; +import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js"; +import { pathToFunc } from "../lib/url.js"; +import { + ConnectionError, + InvalidRequestError, + RequestAbortedError, + RequestTimeoutError, + UnexpectedClientError, +} from "../models/errors/httpclienterrors.js"; +import * as errors from "../models/errors/index.js"; +import { OpperError } from "../models/errors/oppererror.js"; +import { ResponseValidationError } from "../models/errors/responsevalidationerror.js"; +import { SDKValidationError } from "../models/errors/sdkvalidationerror.js"; +import * as models from "../models/index.js"; +import * as operations from "../models/operations/index.js"; +import { APICall, APIPromise } from "../types/async.js"; +import { Result } from "../types/fp.js"; + +/** + * Get Function Config + */ +export function functionConfigGetFunctionConfigFunctionsFunctionIdConfigGet( + client: OpperCore, + functionId: string, + options?: RequestOptions, +): APIPromise< + Result< + models.FunctionConfigResponse, + | errors.BadRequestError + | errors.UnauthorizedError + | errors.NotFoundError + | errors.RequestValidationError + | OpperError + | ResponseValidationError + | ConnectionError + | RequestAbortedError + | RequestTimeoutError + | InvalidRequestError + | UnexpectedClientError + | SDKValidationError + > +> { + return new APIPromise($do( + client, + functionId, + options, + )); +} + +async function $do( + client: OpperCore, + functionId: string, + options?: RequestOptions, +): Promise< + [ + Result< + models.FunctionConfigResponse, + | errors.BadRequestError + | errors.UnauthorizedError + | errors.NotFoundError + | errors.RequestValidationError + | OpperError + | ResponseValidationError + | ConnectionError + | RequestAbortedError + | RequestTimeoutError + | InvalidRequestError + | UnexpectedClientError + | SDKValidationError + >, + APICall, + ] +> { + const input: operations.GetFunctionConfigFunctionsFunctionIdConfigGetRequest = + { + functionId: functionId, + }; + + const parsed = safeParse( + input, + (value) => + operations + .GetFunctionConfigFunctionsFunctionIdConfigGetRequest$outboundSchema + .parse(value), + "Input validation failed", + ); + if (!parsed.ok) { + return [parsed, { status: "invalid" }]; + } + const payload = parsed.value; + const body = null; + + const pathParams = { + function_id: encodeSimple("function_id", payload.function_id, { + explode: false, + charEncoding: "percent", + }), + }; + const path = pathToFunc("/functions/{function_id}/config")(pathParams); + + const headers = new Headers(compactMap({ + Accept: "application/json", + })); + + const secConfig = await extractSecurity(client._options.httpBearer); + const securityInput = secConfig == null ? {} : { httpBearer: secConfig }; + const requestSecurity = resolveGlobalSecurity(securityInput); + + const context = { + options: client._options, + baseURL: options?.serverURL ?? client._baseURL ?? "", + operationID: "get_function_config_functions__function_id__config_get", + oAuth2Scopes: null, + + resolvedSecurity: requestSecurity, + + securitySource: client._options.httpBearer, + retryConfig: options?.retries + || client._options.retryConfig + || { strategy: "none" }, + retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"], + }; + + const requestRes = client._createRequest(context, { + security: requestSecurity, + method: "GET", + baseURL: options?.serverURL, + path: path, + headers: headers, + body: body, + userAgent: client._options.userAgent, + timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1, + }, options); + if (!requestRes.ok) { + return [requestRes, { status: "invalid" }]; + } + const req = requestRes.value; + + const doResult = await client._do(req, { + context, + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), + retryConfig: context.retryConfig, + retryCodes: context.retryCodes, + }); + if (!doResult.ok) { + return [doResult, { status: "request-error", request: req }]; + } + const response = doResult.value; + + const responseFields = { + HttpMeta: { Response: response, Request: req }, + }; + + const [result] = await M.match< + models.FunctionConfigResponse, + | errors.BadRequestError + | errors.UnauthorizedError + | errors.NotFoundError + | errors.RequestValidationError + | OpperError + | ResponseValidationError + | ConnectionError + | RequestAbortedError + | RequestTimeoutError + | InvalidRequestError + | UnexpectedClientError + | SDKValidationError + >( + M.json(200, models.FunctionConfigResponse$inboundSchema), + M.jsonErr(400, errors.BadRequestError$inboundSchema), + M.jsonErr(401, errors.UnauthorizedError$inboundSchema), + M.jsonErr(404, errors.NotFoundError$inboundSchema), + M.jsonErr(422, errors.RequestValidationError$inboundSchema), + M.fail([402, "4XX"]), + M.fail("5XX"), + )(response, req, { extraFields: responseFields }); + if (!result.ok) { + return [result, { status: "complete", request: req, response }]; + } + + return [result, { status: "complete", request: req, response }]; +} diff --git a/src/funcs/functionConfigPutSteeringFunctionsFunctionIdConfigSteeringPut.ts b/src/funcs/functionConfigPutSteeringFunctionsFunctionIdConfigSteeringPut.ts new file mode 100644 index 0000000..7d18721 --- /dev/null +++ b/src/funcs/functionConfigPutSteeringFunctionsFunctionIdConfigSteeringPut.ts @@ -0,0 +1,202 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +import * as z from "zod/v3"; +import { OpperCore } from "../core.js"; +import { encodeJSON, encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; +import * as M from "../lib/matchers.js"; +import { compactMap } from "../lib/primitives.js"; +import { safeParse } from "../lib/schemas.js"; +import { RequestOptions } from "../lib/sdks.js"; +import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js"; +import { pathToFunc } from "../lib/url.js"; +import { + ConnectionError, + InvalidRequestError, + RequestAbortedError, + RequestTimeoutError, + UnexpectedClientError, +} from "../models/errors/httpclienterrors.js"; +import * as errors from "../models/errors/index.js"; +import { OpperError } from "../models/errors/oppererror.js"; +import { ResponseValidationError } from "../models/errors/responsevalidationerror.js"; +import { SDKValidationError } from "../models/errors/sdkvalidationerror.js"; +import * as models from "../models/index.js"; +import * as operations from "../models/operations/index.js"; +import { APICall, APIPromise } from "../types/async.js"; +import { Result } from "../types/fp.js"; + +/** + * Put Steering + */ +export function functionConfigPutSteeringFunctionsFunctionIdConfigSteeringPut( + client: OpperCore, + functionId: string, + steeringConfig: models.SteeringConfig, + options?: RequestOptions, +): APIPromise< + Result< + { [k: string]: any }, + | errors.BadRequestError + | errors.UnauthorizedError + | errors.NotFoundError + | errors.RequestValidationError + | OpperError + | ResponseValidationError + | ConnectionError + | RequestAbortedError + | RequestTimeoutError + | InvalidRequestError + | UnexpectedClientError + | SDKValidationError + > +> { + return new APIPromise($do( + client, + functionId, + steeringConfig, + options, + )); +} + +async function $do( + client: OpperCore, + functionId: string, + steeringConfig: models.SteeringConfig, + options?: RequestOptions, +): Promise< + [ + Result< + { [k: string]: any }, + | errors.BadRequestError + | errors.UnauthorizedError + | errors.NotFoundError + | errors.RequestValidationError + | OpperError + | ResponseValidationError + | ConnectionError + | RequestAbortedError + | RequestTimeoutError + | InvalidRequestError + | UnexpectedClientError + | SDKValidationError + >, + APICall, + ] +> { + const input: + operations.PutSteeringFunctionsFunctionIdConfigSteeringPutRequest = { + functionId: functionId, + steeringConfig: steeringConfig, + }; + + const parsed = safeParse( + input, + (value) => + operations + .PutSteeringFunctionsFunctionIdConfigSteeringPutRequest$outboundSchema + .parse(value), + "Input validation failed", + ); + if (!parsed.ok) { + return [parsed, { status: "invalid" }]; + } + const payload = parsed.value; + const body = encodeJSON("body", payload.SteeringConfig, { explode: true }); + + const pathParams = { + function_id: encodeSimple("function_id", payload.function_id, { + explode: false, + charEncoding: "percent", + }), + }; + const path = pathToFunc("/functions/{function_id}/config/steering")( + pathParams, + ); + + const headers = new Headers(compactMap({ + "Content-Type": "application/json", + Accept: "application/json", + })); + + const secConfig = await extractSecurity(client._options.httpBearer); + const securityInput = secConfig == null ? {} : { httpBearer: secConfig }; + const requestSecurity = resolveGlobalSecurity(securityInput); + + const context = { + options: client._options, + baseURL: options?.serverURL ?? client._baseURL ?? "", + operationID: "put_steering_functions__function_id__config_steering_put", + oAuth2Scopes: null, + + resolvedSecurity: requestSecurity, + + securitySource: client._options.httpBearer, + retryConfig: options?.retries + || client._options.retryConfig + || { strategy: "none" }, + retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"], + }; + + const requestRes = client._createRequest(context, { + security: requestSecurity, + method: "PUT", + baseURL: options?.serverURL, + path: path, + headers: headers, + body: body, + userAgent: client._options.userAgent, + timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1, + }, options); + if (!requestRes.ok) { + return [requestRes, { status: "invalid" }]; + } + const req = requestRes.value; + + const doResult = await client._do(req, { + context, + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), + retryConfig: context.retryConfig, + retryCodes: context.retryCodes, + }); + if (!doResult.ok) { + return [doResult, { status: "request-error", request: req }]; + } + const response = doResult.value; + + const responseFields = { + HttpMeta: { Response: response, Request: req }, + }; + + const [result] = await M.match< + { [k: string]: any }, + | errors.BadRequestError + | errors.UnauthorizedError + | errors.NotFoundError + | errors.RequestValidationError + | OpperError + | ResponseValidationError + | ConnectionError + | RequestAbortedError + | RequestTimeoutError + | InvalidRequestError + | UnexpectedClientError + | SDKValidationError + >( + M.json(200, z.record(z.any())), + M.jsonErr(400, errors.BadRequestError$inboundSchema), + M.jsonErr(401, errors.UnauthorizedError$inboundSchema), + M.jsonErr(404, errors.NotFoundError$inboundSchema), + M.jsonErr(422, errors.RequestValidationError$inboundSchema), + M.fail([402, "4XX"]), + M.fail("5XX"), + )(response, req, { extraFields: responseFields }); + if (!result.ok) { + return [result, { status: "complete", request: req, response }]; + } + + return [result, { status: "complete", request: req, response }]; +} diff --git a/src/funcs/functionsCall.ts b/src/funcs/functionsCall.ts index 7e4d888..d698496 100644 --- a/src/funcs/functionsCall.ts +++ b/src/funcs/functionsCall.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON, encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -118,7 +119,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/functions/{function_id}/call")(pathParams); const headers = new Headers(compactMap({ @@ -162,7 +162,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -198,7 +199,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/functionsCallRevision.ts b/src/funcs/functionsCallRevision.ts index 64d2c55..57d3602 100644 --- a/src/funcs/functionsCallRevision.ts +++ b/src/funcs/functionsCallRevision.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON, encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -30,7 +31,15 @@ import { Result } from "../types/fp.js"; * Call Function Revision * * @remarks - * Call a function + * Call a function at a specific revision. + * + * **Deprecated.** Pinning a call to a historical revision is no longer + * supported; ``revision_id`` is accepted for backwards compatibility but + * ignored — the latest revision is always executed. Use ``POST /v2/call`` + * or the per-function call endpoint instead. This endpoint will be + * removed in a future release. + * + * @deprecated method: This will be removed in a future release, please migrate away from it as soon as possible. */ export function functionsCallRevision( client: OpperCore, @@ -129,7 +138,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/functions/{function_id}/call/{revision_id}")( pathParams, ); @@ -176,7 +184,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -212,7 +221,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/functionsCreate.ts b/src/funcs/functionsCreate.ts index 0a9b465..6781bf4 100644 --- a/src/funcs/functionsCreate.ts +++ b/src/funcs/functionsCreate.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -139,7 +140,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "409", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -174,7 +176,7 @@ async function $do( M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(409, errors.ConflictError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/functionsDelete.ts b/src/funcs/functionsDelete.ts index 5a2dc8d..48562fd 100644 --- a/src/funcs/functionsDelete.ts +++ b/src/funcs/functionsDelete.ts @@ -5,6 +5,7 @@ import * as z from "zod/v3"; import { OpperCore } from "../core.js"; import { encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -107,7 +108,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/functions/{function_id}")(pathParams); const headers = new Headers(compactMap({ @@ -150,7 +150,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -183,7 +184,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/functionsGet.ts b/src/funcs/functionsGet.ts index 739d3ea..fede9ca 100644 --- a/src/funcs/functionsGet.ts +++ b/src/funcs/functionsGet.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -108,7 +109,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/functions/{function_id}")(pathParams); const headers = new Headers(compactMap({ @@ -151,7 +151,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -184,7 +185,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/functionsGetByName.ts b/src/funcs/functionsGetByName.ts index bb79f7d..268e7e8 100644 --- a/src/funcs/functionsGetByName.ts +++ b/src/funcs/functionsGetByName.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -107,7 +108,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/functions/by-name/{name}")(pathParams); const headers = new Headers(compactMap({ @@ -150,7 +150,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -183,7 +184,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/functionsGetByRevision.ts b/src/funcs/functionsGetByRevision.ts index c8c6129..18d1db6 100644 --- a/src/funcs/functionsGetByRevision.ts +++ b/src/funcs/functionsGetByRevision.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -30,7 +31,14 @@ import { Result } from "../types/fp.js"; * Get Function By Revision * * @remarks - * Get a function by ID with a specific revision + * Get a function by ID with a specific revision. + * + * **Deprecated.** Use ``GET /v2/functions/{function_id}`` to fetch the + * latest revision. Pinning to a specific revision is no longer supported; + * ``revision_id`` is accepted for backwards compatibility but ignored — + * the latest revision is always returned. + * + * @deprecated method: This will be removed in a future release, please migrate away from it as soon as possible. */ export function functionsGetByRevision( client: OpperCore, @@ -118,7 +126,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/functions/{function_id}/revisions/{revision_id}")( pathParams, ); @@ -164,7 +171,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -197,7 +205,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/functionsList.ts b/src/funcs/functionsList.ts index 657ae9c..8a73648 100644 --- a/src/funcs/functionsList.ts +++ b/src/funcs/functionsList.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeFormQuery } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -162,7 +163,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -198,7 +200,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/functionsRevisionsList.ts b/src/funcs/functionsRevisionsList.ts index 8efec92..10a85ba 100644 --- a/src/funcs/functionsRevisionsList.ts +++ b/src/funcs/functionsRevisionsList.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeFormQuery, encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -30,10 +31,18 @@ import { Result } from "../types/fp.js"; * List Function Revisions * * @remarks - * Get all revisions for a function with pagination + * Get all revisions for a function with pagination. * - * Returns a list of revisions for the function with the given function id - * revisions are sorted by created_at in descending order ergo the latest revision is the first one + * **Deprecated.** Revision history is no longer a supported part of the + * public API; clients should always use the latest revision via the + * standard function endpoints. This endpoint will be removed in a future + * release. + * + * Returns a single-item list containing the latest revision of the + * function. ``offset`` and ``limit`` are accepted for backwards + * compatibility but ignored. + * + * @deprecated method: This will be removed in a future release, please migrate away from it as soon as possible. */ export function functionsRevisionsList( client: OpperCore, @@ -120,7 +129,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/functions/{function_id}/revisions")(pathParams); const query = encodeFormQuery({ @@ -170,7 +178,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -206,7 +215,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/functionsStream.ts b/src/funcs/functionsStream.ts index 369120f..37a428f 100644 --- a/src/funcs/functionsStream.ts +++ b/src/funcs/functionsStream.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON, encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -134,7 +135,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/functions/{function_id}/call/stream")(pathParams); const headers = new Headers(compactMap({ @@ -178,7 +178,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -216,7 +217,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/functionsStreamRevision.ts b/src/funcs/functionsStreamRevision.ts index 97bce5b..c61530a 100644 --- a/src/funcs/functionsStreamRevision.ts +++ b/src/funcs/functionsStreamRevision.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON, encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -32,6 +33,12 @@ import { Result } from "../types/fp.js"; * @remarks * Stream a function revision call execution in real-time using Server-Sent Events (SSE). * + * **Deprecated.** Pinning a streamed call to a historical revision is no + * longer supported; ``revision_id`` is accepted for backwards + * compatibility but ignored — the latest revision is always streamed. Use + * the non-revision stream endpoint instead. This endpoint will be removed + * in a future release. + * * This endpoint returns a continuous stream of Server-Sent Event objects as the function executes, * allowing for real-time streaming of responses. The response follows the Server-Sent Events * specification with proper event structure for SDK compatibility. @@ -45,6 +52,8 @@ import { Result } from "../types/fp.js"; * The data payload includes: * - `delta`: Incremental text content (if any) * - `span_id`: Unique identifier for the execution span (when available) + * + * @deprecated method: This will be removed in a future release, please migrate away from it as soon as possible. */ export function functionsStreamRevision( client: OpperCore, @@ -143,7 +152,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/functions/{function_id}/call/stream/{revision_id}")( pathParams, ); @@ -190,7 +198,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -228,7 +237,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/functionsUpdate.ts b/src/funcs/functionsUpdate.ts index 48e7ed2..724664d 100644 --- a/src/funcs/functionsUpdate.ts +++ b/src/funcs/functionsUpdate.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON, encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -113,7 +114,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/functions/{function_id}")(pathParams); const headers = new Headers(compactMap({ @@ -157,7 +157,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -190,7 +191,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/knowledgeAdd.ts b/src/funcs/knowledgeAdd.ts index 2a509f8..f395bf0 100644 --- a/src/funcs/knowledgeAdd.ts +++ b/src/funcs/knowledgeAdd.ts @@ -5,6 +5,7 @@ import * as z from "zod/v3"; import { OpperCore } from "../core.js"; import { encodeJSON, encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -114,7 +115,6 @@ async function $do( { explode: false, charEncoding: "percent" }, ), }; - const path = pathToFunc("/knowledge/{knowledge_base_id}/add")(pathParams); const headers = new Headers(compactMap({ @@ -158,7 +158,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -191,7 +192,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/knowledgeCreate.ts b/src/funcs/knowledgeCreate.ts index e3f1ee8..9cc02b0 100644 --- a/src/funcs/knowledgeCreate.ts +++ b/src/funcs/knowledgeCreate.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -137,7 +138,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -170,7 +172,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/knowledgeDelete.ts b/src/funcs/knowledgeDelete.ts index d1f8b8e..3865445 100644 --- a/src/funcs/knowledgeDelete.ts +++ b/src/funcs/knowledgeDelete.ts @@ -5,6 +5,7 @@ import * as z from "zod/v3"; import { OpperCore } from "../core.js"; import { encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -110,7 +111,6 @@ async function $do( { explode: false, charEncoding: "percent" }, ), }; - const path = pathToFunc("/knowledge/{knowledge_base_id}")(pathParams); const headers = new Headers(compactMap({ @@ -153,7 +153,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -186,7 +187,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/knowledgeDeleteDocuments.ts b/src/funcs/knowledgeDeleteDocuments.ts index ae61edd..ea95a70 100644 --- a/src/funcs/knowledgeDeleteDocuments.ts +++ b/src/funcs/knowledgeDeleteDocuments.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON, encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -122,7 +123,6 @@ async function $do( { explode: false, charEncoding: "percent" }, ), }; - const path = pathToFunc("/knowledge/{knowledge_base_id}/query")(pathParams); const headers = new Headers(compactMap({ @@ -166,7 +166,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -199,7 +200,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/knowledgeDeleteFile.ts b/src/funcs/knowledgeDeleteFile.ts index 6cf25aa..9d0876e 100644 --- a/src/funcs/knowledgeDeleteFile.ts +++ b/src/funcs/knowledgeDeleteFile.ts @@ -5,6 +5,7 @@ import * as z from "zod/v3"; import { OpperCore } from "../core.js"; import { encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -119,7 +120,6 @@ async function $do( { explode: false, charEncoding: "percent" }, ), }; - const path = pathToFunc("/knowledge/{knowledge_base_id}/files/{file_id}")( pathParams, ); @@ -165,7 +165,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -198,7 +199,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/knowledgeGet.ts b/src/funcs/knowledgeGet.ts index f1879f9..cd29e6f 100644 --- a/src/funcs/knowledgeGet.ts +++ b/src/funcs/knowledgeGet.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -109,7 +110,6 @@ async function $do( { explode: false, charEncoding: "percent" }, ), }; - const path = pathToFunc("/knowledge/{knowledge_base_id}")(pathParams); const headers = new Headers(compactMap({ @@ -152,7 +152,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -185,7 +186,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/knowledgeGetByName.ts b/src/funcs/knowledgeGetByName.ts index 2cf64f3..cf97d34 100644 --- a/src/funcs/knowledgeGetByName.ts +++ b/src/funcs/knowledgeGetByName.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -111,7 +112,6 @@ async function $do( { explode: false, charEncoding: "percent" }, ), }; - const path = pathToFunc("/knowledge/by-name/{knowledge_base_name}")( pathParams, ); @@ -157,7 +157,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -190,7 +191,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/knowledgeGetDocumentByKeyKnowledgeKnowledgeBaseIdDocumentsDocumentKeyGet.ts b/src/funcs/knowledgeGetDocumentByKeyKnowledgeKnowledgeBaseIdDocumentsDocumentKeyGet.ts index ea07cc2..b010c08 100644 --- a/src/funcs/knowledgeGetDocumentByKeyKnowledgeKnowledgeBaseIdDocumentsDocumentKeyGet.ts +++ b/src/funcs/knowledgeGetDocumentByKeyKnowledgeKnowledgeBaseIdDocumentsDocumentKeyGet.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -119,7 +120,6 @@ async function $do( { explode: false, charEncoding: "percent" }, ), }; - const path = pathToFunc( "/knowledge/{knowledge_base_id}/documents/{document_key}", )(pathParams); @@ -165,7 +165,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -198,7 +199,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/knowledgeGetFileDownloadUrl.ts b/src/funcs/knowledgeGetFileDownloadUrl.ts index ee124c2..27463cb 100644 --- a/src/funcs/knowledgeGetFileDownloadUrl.ts +++ b/src/funcs/knowledgeGetFileDownloadUrl.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -119,7 +120,6 @@ async function $do( { explode: false, charEncoding: "percent" }, ), }; - const path = pathToFunc( "/knowledge/{knowledge_base_id}/files/{file_id}/download_url", )(pathParams); @@ -165,7 +165,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -198,7 +199,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/knowledgeGetUploadUrl.ts b/src/funcs/knowledgeGetUploadUrl.ts index 206d1bd..2a12286 100644 --- a/src/funcs/knowledgeGetUploadUrl.ts +++ b/src/funcs/knowledgeGetUploadUrl.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeFormQuery, encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -119,7 +120,6 @@ async function $do( { explode: false, charEncoding: "percent" }, ), }; - const path = pathToFunc("/knowledge/{knowledge_base_id}/upload_url")( pathParams, ); @@ -169,7 +169,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -202,7 +203,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/knowledgeList.ts b/src/funcs/knowledgeList.ts index 736a31f..f611b3a 100644 --- a/src/funcs/knowledgeList.ts +++ b/src/funcs/knowledgeList.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeFormQuery } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -154,7 +155,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -190,7 +192,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/knowledgeListFiles.ts b/src/funcs/knowledgeListFiles.ts index 2b5c487..cae227f 100644 --- a/src/funcs/knowledgeListFiles.ts +++ b/src/funcs/knowledgeListFiles.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeFormQuery, encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -116,7 +117,6 @@ async function $do( { explode: false, charEncoding: "percent" }, ), }; - const path = pathToFunc("/knowledge/{knowledge_base_id}/files")(pathParams); const query = encodeFormQuery({ @@ -165,7 +165,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -198,7 +199,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/knowledgeQuery.ts b/src/funcs/knowledgeQuery.ts index 2a4466a..845c46c 100644 --- a/src/funcs/knowledgeQuery.ts +++ b/src/funcs/knowledgeQuery.ts @@ -5,6 +5,7 @@ import * as z from "zod/v3"; import { OpperCore } from "../core.js"; import { encodeJSON, encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -117,7 +118,6 @@ async function $do( { explode: false, charEncoding: "percent" }, ), }; - const path = pathToFunc("/knowledge/{knowledge_base_id}/query")(pathParams); const headers = new Headers(compactMap({ @@ -162,7 +162,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -195,7 +196,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/knowledgeRegisterFileUpload.ts b/src/funcs/knowledgeRegisterFileUpload.ts index ab3289b..b8a41fb 100644 --- a/src/funcs/knowledgeRegisterFileUpload.ts +++ b/src/funcs/knowledgeRegisterFileUpload.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON, encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -122,7 +123,6 @@ async function $do( { explode: false, charEncoding: "percent" }, ), }; - const path = pathToFunc("/knowledge/{knowledge_base_id}/register_file")( pathParams, ); @@ -169,7 +169,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -202,7 +203,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/knowledgeUploadFile.ts b/src/funcs/knowledgeUploadFile.ts index 2d48037..5059f0a 100644 --- a/src/funcs/knowledgeUploadFile.ts +++ b/src/funcs/knowledgeUploadFile.ts @@ -3,11 +3,13 @@ */ import { OpperCore } from "../core.js"; -import { appendForm, encodeSimple } from "../lib/encodings.js"; +import { appendForm, encodeSimple, normalizeBlob } from "../lib/encodings.js"; import { + bytesToBlob, getContentTypeFromFileName, readableStreamToArrayBuffer, } from "../lib/files.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -127,11 +129,11 @@ async function $do( payload.Body_upload_file_knowledge__knowledge_base_id__upload_post.file, ) ) { - appendForm( - body, - "file", - payload.Body_upload_file_knowledge__knowledge_base_id__upload_post.file, - ); + const file = + payload.Body_upload_file_knowledge__knowledge_base_id__upload_post.file; + const blob = await normalizeBlob(file); + const name = "name" in file ? (file.name as string) : undefined; + appendForm(body, "file", blob, name); } else if ( isReadableStream( payload.Body_upload_file_knowledge__knowledge_base_id__upload_post.file @@ -147,11 +149,10 @@ async function $do( payload.Body_upload_file_knowledge__knowledge_base_id__upload_post.file .fileName, ) || "application/octet-stream"; - const blob = new Blob([buffer], { type: contentType }); appendForm( body, "file", - blob, + bytesToBlob(buffer, contentType), payload.Body_upload_file_knowledge__knowledge_base_id__upload_post.file .fileName, ); @@ -164,10 +165,11 @@ async function $do( appendForm( body, "file", - new Blob([ + bytesToBlob( payload.Body_upload_file_knowledge__knowledge_base_id__upload_post.file .content, - ], { type: contentType }), + contentType, + ), payload.Body_upload_file_knowledge__knowledge_base_id__upload_post.file .fileName, ); @@ -221,7 +223,6 @@ async function $do( { explode: false, charEncoding: "percent" }, ), }; - const path = pathToFunc("/knowledge/{knowledge_base_id}/upload")(pathParams); const headers = new Headers(compactMap({ @@ -264,7 +265,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -297,7 +299,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/languageModelsCreateAlias.ts b/src/funcs/languageModelsCreateAlias.ts index bb94eea..73079ab 100644 --- a/src/funcs/languageModelsCreateAlias.ts +++ b/src/funcs/languageModelsCreateAlias.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -143,7 +144,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "409", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -178,7 +180,7 @@ async function $do( M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(409, errors.ConflictError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/languageModelsDeleteAlias.ts b/src/funcs/languageModelsDeleteAlias.ts index ef8b2a7..5def15b 100644 --- a/src/funcs/languageModelsDeleteAlias.ts +++ b/src/funcs/languageModelsDeleteAlias.ts @@ -5,6 +5,7 @@ import * as z from "zod/v3"; import { OpperCore } from "../core.js"; import { encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -109,7 +110,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/models/aliases/{alias_id}")(pathParams); const headers = new Headers(compactMap({ @@ -152,7 +152,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -185,7 +186,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/languageModelsDeleteCustom.ts b/src/funcs/languageModelsDeleteCustom.ts index 5e094be..a7d448c 100644 --- a/src/funcs/languageModelsDeleteCustom.ts +++ b/src/funcs/languageModelsDeleteCustom.ts @@ -5,6 +5,7 @@ import * as z from "zod/v3"; import { OpperCore } from "../core.js"; import { encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -109,7 +110,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/models/custom/{model_id}")(pathParams); const headers = new Headers(compactMap({ @@ -152,7 +152,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -185,7 +186,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/languageModelsGetAlias.ts b/src/funcs/languageModelsGetAlias.ts index 2be4612..0493789 100644 --- a/src/funcs/languageModelsGetAlias.ts +++ b/src/funcs/languageModelsGetAlias.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -107,7 +108,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/models/aliases/{alias_id}")(pathParams); const headers = new Headers(compactMap({ @@ -150,7 +150,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -183,7 +184,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/languageModelsGetAliasByName.ts b/src/funcs/languageModelsGetAliasByName.ts index 0784084..05e7067 100644 --- a/src/funcs/languageModelsGetAliasByName.ts +++ b/src/funcs/languageModelsGetAliasByName.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -109,7 +110,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/models/aliases/by-name/{name}")(pathParams); const headers = new Headers(compactMap({ @@ -152,7 +152,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -185,7 +186,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/languageModelsGetCustom.ts b/src/funcs/languageModelsGetCustom.ts index 6fbf013..1a90bc4 100644 --- a/src/funcs/languageModelsGetCustom.ts +++ b/src/funcs/languageModelsGetCustom.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -107,7 +108,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/models/custom/{model_id}")(pathParams); const headers = new Headers(compactMap({ @@ -150,7 +150,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -183,7 +184,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/languageModelsGetCustomByName.ts b/src/funcs/languageModelsGetCustomByName.ts index 3ddf184..0171241 100644 --- a/src/funcs/languageModelsGetCustomByName.ts +++ b/src/funcs/languageModelsGetCustomByName.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -109,7 +110,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/models/custom/by-name/{name}")(pathParams); const headers = new Headers(compactMap({ @@ -152,7 +152,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -185,7 +186,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/languageModelsList.ts b/src/funcs/languageModelsList.ts index 1d9bbd6..2541c1f 100644 --- a/src/funcs/languageModelsList.ts +++ b/src/funcs/languageModelsList.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeFormQuery } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -154,7 +155,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -190,7 +192,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/languageModelsListAliases.ts b/src/funcs/languageModelsListAliases.ts index dae7b50..abe0dac 100644 --- a/src/funcs/languageModelsListAliases.ts +++ b/src/funcs/languageModelsListAliases.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeFormQuery } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -154,7 +155,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -190,7 +192,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/languageModelsListCustom.ts b/src/funcs/languageModelsListCustom.ts index 467c836..b92a8ec 100644 --- a/src/funcs/languageModelsListCustom.ts +++ b/src/funcs/languageModelsListCustom.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeFormQuery } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -154,7 +155,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -190,7 +192,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/languageModelsRegisterCustom.ts b/src/funcs/languageModelsRegisterCustom.ts index 91f843c..447a786 100644 --- a/src/funcs/languageModelsRegisterCustom.ts +++ b/src/funcs/languageModelsRegisterCustom.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -30,6 +31,8 @@ import { Result } from "../types/fp.js"; * * @remarks * Register a custom language model with the organization that owns the API key. + * + * The model configuration is validated by making a test API call before saving. */ export function languageModelsRegisterCustom( client: OpperCore, @@ -139,7 +142,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "409", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -174,7 +178,7 @@ async function $do( M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(409, errors.ConflictError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/languageModelsUpdateAlias.ts b/src/funcs/languageModelsUpdateAlias.ts index 2422c13..fd0680b 100644 --- a/src/funcs/languageModelsUpdateAlias.ts +++ b/src/funcs/languageModelsUpdateAlias.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON, encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -113,7 +114,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/models/aliases/{alias_id}")(pathParams); const headers = new Headers(compactMap({ @@ -157,7 +157,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -190,7 +191,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/languageModelsUpdateCustom.ts b/src/funcs/languageModelsUpdateCustom.ts index b7b7480..fd1e0de 100644 --- a/src/funcs/languageModelsUpdateCustom.ts +++ b/src/funcs/languageModelsUpdateCustom.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON, encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -31,6 +32,9 @@ import { Result } from "../types/fp.js"; * * @remarks * Update a custom language model. + * + * If identifier, api_key, or extra are changed, the model configuration + * is validated by making a test API call before saving. */ export function languageModelsUpdateCustom( client: OpperCore, @@ -113,7 +117,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/models/custom/{model_id}")(pathParams); const headers = new Headers(compactMap({ @@ -157,7 +160,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -190,7 +194,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/ocrListOcrModelsOcrModelsGet.ts b/src/funcs/ocrListOcrModelsOcrModelsGet.ts index f5c09da..574cb0d 100644 --- a/src/funcs/ocrListOcrModelsOcrModelsGet.ts +++ b/src/funcs/ocrListOcrModelsOcrModelsGet.ts @@ -3,6 +3,7 @@ */ import { OpperCore } from "../core.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { RequestOptions } from "../lib/sdks.js"; @@ -122,7 +123,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -155,7 +157,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/ocrProcessOcrOcrPost.ts b/src/funcs/ocrProcessOcrOcrPost.ts index cd84fb4..ca4a55a 100644 --- a/src/funcs/ocrProcessOcrOcrPost.ts +++ b/src/funcs/ocrProcessOcrOcrPost.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -144,7 +145,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -177,7 +179,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/openaiCreateChatCompletion.ts b/src/funcs/openaiCreateChatCompletion.ts index cb5ba0c..9e62b23 100644 --- a/src/funcs/openaiCreateChatCompletion.ts +++ b/src/funcs/openaiCreateChatCompletion.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -135,7 +136,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -168,7 +170,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/rerankDocuments.ts b/src/funcs/rerankDocuments.ts index 6425f42..0c576c4 100644 --- a/src/funcs/rerankDocuments.ts +++ b/src/funcs/rerankDocuments.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -144,7 +145,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -177,7 +179,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/rerankListModels.ts b/src/funcs/rerankListModels.ts index d2017fc..c255ac0 100644 --- a/src/funcs/rerankListModels.ts +++ b/src/funcs/rerankListModels.ts @@ -3,6 +3,7 @@ */ import { OpperCore } from "../core.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { RequestOptions } from "../lib/sdks.js"; @@ -122,7 +123,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -155,7 +157,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/spanMetricsCreateMetric.ts b/src/funcs/spanMetricsCreateMetric.ts index f868425..fcc008d 100644 --- a/src/funcs/spanMetricsCreateMetric.ts +++ b/src/funcs/spanMetricsCreateMetric.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON, encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -116,7 +117,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/spans/{span_id}/metrics")(pathParams); const headers = new Headers(compactMap({ @@ -160,7 +160,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "409", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -195,7 +196,7 @@ async function $do( M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(409, errors.ConflictError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/spanMetricsDelete.ts b/src/funcs/spanMetricsDelete.ts index 0fba993..befb966 100644 --- a/src/funcs/spanMetricsDelete.ts +++ b/src/funcs/spanMetricsDelete.ts @@ -5,6 +5,7 @@ import * as z from "zod/v3"; import { OpperCore } from "../core.js"; import { encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -117,7 +118,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/spans/{span_id}/metrics/{metric_id}")(pathParams); const headers = new Headers(compactMap({ @@ -160,7 +160,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -193,7 +194,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/spanMetricsGet.ts b/src/funcs/spanMetricsGet.ts index afe3fe1..3f67fde 100644 --- a/src/funcs/spanMetricsGet.ts +++ b/src/funcs/spanMetricsGet.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -115,7 +116,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/spans/{span_id}/metrics/{metric_id}")(pathParams); const headers = new Headers(compactMap({ @@ -158,7 +158,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -191,7 +192,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/spanMetricsList.ts b/src/funcs/spanMetricsList.ts index ee07cec..d6e9741 100644 --- a/src/funcs/spanMetricsList.ts +++ b/src/funcs/spanMetricsList.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeFormQuery, encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -116,7 +117,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/spans/{span_id}/metrics")(pathParams); const query = encodeFormQuery({ @@ -165,7 +165,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -198,7 +199,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/spanMetricsUpdateMetric.ts b/src/funcs/spanMetricsUpdateMetric.ts index 66f0139..888a7c4 100644 --- a/src/funcs/spanMetricsUpdateMetric.ts +++ b/src/funcs/spanMetricsUpdateMetric.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON, encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -122,7 +123,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/spans/{span_id}/metrics/{metric_id}")(pathParams); const headers = new Headers(compactMap({ @@ -166,7 +166,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -199,7 +200,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/spansCreate.ts b/src/funcs/spansCreate.ts index e4cc72e..1db65c9 100644 --- a/src/funcs/spansCreate.ts +++ b/src/funcs/spansCreate.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -137,7 +138,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -170,7 +172,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/spansDelete.ts b/src/funcs/spansDelete.ts index e5b0344..abe52f7 100644 --- a/src/funcs/spansDelete.ts +++ b/src/funcs/spansDelete.ts @@ -5,6 +5,7 @@ import * as z from "zod/v3"; import { OpperCore } from "../core.js"; import { encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -106,7 +107,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/spans/{span_id}")(pathParams); const headers = new Headers(compactMap({ @@ -149,7 +149,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -182,7 +183,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/spansGet.ts b/src/funcs/spansGet.ts index 1444f2f..e24dd27 100644 --- a/src/funcs/spansGet.ts +++ b/src/funcs/spansGet.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -106,7 +107,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/spans/{span_id}")(pathParams); const headers = new Headers(compactMap({ @@ -149,7 +149,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -182,7 +183,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/spansSaveExamples.ts b/src/funcs/spansSaveExamples.ts index b238f56..1a230dc 100644 --- a/src/funcs/spansSaveExamples.ts +++ b/src/funcs/spansSaveExamples.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -107,7 +108,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/spans/{span_id}/save_examples")(pathParams); const headers = new Headers(compactMap({ @@ -150,7 +150,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -183,7 +184,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/spansSubmitFeedback.ts b/src/funcs/spansSubmitFeedback.ts index 9f46f8d..5ea4ce3 100644 --- a/src/funcs/spansSubmitFeedback.ts +++ b/src/funcs/spansSubmitFeedback.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON, encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -121,7 +122,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/spans/{span_id}/feedback")(pathParams); const headers = new Headers(compactMap({ @@ -165,7 +165,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -198,7 +199,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/spansUpdate.ts b/src/funcs/spansUpdate.ts index f1f86b5..48aefaa 100644 --- a/src/funcs/spansUpdate.ts +++ b/src/funcs/spansUpdate.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON, encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -110,7 +111,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/spans/{span_id}")(pathParams); const headers = new Headers(compactMap({ @@ -154,7 +154,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -187,7 +188,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/stream.ts b/src/funcs/stream.ts index 2069709..659437f 100644 --- a/src/funcs/stream.ts +++ b/src/funcs/stream.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeJSON } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -208,7 +209,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -244,7 +246,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/tracesGet.ts b/src/funcs/tracesGet.ts index 482896e..880cde7 100644 --- a/src/funcs/tracesGet.ts +++ b/src/funcs/tracesGet.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeSimple } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -106,7 +107,6 @@ async function $do( charEncoding: "percent", }), }; - const path = pathToFunc("/traces/{trace_id}")(pathParams); const headers = new Headers(compactMap({ @@ -149,7 +149,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -182,7 +183,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/tracesList.ts b/src/funcs/tracesList.ts index 5855d5c..57755c5 100644 --- a/src/funcs/tracesList.ts +++ b/src/funcs/tracesList.ts @@ -4,6 +4,7 @@ import { OpperCore } from "../core.js"; import { encodeFormQuery } from "../lib/encodings.js"; +import { matchStatusCode } from "../lib/http.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -157,7 +158,8 @@ async function $do( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "404", "422", "4XX", "5XX"], + isErrorStatusCode: (statusCode: number) => + matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -190,7 +192,7 @@ async function $do( M.jsonErr(401, errors.UnauthorizedError$inboundSchema), M.jsonErr(404, errors.NotFoundError$inboundSchema), M.jsonErr(422, errors.RequestValidationError$inboundSchema), - M.fail("4XX"), + M.fail([402, "4XX"]), M.fail("5XX"), )(response, req, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/hooks/types.ts b/src/hooks/types.ts index 9c36bf0..a6aa5a2 100644 --- a/src/hooks/types.ts +++ b/src/hooks/types.ts @@ -15,6 +15,7 @@ export type HookContext = { retryConfig: RetryConfig; resolvedSecurity: SecurityState | null; options: SDKOptions; + timeoutMs?: number; }; export type Awaitable = T | Promise; diff --git a/src/lib/config.ts b/src/lib/config.ts index 7d8478e..d3c0190 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -61,7 +61,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null { export const SDK_METADATA = { language: "typescript", openapiDocVersion: "2.0.0", - sdkVersion: "3.4.1", - genVersion: "2.788.15", - userAgent: "speakeasy-sdk/typescript 3.4.1 2.788.15 2.0.0 opperai", + sdkVersion: "3.5.0", + genVersion: "2.913.3", + userAgent: "speakeasy-sdk/typescript 3.5.0 2.913.3 2.0.0 opperai", } as const; diff --git a/src/lib/dlv.ts b/src/lib/dlv.ts deleted file mode 100644 index e81091f..0000000 --- a/src/lib/dlv.ts +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - */ - -/* -MIT License - -Copyright (c) 2024 Jason Miller (http://jasonformat.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ - -/** - * @param obj The object to walk - * @param key The key path to walk the object with - * @param def A default value to return if the result is undefined - * - * @example - * dlv(obj, "a.b.c.d") - * @example - * dlv(object, ["a", "b", "c", "d"]) - * @example - * dlv(object, "foo.bar.baz", "Hello, default value!") - */ -export function dlv( - obj: any, - key: string | string[], - def?: T, - p?: number, - undef?: never, -): T | undefined { - key = Array.isArray(key) ? key : key.split("."); - for (p = 0; p < key.length; p++) { - const k = key[p]; - obj = k != null && obj ? obj[k] : undef; - } - return obj === undef ? def : obj; -} diff --git a/src/lib/encodings.ts b/src/lib/encodings.ts index 31cd373..dcab511 100644 --- a/src/lib/encodings.ts +++ b/src/lib/encodings.ts @@ -3,7 +3,7 @@ */ import { bytesToBase64 } from "./base64.js"; -import { isPlainObject } from "./is-plain-object.js"; +import { isPlainObject } from "./primitives.js"; export class EncodingError extends Error { constructor(message: string) { @@ -479,6 +479,23 @@ export const encodeSpaceDelimitedQuery = queryEncoder(encodeSpaceDelimited); export const encodePipeDelimitedQuery = queryEncoder(encodePipeDelimited); export const encodeDeepObjectQuery = queryEncoder(encodeDeepObject); +function isBlobLike(val: unknown): val is Blob { + if (val instanceof Blob) { + return true; + } + + if (typeof val !== "object" || val == null || !(Symbol.toStringTag in val)) { + return false; + } + + const tag = val[Symbol.toStringTag]; + if (tag !== "Blob" && tag !== "File") { + return false; + } + + return "stream" in val && typeof val.stream === "function"; +} + export function appendForm( fd: FormData, key: string, @@ -487,11 +504,22 @@ export function appendForm( ): void { if (value == null) { return; - } else if (value instanceof Blob && fileName) { - fd.append(key, value, fileName); - } else if (value instanceof Blob) { - fd.append(key, value); + } else if (isBlobLike(value)) { + if (fileName) { + fd.append(key, value as Blob, fileName); + } else { + fd.append(key, value as Blob); + } } else { fd.append(key, String(value)); } } + +export async function normalizeBlob( + value: Pick, +): Promise { + if (value instanceof Blob) { + return value; + } + return new Blob([await value.arrayBuffer()], { type: value.type }); +} diff --git a/src/lib/env.ts b/src/lib/env.ts index 78f2572..557c3ec 100644 --- a/src/lib/env.ts +++ b/src/lib/env.ts @@ -3,7 +3,6 @@ */ import * as z from "zod/v3"; -import { dlv } from "./dlv.js"; export interface Env { OPPER_HTTP_BEARER?: string | undefined; @@ -38,11 +37,16 @@ export function env(): Env { return envMemo; } + const globals = globalThis as { + Deno?: { env?: { toObject?: () => Record } }; + process?: { env?: Record }; + }; + let envObject: Record = {}; if (isDeno()) { - envObject = (globalThis as any).Deno?.env?.toObject?.() ?? {}; + envObject = globals.Deno?.env?.toObject?.() ?? {}; } else { - envObject = dlv(globalThis, "process.env") ?? {}; + envObject = globals.process?.env ?? {}; } envMemo = envSchema.parse(envObject); diff --git a/src/lib/event-streams.ts b/src/lib/event-streams.ts index 3897197..b97f495 100644 --- a/src/lib/event-streams.ts +++ b/src/lib/event-streams.ts @@ -2,11 +2,25 @@ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ +// Some environments' type definitions do not include ReadableStream's async +// iterator, even though the runtime supports it or this class polyfills it. +// Declare the method here so Stream can override it and preserve T in for-await. +declare global { + interface ReadableStream { + [Symbol.asyncIterator](): { + next(): Promise>; + throw?(e?: unknown): Promise>; + return?(): Promise>; + [Symbol.asyncIterator](): any; + }; + } +} + export type SseMessage = { data?: T | undefined; - event?: string | undefined; - id?: string | undefined; - retry?: number | undefined; + event?: string | null | undefined; + id?: string | null | undefined; + retry?: number | null | undefined; }; export class EventStream> extends ReadableStream @@ -14,23 +28,49 @@ export class EventStream> constructor( responseBody: ReadableStream, parse: (x: SseMessage) => IteratorResult, + opts?: { dataRequired?: boolean }, ) { const upstream = responseBody.getReader(); - let buffer: Uint8Array = new Uint8Array(); + let buffer: Uint8Array = new Uint8Array(4096); + let bufferLen = 0; + let searchStart = 0; + const state = { eventId: undefined as string | undefined }; + const dataRequired = opts?.dataRequired ?? true; super({ async pull(downstream) { try { while (true) { - const match = findBoundary(buffer); + const match = findBoundary(buffer, bufferLen, searchStart); if (!match) { + // Bytes before the trailing MAX_BOUNDARY_LEN-1 were already + // scanned with full lookahead and cannot start a boundary even + // once more data arrives, so the next scan can skip them. + searchStart = Math.max(0, bufferLen - MAX_BOUNDARY_LEN + 1); const chunk = await upstream.read(); if (chunk.done) return downstream.close(); - buffer = concatBuffer(buffer, chunk.value); + if (bufferLen + chunk.value.length > buffer.length) { + const grown = new Uint8Array( + Math.max(buffer.length * 2, bufferLen + chunk.value.length), + ); + grown.set(buffer.subarray(0, bufferLen)); + buffer = grown; + } + buffer.set(chunk.value, bufferLen); + bufferLen += chunk.value.length; continue; } const message = buffer.slice(0, match.index); - buffer = buffer.slice(match.index + match.length); - const item = parseMessage(message, parse); + buffer.copyWithin(0, match.index + match.length, bufferLen); + bufferLen -= match.index + match.length; + if (buffer.length > 4096 && bufferLen <= buffer.length >> 2) { + // Release oversized capacity retained after an unusually large + // event so long-lived streams do not hold peak memory. + const shrunk = new Uint8Array(Math.max(4096, bufferLen * 2)); + shrunk.set(buffer.subarray(0, bufferLen)); + buffer = shrunk; + } + searchStart = 0; + const item = parseMessage(message, parse, state, dataRequired); if (item && !item.done) return downstream.enqueue(item.value); if (item?.done) { await upstream.cancel("done"); @@ -46,8 +86,11 @@ export class EventStream> }); } - // Polyfill for older browsers - [Symbol.asyncIterator](): AsyncIterableIterator { + // Use ReadableStream's iterator return type instead of `any` so stream events + // keep their generated type in for-await loops. + override [Symbol.asyncIterator](): ReturnType< + ReadableStream[typeof Symbol.asyncIterator] + > { const fn = (ReadableStream.prototype as any)[Symbol.asyncIterator]; if (typeof fn === "function") return fn.call(this); const reader = this.getReader(); @@ -73,35 +116,41 @@ export class EventStream> [Symbol.asyncIterator]() { return this; }, - }; + } as ReturnType[typeof Symbol.asyncIterator]>; } } -function concatBuffer(a: Uint8Array, b: Uint8Array): Uint8Array { - const c = new Uint8Array(a.length + b.length); - c.set(a, 0); - c.set(b, a.length); - return c; -} +const CR = 13; +const LF = 10; +const BOUNDARIES = [ + [CR, LF, CR, LF], // \r\n\r\n + [CR, LF, CR], // \r\n\r + [CR, LF, LF], // \r\n\n + [CR, CR, LF], // \r\r\n + [LF, CR, LF], // \n\r\n + [CR, CR], // \r\r + [LF, CR], // \n\r + [LF, LF], // \n\n +]; +const MAX_BOUNDARY_LEN = BOUNDARIES.reduce((m, b) => Math.max(m, b.length), 0); -/** Finds the first (CR,LF,CR,LF) or (CR,CR) or (LF,LF) */ function findBoundary( buf: Uint8Array, + len: number, + from: number, ): { index: number; length: number } | null { - const len = buf.length; - for (let i = 0; i < len; i++) { - if ( - i <= len - 4 - && buf[i] === 13 && buf[i + 1] === 10 && buf[i + 2] === 13 - && buf[i + 3] === 10 - ) { - return { index: i, length: 4 }; - } - if (i <= len - 2 && buf[i] === 13 && buf[i + 1] === 13) { - return { index: i, length: 2 }; - } - if (i <= len - 2 && buf[i] === 10 && buf[i + 1] === 10) { - return { index: i, length: 2 }; + for (let i = from; i < len; i++) { + if (buf[i] !== CR && buf[i] !== LF) continue; + for (const boundary of BOUNDARIES) { + if (i + boundary.length > len) continue; + let match = true; + for (let j = 0; j < boundary.length; j++) { + if (buf[i + j] !== boundary[j]) { + match = false; + break; + } + } + if (match) return { index: i, length: boundary.length }; } } return null; @@ -109,6 +158,8 @@ function findBoundary( function parseMessage>( chunk: Uint8Array, parse: (x: SseMessage) => IteratorResult, + state: { eventId: string | undefined }, + dataRequired: boolean, ) { const text = new TextDecoder().decode(chunk); const lines = text.split(/\r\n|\r|\n/); @@ -119,17 +170,22 @@ function parseMessage>( if (!line || line.startsWith(":")) continue; ignore = false; const i = line.indexOf(":"); - const field = line.slice(0, i); - const value = line[i + 1] === " " ? line.slice(i + 2) : line.slice(i + 1); + let field = line; + let value = ""; + if (i > 0) { + field = line.slice(0, i); + value = line[i + 1] === " " ? line.slice(i + 2) : line.slice(i + 1); + } if (field === "data") dataLines.push(value); else if (field === "event") ret.event = value; - else if (field === "id") ret.id = value; - else if (field === "retry") { - const n = Number(value); - if (!isNaN(n)) ret.retry = n; + else if (field === "id" && !value.includes("\0")) state.eventId = value; + else if (field === "retry" && /^\d+$/.test(value)) { + ret.retry = Number(value); } } if (ignore) return; + ret.id = state.eventId; if (dataLines.length) ret.data = dataLines.join("\n"); + else if (dataRequired) return; // skip data-less events when data is required return parse(ret); } diff --git a/src/lib/files.ts b/src/lib/files.ts index 0344cd0..6ca6b37 100644 --- a/src/lib/files.ts +++ b/src/lib/files.ts @@ -80,3 +80,25 @@ export function getContentTypeFromFileName(fileName: string): string | null { return mimeTypes[ext] || null; } + +/** + * Creates a Blob from file content with the given MIME type. + * + * Node.js Buffers are Uint8Array subclasses that may share a pooled + * ArrayBuffer (byteOffset > 0, byteLength < buffer.byteLength). Passing + * such a Buffer directly to `new Blob([buf])` can include the entire + * underlying pool on some runtimes, producing a Blob with extra bytes + * that corrupts multipart uploads. + * + * Copying into a standalone Uint8Array ensures the Blob receives only the + * intended bytes regardless of runtime behaviour. + */ +export function bytesToBlob( + content: Uint8Array | ArrayBuffer | Blob | string, + contentType: string, +): Blob { + if (content instanceof Uint8Array) { + return new Blob([new Uint8Array(content)], { type: contentType }); + } + return new Blob([content as BlobPart], { type: contentType }); +} diff --git a/src/lib/is-plain-object.ts b/src/lib/is-plain-object.ts deleted file mode 100644 index 61070d3..0000000 --- a/src/lib/is-plain-object.ts +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - */ - -/* -MIT License - -Copyright (c) Sindre Sorhus (https://sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ - -// Taken from https://github.com/sindresorhus/is-plain-obj/blob/97f38e8836f86a642cce98fc6ab3058bc36df181/index.js - -export function isPlainObject(value: unknown): value is object { - if (typeof value !== "object" || value === null) { - return false; - } - - const prototype = Object.getPrototypeOf(value); - return ( - (prototype === null || - prototype === Object.prototype || - Object.getPrototypeOf(prototype) === null) && - !(Symbol.toStringTag in value) && - !(Symbol.iterator in value) - ); -} diff --git a/src/lib/matchers.ts b/src/lib/matchers.ts index 77d4108..efc0928 100644 --- a/src/lib/matchers.ts +++ b/src/lib/matchers.ts @@ -6,7 +6,7 @@ import { APIError } from "../models/errors/apierror.js"; import { ResponseValidationError } from "../models/errors/responsevalidationerror.js"; import { ERR, OK, Result } from "../types/fp.js"; import { matchResponse, matchStatusCode, StatusCodePredicate } from "./http.js"; -import { isPlainObject } from "./is-plain-object.js"; +import { isPlainObject } from "./primitives.js"; export type Encoding = | "jsonl" @@ -248,8 +248,9 @@ export function match( raw = body; break; default: - encoding satisfies never; - throw new Error(`Unsupported response type: ${encoding}`); + throw new Error( + `Unsupported response type: ${encoding satisfies never}`, + ); } if (matcher.enc === "fail") { diff --git a/src/lib/primitives.ts b/src/lib/primitives.ts index d21f1dc..8ce65db 100644 --- a/src/lib/primitives.ts +++ b/src/lib/primitives.ts @@ -148,3 +148,19 @@ export function allRequired>( return v as ReturnType>; } + +export function isPlainObject( + value: unknown, +): value is Record { + if (value === null || typeof value !== "object") return false; + if (Object.prototype.toString.call(value) !== "[object Object]") return false; + const proto = Object.getPrototypeOf(value); + if (proto === null || proto === Object.prototype) return true; + // cross-realm plain objects (vm contexts, iframes) inherit from a + // different realm's Object.prototype, which itself has a null prototype + try { + return Object.getPrototypeOf(proto) === null; + } catch { + return false; + } +} diff --git a/src/lib/retries.ts b/src/lib/retries.ts index e3ce9ab..21a647e 100644 --- a/src/lib/retries.ts +++ b/src/lib/retries.ts @@ -194,6 +194,14 @@ async function retryBackoff( } function retryIntervalFromResponse(res: Response): number { + const retryAfterMsVal = res.headers.get("retry-after-ms"); + if (retryAfterMsVal) { + const parsedMs = Number(retryAfterMsVal); + if (Number.isFinite(parsedMs) && parsedMs >= 0) { + return parsedMs; + } + } + const retryVal = res.headers.get("retry-after") || ""; if (!retryVal) { return 0; diff --git a/src/lib/sdks.ts b/src/lib/sdks.ts index e90348c..d26241a 100644 --- a/src/lib/sdks.ts +++ b/src/lib/sdks.ts @@ -22,9 +22,9 @@ import { isConnectionError, isTimeoutError, matchContentType, - matchStatusCode, } from "./http.js"; import { Logger } from "./logger.js"; +import { combineSignals } from "./primitives.js"; import { retry, RetryConfig } from "./retries.js"; import { SecurityState } from "./security.js"; @@ -127,30 +127,60 @@ export class ClientSDK { if (!base) { return ERR(new InvalidRequestError("No base URL provided for operation")); } - const reqURL = new URL(base); - const inputURL = new URL(path, reqURL); - + const baseURL = new URL(base); + let reqURL: URL; if (path) { - reqURL.pathname += reqURL.pathname.endsWith("/") ? "" : "/"; - reqURL.pathname += inputURL.pathname.replace(/^\/+/, ""); + baseURL.pathname = baseURL.pathname.replace(/\/+$/, "") + "/"; + reqURL = new URL(path, baseURL); + if (!reqURL.search && baseURL.search) { + reqURL.search = baseURL.search; + } + } else { + reqURL = baseURL; } + reqURL.hash = ""; - let finalQuery = query || ""; - - const secQuery: string[] = []; - for (const [k, v] of Object.entries(security?.queryParams || {})) { - const q = encodeForm(k, v, { charEncoding: "percent" }); - if (typeof q !== "undefined") { - secQuery.push(q); + // Appends already-encoded query pairs to a query string, replacing any + // existing pairs with the same key so later sources take precedence. + const mergeQuery = (current: string, additions: string): string => { + if (!additions) { + return current; } - } - if (secQuery.length) { - finalQuery += `&${secQuery.join("&")}`; - } + const additionKeys = new Set( + additions + .split("&") + .filter((pair) => pair !== "") + .map((pair) => pair.split("=")[0] ?? ""), + ); + const kept = current.split("&").filter((pair) => { + return pair !== "" && !additionKeys.has(pair.split("=")[0] ?? ""); + }); + return [...kept, additions].join("&"); + }; + + const encodeQueryRecord = (record: Record): string => { + return Object.entries(record) + .map(([k, v]) => { + if (v == null) { + return undefined; + } + const value = v; + return encodeForm(k, value, { + explode: Array.isArray(value), + charEncoding: "percent", + }); + }) + .filter((pair): pair is string => typeof pair !== "undefined") + .join("&"); + }; + + const finalQuery = [ + query || "", + encodeQueryRecord(security?.queryParams || {}), + ].reduce(mergeQuery, reqURL.search.slice(1)); if (finalQuery) { - const q = finalQuery.startsWith("&") ? finalQuery.slice(1) : finalQuery; - reqURL.search = `?${q}`; + reqURL.search = `?${finalQuery}`; } const headers = new Headers(opHeaders); @@ -196,9 +226,8 @@ export class ClientSDK { ...options?.fetchOptions, ...options, }; - if (!fetchOptions?.signal && conf.timeoutMs && conf.timeoutMs > 0) { - const timeoutSignal = AbortSignal.timeout(conf.timeoutMs); - fetchOptions.signal = timeoutSignal; + if (!fetchOptions?.signal && conf.timeoutMs != null && conf.timeoutMs > 0) { + context.timeoutMs = conf.timeoutMs; } if (conf.body instanceof ReadableStream) { @@ -231,7 +260,7 @@ export class ClientSDK { request: Request, options: { context: HookContext; - errorCodes: number | string | (number | string)[]; + isErrorStatusCode: (statusCode: number) => boolean; retryConfig: RetryConfig; retryCodes: string[]; }, @@ -244,11 +273,20 @@ export class ClientSDK { | UnexpectedClientError > > { - const { context, errorCodes } = options; + const { context, isErrorStatusCode } = options; + const timeoutMs = context.timeoutMs; return retry( async () => { - const req = await this.#hooks.beforeRequest(context, request.clone()); + const cloned = request.clone(); + let attempt = cloned; + if (timeoutMs != null && timeoutMs > 0) { + const timeoutSignal = AbortSignal.timeout(timeoutMs); + const combined = combineSignals(cloned.signal, timeoutSignal) + ?? timeoutSignal; + attempt = new Request(cloned, { signal: combined }); + } + const req = await this.#hooks.beforeRequest(context, attempt); await logRequest(this.#logger, req).catch((e) => this.#logger?.log("Failed to log request:", e) ); @@ -256,7 +294,7 @@ export class ClientSDK { let response = await this.#httpClient.request(req); try { - if (matchStatusCode(response, errorCodes)) { + if (isErrorStatusCode(response.status)) { const result = await this.#hooks.afterError( context, response, @@ -307,9 +345,9 @@ export class ClientSDK { } } -const jsonLikeContentTypeRE = /(application|text)\/.*?\+*json.*/; +const jsonLikeContentTypeRE = /^(application|text)\/([^+]+\+)*json.*/; const jsonlLikeContentTypeRE = - /(application|text)\/(.*?\+*\bjsonl\b.*|.*?\+*\bx-ndjson\b.*)/; + /^(application|text)\/([^+]+\+)*(jsonl|x-ndjson)\b.*/; async function logRequest(logger: Logger | undefined, req: Request) { if (!logger) { return; @@ -380,8 +418,6 @@ async function logResponse( break; case matchContentType(res, "application/jsonl") || jsonlLikeContentTypeRE.test(ct): - logger.log(await res.clone().text()); - break; case matchContentType(res, "text/event-stream"): logger.log(`<${contentType}>`); break; diff --git a/src/lib/security.ts b/src/lib/security.ts index 097234d..6ea61d4 100644 --- a/src/lib/security.ts +++ b/src/lib/security.ts @@ -198,8 +198,7 @@ export function resolveSecurity( applyBearer(state, spec); break; default: - spec satisfies never; - throw SecurityError.unrecognizedType(type); + throw SecurityError.unrecognizedType((spec satisfies never, type)); } }); @@ -241,8 +240,9 @@ function applyBearer( export function resolveGlobalSecurity( security: Partial | null | undefined, + allowedFields?: number[], ): SecurityState | null { - return resolveSecurity( + let inputs: SecurityInput[][] = [ [ { fieldName: "Authorization", @@ -250,7 +250,18 @@ export function resolveGlobalSecurity( value: security?.httpBearer ?? env().OPPER_HTTP_BEARER, }, ], - ); + ]; + + if (allowedFields) { + inputs = allowedFields.map((i) => { + if (i < 0 || i >= inputs.length) { + throw new RangeError(`invalid allowedFields index ${i}`); + } + return inputs[i]!; + }); + } + + return resolveSecurity(...inputs); } export async function extractSecurity< diff --git a/src/lib/url.ts b/src/lib/url.ts index f3a8de6..79e7ce6 100644 --- a/src/lib/url.ts +++ b/src/lib/url.ts @@ -13,21 +13,23 @@ export function pathToFunc( const paramRE = /\{([a-zA-Z0-9_][a-zA-Z0-9_-]*?)\}/g; return function buildURLPath(params: Record = {}): string { - return pathPattern.replace(paramRE, function (_, placeholder) { - if (!hasOwn.call(params, placeholder)) { - throw new Error(`Parameter '${placeholder}' is required`); - } + return pathPattern + .replace(paramRE, function (_, placeholder) { + if (!hasOwn.call(params, placeholder)) { + throw new Error(`Parameter '${placeholder}' is required`); + } - const value = params[placeholder]; - if (typeof value !== "string" && typeof value !== "number") { - throw new Error( - `Parameter '${placeholder}' must be a string or number`, - ); - } + const value = params[placeholder]; + if (typeof value !== "string" && typeof value !== "number") { + throw new Error( + `Parameter '${placeholder}' must be a string or number`, + ); + } - return options?.charEncoding === "percent" - ? encodeURIComponent(`${value}`) - : `${value}`; - }); + return options?.charEncoding === "percent" + ? encodeURIComponent(`${value}`) + : `${value}`; + }) + .replace(/^\/+/, ""); }; } diff --git a/src/mcp-server/cli/start/impl.ts b/src/mcp-server/cli/start/impl.ts index 779f5eb..859d2a9 100644 --- a/src/mcp-server/cli/start/impl.ts +++ b/src/mcp-server/cli/start/impl.ts @@ -47,7 +47,8 @@ async function startStdio(flags: StartCommandFlags) { const server = createMCPServer({ logger, allowedTools: flags.tool, - ...{ httpBearer: flags["http-bearer"] ?? "" }, + httpBearer: flags["http-bearer"] ?? "", + serverURL: flags["server-url"], serverIdx: flags["server-index"], }); @@ -67,7 +68,8 @@ async function startSSE(flags: StartCommandFlags) { const mcpServer = createMCPServer({ logger, allowedTools: flags.tool, - ...{ httpBearer: flags["http-bearer"] ?? "" }, + httpBearer: flags["http-bearer"] ?? "", + serverURL: flags["server-url"], serverIdx: flags["server-index"], }); diff --git a/src/mcp-server/mcp-server.ts b/src/mcp-server/mcp-server.ts index 8df222d..8462c20 100644 --- a/src/mcp-server/mcp-server.ts +++ b/src/mcp-server/mcp-server.ts @@ -19,7 +19,7 @@ const routes = buildRouteMap({ export const app = buildApplication(routes, { name: "mcp", versionInfo: { - currentVersion: "3.4.1", + currentVersion: "3.5.0", }, }); diff --git a/src/mcp-server/server.ts b/src/mcp-server/server.ts index 4513112..2b9da18 100644 --- a/src/mcp-server/server.ts +++ b/src/mcp-server/server.ts @@ -22,6 +22,8 @@ import { tool$datasetsGetEntry } from "./tools/datasetsGetEntry.js"; import { tool$datasetsListEntries } from "./tools/datasetsListEntries.js"; import { tool$datasetsQueryEntries } from "./tools/datasetsQueryEntries.js"; import { tool$embeddingsCreate } from "./tools/embeddingsCreate.js"; +import { tool$functionConfigGetFunctionConfigFunctionsFunctionIdConfigGet } from "./tools/functionConfigGetFunctionConfigFunctionsFunctionIdConfigGet.js"; +import { tool$functionConfigPutSteeringFunctionsFunctionIdConfigSteeringPut } from "./tools/functionConfigPutSteeringFunctionsFunctionIdConfigSteeringPut.js"; import { tool$functionsCall } from "./tools/functionsCall.js"; import { tool$functionsCallRevision } from "./tools/functionsCallRevision.js"; import { tool$functionsCreate } from "./tools/functionsCreate.js"; @@ -92,7 +94,7 @@ export function createMCPServer(deps: { }) { const server = new McpServer({ name: "Opper", - version: "3.4.1", + version: "3.5.0", }); const client = new OpperCore({ @@ -170,6 +172,8 @@ export function createMCPServer(deps: { tool(tool$functionsStream); tool(tool$functionsCallRevision); tool(tool$functionsStreamRevision); + tool(tool$functionConfigGetFunctionConfigFunctionsFunctionIdConfigGet); + tool(tool$functionConfigPutSteeringFunctionsFunctionIdConfigSteeringPut); tool(tool$embeddingsCreate); tool(tool$languageModelsList); tool(tool$languageModelsRegisterCustom); diff --git a/src/mcp-server/shared.ts b/src/mcp-server/shared.ts index 3e94144..bef212f 100644 --- a/src/mcp-server/shared.ts +++ b/src/mcp-server/shared.ts @@ -16,12 +16,12 @@ export async function consumeStream( stream: ReadableStream, ): Promise { const reader = stream.getReader(); - const chunks: Uint8Array[] = []; + const chunks: ArrayBuffer[] = []; try { while (true) { const { done, value } = await reader.read(); - if (value != null) chunks.push(value); + if (value != null) chunks.push(new Uint8Array(value).buffer); if (done) break; } } finally { diff --git a/src/mcp-server/tools/analyticsGetUsage.ts b/src/mcp-server/tools/analyticsGetUsage.ts index 2154577..0d1cbcd 100644 --- a/src/mcp-server/tools/analyticsGetUsage.ts +++ b/src/mcp-server/tools/analyticsGetUsage.ts @@ -17,6 +17,7 @@ const args = { granularity: z.nullable(models.Granularity$inboundSchema).optional(), fields: z.nullable(z.array(z.string())).optional(), groupBy: z.nullable(z.array(z.string())).optional(), + sessionId: z.nullable(z.string()).optional(), }; export const tool$analyticsGetUsage: ToolDefinition = { @@ -31,6 +32,7 @@ export const tool$analyticsGetUsage: ToolDefinition = { args.granularity, args.fields, args.groupBy, + args.sessionId, { fetchOptions: { signal: ctx.signal } }, ).$inspect(); diff --git a/src/mcp-server/tools/functionConfigGetFunctionConfigFunctionsFunctionIdConfigGet.ts b/src/mcp-server/tools/functionConfigGetFunctionConfigFunctionsFunctionIdConfigGet.ts new file mode 100644 index 0000000..c193b54 --- /dev/null +++ b/src/mcp-server/tools/functionConfigGetFunctionConfigFunctionsFunctionIdConfigGet.ts @@ -0,0 +1,38 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +import * as z from "zod/v3"; +import { functionConfigGetFunctionConfigFunctionsFunctionIdConfigGet } from "../../funcs/functionConfigGetFunctionConfigFunctionsFunctionIdConfigGet.js"; +import { formatResult, ToolDefinition } from "../tools.js"; + +const args = { + functionId: z.string(), +}; + +export const tool$functionConfigGetFunctionConfigFunctionsFunctionIdConfigGet: + ToolDefinition = { + name: + "function-config-get-function-config-functions-function-id-config-get", + description: `Get Function Config`, + args, + tool: async (client, args, ctx) => { + const [result, apiCall] = + await functionConfigGetFunctionConfigFunctionsFunctionIdConfigGet( + client, + args.functionId, + { fetchOptions: { signal: ctx.signal } }, + ).$inspect(); + + if (!result.ok) { + return { + content: [{ type: "text", text: result.error.message }], + isError: true, + }; + } + + const value = result.value; + + return formatResult(value, apiCall); + }, + }; diff --git a/src/mcp-server/tools/functionConfigPutSteeringFunctionsFunctionIdConfigSteeringPut.ts b/src/mcp-server/tools/functionConfigPutSteeringFunctionsFunctionIdConfigSteeringPut.ts new file mode 100644 index 0000000..3a80b73 --- /dev/null +++ b/src/mcp-server/tools/functionConfigPutSteeringFunctionsFunctionIdConfigSteeringPut.ts @@ -0,0 +1,41 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +import * as z from "zod/v3"; +import { functionConfigPutSteeringFunctionsFunctionIdConfigSteeringPut } from "../../funcs/functionConfigPutSteeringFunctionsFunctionIdConfigSteeringPut.js"; +import * as models from "../../models/index.js"; +import { formatResult, ToolDefinition } from "../tools.js"; + +const args = { + functionId: z.string(), + steeringConfig: models.SteeringConfig$inboundSchema, +}; + +export const tool$functionConfigPutSteeringFunctionsFunctionIdConfigSteeringPut: + ToolDefinition = { + name: + "function-config-put-steering-functions-function-id-config-steering-put", + description: `Put Steering`, + args, + tool: async (client, args, ctx) => { + const [result, apiCall] = + await functionConfigPutSteeringFunctionsFunctionIdConfigSteeringPut( + client, + args.functionId, + args.steeringConfig, + { fetchOptions: { signal: ctx.signal } }, + ).$inspect(); + + if (!result.ok) { + return { + content: [{ type: "text", text: result.error.message }], + isError: true, + }; + } + + const value = result.value; + + return formatResult(value, apiCall); + }, + }; diff --git a/src/mcp-server/tools/functionsCallRevision.ts b/src/mcp-server/tools/functionsCallRevision.ts index 6c49ee6..223b62e 100644 --- a/src/mcp-server/tools/functionsCallRevision.ts +++ b/src/mcp-server/tools/functionsCallRevision.ts @@ -18,7 +18,13 @@ export const tool$functionsCallRevision: ToolDefinition = { name: "functions-call-revision", description: `Call Function Revision -Call a function`, +Call a function at a specific revision. + +**Deprecated.** Pinning a call to a historical revision is no longer +supported; \`\`revision_id\`\` is accepted for backwards compatibility but +ignored — the latest revision is always executed. Use \`\`POST /v2/call\`\` +or the per-function call endpoint instead. This endpoint will be +removed in a future release.`, args, tool: async (client, args, ctx) => { const [result, apiCall] = await functionsCallRevision( diff --git a/src/mcp-server/tools/functionsGetByRevision.ts b/src/mcp-server/tools/functionsGetByRevision.ts index fe5a047..582440a 100644 --- a/src/mcp-server/tools/functionsGetByRevision.ts +++ b/src/mcp-server/tools/functionsGetByRevision.ts @@ -15,7 +15,12 @@ export const tool$functionsGetByRevision: ToolDefinition = { name: "functions-get-by-revision", description: `Get Function By Revision -Get a function by ID with a specific revision`, +Get a function by ID with a specific revision. + +**Deprecated.** Use \`\`GET /v2/functions/{function_id}\`\` to fetch the +latest revision. Pinning to a specific revision is no longer supported; +\`\`revision_id\`\` is accepted for backwards compatibility but ignored — +the latest revision is always returned.`, args, tool: async (client, args, ctx) => { const [result, apiCall] = await functionsGetByRevision( diff --git a/src/mcp-server/tools/functionsRevisionsList.ts b/src/mcp-server/tools/functionsRevisionsList.ts index c19f57c..137b353 100644 --- a/src/mcp-server/tools/functionsRevisionsList.ts +++ b/src/mcp-server/tools/functionsRevisionsList.ts @@ -16,10 +16,16 @@ export const tool$functionsRevisionsList: ToolDefinition = { name: "functions-revisions-list", description: `List Function Revisions -Get all revisions for a function with pagination +Get all revisions for a function with pagination. -Returns a list of revisions for the function with the given function id -revisions are sorted by created_at in descending order ergo the latest revision is the first one`, +**Deprecated.** Revision history is no longer a supported part of the +public API; clients should always use the latest revision via the +standard function endpoints. This endpoint will be removed in a future +release. + +Returns a single-item list containing the latest revision of the +function. \`\`offset\`\` and \`\`limit\`\` are accepted for backwards +compatibility but ignored.`, args, tool: async (client, args, ctx) => { const [result, apiCall] = await functionsRevisionsList( diff --git a/src/mcp-server/tools/functionsStreamRevision.ts b/src/mcp-server/tools/functionsStreamRevision.ts index d65a421..6eac4cf 100644 --- a/src/mcp-server/tools/functionsStreamRevision.ts +++ b/src/mcp-server/tools/functionsStreamRevision.ts @@ -20,6 +20,12 @@ export const tool$functionsStreamRevision: ToolDefinition = { Stream a function revision call execution in real-time using Server-Sent Events (SSE). +**Deprecated.** Pinning a streamed call to a historical revision is no +longer supported; \`\`revision_id\`\` is accepted for backwards +compatibility but ignored — the latest revision is always streamed. Use +the non-revision stream endpoint instead. This endpoint will be removed +in a future release. + This endpoint returns a continuous stream of Server-Sent Event objects as the function executes, allowing for real-time streaming of responses. The response follows the Server-Sent Events specification with proper event structure for SDK compatibility. diff --git a/src/mcp-server/tools/languageModelsRegisterCustom.ts b/src/mcp-server/tools/languageModelsRegisterCustom.ts index 3a1fb22..3b98d3b 100644 --- a/src/mcp-server/tools/languageModelsRegisterCustom.ts +++ b/src/mcp-server/tools/languageModelsRegisterCustom.ts @@ -14,7 +14,9 @@ export const tool$languageModelsRegisterCustom: ToolDefinition = { name: "language-models-register-custom", description: `Register Custom Model -Register a custom language model with the organization that owns the API key.`, +Register a custom language model with the organization that owns the API key. + +The model configuration is validated by making a test API call before saving.`, args, tool: async (client, args, ctx) => { const [result, apiCall] = await languageModelsRegisterCustom( diff --git a/src/mcp-server/tools/languageModelsUpdateCustom.ts b/src/mcp-server/tools/languageModelsUpdateCustom.ts index 470ea10..c01a177 100644 --- a/src/mcp-server/tools/languageModelsUpdateCustom.ts +++ b/src/mcp-server/tools/languageModelsUpdateCustom.ts @@ -16,7 +16,10 @@ export const tool$languageModelsUpdateCustom: ToolDefinition = { name: "language-models-update-custom", description: `Update Custom Model -Update a custom language model.`, +Update a custom language model. + +If identifier, api_key, or extra are changed, the model configuration +is validated by making a test API call before saving.`, args, tool: async (client, args, ctx) => { const [result, apiCall] = await languageModelsUpdateCustom( diff --git a/src/models/annotation.ts b/src/models/annotation.ts index ee1fbcd..6972769 100644 --- a/src/models/annotation.ts +++ b/src/models/annotation.ts @@ -17,8 +17,14 @@ import { } from "./annotationurlcitation.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; +/** + * A URL citation when using web search. + */ export type Annotation = { type: "url_citation"; + /** + * A URL citation when using web search. + */ urlCitation: AnnotationURLCitation; additionalProperties?: { [k: string]: any } | undefined; }; diff --git a/src/models/annotationurlcitation.ts b/src/models/annotationurlcitation.ts index f60420d..bc6d603 100644 --- a/src/models/annotationurlcitation.ts +++ b/src/models/annotationurlcitation.ts @@ -11,6 +11,9 @@ import { import { Result as SafeParseResult } from "../types/fp.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; +/** + * A URL citation when using web search. + */ export type AnnotationURLCitation = { endIndex: number; startIndex: number; diff --git a/src/models/audio.ts b/src/models/audio.ts index dc5d909..340dc87 100644 --- a/src/models/audio.ts +++ b/src/models/audio.ts @@ -7,6 +7,12 @@ import { safeParse } from "../lib/schemas.js"; import { Result as SafeParseResult } from "../types/fp.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; +/** + * Data about a previous audio response from the model. + * + * @remarks + * [Learn more](https://platform.openai.com/docs/guides/audio). + */ export type Audio = { id: string; }; diff --git a/src/models/chatcompletion.ts b/src/models/chatcompletion.ts index 088a344..b5e0eaf 100644 --- a/src/models/chatcompletion.ts +++ b/src/models/chatcompletion.ts @@ -35,6 +35,9 @@ export type ChatCompletionServiceTier = ClosedEnum< typeof ChatCompletionServiceTier >; +/** + * Represents a chat completion response returned by model, based on the provided input. + */ export type ChatCompletion = { id: string; choices: Array; diff --git a/src/models/chatcompletionallowedtoolchoiceparam.ts b/src/models/chatcompletionallowedtoolchoiceparam.ts index 03882ec..832e5ee 100644 --- a/src/models/chatcompletionallowedtoolchoiceparam.ts +++ b/src/models/chatcompletionallowedtoolchoiceparam.ts @@ -14,7 +14,13 @@ import { } from "./chatcompletionallowedtoolsparam.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; +/** + * Constrains the tools available to the model to a pre-defined set. + */ export type ChatCompletionAllowedToolChoiceParam = { + /** + * Constrains the tools available to the model to a pre-defined set. + */ allowedTools: ChatCompletionAllowedToolsParam; type: "allowed_tools"; }; diff --git a/src/models/chatcompletionallowedtoolsparam.ts b/src/models/chatcompletionallowedtoolsparam.ts index c2f6740..fee3108 100644 --- a/src/models/chatcompletionallowedtoolsparam.ts +++ b/src/models/chatcompletionallowedtoolsparam.ts @@ -14,6 +14,9 @@ export const Mode = { } as const; export type Mode = ClosedEnum; +/** + * Constrains the tools available to the model to a pre-defined set. + */ export type ChatCompletionAllowedToolsParam = { mode: Mode; tools: Array<{ [k: string]: any }>; diff --git a/src/models/chatcompletionassistantmessageparam.ts b/src/models/chatcompletionassistantmessageparam.ts index 7f2216b..8f84239 100644 --- a/src/models/chatcompletionassistantmessageparam.ts +++ b/src/models/chatcompletionassistantmessageparam.ts @@ -59,6 +59,9 @@ export type ChatCompletionAssistantMessageParamToolCall = | ChatCompletionMessageFunctionToolCallParam | ChatCompletionMessageCustomToolCallParam; +/** + * Messages sent by the model in response to user messages. + */ export type ChatCompletionAssistantMessageParam = { role: "assistant"; audio?: Audio | null | undefined; diff --git a/src/models/chatcompletionaudio.ts b/src/models/chatcompletionaudio.ts index 895976f..e0aa378 100644 --- a/src/models/chatcompletionaudio.ts +++ b/src/models/chatcompletionaudio.ts @@ -11,6 +11,12 @@ import { import { Result as SafeParseResult } from "../types/fp.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; +/** + * If the audio output modality is requested, this object contains data + * + * @remarks + * about the audio response from the model. [Learn more](https://platform.openai.com/docs/guides/audio). + */ export type ChatCompletionAudio = { id: string; data: string; diff --git a/src/models/chatcompletionaudioparam.ts b/src/models/chatcompletionaudioparam.ts index 9f05ab3..ee8f36d 100644 --- a/src/models/chatcompletionaudioparam.ts +++ b/src/models/chatcompletionaudioparam.ts @@ -29,11 +29,21 @@ export const VoiceEnum = { Sage: "sage", Shimmer: "shimmer", Verse: "verse", + Marin: "marin", + Cedar: "cedar", } as const; export type VoiceEnum = ClosedEnum; export type Voice = string | VoiceEnum; +/** + * Parameters for audio output. + * + * @remarks + * + * Required when audio output is requested with + * `modalities: ["audio"]`. [Learn more](https://platform.openai.com/docs/guides/audio). + */ export type ChatCompletionAudioParam = { format: ChatCompletionAudioParamFormat; voice: string | VoiceEnum; diff --git a/src/models/chatcompletioncontentpartimageparam.ts b/src/models/chatcompletioncontentpartimageparam.ts index 106f92d..4fe3d2b 100644 --- a/src/models/chatcompletioncontentpartimageparam.ts +++ b/src/models/chatcompletioncontentpartimageparam.ts @@ -14,6 +14,9 @@ import { ImageURL$outboundSchema, } from "./imageurl.js"; +/** + * Learn about [image inputs](https://platform.openai.com/docs/guides/vision). + */ export type ChatCompletionContentPartImageParam = { imageUrl: ImageURL; type: "image_url"; diff --git a/src/models/chatcompletioncontentpartinputaudioparam.ts b/src/models/chatcompletioncontentpartinputaudioparam.ts index dbdf214..7722f71 100644 --- a/src/models/chatcompletioncontentpartinputaudioparam.ts +++ b/src/models/chatcompletioncontentpartinputaudioparam.ts @@ -14,6 +14,9 @@ import { InputAudio$outboundSchema, } from "./inputaudio.js"; +/** + * Learn about [audio inputs](https://platform.openai.com/docs/guides/audio). + */ export type ChatCompletionContentPartInputAudioParam = { inputAudio: InputAudio; type: "input_audio"; diff --git a/src/models/chatcompletioncontentparttextparam.ts b/src/models/chatcompletioncontentparttextparam.ts index 76e3232..ba04c04 100644 --- a/src/models/chatcompletioncontentparttextparam.ts +++ b/src/models/chatcompletioncontentparttextparam.ts @@ -7,6 +7,9 @@ import { safeParse } from "../lib/schemas.js"; import { Result as SafeParseResult } from "../types/fp.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; +/** + * Learn about [text inputs](https://platform.openai.com/docs/guides/text-generation). + */ export type ChatCompletionContentPartTextParam = { text: string; type: "text"; diff --git a/src/models/chatcompletioncustomtoolparam.ts b/src/models/chatcompletioncustomtoolparam.ts index 297e9cd..53ec79f 100644 --- a/src/models/chatcompletioncustomtoolparam.ts +++ b/src/models/chatcompletioncustomtoolparam.ts @@ -13,7 +13,13 @@ import { OpenaiTypesChatChatCompletionCustomToolParamCustom$outboundSchema, } from "./openaitypeschatchatcompletioncustomtoolparamcustom.js"; +/** + * A custom tool that processes input using a specified format. + */ export type ChatCompletionCustomToolParam = { + /** + * Properties of the custom tool. + */ custom: OpenaiTypesChatChatCompletionCustomToolParamCustom; type: "custom"; }; diff --git a/src/models/chatcompletiondevelopermessageparam.ts b/src/models/chatcompletiondevelopermessageparam.ts index 3e8f738..582ed4c 100644 --- a/src/models/chatcompletiondevelopermessageparam.ts +++ b/src/models/chatcompletiondevelopermessageparam.ts @@ -17,6 +17,13 @@ export type ChatCompletionDeveloperMessageParamContent = | string | Array; +/** + * Developer-provided instructions that the model should follow, regardless of + * + * @remarks + * messages sent by the user. With o1 models and newer, `developer` messages + * replace the previous `system` messages. + */ export type ChatCompletionDeveloperMessageParam = { content: string | Array; role: "developer"; diff --git a/src/models/chatcompletionfunctioncalloptionparam.ts b/src/models/chatcompletionfunctioncalloptionparam.ts index 56fbf8e..bebae7f 100644 --- a/src/models/chatcompletionfunctioncalloptionparam.ts +++ b/src/models/chatcompletionfunctioncalloptionparam.ts @@ -7,6 +7,9 @@ import { safeParse } from "../lib/schemas.js"; import { Result as SafeParseResult } from "../types/fp.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; +/** + * Specifying a particular function via `{"name": "my_function"}` forces the model to call that function. + */ export type ChatCompletionFunctionCallOptionParam = { name: string; }; diff --git a/src/models/chatcompletionfunctiontoolparam.ts b/src/models/chatcompletionfunctiontoolparam.ts index 9528caa..45e4649 100644 --- a/src/models/chatcompletionfunctiontoolparam.ts +++ b/src/models/chatcompletionfunctiontoolparam.ts @@ -13,6 +13,9 @@ import { FunctionDefinition$outboundSchema, } from "./functiondefinition.js"; +/** + * A function tool that can be used to generate a response. + */ export type ChatCompletionFunctionToolParam = { function: FunctionDefinition; type: "function"; diff --git a/src/models/chatcompletionmessage.ts b/src/models/chatcompletionmessage.ts index cd85096..63b0509 100644 --- a/src/models/chatcompletionmessage.ts +++ b/src/models/chatcompletionmessage.ts @@ -45,6 +45,9 @@ export type ChatCompletionMessageToolCall = | ChatCompletionMessageFunctionToolCall | ChatCompletionMessageCustomToolCall; +/** + * A chat completion message generated by the model. + */ export type ChatCompletionMessage = { content?: string | null | undefined; refusal?: string | null | undefined; diff --git a/src/models/chatcompletionmessagecustomtoolcall.ts b/src/models/chatcompletionmessagecustomtoolcall.ts index c9b7a1e..2d473f7 100644 --- a/src/models/chatcompletionmessagecustomtoolcall.ts +++ b/src/models/chatcompletionmessagecustomtoolcall.ts @@ -17,8 +17,14 @@ import { } from "./customoutput.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; +/** + * A call to a custom tool created by the model. + */ export type ChatCompletionMessageCustomToolCall = { id: string; + /** + * The custom tool that the model called. + */ custom: CustomOutput; type: "custom"; additionalProperties?: { [k: string]: any } | undefined; diff --git a/src/models/chatcompletionmessagecustomtoolcallparam.ts b/src/models/chatcompletionmessagecustomtoolcallparam.ts index 9fa8e1a..66ee754 100644 --- a/src/models/chatcompletionmessagecustomtoolcallparam.ts +++ b/src/models/chatcompletionmessagecustomtoolcallparam.ts @@ -13,8 +13,14 @@ import { OpenaiTypesChatChatCompletionMessageCustomToolCallParamCustom$outboundSchema, } from "./openaitypeschatchatcompletionmessagecustomtoolcallparamcustom.js"; +/** + * A call to a custom tool created by the model. + */ export type ChatCompletionMessageCustomToolCallParam = { id: string; + /** + * The custom tool that the model called. + */ custom: OpenaiTypesChatChatCompletionMessageCustomToolCallParamCustom; type: "custom"; }; diff --git a/src/models/chatcompletionmessagefunctiontoolcall.ts b/src/models/chatcompletionmessagefunctiontoolcall.ts index ed6beaa..7c258c7 100644 --- a/src/models/chatcompletionmessagefunctiontoolcall.ts +++ b/src/models/chatcompletionmessagefunctiontoolcall.ts @@ -17,8 +17,14 @@ import { FunctionOutput$outboundSchema, } from "./functionoutput.js"; +/** + * A call to a function tool created by the model. + */ export type ChatCompletionMessageFunctionToolCall = { id: string; + /** + * The function that the model called. + */ function: FunctionOutput; type: "function"; additionalProperties?: { [k: string]: any } | undefined; diff --git a/src/models/chatcompletionmessagefunctiontoolcallparam.ts b/src/models/chatcompletionmessagefunctiontoolcallparam.ts index bc146a1..3145fe3 100644 --- a/src/models/chatcompletionmessagefunctiontoolcallparam.ts +++ b/src/models/chatcompletionmessagefunctiontoolcallparam.ts @@ -13,8 +13,14 @@ import { OpenaiTypesChatChatCompletionMessageFunctionToolCallParamFunction$outboundSchema, } from "./openaitypeschatchatcompletionmessagefunctiontoolcallparamfunction.js"; +/** + * A call to a function tool created by the model. + */ export type ChatCompletionMessageFunctionToolCallParam = { id: string; + /** + * The function that the model called. + */ function: OpenaiTypesChatChatCompletionMessageFunctionToolCallParamFunction; type: "function"; }; diff --git a/src/models/chatcompletionnamedtoolchoicecustomparam.ts b/src/models/chatcompletionnamedtoolchoicecustomparam.ts index b1a1b11..fffd835 100644 --- a/src/models/chatcompletionnamedtoolchoicecustomparam.ts +++ b/src/models/chatcompletionnamedtoolchoicecustomparam.ts @@ -13,6 +13,13 @@ import { OpenaiTypesChatChatCompletionNamedToolChoiceCustomParamCustom$outboundSchema, } from "./openaitypeschatchatcompletionnamedtoolchoicecustomparamcustom.js"; +/** + * Specifies a tool the model should use. + * + * @remarks + * + * Use to force the model to call a specific custom tool. + */ export type ChatCompletionNamedToolChoiceCustomParam = { custom: OpenaiTypesChatChatCompletionNamedToolChoiceCustomParamCustom; type: "custom"; diff --git a/src/models/chatcompletionnamedtoolchoiceparam.ts b/src/models/chatcompletionnamedtoolchoiceparam.ts index 18f7b03..c6bdadc 100644 --- a/src/models/chatcompletionnamedtoolchoiceparam.ts +++ b/src/models/chatcompletionnamedtoolchoiceparam.ts @@ -13,6 +13,13 @@ import { OpenaiTypesChatChatCompletionNamedToolChoiceParamFunction$outboundSchema, } from "./openaitypeschatchatcompletionnamedtoolchoiceparamfunction.js"; +/** + * Specifies a tool the model should use. + * + * @remarks + * + * Use to force the model to call a specific function. + */ export type ChatCompletionNamedToolChoiceParam = { function: OpenaiTypesChatChatCompletionNamedToolChoiceParamFunction; type: "function"; diff --git a/src/models/chatcompletionnonstreaming.ts b/src/models/chatcompletionnonstreaming.ts index ea68bd8..cc2a8e3 100644 --- a/src/models/chatcompletionnonstreaming.ts +++ b/src/models/chatcompletionnonstreaming.ts @@ -163,11 +163,21 @@ export type ChatCompletionNonStreamingModality = ClosedEnum< typeof ChatCompletionNonStreamingModality >; +export const ChatCompletionNonStreamingPromptCacheRetention = { + InMemory: "in-memory", + TwentyFourh: "24h", +} as const; +export type ChatCompletionNonStreamingPromptCacheRetention = ClosedEnum< + typeof ChatCompletionNonStreamingPromptCacheRetention +>; + export const ChatCompletionNonStreamingReasoningEffort = { + None: "none", Minimal: "minimal", Low: "low", Medium: "medium", High: "high", + Xhigh: "xhigh", } as const; export type ChatCompletionNonStreamingReasoningEffort = ClosedEnum< typeof ChatCompletionNonStreamingReasoningEffort @@ -247,6 +257,10 @@ export type ChatCompletionNonStreaming = { prediction?: ChatCompletionPredictionContentParam | null | undefined; presencePenalty?: number | null | undefined; promptCacheKey?: string | undefined; + promptCacheRetention?: + | ChatCompletionNonStreamingPromptCacheRetention + | null + | undefined; reasoningEffort?: | ChatCompletionNonStreamingReasoningEffort | null @@ -276,6 +290,12 @@ export type ChatCompletionNonStreaming = { topP?: number | null | undefined; user?: string | undefined; verbosity?: ChatCompletionNonStreamingVerbosity | null | undefined; + /** + * This tool searches the web for relevant results to use in a response. + * + * @remarks + * Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search?api-mode=chat). + */ webSearchOptions?: WebSearchOptions | undefined; stream?: false | null | undefined; tags?: { [k: string]: any } | null | undefined; @@ -407,6 +427,15 @@ export const ChatCompletionNonStreamingModality$outboundSchema: z.ZodNativeEnum< typeof ChatCompletionNonStreamingModality > = ChatCompletionNonStreamingModality$inboundSchema; +/** @internal */ +export const ChatCompletionNonStreamingPromptCacheRetention$inboundSchema: + z.ZodNativeEnum = z + .nativeEnum(ChatCompletionNonStreamingPromptCacheRetention); +/** @internal */ +export const ChatCompletionNonStreamingPromptCacheRetention$outboundSchema: + z.ZodNativeEnum = + ChatCompletionNonStreamingPromptCacheRetention$inboundSchema; + /** @internal */ export const ChatCompletionNonStreamingReasoningEffort$inboundSchema: z.ZodNativeEnum = z @@ -672,6 +701,9 @@ export const ChatCompletionNonStreaming$inboundSchema: z.ZodType< .optional(), presence_penalty: z.nullable(z.number()).optional(), prompt_cache_key: z.string().optional(), + prompt_cache_retention: z.nullable( + ChatCompletionNonStreamingPromptCacheRetention$inboundSchema, + ).optional(), reasoning_effort: z.nullable( ChatCompletionNonStreamingReasoningEffort$inboundSchema, ).optional(), @@ -720,6 +752,7 @@ export const ChatCompletionNonStreaming$inboundSchema: z.ZodType< "parallel_tool_calls": "parallelToolCalls", "presence_penalty": "presencePenalty", "prompt_cache_key": "promptCacheKey", + "prompt_cache_retention": "promptCacheRetention", "reasoning_effort": "reasoningEffort", "response_format": "responseFormat", "safety_identifier": "safetyIdentifier", @@ -763,6 +796,7 @@ export type ChatCompletionNonStreaming$Outbound = { prediction?: ChatCompletionPredictionContentParam$Outbound | null | undefined; presence_penalty?: number | null | undefined; prompt_cache_key?: string | undefined; + prompt_cache_retention?: string | null | undefined; reasoning_effort?: string | null | undefined; response_format?: | ResponseFormatText$Outbound @@ -838,6 +872,9 @@ export const ChatCompletionNonStreaming$outboundSchema: z.ZodType< .optional(), presencePenalty: z.nullable(z.number()).optional(), promptCacheKey: z.string().optional(), + promptCacheRetention: z.nullable( + ChatCompletionNonStreamingPromptCacheRetention$outboundSchema, + ).optional(), reasoningEffort: z.nullable( ChatCompletionNonStreamingReasoningEffort$outboundSchema, ).optional(), @@ -886,6 +923,7 @@ export const ChatCompletionNonStreaming$outboundSchema: z.ZodType< parallelToolCalls: "parallel_tool_calls", presencePenalty: "presence_penalty", promptCacheKey: "prompt_cache_key", + promptCacheRetention: "prompt_cache_retention", reasoningEffort: "reasoning_effort", responseFormat: "response_format", safetyIdentifier: "safety_identifier", diff --git a/src/models/chatcompletionpredictioncontentparam.ts b/src/models/chatcompletionpredictioncontentparam.ts index 742bedf..7b1b240 100644 --- a/src/models/chatcompletionpredictioncontentparam.ts +++ b/src/models/chatcompletionpredictioncontentparam.ts @@ -17,6 +17,12 @@ export type ChatCompletionPredictionContentParamContent = | string | Array; +/** + * Static predicted output content, such as the content of a text file that is + * + * @remarks + * being regenerated. + */ export type ChatCompletionPredictionContentParam = { content: string | Array; type: "content"; diff --git a/src/models/chatcompletionstreaming.ts b/src/models/chatcompletionstreaming.ts index cdbbf51..8dca463 100644 --- a/src/models/chatcompletionstreaming.ts +++ b/src/models/chatcompletionstreaming.ts @@ -163,11 +163,21 @@ export type ChatCompletionStreamingModality = ClosedEnum< typeof ChatCompletionStreamingModality >; +export const ChatCompletionStreamingPromptCacheRetention = { + InMemory: "in-memory", + TwentyFourh: "24h", +} as const; +export type ChatCompletionStreamingPromptCacheRetention = ClosedEnum< + typeof ChatCompletionStreamingPromptCacheRetention +>; + export const ChatCompletionStreamingReasoningEffort = { + None: "none", Minimal: "minimal", Low: "low", Medium: "medium", High: "high", + Xhigh: "xhigh", } as const; export type ChatCompletionStreamingReasoningEffort = ClosedEnum< typeof ChatCompletionStreamingReasoningEffort @@ -247,6 +257,10 @@ export type ChatCompletionStreaming = { prediction?: ChatCompletionPredictionContentParam | null | undefined; presencePenalty?: number | null | undefined; promptCacheKey?: string | undefined; + promptCacheRetention?: + | ChatCompletionStreamingPromptCacheRetention + | null + | undefined; reasoningEffort?: ChatCompletionStreamingReasoningEffort | null | undefined; responseFormat?: | ResponseFormatText @@ -273,6 +287,12 @@ export type ChatCompletionStreaming = { topP?: number | null | undefined; user?: string | undefined; verbosity?: ChatCompletionStreamingVerbosity | null | undefined; + /** + * This tool searches the web for relevant results to use in a response. + * + * @remarks + * Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search?api-mode=chat). + */ webSearchOptions?: WebSearchOptions | undefined; stream: true; tags?: { [k: string]: any } | null | undefined; @@ -402,6 +422,15 @@ export const ChatCompletionStreamingModality$outboundSchema: z.ZodNativeEnum< typeof ChatCompletionStreamingModality > = ChatCompletionStreamingModality$inboundSchema; +/** @internal */ +export const ChatCompletionStreamingPromptCacheRetention$inboundSchema: + z.ZodNativeEnum = z + .nativeEnum(ChatCompletionStreamingPromptCacheRetention); +/** @internal */ +export const ChatCompletionStreamingPromptCacheRetention$outboundSchema: + z.ZodNativeEnum = + ChatCompletionStreamingPromptCacheRetention$inboundSchema; + /** @internal */ export const ChatCompletionStreamingReasoningEffort$inboundSchema: z.ZodNativeEnum = z.nativeEnum( @@ -655,6 +684,9 @@ export const ChatCompletionStreaming$inboundSchema: z.ZodType< .optional(), presence_penalty: z.nullable(z.number()).optional(), prompt_cache_key: z.string().optional(), + prompt_cache_retention: z.nullable( + ChatCompletionStreamingPromptCacheRetention$inboundSchema, + ).optional(), reasoning_effort: z.nullable( ChatCompletionStreamingReasoningEffort$inboundSchema, ).optional(), @@ -703,6 +735,7 @@ export const ChatCompletionStreaming$inboundSchema: z.ZodType< "parallel_tool_calls": "parallelToolCalls", "presence_penalty": "presencePenalty", "prompt_cache_key": "promptCacheKey", + "prompt_cache_retention": "promptCacheRetention", "reasoning_effort": "reasoningEffort", "response_format": "responseFormat", "safety_identifier": "safetyIdentifier", @@ -746,6 +779,7 @@ export type ChatCompletionStreaming$Outbound = { prediction?: ChatCompletionPredictionContentParam$Outbound | null | undefined; presence_penalty?: number | null | undefined; prompt_cache_key?: string | undefined; + prompt_cache_retention?: string | null | undefined; reasoning_effort?: string | null | undefined; response_format?: | ResponseFormatText$Outbound @@ -821,6 +855,9 @@ export const ChatCompletionStreaming$outboundSchema: z.ZodType< .optional(), presencePenalty: z.nullable(z.number()).optional(), promptCacheKey: z.string().optional(), + promptCacheRetention: z.nullable( + ChatCompletionStreamingPromptCacheRetention$outboundSchema, + ).optional(), reasoningEffort: z.nullable( ChatCompletionStreamingReasoningEffort$outboundSchema, ).optional(), @@ -869,6 +906,7 @@ export const ChatCompletionStreaming$outboundSchema: z.ZodType< parallelToolCalls: "parallel_tool_calls", presencePenalty: "presence_penalty", promptCacheKey: "prompt_cache_key", + promptCacheRetention: "prompt_cache_retention", reasoningEffort: "reasoning_effort", responseFormat: "response_format", safetyIdentifier: "safety_identifier", diff --git a/src/models/chatcompletionstreamoptionsparam.ts b/src/models/chatcompletionstreamoptionsparam.ts index 879167b..226ba9c 100644 --- a/src/models/chatcompletionstreamoptionsparam.ts +++ b/src/models/chatcompletionstreamoptionsparam.ts @@ -8,6 +8,9 @@ import { safeParse } from "../lib/schemas.js"; import { Result as SafeParseResult } from "../types/fp.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; +/** + * Options for streaming response. Only set this when you set `stream: true`. + */ export type ChatCompletionStreamOptionsParam = { includeObfuscation?: boolean | undefined; includeUsage?: boolean | undefined; diff --git a/src/models/chatcompletionsystemmessageparam.ts b/src/models/chatcompletionsystemmessageparam.ts index 783b501..57acb7f 100644 --- a/src/models/chatcompletionsystemmessageparam.ts +++ b/src/models/chatcompletionsystemmessageparam.ts @@ -17,6 +17,13 @@ export type ChatCompletionSystemMessageParamContent = | string | Array; +/** + * Developer-provided instructions that the model should follow, regardless of + * + * @remarks + * messages sent by the user. With o1 models and newer, use `developer` messages + * for this purpose instead. + */ export type ChatCompletionSystemMessageParam = { content: string | Array; role: "system"; diff --git a/src/models/chatcompletionusermessageparam.ts b/src/models/chatcompletionusermessageparam.ts index 909ae30..8c17b41 100644 --- a/src/models/chatcompletionusermessageparam.ts +++ b/src/models/chatcompletionusermessageparam.ts @@ -46,6 +46,12 @@ export type ChatCompletionUserMessageParamContent2 = | FileT >; +/** + * Messages sent by an end user, containing prompts or additional context + * + * @remarks + * information. + */ export type ChatCompletionUserMessageParam = { content: | string diff --git a/src/models/choice.ts b/src/models/choice.ts index bfae543..bf450e7 100644 --- a/src/models/choice.ts +++ b/src/models/choice.ts @@ -37,6 +37,9 @@ export type Choice = { finishReason: FinishReason; index: number; logprobs?: ChoiceLogprobs | null | undefined; + /** + * A chat completion message generated by the model. + */ message: ChatCompletionMessage; additionalProperties?: { [k: string]: any } | undefined; }; diff --git a/src/models/choicelogprobs.ts b/src/models/choicelogprobs.ts index 9dbb1ab..a6246cc 100644 --- a/src/models/choicelogprobs.ts +++ b/src/models/choicelogprobs.ts @@ -17,6 +17,9 @@ import { } from "./chatcompletiontokenlogprob.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; +/** + * Log probability information for the choice. + */ export type ChoiceLogprobs = { content?: Array | null | undefined; refusal?: Array | null | undefined; diff --git a/src/models/completiontokensdetails.ts b/src/models/completiontokensdetails.ts index f3deeb2..4e57c87 100644 --- a/src/models/completiontokensdetails.ts +++ b/src/models/completiontokensdetails.ts @@ -11,6 +11,9 @@ import { import { Result as SafeParseResult } from "../types/fp.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; +/** + * Breakdown of tokens used in a completion. + */ export type CompletionTokensDetails = { acceptedPredictionTokens?: number | null | undefined; audioTokens?: number | null | undefined; diff --git a/src/models/completionusage.ts b/src/models/completionusage.ts index 29befa9..6afb747 100644 --- a/src/models/completionusage.ts +++ b/src/models/completionusage.ts @@ -23,6 +23,9 @@ import { PromptTokensDetails$outboundSchema, } from "./prompttokensdetails.js"; +/** + * Usage statistics for the completion request. + */ export type CompletionUsage = { completionTokens: number; promptTokens: number; diff --git a/src/models/createfunctionresponse.ts b/src/models/createfunctionresponse.ts index 92be482..9c69b94 100644 --- a/src/models/createfunctionresponse.ts +++ b/src/models/createfunctionresponse.ts @@ -62,6 +62,10 @@ export type CreateFunctionResponse = { * Whether the observer is enabled for this function. When enabled, the observer monitors and evaluates all generations. */ observerEnabled?: boolean | undefined; + /** + * Whether this function has been executed through the v3 API + */ + isV3?: boolean | undefined; }; /** @internal */ @@ -81,7 +85,8 @@ export const CreateFunctionResponse$inboundSchema: z.ZodType< id: z.string(), dataset_id: z.nullable(z.string()).optional(), revision_id: z.nullable(z.string()).optional(), - observer_enabled: z.boolean().default(true), + observer_enabled: z.boolean().default(false), + is_v3: z.boolean().default(false), }).transform((v) => { return remap$(v, { "input_schema": "inputSchema", @@ -89,6 +94,7 @@ export const CreateFunctionResponse$inboundSchema: z.ZodType< "dataset_id": "datasetId", "revision_id": "revisionId", "observer_enabled": "observerEnabled", + "is_v3": "isV3", }); }); /** @internal */ @@ -104,6 +110,7 @@ export type CreateFunctionResponse$Outbound = { dataset_id?: string | null | undefined; revision_id?: string | null | undefined; observer_enabled: boolean; + is_v3: boolean; }; /** @internal */ @@ -123,7 +130,8 @@ export const CreateFunctionResponse$outboundSchema: z.ZodType< id: z.string(), datasetId: z.nullable(z.string()).optional(), revisionId: z.nullable(z.string()).optional(), - observerEnabled: z.boolean().default(true), + observerEnabled: z.boolean().default(false), + isV3: z.boolean().default(false), }).transform((v) => { return remap$(v, { inputSchema: "input_schema", @@ -131,6 +139,7 @@ export const CreateFunctionResponse$outboundSchema: z.ZodType< datasetId: "dataset_id", revisionId: "revision_id", observerEnabled: "observer_enabled", + isV3: "is_v3", }); }); diff --git a/src/models/customformatgrammar.ts b/src/models/customformatgrammar.ts index 48bf703..f7da55c 100644 --- a/src/models/customformatgrammar.ts +++ b/src/models/customformatgrammar.ts @@ -13,7 +13,13 @@ import { } from "./customformatgrammargrammar.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; +/** + * A grammar defined by the user. + */ export type CustomFormatGrammar = { + /** + * Your chosen grammar. + */ grammar: CustomFormatGrammarGrammar; type: "grammar"; }; diff --git a/src/models/customformatgrammargrammar.ts b/src/models/customformatgrammargrammar.ts index edf7b0d..45e1cec 100644 --- a/src/models/customformatgrammargrammar.ts +++ b/src/models/customformatgrammargrammar.ts @@ -14,6 +14,9 @@ export const Syntax = { } as const; export type Syntax = ClosedEnum; +/** + * Your chosen grammar. + */ export type CustomFormatGrammarGrammar = { definition: string; syntax: Syntax; diff --git a/src/models/customformattext.ts b/src/models/customformattext.ts index 93b34d3..abe905b 100644 --- a/src/models/customformattext.ts +++ b/src/models/customformattext.ts @@ -7,6 +7,9 @@ import { safeParse } from "../lib/schemas.js"; import { Result as SafeParseResult } from "../types/fp.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; +/** + * Unconstrained free-form text. + */ export type CustomFormatText = { type: "text"; }; diff --git a/src/models/customoutput.ts b/src/models/customoutput.ts index 1395341..f6e9281 100644 --- a/src/models/customoutput.ts +++ b/src/models/customoutput.ts @@ -11,6 +11,9 @@ import { import { Result as SafeParseResult } from "../types/fp.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; +/** + * The custom tool that the model called. + */ export type CustomOutput = { input: string; name: string; diff --git a/src/models/doclingocrextra.ts b/src/models/doclingocrextra.ts new file mode 100644 index 0000000..b66e1c6 --- /dev/null +++ b/src/models/doclingocrextra.ts @@ -0,0 +1,125 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +import * as z from "zod/v3"; +import { remap as remap$ } from "../lib/primitives.js"; +import { safeParse } from "../lib/schemas.js"; +import { Result as SafeParseResult } from "../types/fp.js"; +import { SDKValidationError } from "./errors/sdkvalidationerror.js"; + +/** + * Docling-specific OCR parameters for document parsing with layout analysis. + */ +export type DoclingOCRExtra = { + /** + * Output format: 'markdown' (default) returns clean text with tables, 'json' includes bounding boxes and full document structure. + */ + outputFormat?: string | null | undefined; + /** + * OCR engine: null (auto-select, typically RapidOCR), 'easyocr' (good multilingual support), or 'tesseract' (fast, many languages). + */ + ocrEngine?: string | null | undefined; + /** + * OCR language(s) to recognise, as ISO 639-1 two-letter codes (e.g. 'sv', 'en', 'de', 'da', 'no', 'fi', 'is'). Opper maps these to the chosen engine internally, so the same codes work for any engine. Requires ocr_engine 'tesseract' or 'easyocr' (the auto/RapidOCR engine ignores it). Pass several for mixed-language documents. Note: 'fi' (Finnish) is only available with 'tesseract'. Defaults to the engine's own default (English) when omitted. + */ + lang?: Array | null | undefined; + /** + * Force OCR on all pages even if text is extractable. Useful for scanned PDFs with embedded but incorrect text layers. + */ + forceOcr?: boolean | null | undefined; + /** + * Table extraction mode: 'fast' (default) for speed, 'accurate' for complex tables with merged cells or nested structures. + */ + tableMode?: string | null | undefined; + /** + * Scale factor for extracted images. Default is 1.0. Use 2.0 or higher for better resolution (slower processing). + */ + imagesScale?: number | null | undefined; + /** + * Enable mathematical formula detection and LaTeX extraction. Equations are converted to LaTeX notation in the output. + */ + doFormulaEnrichment?: boolean | null | undefined; + /** + * Enable code block detection and formatting. Code snippets are wrapped in markdown code fences with language detection. + */ + doCodeEnrichment?: boolean | null | undefined; +}; + +/** @internal */ +export const DoclingOCRExtra$inboundSchema: z.ZodType< + DoclingOCRExtra, + z.ZodTypeDef, + unknown +> = z.object({ + output_format: z.nullable(z.string()).optional(), + ocr_engine: z.nullable(z.string()).optional(), + lang: z.nullable(z.array(z.string())).optional(), + force_ocr: z.nullable(z.boolean()).optional(), + table_mode: z.nullable(z.string()).optional(), + images_scale: z.nullable(z.number()).optional(), + do_formula_enrichment: z.nullable(z.boolean()).optional(), + do_code_enrichment: z.nullable(z.boolean()).optional(), +}).transform((v) => { + return remap$(v, { + "output_format": "outputFormat", + "ocr_engine": "ocrEngine", + "force_ocr": "forceOcr", + "table_mode": "tableMode", + "images_scale": "imagesScale", + "do_formula_enrichment": "doFormulaEnrichment", + "do_code_enrichment": "doCodeEnrichment", + }); +}); +/** @internal */ +export type DoclingOCRExtra$Outbound = { + output_format?: string | null | undefined; + ocr_engine?: string | null | undefined; + lang?: Array | null | undefined; + force_ocr?: boolean | null | undefined; + table_mode?: string | null | undefined; + images_scale?: number | null | undefined; + do_formula_enrichment?: boolean | null | undefined; + do_code_enrichment?: boolean | null | undefined; +}; + +/** @internal */ +export const DoclingOCRExtra$outboundSchema: z.ZodType< + DoclingOCRExtra$Outbound, + z.ZodTypeDef, + DoclingOCRExtra +> = z.object({ + outputFormat: z.nullable(z.string()).optional(), + ocrEngine: z.nullable(z.string()).optional(), + lang: z.nullable(z.array(z.string())).optional(), + forceOcr: z.nullable(z.boolean()).optional(), + tableMode: z.nullable(z.string()).optional(), + imagesScale: z.nullable(z.number()).optional(), + doFormulaEnrichment: z.nullable(z.boolean()).optional(), + doCodeEnrichment: z.nullable(z.boolean()).optional(), +}).transform((v) => { + return remap$(v, { + outputFormat: "output_format", + ocrEngine: "ocr_engine", + forceOcr: "force_ocr", + tableMode: "table_mode", + imagesScale: "images_scale", + doFormulaEnrichment: "do_formula_enrichment", + doCodeEnrichment: "do_code_enrichment", + }); +}); + +export function doclingOCRExtraToJSON( + doclingOCRExtra: DoclingOCRExtra, +): string { + return JSON.stringify(DoclingOCRExtra$outboundSchema.parse(doclingOCRExtra)); +} +export function doclingOCRExtraFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => DoclingOCRExtra$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'DoclingOCRExtra' from JSON`, + ); +} diff --git a/src/models/file.ts b/src/models/file.ts index 4013883..bfefaba 100644 --- a/src/models/file.ts +++ b/src/models/file.ts @@ -13,6 +13,9 @@ import { FileFile$outboundSchema, } from "./filefile.js"; +/** + * Learn about [file inputs](https://platform.openai.com/docs/guides/text) for text generation. + */ export type FileT = { file: FileFile; type: "file"; diff --git a/src/models/functioncallinput.ts b/src/models/functioncallinput.ts index 917172c..136c472 100644 --- a/src/models/functioncallinput.ts +++ b/src/models/functioncallinput.ts @@ -7,6 +7,13 @@ import { safeParse } from "../lib/schemas.js"; import { Result as SafeParseResult } from "../types/fp.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; +/** + * Deprecated and replaced by `tool_calls`. + * + * @remarks + * + * The name and arguments of a function that should be called, as generated by the model. + */ export type FunctionCallInput = { arguments: string; name: string; diff --git a/src/models/functioncalloutput.ts b/src/models/functioncalloutput.ts index 929ea76..3a95d41 100644 --- a/src/models/functioncalloutput.ts +++ b/src/models/functioncalloutput.ts @@ -11,6 +11,13 @@ import { import { Result as SafeParseResult } from "../types/fp.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; +/** + * Deprecated and replaced by `tool_calls`. + * + * @remarks + * + * The name and arguments of a function that should be called, as generated by the model. + */ export type FunctionCallOutput = { arguments: string; name: string; diff --git a/src/models/functionconfigresponse.ts b/src/models/functionconfigresponse.ts new file mode 100644 index 0000000..1090020 --- /dev/null +++ b/src/models/functionconfigresponse.ts @@ -0,0 +1,57 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +import * as z from "zod/v3"; +import { safeParse } from "../lib/schemas.js"; +import { Result as SafeParseResult } from "../types/fp.js"; +import { SDKValidationError } from "./errors/sdkvalidationerror.js"; +import { + SteeringConfig, + SteeringConfig$inboundSchema, + SteeringConfig$Outbound, + SteeringConfig$outboundSchema, +} from "./steeringconfig.js"; + +export type FunctionConfigResponse = { + steering?: SteeringConfig | undefined; +}; + +/** @internal */ +export const FunctionConfigResponse$inboundSchema: z.ZodType< + FunctionConfigResponse, + z.ZodTypeDef, + unknown +> = z.object({ + steering: SteeringConfig$inboundSchema.optional(), +}); +/** @internal */ +export type FunctionConfigResponse$Outbound = { + steering?: SteeringConfig$Outbound | undefined; +}; + +/** @internal */ +export const FunctionConfigResponse$outboundSchema: z.ZodType< + FunctionConfigResponse$Outbound, + z.ZodTypeDef, + FunctionConfigResponse +> = z.object({ + steering: SteeringConfig$outboundSchema.optional(), +}); + +export function functionConfigResponseToJSON( + functionConfigResponse: FunctionConfigResponse, +): string { + return JSON.stringify( + FunctionConfigResponse$outboundSchema.parse(functionConfigResponse), + ); +} +export function functionConfigResponseFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => FunctionConfigResponse$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'FunctionConfigResponse' from JSON`, + ); +} diff --git a/src/models/functionoutput.ts b/src/models/functionoutput.ts index 1b8bec5..dbb5265 100644 --- a/src/models/functionoutput.ts +++ b/src/models/functionoutput.ts @@ -11,6 +11,9 @@ import { import { Result as SafeParseResult } from "../types/fp.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; +/** + * The function that the model called. + */ export type FunctionOutput = { arguments: string; name: string; diff --git a/src/models/getcustommodelresponse.ts b/src/models/getcustommodelresponse.ts index 306d819..2d31a11 100644 --- a/src/models/getcustommodelresponse.ts +++ b/src/models/getcustommodelresponse.ts @@ -21,7 +21,15 @@ export type GetCustomModelResponse = { */ identifier: string; /** - * Extra metadata about the custom language model + * Provider name + */ + provider?: string | null | undefined; + /** + * Model type: llm, embedding, or image + */ + type?: string | null | undefined; + /** + * Provider-specific configuration */ extra?: { [k: string]: any } | undefined; }; @@ -35,6 +43,8 @@ export const GetCustomModelResponse$inboundSchema: z.ZodType< id: z.string(), name: z.string(), identifier: z.string(), + provider: z.nullable(z.string()).optional(), + type: z.nullable(z.string()).optional(), extra: z.record(z.any()).optional(), }); /** @internal */ @@ -42,6 +52,8 @@ export type GetCustomModelResponse$Outbound = { id: string; name: string; identifier: string; + provider?: string | null | undefined; + type?: string | null | undefined; extra?: { [k: string]: any } | undefined; }; @@ -54,6 +66,8 @@ export const GetCustomModelResponse$outboundSchema: z.ZodType< id: z.string(), name: z.string(), identifier: z.string(), + provider: z.nullable(z.string()).optional(), + type: z.nullable(z.string()).optional(), extra: z.record(z.any()).optional(), }); diff --git a/src/models/getfunctionresponse.ts b/src/models/getfunctionresponse.ts index f9b2c0f..3eeb5fc 100644 --- a/src/models/getfunctionresponse.ts +++ b/src/models/getfunctionresponse.ts @@ -62,6 +62,10 @@ export type GetFunctionResponse = { * Whether the observer is enabled for this function. When enabled, the observer monitors and evaluates all generations. */ observerEnabled?: boolean | undefined; + /** + * Whether this function has been executed through the v3 API + */ + isV3?: boolean | undefined; }; /** @internal */ @@ -81,7 +85,8 @@ export const GetFunctionResponse$inboundSchema: z.ZodType< id: z.string(), dataset_id: z.nullable(z.string()).optional(), revision_id: z.nullable(z.string()).optional(), - observer_enabled: z.boolean().default(true), + observer_enabled: z.boolean().default(false), + is_v3: z.boolean().default(false), }).transform((v) => { return remap$(v, { "input_schema": "inputSchema", @@ -89,6 +94,7 @@ export const GetFunctionResponse$inboundSchema: z.ZodType< "dataset_id": "datasetId", "revision_id": "revisionId", "observer_enabled": "observerEnabled", + "is_v3": "isV3", }); }); /** @internal */ @@ -104,6 +110,7 @@ export type GetFunctionResponse$Outbound = { dataset_id?: string | null | undefined; revision_id?: string | null | undefined; observer_enabled: boolean; + is_v3: boolean; }; /** @internal */ @@ -123,7 +130,8 @@ export const GetFunctionResponse$outboundSchema: z.ZodType< id: z.string(), datasetId: z.nullable(z.string()).optional(), revisionId: z.nullable(z.string()).optional(), - observerEnabled: z.boolean().default(true), + observerEnabled: z.boolean().default(false), + isV3: z.boolean().default(false), }).transform((v) => { return remap$(v, { inputSchema: "input_schema", @@ -131,6 +139,7 @@ export const GetFunctionResponse$outboundSchema: z.ZodType< datasetId: "dataset_id", revisionId: "revision_id", observerEnabled: "observer_enabled", + isV3: "is_v3", }); }); diff --git a/src/models/gettraceresponse.ts b/src/models/gettraceresponse.ts index 7ff07dc..7add03f 100644 --- a/src/models/gettraceresponse.ts +++ b/src/models/gettraceresponse.ts @@ -51,6 +51,22 @@ export type GetTraceResponse = { * The total tokens of the trace */ totalTokens?: number | null | undefined; + /** + * Total number of spans in the trace + */ + spanCount?: number | null | undefined; + /** + * Number of LLM generation spans in the trace + */ + generationCount?: number | null | undefined; + /** + * Number of tool/function call spans in the trace + */ + toolCount?: number | null | undefined; + /** + * Whether any span in the trace has an error + */ + hasError?: boolean | null | undefined; /** * The spans of the trace */ @@ -76,6 +92,10 @@ export const GetTraceResponse$inboundSchema: z.ZodType< input: z.nullable(z.string()).optional(), output: z.nullable(z.string()).optional(), total_tokens: z.nullable(z.number().int()).optional(), + span_count: z.nullable(z.number().int()).optional(), + generation_count: z.nullable(z.number().int()).optional(), + tool_count: z.nullable(z.number().int()).optional(), + has_error: z.nullable(z.boolean()).optional(), spans: z.nullable(z.array(SpanSchema$inboundSchema)).optional(), }).transform((v) => { return remap$(v, { @@ -83,6 +103,10 @@ export const GetTraceResponse$inboundSchema: z.ZodType< "end_time": "endTime", "duration_ms": "durationMs", "total_tokens": "totalTokens", + "span_count": "spanCount", + "generation_count": "generationCount", + "tool_count": "toolCount", + "has_error": "hasError", }); }); /** @internal */ @@ -96,6 +120,10 @@ export type GetTraceResponse$Outbound = { input?: string | null | undefined; output?: string | null | undefined; total_tokens?: number | null | undefined; + span_count?: number | null | undefined; + generation_count?: number | null | undefined; + tool_count?: number | null | undefined; + has_error?: boolean | null | undefined; spans?: Array | null | undefined; }; @@ -114,6 +142,10 @@ export const GetTraceResponse$outboundSchema: z.ZodType< input: z.nullable(z.string()).optional(), output: z.nullable(z.string()).optional(), totalTokens: z.nullable(z.number().int()).optional(), + spanCount: z.nullable(z.number().int()).optional(), + generationCount: z.nullable(z.number().int()).optional(), + toolCount: z.nullable(z.number().int()).optional(), + hasError: z.nullable(z.boolean()).optional(), spans: z.nullable(z.array(SpanSchema$outboundSchema)).optional(), }).transform((v) => { return remap$(v, { @@ -121,6 +153,10 @@ export const GetTraceResponse$outboundSchema: z.ZodType< endTime: "end_time", durationMs: "duration_ms", totalTokens: "total_tokens", + spanCount: "span_count", + generationCount: "generation_count", + toolCount: "tool_count", + hasError: "has_error", }); }); diff --git a/src/models/index.ts b/src/models/index.ts index 60b3a6a..19be66e 100644 --- a/src/models/index.ts +++ b/src/models/index.ts @@ -65,6 +65,7 @@ export * from "./customformattext.js"; export * from "./customoutput.js"; export * from "./deleteknowledgebaserequest.js"; export * from "./deleteknowledgebaseresponse.js"; +export * from "./doclingocrextra.js"; export * from "./documentsegment.js"; export * from "./example.js"; export * from "./examplein.js"; @@ -77,6 +78,7 @@ export * from "./functioncallconfigurationinput.js"; export * from "./functioncallconfigurationoutput.js"; export * from "./functioncallinput.js"; export * from "./functioncalloutput.js"; +export * from "./functionconfigresponse.js"; export * from "./functiondefinition.js"; export * from "./functionoutput.js"; export * from "./getcustommodelresponse.js"; @@ -112,6 +114,7 @@ export * from "./model.js"; export * from "./ocrcost.js"; export * from "./ocrdocument.js"; export * from "./ocrpagedimensions.js"; +export * from "./ocrpageelement.js"; export * from "./ocrpageimage.js"; export * from "./ocrpageresult.js"; export * from "./ocrrequestmodel.js"; @@ -157,6 +160,7 @@ export * from "./security.js"; export * from "./spandata.js"; export * from "./spanmetricdata.js"; export * from "./spanschema.js"; +export * from "./steeringconfig.js"; export * from "./submitfeedbackrequest.js"; export * from "./submitfeedbackresponse.js"; export * from "./textprocessingconfiguration.js"; diff --git a/src/models/jsonschema.ts b/src/models/jsonschema.ts index 670b729..3073f39 100644 --- a/src/models/jsonschema.ts +++ b/src/models/jsonschema.ts @@ -7,6 +7,9 @@ import { safeParse } from "../lib/schemas.js"; import { Result as SafeParseResult } from "../types/fp.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; +/** + * Structured Outputs configuration options, including a JSON Schema. + */ export type JSONSchema = { name: string; description?: string | undefined; diff --git a/src/models/listcustommodelsresponseitem.ts b/src/models/listcustommodelsresponseitem.ts index ffd7213..242d908 100644 --- a/src/models/listcustommodelsresponseitem.ts +++ b/src/models/listcustommodelsresponseitem.ts @@ -21,7 +21,15 @@ export type ListCustomModelsResponseItem = { */ identifier: string; /** - * Extra metadata about the custom language model + * Provider name + */ + provider?: string | null | undefined; + /** + * Model type: llm, embedding, or image + */ + type?: string | null | undefined; + /** + * Provider-specific configuration */ extra?: { [k: string]: any } | undefined; }; @@ -35,6 +43,8 @@ export const ListCustomModelsResponseItem$inboundSchema: z.ZodType< id: z.string(), name: z.string(), identifier: z.string(), + provider: z.nullable(z.string()).optional(), + type: z.nullable(z.string()).optional(), extra: z.record(z.any()).optional(), }); /** @internal */ @@ -42,6 +52,8 @@ export type ListCustomModelsResponseItem$Outbound = { id: string; name: string; identifier: string; + provider?: string | null | undefined; + type?: string | null | undefined; extra?: { [k: string]: any } | undefined; }; @@ -54,6 +66,8 @@ export const ListCustomModelsResponseItem$outboundSchema: z.ZodType< id: z.string(), name: z.string(), identifier: z.string(), + provider: z.nullable(z.string()).optional(), + type: z.nullable(z.string()).optional(), extra: z.record(z.any()).optional(), }); diff --git a/src/models/listfunctionsresponseitem.ts b/src/models/listfunctionsresponseitem.ts index 38b34ec..02f39f0 100644 --- a/src/models/listfunctionsresponseitem.ts +++ b/src/models/listfunctionsresponseitem.ts @@ -39,6 +39,10 @@ export type ListFunctionsResponseItem = { * The ID of the latest revision of the function */ revisionId: string; + /** + * Whether this function has been executed through the v3 API + */ + isV3?: boolean | undefined; }; /** @internal */ @@ -53,9 +57,11 @@ export const ListFunctionsResponseItem$inboundSchema: z.ZodType< instructions: z.nullable(z.string()).optional(), model: z.nullable(TModel$inboundSchema).optional(), revision_id: z.string(), + is_v3: z.boolean().default(false), }).transform((v) => { return remap$(v, { "revision_id": "revisionId", + "is_v3": "isV3", }); }); /** @internal */ @@ -66,6 +72,7 @@ export type ListFunctionsResponseItem$Outbound = { instructions?: string | null | undefined; model?: TModel$Outbound | null | undefined; revision_id: string; + is_v3: boolean; }; /** @internal */ @@ -80,9 +87,11 @@ export const ListFunctionsResponseItem$outboundSchema: z.ZodType< instructions: z.nullable(z.string()).optional(), model: z.nullable(TModel$outboundSchema).optional(), revisionId: z.string(), + isV3: z.boolean().default(false), }).transform((v) => { return remap$(v, { revisionId: "revision_id", + isV3: "is_v3", }); }); diff --git a/src/models/listtracesresponse.ts b/src/models/listtracesresponse.ts index dd810af..ee4aaf3 100644 --- a/src/models/listtracesresponse.ts +++ b/src/models/listtracesresponse.ts @@ -45,6 +45,22 @@ export type ListTracesResponse = { * The total tokens of the trace */ totalTokens?: number | null | undefined; + /** + * Total number of spans in the trace + */ + spanCount?: number | null | undefined; + /** + * Number of LLM generation spans in the trace + */ + generationCount?: number | null | undefined; + /** + * Number of tool/function call spans in the trace + */ + toolCount?: number | null | undefined; + /** + * Whether any span in the trace has an error + */ + hasError?: boolean | null | undefined; }; /** @internal */ @@ -66,12 +82,20 @@ export const ListTracesResponse$inboundSchema: z.ZodType< input: z.nullable(z.string()).optional(), output: z.nullable(z.string()).optional(), total_tokens: z.nullable(z.number().int()).optional(), + span_count: z.nullable(z.number().int()).optional(), + generation_count: z.nullable(z.number().int()).optional(), + tool_count: z.nullable(z.number().int()).optional(), + has_error: z.nullable(z.boolean()).optional(), }).transform((v) => { return remap$(v, { "start_time": "startTime", "end_time": "endTime", "duration_ms": "durationMs", "total_tokens": "totalTokens", + "span_count": "spanCount", + "generation_count": "generationCount", + "tool_count": "toolCount", + "has_error": "hasError", }); }); /** @internal */ @@ -85,6 +109,10 @@ export type ListTracesResponse$Outbound = { input?: string | null | undefined; output?: string | null | undefined; total_tokens?: number | null | undefined; + span_count?: number | null | undefined; + generation_count?: number | null | undefined; + tool_count?: number | null | undefined; + has_error?: boolean | null | undefined; }; /** @internal */ @@ -102,12 +130,20 @@ export const ListTracesResponse$outboundSchema: z.ZodType< input: z.nullable(z.string()).optional(), output: z.nullable(z.string()).optional(), totalTokens: z.nullable(z.number().int()).optional(), + spanCount: z.nullable(z.number().int()).optional(), + generationCount: z.nullable(z.number().int()).optional(), + toolCount: z.nullable(z.number().int()).optional(), + hasError: z.nullable(z.boolean()).optional(), }).transform((v) => { return remap$(v, { startTime: "start_time", endTime: "end_time", durationMs: "duration_ms", totalTokens: "total_tokens", + spanCount: "span_count", + generationCount: "generation_count", + toolCount: "tool_count", + hasError: "has_error", }); }); diff --git a/src/models/ocrpageelement.ts b/src/models/ocrpageelement.ts new file mode 100644 index 0000000..43e85c7 --- /dev/null +++ b/src/models/ocrpageelement.ts @@ -0,0 +1,81 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +import * as z from "zod/v3"; +import { safeParse } from "../lib/schemas.js"; +import { Result as SafeParseResult } from "../types/fp.js"; +import { SDKValidationError } from "./errors/sdkvalidationerror.js"; + +/** + * A document element with bounding box (returned in Docling JSON output mode). + */ +export type OCRPageElement = { + /** + * Element type: 'text', 'table', or 'picture' + */ + type: string; + /** + * Element label (e.g. 'title', 'section_header', 'page_header', 'page_footer', 'caption', 'footnote', 'formula', 'text') + */ + label?: string | null | undefined; + /** + * Text content (for text elements) + */ + text?: string | null | undefined; + /** + * Bounding box with l, t, r, b coordinates + */ + bbox?: { [k: string]: number } | null | undefined; + /** + * Table data as dictionary (for table elements) + */ + data?: { [k: string]: any } | null | undefined; +}; + +/** @internal */ +export const OCRPageElement$inboundSchema: z.ZodType< + OCRPageElement, + z.ZodTypeDef, + unknown +> = z.object({ + type: z.string(), + label: z.nullable(z.string()).optional(), + text: z.nullable(z.string()).optional(), + bbox: z.nullable(z.record(z.number())).optional(), + data: z.nullable(z.record(z.any())).optional(), +}); +/** @internal */ +export type OCRPageElement$Outbound = { + type: string; + label?: string | null | undefined; + text?: string | null | undefined; + bbox?: { [k: string]: number } | null | undefined; + data?: { [k: string]: any } | null | undefined; +}; + +/** @internal */ +export const OCRPageElement$outboundSchema: z.ZodType< + OCRPageElement$Outbound, + z.ZodTypeDef, + OCRPageElement +> = z.object({ + type: z.string(), + label: z.nullable(z.string()).optional(), + text: z.nullable(z.string()).optional(), + bbox: z.nullable(z.record(z.number())).optional(), + data: z.nullable(z.record(z.any())).optional(), +}); + +export function ocrPageElementToJSON(ocrPageElement: OCRPageElement): string { + return JSON.stringify(OCRPageElement$outboundSchema.parse(ocrPageElement)); +} +export function ocrPageElementFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => OCRPageElement$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'OCRPageElement' from JSON`, + ); +} diff --git a/src/models/ocrpageresult.ts b/src/models/ocrpageresult.ts index 5b3f3a8..a524fbd 100644 --- a/src/models/ocrpageresult.ts +++ b/src/models/ocrpageresult.ts @@ -12,6 +12,12 @@ import { OCRPageDimensions$Outbound, OCRPageDimensions$outboundSchema, } from "./ocrpagedimensions.js"; +import { + OCRPageElement, + OCRPageElement$inboundSchema, + OCRPageElement$Outbound, + OCRPageElement$outboundSchema, +} from "./ocrpageelement.js"; import { OCRPageImage, OCRPageImage$inboundSchema, @@ -39,6 +45,10 @@ export type OCRPageResult = { * Extracted images from the page */ images?: Array | null | undefined; + /** + * Document elements with bounding boxes and labels (only returned when using Docling with output_format='json') + */ + elements?: Array | null | undefined; }; /** @internal */ @@ -51,6 +61,7 @@ export const OCRPageResult$inboundSchema: z.ZodType< markdown: z.string(), dimensions: z.nullable(OCRPageDimensions$inboundSchema).optional(), images: z.nullable(z.array(OCRPageImage$inboundSchema)).optional(), + elements: z.nullable(z.array(OCRPageElement$inboundSchema)).optional(), }); /** @internal */ export type OCRPageResult$Outbound = { @@ -58,6 +69,7 @@ export type OCRPageResult$Outbound = { markdown: string; dimensions?: OCRPageDimensions$Outbound | null | undefined; images?: Array | null | undefined; + elements?: Array | null | undefined; }; /** @internal */ @@ -70,6 +82,7 @@ export const OCRPageResult$outboundSchema: z.ZodType< markdown: z.string(), dimensions: z.nullable(OCRPageDimensions$outboundSchema).optional(), images: z.nullable(z.array(OCRPageImage$outboundSchema)).optional(), + elements: z.nullable(z.array(OCRPageElement$outboundSchema)).optional(), }); export function ocrPageResultToJSON(ocrPageResult: OCRPageResult): string { diff --git a/src/models/ocrrequestmodel.ts b/src/models/ocrrequestmodel.ts index 1f2f7ab..3b42466 100644 --- a/src/models/ocrrequestmodel.ts +++ b/src/models/ocrrequestmodel.ts @@ -6,6 +6,12 @@ import * as z from "zod/v3"; import { remap as remap$ } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; import { Result as SafeParseResult } from "../types/fp.js"; +import { + DoclingOCRExtra, + DoclingOCRExtra$inboundSchema, + DoclingOCRExtra$Outbound, + DoclingOCRExtra$outboundSchema, +} from "./doclingocrextra.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; import { MistralOCRExtra, @@ -52,6 +58,10 @@ export type OCRRequestModel = { * Mistral-specific OCR parameters */ mistralExtra?: MistralOCRExtra | null | undefined; + /** + * Docling-specific OCR parameters (output_format, ocr_engine, force_ocr, table_mode, lang) + */ + doclingExtra?: DoclingOCRExtra | null | undefined; }; /** @internal */ @@ -67,12 +77,14 @@ export const OCRRequestModel$inboundSchema: z.ZodType< image_limit: z.nullable(z.number().int()).optional(), image_min_size: z.nullable(z.number().int()).optional(), mistral_extra: z.nullable(MistralOCRExtra$inboundSchema).optional(), + docling_extra: z.nullable(DoclingOCRExtra$inboundSchema).optional(), }).transform((v) => { return remap$(v, { "include_image_base64": "includeImageBase64", "image_limit": "imageLimit", "image_min_size": "imageMinSize", "mistral_extra": "mistralExtra", + "docling_extra": "doclingExtra", }); }); /** @internal */ @@ -84,6 +96,7 @@ export type OCRRequestModel$Outbound = { image_limit?: number | null | undefined; image_min_size?: number | null | undefined; mistral_extra?: MistralOCRExtra$Outbound | null | undefined; + docling_extra?: DoclingOCRExtra$Outbound | null | undefined; }; /** @internal */ @@ -99,12 +112,14 @@ export const OCRRequestModel$outboundSchema: z.ZodType< imageLimit: z.nullable(z.number().int()).optional(), imageMinSize: z.nullable(z.number().int()).optional(), mistralExtra: z.nullable(MistralOCRExtra$outboundSchema).optional(), + doclingExtra: z.nullable(DoclingOCRExtra$outboundSchema).optional(), }).transform((v) => { return remap$(v, { includeImageBase64: "include_image_base64", imageLimit: "image_limit", imageMinSize: "image_min_size", mistralExtra: "mistral_extra", + doclingExtra: "docling_extra", }); }); diff --git a/src/models/ocrusageinfo.ts b/src/models/ocrusageinfo.ts index ed29d10..7e77186 100644 --- a/src/models/ocrusageinfo.ts +++ b/src/models/ocrusageinfo.ts @@ -20,6 +20,18 @@ export type OCRUsageInfo = { * Size of the document in bytes */ docSizeBytes?: number | null | undefined; + /** + * Total processing time in seconds + */ + processingTimeSeconds?: number | null | undefined; + /** + * Average processing time per page in seconds + */ + timePerPageSeconds?: number | null | undefined; + /** + * Settings used for processing + */ + appliedSettings?: { [k: string]: any } | null | undefined; }; /** @internal */ @@ -30,16 +42,25 @@ export const OCRUsageInfo$inboundSchema: z.ZodType< > = z.object({ pages_processed: z.number().int(), doc_size_bytes: z.nullable(z.number().int()).optional(), + processing_time_seconds: z.nullable(z.number()).optional(), + time_per_page_seconds: z.nullable(z.number()).optional(), + applied_settings: z.nullable(z.record(z.any())).optional(), }).transform((v) => { return remap$(v, { "pages_processed": "pagesProcessed", "doc_size_bytes": "docSizeBytes", + "processing_time_seconds": "processingTimeSeconds", + "time_per_page_seconds": "timePerPageSeconds", + "applied_settings": "appliedSettings", }); }); /** @internal */ export type OCRUsageInfo$Outbound = { pages_processed: number; doc_size_bytes?: number | null | undefined; + processing_time_seconds?: number | null | undefined; + time_per_page_seconds?: number | null | undefined; + applied_settings?: { [k: string]: any } | null | undefined; }; /** @internal */ @@ -50,10 +71,16 @@ export const OCRUsageInfo$outboundSchema: z.ZodType< > = z.object({ pagesProcessed: z.number().int(), docSizeBytes: z.nullable(z.number().int()).optional(), + processingTimeSeconds: z.nullable(z.number()).optional(), + timePerPageSeconds: z.nullable(z.number()).optional(), + appliedSettings: z.nullable(z.record(z.any())).optional(), }).transform((v) => { return remap$(v, { pagesProcessed: "pages_processed", docSizeBytes: "doc_size_bytes", + processingTimeSeconds: "processing_time_seconds", + timePerPageSeconds: "time_per_page_seconds", + appliedSettings: "applied_settings", }); }); diff --git a/src/models/openaitypeschatchatcompletioncustomtoolparamcustom.ts b/src/models/openaitypeschatchatcompletioncustomtoolparamcustom.ts index b5b8319..e3a43fc 100644 --- a/src/models/openaitypeschatchatcompletioncustomtoolparamcustom.ts +++ b/src/models/openaitypeschatchatcompletioncustomtoolparamcustom.ts @@ -21,6 +21,9 @@ import { SDKValidationError } from "./errors/sdkvalidationerror.js"; export type Format = CustomFormatText | CustomFormatGrammar; +/** + * Properties of the custom tool. + */ export type OpenaiTypesChatChatCompletionCustomToolParamCustom = { name: string; description?: string | undefined; diff --git a/src/models/openaitypeschatchatcompletionmessagecustomtoolcallparamcustom.ts b/src/models/openaitypeschatchatcompletionmessagecustomtoolcallparamcustom.ts index c4ba71b..0177e70 100644 --- a/src/models/openaitypeschatchatcompletionmessagecustomtoolcallparamcustom.ts +++ b/src/models/openaitypeschatchatcompletionmessagecustomtoolcallparamcustom.ts @@ -7,6 +7,9 @@ import { safeParse } from "../lib/schemas.js"; import { Result as SafeParseResult } from "../types/fp.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; +/** + * The custom tool that the model called. + */ export type OpenaiTypesChatChatCompletionMessageCustomToolCallParamCustom = { input: string; name: string; diff --git a/src/models/openaitypeschatchatcompletionmessagefunctiontoolcallparamfunction.ts b/src/models/openaitypeschatchatcompletionmessagefunctiontoolcallparamfunction.ts index c404a07..afb7684 100644 --- a/src/models/openaitypeschatchatcompletionmessagefunctiontoolcallparamfunction.ts +++ b/src/models/openaitypeschatchatcompletionmessagefunctiontoolcallparamfunction.ts @@ -7,6 +7,9 @@ import { safeParse } from "../lib/schemas.js"; import { Result as SafeParseResult } from "../types/fp.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; +/** + * The function that the model called. + */ export type OpenaiTypesChatChatCompletionMessageFunctionToolCallParamFunction = { arguments: string; diff --git a/src/models/operations/functionstreamcallstreampost.ts b/src/models/operations/functionstreamcallstreampost.ts index 340283f..7c18598 100644 --- a/src/models/operations/functionstreamcallstreampost.ts +++ b/src/models/operations/functionstreamcallstreampost.ts @@ -213,7 +213,8 @@ export const FunctionStreamCallStreamPostResponseBody$inboundSchema: z.ZodType< > = z.object({ id: z.string().optional(), event: z.string().optional(), - data: z.string().transform((v, ctx) => { + data: z.unknown().transform((v, ctx) => { + if (typeof v !== "string") return v; try { return JSON.parse(v); } catch (err) { @@ -280,6 +281,7 @@ export const FunctionStreamCallStreamPostResponse$inboundSchema: z.ZodType< .transform(stream => { return new EventStream(stream, rawEvent => { return { + done: false, value: z.lazy(() => FunctionStreamCallStreamPostResponseBody$inboundSchema ).parse(rawEvent), diff --git a/src/models/operations/getfunctionconfigfunctionsfunctionidconfigget.ts b/src/models/operations/getfunctionconfigfunctionsfunctionidconfigget.ts new file mode 100644 index 0000000..722c6a5 --- /dev/null +++ b/src/models/operations/getfunctionconfigfunctionsfunctionidconfigget.ts @@ -0,0 +1,74 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +import * as z from "zod/v3"; +import { remap as remap$ } from "../../lib/primitives.js"; +import { safeParse } from "../../lib/schemas.js"; +import { Result as SafeParseResult } from "../../types/fp.js"; +import { SDKValidationError } from "../errors/sdkvalidationerror.js"; + +export type GetFunctionConfigFunctionsFunctionIdConfigGetRequest = { + /** + * The id of the function whose config to retrieve + */ + functionId: string; +}; + +/** @internal */ +export const GetFunctionConfigFunctionsFunctionIdConfigGetRequest$inboundSchema: + z.ZodType< + GetFunctionConfigFunctionsFunctionIdConfigGetRequest, + z.ZodTypeDef, + unknown + > = z.object({ + function_id: z.string(), + }).transform((v) => { + return remap$(v, { + "function_id": "functionId", + }); + }); +/** @internal */ +export type GetFunctionConfigFunctionsFunctionIdConfigGetRequest$Outbound = { + function_id: string; +}; + +/** @internal */ +export const GetFunctionConfigFunctionsFunctionIdConfigGetRequest$outboundSchema: + z.ZodType< + GetFunctionConfigFunctionsFunctionIdConfigGetRequest$Outbound, + z.ZodTypeDef, + GetFunctionConfigFunctionsFunctionIdConfigGetRequest + > = z.object({ + functionId: z.string(), + }).transform((v) => { + return remap$(v, { + functionId: "function_id", + }); + }); + +export function getFunctionConfigFunctionsFunctionIdConfigGetRequestToJSON( + getFunctionConfigFunctionsFunctionIdConfigGetRequest: + GetFunctionConfigFunctionsFunctionIdConfigGetRequest, +): string { + return JSON.stringify( + GetFunctionConfigFunctionsFunctionIdConfigGetRequest$outboundSchema.parse( + getFunctionConfigFunctionsFunctionIdConfigGetRequest, + ), + ); +} +export function getFunctionConfigFunctionsFunctionIdConfigGetRequestFromJSON( + jsonString: string, +): SafeParseResult< + GetFunctionConfigFunctionsFunctionIdConfigGetRequest, + SDKValidationError +> { + return safeParse( + jsonString, + (x) => + GetFunctionConfigFunctionsFunctionIdConfigGetRequest$inboundSchema.parse( + JSON.parse(x), + ), + `Failed to parse 'GetFunctionConfigFunctionsFunctionIdConfigGetRequest' from JSON`, + ); +} diff --git a/src/models/operations/index.ts b/src/models/operations/index.ts index f2cb907..1cd65f3 100644 --- a/src/models/operations/index.ts +++ b/src/models/operations/index.ts @@ -25,6 +25,7 @@ export * from "./getdocumentbykeyknowledgeknowledgebaseiddocumentsdocumentkeyget export * from "./getfiledownloadurlknowledgeknowledgebaseidfilesfileiddownloadurlget.js"; export * from "./getfunctionbynamefunctionsbynamenameget.js"; export * from "./getfunctionbyrevisionfunctionsfunctionidrevisionsrevisionidget.js"; +export * from "./getfunctionconfigfunctionsfunctionidconfigget.js"; export * from "./getfunctionfunctionsfunctionidget.js"; export * from "./getknowledgebasebynameknowledgebynameknowledgebasenameget.js"; export * from "./getknowledgebaseknowledgeknowledgebaseidget.js"; @@ -44,6 +45,7 @@ export * from "./listmetricsspansspanidmetricsget.js"; export * from "./listmodelaliasesmodelsaliasesget.js"; export * from "./listmodelsmodelsget.js"; export * from "./listtracestracesget.js"; +export * from "./putsteeringfunctionsfunctionidconfigsteeringput.js"; export * from "./querydatasetentriesdatasetsdatasetidentriesquerypost.js"; export * from "./queryknowledgebaseknowledgeknowledgebaseidquerypost.js"; export * from "./registerfileuploadknowledgeknowledgebaseidregisterfilepost.js"; diff --git a/src/models/operations/putsteeringfunctionsfunctionidconfigsteeringput.ts b/src/models/operations/putsteeringfunctionsfunctionidconfigsteeringput.ts new file mode 100644 index 0000000..158c595 --- /dev/null +++ b/src/models/operations/putsteeringfunctionsfunctionidconfigsteeringput.ts @@ -0,0 +1,80 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +import * as z from "zod/v3"; +import { remap as remap$ } from "../../lib/primitives.js"; +import { safeParse } from "../../lib/schemas.js"; +import { Result as SafeParseResult } from "../../types/fp.js"; +import { SDKValidationError } from "../errors/sdkvalidationerror.js"; +import * as models from "../index.js"; + +export type PutSteeringFunctionsFunctionIdConfigSteeringPutRequest = { + /** + * The id of the function whose steering config to update + */ + functionId: string; + steeringConfig: models.SteeringConfig; +}; + +/** @internal */ +export const PutSteeringFunctionsFunctionIdConfigSteeringPutRequest$inboundSchema: + z.ZodType< + PutSteeringFunctionsFunctionIdConfigSteeringPutRequest, + z.ZodTypeDef, + unknown + > = z.object({ + function_id: z.string(), + SteeringConfig: models.SteeringConfig$inboundSchema, + }).transform((v) => { + return remap$(v, { + "function_id": "functionId", + "SteeringConfig": "steeringConfig", + }); + }); +/** @internal */ +export type PutSteeringFunctionsFunctionIdConfigSteeringPutRequest$Outbound = { + function_id: string; + SteeringConfig: models.SteeringConfig$Outbound; +}; + +/** @internal */ +export const PutSteeringFunctionsFunctionIdConfigSteeringPutRequest$outboundSchema: + z.ZodType< + PutSteeringFunctionsFunctionIdConfigSteeringPutRequest$Outbound, + z.ZodTypeDef, + PutSteeringFunctionsFunctionIdConfigSteeringPutRequest + > = z.object({ + functionId: z.string(), + steeringConfig: models.SteeringConfig$outboundSchema, + }).transform((v) => { + return remap$(v, { + functionId: "function_id", + steeringConfig: "SteeringConfig", + }); + }); + +export function putSteeringFunctionsFunctionIdConfigSteeringPutRequestToJSON( + putSteeringFunctionsFunctionIdConfigSteeringPutRequest: + PutSteeringFunctionsFunctionIdConfigSteeringPutRequest, +): string { + return JSON.stringify( + PutSteeringFunctionsFunctionIdConfigSteeringPutRequest$outboundSchema.parse( + putSteeringFunctionsFunctionIdConfigSteeringPutRequest, + ), + ); +} +export function putSteeringFunctionsFunctionIdConfigSteeringPutRequestFromJSON( + jsonString: string, +): SafeParseResult< + PutSteeringFunctionsFunctionIdConfigSteeringPutRequest, + SDKValidationError +> { + return safeParse( + jsonString, + (x) => + PutSteeringFunctionsFunctionIdConfigSteeringPutRequest$inboundSchema + .parse(JSON.parse(x)), + `Failed to parse 'PutSteeringFunctionsFunctionIdConfigSteeringPutRequest' from JSON`, + ); +} diff --git a/src/models/operations/streamfunctionfunctionsfunctionidcallstreampost.ts b/src/models/operations/streamfunctionfunctionsfunctionidcallstreampost.ts index c5e2092..78867ee 100644 --- a/src/models/operations/streamfunctionfunctionsfunctionidcallstreampost.ts +++ b/src/models/operations/streamfunctionfunctionsfunctionidcallstreampost.ts @@ -199,7 +199,8 @@ export const StreamFunctionFunctionsFunctionIdCallStreamPostResponseBody$inbound > = z.object({ id: z.string().optional(), event: z.string().optional(), - data: z.string().transform((v, ctx) => { + data: z.unknown().transform((v, ctx) => { + if (typeof v !== "string") return v; try { return JSON.parse(v); } catch (err) { @@ -273,6 +274,7 @@ export const StreamFunctionFunctionsFunctionIdCallStreamPostResponse$inboundSche .transform(stream => { return new EventStream(stream, rawEvent => { return { + done: false, value: z.lazy(() => StreamFunctionFunctionsFunctionIdCallStreamPostResponseBody$inboundSchema ).parse(rawEvent), diff --git a/src/models/operations/streamfunctionrevisionfunctionsfunctionidcallstreamrevisionidpost.ts b/src/models/operations/streamfunctionrevisionfunctionsfunctionidcallstreamrevisionidpost.ts index e4a05ea..7d11907 100644 --- a/src/models/operations/streamfunctionrevisionfunctionsfunctionidcallstreamrevisionidpost.ts +++ b/src/models/operations/streamfunctionrevisionfunctionsfunctionidcallstreamrevisionidpost.ts @@ -215,7 +215,8 @@ export const StreamFunctionRevisionFunctionsFunctionIdCallStreamRevisionIdPostRe > = z.object({ id: z.string().optional(), event: z.string().optional(), - data: z.string().transform((v, ctx) => { + data: z.unknown().transform((v, ctx) => { + if (typeof v !== "string") return v; try { return JSON.parse(v); } catch (err) { @@ -292,6 +293,7 @@ export const StreamFunctionRevisionFunctionsFunctionIdCallStreamRevisionIdPostRe .transform(stream => { return new EventStream(stream, rawEvent => { return { + done: false, value: z.lazy(() => StreamFunctionRevisionFunctionsFunctionIdCallStreamRevisionIdPostResponseBody$inboundSchema ).parse(rawEvent), diff --git a/src/models/operations/usageanalyticsusageget.ts b/src/models/operations/usageanalyticsusageget.ts index 2315772..5053a5e 100644 --- a/src/models/operations/usageanalyticsusageget.ts +++ b/src/models/operations/usageanalyticsusageget.ts @@ -30,6 +30,10 @@ export type UsageAnalyticsUsageGetRequest = { * Fields from tags to group by */ groupBy?: Array | null | undefined; + /** + * If provided, narrow the result to events tagged with this session_id (set by the URL-session prefix /v3/session/). Useful for `opper launch` style accounting. + */ + sessionId?: string | null | undefined; }; /** @internal */ @@ -47,11 +51,13 @@ export const UsageAnalyticsUsageGetRequest$inboundSchema: z.ZodType< granularity: z.nullable(models.Granularity$inboundSchema).optional(), fields: z.nullable(z.array(z.string())).optional(), group_by: z.nullable(z.array(z.string())).optional(), + session_id: z.nullable(z.string()).optional(), }).transform((v) => { return remap$(v, { "from_date": "fromDate", "to_date": "toDate", "group_by": "groupBy", + "session_id": "sessionId", }); }); /** @internal */ @@ -61,6 +67,7 @@ export type UsageAnalyticsUsageGetRequest$Outbound = { granularity?: string | null | undefined; fields?: Array | null | undefined; group_by?: Array | null | undefined; + session_id?: string | null | undefined; }; /** @internal */ @@ -74,11 +81,13 @@ export const UsageAnalyticsUsageGetRequest$outboundSchema: z.ZodType< granularity: z.nullable(models.Granularity$outboundSchema).optional(), fields: z.nullable(z.array(z.string())).optional(), groupBy: z.nullable(z.array(z.string())).optional(), + sessionId: z.nullable(z.string()).optional(), }).transform((v) => { return remap$(v, { fromDate: "from_date", toDate: "to_date", groupBy: "group_by", + sessionId: "session_id", }); }); diff --git a/src/models/prompttokensdetails.ts b/src/models/prompttokensdetails.ts index d22c01a..2794855 100644 --- a/src/models/prompttokensdetails.ts +++ b/src/models/prompttokensdetails.ts @@ -11,6 +11,9 @@ import { import { Result as SafeParseResult } from "../types/fp.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; +/** + * Breakdown of tokens used in the prompt. + */ export type PromptTokensDetails = { audioTokens?: number | null | undefined; cachedTokens?: number | null | undefined; diff --git a/src/models/registercustommodelrequest.ts b/src/models/registercustommodelrequest.ts index dac0d09..5ab7163 100644 --- a/src/models/registercustommodelrequest.ts +++ b/src/models/registercustommodelrequest.ts @@ -14,15 +14,23 @@ export type RegisterCustomModelRequest = { */ name: string; /** - * The identifier of the custom language model + * The identifier of the custom language model (e.g. openai/gpt-4o, azure/gpt-5) */ identifier: string; /** - * Extra metadata about the custom language model + * Provider name (auto-detected from identifier if not specified) + */ + provider?: string | null | undefined; + /** + * Model type: 'llm' (default), 'embedding', or 'image' + */ + type?: string | null | undefined; + /** + * Provider-specific configuration (e.g. api_base, api_version, region) */ extra?: { [k: string]: any } | undefined; /** - * The API key of the custom language model + * The API key or credentials for the model */ apiKey?: string | null | undefined; }; @@ -35,6 +43,8 @@ export const RegisterCustomModelRequest$inboundSchema: z.ZodType< > = z.object({ name: z.string(), identifier: z.string(), + provider: z.nullable(z.string()).optional(), + type: z.nullable(z.string()).optional(), extra: z.record(z.any()).optional(), api_key: z.nullable(z.string()).optional(), }).transform((v) => { @@ -46,6 +56,8 @@ export const RegisterCustomModelRequest$inboundSchema: z.ZodType< export type RegisterCustomModelRequest$Outbound = { name: string; identifier: string; + provider?: string | null | undefined; + type?: string | null | undefined; extra?: { [k: string]: any } | undefined; api_key?: string | null | undefined; }; @@ -58,6 +70,8 @@ export const RegisterCustomModelRequest$outboundSchema: z.ZodType< > = z.object({ name: z.string(), identifier: z.string(), + provider: z.nullable(z.string()).optional(), + type: z.nullable(z.string()).optional(), extra: z.record(z.any()).optional(), apiKey: z.nullable(z.string()).optional(), }).transform((v) => { diff --git a/src/models/registercustommodelresponse.ts b/src/models/registercustommodelresponse.ts index d50e91c..ce26d1d 100644 --- a/src/models/registercustommodelresponse.ts +++ b/src/models/registercustommodelresponse.ts @@ -21,7 +21,15 @@ export type RegisterCustomModelResponse = { */ identifier: string; /** - * Extra metadata about the custom language model + * Provider name + */ + provider?: string | null | undefined; + /** + * Model type: llm, embedding, or image + */ + type?: string | null | undefined; + /** + * Provider-specific configuration */ extra?: { [k: string]: any } | undefined; }; @@ -35,6 +43,8 @@ export const RegisterCustomModelResponse$inboundSchema: z.ZodType< id: z.string(), name: z.string(), identifier: z.string(), + provider: z.nullable(z.string()).optional(), + type: z.nullable(z.string()).optional(), extra: z.record(z.any()).optional(), }); /** @internal */ @@ -42,6 +52,8 @@ export type RegisterCustomModelResponse$Outbound = { id: string; name: string; identifier: string; + provider?: string | null | undefined; + type?: string | null | undefined; extra?: { [k: string]: any } | undefined; }; @@ -54,6 +66,8 @@ export const RegisterCustomModelResponse$outboundSchema: z.ZodType< id: z.string(), name: z.string(), identifier: z.string(), + provider: z.nullable(z.string()).optional(), + type: z.nullable(z.string()).optional(), extra: z.record(z.any()).optional(), }); diff --git a/src/models/responseformatjsonobject.ts b/src/models/responseformatjsonobject.ts index fb92f4b..409a79d 100644 --- a/src/models/responseformatjsonobject.ts +++ b/src/models/responseformatjsonobject.ts @@ -7,6 +7,16 @@ import { safeParse } from "../lib/schemas.js"; import { Result as SafeParseResult } from "../types/fp.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; +/** + * JSON object response format. + * + * @remarks + * + * An older method of generating JSON responses. + * Using `json_schema` is recommended for models that support it. Note that the + * model will not generate JSON without a system or user message instructing it + * to do so. + */ export type ResponseFormatJSONObject = { type: "json_object"; }; diff --git a/src/models/responseformatjsonschema.ts b/src/models/responseformatjsonschema.ts index 43469a6..e279ed6 100644 --- a/src/models/responseformatjsonschema.ts +++ b/src/models/responseformatjsonschema.ts @@ -14,7 +14,18 @@ import { JSONSchema$outboundSchema, } from "./jsonschema.js"; +/** + * JSON Schema response format. + * + * @remarks + * + * Used to generate structured JSON responses. + * Learn more about [Structured Outputs](https://platform.openai.com/docs/guides/structured-outputs). + */ export type ResponseFormatJSONSchema = { + /** + * Structured Outputs configuration options, including a JSON Schema. + */ jsonSchema: JSONSchema; type: "json_schema"; }; diff --git a/src/models/responseformattext.ts b/src/models/responseformattext.ts index fde6781..c8c2c0c 100644 --- a/src/models/responseformattext.ts +++ b/src/models/responseformattext.ts @@ -7,6 +7,9 @@ import { safeParse } from "../lib/schemas.js"; import { Result as SafeParseResult } from "../types/fp.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; +/** + * Default response format. Used to generate text responses. + */ export type ResponseFormatText = { type: "text"; }; diff --git a/src/models/steeringconfig.ts b/src/models/steeringconfig.ts new file mode 100644 index 0000000..40a4d0e --- /dev/null +++ b/src/models/steeringconfig.ts @@ -0,0 +1,59 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +import * as z from "zod/v3"; +import { safeParse } from "../lib/schemas.js"; +import { Result as SafeParseResult } from "../types/fp.js"; +import { SDKValidationError } from "./errors/sdkvalidationerror.js"; + +export type SteeringConfig = { + enabled?: boolean | undefined; + fewShotCount?: number | undefined; + fewShotStrategy?: string | undefined; + fewShotInjection?: string | undefined; +}; + +/** @internal */ +export const SteeringConfig$inboundSchema: z.ZodType< + SteeringConfig, + z.ZodTypeDef, + unknown +> = z.object({ + enabled: z.boolean().default(false), + fewShotCount: z.number().int().default(3), + fewShotStrategy: z.string().default("semantic"), + fewShotInjection: z.string().default("auto"), +}); +/** @internal */ +export type SteeringConfig$Outbound = { + enabled: boolean; + fewShotCount: number; + fewShotStrategy: string; + fewShotInjection: string; +}; + +/** @internal */ +export const SteeringConfig$outboundSchema: z.ZodType< + SteeringConfig$Outbound, + z.ZodTypeDef, + SteeringConfig +> = z.object({ + enabled: z.boolean().default(false), + fewShotCount: z.number().int().default(3), + fewShotStrategy: z.string().default("semantic"), + fewShotInjection: z.string().default("auto"), +}); + +export function steeringConfigToJSON(steeringConfig: SteeringConfig): string { + return JSON.stringify(SteeringConfig$outboundSchema.parse(steeringConfig)); +} +export function steeringConfigFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => SteeringConfig$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'SteeringConfig' from JSON`, + ); +} diff --git a/src/models/updatecustommodelresponse.ts b/src/models/updatecustommodelresponse.ts index c6496d1..d63b447 100644 --- a/src/models/updatecustommodelresponse.ts +++ b/src/models/updatecustommodelresponse.ts @@ -21,7 +21,15 @@ export type UpdateCustomModelResponse = { */ identifier: string; /** - * Extra metadata about the custom language model + * Provider name + */ + provider?: string | null | undefined; + /** + * Model type: llm, embedding, or image + */ + type?: string | null | undefined; + /** + * Provider-specific configuration */ extra?: { [k: string]: any } | undefined; }; @@ -35,6 +43,8 @@ export const UpdateCustomModelResponse$inboundSchema: z.ZodType< id: z.string(), name: z.string(), identifier: z.string(), + provider: z.nullable(z.string()).optional(), + type: z.nullable(z.string()).optional(), extra: z.record(z.any()).optional(), }); /** @internal */ @@ -42,6 +52,8 @@ export type UpdateCustomModelResponse$Outbound = { id: string; name: string; identifier: string; + provider?: string | null | undefined; + type?: string | null | undefined; extra?: { [k: string]: any } | undefined; }; @@ -54,6 +66,8 @@ export const UpdateCustomModelResponse$outboundSchema: z.ZodType< id: z.string(), name: z.string(), identifier: z.string(), + provider: z.nullable(z.string()).optional(), + type: z.nullable(z.string()).optional(), extra: z.record(z.any()).optional(), }); diff --git a/src/models/updatefunctionrequest.ts b/src/models/updatefunctionrequest.ts index 20f638a..50e4083 100644 --- a/src/models/updatefunctionrequest.ts +++ b/src/models/updatefunctionrequest.ts @@ -39,18 +39,18 @@ export type UpdateFunctionRequest = { * Optionally provide a model to use for completing the task. * * @remarks - * If not provided, a default model will be used. Currently the default model is `azure/gpt-4o-eu` + * If not provided, a default model will be used (e.g. `azure/gpt-4o-eu`). * * To specify options for the model, use a dictionary of key-value pairs. The options are passed to the model on invocation. * An example of passing temperature to `gpt-4o-mini` hosted on OpenAI is shown below. * * ```json - * { + * {{ * "model": "openai/gpt-4o-mini", # the model name - * "options": { + * "options": {{ * "temperature": 0.5 # the options for the model - * } - * } + * }} + * }} * ``` * * To specify a fallback model, use a list of models. The models will then be tried in order. diff --git a/src/models/updatefunctionresponse.ts b/src/models/updatefunctionresponse.ts index b4d0ad2..c909790 100644 --- a/src/models/updatefunctionresponse.ts +++ b/src/models/updatefunctionresponse.ts @@ -62,6 +62,10 @@ export type UpdateFunctionResponse = { * Whether the observer is enabled for this function. When enabled, the observer monitors and evaluates all generations. */ observerEnabled?: boolean | undefined; + /** + * Whether this function has been executed through the v3 API + */ + isV3?: boolean | undefined; }; /** @internal */ @@ -81,7 +85,8 @@ export const UpdateFunctionResponse$inboundSchema: z.ZodType< id: z.string(), dataset_id: z.nullable(z.string()).optional(), revision_id: z.nullable(z.string()).optional(), - observer_enabled: z.boolean().default(true), + observer_enabled: z.boolean().default(false), + is_v3: z.boolean().default(false), }).transform((v) => { return remap$(v, { "input_schema": "inputSchema", @@ -89,6 +94,7 @@ export const UpdateFunctionResponse$inboundSchema: z.ZodType< "dataset_id": "datasetId", "revision_id": "revisionId", "observer_enabled": "observerEnabled", + "is_v3": "isV3", }); }); /** @internal */ @@ -104,6 +110,7 @@ export type UpdateFunctionResponse$Outbound = { dataset_id?: string | null | undefined; revision_id?: string | null | undefined; observer_enabled: boolean; + is_v3: boolean; }; /** @internal */ @@ -123,7 +130,8 @@ export const UpdateFunctionResponse$outboundSchema: z.ZodType< id: z.string(), datasetId: z.nullable(z.string()).optional(), revisionId: z.nullable(z.string()).optional(), - observerEnabled: z.boolean().default(true), + observerEnabled: z.boolean().default(false), + isV3: z.boolean().default(false), }).transform((v) => { return remap$(v, { inputSchema: "input_schema", @@ -131,6 +139,7 @@ export const UpdateFunctionResponse$outboundSchema: z.ZodType< datasetId: "dataset_id", revisionId: "revision_id", observerEnabled: "observer_enabled", + isV3: "is_v3", }); }); diff --git a/src/models/websearchoptions.ts b/src/models/websearchoptions.ts index 280e0ed..a55a330 100644 --- a/src/models/websearchoptions.ts +++ b/src/models/websearchoptions.ts @@ -22,6 +22,12 @@ export const SearchContextSize = { } as const; export type SearchContextSize = ClosedEnum; +/** + * This tool searches the web for relevant results to use in a response. + * + * @remarks + * Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search?api-mode=chat). + */ export type WebSearchOptions = { searchContextSize?: SearchContextSize | undefined; userLocation?: WebSearchOptionsUserLocation | null | undefined; diff --git a/src/models/websearchoptionsuserlocation.ts b/src/models/websearchoptionsuserlocation.ts index fb335e9..3013a7c 100644 --- a/src/models/websearchoptionsuserlocation.ts +++ b/src/models/websearchoptionsuserlocation.ts @@ -13,7 +13,13 @@ import { WebSearchOptionsUserLocationApproximate$outboundSchema, } from "./websearchoptionsuserlocationapproximate.js"; +/** + * Approximate location parameters for the search. + */ export type WebSearchOptionsUserLocation = { + /** + * Approximate location parameters for the search. + */ approximate: WebSearchOptionsUserLocationApproximate; type: "approximate"; }; diff --git a/src/models/websearchoptionsuserlocationapproximate.ts b/src/models/websearchoptionsuserlocationapproximate.ts index d8b3d31..b5e8543 100644 --- a/src/models/websearchoptionsuserlocationapproximate.ts +++ b/src/models/websearchoptionsuserlocationapproximate.ts @@ -7,6 +7,9 @@ import { safeParse } from "../lib/schemas.js"; import { Result as SafeParseResult } from "../types/fp.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; +/** + * Approximate location parameters for the search. + */ export type WebSearchOptionsUserLocationApproximate = { city?: string | undefined; country?: string | undefined; diff --git a/src/sdk/analytics.ts b/src/sdk/analytics.ts index 4e34a76..4723ac5 100644 --- a/src/sdk/analytics.ts +++ b/src/sdk/analytics.ts @@ -17,6 +17,7 @@ export class Analytics extends ClientSDK { granularity?: models.Granularity | null | undefined, fields?: Array | null | undefined, groupBy?: Array | null | undefined, + sessionId?: string | null | undefined, options?: RequestOptions, ): Promise> { return unwrapAsync(analyticsGetUsage( @@ -26,6 +27,7 @@ export class Analytics extends ClientSDK { granularity, fields, groupBy, + sessionId, options, )); } diff --git a/src/sdk/functionconfig.ts b/src/sdk/functionconfig.ts new file mode 100644 index 0000000..292d439 --- /dev/null +++ b/src/sdk/functionconfig.ts @@ -0,0 +1,45 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +import { functionConfigGetFunctionConfigFunctionsFunctionIdConfigGet } from "../funcs/functionConfigGetFunctionConfigFunctionsFunctionIdConfigGet.js"; +import { functionConfigPutSteeringFunctionsFunctionIdConfigSteeringPut } from "../funcs/functionConfigPutSteeringFunctionsFunctionIdConfigSteeringPut.js"; +import { ClientSDK, RequestOptions } from "../lib/sdks.js"; +import * as models from "../models/index.js"; +import { unwrapAsync } from "../types/fp.js"; + +export class FunctionConfig extends ClientSDK { + /** + * Get Function Config + */ + async getFunctionConfigFunctionsFunctionIdConfigGet( + functionId: string, + options?: RequestOptions, + ): Promise { + return unwrapAsync( + functionConfigGetFunctionConfigFunctionsFunctionIdConfigGet( + this, + functionId, + options, + ), + ); + } + + /** + * Put Steering + */ + async putSteeringFunctionsFunctionIdConfigSteeringPut( + functionId: string, + steeringConfig: models.SteeringConfig, + options?: RequestOptions, + ): Promise<{ [k: string]: any }> { + return unwrapAsync( + functionConfigPutSteeringFunctionsFunctionIdConfigSteeringPut( + this, + functionId, + steeringConfig, + options, + ), + ); + } +} diff --git a/src/sdk/functions.ts b/src/sdk/functions.ts index 062812a..32a650e 100644 --- a/src/sdk/functions.ts +++ b/src/sdk/functions.ts @@ -139,7 +139,14 @@ export class Functions extends ClientSDK { * Get Function By Revision * * @remarks - * Get a function by ID with a specific revision + * Get a function by ID with a specific revision. + * + * **Deprecated.** Use ``GET /v2/functions/{function_id}`` to fetch the + * latest revision. Pinning to a specific revision is no longer supported; + * ``revision_id`` is accepted for backwards compatibility but ignored — + * the latest revision is always returned. + * + * @deprecated method: This will be removed in a future release, please migrate away from it as soon as possible. */ async getByRevision( functionId: string, @@ -214,7 +221,15 @@ export class Functions extends ClientSDK { * Call Function Revision * * @remarks - * Call a function + * Call a function at a specific revision. + * + * **Deprecated.** Pinning a call to a historical revision is no longer + * supported; ``revision_id`` is accepted for backwards compatibility but + * ignored — the latest revision is always executed. Use ``POST /v2/call`` + * or the per-function call endpoint instead. This endpoint will be + * removed in a future release. + * + * @deprecated method: This will be removed in a future release, please migrate away from it as soon as possible. */ async callRevision( functionId: string, @@ -238,6 +253,12 @@ export class Functions extends ClientSDK { * @remarks * Stream a function revision call execution in real-time using Server-Sent Events (SSE). * + * **Deprecated.** Pinning a streamed call to a historical revision is no + * longer supported; ``revision_id`` is accepted for backwards + * compatibility but ignored — the latest revision is always streamed. Use + * the non-revision stream endpoint instead. This endpoint will be removed + * in a future release. + * * This endpoint returns a continuous stream of Server-Sent Event objects as the function executes, * allowing for real-time streaming of responses. The response follows the Server-Sent Events * specification with proper event structure for SDK compatibility. @@ -251,6 +272,8 @@ export class Functions extends ClientSDK { * The data payload includes: * - `delta`: Incremental text content (if any) * - `span_id`: Unique identifier for the execution span (when available) + * + * @deprecated method: This will be removed in a future release, please migrate away from it as soon as possible. */ async streamRevision( functionId: string, diff --git a/src/sdk/languagemodels.ts b/src/sdk/languagemodels.ts index e8f024e..8f7efc4 100644 --- a/src/sdk/languagemodels.ts +++ b/src/sdk/languagemodels.ts @@ -46,6 +46,8 @@ export class LanguageModels extends ClientSDK { * * @remarks * Register a custom language model with the organization that owns the API key. + * + * The model configuration is validated by making a test API call before saving. */ async registerCustom( request: models.RegisterCustomModelRequest, @@ -99,6 +101,9 @@ export class LanguageModels extends ClientSDK { * * @remarks * Update a custom language model. + * + * If identifier, api_key, or extra are changed, the model configuration + * is validated by making a test API call before saving. */ async updateCustom( modelId: string, diff --git a/src/sdk/revisions.ts b/src/sdk/revisions.ts index 5869bac..f913fb9 100644 --- a/src/sdk/revisions.ts +++ b/src/sdk/revisions.ts @@ -12,10 +12,18 @@ export class Revisions extends ClientSDK { * List Function Revisions * * @remarks - * Get all revisions for a function with pagination + * Get all revisions for a function with pagination. * - * Returns a list of revisions for the function with the given function id - * revisions are sorted by created_at in descending order ergo the latest revision is the first one + * **Deprecated.** Revision history is no longer a supported part of the + * public API; clients should always use the latest revision via the + * standard function endpoints. This endpoint will be removed in a future + * release. + * + * Returns a single-item list containing the latest revision of the + * function. ``offset`` and ``limit`` are accepted for backwards + * compatibility but ignored. + * + * @deprecated method: This will be removed in a future release, please migrate away from it as soon as possible. */ async list( functionId: string, diff --git a/src/sdk/sdk.ts b/src/sdk/sdk.ts index 92bc740..cd7ffb5 100644 --- a/src/sdk/sdk.ts +++ b/src/sdk/sdk.ts @@ -11,6 +11,7 @@ import { unwrapAsync } from "../types/fp.js"; import { Analytics } from "./analytics.js"; import { Datasets } from "./datasets.js"; import { Embeddings } from "./embeddings.js"; +import { FunctionConfig } from "./functionconfig.js"; import { Functions } from "./functions.js"; import { Knowledge } from "./knowledge.js"; import { LanguageModels } from "./languagemodels.js"; @@ -52,6 +53,11 @@ export class Opper extends ClientSDK { return (this._functions ??= new Functions(this._options)); } + private _functionConfig?: FunctionConfig; + get functionConfig(): FunctionConfig { + return (this._functionConfig ??= new FunctionConfig(this._options)); + } + private _embeddings?: Embeddings; get embeddings(): Embeddings { return (this._embeddings ??= new Embeddings(this._options)); diff --git a/src/types/async.ts b/src/types/async.ts index 689dba5..1543b95 100644 --- a/src/types/async.ts +++ b/src/types/async.ts @@ -21,16 +21,17 @@ export type APICall = export class APIPromise implements Promise { readonly #promise: Promise<[T, APICall]>; - readonly #unwrapped: Promise; + #unwrapped: Promise | null; readonly [Symbol.toStringTag] = "APIPromise"; constructor(p: [T, APICall] | Promise<[T, APICall]>) { this.#promise = p instanceof Promise ? p : Promise.resolve(p); - this.#unwrapped = - p instanceof Promise - ? this.#promise.then(([value]) => value) - : Promise.resolve(p[0]); + this.#unwrapped = p instanceof Promise ? null : Promise.resolve(p[0]); + } + + #getUnwrapped(): Promise { + return (this.#unwrapped ??= this.#promise.then(([value]) => value)); } then( @@ -55,11 +56,11 @@ export class APIPromise implements Promise { | null | undefined, ): Promise { - return this.#unwrapped.catch(onrejected); + return this.#getUnwrapped().catch(onrejected); } finally(onfinally?: (() => void) | null | undefined): Promise { - return this.#unwrapped.finally(onfinally); + return this.#getUnwrapped().finally(onfinally); } $inspect(): Promise<[T, APICall]> { diff --git a/tsconfig.json b/tsconfig.json index 0ccdbe2..76110f8 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -13,6 +13,7 @@ "declaration": true, "declarationMap": true, "sourceMap": true, + "rootDir": "src", "outDir": ".", @@ -36,5 +37,5 @@ "forceConsistentCasingInFileNames": true }, "include": ["src"], - "exclude": ["node_modules"] + "exclude": ["node_modules", "src/__tests__"] }