From 6816ca4b8857a9af8761a21b63e4f4ce09a9ff07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=A0=C4=87eki=C4=87?= <4062236+iscekic@users.noreply.github.com> Date: Tue, 20 Oct 2026 00:38:09 +0000 Subject: [PATCH 1/7] build(deps): bump zod catalog to 4.6.7 The shared catalog pinned zod 4.4.3. 4.6.7 is the newest release that clears minimumReleaseAge (published 2026-10-12, gate is 6842 minutes). The catalog entry moves every catalog consumer at once; the standalone cloud-agent-next wrapper pins its own copy and moves with it so both stay on one zod version. pnpm-lock.yaml regenerated with pnpm install. --- pnpm-lock.yaml | 277 ++++++++++-------- pnpm-workspace.yaml | 2 +- .../cloud-agent-next/wrapper/package.json | 2 +- 3 files changed, 157 insertions(+), 124 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cc887762611..07522e0aa5b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -97,8 +97,8 @@ catalogs: specifier: 4.135.0 version: 4.135.0 zod: - specifier: 4.4.3 - version: 4.4.3 + specifier: 4.6.7 + version: 4.6.7 overrides: '@babel/plugin-transform-modules-systemjs': 7.29.7 @@ -359,7 +359,7 @@ importers: version: link:../../packages/trpc '@modelcontextprotocol/sdk': specifier: 1.31.0 - version: 1.31.0(@cfworker/json-schema@4.1.1)(zod@4.4.3) + version: 1.31.0(@cfworker/json-schema@4.1.1)(zod@4.6.7) '@tanstack/react-query': specifier: 'catalog:' version: 5.100.10(react@19.2.6) @@ -395,7 +395,7 @@ importers: version: 4.0.1 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@playwright/test': specifier: 1.58.2 @@ -537,7 +537,7 @@ importers: version: 1.5.2(react-native@0.86.3(patch_hash=113932fc75a9e6f352c2a0668f6aa2be25e81326b7b96cc47f8420776a1a92f9)(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3) '@sentry/react-native': specifier: ~8.29.0 - version: 8.29.0(@babel/core@7.29.7)(@expo/config-types@57.0.2)(@expo/config@57.0.9(typescript@7.0.2))(@expo/env@2.4.3)(bufferutil@4.1.0)(dotenv@17.4.2)(expo-router@57.0.24)(expo@57.0.26)(metro-config@0.84.5)(metro-resolver@0.84.5)(open@11.0.0)(promise@8.3.0)(react-native@0.86.3(patch_hash=113932fc75a9e6f352c2a0668f6aa2be25e81326b7b96cc47f8420776a1a92f9)(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(rollup@4.62.3)(typescript@7.0.2)(utf-8-validate@6.0.6)(webpack@5.105.4(esbuild@0.28.2)) + version: 8.29.0(@babel/core@7.29.7)(@expo/config-types@57.0.2)(@expo/config@57.0.9(typescript@7.0.2))(@expo/env@2.4.3)(bufferutil@4.1.0)(dotenv@17.4.2)(expo-router@57.0.24)(expo@57.0.26)(metro-config@0.84.5(bufferutil@4.1.0)(utf-8-validate@6.0.6))(metro-resolver@0.84.5)(open@11.0.0)(promise@8.3.0)(react-native@0.86.3(patch_hash=113932fc75a9e6f352c2a0668f6aa2be25e81326b7b96cc47f8420776a1a92f9)(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(rollup@4.62.3)(typescript@7.0.2)(utf-8-validate@6.0.6)(webpack@5.105.4(esbuild@0.28.2)) '@shopify/flash-list': specifier: 2.3.3 version: 2.3.3(@babel/runtime@7.29.7)(react-native@0.86.3(patch_hash=113932fc75a9e6f352c2a0668f6aa2be25e81326b7b96cc47f8420776a1a92f9)(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3) @@ -798,7 +798,7 @@ importers: version: 3.0.2 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 dependenciesMeta: '@kilocode/kilo-chat-hooks': injected: true @@ -874,11 +874,11 @@ importers: version: 3.5.0 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@anatine/zod-mock': specifier: 3.14.0 - version: 3.14.0(@faker-js/faker@10.5.0)(zod@4.4.3) + version: 3.14.0(@faker-js/faker@10.5.0)(zod@4.6.7) '@chromatic-com/storybook': specifier: 5.2.1 version: 5.2.1(@chromatic-com/playwright@0.12.8(@playwright/test@1.58.2)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(bufferutil@4.1.0)(esbuild@0.28.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@5.9.3)(utf-8-validate@6.0.6))(storybook@10.4.6(@testing-library/dom@10.4.1)(@types/react@19.2.14)(bufferutil@4.1.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(utf-8-validate@6.0.6)) @@ -941,16 +941,16 @@ importers: dependencies: '@ai-sdk/anthropic': specifier: 4.0.15 - version: 4.0.15(zod@4.4.3) + version: 4.0.15(zod@4.6.7) '@ai-sdk/gateway': specifier: 4.0.21 - version: 4.0.21(zod@4.4.3) + version: 4.0.21(zod@4.6.7) '@ai-sdk/openai-compatible': specifier: 3.0.11 - version: 3.0.11(zod@4.4.3) + version: 3.0.11(zod@4.6.7) '@anthropic-ai/sdk': specifier: 0.104.1 - version: 0.104.1(zod@4.4.3) + version: 0.104.1(zod@4.6.7) '@apple/app-store-server-library': specifier: 3.1.0 version: 3.1.0 @@ -962,19 +962,19 @@ importers: version: 3.1009.0 '@chat-adapter/github': specifier: 4.36.0 - version: 4.36.0(ai@7.0.29(zod@4.4.3))(zod@4.4.3) + version: 4.36.0(ai@7.0.29(zod@4.6.7))(zod@4.6.7) '@chat-adapter/linear': specifier: 4.36.0 - version: 4.36.0(ai@7.0.29(zod@4.4.3))(graphql@16.14.2)(zod@4.4.3) + version: 4.36.0(ai@7.0.29(zod@4.6.7))(graphql@16.14.2)(zod@4.6.7) '@chat-adapter/slack': specifier: 4.36.0 - version: 4.36.0(ai@7.0.29(zod@4.4.3))(bufferutil@4.1.0)(utf-8-validate@6.0.6)(zod@4.4.3) + version: 4.36.0(ai@7.0.29(zod@4.6.7))(bufferutil@4.1.0)(utf-8-validate@6.0.6)(zod@4.6.7) '@chat-adapter/state-memory': specifier: 4.36.0 - version: 4.36.0(ai@7.0.29(zod@4.4.3))(zod@4.4.3) + version: 4.36.0(ai@7.0.29(zod@4.6.7))(zod@4.6.7) '@chat-adapter/state-redis': specifier: 4.36.0 - version: 4.36.0(ai@7.0.29(zod@4.4.3))(zod@4.4.3) + version: 4.36.0(ai@7.0.29(zod@4.6.7))(zod@4.6.7) '@emoji-mart/data': specifier: 1.2.1 version: 1.2.1 @@ -1214,7 +1214,7 @@ importers: version: 6.0.0 ai: specifier: 7.0.29 - version: 7.0.29(zod@4.4.3) + version: 7.0.29(zod@4.6.7) archiver: specifier: 7.0.1 version: 7.0.1 @@ -1226,7 +1226,7 @@ importers: version: 2.3.0 chat: specifier: 4.36.0 - version: 4.36.0(ai@7.0.29(zod@4.4.3))(zod@4.4.3) + version: 4.36.0(ai@7.0.29(zod@4.6.7))(zod@4.6.7) class-variance-authority: specifier: 0.7.1 version: 0.7.1 @@ -1307,7 +1307,7 @@ importers: version: 4.24.15(next@16.3.8(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(@types/node@24.12.4)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) openai: specifier: 6.49.0 - version: 6.49.0(@aws-sdk/credential-provider-node@3.972.21)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(zod@4.4.3) + version: 6.49.0(@aws-sdk/credential-provider-node@3.972.21)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(zod@4.6.7) p-limit: specifier: 'catalog:' version: 7.3.0 @@ -1370,7 +1370,7 @@ importers: version: 11.1.1 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@chromatic-com/playwright': specifier: 0.12.8 @@ -1464,7 +1464,7 @@ importers: dependencies: zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@typescript/native-preview': specifier: 'catalog:' @@ -1480,7 +1480,7 @@ importers: dependencies: zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@typescript/native-preview': specifier: 'catalog:' @@ -1496,7 +1496,7 @@ importers: dependencies: zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@types/node': specifier: 'catalog:' @@ -1530,7 +1530,7 @@ importers: version: 3.3.1 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@trpc/server': specifier: 'catalog:' @@ -1561,7 +1561,7 @@ importers: version: 2.18.1(@babel/core@7.29.7)(@babel/template@7.29.7)(@types/react@19.2.14)(react@19.2.6) zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@jest/globals': specifier: 30.3.0 @@ -1586,7 +1586,7 @@ importers: dependencies: zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@cloudflare/containers': specifier: 0.3.7 @@ -1629,7 +1629,7 @@ importers: version: 8.20.0 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@jest/globals': specifier: 30.3.0 @@ -1675,7 +1675,7 @@ importers: dependencies: zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@typescript/native-preview': specifier: 'catalog:' @@ -1691,7 +1691,7 @@ importers: dependencies: '@modelcontextprotocol/sdk': specifier: 1.31.0 - version: 1.31.0(@cfworker/json-schema@4.1.1)(zod@4.4.3) + version: 1.31.0(@cfworker/json-schema@4.1.1)(zod@4.6.7) drizzle-orm: specifier: 0.45.2 version: 0.45.2(@cloudflare/workers-types@4.20260605.1)(@opentelemetry/api@1.9.1)(@types/pg@8.18.0)(@upstash/redis@1.38.0)(bun-types@1.3.14)(expo-sqlite@57.0.3(expo@57.0.26)(react-native@0.86.3(patch_hash=113932fc75a9e6f352c2a0668f6aa2be25e81326b7b96cc47f8420776a1a92f9)(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(kysely@0.29.2)(pg@8.20.0) @@ -1707,7 +1707,7 @@ importers: devDependencies: '@anthropic-ai/sdk': specifier: 0.104.1 - version: 0.104.1(zod@4.4.3) + version: 0.104.1(zod@4.6.7) '@ttsc/unplugin': specifier: 0.28.3 version: 0.28.3(ttsc@0.28.3) @@ -1719,7 +1719,7 @@ importers: version: 0.31.10 openai: specifier: 6.49.0 - version: 6.49.0(@aws-sdk/credential-provider-node@3.972.21)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(zod@4.4.3) + version: 6.49.0(@aws-sdk/credential-provider-node@3.972.21)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(zod@4.6.7) ttsc: specifier: 0.28.3 version: 0.28.3 @@ -1740,7 +1740,7 @@ importers: version: 3.0.2 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@typescript/native-preview': specifier: 'catalog:' @@ -1784,7 +1784,7 @@ importers: dependencies: zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@typescript/native-preview': specifier: 'catalog:' @@ -1800,7 +1800,7 @@ importers: dependencies: zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@typescript/native-preview': specifier: 'catalog:' @@ -1825,7 +1825,7 @@ importers: version: 26.3.6(typescript@5.9.3) zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@typescript/native-preview': specifier: 'catalog:' @@ -1853,7 +1853,7 @@ importers: dependencies: zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@typescript/native-preview': specifier: 'catalog:' @@ -1893,7 +1893,7 @@ importers: version: 19.3.1(@types/node@25.5.2) zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@kilocode/cloud-agent-profile': specifier: workspace:* @@ -1927,7 +1927,7 @@ importers: dependencies: zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@typescript/native-preview': specifier: 'catalog:' @@ -1943,16 +1943,16 @@ importers: dependencies: '@ai-sdk/anthropic': specifier: 4.0.15 - version: 4.0.15(zod@4.4.3) + version: 4.0.15(zod@4.6.7) '@ai-sdk/gateway': specifier: 4.0.21 - version: 4.0.21(zod@4.4.3) + version: 4.0.21(zod@4.6.7) '@ai-sdk/openai-compatible': specifier: 3.0.11 - version: 3.0.11(zod@4.4.3) + version: 3.0.11(zod@4.6.7) '@anthropic-ai/sdk': specifier: 0.104.1 - version: 0.104.1(zod@4.4.3) + version: 0.104.1(zod@4.6.7) '@aws-sdk/client-s3': specifier: 3.1009.0 version: 3.1009.0 @@ -2060,7 +2060,7 @@ importers: version: 4.24.15(next@16.3.8(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(@types/node@24.12.4)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) openai: specifier: 6.49.0 - version: 6.49.0(@aws-sdk/credential-provider-node@3.972.21)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(zod@4.4.3) + version: 6.49.0(@aws-sdk/credential-provider-node@3.972.21)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(zod@4.6.7) p-limit: specifier: 'catalog:' version: 7.3.0 @@ -2078,7 +2078,7 @@ importers: version: 11.1.1 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@jest/globals': specifier: 30.3.0 @@ -2109,7 +2109,7 @@ importers: version: 7.0.0-dev.20260514.1 ai: specifier: 7.0.29 - version: 7.0.29(zod@4.4.3) + version: 7.0.29(zod@4.6.7) babel-plugin-react-compiler: specifier: 1.0.0 version: 1.0.0 @@ -2127,7 +2127,7 @@ importers: dependencies: zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@types/node': specifier: 'catalog:' @@ -2173,7 +2173,7 @@ importers: version: 6.2.3 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@typescript/native-preview': specifier: 'catalog:' @@ -2201,7 +2201,7 @@ importers: version: 1.0.0 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@types/jest': specifier: 29.5.14 @@ -2247,7 +2247,7 @@ importers: version: 1.0.0 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@cloudflare/containers': specifier: 0.1.1 @@ -2305,7 +2305,7 @@ importers: version: 4.13.7 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@cloudflare/workers-types': specifier: 'catalog:' @@ -2348,7 +2348,7 @@ importers: version: 4.13.7 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@cloudflare/workers-types': specifier: 'catalog:' @@ -2424,7 +2424,7 @@ importers: version: 1.0.0 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@cloudflare/containers': specifier: 0.3.7 @@ -2481,8 +2481,8 @@ importers: specifier: 3.1.0 version: 3.1.0 zod: - specifier: 4.4.3 - version: 4.4.3 + specifier: 4.6.7 + version: 4.6.7 devDependencies: '@types/bun': specifier: 1.3.14 @@ -2507,7 +2507,7 @@ importers: version: 4.13.7 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@cloudflare/vitest-pool-workers': specifier: 'catalog:' @@ -2581,7 +2581,7 @@ importers: version: 1.0.0 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@cloudflare/vitest-pool-workers': specifier: 'catalog:' @@ -2633,7 +2633,7 @@ importers: version: 3.1.9 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@cloudflare/sandbox': specifier: 0.6.11 @@ -2688,7 +2688,7 @@ importers: version: 9.0.3 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@cloudflare/vitest-pool-workers': specifier: 'catalog:' @@ -2743,7 +2743,7 @@ importers: version: 1.0.0 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@cloudflare/vitest-pool-workers': specifier: 'catalog:' @@ -2807,7 +2807,7 @@ importers: version: 1.0.0 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@cloudflare/vitest-pool-workers': specifier: 'catalog:' @@ -2850,7 +2850,7 @@ importers: version: 4.13.7 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@types/bun': specifier: 1.3.14 @@ -2887,7 +2887,7 @@ importers: version: 0.45.2(@cloudflare/workers-types@4.20260605.1)(@opentelemetry/api@1.9.1)(@types/pg@8.18.0)(@upstash/redis@1.38.0)(bun-types@1.3.14)(expo-sqlite@57.0.3(expo@57.0.26)(react-native@0.86.3(patch_hash=113932fc75a9e6f352c2a0668f6aa2be25e81326b7b96cc47f8420776a1a92f9)(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(kysely@0.29.2)(pg@8.20.0) zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@types/node': specifier: 'catalog:' @@ -2915,7 +2915,7 @@ importers: version: 6.2.3 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@cloudflare/vitest-pool-workers': specifier: 'catalog:' @@ -2937,7 +2937,7 @@ importers: dependencies: '@modelcontextprotocol/sdk': specifier: 1.31.0 - version: 1.31.0(@cfworker/json-schema@4.1.1)(zod@4.4.3) + version: 1.31.0(@cfworker/json-schema@4.1.1)(zod@4.6.7) aws4fetch: specifier: 'catalog:' version: 1.0.20 @@ -2952,7 +2952,7 @@ importers: version: 9.0.3 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@cloudflare/workers-types': specifier: 'catalog:' @@ -3022,7 +3022,7 @@ importers: version: 1.0.0 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@cloudflare/vitest-pool-workers': specifier: 'catalog:' @@ -3062,7 +3062,7 @@ importers: version: 0.45.2(@cloudflare/workers-types@4.20260605.1)(@opentelemetry/api@1.9.1)(@types/pg@8.18.0)(@upstash/redis@1.38.0)(bun-types@1.3.14)(expo-sqlite@57.0.3(expo@57.0.26)(react-native@0.86.3(patch_hash=113932fc75a9e6f352c2a0668f6aa2be25e81326b7b96cc47f8420776a1a92f9)(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(kysely@0.29.2)(pg@8.20.0) zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@cloudflare/workers-types': specifier: 'catalog:' @@ -3148,7 +3148,7 @@ importers: version: 6.2.3 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@types/node': specifier: 'catalog:' @@ -3197,7 +3197,7 @@ importers: version: 1.0.0 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@types/node': specifier: 'catalog:' @@ -3256,7 +3256,7 @@ importers: version: 3.1.9 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@types/node': specifier: 'catalog:' @@ -3275,7 +3275,7 @@ importers: version: 2.2.0 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: esbuild: specifier: '>=0.28.1' @@ -3318,7 +3318,7 @@ importers: version: link:../../packages/app-shared zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@types/node': specifier: 'catalog:' @@ -3352,7 +3352,7 @@ importers: version: 0.45.2(@cloudflare/workers-types@4.20260605.1)(@opentelemetry/api@1.9.1)(@types/pg@8.18.0)(@upstash/redis@1.38.0)(bun-types@1.3.14)(expo-sqlite@57.0.3(expo@57.0.26)(react-native@0.86.3(patch_hash=113932fc75a9e6f352c2a0668f6aa2be25e81326b7b96cc47f8420776a1a92f9)(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(kysely@0.29.2)(pg@8.20.0) zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@types/node': specifier: '>=24 <25' @@ -3404,7 +3404,7 @@ importers: version: 1.0.0 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@cloudflare/vitest-pool-workers': specifier: 'catalog:' @@ -3441,7 +3441,7 @@ importers: version: 4.13.7 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@cloudflare/vitest-pool-workers': specifier: 'catalog:' @@ -3484,7 +3484,7 @@ importers: version: 1.0.0 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@types/node': specifier: 'catalog:' @@ -3518,7 +3518,7 @@ importers: version: 0.45.2(@cloudflare/workers-types@4.20260605.1)(@opentelemetry/api@1.9.1)(@types/pg@8.18.0)(@upstash/redis@1.38.0)(bun-types@1.3.14)(expo-sqlite@57.0.3(expo@57.0.26)(react-native@0.86.3(patch_hash=113932fc75a9e6f352c2a0668f6aa2be25e81326b7b96cc47f8420776a1a92f9)(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(kysely@0.29.2)(pg@8.20.0) zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@types/node': specifier: 'catalog:' @@ -3570,7 +3570,7 @@ importers: version: 6.2.3 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@cloudflare/vitest-pool-workers': specifier: 'catalog:' @@ -3641,7 +3641,7 @@ importers: version: 0.45.2(@cloudflare/workers-types@4.20260605.1)(@opentelemetry/api@1.9.1)(@types/pg@8.18.0)(@upstash/redis@1.38.0)(bun-types@1.3.14)(expo-sqlite@57.0.3(expo@57.0.26)(react-native@0.86.3(patch_hash=113932fc75a9e6f352c2a0668f6aa2be25e81326b7b96cc47f8420776a1a92f9)(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(kysely@0.29.2)(pg@8.20.0) zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@cloudflare/vitest-pool-workers': specifier: 'catalog:' @@ -3693,7 +3693,7 @@ importers: version: 1.0.0 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@cloudflare/vitest-pool-workers': specifier: 'catalog:' @@ -3748,7 +3748,7 @@ importers: version: 1.0.0 zod: specifier: 'catalog:' - version: 4.4.3 + version: 4.6.7 devDependencies: '@cloudflare/vitest-pool-workers': specifier: 'catalog:' @@ -20363,6 +20363,9 @@ packages: zod@4.4.3: resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} + zod@4.6.7: + resolution: {integrity: sha512-g8W2D2kU6a8untc053fX1uVBKzM7yqAxW/3zwk83+6RyF2+SKOuV+c0wBDhUwzV1PaGapmZH+rmcUzPf+3CGwg==} + zustand@5.0.12: resolution: {integrity: sha512-i77ae3aZq4dhMlRhJVCYgMLKuSiZAaUPAct2AksxQ+gOtimhGMdXljRT21P5BNpeT4kXlLIckvkPM029OljD7g==} engines: {node: '>=12.20.0'} @@ -20397,32 +20400,32 @@ snapshots: dependencies: zod: 4.4.3 - '@ai-sdk/anthropic@4.0.15(zod@4.4.3)': + '@ai-sdk/anthropic@4.0.15(zod@4.6.7)': dependencies: '@ai-sdk/provider': 4.0.3 - '@ai-sdk/provider-utils': 5.0.10(zod@4.4.3) - zod: 4.4.3 + '@ai-sdk/provider-utils': 5.0.10(zod@4.6.7) + zod: 4.6.7 - '@ai-sdk/gateway@4.0.21(zod@4.4.3)': + '@ai-sdk/gateway@4.0.21(zod@4.6.7)': dependencies: '@ai-sdk/provider': 4.0.3 - '@ai-sdk/provider-utils': 5.0.10(zod@4.4.3) + '@ai-sdk/provider-utils': 5.0.10(zod@4.6.7) '@vercel/oidc': 3.2.0 - zod: 4.4.3 + zod: 4.6.7 - '@ai-sdk/openai-compatible@3.0.11(zod@4.4.3)': + '@ai-sdk/openai-compatible@3.0.11(zod@4.6.7)': dependencies: '@ai-sdk/provider': 4.0.3 - '@ai-sdk/provider-utils': 5.0.10(zod@4.4.3) - zod: 4.4.3 + '@ai-sdk/provider-utils': 5.0.10(zod@4.6.7) + zod: 4.6.7 - '@ai-sdk/provider-utils@5.0.10(zod@4.4.3)': + '@ai-sdk/provider-utils@5.0.10(zod@4.6.7)': dependencies: '@ai-sdk/provider': 4.0.3 '@standard-schema/spec': 1.1.0 '@workflow/serde': 4.1.0 eventsource-parser: 3.0.8 - zod: 4.4.3 + zod: 4.6.7 '@ai-sdk/provider@4.0.3': dependencies: @@ -20444,18 +20447,18 @@ snapshots: '@alloc/quick-lru@5.2.0': {} - '@anatine/zod-mock@3.14.0(@faker-js/faker@10.5.0)(zod@4.4.3)': + '@anatine/zod-mock@3.14.0(@faker-js/faker@10.5.0)(zod@4.6.7)': dependencies: '@faker-js/faker': 10.5.0 randexp: 0.5.3 - zod: 4.4.3 + zod: 4.6.7 - '@anthropic-ai/sdk@0.104.1(zod@4.4.3)': + '@anthropic-ai/sdk@0.104.1(zod@4.6.7)': dependencies: json-schema-to-ts: 3.1.1 standardwebhooks: 1.0.0 optionalDependencies: - zod: 4.4.3 + zod: 4.6.7 '@anthropic-ai/sdk@0.109.1(zod@4.4.3)': dependencies: @@ -21918,23 +21921,23 @@ snapshots: '@cfworker/json-schema@4.1.1': {} - '@chat-adapter/github@4.36.0(ai@7.0.29(zod@4.4.3))(zod@4.4.3)': + '@chat-adapter/github@4.36.0(ai@7.0.29(zod@4.6.7))(zod@4.6.7)': dependencies: - '@chat-adapter/shared': 4.36.0(ai@7.0.29(zod@4.4.3))(zod@4.4.3) + '@chat-adapter/shared': 4.36.0(ai@7.0.29(zod@4.6.7))(zod@4.6.7) '@octokit/auth-app': 8.2.0 '@octokit/rest': 22.0.1 - chat: 4.36.0(ai@7.0.29(zod@4.4.3))(zod@4.4.3) + chat: 4.36.0(ai@7.0.29(zod@4.6.7))(zod@4.6.7) transitivePeerDependencies: - ai - supports-color - workflow - zod - '@chat-adapter/linear@4.36.0(ai@7.0.29(zod@4.4.3))(graphql@16.14.2)(zod@4.4.3)': + '@chat-adapter/linear@4.36.0(ai@7.0.29(zod@4.6.7))(graphql@16.14.2)(zod@4.6.7)': dependencies: - '@chat-adapter/shared': 4.36.0(ai@7.0.29(zod@4.4.3))(zod@4.4.3) + '@chat-adapter/shared': 4.36.0(ai@7.0.29(zod@4.6.7))(zod@4.6.7) '@linear/sdk': 76.0.0(graphql@16.14.2) - chat: 4.36.0(ai@7.0.29(zod@4.4.3))(zod@4.4.3) + chat: 4.36.0(ai@7.0.29(zod@4.6.7))(zod@4.6.7) transitivePeerDependencies: - ai - graphql @@ -21942,21 +21945,21 @@ snapshots: - workflow - zod - '@chat-adapter/shared@4.36.0(ai@7.0.29(zod@4.4.3))(zod@4.4.3)': + '@chat-adapter/shared@4.36.0(ai@7.0.29(zod@4.6.7))(zod@4.6.7)': dependencies: - chat: 4.36.0(ai@7.0.29(zod@4.4.3))(zod@4.4.3) + chat: 4.36.0(ai@7.0.29(zod@4.6.7))(zod@4.6.7) transitivePeerDependencies: - ai - supports-color - workflow - zod - '@chat-adapter/slack@4.36.0(ai@7.0.29(zod@4.4.3))(bufferutil@4.1.0)(utf-8-validate@6.0.6)(zod@4.4.3)': + '@chat-adapter/slack@4.36.0(ai@7.0.29(zod@4.6.7))(bufferutil@4.1.0)(utf-8-validate@6.0.6)(zod@4.6.7)': dependencies: - '@chat-adapter/shared': 4.36.0(ai@7.0.29(zod@4.4.3))(zod@4.4.3) + '@chat-adapter/shared': 4.36.0(ai@7.0.29(zod@4.6.7))(zod@4.6.7) '@slack/socket-mode': 2.0.7(bufferutil@4.1.0)(utf-8-validate@6.0.6) '@slack/web-api': 7.19.0 - chat: 4.36.0(ai@7.0.29(zod@4.4.3))(zod@4.4.3) + chat: 4.36.0(ai@7.0.29(zod@4.6.7))(zod@4.6.7) transitivePeerDependencies: - ai - bufferutil @@ -21966,18 +21969,18 @@ snapshots: - workflow - zod - '@chat-adapter/state-memory@4.36.0(ai@7.0.29(zod@4.4.3))(zod@4.4.3)': + '@chat-adapter/state-memory@4.36.0(ai@7.0.29(zod@4.6.7))(zod@4.6.7)': dependencies: - chat: 4.36.0(ai@7.0.29(zod@4.4.3))(zod@4.4.3) + chat: 4.36.0(ai@7.0.29(zod@4.6.7))(zod@4.6.7) transitivePeerDependencies: - ai - supports-color - workflow - zod - '@chat-adapter/state-redis@4.36.0(ai@7.0.29(zod@4.4.3))(zod@4.4.3)': + '@chat-adapter/state-redis@4.36.0(ai@7.0.29(zod@4.6.7))(zod@4.6.7)': dependencies: - chat: 4.36.0(ai@7.0.29(zod@4.4.3))(zod@4.4.3) + chat: 4.36.0(ai@7.0.29(zod@4.6.7))(zod@4.6.7) redis: 5.11.0 transitivePeerDependencies: - '@node-rs/xxhash' @@ -24925,6 +24928,30 @@ snapshots: transitivePeerDependencies: - supports-color + '@modelcontextprotocol/sdk@1.31.0(@cfworker/json-schema@4.1.1)(zod@4.6.7)': + dependencies: + '@hono/node-server': 2.0.10(hono@4.13.7) + ajv: 8.20.0 + ajv-formats: 3.0.1 + content-type: 1.0.5 + cors: 2.8.6 + cross-spawn: 7.0.6 + eventsource: 3.0.7 + eventsource-parser: 3.0.8 + express: 5.2.1 + express-rate-limit: 8.3.1(express@5.2.1) + hono: 4.13.7 + jose: 6.2.3 + json-schema-typed: 8.0.2 + pkce-challenge: 5.0.1 + raw-body: 3.0.2 + zod: 4.6.7 + zod-to-json-schema: 3.25.1(zod@4.6.7) + optionalDependencies: + '@cfworker/json-schema': 4.1.1 + transitivePeerDependencies: + - supports-color + '@monaco-editor/loader@1.7.0': dependencies: state-local: 1.0.7 @@ -27560,7 +27587,7 @@ snapshots: '@sentry/conventions': 0.16.0 '@sentry/core': 10.69.0 - '@sentry/react-native@8.29.0(@babel/core@7.29.7)(@expo/config-types@57.0.2)(@expo/config@57.0.9(typescript@7.0.2))(@expo/env@2.4.3)(bufferutil@4.1.0)(dotenv@17.4.2)(expo-router@57.0.24)(expo@57.0.26)(metro-config@0.84.5)(metro-resolver@0.84.5)(open@11.0.0)(promise@8.3.0)(react-native@0.86.3(patch_hash=113932fc75a9e6f352c2a0668f6aa2be25e81326b7b96cc47f8420776a1a92f9)(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(rollup@4.62.3)(typescript@7.0.2)(utf-8-validate@6.0.6)(webpack@5.105.4(esbuild@0.28.2))': + '@sentry/react-native@8.29.0(@babel/core@7.29.7)(@expo/config-types@57.0.2)(@expo/config@57.0.9(typescript@7.0.2))(@expo/env@2.4.3)(bufferutil@4.1.0)(dotenv@17.4.2)(expo-router@57.0.24)(expo@57.0.26)(metro-config@0.84.5(bufferutil@4.1.0)(utf-8-validate@6.0.6))(metro-resolver@0.84.5)(open@11.0.0)(promise@8.3.0)(react-native@0.86.3(patch_hash=113932fc75a9e6f352c2a0668f6aa2be25e81326b7b96cc47f8420776a1a92f9)(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(rollup@4.62.3)(typescript@7.0.2)(utf-8-validate@6.0.6)(webpack@5.105.4(esbuild@0.28.2))': dependencies: '@expo/config-plugins': 57.0.9(typescript@7.0.2) '@sentry/browser': 10.75.2 @@ -30016,12 +30043,12 @@ snapshots: clean-stack: 2.2.0 indent-string: 4.0.0 - ai@7.0.29(zod@4.4.3): + ai@7.0.29(zod@4.6.7): dependencies: - '@ai-sdk/gateway': 4.0.21(zod@4.4.3) + '@ai-sdk/gateway': 4.0.21(zod@4.6.7) '@ai-sdk/provider': 4.0.3 - '@ai-sdk/provider-utils': 5.0.10(zod@4.4.3) - zod: 4.4.3 + '@ai-sdk/provider-utils': 5.0.10(zod@4.6.7) + zod: 4.6.7 ajv-formats@2.1.1: dependencies: @@ -30780,7 +30807,7 @@ snapshots: character-reference-invalid@2.0.1: {} - chat@4.36.0(ai@7.0.29(zod@4.4.3))(zod@4.4.3): + chat@4.36.0(ai@7.0.29(zod@4.6.7))(zod@4.6.7): dependencies: '@workflow/serde': 4.1.0-beta.2 mdast-util-to-string: 4.0.0 @@ -30790,8 +30817,8 @@ snapshots: remend: 1.2.2 unified: 11.0.5 optionalDependencies: - ai: 7.0.29(zod@4.4.3) - zod: 4.4.3 + ai: 7.0.29(zod@4.6.7) + zod: 4.6.7 transitivePeerDependencies: - supports-color @@ -36999,11 +37026,11 @@ snapshots: ws: 8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) zod: 4.4.3 - openai@6.49.0(@aws-sdk/credential-provider-node@3.972.21)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(zod@4.4.3): + openai@6.49.0(@aws-sdk/credential-provider-node@3.972.21)(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(zod@4.6.7): optionalDependencies: '@aws-sdk/credential-provider-node': 3.972.21 ws: 8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) - zod: 4.4.3 + zod: 4.6.7 openclaw@2026.7.1(@aws-sdk/credential-provider-node@3.972.21)(@cfworker/json-schema@4.1.1)(@opentelemetry/api@1.9.1)(bufferutil@4.1.0)(utf-8-validate@6.0.6): dependencies: @@ -41532,12 +41559,18 @@ snapshots: dependencies: zod: 4.4.3 + zod-to-json-schema@3.25.1(zod@4.6.7): + dependencies: + zod: 4.6.7 + zod@3.25.76: {} zod@4.1.8: {} zod@4.4.3: {} + zod@4.6.7: {} + zustand@5.0.12(@types/react@19.2.14)(immer@11.1.4)(react@19.2.3)(use-sync-external-store@1.6.0(react@19.2.3)): optionalDependencies: '@types/react': 19.2.14 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 76771e2a3e2..bfb926b3f25 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -51,7 +51,7 @@ catalog: vitest: 4.1.11 workers-tagged-logger: 1.0.0 wrangler: 4.135.0 - zod: 4.4.3 + zod: 4.6.7 minimumReleaseAge: 6842 minimumReleaseAgeExclude: diff --git a/services/cloud-agent-next/wrapper/package.json b/services/cloud-agent-next/wrapper/package.json index 8a46caafd50..8f25f26e8b1 100644 --- a/services/cloud-agent-next/wrapper/package.json +++ b/services/cloud-agent-next/wrapper/package.json @@ -10,7 +10,7 @@ "dependencies": { "@kilocode/sdk": "7.8.1", "fuzzysort": "3.1.0", - "zod": "4.4.3" + "zod": "4.6.7" }, "devDependencies": { "@types/bun": "1.3.14", From c89b846ee87b779f8584a06f70c61c855869f6c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=A0=C4=87eki=C4=87?= <4062236+iscekic@users.noreply.github.com> Date: Tue, 20 Oct 2026 00:38:09 +0000 Subject: [PATCH 2/7] chore(kilo-mcp): regenerate the tool catalog for zod 4.6.7 zod 4.6.7 emits JSON Schema differently from 4.4.3: nullable fields become type arrays instead of anyOf pairs, and the date-time pattern requires seconds. Regenerate the committed catalog so the drift check in the mcp-catalog workflow passes. --- services/kilo-mcp/catalog.json | 5143 ++++++++++++++++---------------- 1 file changed, 2639 insertions(+), 2504 deletions(-) diff --git a/services/kilo-mcp/catalog.json b/services/kilo-mcp/catalog.json index 1bff752ac1e..c242cf9120e 100644 --- a/services/kilo-mcp/catalog.json +++ b/services/kilo-mcp/catalog.json @@ -3202,23 +3202,15 @@ "maxLength": 100000 }, "agent": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } + "type": [ + "string", + "null" ] }, "model": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } + "type": [ + "string", + "null" ] }, "subtask": { @@ -4081,23 +4073,15 @@ ] }, "mode": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } + "type": [ + "string", + "null" ] }, "model": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } + "type": [ + "string", + "null" ] }, "report_type": { @@ -4835,7 +4819,7 @@ "cursor": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "limit": { "default": 10, @@ -5334,7 +5318,7 @@ "cursor": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "limit": { "default": 10, @@ -5409,7 +5393,7 @@ "updatedSince": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "version": { "type": "number" @@ -5461,7 +5445,7 @@ "updatedSince": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ @@ -5724,6 +5708,7 @@ "properties": { "kilo_session_id": { "type": "string", + "format": "starts_with", "pattern": "^ses_.*" }, "trigger_id": { @@ -5986,6 +5971,7 @@ "path": { "type": "string", "maxLength": 2048, + "format": "starts_with", "pattern": "^\\/.*" } }, @@ -6050,6 +6036,7 @@ "type": "string", "minLength": 30, "maxLength": 30, + "format": "starts_with", "pattern": "^ses_.*" }, "operationKey": { @@ -6361,6 +6348,7 @@ "properties": { "cloudAgentSessionId": { "type": "string", + "format": "starts_with", "allOf": [ { "pattern": "^(agent|workspace)_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" @@ -6647,1045 +6635,695 @@ "summary": "Set up a new cloud agent session before it starts, including the repository, model, and any attached files or images.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", - "allOf": [ + "anyOf": [ { - "anyOf": [ - { - "type": "object", - "properties": { - "prompt": { - "type": "string", - "minLength": 1, - "maxLength": 100000 - }, - "initialMessageId": { - "type": "string", - "pattern": "^msg_[0-9a-f]{12}[0-9A-Za-z]{14}$" - }, - "initialPayload": { - "oneOf": [ + "type": "object", + "properties": { + "egressMode": { + "description": "Defaults to unrestricted when omitted. The allowlist mode permits the Kilo/Git baseline plus optional egressAllowlist domains.", + "type": "string", + "enum": [ + "unrestricted", + "allowlist" + ] + }, + "egressAllowlist": { + "description": "Additional exact DNS hostnames; requires explicit allowlist mode.", + "maxItems": 100, + "type": "array", + "items": { + "type": "string", + "maxLength": 254, + "pattern": "^[A-Za-z0-9.-]+$" + } + }, + "sandboxAllocation": { + "anyOf": [ + { + "anyOf": [ { "type": "object", "properties": { - "type": { - "type": "string", - "const": "prompt" - }, - "prompt": { - "type": "string", - "minLength": 1 - }, - "mode": { - "type": "string", - "minLength": 1, - "maxLength": 50, - "pattern": "^[a-z][a-z0-9-]*$" + "provider": { + "type": "object", + "properties": { + "id": { + "type": "string", + "const": "cloudflare" + }, + "account": { + "type": "string", + "const": "kilo" + } + }, + "required": [ + "id", + "account" + ], + "additionalProperties": false }, - "model": { + "instanceType": { "type": "string", - "minLength": 1 + "enum": [ + "single", + "shared" + ] + } + }, + "required": [ + "provider", + "instanceType" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "provider": { + "type": "object", + "properties": { + "id": { + "type": "string", + "const": "vercel" + }, + "account": { + "type": "string", + "enum": [ + "kilo", + "byoc" + ] + } + }, + "required": [ + "id", + "account" + ], + "additionalProperties": false }, - "variant": { + "instanceType": { "type": "string", - "maxLength": 50, - "pattern": "^[a-zA-Z]+$" + "enum": [ + "small", + "large" + ] } }, "required": [ - "type", - "prompt", - "mode", - "model" - ] + "provider", + "instanceType" + ], + "additionalProperties": false }, { "type": "object", "properties": { - "type": { - "type": "string", - "const": "command" + "provider": { + "type": "object", + "properties": { + "id": { + "type": "string", + "const": "cloudflare-containers" + }, + "account": { + "type": "string", + "const": "kilo" + } + }, + "required": [ + "id", + "account" + ], + "additionalProperties": false }, - "command": { + "instanceType": { "type": "string", - "minLength": 1 - }, - "arguments": { - "default": "", - "type": "string" + "enum": [ + "standard-3", + "standard-4" + ] } }, "required": [ - "type", - "command" - ] + "provider", + "instanceType" + ], + "additionalProperties": false } ] }, - "autoInitiate": { - "type": "boolean" - }, - "operationKey": { - "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - }, - "cloneFromKiloSessionId": {}, - "cloneUpToMessageId": {}, - "githubRepo": { - "type": "string", - "pattern": "^[a-zA-Z0-9_.-]+\\/[a-zA-Z0-9_.-]+$" - }, - "githubIntegrationId": { - "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - }, - "gitlabProject": { - "description": "GitLab project path (e.g., group/project or group/subgroup/project)", + { "type": "string", - "pattern": "^[a-zA-Z0-9_.-]+(?:\\/[a-zA-Z0-9_.-]+)+$" - }, - "bitbucketRepo": { + "enum": [ + "cloudflare-single", + "cloudflare-shared", + "cloudflare-containers-standard-3", + "cloudflare-containers-standard-4", + "vercel-small", + "vercel-large" + ] + } + ] + }, + "prompt": { + "type": "string", + "minLength": 1, + "maxLength": 100000 + }, + "initialMessageId": { + "type": "string", + "pattern": "^msg_[0-9a-f]{12}[0-9A-Za-z]{14}$" + }, + "initialPayload": { + "oneOf": [ + { "type": "object", "properties": { - "fullName": { + "type": { "type": "string", - "pattern": "^[a-zA-Z0-9_.-]+\\/[a-zA-Z0-9_.-]+$" + "const": "prompt" }, - "workspaceUuid": { + "prompt": { "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + "minLength": 1 }, - "repositoryUuid": { + "mode": { "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + "minLength": 1, + "maxLength": 50, + "pattern": "^[a-z][a-z0-9-]*$" + }, + "model": { + "type": "string", + "minLength": 1 + }, + "variant": { + "type": "string", + "maxLength": 50, + "pattern": "^[a-zA-Z]+$" } }, "required": [ - "fullName", - "workspaceUuid", - "repositoryUuid" - ], - "additionalProperties": false - }, - "mode": { - "type": "string", - "minLength": 1, - "maxLength": 50, - "pattern": "^[a-z][a-z0-9-]*$" + "type", + "prompt", + "mode", + "model" + ] }, - "model": { + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "command" + }, + "command": { + "type": "string", + "minLength": 1 + }, + "arguments": { + "default": "", + "type": "string" + } + }, + "required": [ + "type", + "command" + ] + } + ] + }, + "autoInitiate": { + "type": "boolean" + }, + "operationKey": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + }, + "cloneFromKiloSessionId": {}, + "cloneUpToMessageId": {}, + "githubRepo": { + "type": "string", + "pattern": "^[a-zA-Z0-9_.-]+\\/[a-zA-Z0-9_.-]+$" + }, + "githubIntegrationId": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + }, + "gitlabProject": { + "description": "GitLab project path (e.g., group/project or group/subgroup/project)", + "type": "string", + "pattern": "^[a-zA-Z0-9_.-]+(?:\\/[a-zA-Z0-9_.-]+)+$" + }, + "bitbucketRepo": { + "type": "object", + "properties": { + "fullName": { "type": "string", - "minLength": 1 + "pattern": "^[a-zA-Z0-9_.-]+\\/[a-zA-Z0-9_.-]+$" }, - "variant": { + "workspaceUuid": { "type": "string", - "maxLength": 50, - "pattern": "^[a-zA-Z]+$" + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, - "profileId": { + "repositoryUuid": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - }, - "envVars": { - "type": "object", - "propertyNames": { - "type": "string", - "maxLength": 256 - }, - "additionalProperties": { - "type": "string", - "maxLength": 256 - } - }, - "setupCommands": { - "maxItems": 20, - "type": "array", - "items": { - "type": "string", - "maxLength": 500 - } - }, - "mcpServers": { - "type": "object", - "propertyNames": { - "type": "string" - }, - "additionalProperties": { - "oneOf": [ - { + } + }, + "required": [ + "fullName", + "workspaceUuid", + "repositoryUuid" + ], + "additionalProperties": false + }, + "mode": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[a-z][a-z0-9-]*$" + }, + "model": { + "type": "string", + "minLength": 1 + }, + "variant": { + "type": "string", + "maxLength": 50, + "pattern": "^[a-zA-Z]+$" + }, + "profileId": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + }, + "envVars": { + "type": "object", + "propertyNames": { + "type": "string", + "maxLength": 256 + }, + "additionalProperties": { + "type": "string", + "maxLength": 256 + } + }, + "setupCommands": { + "maxItems": 20, + "type": "array", + "items": { + "type": "string", + "maxLength": 500 + } + }, + "mcpServers": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "local" + }, + "command": { + "minItems": 1, + "type": "array", + "items": { + "type": "string" + } + }, + "environment": { "type": "object", - "properties": { - "type": { - "type": "string", - "const": "local" - }, - "command": { - "minItems": 1, - "type": "array", - "items": { - "type": "string" - } - }, - "environment": { - "type": "object", - "propertyNames": { - "type": "string" + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "anyOf": [ + { + "type": "string", + "maxLength": 4096 }, - "additionalProperties": { - "anyOf": [ - { + { + "type": "object", + "properties": { + "encryptedData": { + "type": "string" + }, + "encryptedDEK": { + "type": "string" + }, + "algorithm": { "type": "string", - "maxLength": 4096 + "const": "rsa-aes-256-gcm" }, - { - "type": "object", - "properties": { - "encryptedData": { - "type": "string" - }, - "encryptedDEK": { - "type": "string" - }, - "algorithm": { - "type": "string", - "const": "rsa-aes-256-gcm" - }, - "version": { - "type": "number", - "const": 1 - } - }, - "required": [ - "encryptedData", - "encryptedDEK", - "algorithm", - "version" - ] + "version": { + "type": "number", + "const": 1 } + }, + "required": [ + "encryptedData", + "encryptedDEK", + "algorithm", + "version" ] } - }, - "enabled": { - "type": "boolean" - }, - "timeout": { - "type": "number", - "minimum": 1, - "maximum": 3600000 - } - }, - "required": [ - "type", - "command" - ], - "additionalProperties": false + ] + } }, - { + "enabled": { + "type": "boolean" + }, + "timeout": { + "type": "number", + "minimum": 1, + "maximum": 3600000 + } + }, + "required": [ + "type", + "command" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "remote" + }, + "url": { + "type": "string", + "format": "uri" + }, + "headers": { "type": "object", - "properties": { - "type": { - "type": "string", - "const": "remote" - }, - "url": { - "type": "string", - "format": "uri" - }, - "headers": { - "type": "object", - "propertyNames": { - "type": "string" + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "anyOf": [ + { + "type": "string", + "maxLength": 4096 }, - "additionalProperties": { - "anyOf": [ - { + { + "type": "object", + "properties": { + "encryptedData": { + "type": "string" + }, + "encryptedDEK": { + "type": "string" + }, + "algorithm": { "type": "string", - "maxLength": 4096 + "const": "rsa-aes-256-gcm" }, - { - "type": "object", - "properties": { - "encryptedData": { - "type": "string" - }, - "encryptedDEK": { - "type": "string" - }, - "algorithm": { - "type": "string", - "const": "rsa-aes-256-gcm" - }, - "version": { - "type": "number", - "const": 1 - } - }, - "required": [ - "encryptedData", - "encryptedDEK", - "algorithm", - "version" - ] + "version": { + "type": "number", + "const": 1 } + }, + "required": [ + "encryptedData", + "encryptedDEK", + "algorithm", + "version" ] } - }, - "enabled": { - "type": "boolean" - }, - "timeout": { - "type": "number", - "minimum": 1, - "maximum": 3600000 - } - }, - "required": [ - "type", - "url" - ], - "additionalProperties": false - } - ] - } - }, - "runtimeSkills": { - "maxItems": 50, - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "minLength": 1, - "maxLength": 100, - "pattern": "^[a-z0-9][a-z0-9-]*$" + ] + } }, - "rawMarkdown": { - "type": "string", - "minLength": 1, - "maxLength": 100000 + "enabled": { + "type": "boolean" }, - "files": { - "type": "object", - "propertyNames": { - "type": "string", - "maxLength": 200 - }, - "additionalProperties": { - "type": "string", - "maxLength": 100000 - } + "timeout": { + "type": "number", + "minimum": 1, + "maximum": 3600000 } }, "required": [ - "name", - "rawMarkdown" - ] + "type", + "url" + ], + "additionalProperties": false + } + ] + } + }, + "runtimeSkills": { + "maxItems": 50, + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "minLength": 1, + "maxLength": 100, + "pattern": "^[a-z0-9][a-z0-9-]*$" + }, + "rawMarkdown": { + "type": "string", + "minLength": 1, + "maxLength": 100000 + }, + "files": { + "type": "object", + "propertyNames": { + "type": "string", + "maxLength": 200 + }, + "additionalProperties": { + "type": "string", + "maxLength": 100000 + } } }, - "runtimeAgents": { - "maxItems": 20, - "type": "array", - "items": { + "required": [ + "name", + "rawMarkdown" + ] + } + }, + "runtimeAgents": { + "maxItems": 20, + "type": "array", + "items": { + "type": "object", + "properties": { + "slug": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[a-z][a-z0-9-]*$" + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 100 + }, + "config": { "type": "object", "properties": { - "slug": { + "prompt": { "type": "string", - "minLength": 1, - "maxLength": 50, - "pattern": "^[a-z][a-z0-9-]*$" + "maxLength": 50000 }, - "name": { + "description": { "type": "string", - "minLength": 1, - "maxLength": 100 + "maxLength": 2000 }, - "config": { - "type": "object", - "properties": { - "prompt": { - "type": "string", - "maxLength": 50000 - }, - "description": { + "mode": { + "type": "string", + "enum": [ + "subagent", + "primary", + "all" + ] + }, + "model": { + "anyOf": [ + { "type": "string", - "maxLength": 2000 + "maxLength": 200 }, - "mode": { + { + "type": "null" + } + ] + }, + "variant": { + "type": "string", + "maxLength": 50 + }, + "temperature": { + "type": "number" + }, + "top_p": { + "type": "number" + }, + "steps": { + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + "hidden": { + "type": "boolean" + }, + "disable": { + "type": "boolean" + }, + "color": { + "type": "string", + "maxLength": 50 + }, + "permission": { + "anyOf": [ + { "type": "string", "enum": [ - "subagent", - "primary", - "all" - ] - }, - "model": { - "anyOf": [ - { - "type": "string", - "maxLength": 200 - }, - { - "type": "null" - } + "allow", + "ask", + "deny" ] }, - "variant": { - "type": "string", - "maxLength": 50 - }, - "temperature": { - "type": "number" - }, - "top_p": { - "type": "number" - }, - "steps": { - "type": "integer", - "exclusiveMinimum": 0, - "maximum": 9007199254740991 - }, - "hidden": { - "type": "boolean" - }, - "disable": { - "type": "boolean" - }, - "color": { - "type": "string", - "maxLength": 50 - }, - "permission": { - "anyOf": [ - { - "type": "string", - "enum": [ - "allow", - "ask", - "deny" - ] - }, - { - "type": "object", - "propertyNames": { - "type": "string" - }, - "additionalProperties": { + { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "anyOf": [ + { "anyOf": [ { - "anyOf": [ - { - "type": "string", - "enum": [ - "allow", - "ask", - "deny" - ] - }, - { - "type": "null" - } + "type": "string", + "enum": [ + "allow", + "ask", + "deny" ] }, { - "type": "object", - "propertyNames": { - "type": "string" - }, - "additionalProperties": { - "anyOf": [ - { - "type": "string", - "enum": [ - "allow", - "ask", - "deny" - ] - }, - { - "type": "null" - } - ] - } + "type": "null" } ] + }, + { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "anyOf": [ + { + "type": "string", + "enum": [ + "allow", + "ask", + "deny" + ] + }, + { + "type": "null" + } + ] + } } - } - ] - }, - "options": { - "type": "object", - "propertyNames": { - "type": "string" - }, - "additionalProperties": {} + ] + } } - } - } - }, - "required": [ - "slug", - "name", - "config" - ] - } - }, - "upstreamBranch": { - "type": "string" - }, - "autoCommit": { - "type": "boolean" - }, - "attachments": { - "type": "object", - "properties": { - "path": { - "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - }, - "files": { - "minItems": 1, - "maxItems": 5, - "type": "array", - "items": { - "type": "string" + ] + }, + "options": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} } } - }, - "required": [ - "path", - "files" - ] + } }, - "images": { - "type": "object", - "properties": { - "path": { - "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - }, - "files": { - "minItems": 1, - "maxItems": 5, - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\\.(?:png|jpg|webp|gif)$" - } - } - }, - "required": [ - "path", - "files" - ] + "required": [ + "slug", + "name", + "config" + ] + } + }, + "upstreamBranch": { + "type": "string" + }, + "autoCommit": { + "type": "boolean" + }, + "attachments": { + "type": "object", + "properties": { + "path": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, - "devcontainer": { - "type": "boolean" + "files": { + "minItems": 1, + "maxItems": 5, + "type": "array", + "items": { + "type": "string" + } } }, "required": [ - "prompt", - "mode", - "model" + "path", + "files" ] }, - { + "images": { "type": "object", "properties": { - "prompt": {}, - "initialMessageId": {}, - "initialPayload": {}, - "cloneFromKiloSessionId": { - "type": "string", - "minLength": 30, - "maxLength": 30, - "pattern": "^ses_.*" - }, - "cloneUpToMessageId": { - "type": "string", - "pattern": "^msg_[0-9a-f]{12}[0-9A-Za-z]{14}$" - }, - "autoInitiate": { - "type": "boolean", - "const": true - }, - "operationKey": { - "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - }, - "githubRepo": { - "type": "string", - "pattern": "^[a-zA-Z0-9_.-]+\\/[a-zA-Z0-9_.-]+$" - }, - "githubIntegrationId": { - "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - }, - "gitlabProject": { - "description": "GitLab project path (e.g., group/project or group/subgroup/project)", - "type": "string", - "pattern": "^[a-zA-Z0-9_.-]+(?:\\/[a-zA-Z0-9_.-]+)+$" - }, - "bitbucketRepo": { - "type": "object", - "properties": { - "fullName": { - "type": "string", - "pattern": "^[a-zA-Z0-9_.-]+\\/[a-zA-Z0-9_.-]+$" - }, - "workspaceUuid": { - "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - }, - "repositoryUuid": { - "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - } - }, - "required": [ - "fullName", - "workspaceUuid", - "repositoryUuid" - ], - "additionalProperties": false - }, - "mode": { - "type": "string", - "minLength": 1, - "maxLength": 50, - "pattern": "^[a-z][a-z0-9-]*$" - }, - "model": { - "type": "string", - "minLength": 1 - }, - "variant": { - "type": "string", - "maxLength": 50, - "pattern": "^[a-zA-Z]+$" - }, - "profileId": { + "path": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, - "envVars": { - "type": "object", - "propertyNames": { - "type": "string", - "maxLength": 256 - }, - "additionalProperties": { - "type": "string", - "maxLength": 256 - } - }, - "setupCommands": { - "maxItems": 20, + "files": { + "minItems": 1, + "maxItems": 5, "type": "array", "items": { "type": "string", - "maxLength": 500 + "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\\.(?:png|jpg|webp|gif)$" } - }, - "mcpServers": { - "type": "object", - "propertyNames": { - "type": "string" - }, - "additionalProperties": { - "oneOf": [ - { - "type": "object", - "properties": { - "type": { - "type": "string", - "const": "local" - }, - "command": { - "minItems": 1, - "type": "array", - "items": { - "type": "string" - } - }, - "environment": { - "type": "object", - "propertyNames": { - "type": "string" - }, - "additionalProperties": { - "anyOf": [ - { - "type": "string", - "maxLength": 4096 - }, - { - "type": "object", - "properties": { - "encryptedData": { - "type": "string" - }, - "encryptedDEK": { - "type": "string" - }, - "algorithm": { - "type": "string", - "const": "rsa-aes-256-gcm" - }, - "version": { - "type": "number", - "const": 1 - } - }, - "required": [ - "encryptedData", - "encryptedDEK", - "algorithm", - "version" - ] - } - ] - } - }, - "enabled": { - "type": "boolean" - }, - "timeout": { - "type": "number", - "minimum": 1, - "maximum": 3600000 - } - }, - "required": [ - "type", - "command" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "type": { - "type": "string", - "const": "remote" - }, - "url": { - "type": "string", - "format": "uri" - }, - "headers": { - "type": "object", - "propertyNames": { - "type": "string" - }, - "additionalProperties": { - "anyOf": [ - { - "type": "string", - "maxLength": 4096 - }, - { - "type": "object", - "properties": { - "encryptedData": { - "type": "string" - }, - "encryptedDEK": { - "type": "string" - }, - "algorithm": { - "type": "string", - "const": "rsa-aes-256-gcm" - }, - "version": { - "type": "number", - "const": 1 - } - }, - "required": [ - "encryptedData", - "encryptedDEK", - "algorithm", - "version" - ] - } - ] - } - }, - "enabled": { - "type": "boolean" - }, - "timeout": { - "type": "number", - "minimum": 1, - "maximum": 3600000 - } - }, - "required": [ - "type", - "url" - ], - "additionalProperties": false - } - ] - } - }, - "runtimeSkills": { - "maxItems": 50, - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "minLength": 1, - "maxLength": 100, - "pattern": "^[a-z0-9][a-z0-9-]*$" - }, - "rawMarkdown": { - "type": "string", - "minLength": 1, - "maxLength": 100000 - }, - "files": { - "type": "object", - "propertyNames": { - "type": "string", - "maxLength": 200 - }, - "additionalProperties": { - "type": "string", - "maxLength": 100000 - } - } - }, - "required": [ - "name", - "rawMarkdown" - ] - } - }, - "runtimeAgents": { - "maxItems": 20, - "type": "array", - "items": { - "type": "object", - "properties": { - "slug": { - "type": "string", - "minLength": 1, - "maxLength": 50, - "pattern": "^[a-z][a-z0-9-]*$" - }, - "name": { - "type": "string", - "minLength": 1, - "maxLength": 100 - }, - "config": { - "type": "object", - "properties": { - "prompt": { - "type": "string", - "maxLength": 50000 - }, - "description": { - "type": "string", - "maxLength": 2000 - }, - "mode": { - "type": "string", - "enum": [ - "subagent", - "primary", - "all" - ] - }, - "model": { - "anyOf": [ - { - "type": "string", - "maxLength": 200 - }, - { - "type": "null" - } - ] - }, - "variant": { - "type": "string", - "maxLength": 50 - }, - "temperature": { - "type": "number" - }, - "top_p": { - "type": "number" - }, - "steps": { - "type": "integer", - "exclusiveMinimum": 0, - "maximum": 9007199254740991 - }, - "hidden": { - "type": "boolean" - }, - "disable": { - "type": "boolean" - }, - "color": { - "type": "string", - "maxLength": 50 - }, - "permission": { - "anyOf": [ - { - "type": "string", - "enum": [ - "allow", - "ask", - "deny" - ] - }, - { - "type": "object", - "propertyNames": { - "type": "string" - }, - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "type": "string", - "enum": [ - "allow", - "ask", - "deny" - ] - }, - { - "type": "null" - } - ] - }, - { - "type": "object", - "propertyNames": { - "type": "string" - }, - "additionalProperties": { - "anyOf": [ - { - "type": "string", - "enum": [ - "allow", - "ask", - "deny" - ] - }, - { - "type": "null" - } - ] - } - } - ] - } - } - ] - }, - "options": { - "type": "object", - "propertyNames": { - "type": "string" - }, - "additionalProperties": {} - } - } - } - }, - "required": [ - "slug", - "name", - "config" - ] - } - }, - "upstreamBranch": { - "type": "string" - }, - "autoCommit": { - "type": "boolean" - }, - "attachments": { - "type": "object", - "properties": { - "path": { - "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - }, - "files": { - "minItems": 1, - "maxItems": 5, - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "path", - "files" - ] - }, - "images": { - "type": "object", - "properties": { - "path": { - "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - }, - "files": { - "minItems": 1, - "maxItems": 5, - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\\.(?:png|jpg|webp|gif)$" - } - } - }, - "required": [ - "path", - "files" - ] - }, - "devcontainer": { - "type": "boolean" } }, "required": [ - "cloneFromKiloSessionId", - "autoInitiate", - "operationKey", - "mode", - "model" + "path", + "files" ] + }, + "devcontainer": { + "type": "boolean" } + }, + "required": [ + "prompt", + "mode", + "model" ] }, { @@ -7708,12 +7346,7 @@ "maxLength": 254, "pattern": "^[A-Za-z0-9.-]+$" } - } - } - }, - { - "type": "object", - "properties": { + }, "sandboxAllocation": { "anyOf": [ { @@ -7840,148 +7473,632 @@ ] } ] - } - } - } - ] - }, - "tags": [ - "cloudagentnext", - "preparesession", - "egressmode", - "egressallowlist", - "sandboxallocation" - ], - "searchBlob": "cloudAgentNext.prepareSession Set up a new cloud agent session before it starts, including the repository, model, and any attached files or images. cloudagentnext preparesession egressmode egressallowlist sandboxallocation egressMode egressAllowlist sandboxAllocation" - }, - "cloudAgentNext.refreshTerminalTicket": { - "path": "cloudAgentNext.refreshTerminalTicket", - "kind": "mutation", - "summary": "Get a fresh connection ticket for an existing cloud agent terminal.", - "inputSchema": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "object", - "properties": { - "cloudAgentSessionId": { - "type": "string" - }, - "ptyId": { - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^[a-zA-Z0-9_-]+$" - } - }, - "required": [ - "cloudAgentSessionId", - "ptyId" - ] - }, - "tags": [ - "cloudagentnext", - "refreshterminalticket", - "cloudagentsessionid", - "ptyid" - ], - "searchBlob": "cloudAgentNext.refreshTerminalTicket Get a fresh connection ticket for an existing cloud agent terminal. cloudagentnext refreshterminalticket cloudagentsessionid ptyid cloudAgentSessionId ptyId" - }, - "cloudAgentNext.refreshWorktreeChanges": { - "path": "cloudAgentNext.refreshWorktreeChanges", - "kind": "mutation", - "summary": "Refresh the list of file changes in a cloud agent session's worktree.", - "inputSchema": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "object", - "properties": { - "cloudAgentSessionId": { - "type": "string", - "pattern": "^workspace_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" - } - }, - "required": [ - "cloudAgentSessionId" - ], - "additionalProperties": false - }, - "tags": [ - "cloudagentnext", - "refreshworktreechanges", - "cloudagentsessionid" - ], - "searchBlob": "cloudAgentNext.refreshWorktreeChanges Refresh the list of file changes in a cloud agent session's worktree. cloudagentnext refreshworktreechanges cloudagentsessionid cloudAgentSessionId" - }, - "cloudAgentNext.rejectQuestion": { - "path": "cloudAgentNext.rejectQuestion", - "kind": "mutation", - "summary": "Decline a question the cloud agent asked so it stops waiting for an answer.", - "inputSchema": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "object", - "properties": { - "sessionId": { - "type": "string" - }, - "questionId": { - "type": "string", - "minLength": 1 - } - }, - "required": [ - "sessionId", - "questionId" - ] - }, - "tags": [ - "cloudagentnext", - "rejectquestion", - "sessionid", - "questionid" - ], - "searchBlob": "cloudAgentNext.rejectQuestion Decline a question the cloud agent asked so it stops waiting for an answer. cloudagentnext rejectquestion sessionid questionid sessionId questionId" - }, - "cloudAgentNext.releasePendingUploads": { - "path": "cloudAgentNext.releasePendingUploads", - "kind": "mutation", - "summary": "Discard pending uploaded files so they are no longer kept for a message.", - "inputSchema": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "object", - "properties": { - "objectKeys": { - "minItems": 1, - "maxItems": 5, - "type": "array", - "items": { - "type": "string", - "minLength": 1, - "maxLength": 1024 - } - } - }, - "required": [ - "objectKeys" - ] - }, - "tags": [ - "cloudagentnext", - "releasependinguploads", - "objectkeys" - ], - "searchBlob": "cloudAgentNext.releasePendingUploads Discard pending uploaded files so they are no longer kept for a message. cloudagentnext releasependinguploads objectkeys objectKeys" - }, - "cloudAgentNext.resizeTerminal": { - "path": "cloudAgentNext.resizeTerminal", - "kind": "mutation", - "summary": "Change the size of a cloud agent terminal window.", - "inputSchema": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "object", - "properties": { - "cloudAgentSessionId": { - "type": "string" - }, - "ptyId": { - "type": "string", + }, + "prompt": {}, + "initialMessageId": {}, + "initialPayload": {}, + "cloneFromKiloSessionId": { + "type": "string", + "minLength": 30, + "maxLength": 30, + "format": "starts_with", + "pattern": "^ses_.*" + }, + "cloneUpToMessageId": { + "type": "string", + "pattern": "^msg_[0-9a-f]{12}[0-9A-Za-z]{14}$" + }, + "autoInitiate": { + "type": "boolean", + "const": true + }, + "operationKey": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + }, + "githubRepo": { + "type": "string", + "pattern": "^[a-zA-Z0-9_.-]+\\/[a-zA-Z0-9_.-]+$" + }, + "githubIntegrationId": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + }, + "gitlabProject": { + "description": "GitLab project path (e.g., group/project or group/subgroup/project)", + "type": "string", + "pattern": "^[a-zA-Z0-9_.-]+(?:\\/[a-zA-Z0-9_.-]+)+$" + }, + "bitbucketRepo": { + "type": "object", + "properties": { + "fullName": { + "type": "string", + "pattern": "^[a-zA-Z0-9_.-]+\\/[a-zA-Z0-9_.-]+$" + }, + "workspaceUuid": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + }, + "repositoryUuid": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + } + }, + "required": [ + "fullName", + "workspaceUuid", + "repositoryUuid" + ], + "additionalProperties": false + }, + "mode": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[a-z][a-z0-9-]*$" + }, + "model": { + "type": "string", + "minLength": 1 + }, + "variant": { + "type": "string", + "maxLength": 50, + "pattern": "^[a-zA-Z]+$" + }, + "profileId": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + }, + "envVars": { + "type": "object", + "propertyNames": { + "type": "string", + "maxLength": 256 + }, + "additionalProperties": { + "type": "string", + "maxLength": 256 + } + }, + "setupCommands": { + "maxItems": 20, + "type": "array", + "items": { + "type": "string", + "maxLength": 500 + } + }, + "mcpServers": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "local" + }, + "command": { + "minItems": 1, + "type": "array", + "items": { + "type": "string" + } + }, + "environment": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "anyOf": [ + { + "type": "string", + "maxLength": 4096 + }, + { + "type": "object", + "properties": { + "encryptedData": { + "type": "string" + }, + "encryptedDEK": { + "type": "string" + }, + "algorithm": { + "type": "string", + "const": "rsa-aes-256-gcm" + }, + "version": { + "type": "number", + "const": 1 + } + }, + "required": [ + "encryptedData", + "encryptedDEK", + "algorithm", + "version" + ] + } + ] + } + }, + "enabled": { + "type": "boolean" + }, + "timeout": { + "type": "number", + "minimum": 1, + "maximum": 3600000 + } + }, + "required": [ + "type", + "command" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "remote" + }, + "url": { + "type": "string", + "format": "uri" + }, + "headers": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "anyOf": [ + { + "type": "string", + "maxLength": 4096 + }, + { + "type": "object", + "properties": { + "encryptedData": { + "type": "string" + }, + "encryptedDEK": { + "type": "string" + }, + "algorithm": { + "type": "string", + "const": "rsa-aes-256-gcm" + }, + "version": { + "type": "number", + "const": 1 + } + }, + "required": [ + "encryptedData", + "encryptedDEK", + "algorithm", + "version" + ] + } + ] + } + }, + "enabled": { + "type": "boolean" + }, + "timeout": { + "type": "number", + "minimum": 1, + "maximum": 3600000 + } + }, + "required": [ + "type", + "url" + ], + "additionalProperties": false + } + ] + } + }, + "runtimeSkills": { + "maxItems": 50, + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "minLength": 1, + "maxLength": 100, + "pattern": "^[a-z0-9][a-z0-9-]*$" + }, + "rawMarkdown": { + "type": "string", + "minLength": 1, + "maxLength": 100000 + }, + "files": { + "type": "object", + "propertyNames": { + "type": "string", + "maxLength": 200 + }, + "additionalProperties": { + "type": "string", + "maxLength": 100000 + } + } + }, + "required": [ + "name", + "rawMarkdown" + ] + } + }, + "runtimeAgents": { + "maxItems": 20, + "type": "array", + "items": { + "type": "object", + "properties": { + "slug": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[a-z][a-z0-9-]*$" + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 100 + }, + "config": { + "type": "object", + "properties": { + "prompt": { + "type": "string", + "maxLength": 50000 + }, + "description": { + "type": "string", + "maxLength": 2000 + }, + "mode": { + "type": "string", + "enum": [ + "subagent", + "primary", + "all" + ] + }, + "model": { + "anyOf": [ + { + "type": "string", + "maxLength": 200 + }, + { + "type": "null" + } + ] + }, + "variant": { + "type": "string", + "maxLength": 50 + }, + "temperature": { + "type": "number" + }, + "top_p": { + "type": "number" + }, + "steps": { + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + "hidden": { + "type": "boolean" + }, + "disable": { + "type": "boolean" + }, + "color": { + "type": "string", + "maxLength": 50 + }, + "permission": { + "anyOf": [ + { + "type": "string", + "enum": [ + "allow", + "ask", + "deny" + ] + }, + { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "anyOf": [ + { + "anyOf": [ + { + "type": "string", + "enum": [ + "allow", + "ask", + "deny" + ] + }, + { + "type": "null" + } + ] + }, + { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "anyOf": [ + { + "type": "string", + "enum": [ + "allow", + "ask", + "deny" + ] + }, + { + "type": "null" + } + ] + } + } + ] + } + } + ] + }, + "options": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + } + } + }, + "required": [ + "slug", + "name", + "config" + ] + } + }, + "upstreamBranch": { + "type": "string" + }, + "autoCommit": { + "type": "boolean" + }, + "attachments": { + "type": "object", + "properties": { + "path": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + }, + "files": { + "minItems": 1, + "maxItems": 5, + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "path", + "files" + ] + }, + "images": { + "type": "object", + "properties": { + "path": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + }, + "files": { + "minItems": 1, + "maxItems": 5, + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\\.(?:png|jpg|webp|gif)$" + } + } + }, + "required": [ + "path", + "files" + ] + }, + "devcontainer": { + "type": "boolean" + } + }, + "required": [ + "cloneFromKiloSessionId", + "autoInitiate", + "operationKey", + "mode", + "model" + ] + } + ] + }, + "tags": [ + "cloudagentnext", + "preparesession" + ], + "searchBlob": "cloudAgentNext.prepareSession Set up a new cloud agent session before it starts, including the repository, model, and any attached files or images. cloudagentnext preparesession" + }, + "cloudAgentNext.refreshTerminalTicket": { + "path": "cloudAgentNext.refreshTerminalTicket", + "kind": "mutation", + "summary": "Get a fresh connection ticket for an existing cloud agent terminal.", + "inputSchema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "cloudAgentSessionId": { + "type": "string" + }, + "ptyId": { + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^[a-zA-Z0-9_-]+$" + } + }, + "required": [ + "cloudAgentSessionId", + "ptyId" + ] + }, + "tags": [ + "cloudagentnext", + "refreshterminalticket", + "cloudagentsessionid", + "ptyid" + ], + "searchBlob": "cloudAgentNext.refreshTerminalTicket Get a fresh connection ticket for an existing cloud agent terminal. cloudagentnext refreshterminalticket cloudagentsessionid ptyid cloudAgentSessionId ptyId" + }, + "cloudAgentNext.refreshWorktreeChanges": { + "path": "cloudAgentNext.refreshWorktreeChanges", + "kind": "mutation", + "summary": "Refresh the list of file changes in a cloud agent session's worktree.", + "inputSchema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "cloudAgentSessionId": { + "type": "string", + "pattern": "^workspace_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" + } + }, + "required": [ + "cloudAgentSessionId" + ], + "additionalProperties": false + }, + "tags": [ + "cloudagentnext", + "refreshworktreechanges", + "cloudagentsessionid" + ], + "searchBlob": "cloudAgentNext.refreshWorktreeChanges Refresh the list of file changes in a cloud agent session's worktree. cloudagentnext refreshworktreechanges cloudagentsessionid cloudAgentSessionId" + }, + "cloudAgentNext.rejectQuestion": { + "path": "cloudAgentNext.rejectQuestion", + "kind": "mutation", + "summary": "Decline a question the cloud agent asked so it stops waiting for an answer.", + "inputSchema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "questionId": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "sessionId", + "questionId" + ] + }, + "tags": [ + "cloudagentnext", + "rejectquestion", + "sessionid", + "questionid" + ], + "searchBlob": "cloudAgentNext.rejectQuestion Decline a question the cloud agent asked so it stops waiting for an answer. cloudagentnext rejectquestion sessionid questionid sessionId questionId" + }, + "cloudAgentNext.releasePendingUploads": { + "path": "cloudAgentNext.releasePendingUploads", + "kind": "mutation", + "summary": "Discard pending uploaded files so they are no longer kept for a message.", + "inputSchema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "objectKeys": { + "minItems": 1, + "maxItems": 5, + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 1024 + } + } + }, + "required": [ + "objectKeys" + ] + }, + "tags": [ + "cloudagentnext", + "releasependinguploads", + "objectkeys" + ], + "searchBlob": "cloudAgentNext.releasePendingUploads Discard pending uploaded files so they are no longer kept for a message. cloudagentnext releasependinguploads objectkeys objectKeys" + }, + "cloudAgentNext.resizeTerminal": { + "path": "cloudAgentNext.resizeTerminal", + "kind": "mutation", + "summary": "Change the size of a cloud agent terminal window.", + "inputSchema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "cloudAgentSessionId": { + "type": "string" + }, + "ptyId": { + "type": "string", "minLength": 1, "maxLength": 128, "pattern": "^[a-zA-Z0-9_-]+$" @@ -12346,13 +12463,9 @@ "type": "object", "properties": { "cursor": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } + "type": [ + "string", + "null" ] }, "limit": { @@ -12414,13 +12527,9 @@ "type": "object", "properties": { "cursor": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } + "type": [ + "string", + "null" ] }, "limit": { @@ -13816,43 +13925,27 @@ "type": "object", "properties": { "telegramBotToken": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } + "type": [ + "string", + "null" ] }, "discordBotToken": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } + "type": [ + "string", + "null" ] }, "slackBotToken": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } + "type": [ + "string", + "null" ] }, "slackAppToken": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } + "type": [ + "string", + "null" ] } } @@ -13890,13 +13983,9 @@ "type": "boolean" }, "vectorMemoryModel": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } + "type": [ + "string", + "null" ] }, "dreamingEnabled": { @@ -14966,13 +15055,9 @@ "type": "boolean" }, "vectorMemoryModel": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } + "type": [ + "string", + "null" ] }, "dreamingEnabled": { @@ -15499,23 +15584,15 @@ "type": "string" }, "modelId": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } + "type": [ + "string", + "null" ] }, "sessionId": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } + "type": [ + "string", + "null" ] }, "reason": { @@ -16435,12 +16512,12 @@ "before": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "after": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "action": { "type": "array", @@ -16493,7 +16570,7 @@ "actorEmail": { "type": "string", "format": "email", - "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" + "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "fuzzySearch": { "type": "string" @@ -16501,12 +16578,12 @@ "startTime": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "endTime": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ @@ -17345,6 +17422,7 @@ "path": { "type": "string", "maxLength": 2048, + "format": "starts_with", "pattern": "^\\/.*" } }, @@ -17435,6 +17513,7 @@ "type": "string", "minLength": 30, "maxLength": 30, + "format": "starts_with", "pattern": "^ses_.*" }, "operationKey": { @@ -17746,6 +17825,7 @@ "properties": { "cloudAgentSessionId": { "type": "string", + "format": "starts_with", "allOf": [ { "pattern": "^(agent|workspace)_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" @@ -18230,1045 +18310,701 @@ ] }, { - "allOf": [ + "anyOf": [ { - "anyOf": [ - { - "type": "object", - "properties": { - "prompt": { - "type": "string", - "minLength": 1, - "maxLength": 100000 - }, - "initialMessageId": { - "type": "string", - "pattern": "^msg_[0-9a-f]{12}[0-9A-Za-z]{14}$" - }, - "initialPayload": { - "oneOf": [ + "type": "object", + "properties": { + "egressMode": { + "description": "Defaults to unrestricted when omitted. The allowlist mode permits the Kilo/Git baseline plus optional egressAllowlist domains.", + "type": "string", + "enum": [ + "unrestricted", + "allowlist" + ] + }, + "egressAllowlist": { + "description": "Additional exact DNS hostnames; requires explicit allowlist mode.", + "maxItems": 100, + "type": "array", + "items": { + "type": "string", + "maxLength": 254, + "pattern": "^[A-Za-z0-9.-]+$" + } + }, + "organizationId": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + }, + "sandboxAllocation": { + "anyOf": [ + { + "anyOf": [ { "type": "object", "properties": { - "type": { - "type": "string", - "const": "prompt" - }, - "prompt": { - "type": "string", - "minLength": 1 - }, - "mode": { - "type": "string", - "minLength": 1, - "maxLength": 50, - "pattern": "^[a-z][a-z0-9-]*$" + "provider": { + "type": "object", + "properties": { + "id": { + "type": "string", + "const": "cloudflare" + }, + "account": { + "type": "string", + "const": "kilo" + } + }, + "required": [ + "id", + "account" + ], + "additionalProperties": false }, - "model": { + "instanceType": { "type": "string", - "minLength": 1 + "enum": [ + "single", + "shared" + ] + } + }, + "required": [ + "provider", + "instanceType" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "provider": { + "type": "object", + "properties": { + "id": { + "type": "string", + "const": "vercel" + }, + "account": { + "type": "string", + "enum": [ + "kilo", + "byoc" + ] + } + }, + "required": [ + "id", + "account" + ], + "additionalProperties": false }, - "variant": { + "instanceType": { "type": "string", - "maxLength": 50, - "pattern": "^[a-zA-Z]+$" + "enum": [ + "small", + "large" + ] } }, "required": [ - "type", - "prompt", - "mode", - "model" - ] + "provider", + "instanceType" + ], + "additionalProperties": false }, { "type": "object", "properties": { - "type": { - "type": "string", - "const": "command" + "provider": { + "type": "object", + "properties": { + "id": { + "type": "string", + "const": "cloudflare-containers" + }, + "account": { + "type": "string", + "const": "kilo" + } + }, + "required": [ + "id", + "account" + ], + "additionalProperties": false }, - "command": { + "instanceType": { "type": "string", - "minLength": 1 - }, - "arguments": { - "default": "", - "type": "string" + "enum": [ + "standard-3", + "standard-4" + ] } }, "required": [ - "type", - "command" - ] + "provider", + "instanceType" + ], + "additionalProperties": false } ] }, - "autoInitiate": { - "type": "boolean" - }, - "operationKey": { - "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - }, - "cloneFromKiloSessionId": {}, - "cloneUpToMessageId": {}, - "githubRepo": { - "type": "string", - "pattern": "^[a-zA-Z0-9_.-]+\\/[a-zA-Z0-9_.-]+$" - }, - "githubIntegrationId": { - "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - }, - "gitlabProject": { - "description": "GitLab project path (e.g., group/project or group/subgroup/project)", + { "type": "string", - "pattern": "^[a-zA-Z0-9_.-]+(?:\\/[a-zA-Z0-9_.-]+)+$" - }, - "bitbucketRepo": { + "enum": [ + "cloudflare-single", + "cloudflare-shared", + "cloudflare-containers-standard-3", + "cloudflare-containers-standard-4", + "vercel-small", + "vercel-large" + ] + } + ] + }, + "prompt": { + "type": "string", + "minLength": 1, + "maxLength": 100000 + }, + "initialMessageId": { + "type": "string", + "pattern": "^msg_[0-9a-f]{12}[0-9A-Za-z]{14}$" + }, + "initialPayload": { + "oneOf": [ + { "type": "object", "properties": { - "fullName": { + "type": { "type": "string", - "pattern": "^[a-zA-Z0-9_.-]+\\/[a-zA-Z0-9_.-]+$" + "const": "prompt" }, - "workspaceUuid": { + "prompt": { "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + "minLength": 1 }, - "repositoryUuid": { + "mode": { "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - } - }, - "required": [ - "fullName", - "workspaceUuid", - "repositoryUuid" - ], - "additionalProperties": false - }, - "mode": { - "type": "string", - "minLength": 1, - "maxLength": 50, - "pattern": "^[a-z][a-z0-9-]*$" - }, - "model": { - "type": "string", - "minLength": 1 - }, - "variant": { - "type": "string", - "maxLength": 50, - "pattern": "^[a-zA-Z]+$" - }, - "profileId": { - "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - }, - "envVars": { - "type": "object", - "propertyNames": { - "type": "string", - "maxLength": 256 - }, - "additionalProperties": { - "type": "string", - "maxLength": 256 - } - }, - "setupCommands": { - "maxItems": 20, - "type": "array", - "items": { - "type": "string", - "maxLength": 500 - } - }, - "mcpServers": { - "type": "object", - "propertyNames": { - "type": "string" - }, - "additionalProperties": { - "oneOf": [ - { - "type": "object", - "properties": { - "type": { - "type": "string", - "const": "local" - }, - "command": { - "minItems": 1, - "type": "array", - "items": { - "type": "string" - } - }, - "environment": { - "type": "object", - "propertyNames": { - "type": "string" - }, - "additionalProperties": { - "anyOf": [ - { - "type": "string", - "maxLength": 4096 - }, - { - "type": "object", - "properties": { - "encryptedData": { - "type": "string" - }, - "encryptedDEK": { - "type": "string" - }, - "algorithm": { - "type": "string", - "const": "rsa-aes-256-gcm" - }, - "version": { - "type": "number", - "const": 1 - } - }, - "required": [ - "encryptedData", - "encryptedDEK", - "algorithm", - "version" - ] - } - ] - } - }, - "enabled": { - "type": "boolean" - }, - "timeout": { - "type": "number", - "minimum": 1, - "maximum": 3600000 - } - }, - "required": [ - "type", - "command" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "type": { - "type": "string", - "const": "remote" - }, - "url": { - "type": "string", - "format": "uri" - }, - "headers": { - "type": "object", - "propertyNames": { - "type": "string" - }, - "additionalProperties": { - "anyOf": [ - { - "type": "string", - "maxLength": 4096 - }, - { - "type": "object", - "properties": { - "encryptedData": { - "type": "string" - }, - "encryptedDEK": { - "type": "string" - }, - "algorithm": { - "type": "string", - "const": "rsa-aes-256-gcm" - }, - "version": { - "type": "number", - "const": 1 - } - }, - "required": [ - "encryptedData", - "encryptedDEK", - "algorithm", - "version" - ] - } - ] - } - }, - "enabled": { - "type": "boolean" - }, - "timeout": { - "type": "number", - "minimum": 1, - "maximum": 3600000 - } - }, - "required": [ - "type", - "url" - ], - "additionalProperties": false - } - ] - } - }, - "runtimeSkills": { - "maxItems": 50, - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "minLength": 1, - "maxLength": 100, - "pattern": "^[a-z0-9][a-z0-9-]*$" - }, - "rawMarkdown": { - "type": "string", - "minLength": 1, - "maxLength": 100000 - }, - "files": { - "type": "object", - "propertyNames": { - "type": "string", - "maxLength": 200 - }, - "additionalProperties": { - "type": "string", - "maxLength": 100000 - } - } - }, - "required": [ - "name", - "rawMarkdown" - ] - } - }, - "runtimeAgents": { - "maxItems": 20, - "type": "array", - "items": { - "type": "object", - "properties": { - "slug": { - "type": "string", - "minLength": 1, - "maxLength": 50, - "pattern": "^[a-z][a-z0-9-]*$" - }, - "name": { - "type": "string", - "minLength": 1, - "maxLength": 100 - }, - "config": { - "type": "object", - "properties": { - "prompt": { - "type": "string", - "maxLength": 50000 - }, - "description": { - "type": "string", - "maxLength": 2000 - }, - "mode": { - "type": "string", - "enum": [ - "subagent", - "primary", - "all" - ] - }, - "model": { - "anyOf": [ - { - "type": "string", - "maxLength": 200 - }, - { - "type": "null" - } - ] - }, - "variant": { - "type": "string", - "maxLength": 50 - }, - "temperature": { - "type": "number" - }, - "top_p": { - "type": "number" - }, - "steps": { - "type": "integer", - "exclusiveMinimum": 0, - "maximum": 9007199254740991 - }, - "hidden": { - "type": "boolean" - }, - "disable": { - "type": "boolean" - }, - "color": { - "type": "string", - "maxLength": 50 - }, - "permission": { - "anyOf": [ - { - "type": "string", - "enum": [ - "allow", - "ask", - "deny" - ] - }, - { - "type": "object", - "propertyNames": { - "type": "string" - }, - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "type": "string", - "enum": [ - "allow", - "ask", - "deny" - ] - }, - { - "type": "null" - } - ] - }, - { - "type": "object", - "propertyNames": { - "type": "string" - }, - "additionalProperties": { - "anyOf": [ - { - "type": "string", - "enum": [ - "allow", - "ask", - "deny" - ] - }, - { - "type": "null" - } - ] - } - } - ] - } - } - ] - }, - "options": { - "type": "object", - "propertyNames": { - "type": "string" - }, - "additionalProperties": {} - } - } - } + "minLength": 1, + "maxLength": 50, + "pattern": "^[a-z][a-z0-9-]*$" }, - "required": [ - "slug", - "name", - "config" - ] - } - }, - "upstreamBranch": { - "type": "string" - }, - "autoCommit": { - "type": "boolean" - }, - "attachments": { - "type": "object", - "properties": { - "path": { + "model": { "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + "minLength": 1 }, - "files": { - "minItems": 1, - "maxItems": 5, - "type": "array", - "items": { - "type": "string" - } + "variant": { + "type": "string", + "maxLength": 50, + "pattern": "^[a-zA-Z]+$" } }, "required": [ - "path", - "files" + "type", + "prompt", + "mode", + "model" ] }, - "images": { + { "type": "object", "properties": { - "path": { + "type": { "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + "const": "command" }, - "files": { - "minItems": 1, - "maxItems": 5, - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\\.(?:png|jpg|webp|gif)$" - } + "command": { + "type": "string", + "minLength": 1 + }, + "arguments": { + "default": "", + "type": "string" } }, "required": [ - "path", - "files" + "type", + "command" ] - }, - "devcontainer": { - "type": "boolean" } - }, - "required": [ - "prompt", - "mode", - "model" ] }, - { - "type": "object", - "properties": { - "prompt": {}, - "initialMessageId": {}, - "initialPayload": {}, - "cloneFromKiloSessionId": { - "type": "string", - "minLength": 30, - "maxLength": 30, - "pattern": "^ses_.*" - }, - "cloneUpToMessageId": { - "type": "string", - "pattern": "^msg_[0-9a-f]{12}[0-9A-Za-z]{14}$" - }, - "autoInitiate": { - "type": "boolean", - "const": true - }, - "operationKey": { - "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - }, - "githubRepo": { + "autoInitiate": { + "type": "boolean" + }, + "operationKey": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + }, + "cloneFromKiloSessionId": {}, + "cloneUpToMessageId": {}, + "githubRepo": { + "type": "string", + "pattern": "^[a-zA-Z0-9_.-]+\\/[a-zA-Z0-9_.-]+$" + }, + "githubIntegrationId": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + }, + "gitlabProject": { + "description": "GitLab project path (e.g., group/project or group/subgroup/project)", + "type": "string", + "pattern": "^[a-zA-Z0-9_.-]+(?:\\/[a-zA-Z0-9_.-]+)+$" + }, + "bitbucketRepo": { + "type": "object", + "properties": { + "fullName": { "type": "string", "pattern": "^[a-zA-Z0-9_.-]+\\/[a-zA-Z0-9_.-]+$" }, - "githubIntegrationId": { + "workspaceUuid": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, - "gitlabProject": { - "description": "GitLab project path (e.g., group/project or group/subgroup/project)", - "type": "string", - "pattern": "^[a-zA-Z0-9_.-]+(?:\\/[a-zA-Z0-9_.-]+)+$" - }, - "bitbucketRepo": { - "type": "object", - "properties": { - "fullName": { - "type": "string", - "pattern": "^[a-zA-Z0-9_.-]+\\/[a-zA-Z0-9_.-]+$" - }, - "workspaceUuid": { - "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - }, - "repositoryUuid": { - "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - } - }, - "required": [ - "fullName", - "workspaceUuid", - "repositoryUuid" - ], - "additionalProperties": false - }, - "mode": { - "type": "string", - "minLength": 1, - "maxLength": 50, - "pattern": "^[a-z][a-z0-9-]*$" - }, - "model": { - "type": "string", - "minLength": 1 - }, - "variant": { - "type": "string", - "maxLength": 50, - "pattern": "^[a-zA-Z]+$" - }, - "profileId": { + "repositoryUuid": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - }, - "envVars": { - "type": "object", - "propertyNames": { - "type": "string", - "maxLength": 256 - }, - "additionalProperties": { - "type": "string", - "maxLength": 256 - } - }, - "setupCommands": { - "maxItems": 20, - "type": "array", - "items": { - "type": "string", - "maxLength": 500 - } - }, - "mcpServers": { - "type": "object", - "propertyNames": { - "type": "string" - }, - "additionalProperties": { - "oneOf": [ - { - "type": "object", - "properties": { - "type": { - "type": "string", - "const": "local" - }, - "command": { - "minItems": 1, - "type": "array", - "items": { - "type": "string" - } - }, - "environment": { - "type": "object", - "propertyNames": { - "type": "string" - }, - "additionalProperties": { - "anyOf": [ - { - "type": "string", - "maxLength": 4096 - }, - { - "type": "object", - "properties": { - "encryptedData": { - "type": "string" - }, - "encryptedDEK": { - "type": "string" - }, - "algorithm": { - "type": "string", - "const": "rsa-aes-256-gcm" - }, - "version": { - "type": "number", - "const": 1 - } - }, - "required": [ - "encryptedData", - "encryptedDEK", - "algorithm", - "version" - ] - } - ] - } - }, - "enabled": { - "type": "boolean" - }, - "timeout": { - "type": "number", - "minimum": 1, - "maximum": 3600000 - } - }, - "required": [ - "type", - "command" - ], - "additionalProperties": false + } + }, + "required": [ + "fullName", + "workspaceUuid", + "repositoryUuid" + ], + "additionalProperties": false + }, + "mode": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[a-z][a-z0-9-]*$" + }, + "model": { + "type": "string", + "minLength": 1 + }, + "variant": { + "type": "string", + "maxLength": 50, + "pattern": "^[a-zA-Z]+$" + }, + "profileId": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + }, + "envVars": { + "type": "object", + "propertyNames": { + "type": "string", + "maxLength": 256 + }, + "additionalProperties": { + "type": "string", + "maxLength": 256 + } + }, + "setupCommands": { + "maxItems": 20, + "type": "array", + "items": { + "type": "string", + "maxLength": 500 + } + }, + "mcpServers": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "local" }, - { + "command": { + "minItems": 1, + "type": "array", + "items": { + "type": "string" + } + }, + "environment": { "type": "object", - "properties": { - "type": { - "type": "string", - "const": "remote" - }, - "url": { - "type": "string", - "format": "uri" - }, - "headers": { - "type": "object", - "propertyNames": { - "type": "string" + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "anyOf": [ + { + "type": "string", + "maxLength": 4096 }, - "additionalProperties": { - "anyOf": [ - { + { + "type": "object", + "properties": { + "encryptedData": { + "type": "string" + }, + "encryptedDEK": { + "type": "string" + }, + "algorithm": { "type": "string", - "maxLength": 4096 + "const": "rsa-aes-256-gcm" }, - { - "type": "object", - "properties": { - "encryptedData": { - "type": "string" - }, - "encryptedDEK": { - "type": "string" - }, - "algorithm": { - "type": "string", - "const": "rsa-aes-256-gcm" - }, - "version": { - "type": "number", - "const": 1 - } - }, - "required": [ - "encryptedData", - "encryptedDEK", - "algorithm", - "version" - ] + "version": { + "type": "number", + "const": 1 } + }, + "required": [ + "encryptedData", + "encryptedDEK", + "algorithm", + "version" ] } - }, - "enabled": { - "type": "boolean" - }, - "timeout": { - "type": "number", - "minimum": 1, - "maximum": 3600000 - } - }, - "required": [ - "type", - "url" - ], - "additionalProperties": false + ] + } + }, + "enabled": { + "type": "boolean" + }, + "timeout": { + "type": "number", + "minimum": 1, + "maximum": 3600000 } - ] - } - }, - "runtimeSkills": { - "maxItems": 50, - "type": "array", - "items": { + }, + "required": [ + "type", + "command" + ], + "additionalProperties": false + }, + { "type": "object", "properties": { - "name": { + "type": { "type": "string", - "minLength": 1, - "maxLength": 100, - "pattern": "^[a-z0-9][a-z0-9-]*$" + "const": "remote" }, - "rawMarkdown": { + "url": { "type": "string", - "minLength": 1, - "maxLength": 100000 + "format": "uri" }, - "files": { + "headers": { "type": "object", "propertyNames": { - "type": "string", - "maxLength": 200 + "type": "string" }, "additionalProperties": { - "type": "string", - "maxLength": 100000 + "anyOf": [ + { + "type": "string", + "maxLength": 4096 + }, + { + "type": "object", + "properties": { + "encryptedData": { + "type": "string" + }, + "encryptedDEK": { + "type": "string" + }, + "algorithm": { + "type": "string", + "const": "rsa-aes-256-gcm" + }, + "version": { + "type": "number", + "const": 1 + } + }, + "required": [ + "encryptedData", + "encryptedDEK", + "algorithm", + "version" + ] + } + ] } + }, + "enabled": { + "type": "boolean" + }, + "timeout": { + "type": "number", + "minimum": 1, + "maximum": 3600000 } }, "required": [ - "name", - "rawMarkdown" - ] + "type", + "url" + ], + "additionalProperties": false + } + ] + } + }, + "runtimeSkills": { + "maxItems": 50, + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "minLength": 1, + "maxLength": 100, + "pattern": "^[a-z0-9][a-z0-9-]*$" + }, + "rawMarkdown": { + "type": "string", + "minLength": 1, + "maxLength": 100000 + }, + "files": { + "type": "object", + "propertyNames": { + "type": "string", + "maxLength": 200 + }, + "additionalProperties": { + "type": "string", + "maxLength": 100000 + } } }, - "runtimeAgents": { - "maxItems": 20, - "type": "array", - "items": { + "required": [ + "name", + "rawMarkdown" + ] + } + }, + "runtimeAgents": { + "maxItems": 20, + "type": "array", + "items": { + "type": "object", + "properties": { + "slug": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[a-z][a-z0-9-]*$" + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 100 + }, + "config": { "type": "object", "properties": { - "slug": { + "prompt": { "type": "string", - "minLength": 1, - "maxLength": 50, - "pattern": "^[a-z][a-z0-9-]*$" + "maxLength": 50000 }, - "name": { + "description": { "type": "string", - "minLength": 1, - "maxLength": 100 + "maxLength": 2000 }, - "config": { - "type": "object", - "properties": { - "prompt": { - "type": "string", - "maxLength": 50000 - }, - "description": { + "mode": { + "type": "string", + "enum": [ + "subagent", + "primary", + "all" + ] + }, + "model": { + "anyOf": [ + { "type": "string", - "maxLength": 2000 + "maxLength": 200 }, - "mode": { + { + "type": "null" + } + ] + }, + "variant": { + "type": "string", + "maxLength": 50 + }, + "temperature": { + "type": "number" + }, + "top_p": { + "type": "number" + }, + "steps": { + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + "hidden": { + "type": "boolean" + }, + "disable": { + "type": "boolean" + }, + "color": { + "type": "string", + "maxLength": 50 + }, + "permission": { + "anyOf": [ + { "type": "string", "enum": [ - "subagent", - "primary", - "all" - ] - }, - "model": { - "anyOf": [ - { - "type": "string", - "maxLength": 200 - }, - { - "type": "null" - } + "allow", + "ask", + "deny" ] }, - "variant": { - "type": "string", - "maxLength": 50 - }, - "temperature": { - "type": "number" - }, - "top_p": { - "type": "number" - }, - "steps": { - "type": "integer", - "exclusiveMinimum": 0, - "maximum": 9007199254740991 - }, - "hidden": { - "type": "boolean" - }, - "disable": { - "type": "boolean" - }, - "color": { - "type": "string", - "maxLength": 50 - }, - "permission": { - "anyOf": [ - { - "type": "string", - "enum": [ - "allow", - "ask", - "deny" - ] - }, - { - "type": "object", - "propertyNames": { - "type": "string" - }, - "additionalProperties": { + { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "anyOf": [ + { "anyOf": [ { - "anyOf": [ - { - "type": "string", - "enum": [ - "allow", - "ask", - "deny" - ] - }, - { - "type": "null" - } + "type": "string", + "enum": [ + "allow", + "ask", + "deny" ] }, { - "type": "object", - "propertyNames": { - "type": "string" - }, - "additionalProperties": { - "anyOf": [ - { - "type": "string", - "enum": [ - "allow", - "ask", - "deny" - ] - }, - { - "type": "null" - } - ] - } + "type": "null" } ] + }, + { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "anyOf": [ + { + "type": "string", + "enum": [ + "allow", + "ask", + "deny" + ] + }, + { + "type": "null" + } + ] + } } - } - ] - }, - "options": { - "type": "object", - "propertyNames": { - "type": "string" - }, - "additionalProperties": {} + ] + } } - } + ] + }, + "options": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} } - }, - "required": [ - "slug", - "name", - "config" - ] + } } }, - "upstreamBranch": { - "type": "string" - }, - "autoCommit": { - "type": "boolean" - }, - "attachments": { - "type": "object", - "properties": { - "path": { - "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - }, - "files": { - "minItems": 1, - "maxItems": 5, - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "path", - "files" - ] + "required": [ + "slug", + "name", + "config" + ] + } + }, + "upstreamBranch": { + "type": "string" + }, + "autoCommit": { + "type": "boolean" + }, + "attachments": { + "type": "object", + "properties": { + "path": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, - "images": { - "type": "object", - "properties": { - "path": { - "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - }, - "files": { - "minItems": 1, - "maxItems": 5, - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\\.(?:png|jpg|webp|gif)$" - } - } - }, - "required": [ - "path", - "files" - ] + "files": { + "minItems": 1, + "maxItems": 5, + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "path", + "files" + ] + }, + "images": { + "type": "object", + "properties": { + "path": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, - "devcontainer": { - "type": "boolean" + "files": { + "minItems": 1, + "maxItems": 5, + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\\.(?:png|jpg|webp|gif)$" + } } }, "required": [ - "cloneFromKiloSessionId", - "autoInitiate", - "operationKey", - "mode", - "model" + "path", + "files" ] + }, + "devcontainer": { + "type": "boolean" } + }, + "required": [ + "organizationId", + "prompt", + "mode", + "model" ] }, { @@ -19291,12 +19027,7 @@ "maxLength": 254, "pattern": "^[A-Za-z0-9.-]+$" } - } - } - }, - { - "type": "object", - "properties": { + }, "organizationId": { "type": "string", "format": "uuid", @@ -19428,10 +19159,495 @@ ] } ] + }, + "prompt": {}, + "initialMessageId": {}, + "initialPayload": {}, + "cloneFromKiloSessionId": { + "type": "string", + "minLength": 30, + "maxLength": 30, + "format": "starts_with", + "pattern": "^ses_.*" + }, + "cloneUpToMessageId": { + "type": "string", + "pattern": "^msg_[0-9a-f]{12}[0-9A-Za-z]{14}$" + }, + "autoInitiate": { + "type": "boolean", + "const": true + }, + "operationKey": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + }, + "githubRepo": { + "type": "string", + "pattern": "^[a-zA-Z0-9_.-]+\\/[a-zA-Z0-9_.-]+$" + }, + "githubIntegrationId": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + }, + "gitlabProject": { + "description": "GitLab project path (e.g., group/project or group/subgroup/project)", + "type": "string", + "pattern": "^[a-zA-Z0-9_.-]+(?:\\/[a-zA-Z0-9_.-]+)+$" + }, + "bitbucketRepo": { + "type": "object", + "properties": { + "fullName": { + "type": "string", + "pattern": "^[a-zA-Z0-9_.-]+\\/[a-zA-Z0-9_.-]+$" + }, + "workspaceUuid": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + }, + "repositoryUuid": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + } + }, + "required": [ + "fullName", + "workspaceUuid", + "repositoryUuid" + ], + "additionalProperties": false + }, + "mode": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[a-z][a-z0-9-]*$" + }, + "model": { + "type": "string", + "minLength": 1 + }, + "variant": { + "type": "string", + "maxLength": 50, + "pattern": "^[a-zA-Z]+$" + }, + "profileId": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + }, + "envVars": { + "type": "object", + "propertyNames": { + "type": "string", + "maxLength": 256 + }, + "additionalProperties": { + "type": "string", + "maxLength": 256 + } + }, + "setupCommands": { + "maxItems": 20, + "type": "array", + "items": { + "type": "string", + "maxLength": 500 + } + }, + "mcpServers": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "local" + }, + "command": { + "minItems": 1, + "type": "array", + "items": { + "type": "string" + } + }, + "environment": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "anyOf": [ + { + "type": "string", + "maxLength": 4096 + }, + { + "type": "object", + "properties": { + "encryptedData": { + "type": "string" + }, + "encryptedDEK": { + "type": "string" + }, + "algorithm": { + "type": "string", + "const": "rsa-aes-256-gcm" + }, + "version": { + "type": "number", + "const": 1 + } + }, + "required": [ + "encryptedData", + "encryptedDEK", + "algorithm", + "version" + ] + } + ] + } + }, + "enabled": { + "type": "boolean" + }, + "timeout": { + "type": "number", + "minimum": 1, + "maximum": 3600000 + } + }, + "required": [ + "type", + "command" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "remote" + }, + "url": { + "type": "string", + "format": "uri" + }, + "headers": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "anyOf": [ + { + "type": "string", + "maxLength": 4096 + }, + { + "type": "object", + "properties": { + "encryptedData": { + "type": "string" + }, + "encryptedDEK": { + "type": "string" + }, + "algorithm": { + "type": "string", + "const": "rsa-aes-256-gcm" + }, + "version": { + "type": "number", + "const": 1 + } + }, + "required": [ + "encryptedData", + "encryptedDEK", + "algorithm", + "version" + ] + } + ] + } + }, + "enabled": { + "type": "boolean" + }, + "timeout": { + "type": "number", + "minimum": 1, + "maximum": 3600000 + } + }, + "required": [ + "type", + "url" + ], + "additionalProperties": false + } + ] + } + }, + "runtimeSkills": { + "maxItems": 50, + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "minLength": 1, + "maxLength": 100, + "pattern": "^[a-z0-9][a-z0-9-]*$" + }, + "rawMarkdown": { + "type": "string", + "minLength": 1, + "maxLength": 100000 + }, + "files": { + "type": "object", + "propertyNames": { + "type": "string", + "maxLength": 200 + }, + "additionalProperties": { + "type": "string", + "maxLength": 100000 + } + } + }, + "required": [ + "name", + "rawMarkdown" + ] + } + }, + "runtimeAgents": { + "maxItems": 20, + "type": "array", + "items": { + "type": "object", + "properties": { + "slug": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[a-z][a-z0-9-]*$" + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 100 + }, + "config": { + "type": "object", + "properties": { + "prompt": { + "type": "string", + "maxLength": 50000 + }, + "description": { + "type": "string", + "maxLength": 2000 + }, + "mode": { + "type": "string", + "enum": [ + "subagent", + "primary", + "all" + ] + }, + "model": { + "anyOf": [ + { + "type": "string", + "maxLength": 200 + }, + { + "type": "null" + } + ] + }, + "variant": { + "type": "string", + "maxLength": 50 + }, + "temperature": { + "type": "number" + }, + "top_p": { + "type": "number" + }, + "steps": { + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + "hidden": { + "type": "boolean" + }, + "disable": { + "type": "boolean" + }, + "color": { + "type": "string", + "maxLength": 50 + }, + "permission": { + "anyOf": [ + { + "type": "string", + "enum": [ + "allow", + "ask", + "deny" + ] + }, + { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "anyOf": [ + { + "anyOf": [ + { + "type": "string", + "enum": [ + "allow", + "ask", + "deny" + ] + }, + { + "type": "null" + } + ] + }, + { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "anyOf": [ + { + "type": "string", + "enum": [ + "allow", + "ask", + "deny" + ] + }, + { + "type": "null" + } + ] + } + } + ] + } + } + ] + }, + "options": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + } + } + }, + "required": [ + "slug", + "name", + "config" + ] + } + }, + "upstreamBranch": { + "type": "string" + }, + "autoCommit": { + "type": "boolean" + }, + "attachments": { + "type": "object", + "properties": { + "path": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + }, + "files": { + "minItems": 1, + "maxItems": 5, + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "path", + "files" + ] + }, + "images": { + "type": "object", + "properties": { + "path": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + }, + "files": { + "minItems": 1, + "maxItems": 5, + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\\.(?:png|jpg|webp|gif)$" + } + } + }, + "required": [ + "path", + "files" + ] + }, + "devcontainer": { + "type": "boolean" } }, "required": [ - "organizationId" + "organizationId", + "cloneFromKiloSessionId", + "autoInitiate", + "operationKey", + "mode", + "model" ] } ] @@ -19442,12 +19658,9 @@ "organizations", "cloudagentnext", "preparesession", - "organizationid", - "egressmode", - "egressallowlist", - "sandboxallocation" + "organizationid" ], - "searchBlob": "organizations.cloudAgentNext.prepareSession Prepare a new cloud agent coding session for an organization before it starts. Use to set up a session from a repository. organizations cloudagentnext preparesession organizationid egressmode egressallowlist sandboxallocation organizationId egressMode egressAllowlist sandboxAllocation" + "searchBlob": "organizations.cloudAgentNext.prepareSession Prepare a new cloud agent coding session for an organization before it starts. Use to set up a session from a repository. organizations cloudagentnext preparesession organizationid organizationId" }, "organizations.cloudAgentNext.refreshTerminalTicket": { "path": "organizations.cloudAgentNext.refreshTerminalTicket", @@ -23407,43 +23620,27 @@ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "telegramBotToken": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } + "type": [ + "string", + "null" ] }, "discordBotToken": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } + "type": [ + "string", + "null" ] }, "slackBotToken": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } + "type": [ + "string", + "null" ] }, "slackAppToken": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } + "type": [ + "string", + "null" ] } }, @@ -23491,13 +23688,9 @@ "type": "boolean" }, "vectorMemoryModel": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } + "type": [ + "string", + "null" ] }, "dreamingEnabled": { @@ -24723,13 +24916,9 @@ "type": "boolean" }, "vectorMemoryModel": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } + "type": [ + "string", + "null" ] }, "dreamingEnabled": { @@ -24902,7 +25091,7 @@ "email": { "type": "string", "format": "email", - "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" + "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "role": { "type": "string", @@ -25189,231 +25378,10 @@ "fileRegex" ] } - ] - } - ] - } - } - } - }, - "route_model": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "organizationId", - "name", - "slug" - ] - }, - "tags": [ - "organizations", - "modes", - "create", - "organizationid", - "name", - "slug", - "config", - "route_model" - ], - "searchBlob": "organizations.modes.create Create a custom mode for an organization with a name, slug, and configuration. Use to add an organization mode. organizations modes create organizationid name slug config route_model organizationId name slug config route_model" - }, - "organizations.modes.delete": { - "path": "organizations.modes.delete", - "kind": "mutation", - "summary": "Delete a custom mode from an organization. Use to remove an organization mode.", - "inputSchema": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "object", - "properties": { - "organizationId": { - "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - }, - "modeId": { - "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - }, - "preserve_route": { - "type": "boolean" - }, - "route_model": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "organizationId", - "modeId" - ] - }, - "tags": [ - "organizations", - "modes", - "delete", - "organizationid", - "modeid", - "preserve_route", - "route_model" - ], - "searchBlob": "organizations.modes.delete Delete a custom mode from an organization. Use to remove an organization mode. organizations modes delete organizationid modeid preserve_route route_model organizationId modeId preserve_route route_model" - }, - "organizations.modes.getById": { - "path": "organizations.modes.getById", - "kind": "query", - "summary": "Get a single custom mode by its ID within an organization.", - "inputSchema": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "object", - "properties": { - "organizationId": { - "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - }, - "modeId": { - "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - } - }, - "required": [ - "organizationId", - "modeId" - ] - }, - "tags": [ - "organizations", - "modes", - "getbyid", - "organizationid", - "modeid" - ], - "searchBlob": "organizations.modes.getById Get a single custom mode by its ID within an organization. organizations modes getbyid organizationid modeid organizationId modeId" - }, - "organizations.modes.list": { - "path": "organizations.modes.list", - "kind": "query", - "summary": "List all custom modes defined for an organization.", - "inputSchema": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "object", - "properties": { - "organizationId": { - "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - } - }, - "required": [ - "organizationId" - ] - }, - "tags": [ - "organizations", - "modes", - "list", - "organizationid" - ], - "searchBlob": "organizations.modes.list List all custom modes defined for an organization. organizations modes list organizationid organizationId" - }, - "organizations.modes.update": { - "path": "organizations.modes.update", - "kind": "mutation", - "summary": "Update an organization custom mode's name, slug, configuration, or model route. Use to edit an organization mode.", - "inputSchema": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "object", - "properties": { - "organizationId": { - "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - }, - "modeId": { - "type": "string", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - }, - "name": { - "type": "string", - "minLength": 1, - "maxLength": 100 - }, - "slug": { - "type": "string", - "minLength": 1, - "maxLength": 50, - "pattern": "^[a-z0-9-]+$" - }, - "config": { - "type": "object", - "properties": { - "roleDefinition": { - "type": "string", - "minLength": 1 - }, - "whenToUse": { - "type": "string" - }, - "description": { - "type": "string" - }, - "customInstructions": { - "type": "string" - }, - "groups": { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string", - "enum": [ - "read", - "edit", - "browser", - "command", - "mcp" - ] - }, - { - "type": "array", - "prefixItems": [ - { - "type": "string", - "const": "edit" - }, - { - "type": "object", - "properties": { - "fileRegex": { - "type": "string", - "minLength": 1 - }, - "description": { - "type": "string" - } - }, - "required": [ - "fileRegex" - ] - } - ] + ], + "items": false, + "minItems": 2, + "maxItems": 2 } ] } @@ -25421,13 +25389,228 @@ } }, "route_model": { - "anyOf": [ - { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "organizationId", + "name", + "slug" + ] + }, + "tags": [ + "organizations", + "modes", + "create", + "organizationid", + "name", + "slug", + "config", + "route_model" + ], + "searchBlob": "organizations.modes.create Create a custom mode for an organization with a name, slug, and configuration. Use to add an organization mode. organizations modes create organizationid name slug config route_model organizationId name slug config route_model" + }, + "organizations.modes.delete": { + "path": "organizations.modes.delete", + "kind": "mutation", + "summary": "Delete a custom mode from an organization. Use to remove an organization mode.", + "inputSchema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "organizationId": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + }, + "modeId": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + }, + "preserve_route": { + "type": "boolean" + }, + "route_model": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "organizationId", + "modeId" + ] + }, + "tags": [ + "organizations", + "modes", + "delete", + "organizationid", + "modeid", + "preserve_route", + "route_model" + ], + "searchBlob": "organizations.modes.delete Delete a custom mode from an organization. Use to remove an organization mode. organizations modes delete organizationid modeid preserve_route route_model organizationId modeId preserve_route route_model" + }, + "organizations.modes.getById": { + "path": "organizations.modes.getById", + "kind": "query", + "summary": "Get a single custom mode by its ID within an organization.", + "inputSchema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "organizationId": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + }, + "modeId": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + } + }, + "required": [ + "organizationId", + "modeId" + ] + }, + "tags": [ + "organizations", + "modes", + "getbyid", + "organizationid", + "modeid" + ], + "searchBlob": "organizations.modes.getById Get a single custom mode by its ID within an organization. organizations modes getbyid organizationid modeid organizationId modeId" + }, + "organizations.modes.list": { + "path": "organizations.modes.list", + "kind": "query", + "summary": "List all custom modes defined for an organization.", + "inputSchema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "organizationId": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + } + }, + "required": [ + "organizationId" + ] + }, + "tags": [ + "organizations", + "modes", + "list", + "organizationid" + ], + "searchBlob": "organizations.modes.list List all custom modes defined for an organization. organizations modes list organizationid organizationId" + }, + "organizations.modes.update": { + "path": "organizations.modes.update", + "kind": "mutation", + "summary": "Update an organization custom mode's name, slug, configuration, or model route. Use to edit an organization mode.", + "inputSchema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "organizationId": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + }, + "modeId": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 100 + }, + "slug": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[a-z0-9-]+$" + }, + "config": { + "type": "object", + "properties": { + "roleDefinition": { + "type": "string", + "minLength": 1 + }, + "whenToUse": { "type": "string" }, - { - "type": "null" + "description": { + "type": "string" + }, + "customInstructions": { + "type": "string" + }, + "groups": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string", + "enum": [ + "read", + "edit", + "browser", + "command", + "mcp" + ] + }, + { + "type": "array", + "prefixItems": [ + { + "type": "string", + "const": "edit" + }, + { + "type": "object", + "properties": { + "fileRegex": { + "type": "string", + "minLength": 1 + }, + "description": { + "type": "string" + } + }, + "required": [ + "fileRegex" + ] + } + ], + "items": false, + "minItems": 2, + "maxItems": 2 + } + ] + } } + } + }, + "route_model": { + "type": [ + "string", + "null" ] } }, @@ -25889,13 +26072,9 @@ "selectedRepositoryIds": { "type": "array", "items": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "string" - } + "type": [ + "number", + "string" ] } }, @@ -25906,13 +26085,9 @@ "maxItems": 500, "type": "array", "items": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "string" - } + "type": [ + "number", + "string" ] } }, @@ -25920,13 +26095,9 @@ "maxItems": 500, "type": "array", "items": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "string" - } + "type": [ + "number", + "string" ] } } @@ -25969,13 +26140,9 @@ "type": "object", "properties": { "repositoryId": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "string" - } + "type": [ + "number", + "string" ] }, "repoFullName": { @@ -26134,13 +26301,9 @@ "councilEnabledRepositoryIds": { "type": "array", "items": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "string" - } + "type": [ + "number", + "string" ] } }, @@ -26267,13 +26430,9 @@ "selectedRepositoryIds": { "type": "array", "items": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "string" - } + "type": [ + "number", + "string" ] } }, @@ -26310,13 +26469,9 @@ "type": "object", "properties": { "repositoryId": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "string" - } + "type": [ + "number", + "string" ] }, "repoFullName": { @@ -26478,13 +26633,9 @@ "councilEnabledRepositoryIds": { "type": "array", "items": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "string" - } + "type": [ + "number", + "string" ] } }, @@ -27800,12 +27951,12 @@ "startTime": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "endTime": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "action": { "type": "array", @@ -27925,12 +28076,12 @@ "before": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "after": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "action": { "type": "array", @@ -27968,7 +28119,7 @@ "actorEmail": { "type": "string", "format": "email", - "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" + "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "resourceType": { "type": "string", @@ -27985,12 +28136,12 @@ "startTime": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "endTime": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ @@ -28300,13 +28451,9 @@ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "default_model": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } + "type": [ + "string", + "null" ] } }, @@ -28349,7 +28496,7 @@ "items": { "type": "string", "format": "email", - "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" + "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" } } }, @@ -29219,13 +29366,9 @@ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "company_domain": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } + "type": [ + "string", + "null" ] } }, @@ -29367,12 +29510,12 @@ "startDate": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "endDate": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ @@ -33243,12 +33386,12 @@ "startTime": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "endTime": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "action": { "type": "array", @@ -33328,12 +33471,12 @@ "before": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "after": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "action": { "type": "array", @@ -33371,7 +33514,7 @@ "actorEmail": { "type": "string", "format": "email", - "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" + "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "resourceType": { "type": "string", @@ -33388,12 +33531,12 @@ "startTime": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "endTime": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } } }, @@ -34362,7 +34505,7 @@ "cursor": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "limit": { "default": 10, @@ -34429,7 +34572,7 @@ "updatedSince": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } } }, @@ -34470,7 +34613,7 @@ "updatedSince": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ @@ -34585,12 +34728,12 @@ "startDate": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "endDate": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "granularity": { "type": "string", @@ -34811,12 +34954,12 @@ "startDate": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "endDate": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "granularity": { "type": "string", @@ -34981,12 +35124,12 @@ "startDate": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "endDate": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "granularity": { "type": "string", @@ -35175,12 +35318,12 @@ "startDate": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "endDate": { "type": "string", "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "granularity": { "type": "string", @@ -36968,23 +37111,15 @@ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "autoCommit": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } + "type": [ + "boolean", + "null" ] }, "condenseOnComplete": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } + "type": [ + "boolean", + "null" ] }, "isActive": { From aeda6d8319f190a7aafc4f7b94851456d228bbc8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 20 Oct 2026 00:40:10 +0000 Subject: [PATCH 3/7] chore(kilo-mcp): refresh catalog.json and SKILL.md from CI --- services/kilo-mcp/catalog.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/services/kilo-mcp/catalog.json b/services/kilo-mcp/catalog.json index c242cf9120e..f033976c575 100644 --- a/services/kilo-mcp/catalog.json +++ b/services/kilo-mcp/catalog.json @@ -6348,7 +6348,6 @@ "properties": { "cloudAgentSessionId": { "type": "string", - "format": "starts_with", "allOf": [ { "pattern": "^(agent|workspace)_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" @@ -17825,7 +17824,6 @@ "properties": { "cloudAgentSessionId": { "type": "string", - "format": "starts_with", "allOf": [ { "pattern": "^(agent|workspace)_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" From 2008177981c8e0b7beecd335c2a2dcdf41e51e6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=A0=C4=87eki=C4=87?= <4062236+iscekic@users.noreply.github.com> Date: Tue, 20 Oct 2026 00:53:57 +0000 Subject: [PATCH 4/7] chore(mcp): run CI on the refreshed tool catalog From 2c6aaab45e16aafad8a2b1d7d0abdf65d9d796c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=A0=C4=87eki=C4=87?= <4062236+iscekic@users.noreply.github.com> Date: Tue, 20 Oct 2026 01:07:36 +0000 Subject: [PATCH 5/7] chore(kilo-mcp): install cloud-agent-next for the catalog dump The dump enumerates `apps/web`'s router graph, and `apps/web/src/routers/cloud-agent-next-schemas.ts` imports its schemas from `services/cloud-agent-next` by relative path. `cloud-agent-next` is not in `web`'s dependency closure, so `pnpm install --filter web...` left it uninstalled and its bare `zod` import resolved through pnpm's hoisted copy, a different version from the one the jest suite loads. The dump then wrote JSON Schema in that version's shape and the two required checks disagreed on the committed catalog. Install `cloud-agent-next` in both catalog jobs so the dump and the tests resolve one zod, and keep the catalog entries that render `starts_with`. --- .github/workflows/kilo-mcp-catalog.yml | 13 +++++++++++-- services/kilo-mcp/catalog.json | 2 ++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/.github/workflows/kilo-mcp-catalog.yml b/.github/workflows/kilo-mcp-catalog.yml index f49d9c4ac90..bb1ea98e312 100644 --- a/.github/workflows/kilo-mcp-catalog.yml +++ b/.github/workflows/kilo-mcp-catalog.yml @@ -123,9 +123,15 @@ jobs: if: steps.catalog_changes.outputs.catalog == 'true' run: node --test scripts/kilo-mcp-catalog.test.mjs + # `cloud-agent-next` is not in web's dependency closure, but + # `apps/web/src/routers/cloud-agent-next-schemas.ts` imports schemas from + # it by relative path. Without that project installed, its bare `zod` + # import falls back to pnpm's hoisted copy, which can be a different + # version from the one the tests use, and the dump then rewrites the + # catalog with that version's JSON Schema output. - name: Install web dependencies if: steps.catalog_changes.outputs.catalog == 'true' - run: pnpm install --frozen-lockfile --filter web... + run: pnpm install --frozen-lockfile --filter web... --filter cloud-agent-next # Same dummies the jest suite already tolerates (ci.yml does the same for # the production build). The dump itself layers apps/web/.env.test under @@ -371,9 +377,12 @@ jobs: if: steps.merge_changes.outputs.catalog == 'true' run: npm install -g @kilocode/cli + # Same install scope as the PR job: the dump statically imports schemas + # from `cloud-agent-next`, so that project must be installed for its + # `zod` to resolve to the workspace version rather than the hoisted one. - name: Install web dependencies if: steps.merge_changes.outputs.catalog == 'true' - run: pnpm install --frozen-lockfile --filter web... + run: pnpm install --frozen-lockfile --filter web... --filter cloud-agent-next - name: Setup dummy env if: steps.merge_changes.outputs.catalog == 'true' diff --git a/services/kilo-mcp/catalog.json b/services/kilo-mcp/catalog.json index f033976c575..c242cf9120e 100644 --- a/services/kilo-mcp/catalog.json +++ b/services/kilo-mcp/catalog.json @@ -6348,6 +6348,7 @@ "properties": { "cloudAgentSessionId": { "type": "string", + "format": "starts_with", "allOf": [ { "pattern": "^(agent|workspace)_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" @@ -17824,6 +17825,7 @@ "properties": { "cloudAgentSessionId": { "type": "string", + "format": "starts_with", "allOf": [ { "pattern": "^(agent|workspace)_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" From df8d19419492d6d45b7b2d713269210603a359d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=A0=C4=87eki=C4=87?= <4062236+iscekic@users.noreply.github.com> Date: Tue, 20 Oct 2026 01:11:34 +0000 Subject: [PATCH 6/7] test(session-ingest): state the code-point branch bound zod 4.6 measures string min/max/length in Unicode code points rather than UTF-16 units, so the `gitBranch: z.string().max(24)` bound accepts 24 astral characters where 4.4.3 accepted 12. The surrogate-pair row and the test title now describe the boundary the schema enforces; the ASCII, escaped-character, and CJK rows are identical under both measures. --- .../src/types/user-connection-protocol.test.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/services/session-ingest/src/types/user-connection-protocol.test.ts b/services/session-ingest/src/types/user-connection-protocol.test.ts index 6643f6ff869..60c4c525642 100644 --- a/services/session-ingest/src/types/user-connection-protocol.test.ts +++ b/services/session-ingest/src/types/user-connection-protocol.test.ts @@ -246,8 +246,11 @@ describe('CLIOutboundMessageSchema', () => { ['ASCII', 'a'.repeat(24), 'a'.repeat(25)], ['escaped characters', '\\"'.repeat(12), '\\"'.repeat(12) + '\\'], ['CJK', '界'.repeat(24), '界'.repeat(25)], - ['surrogate pairs', '\u{10400}'.repeat(12), '\u{10400}'.repeat(12) + 'a'], - ])('bounds %s branches by UTF-16 units, not JSON bytes', (_label, valid, invalid) => { + // zod 4.6 measures string bounds in Unicode code points, so a surrogate + // pair counts once: 24 astral characters fit even though they are 48 + // UTF-16 units. + ['surrogate pairs', '\u{10400}'.repeat(24), '\u{10400}'.repeat(25)], + ])('bounds %s branches by Unicode code points, not JSON bytes', (_label, valid, invalid) => { const heartbeat = { type: 'heartbeat', sessions: [], From 222d3299261c024181051e7dfacdc4e341234d39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=A0=C4=87eki=C4=87?= <4062236+iscekic@users.noreply.github.com> Date: Tue, 20 Oct 2026 11:51:33 +0000 Subject: [PATCH 7/7] chore(deps): request review after Zod catalog sync