shield360 1.0.0 → 1.1.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/README.md +29 -1
- package/dist/__tests__/build-info.test.d.ts +1 -0
- package/dist/__tests__/build-info.test.js +189 -0
- package/dist/__tests__/build-info.test.js.map +1 -0
- package/dist/__tests__/code-location.test.d.ts +1 -0
- package/dist/__tests__/code-location.test.js +180 -0
- package/dist/__tests__/code-location.test.js.map +1 -0
- package/dist/__tests__/destination.test.d.ts +1 -0
- package/dist/__tests__/destination.test.js +76 -0
- package/dist/__tests__/destination.test.js.map +1 -0
- package/dist/__tests__/pricing-claude-5.test.d.ts +1 -0
- package/dist/__tests__/pricing-claude-5.test.js +56 -0
- package/dist/__tests__/pricing-claude-5.test.js.map +1 -0
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/destination.d.ts +37 -0
- package/dist/destination.js +64 -0
- package/dist/destination.js.map +1 -0
- package/dist/guard/__tests__/findings.test.js +27 -8
- package/dist/guard/__tests__/findings.test.js.map +1 -1
- package/dist/guard/base.d.ts +2 -0
- package/dist/guard/base.js +4 -0
- package/dist/guard/base.js.map +1 -1
- package/dist/guard/findings.d.ts +12 -2
- package/dist/guard/findings.js +19 -49
- package/dist/guard/findings.js.map +1 -1
- package/dist/guard/integration.d.ts +24 -3
- package/dist/guard/integration.js +102 -30
- package/dist/guard/integration.js.map +1 -1
- package/dist/guard/pipeline.d.ts +10 -1
- package/dist/guard/pipeline.js +14 -0
- package/dist/guard/pipeline.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +47 -17
- package/dist/index.js.map +1 -1
- package/dist/instrumentation/__tests__/anthropic-api-promise.test.d.ts +1 -0
- package/dist/instrumentation/__tests__/anthropic-api-promise.test.js +99 -0
- package/dist/instrumentation/__tests__/anthropic-api-promise.test.js.map +1 -0
- package/dist/instrumentation/__tests__/anthropic-instrumentation.test.d.ts +1 -0
- package/dist/instrumentation/__tests__/anthropic-instrumentation.test.js +86 -0
- package/dist/instrumentation/__tests__/anthropic-instrumentation.test.js.map +1 -0
- package/dist/instrumentation/anthropic/index.d.ts +6 -0
- package/dist/instrumentation/anthropic/index.js +41 -4
- package/dist/instrumentation/anthropic/index.js.map +1 -1
- package/dist/instrumentation/anthropic/wrapper.d.ts +9 -1
- package/dist/instrumentation/anthropic/wrapper.js +51 -20
- package/dist/instrumentation/anthropic/wrapper.js.map +1 -1
- package/dist/instrumentation/mcp/wrapper.js +7 -1
- package/dist/instrumentation/mcp/wrapper.js.map +1 -1
- package/dist/otel/build-info.d.ts +22 -0
- package/dist/otel/build-info.js +175 -0
- package/dist/otel/build-info.js.map +1 -0
- package/dist/otel/code-location.d.ts +49 -0
- package/dist/otel/code-location.js +233 -0
- package/dist/otel/code-location.js.map +1 -0
- package/dist/otel/tracing.js +7 -0
- package/dist/otel/tracing.js.map +1 -1
- package/dist/pricing.json +130 -36
- package/dist/protect/__tests__/protect.test.d.ts +1 -0
- package/dist/protect/__tests__/protect.test.js +206 -0
- package/dist/protect/__tests__/protect.test.js.map +1 -0
- package/dist/protect/index.d.ts +103 -0
- package/dist/protect/index.js +191 -0
- package/dist/protect/index.js.map +1 -0
- package/dist/protect/mcp.d.ts +13 -0
- package/dist/protect/mcp.js +49 -0
- package/dist/protect/mcp.js.map +1 -0
- package/dist/protect/mode.d.ts +89 -0
- package/dist/protect/mode.js +134 -0
- package/dist/protect/mode.js.map +1 -0
- package/dist/types.d.ts +22 -0
- package/package.json +1 -1
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CodeLocationSpanProcessor = exports.PathNormaliser = exports.ATTR_CODE_LINE_NUMBER = exports.ATTR_CODE_FILE_PATH = exports.ATTR_CODE_FUNCTION_NAME = void 0;
|
|
4
|
+
exports.resolveCaptureCodeLocation = resolveCaptureCodeLocation;
|
|
5
|
+
exports.anonymiseAbsolutePath = anonymiseAbsolutePath;
|
|
6
|
+
/**
|
|
7
|
+
* Code location on GenAI spans: code.function.name, code.file.path and
|
|
8
|
+
* code.line.number of the application call site that started the span.
|
|
9
|
+
*
|
|
10
|
+
* A SpanProcessor's onStart runs synchronously inside tracer.startSpan, so
|
|
11
|
+
* the caller's stack is still live there and one processor covers every
|
|
12
|
+
* instrumentation. Only names, repo-relative paths and line numbers are
|
|
13
|
+
* captured: never argument values, locals or source text.
|
|
14
|
+
*/
|
|
15
|
+
const fs_1 = require("fs");
|
|
16
|
+
const os_1 = require("os");
|
|
17
|
+
const path_1 = require("path");
|
|
18
|
+
const url_1 = require("url");
|
|
19
|
+
const constant_1 = require("../constant");
|
|
20
|
+
exports.ATTR_CODE_FUNCTION_NAME = 'code.function.name';
|
|
21
|
+
exports.ATTR_CODE_FILE_PATH = 'code.file.path';
|
|
22
|
+
exports.ATTR_CODE_LINE_NUMBER = 'code.line.number';
|
|
23
|
+
const GEN_AI_OPERATION = 'gen_ai.operation.name';
|
|
24
|
+
// These instrumentations set gen_ai.operation.name after span creation, so
|
|
25
|
+
// their spans are recognised by instrumentation scope instead.
|
|
26
|
+
const LATE_OPERATION_SCOPES = new Set(['langchain', 'mcp', 'browser-use'].map((n) => `${constant_1.INSTRUMENTATION_PREFIX}/instrumentation-${n}`));
|
|
27
|
+
const MAX_CACHE_ENTRIES = 4096;
|
|
28
|
+
const STACK_LIMIT = 64;
|
|
29
|
+
const FALSY = new Set(['false', '0', 'no', 'off']);
|
|
30
|
+
// The SDK's own compiled or source directory (dist/ or src/). Its tests are
|
|
31
|
+
// application code for this purpose.
|
|
32
|
+
const SDK_DIR = toPosix((0, path_1.resolve)(__dirname, '..'));
|
|
33
|
+
/** captureCodeLocation option wins; otherwise SHIELD360_CAPTURE_CODE_LOCATION; default on. */
|
|
34
|
+
function resolveCaptureCodeLocation(option) {
|
|
35
|
+
if (option !== undefined)
|
|
36
|
+
return option;
|
|
37
|
+
const env = process.env.SHIELD360_CAPTURE_CODE_LOCATION;
|
|
38
|
+
return !(env && FALSY.has(env.trim().toLowerCase()));
|
|
39
|
+
}
|
|
40
|
+
function toPosix(p) {
|
|
41
|
+
return p.replace(/\\/g, '/');
|
|
42
|
+
}
|
|
43
|
+
function stripPrefix(path, root) {
|
|
44
|
+
if (!root)
|
|
45
|
+
return undefined;
|
|
46
|
+
const r = toPosix(root).replace(/\/+$/, '');
|
|
47
|
+
if (r && path.startsWith(r + '/'))
|
|
48
|
+
return path.slice(r.length + 1);
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
/** CI workspace and home directory prefixes, CI first (a runner's workspace sits under its home). */
|
|
52
|
+
const BUILD_HOST_PREFIXES = [
|
|
53
|
+
/^\/home\/runner\/work\/[^/]+\/[^/]+\//, // GitHub Actions
|
|
54
|
+
/^\/github\/workspace\//, // GitHub container actions
|
|
55
|
+
/^\/home\/vsts\/work\/[^/]+\/s\//, // Azure Pipelines
|
|
56
|
+
/^\/builds\/[^/]+\/[^/]+\//, // GitLab CI
|
|
57
|
+
/^\/var\/lib\/buildkite-agent\/builds\/[^/]+\/[^/]+\/[^/]+\//, // Buildkite
|
|
58
|
+
/^\/(?:var\/lib\/jenkins|var\/jenkins_home)\/workspace\/[^/]+\//, // Jenkins
|
|
59
|
+
/^\/opt\/atlassian\/pipelines\/agent\/build\//, // Bitbucket Pipelines
|
|
60
|
+
/^\/codebuild\/output\/src[^/]*\/src\//, // AWS CodeBuild
|
|
61
|
+
/^\/home\/[^/]+\//,
|
|
62
|
+
/^\/Users\/[^/]+\//,
|
|
63
|
+
/^[A-Za-z]:\/Users\/[^/]+\//,
|
|
64
|
+
/^\/root\//,
|
|
65
|
+
];
|
|
66
|
+
/**
|
|
67
|
+
* Drops the first home directory or CI workspace prefix of an absolute path:
|
|
68
|
+
* the last resort for a path under no code root, repository, working directory
|
|
69
|
+
* or the current user's home. Other absolute paths (/srv/app/...) are kept.
|
|
70
|
+
*/
|
|
71
|
+
function anonymiseAbsolutePath(path) {
|
|
72
|
+
for (const re of BUILD_HOST_PREFIXES) {
|
|
73
|
+
const m = re.exec(path);
|
|
74
|
+
if (m)
|
|
75
|
+
return path.slice(m[0].length);
|
|
76
|
+
}
|
|
77
|
+
return path;
|
|
78
|
+
}
|
|
79
|
+
class PathNormaliser {
|
|
80
|
+
constructor(options = {}) {
|
|
81
|
+
this.gitDirs = new Map();
|
|
82
|
+
const codeRoot = options.codeRoot ?? process.env.SHIELD360_CODE_ROOT;
|
|
83
|
+
this.codeRoot = codeRoot ? toPosix((0, path_1.resolve)(codeRoot)) : undefined;
|
|
84
|
+
this.cwd = toPosix(options.cwd ?? process.cwd());
|
|
85
|
+
this.home = toPosix(options.home ?? (0, os_1.homedir)());
|
|
86
|
+
}
|
|
87
|
+
/** Repo-relative path for a stack-frame file (path or file:// URL). */
|
|
88
|
+
normalise(file) {
|
|
89
|
+
let path = file;
|
|
90
|
+
if (path.startsWith('file://')) {
|
|
91
|
+
path = (0, url_1.fileURLToPath)(path.replace(/[?#].*$/, ''));
|
|
92
|
+
}
|
|
93
|
+
path = toPosix(path);
|
|
94
|
+
const relative = stripPrefix(path, this.codeRoot) ??
|
|
95
|
+
stripPrefix(path, this.gitRoot(path)) ??
|
|
96
|
+
stripPrefix(path, this.cwd) ??
|
|
97
|
+
stripPrefix(path, this.home) ??
|
|
98
|
+
anonymiseAbsolutePath(path);
|
|
99
|
+
return relative.replace(/^\.\//, '');
|
|
100
|
+
}
|
|
101
|
+
/** Nearest ancestor containing .git; each directory is probed at most once. */
|
|
102
|
+
gitRoot(path) {
|
|
103
|
+
let dir = (0, path_1.dirname)(path);
|
|
104
|
+
for (;;) {
|
|
105
|
+
let hasGit = this.gitDirs.get(dir);
|
|
106
|
+
if (hasGit === undefined) {
|
|
107
|
+
hasGit = (0, fs_1.existsSync)((0, path_1.join)(dir, '.git'));
|
|
108
|
+
if (this.gitDirs.size < MAX_CACHE_ENTRIES)
|
|
109
|
+
this.gitDirs.set(dir, hasGit);
|
|
110
|
+
}
|
|
111
|
+
if (hasGit)
|
|
112
|
+
return toPosix(dir);
|
|
113
|
+
const parent = (0, path_1.dirname)(dir);
|
|
114
|
+
if (parent === dir)
|
|
115
|
+
return undefined;
|
|
116
|
+
dir = parent;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
exports.PathNormaliser = PathNormaliser;
|
|
121
|
+
const FRAME_RE = /^\s*at (?:(.+?) \()?(.+?):(\d+):(\d+)\)?$/;
|
|
122
|
+
function isApplicationFile(file) {
|
|
123
|
+
if (file.startsWith('node:') || file.startsWith('internal/') || file.startsWith('<'))
|
|
124
|
+
return false;
|
|
125
|
+
if (!(file.startsWith('/') || file.startsWith('file://') || /^[A-Za-z]:[\\/]/.test(file))) {
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
128
|
+
const posix = toPosix(file);
|
|
129
|
+
if (posix.includes('/node_modules/'))
|
|
130
|
+
return false;
|
|
131
|
+
if (posix.startsWith(SDK_DIR + '/') && !posix.includes('/__tests__/'))
|
|
132
|
+
return false;
|
|
133
|
+
return true;
|
|
134
|
+
}
|
|
135
|
+
function cleanFunctionName(raw) {
|
|
136
|
+
if (!raw)
|
|
137
|
+
return undefined;
|
|
138
|
+
const name = raw
|
|
139
|
+
.replace(/^async /, '')
|
|
140
|
+
.replace(/^new /, '')
|
|
141
|
+
.replace(/ \[as [^\]]+\]$/, '')
|
|
142
|
+
.trim();
|
|
143
|
+
if (!name || name.includes('<anonymous>'))
|
|
144
|
+
return undefined;
|
|
145
|
+
return name;
|
|
146
|
+
}
|
|
147
|
+
class CodeLocationSpanProcessor {
|
|
148
|
+
constructor(options = {}) {
|
|
149
|
+
// Raw frame line -> parsed application frame, or null when not one.
|
|
150
|
+
this.cache = new Map();
|
|
151
|
+
this.normaliser = new PathNormaliser(options);
|
|
152
|
+
}
|
|
153
|
+
onStart(span, _parentContext) {
|
|
154
|
+
try {
|
|
155
|
+
if (!isGenAISpan(span))
|
|
156
|
+
return;
|
|
157
|
+
const attrs = span.attributes;
|
|
158
|
+
if (attrs[exports.ATTR_CODE_FUNCTION_NAME] !== undefined ||
|
|
159
|
+
attrs[exports.ATTR_CODE_FILE_PATH] !== undefined ||
|
|
160
|
+
attrs[exports.ATTR_CODE_LINE_NUMBER] !== undefined) {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
const frame = this.findApplicationFrame(captureStack());
|
|
164
|
+
if (!frame)
|
|
165
|
+
return;
|
|
166
|
+
if (frame.functionName)
|
|
167
|
+
span.setAttribute(exports.ATTR_CODE_FUNCTION_NAME, frame.functionName);
|
|
168
|
+
span.setAttribute(exports.ATTR_CODE_FILE_PATH, frame.filePath);
|
|
169
|
+
span.setAttribute(exports.ATTR_CODE_LINE_NUMBER, frame.lineNumber);
|
|
170
|
+
}
|
|
171
|
+
catch {
|
|
172
|
+
// Never break span creation.
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
/** Visible for tests: number of cached frame lines. */
|
|
176
|
+
get cacheSize() {
|
|
177
|
+
return this.cache.size;
|
|
178
|
+
}
|
|
179
|
+
/** First application frame in a V8 stack string. */
|
|
180
|
+
findApplicationFrame(stack) {
|
|
181
|
+
if (!stack)
|
|
182
|
+
return undefined;
|
|
183
|
+
const lines = stack.split('\n');
|
|
184
|
+
for (let i = 1; i < lines.length; i++) {
|
|
185
|
+
const frame = this.parseLine(lines[i]);
|
|
186
|
+
if (frame)
|
|
187
|
+
return frame;
|
|
188
|
+
}
|
|
189
|
+
return undefined;
|
|
190
|
+
}
|
|
191
|
+
parseLine(line) {
|
|
192
|
+
const cached = this.cache.get(line);
|
|
193
|
+
if (cached !== undefined)
|
|
194
|
+
return cached;
|
|
195
|
+
let frame = null;
|
|
196
|
+
const m = FRAME_RE.exec(line);
|
|
197
|
+
if (m && !m[2].includes('(') && isApplicationFile(m[2])) {
|
|
198
|
+
frame = {
|
|
199
|
+
functionName: cleanFunctionName(m[1]),
|
|
200
|
+
filePath: this.normaliser.normalise(m[2]),
|
|
201
|
+
lineNumber: Number(m[3]),
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
if (this.cache.size < MAX_CACHE_ENTRIES)
|
|
205
|
+
this.cache.set(line, frame);
|
|
206
|
+
return frame;
|
|
207
|
+
}
|
|
208
|
+
onEnd(_span) { }
|
|
209
|
+
forceFlush() {
|
|
210
|
+
return Promise.resolve();
|
|
211
|
+
}
|
|
212
|
+
shutdown() {
|
|
213
|
+
return Promise.resolve();
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
exports.CodeLocationSpanProcessor = CodeLocationSpanProcessor;
|
|
217
|
+
function isGenAISpan(span) {
|
|
218
|
+
if (span.attributes[GEN_AI_OPERATION] !== undefined)
|
|
219
|
+
return true;
|
|
220
|
+
const scope = span.instrumentationScope?.name;
|
|
221
|
+
return scope !== undefined && LATE_OPERATION_SCOPES.has(scope);
|
|
222
|
+
}
|
|
223
|
+
function captureStack() {
|
|
224
|
+
const previous = Error.stackTraceLimit;
|
|
225
|
+
try {
|
|
226
|
+
Error.stackTraceLimit = STACK_LIMIT;
|
|
227
|
+
return new Error().stack;
|
|
228
|
+
}
|
|
229
|
+
finally {
|
|
230
|
+
Error.stackTraceLimit = previous;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=code-location.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-location.js","sourceRoot":"","sources":["../../src/otel/code-location.ts"],"names":[],"mappings":"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"}
|
package/dist/otel/tracing.js
CHANGED
|
@@ -9,6 +9,7 @@ const exporter_trace_otlp_http_1 = require("@opentelemetry/exporter-trace-otlp-h
|
|
|
9
9
|
const instrumentation_1 = __importDefault(require("../instrumentation"));
|
|
10
10
|
const config_1 = __importDefault(require("../config"));
|
|
11
11
|
const utils_1 = require("./utils");
|
|
12
|
+
const code_location_1 = require("./code-location");
|
|
12
13
|
let TRACER_SET = false;
|
|
13
14
|
class Tracing {
|
|
14
15
|
static setup(options) {
|
|
@@ -22,6 +23,9 @@ class Tracing {
|
|
|
22
23
|
if (isSDKProvider) {
|
|
23
24
|
// Reuse existing SDK TracerProvider
|
|
24
25
|
this.traceProvider = existingProvider;
|
|
26
|
+
if (options.captureCodeLocation) {
|
|
27
|
+
existingProvider.addSpanProcessor(new code_location_1.CodeLocationSpanProcessor({ codeRoot: options.codeRoot }));
|
|
28
|
+
}
|
|
25
29
|
}
|
|
26
30
|
else {
|
|
27
31
|
const spanProcessors = Tracing.buildSpanProcessors(options);
|
|
@@ -47,6 +51,9 @@ class Tracing {
|
|
|
47
51
|
}
|
|
48
52
|
static buildSpanProcessors(options) {
|
|
49
53
|
const processors = [];
|
|
54
|
+
if (options.captureCodeLocation) {
|
|
55
|
+
processors.push(new code_location_1.CodeLocationSpanProcessor({ codeRoot: options.codeRoot }));
|
|
56
|
+
}
|
|
50
57
|
const exporterList = (0, utils_1.parseExporters)('OTEL_TRACES_EXPORTER');
|
|
51
58
|
if (exporterList) {
|
|
52
59
|
for (const name of exporterList) {
|
package/dist/otel/tracing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/otel/tracing.ts"],"names":[],"mappings":";;;;;AAAA,4CAA2C;AAE3C,
|
|
1
|
+
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/otel/tracing.ts"],"names":[],"mappings":"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"}
|
package/dist/pricing.json
CHANGED
|
@@ -266,133 +266,204 @@
|
|
|
266
266
|
"promptPrice": 0.015,
|
|
267
267
|
"completionPrice": 0.075,
|
|
268
268
|
"cacheReadPrice": 0.0015,
|
|
269
|
-
"cacheCreationPrice": 0.01875
|
|
269
|
+
"cacheCreationPrice": 0.01875,
|
|
270
|
+
"cacheCreation1hPrice": 0.03
|
|
270
271
|
},
|
|
271
272
|
"claude-3-sonnet-20240229": {
|
|
272
273
|
"promptPrice": 0.003,
|
|
273
274
|
"completionPrice": 0.015,
|
|
274
275
|
"cacheReadPrice": 0.0003,
|
|
275
|
-
"cacheCreationPrice": 0.00375
|
|
276
|
+
"cacheCreationPrice": 0.00375,
|
|
277
|
+
"cacheCreation1hPrice": 0.006
|
|
276
278
|
},
|
|
277
279
|
"claude-3-haiku-20240307": {
|
|
278
280
|
"promptPrice": 0.00025,
|
|
279
281
|
"completionPrice": 0.00125,
|
|
280
282
|
"cacheReadPrice": 3e-05,
|
|
281
|
-
"cacheCreationPrice": 0.0003
|
|
283
|
+
"cacheCreationPrice": 0.0003,
|
|
284
|
+
"cacheCreation1hPrice": 0.0005
|
|
282
285
|
},
|
|
283
286
|
"claude-3-5-sonnet-20240620": {
|
|
284
287
|
"promptPrice": 0.003,
|
|
285
288
|
"completionPrice": 0.015,
|
|
286
289
|
"cacheReadPrice": 0.0003,
|
|
287
|
-
"cacheCreationPrice": 0.00375
|
|
290
|
+
"cacheCreationPrice": 0.00375,
|
|
291
|
+
"cacheCreation1hPrice": 0.006
|
|
288
292
|
},
|
|
289
293
|
"claude-3-5-sonnet-20241022": {
|
|
290
294
|
"promptPrice": 0.003,
|
|
291
295
|
"completionPrice": 0.015,
|
|
292
296
|
"cacheReadPrice": 0.0003,
|
|
293
|
-
"cacheCreationPrice": 0.00375
|
|
297
|
+
"cacheCreationPrice": 0.00375,
|
|
298
|
+
"cacheCreation1hPrice": 0.006
|
|
294
299
|
},
|
|
295
300
|
"claude-3-5-haiku-20241022": {
|
|
296
301
|
"promptPrice": 0.0008,
|
|
297
302
|
"completionPrice": 0.004,
|
|
298
303
|
"cacheReadPrice": 8e-05,
|
|
299
|
-
"cacheCreationPrice": 0.001
|
|
304
|
+
"cacheCreationPrice": 0.001,
|
|
305
|
+
"cacheCreation1hPrice": 0.0016
|
|
300
306
|
},
|
|
301
307
|
"claude-3-7-sonnet-20250219": {
|
|
302
308
|
"promptPrice": 0.003,
|
|
303
309
|
"completionPrice": 0.015,
|
|
304
310
|
"cacheReadPrice": 0.0003,
|
|
305
|
-
"cacheCreationPrice": 0.00375
|
|
311
|
+
"cacheCreationPrice": 0.00375,
|
|
312
|
+
"cacheCreation1hPrice": 0.006
|
|
306
313
|
},
|
|
307
314
|
"claude-haiku-4-5-20251001": {
|
|
308
315
|
"promptPrice": 0.001,
|
|
309
316
|
"completionPrice": 0.005,
|
|
310
317
|
"cacheReadPrice": 0.0001,
|
|
311
|
-
"cacheCreationPrice": 0.00125
|
|
318
|
+
"cacheCreationPrice": 0.00125,
|
|
319
|
+
"cacheCreation1hPrice": 0.002
|
|
312
320
|
},
|
|
313
321
|
"claude-haiku-4-5": {
|
|
314
322
|
"promptPrice": 0.001,
|
|
315
323
|
"completionPrice": 0.005,
|
|
316
324
|
"cacheReadPrice": 0.0001,
|
|
317
|
-
"cacheCreationPrice": 0.00125
|
|
325
|
+
"cacheCreationPrice": 0.00125,
|
|
326
|
+
"cacheCreation1hPrice": 0.002
|
|
318
327
|
},
|
|
319
328
|
"claude-sonnet-4-0": {
|
|
320
329
|
"promptPrice": 0.003,
|
|
321
330
|
"completionPrice": 0.015,
|
|
322
331
|
"cacheReadPrice": 0.0003,
|
|
323
|
-
"cacheCreationPrice": 0.00375
|
|
332
|
+
"cacheCreationPrice": 0.00375,
|
|
333
|
+
"cacheCreation1hPrice": 0.006
|
|
324
334
|
},
|
|
325
335
|
"claude-sonnet-4-5": {
|
|
326
336
|
"promptPrice": 0.003,
|
|
327
337
|
"completionPrice": 0.015,
|
|
328
338
|
"cacheReadPrice": 0.0003,
|
|
329
|
-
"cacheCreationPrice": 0.00375
|
|
339
|
+
"cacheCreationPrice": 0.00375,
|
|
340
|
+
"cacheCreation1hPrice": 0.006
|
|
330
341
|
},
|
|
331
342
|
"claude-sonnet-4-6": {
|
|
332
343
|
"promptPrice": 0.003,
|
|
333
344
|
"completionPrice": 0.015,
|
|
334
345
|
"cacheReadPrice": 0.0003,
|
|
335
|
-
"cacheCreationPrice": 0.00375
|
|
346
|
+
"cacheCreationPrice": 0.00375,
|
|
347
|
+
"cacheCreation1hPrice": 0.006
|
|
336
348
|
},
|
|
337
349
|
"claude-sonnet-4-7": {
|
|
338
350
|
"promptPrice": 0.003,
|
|
339
351
|
"completionPrice": 0.015,
|
|
340
352
|
"cacheReadPrice": 0.0003,
|
|
341
|
-
"cacheCreationPrice": 0.00375
|
|
353
|
+
"cacheCreationPrice": 0.00375,
|
|
354
|
+
"cacheCreation1hPrice": 0.006
|
|
355
|
+
},
|
|
356
|
+
"claude-sonnet-5": {
|
|
357
|
+
"promptPrice": 0.002,
|
|
358
|
+
"completionPrice": 0.01,
|
|
359
|
+
"cacheReadPrice": 0.0002,
|
|
360
|
+
"cacheCreationPrice": 0.0025,
|
|
361
|
+
"cacheCreation1hPrice": 0.004
|
|
362
|
+
},
|
|
363
|
+
"claude-sonnet-5-5": {
|
|
364
|
+
"promptPrice": 0.002,
|
|
365
|
+
"completionPrice": 0.01,
|
|
366
|
+
"cacheReadPrice": 0.0001,
|
|
367
|
+
"cacheCreationPrice": 0.0025,
|
|
368
|
+
"cacheCreation1hPrice": 0.004
|
|
369
|
+
},
|
|
370
|
+
"claude-opus-5": {
|
|
371
|
+
"promptPrice": 0.005,
|
|
372
|
+
"completionPrice": 0.025,
|
|
373
|
+
"cacheReadPrice": 0.0005,
|
|
374
|
+
"cacheCreationPrice": 0.00625,
|
|
375
|
+
"cacheCreation1hPrice": 0.01
|
|
376
|
+
},
|
|
377
|
+
"claude-opus-5-5": {
|
|
378
|
+
"promptPrice": 0.004,
|
|
379
|
+
"completionPrice": 0.02,
|
|
380
|
+
"cacheReadPrice": 0.0002,
|
|
381
|
+
"cacheCreationPrice": 0.005,
|
|
382
|
+
"cacheCreation1hPrice": 0.008
|
|
383
|
+
},
|
|
384
|
+
"claude-opus-4-8": {
|
|
385
|
+
"promptPrice": 0.005,
|
|
386
|
+
"completionPrice": 0.025,
|
|
387
|
+
"cacheReadPrice": 0.0005,
|
|
388
|
+
"cacheCreationPrice": 0.00625,
|
|
389
|
+
"cacheCreation1hPrice": 0.01
|
|
390
|
+
},
|
|
391
|
+
"claude-fable-5": {
|
|
392
|
+
"promptPrice": 0.01,
|
|
393
|
+
"completionPrice": 0.05,
|
|
394
|
+
"cacheReadPrice": 0.001,
|
|
395
|
+
"cacheCreationPrice": 0.0125,
|
|
396
|
+
"cacheCreation1hPrice": 0.02
|
|
397
|
+
},
|
|
398
|
+
"claude-fable-5-1": {
|
|
399
|
+
"promptPrice": 0.01,
|
|
400
|
+
"completionPrice": 0.05,
|
|
401
|
+
"cacheReadPrice": 0.00025,
|
|
402
|
+
"cacheCreationPrice": 0.0125,
|
|
403
|
+
"cacheCreation1hPrice": 0.02
|
|
342
404
|
},
|
|
343
405
|
"claude-opus-4-0": {
|
|
344
406
|
"promptPrice": 0.015,
|
|
345
407
|
"completionPrice": 0.075,
|
|
346
408
|
"cacheReadPrice": 0.0015,
|
|
347
|
-
"cacheCreationPrice": 0.01875
|
|
409
|
+
"cacheCreationPrice": 0.01875,
|
|
410
|
+
"cacheCreation1hPrice": 0.03
|
|
348
411
|
},
|
|
349
412
|
"claude-opus-4-1": {
|
|
350
413
|
"promptPrice": 0.015,
|
|
351
414
|
"completionPrice": 0.075,
|
|
352
415
|
"cacheReadPrice": 0.0015,
|
|
353
|
-
"cacheCreationPrice": 0.01875
|
|
416
|
+
"cacheCreationPrice": 0.01875,
|
|
417
|
+
"cacheCreation1hPrice": 0.03
|
|
354
418
|
},
|
|
355
419
|
"claude-opus-4-5": {
|
|
356
420
|
"promptPrice": 0.005,
|
|
357
421
|
"completionPrice": 0.025,
|
|
358
422
|
"cacheReadPrice": 0.0005,
|
|
359
|
-
"cacheCreationPrice": 0.00625
|
|
423
|
+
"cacheCreationPrice": 0.00625,
|
|
424
|
+
"cacheCreation1hPrice": 0.01
|
|
360
425
|
},
|
|
361
426
|
"claude-opus-4-6": {
|
|
362
427
|
"promptPrice": 0.005,
|
|
363
428
|
"completionPrice": 0.025,
|
|
364
429
|
"cacheReadPrice": 0.0005,
|
|
365
|
-
"cacheCreationPrice": 0.00625
|
|
430
|
+
"cacheCreationPrice": 0.00625,
|
|
431
|
+
"cacheCreation1hPrice": 0.01
|
|
366
432
|
},
|
|
367
433
|
"claude-opus-4-7": {
|
|
368
434
|
"promptPrice": 0.005,
|
|
369
435
|
"completionPrice": 0.025,
|
|
370
436
|
"cacheReadPrice": 0.0005,
|
|
371
|
-
"cacheCreationPrice": 0.00625
|
|
437
|
+
"cacheCreationPrice": 0.00625,
|
|
438
|
+
"cacheCreation1hPrice": 0.01
|
|
372
439
|
},
|
|
373
440
|
"claude-opus-4-7-thinking-xhigh": {
|
|
374
441
|
"promptPrice": 0.005,
|
|
375
442
|
"completionPrice": 0.025,
|
|
376
443
|
"cacheReadPrice": 0.0005,
|
|
377
|
-
"cacheCreationPrice": 0.00625
|
|
444
|
+
"cacheCreationPrice": 0.00625,
|
|
445
|
+
"cacheCreation1hPrice": 0.01
|
|
378
446
|
},
|
|
379
447
|
"claude-opus-4-7-thinking-high": {
|
|
380
448
|
"promptPrice": 0.005,
|
|
381
449
|
"completionPrice": 0.025,
|
|
382
450
|
"cacheReadPrice": 0.0005,
|
|
383
|
-
"cacheCreationPrice": 0.00625
|
|
451
|
+
"cacheCreationPrice": 0.00625,
|
|
452
|
+
"cacheCreation1hPrice": 0.01
|
|
384
453
|
},
|
|
385
454
|
"claude-opus-4-7-thinking-medium": {
|
|
386
455
|
"promptPrice": 0.005,
|
|
387
456
|
"completionPrice": 0.025,
|
|
388
457
|
"cacheReadPrice": 0.0005,
|
|
389
|
-
"cacheCreationPrice": 0.00625
|
|
458
|
+
"cacheCreationPrice": 0.00625,
|
|
459
|
+
"cacheCreation1hPrice": 0.01
|
|
390
460
|
},
|
|
391
461
|
"claude-opus-4-7-thinking-low": {
|
|
392
462
|
"promptPrice": 0.005,
|
|
393
463
|
"completionPrice": 0.025,
|
|
394
464
|
"cacheReadPrice": 0.0005,
|
|
395
|
-
"cacheCreationPrice": 0.00625
|
|
465
|
+
"cacheCreationPrice": 0.00625,
|
|
466
|
+
"cacheCreation1hPrice": 0.01
|
|
396
467
|
},
|
|
397
468
|
"gpt-5": {
|
|
398
469
|
"promptPrice": 0.00125,
|
|
@@ -455,7 +526,11 @@
|
|
|
455
526
|
"gpt-5.4": {
|
|
456
527
|
"promptPrice": 0.0025,
|
|
457
528
|
"completionPrice": 0.015,
|
|
458
|
-
"cacheReadPrice": 0.00025
|
|
529
|
+
"cacheReadPrice": 0.00025,
|
|
530
|
+
"longContextThreshold": 272000,
|
|
531
|
+
"longContextPromptPrice": 0.005,
|
|
532
|
+
"longContextCompletionPrice": 0.0225,
|
|
533
|
+
"longContextCacheReadPrice": 0.0005
|
|
459
534
|
},
|
|
460
535
|
"gpt-5.4-mini": {
|
|
461
536
|
"promptPrice": 0.00075,
|
|
@@ -474,7 +549,11 @@
|
|
|
474
549
|
"gpt-5.5": {
|
|
475
550
|
"promptPrice": 0.005,
|
|
476
551
|
"completionPrice": 0.03,
|
|
477
|
-
"cacheReadPrice": 0.0005
|
|
552
|
+
"cacheReadPrice": 0.0005,
|
|
553
|
+
"longContextThreshold": 272000,
|
|
554
|
+
"longContextPromptPrice": 0.01,
|
|
555
|
+
"longContextCompletionPrice": 0.045,
|
|
556
|
+
"longContextCacheReadPrice": 0.001
|
|
478
557
|
},
|
|
479
558
|
"gpt-5.5-pro": {
|
|
480
559
|
"promptPrice": 0.03,
|
|
@@ -900,22 +979,37 @@
|
|
|
900
979
|
"completionPrice": 0.00219
|
|
901
980
|
},
|
|
902
981
|
"gpt-5.6-sol": {
|
|
903
|
-
"promptPrice": 0.
|
|
904
|
-
"completionPrice": 0.
|
|
905
|
-
"cacheReadPrice": 0.
|
|
906
|
-
"cacheCreationPrice": 0.
|
|
982
|
+
"promptPrice": 0.004,
|
|
983
|
+
"completionPrice": 0.02,
|
|
984
|
+
"cacheReadPrice": 0.0004,
|
|
985
|
+
"cacheCreationPrice": 0.005,
|
|
986
|
+
"longContextThreshold": 272000,
|
|
987
|
+
"longContextPromptPrice": 0.008,
|
|
988
|
+
"longContextCompletionPrice": 0.03,
|
|
989
|
+
"longContextCacheReadPrice": 0.0008,
|
|
990
|
+
"longContextCacheCreationPrice": 0.01
|
|
907
991
|
},
|
|
908
992
|
"gpt-5.6-terra": {
|
|
909
|
-
"promptPrice": 0.
|
|
910
|
-
"completionPrice": 0.
|
|
911
|
-
"cacheReadPrice": 0.
|
|
912
|
-
"cacheCreationPrice": 0.
|
|
993
|
+
"promptPrice": 0.002,
|
|
994
|
+
"completionPrice": 0.012,
|
|
995
|
+
"cacheReadPrice": 0.0002,
|
|
996
|
+
"cacheCreationPrice": 0.0025,
|
|
997
|
+
"longContextThreshold": 272000,
|
|
998
|
+
"longContextPromptPrice": 0.004,
|
|
999
|
+
"longContextCompletionPrice": 0.018,
|
|
1000
|
+
"longContextCacheReadPrice": 0.0004,
|
|
1001
|
+
"longContextCacheCreationPrice": 0.005
|
|
913
1002
|
},
|
|
914
1003
|
"gpt-5.6-luna": {
|
|
915
|
-
"promptPrice": 0.
|
|
916
|
-
"completionPrice": 0.
|
|
917
|
-
"cacheReadPrice":
|
|
918
|
-
"cacheCreationPrice": 0.
|
|
1004
|
+
"promptPrice": 0.0002,
|
|
1005
|
+
"completionPrice": 0.0012,
|
|
1006
|
+
"cacheReadPrice": 2e-05,
|
|
1007
|
+
"cacheCreationPrice": 0.00025,
|
|
1008
|
+
"longContextThreshold": 272000,
|
|
1009
|
+
"longContextPromptPrice": 0.0004,
|
|
1010
|
+
"longContextCompletionPrice": 0.0018,
|
|
1011
|
+
"longContextCacheReadPrice": 4e-05,
|
|
1012
|
+
"longContextCacheCreationPrice": 0.0005
|
|
919
1013
|
},
|
|
920
1014
|
"moonshotai/kimi-k2-instruct": {
|
|
921
1015
|
"promptPrice": 0.001,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|