@runtypelabs/cli 2.59.4 → 2.59.6

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.
@@ -184,7 +184,7 @@ const productKindSchema = _enum([
184
184
  "external",
185
185
  "spec_only"
186
186
  ]);
187
- // ../shared/dist/chunk-Cf0i0FDN.mjs
187
+ // ../shared/dist/chunk-CfE8pNWb.mjs
188
188
  /** The manifest file at the root of a candidate's source bundle. */
189
189
  const CANDIDATE_MANIFEST_FILENAME = "runtype-candidate.json";
190
190
  const candidateRuntimeSchema = _enum([
@@ -532,6 +532,8 @@ const toolProcessCheckSchema = discriminatedUnion("assert", [
532
532
  format: _enum(["uuid", "uuid_keyed"]),
533
533
  /** For `uuid_keyed`, the suffixes a key may end in, such as filter operators. */
534
534
  keySuffixes: array(string().min(1).max(32).regex(/^[A-Za-z0-9]+$/)).max(20).optional(),
535
+ /** For `uuid_keyed`, a bare `<uuid>` key with no suffix also passes, for a server that reads it as a default. */
536
+ bareKeys: boolean().optional(),
535
537
  /** Count only calls that also ended in an error, for a surface that may accept the other form. */
536
538
  onlyFailed: boolean().optional(),
537
539
  max: allowedCountSchema.optional()
@@ -1503,6 +1505,7 @@ const servedBySchema = _enum([
1503
1505
  const servedByCountsSchema = partialRecord(servedBySchema, number().int().nonnegative());
1504
1506
  /** One tool call as the tool layer records it ("Agent experience", "Per-call facts in the tool layer"). */
1505
1507
  const toolCallFactsSchema = object({
1508
+ /** The native tool call id, when the target or the operator host knew one; the transcript's `toolCallId`. */
1506
1509
  callId: string().optional(),
1507
1510
  callIndex: number().int().nonnegative(),
1508
1511
  shownName: string(),
@@ -1553,6 +1556,8 @@ const toolCallFactsSchema = object({
1553
1556
  unanswered: boolean().optional(),
1554
1557
  /** Why the synthesizer answered as it did, on a synthesized call; the review panel and the judge citation read it. */
1555
1558
  rationale: string().max(500).optional(),
1559
+ /** Why a `synthesisFailed` call's synthesis failed: the refused check, `provider error: …` or `aborted`. */
1560
+ synthesisFailure: string().max(500).optional(),
1556
1561
  /** The frozen row of the suggestions the mini-agent filled into this call's designed error (D4); `exchangeId` stays the answer's. */
1557
1562
  suggestionsExchangeId: string().nullable().optional()
1558
1563
  });
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { C as BuiltInToolGroup, S as BuiltInToolCategory, a as TextContentPartSchema, d as ToolAnnotationsSchema, f as modelVisibleToolName, g as extractionFieldSchema, h as stripTrailingChars, i as ReasoningContentPartSchema, m as crawlConfigSchema, n as ImageContentPartSchema, p as FILTER_OPERATORS, t as FileContentPartSchema, w as PRODUCT_SURFACE_TYPES } from "./chunk-6uTxgdiY.js";
2
+ import { C as BuiltInToolGroup, S as BuiltInToolCategory, a as TextContentPartSchema, d as ToolAnnotationsSchema, f as modelVisibleToolName, g as extractionFieldSchema, h as stripTrailingChars, i as ReasoningContentPartSchema, m as crawlConfigSchema, n as ImageContentPartSchema, p as FILTER_OPERATORS, t as FileContentPartSchema, w as PRODUCT_SURFACE_TYPES } from "./chunk-daI6hXN9.js";
3
3
  import { C as unknown, S as union, T as toJSONSchema, _ as preprocess, a as _null, b as string, c as boolean, f as literal, h as object, i as _enum, m as number, s as array, u as discriminatedUnion, v as record } from "./chunk-BOpO6xE-.js";
4
4
  import { i as number$1, r as jsonPatchSchema } from "./chunk-BJQv9Elp.js";
5
5
  import { n as MCPServerCategory } from "./chunk-BVMhjGVe.js";
@@ -2515,7 +2515,7 @@ function loadBrandConfig(env) {
2515
2515
  }
2516
2516
  loadBrandConfig();
2517
2517
  BRAND_CONFIGS[DEFAULT_BRAND_NAME];
2518
- // ../shared/dist/chunk-C2OV6xD6.mjs
2518
+ // ../shared/dist/chunk-o0jfQu03.mjs
2519
2519
  const ARCHITECTURE_PREVIEW_SURFACE_TYPES = [
2520
2520
  "chat",
2521
2521
  "api",
@@ -71,7 +71,7 @@ const initCommand = new Command("init").description("Set up Runtype CLI with gui
71
71
  console.error(message);
72
72
  process.exit(1);
73
73
  }
74
- const { InitApp } = await import("./chunk-DwDWqSxM.js");
74
+ const { InitApp } = await import("./chunk-dJOtWsqj.js");
75
75
  const { waitUntilExit } = render(React.createElement(InitApp, {
76
76
  apiUrl: options.apiUrl,
77
77
  onComplete: () => {}
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { _ as isProductEventName, a as PRODUCT_EVENT_DEFAULT_NEXT_POLL_MS, i as PRODUCT_EVENT_CURSOR_PATTERN, o as PRODUCT_EVENT_MAX_WAIT_MS, s as PRODUCT_EVENT_NAMES } from "./chunk-ucu5lrDZ.js";
2
+ import { _ as isProductEventName, a as PRODUCT_EVENT_DEFAULT_NEXT_POLL_MS, i as PRODUCT_EVENT_CURSOR_PATTERN, o as PRODUCT_EVENT_MAX_WAIT_MS, s as PRODUCT_EVENT_NAMES } from "./chunk-B9jVbuiZ.js";
3
3
  import { i as getApiUrl, r as createCliClient } from "./chunk-BW2fg46T.js";
4
4
  import { n as ensureAuth } from "./chunk-CJraEBVd.js";
5
5
  import { Command } from "commander";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { t as isTTY } from "./index.js";
3
3
  import { ConfirmPrompt, DataList, EntityCard, MutationResult, React, render, useEffect, useState } from "./chunk-CoAWdSiE.js";
4
- import { y as neutralizeCsvFormula } from "./chunk-ucu5lrDZ.js";
4
+ import { y as neutralizeCsvFormula } from "./chunk-B9jVbuiZ.js";
5
5
  import { r as createCliClient } from "./chunk-BW2fg46T.js";
6
6
  import { n as ensureAuth } from "./chunk-CJraEBVd.js";
7
7
  import { a as printJson, r as getTotalCount, s as printNextCursorHint } from "./chunk-CcFCyqbB.js";
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { a as printJson } from "./chunk-CcFCyqbB.js";
3
- import { n as addExecutionInputOptions, r as resolveExecutionInput, t as runExecution } from "./chunk-Cs4pwCQ-.js";
3
+ import { n as addExecutionInputOptions, r as resolveExecutionInput, t as runExecution } from "./chunk-D9EgwoD_.js";
4
4
  import { t as buildAgentVersionSelector } from "./chunk-BxNJgYbE.js";
5
5
  import { Command } from "commander";
6
6
  import chalk from "chalk";
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { t as isTTY } from "./index.js";
3
3
  import { ConfirmPrompt, DataList, EntityCard, MutationResult, React, render, useEffect, useState } from "./chunk-CoAWdSiE.js";
4
- import "./chunk-6uTxgdiY.js";
4
+ import "./chunk-daI6hXN9.js";
5
5
  import { r as createCliClient } from "./chunk-BW2fg46T.js";
6
6
  import { n as ensureAuth } from "./chunk-CJraEBVd.js";
7
7
  import { a as printJson, i as printDetail, n as buildListParams, r as getTotalCount, s as printNextCursorHint } from "./chunk-CcFCyqbB.js";
8
- import { taskCommand } from "./chunk-ZCTfmOs7.js";
8
+ import { taskCommand } from "./chunk-wTGNGQeY.js";
9
9
  import { t as readJsonFile } from "./chunk-DGv7X9S_.js";
10
- import { n as addExecutionInputOptions, r as resolveExecutionInput, t as runExecution } from "./chunk-Cs4pwCQ-.js";
10
+ import { n as addExecutionInputOptions, r as resolveExecutionInput, t as runExecution } from "./chunk-D9EgwoD_.js";
11
11
  import { f as writePulledDefinition, o as agentSkillsCommand } from "./chunk-BirUxTtH.js";
12
12
  import { r as describeAgentExportFailure, t as agentReleaseSelectorParams } from "./chunk-87nRnNRG.js";
13
13
  import { t as buildAgentVersionSelector } from "./chunk-BxNJgYbE.js";
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { v as managedDeploymentCreateRequestSchema } from "./chunk-ucu5lrDZ.js";
2
+ import { v as managedDeploymentCreateRequestSchema } from "./chunk-B9jVbuiZ.js";
3
3
  import { r as createCliClient } from "./chunk-BW2fg46T.js";
4
4
  import { n as ensureAuth } from "./chunk-CJraEBVd.js";
5
5
  import { a as printJson } from "./chunk-CcFCyqbB.js";
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { t as isTTY } from "./index.js";
3
3
  import { DataList, EntityCard, MutationResult, React, render, useEffect, useState } from "./chunk-CoAWdSiE.js";
4
- import { p as buildDashboardUrl } from "./chunk-ucu5lrDZ.js";
4
+ import { p as buildDashboardUrl } from "./chunk-B9jVbuiZ.js";
5
5
  import { r as createCliClient, s as getDashboardUrl } from "./chunk-BW2fg46T.js";
6
6
  import { n as ensureAuth } from "./chunk-CJraEBVd.js";
7
7
  import { a as printJson, i as printDetail, n as buildListParams, r as getTotalCount, s as printNextCursorHint } from "./chunk-CcFCyqbB.js";
8
8
  import { t as readJsonFile } from "./chunk-DGv7X9S_.js";
9
9
  import { c as buildEntityPullCommand, d as productPullFpoCommand, r as PRODUCT_ENSURE_SPEC, s as buildEntityEnsureCommand, u as productEnsureFpoCommand } from "./chunk-BirUxTtH.js";
10
- import { t as getCurrentAccountId } from "./chunk-BV-8isOd.js";
10
+ import { t as getCurrentAccountId } from "./chunk-DT8f26ha.js";
11
11
  import { n as validateQuickStartUrl, t as createQuickStartProduct } from "./chunk-i7DwkvvD.js";
12
12
  import { Command } from "commander";
13
13
  import chalk from "chalk";
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { g as isOwnExecutionFrame } from "./chunk-ucu5lrDZ.js";
2
+ import { g as isOwnExecutionFrame } from "./chunk-B9jVbuiZ.js";
3
3
  import { r as createCliClient } from "./chunk-BW2fg46T.js";
4
4
  import { n as ensureAuth } from "./chunk-CJraEBVd.js";
5
5
  import { a as printJson } from "./chunk-CcFCyqbB.js";
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { b as CredentialStore, t as isTTY } from "./index.js";
3
- import { p as buildDashboardUrl } from "./chunk-ucu5lrDZ.js";
3
+ import { p as buildDashboardUrl } from "./chunk-B9jVbuiZ.js";
4
4
  import { i as getApiUrl, l as getRuntimeApiKey, n as ApiKeyValidationUnavailableError, r as createCliClient, s as getDashboardUrl, t as ApiKeyManager } from "./chunk-BW2fg46T.js";
5
5
  import { n as ensureAuth } from "./chunk-CJraEBVd.js";
6
6
  import { a as printJson } from "./chunk-CcFCyqbB.js";
7
- import { t as getCurrentAccountId } from "./chunk-BV-8isOd.js";
7
+ import { t as getCurrentAccountId } from "./chunk-DT8f26ha.js";
8
8
  import { Command } from "commander";
9
9
  import chalk from "chalk";
10
10
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { b as CredentialStore } from "./index.js";
3
- import { S as selectAccountId } from "./chunk-ucu5lrDZ.js";
3
+ import { S as selectAccountId } from "./chunk-B9jVbuiZ.js";
4
4
  import { t as ApiKeyManager } from "./chunk-BW2fg46T.js";
5
5
  // src/lib/account-context.ts
6
6
  /**
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
- import { p as buildDashboardUrl } from "./chunk-ucu5lrDZ.js";
3
- import { a as treeLogPathForStateFile, i as materializeAtHead, n as readSessionEventLog, r as loadTreeLog, t as getActiveDeploySandboxPreviewUrl } from "./chunk-ZCTfmOs7.js";
4
- import { t as getCurrentAccountId } from "./chunk-BV-8isOd.js";
2
+ import { p as buildDashboardUrl } from "./chunk-B9jVbuiZ.js";
3
+ import { a as treeLogPathForStateFile, i as materializeAtHead, n as readSessionEventLog, r as loadTreeLog, t as getActiveDeploySandboxPreviewUrl } from "./chunk-wTGNGQeY.js";
4
+ import { t as getCurrentAccountId } from "./chunk-DT8f26ha.js";
5
5
  import { t as ModelPicker } from "./chunk-CrlqIfmb.js";
6
6
  import chalk from "chalk";
7
7
  import * as fs$1 from "node:fs";
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { c as mergeZodSchemaAndSemantic, l as validateFPO, o as coerceFullProductObjectForSemanticValidation, s as fullProductObjectSchema, u as validateFPOTemplate } from "./chunk-6uTxgdiY.js";
2
+ import { c as mergeZodSchemaAndSemantic, l as validateFPO, o as coerceFullProductObjectForSemanticValidation, s as fullProductObjectSchema, u as validateFPOTemplate } from "./chunk-daI6hXN9.js";
3
3
  import { a as printJson } from "./chunk-CcFCyqbB.js";
4
4
  import { Command, Option } from "commander";
5
5
  import chalk from "chalk";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { P as getRuntypeHomeDir, b as CredentialStore, t as isTTY } from "./index.js";
3
3
  import { ConfirmPrompt, DataList, EntityCard, MutationResult, React, Text, mutationResultProps, render, useEffect, useMutationState, useState } from "./chunk-CoAWdSiE.js";
4
- import { b as pkceCodeChallengeSchema, d as apiKeyFileSlug, f as apiKeyFileUsageHint, m as isForbiddenRequestedPermission, n as API_KEY_REQUEST_MAX_TTL_SECONDS, r as API_KEY_REQUEST_POLL_INTERVAL_MS, t as API_KEY_FILE_FORMAT, u as apiKeyFileSchema, x as pkceCodeVerifierSchema } from "./chunk-ucu5lrDZ.js";
4
+ import { b as pkceCodeChallengeSchema, d as apiKeyFileSlug, f as apiKeyFileUsageHint, m as isForbiddenRequestedPermission, n as API_KEY_REQUEST_MAX_TTL_SECONDS, r as API_KEY_REQUEST_POLL_INTERVAL_MS, t as API_KEY_FILE_FORMAT, u as apiKeyFileSchema, x as pkceCodeVerifierSchema } from "./chunk-B9jVbuiZ.js";
5
5
  import { i as getApiUrl, r as createCliClient } from "./chunk-BW2fg46T.js";
6
6
  import { n as ensureAuth } from "./chunk-CJraEBVd.js";
7
7
  import { a as printJson, i as printDetail, r as getTotalCount } from "./chunk-CcFCyqbB.js";
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { b as CredentialStore } from "./index.js";
3
- import { S as selectAccountId, p as buildDashboardUrl } from "./chunk-ucu5lrDZ.js";
3
+ import { S as selectAccountId, p as buildDashboardUrl } from "./chunk-B9jVbuiZ.js";
4
4
  import { s as getDashboardUrl, t as ApiKeyManager } from "./chunk-BW2fg46T.js";
5
5
  import { n as browserLogin, r as orgMismatchWarning } from "./chunk-BnWhIqW1.js";
6
6
  import { n as validateQuickStartUrl, t as createQuickStartProduct } from "./chunk-i7DwkvvD.js";
@@ -59,7 +59,7 @@ function mergeResults(...results) {
59
59
  merged.valid = merged.errors.length === 0;
60
60
  return merged;
61
61
  }
62
- // ../shared/dist/chunk-DRY4gGEy.mjs
62
+ // ../shared/dist/chunk-gdUIvOa5.mjs
63
63
  /** Every evaluation model the gateway lists, keyed by the gateway id a call names. */
64
64
  const GATEWAY_EVALUATION_MODELS = Object.freeze({
65
65
  "baseten/elephant-1": Object.freeze({
@@ -114,6 +114,19 @@ const GATEWAY_EVALUATION_MODELS = Object.freeze({
114
114
  outputPer1MTokens: 0
115
115
  })
116
116
  }),
117
+ "google/gemini-decision-1": Object.freeze({
118
+ id: "google/gemini-decision-1",
119
+ name: "Gemini Decision 1",
120
+ description: "Gemini Decisions is Google's evaluation model for classification, routing, and scoring. It answers structured questions with Boolean probabilities, choices, and scores, returning confidence values and probability distributions to help applications interpret the results. Developers can use it to triage support requests, categorize content, and evaluate inputs against defined criteria.",
121
+ contextWindow: 262144,
122
+ supportedSpecifications: Object.freeze(["v4"]),
123
+ pricing: Object.freeze({
124
+ inputPerToken: "0.0000001",
125
+ outputPerToken: "0",
126
+ inputPer1MTokens: .1,
127
+ outputPer1MTokens: 0
128
+ })
129
+ }),
117
130
  "liquid/d1": Object.freeze({
118
131
  id: "liquid/d1",
119
132
  name: "Liquid d1",
@@ -153,6 +166,45 @@ const GATEWAY_EVALUATION_MODELS = Object.freeze({
153
166
  outputPer1MTokens: 0
154
167
  })
155
168
  }),
169
+ "nace-ai/drex-max-finance": Object.freeze({
170
+ id: "nace-ai/drex-max-finance",
171
+ name: "Drex Max Finance",
172
+ description: "Drex Max Finance is Nace AI's multimodal evaluation model for financial workflows. It answers boolean, choice, and score questions over text and images with calibrated probabilities. Its 262,144-token limit covers the whole request, including shared state, images, questions, formatting, and decision markers.",
173
+ contextWindow: 262144,
174
+ supportedSpecifications: Object.freeze(["v4"]),
175
+ pricing: Object.freeze({
176
+ inputPerToken: "0.00000003",
177
+ outputPerToken: "0",
178
+ inputPer1MTokens: .03,
179
+ outputPer1MTokens: 0
180
+ })
181
+ }),
182
+ "nace-ai/drex-max-v1.1": Object.freeze({
183
+ id: "nace-ai/drex-max-v1.1",
184
+ name: "Drex Max v1.1",
185
+ description: "Drex Max v1.1 is Nace AI's multimodal evaluation model for boolean, choice, and score questions over text and images. It returns structured answers and probability distributions. Its 262,144-token limit applies to the whole packed request, including shared state, images, all questions, formatting, and decision markers.",
186
+ contextWindow: 262144,
187
+ supportedSpecifications: Object.freeze(["v4"]),
188
+ pricing: Object.freeze({
189
+ inputPerToken: "0.00000003",
190
+ outputPerToken: "0",
191
+ inputPer1MTokens: .03,
192
+ outputPer1MTokens: 0
193
+ })
194
+ }),
195
+ "nace-ai/drex-v2.0": Object.freeze({
196
+ id: "nace-ai/drex-v2.0",
197
+ name: "Drex 2.0",
198
+ description: "Drex 2.0 is Nace AI's text evaluation model for boolean, choice, and score questions over shared text or JSON state. It returns calibrated probabilities for routing, classification, and scoring, with a 131,072-token state limit and a 262,144-token limit for the state plus the longest question.",
199
+ contextWindow: 262144,
200
+ supportedSpecifications: Object.freeze(["v4"]),
201
+ pricing: Object.freeze({
202
+ inputPerToken: "0.00000003",
203
+ outputPerToken: "0",
204
+ inputPer1MTokens: .03,
205
+ outputPer1MTokens: 0
206
+ })
207
+ }),
156
208
  "openai/gpt-6-luna-decisions": Object.freeze({
157
209
  id: "openai/gpt-6-luna-decisions",
158
210
  name: "GPT-6 Luna Decisions",
@@ -342,7 +394,7 @@ const ZodIssueCode = {
342
394
  /** @deprecated Do not use. Stub definition, only included for zod-to-json-schema compatibility. */
343
395
  var ZodFirstPartyTypeKind;
344
396
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
345
- // ../shared/dist/chunk-C6A1gsrv.mjs
397
+ // ../shared/dist/chunk-B5VqEdse.mjs
346
398
  const judgmentJsonValueSchema = lazy(() => union([
347
399
  _null(),
348
400
  string(),
@@ -3455,7 +3507,7 @@ function isToolCompatibleWithModel(toolId, modelId, provider) {
3455
3507
  if (compatibility.models.length === 0) return true;
3456
3508
  return compatibility.models.some((m) => modelId.includes(m));
3457
3509
  }
3458
- // ../shared/dist/chunk-CYZSyWdd.mjs
3510
+ // ../shared/dist/chunk-CLyQG4bc.mjs
3459
3511
  /**
3460
3512
  * Maps model families to provider-specific model IDs.
3461
3513
  * Use for routing: family + provider → exact model ID
@@ -3477,13 +3529,18 @@ const MODEL_FAMILY_PROVIDER_IDS = {
3477
3529
  "vercel": "anthropic/claude-fable-5.1"
3478
3530
  },
3479
3531
  "claude-fable-5-1-batch": { "vercel": "anthropic/claude-fable-5.1-batch" },
3480
- "claude-fable-5-2": { "vercel": "anthropic/claude-fable-5.2" },
3532
+ "claude-fable-5-2": {
3533
+ "anthropic": "claude-fable-5-2",
3534
+ "vercel": "anthropic/claude-fable-5.2"
3535
+ },
3481
3536
  "claude-fable-5-2-batch": { "vercel": "anthropic/claude-fable-5.2-batch" },
3537
+ "claude-fable-5-2-fast": { "vercel": "anthropic/claude-fable-5.2-fast" },
3482
3538
  "claude-fable-5-batch": { "vercel": "anthropic/claude-fable-5-batch" },
3483
3539
  "claude-fable-5.1": { "vercel": "anthropic/claude-fable-5.1" },
3484
3540
  "claude-fable-5.1-batch": { "vercel": "anthropic/claude-fable-5.1-batch" },
3485
3541
  "claude-fable-5.2": { "vercel": "anthropic/claude-fable-5.2" },
3486
3542
  "claude-fable-5.2-batch": { "vercel": "anthropic/claude-fable-5.2-batch" },
3543
+ "claude-fable-5.2-fast": { "vercel": "anthropic/claude-fable-5.2-fast" },
3487
3544
  "claude-haiku-4-5": {
3488
3545
  "anthropic": "claude-haiku-4-5-20251001",
3489
3546
  "vercel": "anthropic/claude-haiku-4.5"
@@ -3734,6 +3791,14 @@ const MODEL_FAMILY_PROVIDER_IDS = {
3734
3791
  "google": "gemini-4-argon",
3735
3792
  "vercel": "google/gemini-4-argon"
3736
3793
  },
3794
+ "gemini-4-carbon": {
3795
+ "google": "gemini-4-carbon",
3796
+ "vercel": "google/gemini-4-carbon"
3797
+ },
3798
+ "gemini-4-hydrogen": {
3799
+ "google": "gemini-4-hydrogen",
3800
+ "vercel": "google/gemini-4-hydrogen"
3801
+ },
3737
3802
  "gemini-embedding-001": { "google": "gemini-embedding-001" },
3738
3803
  "gemini-embedding-2": { "google": "gemini-embedding-2" },
3739
3804
  "gemini-nano-banana-2-1": { "vercel": "google/gemini-nano-banana-2.1" },
@@ -4135,11 +4200,6 @@ const MODEL_FAMILY_PROVIDER_IDS = {
4135
4200
  "lyria-3-clip-preview": { "google": "lyria-3-clip-preview" },
4136
4201
  "lyria-3-pro": { "google": "lyria-3-pro-preview" },
4137
4202
  "lyria-3-pro-preview": { "google": "lyria-3-pro-preview" },
4138
- "mercury-2": { "vercel": "inception/mercury-2" },
4139
- "mercury-2-5": { "vercel": "inception/mercury-2.5" },
4140
- "mercury-2.5": { "vercel": "inception/mercury-2.5" },
4141
- "mercury-3": { "vercel": "inception/mercury-3" },
4142
- "mercury-coder-small": { "vercel": "inception/mercury-coder-small" },
4143
4203
  "mimo-v2-6-flash": { "vercel": "xiaomi/mimo-v2.6-flash" },
4144
4204
  "mimo-v2-6-pro": { "vercel": "xiaomi/mimo-v2.6-pro" },
4145
4205
  "mimo-v2-6-pro-ultraspeed": { "vercel": "xiaomi/mimo-v2.6-pro-ultraspeed" },
@@ -4209,7 +4269,10 @@ const MODEL_FAMILY_PROVIDER_IDS = {
4209
4269
  "qwen3-5-flash": { "vercel": "alibaba/qwen3.5-flash" },
4210
4270
  "qwen3-5-plus": { "vercel": "alibaba/qwen3.5-plus" },
4211
4271
  "qwen3-6-27b": { "vercel": "alibaba/qwen3.6-27b" },
4212
- "qwen3-6-35b-a3b": { "mixlayer": "qwen/qwen3.6-35b-a3b" },
4272
+ "qwen3-6-35b-a3b": {
4273
+ "mixlayer": "qwen/qwen3.6-35b-a3b",
4274
+ "vercel": "alibaba/qwen3.6-35b-a3b"
4275
+ },
4213
4276
  "qwen3-6-plus": { "vercel": "alibaba/qwen3.6-plus" },
4214
4277
  "qwen3-7-flash": { "vercel": "alibaba/qwen3.7-flash" },
4215
4278
  "qwen3-7-max": { "vercel": "alibaba/qwen3.7-max" },
@@ -4241,7 +4304,10 @@ const MODEL_FAMILY_PROVIDER_IDS = {
4241
4304
  "qwen3.5-flash": { "vercel": "alibaba/qwen3.5-flash" },
4242
4305
  "qwen3.5-plus": { "vercel": "alibaba/qwen3.5-plus" },
4243
4306
  "qwen3.6-27b": { "vercel": "alibaba/qwen3.6-27b" },
4244
- "qwen3.6-35b-a3b": { "mixlayer": "qwen/qwen3.6-35b-a3b" },
4307
+ "qwen3.6-35b-a3b": {
4308
+ "mixlayer": "qwen/qwen3.6-35b-a3b",
4309
+ "vercel": "alibaba/qwen3.6-35b-a3b"
4310
+ },
4245
4311
  "qwen3.6-plus": { "vercel": "alibaba/qwen3.6-plus" },
4246
4312
  "qwen3.7-flash": { "vercel": "alibaba/qwen3.7-flash" },
4247
4313
  "qwen3.7-max": { "vercel": "alibaba/qwen3.7-max" },
@@ -4260,10 +4326,6 @@ const MODEL_FAMILY_PROVIDER_IDS = {
4260
4326
  "scaledown-summarize-1": { "vercel": "scaledown/scaledown-summarize-1" },
4261
4327
  "schematron-v2-small": { "vercel": "inference-net/schematron-v2-small" },
4262
4328
  "schematron-v2-turbo": { "vercel": "inference-net/schematron-v2-turbo" },
4263
- "seed-1-6": { "vercel": "bytedance/seed-1.6" },
4264
- "seed-1-8": { "vercel": "bytedance/seed-1.8" },
4265
- "seed-1.6": { "vercel": "bytedance/seed-1.6" },
4266
- "seed-1.8": { "vercel": "bytedance/seed-1.8" },
4267
4329
  "seed-2-1-turbo": { "vercel": "bytedance/seed-2.1-turbo" },
4268
4330
  "seed-2.1-turbo": { "vercel": "bytedance/seed-2.1-turbo" },
4269
4331
  "sonar": { "vercel": "perplexity/sonar" },
@@ -4325,6 +4387,9 @@ function vercelPrimary(ids, fallback = ["anthropic"]) {
4325
4387
  };
4326
4388
  return Object.fromEntries(ids.map((id) => [id, config]));
4327
4389
  }
4390
+ function vercelAliases(vercelId, ids) {
4391
+ return Object.fromEntries(ids.map((id) => [id, { vercel: vercelId }]));
4392
+ }
4328
4393
  /**
4329
4394
  * Per-id provider map for a Workers-AI-primary group. A slash-form id IS its
4330
4395
  * own Vercel gateway listing and has no generated entry, so its `vercel` id is
@@ -4358,6 +4423,16 @@ const GLM_5_3_FLASH_IDS = [
4358
4423
  "glm-5-3-flash",
4359
4424
  "zai/glm-5.3-flash"
4360
4425
  ];
4426
+ const GLM_5_3_FLASH_VERCEL_ID = "zai/glm-5.3-flash";
4427
+ const GLM_5_2_IDS = [
4428
+ "glm-5.2",
4429
+ "glm-5-2",
4430
+ "zai/glm-5.2"
4431
+ ];
4432
+ const GLM_5_2_VERCEL_ID = "zai/glm-5.2";
4433
+ const DEEPSEEK_V4_PRO_IDS = ["deepseek-v4-pro", "deepseek/deepseek-v4-pro"];
4434
+ const DEEPSEEK_V4_PRO_0813_IDS = ["deepseek-v4-pro-0813", "deepseek/deepseek-v4-pro-0813"];
4435
+ const NEMOTRON_3_SUPER_VERCEL_ID = "nvidia/nemotron-3-super-120b-a12b";
4361
4436
  const QWEN_3_8_27B_IDS = [
4362
4437
  "qwen3.8-27b",
4363
4438
  "qwen3-8-27b",
@@ -4377,9 +4452,14 @@ const PHONELLM_MINI_IDS = [
4377
4452
  "claude-haiku-5.5",
4378
4453
  "anthropic/claude-haiku-5.5"
4379
4454
  ]) }), {
4455
+ ...vercelPrimary(["kimi-k2.6", "kimi-k2.7-code"], []),
4456
+ ...vercelPrimary(["nemotron-3-120b-a12b"], [])
4457
+ }, {
4458
+ ...vercelPrimary(GLM_5_2_IDS, []),
4459
+ ...vercelPrimary([...DEEPSEEK_V4_PRO_IDS, ...DEEPSEEK_V4_PRO_0813_IDS], []),
4380
4460
  ...workersAiPrimary([...DEEPSEEK_V4_FLASH_IDS, ...DEEPSEEK_V4_1_FLASH_IDS]),
4381
4461
  ...vercelPrimary(QWEN_3_8_27B_IDS, ["mixlayer"]),
4382
- ...workersAiPrimary(GLM_5_3_FLASH_IDS),
4462
+ ...vercelPrimary(GLM_5_3_FLASH_IDS, []),
4383
4463
  ...workersAiPrimary(PHONELLM_MINI_IDS, null)
4384
4464
  };
4385
4465
  /**
@@ -4395,37 +4475,16 @@ const MANUAL_PROVIDER_MAP_OVERRIDES = {
4395
4475
  },
4396
4476
  "grok-4-fast": { "vercel": "spacexai/grok-4.20-non-reasoning" },
4397
4477
  "grok-4.1-fast-non-reasoning": { "vercel": "spacexai/grok-4.20-non-reasoning" },
4398
- "kimi-k2.6": { "workers-ai": "@cf/moonshotai/kimi-k2.6" },
4399
- "kimi-k2.7-code": { "workers-ai": "@cf/moonshotai/kimi-k2.7-code" },
4400
- "nemotron-3-120b-a12b": { "workers-ai": "@cf/nvidia/nemotron-3-120b-a12b" },
4478
+ "nemotron-3-120b-a12b": { "vercel": NEMOTRON_3_SUPER_VERCEL_ID },
4401
4479
  "gemma-4-26b-a4b-it": { "workers-ai": "@cf/google/gemma-4-26b-a4b-it" },
4402
4480
  "gpt-oss-120b": {
4403
4481
  "tinfoil": "tinfoil/gpt-oss-120b",
4404
4482
  "workers-ai": "@cf/openai/gpt-oss-120b"
4405
4483
  },
4406
4484
  "gpt-5-4-nano": { "cloudflare": "openai/gpt-5.4-nano" },
4407
- "glm-5.2": {
4408
- "workers-ai": "@cf/zai-org/glm-5.2",
4409
- "vercel": "zai/glm-5.2"
4410
- },
4411
- "glm-5-2": {
4412
- "workers-ai": "@cf/zai-org/glm-5.2",
4413
- "vercel": "zai/glm-5.2"
4414
- },
4415
- "zai/glm-5.2": {
4416
- "workers-ai": "@cf/zai-org/glm-5.2",
4417
- "vercel": "zai/glm-5.2"
4418
- },
4419
- "deepseek-v4-pro": { "workers-ai": "@cf/deepseek-ai/deepseek-v4-pro-0813" },
4420
- "deepseek-v4-pro-0813": { "workers-ai": "@cf/deepseek-ai/deepseek-v4-pro-0813" },
4421
- "deepseek/deepseek-v4-pro": {
4422
- "workers-ai": "@cf/deepseek-ai/deepseek-v4-pro-0813",
4423
- "vercel": "deepseek/deepseek-v4-pro"
4424
- },
4425
- "deepseek/deepseek-v4-pro-0813": {
4426
- "workers-ai": "@cf/deepseek-ai/deepseek-v4-pro-0813",
4427
- "vercel": "deepseek/deepseek-v4-pro-0813"
4428
- },
4485
+ ...vercelAliases(GLM_5_2_VERCEL_ID, GLM_5_2_IDS),
4486
+ ...vercelAliases("deepseek/deepseek-v4-pro", DEEPSEEK_V4_PRO_IDS),
4487
+ ...vercelAliases("deepseek/deepseek-v4-pro-0813", DEEPSEEK_V4_PRO_0813_IDS),
4429
4488
  ...Object.fromEntries([...DEEPSEEK_V4_FLASH_IDS, ...DEEPSEEK_V4_1_FLASH_IDS].map((id) => [id, {
4430
4489
  "workers-ai": DEEPSEEK_V4_1_FLASH_CF_ID,
4431
4490
  vercel: DEEPSEEK_V4_1_FLASH_VERCEL_ID
@@ -4450,7 +4509,7 @@ const MANUAL_PROVIDER_MAP_OVERRIDES = {
4450
4509
  "vercel": "anthropic/claude-haiku-5.5",
4451
4510
  "anthropic": "claude-haiku-5-5"
4452
4511
  },
4453
- ...workersAiAliases("@cf/zai-org/glm-5.3-flash", GLM_5_3_FLASH_IDS),
4512
+ ...vercelAliases(GLM_5_3_FLASH_VERCEL_ID, GLM_5_3_FLASH_IDS),
4454
4513
  ...workersAiAliases("@cf/daily-co/phonellm-mini-alpha-2", PHONELLM_MINI_IDS, { hasVercelListing: false }),
4455
4514
  "qwen/qwen3.8-27b": {
4456
4515
  "mixlayer": "qwen/qwen3.8-27b",
@@ -4700,7 +4759,7 @@ object({
4700
4759
  schemaTokens: number().int().min(0).optional(),
4701
4760
  passes: number().int().min(0).optional()
4702
4761
  });
4703
- // ../shared/dist/chunk-B1k7UGsl.mjs
4762
+ // ../shared/dist/chunk-CcsLI8BI.mjs
4704
4763
  const voiceInterruptionModeSchema = _enum([
4705
4764
  "none",
4706
4765
  "cancel",
@@ -7812,7 +7871,7 @@ const ASYNC_DISPATCH_TIMEOUT_MAX_MS = 18e5;
7812
7871
  * Pinned against wrangler config by apps/sandbox/tests/wrangler-instance-type-lockstep.test.ts.
7813
7872
  */
7814
7873
  const CONTAINER_SANDBOX_INSTANCE_TYPE = "standard-4";
7815
- // ../shared/dist/chunk-DV6rOeiL.mjs
7874
+ // ../shared/dist/chunk-C4jzavxj.mjs
7816
7875
  const unitIntervalSchema = number().min(0).max(1);
7817
7876
  /** The measured evidence for one question of a calibrated question set version. */
7818
7877
  const judgmentQuestionCalibrationSchema = object({
@@ -7968,7 +8027,7 @@ object({
7968
8027
  externalId: string().min(1).max(500).optional().describe("The conversation id in the source system. Re-creating with the same system and externalId returns the existing conversation with imported: false instead of a duplicate."),
7969
8028
  importedAt: string().datetime({ offset: true }).optional()
7970
8029
  });
7971
- // ../shared/dist/chunk-DPi-TibD.mjs
8030
+ // ../shared/dist/chunk-BJKUc65d.mjs
7972
8031
  /** Public schedule knobs shared by canonical, product-surface and FPO schedule writes. */
7973
8032
  const scheduleExecutionOptionsSchema = object({
7974
8033
  chunkSize: number().int().min(1).max(250).optional(),
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { c as TRACE_QUERY_DIMENSIONS, l as TRACE_SLICE_SPAN_KINDS } from "./chunk-ucu5lrDZ.js";
2
+ import { c as TRACE_QUERY_DIMENSIONS, l as TRACE_SLICE_SPAN_KINDS } from "./chunk-B9jVbuiZ.js";
3
3
  import { r as createCliClient } from "./chunk-BW2fg46T.js";
4
4
  import { n as ensureAuth } from "./chunk-CJraEBVd.js";
5
5
  import { a as printJson } from "./chunk-CcFCyqbB.js";
@@ -5,7 +5,7 @@ import { r as createCliClient } from "./chunk-BW2fg46T.js";
5
5
  import { n as ensureAuth } from "./chunk-CJraEBVd.js";
6
6
  import { a as printJson, i as printDetail, o as printList, r as getTotalCount, s as printNextCursorHint } from "./chunk-CcFCyqbB.js";
7
7
  import { t as readJsonFile } from "./chunk-DGv7X9S_.js";
8
- import { n as addExecutionInputOptions, r as resolveExecutionInput, t as runExecution } from "./chunk-Cs4pwCQ-.js";
8
+ import { n as addExecutionInputOptions, r as resolveExecutionInput, t as runExecution } from "./chunk-D9EgwoD_.js";
9
9
  import { c as buildEntityPullCommand, n as FLOW_ENSURE_SPEC, s as buildEntityEnsureCommand } from "./chunk-BirUxTtH.js";
10
10
  import { Command } from "commander";
11
11
  import chalk from "chalk";
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { t as ModelPicker } from "./chunk-CrlqIfmb.js";
3
- import { MarathonApp } from "./chunk-C1OFhd7F.js";
3
+ import { MarathonApp } from "./chunk-J7og7tcU.js";
4
4
  import { useEffect, useRef, useState } from "react";
5
5
  import { Box, Text, useApp, useInput, useStdout } from "ink";
6
6
  import { theme } from "@runtypelabs/ink-components";
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { C as setMarathonTitle, F as getCliVersion, L as __require, N as getMarathonStateDir, P as getRuntypeHomeDir } from "./index.js";
3
3
  import { React, enterAltScreen, loadUi, render } from "./chunk-CoAWdSiE.js";
4
- import { _ as inferModelCreator, b as getBuiltInToolById, v as formatSystemToolId, x as isToolCompatibleWithModel, y as getAllBuiltInTools } from "./chunk-6uTxgdiY.js";
5
- import { h as isNonAIProvider } from "./chunk-ucu5lrDZ.js";
4
+ import { _ as inferModelCreator, b as getBuiltInToolById, v as formatSystemToolId, x as isToolCompatibleWithModel, y as getAllBuiltInTools } from "./chunk-daI6hXN9.js";
5
+ import { h as isNonAIProvider } from "./chunk-B9jVbuiZ.js";
6
6
  import { c as getDevPlanOverride, i as getApiUrl, s as getDashboardUrl } from "./chunk-BW2fg46T.js";
7
7
  import { n as ensureAuth } from "./chunk-CJraEBVd.js";
8
8
  import { a as printJson } from "./chunk-CcFCyqbB.js";
@@ -3768,8 +3768,8 @@ async function taskAction(agent, options) {
3768
3768
  }
3769
3769
  await loadUi();
3770
3770
  const [{ MarathonApp }, { MarathonStartupShell }, { DEFAULT_MODELS: DEFAULT_STARTUP_MODELS }] = await Promise.all([
3771
- import("./chunk-C1OFhd7F.js"),
3772
- import("./chunk-CdaIvO-y.js"),
3771
+ import("./chunk-J7og7tcU.js"),
3772
+ import("./chunk-ncO2uQf4.js"),
3773
3773
  import("./chunk-CrlqIfmb.js").then((n) => n.n)
3774
3774
  ]);
3775
3775
  const useStartupShell = canUseMarathonStartupShell(options);
package/dist/index.js CHANGED
@@ -71,7 +71,7 @@ const COMMAND_REGISTRY = [
71
71
  name: "init",
72
72
  term: "init [options]",
73
73
  description: "Set up Runtype CLI with guided onboarding",
74
- load: async () => (await import("./chunk-BfEKvp7h.js")).initCommand
74
+ load: async () => (await import("./chunk-BiaJpE8S.js")).initCommand
75
75
  },
76
76
  {
77
77
  name: "login",
@@ -101,13 +101,13 @@ const COMMAND_REGISTRY = [
101
101
  name: "flows",
102
102
  term: "flows",
103
103
  description: "Manage flows",
104
- load: async () => (await import("./chunk-N9H0JnoG.js")).flowsCommand
104
+ load: async () => (await import("./chunk-kwEUMViA.js")).flowsCommand
105
105
  },
106
106
  {
107
107
  name: "records",
108
108
  term: "records",
109
109
  description: "Manage records",
110
- load: async () => (await import("./chunk-KPYN2vUp.js")).recordsCommand
110
+ load: async () => (await import("./chunk-C-9ssZzB.js")).recordsCommand
111
111
  },
112
112
  {
113
113
  name: "collections",
@@ -143,7 +143,7 @@ const COMMAND_REGISTRY = [
143
143
  name: "sandbox-deployments",
144
144
  term: "sandbox-deployments",
145
145
  description: "Author managed deployments using retained runtime profiles and uploaded source IDs",
146
- load: async () => (await import("./chunk-BWJdY5Ag.js")).sandboxDeploymentsCommand
146
+ load: async () => (await import("./chunk-D-uxUFTT.js")).sandboxDeploymentsCommand
147
147
  },
148
148
  {
149
149
  name: "tools",
@@ -167,13 +167,13 @@ const COMMAND_REGISTRY = [
167
167
  name: "products",
168
168
  term: "products",
169
169
  description: "Manage products",
170
- load: async () => (await import("./chunk-CwM_9y01.js")).productsCommand
170
+ load: async () => (await import("./chunk-D6fmuAl0.js")).productsCommand
171
171
  },
172
172
  {
173
173
  name: "dispatch",
174
174
  term: "dispatch [options]",
175
175
  description: "Execute a flow or agent via the dispatch API",
176
- load: async () => (await import("./chunk-CQrNhOtv.js")).dispatchCommand
176
+ load: async () => (await import("./chunk-CD4pXn7y.js")).dispatchCommand
177
177
  },
178
178
  {
179
179
  name: "conversations",
@@ -203,13 +203,13 @@ const COMMAND_REGISTRY = [
203
203
  name: "traces",
204
204
  term: "traces",
205
205
  description: "Mine traces: aggregate runs, read a bounded slice of one trace, compare two runs or cohorts",
206
- load: async () => (await import("./chunk-DGdFdZVf.js")).tracesCommand
206
+ load: async () => (await import("./chunk-fqgOJsK2.js")).tracesCommand
207
207
  },
208
208
  {
209
209
  name: "agents",
210
210
  term: "agents",
211
211
  description: "Manage agents",
212
- load: async () => (await import("./chunk-DSRYhUus.js")).agentsCommand
212
+ load: async () => (await import("./chunk-Cz1fluA2.js")).agentsCommand
213
213
  },
214
214
  {
215
215
  name: "models",
@@ -234,7 +234,7 @@ const COMMAND_REGISTRY = [
234
234
  aliases: ["keys"],
235
235
  term: "api-keys|keys",
236
236
  description: "Manage API keys",
237
- load: async () => (await import("./chunk-BhgLSfH6.js")).apiKeysCommand
237
+ load: async () => (await import("./chunk-Zk-o5_r7.js")).apiKeysCommand
238
238
  },
239
239
  {
240
240
  name: "client-tokens",
@@ -246,7 +246,7 @@ const COMMAND_REGISTRY = [
246
246
  name: "persona",
247
247
  term: "persona",
248
248
  description: "Set up Persona: create an agent, client token, and embed snippet",
249
- load: async () => (await import("./chunk-DJw3O61j.js")).personaCommand
249
+ load: async () => (await import("./chunk-DDL8EL7C.js")).personaCommand
250
250
  },
251
251
  {
252
252
  name: "analytics",
@@ -276,7 +276,7 @@ const COMMAND_REGISTRY = [
276
276
  name: "marathon",
277
277
  term: "marathon [options] <agent>",
278
278
  description: "Run a multi-session agent task (alias for agents task)",
279
- load: async () => (await import("./chunk-ZCTfmOs7.js")).createMarathonCommand()
279
+ load: async () => (await import("./chunk-wTGNGQeY.js")).createMarathonCommand()
280
280
  },
281
281
  {
282
282
  name: "tail",
@@ -288,13 +288,13 @@ const COMMAND_REGISTRY = [
288
288
  name: "events",
289
289
  term: "events",
290
290
  description: "Watch product events (failed executions, approvals, eval results, ...)",
291
- load: async () => (await import("./chunk-CZrqoPyf.js")).eventsCommand
291
+ load: async () => (await import("./chunk-BozvKSoV.js")).eventsCommand
292
292
  },
293
293
  {
294
294
  name: "validate-product",
295
295
  term: "validate-product [options] [input]",
296
296
  description: "Validate a product (FPO) or FPO template locally (no API call)",
297
- load: async () => (await import("./chunk-BYab8EVL.js")).validateProductCommand
297
+ load: async () => (await import("./chunk-NaMByjdC.js")).validateProductCommand
298
298
  },
299
299
  {
300
300
  name: "deploy",
@@ -358,7 +358,7 @@ const COMMAND_REGISTRY = [
358
358
  name: "simulations",
359
359
  term: "simulations",
360
360
  description: "Simulations: sandbox candidates, recorded tool exchanges and reports",
361
- load: async () => (await import("./chunk-DPuofXMp.js")).simulationsCommand
361
+ load: async () => (await import("./chunk-7lo-Y4Ss.js")).simulationsCommand
362
362
  },
363
363
  {
364
364
  name: "apps",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@runtypelabs/cli",
3
- "version": "2.59.4",
3
+ "version": "2.59.6",
4
4
  "description": "Command-line interface for Runtype AI platform",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -13,7 +13,7 @@
13
13
  "@modelcontextprotocol/core": "2.3.1",
14
14
  "@napi-rs/keyring": "2.1.0",
15
15
  "@runtypelabs/ink-components": "0.3.15",
16
- "@runtypelabs/sdk": "11.22.0",
16
+ "@runtypelabs/sdk": "11.22.1",
17
17
  "@runtypelabs/terminal-animations": "0.2.4",
18
18
  "add-mcp": "2.6.0",
19
19
  "chalk": "^5.3.0",
@@ -30,22 +30,22 @@
30
30
  "open": "^10.1.0",
31
31
  "react": "^19.2.8",
32
32
  "rosie-skills": "0.8.5",
33
- "ws": "8.21.3",
33
+ "ws": "8.22.1",
34
34
  "yaml": "^2.9.1",
35
35
  "@anthropic-ai/claude-agent-sdk": "0.3.308"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@modelcontextprotocol/server": "2.3.1",
39
39
  "@runtypelabs/device-bridge": "0.2.5",
40
- "@runtypelabs/mcp-cli": "0.4.0",
41
- "@runtypelabs/model-execution": "0.42.0",
40
+ "@runtypelabs/mcp-cli": "0.4.1",
41
+ "@runtypelabs/model-execution": "0.42.2",
42
42
  "@runtypelabs/persona": "4.34.0",
43
- "@runtypelabs/shared": "3.119.0",
43
+ "@runtypelabs/shared": "3.119.3",
44
44
  "@types/express": "^5.0.6",
45
45
  "@types/micromatch": "^4.0.9",
46
46
  "@types/node": "^25.3.3",
47
47
  "@types/react": "^19.2.18",
48
- "@types/ws": "8.18.1",
48
+ "@types/ws": "8.18.2",
49
49
  "@vitest/coverage-v8": "^5.0.5",
50
50
  "ink-testing-library": "4.0.0",
51
51
  "tsdown": "^0.23.2",