@outerlayer/cli 0.4.1 → 0.5.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 +16 -0
- package/dist/{build-TZUUTRGH.js → build-PAEKVYVK.js} +1 -1
- package/dist/build-info.json +1 -1
- package/dist/{check-7MFH6HNC.js → check-4Q33B5ZE.js} +15 -13
- package/dist/{chunk-5Y3QQRUH.js → chunk-3DD6AOWC.js} +37 -0
- package/dist/{chunk-RFUPN6KX.js → chunk-CHLVJNTE.js} +5 -5
- package/dist/{chunk-SY4GK4SP.js → chunk-D2KWEAN6.js} +1 -1
- package/dist/{chunk-LT5TZHYH.js → chunk-EGABNHZG.js} +3 -3
- package/dist/{chunk-4C4THABW.js → chunk-EX6M5JPR.js} +31 -29
- package/dist/{chunk-QY22NZUW.js → chunk-F4NU4H3V.js} +401 -20
- package/dist/{chunk-TWNWNS2Q.js → chunk-H4CK2YK4.js} +8 -8
- package/dist/{chunk-7WERLFVR.js → chunk-JLDZTG3A.js} +1 -1
- package/dist/{chunk-Y7KJLXYN.js → chunk-OR6AEEDO.js} +3 -3
- package/dist/{chunk-W5FVUZXV.js → chunk-RMAZ2NWA.js} +2 -2
- package/dist/{chunk-3TFPDVTI.js → chunk-RTXKYLCA.js} +2 -2
- package/dist/{chunk-HZRNMGLF.js → chunk-T52PKE2Y.js} +144 -127
- package/dist/chunk-UGP76IZ5.js +34 -0
- package/dist/{chunk-DM3VFDS3.js → chunk-UWH5DSUP.js} +32 -20
- package/dist/{chunk-YFHIIH4B.js → chunk-W7UTFZDH.js} +2 -2
- package/dist/{chunk-WFJ65NUD.js → chunk-WOBNRVQT.js} +1 -1
- package/dist/chunk-YYYRBYWG.js +32 -0
- package/dist/{chunk-ZNA27WEV.js → chunk-Z62HNKEJ.js} +3 -3
- package/dist/{chunk-LYCDNMOH.js → chunk-ZOC7JSYC.js} +1 -1
- package/dist/{chunk-QDQEUVUF.js → chunk-ZXBITXTS.js} +1 -1
- package/dist/{cli-W62AFRSW.js → cli-LHSUYYMI.js} +56 -51
- package/dist/{config-XVJYZ4IQ.js → config-HL2AIR3K.js} +1 -1
- package/dist/{connect-cmd-ZTJONP37.js → connect-cmd-OJBFHZWP.js} +4 -4
- package/dist/{dist-44CQVWGT.js → dist-WDV7U7UJ.js} +1 -1
- package/dist/{doctor-ZLGZYMDK.js → doctor-MOA3RIEP.js} +23 -9
- package/dist/{emit-artifact-cmd-AKZP7TMF.js → emit-artifact-cmd-FDWYKURA.js} +4 -4
- package/dist/{emit-criteria-cmd-7MXQVCKD.js → emit-criteria-cmd-OCXHLK34.js} +1 -1
- package/dist/{emit-finding-cmd-N2FTGCVC.js → emit-finding-cmd-POW7PKIA.js} +1 -1
- package/dist/{emit-result-cmd-4CPDBMN2.js → emit-result-cmd-ID35SH53.js} +4 -4
- package/dist/index.js +1 -1
- package/dist/{init-XXEKWZQP.js → init-2IPOIXJV.js} +8 -8
- package/dist/{init-55Y4LHWF.js → init-FYDJAKTM.js} +7 -7
- package/dist/{init-cmd-WLST2F7G.js → init-cmd-KLIDRVXQ.js} +6 -6
- package/dist/{loop-JFIBP4B7.js → loop-NEBUGD2Q.js} +12 -10
- package/dist/{machine-ZBPT2J3R.js → machine-ECU3QCZD.js} +6 -6
- package/dist/record-C43U4PKS.js +7 -0
- package/dist/{status-UJXWZRN5.js → status-CLATHCTQ.js} +27 -9
- package/dist/{sync-cmd-4G4A7EVN.js → sync-cmd-SWQ5KLPL.js} +4 -4
- package/dist/{watch-7SKJKGAA.js → watch-3YW6Z3DQ.js} +4 -4
- package/dist/{work-claim-cmd-5F7VZ42N.js → work-claim-cmd-3OPWA77E.js} +6 -6
- package/dist/{work-cmd-QAUZ7MTD.js → work-cmd-NUR4CAG6.js} +3 -3
- package/dist/{work-comment-cmd-BNCSBTLH.js → work-comment-cmd-6TTTYGHM.js} +3 -3
- package/dist/{work-open-pr-cmd-VFYZHIIW.js → work-open-pr-cmd-KZ7QQFLD.js} +4 -4
- package/dist/{work-pr-cmd-PV32ZLSI.js → work-pr-cmd-QNUBE6IQ.js} +2 -2
- package/package.json +1 -1
- package/skill-pack/maintained/emitting-evidence/SKILL.md +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @outerlayer/cli
|
|
2
2
|
|
|
3
|
+
## 0.5.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 1cc839a: The runner now cleans up after itself and stops taking builds when its disk is nearly full. A new `runner.housekeeping` block in the runner config sets how many days a finished build's job directory is kept (`jobsKeepDays`), the most the Docker build cache may hold (`buildCacheMax`, or `"off"`), and the free space the runner needs to claim work (`minFreeDisk`). The runner also removes build containers and volumes that a failed cleanup left behind. `outerlayer runner status` shows what housekeeping did and whether the runner is holding off for disk, and `outerlayer doctor` checks free disk space. The runner now reports protocol 13 to its gateway.
|
|
8
|
+
|
|
9
|
+
## 0.5.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 0101c5c: MicroVM builds are available. The CLI pins the guest kernel and guest helper published as the `guest-1` release of the public `outerlayerai/guest-assets` repository, so a Linux x86_64 host whose runner user can open `/dev/kvm` now runs each build in a Firecracker microVM. On such a host, `outerlayer runner init` names `builtin:vm`, and `outerlayer doctor` passes a `builtin:vm` hook. To move an existing host, set both hooks to `builtin:vm` and restart the runner while no build is running.
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- cfe700a: A recorded criterion without its declared proof now flags its pull request's verdict, and an item with no recorded criteria flags it unless the policy sets `criteria.missing` to `info` or `off`. The `acceptance-criteria` check is retired from the recommended registry. Its report, bound with `--for acceptance-criteria`, is linked at the top of the item's Criteria tab instead.
|
|
18
|
+
|
|
3
19
|
## 0.4.1
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { buildRepositoryImage } from './chunk-
|
|
3
|
+
export { buildRepositoryImage } from './chunk-Z62HNKEJ.js';
|
|
4
4
|
import './chunk-N5FOE5PS.js';
|
|
5
5
|
export { RecipeError } from './chunk-QOZKPLVJ.js';
|
|
6
6
|
import './chunk-ZM2IMMYN.js';
|
package/dist/build-info.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"id":"2026-10-
|
|
1
|
+
{"id":"2026-10-04T00:10:45.902Z+d37533c","root":"/home/runner/_work/outerlayer/outerlayer","pkg":"outerlayer"}
|
|
@@ -1,29 +1,31 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { probeCredentials } from './chunk-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
3
|
+
import { probeCredentials } from './chunk-F4NU4H3V.js';
|
|
4
|
+
import './chunk-UWH5DSUP.js';
|
|
5
|
+
import './chunk-ZXBITXTS.js';
|
|
6
|
+
import './chunk-UGP76IZ5.js';
|
|
6
7
|
import './chunk-ABIWDUMS.js';
|
|
7
8
|
import './chunk-YYYXRJUW.js';
|
|
8
9
|
import './chunk-CBPPJSAR.js';
|
|
9
|
-
import { placeholderQueues, placeholderProblem, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem } from './chunk-
|
|
10
|
-
import './chunk-
|
|
10
|
+
import { placeholderQueues, placeholderProblem, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem } from './chunk-CHLVJNTE.js';
|
|
11
|
+
import './chunk-YYYRBYWG.js';
|
|
12
|
+
import './chunk-ZOC7JSYC.js';
|
|
11
13
|
import './chunk-TBT347UY.js';
|
|
12
|
-
import './chunk-
|
|
13
|
-
import './chunk-
|
|
14
|
-
import './chunk-
|
|
15
|
-
import './chunk-
|
|
14
|
+
import './chunk-W7UTFZDH.js';
|
|
15
|
+
import './chunk-RTXKYLCA.js';
|
|
16
|
+
import './chunk-T52PKE2Y.js';
|
|
17
|
+
import './chunk-Z62HNKEJ.js';
|
|
16
18
|
import './chunk-N5FOE5PS.js';
|
|
17
19
|
import './chunk-OGFGZQA3.js';
|
|
18
20
|
import './chunk-774HEQL6.js';
|
|
19
21
|
import './chunk-QOZKPLVJ.js';
|
|
20
22
|
import './chunk-W4SQCOZU.js';
|
|
21
23
|
import './chunk-B2G7JHHB.js';
|
|
22
|
-
import './chunk-
|
|
24
|
+
import './chunk-RMAZ2NWA.js';
|
|
23
25
|
import './chunk-BFESLKPP.js';
|
|
24
|
-
import './chunk-
|
|
25
|
-
import './chunk-
|
|
26
|
-
import { loadRunnerConfig, RunnerConfigError, checkHooks } from './chunk-
|
|
26
|
+
import './chunk-WOBNRVQT.js';
|
|
27
|
+
import './chunk-EX6M5JPR.js';
|
|
28
|
+
import { loadRunnerConfig, RunnerConfigError, checkHooks } from './chunk-3DD6AOWC.js';
|
|
27
29
|
import './chunk-F6GFZXZ3.js';
|
|
28
30
|
import './chunk-AUFG23AA.js';
|
|
29
31
|
import './chunk-WZBHBH3J.js';
|
|
@@ -32,6 +32,9 @@ var DEFAULT_TIME_LIMIT_MINUTES = 480;
|
|
|
32
32
|
var DEFAULT_IDLE_LIMIT_MINUTES = 30;
|
|
33
33
|
var DEFAULT_BUILD = { memory: "8g", cpus: 4, pids: 4096, disk: "40g", variables: [] };
|
|
34
34
|
var BUILD_KEYS = ["memory", "cpus", "pids", "disk", "variables", "destinations", "allowHosts"];
|
|
35
|
+
var HOUSEKEEPING_KEYS = ["jobsKeepDays", "buildCacheMax", "minFreeDisk"];
|
|
36
|
+
var DEFAULT_JOBS_KEEP_DAYS = 30;
|
|
37
|
+
var DEFAULT_BUILD_CACHE_MAX = "20g";
|
|
35
38
|
var VARIABLE_NAME = /^[A-Za-z_][A-Za-z0-9_]{0,254}$/;
|
|
36
39
|
var MAX_VARIABLES = 100;
|
|
37
40
|
function defaultRunnerConfigPath(home = homeFromEnv()) {
|
|
@@ -77,6 +80,7 @@ var RUNNER_KEYS = [
|
|
|
77
80
|
"commands",
|
|
78
81
|
"hooks",
|
|
79
82
|
"build",
|
|
83
|
+
"housekeeping",
|
|
80
84
|
"autoUpdate"
|
|
81
85
|
];
|
|
82
86
|
function runnerNumbers() {
|
|
@@ -194,6 +198,7 @@ function loadRunnerConfig(configPath) {
|
|
|
194
198
|
if (!runner.hooks?.cleanup) fail(configPath, "runner.hooks.cleanup", "is required");
|
|
195
199
|
checkBuiltinHooks(configPath, runner.hooks);
|
|
196
200
|
const build = resolveBuild(configPath, runner.build);
|
|
201
|
+
const housekeeping = resolveHousekeeping(configPath, runner.housekeeping, build.disk);
|
|
197
202
|
if (config.scrub?.literals !== void 0 && !Array.isArray(config.scrub.literals)) {
|
|
198
203
|
fail(configPath, "scrub.literals", "must be a list of strings");
|
|
199
204
|
}
|
|
@@ -220,6 +225,7 @@ function loadRunnerConfig(configPath) {
|
|
|
220
225
|
report: runner.hooks.report
|
|
221
226
|
},
|
|
222
227
|
build,
|
|
228
|
+
housekeeping,
|
|
223
229
|
// A host with executables of its own for provision and cleanup chose
|
|
224
230
|
// its own environment, and an update could change what its hooks run
|
|
225
231
|
// under; it opts in. The built-in hooks are the runner's own. Provision
|
|
@@ -243,6 +249,37 @@ function checkBuiltinHooks(configPath, hooks) {
|
|
|
243
249
|
fail(configPath, "runner.hooks", `provision and cleanup must both be ${BUILTIN_CONTAINER}, both be ${BUILTIN_PROCESS}, both be ${BUILTIN_VM}, or neither`);
|
|
244
250
|
}
|
|
245
251
|
}
|
|
252
|
+
function resolveHousekeeping(configPath, block, buildDisk) {
|
|
253
|
+
const given = block ?? {};
|
|
254
|
+
if (typeof given !== "object" || Array.isArray(given)) fail(configPath, "runner.housekeeping", "must be an object");
|
|
255
|
+
const keys = given;
|
|
256
|
+
for (const key of Object.keys(keys)) {
|
|
257
|
+
if (HOUSEKEEPING_KEYS.includes(key)) continue;
|
|
258
|
+
const near = nearestKey(key, HOUSEKEEPING_KEYS);
|
|
259
|
+
fail(configPath, `runner.housekeeping.${key}`, near ? `is not a key this block accepts; did you mean ${near}?` : "is not a key this block accepts");
|
|
260
|
+
}
|
|
261
|
+
if (keys.jobsKeepDays !== void 0 && (!Number.isInteger(keys.jobsKeepDays) || keys.jobsKeepDays < 1)) {
|
|
262
|
+
fail(configPath, "runner.housekeeping.jobsKeepDays", "must be a whole number of at least 1");
|
|
263
|
+
}
|
|
264
|
+
let buildCacheMax;
|
|
265
|
+
if (keys.buildCacheMax === "off") {
|
|
266
|
+
buildCacheMax = "off";
|
|
267
|
+
} else {
|
|
268
|
+
const text = keys.buildCacheMax ?? DEFAULT_BUILD_CACHE_MAX;
|
|
269
|
+
const bytes = typeof text === "string" ? wholeBytes(parseSize(text)) : void 0;
|
|
270
|
+
if (bytes === void 0) fail(configPath, "runner.housekeeping.buildCacheMax", 'must be a size such as "20g", or "off"');
|
|
271
|
+
buildCacheMax = bytes;
|
|
272
|
+
}
|
|
273
|
+
const minText = keys.minFreeDisk ?? buildDisk;
|
|
274
|
+
const minFreeDisk = typeof minText === "string" ? wholeBytes(parseSize(minText)) : void 0;
|
|
275
|
+
if (minFreeDisk === void 0) fail(configPath, "runner.housekeeping.minFreeDisk", 'must be a size such as "40g"');
|
|
276
|
+
return { jobsKeepDays: keys.jobsKeepDays ?? DEFAULT_JOBS_KEEP_DAYS, buildCacheMax, minFreeDisk };
|
|
277
|
+
}
|
|
278
|
+
function wholeBytes(bytes) {
|
|
279
|
+
if (bytes === void 0) return void 0;
|
|
280
|
+
const whole = Math.floor(bytes);
|
|
281
|
+
return Number.isSafeInteger(whole) && whole > 0 ? whole : void 0;
|
|
282
|
+
}
|
|
246
283
|
function resolveBuild(configPath, block) {
|
|
247
284
|
if (block === void 0) return { ...DEFAULT_BUILD, variables: [] };
|
|
248
285
|
if (typeof block !== "object" || block === null || Array.isArray(block)) fail(configPath, "runner.build", "must be an object");
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { isPlaceholderCommand } from './chunk-
|
|
4
|
-
import { describeCallFailure } from './chunk-
|
|
5
|
-
import { WorkCommandError, getJson } from './chunk-
|
|
6
|
-
import { sanitizeTerminal } from './chunk-
|
|
7
|
-
import { builtinKind } from './chunk-
|
|
3
|
+
import { isPlaceholderCommand } from './chunk-W7UTFZDH.js';
|
|
4
|
+
import { describeCallFailure } from './chunk-T52PKE2Y.js';
|
|
5
|
+
import { WorkCommandError, getJson } from './chunk-RMAZ2NWA.js';
|
|
6
|
+
import { sanitizeTerminal } from './chunk-WOBNRVQT.js';
|
|
7
|
+
import { builtinKind } from './chunk-3DD6AOWC.js';
|
|
8
8
|
import { claudeCredential, CLAUDE_CREDENTIAL_VARIABLES } from './chunk-AUFG23AA.js';
|
|
9
9
|
import { signerFor } from './chunk-M5POMKKW.js';
|
|
10
10
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { sanitizeTerminal } from './chunk-
|
|
3
|
+
import { sanitizeTerminal } from './chunk-WOBNRVQT.js';
|
|
4
4
|
import { DEFAULT_DASHBOARD } from './chunk-USO2DKBD.js';
|
|
5
5
|
import { readCloudConfig } from './chunk-EABW6AJQ.js';
|
|
6
6
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { applyContextProvenance, installScrubContext, prepareSessionForUpload, wholeSessionCounts, sliceTurnIo } from './chunk-
|
|
3
|
+
import { applyContextProvenance, installScrubContext, prepareSessionForUpload, wholeSessionCounts, sliceTurnIo } from './chunk-ZOC7JSYC.js';
|
|
4
4
|
import { LaunchFilter } from './chunk-BCJNHMZT.js';
|
|
5
5
|
import { RepoFilter } from './chunk-TBT347UY.js';
|
|
6
6
|
import { hookExecSpoolPath } from './chunk-F7CU5ABH.js';
|
|
7
7
|
import { applyReportedCost } from './chunk-BKO6JEZI.js';
|
|
8
|
-
import { migrateLegacyArtifactSidecars, planArtifactUpload, artifactsStatePath, sanitizeTerminal, artifactBlobsDir, resolveArtifactTurnIndex, isArtifactTombstoned, ARTIFACT_RETRY_MAX_AGE_MS, writeArtifactSpoolState, reclaimUnneededArtifactBlobs, neededArtifactShas } from './chunk-
|
|
9
|
-
import { tailTranscript, enrichSessionRepo, CAPTURE_TIERS, scanAll, setRepoRoot, resolveRepoIdentity, inferArtifactKind, bannedPathsForTier, sessionIdFromPath, SOURCE_ADAPTERS, EVENT_TYPES } from './chunk-
|
|
8
|
+
import { migrateLegacyArtifactSidecars, planArtifactUpload, artifactsStatePath, sanitizeTerminal, artifactBlobsDir, resolveArtifactTurnIndex, isArtifactTombstoned, ARTIFACT_RETRY_MAX_AGE_MS, writeArtifactSpoolState, reclaimUnneededArtifactBlobs, neededArtifactShas } from './chunk-WOBNRVQT.js';
|
|
9
|
+
import { tailTranscript, enrichSessionRepo, CAPTURE_TIERS, scanAll, setRepoRoot, resolveRepoIdentity, inferArtifactKind, bannedPathsForTier, sessionIdFromPath, SOURCE_ADAPTERS, EVENT_TYPES } from './chunk-EX6M5JPR.js';
|
|
10
10
|
import { C } from './chunk-YRYMNBGQ.js';
|
|
11
11
|
import { readLaunchSpoolState, launchStatusIsDecisive, launchedItemsBySession, launchesPath } from './chunk-DVDEBNQJ.js';
|
|
12
12
|
import { readLatestProvenanceForSession, readContextProvenance } from './chunk-ZJSNLVCE.js';
|
|
@@ -44368,14 +44368,14 @@ var ModelRegistryImpl = class {
|
|
|
44368
44368
|
};
|
|
44369
44369
|
var models_default = {
|
|
44370
44370
|
version: "1.0.0",
|
|
44371
|
-
generatedAt: "2026-10-
|
|
44371
|
+
generatedAt: "2026-10-03T04:32:34.999Z",
|
|
44372
44372
|
sources: {
|
|
44373
44373
|
litellm: {
|
|
44374
|
-
fetchedAt: "2026-10-
|
|
44374
|
+
fetchedAt: "2026-10-03T04:32:34.999Z",
|
|
44375
44375
|
modelCount: 1882
|
|
44376
44376
|
},
|
|
44377
44377
|
openrouter: {
|
|
44378
|
-
fetchedAt: "2026-10-
|
|
44378
|
+
fetchedAt: "2026-10-03T04:32:34.999Z",
|
|
44379
44379
|
modelCount: 198
|
|
44380
44380
|
}
|
|
44381
44381
|
},
|
|
@@ -47107,6 +47107,7 @@ var models_default = {
|
|
|
47107
47107
|
pdfInput: true,
|
|
47108
47108
|
webSearch: true
|
|
47109
47109
|
},
|
|
47110
|
+
deprecationDate: "2027-04-01",
|
|
47110
47111
|
supportedParameters: [
|
|
47111
47112
|
"max_tokens"
|
|
47112
47113
|
]
|
|
@@ -47384,6 +47385,7 @@ var models_default = {
|
|
|
47384
47385
|
pdfInput: true,
|
|
47385
47386
|
webSearch: true
|
|
47386
47387
|
},
|
|
47388
|
+
deprecationDate: "2027-04-01",
|
|
47387
47389
|
supportedParameters: [
|
|
47388
47390
|
"max_tokens"
|
|
47389
47391
|
]
|
|
@@ -47782,6 +47784,7 @@ var models_default = {
|
|
|
47782
47784
|
pdfInput: true,
|
|
47783
47785
|
webSearch: true
|
|
47784
47786
|
},
|
|
47787
|
+
deprecationDate: "2027-04-01",
|
|
47785
47788
|
supportedParameters: [
|
|
47786
47789
|
"max_tokens"
|
|
47787
47790
|
]
|
|
@@ -48513,13 +48516,15 @@ var models_default = {
|
|
|
48513
48516
|
provider: "openai",
|
|
48514
48517
|
displayName: "TTS-1",
|
|
48515
48518
|
mode: "audio_speech",
|
|
48516
|
-
source: "litellm"
|
|
48519
|
+
source: "litellm",
|
|
48520
|
+
deprecationDate: "2027-01-06"
|
|
48517
48521
|
},
|
|
48518
48522
|
"tts-1-hd": {
|
|
48519
48523
|
provider: "openai",
|
|
48520
48524
|
displayName: "TTS-1 HD",
|
|
48521
48525
|
mode: "audio_speech",
|
|
48522
|
-
source: "litellm"
|
|
48526
|
+
source: "litellm",
|
|
48527
|
+
deprecationDate: "2027-01-06"
|
|
48523
48528
|
},
|
|
48524
48529
|
"us/gpt-4.1-2025-04-14": {
|
|
48525
48530
|
provider: "azure",
|
|
@@ -64657,7 +64662,8 @@ var models_default = {
|
|
|
64657
64662
|
pricing: {
|
|
64658
64663
|
inputCostPerToken: 6e-7,
|
|
64659
64664
|
outputCostPerToken: 1e-5
|
|
64660
|
-
}
|
|
64665
|
+
},
|
|
64666
|
+
deprecationDate: "2027-01-06"
|
|
64661
64667
|
},
|
|
64662
64668
|
"gpt-4o-mini-tts-2025-12-15": {
|
|
64663
64669
|
provider: "openai",
|
|
@@ -64667,7 +64673,8 @@ var models_default = {
|
|
|
64667
64673
|
pricing: {
|
|
64668
64674
|
inputCostPerToken: 6e-7,
|
|
64669
64675
|
outputCostPerToken: 1e-5
|
|
64670
|
-
}
|
|
64676
|
+
},
|
|
64677
|
+
deprecationDate: "2027-01-06"
|
|
64671
64678
|
},
|
|
64672
64679
|
"gpt-4o-mini-transcribe-2025-03-20": {
|
|
64673
64680
|
provider: "openai",
|
|
@@ -65029,9 +65036,7 @@ var models_default = {
|
|
|
65029
65036
|
mode: "chat",
|
|
65030
65037
|
source: "openrouter",
|
|
65031
65038
|
supportedParameters: [
|
|
65032
|
-
"
|
|
65033
|
-
"max_tokens",
|
|
65034
|
-
"presence_penalty"
|
|
65039
|
+
"max_tokens"
|
|
65035
65040
|
],
|
|
65036
65041
|
pricing: {
|
|
65037
65042
|
inputCostPerToken: 8e-6,
|
|
@@ -65400,9 +65405,7 @@ var models_default = {
|
|
|
65400
65405
|
mode: "chat",
|
|
65401
65406
|
source: "openrouter",
|
|
65402
65407
|
supportedParameters: [
|
|
65403
|
-
"frequency_penalty",
|
|
65404
65408
|
"max_tokens",
|
|
65405
|
-
"presence_penalty",
|
|
65406
65409
|
"temperature",
|
|
65407
65410
|
"top_p"
|
|
65408
65411
|
],
|
|
@@ -65450,9 +65453,7 @@ var models_default = {
|
|
|
65450
65453
|
mode: "chat",
|
|
65451
65454
|
source: "openrouter",
|
|
65452
65455
|
supportedParameters: [
|
|
65453
|
-
"frequency_penalty",
|
|
65454
65456
|
"max_tokens",
|
|
65455
|
-
"presence_penalty",
|
|
65456
65457
|
"temperature",
|
|
65457
65458
|
"top_p"
|
|
65458
65459
|
],
|
|
@@ -65533,12 +65534,12 @@ var models_default = {
|
|
|
65533
65534
|
"top_p"
|
|
65534
65535
|
],
|
|
65535
65536
|
pricing: {
|
|
65536
|
-
inputCostPerToken:
|
|
65537
|
+
inputCostPerToken: 27e-8,
|
|
65537
65538
|
outputCostPerToken: 1e-6
|
|
65538
65539
|
},
|
|
65539
65540
|
context: {
|
|
65540
65541
|
maxInputTokens: 163840,
|
|
65541
|
-
maxOutputTokens:
|
|
65542
|
+
maxOutputTokens: 147456
|
|
65542
65543
|
},
|
|
65543
65544
|
capabilities: {
|
|
65544
65545
|
functionCalling: true,
|
|
@@ -69067,9 +69068,9 @@ var models_default = {
|
|
|
69067
69068
|
mode: "chat",
|
|
69068
69069
|
source: "litellm",
|
|
69069
69070
|
pricing: {
|
|
69070
|
-
inputCostPerToken:
|
|
69071
|
-
outputCostPerToken:
|
|
69072
|
-
cacheReadCostPerToken:
|
|
69071
|
+
inputCostPerToken: 125e-8,
|
|
69072
|
+
outputCostPerToken: 1e-5,
|
|
69073
|
+
cacheReadCostPerToken: 3125e-10
|
|
69073
69074
|
},
|
|
69074
69075
|
context: {
|
|
69075
69076
|
maxInputTokens: 1e6,
|
|
@@ -69113,9 +69114,9 @@ var models_default = {
|
|
|
69113
69114
|
mode: "chat",
|
|
69114
69115
|
source: "litellm",
|
|
69115
69116
|
pricing: {
|
|
69116
|
-
inputCostPerToken:
|
|
69117
|
-
outputCostPerToken:
|
|
69118
|
-
cacheReadCostPerToken:
|
|
69117
|
+
inputCostPerToken: 1375e-9,
|
|
69118
|
+
outputCostPerToken: 11e-6,
|
|
69119
|
+
cacheReadCostPerToken: 34375e-11
|
|
69119
69120
|
},
|
|
69120
69121
|
context: {
|
|
69121
69122
|
maxInputTokens: 1e6,
|
|
@@ -69159,9 +69160,9 @@ var models_default = {
|
|
|
69159
69160
|
mode: "chat",
|
|
69160
69161
|
source: "litellm",
|
|
69161
69162
|
pricing: {
|
|
69162
|
-
inputCostPerToken:
|
|
69163
|
-
outputCostPerToken:
|
|
69164
|
-
cacheReadCostPerToken:
|
|
69163
|
+
inputCostPerToken: 1375e-9,
|
|
69164
|
+
outputCostPerToken: 11e-6,
|
|
69165
|
+
cacheReadCostPerToken: 34375e-11
|
|
69165
69166
|
},
|
|
69166
69167
|
context: {
|
|
69167
69168
|
maxInputTokens: 1e6,
|
|
@@ -69205,9 +69206,9 @@ var models_default = {
|
|
|
69205
69206
|
mode: "chat",
|
|
69206
69207
|
source: "litellm",
|
|
69207
69208
|
pricing: {
|
|
69208
|
-
inputCostPerToken:
|
|
69209
|
-
outputCostPerToken:
|
|
69210
|
-
cacheReadCostPerToken:
|
|
69209
|
+
inputCostPerToken: 1375e-9,
|
|
69210
|
+
outputCostPerToken: 11e-6,
|
|
69211
|
+
cacheReadCostPerToken: 34375e-11
|
|
69211
69212
|
},
|
|
69212
69213
|
context: {
|
|
69213
69214
|
maxInputTokens: 1e6,
|
|
@@ -84366,7 +84367,8 @@ var models_default = {
|
|
|
84366
84367
|
provider: "xai",
|
|
84367
84368
|
displayName: "Grok Voice Transcribe 1.0",
|
|
84368
84369
|
mode: "audio_transcription",
|
|
84369
|
-
source: "litellm"
|
|
84370
|
+
source: "litellm",
|
|
84371
|
+
deprecationDate: "2026-10-02"
|
|
84370
84372
|
},
|
|
84371
84373
|
"grok-voice-transcribe-2.0": {
|
|
84372
84374
|
provider: "xai",
|