@runtypelabs/cli 2.12.6 → 2.12.8

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.
Files changed (2) hide show
  1. package/dist/index.js +66 -3
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -30590,6 +30590,9 @@ var MODEL_FAMILY_PROVIDER_IDS = {
30590
30590
  "gemini-3.1-flash-image-preview": {
30591
30591
  "vercel": "google/gemini-3.1-flash-image-preview"
30592
30592
  },
30593
+ "gemini-3.1-flash-lite": {
30594
+ "vercel": "google/gemini-3.1-flash-lite"
30595
+ },
30593
30596
  "gemini-3.1-flash-lite-preview": {
30594
30597
  "vercel": "google/gemini-3.1-flash-lite-preview"
30595
30598
  },
@@ -31027,9 +31030,6 @@ var MODEL_FAMILY_PROVIDER_IDS = {
31027
31030
  "kimi-k2": {
31028
31031
  "vercel": "moonshotai/kimi-k2-thinking"
31029
31032
  },
31030
- "kimi-k2-0905": {
31031
- "vercel": "moonshotai/kimi-k2-0905"
31032
- },
31033
31033
  "kimi-k2-5": {
31034
31034
  "vercel": "moonshotai/kimi-k2.5"
31035
31035
  },
@@ -32523,6 +32523,7 @@ var agentToolsConfigSchema = external_exports.object({
32523
32523
  runtimeTools: external_exports.array(external_exports.object({
32524
32524
  name: external_exports.string().min(1),
32525
32525
  description: external_exports.string().optional(),
32526
+ toolType: external_exports.enum(["flow", "custom", "external", "local", "subagent"]).optional(),
32526
32527
  parametersSchema: external_exports.record(external_exports.string(), external_exports.any()).optional(),
32527
32528
  config: external_exports.record(external_exports.string(), external_exports.any())
32528
32529
  })).optional(),
@@ -32942,6 +32943,20 @@ function validateAgentDefinition(agent, capIndex) {
32942
32943
  );
32943
32944
  }
32944
32945
  }
32946
+ if (agent.toolsConfig?.runtimeTools) {
32947
+ for (const [i, tool] of agent.toolsConfig.runtimeTools.entries()) {
32948
+ if (!tool.name || tool.name.trim() === "") {
32949
+ result.errors.push(
32950
+ createIssue("error", "RUNTIME_TOOL_NAME_EMPTY", "Runtime tool name is required", `${base}.toolsConfig.runtimeTools[${i}].name`)
32951
+ );
32952
+ }
32953
+ if (tool.toolType === "flow" && (!tool.config?.steps || !Array.isArray(tool.config.steps) || tool.config.steps.length === 0)) {
32954
+ result.warnings.push(
32955
+ createIssue("warning", "FLOW_RUNTIME_TOOL_NO_STEPS", "Flow runtime tool should have steps in config", `${base}.toolsConfig.runtimeTools[${i}].config.steps`)
32956
+ );
32957
+ }
32958
+ }
32959
+ }
32945
32960
  if (agent.capabilityToolRefs) {
32946
32961
  for (const [i, ref] of agent.capabilityToolRefs.entries()) {
32947
32962
  if (!ref.toolName || ref.toolName.trim() === "") {
@@ -33219,6 +33234,46 @@ function validateConnectivity(fpo) {
33219
33234
  }
33220
33235
  }
33221
33236
  }
33237
+ for (const [ci, cap] of fpo.capabilities.entries()) {
33238
+ const toolIds = cap.agent?.toolsConfig?.toolIds;
33239
+ if (!toolIds) continue;
33240
+ for (const [ti, toolId] of toolIds.entries()) {
33241
+ if (!toolId.startsWith("capability:")) continue;
33242
+ const refCapId = toolId.slice("capability:".length);
33243
+ const target = capabilityMap.get(refCapId);
33244
+ if (!target) {
33245
+ result.errors.push(
33246
+ createIssue(
33247
+ "error",
33248
+ "CAPABILITY_TOOLID_REF_NOT_FOUND",
33249
+ `toolIds references non-existent capability "${refCapId}"`,
33250
+ `capabilities[${ci}].agent.toolsConfig.toolIds[${ti}]`,
33251
+ "Ensure the capability:<id> matches an existing capability"
33252
+ )
33253
+ );
33254
+ } else if (!target.flow && !target.existingFlowId) {
33255
+ result.errors.push(
33256
+ createIssue(
33257
+ "error",
33258
+ "CAPABILITY_TOOLID_REF_NOT_FLOW",
33259
+ `toolIds references capability "${refCapId}" which is not a flow capability`,
33260
+ `capabilities[${ci}].agent.toolsConfig.toolIds[${ti}]`,
33261
+ "capability: refs in toolIds can only reference capabilities backed by a flow"
33262
+ )
33263
+ );
33264
+ }
33265
+ if (refCapId === cap.id) {
33266
+ result.errors.push(
33267
+ createIssue(
33268
+ "error",
33269
+ "CAPABILITY_TOOLID_REF_SELF",
33270
+ `toolIds cannot reference the capability's own id "${cap.id}"`,
33271
+ `capabilities[${ci}].agent.toolsConfig.toolIds[${ti}]`
33272
+ )
33273
+ );
33274
+ }
33275
+ }
33276
+ }
33222
33277
  if (fpo.tools.length > 0) {
33223
33278
  const referencedToolIds = /* @__PURE__ */ new Set();
33224
33279
  for (const cap of fpo.capabilities) {
@@ -50008,6 +50063,14 @@ schedulesCommand.command("list").description("List all schedules").option("--jso
50008
50063
  console.log(`
50009
50064
  Total: ${total} schedules`);
50010
50065
  }
50066
+ if (data.pagination?.hasMore) {
50067
+ console.log(
50068
+ chalk19.yellow(
50069
+ `
50070
+ Showing first ${schedules.length} only \u2014 more results available. Pass ?limit and ?cursor to paginate.`
50071
+ )
50072
+ );
50073
+ }
50011
50074
  } catch (error51) {
50012
50075
  const message = error51 instanceof Error ? error51.message : "Unknown error";
50013
50076
  console.error(chalk19.red(`Failed to fetch schedules: ${message}`));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@runtypelabs/cli",
3
- "version": "2.12.6",
3
+ "version": "2.12.8",
4
4
  "description": "Command-line interface for Runtype AI platform",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -21,7 +21,7 @@
21
21
  "micromatch": "^4.0.8",
22
22
  "yaml": "^2.8.3",
23
23
  "@runtypelabs/ink-components": "0.3.1",
24
- "@runtypelabs/sdk": "1.21.3",
24
+ "@runtypelabs/sdk": "1.22.0",
25
25
  "@runtypelabs/terminal-animations": "0.2.0"
26
26
  },
27
27
  "devDependencies": {