@letta-ai/letta-agent-sdk 0.7.8 → 0.8.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/README.md +23 -0
- package/dist/agent-creation.d.ts +2 -1
- package/dist/agent-creation.d.ts.map +1 -1
- package/dist/app-server-management.d.ts +1 -0
- package/dist/app-server-management.d.ts.map +1 -1
- package/dist/app-server-session.d.ts.map +1 -1
- package/dist/client-base.d.ts +12 -0
- package/dist/client-base.d.ts.map +1 -1
- package/dist/client-entry.d.ts +1 -0
- package/dist/client-entry.d.ts.map +1 -1
- package/dist/client-entry.js +515 -2679
- package/dist/client-entry.js.map +17 -15
- package/dist/client.d.ts +4 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/cloud-management.d.ts +3 -2
- package/dist/cloud-management.d.ts.map +1 -1
- package/dist/cloud-session.d.ts +4 -1
- package/dist/cloud-session.d.ts.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +643 -2639
- package/dist/index.js.map +21 -18
- package/dist/management-types.d.ts +47 -1
- package/dist/management-types.d.ts.map +1 -1
- package/dist/management.d.ts +4 -2
- package/dist/management.d.ts.map +1 -1
- package/dist/query-types.d.ts +25 -0
- package/dist/query-types.d.ts.map +1 -0
- package/dist/query.d.ts +7 -0
- package/dist/query.d.ts.map +1 -0
- package/dist/remote-session-protocol.d.ts +11 -1
- package/dist/remote-session-protocol.d.ts.map +1 -1
- package/dist/remote-turn-coordinator.d.ts.map +1 -1
- package/dist/repository-types.d.ts +89 -0
- package/dist/repository-types.d.ts.map +1 -0
- package/dist/skill-loading.d.ts +84 -0
- package/dist/skill-loading.d.ts.map +1 -0
- package/dist/skill-node.d.ts +28 -0
- package/dist/skill-node.d.ts.map +1 -0
- package/dist/types.d.ts +17 -84
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/agent-creation.ts +37 -1
- package/src/app-server-management.ts +8 -0
- package/src/app-server-session.ts +35 -2
- package/src/client-base.ts +138 -1
- package/src/client-entry.ts +1 -0
- package/src/client.ts +39 -0
- package/src/cloud-management.ts +60 -0
- package/src/cloud-session.ts +84 -16
- package/src/index.ts +18 -0
- package/src/local-app-server.ts +1 -1
- package/src/management-types.ts +58 -1
- package/src/management.ts +28 -1
- package/src/query-types.ts +40 -0
- package/src/query.ts +43 -0
- package/src/remote-client-session-core.ts +1 -1
- package/src/remote-session-protocol.ts +12 -1
- package/src/remote-turn-coordinator.ts +5 -1
- package/src/repository-types.ts +105 -0
- package/src/skill-loading.ts +194 -0
- package/src/skill-node.ts +139 -0
- package/src/types.ts +42 -100
package/dist/client-entry.js
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
// Generated bundle. Canonical modules are published under src/ and maintained in the letta-agent-sdk repository.
|
|
2
|
+
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
3
|
+
|
|
4
|
+
// node_modules/@letta-ai/letta-code/dist/agent-presets-agent-presets.js
|
|
5
|
+
var init_agent_presets_agent_presets = () => {};
|
|
2
6
|
|
|
3
7
|
// node_modules/@letta-ai/letta-client/internal/tslib.mjs
|
|
4
8
|
function __classPrivateFieldSet(receiver, state, value, kind, f) {
|
|
@@ -20,13 +24,13 @@ function __classPrivateFieldGet(receiver, state, kind, f) {
|
|
|
20
24
|
|
|
21
25
|
// node_modules/@letta-ai/letta-client/internal/utils/uuid.mjs
|
|
22
26
|
var uuid4 = function() {
|
|
23
|
-
const { crypto } = globalThis;
|
|
24
|
-
if (
|
|
25
|
-
uuid4 =
|
|
26
|
-
return
|
|
27
|
+
const { crypto: crypto2 } = globalThis;
|
|
28
|
+
if (crypto2?.randomUUID) {
|
|
29
|
+
uuid4 = crypto2.randomUUID.bind(crypto2);
|
|
30
|
+
return crypto2.randomUUID();
|
|
27
31
|
}
|
|
28
32
|
const u8 = new Uint8Array(1);
|
|
29
|
-
const randomByte =
|
|
33
|
+
const randomByte = crypto2 ? () => crypto2.getRandomValues(u8)[0] : () => Math.random() * 255 & 255;
|
|
30
34
|
return "10000000-1000-4000-8000-100000000000".replace(/[018]/g, (c) => (+c ^ randomByte() & 15 >> +c / 4).toString(16));
|
|
31
35
|
};
|
|
32
36
|
|
|
@@ -2993,6 +2997,47 @@ class RepositoriesClient {
|
|
|
2993
2997
|
}
|
|
2994
2998
|
}
|
|
2995
2999
|
|
|
3000
|
+
// src/skill-loading.ts
|
|
3001
|
+
var SKILL_NAME_RE = /^[a-z0-9][a-z0-9._-]*$/;
|
|
3002
|
+
function assertValidSkillName(name) {
|
|
3003
|
+
if (!SKILL_NAME_RE.test(name)) {
|
|
3004
|
+
throw new Error(`Invalid skill name "${name}". Skill names are directory names: ` + `lowercase letters, digits, ".", "_", "-" (e.g. "generating-voice-memos").`);
|
|
3005
|
+
}
|
|
3006
|
+
}
|
|
3007
|
+
async function resolveSkillItems(items, loadDirectory) {
|
|
3008
|
+
if (!items || items.length === 0)
|
|
3009
|
+
return [];
|
|
3010
|
+
const resolved = [];
|
|
3011
|
+
for (const item of items) {
|
|
3012
|
+
if (typeof item === "string") {
|
|
3013
|
+
if (!loadDirectory) {
|
|
3014
|
+
throw new Error(`Skill directory paths ("${item}") require a Node.js runtime. ` + "Pass an inline skill ({ name, description, instructions }) instead.");
|
|
3015
|
+
}
|
|
3016
|
+
resolved.push(await loadDirectory(item));
|
|
3017
|
+
} else {
|
|
3018
|
+
assertValidSkillName(item.name);
|
|
3019
|
+
if (!item.instructions || item.instructions.trim().length === 0) {
|
|
3020
|
+
throw new Error(`Skill "${item.name}" has empty instructions.`);
|
|
3021
|
+
}
|
|
3022
|
+
if (!item.description || item.description.trim().length === 0) {
|
|
3023
|
+
throw new Error(`Skill "${item.name}" has no description. ` + `The description is the skill's trigger text; it is required.`);
|
|
3024
|
+
}
|
|
3025
|
+
resolved.push(item);
|
|
3026
|
+
}
|
|
3027
|
+
}
|
|
3028
|
+
const seen = new Set;
|
|
3029
|
+
for (const skill of resolved) {
|
|
3030
|
+
if (seen.has(skill.name)) {
|
|
3031
|
+
throw new Error(`Duplicate skill name: "${skill.name}".`);
|
|
3032
|
+
}
|
|
3033
|
+
seen.add(skill.name);
|
|
3034
|
+
}
|
|
3035
|
+
return resolved;
|
|
3036
|
+
}
|
|
3037
|
+
function skillsHaveSupportFiles(skills) {
|
|
3038
|
+
return skills.some((skill) => skill.files && Object.keys(skill.files).length > 0);
|
|
3039
|
+
}
|
|
3040
|
+
|
|
2996
3041
|
// src/agent-repositories.ts
|
|
2997
3042
|
var DEFAULT_VISIBILITY_TIMEOUT_MS = 1e4;
|
|
2998
3043
|
var DEFAULT_VISIBILITY_POLL_INTERVAL_MS = 100;
|
|
@@ -3535,6 +3580,9 @@ class AppServerManagementTransport {
|
|
|
3535
3580
|
}
|
|
3536
3581
|
return { messages: response.messages };
|
|
3537
3582
|
}
|
|
3583
|
+
enqueueConversationMessage() {
|
|
3584
|
+
return Promise.reject(new Error(`conversations.enqueue() is only available with backend: "cloud". App-server backends deliver messages through a session's send().`));
|
|
3585
|
+
}
|
|
3538
3586
|
async request(type, body, responseType) {
|
|
3539
3587
|
if (this.closingConnections.size > 0) {
|
|
3540
3588
|
await Promise.all([...this.closingConnections]);
|
|
@@ -3619,6 +3667,7 @@ async function closeConnection(connection) {
|
|
|
3619
3667
|
}
|
|
3620
3668
|
|
|
3621
3669
|
// node_modules/@letta-ai/letta-code/dist/agent-presets.js
|
|
3670
|
+
init_agent_presets_agent_presets();
|
|
3622
3671
|
var LETTA_CODE_ORIGIN_TAG = "origin:letta-code";
|
|
3623
3672
|
var LETTA_CODE_SUBAGENT_TAG = "role:subagent";
|
|
3624
3673
|
var GIT_MEMORY_ENABLED_TAG = "git-memory-enabled";
|
|
@@ -5459,2668 +5508,236 @@ async function getDefaultMemoryBlocks() {
|
|
|
5459
5508
|
}
|
|
5460
5509
|
return cachedMemoryBlocks;
|
|
5461
5510
|
}
|
|
5462
|
-
var
|
|
5463
|
-
|
|
5464
|
-
|
|
5465
|
-
|
|
5466
|
-
|
|
5467
|
-
|
|
5468
|
-
|
|
5469
|
-
|
|
5470
|
-
|
|
5471
|
-
|
|
5472
|
-
|
|
5473
|
-
|
|
5474
|
-
|
|
5475
|
-
|
|
5476
|
-
|
|
5477
|
-
|
|
5478
|
-
{
|
|
5479
|
-
|
|
5480
|
-
|
|
5481
|
-
|
|
5482
|
-
|
|
5483
|
-
free: true,
|
|
5484
|
-
updateArgs: {
|
|
5485
|
-
context_window: 140000,
|
|
5486
|
-
max_output_tokens: 28000,
|
|
5487
|
-
parallel_tool_calls: true
|
|
5488
|
-
},
|
|
5489
|
-
isFeatured: true
|
|
5490
|
-
},
|
|
5491
|
-
{
|
|
5492
|
-
id: "auto-chat",
|
|
5493
|
-
handle: "letta/auto-chat",
|
|
5494
|
-
label: "Auto Chat",
|
|
5495
|
-
description: "Automatically select the best model for chat",
|
|
5496
|
-
free: true,
|
|
5497
|
-
updateArgs: {
|
|
5498
|
-
context_window: 140000,
|
|
5499
|
-
max_output_tokens: 28000,
|
|
5500
|
-
parallel_tool_calls: true
|
|
5501
|
-
},
|
|
5502
|
-
isFeatured: true
|
|
5503
|
-
},
|
|
5504
|
-
{
|
|
5505
|
-
id: "glm",
|
|
5506
|
-
handle: "letta/glm",
|
|
5507
|
-
label: "Letta GLM",
|
|
5508
|
-
description: "Route directly to Letta-hosted GLM 5.2",
|
|
5509
|
-
free: true,
|
|
5510
|
-
updateArgs: {
|
|
5511
|
-
context_window: 200000,
|
|
5512
|
-
max_output_tokens: 28000,
|
|
5513
|
-
parallel_tool_calls: true
|
|
5514
|
-
},
|
|
5515
|
-
isFeatured: true
|
|
5516
|
-
},
|
|
5517
|
-
{
|
|
5518
|
-
id: "gpt-5.6-sol-none",
|
|
5519
|
-
handle: "openai/gpt-5.6-sol",
|
|
5520
|
-
label: "GPT-5.6 Sol",
|
|
5521
|
-
description: "OpenAI's most capable GPT-5.6 model (no reasoning)",
|
|
5522
|
-
updateArgs: {
|
|
5523
|
-
reasoning_effort: "none",
|
|
5524
|
-
verbosity: "medium",
|
|
5525
|
-
context_window: 350000,
|
|
5526
|
-
max_output_tokens: 128000,
|
|
5527
|
-
parallel_tool_calls: true
|
|
5528
|
-
}
|
|
5529
|
-
},
|
|
5530
|
-
{
|
|
5531
|
-
id: "gpt-5.6-sol-low",
|
|
5532
|
-
handle: "openai/gpt-5.6-sol",
|
|
5533
|
-
label: "GPT-5.6 Sol",
|
|
5534
|
-
description: "OpenAI's most capable GPT-5.6 model (low reasoning)",
|
|
5535
|
-
updateArgs: {
|
|
5536
|
-
reasoning_effort: "low",
|
|
5537
|
-
verbosity: "medium",
|
|
5538
|
-
context_window: 350000,
|
|
5539
|
-
max_output_tokens: 128000,
|
|
5540
|
-
parallel_tool_calls: true
|
|
5541
|
-
}
|
|
5542
|
-
},
|
|
5543
|
-
{
|
|
5544
|
-
id: "gpt-5.6-sol-medium",
|
|
5545
|
-
handle: "openai/gpt-5.6-sol",
|
|
5546
|
-
label: "GPT-5.6 Sol",
|
|
5547
|
-
description: "OpenAI's most capable GPT-5.6 model (med reasoning)",
|
|
5548
|
-
updateArgs: {
|
|
5549
|
-
reasoning_effort: "medium",
|
|
5550
|
-
verbosity: "medium",
|
|
5551
|
-
context_window: 350000,
|
|
5552
|
-
max_output_tokens: 128000,
|
|
5553
|
-
parallel_tool_calls: true
|
|
5554
|
-
}
|
|
5555
|
-
},
|
|
5556
|
-
{
|
|
5557
|
-
id: "gpt-5.6-sol",
|
|
5558
|
-
handle: "openai/gpt-5.6-sol",
|
|
5559
|
-
label: "GPT-5.6 Sol",
|
|
5560
|
-
description: "OpenAI's most capable GPT-5.6 model (high reasoning)",
|
|
5561
|
-
isFeatured: true,
|
|
5562
|
-
updateArgs: {
|
|
5563
|
-
reasoning_effort: "high",
|
|
5564
|
-
verbosity: "medium",
|
|
5565
|
-
context_window: 350000,
|
|
5566
|
-
max_output_tokens: 128000,
|
|
5567
|
-
parallel_tool_calls: true
|
|
5568
|
-
}
|
|
5569
|
-
},
|
|
5570
|
-
{
|
|
5571
|
-
id: "gpt-5.6-sol-xhigh",
|
|
5572
|
-
handle: "openai/gpt-5.6-sol",
|
|
5573
|
-
label: "GPT-5.6 Sol",
|
|
5574
|
-
description: "OpenAI's most capable GPT-5.6 model (extra-high reasoning)",
|
|
5575
|
-
updateArgs: {
|
|
5576
|
-
reasoning_effort: "xhigh",
|
|
5577
|
-
verbosity: "medium",
|
|
5578
|
-
context_window: 350000,
|
|
5579
|
-
max_output_tokens: 128000,
|
|
5580
|
-
parallel_tool_calls: true
|
|
5581
|
-
}
|
|
5582
|
-
},
|
|
5583
|
-
{
|
|
5584
|
-
id: "gpt-5.6-sol-max",
|
|
5585
|
-
handle: "openai/gpt-5.6-sol",
|
|
5586
|
-
label: "GPT-5.6 Sol",
|
|
5587
|
-
description: "OpenAI's most capable GPT-5.6 model (max reasoning)",
|
|
5588
|
-
updateArgs: {
|
|
5589
|
-
reasoning_effort: "max",
|
|
5590
|
-
verbosity: "medium",
|
|
5591
|
-
context_window: 350000,
|
|
5592
|
-
max_output_tokens: 128000,
|
|
5593
|
-
parallel_tool_calls: true
|
|
5594
|
-
}
|
|
5595
|
-
},
|
|
5596
|
-
{
|
|
5597
|
-
id: "gpt-5.6-sol-1m-none",
|
|
5598
|
-
handle: "openai/gpt-5.6-sol",
|
|
5599
|
-
label: "GPT-5.6 Sol 1M",
|
|
5600
|
-
description: "GPT-5.6 Sol 1M (no reasoning)",
|
|
5601
|
-
updateArgs: {
|
|
5602
|
-
reasoning_effort: "none",
|
|
5603
|
-
verbosity: "medium",
|
|
5604
|
-
context_window: 1050000,
|
|
5605
|
-
max_output_tokens: 128000,
|
|
5606
|
-
parallel_tool_calls: true
|
|
5607
|
-
}
|
|
5608
|
-
},
|
|
5609
|
-
{
|
|
5610
|
-
id: "gpt-5.6-sol-1m-low",
|
|
5611
|
-
handle: "openai/gpt-5.6-sol",
|
|
5612
|
-
label: "GPT-5.6 Sol 1M",
|
|
5613
|
-
description: "GPT-5.6 Sol 1M (low reasoning)",
|
|
5614
|
-
updateArgs: {
|
|
5511
|
+
var models = [];
|
|
5512
|
+
var BUILTIN_MODEL_ALIASES = new Map([
|
|
5513
|
+
["auto", "letta/auto"],
|
|
5514
|
+
["auto-chat", "letta/auto-chat"],
|
|
5515
|
+
["auto-fast", "letta/auto-fast"]
|
|
5516
|
+
]);
|
|
5517
|
+
function resolveEstablishedCliAlias(modelIdentifier) {
|
|
5518
|
+
if (modelIdentifier === "haiku") {
|
|
5519
|
+
return models.find((model) => model.handle.includes("claude-haiku-4-5")) ?? null;
|
|
5520
|
+
}
|
|
5521
|
+
if (modelIdentifier === "sonnet-4.6-low") {
|
|
5522
|
+
const matchingModels = models.filter((model) => model.handle.includes("claude-sonnet-4-6"));
|
|
5523
|
+
const lowEffortModel = matchingModels.find((model) => model.updateArgs?.reasoning_effort === "low");
|
|
5524
|
+
if (lowEffortModel)
|
|
5525
|
+
return lowEffortModel;
|
|
5526
|
+
const baseModel = matchingModels[0];
|
|
5527
|
+
return baseModel ? {
|
|
5528
|
+
...baseModel,
|
|
5529
|
+
id: modelIdentifier,
|
|
5530
|
+
updateArgs: {
|
|
5531
|
+
...baseModel.updateArgs,
|
|
5615
5532
|
reasoning_effort: "low",
|
|
5616
|
-
|
|
5617
|
-
context_window: 1050000,
|
|
5618
|
-
max_output_tokens: 128000,
|
|
5619
|
-
parallel_tool_calls: true
|
|
5620
|
-
}
|
|
5621
|
-
},
|
|
5622
|
-
{
|
|
5623
|
-
id: "gpt-5.6-sol-1m-medium",
|
|
5624
|
-
handle: "openai/gpt-5.6-sol",
|
|
5625
|
-
label: "GPT-5.6 Sol 1M",
|
|
5626
|
-
description: "GPT-5.6 Sol 1M (med reasoning)",
|
|
5627
|
-
updateArgs: {
|
|
5628
|
-
reasoning_effort: "medium",
|
|
5629
|
-
verbosity: "medium",
|
|
5630
|
-
context_window: 1050000,
|
|
5631
|
-
max_output_tokens: 128000,
|
|
5632
|
-
parallel_tool_calls: true
|
|
5533
|
+
enable_reasoner: true
|
|
5633
5534
|
}
|
|
5634
|
-
}
|
|
5635
|
-
|
|
5636
|
-
|
|
5637
|
-
|
|
5638
|
-
|
|
5639
|
-
|
|
5640
|
-
|
|
5641
|
-
|
|
5642
|
-
|
|
5643
|
-
|
|
5644
|
-
|
|
5645
|
-
|
|
5535
|
+
} : null;
|
|
5536
|
+
}
|
|
5537
|
+
return null;
|
|
5538
|
+
}
|
|
5539
|
+
function resolveCatalogModel(modelIdentifier) {
|
|
5540
|
+
const byId = models.find((model) => model.id === modelIdentifier);
|
|
5541
|
+
if (byId)
|
|
5542
|
+
return byId;
|
|
5543
|
+
const byHandle = models.find((model) => model.handle === modelIdentifier);
|
|
5544
|
+
if (byHandle)
|
|
5545
|
+
return byHandle;
|
|
5546
|
+
const cliAlias = resolveEstablishedCliAlias(modelIdentifier);
|
|
5547
|
+
if (cliAlias)
|
|
5548
|
+
return cliAlias;
|
|
5549
|
+
const matches = models.filter((model) => model.handle.split("/").slice(1).join("/") === modelIdentifier);
|
|
5550
|
+
const matchingHandles = new Set(matches.map((model) => model.handle));
|
|
5551
|
+
return matchingHandles.size === 1 ? matches[0] ?? null : null;
|
|
5552
|
+
}
|
|
5553
|
+
function resolveModel(modelIdentifier) {
|
|
5554
|
+
const entry = resolveCatalogModel(modelIdentifier);
|
|
5555
|
+
if (entry)
|
|
5556
|
+
return entry.handle;
|
|
5557
|
+
const builtinHandle = BUILTIN_MODEL_ALIASES.get(modelIdentifier);
|
|
5558
|
+
if (builtinHandle)
|
|
5559
|
+
return builtinHandle;
|
|
5560
|
+
return modelIdentifier.includes("/") ? modelIdentifier : null;
|
|
5561
|
+
}
|
|
5562
|
+
function getDefaultModel() {
|
|
5563
|
+
if (models.length === 0)
|
|
5564
|
+
return "letta/auto";
|
|
5565
|
+
const autoModel = models.find((model) => model.id === "auto");
|
|
5566
|
+
if (autoModel)
|
|
5567
|
+
return autoModel.handle;
|
|
5568
|
+
const defaultModel = models.find((model) => model.isDefault);
|
|
5569
|
+
if (defaultModel)
|
|
5570
|
+
return defaultModel.handle;
|
|
5571
|
+
const firstModel = models[0];
|
|
5572
|
+
if (!firstModel) {
|
|
5573
|
+
throw new Error("Model catalog is unavailable.");
|
|
5574
|
+
}
|
|
5575
|
+
return firstModel.handle;
|
|
5576
|
+
}
|
|
5577
|
+
var PERSONALITY_OPTIONS = [
|
|
5578
|
+
{
|
|
5579
|
+
id: "memo",
|
|
5580
|
+
label: "Letta Code",
|
|
5581
|
+
description: "The memory-first agent"
|
|
5582
|
+
},
|
|
5583
|
+
{
|
|
5584
|
+
id: "tutorial",
|
|
5585
|
+
label: "Tutor",
|
|
5586
|
+
description: "I help with getting started with Letta. I can answer any questions about Letta, and also help you create and configure agents.",
|
|
5587
|
+
defaultMemoryFiles: [
|
|
5588
|
+
{
|
|
5589
|
+
path: "profile.png",
|
|
5590
|
+
assetId: "tutor-profile",
|
|
5591
|
+
commitMessage: "chore: set default Tutor profile picture"
|
|
5646
5592
|
}
|
|
5593
|
+
]
|
|
5594
|
+
},
|
|
5595
|
+
{
|
|
5596
|
+
id: "blank",
|
|
5597
|
+
label: "Blank",
|
|
5598
|
+
description: "Blank starter — you provide the personality"
|
|
5599
|
+
},
|
|
5600
|
+
{
|
|
5601
|
+
id: "linus",
|
|
5602
|
+
label: "Linus",
|
|
5603
|
+
description: "Code with a stern hand"
|
|
5604
|
+
},
|
|
5605
|
+
{
|
|
5606
|
+
id: "kawaii",
|
|
5607
|
+
label: "Letta-Chan",
|
|
5608
|
+
description: "sugoi~ (◕‿◕)✨",
|
|
5609
|
+
defaultModel: "auto-chat"
|
|
5610
|
+
},
|
|
5611
|
+
{
|
|
5612
|
+
id: "claude",
|
|
5613
|
+
label: "Letta Code",
|
|
5614
|
+
description: "Vanilla Claude flavors"
|
|
5615
|
+
},
|
|
5616
|
+
{
|
|
5617
|
+
id: "codex",
|
|
5618
|
+
label: "Letta Code",
|
|
5619
|
+
description: "Vanilla Codex flavors"
|
|
5620
|
+
}
|
|
5621
|
+
];
|
|
5622
|
+
var PERSONALITY_TAG_PREFIX = "personality:";
|
|
5623
|
+
function buildPersonalityTag(personalityId) {
|
|
5624
|
+
return `${PERSONALITY_TAG_PREFIX}${personalityId}`;
|
|
5625
|
+
}
|
|
5626
|
+
function getPersonalityCreationTags(personalityId) {
|
|
5627
|
+
return getPersonalityDefaultMemoryFiles(personalityId).length > 0 ? [buildPersonalityTag(personalityId)] : [];
|
|
5628
|
+
}
|
|
5629
|
+
var ONBOARDING_PERSONALITIES = [
|
|
5630
|
+
"tutorial"
|
|
5631
|
+
];
|
|
5632
|
+
function supportsOnboardingBlock(personalityId) {
|
|
5633
|
+
return ONBOARDING_PERSONALITIES.includes(personalityId);
|
|
5634
|
+
}
|
|
5635
|
+
var EDITABLE_FRONTMATTER_KEYS = [
|
|
5636
|
+
"description",
|
|
5637
|
+
"limit",
|
|
5638
|
+
"read_only"
|
|
5639
|
+
];
|
|
5640
|
+
function ensureTrailingNewline(content) {
|
|
5641
|
+
return `${content.trimEnd()}
|
|
5642
|
+
`;
|
|
5643
|
+
}
|
|
5644
|
+
function getPromptTemplate(promptAssetName) {
|
|
5645
|
+
const rawPrompt = MEMORY_PROMPTS[promptAssetName];
|
|
5646
|
+
if (!rawPrompt) {
|
|
5647
|
+
throw new Error(`Missing built-in prompt content for ${promptAssetName}`);
|
|
5648
|
+
}
|
|
5649
|
+
return parseMdxFrontmatter(rawPrompt);
|
|
5650
|
+
}
|
|
5651
|
+
function getPromptBody(promptAssetName) {
|
|
5652
|
+
const { body } = getPromptTemplate(promptAssetName);
|
|
5653
|
+
if (!body.trim()) {
|
|
5654
|
+
throw new Error(`${promptAssetName} has empty body content`);
|
|
5655
|
+
}
|
|
5656
|
+
return ensureTrailingNewline(body);
|
|
5657
|
+
}
|
|
5658
|
+
function getEditablePromptFrontmatter(promptAssetName) {
|
|
5659
|
+
const { frontmatter } = getPromptTemplate(promptAssetName);
|
|
5660
|
+
return Object.fromEntries(Object.entries(frontmatter).filter(([key]) => EDITABLE_FRONTMATTER_KEYS.includes(key)));
|
|
5661
|
+
}
|
|
5662
|
+
function getSystemPromptById(systemPromptId) {
|
|
5663
|
+
const prompt = SYSTEM_PROMPTS.find((candidate) => candidate.id === systemPromptId);
|
|
5664
|
+
if (!prompt || !prompt.content.trim()) {
|
|
5665
|
+
throw new Error(`Missing built-in prompt content for ${systemPromptId}`);
|
|
5666
|
+
}
|
|
5667
|
+
return prompt.content;
|
|
5668
|
+
}
|
|
5669
|
+
function getPersonalityOption(personalityId) {
|
|
5670
|
+
const option = PERSONALITY_OPTIONS.find((candidate) => candidate.id === personalityId);
|
|
5671
|
+
if (!option) {
|
|
5672
|
+
throw new Error(`Unknown personality: ${personalityId}`);
|
|
5673
|
+
}
|
|
5674
|
+
return option;
|
|
5675
|
+
}
|
|
5676
|
+
function getPersonalityDefaultMemoryFiles(personalityId) {
|
|
5677
|
+
return getPersonalityOption(personalityId).defaultMemoryFiles ?? [];
|
|
5678
|
+
}
|
|
5679
|
+
function getPersonalityContent(personalityId) {
|
|
5680
|
+
if (personalityId === "memo") {
|
|
5681
|
+
return getPromptBody("persona_memo.mdx");
|
|
5682
|
+
}
|
|
5683
|
+
if (personalityId === "tutorial") {
|
|
5684
|
+
return getPromptBody("persona_tutorial.mdx");
|
|
5685
|
+
}
|
|
5686
|
+
if (personalityId === "blank") {
|
|
5687
|
+
return getPromptBody("persona_blank.mdx");
|
|
5688
|
+
}
|
|
5689
|
+
if (personalityId === "kawaii") {
|
|
5690
|
+
return getPromptBody("persona_kawaii.mdx");
|
|
5691
|
+
}
|
|
5692
|
+
if (personalityId === "codex") {
|
|
5693
|
+
return ensureTrailingNewline(getSystemPromptById("source-codex"));
|
|
5694
|
+
}
|
|
5695
|
+
if (personalityId === "linus") {
|
|
5696
|
+
return getPromptBody("persona_linus.mdx");
|
|
5697
|
+
}
|
|
5698
|
+
return ensureTrailingNewline(getSystemPromptById("source-claude"));
|
|
5699
|
+
}
|
|
5700
|
+
function getDefaultHumanContent() {
|
|
5701
|
+
return getPromptBody("human.mdx");
|
|
5702
|
+
}
|
|
5703
|
+
function getPersonalityHumanContent(personalityId) {
|
|
5704
|
+
if (personalityId === "memo") {
|
|
5705
|
+
return getPromptBody("human_memo.mdx");
|
|
5706
|
+
}
|
|
5707
|
+
if (personalityId === "tutorial") {
|
|
5708
|
+
return getPromptBody("human_tutorial.mdx");
|
|
5709
|
+
}
|
|
5710
|
+
if (personalityId === "linus") {
|
|
5711
|
+
return getPromptBody("human_linus.mdx");
|
|
5712
|
+
}
|
|
5713
|
+
if (personalityId === "kawaii") {
|
|
5714
|
+
return getPromptBody("human_kawaii.mdx");
|
|
5715
|
+
}
|
|
5716
|
+
if (personalityId === "blank") {
|
|
5717
|
+
return getDefaultHumanContent();
|
|
5718
|
+
}
|
|
5719
|
+
return getDefaultHumanContent();
|
|
5720
|
+
}
|
|
5721
|
+
function getPersonalityBlockDefinitions(personalityId, environment = "cloud") {
|
|
5722
|
+
const personaTemplatePromptAssetName = personalityId === "memo" ? "persona_memo.mdx" : personalityId === "tutorial" ? "persona_tutorial.mdx" : personalityId === "blank" ? "persona_blank.mdx" : personalityId === "kawaii" ? "persona_kawaii.mdx" : personalityId === "linus" ? "persona_linus.mdx" : "persona.mdx";
|
|
5723
|
+
const humanTemplatePromptAssetName = personalityId === "memo" ? "human_memo.mdx" : personalityId === "tutorial" ? "human_tutorial.mdx" : personalityId === "kawaii" ? "human_kawaii.mdx" : personalityId === "linus" ? "human_linus.mdx" : "human.mdx";
|
|
5724
|
+
const onboardingTemplatePromptAssetName = environment === "local" ? "onboarding_local.mdx" : "onboarding.mdx";
|
|
5725
|
+
return {
|
|
5726
|
+
persona: {
|
|
5727
|
+
value: getPersonalityContent(personalityId),
|
|
5728
|
+
description: getEditablePromptFrontmatter(personaTemplatePromptAssetName).description,
|
|
5729
|
+
templatePromptAssetName: personaTemplatePromptAssetName
|
|
5647
5730
|
},
|
|
5648
|
-
{
|
|
5649
|
-
|
|
5650
|
-
|
|
5651
|
-
|
|
5652
|
-
description: "GPT-5.6 Sol 1M (extra-high reasoning)",
|
|
5653
|
-
updateArgs: {
|
|
5654
|
-
reasoning_effort: "xhigh",
|
|
5655
|
-
verbosity: "medium",
|
|
5656
|
-
context_window: 1050000,
|
|
5657
|
-
max_output_tokens: 128000,
|
|
5658
|
-
parallel_tool_calls: true
|
|
5659
|
-
}
|
|
5731
|
+
human: {
|
|
5732
|
+
value: getPersonalityHumanContent(personalityId),
|
|
5733
|
+
description: getEditablePromptFrontmatter(humanTemplatePromptAssetName).description,
|
|
5734
|
+
templatePromptAssetName: humanTemplatePromptAssetName
|
|
5660
5735
|
},
|
|
5661
|
-
{
|
|
5662
|
-
|
|
5663
|
-
|
|
5664
|
-
|
|
5665
|
-
|
|
5666
|
-
updateArgs: {
|
|
5667
|
-
reasoning_effort: "max",
|
|
5668
|
-
verbosity: "medium",
|
|
5669
|
-
context_window: 1050000,
|
|
5670
|
-
max_output_tokens: 128000,
|
|
5671
|
-
parallel_tool_calls: true
|
|
5672
|
-
}
|
|
5673
|
-
},
|
|
5674
|
-
{
|
|
5675
|
-
id: "gpt-5.6-terra-none",
|
|
5676
|
-
handle: "openai/gpt-5.6-terra",
|
|
5677
|
-
label: "GPT-5.6 Terra",
|
|
5678
|
-
description: "GPT-5.6 Terra (no reasoning)",
|
|
5679
|
-
updateArgs: {
|
|
5680
|
-
reasoning_effort: "none",
|
|
5681
|
-
verbosity: "medium",
|
|
5682
|
-
context_window: 350000,
|
|
5683
|
-
max_output_tokens: 128000,
|
|
5684
|
-
parallel_tool_calls: true
|
|
5685
|
-
}
|
|
5686
|
-
},
|
|
5687
|
-
{
|
|
5688
|
-
id: "gpt-5.6-terra-low",
|
|
5689
|
-
handle: "openai/gpt-5.6-terra",
|
|
5690
|
-
label: "GPT-5.6 Terra",
|
|
5691
|
-
description: "GPT-5.6 Terra (low reasoning)",
|
|
5692
|
-
updateArgs: {
|
|
5693
|
-
reasoning_effort: "low",
|
|
5694
|
-
verbosity: "medium",
|
|
5695
|
-
context_window: 350000,
|
|
5696
|
-
max_output_tokens: 128000,
|
|
5697
|
-
parallel_tool_calls: true
|
|
5698
|
-
}
|
|
5699
|
-
},
|
|
5700
|
-
{
|
|
5701
|
-
id: "gpt-5.6-terra-medium",
|
|
5702
|
-
handle: "openai/gpt-5.6-terra",
|
|
5703
|
-
label: "GPT-5.6 Terra",
|
|
5704
|
-
description: "GPT-5.6 Terra (med reasoning)",
|
|
5705
|
-
updateArgs: {
|
|
5706
|
-
reasoning_effort: "medium",
|
|
5707
|
-
verbosity: "medium",
|
|
5708
|
-
context_window: 350000,
|
|
5709
|
-
max_output_tokens: 128000,
|
|
5710
|
-
parallel_tool_calls: true
|
|
5711
|
-
}
|
|
5712
|
-
},
|
|
5713
|
-
{
|
|
5714
|
-
id: "gpt-5.6-terra",
|
|
5715
|
-
handle: "openai/gpt-5.6-terra",
|
|
5716
|
-
label: "GPT-5.6 Terra",
|
|
5717
|
-
description: "GPT-5.6 Terra (high reasoning)",
|
|
5718
|
-
isFeatured: true,
|
|
5719
|
-
updateArgs: {
|
|
5720
|
-
reasoning_effort: "high",
|
|
5721
|
-
verbosity: "medium",
|
|
5722
|
-
context_window: 350000,
|
|
5723
|
-
max_output_tokens: 128000,
|
|
5724
|
-
parallel_tool_calls: true
|
|
5725
|
-
}
|
|
5726
|
-
},
|
|
5727
|
-
{
|
|
5728
|
-
id: "gpt-5.6-terra-xhigh",
|
|
5729
|
-
handle: "openai/gpt-5.6-terra",
|
|
5730
|
-
label: "GPT-5.6 Terra",
|
|
5731
|
-
description: "GPT-5.6 Terra (extra-high reasoning)",
|
|
5732
|
-
updateArgs: {
|
|
5733
|
-
reasoning_effort: "xhigh",
|
|
5734
|
-
verbosity: "medium",
|
|
5735
|
-
context_window: 350000,
|
|
5736
|
-
max_output_tokens: 128000,
|
|
5737
|
-
parallel_tool_calls: true
|
|
5738
|
-
}
|
|
5739
|
-
},
|
|
5740
|
-
{
|
|
5741
|
-
id: "gpt-5.6-terra-max",
|
|
5742
|
-
handle: "openai/gpt-5.6-terra",
|
|
5743
|
-
label: "GPT-5.6 Terra",
|
|
5744
|
-
description: "GPT-5.6 Terra (max reasoning)",
|
|
5745
|
-
updateArgs: {
|
|
5746
|
-
reasoning_effort: "max",
|
|
5747
|
-
verbosity: "medium",
|
|
5748
|
-
context_window: 350000,
|
|
5749
|
-
max_output_tokens: 128000,
|
|
5750
|
-
parallel_tool_calls: true
|
|
5751
|
-
}
|
|
5752
|
-
},
|
|
5753
|
-
{
|
|
5754
|
-
id: "gpt-5.6-terra-1m-none",
|
|
5755
|
-
handle: "openai/gpt-5.6-terra",
|
|
5756
|
-
label: "GPT-5.6 Terra 1M",
|
|
5757
|
-
description: "GPT-5.6 Terra 1M (no reasoning)",
|
|
5758
|
-
updateArgs: {
|
|
5759
|
-
reasoning_effort: "none",
|
|
5760
|
-
verbosity: "medium",
|
|
5761
|
-
context_window: 1050000,
|
|
5762
|
-
max_output_tokens: 128000,
|
|
5763
|
-
parallel_tool_calls: true
|
|
5764
|
-
}
|
|
5765
|
-
},
|
|
5766
|
-
{
|
|
5767
|
-
id: "gpt-5.6-terra-1m-low",
|
|
5768
|
-
handle: "openai/gpt-5.6-terra",
|
|
5769
|
-
label: "GPT-5.6 Terra 1M",
|
|
5770
|
-
description: "GPT-5.6 Terra 1M (low reasoning)",
|
|
5771
|
-
updateArgs: {
|
|
5772
|
-
reasoning_effort: "low",
|
|
5773
|
-
verbosity: "medium",
|
|
5774
|
-
context_window: 1050000,
|
|
5775
|
-
max_output_tokens: 128000,
|
|
5776
|
-
parallel_tool_calls: true
|
|
5777
|
-
}
|
|
5778
|
-
},
|
|
5779
|
-
{
|
|
5780
|
-
id: "gpt-5.6-terra-1m-medium",
|
|
5781
|
-
handle: "openai/gpt-5.6-terra",
|
|
5782
|
-
label: "GPT-5.6 Terra 1M",
|
|
5783
|
-
description: "GPT-5.6 Terra 1M (med reasoning)",
|
|
5784
|
-
updateArgs: {
|
|
5785
|
-
reasoning_effort: "medium",
|
|
5786
|
-
verbosity: "medium",
|
|
5787
|
-
context_window: 1050000,
|
|
5788
|
-
max_output_tokens: 128000,
|
|
5789
|
-
parallel_tool_calls: true
|
|
5790
|
-
}
|
|
5791
|
-
},
|
|
5792
|
-
{
|
|
5793
|
-
id: "gpt-5.6-terra-1m",
|
|
5794
|
-
handle: "openai/gpt-5.6-terra",
|
|
5795
|
-
label: "GPT-5.6 Terra 1M",
|
|
5796
|
-
description: "GPT-5.6 Terra with 1M token context window (high reasoning)",
|
|
5797
|
-
updateArgs: {
|
|
5798
|
-
reasoning_effort: "high",
|
|
5799
|
-
verbosity: "medium",
|
|
5800
|
-
context_window: 1050000,
|
|
5801
|
-
max_output_tokens: 128000,
|
|
5802
|
-
parallel_tool_calls: true
|
|
5803
|
-
}
|
|
5804
|
-
},
|
|
5805
|
-
{
|
|
5806
|
-
id: "gpt-5.6-terra-1m-xhigh",
|
|
5807
|
-
handle: "openai/gpt-5.6-terra",
|
|
5808
|
-
label: "GPT-5.6 Terra 1M",
|
|
5809
|
-
description: "GPT-5.6 Terra 1M (extra-high reasoning)",
|
|
5810
|
-
updateArgs: {
|
|
5811
|
-
reasoning_effort: "xhigh",
|
|
5812
|
-
verbosity: "medium",
|
|
5813
|
-
context_window: 1050000,
|
|
5814
|
-
max_output_tokens: 128000,
|
|
5815
|
-
parallel_tool_calls: true
|
|
5816
|
-
}
|
|
5817
|
-
},
|
|
5818
|
-
{
|
|
5819
|
-
id: "gpt-5.6-terra-1m-max",
|
|
5820
|
-
handle: "openai/gpt-5.6-terra",
|
|
5821
|
-
label: "GPT-5.6 Terra 1M",
|
|
5822
|
-
description: "GPT-5.6 Terra 1M (max reasoning)",
|
|
5823
|
-
updateArgs: {
|
|
5824
|
-
reasoning_effort: "max",
|
|
5825
|
-
verbosity: "medium",
|
|
5826
|
-
context_window: 1050000,
|
|
5827
|
-
max_output_tokens: 128000,
|
|
5828
|
-
parallel_tool_calls: true
|
|
5829
|
-
}
|
|
5830
|
-
},
|
|
5831
|
-
{
|
|
5832
|
-
id: "gpt-5.6-luna-none",
|
|
5833
|
-
handle: "openai/gpt-5.6-luna",
|
|
5834
|
-
label: "GPT-5.6 Luna",
|
|
5835
|
-
description: "GPT-5.6 Luna (no reasoning)",
|
|
5836
|
-
updateArgs: {
|
|
5837
|
-
reasoning_effort: "none",
|
|
5838
|
-
verbosity: "medium",
|
|
5839
|
-
context_window: 350000,
|
|
5840
|
-
max_output_tokens: 128000,
|
|
5841
|
-
parallel_tool_calls: true
|
|
5842
|
-
}
|
|
5843
|
-
},
|
|
5844
|
-
{
|
|
5845
|
-
id: "gpt-5.6-luna-low",
|
|
5846
|
-
handle: "openai/gpt-5.6-luna",
|
|
5847
|
-
label: "GPT-5.6 Luna",
|
|
5848
|
-
description: "GPT-5.6 Luna (low reasoning)",
|
|
5849
|
-
updateArgs: {
|
|
5850
|
-
reasoning_effort: "low",
|
|
5851
|
-
verbosity: "medium",
|
|
5852
|
-
context_window: 350000,
|
|
5853
|
-
max_output_tokens: 128000,
|
|
5854
|
-
parallel_tool_calls: true
|
|
5855
|
-
}
|
|
5856
|
-
},
|
|
5857
|
-
{
|
|
5858
|
-
id: "gpt-5.6-luna-medium",
|
|
5859
|
-
handle: "openai/gpt-5.6-luna",
|
|
5860
|
-
label: "GPT-5.6 Luna",
|
|
5861
|
-
description: "GPT-5.6 Luna (med reasoning)",
|
|
5862
|
-
updateArgs: {
|
|
5863
|
-
reasoning_effort: "medium",
|
|
5864
|
-
verbosity: "medium",
|
|
5865
|
-
context_window: 350000,
|
|
5866
|
-
max_output_tokens: 128000,
|
|
5867
|
-
parallel_tool_calls: true
|
|
5868
|
-
}
|
|
5869
|
-
},
|
|
5870
|
-
{
|
|
5871
|
-
id: "gpt-5.6-luna",
|
|
5872
|
-
handle: "openai/gpt-5.6-luna",
|
|
5873
|
-
label: "GPT-5.6 Luna",
|
|
5874
|
-
description: "GPT-5.6 Luna (high reasoning)",
|
|
5875
|
-
isFeatured: true,
|
|
5876
|
-
updateArgs: {
|
|
5877
|
-
reasoning_effort: "high",
|
|
5878
|
-
verbosity: "medium",
|
|
5879
|
-
context_window: 350000,
|
|
5880
|
-
max_output_tokens: 128000,
|
|
5881
|
-
parallel_tool_calls: true
|
|
5882
|
-
}
|
|
5883
|
-
},
|
|
5884
|
-
{
|
|
5885
|
-
id: "gpt-5.6-luna-xhigh",
|
|
5886
|
-
handle: "openai/gpt-5.6-luna",
|
|
5887
|
-
label: "GPT-5.6 Luna",
|
|
5888
|
-
description: "GPT-5.6 Luna (extra-high reasoning)",
|
|
5889
|
-
updateArgs: {
|
|
5890
|
-
reasoning_effort: "xhigh",
|
|
5891
|
-
verbosity: "medium",
|
|
5892
|
-
context_window: 350000,
|
|
5893
|
-
max_output_tokens: 128000,
|
|
5894
|
-
parallel_tool_calls: true
|
|
5895
|
-
}
|
|
5896
|
-
},
|
|
5897
|
-
{
|
|
5898
|
-
id: "gpt-5.6-luna-max",
|
|
5899
|
-
handle: "openai/gpt-5.6-luna",
|
|
5900
|
-
label: "GPT-5.6 Luna",
|
|
5901
|
-
description: "GPT-5.6 Luna (max reasoning)",
|
|
5902
|
-
updateArgs: {
|
|
5903
|
-
reasoning_effort: "max",
|
|
5904
|
-
verbosity: "medium",
|
|
5905
|
-
context_window: 350000,
|
|
5906
|
-
max_output_tokens: 128000,
|
|
5907
|
-
parallel_tool_calls: true
|
|
5908
|
-
}
|
|
5909
|
-
},
|
|
5910
|
-
{
|
|
5911
|
-
id: "gpt-5.6-luna-1m-none",
|
|
5912
|
-
handle: "openai/gpt-5.6-luna",
|
|
5913
|
-
label: "GPT-5.6 Luna 1M",
|
|
5914
|
-
description: "GPT-5.6 Luna 1M (no reasoning)",
|
|
5915
|
-
updateArgs: {
|
|
5916
|
-
reasoning_effort: "none",
|
|
5917
|
-
verbosity: "medium",
|
|
5918
|
-
context_window: 1050000,
|
|
5919
|
-
max_output_tokens: 128000,
|
|
5920
|
-
parallel_tool_calls: true
|
|
5921
|
-
}
|
|
5922
|
-
},
|
|
5923
|
-
{
|
|
5924
|
-
id: "gpt-5.6-luna-1m-low",
|
|
5925
|
-
handle: "openai/gpt-5.6-luna",
|
|
5926
|
-
label: "GPT-5.6 Luna 1M",
|
|
5927
|
-
description: "GPT-5.6 Luna 1M (low reasoning)",
|
|
5928
|
-
updateArgs: {
|
|
5929
|
-
reasoning_effort: "low",
|
|
5930
|
-
verbosity: "medium",
|
|
5931
|
-
context_window: 1050000,
|
|
5932
|
-
max_output_tokens: 128000,
|
|
5933
|
-
parallel_tool_calls: true
|
|
5934
|
-
}
|
|
5935
|
-
},
|
|
5936
|
-
{
|
|
5937
|
-
id: "gpt-5.6-luna-1m-medium",
|
|
5938
|
-
handle: "openai/gpt-5.6-luna",
|
|
5939
|
-
label: "GPT-5.6 Luna 1M",
|
|
5940
|
-
description: "GPT-5.6 Luna 1M (med reasoning)",
|
|
5941
|
-
updateArgs: {
|
|
5942
|
-
reasoning_effort: "medium",
|
|
5943
|
-
verbosity: "medium",
|
|
5944
|
-
context_window: 1050000,
|
|
5945
|
-
max_output_tokens: 128000,
|
|
5946
|
-
parallel_tool_calls: true
|
|
5947
|
-
}
|
|
5948
|
-
},
|
|
5949
|
-
{
|
|
5950
|
-
id: "gpt-5.6-luna-1m",
|
|
5951
|
-
handle: "openai/gpt-5.6-luna",
|
|
5952
|
-
label: "GPT-5.6 Luna 1M",
|
|
5953
|
-
description: "GPT-5.6 Luna with 1M token context window (high reasoning)",
|
|
5954
|
-
updateArgs: {
|
|
5955
|
-
reasoning_effort: "high",
|
|
5956
|
-
verbosity: "medium",
|
|
5957
|
-
context_window: 1050000,
|
|
5958
|
-
max_output_tokens: 128000,
|
|
5959
|
-
parallel_tool_calls: true
|
|
5960
|
-
}
|
|
5961
|
-
},
|
|
5962
|
-
{
|
|
5963
|
-
id: "gpt-5.6-luna-1m-xhigh",
|
|
5964
|
-
handle: "openai/gpt-5.6-luna",
|
|
5965
|
-
label: "GPT-5.6 Luna 1M",
|
|
5966
|
-
description: "GPT-5.6 Luna 1M (extra-high reasoning)",
|
|
5967
|
-
updateArgs: {
|
|
5968
|
-
reasoning_effort: "xhigh",
|
|
5969
|
-
verbosity: "medium",
|
|
5970
|
-
context_window: 1050000,
|
|
5971
|
-
max_output_tokens: 128000,
|
|
5972
|
-
parallel_tool_calls: true
|
|
5973
|
-
}
|
|
5974
|
-
},
|
|
5975
|
-
{
|
|
5976
|
-
id: "gpt-5.6-luna-1m-max",
|
|
5977
|
-
handle: "openai/gpt-5.6-luna",
|
|
5978
|
-
label: "GPT-5.6 Luna 1M",
|
|
5979
|
-
description: "GPT-5.6 Luna 1M (max reasoning)",
|
|
5980
|
-
updateArgs: {
|
|
5981
|
-
reasoning_effort: "max",
|
|
5982
|
-
verbosity: "medium",
|
|
5983
|
-
context_window: 1050000,
|
|
5984
|
-
max_output_tokens: 128000,
|
|
5985
|
-
parallel_tool_calls: true
|
|
5986
|
-
}
|
|
5987
|
-
},
|
|
5988
|
-
{
|
|
5989
|
-
id: "gpt-5.6-sol-plus-pro-none",
|
|
5990
|
-
handle: "chatgpt-plus-pro/gpt-5.6-sol",
|
|
5991
|
-
label: "GPT-5.6 Sol (ChatGPT)",
|
|
5992
|
-
description: "GPT-5.6 Sol (no reasoning) via ChatGPT Plus/Pro",
|
|
5993
|
-
updateArgs: {
|
|
5994
|
-
reasoning_effort: "none",
|
|
5995
|
-
verbosity: "low",
|
|
5996
|
-
context_window: 350000,
|
|
5997
|
-
max_output_tokens: 128000,
|
|
5998
|
-
parallel_tool_calls: true
|
|
5999
|
-
}
|
|
6000
|
-
},
|
|
6001
|
-
{
|
|
6002
|
-
id: "gpt-5.6-sol-plus-pro-low",
|
|
6003
|
-
handle: "chatgpt-plus-pro/gpt-5.6-sol",
|
|
6004
|
-
label: "GPT-5.6 Sol (ChatGPT)",
|
|
6005
|
-
description: "GPT-5.6 Sol (low reasoning) via ChatGPT Plus/Pro",
|
|
6006
|
-
updateArgs: {
|
|
6007
|
-
reasoning_effort: "low",
|
|
6008
|
-
verbosity: "low",
|
|
6009
|
-
context_window: 350000,
|
|
6010
|
-
max_output_tokens: 128000,
|
|
6011
|
-
parallel_tool_calls: true
|
|
6012
|
-
}
|
|
6013
|
-
},
|
|
6014
|
-
{
|
|
6015
|
-
id: "gpt-5.6-sol-plus-pro-medium",
|
|
6016
|
-
handle: "chatgpt-plus-pro/gpt-5.6-sol",
|
|
6017
|
-
label: "GPT-5.6 Sol (ChatGPT)",
|
|
6018
|
-
description: "GPT-5.6 Sol (med reasoning) via ChatGPT Plus/Pro",
|
|
6019
|
-
updateArgs: {
|
|
6020
|
-
reasoning_effort: "medium",
|
|
6021
|
-
verbosity: "low",
|
|
6022
|
-
context_window: 350000,
|
|
6023
|
-
max_output_tokens: 128000,
|
|
6024
|
-
parallel_tool_calls: true
|
|
6025
|
-
}
|
|
6026
|
-
},
|
|
6027
|
-
{
|
|
6028
|
-
id: "gpt-5.6-sol-plus-pro-high",
|
|
6029
|
-
handle: "chatgpt-plus-pro/gpt-5.6-sol",
|
|
6030
|
-
label: "GPT-5.6 Sol (ChatGPT)",
|
|
6031
|
-
description: "GPT-5.6 Sol (high reasoning) via ChatGPT Plus/Pro",
|
|
6032
|
-
updateArgs: {
|
|
6033
|
-
reasoning_effort: "high",
|
|
6034
|
-
verbosity: "low",
|
|
6035
|
-
context_window: 350000,
|
|
6036
|
-
max_output_tokens: 128000,
|
|
6037
|
-
parallel_tool_calls: true
|
|
6038
|
-
},
|
|
6039
|
-
isFeatured: true
|
|
6040
|
-
},
|
|
6041
|
-
{
|
|
6042
|
-
id: "gpt-5.6-sol-plus-pro-xhigh",
|
|
6043
|
-
handle: "chatgpt-plus-pro/gpt-5.6-sol",
|
|
6044
|
-
label: "GPT-5.6 Sol (ChatGPT)",
|
|
6045
|
-
description: "GPT-5.6 Sol (extra-high reasoning) via ChatGPT Plus/Pro",
|
|
6046
|
-
updateArgs: {
|
|
6047
|
-
reasoning_effort: "xhigh",
|
|
6048
|
-
verbosity: "low",
|
|
6049
|
-
context_window: 350000,
|
|
6050
|
-
max_output_tokens: 128000,
|
|
6051
|
-
parallel_tool_calls: true
|
|
6052
|
-
}
|
|
6053
|
-
},
|
|
6054
|
-
{
|
|
6055
|
-
id: "gpt-5.6-sol-plus-pro-max",
|
|
6056
|
-
handle: "chatgpt-plus-pro/gpt-5.6-sol",
|
|
6057
|
-
label: "GPT-5.6 Sol (ChatGPT)",
|
|
6058
|
-
description: "GPT-5.6 Sol (max reasoning) via ChatGPT Plus/Pro",
|
|
6059
|
-
updateArgs: {
|
|
6060
|
-
reasoning_effort: "max",
|
|
6061
|
-
verbosity: "low",
|
|
6062
|
-
context_window: 350000,
|
|
6063
|
-
max_output_tokens: 128000,
|
|
6064
|
-
parallel_tool_calls: true
|
|
6065
|
-
}
|
|
6066
|
-
},
|
|
6067
|
-
{
|
|
6068
|
-
id: "gpt-5.6-terra-plus-pro-none",
|
|
6069
|
-
handle: "chatgpt-plus-pro/gpt-5.6-terra",
|
|
6070
|
-
label: "GPT-5.6 Terra (ChatGPT)",
|
|
6071
|
-
description: "GPT-5.6 Terra (no reasoning) via ChatGPT Plus/Pro",
|
|
6072
|
-
updateArgs: {
|
|
6073
|
-
reasoning_effort: "none",
|
|
6074
|
-
verbosity: "low",
|
|
6075
|
-
context_window: 350000,
|
|
6076
|
-
max_output_tokens: 128000,
|
|
6077
|
-
parallel_tool_calls: true
|
|
6078
|
-
}
|
|
6079
|
-
},
|
|
6080
|
-
{
|
|
6081
|
-
id: "gpt-5.6-terra-plus-pro-low",
|
|
6082
|
-
handle: "chatgpt-plus-pro/gpt-5.6-terra",
|
|
6083
|
-
label: "GPT-5.6 Terra (ChatGPT)",
|
|
6084
|
-
description: "GPT-5.6 Terra (low reasoning) via ChatGPT Plus/Pro",
|
|
6085
|
-
updateArgs: {
|
|
6086
|
-
reasoning_effort: "low",
|
|
6087
|
-
verbosity: "low",
|
|
6088
|
-
context_window: 350000,
|
|
6089
|
-
max_output_tokens: 128000,
|
|
6090
|
-
parallel_tool_calls: true
|
|
6091
|
-
}
|
|
6092
|
-
},
|
|
6093
|
-
{
|
|
6094
|
-
id: "gpt-5.6-terra-plus-pro-medium",
|
|
6095
|
-
handle: "chatgpt-plus-pro/gpt-5.6-terra",
|
|
6096
|
-
label: "GPT-5.6 Terra (ChatGPT)",
|
|
6097
|
-
description: "GPT-5.6 Terra (med reasoning) via ChatGPT Plus/Pro",
|
|
6098
|
-
updateArgs: {
|
|
6099
|
-
reasoning_effort: "medium",
|
|
6100
|
-
verbosity: "low",
|
|
6101
|
-
context_window: 350000,
|
|
6102
|
-
max_output_tokens: 128000,
|
|
6103
|
-
parallel_tool_calls: true
|
|
6104
|
-
}
|
|
6105
|
-
},
|
|
6106
|
-
{
|
|
6107
|
-
id: "gpt-5.6-terra-plus-pro-high",
|
|
6108
|
-
handle: "chatgpt-plus-pro/gpt-5.6-terra",
|
|
6109
|
-
label: "GPT-5.6 Terra (ChatGPT)",
|
|
6110
|
-
description: "GPT-5.6 Terra (high reasoning) via ChatGPT Plus/Pro",
|
|
6111
|
-
updateArgs: {
|
|
6112
|
-
reasoning_effort: "high",
|
|
6113
|
-
verbosity: "low",
|
|
6114
|
-
context_window: 350000,
|
|
6115
|
-
max_output_tokens: 128000,
|
|
6116
|
-
parallel_tool_calls: true
|
|
6117
|
-
},
|
|
6118
|
-
isFeatured: true
|
|
6119
|
-
},
|
|
6120
|
-
{
|
|
6121
|
-
id: "gpt-5.6-terra-plus-pro-xhigh",
|
|
6122
|
-
handle: "chatgpt-plus-pro/gpt-5.6-terra",
|
|
6123
|
-
label: "GPT-5.6 Terra (ChatGPT)",
|
|
6124
|
-
description: "GPT-5.6 Terra (extra-high reasoning) via ChatGPT Plus/Pro",
|
|
6125
|
-
updateArgs: {
|
|
6126
|
-
reasoning_effort: "xhigh",
|
|
6127
|
-
verbosity: "low",
|
|
6128
|
-
context_window: 350000,
|
|
6129
|
-
max_output_tokens: 128000,
|
|
6130
|
-
parallel_tool_calls: true
|
|
6131
|
-
}
|
|
6132
|
-
},
|
|
6133
|
-
{
|
|
6134
|
-
id: "gpt-5.6-terra-plus-pro-max",
|
|
6135
|
-
handle: "chatgpt-plus-pro/gpt-5.6-terra",
|
|
6136
|
-
label: "GPT-5.6 Terra (ChatGPT)",
|
|
6137
|
-
description: "GPT-5.6 Terra (max reasoning) via ChatGPT Plus/Pro",
|
|
6138
|
-
updateArgs: {
|
|
6139
|
-
reasoning_effort: "max",
|
|
6140
|
-
verbosity: "low",
|
|
6141
|
-
context_window: 350000,
|
|
6142
|
-
max_output_tokens: 128000,
|
|
6143
|
-
parallel_tool_calls: true
|
|
6144
|
-
}
|
|
6145
|
-
},
|
|
6146
|
-
{
|
|
6147
|
-
id: "gpt-5.6-luna-plus-pro-none",
|
|
6148
|
-
handle: "chatgpt-plus-pro/gpt-5.6-luna",
|
|
6149
|
-
label: "GPT-5.6 Luna (ChatGPT)",
|
|
6150
|
-
description: "GPT-5.6 Luna (no reasoning) via ChatGPT Plus/Pro",
|
|
6151
|
-
updateArgs: {
|
|
6152
|
-
reasoning_effort: "none",
|
|
6153
|
-
verbosity: "low",
|
|
6154
|
-
context_window: 350000,
|
|
6155
|
-
max_output_tokens: 128000,
|
|
6156
|
-
parallel_tool_calls: true
|
|
6157
|
-
}
|
|
6158
|
-
},
|
|
6159
|
-
{
|
|
6160
|
-
id: "gpt-5.6-luna-plus-pro-low",
|
|
6161
|
-
handle: "chatgpt-plus-pro/gpt-5.6-luna",
|
|
6162
|
-
label: "GPT-5.6 Luna (ChatGPT)",
|
|
6163
|
-
description: "GPT-5.6 Luna (low reasoning) via ChatGPT Plus/Pro",
|
|
6164
|
-
updateArgs: {
|
|
6165
|
-
reasoning_effort: "low",
|
|
6166
|
-
verbosity: "low",
|
|
6167
|
-
context_window: 350000,
|
|
6168
|
-
max_output_tokens: 128000,
|
|
6169
|
-
parallel_tool_calls: true
|
|
6170
|
-
}
|
|
6171
|
-
},
|
|
6172
|
-
{
|
|
6173
|
-
id: "gpt-5.6-luna-plus-pro-medium",
|
|
6174
|
-
handle: "chatgpt-plus-pro/gpt-5.6-luna",
|
|
6175
|
-
label: "GPT-5.6 Luna (ChatGPT)",
|
|
6176
|
-
description: "GPT-5.6 Luna (med reasoning) via ChatGPT Plus/Pro",
|
|
6177
|
-
updateArgs: {
|
|
6178
|
-
reasoning_effort: "medium",
|
|
6179
|
-
verbosity: "low",
|
|
6180
|
-
context_window: 350000,
|
|
6181
|
-
max_output_tokens: 128000,
|
|
6182
|
-
parallel_tool_calls: true
|
|
6183
|
-
}
|
|
6184
|
-
},
|
|
6185
|
-
{
|
|
6186
|
-
id: "gpt-5.6-luna-plus-pro-high",
|
|
6187
|
-
handle: "chatgpt-plus-pro/gpt-5.6-luna",
|
|
6188
|
-
label: "GPT-5.6 Luna (ChatGPT)",
|
|
6189
|
-
description: "GPT-5.6 Luna (high reasoning) via ChatGPT Plus/Pro",
|
|
6190
|
-
updateArgs: {
|
|
6191
|
-
reasoning_effort: "high",
|
|
6192
|
-
verbosity: "low",
|
|
6193
|
-
context_window: 350000,
|
|
6194
|
-
max_output_tokens: 128000,
|
|
6195
|
-
parallel_tool_calls: true
|
|
6196
|
-
},
|
|
6197
|
-
isFeatured: true
|
|
6198
|
-
},
|
|
6199
|
-
{
|
|
6200
|
-
id: "gpt-5.6-luna-plus-pro-xhigh",
|
|
6201
|
-
handle: "chatgpt-plus-pro/gpt-5.6-luna",
|
|
6202
|
-
label: "GPT-5.6 Luna (ChatGPT)",
|
|
6203
|
-
description: "GPT-5.6 Luna (extra-high reasoning) via ChatGPT Plus/Pro",
|
|
6204
|
-
updateArgs: {
|
|
6205
|
-
reasoning_effort: "xhigh",
|
|
6206
|
-
verbosity: "low",
|
|
6207
|
-
context_window: 350000,
|
|
6208
|
-
max_output_tokens: 128000,
|
|
6209
|
-
parallel_tool_calls: true
|
|
6210
|
-
}
|
|
6211
|
-
},
|
|
6212
|
-
{
|
|
6213
|
-
id: "gpt-5.6-luna-plus-pro-max",
|
|
6214
|
-
handle: "chatgpt-plus-pro/gpt-5.6-luna",
|
|
6215
|
-
label: "GPT-5.6 Luna (ChatGPT)",
|
|
6216
|
-
description: "GPT-5.6 Luna (max reasoning) via ChatGPT Plus/Pro",
|
|
6217
|
-
updateArgs: {
|
|
6218
|
-
reasoning_effort: "max",
|
|
6219
|
-
verbosity: "low",
|
|
6220
|
-
context_window: 350000,
|
|
6221
|
-
max_output_tokens: 128000,
|
|
6222
|
-
parallel_tool_calls: true
|
|
6223
|
-
}
|
|
6224
|
-
},
|
|
6225
|
-
{
|
|
6226
|
-
id: "fable",
|
|
6227
|
-
handle: "anthropic/claude-fable-5",
|
|
6228
|
-
label: "Fable 5",
|
|
6229
|
-
description: "Fable 5 (high reasoning)",
|
|
6230
|
-
isFeatured: true,
|
|
6231
|
-
updateArgs: {
|
|
6232
|
-
context_window: 200000,
|
|
6233
|
-
max_output_tokens: 128000,
|
|
6234
|
-
enable_reasoner: true,
|
|
6235
|
-
reasoning_effort: "high",
|
|
6236
|
-
parallel_tool_calls: true
|
|
6237
|
-
}
|
|
6238
|
-
},
|
|
6239
|
-
{
|
|
6240
|
-
id: "fable-low",
|
|
6241
|
-
handle: "anthropic/claude-fable-5",
|
|
6242
|
-
label: "Fable 5",
|
|
6243
|
-
description: "Fable 5 (low reasoning)",
|
|
6244
|
-
updateArgs: {
|
|
6245
|
-
context_window: 200000,
|
|
6246
|
-
max_output_tokens: 128000,
|
|
6247
|
-
enable_reasoner: true,
|
|
6248
|
-
reasoning_effort: "low",
|
|
6249
|
-
max_reasoning_tokens: 4000,
|
|
6250
|
-
parallel_tool_calls: true
|
|
6251
|
-
}
|
|
6252
|
-
},
|
|
6253
|
-
{
|
|
6254
|
-
id: "fable-medium",
|
|
6255
|
-
handle: "anthropic/claude-fable-5",
|
|
6256
|
-
label: "Fable 5",
|
|
6257
|
-
description: "Fable 5 (med reasoning)",
|
|
6258
|
-
updateArgs: {
|
|
6259
|
-
context_window: 200000,
|
|
6260
|
-
max_output_tokens: 128000,
|
|
6261
|
-
enable_reasoner: true,
|
|
6262
|
-
reasoning_effort: "medium",
|
|
6263
|
-
max_reasoning_tokens: 12000,
|
|
6264
|
-
parallel_tool_calls: true
|
|
6265
|
-
}
|
|
6266
|
-
},
|
|
6267
|
-
{
|
|
6268
|
-
id: "fable-xhigh",
|
|
6269
|
-
handle: "anthropic/claude-fable-5",
|
|
6270
|
-
label: "Fable 5",
|
|
6271
|
-
description: "Fable 5 (extra-high reasoning)",
|
|
6272
|
-
updateArgs: {
|
|
6273
|
-
context_window: 200000,
|
|
6274
|
-
max_output_tokens: 128000,
|
|
6275
|
-
enable_reasoner: true,
|
|
6276
|
-
reasoning_effort: "xhigh",
|
|
6277
|
-
parallel_tool_calls: true
|
|
6278
|
-
}
|
|
6279
|
-
},
|
|
6280
|
-
{
|
|
6281
|
-
id: "fable-max",
|
|
6282
|
-
handle: "anthropic/claude-fable-5",
|
|
6283
|
-
label: "Fable 5",
|
|
6284
|
-
description: "Fable 5 (max reasoning)",
|
|
6285
|
-
updateArgs: {
|
|
6286
|
-
context_window: 200000,
|
|
6287
|
-
max_output_tokens: 128000,
|
|
6288
|
-
enable_reasoner: true,
|
|
6289
|
-
reasoning_effort: "max",
|
|
6290
|
-
parallel_tool_calls: true
|
|
6291
|
-
}
|
|
6292
|
-
},
|
|
6293
|
-
{
|
|
6294
|
-
id: "fable-1m",
|
|
6295
|
-
handle: "anthropic/claude-fable-5",
|
|
6296
|
-
label: "Fable 5 1M",
|
|
6297
|
-
description: "Claude Fable 5 with 1M token context window (high reasoning)",
|
|
6298
|
-
updateArgs: {
|
|
6299
|
-
context_window: 950000,
|
|
6300
|
-
max_output_tokens: 128000,
|
|
6301
|
-
enable_reasoner: true,
|
|
6302
|
-
reasoning_effort: "high",
|
|
6303
|
-
parallel_tool_calls: true
|
|
6304
|
-
}
|
|
6305
|
-
},
|
|
6306
|
-
{
|
|
6307
|
-
id: "fable-1m-low",
|
|
6308
|
-
handle: "anthropic/claude-fable-5",
|
|
6309
|
-
label: "Fable 5 1M",
|
|
6310
|
-
description: "Fable 5 1M (low reasoning)",
|
|
6311
|
-
updateArgs: {
|
|
6312
|
-
context_window: 950000,
|
|
6313
|
-
max_output_tokens: 128000,
|
|
6314
|
-
enable_reasoner: true,
|
|
6315
|
-
reasoning_effort: "low",
|
|
6316
|
-
max_reasoning_tokens: 4000,
|
|
6317
|
-
parallel_tool_calls: true
|
|
6318
|
-
}
|
|
6319
|
-
},
|
|
6320
|
-
{
|
|
6321
|
-
id: "fable-1m-medium",
|
|
6322
|
-
handle: "anthropic/claude-fable-5",
|
|
6323
|
-
label: "Fable 5 1M",
|
|
6324
|
-
description: "Fable 5 1M (med reasoning)",
|
|
6325
|
-
updateArgs: {
|
|
6326
|
-
context_window: 950000,
|
|
6327
|
-
max_output_tokens: 128000,
|
|
6328
|
-
enable_reasoner: true,
|
|
6329
|
-
reasoning_effort: "medium",
|
|
6330
|
-
max_reasoning_tokens: 12000,
|
|
6331
|
-
parallel_tool_calls: true
|
|
6332
|
-
}
|
|
6333
|
-
},
|
|
6334
|
-
{
|
|
6335
|
-
id: "fable-1m-xhigh",
|
|
6336
|
-
handle: "anthropic/claude-fable-5",
|
|
6337
|
-
label: "Fable 5 1M",
|
|
6338
|
-
description: "Fable 5 1M (extra-high reasoning)",
|
|
6339
|
-
updateArgs: {
|
|
6340
|
-
context_window: 950000,
|
|
6341
|
-
max_output_tokens: 128000,
|
|
6342
|
-
enable_reasoner: true,
|
|
6343
|
-
reasoning_effort: "xhigh",
|
|
6344
|
-
parallel_tool_calls: true
|
|
6345
|
-
}
|
|
6346
|
-
},
|
|
6347
|
-
{
|
|
6348
|
-
id: "fable-1m-max",
|
|
6349
|
-
handle: "anthropic/claude-fable-5",
|
|
6350
|
-
label: "Fable 5 1M",
|
|
6351
|
-
description: "Fable 5 1M (max reasoning)",
|
|
6352
|
-
updateArgs: {
|
|
6353
|
-
context_window: 950000,
|
|
6354
|
-
max_output_tokens: 128000,
|
|
6355
|
-
enable_reasoner: true,
|
|
6356
|
-
reasoning_effort: "max",
|
|
6357
|
-
parallel_tool_calls: true
|
|
6358
|
-
}
|
|
6359
|
-
},
|
|
6360
|
-
{
|
|
6361
|
-
id: "opus-5",
|
|
6362
|
-
handle: "anthropic/claude-opus-5",
|
|
6363
|
-
label: "Opus 5",
|
|
6364
|
-
description: "Opus 5 (high reasoning)",
|
|
6365
|
-
updateArgs: {
|
|
6366
|
-
context_window: 200000,
|
|
6367
|
-
max_output_tokens: 128000,
|
|
6368
|
-
enable_reasoner: true,
|
|
6369
|
-
reasoning_effort: "high",
|
|
6370
|
-
parallel_tool_calls: true
|
|
6371
|
-
}
|
|
6372
|
-
},
|
|
6373
|
-
{
|
|
6374
|
-
id: "opus-5-low",
|
|
6375
|
-
handle: "anthropic/claude-opus-5",
|
|
6376
|
-
label: "Opus 5",
|
|
6377
|
-
description: "Opus 5 (low reasoning)",
|
|
6378
|
-
updateArgs: {
|
|
6379
|
-
context_window: 200000,
|
|
6380
|
-
max_output_tokens: 128000,
|
|
6381
|
-
enable_reasoner: true,
|
|
6382
|
-
reasoning_effort: "low",
|
|
6383
|
-
max_reasoning_tokens: 4000,
|
|
6384
|
-
parallel_tool_calls: true
|
|
6385
|
-
}
|
|
6386
|
-
},
|
|
6387
|
-
{
|
|
6388
|
-
id: "opus-5-medium",
|
|
6389
|
-
handle: "anthropic/claude-opus-5",
|
|
6390
|
-
label: "Opus 5",
|
|
6391
|
-
description: "Opus 5 (med reasoning)",
|
|
6392
|
-
updateArgs: {
|
|
6393
|
-
context_window: 200000,
|
|
6394
|
-
max_output_tokens: 128000,
|
|
6395
|
-
enable_reasoner: true,
|
|
6396
|
-
reasoning_effort: "medium",
|
|
6397
|
-
max_reasoning_tokens: 12000,
|
|
6398
|
-
parallel_tool_calls: true
|
|
6399
|
-
}
|
|
6400
|
-
},
|
|
6401
|
-
{
|
|
6402
|
-
id: "opus-5-xhigh",
|
|
6403
|
-
handle: "anthropic/claude-opus-5",
|
|
6404
|
-
label: "Opus 5",
|
|
6405
|
-
description: "Opus 5 (extra-high reasoning)",
|
|
6406
|
-
updateArgs: {
|
|
6407
|
-
context_window: 200000,
|
|
6408
|
-
max_output_tokens: 128000,
|
|
6409
|
-
enable_reasoner: true,
|
|
6410
|
-
reasoning_effort: "xhigh",
|
|
6411
|
-
parallel_tool_calls: true
|
|
6412
|
-
}
|
|
6413
|
-
},
|
|
6414
|
-
{
|
|
6415
|
-
id: "opus-5-max",
|
|
6416
|
-
handle: "anthropic/claude-opus-5",
|
|
6417
|
-
label: "Opus 5",
|
|
6418
|
-
description: "Opus 5 (max reasoning)",
|
|
6419
|
-
updateArgs: {
|
|
6420
|
-
context_window: 200000,
|
|
6421
|
-
max_output_tokens: 128000,
|
|
6422
|
-
enable_reasoner: true,
|
|
6423
|
-
reasoning_effort: "max",
|
|
6424
|
-
parallel_tool_calls: true
|
|
6425
|
-
}
|
|
6426
|
-
},
|
|
6427
|
-
{
|
|
6428
|
-
id: "opus",
|
|
6429
|
-
handle: "anthropic/claude-opus-4-8",
|
|
6430
|
-
label: "Opus 4.8",
|
|
6431
|
-
description: "Opus 4.8 (high reasoning)",
|
|
6432
|
-
isFeatured: true,
|
|
6433
|
-
updateArgs: {
|
|
6434
|
-
context_window: 200000,
|
|
6435
|
-
max_output_tokens: 128000,
|
|
6436
|
-
reasoning_effort: "high",
|
|
6437
|
-
enable_reasoner: true,
|
|
6438
|
-
parallel_tool_calls: true
|
|
6439
|
-
}
|
|
6440
|
-
},
|
|
6441
|
-
{
|
|
6442
|
-
id: "opus-4.8-low",
|
|
6443
|
-
handle: "anthropic/claude-opus-4-8",
|
|
6444
|
-
label: "Opus 4.8",
|
|
6445
|
-
description: "Opus 4.8 (low reasoning)",
|
|
6446
|
-
updateArgs: {
|
|
6447
|
-
context_window: 200000,
|
|
6448
|
-
max_output_tokens: 128000,
|
|
6449
|
-
reasoning_effort: "low",
|
|
6450
|
-
enable_reasoner: true,
|
|
6451
|
-
max_reasoning_tokens: 4000,
|
|
6452
|
-
parallel_tool_calls: true
|
|
6453
|
-
}
|
|
6454
|
-
},
|
|
6455
|
-
{
|
|
6456
|
-
id: "opus-4.8-medium",
|
|
6457
|
-
handle: "anthropic/claude-opus-4-8",
|
|
6458
|
-
label: "Opus 4.8",
|
|
6459
|
-
description: "Opus 4.8 (med reasoning)",
|
|
6460
|
-
updateArgs: {
|
|
6461
|
-
context_window: 200000,
|
|
6462
|
-
max_output_tokens: 128000,
|
|
6463
|
-
reasoning_effort: "medium",
|
|
6464
|
-
enable_reasoner: true,
|
|
6465
|
-
max_reasoning_tokens: 12000,
|
|
6466
|
-
parallel_tool_calls: true
|
|
6467
|
-
}
|
|
6468
|
-
},
|
|
6469
|
-
{
|
|
6470
|
-
id: "opus-4.8-high",
|
|
6471
|
-
handle: "anthropic/claude-opus-4-8",
|
|
6472
|
-
label: "Opus 4.8",
|
|
6473
|
-
description: "Opus 4.8 (high reasoning)",
|
|
6474
|
-
updateArgs: {
|
|
6475
|
-
context_window: 200000,
|
|
6476
|
-
max_output_tokens: 128000,
|
|
6477
|
-
reasoning_effort: "high",
|
|
6478
|
-
enable_reasoner: true,
|
|
6479
|
-
parallel_tool_calls: true
|
|
6480
|
-
}
|
|
6481
|
-
},
|
|
6482
|
-
{
|
|
6483
|
-
id: "opus-4.8-xhigh",
|
|
6484
|
-
handle: "anthropic/claude-opus-4-8",
|
|
6485
|
-
label: "Opus 4.8",
|
|
6486
|
-
description: "Opus 4.8 (extra-high reasoning)",
|
|
6487
|
-
updateArgs: {
|
|
6488
|
-
context_window: 200000,
|
|
6489
|
-
max_output_tokens: 128000,
|
|
6490
|
-
reasoning_effort: "xhigh",
|
|
6491
|
-
enable_reasoner: true,
|
|
6492
|
-
parallel_tool_calls: true
|
|
6493
|
-
}
|
|
6494
|
-
},
|
|
6495
|
-
{
|
|
6496
|
-
id: "opus-4.8-max",
|
|
6497
|
-
handle: "anthropic/claude-opus-4-8",
|
|
6498
|
-
label: "Opus 4.8",
|
|
6499
|
-
description: "Opus 4.8 (max reasoning)",
|
|
6500
|
-
updateArgs: {
|
|
6501
|
-
context_window: 200000,
|
|
6502
|
-
max_output_tokens: 128000,
|
|
6503
|
-
reasoning_effort: "max",
|
|
6504
|
-
enable_reasoner: true,
|
|
6505
|
-
parallel_tool_calls: true
|
|
6506
|
-
}
|
|
6507
|
-
},
|
|
6508
|
-
{
|
|
6509
|
-
id: "opus-4.8-1m",
|
|
6510
|
-
handle: "anthropic/claude-opus-4-8",
|
|
6511
|
-
label: "Opus 4.8 1M",
|
|
6512
|
-
description: "Claude Opus 4.8 with 1M token context window (high reasoning)",
|
|
6513
|
-
updateArgs: {
|
|
6514
|
-
context_window: 950000,
|
|
6515
|
-
max_output_tokens: 128000,
|
|
6516
|
-
reasoning_effort: "high",
|
|
6517
|
-
enable_reasoner: true,
|
|
6518
|
-
parallel_tool_calls: true
|
|
6519
|
-
}
|
|
6520
|
-
},
|
|
6521
|
-
{
|
|
6522
|
-
id: "opus-4.8-1m-no-reasoning",
|
|
6523
|
-
handle: "anthropic/claude-opus-4-8",
|
|
6524
|
-
label: "Opus 4.8 1M",
|
|
6525
|
-
description: "Opus 4.8 1M with no reasoning (faster)",
|
|
6526
|
-
updateArgs: {
|
|
6527
|
-
context_window: 950000,
|
|
6528
|
-
max_output_tokens: 128000,
|
|
6529
|
-
reasoning_effort: "none",
|
|
6530
|
-
enable_reasoner: false,
|
|
6531
|
-
parallel_tool_calls: true
|
|
6532
|
-
}
|
|
6533
|
-
},
|
|
6534
|
-
{
|
|
6535
|
-
id: "opus-4.8-1m-low",
|
|
6536
|
-
handle: "anthropic/claude-opus-4-8",
|
|
6537
|
-
label: "Opus 4.8 1M",
|
|
6538
|
-
description: "Opus 4.8 1M (low reasoning)",
|
|
6539
|
-
updateArgs: {
|
|
6540
|
-
context_window: 950000,
|
|
6541
|
-
max_output_tokens: 128000,
|
|
6542
|
-
reasoning_effort: "low",
|
|
6543
|
-
enable_reasoner: true,
|
|
6544
|
-
parallel_tool_calls: true,
|
|
6545
|
-
max_reasoning_tokens: 4000
|
|
6546
|
-
}
|
|
6547
|
-
},
|
|
6548
|
-
{
|
|
6549
|
-
id: "opus-4.8-1m-medium",
|
|
6550
|
-
handle: "anthropic/claude-opus-4-8",
|
|
6551
|
-
label: "Opus 4.8 1M",
|
|
6552
|
-
description: "Opus 4.8 1M (med reasoning)",
|
|
6553
|
-
updateArgs: {
|
|
6554
|
-
context_window: 950000,
|
|
6555
|
-
max_output_tokens: 128000,
|
|
6556
|
-
reasoning_effort: "medium",
|
|
6557
|
-
enable_reasoner: true,
|
|
6558
|
-
parallel_tool_calls: true,
|
|
6559
|
-
max_reasoning_tokens: 12000
|
|
6560
|
-
}
|
|
6561
|
-
},
|
|
6562
|
-
{
|
|
6563
|
-
id: "opus-4.8-1m-xhigh",
|
|
6564
|
-
handle: "anthropic/claude-opus-4-8",
|
|
6565
|
-
label: "Opus 4.8 1M",
|
|
6566
|
-
description: "Opus 4.8 1M (max reasoning)",
|
|
6567
|
-
updateArgs: {
|
|
6568
|
-
context_window: 950000,
|
|
6569
|
-
max_output_tokens: 128000,
|
|
6570
|
-
reasoning_effort: "xhigh",
|
|
6571
|
-
enable_reasoner: true,
|
|
6572
|
-
parallel_tool_calls: true
|
|
6573
|
-
}
|
|
6574
|
-
},
|
|
6575
|
-
{
|
|
6576
|
-
id: "opus-1m",
|
|
6577
|
-
handle: "anthropic/claude-opus-4-6",
|
|
6578
|
-
label: "Opus 4.6 1M",
|
|
6579
|
-
description: "Claude Opus 4.6 with 1M token context window (high reasoning)",
|
|
6580
|
-
updateArgs: {
|
|
6581
|
-
context_window: 950000,
|
|
6582
|
-
max_output_tokens: 128000,
|
|
6583
|
-
reasoning_effort: "high",
|
|
6584
|
-
enable_reasoner: true,
|
|
6585
|
-
parallel_tool_calls: true
|
|
6586
|
-
}
|
|
6587
|
-
},
|
|
6588
|
-
{
|
|
6589
|
-
id: "opus-1m-no-reasoning",
|
|
6590
|
-
handle: "anthropic/claude-opus-4-6",
|
|
6591
|
-
label: "Opus 4.6 1M",
|
|
6592
|
-
description: "Opus 4.6 1M with no reasoning (faster)",
|
|
6593
|
-
updateArgs: {
|
|
6594
|
-
context_window: 950000,
|
|
6595
|
-
max_output_tokens: 128000,
|
|
6596
|
-
reasoning_effort: "none",
|
|
6597
|
-
enable_reasoner: false,
|
|
6598
|
-
parallel_tool_calls: true
|
|
6599
|
-
}
|
|
6600
|
-
},
|
|
6601
|
-
{
|
|
6602
|
-
id: "opus-1m-low",
|
|
6603
|
-
handle: "anthropic/claude-opus-4-6",
|
|
6604
|
-
label: "Opus 4.6 1M",
|
|
6605
|
-
description: "Opus 4.6 1M (low reasoning)",
|
|
6606
|
-
updateArgs: {
|
|
6607
|
-
context_window: 950000,
|
|
6608
|
-
max_output_tokens: 128000,
|
|
6609
|
-
reasoning_effort: "low",
|
|
6610
|
-
enable_reasoner: true,
|
|
6611
|
-
max_reasoning_tokens: 4000,
|
|
6612
|
-
parallel_tool_calls: true
|
|
6613
|
-
}
|
|
6614
|
-
},
|
|
6615
|
-
{
|
|
6616
|
-
id: "opus-1m-medium",
|
|
6617
|
-
handle: "anthropic/claude-opus-4-6",
|
|
6618
|
-
label: "Opus 4.6 1M",
|
|
6619
|
-
description: "Opus 4.6 1M (med reasoning)",
|
|
6620
|
-
updateArgs: {
|
|
6621
|
-
context_window: 950000,
|
|
6622
|
-
max_output_tokens: 128000,
|
|
6623
|
-
reasoning_effort: "medium",
|
|
6624
|
-
enable_reasoner: true,
|
|
6625
|
-
max_reasoning_tokens: 12000,
|
|
6626
|
-
parallel_tool_calls: true
|
|
6627
|
-
}
|
|
6628
|
-
},
|
|
6629
|
-
{
|
|
6630
|
-
id: "opus-1m-xhigh",
|
|
6631
|
-
handle: "anthropic/claude-opus-4-6",
|
|
6632
|
-
label: "Opus 4.6 1M",
|
|
6633
|
-
description: "Opus 4.6 1M (max reasoning)",
|
|
6634
|
-
updateArgs: {
|
|
6635
|
-
context_window: 950000,
|
|
6636
|
-
max_output_tokens: 128000,
|
|
6637
|
-
reasoning_effort: "xhigh",
|
|
6638
|
-
enable_reasoner: true,
|
|
6639
|
-
parallel_tool_calls: true
|
|
6640
|
-
}
|
|
6641
|
-
},
|
|
6642
|
-
{
|
|
6643
|
-
id: "sonnet",
|
|
6644
|
-
handle: "anthropic/claude-sonnet-5",
|
|
6645
|
-
label: "Sonnet 5",
|
|
6646
|
-
description: "Sonnet 5 (high reasoning)",
|
|
6647
|
-
isFeatured: true,
|
|
6648
|
-
updateArgs: {
|
|
6649
|
-
context_window: 1e6,
|
|
6650
|
-
max_output_tokens: 128000,
|
|
6651
|
-
reasoning_effort: "high",
|
|
6652
|
-
enable_reasoner: true,
|
|
6653
|
-
parallel_tool_calls: true
|
|
6654
|
-
}
|
|
6655
|
-
},
|
|
6656
|
-
{
|
|
6657
|
-
id: "sonnet-5-no-reasoning",
|
|
6658
|
-
handle: "anthropic/claude-sonnet-5",
|
|
6659
|
-
label: "Sonnet 5",
|
|
6660
|
-
description: "Sonnet 5 with no reasoning (faster)",
|
|
6661
|
-
updateArgs: {
|
|
6662
|
-
context_window: 1e6,
|
|
6663
|
-
max_output_tokens: 128000,
|
|
6664
|
-
reasoning_effort: "none",
|
|
6665
|
-
enable_reasoner: false,
|
|
6666
|
-
parallel_tool_calls: true
|
|
6667
|
-
}
|
|
6668
|
-
},
|
|
6669
|
-
{
|
|
6670
|
-
id: "sonnet-5-low",
|
|
6671
|
-
handle: "anthropic/claude-sonnet-5",
|
|
6672
|
-
label: "Sonnet 5",
|
|
6673
|
-
description: "Sonnet 5 (low reasoning)",
|
|
6674
|
-
updateArgs: {
|
|
6675
|
-
context_window: 1e6,
|
|
6676
|
-
max_output_tokens: 128000,
|
|
6677
|
-
reasoning_effort: "low",
|
|
6678
|
-
enable_reasoner: true,
|
|
6679
|
-
max_reasoning_tokens: 4000,
|
|
6680
|
-
parallel_tool_calls: true
|
|
6681
|
-
}
|
|
6682
|
-
},
|
|
6683
|
-
{
|
|
6684
|
-
id: "sonnet-5-medium",
|
|
6685
|
-
handle: "anthropic/claude-sonnet-5",
|
|
6686
|
-
label: "Sonnet 5",
|
|
6687
|
-
description: "Sonnet 5 (med reasoning)",
|
|
6688
|
-
updateArgs: {
|
|
6689
|
-
context_window: 1e6,
|
|
6690
|
-
max_output_tokens: 128000,
|
|
6691
|
-
reasoning_effort: "medium",
|
|
6692
|
-
enable_reasoner: true,
|
|
6693
|
-
max_reasoning_tokens: 12000,
|
|
6694
|
-
parallel_tool_calls: true
|
|
6695
|
-
}
|
|
6696
|
-
},
|
|
6697
|
-
{
|
|
6698
|
-
id: "sonnet-5-xhigh",
|
|
6699
|
-
handle: "anthropic/claude-sonnet-5",
|
|
6700
|
-
label: "Sonnet 5",
|
|
6701
|
-
description: "Sonnet 5 (extra-high reasoning)",
|
|
6702
|
-
updateArgs: {
|
|
6703
|
-
context_window: 1e6,
|
|
6704
|
-
max_output_tokens: 128000,
|
|
6705
|
-
reasoning_effort: "xhigh",
|
|
6706
|
-
enable_reasoner: true,
|
|
6707
|
-
parallel_tool_calls: true
|
|
6708
|
-
}
|
|
6709
|
-
},
|
|
6710
|
-
{
|
|
6711
|
-
id: "sonnet-5-max",
|
|
6712
|
-
handle: "anthropic/claude-sonnet-5",
|
|
6713
|
-
label: "Sonnet 5",
|
|
6714
|
-
description: "Sonnet 5 (max reasoning)",
|
|
6715
|
-
updateArgs: {
|
|
6716
|
-
context_window: 1e6,
|
|
6717
|
-
max_output_tokens: 128000,
|
|
6718
|
-
reasoning_effort: "max",
|
|
6719
|
-
enable_reasoner: true,
|
|
6720
|
-
parallel_tool_calls: true
|
|
6721
|
-
}
|
|
6722
|
-
},
|
|
6723
|
-
{
|
|
6724
|
-
id: "sonnet-4.6",
|
|
6725
|
-
handle: "anthropic/claude-sonnet-4-6",
|
|
6726
|
-
label: "Sonnet 4.6",
|
|
6727
|
-
description: "Sonnet 4.6 (high reasoning)",
|
|
6728
|
-
updateArgs: {
|
|
6729
|
-
context_window: 200000,
|
|
6730
|
-
max_output_tokens: 128000,
|
|
6731
|
-
reasoning_effort: "high",
|
|
6732
|
-
enable_reasoner: true,
|
|
6733
|
-
parallel_tool_calls: true
|
|
6734
|
-
}
|
|
6735
|
-
},
|
|
6736
|
-
{
|
|
6737
|
-
id: "sonnet-4.6-no-reasoning",
|
|
6738
|
-
handle: "anthropic/claude-sonnet-4-6",
|
|
6739
|
-
label: "Sonnet 4.6",
|
|
6740
|
-
description: "Sonnet 4.6 with no reasoning (faster)",
|
|
6741
|
-
updateArgs: {
|
|
6742
|
-
context_window: 200000,
|
|
6743
|
-
max_output_tokens: 128000,
|
|
6744
|
-
reasoning_effort: "none",
|
|
6745
|
-
enable_reasoner: false,
|
|
6746
|
-
parallel_tool_calls: true
|
|
6747
|
-
}
|
|
6748
|
-
},
|
|
6749
|
-
{
|
|
6750
|
-
id: "sonnet-4.6-low",
|
|
6751
|
-
handle: "anthropic/claude-sonnet-4-6",
|
|
6752
|
-
label: "Sonnet 4.6",
|
|
6753
|
-
description: "Sonnet 4.6 (low reasoning)",
|
|
6754
|
-
updateArgs: {
|
|
6755
|
-
context_window: 200000,
|
|
6756
|
-
max_output_tokens: 128000,
|
|
6757
|
-
reasoning_effort: "low",
|
|
6758
|
-
enable_reasoner: true,
|
|
6759
|
-
max_reasoning_tokens: 4000,
|
|
6760
|
-
parallel_tool_calls: true
|
|
6761
|
-
}
|
|
6762
|
-
},
|
|
6763
|
-
{
|
|
6764
|
-
id: "sonnet-4.6-medium",
|
|
6765
|
-
handle: "anthropic/claude-sonnet-4-6",
|
|
6766
|
-
label: "Sonnet 4.6",
|
|
6767
|
-
description: "Sonnet 4.6 (med reasoning)",
|
|
6768
|
-
updateArgs: {
|
|
6769
|
-
context_window: 200000,
|
|
6770
|
-
max_output_tokens: 128000,
|
|
6771
|
-
reasoning_effort: "medium",
|
|
6772
|
-
enable_reasoner: true,
|
|
6773
|
-
max_reasoning_tokens: 12000,
|
|
6774
|
-
parallel_tool_calls: true
|
|
6775
|
-
}
|
|
6776
|
-
},
|
|
6777
|
-
{
|
|
6778
|
-
id: "sonnet-4.6-xhigh",
|
|
6779
|
-
handle: "anthropic/claude-sonnet-4-6",
|
|
6780
|
-
label: "Sonnet 4.6",
|
|
6781
|
-
description: "Sonnet 4.6 (max reasoning)",
|
|
6782
|
-
updateArgs: {
|
|
6783
|
-
context_window: 200000,
|
|
6784
|
-
max_output_tokens: 128000,
|
|
6785
|
-
reasoning_effort: "xhigh",
|
|
6786
|
-
enable_reasoner: true,
|
|
6787
|
-
parallel_tool_calls: true
|
|
6788
|
-
}
|
|
6789
|
-
},
|
|
6790
|
-
{
|
|
6791
|
-
id: "sonnet-1m",
|
|
6792
|
-
handle: "anthropic/claude-sonnet-4-6",
|
|
6793
|
-
label: "Sonnet 4.6 1M",
|
|
6794
|
-
description: "Claude Sonnet 4.6 with 1M token context window (high reasoning)",
|
|
6795
|
-
updateArgs: {
|
|
6796
|
-
context_window: 9500000,
|
|
6797
|
-
max_output_tokens: 128000,
|
|
6798
|
-
reasoning_effort: "high",
|
|
6799
|
-
enable_reasoner: true,
|
|
6800
|
-
parallel_tool_calls: true
|
|
6801
|
-
}
|
|
6802
|
-
},
|
|
6803
|
-
{
|
|
6804
|
-
id: "sonnet-1m-no-reasoning",
|
|
6805
|
-
handle: "anthropic/claude-sonnet-4-6",
|
|
6806
|
-
label: "Sonnet 4.6 1M",
|
|
6807
|
-
description: "Sonnet 4.6 1M with no reasoning (faster)",
|
|
6808
|
-
updateArgs: {
|
|
6809
|
-
context_window: 9500000,
|
|
6810
|
-
max_output_tokens: 128000,
|
|
6811
|
-
reasoning_effort: "none",
|
|
6812
|
-
enable_reasoner: false,
|
|
6813
|
-
parallel_tool_calls: true
|
|
6814
|
-
}
|
|
6815
|
-
},
|
|
6816
|
-
{
|
|
6817
|
-
id: "sonnet-1m-low",
|
|
6818
|
-
handle: "anthropic/claude-sonnet-4-6",
|
|
6819
|
-
label: "Sonnet 4.6 1M",
|
|
6820
|
-
description: "Sonnet 4.6 1M (low reasoning)",
|
|
6821
|
-
updateArgs: {
|
|
6822
|
-
context_window: 9500000,
|
|
6823
|
-
max_output_tokens: 128000,
|
|
6824
|
-
reasoning_effort: "low",
|
|
6825
|
-
enable_reasoner: true,
|
|
6826
|
-
max_reasoning_tokens: 4000,
|
|
6827
|
-
parallel_tool_calls: true
|
|
6828
|
-
}
|
|
6829
|
-
},
|
|
6830
|
-
{
|
|
6831
|
-
id: "sonnet-1m-medium",
|
|
6832
|
-
handle: "anthropic/claude-sonnet-4-6",
|
|
6833
|
-
label: "Sonnet 4.6 1M",
|
|
6834
|
-
description: "Sonnet 4.6 1M (med reasoning)",
|
|
6835
|
-
updateArgs: {
|
|
6836
|
-
context_window: 9500000,
|
|
6837
|
-
max_output_tokens: 128000,
|
|
6838
|
-
reasoning_effort: "medium",
|
|
6839
|
-
enable_reasoner: true,
|
|
6840
|
-
max_reasoning_tokens: 12000,
|
|
6841
|
-
parallel_tool_calls: true
|
|
6842
|
-
}
|
|
6843
|
-
},
|
|
6844
|
-
{
|
|
6845
|
-
id: "sonnet-1m-xhigh",
|
|
6846
|
-
handle: "anthropic/claude-sonnet-4-6",
|
|
6847
|
-
label: "Sonnet 4.6 1M",
|
|
6848
|
-
description: "Sonnet 4.6 1M (max reasoning)",
|
|
6849
|
-
updateArgs: {
|
|
6850
|
-
context_window: 9500000,
|
|
6851
|
-
max_output_tokens: 128000,
|
|
6852
|
-
reasoning_effort: "xhigh",
|
|
6853
|
-
enable_reasoner: true,
|
|
6854
|
-
parallel_tool_calls: true
|
|
6855
|
-
}
|
|
6856
|
-
},
|
|
6857
|
-
{
|
|
6858
|
-
id: "opus-4.6-high",
|
|
6859
|
-
handle: "anthropic/claude-opus-4-6",
|
|
6860
|
-
label: "Opus 4.6",
|
|
6861
|
-
description: "Opus 4.6 (high reasoning)",
|
|
6862
|
-
updateArgs: {
|
|
6863
|
-
context_window: 200000,
|
|
6864
|
-
max_output_tokens: 128000,
|
|
6865
|
-
reasoning_effort: "high",
|
|
6866
|
-
enable_reasoner: true,
|
|
6867
|
-
parallel_tool_calls: true
|
|
6868
|
-
}
|
|
6869
|
-
},
|
|
6870
|
-
{
|
|
6871
|
-
id: "opus-4.6-no-reasoning",
|
|
6872
|
-
handle: "anthropic/claude-opus-4-6",
|
|
6873
|
-
label: "Opus 4.6",
|
|
6874
|
-
description: "Opus 4.6 with no reasoning (faster)",
|
|
6875
|
-
updateArgs: {
|
|
6876
|
-
context_window: 200000,
|
|
6877
|
-
max_output_tokens: 128000,
|
|
6878
|
-
reasoning_effort: "none",
|
|
6879
|
-
enable_reasoner: false,
|
|
6880
|
-
parallel_tool_calls: true
|
|
6881
|
-
}
|
|
6882
|
-
},
|
|
6883
|
-
{
|
|
6884
|
-
id: "opus-4.6-low",
|
|
6885
|
-
handle: "anthropic/claude-opus-4-6",
|
|
6886
|
-
label: "Opus 4.6",
|
|
6887
|
-
description: "Opus 4.6 (low reasoning)",
|
|
6888
|
-
updateArgs: {
|
|
6889
|
-
context_window: 200000,
|
|
6890
|
-
max_output_tokens: 128000,
|
|
6891
|
-
reasoning_effort: "low",
|
|
6892
|
-
enable_reasoner: true,
|
|
6893
|
-
max_reasoning_tokens: 4000,
|
|
6894
|
-
parallel_tool_calls: true
|
|
6895
|
-
}
|
|
6896
|
-
},
|
|
6897
|
-
{
|
|
6898
|
-
id: "opus-4.6-medium",
|
|
6899
|
-
handle: "anthropic/claude-opus-4-6",
|
|
6900
|
-
label: "Opus 4.6",
|
|
6901
|
-
description: "Opus 4.6 (med reasoning)",
|
|
6902
|
-
updateArgs: {
|
|
6903
|
-
context_window: 200000,
|
|
6904
|
-
max_output_tokens: 128000,
|
|
6905
|
-
reasoning_effort: "medium",
|
|
6906
|
-
enable_reasoner: true,
|
|
6907
|
-
max_reasoning_tokens: 12000,
|
|
6908
|
-
parallel_tool_calls: true
|
|
6909
|
-
}
|
|
6910
|
-
},
|
|
6911
|
-
{
|
|
6912
|
-
id: "opus-4.6-xhigh",
|
|
6913
|
-
handle: "anthropic/claude-opus-4-6",
|
|
6914
|
-
label: "Opus 4.6",
|
|
6915
|
-
description: "Opus 4.6 (max reasoning)",
|
|
6916
|
-
updateArgs: {
|
|
6917
|
-
context_window: 200000,
|
|
6918
|
-
max_output_tokens: 128000,
|
|
6919
|
-
reasoning_effort: "xhigh",
|
|
6920
|
-
enable_reasoner: true,
|
|
6921
|
-
parallel_tool_calls: true
|
|
6922
|
-
}
|
|
6923
|
-
},
|
|
6924
|
-
{
|
|
6925
|
-
id: "opus-4.7-medium",
|
|
6926
|
-
handle: "anthropic/claude-opus-4-7",
|
|
6927
|
-
label: "Opus 4.7",
|
|
6928
|
-
description: "Opus 4.7 (med reasoning)",
|
|
6929
|
-
updateArgs: {
|
|
6930
|
-
context_window: 200000,
|
|
6931
|
-
max_output_tokens: 128000,
|
|
6932
|
-
reasoning_effort: "medium",
|
|
6933
|
-
enable_reasoner: true,
|
|
6934
|
-
max_reasoning_tokens: 12000,
|
|
6935
|
-
parallel_tool_calls: true
|
|
6936
|
-
}
|
|
6937
|
-
},
|
|
6938
|
-
{
|
|
6939
|
-
id: "opus-4.7-low",
|
|
6940
|
-
handle: "anthropic/claude-opus-4-7",
|
|
6941
|
-
label: "Opus 4.7",
|
|
6942
|
-
description: "Opus 4.7 (low reasoning)",
|
|
6943
|
-
updateArgs: {
|
|
6944
|
-
context_window: 200000,
|
|
6945
|
-
max_output_tokens: 128000,
|
|
6946
|
-
reasoning_effort: "low",
|
|
6947
|
-
enable_reasoner: true,
|
|
6948
|
-
max_reasoning_tokens: 4000,
|
|
6949
|
-
parallel_tool_calls: true
|
|
6950
|
-
}
|
|
6951
|
-
},
|
|
6952
|
-
{
|
|
6953
|
-
id: "opus-4.7-high",
|
|
6954
|
-
handle: "anthropic/claude-opus-4-7",
|
|
6955
|
-
label: "Opus 4.7",
|
|
6956
|
-
description: "Opus 4.7 (high reasoning)",
|
|
6957
|
-
updateArgs: {
|
|
6958
|
-
context_window: 200000,
|
|
6959
|
-
max_output_tokens: 128000,
|
|
6960
|
-
reasoning_effort: "high",
|
|
6961
|
-
enable_reasoner: true,
|
|
6962
|
-
parallel_tool_calls: true
|
|
6963
|
-
}
|
|
6964
|
-
},
|
|
6965
|
-
{
|
|
6966
|
-
id: "opus-4.7-xhigh",
|
|
6967
|
-
handle: "anthropic/claude-opus-4-7",
|
|
6968
|
-
label: "Opus 4.7",
|
|
6969
|
-
description: "Opus 4.7 (extra-high reasoning)",
|
|
6970
|
-
updateArgs: {
|
|
6971
|
-
context_window: 200000,
|
|
6972
|
-
max_output_tokens: 128000,
|
|
6973
|
-
reasoning_effort: "xhigh",
|
|
6974
|
-
enable_reasoner: true,
|
|
6975
|
-
parallel_tool_calls: true
|
|
6976
|
-
}
|
|
6977
|
-
},
|
|
6978
|
-
{
|
|
6979
|
-
id: "opus-4.7-max",
|
|
6980
|
-
handle: "anthropic/claude-opus-4-7",
|
|
6981
|
-
label: "Opus 4.7",
|
|
6982
|
-
description: "Opus 4.7 (max reasoning)",
|
|
6983
|
-
updateArgs: {
|
|
6984
|
-
context_window: 200000,
|
|
6985
|
-
max_output_tokens: 128000,
|
|
6986
|
-
reasoning_effort: "max",
|
|
6987
|
-
enable_reasoner: true,
|
|
6988
|
-
parallel_tool_calls: true
|
|
6989
|
-
}
|
|
6990
|
-
},
|
|
6991
|
-
{
|
|
6992
|
-
id: "opus-4.5",
|
|
6993
|
-
handle: "anthropic/claude-opus-4-5-20251101",
|
|
6994
|
-
label: "Opus 4.5",
|
|
6995
|
-
description: "Opus 4.5 (high reasoning)",
|
|
6996
|
-
updateArgs: {
|
|
6997
|
-
context_window: 180000,
|
|
6998
|
-
max_output_tokens: 64000,
|
|
6999
|
-
reasoning_effort: "high",
|
|
7000
|
-
enable_reasoner: true,
|
|
7001
|
-
max_reasoning_tokens: 31999,
|
|
7002
|
-
parallel_tool_calls: true
|
|
7003
|
-
}
|
|
7004
|
-
},
|
|
7005
|
-
{
|
|
7006
|
-
id: "opus-4.5-no-reasoning",
|
|
7007
|
-
handle: "anthropic/claude-opus-4-5-20251101",
|
|
7008
|
-
label: "Opus 4.5",
|
|
7009
|
-
description: "Opus 4.5 with no reasoning (faster)",
|
|
7010
|
-
updateArgs: {
|
|
7011
|
-
context_window: 180000,
|
|
7012
|
-
max_output_tokens: 64000,
|
|
7013
|
-
reasoning_effort: "none",
|
|
7014
|
-
enable_reasoner: false,
|
|
7015
|
-
parallel_tool_calls: true
|
|
7016
|
-
}
|
|
7017
|
-
},
|
|
7018
|
-
{
|
|
7019
|
-
id: "opus-4.5-low",
|
|
7020
|
-
handle: "anthropic/claude-opus-4-5-20251101",
|
|
7021
|
-
label: "Opus 4.5",
|
|
7022
|
-
description: "Opus 4.5 (low reasoning)",
|
|
7023
|
-
updateArgs: {
|
|
7024
|
-
context_window: 180000,
|
|
7025
|
-
max_output_tokens: 64000,
|
|
7026
|
-
reasoning_effort: "low",
|
|
7027
|
-
enable_reasoner: true,
|
|
7028
|
-
max_reasoning_tokens: 4000,
|
|
7029
|
-
parallel_tool_calls: true
|
|
7030
|
-
}
|
|
7031
|
-
},
|
|
7032
|
-
{
|
|
7033
|
-
id: "opus-4.5-medium",
|
|
7034
|
-
handle: "anthropic/claude-opus-4-5-20251101",
|
|
7035
|
-
label: "Opus 4.5",
|
|
7036
|
-
description: "Opus 4.5 (med reasoning)",
|
|
7037
|
-
updateArgs: {
|
|
7038
|
-
context_window: 180000,
|
|
7039
|
-
max_output_tokens: 64000,
|
|
7040
|
-
reasoning_effort: "medium",
|
|
7041
|
-
enable_reasoner: true,
|
|
7042
|
-
max_reasoning_tokens: 12000,
|
|
7043
|
-
parallel_tool_calls: true
|
|
7044
|
-
}
|
|
7045
|
-
},
|
|
7046
|
-
{
|
|
7047
|
-
id: "bedrock-opus-4.5",
|
|
7048
|
-
handle: "bedrock/us.anthropic.claude-opus-4-5-20251101-v1:0",
|
|
7049
|
-
label: "Bedrock Opus 4.5",
|
|
7050
|
-
shortLabel: "Opus 4.5 BR",
|
|
7051
|
-
description: "Opus 4.5 via AWS Bedrock",
|
|
7052
|
-
updateArgs: {
|
|
7053
|
-
context_window: 180000,
|
|
7054
|
-
max_output_tokens: 64000,
|
|
7055
|
-
max_reasoning_tokens: 31999,
|
|
7056
|
-
parallel_tool_calls: true
|
|
7057
|
-
}
|
|
7058
|
-
},
|
|
7059
|
-
{
|
|
7060
|
-
id: "haiku",
|
|
7061
|
-
handle: "anthropic/claude-haiku-4-5",
|
|
7062
|
-
label: "Haiku 4.5",
|
|
7063
|
-
description: "Haiku 4.5",
|
|
7064
|
-
updateArgs: {
|
|
7065
|
-
context_window: 180000,
|
|
7066
|
-
max_output_tokens: 64000,
|
|
7067
|
-
parallel_tool_calls: true
|
|
7068
|
-
}
|
|
7069
|
-
},
|
|
7070
|
-
{
|
|
7071
|
-
id: "gpt-5.5-plus-pro-none",
|
|
7072
|
-
handle: "chatgpt-plus-pro/gpt-5.5",
|
|
7073
|
-
label: "GPT-5.5 (ChatGPT)",
|
|
7074
|
-
description: "GPT-5.5 (no reasoning) via ChatGPT Plus/Pro",
|
|
7075
|
-
updateArgs: {
|
|
7076
|
-
reasoning_effort: "none",
|
|
7077
|
-
verbosity: "low",
|
|
7078
|
-
context_window: 272000,
|
|
7079
|
-
max_output_tokens: 128000,
|
|
7080
|
-
parallel_tool_calls: true
|
|
7081
|
-
}
|
|
7082
|
-
},
|
|
7083
|
-
{
|
|
7084
|
-
id: "gpt-5.5-plus-pro-low",
|
|
7085
|
-
handle: "chatgpt-plus-pro/gpt-5.5",
|
|
7086
|
-
label: "GPT-5.5 (ChatGPT)",
|
|
7087
|
-
description: "GPT-5.5 (low reasoning) via ChatGPT Plus/Pro",
|
|
7088
|
-
updateArgs: {
|
|
7089
|
-
reasoning_effort: "low",
|
|
7090
|
-
verbosity: "low",
|
|
7091
|
-
context_window: 272000,
|
|
7092
|
-
max_output_tokens: 128000,
|
|
7093
|
-
parallel_tool_calls: true
|
|
7094
|
-
}
|
|
7095
|
-
},
|
|
7096
|
-
{
|
|
7097
|
-
id: "gpt-5.5-plus-pro-medium",
|
|
7098
|
-
handle: "chatgpt-plus-pro/gpt-5.5",
|
|
7099
|
-
label: "GPT-5.5 (ChatGPT)",
|
|
7100
|
-
description: "GPT-5.5 (med reasoning) via ChatGPT Plus/Pro",
|
|
7101
|
-
updateArgs: {
|
|
7102
|
-
reasoning_effort: "medium",
|
|
7103
|
-
verbosity: "low",
|
|
7104
|
-
context_window: 272000,
|
|
7105
|
-
max_output_tokens: 128000,
|
|
7106
|
-
parallel_tool_calls: true
|
|
7107
|
-
}
|
|
7108
|
-
},
|
|
7109
|
-
{
|
|
7110
|
-
id: "gpt-5.5-plus-pro-high",
|
|
7111
|
-
handle: "chatgpt-plus-pro/gpt-5.5",
|
|
7112
|
-
label: "GPT-5.5 (ChatGPT)",
|
|
7113
|
-
description: "OpenAI's most capable model (high reasoning) via ChatGPT Plus/Pro",
|
|
7114
|
-
updateArgs: {
|
|
7115
|
-
reasoning_effort: "high",
|
|
7116
|
-
verbosity: "low",
|
|
7117
|
-
context_window: 272000,
|
|
7118
|
-
max_output_tokens: 128000,
|
|
7119
|
-
parallel_tool_calls: true
|
|
7120
|
-
}
|
|
7121
|
-
},
|
|
7122
|
-
{
|
|
7123
|
-
id: "gpt-5.5-plus-pro-xhigh",
|
|
7124
|
-
handle: "chatgpt-plus-pro/gpt-5.5",
|
|
7125
|
-
label: "GPT-5.5 (ChatGPT)",
|
|
7126
|
-
description: "GPT-5.5 (max reasoning) via ChatGPT Plus/Pro",
|
|
7127
|
-
updateArgs: {
|
|
7128
|
-
reasoning_effort: "xhigh",
|
|
7129
|
-
verbosity: "low",
|
|
7130
|
-
context_window: 272000,
|
|
7131
|
-
max_output_tokens: 128000,
|
|
7132
|
-
parallel_tool_calls: true
|
|
7133
|
-
}
|
|
7134
|
-
},
|
|
7135
|
-
{
|
|
7136
|
-
id: "gpt-5.5-fast-plus-pro-none",
|
|
7137
|
-
handle: "chatgpt-plus-pro/gpt-5.5-fast",
|
|
7138
|
-
label: "GPT-5.5 Fast (ChatGPT)",
|
|
7139
|
-
description: "GPT-5.5 Fast (no reasoning) via ChatGPT Plus/Pro",
|
|
7140
|
-
updateArgs: {
|
|
7141
|
-
reasoning_effort: "none",
|
|
7142
|
-
verbosity: "low",
|
|
7143
|
-
context_window: 272000,
|
|
7144
|
-
max_output_tokens: 128000,
|
|
7145
|
-
parallel_tool_calls: true
|
|
7146
|
-
}
|
|
7147
|
-
},
|
|
7148
|
-
{
|
|
7149
|
-
id: "gpt-5.5-fast-plus-pro-low",
|
|
7150
|
-
handle: "chatgpt-plus-pro/gpt-5.5-fast",
|
|
7151
|
-
label: "GPT-5.5 Fast (ChatGPT)",
|
|
7152
|
-
description: "GPT-5.5 Fast (low reasoning) via ChatGPT Plus/Pro",
|
|
7153
|
-
updateArgs: {
|
|
7154
|
-
reasoning_effort: "low",
|
|
7155
|
-
verbosity: "low",
|
|
7156
|
-
context_window: 272000,
|
|
7157
|
-
max_output_tokens: 128000,
|
|
7158
|
-
parallel_tool_calls: true
|
|
7159
|
-
}
|
|
7160
|
-
},
|
|
7161
|
-
{
|
|
7162
|
-
id: "gpt-5.5-fast-plus-pro-medium",
|
|
7163
|
-
handle: "chatgpt-plus-pro/gpt-5.5-fast",
|
|
7164
|
-
label: "GPT-5.5 Fast (ChatGPT)",
|
|
7165
|
-
description: "GPT-5.5 Fast (med reasoning) via ChatGPT Plus/Pro",
|
|
7166
|
-
updateArgs: {
|
|
7167
|
-
reasoning_effort: "medium",
|
|
7168
|
-
verbosity: "low",
|
|
7169
|
-
context_window: 272000,
|
|
7170
|
-
max_output_tokens: 128000,
|
|
7171
|
-
parallel_tool_calls: true
|
|
7172
|
-
}
|
|
7173
|
-
},
|
|
7174
|
-
{
|
|
7175
|
-
id: "gpt-5.5-fast-plus-pro-high",
|
|
7176
|
-
handle: "chatgpt-plus-pro/gpt-5.5-fast",
|
|
7177
|
-
label: "GPT-5.5 Fast (ChatGPT)",
|
|
7178
|
-
description: "GPT-5.5 Fast (high reasoning) via ChatGPT Plus/Pro",
|
|
7179
|
-
updateArgs: {
|
|
7180
|
-
reasoning_effort: "high",
|
|
7181
|
-
verbosity: "low",
|
|
7182
|
-
context_window: 272000,
|
|
7183
|
-
max_output_tokens: 128000,
|
|
7184
|
-
parallel_tool_calls: true
|
|
7185
|
-
}
|
|
7186
|
-
},
|
|
7187
|
-
{
|
|
7188
|
-
id: "gpt-5.5-fast-plus-pro-xhigh",
|
|
7189
|
-
handle: "chatgpt-plus-pro/gpt-5.5-fast",
|
|
7190
|
-
label: "GPT-5.5 Fast (ChatGPT)",
|
|
7191
|
-
description: "GPT-5.5 Fast (max reasoning) via ChatGPT Plus/Pro",
|
|
7192
|
-
updateArgs: {
|
|
7193
|
-
reasoning_effort: "xhigh",
|
|
7194
|
-
verbosity: "low",
|
|
7195
|
-
context_window: 272000,
|
|
7196
|
-
max_output_tokens: 128000,
|
|
7197
|
-
parallel_tool_calls: true
|
|
7198
|
-
}
|
|
7199
|
-
},
|
|
7200
|
-
{
|
|
7201
|
-
id: "gpt-5.4-plus-pro-none",
|
|
7202
|
-
handle: "chatgpt-plus-pro/gpt-5.4",
|
|
7203
|
-
label: "GPT-5.4 (ChatGPT)",
|
|
7204
|
-
description: "GPT-5.4 (no reasoning) via ChatGPT Plus/Pro",
|
|
7205
|
-
updateArgs: {
|
|
7206
|
-
reasoning_effort: "none",
|
|
7207
|
-
verbosity: "low",
|
|
7208
|
-
context_window: 272000,
|
|
7209
|
-
max_output_tokens: 128000,
|
|
7210
|
-
parallel_tool_calls: true
|
|
7211
|
-
}
|
|
7212
|
-
},
|
|
7213
|
-
{
|
|
7214
|
-
id: "gpt-5.4-plus-pro-low",
|
|
7215
|
-
handle: "chatgpt-plus-pro/gpt-5.4",
|
|
7216
|
-
label: "GPT-5.4 (ChatGPT)",
|
|
7217
|
-
description: "GPT-5.4 (low reasoning) via ChatGPT Plus/Pro",
|
|
7218
|
-
updateArgs: {
|
|
7219
|
-
reasoning_effort: "low",
|
|
7220
|
-
verbosity: "low",
|
|
7221
|
-
context_window: 272000,
|
|
7222
|
-
max_output_tokens: 128000,
|
|
7223
|
-
parallel_tool_calls: true
|
|
7224
|
-
}
|
|
7225
|
-
},
|
|
7226
|
-
{
|
|
7227
|
-
id: "gpt-5.4-plus-pro-medium",
|
|
7228
|
-
handle: "chatgpt-plus-pro/gpt-5.4",
|
|
7229
|
-
label: "GPT-5.4 (ChatGPT)",
|
|
7230
|
-
description: "GPT-5.4 (med reasoning) via ChatGPT Plus/Pro",
|
|
7231
|
-
updateArgs: {
|
|
7232
|
-
reasoning_effort: "medium",
|
|
7233
|
-
verbosity: "low",
|
|
7234
|
-
context_window: 272000,
|
|
7235
|
-
max_output_tokens: 128000,
|
|
7236
|
-
parallel_tool_calls: true
|
|
7237
|
-
}
|
|
7238
|
-
},
|
|
7239
|
-
{
|
|
7240
|
-
id: "gpt-5.4-plus-pro-high",
|
|
7241
|
-
handle: "chatgpt-plus-pro/gpt-5.4",
|
|
7242
|
-
label: "GPT-5.4 (ChatGPT)",
|
|
7243
|
-
description: "OpenAI's most capable model (high reasoning) via ChatGPT Plus/Pro",
|
|
7244
|
-
updateArgs: {
|
|
7245
|
-
reasoning_effort: "high",
|
|
7246
|
-
verbosity: "low",
|
|
7247
|
-
context_window: 272000,
|
|
7248
|
-
max_output_tokens: 128000,
|
|
7249
|
-
parallel_tool_calls: true
|
|
7250
|
-
}
|
|
7251
|
-
},
|
|
7252
|
-
{
|
|
7253
|
-
id: "gpt-5.4-plus-pro-xhigh",
|
|
7254
|
-
handle: "chatgpt-plus-pro/gpt-5.4",
|
|
7255
|
-
label: "GPT-5.4 (ChatGPT)",
|
|
7256
|
-
description: "GPT-5.4 (max reasoning) via ChatGPT Plus/Pro",
|
|
7257
|
-
updateArgs: {
|
|
7258
|
-
reasoning_effort: "xhigh",
|
|
7259
|
-
verbosity: "low",
|
|
7260
|
-
context_window: 272000,
|
|
7261
|
-
max_output_tokens: 128000,
|
|
7262
|
-
parallel_tool_calls: true
|
|
7263
|
-
}
|
|
7264
|
-
},
|
|
7265
|
-
{
|
|
7266
|
-
id: "gpt-5.4-pro-plus-pro-medium",
|
|
7267
|
-
handle: "chatgpt-plus-pro/gpt-5.4-pro",
|
|
7268
|
-
label: "GPT-5.4 Pro (ChatGPT)",
|
|
7269
|
-
description: "GPT-5.4 Pro (med reasoning) via ChatGPT Plus/Pro",
|
|
7270
|
-
updateArgs: {
|
|
7271
|
-
reasoning_effort: "medium",
|
|
7272
|
-
verbosity: "low",
|
|
7273
|
-
context_window: 272000,
|
|
7274
|
-
max_output_tokens: 128000,
|
|
7275
|
-
parallel_tool_calls: true
|
|
7276
|
-
}
|
|
7277
|
-
},
|
|
7278
|
-
{
|
|
7279
|
-
id: "gpt-5.4-pro-plus-pro-high",
|
|
7280
|
-
handle: "chatgpt-plus-pro/gpt-5.4-pro",
|
|
7281
|
-
label: "GPT-5.4 Pro (ChatGPT)",
|
|
7282
|
-
description: "GPT-5.4 Pro (high reasoning) via ChatGPT Plus/Pro",
|
|
7283
|
-
updateArgs: {
|
|
7284
|
-
reasoning_effort: "high",
|
|
7285
|
-
verbosity: "low",
|
|
7286
|
-
context_window: 272000,
|
|
7287
|
-
max_output_tokens: 128000,
|
|
7288
|
-
parallel_tool_calls: true
|
|
7289
|
-
}
|
|
7290
|
-
},
|
|
7291
|
-
{
|
|
7292
|
-
id: "gpt-5.4-pro-plus-pro-xhigh",
|
|
7293
|
-
handle: "chatgpt-plus-pro/gpt-5.4-pro",
|
|
7294
|
-
label: "GPT-5.4 Pro (ChatGPT)",
|
|
7295
|
-
description: "GPT-5.4 Pro (max reasoning) via ChatGPT Plus/Pro",
|
|
7296
|
-
updateArgs: {
|
|
7297
|
-
reasoning_effort: "xhigh",
|
|
7298
|
-
verbosity: "low",
|
|
7299
|
-
context_window: 272000,
|
|
7300
|
-
max_output_tokens: 128000,
|
|
7301
|
-
parallel_tool_calls: true
|
|
7302
|
-
}
|
|
7303
|
-
},
|
|
7304
|
-
{
|
|
7305
|
-
id: "gpt-5.4-fast-plus-pro-none",
|
|
7306
|
-
handle: "chatgpt-plus-pro/gpt-5.4-fast",
|
|
7307
|
-
label: "GPT-5.4 Fast (ChatGPT)",
|
|
7308
|
-
description: "GPT-5.4 Fast (no reasoning) via ChatGPT Plus/Pro",
|
|
7309
|
-
updateArgs: {
|
|
7310
|
-
reasoning_effort: "none",
|
|
7311
|
-
verbosity: "low",
|
|
7312
|
-
context_window: 272000,
|
|
7313
|
-
max_output_tokens: 128000,
|
|
7314
|
-
parallel_tool_calls: true
|
|
7315
|
-
}
|
|
7316
|
-
},
|
|
7317
|
-
{
|
|
7318
|
-
id: "gpt-5.4-fast-plus-pro-low",
|
|
7319
|
-
handle: "chatgpt-plus-pro/gpt-5.4-fast",
|
|
7320
|
-
label: "GPT-5.4 Fast (ChatGPT)",
|
|
7321
|
-
description: "GPT-5.4 Fast (low reasoning) via ChatGPT Plus/Pro",
|
|
7322
|
-
updateArgs: {
|
|
7323
|
-
reasoning_effort: "low",
|
|
7324
|
-
verbosity: "low",
|
|
7325
|
-
context_window: 272000,
|
|
7326
|
-
max_output_tokens: 128000,
|
|
7327
|
-
parallel_tool_calls: true
|
|
7328
|
-
}
|
|
7329
|
-
},
|
|
7330
|
-
{
|
|
7331
|
-
id: "gpt-5.4-fast-plus-pro-medium",
|
|
7332
|
-
handle: "chatgpt-plus-pro/gpt-5.4-fast",
|
|
7333
|
-
label: "GPT-5.4 Fast (ChatGPT)",
|
|
7334
|
-
description: "GPT-5.4 Fast (med reasoning) via ChatGPT Plus/Pro",
|
|
7335
|
-
updateArgs: {
|
|
7336
|
-
reasoning_effort: "medium",
|
|
7337
|
-
verbosity: "low",
|
|
7338
|
-
context_window: 272000,
|
|
7339
|
-
max_output_tokens: 128000,
|
|
7340
|
-
parallel_tool_calls: true
|
|
7341
|
-
}
|
|
7342
|
-
},
|
|
7343
|
-
{
|
|
7344
|
-
id: "gpt-5.4-fast-plus-pro-high",
|
|
7345
|
-
handle: "chatgpt-plus-pro/gpt-5.4-fast",
|
|
7346
|
-
label: "GPT-5.4 Fast (ChatGPT)",
|
|
7347
|
-
description: "GPT-5.4 Fast (high reasoning) via ChatGPT Plus/Pro",
|
|
7348
|
-
updateArgs: {
|
|
7349
|
-
reasoning_effort: "high",
|
|
7350
|
-
verbosity: "low",
|
|
7351
|
-
context_window: 272000,
|
|
7352
|
-
max_output_tokens: 128000,
|
|
7353
|
-
parallel_tool_calls: true
|
|
7354
|
-
}
|
|
7355
|
-
},
|
|
7356
|
-
{
|
|
7357
|
-
id: "gpt-5.4-fast-plus-pro-xhigh",
|
|
7358
|
-
handle: "chatgpt-plus-pro/gpt-5.4-fast",
|
|
7359
|
-
label: "GPT-5.4 Fast (ChatGPT)",
|
|
7360
|
-
description: "GPT-5.4 Fast (max reasoning) via ChatGPT Plus/Pro",
|
|
7361
|
-
updateArgs: {
|
|
7362
|
-
reasoning_effort: "xhigh",
|
|
7363
|
-
verbosity: "low",
|
|
7364
|
-
context_window: 272000,
|
|
7365
|
-
max_output_tokens: 128000,
|
|
7366
|
-
parallel_tool_calls: true
|
|
7367
|
-
}
|
|
7368
|
-
},
|
|
7369
|
-
{
|
|
7370
|
-
id: "gpt-5.4-mini-plus-pro-none",
|
|
7371
|
-
handle: "chatgpt-plus-pro/gpt-5.4-mini",
|
|
7372
|
-
label: "GPT-5.4 Mini (ChatGPT)",
|
|
7373
|
-
description: "GPT-5.4 Mini (no reasoning) via ChatGPT Plus/Pro",
|
|
7374
|
-
updateArgs: {
|
|
7375
|
-
reasoning_effort: "none",
|
|
7376
|
-
verbosity: "low",
|
|
7377
|
-
context_window: 272000,
|
|
7378
|
-
max_output_tokens: 128000,
|
|
7379
|
-
parallel_tool_calls: true
|
|
7380
|
-
}
|
|
7381
|
-
},
|
|
7382
|
-
{
|
|
7383
|
-
id: "gpt-5.4-mini-plus-pro-low",
|
|
7384
|
-
handle: "chatgpt-plus-pro/gpt-5.4-mini",
|
|
7385
|
-
label: "GPT-5.4 Mini (ChatGPT)",
|
|
7386
|
-
description: "GPT-5.4 Mini (low reasoning) via ChatGPT Plus/Pro",
|
|
7387
|
-
updateArgs: {
|
|
7388
|
-
reasoning_effort: "low",
|
|
7389
|
-
verbosity: "low",
|
|
7390
|
-
context_window: 272000,
|
|
7391
|
-
max_output_tokens: 128000,
|
|
7392
|
-
parallel_tool_calls: true
|
|
7393
|
-
}
|
|
7394
|
-
},
|
|
7395
|
-
{
|
|
7396
|
-
id: "gpt-5.4-mini-plus-pro-medium",
|
|
7397
|
-
handle: "chatgpt-plus-pro/gpt-5.4-mini",
|
|
7398
|
-
label: "GPT-5.4 Mini (ChatGPT)",
|
|
7399
|
-
description: "GPT-5.4 Mini (med reasoning) via ChatGPT Plus/Pro",
|
|
7400
|
-
updateArgs: {
|
|
7401
|
-
reasoning_effort: "medium",
|
|
7402
|
-
verbosity: "low",
|
|
7403
|
-
context_window: 272000,
|
|
7404
|
-
max_output_tokens: 128000,
|
|
7405
|
-
parallel_tool_calls: true
|
|
7406
|
-
}
|
|
7407
|
-
},
|
|
7408
|
-
{
|
|
7409
|
-
id: "gpt-5.4-mini-plus-pro-high",
|
|
7410
|
-
handle: "chatgpt-plus-pro/gpt-5.4-mini",
|
|
7411
|
-
label: "GPT-5.4 Mini (ChatGPT)",
|
|
7412
|
-
description: "GPT-5.4 Mini (high reasoning) via ChatGPT Plus/Pro",
|
|
7413
|
-
updateArgs: {
|
|
7414
|
-
reasoning_effort: "high",
|
|
7415
|
-
verbosity: "low",
|
|
7416
|
-
context_window: 272000,
|
|
7417
|
-
max_output_tokens: 128000,
|
|
7418
|
-
parallel_tool_calls: true
|
|
7419
|
-
}
|
|
7420
|
-
},
|
|
7421
|
-
{
|
|
7422
|
-
id: "gpt-5.4-mini-plus-pro-xhigh",
|
|
7423
|
-
handle: "chatgpt-plus-pro/gpt-5.4-mini",
|
|
7424
|
-
label: "GPT-5.4 Mini (ChatGPT)",
|
|
7425
|
-
description: "GPT-5.4 Mini (max reasoning) via ChatGPT Plus/Pro",
|
|
7426
|
-
updateArgs: {
|
|
7427
|
-
reasoning_effort: "xhigh",
|
|
7428
|
-
verbosity: "low",
|
|
7429
|
-
context_window: 272000,
|
|
7430
|
-
max_output_tokens: 128000,
|
|
7431
|
-
parallel_tool_calls: true
|
|
7432
|
-
}
|
|
7433
|
-
},
|
|
7434
|
-
{
|
|
7435
|
-
id: "gpt-5.3-codex-spark-plus-pro-none",
|
|
7436
|
-
handle: "chatgpt-plus-pro/gpt-5.3-codex-spark",
|
|
7437
|
-
label: "GPT-5.3 Codex Spark (ChatGPT)",
|
|
7438
|
-
description: "GPT-5.3 Codex Spark (no reasoning) via ChatGPT Plus/Pro",
|
|
7439
|
-
updateArgs: {
|
|
7440
|
-
reasoning_effort: "none",
|
|
7441
|
-
verbosity: "low",
|
|
7442
|
-
context_window: 128000,
|
|
7443
|
-
max_output_tokens: 128000,
|
|
7444
|
-
parallel_tool_calls: true
|
|
7445
|
-
}
|
|
7446
|
-
},
|
|
7447
|
-
{
|
|
7448
|
-
id: "gpt-5.3-codex-spark-plus-pro-low",
|
|
7449
|
-
handle: "chatgpt-plus-pro/gpt-5.3-codex-spark",
|
|
7450
|
-
label: "GPT-5.3 Codex Spark (ChatGPT)",
|
|
7451
|
-
description: "GPT-5.3 Codex Spark (low reasoning) via ChatGPT Plus/Pro",
|
|
7452
|
-
updateArgs: {
|
|
7453
|
-
reasoning_effort: "low",
|
|
7454
|
-
verbosity: "low",
|
|
7455
|
-
context_window: 128000,
|
|
7456
|
-
max_output_tokens: 128000,
|
|
7457
|
-
parallel_tool_calls: true
|
|
7458
|
-
}
|
|
7459
|
-
},
|
|
7460
|
-
{
|
|
7461
|
-
id: "gpt-5.3-codex-spark-plus-pro-medium",
|
|
7462
|
-
handle: "chatgpt-plus-pro/gpt-5.3-codex-spark",
|
|
7463
|
-
label: "GPT-5.3 Codex Spark (ChatGPT)",
|
|
7464
|
-
description: "GPT-5.3 Codex Spark (med reasoning) via ChatGPT Plus/Pro",
|
|
7465
|
-
updateArgs: {
|
|
7466
|
-
reasoning_effort: "medium",
|
|
7467
|
-
verbosity: "low",
|
|
7468
|
-
context_window: 128000,
|
|
7469
|
-
max_output_tokens: 128000,
|
|
7470
|
-
parallel_tool_calls: true
|
|
7471
|
-
}
|
|
7472
|
-
},
|
|
7473
|
-
{
|
|
7474
|
-
id: "gpt-5.3-codex-spark-plus-pro-high",
|
|
7475
|
-
handle: "chatgpt-plus-pro/gpt-5.3-codex-spark",
|
|
7476
|
-
label: "GPT-5.3 Codex Spark (ChatGPT)",
|
|
7477
|
-
description: "GPT-5.3 Codex Spark (high reasoning) via ChatGPT Plus/Pro",
|
|
7478
|
-
updateArgs: {
|
|
7479
|
-
reasoning_effort: "high",
|
|
7480
|
-
verbosity: "low",
|
|
7481
|
-
context_window: 128000,
|
|
7482
|
-
max_output_tokens: 128000,
|
|
7483
|
-
parallel_tool_calls: true
|
|
7484
|
-
}
|
|
7485
|
-
},
|
|
7486
|
-
{
|
|
7487
|
-
id: "gpt-5.3-codex-spark-plus-pro-xhigh",
|
|
7488
|
-
handle: "chatgpt-plus-pro/gpt-5.3-codex-spark",
|
|
7489
|
-
label: "GPT-5.3 Codex Spark (ChatGPT)",
|
|
7490
|
-
description: "GPT-5.3 Codex Spark (max reasoning) via ChatGPT Plus/Pro",
|
|
7491
|
-
updateArgs: {
|
|
7492
|
-
reasoning_effort: "xhigh",
|
|
7493
|
-
verbosity: "low",
|
|
7494
|
-
context_window: 128000,
|
|
7495
|
-
max_output_tokens: 128000,
|
|
7496
|
-
parallel_tool_calls: true
|
|
7497
|
-
}
|
|
7498
|
-
},
|
|
7499
|
-
{
|
|
7500
|
-
id: "gpt-5.5-none",
|
|
7501
|
-
handle: "openai/gpt-5.5",
|
|
7502
|
-
label: "GPT-5.5",
|
|
7503
|
-
description: "OpenAI's most capable model (no reasoning)",
|
|
7504
|
-
updateArgs: {
|
|
7505
|
-
reasoning_effort: "none",
|
|
7506
|
-
verbosity: "medium",
|
|
7507
|
-
context_window: 272000,
|
|
7508
|
-
max_output_tokens: 128000,
|
|
7509
|
-
parallel_tool_calls: true
|
|
7510
|
-
}
|
|
7511
|
-
},
|
|
7512
|
-
{
|
|
7513
|
-
id: "gpt-5.5-low",
|
|
7514
|
-
handle: "openai/gpt-5.5",
|
|
7515
|
-
label: "GPT-5.5",
|
|
7516
|
-
description: "OpenAI's most capable model (low reasoning)",
|
|
7517
|
-
updateArgs: {
|
|
7518
|
-
reasoning_effort: "low",
|
|
7519
|
-
verbosity: "medium",
|
|
7520
|
-
context_window: 272000,
|
|
7521
|
-
max_output_tokens: 128000,
|
|
7522
|
-
parallel_tool_calls: true
|
|
7523
|
-
}
|
|
7524
|
-
},
|
|
7525
|
-
{
|
|
7526
|
-
id: "gpt-5.5-medium",
|
|
7527
|
-
handle: "openai/gpt-5.5",
|
|
7528
|
-
label: "GPT-5.5",
|
|
7529
|
-
description: "OpenAI's most capable model (med reasoning)",
|
|
7530
|
-
updateArgs: {
|
|
7531
|
-
reasoning_effort: "medium",
|
|
7532
|
-
verbosity: "medium",
|
|
7533
|
-
context_window: 272000,
|
|
7534
|
-
max_output_tokens: 128000,
|
|
7535
|
-
parallel_tool_calls: true
|
|
7536
|
-
}
|
|
7537
|
-
},
|
|
7538
|
-
{
|
|
7539
|
-
id: "gpt-5.5-high",
|
|
7540
|
-
handle: "openai/gpt-5.5",
|
|
7541
|
-
label: "GPT-5.5",
|
|
7542
|
-
description: "OpenAI's most capable model (high reasoning)",
|
|
7543
|
-
updateArgs: {
|
|
7544
|
-
reasoning_effort: "high",
|
|
7545
|
-
verbosity: "medium",
|
|
7546
|
-
context_window: 272000,
|
|
7547
|
-
max_output_tokens: 128000,
|
|
7548
|
-
parallel_tool_calls: true
|
|
7549
|
-
}
|
|
7550
|
-
},
|
|
7551
|
-
{
|
|
7552
|
-
id: "gpt-5.5-xhigh",
|
|
7553
|
-
handle: "openai/gpt-5.5",
|
|
7554
|
-
label: "GPT-5.5",
|
|
7555
|
-
description: "OpenAI's most capable model (max reasoning)",
|
|
7556
|
-
updateArgs: {
|
|
7557
|
-
reasoning_effort: "xhigh",
|
|
7558
|
-
verbosity: "medium",
|
|
7559
|
-
context_window: 272000,
|
|
7560
|
-
max_output_tokens: 128000,
|
|
7561
|
-
parallel_tool_calls: true
|
|
7562
|
-
}
|
|
7563
|
-
},
|
|
7564
|
-
{
|
|
7565
|
-
id: "gpt-5.4-none",
|
|
7566
|
-
handle: "openai/gpt-5.4",
|
|
7567
|
-
label: "GPT-5.4",
|
|
7568
|
-
description: "OpenAI's most capable model (no reasoning)",
|
|
7569
|
-
updateArgs: {
|
|
7570
|
-
reasoning_effort: "none",
|
|
7571
|
-
verbosity: "medium",
|
|
7572
|
-
context_window: 272000,
|
|
7573
|
-
max_output_tokens: 128000,
|
|
7574
|
-
parallel_tool_calls: true
|
|
7575
|
-
}
|
|
7576
|
-
},
|
|
7577
|
-
{
|
|
7578
|
-
id: "gpt-5.4-low",
|
|
7579
|
-
handle: "openai/gpt-5.4",
|
|
7580
|
-
label: "GPT-5.4",
|
|
7581
|
-
description: "OpenAI's most capable model (low reasoning)",
|
|
7582
|
-
updateArgs: {
|
|
7583
|
-
reasoning_effort: "low",
|
|
7584
|
-
verbosity: "medium",
|
|
7585
|
-
context_window: 272000,
|
|
7586
|
-
max_output_tokens: 128000,
|
|
7587
|
-
parallel_tool_calls: true
|
|
7588
|
-
}
|
|
7589
|
-
},
|
|
7590
|
-
{
|
|
7591
|
-
id: "gpt-5.4-medium",
|
|
7592
|
-
handle: "openai/gpt-5.4",
|
|
7593
|
-
label: "GPT-5.4",
|
|
7594
|
-
description: "OpenAI's most capable model (med reasoning)",
|
|
7595
|
-
updateArgs: {
|
|
7596
|
-
reasoning_effort: "medium",
|
|
7597
|
-
verbosity: "medium",
|
|
7598
|
-
context_window: 272000,
|
|
7599
|
-
max_output_tokens: 128000,
|
|
7600
|
-
parallel_tool_calls: true
|
|
7601
|
-
}
|
|
7602
|
-
},
|
|
7603
|
-
{
|
|
7604
|
-
id: "gpt-5.4-high",
|
|
7605
|
-
handle: "openai/gpt-5.4",
|
|
7606
|
-
label: "GPT-5.4",
|
|
7607
|
-
description: "OpenAI's most capable model (high reasoning)",
|
|
7608
|
-
updateArgs: {
|
|
7609
|
-
reasoning_effort: "high",
|
|
7610
|
-
verbosity: "medium",
|
|
7611
|
-
context_window: 272000,
|
|
7612
|
-
max_output_tokens: 128000,
|
|
7613
|
-
parallel_tool_calls: true
|
|
7614
|
-
}
|
|
7615
|
-
},
|
|
7616
|
-
{
|
|
7617
|
-
id: "gpt-5.4-xhigh",
|
|
7618
|
-
handle: "openai/gpt-5.4",
|
|
7619
|
-
label: "GPT-5.4",
|
|
7620
|
-
description: "OpenAI's most capable model (max reasoning)",
|
|
7621
|
-
updateArgs: {
|
|
7622
|
-
reasoning_effort: "xhigh",
|
|
7623
|
-
verbosity: "medium",
|
|
7624
|
-
context_window: 272000,
|
|
7625
|
-
max_output_tokens: 128000,
|
|
7626
|
-
parallel_tool_calls: true
|
|
7627
|
-
}
|
|
7628
|
-
},
|
|
7629
|
-
{
|
|
7630
|
-
id: "gpt-5.4-fast-none",
|
|
7631
|
-
handle: "openai/gpt-5.4-fast",
|
|
7632
|
-
label: "GPT-5.4 Fast",
|
|
7633
|
-
description: "GPT-5.4 with priority service tier (no reasoning)",
|
|
7634
|
-
updateArgs: {
|
|
7635
|
-
reasoning_effort: "none",
|
|
7636
|
-
verbosity: "medium",
|
|
7637
|
-
context_window: 272000,
|
|
7638
|
-
max_output_tokens: 128000,
|
|
7639
|
-
parallel_tool_calls: true
|
|
7640
|
-
}
|
|
7641
|
-
},
|
|
7642
|
-
{
|
|
7643
|
-
id: "gpt-5.4-fast-low",
|
|
7644
|
-
handle: "openai/gpt-5.4-fast",
|
|
7645
|
-
label: "GPT-5.4 Fast",
|
|
7646
|
-
description: "GPT-5.4 with priority service tier (low reasoning)",
|
|
7647
|
-
updateArgs: {
|
|
7648
|
-
reasoning_effort: "low",
|
|
7649
|
-
verbosity: "medium",
|
|
7650
|
-
context_window: 272000,
|
|
7651
|
-
max_output_tokens: 128000,
|
|
7652
|
-
parallel_tool_calls: true
|
|
7653
|
-
}
|
|
7654
|
-
},
|
|
7655
|
-
{
|
|
7656
|
-
id: "gpt-5.4-fast-medium",
|
|
7657
|
-
handle: "openai/gpt-5.4-fast",
|
|
7658
|
-
label: "GPT-5.4 Fast",
|
|
7659
|
-
description: "GPT-5.4 with priority service tier (med reasoning)",
|
|
7660
|
-
updateArgs: {
|
|
7661
|
-
reasoning_effort: "medium",
|
|
7662
|
-
verbosity: "medium",
|
|
7663
|
-
context_window: 272000,
|
|
7664
|
-
max_output_tokens: 128000,
|
|
7665
|
-
parallel_tool_calls: true
|
|
7666
|
-
}
|
|
7667
|
-
},
|
|
7668
|
-
{
|
|
7669
|
-
id: "gpt-5.4-fast-high",
|
|
7670
|
-
handle: "openai/gpt-5.4-fast",
|
|
7671
|
-
label: "GPT-5.4 Fast",
|
|
7672
|
-
description: "GPT-5.4 with priority service tier (high reasoning)",
|
|
7673
|
-
updateArgs: {
|
|
7674
|
-
reasoning_effort: "high",
|
|
7675
|
-
verbosity: "medium",
|
|
7676
|
-
context_window: 272000,
|
|
7677
|
-
max_output_tokens: 128000,
|
|
7678
|
-
parallel_tool_calls: true
|
|
7679
|
-
}
|
|
7680
|
-
},
|
|
7681
|
-
{
|
|
7682
|
-
id: "gpt-5.4-fast-xhigh",
|
|
7683
|
-
handle: "openai/gpt-5.4-fast",
|
|
7684
|
-
label: "GPT-5.4 Fast",
|
|
7685
|
-
description: "GPT-5.4 with priority service tier (max reasoning)",
|
|
7686
|
-
updateArgs: {
|
|
7687
|
-
reasoning_effort: "xhigh",
|
|
7688
|
-
verbosity: "medium",
|
|
7689
|
-
context_window: 272000,
|
|
7690
|
-
max_output_tokens: 128000,
|
|
7691
|
-
parallel_tool_calls: true
|
|
7692
|
-
}
|
|
7693
|
-
},
|
|
7694
|
-
{
|
|
7695
|
-
id: "gpt-5.4-mini-none",
|
|
7696
|
-
handle: "openai/gpt-5.4-mini",
|
|
7697
|
-
label: "GPT-5.4 Mini",
|
|
7698
|
-
description: "Fast, efficient GPT-5.4 variant (no reasoning)",
|
|
7699
|
-
updateArgs: {
|
|
7700
|
-
reasoning_effort: "none",
|
|
7701
|
-
verbosity: "low",
|
|
7702
|
-
context_window: 272000,
|
|
7703
|
-
max_output_tokens: 128000,
|
|
7704
|
-
parallel_tool_calls: true
|
|
7705
|
-
}
|
|
7706
|
-
},
|
|
7707
|
-
{
|
|
7708
|
-
id: "gpt-5.4-mini-low",
|
|
7709
|
-
handle: "openai/gpt-5.4-mini",
|
|
7710
|
-
label: "GPT-5.4 Mini",
|
|
7711
|
-
description: "Fast, efficient GPT-5.4 variant (low reasoning)",
|
|
7712
|
-
updateArgs: {
|
|
7713
|
-
reasoning_effort: "low",
|
|
7714
|
-
verbosity: "low",
|
|
7715
|
-
context_window: 272000,
|
|
7716
|
-
max_output_tokens: 128000,
|
|
7717
|
-
parallel_tool_calls: true
|
|
7718
|
-
}
|
|
7719
|
-
},
|
|
7720
|
-
{
|
|
7721
|
-
id: "gpt-5.4-mini-medium",
|
|
7722
|
-
handle: "openai/gpt-5.4-mini",
|
|
7723
|
-
label: "GPT-5.4 Mini",
|
|
7724
|
-
description: "Fast, efficient GPT-5.4 variant (med reasoning)",
|
|
7725
|
-
updateArgs: {
|
|
7726
|
-
reasoning_effort: "medium",
|
|
7727
|
-
verbosity: "low",
|
|
7728
|
-
context_window: 272000,
|
|
7729
|
-
max_output_tokens: 128000,
|
|
7730
|
-
parallel_tool_calls: true
|
|
7731
|
-
}
|
|
7732
|
-
},
|
|
7733
|
-
{
|
|
7734
|
-
id: "gpt-5.4-mini-high",
|
|
7735
|
-
handle: "openai/gpt-5.4-mini",
|
|
7736
|
-
label: "GPT-5.4 Mini",
|
|
7737
|
-
description: "Fast, efficient GPT-5.4 variant (high reasoning)",
|
|
7738
|
-
updateArgs: {
|
|
7739
|
-
reasoning_effort: "high",
|
|
7740
|
-
verbosity: "low",
|
|
7741
|
-
context_window: 272000,
|
|
7742
|
-
max_output_tokens: 128000,
|
|
7743
|
-
parallel_tool_calls: true
|
|
7744
|
-
}
|
|
7745
|
-
},
|
|
7746
|
-
{
|
|
7747
|
-
id: "gpt-5.4-mini-xhigh",
|
|
7748
|
-
handle: "openai/gpt-5.4-mini",
|
|
7749
|
-
label: "GPT-5.4 Mini",
|
|
7750
|
-
description: "Fast, efficient GPT-5.4 variant (max reasoning)",
|
|
7751
|
-
updateArgs: {
|
|
7752
|
-
reasoning_effort: "xhigh",
|
|
7753
|
-
verbosity: "low",
|
|
7754
|
-
context_window: 272000,
|
|
7755
|
-
max_output_tokens: 128000,
|
|
7756
|
-
parallel_tool_calls: true
|
|
7757
|
-
}
|
|
7758
|
-
},
|
|
7759
|
-
{
|
|
7760
|
-
id: "gpt-5.3-codex-none",
|
|
7761
|
-
handle: "openai/gpt-5.3-codex",
|
|
7762
|
-
label: "GPT-5.3-Codex",
|
|
7763
|
-
description: "GPT-5.3 variant (no reasoning) optimized for coding",
|
|
7764
|
-
updateArgs: {
|
|
7765
|
-
reasoning_effort: "none",
|
|
7766
|
-
verbosity: "medium",
|
|
7767
|
-
context_window: 272000,
|
|
7768
|
-
max_output_tokens: 128000,
|
|
7769
|
-
parallel_tool_calls: true
|
|
7770
|
-
}
|
|
7771
|
-
},
|
|
7772
|
-
{
|
|
7773
|
-
id: "gpt-5.3-codex-low",
|
|
7774
|
-
handle: "openai/gpt-5.3-codex",
|
|
7775
|
-
label: "GPT-5.3-Codex",
|
|
7776
|
-
description: "GPT-5.3 variant (low reasoning) optimized for coding",
|
|
7777
|
-
updateArgs: {
|
|
7778
|
-
reasoning_effort: "low",
|
|
7779
|
-
verbosity: "medium",
|
|
7780
|
-
context_window: 272000,
|
|
7781
|
-
max_output_tokens: 128000,
|
|
7782
|
-
parallel_tool_calls: true
|
|
7783
|
-
}
|
|
7784
|
-
},
|
|
7785
|
-
{
|
|
7786
|
-
id: "gpt-5.3-codex-medium",
|
|
7787
|
-
handle: "openai/gpt-5.3-codex",
|
|
7788
|
-
label: "GPT-5.3-Codex",
|
|
7789
|
-
description: "GPT-5.3 variant (med reasoning) optimized for coding",
|
|
7790
|
-
updateArgs: {
|
|
7791
|
-
reasoning_effort: "medium",
|
|
7792
|
-
verbosity: "medium",
|
|
7793
|
-
context_window: 272000,
|
|
7794
|
-
max_output_tokens: 128000,
|
|
7795
|
-
parallel_tool_calls: true
|
|
7796
|
-
}
|
|
7797
|
-
},
|
|
7798
|
-
{
|
|
7799
|
-
id: "gpt-5.3-codex-high",
|
|
7800
|
-
handle: "openai/gpt-5.3-codex",
|
|
7801
|
-
label: "GPT-5.3-Codex",
|
|
7802
|
-
description: "OpenAI's best coding model (high reasoning)",
|
|
7803
|
-
updateArgs: {
|
|
7804
|
-
reasoning_effort: "high",
|
|
7805
|
-
verbosity: "medium",
|
|
7806
|
-
context_window: 272000,
|
|
7807
|
-
max_output_tokens: 128000,
|
|
7808
|
-
parallel_tool_calls: true
|
|
7809
|
-
}
|
|
7810
|
-
},
|
|
7811
|
-
{
|
|
7812
|
-
id: "gpt-5.3-codex-xhigh",
|
|
7813
|
-
handle: "openai/gpt-5.3-codex",
|
|
7814
|
-
label: "GPT-5.3-Codex",
|
|
7815
|
-
description: "GPT-5.3 variant (max reasoning) optimized for coding",
|
|
7816
|
-
updateArgs: {
|
|
7817
|
-
reasoning_effort: "xhigh",
|
|
7818
|
-
verbosity: "medium",
|
|
7819
|
-
context_window: 272000,
|
|
7820
|
-
max_output_tokens: 128000,
|
|
7821
|
-
parallel_tool_calls: true
|
|
7822
|
-
}
|
|
7823
|
-
},
|
|
7824
|
-
{
|
|
7825
|
-
id: "grok-4.5",
|
|
7826
|
-
handle: "xai/grok-4.5",
|
|
7827
|
-
label: "Grok 4.5",
|
|
7828
|
-
description: "xAI's Grok 4.5 model via the direct xAI API",
|
|
7829
|
-
isFeatured: true,
|
|
7830
|
-
updateArgs: {
|
|
7831
|
-
context_window: 500000,
|
|
7832
|
-
max_output_tokens: 16384,
|
|
7833
|
-
parallel_tool_calls: true
|
|
7834
|
-
}
|
|
7835
|
-
},
|
|
7836
|
-
{
|
|
7837
|
-
id: "glm-5.2",
|
|
7838
|
-
handle: "zai/glm-5.2",
|
|
7839
|
-
label: "GLM-5.2",
|
|
7840
|
-
description: "zAI's latest reasoning and coding model with 1M context",
|
|
7841
|
-
isFeatured: true,
|
|
7842
|
-
free: true,
|
|
7843
|
-
updateArgs: {
|
|
7844
|
-
context_window: 1e6,
|
|
7845
|
-
max_output_tokens: 131072,
|
|
7846
|
-
parallel_tool_calls: true
|
|
7847
|
-
}
|
|
7848
|
-
},
|
|
7849
|
-
{
|
|
7850
|
-
id: "glm-5.1",
|
|
7851
|
-
handle: "zai/glm-5.1",
|
|
7852
|
-
label: "GLM-5.1",
|
|
7853
|
-
description: "zAI's coding model",
|
|
7854
|
-
isFeatured: false,
|
|
7855
|
-
free: true,
|
|
7856
|
-
updateArgs: {
|
|
7857
|
-
context_window: 180000,
|
|
7858
|
-
max_output_tokens: 16000,
|
|
7859
|
-
parallel_tool_calls: true
|
|
7860
|
-
}
|
|
7861
|
-
},
|
|
7862
|
-
{
|
|
7863
|
-
id: "minimax-m3",
|
|
7864
|
-
handle: "minimax/MiniMax-M3",
|
|
7865
|
-
label: "MiniMax M3",
|
|
7866
|
-
description: "MiniMax's frontier M-series model for agentic reasoning, tool use, coding, multimodal chat input, and long-context tasks",
|
|
7867
|
-
isFeatured: true,
|
|
7868
|
-
updateArgs: {
|
|
7869
|
-
context_window: 500000,
|
|
7870
|
-
parallel_tool_calls: true
|
|
7871
|
-
}
|
|
7872
|
-
},
|
|
7873
|
-
{
|
|
7874
|
-
id: "minimax-m2.7",
|
|
7875
|
-
handle: "minimax/MiniMax-M2.7",
|
|
7876
|
-
label: "MiniMax 2.7",
|
|
7877
|
-
description: "MiniMax's M2.7 coding model",
|
|
7878
|
-
free: true,
|
|
7879
|
-
updateArgs: {
|
|
7880
|
-
context_window: 160000,
|
|
7881
|
-
max_output_tokens: 64000,
|
|
7882
|
-
parallel_tool_calls: true
|
|
7883
|
-
}
|
|
7884
|
-
},
|
|
7885
|
-
{
|
|
7886
|
-
id: "kimi-k3",
|
|
7887
|
-
handle: "moonshot/kimi-k3",
|
|
7888
|
-
label: "Kimi K3",
|
|
7889
|
-
description: "Moonshot AI's Kimi K3 model for long-context agentic coding and reasoning tasks",
|
|
7890
|
-
isFeatured: true,
|
|
7891
|
-
updateArgs: {
|
|
7892
|
-
context_window: 1048576,
|
|
7893
|
-
max_output_tokens: 131072,
|
|
7894
|
-
parallel_tool_calls: true
|
|
7895
|
-
}
|
|
7896
|
-
},
|
|
7897
|
-
{
|
|
7898
|
-
id: "gemini-3.1",
|
|
7899
|
-
handle: "google_ai/gemini-3.1-pro-preview",
|
|
7900
|
-
label: "Gemini 3.1 Pro",
|
|
7901
|
-
description: "Google's latest and smartest model",
|
|
7902
|
-
isFeatured: true,
|
|
7903
|
-
updateArgs: {
|
|
7904
|
-
context_window: 180000,
|
|
7905
|
-
temperature: 1,
|
|
7906
|
-
parallel_tool_calls: true
|
|
7907
|
-
}
|
|
7908
|
-
},
|
|
7909
|
-
{
|
|
7910
|
-
id: "gemini-3.5-flash",
|
|
7911
|
-
handle: "google_ai/gemini-3.5-flash",
|
|
7912
|
-
label: "Gemini 3.5 Flash",
|
|
7913
|
-
description: "Google's Gemini 3.5 Flash model",
|
|
7914
|
-
updateArgs: {
|
|
7915
|
-
context_window: 1048576,
|
|
7916
|
-
temperature: 1,
|
|
7917
|
-
parallel_tool_calls: true
|
|
7918
|
-
}
|
|
7919
|
-
},
|
|
7920
|
-
{
|
|
7921
|
-
id: "gemini-3.6-flash",
|
|
7922
|
-
handle: "google_ai/gemini-3.6-flash",
|
|
7923
|
-
label: "Gemini 3.6 Flash",
|
|
7924
|
-
description: "Google's Gemini 3.6 Flash model",
|
|
7925
|
-
isFeatured: true,
|
|
7926
|
-
updateArgs: {
|
|
7927
|
-
context_window: 1048576,
|
|
7928
|
-
temperature: 1,
|
|
7929
|
-
parallel_tool_calls: true
|
|
7930
|
-
}
|
|
7931
|
-
}
|
|
7932
|
-
]
|
|
7933
|
-
};
|
|
7934
|
-
var models = models_default.models;
|
|
7935
|
-
function resolveModel(modelIdentifier) {
|
|
7936
|
-
const byId = models.find((m) => m.id === modelIdentifier);
|
|
7937
|
-
if (byId)
|
|
7938
|
-
return byId.handle;
|
|
7939
|
-
const byHandle = models.find((m) => m.handle === modelIdentifier);
|
|
7940
|
-
if (byHandle)
|
|
7941
|
-
return byHandle.handle;
|
|
7942
|
-
if (modelIdentifier.includes("/")) {
|
|
7943
|
-
return modelIdentifier;
|
|
7944
|
-
}
|
|
7945
|
-
return null;
|
|
7946
|
-
}
|
|
7947
|
-
function getDefaultModel() {
|
|
7948
|
-
const autoModel = resolveModel("auto");
|
|
7949
|
-
if (autoModel)
|
|
7950
|
-
return autoModel;
|
|
7951
|
-
const defaultModel = models.find((m) => m.isDefault);
|
|
7952
|
-
if (defaultModel)
|
|
7953
|
-
return defaultModel.handle;
|
|
7954
|
-
const firstModel = models[0];
|
|
7955
|
-
if (!firstModel) {
|
|
7956
|
-
throw new Error("No models available in models.json");
|
|
7957
|
-
}
|
|
7958
|
-
return firstModel.handle;
|
|
7959
|
-
}
|
|
7960
|
-
var PERSONALITY_OPTIONS = [
|
|
7961
|
-
{
|
|
7962
|
-
id: "memo",
|
|
7963
|
-
label: "Letta Code",
|
|
7964
|
-
description: "The memory-first agent"
|
|
7965
|
-
},
|
|
7966
|
-
{
|
|
7967
|
-
id: "tutorial",
|
|
7968
|
-
label: "Tutor",
|
|
7969
|
-
description: "I help with getting started with Letta. I can answer any questions about Letta, and also help you create and configure agents.",
|
|
7970
|
-
defaultMemoryFiles: [
|
|
7971
|
-
{
|
|
7972
|
-
path: "profile.png",
|
|
7973
|
-
assetId: "tutor-profile",
|
|
7974
|
-
commitMessage: "chore: set default Tutor profile picture"
|
|
7975
|
-
}
|
|
7976
|
-
]
|
|
7977
|
-
},
|
|
7978
|
-
{
|
|
7979
|
-
id: "blank",
|
|
7980
|
-
label: "Blank",
|
|
7981
|
-
description: "Blank starter — you provide the personality"
|
|
7982
|
-
},
|
|
7983
|
-
{
|
|
7984
|
-
id: "linus",
|
|
7985
|
-
label: "Linus",
|
|
7986
|
-
description: "Code with a stern hand"
|
|
7987
|
-
},
|
|
7988
|
-
{
|
|
7989
|
-
id: "kawaii",
|
|
7990
|
-
label: "Letta-Chan",
|
|
7991
|
-
description: "sugoi~ (◕‿◕)✨",
|
|
7992
|
-
defaultModel: "auto-chat"
|
|
7993
|
-
},
|
|
7994
|
-
{
|
|
7995
|
-
id: "claude",
|
|
7996
|
-
label: "Letta Code",
|
|
7997
|
-
description: "Vanilla Claude flavors"
|
|
7998
|
-
},
|
|
7999
|
-
{
|
|
8000
|
-
id: "codex",
|
|
8001
|
-
label: "Letta Code",
|
|
8002
|
-
description: "Vanilla Codex flavors"
|
|
8003
|
-
}
|
|
8004
|
-
];
|
|
8005
|
-
var PERSONALITY_TAG_PREFIX = "personality:";
|
|
8006
|
-
function buildPersonalityTag(personalityId) {
|
|
8007
|
-
return `${PERSONALITY_TAG_PREFIX}${personalityId}`;
|
|
8008
|
-
}
|
|
8009
|
-
function getPersonalityCreationTags(personalityId) {
|
|
8010
|
-
return getPersonalityDefaultMemoryFiles(personalityId).length > 0 ? [buildPersonalityTag(personalityId)] : [];
|
|
8011
|
-
}
|
|
8012
|
-
var ONBOARDING_PERSONALITIES = [
|
|
8013
|
-
"tutorial"
|
|
8014
|
-
];
|
|
8015
|
-
function supportsOnboardingBlock(personalityId) {
|
|
8016
|
-
return ONBOARDING_PERSONALITIES.includes(personalityId);
|
|
8017
|
-
}
|
|
8018
|
-
var EDITABLE_FRONTMATTER_KEYS = [
|
|
8019
|
-
"description",
|
|
8020
|
-
"limit",
|
|
8021
|
-
"read_only"
|
|
8022
|
-
];
|
|
8023
|
-
function ensureTrailingNewline(content) {
|
|
8024
|
-
return `${content.trimEnd()}
|
|
8025
|
-
`;
|
|
8026
|
-
}
|
|
8027
|
-
function getPromptTemplate(promptAssetName) {
|
|
8028
|
-
const rawPrompt = MEMORY_PROMPTS[promptAssetName];
|
|
8029
|
-
if (!rawPrompt) {
|
|
8030
|
-
throw new Error(`Missing built-in prompt content for ${promptAssetName}`);
|
|
8031
|
-
}
|
|
8032
|
-
return parseMdxFrontmatter(rawPrompt);
|
|
8033
|
-
}
|
|
8034
|
-
function getPromptBody(promptAssetName) {
|
|
8035
|
-
const { body } = getPromptTemplate(promptAssetName);
|
|
8036
|
-
if (!body.trim()) {
|
|
8037
|
-
throw new Error(`${promptAssetName} has empty body content`);
|
|
8038
|
-
}
|
|
8039
|
-
return ensureTrailingNewline(body);
|
|
8040
|
-
}
|
|
8041
|
-
function getEditablePromptFrontmatter(promptAssetName) {
|
|
8042
|
-
const { frontmatter } = getPromptTemplate(promptAssetName);
|
|
8043
|
-
return Object.fromEntries(Object.entries(frontmatter).filter(([key]) => EDITABLE_FRONTMATTER_KEYS.includes(key)));
|
|
8044
|
-
}
|
|
8045
|
-
function getSystemPromptById(systemPromptId) {
|
|
8046
|
-
const prompt = SYSTEM_PROMPTS.find((candidate) => candidate.id === systemPromptId);
|
|
8047
|
-
if (!prompt || !prompt.content.trim()) {
|
|
8048
|
-
throw new Error(`Missing built-in prompt content for ${systemPromptId}`);
|
|
8049
|
-
}
|
|
8050
|
-
return prompt.content;
|
|
8051
|
-
}
|
|
8052
|
-
function getPersonalityOption(personalityId) {
|
|
8053
|
-
const option = PERSONALITY_OPTIONS.find((candidate) => candidate.id === personalityId);
|
|
8054
|
-
if (!option) {
|
|
8055
|
-
throw new Error(`Unknown personality: ${personalityId}`);
|
|
8056
|
-
}
|
|
8057
|
-
return option;
|
|
8058
|
-
}
|
|
8059
|
-
function getPersonalityDefaultMemoryFiles(personalityId) {
|
|
8060
|
-
return getPersonalityOption(personalityId).defaultMemoryFiles ?? [];
|
|
8061
|
-
}
|
|
8062
|
-
function getPersonalityContent(personalityId) {
|
|
8063
|
-
if (personalityId === "memo") {
|
|
8064
|
-
return getPromptBody("persona_memo.mdx");
|
|
8065
|
-
}
|
|
8066
|
-
if (personalityId === "tutorial") {
|
|
8067
|
-
return getPromptBody("persona_tutorial.mdx");
|
|
8068
|
-
}
|
|
8069
|
-
if (personalityId === "blank") {
|
|
8070
|
-
return getPromptBody("persona_blank.mdx");
|
|
8071
|
-
}
|
|
8072
|
-
if (personalityId === "kawaii") {
|
|
8073
|
-
return getPromptBody("persona_kawaii.mdx");
|
|
8074
|
-
}
|
|
8075
|
-
if (personalityId === "codex") {
|
|
8076
|
-
return ensureTrailingNewline(getSystemPromptById("source-codex"));
|
|
8077
|
-
}
|
|
8078
|
-
if (personalityId === "linus") {
|
|
8079
|
-
return getPromptBody("persona_linus.mdx");
|
|
8080
|
-
}
|
|
8081
|
-
return ensureTrailingNewline(getSystemPromptById("source-claude"));
|
|
8082
|
-
}
|
|
8083
|
-
function getDefaultHumanContent() {
|
|
8084
|
-
return getPromptBody("human.mdx");
|
|
8085
|
-
}
|
|
8086
|
-
function getPersonalityHumanContent(personalityId) {
|
|
8087
|
-
if (personalityId === "memo") {
|
|
8088
|
-
return getPromptBody("human_memo.mdx");
|
|
8089
|
-
}
|
|
8090
|
-
if (personalityId === "tutorial") {
|
|
8091
|
-
return getPromptBody("human_tutorial.mdx");
|
|
8092
|
-
}
|
|
8093
|
-
if (personalityId === "linus") {
|
|
8094
|
-
return getPromptBody("human_linus.mdx");
|
|
8095
|
-
}
|
|
8096
|
-
if (personalityId === "kawaii") {
|
|
8097
|
-
return getPromptBody("human_kawaii.mdx");
|
|
8098
|
-
}
|
|
8099
|
-
if (personalityId === "blank") {
|
|
8100
|
-
return getDefaultHumanContent();
|
|
8101
|
-
}
|
|
8102
|
-
return getDefaultHumanContent();
|
|
8103
|
-
}
|
|
8104
|
-
function getPersonalityBlockDefinitions(personalityId, environment = "cloud") {
|
|
8105
|
-
const personaTemplatePromptAssetName = personalityId === "memo" ? "persona_memo.mdx" : personalityId === "tutorial" ? "persona_tutorial.mdx" : personalityId === "blank" ? "persona_blank.mdx" : personalityId === "kawaii" ? "persona_kawaii.mdx" : personalityId === "linus" ? "persona_linus.mdx" : "persona.mdx";
|
|
8106
|
-
const humanTemplatePromptAssetName = personalityId === "memo" ? "human_memo.mdx" : personalityId === "tutorial" ? "human_tutorial.mdx" : personalityId === "kawaii" ? "human_kawaii.mdx" : personalityId === "linus" ? "human_linus.mdx" : "human.mdx";
|
|
8107
|
-
const onboardingTemplatePromptAssetName = environment === "local" ? "onboarding_local.mdx" : "onboarding.mdx";
|
|
8108
|
-
return {
|
|
8109
|
-
persona: {
|
|
8110
|
-
value: getPersonalityContent(personalityId),
|
|
8111
|
-
description: getEditablePromptFrontmatter(personaTemplatePromptAssetName).description,
|
|
8112
|
-
templatePromptAssetName: personaTemplatePromptAssetName
|
|
8113
|
-
},
|
|
8114
|
-
human: {
|
|
8115
|
-
value: getPersonalityHumanContent(personalityId),
|
|
8116
|
-
description: getEditablePromptFrontmatter(humanTemplatePromptAssetName).description,
|
|
8117
|
-
templatePromptAssetName: humanTemplatePromptAssetName
|
|
8118
|
-
},
|
|
8119
|
-
...supportsOnboardingBlock(personalityId) ? {
|
|
8120
|
-
onboarding: {
|
|
8121
|
-
value: getPromptBody(onboardingTemplatePromptAssetName),
|
|
8122
|
-
description: getEditablePromptFrontmatter(onboardingTemplatePromptAssetName).description,
|
|
8123
|
-
templatePromptAssetName: onboardingTemplatePromptAssetName
|
|
5736
|
+
...supportsOnboardingBlock(personalityId) ? {
|
|
5737
|
+
onboarding: {
|
|
5738
|
+
value: getPromptBody(onboardingTemplatePromptAssetName),
|
|
5739
|
+
description: getEditablePromptFrontmatter(onboardingTemplatePromptAssetName).description,
|
|
5740
|
+
templatePromptAssetName: onboardingTemplatePromptAssetName
|
|
8124
5741
|
}
|
|
8125
5742
|
} : {}
|
|
8126
5743
|
};
|
|
@@ -8239,8 +5856,15 @@ function assertCreateAgentOptionsSupported(options) {
|
|
|
8239
5856
|
throw new Error("App-server createAgent() does not yet support dreaming.behavior overrides.");
|
|
8240
5857
|
}
|
|
8241
5858
|
}
|
|
8242
|
-
async function createAgentBody(options) {
|
|
5859
|
+
async function createAgentBody(options, resolvedSkills) {
|
|
8243
5860
|
assertCreateAgentOptionsSupported(options);
|
|
5861
|
+
const skills = resolvedSkills ?? await resolveSkillItems(options.skills);
|
|
5862
|
+
if (skills.length > 0 && options.memfs === false) {
|
|
5863
|
+
throw new Error("createAgent() skills require the memory filesystem; remove memfs: false.");
|
|
5864
|
+
}
|
|
5865
|
+
if (resolvedSkills === undefined && skillsHaveSupportFiles(skills)) {
|
|
5866
|
+
throw new Error("This backend does not yet support skill support files (scripts/, " + "references/). Use the Cloud backend, or pass a skill with only SKILL.md.");
|
|
5867
|
+
}
|
|
8244
5868
|
let system;
|
|
8245
5869
|
if (options.systemPrompt !== undefined) {
|
|
8246
5870
|
if (typeof options.systemPrompt !== "string" || isPresetSystemPrompt(options.systemPrompt)) {
|
|
@@ -8266,7 +5890,14 @@ async function createAgentBody(options) {
|
|
|
8266
5890
|
if (options.human !== undefined) {
|
|
8267
5891
|
memoryBlocks.push({ label: "human", value: options.human });
|
|
8268
5892
|
}
|
|
8269
|
-
const
|
|
5893
|
+
for (const skill of skills) {
|
|
5894
|
+
memoryBlocks.push({
|
|
5895
|
+
label: `skills/${skill.name}`,
|
|
5896
|
+
value: skill.instructions,
|
|
5897
|
+
description: skill.description
|
|
5898
|
+
});
|
|
5899
|
+
}
|
|
5900
|
+
const hasMemoryConfiguration = options.memory !== undefined || options.persona !== undefined || options.human !== undefined || skills.length > 0;
|
|
8270
5901
|
return buildCreateAgentRequest({
|
|
8271
5902
|
personalityId: options.personality,
|
|
8272
5903
|
name: options.name,
|
|
@@ -9251,11 +6882,12 @@ class RemoteTurnCoordinator {
|
|
|
9251
6882
|
});
|
|
9252
6883
|
const success = turn.success !== undefined ? turn.success && !approvalConflict && !isFailureStopReason(stopReason) : !approvalConflict && !isFailureStopReason(stopReason);
|
|
9253
6884
|
const errorCode = approvalConflict ? "approval_conflict" : turn.errorCode ?? toSdkErrorCode(stopReason);
|
|
6885
|
+
const publicError = errorCode && errorCode !== "error" ? errorCode : turn.detail ?? stopReason ?? "error";
|
|
9254
6886
|
return {
|
|
9255
6887
|
type: "result",
|
|
9256
6888
|
success,
|
|
9257
6889
|
result: success ? tracker?.assistantText || undefined : undefined,
|
|
9258
|
-
error: success ? undefined :
|
|
6890
|
+
error: success ? undefined : publicError,
|
|
9259
6891
|
errorCode: success ? undefined : errorCode ?? "error",
|
|
9260
6892
|
approvalConflict: approvalConflict || undefined,
|
|
9261
6893
|
recoverable: approvalConflict ? true : success ? undefined : turn.recoverable ?? false,
|
|
@@ -9359,7 +6991,7 @@ class RemoteClientSessionCore {
|
|
|
9359
6991
|
this.runtime = init.runtime;
|
|
9360
6992
|
this._agentId = init.runtime.agent_id;
|
|
9361
6993
|
this._conversationId = init.runtime.conversation_id;
|
|
9362
|
-
this._sessionId = `${init.runtime.agent_id}:${init.runtime.conversation_id}
|
|
6994
|
+
this._sessionId = init.runtime.agent_id ? `${init.runtime.agent_id}:${init.runtime.conversation_id}` : init.runtime.conversation_id;
|
|
9363
6995
|
this._modelSettings = init.modelSettings ?? null;
|
|
9364
6996
|
this._model = typeof init.model === "string" ? init.model : typeof this._modelSettings?.model === "string" ? this._modelSettings.model : "";
|
|
9365
6997
|
this.toolNames = init.tools;
|
|
@@ -10334,8 +7966,8 @@ class AppServerSession extends RemoteClientSessionCore {
|
|
|
10334
7966
|
return {
|
|
10335
7967
|
controller: new AppServerRuntimeController(client, this.remoteOptions, allowedTools, clientToolset),
|
|
10336
7968
|
runtime: response.runtime,
|
|
10337
|
-
model: typeof response.agent?.model === "string" ? response.agent.model : "",
|
|
10338
|
-
modelSettings: objectRecord(response.agent?.model_settings) ?? null,
|
|
7969
|
+
model: typeof response.agent?.model === "string" ? response.agent.model : typeof response.conversation?.model === "string" ? response.conversation.model : "",
|
|
7970
|
+
modelSettings: objectRecord(response.agent?.model_settings) ?? objectRecord(response.conversation?.model_settings) ?? null,
|
|
10339
7971
|
...availableTools !== undefined ? { tools: availableTools } : {},
|
|
10340
7972
|
...skillSources !== undefined ? { skillSources: [...skillSources] } : {}
|
|
10341
7973
|
};
|
|
@@ -10416,6 +8048,24 @@ class AppServerSession extends RemoteClientSessionCore {
|
|
|
10416
8048
|
};
|
|
10417
8049
|
return command;
|
|
10418
8050
|
}
|
|
8051
|
+
if (this.mode.kind === "agent-free") {
|
|
8052
|
+
if (this.mode.createConversation) {
|
|
8053
|
+
const create = this.mode.createConversation;
|
|
8054
|
+
command.create_conversation = {
|
|
8055
|
+
body: {
|
|
8056
|
+
model: create.model,
|
|
8057
|
+
system: create.system,
|
|
8058
|
+
...create.modelSettings !== undefined ? { model_settings: create.modelSettings } : {},
|
|
8059
|
+
...create.contextWindowLimit !== undefined ? { context_window_limit: create.contextWindowLimit } : {}
|
|
8060
|
+
}
|
|
8061
|
+
};
|
|
8062
|
+
} else if (this.mode.conversationId) {
|
|
8063
|
+
command.conversation_id = this.mode.conversationId;
|
|
8064
|
+
} else {
|
|
8065
|
+
throw new Error("Agent-free sessions require a conversation to create or resume.");
|
|
8066
|
+
}
|
|
8067
|
+
return command;
|
|
8068
|
+
}
|
|
10419
8069
|
if (this.mode.agentId) {
|
|
10420
8070
|
command.agent_id = this.mode.agentId;
|
|
10421
8071
|
if (this.mode.newConversation) {
|
|
@@ -10481,6 +8131,20 @@ function cloudModelEntry(raw) {
|
|
|
10481
8131
|
function isNotFound(error) {
|
|
10482
8132
|
return error instanceof APIError && error.status === 404;
|
|
10483
8133
|
}
|
|
8134
|
+
function asEnqueueMessageResult(body) {
|
|
8135
|
+
if (!body || typeof body !== "object" || Array.isArray(body)) {
|
|
8136
|
+
throw new Error("Cloud enqueue message response was not an object.");
|
|
8137
|
+
}
|
|
8138
|
+
const response = body;
|
|
8139
|
+
if (typeof response.client_message_id !== "string" || typeof response.workflow_id !== "string" || typeof response.super_run_id !== "string") {
|
|
8140
|
+
throw new Error("Cloud enqueue message response did not include client_message_id, workflow_id, and super_run_id.");
|
|
8141
|
+
}
|
|
8142
|
+
return {
|
|
8143
|
+
clientMessageId: response.client_message_id,
|
|
8144
|
+
workflowId: response.workflow_id,
|
|
8145
|
+
superRunId: response.super_run_id
|
|
8146
|
+
};
|
|
8147
|
+
}
|
|
10484
8148
|
function toOrderRelativeCursors(query) {
|
|
10485
8149
|
if ((query.order ?? "desc") !== "desc")
|
|
10486
8150
|
return query;
|
|
@@ -10572,6 +8236,28 @@ class CloudManagementTransport {
|
|
|
10572
8236
|
const page = await this.client.conversations.messages.list(conversationId, toOrderRelativeCursors(query));
|
|
10573
8237
|
return { messages: page.items };
|
|
10574
8238
|
}
|
|
8239
|
+
async enqueueConversationMessage(conversationId, message, options) {
|
|
8240
|
+
const clientMessageId = options.clientMessageId ?? crypto.randomUUID();
|
|
8241
|
+
const settings = {
|
|
8242
|
+
...options.workingDirectory !== undefined ? { working_directory: options.workingDirectory } : {},
|
|
8243
|
+
...options.permissionMode !== undefined ? { permission_mode: options.permissionMode } : {}
|
|
8244
|
+
};
|
|
8245
|
+
const body = await this.client.post(`/v1/conversations/${encodeURIComponent(conversationId)}/messages/enqueue`, {
|
|
8246
|
+
body: {
|
|
8247
|
+
...options.agentId !== undefined ? { agent_id: options.agentId } : {},
|
|
8248
|
+
messages: [
|
|
8249
|
+
{
|
|
8250
|
+
role: "user",
|
|
8251
|
+
content: message,
|
|
8252
|
+
client_message_id: clientMessageId
|
|
8253
|
+
}
|
|
8254
|
+
],
|
|
8255
|
+
client_message_id: clientMessageId,
|
|
8256
|
+
...Object.keys(settings).length > 0 ? { settings } : {}
|
|
8257
|
+
}
|
|
8258
|
+
});
|
|
8259
|
+
return asEnqueueMessageResult(body);
|
|
8260
|
+
}
|
|
10575
8261
|
}
|
|
10576
8262
|
|
|
10577
8263
|
// src/remote.ts
|
|
@@ -11099,7 +8785,8 @@ function buildCloudStatusWebSocketUrl(params) {
|
|
|
11099
8785
|
throw new Error(`Unsupported cloud apiBaseUrl protocol: ${base.protocol}`);
|
|
11100
8786
|
}
|
|
11101
8787
|
base.pathname = `/v1/environments/${encodeURIComponent(params.connectionId)}/status/ws`;
|
|
11102
|
-
|
|
8788
|
+
if (params.agentId)
|
|
8789
|
+
base.searchParams.set("agentId", params.agentId);
|
|
11103
8790
|
base.searchParams.set("conversationId", params.conversationId);
|
|
11104
8791
|
base.searchParams.set("channel", "stream");
|
|
11105
8792
|
if (params.authMode === "query" && params.apiKey) {
|
|
@@ -11130,12 +8817,23 @@ function externalToolsByName(tools) {
|
|
|
11130
8817
|
}
|
|
11131
8818
|
return result;
|
|
11132
8819
|
}
|
|
11133
|
-
async function createCloudAgent(client, agentOptions) {
|
|
11134
|
-
const
|
|
8820
|
+
async function createCloudAgent(client, agentOptions, pushSkillSupportFiles) {
|
|
8821
|
+
const skills = await resolveSkillItems(agentOptions.skills);
|
|
8822
|
+
const hasSupportFiles = skillsHaveSupportFiles(skills);
|
|
8823
|
+
if (hasSupportFiles && pushSkillSupportFiles === undefined) {
|
|
8824
|
+
throw new Error("Skill support files (scripts/, references/) require the Node.js " + "package root; the portable client seeds SKILL.md-only skills.");
|
|
8825
|
+
}
|
|
8826
|
+
const body = await createAgentBody(agentOptions, skills);
|
|
11135
8827
|
const agent = await client.agents.create(body);
|
|
11136
8828
|
if (typeof agent.id !== "string" || agent.id.length === 0) {
|
|
11137
8829
|
throw new Error("Cloud create agent response did not include an agent id.");
|
|
11138
8830
|
}
|
|
8831
|
+
if (hasSupportFiles && pushSkillSupportFiles) {
|
|
8832
|
+
if (typeof client.apiKey !== "string" || client.apiKey.length === 0) {
|
|
8833
|
+
throw new Error(`Agent ${agent.id} was created, but skill support files need an API ` + "key to push to the agent's memory repo and none is configured.");
|
|
8834
|
+
}
|
|
8835
|
+
await pushSkillSupportFiles({ apiBaseUrl: client.baseURL, apiKey: client.apiKey, agentId: agent.id }, skills);
|
|
8836
|
+
}
|
|
11139
8837
|
return agent.id;
|
|
11140
8838
|
}
|
|
11141
8839
|
function assertCloudSessionOptionsSupported(action, options) {
|
|
@@ -11185,7 +8883,9 @@ class CloudEnvironmentSession extends RemoteClientSessionCore {
|
|
|
11185
8883
|
this.sandboxLifecycleClosing = false;
|
|
11186
8884
|
const resolved = await this.resolveRuntime();
|
|
11187
8885
|
const connection = await this.resolveConnectionForRuntime(resolved.runtime).catch(async (error) => {
|
|
11188
|
-
|
|
8886
|
+
if (resolved.runtime.agent_id) {
|
|
8887
|
+
await this.cleanupSessionRepositories(resolved.runtime.agent_id, resolved.runtime.conversation_id);
|
|
8888
|
+
}
|
|
11189
8889
|
throw error;
|
|
11190
8890
|
});
|
|
11191
8891
|
this.connectionId = connection.connectionId;
|
|
@@ -11202,7 +8902,9 @@ class CloudEnvironmentSession extends RemoteClientSessionCore {
|
|
|
11202
8902
|
} catch (error) {
|
|
11203
8903
|
await this.closeMcpBridge();
|
|
11204
8904
|
await this.cleanupManagedSandbox();
|
|
11205
|
-
|
|
8905
|
+
if (resolved.runtime.agent_id) {
|
|
8906
|
+
await this.cleanupSessionRepositories(resolved.runtime.agent_id, resolved.runtime.conversation_id);
|
|
8907
|
+
}
|
|
11206
8908
|
throw error;
|
|
11207
8909
|
}
|
|
11208
8910
|
}
|
|
@@ -11226,8 +8928,8 @@ class CloudEnvironmentSession extends RemoteClientSessionCore {
|
|
|
11226
8928
|
requestTimeoutMs: this.cloudOptions.requestTimeoutMs ?? DEFAULT_TURN_TIMEOUT_MS
|
|
11227
8929
|
}, allowedTools, clientToolset),
|
|
11228
8930
|
runtime: response.runtime,
|
|
11229
|
-
model: typeof response.agent?.model === "string" ? response.agent.model : "",
|
|
11230
|
-
modelSettings: response.agent?.model_settings ?? null,
|
|
8931
|
+
model: typeof response.agent?.model === "string" ? response.agent.model : typeof response.conversation?.model === "string" ? response.conversation.model : "",
|
|
8932
|
+
modelSettings: response.agent?.model_settings ?? response.conversation?.model_settings ?? null,
|
|
11231
8933
|
...availableTools !== undefined ? { tools: availableTools } : {},
|
|
11232
8934
|
...skillSources !== undefined ? { skillSources: [...skillSources] } : {}
|
|
11233
8935
|
};
|
|
@@ -11340,11 +9042,12 @@ class CloudEnvironmentSession extends RemoteClientSessionCore {
|
|
|
11340
9042
|
name: SDK_AGENT_ORIGIN,
|
|
11341
9043
|
title: "Letta Agent SDK"
|
|
11342
9044
|
},
|
|
11343
|
-
agent_id: runtime.agent_id,
|
|
11344
9045
|
conversation_id: runtime.conversation_id,
|
|
11345
9046
|
recover_approvals: false,
|
|
11346
9047
|
force_device_status: true
|
|
11347
9048
|
};
|
|
9049
|
+
if (runtime.agent_id)
|
|
9050
|
+
command.agent_id = runtime.agent_id;
|
|
11348
9051
|
const mode = mapPermissionMode(options.permissionMode);
|
|
11349
9052
|
if (mode)
|
|
11350
9053
|
command.mode = mode;
|
|
@@ -11415,6 +9118,17 @@ class CloudEnvironmentSession extends RemoteClientSessionCore {
|
|
|
11415
9118
|
return bridge?.close() ?? Promise.resolve();
|
|
11416
9119
|
}
|
|
11417
9120
|
async resolveRuntime() {
|
|
9121
|
+
if (this.cloudMode.kind === "agent-free") {
|
|
9122
|
+
if (!this.cloudMode.conversationId) {
|
|
9123
|
+
throw new Error("Cloud agent-free sessions require a conversation id.");
|
|
9124
|
+
}
|
|
9125
|
+
return {
|
|
9126
|
+
runtime: {
|
|
9127
|
+
agent_id: null,
|
|
9128
|
+
conversation_id: this.cloudMode.conversationId
|
|
9129
|
+
}
|
|
9130
|
+
};
|
|
9131
|
+
}
|
|
11418
9132
|
let agentId = this.cloudMode.agentId;
|
|
11419
9133
|
let conversationId = this.cloudMode.conversationId;
|
|
11420
9134
|
if (!agentId && conversationId) {
|
|
@@ -11560,6 +9274,9 @@ class CloudEnvironmentSession extends RemoteClientSessionCore {
|
|
|
11560
9274
|
return { connectionId: resolved.connectionId };
|
|
11561
9275
|
}
|
|
11562
9276
|
async createManagedSandboxConnection(runtime) {
|
|
9277
|
+
if (!runtime.agent_id) {
|
|
9278
|
+
throw new Error("Agent-free queries require an explicit Cloud computer; managed sandboxes are agent-scoped.");
|
|
9279
|
+
}
|
|
11563
9280
|
const conversationId = runtime.conversation_id && runtime.conversation_id !== "default" ? runtime.conversation_id : undefined;
|
|
11564
9281
|
const sandbox = await this.createManagedSandbox(runtime.agent_id, conversationId);
|
|
11565
9282
|
this.managedSandbox = sandbox;
|
|
@@ -11845,10 +9562,53 @@ function createConversationsClient(transport) {
|
|
|
11845
9562
|
}
|
|
11846
9563
|
return await transport().forkConversation(sourceConversationId, conversationForkQuery(options));
|
|
11847
9564
|
},
|
|
11848
|
-
listMessages: (conversationId, options = {}) => transport().listConversationMessages(conversationId, conversationMessagesQuery(options))
|
|
9565
|
+
listMessages: (conversationId, options = {}) => transport().listConversationMessages(conversationId, conversationMessagesQuery(options)),
|
|
9566
|
+
enqueue: async (conversationId, message, options = {}) => {
|
|
9567
|
+
assertNonEmptyId2(conversationId, "conversation id");
|
|
9568
|
+
if (conversationId.trim() === "default" && !options.agentId) {
|
|
9569
|
+
throw new Error('enqueue("default", ...) requires options.agentId to identify the agent.');
|
|
9570
|
+
}
|
|
9571
|
+
if (options.agentId !== undefined) {
|
|
9572
|
+
assertNonEmptyId2(options.agentId, "agent id");
|
|
9573
|
+
}
|
|
9574
|
+
if (options.clientMessageId !== undefined) {
|
|
9575
|
+
assertNonEmptyId2(options.clientMessageId, "client message id");
|
|
9576
|
+
}
|
|
9577
|
+
return await transport().enqueueConversationMessage(conversationId, message, options);
|
|
9578
|
+
}
|
|
11849
9579
|
};
|
|
11850
9580
|
}
|
|
11851
9581
|
|
|
9582
|
+
// src/query.ts
|
|
9583
|
+
function createQuery(createSession, params) {
|
|
9584
|
+
let session = null;
|
|
9585
|
+
let closed = false;
|
|
9586
|
+
const iterator = async function* runQuery() {
|
|
9587
|
+
try {
|
|
9588
|
+
session = await createSession(params.options);
|
|
9589
|
+
if (closed)
|
|
9590
|
+
return;
|
|
9591
|
+
await session.send(params.prompt);
|
|
9592
|
+
yield* session.stream();
|
|
9593
|
+
} finally {
|
|
9594
|
+
closed = true;
|
|
9595
|
+
session?.close();
|
|
9596
|
+
}
|
|
9597
|
+
}();
|
|
9598
|
+
return Object.assign(iterator, {
|
|
9599
|
+
async interrupt() {
|
|
9600
|
+
await session?.abort();
|
|
9601
|
+
},
|
|
9602
|
+
close() {
|
|
9603
|
+
if (closed)
|
|
9604
|
+
return;
|
|
9605
|
+
closed = true;
|
|
9606
|
+
session?.close();
|
|
9607
|
+
iterator.return();
|
|
9608
|
+
}
|
|
9609
|
+
});
|
|
9610
|
+
}
|
|
9611
|
+
|
|
11852
9612
|
// src/validation.ts
|
|
11853
9613
|
var VALID_SKILL_SOURCES = [
|
|
11854
9614
|
"bundled",
|
|
@@ -12074,6 +9834,24 @@ function hasCreateAgentEnvironment(options) {
|
|
|
12074
9834
|
function looksLikeConversationId(id) {
|
|
12075
9835
|
return id.startsWith("conv-") || id.startsWith("local-conv-");
|
|
12076
9836
|
}
|
|
9837
|
+
function agentFreeSessionOptions(options) {
|
|
9838
|
+
const {
|
|
9839
|
+
system: _system,
|
|
9840
|
+
modelSettings: _modelSettings,
|
|
9841
|
+
contextWindowLimit: _contextWindowLimit,
|
|
9842
|
+
...sessionOptions
|
|
9843
|
+
} = options;
|
|
9844
|
+
return sessionOptions;
|
|
9845
|
+
}
|
|
9846
|
+
function validateAgentFreeQueryOptions(options) {
|
|
9847
|
+
if (typeof options.model !== "string" || options.model.length === 0) {
|
|
9848
|
+
throw new Error("query() requires a non-empty model.");
|
|
9849
|
+
}
|
|
9850
|
+
if (typeof options.system !== "string") {
|
|
9851
|
+
throw new Error("query() requires a system prompt.");
|
|
9852
|
+
}
|
|
9853
|
+
validateCreateSessionOptions(agentFreeSessionOptions(options));
|
|
9854
|
+
}
|
|
12077
9855
|
|
|
12078
9856
|
class LettaAgentClientBase {
|
|
12079
9857
|
backend;
|
|
@@ -12148,6 +9926,11 @@ class LettaAgentClientBase {
|
|
|
12148
9926
|
throw new Error("createAgent() does not accept environment. Set a client default or pass environment to resumeSession()/createSession().");
|
|
12149
9927
|
}
|
|
12150
9928
|
validateCreateAgentOptions(options);
|
|
9929
|
+
if (options.skills !== undefined && options.skills.length > 0) {
|
|
9930
|
+
const nodeSupport = this.skillNodeSupport();
|
|
9931
|
+
const skills = await resolveSkillItems(options.skills, nodeSupport?.loadSkillDirectory);
|
|
9932
|
+
options = { ...options, skills };
|
|
9933
|
+
}
|
|
12151
9934
|
if (this.backend === "remote") {
|
|
12152
9935
|
const session = new AppServerSession(this.appServerSessionOptions(), {
|
|
12153
9936
|
kind: "create-agent",
|
|
@@ -12155,10 +9938,13 @@ class LettaAgentClientBase {
|
|
|
12155
9938
|
});
|
|
12156
9939
|
const initMsg = await session.initialize();
|
|
12157
9940
|
session.close();
|
|
9941
|
+
if (!initMsg.agentId) {
|
|
9942
|
+
throw new Error("App Server agent creation did not return an agent id.");
|
|
9943
|
+
}
|
|
12158
9944
|
return initMsg.agentId;
|
|
12159
9945
|
}
|
|
12160
9946
|
if (this.backend === "cloud") {
|
|
12161
|
-
return createCloudAgent(this.getCloudClient(), options);
|
|
9947
|
+
return createCloudAgent(this.getCloudClient(), options, this.skillNodeSupport()?.pushSkillSupportFiles);
|
|
12162
9948
|
}
|
|
12163
9949
|
return this.createLocalAgent(options);
|
|
12164
9950
|
}
|
|
@@ -12231,6 +10017,50 @@ class LettaAgentClientBase {
|
|
|
12231
10017
|
session.close();
|
|
12232
10018
|
}
|
|
12233
10019
|
}
|
|
10020
|
+
query(params) {
|
|
10021
|
+
validateAgentFreeQueryOptions(params.options);
|
|
10022
|
+
return createQuery((options) => this.createAgentFreeSession(options), params);
|
|
10023
|
+
}
|
|
10024
|
+
async createAgentFreeSession(options) {
|
|
10025
|
+
validateAgentFreeQueryOptions(options);
|
|
10026
|
+
const sessionOptions = agentFreeSessionOptions(options);
|
|
10027
|
+
this.assertSessionBackend("query", sessionOptions);
|
|
10028
|
+
if (this.backend === "remote") {
|
|
10029
|
+
return new AppServerSession(this.appServerSessionOptions(), {
|
|
10030
|
+
kind: "agent-free",
|
|
10031
|
+
createConversation: {
|
|
10032
|
+
model: options.model,
|
|
10033
|
+
system: options.system,
|
|
10034
|
+
...options.modelSettings !== undefined ? { modelSettings: options.modelSettings } : {},
|
|
10035
|
+
...options.contextWindowLimit !== undefined ? { contextWindowLimit: options.contextWindowLimit } : {}
|
|
10036
|
+
},
|
|
10037
|
+
options: sessionOptions
|
|
10038
|
+
});
|
|
10039
|
+
}
|
|
10040
|
+
if (this.backend === "cloud") {
|
|
10041
|
+
const computer = options.computer ?? options.environment ?? this.computer;
|
|
10042
|
+
if (computer === undefined) {
|
|
10043
|
+
throw new Error("Cloud query() requires an explicit computer; managed sandboxes are agent-scoped.");
|
|
10044
|
+
}
|
|
10045
|
+
const conversation = await this.getCloudClient().post("/v1/conversations/ephemeral", {
|
|
10046
|
+
body: {
|
|
10047
|
+
model: options.model,
|
|
10048
|
+
system: options.system,
|
|
10049
|
+
...options.modelSettings !== undefined ? { model_settings: options.modelSettings } : {},
|
|
10050
|
+
...options.contextWindowLimit !== undefined ? { context_window_limit: options.contextWindowLimit } : {}
|
|
10051
|
+
}
|
|
10052
|
+
});
|
|
10053
|
+
if (!conversation || typeof conversation !== "object" || typeof conversation.id !== "string") {
|
|
10054
|
+
throw new Error("Cloud ephemeral conversation response did not include a conversation id.");
|
|
10055
|
+
}
|
|
10056
|
+
return new CloudEnvironmentSession(this.cloudOptions(), {
|
|
10057
|
+
kind: "agent-free",
|
|
10058
|
+
conversationId: conversation.id,
|
|
10059
|
+
options: sessionOptions
|
|
10060
|
+
}, this.getCloudClient());
|
|
10061
|
+
}
|
|
10062
|
+
return this.createLocalAgentFreeSession(options, sessionOptions);
|
|
10063
|
+
}
|
|
12234
10064
|
assertSessionBackend(action, options) {
|
|
12235
10065
|
if (options.computer !== undefined && options.environment !== undefined) {
|
|
12236
10066
|
throw new Error(`${action}() cannot specify both computer and deprecated environment.`);
|
|
@@ -12295,9 +10125,15 @@ class LettaAgentClientBase {
|
|
|
12295
10125
|
createLocalAgent(_options) {
|
|
12296
10126
|
throw this.localBackendUnavailableError();
|
|
12297
10127
|
}
|
|
10128
|
+
skillNodeSupport() {
|
|
10129
|
+
return;
|
|
10130
|
+
}
|
|
12298
10131
|
createLocalSession(_agentId, _options) {
|
|
12299
10132
|
throw this.localBackendUnavailableError();
|
|
12300
10133
|
}
|
|
10134
|
+
createLocalAgentFreeSession(_queryOptions, _sessionOptions) {
|
|
10135
|
+
throw this.localBackendUnavailableError();
|
|
10136
|
+
}
|
|
12301
10137
|
resumeLocalSession(_id, _options) {
|
|
12302
10138
|
throw this.localBackendUnavailableError();
|
|
12303
10139
|
}
|
|
@@ -12894,4 +10730,4 @@ export {
|
|
|
12894
10730
|
CloudManagedSandboxExpiredError
|
|
12895
10731
|
};
|
|
12896
10732
|
|
|
12897
|
-
//# debugId=
|
|
10733
|
+
//# debugId=1BC83E9AF5BBAD2864756E2164756E21
|