@tensorcost/sdk 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +74 -0
- package/README.md +5 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +22 -0
- package/dist/config.js.map +1 -1
- package/dist/errors.d.ts +20 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +22 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/providers/anthropic.d.ts +2 -1
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +104 -12
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/bedrock.d.ts +1 -1
- package/dist/providers/bedrock.d.ts.map +1 -1
- package/dist/providers/bedrock.js +19 -3
- package/dist/providers/bedrock.js.map +1 -1
- package/dist/providers/detect.d.ts.map +1 -1
- package/dist/providers/detect.js +17 -2
- package/dist/providers/detect.js.map +1 -1
- package/dist/providers/index.d.ts +1 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +1 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/openai.d.ts +2 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +158 -14
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/vertex.d.ts +14 -0
- package/dist/providers/vertex.d.ts.map +1 -0
- package/dist/providers/vertex.js +167 -0
- package/dist/providers/vertex.js.map +1 -0
- package/dist/proxy-client.d.ts +24 -0
- package/dist/proxy-client.d.ts.map +1 -1
- package/dist/proxy-client.js +66 -1
- package/dist/proxy-client.js.map +1 -1
- package/dist/transport.d.ts +3 -0
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +9 -2
- package/dist/transport.js.map +1 -1
- package/dist/types.d.ts +108 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/wrap.d.ts +5 -2
- package/dist/wrap.d.ts.map +1 -1
- package/dist/wrap.js +20 -6
- package/dist/wrap.js.map +1 -1
- package/package.json +7 -2
package/dist/wrap.js
CHANGED
|
@@ -17,8 +17,11 @@
|
|
|
17
17
|
*
|
|
18
18
|
* Bedrock (v0.4.0): observe-only. Applied mode is not supported for Bedrock —
|
|
19
19
|
* wrap(bedrockClient, { appliedMode: true }) throws TensorCostConfigError.
|
|
20
|
-
*
|
|
21
|
-
*
|
|
20
|
+
*
|
|
21
|
+
* Vertex (v0.6.0): observe-only. Applied mode is not supported for Vertex —
|
|
22
|
+
* wrap(vertexClient, { appliedMode: true }) throws TensorCostConfigError.
|
|
23
|
+
* The method wrappers on client.models intercept generate_content calls
|
|
24
|
+
* transparently.
|
|
22
25
|
*/
|
|
23
26
|
import { resolveConfig } from "./config.js";
|
|
24
27
|
import { TensorCostConfigError } from "./config.js";
|
|
@@ -28,6 +31,7 @@ import { installAppliedMode } from "./applied.js";
|
|
|
28
31
|
import * as openaiProvider from "./providers/openai.js";
|
|
29
32
|
import * as anthropicProvider from "./providers/anthropic.js";
|
|
30
33
|
import * as bedrockProvider from "./providers/bedrock.js";
|
|
34
|
+
import * as vertexProvider from "./providers/vertex.js";
|
|
31
35
|
import { CircuitBreaker } from "./circuit.js";
|
|
32
36
|
export function wrap(client, options = {}) {
|
|
33
37
|
// resolveConfig throws MissingConfigError when apiKey is absent, and
|
|
@@ -37,6 +41,7 @@ export function wrap(client, options = {}) {
|
|
|
37
41
|
const transport = new ObservationTransport({
|
|
38
42
|
baseUrl: config.baseUrl,
|
|
39
43
|
apiKey: config.apiKey,
|
|
44
|
+
tenantId: config.tenantId,
|
|
40
45
|
failOpen: config.failOpen,
|
|
41
46
|
});
|
|
42
47
|
const provider = detectProvider(client);
|
|
@@ -50,6 +55,12 @@ export function wrap(client, options = {}) {
|
|
|
50
55
|
"Bedrock uses SigV4 signing that cannot be intercepted at the proxy layer. " +
|
|
51
56
|
"Remove { appliedMode: true } or use an OpenAI / Anthropic client instead.");
|
|
52
57
|
}
|
|
58
|
+
if (provider === "vertex" && config.appliedMode) {
|
|
59
|
+
throw new TensorCostConfigError("TensorCost applied mode is not supported for Google Vertex AI clients. " +
|
|
60
|
+
"Vertex uses Application Default Credentials and Google-managed transport " +
|
|
61
|
+
"that cannot be intercepted at the proxy layer. Remove { appliedMode: true } " +
|
|
62
|
+
"or use an OpenAI / Anthropic client instead.");
|
|
63
|
+
}
|
|
53
64
|
// Applied mode: redirect the client to the proxy before installing
|
|
54
65
|
// the observe-only wrappers. Order matters — installAppliedMode mutates
|
|
55
66
|
// baseURL and defaultHeaders, and the provider wrappers capture the
|
|
@@ -71,7 +82,7 @@ export function wrap(client, options = {}) {
|
|
|
71
82
|
onLifecycleEvent: config.onLifecycleEvent,
|
|
72
83
|
failOpenEnabled: config.failOpenEnabled,
|
|
73
84
|
circuit,
|
|
74
|
-
});
|
|
85
|
+
}, config.deployment, config.promptTemplateId, config.agentId, config.workflowId);
|
|
75
86
|
}
|
|
76
87
|
else if (provider === "anthropic") {
|
|
77
88
|
anthropicProvider.install(client, transport, config.tenantId, config.environment, config.connectionId, {
|
|
@@ -82,11 +93,14 @@ export function wrap(client, options = {}) {
|
|
|
82
93
|
onLifecycleEvent: config.onLifecycleEvent,
|
|
83
94
|
failOpenEnabled: config.failOpenEnabled,
|
|
84
95
|
circuit,
|
|
85
|
-
});
|
|
96
|
+
}, config.deployment, config.promptTemplateId, config.agentId, config.workflowId);
|
|
97
|
+
}
|
|
98
|
+
else if (provider === "bedrock") {
|
|
99
|
+
bedrockProvider.install(client, transport, config.tenantId, config.environment, config.connectionId, config.deployment, config.promptTemplateId, config.agentId, config.workflowId);
|
|
86
100
|
}
|
|
87
101
|
else {
|
|
88
|
-
// provider === "
|
|
89
|
-
|
|
102
|
+
// provider === "vertex"
|
|
103
|
+
vertexProvider.install(client, transport, config.tenantId, config.environment, config.connectionId, config.deployment, config.promptTemplateId, config.agentId, config.workflowId);
|
|
90
104
|
}
|
|
91
105
|
return client;
|
|
92
106
|
}
|
package/dist/wrap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap.js","sourceRoot":"","sources":["../src/wrap.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"wrap.js","sourceRoot":"","sources":["../src/wrap.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tensorcost/sdk",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "One-line wrapper SDK for TensorCost — fire-and-forget LLM observability for OpenAI, Anthropic,
|
|
3
|
+
"version": "0.6.0",
|
|
4
|
+
"description": "One-line wrapper SDK for TensorCost — fire-and-forget LLM observability for OpenAI, Anthropic, AWS Bedrock, and Google Vertex AI clients.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./dist/index.js",
|
|
@@ -19,6 +19,9 @@
|
|
|
19
19
|
"CHANGELOG.md",
|
|
20
20
|
"LICENSE"
|
|
21
21
|
],
|
|
22
|
+
"publishConfig": {
|
|
23
|
+
"access": "public"
|
|
24
|
+
},
|
|
22
25
|
"engines": {
|
|
23
26
|
"node": ">=18.0.0"
|
|
24
27
|
},
|
|
@@ -27,6 +30,8 @@
|
|
|
27
30
|
"openai",
|
|
28
31
|
"anthropic",
|
|
29
32
|
"bedrock",
|
|
33
|
+
"vertex",
|
|
34
|
+
"google",
|
|
30
35
|
"aws",
|
|
31
36
|
"observability",
|
|
32
37
|
"cost",
|