@runtypelabs/cli 2.33.4 → 2.33.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.
- package/dist/index.js +273 -45
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -33038,7 +33038,7 @@ var GRANOLA_INTEGRATION = {
|
|
|
33038
33038
|
]
|
|
33039
33039
|
};
|
|
33040
33040
|
|
|
33041
|
-
// ../shared/dist/chunk-
|
|
33041
|
+
// ../shared/dist/chunk-ZUODFMLO.mjs
|
|
33042
33042
|
var DEFAULT_MODELS_FOR_NEW_ACCOUNTS = [
|
|
33043
33043
|
// Mixlayer models
|
|
33044
33044
|
{
|
|
@@ -33170,7 +33170,7 @@ var CONTEXT_STEP_TYPES = [
|
|
|
33170
33170
|
];
|
|
33171
33171
|
var FLOW_STEP_TYPES = ["prompt", ...CONTEXT_STEP_TYPES];
|
|
33172
33172
|
|
|
33173
|
-
// ../shared/dist/chunk-
|
|
33173
|
+
// ../shared/dist/chunk-ENAGUPHC.mjs
|
|
33174
33174
|
function getNestedValue(obj, path20) {
|
|
33175
33175
|
let normalizedPath = path20;
|
|
33176
33176
|
normalizedPath = normalizedPath.replace(/^\$\.?/, "");
|
|
@@ -33227,6 +33227,15 @@ var SYSTEM_VARIABLES = /* @__PURE__ */ new Set([
|
|
|
33227
33227
|
// it as undeclared and the executors don't report it as "unresolved" before
|
|
33228
33228
|
// injection runs.
|
|
33229
33229
|
"_tools",
|
|
33230
|
+
// Multi-tenancy identity vars. `createContextVariables` populates both
|
|
33231
|
+
// spread-conditionally (`_endUser` for the individual human, `_tenant` for the
|
|
33232
|
+
// customer org between `_user` and `_endUser`), and the dispatch schema
|
|
33233
|
+
// documents them — but they were missing here, so `{{_endUser.email}}` /
|
|
33234
|
+
// `{{_tenant.id}}` validated as UNDECLARED_VARIABLE_REFERENCE with a
|
|
33235
|
+
// remediation ("declare it as a flow input") that is impossible: the `inputs`
|
|
33236
|
+
// schema rejects keys starting with `_`.
|
|
33237
|
+
"_endUser",
|
|
33238
|
+
"_tenant",
|
|
33230
33239
|
...MESSAGE_VARIABLES
|
|
33231
33240
|
]);
|
|
33232
33241
|
var SECRET_REF_PATTERN = /\{\{secret:([A-Z][A-Z0-9_]*[A-Z0-9])\}\}/g;
|
|
@@ -33561,7 +33570,7 @@ function resolveFallback(parsed, context, tracking, options = {}) {
|
|
|
33561
33570
|
}
|
|
33562
33571
|
var templateEngine = new SimpleTemplateEngine();
|
|
33563
33572
|
|
|
33564
|
-
// ../shared/dist/chunk-
|
|
33573
|
+
// ../shared/dist/chunk-YF37CWRH.mjs
|
|
33565
33574
|
var jsonPatchOperationSchema = external_exports.object({
|
|
33566
33575
|
op: external_exports.enum(["add", "remove", "replace", "move", "copy", "test"]),
|
|
33567
33576
|
/** JSON Pointer (RFC 6901) into the state document. `''` addresses the root. */
|
|
@@ -33652,6 +33661,12 @@ var unifiedExecutionCompleteEventSchema = external_exports.object({
|
|
|
33652
33661
|
totalSteps: external_exports.number().optional(),
|
|
33653
33662
|
successfulSteps: external_exports.number().optional(),
|
|
33654
33663
|
failedSteps: external_exports.number().optional(),
|
|
33664
|
+
// Sibling of `success`, never a replacement: counts every top-level step that
|
|
33665
|
+
// carried a non-null `error`, INCLUDING continue-on-error swallows
|
|
33666
|
+
// (`success:true` + `error`). A strictly larger set than `failedSteps` when
|
|
33667
|
+
// any step swallowed an error under default-continue. Additive/optional —
|
|
33668
|
+
// old consumers ignore it. The API and runtime FLOW lanes both emit it.
|
|
33669
|
+
stepErrorCount: external_exports.number().optional(),
|
|
33655
33670
|
// Inline Claude Managed create dispatches return the reusable Anthropic
|
|
33656
33671
|
// agent id on the terminal frame so callers can connect on a later turn.
|
|
33657
33672
|
claudeManagedAgentId: external_exports.string().optional(),
|
|
@@ -34012,9 +34027,16 @@ var unifiedAwaitEventSchema = external_exports.object({
|
|
|
34012
34027
|
awaitedAt: external_exports.string().optional(),
|
|
34013
34028
|
origin: external_exports.enum(["webmcp", "sdk"]).optional(),
|
|
34014
34029
|
pageOrigin: external_exports.string().optional(),
|
|
34015
|
-
// Present when
|
|
34016
|
-
// server elicited input mid-tool-call
|
|
34030
|
+
// Present when the pause is an elicitation of the human: a user-configured
|
|
34031
|
+
// MCP server elicited input mid-tool-call (`mcp_elicitation`), or an external
|
|
34032
|
+
// A2A agent asked a clarification / auth question (`a2a_input_required` /
|
|
34033
|
+
// `a2a_auth_required`). Peer-controlled, display-only.
|
|
34017
34034
|
elicitation: unifiedElicitationSchema.optional(),
|
|
34035
|
+
// Present on an external A2A pause: the conversation handle the resume leg
|
|
34036
|
+
// re-enters on (`message/send` with the same `contextId` / `taskId`). The
|
|
34037
|
+
// resume ROUTES off the persisted checkpoint, never off this frame — these
|
|
34038
|
+
// are here so a client can correlate and display the paused conversation.
|
|
34039
|
+
externalAgent: unifiedExternalAgentContextSchema.optional(),
|
|
34018
34040
|
// Discriminates an AUTO-RESUMING durable pause (`crawl_pending` /
|
|
34019
34041
|
// `durable_poll`, resumed server-side by the crawl / wait-until Workflow;
|
|
34020
34042
|
// `detached`, a Claude Managed watch-budget detach — the stream ends but
|
|
@@ -34024,7 +34046,8 @@ var unifiedAwaitEventSchema = external_exports.object({
|
|
|
34024
34046
|
// render a "resume" prompt for a pause that resumes itself. Mirrors the
|
|
34025
34047
|
// JSON `pausedReason` discriminator (execution-pipeline.ts); the
|
|
34026
34048
|
// server-resumed pauses carry `crawlId` / `stepId` instead of the tool
|
|
34027
|
-
// fields
|
|
34049
|
+
// fields, and the A2A pauses (`a2a_input_required` / `a2a_auth_required`)
|
|
34050
|
+
// carry `elicitation` + `externalAgent`. UX context; never a control signal.
|
|
34028
34051
|
awaitReason: external_exports.string().optional(),
|
|
34029
34052
|
crawlId: external_exports.string().optional(),
|
|
34030
34053
|
stepId: external_exports.string().optional()
|
|
@@ -35531,6 +35554,11 @@ var recordFilterSchema = external_exports.object({
|
|
|
35531
35554
|
type: external_exports.string().min(1).max(255),
|
|
35532
35555
|
where: external_exports.union([recordFilterConditionSchema, recordFilterGroupSchema]).optional()
|
|
35533
35556
|
});
|
|
35557
|
+
var MAX_METADATA_BYTES = 256 * 1024;
|
|
35558
|
+
var MAX_MESSAGE_CONTENT_BYTES = 1024 * 1024;
|
|
35559
|
+
var MAX_MESSAGES_TOTAL_BYTES = 32 * 1024 * 1024;
|
|
35560
|
+
var encoder = new TextEncoder();
|
|
35561
|
+
var UNEVALUATED_VERDICT = Object.freeze({ status: "unevaluated" });
|
|
35534
35562
|
var contextFallbackSchema = external_exports.union([
|
|
35535
35563
|
external_exports.object({ type: external_exports.literal("retry"), delay: external_exports.number().optional() }),
|
|
35536
35564
|
external_exports.object({
|
|
@@ -39284,6 +39312,149 @@ function validateListRecordsArrayAccess(flowSteps, buckets) {
|
|
|
39284
39312
|
}
|
|
39285
39313
|
}
|
|
39286
39314
|
}
|
|
39315
|
+
var FETCH_CLASS_SWALLOWING_FEED_CODE = "FETCH_CLASS_SWALLOWING_FEED";
|
|
39316
|
+
var FETCH_CLASS_SWALLOWING_STEP_TYPES = /* @__PURE__ */ new Set(["fetch-url", "api-call", "crawl", "search"]);
|
|
39317
|
+
function errorHandlingIsUnset(errorHandling) {
|
|
39318
|
+
if (errorHandling === void 0 || errorHandling === null) return true;
|
|
39319
|
+
return isObjectRecord(errorHandling) && !errorHandling.onError;
|
|
39320
|
+
}
|
|
39321
|
+
var MAX_TEMPLATE_INTERPOLATION_SCAN_DEPTH = 16;
|
|
39322
|
+
function stripNonCodeScriptText(script, interpolationDepth = 0) {
|
|
39323
|
+
let out = "";
|
|
39324
|
+
let i = 0;
|
|
39325
|
+
while (i < script.length) {
|
|
39326
|
+
const ch = script[i];
|
|
39327
|
+
const next = script[i + 1];
|
|
39328
|
+
if (ch === "/" && next === "/") {
|
|
39329
|
+
while (i < script.length && script[i] !== "\n") i++;
|
|
39330
|
+
continue;
|
|
39331
|
+
}
|
|
39332
|
+
if (ch === "/" && next === "*") {
|
|
39333
|
+
i += 2;
|
|
39334
|
+
while (i < script.length && !(script[i] === "*" && script[i + 1] === "/")) i++;
|
|
39335
|
+
i += 2;
|
|
39336
|
+
continue;
|
|
39337
|
+
}
|
|
39338
|
+
if (ch === "'" || ch === '"') {
|
|
39339
|
+
const quote = ch;
|
|
39340
|
+
i++;
|
|
39341
|
+
while (i < script.length && script[i] !== quote) {
|
|
39342
|
+
i += script[i] === "\\" ? 2 : 1;
|
|
39343
|
+
}
|
|
39344
|
+
i++;
|
|
39345
|
+
out += " ";
|
|
39346
|
+
continue;
|
|
39347
|
+
}
|
|
39348
|
+
if (ch === "`") {
|
|
39349
|
+
i++;
|
|
39350
|
+
while (i < script.length && script[i] !== "`") {
|
|
39351
|
+
if (script[i] === "\\") {
|
|
39352
|
+
i += 2;
|
|
39353
|
+
continue;
|
|
39354
|
+
}
|
|
39355
|
+
if (script[i] === "$" && script[i + 1] === "{") {
|
|
39356
|
+
i += 2;
|
|
39357
|
+
const start = i;
|
|
39358
|
+
let depth = 1;
|
|
39359
|
+
while (i < script.length && depth > 0) {
|
|
39360
|
+
if (script[i] === "{") depth++;
|
|
39361
|
+
else if (script[i] === "}") {
|
|
39362
|
+
depth--;
|
|
39363
|
+
if (depth === 0) break;
|
|
39364
|
+
}
|
|
39365
|
+
i++;
|
|
39366
|
+
}
|
|
39367
|
+
out += interpolationDepth < MAX_TEMPLATE_INTERPOLATION_SCAN_DEPTH ? ` ${stripNonCodeScriptText(script.slice(start, i), interpolationDepth + 1)} ` : " ";
|
|
39368
|
+
i++;
|
|
39369
|
+
continue;
|
|
39370
|
+
}
|
|
39371
|
+
i++;
|
|
39372
|
+
}
|
|
39373
|
+
i++;
|
|
39374
|
+
out += " ";
|
|
39375
|
+
continue;
|
|
39376
|
+
}
|
|
39377
|
+
out += ch;
|
|
39378
|
+
i++;
|
|
39379
|
+
}
|
|
39380
|
+
return out;
|
|
39381
|
+
}
|
|
39382
|
+
function validateFetchClassSwallowingFeed(flowSteps, buckets) {
|
|
39383
|
+
const swallowingFetchOutputs = /* @__PURE__ */ new Map();
|
|
39384
|
+
const consumerPath = (step, stepIndex) => step.type === "upsert-record" ? `flowSteps[${stepIndex}].config.sourceVariable` : `flowSteps[${stepIndex}].config.script`;
|
|
39385
|
+
const findConsumedOrigin = (step, config3) => {
|
|
39386
|
+
if (step.type === "upsert-record") {
|
|
39387
|
+
const inputMode = typeof config3.inputMode === "string" ? config3.inputMode : "single";
|
|
39388
|
+
const sourceVariable = typeof config3.sourceVariable === "string" ? config3.sourceVariable : "";
|
|
39389
|
+
if (inputMode === "batch" || !sourceVariable) return null;
|
|
39390
|
+
const origin = swallowingFetchOutputs.get(sourceVariable);
|
|
39391
|
+
return origin ? { outputVariable: sourceVariable, origin } : null;
|
|
39392
|
+
}
|
|
39393
|
+
if (step.type === "transform-data") {
|
|
39394
|
+
const script = typeof config3.script === "string" ? config3.script : "";
|
|
39395
|
+
if (!script) return null;
|
|
39396
|
+
const inputMode = config3.inputMode === "variable" ? "variable" : "code";
|
|
39397
|
+
if (inputMode === "variable") {
|
|
39398
|
+
for (const { variable } of extractVariableReferences(config3)) {
|
|
39399
|
+
const classification = classifyVariableReference(variable);
|
|
39400
|
+
if (classification.namespace !== "plain" && classification.namespace !== "flow") continue;
|
|
39401
|
+
const root = classification.baseName.split(".")[0] || "";
|
|
39402
|
+
const origin = swallowingFetchOutputs.get(root);
|
|
39403
|
+
if (origin) return { outputVariable: root, origin };
|
|
39404
|
+
}
|
|
39405
|
+
return null;
|
|
39406
|
+
}
|
|
39407
|
+
if (swallowingFetchOutputs.size === 0) return null;
|
|
39408
|
+
const codeText = stripNonCodeScriptText(script);
|
|
39409
|
+
for (const [fetchVar, origin] of swallowingFetchOutputs) {
|
|
39410
|
+
const escaped = fetchVar.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
39411
|
+
if (new RegExp(`(?<![.$\\w])${escaped}(?![$\\w])`).test(codeText)) {
|
|
39412
|
+
return { outputVariable: fetchVar, origin };
|
|
39413
|
+
}
|
|
39414
|
+
}
|
|
39415
|
+
return null;
|
|
39416
|
+
}
|
|
39417
|
+
return null;
|
|
39418
|
+
};
|
|
39419
|
+
for (const [stepIndex, step] of flowSteps.entries()) {
|
|
39420
|
+
if (step.enabled === false) continue;
|
|
39421
|
+
if (!isObjectRecord(step.config)) continue;
|
|
39422
|
+
const config3 = step.config;
|
|
39423
|
+
if (step.type === "upsert-record" || step.type === "transform-data") {
|
|
39424
|
+
const consumed = findConsumedOrigin(step, config3);
|
|
39425
|
+
if (consumed) {
|
|
39426
|
+
addIssue(
|
|
39427
|
+
"warning",
|
|
39428
|
+
{
|
|
39429
|
+
code: FETCH_CLASS_SWALLOWING_FEED_CODE,
|
|
39430
|
+
message: `Step "${consumed.origin.name}" (${consumed.origin.type}) has no errorHandling set, so a failed fetch silently produces an empty result (default continue) \u2014 and its output "{{${consumed.outputVariable}}}" is read by "${step.name}" (${step.type}). An empty fetch flows through as if the API legitimately returned no rows, which can drive downstream logic, analytics, or record writes over zero data. Either set errorHandling to "fail" on "${consumed.origin.name}" (recommended when its output feeds further logic), or set it to "continue" explicitly if an empty result is expected.`,
|
|
39431
|
+
path: consumerPath(step, stepIndex),
|
|
39432
|
+
step: { index: stepIndex, name: step.name, type: step.type },
|
|
39433
|
+
details: {
|
|
39434
|
+
fetchStepIndex: consumed.origin.index,
|
|
39435
|
+
fetchStepName: consumed.origin.name,
|
|
39436
|
+
fetchStepType: consumed.origin.type,
|
|
39437
|
+
outputVariable: consumed.outputVariable
|
|
39438
|
+
}
|
|
39439
|
+
},
|
|
39440
|
+
buckets
|
|
39441
|
+
);
|
|
39442
|
+
}
|
|
39443
|
+
}
|
|
39444
|
+
const outputVar = getStepOutputVariable(step);
|
|
39445
|
+
if (outputVar) {
|
|
39446
|
+
if (FETCH_CLASS_SWALLOWING_STEP_TYPES.has(step.type) && errorHandlingIsUnset(config3.errorHandling)) {
|
|
39447
|
+
swallowingFetchOutputs.set(outputVar, {
|
|
39448
|
+
index: stepIndex,
|
|
39449
|
+
name: step.name,
|
|
39450
|
+
type: step.type
|
|
39451
|
+
});
|
|
39452
|
+
} else {
|
|
39453
|
+
swallowingFetchOutputs.delete(outputVar);
|
|
39454
|
+
}
|
|
39455
|
+
}
|
|
39456
|
+
}
|
|
39457
|
+
}
|
|
39287
39458
|
function validateDeprecatedStepTypes(flowSteps, buckets) {
|
|
39288
39459
|
for (const [stepIndex, step] of flowSteps.entries()) {
|
|
39289
39460
|
if (step.type !== "retrieve-record") continue;
|
|
@@ -39888,6 +40059,7 @@ function collectFlowStructureIssues(flowData, deps, buckets) {
|
|
|
39888
40059
|
validateConditionExpressions(flowData.flowSteps, buckets, conditionalStepsExceedingDepth);
|
|
39889
40060
|
validateToolCallStrategyMultiStep(flowData.flowSteps, buckets);
|
|
39890
40061
|
validateListRecordsArrayAccess(flowData.flowSteps, buckets);
|
|
40062
|
+
validateFetchClassSwallowingFeed(flowData.flowSteps, buckets);
|
|
39891
40063
|
validateWaitUntilPollBudget(flowData.flowSteps, buckets);
|
|
39892
40064
|
validateDeprecatedStepTypes(flowData.flowSteps, buckets);
|
|
39893
40065
|
validatePromptSystemPromptVolatility(flowData.flowSteps, buckets);
|
|
@@ -40092,11 +40264,16 @@ var PROVIDER_SECRET_SPECS = [
|
|
|
40092
40264
|
},
|
|
40093
40265
|
{
|
|
40094
40266
|
providerId: "mixlayer",
|
|
40095
|
-
// Matches open-weight models Mixlayer hosts (Qwen 3.5 family, Kimi)
|
|
40096
|
-
// explicit prefixes. Does NOT match closed Alibaba models
|
|
40097
|
-
// which route through Vercel Gateway. See
|
|
40098
|
-
// canonical predicate mirrored here.
|
|
40099
|
-
|
|
40267
|
+
// Matches open-weight models Mixlayer hosts (Qwen 3.5 family, Kimi, GLM)
|
|
40268
|
+
// plus explicit prefixes. Does NOT match closed Alibaba models
|
|
40269
|
+
// (qwen3.5-flash/plus) which route through Vercel Gateway. See
|
|
40270
|
+
// mixlayer-executor.ts for the canonical predicate mirrored here.
|
|
40271
|
+
//
|
|
40272
|
+
// `z-ai/` is Mixlayer's vendor namespace for Zhipu's GLM listings
|
|
40273
|
+
// (`z-ai/glm-5.2`). It is NOT the Vercel Gateway spelling of the same
|
|
40274
|
+
// model, which is `zai/glm-5.2` (no hyphen) and must keep routing to the
|
|
40275
|
+
// gateway — hence the exact `z-ai/` prefix rather than a looser match.
|
|
40276
|
+
matches: (m2) => m2.startsWith("mixlayer/") || m2.startsWith("modelsocket/") || m2.startsWith("qwen/") || m2.startsWith("z-ai/") || m2.startsWith("kimi-") || m2.includes("/kimi-") || /(?:^|\/)qwen3[.-]5-\d+b(?:-a\d+b)?$/i.test(m2),
|
|
40100
40277
|
secretNames: ["MIXLAYER_API_KEY"]
|
|
40101
40278
|
},
|
|
40102
40279
|
{
|
|
@@ -40384,14 +40561,16 @@ var API_INPROCESS_CAPABILITY_MATRIX = {
|
|
|
40384
40561
|
// flow lane to legacy for the common case — the opposite of runtime-primary.
|
|
40385
40562
|
// The runtime lane already carries Layer-1 resilience natively
|
|
40386
40563
|
// (`withModelCallResilience`: TTFT + idle watchdog + bounded same-model
|
|
40387
|
-
// retry — packages/runtime prompt-executor.ts),
|
|
40388
|
-
//
|
|
40389
|
-
//
|
|
40390
|
-
//
|
|
40391
|
-
//
|
|
40392
|
-
//
|
|
40393
|
-
//
|
|
40394
|
-
//
|
|
40564
|
+
// retry — packages/runtime prompt-executor.ts), and since the fallback-chain
|
|
40565
|
+
// port it ALSO synthesizes the implicit chain itself: on a retryable
|
|
40566
|
+
// platform-key failure that survives Layer 1 with no partial output, the
|
|
40567
|
+
// runtime flow engine runs the SAME shared gate and chain builder as legacy
|
|
40568
|
+
// (`shouldSynthesizePlatformDefaultFallback` / `getPlatformDefaultStallFallback`,
|
|
40569
|
+
// applied in packages/runtime flow-engine.ts) and swaps upstream/model too —
|
|
40570
|
+
// so the residual delta the original rationale described is closed.
|
|
40571
|
+
// `hasImplicitPlatformFallbackCandidate` is still computed for decision
|
|
40572
|
+
// attribution. Rollback lever: flip this bit to `true` (plus its test) to
|
|
40573
|
+
// restore the fold.
|
|
40395
40574
|
implicitPlatformFallback: false,
|
|
40396
40575
|
// §A1 parity-audit BRIDGE fold: a prompt step's `toolIds` carrying a
|
|
40397
40576
|
// reference class the runtime lane can neither materialize at export nor
|
|
@@ -40405,7 +40584,7 @@ var API_INPROCESS_CAPABILITY_MATRIX = {
|
|
|
40405
40584
|
}
|
|
40406
40585
|
};
|
|
40407
40586
|
var DURABLE_HOSTED_STEP_TYPES = /* @__PURE__ */ new Set(["wait-until", "crawl"]);
|
|
40408
|
-
var
|
|
40587
|
+
var API_DURABLE_HOSTED_CAPABILITY_MATRIX = {
|
|
40409
40588
|
...API_INPROCESS_CAPABILITY_MATRIX,
|
|
40410
40589
|
unsupportedStepTypes: API_INPROCESS_CAPABILITY_MATRIX.unsupportedStepTypes.filter(
|
|
40411
40590
|
(stepType) => !DURABLE_HOSTED_STEP_TYPES.has(stepType)
|
|
@@ -40440,11 +40619,17 @@ var VENDORED_EXPORT_CAPABILITY_MATRIX = {
|
|
|
40440
40619
|
"wait-until",
|
|
40441
40620
|
"crawl",
|
|
40442
40621
|
// ── Hosted-service / DB-backed record & email steps (BYOC §7.2). A
|
|
40443
|
-
// self-contained container has no hosted RecordStore / EmailSender
|
|
40444
|
-
//
|
|
40445
|
-
//
|
|
40446
|
-
//
|
|
40447
|
-
//
|
|
40622
|
+
// self-contained container has no hosted RecordStore / EmailSender, and S0
|
|
40623
|
+
// shows send-email / record steps fail in BOTH default and wired configs
|
|
40624
|
+
// (no Bundled mode). The Hosted ENDPOINTS themselves are now built and
|
|
40625
|
+
// mounted (`/v1/runtime/email`, `/v1/runtime/records`, `/v1/runtime/search`)
|
|
40626
|
+
// and the runtime ships `HostedEmailSender` against them — so that half of
|
|
40627
|
+
// the original graduation lever is met. What is still missing is the
|
|
40628
|
+
// fulfillment: the standard export wires no EmailSender / RecordStore (the
|
|
40629
|
+
// runtime falls back to its NoOp sender), and a Hosted client needs a
|
|
40630
|
+
// customer-supplied Runtype API key an export does not carry. Graduation
|
|
40631
|
+
// lever: wire a Hosted or Bundled RecordStore/EmailSender into the standard
|
|
40632
|
+
// export — then remove.
|
|
40448
40633
|
"send-email",
|
|
40449
40634
|
"upsert-record",
|
|
40450
40635
|
"update-record",
|
|
@@ -41186,13 +41371,6 @@ var MODEL_FAMILY_PROVIDER_IDS = {
|
|
|
41186
41371
|
"claude-opus-4": {
|
|
41187
41372
|
"vercel": "anthropic/claude-opus-4"
|
|
41188
41373
|
},
|
|
41189
|
-
"claude-opus-4-1": {
|
|
41190
|
-
"anthropic": "claude-opus-4-1-20250805",
|
|
41191
|
-
"vercel": "anthropic/claude-opus-4.1"
|
|
41192
|
-
},
|
|
41193
|
-
"claude-opus-4-1-20250805": {
|
|
41194
|
-
"anthropic": "claude-opus-4-1-20250805"
|
|
41195
|
-
},
|
|
41196
41374
|
"claude-opus-4-5": {
|
|
41197
41375
|
"anthropic": "claude-opus-4-5-20251101",
|
|
41198
41376
|
"vercel": "anthropic/claude-opus-4.5"
|
|
@@ -41215,9 +41393,6 @@ var MODEL_FAMILY_PROVIDER_IDS = {
|
|
|
41215
41393
|
"claude-opus-4-8-fast": {
|
|
41216
41394
|
"vercel": "anthropic/claude-opus-4.8-fast"
|
|
41217
41395
|
},
|
|
41218
|
-
"claude-opus-4.1": {
|
|
41219
|
-
"vercel": "anthropic/claude-opus-4.1"
|
|
41220
|
-
},
|
|
41221
41396
|
"claude-opus-4.5": {
|
|
41222
41397
|
"vercel": "anthropic/claude-opus-4.5"
|
|
41223
41398
|
},
|
|
@@ -41282,6 +41457,9 @@ var MODEL_FAMILY_PROVIDER_IDS = {
|
|
|
41282
41457
|
"deepcogito/cogito-v2-1-671b": {
|
|
41283
41458
|
"togetherai": "togetherai/deepcogito/cogito-v2-1-671b"
|
|
41284
41459
|
},
|
|
41460
|
+
"deepseek-ai/DeepSeek-V4-Flash-0731": {
|
|
41461
|
+
"togetherai": "togetherai/deepseek-ai/DeepSeek-V4-Flash-0731"
|
|
41462
|
+
},
|
|
41285
41463
|
"deepseek-ai/DeepSeek-V4-Pro": {
|
|
41286
41464
|
"togetherai": "togetherai/deepseek-ai/DeepSeek-V4-Pro"
|
|
41287
41465
|
},
|
|
@@ -41289,6 +41467,7 @@ var MODEL_FAMILY_PROVIDER_IDS = {
|
|
|
41289
41467
|
"vercel": "deepseek/deepseek-v4-flash"
|
|
41290
41468
|
},
|
|
41291
41469
|
"deepseek-v4-flash-0731": {
|
|
41470
|
+
"togetherai": "togetherai/deepseek-ai/DeepSeek-V4-Flash-0731",
|
|
41292
41471
|
"vercel": "deepseek/deepseek-v4-flash-0731"
|
|
41293
41472
|
},
|
|
41294
41473
|
"deepseek-v4-pro": {
|
|
@@ -41812,8 +41991,7 @@ var MODEL_FAMILY_PROVIDER_IDS = {
|
|
|
41812
41991
|
"vercel": "moonshotai/kimi-k2-thinking"
|
|
41813
41992
|
},
|
|
41814
41993
|
"kimi-k2-5": {
|
|
41815
|
-
"togetherai": "togetherai/moonshotai/Kimi-K2.5"
|
|
41816
|
-
"vercel": "moonshotai/kimi-k2.5"
|
|
41994
|
+
"togetherai": "togetherai/moonshotai/Kimi-K2.5"
|
|
41817
41995
|
},
|
|
41818
41996
|
"kimi-k2-6": {
|
|
41819
41997
|
"togetherai": "togetherai/moonshotai/Kimi-K2.6",
|
|
@@ -41829,9 +42007,6 @@ var MODEL_FAMILY_PROVIDER_IDS = {
|
|
|
41829
42007
|
"kimi-k2-thinking": {
|
|
41830
42008
|
"vercel": "moonshotai/kimi-k2-thinking"
|
|
41831
42009
|
},
|
|
41832
|
-
"kimi-k2.5": {
|
|
41833
|
-
"vercel": "moonshotai/kimi-k2.5"
|
|
41834
|
-
},
|
|
41835
42010
|
"kimi-k2.6": {
|
|
41836
42011
|
"vercel": "moonshotai/kimi-k2.6"
|
|
41837
42012
|
},
|
|
@@ -41863,11 +42038,17 @@ var MODEL_FAMILY_PROVIDER_IDS = {
|
|
|
41863
42038
|
"lfm2-24b-a2b": {
|
|
41864
42039
|
"togetherai": "togetherai/LiquidAI/LFM2-24B-A2B"
|
|
41865
42040
|
},
|
|
41866
|
-
"ling-3-0-flash
|
|
41867
|
-
"vercel": "inclusionai/ling-3.0-flash
|
|
42041
|
+
"ling-3-0-flash": {
|
|
42042
|
+
"vercel": "inclusionai/ling-3.0-flash"
|
|
41868
42043
|
},
|
|
41869
|
-
"ling-3
|
|
41870
|
-
"vercel": "inclusionai/ling-3.0-
|
|
42044
|
+
"ling-3-0-tiny-free": {
|
|
42045
|
+
"vercel": "inclusionai/ling-3.0-tiny-free"
|
|
42046
|
+
},
|
|
42047
|
+
"ling-3.0-flash": {
|
|
42048
|
+
"vercel": "inclusionai/ling-3.0-flash"
|
|
42049
|
+
},
|
|
42050
|
+
"ling-3.0-tiny-free": {
|
|
42051
|
+
"vercel": "inclusionai/ling-3.0-tiny-free"
|
|
41871
42052
|
},
|
|
41872
42053
|
"LiquidAI/LFM2-24B-A2B": {
|
|
41873
42054
|
"togetherai": "togetherai/LiquidAI/LFM2-24B-A2B"
|
|
@@ -41994,12 +42175,30 @@ var MODEL_FAMILY_PROVIDER_IDS = {
|
|
|
41994
42175
|
"morph-v3-large": {
|
|
41995
42176
|
"vercel": "morph/morph-v3-large"
|
|
41996
42177
|
},
|
|
42178
|
+
"muse-glimmer-30b": {
|
|
42179
|
+
"vercel": "meta/muse-glimmer-30b"
|
|
42180
|
+
},
|
|
41997
42181
|
"muse-spark-1-1": {
|
|
41998
42182
|
"vercel": "meta/muse-spark-1.1"
|
|
41999
42183
|
},
|
|
42184
|
+
"muse-spark-1-2": {
|
|
42185
|
+
"vercel": "meta/muse-spark-1.2"
|
|
42186
|
+
},
|
|
42187
|
+
"muse-spark-1-2-contributor": {
|
|
42188
|
+
"vercel": "meta/muse-spark-1.2-contributor"
|
|
42189
|
+
},
|
|
42000
42190
|
"muse-spark-1.1": {
|
|
42001
42191
|
"vercel": "meta/muse-spark-1.1"
|
|
42002
42192
|
},
|
|
42193
|
+
"muse-spark-1.2": {
|
|
42194
|
+
"vercel": "meta/muse-spark-1.2"
|
|
42195
|
+
},
|
|
42196
|
+
"muse-spark-1.2-contributor": {
|
|
42197
|
+
"vercel": "meta/muse-spark-1.2-contributor"
|
|
42198
|
+
},
|
|
42199
|
+
"namazu": {
|
|
42200
|
+
"vercel": "sakana/namazu"
|
|
42201
|
+
},
|
|
42003
42202
|
"nemotron-3-nano-30b-a3b": {
|
|
42004
42203
|
"vercel": "nvidia/nemotron-3-nano-30b-a3b"
|
|
42005
42204
|
},
|
|
@@ -42141,6 +42340,9 @@ var MODEL_FAMILY_PROVIDER_IDS = {
|
|
|
42141
42340
|
"qwen3-7-plus": {
|
|
42142
42341
|
"vercel": "alibaba/qwen3.7-plus"
|
|
42143
42342
|
},
|
|
42343
|
+
"qwen3-8-max": {
|
|
42344
|
+
"vercel": "alibaba/qwen3.8-max"
|
|
42345
|
+
},
|
|
42144
42346
|
"qwen3-coder": {
|
|
42145
42347
|
"vercel": "alibaba/qwen3-coder"
|
|
42146
42348
|
},
|
|
@@ -42229,6 +42431,9 @@ var MODEL_FAMILY_PROVIDER_IDS = {
|
|
|
42229
42431
|
"qwen3.7-plus": {
|
|
42230
42432
|
"vercel": "alibaba/qwen3.7-plus"
|
|
42231
42433
|
},
|
|
42434
|
+
"qwen3.8-max": {
|
|
42435
|
+
"vercel": "alibaba/qwen3.8-max"
|
|
42436
|
+
},
|
|
42232
42437
|
"rerank-v3-5": {
|
|
42233
42438
|
"vercel": "cohere/rerank-v3.5"
|
|
42234
42439
|
},
|
|
@@ -42289,6 +42494,9 @@ var MODEL_FAMILY_PROVIDER_IDS = {
|
|
|
42289
42494
|
"thinkingmachines/Inkling": {
|
|
42290
42495
|
"togetherai": "togetherai/thinkingmachines/Inkling"
|
|
42291
42496
|
},
|
|
42497
|
+
"transcribe-1": {
|
|
42498
|
+
"vercel": "fish-audio/transcribe-1"
|
|
42499
|
+
},
|
|
42292
42500
|
"trinity-large": {
|
|
42293
42501
|
"vercel": "arcee-ai/trinity-large-thinking"
|
|
42294
42502
|
},
|
|
@@ -45087,10 +45295,27 @@ var credentialProxyConfigSchema = external_exports.object({
|
|
|
45087
45295
|
});
|
|
45088
45296
|
var LOCAL_INFERENCE_PROTOCOL_VERSION = 1;
|
|
45089
45297
|
var LocalInferenceSurfaceSchema = external_exports.enum(["playground", "flows", "agents"]);
|
|
45298
|
+
var LocalModelCapabilitiesSchema = external_exports.object({
|
|
45299
|
+
streaming: external_exports.boolean(),
|
|
45300
|
+
structuredOutput: external_exports.enum(["none", "json", "json_schema"]),
|
|
45301
|
+
tools: external_exports.enum(["none", "single", "parallel"]),
|
|
45302
|
+
vision: external_exports.boolean(),
|
|
45303
|
+
maxContextTokens: external_exports.number().int().positive().optional(),
|
|
45304
|
+
maxOutputTokens: external_exports.number().int().positive().optional(),
|
|
45305
|
+
supportedSampling: external_exports.array(external_exports.enum(["temperature", "top_p", "seed"])).optional()
|
|
45306
|
+
});
|
|
45307
|
+
var LocalInferenceModelSnapshotSchema = external_exports.object({
|
|
45308
|
+
backend: external_exports.literal("ollama"),
|
|
45309
|
+
model: external_exports.string().trim().min(1).max(256),
|
|
45310
|
+
capabilities: LocalModelCapabilitiesSchema,
|
|
45311
|
+
capabilityRevision: external_exports.string().regex(/^sha256:[0-9a-f]{64}$/)
|
|
45312
|
+
});
|
|
45090
45313
|
var LocalInferenceSelectionSchema = external_exports.object({
|
|
45091
45314
|
sessionId: external_exports.string().uuid(),
|
|
45092
45315
|
model: external_exports.string().trim().min(1).max(256),
|
|
45093
45316
|
backend: external_exports.literal("ollama"),
|
|
45317
|
+
/** Optional only for protocol-v1 dashboards during the rolling upgrade. */
|
|
45318
|
+
capabilityRevision: external_exports.string().regex(/^sha256:[0-9a-f]{64}$/).optional(),
|
|
45094
45319
|
/**
|
|
45095
45320
|
* Dashboard surface that created the session. Optional during the rolling
|
|
45096
45321
|
* upgrade from protocol v1 clients; new clients always send it.
|
|
@@ -45623,7 +45848,10 @@ var DispatchRequestSchema = external_exports.union([
|
|
|
45623
45848
|
var RunFlowOptionsSchema = external_exports.object({
|
|
45624
45849
|
recordId: external_exports.string().optional(),
|
|
45625
45850
|
modelOverride: external_exports.string().optional(),
|
|
45626
|
-
variables: external_exports.record(external_exports.string(), external_exports.unknown()).optional()
|
|
45851
|
+
variables: external_exports.record(external_exports.string(), external_exports.unknown()).optional(),
|
|
45852
|
+
// Opt into making hidden context steps visible in the buffered response and
|
|
45853
|
+
// counted in the terminal counters. /v1/dispatch honors the same field.
|
|
45854
|
+
debugMode: external_exports.boolean().optional()
|
|
45627
45855
|
});
|
|
45628
45856
|
var RuntimeProxyMessageContentSchema = external_exports.union([
|
|
45629
45857
|
external_exports.string(),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@runtypelabs/cli",
|
|
3
|
-
"version": "2.33.
|
|
3
|
+
"version": "2.33.6",
|
|
4
4
|
"description": "Command-line interface for Runtype AI platform",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
"react": "^19.2.8",
|
|
27
27
|
"rosie-skills": "0.8.1",
|
|
28
28
|
"yaml": "^2.9.0",
|
|
29
|
-
"@runtypelabs/
|
|
29
|
+
"@runtypelabs/ink-components": "0.3.6",
|
|
30
30
|
"@runtypelabs/terminal-animations": "0.2.3",
|
|
31
|
-
"@runtypelabs/
|
|
31
|
+
"@runtypelabs/sdk": "7.1.0"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@modelcontextprotocol/server": "2.0.0",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"tsx": "^4.7.1",
|
|
44
44
|
"typescript": "^6.0.3",
|
|
45
45
|
"vitest": "^4.1.0",
|
|
46
|
-
"@runtypelabs/shared": "3.
|
|
46
|
+
"@runtypelabs/shared": "3.20.0"
|
|
47
47
|
},
|
|
48
48
|
"engines": {
|
|
49
49
|
"node": ">=22.12.0"
|