@runtypelabs/cli 2.56.1 → 2.56.3
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/dist/index.js +90 -44
- package/package.json +5 -5
package/dist/index.js
CHANGED
|
@@ -9871,7 +9871,7 @@ function isSupportedElicitationSchema(schema) {
|
|
|
9871
9871
|
const parsed = schemaNode.safeParse(schema);
|
|
9872
9872
|
return parsed.success && typeof parsed.data !== "boolean" && parsed.data.type === "object";
|
|
9873
9873
|
}
|
|
9874
|
-
// ../shared/dist/chunk-
|
|
9874
|
+
// ../shared/dist/chunk-CXNdCxH5.mjs
|
|
9875
9875
|
/** The Tenancy Assurance Levels, in the order `tenancyAssuranceLevelSchema` is built from. */
|
|
9876
9876
|
const TENANCY_ASSURANCE_LEVELS = [
|
|
9877
9877
|
"anonymous",
|
|
@@ -9914,7 +9914,7 @@ function identityAudienceAllowed(audience, patterns) {
|
|
|
9914
9914
|
return HOSTNAME_LABEL.test(label);
|
|
9915
9915
|
});
|
|
9916
9916
|
}
|
|
9917
|
-
// ../shared/dist/chunk-
|
|
9917
|
+
// ../shared/dist/chunk-DreMwtf_.mjs
|
|
9918
9918
|
function extractSecretReferences(template) {
|
|
9919
9919
|
const keys = /* @__PURE__ */ new Set();
|
|
9920
9920
|
let match;
|
|
@@ -10505,7 +10505,7 @@ function separateToolIds(toolIds) {
|
|
|
10505
10505
|
function isDataConnectionToolId(toolId) {
|
|
10506
10506
|
return toolId.startsWith("dc:");
|
|
10507
10507
|
}
|
|
10508
|
-
// ../shared/dist/chunk-
|
|
10508
|
+
// ../shared/dist/chunk-Bi36OeG1.mjs
|
|
10509
10509
|
/**
|
|
10510
10510
|
* The reserved model-facing name of the agent state write tool
|
|
10511
10511
|
* (`packages/runtime/src/engine/state-write-tool.ts`). The model is told to call
|
|
@@ -11539,7 +11539,7 @@ object$4({
|
|
|
11539
11539
|
externalId: string$2().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."),
|
|
11540
11540
|
importedAt: string$2().datetime({ offset: true }).optional()
|
|
11541
11541
|
});
|
|
11542
|
-
// ../shared/dist/chunk-
|
|
11542
|
+
// ../shared/dist/chunk-Ckhkn6K-.mjs
|
|
11543
11543
|
const voiceInterruptionModeSchema = _enum([
|
|
11544
11544
|
"none",
|
|
11545
11545
|
"cancel",
|
|
@@ -12918,32 +12918,65 @@ const AGENT_OUTPUT_VALIDATOR_TYPES = [
|
|
|
12918
12918
|
"no-action",
|
|
12919
12919
|
"json-schema"
|
|
12920
12920
|
];
|
|
12921
|
+
const validatorMaxBouncesSchema = number$2().int().min(0).max(10).optional();
|
|
12922
|
+
const validatorTimeoutMsSchema = number$2().int().min(1).max(3e5).optional();
|
|
12923
|
+
/** One `config.output.validators` entry: a built-in, a runtime-registered custom validator, a saved flow or a saved tool. */
|
|
12924
|
+
const agentOutputValidatorSchema = discriminatedUnion("type", [
|
|
12925
|
+
object$4({
|
|
12926
|
+
type: _enum(AGENT_OUTPUT_VALIDATOR_TYPES),
|
|
12927
|
+
maxBounces: validatorMaxBouncesSchema,
|
|
12928
|
+
/** The JSON Schema a `json-schema` validator checks the parsed final output against. */
|
|
12929
|
+
schema: record$2(string$2(), unknown()).optional()
|
|
12930
|
+
}).strict().superRefine((entry, ctx) => {
|
|
12931
|
+
if (entry.type === "json-schema" && entry.schema === void 0) ctx.addIssue({
|
|
12932
|
+
code: "custom",
|
|
12933
|
+
path: ["schema"],
|
|
12934
|
+
message: "A json-schema validator needs a schema"
|
|
12935
|
+
});
|
|
12936
|
+
if (entry.type !== "json-schema" && entry.schema !== void 0) ctx.addIssue({
|
|
12937
|
+
code: "custom",
|
|
12938
|
+
path: ["schema"],
|
|
12939
|
+
message: "Only a json-schema validator takes a schema"
|
|
12940
|
+
});
|
|
12941
|
+
}),
|
|
12942
|
+
object$4({
|
|
12943
|
+
type: literal("custom"),
|
|
12944
|
+
name: string$2().min(1).max(128),
|
|
12945
|
+
maxBounces: validatorMaxBouncesSchema,
|
|
12946
|
+
timeoutMs: validatorTimeoutMsSchema
|
|
12947
|
+
}).strict(),
|
|
12948
|
+
object$4({
|
|
12949
|
+
type: literal("flow"),
|
|
12950
|
+
flowId: string$2().min(1),
|
|
12951
|
+
outputVariable: string$2().min(1).max(128).optional(),
|
|
12952
|
+
maxBounces: validatorMaxBouncesSchema,
|
|
12953
|
+
timeoutMs: validatorTimeoutMsSchema
|
|
12954
|
+
}).strict(),
|
|
12955
|
+
object$4({
|
|
12956
|
+
type: literal("tool"),
|
|
12957
|
+
toolId: string$2().min(1),
|
|
12958
|
+
maxBounces: validatorMaxBouncesSchema,
|
|
12959
|
+
timeoutMs: validatorTimeoutMsSchema
|
|
12960
|
+
}).strict()
|
|
12961
|
+
]);
|
|
12962
|
+
/** The key a validator's bounces, failures and errors are recorded under: the built-in type, else `custom:`/`flow:`/`tool:` plus its reference. */
|
|
12963
|
+
function agentOutputValidatorKey(entry) {
|
|
12964
|
+
if (entry.type === "custom") return `custom:${entry.name}`;
|
|
12965
|
+
if (entry.type === "flow") return `flow:${entry.flowId}`;
|
|
12966
|
+
if (entry.type === "tool") return `tool:${entry.toolId}`;
|
|
12967
|
+
return entry.type;
|
|
12968
|
+
}
|
|
12921
12969
|
/** `config.output`: checks the agent loop runs on its final text before it settles. */
|
|
12922
|
-
const agentOutputConfigSchema = object$4({ validators: array(
|
|
12923
|
-
type: _enum(AGENT_OUTPUT_VALIDATOR_TYPES),
|
|
12924
|
-
maxBounces: number$2().int().min(0).max(10).optional(),
|
|
12925
|
-
/** The JSON Schema a `json-schema` validator checks the parsed final output against. */
|
|
12926
|
-
schema: record$2(string$2(), unknown()).optional()
|
|
12927
|
-
}).strict().superRefine((entry, ctx) => {
|
|
12928
|
-
if (entry.type === "json-schema" && entry.schema === void 0) ctx.addIssue({
|
|
12929
|
-
code: "custom",
|
|
12930
|
-
path: ["schema"],
|
|
12931
|
-
message: "A json-schema validator needs a schema"
|
|
12932
|
-
});
|
|
12933
|
-
if (entry.type !== "json-schema" && entry.schema !== void 0) ctx.addIssue({
|
|
12934
|
-
code: "custom",
|
|
12935
|
-
path: ["schema"],
|
|
12936
|
-
message: "Only a json-schema validator takes a schema"
|
|
12937
|
-
});
|
|
12938
|
-
})).max(AGENT_OUTPUT_VALIDATOR_TYPES.length).superRefine((entries, ctx) => {
|
|
12970
|
+
const agentOutputConfigSchema = object$4({ validators: array(agentOutputValidatorSchema).max(16).superRefine((entries, ctx) => {
|
|
12939
12971
|
const seen = /* @__PURE__ */ new Set();
|
|
12940
12972
|
for (const [index, entry] of entries.entries()) {
|
|
12941
|
-
|
|
12973
|
+
const key = agentOutputValidatorKey(entry);
|
|
12974
|
+
if (seen.has(key)) ctx.addIssue({
|
|
12942
12975
|
code: "custom",
|
|
12943
12976
|
path: [index, "type"],
|
|
12944
|
-
message: `Duplicate validator ${
|
|
12977
|
+
message: `Duplicate validator ${key}`
|
|
12945
12978
|
});
|
|
12946
|
-
seen.add(
|
|
12979
|
+
seen.add(key);
|
|
12947
12980
|
}
|
|
12948
12981
|
}).optional() }).strict();
|
|
12949
12982
|
/**
|
|
@@ -20330,6 +20363,16 @@ function collectFpoQuestionSetRefs(value, path = "") {
|
|
|
20330
20363
|
visit(value, path, 0);
|
|
20331
20364
|
return found;
|
|
20332
20365
|
}
|
|
20366
|
+
/**
|
|
20367
|
+
* Narrow an inline-agent definition to the v2 nested shape. A v2 agent carries
|
|
20368
|
+
* a top-level `config` and no top-level `model`; the flat ≤1.1 shape requires a
|
|
20369
|
+
* top-level `model` and never has `config`. An external or Claude Managed v2 agent
|
|
20370
|
+
* may omit `config`, so its `externalConfig`/`claudeManagedConfig` marks it too.
|
|
20371
|
+
*/
|
|
20372
|
+
function isNestedFpoAgent(agent) {
|
|
20373
|
+
if (!agent || typeof agent !== "object" || "model" in agent) return false;
|
|
20374
|
+
return "config" in agent || "externalConfig" in agent || "claudeManagedConfig" in agent;
|
|
20375
|
+
}
|
|
20333
20376
|
const createPolicySchema = _enum([
|
|
20334
20377
|
"create",
|
|
20335
20378
|
"skip",
|
|
@@ -20623,16 +20666,6 @@ const agentDefinitionSchemaV2 = object$4({
|
|
|
20623
20666
|
capabilities: array(fpoAgentCapabilitySchema).max(50).refine((caps) => new Set(caps.map((c) => c.toolName)).size === caps.length, { message: "capability toolName must be unique" }).optional(),
|
|
20624
20667
|
createPolicy: createPolicySchema
|
|
20625
20668
|
}).strict();
|
|
20626
|
-
/**
|
|
20627
|
-
* Narrow an inline-agent definition to the v2 nested shape. A v2 agent carries
|
|
20628
|
-
* a top-level `config` and no top-level `model`; the flat ≤1.1 shape requires a
|
|
20629
|
-
* top-level `model` and never has `config`. An external or Claude Managed v2 agent
|
|
20630
|
-
* may omit `config`, so its `externalConfig`/`claudeManagedConfig` marks it too.
|
|
20631
|
-
*/
|
|
20632
|
-
function isNestedFpoAgent(agent) {
|
|
20633
|
-
if (!agent || typeof agent !== "object" || "model" in agent) return false;
|
|
20634
|
-
return "config" in agent || "externalConfig" in agent || "claudeManagedConfig" in agent;
|
|
20635
|
-
}
|
|
20636
20669
|
const capabilitySchema = object$4({
|
|
20637
20670
|
id: string$2().min(1),
|
|
20638
20671
|
name: string$2().min(1),
|
|
@@ -22252,7 +22285,7 @@ const UNIFIED_TERMINAL_OUTCOMES = [
|
|
|
22252
22285
|
"error",
|
|
22253
22286
|
"aborted"
|
|
22254
22287
|
];
|
|
22255
|
-
// ../shared/dist/chunk-
|
|
22288
|
+
// ../shared/dist/chunk-CylpViOl.mjs
|
|
22256
22289
|
const tokensSchema$1 = object$4({
|
|
22257
22290
|
input: number$2(),
|
|
22258
22291
|
output: number$2()
|
|
@@ -22376,7 +22409,10 @@ const unifiedExecutionCompleteEventSchema = object$4({
|
|
|
22376
22409
|
code: string$2(),
|
|
22377
22410
|
message: string$2()
|
|
22378
22411
|
})).optional(),
|
|
22379
|
-
output: object$4({ validation: object$4({
|
|
22412
|
+
output: object$4({ validation: object$4({
|
|
22413
|
+
failed: array(string$2()).optional(),
|
|
22414
|
+
errored: array(string$2()).optional()
|
|
22415
|
+
}).optional() }).optional()
|
|
22380
22416
|
});
|
|
22381
22417
|
/** Terminal failure (distinct from the non-terminal `error` event). */
|
|
22382
22418
|
const unifiedExecutionErrorEventSchema = object$4({
|
|
@@ -22719,6 +22755,7 @@ const unifiedToolCompleteEventSchema = object$4({
|
|
|
22719
22755
|
success: boolean(),
|
|
22720
22756
|
result: unknown().optional(),
|
|
22721
22757
|
error: string$2().optional(),
|
|
22758
|
+
completedAt: string$2().optional(),
|
|
22722
22759
|
executionTime: number$2().optional(),
|
|
22723
22760
|
iteration: number$2().optional(),
|
|
22724
22761
|
stepId: string$2().optional(),
|
|
@@ -22918,7 +22955,7 @@ const UNIFIED_SSE_EVENT_TYPES = _unifiedTuple([
|
|
|
22918
22955
|
"ping",
|
|
22919
22956
|
"custom"
|
|
22920
22957
|
]);
|
|
22921
|
-
// ../shared/dist/chunk-
|
|
22958
|
+
// ../shared/dist/chunk-BuxVUmPs.mjs
|
|
22922
22959
|
/** {@link MediaContentPart} — mirror of the union in `../media-types`. */
|
|
22923
22960
|
const mediaAnnotationsSchema = object$4({ audience: array(_enum(["user", "assistant"])).optional() });
|
|
22924
22961
|
const mediaContentPartSchema = union([
|
|
@@ -25934,10 +25971,11 @@ Object.freeze({
|
|
|
25934
25971
|
gatewayModelId: "alibaba/qwen3-embedding-0.6b",
|
|
25935
25972
|
provider: "alibaba",
|
|
25936
25973
|
name: "qwen3-embedding-0.6b (Qwen)",
|
|
25937
|
-
description: "Qwen's small instruction-aware embedding model.
|
|
25974
|
+
description: "Qwen's small instruction-aware embedding model. Served on Workers AI, or Vercel AI Gateway on a tenant key.",
|
|
25938
25975
|
dimensions: 1024,
|
|
25939
25976
|
maxTokens: 32768,
|
|
25940
|
-
supportsDimensionsParameter: false
|
|
25977
|
+
supportsDimensionsParameter: false,
|
|
25978
|
+
workersAiModelId: "@cf/qwen/qwen3-embedding-0.6b"
|
|
25941
25979
|
})
|
|
25942
25980
|
});
|
|
25943
25981
|
Object.freeze({
|
|
@@ -26170,7 +26208,7 @@ function loadBrandConfig(env) {
|
|
|
26170
26208
|
}
|
|
26171
26209
|
loadBrandConfig();
|
|
26172
26210
|
BRAND_CONFIGS[DEFAULT_BRAND_NAME];
|
|
26173
|
-
// ../shared/dist/chunk-
|
|
26211
|
+
// ../shared/dist/chunk-DQAiGaWP.mjs
|
|
26174
26212
|
const ARCHITECTURE_PREVIEW_SURFACE_TYPES = [
|
|
26175
26213
|
"chat",
|
|
26176
26214
|
"api",
|
|
@@ -27631,6 +27669,7 @@ object$4({
|
|
|
27631
27669
|
externalTelemetryAllowed: boolean().optional(),
|
|
27632
27670
|
simulationsAvailable: boolean().optional(),
|
|
27633
27671
|
enableDelegateToRuntype: boolean().optional(),
|
|
27672
|
+
enableDelegateToOtto: boolean().optional(),
|
|
27634
27673
|
signalsConfigured: boolean().optional()
|
|
27635
27674
|
});
|
|
27636
27675
|
const SLACK_REQUIRED_BOT_SCOPES = [
|
|
@@ -56646,9 +56685,9 @@ clientTokensCommand.command("regenerate <id>").description("Regenerate a client
|
|
|
56646
56685
|
await waitUntilExit();
|
|
56647
56686
|
});
|
|
56648
56687
|
clientTokensCommand.addCommand(clientTokenEnsureCommand);
|
|
56649
|
-
// ../../node_modules/.pnpm/@runtypelabs+persona@4.
|
|
56688
|
+
// ../../node_modules/.pnpm/@runtypelabs+persona@4.34.0/node_modules/@runtypelabs/persona/dist/codegen.js
|
|
56650
56689
|
function e(e) {
|
|
56651
|
-
return e?.cdnBase?.trim().replace(/\/+$/, ``).replace(/[\\'"<>`]/g, (e) => `%${e.charCodeAt(0).toString(16).toUpperCase().padStart(2, `0`)}`) || `https://cdn.jsdelivr.net/npm/@runtypelabs/persona@4.
|
|
56690
|
+
return e?.cdnBase?.trim().replace(/\/+$/, ``).replace(/[\\'"<>`]/g, (e) => `%${e.charCodeAt(0).toString(16).toUpperCase().padStart(2, `0`)}`) || `https://cdn.jsdelivr.net/npm/@runtypelabs/persona@4.34.0/dist`;
|
|
56652
56691
|
}
|
|
56653
56692
|
function t(e) {
|
|
56654
56693
|
if (e !== void 0) return typeof e == `string` ? e : Array.isArray(e) ? `[${e.map((e) => e.toString()).join(`, `)}]` : e.toString();
|
|
@@ -69071,7 +69110,7 @@ const productKindSchema = _enum([
|
|
|
69071
69110
|
"external",
|
|
69072
69111
|
"spec_only"
|
|
69073
69112
|
]);
|
|
69074
|
-
// ../shared/dist/chunk-
|
|
69113
|
+
// ../shared/dist/chunk-BM4DAX8-.mjs
|
|
69075
69114
|
const amount = number$2().finite().nonnegative();
|
|
69076
69115
|
const tokens = amount.int();
|
|
69077
69116
|
/** Producer estimates for one turn, independent of Runtype's measured usage and billing. */
|
|
@@ -69463,11 +69502,18 @@ const toolProcessCheckSchema = discriminatedUnion("assert", [
|
|
|
69463
69502
|
assert: literal("budget"),
|
|
69464
69503
|
maxTurns: number$2().int().positive().max(1e3).optional(),
|
|
69465
69504
|
maxTokens: number$2().int().positive().optional()
|
|
69505
|
+
}),
|
|
69506
|
+
object$4({
|
|
69507
|
+
assert: literal("must_call"),
|
|
69508
|
+
/** A completed call to any one of these counts; a designed rename counts under its shown or its server name. */
|
|
69509
|
+
tools: array(toolNameSchema).min(1).max(20),
|
|
69510
|
+
/** Completed calls the listed tools must add up to; defaults to 1. */
|
|
69511
|
+
minCalls: number$2().int().positive().max(1e3).optional()
|
|
69466
69512
|
})
|
|
69467
69513
|
]);
|
|
69468
69514
|
/**
|
|
69469
69515
|
* A Simulations-only grader over how an episode used its tools: wrong tool choices, argument formats, repeated
|
|
69470
|
-
* fetches
|
|
69516
|
+
* fetches, a turn or token budget and a required call. Deterministic; eval suites refuse it.
|
|
69471
69517
|
*/
|
|
69472
69518
|
const toolProcessGraderSchema = object$4({
|
|
69473
69519
|
kind: literal("tool_process"),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@runtypelabs/cli",
|
|
3
|
-
"version": "2.56.
|
|
3
|
+
"version": "2.56.3",
|
|
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.13",
|
|
16
|
-
"@runtypelabs/sdk": "11.
|
|
16
|
+
"@runtypelabs/sdk": "11.13.1",
|
|
17
17
|
"@runtypelabs/terminal-animations": "0.2.4",
|
|
18
18
|
"add-mcp": "2.0.0",
|
|
19
19
|
"chalk": "^5.3.0",
|
|
@@ -37,9 +37,9 @@
|
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@modelcontextprotocol/server": "2.3.1",
|
|
39
39
|
"@runtypelabs/device-bridge": "0.2.5",
|
|
40
|
-
"@runtypelabs/model-execution": "0.
|
|
41
|
-
"@runtypelabs/persona": "4.
|
|
42
|
-
"@runtypelabs/shared": "3.
|
|
40
|
+
"@runtypelabs/model-execution": "0.41.1",
|
|
41
|
+
"@runtypelabs/persona": "4.34.0",
|
|
42
|
+
"@runtypelabs/shared": "3.104.3",
|
|
43
43
|
"@types/express": "^5.0.6",
|
|
44
44
|
"@types/micromatch": "^4.0.9",
|
|
45
45
|
"@types/node": "^25.3.3",
|