openlayer 0.12.0 → 0.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +85 -0
- package/README.md +67 -77
- package/_shims/index.d.ts +2 -0
- package/_shims/index.js +5 -1
- package/_shims/index.mjs +5 -1
- package/core.d.ts +19 -5
- package/core.d.ts.map +1 -1
- package/core.js +33 -18
- package/core.js.map +1 -1
- package/core.mjs +34 -19
- package/core.mjs.map +1 -1
- package/index.d.mts +8 -5
- package/index.d.ts +8 -5
- package/index.d.ts.map +1 -1
- package/index.js +6 -2
- package/index.js.map +1 -1
- package/index.mjs +6 -2
- package/index.mjs.map +1 -1
- package/package.json +1 -1
- package/resource.d.ts +1 -1
- package/resource.d.ts.map +1 -1
- package/resource.js.map +1 -1
- package/resource.mjs.map +1 -1
- package/resources/commits/test-results.d.ts +24 -6
- package/resources/commits/test-results.d.ts.map +1 -1
- package/resources/inference-pipelines/data.d.ts +23 -1
- package/resources/inference-pipelines/data.d.ts.map +1 -1
- package/resources/inference-pipelines/data.js +20 -0
- package/resources/inference-pipelines/data.js.map +1 -1
- package/resources/inference-pipelines/data.mjs +20 -0
- package/resources/inference-pipelines/data.mjs.map +1 -1
- package/resources/inference-pipelines/inference-pipelines.d.ts +95 -0
- package/resources/inference-pipelines/inference-pipelines.d.ts.map +1 -1
- package/resources/inference-pipelines/inference-pipelines.js +7 -0
- package/resources/inference-pipelines/inference-pipelines.js.map +1 -1
- package/resources/inference-pipelines/inference-pipelines.mjs +7 -0
- package/resources/inference-pipelines/inference-pipelines.mjs.map +1 -1
- package/resources/inference-pipelines/rows.d.ts +8 -0
- package/resources/inference-pipelines/rows.d.ts.map +1 -1
- package/resources/inference-pipelines/rows.js +8 -0
- package/resources/inference-pipelines/rows.js.map +1 -1
- package/resources/inference-pipelines/rows.mjs +8 -0
- package/resources/inference-pipelines/rows.mjs.map +1 -1
- package/resources/inference-pipelines/test-results.d.ts +31 -5
- package/resources/inference-pipelines/test-results.d.ts.map +1 -1
- package/resources/inference-pipelines/test-results.js.map +1 -1
- package/resources/inference-pipelines/test-results.mjs.map +1 -1
- package/resources/projects/commits.d.ts +18 -0
- package/resources/projects/commits.d.ts.map +1 -1
- package/resources/projects/commits.js +11 -0
- package/resources/projects/commits.js.map +1 -1
- package/resources/projects/commits.mjs +11 -0
- package/resources/projects/commits.mjs.map +1 -1
- package/resources/projects/index.d.ts +1 -0
- package/resources/projects/index.d.ts.map +1 -1
- package/resources/projects/index.js +3 -1
- package/resources/projects/index.js.map +1 -1
- package/resources/projects/index.mjs +1 -0
- package/resources/projects/index.mjs.map +1 -1
- package/resources/projects/inference-pipelines.d.ts +104 -0
- package/resources/projects/inference-pipelines.d.ts.map +1 -1
- package/resources/projects/inference-pipelines.js +12 -0
- package/resources/projects/inference-pipelines.js.map +1 -1
- package/resources/projects/inference-pipelines.mjs +12 -0
- package/resources/projects/inference-pipelines.mjs.map +1 -1
- package/resources/projects/projects.d.ts +17 -0
- package/resources/projects/projects.d.ts.map +1 -1
- package/resources/projects/projects.js +12 -0
- package/resources/projects/projects.js.map +1 -1
- package/resources/projects/projects.mjs +12 -0
- package/resources/projects/projects.mjs.map +1 -1
- package/resources/projects/tests.d.ts +501 -0
- package/resources/projects/tests.d.ts.map +1 -0
- package/resources/projects/tests.js +55 -0
- package/resources/projects/tests.js.map +1 -0
- package/resources/projects/tests.mjs +51 -0
- package/resources/projects/tests.mjs.map +1 -0
- package/resources.d.ts +2 -0
- package/resources.d.ts.map +1 -0
- package/resources.js +18 -0
- package/resources.js.map +1 -0
- package/resources.mjs +2 -0
- package/resources.mjs.map +1 -0
- package/src/_shims/index.d.ts +2 -0
- package/src/_shims/index.js +5 -1
- package/src/_shims/index.mjs +5 -1
- package/src/core.ts +54 -18
- package/src/index.ts +15 -5
- package/src/resource.ts +1 -1
- package/src/resources/commits/test-results.ts +102 -6
- package/src/resources/inference-pipelines/data.ts +21 -1
- package/src/resources/inference-pipelines/inference-pipelines.ts +95 -0
- package/src/resources/inference-pipelines/rows.ts +8 -0
- package/src/resources/inference-pipelines/test-results.ts +109 -5
- package/src/resources/projects/commits.ts +18 -0
- package/src/resources/projects/index.ts +9 -0
- package/src/resources/projects/inference-pipelines.ts +104 -0
- package/src/resources/projects/projects.ts +35 -0
- package/src/resources/projects/tests.ts +905 -0
- package/src/resources.ts +1 -0
- package/src/version.ts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,90 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.13.1 (2025-07-10)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.13.0...v0.13.1](https://github.com/openlayer-ai/openlayer-ts/compare/v0.13.0...v0.13.1)
|
|
6
|
+
|
|
7
|
+
### Chores
|
|
8
|
+
|
|
9
|
+
* clean up whitespace in langgraph-openlayer.ts ([2f1590e](https://github.com/openlayer-ai/openlayer-ts/commit/2f1590e0b2ea37f5ab02731a715a0051c7a8da0a))
|
|
10
|
+
* **internal:** version bump ([64a8e5c](https://github.com/openlayer-ai/openlayer-ts/commit/64a8e5ce86d01f0b620cb5c423eb710c428da726))
|
|
11
|
+
|
|
12
|
+
## 0.13.0 (2025-07-09)
|
|
13
|
+
|
|
14
|
+
Full Changelog: [v0.12.0...v0.13.0](https://github.com/openlayer-ai/openlayer-ts/compare/v0.12.0...v0.13.0)
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
* **api:** add test creation endpoint ([b5ca558](https://github.com/openlayer-ai/openlayer-ts/commit/b5ca558bd715a2f2a2b4e463c71b8ee74f689fb7))
|
|
19
|
+
* **api:** api update ([c08bc30](https://github.com/openlayer-ai/openlayer-ts/commit/c08bc302d61a2d2dace0348c43fb2a2d9d5e3b43))
|
|
20
|
+
* **api:** api update ([21bf624](https://github.com/openlayer-ai/openlayer-ts/commit/21bf624b29037dec3a0daeda1c578f829da341a3))
|
|
21
|
+
* **api:** api update ([4a2f9f8](https://github.com/openlayer-ai/openlayer-ts/commit/4a2f9f8e180e63e258752de9835697df541c548b))
|
|
22
|
+
* **api:** api update ([631a79a](https://github.com/openlayer-ai/openlayer-ts/commit/631a79a91c55b7f8917e40f952faead29aae3d17))
|
|
23
|
+
* **api:** api update ([b94c7b1](https://github.com/openlayer-ai/openlayer-ts/commit/b94c7b1219ca99ffa26a725c5bca8ca1e11eed64))
|
|
24
|
+
* **api:** api update ([a133305](https://github.com/openlayer-ai/openlayer-ts/commit/a13330509527d784b7f7ca0b1cfc0e16be083ad8))
|
|
25
|
+
* **api:** expose test retrieval endpoint ([8fff7c0](https://github.com/openlayer-ai/openlayer-ts/commit/8fff7c08aef44c5d3a606a5c516b42e422b9bf4a))
|
|
26
|
+
* **api:** expose test retrieval endpoint ([44db29b](https://github.com/openlayer-ai/openlayer-ts/commit/44db29b20db663aa7751d5bd1b6b9db0ea71a0c5))
|
|
27
|
+
* **api:** expose test update endpoint ([7e129a6](https://github.com/openlayer-ai/openlayer-ts/commit/7e129a67b8a1377119928efee912b95cb2c1b1f6))
|
|
28
|
+
* **client:** add support for endpoint-specific base URLs ([2905588](https://github.com/openlayer-ai/openlayer-ts/commit/2905588b52a3a82b8a2cc6500bef798addd07ba3))
|
|
29
|
+
* **client:** send `X-Stainless-Timeout` header ([7019c85](https://github.com/openlayer-ai/openlayer-ts/commit/7019c85f937de8dae8a250d9d10f62fe426b6723))
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
### Bug Fixes
|
|
33
|
+
|
|
34
|
+
* **api:** improve type resolution when importing as a package ([#119](https://github.com/openlayer-ai/openlayer-ts/issues/119)) ([a758e18](https://github.com/openlayer-ai/openlayer-ts/commit/a758e18aa98963fdbaf606adccb47d8f13b93a7a))
|
|
35
|
+
* avoid type error in certain environments ([#115](https://github.com/openlayer-ai/openlayer-ts/issues/115)) ([f7448d9](https://github.com/openlayer-ai/openlayer-ts/commit/f7448d9f2a2280e2342ff94e7bff8ac6576d517d))
|
|
36
|
+
* **ci:** release-doctor — report correct token name ([e5e5f3b](https://github.com/openlayer-ai/openlayer-ts/commit/e5e5f3b29f0ec33fd4827a48871e3d1a2537c87e))
|
|
37
|
+
* **client:** don't send `Content-Type` for bodyless methods ([ffd0619](https://github.com/openlayer-ai/openlayer-ts/commit/ffd0619398f693322297d7b4e6eec1f864754133))
|
|
38
|
+
* **client:** fix export map for index exports ([3cef27b](https://github.com/openlayer-ai/openlayer-ts/commit/3cef27ba29799388aca98765a42d1b27217ce944))
|
|
39
|
+
* **client:** send `X-Stainless-Timeout` in seconds ([#117](https://github.com/openlayer-ai/openlayer-ts/issues/117)) ([8349fbc](https://github.com/openlayer-ai/openlayer-ts/commit/8349fbc8c942fbedf433ed6babea1ef4ce896ce7))
|
|
40
|
+
* **imports:** update import paths for OpenlayerHandler and traceOpenAI to reflect new module structure ([e57d2be](https://github.com/openlayer-ai/openlayer-ts/commit/e57d2be6b97d29f58baa6374af1cbbb7e85125dc))
|
|
41
|
+
* **internal:** work around https://github.com/vercel/next.js/issues/76881 ([#116](https://github.com/openlayer-ai/openlayer-ts/issues/116)) ([3d750a5](https://github.com/openlayer-ai/openlayer-ts/commit/3d750a52a5a2fc211a1936657b822ad0646e7e7f))
|
|
42
|
+
* **mcp:** remove unused tools.ts ([#120](https://github.com/openlayer-ai/openlayer-ts/issues/120)) ([d00061f](https://github.com/openlayer-ai/openlayer-ts/commit/d00061f9bdf4a7e82d12d79a7a43c9abe6f01bc9))
|
|
43
|
+
* publish script — handle NPM errors correctly ([33f3a0d](https://github.com/openlayer-ai/openlayer-ts/commit/33f3a0d85bbfdc6f3e6f30244722e56bdd4e316c))
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
### Chores
|
|
47
|
+
|
|
48
|
+
* **ci:** add timeout thresholds for CI jobs ([fcfa14a](https://github.com/openlayer-ai/openlayer-ts/commit/fcfa14a94bd05fc0e318179e5a6f98478a316a8a))
|
|
49
|
+
* **ci:** bump node version for release workflows ([82ed245](https://github.com/openlayer-ai/openlayer-ts/commit/82ed245e7f356748adda6d2c0c3ca86a31b29cf1))
|
|
50
|
+
* **ci:** enable for pull requests ([0f02451](https://github.com/openlayer-ai/openlayer-ts/commit/0f02451999a6249b05eb07f862f8da8564928379))
|
|
51
|
+
* **ci:** only run for pushes and fork pull requests ([60a3cd5](https://github.com/openlayer-ai/openlayer-ts/commit/60a3cd57bc3d1e3fb5fc4e0b76dd215b93df96a3))
|
|
52
|
+
* **ci:** only use depot for staging repos ([e1cb08a](https://github.com/openlayer-ai/openlayer-ts/commit/e1cb08a3900378b3a2d7e240b657e3a3ee862cee))
|
|
53
|
+
* **client:** minor internal fixes ([8d1e577](https://github.com/openlayer-ai/openlayer-ts/commit/8d1e577c7bd97da21d58a2cb5ee4ee9ac2457f04))
|
|
54
|
+
* **docs:** grammar improvements ([764521c](https://github.com/openlayer-ai/openlayer-ts/commit/764521c36e2b24319ba92d4d9e569ad8894f4ad3))
|
|
55
|
+
* **docs:** use top-level-await in example snippets ([9a627db](https://github.com/openlayer-ai/openlayer-ts/commit/9a627dbdaddb88a83f141c9c25327b977ae2056a))
|
|
56
|
+
* **exports:** cleaner resource index imports ([#113](https://github.com/openlayer-ai/openlayer-ts/issues/113)) ([1647ab7](https://github.com/openlayer-ai/openlayer-ts/commit/1647ab7d2bbb81d81f923f31c0c72a570e4014c8))
|
|
57
|
+
* **exports:** stop using path fallbacks ([#114](https://github.com/openlayer-ai/openlayer-ts/issues/114)) ([39719a5](https://github.com/openlayer-ai/openlayer-ts/commit/39719a5b29432c9a9bb6a168356064019b35250d))
|
|
58
|
+
* improve publish-npm script --latest tag logic ([0292843](https://github.com/openlayer-ai/openlayer-ts/commit/029284308d98b5f42460444906d60d8c10fda9eb))
|
|
59
|
+
* **internal:** add aliases for Record and Array ([#118](https://github.com/openlayer-ai/openlayer-ts/issues/118)) ([6fdf6fa](https://github.com/openlayer-ai/openlayer-ts/commit/6fdf6fa73e56d0be5a37533c2c416438c38d33fa))
|
|
60
|
+
* **internal:** codegen related update ([5d338c6](https://github.com/openlayer-ai/openlayer-ts/commit/5d338c6b15812037d2d18a3751cd3bc7ab41daf8))
|
|
61
|
+
* **internal:** codegen related update ([2b134e4](https://github.com/openlayer-ai/openlayer-ts/commit/2b134e4095619b18e60b5fcb1312698fdb2c7e88))
|
|
62
|
+
* **internal:** codegen related update ([628f5e0](https://github.com/openlayer-ai/openlayer-ts/commit/628f5e00e0c9efdd86cd7af639dfc5ede530fa20))
|
|
63
|
+
* **internal:** codegen related update ([90f7b7c](https://github.com/openlayer-ai/openlayer-ts/commit/90f7b7ca08e4beac2c56215dfe25a58c27d55619))
|
|
64
|
+
* **internal:** codegen related update ([f278cf3](https://github.com/openlayer-ai/openlayer-ts/commit/f278cf329287d9a95e1e95e38fa7dfd4a31c4476))
|
|
65
|
+
* **internal:** codegen related update ([9e02f0b](https://github.com/openlayer-ai/openlayer-ts/commit/9e02f0b737f9f81ef4f845b79f54190fa2d3470a))
|
|
66
|
+
* **internal:** fix devcontainers setup ([163b07d](https://github.com/openlayer-ai/openlayer-ts/commit/163b07d2bec534cd44326bffa028e6c1d627d3d7))
|
|
67
|
+
* **internal:** fix workflows ([3e53c94](https://github.com/openlayer-ai/openlayer-ts/commit/3e53c94cd883482a06ad0eb8268900c872c8d65f))
|
|
68
|
+
* **internal:** make base APIResource abstract ([667b403](https://github.com/openlayer-ai/openlayer-ts/commit/667b403659d18700e89bba1875e7fe58baa6f2a2))
|
|
69
|
+
* **internal:** reduce CI branch coverage ([0cb981b](https://github.com/openlayer-ai/openlayer-ts/commit/0cb981bf6ce8d6ea19dc92c435517acf0daa55b2))
|
|
70
|
+
* **internal:** upload builds and expand CI branch coverage ([9e492b1](https://github.com/openlayer-ai/openlayer-ts/commit/9e492b1ca40b5b7ca46e9f1b0b793572716af1aa))
|
|
71
|
+
* **internal:** version bump ([989e4c6](https://github.com/openlayer-ai/openlayer-ts/commit/989e4c6179d46b06159ed534663032d8fd29bb65))
|
|
72
|
+
* **internal:** version bump ([52cc09a](https://github.com/openlayer-ai/openlayer-ts/commit/52cc09a6663124e4c48353e7f1b651f2760e766a))
|
|
73
|
+
* mention unit type in timeout docs ([55fb773](https://github.com/openlayer-ai/openlayer-ts/commit/55fb7733bf0858555f628c2300f4ea71287f3de5))
|
|
74
|
+
* **tests:** improve enum examples ([#121](https://github.com/openlayer-ai/openlayer-ts/issues/121)) ([78996ac](https://github.com/openlayer-ai/openlayer-ts/commit/78996acba5907a6a2deccf334bc9089a96e8b978))
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
### Documentation
|
|
78
|
+
|
|
79
|
+
* add examples to tsdocs ([d3b8142](https://github.com/openlayer-ai/openlayer-ts/commit/d3b81423a7c10f51b6a213da42e596f8f8ff699c))
|
|
80
|
+
* **readme:** fix typo ([274cc42](https://github.com/openlayer-ai/openlayer-ts/commit/274cc42054d2eced24475304724ee191a72a06dd))
|
|
81
|
+
* update URLs from stainlessapi.com to stainless.com ([6c1c6f3](https://github.com/openlayer-ai/openlayer-ts/commit/6c1c6f3de4b9093725a31fa273c9de256ddc3db8))
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
### Refactors
|
|
85
|
+
|
|
86
|
+
* **types:** replace Record with mapped types ([8837a96](https://github.com/openlayer-ai/openlayer-ts/commit/8837a966afbc24a8f6455833e3bdb2553ed58ad1))
|
|
87
|
+
|
|
3
88
|
## 0.12.0 (2025-03-14)
|
|
4
89
|
|
|
5
90
|
Full Changelog: [v0.11.0...v0.12.0](https://github.com/openlayer-ai/openlayer-ts/compare/v0.11.0...v0.12.0)
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ This library provides convenient access to the Openlayer REST API from server-si
|
|
|
6
6
|
|
|
7
7
|
The REST API documentation can be found on [openlayer.com](https://openlayer.com/docs/api-reference/rest/overview). The full API of this library can be found in [api.md](api.md).
|
|
8
8
|
|
|
9
|
-
It is generated with [Stainless](https://www.
|
|
9
|
+
It is generated with [Stainless](https://www.stainless.com/).
|
|
10
10
|
|
|
11
11
|
## Installation
|
|
12
12
|
|
|
@@ -26,30 +26,26 @@ const client = new Openlayer({
|
|
|
26
26
|
apiKey: process.env['OPENLAYER_API_KEY'], // This is the default and can be omitted
|
|
27
27
|
});
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
29
|
+
const response = await client.inferencePipelines.data.stream('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', {
|
|
30
|
+
config: {
|
|
31
|
+
inputVariableNames: ['user_query'],
|
|
32
|
+
outputColumnName: 'output',
|
|
33
|
+
numOfTokenColumnName: 'tokens',
|
|
34
|
+
costColumnName: 'cost',
|
|
35
|
+
timestampColumnName: 'timestamp',
|
|
36
|
+
},
|
|
37
|
+
rows: [
|
|
38
|
+
{
|
|
39
|
+
user_query: 'what is the meaning of life?',
|
|
40
|
+
output: '42',
|
|
41
|
+
tokens: 7,
|
|
42
|
+
cost: 0.02,
|
|
43
|
+
timestamp: 1610000000,
|
|
37
44
|
},
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
user_query: 'what is the meaning of life?',
|
|
41
|
-
output: '42',
|
|
42
|
-
tokens: 7,
|
|
43
|
-
cost: 0.02,
|
|
44
|
-
timestamp: 1610000000,
|
|
45
|
-
},
|
|
46
|
-
],
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
console.log(response.success);
|
|
50
|
-
}
|
|
45
|
+
],
|
|
46
|
+
});
|
|
51
47
|
|
|
52
|
-
|
|
48
|
+
console.log(response.success);
|
|
53
49
|
```
|
|
54
50
|
|
|
55
51
|
### Request & Response types
|
|
@@ -64,8 +60,42 @@ const client = new Openlayer({
|
|
|
64
60
|
apiKey: process.env['OPENLAYER_API_KEY'], // This is the default and can be omitted
|
|
65
61
|
});
|
|
66
62
|
|
|
67
|
-
|
|
68
|
-
|
|
63
|
+
const params: Openlayer.InferencePipelines.DataStreamParams = {
|
|
64
|
+
config: {
|
|
65
|
+
inputVariableNames: ['user_query'],
|
|
66
|
+
outputColumnName: 'output',
|
|
67
|
+
numOfTokenColumnName: 'tokens',
|
|
68
|
+
costColumnName: 'cost',
|
|
69
|
+
timestampColumnName: 'timestamp',
|
|
70
|
+
},
|
|
71
|
+
rows: [
|
|
72
|
+
{
|
|
73
|
+
user_query: 'what is the meaning of life?',
|
|
74
|
+
output: '42',
|
|
75
|
+
tokens: 7,
|
|
76
|
+
cost: 0.02,
|
|
77
|
+
timestamp: 1610000000,
|
|
78
|
+
},
|
|
79
|
+
],
|
|
80
|
+
};
|
|
81
|
+
const response: Openlayer.InferencePipelines.DataStreamResponse = await client.inferencePipelines.data.stream(
|
|
82
|
+
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
|
|
83
|
+
params,
|
|
84
|
+
);
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Documentation for each method, request param, and response field are available in docstrings and will appear on hover in most modern editors.
|
|
88
|
+
|
|
89
|
+
## Handling errors
|
|
90
|
+
|
|
91
|
+
When the library is unable to connect to the API,
|
|
92
|
+
or if the API returns a non-success status code (i.e., 4xx or 5xx response),
|
|
93
|
+
a subclass of `APIError` will be thrown:
|
|
94
|
+
|
|
95
|
+
<!-- prettier-ignore -->
|
|
96
|
+
```ts
|
|
97
|
+
const response = await client.inferencePipelines.data
|
|
98
|
+
.stream('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', {
|
|
69
99
|
config: {
|
|
70
100
|
inputVariableNames: ['user_query'],
|
|
71
101
|
outputColumnName: 'output',
|
|
@@ -82,59 +112,19 @@ async function main() {
|
|
|
82
112
|
timestamp: 1610000000,
|
|
83
113
|
},
|
|
84
114
|
],
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
## Handling errors
|
|
96
|
-
|
|
97
|
-
When the library is unable to connect to the API,
|
|
98
|
-
or if the API returns a non-success status code (i.e., 4xx or 5xx response),
|
|
99
|
-
a subclass of `APIError` will be thrown:
|
|
100
|
-
|
|
101
|
-
<!-- prettier-ignore -->
|
|
102
|
-
```ts
|
|
103
|
-
async function main() {
|
|
104
|
-
const response = await client.inferencePipelines.data
|
|
105
|
-
.stream('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', {
|
|
106
|
-
config: {
|
|
107
|
-
inputVariableNames: ['user_query'],
|
|
108
|
-
outputColumnName: 'output',
|
|
109
|
-
numOfTokenColumnName: 'tokens',
|
|
110
|
-
costColumnName: 'cost',
|
|
111
|
-
timestampColumnName: 'timestamp',
|
|
112
|
-
},
|
|
113
|
-
rows: [
|
|
114
|
-
{
|
|
115
|
-
user_query: 'what is the meaning of life?',
|
|
116
|
-
output: '42',
|
|
117
|
-
tokens: 7,
|
|
118
|
-
cost: 0.02,
|
|
119
|
-
timestamp: 1610000000,
|
|
120
|
-
},
|
|
121
|
-
],
|
|
122
|
-
})
|
|
123
|
-
.catch(async (err) => {
|
|
124
|
-
if (err instanceof Openlayer.APIError) {
|
|
125
|
-
console.log(err.status); // 400
|
|
126
|
-
console.log(err.name); // BadRequestError
|
|
127
|
-
console.log(err.headers); // {server: 'nginx', ...}
|
|
128
|
-
} else {
|
|
129
|
-
throw err;
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
main();
|
|
115
|
+
})
|
|
116
|
+
.catch(async (err) => {
|
|
117
|
+
if (err instanceof Openlayer.APIError) {
|
|
118
|
+
console.log(err.status); // 400
|
|
119
|
+
console.log(err.name); // BadRequestError
|
|
120
|
+
console.log(err.headers); // {server: 'nginx', ...}
|
|
121
|
+
} else {
|
|
122
|
+
throw err;
|
|
123
|
+
}
|
|
124
|
+
});
|
|
135
125
|
```
|
|
136
126
|
|
|
137
|
-
Error codes are as
|
|
127
|
+
Error codes are as follows:
|
|
138
128
|
|
|
139
129
|
| Status Code | Error Type |
|
|
140
130
|
| ----------- | -------------------------- |
|
|
@@ -380,7 +370,7 @@ await client.inferencePipelines.data.stream(
|
|
|
380
370
|
This package generally follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions, though certain backwards-incompatible changes may be released as minor versions:
|
|
381
371
|
|
|
382
372
|
1. Changes that only affect static types, without breaking runtime behavior.
|
|
383
|
-
2. Changes to library internals which are technically public but not intended or documented for external use. _(Please open a GitHub issue to let us know if you are relying on such internals)_
|
|
373
|
+
2. Changes to library internals which are technically public but not intended or documented for external use. _(Please open a GitHub issue to let us know if you are relying on such internals.)_
|
|
384
374
|
3. Changes that we do not expect to impact the vast majority of users in practice.
|
|
385
375
|
|
|
386
376
|
We take backwards-compatibility seriously and work hard to ensure you can rely on a smooth upgrade experience.
|
package/_shims/index.d.ts
CHANGED
|
@@ -79,3 +79,5 @@ export function fileFromPath(path: string, options?: FileFromPathOptions): Promi
|
|
|
79
79
|
export function fileFromPath(path: string, filename?: string, options?: FileFromPathOptions): Promise<File>;
|
|
80
80
|
|
|
81
81
|
export function isFsReadStream(value: any): value is FsReadStream;
|
|
82
|
+
|
|
83
|
+
export const init: () => void;
|
package/_shims/index.js
CHANGED
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
*/
|
|
4
4
|
const shims = require('./registry');
|
|
5
5
|
const auto = require('openlayer/_shims/auto/runtime');
|
|
6
|
-
|
|
6
|
+
exports.init = () => {
|
|
7
|
+
if (!shims.kind) shims.setShims(auto.getRuntime(), { auto: true });
|
|
8
|
+
};
|
|
7
9
|
for (const property of Object.keys(shims)) {
|
|
8
10
|
Object.defineProperty(exports, property, {
|
|
9
11
|
get() {
|
|
@@ -11,3 +13,5 @@ for (const property of Object.keys(shims)) {
|
|
|
11
13
|
},
|
|
12
14
|
});
|
|
13
15
|
}
|
|
16
|
+
|
|
17
|
+
exports.init();
|
package/_shims/index.mjs
CHANGED
|
@@ -3,5 +3,9 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as shims from './registry.mjs';
|
|
5
5
|
import * as auto from 'openlayer/_shims/auto/runtime';
|
|
6
|
-
|
|
6
|
+
export const init = () => {
|
|
7
|
+
if (!shims.kind) shims.setShims(auto.getRuntime(), { auto: true });
|
|
8
|
+
};
|
|
7
9
|
export * from './registry.mjs';
|
|
10
|
+
|
|
11
|
+
init();
|
package/core.d.ts
CHANGED
|
@@ -6,6 +6,17 @@ export { type Response };
|
|
|
6
6
|
import { BlobLike } from "./uploads.js";
|
|
7
7
|
export { maybeMultipartFormRequestOptions, multipartFormRequestOptions, createForm, type Uploadable, } from "./uploads.js";
|
|
8
8
|
export type Fetch = (url: RequestInfo, init?: RequestInit) => Promise<Response>;
|
|
9
|
+
/**
|
|
10
|
+
* An alias to the builtin `Array` type so we can
|
|
11
|
+
* easily alias it in import statements if there are name clashes.
|
|
12
|
+
*/
|
|
13
|
+
type _Array<T> = Array<T>;
|
|
14
|
+
/**
|
|
15
|
+
* An alias to the builtin `Record` type so we can
|
|
16
|
+
* easily alias it in import statements if there are name clashes.
|
|
17
|
+
*/
|
|
18
|
+
type _Record<K extends keyof any, T> = Record<K, T>;
|
|
19
|
+
export type { _Array as Array, _Record as Record };
|
|
9
20
|
type PromiseOrValue<T> = T | Promise<T>;
|
|
10
21
|
type APIResponseProps = {
|
|
11
22
|
response: Response;
|
|
@@ -59,15 +70,17 @@ export declare class APIPromise<T> extends Promise<T> {
|
|
|
59
70
|
finally(onfinally?: (() => void) | undefined | null): Promise<T>;
|
|
60
71
|
}
|
|
61
72
|
export declare abstract class APIClient {
|
|
73
|
+
#private;
|
|
62
74
|
baseURL: string;
|
|
63
75
|
maxRetries: number;
|
|
64
76
|
timeout: number;
|
|
65
77
|
httpAgent: Agent | undefined;
|
|
66
78
|
private fetch;
|
|
67
79
|
protected idempotencyHeader?: string;
|
|
68
|
-
constructor({ baseURL, maxRetries, timeout, // 1 minute
|
|
80
|
+
constructor({ baseURL, baseURLOverridden, maxRetries, timeout, // 1 minute
|
|
69
81
|
httpAgent, fetch: overriddenFetch, }: {
|
|
70
82
|
baseURL: string;
|
|
83
|
+
baseURLOverridden: boolean;
|
|
71
84
|
maxRetries?: number | undefined;
|
|
72
85
|
timeout: number | undefined;
|
|
73
86
|
httpAgent: Agent | undefined;
|
|
@@ -97,13 +110,13 @@ export declare abstract class APIClient {
|
|
|
97
110
|
private methodRequest;
|
|
98
111
|
getAPIList<Item, PageClass extends AbstractPage<Item> = AbstractPage<Item>>(path: string, Page: new (...args: any[]) => PageClass, opts?: RequestOptions<any>): PagePromise<PageClass, Item>;
|
|
99
112
|
private calculateContentLength;
|
|
100
|
-
buildRequest<Req>(
|
|
113
|
+
buildRequest<Req>(inputOptions: FinalRequestOptions<Req>, { retryCount }?: {
|
|
101
114
|
retryCount?: number;
|
|
102
|
-
}): {
|
|
115
|
+
}): Promise<{
|
|
103
116
|
req: RequestInit;
|
|
104
117
|
url: string;
|
|
105
118
|
timeout: number;
|
|
106
|
-
}
|
|
119
|
+
}>;
|
|
107
120
|
private buildHeaders;
|
|
108
121
|
/**
|
|
109
122
|
* Used as a callback for mutating the given `FinalRequestOptions` object.
|
|
@@ -124,7 +137,7 @@ export declare abstract class APIClient {
|
|
|
124
137
|
request<Req, Rsp>(options: PromiseOrValue<FinalRequestOptions<Req>>, remainingRetries?: number | null): APIPromise<Rsp>;
|
|
125
138
|
private makeRequest;
|
|
126
139
|
requestAPIList<Item = unknown, PageClass extends AbstractPage<Item> = AbstractPage<Item>>(Page: new (...args: ConstructorParameters<typeof AbstractPage>) => PageClass, options: FinalRequestOptions): PagePromise<PageClass, Item>;
|
|
127
|
-
buildURL<Req>(path: string, query: Req | null | undefined): string;
|
|
140
|
+
buildURL<Req>(path: string, query: Req | null | undefined, defaultBaseURL?: string | undefined): string;
|
|
128
141
|
protected stringifyQuery(query: Record<string, unknown>): string;
|
|
129
142
|
fetchWithTimeout(url: RequestInfo, init: RequestInit | undefined, ms: number, controller: AbortController): Promise<Response>;
|
|
130
143
|
private shouldRetry;
|
|
@@ -190,6 +203,7 @@ export type RequestOptions<Req = unknown | Record<string, unknown> | Readable |
|
|
|
190
203
|
query?: Req | undefined;
|
|
191
204
|
body?: Req | null | undefined;
|
|
192
205
|
headers?: Headers | undefined;
|
|
206
|
+
defaultBaseURL?: string | undefined;
|
|
193
207
|
maxRetries?: number;
|
|
194
208
|
stream?: boolean | undefined;
|
|
195
209
|
timeout?: number;
|
package/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["src/core.ts"],"names":[],"mappings":";;AACA,OAAO,EAEL,QAAQ,EAIT,MAAM,SAAS,CAAC;AACjB,OAAO,EAEL,KAAK,QAAQ,EAEb,KAAK,KAAK,EAEV,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["src/core.ts"],"names":[],"mappings":"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"}
|
package/core.js
CHANGED
|
@@ -10,12 +10,14 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
11
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
12
|
};
|
|
13
|
-
var _AbstractPage_client;
|
|
13
|
+
var _APIClient_baseURLOverridden, _AbstractPage_client;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.isObj = exports.toBase64 = exports.getHeader = exports.getRequiredHeader = exports.isHeadersProtocol = exports.isRunningInBrowser = exports.debug = exports.hasOwn = exports.isEmptyObj = exports.maybeCoerceBoolean = exports.maybeCoerceFloat = exports.maybeCoerceInteger = exports.coerceBoolean = exports.coerceFloat = exports.coerceInteger = exports.readEnv = exports.ensurePresent = exports.castToError = exports.sleep = exports.safeJSON = exports.isRequestOptions = exports.createResponseHeaders = exports.PagePromise = exports.AbstractPage = exports.APIClient = exports.APIPromise = exports.createForm = exports.multipartFormRequestOptions = exports.maybeMultipartFormRequestOptions = void 0;
|
|
16
16
|
const version_1 = require("./version.js");
|
|
17
17
|
const error_1 = require("./error.js");
|
|
18
18
|
const index_1 = require("./_shims/index.js");
|
|
19
|
+
// try running side effects outside of _shims/index to workaround https://github.com/vercel/next.js/issues/76881
|
|
20
|
+
(0, index_1.init)();
|
|
19
21
|
const uploads_1 = require("./uploads.js");
|
|
20
22
|
var uploads_2 = require("./uploads.js");
|
|
21
23
|
Object.defineProperty(exports, "maybeMultipartFormRequestOptions", { enumerable: true, get: function () { return uploads_2.maybeMultipartFormRequestOptions; } });
|
|
@@ -112,9 +114,11 @@ class APIPromise extends Promise {
|
|
|
112
114
|
}
|
|
113
115
|
exports.APIPromise = APIPromise;
|
|
114
116
|
class APIClient {
|
|
115
|
-
constructor({ baseURL, maxRetries = 2, timeout = 60000, // 1 minute
|
|
117
|
+
constructor({ baseURL, baseURLOverridden, maxRetries = 2, timeout = 60000, // 1 minute
|
|
116
118
|
httpAgent, fetch: overriddenFetch, }) {
|
|
119
|
+
_APIClient_baseURLOverridden.set(this, void 0);
|
|
117
120
|
this.baseURL = baseURL;
|
|
121
|
+
__classPrivateFieldSet(this, _APIClient_baseURLOverridden, baseURLOverridden, "f");
|
|
118
122
|
this.maxRetries = validatePositiveInteger('maxRetries', maxRetries);
|
|
119
123
|
this.timeout = validatePositiveInteger('timeout', timeout);
|
|
120
124
|
this.httpAgent = httpAgent;
|
|
@@ -134,7 +138,7 @@ class APIClient {
|
|
|
134
138
|
defaultHeaders(opts) {
|
|
135
139
|
return {
|
|
136
140
|
Accept: 'application/json',
|
|
137
|
-
'Content-Type': 'application/json',
|
|
141
|
+
...(['head', 'get'].includes(opts.method) ? {} : { 'Content-Type': 'application/json' }),
|
|
138
142
|
'User-Agent': this.getUserAgent(),
|
|
139
143
|
...getPlatformHeaders(),
|
|
140
144
|
...this.authHeaders(opts),
|
|
@@ -191,20 +195,21 @@ class APIClient {
|
|
|
191
195
|
}
|
|
192
196
|
return null;
|
|
193
197
|
}
|
|
194
|
-
buildRequest(
|
|
195
|
-
const
|
|
198
|
+
async buildRequest(inputOptions, { retryCount = 0 } = {}) {
|
|
199
|
+
const options = { ...inputOptions };
|
|
200
|
+
const { method, path, query, defaultBaseURL, headers: headers = {} } = options;
|
|
196
201
|
const body = ArrayBuffer.isView(options.body) || (options.__binaryRequest && typeof options.body === 'string') ?
|
|
197
202
|
options.body
|
|
198
203
|
: (0, uploads_1.isMultipartBody)(options.body) ? options.body.body
|
|
199
204
|
: options.body ? JSON.stringify(options.body, null, 2)
|
|
200
205
|
: null;
|
|
201
206
|
const contentLength = this.calculateContentLength(body);
|
|
202
|
-
const url = this.buildURL(path, query);
|
|
207
|
+
const url = this.buildURL(path, query, defaultBaseURL);
|
|
203
208
|
if ('timeout' in options)
|
|
204
209
|
validatePositiveInteger('timeout', options.timeout);
|
|
205
|
-
|
|
210
|
+
options.timeout = options.timeout ?? this.timeout;
|
|
206
211
|
const httpAgent = options.httpAgent ?? this.httpAgent ?? (0, index_1.getDefaultAgent)(url);
|
|
207
|
-
const minAgentTimeout = timeout + 1000;
|
|
212
|
+
const minAgentTimeout = options.timeout + 1000;
|
|
208
213
|
if (typeof httpAgent?.options?.timeout === 'number' &&
|
|
209
214
|
minAgentTimeout > (httpAgent.options.timeout ?? 0)) {
|
|
210
215
|
// Allow any given request to bump our agent active socket timeout.
|
|
@@ -214,9 +219,9 @@ class APIClient {
|
|
|
214
219
|
httpAgent.options.timeout = minAgentTimeout;
|
|
215
220
|
}
|
|
216
221
|
if (this.idempotencyHeader && method !== 'get') {
|
|
217
|
-
if (!
|
|
218
|
-
|
|
219
|
-
headers[this.idempotencyHeader] =
|
|
222
|
+
if (!inputOptions.idempotencyKey)
|
|
223
|
+
inputOptions.idempotencyKey = this.defaultIdempotencyKey();
|
|
224
|
+
headers[this.idempotencyHeader] = inputOptions.idempotencyKey;
|
|
220
225
|
}
|
|
221
226
|
const reqHeaders = this.buildHeaders({ options, headers, contentLength, retryCount });
|
|
222
227
|
const req = {
|
|
@@ -228,7 +233,7 @@ class APIClient {
|
|
|
228
233
|
// not compatible with standard web types
|
|
229
234
|
signal: options.signal ?? null,
|
|
230
235
|
};
|
|
231
|
-
return { req, url, timeout };
|
|
236
|
+
return { req, url, timeout: options.timeout };
|
|
232
237
|
}
|
|
233
238
|
buildHeaders({ options, headers, contentLength, retryCount, }) {
|
|
234
239
|
const reqHeaders = {};
|
|
@@ -242,13 +247,18 @@ class APIClient {
|
|
|
242
247
|
if ((0, uploads_1.isMultipartBody)(options.body) && index_1.kind !== 'node') {
|
|
243
248
|
delete reqHeaders['content-type'];
|
|
244
249
|
}
|
|
245
|
-
// Don't set
|
|
246
|
-
//
|
|
247
|
-
//
|
|
250
|
+
// Don't set theses headers if they were already set or removed through default headers or by the caller.
|
|
251
|
+
// We check `defaultHeaders` and `headers`, which can contain nulls, instead of `reqHeaders` to account
|
|
252
|
+
// for the removal case.
|
|
248
253
|
if ((0, exports.getHeader)(defaultHeaders, 'x-stainless-retry-count') === undefined &&
|
|
249
254
|
(0, exports.getHeader)(headers, 'x-stainless-retry-count') === undefined) {
|
|
250
255
|
reqHeaders['x-stainless-retry-count'] = String(retryCount);
|
|
251
256
|
}
|
|
257
|
+
if ((0, exports.getHeader)(defaultHeaders, 'x-stainless-timeout') === undefined &&
|
|
258
|
+
(0, exports.getHeader)(headers, 'x-stainless-timeout') === undefined &&
|
|
259
|
+
options.timeout) {
|
|
260
|
+
reqHeaders['x-stainless-timeout'] = String(Math.trunc(options.timeout / 1000));
|
|
261
|
+
}
|
|
252
262
|
this.validateHeaders(reqHeaders, headers);
|
|
253
263
|
return reqHeaders;
|
|
254
264
|
}
|
|
@@ -282,7 +292,9 @@ class APIClient {
|
|
|
282
292
|
retriesRemaining = maxRetries;
|
|
283
293
|
}
|
|
284
294
|
await this.prepareOptions(options);
|
|
285
|
-
const { req, url, timeout } = this.buildRequest(options, {
|
|
295
|
+
const { req, url, timeout } = await this.buildRequest(options, {
|
|
296
|
+
retryCount: maxRetries - retriesRemaining,
|
|
297
|
+
});
|
|
286
298
|
await this.prepareRequest(req, { url, options });
|
|
287
299
|
debug('request', url, options, req.headers);
|
|
288
300
|
if (options.signal?.aborted) {
|
|
@@ -323,10 +335,11 @@ class APIClient {
|
|
|
323
335
|
const request = this.makeRequest(options, null);
|
|
324
336
|
return new PagePromise(this, request, Page);
|
|
325
337
|
}
|
|
326
|
-
buildURL(path, query) {
|
|
338
|
+
buildURL(path, query, defaultBaseURL) {
|
|
339
|
+
const baseURL = (!__classPrivateFieldGet(this, _APIClient_baseURLOverridden, "f") && defaultBaseURL) || this.baseURL;
|
|
327
340
|
const url = isAbsoluteURL(path) ?
|
|
328
341
|
new URL(path)
|
|
329
|
-
: new URL(
|
|
342
|
+
: new URL(baseURL + (baseURL.endsWith('/') && path.startsWith('/') ? path.slice(1) : path));
|
|
330
343
|
const defaultQuery = this.defaultQuery();
|
|
331
344
|
if (!isEmptyObj(defaultQuery)) {
|
|
332
345
|
query = { ...defaultQuery, ...query };
|
|
@@ -437,6 +450,7 @@ class APIClient {
|
|
|
437
450
|
}
|
|
438
451
|
}
|
|
439
452
|
exports.APIClient = APIClient;
|
|
453
|
+
_APIClient_baseURLOverridden = new WeakMap();
|
|
440
454
|
class AbstractPage {
|
|
441
455
|
constructor(client, response, body, options) {
|
|
442
456
|
_AbstractPage_client.set(this, void 0);
|
|
@@ -536,6 +550,7 @@ const requestOptionsKeys = {
|
|
|
536
550
|
query: true,
|
|
537
551
|
body: true,
|
|
538
552
|
headers: true,
|
|
553
|
+
defaultBaseURL: true,
|
|
539
554
|
maxRetries: true,
|
|
540
555
|
stream: true,
|
|
541
556
|
timeout: true,
|